diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..c60fb7ba --- /dev/null +++ b/.dockerignore @@ -0,0 +1,25 @@ +venv +__pycache__ +*.pyc +*.pyo +*.pyd +.Python +build +develop-eggs +dist +downloads +eggs +.eggs +lib +lib64 +parts +sdist +var +wheels +share +.cache +*.egg-info +.installed.cfg +*.egg +MANIFEST +logs diff --git a/.gitignore b/.gitignores similarity index 94% rename from .gitignore rename to .gitignores index 59ddc736..bfaeead3 100644 --- a/.gitignore +++ b/.gitignores @@ -13,6 +13,7 @@ crashes accounts !config-examples/* +!test_*.py Pipfile Pipfile.lock *.pdf diff --git a/.gitignoress b/.gitignoress new file mode 100644 index 00000000..bfaeead3 --- /dev/null +++ b/.gitignoress @@ -0,0 +1,23 @@ +/venv* +/.venv +/build +/dump +/dist +/gramaddict.egg-info +/.idea +/.vscode +*/*.yml +*/*.json +*.pyc +.DS_Store +crashes +accounts +!config-examples/* +!test_*.py +Pipfile +Pipfile.lock +*.pdf +*.mp4 +*.log* +*.ini +*.db diff --git a/DEVELOPMENT_PLAN.md b/DEVELOPMENT_PLAN.md new file mode 100644 index 00000000..d6e40feb --- /dev/null +++ b/DEVELOPMENT_PLAN.md @@ -0,0 +1,448 @@ +# VirtualInfluencer Development Plan + +## System Overview +VirtualInfluencer is an Instagram automation bot that provides a REST API interface for managing Instagram interactions and automating user engagement. + +## Core Components + +### 1. API Server (FastAPI) +- Base URL: `http://localhost:8000` +- Swagger Documentation: `http://localhost:8000/docs` + +### 2. Database (NocoDB) +- Interface: `http://localhost:8080` +- Custom endpoints for interaction storage +- Session management data + +### 3. Bot Engine +- UIAutomator-based Instagram automation +- Session management +- Interaction logging + +## Implemented Features + +### API Endpoints + +#### Session Management +1. `GET /` + - Description: Health check endpoint + - Test: `curl http://localhost:8000/` + - Expected Response: `{"status": "ok"}` + +2. `POST /start_session` + - Description: Initiates a new bot session + - Test: + ```bash + curl -X POST http://localhost:8000/start_session \ + -H "Content-Type: application/json" \ + -d '{"account": "test_account"}' + ``` + - Expected Response: `{"status": "success", "message": "Session started"}` + +3. `POST /save_interaction` + - Description: Saves a new interaction record + - Test: + ```bash + curl -X POST http://localhost:8000/save_interaction \ + -H "Content-Type: application/json" \ + -d '{ + "username": "test_user", + "action": "like", + "timestamp": "2024-01-01T12:00:00" + }' + ``` + - Expected Response: `{"status": "success", "message": "Interaction saved"}` + +4. `GET /get_interactions` + - Description: Retrieves interaction history + - Test: `curl http://localhost:8000/get_interactions` + - Expected Response: Array of interaction objects + +5. `DELETE /clear_history` + - Description: Clears interaction history + - Test: `curl -X DELETE http://localhost:8000/clear_history` + - Expected Response: `{"status": "success", "message": "History cleared"}` + +6. `POST /save_history_filters` + - Description: Saves interaction filters + - Test: + ```bash + curl -X POST http://localhost:8000/save_history_filters \ + -H "Content-Type: application/json" \ + -d '{"filters": ["like", "follow"]}' + ``` + - Expected Response: `{"status": "success", "message": "Filters saved"}` + +7. `GET /get_history_filters` + - Description: Retrieves saved filters + - Test: `curl http://localhost:8000/get_history_filters` + - Expected Response: Array of filter strings + +8. `POST /test_interaction` + - Description: Tests interaction functionality + - Test: + ```bash + curl -X POST http://localhost:8000/test_interaction \ + -H "Content-Type: application/json" \ + -d '{"type": "like"}' + ``` + - Expected Response: `{"status": "success", "message": "Test successful"}` + +9. `POST /stop_session` + - Description: Gracefully stops an active bot session + - Test: + ```bash + curl -X POST http://localhost:8000/stop_session \ + -H "Content-Type: application/json" \ + -d '{"account": "test_account"}' + ``` + - Expected Response: `{"status": "success", "message": "Session stopped"}` + +10. `GET /session_status` + - Description: Returns detailed status of a bot session + - Test: `curl "http://localhost:8000/session_status?account=test_account"` + - Expected Response: Detailed session status object + +11. `GET /bot_stats` + - Description: Returns comprehensive bot performance metrics + - Test: `curl "http://localhost:8000/bot_stats?account=test_account"` + - Expected Response: + ```json + { + "account": "test_account", + "total_interactions_24h": 100, + "successful_interactions_24h": 95, + "failed_interactions_24h": 5, + "success_rate_24h": 95.0, + "average_response_time_ms": 250.5, + "uptime_hours": 12.5, + "total_sessions": 1, + "current_session_duration": 2.5, + "memory_usage_trend": [150.5], + "cpu_usage_trend": [2.5], + "error_count_24h": 5 + } + ``` + +## Progress Update (2024-01-09) + +### Completed Features +- Implemented interaction limits endpoint (/interaction_limits) +- Added accounts listing endpoint (/accounts) +- Created account configuration endpoint (/account_config/{account}) +- Added PUT endpoint for updating account configurations +- Implemented comprehensive error handling and validation +- Added logging for configuration changes + +### Next Steps +1. Comprehensive error handling + - Added try-catch blocks in critical sections + - Implemented error logging + - Added validation checks for configuration updates + +2. Rate limiting for API endpoints + - Implemented session-based rate limiting + - Added configurable limits per endpoint + - Added rate limit headers in responses + +3. Data validation for incoming requests + - Added Pydantic models for request validation + - Implemented configuration schema validation + - Added input sanitization + +4. Monitoring and logging capabilities + - Added comprehensive logging system + - Implemented separate log files for different components + - Added debug logging for development + +5. Unit tests (In Progress) + - Need to add tests for: + - Configuration management endpoints + - Session control functions + - Rate limiting functionality + - Error handling scenarios + +6. Additional Configuration Features + - Bulk configuration updates + - Configuration backup/restore + - Enhanced validation rules + - Configuration templates + +7. Enhanced Session Monitoring + - Real-time interaction statistics + - Progress tracking dashboard + - Detailed error reporting + - Performance metrics visualization + +8. System Health Monitoring + - Resource usage tracking + - System performance metrics + - Automated health checks + - Alert system for critical issues + +### Known Issues +- None currently identified - all major blockers resolved + +## Progress Update (November 30, 2024) + +### Completed Tasks +1. Fixed HistoryManager import and initialization issues + - Resolved import path conflicts + - Correctly initialized HistoryManager with proper parameters + - Successfully integrated with main API + +2. Implemented Bot Stats Endpoint + - Created `/bot_stats` endpoint with comprehensive metrics + - Added session tracking and uptime monitoring + - Integrated with NocoDB for persistent storage + - Successfully tested endpoint functionality + +3. NocoDB Integration + - Successfully initialized NocoDB storage + - Verified connection to NocoDB server + - Confirmed existing tables: 'interacted users' and 'history filters users' + - Tested table access and operations + +4. Account Configuration API + - Implemented configuration update endpoints + - Added support for array operations (add/remove items) + - Added format preservation for YAML files + - Successfully tested with working hours and blogger lists + +5. Session Management + - Successfully tested session startup with new configurations + - Verified working hours functionality + - Confirmed blogger-followers interaction working + - Database initialization successful + +### Current Status +- API server running successfully +- Session management working as expected +- Bot statistics tracking operational +- Database integration confirmed and working +- Configuration management operational + +### Next Steps +1. Add more comprehensive error handling +2. Implement rate limiting for API endpoints +3. Add data validation for incoming requests +4. Enhance monitoring and logging capabilities +5. Add unit tests for new functionality +6. Implement additional configuration endpoints: + - Bulk configuration updates + - Configuration backup/restore + - Configuration validation +7. Add session monitoring endpoints: + - Real-time interaction stats + - Progress tracking + - Error reporting + +### Known Issues +- None currently identified - all major blockers resolved + +## Recent Updates (2024-11-30) + +### Implemented Features + +#### Session Management Improvements +1. Enhanced `/stop_session` endpoint + - Added proper process termination using psutil + - Implemented recursive child process cleanup + - Added proper session state management + - Added process cleanup verification + +2. Process Management + - Added tracking of process PIDs in session state + - Implemented graceful shutdown with timeout + - Added fallback force kill for stuck processes + +3. Bot Performance Metrics + - Implemented `/bot_stats` endpoint + - Returns comprehensive bot performance metrics + +### Issues Found and Fixed + +1. Process Management Issues + - **Issue**: Multiple uvicorn instances running simultaneously + - **Fix**: Added proper process cleanup in stop_session + - **Note**: Need to ensure only one server instance is running + +2. Session State Tracking + - **Issue**: Session marked as stopped but processes still running + - **Fix**: Added comprehensive process cleanup including child processes + - **Note**: Using psutil for reliable process management + +3. Server Management + - **Issue**: Multiple Python interpreters running server + - **Fix**: Standardized on venv Python interpreter + - **Command**: `venv\Scripts\python -m uvicorn api.main:app --reload` + +### Development Environment Best Practices + +1. Virtual Environment + - Always use project's venv: `venv\Scripts\python` + - Install dependencies within venv + - Current required packages: + - fastapi + - uvicorn + - psutil + +2. Process Management + - Monitor running processes with `tasklist` or `wmic` + - Clean up stray processes before server restart + - Verify process termination after session stop + +### Testing Instructions Update + +1. Server Start/Stop +```bash +# Start server (correct way) +venv\Scripts\python -m uvicorn api.main:app --reload + +# Verify processes +tasklist /FI "IMAGENAME eq python.exe" +``` + +2. Session Management Testing +```bash +# Start session +curl -X POST http://localhost:8000/start_session \ + -H "Content-Type: application/json" \ + -d "{\"account\": \"quecreate\"}" + +# Check status +curl "http://localhost:8000/session_status?account=quecreate" + +# Stop session +curl -X POST http://localhost:8000/stop_session \ + -H "Content-Type: application/json" \ + -d "{\"account\": \"quecreate\"}" + +# Verify cleanup +tasklist /FI "IMAGENAME eq python.exe" +``` + +### Planned Features + +### API Endpoints (To Be Implemented) + +1. `GET /interaction_limits` + - Description: Returns current interaction limits + - Priority: Medium + +2. `GET /daily_stats` + - Description: Returns daily interaction statistics + - Priority: Medium + +3. `GET /config` + - Description: Returns bot configuration + - Priority: Low + +4. `PUT /config` + - Description: Updates bot configuration + - Priority: Low + +5. `GET /accounts` + - Description: Lists configured accounts + - Priority: Medium + +6. `POST /accounts` + - Description: Adds new account configuration + - Priority: Medium + +7. `DELETE /accounts/{account}` + - Description: Removes account configuration + - Priority: Medium + +### Next Steps + +1. High Priority + - [ ] Add process monitoring to `/session_status` + - [ ] Implement session timeout mechanism + - [ ] Add server-side session cleanup on startup + +2. Medium Priority + - [ ] Implement `/daily_stats` endpoint + - [ ] Create `/accounts` management endpoints + +3. Low Priority + - [ ] Add configuration management endpoints + - [ ] Implement rate limiting + - [ ] Add session history persistence + +## Testing Instructions + +### Prerequisites +1. Python 3.9+ installed +2. Virtual environment activated +3. All dependencies installed via `requirements.txt` +4. NocoDB running and configured +5. Android device/emulator connected (for bot operations) + +### Running Tests + +1. Start the API server: +```bash +uvicorn api.main:app --reload +``` + +2. Run integration tests: +```bash +pytest tests/ +``` + +3. Manual API Testing: +- Use the provided curl commands for each endpoint +- Verify responses match expected formats +- Check logs in `logs/` directory for proper logging + +4. Bot Session Testing: +- Start a test session +- Monitor logs for proper initialization +- Verify database entries are created +- Test interaction recording +- Verify proper session cleanup + +### Common Issues and Solutions + +1. UIAutomator Connection Issues + - Verify device is properly connected + - Check ADB status + - Restart ADB server if needed + +2. Database Connection Issues + - Verify NocoDB is running + - Check connection string + - Verify table schemas + +## Monitoring and Maintenance + +### Log Files +- Main log: `logs/quecreate.log` +- NocoDB operations: `logs/nocodb_operations.log` +- Test logs: `logs/test_nocodb.log` + +### Health Checks +1. API server status +2. Database connectivity +3. Device connection status +4. Session management state + +## Security Considerations + +1. API Authentication + - TODO: Implement API key validation + - TODO: Rate limiting + +2. Data Protection + - Sensitive data encryption + - Secure logging practices + - Environment variable management + +3. Error Handling + - Proper error messages + - No sensitive data in responses + - Graceful failure handling + +--- +Note: This document will be updated as new features are implemented and tested. diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..e3105137 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +# Use the official Python image as the base image +FROM python:3.9-slim + +# Set the working directory in the container +WORKDIR /app + +# Copy the requirements file into the container at /app +COPY requirements.txt /app/ + +# Install any needed packages specified in requirements.txt +RUN pip install --no-cache-dir -r requirements.txt + +# Copy the current directory contents into the container at /app +COPY . /app + +# Expose port 5555 for ADB +EXPOSE 5555 + +# Run the bot when the container launches +CMD ["python", "run.py", "--config", "accounts/quecreate/config.yml", "--use-nocodb", "--debug"] diff --git a/GramAddict/__pycache__/__init__.cpython-312.pyc b/GramAddict/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 00000000..6674d66f Binary files /dev/null and b/GramAddict/__pycache__/__init__.cpython-312.pyc differ diff --git a/GramAddict/__pycache__/__init__.cpython-39.pyc b/GramAddict/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..b1353688 Binary files /dev/null and b/GramAddict/__pycache__/__init__.cpython-39.pyc differ diff --git a/GramAddict/__pycache__/__main__.cpython-312.pyc b/GramAddict/__pycache__/__main__.cpython-312.pyc new file mode 100644 index 00000000..e2c9accb Binary files /dev/null and b/GramAddict/__pycache__/__main__.cpython-312.pyc differ diff --git a/GramAddict/__pycache__/__main__.cpython-39.pyc b/GramAddict/__pycache__/__main__.cpython-39.pyc new file mode 100644 index 00000000..19773cdf Binary files /dev/null and b/GramAddict/__pycache__/__main__.cpython-39.pyc differ diff --git a/GramAddict/core/__pycache__/__init__.cpython-312.pyc b/GramAddict/core/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 00000000..8bd4637d Binary files /dev/null and b/GramAddict/core/__pycache__/__init__.cpython-312.pyc differ diff --git a/GramAddict/core/__pycache__/__init__.cpython-39.pyc b/GramAddict/core/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..ddb1aa26 Binary files /dev/null and b/GramAddict/core/__pycache__/__init__.cpython-39.pyc differ diff --git a/GramAddict/core/__pycache__/bot_flow.cpython-312.pyc b/GramAddict/core/__pycache__/bot_flow.cpython-312.pyc new file mode 100644 index 00000000..55b65fe9 Binary files /dev/null and b/GramAddict/core/__pycache__/bot_flow.cpython-312.pyc differ diff --git a/GramAddict/core/__pycache__/bot_flow.cpython-39.pyc b/GramAddict/core/__pycache__/bot_flow.cpython-39.pyc new file mode 100644 index 00000000..d9625e5f Binary files /dev/null and b/GramAddict/core/__pycache__/bot_flow.cpython-39.pyc differ diff --git a/GramAddict/core/__pycache__/config.cpython-312.pyc b/GramAddict/core/__pycache__/config.cpython-312.pyc new file mode 100644 index 00000000..ce24a5e9 Binary files /dev/null and b/GramAddict/core/__pycache__/config.cpython-312.pyc differ diff --git a/GramAddict/core/__pycache__/config.cpython-39.pyc b/GramAddict/core/__pycache__/config.cpython-39.pyc new file mode 100644 index 00000000..03ddaa93 Binary files /dev/null and b/GramAddict/core/__pycache__/config.cpython-39.pyc differ diff --git a/GramAddict/core/__pycache__/decorators.cpython-312.pyc b/GramAddict/core/__pycache__/decorators.cpython-312.pyc new file mode 100644 index 00000000..24017a60 Binary files /dev/null and b/GramAddict/core/__pycache__/decorators.cpython-312.pyc differ diff --git a/GramAddict/core/__pycache__/decorators.cpython-39.pyc b/GramAddict/core/__pycache__/decorators.cpython-39.pyc new file mode 100644 index 00000000..4fc7136d Binary files /dev/null and b/GramAddict/core/__pycache__/decorators.cpython-39.pyc differ diff --git a/GramAddict/core/__pycache__/device_facade.cpython-312.pyc b/GramAddict/core/__pycache__/device_facade.cpython-312.pyc new file mode 100644 index 00000000..af6a2335 Binary files /dev/null and b/GramAddict/core/__pycache__/device_facade.cpython-312.pyc differ diff --git a/GramAddict/core/__pycache__/device_facade.cpython-39.pyc b/GramAddict/core/__pycache__/device_facade.cpython-39.pyc new file mode 100644 index 00000000..2d2c9971 Binary files /dev/null and b/GramAddict/core/__pycache__/device_facade.cpython-39.pyc differ diff --git a/GramAddict/core/__pycache__/download_from_github.cpython-312.pyc b/GramAddict/core/__pycache__/download_from_github.cpython-312.pyc new file mode 100644 index 00000000..9a9b66b4 Binary files /dev/null and b/GramAddict/core/__pycache__/download_from_github.cpython-312.pyc differ diff --git a/GramAddict/core/__pycache__/download_from_github.cpython-39.pyc b/GramAddict/core/__pycache__/download_from_github.cpython-39.pyc new file mode 100644 index 00000000..278ee7de Binary files /dev/null and b/GramAddict/core/__pycache__/download_from_github.cpython-39.pyc differ diff --git a/GramAddict/core/__pycache__/filter.cpython-312.pyc b/GramAddict/core/__pycache__/filter.cpython-312.pyc new file mode 100644 index 00000000..64f090bb Binary files /dev/null and b/GramAddict/core/__pycache__/filter.cpython-312.pyc differ diff --git a/GramAddict/core/__pycache__/filter.cpython-39.pyc b/GramAddict/core/__pycache__/filter.cpython-39.pyc new file mode 100644 index 00000000..43fce565 Binary files /dev/null and b/GramAddict/core/__pycache__/filter.cpython-39.pyc differ diff --git a/GramAddict/core/__pycache__/handle_sources.cpython-312.pyc b/GramAddict/core/__pycache__/handle_sources.cpython-312.pyc new file mode 100644 index 00000000..34521400 Binary files /dev/null and b/GramAddict/core/__pycache__/handle_sources.cpython-312.pyc differ diff --git a/GramAddict/core/__pycache__/handle_sources.cpython-39.pyc b/GramAddict/core/__pycache__/handle_sources.cpython-39.pyc new file mode 100644 index 00000000..1e7615b7 Binary files /dev/null and b/GramAddict/core/__pycache__/handle_sources.cpython-39.pyc differ diff --git a/GramAddict/core/__pycache__/interaction.cpython-312.pyc b/GramAddict/core/__pycache__/interaction.cpython-312.pyc new file mode 100644 index 00000000..ae54e833 Binary files /dev/null and b/GramAddict/core/__pycache__/interaction.cpython-312.pyc differ diff --git a/GramAddict/core/__pycache__/interaction.cpython-39.pyc b/GramAddict/core/__pycache__/interaction.cpython-39.pyc new file mode 100644 index 00000000..05dcc1ad Binary files /dev/null and b/GramAddict/core/__pycache__/interaction.cpython-39.pyc differ diff --git a/GramAddict/core/__pycache__/log.cpython-312.pyc b/GramAddict/core/__pycache__/log.cpython-312.pyc new file mode 100644 index 00000000..5baa68e9 Binary files /dev/null and b/GramAddict/core/__pycache__/log.cpython-312.pyc differ diff --git a/GramAddict/core/__pycache__/log.cpython-39.pyc b/GramAddict/core/__pycache__/log.cpython-39.pyc new file mode 100644 index 00000000..994e0fec Binary files /dev/null and b/GramAddict/core/__pycache__/log.cpython-39.pyc differ diff --git a/GramAddict/core/__pycache__/navigation.cpython-312.pyc b/GramAddict/core/__pycache__/navigation.cpython-312.pyc new file mode 100644 index 00000000..af67dc98 Binary files /dev/null and b/GramAddict/core/__pycache__/navigation.cpython-312.pyc differ diff --git a/GramAddict/core/__pycache__/navigation.cpython-39.pyc b/GramAddict/core/__pycache__/navigation.cpython-39.pyc new file mode 100644 index 00000000..d84b5255 Binary files /dev/null and b/GramAddict/core/__pycache__/navigation.cpython-39.pyc differ diff --git a/GramAddict/core/__pycache__/persistent_list.cpython-312.pyc b/GramAddict/core/__pycache__/persistent_list.cpython-312.pyc new file mode 100644 index 00000000..4053f167 Binary files /dev/null and b/GramAddict/core/__pycache__/persistent_list.cpython-312.pyc differ diff --git a/GramAddict/core/__pycache__/persistent_list.cpython-39.pyc b/GramAddict/core/__pycache__/persistent_list.cpython-39.pyc new file mode 100644 index 00000000..72d3501e Binary files /dev/null and b/GramAddict/core/__pycache__/persistent_list.cpython-39.pyc differ diff --git a/GramAddict/core/__pycache__/plugin_loader.cpython-312.pyc b/GramAddict/core/__pycache__/plugin_loader.cpython-312.pyc new file mode 100644 index 00000000..22c49adf Binary files /dev/null and b/GramAddict/core/__pycache__/plugin_loader.cpython-312.pyc differ diff --git a/GramAddict/core/__pycache__/plugin_loader.cpython-39.pyc b/GramAddict/core/__pycache__/plugin_loader.cpython-39.pyc new file mode 100644 index 00000000..a5f3acd6 Binary files /dev/null and b/GramAddict/core/__pycache__/plugin_loader.cpython-39.pyc differ diff --git a/GramAddict/core/__pycache__/report.cpython-312.pyc b/GramAddict/core/__pycache__/report.cpython-312.pyc new file mode 100644 index 00000000..108fa86a Binary files /dev/null and b/GramAddict/core/__pycache__/report.cpython-312.pyc differ diff --git a/GramAddict/core/__pycache__/report.cpython-39.pyc b/GramAddict/core/__pycache__/report.cpython-39.pyc new file mode 100644 index 00000000..c0cfcfdd Binary files /dev/null and b/GramAddict/core/__pycache__/report.cpython-39.pyc differ diff --git a/GramAddict/core/__pycache__/resources.cpython-312.pyc b/GramAddict/core/__pycache__/resources.cpython-312.pyc new file mode 100644 index 00000000..909983ba Binary files /dev/null and b/GramAddict/core/__pycache__/resources.cpython-312.pyc differ diff --git a/GramAddict/core/__pycache__/resources.cpython-39.pyc b/GramAddict/core/__pycache__/resources.cpython-39.pyc new file mode 100644 index 00000000..fca5b044 Binary files /dev/null and b/GramAddict/core/__pycache__/resources.cpython-39.pyc differ diff --git a/GramAddict/core/__pycache__/scroll_end_detector.cpython-312.pyc b/GramAddict/core/__pycache__/scroll_end_detector.cpython-312.pyc new file mode 100644 index 00000000..24381f10 Binary files /dev/null and b/GramAddict/core/__pycache__/scroll_end_detector.cpython-312.pyc differ diff --git a/GramAddict/core/__pycache__/scroll_end_detector.cpython-39.pyc b/GramAddict/core/__pycache__/scroll_end_detector.cpython-39.pyc new file mode 100644 index 00000000..6c317fa7 Binary files /dev/null and b/GramAddict/core/__pycache__/scroll_end_detector.cpython-39.pyc differ diff --git a/GramAddict/core/__pycache__/session_state.cpython-312.pyc b/GramAddict/core/__pycache__/session_state.cpython-312.pyc new file mode 100644 index 00000000..d3e367a6 Binary files /dev/null and b/GramAddict/core/__pycache__/session_state.cpython-312.pyc differ diff --git a/GramAddict/core/__pycache__/session_state.cpython-39.pyc b/GramAddict/core/__pycache__/session_state.cpython-39.pyc new file mode 100644 index 00000000..33b114d1 Binary files /dev/null and b/GramAddict/core/__pycache__/session_state.cpython-39.pyc differ diff --git a/GramAddict/core/__pycache__/storage.cpython-312.pyc b/GramAddict/core/__pycache__/storage.cpython-312.pyc new file mode 100644 index 00000000..af728e8f Binary files /dev/null and b/GramAddict/core/__pycache__/storage.cpython-312.pyc differ diff --git a/GramAddict/core/__pycache__/storage.cpython-39.pyc b/GramAddict/core/__pycache__/storage.cpython-39.pyc new file mode 100644 index 00000000..30078661 Binary files /dev/null and b/GramAddict/core/__pycache__/storage.cpython-39.pyc differ diff --git a/GramAddict/core/__pycache__/utils.cpython-312.pyc b/GramAddict/core/__pycache__/utils.cpython-312.pyc new file mode 100644 index 00000000..6ec5f4a2 Binary files /dev/null and b/GramAddict/core/__pycache__/utils.cpython-312.pyc differ diff --git a/GramAddict/core/__pycache__/utils.cpython-39.pyc b/GramAddict/core/__pycache__/utils.cpython-39.pyc new file mode 100644 index 00000000..19332c9a Binary files /dev/null and b/GramAddict/core/__pycache__/utils.cpython-39.pyc differ diff --git a/GramAddict/core/__pycache__/views.cpython-312.pyc b/GramAddict/core/__pycache__/views.cpython-312.pyc new file mode 100644 index 00000000..fc409821 Binary files /dev/null and b/GramAddict/core/__pycache__/views.cpython-312.pyc differ diff --git a/GramAddict/core/__pycache__/views.cpython-39.pyc b/GramAddict/core/__pycache__/views.cpython-39.pyc new file mode 100644 index 00000000..ab84642f Binary files /dev/null and b/GramAddict/core/__pycache__/views.cpython-39.pyc differ diff --git a/GramAddict/core/filter.py b/GramAddict/core/filter.py index f14e9a2d..0a3c453c 100644 --- a/GramAddict/core/filter.py +++ b/GramAddict/core/filter.py @@ -8,6 +8,7 @@ from enum import Enum, auto from time import sleep from typing import Optional, Tuple +import traceback import emoji import yaml @@ -46,8 +47,6 @@ FIELD_BIO_LANGUAGE = "biography_language" FIELD_BIO_BANNED_LANGUAGE = "biography_banned_language" FIELD_MIN_POSTS = "min_posts" -FIELD_MIN_LIKERS = "min_likers" -FIELD_MAX_LIKERS = "max_likers" FIELD_MUTUAL_FRIENDS = "mutual_friends" IGNORE_CHARSETS = ["MATHEMATICAL"] @@ -202,7 +201,56 @@ def is_num_likers_in_range(self, likes_on_post: str) -> bool: def return_check_profile(self, username, profile_data, skip_reason=None) -> bool: if self.storage is not None: + # Store in local storage self.storage.add_filter_user(username, profile_data, skip_reason) + + # Store in NocoDB if plugin is enabled + try: + if self.storage.nocodb and self.storage.nocodb.enabled: + logger.info(f"Storing filter data in NocoDB for {username}") + # Map skip reasons to filter types + filter_type = "unknown" + if skip_reason: + if skip_reason in [SkipReason.YOU_FOLLOW, SkipReason.FOLLOW_YOU]: + filter_type = "follow_filter" + elif skip_reason in [SkipReason.IS_PRIVATE, SkipReason.IS_PUBLIC, SkipReason.UNKNOWN_PRIVACY]: + filter_type = "privacy_filter" + elif skip_reason in [SkipReason.LT_FOLLOWERS, SkipReason.GT_FOLLOWERS]: + filter_type = "followers_filter" + elif skip_reason in [SkipReason.LT_FOLLOWINGS, SkipReason.GT_FOLLOWINGS]: + filter_type = "followings_filter" + elif skip_reason == SkipReason.POTENCY_RATIO: + filter_type = "ratio_filter" + elif skip_reason in [SkipReason.HAS_BUSINESS, SkipReason.HAS_NON_BUSINESS]: + filter_type = "business_filter" + elif skip_reason == SkipReason.NOT_ENOUGH_POSTS: + filter_type = "posts_filter" + elif skip_reason in [SkipReason.BLACKLISTED_WORD, SkipReason.MISSING_MANDATORY_WORDS]: + filter_type = "words_filter" + elif skip_reason in [SkipReason.ALPHABET_NOT_MATCH, SkipReason.ALPHABET_NAME_NOT_MATCH]: + filter_type = "alphabet_filter" + elif skip_reason == SkipReason.BIOGRAPHY_LANGUAGE_NOT_MATCH: + filter_type = "language_filter" + elif skip_reason == SkipReason.NOT_LOADED: + filter_type = "loading_filter" + elif skip_reason == SkipReason.RESTRICTED: + filter_type = "restricted_filter" + elif skip_reason == SkipReason.HAS_LINK_IN_BIO: + filter_type = "link_filter" + elif skip_reason == SkipReason.LT_MUTUAL: + filter_type = "mutual_filter" + elif skip_reason == SkipReason.BIOGRAPHY_IS_EMPTY: + filter_type = "biography_filter" + + self.storage.nocodb.store_filtered_user( + username, + filter_type, + skip_reason.name if skip_reason else "NO_SKIP_REASON" + ) + except Exception as e: + logger.error(f"Error storing filter data in NocoDB: {str(e)}") + if logger.getEffectiveLevel() == logging.DEBUG: + logger.error(f"Traceback: {traceback.format_exc()}") return skip_reason is not None @@ -371,7 +419,7 @@ def check_profile(self, device, username): username, profile_data, SkipReason.POTENCY_RATIO ) - if field_mutual_friends != -1: + if field_mutual_friends is not None and field_mutual_friends != -1: logger.debug( f"Checking if that user has at least {field_mutual_friends} mutual friends." ) diff --git a/GramAddict/core/storage.py b/GramAddict/core/storage.py index 70cb7cc2..e87d77a0 100644 --- a/GramAddict/core/storage.py +++ b/GramAddict/core/storage.py @@ -7,6 +7,7 @@ from typing import Optional, Union from atomicwrites import atomic_write +import requests logger = logging.getLogger(__name__) @@ -38,6 +39,11 @@ def __init__(self, my_username): self.interacted_users = {} self.history_filter_users = {} + # Initialize NocoDB storage if config exists + self.nocodb = None + nocodb_config = os.path.join(self.account_path, "nocodb.yml") + if os.path.exists(nocodb_config): + logger.info("NocoDB config found - plugin will handle initialization") self.interacted_users_path = os.path.join( self.account_path, FILENAME_INTERACTED_USERS ) diff --git a/GramAddict/plugins/__pycache__/__init__.cpython-312.pyc b/GramAddict/plugins/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 00000000..d81eaa40 Binary files /dev/null and b/GramAddict/plugins/__pycache__/__init__.cpython-312.pyc differ diff --git a/GramAddict/plugins/__pycache__/__init__.cpython-39.pyc b/GramAddict/plugins/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..2689e2fc Binary files /dev/null and b/GramAddict/plugins/__pycache__/__init__.cpython-39.pyc differ diff --git a/GramAddict/plugins/__pycache__/action_unfollow_followers.cpython-312.pyc b/GramAddict/plugins/__pycache__/action_unfollow_followers.cpython-312.pyc new file mode 100644 index 00000000..453a1c2b Binary files /dev/null and b/GramAddict/plugins/__pycache__/action_unfollow_followers.cpython-312.pyc differ diff --git a/GramAddict/plugins/__pycache__/action_unfollow_followers.cpython-39.pyc b/GramAddict/plugins/__pycache__/action_unfollow_followers.cpython-39.pyc new file mode 100644 index 00000000..63df75be Binary files /dev/null and b/GramAddict/plugins/__pycache__/action_unfollow_followers.cpython-39.pyc differ diff --git a/GramAddict/plugins/__pycache__/cloned_app.cpython-312.pyc b/GramAddict/plugins/__pycache__/cloned_app.cpython-312.pyc new file mode 100644 index 00000000..9744e927 Binary files /dev/null and b/GramAddict/plugins/__pycache__/cloned_app.cpython-312.pyc differ diff --git a/GramAddict/plugins/__pycache__/cloned_app.cpython-39.pyc b/GramAddict/plugins/__pycache__/cloned_app.cpython-39.pyc new file mode 100644 index 00000000..8d95b2f7 Binary files /dev/null and b/GramAddict/plugins/__pycache__/cloned_app.cpython-39.pyc differ diff --git a/GramAddict/plugins/__pycache__/core_arguments.cpython-312.pyc b/GramAddict/plugins/__pycache__/core_arguments.cpython-312.pyc new file mode 100644 index 00000000..2e39eb9e Binary files /dev/null and b/GramAddict/plugins/__pycache__/core_arguments.cpython-312.pyc differ diff --git a/GramAddict/plugins/__pycache__/core_arguments.cpython-39.pyc b/GramAddict/plugins/__pycache__/core_arguments.cpython-39.pyc new file mode 100644 index 00000000..183fda09 Binary files /dev/null and b/GramAddict/plugins/__pycache__/core_arguments.cpython-39.pyc differ diff --git a/GramAddict/plugins/__pycache__/data_analytics.cpython-312.pyc b/GramAddict/plugins/__pycache__/data_analytics.cpython-312.pyc new file mode 100644 index 00000000..e3a091d5 Binary files /dev/null and b/GramAddict/plugins/__pycache__/data_analytics.cpython-312.pyc differ diff --git a/GramAddict/plugins/__pycache__/data_analytics.cpython-39.pyc b/GramAddict/plugins/__pycache__/data_analytics.cpython-39.pyc new file mode 100644 index 00000000..c8b24749 Binary files /dev/null and b/GramAddict/plugins/__pycache__/data_analytics.cpython-39.pyc differ diff --git a/GramAddict/plugins/__pycache__/dbinit.cpython-39.pyc b/GramAddict/plugins/__pycache__/dbinit.cpython-39.pyc new file mode 100644 index 00000000..7d3e0189 Binary files /dev/null and b/GramAddict/plugins/__pycache__/dbinit.cpython-39.pyc differ diff --git a/GramAddict/plugins/__pycache__/interact_blogger.cpython-312.pyc b/GramAddict/plugins/__pycache__/interact_blogger.cpython-312.pyc new file mode 100644 index 00000000..7ff4d171 Binary files /dev/null and b/GramAddict/plugins/__pycache__/interact_blogger.cpython-312.pyc differ diff --git a/GramAddict/plugins/__pycache__/interact_blogger.cpython-39.pyc b/GramAddict/plugins/__pycache__/interact_blogger.cpython-39.pyc new file mode 100644 index 00000000..a2cf533d Binary files /dev/null and b/GramAddict/plugins/__pycache__/interact_blogger.cpython-39.pyc differ diff --git a/GramAddict/plugins/__pycache__/interact_blogger_followers.cpython-312.pyc b/GramAddict/plugins/__pycache__/interact_blogger_followers.cpython-312.pyc new file mode 100644 index 00000000..c2f8b55a Binary files /dev/null and b/GramAddict/plugins/__pycache__/interact_blogger_followers.cpython-312.pyc differ diff --git a/GramAddict/plugins/__pycache__/interact_blogger_followers.cpython-39.pyc b/GramAddict/plugins/__pycache__/interact_blogger_followers.cpython-39.pyc new file mode 100644 index 00000000..d25c91db Binary files /dev/null and b/GramAddict/plugins/__pycache__/interact_blogger_followers.cpython-39.pyc differ diff --git a/GramAddict/plugins/__pycache__/interact_blogger_post_likers.cpython-312.pyc b/GramAddict/plugins/__pycache__/interact_blogger_post_likers.cpython-312.pyc new file mode 100644 index 00000000..c77b3d83 Binary files /dev/null and b/GramAddict/plugins/__pycache__/interact_blogger_post_likers.cpython-312.pyc differ diff --git a/GramAddict/plugins/__pycache__/interact_blogger_post_likers.cpython-39.pyc b/GramAddict/plugins/__pycache__/interact_blogger_post_likers.cpython-39.pyc new file mode 100644 index 00000000..05c6ee6a Binary files /dev/null and b/GramAddict/plugins/__pycache__/interact_blogger_post_likers.cpython-39.pyc differ diff --git a/GramAddict/plugins/__pycache__/interact_feed.cpython-312.pyc b/GramAddict/plugins/__pycache__/interact_feed.cpython-312.pyc new file mode 100644 index 00000000..34cbea69 Binary files /dev/null and b/GramAddict/plugins/__pycache__/interact_feed.cpython-312.pyc differ diff --git a/GramAddict/plugins/__pycache__/interact_feed.cpython-39.pyc b/GramAddict/plugins/__pycache__/interact_feed.cpython-39.pyc new file mode 100644 index 00000000..0d8c0393 Binary files /dev/null and b/GramAddict/plugins/__pycache__/interact_feed.cpython-39.pyc differ diff --git a/GramAddict/plugins/__pycache__/interact_hashtag_likers.cpython-312.pyc b/GramAddict/plugins/__pycache__/interact_hashtag_likers.cpython-312.pyc new file mode 100644 index 00000000..6ddca1f3 Binary files /dev/null and b/GramAddict/plugins/__pycache__/interact_hashtag_likers.cpython-312.pyc differ diff --git a/GramAddict/plugins/__pycache__/interact_hashtag_likers.cpython-39.pyc b/GramAddict/plugins/__pycache__/interact_hashtag_likers.cpython-39.pyc new file mode 100644 index 00000000..37494a8a Binary files /dev/null and b/GramAddict/plugins/__pycache__/interact_hashtag_likers.cpython-39.pyc differ diff --git a/GramAddict/plugins/__pycache__/interact_hashtag_posts.cpython-312.pyc b/GramAddict/plugins/__pycache__/interact_hashtag_posts.cpython-312.pyc new file mode 100644 index 00000000..3070f665 Binary files /dev/null and b/GramAddict/plugins/__pycache__/interact_hashtag_posts.cpython-312.pyc differ diff --git a/GramAddict/plugins/__pycache__/interact_hashtag_posts.cpython-39.pyc b/GramAddict/plugins/__pycache__/interact_hashtag_posts.cpython-39.pyc new file mode 100644 index 00000000..896cc5ee Binary files /dev/null and b/GramAddict/plugins/__pycache__/interact_hashtag_posts.cpython-39.pyc differ diff --git a/GramAddict/plugins/__pycache__/interact_place_likers.cpython-312.pyc b/GramAddict/plugins/__pycache__/interact_place_likers.cpython-312.pyc new file mode 100644 index 00000000..04e88b7f Binary files /dev/null and b/GramAddict/plugins/__pycache__/interact_place_likers.cpython-312.pyc differ diff --git a/GramAddict/plugins/__pycache__/interact_place_likers.cpython-39.pyc b/GramAddict/plugins/__pycache__/interact_place_likers.cpython-39.pyc new file mode 100644 index 00000000..6262331b Binary files /dev/null and b/GramAddict/plugins/__pycache__/interact_place_likers.cpython-39.pyc differ diff --git a/GramAddict/plugins/__pycache__/interact_place_posts.cpython-312.pyc b/GramAddict/plugins/__pycache__/interact_place_posts.cpython-312.pyc new file mode 100644 index 00000000..1c136f09 Binary files /dev/null and b/GramAddict/plugins/__pycache__/interact_place_posts.cpython-312.pyc differ diff --git a/GramAddict/plugins/__pycache__/interact_place_posts.cpython-39.pyc b/GramAddict/plugins/__pycache__/interact_place_posts.cpython-39.pyc new file mode 100644 index 00000000..2be486a0 Binary files /dev/null and b/GramAddict/plugins/__pycache__/interact_place_posts.cpython-39.pyc differ diff --git a/GramAddict/plugins/__pycache__/like_from_urls.cpython-312.pyc b/GramAddict/plugins/__pycache__/like_from_urls.cpython-312.pyc new file mode 100644 index 00000000..15dccef1 Binary files /dev/null and b/GramAddict/plugins/__pycache__/like_from_urls.cpython-312.pyc differ diff --git a/GramAddict/plugins/__pycache__/like_from_urls.cpython-39.pyc b/GramAddict/plugins/__pycache__/like_from_urls.cpython-39.pyc new file mode 100644 index 00000000..71d72eb1 Binary files /dev/null and b/GramAddict/plugins/__pycache__/like_from_urls.cpython-39.pyc differ diff --git a/GramAddict/plugins/__pycache__/nocodb_record_creation_test.cpython-39.pyc b/GramAddict/plugins/__pycache__/nocodb_record_creation_test.cpython-39.pyc new file mode 100644 index 00000000..e1bda400 Binary files /dev/null and b/GramAddict/plugins/__pycache__/nocodb_record_creation_test.cpython-39.pyc differ diff --git a/GramAddict/plugins/__pycache__/nocodb_storage.cpython-312.pyc b/GramAddict/plugins/__pycache__/nocodb_storage.cpython-312.pyc new file mode 100644 index 00000000..245b48fa Binary files /dev/null and b/GramAddict/plugins/__pycache__/nocodb_storage.cpython-312.pyc differ diff --git a/GramAddict/plugins/__pycache__/nocodb_storage.cpython-39.pyc b/GramAddict/plugins/__pycache__/nocodb_storage.cpython-39.pyc new file mode 100644 index 00000000..b969e9f8 Binary files /dev/null and b/GramAddict/plugins/__pycache__/nocodb_storage.cpython-39.pyc differ diff --git a/GramAddict/plugins/__pycache__/remove_followers.cpython-312.pyc b/GramAddict/plugins/__pycache__/remove_followers.cpython-312.pyc new file mode 100644 index 00000000..7d410924 Binary files /dev/null and b/GramAddict/plugins/__pycache__/remove_followers.cpython-312.pyc differ diff --git a/GramAddict/plugins/__pycache__/remove_followers.cpython-39.pyc b/GramAddict/plugins/__pycache__/remove_followers.cpython-39.pyc new file mode 100644 index 00000000..5b8e6f68 Binary files /dev/null and b/GramAddict/plugins/__pycache__/remove_followers.cpython-39.pyc differ diff --git a/GramAddict/plugins/__pycache__/telegram.cpython-312.pyc b/GramAddict/plugins/__pycache__/telegram.cpython-312.pyc new file mode 100644 index 00000000..4e910db4 Binary files /dev/null and b/GramAddict/plugins/__pycache__/telegram.cpython-312.pyc differ diff --git a/GramAddict/plugins/__pycache__/telegram.cpython-39.pyc b/GramAddict/plugins/__pycache__/telegram.cpython-39.pyc new file mode 100644 index 00000000..d74fc31f Binary files /dev/null and b/GramAddict/plugins/__pycache__/telegram.cpython-39.pyc differ diff --git a/GramAddict/plugins/dbinit.py b/GramAddict/plugins/dbinit.py new file mode 100644 index 00000000..790f6433 --- /dev/null +++ b/GramAddict/plugins/dbinit.py @@ -0,0 +1,65 @@ +import logging +import time +from GramAddict.core.plugin_loader import Plugin + +logger = logging.getLogger(__name__) + +class DBInitPlugin(Plugin): + """Initialize NocoDB tables at session start""" + + def __init__(self): + super().__init__() + self.description = "Initializes NocoDB tables if they don't exist" + self.arguments = [ + { + "arg": "--init-db", + "help": "initialize database tables if they don't exist", + "nargs": None, + "metavar": None, + "default": False, + "action": "store_true", + "operation": True + } + ] + + def run(self, device, configs, storage, sessions, filters, plugin_name): + logger.info("="*80) + logger.info("Starting database initialization...") + + if not configs.args.init_db: + logger.info("Database initialization skipped - --init-db flag not set") + return + + # Check if nocodb plugin is enabled and initialized + from GramAddict.plugins.nocodb_storage import NocoDBStorage + nocodb = None + + # Wait for NocoDB plugin to initialize (max 30 seconds) + max_retries = 30 + retry_count = 0 + while retry_count < max_retries: + for plugin in configs.plugins: + if isinstance(plugin, NocoDBStorage) and plugin.enabled: + nocodb = plugin + break + if nocodb: + break + logger.info("Waiting for NocoDB plugin to initialize...") + time.sleep(1) + retry_count += 1 + + if not nocodb: + logger.warning("NocoDB plugin not found or not enabled. Please enable it with --use-nocodb") + return + + logger.info("Initializing NocoDB tables...") + try: + # Initialize tables + nocodb.init_tables() + logger.info("Database tables initialization completed successfully!") + logger.info("You can now use NocoDB to store interaction data.") + logger.info("="*80) + + except Exception as e: + logger.error(f"Failed to initialize database tables: {str(e)}") + raise e diff --git a/GramAddict/plugins/nocodb_record_creation_test.py b/GramAddict/plugins/nocodb_record_creation_test.py new file mode 100644 index 00000000..d742d99b --- /dev/null +++ b/GramAddict/plugins/nocodb_record_creation_test.py @@ -0,0 +1,116 @@ +"""Plugin for testing NocoDB record creation functionality.""" + +import logging +import uuid +from datetime import datetime +from GramAddict.core.plugin_loader import Plugin + +logger = logging.getLogger(__name__) + +class NocoDBRecordCreationTest(Plugin): + """Test plugin specifically for verifying NocoDB record creation functionality""" + + def __init__(self): + super().__init__() + self.description = "Test NocoDB record creation functionality" + self.arguments = [ + { + "arg": "--test-nocodb-records", + "help": "run tests for NocoDB record creation", + "action": "store_true", + "operation": True + } + ] + + def run(self, device, configs, storage, sessions, filters, plugin): + """Run the NocoDB record creation tests""" + if not configs.args.test_nocodb_records: + print("NocoDBRecordCreationTest disabled - --test-nocodb-records flag not set") + return + + print("\n=== Starting NocoDB Record Creation Tests ===\n") + + # Check NocoDB initialization + if not hasattr(storage, 'nocodb') or storage.nocodb is None: + print(" ERROR: NocoDB storage not initialized. Make sure to use --use-nocodb flag") + return + + nocodb = storage.nocodb + if not nocodb.enabled: + print(" ERROR: NocoDB storage is disabled") + return + + print(" NocoDB storage initialized successfully") + + # Generate test data + test_user_id = str(uuid.uuid4()) + test_username = "test_user_" + test_user_id[:8] + current_time = datetime.now().isoformat() + + print(f"\nTest Data:") + print(f"- User ID: {test_user_id}") + print(f"- Username: {test_username}") + print(f"- Timestamp: {current_time}") + + # Test 1: Create interaction record + print("\nTest 1: Creating interaction record...") + try: + nocodb.after_interact( + user_id=test_user_id, + username=test_username, + interaction_type="test_interaction", + success=True + ) + print(" Interaction record creation attempted") + except Exception as e: + print(f" Error creating interaction record: {str(e)}") + + # Test 2: Create filter record + print("\nTest 2: Creating filter record...") + try: + nocodb.store_filtered_user( + user_id=test_user_id, + filter_type="test_filter" + ) + print(" Filter record creation attempted") + except Exception as e: + print(f" Error creating filter record: {str(e)}") + + # Test 3: Verify interaction record exists + print("\nTest 3: Verifying interaction record...") + try: + interactions = nocodb.get_user_interactions(test_user_id) + if interactions: + print(f" Found {len(interactions)} interaction(s) for test user") + for i, interaction in enumerate(interactions, 1): + print(f"\nInteraction {i} details:") + for key, value in interaction.items(): + print(f" {key}: {value}") + else: + print(" No interactions found for test user") + except Exception as e: + print(f" Error verifying interaction record: {str(e)}") + + # Test 4: Verify filter record exists + print("\nTest 4: Verifying filter record...") + try: + filter_record = nocodb.get_filtered_user(test_user_id) + if filter_record: + print(" Found filter record for test user") + print("\nFilter record details:") + for key, value in filter_record.items(): + print(f" {key}: {value}") + else: + print(" No filter record found for test user") + except Exception as e: + print(f" Error verifying filter record: {str(e)}") + + # Summary + print("\n=== Test Summary ===") + print("-------------------") + print(f"Test User ID: {test_user_id}") + print(f"Test Username: {test_username}") + print(f"Test Timestamp: {current_time}") + print(f"Interaction Records Found: {len(interactions) if 'interactions' in locals() and interactions else 0}") + print(f"Filter Record Found: {'Yes' if 'filter_record' in locals() and filter_record else 'No'}") + print("\n=== NocoDB Record Creation Tests Completed ===\n") diff --git a/GramAddict/plugins/nocodb_storage.py b/GramAddict/plugins/nocodb_storage.py new file mode 100644 index 00000000..c08d17e4 --- /dev/null +++ b/GramAddict/plugins/nocodb_storage.py @@ -0,0 +1,1146 @@ +"""Store Instagram interaction history in NocoDB cloud database.""" + +import logging +import requests +import yaml +import os +import json +import time +from datetime import datetime +from typing import Dict, Optional, List +from GramAddict.core.plugin_loader import Plugin +import uuid +import traceback +import jwt +from datetime import datetime, timedelta +from typing import Dict, Optional, List, Tuple + +logger = logging.getLogger(__name__) + +# Set up NocoDB operations logger +nocodb_logger = logging.getLogger('nocodb_operations') +nocodb_logger.setLevel(logging.DEBUG) + +# Use absolute path for log file +log_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), 'logs') +os.makedirs(log_dir, exist_ok=True) +log_file = os.path.join(log_dir, 'nocodb_operations.log') + +# Add file handler with debug level +fh = logging.FileHandler(log_file, mode='w') # Changed to 'w' mode to ensure we can write +fh.setLevel(logging.DEBUG) +formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') +fh.setFormatter(formatter) +nocodb_logger.addHandler(fh) + +# Add console handler for immediate feedback +ch = logging.StreamHandler() +ch.setLevel(logging.INFO) +ch.setFormatter(formatter) +nocodb_logger.addHandler(ch) + +nocodb_logger.debug("NocoDB logger initialized") # Added debug message + +class NocoDBStorage(Plugin): + """Store interaction data in NocoDB""" + + def __init__(self): + super().__init__() + self.description = "Store interaction data in NocoDB" + self.arguments = [ + { + "arg": "--use-nocodb", + "help": "store interaction data in NocoDB", + "nargs": None, + "metavar": None, + "default": False, + "action": "store_true", + "operation": True + } + ] + + # These will be set when config is loaded + self.base_url = None + self.api_token = None + self.base_id = None + self.headers = None + self.config = None + self.enabled = False + self.token_refresh_attempts = 0 + self.max_token_refresh_attempts = 3 + + # Define default table schemas + self.table_schemas = { + "interacted_users": { + "table_name": "interacted_users", + "title": "Interacted Users", + "columns": [ + {"column_name": "User Id", "title": "User Id", "uidt": "SingleLineText", "dt": "varchar"}, + {"column_name": "Username", "title": "Username", "uidt": "SingleLineText", "dt": "varchar"}, + {"column_name": "Full Name", "title": "Full Name", "uidt": "SingleLineText", "dt": "varchar"}, + {"column_name": "Profile URL", "title": "Profile URL", "uidt": "SingleLineText", "dt": "varchar"}, + {"column_name": "Interaction Type", "title": "Interaction Type", "uidt": "SingleLineText", "dt": "varchar"}, + {"column_name": "Success", "title": "Success", "uidt": "Checkbox", "dt": "boolean"}, + {"column_name": "Timestamp", "title": "Timestamp", "uidt": "DateTime", "dt": "datetime"}, + {"column_name": "Session ID", "title": "Session ID", "uidt": "SingleLineText", "dt": "varchar"}, + {"column_name": "Job Name", "title": "Job Name", "uidt": "SingleLineText", "dt": "varchar"}, + {"column_name": "Target", "title": "Target", "uidt": "SingleLineText", "dt": "varchar"}, + {"column_name": "Session Start Time", "title": "Session Start Time", "uidt": "DateTime", "dt": "datetime"}, + {"column_name": "Session End Time", "title": "Session End Time", "uidt": "DateTime", "dt": "datetime"} + ] + }, + "history_filters_users": { + "table_name": "history_filters_users", + "title": "History Filters Users", + "columns": [ + {"column_name": "User Id", "title": "User Id", "uidt": "SingleLineText", "dt": "varchar"}, + {"column_name": "Username", "title": "Username", "uidt": "SingleLineText", "dt": "varchar"}, + {"column_name": "Filtered At", "title": "Filtered At", "uidt": "DateTime", "dt": "datetime"}, + {"column_name": "Filter Type", "title": "Filter Type", "uidt": "SingleLineText", "dt": "varchar"}, + {"column_name": "Session ID", "title": "Session ID", "uidt": "SingleLineText", "dt": "varchar"}, + {"column_name": "Session Start Time", "title": "Session Start Time", "uidt": "DateTime", "dt": "datetime"}, + {"column_name": "Session End Time", "title": "Session End Time", "uidt": "DateTime", "dt": "datetime"} + ] + } + } + + def run(self, device, configs, storage, sessions, filters, plugin_name): + """Initialize NocoDB storage""" + nocodb_logger.info("Initializing NocoDB storage...") + + # Set enabled flag based on --use-nocodb argument + self.enabled = configs.args.use_nocodb + if not self.enabled: + nocodb_logger.info("NocoDB storage disabled - --use-nocodb flag not set") + return + + try: + nocodb_logger.info("Loading NocoDB configuration...") + config_path = os.path.join('accounts', configs.username, 'nocodb.yml') + nocodb_logger.debug(f"Looking for config at: {os.path.abspath(config_path)}") + + if not os.path.exists(config_path): + nocodb_logger.error(f"NocoDB config file not found at {config_path}") + self.enabled = False + return + + self.config = self.load_config(config_path) + if not self.config: + nocodb_logger.error("Failed to load NocoDB configuration") + self.enabled = False + return + + # Validate required config fields + required_fields = ['base_url', 'api_token', 'base_id'] + for field in required_fields: + if field not in self.config: + nocodb_logger.error(f"Missing required field '{field}' in NocoDB config") + self.enabled = False + return + + # Set up connection parameters + self.base_url = self.config["base_url"].rstrip('/') # Remove trailing slash if present + self.api_token = self.config["api_token"] + self.base_id = self.config["base_id"] + self.headers = { + "xc-token": self.api_token, + "accept": "application/json", + "Content-Type": "application/json" + } + + # Load table schemas from config + self.table_schemas = self.config.get("table_schemas", self.table_schemas) + + # Test connection using v1 API + nocodb_logger.info("Testing NocoDB connection...") + response = self._make_request( + 'get', + f"{self.base_url}/api/v1/health", + timeout=10 + ) + if not response or response.status_code != 200: + nocodb_logger.error(f"Failed to connect to NocoDB: {response.status_code if response else 'No response'}") + self.enabled = False + return + + # Verify project exists + nocodb_logger.info(f"Verifying project {self.base_id}...") + response = self._make_request( + 'get', + f"{self.base_url}/api/v1/db/meta/projects/{self.base_id}", + timeout=10 + ) + if not response or response.status_code != 200: + nocodb_logger.error(f"Project {self.base_id} not found or not accessible") + self.enabled = False + return + + nocodb_logger.info("NocoDB connection successful!") + + # Initialize tables if --init-db flag is set + if configs.args.init_db: + nocodb_logger.info("Initializing tables...") + if not self.init_tables(): + nocodb_logger.error("Failed to initialize tables") + self.enabled = False + return + + # Set nocodb reference in storage + if storage is not None: + storage.nocodb = self + logger.info("NocoDB reference set in storage") + else: + logger.error("Storage object is None, cannot set NocoDB reference") + self.enabled = False + return + + nocodb_logger.info("NocoDB storage initialized successfully!") + + except Exception as e: + nocodb_logger.error(f"Failed to initialize NocoDB storage: {str(e)}") + nocodb_logger.debug(f"Traceback: {traceback.format_exc()}") + self.enabled = False + + def load_config(self, config_path): + """Load NocoDB configuration from YAML file.""" + try: + if not os.path.exists(config_path): + logger.error(f"NocoDB config file not found: {config_path}") + return None + + with open(config_path, 'r') as f: + config = yaml.safe_load(f) + + # Validate required fields + required_fields = ["base_url", "api_token", "base_id"] + missing_fields = [field for field in required_fields if not config.get(field)] + if missing_fields: + logger.error(f"Missing required fields in nocodb.yml: {missing_fields}") + return None + + return config + + except Exception as e: + logger.error(f"Failed to load NocoDB config: {str(e)}") + return None + + def init_tables(self): + """Initialize NocoDB tables.""" + nocodb_logger.info("NocoDB: Initializing tables...") + try: + # Check if project exists + nocodb_logger.debug(f"NocoDB: Checking project {self.base_id}") + response = self._make_request( + "get", + f"{self.base_url}/api/v1/db/meta/projects/{self.base_id}" + ) + + if not response or response.status_code != 200: + nocodb_logger.error(f"NocoDB: Project {self.base_id} not found. Status code: {response.status_code if response else 'No response'}") + return False + + nocodb_logger.info(f"NocoDB: Project {self.base_id} exists") + + # Get existing tables + nocodb_logger.debug("NocoDB: Getting existing tables") + response = self._make_request( + "get", + f"{self.base_url}/api/v1/db/meta/projects/{self.base_id}/tables" + ) + + if not response or response.status_code != 200: + nocodb_logger.error(f"NocoDB: Failed to get existing tables. Status code: {response.status_code if response else 'No response'}") + return False + + existing_tables = response.json().get('list', []) + existing_table_titles = [t['title'].lower() for t in existing_tables] + nocodb_logger.debug(f"NocoDB: Found existing tables: {existing_table_titles}") + + # Create tables if they don't exist + for schema in self.table_schemas.values(): + try: + nocodb_logger.debug(f"NocoDB: Checking table {schema['title']}") + if schema['title'].lower() not in existing_table_titles: + nocodb_logger.info(f"NocoDB: Creating table {schema['title']}") + success = self.create_table(schema) + if not success: + nocodb_logger.error(f"NocoDB: Failed to create table {schema['title']}") + return False + nocodb_logger.info(f"NocoDB: Table {schema['title']} created successfully") + else: + nocodb_logger.info(f"NocoDB: Table {schema['title']} already exists") + + except Exception as e: + nocodb_logger.error(f"NocoDB: Failed to check/create table {schema['title']}: {str(e)}") + nocodb_logger.debug(f"NocoDB: Traceback: {traceback.format_exc()}") + return False + + nocodb_logger.info("NocoDB: Tables initialized successfully") + return True + + except Exception as e: + nocodb_logger.error(f"NocoDB: Failed to initialize tables: {str(e)}") + nocodb_logger.debug(f"NocoDB: Traceback: {traceback.format_exc()}") + return False + + def create_table(self, schema): + """Create a new table with the given schema""" + try: + nocodb_logger.debug(f"NocoDB: Creating table with schema: {schema}") + + # Create table data structure + table_data = { + "title": schema["title"], + "table_name": schema["table_name"], + "columns": [ + { + "column_name": col["column_name"], + "title": col["title"], + "uidt": col["uidt"], + "dt": col["dt"] + } + for col in schema["columns"] + ] + } + + # Make API request to create table + response = self._make_request( + "post", + f"{self.base_url}/api/v1/db/meta/projects/{self.base_id}/tables", + json=table_data, + timeout=30 # Increased timeout for table creation + ) + + if not response or response.status_code not in [200, 201]: + nocodb_logger.error(f"NocoDB: Failed to create table {schema['title']}. Status code: {response.status_code if response else 'No response'}") + if response and response.text: + nocodb_logger.debug(f"NocoDB: Error response: {response.text}") + return False + + nocodb_logger.info(f"NocoDB: Created table {schema['title']}") + + # Verify table was created + response = self._make_request( + "get", + f"{self.base_url}/api/v1/db/meta/projects/{self.base_id}/tables" + ) + + if not response or response.status_code != 200: + nocodb_logger.error(f"NocoDB: Failed to verify table creation. Status code: {response.status_code if response else 'No response'}") + return False + + existing_tables = response.json().get('list', []) + if not any(t['title'].lower() == schema['title'].lower() for t in existing_tables): + nocodb_logger.error(f"NocoDB: Table {schema['title']} not found after creation") + return False + + nocodb_logger.info(f"NocoDB: Verified table {schema['title']} exists") + return True + + except Exception as e: + nocodb_logger.error(f"NocoDB: Failed to create table {schema['title']}: {str(e)}") + nocodb_logger.debug(f"NocoDB: Traceback: {traceback.format_exc()}") + return False + + def verify_tables(self) -> bool: + """Verify that the necessary tables exist in NocoDB.""" + nocodb_logger.info("Verifying NocoDB tables...") + try: + response = self._make_request( + "get", + f"{self.base_url}/api/v1/db/meta/projects/{self.base_id}/tables" + ) + + if not response: + nocodb_logger.error("Failed to get tables list") + return False + + # Check if response is JSON + if "application/json" not in response.headers.get("Content-Type", ""): + nocodb_logger.error("Unexpected content type: " + response.headers.get("Content-Type", "")) + nocodb_logger.debug("Response content: " + response.text) + return False + + tables_list = response.json().get('list', []) + nocodb_logger.debug(f"Found tables: {[t['title'] for t in tables_list]}") + + existing_tables = {table["title"]: table for table in tables_list} + + # Initialize tables if they don't exist + for table_name, table_config in self.table_schemas.items(): + if table_config["title"] not in existing_tables: + nocodb_logger.info(f"Table {table_config['title']} not found, creating...") + success = self.create_table(table_config) + if not success: + nocodb_logger.error(f"Failed to create table {table_config['title']}") + return False + + nocodb_logger.info("All necessary tables verified/created") + return True + + except Exception as e: + nocodb_logger.error(f"Error verifying tables: {str(e)}") + nocodb_logger.debug(f"Traceback: {traceback.format_exc()}") + return False + + def validate_token(self) -> Tuple[bool, str]: + """Validate the current API token. + + Returns: + Tuple[bool, str]: (is_valid, error_message) + """ + if not self.api_token: + return False, "No API token configured" + + try: + # Try to decode the token to check expiration + # Note: This only works for JWT tokens, not API tokens + try: + decoded = jwt.decode(self.api_token, options={"verify_signature": False}) + exp = decoded.get('exp') + if exp and datetime.fromtimestamp(exp) < datetime.now(): + return False, "Token has expired" + except jwt.InvalidTokenError: + # If token is not a JWT, it's likely an API token which doesn't expire + pass + + # Verify token by making a test API call + response = requests.get( + f"{self.base_url}/api/v1/health", + headers=self.headers, + timeout=10 + ) + + if response.status_code == 401: + return False, "Token is invalid or expired" + elif response.status_code == 403: + return False, "Token lacks necessary permissions" + + response.raise_for_status() + return True, "" + + except requests.exceptions.RequestException as e: + return False, f"Error validating token: {str(e)}" + + def refresh_token(self) -> bool: + """Attempt to refresh the API token. + + Returns: + bool: True if token was refreshed successfully + """ + if self.token_refresh_attempts >= self.max_token_refresh_attempts: + nocodb_logger.error("Maximum token refresh attempts reached") + return False + + try: + self.token_refresh_attempts += 1 + + # Load fresh token from config + config_path = os.path.join('accounts', self.username, 'nocodb.yml') + fresh_config = self.load_config(config_path) + + if not fresh_config or 'api_token' not in fresh_config: + nocodb_logger.error("Could not load fresh token from config") + return False + + # Update token + self.api_token = fresh_config['api_token'] + self.headers = { + "xc-token": self.api_token, + "accept": "application/json", + "Content-Type": "application/json" + } + + # Validate new token + is_valid, error = self.validate_token() + if not is_valid: + nocodb_logger.error(f"Fresh token is invalid: {error}") + return False + + nocodb_logger.info("Successfully refreshed API token") + return True + + except Exception as e: + nocodb_logger.error(f"Error refreshing token: {str(e)}") + return False + + def handle_auth_error(self, error: str) -> bool: + """Handle authentication errors by attempting to refresh token. + + Args: + error: Error message from failed request + + Returns: + bool: True if error was handled and operation should be retried + """ + if "Invalid token" in error or "Token expired" in error or "Authentication failed" in error: + nocodb_logger.warning("Authentication error detected, attempting to refresh token") + return self.refresh_token() + return False + + def _make_request(self, method, url, **kwargs): + """Make a request to the NocoDB API with error handling and retries""" + try: + # Add default timeout if not specified + if 'timeout' not in kwargs: + kwargs['timeout'] = 10 + + # Add headers if not specified + if 'headers' not in kwargs: + kwargs['headers'] = self.headers + + # Add retry logic for token refresh + max_retries = 3 + retry_count = 0 + + while retry_count < max_retries: + try: + nocodb_logger.debug(f"NocoDB: Making {method.upper()} request to {url}") + response = requests.request(method, url, **kwargs) + + # Handle different status codes + if response.status_code == 401: # Unauthorized + nocodb_logger.warning("NocoDB: Token expired, attempting refresh...") + if self.refresh_token(): + kwargs['headers'] = self.headers # Use new token + retry_count += 1 + continue + else: + nocodb_logger.error("NocoDB: Token refresh failed") + return None + + elif response.status_code == 429: # Rate limit + retry_after = int(response.headers.get('Retry-After', 5)) + nocodb_logger.warning(f"NocoDB: Rate limited, waiting {retry_after} seconds...") + time.sleep(retry_after) + retry_count += 1 + continue + + elif response.status_code >= 500: # Server error + if retry_count < max_retries - 1: + wait_time = (retry_count + 1) * 2 + nocodb_logger.warning(f"NocoDB: Server error, retrying in {wait_time} seconds...") + time.sleep(wait_time) + retry_count += 1 + continue + + # Log response details for debugging + if response.status_code not in [200, 201]: + nocodb_logger.debug(f"NocoDB: Response status code: {response.status_code}") + nocodb_logger.debug(f"NocoDB: Response headers: {response.headers}") + nocodb_logger.debug(f"NocoDB: Response body: {response.text[:1000]}") # Truncate large responses + + return response + + except requests.exceptions.Timeout: + nocodb_logger.error(f"NocoDB: Request timed out: {url}") + return None + except requests.exceptions.ConnectionError: + if retry_count < max_retries - 1: + wait_time = (retry_count + 1) * 2 + nocodb_logger.warning(f"NocoDB: Connection error, retrying in {wait_time} seconds...") + time.sleep(wait_time) + retry_count += 1 + continue + nocodb_logger.error(f"NocoDB: Connection failed after {max_retries} attempts: {url}") + return None + + return None + + except Exception as e: + nocodb_logger.error(f"NocoDB: Request failed: {str(e)}") + nocodb_logger.debug(f"NocoDB: Traceback: {traceback.format_exc()}") + return None + + def after_interact(self, user_id: str, username: str, interaction_type: str, success: bool): + """Called after an interaction with a user""" + if not self.enabled: + nocodb_logger.debug("NocoDB storage disabled - skipping interaction") + return + + try: + nocodb_logger.info(f"NocoDB: Recording interaction for user {username} (type={interaction_type}, success={success})") + + # Get user metadata if possible + user_metadata = {} + try: + from GramAddict.core.device_facade import DeviceFacade + device = DeviceFacade() + user_metadata = device.get_user_metadata(username) + nocodb_logger.debug(f"NocoDB: Got user metadata: {user_metadata}") + except Exception as e: + nocodb_logger.warning(f"NocoDB: Could not get user metadata: {str(e)}") + + # Get session info + session_info = {} + try: + from GramAddict.core.session_state import SessionState + session = SessionState() + session_info = { + "session_id": session.session_id, + "job_name": session.job_name, + "target": session.target, + "session_start": session.session_start.isoformat() if session.session_start else None, + "session_end": session.session_end.isoformat() if session.session_end else None + } + nocodb_logger.debug(f"NocoDB: Got session info: {session_info}") + except Exception as e: + nocodb_logger.warning(f"NocoDB: Could not get session info: {str(e)}") + + # Prepare interaction data + interaction_data = { + "User Id": user_id, + "Username": username, + "Full Name": user_metadata.get("full_name", None), + "Profile URL": f"https://www.instagram.com/{username}/", + "Interaction Type": interaction_type, + "Success": success, + "Timestamp": datetime.now().isoformat(), + "Session ID": session_info.get("session_id", None), + "Job Name": session_info.get("job_name", None), + "Target": session_info.get("target", None), + "Session Start Time": session_info.get("session_start", None), + "Session End Time": session_info.get("session_end", None) + } + + nocodb_logger.debug(f"NocoDB: Prepared interaction data: {interaction_data}") + + # Store interaction with retries + max_retries = 3 + retry_delay = 1 # seconds + + for attempt in range(max_retries): + try: + nocodb_logger.debug(f"NocoDB: Attempting to store interaction (attempt {attempt + 1}/{max_retries})") + if self._store_interaction(interaction_data): + nocodb_logger.info(f"NocoDB: Successfully recorded interaction for {username}") + return + else: + nocodb_logger.warning(f"NocoDB: Failed to store interaction for {username}, attempt {attempt + 1}/{max_retries}") + if attempt < max_retries - 1: + nocodb_logger.debug(f"NocoDB: Waiting {retry_delay}s before retry") + time.sleep(retry_delay) + retry_delay *= 2 # Exponential backoff + + except Exception as e: + nocodb_logger.error(f"NocoDB: Error storing interaction on attempt {attempt + 1}: {str(e)}") + if attempt < max_retries - 1: + nocodb_logger.debug(f"NocoDB: Waiting {retry_delay}s before retry") + time.sleep(retry_delay) + retry_delay *= 2 + + nocodb_logger.error(f"NocoDB: Failed to store interaction for {username} after {max_retries} attempts") + + except Exception as e: + nocodb_logger.error(f"NocoDB: Error in after_interact: {str(e)}") + if logger.getEffectiveLevel() == logging.DEBUG: + nocodb_logger.error(f"NocoDB: Traceback: {traceback.format_exc()}") + + def store_interaction(self, user_id: str, username: str, interaction_type: str, success: bool = True, profile_data: Optional[Dict] = None) -> bool: + """Store an interaction in NocoDB.""" + nocodb_logger.debug(f"Entering store_interaction with user_id={user_id}, username={username}, interaction_type={interaction_type}, success={success}") + if not self.enabled: + nocodb_logger.warning("NocoDB storage is disabled - skipping interaction storage") + return False + + try: + nocodb_logger.info(f"Storing interaction for user {username} ({user_id}) - Type: {interaction_type}, Success: {success}") + + # Prepare interaction data + interaction_data = { + "User Id": user_id, + "Username": username, + "Full Name": profile_data.get("full_name", "") if profile_data else "", + "Profile URL": f"https://www.instagram.com/{username}/", + "Interaction Type": interaction_type, + "Success": success, + "Timestamp": datetime.now().isoformat() + } + nocodb_logger.debug(f"Prepared interaction data: {interaction_data}") + + table_config = self.table_schemas.get("interacted_users") + if not table_config: + nocodb_logger.error("Table schema for interacted_users not found") + return False + + # Get table ID + nocodb_logger.debug("Getting table ID...") + response = self._make_request( + 'get', + f"{self.base_url}/api/v1/db/meta/projects/{self.base_id}/tables" + ) + if not response: + return False + + tables = response.json().get('list', []) + nocodb_logger.debug(f"Found tables: {[t['title'] for t in tables]}") + + table_id = None + for table in tables: + if table['title'] == table_config['title']: + table_id = table['id'] + nocodb_logger.debug(f"Found table ID: {table_id}") + break + + if not table_id: + nocodb_logger.error(f"Table {table_config['title']} not found") + return False + + # Store the interaction + url = f"{self.base_url}/api/v1/db/data/noco/{self.base_id}/{table_id}" + nocodb_logger.debug(f"Storing interaction data at: {url}") + nocodb_logger.debug(f"Headers: {self.headers}") + nocodb_logger.debug(f"Interaction data: {interaction_data}") + + response = self._make_request( + 'post', + url, + json=interaction_data, + timeout=10 + ) + if not response: + return False + + # Verify record was stored + record_id = response.json().get("id") + if not record_id: + nocodb_logger.error("Failed to get record ID from response") + nocodb_logger.debug(f"Response: {response.json()}") + return False + + # Verify record exists + verify_url = f"{url}/{record_id}" + verify_response = self._make_request( + 'get', + verify_url, + timeout=10 + ) + if not verify_response: + return False + + stored_data = verify_response.json() + + # Check if all fields were stored correctly + for field, value in interaction_data.items(): + if str(stored_data.get(field)) != str(value): + nocodb_logger.error(f"Field mismatch in stored record - {field}: expected '{value}', got '{stored_data.get(field)}'") + return False + + nocodb_logger.info(f"Successfully stored and verified interaction for user {username}") + nocodb_logger.debug(f"Stored record: {stored_data}") + return True + + except requests.exceptions.RequestException as e: + nocodb_logger.error(f"Request error storing interaction: {str(e)}") + nocodb_logger.debug(f"Traceback: {traceback.format_exc()}") + return False + except Exception as e: + nocodb_logger.error(f"Error storing interaction: {str(e)}") + nocodb_logger.debug(f"Traceback: {traceback.format_exc()}") + return False + + def _store_interaction(self, interaction_data): + """Store interaction data in NocoDB.""" + try: + logger.info(f"=== Storing Filter Record for {interaction_data.get('Username')} ===") + logger.info(f"Filter Type: {interaction_data.get('Interaction Type')}") + + # Get table ID for interacted_users + logger.debug("Getting table ID...") + response = self._make_request( + "get", + f"{self.base_url}/api/v1/db/meta/projects/{self.base_id}/tables" + ) + + if not response: + logger.error("Failed to get tables list") + return False + + tables = response.json().get('list', []) + logger.debug(f"Found tables: {[t['title'] for t in tables]}") + + table_id = None + for table in tables: + if table['title'] == 'Interacted Users': + table_id = table['id'] + break + + if not table_id: + logger.error("Could not find table ID for Interacted Users") + return False + + logger.debug(f"Found table ID: {table_id} for Interacted Users") + + # Store interaction + url = f"{self.base_url}/api/v1/db/data/noco/{self.base_id}/{table_id}" + logger.debug(f"Storing interaction at: {url}") + logger.debug(f"Headers: {self.headers}") + logger.debug(f"Interaction data: {interaction_data}") + + response = self._make_request( + "post", + url, + json=interaction_data + ) + + if not response: + logger.error("Failed to store interaction") + return False + + response_data = response.json() + + # Consider the operation successful if we get a response with the data back + if isinstance(response_data, dict): + # Check if at least User Id and Filter Type match what we sent + if (response_data.get('User Id') == interaction_data['User Id'] and + response_data.get('Interaction Type') == interaction_data['Interaction Type']): + logger.info("Successfully stored interaction") + return True + else: + logger.error("Failed to store interaction - response data mismatch") + logger.debug(f"Expected: {interaction_data}") + logger.debug(f"Got: {response_data}") + return False + else: + logger.error("Failed to store interaction - unexpected response format") + logger.debug(f"Response: {response_data}") + return False + + except Exception as e: + logger.error(f"Error storing interaction: {str(e)}") + if logger.getEffectiveLevel() == logging.DEBUG: + logger.error(f"Traceback: {traceback.format_exc()}") + return False + + def _store_filter(self, user_id: str, username: str, filter_type: str): + """Store filter data in NocoDB.""" + try: + # Get table ID for history_filters_users + logger.debug("Getting table ID...") + response = self._make_request( + "get", + f"{self.base_url}/api/v1/db/meta/projects/{self.base_id}/tables" + ) + + if not response: + logger.error("Failed to get tables list") + return False + + tables = response.json().get('list', []) + logger.debug(f"Found tables: {[t['title'] for t in tables]}") + + table_id = None + for table in tables: + if table['title'] == 'History Filters Users': + table_id = table['id'] + break + + if not table_id: + logger.error("Could not find table ID for History Filters Users") + return False + + logger.debug(f"Found table ID: {table_id} for History Filters Users") + + # Store filter + url = f"{self.base_url}/api/v1/db/data/noco/{self.base_id}/{table_id}" + logger.debug(f"Storing filter at: {url}") + + filter_data = { + "User Id": user_id, + "Username": username, # Add username field + "Filter Type": filter_type, + "Filtered At": datetime.now().isoformat(), + "Session ID": str(uuid.uuid4()), + "Session Start Time": datetime.now().isoformat(), + "Session End Time": datetime.now().isoformat() + } + + logger.debug(f"Filter data: {filter_data}") + + response = self._make_request( + "post", + url, + json=filter_data + ) + + if not response: + logger.error("Failed to store filter") + return False + + response_data = response.json() + + # Consider the operation successful if we get a response with the data back + if isinstance(response_data, dict): + # Check if at least User Id and Filter Type match what we sent + if (response_data.get('User Id') == filter_data['User Id'] and + response_data.get('Filter Type') == filter_data['Filter Type']): + logger.info("Successfully stored filter") + return True + else: + logger.error("Failed to store filter - response data mismatch") + logger.debug(f"Expected: {filter_data}") + logger.debug(f"Got: {response_data}") + return False + else: + logger.error("Failed to store filter - unexpected response format") + logger.debug(f"Response: {response_data}") + return False + + except Exception as e: + logger.error(f"Error storing filter: {str(e)}") + if logger.getEffectiveLevel() == logging.DEBUG: + logger.error(f"Traceback: {traceback.format_exc()}") + return False + + def store_filtered_user(self, username: str, filter_type: str, skip_reason: str = None): + """Store filtered user data in NocoDB. + + Args: + username: Instagram username + filter_type: Type of filter applied (e.g. 'follower_filter', 'business_filter') + skip_reason: Reason for skipping the user (optional) + """ + if not self.enabled: + return + + try: + nocodb_logger.debug(f"Storing filtered user data for {username}") + + # Get table ID + nocodb_logger.debug("Getting table ID...") + response = self._make_request( + 'get', + f"{self.base_url}/api/v1/db/meta/projects/{self.base_id}/tables" + ) + + if not response or response.status_code != 200: + nocodb_logger.error(f"Failed to get tables. Status code: {response.status_code if response else 'No response'}") + return + + tables = response.json().get('list', []) + history_table = next((t for t in tables if t['title'].lower() == 'history filters users'), None) + + if not history_table: + nocodb_logger.error("History Filters Users table not found") + return + + table_id = history_table['id'] + + # Prepare record data matching the schema + record_data = { + "User Id": str(uuid.uuid4()), # Generate a unique ID + "Username": username, + "Filtered At": datetime.now().isoformat(), + "Filter Type": filter_type, + "Session ID": str(uuid.uuid4()), + "Session Start Time": datetime.now().isoformat(), + "Session End Time": datetime.now().isoformat() + } + + # Create record + response = self._make_request( + 'post', + f"{self.base_url}/api/v1/db/data/noco/{self.base_id}/{table_id}", + json=record_data + ) + + if not response or response.status_code not in [200, 201]: + nocodb_logger.error(f"Failed to store filtered user data. Status code: {response.status_code if response else 'No response'}") + if response and response.text: + nocodb_logger.debug(f"Error response: {response.text}") + return + + nocodb_logger.info(f"Successfully stored filtered user data for {username}") + + except Exception as e: + nocodb_logger.error(f"Error storing filtered user data: {str(e)}") + nocodb_logger.debug(f"Traceback: {traceback.format_exc()}") + + def get_user_interactions(self, user_id: str) -> List[Dict]: + """Get all interactions for a user.""" + try: + table_config = self.table_schemas.get('interacted_users') + if not table_config: + raise ValueError("Table schema for interacted_users not found in config") + + # Get actual table name from NocoDB + response = self._make_request( + 'get', + f"{self.base_url}/api/v1/db/meta/projects/{self.base_id}/tables" + ) + if not response: + return [] + + tables = response.json().get('list', []) + table_id = None + for table in tables: + if table['title'].lower() == table_config['title'].lower(): + table_id = table['id'] + break + + if not table_id: + raise ValueError(f"Table {table_config['title']} not found in NocoDB") + + # Use v1 API for querying records with pagination + url = f"{self.base_url}/api/v1/db/data/noco/{self.base_id}/{table_id}" + all_records = [] + page = 1 + page_size = 25 # Default page size in NocoDB + + while True: + params = { + 'limit': page_size, + 'offset': (page - 1) * page_size, + 'where': f"(User Id,eq,{user_id})" + } + + response = self._make_request( + 'get', + url, + params=params + ) + if not response: + break + + data = response.json() + if not isinstance(data, dict): + break + + page_records = data.get('list', []) + if not page_records: + break + + all_records.extend(page_records) + + # Check if we've retrieved all records + page_info = data.get('pageInfo', {}) + if page_info.get('isLastPage', True): + break + + page += 1 + + return all_records + + except Exception as e: + logger.error(f"NocoDB: Failed to get user interactions: {str(e)}") + return [] + + def get_filtered_user(self, user_id: str) -> Optional[Dict]: + """Get filter record for a user.""" + try: + table_config = self.table_schemas.get('history_filters_users') + if not table_config: + raise ValueError("Table schema for history_filters_users not found in config") + + # Get actual table name from NocoDB + response = self._make_request( + 'get', + f"{self.base_url}/api/v1/db/meta/projects/{self.base_id}/tables" + ) + if not response: + return None + + tables = response.json().get('list', []) + table_id = None + for table in tables: + if table['title'].lower() == table_config['title'].lower(): + table_id = table['id'] + break + + if not table_id: + raise ValueError(f"Table {table_config['title']} not found in NocoDB") + + # Use v1 API for querying records with pagination + url = f"{self.base_url}/api/v1/db/data/noco/{self.base_id}/{table_id}" + params = { + 'limit': 1, # We only need the first record + 'where': f"(User Id,eq,{user_id})" + } + + response = self._make_request( + 'get', + url, + params=params + ) + if not response: + return None + + data = response.json() + if isinstance(data, dict) and data.get('list'): + return data['list'][0] if data['list'] else None + return None + + except Exception as e: + logger.error(f"NocoDB: Failed to get filtered user: {str(e)}") + return None + + def get_filtered_users(self, filter_type: str = None) -> list: + """Get filtered users from history with optional filter type.""" + try: + table_config = self.table_schemas.get('history_filters_users') + if not table_config: + raise ValueError("Table schema for history_filters_users not found in config") + + # Get actual table name from NocoDB + response = self._make_request( + 'get', + f"{self.base_url}/api/v1/db/meta/projects/{self.base_id}/tables" + ) + if not response: + return [] + + tables = response.json().get('list', []) + table_id = None + for table in tables: + if table['title'].lower() == table_config['title'].lower(): + table_id = table['id'] + break + + if not table_id: + raise ValueError(f"Table {table_config['title']} not found in NocoDB") + + # Use v1 API for querying records with pagination + url = f"{self.base_url}/api/v1/db/data/noco/{self.base_id}/{table_id}" + all_records = [] + page = 1 + page_size = 25 # Default page size in NocoDB + + while True: + params = { + 'limit': page_size, + 'offset': (page - 1) * page_size + } + + if filter_type: + params['where'] = f"(Filter Type,eq,{filter_type})" + + response = self._make_request( + 'get', + url, + params=params + ) + if not response: + break + + data = response.json() + if not isinstance(data, dict): + break + + page_records = data.get('list', []) + if not page_records: + break + + all_records.extend(page_records) + + # Check if we've retrieved all records + page_info = data.get('pageInfo', {}) + if page_info.get('isLastPage', True): + break + + page += 1 + + return all_records + + except Exception as e: + logger.error(f"NocoDB: Failed to get filtered users: {str(e)}") + return [] diff --git a/__pycache__/test_nocodb.cpython-312-pytest-7.4.3.pyc b/__pycache__/test_nocodb.cpython-312-pytest-7.4.3.pyc new file mode 100644 index 00000000..b7f817b8 Binary files /dev/null and b/__pycache__/test_nocodb.cpython-312-pytest-7.4.3.pyc differ diff --git a/__pycache__/test_nocodb.cpython-39-pytest-8.3.3.pyc b/__pycache__/test_nocodb.cpython-39-pytest-8.3.3.pyc new file mode 100644 index 00000000..586f09e7 Binary files /dev/null and b/__pycache__/test_nocodb.cpython-39-pytest-8.3.3.pyc differ diff --git a/accounts/quecreate/blacklist.txt b/accounts/quecreate/blacklist.txt new file mode 100644 index 00000000..8e220c85 --- /dev/null +++ b/accounts/quecreate/blacklist.txt @@ -0,0 +1,2 @@ +username1 +username2 \ No newline at end of file diff --git a/accounts/quecreate/comments_list.txt b/accounts/quecreate/comments_list.txt new file mode 100644 index 00000000..c27c6303 --- /dev/null +++ b/accounts/quecreate/comments_list.txt @@ -0,0 +1,15 @@ +%PHOTO +comment 1 for photo +comment 2 for photo +... +comment n for photo +%VIDEO +comment 1 for video +comment 2 for video +... +comment n for video +%CAROUSEL +comment 1 for carousel +comment 2 for carousel +... +comment n for carousel \ No newline at end of file diff --git a/accounts/quecreate/config.yml b/accounts/quecreate/config.yml new file mode 100644 index 00000000..e30be44a --- /dev/null +++ b/accounts/quecreate/config.yml @@ -0,0 +1,131 @@ +############################################################################## +# For more information on parameters, refer to: +# https://docs.gramaddict.org/#/configuration?id=configuration-file +# +# Note: be sure to comment out any parameters not used by adding a # in front +# AGAIN: YOU DON'T HAVE TO DELETE THE LINE, BUT ONLY COMMENT IT WITH A #! +############################################################################## +# General Configuration +############################################################################## + +username: quecreate # you have to put your IG name here! +# device: put_your_device_id_there # 'adb devices' in the console to know it. It's needed only if you have more than 1 device connected +app-id: com.instagram.android +use-cloned-app: false +allow-untested-ig-version: false # Using an untested version of IG would cause unexpected behavior because some elements in the user interface may have been changed +screen-sleep: true +screen-record: false +speed-multiplier: 2.0 +debug: true +close-apps: false +kill-atx-agent: false +restart-atx-agent: false +disable-block-detection: false +disable-filters: false +dont-type: false +use-nocodb: true +init-db: true +# scrape_to_file: scraped.txt +total-crashes-limit: 5 +count-app-crashes: false +shuffle-jobs: true +truncate-sources: 2-5 + +############################################################################## +# Actions +############################################################################## + +## Interaction (active jobs) +blogger-followers: ["ledianaprengaa"] +# feed: 2-5 # is the number of likes you will give in feed + +## Special modifier for jobs and sources +watch-video-time: 15-35 +watch-photo-time: 3-4 +# can-reinteract-after: 48 # the amount of hours that have to pass from the last interaction +delete-interacted-users: true + +## Unfollow (unfollow jobs) +# unfollow: 10-20 +# unfollow-any: 10-20 +# unfollow-non-followers: 10-20 +# unfollow-any-non-followers: 10-20 +# unfollow-any-followers: 10-20 +# unfollow-from-file: [usernames1.txt 7-15, usernames2.txt 6] + +## Special modifier for unfollow jobs +# sort-followers-newest-to-oldest: false +# unfollow-delay: 15 + +## Remove followers (active jobs) +# remove-followers-from-file: [remove1.txt 5-10, remove2.txt 6] + +## Special modifier for remove followers +# delete-removed-followers: true + +## Post Processing +# analytics: false # no more supported +telegram-reports: false # for using telegram-reports you have also to configure telegram.yml in your account folder + +## Special actions +# pre-script: pre_script_path_here +# post-script: post_script_path_here + +############################################################################## +# Source Limits +############################################################################## + +interactions-count: 300-400 +likes-count: 1-2 +likes-percentage: 100 +stories-count: 10-20 +stories-percentage: 30-40 +carousel-count: 20-30 +carousel-percentage: 60-70 +max-comments-pro-user: 1-2 +# comment-percentage: 30-40 +# pm-percentage: 30-40 +interact-percentage: 30-40 +follow-percentage: 30-40 +follow-limit: 50 +skipped-list-limit: 10-15 +skipped-posts-limit: 5 +fling-when-skipped: 0 +min-following: 10 + +############################################################################## +# Total Limits Per Session +############################################################################## + +total-likes-limit: 120-150 +total-follows-limit: 40-50 +total-unfollows-limit: 40-50 +total-watches-limit: 120-150 +total-successful-interactions-limit: 120-150 +total-interactions-limit: 280-300 +total-comments-limit: 3-50 +total-pm-limit: 3-5 +total-scraped-limit: 100-150 + +############################################################################## +# Ending Session Conditions +############################################################################## + +end-if-likes-limit-reached: false +end-if-follows-limit-reached: false +end-if-watches-limit-reached: false +end-if-comments-limit-reached: false +end-if-pm-limit-reached: false + +############################################################################## +# Scheduling +############################################################################## + +# working-hours: [10.15-16.40, 18.15-22.46] +# time-delta: 10-15 +# repeat: 280-320 +# total-sessions: 1 # -1 or commented for infinite sessions +working-hours: ["17.00-23.00"] +time-delta: 0 +repeat: 280-320 +total-sessions: -1 diff --git a/accounts/quecreate/config.yml.backup b/accounts/quecreate/config.yml.backup new file mode 100644 index 00000000..abc528e4 --- /dev/null +++ b/accounts/quecreate/config.yml.backup @@ -0,0 +1,138 @@ +############################################################################## +# For more information on parameters, refer to: +# https://docs.gramaddict.org/#/configuration?id=configuration-file +# +# Note: be sure to comment out any parameters not used by adding a # in front +# AGAIN: YOU DON'T HAVE TO DELETE THE LINE, BUT ONLY COMMENT IT WITH A #! +############################################################################## +# General Configuration +############################################################################## + +username: quecreate # you have to put your IG name here! +# device: put_your_device_id_there # 'adb devices' in the console to know it. It's needed only if you have more than 1 device connected +app-id: com.instagram.android +use-cloned-app: false +allow-untested-ig-version: false # Using an untested version of IG would cause unexpected behavior because some elements in the user interface may have been changed +screen-sleep: true +screen-record: false +speed-multiplier: 1 +debug: false +close-apps: false +kill-atx-agent: false +restart-atx-agent: false +disable-block-detection: false +disable-filters: false +dont-type: false +# scrape-to-file: scraped.txt +total-crashes-limit: 5 +count-app-crashes: false +shuffle-jobs: true +truncate-sources: 2-5 + +############################################################################## +# Actions +############################################################################## + +## Interaction (active jobs) +blogger-followers: [ "laundry_studios", "tinjutkin", "peter_tarka", "perry__cooper", "antonin.work", "mauro_cosenza" ] +blogger-following: [ username1, username2 ] +blogger-post-likers: [ username1, username2 ] +blogger: [ username1, username2 ] +hashtag-likers-top: [ hashtag1, hashtag2 ] +hashtag-likers-recent: [ hashtag1, hashtag2 ] +hashtag-posts-top: [ hashtag1, hashtag2 ] +hashtag-posts-recent: [ "motiongraphics", "c4d", "3dart", "motiondesign", "animation", "cgi", "3danimation", "mograph", "octane", "redshift", "sidefx", "houdini", "proceduralart" ] +place-posts-top: [ place1, place2 ] +place-posts-recent: [ place1, place2 ] +place-likers-top: [ place1, place2 ] +place-likers-recent: [ place1, place2 ] +interact-from-file: [usernames1.txt 10-15, usernames2.txt 3] +posts-from-file: posts.txt +feed: 2-5 # is the number of likes you will give in feed + +## Special modifier for jobs and sources +watch-video-time: 15-35 +watch-photo-time: 3-4 +# can-reinteract-after: 48 # the amount of hours that have to pass from the last interaction +delete-interacted-users: true + +## Unfollow (unfollow jobs) +unfollow: 10-20 +unfollow-any: 10-20 +unfollow-non-followers: 10-20 +unfollow-any-non-followers: 10-20 +unfollow-any-followers: 10-20 +unfollow-from-file: [usernames1.txt 7-15, usernames2.txt 6] + +## Special modifier for unfollow jobs +sort-followers-newest-to-oldest: false +unfollow-delay: 15 + +## Remove followers (active jobs) +remove-followers-from-file: [remove1.txt 5-10, remove2.txt 6] + +## Special modifier for remove followers +delete-removed-followers: true + +## Post Processing +# analytics: false # no more supported +telegram-reports: false # for using telegram-reports you have also to configure telegram.yml in your account folder + +## Special actions +# pre-script: pre_script_path_here +# post-script: post_script_path_here + +############################################################################## +# Source Limits +############################################################################## + +interactions-count: 30-40 +likes-count: 1-2 +likes-percentage: 100 +stories-count: 1-2 +stories-percentage: 30-40 +carousel-count: 2-3 +carousel-percentage: 60-70 +max-comments-pro-user: 1-2 +# comment-percentage: 30-40 +# pm-percentage: 30-40 +interact-percentage: 30-40 +follow-percentage: 30-40 +follow-limit: 50 +skipped-list-limit: 10-15 +skipped-posts-limit: 5 +fling-when-skipped: 0 +min-following: 100 + +############################################################################## +# Total Limits Per Session +############################################################################## + +total-likes-limit: 120-150 +total-follows-limit: 40-50 +total-unfollows-limit: 40-50 +total-watches-limit: 120-150 +total-successful-interactions-limit: 120-150 +total-interactions-limit: 280-300 +total-comments-limit: 3-5 +total-pm-limit: 3-5 +total-scraped-limit: 100-150 + +############################################################################## +# Ending Session Conditions +############################################################################## + +end-if-likes-limit-reached: true +end-if-follows-limit-reached: false +end-if-watches-limit-reached: false +end-if-comments-limit-reached: false +end-if-pm-limit-reached: false + +############################################################################## +# Scheduling +############################################################################## + +# working-hours: [10.15-16.40, 18.15-22.46] +# time-delta: 10-15 +# repeat: 280-320 +# total-sessions: 1 # -1 or commented for infinite sessions diff --git a/accounts/quecreate/filters.yml b/accounts/quecreate/filters.yml new file mode 100644 index 00000000..e89ea74b --- /dev/null +++ b/accounts/quecreate/filters.yml @@ -0,0 +1,103 @@ +############################################################################## +# For more information on filters, refer to: +# https://docs.gramaddict.org/#/configuration?id=available-filters +# +# Note: be sure to comment out any filter not used by adding a # in front +# AGAIN: YOU DON'T HAVE TO DELETE THE LINE, BUT ONLY COMMENT IT WITH A #! +############################################################################## + +## Filters on profile type +# Profile Filters +max_following: 7500 +min_following: 10 +max_followers: 15000 +min_followers: 100 +max_posts: 1000 +min_posts: 3 +max_following_to_followers_ratio: 2.0 +min_following_to_followers_ratio: null +max_followers_to_following_ratio: null +min_followers_to_following_ratio: null +max_potency_ratio: 1.5 +min_potency_ratio: 0.1 +biography_language: null +biography_banned_words: [] +biography_mandatory_words: [] +business_category_name: [] +is_private: null +is_verified: null +is_business: null +is_non_business: null +blacklist_words: [] +mandatory_words: [] +specific_alphabet: null +min_posts_from_date: null +posts_from_date: null +mutual_friends: null +following_bot: null +last_post: null +potency_ratio: null +has_any_business_category: null +has_highlights: null +has_guides: null +has_external_url: null +has_business_category_name: null +has_biography_links: null +has_igtv: null +has_linked_facebook: null +has_story_highlights: null +has_youtube: null +has_twitter: null +has_facebook: null +has_whatsapp: null +has_tiktok: null + +## Filters on profile stats +# Skip if profile has... +skip_if_link_in_bio: false +skip_if_external_url: false +skip_if_business: false +skip_business_categories: [] +skip_bio_keyword: [] +skip_if_bio_keyword: [] +skip_if_bio_contains_anything: false + +## Filters on biography and name +# Skip if profile has no... +skip_if_no_avatar: false +skip_if_no_bio: false +skip_if_no_posts: false +skip_if_no_igtv: false +skip_if_no_story_highlights: false +skip_if_no_mutual_friends: false + +## Filters for enabling comments +# Skip if profile is... +skip_if_private: false +skip_if_public: false +skip_if_verified: false +skip_if_non_business: false +skip_if_following_bot: false + +## Filters for sending PM +# Skip if profile has less than... +skip_if_following_less_than: null +skip_if_followers_less_than: null +skip_if_posts_less_than: null +skip_if_mutual_friends_less_than: null + +## Filters on number of post likers +# Skip if profile has more than... +skip_if_following_more_than: null +skip_if_followers_more_than: null +skip_if_posts_more_than: null +skip_if_mutual_friends_more_than: null + +## Filters on potency ratio +# Skip if profile has ratio... +skip_if_following_to_followers_ratio_less_than: null +skip_if_following_to_followers_ratio_more_than: null +skip_if_followers_to_following_ratio_less_than: null +skip_if_followers_to_following_ratio_more_than: null +skip_if_potency_ratio_less_than: null +skip_if_potency_ratio_more_than: null diff --git a/accounts/quecreate/history_filters_users.json b/accounts/quecreate/history_filters_users.json new file mode 100644 index 00000000..6beef5e7 --- /dev/null +++ b/accounts/quecreate/history_filters_users.json @@ -0,0 +1,3490 @@ +{ + "dim.ple7516": { + "datetime": "2024-11-28 01:26:59.932317", + "followers": 5, + "followings": 437, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "Dimple", + "potency_ratio": 0.011441647597254004, + "skip_reason": "LT_FOLLOWERS" + }, + "k7.kev": { + "datetime": "2024-11-28 01:50:03.815461", + "followers": 0, + "followings": 2671, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "kev", + "potency_ratio": 0.0, + "skip_reason": "LT_FOLLOWERS" + }, + "nikakumar57": { + "datetime": "2024-11-28 01:50:25.045582", + "followers": 6, + "followings": 1375, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "Me@ Reels\ud83e\udd2a\n>\nSnap\ud83d\udc7b- \n>\nDM/Mail for collaborations\ud83d\udce5\n>\n\u2018Zindagi Na Milegi Dubara\u2019\u2665\ufe0f", + "link_in_bio": null, + "fullname": "Nitish Thakkar \u2010\u2010\u3010\u2664\u3011", + "potency_ratio": 0.004363636363636364, + "skip_reason": "LT_FOLLOWERS" + }, + "tello628": { + "datetime": "2024-11-28 02:44:02.200219", + "followers": 0, + "followings": 2354, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "tebantell", + "potency_ratio": 0.0, + "skip_reason": "LT_FOLLOWERS" + }, + "valerapovoroznik": { + "datetime": "2024-11-28 02:51:35.977515", + "followers": 576, + "followings": 5805, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 5, + "biography": "\ud83c\uddfa\ud83c\udde6", + "link_in_bio": null, + "fullname": "\u0412\u0430\u043b\u0435\u0440\u0430 \u041f\u043e\u0432\u043e\u0440\u043e\u0437\u043d\u0438\u043a", + "potency_ratio": 0.09922480620155039, + "skip_reason": "POTENCY_RATIO" + }, + "shah1122325": { + "datetime": "2024-11-28 02:51:54.469938", + "followers": 0, + "followings": 236, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "Aimal Shah", + "potency_ratio": 0.0, + "skip_reason": "LT_FOLLOWERS" + }, + "aaditya_y26": { + "datetime": "2024-11-28 02:52:15.420310", + "followers": 16, + "followings": 5046, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "\ud835\udc08\ud835\udc27\ud835\udc1d\ud835\udc28\ud835\udc2b\ud835\udc1e \ud83d\udccd\n\ud835\udc13\ud835\udc1e\ud835\udc1c\ud835\udc21\ud835\udc27\ud835\udc28\ud835\udc29\ud835\udc21\ud835\udc22\ud835\udc25\ud835\udc1e \ud83d\udc68\u200d\ud83d\udcbb\n\ud835\udc0b\ud835\udc28\ud835\udc2f\ud835\udc1e\ud835\udc2c \ud835\udc0c\ud835\udc2e\ud835\udc2c\ud835\udc22\ud835\udc1c \ud83c\udfa7\n\ud835\udc0d\ud835\udc1a\ud835\udc2d\ud835\udc2e\ud835\udc2b\ud835\udc1e'\ud835\udc2c \ud835\udc01\ud835\udc28\ud835\udc32 \ud83c\udfde\ufe0f\n\ud835\udc07\ud835\udc22\ud835\udc27\ud835\udc1d\ud835\udc2e \ud83d\udcff", + "link_in_bio": null, + "fullname": "Aaditya Yadav", + "potency_ratio": 0.0031708283789139914, + "skip_reason": "LT_FOLLOWERS" + }, + "a8585bdul2021": { + "datetime": "2024-11-28 02:52:33.960033", + "followers": 26, + "followings": 2146, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 1, + "biography": "", + "link_in_bio": null, + "fullname": "\u0633\u0647\u0645", + "potency_ratio": 0.012115563839701771, + "skip_reason": "LT_FOLLOWERS" + }, + "al3x.n9": { + "datetime": "2024-11-28 02:52:52.530012", + "followers": 12, + "followings": 1477, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "al3x.N", + "potency_ratio": 0.008124576844955992, + "skip_reason": "LT_FOLLOWERS" + }, + "peaky_fantomm": { + "datetime": "2024-11-28 03:06:02.409646", + "followers": 213, + "followings": 584, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 25, + "biography": "", + "link_in_bio": null, + "fullname": "Fantom", + "potency_ratio": 0.3647260273972603, + "skip_reason": null + }, + "alwadymhmdahmdnman": { + "datetime": "2024-11-28 03:06:26.337546", + "followers": 60, + "followings": 157, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "\u0645\u062d\u0645\u062f \u0627\u0644\u0639\u0648\u0627\u0636\u064a", + "potency_ratio": 0.3821656050955414, + "skip_reason": "LT_FOLLOWERS" + }, + "shakerking23": { + "datetime": "2024-11-28 03:06:57.522362", + "followers": 105, + "followings": 6093, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 13, + "biography": "#shaker", + "link_in_bio": null, + "fullname": "Shakerking23", + "potency_ratio": 0.017232890201871, + "skip_reason": "POTENCY_RATIO" + }, + "sheikh_mohammad_jim_": { + "datetime": "2024-11-28 03:07:16.967425", + "followers": 66, + "followings": 2360, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "iS Me Jim", + "link_in_bio": null, + "fullname": "\u0404\u0448.\u044f \u0408\u0457\u043c", + "potency_ratio": 0.027966101694915254, + "skip_reason": "LT_FOLLOWERS" + }, + "good.oknot": { + "datetime": "2024-11-28 03:47:34.938267", + "followers": 2, + "followings": 183, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 240, + "biography": "", + "link_in_bio": null, + "fullname": "ok not good", + "potency_ratio": 0.01092896174863388, + "skip_reason": "LT_FOLLOWERS" + }, + "el.301": { + "datetime": "2024-11-28 03:47:57.118345", + "followers": 134, + "followings": 6776, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.01977567886658796, + "skip_reason": "POTENCY_RATIO" + }, + "aron_metzler_891": { + "datetime": "2024-11-28 03:48:33.598918", + "followers": 1, + "followings": 1706, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.0005861664712778429, + "skip_reason": "LT_FOLLOWERS" + }, + "md.shahadat321": { + "datetime": "2024-11-28 04:10:48.313363", + "followers": 117, + "followings": 4877, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 37, + "biography": "", + "link_in_bio": null, + "fullname": "Md Shadath", + "potency_ratio": 0.023990157883945047, + "skip_reason": "POTENCY_RATIO" + }, + "ald777am": { + "datetime": "2024-11-28 04:14:07.173841", + "followers": 73, + "followings": 949, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 4, + "biography": "\u062a\u0635\u0648\u064a\u0631 \u0641\u0648\u062a\u0648\u063a\u0631\u0627\u0641\u064a", + "link_in_bio": null, + "fullname": "Abo Mohammed", + "potency_ratio": 0.07692307692307693, + "skip_reason": "LT_FOLLOWERS" + }, + "official_jeeta33": { + "datetime": "2024-11-28 04:14:45.013965", + "followers": 62, + "followings": 4707, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 38, + "biography": "", + "link_in_bio": null, + "fullname": "Ranjeet Singh", + "potency_ratio": 0.013171871680475887, + "skip_reason": "LT_FOLLOWERS" + }, + "zarifzarif832": { + "datetime": "2024-11-28 04:15:15.679117", + "followers": 16, + "followings": 1883, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 2, + "biography": "", + "link_in_bio": null, + "fullname": "Zarif Zarif", + "potency_ratio": 0.008497079129049389, + "skip_reason": "LT_FOLLOWERS" + }, + "cuba_av": { + "datetime": "2024-11-28 04:15:32.791344", + "followers": 328, + "followings": 6855, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 34, + "biography": "", + "link_in_bio": null, + "fullname": "Cuba-A", + "potency_ratio": 0.04784828592268417, + "skip_reason": "POTENCY_RATIO" + }, + "4.30oo": { + "datetime": "2024-11-28 04:26:52.318316", + "followers": 116, + "followings": 748, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 2, + "biography": "work at #pepsi\nfrom \n@kronesag", + "link_in_bio": null, + "fullname": "thv", + "potency_ratio": 0.15508021390374332, + "skip_reason": "NOT_ENOUGH_POSTS" + }, + "shenoudaramzyk8": { + "datetime": "2024-11-28 04:41:38.838796", + "followers": 387, + "followings": 4548, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 3, + "biography": "", + "link_in_bio": null, + "fullname": "Shenouda Ramzy", + "potency_ratio": 0.08509234828496043, + "skip_reason": "POTENCY_RATIO" + }, + "csgomegatron": { + "datetime": "2024-11-28 04:42:15.776972", + "followers": 52, + "followings": 341, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 15, + "biography": "Ihr seid meine Sklaven\ud83d\udca9", + "link_in_bio": null, + "fullname": "[CS:GO 2] Darkness", + "potency_ratio": 0.15249266862170088, + "skip_reason": "LT_FOLLOWERS" + }, + "gurjeetsingh3061977": { + "datetime": "2024-11-28 04:42:34.048993", + "followers": 2, + "followings": 998, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 1, + "biography": "", + "link_in_bio": null, + "fullname": "Gurjeet Singh Rajput", + "potency_ratio": 0.002004008016032064, + "skip_reason": "LT_FOLLOWERS" + }, + "santanaernerto": { + "datetime": "2024-11-28 04:42:52.131751", + "followers": 37, + "followings": 631, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "Santana Ernerto", + "potency_ratio": 0.058637083993660855, + "skip_reason": "LT_FOLLOWERS" + }, + "shxzd.design": { + "datetime": "2024-11-28 12:12:42.710549", + "followers": 239, + "followings": 2162, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 19, + "biography": "UI UX Designer. AI Designer. AI illustrator", + "link_in_bio": null, + "fullname": "\u0428\u0430\u0445 \u041a\u0430\u0434\u0438\u0440\u043e\u0432 | Ai content creator", + "potency_ratio": 0.11054579093432007, + "skip_reason": null + }, + "muha_mmedatteya": { + "datetime": "2024-11-28 10:56:16.656571", + "followers": 1, + "followings": 1034, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "Muhammed ATA Muhammed", + "potency_ratio": 0.0009671179883945841, + "skip_reason": "LT_FOLLOWERS" + }, + "everardodamiancer": { + "datetime": "2024-11-28 10:56:34.861463", + "followers": 3, + "followings": 2378, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 2, + "biography": "Construccion", + "link_in_bio": null, + "fullname": "Damian Cervantes", + "potency_ratio": 0.001261564339781329, + "skip_reason": "LT_FOLLOWERS" + }, + "0mohamed_hashem0": { + "datetime": "2024-11-28 10:56:50.954484", + "followers": 31, + "followings": 3790, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "Mohamed Hashem", + "potency_ratio": 0.008179419525065963, + "skip_reason": "LT_FOLLOWERS" + }, + "lx.ll.mmlll": { + "datetime": "2024-11-28 10:57:03.759271", + "followers": 382, + "followings": 978, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "Ara Balagozyan", + "potency_ratio": 0.39059304703476483, + "skip_reason": "NOT_ENOUGH_POSTS" + }, + "adna_nsami085208": { + "datetime": "2024-11-28 10:57:17.349334", + "followers": 12, + "followings": 276, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 2, + "biography": "", + "link_in_bio": null, + "fullname": "Adnan Sami", + "potency_ratio": 0.043478260869565216, + "skip_reason": "LT_FOLLOWERS" + }, + "59yw_m": { + "datetime": "2024-11-28 11:04:39.793742", + "followers": 39, + "followings": 1289, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 1, + "biography": "313\nY.O:16\n\ud835\udc00\ud835\udc01\ud835\udc03\ud835\udc00\ud835\udc0b\ud835\udc0b\ud835\udc00\ud835\udc07\ud81a\udd25\nIRAQ/Baghdad\ud83c\uddee\ud83c\uddf6\n\ud83c\udde8\ud83c\uddf5\ud83c\udde9\ud83c\uddea\ud83c\uddea\ud83c\udde6\ud83c\uddf0\ud83c\uddf7\ud83c\uddf7\ud83c\uddfa", + "link_in_bio": null, + "fullname": "\ud835\udc00\ud835\udc01\ud835\udc03\ud835\udc00\ud835\udc0b\ud835\udc0b\ud835\udc00\ud835\udc07\ud81a\udd25", + "potency_ratio": 0.030256012412723042, + "skip_reason": "LT_FOLLOWERS" + }, + "alikhan.9308": { + "datetime": "2024-11-28 11:11:10.032738", + "followers": 15, + "followings": 253, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 22, + "biography": "", + "link_in_bio": null, + "fullname": "\u0410\u043b\u0438\u0445\u0430\u043d", + "potency_ratio": 0.05928853754940711, + "skip_reason": "LT_FOLLOWERS" + }, + "sahil__kaushik_7": { + "datetime": "2024-11-28 11:14:55.996056", + "followers": 13, + "followings": 1185, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "\ud83d\ude08", + "link_in_bio": null, + "fullname": "Sahil kaushik", + "potency_ratio": 0.010970464135021098, + "skip_reason": "LT_FOLLOWERS" + }, + "xzzzzzz.zzzzzzx": { + "datetime": "2024-11-28 11:15:12.431067", + "followers": 0, + "followings": 937, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "If you know me irl, no you don't.", + "link_in_bio": null, + "fullname": "Only for watching meme", + "potency_ratio": 0.0, + "skip_reason": "LT_FOLLOWERS" + }, + "unbreakableenigma": { + "datetime": "2024-11-28 11:25:27.803291", + "followers": 0, + "followings": 7226, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "12Strong", + "potency_ratio": 0.0, + "skip_reason": "LT_FOLLOWERS" + }, + "maher_19p": { + "datetime": "2024-11-28 11:25:47.772613", + "followers": 220, + "followings": 3892, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 18, + "biography": "1:43", + "link_in_bio": null, + "fullname": "Manrique Interiano", + "potency_ratio": 0.0565262076053443, + "skip_reason": "POTENCY_RATIO" + }, + "avadakidavra0111": { + "datetime": "2024-11-28 11:32:21.774194", + "followers": 9, + "followings": 499, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.018036072144288578, + "skip_reason": "LT_FOLLOWERS" + }, + "olcaybas": { + "datetime": "2024-11-28 11:33:07.084888", + "followers": 6073, + "followings": 6385, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 13, + "biography": "Harley Davidson Rider", + "link_in_bio": null, + "fullname": "Olcay Ba\u015f", + "potency_ratio": 0.9511354737666405, + "skip_reason": null + }, + "xdarklegion__": { + "datetime": "2024-11-28 11:33:27.320013", + "followers": 23, + "followings": 1081, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "Elbet bir g\u00fcn\u26d3", + "link_in_bio": null, + "fullname": "KUZGUN", + "potency_ratio": 0.02127659574468085, + "skip_reason": "LT_FOLLOWERS" + }, + "pashamergei": { + "datetime": "2024-11-28 11:33:45.655580", + "followers": 8, + "followings": 506, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 9, + "biography": "\u0627\u0644\u062d\u0645\u062f\u0627\u0644\u0644\u0647 \u0639\u0644\u0649 \u0643\u0644 \u062d\u0627\u0644", + "link_in_bio": null, + "fullname": "Niho MerGei", + "potency_ratio": 0.015810276679841896, + "skip_reason": "LT_FOLLOWERS" + }, + "snadirshah.bukhari": { + "datetime": "2024-11-28 11:34:03.758715", + "followers": 1, + "followings": 1186, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "S Nadir Ali Shah", + "potency_ratio": 0.0008431703204047217, + "skip_reason": "LT_FOLLOWERS" + }, + "joyjoy_im": { + "datetime": "2024-11-28 11:34:20.351379", + "followers": 23, + "followings": 83, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 7, + "biography": "Welcome to my world", + "link_in_bio": null, + "fullname": "Joy", + "potency_ratio": 0.27710843373493976, + "skip_reason": "LT_FOLLOWERS" + }, + "qeggcbtrhrj": { + "datetime": "2024-11-28 11:34:52.137601", + "followers": 13, + "followings": 576, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.022569444444444444, + "skip_reason": "LT_FOLLOWERS" + }, + "asoev.m_04": { + "datetime": "2024-11-28 11:35:10.265761", + "followers": 318, + "followings": 237, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 3, + "biography": "Momento Mori \u2663\ufe0f", + "link_in_bio": null, + "fullname": "\u2734Rich Man\u2734 04\u2660\ufe0f", + "potency_ratio": 1.3417721518987342, + "skip_reason": null + }, + "gulludada0001": { + "datetime": "2024-11-28 11:58:24.814934", + "followers": 1, + "followings": 1979, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "Gullu Dada", + "potency_ratio": 0.0005053057099545225, + "skip_reason": "LT_FOLLOWERS" + }, + "simran_kaur_1642": { + "datetime": "2024-11-28 11:58:58.755448", + "followers": 0, + "followings": 473, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "\ud83d\udc94Don\u2019t Worry i m Strong\ud83d\ude0a", + "link_in_bio": null, + "fullname": "Simran Kaur", + "potency_ratio": 0.0, + "skip_reason": "LT_FOLLOWERS" + }, + "drakon__1771": { + "datetime": "2024-11-28 11:59:37.220462", + "followers": 32, + "followings": 1770, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 5, + "biography": "", + "link_in_bio": null, + "fullname": "DRAKON", + "potency_ratio": 0.01807909604519774, + "skip_reason": "LT_FOLLOWERS" + }, + "yamnw_y": { + "datetime": "2024-11-28 12:02:27.895926", + "followers": 4, + "followings": 718, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.005571030640668524, + "skip_reason": "LT_FOLLOWERS" + }, + "angelinaa_sb": { + "datetime": "2024-11-28 12:02:59.570148", + "followers": 23, + "followings": 109, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 2, + "biography": "\ud83c\uddee\ud83c\uddf9 ~\nSweet Dreams \u2022", + "link_in_bio": null, + "fullname": "Angelina", + "potency_ratio": 0.21100917431192662, + "skip_reason": "LT_FOLLOWERS" + }, + "arifsuhendar_19": { + "datetime": "2024-11-28 12:03:24.567562", + "followers": 1666, + "followings": 4210, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 41, + "biography": "\ud83c\udfe1BDG, indonesia\n\ud83d\udc42I'm deaf /tuna rungu :)\n\ud83d\udccd TikTok : Arif_Atletik07\n\ud83e\udd0d @restu_listia_asri_19\n\u2b50 : will like photos and videos on my Instagram", + "link_in_bio": null, + "fullname": "Arif Suhendar", + "potency_ratio": 0.3957244655581948, + "skip_reason": null + }, + "rmprmprmp6": { + "datetime": "2024-11-28 12:04:20.443067", + "followers": 94, + "followings": 3310, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "rmp rmp rmp", + "potency_ratio": 0.0283987915407855, + "skip_reason": "LT_FOLLOWERS" + }, + "rin_0b2": { + "datetime": "2024-11-28 12:10:09.981301", + "followers": 1, + "followings": 424, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 1, + "biography": "", + "link_in_bio": null, + "fullname": "Ayanokoji", + "potency_ratio": 0.0023584905660377358, + "skip_reason": "LT_FOLLOWERS" + }, + "imad_o_u_a_z_i_l_10": { + "datetime": "2024-11-28 12:10:36.117376", + "followers": 30, + "followings": 1211, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.02477291494632535, + "skip_reason": "LT_FOLLOWERS" + }, + "lana00lolo00": { + "datetime": "2024-11-28 12:10:53.788749", + "followers": 2, + "followings": 292, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "\u00a7\u00d1\u00e5\u00e6", + "potency_ratio": 0.00684931506849315, + "skip_reason": "LT_FOLLOWERS" + }, + "anderson_satan_": { + "datetime": "2024-11-28 12:14:12.439623", + "followers": 20, + "followings": 208, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 3, + "biography": "Saber un poco de ti. Me hace bien", + "link_in_bio": null, + "fullname": "Anderson S", + "potency_ratio": 0.09615384615384616, + "skip_reason": "LT_FOLLOWERS" + }, + "zafarobodtjk__9797_1616": { + "datetime": "2024-11-28 12:14:32.635207", + "followers": 57, + "followings": 882, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 2, + "biography": "", + "link_in_bio": null, + "fullname": "ZAFAROBOD TJK\ud83c\uddf9\ud83c\uddef\u261d\ufe0f", + "potency_ratio": 0.06462585034013606, + "skip_reason": "LT_FOLLOWERS" + }, + "mew_new1": { + "datetime": "2024-11-28 12:50:08.438295", + "followers": 3, + "followings": 993, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "ScareFace", + "potency_ratio": 0.0030211480362537764, + "skip_reason": "LT_FOLLOWERS" + }, + "enriquecarbajal0": { + "datetime": "2024-11-28 12:50:29.243115", + "followers": 0, + "followings": 3140, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 2, + "biography": "", + "link_in_bio": null, + "fullname": "enrique", + "potency_ratio": 0.0, + "skip_reason": "LT_FOLLOWERS" + }, + "_tomeh.to": { + "datetime": "2024-11-28 12:51:02.604083", + "followers": 12, + "followings": 95, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 4, + "biography": "B.CM./ RSU", + "link_in_bio": null, + "fullname": "\ud83d\udcab", + "potency_ratio": 0.12631578947368421, + "skip_reason": "LT_FOLLOWERS" + }, + "soff.garza0_": { + "datetime": "2024-11-28 12:56:36.097474", + "followers": 4, + "followings": 21, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.19047619047619047, + "skip_reason": "LT_FOLLOWERS" + }, + "dheetaulad.789": { + "datetime": "2024-11-28 13:15:42.219025", + "followers": 0, + "followings": 179, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.0, + "skip_reason": "LT_FOLLOWERS" + }, + "leyyladincerr": { + "datetime": "2024-11-28 13:15:59.277807", + "followers": 812, + "followings": 2063, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 2, + "biography": "", + "link_in_bio": null, + "fullname": "leyladin\u00e7er", + "potency_ratio": 0.39360155113911777, + "skip_reason": "NOT_ENOUGH_POSTS" + }, + "_azik.o1": { + "datetime": "2024-11-28 13:16:20.212342", + "followers": 2, + "followings": 515, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.003883495145631068, + "skip_reason": "LT_FOLLOWERS" + }, + "matteopaky12": { + "datetime": "2024-11-28 13:22:13.019450", + "followers": 13, + "followings": 120, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "Matteo", + "potency_ratio": 0.10833333333333334, + "skip_reason": "LT_FOLLOWERS" + }, + "covaxinpedro": { + "datetime": "2024-11-28 13:22:47.108212", + "followers": 65, + "followings": 3954, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "Pedro Covaxin", + "potency_ratio": 0.016439049064238747, + "skip_reason": "LT_FOLLOWERS" + }, + "b4a_511": { + "datetime": "2024-11-28 13:26:07.572603", + "followers": 851, + "followings": 3963, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 2, + "biography": "\u0627\u0643\u0631\u0647 \u0630\u0643\u0631\u0627\u0643 \u0648 \u064a\u0648\u0645 \u064a\u062c\u064a \u0637\u0627\u0631\u064a\u0643 \u0639\u0644\u0649 \u0628\u0627\u0644\u064a \u0648 \u062a\u0647\u0632 \u0643\u064a\u0627\u0646\u064a \u0648 \u062a\u062c\u0639\u0644\u0646\u064a \u0630\u0627\u0643 \u0627\u0644\u062d\u0632\u064a\u0646 \ud83e\udec0", + "link_in_bio": null, + "fullname": "\u2664\u2661\u25c7\u2667", + "potency_ratio": 0.2147363108755993, + "skip_reason": "NOT_ENOUGH_POSTS" + }, + "manuelmolina5055": { + "datetime": "2024-11-28 13:26:40.068849", + "followers": 44, + "followings": 1723, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 5, + "biography": "", + "link_in_bio": null, + "fullname": "Manuel molina", + "potency_ratio": 0.025536854323853744, + "skip_reason": "LT_FOLLOWERS" + }, + "angel_mahnoor77": { + "datetime": "2024-11-28 13:37:48.935790", + "followers": 20, + "followings": 2834, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 4, + "biography": "", + "link_in_bio": null, + "fullname": "angel 3345", + "potency_ratio": 0.007057163020465773, + "skip_reason": "LT_FOLLOWERS" + }, + "ad.29_4": { + "datetime": "2024-11-28 13:50:08.036013", + "followers": 103, + "followings": 3655, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 0, + "biography": "\ud83c\uddef\ud83c\uddf4.\ud83c\uddf5\ud83c\uddf8.\ud83c\uddf0\ud83c\uddfc.\ud83d\udda4", + "link_in_bio": null, + "fullname": "\u00c6", + "potency_ratio": 0.028180574555403556, + "skip_reason": "POTENCY_RATIO" + }, + "joseleon168": { + "datetime": "2024-11-28 14:01:39.248623", + "followers": 5227, + "followings": 1649, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 59, + "biography": "Jos\u00e9 brise\u00f1o asesor de inversiones inmobiliarias", + "link_in_bio": null, + "fullname": "Jbl Jos\u00e9 Brise\u00f1o", + "potency_ratio": 3.169799878714372, + "skip_reason": "POTENCY_RATIO" + }, + "nouno_un27": { + "datetime": "2024-11-28 14:16:18.467238", + "followers": 1, + "followings": 124, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 24, + "biography": "Alg\u00e9rie \ud83c\udde9\ud83c\uddff", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.008064516129032258, + "skip_reason": "LT_FOLLOWERS" + }, + "coldeyez12": { + "datetime": "2024-11-28 14:19:28.935792", + "followers": 6, + "followings": 466, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.012875536480686695, + "skip_reason": "LT_FOLLOWERS" + }, + "mansurovabror1111": { + "datetime": "2024-11-28 14:20:04.024658", + "followers": 230, + "followings": 5987, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 3, + "biography": "", + "link_in_bio": null, + "fullname": "Abror Mansurov", + "potency_ratio": 0.0384165692333389, + "skip_reason": "POTENCY_RATIO" + }, + "unitedstaas": { + "datetime": "2024-11-28 14:25:00.666808", + "followers": 15, + "followings": 52, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 6, + "biography": "Mission: Create a perfect utopia \u26aa\u26ab", + "link_in_bio": null, + "fullname": "United Staas", + "potency_ratio": 0.28846153846153844, + "skip_reason": "LT_FOLLOWERS" + }, + "misgiventhought": { + "datetime": "2024-11-28 14:25:18.307899", + "followers": 76, + "followings": 1454, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 32, + "biography": "", + "link_in_bio": null, + "fullname": "seventhpiece", + "potency_ratio": 0.052269601100412656, + "skip_reason": "LT_FOLLOWERS" + }, + "azizkbe": { + "datetime": "2024-11-28 14:25:36.145006", + "followers": 57, + "followings": 1079, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "Azizbek Xolmatov", + "potency_ratio": 0.05282669138090825, + "skip_reason": "LT_FOLLOWERS" + }, + "klkness": { + "datetime": "2024-11-28 14:29:51.342966", + "followers": 212, + "followings": 543, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 1, + "biography": "", + "link_in_bio": null, + "fullname": "Enes Kalkan", + "potency_ratio": 0.39042357274401474, + "skip_reason": "NOT_ENOUGH_POSTS" + }, + "lineman30000000000": { + "datetime": "2024-11-28 14:30:31.458242", + "followers": 1, + "followings": 162, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "Line man", + "potency_ratio": 0.006172839506172839, + "skip_reason": "LT_FOLLOWERS" + }, + "hadishka566": { + "datetime": "2024-11-28 14:30:59.881166", + "followers": 138, + "followings": 2191, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 27, + "biography": "\ud83c\udf39", + "link_in_bio": null, + "fullname": "Hadishka", + "potency_ratio": 0.0629849383842994, + "skip_reason": "POTENCY_RATIO" + }, + "diegoemmanuelsilva": { + "datetime": "2024-11-28 14:31:17.127169", + "followers": 47, + "followings": 494, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "Diego Emmanuel Silva Garc\u00eda", + "potency_ratio": 0.0951417004048583, + "skip_reason": "LT_FOLLOWERS" + }, + "lazrus_lobo": { + "datetime": "2024-11-28 14:31:37.430139", + "followers": 997, + "followings": 3346, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 253, + "biography": "\ud83d\udc68\u200d\ud83d\udcbb Sr. Full Stack Developer (Software Engineer)\n\ud83d\udc68\u200d\ud83c\udf93 MCA - Aloysian_Mangalore (AIMIT)\n\ud83d\udc54G-S-B-C-A\n\ud83c\udfbc \u266a\u01e4\u01dc\u2148\u0236\u1f01\u024d\u2148\u1e69\u0236 \ud83c\udfb8\n\ud83d\udc09 Follow back for a Follow", + "link_in_bio": null, + "fullname": "Lazrus Lobo", + "potency_ratio": 0.29796772265391513, + "skip_reason": null + }, + "erdelergela": { + "datetime": "2024-11-28 14:31:59.085243", + "followers": 169, + "followings": 2616, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 21, + "biography": "Musician, Trumpet Player, Backyard Farmer", + "link_in_bio": null, + "fullname": "Erd's", + "potency_ratio": 0.06460244648318043, + "skip_reason": "POTENCY_RATIO" + }, + "1995mubasher": { + "datetime": "2024-11-28 14:33:27.492598", + "followers": 280, + "followings": 4549, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 30, + "biography": "", + "link_in_bio": null, + "fullname": "Mubasher 1995", + "potency_ratio": 0.06155198944823038, + "skip_reason": "POTENCY_RATIO" + }, + "mundarainluismanuelgonzalez": { + "datetime": "2024-11-28 14:33:45.674641", + "followers": 237, + "followings": 4534, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 350, + "biography": "", + "link_in_bio": null, + "fullname": "Visita Nuestro Sitio Jworg", + "potency_ratio": 0.052271724746360826, + "skip_reason": "POTENCY_RATIO" + }, + "rmohapatra8984": { + "datetime": "2024-11-28 14:34:05.082351", + "followers": 240, + "followings": 3380, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 23, + "biography": "", + "link_in_bio": null, + "fullname": "Rakesh Mohapatra", + "potency_ratio": 0.07100591715976332, + "skip_reason": "POTENCY_RATIO" + }, + "guillermoenriqueaguirre": { + "datetime": "2024-11-28 14:34:21.892380", + "followers": 61, + "followings": 1649, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 2, + "biography": "", + "link_in_bio": null, + "fullname": "Guillermo Enrique Aguirre Baltodano", + "potency_ratio": 0.03699211643420255, + "skip_reason": "LT_FOLLOWERS" + }, + "bffl74": { + "datetime": "2024-11-29 01:13:58.497492", + "followers": 4, + "followings": 103, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "BFFL", + "potency_ratio": 0.038834951456310676, + "skip_reason": "LT_FOLLOWERS" + }, + "chris1990robinson": { + "datetime": "2024-11-29 01:22:15.803008", + "followers": 1, + "followings": 123, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "new acc for \"@unusualsuspect90\"", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.008130081300813009, + "skip_reason": "LT_FOLLOWERS" + }, + "esam96731": { + "datetime": "2024-11-29 01:22:32.382162", + "followers": 11, + "followings": 148, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "esam96731@gmail.com", + "potency_ratio": 0.07432432432432433, + "skip_reason": "LT_FOLLOWERS" + }, + "oscar_burnes": { + "datetime": "2024-11-29 01:22:50.972722", + "followers": 57, + "followings": 7229, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "Oscar Burnes", + "potency_ratio": 0.007884908009406557, + "skip_reason": "LT_FOLLOWERS" + }, + "dario.vazquez.35175": { + "datetime": "2024-11-29 01:23:09.247865", + "followers": 82, + "followings": 2531, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 7, + "biography": "", + "link_in_bio": null, + "fullname": "Dar\u00edo V\u00e1zquez", + "potency_ratio": 0.03239826155669696, + "skip_reason": "LT_FOLLOWERS" + }, + "clashenero": { + "datetime": "2024-11-29 01:23:28.316114", + "followers": 82, + "followings": 6653, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "Clash17", + "potency_ratio": 0.012325266796933715, + "skip_reason": "LT_FOLLOWERS" + }, + "il.ya9982": { + "datetime": "2024-11-29 01:23:48.139740", + "followers": 42, + "followings": 5721, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.007341373885684321, + "skip_reason": "LT_FOLLOWERS" + }, + "ashisnepal077": { + "datetime": "2024-11-29 01:24:16.793093", + "followers": 20, + "followings": 493, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 1, + "biography": "", + "link_in_bio": null, + "fullname": "Ashis Nepal", + "potency_ratio": 0.04056795131845842, + "skip_reason": "LT_FOLLOWERS" + }, + "thr_168___": { + "datetime": "2024-11-29 01:24:36.993941", + "followers": 16, + "followings": 6350, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.0025196850393700786, + "skip_reason": "LT_FOLLOWERS" + }, + "https_sad.0": { + "datetime": "2024-11-29 01:24:59.182647", + "followers": 17, + "followings": 253, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 2, + "biography": "Sad", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.06719367588932806, + "skip_reason": "LT_FOLLOWERS" + }, + "jc_hl19": { + "datetime": "2024-11-29 01:25:15.895017", + "followers": 53, + "followings": 675, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "Jose Her'lag", + "potency_ratio": 0.07851851851851852, + "skip_reason": "LT_FOLLOWERS" + }, + "mm900900m": { + "datetime": "2024-11-29 01:25:35.016345", + "followers": 20, + "followings": 498, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.040160642570281124, + "skip_reason": "LT_FOLLOWERS" + }, + "jaas._09": { + "datetime": "2024-11-29 01:25:51.980371", + "followers": 1, + "followings": 1330, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "Jass", + "potency_ratio": 0.0007518796992481203, + "skip_reason": "LT_FOLLOWERS" + }, + "zyazikovabam": { + "datetime": "2024-11-29 01:26:09.366836", + "followers": 350, + "followings": 6627, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 67, + "biography": "\u042f \u0434\u043e\u043c\u0430 \u0443", + "link_in_bio": null, + "fullname": "Zyazikov Abam", + "potency_ratio": 0.052814244756299984, + "skip_reason": "POTENCY_RATIO" + }, + "armadillo.52639": { + "datetime": "2024-11-29 01:26:26.415366", + "followers": 12, + "followings": 439, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "GU...CEE", + "potency_ratio": 0.02733485193621868, + "skip_reason": "LT_FOLLOWERS" + }, + "nigell.design.lab": { + "datetime": "2024-11-29 01:35:12.473940", + "followers": 2, + "followings": 81, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.024691358024691357, + "skip_reason": "LT_FOLLOWERS" + }, + "newness________": { + "datetime": "2024-11-29 01:35:32.885755", + "followers": 2, + "followings": 49, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.04081632653061224, + "skip_reason": "LT_FOLLOWERS" + }, + "bryn_pod": { + "datetime": "2024-11-29 01:35:47.561822", + "followers": 3, + "followings": 40, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "bryn", + "potency_ratio": 0.075, + "skip_reason": "LT_FOLLOWERS" + }, + "lorcan.archive": { + "datetime": "2024-11-29 01:36:04.555394", + "followers": 150, + "followings": 339, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 5, + "biography": "\ud83e\ude99\u2618\ufe0f \nAlso: @l.or.can", + "link_in_bio": null, + "fullname": "Archive", + "potency_ratio": 0.4424778761061947, + "skip_reason": null + }, + "dixitasarchive": { + "datetime": "2024-11-29 01:37:17.497574", + "followers": 55, + "followings": 111, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 27, + "biography": "messy repository", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.4954954954954955, + "skip_reason": "LT_FOLLOWERS" + }, + "personal_day__": { + "datetime": "2024-11-29 01:37:35.812556", + "followers": 15, + "followings": 172, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "doin sm trsh\n(links is spotify playlists)", + "link_in_bio": null, + "fullname": "personal_day", + "potency_ratio": 0.0872093023255814, + "skip_reason": "LT_FOLLOWERS" + }, + "tovoii": { + "datetime": "2024-11-29 04:15:12.249450", + "followers": 16, + "followings": 185, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 3, + "biography": "\ud83c\udfc1 \u201cTO OWN VICTORY, OVERCOME, IGNITE AND INSPIRE\n\ud83c\udfc1 The Fear Slayer / based in Seoul, South Korea", + "link_in_bio": null, + "fullname": "TOVOII", + "potency_ratio": 0.08648648648648649, + "skip_reason": "LT_FOLLOWERS" + }, + "simmakkaleem": { + "datetime": "2024-11-29 04:15:39.966717", + "followers": 54, + "followings": 1372, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "I didn't know where the bridges were so I set myself on fire just to be safe\ud83d\udda4\ud83d\udcab", + "link_in_bio": null, + "fullname": "Sim Mak", + "potency_ratio": 0.03935860058309038, + "skip_reason": "LT_FOLLOWERS" + }, + "prazdnakasa": { + "datetime": "2024-11-29 04:15:56.351928", + "followers": 28, + "followings": 61, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 1, + "biography": "@budejinak", + "link_in_bio": null, + "fullname": "Karl Nord", + "potency_ratio": 0.45901639344262296, + "skip_reason": "LT_FOLLOWERS" + }, + "pakreht": { + "datetime": "2024-11-29 04:16:15.994821", + "followers": 47, + "followings": 130, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 8, + "biography": "Techy Artsy Person \u2022\u1d17\u2022\nInterested in algorithmic & interactive art\nMy main Softs are Houdini, TouchDesigner, Max MSP", + "link_in_bio": null, + "fullname": "pakreht", + "potency_ratio": 0.36153846153846153, + "skip_reason": "LT_FOLLOWERS" + }, + "user732728d": { + "datetime": "2024-11-29 04:16:34.197201", + "followers": 2, + "followings": 7232, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "User08050024", + "potency_ratio": 0.0002765486725663717, + "skip_reason": "LT_FOLLOWERS" + }, + "heavydirtyday": { + "datetime": "2024-11-29 04:16:55.832758", + "followers": 65, + "followings": 628, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "Russia.", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.1035031847133758, + "skip_reason": "LT_FOLLOWERS" + }, + "_motiongrapher_": { + "datetime": "2024-11-29 04:17:12.411562", + "followers": 54, + "followings": 329, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "Mography", + "link_in_bio": null, + "fullname": "VIXON", + "potency_ratio": 0.1641337386018237, + "skip_reason": "LT_FOLLOWERS" + }, + "oivtat": { + "datetime": "2024-11-29 04:17:30.187348", + "followers": 1, + "followings": 63, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "rik_p", + "potency_ratio": 0.015873015873015872, + "skip_reason": "LT_FOLLOWERS" + }, + "ooook___789": { + "datetime": "2024-11-29 04:17:50.530580", + "followers": 0, + "followings": 941, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 531, + "biography": "", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.0, + "skip_reason": "LT_FOLLOWERS" + }, + "sleepysergei": { + "datetime": "2024-11-29 04:18:18.331243", + "followers": 57, + "followings": 441, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 215, + "biography": "", + "link_in_bio": null, + "fullname": "Always Tired", + "potency_ratio": 0.1292517006802721, + "skip_reason": "LT_FOLLOWERS" + }, + "marcusw.design": { + "datetime": "2024-11-29 04:18:35.843129", + "followers": 49, + "followings": 159, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "Interaktiv Designer", + "link_in_bio": null, + "fullname": "Marcus Wissum", + "potency_ratio": 0.3081761006289308, + "skip_reason": "LT_FOLLOWERS" + }, + "design.research.only": { + "datetime": "2024-11-29 04:18:55.104961", + "followers": 10, + "followings": 349, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "Design Research", + "potency_ratio": 0.02865329512893983, + "skip_reason": "LT_FOLLOWERS" + }, + "designnerd1": { + "datetime": "2024-11-29 04:19:14.205822", + "followers": 1, + "followings": 31, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.03225806451612903, + "skip_reason": "LT_FOLLOWERS" + }, + "danielwakemusic": { + "datetime": "2024-11-29 04:19:30.895924", + "followers": 944, + "followings": 91, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 26, + "biography": "\ud83c\uddf8\ud83c\uddeaSpotify & Apple Music | Daniel Wake \n\ud83e\udde8 New song every month\n\ud83d\udc49Better Off Alone out now:", + "link_in_bio": null, + "fullname": "Daniel Wake", + "potency_ratio": 10.373626373626374, + "skip_reason": "POTENCY_RATIO" + }, + "motivomine": { + "datetime": "2024-11-29 04:19:50.162558", + "followers": 0, + "followings": 154, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.0, + "skip_reason": "LT_FOLLOWERS" + }, + "mmmmmmmeomory": { + "datetime": "2024-11-29 04:20:11.194397", + "followers": 0, + "followings": 73, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.0, + "skip_reason": "LT_FOLLOWERS" + }, + "xyzettgraphix_bfvk": { + "datetime": "2024-11-29 04:20:28.494389", + "followers": 699, + "followings": 3044, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 337, + "biography": "\u2716\ufe0fCorporate Design, Branding Design, Grafik Design, Webdesign, Lettering, Typografie\n\u2716\ufe0f Freelancer\n\u2716\ufe0f Jetzt buchen!", + "link_in_bio": null, + "fullname": "xyzettgraphix. | bfvk", + "potency_ratio": 0.22963206307490144, + "skip_reason": null + }, + "weemeeuwkoenraad": { + "datetime": "2024-11-29 04:21:44.725867", + "followers": 97, + "followings": 975, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 63, + "biography": "", + "link_in_bio": null, + "fullname": "Koenraad Weemeeuw", + "potency_ratio": 0.09948717948717949, + "skip_reason": "LT_FOLLOWERS" + }, + "sams0nis": { + "datetime": "2024-11-29 04:22:01.155096", + "followers": 5, + "followings": 207, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "SamsOn", + "potency_ratio": 0.024154589371980676, + "skip_reason": "LT_FOLLOWERS" + }, + "blissfuldread": { + "datetime": "2024-11-29 04:22:22.904305", + "followers": 13, + "followings": 494, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.02631578947368421, + "skip_reason": "LT_FOLLOWERS" + }, + "carmael_makanaloa": { + "datetime": "2024-11-29 04:22:41.201362", + "followers": 2, + "followings": 10, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 4, + "biography": "", + "link_in_bio": null, + "fullname": "Carmael KMK Stagner", + "potency_ratio": 0.2, + "skip_reason": "LT_FOLLOWERS" + }, + "gioph_designs": { + "datetime": "2024-11-29 04:23:03.758534", + "followers": 10, + "followings": 25, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.4, + "skip_reason": "LT_FOLLOWERS" + }, + "artreyd": { + "datetime": "2024-11-29 04:23:27.141090", + "followers": 5, + "followings": 67, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 4, + "biography": "Howdy!\nIf you enjoy looking at photos of stuff and drawings of things like all these other accounts on here just minus the talent then im your guy \ud83d\ude02", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.07462686567164178, + "skip_reason": "LT_FOLLOWERS" + }, + "asad_graphic": { + "datetime": "2024-11-29 04:23:45.699453", + "followers": 82, + "followings": 1024, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 41, + "biography": "UI UX \u0434\u0438\u0437\u0430\u0439\u043d\n\u0413\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0434\u0438\u0437\u0430\u0439\u043d\n\u041c\u043e\u0443\u0448\u043d-\u0434\u0438\u0437\u0430\u0439\u043d\nSMM-\u0434\u0438\u0437\u0430\u0439\u043d", + "link_in_bio": null, + "fullname": "\u0430\u0441\u0430\u0434", + "potency_ratio": 0.080078125, + "skip_reason": "LT_FOLLOWERS" + }, + "neodigitalbr": { + "datetime": "2024-11-29 04:24:52.861783", + "followers": 40, + "followings": 134, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 3, + "biography": "Design & Social Media \ud83d\udd25\nPerfil novo \ud83c\udfc6", + "link_in_bio": null, + "fullname": "NEO Digital", + "potency_ratio": 0.29850746268656714, + "skip_reason": "LT_FOLLOWERS" + }, + "usethriv": { + "datetime": "2024-11-29 04:26:10.571793", + "followers": 1724, + "followings": 355, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 248, + "biography": "\u2728Become your best self, & achieve your goals with us\n\ud83d\udc47 FREE Guide", + "link_in_bio": null, + "fullname": "Thriv", + "potency_ratio": 4.856338028169014, + "skip_reason": "POTENCY_RATIO" + }, + "claudiatua.0v0": { + "datetime": "2024-11-29 04:26:28.418588", + "followers": 2, + "followings": 6, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "0v0", + "link_in_bio": null, + "fullname": "Claudia La Torre", + "potency_ratio": 0.3333333333333333, + "skip_reason": "LT_FOLLOWERS" + }, + "karlijndh": { + "datetime": "2024-11-29 04:26:45.984891", + "followers": 412, + "followings": 4576, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 86, + "biography": "Graphic & motion designer\nplantengekkie \ud83e\udeb4", + "link_in_bio": null, + "fullname": "Karlijn den Hoedt", + "potency_ratio": 0.09003496503496504, + "skip_reason": "POTENCY_RATIO" + }, + "gonepix": { + "datetime": "2024-11-29 04:27:05.258075", + "followers": 12, + "followings": 15, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 3, + "biography": "exploring pixels, patterns and algorithms", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.8, + "skip_reason": "LT_FOLLOWERS" + }, + "slimreaper7_35": { + "datetime": "2024-11-29 04:27:23.140631", + "followers": 98, + "followings": 2532, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "@suns\nsmall forward", + "link_in_bio": null, + "fullname": "slim", + "potency_ratio": 0.038704581358609796, + "skip_reason": "LT_FOLLOWERS" + }, + "studio_sourire": { + "datetime": "2024-11-29 04:27:41.670128", + "followers": 17, + "followings": 59, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 5, + "biography": "Giving brands a voice since 2024!\nJump in the DM\u2019s for a free consultation! \ud83d\udce8", + "link_in_bio": null, + "fullname": "Studio Sourire", + "potency_ratio": 0.288135593220339, + "skip_reason": "LT_FOLLOWERS" + }, + "tomododesignandart": { + "datetime": "2024-11-29 04:28:04.216757", + "followers": 948, + "followings": 3165, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 3920, + "biography": "\ud83c\uddef\ud83c\uddf5\ud83c\uddf9\ud83c\udded\nArtist | Designer | Brand Strategist\n\u30a2\u30fc\u30c8\u3001\u30c7\u30b6\u30a4\u30f3\u3001\u30d6\u30e9\u30f3\u30c7\u30a3\u30f3\u30b0\u4e2d\u6bd2\nI do art, design, and branding.\nIncognito life.", + "link_in_bio": null, + "fullname": "Tomo Hanawa Yansombut", + "potency_ratio": 0.2995260663507109, + "skip_reason": null + }, + "axellle_adr": { + "datetime": "2024-11-29 04:30:51.246054", + "followers": 0, + "followings": 36, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.0, + "skip_reason": "LT_FOLLOWERS" + }, + "rychee_studio": { + "datetime": "2024-11-29 04:32:08.959491", + "followers": 35, + "followings": 134, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 18, + "biography": "\u2022 A boutique brand strategy and design studio shaping structure and surface in service of social good\n\ud83d\udccdWorldWide, NYC", + "link_in_bio": null, + "fullname": "\ud835\udc11\ud835\udc32\ud835\udc1c\ud835\udc21\ud835\udc1e\ud835\udc1e \ud835\udc12\ud835\udc2d\ud835\udc2e\ud835\udc1d\ud835\udc22\ud835\udc28 | \ud835\udc0c\ud835\udc1a\ud835\udc2b\ud835\udc24\ud835\udc1e\ud835\udc2d\ud835\udc22\ud835\udc27\ud835\udc20 \ud835\udc1a\ud835\udc20\ud835\udc1e\ud835\udc27\ud835\udc1c\ud835\udc32", + "potency_ratio": 0.26119402985074625, + "skip_reason": "LT_FOLLOWERS" + }, + "audoreaudio": { + "datetime": "2024-11-29 04:33:44.417244", + "followers": 19, + "followings": 128, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 33, + "biography": "\u104a\u104a||\u104a|\u104b||||\u104a Certified Audio Engineer\n\u200e \u200e \u200e \n\ud83c\udf9a\ufe0f High Standard mixing & mastering. Website Work in Progress\n\u271f AMDG\n\u25b6\ufe0e CEO of @axonicaudio", + "link_in_bio": null, + "fullname": "audoreaudio", + "potency_ratio": 0.1484375, + "skip_reason": "LT_FOLLOWERS" + }, + "rehabassem_ag": { + "datetime": "2024-11-29 04:34:01.949785", + "followers": 6, + "followings": 361, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 9, + "biography": "", + "link_in_bio": null, + "fullname": "Rehab Assem", + "potency_ratio": 0.01662049861495845, + "skip_reason": "LT_FOLLOWERS" + }, + "iris_orbis": { + "datetime": "2024-11-29 04:34:17.620410", + "followers": 11, + "followings": 32, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "Iris Orbis\nBridging Realms & Illuminating the Path: A Channel for Universal Communication. The signal is on, I/O", + "link_in_bio": null, + "fullname": "Iris Orbis Creative Lab", + "potency_ratio": 0.34375, + "skip_reason": "LT_FOLLOWERS" + }, + "wingsvn": { + "datetime": "2024-11-29 04:34:36.745884", + "followers": 0, + "followings": 72, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "\ud83e\udee7", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.0, + "skip_reason": "LT_FOLLOWERS" + }, + "jeejung_gabin": { + "datetime": "2024-11-29 04:34:53.687154", + "followers": 365, + "followings": 1296, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 14, + "biography": "Art . Oolong Tea . Cats and maybe some dad jokes", + "link_in_bio": null, + "fullname": "Jeejung Gabin Kim", + "potency_ratio": 0.2816358024691358, + "skip_reason": null + }, + "dxin.official": { + "datetime": "2024-11-29 04:36:04.060086", + "followers": 638, + "followings": 246, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 51, + "biography": "DXIN. | DESIGNER | CREATOR\ud83c\uddf5\ud83c\uddf0\nAPPAREL DESIGN SPECIALIST!!\n\ud83d\udccdALL DESIGN FOR SALE\n\ud83d\udccdTEXT & COLOR CAN BE CHANGE\n\ud83d\udccdCOMMISION? PLEASE DM", + "link_in_bio": null, + "fullname": "\ud835\udd39\ud835\udd66\ud835\udd64\ud835\udd59\ud835\udd63\ud835\udd52 \ud835\udd50\ud835\udd60\ud835\udd66\ud835\udd5f\ud835\udd66\ud835\udd64\u2503\ud835\udd3e\ud835\udd63\ud835\udd52\ud835\udd61\ud835\udd59\ud835\udd5a\ud835\udd54 \ud835\udd55\ud835\udd56\ud835\udd64\ud835\udd5a\ud835\udd58\ud835\udd5f\ud835\udd56\ud835\udd63", + "potency_ratio": 2.5934959349593494, + "skip_reason": "POTENCY_RATIO" + }, + "heshuangjiang1120": { + "datetime": "2024-11-29 04:36:21.647398", + "followers": 0, + "followings": 56, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "heshuangjiang", + "potency_ratio": 0.0, + "skip_reason": "LT_FOLLOWERS" + }, + "iam_lifeflow2019": { + "datetime": "2024-11-29 04:36:40.066747", + "followers": 630, + "followings": 3188, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 144, + "biography": "", + "link_in_bio": null, + "fullname": "Curdis Stick", + "potency_ratio": 0.19761606022584693, + "skip_reason": null + }, + "jtqtianqi": { + "datetime": "2024-11-29 04:37:06.356802", + "followers": 8, + "followings": 333, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "tianqi", + "potency_ratio": 0.024024024024024024, + "skip_reason": "LT_FOLLOWERS" + }, + "lunch_box_notes": { + "datetime": "2024-11-29 04:37:25.727736", + "followers": 18, + "followings": 222, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 59, + "biography": "", + "link_in_bio": null, + "fullname": "Shan Minwei", + "potency_ratio": 0.08108108108108109, + "skip_reason": "LT_FOLLOWERS" + }, + "jiyere2b": { + "datetime": "2024-11-29 04:37:46.442194", + "followers": 0, + "followings": 74, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.0, + "skip_reason": "LT_FOLLOWERS" + }, + "sammeske": { + "datetime": "2024-11-29 04:38:05.129073", + "followers": 587, + "followings": 601, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 31, + "biography": "Christian, Researcher, Entrepreneur, Crypto, AI", + "link_in_bio": null, + "fullname": "Sam Meske", + "potency_ratio": 0.9767054908485857, + "skip_reason": null + }, + "m.s.a236": { + "datetime": "2024-11-29 04:39:02.844102", + "followers": 426, + "followings": 915, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 15, + "biography": "Hi, \ud83d\udc4b\ud83c\udffb\nI am Mohammed saed a Motion Graphics Designer\ud83e\uddd1\ud83c\udffb\u200d\ud83d\udcbb\nUCAS || GAZA\nGraphics Designe\n\ud83d\udcbb\ud83d\udc68\ud83c\udffb\u200d\ud83d\udcbc Freelancer\n00970599535265\nMy personal Behance ac", + "link_in_bio": null, + "fullname": "\u0645\u062d\u0645\u062f \u0633\u0627\u0626\u062f", + "potency_ratio": 0.46557377049180326, + "skip_reason": null + }, + "zhouhaiyiii": { + "datetime": "2024-11-29 04:40:05.396534", + "followers": 37, + "followings": 577, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 9, + "biography": "\u8fb9\u89d2\u6599", + "link_in_bio": null, + "fullname": "zhouhaiyiii", + "potency_ratio": 0.06412478336221837, + "skip_reason": "LT_FOLLOWERS" + }, + "osm_dsgnr": { + "datetime": "2024-11-30 05:29:29.729799", + "followers": 10, + "followings": 141, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "Saymiddin Ortiqov", + "potency_ratio": 0.07092198581560284, + "skip_reason": "LT_FOLLOWERS" + }, + "rafiki7474": { + "datetime": "2024-11-30 05:29:53.700792", + "followers": 19, + "followings": 178, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "Raf IKi", + "potency_ratio": 0.10674157303370786, + "skip_reason": "LT_FOLLOWERS" + }, + "loathful_fdor": { + "datetime": "2024-11-30 05:30:31.060689", + "followers": 51, + "followings": 76, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 11, + "biography": "Portfolio coming", + "link_in_bio": null, + "fullname": "Fdor", + "potency_ratio": 0.6710526315789473, + "skip_reason": "LT_FOLLOWERS" + }, + "cavalry_playground": { + "datetime": "2024-11-30 05:30:58.523171", + "followers": 30, + "followings": 34, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 3, + "biography": "Cavalry explorations by @remco.van.dun", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.8823529411764706, + "skip_reason": "LT_FOLLOWERS" + }, + "gabomarin_designer": { + "datetime": "2024-11-30 05:31:16.800830", + "followers": 18, + "followings": 25, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 4, + "biography": "Graphic Designer", + "link_in_bio": null, + "fullname": "Gabo\u2019s Visual Designs", + "potency_ratio": 0.72, + "skip_reason": "LT_FOLLOWERS" + }, + "ddrckdsgn": { + "datetime": "2024-11-30 05:37:08.231568", + "followers": 64, + "followings": 114, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 10, + "biography": "fun with shapes and motion\nPersonal account: @ddrck", + "link_in_bio": null, + "fullname": "ddrck", + "potency_ratio": 0.5614035087719298, + "skip_reason": "LT_FOLLOWERS" + }, + "northbryan": { + "datetime": "2024-11-30 05:47:12.630054", + "followers": 320, + "followings": 775, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 68, + "biography": "PNW lover and semi-professional part-time Dungeon Master \nDesign Director with @studiokoto\nBuddies with @huckleberry_thecorgi", + "link_in_bio": null, + "fullname": "North Bryan", + "potency_ratio": 0.4129032258064516, + "skip_reason": null + }, + "tonymolino": { + "datetime": "2024-11-30 05:48:23.708013", + "followers": 11, + "followings": 214, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 63, + "biography": "", + "link_in_bio": null, + "fullname": "Molino", + "potency_ratio": 0.0514018691588785, + "skip_reason": "LT_FOLLOWERS" + }, + "y2knght": { + "datetime": "2024-11-30 05:49:02.884551", + "followers": 16, + "followings": 41, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 6, + "biography": "Chrome | \ud83d\udd17\ud83c\udf10", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.3902439024390244, + "skip_reason": "LT_FOLLOWERS" + }, + "jakub_bukowski": { + "datetime": "2024-11-30 05:49:24.778145", + "followers": 43, + "followings": 695, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 1, + "biography": "Crafting audible dreams since 2019\n\"I am still pondering the perfect harmony...\"\nFor collaborations: occupieruniverse@gmail.com\nJakub", + "link_in_bio": null, + "fullname": "Caesura", + "potency_ratio": 0.0618705035971223, + "skip_reason": "LT_FOLLOWERS" + }, + "furkanadiguzel15": { + "datetime": "2024-11-30 13:34:23.172294", + "followers": 676, + "followings": 1000, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "\u00f6zye\u011fin\nizmir", + "link_in_bio": null, + "fullname": "furkan adiguzel", + "potency_ratio": 0.676, + "skip_reason": "NOT_ENOUGH_POSTS" + }, + "iwannhs.ferro": { + "datetime": "2024-11-30 13:35:08.574831", + "followers": 385, + "followings": 628, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 9, + "biography": "\ud83d\udccdCyclades - Athens \n\u2022 \ud835\udc06\ud835\udc2b\ud835\udc1a\ud835\udc29\ud835\udc21\ud835\udc22\ud835\udc1c \ud835\udc03\ud835\udc1e\ud835\udc2c\ud835\udc22\ud835\udc20\ud835\udc27\ud835\udc1e - Printed & Electronic Media \n ~ artistic mood ~", + "link_in_bio": null, + "fullname": "\ud80c\udd02\u2627", + "potency_ratio": 0.6130573248407644, + "skip_reason": null + }, + "king_ofwaters": { + "datetime": "2024-11-30 13:35:23.223432", + "followers": 103, + "followings": 838, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "You're a survivor, and you've made it this far.", + "link_in_bio": null, + "fullname": "kingofwater", + "potency_ratio": 0.12291169451073986, + "skip_reason": "NOT_ENOUGH_POSTS" + }, + "erkunzhao": { + "datetime": "2024-11-30 13:36:15.625163", + "followers": 0, + "followings": 379, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 4, + "biography": "", + "link_in_bio": null, + "fullname": "erkunzhao", + "potency_ratio": 0.0, + "skip_reason": "LT_FOLLOWERS" + }, + "arafatmiraaz": { + "datetime": "2024-11-30 13:36:47.419273", + "followers": 258, + "followings": 423, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "Technology Lover\ud83d\udda4\nMotion Designer\ud83e\ude84", + "link_in_bio": null, + "fullname": "Arafat Miraz", + "potency_ratio": 0.6099290780141844, + "skip_reason": "NOT_ENOUGH_POSTS" + }, + "lennimation": { + "datetime": "2024-11-30 13:37:03.222215", + "followers": 14, + "followings": 123, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "Lennard Nijenhuis", + "potency_ratio": 0.11382113821138211, + "skip_reason": "LT_FOLLOWERS" + }, + "creatid.d": { + "datetime": "2024-11-30 13:37:20.049935", + "followers": 39, + "followings": 238, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 2, + "biography": "\ud835\ude0a\ud835\ude33\ud835\ude26\ud835\ude22\ud835\ude35\ud835\ude2a\ud835\ude37\ud835\ude26 \ud835\ude22\ud835\ude33\ud835\ude35\ud835\ude2a\ud835\ude34\ud835\ude35\ud835\ude2a\ud835\ude24 \ud835\ude37\ud835\ude2a\ud835\ude34\ud835\ude2a\ud835\ude30\ud835\ude2f\ud83e\udd17\n- \ud835\ude42\ud835\ude67\ud835\ude56\ud835\ude65\ud835\ude5d\ud835\ude5e\ud835\ude58 \ud835\ude59\ud835\ude5a\ud835\ude68\ud835\ude5e\ud835\ude5c\ud835\ude63 \ud835\ude56\ud835\ude63\ud835\ude59 \ud835\ude56\ud835\ude67\ud835\ude58\ud835\ude5d\ud835\ude5e\ud835\ude69\ud835\ude5a\ud835\ude58\ud835\ude69\ud835\ude6a\ud835\ude67\ud835\ude5a \ud83d\uddb1\ufe0f", + "link_in_bio": null, + "fullname": "\ud800\udf02\u027e\u04bd\u03b1\u019a\u03b9\u0503.", + "potency_ratio": 0.1638655462184874, + "skip_reason": "LT_FOLLOWERS" + }, + "77artndesign": { + "datetime": "2024-11-30 13:37:37.870001", + "followers": 10, + "followings": 109, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 4, + "biography": "Art world of @itsyzzzzzz", + "link_in_bio": null, + "fullname": "77ArtnDesign", + "potency_ratio": 0.09174311926605505, + "skip_reason": "LT_FOLLOWERS" + }, + "379_pages": { + "datetime": "2024-11-30 13:37:53.392436", + "followers": 0, + "followings": 173, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "379pages", + "potency_ratio": 0.0, + "skip_reason": "LT_FOLLOWERS" + }, + "emotionworks": { + "datetime": "2024-11-30 13:38:20.443808", + "followers": 559, + "followings": 287, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 134, + "biography": "Euer Partner in Sachen strategische Beratung, Formatkonzeption sowie Planung und Produktion f\u00fcr Live-Kommunikation. Welcome!", + "link_in_bio": null, + "fullname": "emotion works | Live-Brands", + "potency_ratio": 1.9477351916376306, + "skip_reason": "POTENCY_RATIO" + }, + "celestinekf0qbe8": { + "datetime": "2024-11-30 13:38:40.917705", + "followers": 54, + "followings": 27, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 121, + "biography": "", + "link_in_bio": null, + "fullname": "Celestine", + "potency_ratio": 2.0, + "skip_reason": "LT_FOLLOWERS" + }, + "albertoroller": { + "datetime": "2024-11-30 13:38:57.440364", + "followers": 509, + "followings": 2976, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 846, + "biography": "Graphic & Motion Designer\n@betoroller\nIlustrador digital / Audiovisuales\nFotograf\u00eda / M\u00fasica", + "link_in_bio": null, + "fullname": "Alberto Urbina", + "potency_ratio": 0.17103494623655913, + "skip_reason": null + }, + "ka.tadaa": { + "datetime": "2024-11-30 13:39:13.958940", + "followers": 100, + "followings": 570, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 161, + "biography": "", + "link_in_bio": null, + "fullname": "Katrin", + "potency_ratio": 0.17543859649122806, + "skip_reason": null + }, + "kuangxiao118": { + "datetime": "2024-11-30 13:40:43.096627", + "followers": 2, + "followings": 89, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 2, + "biography": "\u6d3b\u7740\u5176\u5b9e\u5f88\u597d \u518d\u5403\u4e00\u53e3\u82f9\u679c", + "link_in_bio": null, + "fullname": "Haha\u062a", + "potency_ratio": 0.02247191011235955, + "skip_reason": "LT_FOLLOWERS" + }, + "mryangbin": { + "datetime": "2024-11-30 13:41:01.558019", + "followers": 72, + "followings": 603, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 202, + "biography": "\u00c9tudiant en design graphique \u00e0 Paris.", + "link_in_bio": null, + "fullname": "YANG Bin", + "potency_ratio": 0.11940298507462686, + "skip_reason": "LT_FOLLOWERS" + }, + "katjastrophal__": { + "datetime": "2024-11-30 13:41:16.550779", + "followers": 122, + "followings": 447, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 17, + "biography": "", + "link_in_bio": null, + "fullname": "Katja", + "potency_ratio": 0.27293064876957496, + "skip_reason": null + }, + "ryan.6338": { + "datetime": "2024-11-30 13:41:34.690059", + "followers": 0, + "followings": 609, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "Ryan", + "potency_ratio": 0.0, + "skip_reason": "LT_FOLLOWERS" + }, + "___chaithu______7": { + "datetime": "2024-11-30 13:41:50.799219", + "followers": 106, + "followings": 204, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "Sreshilem Chithanya Gowd", + "potency_ratio": 0.5196078431372549, + "skip_reason": "NOT_ENOUGH_POSTS" + }, + "nosunity": { + "datetime": "2024-11-30 13:44:32.332346", + "followers": 883, + "followings": 184, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 15, + "biography": "#1 Car Head & Back Support Brand \ud83c\udfc6\nPremium Comfort for Every Journey \ud83d\ude97\u2728\nFree Worldwide Shipping \ud83c\udf0d\nSHOP HERE \ud83d\udc47", + "link_in_bio": null, + "fullname": "NOS UNITY", + "potency_ratio": 4.798913043478261, + "skip_reason": "POTENCY_RATIO" + }, + "art_and_cigars": { + "datetime": "2024-11-30 13:44:50.239954", + "followers": 195, + "followings": 577, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 36, + "biography": "Head of Production @schlaflosdeluxe", + "link_in_bio": null, + "fullname": "Julian Bohlinger", + "potency_ratio": 0.3379549393414211, + "skip_reason": null + }, + "jarzyna.artur": { + "datetime": "2024-11-30 13:45:54.355711", + "followers": 74, + "followings": 301, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 18, + "biography": "", + "link_in_bio": null, + "fullname": "Artur Jarzyna", + "potency_ratio": 0.24584717607973422, + "skip_reason": "LT_FOLLOWERS" + }, + "bl9ckst8r": { + "datetime": "2024-11-30 13:46:14.317679", + "followers": 211, + "followings": 3235, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 0, + "biography": "Have y\u2019all ever heard of SAMe?", + "link_in_bio": null, + "fullname": "sammotion\ud83d\udcb0", + "potency_ratio": 0.06522411128284389, + "skip_reason": "POTENCY_RATIO" + }, + "myace.jpg": { + "datetime": "2024-11-30 13:46:30.875164", + "followers": 165, + "followings": 728, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 11, + "biography": "- From earth\nYour new favorite digital artist you didn\u2019t ask for.", + "link_in_bio": null, + "fullname": "bla.digital", + "potency_ratio": 0.22664835164835165, + "skip_reason": null + }, + "xcxdan": { + "datetime": "2024-11-30 13:48:00.376694", + "followers": 102, + "followings": 107, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 2, + "biography": "", + "link_in_bio": null, + "fullname": "Daniel", + "potency_ratio": 0.9532710280373832, + "skip_reason": "NOT_ENOUGH_POSTS" + }, + "chiefphilosophernight": { + "datetime": "2024-11-30 13:48:16.379538", + "followers": 46, + "followings": 2595, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 54, + "biography": "", + "link_in_bio": null, + "fullname": "Newt Xavier", + "potency_ratio": 0.017726396917148363, + "skip_reason": "LT_FOLLOWERS" + }, + "oleksandrzymnytskyi": { + "datetime": "2024-11-30 13:48:34.021198", + "followers": 139, + "followings": 4827, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 45, + "biography": "Design for social networks\nMotion design", + "link_in_bio": null, + "fullname": "Oleksandr Zymnytskyi", + "potency_ratio": 0.028796353842966645, + "skip_reason": "POTENCY_RATIO" + }, + "melicorbeat": { + "datetime": "2024-11-30 13:48:48.768187", + "followers": 231, + "followings": 722, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 2, + "biography": "", + "link_in_bio": null, + "fullname": "\ud83e\udd8b\ud83d\udc41\ufe0f\ud83e\udd8b", + "potency_ratio": 0.31994459833795014, + "skip_reason": "NOT_ENOUGH_POSTS" + }, + "tomomicreates": { + "datetime": "2024-11-30 13:49:06.490716", + "followers": 92, + "followings": 630, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 30, + "biography": "Designer @tomomimarketing \nin\u2764\ufe0fwith creativity, kindness & nature", + "link_in_bio": null, + "fullname": "Cathleen Heimes | TOMOMI", + "potency_ratio": 0.14603174603174604, + "skip_reason": "LT_FOLLOWERS" + }, + "kado_zurek": { + "datetime": "2024-11-30 13:49:32.618031", + "followers": 751, + "followings": 5094, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 88, + "biography": "\u2734\ufe0f \u017burek, og\u00f3rek, kie\u0142basa i sznurek.\n\u2734\ufe0f (czyli wirtualna galeria Kamila \u017burka)\n\u26ab @zurek.dsgn", + "link_in_bio": null, + "fullname": "Kamil \u017burek", + "potency_ratio": 0.1474283470749902, + "skip_reason": null + }, + "vjolhonegro": { + "datetime": "2024-11-30 13:50:18.808701", + "followers": 876, + "followings": 1615, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 54, + "biography": ".\nVJ\nVisionary Artist \n:\n\ud83c\udde7\ud83c\uddf7", + "link_in_bio": null, + "fullname": "VJ Olho Negro", + "potency_ratio": 0.5424148606811146, + "skip_reason": null + }, + "sophia_leyva": { + "datetime": "2024-11-30 13:51:12.370258", + "followers": 300, + "followings": 840, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 9, + "biography": "\ud83e\udeb7\ud83e\ude75\ud83e\udebc", + "link_in_bio": null, + "fullname": "Sophi \\(^3^)/", + "potency_ratio": 0.35714285714285715, + "skip_reason": null + }, + "rodfons": { + "datetime": "2024-11-30 13:51:27.251334", + "followers": 5373, + "followings": 5459, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 1131, + "biography": "@Rodfons Compositor/Cantautor\n#RodrigoFonseca", + "link_in_bio": null, + "fullname": "Rodrigo Fonseca", + "potency_ratio": 0.9842461989375344, + "skip_reason": null + }, + "adrian_ciszek": { + "datetime": "2024-11-30 13:52:55.056519", + "followers": 597, + "followings": 1297, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 121, + "biography": "Animator, motion designer 2D i 3D. Nadaje z miasta \u0141odzi. \n#opentowork", + "link_in_bio": null, + "fullname": "Adrian Ciszek", + "potency_ratio": 0.4602929838087895, + "skip_reason": null + }, + "_david_lexl_": { + "datetime": "2024-11-30 13:53:59.183618", + "followers": 21, + "followings": 1235, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "David Lexl", + "potency_ratio": 0.01700404858299595, + "skip_reason": "LT_FOLLOWERS" + }, + "mysticmegan": { + "datetime": "2024-11-30 13:54:18.054501", + "followers": 1179, + "followings": 1281, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 166, + "biography": "Astrologer, Academic, Artist, Mother, Dreamer, Designer, and a little bit lonely.", + "link_in_bio": null, + "fullname": "Mystic Megan", + "potency_ratio": 0.9203747072599532, + "skip_reason": null + }, + "__siqus": { + "datetime": "2024-11-30 13:56:08.662219", + "followers": 34, + "followings": 61, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 27, + "biography": "Artist & Designer \ud83c\udfa8\u2728", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.5573770491803278, + "skip_reason": "LT_FOLLOWERS" + }, + "kelevra0815": { + "datetime": "2024-11-30 15:10:31.332188", + "followers": 10, + "followings": 190, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 37, + "biography": "\ud83d\udda5\ufe0f IT | \ud83e\udd16 AI (AIConvoHub)\n\ud83c\udfa8 ComfyUI | \ud83c\udfae Gaming", + "link_in_bio": null, + "fullname": "kelevra0815", + "potency_ratio": 0.05263157894736842, + "skip_reason": "LT_FOLLOWERS" + }, + "jochebread": { + "datetime": "2024-11-30 15:12:53.444521", + "followers": 307, + "followings": 349, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "\ud83c\udf75\ud83e\udd6f\ud83c\udfa7", + "link_in_bio": null, + "fullname": "jochebed \u273f", + "potency_ratio": 0.8796561604584527, + "skip_reason": "NOT_ENOUGH_POSTS" + }, + "d0nut.eth": { + "datetime": "2024-11-30 15:14:41.748761", + "followers": 55, + "followings": 497, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 25, + "biography": "Web3 | Breathing Money & Art", + "link_in_bio": null, + "fullname": "#tamaka | d0nut_eth", + "potency_ratio": 0.11066398390342053, + "skip_reason": "LT_FOLLOWERS" + }, + "erek_alvgard": { + "datetime": "2024-11-30 15:15:10.906466", + "followers": 302, + "followings": 431, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 554, + "biography": "Work @miragestudio.se", + "link_in_bio": null, + "fullname": "Erek Alvg\u00e5rd", + "potency_ratio": 0.7006960556844548, + "skip_reason": null + }, + "richie.hoffmann": { + "datetime": "2024-11-30 16:08:48.316957", + "followers": 223, + "followings": 684, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 3, + "biography": "Student | C \u2764\ufe0f", + "link_in_bio": null, + "fullname": "Richie Hoffmann", + "potency_ratio": 0.3260233918128655, + "skip_reason": null + }, + "irfanul_gani": { + "datetime": "2024-11-30 15:25:52.382132", + "followers": 58, + "followings": 97, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 39, + "biography": "graphics designer", + "link_in_bio": null, + "fullname": "Md. Irfanul Gani", + "potency_ratio": 0.5979381443298969, + "skip_reason": "LT_FOLLOWERS" + }, + "symbolone": { + "datetime": "2024-11-30 16:03:12.299861", + "followers": 1125, + "followings": 700, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 195, + "biography": "", + "link_in_bio": null, + "fullname": "SymbolOne", + "potency_ratio": 1.6071428571428572, + "skip_reason": "POTENCY_RATIO" + }, + "ms.sheinman": { + "datetime": "2024-11-30 16:04:26.767742", + "followers": 1144, + "followings": 1810, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 14, + "biography": "\ud83c\uddfa\ud83c\udde6\n\u0421\u0443\u0431'\u0454\u043a\u0442 \u0456\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0446\u0456\u0439.\n@bookish.sheinman", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 0.6320441988950276, + "skip_reason": null + }, + "joe_walkling": { + "datetime": "2024-11-30 16:05:37.814831", + "followers": 693, + "followings": 831, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 131, + "biography": "Graphic Design \ud83c\uddec\ud83c\udde7 \ud83d\udc49 \ud83c\uddfa\ud83c\uddf8 \ud83d\udc49 \ud83c\uddeb\ud83c\uddf7 \nConsultant @aaschool", + "link_in_bio": null, + "fullname": "Joe Walkling", + "potency_ratio": 0.8339350180505415, + "skip_reason": null + }, + "alberto.gen_": { + "datetime": "2024-11-30 16:07:55.933120", + "followers": 283, + "followings": 542, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": false, + "posts_count": 11, + "biography": "Media Art & design \ud83d\udd33", + "link_in_bio": null, + "fullname": "Alberto Gennaro", + "potency_ratio": 0.522140221402214, + "skip_reason": null + }, + "fatemematbouriahi": { + "datetime": "2024-11-30 16:09:45.481309", + "followers": 247, + "followings": 4141, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 7, + "biography": "", + "link_in_bio": null, + "fullname": "f.m.r", + "potency_ratio": 0.05964742815744989, + "skip_reason": "POTENCY_RATIO" + }, + "aelmgren": { + "datetime": "2024-11-30 16:10:02.829098", + "followers": 49, + "followings": 1350, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 1, + "biography": "", + "link_in_bio": null, + "fullname": "aelmgren", + "potency_ratio": 0.0362962962962963, + "skip_reason": "LT_FOLLOWERS" + }, + "somexshorty": { + "datetime": "2024-11-30 16:10:29.440271", + "followers": 269, + "followings": 188, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 2, + "biography": "", + "link_in_bio": null, + "fullname": "", + "potency_ratio": 1.4308510638297873, + "skip_reason": "NOT_ENOUGH_POSTS" + }, + "toferlop_": { + "datetime": "2024-11-30 16:10:53.859793", + "followers": 729, + "followings": 823, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": false, + "has_business_category": true, + "posts_count": 104, + "biography": "Encargos DM\nViva Murcia\ud83c\udf4b\ud83c\udf4b\nMaster UPV\n@tomasfdzz013\nBBAA UGR/UMU", + "link_in_bio": null, + "fullname": "\ud835\udce3\ud835\udcf8\ud835\udcf6\ud835\udcea\ud835\udcfc \ud835\udcd5\ud835\udcee\ud835\udcfb\ud835\udcf7\ud835\udcea\ud835\udcf7\ud835\udced\ud835\udcee\ud835\udd03 \ud835\udcdb\ud835\udcf8\ud835\udcf9\ud835\udcee\ud835\udd03 \ud83e\udd40", + "potency_ratio": 0.8857837181044957, + "skip_reason": null + }, + "bhuvan_vishkarma": { + "datetime": "2024-11-30 17:32:02.248261", + "followers": 0, + "followings": 6691, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "is_private": true, + "has_business_category": false, + "posts_count": 0, + "biography": "", + "link_in_bio": null, + "fullname": "Bhuvan vishkarma \ud83d\udda4", + "potency_ratio": 0.0, + "skip_reason": "LT_FOLLOWERS" + } +} \ No newline at end of file diff --git a/accounts/quecreate/interacted_users.json b/accounts/quecreate/interacted_users.json new file mode 100644 index 00000000..75439e1f --- /dev/null +++ b/accounts/quecreate/interacted_users.json @@ -0,0 +1,6456 @@ +{ + "spectra.vox": { + "last_interaction": "2024-11-24 21:23:11.654766", + "following_status": "none", + "session_id": "869bd18b-7b05-476e-87d8-f7f4352aba59", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "ashley_six6": { + "last_interaction": "2024-11-24 21:27:38.495484", + "following_status": "followed", + "session_id": "869bd18b-7b05-476e-87d8-f7f4352aba59", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 11, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "ketutatu0311": { + "last_interaction": "2024-11-24 21:39:56.561916", + "following_status": "followed", + "session_id": "f66da1b3-9220-41d5-8a20-b90a0e690b26", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "lia_popp": { + "last_interaction": "2024-11-24 21:51:57.341454", + "following_status": "none", + "session_id": "bb0882b6-5fa8-469c-aa94-4140dfb28645", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 3, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "tami_dapont": { + "last_interaction": "2024-11-24 21:55:03.146427", + "following_status": "none", + "session_id": "bb0882b6-5fa8-469c-aa94-4140dfb28645", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 6, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "upprecht": { + "last_interaction": "2024-11-24 22:04:54.683134", + "following_status": "none", + "session_id": "a916eea6-489a-4cde-a118-16bf2f84e879", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "eastweell": { + "last_interaction": "2024-11-24 22:11:58.744851", + "following_status": "none", + "session_id": "7b09aebe-8e4c-4c5e-bc9d-8c716cd20bdc", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "ofyu__": { + "last_interaction": "2024-11-24 22:16:16.186899", + "following_status": "none", + "session_id": "9e07563a-2bf3-4c26-bdee-407685d348e5", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "hlkjvfx": { + "last_interaction": "2024-11-24 22:23:12.258047", + "following_status": "followed", + "session_id": "4f1889be-40c9-4c92-8b5d-4544510d08d7", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "lahiru1k": { + "last_interaction": "2024-11-24 22:42:20.351143", + "following_status": "none", + "session_id": "eb937c3e-c381-4184-b3aa-dbfbda309816", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "not_realistic____": { + "last_interaction": "2024-11-24 22:48:22.699331", + "following_status": "none", + "session_id": "ca88cfea-e12b-473e-a149-d77a951d23b1", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "johnburndev": { + "last_interaction": "2024-11-24 22:49:48.182978", + "following_status": "none", + "session_id": "ca88cfea-e12b-473e-a149-d77a951d23b1", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "karandash3d": { + "last_interaction": "2024-11-24 22:50:27.630529", + "following_status": "none", + "session_id": "ca88cfea-e12b-473e-a149-d77a951d23b1", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "zm_veronica_": { + "last_interaction": "2024-11-24 22:50:45.316108", + "following_status": "none", + "session_id": "ca88cfea-e12b-473e-a149-d77a951d23b1", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "nikhsahs": { + "last_interaction": "2024-11-24 23:02:11.407317", + "following_status": "none", + "session_id": "71b4e612-90eb-48b3-a1a8-49aa24cfd3b9", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "sunflow.tv": { + "last_interaction": "2024-11-24 23:03:16.249607", + "following_status": "none", + "session_id": "71b4e612-90eb-48b3-a1a8-49aa24cfd3b9", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "lepetit_vfx": { + "last_interaction": "2024-11-24 23:04:30.705349", + "following_status": "followed", + "session_id": "71b4e612-90eb-48b3-a1a8-49aa24cfd3b9", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "stevens3d": { + "last_interaction": "2024-11-24 23:08:32.289642", + "following_status": "followed", + "session_id": "48c36537-81a4-4c39-a346-34ddda5bea6c", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "mjoart__": { + "last_interaction": "2024-11-24 23:13:47.066072", + "following_status": "none", + "session_id": "ef7ec21c-a7ea-4b02-a695-8d6cf0bf7f72", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "dve.mrlls": { + "last_interaction": "2024-11-24 23:22:21.829595", + "following_status": "none", + "session_id": "1dff417d-d079-449b-acc9-f2a51693bc40", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "09leonelfer": { + "last_interaction": "2024-11-24 23:30:05.173452", + "following_status": "none", + "session_id": "be7d00e8-faec-4487-953e-37989457111c", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "danielruiz_sz": { + "last_interaction": "2024-11-24 23:30:28.937788", + "following_status": "none", + "session_id": "be7d00e8-faec-4487-953e-37989457111c", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "cgicreators": { + "last_interaction": "2024-11-24 23:33:01.680380", + "following_status": "none", + "session_id": "20ff9c94-b85e-4bbb-bbcc-8b098b7ecb79", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "farid_nazifi": { + "last_interaction": "2024-11-24 23:33:47.657169", + "following_status": "none", + "session_id": "20ff9c94-b85e-4bbb-bbcc-8b098b7ecb79", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "jodalosan": { + "last_interaction": "2024-11-24 23:37:59.860908", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "lm.3ds": { + "last_interaction": "2024-11-24 23:40:10.930912", + "following_status": "followed", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "quecreate": { + "last_interaction": "2024-11-24 23:41:04.091603", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "thauume_3d": { + "last_interaction": "2024-11-24 23:42:46.139116", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "aley.abc": { + "last_interaction": "2024-11-24 23:43:04.217341", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "cor_cordis_d": { + "last_interaction": "2024-11-24 23:45:18.067330", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "victor.schroers": { + "last_interaction": "2024-11-24 23:46:32.694680", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "l_eechacha": { + "last_interaction": "2024-11-24 23:46:52.459989", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "eromodesign": { + "last_interaction": "2024-11-24 23:48:10.204638", + "following_status": "followed", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "saltviz": { + "last_interaction": "2024-11-24 23:50:16.458056", + "following_status": "followed", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "corvusvfx": { + "last_interaction": "2024-11-24 23:50:44.517031", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "yozee_akkaara": { + "last_interaction": "2024-11-24 23:51:04.824718", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "anisamrane_": { + "last_interaction": "2024-11-24 23:52:50.639829", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "noseaintown": { + "last_interaction": "2024-11-24 23:54:15.746580", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "samantharetratista": { + "last_interaction": "2024-11-24 23:54:32.420785", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "yunje_sin": { + "last_interaction": "2024-11-24 23:55:41.079417", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "sebastin.prakash.7": { + "last_interaction": "2024-11-24 23:57:13.304328", + "following_status": "followed", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "kush_human": { + "last_interaction": "2024-11-24 23:57:29.789851", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "helio.tron": { + "last_interaction": "2024-11-24 23:58:42.242644", + "following_status": "followed", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "stittacus": { + "last_interaction": "2024-11-24 23:59:30.663984", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "bbaymaxhiro": { + "last_interaction": "2024-11-25 00:00:36.018207", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "churchgreenvisuals": { + "last_interaction": "2024-11-25 00:01:27.701561", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "gospodkamilica": { + "last_interaction": "2024-11-25 00:02:49.820431", + "following_status": "followed", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "maiso_corvus_studios": { + "last_interaction": "2024-11-25 00:03:58.711652", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "clemunchkin": { + "last_interaction": "2024-11-25 00:05:57.280089", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "blvkcollective": { + "last_interaction": "2024-11-25 00:06:14.799535", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "xnicowlass": { + "last_interaction": "2024-11-25 00:08:09.213260", + "following_status": "followed", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "ruidaad": { + "last_interaction": "2024-11-25 00:09:43.514874", + "following_status": "followed", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "jonatasvfx": { + "last_interaction": "2024-11-25 00:11:01.275545", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "bedsagui": { + "last_interaction": "2024-11-25 00:11:19.325222", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "el_nasty_4": { + "last_interaction": "2024-11-25 00:11:33.130551", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "gylviaart": { + "last_interaction": "2024-11-25 00:13:17.753129", + "following_status": "followed", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "hyn.artt": { + "last_interaction": "2024-11-25 00:14:29.851500", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "cloudfield03": { + "last_interaction": "2024-11-25 00:15:38.293735", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 2, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "hooori_art": { + "last_interaction": "2024-11-25 00:16:24.642566", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "worm_motion": { + "last_interaction": "2024-11-25 00:17:29.811249", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "art_by_anett": { + "last_interaction": "2024-11-25 00:19:27.015559", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "melissaningozunden": { + "last_interaction": "2024-11-25 00:19:48.689619", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "oyteye.3d": { + "last_interaction": "2024-11-25 00:21:23.656085", + "following_status": "followed", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "liu_draws": { + "last_interaction": "2024-11-25 00:23:57.833271", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 2, + "watched": 2, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "nimaasadi": { + "last_interaction": "2024-11-25 00:26:06.518973", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "grafx_plug": { + "last_interaction": "2024-11-25 00:27:32.242754", + "following_status": "followed", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "mirelashyr_3d": { + "last_interaction": "2024-11-25 00:28:33.835227", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "spambo_3d": { + "last_interaction": "2024-11-25 00:30:17.997578", + "following_status": "followed", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "relax.calm.sleep.mesmerize": { + "last_interaction": "2024-11-25 00:32:35.202000", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "trentwinks": { + "last_interaction": "2024-11-25 00:33:02.666907", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "y.ana_d": { + "last_interaction": "2024-11-25 00:33:41.977073", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "gaiadigital_solutions": { + "last_interaction": "2024-11-25 00:35:57.323175", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "pooy_a7979": { + "last_interaction": "2024-11-25 00:36:17.852559", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "sissisissi71": { + "last_interaction": "2024-11-25 00:36:35.295261", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "freedomsillusion": { + "last_interaction": "2024-11-25 00:36:52.894797", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "cgfocusofficial": { + "last_interaction": "2024-11-25 00:38:18.687154", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "an_3d_art": { + "last_interaction": "2024-11-25 00:39:43.272108", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "yan.marchenko": { + "last_interaction": "2024-11-25 00:41:14.031083", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "jbrashfx": { + "last_interaction": "2024-11-25 00:42:37.078748", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "ayumi.art4": { + "last_interaction": "2024-11-25 00:42:53.594862", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "can.memisogullari": { + "last_interaction": "2024-11-25 00:43:47.888175", + "following_status": "followed", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "domerenico": { + "last_interaction": "2024-11-25 00:45:45.466199", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "__alkis_": { + "last_interaction": "2024-11-25 00:46:11.642563", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "s._m8_": { + "last_interaction": "2024-11-25 00:46:28.145630", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "egor.kohon": { + "last_interaction": "2024-11-25 00:47:18.016701", + "following_status": "followed", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "sim_tist": { + "last_interaction": "2024-11-25 00:48:54.525445", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "sariselka": { + "last_interaction": "2024-11-25 00:50:09.996445", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "lotuslily.ai": { + "last_interaction": "2024-11-25 00:52:09.799567", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "fantasycorejourney": { + "last_interaction": "2024-11-25 00:52:54.264375", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "elliotharris_xyz": { + "last_interaction": "2024-11-25 00:53:53.283573", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "randomframesarchive": { + "last_interaction": "2024-11-25 00:56:08.204062", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "carbon.code": { + "last_interaction": "2024-11-25 00:57:01.753480", + "following_status": "followed", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "marc_snbx": { + "last_interaction": "2024-11-25 00:57:20.555656", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "zoro980112": { + "last_interaction": "2024-11-25 00:57:38.842017", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "j.bertoglio3d": { + "last_interaction": "2024-11-25 00:58:47.679509", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "graffikszxix": { + "last_interaction": "2024-11-25 01:00:42.351360", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "aleksei_kosterin": { + "last_interaction": "2024-11-25 01:01:36.695933", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "evoix_": { + "last_interaction": "2024-11-25 01:05:35.684383", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "wadatamana": { + "last_interaction": "2024-11-25 01:05:57.926741", + "following_status": "none", + "session_id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "job_name": "blogger-followers", + "target": "evokedform", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "laderniereine": { + "last_interaction": "2024-11-25 05:55:04.154051", + "following_status": "none", + "session_id": "dcac875d-aaa9-4af8-96c9-6f13d4fe746b", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "mukhiyabechan510": { + "last_interaction": "2024-11-25 05:55:20.286180", + "following_status": "none", + "session_id": "dcac875d-aaa9-4af8-96c9-6f13d4fe746b", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "cardosojoaogabriel": { + "last_interaction": "2024-11-25 05:55:38.498306", + "following_status": "none", + "session_id": "dcac875d-aaa9-4af8-96c9-6f13d4fe746b", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "sat_hish5205": { + "last_interaction": "2024-11-25 05:55:58.085817", + "following_status": "none", + "session_id": "dcac875d-aaa9-4af8-96c9-6f13d4fe746b", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "sekidendefrancois": { + "last_interaction": "2024-11-25 05:56:47.628482", + "following_status": "followed", + "session_id": "dcac875d-aaa9-4af8-96c9-6f13d4fe746b", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "cebopog767": { + "last_interaction": "2024-11-25 05:57:32.773996", + "following_status": "followed", + "session_id": "dcac875d-aaa9-4af8-96c9-6f13d4fe746b", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "kabirkumar1510": { + "last_interaction": "2024-11-25 06:02:16.003017", + "following_status": "followed", + "session_id": "48769825-4859-4fcc-9cae-a6fd777026ca", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "la.rt.studio_dev": { + "last_interaction": "2024-11-25 06:19:43.996579", + "following_status": "none", + "session_id": "1b21b339-c26c-43ae-8165-6dab5e8f6361", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "doyeop.lee": { + "last_interaction": "2024-11-25 06:20:57.905401", + "following_status": "followed", + "session_id": "1b21b339-c26c-43ae-8165-6dab5e8f6361", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "luhwinnt": { + "last_interaction": "2024-11-26 01:17:03.531080", + "following_status": "none", + "session_id": "50866dee-e6ce-42d7-b400-cf392806e17e", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "yaroy.adav": { + "last_interaction": "2024-11-26 01:17:21.620015", + "following_status": "none", + "session_id": "50866dee-e6ce-42d7-b400-cf392806e17e", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "yujaa12": { + "last_interaction": "2024-11-26 01:19:20.405826", + "following_status": "none", + "session_id": "50866dee-e6ce-42d7-b400-cf392806e17e", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "blend.itsmooth": { + "last_interaction": "2024-11-26 01:19:40.117405", + "following_status": "none", + "session_id": "50866dee-e6ce-42d7-b400-cf392806e17e", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "eluvo.design": { + "last_interaction": "2024-11-26 01:20:03.655844", + "following_status": "none", + "session_id": "50866dee-e6ce-42d7-b400-cf392806e17e", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "gecko.3282598": { + "last_interaction": "2024-11-26 01:33:16.166898", + "following_status": "none", + "session_id": "4cd70e30-e2fc-4e87-9105-65290c8d5120", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "gallery0000hip": { + "last_interaction": "2024-11-26 01:34:43.203384", + "following_status": "followed", + "session_id": "4cd70e30-e2fc-4e87-9105-65290c8d5120", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "xanax_studios": { + "last_interaction": "2024-11-26 01:36:50.538161", + "following_status": "none", + "session_id": "4cd70e30-e2fc-4e87-9105-65290c8d5120", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "leblondhighmore": { + "last_interaction": "2024-11-26 02:03:50.770985", + "following_status": "none", + "session_id": "8a7e010e-b300-4e76-8f85-33de2a506cc1", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "andydz1": { + "last_interaction": "2024-11-26 02:11:45.290445", + "following_status": "none", + "session_id": "05a05bbe-78bb-4b76-a4b6-de42ef6a55c4", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "malbong_kang": { + "last_interaction": "2024-11-26 03:28:48.833417", + "following_status": "none", + "session_id": "91c2e5df-f441-4bf7-9f76-45e33306b9b4", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "_11eo_": { + "last_interaction": "2024-11-26 03:30:07.333493", + "following_status": "followed", + "session_id": "91c2e5df-f441-4bf7-9f76-45e33306b9b4", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "shahzain9878": { + "last_interaction": "2024-11-26 03:53:35.198996", + "following_status": "none", + "session_id": "370447b0-6daa-4553-a247-6c052b5cefe7", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "mido_2040": { + "last_interaction": "2024-11-26 03:53:51.966951", + "following_status": "none", + "session_id": "370447b0-6daa-4553-a247-6c052b5cefe7", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "jetblack665": { + "last_interaction": "2024-11-26 03:56:29.776042", + "following_status": "none", + "session_id": "f1619c2c-2da9-4703-995c-a6ddeae186c7", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "frank_square": { + "last_interaction": "2024-11-26 04:27:19.514148", + "following_status": "none", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 2, + "watched": 1, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "alx_zorba": { + "last_interaction": "2024-11-26 04:27:39.496395", + "following_status": "none", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "tanakasakamoto": { + "last_interaction": "2024-11-26 04:29:59.315187", + "following_status": "none", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "metaxlab": { + "last_interaction": "2024-11-26 04:31:05.645479", + "following_status": "none", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "3d_ebb": { + "last_interaction": "2024-11-26 04:34:27.336459", + "following_status": "none", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "onechaptermedia": { + "last_interaction": "2024-11-26 04:37:09.508225", + "following_status": "none", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "isa.designer.oficial": { + "last_interaction": "2024-11-26 04:39:04.492288", + "following_status": "followed", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "anakrender_07": { + "last_interaction": "2024-11-26 04:40:04.690113", + "following_status": "none", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "fekotorres": { + "last_interaction": "2024-11-26 04:40:22.512072", + "following_status": "none", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "wsj695863170": { + "last_interaction": "2024-11-26 04:41:51.699885", + "following_status": "followed", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "petru.pro": { + "last_interaction": "2024-11-26 04:42:52.804610", + "following_status": "none", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "bicofinoarte": { + "last_interaction": "2024-11-26 04:44:34.529192", + "following_status": "none", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "macmiszkiel": { + "last_interaction": "2024-11-26 04:46:50.820864", + "following_status": "none", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "3d_lekmi": { + "last_interaction": "2024-11-26 04:47:56.216152", + "following_status": "none", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "frame.zip": { + "last_interaction": "2024-11-26 04:49:10.140339", + "following_status": "none", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "hyunnwooo_": { + "last_interaction": "2024-11-26 04:49:25.896277", + "following_status": "none", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "rpdeverdade": { + "last_interaction": "2024-11-26 04:51:15.770238", + "following_status": "none", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "taka20121991": { + "last_interaction": "2024-11-26 04:53:32.795098", + "following_status": "followed", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "immahfx": { + "last_interaction": "2024-11-26 04:55:21.084883", + "following_status": "none", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "zonergb": { + "last_interaction": "2024-11-26 04:56:10.767956", + "following_status": "none", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "ali.fa_3d": { + "last_interaction": "2024-11-26 04:57:45.406184", + "following_status": "followed", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "alkhaledymohammad": { + "last_interaction": "2024-11-26 04:58:03.602488", + "following_status": "none", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "porouquette.art": { + "last_interaction": "2024-11-26 05:01:19.720219", + "following_status": "followed", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "anumahomeiza": { + "last_interaction": "2024-11-26 05:04:38.181595", + "following_status": "none", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "ja.meslee2465": { + "last_interaction": "2024-11-26 05:06:18.050319", + "following_status": "none", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "ofjrobj": { + "last_interaction": "2024-11-26 05:07:01.164775", + "following_status": "none", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "hoku.blend": { + "last_interaction": "2024-11-26 05:10:42.086229", + "following_status": "none", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "helga_3dartist": { + "last_interaction": "2024-11-26 05:12:44.324235", + "following_status": "none", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "hmdnqyb1": { + "last_interaction": "2024-11-26 05:13:54.167770", + "following_status": "followed", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "ant123_4d": { + "last_interaction": "2024-11-26 05:15:55.587550", + "following_status": "none", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "jemcastro_": { + "last_interaction": "2024-11-26 05:17:14.025711", + "following_status": "followed", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "oriman.motion": { + "last_interaction": "2024-11-26 05:18:09.112764", + "following_status": "followed", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "alley_cine": { + "last_interaction": "2024-11-26 05:18:30.908628", + "following_status": "none", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "xqdesign5": { + "last_interaction": "2024-11-26 05:18:47.093208", + "following_status": "none", + "session_id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "job_name": "blogger-followers", + "target": "reframe_studio_kr", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "shab81038": { + "last_interaction": "2024-11-26 08:12:40.011614", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "ohamedfjcvg": { + "last_interaction": "2024-11-26 08:12:57.966819", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "prodipmal9129": { + "last_interaction": "2024-11-26 08:13:12.833640", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "albaraalrazhi": { + "last_interaction": "2024-11-26 08:13:30.188578", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "josequintero1245": { + "last_interaction": "2024-11-26 08:13:47.171136", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "ja_swinder8306": { + "last_interaction": "2024-11-26 08:14:26.715931", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "juanandersd": { + "last_interaction": "2024-11-26 08:14:44.252556", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "asadnawaz07": { + "last_interaction": "2024-11-26 08:15:11.705878", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "pjgl7": { + "last_interaction": "2024-11-26 08:15:29.490031", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "_otush_10": { + "last_interaction": "2024-11-26 08:15:50.382876", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "jeancarlos13117": { + "last_interaction": "2024-11-26 08:16:10.451484", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "abraham.tec.xocaf": { + "last_interaction": "2024-11-26 08:16:29.591594", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "valdring77": { + "last_interaction": "2024-11-26 08:17:09.071918", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "ozcan19055656": { + "last_interaction": "2024-11-26 08:17:27.581132", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "ayraberde": { + "last_interaction": "2024-11-26 08:19:04.591571", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "01.784676987": { + "last_interaction": "2024-11-26 08:19:58.457499", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "tit_lis_world": { + "last_interaction": "2024-11-26 08:21:31.801518", + "following_status": "followed", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "jomselchicano": { + "last_interaction": "2024-11-26 08:21:48.561329", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "ridrokhan": { + "last_interaction": "2024-11-26 08:23:28.982190", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "pierredanha": { + "last_interaction": "2024-11-26 08:23:44.754350", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "_aegon_1999": { + "last_interaction": "2024-11-26 08:24:03.248837", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "meronshoh1717": { + "last_interaction": "2024-11-26 08:24:24.625870", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "secret_me_maybe_2": { + "last_interaction": "2024-11-26 08:24:47.122055", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "unknown__yar": { + "last_interaction": "2024-11-26 08:25:20.873856", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "lord_dojja": { + "last_interaction": "2024-11-26 08:25:38.092086", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "mehrdad_.sedigh": { + "last_interaction": "2024-11-26 08:25:53.334470", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "javadzo49": { + "last_interaction": "2024-11-26 08:26:09.526632", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "wolf12345666": { + "last_interaction": "2024-11-26 08:26:26.338139", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "gamesbolinha": { + "last_interaction": "2024-11-26 08:26:42.515395", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "behn.amesmi": { + "last_interaction": "2024-11-26 08:27:01.824408", + "following_status": "none", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "its__sarya1": { + "last_interaction": "2024-11-26 08:29:30.982665", + "following_status": "followed", + "session_id": "113bfdb8-2782-4413-a5a6-a91725de4da2", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 2, + "watched": 1, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "salam_daghash": { + "last_interaction": "2024-11-26 08:37:02.621028", + "following_status": "none", + "session_id": "e42e08f7-92e9-478c-b289-feb0a1e8339f", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "fevzigokdas4": { + "last_interaction": "2024-11-26 08:42:13.954256", + "following_status": "none", + "session_id": "98e20015-a7ac-47a8-a79d-985086a8dc1e", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "biswas8153": { + "last_interaction": "2024-11-26 08:43:55.933994", + "following_status": "followed", + "session_id": "98e20015-a7ac-47a8-a79d-985086a8dc1e", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "misbahuddin7727": { + "last_interaction": "2024-11-26 08:45:11.940324", + "following_status": "none", + "session_id": "98e20015-a7ac-47a8-a79d-985086a8dc1e", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "bwshnfhmdrd": { + "last_interaction": "2024-11-26 08:45:32.327273", + "following_status": "none", + "session_id": "98e20015-a7ac-47a8-a79d-985086a8dc1e", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "iran14ahwazzz": { + "last_interaction": "2024-11-26 08:45:51.266808", + "following_status": "none", + "session_id": "98e20015-a7ac-47a8-a79d-985086a8dc1e", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "ramazon99909": { + "last_interaction": "2024-11-26 08:46:40.453488", + "following_status": "followed", + "session_id": "98e20015-a7ac-47a8-a79d-985086a8dc1e", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "fonsecaatencio": { + "last_interaction": "2024-11-26 08:48:16.447963", + "following_status": "none", + "session_id": "98e20015-a7ac-47a8-a79d-985086a8dc1e", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "z_o_hid": { + "last_interaction": "2024-11-26 08:50:32.785961", + "following_status": "followed", + "session_id": "98e20015-a7ac-47a8-a79d-985086a8dc1e", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "patilgirish19": { + "last_interaction": "2024-11-26 08:51:12.213731", + "following_status": "none", + "session_id": "98e20015-a7ac-47a8-a79d-985086a8dc1e", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "sfyan789pk": { + "last_interaction": "2024-11-26 08:52:26.569231", + "following_status": "none", + "session_id": "98e20015-a7ac-47a8-a79d-985086a8dc1e", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "mohmd__alanzi": { + "last_interaction": "2024-11-26 08:52:56.372056", + "following_status": "none", + "session_id": "98e20015-a7ac-47a8-a79d-985086a8dc1e", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "maj.idashnagar": { + "last_interaction": "2024-11-26 08:53:16.885558", + "following_status": "none", + "session_id": "98e20015-a7ac-47a8-a79d-985086a8dc1e", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "learsirc13": { + "last_interaction": "2024-11-26 09:04:01.875607", + "following_status": "none", + "session_id": "53fa0e33-601a-4644-844a-1f2901b47663", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "b8izm": { + "last_interaction": "2024-11-26 10:38:06.708791", + "following_status": "none", + "session_id": "4edf4092-1fe3-4b9e-9a10-00474c3a54fe", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "juananderson122": { + "last_interaction": "2024-11-26 10:39:06.228130", + "following_status": "none", + "session_id": "4edf4092-1fe3-4b9e-9a10-00474c3a54fe", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "graziele_oliveira59": { + "last_interaction": "2024-11-26 10:39:26.902768", + "following_status": "none", + "session_id": "4edf4092-1fe3-4b9e-9a10-00474c3a54fe", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "erikdicemaster": { + "last_interaction": "2024-11-26 10:52:18.867382", + "following_status": "none", + "session_id": "49d64641-8fdc-43f6-ab24-51d800643654", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "rafaelib76": { + "last_interaction": "2024-11-26 10:52:37.085708", + "following_status": "none", + "session_id": "49d64641-8fdc-43f6-ab24-51d800643654", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "mila.no7360": { + "last_interaction": "2024-11-26 11:09:55.046507", + "following_status": "none", + "session_id": "f2bb4fbf-23b4-4566-957a-d12dfc7c57b6", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "elbsharim": { + "last_interaction": "2024-11-26 11:10:23.966588", + "following_status": "none", + "session_id": "f2bb4fbf-23b4-4566-957a-d12dfc7c57b6", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "chiraachi_": { + "last_interaction": "2024-11-26 11:12:33.181796", + "following_status": "none", + "session_id": "f2bb4fbf-23b4-4566-957a-d12dfc7c57b6", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "__abbasov__a": { + "last_interaction": "2024-11-26 11:13:51.774231", + "following_status": "none", + "session_id": "f2bb4fbf-23b4-4566-957a-d12dfc7c57b6", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "karan.77414": { + "last_interaction": "2024-11-26 11:14:09.561338", + "following_status": "none", + "session_id": "f2bb4fbf-23b4-4566-957a-d12dfc7c57b6", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "alikayapnr": { + "last_interaction": "2024-11-26 11:14:38.907824", + "following_status": "none", + "session_id": "f2bb4fbf-23b4-4566-957a-d12dfc7c57b6", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "edimarmourarj": { + "last_interaction": "2024-11-26 11:14:52.267471", + "following_status": "none", + "session_id": "f2bb4fbf-23b4-4566-957a-d12dfc7c57b6", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "mateullah__azimi": { + "last_interaction": "2024-11-26 11:15:10.524266", + "following_status": "none", + "session_id": "f2bb4fbf-23b4-4566-957a-d12dfc7c57b6", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "andresmoran2474": { + "last_interaction": "2024-11-26 11:15:29.175763", + "following_status": "none", + "session_id": "f2bb4fbf-23b4-4566-957a-d12dfc7c57b6", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "choudharywm": { + "last_interaction": "2024-11-26 11:16:12.723218", + "following_status": "none", + "session_id": "f2bb4fbf-23b4-4566-957a-d12dfc7c57b6", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "ahmeteliboluu": { + "last_interaction": "2024-11-26 11:38:33.232795", + "following_status": "none", + "session_id": "a4376381-116c-4bc2-9e4f-9c0e68d0c7cc", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "abujon0503": { + "last_interaction": "2024-11-26 11:38:58.354078", + "following_status": "none", + "session_id": "a4376381-116c-4bc2-9e4f-9c0e68d0c7cc", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "samyi9757": { + "last_interaction": "2024-11-26 11:40:20.535143", + "following_status": "none", + "session_id": "a4376381-116c-4bc2-9e4f-9c0e68d0c7cc", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "nuriddin0.r.2": { + "last_interaction": "2024-11-26 13:01:55.152921", + "following_status": "none", + "session_id": "f9840fdb-393b-4513-8e73-d9008bc23cc5", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "ok77ok777ok": { + "last_interaction": "2024-11-26 13:02:24.125543", + "following_status": "none", + "session_id": "f9840fdb-393b-4513-8e73-d9008bc23cc5", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "rayjean_gurung": { + "last_interaction": "2024-11-26 13:14:01.171314", + "following_status": "none", + "session_id": "b9a012e1-6e5f-4283-a440-6e52ad31be9c", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "amitbagdi615": { + "last_interaction": "2024-11-26 13:14:21.447887", + "following_status": "none", + "session_id": "b9a012e1-6e5f-4283-a440-6e52ad31be9c", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "refugiiromero": { + "last_interaction": "2024-11-26 13:49:23.909344", + "following_status": "none", + "session_id": "5f5fef86-e1c6-4530-b7e7-1c9fb35d5506", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "hugofelixmarquez": { + "last_interaction": "2024-11-26 14:20:57.294475", + "following_status": "none", + "session_id": "38a1bbdc-90a0-405f-86cd-0b0f1204fce0", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "abdu.llo3592": { + "last_interaction": "2024-11-26 14:29:07.209748", + "following_status": "none", + "session_id": "f925056c-b018-474c-8506-ae729b357416", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "ag.ent2442": { + "last_interaction": "2024-11-27 01:46:08.221458", + "following_status": "none", + "session_id": "0be655e1-4a25-4c2b-899f-8d39adcb8300", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "duh.its_tausif": { + "last_interaction": "2024-11-27 01:48:56.023404", + "following_status": "none", + "session_id": "a636e285-4fc4-4998-8a6b-664304b99797", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "dollycat1996": { + "last_interaction": "2024-11-27 02:17:38.611732", + "following_status": "none", + "session_id": "e0033ab3-d2b9-42f9-b9f0-4875ddb5802d", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "khaled_ail17193": { + "last_interaction": "2024-11-27 02:17:55.962792", + "following_status": "none", + "session_id": "e0033ab3-d2b9-42f9-b9f0-4875ddb5802d", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "alexux797": { + "last_interaction": "2024-11-27 02:22:36.360591", + "following_status": "none", + "session_id": "84bc9b36-2654-4975-86b1-e81a7de03c38", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "msaleem9479": { + "last_interaction": "2024-11-27 02:55:07.413491", + "following_status": "none", + "session_id": "dc3dbc9b-d0a8-4136-b28d-ac1c3ea275b5", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "santoshdas903": { + "last_interaction": "2024-11-27 03:13:27.621042", + "following_status": "none", + "session_id": "374cc446-26a7-4384-9bc9-2cfe92c92a92", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "muhsin7777": { + "last_interaction": "2024-11-27 03:16:07.983087", + "following_status": "none", + "session_id": "b8466424-6cd3-4ad7-981b-ca918bb6a1d6", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "12345za678": { + "last_interaction": "2024-11-27 03:16:24.794103", + "following_status": "none", + "session_id": "b8466424-6cd3-4ad7-981b-ca918bb6a1d6", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "m.lh22": { + "last_interaction": "2024-11-27 03:16:43.131464", + "following_status": "none", + "session_id": "b8466424-6cd3-4ad7-981b-ca918bb6a1d6", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "roket_thomas_09574": { + "last_interaction": "2024-11-27 03:17:03.109605", + "following_status": "none", + "session_id": "b8466424-6cd3-4ad7-981b-ca918bb6a1d6", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "abatmir5": { + "last_interaction": "2024-11-27 03:17:19.393370", + "following_status": "none", + "session_id": "b8466424-6cd3-4ad7-981b-ca918bb6a1d6", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "s.a.f.a.r_97": { + "last_interaction": "2024-11-27 03:21:14.946702", + "following_status": "none", + "session_id": "2605ad19-6d5b-4fb2-8187-67a62621117a", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "ferko230386": { + "last_interaction": "2024-11-27 13:45:26.460088", + "following_status": "none", + "session_id": "559ab42b-ef8e-4790-ad30-eec5c6c084f9", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "manzeeparkee": { + "last_interaction": "2024-11-27 13:45:44.389981", + "following_status": "none", + "session_id": "559ab42b-ef8e-4790-ad30-eec5c6c084f9", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "elsisy45": { + "last_interaction": "2024-11-27 13:46:00.024427", + "following_status": "none", + "session_id": "559ab42b-ef8e-4790-ad30-eec5c6c084f9", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "wolcof9999": { + "last_interaction": "2024-11-27 13:46:22.196716", + "following_status": "none", + "session_id": "559ab42b-ef8e-4790-ad30-eec5c6c084f9", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "dim.ple7516": { + "last_interaction": "2024-11-28 01:27:01.921262", + "following_status": "none", + "session_id": "7e662b0a-88a2-4558-a91a-6dc579e76601", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "k7.kev": { + "last_interaction": "2024-11-28 01:50:05.942499", + "following_status": "none", + "session_id": "bafea801-3141-4d9c-bc11-2683c13ffb63", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "nikakumar57": { + "last_interaction": "2024-11-28 01:50:27.103388", + "following_status": "none", + "session_id": "bafea801-3141-4d9c-bc11-2683c13ffb63", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "tello628": { + "last_interaction": "2024-11-28 02:44:04.065924", + "following_status": "none", + "session_id": "d42a65c4-a813-4c14-af0e-1f727b091e57", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "valerapovoroznik": { + "last_interaction": "2024-11-28 02:51:37.984054", + "following_status": "none", + "session_id": "912a538b-5b5f-43e7-8021-b709df7ccfef", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "shah1122325": { + "last_interaction": "2024-11-28 02:51:56.169768", + "following_status": "none", + "session_id": "912a538b-5b5f-43e7-8021-b709df7ccfef", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "aaditya_y26": { + "last_interaction": "2024-11-28 02:52:17.224184", + "following_status": "none", + "session_id": "912a538b-5b5f-43e7-8021-b709df7ccfef", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "a8585bdul2021": { + "last_interaction": "2024-11-28 02:52:36.397189", + "following_status": "none", + "session_id": "912a538b-5b5f-43e7-8021-b709df7ccfef", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "al3x.n9": { + "last_interaction": "2024-11-28 02:52:54.624904", + "following_status": "none", + "session_id": "912a538b-5b5f-43e7-8021-b709df7ccfef", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "peaky_fantomm": { + "last_interaction": "2024-11-28 03:06:05.171627", + "following_status": "none", + "session_id": "bb860697-b684-46b7-b3ab-02e024bd1b09", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "alwadymhmdahmdnman": { + "last_interaction": "2024-11-28 03:06:28.431992", + "following_status": "none", + "session_id": "bb860697-b684-46b7-b3ab-02e024bd1b09", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "shakerking23": { + "last_interaction": "2024-11-28 03:06:59.733902", + "following_status": "none", + "session_id": "bb860697-b684-46b7-b3ab-02e024bd1b09", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "sheikh_mohammad_jim_": { + "last_interaction": "2024-11-28 03:07:19.094571", + "following_status": "none", + "session_id": "bb860697-b684-46b7-b3ab-02e024bd1b09", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "good.oknot": { + "last_interaction": "2024-11-28 03:47:37.089878", + "following_status": "none", + "session_id": "3fedba16-4326-4d42-bd48-871f2694c0b7", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "el.301": { + "last_interaction": "2024-11-28 03:47:58.783515", + "following_status": "none", + "session_id": "3fedba16-4326-4d42-bd48-871f2694c0b7", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "aron_metzler_891": { + "last_interaction": "2024-11-28 03:48:35.607771", + "following_status": "none", + "session_id": "3fedba16-4326-4d42-bd48-871f2694c0b7", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "md.shahadat321": { + "last_interaction": "2024-11-28 04:10:50.259272", + "following_status": "none", + "session_id": "700b7062-aee8-46f5-ab0a-5856f3e7949b", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "ald777am": { + "last_interaction": "2024-11-28 04:14:09.327723", + "following_status": "none", + "session_id": "e16c378d-5cdc-4ac0-a884-f87457e42a39", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "official_jeeta33": { + "last_interaction": "2024-11-28 04:14:47.033097", + "following_status": "none", + "session_id": "e16c378d-5cdc-4ac0-a884-f87457e42a39", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "zarifzarif832": { + "last_interaction": "2024-11-28 04:15:17.866661", + "following_status": "none", + "session_id": "e16c378d-5cdc-4ac0-a884-f87457e42a39", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "cuba_av": { + "last_interaction": "2024-11-28 04:15:34.323096", + "following_status": "none", + "session_id": "e16c378d-5cdc-4ac0-a884-f87457e42a39", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "4.30oo": { + "last_interaction": "2024-11-28 04:26:54.452555", + "following_status": "none", + "session_id": "26ccff4f-796e-480a-b3ea-6adfc93f329d", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "shenoudaramzyk8": { + "last_interaction": "2024-11-28 04:41:40.937077", + "following_status": "none", + "session_id": "ce440bab-85cd-4d36-b53a-76ef41a3627e", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "csgomegatron": { + "last_interaction": "2024-11-28 04:42:17.804834", + "following_status": "none", + "session_id": "ce440bab-85cd-4d36-b53a-76ef41a3627e", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "gurjeetsingh3061977": { + "last_interaction": "2024-11-28 04:42:36.261301", + "following_status": "none", + "session_id": "ce440bab-85cd-4d36-b53a-76ef41a3627e", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "santanaernerto": { + "last_interaction": "2024-11-28 04:42:54.160435", + "following_status": "none", + "session_id": "ce440bab-85cd-4d36-b53a-76ef41a3627e", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "muha_mmedatteya": { + "last_interaction": "2024-11-28 10:56:18.616994", + "following_status": "none", + "session_id": "740e8126-7b0c-4055-a403-0aeea1bc65e0", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "everardodamiancer": { + "last_interaction": "2024-11-28 10:56:37.101238", + "following_status": "none", + "session_id": "740e8126-7b0c-4055-a403-0aeea1bc65e0", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "0mohamed_hashem0": { + "last_interaction": "2024-11-28 10:56:52.046663", + "following_status": "none", + "session_id": "740e8126-7b0c-4055-a403-0aeea1bc65e0", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "lx.ll.mmlll": { + "last_interaction": "2024-11-28 10:57:04.940694", + "following_status": "none", + "session_id": "740e8126-7b0c-4055-a403-0aeea1bc65e0", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "adna_nsami085208": { + "last_interaction": "2024-11-28 10:57:18.413373", + "following_status": "none", + "session_id": "740e8126-7b0c-4055-a403-0aeea1bc65e0", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "59yw_m": { + "last_interaction": "2024-11-28 11:04:41.290295", + "following_status": "none", + "session_id": "e6425f54-4ca4-4607-9195-dd48af9fbdcd", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "alikhan.9308": { + "last_interaction": "2024-11-28 11:11:12.389903", + "following_status": "none", + "session_id": "f6d5b89b-83b7-493b-aa0c-b25a36c9ce9b", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "sahil__kaushik_7": { + "last_interaction": "2024-11-28 11:14:57.998766", + "following_status": "none", + "session_id": "9a3a7278-f570-4c77-9ce4-8c5fcca90267", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "xzzzzzz.zzzzzzx": { + "last_interaction": "2024-11-28 11:15:14.518624", + "following_status": "none", + "session_id": "9a3a7278-f570-4c77-9ce4-8c5fcca90267", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "unbreakableenigma": { + "last_interaction": "2024-11-28 11:25:29.162692", + "following_status": "none", + "session_id": "44248647-e111-433d-b973-f121b6198bb8", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "maher_19p": { + "last_interaction": "2024-11-28 11:25:49.857471", + "following_status": "none", + "session_id": "44248647-e111-433d-b973-f121b6198bb8", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "avadakidavra0111": { + "last_interaction": "2024-11-28 11:32:23.764922", + "following_status": "none", + "session_id": "d636d704-7fec-484c-be6f-19de418972dc", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "olcaybas": { + "last_interaction": "2024-11-28 11:33:09.486761", + "following_status": "none", + "session_id": "d636d704-7fec-484c-be6f-19de418972dc", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "xdarklegion__": { + "last_interaction": "2024-11-28 11:33:29.340659", + "following_status": "none", + "session_id": "d636d704-7fec-484c-be6f-19de418972dc", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "pashamergei": { + "last_interaction": "2024-11-28 11:33:48.065628", + "following_status": "none", + "session_id": "d636d704-7fec-484c-be6f-19de418972dc", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "snadirshah.bukhari": { + "last_interaction": "2024-11-28 11:34:05.909552", + "following_status": "none", + "session_id": "d636d704-7fec-484c-be6f-19de418972dc", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "joyjoy_im": { + "last_interaction": "2024-11-28 11:34:22.411497", + "following_status": "none", + "session_id": "d636d704-7fec-484c-be6f-19de418972dc", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "qeggcbtrhrj": { + "last_interaction": "2024-11-28 11:34:53.887601", + "following_status": "none", + "session_id": "d636d704-7fec-484c-be6f-19de418972dc", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "asoev.m_04": { + "last_interaction": "2024-11-28 11:36:00.668552", + "following_status": "none", + "session_id": "d636d704-7fec-484c-be6f-19de418972dc", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "gulludada0001": { + "last_interaction": "2024-11-28 11:58:26.923127", + "following_status": "none", + "session_id": "1af52564-1bbb-4b91-873e-a06fe19a99e9", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "simran_kaur_1642": { + "last_interaction": "2024-11-28 11:59:00.776442", + "following_status": "none", + "session_id": "1af52564-1bbb-4b91-873e-a06fe19a99e9", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "drakon__1771": { + "last_interaction": "2024-11-28 11:59:39.507629", + "following_status": "none", + "session_id": "1af52564-1bbb-4b91-873e-a06fe19a99e9", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "yamnw_y": { + "last_interaction": "2024-11-28 12:02:29.711143", + "following_status": "none", + "session_id": "e89d86ce-b38f-4f1a-9676-0b69b70855a4", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "angelinaa_sb": { + "last_interaction": "2024-11-28 12:03:01.721035", + "following_status": "none", + "session_id": "e89d86ce-b38f-4f1a-9676-0b69b70855a4", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "arifsuhendar_19": { + "last_interaction": "2024-11-28 12:04:05.424760", + "following_status": "none", + "session_id": "e89d86ce-b38f-4f1a-9676-0b69b70855a4", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 1, + "watched": 1, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "rmprmprmp6": { + "last_interaction": "2024-11-28 12:04:22.180785", + "following_status": "none", + "session_id": "e89d86ce-b38f-4f1a-9676-0b69b70855a4", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "rin_0b2": { + "last_interaction": "2024-11-28 12:10:11.961420", + "following_status": "none", + "session_id": "4f204706-b34a-4f31-8614-e030236fe44e", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "imad_o_u_a_z_i_l_10": { + "last_interaction": "2024-11-28 12:10:38.230772", + "following_status": "none", + "session_id": "4f204706-b34a-4f31-8614-e030236fe44e", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "lana00lolo00": { + "last_interaction": "2024-11-28 12:10:55.755163", + "following_status": "none", + "session_id": "4f204706-b34a-4f31-8614-e030236fe44e", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "shxzd.design": { + "last_interaction": "2024-11-28 12:13:36.971092", + "following_status": "none", + "session_id": "4f204706-b34a-4f31-8614-e030236fe44e", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "anderson_satan_": { + "last_interaction": "2024-11-28 12:14:14.716486", + "following_status": "none", + "session_id": "4f204706-b34a-4f31-8614-e030236fe44e", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "zafarobodtjk__9797_1616": { + "last_interaction": "2024-11-28 12:14:34.982861", + "following_status": "none", + "session_id": "4f204706-b34a-4f31-8614-e030236fe44e", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "mew_new1": { + "last_interaction": "2024-11-28 12:50:10.147676", + "following_status": "none", + "session_id": "e0e9cc61-1464-436a-9ddb-e09edac87e7c", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "enriquecarbajal0": { + "last_interaction": "2024-11-28 12:50:31.361985", + "following_status": "none", + "session_id": "e0e9cc61-1464-436a-9ddb-e09edac87e7c", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "_tomeh.to": { + "last_interaction": "2024-11-28 12:51:04.567737", + "following_status": "none", + "session_id": "e0e9cc61-1464-436a-9ddb-e09edac87e7c", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "soff.garza0_": { + "last_interaction": "2024-11-28 12:56:38.045833", + "following_status": "none", + "session_id": "2d026cbb-0f7d-4baf-b1c4-990854e97c61", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "dheetaulad.789": { + "last_interaction": "2024-11-28 13:15:44.363454", + "following_status": "none", + "session_id": "ae93c08b-3414-48d1-ac5c-23aa1ee3adfc", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "leyyladincerr": { + "last_interaction": "2024-11-28 13:16:01.410404", + "following_status": "none", + "session_id": "ae93c08b-3414-48d1-ac5c-23aa1ee3adfc", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "_azik.o1": { + "last_interaction": "2024-11-28 13:16:22.420841", + "following_status": "none", + "session_id": "ae93c08b-3414-48d1-ac5c-23aa1ee3adfc", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "matteopaky12": { + "last_interaction": "2024-11-28 13:22:14.919779", + "following_status": "none", + "session_id": "e3925b1a-4972-424a-9a49-b62606bd9b8e", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "covaxinpedro": { + "last_interaction": "2024-11-28 13:22:49.182364", + "following_status": "none", + "session_id": "e3925b1a-4972-424a-9a49-b62606bd9b8e", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "b4a_511": { + "last_interaction": "2024-11-28 13:26:09.014030", + "following_status": "none", + "session_id": "7678c86b-23ca-4a68-ab35-508c3a880452", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "manuelmolina5055": { + "last_interaction": "2024-11-28 13:26:42.386972", + "following_status": "none", + "session_id": "7678c86b-23ca-4a68-ab35-508c3a880452", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "angel_mahnoor77": { + "last_interaction": "2024-11-28 13:37:51.073106", + "following_status": "none", + "session_id": "81e87d3e-76ff-457b-b465-2030df448e2d", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "ad.29_4": { + "last_interaction": "2024-11-28 13:50:10.114186", + "following_status": "none", + "session_id": "e7473990-91b8-4e03-bec7-ba3f1e1fc4ed", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "joseleon168": { + "last_interaction": "2024-11-28 14:01:41.519572", + "following_status": "none", + "session_id": "e957fd50-b49f-4672-8e31-7d0f3440ff3a", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "nouno_un27": { + "last_interaction": "2024-11-28 14:16:20.548953", + "following_status": "none", + "session_id": "a13e2f61-11d1-40bd-bdc8-1692ba997547", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "coldeyez12": { + "last_interaction": "2024-11-28 14:19:30.924067", + "following_status": "none", + "session_id": "ff5f5a6a-3c8b-4c74-8377-26b444fe88b5", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "mansurovabror1111": { + "last_interaction": "2024-11-28 14:20:06.286347", + "following_status": "none", + "session_id": "ff5f5a6a-3c8b-4c74-8377-26b444fe88b5", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "unitedstaas": { + "last_interaction": "2024-11-28 14:25:02.832980", + "following_status": "none", + "session_id": "e93ce3f2-f73e-4443-9871-30d8c87d86ec", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "misgiventhought": { + "last_interaction": "2024-11-28 14:25:20.771756", + "following_status": "none", + "session_id": "e93ce3f2-f73e-4443-9871-30d8c87d86ec", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "azizkbe": { + "last_interaction": "2024-11-28 14:25:38.279102", + "following_status": "none", + "session_id": "e93ce3f2-f73e-4443-9871-30d8c87d86ec", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "klkness": { + "last_interaction": "2024-11-28 14:29:53.227503", + "following_status": "none", + "session_id": "cbad21c8-ac0d-4045-bc37-eccec248e538", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "lineman30000000000": { + "last_interaction": "2024-11-28 14:30:33.450491", + "following_status": "none", + "session_id": "cbad21c8-ac0d-4045-bc37-eccec248e538", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "hadishka566": { + "last_interaction": "2024-11-28 14:31:01.912122", + "following_status": "none", + "session_id": "cbad21c8-ac0d-4045-bc37-eccec248e538", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "diegoemmanuelsilva": { + "last_interaction": "2024-11-28 14:31:19.095987", + "following_status": "none", + "session_id": "cbad21c8-ac0d-4045-bc37-eccec248e538", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "lazrus_lobo": { + "last_interaction": "2024-11-28 14:31:40.058587", + "following_status": "none", + "session_id": "cbad21c8-ac0d-4045-bc37-eccec248e538", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "erdelergela": { + "last_interaction": "2024-11-28 14:32:01.164786", + "following_status": "none", + "session_id": "cbad21c8-ac0d-4045-bc37-eccec248e538", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "1995mubasher": { + "last_interaction": "2024-11-28 14:33:29.565923", + "following_status": "none", + "session_id": "cbad21c8-ac0d-4045-bc37-eccec248e538", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "mundarainluismanuelgonzalez": { + "last_interaction": "2024-11-28 14:33:47.602595", + "following_status": "none", + "session_id": "cbad21c8-ac0d-4045-bc37-eccec248e538", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "rmohapatra8984": { + "last_interaction": "2024-11-28 14:34:07.287176", + "following_status": "none", + "session_id": "cbad21c8-ac0d-4045-bc37-eccec248e538", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "guillermoenriqueaguirre": { + "last_interaction": "2024-11-28 14:34:24.042346", + "following_status": "none", + "session_id": "cbad21c8-ac0d-4045-bc37-eccec248e538", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "bffl74": { + "last_interaction": "2024-11-29 01:14:00.217349", + "following_status": "none", + "session_id": "5aa4f30c-29df-4ebc-ac5b-603062563155", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "chris1990robinson": { + "last_interaction": "2024-11-29 01:22:17.674889", + "following_status": "none", + "session_id": "d9ac4156-9557-472e-9102-ae671b2016a3", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "esam96731": { + "last_interaction": "2024-11-29 01:22:34.485178", + "following_status": "none", + "session_id": "d9ac4156-9557-472e-9102-ae671b2016a3", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "oscar_burnes": { + "last_interaction": "2024-11-29 01:22:53.169241", + "following_status": "none", + "session_id": "d9ac4156-9557-472e-9102-ae671b2016a3", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "dario.vazquez.35175": { + "last_interaction": "2024-11-29 01:23:11.562295", + "following_status": "none", + "session_id": "d9ac4156-9557-472e-9102-ae671b2016a3", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "clashenero": { + "last_interaction": "2024-11-29 01:23:30.280040", + "following_status": "none", + "session_id": "d9ac4156-9557-472e-9102-ae671b2016a3", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "il.ya9982": { + "last_interaction": "2024-11-29 01:23:49.867068", + "following_status": "none", + "session_id": "d9ac4156-9557-472e-9102-ae671b2016a3", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "ashisnepal077": { + "last_interaction": "2024-11-29 01:24:18.902302", + "following_status": "none", + "session_id": "d9ac4156-9557-472e-9102-ae671b2016a3", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "thr_168___": { + "last_interaction": "2024-11-29 01:24:39.215478", + "following_status": "none", + "session_id": "d9ac4156-9557-472e-9102-ae671b2016a3", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "https_sad.0": { + "last_interaction": "2024-11-29 01:25:01.309653", + "following_status": "none", + "session_id": "d9ac4156-9557-472e-9102-ae671b2016a3", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "jc_hl19": { + "last_interaction": "2024-11-29 01:25:17.821043", + "following_status": "none", + "session_id": "d9ac4156-9557-472e-9102-ae671b2016a3", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "mm900900m": { + "last_interaction": "2024-11-29 01:25:37.251996", + "following_status": "none", + "session_id": "d9ac4156-9557-472e-9102-ae671b2016a3", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "jaas._09": { + "last_interaction": "2024-11-29 01:25:54.130724", + "following_status": "none", + "session_id": "d9ac4156-9557-472e-9102-ae671b2016a3", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "zyazikovabam": { + "last_interaction": "2024-11-29 01:26:11.865211", + "following_status": "none", + "session_id": "d9ac4156-9557-472e-9102-ae671b2016a3", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "armadillo.52639": { + "last_interaction": "2024-11-29 01:26:28.419104", + "following_status": "none", + "session_id": "d9ac4156-9557-472e-9102-ae671b2016a3", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "nigell.design.lab": { + "last_interaction": "2024-11-29 01:35:14.428085", + "following_status": "none", + "session_id": "f97b0eb8-edc4-4e3d-b901-c209bc4b24e1", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "newness________": { + "last_interaction": "2024-11-29 01:35:35.126873", + "following_status": "none", + "session_id": "f97b0eb8-edc4-4e3d-b901-c209bc4b24e1", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "bryn_pod": { + "last_interaction": "2024-11-29 01:35:49.750382", + "following_status": "none", + "session_id": "f97b0eb8-edc4-4e3d-b901-c209bc4b24e1", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "lorcan.archive": { + "last_interaction": "2024-11-29 01:36:59.577475", + "following_status": "none", + "session_id": "f97b0eb8-edc4-4e3d-b901-c209bc4b24e1", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "dixitasarchive": { + "last_interaction": "2024-11-29 01:37:19.659425", + "following_status": "none", + "session_id": "f97b0eb8-edc4-4e3d-b901-c209bc4b24e1", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "personal_day__": { + "last_interaction": "2024-11-29 01:37:38.042937", + "following_status": "none", + "session_id": "f97b0eb8-edc4-4e3d-b901-c209bc4b24e1", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "tovoii": { + "last_interaction": "2024-11-29 04:15:14.535622", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "simmakkaleem": { + "last_interaction": "2024-11-29 04:15:41.977432", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "prazdnakasa": { + "last_interaction": "2024-11-29 04:15:58.394997", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "pakreht": { + "last_interaction": "2024-11-29 04:16:18.006373", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "user732728d": { + "last_interaction": "2024-11-29 04:16:36.162738", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "heavydirtyday": { + "last_interaction": "2024-11-29 04:16:58.007056", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "_motiongrapher_": { + "last_interaction": "2024-11-29 04:17:14.447504", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "oivtat": { + "last_interaction": "2024-11-29 04:17:32.080260", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "ooook___789": { + "last_interaction": "2024-11-29 04:17:52.582925", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "sleepysergei": { + "last_interaction": "2024-11-29 04:18:20.388131", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "marcusw.design": { + "last_interaction": "2024-11-29 04:18:37.326619", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "design.research.only": { + "last_interaction": "2024-11-29 04:18:56.901639", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "designnerd1": { + "last_interaction": "2024-11-29 04:19:16.159676", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "danielwakemusic": { + "last_interaction": "2024-11-29 04:19:33.034273", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "motivomine": { + "last_interaction": "2024-11-29 04:19:52.079721", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "mmmmmmmeomory": { + "last_interaction": "2024-11-29 04:20:13.172033", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "xyzettgraphix_bfvk": { + "last_interaction": "2024-11-29 04:21:20.270741", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "weemeeuwkoenraad": { + "last_interaction": "2024-11-29 04:21:46.686131", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "sams0nis": { + "last_interaction": "2024-11-29 04:22:03.216941", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "blissfuldread": { + "last_interaction": "2024-11-29 04:22:24.935945", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "carmael_makanaloa": { + "last_interaction": "2024-11-29 04:22:43.200771", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "gioph_designs": { + "last_interaction": "2024-11-29 04:23:05.671580", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "artreyd": { + "last_interaction": "2024-11-29 04:23:29.419905", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "asad_graphic": { + "last_interaction": "2024-11-29 04:23:47.737344", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "neodigitalbr": { + "last_interaction": "2024-11-29 04:24:54.997350", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "usethriv": { + "last_interaction": "2024-11-29 04:26:12.644470", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "claudiatua.0v0": { + "last_interaction": "2024-11-29 04:26:30.515366", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "karlijndh": { + "last_interaction": "2024-11-29 04:26:47.312550", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "gonepix": { + "last_interaction": "2024-11-29 04:27:07.499566", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "slimreaper7_35": { + "last_interaction": "2024-11-29 04:27:25.079255", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "studio_sourire": { + "last_interaction": "2024-11-29 04:27:43.640937", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "tomododesignandart": { + "last_interaction": "2024-11-29 04:29:43.123514", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 6, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "axellle_adr": { + "last_interaction": "2024-11-29 04:30:53.138518", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "rychee_studio": { + "last_interaction": "2024-11-29 04:32:11.077540", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "audoreaudio": { + "last_interaction": "2024-11-29 04:33:46.369085", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "rehabassem_ag": { + "last_interaction": "2024-11-29 04:34:03.935418", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "iris_orbis": { + "last_interaction": "2024-11-29 04:34:19.027766", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "wingsvn": { + "last_interaction": "2024-11-29 04:34:38.707799", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "jeejung_gabin": { + "last_interaction": "2024-11-29 04:35:39.949182", + "following_status": "followed", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "dxin.official": { + "last_interaction": "2024-11-29 04:36:06.309844", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "heshuangjiang1120": { + "last_interaction": "2024-11-29 04:36:23.595212", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "iam_lifeflow2019": { + "last_interaction": "2024-11-29 04:36:42.534180", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "jtqtianqi": { + "last_interaction": "2024-11-29 04:37:08.389130", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "lunch_box_notes": { + "last_interaction": "2024-11-29 04:37:27.800189", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "jiyere2b": { + "last_interaction": "2024-11-29 04:37:48.410145", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "sammeske": { + "last_interaction": "2024-11-29 04:38:40.692782", + "following_status": "followed", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "m.s.a236": { + "last_interaction": "2024-11-29 04:39:51.399687", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "zhouhaiyiii": { + "last_interaction": "2024-11-29 04:40:07.397360", + "following_status": "none", + "session_id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "osm_dsgnr": { + "last_interaction": "2024-11-30 05:29:31.655816", + "following_status": "none", + "session_id": "a81ee4f1-f543-40fe-a1bd-4e8b2876f6af", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "rafiki7474": { + "last_interaction": "2024-11-30 05:29:55.629498", + "following_status": "none", + "session_id": "a81ee4f1-f543-40fe-a1bd-4e8b2876f6af", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "loathful_fdor": { + "last_interaction": "2024-11-30 05:30:33.225155", + "following_status": "none", + "session_id": "a81ee4f1-f543-40fe-a1bd-4e8b2876f6af", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "cavalry_playground": { + "last_interaction": "2024-11-30 05:31:00.512065", + "following_status": "none", + "session_id": "a81ee4f1-f543-40fe-a1bd-4e8b2876f6af", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "gabomarin_designer": { + "last_interaction": "2024-11-30 05:31:19.063799", + "following_status": "none", + "session_id": "a81ee4f1-f543-40fe-a1bd-4e8b2876f6af", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "ddrckdsgn": { + "last_interaction": "2024-11-30 05:37:10.223739", + "following_status": "none", + "session_id": "483a8999-4603-459f-8889-8ec5e3590eec", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "northbryan": { + "last_interaction": "2024-11-30 05:47:55.874085", + "following_status": "followed", + "session_id": "ea789850-929c-4a26-9eb6-048ec32260bb", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "tonymolino": { + "last_interaction": "2024-11-30 05:48:25.719899", + "following_status": "none", + "session_id": "ea789850-929c-4a26-9eb6-048ec32260bb", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "y2knght": { + "last_interaction": "2024-11-30 05:49:04.946475", + "following_status": "none", + "session_id": "ea789850-929c-4a26-9eb6-048ec32260bb", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "jakub_bukowski": { + "last_interaction": "2024-11-30 05:49:26.740244", + "following_status": "none", + "session_id": "ea789850-929c-4a26-9eb6-048ec32260bb", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "furkanadiguzel15": { + "last_interaction": "2024-11-30 13:34:25.011929", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "iwannhs.ferro": { + "last_interaction": "2024-11-30 13:35:10.674958", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "king_ofwaters": { + "last_interaction": "2024-11-30 13:35:24.969608", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "erkunzhao": { + "last_interaction": "2024-11-30 13:36:17.343586", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "arafatmiraaz": { + "last_interaction": "2024-11-30 13:36:49.286679", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "lennimation": { + "last_interaction": "2024-11-30 13:37:05.000973", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "creatid.d": { + "last_interaction": "2024-11-30 13:37:21.350423", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "77artndesign": { + "last_interaction": "2024-11-30 13:37:39.478455", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "379_pages": { + "last_interaction": "2024-11-30 13:37:55.272418", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "emotionworks": { + "last_interaction": "2024-11-30 13:38:22.311561", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "celestinekf0qbe8": { + "last_interaction": "2024-11-30 13:38:42.804845", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "albertoroller": { + "last_interaction": "2024-11-30 13:38:59.413993", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "ka.tadaa": { + "last_interaction": "2024-11-30 13:40:15.289710", + "following_status": "followed", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "kuangxiao118": { + "last_interaction": "2024-11-30 13:40:45.076932", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "mryangbin": { + "last_interaction": "2024-11-30 13:41:03.391680", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "katjastrophal__": { + "last_interaction": "2024-11-30 13:41:18.777357", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "ryan.6338": { + "last_interaction": "2024-11-30 13:41:36.471475", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "___chaithu______7": { + "last_interaction": "2024-11-30 13:41:52.267674", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "nosunity": { + "last_interaction": "2024-11-30 13:44:34.037498", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "art_and_cigars": { + "last_interaction": "2024-11-30 13:45:38.448891", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "jarzyna.artur": { + "last_interaction": "2024-11-30 13:45:56.166697", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "bl9ckst8r": { + "last_interaction": "2024-11-30 13:46:16.136523", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "myace.jpg": { + "last_interaction": "2024-11-30 13:47:33.473676", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "xcxdan": { + "last_interaction": "2024-11-30 13:48:02.157948", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "chiefphilosophernight": { + "last_interaction": "2024-11-30 13:48:18.311361", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "oleksandrzymnytskyi": { + "last_interaction": "2024-11-30 13:48:35.796595", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "melicorbeat": { + "last_interaction": "2024-11-30 13:48:50.584725", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "tomomicreates": { + "last_interaction": "2024-11-30 13:49:08.250194", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "kado_zurek": { + "last_interaction": "2024-11-30 13:49:59.461761", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "vjolhonegro": { + "last_interaction": "2024-11-30 13:50:56.861845", + "following_status": "followed", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "sophia_leyva": { + "last_interaction": "2024-11-30 13:51:14.485977", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "rodfons": { + "last_interaction": "2024-11-30 13:52:40.957658", + "following_status": "followed", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "adrian_ciszek": { + "last_interaction": "2024-11-30 13:53:45.723224", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "_david_lexl_": { + "last_interaction": "2024-11-30 13:54:00.716772", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "mysticmegan": { + "last_interaction": "2024-11-30 13:55:51.182383", + "following_status": "followed", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "__siqus": { + "last_interaction": "2024-11-30 13:56:10.639908", + "following_status": "none", + "session_id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "kelevra0815": { + "last_interaction": "2024-11-30 15:10:33.204742", + "following_status": "none", + "session_id": "a4e6be9c-5f8c-41f9-8f69-152410dabf93", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "jochebread": { + "last_interaction": "2024-11-30 15:12:55.249966", + "following_status": "none", + "session_id": "a4e6be9c-5f8c-41f9-8f69-152410dabf93", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "d0nut.eth": { + "last_interaction": "2024-11-30 15:14:43.590005", + "following_status": "none", + "session_id": "a4e6be9c-5f8c-41f9-8f69-152410dabf93", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "erek_alvgard": { + "last_interaction": "2024-11-30 15:15:36.383938", + "following_status": "none", + "session_id": "a4e6be9c-5f8c-41f9-8f69-152410dabf93", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "irfanul_gani": { + "last_interaction": "2024-11-30 15:25:53.806858", + "following_status": "none", + "session_id": "5cf9c3f2-deb8-4c78-bc4a-a9a0dfaa7d92", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "symbolone": { + "last_interaction": "2024-11-30 16:03:14.230635", + "following_status": "none", + "session_id": "72a0c469-6d8c-4876-a424-d85e242b2d29", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "ms.sheinman": { + "last_interaction": "2024-11-30 16:05:08.828998", + "following_status": "none", + "session_id": "72a0c469-6d8c-4876-a424-d85e242b2d29", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 2, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "joe_walkling": { + "last_interaction": "2024-11-30 16:07:27.225043", + "following_status": "none", + "session_id": "72a0c469-6d8c-4876-a424-d85e242b2d29", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "alberto.gen_": { + "last_interaction": "2024-11-30 16:08:31.223378", + "following_status": "none", + "session_id": "72a0c469-6d8c-4876-a424-d85e242b2d29", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "richie.hoffmann": { + "last_interaction": "2024-11-30 16:09:30.235869", + "following_status": "followed", + "session_id": "72a0c469-6d8c-4876-a424-d85e242b2d29", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 1, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "fatemematbouriahi": { + "last_interaction": "2024-11-30 16:09:47.404373", + "following_status": "none", + "session_id": "72a0c469-6d8c-4876-a424-d85e242b2d29", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "aelmgren": { + "last_interaction": "2024-11-30 16:10:04.640897", + "following_status": "none", + "session_id": "72a0c469-6d8c-4876-a424-d85e242b2d29", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "somexshorty": { + "last_interaction": "2024-11-30 16:10:31.258212", + "following_status": "none", + "session_id": "72a0c469-6d8c-4876-a424-d85e242b2d29", + "job_name": "blogger-followers", + "target": "mnaumanndesign", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + }, + "bhuvan_vishkarma": { + "last_interaction": "2024-11-30 17:32:04.096317", + "following_status": "none", + "session_id": "959fef80-1bda-40d2-8fef-c185206ce7dc", + "job_name": "blogger-followers", + "target": "ledianaprengaa", + "liked": 0, + "watched": 0, + "commented": 0, + "followed": false, + "unfollowed": false, + "scraped": false, + "pm_sent": false + } +} \ No newline at end of file diff --git a/accounts/quecreate/nocodb.yml b/accounts/quecreate/nocodb.yml new file mode 100644 index 00000000..33c73d22 --- /dev/null +++ b/accounts/quecreate/nocodb.yml @@ -0,0 +1,88 @@ +api_token: 7OMZj5iGvec2wVvT4iBWFctjJwluUsyAu-OgPQ8r +base_id: pvazjom12m1ho5k +base_url: http://192.168.50.114:8080 +table_schemas: + interacted_users: + table_name: interacted_users + title: Interacted Users + columns: + - column_name: User Id + title: User Id + uidt: SingleLineText + dt: varchar + - column_name: Username + title: Username + uidt: SingleLineText + dt: varchar + - column_name: Full Name + title: Full Name + uidt: SingleLineText + dt: varchar + - column_name: Profile URL + title: Profile URL + uidt: SingleLineText + dt: varchar + - column_name: Interaction Type + title: Interaction Type + uidt: SingleLineText + dt: varchar + - column_name: Success + title: Success + uidt: Checkbox + dt: boolean + - column_name: Timestamp + title: Timestamp + uidt: DateTime + dt: datetime + - column_name: Session ID + title: Session ID + uidt: SingleLineText + dt: varchar + - column_name: Job Name + title: Job Name + uidt: SingleLineText + dt: varchar + - column_name: Target + title: Target + uidt: SingleLineText + dt: varchar + - column_name: Session Start Time + title: Session Start Time + uidt: DateTime + dt: datetime + - column_name: Session End Time + title: Session End Time + uidt: DateTime + dt: datetime + history_filters_users: + table_name: history_filters_users + title: History Filters Users + columns: + - column_name: User Id + title: User Id + uidt: SingleLineText + dt: varchar + - column_name: Username + title: Username + uidt: SingleLineText + dt: varchar + - column_name: Filtered At + title: Filtered At + uidt: DateTime + dt: datetime + - column_name: Filter Type + title: Filter Type + uidt: SingleLineText + dt: varchar + - column_name: Session ID + title: Session ID + uidt: SingleLineText + dt: varchar + - column_name: Session Start Time + title: Session Start Time + uidt: DateTime + dt: datetime + - column_name: Session End Time + title: Session End Time + uidt: DateTime + dt: datetime diff --git a/accounts/quecreate/pm_list.txt b/accounts/quecreate/pm_list.txt new file mode 100644 index 00000000..21f118e6 --- /dev/null +++ b/accounts/quecreate/pm_list.txt @@ -0,0 +1,4 @@ +private message 1 +private message 2 +... +private message n \ No newline at end of file diff --git a/accounts/quecreate/sessions.json b/accounts/quecreate/sessions.json new file mode 100644 index 00000000..bcfa1411 --- /dev/null +++ b/accounts/quecreate/sessions.json @@ -0,0 +1,2714 @@ +[ + { + "id": "947d918e-b446-43d3-801f-2f48bb0700d7", + "total_interactions": 0, + "successful_interactions": 0, + "total_followed": 0, + "total_likes": 0, + "total_comments": 0, + "total_pm": 0, + "total_watched": 0, + "total_unfollowed": 0, + "total_scraped": {}, + "start_time": "2024-11-24 19:19:29.302287", + "finish_time": "None", + "args": { + "config": "accounts/quecreate/config.yml", + "unfollow": "10-20", + "unfollow_non_followers": "10-20", + "unfollow_any_non_followers": "10-20", + "unfollow_any_followers": "10-20", + "unfollow_any": "10-20", + "min_following": "100", + "sort_followers_newest_to_oldest": false, + "unfollow_delay": "15", + "app_id": "com.instagram.android", + "use_cloned_app": false, + "device": null, + "username": "quecreate", + "likes_count": "1-2", + "likes_percentage": "100", + "total_likes_limit": "120-150", + "total_follows_limit": "40-50", + "total_unfollows_limit": "40-50", + "total_watches_limit": "120-150", + "total_successful_interactions_limit": "120-150", + "total_interactions_limit": "280-300", + "stories_count": "1-2", + "stories_percentage": "30-40", + "carousel_count": "2-3", + "carousel_percentage": "60-70", + "watch_video_time": "15-35", + "watch_photo_time": "3-4", + "interactions_count": "2", + "interact_percentage": "30-40", + "can_reinteract_after": null, + "repeat": null, + "follow_percentage": "30-40", + "follow_limit": "50", + "skipped_list_limit": "10-15", + "fling_when_skipped": "0", + "speed_multiplier": "1", + "screen_sleep": true, + "debug": true, + "screen_record": false, + "close_apps": false, + "kill_atx_agent": false, + "restart_atx_agent": false, + "interact": null, + "hashtag_likers": null, + "delete_interacted_users": true, + "scrape_to_file": null, + "total_scraped_limit": "100-150", + "comment_percentage": "0", + "total_comments_limit": "3-5", + "pm_percentage": "0", + "total_pm_limit": "3-5", + "max_comments_pro_user": "1-2", + "end_if_likes_limit_reached": true, + "end_if_follows_limit_reached": false, + "end_if_watches_limit_reached": false, + "end_if_comments_limit_reached": false, + "end_if_pm_limit_reached": false, + "truncate_sources": "2-5", + "shuffle_jobs": true, + "working_hours": [ + "00.00-23.59" + ], + "time_delta": "0", + "disable_filters": false, + "total_crashes_limit": "5", + "count_app_crashes": false, + "skipped_posts_limit": "5", + "uia_version": 2, + "total_sessions": -1, + "disable_block_detection": true, + "pre_script": null, + "post_script": null, + "move_folders_in_accounts": false, + "dont_type": false, + "allow_untested_ig_version": false, + "analytics": false, + "blogger": [ + "username1", + "username2" + ], + "interact_from_file": [ + "usernames1.txt 10-15", + "usernames2.txt 3" + ], + "unfollow_from_file": [ + "usernames1.txt 7-15", + "usernames2.txt 6" + ], + "blogger_followers": [ + "davidszauder" + ], + "blogger_following": [ + "username1", + "username2" + ], + "blogger_post_likers": [ + "username1", + "username2" + ], + "blogger_post_limits": 0, + "feed": "2-5", + "hashtag_likers_top": [ + "hashtag1", + "hashtag2" + ], + "hashtag_likers_recent": [ + "hashtag1", + "hashtag2" + ], + "hashtag_posts_recent": [ + "motiongraphics", + "c4d", + "3dart", + "motiondesign", + "animation", + "cgi", + "3danimation", + "mograph", + "octane", + "redshift", + "sidefx", + "houdini", + "proceduralart" + ], + "hashtag_posts_top": [ + "hashtag1", + "hashtag2" + ], + "place_likers_top": [ + "place1", + "place2" + ], + "place_likers_recent": [ + "place1", + "place2" + ], + "place_posts_recent": [ + "place1", + "place2" + ], + "place_posts_top": [ + "place1", + "place2" + ], + "posts_from_file": [ + "posts.txt" + ], + "enable_nocodb": true, + "remove_followers_from_file": [ + "remove1.txt 5-10", + "remove2.txt 6" + ], + "delete_removed_followers": true, + "telegram_reports": false, + "time_delta_session": 2, + "current_likes_limit": 129, + "current_follow_limit": 41, + "current_unfollow_limit": 46, + "current_comments_limit": 5, + "current_pm_limit": 5, + "current_watch_limit": 128, + "current_success_limit": 143, + "current_total_limit": 283, + "current_scraped_limit": 123, + "current_crashes_limit": 5 + }, + "profile": { + "posts": 2, + "followers": 0, + "following": 3 + } + }, + { + "id": "e52410a2-6083-49cf-891b-7dd6c610e6d7", + "total_interactions": 0, + "successful_interactions": 0, + "total_followed": 0, + "total_likes": 1, + "total_comments": 0, + "total_pm": 0, + "total_watched": 0, + "total_unfollowed": 0, + "total_scraped": {}, + "start_time": "2024-11-24 20:31:30.858922", + "finish_time": "None", + "args": { + "config": "accounts/quecreate/config.yml", + "unfollow": "10-20", + "unfollow_non_followers": "10-20", + "unfollow_any_non_followers": "10-20", + "unfollow_any_followers": "10-20", + "unfollow_any": "10-20", + "min_following": "10", + "sort_followers_newest_to_oldest": false, + "unfollow_delay": "15", + "app_id": "com.instagram.android", + "use_cloned_app": false, + "device": null, + "username": "quecreate", + "likes_count": "10-20", + "likes_percentage": "100", + "total_likes_limit": "120-150", + "total_follows_limit": "40-50", + "total_unfollows_limit": "40-50", + "total_watches_limit": "120-150", + "total_successful_interactions_limit": "120-150", + "total_interactions_limit": "280-300", + "stories_count": "10-20", + "stories_percentage": "30-40", + "carousel_count": "20-30", + "carousel_percentage": "60-70", + "watch_video_time": "15-35", + "watch_photo_time": "3-4", + "interactions_count": "2", + "interact_percentage": "30-40", + "can_reinteract_after": null, + "repeat": null, + "follow_percentage": "30-40", + "follow_limit": "50", + "skipped_list_limit": "10-15", + "fling_when_skipped": "0", + "speed_multiplier": "1", + "screen_sleep": true, + "debug": true, + "screen_record": false, + "close_apps": false, + "kill_atx_agent": false, + "restart_atx_agent": false, + "interact": null, + "hashtag_likers": null, + "delete_interacted_users": true, + "scrape_to_file": null, + "total_scraped_limit": "100-150", + "comment_percentage": "0", + "total_comments_limit": "3-50", + "pm_percentage": "0", + "total_pm_limit": "3-5", + "max_comments_pro_user": "1-2", + "end_if_likes_limit_reached": false, + "end_if_follows_limit_reached": false, + "end_if_watches_limit_reached": false, + "end_if_comments_limit_reached": false, + "end_if_pm_limit_reached": false, + "truncate_sources": "2-5", + "shuffle_jobs": true, + "working_hours": [ + "00.00-23.59" + ], + "time_delta": "0", + "disable_filters": false, + "total_crashes_limit": "5", + "count_app_crashes": false, + "skipped_posts_limit": "5", + "uia_version": 2, + "total_sessions": -1, + "disable_block_detection": true, + "pre_script": null, + "post_script": null, + "move_folders_in_accounts": false, + "dont_type": false, + "allow_untested_ig_version": false, + "analytics": false, + "blogger": null, + "interact_from_file": null, + "unfollow_from_file": [ + "usernames1.txt 7-15", + "usernames2.txt 6" + ], + "blogger_followers": [ + "davidszauder" + ], + "blogger_following": null, + "blogger_post_likers": null, + "blogger_post_limits": 0, + "feed": "2-5", + "hashtag_likers_top": null, + "hashtag_likers_recent": null, + "hashtag_posts_recent": null, + "hashtag_posts_top": null, + "place_likers_top": null, + "place_likers_recent": null, + "place_posts_recent": null, + "place_posts_top": null, + "posts_from_file": null, + "enable_nocodb": true, + "remove_followers_from_file": [ + "remove1.txt 5-10", + "remove2.txt 6" + ], + "delete_removed_followers": true, + "telegram_reports": false, + "time_delta_session": 23, + "current_likes_limit": 143, + "current_follow_limit": 41, + "current_unfollow_limit": 43, + "current_comments_limit": 28, + "current_pm_limit": 5, + "current_watch_limit": 142, + "current_success_limit": 146, + "current_total_limit": 289, + "current_scraped_limit": 112, + "current_crashes_limit": 5 + }, + "profile": { + "posts": 2, + "followers": 0, + "following": 5 + } + }, + { + "id": "bb0882b6-5fa8-469c-aa94-4140dfb28645", + "total_interactions": 2, + "successful_interactions": 1, + "total_followed": 0, + "total_likes": 11, + "total_comments": 0, + "total_pm": 0, + "total_watched": 0, + "total_unfollowed": 0, + "total_scraped": { + "evokedform": 0 + }, + "start_time": "2024-11-24 21:48:56.870987", + "finish_time": "None", + "args": { + "config": "accounts/quecreate/config.yml", + "unfollow": null, + "unfollow_non_followers": null, + "unfollow_any_non_followers": null, + "unfollow_any_followers": null, + "unfollow_any": null, + "min_following": "10", + "sort_followers_newest_to_oldest": false, + "unfollow_delay": "0", + "app_id": "com.instagram.android", + "use_cloned_app": false, + "device": null, + "username": "quecreate", + "likes_count": "10-20", + "likes_percentage": "100", + "total_likes_limit": "120-150", + "total_follows_limit": "40-50", + "total_unfollows_limit": "40-50", + "total_watches_limit": "120-150", + "total_successful_interactions_limit": "120-150", + "total_interactions_limit": "280-300", + "stories_count": "10-20", + "stories_percentage": "30-40", + "carousel_count": "20-30", + "carousel_percentage": "60-70", + "watch_video_time": "15-35", + "watch_photo_time": "3-4", + "interactions_count": "300-400", + "interact_percentage": "30-40", + "can_reinteract_after": null, + "repeat": null, + "follow_percentage": "30-40", + "follow_limit": "50", + "skipped_list_limit": "10-15", + "fling_when_skipped": "0", + "speed_multiplier": "1", + "screen_sleep": true, + "debug": true, + "screen_record": false, + "close_apps": false, + "kill_atx_agent": false, + "restart_atx_agent": false, + "interact": null, + "hashtag_likers": null, + "delete_interacted_users": true, + "scrape_to_file": null, + "total_scraped_limit": "100-150", + "comment_percentage": "0", + "total_comments_limit": "3-50", + "pm_percentage": "0", + "total_pm_limit": "3-5", + "max_comments_pro_user": "1-2", + "end_if_likes_limit_reached": false, + "end_if_follows_limit_reached": false, + "end_if_watches_limit_reached": false, + "end_if_comments_limit_reached": false, + "end_if_pm_limit_reached": false, + "truncate_sources": "2-5", + "shuffle_jobs": true, + "working_hours": [ + "00.00-23.59" + ], + "time_delta": "0", + "disable_filters": false, + "total_crashes_limit": "5", + "count_app_crashes": false, + "skipped_posts_limit": "5", + "uia_version": 2, + "total_sessions": -1, + "disable_block_detection": true, + "pre_script": null, + "post_script": null, + "move_folders_in_accounts": false, + "dont_type": false, + "allow_untested_ig_version": false, + "analytics": false, + "blogger": null, + "interact_from_file": null, + "unfollow_from_file": null, + "blogger_followers": [ + "evokedform" + ], + "blogger_following": null, + "blogger_post_likers": null, + "blogger_post_limits": 0, + "feed": null, + "hashtag_likers_top": null, + "hashtag_likers_recent": null, + "hashtag_posts_recent": null, + "hashtag_posts_top": null, + "place_likers_top": null, + "place_likers_recent": null, + "place_posts_recent": null, + "place_posts_top": null, + "posts_from_file": null, + "enable_nocodb": true, + "remove_followers_from_file": null, + "delete_removed_followers": false, + "telegram_reports": false, + "time_delta_session": 7, + "current_likes_limit": 149, + "current_follow_limit": 43, + "current_unfollow_limit": 46, + "current_comments_limit": 32, + "current_pm_limit": 3, + "current_watch_limit": 148, + "current_success_limit": 144, + "current_total_limit": 299, + "current_scraped_limit": 130, + "current_crashes_limit": 5 + }, + "profile": { + "posts": 2, + "followers": 0, + "following": 11 + } + }, + { + "id": "c339173a-bfd0-43c1-871d-722c9ffb56ad", + "total_interactions": 0, + "successful_interactions": 0, + "total_followed": 0, + "total_likes": 1, + "total_comments": 0, + "total_pm": 0, + "total_watched": 0, + "total_unfollowed": 0, + "total_scraped": {}, + "start_time": "2024-11-24 22:55:02.543348", + "finish_time": "None", + "args": { + "config": "accounts/quecreate/config.yml", + "unfollow": null, + "unfollow_non_followers": null, + "unfollow_any_non_followers": null, + "unfollow_any_followers": null, + "unfollow_any": null, + "min_following": "10", + "sort_followers_newest_to_oldest": false, + "unfollow_delay": "0", + "app_id": "com.instagram.android", + "use_cloned_app": false, + "device": null, + "username": "quecreate", + "likes_count": "1-2", + "likes_percentage": "100", + "total_likes_limit": "120-150", + "total_follows_limit": "40-50", + "total_unfollows_limit": "40-50", + "total_watches_limit": "120-150", + "total_successful_interactions_limit": "120-150", + "total_interactions_limit": "280-300", + "stories_count": "10-20", + "stories_percentage": "30-40", + "carousel_count": "20-30", + "carousel_percentage": "60-70", + "watch_video_time": "15-35", + "watch_photo_time": "3-4", + "interactions_count": "300-400", + "interact_percentage": "30-40", + "can_reinteract_after": null, + "repeat": null, + "follow_percentage": "30-40", + "follow_limit": "50", + "skipped_list_limit": "10-15", + "fling_when_skipped": "0", + "speed_multiplier": "1", + "screen_sleep": true, + "debug": true, + "screen_record": false, + "close_apps": false, + "kill_atx_agent": false, + "restart_atx_agent": false, + "interact": null, + "hashtag_likers": null, + "delete_interacted_users": true, + "scrape_to_file": null, + "total_scraped_limit": "100-150", + "comment_percentage": "0", + "total_comments_limit": "3-50", + "pm_percentage": "0", + "total_pm_limit": "3-5", + "max_comments_pro_user": "1-2", + "end_if_likes_limit_reached": false, + "end_if_follows_limit_reached": false, + "end_if_watches_limit_reached": false, + "end_if_comments_limit_reached": false, + "end_if_pm_limit_reached": false, + "truncate_sources": "2-5", + "shuffle_jobs": true, + "working_hours": [ + "00.00-23.59" + ], + "time_delta": "0", + "disable_filters": false, + "total_crashes_limit": "5", + "count_app_crashes": false, + "skipped_posts_limit": "5", + "uia_version": 2, + "total_sessions": -1, + "disable_block_detection": true, + "pre_script": null, + "post_script": null, + "move_folders_in_accounts": false, + "dont_type": false, + "allow_untested_ig_version": false, + "analytics": false, + "blogger": null, + "interact_from_file": null, + "unfollow_from_file": null, + "blogger_followers": [ + "evokedform" + ], + "blogger_following": null, + "blogger_post_likers": null, + "blogger_post_limits": 0, + "feed": null, + "hashtag_likers_top": null, + "hashtag_likers_recent": null, + "hashtag_posts_recent": null, + "hashtag_posts_top": null, + "place_likers_top": null, + "place_likers_recent": null, + "place_posts_recent": null, + "place_posts_top": null, + "posts_from_file": null, + "enable_nocodb": true, + "remove_followers_from_file": null, + "delete_removed_followers": false, + "telegram_reports": false, + "time_delta_session": 59, + "current_likes_limit": 139, + "current_follow_limit": 48, + "current_unfollow_limit": 41, + "current_comments_limit": 44, + "current_pm_limit": 5, + "current_watch_limit": 122, + "current_success_limit": 137, + "current_total_limit": 284, + "current_scraped_limit": 119, + "current_crashes_limit": 5 + }, + "profile": { + "posts": 2, + "followers": 0, + "following": 12 + } + }, + { + "id": "ec919a07-33b3-4d7e-8c9c-d642ca43df1b", + "total_interactions": 75, + "successful_interactions": 50, + "total_followed": 15, + "total_likes": 70, + "total_comments": 0, + "total_pm": 0, + "total_watched": 4, + "total_unfollowed": 0, + "total_scraped": { + "evokedform": 0 + }, + "start_time": "2024-11-24 23:36:26.964634", + "finish_time": "2024-11-25 01:07:19.141575", + "args": { + "config": "accounts/quecreate/config.yml", + "unfollow": null, + "unfollow_non_followers": null, + "unfollow_any_non_followers": null, + "unfollow_any_followers": null, + "unfollow_any": null, + "min_following": "10", + "sort_followers_newest_to_oldest": false, + "unfollow_delay": "0", + "app_id": "com.instagram.android", + "use_cloned_app": false, + "device": null, + "username": "quecreate", + "likes_count": "1-2", + "likes_percentage": "100", + "total_likes_limit": "120-150", + "total_follows_limit": "40-50", + "total_unfollows_limit": "40-50", + "total_watches_limit": "120-150", + "total_successful_interactions_limit": "120-150", + "total_interactions_limit": "280-300", + "stories_count": "10-20", + "stories_percentage": "30-40", + "carousel_count": "20-30", + "carousel_percentage": "60-70", + "watch_video_time": "15-35", + "watch_photo_time": "3-4", + "interactions_count": "300-400", + "interact_percentage": "30-40", + "can_reinteract_after": null, + "repeat": null, + "follow_percentage": "30-40", + "follow_limit": "50", + "skipped_list_limit": "10-15", + "fling_when_skipped": "0", + "speed_multiplier": "1", + "screen_sleep": true, + "debug": true, + "screen_record": false, + "close_apps": false, + "kill_atx_agent": false, + "restart_atx_agent": false, + "interact": null, + "hashtag_likers": null, + "delete_interacted_users": true, + "scrape_to_file": null, + "total_scraped_limit": "100-150", + "comment_percentage": "0", + "total_comments_limit": "3-50", + "pm_percentage": "0", + "total_pm_limit": "3-5", + "max_comments_pro_user": "1-2", + "end_if_likes_limit_reached": false, + "end_if_follows_limit_reached": false, + "end_if_watches_limit_reached": false, + "end_if_comments_limit_reached": false, + "end_if_pm_limit_reached": false, + "truncate_sources": "2-5", + "shuffle_jobs": true, + "working_hours": [ + "00.00-23.59" + ], + "time_delta": "0", + "disable_filters": false, + "total_crashes_limit": "5", + "count_app_crashes": false, + "skipped_posts_limit": "5", + "uia_version": 2, + "total_sessions": -1, + "disable_block_detection": true, + "pre_script": null, + "post_script": null, + "move_folders_in_accounts": false, + "dont_type": false, + "allow_untested_ig_version": false, + "analytics": false, + "blogger": null, + "interact_from_file": null, + "unfollow_from_file": null, + "blogger_followers": [ + "evokedform" + ], + "blogger_following": null, + "blogger_post_likers": null, + "blogger_post_limits": 0, + "feed": null, + "hashtag_likers_top": null, + "hashtag_likers_recent": null, + "hashtag_posts_recent": null, + "hashtag_posts_top": null, + "place_likers_top": null, + "place_likers_recent": null, + "place_posts_recent": null, + "place_posts_top": null, + "posts_from_file": null, + "enable_nocodb": true, + "remove_followers_from_file": null, + "delete_removed_followers": false, + "telegram_reports": false, + "time_delta_session": 29, + "current_likes_limit": 138, + "current_follow_limit": 47, + "current_unfollow_limit": 47, + "current_comments_limit": 33, + "current_pm_limit": 5, + "current_watch_limit": 148, + "current_success_limit": 122, + "current_total_limit": 285, + "current_scraped_limit": 145, + "current_crashes_limit": 5 + }, + "profile": { + "posts": 2, + "followers": 0, + "following": 15 + } + }, + { + "id": "e1797c6c-a560-4b09-800a-748edb0f1486", + "total_interactions": 34, + "successful_interactions": 23, + "total_followed": 8, + "total_likes": 37, + "total_comments": 0, + "total_pm": 0, + "total_watched": 1, + "total_unfollowed": 0, + "total_scraped": { + "reframe_studio_kr": 0 + }, + "start_time": "2024-11-26 04:24:24.099278", + "finish_time": "2024-11-26 05:20:09.326924", + "args": { + "config": "accounts/quecreate/config.yml", + "unfollow": null, + "unfollow_non_followers": null, + "unfollow_any_non_followers": null, + "unfollow_any_followers": null, + "unfollow_any": null, + "min_following": "10", + "sort_followers_newest_to_oldest": false, + "unfollow_delay": "0", + "app_id": "com.instagram.android", + "use_cloned_app": false, + "device": null, + "username": "quecreate", + "likes_count": "1-2", + "likes_percentage": "100", + "total_likes_limit": "120-150", + "total_follows_limit": "40-50", + "total_unfollows_limit": "40-50", + "total_watches_limit": "120-150", + "total_successful_interactions_limit": "120-150", + "total_interactions_limit": "280-300", + "stories_count": "10-20", + "stories_percentage": "30-40", + "carousel_count": "20-30", + "carousel_percentage": "60-70", + "watch_video_time": "15-35", + "watch_photo_time": "3-4", + "interactions_count": "300-400", + "interact_percentage": "30-40", + "can_reinteract_after": null, + "repeat": null, + "follow_percentage": "30-40", + "follow_limit": "50", + "skipped_list_limit": "10-15", + "fling_when_skipped": "0", + "speed_multiplier": "1", + "screen_sleep": true, + "debug": true, + "screen_record": false, + "close_apps": false, + "kill_atx_agent": false, + "restart_atx_agent": false, + "interact": null, + "hashtag_likers": null, + "delete_interacted_users": true, + "scrape_to_file": null, + "total_scraped_limit": "100-150", + "comment_percentage": "0", + "total_comments_limit": "3-50", + "pm_percentage": "0", + "total_pm_limit": "3-5", + "max_comments_pro_user": "1-2", + "end_if_likes_limit_reached": false, + "end_if_follows_limit_reached": false, + "end_if_watches_limit_reached": false, + "end_if_comments_limit_reached": false, + "end_if_pm_limit_reached": false, + "truncate_sources": "2-5", + "shuffle_jobs": true, + "working_hours": [ + "00.00-23.59" + ], + "time_delta": "0", + "disable_filters": false, + "total_crashes_limit": "5", + "count_app_crashes": false, + "skipped_posts_limit": "5", + "uia_version": 2, + "total_sessions": -1, + "disable_block_detection": true, + "pre_script": null, + "post_script": null, + "move_folders_in_accounts": false, + "dont_type": false, + "allow_untested_ig_version": false, + "analytics": false, + "blogger": null, + "interact_from_file": null, + "unfollow_from_file": null, + "blogger_followers": [ + "reframe_studio_kr" + ], + "blogger_following": null, + "blogger_post_likers": null, + "blogger_post_limits": 0, + "feed": null, + "hashtag_likers_top": null, + "hashtag_likers_recent": null, + "hashtag_posts_recent": null, + "hashtag_posts_top": null, + "place_likers_top": null, + "place_likers_recent": null, + "place_posts_recent": null, + "place_posts_top": null, + "posts_from_file": null, + "enable_nocodb": true, + "remove_followers_from_file": null, + "delete_removed_followers": false, + "telegram_reports": false, + "time_delta_session": 24, + "current_likes_limit": 136, + "current_follow_limit": 42, + "current_unfollow_limit": 46, + "current_comments_limit": 4, + "current_pm_limit": 4, + "current_watch_limit": 149, + "current_success_limit": 121, + "current_total_limit": 281, + "current_scraped_limit": 125, + "current_crashes_limit": 5 + }, + "profile": { + "posts": 2, + "followers": 0, + "following": 36 + } + }, + { + "id": "e430935d-cd51-41c0-a122-81f8844b0dfd", + "total_interactions": 0, + "successful_interactions": 0, + "total_followed": 0, + "total_likes": 0, + "total_comments": 0, + "total_pm": 0, + "total_watched": 0, + "total_unfollowed": 0, + "total_scraped": {}, + "start_time": "2024-11-27 13:55:12.138644", + "finish_time": "None", + "args": { + "config": "accounts/quecreate/config.yml", + "unfollow": null, + "unfollow_non_followers": null, + "unfollow_any_non_followers": null, + "unfollow_any_followers": null, + "unfollow_any": null, + "min_following": "10", + "sort_followers_newest_to_oldest": false, + "unfollow_delay": "0", + "app_id": "com.instagram.android", + "use_cloned_app": false, + "device": null, + "username": "quecreate", + "likes_count": "1-2", + "likes_percentage": "100", + "total_likes_limit": "120-150", + "total_follows_limit": "40-50", + "total_unfollows_limit": "40-50", + "total_watches_limit": "120-150", + "total_successful_interactions_limit": "120-150", + "total_interactions_limit": "280-300", + "stories_count": "10-20", + "stories_percentage": "30-40", + "carousel_count": "20-30", + "carousel_percentage": "60-70", + "watch_video_time": "15-35", + "watch_photo_time": "3-4", + "interactions_count": "300-400", + "interact_percentage": "30-40", + "can_reinteract_after": null, + "repeat": null, + "follow_percentage": "30-40", + "follow_limit": "50", + "skipped_list_limit": "10-15", + "fling_when_skipped": "0", + "speed_multiplier": "1", + "screen_sleep": true, + "debug": true, + "screen_record": false, + "close_apps": false, + "kill_atx_agent": false, + "restart_atx_agent": false, + "interact": null, + "hashtag_likers": null, + "delete_interacted_users": true, + "scrape_to_file": null, + "total_scraped_limit": "100-150", + "comment_percentage": "0", + "total_comments_limit": "3-50", + "pm_percentage": "0", + "total_pm_limit": "3-5", + "max_comments_pro_user": "1-2", + "end_if_likes_limit_reached": false, + "end_if_follows_limit_reached": false, + "end_if_watches_limit_reached": false, + "end_if_comments_limit_reached": false, + "end_if_pm_limit_reached": false, + "truncate_sources": "2-5", + "shuffle_jobs": true, + "working_hours": [ + "00.00-23.59" + ], + "time_delta": "0", + "disable_filters": false, + "total_crashes_limit": "5", + "count_app_crashes": false, + "skipped_posts_limit": "5", + "uia_version": 2, + "total_sessions": -1, + "disable_block_detection": true, + "pre_script": null, + "post_script": null, + "move_folders_in_accounts": false, + "dont_type": false, + "allow_untested_ig_version": false, + "analytics": false, + "init_db": true, + "blogger": null, + "interact_from_file": null, + "unfollow_from_file": null, + "blogger_followers": [ + "ledianaprengaa" + ], + "blogger_following": null, + "blogger_post_likers": null, + "blogger_post_limits": 0, + "feed": null, + "hashtag_likers_top": null, + "hashtag_likers_recent": null, + "hashtag_posts_recent": null, + "hashtag_posts_top": null, + "place_likers_top": null, + "place_likers_recent": null, + "place_posts_recent": null, + "place_posts_top": null, + "posts_from_file": null, + "use_nocodb": true, + "remove_followers_from_file": null, + "delete_removed_followers": false, + "telegram_reports": false, + "time_delta_session": 3, + "current_likes_limit": 135, + "current_follow_limit": 48, + "current_unfollow_limit": 44, + "current_comments_limit": 5, + "current_pm_limit": 4, + "current_watch_limit": 128, + "current_success_limit": 126, + "current_total_limit": 291, + "current_scraped_limit": 106, + "current_crashes_limit": 5 + }, + "profile": { + "posts": 2, + "followers": 0, + "following": 49 + } + }, + { + "id": "ec6f5fb1-9708-45b9-9f2e-90a852024fe7", + "total_interactions": 0, + "successful_interactions": 0, + "total_followed": 0, + "total_likes": 0, + "total_comments": 0, + "total_pm": 0, + "total_watched": 0, + "total_unfollowed": 0, + "total_scraped": {}, + "start_time": "2024-11-27 13:59:46.063837", + "finish_time": "None", + "args": { + "config": "accounts/quecreate/config.yml", + "unfollow": null, + "unfollow_non_followers": null, + "unfollow_any_non_followers": null, + "unfollow_any_followers": null, + "unfollow_any": null, + "min_following": "10", + "sort_followers_newest_to_oldest": false, + "unfollow_delay": "0", + "app_id": "com.instagram.android", + "use_cloned_app": false, + "device": null, + "username": "quecreate", + "likes_count": "1-2", + "likes_percentage": "100", + "total_likes_limit": "120-150", + "total_follows_limit": "40-50", + "total_unfollows_limit": "40-50", + "total_watches_limit": "120-150", + "total_successful_interactions_limit": "120-150", + "total_interactions_limit": "280-300", + "stories_count": "10-20", + "stories_percentage": "30-40", + "carousel_count": "20-30", + "carousel_percentage": "60-70", + "watch_video_time": "15-35", + "watch_photo_time": "3-4", + "interactions_count": "300-400", + "interact_percentage": "30-40", + "can_reinteract_after": null, + "repeat": null, + "follow_percentage": "30-40", + "follow_limit": "50", + "skipped_list_limit": "10-15", + "fling_when_skipped": "0", + "speed_multiplier": "1", + "screen_sleep": true, + "debug": true, + "screen_record": false, + "close_apps": false, + "kill_atx_agent": false, + "restart_atx_agent": false, + "interact": null, + "hashtag_likers": null, + "delete_interacted_users": true, + "scrape_to_file": null, + "total_scraped_limit": "100-150", + "comment_percentage": "0", + "total_comments_limit": "3-50", + "pm_percentage": "0", + "total_pm_limit": "3-5", + "max_comments_pro_user": "1-2", + "end_if_likes_limit_reached": false, + "end_if_follows_limit_reached": false, + "end_if_watches_limit_reached": false, + "end_if_comments_limit_reached": false, + "end_if_pm_limit_reached": false, + "truncate_sources": "2-5", + "shuffle_jobs": true, + "working_hours": [ + "00.00-23.59" + ], + "time_delta": "0", + "disable_filters": false, + "total_crashes_limit": "5", + "count_app_crashes": false, + "skipped_posts_limit": "5", + "uia_version": 2, + "total_sessions": -1, + "disable_block_detection": true, + "pre_script": null, + "post_script": null, + "move_folders_in_accounts": false, + "dont_type": false, + "allow_untested_ig_version": false, + "analytics": false, + "init_db": true, + "blogger": null, + "interact_from_file": null, + "unfollow_from_file": null, + "blogger_followers": [ + "ledianaprengaa" + ], + "blogger_following": null, + "blogger_post_likers": null, + "blogger_post_limits": 0, + "feed": null, + "hashtag_likers_top": null, + "hashtag_likers_recent": null, + "hashtag_posts_recent": null, + "hashtag_posts_top": null, + "place_likers_top": null, + "place_likers_recent": null, + "place_posts_recent": null, + "place_posts_top": null, + "posts_from_file": null, + "use_nocodb": true, + "remove_followers_from_file": null, + "delete_removed_followers": false, + "telegram_reports": false, + "time_delta_session": 47, + "current_likes_limit": 144, + "current_follow_limit": 44, + "current_unfollow_limit": 42, + "current_comments_limit": 15, + "current_pm_limit": 3, + "current_watch_limit": 123, + "current_success_limit": 145, + "current_total_limit": 296, + "current_scraped_limit": 147, + "current_crashes_limit": 5 + }, + "profile": { + "posts": 2, + "followers": 1, + "following": 48 + } + }, + { + "id": "42f87740-dcf8-4b4b-8abf-35477f20e29c", + "total_interactions": 0, + "successful_interactions": 0, + "total_followed": 0, + "total_likes": 0, + "total_comments": 0, + "total_pm": 0, + "total_watched": 0, + "total_unfollowed": 0, + "total_scraped": {}, + "start_time": "2024-11-27 14:03:01.779717", + "finish_time": "None", + "args": { + "config": "accounts/quecreate/config.yml", + "unfollow": null, + "unfollow_non_followers": null, + "unfollow_any_non_followers": null, + "unfollow_any_followers": null, + "unfollow_any": null, + "min_following": "10", + "sort_followers_newest_to_oldest": false, + "unfollow_delay": "0", + "app_id": "com.instagram.android", + "use_cloned_app": false, + "device": null, + "username": "quecreate", + "likes_count": "1-2", + "likes_percentage": "100", + "total_likes_limit": "120-150", + "total_follows_limit": "40-50", + "total_unfollows_limit": "40-50", + "total_watches_limit": "120-150", + "total_successful_interactions_limit": "120-150", + "total_interactions_limit": "280-300", + "stories_count": "10-20", + "stories_percentage": "30-40", + "carousel_count": "20-30", + "carousel_percentage": "60-70", + "watch_video_time": "15-35", + "watch_photo_time": "3-4", + "interactions_count": "300-400", + "interact_percentage": "30-40", + "can_reinteract_after": null, + "repeat": null, + "follow_percentage": "30-40", + "follow_limit": "50", + "skipped_list_limit": "10-15", + "fling_when_skipped": "0", + "speed_multiplier": "1", + "screen_sleep": true, + "debug": true, + "screen_record": false, + "close_apps": false, + "kill_atx_agent": false, + "restart_atx_agent": false, + "interact": null, + "hashtag_likers": null, + "delete_interacted_users": true, + "scrape_to_file": null, + "total_scraped_limit": "100-150", + "comment_percentage": "0", + "total_comments_limit": "3-50", + "pm_percentage": "0", + "total_pm_limit": "3-5", + "max_comments_pro_user": "1-2", + "end_if_likes_limit_reached": false, + "end_if_follows_limit_reached": false, + "end_if_watches_limit_reached": false, + "end_if_comments_limit_reached": false, + "end_if_pm_limit_reached": false, + "truncate_sources": "2-5", + "shuffle_jobs": true, + "working_hours": [ + "00.00-23.59" + ], + "time_delta": "0", + "disable_filters": false, + "total_crashes_limit": "5", + "count_app_crashes": false, + "skipped_posts_limit": "5", + "uia_version": 2, + "total_sessions": -1, + "disable_block_detection": true, + "pre_script": null, + "post_script": null, + "move_folders_in_accounts": false, + "dont_type": false, + "allow_untested_ig_version": false, + "analytics": false, + "init_db": true, + "blogger": null, + "interact_from_file": null, + "unfollow_from_file": null, + "blogger_followers": [ + "ledianaprengaa" + ], + "blogger_following": null, + "blogger_post_likers": null, + "blogger_post_limits": 0, + "feed": null, + "hashtag_likers_top": null, + "hashtag_likers_recent": null, + "hashtag_posts_recent": null, + "hashtag_posts_top": null, + "place_likers_top": null, + "place_likers_recent": null, + "place_posts_recent": null, + "place_posts_top": null, + "posts_from_file": null, + "use_nocodb": true, + "remove_followers_from_file": null, + "delete_removed_followers": false, + "telegram_reports": false, + "time_delta_session": 23, + "current_likes_limit": 139, + "current_follow_limit": 40, + "current_unfollow_limit": 49, + "current_comments_limit": 21, + "current_pm_limit": 5, + "current_watch_limit": 143, + "current_success_limit": 131, + "current_total_limit": 280, + "current_scraped_limit": 120, + "current_crashes_limit": 5 + }, + "profile": { + "posts": 2, + "followers": 1, + "following": 48 + } + }, + { + "id": "a399bc0a-1c0f-4e6e-abca-f2abb6eee7d4", + "total_interactions": 0, + "successful_interactions": 0, + "total_followed": 0, + "total_likes": 0, + "total_comments": 0, + "total_pm": 0, + "total_watched": 0, + "total_unfollowed": 0, + "total_scraped": {}, + "start_time": "2024-11-27 14:11:22.189601", + "finish_time": "None", + "args": { + "config": "accounts/quecreate/config.yml", + "unfollow": null, + "unfollow_non_followers": null, + "unfollow_any_non_followers": null, + "unfollow_any_followers": null, + "unfollow_any": null, + "min_following": "10", + "sort_followers_newest_to_oldest": false, + "unfollow_delay": "0", + "app_id": "com.instagram.android", + "use_cloned_app": false, + "device": null, + "username": "quecreate", + "likes_count": "1-2", + "likes_percentage": "100", + "total_likes_limit": "120-150", + "total_follows_limit": "40-50", + "total_unfollows_limit": "40-50", + "total_watches_limit": "120-150", + "total_successful_interactions_limit": "120-150", + "total_interactions_limit": "280-300", + "stories_count": "10-20", + "stories_percentage": "30-40", + "carousel_count": "20-30", + "carousel_percentage": "60-70", + "watch_video_time": "15-35", + "watch_photo_time": "3-4", + "interactions_count": "300-400", + "interact_percentage": "30-40", + "can_reinteract_after": null, + "repeat": null, + "follow_percentage": "30-40", + "follow_limit": "50", + "skipped_list_limit": "10-15", + "fling_when_skipped": "0", + "speed_multiplier": "1", + "screen_sleep": true, + "debug": true, + "screen_record": false, + "close_apps": false, + "kill_atx_agent": false, + "restart_atx_agent": false, + "interact": null, + "hashtag_likers": null, + "delete_interacted_users": true, + "scrape_to_file": null, + "total_scraped_limit": "100-150", + "comment_percentage": "0", + "total_comments_limit": "3-50", + "pm_percentage": "0", + "total_pm_limit": "3-5", + "max_comments_pro_user": "1-2", + "end_if_likes_limit_reached": false, + "end_if_follows_limit_reached": false, + "end_if_watches_limit_reached": false, + "end_if_comments_limit_reached": false, + "end_if_pm_limit_reached": false, + "truncate_sources": "2-5", + "shuffle_jobs": true, + "working_hours": [ + "00.00-23.59" + ], + "time_delta": "0", + "disable_filters": false, + "total_crashes_limit": "5", + "count_app_crashes": false, + "skipped_posts_limit": "5", + "uia_version": 2, + "total_sessions": -1, + "disable_block_detection": true, + "pre_script": null, + "post_script": null, + "move_folders_in_accounts": false, + "dont_type": false, + "allow_untested_ig_version": false, + "analytics": false, + "init_db": true, + "blogger": null, + "interact_from_file": null, + "unfollow_from_file": null, + "blogger_followers": [ + "ledianaprengaa" + ], + "blogger_following": null, + "blogger_post_likers": null, + "blogger_post_limits": 0, + "feed": null, + "hashtag_likers_top": null, + "hashtag_likers_recent": null, + "hashtag_posts_recent": null, + "hashtag_posts_top": null, + "place_likers_top": null, + "place_likers_recent": null, + "place_posts_recent": null, + "place_posts_top": null, + "posts_from_file": null, + "use_nocodb": true, + "remove_followers_from_file": null, + "delete_removed_followers": false, + "telegram_reports": false, + "time_delta_session": 4, + "current_likes_limit": 127, + "current_follow_limit": 43, + "current_unfollow_limit": 49, + "current_comments_limit": 9, + "current_pm_limit": 4, + "current_watch_limit": 143, + "current_success_limit": 132, + "current_total_limit": 282, + "current_scraped_limit": 135, + "current_crashes_limit": 5 + }, + "profile": { + "posts": 2, + "followers": 1, + "following": 48 + } + }, + { + "id": "03e2e020-4faf-4ba5-842e-ce9c27a0e2ad", + "total_interactions": 0, + "successful_interactions": 0, + "total_followed": 0, + "total_likes": 0, + "total_comments": 0, + "total_pm": 0, + "total_watched": 0, + "total_unfollowed": 0, + "total_scraped": {}, + "start_time": "2024-11-27 14:14:10.984834", + "finish_time": "None", + "args": { + "config": "accounts/quecreate/config.yml", + "unfollow": null, + "unfollow_non_followers": null, + "unfollow_any_non_followers": null, + "unfollow_any_followers": null, + "unfollow_any": null, + "min_following": "10", + "sort_followers_newest_to_oldest": false, + "unfollow_delay": "0", + "app_id": "com.instagram.android", + "use_cloned_app": false, + "device": null, + "username": "quecreate", + "likes_count": "1-2", + "likes_percentage": "100", + "total_likes_limit": "120-150", + "total_follows_limit": "40-50", + "total_unfollows_limit": "40-50", + "total_watches_limit": "120-150", + "total_successful_interactions_limit": "120-150", + "total_interactions_limit": "280-300", + "stories_count": "10-20", + "stories_percentage": "30-40", + "carousel_count": "20-30", + "carousel_percentage": "60-70", + "watch_video_time": "15-35", + "watch_photo_time": "3-4", + "interactions_count": "300-400", + "interact_percentage": "30-40", + "can_reinteract_after": null, + "repeat": null, + "follow_percentage": "30-40", + "follow_limit": "50", + "skipped_list_limit": "10-15", + "fling_when_skipped": "0", + "speed_multiplier": "1", + "screen_sleep": true, + "debug": true, + "screen_record": false, + "close_apps": false, + "kill_atx_agent": false, + "restart_atx_agent": false, + "interact": null, + "hashtag_likers": null, + "delete_interacted_users": true, + "scrape_to_file": null, + "total_scraped_limit": "100-150", + "comment_percentage": "0", + "total_comments_limit": "3-50", + "pm_percentage": "0", + "total_pm_limit": "3-5", + "max_comments_pro_user": "1-2", + "end_if_likes_limit_reached": false, + "end_if_follows_limit_reached": false, + "end_if_watches_limit_reached": false, + "end_if_comments_limit_reached": false, + "end_if_pm_limit_reached": false, + "truncate_sources": "2-5", + "shuffle_jobs": true, + "working_hours": [ + "00.00-23.59" + ], + "time_delta": "0", + "disable_filters": false, + "total_crashes_limit": "5", + "count_app_crashes": false, + "skipped_posts_limit": "5", + "uia_version": 2, + "total_sessions": -1, + "disable_block_detection": true, + "pre_script": null, + "post_script": null, + "move_folders_in_accounts": false, + "dont_type": false, + "allow_untested_ig_version": false, + "analytics": false, + "init_db": true, + "blogger": null, + "interact_from_file": null, + "unfollow_from_file": null, + "blogger_followers": [ + "ledianaprengaa" + ], + "blogger_following": null, + "blogger_post_likers": null, + "blogger_post_limits": 0, + "feed": null, + "hashtag_likers_top": null, + "hashtag_likers_recent": null, + "hashtag_posts_recent": null, + "hashtag_posts_top": null, + "place_likers_top": null, + "place_likers_recent": null, + "place_posts_recent": null, + "place_posts_top": null, + "posts_from_file": null, + "use_nocodb": true, + "remove_followers_from_file": null, + "delete_removed_followers": false, + "telegram_reports": false, + "time_delta_session": 49, + "current_likes_limit": 134, + "current_follow_limit": 44, + "current_unfollow_limit": 40, + "current_comments_limit": 29, + "current_pm_limit": 4, + "current_watch_limit": 141, + "current_success_limit": 131, + "current_total_limit": 296, + "current_scraped_limit": 131, + "current_crashes_limit": 5 + }, + "profile": { + "posts": 2, + "followers": 1, + "following": 48 + } + }, + { + "id": "8365f1f1-6ecc-461e-9964-77913aadfd70", + "total_interactions": 0, + "successful_interactions": 0, + "total_followed": 0, + "total_likes": 0, + "total_comments": 0, + "total_pm": 0, + "total_watched": 0, + "total_unfollowed": 0, + "total_scraped": {}, + "start_time": "2024-11-28 01:11:12.121636", + "finish_time": "None", + "args": { + "config": "accounts/quecreate/config.yml", + "unfollow": null, + "unfollow_non_followers": null, + "unfollow_any_non_followers": null, + "unfollow_any_followers": null, + "unfollow_any": null, + "min_following": "10", + "sort_followers_newest_to_oldest": false, + "unfollow_delay": "0", + "app_id": "com.instagram.android", + "use_cloned_app": false, + "device": null, + "username": "quecreate", + "likes_count": "1-2", + "likes_percentage": "100", + "total_likes_limit": "120-150", + "total_follows_limit": "40-50", + "total_unfollows_limit": "40-50", + "total_watches_limit": "120-150", + "total_successful_interactions_limit": "120-150", + "total_interactions_limit": "280-300", + "stories_count": "10-20", + "stories_percentage": "30-40", + "carousel_count": "20-30", + "carousel_percentage": "60-70", + "watch_video_time": "15-35", + "watch_photo_time": "3-4", + "interactions_count": "300-400", + "interact_percentage": "30-40", + "can_reinteract_after": null, + "repeat": null, + "follow_percentage": "30-40", + "follow_limit": "50", + "skipped_list_limit": "10-15", + "fling_when_skipped": "0", + "speed_multiplier": "1", + "screen_sleep": true, + "debug": true, + "screen_record": false, + "close_apps": false, + "kill_atx_agent": false, + "restart_atx_agent": false, + "interact": null, + "hashtag_likers": null, + "delete_interacted_users": true, + "scrape_to_file": null, + "total_scraped_limit": "100-150", + "comment_percentage": "0", + "total_comments_limit": "3-50", + "pm_percentage": "0", + "total_pm_limit": "3-5", + "max_comments_pro_user": "1-2", + "end_if_likes_limit_reached": false, + "end_if_follows_limit_reached": false, + "end_if_watches_limit_reached": false, + "end_if_comments_limit_reached": false, + "end_if_pm_limit_reached": false, + "truncate_sources": "2-5", + "shuffle_jobs": true, + "working_hours": [ + "00.00-23.59" + ], + "time_delta": "0", + "disable_filters": false, + "total_crashes_limit": "5", + "count_app_crashes": false, + "skipped_posts_limit": "5", + "uia_version": 2, + "total_sessions": -1, + "disable_block_detection": true, + "pre_script": null, + "post_script": null, + "move_folders_in_accounts": false, + "dont_type": false, + "allow_untested_ig_version": false, + "analytics": false, + "init_db": true, + "blogger": null, + "interact_from_file": null, + "unfollow_from_file": null, + "blogger_followers": [ + "ledianaprengaa" + ], + "blogger_following": null, + "blogger_post_likers": null, + "blogger_post_limits": 0, + "feed": null, + "hashtag_likers_top": null, + "hashtag_likers_recent": null, + "hashtag_posts_recent": null, + "hashtag_posts_top": null, + "place_likers_top": null, + "place_likers_recent": null, + "place_posts_recent": null, + "place_posts_top": null, + "posts_from_file": null, + "use_nocodb": true, + "remove_followers_from_file": null, + "delete_removed_followers": false, + "telegram_reports": false, + "time_delta_session": 1, + "current_likes_limit": 138, + "current_follow_limit": 40, + "current_unfollow_limit": 48, + "current_comments_limit": 18, + "current_pm_limit": 4, + "current_watch_limit": 138, + "current_success_limit": 123, + "current_total_limit": 294, + "current_scraped_limit": 111, + "current_crashes_limit": 5 + }, + "profile": { + "posts": 2, + "followers": 1, + "following": 48 + } + }, + { + "id": "99a1302d-c58c-4785-8b62-20245dcb7eb6", + "total_interactions": 0, + "successful_interactions": 0, + "total_followed": 0, + "total_likes": 0, + "total_comments": 0, + "total_pm": 0, + "total_watched": 0, + "total_unfollowed": 0, + "total_scraped": {}, + "start_time": "2024-11-28 02:40:09.135089", + "finish_time": "None", + "args": { + "config": "accounts/quecreate/config.yml", + "unfollow": null, + "unfollow_non_followers": null, + "unfollow_any_non_followers": null, + "unfollow_any_followers": null, + "unfollow_any": null, + "min_following": "10", + "sort_followers_newest_to_oldest": false, + "unfollow_delay": "0", + "app_id": "com.instagram.android", + "use_cloned_app": false, + "device": null, + "username": "quecreate", + "likes_count": "1-2", + "likes_percentage": "100", + "total_likes_limit": "120-150", + "total_follows_limit": "40-50", + "total_unfollows_limit": "40-50", + "total_watches_limit": "120-150", + "total_successful_interactions_limit": "120-150", + "total_interactions_limit": "280-300", + "stories_count": "10-20", + "stories_percentage": "30-40", + "carousel_count": "20-30", + "carousel_percentage": "60-70", + "watch_video_time": "15-35", + "watch_photo_time": "3-4", + "interactions_count": "300-400", + "interact_percentage": "30-40", + "can_reinteract_after": null, + "repeat": null, + "follow_percentage": "30-40", + "follow_limit": "50", + "skipped_list_limit": "10-15", + "fling_when_skipped": "0", + "speed_multiplier": "1.0", + "screen_sleep": true, + "debug": true, + "screen_record": false, + "close_apps": false, + "kill_atx_agent": false, + "restart_atx_agent": false, + "interact": null, + "hashtag_likers": null, + "delete_interacted_users": true, + "scrape_to_file": null, + "total_scraped_limit": "100-150", + "comment_percentage": "0", + "total_comments_limit": "3-50", + "pm_percentage": "0", + "total_pm_limit": "3-5", + "max_comments_pro_user": "1-2", + "end_if_likes_limit_reached": false, + "end_if_follows_limit_reached": false, + "end_if_watches_limit_reached": false, + "end_if_comments_limit_reached": false, + "end_if_pm_limit_reached": false, + "truncate_sources": "2-5", + "shuffle_jobs": true, + "working_hours": [ + "00.00-23.59" + ], + "time_delta": "0", + "disable_filters": false, + "total_crashes_limit": "5", + "count_app_crashes": false, + "skipped_posts_limit": "5", + "uia_version": 2, + "total_sessions": -1, + "disable_block_detection": true, + "pre_script": null, + "post_script": null, + "move_folders_in_accounts": false, + "dont_type": false, + "allow_untested_ig_version": false, + "analytics": false, + "init_db": true, + "blogger": null, + "interact_from_file": null, + "unfollow_from_file": null, + "blogger_followers": [ + "ledianaprengaa" + ], + "blogger_following": null, + "blogger_post_likers": null, + "blogger_post_limits": 0, + "feed": null, + "hashtag_likers_top": null, + "hashtag_likers_recent": null, + "hashtag_posts_recent": null, + "hashtag_posts_top": null, + "place_likers_top": null, + "place_likers_recent": null, + "place_posts_recent": null, + "place_posts_top": null, + "posts_from_file": null, + "use_nocodb": true, + "remove_followers_from_file": null, + "delete_removed_followers": false, + "telegram_reports": false, + "time_delta_session": 55, + "current_likes_limit": 134, + "current_follow_limit": 46, + "current_unfollow_limit": 44, + "current_comments_limit": 41, + "current_pm_limit": 4, + "current_watch_limit": 140, + "current_success_limit": 142, + "current_total_limit": 281, + "current_scraped_limit": 117, + "current_crashes_limit": 5 + }, + "profile": { + "posts": 2, + "followers": 1, + "following": 48 + } + }, + { + "id": "93aabc60-3753-45c8-a161-b00986823035", + "total_interactions": 0, + "successful_interactions": 0, + "total_followed": 0, + "total_likes": 0, + "total_comments": 0, + "total_pm": 0, + "total_watched": 0, + "total_unfollowed": 0, + "total_scraped": {}, + "start_time": "2024-11-28 04:20:16.551494", + "finish_time": "None", + "args": { + "config": "accounts/quecreate/config.yml", + "unfollow": null, + "unfollow_non_followers": null, + "unfollow_any_non_followers": null, + "unfollow_any_followers": null, + "unfollow_any": null, + "min_following": "10", + "sort_followers_newest_to_oldest": false, + "unfollow_delay": "0", + "app_id": "com.instagram.android", + "use_cloned_app": false, + "device": null, + "username": "quecreate", + "likes_count": "1-2", + "likes_percentage": "100", + "total_likes_limit": "120-150", + "total_follows_limit": "40-50", + "total_unfollows_limit": "40-50", + "total_watches_limit": "120-150", + "total_successful_interactions_limit": "120-150", + "total_interactions_limit": "280-300", + "stories_count": "10-20", + "stories_percentage": "30-40", + "carousel_count": "20-30", + "carousel_percentage": "60-70", + "watch_video_time": "15-35", + "watch_photo_time": "3-4", + "interactions_count": "300-400", + "interact_percentage": "30-40", + "can_reinteract_after": null, + "repeat": null, + "follow_percentage": "30-40", + "follow_limit": "50", + "skipped_list_limit": "10-15", + "fling_when_skipped": "0", + "speed_multiplier": "1.0", + "screen_sleep": true, + "debug": true, + "screen_record": false, + "close_apps": false, + "kill_atx_agent": false, + "restart_atx_agent": false, + "interact": null, + "hashtag_likers": null, + "delete_interacted_users": true, + "scrape_to_file": null, + "total_scraped_limit": "100-150", + "comment_percentage": "0", + "total_comments_limit": "3-50", + "pm_percentage": "0", + "total_pm_limit": "3-5", + "max_comments_pro_user": "1-2", + "end_if_likes_limit_reached": false, + "end_if_follows_limit_reached": false, + "end_if_watches_limit_reached": false, + "end_if_comments_limit_reached": false, + "end_if_pm_limit_reached": false, + "truncate_sources": "2-5", + "shuffle_jobs": true, + "working_hours": [ + "00.00-23.59" + ], + "time_delta": "0", + "disable_filters": false, + "total_crashes_limit": "5", + "count_app_crashes": false, + "skipped_posts_limit": "5", + "uia_version": 2, + "total_sessions": -1, + "disable_block_detection": true, + "pre_script": null, + "post_script": null, + "move_folders_in_accounts": false, + "dont_type": false, + "allow_untested_ig_version": false, + "analytics": false, + "init_db": true, + "blogger": null, + "interact_from_file": null, + "unfollow_from_file": null, + "blogger_followers": [ + "ledianaprengaa" + ], + "blogger_following": null, + "blogger_post_likers": null, + "blogger_post_limits": 0, + "feed": null, + "hashtag_likers_top": null, + "hashtag_likers_recent": null, + "hashtag_posts_recent": null, + "hashtag_posts_top": null, + "place_likers_top": null, + "place_likers_recent": null, + "place_posts_recent": null, + "place_posts_top": null, + "posts_from_file": null, + "use_nocodb": true, + "remove_followers_from_file": null, + "delete_removed_followers": false, + "telegram_reports": false, + "time_delta_session": 55, + "current_likes_limit": 144, + "current_follow_limit": 41, + "current_unfollow_limit": 42, + "current_comments_limit": 23, + "current_pm_limit": 3, + "current_watch_limit": 150, + "current_success_limit": 140, + "current_total_limit": 289, + "current_scraped_limit": 148, + "current_crashes_limit": 5 + }, + "profile": { + "posts": 2, + "followers": 1, + "following": 48 + } + }, + { + "id": "a6f63b1c-7f85-4477-8607-9294eab455ba", + "total_interactions": 0, + "successful_interactions": 0, + "total_followed": 0, + "total_likes": 0, + "total_comments": 0, + "total_pm": 0, + "total_watched": 0, + "total_unfollowed": 0, + "total_scraped": {}, + "start_time": "2024-11-28 04:22:42.884037", + "finish_time": "None", + "args": { + "config": "accounts/quecreate/config.yml", + "unfollow": null, + "unfollow_non_followers": null, + "unfollow_any_non_followers": null, + "unfollow_any_followers": null, + "unfollow_any": null, + "min_following": "10", + "sort_followers_newest_to_oldest": false, + "unfollow_delay": "0", + "app_id": "com.instagram.android", + "use_cloned_app": false, + "device": null, + "username": "quecreate", + "likes_count": "1-2", + "likes_percentage": "100", + "total_likes_limit": "120-150", + "total_follows_limit": "40-50", + "total_unfollows_limit": "40-50", + "total_watches_limit": "120-150", + "total_successful_interactions_limit": "120-150", + "total_interactions_limit": "280-300", + "stories_count": "10-20", + "stories_percentage": "30-40", + "carousel_count": "20-30", + "carousel_percentage": "60-70", + "watch_video_time": "15-35", + "watch_photo_time": "3-4", + "interactions_count": "300-400", + "interact_percentage": "30-40", + "can_reinteract_after": null, + "repeat": null, + "follow_percentage": "30-40", + "follow_limit": "50", + "skipped_list_limit": "10-15", + "fling_when_skipped": "0", + "speed_multiplier": "1.0", + "screen_sleep": true, + "debug": true, + "screen_record": false, + "close_apps": false, + "kill_atx_agent": false, + "restart_atx_agent": false, + "interact": null, + "hashtag_likers": null, + "delete_interacted_users": true, + "scrape_to_file": null, + "total_scraped_limit": "100-150", + "comment_percentage": "0", + "total_comments_limit": "3-50", + "pm_percentage": "0", + "total_pm_limit": "3-5", + "max_comments_pro_user": "1-2", + "end_if_likes_limit_reached": false, + "end_if_follows_limit_reached": false, + "end_if_watches_limit_reached": false, + "end_if_comments_limit_reached": false, + "end_if_pm_limit_reached": false, + "truncate_sources": "2-5", + "shuffle_jobs": true, + "working_hours": [ + "00.00-23.59" + ], + "time_delta": "0", + "disable_filters": false, + "total_crashes_limit": "5", + "count_app_crashes": false, + "skipped_posts_limit": "5", + "uia_version": 2, + "total_sessions": -1, + "disable_block_detection": true, + "pre_script": null, + "post_script": null, + "move_folders_in_accounts": false, + "dont_type": false, + "allow_untested_ig_version": false, + "analytics": false, + "init_db": true, + "blogger": null, + "interact_from_file": null, + "unfollow_from_file": null, + "blogger_followers": [ + "ledianaprengaa" + ], + "blogger_following": null, + "blogger_post_likers": null, + "blogger_post_limits": 0, + "feed": null, + "hashtag_likers_top": null, + "hashtag_likers_recent": null, + "hashtag_posts_recent": null, + "hashtag_posts_top": null, + "place_likers_top": null, + "place_likers_recent": null, + "place_posts_recent": null, + "place_posts_top": null, + "posts_from_file": null, + "use_nocodb": true, + "remove_followers_from_file": null, + "delete_removed_followers": false, + "telegram_reports": false, + "time_delta_session": 9, + "current_likes_limit": 133, + "current_follow_limit": 41, + "current_unfollow_limit": 48, + "current_comments_limit": 13, + "current_pm_limit": 3, + "current_watch_limit": 140, + "current_success_limit": 142, + "current_total_limit": 289, + "current_scraped_limit": 115, + "current_crashes_limit": 5 + }, + "profile": { + "posts": 2, + "followers": 1, + "following": 48 + } + }, + { + "id": "d9ac4156-9557-472e-9102-ae671b2016a3", + "total_interactions": 14, + "successful_interactions": 0, + "total_followed": 0, + "total_likes": 0, + "total_comments": 0, + "total_pm": 0, + "total_watched": 0, + "total_unfollowed": 0, + "total_scraped": { + "ledianaprengaa": 0 + }, + "start_time": "2024-11-29 01:21:14.284751", + "finish_time": "2024-11-29 01:26:51.710639", + "args": { + "config": "accounts/quecreate/config.yml", + "unfollow": null, + "unfollow_non_followers": null, + "unfollow_any_non_followers": null, + "unfollow_any_followers": null, + "unfollow_any": null, + "min_following": "10", + "sort_followers_newest_to_oldest": false, + "unfollow_delay": "0", + "app_id": "com.instagram.android", + "use_cloned_app": false, + "device": null, + "username": "quecreate", + "likes_count": "1-2", + "likes_percentage": "100", + "total_likes_limit": "120-150", + "total_follows_limit": "40-50", + "total_unfollows_limit": "40-50", + "total_watches_limit": "120-150", + "total_successful_interactions_limit": "120-150", + "total_interactions_limit": "280-300", + "stories_count": "10-20", + "stories_percentage": "30-40", + "carousel_count": "20-30", + "carousel_percentage": "60-70", + "watch_video_time": "15-35", + "watch_photo_time": "3-4", + "interactions_count": "300-400", + "interact_percentage": "30-40", + "can_reinteract_after": null, + "repeat": null, + "follow_percentage": "30-40", + "follow_limit": "50", + "skipped_list_limit": "10-15", + "fling_when_skipped": "0", + "speed_multiplier": "1.0", + "screen_sleep": true, + "debug": true, + "screen_record": false, + "close_apps": false, + "kill_atx_agent": false, + "restart_atx_agent": false, + "interact": null, + "hashtag_likers": null, + "delete_interacted_users": true, + "scrape_to_file": null, + "total_scraped_limit": "100-150", + "comment_percentage": "0", + "total_comments_limit": "3-50", + "pm_percentage": "0", + "total_pm_limit": "3-5", + "max_comments_pro_user": "1-2", + "end_if_likes_limit_reached": false, + "end_if_follows_limit_reached": false, + "end_if_watches_limit_reached": false, + "end_if_comments_limit_reached": false, + "end_if_pm_limit_reached": false, + "truncate_sources": "2-5", + "shuffle_jobs": true, + "working_hours": [ + "00.00-23.59" + ], + "time_delta": "0", + "disable_filters": false, + "total_crashes_limit": "5", + "count_app_crashes": false, + "skipped_posts_limit": "5", + "uia_version": 2, + "total_sessions": -1, + "disable_block_detection": true, + "pre_script": null, + "post_script": null, + "move_folders_in_accounts": false, + "dont_type": false, + "allow_untested_ig_version": false, + "analytics": false, + "init_db": true, + "blogger": null, + "interact_from_file": null, + "unfollow_from_file": null, + "blogger_followers": [ + "ledianaprengaa" + ], + "blogger_following": null, + "blogger_post_likers": null, + "blogger_post_limits": 0, + "feed": null, + "hashtag_likers_top": null, + "hashtag_likers_recent": null, + "hashtag_posts_recent": null, + "hashtag_posts_top": null, + "place_likers_top": null, + "place_likers_recent": null, + "place_posts_recent": null, + "place_posts_top": null, + "posts_from_file": null, + "test_nocodb_records": true, + "use_nocodb": true, + "remove_followers_from_file": null, + "delete_removed_followers": false, + "telegram_reports": false, + "time_delta_session": 14, + "current_likes_limit": 139, + "current_follow_limit": 50, + "current_unfollow_limit": 40, + "current_comments_limit": 40, + "current_pm_limit": 3, + "current_watch_limit": 134, + "current_success_limit": 142, + "current_total_limit": 290, + "current_scraped_limit": 108, + "current_crashes_limit": 5 + }, + "profile": { + "posts": 2, + "followers": 1, + "following": 48 + } + }, + { + "id": "1e2c0c4c-ee38-4de0-b34d-f8d753c7ff74", + "total_interactions": 48, + "successful_interactions": 5, + "total_followed": 2, + "total_likes": 5, + "total_comments": 0, + "total_pm": 0, + "total_watched": 6, + "total_unfollowed": 0, + "total_scraped": { + "mnaumanndesign": 0 + }, + "start_time": "2024-11-29 04:14:05.283695", + "finish_time": "2024-11-29 04:41:55.930640", + "args": { + "config": "accounts/quecreate/config.yml", + "unfollow": null, + "unfollow_non_followers": null, + "unfollow_any_non_followers": null, + "unfollow_any_followers": null, + "unfollow_any": null, + "min_following": "10", + "sort_followers_newest_to_oldest": false, + "unfollow_delay": "0", + "app_id": "com.instagram.android", + "use_cloned_app": false, + "device": null, + "username": "quecreate", + "likes_count": "1-2", + "likes_percentage": "100", + "total_likes_limit": "120-150", + "total_follows_limit": "40-50", + "total_unfollows_limit": "40-50", + "total_watches_limit": "120-150", + "total_successful_interactions_limit": "120-150", + "total_interactions_limit": "280-300", + "stories_count": "10-20", + "stories_percentage": "30-40", + "carousel_count": "20-30", + "carousel_percentage": "60-70", + "watch_video_time": "15-35", + "watch_photo_time": "3-4", + "interactions_count": "300-400", + "interact_percentage": "30-40", + "can_reinteract_after": null, + "repeat": null, + "follow_percentage": "30-40", + "follow_limit": "50", + "skipped_list_limit": "10-15", + "fling_when_skipped": "0", + "speed_multiplier": "1.0", + "screen_sleep": true, + "debug": true, + "screen_record": false, + "close_apps": false, + "kill_atx_agent": false, + "restart_atx_agent": false, + "interact": null, + "hashtag_likers": null, + "delete_interacted_users": true, + "scrape_to_file": null, + "total_scraped_limit": "100-150", + "comment_percentage": "0", + "total_comments_limit": "3-50", + "pm_percentage": "0", + "total_pm_limit": "3-5", + "max_comments_pro_user": "1-2", + "end_if_likes_limit_reached": false, + "end_if_follows_limit_reached": false, + "end_if_watches_limit_reached": false, + "end_if_comments_limit_reached": false, + "end_if_pm_limit_reached": false, + "truncate_sources": "2-5", + "shuffle_jobs": true, + "working_hours": [ + "00.00-23.59" + ], + "time_delta": "0", + "disable_filters": false, + "total_crashes_limit": "5", + "count_app_crashes": false, + "skipped_posts_limit": "5", + "uia_version": 2, + "total_sessions": -1, + "disable_block_detection": true, + "pre_script": null, + "post_script": null, + "move_folders_in_accounts": false, + "dont_type": false, + "allow_untested_ig_version": false, + "analytics": false, + "init_db": true, + "blogger": null, + "interact_from_file": null, + "unfollow_from_file": null, + "blogger_followers": [ + "mnaumanndesign" + ], + "blogger_following": null, + "blogger_post_likers": null, + "blogger_post_limits": 0, + "feed": null, + "hashtag_likers_top": null, + "hashtag_likers_recent": null, + "hashtag_posts_recent": null, + "hashtag_posts_top": null, + "place_likers_top": null, + "place_likers_recent": null, + "place_posts_recent": null, + "place_posts_top": null, + "posts_from_file": null, + "test_nocodb_records": false, + "use_nocodb": true, + "remove_followers_from_file": null, + "delete_removed_followers": false, + "telegram_reports": false, + "time_delta_session": 22, + "current_likes_limit": 135, + "current_follow_limit": 48, + "current_unfollow_limit": 41, + "current_comments_limit": 44, + "current_pm_limit": 3, + "current_watch_limit": 149, + "current_success_limit": 121, + "current_total_limit": 289, + "current_scraped_limit": 105, + "current_crashes_limit": 5 + }, + "profile": { + "posts": 2, + "followers": 1, + "following": 48 + } + }, + { + "id": "58198b0a-f710-4c8c-b4e0-e0161290ecc1", + "total_interactions": 0, + "successful_interactions": 0, + "total_followed": 0, + "total_likes": 0, + "total_comments": 0, + "total_pm": 0, + "total_watched": 0, + "total_unfollowed": 0, + "total_scraped": {}, + "start_time": "2024-11-30 13:23:48.483633", + "finish_time": "None", + "args": { + "config": "e:\\PROJECTS\\instagram automation\\virtualinfluencer\\accounts\\quecreate\\config.yml", + "unfollow": null, + "unfollow_non_followers": null, + "unfollow_any_non_followers": null, + "unfollow_any_followers": null, + "unfollow_any": null, + "min_following": "10", + "sort_followers_newest_to_oldest": false, + "unfollow_delay": "0", + "app_id": "com.instagram.android", + "use_cloned_app": false, + "device": null, + "username": "quecreate", + "likes_count": "1-2", + "likes_percentage": "100", + "total_likes_limit": "120-150", + "total_follows_limit": "40-50", + "total_unfollows_limit": "40-50", + "total_watches_limit": "120-150", + "total_successful_interactions_limit": "120-150", + "total_interactions_limit": "280-300", + "stories_count": "10-20", + "stories_percentage": "30-40", + "carousel_count": "20-30", + "carousel_percentage": "60-70", + "watch_video_time": "15-35", + "watch_photo_time": "3-4", + "interactions_count": "300-400", + "interact_percentage": "30-40", + "can_reinteract_after": null, + "repeat": null, + "follow_percentage": "30-40", + "follow_limit": "50", + "skipped_list_limit": "10-15", + "fling_when_skipped": "0", + "speed_multiplier": "1.0", + "screen_sleep": true, + "debug": true, + "screen_record": false, + "close_apps": false, + "kill_atx_agent": false, + "restart_atx_agent": false, + "interact": null, + "hashtag_likers": null, + "delete_interacted_users": true, + "scrape_to_file": null, + "total_scraped_limit": "100-150", + "comment_percentage": "0", + "total_comments_limit": "3-50", + "pm_percentage": "0", + "total_pm_limit": "3-5", + "max_comments_pro_user": "1-2", + "end_if_likes_limit_reached": false, + "end_if_follows_limit_reached": false, + "end_if_watches_limit_reached": false, + "end_if_comments_limit_reached": false, + "end_if_pm_limit_reached": false, + "truncate_sources": "2-5", + "shuffle_jobs": true, + "working_hours": [ + "00.00-23.59" + ], + "time_delta": "0", + "disable_filters": false, + "total_crashes_limit": "5", + "count_app_crashes": false, + "skipped_posts_limit": "5", + "uia_version": 2, + "total_sessions": -1, + "disable_block_detection": true, + "pre_script": null, + "post_script": null, + "move_folders_in_accounts": false, + "dont_type": false, + "allow_untested_ig_version": false, + "analytics": false, + "init_db": true, + "blogger": null, + "interact_from_file": null, + "unfollow_from_file": null, + "blogger_followers": [ + "mnaumanndesign" + ], + "blogger_following": null, + "blogger_post_likers": null, + "blogger_post_limits": 0, + "feed": null, + "hashtag_likers_top": null, + "hashtag_likers_recent": null, + "hashtag_posts_recent": null, + "hashtag_posts_top": null, + "place_likers_top": null, + "place_likers_recent": null, + "place_posts_recent": null, + "place_posts_top": null, + "posts_from_file": null, + "test_nocodb_records": false, + "use_nocodb": true, + "remove_followers_from_file": null, + "delete_removed_followers": false, + "telegram_reports": false, + "time_delta_session": 2, + "current_likes_limit": 145, + "current_follow_limit": 49, + "current_unfollow_limit": 49, + "current_comments_limit": 12, + "current_pm_limit": 3, + "current_watch_limit": 149, + "current_success_limit": 143, + "current_total_limit": 298, + "current_scraped_limit": 132, + "current_crashes_limit": 5 + }, + "profile": { + "posts": 2, + "followers": 1, + "following": 51 + } + }, + { + "id": "eafe19cb-c049-45ff-bfa6-96bfab720405", + "total_interactions": 36, + "successful_interactions": 8, + "total_followed": 4, + "total_likes": 11, + "total_comments": 0, + "total_pm": 0, + "total_watched": 0, + "total_unfollowed": 0, + "total_scraped": { + "mnaumanndesign": 0 + }, + "start_time": "2024-11-30 13:33:05.902789", + "finish_time": "2024-11-30 13:57:08.596632", + "args": { + "config": "e:\\PROJECTS\\instagram automation\\virtualinfluencer\\accounts\\quecreate\\config.yml", + "unfollow": null, + "unfollow_non_followers": null, + "unfollow_any_non_followers": null, + "unfollow_any_followers": null, + "unfollow_any": null, + "min_following": "10", + "sort_followers_newest_to_oldest": false, + "unfollow_delay": "0", + "app_id": "com.instagram.android", + "use_cloned_app": false, + "device": null, + "username": "quecreate", + "likes_count": "1-2", + "likes_percentage": "100", + "total_likes_limit": "120-150", + "total_follows_limit": "40-50", + "total_unfollows_limit": "40-50", + "total_watches_limit": "120-150", + "total_successful_interactions_limit": "120-150", + "total_interactions_limit": "280-300", + "stories_count": "10-20", + "stories_percentage": "30-40", + "carousel_count": "20-30", + "carousel_percentage": "60-70", + "watch_video_time": "15-35", + "watch_photo_time": "3-4", + "interactions_count": "300-400", + "interact_percentage": "30-40", + "can_reinteract_after": null, + "repeat": null, + "follow_percentage": "30-40", + "follow_limit": "50", + "skipped_list_limit": "10-15", + "fling_when_skipped": "0", + "speed_multiplier": "1.0", + "screen_sleep": true, + "debug": true, + "screen_record": false, + "close_apps": false, + "kill_atx_agent": false, + "restart_atx_agent": false, + "interact": null, + "hashtag_likers": null, + "delete_interacted_users": true, + "scrape_to_file": null, + "total_scraped_limit": "100-150", + "comment_percentage": "0", + "total_comments_limit": "3-50", + "pm_percentage": "0", + "total_pm_limit": "3-5", + "max_comments_pro_user": "1-2", + "end_if_likes_limit_reached": false, + "end_if_follows_limit_reached": false, + "end_if_watches_limit_reached": false, + "end_if_comments_limit_reached": false, + "end_if_pm_limit_reached": false, + "truncate_sources": "2-5", + "shuffle_jobs": true, + "working_hours": [ + "00.00-23.59" + ], + "time_delta": "0", + "disable_filters": false, + "total_crashes_limit": "5", + "count_app_crashes": false, + "skipped_posts_limit": "5", + "uia_version": 2, + "total_sessions": -1, + "disable_block_detection": true, + "pre_script": null, + "post_script": null, + "move_folders_in_accounts": false, + "dont_type": false, + "allow_untested_ig_version": false, + "analytics": false, + "init_db": true, + "blogger": null, + "interact_from_file": null, + "unfollow_from_file": null, + "blogger_followers": [ + "mnaumanndesign" + ], + "blogger_following": null, + "blogger_post_likers": null, + "blogger_post_limits": 0, + "feed": null, + "hashtag_likers_top": null, + "hashtag_likers_recent": null, + "hashtag_posts_recent": null, + "hashtag_posts_top": null, + "place_likers_top": null, + "place_likers_recent": null, + "place_posts_recent": null, + "place_posts_top": null, + "posts_from_file": null, + "test_nocodb_records": false, + "use_nocodb": true, + "remove_followers_from_file": null, + "delete_removed_followers": false, + "telegram_reports": false, + "time_delta_session": 31, + "current_likes_limit": 141, + "current_follow_limit": 48, + "current_unfollow_limit": 43, + "current_comments_limit": 45, + "current_pm_limit": 3, + "current_watch_limit": 121, + "current_success_limit": 125, + "current_total_limit": 289, + "current_scraped_limit": 128, + "current_crashes_limit": 5 + }, + "profile": { + "posts": 2, + "followers": 1, + "following": 51 + } + }, + { + "id": "7d7c34f9-d107-4fcd-85c5-e4911673c2b1", + "total_interactions": 0, + "successful_interactions": 0, + "total_followed": 0, + "total_likes": 0, + "total_comments": 0, + "total_pm": 0, + "total_watched": 0, + "total_unfollowed": 0, + "total_scraped": {}, + "start_time": "2024-11-30 16:12:21.516057", + "finish_time": "None", + "args": { + "config": "e:\\PROJECTS\\instagram automation\\virtualinfluencer\\accounts\\quecreate\\config.yml", + "unfollow": null, + "unfollow_non_followers": null, + "unfollow_any_non_followers": null, + "unfollow_any_followers": null, + "unfollow_any": null, + "min_following": "10", + "sort_followers_newest_to_oldest": false, + "unfollow_delay": "0", + "app_id": "com.instagram.android", + "use_cloned_app": false, + "device": null, + "username": "quecreate", + "likes_count": "1-2", + "likes_percentage": "100", + "total_likes_limit": "120-150", + "total_follows_limit": "40-50", + "total_unfollows_limit": "40-50", + "total_watches_limit": "120-150", + "total_successful_interactions_limit": "120-150", + "total_interactions_limit": "280-300", + "stories_count": "10-20", + "stories_percentage": "30-40", + "carousel_count": "20-30", + "carousel_percentage": "60-70", + "watch_video_time": "15-35", + "watch_photo_time": "3-4", + "interactions_count": "300-400", + "interact_percentage": "30-40", + "can_reinteract_after": null, + "repeat": null, + "follow_percentage": "30-40", + "follow_limit": "50", + "skipped_list_limit": "10-15", + "fling_when_skipped": "0", + "speed_multiplier": "1.0", + "screen_sleep": true, + "debug": true, + "screen_record": false, + "close_apps": false, + "kill_atx_agent": false, + "restart_atx_agent": false, + "interact": null, + "hashtag_likers": null, + "delete_interacted_users": true, + "scrape_to_file": null, + "total_scraped_limit": "100-150", + "comment_percentage": "0", + "total_comments_limit": "3-50", + "pm_percentage": "0", + "total_pm_limit": "3-5", + "max_comments_pro_user": "1-2", + "end_if_likes_limit_reached": false, + "end_if_follows_limit_reached": false, + "end_if_watches_limit_reached": false, + "end_if_comments_limit_reached": false, + "end_if_pm_limit_reached": false, + "truncate_sources": "2-5", + "shuffle_jobs": true, + "working_hours": [ + "00.00-23.59" + ], + "time_delta": "0", + "disable_filters": false, + "total_crashes_limit": "5", + "count_app_crashes": false, + "skipped_posts_limit": "5", + "uia_version": 2, + "total_sessions": -1, + "disable_block_detection": true, + "pre_script": null, + "post_script": null, + "move_folders_in_accounts": false, + "dont_type": false, + "allow_untested_ig_version": false, + "analytics": false, + "init_db": true, + "blogger": null, + "interact_from_file": null, + "unfollow_from_file": null, + "blogger_followers": [ + "mnaumanndesign" + ], + "blogger_following": null, + "blogger_post_likers": null, + "blogger_post_limits": 0, + "feed": null, + "hashtag_likers_top": null, + "hashtag_likers_recent": null, + "hashtag_posts_recent": null, + "hashtag_posts_top": null, + "place_likers_top": null, + "place_likers_recent": null, + "place_posts_recent": null, + "place_posts_top": null, + "posts_from_file": null, + "test_nocodb_records": false, + "use_nocodb": true, + "remove_followers_from_file": null, + "delete_removed_followers": false, + "telegram_reports": false, + "time_delta_session": 3, + "current_likes_limit": 140, + "current_follow_limit": 47, + "current_unfollow_limit": 48, + "current_comments_limit": 23, + "current_pm_limit": 5, + "current_watch_limit": 144, + "current_success_limit": 138, + "current_total_limit": 290, + "current_scraped_limit": 123, + "current_crashes_limit": 5 + }, + "profile": { + "posts": 2, + "followers": 1, + "following": 56 + } + } +] \ No newline at end of file diff --git a/accounts/quecreate/telegram.yml b/accounts/quecreate/telegram.yml new file mode 100644 index 00000000..06a3b34d --- /dev/null +++ b/accounts/quecreate/telegram.yml @@ -0,0 +1,6 @@ +# The complete guide can be found here: https://docs.gramaddict.org/#/configuration?id=telegram-reports +# telegram-api-token -> https://t.me/botfather to create your telegram bot account +# telegram-chat-id -> https://t.me/myidbot to know your chat-id where the bot will send reports + +telegram-api-token: your-api-token-here +telegram-chat-id: your-chat-id-here diff --git a/accounts/quecreate/whitelist.txt b/accounts/quecreate/whitelist.txt new file mode 100644 index 00000000..8e220c85 --- /dev/null +++ b/accounts/quecreate/whitelist.txt @@ -0,0 +1,2 @@ +username1 +username2 \ No newline at end of file diff --git a/accounts/test_account/history_filters_users.json b/accounts/test_account/history_filters_users.json new file mode 100644 index 00000000..35b184fb --- /dev/null +++ b/accounts/test_account/history_filters_users.json @@ -0,0 +1,17 @@ +{ + "filtered_user": { + "user_id": "filtered_user_123", + "username": "filtered_user", + "is_private": false, + "has_business_category": false, + "posts_count": 10, + "biography": "Test bio", + "link_in_bio": false, + "followers": 100, + "followings": 100, + "mutual_friends": 0, + "follow_button_text": "FOLLOW", + "is_restricted": false, + "skip_reason": "test_filter" + } +} \ No newline at end of file diff --git a/accounts/test_account/interacted_users.json b/accounts/test_account/interacted_users.json new file mode 100644 index 00000000..eb79d0ad --- /dev/null +++ b/accounts/test_account/interacted_users.json @@ -0,0 +1,16 @@ +{ + "test_user": { + "last_interaction": "2024-11-26 01:10:45.677957", + "following_status": "followed", + "session_id": "b49f2885-7578-43fd-b32e-22e41a54390d", + "job_name": "test_job", + "target": "test_target", + "liked": 50, + "watched": 0, + "commented": 0, + "followed": true, + "unfollowed": false, + "scraped": false, + "pm_sent": false + } +} \ No newline at end of file diff --git a/api/__init__.py b/api/__init__.py new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/api/__init__.py @@ -0,0 +1 @@ + diff --git a/api/__pycache__/__init__.cpython-312.pyc b/api/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 00000000..8612d70c Binary files /dev/null and b/api/__pycache__/__init__.cpython-312.pyc differ diff --git a/api/__pycache__/__init__.cpython-39.pyc b/api/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..aa7e942b Binary files /dev/null and b/api/__pycache__/__init__.cpython-39.pyc differ diff --git a/api/__pycache__/history.cpython-312.pyc b/api/__pycache__/history.cpython-312.pyc new file mode 100644 index 00000000..8fa1587f Binary files /dev/null and b/api/__pycache__/history.cpython-312.pyc differ diff --git a/api/__pycache__/history.cpython-39.pyc b/api/__pycache__/history.cpython-39.pyc new file mode 100644 index 00000000..00e0a49a Binary files /dev/null and b/api/__pycache__/history.cpython-39.pyc differ diff --git a/api/__pycache__/main.cpython-312.pyc b/api/__pycache__/main.cpython-312.pyc new file mode 100644 index 00000000..c4491bde Binary files /dev/null and b/api/__pycache__/main.cpython-312.pyc differ diff --git a/api/__pycache__/main.cpython-39.pyc b/api/__pycache__/main.cpython-39.pyc new file mode 100644 index 00000000..be45316a Binary files /dev/null and b/api/__pycache__/main.cpython-39.pyc differ diff --git a/api/config/__init__.py b/api/config/__init__.py new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/api/config/__init__.py @@ -0,0 +1 @@ + diff --git a/api/config/__pycache__/__init__.cpython-312.pyc b/api/config/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 00000000..68adf268 Binary files /dev/null and b/api/config/__pycache__/__init__.cpython-312.pyc differ diff --git a/api/config/__pycache__/__init__.cpython-39.pyc b/api/config/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..f28f6c52 Binary files /dev/null and b/api/config/__pycache__/__init__.cpython-39.pyc differ diff --git a/api/config/__pycache__/nocodb.cpython-312.pyc b/api/config/__pycache__/nocodb.cpython-312.pyc new file mode 100644 index 00000000..4ed14261 Binary files /dev/null and b/api/config/__pycache__/nocodb.cpython-312.pyc differ diff --git a/api/config/__pycache__/nocodb.cpython-39.pyc b/api/config/__pycache__/nocodb.cpython-39.pyc new file mode 100644 index 00000000..ca9d4eec Binary files /dev/null and b/api/config/__pycache__/nocodb.cpython-39.pyc differ diff --git a/api/config/nocodb.py b/api/config/nocodb.py new file mode 100644 index 00000000..d4748d5c --- /dev/null +++ b/api/config/nocodb.py @@ -0,0 +1,12 @@ +import os + +# NocoDB Configuration +NOCODB_BASE_URL = os.getenv('NOCODB_BASE_URL', 'http://localhost:8080') +NOCODB_TOKEN = os.getenv('NOCODB_TOKEN', '') +NOCODB_PROJECT_ID = os.getenv('NOCODB_PROJECT_ID', '') + +# Table IDs +NOCODB_HISTORY_FILTERS_TABLE_ID = os.getenv('NOCODB_HISTORY_FILTERS_TABLE_ID', '') +NOCODB_HISTORY_FILTERS_VIEW_ID = os.getenv('NOCODB_HISTORY_FILTERS_VIEW_ID', '') +NOCODB_INTERACTED_USERS_TABLE_ID = os.getenv('NOCODB_INTERACTED_USERS_TABLE_ID', '') +NOCODB_INTERACTED_USERS_VIEW_ID = os.getenv('NOCODB_INTERACTED_USERS_VIEW_ID', '') diff --git a/api/history.py b/api/history.py new file mode 100644 index 00000000..b25bf6d3 --- /dev/null +++ b/api/history.py @@ -0,0 +1,45 @@ +from datetime import datetime +from typing import Dict, List, Optional + +class Interaction: + """Represents an interaction with a user""" + def __init__(self, username: str, interaction_type: str, timestamp: datetime = None, error: bool = False, duration: Optional[float] = None): + self.username = username + self.interaction_type = interaction_type + self.timestamp = timestamp or datetime.now() + self.error = error + self.duration = duration + +class HistoryManager: + """Manages interaction history""" + def __init__(self): + self.interactions: Dict[str, List[Interaction]] = {} + + def add_interaction(self, account: str, interaction: Interaction): + """Add an interaction to history""" + if account not in self.interactions: + self.interactions[account] = [] + self.interactions[account].append(interaction) + + def get_interactions(self, account: str, interaction_type: Optional[str] = None, start_time: Optional[datetime] = None) -> List[Interaction]: + """Get interactions for an account""" + account_interactions = self.interactions.get(account, []) + filtered_interactions = account_interactions + + if interaction_type: + filtered_interactions = [i for i in filtered_interactions if i.interaction_type == interaction_type] + + if start_time: + filtered_interactions = [i for i in filtered_interactions if i.timestamp >= start_time] + + return filtered_interactions + + def clear_history(self, account: str, interaction_type: Optional[str] = None): + """Clear history for an account""" + if interaction_type: + self.interactions[account] = [ + i for i in self.interactions.get(account, []) + if i.interaction_type != interaction_type + ] + else: + self.interactions[account] = [] diff --git a/api/main.py b/api/main.py new file mode 100644 index 00000000..6f0bcd84 --- /dev/null +++ b/api/main.py @@ -0,0 +1,1165 @@ +from fastapi import FastAPI, HTTPException, Body +import logging +import asyncio +from contextlib import suppress +from typing import Dict, Optional +from api.plugins.plugin_loader import PluginLoader +from api.plugins.base_plugin import BasePlugin +from api.config.nocodb import ( + NOCODB_BASE_URL, + NOCODB_TOKEN, + NOCODB_PROJECT_ID, + NOCODB_HISTORY_FILTERS_TABLE_ID, + NOCODB_HISTORY_FILTERS_VIEW_ID, + NOCODB_INTERACTED_USERS_TABLE_ID, + NOCODB_INTERACTED_USERS_VIEW_ID +) +import os +import sys +from datetime import datetime, timedelta +from api.history import HistoryManager, Interaction +from pydantic import BaseModel +import psutil +import json +import yaml +from typing import Any, Dict + +app = FastAPI() + +# Configure logging +logging.basicConfig( + level=logging.INFO, + format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', + handlers=[ + logging.StreamHandler(sys.stdout), + logging.FileHandler(os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'logs', 'api.log')) + ] +) +logger = logging.getLogger(__name__) + +# Initialize plugin loader +plugin_loader = PluginLoader() + +# Track active tasks +active_tasks = set() + +# Track sync plugin +sync_plugin = None + +# Track active sessions and their status +active_sessions: Dict[str, dict] = {} + +# Session timeout in minutes +SESSION_TIMEOUT_MINUTES = 120 + +def register_task(task): + """Register an active task""" + active_tasks.add(task) + task.add_done_callback(active_tasks.discard) + +async def cleanup_tasks(): + """Cleanup all active tasks""" + tasks = list(active_tasks) + if not tasks: + return + + logger.info(f"Cleaning up {len(tasks)} active tasks...") + for task in tasks: + if not task.done(): + task.cancel() + + # Wait for all tasks to complete with a timeout + with suppress(asyncio.TimeoutError, asyncio.CancelledError): + await asyncio.wait(tasks, timeout=5.0) + +class SessionRequest(BaseModel): + account: str + +class SessionStatus(BaseModel): + account: str + status: str + start_time: Optional[datetime] + last_interaction: Optional[datetime] + total_interactions: int = 0 + errors: Optional[str] = None + process_info: Optional[dict] = None + memory_usage_mb: Optional[float] = None + cpu_percent: Optional[float] = None + uptime_minutes: Optional[float] = None + is_responsive: bool = True + +class BotStats(BaseModel): + account: str + total_interactions_24h: int = 0 + successful_interactions_24h: int = 0 + failed_interactions_24h: int = 0 + success_rate_24h: float = 0.0 + average_response_time_ms: float = 0.0 + uptime_hours: float = 0.0 + total_sessions: int = 0 + current_session_duration: Optional[float] = None + memory_usage_trend: list = [] + cpu_usage_trend: list = [] + error_count_24h: int = 0 + +class InteractionLimits(BaseModel): + """Model for interaction limits""" + account: str + likes_limit: int + follow_limit: int + unfollow_limit: int + comments_limit: int + pm_limit: int + watch_limit: int + success_limit: int + total_limit: int + scraped_limit: int + crashes_limit: int + time_delta_session: int + +class AccountInfo(BaseModel): + """Model for account information""" + username: str + total_posts: int = 0 + total_followers: int = 0 + total_following: int = 0 + last_session_time: Optional[datetime] = None + is_active: bool = False + config_exists: bool = True + +class AccountConfig(BaseModel): + """Model for account configuration""" + username: str + app_id: str = "com.instagram.android" + use_cloned_app: bool = False + allow_untested_ig_version: bool = False + screen_sleep: bool = True + screen_record: bool = False + speed_multiplier: float = 1.0 + debug: bool = True + close_apps: bool = False + kill_atx_agent: bool = False + restart_atx_agent: bool = False + disable_block_detection: bool = False + disable_filters: bool = False + dont_type: bool = False + use_nocodb: bool = True + init_db: bool = True + total_crashes_limit: int = 5 + count_app_crashes: bool = False + shuffle_jobs: bool = True + truncate_sources: str = "2-5" + # Action configurations + blogger_followers: list[str] = [] + watch_video_time: str = "15-35" + watch_photo_time: str = "3-4" + delete_interacted_users: bool = True + # Optional fields + device: Optional[str] = None + scrape_to_file: Optional[str] = None + can_reinteract_after: Optional[int] = None + feed: Optional[str] = None + unfollow: Optional[str] = None + unfollow_any: Optional[str] = None + unfollow_non_followers: Optional[str] = None + + class Config: + alias_generator = lambda string: string.replace('_', '-') + allow_population_by_field_name = True + +class UpdateAccountConfig(BaseModel): + """Model for account configuration updates""" + config: Dict[str, Any] + +class ConfigEntry(BaseModel): + """Model for a single configuration entry""" + key: str + value: Any + +class ArrayConfigEntry(BaseModel): + """Model for array configuration entry""" + key: str + item: Any + +async def check_session_timeout(): + """Background task to check for session timeouts""" + while True: + try: + current_time = datetime.now() + for account, session in active_sessions.items(): + if session['status'] != 'running': + continue + + # Check last interaction time + last_interaction = session.get('last_interaction', session.get('start_time')) + if last_interaction: + idle_time = current_time - last_interaction + if idle_time > timedelta(minutes=SESSION_TIMEOUT_MINUTES): + logger.warning(f"Session timeout for account {account} after {idle_time}") + # Stop the session + await stop_session(SessionRequest(account=account)) + + # Check every minute + await asyncio.sleep(60) + except Exception as e: + logger.error(f"Error in session timeout checker: {str(e)}") + await asyncio.sleep(60) + +@app.on_event("startup") +async def startup_event(): + """Initialize API on startup""" + try: + # Create logs directory if it doesn't exist + base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + logs_dir = os.path.join(base_dir, 'logs') + os.makedirs(logs_dir, exist_ok=True) + + # Initialize plugins (temporarily disabled) + # await plugin_loader.load_plugins() + + # Start session timeout checker + asyncio.create_task(check_session_timeout()) + + logger.info("API startup complete") + except Exception as e: + logger.error(f"Error during startup: {e}") + raise + +@app.on_event("shutdown") +async def shutdown_event(): + """Cleanup plugins and resources on shutdown""" + await cleanup_tasks() + logger.info("All tasks cleaned up.") + +@app.get("/") +async def root(): + return {"message": "Welcome to the Instagram Bot API"} + +@app.post("/save_history_filters") +async def save_history_filters(account: str, filters: Dict): + """Save history filters for an account""" + # Implementation for saving history filters + pass + +@app.get("/get_history_filters") +async def get_history_filters(account: str): + """Get history filters for an account""" + # Implementation for getting history filters + pass + +@app.post("/save_interaction") +async def save_interaction(account: str, username: str, interaction_type: str): + """Save an interaction with a user""" + # Implementation for saving interaction + pass + +@app.get("/get_interactions") +async def get_interactions(account: str, interaction_type: Optional[str] = None): + """Get interactions for an account""" + # Implementation for getting interactions + pass + +@app.delete("/clear_history") +async def clear_history(account: str, history_type: Optional[str] = None): + """Clear history for an account""" + # Implementation for clearing history + pass + +@app.post("/start_session") +async def start_session(request: SessionRequest): + """Start a bot session for the specified account""" + try: + # Get absolute paths + base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + config_path = os.path.join(base_dir, "accounts", request.account, "config.yml") + python_path = os.path.join(base_dir, "venv", "Scripts", "python.exe") + run_script = os.path.join(base_dir, "run.py") + + logger.info(f"Starting session for account {request.account} with config {config_path}") + + if not os.path.exists(config_path): + error_msg = f"Configuration not found for account: {request.account} at path: {config_path}" + logger.error(error_msg) + raise HTTPException(status_code=404, detail=error_msg) + + # Create a background task to run the bot + cmd = [python_path, "-v", run_script, "--config", config_path, "--use-nocodb", "--debug"] + logger.info(f"Running command: {' '.join(cmd)}") + logger.info(f"Working directory: {base_dir}") + logger.info(f"Environment PYTHONPATH: {os.environ.get('PYTHONPATH')}") + + try: + import subprocess + import threading + + # Set up environment variables + env = os.environ.copy() + project_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + env["PYTHONPATH"] = project_dir + + def run_process_in_thread(): + try: + logger.info(f"Starting process with command: {' '.join(cmd)}") + logger.info(f"Working directory: {base_dir}") + logger.info(f"PYTHONPATH: {env['PYTHONPATH']}") + + # Create log file for the bot + log_file = os.path.join(project_dir, "logs", f"{request.account}.log") + os.makedirs(os.path.dirname(log_file), exist_ok=True) + + process = subprocess.Popen( + cmd, + cwd=base_dir, + env=env, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + text=True, + bufsize=1, + universal_newlines=True + ) + + def log_output(pipe, prefix, log_file): + with open(log_file, 'a', encoding='utf-8', buffering=1) as f: + try: + for line in pipe: + line = line.strip() + if line: + logger.info(f"{prefix}: {line}") + f.write(f"{prefix}: {line}\n") + f.flush() + except Exception as e: + logger.error(f"Error in log_output thread: {str(e)}", exc_info=True) + + # Start threads to continuously read and log output + stdout_thread = threading.Thread(target=log_output, args=(process.stdout, "STDOUT", log_file)) + stderr_thread = threading.Thread(target=log_output, args=(process.stderr, "STDERR", log_file)) + stdout_thread.daemon = True + stderr_thread.daemon = True + stdout_thread.start() + stderr_thread.start() + + logger.info(f"Process started with PID: {process.pid}") + return process + + except Exception as e: + logger.error(f"Failed to start process: {str(e)}", exc_info=True) + return None + + # Start the process in a separate thread + process = run_process_in_thread() + if process is None: + raise HTTPException(status_code=500, detail="Failed to start bot process") + + logger.info(f"Successfully started session for account: {request.account}") + active_sessions[request.account] = { + 'status': 'running', + 'start_time': datetime.now(), + 'process': process + } + return {"message": f"Started session for account: {request.account}", "status": "running", "pid": process.pid} + + except Exception as e: + error_msg = f"Failed to start process: {str(e)}" + logger.error(error_msg, exc_info=True) + raise HTTPException(status_code=500, detail=error_msg) + + except Exception as e: + error_msg = f"Error starting session: {str(e)}" + logger.error(error_msg) + raise HTTPException(status_code=500, detail=error_msg) + +@app.post("/stop_session") +async def stop_session(request: SessionRequest): + """Stop a running bot session for the specified account""" + account = request.account + logger.info(f"Attempting to stop session for account: {account}") + + if account not in active_sessions: + raise HTTPException(status_code=404, detail="No active session found for this account") + + try: + session = active_sessions[account] + + # Terminate the process if it exists + if 'process' in session and session['process']: + process = session['process'] + try: + # Try to terminate the main process + if process.pid: + parent = psutil.Process(process.pid) + children = parent.children(recursive=True) + for child in children: + child.terminate() + parent.terminate() + + # Wait for processes to terminate + gone, alive = psutil.wait_procs([parent] + children, timeout=3) + + # Force kill if still alive + for p in alive: + p.kill() + except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.TimeoutExpired) as e: + logger.warning(f"Process termination warning for {account}: {str(e)}") + + # Cancel any running tasks for this session + if 'task' in session: + session['task'].cancel() + with suppress(asyncio.CancelledError): + await session['task'] + + # Clean up session resources + if 'plugin' in session: + await session['plugin'].cleanup() + + # Update session status + session['status'] = 'stopped' + session['end_time'] = datetime.now() + session['process'] = None + + logger.info(f"Successfully stopped session for account: {account}") + return {"status": "success", "message": f"Session stopped for account {account}"} + + except Exception as e: + logger.error(f"Error stopping session for account {account}: {str(e)}") + raise HTTPException( + status_code=500, + detail=f"Failed to stop session: {str(e)}" + ) + +def get_process_info(pid: int) -> dict: + """Get detailed process information""" + try: + process = psutil.Process(pid) + with process.oneshot(): + memory_info = process.memory_info() + cpu_percent = process.cpu_percent(interval=0.1) + create_time = datetime.fromtimestamp(process.create_time()) + children = process.children(recursive=True) + + child_info = [] + total_child_memory = 0 + for child in children: + try: + with child.oneshot(): + child_memory = child.memory_info().rss / 1024 / 1024 # MB + total_child_memory += child_memory + child_info.append({ + 'pid': child.pid, + 'memory_mb': round(child_memory, 2), + 'cpu_percent': child.cpu_percent(interval=0.1) + }) + except (psutil.NoSuchProcess, psutil.AccessDenied): + continue + + return { + 'main_process': { + 'pid': process.pid, + 'memory_mb': round(memory_info.rss / 1024 / 1024, 2), # Convert to MB + 'cpu_percent': cpu_percent, + 'create_time': create_time, + 'status': process.status() + }, + 'child_processes': child_info, + 'total_memory_mb': round(memory_info.rss / 1024 / 1024 + total_child_memory, 2), + 'total_processes': len(children) + 1 + } + except (psutil.NoSuchProcess, psutil.AccessDenied) as e: + logger.warning(f"Could not get process info for PID {pid}: {str(e)}") + return None + +@app.get("/session_status") +async def get_session_status(account: str): + """Get the current status of a bot session with detailed process information""" + logger.info(f"Retrieving detailed session status for account: {account}") + + if account not in active_sessions: + return SessionStatus( + account=account, + status="inactive", + start_time=None, + last_interaction=None, + total_interactions=0, + is_responsive=False + ) + + session = active_sessions[account] + current_time = datetime.now() + + # Get process information + process_info = None + memory_usage_mb = None + cpu_percent = None + uptime_minutes = None + is_responsive = False + + if 'process' in session and session['process'] and session['process'].pid: + process_info = get_process_info(session['process'].pid) + if process_info: + memory_usage_mb = process_info['total_memory_mb'] + cpu_percent = process_info['main_process']['cpu_percent'] + if session.get('start_time'): + uptime_minutes = (current_time - session['start_time']).total_seconds() / 60 + is_responsive = True + + # Check if session should timeout + if session['status'] == 'running': + last_interaction = session.get('last_interaction', session.get('start_time')) + if last_interaction: + idle_time = current_time - last_interaction + if idle_time > timedelta(minutes=SESSION_TIMEOUT_MINUTES): + session['status'] = 'timeout_pending' + asyncio.create_task(stop_session(SessionRequest(account=account))) + + return SessionStatus( + account=account, + status=session.get('status', 'unknown'), + start_time=session.get('start_time'), + last_interaction=session.get('last_interaction'), + total_interactions=session.get('total_interactions', 0), + errors=session.get('errors'), + process_info=process_info, + memory_usage_mb=memory_usage_mb, + cpu_percent=cpu_percent, + uptime_minutes=round(uptime_minutes, 2) if uptime_minutes else None, + is_responsive=is_responsive + ) + +@app.post("/test_interaction") +async def test_interaction(): + """Test endpoint to create a sample interaction""" + # Implementation for test interaction + pass + +@app.get("/bot_stats") +async def get_bot_stats(account: str) -> BotStats: + """ + Get comprehensive bot statistics for the specified account. + Includes 24-hour metrics, performance data, and resource usage trends. + """ + try: + # Get history manager and initialize it + history_manager = HistoryManager() + + # Get current timestamp and 24 hours ago + now = datetime.now() + twenty_four_hours_ago = now - timedelta(hours=24) + + # Get all interactions in the last 24 hours + interactions = history_manager.get_interactions(account, start_time=twenty_four_hours_ago) + + # Calculate interaction statistics + total_interactions = len(interactions) + successful_interactions = sum(1 for i in interactions if not i.error) + failed_interactions = total_interactions - successful_interactions + success_rate = (successful_interactions / total_interactions * 100) if total_interactions > 0 else 0 + + # Calculate average response time (from successful interactions) + response_times = [i.duration for i in interactions if i.duration and not i.error] + avg_response_time = sum(response_times) / len(response_times) if response_times else 0 + + # Get current session info + session_info = active_sessions.get(account, {}) + start_time = session_info.get('start_time') + current_duration = (now - start_time).total_seconds() / 3600 if start_time else None + + # Get process info for resource usage trends + process_info = None + if session_info.get('pid'): + try: + process = psutil.Process(session_info['pid']) + process_info = await get_process_info(session_info['pid']) + except (psutil.NoSuchProcess, psutil.AccessDenied): + pass + + # Compile stats + stats = BotStats( + account=account, + total_interactions_24h=total_interactions, + successful_interactions_24h=successful_interactions, + failed_interactions_24h=failed_interactions, + success_rate_24h=success_rate, + average_response_time_ms=avg_response_time * 1000, # Convert to milliseconds + uptime_hours=current_duration or 0.0, + total_sessions=1 if start_time else 0, # Basic implementation, could be enhanced + current_session_duration=current_duration, + memory_usage_trend=[process_info['memory_usage_mb']] if process_info else [], + cpu_usage_trend=[process_info['cpu_percent']] if process_info else [], + error_count_24h=failed_interactions + ) + + return stats + + except Exception as e: + logger.error(f"Error getting bot stats for account {account}: {str(e)}") + raise HTTPException( + status_code=500, + detail=f"Failed to get bot statistics: {str(e)}" + ) + +@app.get("/accounts") +async def get_accounts() -> list[AccountInfo]: + """ + Get list of all configured accounts and their basic information. + Returns account usernames, profile stats, and session status. + """ + try: + accounts_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), 'accounts') + accounts = [] + + # List all account directories + for account_name in os.listdir(accounts_dir): + account_dir = os.path.join(accounts_dir, account_name) + if not os.path.isdir(account_dir): + continue + + # Get session data if available + session_file = os.path.join(account_dir, 'sessions.json') + profile_stats = {"posts": 0, "followers": 0, "following": 0} + last_session_time = None + + if os.path.exists(session_file): + try: + with open(session_file, 'r') as f: + sessions = json.loads(f.read()) + if sessions: + # Get latest session + latest_session = sessions[-1] + # Get profile stats from latest session + profile_stats = latest_session.get('profile', profile_stats) + # Get session start time + start_time_str = latest_session.get('start_time') + if start_time_str: + last_session_time = datetime.strptime(start_time_str, "%Y-%m-%d %H:%M:%S.%f") + except (json.JSONDecodeError, ValueError) as e: + logger.error(f"Error parsing session file for account {account_name}: {str(e)}") + + # Check if config exists + config_exists = os.path.exists(os.path.join(account_dir, 'config.yml')) + + # Create account info + account_info = AccountInfo( + username=account_name, + total_posts=profile_stats.get('posts', 0), + total_followers=profile_stats.get('followers', 0), + total_following=profile_stats.get('following', 0), + last_session_time=last_session_time, + is_active=account_name in active_sessions, + config_exists=config_exists + ) + accounts.append(account_info) + + return accounts + + except Exception as e: + logger.error(f"Error getting accounts list: {str(e)}") + raise HTTPException( + status_code=500, + detail=f"Failed to get accounts list: {str(e)}" + ) + +@app.get("/interaction_limits") +async def get_interaction_limits(account: str) -> InteractionLimits: + """ + Get current interaction limits for the specified account. + Returns all configured limits including likes, follows, comments, PMs, etc. + """ + try: + # Get session data from the account's sessions.json + session_file = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), + 'accounts', account, 'sessions.json') + + if not os.path.exists(session_file): + raise HTTPException( + status_code=404, + detail=f"Account {account} not found or has no session configuration" + ) + + with open(session_file, 'r') as f: + session_data = json.loads(f.read()) + + # Get the most recent session + if not session_data: + raise HTTPException( + status_code=404, + detail=f"No sessions found for account {account}" + ) + + latest_session = session_data[-1] + args = latest_session.get('args', {}) + + # Parse limit ranges (e.g. "120-150" -> 150) + def parse_limit(limit_str): + if not limit_str: + return 0 + try: + if isinstance(limit_str, (int, float)): + return int(limit_str) + parts = str(limit_str).split('-') + return int(parts[-1]) # Take the upper limit + except (ValueError, IndexError): + return 0 + + # Extract limits from session args + limits = InteractionLimits( + account=account, + likes_limit=parse_limit(args.get('total_likes_limit', 0)), + follow_limit=parse_limit(args.get('total_follows_limit', 0)), + unfollow_limit=parse_limit(args.get('total_unfollows_limit', 0)), + comments_limit=parse_limit(args.get('total_comments_limit', 0)), + pm_limit=parse_limit(args.get('total_pm_limit', 0)), + watch_limit=parse_limit(args.get('total_watches_limit', 0)), + success_limit=parse_limit(args.get('total_successful_interactions_limit', 0)), + total_limit=parse_limit(args.get('total_interactions_limit', 0)), + scraped_limit=parse_limit(args.get('total_scraped_limit', 0)), + crashes_limit=parse_limit(args.get('total_crashes_limit', 0)), + time_delta_session=parse_limit(args.get('time_delta_session', 0)) + ) + + return limits + + except json.JSONDecodeError as e: + logger.error(f"Error parsing session file for account {account}: {str(e)}") + raise HTTPException( + status_code=500, + detail=f"Failed to parse session configuration: {str(e)}" + ) + except Exception as e: + logger.error(f"Error getting interaction limits for account {account}: {str(e)}") + raise HTTPException( + status_code=500, + detail=f"Failed to get interaction limits: {str(e)}" + ) + +@app.get("/account_config/{account}") +async def get_account_config(account: str) -> AccountConfig: + """ + Get configuration for a specific account. + Returns all settings from the account's config.yml file. + """ + try: + config_file = os.path.join( + os.path.dirname(os.path.dirname(os.path.abspath(__file__))), + 'accounts', + account, + 'config.yml' + ) + + if not os.path.exists(config_file): + raise HTTPException( + status_code=404, + detail=f"Configuration file not found for account {account}" + ) + + # Read and parse YAML config + with open(config_file, 'r') as f: + config_data = yaml.safe_load(f) + + # Convert YAML keys to match Pydantic model (replace hyphens with underscores) + converted_config = {} + for key, value in config_data.items(): + new_key = key.replace('-', '_') + converted_config[new_key] = value + + # Create AccountConfig instance + try: + config = AccountConfig(**converted_config) + return config + except ValueError as e: + logger.error(f"Error validating config for account {account}: {str(e)}") + raise HTTPException( + status_code=422, + detail=f"Invalid configuration format: {str(e)}" + ) + + except yaml.YAMLError as e: + logger.error(f"Error parsing config file for account {account}: {str(e)}") + raise HTTPException( + status_code=500, + detail=f"Failed to parse configuration file: {str(e)}" + ) + except Exception as e: + logger.error(f"Error getting config for account {account}: {str(e)}") + raise HTTPException( + status_code=500, + detail=f"Failed to get account configuration: {str(e)}" + ) + +@app.put("/account_config/{account}") +async def update_account_config(account: str, update: UpdateAccountConfig): + """ + Update configuration for a specific account. + Saves the provided settings to the account's config.yml file. + """ + try: + # Construct path to account config + accounts_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "accounts") + account_dir = os.path.join(accounts_dir, account) + config_path = os.path.join(account_dir, "config.yml") + + # Verify account directory exists + if not os.path.exists(account_dir): + raise HTTPException(status_code=404, detail=f"Account {account} not found") + + # Read existing config + try: + with open(config_path, 'r') as f: + current_config = yaml.safe_load(f) or {} + except FileNotFoundError: + current_config = {} + + # Convert keys to use hyphens instead of underscores + updated_config = {k.replace('_', '-'): v for k, v in update.config.items()} + + # Update config with new values + current_config.update(updated_config) + + # Remove username from config if present to avoid duplicate + current_config.pop('username', None) + + # Validate config using Pydantic model + try: + AccountConfig(username=account, **{k.replace('-', '_'): v for k, v in current_config.items()}) + except Exception as e: + raise HTTPException(status_code=400, detail=f"Invalid configuration: {str(e)}") + + # Save updated config + with open(config_path, 'w') as f: + yaml.safe_dump(current_config, f, default_flow_style=False) + + logger.info(f"Updated configuration for account {account}") + return {"status": "success", "message": f"Configuration updated for account {account}"} + + except HTTPException: + raise + except Exception as e: + logger.error(f"Error updating configuration for account {account}: {str(e)}") + raise HTTPException(status_code=500, detail=f"Failed to update configuration: {str(e)}") + +@app.post("/account_config/{account}/add") +async def add_config_entry(account: str, entry: ConfigEntry): + """ + Add or update a single configuration entry. + For example: add a new configuration value like watch-video-time. + """ + try: + accounts_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "accounts") + account_dir = os.path.join(accounts_dir, account) + config_path = os.path.join(account_dir, "config.yml") + + if not os.path.exists(account_dir): + raise HTTPException(status_code=404, detail=f"Account {account} not found") + + # Read file while preserving format + try: + lines = read_file_lines(config_path) + current_config = yaml.safe_load(''.join(lines)) or {} + except FileNotFoundError: + raise HTTPException(status_code=404, detail=f"Configuration file not found") + + # Convert key to use hyphens + key = entry.key.replace('_', '-') + + # Update the lines while preserving format + new_lines = update_yaml_value_in_lines(lines, key, entry.value) + + # Validate the complete configuration + try: + new_config = yaml.safe_load(''.join(new_lines)) + config_dict = {k.replace('-', '_'): v for k, v in new_config.items()} + config_dict.pop('username', None) + AccountConfig(username=account, **config_dict) + except Exception as e: + raise HTTPException(status_code=400, detail=f"Invalid configuration: {str(e)}") + + # Write back the updated lines + write_file_lines(config_path, new_lines) + + logger.info(f"Added configuration entry {key} for account {account}") + return {"status": "success", "message": f"Added configuration entry {key}"} + + except HTTPException: + raise + except Exception as e: + logger.error(f"Error adding configuration entry for account {account}: {str(e)}") + raise HTTPException(status_code=500, detail=f"Failed to add configuration entry: {str(e)}") + +@app.post("/account_config/{account}/array/add") +async def add_array_item(account: str, entry: ArrayConfigEntry): + """ + Add an item to an array configuration entry. + For example: add a new username to blogger-followers. + """ + try: + accounts_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "accounts") + account_dir = os.path.join(accounts_dir, account) + config_path = os.path.join(account_dir, "config.yml") + + if not os.path.exists(account_dir): + raise HTTPException(status_code=404, detail=f"Account {account} not found") + + # Read file while preserving format + try: + lines = read_file_lines(config_path) + current_config = yaml.safe_load(''.join(lines)) or {} + except FileNotFoundError: + raise HTTPException(status_code=404, detail=f"Configuration file not found") + + # Convert key to use hyphens + key = entry.key.replace('_', '-') + + # Get current array value + current_value = current_config.get(key, []) + if isinstance(current_value, str): + try: + import ast + current_value = ast.literal_eval(current_value) + except: + current_value = [] + if not isinstance(current_value, list): + current_value = [] + + # Add new item if not present + if entry.item not in current_value: + current_value.append(entry.item) + + # Update the lines while preserving format + new_lines = update_yaml_value_in_lines(lines, key, current_value) + + # Validate the complete configuration + try: + new_config = yaml.safe_load(''.join(new_lines)) + config_dict = {k.replace('-', '_'): v for k, v in new_config.items()} + config_dict.pop('username', None) + AccountConfig(username=account, **config_dict) + except Exception as e: + raise HTTPException(status_code=400, detail=f"Invalid configuration: {str(e)}") + + # Write back the updated lines + write_file_lines(config_path, new_lines) + + logger.info(f"Added item to array {key} for account {account}") + return {"status": "success", "message": f"Added item to array {key}"} + + except HTTPException: + raise + except Exception as e: + logger.error(f"Error adding array item for account {account}: {str(e)}") + raise HTTPException(status_code=500, detail=f"Failed to add array item: {str(e)}") + +@app.delete("/account_config/{account}/add") +async def remove_config_entry(account: str, key: str): + """ + Remove a single configuration entry. + For example: remove a configuration value completely. + """ + try: + accounts_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "accounts") + account_dir = os.path.join(accounts_dir, account) + config_path = os.path.join(account_dir, "config.yml") + + if not os.path.exists(account_dir): + raise HTTPException(status_code=404, detail=f"Account {account} not found") + + # Read existing config + try: + with open(config_path, 'r') as f: + current_config = yaml.safe_load(f) or {} + except FileNotFoundError: + raise HTTPException(status_code=404, detail=f"Configuration file not found") + + # Convert key to use hyphens + key = key.replace('_', '-') + + # Remove entry if it exists + if key not in current_config: + raise HTTPException(status_code=404, detail=f"Configuration entry {key} not found") + + current_config.pop(key) + + # Validate config + try: + config_dict = {k.replace('-', '_'): v for k, v in current_config.items()} + config_dict.pop('username', None) + AccountConfig(username=account, **config_dict) + except Exception as e: + raise HTTPException(status_code=400, detail=f"Invalid configuration: {str(e)}") + + # Save updated config + with open(config_path, 'w') as f: + yaml.safe_dump(current_config, f, default_flow_style=False) + + logger.info(f"Removed configuration entry {key} for account {account}") + return {"status": "success", "message": f"Removed configuration entry {key}"} + + except HTTPException: + raise + except Exception as e: + logger.error(f"Error removing configuration entry for account {account}: {str(e)}") + raise HTTPException(status_code=500, detail=f"Failed to remove configuration entry: {str(e)}") + +@app.post("/account_config/{account}/array/add") +async def add_array_item(account: str, entry: ArrayConfigEntry): + """ + Add an item to an array configuration entry. + For example: add a new username to blogger-followers. + """ + try: + accounts_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "accounts") + account_dir = os.path.join(accounts_dir, account) + config_path = os.path.join(account_dir, "config.yml") + + if not os.path.exists(account_dir): + raise HTTPException(status_code=404, detail=f"Account {account} not found") + + # Read file while preserving format + try: + lines = read_file_lines(config_path) + current_config = yaml.safe_load(''.join(lines)) or {} + except FileNotFoundError: + raise HTTPException(status_code=404, detail=f"Configuration file not found") + + # Convert key to use hyphens + key = entry.key.replace('_', '-') + + # Get current array value + current_value = current_config.get(key, []) + if isinstance(current_value, str): + try: + import ast + current_value = ast.literal_eval(current_value) + except: + current_value = [] + if not isinstance(current_value, list): + current_value = [] + + # Add new item if not present + if entry.item not in current_value: + current_value.append(entry.item) + + # Update the lines while preserving format + new_lines = update_yaml_value_in_lines(lines, key, current_value) + + # Validate the complete configuration + try: + new_config = yaml.safe_load(''.join(new_lines)) + config_dict = {k.replace('-', '_'): v for k, v in new_config.items()} + config_dict.pop('username', None) + AccountConfig(username=account, **config_dict) + except Exception as e: + raise HTTPException(status_code=400, detail=f"Invalid configuration: {str(e)}") + + # Write back the updated lines + write_file_lines(config_path, new_lines) + + logger.info(f"Added item to array {key} for account {account}") + return {"status": "success", "message": f"Added item to array {key}"} + + except HTTPException: + raise + except Exception as e: + logger.error(f"Error adding array item for account {account}: {str(e)}") + raise HTTPException(status_code=500, detail=f"Failed to add array item: {str(e)}") + +@app.delete("/account_config/{account}/array/{key}/remove") +async def remove_array_item(account: str, key: str, entry: ArrayConfigEntry): + """ + Remove an item from an array configuration entry. + For example: remove a username from blogger-followers. + """ + try: + accounts_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "accounts") + account_dir = os.path.join(accounts_dir, account) + config_path = os.path.join(account_dir, "config.yml") + + if not os.path.exists(account_dir): + raise HTTPException(status_code=404, detail=f"Account {account} not found") + + # Read file while preserving format + try: + lines = read_file_lines(config_path) + current_config = yaml.safe_load(''.join(lines)) or {} + except FileNotFoundError: + raise HTTPException(status_code=404, detail=f"Configuration file not found") + + # Convert key to use hyphens + key = key.replace('_', '-') + + # Get current array value + current_value = current_config.get(key, []) + if isinstance(current_value, str): + try: + import ast + current_value = ast.literal_eval(current_value) + except: + current_value = [] + if not isinstance(current_value, list): + current_value = [] + + # Remove item if it exists + if entry.item not in current_value: + raise HTTPException(status_code=404, detail=f"Item not found in array {key}") + + current_value.remove(entry.item) + + # Update the lines while preserving format + new_lines = update_yaml_value_in_lines(lines, key, current_value) + + # Validate the complete configuration + try: + new_config = yaml.safe_load(''.join(new_lines)) + config_dict = {k.replace('-', '_'): v for k, v in new_config.items()} + config_dict.pop('username', None) + AccountConfig(username=account, **config_dict) + except Exception as e: + raise HTTPException(status_code=400, detail=f"Invalid configuration: {str(e)}") + + # Write back the updated lines + write_file_lines(config_path, new_lines) + + logger.info(f"Removed item from array {key} for account {account}") + return {"status": "success", "message": f"Removed item from array {key}"} + + except HTTPException: + raise + except Exception as e: + logger.error(f"Error removing array item for account {account}: {str(e)}") + raise HTTPException(status_code=500, detail=f"Failed to remove array item: {str(e)}") + +def read_file_lines(file_path: str) -> list[str]: + """Read file and return lines while preserving format""" + with open(file_path, 'r') as f: + return f.readlines() + +def write_file_lines(file_path: str, lines: list[str]): + """Write lines back to file""" + with open(file_path, 'w') as f: + f.writelines(lines) + +def update_yaml_value_in_lines(lines: list[str], key: str, value: Any) -> list[str]: + """Update a specific key's value in the YAML lines while preserving format""" + new_lines = [] + key_found = False + + for line in lines: + if line.strip().startswith(f"{key}:"): + # Preserve any inline comments + comment = "" + if "#" in line: + comment = " " + line.split("#", 1)[1].rstrip() + + # Format the value appropriately + if isinstance(value, list): + formatted_value = str(value).replace("'", '"') + else: + formatted_value = str(value) + + new_lines.append(f"{key}: {formatted_value}{comment}\n") + key_found = True + else: + new_lines.append(line) + + if not key_found: + # Add new key at the end of the appropriate section + new_lines.append(f"{key}: {value}\n") + + return new_lines diff --git a/api/plugins/__init__.py b/api/plugins/__init__.py new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/api/plugins/__init__.py @@ -0,0 +1 @@ + diff --git a/api/plugins/__pycache__/__init__.cpython-312.pyc b/api/plugins/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 00000000..a66ca6fc Binary files /dev/null and b/api/plugins/__pycache__/__init__.cpython-312.pyc differ diff --git a/api/plugins/__pycache__/__init__.cpython-39.pyc b/api/plugins/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..1f256ecf Binary files /dev/null and b/api/plugins/__pycache__/__init__.cpython-39.pyc differ diff --git a/api/plugins/__pycache__/base_plugin.cpython-312.pyc b/api/plugins/__pycache__/base_plugin.cpython-312.pyc new file mode 100644 index 00000000..09fa60e9 Binary files /dev/null and b/api/plugins/__pycache__/base_plugin.cpython-312.pyc differ diff --git a/api/plugins/__pycache__/base_plugin.cpython-39.pyc b/api/plugins/__pycache__/base_plugin.cpython-39.pyc new file mode 100644 index 00000000..6ac43bab Binary files /dev/null and b/api/plugins/__pycache__/base_plugin.cpython-39.pyc differ diff --git a/api/plugins/__pycache__/plugin_loader.cpython-312.pyc b/api/plugins/__pycache__/plugin_loader.cpython-312.pyc new file mode 100644 index 00000000..31b9ecb9 Binary files /dev/null and b/api/plugins/__pycache__/plugin_loader.cpython-312.pyc differ diff --git a/api/plugins/__pycache__/plugin_loader.cpython-39.pyc b/api/plugins/__pycache__/plugin_loader.cpython-39.pyc new file mode 100644 index 00000000..abc718ea Binary files /dev/null and b/api/plugins/__pycache__/plugin_loader.cpython-39.pyc differ diff --git a/api/plugins/__pycache__/sync_plugin.cpython-39.pyc b/api/plugins/__pycache__/sync_plugin.cpython-39.pyc new file mode 100644 index 00000000..11d1625b Binary files /dev/null and b/api/plugins/__pycache__/sync_plugin.cpython-39.pyc differ diff --git a/api/plugins/base_plugin.py b/api/plugins/base_plugin.py new file mode 100644 index 00000000..55b67e99 --- /dev/null +++ b/api/plugins/base_plugin.py @@ -0,0 +1,19 @@ +from abc import ABC, abstractmethod + +class BasePlugin(ABC): + """Base class for all plugins""" + + @abstractmethod + def initialize(self): + """Initialize the plugin""" + pass + + @abstractmethod + def cleanup(self): + """Cleanup resources""" + pass + + @abstractmethod + def sync_data(self): + """Sync data with external storage""" + pass diff --git a/api/plugins/plugin_loader.py b/api/plugins/plugin_loader.py new file mode 100644 index 00000000..cb596bb8 --- /dev/null +++ b/api/plugins/plugin_loader.py @@ -0,0 +1,31 @@ +import logging +from typing import Optional +from .base_plugin import BasePlugin + +logger = logging.getLogger(__name__) + +class PluginLoader: + """Loads and manages plugins""" + + def __init__(self): + self.plugins = {} + + def load_sync_plugin(self) -> Optional[BasePlugin]: + """Load the sync plugin""" + try: + # Here you would typically load your sync plugin + # For now, we'll return None as a placeholder + logger.info("Loading sync plugin...") + return None + except Exception as e: + logger.error(f"Failed to load sync plugin: {e}") + return None + + def cleanup_plugins(self): + """Cleanup all loaded plugins""" + for plugin in self.plugins.values(): + try: + plugin.cleanup() + except Exception as e: + logger.error(f"Error cleaning up plugin: {e}") + self.plugins.clear() diff --git a/api/tests/__pycache__/__init__.cpython-39.pyc b/api/tests/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..5fc56416 Binary files /dev/null and b/api/tests/__pycache__/__init__.cpython-39.pyc differ diff --git a/api/tests/__pycache__/conftest.cpython-39-pytest-7.4.0.pyc b/api/tests/__pycache__/conftest.cpython-39-pytest-7.4.0.pyc new file mode 100644 index 00000000..650b2fe4 Binary files /dev/null and b/api/tests/__pycache__/conftest.cpython-39-pytest-7.4.0.pyc differ diff --git a/api/tests/__pycache__/test_api.cpython-39-pytest-7.4.0.pyc b/api/tests/__pycache__/test_api.cpython-39-pytest-7.4.0.pyc new file mode 100644 index 00000000..08ea606b Binary files /dev/null and b/api/tests/__pycache__/test_api.cpython-39-pytest-7.4.0.pyc differ diff --git a/api/tests/__pycache__/test_history.cpython-39-pytest-7.4.0.pyc b/api/tests/__pycache__/test_history.cpython-39-pytest-7.4.0.pyc new file mode 100644 index 00000000..7c2797b3 Binary files /dev/null and b/api/tests/__pycache__/test_history.cpython-39-pytest-7.4.0.pyc differ diff --git a/api/tests/__pycache__/test_plugins.cpython-39-pytest-7.4.0.pyc b/api/tests/__pycache__/test_plugins.cpython-39-pytest-7.4.0.pyc new file mode 100644 index 00000000..aab1b1c0 Binary files /dev/null and b/api/tests/__pycache__/test_plugins.cpython-39-pytest-7.4.0.pyc differ diff --git a/backup_config.py b/backup_config.py new file mode 100644 index 00000000..8e950d1c --- /dev/null +++ b/backup_config.py @@ -0,0 +1,17 @@ +import os +import shutil + +backup_dir = "config-backup/quecreate" +if not os.path.exists(backup_dir): + os.makedirs(backup_dir) + +files_to_backup = [ + "accounts/quecreate/config.yml", + "accounts/quecreate/filters.yml", + "accounts/quecreate/nocodb.yml" +] + +for file in files_to_backup: + if os.path.exists(file): + shutil.copy2(file, os.path.join(backup_dir, os.path.basename(file))) + print(f"Backed up {file}") diff --git a/config-backup/quecreate/config.yml b/config-backup/quecreate/config.yml new file mode 100644 index 00000000..0f9f19a6 --- /dev/null +++ b/config-backup/quecreate/config.yml @@ -0,0 +1,127 @@ +############################################################################## +# For more information on parameters, refer to: +# https://docs.gramaddict.org/#/configuration?id=configuration-file +# +# Note: be sure to comment out any parameters not used by adding a # in front +# AGAIN: YOU DON'T HAVE TO DELETE THE LINE, BUT ONLY COMMENT IT WITH A #! +############################################################################## +# General Configuration +############################################################################## + +username: quecreate # you have to put your IG name here! +# device: put_your_device_id_there # 'adb devices' in the console to know it. It's needed only if you have more than 1 device connected +app-id: com.instagram.android +use-cloned-app: false +allow-untested-ig-version: false # Using an untested version of IG would cause unexpected behavior because some elements in the user interface may have been changed +screen-sleep: true +screen-record: false +speed-multiplier: 1.0 +debug: true +close-apps: false +kill-atx-agent: false +restart-atx-agent: false +disable-block-detection: false +disable-filters: false +dont-type: false +use-nocodb: true +init-db: true +# scrape_to_file: scraped.txt +total-crashes-limit: 5 +count-app-crashes: false +shuffle-jobs: true +truncate-sources: 2-5 + +############################################################################## +# Actions +############################################################################## + +## Interaction (active jobs) +blogger-followers: ["ledianaprengaa"] +# feed: 2-5 # is the number of likes you will give in feed + +## Special modifier for jobs and sources +watch-video-time: 15-35 +watch-photo-time: 3-4 +# can-reinteract-after: 48 # the amount of hours that have to pass from the last interaction +delete-interacted-users: true + +## Unfollow (unfollow jobs) +# unfollow: 10-20 +# unfollow-any: 10-20 +# unfollow-non-followers: 10-20 +# unfollow-any-non-followers: 10-20 +# unfollow-any-followers: 10-20 +# unfollow-from-file: [usernames1.txt 7-15, usernames2.txt 6] + +## Special modifier for unfollow jobs +# sort-followers-newest-to-oldest: false +# unfollow-delay: 15 + +## Remove followers (active jobs) +# remove-followers-from-file: [remove1.txt 5-10, remove2.txt 6] + +## Special modifier for remove followers +# delete-removed-followers: true + +## Post Processing +# analytics: false # no more supported +telegram-reports: false # for using telegram-reports you have also to configure telegram.yml in your account folder + +## Special actions +# pre-script: pre_script_path_here +# post-script: post_script_path_here + +############################################################################## +# Source Limits +############################################################################## + +interactions-count: 300-400 +likes-count: 1-2 +likes-percentage: 100 +stories-count: 10-20 +stories-percentage: 30-40 +carousel-count: 20-30 +carousel-percentage: 60-70 +max-comments-pro-user: 1-2 +# comment-percentage: 30-40 +# pm-percentage: 30-40 +interact-percentage: 30-40 +follow-percentage: 30-40 +follow-limit: 50 +skipped-list-limit: 10-15 +skipped-posts-limit: 5 +fling-when-skipped: 0 +min-following: 10 + +############################################################################## +# Total Limits Per Session +############################################################################## + +total-likes-limit: 120-150 +total-follows-limit: 40-50 +total-unfollows-limit: 40-50 +total-watches-limit: 120-150 +total-successful-interactions-limit: 120-150 +total-interactions-limit: 280-300 +total-comments-limit: 3-50 +total-pm-limit: 3-5 +total-scraped-limit: 100-150 + +############################################################################## +# Ending Session Conditions +############################################################################## + +end-if-likes-limit-reached: false +end-if-follows-limit-reached: false +end-if-watches-limit-reached: false +end-if-comments-limit-reached: false +end-if-pm-limit-reached: false + +############################################################################## +# Scheduling +############################################################################## + +# working-hours: [10.15-16.40, 18.15-22.46] +# time-delta: 10-15 +# repeat: 280-320 +# total-sessions: 1 # -1 or commented for infinite sessions diff --git a/config-backup/quecreate/filters.yml b/config-backup/quecreate/filters.yml new file mode 100644 index 00000000..e89ea74b --- /dev/null +++ b/config-backup/quecreate/filters.yml @@ -0,0 +1,103 @@ +############################################################################## +# For more information on filters, refer to: +# https://docs.gramaddict.org/#/configuration?id=available-filters +# +# Note: be sure to comment out any filter not used by adding a # in front +# AGAIN: YOU DON'T HAVE TO DELETE THE LINE, BUT ONLY COMMENT IT WITH A #! +############################################################################## + +## Filters on profile type +# Profile Filters +max_following: 7500 +min_following: 10 +max_followers: 15000 +min_followers: 100 +max_posts: 1000 +min_posts: 3 +max_following_to_followers_ratio: 2.0 +min_following_to_followers_ratio: null +max_followers_to_following_ratio: null +min_followers_to_following_ratio: null +max_potency_ratio: 1.5 +min_potency_ratio: 0.1 +biography_language: null +biography_banned_words: [] +biography_mandatory_words: [] +business_category_name: [] +is_private: null +is_verified: null +is_business: null +is_non_business: null +blacklist_words: [] +mandatory_words: [] +specific_alphabet: null +min_posts_from_date: null +posts_from_date: null +mutual_friends: null +following_bot: null +last_post: null +potency_ratio: null +has_any_business_category: null +has_highlights: null +has_guides: null +has_external_url: null +has_business_category_name: null +has_biography_links: null +has_igtv: null +has_linked_facebook: null +has_story_highlights: null +has_youtube: null +has_twitter: null +has_facebook: null +has_whatsapp: null +has_tiktok: null + +## Filters on profile stats +# Skip if profile has... +skip_if_link_in_bio: false +skip_if_external_url: false +skip_if_business: false +skip_business_categories: [] +skip_bio_keyword: [] +skip_if_bio_keyword: [] +skip_if_bio_contains_anything: false + +## Filters on biography and name +# Skip if profile has no... +skip_if_no_avatar: false +skip_if_no_bio: false +skip_if_no_posts: false +skip_if_no_igtv: false +skip_if_no_story_highlights: false +skip_if_no_mutual_friends: false + +## Filters for enabling comments +# Skip if profile is... +skip_if_private: false +skip_if_public: false +skip_if_verified: false +skip_if_non_business: false +skip_if_following_bot: false + +## Filters for sending PM +# Skip if profile has less than... +skip_if_following_less_than: null +skip_if_followers_less_than: null +skip_if_posts_less_than: null +skip_if_mutual_friends_less_than: null + +## Filters on number of post likers +# Skip if profile has more than... +skip_if_following_more_than: null +skip_if_followers_more_than: null +skip_if_posts_more_than: null +skip_if_mutual_friends_more_than: null + +## Filters on potency ratio +# Skip if profile has ratio... +skip_if_following_to_followers_ratio_less_than: null +skip_if_following_to_followers_ratio_more_than: null +skip_if_followers_to_following_ratio_less_than: null +skip_if_followers_to_following_ratio_more_than: null +skip_if_potency_ratio_less_than: null +skip_if_potency_ratio_more_than: null diff --git a/config-backup/quecreate/nocodb.yml b/config-backup/quecreate/nocodb.yml new file mode 100644 index 00000000..678f787c --- /dev/null +++ b/config-backup/quecreate/nocodb.yml @@ -0,0 +1,56 @@ +api_token: M1prg3pL9C9GJP960dyzVvSws3oztsuimBpnTkYS +base_id: pvazjom12m1ho5k +base_url: http://192.168.50.114:8080 +table_schemas: + interacted_users: + table_name: interacted_users + title: Interacted Users + columns: + - column_name: User Id + title: User Id + uidt: SingleLineText + dt: varchar + - column_name: Username + title: Username + uidt: SingleLineText + dt: varchar + - column_name: Full Name + title: Full Name + uidt: SingleLineText + dt: varchar + - column_name: Profile URL + title: Profile URL + uidt: SingleLineText + dt: varchar + - column_name: Interaction Type + title: Interaction Type + uidt: SingleLineText + dt: varchar + - column_name: Success + title: Success + uidt: Checkbox + dt: boolean + - column_name: Timestamp + title: Timestamp + uidt: DateTime + dt: datetime + history_filters_users: + table_name: history_filters_users + title: History Filters Users + columns: + - column_name: User Id + title: User Id + uidt: SingleLineText + dt: varchar + - column_name: Username + title: Username + uidt: SingleLineText + dt: varchar + - column_name: Filtered At + title: Filtered At + uidt: DateTime + dt: datetime + - column_name: Filter Type + title: Filter Type + uidt: SingleLineText + dt: varchar diff --git a/crashes/3.2.12_2024-11-24-17-55-07.zip b/crashes/3.2.12_2024-11-24-17-55-07.zip new file mode 100644 index 00000000..0f3c491d Binary files /dev/null and b/crashes/3.2.12_2024-11-24-17-55-07.zip differ diff --git a/crashes/3.2.12_2024-11-24-19-20-34.zip b/crashes/3.2.12_2024-11-24-19-20-34.zip new file mode 100644 index 00000000..ec293a76 Binary files /dev/null and b/crashes/3.2.12_2024-11-24-19-20-34.zip differ diff --git a/crashes/3.2.12_2024-11-24-20-33-42.zip b/crashes/3.2.12_2024-11-24-20-33-42.zip new file mode 100644 index 00000000..fc1d07a7 Binary files /dev/null and b/crashes/3.2.12_2024-11-24-20-33-42.zip differ diff --git a/crashes/3.2.12_2024-11-24-20-34-13.zip b/crashes/3.2.12_2024-11-24-20-34-13.zip new file mode 100644 index 00000000..ce3548f0 Binary files /dev/null and b/crashes/3.2.12_2024-11-24-20-34-13.zip differ diff --git a/crashes/3.2.12_2024-11-24-20-36-21.zip b/crashes/3.2.12_2024-11-24-20-36-21.zip new file mode 100644 index 00000000..faa2306b Binary files /dev/null and b/crashes/3.2.12_2024-11-24-20-36-21.zip differ diff --git a/crashes/3.2.12_2024-11-24-20-36-49.zip b/crashes/3.2.12_2024-11-24-20-36-49.zip new file mode 100644 index 00000000..755239f9 Binary files /dev/null and b/crashes/3.2.12_2024-11-24-20-36-49.zip differ diff --git a/crashes/3.2.12_2024-11-24-20-37-34.zip b/crashes/3.2.12_2024-11-24-20-37-34.zip new file mode 100644 index 00000000..4e0e599a Binary files /dev/null and b/crashes/3.2.12_2024-11-24-20-37-34.zip differ diff --git a/crashes/3.2.12_2024-11-24-21-52-01.zip b/crashes/3.2.12_2024-11-24-21-52-01.zip new file mode 100644 index 00000000..84c6af28 Binary files /dev/null and b/crashes/3.2.12_2024-11-24-21-52-01.zip differ diff --git a/crashes/3.2.12_2024-11-24-21-52-08.zip b/crashes/3.2.12_2024-11-24-21-52-08.zip new file mode 100644 index 00000000..a78c7653 Binary files /dev/null and b/crashes/3.2.12_2024-11-24-21-52-08.zip differ diff --git a/crashes/3.2.12_2024-11-24-21-52-09.zip b/crashes/3.2.12_2024-11-24-21-52-09.zip new file mode 100644 index 00000000..87b0d755 Binary files /dev/null and b/crashes/3.2.12_2024-11-24-21-52-09.zip differ diff --git a/crashes/3.2.12_2024-11-24-21-58-16.zip b/crashes/3.2.12_2024-11-24-21-58-16.zip new file mode 100644 index 00000000..38e9c386 Binary files /dev/null and b/crashes/3.2.12_2024-11-24-21-58-16.zip differ diff --git a/crashes/3.2.12_2024-11-24-21-58-42.zip b/crashes/3.2.12_2024-11-24-21-58-42.zip new file mode 100644 index 00000000..97c3d34d Binary files /dev/null and b/crashes/3.2.12_2024-11-24-21-58-42.zip differ diff --git a/crashes/3.2.12_2024-11-24-21-58-49.zip b/crashes/3.2.12_2024-11-24-21-58-49.zip new file mode 100644 index 00000000..55847894 Binary files /dev/null and b/crashes/3.2.12_2024-11-24-21-58-49.zip differ diff --git a/crashes/3.2.12_2024-11-24-22-12-02.zip b/crashes/3.2.12_2024-11-24-22-12-02.zip new file mode 100644 index 00000000..6de2ee88 Binary files /dev/null and b/crashes/3.2.12_2024-11-24-22-12-02.zip differ diff --git a/crashes/3.2.12_2024-11-24-22-57-34.zip b/crashes/3.2.12_2024-11-24-22-57-34.zip new file mode 100644 index 00000000..71f4d21b Binary files /dev/null and b/crashes/3.2.12_2024-11-24-22-57-34.zip differ diff --git a/crashes/3.2.12_2024-11-24-23-13-40.zip b/crashes/3.2.12_2024-11-24-23-13-40.zip new file mode 100644 index 00000000..94ac66be Binary files /dev/null and b/crashes/3.2.12_2024-11-24-23-13-40.zip differ diff --git a/crashes/3.2.12_2024-11-24-23-40-13.zip b/crashes/3.2.12_2024-11-24-23-40-13.zip new file mode 100644 index 00000000..2c4e3f3d Binary files /dev/null and b/crashes/3.2.12_2024-11-24-23-40-13.zip differ diff --git a/crashes/3.2.12_2024-11-25-00-58-50.zip b/crashes/3.2.12_2024-11-25-00-58-50.zip new file mode 100644 index 00000000..490c0c20 Binary files /dev/null and b/crashes/3.2.12_2024-11-25-00-58-50.zip differ diff --git a/crashes/3.2.12_2024-11-25-01-01-40.zip b/crashes/3.2.12_2024-11-25-01-01-40.zip new file mode 100644 index 00000000..e0545bfb Binary files /dev/null and b/crashes/3.2.12_2024-11-25-01-01-40.zip differ diff --git a/crashes/3.2.12_2024-11-26-01-34-46.zip b/crashes/3.2.12_2024-11-26-01-34-46.zip new file mode 100644 index 00000000..06a62f9d Binary files /dev/null and b/crashes/3.2.12_2024-11-26-01-34-46.zip differ diff --git a/crashes/3.2.12_2024-11-26-01-36-52.zip b/crashes/3.2.12_2024-11-26-01-36-52.zip new file mode 100644 index 00000000..a1095d8e Binary files /dev/null and b/crashes/3.2.12_2024-11-26-01-36-52.zip differ diff --git a/crashes/3.2.12_2024-11-26-04-31-08.zip b/crashes/3.2.12_2024-11-26-04-31-08.zip new file mode 100644 index 00000000..8dd25123 Binary files /dev/null and b/crashes/3.2.12_2024-11-26-04-31-08.zip differ diff --git a/crashes/3.2.12_2024-11-26-04-34-31.zip b/crashes/3.2.12_2024-11-26-04-34-31.zip new file mode 100644 index 00000000..e551a1cc Binary files /dev/null and b/crashes/3.2.12_2024-11-26-04-34-31.zip differ diff --git a/crashes/3.2.12_2024-11-26-05-01-22.zip b/crashes/3.2.12_2024-11-26-05-01-22.zip new file mode 100644 index 00000000..14239410 Binary files /dev/null and b/crashes/3.2.12_2024-11-26-05-01-22.zip differ diff --git a/crashes/3.2.12_2024-11-26-05-07-04.zip b/crashes/3.2.12_2024-11-26-05-07-04.zip new file mode 100644 index 00000000..b17f8789 Binary files /dev/null and b/crashes/3.2.12_2024-11-26-05-07-04.zip differ diff --git a/crashes/3.2.12_2024-11-26-08-48-20.zip b/crashes/3.2.12_2024-11-26-08-48-20.zip new file mode 100644 index 00000000..0ea88edd Binary files /dev/null and b/crashes/3.2.12_2024-11-26-08-48-20.zip differ diff --git a/crashes/3.2.12_2024-11-26-11-10-29.zip b/crashes/3.2.12_2024-11-26-11-10-29.zip new file mode 100644 index 00000000..71d16a13 Binary files /dev/null and b/crashes/3.2.12_2024-11-26-11-10-29.zip differ diff --git a/crashes/3.2.12_2024-11-26-11-10-37.zip b/crashes/3.2.12_2024-11-26-11-10-37.zip new file mode 100644 index 00000000..aa462c23 Binary files /dev/null and b/crashes/3.2.12_2024-11-26-11-10-37.zip differ diff --git a/crashes/3.2.12_2024-11-26-11-10-54.zip b/crashes/3.2.12_2024-11-26-11-10-54.zip new file mode 100644 index 00000000..c06ff427 Binary files /dev/null and b/crashes/3.2.12_2024-11-26-11-10-54.zip differ diff --git a/crashes/3.2.12_2024-11-26-11-16-11.zip b/crashes/3.2.12_2024-11-26-11-16-11.zip new file mode 100644 index 00000000..364e92d1 Binary files /dev/null and b/crashes/3.2.12_2024-11-26-11-16-11.zip differ diff --git a/crashes/3.2.12_2024-11-26-11-16-15.zip b/crashes/3.2.12_2024-11-26-11-16-15.zip new file mode 100644 index 00000000..c38f2629 Binary files /dev/null and b/crashes/3.2.12_2024-11-26-11-16-15.zip differ diff --git a/crashes/3.2.12_2024-11-26-11-16-21.zip b/crashes/3.2.12_2024-11-26-11-16-21.zip new file mode 100644 index 00000000..53d272f4 Binary files /dev/null and b/crashes/3.2.12_2024-11-26-11-16-21.zip differ diff --git a/crashes/3.2.12_2024-11-26-13-15-51.zip b/crashes/3.2.12_2024-11-26-13-15-51.zip new file mode 100644 index 00000000..4d048917 Binary files /dev/null and b/crashes/3.2.12_2024-11-26-13-15-51.zip differ diff --git a/crashes/3.2.12_2024-11-26-13-15-52.zip b/crashes/3.2.12_2024-11-26-13-15-52.zip new file mode 100644 index 00000000..d3f2b34c Binary files /dev/null and b/crashes/3.2.12_2024-11-26-13-15-52.zip differ diff --git a/crashes/3.2.12_2024-11-26-13-15-54.zip b/crashes/3.2.12_2024-11-26-13-15-54.zip new file mode 100644 index 00000000..3b4fb25b Binary files /dev/null and b/crashes/3.2.12_2024-11-26-13-15-54.zip differ diff --git a/crashes/3.2.12_2024-11-26-14-21-56.zip b/crashes/3.2.12_2024-11-26-14-21-56.zip new file mode 100644 index 00000000..0af0d21d Binary files /dev/null and b/crashes/3.2.12_2024-11-26-14-21-56.zip differ diff --git a/crashes/3.2.12_2024-11-27-13-56-14.zip b/crashes/3.2.12_2024-11-27-13-56-14.zip new file mode 100644 index 00000000..01d7f8a0 Binary files /dev/null and b/crashes/3.2.12_2024-11-27-13-56-14.zip differ diff --git a/crashes/3.2.12_2024-11-27-14-00-49.zip b/crashes/3.2.12_2024-11-27-14-00-49.zip new file mode 100644 index 00000000..882dd4d4 Binary files /dev/null and b/crashes/3.2.12_2024-11-27-14-00-49.zip differ diff --git a/crashes/3.2.12_2024-11-27-14-03-24.zip b/crashes/3.2.12_2024-11-27-14-03-24.zip new file mode 100644 index 00000000..38a1f392 Binary files /dev/null and b/crashes/3.2.12_2024-11-27-14-03-24.zip differ diff --git a/crashes/3.2.12_2024-11-27-14-12-24.zip b/crashes/3.2.12_2024-11-27-14-12-24.zip new file mode 100644 index 00000000..cdbabd10 Binary files /dev/null and b/crashes/3.2.12_2024-11-27-14-12-24.zip differ diff --git a/crashes/3.2.12_2024-11-27-14-14-31.zip b/crashes/3.2.12_2024-11-27-14-14-31.zip new file mode 100644 index 00000000..f127d135 Binary files /dev/null and b/crashes/3.2.12_2024-11-27-14-14-31.zip differ diff --git a/crashes/3.2.12_2024-11-28-01-12-21.zip b/crashes/3.2.12_2024-11-28-01-12-21.zip new file mode 100644 index 00000000..75491fdc Binary files /dev/null and b/crashes/3.2.12_2024-11-28-01-12-21.zip differ diff --git a/crashes/3.2.12_2024-11-28-02-41-06.zip b/crashes/3.2.12_2024-11-28-02-41-06.zip new file mode 100644 index 00000000..0637a002 Binary files /dev/null and b/crashes/3.2.12_2024-11-28-02-41-06.zip differ diff --git a/crashes/3.2.12_2024-11-28-04-21-38.zip b/crashes/3.2.12_2024-11-28-04-21-38.zip new file mode 100644 index 00000000..5a1cb94f Binary files /dev/null and b/crashes/3.2.12_2024-11-28-04-21-38.zip differ diff --git a/crashes/3.2.12_2024-11-28-04-24-04.zip b/crashes/3.2.12_2024-11-28-04-24-04.zip new file mode 100644 index 00000000..1cd04cdb Binary files /dev/null and b/crashes/3.2.12_2024-11-28-04-24-04.zip differ diff --git a/crashes/3.2.12_2024-11-28-04-27-55.zip b/crashes/3.2.12_2024-11-28-04-27-55.zip new file mode 100644 index 00000000..9cf61914 Binary files /dev/null and b/crashes/3.2.12_2024-11-28-04-27-55.zip differ diff --git a/crashes/3.2.12_2024-11-28-04-28-19.zip b/crashes/3.2.12_2024-11-28-04-28-19.zip new file mode 100644 index 00000000..ae56c8ff Binary files /dev/null and b/crashes/3.2.12_2024-11-28-04-28-19.zip differ diff --git a/crashes/3.2.12_2024-11-29-01-12-49.zip b/crashes/3.2.12_2024-11-29-01-12-49.zip new file mode 100644 index 00000000..7343f1c6 Binary files /dev/null and b/crashes/3.2.12_2024-11-29-01-12-49.zip differ diff --git a/crashes/3.2.12_2024-11-29-01-13-11.zip b/crashes/3.2.12_2024-11-29-01-13-11.zip new file mode 100644 index 00000000..b5ca6107 Binary files /dev/null and b/crashes/3.2.12_2024-11-29-01-13-11.zip differ diff --git a/crashes/3.2.12_2024-11-29-02-17-46.zip b/crashes/3.2.12_2024-11-29-02-17-46.zip new file mode 100644 index 00000000..492ef08f Binary files /dev/null and b/crashes/3.2.12_2024-11-29-02-17-46.zip differ diff --git a/crashes/3.2.12_2024-11-29-03-50-50.zip b/crashes/3.2.12_2024-11-29-03-50-50.zip new file mode 100644 index 00000000..9b6fd2d6 Binary files /dev/null and b/crashes/3.2.12_2024-11-29-03-50-50.zip differ diff --git a/crashes/3.2.12_2024-11-29-03-51-10.zip b/crashes/3.2.12_2024-11-29-03-51-10.zip new file mode 100644 index 00000000..f8712921 Binary files /dev/null and b/crashes/3.2.12_2024-11-29-03-51-10.zip differ diff --git a/crashes/3.2.12_2024-11-29-03-51-30.zip b/crashes/3.2.12_2024-11-29-03-51-30.zip new file mode 100644 index 00000000..e0296d32 Binary files /dev/null and b/crashes/3.2.12_2024-11-29-03-51-30.zip differ diff --git a/crashes/3.2.12_2024-11-29-03-51-53.zip b/crashes/3.2.12_2024-11-29-03-51-53.zip new file mode 100644 index 00000000..e8887c73 Binary files /dev/null and b/crashes/3.2.12_2024-11-29-03-51-53.zip differ diff --git a/crashes/3.2.12_2024-11-29-03-52-14.zip b/crashes/3.2.12_2024-11-29-03-52-14.zip new file mode 100644 index 00000000..7c910617 Binary files /dev/null and b/crashes/3.2.12_2024-11-29-03-52-14.zip differ diff --git a/crashes/3.2.12_2024-11-29-04-29-46.zip b/crashes/3.2.12_2024-11-29-04-29-46.zip new file mode 100644 index 00000000..dfc140bb Binary files /dev/null and b/crashes/3.2.12_2024-11-29-04-29-46.zip differ diff --git a/crashes/3.2.12_2024-11-30-05-28-45.zip b/crashes/3.2.12_2024-11-30-05-28-45.zip new file mode 100644 index 00000000..d2422727 Binary files /dev/null and b/crashes/3.2.12_2024-11-30-05-28-45.zip differ diff --git a/crashes/3.2.12_2024-11-30-13-25-01.zip b/crashes/3.2.12_2024-11-30-13-25-01.zip new file mode 100644 index 00000000..9180f26c Binary files /dev/null and b/crashes/3.2.12_2024-11-30-13-25-01.zip differ diff --git a/crashes/3.2.12_2024-11-30-13-25-24.zip b/crashes/3.2.12_2024-11-30-13-25-24.zip new file mode 100644 index 00000000..c2a8bcb1 Binary files /dev/null and b/crashes/3.2.12_2024-11-30-13-25-24.zip differ diff --git a/crashes/3.2.12_2024-11-30-13-25-47.zip b/crashes/3.2.12_2024-11-30-13-25-47.zip new file mode 100644 index 00000000..bebadf2a Binary files /dev/null and b/crashes/3.2.12_2024-11-30-13-25-47.zip differ diff --git a/crashes/3.2.12_2024-11-30-13-26-09.zip b/crashes/3.2.12_2024-11-30-13-26-09.zip new file mode 100644 index 00000000..3ce6016e Binary files /dev/null and b/crashes/3.2.12_2024-11-30-13-26-09.zip differ diff --git a/crashes/3.2.12_2024-11-30-13-26-32.zip b/crashes/3.2.12_2024-11-30-13-26-32.zip new file mode 100644 index 00000000..5e4da325 Binary files /dev/null and b/crashes/3.2.12_2024-11-30-13-26-32.zip differ diff --git a/crashes/3.2.12_2024-11-30-13-30-56.zip b/crashes/3.2.12_2024-11-30-13-30-56.zip new file mode 100644 index 00000000..d8d05283 Binary files /dev/null and b/crashes/3.2.12_2024-11-30-13-30-56.zip differ diff --git a/crashes/3.2.12_2024-11-30-13-31-19.zip b/crashes/3.2.12_2024-11-30-13-31-19.zip new file mode 100644 index 00000000..103ba005 Binary files /dev/null and b/crashes/3.2.12_2024-11-30-13-31-19.zip differ diff --git a/crashes/3.2.12_2024-11-30-13-31-44.zip b/crashes/3.2.12_2024-11-30-13-31-44.zip new file mode 100644 index 00000000..724acd0f Binary files /dev/null and b/crashes/3.2.12_2024-11-30-13-31-44.zip differ diff --git a/crashes/3.2.12_2024-11-30-13-32-10.zip b/crashes/3.2.12_2024-11-30-13-32-10.zip new file mode 100644 index 00000000..00777cc7 Binary files /dev/null and b/crashes/3.2.12_2024-11-30-13-32-10.zip differ diff --git a/crashes/3.2.12_2024-11-30-16-13-45.zip b/crashes/3.2.12_2024-11-30-16-13-45.zip new file mode 100644 index 00000000..077b162c Binary files /dev/null and b/crashes/3.2.12_2024-11-30-16-13-45.zip differ diff --git a/crashes/3.2.12_2024-11-30-16-14-07.zip b/crashes/3.2.12_2024-11-30-16-14-07.zip new file mode 100644 index 00000000..8e95990b Binary files /dev/null and b/crashes/3.2.12_2024-11-30-16-14-07.zip differ diff --git a/crashes/3.2.12_2024-11-30-16-14-29.zip b/crashes/3.2.12_2024-11-30-16-14-29.zip new file mode 100644 index 00000000..800ae2e1 Binary files /dev/null and b/crashes/3.2.12_2024-11-30-16-14-29.zip differ diff --git a/crashes/3.2.12_2024-11-30-16-14-52.zip b/crashes/3.2.12_2024-11-30-16-14-52.zip new file mode 100644 index 00000000..2aa8cea5 Binary files /dev/null and b/crashes/3.2.12_2024-11-30-16-14-52.zip differ diff --git a/crashes/3.2.12_2024-11-30-16-15-15.zip b/crashes/3.2.12_2024-11-30-16-15-15.zip new file mode 100644 index 00000000..7e6ace1a Binary files /dev/null and b/crashes/3.2.12_2024-11-30-16-15-15.zip differ diff --git a/docs/NOCODB.md b/docs/NOCODB.md new file mode 100644 index 00000000..61ed4cb2 --- /dev/null +++ b/docs/NOCODB.md @@ -0,0 +1,72 @@ +# NocoDB Integration Guide + +## Overview +This document contains important information about integrating with NocoDB in the Instagram Automation project. + +## Table Schema Conventions + +### Important Notes +1. Column names in NocoDB are case-sensitive and may contain spaces +2. The actual column names in the database must be used exactly as they appear in NocoDB +3. Always verify column names through the NocoDB UI or API before implementing filters + +### Current Table Schemas + +#### history_filters_users +| Column Name | Type | Notes | +|-------------|----------|-------| +| User Id | string | Note the space and capitalization | +| Filter Type | string | Note the space and capitalization | +| filtered_at | datetime | | + +#### interacted_users +| Column Name | Type | Notes | +|-----------------|---------|-------| +| user_id | string | | +| username | string | | +| interaction_at | datetime| | +| session_id | string | | +| job_name | string | | +| target | string | | +| followed | boolean | | +| is_requested | boolean | | +| scraped | boolean | | +| liked_count | integer | | +| watched_count | integer | | +| commented_count | integer | | +| pm_sent | boolean | | +| success | boolean | | + +## API Filter Format +```python +# Single filter +params["where"] = f"({field},{op},{value})" + +# Multiple filters with AND +params["where"] = "~and".join([f"({field},{op},{value})", f"({field2},{op2},{value2})"]) +``` + +## Common Issues +1. **422 Unprocessable Entity Errors** + - Often caused by incorrect column names in filter queries + - Double-check exact column names in NocoDB UI + - Remember that column names are case-sensitive + +2. **Filter Not Returning Results** + - Verify column names match exactly with NocoDB schema + - Check for spaces in column names (e.g., "User Id" not "user_id") + - Ensure filter operators are correct (eq, like, in, etc.) + +## Testing +1. Always run the test suite before committing changes: + ```bash + python test_nocodb.py + ``` +2. Verify both storage and retrieval operations +3. Check logs for any 422 errors or filter mismatches + +## Best Practices +1. Use constants for column names to prevent typos +2. Add logging for filter operations to help debug issues +3. Validate column names during plugin initialization +4. Document any schema changes in this file diff --git a/get-pip.py b/get-pip.py new file mode 100644 index 00000000..74afb5a2 --- /dev/null +++ b/get-pip.py @@ -0,0 +1,28535 @@ +#!/usr/bin/env python +# +# Hi There! +# +# You may be wondering what this giant blob of binary data here is, you might +# even be worried that we're up to something nefarious (good for you for being +# paranoid!). This is a base85 encoding of a zip file, this zip file contains +# an entire copy of pip (version 24.3.1). +# +# Pip is a thing that installs packages, pip itself is a package that someone +# might want to install, especially if they're looking to run this get-pip.py +# script. Pip has a lot of code to deal with the security of installing +# packages, various edge cases on various platforms, and other such sort of +# "tribal knowledge" that has been encoded in its code base. Because of this +# we basically include an entire copy of pip inside this blob. We do this +# because the alternatives are attempt to implement a "minipip" that probably +# doesn't do things correctly and has weird edge cases, or compress pip itself +# down into a single file. +# +# If you're wondering how this is created, it is generated using +# `scripts/generate.py` in https://github.com/pypa/get-pip. + +import sys + +this_python = sys.version_info[:2] +min_version = (3, 8) +if this_python < min_version: + message_parts = [ + "This script does not work on Python {}.{}.".format(*this_python), + "The minimum supported Python version is {}.{}.".format(*min_version), + "Please use https://bootstrap.pypa.io/pip/{}.{}/get-pip.py instead.".format(*this_python), + ] + print("ERROR: " + " ".join(message_parts)) + sys.exit(1) + + +import os.path +import pkgutil +import shutil +import tempfile +import argparse +import importlib +from base64 import b85decode + + +def include_setuptools(args): + """ + Install setuptools only if absent, not excluded and when using Python <3.12. + """ + cli = not args.no_setuptools + env = not os.environ.get("PIP_NO_SETUPTOOLS") + absent = not importlib.util.find_spec("setuptools") + python_lt_3_12 = this_python < (3, 12) + return cli and env and absent and python_lt_3_12 + + +def include_wheel(args): + """ + Install wheel only if absent, not excluded and when using Python <3.12. + """ + cli = not args.no_wheel + env = not os.environ.get("PIP_NO_WHEEL") + absent = not importlib.util.find_spec("wheel") + python_lt_3_12 = this_python < (3, 12) + return cli and env and absent and python_lt_3_12 + + +def determine_pip_install_arguments(): + pre_parser = argparse.ArgumentParser() + pre_parser.add_argument("--no-setuptools", action="store_true") + pre_parser.add_argument("--no-wheel", action="store_true") + pre, args = pre_parser.parse_known_args() + + args.append("pip") + + if include_setuptools(pre): + args.append("setuptools") + + if include_wheel(pre): + args.append("wheel") + + return ["install", "--upgrade", "--force-reinstall"] + args + + +def monkeypatch_for_cert(tmpdir): + """Patches `pip install` to provide default certificate with the lowest priority. + + This ensures that the bundled certificates are used unless the user specifies a + custom cert via any of pip's option passing mechanisms (config, env-var, CLI). + + A monkeypatch is the easiest way to achieve this, without messing too much with + the rest of pip's internals. + """ + from pip._internal.commands.install import InstallCommand + + # We want to be using the internal certificates. + cert_path = os.path.join(tmpdir, "cacert.pem") + with open(cert_path, "wb") as cert: + cert.write(pkgutil.get_data("pip._vendor.certifi", "cacert.pem")) + + install_parse_args = InstallCommand.parse_args + + def cert_parse_args(self, args): + if not self.parser.get_default_values().cert: + # There are no user provided cert -- force use of bundled cert + self.parser.defaults["cert"] = cert_path # calculated above + return install_parse_args(self, args) + + InstallCommand.parse_args = cert_parse_args + + +def bootstrap(tmpdir): + monkeypatch_for_cert(tmpdir) + + # Execute the included pip and use it to install the latest pip and + # any user-requested packages from PyPI. + from pip._internal.cli.main import main as pip_entry_point + args = determine_pip_install_arguments() + sys.exit(pip_entry_point(args)) + + +def main(): + tmpdir = None + try: + # Create a temporary working directory + tmpdir = tempfile.mkdtemp() + + # Unpack the zipfile into the temporary directory + pip_zip = os.path.join(tmpdir, "pip.zip") + with open(pip_zip, "wb") as fp: + fp.write(b85decode(DATA.replace(b"\n", b""))) + + # Add the zipfile to sys.path so that we can import it + sys.path.insert(0, pip_zip) + + # Run the bootstrap + bootstrap(tmpdir=tmpdir) + finally: + # Clean up our temporary working directory + if tmpdir: + shutil.rmtree(tmpdir, ignore_errors=True) + + +DATA = b""" +P)h>@6aWAK2mk|-TUoR8rF{4R003nH000jF003}la4%n9X>MtBUtcb8c|B0UO2j}6z0X&KUUXrdqAs` +=6ubz6s0VM$QfAw<4YV^ulDhQoop$MlK*;0ehK=! +b+kM=$@#?;ur;K<)PZl$Id5{IF3D`nKTt~p1QY-O00;mBky}}B_pjHy0RRA2 +0{{RI0001RX>c!JUu|J&ZeL$6aCu!)OK;mS48HqU5b43r;JP^vOMxACEp{6QLy+m1h%E`C9MAjpBNe- +8r;{H19{ebpf{zJ27j)n8%0=-6Z#elILRo@w9oRWWbO{z8ujDS!QAC@3T%nJCf;1rX6ghzu#Z}R@K&*?Hgj1WFD91+adaM4G`4Xs@*hA^t@nbDYdL)-aOjsW~3}QVVby(8=@7U$ +Fzj5Y{w!2hUUH`?e9j7WDA;>-1aos>7j{2$~BfyL8p@__Y98dsP#Bs7^lWF +=e_gr;(4^?am?Cp93+7b-!?~nb}-$cPSR1zckA*zNp!)$;YjlZrfn&RWNM}=QA7*cb8A{(9@{5!vBfq +rEMoeu5FvJZngI@N#4#(2v$WnMGCAVD?b9t8W^qDfcFBe5ZZF%dPAPaq#>ikclG~yPvCg`JUGb_W2#PdCXxx}7!|T*xc9qdnTILbO-nAJaF2 +~0snMFDU<%E01X4*yW9@|}F2;vY~;0|XQR000O81Cd){{DTOK#=wHhU +bC3>{r`H6$p=j4wBxLD(_{!uBMQ2if@UWt^sy5bB+LMxj)Z2G(UV7|ngkcy2$MEs!7j)I0&^l!_5v^+ +J)k>Ahw~(zd`wb2=&u3NRI`moV*YtX}3obEbq#zjTw2r|qOs$ARVNC^fTU+x$K&dxX8O(kzzfZ5leDd +SwYCc)O7^3q8KF2{264O +7trE3Xz}JJ-^2@PTqtZaE^Ca{VL`GT(a_Oau^s*w(AT6joVG|914`AACj$B4SNYmBJJg-pS8tGDosG| +O?)?P+h{U34M&?tIfBWj)3czPd4FE2Ra(i69FMjgoH&zyeW`Sg_Ps>oQmV2Zf^%j05*$PZv#Xg{OmF5 +FlZBX1r%N)?HZmIih2UExM9lNgO6eTTRDIRK&XJZrHky`R+I#ff%RkJ@54mv2hNCfr6a??SM@ga{J|FQn$%LuR5F66J(ej0|XQR000O81Cd)<&BwqszyJUM +9svLV3;+NCaA|NaaCt6td2nT9C62L9#V`y-_kP9QSf2V13=C{tnX)PsolsJX_Jx&=d9p7_`6i5S +Mvz$qHBvD4Gc2vqMK2J#u@ySRoi8HJ74pBUZpQaDYr)B{xbde@6aWAK2mk|-TUk>nVBa?Z00033000>P003}la4%nJZggdGZ +eeUMUtei%X>?y-E^v8uQL#?LKn&gQE3C4#Qn@ThKqVNNDp=U63SAQ?v2?jR*$!3y9w((B25z~hr>E!V +=a%yTIu%MC&`>ff>`8PBZ$&Am5S?phNulCDC@HdWepHHb)qlj?Id=n;NN3!c*LnlPC<-TpI>d;Lp*Ax +@NYlcAX86|n4s~x3dA%{4b5C^-eJBN!K+x-$+`^E}a>&gXQM{XH`M*P*a}AmWcRbiVczN>%Eu +!-!D~*qf!k-xtUCwxR;$%}PqvdlVHD&~%WR1u#|G-0Bu50PnTiT%Z?T3jfmjc5UXrmz##CF1#g5dw1- +zI=Xd1etfCe>Kbz2Zb=v9mCs;VRH$CIz~P?f2K%DS#dWJIa%?;aogHQ@69cMXq8c`Di1-^-kNu8}WM7 +4R)Wo~vZ +aCy}lU325M@m;?H;XQUQzjt>5kN`>fl1^X32U7$ +Vi~Zik!k*{7>WVUF>*`pDx;pTxWu4?X+tq>yTd +X4SxfV)N!xu{Y|W=ETHgOY^-wK;XzxYZEOw$ku&gdip5e}tX@Dz{bHVdBMb;{q_SEox_C}-`-=^888y +M~9kz@n#)Ac%e{loh8KQ1o657|Y_MY=6{$ld`*A-igDv$PD^2M(V%U4wIoEMy-mm|7^LP0_^3kym*w; +*5*7*cE1n`#sP%g=&DP6eSZMxsWJJ4gaJ191xp{B-s@uPZE|&98StQBPCe4iwfuma^tKlVhMa!fXu9~ +8(t-PaBhvk*Dtu^ZPI|EK}(_f=mhUSWVYuAK8NVQ+cZzx)W(zZUD}mx!Uua&Xsm%bTwPm~GS)`ai)j7 ++)zydfdH7zqHVK0N(iMU~zmx2?ji@s&dnsgTSti5q`K2vCG)Z2F-n8KR4Q!aTwK##1KS`?e0LBw677Ne?1BK*WtlJ1P5O#kP!>lH(}ul$9w6GPxFfS3Ia?v^j8Bv`OMiU +hYDQ1jGK9b;T7ZJ_r#b0C0sbcR~UU4a~evVbfuXEE9$YGxa?W_8~G>h$e9HY>SFCx6*54nTeulr3(e7 +k5Cf8wD>f1?-%A;lD=wieDTl_1J{5Mf%Oh-jYW?jf~}gQ|Q*VX&}mzn1Y%<~*x&uIJfT%u7(mq +!KQYByLV#?{s94Ckde-!F;EkS}KEp3_}j*ScQV7?8pqbqT!?LKy4?*HO`~A+gL*a+jcG60U#zp2DbFG +70CVID=WtP!Otk#u1b$-QKGdG0v`~^AXX45XupL`!3K)1w^d(*Ufo=DxOk0#Qa1b(Y#EWN{ge5?9#W~h}<=+^JY*Vu6|Bik8HLD@@-V4G*Seg^NFTmqEN*F +dm3yCdEOP01IV+*|1j`*pn?<@4gLxJACMa9$o_on2T3VVvb*Zym%wp%vU#}GZCOq3W>@p +BvPvu^?NAtAxyrZNrb+U=YQ&=@(pn`6f%Sig1}jhg2r(awC^dOf_&zo{gx@l7Xvw=PG>f`q=J^>3+jF +|0yC-YEEwsUs7E3M$D)VEOEnpqOHL?yF@c0|zrJ3~ezS1*{cj*kbtwd)>*lK0v +%t5wopr_m9A=Bp5u48!%eT4PbQe2`RP)wKgD;4bDd5Grn~`(2wOcc*AyT&DM* +TfWv-L3I42f!FAE>Or603VY_?596)hD_xYJXKDhUa+@dLvR+!McrsMMoNtk87USa_cETWtVIDec3PsI +6J4RgPZHMcax;Oa1VDh4wRr0X6Bs+9KH4_*g?L)da!z?G&2xOCa+SGQd#$YB(+%|=HdV9R%x8dE&{0- +U@_PhG}%^2>~+(_yG#YDi0ZGkwH+?Whg +A=GgkLP#V{;+`zS_1OxN^0pRRGN%7o3c76o~mgWn+UV>SL}3!G|k&O?KEhp7w_h-K+3`y*tA+?AUP+z +kS|6ySJpK3@yy2$mi>wjMx7j}9tKvrDuGU4dX_sk1lYc`h$szr6VYv-0&%H$PlmUS56tuzvsH;$}UJ5 +yXJvX|M(pKb#b4N0GYB69>p}aI5wmAkmyPu&ZF5DJX{;h*&md(VBup@+Pn{R70mv<8p53-wa@uu(~Es +$3gsYY70d1k`246!He$PpsR3s!8?Et}3T3RQU@FAOe;td7L4^nDkIDmWHhPU5;hxcTQ#XFU-PA +YSv)6R}tzL_DX20SI3Mf}i!^=yw(kF0l#ff16d~qQNF?JXa`ut^!oNn9G3F+cdgsBZLGLiP2sDKRhDzxbDsE%^h)y{u@<6XR%k +DM^tkU^s?C?cKt}Lo47UjdqD8WR=;iFc+!Ck~&gQ_7wFIPUAUXJh21M_Gwkf105we-eNG>@T}Msnc8V +4*()u^hg5vRp06ad=xTIs#*bk-)_idP(Ib2qCB3I$KFNda0LLAlOwvWp3K@z?X9f0awjD+ylxj@J(>X +$s8ibzTPunoo3FnpbEMc%kA<5G~5kBr@E>1#oWpaks-aQjzO)IwZ9t}57tJR~8?rB=6%*V3dhWoR~wd +`<-HV9BAiXjE$BSzs=3a1i|{UOziIICR~8A#&(gv`)*RxsxyZ!iA+&-IeMuBn|QbVbTOzJK?(ack7tD +l}RiqPX7oxi~(gFS^74qjfGdtTgXNO(*aVK&m;Aq%u*BMs>f@PycE7iR~V1b|#_fe#dIm=(!#5G1Ojm +?X0>KbVD)1*k4~^qT&v_R8jBBQ;4dLI_Z +c*Pbh}HIZdkm(hR11D9<8w4HlV8oGE4qPsl@rHy%1lMO3jgIg~ufPn$@_Up}NTGmp5mJk#w%>w^sxtZql(GC$Uk7!i{tFYTTAl% +qSH?CV;b3#9-H6ybEm;8iu8H0dVf@9A!9wA&ra9&6_HkOGS>GA<`%0|dR7Dg=gnclSjC0*ozGza$jErv;tbe$MssIpEK75wPkpSwCY6_5UtA|2ZeCu#dHL?@a +-F))P&anE_0)QcbWPy5@_a2sE&O2dUrc!JX>N37a&BR4FJob2Xk{*NdEHuVkK4u({;prKRbYfFWL{!8ZYw}V9p@ao@JkRo@Q +1^JScxlXeH6)XmnSPl|9hXAU6Mzxv>WiGdBuW~z?PN$QJ-j_vX# +ZH=CrdQ45M^og@@2uEvb-ryL3p3eN#a@)s(hlK=zr&-Ou*VY1oAIalaW1~mYdaUOw88h=(&{3Y*~F94 +Wt`lqJT0oYl+Bh6aoYHT +r!9$U396L8e370-^HqJoKN8nelb&Qo)q3S?=uK^~CUg5;Y_$V*fumW{i_TV-GISd_4elVmoTy#4;=w= +dr$e}DJ(P4edH>r1Sk7L~?^m|PD2I7!t;B;<}@c5S0{!QOLaY&947x}J%Lf2ALbiNFUw{JpYul?#bMx +yqCVUO?mxvHj8)aQ>wSh*a(W4tTSnh;FxSBc?v035KXS(qCEdllvQ! +7Q)S?@6uzmqn8wJas6;BQ6l^VW8#7^23*vw8c96*z;yt!jMPW%R7QcBaZq9YPSn;s8wn-8hm2KuB1+c +}Me^cb1VOC~c!oah*-8XBez`lZ$eh82C_!&RJW0ij=L?({&qS);1^z&xOw(Q2yTsMo) +og+2x7)5`;Zr1cicntZx#75Hj!rN2h=02*w@C2m1>#&Sm<1(;-KxWW2e;|eLfQ(lsL#71PZZLxq=5NA +#*{|kD=P&38&PRwLfgK~*IAvau;>U^hW7F!ypkl`>m0v)DI!a>b`A +)^6V^qkoG0lld$>|$#8j9R{%M@|t!ka6oV_+1Re=@3i9R5csuBf`%532*ULIkZygeO52p5CYRL13zRK +8NQx~g;Rn4kECa|)NRm|Ao2TCp6(9zmd2I@9(js5Hj`ft|IbSzKIfAyK`GvG}4qmhuAC<3bx#D|7LuM +}K)T^suYxX;Ei`oDK#l<;+$u^kBCir*zw~d+DU4I0QM4PPT>1+Z2(XXPIzO$7*Xs4&En>-s?;BKOskIZSCCeUzsi>J0qG7FK3pz?PVcp#RW4cC`_iLgr_>Y8HzZ#X;TDww_&#H`-p +_Aihv^DYb_V(piwo1c^&xtR=pXE`o@spo0G`!=l?NdUhtk* +dt2Cj^yKo+ap2#opUIpSqaSde#>Lwtn48G~c$A1>92H5kz;9h}P9I5U0uYHNJoc;)zy$%=4{3r-SF+gC%=v +#vDw3Zm*3sxkk!OZ!b3p^gEjH7|cJizVvJkVTL6gQNs>oQ17L}sTgs(m|%5>VvXku0JZD`OMI432Hv3 +UV$y9346>GYF@tFKe3ghE`thR~VxH%kk8~(;~MLaEkInN0!T|KhdwRIxnRRSm*l3TE*fr-o_%n@Zl9= +<+S(-Z5(-7<5P5`tC6~c%cQdggf)-~d%lRjh~t6V6yE4678eng-hUeVy|~YUwz*eM`sw!GauidcAY->?n4_OfDX{^o;)yuPCO|@y%(WT)(@QmZMTZ0VQ%T2vNjV +8Z83l7q;#L)VTR5p}>-(^I6Zu!%ryxaK-H2DkmYFlH1sb`cX0)s`oSTH77}~WI;pg`qc|rt#=p7uJ6Z +0=c=(RsR14uY}|xBwo(35^(om?j_I@i?`gh`tDjTuY>*NlCPGse0;x%0iu+YH*1^p}(|0 +w%`NZI@UTMdl0BiFz0!Ec?wNPjuTc-97Xdxx4wGNVYF9=(2_HVw?4DY0|y(NPJ64Z-%0lmw1C*&r>t# +g>%7$IDIY9>oiB{#;$jX?o*ZmNx)7kK}^@?3B3v!Pa0zR<7{&u7HZGSj&K`5y2?CCfp!VR${rD%^ +2ML5LbM@|X+9_k?==#w;riPWo*n*J@KEm=SGwK$?X9=K&;FbgHlHtV*WFy%9QRU|p$QK5nkBH$_c-fP +=M$`3tv0`IWK1#T%A$Z%h)GyqjC3LBoA^AB*1ZJ5Bb#vN!e>Xu#pwJEq=gj;s*+jwLe?`L+5suP?aohvs9zsQqUEp^2-Uqj-w*T^zU)7S$R}_ +u&z;YTSI_mTF(?y67iN6`yPUKh +WiywA2RhOS9ruRfkH`OAmXl%@4%?1=y;$0FE`*hrfUO&D#aP1nktVeylY-)4yTPM|R!ycDDqey7=;ou +bw=nU_c(*(rx7_jn+@-PYCE{rsteAIOLW-_c0cIrf;2v=no`@26{jjyuBNk=6K#PZaF6Vz{Czs;$Nn3 +6tJVDKZz2ndMo%g!<~bGtZL_V{JQ&`J1|jpiO>(4TWuwBbr7%x2%K>Z`gEE+zoxr0J-cLJg7KxZu`Cf +Y>n<$&bZp^5nEzJlv^Dw{P)h>@6aWAK2mk|-TUodc?RnG?006c&0015U003}la4%nJZggdGZeeUMV{d +L|X=inEVRUJ4ZZ2?n&0B46+sG0Au3xdo;1CHXGfi6*JppR#J3Be!96PX++!cnvqs5iQh9U_rWk)sK-` +;0tcgbCnvVB26)CgjU+?}2Gw;cyT@MDp$(wl7+*J+W9O`OL!awGFvC|PgI(de?+NKwmbljcQM-0Wtf1 +ChrYITGSfiMuMTYnh8Q7fS{tR%s?xh()(?wxv~{=(mWKDwb(n%S7Cz^;*Ol$btAQcUW|WFMzPQPIJ2= +tzRl2v1Gi)=0ixkCJenwnvPuEwM%=As1=QElpk`^ri3g0FDC4veOFDX06`N5 +I1fx;9DT}H$Tgtdnva-*zVi{-Bek+vyq;_gV07Shj>0tBtFyBqZQM#VmCGkN!6SK{ +k=NhrnHRD9T$fUV(_X&FXoj!k$K$}daF%anyY2H8S*k~^-dqMG)fzkxV@EVfy4R@6Vp(;`k}G968Z&e +_&!)*KO+Ws+8E@467eD&yKN|K;TD==_(<{mY>`Hx6%ZWPOS!;O*WWn^Z0Ba+#}bB_m)o#pms2G`fiIG +@b8RL}KnqEbP7(FT~{zOS#cd_de!Al)p8?#NfXIyE>Auj&jXd#Qoq0Ylve +dN&KBZ0zfG$mXWRF{g0y)c^IN@v<@NsLePkH*=H&F)E{i@LUhq=bSLG~sL4P8{g()Z~;rXZIi;I(^LXQ%&c0J6p^QiB +4`AJc6R>ZcqZP(yK5;R0d^_{+vFD!*EJl@w#L&!ry0!HKJ4YTiOxf4kt6>kRj>KG7`f`SF&X))qo?h-l}=X$3hWQL?X>6iYQ3?PHPFL#fD=#e46ln^R8$Z_zWU@~nMFnWFG9n#}=RR<0ILL-y +QyT>rGe4(Qqz8JRbA1;cg@6Am(`2zI`V#4*XQW8OPJaE0KHpgFj!xI8yEEx*i5 +?QB#Yfx7HTzkUlq5AJPOt(IJ~dmeaM{RA>B!^v{t@g6i6p0XkwLrFc0)K}MTFZ?uv8M$tvT+8ltJr{IU +@kotaBd2dqNA@1oJ1d7*JO{dM^jcn?iMO`3+%`mb0K53BW`Lz&`}#iR)O?4`76>LhwqL +$UKaYH6`r5k(s4+6d?!CR#U7lGUCt-h!;p)Gvt&JMT1$B&9XmQP>NOLlD!mtXuY`FmK=^6$dgg?4rba +wB+ST@({9GRePg0SC*sdMU%uA|d#jkpGUs%yQJLk}1)Z_XgOy_j$--taN~99s~AwCUy1 +(t5v$B!S`67s2>x;h&(}SBz3jxxDg$xH8+S@EqfxD)nPZDT>W9url?%5ixWhOFYImxp%H>D3lYLMs^y +z)7r1)G8a>EEzn`H*mZE}4U<#oII}zl35IJ(9lv$o}AD{u|@z_0L)WKTwfMAnctDQZ;R|ZDLL<=C-Ci +Gpt_E`M*2rT=~h^HI(eo{TY9drt0zem6$5g7A=;vb*$U)PIKn8!2 +2qs?hSfIH1&go+3-uq68*j>N*8vus6$p#VHBl2ZK|JPKGu9rN=uB1qvbL`|-Y<&{!haI#a@2#`E4w_N +FdOzo$d!u^qTjvc{X^ggTkR3{RLgWm0v~pB@7Qn};SVJ(p6H(;V=YV5DO$(3GHSenn_mpNjppr&;7&z +pn@W!vy_d6?9gh3y`cl@hsV$|4Wz$g#!zE&kfp62dVT(1m5C*0XwvJU~j)T62sqm~JN5+PsNOc;r+mW-_mS2=U*Epo)%;J?5JIG*Op^N;Go +P99K5ftc2iiZN#{Ja#5yfWfFz+k5DZqQ}6@6{(q}Y9P&`nysRoumzC=D_GRrO +?uR!oPp&QL%ny-p+@Jp5 +Igsc$XDpZRrt(+af9y2mXHY%`|u$Es?aVTGO?fuBucBb%|os)+8B-ocqlyu3b=)z*0w|O(&@JUKWeVO +($D*E9hz9?mGWgFZD6H?<ts6~}M`Mf +A;3L%e5dA5c~@;D^2D`a=IN-dE`@R8LgJ7Dt-S%nPUEGOU4nlssJx6hVC-yq8a0C2?J3YNVxGAZdRO# +)LsDAfv~Lgm;1>r&-3TQdFP$;+53kTh)};gcIGbc}NKmSVrM_YC|{v>WzSI*&wp +d%1IDfuvMe!!+0z7UfoVT#R$n;6ia(ObI3xk5u3)2b}(~5OU31>aMgVi|PY;2(>33e5bOvA*!66lJ%Pd|C_di%iYf114&Bb3yZHhoe8fs;l8?RZuu5hf0(^S?l>1$@N{Y3hxeYkMQ3Z5Iqj2qRWm +w{G&VVy4o&nO)>6rkM!AQve3$==Hw?m?Prq!@WHHgAPeodN#BPybzMS5iE7IR20Q8dR5KscN})%c7RG +bA-|*_OVHT%{+uF4@DqZ5~yS=2KR?#(^CGgdB32J8A +mOub$8Qk1pOe=%wNBhrEf&VSbK+nU`!P@PRvt``maL3d2r?UO +$v+1wje?6P{@HziKdD7;GFG#*3mvX0hZta*w2|dhJ$7{A*b$+IoRCnv=qDXr3= +MFYHB^UY5%gnobA8I;LT4Z_Gk7)WxRaHLpW(aR~#*de8V5M-kR^@O|eA|tDOwx5iO)`OPX?R<^m{r-# +`)ct-Ky~wK^~`hIKHQLqd%mfrc(+&1VN?E(Yv#ih)gIm7<_#s3%PZg9}dx4QOBrxDv#@ +^+Dbwc}~ZqxV(L9Fn2h-dDwdlw(5;BK0gV5(R4Bq3*0!2^^>e!nR05dz7xks}&R)1{(8>FaR +JEt88k`u&AT3)a+~E;L!X=SrL*8F()Fj?HM)jn-Z7rj!#c#;$3mujIirw16Z=HbtwV5R +@O)LQM&*A5i$`qjdnM=51>KrFU@Jzz>h)3xD@vP+Q8 +{@U=v>ZgOSGk{0as@>@ZR`UL>LiYe#)k!rwOWX+Q_=7#DbnlJH1oSYT`!^FrdaLZD&>WxSox8|`k4${Ar=m1B5Qoa(r!o +$jN6>JDX(RHWohyO8LlK?A(#f0#@6Q^i{mAIh%n{p>)PI9Rqk}1GJX5UE@E-$gmOg&5XnPOyPNSi7#p +24hy%SP>O>X@^En9P&f|UZAykjTGU19RQ72PysJHJ8nJ4W>OUYz~$xff>>*A70KG5+4nQMd5)(tdSy@ +OtqTQM-Tp)ol#erp~OZ1_MO|Pg_})BK@IB_|A2jBfq$4sQ-5k4qsQn +y*?u1>E0*`?VnyejPJYiIp0(dlVJ2;P)h>@6aWAK2mk|-TUjk0ReLHP0041k000{R003}la4%nJZggd +GZeeUMWq4y{aCB*JZgVbhdEGtja^uF4|Me7O>|HHslW^=Lu9WWNioDD9s=OaMN$Vsf>mU#ql88Wn!2r +@SELNrN8FF>6aqn<%k|(+Tm>CQ{NKqSCUFB5Ck_2XYX1aU&d&ZvUO+H3)RVI0+M5Sab%0-b^^F>~jVi +iVr;avJhM^}qPiDe#FsT6NNTwaNH@2^BztVNlNWVy?{A_#hpL_e4 +Pa_925WM+}j0e-9|g3!gCs1NepfQnytu(XRVI*SVYb4 +hQN4*)*3(Y{smUZaq=lsFYXp;PZLFxxIZ-mG51{O#ZAux+zX(M_yJpk&;&MQ3^pae2&0D +}zF@W@3-F@fhC~04d6Erqg1%a%NjU(1$RC1f8 +fJGVS4AaR_0NNnYk+|*rPCLxTf$|SNt%$FL*X~sQKCWj?b +N0GFNZD%0REH8j>P>z7y2LX-Rr|=nzq#95hgSb>86w@k;79yV^FDKCmd&rDb1i&uKwHbopLA$&vcnSn +=DU|{>p?on30S>(oupJO|l_jugfo?Mi$d6>BO%!G#Ocm(3EJ~|b60|Um6Bf5dV~hX}Xr&VM(3j9HM0S +^AJQfcN5JMs?q?sY8Ipld#U^F#Yp&m@n62<}m$Pge8pa<~qI+ZSB;C~=IRtSqV2Oy6@fYM%7+=FxpC} +6dMnSC6i29)Dzm88I5x4xm2VOqU-+A#c#b}4MlqzrOAnx +p+6vVdI#`wwp7u(P7uP=bXkx#&z#v1QMurdPO$B5g41K%XX5PPUsCf{O&5Ly~hs36!q8%Zr0eto$l-dD@@5m5#Cy&zIXP_I+5T9&AjUk +!`XuAmc}<53uAlz<;}6UcAnNu1+TmoB+r2jQ$Y!#7v_g5N|GSY(sfhvJQL@v^+-jLs?$6$Vl7z6RNjY +~b-lFR=E^rcTw|9y_GELwdbT?a%=VwlnWNqoQJbFb9}jclp!w#1{tK`ty#Dq)l}7u&{q;X~bQu0Di!( +;b&$76`{pWxG?XQ3N_Gv4Grw6UDX>9*JYyP_l>RrR0JBXB?*uSvuqIf~>JpW#9_q-i1TtJQO+tO;z7y +|TiOQG$YL9b-k4Z5%ML3C|`>|%Q-MJ+X#fMxIxSOy{_5`H~|tEq~Atp>x+IuAzD;p?;@KV_ZK8eA4yB +!c +s)Hj>gcw%^yHIs!7wFqWDR_UrJ}>e=%BcJfJu4l5QG>3RTn}{-CKzUYSjbGQ)+_Grm-#Y96J6Yrk2Y3 +oaQ>FJBXE67KzsACiQ%bRzw5)Hy|CojjV=7K+kI@hdp)imy9b|-Oz^jk{4@#Qv059{H-_KLdjb5Yy@? +1OiVX+s1{(Zu+u}ZB2%<~X-5?%0z$WaA_zIEu6o71F69dNnPgz$qQjFu;#mJ4|fHMZU8FkuX$zqJRuE +njzICv;)zX@~LTtRK1de&WsNh(!I>-*a!V5|;U3m77t=J#M15w4Pz-$F}m#}Z<^ODVq{hT!0H#z%-Mk!cgQQyk`rJWQK|Cqxca6_LP7fajN3>_7yyRmzS^dDvN0~x3{EYWEc-w*e4u#Mm& +e4BGa`X;RGWAx#J4sJSB%mfjBykwhY%8K8Y)CCkv8eI*~w*qG|>G4hitZuwXDC+Sv(*_GY;hFmM9!J$ +ue`EQI4#ScFRr|FntNd`c|cZrd6OWjKDrXm11WQ%Ouf>>%R?lMXPR3s~C45JSIrvShp9R6$bVM?13Q% +!}en&Tkjhu*98#nP=hyvIjy(esDs%CU7;CQCKM^Jt8Zc+a2UU(Q#_b)fUnXvX4ZX+)09K(s!WTD8Wga +upJ_rdE^Uhx=Y+TERI}E+dFm$XskVawyiBDSYY9rVp;(WI_8;^M-byNW(9;zcPXJ$Z<6x5Ku($6CqJib$r+Fs1aL&^Uz@&KZpqkdtI^8{LAPuuDA9TQp%=iVeft61_KdPw2P>SuvNu6NQ`LsVQj$)jk?EWN?EIFn +fZNfDOlt0)j~a2sHzNCY&_1YgaodOog)Y95eJR{|}zT+!*tm6N#d#K&@M7?a)YolavO(L^iTq-vNi|e +D-MyIyGMF!Dal28X{2yhLfmP<1!z^HmNrpNUG2(R@Ax-n!qFmesdmS3_OKq=p)0z9zazAn?VqdMBK|T +F5%w=tf3yFSdl%XHWC=4tJ5_{DcZBmo-Y0pb$gX^u6bBFWTv6_Wdy`j}CQ*r`BLk`4mF{T +oWciR6ci=r{@N$o%_xkGU9D(X)yrL)RMCuVN)!fl`y!SZg?<9OYQwQL6b3Viy`Qp~h_O^~vliF2#RG{fYX%=1J&}u+K(0lsUd~GoY4eWO}*3h(=n`62)1a2!_4U +4*Z0-XjX_hq0_{)>@a3(w(k-|%KdjoEYt>i83OeIrp1s(THesFIY<+SLf`xN*N*NSUI%L=C-9QtI}&- +z2-p*rOqIK4h>OEGv-=b{{yWErV=8awm7lqz2NT`>;EUqFR+h7hsLAhSz7z7wz*|8`L2s2cC30s)lJ9 +O&nWf+wCbPo7J_nJn?*E0d1f2DCjhmCiJC;-6A7vm(O>?N!p}3t38i$AI4CsmbD>fOC=o7rF6}|R{22 +D)>s`tFhO8dO%cKl?jxcRNG-$p>UKY>rvEtvvyYlcBf%}lcZM%Le#_WLf8OhiV|z(x4cd_i#G4Slv=A! +vMspDoWqzoO44vSmBPdtuGyjh*V2LJ$p>+0@hB9(R(dwo-FbPo1)^=(k!PLZF*^0gXiKu!rLxbpzhoV +mW8)?2!ulC`=-BXH;k}5!v|Bs_V&8Vjlrm`WXZo|B1%g_Q$a=tEmo2v7ytA*NwVyZ`ZL>766#(SY1nz +nH|x&y75?k1h*<4qfIep+v$_ag|z(`fU6o6$*Pv&wV4G21yLS@Ku0UDmlF`lp>mI`ccc3Mr +ztkJo@SVp&i42Jc*yKsdCyKuQl3mPXSABFtv*TSn#}%GP^NR)gG=GVkrXH{A}bE6<9+Rg? +46Dny!1p`zWUpEGa9~3o#+Xmfsg*cm*JpR=&)m>3v?Ti-593uokOfGJBHsVNVj}0R=pfV`}* +c12lp#3zJOE&B&7Q1U@!&d!K4}z)Wsq?fY`3w$G`kC)fmVldGQ`icYD!iagbI5JiNaAE2_IyQBYp_Q$ +?iPd1gqa3Co?F;s7KxuG-?Wz>aL8Nj4~+8u*}Dir?IRn^n}8;-uu>dQ$?W#9!0?7y6S&ZISfAJ14&$3 +`&`fifWej(1h?aoV&D+3#_QbE}f(i&~W+YNAx>8LJ?l1rZ*o$jl)b$Mc0&E+kv7*mB%yR%Sr}%wJ$~rKbrnI<48C=J9&K; +Z-WXZp@`o^TB3E1D4?}P(`eCS=)AauR(P@Md6~gK2_m#!H4ehhg}}s$D;IkO8kul#lVZ;z9kfVwdbbh +=whC=KB0R{Y-q0Hd{e?-Eyr4ulf3Y*|9*83;+fgEeG2Ol>J0XvE*RVx28nrQupj%v +FxAS3-$CP>pNH1hyyhD9Hu#(iT4-CpZW>I+zLT`a0~Mmtb$qNgB$?1U1v3NQHH{w0=!5zqX(VYcNU(tc?e+Qko|#5rx0;7)p}SsS?+~;sj-lBqj;+f)mA +X#?krCM`?@o`T1Rgv|Lu(5Kovdr1CADZ2)##RVf9hV6Wmz3#sxHwk8lWFfY+%xC4{^$i-jRq{AP&cHC +JDr3nYa?Nd{4#zaKaZ-2`82g~LLtjcWixkN|%O>oX-fy{Kb+V>AW9kTE4Vm=TR#q*2s|z&%J1* +(k8F5CR~8m9@wj91gE?!qTie6Nj8bN)?Lj>t6$w!ctNm-- +H-IiPq18Ne_5Oi1i^^TRk=EdQuI}HtOaWOV!WMjR0JiN=XOIjedcNS?10XbluFPnVli`OPC3VRw%DBA +J4YJg}UGbABl{Tw|9_?n=_^N^)^h*$`VXp!8*8wZZ916qVJm?v?pEpJoOp~$*h<6)6ba+@lYT-p`#o< +v@_T#**?#o%m)oo$pwAFb@*%SBF@(TqlX(vjq60zgR`q8(9{IVJ(v8sNNqwzhU>V~-*VaRh&8S;&g|W +?*-omtZOd*mze6x2MRc(d$a1-bm;HY=4zZ$@EH-2(uMKLj%}^4ORL_Jfl{Vs&`D1($0v$na;0+ER|>C +WgY{PqND&T8mv4%eTe6blSFtZ57GA +F;!Rg_fe~$NC~T|aTq!ngK~qv@ro^dRiUCgff-JBwYlH*pJdp#5eFlB#Ro8a0NCJ9B`6@9^c<)%vGe$ +L9c9iAg(R;HjGLJgV92EMA3V0@+R)kN&B?=V^4}knr^o#G#Ko*067I=`iS|xE02v}3sEPPJo62MCp%4 +EOOjSPpmEbTE+pX?J9Q{ITUp&jBi-;587-#1&349ICGo9*#t>-n7T8}wom%j?>f%Babiqt2dj<2#Nr` +Jf%Xer@9F4G@!Brqm@{BX$)$Mto-VU_dwTWawSad5nG& +AAx_JMVeqT)f?Zer{w27g4H7OW4 +J_b!G)%aelclRNJ@eHiwns}6s!hjP9rVvTspAyA5*e)Z-k7G>CPEG-tHvVP@5_Dok#bicsGaXVhj8f1 +a(AKQ<%;{td@%~0GZ=GEIle;9Xf{Iv@Kn4O|E%f*0(IMLB&A=RjCyk +3|a4bxz3Vj4eZyRzY%$g?E`g?VQ`?^eQaE35~e|vF99iu%CnXm-F~~%i?-jbJ6-o8?D9!2%wE|F0Y}I +Z>1aCl4+OFd2n +@%9lS+X~1u_RqW9dQ<)wCweEjKvB!L^IQ^HMpmlE^0osq;Ex?>JtM|1j<#*O>YNeL2~PCKxVF1-2$aP2lWKdNLt_|ij_g%(QyxUdPWExe`*r`lH98Sz8@cz+`8JQYx7x +SAwshE7g3mLj%3J)>d^ywQjr7@k^+`od#?fK8JI@7c`z(OfVxS(j0PLPk-E->{E_5qs^d&OREO(Uvcg +FFJ2ILYdcmLEUBs!d8Z&slrbQ>2c6(IyKC$COFytxV{zrUJXygPmK<`2Q!(|2G*z6>T87w<1IPE8OELY&UGwTKOzns2Fq^W-tt@PWI(7sDi2#Z8&DVBWRMeg7$P-mN?fYB|4MZjS+a^pp9FRZZIAI +)}PFd%6f9{;bywY5yJ_f&5gB)X$5Eg`kb1+NKxQ4T5$b{?r;Js1w +4Rv9Lza#TR)EuK^S=9}N#2IOyv+uNGJV@=@O+m>j-`^gqEy3;lt5=_TG+<95PomSH+mIPF*p4-l}(W* +toRp;mz=53gq{Zrd@n-^WUWl=EJC>T3P+Fe80mRl&?`fKX!8oL6ZzEz2;(jMJF`wHq>u-Y>4pb|7)iS +-zh?5K(9y+>tl;g|Ler!q|>x&6B61s&ruypz@^q_S(+cND_ysrc&KuYmOTm(2rLI_m&}p$EnvU?yn)V +HUoCRy3UvR;W{SEKzr8%TIyX?ofQtRP?w#(7IC@;a*yW95f$~36M#2m=yi~gY&!25X0Vl;u&K6_^rYu +UBro#n$6Lk4QiSPn&ttYt+Qy67=u+F{&sL +6s9fz23fn^1-EG7Yr<1j-;)`#_9j918%$K6ta12Rl2O3|Z2tEcTlt4O-CHjS7Ss&Qb0Pw=Q9E +(Uok;w<>LqsZ*dnZ&|7Ogv`EOt)xoP38swLGEFk~l4Sv+#++R@qRP&HJsnJyHofjYLon4&D`i8<>eT> +xV+TQ)K@|Dl?B}H{M|5R@Lf^F6UVx*A2We9uN(@mMesReB^V)=l=Bk0GN-q4BcG`QhwE~2iDhmQLipg +!gh{vld9`+x2CSooObRIn>Z!oza;~rwLhsAnN@8qP_aO){y{IzMUeUuX8#;M-Rol6h2CeJI8HU2<9zv +FZJo1)NC!}h0hvatoCV%VGgjW=Neuw?_JBcxLe1E(KJlt@HvUbkn%Yzeo#?*TJ&N1A>9B&n8v={m4ia +o#qLQUoUwrMO?*~qu8vG#FuEEy+GZBDP4fNcvVF>3avfgn9OdCN;wObC}U+Q94pe$DYzLfZ{e%7GOIi +Kb2o8QjdSdixSa_t`{7vI5X%^(y^Bf!H;`o?4!CQ%d0gvPJ(Vxar9e12}I?>HTJT#t-0l5DnrR-T#p$ +ihD{Upj6)B9l3*_TROh)rs^Ai4OQ~v$|pWRi^Ve%f|)v9Fs@9?-G^fLH_Q|4}CVEKDu1!>k&*_-@b4q +ASpQ8BQMQjEqDl3eXtzOvyD +aecBhS~FVH9NhVIJd)T-qsHy_cq=bm~dgcf0ME2xKPkaXL|jxor4k6PHdJy&(M1S3W|4cR``##qa8aW +Q%E{^BJ^0uXWauRSBJ|erC`}KmoAO<$@95^#4!CMLhc|)k`NacmhZN;GmGh@uKwV(PZXaN~;6wSN +88GY|?Y1{hoHJ1mWDs+s)u9)4{YZ*DJ}F?$*V~d*pGun^r*HC&|Jd(WLj0Ij!lizLxT|ueLp`_ysB?47qkO_E`ZP2wP +n=bA4&=;li0$*M7I}FWb0?pd_S&e!g<%7dM9;!t0R%mu1N34$Pr9@%69#uSQPsKR!2e=@aqI`6*IrI< +&8Gi|1bt+p^wO&Yev4wLP_@uQ9hm0AaeD`+osYO9KQH0000800WU*StkIar|19x08{}002KfL0B~t=F +JEbHbY*gGVQepLVQFqIaCtqD!D_=W42JK13X#(aoqZW>3v9=o#&+4Ql;S2zB5-UWDI0nFxhbs>NJ!$> +$3IA!!B(a`0?k~+;FHw$@Xbag$K;&raez5eeuy$^d*2)`hX*w|9^nnXO2!>Lz5``z9n@%==4T>>nk=X +&zu3c21WM|mD_KiI&`yX=!KP^S$qH(e5}XkP2NcX*CEMi4yxW?ODiQmht`yLtMM}B{MTE(WwGCk;o0h +Zh${cv*7??Pa>Vg`cpI%@54REW&#e;g`Pn8{|iu$EesK;!wa;a0jnREJ+$c%DD5wu0}eYhF4bN^6F0| +XQR000O81Cd)IWn*+MaCy~P-*4PF4t}4%L +gzkY49qwU?uyF}Fg@&IySM<|y;x9?K`mNsXfa`;nAnOY@`KeY~PTVw@`I>s-!;OC*rAi{E`0s59Tx1pG-jyF! +cq_EL+3XzdutUHi-%S^YkJicQGY3Ju;D;&UmwBm;Bu>#jAHHx0*6@3dBW;a`*0`{7=zPmsEwdf9|Ej1 +&1)8Us#U63Nebf%{~pfPyPKVK+JsU{;BmZKT;Wum>AeZ;aJ*wf(fhoypnqE!!&9xXfx{d)+b#&Oj(_D +Nu01P%~$|tr&zikG@JP4hsebb5`R%z$23_1Et(AeBe)F(+!=AYtwPNpZ6_#Evk)Cy)MP30$)q3^ssWK +z$N&Zc%(2=yDvT|**kDqFCJ%%>6`vMsLKR`_eV7v)p +*jsnXbXCdrH@hS=%eR1pb2GSwAH#h%WjqUJ&8}PVbsXQeEk_!pwz?6Rke>UhlJ24v~gU_VvEFY;y9InuKx4h;+yZ#lmYSFibLreUh2Jqu{n!$V{})Qmd9wEEXE +uodQR+9|r*HItN{3bN{qN$$W9Lo)(DK&jM{kWx%vjb}GL-G!gxTik&(ekR(8pG*~h7v{v&`h3e{5Jk+ +GG0NCqR*`qZOc*9$gp9(~C-0+jZlkRw(eF^pZl~qa@vc|hkaE*~~v1INCyN7=8Ypz&!WTF)k3yfWb2D +t(&@R%0Q70iLYt%@v4UI;7+Y6{^6>@wAf_9%4=C;%vLD3f*8+j@DM%icAEl|NHiqC4#Jyqx^Kzcix25}*IhBcSoKYrtqmQo$4{9Jq>IECVa9Bpr +x)rF}s&+{YkNaJ7Sbu;oC3h{)t%FW)Y6Q>-IVVV7E?c#P&r7#J!N^OXA-!O)A&cIK>N;gW9BSYfTo1e +lL@di*vzNVSX%VL+4OYgptU&r%a&Xa`h?*2cwdC6d@InJHwYA(4h{7@iwezYU8x8T|32?<*fmvo1PQi +KZCq5P_|FU}U&x4H&oqwGu94`b@_AsW*u(tS_A5nB8#4depDIGvBUq; +#zCxY0;AgfRB%oRsFQEq^QQ2^uX%hz+NS +XC)sETA(F+|J`vJRGI!G5_xL`|`e{367hHT<1k;Ag@gI7Q2i<6}loq3pNP5@T!>OZ;>U-vEMo5OVmOG +Vv3*%D^`jbg&P>pHZX$n7kJVuY+lDW01R+maS(_gzGJLM2K-y +}jEpgNk{R6x$0H2{rftF_FbH7Uyl-r}-Gw*s3#@WbL_TV?<|2YQ>$LaB6s9?r +?98ff_GcS4b-^305(Z0p`D(v;XD<_<%HMXqgdT*eCKVr>5D!Hc&s6Q4!dyQL8v{n^8V2)v2CVg7 +;%V~PABKTO|Yh5M%wJT6hbFG-V3_W~>S5cSgA^*>%0x5ex1F+FS?jSv`QlTP7Qf}=NIZ8ol&H=ArS@b +yCR`|eqU;o@;Hlw|8>8Bs4s-b4MLIrL$Lc{qjY*$%XY)KYv40G9_;{Y_cVM)^s%LpNaqQPcaOGgW?Rd +qD0XpnEvv%omPju4 +8@dzS0T}iKoPFXe0V<|yanO2+YB|F6&C9^KACv2Fq8rhdxD~MqSaEd7=Zw=G9<_nhVBGl2H7~VhDd8F +YeTlzVenT4^F1;W<_Gu?uHd3`eM}KPqEYw{RxPgEDC$K#(oD-^FHvmcWo}9LB9x<}Oad$ +em?E|>oZBc!u0lkul{ho}YQUlokgH`l$+*cK=d*I$$74AYT!V7$xf9>YM%n@03|pVvTUwPcCL|eRWF3 +xPwE}{|<}tDY+6bp#Au3O2(FktkI4$BpJ?jt$AU)5*6m%VkG7I<_8Dy;nP1jj5A>|brl(0BrTuM{s&M?0|XQR000O81 +Cd)<^dfCD$O-@e(H{T+Bme*aaA|NaUukZ1WpZv|Y%g>bsI +p)3yT=GfUTo4rG)mOWk=a9EdQ#71MSTmiMtfF15bJpB(DVi;7^en0_wsIk%B^Y+4?%prA}!_9@*f^T|^Pp{v;eD~?%ac~er?ppz;J(KZ*zz1c%VM+t +SohYc0r4lmN8?JJolso}yuQ#Ge7R$%4uXxQMd^Fqo+iCfQ7Qj`mw{4EE6H;tgahqerQuVv&D3KmUzneR4?g4_HjoxTJfP{cX8eVDN*pWIhX|Amkf!7Uy|Gw=B;AY5@*Ga+ +F_bAcmZpm+>vzuZYreNsfQU|0|;?IL&YN8WKZ>-$CyMcuKr9FA)#UT|!FLhMt~2k9(A5x?%SvUxS_8Ytb;QBsY5^YK%;me-sfFL8F2ImVWB +_9Ls$mO&Z{M@l)p}ar8M#Nc7i}lhw&dv_#{Xl#Jn6ouPAGpb4!?j55KUxX$w!!ngwequ_z)KZ8EsipI +g?2f1suK+H=^nMLy{rWHmXdDK88X%C`q6a!6mvWD)uLUiQs@XkP8ntOKdq7@|SnE%}agVE8=@ +*FiI6%NpPYZN~1Wee0;^v&(TmTNb45)-pkXTj+m+UxjB3jnOb37)*#07|&MV+pW{~j%|M)g34^d{1Rk +XXl4R9)Pog?zF5g0+z5-d&taDL~qfwC!3aTl0eJdT)GKVlD=&Sc2%j34w!xksTwY +XnxXUM;i^MoT0_=79u*0W<(g`*|m&$-I~!4ui~4_1y`2`1L>^6A8Kt3IoD#=p8f{80^O&ArdHkh#RklM_Nlp%YEuY8$W<-^1~ +>c0{NX3VYmQN1ktQ>>#v3aZ~g$07J4(^2>n4aN8}}gI<(~tbDC%v$O^FxN(Xn@7)ysyJn#aEmKF#yOlzT*8S2oOyrJTc=J +O|pgvBaCih2f0=y-T9#9oF-2_*8;p#9)1FC*tVw(S;5qTcbd|RO&aMGHdKI8*JLe5gwthiLfnF&Go>X=zJA7s^vr$mI%Hk-&&Sn*jb! +STKK^r}Z?)W*Yt6E*TCxSWt?+_kp +}XwZjE9WCn&)1*QXVCwd2i39egKB$~ko7R&3e#(jY02gfm5=xQw)Yur1a{cs=+e*PbpF9qq^(uBP1nn +(C^T-e1*>?{XX<_&l|uxV`E-mZs1=SGNnm=!Vd6oe-;X~Gjd7FA><#<8h3x;G{C`YJcUkI! +}xGm3WwBJc^=ZF)KOMa%wsOs1ebvCH?gxn*VcibAf!8sE=Ts$1h4#5s>&Q8)q?%L +|n{-G+;}Y<34X$aHvrGI$^lKsLuUNlyc-npz>m&@j>tqs(K_lRzG9(8r2^!zXfcYjKv%K^wp23+>^9$b(z|2D0bS658c$Mn;)y3_|`fQTC8Zp>hVG=?xu>O#YNj5QEpFv<58CGj$+&5S%fW{Z&qX=@YA5xo|-m1(wIaEe;09>_wyWI4-D+^0a+^@-fo0Ik@qYi +tV*s{alD;lwjgWsV33l5NWx)_lNd@~DW^tE$@6aWAK2mk|-TUlA8^q^D>000**0015U0 +03}la4%nJZggdGZeeUMcW7m0Y+qt^X>4R=axQRr-5P6e+{W?y{fZ5RAUuR(;~4y@qb==*Vo%hVnGK!)%U49UpWhaiJ?q#})qG+`$k8RWStZMdq05Y$QOk3U`%xfpiFL@aHvRV<+{?y_=dgfIxI(} +P;guO0hpRhM=Up6(b683gzE3r~AZP}*Ty{L<(gB|iaj=QFaQyN4$ubaBec~$-@vYH +5;6(&~EvEq+#`3DZA(lFAy$2Wr!tgFFr3KT(9wab#|(_>c=?QU)6l*vqmKiu#{wIkY%0)XW^Nqv(0Td +u}ixv^>dP90??0d(mg4(X0URcIEBRkA>h+H3jHBt;+h&V0#U}&nzXpBcA6LH!Ucb*iFgC#$Yt0DQrdi +<+HD!jw2IA*`w{uAv1G-09_^aJU`7LQ!{g@I`JO=!2o%R(`e{8bHHT3srDfQTGjzfS5<^b+H5;Wee~%i3`7a8e)ZiCZ?0ZE|NHd|K=uz5@Rg85)dMbyXYVk|y_=fHj +f#JBGdHW%st`MtbJEH@0Cdd)7sVYi^Q&5FST@%dW;LO7PSz-ZndfNl5>m!h3jO>-w%Ro)54 +Yi4kzD+1oMyyHg(h~GMhz5!u(Ql#ufx=$fpG?$;J&&+1@w*$-RYN8_cWeE1hA=Siky*6yfLo=%I}rh-7pJmO|dbxFS`}w+URJ&7gzZ%HGGsiqz05;V{(KgY7cxafE36ODlp +(Gn-f90yk{IN<|sN*otOic7FE?oP +fIdl4--rrkGw8eQ&%UAA$BxviP&}O$ZdM!Q#M1FQ^eey=MNW~JmPcsAZSZ%2|vF0k$v^mXUt|J-!#Gv +Xn&Q~W!9b`PW}Qh&t4o8ZY2jR~!uwj1B%SzR`Xt8 +7Nm778GW`zmdg^5fg6^Wi~0#`cXCooe6rTjTNH$hAh_9T;?`UKU8$cA~rAO=a+-{$A%*9^AE@0y`c*| +!Z*MZ0>7hPtBSp;!J+Y;vr>kAtEMEevL{u1PH%$XP&EH*8wp3FgNlu(LpCb_*px6#tNv;SCD`GeYJqf +ykqXEpzI99pd*8`JvkzMzL64AQ|3gMj{S5R4++D>UtdW{b;bP8joqjOJlcOg1w0kJykM>o3<)@7}Hi) +&K4F3xt>HvKUBX#_jxFBgThm8x|))woEW7{OOVAU~ZOZei&d4Y9kL^#_31XtC;(I#uF8+~hPLn+gRL8%2ts2Utm_5$ +n!FiiS(e-G1w}lX-~rfl#j5N85k|&-OVO`RoyWT!HN(nxrs3)Z#-6rUs^jr!httnH~FWyw^wF?+J?nW +P9+a-xPT;?^SGy8$8Ve^Yh31IA{a-!bk!}9Xjfe^k^CIe~crhAu=yOJsEqjV?p|h9xSduSF#>4=ftXs +nUkz(sTk5TAa6jEB#DHxMluUfkoldFJD$VVP8@w-N{OYz_ZrWoZZ>H{@4J)35$*-F>DBQ(89EYB-zn& +7d06Eh5bYv8KcQs9ew)Ysd-NE0fO@?oDE5t`K6;jZ9<3=9VnQh;6`D}|kF3!);wGjv**H+XVTr*$3@c +aO3rY3+7hinFEP8OF(2!7(KvLw{ijIA%D#p|C}q2RjJFXxyk(GY4J?2`x;Tyz9#y&oN*{h +Q0{FZ2gH@ibaGsni{-oam7xABcpzE{i5rD9*7X0v+2|F1Mh0^t+6#I?$u$L8sPYcXy3rk;Dl@#7>~}M +nMD{-)KbcvC@xb#X(Q2MD?}?*N5T~?u3U-HM!$UaSDp3B{y>{6LlO18W7$P|5VkW;JhGLAz_oG6L*m( +GGB&;>u(pIvif!xI-p=U2+N|xmkwWnass_J8aB|b?ji1&bUkCc1u>n$h@9Dfmu@iEocc*KoU*;A6p*F +pD$G{{wOyvK^d5AFIX#vsuB~{L)H=Xmaq<+X +Z5nw7Jej1oK3%_H{#j&&x}N?^5AI1=sGP42)->oUNSm>nNE@z&z`a(6KiEV>$`lpFrlc`(>U{pqaaPn +I{^z-OdM2^Jvv>r`n!hKee6hyh+W2qd6B_W7Kqtm@XU(W_+f4R3eIr|5JHPWw9s+b&EEY!y_`FOR20q +5lUJ&8kqsGofKL<)Of=yip-5K@jnh9+aUQ(mXDlxJI_rY=)fjj!XP*A3AMe8TqJ~aMIQ#F$L8K&mpCG)AZPDD@QI#xg5zmWb#zps-`H +Aq3lUMm*>wAH0o(J>zx--DDfrBD-ZPz$=I50x&cRY+^B_JHkpJk~cBidb>pCW^l*epQ!D +59xj&7>vdSO0Om?^3}GR~(cTV(sHSgx}jedokJGwfJ|!Wz?}&^#u1S(EenlOEfYygu~@B!|u$P?zk6D +)qh2^puxM7JV&_6`hV|RJx7>#X{MyFL7rO%y-NdOS<4f#og3{*DYV;#~xLSA@m6WP=~3J6f+r^0{_fGTybRY>|{EzZwnv9Gj)i}o2pXXNA)F{kU?YvvxroNwL +NTvgBOh3KBemf3F=QRD7U0A=DQpn&fMogvDg1ndM4SzQAwI(JW6Wl1O^7pvjJEjVDW%9IWG7&3Blctc +bcccasE*g)V$qJ+GqZQXeNVpm+6$U{zs~`$7;U$FC%Q9%3ON3cuVW9?Nxy*!+Oqtvn3sJKFy{V>`LTK +r|ht39_p&$1%u<=9yFxyp2xSR9%7`(z|j5Oa>?lSn*i(w-toHk?!QD2e{v4VP@O3sg!R}3q%$t7u5SU +6KrXsw*dNqYT_;-J;rBEGj8RbAbpdN7`cDu8NC59Q2AR$-^e?nJl4fR^RFaIH`Amg2Et4+TPc8O{byT +YF$ZhbOlqmuBUVKZRO~&5WX|YrMdaf1&zy_~laDgez?RBjkoB#$Fi}pjJ1qZOfA?0lghex_!e8RDI97 +#sNI)H+uf#Wf~!C&-J6ODu2C%JW6$4A#{F%)O|Bb$C&Dn=%zzMBiG!KOD0ffb+im{7y$Q|Np-PDKA6k +!HikX}mBWuW*|pr(dB3$x#;>>f^lgNn-UcP)h>@6aWAK2mk|-TUpL`>NIEo004vl0012T003}la4%nJ +ZggdGZeeUMV{B?y-E^v7zj4=)aAq)h2Ua=xY9+Z5*2j*g(u@U%+{60u&XGW8Ae%;5Qa?!~ +sZb4#VCrB0EFl0Q}=Dm|us2D>mcs44G$x6X>>&hwToYDjDk1RCNe`g_Xd-X+iUN8?xA3g)?KDyUid8H +pvO9KQH0000800WU*S$(3Wl_>}S0MQx%03!eZ0B~t=FJEbHbY*gGVQepBY-ulHb#!lIZ*6dFWprt8ZZ +2?nomt&;+cpw^*I$8SA52bVw#lQe>P)8f++~`pJxMzEpwUn;1zEUI1Pg$+^xtI2q(`qDsl +s(7dRb#wsXA5>`vY%SX*d8u_VE6pdiTfY`|6kb|2%xS`+S#?R%plyh;8YtvP$DeGTqDes`ycAMNT2lR +C0{7a>P_JBdC*1q0^i`xD*7J;Nm<(&8q+2fBf}RRuFL2)ib}~p{$ryw|)^4V!w_kH!1 +Z36`mK!oxMkrlNq%t?r3kXiRqqQPq?a%1`2k~fwuJJ+n!zNeKt?ZB>Xj}s +|lqZR8Pr2NI6PxYAMIca)7*#DjvDHwC8>QtIC^3D_NlaH`6C{bXF_-`$^jnc;VSh#vutt*P$Rn8hWum +7y!zas_5mzQRLY+AV9jiHQNKF-(b#r7*cN24kdI7qG`4s_chzycvBZDrG9%o3NH^o)47#Y%t8ld(PVe +TH5mGP)LiWgJzee1RdUa-|S`wCf9fpl$*bvaYQs?_R*>tmkXLY<`G;r!E*O`>>)LbGMMHpq`Qwux8f) +JZ)8#RB?W0m!^a&NemXw=<)`J8EIM*0DIfMSibLat3q{KTas9xcg#w8KH3mntDow0huB5XzRejgU{6Q`1uZH>mvi~wD{@rXE0?+4)7Nszy3nBPwD7xN&R{ +tSHd^;*(=BJ(@DfgJUlf!u8r3c+T0Bg;5^~*tr?C5>a%xXRQyfy8quj`XnaTY5sk-7&EKD_!c~}``UH22t5^~I5x{6YYDDspi4hel2@y`QwzRiHX+v-A1RGc5$ise#P)7c-9=f{n(;p8HAMZYWs{ +VcV;bCf%zeT>Et3&+caH4`*S{n8(l~1bhYT~+SD`2N;MEg|1H{fL#AS_awl?mhRA_7%tUZ8e~=uPMF% +tfyNPYu)_I2&#VV%j(QOu32f1ly6;$_G=u`GxIi^;tKA&as}fjaH$Lzi~5- +N)o3fNY%6CuT}zk#HnEp8Wj?VFTVCZ5Sh89R$(eD~ZZ}eLw}UPsVzk@+gv3AZc1!#Ya8GSC4IdKFMc98&Oz69DO!%%lyYk&V;Wfe^Ga*Kr&_-+(|4bR5u({8Wt7_tjz^JHyRh-&EVtU2YR +QBU$-B!P|Uu4!2M&1+S7>Y%kn27;qCT1GFWZW+1;T;iVZO)tiKKuY +SC)m_F>#I%uUK_i6~b1#_ESLSb3{bBa$u*m6(Mt^ZWy<;&U8C4xK{VOFj!%rhszWq(ifgzQ@1d`K$;P +7IBL-o-my0@*@{VOcrC$hZn&s*svm|YaSyGu9|uqN-(Ln_tzR2;?vA_DmK5C_6-67RkEkP0oR$n$Z#9 +?Mkb-~trl|%rC2?8yMGda1LzA^%-*MlX+&yq=o)#MmbbSa3(F(|)Y2mx-W2!A;jwe(Dl93mP*<+linK +)E0XnweSdDpmNWFp{`N539sb#({{rY8T&bx;!p-L3$vdE*eg#A)Y?f4J#0m +V)56s@t5agGY_r*=7yWiE03V|D-A{QKyP5v`CXe7ws2o>y(iBkL*i&jk~4A8t?JFcg2c!JX>N37a&BR4FJo+JFJfVHWnW`&ZEa +z0WG--d%~}6%+qx0|-G2q4psNiy0`_Y#Z%CT7&v2+du_hLa;c1ZbN5C*D_z*DLM8FFGUe2u!Z;a;4c97>2 +LA$4=qt}ezU6wK4qM!>EssvM@XF|~GJVWr9J*US<>fOg^CIKb!8^%sr)*R)+sK?}MsKDpCD$kFU()Gx +dNsC?@mSTNwZw0j05;O*usme)L2hvF%z@5DIav+;Jl9R4S0dpwj8P6(iVX#AHDG?o@mZO?5Q$8m>!V$ +yDGbAlG?s=p^P>^x2msF6jC~HuzzM#LMr28xp;--Hu-2^`8*`qDo#cEn8jTzvRslC2IHQvb7d3^&9xf +Qv21_6%jVXkrk=V}f1#Cz-^L)WpS|=cRFA^Z5Ba7vlaqLj#oR6(c*6iV{!&&uRPOSbu= +BsNg-)f{g&tdE*vTZU8Ba#d9Atzf0_*8dccK)Cx$><$U1HB{0CvVTWo?m}TjO4*omq;@**f@E#prnQo +qZ!^z6V{xb%k29S21lo=`Is-%(o!m9*k$sPF)g`HlzQ#!vMd?D8I^S&v~pP&bw5VBWBf0Gu^jzKddk6 +to6BfgucM6`;m^Q}B1jBO8@~yJvZ?-|I&g!KYbOXHfG>lz4K8!@Ba)$_Hc(0EQx_Tp +%k@YOrR%to(lpl!ixD^i5uCz&e1D8-Z-%6knfKVir@-+p90{N_zUvqPMgoA?4*l%zQkikf{mjg`vVy4z^LII6myg`rre#QitW +JX$<=8ZHMNdnJF#jUV7+h$y@oU$O*+_4N=mIv|=+YDu_+29vdil1@3zBnTylQcFoLZQ}N=zP9I^|*r~ +(pMENWCnk}HzFfE^>PyVEEApA@6{n-%aE4jhOk|0{J*^$-0Wbn*T~9bY~D2BCUhtMloZ{9l-4a +R2Qd=clx+!|xAO^Hjsq)%A>B9Vq=VU6@iMcgL`Y@)B;Mj0jPl&%p0e{Ilbe`(r=>zk{m561x80HIT +X!(8Jd5kGC^U*%z?g^B0X2ALwue-H|HNLJ3ZEFut05*bqo0IQkcj|~rDWzF;lN;h;rC$MwZ&?IbE&~e +IzWx5_p#qPG~bCs;?xi5{1XKXE~?StwTMD1i;mXa+6d`7NSqY!^ZsZRPoN`8BlZ@ +nC1Q{5hoC$AR>+{x@#27^^W70-5C;B@TMc5%!96UEQiC&_k&MHWWqsa%uc+mw}r6{RZ-%btkUy}!n&* +;6%!mlm(;!p=wY-nBqf8?FEwQ3R+^t3*<4JFaTy%F-y2B4wyKyS#cr8>AR))2IQaaViQ;ZSFqRxRn*o +7@g15_jbvFu527~3zN7DlT4TDqCEF^Aj#p}D-%2Av}w27XDlwSUKG%fie>RER3eB&?h9`e&pFe+)~0K +_-j=$m4_~{`2HHJiQ%Y6_7>;MJ;Ul()+Hs{V4n^H|sGM+zd<4XanMCWohkN_#H4A5Tb?L_>JFiE6FO< +wjtpiuz;f~P`L^{!CR?$`ijZZqTJ?q}0bxVv|n^{-6-lf4QkzF!ES`xz@=2x^B7`!GB$zB{Rmnr!+=4 +*+P6t4C9R@Hb|4Oes%_9r)gsxiL2{dD<{M}D)oyt=))=I?JVmroBjj{}V`(%T6Y1|fSdOnPKKdV(e5a +IKR>?gstrenFtZ`U+h+&IW*+PeeY82Etvgx$0L14L>GnErHyJ?FH5UISp(P=`Zj)=A%5i@KwCnkI +O7TT7Vm;g?HqCp80boI%MCfJ*@{gyshphtGJ{CE% +~DIv8xg~QL?7T5s#D1clmwao@Z`|d$@^Pty?-bzQ-Oe(M8MKQaBGY~zqUGwJ@fErx +x2YRZ>$l2YkM8^eN +pWn^j=a0)re)(=Wzgu{w)!7~7Hhi7Xz8!aarFe1(Jam2D>j>rmF6LIkiX~y(TtSt22*-%h@rtmiNaGF +pAUx0tE0m8U0s!+vI3Cc&|t&Q&WWur72`_5N!TmGJApd%y=>TY5pYD(hn1e6`qOmH-}wMEJ|a +14cW5{LuUG@iPFm+=j-baK`Kq`%u(xmQTZZ~tA^K5l5I8rJa4hLU3IK?P+0j~0Mh&HCRfJJt96!p(At +SL)_fw1rO;=K;kZ)bS3E4XrOb&UZ*(qz?%{v9Evk6sSCz!e1Q*R`sV3jX2DjY}64x#FCCK|hu=`pbU#IOx{CItXuHIkvfgdvzX4E70|XQR000O81Cd)OVaA|NaUukZ1WpZv|Y%gPMX)j}KWN&bEX>V?GE^v9>J!^B@Mv~w8D`w%kBDqTd$#m|5>GZRVR6!Cbd@eQm +;CTte7NOwvE+W=vL~aDsnZ^X}*B>No@h$r}a`LQ~Yw&P1b9j&$?=w#d3vV77pX!Q>D{YQCvArH%p2YP;T!U`Ay ++t%p2zk{$h+WR>o8($%^sp%eYd(n-9j)66{0ip2tkHeZX%e5&=k`o2uooq1WTV5odr7e!VH7(^cIRmN +{&L_(%{dHM7C`Niqw<@nX<>+^wnOA|7GUm~HHFXz~;9H?KCY@;iNW=1y9W_kulk$2lQB1+yI=de2`fb +V3I0Wtjmt2cm?Y@n_-K!P3a2pb-c?|?RnGF~Us+XPoln6OI%nkn*hnq=ue^*B#fL03Z$@ia?gT5M_ho +fP>zUHI#1>!;sMwGf5vw^{*dot9iEB^iK1cerGzJZ_m#jXj>;G&T74_mvBU+&lNp9r)O<_X&2&UQZ2Pz>*dw +O+cz)AuZ}NYonG$mv`VX~=>p_m7ZV`TP6w$PHt5KZcMRjdrf0n|ZS8p6?{qrAl2n4s|>(7Zrn2%FG17_> +&Q4Ifb*&?abV4yPXy^TVxtMKAy2Sm@hN{e9fcx4C@0o9I5y4;)CDB9M5Dt-CC=X!Ufxx=dRuubqyD*LescExnfR*&)OphpA{+2rt|J^Tx?#k@aWzx}oL(B +pETS7j8zJ;Knau>LJ^3TsP%<|B#qA%$^&V~M|-63guz-!xa`vYk0>Z`=D3 +KNhQqo_b7I*r-lnSY9A`<59LcES~Hs6C~^!fw!J{keWN6`nSk&2c()2KXYP~CJjmJI;_y-sr$4SDjXqhLrpG>CFL +=S5zWI)Lua_L(|EUIjv26hok!;y%xcWL62E#MvotGb*(LQlddXWrDG_K&pyOIn~s@OhLD_+9^I6R%<; +?=jl}4FEt1&(9|kqiCZE-046{d8z3hTGnOr&AO=Mc$6CWALDyhf0a9uu6Vey=V$_{q5{1IY~#^}}I<#F~I~O2=wA%!?r`PqqTE1S +=N^NCiWth$A91+ol1_Ad7%;2e-2fQuP3&Hw11;1Ij2z2Goz;W1*~c9`XeH9$xqaIs?irH@PL0)(!PLh +?X-;%TX|uk8LPT_XK1H0^5*!u=UtssbCkBrBcHlH+iPP8Pl3p5dOz7%0H68d)n$AGop+s<65BwbkG6pysKm%QO4G4e*mObj>jfI*wYuA6!m^)g#8*-YVsdk> +O8EB9H^tt=hZ|A3%Rwl>%^)IRy;R+%kdw;G`-}V`U`hD`Z(~GdHc^XfP^|rU$`Z@%61HJbnqqR3oN_s +W63l{p!{RhUNp_^yH^UhLd>+#5%OV@E68)FFpi$TW(E4#oFaR}&;PeTME-@uZsk0S4Z*x>#n{CE^yF2 +VZ6k1;&%BPmQai!oXZ2Tf;4{exLJh>f{`!U3YEE;rh?pC_BFX4}}Cq&uk5YdG-nSE2(YB^}#9R|tKeNZOO3li#Ifk&{E?E-6!73JYUo3_g~oq~C8!5;y@yO8t*b3iAU<^(M&xp<)iFBeFW)usn{ieZ#Lixl*0EQZUTH2Al*wK%rV +$#;=US#ECMbwI}CA?QYW{=Y71n%8VbXz0xUf+%@6;hr4_tojeo8#B7e;fXE{O0)O=@ +05$yb7MW$P9&5o5NPfeS;+hk9d-Xjpu7> +968tdI$Upb^#gKdQ->NTL1@hHcM-G&+bn2pMt`Lc9Gi9&b&}{y3&=bEiXX(&(J?`2+l#+!{#vo|jX>h$8`?FEB6xj4HzJ2`%BgYN`N>EWTpW~l0xsPr_G)E2Ia!IUYi&iO_RyEzA@R +$n5^sWO4v)7~_&*uZMH|}p#PvDL~sPvhR0B4WHfmMzz8lZ3Fe;LlxO#4qj)%F@Oirn{=t`m^J9f-{XiB+Hs4U}LN%^`LuG}+Vz66cI(JHyZHM8{8{%R*0RS?y3RcWmVnr#USgiFaD +kjSb8l_OZAHPJq@azLA-!ES;2S?1Le`VShFti1>-P0sZ6d&PO_30)b6IHBT#2qS1!FHmexOMZiG072E +`n+)*)o`VAiPZhJ8Ec(-kG4f})-09dXK@`+mcK%%Ixz2!sSKn14WN{_zy;u`Ta!aK=m?uJI_6oCG!gPVz{n-KuTXa^rnj1x13=X7LSZ>j+b?j`++oH1e==wj04V@YsV)MDp=th@(1GP6yvHhHj-sOP6Y4Rt;RdmI$0V})SRqlli1$p+mTvA +_7Uxe`eMEYz5D@T|HkFdTjaxOHMX2o=49mzfjl!;`9q&Z(DH0}OrmO{Vr) +38f0T9E8u@58mBNW9tl2=*<`5hD!R$2Tam3jMGk8Bvcyu2&~~A%^%BR<|zGJH+Cx=Gzkzq8@eupRlEh +aV1QFZso_DGCPO^rjGRypdkQqkJj6D>OB!Jk{Pf`kUw9%Zr}}r1mcP=60n1huJ02N+0X;!0WMRl=W}) +~s56Q+*x`tMLxIs12GNMX;9wZiAWOY2sua{TzNN|1Bo~j#`RTd(`pXwqst^OFsrj9b&(Hegfal8|&<{ +!wPWUEEQnDls0Fla7veMy(2$!zQWNcCOXg*Es7rO53hQogYbk)Wb-BvuvMB6wnZ_gB)s$c6*wQqh2Q~s_nP!K|+S~QNVaqEH9Ds;&&i>m$-A{adAL)u;;;l@_F%`CJt{WW&q>=Gk5h!X^RvQ<=^8YjDXxo_ +DNun?`m7YG$`8EdT4#L$u$NlVxNMyGQ^t)We0Ko2%iUY5+R~E2GnB9ANY?#mj=OxlI9aor9)I12)hzo +UOXL1$mhOj;mM8o5rekGGAE!tGYh(}1A8Y1tW~hIHOKdcQ3Bm)hR)VvO|7Fo?|@~u0@bkHgcu?-rq$6?!*AP*fVMl8i9#HNG28jHPHar1Xh{UwTbVH?aSq74fkNe|6#=cZ&&MMO +6pUrAs}1hfSihTQ8(52DFa*J|A2V!h7uWI*wdCM!6Ej|e|BtxYS^q +E4Zz#AB7#9$L|224wDOV`s%SdJea01zx#Qz2Yyh1E4VuV=Se>w-N4+~scZ5CPEjkg`C08`QLW`DEd5V +!YbV3^$tK%ug098t2A0>7cTRS<|l`92G|7lEXV1g8>4?4NGY!736BP<0IjvS%pB5aK+hn%i3 +%9}Io_EM(@=HrBF!}AZk43zHSeV~E4Ag=aDEXrVX`q98GaNM?*}V%m?{aw-UFem60lnmAT&(-s5R +#%rjl~9$7M%*(E9?fyk2}0(Yc6T#NWg(BGQtfLyhAgw$bD_*)Po2M(S97HRJ|80X)VVlL5y7jxncdfEy0y> +hJc^-+{929>575BGKSYJF*G#Q>L`H&L@yh#ia1+D-OonBev#+y#N+b22{{E@_03R*L500YyOh9&!?yYVS?I$c@hDP@SeNvm8Hx*9iOV632phQBf&uG+wl8$z@HFb-SxUVP~G3R`0o@y`| +)mo$8Ngr#_EjaxFrd>nj>i@F0>$P#Zh=;8lp7EiZsFQdfP>!f(@JM{gWRiiyQ>9O}q>>J4|*xY!jhpu +yY8hxnHi$XHu+X=P+~cTlmLq%yzvU|Mhvdc~$wbeejWwKvSevC5k_##nnCl)?nhvt6ZV2(5|eK(@Xr;F|8qYsVGXMq% +c9hz8rJEr~r;CWGY&ZtxOAmwSCj`&~iYai23N0NdgV+KCMD*@hP#(!x7v{Bwfe^axU%-L6Z8F3Z_G+s +Ty<+j4|~zPEO=91+1~X9^m;rVQnSem#W7;syT8p_Gjcp)Q24<=cqkown7f)O$aQoA2?$P^HM1RWCj3>1*&=!{8uHcS!5X8UxKXw8?ymMc +W*&?v?OQW-ZSIA{*HbJV;fhzCfU|PT>&|84Y}T2ERSajkJf!s&Z>r~#TDd0fRaJ74hll-J=9NP2vDqUEF5_+xErpYMjj0hLSt!3Hj +S3yXvtJbUaMH6GZCDxul7TV>|(EG|kLGnWYF%EAY2g0Oi|i9@Q!Pf0{(SSHY_YD-LRAMRtz4B}RCgBp +H`Fbdyn+hmhwvoR<4A8cmhtun$HS~$Ua8e_CBgc(z~VRY_WsLw)Tqk_P*0~({3Ks#)y4`d_DzsJ_WCV +MUv5LgsQ{`^0jCsfi&giNeK6%jkwxeyi1azPqi_~9pmpa^RBo`~j92OozM3id(Dne5_-Fb%l*`uR7Fr +8X5dcr{+@H8lL+)!1MjL!QUsDqFCeJsR63X;#f4_o-I{Pn|Lk1yHM==YiZ&^a2&n2s5L+9j>++0Za86 ++SNA1kA9a>dPOA4377_BCJ@r!qQ@w3>?;Rc9!o2{s***{i?WFV&w4G32~1@x9tFAGrc9IOY+9FK0m(* +3!8noPS|yy!Bil}{Fm!aTu|P~o6>MqJ4%Xbx;3LD^VZAXenBB2WR)N!54f)}Jhh7vsLw_OV$g|ij)y!cV{@rVzcuFQlv3SfN8RkFB@3G_{CApxTjiGh2hdXa-m`GW}7T?Qi60PJ2^*fyrD2j +tv60cCE(Ou~j8qTi&q&~%?iXJ%?@T~rnM`~(TjBN#P$8rSxFsUgWVGVQ=09Abj9Wl!I^x27)4U}uir5 +!%luLXFhpaZV+54@Vd*`4Lg&5wb6w9FWI~rG|@^9H1LAnW$^(X|MAMVdR~Qj@&7RW>`QH9=X#PRF0i +T$3{ltPQ90@eXxp{a90Xj`P=DlN534u7VwC27=H25xNkcf>H%jyltu#Q{RjKxF`?uEU`*{yb9xrkAxt +Y%skevkuA$w{fRc^+q4U7LjrjrtjY-b|0Y`IBdkiY@KtneUN(j67&7lc;5JNgSNKrj;wi|;R8gQYe8V +=?A3X$eM>6|oRH9V1xA#7fbt3PI3E0uUWgkwsmlwmlm2;;!871o5fv|W>1y+f2gpR%f8?_+k5VoUc4J +Q$R!&D$PWf!IvN49+Zy)qHzda8Ru;GA9^Biy1++U-lDwxgOU8uxK@>*rDrxZ7==f+4k-UpOy4jV>ddu6yXog8kRQ|~AGNeBj +p7l?Hz{yXO-S(gX8ub|`MdAd18<>R%{u+%U`Qqs|QrFFU{m* +vcrHK=B42|ur8EM4_R<>ktLjY&)N7>d7h;{FvPu$40F4JO`O0i?o?J<*|f4qY$d23sxD#6<)8|Wc8!< +=y}3<+kyU6RuBxe&M%bdJ^8icbOEox2=uQ@5rlYE*MdsWWn50ULmV`d1m&GLdA(#t;qEME6N)p1B$({ +7{Jl&J-_^`h^^Pn%bpPDPeR%;81KwT_XUgjj8>TUHH7;;x1X~a-qlglL((FOztH| +HDW0t}NHeot6VFXpe*;`d~FyDV5GyVOCIFhRFyA`Wt?Lhtm^J5ReB>F**eq;J=8ybV~lOxdMUA(^O8@ +-k{6b}S8K8yok&&XU;zQT3OWe;AkW6~BdIHc?i6|t2x*$bCVYzS{gw}k>{JVyE+j}_Kkst|o<%3Bo5DdG6RZ!WOXtqR(`w-p-cquBcuhdlsQF%RZqy)9 +qR2UtBr_;e5LeFZlPd8B=n3oXwqow_vP`zooKTyrN-@n|#<)rr2_k`=mV%*DuXVzb-ej7_>MHc+r$&T +PZK-_gyOt6MsF9kEvw_!)VPhx?Vv(UzVef;3HG<+r6xQ-U`Nap6^b4tcZ?#l=1L9ZR<%Dl8>A{&6MrS +h4yWakU`=9~}-%;50hreJF20c0P1su@^B~f87ILW3Ygp#QllSB@_WA}fi?3HZdZN^hJ +08h)zt4w0nBb>w@tD?58gTHA8ek<`-yDDc`t*nKkEh31KVQ(V5nPMmkJVFXc_4GqZEl8;aGkII8h^z +tZQkyX<1dC}Ci1QSp1v>Q=bamNh>+7A +(6$JSre9{dIefyqOgF65xK`kH0WIApQ(J>DklK=wOA$-p&x88L8|92SHsG*_ +{r`z{o2sO=nT=A+=|)>gL>vTyvjke%vtpIm5_g{Q19W!M`pU{G>&vBfs1@ZvFW%G#ccHAQK#^NFtd9_ +cpA=_;E(w?>W(LW%%Kq=I15cv*1S++~eI}Eb#6oiJ!RdQua7_5XRP0XWs0Z>Z=1QY-O00;mBky}|JM@=m&0RR970{{Rd0001RX>c +!JX>N37a&BR4FJo+JFJo_QZDDR?Ut@1>bY*ySE^v8;Qo&AyFc7`>E1Eq)f_%UxYfOw94|fBg6sb%LmJ@vIEy1ZCsCt4s{(Mlcs_fP9WJ4X>`y +jVazUUL&5Fl#E@UYoX5Uat0|XQR000O81Cd)<=CcKlmInX;{}liLA^-pYaA|NaUukZ1WpZv|Y%gPMX) +kGRWMz0?V{dJ3VQyqDaCxm*Yj5MY75(mCL3loljmpYw7u}*kU38I2XM<)ZgGpMT7z6?%(KZ`dR7on1T +lBy8T#6JWS>*1%*ws+R%NwiUu1nRjFG +Bh1jR;60T`iv6A~zE9Y9AC~PF`m`RUg?MVVi}^=s_)|$ +o8qKmNk#mrmeL314!txrKG{nB|)9*g~YQF6BX<-{(vCpa!El^e;qqV>-Q@TguH5avIH}2`R)=Hl^cHp +{#KWAJsvdV=!CezeTHD#j&+ST^IcIq52qn-bcvjNAtiOSM=;0uJGe))R$aC +dcgn?2m#XIHm3*PkDjK`<>9FA$rSn`2h0oD*rx!lzw&*avIQ5Bdf(kB6&_xZ +K3}^wv`u$f&C2Oo>XM2TZB;d)X1{PeAX3w)2F-tALsV3FoMh);~R2F=i7&l(hXYbFZ4V_#z;G0o9sHCipFe#peWwnujm{w^%6VBHStu4RR{ibA>iFo!lA-G; +l4_6YfaT=Wsfz8at^3@PP~JLwS +@1{-@7X^7*X+(f@elt}u@F^rjBJ;D?b3Q^of^Bji1x3;}Ov;S>G3DP;wcOok!O)H@eb9zn(8C@`x3AF*@}gLDv31$#h>MSzGAVe8;&a;B!PTkel~Unm*LIq25C?{QP_Uco4@XZMj|9d6Tr#HyHO%*!8(=rY!k2N}Q1LlLo`Sb=XEqy07PW;WtbjfT}i +fi_9t*W{y{oXUaQTI!-&}rQp!NPDTO8`1$2fO)|aByuI(=(`XQhQ4(HY-c2_B2tNvxyuAb#h~$7!(ea +@fJ-_3Zn@Z86&{n8NwcSkUB8@;m!kh&^YKNwy%D08XO +xp!xYVJD3Jj$4inA6sSfWNTHT>ROj}0vXYPx?qx8M$>@T~E#0?dZPg*s#zdnR(L^5^97 +~dzJFiq228+sey?-spVg=ydB(9yQFYD;!Hq+16c=v@tnLa$>q+DWZQ&?+a^DZ+e+fQdXURSQQZ8wbgg}YpeB8_};ktyuf;E{3SezwFwwc{_6TC$f`?pjI_$6&@TykkG +}XI!jN8qQ(LIM&di4YDUH@$(B?m!F8QjxMh#p1CK(s=QTrXv?=BTWRX9=n3u +UC2xIx0d`M7rfPIQjneLT?JfnG?uOBTH+X+eJz=yblEQtDqz-3xkqQmTVXd8ZQv4sN;ETI&bh;HLN=P +)h>@6aWAK2mk|-TUnDwm@E?o0003C000>P003}la4%nJZggdGZeeUMV{BZ5XS{2EVwa)HDI1bo|>F!qfuoRyMep2 +czi41BeD?CgNXJxHbDaT-IyBjn`-zMc3r}RC|om8e8r1RuvwYaOGxRa)NQ!iclS)q0$!~bf~b4@XZlg +<}4d~(jZx1`6Q^hvOx!BN6I%NR~Lx|wk;I|{e)tf(p@cT`o2EX%IMM=OjCCm>8CMo)r+Ef%6tuo(352 +l0oGSclV*P+rJ7s6FW;%rwf^c673%Mr@Dl=1)Fa3HT%DOYyZQ!4EHE;v@R}+Ln5`SJnyJ!c6F4wjE8K +vg3sxw}0V15v-_tX*#HTETz_O_=7-Tg9DLUO>oay?;+8)!|rJOIIvj+7ZEaEw!|SRzK0>wa%-Jr0cDU0M6HEnZ~71hzrMca#0|$mmdaj}x%Sb;YhdlFZd4 +6jUyTg$3UVvX^y&yW*@@1{T?s>9dx>amJ?=OZsR09S_fTb&kXfH-6IjmocGQhHSob7afNMy)m?r?o33 +ij5bR=qM!HPQ<6R#2zc=d`45xC#%fq>*v97sGFdq~!5a-8nzfrG+Za0>qq(!>-hv$s#g2*bu1<5JwT0 +`US^_yK54!dcc_46se?*xXP&s4}@W8-nyjl2BcSy<^QSfZ=}RtgL&^Cj4NEBi+N1H*#-P!xW~0Ov7eD +J=UaW5d6$myc+2l`|wIJ!jxxq?Vr6*%em&L(eOv>-MPMha7_ +WlHox>IP^==gU*kWXf#{mf3>sCsHvFb`Gm`DlUG%2T~)q__U~+dt5fm92rDm>8xvt!e@mQB<^4zu(BQbu)C8=vhT23&#$ +kQx_7B|rAAE3+k3j6s8d`|eFHjEaj4@Je1dbi#%XG-Uc)B^k{qS!6n8nL0@jJ-m7>WqXQ&(Yw6d;tBj +dmVMlTyTX#YMpxmm;NvnN$9JX@mQjMFmZY{D`q`Cv{|kC}N-AgOApg7n+M$8IYee8%k1OebSU-%T;}; +6ou#US++_e5%ab|`QfJ+9^YI+=pGj>w1-Hpxg_cKiiy6lc*0ib{;SsLif-Yi#oO^C +-p?7xddXdJLk2YTDl**txXkAUZRgx>F*IthC`3$vs&Ud|Qsx*UmHD&)|ibrN8xY8&-&0irsADxXcYkW +Y%a^=A(yx8WS?(aX}uf;!*`!`>FU()&#B|x5rOCheq;@t_mJE8`84$ny(`rrR@2XG>S&WCUz7+=wO5VhrrsN +#ApAPS?!Z5n07JmRkKy%?o!p%Vk5`u`BW$W@l`*@x33>!+J9OP8?jx8pun@$0@N$^ySxAaVCTER`cxM +6!~g3Z*qokrpaQ;iK8$&Guw>cgvCiF`wvh{0|XQR000O81Cd)MO|VRCb2axQRrjaO}N+cpsX?q5Nu7%XG5)(#j37;}LwYqkJ|8{`H1;28ofQ4S +Z06i6zGk>QL`CnBk_*M_qmU$G2yr#9sk_v(3FNPCR_hGN>?$m^d;QSw9Q*`<{vUCUQv~K(UckXl(WwF!8@z{NhvvbaBFy_)0*o%3>WBR4@_yW)Ey2 +j~?zRlr}X>4B}Izr}ZWGxCe`_#@f6-0z~KSEfag-9ZMkPPRU$m1cvu^od=+nf +7=wY!S4E(+`#0(<(R!eOdc(d;LXltF++S!r10dH}H=Y8C3@zFT&fWE_o1zlXQB$cX%rs(E}4q(TaG`q +ZHQgvKsae<&f6&p1Bxg2PNAk4usB3CrF$hBi}KMquu_L-X$%qM;PlNs^nhCM;#in7+8}V)iT@#M8Q^s +AB0rQTj~(!%ZOCK9!MsLn1bnCaqEXw4&E)WqaFF4Y=`Vd&zP;%k3YYVXJ-$>U&>Us@S=_{QHTVa+JuC +P1iT&9bIJ{?F=M!AH%jlw7l3D!{v)}FgLN0It|mOWc4fv3CJZl+S#vaZ5M>LJ1~dVD-O`ExTiep}OuB +`I-O5GnqO|eHD-@*U!1U}1BBv9m7e=^A2R&|}>?kR?V!4s(m=LNVAj}IMxH2uE3V4_+DQfTxYuOp7q` +bG$!s7xJ*m`Llg@ak%8pL{cC@-OF0P~u=wDZZ`XtC;}AE+zS4bkZT)X?F4W}* +Wdo)qVVV&EZnFg*-LY0GfN>f5{`y)!ee0_X$;1_sB(nmevNtH5@`p%F>ASjCOIE;k&Ijt21Va*9 +>SoUuQ&*>#p +dEh%1Y07ez)go=h)Z~SlWfhWEKUW@_&qH0ddK!oxF*gIAkApDM8u_YG|5~>p#B2bziQ+tql@(B<;uuFjI^_x^X?fW9+ +sn8hU2@B$+)+mRtg~MC?s&30@D85SO*zaEZPoAgU3Az^kTq0~$!LR^*9ed$OB`}(d1gGok +{=1M&{^c}fo&>%=z(St9+{0;_rQb?x7+(1G4UQDp4Gl|;iuriRZo#ROy7`*NuEgaxm=-NIkpz)&qf8wW%&M +CC?0@(|^>uNw02$3MQFDvp4)?T8)Yxp9={$b+5(V%YKT=}iSb>h{?nl=TnP5P)HQSo?UU3^;+a#(S}G +;1b&>pjA2ef?_x*f|nfNTc9_c7k^^7x;-qGw>6zY}~(X-vbN)2e=`!lv6P=h!-gQ5cE+`ZKtP9`)3Jf +;C`I7tOS6P;R~Q5^kn88?&Xf+Mib@W%%KH@xUv8Ai!t^#g2Joy0V}yr#!JBS+bino$`0qG!7U%mn9705l>?;^tkjw-`QDpy^`NY=eE|z+SC631c5YtJ6hryV{ +MGq0Vagz)pkUW)i=e^!l@Z0Z>Z=1QY-O00;mBky}}s?p)5>3;+O0DgXc*0001RX>c!JX>N37a&BR4FJ +o+JFK}UUb7gWaaCyyIZExJT5&rI9LC7d9g!)!ggDyoJTQc*R?vJy3uZiX)({_)}Czdn?&KY#xCIXY0ZTfQ4$YE+IL_0o +Tshqtf$Ui2|es2^DzxU3wTp4GHcB^}hh!~x~d!y=^WmADY1IXOX{gDsvpV&`rR(?S`9L-t(xB**`E7o5K@QFQ;ldYr2U!&m*? +HoA1W?NFiI=L##RI+B9lSj1Q$(6C+qeqw5<84OHpM&XIW~RpL)XdTe$+eCTgH+^#5!&!w%W87X)qdn( +=(#}#S%4L*o@?8Wyv$7N&*NBdY_LF9jH=N}ne>rO+A|t1O$3(U0AOorRcRisCcPVX*NOznNsqk_2ZE!DGS1Q5dK2 +G4H?8455pr_4qW$)uRwxMQCLzDv+&)kA0Li-XaZVD=aVazUko#@InNY|PhXXwa1{5L+9H4=CCt~Xolo +gWDwk8LrD99j-lab8|haE)KVUNnuI6y`=1wCh+~r%PIJ!z{)Pm;69xBk7!1!&)Sg8F@~gM)>d+ +whom(bsmt#)}`nrljRj{1_+vv38XP*OoW6G;EHfbTA_5x2uPh7o;hmwz@#WQzG%cXM&X@nwstLyIaAB +U4a>Y0*!W74;&;KV9u^_IXS4=?u(50JbRaC9A5>xq$TNr%6I3z@RWi;xm%|PHi6pDv+GHWgAnA@-IrQ +&4r11Umbt{LS5w&OV7c?*0<_LcnY1wtd;r|P!t{H0$Lmh!YOSZfROId;Z<&BJ5LA-QbL?=JU9VUz4+A +l`hn_F0xvy0AZHd&)2GIh8D%#2S{EfU0Y0$j6ft}S4`(2ysQ)sy#RHNuKDsB5#-+bKi?y@JILO`~B=F +B&3XaC<2^aLY75R +{TM3i?ot||Zz@+tebMpsW-7r{sxn&%a$-MeL*#m +tW(NXI6~D}&aZn&tnhEZ$zgq%iEAqWBx+#62>aSW(BL)!Zx1lT7_3(HMcayniFT>zFm65KqBKf(>ybXE!adAlvp)peES4MNjwMLyahqn-g%3J3j^$zPHFQ0G{vkgkU-1Q4oqY-tjBgkX`v+_&`w$=Aweub +trJW%62O#d|Fv_!bb!V0$b6*vU4-viTli!N&(8r6Bmg!T{`DtM-1D +M*Lz;=$E^-i!L-#KNwsIyrQPK;o3LxQ<&8~fti9sBXtC1+Q3^SY(+hYPZ)Jt9Ki+wcKcNhIF!j~+h)d +C6`(j0~mj@PjLjme|Z2XwXr=SVyb3yyship}i`{)jc0bak(prAl7M_z!cC_#e64 +uoEga4<+ss0#+esZ4!sK-fB|AN_X?kB6S9wEqa43)|)`xCbZTYouzanV73dyAL(y{l;&o3zB6VxW1qqpX12|r625 +CSbUt+INX+gXLl5ZI%ko+`=K+sh47+sk7O&(TvR}9wT9BOmNuHtGa&;!n%m@*+AVrc#+4*Z+5M+xdSi +JFeU?FO;OmxudtzzWqN+Ot^Jk926u!Kv4EEN-Y!P?$!ToY~z@67kKe{%-tj#0?`X3sZu3Gc`0NN9i0> +faIyNkhko3AkLyQOo2;dI=y_5#-}8+^Vnonm{??h>7E;R!3K^FSZH4}+JkWLug)l?=sURt7Eg5t)i{Yi^@xbI;`FoKj&d$%zpv=d)E4h_f_wn`+gi(LT(?YT+o@M +2K&MAwqFdAmUn1?%Y1;Q)SL(^ie`0ftByp*8G?Zw+{DlN*@g)-9Hz0KB%F0ebEY +_{FVVuRB+ZT?vFBp6cr$-yVSz%Fh5G7+wv(WaP-?<5t|u1{L^N>kUs)*AhQaXgd(#+Vygwu6kNoBN +94mj?InLqvVI58>jqmpn#?xsQ*jye3Ohlj_Ojz<^ +_RO&$r}wq=p`%7(wA$6I?`iq*IMewpwfsmruK}Cu`e(XZey$ViAVeS3&@H0g^FM1hUSc&ojLUJ4L?C8 +#oD=Y?U`(2oN^+xs06)hwDT&?2FP$Ym~=WVbd5`m8r+BwX$3wto+cTd6OKhk30s#_&uWI%0>JvwU~S! +m5m0(UW*F?LNO&?qw|Kx|(x>7EFnKU@!f>wj(+Md#0FHc#u`^N&ck;n|DA%q3k-rp^&nonu4ck~}T`0w`}!ueccc5Zp}Niu(|(2UOn+T6<`H{C*5fZ@UqL26C1D9B+%&yncRn!^ +AIV8{nQU`XkG4({y8`?<0(KS0nf$PWSIqp!N&1(UdkA;)fyQIYlM9W13~C08n9w!yP#EQ8+}eg~AKe{ +rzVs`VjbA2PW20mgfO?9bbHZdc7+LL|R>Awz6Xu-!jY{Zsu$HxJ{!Blj#o9`vAp#H96}r>b{u!WaKCd +scJNONECAqz$?K2R-fqq4^T@31QY-O00;mBky}}B2`vt*0{{S{3IG5i0001RX>c!JX>N37a&BR4FJo+ +JFK}{iXL4n8b6;X%a&slWV1_?0!hVni~j +eHL{YD}z#>I;kg4JDJmdFDG!Cn^_yNyCYGPxtVTE=z+Q$Z`6Y1PvsfiV$A}^K9U9ezu_(6F5 +NuDLC+&a>Fsa&qi@i+^@5j|;CsJ-Y&PLfDaboqf8MvE4TF<{$mjMDaS_2_oHDOypIBuRxe?7PV9V`TO +RVMA2p0I-1-R3PFm{E+&da)z{=w?X76PMa|!w&WZgN#X5>DTxA720t5(;l11RXN7Y}E=N=-3SdUF4A| +32I&de`stSx&S2!TF6g7|<{0V_v5v}rYHWlV92`<#2jSmL(g6{Fg3q@4bM4{(Q>YAnFX4yy7Z9*DvS4 +jnVp6}==AN7|h#o0FUm{;gZD|-@le|h1a=aRo!nk_IEnaY`x8p&zbC0X%Je!tRQRs&z{-bm3eRMuHPR +|ssNayLlps9clvzYsF^gth6*?(j9f)))(KX{3SX4a%^P9*m(Hez()oaYm!h=q1`(yjjoFOz-s6B +URHE$4DNuh%AKe12HvMx2tm=m1J*_Q(+D$#sx}tNQ>&l5${34y;p0^zRZ*|BkdHRCO+}5 +057uTNs?S1~SSZxIKbEFr_Yjw_ZXW-oQ*@VKEZsBS&db(XqHRNt`+={1-6M8KCl+Yl<<3{8^?47%Sqv +k*rv6gX`!~(tHAK(>FHLVj)T(tSKBUHQfI|E(S(gq_Y=V@W!@UZVfHr4yfxpY&-w#-~9gMalF9>(E=1 +l=p@Wx$gkaI(Fi=w(x#&wv{jbdPOktr`QEIz9X9C|(}%rh}0RG0qMP~%f#*$+rD!Nzf@ax;CmS1+=s^)J%&xgkV)TcVUqLKX8G#Ok@sG;c +wel;>f1)ux_P)h>@6aWAK2mk|-TUmYKTttNo007!A001BW003}la4%nJZggdGZeeUMV{Bf!!-XGlsSC2 +C)CDGoJ|tVD8#@7C_LyEez>U|dV51iA8vt2i4^<&zKsU=(q!{vtO +(dmcd(}(EHp3?NOakCoP%)NEMdg82N!e6KQM5d6bmNt73(*#=ItzIROVHx(R?bVSfDn-=85k!DJ=&pM +&HqUyVZZ(Ewa9Nw+ap|H+h7MBU>%2XWqN`PB>M#vR;WtWsGUx3iy46*c%KSPH-S+J5+^L<72V}*74FW +#;wQSajb`}XE^A^SKEQIoZdbGA)ROgRo-@ZIDCRN`D!HY!bN05UUmb~siIvD}ly#&%Z>u4AzQ(Tmuz- +OAam7w$l5y#a_Xb+Qp0r&wt8vp!Qv&Y;c&xS?`2d^b4$MKJd}in=0WWduG9!TMJKeTOl7gOClEA3hKe +yYfSKq$dCO6ynSFhh*CpSM`ZGQl=Ph-B(xBq_o?sc;L@MB=oXnXZ$`#$;jX1jftT)w(|vkeWp-u^4mT +voGNm_1{Aa^}@BNpnVvx?G@3-=ITYlJ(#4??y9$5b&C%0w4|EV-Nq(&w)k3-grtR%ORX)q!JKa3W~ec +)53V!X!^`b4uVS5GMt$nSOMUC&kwa^NxN8Sg}Z1UHq#2wEBzn}W|oRSTw#U5HZ0wKApY7Zz)e&MI2%^ +61w^9nXs+0@U*uWR5{!D$(Sl>!ZvyduMQohe*pRm(;HTgXBittt>8)m=m)(ZDPXNo?ep!$$FaRUY5Di +6wX#{2lxZ{q1@7qbELKtQGn|wgT!CCCaHGpI@6j)WuLPvj1+-=xwblD9y@hcpre3mbW&XW+ML>NHiJc +Xc53nJ3AmgIb7g-(-d5DmB$kdT552IeSXB(DbSwA1cj*JzMK>IJ@d%|62p5u$sML+FaY&6t!cMelKDk +WLMlp}5bqs1V>ZO*y1T=$9Ih#7W$P$El*5!X%)8kc=SY=%p +H0q@5;^OYyo4apBsz$gkqmEn?8X5;4dPk64B>(~y(M&%88Ww%R)nRh6w1nS)W3PC6Vi3BsZlM{No;*R +QN~Cq%$vtGVAo<0>r1Ww@bp2|zhqB}f(8ALrX}J(}6g9wMr_lojig5yfW&m~Iko1G;P +)`t2ug=b}Zz|fG>1?$(~VA6;lZ-Fbrowi?Ph+z3|!&%Rc8j+xd;w^guo*dgsN`#HJRGQ%ZBS>Ma+8n@ +L{)Zkte8!{5+dbsb*jv+;7Cm7{;1N^P99s_!%@97#zLX4)Wi&)#@*&7lO>pUOgGad&0#8Ljp1uws+X6on4_YH^ +9XkIIVaW9xOm!9m%yr~)G3MJ6i~y8Gj~m<4HH0yj*n_PP_?-TyNzQmQgW2YLs;V^@i}I{zXfhrHn6c; +K^Va-zA{CvfEWnd5M*Ug~knf?yYK6`oxZ$z51r?aTX5Dtbxw*L_^DrMtivuHQcTB-i8G?Y=VF92&D?? +B&02U{m@kdj9bclm^#UwxJ2tup~aFtdFfGlw0hvO8F^&0GDZRz4pu=*^|s}>-D?b_FgDQisB$_zXz9RG6?klCK*5zHoNJt9hAk;R|kB9zmU#m< +A4dTyrD{_dSEL7`|b~N{b20AtOC<=*oj7A$8*r`6QxI%-nB~vk#$tVj?i2-FvQ;5V1p(g#A+BA@CP6~ +faq1SqrC{+Mt``8CGma`LyT&)P7+Y~k@cJKn|%^5^u*rVY68x2|L70tqEFmCtsb(Pc<|m2UOpcE4ar2 +rZxez|2&PXC%aaL#-g~0!Z%#z+OK{`B9Ek9(SLg@vLm@y-_Vf>i-;P7yG8$&Js%$Z6iYa)%6bDHtw#|A|!}@;#_Qo;en#AO`7k +NGeWcjtK--=X+lB>+X+ae4SX+&oDxCF%?W3G|3~caw4uj}=c!}=Xj#nc^(fOLOUKdj7gpx8nk4MQ*y6OdeD#iCK+_jFCI2bk_;SS9BvMX*7uC@;5{Iafsc%b4P% +mlaYD7fSBUgk +Re2Nu25}79XCFCq0s1O_oe_+}9J0uRdP(7f2`bJkPqMAY&RraiGW0)!OIAk8dLf8+IFvPHyk>=s@jxi^}O`gbgctVIr5A{Px +ycB2%m#0OY$hV@i##DRf~LvEE-Co +06|-?9R^ac^6pV1QCqTR%CA(mFwc%MGa6mVTiVT?M{UC^92Si0*psa(`|fsI%NLq9L;IIF_)zH{F|Rl +_t*AlY8dq5R+TRM5L%I(QFsGQd*X+r@K?QM;|Gs<~nM;ppWM5olJk@m=(6OeA=VTuJEO@aP?|c~s__)pEr(6%Tv|x2P)DU2_7~csVm!Ex4HyBFGVRicItyA +DAzR+dkT$uKyP&Ad2+2Ej|{7$$jl4@1Y&U%v;fZ5)6?7@Jk{C=WKQn2jM49F=Mj!xzEy7z4u{j9Q>x$cRG;wh;!1=;x3pv7!bqaib{&S%Sim@Re&SrQ?Lrj(04 +i2A7~rix#7x^9WSVC++ls|SE=`motlTcR?5C9dWwnt*WtaQC;NEt?hp3tEB4;p1^*XNO9KQH0000800 +WU*S*grf$({xP0R9sI0384T0B~t=FJEbHbY*gGVQepBY-ulZaA|ICWpZ;aaCyyG+in{-5PjdTAY=rV8 +foREO%ND$+9Gipp@9v=3H)FO0<}v?geh`Ma;>PBfA8UCFIro2lNLqwpw)7QGsEGWxrna{r7g*nwCuAL +e3tOA!Y$KQDPgJwp%x1+7uBoT)D+8CESYPyB6d@Ng~avA`H=j~B-7L?JtXIa6AmQ##&l +hE=-!KRY7gF|8jEn`uy@@H+wXx;$JWej+{wLou(vlbf(EkWqS&acYduuol3f5)9D~dl1xxz$OTM?trM +qWPBV6#5PWhrCkB+hVPZZYqnG4N$w+e_O}SxMvy)XJ*b2H?eyX+7eMqhZ%(>)d=|v3P3l&oX8%uLcjM +ZN%HQMV9rJ3coESlc$9%0a&VG7T1JDv7x9p0MyZN-eC3+4@KR_9z`sk*qU$@vw?pFY8(&fbR4d1#s~s +SYOsy*IkP{$t#0SPsbPs^FSuREW)xydY(fQ_IZQFa%$YD^fRxNS?9ACI}5&;o@(d-#j+&ER%=xe7irub`o17;*d$1OWgO;IZYVFRuq_>PvG80tZ5 +F@BFR}q@$M3p*vcelH<6C|#+-$l&epQPn4J4xG?w)A_Q9$|Sc?;vf@owO3g2VEjhBnRZ9!8=ew@^UppXzP_zZHDlw9Py@ +R5H4Yk5Qg+6@MAZFAz?O4A>xwZ{9Fi9Xl$qwHBnhcjV}aZL;6Z)j4)tnL!KXzn8_S6;aOS=J3zcb7L) +<)h~yi_iV+n~v$GD#)v}c#g5NM0Pj9&yy_x`kfV-tw6F|mD%|}STMd@TXVG>s7C?PIe1zrkna|5^-f; +QndCev6RadTf;AwxWD6~w<+ik=^(NB2a{L$zo}(%%igudghDt>44VYqS)-78okpzmvZA*#btPbdLzi>?9KTwO5rI>K| +MrulCU7>rVw<4Kn94`>=3;oVxieaP;JXPv6Jb+Uan8s)6Q{6NK;ZcJs51cS^1`l>CsnK@sS+ +Lx`M*kQbORmu%T0Y>{x{UGG?B6{=F`J8#H-nj#S{CzXYy3@2GC0KoYXNX0_+*1W(D1=C7C^mN_g$eJW +tyXWEo&Ly6o@1PtW~DY5R+}SslIeys^xaWcu;O#Z3QK-ro0+0I_nLKC*gKY`F`xD_iVj5hB31*@jm>R +wr~U!2?-s+{Sbe{Y`y5m6%YhA-=99OR*Qe80AKzb`zxR{D=O?qPAD%uFz2xHU`Q<&7W$$6+Zu>Ee;c@ +!zV7EbP2d^Ixw3ld?)Y{Z-Ajw@=`?6OS;lCSjK^YsHC9+)5M}9iHm>_C%W-6Q^042HQ6stmMx}qt$P> +?1MZJ;3(>d21&+cduO*BvFHxeVLZ6ul)p+c;%A&|2d_E3}#b-2&aVps?LH=y(6oh%#G2IY|BjP)h>@6aWAK2mk|-TUq^j083Z^0049V001E +X003}la4%nJZggdGZeeUMV{B?y-E^v9BS +KW`}G!TE!Uoi>~w5K-kTxpSxy+f=7+)5nquv&H9#A&QLcCelH0^)yX#!gzN%^u|Xl4d@Cp0AA4G)*2^ +eqehJxmJz|CDb06l+cIYqWI0z3Zc1dY;jWSa5+zG90&jQ72UbwcAJcziiA*((2t?E| +rPULO{9~#nQG6{0%GTRE}xItQ$OOfrE<=Y;`pno4;lcfLiph^vQk<&#Qanco}wJuu8w+(aE3UbM;-ID +YQY>RTHOP5LV6@09Og+lnFAQ1}9Eil-%Dz8A7P;qwbK#J1QVM=X~A{)@HYg)HK18aD%*iMqxQH#O{vM +5A2A}n%ko$QwVF|4=H7;d@p24B`|viFjCOCKu^+7#Rnt7Z;kVlO@mVH?Rh6h-0pN3OtCy4_d!;1Es=b +Xu^Ek*kw%foJj9kY2^PPjZU35Kk#St-Ng6QWcPunjP>^j$03uGb^}(g>85)N|9r+ba1K=1bP-_hcamC +WiY#?kiLLW-T+vRIf8HSg_%O1)G|v(k{e$dPu7_gL}`4+4F8<~{!*dvR8pp!n7{Bm&!0YBHmI#Gk`IB +@o0;I?@qKUDtY9rzHKX} +Rngb%*cpvS>4QK8~8{LfYxUSl`;M!}xB28fDSvhE8C$E%IYgGkebLmb~gO^02nfUBc0S`o5qL{iw?NMyy2?gDi;$NwJODaHb}448Xu1l*qAW^`e&x-6D>7PTcB^@Ug{nG9T~jIEsof{nw{OC +6(`bDrZVgq@Yp>*gs<6a31yg_*|G9Uag2!YnUwcAlp@K5sx0V$0ld_(Z@_PSZ{8eE%VW#1 +oU_fq369ffE^#kxXL+|4SjR(hn&!sf7yHYf|g`*l#LAi*UbR8&e3-IMBL{{6$Q@sp)CB{2F@a~z4RKr +rES1=2Yc>tu{XV7?0+PG!4NckyzWLY@A~H@fOw-J69%_!qXzvx{OEUUMUCUg3^}luB>1Qg7c<(!pU<% +$f=jZ%TBp~!HU=kMHpJ5p6TAeJ7>?n-M(%Q{@gj$1inG`TXx>P;wq;VExLNd=gX{n-#A$3`5e`4fOm^ +U%T`YSWqP#M*IhW}Wk`epq+mKWoi2O$M7p-{mFHlPZ1QY-O00;mBky}}r?jM5O2mk;G9{>O!0001RX> +c!JX>N37a&BR4FJo_QZDDR?b1!3IV`ybAaCyxcYj5K=^1FWpp~WIn*H(77cR0YP_fX_=cLf${u*uz*T +%gDnZL5_@Rg~;agZ%f-3`vQUHI|p3!{5;4cUQdj23($yYT)wZV3};mF8|Vuvl~1zRD7ctW68&C +)1X&GpKRWqCDcS6g{t^_FXBTmy=-x{nP|F4odO;n!-HqW)OAlug~?S?B`HJSSt5icluSSth2F +$J_a7+DN)E54I^K4)L($)te)itPa2qBHGXeZ;b5H2(|=U~H6Uef>Uva5Vj +CR)iN4Pz4dg3u#14~-`j%_t``ByoQ&cEgK1L$2#Ma?Ty15(;%X7vT^1PC1d$K9&QhDUoDggt2h_%SsT41n@Toi_0p?OXh&|(ph5*kzDXffsZ}-1^@>O=K4%XFA4d60*k&f0`$5e9Io~N(JmH{Y-AuY#Co9G_bjmf^#nNi +qJ^d(8n^>{?DU+knUJ;BRNRU+_h{DJa69L(i$W`YrZGA_jX8M7aTGt@UKr|;ae54TC$Q?=)!R?FbD +;rA^u6`;Ac>Rcoy1oqh4&hL|Aj|!ph>RfvTpK3QOKLElUnXcFQY1wK8MKX&N)jM%=z?xXvMRU<0r{MyIW$&oYZ3<6Qeut2N +APCHMXdrS3mN$^e8WMAL}OeN=%3BDXm-iAuFHh_DR3=l8HlMERz&9PS*fDPLvH(u0V=gXs`HxQn;>#d +Cdyh9g5}L=?5YQM735Nrf|B5X~*P6zLuI@we +}yIeQq9{_*!x25rKS0Q417KBC)KQb#rVY~so|k&9-x1O}jc|M&IvrM3>>`Y}6>`Wd(@ihH(f@}f4jZY +2X6qlSD1DI>{_II*sQJU2Md5i;=Zq4L@S|#gX+Pf +u6A!z28Fw-@*(3=Ma3n1Fk+wB +hd)|CN9(W|{hUtC?trrRF<2;&9bH?GpD3sXGje&ct%ozqu?3LUqnUp)kv4fA9tpvOba3-GD;12FsN$Q>Jiu&wZGs*12n+gVXThY3QEa+8L-5 +ez`Ntluthl0!>Nuj|FQ!I53)cagnSA@m!UxK=kt3p~nKLtTi5lH?{y%XH5O%!j#2gw$<94*BevKucvt +pkG?M5yG!!h>%D*Ww``8=u1f`hZLvXc8e<8-}65$qCtLEN{qQ`d;g1WdHr!sM6i)CP0O1#+#I+PlA?p +S5rvUQpuknSaB66cANw4g{!r8Ma7ThF6~XI$yP^Ym@J}@Caz|cb*s{qr?+g<_-Hk%V=V?r@)|HQ+u|t +ZKj9N*8v>9KB0iN1cC=6^J8!_u;6hwJ*1TYqG9g<*JjUW4agRafXV#lBhhZo+Vg5D6%PY_m71})Dwwh +%iWfouBxUO;$>tgbo!mrH7f8+x&!0YcnyLQCJyqxIH{hJNjttL_{Hj^fy*i{MVjrIK{;@WBQ{own>z0 +OlY~O`P52y3meAu1Zc8WmsHRGw^hnM5|!?6+6tve`zi9d%QJ(&Abr3326n8Od@^*gyvRVHa2v5^VM&P +XFlBMQ$--p=FBUD!3G30THdJbjCYB>_bwgoTd#4Ih!Z3=xiuOOxFNkR6q&gB5Yh&yxy +3RFNBkYQqMV9c!4N<#f+VG>OtL#Bf60q@H#-UHIDE8pV~wpulnLukp@_=4xI6Ywq`<@{fm<$!yBVV0etd#toSNz)7;78ras261) +2bb${m(t4%Q^5}>0RN71~FU&?zXxe_O}m0>7?cbXB0Nvxrr97vqrV|Bb+mS>u0;L{`2@obJWwsI5!#X +%N@Jb)W4A=3(QM?4Gb>9`e*!_TR#tNH2a;c$qx7ss;NoMwD~TJloi$Lu{op0>!{q+-9lV_`t72Ur$@S +%8jfH<1Te)BD5BKb~&dpm)Zb-vCfc0|XQR000O81Cd)<7>gO?$pQcX+z0>w9{>OVaA|NaUukZ1WpZv| +Y%gPPZEaz0WOFZLXk}w-E^v9ZR$FV^Fcg0GuQ&t>He_bcf$k;jt!&V4eF;G*_OYW?mONcj^6z)#tI{~ +_OD6)6b*|rcJ~sqKfsf=zwx31;JB8cAj%%w-$+uXS&ztQp_tV?=BE83h1<7bQn)j7y +tXl%snqQRjj+WS@@fQiqP=T9%_j^O4cw1Y&MD(Vca}1yc!P{(Ns<(jTMOF&ZWvQKd}o^u;A*vcMkA^- +OpsteYvIUG2qOrIP-2U!L{$j1IYlO23Q;R&ktD;A_ERF +7FBq>ym-Db!N5DyiC+KCrNwGNibe>llBn-UT2A$CpJRV78?!u7 +bnmQEV&=jcd8VLsGvI@uPbc4-dlhT79CCk>dnXI4^nBM!c!D$Ul5ndU-o9Oj<0WZG8R0Fm|w3)cyWI3 +5YvTtuIc7}km~Ml|f=(0xAmT*QR}lakI+`pekO6_)r0TyqxI>dpdv1}TR98eWg0ID)XCw3|hqudcZYD +{f)gV}P`5oN?{G?yp@wpgEG;r&8Uc>2_oHfulDiKaKt)pGFW=+f9Ka3TN&6S4!vhpC&+sZ;s}joG~{G +V;gtf)cO$w_M%IC$=CZ_4Ll8+oZl8SVRxj{R&qy`ngxc2;<@3kH_(h8i)dyfq8hIq5T^J=*FlV5o^)^ +%s6pqA>VMED14@hU@Ui-#;b8O&s#qqL$n}aYX0}vd{HyQ}P)h>@6aWAK2mk|-TUqDMnsHwR006%b001 +Na003}la4%nJZggdGZeeUMV{dJ3VQyq|FJo_QaBO9CX>V>WaCxOy>u=jO5dZGK;-DCdv{_2CZ*!qyt> +*#(vc|C86@_DHj6^$J^%_a#<@tZ#k&>*Z+s@M$N#xz{-p3=0(u7M8&tkyxPf4HTBPZ!#!;=V-RHlRr3 +dQapB+RJD_vCZR;%&Ke&4e7}8!1a2kHwPmn1qfWGUtv6>iJ0&kvJ$BCi(9%79oku1TqCwlq`#nlgV_k +=wrzw3xyLg;g`f)D!r5^+ri-7+r`wI-26Vfo-VI$K7b2`VGPa`0_?;+4Z}U4a%o5fk0zfedUsfTe}iduHS^wnT;7zvo4S`Uyo8_MTm4aeH82j0= +gktD8YW;wjFjVJ~nKOBpK?K$>!!QGa0m%5wL+k +xmJ7nzomas-KhSMhEB+hSNq~bG&r`c)3Q+~z2#KJWXW>&Vuy{f=sNmw +kvW?a!vZnM6d;f>mVd(lFC1bk&>cQOHYiL%=Y5JZKqU`~9_;CX +bZs-q(r<=B#NhsgU+e`Q?2Ppz-bPlH5(7QW6XNwZK*l-;NUre>QCD=dJe#`i}TtvedHLeQ{1>5>fj~( +&(66=mF}hyhC2qna!b!<_Lx%5%LpOaYqBa^Da#MFWBi1?6ZG@rlWM)5wDXM%Q{Re;PlGYhA4Z`3h;#(Q5LvzLs-M<1L24Ze`tpyQjN#2+bdg{IN>d4#}K +G$wLvgrvBeYs`dXSX-C-xM=kW~QSD9z;k$FOFBoU=UUk|#qyRM*JYi>4B`4Rrr5m#YKX(F2ZRXWKa8)Z_H;3{Mj8fy +NJ*`%9kDd|&l>JZ?Rl7m-hxf`%Kc{x|R;iRt*DyIOYqNYe?YVlW%V8n&$mr%`M5uC+pRtXxA#r5mYQ7pZJz`bW&9hin^$3a@9~YOw5fHw`KXn0 +I;jFUOb&nUbs_e0i%y5R0Ld~un#gmO*-ZJbekSkxCH1vYNX4AcAIbZ0rs2w$$v}{4@XvVl1@Ke67{gZ +z&6oWTJ8kjk_wXV-K1;10#YNBx?4*Bg6Wt7)tC!hh1WixNo)1x-tOwERr5qijSP(d6rO?8gC<>l41nk +Q-VFI7%8Ti4qXCs)zUU!&X#w;{HL&8f_Ie7Izn%j%SD8UKs`GN7D0kDN)`HQJcY=Qr~)d`>cmG9e*VX +Vh+g8yls124Fl4=dXmtW+QN4wYa6@zfem91QY-O00;mBky}|QS9Z1w3jhEnCIA2@0001RX>c!JX>N37 +a&BR4FJo_QZDDR?b1!3WZf0p`b#h^JX>V>WaCyBNU2ogE_1(XMQ&B_)WVPL+aeaX6&8m`O&6S#Lq}Vf2)m1 +7LXJ-A6v}m|ls}B{>uq*G&L&Pp}RY&Zys&i4M#YDqZc@-ylS#t^R;&qY7t5or1E%y7g%q;$?emsVv>a +=bYAZ1)xl(Vm2FTY0Y>iYEb?CNS1Q$>)(N~lj%utbiD +qQ>3tZ$630r^IPs?vrtH;V+bXQ$!QGhwxD`yM(v$E>}Dv6YWI?$+J#%W!j +}x#Y^BOF!lJDb`1cyi5?lU;#AiCde! +rpoe+FbZo9VP=zv<6emDW30z^BPG$dKb>33ePo4G>tD)5p;$*I&koQrtHy7@MV8mS`9iDqd`+Z1y|*4 +4$61^ze1O-V>aPJA|->Agb1GLFB!MJ+oc}qe~b_P{aZSOMHMvfv`YP{FNOqs)f&+_@8O7L1aNx;Rm<% +84VG$YXz0-kMpbR_ZJM{&OV%fyZp+6At5&*Zc~}3D=dFG=2;DuNZjTb&te~O+Q~Sbyxel8u8mnvFHsN +hl=+exvf+pgKcaQj2hwy)Gv`n^AG*$RE^6fC~YKCk|suhvhxz*hC=1}nER_Q)sscLyc)dc#-u9)ngU=>^{DA +y0ZIk7eebIlaLC%W12jX;IOLJ8POpgT=;ap?gAv#jNF_Z^0Cz9UHHOc4U%S$tazNRy7$Au@bDSeZ2^cs^F+4#bKm_EwZr`nK- +_g9uh<1>2~A+h?|eh|3ZUnMh2Px!hRBsDu&ZAfYsB_N0!D{6ur=$V{p +OUU<6L6|52vo|+8z{#*#7Hw652{Gfse@!JKBkIW&`#KpIeZnM!5-Fmy%K6&2Rocelc(Di9%a#`yqIw@ +^a+2VF@pAJilLHKlW +`M38M9g5TK97no3|8~})w0rH7H3{me-&i~K$JAQaDDyrt0yrifh-SQp?W(tiwT-rP)0o0|)|61r6h^7 +!Cs5ZI4QSM)dZ@erzA)d86de`gP!j8jD&YHsMva|G!Z`Gr!cNje_)NyllQPZ +UuYF+R$blov!iv@c(AIl;a%-dCD3L|Kns=eNg_Cgr?*EQ67oNLJ<;3DWL@PL9f6%;+c#}C48z(!+sgS +Nkq_PZ@iVyB^bN$WH+h$Ym`BnTbif05~&paLx3I;C=$wPp_=DYKx=9-Q9ut$U;w2CvoPHMH;!O-DW3V +g0;rK(^g;hZ^Esy+j5#r02UX!nJmbvCRX?&~gaG9n19f3Woal{otR{D)L1fQBJkWu_eK3CI9;5&Zu1F +d{{7hF8dL6hCTPss}%$RorRjSJP>B4y;!BW#1k+npn^j`x#6; +#ymX`Lo4I(AIU}bsLmnM*Qk}6X82rDk?wx;e1Vx$CK3mK3q#f$j3VSnw1zthof&uc7vac8MWk@M(EBC?Zf_$c9> +d*pOxDO8cg`7AMZ%0+>f>a%eptZ-!4Ypo)72kOPg^DZ5P5TknTh%+!!FSU*wdiE`%dWnLa|JXU9YnZY44h;LCi;rj2e91Pdiqy(Tg^rHdOJ2D0wtrmCcX*h*~|@A#Iw*^}Ue3Kz2R$-iRXcDcPID^F@O&$ctd9S3 +djdIk0>OY?JX0+pTdG~XGc)jE6@5wqXig0uCpxHgLz>o}1BCsGYiUr;X4TklPA +kb$~e-urb9h=(CfX8E$e&{Bm)~-Q_ITyR0+4{U49Zo@do_*0z$K>eQeq%2+u39>{?X-8f_?_X;64(Qe +^*n@6kAahqZug;+v6p+1y)vCMc!b(H#}ix1$oJ*JtB8N+MaAigWuHPAD!jUMPuaFYU%1G8yMuAL*{=W +^w+*>%uuOW@(TsU0&6NFR0en4E?9~Y_YWX0kn2uDyPI>GhrzE%yw +@uBep_J|hWR=&qyV*WkdSBgcPis2XLfbu1pB(gJ+_t8XU4u1JOyV+PCre-!iE`^GHA8?w{=g}_;d4n7 +k$c!JX>N37a&BR4FJo_QZDDR +?b1!6NVs&ROaCx0s-EZ4C5`Xt!!PBCs1h_(qeOjX~&~sAU0=aH)liWSz0)mz(n^#HHkyKJ6$p3yb{E# +TwZiCB1ER!=o&i4#u(R5N7QpjF2s>7vaQCbUA(GZ7G!lh!*mKD4VZQh)bB1L1koCUG7TH!}*DGcsQ*7eJQ(O%50IIiiK32d_CEj9e +Rp^9tStAd~B^iddCMO(r_6jsl(G(s1#gg`U874f(t>k!^KP+Z%!l+uLmumn7os{~kkq2(I*+J7)mkoz;*ETS9B&Um%nD9A#VhfhNJVsC!4srRD%zs% +OGLq>1$}ikB3WQC>;142Rw40}0Ht%?)xx9+0S(?~_ZJVO0(hhVQ?10Ytk(%{;L?Ekuvj> +;Zxw4b@HaqWBuN@uKNB=;(7FTzJNXnhy>bhwlgLQ|C!i=3IjjW1eV7{#nPM)5XY_CyJ=?gqP7QVWeyr +!-wZHfhZ^NAwtR-7c`mW=uVA`HMI@JoKCD4IQGz4bu^oWiGOGn?J20TG}W?;jvW*9K%&5aiPpPXtl%`c2+WB*Y^ +a2{}YPn@K1jN#HUiZWwdA+{K1~~6ta27L0r4isV7R@p6?*;D+`P~X|rIb{0?)(dKpax@-w?_5aXd@MW +OCZ21CTjfjMYHUA#0BeHj(O3y>=6jr7W@nm_|^6!@@xJZ!4}7vss+@mf%AlY$72)AgH_50G{rhcK9KZ +R2-=INBt*yUqXQ?uGBcdbLq@I#A2|{X(Lo#v{zmb$#WeP;8Cq!qO6; +y%b+FEXQav03nN;#^-a;C;#VcMy=`YlhVqId(bT=81%W-q{SX!2T;Bgf6Cc~C%kr7?bsDv#u(q1@q*=F3k_5&8V +)ooujzKE)P^X{}Lv|U(thrGSgM%j6)v_~!6IBf-U{`UwbD%=@wR841jLf{u!|C=DOJiiWB^(Le4ajH| +04J2oh2f2kJGqsWHe74Avvn&OBP7@?irZJF&%}|a$rNkq*0~7jWY?-q(!18y6Nq!Hfo3q8k8KaUB)x_ +bl$=0_8jG6*1Rv5Rn=)jRZ%1aB+j_KR4cbnw2kDeKBY#=X2-8ILN7zX~P8DBH6`4-Xvz+|Vc6oZx*iNVZnzr&+-kEAZLTk|oERF9k{D=@=;&8q>y4eNLEMTC56AD{nwJjS?j4TX{mjZ@9cCb~)v +5;_+G<&#sJz=SWNPq$*430xeK8i9_ADlFyaamN$J3rSE(47F|c-hmimGWDC}c}|a! +>H4tVS=x=gH40lFKwV&|;e33|UY;H1OL7!Uz&&6Vbk)GHqfgFe9^Ga-}oWiVe-js3O +1I6qGcRj=z1@~+t`sD&ZxSd9g;6HY7joq94*BZp>RV~3UY$Fu^caZiD1CJqF?LI~#D@*G6QqAjXR;%%EeD9Vc^`!Pqc<~J#F6gmo+GX4NF$r+=_8fGlWZ$J1OY#a%AI}(9p{S +$ms&DPNOEPOX(1#TkM0{U*KTNYQqejkjiTT7-3*j-HFOu6m+y{o2liJ;p8_rsHJGTz9Z^y_q+mlOa!> +`ApfEc!rvEE4MNXv~n;e8RY!H@=@p)mo=46KCvlBhu$ATPLWUa~h`Z!BwQV6t*Y1#ugQpczoHXDvhw3 +IhNrp(uDh5=BOjUU0!xI?Ne(8=t-@OtaHW(UldLqHpKP`FCFQ2FF~_F)o~E0&yS$SYI3777{buGaqmK +NK~N4TN^wYe2F(lI^H`2Hnq3=p#TB!O&XLSUXIwa_HdRm&6YoL5DEze!(g58GKa4-hEs1-7bh{_;?D( +deFJgtWdVBDu8vdljEVoe`p4bX&Fu}{e4>B7`*L}G1z>Q0_V;Pj`y|mBxXs<4*FS`s5uAZJ@#{!#e-= +qI!1PZ)XT7{~$6Nx_$@L=>&nN!bempuyd%m@VUn~9xP)h>@6aWAK2mk|-TUpeUE!pP<005a3001HY00 +3}la4%nJZggdGZeeUMV{dJ3VQyq|FJy0bZftL1WG--drC3{U+cp$__pcy46q5m4+a87iK@|*0H()?96 +ie5aAYf_f*kVJ8DoHt2fBg>mQhC +!P89Fpu|9V%e7hbgoZaM<+TA-Gm++k4?KBQph7NdeTFfeI0l)DJpnaL?ZMEdGo`H0$tw6vb6HiaE(YO +$;B(6rR8X6{p0Xy-+>|sI!0NU+r%D@UT8-KY7!Pv)@7>)W_xE!mvH`{1snc!CMbUp!qgeg~YEWP;hzN +74&}|RY2)#u~_7SX-(e9=UPZsc(){{o?6{32)>rfr +TZQPNQ2n1J^IC-^Jd|Q8}hDu_ZLa5>!m3z=5+yIK(9!vZIG%-J<$#1e8)lQ)C+&OyC;p3pU@K0Dlx9V +l{ph5rSPV5IAV|r^;gmW(Xv%J5T^2yA1s^WLo5jsS`yth7C21`Z;U;fgL@eq5G~^Z^b*}t^1QVBA9w* +y6{`s_-H~V35hJ}R9bw2S1)z@)T*=y*iR3MeJ3*0-aJnC@Mi9|i1HOd3!j1Oi!3WhNc|8l-EqU-B*f@ ++gBY&EvXEbe8q^vja8bz-Uxeh&b`x38+yk`UbMRxBrtM;dnd4#Kg9brW=q+Fsw>{euROa7KM+<2XY*k +xP9ET2v%fn+LdX^tOQ0Wi6AvRYjv8iIJKY%OU4&BbDSA-7D7c3-~fme)*mmkP>SbXSTt3U;8b6xJ%gV +!tc>NK2+mxENF$xeBzVTc)mYi0eUIOW}Ifr5aj|T?3k5fBEf-y{{MUJ79nIYvP#ivFQQz$ZJ1KSS{aH +GjiD1a#JkVM=Kkg6U_W7MxoWQ!S3-*hQ5;?v00vMIn;4_s;2_O4oo4>2??tfYlX=q;@2wM`Xh1)qRE! +0ofS)yB(IVEHVqU8NCmiBn4NU;{dwjB!^aFN?N7rA_7gKvV3T8hfLV-ZOS1pWuKM +*LmVOwDb0MPZ11}7Bc?A$nwheadE4(FDSb~YJe>*JbiTO1rpAY1tiLI?Wf&aDSy+CAV{iUaa6TOpkp+ +ir0fHeGsh=HW!v>kp5!vDD{yf%apbA_6>j>F3FT9|wUjD^P7b)+TdYlT)X8_zYvs()FB#?SUcuHldSF?a&~!l->`w=V7$J9&^R1MtY{Yf_{lOJ^DT|&ih{7I@%% +c)}G04SiE`%OILCkOfwUtQhGKbXoc*dnT9UV?^?H6M#2ZXcX$9G%!BEJ7K?FLBtS +!)!VmSR>6H8jln2Ybp+j{Lr(d)oPyYCR7)j%uDe1xasjoFrpVVt6C41DvVL!|FsTxW==lfx1YB&1R}W>VM2=*R;a8Nxln^aAezsh)1Uj|2j&R_idhIqVH +NeYfK{KmHj(oNtWp+$?IeytfCMxt*XcW+5Q7iO9KQH0000800WU*S>6)J)*%D{0D}ww03ZMW0B~t=FJ +EbHbY*gGVQepBZ*6U1Ze(*WW^!d^dSxzfd97AUkJ~m7zWY}Y0s_dWt@Lp-ssP0{0SXk&VUu3A3xSfxG +P@MXawsR;B>%lbQj#UvMmOF1V4IvLzxg;E(HdAb%C8R77&ZF6SORO^#H2Ibj`M}SgE +z#tr&eQxXvmMdv*kiln@2nYxW~cf7r0^zF!Y+YdD55(ZK}sJNkDYoq0LS*{6gOPrj_eo_In^(R%do*} +FhW%s9#ulMPF1DytP`=fJN%9024Hpg%zmK_xjNdlNwHE0*@ZeV8Ok!tdM8nT~)|R5>Z3W`^?Njjx^}r ++;uGyG2&8Tb0tR^NaZeNY=yoq(`eG6>z*-O1+1@(l;H%2(y6AnT2y!24`(k$P;c1QRK{e&pYYzyZiZm3yvST&6B;5u&_CRH2F +N|kmY;oFzx`cO1_YO(NOu893Yo0bOTx>=YD*%2#Ul_#TroIdQ+3qfo2(dcM!-TbVL=!O1R{vLt;!zhZ +Bb4Ine@UbG7y9TTD$MRf~40S>0`Rj8Ku2L+$ECju?m#W>z>zglm +t0cViu%Te)tV{odQ30j7xm@i_WWA^pEz!*PD{c^&@Kp`jal+m$;aW)lP)!!kkIpCx72qaOTOw{r>8LU +y{w?8<&dub10a;iMLgnjR-B9f6_smr`8jd`AB6FjmG1AfafiDcklJ0K2mACT$znTCeQ(VE)Iz0`w{3F +tfZ(%80v{{c)v$$HI9{H$qzF*2R9sPd8cfOS=!Fel225C-rD6|y9yR(zJv-*cVNA1`fBLNJt&7I$&ZO +UN=Kd#7kL^@=ayETa#9cq)ZRllfXyqrlFk6I2iKd{*o8)VslWUhw2B6cKXyyoQ!b}G&&%xacI`1ayOw +Aq4IIx;J8l3dU$LlVZniD@0EUN=l55;)d2DE$e#D-`}^MwM>>Ue@V!6wgBJ~*E~S#z3%W?pD&B%^ZJn +rrzsGFS3Da~+>Gj&i@6%LQslaMYv9uu-%$8*k3w%l+4UdwD1F1+=4JLg+{|Pc|bjMmS))cU_MKd*Z;5d}5H+;I6}6!kFSMFqTG9R7h?uxx&20vXk+dt|NlK +IF7>;ZxI#<4+0Tg;hWS2m!#vx6R*)?ibgyGje`Fj)(NEGitK^(7E1CWTtil?5H1vk8~D`=11%_LNhKr +@r%9>tz60*~UP3?;3K^GJ_#vP0(p&%0oWy6H(KUI%h7elWNAlT2ofAswkh!RpHo(TOv1d@v7Id2Ah4_y)Y$7q$rdgR$S#jjsX^02B3=iSY)y~=uk@e4F|D*|xmy++%F9She`=wUMV{%xF`d7gE +(r}YY$$3B#*K`!+UUMZK4nYJ(^)Rls~}TGM$y*e{AbvOHJ<#;KUilTgOE5tvyP%7O1r^tk>qhcoxvCu +S}ehpgEL=(G0UP1xZbE?^rM4iCNZCqqldeL7qW?SEtVmdzi}2=iv +9E9R#mIWeE8b2yD9O=~QQJlSuN)&!|Nf(z%sG(Hb&V>^Jksl7^3W4{lZ!$Z+&wS>i>J5XbqvDwEd;da +_6GdTe#pZ+4Kf|ul-nmoB-Cwg{|He@p5rAxLw8tuE1J4k}#fHZOutPT7gvQN_JA5cpJ1QY-O00;mBky +}}b!<0Pg0RRAO1ONaY0001RX>c!JX>N37a&BR4FJo_QZDDR?b1!IRY;Z1cd3964j+-zLz4H|#swyC5Q +O{9#FVRY^)LYtKq6j%*0JmVfW3yRQ_1`-N%tDm)#aM6N^PA_PB;A5G&IqyyvNf6<{1i=xHYz>ldLva8 +kZ;nuXatNjSuT}BQliN&jm*x%Vt&zWD^w8(`|`e4a<^=#;|46L6oq=~94uiA`oh^T}N7S3vVZUfgyK5ehfI%^ +IuF~F|&16S#4Pv4Aq-%$5kt@;q< +h{c2)5+_*8be!fMNr6s;pt}jI27qyO0HDj`TyHsh%;ja^1t5p1Gmd)KuD+xM_u>5Lm +#f)RQ>C|tfud_bHe*@!Ryg98n>}t4befy-A31g6Fy4Md?crI{xl~`?S+&B>azQ01}Qn11GwO^NWp`^(X2x&-q2S-?pVr +zGGu_afMlP)3uy`xuKYbP}OA-j@hMl;X6DzxjlP^jg*9c8=KR`3q-UiDZ=f~YGB1_ +LXaO-&ASe>#xtF>hWz|n@S#7k2QTqTh1DQ|y&=*wpI%>oyUx+gKPM-rH#du%R;Vl_!J^)K#$EtL)c_( +u3XsQVSv<)-C1G+SmC~o%G%RE3aUuO2h|U1wbJ0&y=e(EBq +Ay#o5PXs(G2iD*_J9e}aUnVrBM3iW+Uk@-R#gi+GL9j#2>j*;-7zjm1%W?M_=Ze-06o8pftce#YSuE` +r$6s|!FR}|phSPU3qHq!8?r^XX)2d-Dfo1op%0(YC1+$EgpD~_XzIvk5pMyMdP8Qbz#Q!t<8A3gYHXl +%qSGvUlN5-*Ya}^>5P_BM7PnB;HYTVb6~~y`L!Pt{o&eKRWM<-nHd)(?b* +zPSseIA$R3jA6BNR55i$^RNWO5930%gGhfv80FAfQI6_JA-$Hmp$;F=9YKP0{ +DCxo)?mwyKr@20M%zIRLZ7t+Lw`MDexwlCgJ~U5uAP2GvgFQp=qrKJ)lo(eHWhUYvMpj<8H^E#(ciZp +H)aoX@W`&Cs~sdnw~`nTqu3<@0{{Yh6H4F93@MHP4_&j0B%ib7C@KEu6hZ)sDQQxFZfucOK-~*2GjklReCPj&>XMZQ7v=BP< +bl1zA!!3x3CHx9ca5kXO~+K-;E@`*Rv)>P^T@FI-Rh;&>R<@O2pIZl|qx1OCvBVB}h^(-ZbP&f +A#HWPUVLjOa}p)`=ikffGY3bW;g=jWm{h?M(koQukMBr0liS?Ul9<*RhxQ5Ih5e +h;%9f2u&RSU8Z~4$ZchIw~5G%Ejp@&c^vo`NBE;)iPa`35x3$7?Ur1tX$q+Y%4BEBNuuA +<2;BkFXQE`l}&*ukJd496sl#knklTa=kZe<_iL0j$0|k=i;^Q=)JX+Ij;*>_|lNIosCD}4<@+CYu$IyOyP6~TrI?i)*4YJAW=(YcP*f7qWG1=- +DP)h>@6aWAK2mk|-TUi5xO&(7K004Ci001EX003}la4%nJZggdGZeeUMV{dJ3VQyq|FKKRbaAjk3E^v +9JR^M;iHV}UIUvW?|OadHXdo|z{Thaj?ie^B%y#xWlNN1T1MXDr~!YKN`??{Q1WXli5@?x9!-LH=y?; +_ex8wXN1jZn?zU~~(*a~(GpK@7%!x$MynHh1a>7cIZ5(-!VT<+kuaShpE4o#;yTimKM8?0EIUedw~~< +^_$7t~DNbFC9bmDvVYwDtGB^M0Jb~oe|2h&sM7`O|&s`Fji>A*enR)(I_s9*ynj$XIJ&ucE$ao1aNsxkHV@Xzh-yN8E0mlhqbx#JP~2W7k?`iyw)eQ8^0@ES2G2qC2{sm_kO7|6O +>if7inG^^bWF1?YdNb)^0rx~4XHeLg0U?0U$QWYP*RxoQ3JlmbobzdO?42JrIg1;W_Kf*zqmb)?q4_`#1v_WR@OE2h?B=btee= +NmxXiYTV +_tdaKC{l(?5M~y!1x~ae{yMYX*#0p_RB0G)BA%bhy#)6dMr&si@vSfXDf#P%~*D?3^C?9JJ3gF~3g?`J?6ic;1&Ff3n2b7t!r4x_ma(R@ +FD&@E*P`8U6e$&Y+{g`KiXaFq98KA;l1Rxe&IjuX5mSX +OXKA=#BJvrr@(3Zh1}b9Ec2Ri!{r1gp$xH2Digu7JfyVed=dF6kq+yo5%klLQinId06bTs1my4pgIc9+zR6za{}_vhzt&fdO_|9bZFd@lZ;6rF6iX}jO$(}jqaBwWmV>BQsn<+a?( +vVF$y=k)w0Z?EFCkV)C?=0~%saho=2y9S2Nq=D+}&70S6=CEtep24R1ddg3!bXTJ0KCA1ho{JYHj9U~ +5HlatpL5eC(oG}m!4Ip~!MfFy;NtU#U-CCB{d0mybcyAY2RnbJb1x;K_>a7N`0ewSneB&?&AgIx*%Zr +TvAGbA7qpWR!oENtY1uIQI^!O{+MV_|LVUb6y4@uP%5T7zG>xFcWGtQ#y54|CaXfmS +?4FBEaAeC+!#j8nO#`!v~yE0CixUMRNb6m5GtFGO3?Lia+vUUiPUdTK6{T#M01-ZSS?gre +`c1ZzjVR38W!6<~5j)9}qoabhPAv +Ov3}X`SaXdRZI!cSAX*9hm0Thnq;p~*44uZg@Z^5brq#lBOdPMIQ;(UMpLWC$~tM&>(1`K?X%}jI+l2 +zT0E}ET8VNYS(Bh~ru&)(wB{|0CmU0s;xFG123=1r#dC6|K+RSn~BfpA1qb#*F5Qm0qI$k2?5D&L8uX +e!ZkJ49ro*&QJxEC3}%T)2fid607)nCG|uyiwrL5 +OVue-ECJ(>~gO@GGozyr@2fEBGknqtM?0#XTjWgk)+so88pC%V1m`195euXs9groIUaY0%}ctXUH +$~zDBV|Ave+$M7zmE%Re9XvtQ~3;%}>CHVD$m}&c$zCqYP7ELeQ2sC>(+HA`y&7dj<>)T-h}etie)%z ++B}e=@zp4#A1xo+hNu(^Zt9#4)6!N!bYzb=gJ-iF*$gR7T|SK +!>){8=^a7tx!Z<})Bs?<5+!`p2c6dbB-6{h$XYbcj4OMJ_Cu4_X>9zUc~q^Mz`_4%z4 +|U0w$53&uKBpCbi)>t$p_bOb)RJMeD;T>_Q9gw~=@U4r)p~`#&e-vJ@wC)YOlko}WK|`tIrDUw%>3RN +kHbnGL;2gm0y^p~|YXLr!D1MPLvU(fhY&Z{j~ceS78`3|p-`Tm`!c(d-*?>7uN@#dfVxDEjuxjRJfPp +lBd_p~M$4D%)=+ISffj;4PNbz@+FfUP~r3kOfIW<}Mg+2tZF_QSepE1Xa1tKY16*ufFY4r}>FVl;;HP +Bx@;(d^H!KbVP3|x7BV@0GbLv<+3q)0Juz<`8-1@ek7j-)(HO>)f$cMIgN@ko`8ghzy7Ls<=0=mS^{~TOmv)!TGQaa{wjEnMZT +t2I9bUL8YCmnP`Ot@B_*#i+*M7JuRtsTpo?`a<;*vTWyv4X3HP$bnmWCk1vjAQ_hTzSX+FQi@xFVoYI +v`dETUAqAz6=Hr7=K>!sG%tC@;|B^x;$~Sx^no;R;BE{4bymFoz}hAY}@ko%+$BR+ykWwZH`$;H}*3$ +(;MTU7EnJnc@(lopx1^B6WtiE0PSoTdUuy}!jF&c^N2W_@q?e`9ip%i^nK-LE~u5~1r31{fncoiR!SpsI%nlyK7xCgA?o1_s3om%pR?9O^74 +&v6o`&MdDZG>WvMtM#Th@x-+GzUMNES~$0fR_1A?*8@3zdc~?hj->6Im7;tI1mz4orBsL$Jy^4AHwWN +zQLpf($>8};Rv?zc^_iiEHK9be*eRwO#aSV@xFs@KGF4zdue}C#f&NXKvCO$D>1G2bz%yg!n>@^=k*< +0953NHYoPR>wGvFUEZAjO==9?Qmqj@n9x9#~>b4D3tH+U8D_h}w?blRY+W?n{^QZ6r`gPuSZmdv%P!a(%hFPAW5Y=X`FAo5QnaU1k +ZVupKxd)YTq3FrC$V7OqxFEK=?NQL{=`~Usoh>7N19>9peYL`c40CSMnSwV!;eO1?T4qn&woMRn5U&*}yL>rMdu@{*t +nadD-?!MX<$f#T7@0fD{$29n{PW&7P7VkY0&!`l}cB +1VR^o<1Ku$3c4!T_q?bhO6O#TrNxeV_*@_5AEyeEk2`4DEyUgLDVP2Soq06sF8d +P>{K)oMnPlpw`Fv2^^u%cM2n_=mn^1aA|XlgGQEw*C@q`jVe}=3%jfeM87M1aBo9RBq}}X5YA8v&YbR +cOB1cfasncc!1-<({cBqtIfFVQdadE!t|K;xh}hSOPC!b3b +=N&tQZ0=2Z{D$mIi8XkmY$WzIH(E&)>u;=Ll<&sqqV@<02xaLZ9=CB%fXgvWx=jsLFGqClHe`=qW>_00O=IV&*EmuW>yociQ!jhrRDE3no*e2Q^ +dpF@&ZsMfT`Y>~mwW2P^e`?3Lm>%x+gj`lBnW5+NTOub;J@Lxkt;z)tc#yVV!droMYUd!Ug_~E^wju< +M`j*%Bj#3J^9GvT3YZN?=_>WpQA3aF9JRqu@Q!AqawCqOHDU#3gwn}LpKP4>B?*`u%gatiV-v-qBZl` +`E!m3XWexJ$u9h@1*;z(VwaHJSwiHLYFbW^h!7_H-`Qd!M0TYdS +w|yvUGk81e7j-=b+2%7z5zpX!7ZO)SXze{jP#;c1LnZbBk|f~hip^3L3e70 +DY+K35}LK3Pn9kGT{IZtMX8eTXtSOaNb9Ykt*}e#o_2|&t=)}vgRu}NS){_`U_J +EWdaS4paWsA${#ZJ{#*Gh(0KyRw;8M}y=(S@xE$?7Y;fKw;yxlJeP3EWDayDQZ^81Il<%eT@YD_Qnmw +T`5Rye)!S2IY>F>1^^z`Rd1McS +)y~sLVpH=jED%?LdL74$x|9AWMUXJwK*81EKs1PyGVT*(;vzc?dqsHd@$Bob~u`+Hxmy*YgyPs$Jr;f +=={Xeb8IObti`DckHMi;n>sdG4?rN6;BGF0F(9;6<`7+ovUth;BA6-z$I$lT^an8HSrmTAz^r!C7)B# +d<|4QOUs0B6g(V=%pljEQKLs<2{P_pP4-OM$-F6oa!2=D?8m%|T`lhfZ%NRPxB7H441lsfWX4P83F#u}Ey4;iaKIu~Px^qD8O%e3g4vK^sUe%*GmFd +Rf~E?uDGxiYoaNnU_fKp{>K{MLY3-&a_YAm#ywo`gAm7#MA~UR;h_xIv7i`}3f+1lV%dIu)uK9qFEkS +JB~dATAh=-9_GdUDHkJ5q7lb$V0XD)qv4RyS+MV2TFTe2r%YQl<_0*DL;Ri1!%HvlS8U!uJuVBQEt!> +m%Hj2rDyg#d8&-;JF1fbHhV>D+mfg#oHOWEjp3XDd59O&c1m!|a$V9!ys&(mOb +7K8pI{N3oEv*khCu!jEnFDnG<6r?pZvzCjN-h&@C5I*#ep29%>|nXW1ByM?w%JU~33)w8NoxERM6FxJ +Hd>p@qYN5nXyNgiH-4p>Q9_UTABWaFtMvI3O8*Hf0M6<7xVJXsBo&FY_>4H0)9E3`kpXTTHrFc`i~V2 +$5n%H+2E34X3Xek^?fWRGh}ShzjaGli6;@8LI!3GDW&1kQ9&zYogpB45QlEz&9Z*nSpoKtndtvo#3HU +17TiitoB>_t^@a54$Zv#`v*+;jISC;WZ(lgS0X0=M9*GcoM$pz*MOBXp8ykp~+yApV~SRDb|O#)nKH| +jHHD%>7Rt+scdw9gzZ6dbj5}CxCfD+<0AAS!w+)5)R*x@N!#L49^&3)ZF3dZlTZ~el{oF=`};uFn*5*vmP+%I{0i4_hs=}_4+clil*ZyYA}1GaX^>}B1(3smP70^wg +oLqW2)$f#v--qQ^$T&%)Iuy>Dp3?uai1Y%9f+Yz1AMSH|ewSaKj~;J;l;Ete(*JphCyU)Np%v^yRG~k +Kk>WrXYCnpswwOPsTmmDSd0w-&8!|^;@#QQJBbaTmg)w8_EmF6%f8Qf=n!4{J0cPTr6z?TE534rEG9q +H8Bkwt2g6?(rZuF!I^t9_I^m`xI3ciMrgWFK{H1@aD3REZ{&PZtcN@jtE~0*nueso+R@O)T?Gl35a@?qgFMQV{B2fQh~RiJ-&9hTg!$hp81`}p0uU5A5)nz^h|>{FjBDYn%$yQ;$y2-5|P1~hvL&{ +3>W|L~tTP+)1lsSG_JZ#)r#0AtIrY--unN<(M+}mI1`v!HyO%qj9ry+aumSRiAB751vu#VWL4La-b4##D +G3p+3n%19ofH{(KA2xV>VBI!o42KyZpMpBW6A0lvO*+9Oa;m`^)5iWJ!V +tjYzWpC?D#$Wq2dn(GvLYue@H1y^5m5*?y&khXKld`AvThGZN_APF%umB*{wv7{pj>I{WHx&sacs!x$ +h2?nBWwD)wa@#w5g(E~?qbMS;M& +50w?IQ_qh)F*xu<d>&dpk +iGWMRkKiSrGK}J4IMy38Y*>FAmj1kSW3a(Rdht<_eKE`5@KJKWSQZFtcavbmdu}7HasuqNKL(?ffTU( +(-6ty?%FgikIXd91W-XvTj$XgtEXFDv+x3vdsy}n`qa2ITZBcoF9ktz_e7X;%-zQ$FunH!tQ!`@tqq9 +r6^~=sD5O(o2P2S#7q44$vXIKkMKp9pq|cYH{x?Y^Tm_PFY~D^C|_cwqH+Cp`YQW}PaHZ_Fb`aiA!;Y +3&co45FX!}4m+$G?Tx+(kMS1Xf8q-#y^~;=2Pki22-4_9@FqwS*tReqGI~AK@&3@Qb9lq^2n489tm-d +qVrkk2|>8*RzA8UC_`0j6{m$NiGGTBT|YVVl0F(7dn2Jru2Qq5Q*l7y?k=Ep@5ctf|tC$|u=vSm^{!3 +#Ee82nPI;4XE<0|ZBC6&%isVHAzSQabI)pkW-ve>{rcV=V2^d!489jm;UasorE`7=6yX;EVPcLxdKOZ}yPrSf(B4?pJ3QbyQ?8$y~7qD7Z#A28Od&$Kk=KKIar$oT+!gc1C5 +YESE&`WxL5A7(R0)X^DW5L)3RIrK;wBSU4^G)YY!Ky(7z)~XQrOMCMV9KYjcc8K*b72Z0OlQJFB;{dl +o&|ksUpUAH8varOxNtFw7)ctmOiHF;Dc$#_i#o9#&N==>=PfI6RmNUTYW$=}282}wk_NMwMOrYXDQ`i +XrV9$glab948gR6-Va2m(}H8mO>u!$MR3wOnvM7v401SxhfLtT!0DED+UjbR*u^1E +FcF~Lkf%8ZLAo863Cfcb(=7NP79Y{FeroeU*78McQ8suScNC~V6U7T3?_?O?sBs7)>{gA^kdAh(G_s{ +c2{^^nEswI=hjkFVKC)sV0zf|XB391^gGwynHBA1jfMx1fmxG+jINvJTZR|LQ}B5cswnt6#|uU!*PH< +%^zcslPc8wxzxU?%C$Ch2Gsy&Y6l_vz*mgrGsjy0qOkp}zR&hc#!z#z3+&C}m>j@oNwXHjSuL%>yiLU +X|G-}^CfR{LUl8U!5M%Gar*A$FV@tAYg_8^};Qc}%AkKRLBqB_j*z)FR8OC)%b&Y4`V0$bAs)Mu}r{` +uuuO!rW~eE}}qo!MKa37!q?##E-R&&Y0H#*O5yrNeoA_7(;F816Z0B=mFVs&l1l!pEx0NVfwP$g;0j8 +f$-2oc9oP3KK38sB!@3JBS4}G#y&%4ZP>9nAAlz_GBz?^o%9?9K|G$2TGpzpp1<<=0UP@4pswj<$l&h9 +1ec3W^i;6P1s+e2_E2sNN{7v1=Ok)u=xe-N(yiKL=3&IO(6JgfekEeZ>;2E7guw3^(Mx&U%U!5Wg&5J +HN-Ef~7|5RAS`eTDrEq2fz(daQgc$Me7+;8Se9FSNT)$Hv +AdV-}PQwL9MRkKG^~bH&DG8~H^`3ZH!5*H2OsC^Iq@e-J8@d`u_1^N +Wx4?#f{Qf&*1)F*GUn|qUad-U0_3HK6t9PDum?Lot^6(Wr3fS4;)1`vc=hg-!@5dn=9{ +aQ)h7wZ8oUv{q{_9|0y5{+#k?lwO#ReftLPCo?5d8uYQrKD|EN0hPVj)OK&^#>Joo)Mi~z-Dzc>7s6N +d5ZKxc;VAQPs9qP#j$$>8RMyDkcVZh^bm{9>`AA_%3%0w)v{VQuLSxa$urmi`w|O9KQH0000800WU*S +&bTbF0c#$0O2tJ03HAU0B~t=FJEbHbY*gGVQepBZ*6U1Ze(*WY-w|JE^v9}THSBlxDkK%UqR>)SSr@S +_0_=M!@0RMXmAOdv_)YU3ccd)@~jnAQnI~wxc|K~{1PcqYbVb2rTbv-@?$uh&)dy?#j(25s&)QnZvZI?jima4F&l}|q+R#?Cd_x=lE2~<1V5fH8GpXQM&% +XH?9>&|AN#Lv8G~6F?sD)-%Ei5c~TeHV%BMt}J)^6Kd9DF0i&|R5{rQNEh{h(lb&HS}K{^RQE^~aB?E +$nf_3_EVIrTo{(=Tfu>*7ivvz+R(D#TvH3O;sn^cI4L$ +e}GXYQK3m`Y2B3|sgCw;uj=cD-&Wn-?!=Y@R~xsXr?*2xd$5%U$$M6bq3;H;8NQ9}?(&SlCqYu{%i0C +2w)j&z;vdZDPkL~PK+F0EA@4vMDm17My!&WI&h*YrLzN;G%KBft-@gN%RsXi#ihQbq!tjcpEX&^Tdq( +;_BXzKZh}&O4#)OiMKu;lJOW0#CDcN$?)T%u5BtGpKIOzj#8gk1>Cps;zn$&|tAN~9p^$k+1aWpSJe= +cDQ2W2WaQT9gyCwgKBdIxri+(_UaPsQ(Ot>iFl_Hao?!Mn@w0wXJpzH?D;V1}LyaREy1z@(716QUO&-?c)rO2WN4{D*j +U54Zay2d1Y71t-9OW0R0qofJEAZNt@#Csea7p>qv_#r3E>XcsdC(q`xTnK3z4 +lRBNxt^CNoqAg>|NSyhsn6PZj`YbZGkZPqa}ip4zjfTW4DKj=C3pK&AL%_J=w9L)QyD;g4b8QU5mVPk +8|Lo%Q`O>^tfNtP4YsDqqBZGv~h%kiow-^YOX*q_&5_=v9*kt|{i4ye$6siRZLBRH|tA +iUN5WH>8Iw*($KyjE6+XSGAefrDq2c-#m&GXXH7QHcfNrS3bwLr#P^tCxFNKWPw2Cf?edRd;juzb8Ay +FU9iF5W!%Hio?MOvHmPip5rKVK_DwEp7yS8LY=*z>=wU2$(}+W|JOXnbUQ*Ku%4`jFt$3Wgk=feia;D +e95-xw#5j0_Yk%lRzVDQMM$;Tv(25xz$@$K>eBWy5}+8WN_W9AI7mO{u-#>(8#Q!Lbrj{|>2`a-Xmva +Armo_uG>=3uV;8TjOktIc#ixl``YKse&Sp`S>Azn|hTxQrMrSHw+5zC}B*)2KKrn&&P~#!n=_r%bz9a +AGuSZ|2LsZ=}dVe%}B?nOt4VFa;zAB5aczX{3(DXDOM0?(omVuPd*lLR*NMFzaOhC5~tFl +U9j&_=_|xd3DCzIQ)C%zWfq9@DOLiQM%HT&w4UT_j*2u+u#`MH`f6A--XKT +^I?z=f?YrzV_XTwa0C^31@AIG+Sfr$4QyeMh0e3{Y-xNsooGSPXujxjG)eV! +$nP=I*rB3g$+*uVa>f`fnM2=yJXVEmKQ&jLu9hpTD7=5_q19|9R%`J>9GS24-K%)98=h~Nf| +@Z>OlRhMQCn;Lvzi!@`*stCNfca&ddXo>#(@lW-Eyh==BSm6Ei{au7|PLa0y10PfQ%7IVWf+(@J2`p5 +vDnoRh1A;h-W6rWdN@8egq-6L)#~N@m*b6ID +h98O`HhvHG*9HSk1(uKP%DL+$0?yOaedjnq*;`Z-kWNR?6lu5eB-47e!NeXeVVL3V?i5QlSGh+kK6gY +{n&7Q5C}fkUkj+v}fV!q@FQ-hz0R{bi9ySazGPl(M!ZB0Xra6a@qfXt}Y8WY%aU-7mU`FpJ?f9EmEM6 +V|FJghD`W(4L{`E)824Yop$ByVHzfJPcG}Xb<62BypkQLi37WoCN!}(laU&}R&k$HhNPgo)T9tLS&K| +l`201UxU+%r-ST?70DjqjC)GnhaL*DI;600L4lcE^Ah^T0`41wI&ph}kN9i~{jgWS2*PcOSc47$xF^4Z`VJL;vePTp_5^!${qy=zuIU|oH3@EVXsD5-B!*+@Ps(8{Ed#vq +ZMi7hwEg&d`=7$=?`@1pwpnys)oN;)aT!tUNY;gsev0tU1ZbZ}<_t{(dl`iC!Tm=Lc8)dN`xhnA?YZcGuv7nNApHSp#(i;jtHo)M5xqL7n_H +0Zu6UwuEv&ch^5o`foev_aca}vT}{VG80AU<Gs2#{5fqX;p;}}FovJ +(m0GV~DU!cZ1$G2bGm<_SokZ}`{%UOVGf8nCmzEtk;?J^inuBKwSU<*#&y3CrECH7$%%FJ6wY>f(E{5 +h{+jqW)cjN3M=<6-H*LTD`FmRn{G+o^@xFiqE^qCQIw&FprP=KZJ;h5oupu|+@Jq>HMg%(gjeLwdO`* +Z>yNH_}~9sO=sVPB`+A$Edu(B<8`Y=&qGQ)4Tmt~IvqsK$cjGZ_jFbbS4JMKY3=zX;yu*+oYFL>{%HJ +nE7Pc`5=Xa0XJS_Mnm02|Iwr_=Xi~IT0MrEK|=5ms*$lozUx<_Q&t>i&|Hry?45H4>Qc0k1Z$}doukV +-_{xwwx;x!+v5`kSw<)L;CJmFt>9yB`&L_Kk&ztQ7Ag4pWIgM$oLTivmyW_UCzb3GYMwg3&J60s(>_5 +G&2Fro_Ee2sI5>#5$NbTE?ndQ~EmgjaH_eWu9Tt9h_ImQ(4{?FYwXB~Eo)d!a#{FNj{jF_~N_W0iEvU +jczb@#2Q+L}a25iCG&m|-H+9p~6fEP59b0_z6T^X*Nlj&Cwa7934f_>025zdSiCWH`R23ZKAt^aBF-9 +*i|W%XN%?($&lxh55JQ4~uX!o?1G#f`rOBS_J4%PI%coh4vbAX|8Xv7Aq5Y)+`Xh?r}mhoM)8X1fU1+ +Zl&A1Hds4UQs@KPT +&#w=XWkNKa_>kBrkS5E_Neszp8zud0u}zD*vk4y}pyQ^xy9fxh&V|I_FI2(N-1*vM%zRtu-%%B97`xZ +kS}7H+=1Aic*(UD&`6Pqeu;UhsP +^p5j)T>Pmrt4XXord6iwfUO+hJ+1sm|%Qs^(zd1QMozI7au=_PDgL80dPo*s65XXUOx}lnS`W@5RhHY +t;>x_w8E(>v}&$+`2X67p8V#Dq|`}OhqY=~AceOJiOsRd6>&CB;@VIiqdxHQCzxKycwt7k>6LT9l0G| +PdjTGgH8nq@_$%L*XFw;{@=qY;5;ol~WVF=kuH1Ka%0bzCDYnHnN|1U;}RQCik3s)9JnW4P!5rltnIO +W0bCMkDluNiy>pm_p3Y&03sgC^^d#AhX8I8I|k3JH^=j9}j`bnHNQo(TR47CW*mEXY=##S`$IC?v}u3o0%#!Ne`FFJ#56KtL9un@#5 +UW5x1qLME@sWg%D-UR+Ms2ScaQh9RygjHeSGjXNt7gT~G>WRspnLpzB6TPkPK&Aam+lSzUZMlda*KxL +K8Ly|qq%USd*R0#t7q}W2Z^&ZO2wGB8qGpP|fQRKOMNm{CsQRua)OcIg`KDBc@+sUFT#Tdy81dMRPNgNGtq`TX@U*8APQ~i0{0~4;90wX#L)!@+(8z)6W$7 +@&rF(L{95wSo=fm1U0&aqUJU#F1*Bn}#>8rL@8bCE&oJ2xNDBqxZmr*lK$Vy$veu25Ldd71jC}C!ym# +3AQ(4o@Vu);{UQZS-xB~no9|R1@J34V-=%WZ0FS?skU;5-y$=6(*`J6!dU +nU}3hg(jm!8&omi=Q(8E5=Vq7c`)Kq^LYX*kE;)&y*Af?$lYTU$W6YLJB7+*Tc3U@UyWaa9^WVJ;Tm`3a~wZYHxk|nH^QPX8O$~a-bIvJuv%B!hhrbZj) +H}xhI8)>VQmL=RBVz<(&PWU{-NN7X=H)jt4+wCzM9r+j#Smt!i>Y(HJuh +xK|Kn~wFL7#ac{uUBHZCxkSL$1`vi?!FjTOV9jB2sG&>8+{xagw-1wT){7G?_{9Jf~*v;9^_E^{fjCP +c>L$#X?w%LHRuATBJNeRzFC>{q2Z>w|l#HzO_OfTo_dK?;1L^Vf^h`C^Li=pBfgNR~60TYo0 +*yrZYNZO}i$1yRLq{Ty#}LJS{4(NNEvMI6ta0YPwJ!4NAnZ&wt$$ +=#g1D8NA1!e>y*)+QNewq&hlSgwWxd}u0?{8LzfaPg7Y_8kkAdZ2RC6ZcR?kSt3%3+jBp|^|jhj+5Cd ++673`zeC@#*xb9?dFP31z$>KXxxg|7Y973vbk*+#-kctMFHRZuiB`6=ASg;iKWw1GUbdSch#gaI6#ZQ +@5rCLSB*YU-on58Nr|EOy9BPu?_@`BwMa)%{@*>m*JdaZdmT;z7#)V---hp`iI{{J&rzz2o5uXzwb!g +_wNPyAxYAI3NGS6b*twZruu}o(E~0#lK8={JtnPl1lESeF-;$OY9AjVun$gQYas4j0fK^q(nDvz*(sZ +%;6`v9+E0b~#6i0|oG3pxcQHBeGm@z>@G@;Td8`1Qc1&POn+5$O8T|)PO9KQH0000800WU*S=y +e1t`P|U08B-+tNmb4U=)LY#Delz^0B)f+*ipD1Ao5SDCus-x17o_R-`?}q)cDy@~t +`|M!10%KC{Eapv8`PdS_CRNLeqk-+RCGKgHv+yrHB5h#Yai=Dq~w+!SoL}Aaqm+v>aL~DN=fVMJ}X{X +TXj6^Y579Yh>Wv8#+tJOYsFwR-L$W?sjGXpbxy)4>c+B`wC&ou1ol5!(Sk9)^120U!Jw>c>gdJr>!vQY<8%J(ujNGwO~azihdNU6`n2QBsYhgf$WcREiPm{iXvI9R%Jtnfjm5SZ`$Qp|4lY40- +q>~r3+X+P%xTq33d!xLCbdDo=-!|l~VQ`HIB*bf7F+z=31alm76a +Nlblmx;!6C-ccowXZ(jEo;4MNqek17`ySeSr0WQC>b5Cc6u~4zXlPrsnq?oGLVHJW(wdQ+YmxJd#|8D +U-ia^2+#AH!!=bf4fuKeBT+pXyC})^x{rge}lF=jMfq{RvQ8bBY%O~0rb0trYq&;cPp%_1>%1J@&BEb +qHrVz^yN9Plu7a?`seSjSH;tDx@B^gJCz1SiF3d#AqxPa?cOT)b@DiQQw(0$`^?2)_ZYpt1{r?z(`7abeg2Po66f3 +5zE)FFsuOtl_xx-Wr7G;{Geu|_vHQe9LeNZn6&F}H5ZVIk$V +JBX`!$BsUB-7iB}K`481yY*s(bsmm}wJ0y1=)SwAF`+w_$(-JN9`-a=@ +Vhi33$8zH{?N`rd?W8V(;-hL(S(M`S +9A+04q>uAS8mx7BJ}cW0vhRAYepv#Jic$8uAxFm?WD?{RRRudk5gh*_fs?{ug%4A)~UUdt*G@PNvbBP +a)q6f-{8Ew}~-ns5|+7bg?ix*{ALj>YNMz|6I`;x6!-XzkG-u&zR_!xI(b6m~zs44h_9rh$Ei{v3$~t +`P;xflb8*VIHIXraPo!8SPrTOp1F4o<>Iyz*N96C2|dxY^&FFhrobaJ4(L3BrUK)EtaShj00|xw3^w7 +|V1+K$cu<1m&VKM_f!Ce7Q{^R$9Vqh<`W%Jd)Bu$sz+n(;79hGJSbw?y2nfD?bpDwRX~Gsq|AdV-?jY +nxv)0#kR)IV30LU)}f@5}vg`5hk<~TJ%4?rTr6cNv$lt3LIR^3D%$Le$d;2T7z38cK62><*Hc0u*4OY#Qd1btzx>XYt{cQ?|Jis8dSCLKA{gkPXHq?E}f5fbm0sWuwg;S75o71x;E8(bi3+EO#eEWG*vI +F$jmRAV{XeSrVsiR!*QsbKTp5buN+e@byH69el%|(j!oZ^lN|Qt$YarKL6dPFTCt( +PHe}w71?pziCc4rR4ZL`-UCyABYEMiMp^NwS0cyBCNCf{MN)=$T?60kZXUMfS(%*8&F|Nqk9wO+ +{IX@yA6$hmP(c20n;N9Q;%z4yDxjDUdPN|2rP{1?C3iH5?7vc_?ov*ZdPd95Gr7EF@6aWAK2mk|-TUju5_r~Z1001-(001KZ003}la4%nJ +ZggdGZeeUMV{dJ3VQyq|FLiEdZgX^DY-}!Yd7W2VZ`(E$e)q395KzPh9HP%gm6xm!#kyfY)&WBh(2R6 +s6Ol-br0jS_|N9Q9izQQTn+ZuAk>`HCbFr*yZ5)((x07nOD2%Q^*RB@EBFOggFHtsV+dFrviLSr-EUj +C#7qzSzKcLFBVYSF!gqOz}CrjH?XF_QuGf~Qakt8AC1vwj?LgdJ +$=Xpr-McstWdexXwW^&NQ*N~=Cm2KEf+wKY;}4m+%xl1DqPQB1%3Hg;d-%}QyG%WDrvK+vTTpp3&+=% +tUPgwsn}uO>Z^@*m^n_eT78wyWkIm;@!<4xqzvh!ZK;pKC@u?b8pVa>M(beB!UGl!q&;%k4&CQ)w&Vd +@oD$$wIHbHTcB;j-5g%;Il*`oDB)*vm2=MuqbXa>4UTh~Vw^D`U#s`OF82oS +>HrWJMze>4Umr+R8jrso<7I!d>P?Y2I-y;fk+H8rbGJ;8RnhT~pl`ydaXL~%fP#yv$7l!gkO$b}Q$)* +LA{6(N8)go8qsr09rbz@UwFW<6v^)((zF)HRy1InSpVV{$xTsq5{Q4M7b5G?tv9Z1qtEct<$c!DCn7P +w=7h_zoCjS7>exd>Ge3uskpfigGMKwnmKMum1-EzbyH>dAvU>!u<{IA|LgX6##2cUqwGl)j(3t +;HcVog#NxbW2Jq*e@ZQGB_i_Rk<&|VrWVWn*8OVxoJ{7P!TfBO6_)l^8Pk0&CHtg|vA8kwR5IOb5+2| +#|Xm#U2*cT|Y0cxRzG*xIupo>vi=U8IE6ieRZ(s_t6-@Q16%<$H>OflZaaC{NodLO1R0uiT#uXm;LPI#`q2G}3wWe`xL;Uh +D~wO*AC8n~wubY3#-|P0@VT7SoW5_C>lA+`;=FG}Oqd7|Ia|^NmWnc!JX>N37a&BR +4FJo_QZDDR?b1!#jWo2wGaCxm*ZExE)5dQ98!MP|Z1Gc<<7zPAYF*I#~0>uU_-S!~}1V%d9Txd}xDW~ +4A-yKQGq9vzwFax$FlFuFa+zXEsyGCitq}psmy_pIBs!aD}wyhO%R%x|ks<92%23Y9(i^~>_@3V&n@m +MdSn~-3e24I-oYKhP)J +d$!eu{T#A1oZ@Ar_$6MGngy>{^#`kwPx56rYn1Vf$hjtZYR=qfk`c2KQm`Up3S9I}K4>JsWgfJ +tXgg2xK%cgwM>25rnYKvH(xE*(x)6==gOMhq|aytXtzRY?7B}%2rb&>_Hz`a +E_FHz!~lob%W(-59APl#5-w@K31y2T(PaSjk#K{T^o8BFL4xgr9!QtUQ2Gl*tK8FE3}zMzhbQcKVfGU +W)22z&YV3fUf?3^|!%uMzuZNln^$b|;xajb7(tA*fK3Lp&<|KtWS>2`P;SF +OG9se4E7MmX+2jzZW&vhh%XXP}TDAOlad`=9yrcu*<5#DCu^pOC?|$$Qx*W{^^%z=zc!f?`(eVm~_p> +c>KZL7Cq@=D3rn_t4ndi>~bmA=;Bg{*x+6bdC+Qbe#wI!q= +WoYrJ7FGyH6HUWjcP%UOL16|Ckcla +*dUkKhvbHt>@^mJOJqatKGE{UY0qpYz7ASZ=LI%t1GY0vjw_yyJp{b%Rk8It$z%m$Vz<=-dPaR +s1b|YN_)!|6!E*-MLeM4^q*L7k9%rEHVNB&(v4kn#<17c3y;WpGBLT9}tV%mb@tUqoKJ0rVh(c5W&J9 +@J4A9s2Vvp{8RclB6H#r+INju?-nG7P^uHv(N{B2QzoyjR$H$Q(`m>lr7&T5>-k)i=gOcJyZ5!*?(5N +pc6ikPV*WLDTh7Pt|nym^WX(_ON5q`E*Qn2CR&XC~{F(D)9@9x)LiaUpc|&(JUj8T(q~T#=Mkc2lmE^m~7)X8*E=as-PV&ELivk0iw!*L^E+lRrlto +=b952yAp5gPptj&^>-M}|5rZUt?oW%twLl?Qdo7yZ!xVZTgxR~;~6NX~5azjOl^D(lNs}8%D-s{dH=n +f{Q3m$)qIUM$a6{^8nk!~pcZekU)xOZU~_K7~;4fJ8`a{e+sC0WUY%H_DoIB|A&*UWyuad*pfnFeDe{ +@ycv^F=~lDI*Pk)2u8GoI*CUv*bf=| +Fc!JX>N37a&BR4FJx(RbaH88b#!TOZgVeRUukY>bYEXCaCwzd&1%Ci48Hp*M0Z#VT^^u^!C* +V|H0TC91}9NkQO9m&XQ6LDC22N~7)lK}$ny82PpR28aH3O|lMTpLo2()qn2I)#vpy@dN1*29IKWFG9b +Jak=!L3pG5EfmC_Y@vCEiES9T3e#@YNT$@QmmFlM5fT`NeL>a);-Z7#p-fDOF(&jXq)?i{`cC37zxb` +=tUoQDc)JU8@y5Jtx!J4EV)jvBS`^^`IecgUCWSAnfTIZGu{m1H%KnRTOk#5F&RTI+AI%>GZ`zf#8R< +;eVX)dB6*_vQ|;LvKid#@&d-~sf5-BGSDHEj5?rrY+NP5g1E7j=4!IpWMdq4oJfXOXXC8>;bGXs?w1j +6rLJDKLKhzUXokhFr)s|WggE(pK+VKw=%n_$OvN2}T#I1hU%g|RA5cpJ1QY-O00;mBky}~866G+;0ss +K_1^@sf0001RX>c!JX>N37a&BR4FJx(RbaH88b#!TOZgVeUVRL0JaCxm%!EW0y488j+h+LKci9aAfhq +Ya|1;e^x=w%oNN4Drhi!7;KJ +>M@OV2K1Z25sKq;Zdi3-J1pvOv_0@cvVMxjEXyj%oP+Cx!Ft@BWlJKXacI8x<}P;? +l>gJKP)K!7=AqTq_DcOEKjEmmHh673YJv|6=hXBiLI94_)9YoOUF>fk8+9vu4CjA~g9+?aH_C)lTd$y +3;|5CK%TzSkhg!8jM)pmiVvg?S(pI6JD4fSA)N$Yoo#@`6kp4N{L)CD1M260f3QPe-_HKIrlf$piRov + +>SVWdZ$FdMSvWZFiXXO_~{yt}q%hs!~XTH;iX15cBT1*b%Mw*ab6PgU5n>yCG43|`j<}?7b4vzL9^)9 +t>x`VVe1J-t%8;gcEw%`{-RP-}4Uu?HD-%=8C?0H3sBhN!~dJM}1y(ahCZyFW=aMt$a1HAq}ncuE^G$qU7l%C`@%to*A?0g}Oh;Ul6$Q4Sh<=I{Bu{sp#679LW^iNFhTLu0DP +)h>@6aWAK2mk|-TUnNuKX`Zn002q@001Ze003}la4%nJZggdGZeeUMWNCABa%p09bZKvHb1!Lbb97;B +Y-MCFaCvP~O;5xi5WV+TOnTZ)R(`-9j2dI&MUC-hOfxOh?PMt+(8T_Gq1cZ#%L#aI-n@CxI@3cKE$b6 +-Z;cD^Y6BaMswmn7TDGEM9mvHyA=wAV^^hoD)aYq0yRRdHO?ccet|_pV^dl@bXFO5WrlXrR-tz6!ba} +0~r+^Xz&IJ$Az(vENXcT%6&)Nr6isTmEUGum<77$limhWU8dD6iHYT#J`{=AA}B7Su2K^pR)O#n@ifO +>>jYSCd*1oRL(0!QBiyNI)Hjq5YkMG%!El;b2<6KQBnZ-+oq%vN%%JL`-k7cx^)3-!QCR%wPaxr*h^l +WO;HbGy9SXPoRSkCc|9FgOh_MpLneq5FuK^^En-RKu$=P0I$r*$70x-bH)?v7Bh<#I6>d6e&Q&H!vVMzC@uUIQNNmi +c_ytf)0|XQR000O81Cd)Um5@aBme*aaA|NaUukZ1WpZv|Y%gSKb98cPVs&(BZ*Frhb7X +0AbS`jt)mUwB+%^pUe!oI+G2jlkdh3UF!vPt#wOJRmOM|t;FcgKWvw0UaKHHV#q=z8?eWYG&$@X2hb{ +(()L1IfHDe~b%(qh-tQnRw&Zbh}7ZDhS;df(vxOxUGYe_otskAFFR{Os)f>5`pkkbGUjlD%lOs4HGB* +-Ow%_Nr}4m{|#pXwpnnxE0sabt}pugX-Fg{E1$iR@Xw-)eb5>b*Kl{?4P_|VCGP@D_GE?YOdf4GQ-=e3 +)Cid-W#_(rCx~K~HkTyKO!gJY%9;MfCVc-62Ue0C|M_fGd0Zq4{pPP5{EUWkqvTQM%&GM3?kuU33=F# +2eQ@&kT!;&QV4H^jw1Ev^f%A96loYI-u`RWoFZfv+To@Poz!#1^K`VvpG3ZPJ|bF*7u?tY5tnytYI+5 +$R^Ybcfs(1m!hRuM8UPA}NQ2j8;Vzo7FaYPgOKvcIn+ep4ONz<8+G0wa@voIe0J%%7&9n?p{NXC58E3m$>ch^GnFDGP|jOMuqFAATYQY5+2IcX|%)KAoJLj~;!4tS}IJ$qiq5UO?9HPx)q>B3+^6oL5z?DKrJb +iUF6UK;di1IR=2;SlSv0M(`Lp6CT5*YmmebXlZAntAyPxDzpVP55$Vz4hoc9hGyJwbOlQ1*R|+EMjUA +Mhd~*Lr3;i;e9C>wp46toYla>K#!FSRn_6C>pJd%q!0B2V^G$gYrtTn?_xt&?^A~@dr^vJSiDxOjDpT +@EHt~ovMrFwH4gk0ZN`^&&W95*TR<+y@GNKp-f2C7_u8d8GgL1MrotS}_Y30mmo#LUnWoDWy1X +S^C6cBO1W2Idqc6p?gvBCo4WDRRQolI?^t^*d15HH)b=IE=?Uk~D36v?UHZ`XbQ28VR!jmRz83{YEuU +Ome%l4g-}eLvbTj?rz7`xJ?#E?qM;mM4m*uni~}70}N}5@u4C-SwGKQ?Gcom!xnwIK-|}22Z4y`qZC*0d(&S&>w)LD-%CyZLMq(;s!`5uvRh1*V&ad!7zU~k92mlEBPa0@mrHu)!1A4` +b?>EN2DuOB}6&KEX_Y4cEG97+m1w4^s&Qso#YdGf3C$(W%DtZ~a{=83OV8Z??i?<|jS#7Awh!;R60B^ +oRaRRcNIdLDNHOOrLpSP0H{zT?v-lLalP+a{zLDNF?Bo~-o)fc_WTdS(|JCO&_t8>3H8)fOJ406e9)3lG<$Z +~2|Elj5mZ<{@7W1u*Q$OlFg02M(kza==tpE4Wxt|CWEjYZw0c?YoR^tGshw$l(V{j(2 +1nVlzv0P{1)<_Z_;)40U+FADe<1e57O$_dZ}AgGaNiM=u%zpCZa0g7n!oyg>XxDYV%z*@_`0#;?g`EBeCm+I)q6Z8i{bzB%-{XhX*8jJ{`?0L7O}Ue-I9N +>^$wZUd*>4XS(Mt+K3jJGA|7#cpxz%cU?M7Vpxjeh}!>wC8EGEwVMWPqDp$MJLl;&d`vP;fr{CVB-l! +)HNC-irpl)9fjNxfr~1ycMaD9v&*@FK3L%DxCbE|d!&o}bWi^UP)h>@6aWAK2mk|-TUoL5!>=y_001Qg001Na003 +}la4%nJZggdGZeeUMWNCABa%p09bZKvHb1!#jWo2wGaCvo8+iuh_5Pi>AjPjI7As?_32q-NeP^q9&g( +?(z%=qBq)lxczx^*<5_Oy!i6@`eOy(j2BulnPpwbH +Nw=*BPy$8&Rek`0=ldB%;8l3ZcjI?^&eIl=MZ}I +j5E)sx*`Mm-V@TgvWn3wA<>P_V}Ex%xvJqib0qXVTqC`1lSjX8Gan9V3b_sP7C^b +6dniwh#L`>Gjt;ExFN2t;Q>Bni}!-9R2`%ILKnNelkWg;boe)-O;s^DsD4Q1~jUXi<(~G2-P0TH95Jz +X#H>CxhxW$@!l=Ck-LAR#S2d{xv4Z>u`d|(ji1FoNxq^@5^4SPmVcgbL8k!IkL +MsZN#W>uKFczwDN#Y_CkQ!meNO%X%Y|I1%&D3;|i2B}Znz|3<|%+H4UYCfe6+d;lru6#*IBPyJhQNbP +TwU*0ud&KskNl6@yTi?gY3!}PBn<1UEe^5&U1QY-O00;mBky}|qKTFOa0000U0000V0001RX>c!JX>N +37a&BR4FKKRMWq2=NUukY>bYEXCaCuWwQu548Nv%-G%qvMPN=z=v%+FIu&QD3@Qc_al0sv4;0|XQR00 +0O81Cd)m=gd1i9Y}UAOHXWaA|NaUukZ1WpZv|Y%ghUWMz0SV{dG1Wn*-2axQRrgRd-D$RXC4l0YID;yM5i +XLO(9*N|_-EJC*THDwWeI&y8sRDRzNHD~`9IPUcHn32aSsTZC*e%M=XF|^>AI8={d +!YmEr0s}NA1Ty7D|tQ>RKHBlEISZXxEkkOLuN2&I}TzPtCEblW(XgZ79=J>X0>LwDGmmleyi%d}gN#IlyOTU-xp>99` +tBU1{7f-AO*_EY=OAuGH7)AGisY<3zwoO!4?=4d=Y3ve*rdC#r4lGp)kTI(+iv1;zJhZ55i_#vfNed; +DP2D7_P1{aQEu;nUrYI%IS1-DSN)XB74%Wl7(<^s{%6b;(Dd=t5wc7+2B%mi#EAKM94}8^JinY3%C$G +~gFF=E&dIyg$K(Qkt_9ab=#JVfWT-%7*4AmFZYH9R1zLD)m8Vi%80trtNkWC|5?`4|HM!|GnA+A*m;s +gJ!X0ur?HzL`kEwB%;1Qu@PPKI!#1xw9Y=u>SkH0--^>DI57hiK^zAvDu0K;!eB>Hvv>*y(c4tAAkXP$7Ov0ddy>xhNe}A +qTPl(buNI|IOV#Ol^I(hxZs;b(8Iw`LwM^QXU+&>3uGgMCz9{$_S=gOpi`}^+VHJWx;X=?TfK@!}b{zMlBOmu%5F_D$(8kwZ~BH5 +B`g^d=qg*9gbn`RiGge*8$B~oz-`cg8+KybU8kuo#^O8n&W<0mau=F +oy@P@sgh0P-#^i`+ar!)Lz44Jc=@iWz5xx)%oSX@W=upR3!dK2*VcHiD6q1Ns|DooV6qC%f`%ITdlOl*RMADv$TzRbxdojPG83^DivHD8gC7NY8r-W%b}wlSLjX$53K5HMN{USkrFn +eD0~%`>U&qky7n3(ijV*0ccGZSU7eh3&*LPkj_hRydV+p-+ueX2tLZBHf0gnjYkAjJy}5UR8}+ryp_m +12=CBLldbcyK|@J^eus#Qv4|Th41Tq&vj}M0ZX*FZHpfV8n)GIe>y}=07{d<*qS7Lzt?X*kjN5`e{Ss +{3c8~gie^v0+krOK$#9gf?NKx2FbBt6B!2{(>P!eEnUNjK3sO44D$$2kij@u_&q`{rARC6OYpt=b&?6 +=5`;i;9KZ!_@Z!2C*^C*r&n4%A%n-PJ6Eg0}W|mecBx?!Y5dx)MQOVp&_Xz@hke8zXUkP%t)5K=`qOn87gcBS +?ti1p-~L)&++3vYnKAm$toPAxFL<35Cm&9Nep@#xreMV_&F46pr3elKST{NI3&%ZXcl8W#|W +P?h*qYT`mfd#jwj<>uDhEs_)fMhGItMAsCce|Xfo8L&8O8CJ)*@0x3xdC&s=`-eGV$nz6}-vO-1~3T~ +xkvwtH%c+SgZ)EOIcqaY{3Q$)sT5(7#ayDzow{j3(HWUyhX +DLO?m|mkt7_2{MgwG*GkXhP+P$8FU2={Mf1!*zrfxO>iss}7>w`n^7&>leb1mw1$(&7()z~lu?H`vm$ +1k(loQDp)1T}VPe0XM_-TX}qON2h?jz2!O!06*S}|9SONfRcBR;S2zPRv(Z8F<8J(iS-fWsMXkV-Q-u +<)Tmm74ygYCfT0*2zB;-Di^LXUt28?RM$?8HoJyB^>}H6^(FJpAo!>YB)eXgUA +4cY7sez&vn%X(mBqSY$*VguRjG%AAkVz6uaVAh%K6Qvnet(-sDEJ6oZBX=0$W4Qp|0tfM^2{**2|i;O +u}VFd(wq{oE-WIiyF-&9aW^(bQd)582rO12OQ>7TX>JJQxt;;L@h9%Hv>pU1bvOuISkv52m~W;JdoP{ +0*&h%CZGA45x%6!}8-kJqI~@_HTdr_m}?a;5G8%4DDr8muN67(;U_N%3mLk51t7u+_4{|V2dp*xbk%k +B8}%0=o6H2VPMQ40L&FRbqzw*7_%Df(q4Jsh-2~I%3*4~SgIkQgg{(FK^Bk|mSO%XK364%6$f<5s*}U +O6kHZUJZd0_+QIr&%sxcA)r@M39Y>Soq%cggI0GsMjj7-T)&RI3ecnNnEZwv;1nRFrnAiYBuxR5)Vla +H_c^=Ea;GN_Wfp$S6Rpf}AEaQYja;K>M6LT~pE^dC0%iS;Gez1ar}w@hJB%6cOAHCaIk_k8ql@BMeo$W;y^Nh$ +-xe(oItpm?!rJ12R(31YUTtMfhukv|5Nbj*IIu){om+k!8i-rLh-L=Egjq6)F;W!!A +(|;esVLzQFkt|TM8t&l4raKsg6Sh%5`)u8;h4e!48jRAO&SQZ$J9APjq!=&x##hr8O%Xa|9(gnkVvr6BmqVti>(lnM`N|y`=hq*=T9LcnBT@)v0erEhtE_99xh*xBP;HlUYH-H{^E=kKE-{C^WS=@;8TVk!@*+ +>Qe_$*ghck)=ta@|0!a2gyd@`-xM8!iWk)7DdDjgJ6jp1;Njezne@OC@S&-qJf_G*B0 +i!N$($UG;%BDo`VA}wW5xQ_dmXUM}|Eme?$o$WaO+~Obl({UqIRp>G!%%nk```!dtI3`*@cSlD9U&0K +1VJQ$F{DTLX~m{Qfhe?E`+nREp2NxyHn>)5lvH+-UYzu5j)3sz2QpNCfc*IiWVa(T9X@x)_h7F)-;S# +w5@QVqoT;QsfojDS|$_wnlT(Vr_v?RMUi+nAqU&kgyoJ9Ga?g`f0c0@3*8Cc9JX|9MeGq+9hd>u}YPP +InY$2GVdv9kz~^S27*l_s`x=Y$HH=i{iBYYHUk}=A14v=xP34_z1BX0GE_;O-;sc88F0EXSc~Vf0Gfa +Wxv5CUajC-I3|+d*~W6lZf_R83B%F1Hpkq;p(wu(CE@DTiCs@!hnVs#bAR44Dt +-mfeFu*I1}o&plcTp>EK}^eS~>``Qla%@*{oHVQ)Qp)GTr|I`W%NjPgKHW7y&L@^Kev=rB_+(U?c$Cn +pLC{Y-<*(tPP3VZdPlc@2dzA(rDITi@x+IX;~o;Szs5-T1Sj?1X$Qyoa=@fH;Gz1h2V%hiX*HU8G-)1~a#tx3ju;nX&jsQ>h)FOTSe&0DmYRzDy5LR<_loPL(4mOwawn$ +2o$$Yj#x{MKYHXvG!!6m3)G9_uaiL(Z(7z{%VE%+p(K?3sW$vUm&qSK%Sm-ZG)JFwz$CgYfP*n%E*e( +DV*bO6!W0MHNgPj9oQ($FYN$StL9uL8w5Mr&GGrIF&kX)g-egmgD4;+A3KfL*20Xoh>Ob0B$#s@ZNbV +OMd85J(E&7-*wQR>Cp3-On~y>bBYN43YYkIn71FqdauheqG~nt%h;PMe&QM|lrwN0$XD#d$nc9mB&$% +nNKLK^BIhlGQuxfpN0X7sqR^zCsKiyS8XTV5nzF8B)+os8jv)JFH9rbLqp#=`lhdPMt66x^hg4tJ~(d +@GPn^;1ib@CVITMihJGm!o?G`m!U^sIM@QcL5|@~jTCQd?VB1R!X0L*kh1N#i6@0prN|&*DmKUgto04yfa +S!Fh28#fOnG5Mk>XOzCw6)~^zD`J-$&jJ_Hp!jArZhre1Y{}gX!I_ik+;x_Nm|l>?eZv>r8(~mP(G2? +Wuqk4b@cix}>maJpMo{h~JBl`K5kuqQBU$9UVBwoC~%Kdz1g#hH(Am>J^tA7*Q;bJUZRr;JwJ)Q`xM}bNCI!b-{xSvSnZWgW71n(X09jM_Xj{E(0yTLiRMu&8}R}kO7EiZRZ8?QSpFK +lXQH1!RB7-M`^fn^2K&^CB88#$T(Nh&;-y`l{PA@yT8s?2Q%O$ly}p +T5gbac+*)IrnNxNdmcComzH|YAfW5+IZ!i)yYWz2eCW&mYjomx%l@lB#jtESYNJ~dR*ii +029a(wc-S9x>Hc^i-SjutmIZ=@Jp=MyHkS%UeIU;@JmU$tHsRMG+!D +lU+PKgy8Vt^<9YN8qzNya9Z+44Agvhi~8&5t_G0~X0*+y@iovP%}?VNBaKx4Em^zsr{e4P@Hc{Pev(X +_iqFHH5OcNiSFc{f_vADSFuz#MDS0&h1!4kq)C<84q#{c08@DbzC>NxC@f%Z;g!;- +nbtPP91tVH8@^M4LiE=pMnf~e2EK{D4F4PEHH;RMKxY6@At4v0y*i@acDkjqv-9#OqZ!k_s2u#5)CYn +1P$z1b9zBUE0fqrDRiOt@a8eqoRxFOsn@;#CtSpO@ROK0J@Nm9hmOIUV2$hlO=6_pR#>ag-+{?DFFC$ +>`(K~G8($G14vue!Z-PIHFZ}lE*I@hPal`-*c_$miZ#Znk7ngru7yc5A&}fU(aaHi&m5z@X7l(D)Q;f2*Q_%!p%^ +A^peloV81!G3IzWjdyP)h>@6aWAK2mk|-TUpIOEJlVS001JB001Qb003}la4%nJZggdGZeeUMX>Md?c +rS2aV{2h&WnX4#Ze(S0E^vA6J!^B@Mv~w4D<<@&3?>xTPHyXNxuI_zM^0SpOFMd$G$xbDkIlZXYT1caZpvP+MBj)P*Ds#UL{+ckJK0SplcS? +*yKCBB$a=rk-`D$k**DFm(-*2mBsdH&6fb#Yy +qxyOSq>dG`IcGx4--ewFo0+0Vo?cw%|Jku&kU>frYeyS{4bax)Wj`*gpUMHjtt;7fBaQREyfAp5mKS49fwCLZc3IXE2lq +WHS(r22IWFuSttq$oT7QmDHwX{s7X3KY!cyQL&*8vL^(0iUmB*Q*CV-n6n@T|cY4zT9l&YDNvdfthHl +^F8+czUiMf`&!*mgZTMU%FWYiBasGt=cl^c@9-g#@6L{h(%gdr$HammtOS< ++FFOBv@n!tF9T`Sj}?W``pfUB~V^-_*esxR9M*%!O({?c;NDP4R)*GBqY;cV(YG_|S5t^6gJg&*ZF`> +K^&S@)?9w65|38a?o}PST3Gx!e{@Rzm +b6T#Ez+rh^$alT0J6C3$0=>W8m+k84s3>4wi$W~K*~D8VlbM*HR56S0N7?N+Jzjo6qm)mPhVA6l(b3U +{CK-U33C{`=rbRJ5I{F%E2QnG%lh8k-9pEgRzEYdP8IWNnKtR2Eb!49R5-@R_U@JC!!Fnxm8urNDCCzj222VxNRRdH4Im!c$$?{^GOEzRzjJ5B@$^}WoG=pul-E? +glIQyiAEC)JBpXQy?kxh^iR{yMDqt&AO#Nv$ncZ?o8?z1^?17UVO0GrS^gco7DY5{SC;24*M^n|=w%l +c~&SxIUrcP0C?VXGK=mL#c){*4GNads#?@EhvOb&n$f`@Ht=}RQy!BV2|QSlQ_f4liUm^o|J96SfcvfSIhmTY=t6>6_WG?FwvF=tU17=l{qeK;GL|U9Ph5Pvxi@N`Rec +azn?ug{^P5EpZ;#5=I);Ora}2z)yvI(1%^y5K&NP~3PoqweM`_BlpF`Czb)TL(e2?WvVB+3v*^sWr~rW}EK4*`OXy0EkgHsrUc%-Gs{^*6au0VEsQ$790~VyJ-k{DUJQ&cE?{=GNSs}i(qu +}F_T1(K4XYj}hP`Z?xod&d%4Q`TvOD)i{(wif;XBv`v0Sr;~MPU~rsQGKl>x$^46wOi9vA2u`n!3r{* +3GSbeTI6HZQ$7fbI$^>jokTQ&BWdt+NO;@h0R|9Lww)V$}l8l27g*1hS7txW~f +$;z@6cs~z2heSE0nNruryBd;VAN51C3$2D8IYxoV#mmcPzgZ!BlrU$#C!I*qx_@5PWqW;JK-c?Svu~G +@zMnU66PT##BNW0(0Yvzc-fl?m2W_ioJqQRx4CXyNSjk4esWw%At@s}PLEqJkm;SqQORkl^@c^-;XQR +&pGDD}smE3ITe`IiKI-vgHN6UX9^NZYRWcGTwJ(sH$5E=->8md?;r-BD4Lwqk_b85>Av?r$^Hddm%C@ +U~EQG|SV`q$@5!xfEUMe*X~h4{mRFMVwYy;R4VeUEoa|1Ep=cf|bRF9xlRB9?3N?v!^VhJ;bq0N$|2Msid!ZqT;emn{u#lp*(L3AgJ)d2_O2FlK)*G5C0)#BqTxoc@pgeIy1Kj;z;pOKRA8xZE}pHuky +Rbvn2FCA-_Jm%gSz6%fjqB_50 +<#7at|oWgk$MfLmRcVuD-n};>C97TEVw_nDAYxu?BuH&hebB^qe;+{6!J{7nd%H1%|zjVOv9k&;yr)) +pjAQ_YmoAVmhwJ!cn9r2ji1}nZ}_e^ZQj{izCG$foVi^(P&az`oh8joxDnfw(dc8#U?wKmy`+s}5`o6 +&vt5<+;SE1BX)KQ6k?gRZxJC?mrD2Yh41?(c>^>x{yJ!>>R(&RVD85icE+jfHLZ@wNc#0F(lkZ`BM6e +ZXN_Nvkc6uMl$q$pe%?&>;9?!O1Hr>024<wGvXT80nbW21fW?IpUVhVPGc6IERssW(D)1wUbPKuL +)t|^J936Rp5VY~%z`el3{4`>gXO{qfMJ<}!j_AaHj(33;4a%POA-jtW|A1FnGb)OCdWNs4Yt^En<5af +^>G}vc6MF03x-yO1=CevcEF|veB10nIqfc+re~AdF*acL>_89A)A9;9L(>974D2oBVIduu;c!5vWj2k +;;mz_eAFn60?=|aq5#)~($H&SciJLwU1pE2y1_lRB|BpX?|0(-TA4k-m(81k_W?E!X9CPBxFdN+#TWnj;DMc0l(K9j->_?Za)TiBcMJx3>k +Z>pn?>l_R)iXIYGYunE#bM^ZH56jqrk-6XOxpz93(_o=q5b`H-}_@g}JF55vS4qO;pqJKBkyoVDX5{LKDx^G*U +kfdH_ElFlu$Bw-*u&F<>^WBSEjT0onxoHD>F=lp$5hXP{r!JnqF +?CX_+L#@(l#iDz-xgh?$7#~%$o-m!FTYl>IHHU!2y2rA{dEI8ePr_}nE=9FV~mQ0gTUSjU(ICMExLfu +U`rpe1N0@e>eJS9X$v+rG(*VQHNeJVu*wowcasFBQQ3s9seMJ=z6m_555w`2=MxgpS`?*+R4d$Pi
Q +{t)QhV99vLS7o;MuJ2bG9y0b{$*yYEv`_s!0VRmka!D_H-}C$}&A+0g>`WR22mvSfrnlfv+j*ctPF7X7EL-A^x^V +~|hU;aW*_%`Urn`Vs^7WqhtBJQ=$@}mZN7CRI9(KuTm~qbwy2w8Rb9vqy)I|GMc +)%D{g0r7ZgZ>|hJws0A8WU7cOWX1T~MP4R;>&mx=<`Z;3D(~bPYi`Za#MvI#Y+zd0}r+eqXrp(5?X!N +CMX1c6ONhs(;9h0xnIITAW2 +|)tSj)u}-k7vTk9o&3x9J#%!Gir3jQ3O_L`mgMh9BQpiNv;Jy-ERxC|0Aw)fJCMY>X@cf54F@r)WEs* +$0Im2SsoB8Y;Uc?8a7!lNybcbLLRjk@eFwwjOO4grkb~`6o7zM{k!1Yy~lX_Y1y8VXs#ID&I7sAf=AY +$`lXd?wxr{hdUr4A%CD$$%H#kwFRgP|(h+fOL83IXMBLQ9<-5wz18B#Bf`Gq%SW-a*&_?$6r%oCzAdW_;_Qc_F-#T$8W6y)GjYPQG{ZL!qdd5`ozzu!Kmho+LA5MHv5aqz| +_dy8C60XpO=LrnTGfnI(!_o`a#|w$1u%$Mh?evZakeYxswd!mT(aL9CiUtnP@Pv91JdUY@=yP-n&3v{ ++aM%QEDiIEy#s^NhDJJ?k!pzFy?IjNC +mi$dL+8W~FwKFm1>se&)GG%}CRL?CpgZAW9Z{k8RvBjyU@9#!%3KAn?r{R~RhPnt%M@h5vJw9@4^m3m +qPgxLA0<{Dw)9u}EI^J9-9vWOe<3a6Ra&4CaL*QgGLs3(E0xen)MG(*gaK$weNv +i82bj3y#a?Wrb8jQq#d*ZNfq;?dA=Ek!N0I8asf{`3`7TO-rf7Fji%%k=J^sc88Mu)byy|>&9#YI-n3 +TKAi*9WLV;?7G_ovkvteOHO3o-Ykn`p`#{uQ%tf_&$BNSG-As=ZGZabX3$rCm_YZcxqhw5Kb|1yWJS^ +Z6GP626IH;)d1eD3ZN($aR@e_rNNk6FSHJ-pQJG`?G0gAG8Y%pFn{!$uSXrbNbvA56gZjQpwz@vJ+I& +P{ph#DBGL@_HU1adCvC`b@vU@#P4VP_@!&FU3~8aSb$-|whU0-q~`0+WeV3y@X3sHgmwzRetoY#FhDZ#u$E4*zUP`OMi;lV+-XqP~m +Y<^VXI(X>x%5;?1caqK>OOVEp%c$eKS}@^HryLdB5o>kF11+QB*KFBp +w0$1}7@!bz%2?glv=qFTheU!-B-M=6}Fj%MS-nu#~^S^>rm1^jfCHGNIx(>s2uq`W0@oH&P`7Q;`m;E +Fn9h5;j7jmZ43;eoHg?7rBeZ6ioR;aM|U5Im}>{%(LJ@##=EvU{9kG4d9GtDlqeyZ!Q#gRJzsGY$j5> +4HqrR;^idGsMrCQ5DqrA{eDCzBMxfFE3{0mM2XlI@c)WrITU{17Ccteq +Ks#_?0s*3_8}x#=kX;+h`Y8NJ?Y*Ff9c?VsqY27-A6tnF8w1A?2lHt@q7s0bPkABU&a!#@GI@U>S5+@5m&iC`26El;^;^I=9i`kMA24PE}7pG +*@u!gbvv85ynk(Q7u{dL7F{xgWGCa;0S{WNpF=j9%$I&BHsWirLyYkY9 +telqhP%qHl2oK8I)HJOG}pe;3LW9C${f1IQ2Ur`4S{)XZHleTTzL^dVSEi5pVMt41VuLsE_`=AeEm5% +#BoiH%RdsQMPXuJJD-u470kVKqXjd|QG${|gd`SIXVO!qK^#6vO+tcMi4`0%6CYg?Jq*Q}lVSN8YS=h +H0zZ2G&&EQA)%kP1FAAm>>#F}c{6Eo@qnWwjCN($JKW6@F!r9%;j;FSm%HNZh-|CFo4HA6rXtzc!QiGYH$yEP;Hr^ +HtREZh?lQ4+eiA>BkuBVTVa;0)d7SGz-fvn{hXvZ2a)%W=JB{85`LrC1MzZHwVgUp%BclQJjZF(2or9 +GwP#?tSwW<@E>Uomrh-uTY?U#VN;PvP*>i40LDg;fF1yKc2>=eoVFxlJKHB^Y=8S}Nd7}M(ZeH)}MEB +Qbat1>914b(mXxImr4CqIcCm<>6pqdi~E24ax9#TrNg!jSyV6yTQCg3)HPFoF4+yQ +;xH-&V9IG+1{fy_upLjnVc^Lwj$wz?d+e9sRF2yjKM~WWRcTI_`_=g~8-G=%mu5Ked$kwZD_p|_h6-y +_XWY5qIO0*NgBx)Scwq86H_XnIA*YH5e$ +B;c}KUY%MoB2TnXC$w#pp798hQd?S-KAZR&K~KtKQ7q(mn?h8(!o8t2dR6;;z2M1JyZByl55PrZ{jR +**W@J=K5mrC4fwksSNKm#Fm7Q+S5-fg$-F7-?>XOE9zftutOi05@d79FX-B3~CYlj!TK!rMB>Y&W4G) +@P4HR%2H`ye4&RPKfWZ7I{LQ{J?-j&xcS^G3oKNGW!qmHY2^*prm(tfH4o<{v9}F@cgvMq=uW}%0pR{ +@c~#HVqufhyzwcG7IQi6>cWLe-kkDdpM1i)!2%~85?z)m#9KtDso_%J(4{~)<)L7JQLF +|bBfk;UUEyq!X&VliVrFiS0r=WCi_k-N!$>TeX%}*2a#xwx@kg|uT%qQImxlw1%o3*k8b31SXH%R9jfS$V7=0yqcG*6~#r8wW@9?2B@bH^ZOnPw%0FPmYIBz?1u)7@0hbd3&f>D5f~d;;EZ? +}-;2#pih``MabuLT>FYbnas2&fAL56rt}+rM(333@ladixPhKun;Nv;#zE)+DXC1k6#ewCDKj%K=7=v +s)fQMWg_|$8IO^;hv?v}R1_P^89f-~5WXaz`@+zjL2Gs2Dg5+oZ3#78MRkVO=UYi{-=fSfYpJFW06US +Bs?VKTBW_SBZLS7e>mndU?pKucXTk2WpE$d$&5uh@m%l{D`Px}^6c@9uk}z_vS|#ZdCkD_46^wLvVb#*6e@7gVHlp;*Jbde<@h6He9Y-YUZu*wpuWc&nzn!NNIAmY@eZC@_!~7*5#{r^-2gI3$Ul-_G%ya8%JaTCAXX3=cE8@2W_+Q)x?Z8L% +`G$P!-Wt@IaKus`x~1KtQaK0%G)2zon!0YcFa$`z3VwFrDp(EO9KIeqKU%2QrGu*vEp83U_JebdeEYW +L}522{fmIdowejouwoCbIK%9m!Dmr8(aYdNH<8;xach5?luko)wmYGOsqxmzQN#=Y)Kvw#wiv2$3fbz +yyhEIQ5#`c={rogMr4hwhwKM64!AZ6uPIAk}-i&biAncS5W7Q#OV6$qa=>t{^njM1N!Rjw@m=H%<2zMU#b<(Eqd_K*HDP=z$PyxJe5K=7jyH~k#t92OZ +JW|N|poI%0iX7SUH&m$0n<-`feNax8-esX~g1`CUy=y%cH9ysp(h=0}J*O|PV24C!hPaS#7+2pxtr8W +X(WZIh1^jLSJzh|Ttg~jY=LGH(kUQi}E<~^KhjG-bCwwm9ZP{@blsSOSLP8Dv{vlpvo00q? +;$r02A#@`ldrl$Ir;a=zU1Fk?ri3?ngh`I_gC~B-(mVNa2Ki1+Wxgf|pVQ>f;tRDS%Js>h}Pz2zVGHP>25y6P&S4YSx`73bpodf3?&Jw?&p?H#`!f+8a-KB +;9CEg`Zm<~LPYqs0KM6UHw{D{JKrw|RUSBsy*0+A0cMG(h>$b&-5jc1hh0U|p72$H6(z$dwjw`DjZO=JZ2s!0QhlSMla5-Snm-g80D~ +kl}k+{NrW5DHe0A@(Zd!*3AVQmHn^;O&>$q32Hu}qpbQUGYCfWR&(@@>$TCTsG1eDpLU6Zg_DdJO|KI +)Po{}CI-vZHE=G$iEkjKC#c5EOB6#-;pRr7d?TlWjVs@C7(?q$~=rtjLr1wTQ4x7_kV#We;_^~0R!|I +(9`jiTb5vXtXWxE<^KZydIB; +Euy{uXikOiqIH^>~P0A(a7pJ4?h}9s`GNxm?$NcicC}L}_Py>9s;*49SshmL`7OHaM@GOeXjUgrVTOK +U$pI0m>xFcz1dn5QDut=iKn_c`hWSX#s*VtL2sCGE_H-#zW`uR?^ZIhmD11f=okd8dafUPg`xvPMD$y +v~c^*9!}LO{bsUFo*m3W*{-yplVrSsJ3a#C9P5jAnGqvEz0al~^&Hi2^Gcyk?lO}IL>`9JyU=M{sA^l +ToUDF69EL_bl?qoUyQuc9P%mCp(KEPdpsE*!6C{07%^>hte5JZP`ur<}<0E?>exh4WMAr3kI~C3;Bll +I-xeGoV(CN*H@o`OERmf_+ohjVs<`}N{?S-pG^8QdujK`^g=CXg&6Mw`@@P+%A`BnAC<>bwUf=31>*Py66 +RZ+;Gq^*evb)>v9L@14D#u~Y;QE1+iK6j<}67zN@$AL~{UJv57jM7py#It$zie9Y|uxd&!R!4Tp+wvZ +uPQKUBK3GoVv&8Rxu%uA3Kp200-hqO_`X5b(GH}WZv{1ZCfodXENyM>*&M*>-Jy_&vA#!S&hU$R<9=S +L{Cm}9|FY<>s35Uem)-Rc0oQby_zXRswVb+fSG9xeMW7ZlK?OWV>8H&$U{gRQ&E@ANl>tQgA=Akj?z} +V313`210x86|y8&FFF1QY-O00;mBky}}>G17eO2LJ%LApig#0001RX>c!JX>N37a&BR4FKKRMWq2=hZ +*_8GWpgfYdF>f%Z`(HTyMG1YVyIon+CF=8v7%kJ0NDd=x_vMVMUiNmi!2HxoyUg#_uU;OQIu#mY0?fG +W(0vm-W~7#pv10{%CJIiHlo~&gniwK9XEFs*Uf^|qqUMdmdT>vnGv$otlrA`I^7p07n!jzfC!|T?bm5 +hq?ZMc*c*U|*s0;lzMlyV?>|>aEiEE;zOM>CvNS4D#mO}zS&9sH|KN#Ru2Q9WqLEUv_7LpO4N~gtOuM{_6669g;+@QSp<_5B7kO%U!| +rLR4XOgAecfyxAyA0&s=+;j=MX6ABi<{glqxmb#K;8JA_o8P8P`JC*IA1uG-8ZK=muP|MdJ_ghMO~5n +Upg(zG~S*%8* +QC6f{lS<#oy~_BUO#E%7WW|-aqc`wrh6b2uUaY5V_Of+TOU>foZ#*8qvS9Cd87Mlg1HM?Q>fr6o&MwiV +YLIMfE0emMW}jGeV!_6S-hdlb2Xww4jHjKxqgD)Gwl)6aBRu*#EHFNq{fb*2;%^p+xS8TG$_lAlNu{o?F;hmO9@K +o$=i}3(13I-H598F)|dfT=pNcWuOW+oufe&Zgz^__IzdgG_NR_p`~m6O9`!*JLXQd5gA{$21>hdBgVv +1Gs)DjeC3&c6)8uHifuP8C6C`1&x86RP>cMelx^18tQETv&LP%E~0iWZROD0 +D%a%ob?wp@QT?i5hD(HI(!Efl!M +G%eOeQE;k|7Zg(bgOe8ZSXTaFYi;LJYb-ooEx;1%a`ww(5a9Sp*?QqF6qHJinhZ;qwFW`i +p`Y$f#%+_hl?!bmD8Hb|fS_I679_6^DMFrHS^{T1tVXU?SQa;t8@)N4DSc(4pD^NSVfN-hI@swa2Og= +Yf!@kpDwB@(6)G>Bv>tKBj9SVGhmXB0qi{VczlP*BVH=nWZxq+NicXa|AWh|NC3n49HT!VGy~NP_F;!fMXE`>W3yRz4>*3UwF$O+gqEs2e%|bQ +~TIrBn3(`-}_6>YN=8EQwwS!Jkn)#n>ps6;?P!!Hc!&Ylw@GtPrI*Po&UE;)Srth#d9?21&w*Vuw-eH +ZLxSnHWo&(^TPsUa-*b0&1EU)WOCOw;t(oxJAo8tdgRi+vuv4K24-P?t0B+Nr^TA!nP*T%nU~EUONu#yt9A~# +vyh+2Qg3gIs^$+hATSRYOrLQ)2!)mI4Bb${NW-jN=)&MBSGNP6D|}|i_oHfm+QyY! +hiKaF^(3^pcVy!YcX7!Mgg@o3b9{RY#|%c!JX>N37a&BR4FKlmPVRU +J4ZgVeRUukY>bYEXCaCyx;YjfMiwcq(Gwoo!5TMD#n*NHWuTiI4(-O94YlH+7t4G5A;aw8C6v4A8tlm +C9tV|TFtK}vRW=hl-*^iDlQg@8r!dWt-X(vES;%&X +O?G6QLI-0K$wR|>AEjot4YxpKgv|*agpVH@orV9ERB=CxGYzR?C_f_wF)DZ7BYuN;WC@bM2C8^kV|R7 +UA%g8{PsBd$MG*0eQ`mL+TJY-1+PxBC17n|{djWr`rXHi?c1kvmCH$tnAvyilALaT?MCHA87DHmv2W# +NngR==GM&mis-7D%L%T0(a4sCj+ELo=2>AEm;`n{^>IkTgUZ1@0)7o4X(K7xu%cG@A;pdIaHQ-!5)cG +U=yl3i;*OZPjeHYF0cqwnQ{F+y_DrB^ZC)e>@YF;We;EU`1POsC6qBu#SNDRd%dK%P`3HY4=PaLb%oY +-7Nkp5Z=;{M}R5*MIlwWTtbjV0EJ+KMCDuGYx2i;h58xaxE|sO>Tb3XR%_0PB?2x>1w@yP^mf(TUDak +1kJ7UINvJLKpY~Y>bN{?}7;XA~0xA70@aI#1{Dn{E9Aqxp?*N?1z&dqu0kj9DO*wgm>Yc(9jObG|R+` +q3Ay8i-Sja*i_CyGZtByOp$w)l5~4w|AiQXwH`7xL2$WHnr#@Bb}B(JfwfYLVj;y%oRm^z0Ih~d*rB& +yu3`TyE)%d!P-~REu1r|~xbtQFVTGBi3WA+wc8>v_n#Y!Iz26I&`$}!sbV6|Sw1E67`v@WF{96 +WmV^joHq7zF>t6_;jNE()oOc&rjtfOi5S1oK;rr2x#}Sqipa=IF=bbPdd4M8L2^%X(grMVY50ldh)`O +dV*#CVikE?RwE8MQie6iz0M7Y9`XGXux6??}-!Ry+B6fqeK$_TP15zWFo%F)KvJc?l#WRTNxLyN9-^@ +NC9Iq*do)coG(DKF|8p>Q?ZoGEMEhErT{cnNjwGtG1CmBm=r6Q3OSl2%({jPbU1c8d*Y=8qLc=p;|#G +#*@G*Rlmh((s!6@j-aw8^4R%fp3Q%;V#a +VA#{1~)$;I2F%U5rr)8n6xPd(4_@#y{8$=Qz`h-vb^y|0g7e)!S4f+WkXb(E-U8I4z2^z`X>&mOh90t +u|vSyGZzLDaB&pLUB|l_X-ah|{?-PvmS48c+!1xr|e|kWzeaEo@xQb+{sP53_vE)R5;-x +da}CM(kG9CubLzN2jL|hwuwNu*lbyUno;`M*+iz0bohvtxtj56kL6>emA%x81il+SB3b8Tp#ComREp{ +nN}XfEVLXr6v0=xLP4TM1i73>U*=@Yt7qejSn-|4?A3%U|C&9L7PvHzy>b7$>*jJ{8{MMrlxIRO+CpngzSF0BYRZM +;8ov-*)4@Kd)V^RPN*?)H_YnbF^G>KtPcNyPl^=~;m15e%CDl?SNrs2E?GTy|L-~uS^xT=hPa9Y960> +3Y^rDVr~{4%J8^>BmXH%r0W+{SBhLh(_9X@OA|5-cJX=Fol1M~N!{#VCk@K;4u(o>-cAMqW5L;oXW9^QKHV$#Qy#B{ +cY11EcG2>h^keTR2ldGH6SbQEjceHMd*20o?1c9Np|J_$|{Y!bJ#W8D?CIZbL76zZ+T9JO;wLA50sBF +SL9O5#t&XR=Hj4FYFel_f=7YPJ0$(ng=qa$6n@#1Yy*-sgQ$Xb=tuJEk-La&IDn>SJYREe4wseV}J=@ +!-OI=@PcE;Gy_N&IHnox&@n@x!7Y+5F=u4NFVUFC}51(|b*8TJP>Mp{LXE)5U2hwfU!g=lFmNKHX +T1vjpmL}nPQGHnyCKIYNDrXhjrwdP!3hL!cDE)~Hv1kvzfKYP+JHa!OeVC$i#K>~#3l +h~O68h|OIu={|AmAZuBTY_V!ja+IX`#_nOP*)HgL?Z@i0D}^BSYQCC*~2cq4bq}jQQK0Y;1sZRX)h}n +5>S1m6fcBuq%l5p8+g@oo)zUhthU#3eZ`58TyrYqI$Of2bg#;SNH0OcQ9M?&B%W)4lNb7s`=g&+4dHs +ITw9=0^Uo{R)?{iLOB>wbkI_w>cZ1W{KOMinIC*zwD6ofa^tJ4RfDh?)Ol9u?RQ?P@Hu8wNTlT$B{7( +t-&F~&2jO@WMO+IxRTK9$!D%^o@A*k{Y33aSsm9IXa3$-W4pVKUaf+L&6qhNXYOy)^dk#nnP|1Hjr +0hEV8WF^_)|~Z95tYNQUO75hUlMs`A4pIBZv~)qmf(1+4fX?s!xK0b59lB@tZPxnr>jO=#bzXJNIY^&N +Y#)SRv7{iG9>O*p4Q+#v>&QRjQY?Yg1LTITie#N7$Ad%Oy=k{sQ>HepcIDLN**vRCWCdxQss*t+I8QU?S{+XND5m +&|;RBR3l^rL1*!%bvv27_66@N7Pfwv#sSw62iY-Y^z7kbRh0)Mc~j&aQuEoiJ0s6GEz6tpi9Zb)@ +6Ao^W91#j;db4xHC6Alt;^-<@j{7PO3w;ls9kw|!!+R_*YO>lPL|ryjub2&)RrG;!dU$}_CA8hG +>m9sq#r=N1zeLTq(=Rx`HUYARjID1Ryt4Vw;EFrXlv;Vv2BprqXYY#!S3`G5q75`H%*+%G+9hVSe9VE +UZ%{Mk*!nTeJTu>5<7vf+`E@L1QTmrkXue$;5d+~%iWFCOWS8VxP5bExnBLb`))7D*TyHzCjt8 +Tr!Ts6YYl%|3b;AasvofDh +=>s_|ipd-Q@=T2c;OD=&!WIfhnzaO5Dr$o8yn)Js=FilE&!xr;(D)aw$31YZ?MT0P8jO={Jos+%_~7} +|gXuJ$4Nlc~Q1vQS>%G&1Z@=3=h39qo8vwv`MGb+C>dHWXl-J+cB^O3z=MbB4pBFfcBH8R16v-%lU@n +{5ue(&HhWUL8)9fRJJcaLe$>a6eyWl+{Gm`r4`uD(={HA~31hLUt0Z_L4{)!yDyUvF_c9(-;juw~Ldm +pd8EZJzqOeI(cT`n@y5#8e@Hs&+~O-k`jFQ)J!OF=E6D8~{2vxUsR8>llrJ&%=k`QTpdZlrBon|bb%b +fV5g? +>9D?t|AJTMItBe%0DA>yugS@1Y}77j5p05^>%|s_%8xfhZ(LIz}u6s{rVx5(3FfmuN=*~1HjqV|Te83h3-e(g0+O^dlW(6rdwfub)$2F7Oz9RjbB0wL*Z! +Ns3X}(pC%qkpc%Erzx!QE2$SRyU>WptY;3YOUkAa+V41u?rhSlAKnR;&b2yJ7G`uo)=qc)YOx~pDS)$ +69#Tcy3)RV^ahwcM+}S>TaB6z4k{+5T>8PXAFSxfS5XSgF=<1vtHay$6dkDP~vT{SAg^tu^NLc5?&S+ +TexR+uqd=0v>K~fD1XZ&@Go{t1EKE1ovkdU21!^jl+T<@Ir+BTLw@|E<7MDI6A-FN4oMXNx%)%$_{g5 +!R;N5D&9Bl3~-2~ZV2}1YK>Auy>^L^y*_5nv9n=^1jH*qt8vkXGg!K5#|P6bH-=Z;0jg3|t(Gc@b9*T +Wb53+<=<4#UOeyIajXW^`;%w`9>_VFR9Trzb?`Dif)y+h_W%nT|)ROMi5kR~;2MnakN)S81FQ9 +|0e1xe20mVM~Ve_XScvlYD2Yx=g#k*3LUQA2;%O~7!Nu`|Hs{r1OC%R(4y$;ziBZZe)U$BVcsuGet7W +I=sO;dsmFf=jU09zS~y#ZUd6S{8cE;%?ofxY{t?8frgbt){Gt**wM@Q3)BO=u4>OmsD^`P(1isa#R?` +EJUTRuAL8`6H2iy@2pO{TvC{Q$AM$+yA&_yL>jz`u~@Ysb3!~pZ^6=O9KQH0000800WU*Sz+Cj3+e~} +0DTt#03`qb0B~t=FJEbHbY*gGVQepKZ)0I}X>V?GFJEM7b98ldX>4;YaCy~OYj5MY75(mCK`1C9r;dz +4f!)G|TP$X>ZP0WEXr`Dcf2inX#mH*Bp)j8&{Nf|U~LSXq;Pz05{gl +G_!TOGVfk$XG~j%Fjb +(4>Mg&@^tqI_%vF!8X>mW-*_yrQLL^48EGThnCM_*<2da2{ZrWk3YO|jwjYi%e90X$j+iO20mfDAxWB +h2MI^J-;jMH9rq9b4})(uvHGx>Fnsb{Zd;{oo~KFPdoJJb;%hR^e3)`FA)QXdLm^tr(rb6(N^7NO>?e +!ptU4>)@2Th7a$_bF&l#{;L*aG&sZ4w_2Q#U(+71!RiY?sjci#duu#0iS-o^c}_Ux2j&LSKGhugP*yZ +Xmf{`aeY-~N{;;!nsNd=VD&;$`8m!skO|vKBUP4|b!Pyp}6ZZVxR%BT&2poM-F?EN1LOK=q9MtHHy>( +^HTj*b0rUY^zE^l8TK$u0-qHub0Ss6I-A=P=C69|L()5+t~gq!iW2Pg@KL`l*}>%k{Osr6wWQ=b5mo(7~DpPnuly+65LL#aUn2R;8tsC2g7lXZ^?xjtD8VR-UJR)e$L!V +&Ac#1vY#{zpQ5?vl&PMqN_iE{kfN+y`Z_HC8e0SxloCD%>x*w3phKvR;j><=PyRr_-J!R56%bAg$gB` +tNGjF&E^{#z4I?t7KEY#*985;@O^SN|*F#&xPsQsXvNk=%3W@euqla32I%UfhJTW1Sw;(WcHlXj3wC@ +^tx1;j1+V^NKr}KsVn*|@pP(BkB@tm)#}R#!KY<4!a0&U>nXEC<;$^_CIN`hrO*NZSbo%<@a$3b1yy( +)Mbn|k_3Y&0^@<8PIO538*!vG3uNKskE%|}~gO2Ai8(rDB4rpX4E=5(Lkup_zHDcp+gr(Gh8;&{_u2z +wQg6J^Xl%1x774=j3ACdbJBL?`4K@f-!GfY3{r7Hp8#X}CVqK3hKh9K1%HP*~zW0#OGQl|;o>ubq$#; +SzYmXGxRDJ(A^{r6MyjDa)mgaNHBAL;)q3}oiyE_+}4g_vJs4-Xk2GtUFZlE|iC2@j5ye-0E*zon0X+ +oh+lN3|Dw?#u1bQ`mdK|8B?od2v!IsVw;_L;?LO4uttpuOF=N=kGv5hk#^`VI`HwqKLqR{hl}kd1nzG +)VP^xMIkHc20%X~W++{8pp5nSLZH_jXtG*g^i2G`h@4MlCNdgBE&nPEd9Dy8G9CWe5iFJ6uolBE$)nl +AGiZTNtV}b81hN9tV>VU{xpl$oJwKQW(u?uRiU|1UuKW{??y9K|Y|k-cLp2hufmG&H1O_N^dQ6--FpG +z_mW8x64Yt2v2z7%nfbNv{^Y#iuA`7FjFKH1}$w=LV+~@0v*9l{0VTU?0J&jk^wI%9G`j`aIp#2;<0P +zbRI^B5+frJXLO)u$49>|ViPoEy8}OHO#*#4f%cU;zdh1;l?8b-Ew-32Ga$l)(jdOiQcJR} +glOYx9x?6yARwY#HOaXIeWK5h%A={Phbm7ZuQpyw9#iLc#og&=E*O6}(d-@Yrlz9Nd{0AT`%Y@sz-b7ZYKPWM`QK`KFjA9)S(chGsaBgyuLR3BX-GtBA9aOX*@Zkc8i35;R}l@6(UCIUQBUm27fvSL(_R3eh5r51&7OUa;$iDNI +SDw+f-Dm>IqIiNj>U8&^0uQtv#=&goSl$`UYVW`UhiG{7_h^9Q0_(9DG%MejB??%GsKG%Yxqg15~^Wp +dO8;(>G!-Cr=nn~|YYInxfOO(gVMmfQx94VS<(w(4YEDpXIvz_4?0ILFAvJ^`R=Pv}&C8Fxuan#f!{0 +7NGBLZ`?5@;5ZW_DG9>EPp2W?q{Wo(VNkEXY{;Q@ZlU}4)Lg}P04l1w!HXo%PK1Vd!@g|`PKwZKh=l> +Zo0(k+x$kZG}njujar+z<3sG}1*1!$w+OSUMaJ9Ko!LpTA8s5j2EaFtZSNL8pnu_#0Uh=*XLP%{Tf7N +-^V*Jy#qk@xl$6iI?V#{)qmNkm-2ER|`J42wP)h>@6aWAK2mk +|-TUkj)(%|0-001l=001Qb003}la4%nJZggdGZeeUMY;R*>bZKvHb1z?Wd2?fLZf0p`E^v9ZS#59Ix) +uKJUqPrJVt08qGL8PDTq=Wqv(I%b4W^}Y&pr@?t(V4EuM!w=RD_)m +g_>770dPgy;S!j>E3G7yfWMHWvbOuwyUabK{BIdsn@KKMVv@giBj=A7Eh@tDyfxWe({BR|RvKnt#(}vX%K@VEYj*_AjOZjxfyxnm;E +HNZB{ZDjHjutRfQ8UATpjEuXGB$W(ztl +%&%c%k+H>=y}#a8E3Kf1*T17DIV;CGRb}ZEvx_C^0W=4@^PFW`IQV6q!>aAm4spsh;waDA5)@?%p2Ap +UJkGAKZZ7`i%@U7B$=N^8E-uf0zC2GHDR1C%BdT$WM2`2KvVJ$?2^^nXe>(qg{^`^CU%gy%c6|X+Eap +{Jj)Q|l1VH`}B`o2gqA7@@1W^dqV2N4jI?s~Yh&~a$BgYeV{1>*+I-iXgexfLPzY@@jOn+8DeVBDV?~ +CSgQSx#NcD3q~taAexXR1;z>dJYi0YRLvxysn3RDylRhK8-UaqKaLNF~oboCPD6Knmy1zzd;fZjZO17 +Xi3$@eJW^thqLIqD(dPPAI0ovk7uMx?S73 +O((C-lWzH7}J*Rb_q5C;yYSEk`J};Om!-lLB2-4I=jKkVH@RUqp>NWQB+;C`Q4@y)Ec#n<(^Q}4b=M; +wq=>nTAM70q@J;O&3%);#&H6FBGDXO}pgnt;(qB-kJSa~5<{82(P=nWegP@QxIK`E7j4A!NAMf&;0qC +r~M_`gAUpn!l-CP03h5_{p0+H#|Oau1R^(M)j9c!aF|>$G8G`^G*P)F~pw{p{3A(UFK1hic(?(p$P); +QZq@|MZPc$p+b>%{8B0WmrleaUUd2X(0lUCDR(|4MuMAe;Bt&G{Us0;jFdXVTKUuvx&-Ux1X-2HV=ii +Axm=RO~YUtS!zYjZc@=jzqT)xKV%7g1uN5_mB^SlSAyeDKYgD7%ZdX=rhF-p( +V7?2*zZMc+N>k?em;IhM(?%?Jh{VnyNz9ku}cg}gud^V|L>mn?y!(nlfx9a4J?n@sOfA1r*ny-dSK4< +#jDQ(r%8_kD@}#?c@EH;|G)ET7w`N7j<73!4@dN^;$Ue`y)81#prj@Y`yjT4HX@~66o`s?^%PNv37Vw +hQS!@`AJTEwJ7+%MIb)8YAv4M2ZO`7hQrYU +Eb?$|Le3Zb%axhF`_s9726G3<0VBdWL)k=*Hm{%c +RjTi^zs{a@KeO#PZwSp|ljYfBz<2HxT)W6P+;FZ3?ZjVDOO&a|tUrC6G###`gm=`$=dQT5J=$ZxISK1 +pMAk0H7Qiyhqvd>rOh_O$zuHe-w+|gMbv5A?2E>-~F^y)5!hSR5)aUL0#u>mk3kTrhtyIW6MeD}pmUtOR~nPOod^+Gg&V5KboK%Zc3(qFxsbW6wrsqiQL(j(og_f +*s-#i7nNXUzJT?+BTWnjfI9=Wo<U~b~bDeWG~Me18m#WXqws^q(q +xJ9FX04Cwm{dKO9HL$JUio7B%B~R~c?W8cXY312FuOM+ZFY9DHo92Y0eL7tbyA!Tw!$&H5#kk{wTH`eO7oY$=F3FIiH40`{VW(**7~le^ +InhA^yG(ZwA87O@B0Y3sh-Q95W5PQIPF}s!pLk^;B=WcPp2xSLxIE8>}>@J*TXFj+a!e@VDJD$e`AgZ8y>G(SAf>?^)m@- +WRG<-`sQ;X4FR_g`E2H`M1&6X}6*-MYzJf4OjRsOppZE6`RXwneuYqOVaA|NaUukZ1WpZv|Y%gqYV_|e@Z*FrhVqtS-E^v9BR@-jlHV}Q+R +}AC_%dI2tVjl_^NYNnc#Rf&z3n#(0NCJVDXq#)9R7uL02Ko0MQWwjc1T7i_iFlcrGiPoTn?h+zi&Cam +soVsj+EDG65tg^#2h;gXm0XBrvtbW~kjo%gXtkk26mcS?$Xf|k6q(TG&3o}yXj`(J%WWf~ODO>drwJ_^m@y%yXAcQ=z+a(Qw2d6Im*n$d +Y3oawi-1UFl>aB>rx>HgF~y(Alp}%{UhL}?Y4u{0!Wn8KJ5dRVqgz@qIT^OI((UqO>={bIS4r8#eVK({+4#l-Cgl(Z3 +C(;#@OP*+@Y$W;4e|Qpx0$tiZ1u<)wvP7P_d66w +l;0qyDfKrTI}H=}PtW@=}=@HIV+j1ieo13Vm3;)JrE5mcc|Br_I_v6Pw#Re+m6u-0`@KL6Hyq(|xW +!C65Xa&}vMK4i7q1(KF_vjTqJcOqh-63@OI{*^=ckC_ZuG^X+mtMBV=)~qCypwCGc9II*aYZ(!r`ql3 +2N|AR4lkMXL92?59DoWnN@OASF2%|p)Wt^?-F{A}}R;7LQ=ZRe6t09ico^61?May%iR<}&f_=-rejF0KAgtzZCqHuaoC6kC%`;7Kh;o*K0>D&dk7 +(=4594y)t%D5EoAk;InW9{cFxfZaE{<*uCHc1=ay%u2*D5E3mb*E&{sJ`2UQZ&96)%AiiTngrK$m>KI +W7wL|nrHL=c!btaGkMK1^s+>GXzvrq1j!HXIEU#&faeG;-XHtQr-*1 +&!uHj^emG8ybGmIs9ZhlJ8QjjZKg4z#hnVgV#;TW=OhZYdSXM42T`NQ3W_$n$mS&yJEI&t35(bFS)yp +erpBGQDIr@RfWw@cV}f>zhmO5f3UFp9!dV_W-<=rSKvg0piYDfi=I6%E$`$*tGChM-xoJmw-fmKTl?y +Yb6r-Ci)h34M*PjszbJ_=NcX&mqYcLY#H7wU;n)QJpJ-%c5yxVHl6 +(*4hF$LP)h>@6aWAK2mk|-TUlX0c|Cgt008q4001HY003}la4%nJZggdGZeeUMZDn*}WMOn+FJE72Zf +SI1UoLQYwO3nj+cp$_*RMG6OXW@#5EL5*V;z>XZWpXcjm_II1c6LTbi_px1(HhY{ra6lQnchtubW>i9 +g^qredNa@QMXbV$Yo>rdsB&ZB%Ec_HMx}Ra@+C*a;8n>R=1)}Gl6jxj;Eawl}>A+^WL8}%E&dQ;OD1nrg=YjfzPinf)eYFA|%!_Zytn +_P0bq&{aREUQ#HK)v*a8zxZ<@`TmNGJqDXAUdCwxi-;wIx3QUyhSSV>^j#=?ab2q&=!3&VS0&wd2r&w(_VP^zZn3XB9?1NaQ9Ralw!D_1L!3P;-eyG(H{JC$>dM +xQ|%S$`K>@RcUCmB^z$>8^pr)|B}7JUu)6CIQwI*2!KFiXth+N1=HN%Tj3Eu??&_$Oo>JC<=~mTVQx% +y0${|1|Hc~&s5D!PXVknJq3C+3&y2v&*Z+yI+@YFE6sI`SSeL`SKj2Vj#`25@D<(fI{S +k87%41gLa}cT!@ty2`GNYRDrujQ&O&6?+a7cNNDPFe7BE=e+%SG<;rfE$;%Ugy=$bB6$RpPSIIT2NJz +9{SosGF#$)lC;qh6m9LU~T&F-;aPv(&g5OG90ghGj!h1W)1Lpg5sXG32n)bWW{y +z#+4pcDJUE5-49sk0&bETw8;15=H+&)idJ_I1@rc;gG=5Y|LSnAYAznOdhhRN-8YCWL};bBibPbi8T2 +|qymJb|;b!(bLVx6WzPAwONk;+MTI +nG2@$QbiLg|tzKJZ1t3M|i2=Sb)(+%h9E@ObZUm2{9<>NAdq$PW>xtn@7OKR474-QdQ)z5OT`Y@Y$ta +{_KCXu9RO*a%+GZG=im(NImlo)4fdtDqYb$E>$I@qokq?xaADvwlI{X=7QTYhZ(Um%AXLkibUSchJA;<@+dqOVb3%{ARJM=_QF#RHM!(4(1tkp@FcGU>%&E!65WnvCpJv90Gy +85a}p&BZ>TU>H^Y^I@vtK}qwivPzNNd)xntu +k=$B)MjR2$}rK2FL12y`F!G|+aztYwPT2jyQ&RkI3js{&dj=`#Xopf7I_;!6p$iyaC3=nskOks5PnV} +&8xDm4ZbZoS1W)qN^#@S`PA=}bpBPNGjgP#>i_bd(eu`mFv7j@`{#?8a?hWjllhRtG?=#^fFW>ZO08B +G_Ky)PAB{W{Xbf^9LIiq*OhGcJ|coK`>a%7x3M;->1V2c4WNvPvIuF$Xb0p)G3{Q^&TbnU%EvDZj^oi +FAf+S;F|1uF<<7+GS1%Fr_sMqO9KQH0000800WU*S=4FPLFoek08|P903QGV0B~t=FJEbHbY*gGVQep +LWprU=VRT_HUutu2ZZ2?njaFNan>rAF=T}(l!vP6cowrq_JyO){s+Ub$b+hLsiXsPw;0A0T+hmKX{`Z +azYzQRPv6Ks*@i*g{`DVBw4?m2esez2-N>rpUM(Ww^?Vg#U-X*E1Ze?Bxq2N{?_S*^!&8VTC=d_`stV +{}^87RUkDU>1a-BUy|NJR$QqI<09p??^jtw3wKhyL)geQY&MBN^ZKqB(COvS6u+$P?4}{lb~x5lN{wp +0|8h%@_04eEay};c4+q?#bFCxNgX2T0umXb!nI^A%4-|1cATo?h^kCN+XmXkw;o;2%}EHo}6r6Q(iQj +RxHK+m8wtMUrTCop{nuzb1m(yAd9bSR25at)DY-YF=;M3agxRF1UJA#tnX8dhR5;a`uU(!1dJ0cO})D<;-E8h4UNyS2G1VUSRQD6@G +2d;b~mo1ZQUO@$6qCl23g}{#y(%<@F2UqF+)`+b|4e +}(_mCQ#t+$LBAfW9%Z58n!EeWC(-RiG`iuY0tq}+nRD_nC@FdP|R9>ulsg_rZ?wzvy0_~X~wmo94}Nv +UH1u38g`{c%@5l4gw5GL(vIvJjBiAMW4ChMhM#w?pcsL5X5S9n-xD9xh$~jhCBm +U)R)y`d`FO)2Ypr9d7QLP27Ybw_zqKeP5b00>2xou!jBZBu`#!>3kUw7lu&4+ANFC!Yk1o{K!dhM+zp3-&gwbJk(M>|oNzR>L(u-)Y~F_5aE%Fd4Bfqso +sY>L%$AmAXWeEK$1Pf5dyd2Y4DLi4z@~V?FLYpRt~1fW{}~@|>|%nYaOmgKwCrxkJasj?6Q;nZ;&hBP +NUErPd7(TbT4Gl_?Oi~ya~4a;@g5Aea?-aZRx;C&SA6Rs0+VUq3zAE;_aom%uuaFs>h2@5J|>tQCWAr +Xoh;E3jRlAlZYBuR2#;}x7{ju*HN3|7ZF-%yxFv1u)W%Kwq7=B&>GR*of{q?|y>4eV#`UwoTZgsKDfR +?%oN9Hw-%v{f1QY-O00;mBky}~*qF~G682|v%VgLXh0001RX>c!JX>N37a&BR4FKuOXVPs)+VJ~7~b7 +d}YdDT4qbK5qSzvr*OFxQEclbCjI+v}<0yYtpg&wKeg$7yHQPOSGAEz8g5io$+a>MSKDk^=XqM02ftQ%X1=HSdYxoz^Rtlkb($>9 +&(Z?sBw4O1F9?H!8l^7N*_n0zu1^f4wR5I$!4cm(%QBMhJ`_G3G^5gwcDI#d#SPa(N?h@?oj|yiH2AQCV +G?S)Dh}4t1>xwM5muDyYm;(%hQYFljDoy=+*JdQ^Ppe>s^_)e*TP9C!7drT=SlxiN@hF-vFmu)aw{{ +J}Pe3l@O1`#p{#TGx0KiuSBd?NtPf?aji-f4ntJyb(ALAje%)?M<`Jdc8jWgMZboDY?5ke03=m}G)^Z +XGn{ZsZ=j=H4fr0_Id|Y5VT59D-fyZkz9&ua=qy|1Z=j_(VsW{wYT#O}3c@$rQsLXHM~_fhs1llKtr4 +zO{eqs2BI3y?0zrGUOl4JxKgdd*W_7uLlLMk7BcbCNE!%$5>gM=)GJG?2mV7X-I1^KJ1t;2vS`Xqjgqk~OSYRZCEdafHg0*@1apA*E)lxtRW87 ++x`pC$K&}uY62`Ao!6-5mKaTEth*?hnv!HVf}$MJiMrLfl^pz0%Yy=`3XG_dHNUE%0O5l@1ca`rK+e+ +1x6tSF$3uU7&SCS^aRUtUhXGicMXH#8v>?BxeFkzJw%!3^+c#}9a<=;Nv1}-G=ph`XN4@~#?X*h8J>V +H&sQ45E*+?G=yqo^cYA{(xl#tT>_(5`wg +lN(4zHq0<+Cw%2{5cP8IXHTvWt1LE@ghmjuD +8O)`C&8o8Iw=`56@M3sKZ53kqE*tXv7pSK_b#h0`c+la{5hA +LnCtHpO3@{UromL9hfcE)AESH%>Z80lyExI7=1J2H_RF+wj--xaW$VJfQfiYt;dZP)ow^dnsn4SL0XM +Ep34k@vM%{hm$Lb}k>!ml`M0Z_Pr$b-6W|k2`5pC4%{HpO&SR?t$%3kRAq4~8x#_b>>9`W0QJ)~g4SyJqb~n4la>Vcadk!=d~I>LK_KG*FE6P7IyIo6|SqyKldTd5E>j& +~-<7mLjOGLF4ATfW{U10`Z3t!3KaQYXL75!vymnNPRJSsCsfxU~#_7QkVe3M1{FcQu>aV%Vmvvh`{ev +-Q|-WYG2$o;}(c!Ii91M!LNj>p(pD|($Z$M4h(lYpfJ~9QSS6B{mdIJ}3v5WMS`K; +K_ARwB}b+{Y;LB@Yd3PfNoY@~z|us~Z_0(*uXEZ$|+wm>gi8BEUHfnlwsAUrXsWQR40kB_UlwimOH^VkVm=pjy#aAAa{ +({k3mrH^4$P1`%fL|R3I!1JnMJQ~*cIYZ(YKfVYGD*R=AYA|VTCEPm`3 +FHj=J0;yRKcFt3GIYcn9xMP1}+vJ~j3f<^&g608Bb!>GVY?J8P7ncU8Ws&`5?%0H>eWh250?diGG`&= +E^VI37GHD;J1ql@puOBar&HvPy57^prA^jJ-vmx&#A#GA!l!wl1Ywd*sGt2Cd)x9YUqW)%!&caFY^lAZCq1~QMR?32;?wiB3QZqu&|so&XFK_Zl1W_ck{I6L +A$R)llO?sEJkC$xuZ{8G$g(agobygrEl4r0 +%R&Jp>WE7d!3-MQL$8CE6~fqHI7>A0H08KWF|TKrKxTc{s_tQ4R7aHpGaRG*l3BI+E6VbA!SUbdx~_| +A_UzdjRL6FKd9-K1$?{o|6wi{X+N$c=H(&qm_x~~;S~AaqwCw|O`H&1ZsgwH(uPZN4DiK&nfh9>>Xe; +nO(^z}7V1H4UOVE;D8Ug~=CQ32FZsBaJE%ltwaeO;vjHTI;AokN~mKgk$G%u!&7~4#$1;~1%1I{QIHY +^~jv9i;ekbX5gNq04CC&_0 +WS>N+WQMHVak6+B3`w#Ijp$yUPA*gUgUuAMq#7GfL>_gz}H=ab|4i2Av~w_B1a3ss!( +pXiG#&25VR@E7c`5DOsyFbH^oRp0;1c@W!?VO@J2MAhWD^9)n{M&Hc}g$=MubwwiWX7avqE^dM8MOyD +)$RH(!+M6AU{v~Kre~9q+r@1x6D +vK**)=_|_DYyfjv31n&E)qS$Rr^9h=h#V|#_mYn=dA`C%C5}Ob69a$Dct5WYlYTHXXIHJr~1WIeK2W) +=|*PYG{l~Q2K}Wt@kY~CS+&)%vCWyXK4YBJo->$Dwu9!8=rqXyKC>Y$6X9U8mv& +;>o8r%q3#^m!-9$GBGMTgbqG~G&q^F6|B__yEu>wvra_vc7U)V~!=TDLIrxA*<(mWS>1vl?t*>uQ$=0 +d+ExU#^J2F;Zq@VF0+dnQ!8E%77!w*OdcmYBrFydxouga!?W?!(xv?5cuIY>j>R%%0z~B-e5Ck^X6|# +4>-q8Ja3`}aO#T`1Ys0RgNX>DVe{Q&YkFchThil4a<3OyKL#_g@69$=OLsZbKj)qJ;r!XPL_b)}o%9h +F#mud0Y65WFG+yHg302%=}zt|aZzqb`|i{eh%?wj!A(%^3tb2NrIm +4!+Nobe3Ayy{PK?=B7!5!?;8aIg%Zi!bA(GvWC)y5M5qp2+2cU;ss71b=UnDxRgN+YO%&Xab*z7z|e~ +TG<1CE^yZzF67lB-x}!c@5S^ZSq2YI%d{aSDYn*+QjTn$ufJ;>5(Z;k~!w0pqfXTcc_TN{j149O9e$_ +iiTpIYd`ZQ2vDbS5F9C42PN$6x$6%xoL-4w=IQEB*yc(*>c3Vy#Wj}&C3|`7kQ=Hky)b%TH7iBjmL50 +wTY$`@0ZHuwcth%sAp&l+u#DXUFmb^Vi4(F)J`c$kAsDz4+` +WnON3#PX93ZdG<6)5z_4Xwz}Ij7`={yItLLu=HW9UkL$!j%uR>C2hc8NYjGRzi{HvPwz=3y*Qr(`(`Vea0OrMzxw3=B$+B)16^{{dQ +T%bX_w^+uW4`;2g4r~|ts@LZreGNpv?Ej@VGHi;9^nI47BTzBTUJB==0phlNX<&!wj!NG$?$G0g&9a@ +D{E7euE9j1FLgEqN1`^=8_Gi1X|5GSJ#F~I9=FL}4Ci7RtSMVHjA_`avGJ1Z%rvh~e?C1&<-JKNlVzl +;(3!YVtnG2SNlhEI*ZIzYhig3%E3m(md^G1KZnAurHK{hiDWKa)grf$NzOZ(fR$7juVh`?tv*hj>w*l +IjQugT^>U)Tco&!TuRQtBkr8E_>Ic-De6bx@WPpnW{KrVvLZn!CL=$8%N!#?UGUTZc^Y@Mu{nt(ws*h +R-tot^0Zu`r21+F>o}1C&*@+VjbXeF4E3INS%*Y(d?P#DAKg~E1syD4NKvN?C@V4!XD?EUrvSp$@@Cl!tsAkUT +RZ?Owt +2)2E~R&*e^dc=oH!A$=8r+8g;31?6>l)kY0;*83y|mynmT2Qz>3!AJ6xItc>=_sstm>-UDotEM#mofg +n>NsJoPddKh_ImtRsS08}=Yd*cPP^N$jomz@Noueio-E^qq`)?=BzMriE;}I4LE!VZoVyaLm&`y9?Rb +$zxv;8*jNZIEez@cD5LtCb@#N}lQan&TptUVrx7fxRtNTUuUPx*9YH*@+K8TiNSJQ7>d$)zdk^Q8nqu +(^%OEPTg)k2*)j%6xbE^%ZC(Iy{r_kXM$~d%|9oqfQ!id`DVxnbB`R%bsJHUxcuHniMp2L8K@skZ#TX +MiCcQN0fdVqmeEg6Orfja8V1N@H@O)OAwrV7}w(+Z~zGDVG`=72}`Ow`>*5B)VzVmKEjbZRBY1uGh{r +24SG-R+12LE>Ot(>ZDr^l^7&B<_-Rr-y(=ig&0fpH=cB#(7h@iM(!$1f2rL`;gLiUqE&jg;&tsaLUMX +8tureo6QEwa2oYeV(283%EL3P(Q8QRPMu&t1doRHcm2ef2^TVzP^#CV7hpd$&x2vJ& +&ZtlxZO_q+)9T(Zt19%^0<$ext|Tq0O>A6TR!#<6t@y4nB}56cLR$FK)W?r&pG(MI)hA{y*isF)wNk; +u3LBe>q`J!zaSLHPWp(w7OHmupJ)k-sf^v^LSARLNgr>n%)JAYWu~NNqrM2O=B$-2+#Ydl8ibZp_G${ +5l;b8P#0Oa|mJK{AZ*xvwI{*zfW8XhB)pfvu(0045IseX=aiDH9;tIrGa(aC}f6H{hay}}Evj8a&-ss +agSo%*f5!W|a(ZWEG_vq*-Pga3@iTViqwD+L39$KmpxGeISR@~`?OM9e=haqIZ$8?AQQ;@`}QLK6Pqz +2a$449^M|9-N@{J=)?9X61um^ERGuG`uDsNiuho^gP_K`!_~Bx}$jZYsg0Vv=oD8+-@kWiY04b$Zd%Z +C&Y+j;(B5laJROi6}V{(WIfJGr!;xAd$VKf>Y8{?8$JcvwlFQGO8Ph`mDLw|lCy!a|MxUd9d-Z6GbqvFHE@c|=9Ut_*duEGz!Dud8-MWO +{1#r8BGLA<*L+~Qei$QYVH)uzqdjY5m;NUtq3NXjoa%C!Vv_GSLzN)#drct$aVd!oLO5}h2y<>XYsy7 +rb_zcUTB}9*lAm2Z=?b7Tykf?fCeETZs+*(*0y;ESul7o)nXoxQ2`&A2 +e*@o^4G=Dyf-L9H_TxLxvG-qCW7h^#VC%Wl}jV5P#AiY!IqmWrp24 +YCP*p{ry~0WFwrnc{s9;6vl|-BR0rGxhfpU3!Txk+oU>R%vwU6SDPfxy%-yB9DVYY;kzM9`89JZAQCnje?nM=zBYIenzqnJ8RDR@Y8 +1fAZD#05H)SQyes6at8XtlJI=faK*x2c3cZMy&j-|Hj;a5e)`TGRUXlX;xeU*xipd!dV1n +!G_s@9o_}ELodv<)1EXSXUpR&hwjX@$kH|i*irgd>e(@*`T`+!_Cn*TarnGD;>++E{L79$3ZvRaE#al +gyw2A@lMdtx`-C1jtzUj>kRQmsaTG*#9T%BF)JQbq`yay6J794=loT%WY9>`E0>ryuBkTpx +E$0A|)(=4Enwa?Zo>bt9v(A#GsBqqkuP3FR#0m{blgKqs!yzpT3^{+tpvq7yTJV)2pZE+4!G&3jOKgg +xkvZSE*cAM}WfFPp@8|pZ<9K_ViFezc!!Ud35dGZO0byFF3;#0{QfM$J}F`uPQP6sv7sq?auSF4ecEf +ohJ862_USN1UE^1Ur3w;A6O#$i*I|$vvfbB(p=yGtQT(@R5wX6Yp#zr`|-}Ly-nLBTc+Ds*$Y^z0hso +^KQL_$HLa+MdZ@vDRMNSw6r3Jmi8=B-GrGL1A5o$6q2WenTU}=1<$TF==$r@E5Qo;wz$N +`yuD4_u+@$JLVEw21I#9YFV;DhmTNc(d>6K;d651P3=w2Om&boKXxy*C6;)4bw-5 +Sqy!V7x>z&$DIbDweFTZbCJ$E4D;!NUp~31(2UOMww?zVciaUqP~8O1Z)xJc-hHS4>QYzui3uds%IV( +P93~o;pWbD!z%@wCKQS3xOt}CEG3C9qH)p=^xG2#m(5Mk!(B-(Ni_;MNc;QJj7jYEaUKlucr~pi0_%C +ZL@@`>|#=bsRx30I@{E}3pC0G+4DFa&=#rhhFdSBhU#|%;+$XUltlHl_YH_Stb;7xTuMvV8n&;Dwa1k +CqFK$*LROK!OtEp~%&^YooB>m|^?u +}yg88mA-@&`@et(2=(@gFqUG;PSiQ$#XrIH&E#n+c~r|i{z=IS+INMvF0%Wpsk2HZo2{|8V@0|XQR00 +0O81Cd)|y{!wUcaE-3&2CjbBdaA|NaUukZ1WpZv|Y%gtPbYWy+bYU-WYiD0_Wpi(Ja${w4E^v9R8 +f|aexcR$(1)*Y_bZ~ULuLd$Ky*5L!ORv~Rbc$f8Ed_BloW`<~~aNRg84^m+@5MwH0s{hg89 +R_Tt3Ethq^6~^$5Sjg~Y%e4{Oy{pw`Bb$v|D&wA>WxJNOSgf_$vhLWzCf0vS7Yu%WRCO)NPO4@}>vx^ +d{Gk@Xs#Dsoev+oMPdB_pP5M!4kKx_9qq|Pl{>*!&x4f3mqC$F?tmKVqWJ#}z240_ +gFi4aFlHkTpmx7r&N*BeHhT^%59q#Es~9#XJ61YfujRXJd9PZWVUZ99R-YE;gH@md%p`? +bb!hyT<~L6}2jP7jriPvX!QE04izPnjh)>k~L1qv_1{tfK*1ZDGru9EqG<0i*3(jK^AO*7+LUZ +c=HA +mpce`aCwh0xH=_HA-lYYZSWy6A1O|JO$ODqaVo}!I7&Z`{4vv+rh&qI^Vn73}z$kXXa--F*wMz%HplFH`Tp#lVf%*6-4db;@Y|Go=R3%DPVVnsJxl +;`IWX=kPPZ*O#?#Qx$E3sw;Sd8q7A~m93FFo*;i#)f$=8`=eJ7MmY%-V~WPR1_<+OD#UBKddy4|`y +T{Rv0TS#P76W0A+;}iOaWUQprRo8%7Tr!av<0{ykug98Lpcu>eh)ywK!!ztC5C>B5bknPhe$Jjz{(zC +hQtqV=rhF;3{N5k{EA)eHfY{p9|9@myBdN9?LNrvkzOk;!P=Qx(+Z6ykE!Dle0Ch8(r6FI{(9571{V +`EU}}g(rvPE1p6B59ZUCisO<_tc+pY&<7lR*Jum+OaNxy0#%=mBtjBmq!7P$nipFeo +L0UBx^>}dTz#N&?tpe=%WCAWtyZnj-Ek081eAnDqBsY05RqKZ(uR_WWqFDVpzia;M<-QNN@ubaqu(S* +`{bh?3NWX4CIa_mF*eRQDth6Nfq}XnRpsSF)e5)(l&_HE(y}&aOZ{>%*s&oFoFiojfNZEgmuuYFrpn| +-wAmuCgx5P+SC9#@T5$Q3sfYi-!KKZTSoENkIlIc)>Hx*nfDx+~#JKdhU9JIqcshq_N_MIHIz;Utb;X +_%Qj<>MM;yEn5Z<;BuqaZON+Z*e+xGkfX}Py02QP<0*I?*R6D%e#B$Q7{7F!eT1$9hl4KYnm%t-=lA& +o?p-TwJ*NM#TjW7J?J!d9gdYVlo9?$=X`)#3k%>Rz?UMM6A8R@g@|BqPuvLmv>1dIfqUT{y34olBTG)ivXe!O~f_309dFC%v)9GA)=nexmtHhkd_K}~xEQv5yLPEqvVoBvSABmoDi=zh#6wer_=9!gB|wucQ3pAHLw0H+iQ57slRRM9QOaI6~42|UWhjRh%t_F&3 +zKXq&Nq5Y*7vU4&x1og-Bq1mkxz@z~k@rtPxA!=3g<8b6)lvy=zjJIUGYp=F7d=nmZ_i{A}d}XxV^C) +wQUKuSVi0I+y2$IkrL3{7}SB2bSzkt!9-IfDO{FD=yuxlV_t{XYzJ0Dk_IZ@8X$K>NR{?hTw+3Lr2Ii +!gyIn4@WvdBdq~Z+{Hl$&HSbde>Q3>s9UjvmSm55YQ}k{W|y2b92i@QorEECi0?E*C}~Nn;h8&;pc`xkqAwn +j}C=$)Bq4ldMIu>T7q;K^PX%k4~{nMlhF0(R0DeuGOxo$avE@-1haU3yc=@bZivT;f~Dq?H23gMj#jp +P1Bo&H`0~BsdLfd*m^|lHo;JCn*&qmos&lwYFgB?n{K+4g#_s_9gv4ydHok2hoVz%+j@{>bd#6g*xv&?IQw +?bD^jYNYITL?Ky%nIcW8lin_>5ng=Y5=ryn&42SfUOWNg`eZxt3>K1+|pfI*3?DZ`Ms{EC8aq%kj?-t +mSW?o4SgIrQQ0f4g}1{`%+P&?N5!(-K?w_`ncBn`EAe|Hfd?mpxf7ulE;ZX>>X^#wp|T@ +Ic@C92|QIl^?inaB7&mSK*iw_(H$>gGrWS*x4xw2DY#kQ1;lXXDkeZo9O%+K7F9aplJ&B=lGnSoLGcA +%UT({u^6Qj(Tb)LO)35C-cA))!6i235+E(j;s6%h7{@cx9>l1|sKuT)ot;D)GNP`x{Af6tu|LwMX%7p +rZcJ<#dNcs4e46y-Zlf*_5VvO%{M8Pyc^(GnJ!G+Ddw}1)L->Us +r>=#nlv=oBYxmN1QngA4L8@s1>QjFAtl>3>LwdXnGoD|}8O*z+#67K3eSL*B4_-B`(Gez+;2SQRJb*-ozLlHD4m$c45~)oh`6kD~S;LNM=LQ?#R` +$=B0P#VVkhT;Qej!z+CuG;=?Gco_7qx1MD8f75(8I;~!-22`u=K9MGKEGByT(z_<3+X{DPTSZ1in>!( +KmI7(3?R!69HYOEK^mVL1$l)(D5#}nXB9C}X^6~lSR>0Ppm%4b +gRy2;LIg1DU0ojs(u9R#1T<$A%~XIub!M*eihV+jSIwU~x`IcRd2@6F2!_)fxt6e6TJixkcrt51S9%1 +=_KgN_es%BlwvWx$o!{q>Hv*~Opefs9l71&=r0es0x{|8V@0|XQR000O81Cd) +;gP$S*2UZ~=0PGLuS6GV}Ae(jW>_^UC1zu6bpdMfrKTsd*(_T=DUVIXUt13bqQ-N`8*Mu1Y!zO2`I)_ +(&R*V!60L%7E&XAjainCMj_N08mQ<1QY-O00;mBky}|}GgYX01ONc+3IG5r0001RX>c!JX>N37a&BR4 +FKuOXVPs)+VJ~TIaBp&SY-wUIUt@1=aA9;VaCwzhO>f*b5WVYH40N&9kc9-j8E{djUnz>XKBVozFtl8 +W+GS0V0!gi{1o`iIBqgoZ-XQM6fOq-vX6DVC8H%>k#*qmBq}UWKcdTZPC2@(gO&X(HaziK7c05SeYRK +uY&IzrU%<0x>rz?$bANx-7oGNBr5-)b5E6P1rwKhe^st2|OPSHCd?SyutP0OVC#OoW@hTBRjQH7;aVJ +S(HN-}Hd9jiZ#4rc!_+4EnG(Pnj-5I!|;s4RsNt}HXlWs_4ath+oBUGWPxjM(%(f}GBCGMrhhE(yyky +7&=3DIQ_{$Dc%y4JLYK5jL^NM4#!Dv{^OOiRB6?K_ab`xaVISCCz!Of;T7vGKS3K|8T%SA>$OMoo8F1 +_nwY8s(t7<#bd8XF+{pb7J#tc<*Ti7AZ9&!s?h_pF!s4_O3Wl@471BYqh7qMB$&cDR;I@=xg{t@qc!J ++fYoI>{INckPK;s6vaecR11~?&uZKiMyp(5xVqIF^q;Xx0il^i@djtK>5c(%2X#?EldRdfqk3N(aV0Q +5YZ7^6Hdrc6ZJKOr3*H*T1P;YIx|RWJc&ZnXQOMJcr~$m^i;Z1pX)ju{*~;H8r`(pSPJ9%aiNil@<~) +D`n}k=5TVonUV219y|z`&o&<3FO}Gc$6Lp_uuOUz?nTLzZM3{)Mgk{_Wt_kKQCkA43`2dLmV$10z_xT +o;fd$vK!Utq6uF3m;)SxhL)yBy?anBKjdWfDai|8D#m-}{hwsXpE?abeK@lzV(_HjNKqB^4oX7jJM)) +o9@P#cE$dJYUV}JYN$4;SfG`gA)SjWBXkvRUYTB{AZ@c(y_@fap;>F%FHH^|M=sncX^b)EC09t4CPl{ +G3&q=_ux&=5J4#HeCASB+$kkvV*fxk2l?QaqWodCHbnRn*{BId2u%@2> +bVk!4iHR#PmA{X`yrihoc`9#}g9qQb^(OvH{?)?W-L%m`~^sC|c#4cI`P{YGcMaChVv@(C<%_3_w=#Z +1e0mY#$Gmk$%4z36GA#vle3Pn?^jrhPH*zNntyQ^gp@m2(|DL&IYGTSCoeFapBJ{nt%%9)$%T%*}Dq% +V8S>NB1kXN)qKHY^6mhza64j+Fv%$o_;!2BfyrbD$eYXQ?dtB${c~QTfdelm=$iYM54N124MD5ft7JI +N`sMrMNN*?lm6}f<%geVPzp(5+q2~QSVS6Sd+eq#w$L-*Dp#F#A?Hj_#k|Lh(mPOemi=6r=Ul!hl0VW7@_642_%x~)$W_ +UKr&`l4w!+cu4?>x-(F1t#F+QaD+Ca&&BIVlQ80X>)XQE^v9p8QX5#$o1V{F`yqpqBPU= +0(1qqsCSbTiz129db>bffgX_~Yc{-PW*9{_{O>*I42R^9lpH_R50*GQbMAM^vZ<9}qU5qjN})Bs7iZE +Q+K)nR;DzBiH{88xxY@zEdwh`1Ru6x@(Xl%g`)G562m?9|oP$f +CdVu~sE70Y=yQ(Xh(NS8#(J4${h0-8}!}V|b_<|b^S6VQx?U%HBI~H74phM78BEDsUbk?)}b +M+P2%zxbpQN-+*O1BN33wyGJ!`VIAa3JfM^hY>(E45K_(+-Bk(|46ohwB=UbVjYV^))z*eX`WSSPSGx +(Mc(F=4e$;+bO!-@jJc3+{JrgQnhH_$xS25Ce5XC7jNMCE!@h$4G+h!?NJQRD(T+pRSBNk@2OK?O3`7 +FC23ZdAk18wgN~5-9CVxZ&PASOUs_`LoboDnE|4N}U~*fdFqV4?iLH=?4e_#QBW4p||$!pIU{Zs|B5@yY7VZ=mI<6 +Y^#!XKV>brK&iPV)PiV6Q1>!V&Gjhf)KJ&l=e&;xEeFy5cz}5D74kE*>RIN`&bTgv1KVZfHY}peG31y +D7JC`gv!(_msfAQES_AqN?g}kej^WLn*-2U54XsviaH~yR&4neK}YQ3uaF=svGN#5$p1CFv<&#~JnR7 +CJzLTKMlK9m+tqn5EBSlpAcMSFp$EnvwkubflFsDAOAMeD1A`7ngN*$#NfgY2Cs_H~0YkfnWR!DYlpOO79Zg6w-vj>mX)tqT7o%>nQRtpx+`OFats-__Y9TLmx_RnZ;(fGI}oo`! +;xV{6D=82Jpyt8DRO*L#0H4?5>U`I}(1|76dkD*1d@xCghy7(}O-O`yc6eNl^|U?kzHqRl>BYLgxrcp +4i734G|>FIA@I+*8yWDt6LL{4zRkdzvs +&PL(2nplWLM#A9;XrvP^p`>F>e5}p;x~=keO4S|iK_O&dBfgnVC5WXD9ny$v%x>XeBtP^3K1U?!<(T7 +T9fpoXwC?ZQUWWZc9Eiz9Q8Divr;Z{3b*eeJ$m(2#L2I@be;IjwN97l&xbXfhK@mM{xP*_-*8j_e90t +9J!j5AMEeH$bzrf-n4$vKX7r>}^B&1I(_9&jvxQ|W~Po(z1mzwN1ZQ??rH1m9vzHbG*E@0Zmb!Gp1st +K0E)xwaF%-cfpXupi~ZsS@Xui`+Cf{7vj4)~)r2iZf5!^h;!>5?;row7m~riafJsy@O)tWZP14`DPl# +OnF{hr!Zgiafg@lcx=na1&0l;KXS#T_UbYwwye6?jAj-0k1qj4-D-zOkzhWcMt5~R<chQv9gB+}YZiQXcXRdj>gFm~hE7PFl++x~^dF6M^%IPgMzxu-p4Q +-`N2QHASm?Uz@9FUZjO56AQr_Z2sw4-ji1Rhgvc-A{@$40S9Usv6n%KTb)+=XTZ2m7mT4&u6RR3 +j`U(3g6kBc;qb&BW_-T}#<Lr}c%HK=b^;bCInENU2 +(fv>F34Ypy*RL2OTp(l(^Y>g8Co@; +2~_ZnK(XMF1V2AlU*~?50OWmXsj4_X*q439D*mF+hLk`rNC`>N=?wz7dM5t^%vrvTh1FG@S*{h*(M9h +C(~R@vz0|wIaTbB$(!H*E?(dt=h^})re@c)j~5@ +@3$FX^rp4z5(?cT?yFG;@W$LUh&{8ebecmx;}O0VI^=@24V +YB$k^&sis`{&)ADrk33ma1L>&$+h|L~_D{``lzCxSA +qXJ*C$NwZ&)0r*+^3Yj?MF+1{=(qeGNv!yAs|dYx9b7PdRh)dBdT0fne2){Z1KaaIQ-m5wE#D+kuTur +m%sHS!FrTAu3E)X$PQQ%0Ygg*=^-4f5d=@si?Bmg4VO@MZV=frXdg&hoqL?5@; +^{Z0|XQR000O81Cd)!P7qiVjEN>eUR+F(2KAx~Y@Hyxzy>i4fg@2ftTm!aQnqJ{{`a1b)P=g( +@ghMDtXHEU&v(CCooa0yE1D{ET9-^S!XLgZcr_e+P3$?Hgil>)%{g56bB3BrCUwq; +pwX{&5QhuQ0Ez@P(=hot8TA*um22o_4IK)rx#a8n)}4hy&!Ef0v{lHcdCH)hd?-1FXKc +X{qjI>Xnvsbgmd6H|+ASY!8pUS~2{nf>oM)GaTV?1^cMnF`3A|3CHQjNY|K(y%D9AF^0CBJeey?itMS +r;-)ueuy9IuQzQ9Fxa^p8nB+wy=79PVZ2O{(9x#-)kHd8+D=USyER7ZYMpd~q0eQV%hmXwZpdZQd=&a +={f9}IkvXf91s~b~mIJ+*GJ1WZpJ|1xYBu^Ug!V29~`55MckzjVqtoC@iD$n>eCPpwpDwzYsFe$Pl3l +S?l0B3(AGddy<=Vlqg#^ZsB2Ka%eWRDc@WaYFAbHoY&=?TQk|U);Ef5bxSs?|~kMI=*k_N+R-nmK +O=M9=42D$7Vzs7ypH66B(2KkV4|hkrpxrUl2+yqBNbnOrMPH5iMUX{w7xo4nI2B{9&Cwp|nih+n~a19zPT;4yu3xEwQ{&0RNWa`M`!6^`P9s$kp1BgvZNcp$AUttZ|lj?d)01Gqw|k3J +WZOo0WWWiN8L&7JwlOJ)p5zuQ#&<5B&{LuN17k5Tyh#?W-#P7aDMSNCwc&nCNGu!wH?uoW0j(8e(bIP +{N)TmEHTz@5wOp#l-y~r4VaOHq7RppaUTE%66fwkvX&eKy^%YQq(XU +44_=@c@;=%HqeWXF;UJes`kJhj1Ld~|CW*=%BdatZ)7p!Khcyf$x7?7Cfv;Sv^ba8b8y_v3%KM@feC`{neRa?r95jOm&;~B-lPN)8gh6gx&z+K&dqnBI<*$&w8+aGy;cku8m(LI( +)SC?zay08dW5@9t3ih1+fo!s%@qgI}6Us=0n43jo#p`wN2HpjcP9|c!JX>N37a&BR4FKusRWo&aVUtei%X>? +y-E^v8MQc`kMC`e4sPE1c#D9K1HQAp0uD@n}ED^|$OPf5)wh6om=78Ioxr{my(ha7X +VO80|XQR000O81Cd)<%in7|M*#o;@d5wUD78x6hF;WE6 +4?gf(5~9nH!3;{D$hAJG0hp5 +x-J9w84dy-p_#Y7IXSotx5bGwGfVay7sUfwJhGrTUYa^6yxb{J<^>rEuvZPzK=b;Ovh+zM{*;Mu!kG9 +Ul>MGdQ@ml&DDGHw=~uj&f;>g~^mZOUC;Gh=*|NpN-PGcKUfK}uHxf%q64bn++nRhD}b&anIv%nD!vl +@6aWAK2mk|-TUp{B5e$w&_bYFFHY%XwlwODO$+cpsXu3y2a1!irE(S8{)1Kw(^*-)VEionf)xt_{MRLn(|G?H@b1^Ms0BSng +o?eqniKO_`+yqD*WcSpu?Ox~QoAwN8QLgF}%BED@Kp~&B|sqI)WJL*JL@vCV|g=A4Fnk^})qIpH7WRm +nmZpu)oeaq`>ySS+LDftCgFR4h$bDpb|yiiQgtBR%M_g3+yrd3Lo`<9u%n(%E6^HG##w5qa<%*iSu@Q +a^w!E*IhRB<|*xTF;aRbbn>5RLHGU({t|KNlk3@E!A~E_2y`uA^uPqIxAJ@iI=L==qC_^Iw+P+l!akt +MldJ`C_@qUN2sq17Tcf;Tga*MF8XI{PksaxwyzKa9OZv-fUZ5v5AQPdiVI^OaNpDmY`E685nLhOEfIQ*5TKT`gh +$hV5rW(*X!xN=Le75j=Z$O#rQet$J6d&&m_PxkNF(-y)&i-*=PcQ8lG(@6 +(G1{gc?rqX)xGFnyYG`ft;)d`nzK!b|a#`c8#M4o=F8jWB?ZD{?qieR!AJrt`aYac7 +$fp*>cu;dl^E31KQ^4)hgAE>wnA3_{!M}?8?lE^E1!*uF^fXu6|K>SdU2@mNqMlbXBW=3|}tv8@Qy4A +>;a>cfClIW=Q6}|)Qo(%=dWZ1p{7$s`Dg_C6~7AE-t7jtrQsn44Jfc(DYD&xg4g@>3)JW7J?ASX4ocN +l@l9Y;<5OslYEYSR?v)NAY@gJuZBB(G$OnZR)ffm?^^*wwQ25G(*ead>Dw5S=5vIS?C$5m-GBa}*>Et +p?%~CuuClr0fLD3(_`iS5d|K{ec2v9hP2+cF|xZ!YWR6b;wnj|%X_6R +tBDYc0yJeiNkqEpS81H!@uhGV0o8q&4bf))&ixLC6fm_csBz+@PhsTtb-LjRx2w&H3M&*PLlO@h5lH?iar$#nHPWc?-8&i=}n*E=K(s +-1}sgVT(-zAips5$Xv3@GPsAy(wZhsc$c90roX76^coxpuO!>onx1&#)LE;5J1aLrYGK<4Q)C +P_ZWNKkWlvYA3z$Tt(m^RqYvvjIe>IuHncs;}A*AwxI^K7(rxEJ9bLHrm7)^83(;g0xgW&|x%y^>xL- +bdGNyx~#z*?s0rrz2l;(x2(pu8No5?C0yu;gxfwZInYB)^zVTwo(IG0{d<7&{rdr?TDJ%}mF5OXV41w +VcscbocHuoV<6*BnE~=}Iu)u$YgUmM!yA;DI)yl#~wdse@w~K +v0E(N_t>;`$s*zc&oa87roH(`TY!)&Q79FnsBw294TyQ7)>Fp-Dp&pdt%kD~|a&@F|SfcB@ZXs|TCoc +SqhRB!#I@isih^YNR`L7%cZ+Q@lnc{w_M?n|u7JY5ke>Xw=KqkeY2LIn1~+eQ;1<=cnQupU_Qw%b}Lt7t}!OohIBqtr}X$iA+L7 +HRt20wr8a`7u~j%qf-gWG(u%?Ba-u_=$OZt%M4NotuotC3?i_zIgoL@1omN>jLM$n8T|)PO9KQH0000 +800WU*S(>Fs$Xx>f0JaGL044wc0B~t=FJEbHbY*gGVQepLZ)9a`b1!CZa&2LBUt@1>baHQOE^v9RRZD +N&HW0q+S4`N87S$@qRe*y4L5=p(9(u^ZFbGuv_cy#TcPB4cGMC05k;~nR41vg9^ekZlCPpkrFw0fGaw`b`N52PWr^qiNG5{^T4sFvG;(JUFfp#xTGgp5J+LObvp1Q>{YE)-yoX6JTe3yq}(T`SBjQ)>)P}n22VppV~llt5c@2<|Ctf +Y&8*Frg5aV9FYS$U6McyFhu9(Hhb1v72(n24c^AE-4q=67jwEDm-`Ps|7PMzgheV9$B{^cTjD^Oy2DF +V#y0&)dqp?52tML^<`c?a?1ixA<_R(NxI$(T_rLnqD<_=*mZ-Mr?vV6?kDOx(4RvT?#o9F86PQsL81H +?j-%OWP7$PosbT*1yN@FaM*sY&3@{#_pslG*yg*5gGHJ8I!cQUJ^=YTh8Czz(<; +kyH7dhrccD^KJ}&T+qMVt_R1ld{!psRfK0QFwv@dp}(KsQo{g?MOPDDDyZ +d9HeerD?nUXrktyDNSGP)h>@6aWAK2mk|-TUpWH4d6ZIrFeW7QOkm~+7( +>AL7Ger-wnYLoWHEth8WbuHfWD2v3QkChkxgrIfk|uF!(SyOs0}EO>_U?*vd8F9pZ)O^?QC~e{KO$iZ +rz5Xv0nX~I9u$5*LurZmxQj{3# +nu94i%cU6AIcABw_A1!XlWpCFq@&@!JP$+tSH(P(Z$SB2AQ#Lpch2cMAbhg$x(OTWGbrS6HrS71QY-O00;mBky}~gHk|xE1ONa63 +jhEs0001RX>c!JX>N37a&BR4FKusRWo&aVX>N0LVQg$+bZKvHUvgz|Z*p`laCwDRZExE)5dQ98ad5uG +fFvg?nzaV@26P1m3~P~XpMpT3rBlS2CRviQD-`+fyQ3^wQruR6VTn9G_x9W!D`)l)S}XMv$h|c#z;C) +u;GHZ&0)OMD26cgpMa6Pf+AKeyE{)5qD0bqBj%9n{cIbS6yu?a0D&(jS(iy!+9nQylp`2ixmqzFL2wL +iZP79Se{KP+6@IffmpZcTwyeF%q!wz{-DB*p-B?4jIBTH`5&){Monq +lEWFj}E^q~<%pI7tnRh-M_PZRWXSVIL&54=P&H*fD?;9}ERUQ9?uozCn^!;Ht*-{prg0mV`?#?mxo@mh?6eW6+@>qRU6>;+{qzme(UoR--;28mIa2Vi-n!m*N5U%`tO2Je?BDQ! +k}3E^n99EHA0#^7H;^^v~o@Y$ch8$p$|!=I$^s*~3+&48IZOzcHgHu#a;xev|XBZ{Do0Mt7R@bnTg8{ +PW@6hYb{sqZS=ho1ALh8%17oP5W+qc9$d=0dgzCgHR34su}25>ZCTI1b2gr`pS|2kE|zNlWLj|8QmVD +rmCTIA+cxP9(`>ZMRZjRBzD|L$pTRnrXe-P@=c1`Qd892JkqoaNZJog<7RjyL1UJiY62ErEv$z|^Q?_ +#aI@v6qsQLlhTxnmX@6aWAK2mk|-TUk6PIO)+C001gd000~S003}la4%nJZggdGZeeUMZEs{{Y;!McX>MySaCy}{YjfPjk> +B|%aNyYnTuVr#EyrfEi4>WRbg?CtD4*|+$AI8smJ1ULtS|t{HO>Ei{g@|!UDA##u47U%b}-Y^)6?(iL +9txbO&iR+YSz|uDR&BPC|c2Y4P||KSyY$$XKh}rYFXT_vUZ^x8lj)MrYwt#WR*2i?97{b8RS`;&B{zl +Ap_OPG;xo1y@F}<%V;NnzxV%re3ZU?b@cM@uiyM_LQOBKH9ve^%vyf>wvg)SyKIF(_{W=UDf0K-sucY +D?W!&6Dl7Sy^Wyso+9x~l4kNNER!Le^KnLiYbZt?}Bp0hj%rXRE&{s_&-#lzylmgae*Zjk)qoZ%rqyK +t;^ycLC+c%p>E;6~W!(P#^&Apd}ocWYnWkqvSNVUR7D4mv54o%H1UgWWpibA=_p6wrmlK`JS`|@-3bnxs8{dAz)_VK^V{8@+?KQ}T +F0d0N~)%1PSiFk*afX}Nd3v&5tSKJ23ES}Rf*+=$a9g?GJ@-@?1W5$_lrUX42wh)#x81H1pz +!q%AE(xPPV}X5T;rOON7$|^*lHqEc9FrbAZmW3P%DqKt~V^L@ldw-skfd&1_Lzi`Uh>K2L%l79bme(- +t5PR5`AP-~yokIC=YKPl~3<%HpT&0{Zh>VN;g)czkpme6jy@0?V*C04cJf!leo1k79;Bl6Hr&*}!4p{;}jZoyXoqzYyWF}uQnHwys`4YX!0!62{-A=-#6kkEUX0jIQ!;5;d0iv7~8EbAMQ +NAY>R8@&1JA@XNl2UXo7tO7VmFrr8 +ZDFDknxNPcf6-3FWaR3C%xMQ#ow+^VhxD>KYK;&dAvV4MYC5U0U4z7e)F-$;{ly&8hzE3eQB@Wo^5_d +(bG9+b1B-}I91vr%eLCh7S!v94kQC@+txwz;qaqh~2xoT=qYrsE%TMjBPYjWCO(9xAynpzNGCvhnNAq +Pe(Dz(>2&|OSn70ax|JyimPinwArBG0VKYz9K3M>OH-?#E}*-E2`8Ga>KeX>|IJkIz1h!vtYut=%YM7 +w$F!ONaM+M-%5)o}VvPDeXXnx}C1Nn;$)R@(E%#4$Zd61@HoLkVUpxe_(igF$Ydw&kz)Rj0i +!_XLmYQ?w7##tEVbK2k~aDSb1gYg@Zvgy)U2D=z7vs+pGB&Ik`Y;c)_N*^+FG%F?92x57{PTS|xP%FC +d%wh{-a{~H%wm=zU?n4@7%xkh+23dJoHz0OPE7_pbYt({u*RHyjWsC$+LxtS|h*Mx-nT$$YB5BeHnk~ +V>n(;tjQJA>=!I!Vj3!FaOnGoZ!YCsPRt*GPBJ4kP22JT-XNNPH=HLL?y+wEE6bLgx>Ns>$K< +~^pAM%b9zaD;$tEHfU#SQJFN(z$a2`<*bInQ#QjKYHPT2E}@h;On|ivIF>+`v#6 +YD`dvrL4oImM#x_3*U)0!w%nosW2YH>xxwp`mxyshy@Bz4Tfc@dI#vTqH3sT1^TvZ$TC!~AaoZUjb+$Ac7dsu^)>rWU1g +?VhT=egV;x|&CC4gYXyRJ77K_Gy9AW(e{)S|IPti$-F&h4HvY5pvGRvyrQsooRRt5nWbt#0B%oH8^%lmx4WzzZ*e +!gBPW&Cph5`;5F1Y?8OtNgxRvVT(sK7N3GO=^9O>1@g18WEjx?4D|6!13o}RXw!#>yyG8F4ka0&#r>P!OsKz-f|PT!J +?Ug+1gXy&S5b8d$I$*3@FWO(090xau7^}(es}_I`}3IQOzW;|MuqXyQ7ycPLASn;f?Sg;?)V7W#X`u+ +tB1b#K63zpxw|AX%_ams+jix8(pJB2Ru+%!k8dYPXWeu`xs9V?Wk=#LAJ+DrJYkWb9mn}I03;ul{Lwo +0?>%-LgKR6OQq1^KVP2U0>PtbP(o_hG2on)2A}Bgv_%a)+^K|Qkw~t*A(|U{=rN~fEZ&3}FK=S82Mly +RC^GrI1fWCoK@cXvX&9cxagSblf&@$zgyxYYVx(t@t@{d5DEbx!5n!4S#0 +|xhA3eEL=(ko#Y$X46*PH64UdWnwM@z)nko_6qEWvyiV2h?1RbcC=3NPU9sQhZJte!c1s?N_T2s=44UBf#kpUe~ +z$tuRuG;m4Qvw?CM$A!)tX=BcB%ak1eV80IIb)JAd?hmUvag#|M||#Sr>XZV-e|_*M_2Iz6|hw8DM{g +!Mw1V21L3xA0d9>cN6eSooSoshcY;K|!cF50T+VDqPGJ@tXS1v9QgF8O6Uk{8BAfBJ(^QsqE7KH(-o_ +#+LqifMPUGhOZ}!LBCeZ&vQtsDnMUztiuIXwG%v!mx)>(B0Gc_WU{tF#Kur9_YZyrn$q`2Bt<>B17;_ +}i&-KyOS9#q_522kW@erX}MEp}CoLr-~rcG^QXp&Xu_0X5NewE%hqaG;>SKj`ie<)O|)LOCPcux&VWN +JX}{&=F%l+i?)hsG|`lX7PZJL}PA%dq`S>2@U_C$yWBU?!fr~Q;ykNO87<#5OLiBF^&6B+|4lw1Q_7% +iE`02jNm52TzpsMc8T~0nwiaP(w}6ofhU|aQqCi(O8|cUPW9V6rhexhcqb|rWe#*(iCF>9WKuEv{MqN +vRJIaR@1Xf@kBhY*v(kCjoT$*cF@ealO3vr9}`dQfsOs?gse@a*YlgQfSFkv9sTm7` +x`7E}VZpq9DsL}fs{xyCyJ#gR>P%0zdnK55;4i3drib8!IYz!ZCgL=zqoT3Qe~N>##h)gz=*i=dEeS+ +sStwnR&`5gJ220N5U=s@8--_5#1`y2x>j6pmYuAK{TH)4Ud(2%l866JH&W|Fy()O5x^NI4iDMgHI6$n +>MBtC{3VQ5U7K~pKB|R{oL*7uS|Bcg&kek^(ltUn#*p<1fH8b3sO5r6ot=s6juV}1tQz_(?t|5sr-Ki +5nNC!tpkn}W--d52hKTMBghD4K#?(B_ac~=*(DExHFRh}(a~4h0?!G+lUWv(zd!omM(ZnyM!zWpI>#y +@g9#XvI=k&OKTzvvDPWHmo}@(?wm)dOE1L=-F(aFhe4ZPv=aN8ZZ7#lBI8 +89fXQY8G`8AmXX1IYCY~9LjjuGjnoT0ExylxVuM!T8Jv`NFr#P6MZ=0otSJ(kTdcoN7>`uGXs}KwLoW%} +6`x$ZF^^;G`TyXCxNm2Rk~g1avVA!D^Ez#K_9yZ`1X`LqRug!RU1~YvJh@N_l89P0UnI@@2JFJUGO(= +W;q&_xZ6mQ2AwjjWFz}qe{>Zv8$ueE&9X$=ZEas!$_(v0cFp50z90-!>2vX*Ave}+g0Yk*jjZULW66} +?$R+Y>eM;t%L@peRT0M$6nSw`fIeQ^Z8gG!zS(dM9wPqE`XfiT_W|H|dbWqJ+!=aC*t%*6g56{lRAdz +6QBIGJyivJoPeI7U#kG(+qKZ76CN!vL^?2fe3+I+ck^8KCxO{xcu7+}>*JyCW=3(S8uPFOeeh^P!6yy +WU+>sB_FXMO|hPG0H(db*3U3TJ->gcAZkmS%t7L`~pBJ#!d}`EYPak_0d +usIOWHUNbpLin?%~Uxb4=}=X*kp%1Xlz9($SRN9TiE4A-K6YYO4sOmNvZAT7ym9Y`P*1!#wbu|ed(~&i_{^mwmQ)xorHyGqG9LKUjTTJst5XMOVGP_G-e?Q~9aXG)O8QwU +}s6n=Cf50A7HitEG*fyOAm0ebC_1pnPrUL6#$xEWTE_?uZ;pW9nrwZ`zWCtHdZ3mrSWe4qiL%aJ=I3} +9T6HHfec^FXJ4WDpHD93Gqsw@hp&gQHAfT6St)7}<5j-CV0=T0MasPVav{W*t3U_u-<4e-`pptE>4O^ +q4I_n;YCls~iOh8W2J3fIdgR6`pL-r^shhbVBUsXAZ3KPglqFPd5C;tT6frgQ#a(4)4as-pAnxb7^(X|hwgaFlsV%I2m<=!u@BF0Q-?fSd{AR2e8_)@`Hzw +6ROP2Q-a2)kkP{Sda9!Hh=sclk<)}gRR%3&jj6fwOGsu{g?eC4*pZbVB=kl0#ZP3)bvvKFlrf-6PQb$ +Eo<6u-30fC_kga!@yDhi)Cc7gnzslD`;py#J5v2-PYLn_ksJ)35$P3Woy9+^P^cNHKTdnZPPTS(CZQd +G0D%LO`K;LtUu)O`if!cE=uw7(nFALY{Pe|Aa*jPjy)C` +4~aHm&t4GmoxW|K8oboiHpSnG0LDQAXEq4^mh!G(h70!6$=6UmO+&MF0e7b+OMg63zWXop6$6@p +CPmI)Y0TNYJ0ps^m?3Q%f>5ZjGe7F>CogfS~J-qDwpwg4?D?t}?Pbt>LkH?}>RRv!%howM{9|f3Nx>d +RH0$LOPBRYMt_diefzB>C^KdApE>E79=x-I_qetjt?796AGoje#id&vt+aeaShcxd6=-LXzVUrW>QN8 +|){!7c^>-ELx8*H?IAe1+LrMY2E1V97iT?z=PK%BTa(Vm&=6d011mG*blej? +(T0S{>x#M;Sx)UnCve2T)J-756PO +_w=Z-fhGz`&FO-B$*!|NY(QE7RpIL(mc<|V91oyGrp}AYe)lXdI;@m_Uxu+BX(iwQHNjMUwjD(brzOQ +G-s?H7+hh3w252{23G_JJ@hTO>Go;;3xp5d_v>BIyE+U`ug@sUccrclxu@^?0@ +3|O#x@bsHa<4qCYWWcRgb(m_$GT4$CJRx2aHdZ`Y!*kneU-#opw`)lX+V>ZvxA-{nVS~$dsZ2<^n*udzdpfMf;OwCK$xR&gc6;cmQj4!?o@tcJZ<(R$tSnP*kz26f^w47#=qLJ}E00@PJM|@L6gW2ey!@}bM@tH +PL5BlWCWM?)wEwCbwO|mU4Yz7hZ^aL4Fs$q6>iv{%EWM)}0FnKkOl&Ip^)VM$@#87ihpqr6C92t)Z$r +CZ$$=D#AL-D+1{FSH$V3&76MgBM;kR{72Ou*}|MRV%Fq`gwd@(%;gKHUt@bED-gfV9B&%9COj<}qzn6S98&*s;gmm7}E*c^DUL9C1>b9Q*UxUC9H9*(0)~-6|+TE +%&2OU(&>RLumm0JTN~Vunf=NHwE#`$b3s?b^_NyqljnF%4B_)J3|3#X8ndjOD3-^31g{2QB9#_WPzdZ^9B~nK}Lx_w*drSuITRKN$pm9ukgkZ(jx$VWWFi5;1o +RMCHvY05!Z%Us|@CuwVH=lz*y>({~!sDF=(Y%6qXVg7nB0Pj;reN0?jn!OS13= +uu%L>`iAPFE2cHYRd}7$CS`Tl8qp^+C@77!aO)E%^8pl+a2O7fQDJ#A9YEH2$G0*St1D6Cfj;gL9ZFI +0DoR5|beFA?WKeqlAArT?#bu?6Y?t=V96fM`<C}n%$*q&X&xvu31ig26)_$%>8%zH?0RCNBihb~(L(Y?<9d#|rp@SrT%nC~#`dJ}$nQp4OsZ?IlC@ +=9jdx?AdXDWm9!o3Xm?wgmvmruX^YGMnC7Rbx6m*}M(LYR|5=uQ{n@P)d1H`kN(-9}ST#8_C9Y_JRsE +H>p%(#zWf`ZxU`BQ=xm7i$cVp+iDcy|I&dry*ghu_!}mngx%m=yqd=B* +H`~apPDt<-dGJLN2adY@17WaWQM?c!(|AP~GzL|#jK<G-l86=fALYhLqJ9YY5N$x`DHG$1d`saUrK+aMff$yc~acF)GY=>d#!XNYGJ+#mf*dS203?@sBak1L^;LDq)o%{U08YW +7*zFykLMipM(enp{04wI8FP_gfF*o&N(+O9KQH0000800WU*S>NQA_euc(06zi%03HAU0B~t=FJEbHb +Y*gGVQepLZ)9a`b1!paXk~3>E^v8eQASGIH9W^Am87?4fs3pb#aYwxKw1-#&?$8HZ2Ri= +^*jAv9JcEs`(m`h+M8>IhGB1iMTFJYky4dECH^p5sYNoZKL+-Q*R~VGIO}1_?4do_F=1tA9feICENcN +MWZ@S1jLB^~epO>%8@@4t4f(3kLT_Om6oy{QYwoK#b2rFXgN3rZX9mbv}`!dGd{}Em%$scML@4TfOGe +EE!;?51EFWGt+0dO%?0v)Oo*gJ0>AQNmQHH^|118Wq5$}?Gw?34dG@<4;EzDBG6p9SGS1^@uF5dZ)r +0001RX>c!JX>N37a&BR4FKusRWo&aVb7f(2V`yJjHW2>4ze05==cOB^O$mjAElEQ +QfukI`lzvDLM{8@>%Gs79$$Pgc&2R5B()!)k7HaacmPVs_dFGk1Dr;>VQ%)MEbzxU3EEM{1P}QM*)!j +y|t$L`1%iD#<6ouOHS{N%=d!tL12`AD*SSu|%3w29D!kua;Z#S=$b*r#ZtC}ZAS!LQlV|pjZ2;MkVbg +EKO=}M)dP@iQ|iBb-astS%&qTr>@WMR3gGWpP+ygpsOS(5eYd8$je)yn3=Ca$oLi8dAVYE +qA2qJ|6HY_woM@%qV95uTTPET6cP4}{RbHB +ZKeZM`nA*`?2(;rzh2zPYZ$+t15=e0MBiD71#-hGs*V`2};bm$<&Q(`{!#(v<7I-jtg8dYQiuQ+?NXQ +E=l9GX&Aj#(#+v+Q2EoPF7#epx9_Y$pdggoi)@ErkRmfedw&ly$*!T}qZI10%ILadxAbGpC`Y13l0!s +*I^U{gMv|pWU#=O7Bbu{fr%@vA`Q29DSDqa`=NX17aPYz4=v9S(j4%F-r +gRJQ7L%6Gx%PF8f4)nuELa;BK_Xg|`MVBmMgRp(u!$%uN5&+5&O5MK4(B6yi5P7;Tj=n_ev5-fTy!Yp +E#h4gkT3yfNp;%i^0z5=FZZ#|@r>9kZmKw=SUFM>$L8s@d2QdYn?tuYaT@cwJ6Ys8Wn5@LEklBV(Te0 +6?z5SJ}L$K>Yq!I@%3=xaI8zThZQeYijk&-_AI9lnBO5=$)!X6DgCP<-#n5Rzdp;& +|~t9uIps$8DNR)WdemqTIRKMvsKub2Yygrh@zNq6|IJoN7HdCxmR|rv??sqQ?~>n$K=-t~RLGdx`S$6 +=!Y1(A^poH6nM7IzZfU9fkTIbcv%-1!b2n3(W&W&kpQ%*Tcq0*O-c^ckF(jo$WMTn{g3!iQNuzJQ8Wi +c-#Kyx6c5kZh+pI?5Vn(leno3ZER(+_tcFd@6!lNfX`9MhaQcyy&Yo#;DeO$!9LO8bnPn~qQQb&3HBZWWAL8Yg1>9n^FCJYm;_X%Cd&-d@csC1{-1iLDFe;`!x^H$X4p?I0^KdI4Hi)e$ +7;JH)w^C{UGjNDE0~RI)?D=vBc?RDi%=h&1xt&(4@8C3F{AiQ^k)(WR)NV8U?=%CIBY4(%j0O(xOQq- +48VKYjk~^B=z3grDEP`1S>FFUYjCpuYuGqPQ0)8~CAf54KQI8|s?y+IKFS>jsV52xaAh9{G^UI@CO&0 +KI@PD}$~jMxr979Pwcw+qDqU|3^+2?{XQc&|@k18w`xO{zvJ4&h35~f!WMyCT~G3?J8OgZ4R-loxf-n~#X$~!t-<4 +d+pL+|vc`FK!(3Ag>XbBOOOGgLQYZvND0eDlmcdE;TMXHXr!Jz>9i;(1VIQ?l@lt9A->e+p!aT0bGHm +}(1LE-QYDU5j{ySwUd~Gl{S2|ekNrkkdymi?tiv +4_lF$Qzuz!OjP}p9h0WP8^?nYdc|G@~aJ%{&P)h>@6aWAK2mk|-TUjYS3-$*C007?y001Wd003}la4% +nJZggdGZeeUMZEs{{Y;!MjWo%_*bZKvHUvP3|W^*oZd39CEZrd;rz3VFm${{I`s2h5yffOjR92=ue(L +)djv^0uYQzT1LcKr7pl9DAVwhxv?&hlp7n{i`Q3vREud;#8SWgI+c$CYFv%Nl>Fxh_gB9U3|-T2-U4M +Wam1Tv;jUj1q(AeK@^|hgp`L!Q;d2!vY@H+=4``EiCtLtt5OdK7Kg2-p{Bl)?kHl7Hp?O9EuJ#bF31~ +TC^0$DOe#;x-A+<_Jl_P8;y!AJm41!tUUas!3GV=3hg2T`s8^Yo_Dfh+IE6DwBXhhl*yV?AOt%&gC4y +j7`2l^v6{LRf{+VAu#O4g8`p4w1Yt-Mew1aXsVw0dp2A7ECJ(hM_e^fE&M)WZ^j%VJLqHf6J~c=?KD~ +)x%N3W*?57v}MJj`(!G9e$XiFV>-&;IKm}hXSY +fmNAj@5#$nqMEh20vdy$1R~LruWQHKf40h{|BXDhkwjs$(d(W{y%<+&YJY6XFrSvac8^ ++m>tw`(er0fT0BJZAJxF}ZV6w$etH+AqS3V6`I+x`z%Z_HGW#hk=4j@f{+=$Uz6ziSzWf4y+nAwuNFY +U^!)_peR&}N#Xsp_>7XtDgA~WMj5S*U{nw?>3Ov7@6aWAK2mk|- +TUp)@CAlaC006HL001Qb003}la4%nJZggdGZeeUMZEs{{Y;!MkVRC0>bYF0JbZBpGE^v9hS50r@HW0o +0S4^ElZ9q$)+4f?<1#(D%0!26I=4J$1TB2+=5-E^WTy?Sky)&dDiISYnsXEvaHD4UQH#3q|t&IcQ+Er +n61+J~7I)Mz!e@N>R_*6To6)zL`Eb#HMsY|g6;-3stpuh;(nUS+(tP05|G;LZYSqibQD#7A8KhoA)BcWngzf>r_~N_(T23vZ~<2BkxO@U^mzmzd35 +UsS0%?oPOj^{)L*n%Yu3o2IabgJ1El)04z(r*#|cWt|KX{3z}C8Iw?oN+`$a5XWz7+!#hyMdE|y<<*( +L^aXR9`=h(EoLb?!S5IMcxhQahQc0Jln_kC?vKTD%(d~Nt9SDvG>&(*=X5~*z^+-I9aHQnndcZSEfHA +h9N*Q~flQ@?n9TJbExA5Ut|F|1c(xHm3UCj-z#(TVj68#da&=%qb5oWvr2EP}9KoE`K( +?L`UsS%8x~a^wp><`(UX$tA$_Dx$RCHL%>zHWR_^YN0lw_L{BP-&(3o#p?|oVK +Vh_*xf#DN7_C?gh5oMzxYKA3lxbLV&S1;?1$(AB0L1LvH+V_a3DRyb0`aVpm9yJM&}0hSxG;u{Jc*K$Ak&5I9wNDw6I1DOQwLSYSU +g93_i}Us(QXj)Z?Oe)OeK2Gfw|cpgpr)jm@^wJIBx5sr8}&>Z@G;uj9~jL+SH${jV36%HsjG +}g3N6)5sl}b>0V~yVf-3MGZUE3V@os|DGjBeL+curQdg|M;)cKNzxplzV7{$={%|en@Qqme=*#9nhXIN`=9dBaR|u8>IgBC?_Yd&%?JwZRd}88RWY1KlMM>Q;m${#``H9nr%!adkB*KysjW +!_Lv$*^E(ypYDa?K0qdL=O~QF5@@wK;H`8soTA$7HTU!E6^8gT%jphi +SbO##1^n7S+KRpBu*!oZ{GOP<|MOtfLQ1v?_|V#`xISQXiwL?FU1OrpJ#8hB)WXI_mj?i&Bwm`Pi6u= +b@wro=aR(7eb3DKdm`a}fsV)`*%TUL_&nzLQQ%9hFuv&^WZ%sdYG=!ET9hQzI=?$Mtt;b!<4VTJ#Ogm#O9KQH0000800WU*S*w +ihJ>&%d0J{+Y0384T0B~t=FJEbHbY*gGVQepLZ)9a`b1!#jWo2wGaCya8TW{Mo6n^)w;IsjgH%Dl@73 +hp5L5HP4fuRf9qJ2nGfsrVitt4tB<=E}|-}fC-S6j~3VZa0gka;dV=Q~#=2!fZQ(!z++8phe(T8NxwG +8c@ODXX;F$W(xmB*GYG6|-x>He5?p8&+`*DV5RTtmK8j3%6{|H-Z&{m$F<%vmgj&Gg(whTc*V<)2d*0 +SAoWw(_dv`7wowen&0MP!G4p*&OBo!t0>-xGF3XNc=Ca-NT=m1(+a=ltNU1MEAx&woH0Dl%MH(E`j%X +M22Y*g+_1}5Xvpva#Kmm>kFNkEM#K)rIBS#-eUT;HEO{P@Z6YcwRoRJ7*)=8U?u$|iTf#|0tDrp+>1; +Mja*lvGWlQHa;_!43Ul$fS?`@5>V5f*tl&GS@Zx0te8r<)~^UI&frj5{N?fco)yK8fD^Zoh!gpP>hPr +f^!&pYujbky5g=IPmWdiBoJ&)sRY>!n&f{8sLrR5`c(QK$Jjx?AUeUPmcX=0uj6ntuaR7ro&kdUNsem +)~Dq__Mk9ITaa;fvB``92${l3)Ti}$&A%=c5=pEs8TFDO@vqbzSLYARK--pmIP?&%A{4vBx3AYS*CPb +W|OLYG{_T#f-H+h@repx$lytP!z}pJs{2fqk{ZsuwSBq}ISTswoN1kdryb9 +jp&|BGMJui9Dh!Aa%p)xj*F=Ot94uIHGSH7Q(}r?;N*c6a|AUgE5Vy?hdc`!H~NL +c0cr1>ZsOAGHJ~b(Nx@!e=+*n*2jr-J^*(F(lvPc1%3Wp@7f7$p00(43hgac=R}W7)V`_2w@X=2{ +JUL`&T3Y)I3a5RYD6?^y9*T_Vu5rhhx|7xDsQazKb#24JdO+AuiiEEoXOf*{-@MpNR*g`kW +DJISxvQ{+BHl03xhyOkyPli4pTlqXbrhs`f`o5(5qGztM$l5o3Vy9N6=cMX3_S+oxe5q2HHIZQ_%dtP +#;Q~bG~Tq|MYj1t|Vxx}3vZjiajMGMpw#@Nkhe7zK?{Iai~Zw+(ib6Wfi76=p#O2<-5fG`TdM8nafy} +aiP!4X2-J4nE_W_R`sX053!+E5UYRBYoymd(&5wxu^0pxrp*vF98!8!bt|KBvX6nkb%T|LlBf?;l07Q +^=FG#0EnH*-5P=_PO3|Zzq5t%c4FXlA~9_8kpv};x<+>Ys#p}E6sXU*`+X1#g +C^IBZE{?DG%elZQUx5Ov=-*^~E8OC~7dcAv`| +6+vcfYfJNgZIywo}ou4YdwEL=IH+UAG_`v@ciPx*+K*Qj-T-oOB)xvhFptSxJ}ST3F>q*1(v)dALw3j +PQgT?}5v6Dh9q$GVO~Usj{s^X<#*cD+SlgBshgu&T{N5qH}q#;QwveMH3pvS-@MEn(0CzRC|F&L@jS| +93`s9lol7@$fj`of2y}BR%-2I`LX*~_ETqNVKk_~_Wua|M7dQepDHlGKz)1=MBqx +_zNir>@V#;Xo3D}oJW(cKq|JVeOe77yao;QS3g7f*e*sWS0|XQR000O81Cd)<4j+L^G5`PoG5`PoApi +gXaA|NaUukZ1WpZv|Y%gwQba!uZYcF44X>MtBUtcb8c~eqSa?Z~yNzBYERwyVfO3kTM$V)9L&o9c>1# +%KgQd1O4OEPmZOEOc7^|+Ljl(+y;O9KQH0000800WU*Srw?*oc$F507+2*0384T0B~t=FJEbHbY*gGV +QepMWpsCMa%(SPb#!PhaCyZ%{d3#KvA^rDK;d~4GLMGsI;m^TV<(RM5lvj%&vx4BXf!Yg97#kVj>Q3z +`8@vL-|pV`;ULLQ+Hxii3Eb`N?f35ODNWN?tiR&jMe=0mx2)~!vgm8xCO@%e&pL5*bi&)ds9TZLZO^) +OQL<$A*P-d_r+f#`e=I~@;@o*sv{h0F!OObnS(R*>fh8rcShD8b(Z1uCbyc^Ur0iIQ3l$B*Okh+(NVqI^R7=CzS#f_{gVs*O>Bq0Zp^P?1?!be*!Kqki>zxiwLk0~KttCw^( +xyJonS}nj_;CURVM1?lOInO@LTjfMPYiHg|c*45r8M|5 +-rp=BL_!Qz|p})ZB{m|Q=dyrKSwMste*p6Q^!YRiEau5mmM(mrqmoEVChL_I!c?_A$Qe>B)JHQqc?2b +1s(NEhoKRRk?E6LJsYnJCNur<%;M@K(D`^VeUS1ytWh8>#i83m}G|OrA=|$tya +6>phZ#wX*ep=k^mBcvUZwS^gmtTAF*8HkhamK2*JmZ5yd`k`xSYe&B?q2f#UgnM%U2DM*CI_sFOwspB +hYy^0UvS^xv(mZfS9~2!wOc3{dH#i&4VWXh+Ic+tv1*Onx`jIEMnFZ>-|JU*CPV#Qpy9j+FXeH}vM?? +~G0*&htMGMPy&{s9^W9XB@;Fcxtw>4OEk?+^4L)fc>|;52PXxa +2%LvFbnxp>&8)Jywy3ilAb%gTAV6+k=v5QjE|5-zq^4bM(3x9Vd*d;!N0-ec-s<_+p>V>p=CO0>f4zm +{lv9K#`q*NPegPO5`LDO3+O8 +oDVVwe!9JKQd+ksgKi4vF$2h6tb_u}~8y$zVoVU+q>$`tW9j*wJJCm7 +b-O$cFfA-*(gkmhN6JuWpDF0us(@&ZJpFdd+eNF*yV& +eP;(ZNr-W#z>Zom)(#{QTwzQx%%+ijSiHKeog-^CRuc)Mj#>{mt|j%j`(NAsM3LKk(iwEcppJeUUb4%Y4+7%)HTZiBIv|c%G1ewkEztc-Lk=<$mME-zn5BWSdRD5ZIfaAdER|Ul +V3mUL=c!{i`|jXN9EvnRjHijdx4MxgAT!4*gG=WzxyHq;+s$YQjd;LN}O0#>%|Tu7jd6a`= +XgOU0hCyO)dMzyF;87lCOM#&QS}u@-FBWFJ{M^b|eHC!K4|0T_B3|4+REGHKG>JD3 +q<9^KPcfgy0)~{N=@b9v3ugQDVXd77$$%m5?)vhi9omJ@p&~4n&QB|AUDyAbmzU&P;Jxxp8=uiV{3PF +Vguun%(@5m2U#)BTAsrDBJI3(XU7r)n`B_L@BC76=2y@yBT7on*D=cOQQL==<-Flc&7>rl&;A&OoxEa?` +?!*vR(evgm5kqFO|tf>}e|16#s&`~HAj^lDT3ql_Hk=0{ReW&wLViMT1ALxkerci>%o1A@Q16Ps!VJ0Qidc&-u_+5hq~*g +0mP=PRfhga`r2)TUty6M83{WEeOz3;uzShXvydX_h>Dq_7%p2Qyc+cqpmYjEuo>ei&ki96Ew&Le8661 +-4_Na2)RQbc +;0^`khe~3i~#@HXxGD_|QW}`=7KG1JKShQ(*$IgJJ@C}X5d4QCPonilYB6&vHi7BT5=ue-WTFBqG%*H +8bL*+goECEBsuq5qOaM8Egyu*QG%zFVPQ>o0aC0Dr +OE2@cST9V^x+sStE|{%mJf9>ZGtI=1eRkAdI;>9i`zfXWoYoROfIO`|!ctfMA(VYj-vKc`%#Kvjx{DT3rF>$Ns7cUe5@4xhwwQjp1lfHClRvQ$yAz)MLGtN5o0!DieX3DjLcgg +Gw-M$0nL~L$Q<5hl$(+8pzAa-F)z!ZqZS2s1v*3Tw?*%OA^=h{`rX<^nT4Wy*FU^E|3WH?G +GcnlX9nCt@|Ai{4+JmtBx6kSm8x?{BKP*Nf~uD?#n1Zat#X2k)Go=fh(!@f*}qIYwJT7CC!%kNT3O?n +Mx0rot!4HKT?CIXV0dR>=JL@sPr3Ir<)gkAT^uHI~WdIh_5U`X468d;QH;OiFptg+XTmC&v_RwLOb^Ux>9tSrf=oe(5Ccwv`@x{!l@$J)Q~pf^4{@I<`!}8KwOF2-I686z +=y_PQI1d4uoYPq7vXkpt|gA5E0+f&rS~iK69wj5rpzz7JRn))LAlk^8AT_MjFlI7!q4Ujs1_ZEEfT>& +tiC~C(Kd$w9GK{7f-Z;f8+B(E4q%mXZ*G*`s +|534t*DO)_LZUK_&9>KJo$^;r*6d|22kK)Z+;wTG4quH1N!I+>L=5Jur@Kw=_YC+zZNG}T=3VCoMCS0 +23oUG|A8fyAy2&A_r1Paa&ZYa?^+Qz$jQ@3-o8wBMPF|9`JA;}@G7&4ae~-ZXnd*z$agKf4> +rI~>3!S~V^U-lq);bmE#Kl$S7uBxP1yER9(G_bv$^E?Y4bWRJ98m(<#8#EmM*v(J*9 +;qC*SG?$DEI(3I7wh+@yWr>;et%kir@*uZ-dt +08<1=cz4_B#(70M)WXDCBHe}}pwRv*{*T&dZ;$}B);Pc!H^=$G45}0e!!-fTIFPYX2i*jbWqH5$U*lh5zCuWNnBCJWOqe57#02b3U8Bn74?#LSk-h_j^u^t_j1*a?vf_j(3gQB?Cl +CvZ^dQ{eX?p2TJ#2`zTxIUMc-`mD_v~H-6%d5Nmb(+1Rl&r)9QH2=|y7s^`6!@XO10t59$iU+^~M^+s +)o?46dxEh4J&`!l!F*L3BCFk)og!EuK2_E~s~yP)FA+EWD>&mA2Ojt5ubQS#oN@bG+QH7TC7t0-?rTR +Y`ZE=(-E%V^gce2TQUFQfoG*>uHPn~P3PfuGt@QVM(;X(x5sRL +4ABAuuQcn-pffr9JTQW%vNX?uV0dmzS|CrUs8;1A5FJz1<*`sN0z%gi8esU&;qTza +i)X_1p+#V><$Gvp3KhZ+&w(1hrL35*})0jEU=Pf&^rh6kH1@`VTBB$IGuc?2pCp+vIbs%cAEX&(*C9# +1RNuu^1LW4_8!VNQb9f$T(4(m7A%n|*h5T*fivm~7$351vGs3!n~<-CIqJ#2xIGH)!@nVRjgDj21A)F +-V{zW+7a|hd*B=>-2<_3t=`qsJ)W?p-AA9Yq&qBvEoY1U%EFmuyAc|Xh3dytgre~bfLbxM}#jzCp4AV +PAu*@qFC$$aI(-3y<@#jV)ZGBK9*N!`gGo+XRW0vYc)I$wSkn?kxKd#Kdblo +)kyeOrcN9y8v62^bTc~*!6wj$|rN7CaJa4TQ(oHmD{wh2B6ZdK_v7S>)D(JrVC=ft&+=`z>9XY2GA3; ++<-PjaEp$4NRjZSVFRnKgp>9q#(HKp*Z-6>=BqUwL2GnN2G==k7iPl~8?E{(~tYPN%=Y0AGSignjh)dQgLm!38^JZs>2o5Y4YG=o6rEzZHJmGa`qL +lVe6_n$G1oYu%%A~QbZ`7!olpQQ)vaA?!>IdyO!QfuU`k{dHG_Q&QgIV_T +IzrDCBx{Wx-KRu!BzI+$-hR_w@5`#yGV1Q|!-C3aBl`ROQOW3)kx?1oQ(}5)A3Cv^1hm8!=K@;Dd{J9sxTQ4SrlAKzZFzcBfV=p<~|tGDZqQzTnD#} +DHn3a`kak>^i<5e#3b=O{cKi$W5VLs-tdxM5LzH{Wbb-l@dnkUE#k&dY-Kx!c01BGWDCi4~wHN9>LT9tT +AruNCcyC)b2l77eY@ejJ)0hda<&9E8Qr!Z*!9PS=z^^0G$#vRFT<@Btx7+v$s^0!Go@(ol#(3%f$r|_ +L2??aLV%VuatJL=DxUpe6T{jgX7|_aoLhEk%(4lO3*4YWIJ2ogNf>Obj`IQ*51$c8>Mdh}U7{o+15`q +fU{Wn7Pvb2mlJKxAt}?aP9Je>~!HyoF05Yo{Wy@_QyQu&uMQkts!C>9B~^t0r*&H5gIq~lp +335cEQlsMJSTJi&WF-{Y^GL*kQ}~l{z2TT%sa1~Zfy=zqMPUxwo?ZgVrzLFvJ+h{LUTk(DMBW&kpsrt +C}=*KmH{ci5Fd2k2R<9;OM0{oyd1{fI`SIb^VNf?y&P}Rq0G{SKpBJ8ZLFXkbUlq?sAVLEy0O6!!##D +q>LjQNYaH}xNj#`gd>IEfPJ>6t<=>fdA`GXw(K3%{(X!GPMEQ7ESr$lJ`ePd%!_0k)8mh|_`Yw;t2t< +dc%W0kYDvvIqO0N)z!T*31-1ns*dZ9|+#KgW{%t*q&#bZ5lo1Wt@32GS|tfBYU4oLq&B*PQY(k|u9XG +Eow(8oC2r9Kt4cU@vcu74{2g}Pv6t$0+;=K#OI;mb3X89J^HTuqIfM(@K80ZLj{&W-d8aFEr_=Ay_F7q71}#Y=LwxeV$=2pIf! +d>W*o}uo^-+{0{mym$j<+)~*tfLyG)gCJIi5#l2ZOsxnj}dotU=lxAKZCnsfjUdr|8!3{0AtsZnp{0$ +DkXGf?K5IJ2Tm5u$oa;8C-~#j*^QXAEcdK+M)01pv5ZK@6Z@+Z0cQ2$-RE972(c*Z$boAZI?A1kcv@# +NrIFmL4j*9Rwq5FxD6i%>%iX0-tTcS2~|OFG@prlLT*4%Uh2v0AS{EU5=DzuK05Z_&KyG|{5eW&EB_1 +cOY9xIdH*xBnJs!ju9Bo|=^NgQ8mCH0&sN}id*baU;4DKy+f`(EXk^(?;=mFbI1PhEz&+Du?kt59hEf +ESW-Lj|BXr{E;gohzU{p;KInV|UMmi>%C*J0&L4%Ahz))dv=T?&YEaD&ZC?T~1slg#I1hTpt!ZRo;4# +T5aLH$h?OLoHf;QR`=c?MQ0a)3lDnvgFmIUla +U@h-46sOn3$_hO*UO169N`FD>@n(>d%`>iLDxIN=@puK%?2+;&+ZMEHkDPro_U4K3G*JcA5!J7Jc=uZ +tOGpp5jf<>815qKdaiB}HgsQ+}Rr;V>Eh?f&a=tyjy`&{F;c{XPw>>9Tr=1*YS5 +fcG#omwX5Jaz3%*bY_p%PEdAfeGa}}}=X9iMYWaj(iRme2>Ob00xQjY{WEc~Kx0|}ZvI~tDC?RKffw$ +A1T*@AV(40}5klT3R*3TMAWUVSQ|nPMvXHHGM?YKX +nAmGs(MBTwrzR8XeQapGMe*QupHgjhdq>>E=wC?0PX*4ULHx(9*a_1Hkq6yPGvUgX{3 +~X0nZ)p>59E8a=$eB}Yxv*ILpRQV1U^)bG3To*@&_GT&g)pQAkVMev$yK^sEQiQG-KTC+b@NL +O@6-1OefH=%*j0Qf@#L!3jF#i$+5MM?SaMQWWAnAFVy9FpV +kjFo1ebuPtSW>-J?1Ug4)Xzt2N)u_343y(>mwDnl93|^RqK%j&XeIGCv8o;FETy&p#*L`5kH!k)F9a( +;!dsnBJrJwlwN|mRy|&5*+gbwD`7{);T*23>WMz746AfnX5PBIvg-+kWtn3RQ+}vUY)P0<+JGpJic*J +IZatTBibj|XRrvILTY^|i@52<7^keA^xHpl`8f%tEE??eJ|^Wqz?l2)bfD~b?JuXw_;1etgXP~3mT~O +!XqlYEv2xNf=hBjS@=s5UztixHLXX>k_t(jvP)h>@6aWAK2mk|-TUk)^Qw!k+005vD001EX003}la4% +nJZggdGZeeUMZe?_LZ*prdWN&wFY;R#?E^v9>SZ#0HHW2=%anT|RJ4|&Ch!uLk?!p~%_Ln_Y(_q`nu~^3Gjg$O +D;C++EpM~@nl+`6nPh+Mn9?e%Mae4VRD5Kr6^$B5@CNjPvaG0h=KRT5RC=im(|OrBpZgUOc4CsrDOK# +YV8%wT<2}F)0 +NegVEj|-hQ%gjtT8F??eCg^vBnyA3x2Aq+GFlEo81V)jI`mx~$~IcGp~~DV0W5R&!N2eW0MGI#>K}h8 +jv*=$!8K);hG401nkwT(espMF==1$-*HogOr|`cS)W%v}SppMp0CE +DQHg>q76#NAatQ!INT3HW8rY)g{evuG&QMHk#SLcFMygV5auwX>$V+0U0S9zbLzM0I1_5Pm*G|DDfxq +6=(7%4Cfs%FnxqtpblFtDmlTbeWlEz-~pyF(NM*1a`{#qpQZwk53tSiY=70-h0(}^$)gdJC-iUV1n4= +Vw=J6*4lm9E(tyJl6Al9#?x-o1bGq2I)$!IS=iyrE!2XUu)x-6PuweMi{Gf){cZ$PJ+Qk|aNzydd9_l +jkqKKeBhAB8=g*iRQEACIg-UTa7S|UJSGxRBK0aU0vE90&0&pnFNY5#~!%|%M>UMz_u8GEef{s(soZr +af&uvgJ9nAP>w~2ESR_(Q~##=;lK3&n>zmg)Cm&}Z6tOAF}X(8B8IvtdDRizYYwqe9BGnR_R9v!Iy;5 +RTB^6%imIU<&SIc6)tg)PT9b))mb?ha(OuO$cf_Z2RR2haW`s6n=nSgq_9jl7p%i!ziNn`i!Cchp{V* +6cpkOdAWxv}0iA`$VHx5KXyoB`=?whrK;{~a)z;lQot&`rp)B)Cq$K&(~`Gb*$0qbbtv0}{kTHymU8k +n^-DY*pd5ONQ_k6uH2qg9}Z1Kz0`Nu$xg^NPe-78A@oCK!e_FBq7AH&`K!Jx~U?_u@hxz~JsS?-h@_W +zZ=P;PW%nkblBUMyq~XJG_F+8=%yNyuG+M_p~u1Yg$#v%PU%3K_qQIg~euy3lW1{0_A=U+RGtSg7}!e +=bs_us2){EHUn=VDFEO~h$}+1+30RC<5UHUS4>0GCmR@{l_kGJm~~9(h8hG};_(@*>yb89s#6(%P_fT +Q&lQHxZ}q$%%pg@*C2kPx;c|Jh3>h1xyeaU2W#bMdnF&J82XTMwE$B` +vSD1MwF-*j~0RHobdpp?B{g28?RQ)rqN*usJ2&SzsQV0uE}#6;C%UQi&RdgPJuviJw5kPSVTgOF +yY%#;jfw-d=jv!Bj2$X#z6LXuZIG-ci8lc+vIeL042Qcvn;udb}HySXa}=XE=9oo##nE7qDtQ3!V-G; +6F}`(fHa#1qb!{Kxvk{la=>*^gYyv#SuJ4fyD(>Jy>iE4M%$@d^nc7u4t?d$Q;39cg0FFr=oCWH|`b^hy%i +v3_cqF4N)_*(Njfkw#I+pLO(_KyJQw!KvQMcAqMKwVJHxj(G=I+*M`Q?!H=e4_SOHV;7#IE64Id;@}u +kF>9F5pHi5T(U-M&+Xjzju3xMWsR&k0M2|M$MXCRVhcQXhWGv)_j55=<^$PTmfYQMW%f&4nzcU(ui@B +}=bx_h%jWu69pqPp1r&$wV{u}QL;_s4mphvkSLdh`4;%NCYPM$ECihdb1eJk$~PK%jI4(-}H|$pN|8% +sz@>@Omi8;Pv%HgV()eV}f=c;Y>>1K|+&jEC2IOc%_H295NJM|AM8Q_=A}Wum6Cp@OmU;8PmUpwT!9v +GFQ0jG3@6aWAK2mk|-TUoJH)mhaE0071v001KZ003}la4%nJZggdGZeeU +MZe?_LZ*prdY+-tNUw3F_Wo#~Rd6ijTZ`(K$fA^;#v=1xq$wIP^zV+gAX?hK=+Z1Vv1!@EWEm1ZbS<; +bG6KApC{bq)gNXc@V<{^=-`Olf(%rHR^yywpc_T~B`tG)@v-re1O41!=bOA=lbNy1ia9pIO@yxfXg@x +NB+=5wjrx~^0svLIqXCUukKs@f-yJ0XgsRYh<=o8dQXBeh5yCih5gKP838o2dJs;igdKs}l#J*C8Kk=v{wiS +&%wag=$5?qSru~HAQ7Fq*IC;y|YKbdb{Vj4u_-POgLtJ_ZzQyfwt$t#uUhBvK-Z>(!cx@*e^J)6zaf@ +{rQ$iVRGDHU{p^W}`ePYn#fn2DTCWM+urUo!ADV(`&ES*MnsJ9D=9{U~}y0~E-uXj)Y=&it^kYV#Gd- +K5`6u&spCWu%*ZzI`9hi2ZISHETg7xdl-GzgTzvtf^R476+D#Cf$(~^pm9L^pV7oAgm59OU&}_*dz9} +)eRG6)oynTLQ5>xE)cyD$OR_1Da0-&G1ocME$He^;7YKvYFHoR=%oW78Q>9}rWJ`0f`1=nvtx)bP%<} +wFDNF2u=f$4Gp^ZlZsLkRKe4x9v=Tg9P#6%Iunu)!b|yTf5Sd1|cNP3a`pA=^g?NbQH{SpUFEfCR0@R +{gCWsY$e|^JhRW(&w6>-mPj%(%DN%)+{m^TraI!F0{Es#WVTUJVVYAQgp +ETfmEQmwGV+sc4h+ku#3Oe`DU)y0=6&y+o{Yms5X@csl`gLrKo7 +yMZcG8x7EtWAK*#vIt=PQqJ|L9Y~zhpMztV6MfO@1}3oD(V%bY$S${yXaFl +BpLveBteoS3HyW5qR794Bycc@W{HMlS>oYBavkG3NhHwuP?f?J#12v$7_8hFKbi`{C!zGp!s*=Q$_Q3 +Nq;#(#5d@$xei<8rB!!;CRx9@F+1bFcIMJO8=A$iLd~`lJ>nISuyCZ3ZD7OFzD+~fz6A>D;+Ei6BP-UAo +pd~0%2v`|3Y7WN)*w`VE>36-?cdDJV1HX65(*lsoX&zQEa9`s49s&pQJco>wlcz?nvlsmP(>m7aLHiB +UcOq$soIBV~LxXHSXf4i-Ud;PZU;(4r8jq0xfhgP!7|!5_X +tU*CLg<1aODZU~%pmJ*+5JR}1~JU{^P9sVf*Q;5K7##Un+8moDPY#63S?uj%MfEy|EIQ9vPOvF~R8oK +=ryQSq#Uzde5n@$ncNz2a=Rf-#_nKm%4Vl!WtW0FNF=RRf{r=pynPJ7cgQ2)37HNJ7~^h6Z&?M!Kz?X +OR)S7&47fq1S`p{lf)`XkatA%5yCm%3+$qAiuhVJ|lzRd04DF0$czp +!C|4Pw50KSn7%N8J~F=1Rna!0C-QRo6IejQJgEoH0)~ojjug~p5*rnbEY_}``xkb$WS{8RVC=W1gs2z +1<89H*A-6#k)4QrIGECy%!JmJ60?wE0vQ-M2s?)h39-H;0*pf*;)2~Z*1%5i6hNIOj)Y_qEnJ$atjG$ +vM5$Iy?AOZex`gUA05Tq&{r#=d8l^|f{l1@y6hB%MAB3O_ +E3@(+;mL(rT!pDleB2aOYPVdr;i*9z7+WP|^+ZPbr-C&-XhHp(MjeI&>OqPk>%YlScrhX&IaKN(*UKA +k6n$YdLK*_suI1Qf?)L%C%!UlR=pef=8mr-Q0X@oD3-f~MeNdoEKxW|pMe{WFLExU~*z*bJj@lux&Ie +?4(_wce%!`qf$d{=H9vAdf$H%ma5X5xZ{Zu6i=qzz<8N(1Y$u1oxWf%~Fh@9!=g?BB@tr4>$Ie%0@V+P?Ax%^psVcHf3)cVG@v>0*9OgxIfN0k7MR7vYjFqya* +7f4S6{>E6Ms+Uil^(^-eWI`>8~tU+89tiS;WqLHPyL)1&u=zB+g4U6v+GUQT0uHj8v!E0&<9rAz}yx< +*P9$?IdGB{m97W|b`{2VTHA#wLo^w-1Hyjjyhk-GcHzaa5nxXTgb?N$!hQr7h09`+QYV!b@~?sp7^<7 +%>oN2D?atQY4?j|{Q=Ys4N9%CVyitsTKFEK6S*jB>}|L+y;o2;TdhqBHve)Vps%jAXy9C}EGAB1(Zb6 +IV;G3Kw1|nZQJhJoie-wVRX0Gu=(!bUoBt!F|vI&a`MXOs>UY0ASzgUzDsX{~vgv=a#i_K9QWO!T89x +osyLF1kT~YE{{v7<0|XQR000O81Cd)<^SRPw&SN`S?KrV3c4q3z=VBldk}#%7Er1Ialy8 +(~@N#${MyPr-|Ba3)68jXIVnIH(RWpN{vl6l5>mM~QpMP61iTd_D##1y`>ipvZec$%_87Kf@3v0Tb{l +!XKI$+(NARqs+^26a>L&BsU10i4B)&SXVMtwrN>sah2z7gUp*>1y7O^aI_77 +s64a3(|ol8-0b5!L^C#TeibRNmU+3c&uWbbG*9)SDD&7^MeUlOb(yAe5f;2u!nSRBi9}JOWtnd +ntcesded7^>&+UI-UqokryEyxG{`U2hnohHw{&6njO8f`TXM5>HEvu==$pF@|Vl2vtOqSfqpxnzun$mcTscNJ_Bh3jGi`du1f(2Es}S-d&=GkR +pc3*{C)_kD(kqafk|6}DKUphnUa-!6nNhK`Q`{hAa*8VJmDgDXx_A5L+k$8;wcuy9?jyoa17X(E&Q%o +wPgxBE&@;`ihdM1;AIBn0$vM2lz_+;x5HPWiW0Hpby`Itdz59KZA4ZLP9>6tsmvbi>`VAPG}I`Okk{4 +Pj(r15$nzZ3Lz65HHScF6ClL`wBJOg0ORaB*F|L_%@T5Lz-Z#;$l!#7ejqZhSIlL!tz!r>8YKh5JQBgJH%_5*@x4T +m6zDvto|HE89fud7Z-mk=DJnI-GZB?`HCszz=95I-UhZ+OO6qR~3Yz;ATZXf#5d4Sh4KyhC8DOKKZOQ +N}kSia>+i5DQhWREM9=}=;q?={kx0k>fQYH{O!#NY4baGBlobAJ0jl!1A9~ +Dah^^YVu1UGlLTs+?pyu<$P$&$*6=N!Dc}~cviXwf^;u3Z6&v3Oal+PBRh%3hEo2p@yQAm-D0er%o=p +haIKWN?n+U$sUz4fnpl9G4o+1`QozGwV6dvP$M}HmaJ~?@Q^!!D)3#cgUa&JM1OveFm6iB%OUt-I5%4 +{Swlc3K>QJ>}QS}4IlCo@Ouut#1>zDPmk7NB>rg-*AuGdl4)OMu64P+ltlayCbcUWttg8G8i=QGj}Af +B^3Rg`Gj58bG9LSQmAK9R_d^4Vfhpxgh~ifE*~4G}W3K7*4SmC<&O5egPm$yBHiCXIZ^jfD|0yQ;`>S +%1gWEl)>m!a6DsBJ1_v(9^NyM5RgkkB9AnjVH#PLBXd2vs}k1$@>&j6z@jTzt?LEq&7)#h@FU +P7M^Y&erlXfX{`~XkY#v>_{cZm4>g}70x3|%6r|;&czg%A2fbfhB8=d}%0szjd02>4D9<~O*yq{m5NA +x{E4=l(1U1Sd+CGHTX_p~T}6FYFf*qJP2uo`pt1=dTgWie&1WtH*;!^RtEC^WC!mf+MXXw@*!<_)xqr +y`Xx5NznwG@A$4^Xq7S6VWVG8emf4Jn{z>rSd^Uu^dm>;eW#6M+22nXzU!IC_C*0MGj`E{NkU!d3bfOC;yIjgE28;fui8igqphoAPN&@aKb(YxFh%xz|o_|G`<|PIDXxyX*;{v0jaUyhC-okv7^TmXE0dqR3Q5j;c>mDkNVBxT +~Pis7ox%BllC4!k>Gaky6fEEX~?kg8A#T(LAimlZ<5_S5^V4G2nr~SuUZ>a;LceX6xFUFE3zak1S}u+ ++kvSu1U+Heb7&yIvc16&LZHHjuSb#6vcUE{b=KXtcCYR3iEHdAkms^eThM9a04!Pk6iiw~_66|?nBOuVHRE +VvM6GgBlcJoNK_PAy#LzyrqHbF-&7%jk`=lN^Y&D>ez?rCgrqMpL-$sb>%_8CK>4ZJqJ-?s!`u~*0*q +n!>z~HA$g8S*fz9v45$*BK}qO1RVBmu08BVngQH!z7`#tP0I$NO^a(wSC>iG}coJJCB19{@3=?ho#pL +)SyU%y0=Ww=xSR5Lje58Pm@-5 +`yl$jjc)x0=w^n$Km(?~0_<)L?q_#}yC5!VA4oH@0b=q5?p&Le!KfSJ2>3JVz|9NrvsD_o8V8=ktLux +m5THlDUA()QU%l1SV4rnC-VDhQ4BeB#8Bap$aRd!0)65Pg4JUOVnh*d3yeFnu0e4K4NR{xrf +u8POTm`VuxH8w~w1maTR(swU9rTGR)zGXDi)VV|^YG=1@Hrd*yomoA|M+6DU@wkeJU={sd3gNu)H2LRClicFGJu(5_W!DLs}o2q$E@6%;Bf9DXJRj_H;FDUvj5or3XL>{pB5X>NRv654 +S0YOT}Uh$M-9F#}oK8TH17?e~x-&mTf6DOd-Kqf!E7bs8lcwU +mt|k@L0$V6q>sBG(b^G%YDaqRjEkiNa9Fj4Aqke{=CJI(?1d7yUdxy*+J}OgsBC>ZKV(cr{NWHy8{)( +%2?wy1zr~asTP4*KSzm{uBF%mrI|5P&5A6TXlwCt*OV6GyDpZdQ+$|^@5572F3dvH5&(0N{|H;OfQvH +^dNR>hBPz|1BRS&3gXKyF#-4L#@tnmof{A%nizRP44JeTLC~;lkug^hC%x;7c61t1wQcH3) +|&`CG1x=eFkO-=UIJkX!}dn7y_O$!9bD3`kveGPSo3+bG!;hc70EXw{;uPR`mh2r?i*n>K?s#S#g1V+6$KK8o-7V4rFatpX;cMz1)a) +Up|7R{bDxVpJ0%bf1Ipv4DrU==qd5Uts;S#XZpM&{u!yGp3}70VZYh`5?|Ab^IjNfl5D6<(_eT5tn8k +FPpbW`GPo9{<=MVodamLgX=^HVJLce_$}*!pIiW@iO@6K>2jSJ^}=gR*`8{?hvVG2RC^lmlC!=bMK#x +po8p+F_9iN5p7T!rl?g`n@S6;2MRAo!I6k?4*;&YbPiV-E>d%QZs7QWR%Zd;oE(8a2o86Dr)$9zyvv* +oT^#nEjE}t*`~+tjuftnF0Gx0a&3;(p&A1fVs#?RGh6b4O+B4~rtLpHLAt%hSlx*EN%5qgx@)ySAEi|*&)uBcWohyJNwF+y8gUJJq-10I3PSrV1@K-B+RY|wQ=4vg}d4Diq= +xWs31B7wO4rnOBn!q&ha4?s;MH>&BgTqCy7Y1S87TUnbYfdLm+r2($avT~gteqQe3%jO^GlB)1#w0)3 +r8bkmKMh<)(FxjVeTwP$48a7B<@RN2 +!)Z^T4?%P;oLI?P8Pi=C9vL1f9{h-{BFk?P~onr(k5fM;}akr6tBi^OVUzQOp+r4$ +K$=Y%iZ(O#8Ty<^v}y(k|KOIQ67cXwvqAqjEx*?O$~8{#Tyeewj7Q<8A;kC2pX?r5XG`HQ3CwCrc~O@ +N3ee)zD$=C-?u;4r$lc1&*6CC(~f))DIazt64q$4Q8OD%dK^5Ge;n1rXRvH@2SULlto +o4ldR=eWV>(#{%N#fV~9=O%*)W84zCSgdzACvRczkWEAMs4Y*1%S3=h!h)3&6XedPvjI>AvRg9+K;wl +XQVJ>hM@nGn2Oo+fOMNH+3sjzXx!{bFdzq@-E|I@0XQjEI9d{4Kjr9&hX~!tn0U}^Ly{$}B? +K(2Njn7#OWX(5VNF88n=-mo~wH3**E2BDmZkO_dl>-ny9fekT1Zm@F?RBx8f?WNVMb_BhHS)7cU(rv{yLb$l?`9wDo4ZO6No>T@XeJ9@D)tA#D?~c|}z< +Xb>Dorof*JDI(kO7siBASF0gyOf?~U|L)Qedb)10Q-O)i@(JanjaE^)1IyJXruvJ@9gW<<(vJd|pnTA +IDcZSfyAIgx<&9g~9x?->iqtYMPUx+geT2Fs3&u%hYpR^-KvvL$&nkPe!Wb%zj4tPEww~^efS)y7i< +$#VBRQqp-mR?zqs^lB!kZ7+G|DWK==uISqm{0{~p-N@n7KLp`KrI_vo8ePZw=@#rz +euPLcvygZCd4ZO)RH&Ihvps+`+pGPUoDa*t*a$}YzRQbAyqC5Sq*y<37C_<^hqR}$kb6>r!SyvXl_B~ +OB^=89%J>UT!fp)(=GWpRWky{7UpsZ@J`g>x)9%20puWtyx^osMg_Svbb=KA=_gyEGb`T$sGp6=-O)F +Tz_OeA3!y4}QS)@D|9n<*Qe5|^1xpiwDBV@o=&5IG$&US*-`9X<|FxfmGssN*Nq)Cvf-3@|Z`evGjsn +i3!J&tJ+<{_O>(7d6^@bBY%7_XwJe$vk}2lRiy+X!^~N5X+awFvSr$dc{Sv#?(HLA2ajbej(}ds;-=g +h+-c-x)fu-;XOHBsEwDwt+R1-fY?SywED{396m-Y4pqEG$NSKo5REWi*cZ|EHORoIkQW7B2Jc^IGN@d +AZ*=HoBCDRjmzcPEuPuJco-Bn4D7E?pq&++N0_{$|K)Xi4N_dQnfizsy-ikFZp?WVXO^r&$Z>JJ)CqdK@O3Ipt#B{>@e0~+2}@lq7JLtjKcCzkKKI +gy9@k*HO;6W_T;AJxY_X$qDV-Q7^Lju@}APSH54eHG +%w>dB@t=T8f58FxaI|7Dwt_sgg04N{Tj1LwtBfa6M~uXK7$0ezF{Xs&{3+`e<*vfyonnd%c27&+@;SR +0i`?%1Il>4LlW~i`HGcHQSVo;WX9W-%%kVdo=a7r0?>*&t}sX4z2 +NOsD_Qbt!V*mlIo;dve*#cT0|XQR000O81Cd)<*xwDg&jkPg_zwU89smFUaA|NaUukZ1WpZv|Y%gwQb +a!uZYcF+lX>4;YaCxOy+iu%N5PjEI43r03g(S%GU5E>~u^R_1oFaA*pg|xk$)U6r#btJvR+Pa1-kDuq +L`sgER1Y$}%ekGo9mQHL!LBoz&Ok0Rr7c{^(Dvaqrl^Hgy3>jIolIuK=>w*b(nF1(b2Qcrmny=9t=TUSPjt+;N7o_O}LT(T)L-v1gorWqRuO=WPa!T4Yc|%?V7z%!^ga#svMV`=uRis2X=^~m;qcP;DF +7Pr#idY&5G>U~`X9YY6Es>O~7*=9!NJWGhq0cH*3UjprODGxC52%5JLzTvImTQd2Z5Y6vT9(%YluQyx +m6aiqn6OSZmI;z%x@XB=>6Q!$V0#cLLoq6Wzy7=j!c;+dto4UQJ)!yubZpdiUnxv8M5E +2dgEN9%Q_4#y%|@4O$cJ;KjDsstp-ALcS5#7iH^~SQ9yH9}#C|rp|2Gu)S>r7Bsa7H8Mhir^V4c#a!P +(jI`QX4;1zjmF%nkXn&dsnow0d2K$e+TO3)lc-=wsdQI@8@=CE#}wyiXvj +_(|7J{;z9yerNrRYvfqd;s(&%P)~4*{iaaA+PoM1&?{TAIGl#_JY5(cNqJbeW*^-B)KCKu3m}j$U`Nw +;Tnkq$>Z9w&zUyiK{mJ{@?RH-mL$%@#wW&<22bwOfpCVy}w{3>qVgNMi{{`G-7)p`&@mBzv$l$PU7(R +45m}Zp04YgQNjwln$X8!6(`;GI875Ofp#JY8M@w=enZxW&v`YGI!UkL)P@Xk$Op6`xKaH!;uA7Cs#!? +v)amo@!y6K92uO_3UgO~ozA$|7%;74M0Z*AXd^vEQoU9K(glmo33EoXuDKk_y<2Kd<&!+h5vhn;cKfi +sk8cxeCKv`~8J2!Ghiq!!bMfO+gp>enGcHJzX?A$l^+Dvc*YD?njwpOB}YDcp>o&x9O{{vj^_uOlmPkJ$-4yhz(G!MCOVlRFZJR960463D3GIpOAd! +>|75qc1sCI&ym2z{hbDV6?+JY!lLzy$TUr*s)LxM&Ic!JX>N37a&BR4FK%UYcW-iQFL-Tia&TiVaCv=IO^?$s5WVMDSdmt0q^!ADD +hE~zi-1+7%>jgv>n4-d;M&1eSmA{B(>28;!X_~kuIV5vc6|`5BGN;-ao#}NzvkNNla`+Lzz$ +xjN+2Qv4qCAVEfWXa4*{YxYJ5O=~wQJ(dJsMikZ}cwV2lftVQz_BmXOEosh$xh6@X<)`nRmq_xOJJ)d +Ej5WE83Z1^65J!tESQv*3+pOC6Omy&P&&_f+Viooun>T90FFR0$Mbqyv-JnLY{s;8gsz7Co<)vMfNN1z=;Da$yRHLM7-q^9p{lUa{HP*Y6Z&?yls$~j1JpQA+jMY +?vCDd77?dbruYzU7DI>GtaZw4xko~Q2c01iS*{_y3*Zf#J}-w}C}u#=+6OLZ_#HW+evD@5(~ZYN8!&^i-uufB +8iaea2T)Audz8&Q{(3WdgDY{IDua3-iTn-tO7SwCMYvr-e~E)p4@!?rd<^8Wl4GyR3&AFsb1$BW^sJ| +8X9pJAA@ij?OU{r#<9sJ)Uv2G{T9J%S*P?hoV>$2pim3^0F5a2p)vae_C#AdP(DSFB&OgrLN#I^Fqlh +L??d%P)h>@6aWAK2mk|-TUh`A0006200000001Na003}la4%nJZggdGZeeUMZ*XODVRUJ4ZgVeRUukY +>bYEXCaCrj&P)h>@6aWAK2mk|-TUoC9R-i`*000;l001EX003}la4%nJZggdGZeeUMZ*XODVRUJ4ZgV +eVXk}w-E^v9BSle#gHV}Q^uOQY4A^{tHfD8Abaoh$?oFWO*hwVb(O4KfENmNP7t`p?nJHwkuY1c_(Ai +?r77Y@&y8EU;=f1)j~spg_5q9HXKSYNZg;!NRqpw%5cFtu8**Q*up1|cW;@BbDei`&YMoP +u#K^he0x>>^kcxZ;OFS#iZZyhZ))RX6!31M63LwWc64vyQm)rFyvRV6@kB(v~B6WWg9cP=9RX;Zlw6k +`VY(ve`P(BR10Z`uQiN<)Elncwp-e<`r|nGm3IS%g0^-Pw7DJm%KA0%p(yVmQbHCsMBrv2**_zftYf_ +nr+GikJteB?A&7jWhYc|SD`EO6sZsMOZnr{qaF?H1jc3}BiuR)Cm6+sPV`aQjHbR1o(r{a)JQ;+bv16J71gTecV7jbXL&sK^tiR_{^xqOK_Ea%1{|o%Sj( +j;K2rl72@1hrdZHMu#tq|^j-7Am#0{nYp=CaZRwk!b`tE#0+0kloRT!UY5H`xTQ{L%o)1^P0C7$@Vby +ENe3Mjq@y`33oK1pkh-uhq)g0C0j+m;l@P-KSpcR&Tjdm`GO^$cz1nwU?rATG0BGfb)JP>FuCT=Ug+V +bNhCQv2RL6dr|Vps=N100ZM|Kk^K#ssh(`Pumq_oo**=7#kd0uNhKN8taMaZDnKU!%0q|MSx#R3d_vb +AXl-Y&9q1FR!{q}rP}0I_4BMuu)N28YlZFCG7o{W9;PjWTc2Wx9vks4OLtDknB%}+B&m>Tmn>~=3#xf +Yh{RM}Vm=2RO0<=6u(YAh)P; +<=aNj`bwaQ6g&zqZ{Sw+Y-REw%Ag7RI7fH`@OCB%Vwo#!9~9h{AzD+Xo76V +$8Gu+>y&+t?HL_=*sdBy$phZnIR3ON$_*fR0K$$K=n0n|iqkZ8$vsSynk1n~YgactRWR4G+y&XTQ4e~ +IfqL3n%JHYRRqzfo84J7$qjQU)!l_rk!3^M|70e2I)6a2z^oZu1p9Bq$DGl&EkJ`XoWE1Ah+xAHV8u= +nFVpfJp0grKa(fv}+|k{Xw2arCk1S2C>8#_DR8iUCesKUY3P$sSlUYI~t)my+7{A!c=)P%};FM@QuyH +n7U5M6@pzCCVnDg53kPKncmdtf5nubbSfP`n;thwBqZ1TLOBTo&UIvmu1}dhmFy8s{taBX4XAOGnp<^5;nUW}VE87^!CKsT +ig6bU$Zpa;byaH~^W7UhynrDGuJ!fLBATkp(xbtKat4s*oH`IPzWm@=2*ElXa*qx>2wD}3td;=M4l$( +c^fyKm3kK`cfa3l|&btk$ew1G-Z{xW);3#j72;c-FYr%<3;3&0PWLZfY;cVMd;r9^e0K(l#K+K>{N;o +A+E)9nsFJzH_wIA8ABv>$Yqig#m+YTc}P0+*tRBD#rPaW{2A-a#)!u$FrohjUiCeSG1gri1yPoa>Nd4 +@W2lzVCx`chd}44*Et8{V>8p>M?4*S05 +2bN=DTSX(x*3kkBoRRDa;{Ep}_AQ*@6Zevk}{fvB%Ra>lPid@R?xaKB{ +E7{ni3u$R;Oqe6yASp==FSp|{-b@_eZ=n9OF2`JC#f6BS%RyZyI-*Grb(*9mHW%AZh0jj3Q9ZHw33yXpnZiDU>I;_o85B&J2zlfsS9pCQ&}!gLGDLE>cLdfrhyU@Ftaq9pMIa5ZGCxjZr^0 +=2U>l+sH6jWqU*=D>U_ul9Uh&Gkh#y~#j=pu!&TlTx4qD^`VUY`0|XQR000O81Cd)V?GFJ^LOWqM^UaCyxdU60$i@!h|Ir$w+5>J{z|hdvnap= +d5C0^H?-BuyW-3xSr#ySm7tO47UQEcU;5hNL7?mSm@CfeOLKriR1${-VoWBcx`zs4B>HDQdMS?NTLfZ +_E0&{VLRAE5(lKLxZc#t-chs=4B0X$$lwwy<~p_{KB=sg*O^MZ7Nu@UrU9r-trw3ANLKd{NB)6yjrpk +pcfW%Q#NUK4|O4A+VK1{r{mMTE-Td@m-AZGWzMVe3uHCoo7;I0QsE)(-Z%97VCr4;oJYCVQT!oSiSsnB +wtqbNIS;swK}v~*+$mC@!5ic%XvkH4-^Kg&fjb&!E8E9g}E`)|L!diybZ|7vW9QAb*o60IfM%PPBrs) +3$F?+sU31IPU3u&%JZfo25P2{JmNEreiD|$t91rkgui +q0`>b|T7>rLd0}=H$c)181H+CD(@9#Q$>?FKa09AT5x%HdJ}+d1%y~*jEK3k+BUh*p(V>4!`GU4S->kNT9P6lI9LX( +V)MD5m@#JgyBDai$+bP +mHJXKMZ3*Xx7XpyoQPJGT3Q!SpyR|lWk^$*-&x`r_c?NGdo-cqJT$lEJsAVzdA>)-0`|aVZPMd*fQUB +@a14{J1eq>(pi?HQ +C*9O?-uXUp;E3wmmy4Vsh!LgT4t__*U*IQ*YWt%&wGx`@u%*TGN1(lh^-p6E(O%QK*^Jc*yRVS66hZC +Mvr$kS(a7JPXgRzwPqSD3QT18*dp2Z-g1LWjJ%6Y4xEAZn3=Qdb3_O%_-x9KM3vD|keY{#tG@eOzsUV +*owH)wH3Fze&b@f*#{NYiphIl=-6*8F=!SvOWrPvosHYQ(hD?A)7vpomOG)CqoTjEpIQ3|oMQlD(L6R&@erMPg++udp|B!)Fm;@h`ii|c6()lmKM(5X+po13v;S;KVcNx@#4h0WcKy!u?m +!(L6^>Mc{{8*0^pW3-vN$0ngvWBtRba_9@V8ib78dSQmJLS|abQd*!}=Ij7wN-xY?k>81{e{sqwY+l> +$sK_bW2yty0sIyusiEZbeEH{mgkiOUL59K(mGUE&Rz%7xS8jI9%ngDji*a8dZPEE-j&-%SfOVu4Nvn1 +)M2wDBw#Nj2`v!j88rnxU*T!(^KFr^eFABp-ZEbXoKA-HOsP7hmZvTToy9j~UR#x*IO4FMp75fZ58+wC^-M8%P2@k&)EVE1y$+jc*K$hAA7=hg47x{#f?(Y5ozY|P&Py|-e8)A7bIoAZjn&PRY;`o>HgiV&YLC+L(4R>g ++TEBq>1#WqZzr744CnOz{Huano*$UMhaL$u{bJkb$)J?{!4UeqUa$KVx9QoYfH2rhBY5&@#=TA=X42` +(^UTyZGr|a_*Y?mTvShpzyJoN3aiSr@YM)WKSaw6~#8?j%if-IBH@$S8+@8_ViFy1Fn!?j~ReLI!1Tf +nGhhf=7N0$f_7(c~zOxLx2IMgPZ>m=fo5BbN^Md3V3?9(F>*TcKZzeO;Jqm}S5Ci7dx0;w +Fm_KV%zB=@^BPK>S9R4ebh9H{DOf9U0ve*58M90L{q*V{R&bK!kJt(PthP{|eab2hs2Htze&Cen1r?L +q^fvnAvX{A}sGw{aEJ9%P?FyQo_ZSoqjbL+Ix7d672R4ULRwkr!~#>^)|X-Ev7aQ*}-BhT3)%wst>}eoL+k2tKab&UWrw45`tYn^fjC2}avcSy~KlqH8*MF|_|Dl|pT2Vb8iCh{ +MrX@YbZSOZU`Gv>-7oLwt&nJZ7acu?S+9FP69?&(%aSyPK%#BkkIFqMM3c}{|&1$63AR;cG;4$6H>iK +d2FeU5$CV4ds3Zq3)glU{ocY##P9ZeBhUlQ9sLMXA9xfw8Ey%e$*#kiE)BTW%t0}O(i3N$(uFX-`IDl +Dx|Xna)3o?>qT*&N-hTPw^bB^6nyhdb;~F%nQQriHl(3+5~cLXlM+6jrTfK0;WN=@MX?i69>v`WIt#y +)+}4P;U|%p-L^}p-+^kLqpCW>&$!4yyx`9QKkCbckE1B+UU^Vw;xp(R!*k$!K7U3EbEC0b% +zok$0U?sf5KIUN6{dB~?!8SBfK@}!qIzM$u!~7y7cyY$KCY;ikT{fT4jcl;odEL5WVQ`vbz}(i^k5;d +LF@oKJz7s_!%f4jGD`k_?L`#o`n +xboRL*EE`@o!K|0|XQR000O81Cd)V?G +FK}{YaA9&~E^v9>J!@~<#+KjxE9S}wB4K4_+xx(-FSOmXNwxu!G)SFxfg(^TX=JgXNR~s{QG@>XJ&$? +MPB(*Cl>&HknM$&d$ZvPQtUgZf~ +pRTCCgsUN(bJyY^6T#7c@@?%Nx=5hZ-t?xpD33Z7Su7;xfYIP|grF#BV7ycD?JdbnsiT%oKN&&pcKv$ +Ja7wf!LW)m{$APAc<7YyVO^*kygT?c2TBlta0$OQqlt`mz0rM|9<|tE-iH`Wim+1AvaF(BD6Sz0Ae)L +H6aUmUHm}@G%$P>CK&KSXEanZ)CG+`=Tq?@5^g|P~dLt>g%#;n`&Lw)o*gylzZt<1#HM3z!g5W?bLnw +UM~G7OQ6G2(_z`mUk?=^7%+Y(#6nL3QfS!E%@!IzBZ~OY&QtjS0>d@h +HxtY@d{PJa`_T{kNxo_S!faJ!EdG7Jl)4p$e{`#dHN~GHJW)17Y2H}kS&(;6qV4N52^>uzN9`5*Lxsx>+-+<#CBhn-76|0+}^u+Ep9L%z>YJxhdg<lTLYPj)fhX%EXcS`<(_LrM=v$oiTKhMr;BDYvL(odIUB$mtB+1c4fZp9MSNym116R4A^KJ +u@Z8IEIo1YCU?@G}o!<#!pXJ%4VcT2{}OV%4@9&Fh_nL-K%)?38&n6BqxHD8x&eGO^CZUA{$uz6DMxR +|=e8PlAzlmmKQ21=X3yM|P% +XLuT8Gp4~rN2Pg8l6gXiVCGEo2Y6XcwEn1xni{s#j0{{#YGR7NF3H5qMcuA7OTfgrxRL#;Rn-74956c +ZfI}GqSRqatBmsP)we>edKm~``OIo1dzj@>6!?B!L03JbN;93-?W^Z!=N?~EN14D;DX5Mxe_Afm2e>y +jjev4-y!+Zu*K6F-Q{|smU*BnpBHnky&=EcetVdJcu{P!>m=ii +%{cEL8opO6Q=0|T&lWVfsh}U`?3KwwOL&C2hAqu;`tU;it$%Si7TNxxvsVqxD)t^!VOqelyxu5&Cw1A +hZvsq@+)RJe!6r|$?zDmYGMV*u=E+9yJRW#rx8ES14wg?yxEyqX9S{Kk}RBFWMr@%8*z<24|s+ilbwr +N4iA;X=FkFehkb`=P1l{rV9h*zK0{t+MW5j{qXgW|-xZ9l^14LLPRmT~f*Ltmry(CrM>aF_xE?8=<@) +>Z^<6w2vou(*|B{2|HqconoUMdzv*PV}Y04xbkn+99|wPO +K8`b~_h8^XH%O3t1r+1#szboFhi{e1r;8AonY|K^1{h<^ueb!1etnkP@Njg-}@Ze2RIC(QSZnx&_h!` +4reHg)|ncBhd1w=i^w+lGwcxKv?(^_~h-I7Z)q=u{OA&ve692U+MWk>wki!6zq4(;X<{CeytAz9t?yk +E9oy#7?Qd{Ho4UV_J +0?(O1_bvz~7)h`lLO|UX>sJPv=N`|ZlgZ2kC2rrd_KR|vz$71Q)mld!Au^(!UZ!P0#J_p9237F>Vr3G +iUJ13=bXmDkW9R+z8xHZqkRsuA@dntbS=6l>YM1{AzYVFL;EoA`P9&l0i73e(GZKOl^M{Bgjb +Y8i4KTHdU(wS;hfWzjCAqH@`lpUrb3W_bqfgfJbH^tJcK)08KhfbdtH}@GDg$*%1I~=LA+?;_+}0WeQ +d>A|5gMd%ExHJlDX0YS+}t9OLUfQr2haS}R>sVaSu+1EZ6srx^`_h-yFErd@mtA>D|8+3BLyd9(+nXB +A#Y>@3@6^`e0rJ$sdC5TT$dXn(Wmh=|N4%Eb{6)MOr>ZZ>9BhyHk9* +Ea)@6acfium3}cuxg%TlH`IuAdUtBOp^~pyw{dbE@D1;KsXbtl8sd%-pC72qKnBq3ohX3^9YioXvaD(Tz{iY}HdG{qgR&atF~5zPQz=!Le?#*BLv;oH6%z?6ddCI^*6Y%=n`FM3W&UV+)y? +kM_+8(GVNDwuol3(G-*(JHqP;Ru_CFT&jh=57%PpTG0xN_#0*xQtKwRgRKw)FKv2AL{pfW)Awb7v#Ar +5$ITa0d|tyO@X68UC=m;IjG>yPJ9GC6hMF-evyG}OIi)eXD?7TFLcQ?-g_Xx06h4dfz8etZr8IVAm|V +$WFUJb#D%90e7N7Xw^|)Y!)ga)&-#dH89@FSJrQ)PK`=9I{`TQM2Cjoh{h$a8IJ2x>Sp@WJQ2<&Mi^C@20G33fHH +@u2LQ-P6rsLnQ~9-`hYB71&insb$y)0gu{nr!#i2GfEYSl;`3ID6j!sB({LmS#w_)IJy=P`D1;D9O=% +SZOJ)}~DK?$On;tt)Ox%9~vpW%#UK1bPq~B+gGap@3%{Fs?@=W|?akl_x%1w94dv>uf``|@T`Oz`4?- +WLgOjXHpF#OHYGrS|+HXMeQxj)@8Et*Y60YlnBt0|hPhl-ARdM +9xaP)mk~Lkps;JW)-9}?(~VJvgxB~Hjdk;I5RK&Ii_ZA4EeGjpF|SAu*`)Ax +A}AYE;46X$9I4r_bmk5B6duZkc9~s=xw&}z?0;car?#7@Fye16hF;2OH^I6Kk!tPS?tNDnlbW~XQE8v +mWvvtz+m&`(yQ&lYq46kzD{1Bf&ur;-F--;2MjK)942r+yRTrET@*hTwxrjddiM`C0z-K@dOS3O>Jln +%C^<@XMkj%IwI_zNH!{C1#iJ)07?&ul$u#r_YFFU0k*>0bjJ@`v8rX=!vShCY@g;g@ +pl7&Kv{C4*xr$GOMvUxW-A)cP0denUW1q`_up7h?xeosECACk1qpU8#ZP*@aM!a#B6d}%)FM_F#yjU# +;I+RtzzI{1xMfD-Jm~axXV~=w)swjiv10i&Tmea(YxsTRjXeat?rvYtDXRR<%8W&d-g@)uU_w50V043 +f_(A5+)1xbc;l(9p{QAHud6^k9}ebDG~edsY-BH}ZZDvr_>1&M*M2v8ZQFmQFwshT=f)c)<}P`%{Qqe +sZ_w0m3^55*nWAh~RU4CO?*YME2^9u#DK9S9IUidZhRhrwnb4gz>iju3wL@-%jo-!~A9U0k=Vt=J**_ +bi$^R&k|b*PzD$)UMhiD#@)W#kO1n{&iuHd6Q~;$dK)O>5}n08_{tXbl#%bu;lQbOJ73>+sYj*&At0b +5eoEgwJ0#rY~seZQFmw!>f4_sUD +=AI0mZuf;$9{%^u|$&+!IGf! +?Yp|qkpVN01Dp*zE|H^2su38!%w5^)UWWY|Ne&*d;gP7<8NxiiR(r{LJMk`2*MaO>%{{|xR0fBzZo!N +V)vSOHce8lzWvfxgIv9e|rcKp1OnMc0BPB67pXVfw{PV7C(SEILrSXzP)$)&R6I#6}e=>*}^k3(R7N; +CN1R@F28=;hb#CV~*9l_<)_Xuq)IP4xJPX8DsL@YS4DyCS;F6ppE+afnpqEw3vhkmOIlF&a^=(yej^Oa@uHrF^^(`t- +(9jtFuIS%xXXC&7vSHWNArfOLKZ125qS5-hJJe!v~Jfd`);TszK#ia#ce?>Qcx#}y5J_4OtA4Yzawfj +y2uV<&6npo3UPP~#J6aqYl3QnG~INby0^^{;_txqO +D^I~1Iia>Maq<=gMBJy9rfI$wbU+C7IlL7&`BuE86v-(5i_jyVld}Ui{-4`h_#A4RsMj1;-ZPO@~6zu +1x9igTUla6u-KMh%%}!NU2iLykHl<<8y1P~HXl)k7P&1YSbYrZm~3-_rHCEN;VGn3|6w>j0|-rV9o`{D>-=JekNxG^W00Dt^OJC&8?XoXwt6 +7-icrdosKRkTKAJUfK?M3D7?hqVxfV$o}=awhaMWc9NOjf;Ip4DQS-Hn4Cisl+5ka1k!#RQ +O`x26n7~e$}crhb}@@F#cS;k?XeSa3<~xr2bCKwv%B(ic!8>exQ4ZAkV>@2STuLTDm8Qx_df{i$w{8Q +$G?PXl#EvsbxA=z0Gn#fHRAm7SnLlfC+nuV3}LEUU|b7)}uYf4H}l!(1gA7w;QcNJ^Nhh09;YEh$;n9 +)vYoz>or>1w0Q*5uVvlRDM3+UW$@4exS^`eWfVB`CmiuyJl-UPk9xmz@qs%8ogji~`$TBIZY{tYWWl& +Fk(+VY44)v{)Y4SnmU?^B*K~o!h(M6bCH)G%dq=LE#6AzSIIwFjf{{*iUM=T&J8lS(ew{)c*7zOCkV% +?+mc99OU1;m}W2B@YB(m^czU#!y(B1gN3b=6}ocEBwD~>Kh^4sgC7fzOn#hpr(+yGXdBKKLVG_O?}Yb&eb$> +uF@+3cFi4y10!IOVEV?OuD8J!*CoV|t`1`&VN=D{cLWl3@1VAQbzMQ!t_?meLP69t* +cN)FRL~Dygz5OPvH}PoF&Je3$3^rcJWGQ3B-uYTjV0ttMj5H^~y{ni#Sj?Hq>` +=4ig`S=+Vd{>by2?yST2S9zN +%~2Ckg)MHJY)BPz;!XY^H>B2PX6&QAbsq!0zs@qu^cmX5qxiUp>KFMr>KVR@Xr+zv2+@cou=C0T1Y;C +lC`IK)EmwBD@^V6)Kik-fTJ04EP9)0kjej|LLe9P?qn>2;ln|qvDX6NkNx3Jl?f-}lV#Hp3_vE`vSAw +LN6n7`k10uujVZ>aZbH32c7XgvW +Ar2(rWF_ZfkE_R`p=EKU;bCCItHO)Bw6f?LVhZLzD9W)~U8f=NB92oOOvlDYrN##9{}Y^M`-8&!6Oz8H+nz<}gsyB%4)$XS6*SNyqnJZNdAaugsETh|g4;vHv3 +5D7cG=F~!->FZ{|D3jX~-(;aFM0Bg9mwgKzdGhv+^QEJe6L4+K+w<8pC&Oa$Lk9tL;ri4AuE~Lo1B{K +SQ~JSIP}TD{nnoU0787yEE9raPyS{RV)JN7iF_UQv<5I0vR4hqIs2J;{YmCcY76}i +Co_?X6p0_8Bo`{KTWSioEkdkNNZ6A;`UFTCo}7!P`tFj_di@$p3w?XI-mx9q9vb2oF;z0Q_Qsbp_n&- +kF3KHwZ~MWmnHf=pAMbgQeW$K|txqVDvuJNG%lA@HMZq{TrG4*LXy5fkOpV#nIO5w(tp|8<&W+@C%|I +#HX)Up~%yjPrug~M_lEG+xXKt&&!w4cbm&<^rQ64a^3q5=O-!GqD(i@A^<)cT})v!CP@G9h^?%0)&x~ +h9rDRq$Q(HCF*```ZhzvFrt!hV|j<%Hxe$BIa|aBnA`x~cX>oW)Ll*i_dNYnmC494<$t`O-ID +VO`g$;PqyfbE_CZms&G90PVQWU>cUFacmz1t +;{*6_a}PW>ThQxr~)oomke3)@*vuQPQ=+o=KZ?nWXsPM+DiV8$JpD7yE{FQF{m(95*#&Jg47uE +N+x$MQ8|rC+t-OTBM{+D7&QRQ3w66IMeA^Cq_VRbiP-=t$G!9j^>C3q*wDe^jJE;!HD$n5R1o(HXzzE +O-yZ9dm=b>)+#BaI$X~vkKsppY!<_Q|?!sZ?d<`$13smA0!YHa6)t+xUTXCFMPz5DmwrAvuA7qO? +AAH9R_zYi;&bLcjpU@Z?uE>8AN|0j9Z-altS0%^N?96Z*4QSJ5<&A#4Bsz2{C|8`8y1&9EQxB+(5xGR +7^(E%x&LKCX(Qfs&Ly-ePutP^2$h~>&ZtVC$|`>I=VmBxEz+$X6QZNM*_xZFd}*cU4=SI0RCk^gQ0j* +7gOFXI&yyycw0^7ik0IP)k76-<@6|-d7~0+X;u!D8C=$v0iTBJ`MUFEkH4%Lm;LP) +C@GFcc3|6Mv0dy;!EN8Zi>3ELOtyh(E+~qT^sGeSq8AL&!&sV+$;#=MwFhu4o{oM>Xp0gYF@-Hu3UHD +7!*^T!dDr~4qQo6@3Oh6`nKV+k9%brwyTdSbb1T3fO*5A1Xtze9txSnHTy4iQE}(wKj-m3P)h>@6aWA +K2mk|-TUh`A0006200000001fg003}la4%nJZggdGZeeUMZ*XODVRUJ4ZgVeUb!lv5FJE72ZfSI1UoL +QY0{~D<0|XQR000O81Cd)V?GFJg6RY- +BHDb!lv5UvzR|V{2t{E^v9RSl@5kHV}UIUqPrSCKs+AiaiVlGOTUVA!xA`X^K4rfkI2P%|<3wl1kzg{ +onT;sb92}HV-qu$kqqeiP(L3h$wXm#xd1-hd +R=l{q#M}NHTAjeDEZlkWX|rH|*G_81s|6#K1^cY+li3dshqqplB{Ci&36H(Bcql~e*n6=*Ge(;yn3)KAaAb4^iFV!x +gd;ciQdDJ#R-&S+(a|$@AuLiTm^N}lr(IS6!jO}!R~Yc>6b8`7F&raDKe;|qvr|#VTJ$SLHI1rAwzA? +_gRe69*v2`aka{=;o_NR%PzME{H2VXq@B?onD5+WTJ(P)^P(-W2e +c-^N;zP&*vXb^UI6ZZ{MF?B%uZFrQ43^FgtsY?vsOcT+A&i+`|A9a^bBb19V}GUwbbUa50FeW+~4qC$DGR`o=sUcIE$tg@U2pnK*~Sntaw1A*OY{vZxKhX$MhrR+8Ff}vYYK%kD_m3ilXk>p0fT?GLJbB`1GNz~H=)^lq@xFKs?8tMYj$%pb~^J>rSqGcjGe=uu?1$g`ra~cwrGr%cfe}_o6?5D=hEVKco=9C6yAD%2@! +y)YfF85%T{`~vP|q&q9j=1*bbFYNZlYP+|P-}J+6UA)-1PS8oJutl*8y+uit>9ysEGofOQ>SAfDTVu-D66f9Td`jbo$XDbI0j3! +Tmrz8Zp+Npbz8fQ~MX75Df6)52sr@!af}V5A!SkbC&k +qe<3zZHL_>r-$kJk@Ri$s+tIL^q0Q6;py;5!8Nmv--Tqsob;u*Mh|RF0OM9U=j{(FMsj`o^fFy8S*5c +_j!(!UPQWt@G%663==HdyGZe8jcbJ^zX$l7(H9ihp$JX@CK!WtFTitnn0^|p83HWd>G(t_c3JL%Ssh< +==d`1ERgJH_~XSjm5~KY?m=e06`_5SG;aO!w`4L=$c(ROn%^mI7;PDmb64=12pl4_M~L;cA3x9SK~Ld +3hRH~Xomg!5lrtY`<4?|W)C|56)tPpy?tut$7I1z4?7RDtPalMl +esDt`>_W3YypJg|om{2bbj@B0}ULq>Z)?he(AdaOV#Y2;e>8FTO*<7L{s`P*X}n~vac;+m=1{(~=yE~ +v0oJ*8Zp{H5O3&v?1KfrXoHv+V!J#S=D5`Yqe_ZA24RKZDn*}WMOn+E^v8;lud8 +jFbsz8`W1wCm<_lFb{GZ($PV4QkHdyy+ucwsCT43(f+VNSzaJ&VX}mU_F19}Sl6pw0D2g8#q>@3x4mC +O%$Y>bMjyl*H2i{DsLr~;{qsNP0V;s92_xfK;$eT+Y=B+LmuqCl8k!sJQsc-r++lOH_`_>QXr6_AG8n_GD +Q?n5Jzz%LAw<1~aGPr<7vDK+1(ncb!Dyx)e=Mk4DajPjneS{I{H%s_s}B_HTN1kaH +|>pHb5`;?9!ascU;xP7f(p7@t!s`P&nkkLQfuIudzM)sDO{$v&~5$mnH*vrAEu*HU*i}d`wk&>g6Vwa +j1&wq?w6j8fV?mW*24tR8J)12=1_4h$B8Pq_^gnqgnEQ$jbBFRtweq61>*1xSs%X@q!v$_xuRTZ0)8P=l{I&U^djVXaq&w01yD-^1QY-O00;mBky}}SCoIZr0ssKQ1poju0001 +RX>c!JX>N37a&BR4FK=*Va$$67Z*FrhVs&Y3WG`)HbYWy+bYWj*WNCC^Vr*qDaCv=HOK;mS48H4E5Z+ +-n;Cegt5Fk5r>mG*<#kRX4TTHChmIO&on}0t_irjc@s*7IaNAlyND2kuxx!|6|9u->drB*QNz3gG9Ej +T^f9zjUwt?cIT>l#)R1!HnD+IrBAv7OZu7-^dJfJ$iFn4_`!9(&&oT0b~A$==Lz6gRwoAgS;4@tKb!+ +H-xWJX*!arVFAis>4e6Rvo0(YC`2-Q^KbnP4qEql?-V8P|lO77~G$^Bj0*-?$%mu>nM;(__lEHmCF%D +&8pYz5D%kk+=7&?*;$c(`zZa;IwRv{qJO@}%P<}%(+X)b$X~jDk(S8Q_Q)6$xXZc07KQY@8$0@* +tt<4LbYUmQ-n+x>UAP9>**#IS(RdDqw95xY{GJWC%A)AERNwueIKX4`8_^>EP{(%SibxmRzjnrotuYhee< +m8k{g4Dh`py`QZ(+TIUz%v}1HV+sA%!Cb)*W!z(Ocj?G}0M}v1qt`&R|R5Z8G;bAdVk$j%(^Zc% +b-}7AIP>o1L~>HB{2}WHQG7Z$x-@a^3V^`LFhixM;8$AiMqI108+6M6K_;)xk$(C+(p+z^0SZ6nJkx{ +Z@iwys#sL3<&>CBtev$_n>;AfR&7>By*;iU!V2?9s+~UNGDE&WZFaakFN10YoTkTH!veSi42PEDb+DgyujjtB +q%F#rGnaA|NaUukZ1WpZv|Y%gzcWpZJ3X>V?GFJg6RY-BHOWprU=VRT_%Y-ML*V|gxcd5u-yi_|a>e( +zrqB0>v$MPC={gLo%`il}cQxok7-#cPw2r0OF6?@rPr?YeuXeaU8aetz@Kgi`tr92eYi(t`rSoz#j9x +|c2Kv>^lZygd@DXVU@^(mEp#vsbcpK`AW?IZoO*Z_-QEr>nL_(HT9GNlrDB%7IaQs1LIo1OxS*M7@_@ +aIL;eqtyt?T{3D1S=&h}OwT4eJ%M6Tc*zESwlIY>lSNq&{N5<*_%MVruZ_`WcP9QcA10$)uy&)6P3N`{0V)Jrk!To^!5>VIkDuZ#hlqHe%RE(I58njGW?A9SJF +W1v^f@qZyp%Zq%PJyxVJ%8GN$+lj8#QZ2_17=8%8&oD-ks1xIyaB;%vk +j4o+~(VD?fK*lJ4Dt;wV2VDF7UAPy4uzQG7v4+xD}D8QG*iphje!(&7o-ZwFvG|L20*oU9$6^;nKo6C +(4e#*PEQzggZTBL72*~Ec;EX90miFIZQ=fkmvu7l@&te^qn?9+#O=375sk=*-K2uAiGRJY~t>&{-&i` +G25+Je0laYbvDjFurYFdNiC1;{%ly6(FjCl(~My)dr#gPM +&@*=ZEjxKTQ>3DVE76f|fI97*REutswhzlyX_!ywD2rA?n#p*1hQm267Tt=c6aG3kGNA%;Y)HXONL)A +~Q+i4~OUnkz)^B%}kOLy7&1gTXV>t6)1e|aVNp>0m*wYW8)jwOAm8rxl728SapN)1Eh`iH6|D%jB<^6-HF +agN2ZkRE#2%E(|A+1bRiBH@t4RKcW7m0Y%XwleNs(p+%OQm>sJhhfDK +zg52dh>9@3<=P@0fyDMD+Hy-H+BmB!sJrT@M9*mb;^Mi*&D^Jd<>88tfV3A7ysWd^2-X#?xM9f6K6dg +0`~cciS5nw3wd92dXPbk=isblyH;OJZ;Bb2uYzCZ)R@**?dp&++4<)EfN~uMDA&Ir&6N2Og$fOw?kSQ +~1dk^x~jsFG6IKj4}Sp0U1lQ(ZltbKOd03W?wCYks}JxFvdFUVV9_g!yZu!hwk0m_ceofQq&d#`As%= +h3xh})JxEaBs)n`bjrt`tv@a@5RR@p*$uq;Fw6Emx_)ePOjT7mKUjnC#RQ7UAMxiD(~W2drjTT(J;KA +?14OQcKAg1SEN6K{n!E|%B<+DL=H;yu;lz)YUBpQbwkxVIj~}s5V8MhRw(_-8jHk#$3GVapq)+L$w;ukaDgK3eUPDfH)J +-)boB5S0oTt24H&F=GV?GFJg6RY-BHYXk}$=Uu9%zbYWs_WiD`eeN;_voG=i*`&W#RB7wB +Eddgv?^pKCLmD(oCwW=%w12{1@wN19Gs{g(IUZ|1#uAo@WY2U54KP%RN@t1W4a?!g@gAB8 +D;KRBTkmn0nyVxa5=Rjmyjj)T!pSUJ{d{cKMe*Q1d2HLsritxx{ohD(WN2jTszur`!jfC=T$_yTlvLR +xCa(xX;rXFM}1g@zr3>zMVeg-!3zd5eSu4rt)&M25ELzQkD0nBqM$RuDpJY@iH%u|tO_8P>w_QesZPu +W)Y<)|p-0mZ|ssznH{JJvv@<$5}0mmq4520>NQF)YHCzcOPaIzx&XSeY}%pS;Pme5I!sGJoqF296el* +%E1_f0@oot+&#eM<@-bcCUq!@D39nyqbv;Eb>K8adLSCGV->D7qm;*(=_uTLG;e^Gngia#%QzMYIeg_n0zweEcu0n5-UDhj5bZD**3zY4AdHvi#q<2(mYD|ePr8G1Yx&NH +p0a!l5GBJ*-4bU`0(aj`8TPMedI!7ohYqr7F`?~d#(4j&a~H-h7XfIX`%8o@P%Ot@)uA`0|XQR000O8 +1Cd)V?GFJg6RY-BHYXk}$=UuOOM+&5WeeIFe(a2h*n6i29!gR-CPz8kfNu}LXf4A%!DEZl3K@D_`hfP(1WtmZ41N)%i=sZ^Ue +2>ru`tKCQNi4^Ayv}(3!sEz>(3Wtaw>??&Mg`>N<_Y9p;4dwRI*8-rw4H(_$JO +$4;Eg&`eMn;LGhMtdr)BpyU~G$Ow^e=N&td4(RbWY*< +e5@o#<|deNvH5`;1^z@BfQ-i&bIEF*T32tY54O(^i?r_*lsV>GDwR%mE~7f +HgVJA()LIw*3d+9<%9DxWnH&AXo5$(!T?@r&C%L8odv}z>$%<*cE=F0yMm-%9`-+vq(*II0Zp)upO{v +YxDthN;h_e~_P}SdXWad$IxM1gCWE8uOVn1I)5#-Mka>KSCY(+B6RIq30*1u2D$)4<20YE4OeSK;y +0ID&+Ow7{BShT#_ntoclr37#hmLBIwRKavnuE2HA&J2=Q&*zXXK>8x6lbRA@4!sYdeS^R9u;Xzus$Kr +Bv&n$&UKLAim0|XQR000O81Cd)<;oTH_H2?qrGXMYpEC2uiaA|NaUukZ1WpZv|Y%gzcWpZJ3X>V?GFK +KRbbYX04FJE72ZfSI1UoLQYQ&LiL%P&&M%}*)KNi9|=O3g_uNlj5G$ydnCD=taQ$;r%1S13qK&Q45EE +!N{wQc~gq08mQ<1QY-O00;mBky}~ZBnV{;0ssI51poju0001RX>c!JX>N37a&BR4FK=*Va$$67Z*Frh +X>N0LVQg$KWn^h|VPb4$Uua(<{d(i$~(c +qb>NY0VM5|Jf~D2MRMCQeO0ffDn +)krikq{!FS!7^~E(b!x^(jw7tMJ4X!$hhpS5ALBZ~sgXW1*4%%9Z$wREIs>O$-iLxGi(i2gE6CeoDko +D`@~u(?kt3BQxB07jfw@_y)vf>8faXqvgD)HoSfX!5j{@1}3D1+M^xk#z*@2nLeY2GQor2zD?9nPGco ++qh~k&_9%i?zoYXs=rzQJTzG>3cJ9%47KgS=tvu3AIM(l&q3?xtZVnv1}%MXS)TX_!o| +wyks$C#7Mi5IAu?aXdwHwMtIUkP3%{gm6|y^ZZ=!nFR(tr7{0C4=0|XQR000O81Cd)?-)jH>DF6TfaA|NaUukZ1WpZv|Y%gzcWpZJ3X>V?GFKKRbbYX04FL!8VWo#~RdCfg*bK6Fe-}Ngd +@ZA}7D9CmaZl08ldHQhxjOYhC~-+k3ZH$EsK)Fw-;B-P7-xL{W6 +Isq3og)T(M!UbbCU6nS~BvT~{Bo4i=!kM2UN==wtIB2x3b%$lvLv&Ch0uCd!X>yo`FiuU&MHGx`GMWG +j6UX`tTw660)1911G?DX5N$mjM+du6`zAMagJou9)@%+IP#>a4pkKO1enwHKQ%w_~(hJAv!0DFHycw` +!`jnrE$k^tlY9HcioHE1k|CeXh$zwba~5ud}>J*1BzRq0;ty{>d%!PB&du6|H%@xXAKys#bXcZ&q2+> +Zt;h0*Y$x(QRu)s5FoF6nu_fOzH3G-(Mc3PyTZBMT4Dq^z&ir+eA^Zu +i`nS9Wlvo`8Bd@=OpHuvDT&}7;ZdK=Xl3wX@SvAQLrU&Ft+C`JsoyG47{ro<=)XnZb$N{Fqx$aW^7Qd +#t?3(Sc7c(*th59*4W@T08i>%0h(`lKlwLi%mShoQzCHn0`6UJ=6W8Oj;K0Iogsu}B6REsR=h0|PTzf +?`S&P(|BN;fUMAM3l;UAD}+EaahYfT5ql`kQ>d=`0Zt%diJJz5W3=FF(YwXfLPBpu=QzG}sMA3#e^iL +#MD&%&!!E`Uc0!^Ys(KO!1UiArGGv8`^gkYjIYM} +5`B`DU6bjaEq}=tK;5)k*XfEFtI>4<&vrvu=k3A{-!(d0|IlQ0t(&RRWxHuKAP2r*WbK83th1)eyB$P +fpqmnzX|TT+o2J3(ZPr11;MDzz6E9uhhf)v?>Np?GOqt5H#v5-EEpu#jKTeFS3V +UJc=i%lM&K|=>fx9j;6_Z^O{go9s$}#4CF9UpAPk7e35X&crr1ne8iMgVMfH~8eO%qQ4j{5P(9~H>v7q6ZYv2_cui$axJFA+C$ +tu{3%5WS@KuzR#KsFJ+3yfNW@NE1Um3d2OrJeoi^#fx;Cag{fye@hMA!|xK1t4n+mPi!k#Kv{LJaf0S +i*WxJgJTmBrCgCO*qI`=Mm3;wn4mUOqw`~(A^%7xHd4QXf!iFXk)Vy9dN118<1OGu?^SZ%RGXSs*Bd(u*|GQb%!h%T^9H8nKfB6`jmNje +&SAZk^@jA`e8g}<+unSqJ~SbrxH)MyuQr`|m%>&}t1^B0`1CKaJeyfR015Vnh-$osvp{=2)qwgnZY@} +ER&JG{S=MM00wDGfGWnY9M}n*tM=kM0U+W$#>yE9UyH-H-bp_ydfM(;U0(swD=dC95A(WRQkIdq{ZB3 +ZN4tpY4zaui4k>*=cBcy)e%T~eG(8hxXQJb^yCfb7Po^R3An|YiL4iw=Fspomji5PoJXb5(XYsw4 +Ko{}6y-Bj=GWOt248DHQYFU+c(f5Y^2&xBZ$ +SV<}HwWd^T_D*3bwV;G4>BG$#}ROopV^6+xq_Rt1}9U;{sa6H=M!s#z&nuLp0vjx2jUN2=<+IWs*>d$ +jx0j1t&6-fP;KuwvZ!NZW#yEOYV)pTSs!YlDKLaxzpOj&5&?ss(~BIGc!j3%oz +nX-oGFRdNQH?4R8Y_5x5&)0@!ukCIY@SQcA=SJzlrxDOm}~r*HPgmIwc&-V)7NW^tY^0L~b!-O5@F(- +3OW#GrSv2P?n|nACCDofP$hP>+zgm15)#Ag&^AsosSh&+fmu0Uy=5ZQ!%(Ti`@yZSQVyD@O@S^El{%A +KYTeFQBA)Gd-K_KLAzosftJ$pb^$<0Ph266Xzvb{0}&vND-aFUU}!{dlLw0b@!bk)XiP6q4LEAtlifl +i9>`83!ZRCW2UP$BESt9J%JsYFToWBv4}erPy(Wl^jrm;0EF6B8}Lx{3fefp5j1KyH9T)o8o&fZ<4wW +2(`tXetoHHAJ|kq`gpg!z6T`~L1r{NF1{h!}ScjonM8n&_L?qik4?-818rpHTg+YryzK(J +#ndx>2AJ&-$TmlsP^TF}9vJqMO03+ngipA+&pg*-%MIHFrR{Y-^CDIg+X03zn|7pF%vg^VY`A7%iId1 +t_VWHrP<9$F@H2`%*J-+!KZEJ2W%AJ^HI7!sT}{kDcJ0=x?b2r#h%^cT5kihxmfQfe@NOA%vkp>|;k! +WL9(utsunk$kBq(lPp}lpXE3PE5)a#W4j?mno>Prn+t!P4Z)A1Jq}|c*~pV9@&*7{lef#;30q!_uP!( +IrRt}6=`PtU^HctJrf0AlML1w;1ybu?E!=VHQbRzz>U~7iF$=l@Ff5)MI7N)UT2q#0n))}YO@InTNiC +MG769dJFuZz8TH5vmZL5E*?xy>QsNk*mk!Iq7z|0jMFlL=)>XNrU`D1mtOhG$kKJFD0uxcImq#zvXMc +D^z480!5C0$*Bd}Z1P7;NhizbY?Aut#>;|0-nUu{aVKd00RCxanyWH|U2BZnAW1Lu{0q1}xZ7KkUNC< +E8)y4%W&eprGDRcvVhwAjIjJjTwV|G!(;f8}@MEtq)(c}G^wtE0u3>9n513!Zru{lUzvzHOxOEU&)dF_3>aKH>2f5?hd1&V% +`Y1AqL(CZ~r(!R9ERlDP71GY&VCQHPJ|qvYCoP^#08_J1UF?BYJQANbq1BH;I{G^F^tC$jc?H2296_B>x5QJ8btxW0>`d{mvG(6#1TWT +~tifWxfK#LR*e1s&mX@VJzgbHJZ(=gtXwY0eBqo110Lmct)DZRRSI@{WKqH>C*eJ@tEHLc%BPR8^Q&&KBs_gxy>gax`jgSY3LhsF1 +H6n^6q-&b;d1vm?&=L}5LZ0*nRF{q(hQEn$|78l47q7^tGQJKapf%siOs9qSvfc7!epH%4IkUA?v%=Y +~ecsNmCtItB;fpay9SRg=Eo;jHqu&G&{c7S2{rvde51pG|>dkb_&pw794;k}K9v6LaFKo4M8*QwOky- +s%hNnO=(59qW%N*K=W0YjZ4+!3rgOy0nlk|Y|DQ9Y1u^SFVB9+^$u;A$Vd>5t@Waf<>9OsBX^=Bh`G|=@5l;9vjKzz)thiVi;d7Liu-|(SeQZ*vwAWSVZU7&n?#0 +}0F9zK^-a5{Wc{o+9nh3O>gH~%Obvq%<AW&|zcct+!WmVD;kDfl&2x?3dbn+@5PfPnxWIw*7SNZ4}`SY*mldf!%yz +)Go{3%u7gkee1&iTxmL^VW-uphGIqGIh^d755B+(Z7;8lI8EuiSmtLpI(FKeV!oBEy5af@G(cqE)rUs +IT28oAT!0-wUg#_C3#e6+Gu2yx%C4!VB0!!`!g`c>l1dqiIRrGoGKsh$1~SCdMKcYuFOzihRe*y`%T3 +G+DfXGJ#{;8lLIs0qD`42psa`(^}u&|qLZl)1JkvcPzIeMLAFd_k_2r1jb3CJCh|4~Qkd8m8DxXTBNJ +7nT;O6@`zmj`O$L(i%JXMTvKV37$;w<4^_UVeRdbn%Ct%$U3}!d^QcHY#6vxKZqLtwc?B4ALj8b9PBH +X|gx+4Suq!d5^KD+>@#5yl6=TY$af>QTrqcj+hlL#BQ9RkZCg54h6&V>A;sxFB^!36pF=cDH*uU{R#J +bszJczJsK;`zzXKP!nVt(~ELl{Gn0oSjyJgYllGD&&#bIVM;NBHz;r!72ws9%e-+ZKa6+{J4YK1#iNjf`f>Wv10~@8TlU8fiC)5bMY%(g0(x;#vgAdUIp +d^?>1i8{p^Z(YKFZKRfl7fU;kbYcN&V-Z|>))-#rIb!LfX!TwUcF~`u&G=z?#!98_{R%HZlz*4|`f{i +h{#)0h|4Hh4nG=>Xm_5$)lC2Fi592leYV9dDjyZ}0Tgh8luI6j*=p8yz#>ga=~u);aK!@QF00>Im{EcH5s7Ck7)ah2t0u>SuVkHdi;K9yi +N!xHKaGD%;NQugCx8Aoz}@A-=xoCBi;X%yyg!lOgA!v52JE0=qdoc +{~qFxjCnH_9lw=Urvo#HNDG +9PxRXk=_DoYarBOGe`6AWQ_H22=rqY669OE91b2w*O#hMB-+*4%ODs6$#ZhbxmYjEK>UaZdL#M;?Q$K +tYR-I0%S{9?{GgFGrLBnBzDZ);ApfM90J_(!K!Jwi29yUqM1fYre8n%!K0=(y%H@ALZdla3nBvy*(2Y +Ksoq{Q#nU(&?EzpdQ%j`{(E>0lpHT_v(dwdv|j$EgSmLS9d4Bk8wb^OEC9^(vran@zc}MTZP*u2&f70 +dSNCQ&`|;Y8y&@%_l_An&(OhOj1xW5ms%sod<|Q_)~=ub&QO&DVzZU&RN;Bo~6)IQDsXqtlJAPjQ!bE +bMy~X446vTU#_>f%(g8s3{`E;!Hw_Gt;J&l0Ate>MLz$`7bPxU&)^MEnED#_$6d6F6eiWyb!Xgfm3aW +#?RpOOB8Ce(wy7xj)L&7eUYA8)UK(r#{BsA>f*86m_^eg|I?);hqEI6P0KB6GC7vrEtsg +K}Gvi8vs#3ML-KIZZRSVprH1F2O7D#Ao5U0Zp
  • C@q*5Ye*KWt^e_ckw$C +jDuE)vzCaY&AC^542)D7;>r}+<*AFx<`K|qcHdg6$NOp8?Z3O;Fc6H^Qy&t1{gnmU?m#-Op~2>_UcbvW~(>fO^x}YWT?XNvx<((tE|YECe-NJB{Q(+9Q+&bwp +TzM2NM`WC*$UDaJ((->0AJ6E=5fUh22+tnmBxg)S?OQ;0w&kQtyf5pqF{=oz9EB?;g`&?Zm)x8!UDzL +4kJWDvQHYAef4xx;(<^NGKdXAAw`PoS%&+;Z>S&(9}-OlG51VWGcs~WyOXfztk~puSZ*eV=J;8?mBY4tnhMV@H5&s2OPVCTU@FK)nz`e +C0R`k-pF#dqO!;3oAWzKUEhEAtx#@T+iXsswCafv7F_PS5G(5+|M71(T30Y4rKI6Cd@I=z|vC=O4p3Y6E3dUwCq3e5g%ENNF$6GPH~c!h?SfmnM)k`{T> +h|G1YhHOEF2ItcY9c-~sh2`DvVJh$j)lDW+*8O(5#0U1d3mKCcsc^SPsSq_!Y?b$B9ENyo;&L@->Zr% +Ic(bD&_50tTSl8Iue?2f-*Fqy>XG~Jn~Dd|UacwYGQ35!2Q74EL%Lo9R16! +8Z`bJ9^Eq@Ifu{m6P4-=05|daEz6C)52w^31{)~m^%e>Cl;8C3>$EGq;BgyUv8TI#uL +CcmnRzS!zwl0*`Qt38f2SwVmOTzZFp%&KGsRrUaz)<1aY%qOS2z#;HRXxz_g{%N+>9Ig&u%Ezt8Hi>W ++3tc?Z8tA}?PLDBhh}H`5zQu-g@$$-)p50?ar3?UDl9#~e(=gCWw%i!i`m!4h__EXv`mcQg$@qLA6aE +SG#zkg9_$L_WiqmK6a_!L{Io6|K+?CRFIM2Cb&>Y-WghIT0{&NIQfW0PA@<=A2T$G?++xYIonePnsJF +Ol0i8(r>U)q(;w#bcY}?^3s}28&AWNt_UXV6#9B>+zrh8;Z$WArk>jwA;H=u!e;O?>5c6656VgwZ0z{ +0$yW3||1d7cfZbVfB9<{m&w|1$@$o$S&lsF(f7o3$fCQbvgv7)`W^G--!D*Ax${?PBa{`0vLH4FSuwl +Pj8QKeH_K3XAAMsXQ5w+0kIVw(VgG +-vEboiD&=m7t{xc>S%OkMIrs@Gzg*zLKSS9ibzFSkBOZIgj^R1Ib2il9At`?z=q+?8P?_#akvm?0{T) +YEcbMyco7mx4riAS(7^@f!NjH*SdoE^1kJg+gZuF3V8*~_@jz7^vd)2E|DOos~!jcHRY`f)U@> +3rScfQSzVp|FB(uxRi&DV79NT^aryCARna0UyXS*BS7fDZ}2Q&Ts)CeVkoBw%8HsvW4N1t-k{>Gdpg^ +cx2<3li{@4d-X`xhcz8prbm6;1$a+fOuwchz$Y$Y--&mQsn6xG2Eo6=OX9)9yS*F+dl!Ov_Pm!R8(e) +BQ`}>^=cKBn_30uB6Nc{H|6yQSYdums9u;52O=!9ley;J67Cg-rWx_lHiBe?)X +T9&X^Z;Ws=^0AVI$)Nwe#ogyCTTcxn#D_`3rp-@ns_f>Ht)|D4VCKX=9jT@tbbnp^(|z| +>|cKZ4M2?-Aknyrg?NEavwex%!s_SmkA)dDSzRZSkK21Nuee!8Y0p??Jn~q7WSpU58nSsGt +nBmM5OJn1zj;gdQJFH@n&XX9nvwFc_cn-uS;H@vfU>_2J);j(?2^kUvfs9}FS8Y3fO|7GOi-J9Q;j#) ++q(0Twz7(jjpDTofAYSg9J-5@njVl%*(;dkt$WMWC*g(;_Nv!U>fQRd3Ax){4Cvo4(Q^kv02BfnYdn^ +<9Yhz$vdq(-h?3tDa`S|3yZd35m*yF +-j0$yY_7t(m(3|p}S0o+Yt%oew?$xcvVgEZst7@9s4AIb?I8^Dzf}j4ub9X?WIW(vz&KO;Myh7>7Gfn1;;$;YHMoBx@IqGQLbBdr+3*-He%!@>{^d&uLGHyPXA_TZ054*#T9bDjo!k!M +;^wTExn?-wl9vp`Ws3O`**X3_cz4tjNxh-SGAT+Kx0T~8eqPQcRmiYjP^9J}h~OF;+uk%~iEf)lIjQq#=wsU}DKY;!E`r8Om)g +yOO3)6yyP^~M>R(t111$6*<*L=Mn_PGFeY}(j5HDcI$HWg#Qnue1AC3dYPw(bLDSk8HcK5>;BPUjOw# +QHJ;IoYJo|DsKpWSZ;+NU>9H>`sp2YE@b#>{V6XG%gZo_HP@YUW;n2x}e5a@zZhWUC#qrGV9jerg(Zi +|lA~#Op-s54n8c!I$^%yV)d*qMFZXR(yS8Fsijr?7<`~X{GZ$r4;jw^*E +C{so$MrRG01bZ}=n) +O%bI^@CH5N7w$L%GfO^N+Z$o-K`hq2*yEOiPz1h1kQQRZgil{k#mkU0N|u0DGI&5^gv-GIVeGC=c6)N +Z{pz+GD8U~?3QIqZJ*=+PtfAL{qu?rl>+{GXoIm9Oipgf%qQB(b=0sz>t2_wMm6#WO5K>zUK`mi}>@n +giYa+sZ|+8MtHRy<$VzXCUtv7qHZLMd8xv7#4iLg0+Nc9OUD{jW883w-}(@z`G}ks!-?%X&ab5j6wTr +XYw<3WjE3B^OMuZ&z>EY1V|-0&h)vs?UI^2Zq2z5fur?7Crp67o|IQN1y^8r?k$QPrE2hcEXu0YULgi|4BB707(ywU?+G;Il +uA5rn=v`mfhVC#OeGy_>mLUNxb|zVhgUn8|{TdU&D|`Vf{B?2p_hzjI+B0DGE=FYw^Y5dGjM-3LuC%q +=JORvYRSz~&Ak+1acG2wM +9f0Edu40rM6u@-)*FVF@q0)u2;C_)0`v9Wz3`U#=o(lUw}-R}w+2{)Z!z)#xZje2PK9#xe{V^SUvP0) +7M_E*KHz#=Z~2-pA6`T|tBI)G$FFciuv$e%c|?CwHuoN-KX50<%k&$a24ENd5%Y~VGOK9nFUZ@Z+*tb +HU3_Er^Wi^K)P0MNn$@o>ZL#Dk-%-NY^6T{fj7Va(oqiOIL*bO4S +L$Y;F?uPA5oqJaX*C0p61lmWxxQ(mO2lCLp85+s;}L>vUM8J%+9S*X7%^y`-WiCxX2_3?mjMfp_@Zu9rCPLvIO#W=ycd)}xpIu@pMA-$sTSA=Tm7!(mrPzC-tQ* +vwMy(0&UWP4@m9P)h>@6aWAK2mk|-TUjy~9_(iW003PI0012T003}la4%nJZggdGZeeUMa%FKZUtei% +X>?y-E^v9RRc(vZFcALUUlCS>7JB^w3l#-LghRo*Z^sg{?Q}PqCcPxxa~1!)leB45+YEd&vc!wReVHr6XE436dmq)=?}@P*J=D+;dSQa2rzOSIV`ItQ7xrO&&qJPMZg9b`LzTSUnMYxQ+)9Pdjo=l_&JGReZO6oX +?Hg(lHLyf8DG_V3e*$Kr?ROFIw~uME?^>tWL{qnk`#?!WFFRK-TH{KS4ST_-L!a_FB%S$uCe#0|XQR0 +00O81Cd)<_CP^s@e=?5{zm`+ApigXaA|NaUukZ1WpZv|Y%g+UaW7+UZgX^Ubz^jIa&sKyQ12%Vqceh&#N|T3sJF+XxMcn+pH|VeW*x#FyoFg-6Nf1ou#6z#64SY6ckTusReTw=9`xy5ESUT-oBf?zfS)~l7(2lKrY+bt~LTncHvHGH;d +#Gd6@o6#Bpw|>;$QV{K-)^f#%Z$w%0HHtQ7Z;N#sv#$#YKfkT9cU-!Q3ZxCoOZX3KPD^ +zrCvlLvf7LXinHshS4Jc(&fV%u(2EISMzXnc$p5V6=qsjslT@U&izMlXE9pa^d{Xe{z0tO!9|8!H7yr +(8>KoO_8HX2x{H4j+u%;2sqfI^%TRLZJbA=9i`?}~d)^c)|#FXY-8q-n@jB~SBWlIv<*FKjb-%iFX$h +t{qsdot^+-KDKa;oj7M`?b3u0E!vhn$6M_XiQVKU^g=cpFoqH68`~D3NEO{MFjB?01$uwutq7lLzc4{ ++BmqPg)#O7*7r5t3)8g9_B>6anW%Y_p^pW)Uc-~Lzn$FigAAkDY?kv4OTi@2BueZzP%iCr2pFvE#j0jrI07L#PDo%Hb4cjYB_#v +)WBJJV!$+i()9ey75Fr#N*Xx!jaPhi3uGkVZM6B^@jzE~Y=S^!^qJGVN4iJ05{n5qTtfmsJMr +Dc7GfLiukxRlrGsB=Rvo+s|5~57NUTQo^DIP$$QIvQjrqUm6XoXvI=K02oKcr>_hF&7xfl|a`T*2Sp5 +q%PZFN|f*By5#o{DMf2fo=;{T)_pnevD&u4+CylV2o45vug^9gjT`3=&}+bUVdOZkdYQuyAwKWHk|m8 +vk-!8-iW$}@5EvvOLGGeBQzn85^o)(mX6p!Q@_DmN`sZ^Zo0Bm>f6if0z}2xu5D{MfAy;7HF%W+&{ZX +(+2ZxpXTSOEx34bN0<)i%Uu~Og524KpJP2=YA8uQgTrI6Vya0RnLzujXw0YwP2tkQO_RglvwsHZ4efi +B7_oSED1dp)Vr$;s9=@FOt6c}Ib +hm6pCNy#nvPTk{k%*e+Z|FG;G0%Z!IZWS}QJSIU%6xP#Sfm*sxF&?=OEB2S~zIJXnHmq-$IfP2P=+T# +J%)+>*>yCSs_ti@@RxSQ7@a=Z-PKZ_3+^n)6m;WWZ6=V(^YmdVM1SnyGRNd@xB{xz)2qn +6fy)U6J5amI%E<vF_v4c+6IN%ir&%EC8^&PtRuIBokg_f1aAq9LHVn3o<%HhN;XLu^sV{`l5W0wh@q_SD1&+UH$-qDH(tl84P~%Bw{sw0`lb}JbDT|;1wv+ouZ5?7%N4q8R&`eA?R%C(Yb; +(L#>7i1_`5fmjIDqYAiu7_gq@mHCX{}a#V@=;s&x^TYWN-z{JfdZlq +~B>#T(6BR+v&VIYx={qLI(=;cPJ!WD;ny+TVQr|@VN{S+k@Rx@j05X7{R1!#`Cu=AhFq&F&{0h$~#nR +PpI-=t@kJ})oh!Ro*iIAn&}?;S8FREs1hd=Ooex>UN$J*D}*zN@4h-4j%ejr0@WqM}kV#2>_iKF(p(? +*rKz9F9Cwb+DvRNg9BD(2Feuk|;@h#JCUtc09W;%7e{-zyH3z+X5jHR=4Kpj4|@MXukhGW-IMWC3ebG +NC3t8)In-O>!C#RbtuDHqx@}B1zMRQl}y`-7s29;vfGZf- +c1z`h_FM_V!T>Tbol%q1qMNn)j(eNNbtQ$A%yivWZ41~e!n)qC_s{D*GQGFl^AqZ7DJi5I?-%?Z^X{r +v2+Lv&23%=gsU0;zwNom#K0Yl;*1!kMC8>M%U)_P2{TC&qMpf!&1V>i +5zL2B9z{Ejoafz|r`Xm7>qz%<8+z$5{O-MkDSb6C17PIw8ok@dMX+3OsY`zBixLuSRu4?im@-^td&!0 ++y0pooXNlUsn?#T1paMS{^%gb(dxtnKsc5+z5T@e`t_1=t!?rtxFoIGL+M#2*ct8(Dgp;(_#%~s_QjZ +Bwi9_4wV99#USK}gd;e@&Uly|c(fVx{r&R5+w4BjZ-D*7&eB`?wQj7S0xWvB2mEo8#Wp+DIK$djzub` +2KqZTDhk#7$@~XL{ZUD}p+k~SbEs2uC=CJAjt +u5N*NT>xafN{L;oB!da5kK;3@v-T^lIWJJq3_Wr&NTuj0QDuL1H0^VK<7E;f=k_#p)COCnc4+ddUdp^ +L%phY)I>c}-cA$lWEEDjWIRyz5Z +Hg^+p|QCzO{C)WkX}nLS?gF7b6o;~I`yV`+V*{&9Ak7Eg^1PNRtg!09foGKP!y9zIiwmXFYH&3RIRWJ`_(=+in=gg>?2=K7yhLMbJcUXJ1isrpqJ_PO#1D +qQiwa5mc<<`1=5z#FY-_|{UT2?U?f%Rv?Bp2CDhyjVPS|RFeSX+$H3q$4^XG<-I}jYp;Q9oqJ$Cwe7N +>qP!p=mECzgV@u|zVfRi@U^~Q%v6>v*mPhhf4aCsafOI97s=>g^ZkYeB%D2Cd6R-kH`FAVvTV?qfo6Q +6HH2gzEf+Y}~e1Q1L}&1F`$a3}g*k0%$cGx%XwtarHY0#z-gEp(irYZ{C`eeZOz$>OvkaW+Uh28{@1l +xPq`cty^raX)-~21W$%O1C5!C&~Q)eNEoXC>aK2Y_^e;AvNnaLSyD@oYy$_ch25n#v5a*y!JIQvk9eX +5<~Ut>}p&7Ql41o7LSZIwNmGLz!#-M0JI@@Y%_ENp|R_Yc2!-3vIE&tt0Q^Xm0E}xf;U~IHb6AVLqs- +t)$_RkJF^8>vDdWjhoUS&SvjV;t(x!sSMS-cfBhMC#k}3WDmS9AYa6K6r13|dny3ai?J|3v&+(~&A&{ +dBZeQDOSmOsuqHo`RJ116+QL+|K{!s0_FSfgu>B6t#Yc6Hh92`9AQ$cE@ssJ**ThE?WJ5hnvV?<2)mM9zP==E>Pds* +-w5obv^Iv|Bn}>&O?&Yeiw8Q8cFJZ*cs$FKqukV0@oQXVvQ`l1(nPS9Pu;6!Eod?Cg57T=Y=l&?#DE{cOHHA +t>ClsE}Sp>c6+4=lYqkE?5<@zpU{s_=_T;?pDbDCznU>{Ib+TjTCWS?Y=UT;R|SZirU0lO>g2augCdM +gKyvL_Sk1N=%_pB}lzW{*Nwk0bP_b-^uJZFN03A{0*{AD@M?a#8zXQ<;Lw5IhMY@MN!GNS`gKFTnaQW +xuP0rWj*d5Mv65C($%&>a955HCf?))uzjRZllj| +677HaMC&t~*zVW(R_BTqMT>=ABF9+7ih3V~x3z=T}8`LG4JiN?E@yV-;>L18LULkz( +RmS6a|)&)CMF)W#}z*vV(ZC$v1gG$HVz^`+DQ5$|uzW#!r^#sc!IJw|x7 +Qu+BKB61|1x@I93k;q-|OI+@6d_CtKCeSj;)?<1-q?I@d4(IXc$$r3A81Mb7K +=Ql>fX2>!cwdXMMU9+GDp!oPT%7n^qaO`B}0b*nmQnNGu1he}o2xa(%}Pus=s+bE_$L&djMZtT=N;Cp +Caosg)_S)XrTR{9(wWMkTdaxT|Rv7%EvRP|$|SKIxP`3++_2%rw>v$|_)L2upYy=1YWBb8{ee$V4b+q +O131{`%_jxX)2Cnx_n;m{_$*x7FBOwV@GADpyfF +FR5(U@9^4;>Ot-(NEpwv@>}jSS5mDk8PV2A|bx5BOZ9(zpsNId_9Y53cw&5JddVESlOGGxQ;_DP5cdA +mL#Tz!w(&;=%sw*HW}ZkXGz6ds20(!Osq>OqFX9{^#e$DU9{x^9Hk^MRv+rZ9wMODWX|b?kEqZH=#?j +|KjpLX@Dh~Zy}_w%02ocq9C>HX$k>^B3I=^hA+Q^b02t#l~4Gb`8vS>d+lMbBMrv9AuN>(w +F_h0iV){GeobsWI~aLa2%DMQM0pj$(i-MNU2R^D$zfYr2kVn`V5Z->BiKn0zDNP2;Z~}1Akx;vzui!8 +tm(&`!0+7p|^c*{Ii&mPo|gdoKGYU<4D}&Q#4JCn*8zU)Z{-+DV?;`1$S=$@>+^NwI6Tr{hXs^$(_41)skfX@x}o#J$HKhAH+k%&IHvRcu@ZtXSA%qYI#H()r}A_HIGwC3$NEghPEcp +1?F4yV?yfm>e$+pv0)7X-d1akO4^RtTs*VuoI8JhM7^W>Y$u6++ +qc*8Z=>i=OW|0iXGiq9i=@q#TphOpLvvrv{3g32`<6RZE*Yd~eYgxJR&+pOU}v%`TiPb64+;JtYl)nP +Nxzly_(Ey8e#h^HezVtwRk@Zm%jZqfo5b6hoH9|XVxFlEA}V5>{XbAk0|XQR000O81Cd)Y-KKRdA&USciYH~zw57We#^t}Gx3t+xEBiqUKj>)sc`M?Y?00zKdG#m~G@A?09dBZonYz1591! +r~Eh`d}4hEO}mH+9vttf*EiEK{#l-C`?l-i7|wm@=_0_-FmnHARtMC$iJBsWt`#Q!ReUijE6e*Y0WogJqy|9JfJPbcqwo>0+?awosM%!(qrF1UPqmCsxG?Pp%{CTpukzMi!3W}3apg=+S$de7Ug +DdpQ~-R4!974q$(tFgm)AZJ$Rb&}>K0D>0DyvX$==bJ@E9Yw4m|2*fiR<}PXMT@h>!sDiaDKd8@Uc*A +1A$h1S269s^cp(zOvu3_d#k{HwDbK0w9E)N-yEcc8yqs4Hhss&kR_TI6A%|68`t+U>Eh4b;a=|~tvd% +wcE1oX#wb2mIWa(=v+y|iK?Y3$@0UkmCDNNtIK9?nfL7D=g(v;2E<&an=Z5&DsuLj7&NU%3~$ptji>w +HOzcL`%nm}r|TXo*dTt_`%)Y;$>uwG+A4_kb;VmDcnv4t)NC{r{^bs1%hVfB5M|G!C~3?0;hL!e0QHJ$#;CeK-DaH%5A$|M~3f^! +>&0tMv5j;^g$*`IO}N(kx|?Bom`s5-H19SI9fWfmTc<>!zTXCjA=zxoxs^e|=fW%Af*C4qbuaL{R7QY +&aqi$Z9610wpRf^72#I2WD}dmszt5YH+Rh)zuAO@@8MHnq<1p1n^|6b5PbcooM+YT~}J2I+Yy=Yst6i +l4qb`q4O28ysBkw#jbI?5dzo;UR)A|D-BHZUtho4tD?Hjid4M@6Gen$%el-~sQ_64DH1gMa9YQ&PA*6 +q|5x*ijRmA4ph5WGC*m{kB01mKxEK@Ag! +xRiDbpwH&ixCQ%PJtPqU$4xYT0-xF){`2()&zu(R4i8%;AvNSs@~gd_Xv$X~PSc0#4j +)TmQ1j1Z@u3UpQM-#Phe}S3@TI +bBr)+4A+TldCMnlU{21Czg9{P$Q)Hr5mQRb@GywA-V18`=Lqm6HL87SL{ghGF>BxS%Cq-HGhc4_G_f+ +5IuIWHEW-UdlTLvhYUA~|>p6V5gco!~jkz=VaJ1Z*udRf7Q%x2GW|^)wVU110`2lECzws1`T|Iw8_`@ +hI+fHuNTHf~%+ZYPXR~Wp=V;U=9K0lnV{ia>SWv1tec{G`6!cwq>~pqyLScq%&*nw7|BRIwd2C;+R^R +Mp0L?87bOLT##eAF1V9Z0hyZ|_jFk=efE)Fu!)1w*h-D+3Yfs?fZL+r1ZU*Ql{3IZQ*)+GGPPJU`7zN +8JyV|s(Ad?4&bZ*ElvUf))c8o&v@Nv=H@t2t;7lS +K{Bfzpt8n#lx20ez6W1(rMUXUa4HDH8*4?tU%9T+J+j~5GZEUr;W1WuNEjK=8wW=%VLHtxZJo`^vz+u +8C+yL?rGJD7r{Ahq4Sjrr#qr~z*`srE_39*S1BSgniV9)}hVC*ilLV=;WOW~AlaV_qI0PXNo`a1sYx5 +tth|Hw>d9z(MWW3Z!R14R7xl{3jgY%XpXofKAp~_8%V3hsdzl!rkL>^MT4{=o>M{y66>4Q$iUglCRKx +!U!E!`+L?vVFfCKkTHJOI%`>0*TpXIx|CRHV8&jyHj3PZL6Xn|0MsAhJWywUmwf~nuQyCGwbtnEozYp +;9fZ&aICXV|ZbC?r8IYz6u+`I)WHv0m#2#0^5^*LVtCd|B>p8GoVhrEqQ1XVeigzgXx87>s4PDU)*wn +I_lMW6sa4$JsH{c-G_Kz$2PDq>4H}Gv~YEWLNZMXGiKob3I~b1-AeHsdZ({5C^(7?| +S;i?n&BmmH`&aV$wTKwpmkx-Qe$r^#|{s%H@ogy*zjCVkbBTJFA9vSNR7Qn9L?fV&M$TKi +dqpnU80Mr0xij#c~!t}V>C)v!^{`1&=Hn?ILQ~Nc*sc`>V9beSjCfY-#}ho#6kC4VPKD!3!l0~6H+Bh +R1#6}IPQ|H3)vzH-Ge&Tx>xX4F{0-~BS6WXj!UaUedJM+Icm!+33OP}X=ckzGaaL}jogz06T%EAYx;p +Xh2EG?SqEz1s(BN;yb2(jdg4+friM1X2aex0gxZVMibn(2%n*e#4mr-Ogb(n5y*~Nt+hb5WE!$Qd7@8 +n@Wez$Yw$@La*WeL=*3lN83VrwxRGl+~adtB*J(O%wRP(H`W{3sQa6Cx5p)n&4TH-aQ0HT&NJErRqYNC^`A~x;t8)BQ?rI&dLXXq*rbE=Ujl%83j3>2 +J);?jJEG-Lydm|1`+aunuyB)TGxk>iIU66byqJ?9pWlx9XPYZiD;Gdd>4FFSt9#5OgD1*&j|`S2YfU4 +Y;Uv&lUe`Jz@TE_&+OMpRKREc83#UNPgC_23e3!X9R%_Nmi084F9B)sc(2;hAs@7YHRG8;wfuN&xo5-ssTFHz(2PkQaZtFjHWMN@Kuou>+Ya58X&3dBpo;UI<2?mOlm#0g?$0uscRVb +k+4g_`F5wKqAS=h4A+gDpfp&@vChvxbjj2ExQ`#HIST!l|Cj0Bfv-KEepA#cpUBdqwDMjBZ-VJmoOXY +**09J3`CtnY3%~A9W^AqL&_Kr!?C+FYQjz_?50PILuH$6Cl{OxGN;kR2H4VKQ|5FO(M3fz$5-GhePhD +;9()reQ2S<%^uXB@v^Jb0t +VnBo|ZS=*pqe1IE>egfQ-pFa|LqFS2MiEagu-AwZ(K7m?WKd+NtH`=R3$3D%gZzGG$eu3r{7%=qYdZD +bEtD530`gS2?m_wk2n_ncH{d{odF&$)FX&Hbljsa939z!;MCestS;8<=^^2(&-xUIZXG?XZ*TA9T=m8 +J=+9@69--hlyb3;u-);QT +bzHcAef(MdPz&9#j9FOGprW~I{2pu1El#nI7u%p|p@4x9sPAK(`mBTY%e8O|kdk1&O^Ce?b+#o{0s>x +Siu@~}~4EB}k1~dX@*TqO@vhtJ{;z&w#CI`4hXLQ0yXEvg;PBUUA7-k_pguI)@n!pRWu$Db_%khKgQI +JA%ihOU>G$M~^3qbP2NOARS5g<#*|;s1UrE{D=^ +TcIHc|8L!~A|9-RgEuSZ1a@y9dEOO=87DX>4(PH!Ir=`lZZ&1@EVmXrhhJIV;(kL|8=w6aDYggim~8) +v^ID$v%UItQTn)~)nP5Dducd@9^M(Qp^P*c&vTOhc^Ca(KCD6AuMl&AjW|<+Dn53UCHCW7IXsHQxJJ> +J%xlGu%p)`a{>LV53hUA1P(Wh_tkdg5JU>&9tb6zjgFmRAm6*=30XZJecC+~BS&SV-3i5Ww7j#)n0V!nj8AusLudp +ox51>du4s*(YcL}?Ri&v+bB;83&XH#RRuef>^E%3u3=-Ie(&6+Wn^$fb$&(+%4POwShG(Brs#O(Aj!e +%$9Bt|X-HMXgIU@(G#Zw6&E!953lM)fi=x8~7NoP>F4bvDlOnK{!b~hYL-S1f9#J?=HtD$xTKvPe2Vr +c2$s#BgkWiuE!RhBaq)9)c*lx5MYG!f&Uup{egCs0}9k(V5vj2KO6nJu3%Jf)#%)iwjY4UOfsGz2&@m +adMHkKHtx2~m-bbO3lF`GG886En-2PrQ*f?{=Mo%%B}VubQT-RZLbcw~2HSb5x%=u>!eLk`sn(I38%8 +v&W~FZDgm*sVt}LBrL%_K~{MgFI1FJ(wD&dL8IXzthnyvS3r%=T(mlt9fRGNsG$za2;Mlx>PcPIqo-b +`7a%Fkd4w>Y*mo1J(}AoAXCLbubmK@oOYZrw4OkY6grejw1b;OfdU^>v^=@joDps%Fd!6Cus7syg83f +fU$~LcZIjgs40)b7*A6h)mdxCwO#Gd%Nf9t{!jvwC`s^^&c +RYs{$-P?C+7k!t-RZ^glx=o3pp%PC-hu-j%~vHIE1{3Q;qAIws1EX>TY=M~qZJ5Qca66#j_Mt>DvuD< +Q7#1RZb#q$=KJ3{yg{@v3YZWg66|WwjWU8CD%M7Eb2O3DPZZss+WMc+S?IJ?Wy#@n!w>d;AzG|AdDW? +0q>+0<(3~rAs^FBGj@)bJ_V)_8IsWkk`>!*ho>`mF%;+qHdhn1QZ +exq{(To3-H3}OOw?l}ER_-uodA4PT4{{@_xbrM**fe6`d+DfJ$~GmRft{sZsJ2up|`^KY+h=S_Y)`1Z +qA$6BSy*uO^;e~j!`49tx49>#)DuV276cP3u*sFG*=V4IDK_GRfk?+DrR8iXG>r-l=(!dl>Is1kJT&m +d5-jOdAwYxBznd-b-Qy9ymg;1l3c|yj_ir?_6<|Ar3ywL?dB?XgVsyjA<-3&vC#cr%9s}nB1PuQ^>MqO#=^SKclbIxs`L5?` +y64jA3vsQ2ES0?W4_KBFr~n0KyrKc_4OTlIkYOFkszXi=+Z|vudiYPO4^g1PcyJh!scA|NZ&% +=g*%1?)md07+l768+4X7d8=|%DPPV1Apr9`0Lmp|AJdQi&j5VAbSln68NoEahA#VJWBX$Ol!gdPAKNW +Wx}xUvk%kdu3!-AA=Al|g{>#h$$&;%P8YzY&XR3Z8;Qh)VhzE8}p@NUmWA%Ie+@E@%ew(sCzkh>SPXvaz1xpf}{WHQ0(w1(3>7XOjzEp#NkauN{S6ve2>WG@pVI~Lc@Y_Qse=cMS`U +0G^CX=425*DkKT&YvpOGF9%yq3Q(V=nxC#oa#5g#yeYx_;X~mXkg;d>JRQjoR}7A|=oxTA*o6k}V~FB +LR<&kYGTkH<)Sr`uxQr14q75+>hyla!6p_%OMgNwix;p_ys`>z2Mp_UcgexpEN;}dd;(&9aBGf!Zy{S +Lj~LcYZiFgRux@~#}g&TxG?PHHkfwLFQ?GYx#-_bA)h7%gfQ0LcEXL*h}tG$pezxEd~e9M>z6lm +0i6`<~%Rif2MlZmp*>GvsQvTSrKGl?HctJ7pDo}}y2-vW>28n>BS^A=DQ7yR6g7b?Svgh%#Mb_d3AOHXWaA +|NaUukZ1WpZv|Y%g+UaW8UZabIa}b97;BY%Xwl)jesG+s2jO=T{(5xkRo>#By1-cVake>)5DDv9*?!Y +^_TLVTdLN5eOgvI3s#${`98cDuUWsh^#G +F=};AlePQdDFt9Guc|*XT_Cht8U2pa`V2#A!h +q>crS)gwe@HEd8)zy!0SQmMLX$QKbdEzs*b(b)Z5x>?zMXITAZwjv#u*`%C>9kP1)4HilQy|;#AEmXb +t8-Pe1?sh#I_l<;Y)(t62cYe(3%NOH^ET-Fw~H?+c(u$QE6VIg7NvI{I)i1x~<` +>egHhpxrBT_rzsKlc997%1^!BM2RIKVG!s1WlLt@YyhQ!zy_-h^x9gj0Es$J<#JAw5HpX4zQh=ig9x( +oT=Bv_hKrmaw=8n#aRNM@5@m<1w_J2h<(Ry7anla;k6o;Wvb)V9cH^Zq~P2Ij%;MaO%ZxgxiQ+xjDLv9CQ^oPVi7xomnWW#hQ^e(>;x~DGQl#LX-Zpk8Y9BO0}b)UC-f&-usDWAZ +1k;iZFG1Aj|vmy|5nkn%ujlRfSWWVRard})qJ(fa=a9JlmCf+& +6nQSCq7%NlEU)n8wj1`eMHnkDy2F&f4j)7^b;(vtn@fNu0ACt$Rkkp2(~+cXtE6nkF4=VLR6;{IqI#16O +q(Wgk3=$-b!FGj^gtNd#WpEm*6OJ!cqid!6wP*}e?jeYE#m!RP0CwSW&_hO5>i`5Nd)`_*yAcm!zoSQ +TJ;sRJWnn_8ir+h4r3JNJ#sS(GBUKcQ0j-SwF*gr(kjO?Wmxh6;#4pC$B(|U3S-M*(R%D~4Xe4H{fqg +!Yr2cFDLNK^obHYj&coXfJQBW04V1Ha=1kqN@`k8hF^Xw|^^VuK7Qq4)g$1twp{BW!iVyG}8Zr6+0fT +~zr8BidF&_H9splsRxZWO6PV-1&Z)2?VGFg91Jw4ZzVTX!=HU%sWy-PZvP$OYJ=pGArv$7R~$o6#p5r|bnOQ~bPmHtFkv2Po1>iEBwAus)CAwaRuK*ff +I1c|lCVX!!Z~EREUFABAm}K%R)UUFGl)J01+BVHOr-qOx;ieLj= +0T8pCK!bMoe=mpotBsD%#Q6-YvrT1wpM$ae6D1{askv#+VUws>ThBA7X;LJJ9I>8`6RLEqg;$$6EmL4wZK62?Yk1?+j5uo$lqjEyTWY +nu|Z*QDF>mTis}P}FiJt~jn3x?B!kZ63p>8$kHzyS5@8-&s(haTLq0FYC>v1s4|&7OTR-Rd?N@ia^sz +YL%&9aoZlc^DC+CO0+w{j_p}`VI&; +19vaA9u=ha#0vrIQeFb<2UqHPdy%8z!1xjKL)0Ap;Y%HkxU@K*NwEG7LT{b`utK*uK3S1Kw+lALEt#_ +d};XP>wEjg~0{uL(-u_hEUySx9)ZbS0)5EQ>a=0#tO5YRv^ln75$!R-}P8)F^TRbb&3OS@y*IOtLV7l +tatP4X{y(oG5Z&0bQ(tmLw5D&Azai3m0>E7e=xhl97hdC85O@3RO%@No+QP;qgz7TPyN1*=Ykg(xO=s +J0AeiBjjr%kF@i7C0baqtVpMHc<#@fwQesut8uu3RgpL$L0@%+5(MJH6lebdkzIEStay_iHX|WE}()G +NwzY&eACe=BlGbZb~KFh=ivZ2uti;JJZx|xwui=!fMDd; +=$|t|Pb-~!;J^*ok0tn|f0l2vhWKUbcYvKbu-_* +$Z@s$`+21A)4x^xd5(E|L4{t~xef!skbFW8)Bf!ZLsX~zR886~&O5)ZKZ4Vv=si8jS9M#0($jzn21B!z-9 +bu%u#HP8lIJ=__F>CkhK046}GjU+}6vMkt2Mu_p~F*D;RF +54cb+UsVk_$xl!4nO`s*-U?pCt^}*I8djOQxi)o{UuY#fpq>$BZMin)p#s>Z!W8h&#cB1;jN`XsI{%B +VsV&tiAK>L70fmqFw6(f7s0_C_Wo4UgP0m*3&k)m1PP&Od4lqKIYi$f65p%u#x&=Cf)*ozV^h)GKGgP +VyRK&gd(L^q{+tLYcFt~jU!?~ef5K`PM=s82g`{UqtHsz{TwZOWZmFOXd))T&`amN;!7pySX(!X(XBO +qJvhN95j0hLC6$fitFbHz0s0lW#QcIC@u%!?+TcDrEHpMnaPxDynRA&92JX__1nsCEjmE1-CV_a% +d^xUPTss&ap?5c|2-rXuIK+1*@wmB!N7Ui(HtgnPr?JOdI8jri>*;)+bs3;a#nT&Jr^E^PJP(vUgecn +T|P}P=Ed?ST3w1gy|=E*i?<@zS(URf9g2o?TYgHEK#%)pLzHiULcy8#I4H=%9d+ccOeTUSt4FW2BXS6 +X|==d0mIm&zUA)?yx>y9VLtJgDh6djXhx{5JLGfL8|;@*7q9HXOg@I`Btq*>t_4D@40x*sG`?Lh?@!# +68C7ScARl86gEtWPq}BL$YUu#gQ9R^mb|HW)Rb1Xp_<2c0d*8_noZZ(%5bK%?OB`yxTnU1Du`dtfTYCW+oa4DKznh|%B?V<=LR`iGnYTDiT2>B@L++y%n&`OFHr?1=#7=_*OHzjbxHpx>6)MUITP19CwUK9Lo&;6tMTF_av&sP5U~CQ +D}jrVML(HL)LN6`kD_CHTr#ovd8+}Ar)sM +=-b>4Q;*c%7UxCv_k7B-$gfi8MKK{fFT+6P$NJ@-~z)Ebm25kn->@topGsF;W4DfE>V@M}PG_0iwJI^ +0wpJVqJ%paVW-^zE;^~~0x%$vMM0PWLNmPwu`k4XP(#fNE8Pl!S0^-{)Hk-aIoNpqs0Is +CabOp6Q_g)|S->?$i!p-onnFri{!9aF$O%?Thm`|3gRiWM_n9Vm(`HI`ceYOg?@vz%B_Rpx8AHtuV5t +I!x&Wj!(+SGw^!fqXAbSB}BmF_+KElX4lLnUG}J5Hi*I#Z5}Br{~;@+a)n09&6nOU7I0dp?oHLVsx@_ +&s+jv+oF2^t%K9}zU{8t^{(rxL`J7MswG<;IdsqLq@ST2EaqmauW;qoYe_2B5(EZk{z1WWV1ddvA!jx +#hu+Mp8#uoJ8$uIE<5wlM*J@1Lu*ZhGXwylT#8PP`LNxwr3dwt*C&%fHV7}oR2 +kaNa+0<<6X^)%2BhTYG&6O+@E9=V2icK^%~G`OvL^|ROo7}TNxGQS%6oBt5{Y8vK(|IX2b3R$wzzu93 +6oCt=D9UYxdnZCB4Aj6NjYs9NhqIG$Z;T#W7)3=@>5RLZMB~?4aIjqqk-1v`pa&KdL3!hIo+;*3?s$? +5oG@_PZ=U|NIL=Jt$*HYtwYsJSWse>GW0Rr1ntl1dOZ$iVhQgT@F=3m|QlyZbaj+1?jpxj>(Tdk$|Yz +Xh$OgN_Zt&GcU9*)`Fd*p<*B4lxCJ4zcR>>EFQqf@+`}ivMpy*`|HMDFa}F@eo&ERmc}fEyK5co1fxnxp( +gODgAu<;Q6c1!`mk%9y32YoYl!$q+Bp7i88y=Nw`uZeENU(^XRz-`dW4m6$O}MCEPpY@FP4W1a~s4Y! +$eoeG|{HnFd!K~NKit{gWL!jXmk&#W%V4^^8%4A<9d}S1S^JOcNe}BSsx^?VVV<8AQ?HX`1jMkX9Z+D +?ujfgPe2Pf(4sNf0EP2VgoBPM;9=tdibC!7u+>@xC-98e%_lr=ey`lj3n<9LPE57- +U#Vq(;0%fh-dI}cQh9EHnstb_?IOkPkx2{psSkHba^V3|D_id0kkM6 +EWt=38u_f^AiST#&qZ^Wv$BCS!Yp?xY2cn8(;9d*BK+3KtTf6k&*cZfSB*o)RVCREMH~!3bPVghG27! +x#LNI!$cJEaXsJf4jS~g9MzQdG$v9x-D)nK{CVtzE~`?OYz}0b^Plu{`1ez&XX53rzjPIbUKlHl9n1~ +gu-2gnHa>GKPHRI9mml9YJ0P_OWo-=$)_?TlT%L?8j?rgrO%8_sOb|GX=|MRpNy$R8C@z3ZD6JkJhvM +#6mWwH6V4`7y&|KcezDS%xwOXi4$06v#eRkHaAP>4*f4ca8&mq_Fe4`+n(fAUD0iKbTWdsghQ_^w?Qo +5$57&skNch(brQKPmM7*FVhnSa8?Q#mMl4B5@8VJKOQ$Dh5w$0 +xFxY3WHl*LCVROT{zwSC6#%&>D%Q><>Y#Mu=jMuT$Yegp*vE1(kSJa*>w&Kk@6Y#9fng? +kERDX!uKw@tm7jHQBP8{ZMIl8V2gdbU@;^P-Z2x +LVMqhpr!LAZ~Wh&u`FQEprnG15<*!oZd*fJBUP_>u%=YgaF1CZ3}R;3;LO)zy+BMr<${&LL+~sQW;(B +cN$V>Be=NL4+4`UOVDn7-syKc>`Npb-C4CfG>-r*7tsRxNip?yzw4HY$4i@r!$|8uqoFyW@cWrO*u|1 +?FlZm!E+okq5_xc4frj +BhA_(=y9nnx;vuJ-3AUb^9dXX3u`*WY5mwT;MSoL%w*u4R(&jXfx#PgZNq>{ui?`c?&t$Yg;A8kTz91QO_T|D0 +fwKB%93&-cZ{<+Ii4Cl9Mbh+!S%DqoZPW2I=Hz!u23qEtjdUMHn%FXiIX!iKymG01)KJVPNlk`x_}K+ +Xr4F}`BMY+Stdkc2d+Jh~tuwJ}3k`FSK7@Bly2+jQFlENZ=4syB-HhZRxFc{tx=X9Bs3Q}9Knx=oNeALK*0$ni7gF%A;{&kCn**csEN?*OA +PHY+!yX(B5aFruU?L5VD%Bm@eJ*0Wb?H@r*C(9h1T4oM~7|XVvjyydlXaq$O%4pD5i-~SJ>(=7)D6W% +wEBDgxA3yrq32(t%8Zp$Q90y?O!6mt%JenlW0nnj~2>#12KhuCQK9xLI>hK19kZ7_$rx8asV{q68er% +t-N}BQC>%DU#z%*J(u`-l(Welpj&zB!rO|f8$DtLnIeYLf1`bt`Um|e-mdFZarL+VqlB1$7_)izaI2i +AXIGXp@9`_PRBeVE`0gjw>sM%Asx&=$ecWeg@U3+Rnn^oLM#Fb`lF9HryLj@ik+^Ws*Hw5l6SPGimB6lassT +WMF0Vcnm3PP< +YDl&6I&usboQj|!rhhz3O9EJ>fbB8I$tu{J5J$Iwk;~oP!eR*U`;}ztx=JM}d*>xw(2B$~+|7DOfCtl +odaPrW|aE$jKpTmLji0~QK&>K1b81V)_Na4Tf|Q4Qs`9bBs9uP`E@zK@~$nf? +H0A7JODV{u--Ah +i&)o|;YPX3m+9{u-8+&DzoW6l#lmgmC`Ma4Y&#>A7#hVwE87>toI&XA!--5El>K7nBa5a9p577n@FIV +#$f3^F&V5Jtm2!j!sH#pJ3%yk~jgkJ3NU3O4&uk`q`jbx0_ym>c!(?0cRbv?X6J?p<)2O%X6isvDj>7 +)E<_WH`6NDzFPdfBmJ56ovGTP@z8nRx|$YzKRCO&qZ2Z~=EIsRmKKDAma6m$9hTJCD8eG>FnWWD)Ico}$htk8t!_X+PA)18fYcM4@U&CS^y5!#P=mwztT{==iOL6j?2PrD}r#|3e4|h;q@1%$zIxJc!_gV@xIr8@MBS +b0)s(ZB$P>k_kVrLQOyMir|$7YR=aEO%wy#*J9a +D$Pv|)(8w|JoJ@qX_(uar`_*&h!{`UqQ_0aboAX=v+Rjd#2@S@_PHmAmiW?)WMqqqGqMnVyx1w5JOqZ +CIPD1N1^bxkrVK@ta_R)%sA9h3Z!j`){zP@U@H)n>HZ8SsmgIps(I<|uDTS@@l?Bf6hO`~j +mmHiEQm5czCPVWVPoyJ2+B%<5zeBoZ&AIjuDLmoz$Q*=0w=U!J_ij6g}8&;V;uBRRd+_)x}w)9T{{RC +UW#h^O&b;{Ih_RidQ}Q*wQI!`#_DRzn$|*6UN+RRR@q19XM7@&a-3n15yt-st*uBd$b)rVDrTs53hK{ +3c}j1$pX*y(a|9COi?+h=%qV`_9cAZsMH&u8YYd1g(h2&0#U`@6lJlCrrWn?h32G +0`I%3=K6FpBa9sWH+Io?@9Yu3dxzT>-G~O)W-GT|r7VfKG))`n)?>k%|u2Ip-7??4e~!)2k`iO^SiGd2 +lZc=P#03itC@Ko)PAXg^iPX-v!C65dcv +pI`6*4=%QZW*;TzZ|91_`cMki!s^>9Nq?V4QOz77WR3r%F;7M$IDtrdm3ZykBc-6Qza|{TA=fg%8D|T +^Xrb@$zv(I2!W^wEc0w{H4bLR`lvgC669o4BsT2BjZlmQ&9A$3dSQ5Rqa_y0$x*~u%kK!E)uBz<2k8u +auG{?!LosC`B&)8_8wv-=jV(&D}!nwI!-`r-fDEgEwO_o-(7QbZxE`|_RN}S!Q8>Qo=_Sx`!$2|-Aq! +zn(QN^?$w4_k@=Z#}9bKu`fO)pCp^^%UxTqTR^W!;OI>pWdtEa|!{C{!*l@OGq#;Jip{JSXQG|GU8d% +5>J?ET_N>4A!GgL(g8YqG8ODJX+oYbR7ZY^QosYEl_ifnTc8kkYL#q3$P2`(Wi?@pDHmzm&+Z|r0&eqA&T`NSEnB6?7|gM6+R`grdaChvU$GnDGj8DhV@Nz5>}OT2 +s~z)5q+OX3x1A(`-@6lk=$I6+a3UTY>y%uy0T|q}j=E-Lt9zA=SeDh86= +u6ZUKkL4F{CKXu#EtBFsPT-69Dn-)Dd_*3E2Ky3acYg_s=(|5ITO6l +V{#_PB0!Gbf+AOSH>=U&U0n0mzh-ZYQ}-y(+!}{-7e5c*x>>H)8QN(=3cD +lrC~<=Uq?*BtF7Dq43OWLKdcOG*8RYd*ia>lyZDCv&7F?B?{Ok?{Lg)iYmnoA?&JG}!tk``{3i(bB`9 +9Tm>Z!Qk6Rd}JiqIi*%Z>mtJcp)xXrvkl6e896X@ +LZJ{h-i=J(9`hndK1dmRU+q9)!D8|Yd>0Kp>OOCGsCL74c(f;9o>={ZE!9hz1Pz0V3!qjo2Q>Y&OVEX +p7l5$ME>Z}7mvTXLq&+?CH&?)1N@1zZw+YXk@=IT--KYAu;6|-l%m2w +`1T(ivhx6ldl>E+HiY#KPZY+v;pyTvPeP#$GejKuTipb)}9ETkz)I3=q8`gN=*u?vXR?Z6F9~Czlxos +l2wJMeY>}xwVd(^qBv6o)dnZ<1EOUCcbHe)co62ymd{^K!E@%I9hMUp814|C^`J&#!`X(89&+yXK2B# +%AxPVu2-L5B`6n{z9mCRpZNN7@~(U?fMvkz2WnP&bD@&YpNNyU=H6))5yixyuT3QB^S=d%E8CJd!%>T +7n-WoccpaJ(lwfsXzNDfQM67l?wArv +Db9hGbBl%frVUue-!c3hg8jo7w4gS9;fCa_ +Fi%Gq`?P)*nF>LdakfNpw!A^3z*>4 +tM)C}An25-cWt{rRKM0&!nD3nbD>3P3@K%%c}tJNygXfJK*CkMe4;kPN(C$x{H0d&nG0P*dDCMT|?Rs +x)7fW!Zo1^R@B!mM`Dq>s9|gIzb-_CSANe11|>CIgr67eJtG+nzO3|ys4Hy9}?8bIXUz6N}OKi@a8hc +$eiQdXSFMzOtpmh!le6AwC_lpD2vnVeG0*Kxd>b9RA=xdfgG0YR7tHL!1%A|r2nMb{zLAk~9PWXMzS+NoiTSV>Wu(DQDrf+VKIlOocpRK +_*2w!QMzI7-Af*d6(=qTy!I0v)q3@9)wx%9!!CMe!g#;6ckJ`6OCm3*cTMlkk_4wrN}jbwS7M5 ++fu9{8u%=~%r%)S|r`vh0&A8ooj_4}>VXp&gQK@-H-+Y@qwlh`}t<*&kK +zOcXAntST`v8OQB#TuP!*{d`I$HUlw3T3_72k#kd<>*H9+x~7$yMV=$5{~hQV$ljoKmOG+J$vft(=f< +x2<+ZnrgYj;Od`|?o(oaxhmpPACLxT76{P!`oxW+v@?9V}vsns;FmZoZ|dxaydE~4lpz2~Odj^12Xsh +*ed?}^h+y-IUFny^NyD>Nf%rSb?L@$lX`>#}wF*>)-6L4_@ZEj9$oBCOb21lxVG{0TbxI{4B8WH}fJ*kNEgkhDJ#D+m@=*o_KS#YyaMH}7u9 +YiI9~?3ITOEBR1sZRsni*IeU9mIt!-R^KCicX(w=Y|DWUgPQk7V2wT;rS!iIFCsZE$8wM-p8ohbZ|>- +<@6vHU41=xDw(V*5`f-hqy$s5)6*b1{(1*HBegRNR0|XQR000O81Cd)<5j0P6z8U}kEnNTrA^-pYaA| +NaUukZ1WpZv|Y%g+UaW8UZabIN0LVQg$JaCxmfYjfN-lHc_!uynb^aYj^)A42!P;NNvsdHL;{UQzq`?3wcWK{FIM|z*|%-2PAY!T+TYZ{{dL(kt +7?6+>e{W~r**Z+_I*|BKgF_GZe)%Fa@Fp;rR2f=VOKS4GwAE)Fc;qxbzLlKITx?0Wj_~xmyPU-zU}7X +O%K1(tM4iWuYTP1RofKxT)dO;=g<3HEl(KmuG(dJ)xZRJpUL~Bq_N5@^_^T7%fl-GgIKCJjp||Dx%j2 +2_}A|%r2w_Ja@lre3})Rf3lHR4_W7b}@?9ra)&1Q5y;rh}0ocmED2u)@^Z%<*5)taE#U262<`A;kvfb +{A-pqUd=7(25zJE78T&~x7T{Smmg84fKARFe1*~~PMx?QgwR>9`JgC`QWQZ=P)dH}JWp1rNq(o8MX&0 +I8Xw=L@G|0E$X7oBX1tyJ*Kw(q2zhSbaLE-$Oj%1rrdv4r)1hUc%UPJ+O8AVuDv)6j0KuHP56Y;Fy_Z +r^|itn)qWs>_G>Cnq)SSG*kdp5{4Xo#(TYlao@eM6Q-ywd?7rN>2p*pacNA7XlbN7tVYAq*D2MUtNd= +=-J6koc+fj@Ru~;hqjUY@6`oCOp@fAP8Pis{YHY0*7ZUB21r(`N|pjai+08Ds#+?sq`{?F9BBFjD648 +giD21Bjj$4{wxcQQ>Q*-5`nm)`yuQw8##`C%JCJjHU&C_*kDzHSWpJYZ<-MfM0hL;nA#1Z=+p0-56+8 +mWXvU$Eb!q3(qiO}>Vda`PjXxdX;mlek4`$*c=(tRdyvw#lQ>~=x6SIbLcPA%< +farY!1OBF|f1-EKmYob8nH`m)m|u)6?^D%~{{JT-0dPq_{8a?4LPWup!~zy71w4QI`kNo$zB;?B`c1p +<&p==TiT*tWYhOMb#Z>aE0#9}x+TB?DA{Cfw?0=pxddCNz4LiT9vsG;>AlJFjOR&p? +s3vMK@e)>mi6%TvQXg0`(cdU9g9W6Qmnxzj3hXvu7WLVXdtFtUdm++WGr+2Qfm$0Vp+(SrBBXX265DbLyOz8KFrX$HMf-3?CIhV^{xSGzo*@ceA50 +}`G&tbC&}z7?nhF9T(d@Si2rgQtEIZXkE~QchFwvQW=74R3QDjh4)VlNH9G{<~rqguupl{(fQl9=EPy +r=gw1CVoeJ*NQ+=6a55J|u@nyoev4FN_(F4PcyDt9hN_vPR~&~n{vB#RXM2{svoT1jxe%~JYet>;3}cPl&Xxxk=;^}5MCd%OhQ%(n$f!Gj +Sw%p34|x|>~y9m^GRgTOy(0&exzSON_gCNIQC8@arJidjvp>zo3a2|HoNsQm&KJ2r}AstzR-vI-tPAA%&<_gzun +@OJ&pIPkOm4l;0=4&1@<^8s+l#3@PPdCqJEj28VUs1<`+QDlrW20+iye*1CWo#eoY>^1IZ-#LPfYN(S +ij1e6`Fs8kQ)p}G${sVvC4gnQJrfAm@1lmO~K423J;~hvQBXnZKz__J$^WtnkE}*u3o|V;VB|EeSxu% +t!@6*&uAz4O}@z0Q%3A0+}b(`tB@=a8FYK9J{g2cwzz*8ntTO(6!~?fV>)TNpoWRjI;sX=HM4r8 +8z`dmM{g`V#R}_}ks4f^gkN_F(aLbwS>pYDC)1q6mOHa_zKoE%Y6_6tvH!tR>hl$OMQ7umHvx6xnjf3 +ZjF20xE*JLuMmC`*wF$gXygub=Fb6p3K@UPG6kzR0h`55D58z*?_UC){svh7$ub5sy|hPFT{_E)@Jb= +{09abFrf5zriFOe*#=_~GAigccd|60O0fWN+V<6@1ogG +fiBg1>yOtl$5YAHpj)RA1kH<0dG7Orn#hjj&=OEO5o>RyTz7}Fv4E)b9drFKe^r0GZp*k6dpzRU|9*$ +WhTQ)=_^ddLjqs-l%qw0nJMVsKkNg3jq;8{Ph|qw5$bl|r~F0UuAtA5?@<0Kwx;-6j-`5uAz5J`?XH841#HjzcRp2ATM}#HtQ5-Xu6t7*?f8UiCgA +mVlZ1uOWye`Y~rAcZcvlE-8Oe`K~Y2MwVd(#X5$sU8k)>Ytino#6*V(Xi^b`@&6n +6k1IG}Phkug?88u9(t-PS$jqqNs7(W;G4+ZZmS0MECcZD2*c1)$L5xNSy)58xY3k`$eg%C1L8KxasYK +4|7YPy&hb&iM%ySOq@HmHSX&z_{?H(ST1=3ch-E&Ar?&!A}dsD8YQO!#SHU+06n6x+$IDG;1VD}+HI1 +!M+1EfoK=UkXaFAkVoUOD8%6CAsmId^oVSx>QUO71vX#h(O7%rx~miww35~-o;v +>J*yx@#utYS +pnMQFRa3r9tY|w`m_URs$4MZrPPu^|GwjTSi26mwbsUeiWHJ5-SDi{E{=C6(m^BC^CkkD5U3*)BBLeO +~WP#=aMbaF_jAHA--#0O)X&Ew!F|pq-X!#_uqc)JC0Sa}Q<8RJ*&;4^SkWnI-;x8{PRG- +Zwi3%WwJVgjsqX`Qj)Q$I4i`M_hLqxWiAjUy3LPLtn8WKsB+8?WdxVHm+u>j~`Ay_G=p5K=&U5d%77&YUcoxL3zwQ +CNvFVnc5LE%OZn2p`wPw{|@u`vhM9Ppe9u5Zte&e6`atu!O6KCl&QU7_Y8W;jj!33fh0qv|yIwg7s +Nh3LS#v|yb)l8zDaIr7?cpIz`gc^}$Ut)Tkx-ynE|#IQdM3S2b#SiZ4kXmosl4^u~eW;R28Vrpv3lM7 +qHvr(zv+<*l~ogx3W2Q#^a?BGa3Iu}Q}Eqq;N{Er7`f@t}p!*&=<3@PY9jDGW)&&PvAl&4YK2A +|+Z3{=TD!hnhNKXr@zx@!yLkeVAJk%WFH97@=}hS-8flM8G{taE^ZXy`e}r41y#oh;Qk_LV5`yHpm2C +-A&zunn`W6<5@}Rk1qdCeWrqgxhzxZoS!e;37aUsY|0-j#6tMW==cAXn5#Js=GZuPW`dYL0P`TYHW|^ +au*j}jeqZ9FIZlnVuGl%F{KZ{Y@*Gf*PdN76)T^$ZpFjO-L5HB +b*Vhh?ra0Cl=SnC)?ps?piz^fUBxy!8gDeNl9*SQW)ixjh^LC+G%=ru7&LS}MN};OA-pE*sL5RH`!=Vh|8C2z%YY~ +u%(=Lg-J(T@>^_di<8L`_V;@>!+p#0$*Vo)0sF&f8BZaV1I(44wYZn!m0+NX)a^{ygO*f7cR!j!&Beo +>p6wPVx*qGDj>NJDh*rWQ+9M-$0C`;xO9Hw@_uDGL~VSmspW+&`3oX8#LKxD<8imT)y0`>7Me5z+W4z +A0~R(^3$7M`n%WIkTaF&@O3q47U-R@i*v@C6eHMh6yX?;vb~cM#+*A(>CLyhLJtjy+$F&Nd_hmN>c(sVOxZ=Y%4r_5Rc(r=|%{SGqqL)T@KvD2aaIZ6A@gq;ORPHqgyM|ty*h +WFxk`LTP6I_)*@mj@F!HtkchBk*v@iPS1ecK^2Z`O!CH6SKw$JH4D|zyVn>;w<^)YKo(366v2yvF#;l +6vQ#rSNE`Em-H;#bmT(`PTGAhiO2A3)1b*dM|%nlv*eBh6jkmNlHnr_!f<}Uo%2LcW)>J?@H9|Ba;iXLza$6g2*h>IUKA2#t^*&doghPul-b|MtmDi*L!kVkP&aAv6Dzey|9Rfb{ +!;*;G&v;L`i}o3vl$*1z#qS>Aoo@eA+cC)ie?Rh0odJEki8<#1rWoOA;Elk^*GO|JKiC4t0hrC&t;t{ +M~_pf`Uh6;-yy}|Mt{c|elo`%pv5*AX@Uwt7z{xNhy)qo$V#!&siB2sg5Np$L>EG?V}S7Vg0hb6@cgp +vu!9||wt~);4LmN!H!bYG!FzR}K;}r>V{?SRezlCMTU*(0+R`FO83Ph2UDoPo;VB7gD^4mx4)5r#5Ry +Y++h~;c&=px9=IFLZC=O#G{lOJRUFPMixa!TVlw+bw=z)r~O|>lQCyJ^7GN#V`68ss;8+k}5Ka)zm*P +|YJOV#?%k^vmbbKthIqO!TIy0*cxB1t^6^9R;y{6g0epNs_Fe@&n6!1ZR`xs^N9S3> +dU%XB(u4Qy#;5{n-Py5R7_v(gU3(AokD3rH5X8Ni0q246o3Glidf$C2^sZNW{|1DXx4@r!yt-iii0y2$qE>j2)x!!O`mQB#vWF3U*%R7jdJWlK@k~jcxV|FZb=` +w(>UN@1?n!U>9V|#CAU4eb>Du!qtb4UNafz~z{{ZjP}@blvmAGpI{=V!-gfW@gMQz>I`{5IBZJDDH__ +)i9W+yIAK;mN*%oQL*bYL|p4$P$^|ht=_4Pb}rt8YsJBatav}gx(qpKv@2x~Uj4yr@HC?xkpHJ8p1Jn +Ku%8XKoY#1ks(*l1k^jKp@mvW2LMZU7Wk1@S$1s_Pj_cZ568=r}+(h|lpZJsrg>zxqnR_8nGsA$ltzc +wb`brqe~gfHo~Tx|z +ivG86{`dRW7u-rwK#Zn(-H?X5fTywx0Cf{gYL~!R#rEjz3>&m-d8QeAChz&H3iaU(k|2|*l4iG`1p}-U;L3-;eF*NPD3m2R9&p5SWRCXDC(ilngpj!b +b&nn!JEkoASIjj|3& +`EA_#TL*fKiFyB4MV1?vZFdW%D9j%3E&P9@)C*rfw_CF#!6!8(t=#j@)YD@)m@=F~N2QaPC0V+YL9!l +^}uYVF>ef7DCk8Q{XE>T}?HNg_Zfi`%)zNXkIfJOJzsQHgvDxFj>TlAIYK8q1X)gNGuaa@f*u2nDu5VLd*aA6UaNLMjRpjlYWZ6mR+T{1DIRz#r +t`^M(3k#s|pK +`NRe%1V4}1m``G20;}t2a~M2%&35rpgxW)LhJ6igwu0Sw;!J#lH|H;=3qQlYvOp%B&4?frkeen8b-V8eU*nK$J#WJRKFPZF|L)23) +b_PF!1^2Py%?$x2s%+Q+EiPGoS0uizu)4M~n23Y~8i{9rg1B#7N?N)L&1-24!EYEdN~S{0)VPT!%b-9 +2bWPpAZjfG4Y$YshBdsS~4SsUn6lEi?bS^!3D!2O}(}|h~Y=tZ@uQIsjgey5oN~uFU^;vKGtlDr#p>I!+bhf@|FQALTIkIFG!9qwK +0%3R?GyB39L7+hyxE+5>t+dWC;EuzGCj!(gU4GrQ2ZQ#8uZYf0t9ZPDFS&00ZVcLM~yShekkMbSCX@G +BA?luW$AeL`StVBA6PY`+JBHzN7)LE$HaKB!I6$s`m1fQS!2C +0T5D^o1E3(Ag0m64AQog|GS6cjA5KM0=vqm92r;TJSDE4@|2ORQeynZoHHsQ&Z +PUl@jAtw8ZFuXGYs;`0AW&)?Tk7@B{_+TjU2G7B%iay5$@B=YL*Kjj>8EIejZ?jRXKCBas)-=2n&)l6 +32oGTpL&5>i?+CNu0DRp17$7xdPj)=ey;~&FkTWYel@)KGQ0P;hV~ +9y@`f}kEQyWGBMhhiU25WYn-&S;K;QGI`P(EN|Dqp+UucpItq0(E;*lWI9oi(Ge$jQvEq`GUj6qS+*< +B;=aDs~><8HKq{<=K-;%Yd#(2Kx>C1liTvhP=C|CWS(Om?Cn1O5J)n3(N3T>E)L&og=8kKL9UD~$F#d +_~9iCLX?~nT{28z;-s;tWS21Isbu;7Eigt9GBp`2?++7yX(NIu+XuD9Bak#d+=;Wvn!d$dK2`;D5Jc# +W5)FG(5<&QX)yQ4VkghXl$XQ1(6X6pZLK{>=8mD(HVWYpaz6q6&roqhlF?O5x{dMwP)h>@6aWAK2mk| +-TUh`A0006200000001Na003}la4%nJZggdGZeeUMa%FRGY;|;LZ*DJNUukY>bYEXCaCrj&P)h>@6aW +AK2mk|-TUq5B%c=hW002h<001BW003}la4%nJZggdGZeeUMa%FRGY;|;LZ*DJQVRL0JaCwbTL2AP=5W +MRZdrZL10}Sb*rH4RiOL8>EDE2xLmA%UDCZ)fxY-6{?Y3YIv8fj){re_J@Myiadyfe`J +JAGQgF0%hH>U1B2Nza_YZWj19K>7gj# +dWbBE2ueXG|`>W9Dw1}+}gcs6H6MX-S)e|%EVreFO2h_2B+eI&kV>>gqL(S=R!IOvIGW^fY7f?$B1QY +-O00;mBky}{+00002000000000h0001RX>c!JX>N37a&BR4FLGsbZ)|mRX>V>XY-ML*V|g!MUukY>bY +EXCaCrj&P)h>@6aWAK2mk|-TUnJ4eQX>W000DD001ih003}la4%nJZggdGZeeUMa%FRGY;|;LZ*DJaW +oKbyc`tHhb8l>RWpXZXd96HakK0C)-}Ngx8u&&6Gz@O{_QMTMdvM|yXI$bKj&u3o9WWHx8Zo9wg-y;_ +=kIQHW*Ljk`v=OD=`{SjrP4u0&tJ$cpCfG67QoiwD{Fbp +@!5yBlxE7VnJqs}2&fU&JM;<0YkQmh^UEr}}t!WHZb7T@)?j4}W!FpfIUR@ZRxzsc>-`Z#HLUjw60U}v +hlt4Z`_?Lr}&A0d@HFRR~1bju@`9`YYe*iUj^SnXwpI^0V0C|(uh6cQVz4!HwB>QzYyd)mdoBt}*;k& +-?`ruE+e``1ePIQL72BH2z4ntJx`8Jk~(DmqR{@-#mZ{uq%gr?3?@`8(^F@Ira_C&YKz0U^v>AnaL=pKzevOKjm1 +f(u{AxqX6IjSAr2C9f867ZhmfLkeK`0;HdmW`nFggTA)Q+V{0=Y%lGtbmFI17lzF~hEI?68^a!$g;aG +Z@<=D>m##Fusxw>Qf`99|I-Q8lb0BbFB#;Af}AzCcQ_~tg!Q;q*b}1*!vFsk5fq@(=uF9J-Pd5k1=}iv1Ntx{W#DBWYw%?SA#YH=W}mp!R8ThzU +@1ToN0}|??JX#KaSS&0T>SNBz|EnvuhB_>Q2+=)M`SIc#ITIt7sukauD?0fE&aFby9v#qV;RWY<>u(~ +i`jIihtOKl4yI*kC!*e8qEdT3ID|6Wrr1Nxx&lI_{Q}qt4Hvx2$t&^h0BowOx>M)2MB`h6Se`L}0!Tn +tT;M0;v%#+6&VhrXXe-gkK|@I@5zd9+ujtX#4WhUQql(PxJb;<_W(25!hK5!1q74LeCXxhHgzChr>!b +K>RH*b|raIzu2O>)x=|SVlq3cms3DVG?ZzlqTsBLi*D-^~oc(tZE93hC8bt8?RC;yD0t8~C3lVUGUfH +$;+T(4tnYLz>hu}zb2H4RT}VB@`Xm1FDvVTXC!vO!q(irwDC5!&F#(&Ea7FncWe7D($Owbaptc-D&pO +e~PU1WyDSaVwsw)>z6+Fe4?ZnyLp-@q)Es!I%h}h=JpdeKY18^)qkF +rBm=(RgTreFVK}>VKzz~|e>S`Q6krR`cszK|McEXPubJ3qr!L3LH*d9t=@|oDztS`VZE{MCo +6T?euSar&CVx57xm0Cwma(!|N&7B-hk|5yFh?gYh3;3IblHXwPPCYeVTDxlTxPj2j1e&k?|&O50HO1pOrA)U|F +8AJMO?P(avG^cOK#dA>dm%)%vqmLz_+OtZNH{sJurIatx!Li|kcpc!?~?(HLxrv{agYWRz8+8aeNjon +xbrQVY=_k6+z&e@LOFp|mSuN$z;AQ{JT-`#h=n5v+iIOn%(bct8UT(qLIrgP8J{JjYhkId50OOo>93v +G3A(?t%G^iqZ~uBXO@WNs{!2&9VTAKnuu4SzZN! +jZRbQ}hdH;z&JR$HfCGj*l&6>1rq!-BvakP_u5fH&uS)_pbcfiKbD8TUWQONmf%9R4epG~5i+SRJ5u? +RLj!?MFr`jJSnST? +*IzMfjteor{+ikS{MeS5V7+-oQ6DS;X@gt-ooY(O1H?#NHiQh|u^XETsAF;Hl%fzAh;{@KU^+O65iue +9!*VS+?Gvz>-r@Ej!=C^pOV63hvoI4tzEbsO8*qA+7LRTEv1JO98x;ZUwv|H9hSn&yzh}0<#Zu +G?X0N>|+CfxR?(S;naAT`rqgW#U-7&{k;(0lYl^xZ-Dw0Vl~gNQtx1!VR;7|n-%jo^-G0OeEg2i&dRe32P!1?8t +if8XpyDKw&5D6zfiBw!5Q_KK8{$@TNyS`vVJo|Ul_b}aR&cPejGsRS1bkE +BIcmSY1aFqqcg#2H&Nc_49wWTqfHOrI<(1(6Dr{fCak>(#Tny+=gh=;y>PS?6PQq0ohW%m=x2iF0M2c +o^G;ZKInH%r!vb?497jo#6B}Zc&x;3{ilE3UpRx~Uyg6B+iHS&(W6gPYW&tH?ik{zkURCY}k>!O;8me +mXd&k)8ideK^Jo3YTu``oCAoPr!?%2|f`2p)>mD%~=eMUtZPIdvqG*EDG{52N%#uf)vUOpD2!|aU#c| +=1YNG>m+tss|UPyIkZA+qCQq;(n|JTx4NcW~;!_6kT1(RUN{w{BL5itW$^a8`rAQ$9pOE2cO7x*H_JM +lNFwy1`h7o=`+kBTq2u@(n$>9T@0QVIv-N#Rc;5o{XMj>onJ5xx*P+;*fJZfEfT3lvuDV2uJDLi}s=J +yOy|nEcy>vJF<(hy50(qu$raO&!4eq2xc3Z4jY9%%9@IH@9)4s_=Yc#q?+p{1@6D(NCJ%2dq<4#ba^# +ZBQYTCbn)?0=!iO@L~LwVTP5-^?>+Z8j{`f(j(!ZxF+xrVn2`4hMSU52 +8}Dzd${67>vxnZfY-nYzYk?pk9h&fVC%>wx@ZzTbm+dhJER6G8QXAai$$sy +5mufRK_$$ef8k9Y~kCyhbE1_8`a@vB3W!8K{P1{C`4VK@1&ulvnFg=ozQm$`;3V78WAx!29~gpYSY26 +b>{65SpNBgt3$-3oaEYK0#p&A7-`U;L;ZbCfJq_Pgl_-Tnky}^MTIwwuytm%sb^<`Lj4s_2QRw^h@|7 +1L@Dq!owxjaV){ijn2Yj(Z=6?`H8`rt$m)1ffX1{7UB`Mm;h8P_+`roq!;?qsYeUSCw4U%2(Z%_2?OM +!1sb_0Lip1~8XwV6vpH8bmYV9np35|)8C$R2h$S0)&%g^sl8zdDC>}8NVL(fF2R|p=A|-}sXIl)q>9| +FwlAb+$B;&Ai18_2d91l3D)YuMnqqU5{PG>7xNzw^d$JqZZ&m`vaIO?F!?g$)IZhDyXn2CKM#$S>${Gk}Q3q~)IlkNZ~O +T7pv)A7T0>j?rsy*x98h6^M0J_L|WCt2dFZ8+P$v>F%WC38ehq=h!eC5bU7>%1O-Yt6uf%hu#v{eUy}U;MGnM&pxsA545Y;})Yc$r(L$@ +^2LK1>aC^{FSVnNcJy6m<3r&}23)H5XM6nJ_1ZfhW&R5^gl_4$)iWD?tSfP#y!W^LDnKn7xt16qb?IK +4?LzX~1V71P;PlO;;X}ub60+X(z`Yi1*FiqyD6k_T!EVHra9VfvBkIiGIqzsC~1SJcn2AdIbPGJn=5^OlPC3ikE<)t9{3IM-#-fu`ojS~e4!Q$UOC+<4AWE~;RUEEjNpw1nd;)#_Q)9OZf^A<>q0nu+m@ +A&VpiE=x$sn;Z5f>YK$9R}QI%RRd*eNFeb0XbFS~}=Ne8=A7< +?KvuXqo5Fm0U>wSZCtjx`#twcrGpiUW1rIP@LnYJ-l97&}eruN^(o^if1`=Y(P^KZ^ltIuPn849|cNk +B2kmD}^$GP4(l~Uaj0UTE+`R{YNRg>?iHM$mo(;z0Wz*TE(Vj9a^IRf-9>}Sl^%?Ha+>V4ILIHU4*}S +vJ4X~IN8vYPY(b_r{PcbiHS-g#FJTO(G&fW +%c0hQAxkt&?$5WSHN>>R;1FZZzpm4NlalP7LCv-hPDtdr(URW)2lPW=e8qux6xUctzZ}l`YzL;(36?%Xm%aSYX#5EzDeS`fLz*9HJ +w+>_P;k@6mjlcxD#5#APFSL42%8cwSQ3jBibf8Otg4a6X4(aboy0UUxIU;S*w`!aeTNaNZilBksBgY| +BmVa9e<7H%1l2A2vuRghAYP$|>LuG?X;MxXJ983rF4_;V_aXnb}3sP2; +$?|ZUkiLx>aau70PK+I3vl**TqL +=|P(=69|AqC0Lmt{2%a(wijD$Fv4jWxOzpM2hZ{z +sdd_0~oqJBdWpti+aheDis(@PohL)&=lw9W}?0$XK=Xd#L_IzV}_L#$E@JAb|x-D%MoNfRXjn9@iU}f~DH{*b3}^;R|()A+T72njPyFD?0Yt4(cR@IMq +nu4dN+|9c-vBbq{BKlxjBEo_4Dro3F0wT!`Q<@#Bb*M8(!Cw_L?4grw?S7xs+b7WbEo5v)`0k*tbA@T+keY9pHLG(U%7Z73fW +-%?~6*O)}Dsca^&Boo?uugp^p1wzzI{N6xot9!9Xj%ycplp%^*N5e1uWRD%b5f^Q5jS9^Z)UGaf#!o_ +n*5?RN&igu0}F+a)G|F)BniLlrT{CPL +IP9D%H?Te_(}o1x(p3S-*78eJEq4_Q=WqW5)8N%B@$mr6s2Dmt8`#cp7@F-+AUky8`_lWI+rv}(56qeS!-x5o`9snDp}?s21w|V@~Q83Airn +)R)r`VS)fZDPt=nq_Tw;8=Ee8HGk3GPGh`BHx}TyuocI0f`YSiG7U@@H0+C^w<2N!(V^z+Jd1qaNM4IDa11=f +8uJymk*$vOAB+?6+B0(Z!KF->D5fRdp1?%$Gd=3h_&73@lvFlkp6UWJ*$KV +&UanRZk@T^j?CZ6IMlT*KX1@VVKoThtSH^XBN-TBzS8A&YJlt=F>l5;66ezaetThbZWpu(1usoVG1DS +6dvY;_BKjcHLGulL&BKN{B6)e$^+|r{HCJi8a!wg9f3P6+F%<{Q+-Ftz$_GyLzd#dyzQIb#7r(>f?)J +j>IFk3C{qgDBx!Vg@dfm*-ruKT^7jL#%MoH2loU~HojzVHrp%eEbq9|@= +u21T%rEc=vDXQ991jRKunqo>Cxl|Q4If;(Y=R#_2q=bfJ*GHn +N|wle=WMkOmFE|_E*7>R=o5t+Yi$mybRwnCBB>AoljLfuJsLp>);R-odZVvd|LrC$fr+6T2RPOx5=q^%2j!;Uo__gs1twHgmT?DCAmy5uU% +_K_@1he_zRUXSZ@>QT*M^&Ia28GZSE5lF>m4kgcUU&iNE>QNB6gUW&218n#Z`?_Q_rw$|9%uSmU&WhI+^%Q76is>1#x%E}i+6x|9~`3kE4e>e^i9oSK~ +WxRNu5cS+L}iO46oyT5`!L1pV0v6n8`Izt=4|Jfwi1!Z0I8uPduB(U!uAt>_;~|d=ddIo#Q3IUHTSFV +wSrM-d2hWMqDL5*{^ra1(@bI?k*9T8VbRLb-ca_Mg2mq^R=H`6Gbbs_c85^&csz1b52VpFI#DgLaQ(S +4^T@31QY-O00;mBky}{+00002000000000l0001RX>c!JX>N37a&BR4FLGsbZ)|mRX>V>Xa%FRGY<6X +AX<{#5UukY>bYEXCaCrj&P)h>@6aWAK2mk|-TUnd|;SUf6005s8001ih003}la4%nJZggdGZeeUMa%F +RGY;|;LZ*DJgWpi(Ac4cg7VlQH0b7d}YdDU2LZ`(Ey{;pp^sK6itntp(R4grc53lOA3nr$BpLt&&-%t +jU!l1l0p{qMUYDT;oH*K7`k83}BWytn5$-jQmQT(g=RUbS3n&`hj*smwH#G_=BOdePmDlOL4)3f(6#I +XgF?_-zY0``8;HJKpB(dgxn7oM12dqI`s|ma6D^b=8|&ccb7R?lJaJbQlS`U#w*ftu9*8-H*#J@ORE=M3?X|h)3Q+XATJ~c%XkA(1y3|sNmc^UXie +Z^)tdYwqnKgYU1Hn`;;W_cvlM~1umq#AA0uIp}ZJTU!-A0x}3;Z>|0(glO(C3VGW^Y$_}B+dL=(YW#& +7O<_x|V#r1rme6hV^Ib%Qn!n9HIgyBattdnMxvP1MyU$Y4KT#F4Gt^)R~)|&5 +}sENxyjo-xuE^@$btNBRUHin>E(gx7TWbSz?FSJBc_bj!-+NLITdWGmqvR0rL@h8nV>KAW%jijx={>E +v&(;WNilsTUhsIlU1#@@T8OZbPtqiE{k2sX1Vu(ez}k|4bP64rKBp6=La&KGx{|@kbFm+vXLSolfeaP +vD*Q;Mt;L1!)*ewXGbElLIHH=na}jhs6iXQ3&6bnz)|hYZ#N$-#a5QLQnqE8X=oc80X^@*NrQIDWNyZ +!ipHJUoxy!;xShPQoJq5yRCy7Sek%xVYe82*X0_ypv`kV_B$v{huW^sl3aG=15Einu9Vh$AIXaC5Azx +Iygnt^BALC&!F($O)NSz`Y-VSAyvfstfVNuE!)8gf^oQcxKdAOewLYJBwp>b7R-flcw)mRDVEUJnJQs +xc20;(qz0r>=s(|@;NYoW0=Rx7C4?^hSB3SMc3UBs+}X0EwF5yLQngIa3KKQf(_R#!JJ!g3P1|0j?prg;PH22DNjjV6oo32QCJ(*mcSZbQR7tbqOIy#64%I!cc>D5QYb8)`c)<1`@> +X<@Cr6IE{GdXht1BPox#{Y8uUf-uR!MCu~B5UTbtvq597))EI?ujq*aoLCpT*|4481=3)U1f2z)V`I< +bczxwheC>}mngjI=+ei<}Y(gISzT$des4v@{ZXzU2(`yVP^-_$aQYIV5(eGfZNP@sM&7vrZCC>F+;ZY5xTCj#9m>W8S8EFMb6N +TZ3x3Lv*(32P!XnMOoy;n-AEd4axI@I;bIwX-GC2HJ$$urn*V;)Wt5zy8z)X^EyZ0H!e2bPamftD>A{ +1ND5%KwIfpv+T&NYaMd)8QzfoPM5$lLLB!GPqS-g3>!MWl&MJ_SiY`v~wPvpDGl8D8;W5tkmJm_=i^P +xp%i3&;9xShw#EYnTn5=gQ}q1ZhIch-P^)$;g5y4j=7$O@!%Sqdfn1RnL7FQ^3oM#|F4DXqfZmthJ6a +1zGzJ_ovviwmA-M}Et#UUE{yMnrk503uOUw26Ll%iY8mzJ12`Ob6LJy{UbSQW1yD-^1Q +Y-O00;mBky}~W1a@)H5&!@pP5=Ng0001RX>c!JX>N37a&BR4FLGsbZ)|mRX>V>Xa%FRGY<6XAX<{#9V +Qyq;WMOn=b1ras?L2F5+(>fY=U4PnSZF4gW!8H*B$#9l=UZ!Ug=}oamUB250?irrXt?5#JT^!2oS^@n +di0Zzv24r8;t~P77TMj^)z$T`qVio`HLWPB>+8I{p5*+f4r;P#s-0*LHM|!3_2pkL&XOO0KKt=M&R_m +{E}oZ%x%jE6{w~WmvYm_bRyOIXkaO{>Zu6>4i@CVm*ZAUX3D0w}PE|W$$aP-F$*nB2s)_4#eUsw;aU= +h>&l|auWvk4t=jCl$dAWv-a +@7JQx+AoFKA8<6xzn=@ihoL#d;wsZe6>f62G>-XEL2?N<&9bP3;aG8_(mmoC9q|9CEdk$TPX{(`Y-q} +G#PF_#&fmJe%)40hmbi_B!O88E>2{Yx5R71!+@R~Ap>rN^Yj|WW%M}AWp*)fSDe9&b(`#)BH7BKmJVB +Q#Ncr=4riCEwOLsjR!ubD!Q@S)xh-D7U749bre&7HMFKy2*v`cUA+*falYA3O>w@USz&0sT_+a4u#E+ +8+DgoJurO^iQwQPT(chiKxCdq6vLAJ3dz+@8bcLY9qUNkbz4wirIyom29I@8zI8$hn|UtUcnC*t{Sm1 +hFDVpHVn78TK5-fl&^mEz)XaV}U^rHC#L?Y1hTc=Gz}zuum|K6{f~{PptZS1*(E7iTXo&wn~UdkvVP_ +L+87LiF#vm}#R4s=niwe~93~lT2KUn4WE}+yE-#`>amw_OcFM$i`LZg +dCh0D{k;#zc-tgJ*w}nZZDP0o0_H_3xkkO8`>8bM +tal;h49vdE@VisyhV*=kICWxp~(`wMvVmVr%KheXVgC^}4KXxWB6t5IvMbp3UEbP5C*;d` +oHacD8)x@VMbDl55|;g3-RrL-;pr~iME8hoYy$!EYaYZO#eJ|4`S~Fl*XSc~mP>x +E&HBS}QTl(4|Gy>z3Suy|0U9Q&16&PW+5q>HYa^0Am;MPHPtVbsItS2tdC#5y10EAj7qC@YiudpP@ZP +_VC$#W#3w}r=Yj8m+1Wv7wi;=NZt@D7}v;qH|H1|rPZ=A9pr~@LJBg@;osY;Fy03A_EnJLj$utaQRyW +Rp?_&ztzV=T};MT9XOfS`u)6@;g%F%kvEhrx%~Re&FOvbb|0!C9}Gn}36+oHYwmQ+}u`^kCB(!r!{d$ +@eNbc0o@VaKrTgyDC78G+h>T+N3*e5D`N%!8Mw;%q$rpZ0|rv4t1A9KnMasNb?>5oCrl*WS)MDeZ*9? +Z`LyD;73p#8${ZjXr+oM+=%(UHGNo>ZZ@(3WH=mo{~qBWVq3{K%8|GNdhhAl=p{$k>lCgt_Ks-QR{J6 +obp=vsNaZbSTa!Kq&lYIt_81drUK%b&u8s$vA`S!5Gg)1tQ)oFo{dpud1pD(D#CWnrgN)+s_7 +1(#;Ec6x3U4guD29THudp86adiSj0Vkcl5T*gaUunyW5`Ji~)xizhcr3FWx~9McqNy2^^iSL-Rv|qs^ +X%MZY`6-^dN-2;0hJbpj5d^}r#0?g#|a%38CWF;H6a95k)(1_Z&T)5lNh6p +cGV(J5lEibGOT2~Ak^8qsk +4E`emBY)6?gYscygZLSpPA~aMSAA4EjQ*sR-q1Jfy?2D7qnn5}L-mu80~{x!eVq5kA_N`v-#c{rV*|* +AlV(RnW#HIm)SUdbD{@bIWDR}j)Yd-gIkVw8K9aMsv!4iJLg2?*mKm^2jxjXrD+Pi%1-N6a2+NB3^m$HLQZZX6b4JvnA5O`riMEq&NT?`IVU^ +0Xbiu))2#?#Iih`}ugW0r8zWjdRA#+wU?10_$9Lg;k-ifPHzyG)|KoDFD~$0(HE8HfD5P)+sDVe6j*= +%0uSri3>OFAZW1*%SvVJEODOZsF$E=^k$*Z#iV@0MaB?sBu~#D`_7cMeYkK9Fa8uE>Q}DX}D#zt?q&- +he1^ke}UPC6_n}G@e-z8;$SAFoh&s1ciP@f|5iuKzeJx8>n?@R)2Q}sy>HP2grFUwK%E=Fz?}nrxaUe +_Re9QqY+o0kW-z2~JNSNB$A&sf5xtS1QC8J02kyK@91R?y;PUa>z;o#DHbWH~Y{pjEV_YOhgND+g6ALDzLFuj1CB83w6l5Z!FXoYI_C8xEld9#ViOFS#LQ>L%mNkfwIFiNtzcL{l1 +$`^!x6nbs{mD07T9@Rx6z2Xy4_-4MP(EktjkjzQ3zM*a$CevLh#H5X?W;`iVGt8POPZ(sisn#$ZpY~! +rqj_blPy{$f{@#T8U^l|$hCjMAx%Mg5T@{EY1M??B}FD;1#(b437^eG=D1YHKRJoM37$Ru6D`VxRGLF +{c4I|ijC#Amp`+`k9fl;u+Efsf|_2hibNj$b)#l~s3TQKcF69(AOefrL&)P#QBoC*l`*okGmVjx=8ad +2v}K8HH^Mo(BVre^n-z9s&t*L5APuV0O?QOPlpJzm+sXl_3DTK||VyGkC0_F0Emv4OA`uKcVEcuauX= +7vE=V&zIW6yy-0Nn>+l$ZI(q~<2tA;eYC=hhvP2$k({hid?v-tq2ik&Tr;`eb;_y4l`-AahRp{O(vrjA;+C(L%D7?jAUL!PMd)2{yrL9_F`g^$8MgdE&;5I7!!?m|C`9G+ +UOeDgUIGc(0YaMR5S6%r?%~NmW)hapE@u8b+G={6h^D#YQ&y2Q7W|vGd#%hhfNeJrbG)pIc5lT0o +mxF81Z*t7QbWOoea;gvP1(UcTF=0*|H?`|;0{=LnA%1-e;dE(?r&NkryxX%94qcUY2`WFjh0H^WnzE<`4m0nzFiEX-{>nKS_;$bR|4DhMvo=_0=@@+Vnx#l +9C!c_S`#fwh?3iUldp4F*CDfp-=sCi(-9i}$kEw0Bg)=NZctOqCM|W=DQWu9HdRqncl4c3dH``FD9>V +$TDr7U?92Rbdnwo~=#~l8F#%C8xod8ZU4niqpkXAe$$(vK(ZeFB3VjIfV$UotmQ)7;eoMV&cjbo|6Mi +Mo_Oy}6*u*$Nx5lXodBAL&&XC|Jtoi0(Z-|SAh6_3sM=VGdg>{rx1Ocv7q&|98=?Ljvfs<$~)~qB@Rw +umy5vo06#{|4<8%sX-}^jXriUK*3$O?{nXQiMev +)|1{J+zBsDNKb9Zx`!{r7tPdJV(ud0QC`=n~&@hV${xFd?sD40V`*5`$A^xp4tt5Tlt@o}y<)vg9+>W +mhJgY~V%nE#%UN@bz7A=$TjK$j$4agV`xIw&wn&H4XGI*~aR5 +3=29B=<3xs1V`IVg*{Ookk*>i)Xzuc69&n?*8FQ+&@Gy`@~a*70sjg*DB{IKoe!gTRdr?i8wCrExHhG +&NW5#TYmVo9@T!lhOp=U1qaO|U%z|Q<2e(A(vyu*4cnQ~ju1Ykm-O@FOk%jlgoa0=%qMFfHB93^`koF +W8Q$mTN3%Ujd|~q?$do{#vJ%ygifNl3)ESDMFmeYptaYK@uc^19noGZuAo(CxnCcQ)V)k_ +VjF#WpdjR8oDDLxmhfTx%`s);iHflWaU&hJzpX0Z)@NpI?KXkYua(r5vARf(hfbS@r}XroTF&& +_mS%&X;nmCDDXl1|Qdg!knEz79qw8|)o6rS3rZC4!xjq +Dc6~+tG==>Sv*75lH=Eq-^^2?_dLM^S8yJ+ +ShcV~RD3Re*%%Nso~zdj?TuZi*ttg`E*kfOjqF0bJEJX^MvO5FUG-08bTYndI1YBN{13`ueN)JeD!>; +TAuK<>|48MxUbY^P>F@mT^5O4sf#XG-?p3nX=%WmvM?e`J*}gM{e!|8k?r6CvuX<|M<@5mt#I1=BIhG +U-}7Ahq41-B7ViDXa0!kt2ORWo&6;FJ@t5bZ>HbE^vA6J!_NO#*yFkD-fuBOFCT0b|rN=Uh#5{EXA +rgvdUKCxHelbmK-kO1px*F?uyydf4}aYSI+|^WhZx4SH~(_OJJs_r>DE8Uo)(?yRILyW!Dbk-O$uGPi +pmKy>FL8*EP~SXu8|my1jj}?z?R^9Cq+`re95-Wbk?W{hJr%^DkdK|HG@-zn{^g=T*~GH;qu=zNnXj` +s-!i{av)*3jOufAbQt~z71WkzI|0o-Rh6k4hL0VURPVOdb{75PG9eax@)UOeS6b)L$~bow{OMY_M%-1 +^G(BJz26>o;?I>HaarMr(+t}X{hk3y|0>j^^JRV41(N=WxcL +NZ~K31o&bi&dhUn1v7KIb{T4?3yI3JbW`KO#we^x7l`T9v2I(F~2dV`V__KOC%k&>HgkH$5xfj4Krt3 +HOWRFYm3LZ#V!)kH@*1%ppEKjklmK$MuJ;yIE+Mz$pvhOxRH1r_VO}twQT4Cw)+!w$deSJeCzwU;Y-M +(FEE^6g~+=p*o^u1vxJxBdktlkhYG#mU;4ArU{s#h(@g9Om9hT$9Pt{(oWmHQnc17HrrrfUu5!nZUxW +U0i=>UJgG=`|7M8o%~tjvBd_^f1+VtI;wYepgAsNixfB#Za!qy4p8GDcbwG@7jPf9k6aC8d)@TduQN% +1%DrD`hfE?ZE2FJ#@!C(8P~4Z^DNATouKI3Qf*$KDIg4H +*LKg|=^krFDb}dU%6J;2;w%_B18xBYVjsL}*PVut+M^~K_gzyj>mg!dAKB=&-J!^1xK` +A#Tn|lXMEJ^uK{W#+^(2o1HnA0NNlgrLFDq222Q@rw6Ilu3S`TG8v4oPMSucbg*Ila>!Zf@55BfUy7N9VO!9uTq|JINlUYkFI?u>TOhIInL%b>5fe9+wc9umf1O{9?jBxs*rKIoQy@g(Sev#*;~xvuJF4~^! +^guRN4OJuGPrCo2fv&XMdb^gc8OA=;;sP%K-=V4RK^-6Ye9k**(sXWQb3vA*>HuY3>Y`g# +^_trkRbbZgp>(PLTMvw9{|w~VmMwA~O(xrZoPCyO!Lc{26dhICzl-j;}|*9t%Qrmzkg?I?447_|fzrW +c^C5tjnkz7K{lCcd0B9YX8c=CF8KHB$KKIeLM`F6QT<{$A1RKX*ME@590F4}ok=5CZ8e)P8(39`=2km +e40|vq3Q`>$MV$T7m`WR+DrT!JlRLeon?!LO<#S#Wn@Npnm=|6*m4p0<)x@V?zDbH5i<*98(UJ+7*t8 +xFRlwsz>%vN&*c9MBee?WI8>H!&cs+rph0^;ooPqq{&p79af_YDr(rk+Z`wwAn3Np9kHt#4CK(=oWKx +MMr%^Jp{R~+^JtXLQ^qjy5doPq5e9B#oA1Z&Pw+}WlcMHl8(_TGC-%TV2RLGqfR}gT0DUI)YJ#XvXW5 +#Nkz$xc5s-<{8VyTCZ$V0tu*nMQ8L$hL5QrnJsU%w +VWxq(`-Mx)%YLIB>LQqgEJW6nr<2!wzTj${@DL(IRC5GHyulL9}kv};-@~GlH2T2$jF$ndZrf@>p_{}|)oK^;-OlYPQ>63s{P??Q!iqql$NbbOo+DEN=3G4~iPFt(2 +sgBoOGfuPboXz8CtJI=x;_1h0%X>r_->pxP#}I{cOiM9bji_xoO|N+dI!(n!WUwXvkMh9jnVx2Z|ILN +=SJ4siY4-N(FTMur8UuS-rKCQyGV9dmEQ7z$N6G2|S7-nOl!B=6m_al4d$w+>TkwE}<)-k=QWbb@(~g +F>wokL~gvAK7E?`5(f!kqj1nhVkGr(%q31wIi)FJ@(Mb}=ys}2zFQLkcHuez=3wn%XlvYLmtS-ir`&_ +~wHjI8eVlrs~V!jYcmTs02p3dcm5jNGD05*mIQk0&EUjFgVH;QD^N6>{-{1bwuLX5hs=&nJYRY4lX@U +Xx@RBTQjTGteLjdgDh0!U}Zj$ElUWj=!w>6>`hfO|usn1#p3g;`$?b_3V0{T^&TzbPxCycvuYA`S_fV +6aNUYNLMW$^KI4N?RWV+d)x2D`*UfApOnB^{t?M8Nm*bo&SB0Yj#*M>lHr37m6sF{J6A6V@qb=UQeyJ +|LSa5XQz#P8Pca}fEGXU)WV92^LIy&{ +YT40ds=!&EvX%}W!SqWPpK$m3XGo`9VZ&lNL04gE#YNRw2MV4!3}m)+L)WT#XNP;NvvFS0L1FR}-b{k +WGyw%l|bm^En7tm_^gunYwP>%|UPn59*oW*CF*$OzgN?D3b~POSG$b0BDM`tC=u95TuyquBzMX5Zrzv +SYTjB>M<;9}T{T=?e$W;EPdPB-Yg@PMKCxihgiL38s0o+$GF1Vk?ZNQ06_`;zVx%r5A6qUw`r&7gj;l +qul2poWMaBDr$7Xqrp&*jZZjn!=MD>kJC&nx}Hg`)6qX|79P)M|FW>)Tmg#LR;PhYL-lns^Z;LHa>bA +eGisOQzxYfEf)2Pi5|Myoz%1eZPEPw^_{sD9_hKN{a3(KOlb-B*Ozky?OJ}R=4WfXKf$jThon2m1g!0 +nm5P$^%{~5}`L)EH*Os$M6f5I9TBzyo30f13H%VdY0a}W>MRaQB6=!K5%Z76MSaPw_!PyxxHX}l$kDc +j`!?}vC3Q4)&$UirZgwX8=1A|V>5@i4x|UTYP%LOi66RHz3T`N0l~^=H=gz!x2uYX|g(ZQzjI_SJ4v# +H3J4)^a~qmJHzQ$cax4Qyeuz&EJbgfSV{6xQ$NJ_QBYKXcGFxRU>wW3gwQ}C{cWA;bV#UTvc%b!z{Qa +!cQE^JRRRNpVVLpOA3X1!7Fa~$7sq$+9sR^((~4nXAqVuyKB3LmTj$6-cm3ws)tB`>ea+TnUZb|cjmK +&DIF;#@(AQn%F2KmU?fHRP)^)t50>s#T%vIu?(cHnIJwk02K=YI5ukY!0ekb=sjaj;VlG==U)aCmMoQ +B!Hi6j_uM_NrEhdQ?WE+LJ%1>20tSUk4W-<*J@u}LF{_V4Q_I=gffxH`u%BUQSl5s1rl^Y=?33PgQdI +}t;N>{*;*a3F}ix|Z`xv#72VzIcuxETDqxR?T@Y9RCCMg(wV*9d^2%TZwLn*+c)c*yyjg{f-&et};mN +QlCuo%9>p(s4j!J0w&<2x1#q0_rVhl+wm%BB5qJ2w(2VC$xQ&+6Xt2oi4qDK8r<`14;69WBh1VM+J8d +z+Vu+Bk)kI*6mSXW>*G{Eg$M(Gs%mO^AYWO667)b^*b_K{Pj=^fp%oPC@~N7q8AMm)OZE%9emfbk;+s +yCO|LndB94XOLT+PM6pX^?^YYugz+Cn^%S;K72%6HF-^r$3SzZ4TB)Y!yVzCzP*+Xb(;eSS#vN9Cv#^ +M!+nm@=@N;5IF`pB`0~0tPd`6=Ov15FwMWe}W%>$&F;}pYcewCh2#_@f_$6?$`_S;3SssB3M{@mMX=y +DtF%Dis1t{CJ$mMrGApWyyjH#hBsAItmrJ7>xR03#m!$JKr*>~7$8Xz2`e%8j7E3)YrS{9c0a=u&GId +!GZdSKHJ)c)gysMZoPv;JO69FVJcU_Hxz-cemR;fCtwJqx2og@}{~Mng~URg`o`^L)xi=UUf_UGI(HW +csp@E+C|#rm0YszNRdennP@(C)E@ +tJuZN5=qK!UKuk>?=a7NjKPc;lw4&T}dyv+ud8iID00r2?cJHNrGIY^q%m(Sj1=<%k`&)|8KHw7{SDX +4miy$oJov^w4bkUBz>#eIks01R*+s;f4NAw+5rGQQ)@bpr7uD28NP_|h~>1c?}l6H>t=LH_7@0=H8N0 +FKn`Td_Q?`#fCu-{TrtQXWSUjx1JRK%>iLE)0hT11Hj8e+r;?89XPYvP!v!>S-?lq=rKG30`*=Q6n9! +DeX7fDu~X)@{|$mWbg56l2<>N2Spu0NrG0uMDJ7y9g&sr|``*tr31osv1A(o!f57#}8Xf{ABku21J{7 +9B*^Xm*``5a#ucNK9Mf6Q;cmRC02=o7;?eR2tkj@hrgZZ6Ktx;GPy@yr{c-z^wuKT-837SK_9(iVW?beyd{FR<(07I{8UhD=O$76lL(3t4Aj-gnx*DMMwf#b78Ev_49Jj=zO5Nd9s>Xz&1%I+fm1H9}x#fUUs*>R2ZZIs-GKUT$21&G#y(L|B*qSSuRDmI1Q^Kw}G2T)=m +W8kPAdD3?ipV#eSpd;s|k%oGFmxQF*xoZPA~2f4kTYm#z6H2njUCYdYv8Ip9Cg&VE5b03aHprV~L{5W +$+rzU@*)ablHSl69Os(``{)>iqNCZAR5B61!HP^xv<#IYb?9x84J?pbbto=Z%=&XA87mp{}17eiNQ0+ +T9^-MD1d`ddJPGR*3v2BPQX@#HKF_uG|Ol2zdEEI9nOT8RwUc6o>B95U+NBYTtBDc^81MKt#wGwN|LD +1xURFma$t#g~5CKpSABthkp63iW-kaf0zGbpG3ySxO{Q93m8tnW6^fgzkI^)`z_mN@;0onIp~Zpdci{ +3NTL8R#@1iGg7X(@lB2-6IiQMLIFP~f>z=BgtmPcaPudyjKZx;Rs0_jDzcr32Xx&PN5J>s!O~%K3~Xh +95VfX+LC}nn`kLcTn3)b>RDa96D0RpDu)txVRZaThnLR98nh2D&-Z40r@YT89?0M__;q;bQna3Ds +FW;~-B=M=e{8Q8AyTN2N`(}a*%B>zRe^mBC|L|he^a5MYRnb>sum(!iwD7U9K1x#>CT8GXR%VLf=Y!- +y*!hUkEdZQ^GFq6{t6S3h|)(uG_&9rAIS??aLhQXs-#1=?=yBFFj2r)o7$j}R~q(M#6mQDf>be|a`Lo +Yu5v)Su7{hp-izW$#!$sSP9EadM(~lId$f2_4A3EFX{J2s&`{C?Qv)XJoUKe;kEqJAi%b%yPaSgy{#~RH)oeAPoa( +YsP()}1ADTsI4r=GuriS8Rp(YlS-ZZIvtjzH)8QayOfOY1y6 +n5oixGw~|BM=(2qQaddGz`hcB0ud0S!KWTg=t|2Yi6ddf(efBximgJExl5{89Zm{3 +k2;SQk~__iL>;?PHc+z!TeJ}|O*U0ky{4i&4znfI&?#sOmQ*T~(}~_@ys&BT$eE^u@JKN4L;Tx_f=L5 +}A>erli?F7~eBz}U<+C`hX+EQT#SSv`!8ry7ocKiDf1?cqGVJX+1mYAOvT%zQTmf}riT&1B9&B9hIuY +YBeZ7D_&=bSuq&-rhVUuHNj9=xc3-md4=&b8(d#SxnQ}oTCR_iso`tCkTuqt--@(x`%6=1>>K@ +fqg)36G=hrU4IKw+WBK;_OriqV_gf5s^ +~PIZaaKBIW17!Qyq<>%t2^aGLrYN9-JZgX2Mk1B0M9Yz12DLED)H@>0-u=ZAmP)lslEDDW9xlR{w&IvY8ofp7}FK#BwSuBSUNWp;<#4sLQLXoTbnLZlLz|4uL +~aD*{&*aupM}FL)ibV_Z`JZa_MF;cN>=Sq-lEfL%F}`WjcvAtj>KLG3j +pJ8Y^F5b;v<=&w1Ck`1KA)qKJ5B%QRK@^UsPUx?>(-IIz&61^dqlA-WS+|A5G$4=fHCx-elPESLzYe{ +h&E3I@hT#JR!2kzioLK=?VqL6sUlbq}4Z^yU{`M6!RjDMA)UBmpCmY3`Tv$`MYBXMASWKQWh$#z!NxNVGaZpOC+Qe +0R+%l9cwMS`tZx#-q8$}C#h3?P>rR!9Gqtm?>NOcngFX+$^kk*a;?|8oTkN52x@v_-Uc3X5K)fCUNMx +XH@XYb1?;f%>9lbEX5Vk$!i}u~ieUFT_r8`SJY|+*-b`xS~VSs(J60m)2!HSbZy;M~~Xy2^%6u(78@q +n>S9A`tl9V>>m62dRaJa(^6ia8?)x-uofV)&sG5pm$vTm?RIgu%b>a4~)fVzSJit~3OCl|xtVTYigQ+ +C+)3%Hj8XC2q_4T*ZibBs~@+xIA4e#7f(<_N2~l?e#3bwUCaTP^ApK#dE}FgSAw5CkFNAF4K&mUORj5 +nEdLDD{rU}y|;%~t@VA|bT?oc;2oufI?HGZ==eYwEMTB8^xOKFfmC2=O^qQ^&=eXhC|C5+2>i@SHs6e +&x(5D`Xf}WhEyaqwp$_F!L5nPM`;e535D5-~8PA7`v~VOR80LKJV#F>oC)xbF$V59)15fen=%+#E)_No +hGUQatt52@E$6c_4l;<;(K4Y0ZI+*IJc5>B!(Z6Tq#>`qtG1D7;G54dM;CmAzd$gDVyrZ0>7-DRx90% +E6ZgO@i)@Ah&)@E^p+}uABqUEMFoRzW^D7Fl54WU&1Jl-IonRI%3@jhhXeuUl^OD=iJC--74OD$DVZU(EHys{>9&wt`h5hshOUy<>=Ck189Ap9E|Cp%5f6GacK^*VoqZ$LV-p +dT5VBi&pO1`w9Xs{zpQWF>qUB~DvJ@{Uf-l{bgPz2_d>P|KN~;P6SjYkC^#6`ky-0UHLK@m`Wz-EzXp=yQ?{SE +$5&9mKMS3TR+yJxkOdm*2F`su&^>eo-{3%o|bz5Mi7pM3V4Pk#NIUw!8LOsaefBleg|8!O?W3o&`zPI +HHyXZDdyRBh$3%N9R&bsJKS3KVjz?ajxEP0)iJ6|-aw+6PaUcLaD>ydse>W2!pTik6I +65&fh0r=yxAtH~thG#NI;JvKhNaVhaWJ7=X-vMD(*P%@U>ivJ&wq<7lk$MdE;{}dpdBy&Kppjmed7o7no>k?#YSG9|VP8wAGpYrTCsr>ZuYy%! +A;+beac8F4&6sR)NAAHy&?|>9P03GhxkaWck>d4Xf_QqQeH#HJASM%)@Pxf +<4_9oYswK)%9LC812A-zs#tX24#uYew!&v?+};*H#%kV^BaMIA^ed_Mc%Hx7j2E+W-@lArhA?f>lRWD +liWJ7o(~J+FhZ5-=oyWt+1D5oe5j>5>_VaD%4NHWo2=%#7>HUo!rjiqAOVMVG*=#a#4H)zd#Uq#ika2 +XG#cz<5R;EH6EjnnLSa6GM}6#Q6y>1{FcsNM4}Oi0_K^)wr@UlJ2Wih?VYxr7@lZ?_)NmZB^GPl1F%O +Ah;jhRaXerw6!7K+Q=esrEdnG59T9g#Ql8f>=%maV#2SF;Als3DKXm+sqx^S<+8^qrYCGE?2?U1Rf!z +>FaQurgj9$DzdDatcCQ5&RrN;aH5pqkAuKZOy0ndPKTa`;OzZD5Ep%306}8AW`Wy-k7nfCb3NV +h+M|l789|{F$W$$PgU-k?i}Q`M^@|Vs&K6ku$ZXE`)Zp*1WMzp&nBM;#-trc2V#WLd?1EGXqZ3RnEyq>jBkU)wx<_!jfp?^Htd0G{NMeCnY;fX_BhwEwig<4IDe+rZQDIK<5`DQ#*2T@6aWAK2mk|-TUlZst{1%r008e8001`t003}la4%nJZggdGZeeUMa%FRGY;|;LZ*DJgWpi(Ac4cg7Vl +QTIb#7!|V_|M&X=Gt^WpgfYdF5DbZzH!6{=UD0&>=V}P!_nRA6nsTx_N~QglDqEADVOug}bIGMW6-E3LdDC%h3_{-pFya54^;F?UPb!qd&o8%RcVCL!I1k3AB8y$7OvR-as@xjAC6}zo=WA@A3wrcc=03bv##8B))Y!P +Jl`i;zjVWr)Vpy{g&eS%ic@%-HTJ1oR6v}z4mNlOvHsmFwk?}w%xh6|1V+l&uIhaEsD%IA*45Tz8>1jucgP=L@u4twI|S&L`4+1G+s=Yhc>c^Op +VpWL_Dmi?07Og-iY;ctdLnH&Oj>`EKMepNs_2dWvmygy3D;X+O-SX+}*K3f~|6+HRWs*m&#=>8k&F5k +2OK)U+0`uC@I*~Q=9U3`1_;jeS?rrgcN1uP(!8b-hL>`P4Ryz7uTpR9FC5`~!lpb>mXSjCDca2*w%dOO^Xm+JbFltFIT0bNS8-lDjYb}! +Ak^g&Gn`T)lHTV%EAueIQWenu6(?25?5pEn&uC9XiwPQzK-yn84wi;gTSt8fcxiqde-_Fm^#j +_%%C+|c@!re6MSIA#l!qsBBLDCCLIkFg8fy}|7e%9(G#CxSlOkO*W%s!vYg;t33S99QkcpdZnyk)wp= +$*C3F2u_>Z!g&UFNInD2V!zkN5z*ex2p2&nUP{wAOG@kA-<=L*&@5wpkHbO`Q!@WB?@b*5cG{vzfS+u +8ZrH>&ypl5XeBZQP8nmApDM(STXflReHc|YGx61VPtdzPS_UcIehb)id;6Xtw_0mq2P22z2WvS0#))WX;TP|M)cNE`k)DebaQ9~O +)RqpZ1s)g1ZhES>~;w{1ExZt*G6a^X8a$e<1<%6(opcXauaCWbgTnj!M_AO4uWV +ngjr9V-Qj7k>*;-iVP-<_COQ+aG+OR9X5lWlTKsalAAe{dyt3llH#TT{fKpOC+}j`obw}9K#iOSR@~m +Ux#>gICPI?7bDSvpxTLmDq7uhHC;=j^u9s)><7|19WfgRP%4XJ+AIxXp@ZG_fo(?(%?Fg?#ercC0+64 +bB3<;mpDoM*q-1QNtg=+0j#3dLugl^^pT%?W4Dd;QBlNN4xVb}bg?exaxJFzyLA#d`ZP^}H=V8=J%Y1!pODdihw*U@}p6uCy+ +h`UVX-yk+Z((F>^bBK-HTB&(q*idQJ3w`I1G|dH4`%0|NMd@#w8w)X!+X=uV)OwaI?lj5)C?rFg<^pf +S}z5_k40n9LIF*I|V04Qpjf6zw2h;3oOlG_!~B-==zuOZItmaj2}4BNWgCViLlp;2pP+tk`CV1)2$!#TLDeY +~}hc}~tXE&yr;b`{GLFvwyS^WA{rVpit94p%+g$MSFzv30}B)9`{O&MJYAt5q2HhL(vLz6WYN1sBTQ_ +Zc5vLXAODQ9jH1hTf50^_}h=`K&1^qq+Z7eYxqk4{Fqrn}VLMsSw$Kerb#zGHNdYG-axA5uo7hhRJL( +QXtJb!I6vI`yNeiptB?SA88IG1MR`u0pGE(f&F-C=mCg_INQJp!S*p`7JT6p3N`*OhRE2Kr8w_6@N}z +P2(~wGF9aewzi-1Qj=nLZ#B$eNg+xwmw8t*dtxc`tz1)&wC67DW1hj%wfQsp=sYQ{^@b(aa=Ku_|9*V +70n8-dDKae}zWlSf9DPMX~n2?y0*(fNv^NIF2-K@meh;H6<{1|=1CCS+9d$Ug4$DAErXbfj0@OmOLp2 +Kf{n%NVn>EBMyWGDD`4dUn6Hi$UQLnV*ZyX)hC{KYh%wP=4lrbq5VJ2LbZ((?Z(V!!Ebo>Oh>ESFGdx +{;4g{X}Q4W&<-Zqz&!FzeoMjQ;-w1Jr%r-KdF8}}laA|NaUukZ1WpZv|Y%g+Ub8l>QbZKvHFLGsbZ)|pDY-wUIaB^>UX=G(`E^v9BT3d75#ua| +&uh^j<0;Uw2w$m3*nMSddSd+$4WyNhqqXC!1lH3XekX=wR^XvPavkUA3BxNUhF}OH;?sr)4>dG`?RTY +I=HM%P8NV}t*Y__Adsdi$$FIP=f6;}9Hh1q8-x!NlCzB$yo+_W!~k-*>GFE>}&>$g|0f4F}4{gjX1=v +CvMt{Y|KvQW{lrZVo=kFq9g?#Fxe>t2;B4|sQ|)d%U}elEf6bTk<`9%@~u*^?^s%A`iws(4a`UZ%CFo +^-BE$NJ^cHb${1n|0Srs5XNXrp$jZ2YBF3)rE*z54gh*SA;ivzuS; +-v0D1yMA-^?(X`#>#JLTWewVuIkfQKxu2tvUiVctVRK#S^Q@G6(W- +IEzr1;-0+i_hXgVYFnF;)fRUxfaHXXeJ*j*M!v(`Ty;W<^PiqW^CPf%nVXA^i;(Akw9B +*MG2EV+y#=o+O@2QV9@O$#Nh*pM`rFgE)qj=WM7GX`q8&w>H^coW5NQ5!VH10$kle`ryU4t2EV`_P&? +3DaTZ1IAC3=p?E2vSle04uOc^IVZExss6X&I(!jcUa2%150Vo18(1we^aK_c8o +hvW1w$9umDyHJYgDWZldPW(?9Ri`;7tKt(LAenZU%S$C|Awx)Y&0H^zgJLLqjoOsLbG!9C^t%!a;HR5 +Rge3+rR_pf2Ac$`smqdgTUbziM7-kaMz6@ArBXTU`MmXctC0pmb~pj?s1DBHo;IT*`cvG}t1Y=-SvAO +hAw-BXTmo~BsWM_lB<|Wy9vBs3zCk5qw^x>&i&?ajR9xn{rtAjy>=>3g@e7m6!d6U($Vh=u+&kXD>Ud +QsI5Py;*JBs0jMJ%+Lm^U**R?a%I%XAYwU*_#^oRVkH{JPtfPP?*SK{sE>mOzmeicCViu1^`5_Vhd5g +>^F)g$TKCsv3Q6SPhgoqJ^Ccb7k2-CzCp?)LKi!&ta_=wm<{a&}}a5{Ny5GLBQZGZtx}G9Hz!b`-H2N +=TID;V2f$O~toBVKvgT50lP=suHZ*S|gSm8Kaa(_J~lj6yJe)I};_bSLokhp_{84@%OL(#(W`Yqc?ma +>SAv_E@vAjl#hRVadSX0ms8Rl9E{Y4G9|@QH%K%_rI8yV*_7E5Rp?PcH5pk3jY|j;}C +XR^Mlso8X+G{R*yv_JzC0M5E}L3*&TBI%$nPn0XIYjavwJ1y9KT^B@=v`$?J5{rf+5ww5yOoaT|5r*3<5nFT1n04-ap8_M^$g6^bwqJOtR2N?&4N3LwYI?8*zj9w;gh43xO^ysJtz>j{%) +ZSOE|#TmSh9c~^AHh?=J21V%c>EPZ_He4DW4R7?sCHUUK0Q#}4o=ak&+4gL)E-KkPut?qTn))cu0hJV +Tx6I{?C)re&>q&47pLY%k`$OExWtGXgK5gb}{h67DO#)tylF&JPDYB*+V5kvCXv)q +GzCa@TJbT_OHfZO@|KHQ3(JB)Ux?x8QdAD^5M$1#>ALY&5rN9Y2^1`F+IfA)6d^%2N8=$aC=sq#I_p+ +wC@K}83|`C)^(sb>TpA99)ngSvgfraww-MfL1cq_-jWDX8;qFx(*s{AELJ4YdOsQ=y}&)={e7?1>!mu +#M2a-s4V5?G`023P3lv^S}w;t)97q!)$19J_{GW^s_e=LRofQItN579?=tH*VK)tLZzEj)D;Ij^*Lai0D+MZA)k)0yI#NH=(r5=kvuv_{X-q49TGg(B#G +AwSaq>>Z9J#&oM{**iYSDW_vP6G*?AMWzElfgA&!#(^?zbq(q(|nSyVNBXp?6Ic8h4;{h~Lm=^Lqk78 +vdcrqk=(NqGI6R3h!)7mx4UmQJDfmAH}Ph{m6x%ABdy8}HPxC!WhU$PragwlGkMgutRAstvupva>2wk +XG?I$^#kDlU3|bmEJ}*PR*van6d4Raw+qx$Jsro)<|gNb2S4AQB9owS{h%`^`o!b)lQXB#q;_du~vaB +d*XuqW4UoNRvbfDembflMY^eqy>g}-&D2BZIruu*m&qRisz~-PI1ihpx1{g*s+ZIg26fb2IxX^O?z*) +(q_81HTw?ZP*8Z-Xq~@tXZ9-O1jOY4q<`PdnpC+HlTv}{Sj*h2Wa2tkYQT|m&Z)D9bQKnH@TXr1`)|5 +VzVyTh(PD=^s$mg3Fqbm{hJ>0__5JLx=vwAtJfHKN2k)1?MsSdT%=|)i2%;WN!LVWu9)}+h8 +Ngf!*r?(JDQK#oGy|uk6am3nHNa`Z`)|~z&_=$tRc>&zQ-fiJ%V6gIBEy)-9>Jz9*C0r9b182Qhb$ub +rL11Kbv;f&W6L$<;l?rZgOwnSR-xdGI8??Z!vo^PQ;(YUj{rK$IfZALnR;IJGv8-I-$i#Q0n-5w}Y=8 ++xwIsQO-%?cR>F?EWd%!zoUSg2N`Wttugl-oDtD=u{#U;W;F~T|e85fFYc|eJ&s3>!>=MLzp(m8L +?XiMt$B0UQkfTzVLY`V#qgb%s6+u)VOsWFs}jJ4o_OU-_@MvyQvoq5PIregw8 +cTey=XNK@2?tB?oQYw+**zbKfv@u{Z4`%^c(rI=4*^%$)1dTl;F84c_$3JM8QyvBPj9-4AAp%YmAwM* +uFd9-q5RdVD@$V){ZfOkc`j$CzCT9v}?jcjwV;8Gk_d12bJ{+0M;r(KOnh)aY{$QWtkt`ghEEJY;p_T +zDO_3NKSsp*Qp)AVW@Tr~YIh38SKN)z3)i?Jm)8`Ag_NY3lLY9B#M#PV1ke-Zfr?bMU)qX}E53tH|eQ +zt!%>o;jhY9=6_QDO!U0PfXC>j?fjF+LLx1b6?_C5VMD?r5X0cEpK|=HH#8Cho(yU(n>)tpAed)lxfFer)24qM1;97rF4 +a~)72y$nsr#~&+UZJ?QxP;`>xT89};f;>6bSvjjfc4}Ln&#ZrZ3XsS@g4#_0WhXYP~yULVvWEh%~Gj!+YScuc)y +f^0dhmVfKd3fxD_^~Ek +Wv{C4@*dsEbjMfW6KmC0}-`w@eea4TqKWvrGR{TG*5)H+=ZypkC*u6o_BMQS@-EVFO;Aw1a8n8Y;aqI +OFGCyJQ|4w+3YBbS(9>HEF{6A1j0|XQR000O81Cd)QbZKvHFLGsbZ)|pDY-wUIa%FIDa&%>KE^v9>R$Xi3MihPbuefLl*sQA%`cecbY!em&Wm~p|Q +qo0?r7L@y(TsLxl+=X$_dTNzOLF9F)6$oUV8=6a&pr3!+)-goNtscKGcS#HB+JTJPdOK&Rz8=RUliet +GTW`x+kSt`{zt5^ZFl{?8g0JQ`!!v+2-g9jJygjmPVZUg#>SSNQTMFm2LA>lwg=xo2*)40#m+R|V6ET +35;~W;@Vusv{JEBvOV)6r8bWkAkXxpy7A2?YYOz>kN;pS9%c{p-jvcL%1>r&5l%`TkpQcO4s#wuC-_r +-9x!n&>SO)7qk+L*1wf5;|pH?Ef6I)Kkao;*`*Ce(71X81nF0lkg6TGx!=K$bR;nOiVOdk(N!*h|)a< +UMf2+1YsP$qL1Dj__T@Fpw8bdTINwKWAjc08NBJdrmPJ;%x!2`Qy!df3Tq*8>Fn%#@Yzas${0>33xO4 +k@3(utQ~BOuz0L+gj!1#T}Cf$cp2s;c7kk`Q1x_Ixm&_Uxj<|?QFaa7XAPfB2`9*Cigp`sdlwcG5v08 +D&=5OFGr-*xv`1JE0s;U5u?fQWAr(k +<(>Q+;5o@V|0Xav5d%u2+JiYM*lI_xLIsCnfWxIJLRq4Pe`+e^9_6yFQ`H4q15S#RSrG9INkg8qaDp086(8gXp)QXm9tBOD>CoE +yOewV@-L@p%>7bg+iMqL)Ak&L4j%D6H;=hXu~j23DrHy#AmdTXnb5AjN_4x*TZUiZest2ZnUd#G^fp; +-iyo|yN_}6z`}W4hG5YR(I2{L`N0w@a8z?%nIK8eSq^x`3l7dPn^$K^Sv*7cuMzRHpuVKQM-{cX1s#53DrjC{|Q?*;o2@gD4$f5-eEv+a^|3@-AP${^Fu(P$+ZzZUi)e|eVAGnsKVL~oz_S +pA2$%{;?7Hv`3ktC5!xN4&D@p;G^fM-SEc9h`juP)h>@6aWAK2mk|-TUmm~)AnNq004m>001)p003}l +a4%nJZggdGZeeUMa%FRGY;|;LZ*DJgWpi(Ac4cg7VlQ%Kadl~OWo>0{baO6ndF@$SZ`(E$e$TI9)fWj +Zjk@Jb4XoC*>d8>!HR7G3fsJVJUo~0oWoX)S`xFaxx6 +5JS*ym77jm7FKWoF4q~hqP!WA{Iv;2z5QZ-pki%WU|8!}z9f>)e1y4(A{8+p&nuAM8xMZf8-YL-;+ud +IAamnE +8egrlcp6Qn^VoYRWGS5c}Wcj+<*N;smoQJ5^rltD!iU)FLG1}sx^7_r53#4##!9fxnVfBnRoZ +$@5q>(`Q#Vc(I547zK9Ed=}=5E^Dyjl{7y1WSB`hShgMRMCw^$a8! +5Jcn^CJ3^j!s3e`JyDu2h(w3^^bJ!M;QldUegiMD@6aN4j(95f?r;%}sdO-fgDB&&T`eOr)hr}ekWyjj +-5u3+U3eGcUAe&0Kj^=^Ty?&%M>bnFOr`-ztkog5QBFd#fM`LtXRnhl7c*YWWjNj>9J-tZGfIj;@8U((qi-?C +BLR5%d(WbCP3rlx5$IBG`gghOxujv?*=ZNb3>M@VI*3tmQ=#MXi4XSMJc)FW}#Nb!)ds_#QL6+VnOAF +<+CND5({w>{|?%#Rzj?wpraG4gIRfj30lL!3wp&os5xU`odrW<4qgTKGf1XqIs;AcI(EdVEpfKtoItl +AxQU}QO3r=97fi+$Ai?l?w$gK2S-}hFw@A^>u;s0fh*4!Hd*d^jfV%X&sqVT +)^!i62k!T_VxGD=$i<-0v(f5F{d5&1)|X4#4?kE?!x(^XtVO`7vta(VHRd4d-B3+4bOo3n_`bg*tZ60L#UdMyR2rnKSRV}P4<78Oa6&6_n`ITR0RDOi^-NDWO*-D0 +59F*Ms1_kC>6f(OYIiYZep?(uRqlv*cblYQNV`*CcVP}J5XyWs>g3kFt2H6)$Z>%KLT{kJ@Oi#@xxDr +yyY6JGE(dYtBMP{V$2dXM3}@pglyW7Q^i_DKhNP@D{pJ)RZAx^BuPdkPs(1-r3I+HkXe>+rtRt)EN^` +*n?hk`MOqIDz`0=fkdtd2m0_xp!}lp?n()JYB@?2!-*}<7knqXb$)&xw``ysUK=7>@Zs*>gW8H_g~v0 +_*U9t{Jm=TzhrAL?D+Rgu4X~4xlqtK=&-Z=&U}i-n~lPFDs|@014tNe_smf@1H>(fSCU>)F7TGgBc&- +j^f>Q}Q&#%+vapM-mY2sG-tYg)@|{m;4@6aWAK2mk|-TUkKDarl%E001 +yC001ul003}la4%nJZggdGZeeUMa%FRGY;|;LZ*DJgWpi(Ac4cg7VlQ%Kb8l>RWpXZXd9_=AkJ~m9{o +kL0b#SO%c$Kt3ae#3y&?advXwU{p+TyUcP-uy^c`HkbC}rad^4;&vkd#PS-sXN8Xx5g<;c({7o8d^+$ +GU1-kyT}@KD342&a}O<>&mRHs>1jSMYZ4Sa_@guX0~gpqi9bxt_pYc&EH-=O&|aD>EoZC|NLwvp6IMy +i5J@7-(TuhSEVdg;m+@z%DiflT4uMBmP@);7siXvWLcFulZF1LN=tcE=QA5 ++s^Y!EPW+@Fq*1RFeO1j$yrTOZsq!4RjnUiUv!uMTR~jLWc=f{nx^HG;+NR6eUil}wQCX|eY?RAu|p-k +B88sCNkehe{T4MY$)ZScKLwm%5&F|eb4dsdbd$V{=k{ly$$gWJYA19D!loyA-zQsuA_j^}jEqahUZ&7BhhlL_Ja4j$^S$wZAi5SWd0Ou{6Y%7ra+3d8{|Lof?_wu`F|) +%T}$#nPZZjBoLhZ*dOiB*-Y58_GIeee75O;mkU%n31T7~KYqc^kJjMxjN+;|# +Gu;~|kZILpQr0EjFvO*fu$NC~f#?q>v0vpwx%2No&0(-3tq<)+$L|ijpiFs8Prz^d?DwWDrPFLFM${^ +g#?sP>r=b!8zaLdE#I39H3-=vJOYsSXzGx(>X$SSGzwm;EiEN&(Je6+oEm@MHp2 +vj`G>kZpW?4UicSu-T0~A7W@zpW$Z8WE)NQ&r6Qh(xN+uFr$~2DRBiWw$ +9%%}FIs+1)O7E%wFLccZjBL_=1=B~0aRLwXTsrGaH$tQx8M@?)5=d{IqYNZPvy+P%pmaBU#axwgtvGJuw9cq>5+EL8{gxM3oX2e2^Y3k +ZcUmn(bKsd`3O2EwT!-zZG9)vx{2$YAdXe*&g)8W+A9+Ykb7s|B$ds$$8p-muA7LAfQXL^k8HAdvh8j +ID9#v(~D;U(vzFO4vKqQc)+l0!`erl6`_imfgsN`YH-vd47z13y%4AfDX#UWuxqv&JBmHUSm374~AfE +mSbWqR6_#hPftT^DHKUAUQ&9s-Lk}@X}(rA~iOJJZ^I-vbD$(s;0#k8+^n5{y|L7C-vUDF)HD-cko}o +e2B;}J1k;Uz2^^T{^?xKh3SW8lNT?u@{!fJ@)gT%lkUNL*~|H7mx +yd9*D;j>VyJB9rZU%ABnOQA>)aTdnXi}hG0Tku13PJ1wm0O#jcQhju%YEEQr~IBESe;+4nI(gIL#||B +@KBzEVwdU}}ns>3Z5$X)kWD-+2JU(k_O=1M$Y&psWTsM@G21!absheYBb6Jg%toVh&YT_W3<8X0c~1S=)wc92JvilqC)rpn)Ww7U%fX?H=$i@!Nk@0F;lpUmz0gH2o-a^+rikB21?-t{x5YN +G}9(kxwhE>h#YOk-@2?g>J9QYjc)X|^E>bpS0pst&V(R8_Nt_$3FM4H^?%s5sXBsDq03ti%*i`soSps +;c5m5$r#^gme^wbS$Hl~@TtfUKiYk+ZJwcOg^2*2DxpC-YdsYdZI4^VW{7)t%w;lvG8TG8@k%$_GuFW +sYbCq^(^-RRCW-21#YQ98ldXKOO4i%HJlRG~z4SORKFwSY%f2Om;bRM8jWPHO^31HU}<_Q7%-{5n6G` +g%1qjob5qA|bs2=@p($?{g^mmm!Q7+4vid2JNdfLD3-{p-iipW`eq8?Z1?uoAzPI;(OuZ77$zb53%$7 +8T!|e}l{X~jw;$mkSzfQ}|S&Eq+P6}`6pXu9HTON?uEu;W$p$6BegQWxV*uY@SyId_qw|>ws@hRWKk9<{D#5oY{TGgncpZ}-t41y2RuQ +?9j|3&JJ8o9I^YZek7-q^r#bza^cBrMTac$G6wrfhisiD<&c9iBb*jeYzPFs&3SFt;&pLVGqH|%FVpF +dNrJ>v1M$1EFKip&u&l??u|v_acZ#4@J!%s~+uNI{5T9U}XR%4yIzLdkZ)jHrgfK(`5GBAySbz-hEUC +1W%(ziUVx?I9Tl$C?*3SeP!^+%&X0_o@x@8GwAXr6(wAw1KQ^Y=J`E6OwK1kRc4{_%4yF>I%4~=f>7( +6z(<|^@94A-bw7~`Rs~I)wPsMZ5zUh?WNpN)`Hitbaksrlycs0C~{iy72p +4A7?6bE8g#KwEuyX$A0k@&07T4>9btw@+_%7%sGSQ)^|@ +N`pULK06{jCyC(W$E9^NI*`lmc=4<0(g$Q~8mgupn +=e;R|&3ePZop{oWY8FMBsqi%w<-U?o@FpCkS +dhw4tubEWDz6Afa`a|x5yh(M0=L}gRC2k*5Ux*U-{a(7)zDndqIkq<|sVFef6@Iz~1Dl}kZ=T*uZtxxE8o#6l-3art36@=1GWs&0==K^txlR}NH4Hrc`7?D63?W0MaxhIvD +%|8M;n%&X6?f(Fh~k0)}I<9(Y^d=e;KWGUMheXr@!Zthk@wN$Y+MbGZ(ViGknR#OR_U+zMVoTkq@Cun5 +0)W1iwPVkKw#=Jk!9SJv!OT{5DnD17^%@iDxYSOA1-8iz$(lmG61GrPdc&kX}FuUMgX4EXYB@17aG@R +2ugPIXUO7G3zo)$iEZWwBF7x34e)n&m|3&5>$XpCEy_q;&iIP96%c@W~&tdB}divML&w6fkOrB9T)XH +m^8FO4Wu=x7hs3SYTNzuh-EAveyC8R*d@+vK!t@pJjA)^-rdm?q4c%{x>Gt_U`__oqu#D_8?|+L#g%w +8sN-&4(+%?9QGQrl5VazZE=Yf0Ts#o3!))Th-6s&orwm5s%TZODI2oQ_Y@^yWwGk9no)HU!1XvNrfAi +>35Ar3VI+LAIJ;EP|w`}pZ!^0@*B7Ud=w34b6#E+r3TbM=5m1o!^xVRnEd98r8wyn+j;ln)$y4xmMb$ +nQ#YWc9%^+Rn;r_95zAAS4npJzQf?=-;3Nd=bD1<^cKE_9|_ENfBPy1ZjovK&Rl&)`^RvM}g8_~;>Rr5^CQPeEU;nP9(jxx>70QlKjaZ?&z +5&&$bLp0tQBsrEX95ogpsaqW%FHG^#GuZ{ege +)vRX+${OMO7Gmf_pkT{kH~Xv#w2n%c9^e?Y>k0-83bs+b#cFKM|388S`Rw}9&2qxu*E9hB;I|n51yD- +^1QY-O00;mBky}{+00002000000000V0001RX>c!JX>N37a&BR4FLiWjY;!MPUukY>bYEXCaCrj&P)h +>@6aWAK2mk|-TUmr@dC}Je000&Z001KZ003}la4%nJZggdGZeeUMb#!TLb1z?NVRB((Z(np}cyumsdB +s-SQsYJteb-lXnFs8OB2sxIm8}R{EZP{`C5t5#P%xIp*6hj})r<@{U!T(>+t}EcNu9)3@pAP +N#Fes|?z)r7_Wz9U_p?}=te`Iu7iCHP>NmjWws#;JbpQZ6KT`Orx&%yV3@nEFYE0an4=*-Z +oh6?e->VRnXzJV51PO7oMZxl?+WeqJ^WoycGC4VEUmy-PfLLp$`%Iw)-WwWYDSr?0JWeiYC>=d;#R?o +cx_$5>k!=cJ#g$Ni~8=bE*gvz-JsD(m^s5KpNEcNrL=k;~H#uCEvL0DZ;5>Q|3<;;5CM4F|t7O`XULK +-<+)4~V@JNJPqnVYggn1%G&by2MeA!ispYlN!UdI1;fwFgZ&XhA=3o;k4`5@D^*lmH&(I$JH_nBZK|T +$PA-w<#obrkfp|9+Mz;Z~~dG4yQJKxkR$;_R~@C)#*cmLyh7}2ZQA +qn#!WuJ7ZFXz=jnBrL=;bHl8isbgJ?jVaEkAaPuFpJF}_L(8c8@xZ)ki@;pm3`j7I~XqQ53dG@a5o@# +4$LFpeOLNB!Z|ARfJ^Gwd6UQyRvXaSG6MOiZ|eilZrmT}Da&0-xboJdD#D-#d@f5o4Z@6AEb(CTZNi8 +iol?u9C@k8i9TQ*ik$>PrwpgMx!(UD`XUX#0O0;!r_pqyzmOvCu|?}$CH~Ret(hD#dtV~AUum;S$H;# +S}HizABORzPlNC>d>^@8W1u7+tF_kA^+m)Y<_q!PPvh~3-RO@;X@XB5UMA^o>vcShdP +38;*|7GJ;Gzqw@gJ4xaxDAyfFa^$uyRaWVdtF=>g!69eiL>)1|~&t3{I)4tlL*nLnVtN!w*wZhBh=wv +k_MScjfOsd93fT%3aG_>7={w;NHUtpD!aJLuV_yAOVR-0Qj3+xu@T-5$@iKKAK&Cd~2ucEf@2I}A{}t +61s3ZoI49)+6XKz~6L~=_U8euORI${+lDMG3_q*gK*td{P%U=4mCIM+azrAy(^6XSA(hozJ4CI@$W80 +y>EuU%S_Kz!roF~Zn%#BjOM^}{AqU0&Q +EZyg$7oi^)suW}Cdad_y6TvDBei&v{0VlJ@7?)pJN)&dQ8Db{Vfh2$z3eiON9n)>wQM81e+jnaku1lU +J=RNv9~T58zGpvLiYH%7NZIDfal+;771NvjIv=03u*BLe?=;ZUZk1uIke{Es%^IRx)3yT59=FR1Dch~8?s_@g8^`U?t2kF?Bx2He +@6aWAK2mk|-TUknYIX~6`008 +#`000{R003}la4%nJZggdGZeeUMb#!TLb1z?PZ)YxWd2N!xPUA2ThVOogQTCElsU;3vD(y-O6oiC|1X +`|X+Dubx9XqleP23;XaZ+@pcLtgVHEHsFp3+ +jz_0(d@LvoO51mp+k4n4QEU!;i^$EFQ6kO*dgp|DY2m)$sp9~1e(MQbh;TNWpu~dg+~d7x9FZ?CYEIx +33t6VZel$c0(7UI_AvhXtxhFrSjX6pvl2k!JIcVnT`ouLE$G4ZgQJ%_bRUQc?$$Sd9tf?0$IbmSdt1N +UJio5tCtO`K#-a&tF*<_f2{j&z6$4sXau(us35|EvbJj3s_gKq-#X?NVCG14w83Ihe;z>HbC&eU{Ta< +?qI@_+mI?A@FO>0-tjK$*b$8;=U`3p8$VdV77pc{+=FTn{ZA31{DsPrXLkPANX)R|{Ly_mhMo94+AZm9aNW@h6qE7(6! +O9KQH0000800WU*Sp#xH!j}R70D%So03HAU0B~t=FJEbHbY*gGVQepTbZKmJFJW+SWNC79E^v9BR84Q +&FbuuxR}k){#!?$w4+Dawz%D!Ww(e8}24mB*iqt1iXcC4^LrbJ0e0^ +NBz(xw9`FL@npo%S!7p0Se5mBXUPrr9sxiOA}%8Zvug&tQ>xp|C4}q+>tCLE(&*7|DvICkOIzP9|+aU +Sn5Lk*G+xE8SY-JQ$wec+aYIrUkzricO#IHG4H42$>`s1)5K7gI+kdgH*_nO|mJa3M!>Kxh%)LrcAzG +%VCEtErGp@;pQ$pmkQ)Ji8{lR*MW;L73_U&-0B-POz~7FYcV&RjVRNVy1J;h0B5ijVoTT<)4&QITu-N +6T)__}_?3ROw$V8bGy2}!z%&)|3((~-1IbOfH*OEK6L~lp(Bgqw(w=fC(BqpF4t=erXFMd6N`{k=GSM +9H;WZxHJQ6H?RY$#}%&Y5nH;sM@M3PaAvH6WSgi7oiKla;%$Sg!=Q|r+SBAUCHH9S?^RpPh6?1!|EtB=RI@qo +}&s~5iTRkf;h?zjT!C90%RiiQhRTCnWmNYb-$4*wyE7)43keav#hH0xamKkI)N +@$n$YQ05&MpcPB%F!R+gzV#@tU}VQ0U#PRT-=Fc19E8B_r&lP9wbzH6)#=^MKEOS-3EUg=BwHL(@_AT +#TWXr**b*Z=Vc8=7da^o`jo|}4MgbMA)o)Ns0|XQR000O81Cd)<4)uB2t^@!8UkLyJ9RL6TaA|NaUuk +Z1WpZv|Y%g_mX>4;ZV{dJ6VRSBVd3{!GZ{kJ}{_bBfaz0>7#3V)o}$QE>@lpec- +`GKoOQkb-q~H-Kzb@)*tdCm=9w9XVYoDPQGnSp1351WR2q2MF0nLl-@3O8ud +ikWR%^E@0vs7+3G(&}}i?RGVt-!4|m@Hq$qYYG)fwKfxyow>6pO-r`JG>z$5js +>Yc$K7kEOV)nS_ukroDkHa2WFYxe_q_*&6mrW7i*23U%2p2L5u8S0+c!zEH90B!RF8YKX@(n)j$IYBw +qWiL`^{(D5MbbK>6AUUcTyM09#`!JsFKQ+-&Q0lF8kuYAQCONJdpH#OUYo`wJpXR%^?qRJ|WxeYm9YWz~ +}B7L}B%x9nBAHVA)HLog7`{ +W01!P;yUSVI05*1r>!A&y+s%#2d8#tf^0dfh4k%Z3CV__7I7vzTxF5%iD=K?(e!5fw$r;6;`30d~Ok! +}m}mhBNtNtPcha`s{8vMC(&n;Pwn5i{hS1%&TPkd +sQ>%7cvKrQ=xcrG4J6h~@e{2U&W_%I4Ha1;6(b@ClZRd@?=eI>)N3A0d>!w?D9^L +rAULtlGZB@HrYACyYNcqmRV~yuIFNws0hN(^L4h_qhVZQ3x?q%t;M$(s2v2dy!O8KA_!+el{@0MhNW{ +=^S>vNeCrFNC0LAB#039T7TCF+-?$`0*B$jqCKs^;B?$qO-pOcdOWNH-~H6g~~S+k@wqp^d3|_v7UJp +P-H${NzPW3TAFCkLse6TSC11T6_0m0x<0gOlM-S^pYVu36YQ +f6yDQu&_&}HdM_T!*34z1E-OB&@OyeG(&>K(j77{?ph*Ovh>@a{bV2mwlF%6ZHG}t+scYU(iz5f7DT5 +{;D(r(2_8C))J5z!g*z+_mHWR?O9KQH0000800WU*S-Gw2^0Nj20Du?(04V?f0B~t=FJEbHbY*gGVQe +pTbZKmJFJo_QaA9<5Vrgt?ba`KNVP|tLaCyyGZExE)5dQ98abrGALLKF$ZQ2@ehiw>!0>fHt!M=Eg%1 +E@$RuTn~iem)%@4KVkNZWCebuaY?Tc*f|&mEsT9?2N{Srnq;MgT8TSgYzYtfg7Oho3&ci}RQ8qsmKe< +dw{%*}x@V>S)9m8;xXMs>(nmMvF@2U^b;Jme98TBDERA`_f2N@N5j1b(x7#)3cOi6km%XRaI2-N)>;IN+ZbFHsSQmL(;O!L`(zQ#?p>(T9#y+Oq>>37*Um#!0))=x!7&Jb|;id$7RO +NLREQ-kn_ZC3P+=umuOwgt7H`;E105FB4Q{r5mYRQo`rGnXF7ai1H*BnR4kyKE|$eY#YV-2N|g!R)=A +^N8Il}B6h-q8j^Bbd)x`2Sg7-zXfm#cwOE3z|O29%^+JIRrDC+zQ!6MriEv%~o7>hnBSp+#R1H>77Bx +aNIdDyXwJ!=CpaY9pD3be>G{4<}ljxos!jo)%dWZUh~u<_}l>Dr8KY`liN%zsn*Kuokf5*BA)dnr}2Haw`rJ{HC*f}4G}Z%3av^W|fEF!;g6Ew?Bi!sYY5wxsg7Q$p6dIQOSRsjg^E74hbPbf2Hx7!mD7&Y6K|+|?e^^&kMpE$+F!Ws)R?c{sPAMI>q|Q&zUNF}S +{hPBBx6>)CR{}i-Rb8O;Ay?XfhXQ(|jmWiwW#vw5FK!ZHD0&Gqju +a(Go+)1w_vE=TP81FUtls|H?J?^ix=!};win6LWF4(T@`q%cFN#cuY~^5B8QK{IC}^{WDf}E^d8|nB$ +d-nD!o7)m?ui*)!8Ab91;iYlhM;9@#^fck~rJe!{1(+z3FBtOqX(=kZ8U%sYJ~_N0xTw3=1c_$#PFQy +`?e_iMGhSFuPU9Jz~Y^nr)@I@wR;D`(}6`ZHIgIjz@0^;-8ZJ9Q4B;vK~!ANnO(zKSIGG4X@>^eW5Yd>?Ht#es{)y0MNNelH$!&&fP-L=ZLQS-oY5^@;z4&ftTkN?AD+0?zZiB$66nei*#Mm9g0XB&m6S5xzIQqbzWB@a0rTD$ +p=t|41CF#ZRj$_erxjtR^hl!;-1%=0rp~uLPu~cLOX})QY3OA@x3f8$jA1L{uni)pJ2M?`QQLfi%Yv_ +UmD{ywj`&63VZ&XQO(YtpR;klJlH_ABe=wV-PCKDWweQMt+Cj*$AXqEsJephe|Q(U1UmOlTFx8C%HH* +`Q8lc2Vc?o)awyq4l4LpOjE}8EBOy>wetl`viwS%B+LD8>W6C((@ku1yD-^1QY-O00;mBky}}86Fsh&0002;0000V +0001RX>c!JX>N37a&BR4FLiWjY;!MUVRU75X>DaLaCu#h!485j5Jd0$6_cJI(S87l9Q_SaVYQ9WlCnz +pd&^2ZxTneN+nF`STvNvCIbseoRu^S~B=ny9C&V)bCyc^KnAnmrhA2#P%A%XyC8B}v4;ZWMy!2Wn*DV>WaCxm)+ +in{-5PjdT7;GLY73($7N1+N}#BOUKwS&Y(S{TNH+NC5m6uBk2as)yDo*8m4TwTzhs9z+Jb3HR>hECHo +xq*$Y8p*+}nFFz@CEsx6EI6&DP%HcduGj)4II}x=Wk%t#1-8(QgNoONm&^&RY@VcOFhLvIIFNd^Lc#8 +5rTq7pJf?^wnr#i +3i#5-KIlXu)OE1(c16J2KVdhV!p|Hr(O6moZ=QB;Zmc7`OYUM3hX=4LC$9qee ++=w1IJ>oqC~SBwS?Ndp5i7&}3WLTbIeWL{%r%A=OUYK3DD6Q(qQsoXp1a6-+#J7gS!2)QzUh+y{#95< +$u1jJ1~bC#@+3~GM~TKxgLMk$K;S4chXf+(nRaEpu6JRuk8C38Y;S47xr(67;nP|-vchxZZ>g!BFgT0 +gaaHpC1ksa_Y=eDleUDxa3->RRo|aB*2hNYfM6Df?N|9n|=LhY;O5>C`le7(a;dH?GH+q +ZXNT^|qd}P9+B6{P-;EWO8+7JEq?A@T@6~gYQemK1VW%)mpxYNBca-W|zP=EhUZ#Fpiu4ozeb0!h= +YUf)33l}Qf)}+g{@R#$hP2xQnf}!Wq)BQ8~G$%?9Zwfux4uCJUxLXt) +#=ZB^UU^rFPMFm@1Sb}`9lN{katZ=lxLBDB^bA@aOGqjw$i4ApWJBZiw`=3LWKhgYwDE@z>_1{I15_p8<+tVpmP51@@o;iuR3|F8pkk|cR2 +#R(}8Th+lxdZm;=;ol=kdlbeR5#TwQIMX#yeqtT3nZbPua0k2rE}SR>({idr&)$yXqcaV?7A`fohXmf +h&Ase{P{kV((n1rg<2*1o|}@_&x!Y#x)p +Zc$T8@(+j+(bcr708{*+0}bbE-aT42lBFrcWnDL9iQS&geP)7mz`OUcgzk^YCgmSuW8fsjFLQf^+F(t +zccQM9B7<^@vlzH|78lYe8O3CyX=4&_p{>f9n^umdTpD9D*!H=D_fo-!cYio5oxvGFAl8;B8%{-%Jx~ +~6bq$^)@^F4{U>v1%2M-NVCax9wnB-L{)PoeYp6J=x*Bg81Isf*#Z}w8Bwy>*z&#~U8~I%fa +Qw}B>7NhuF-lu%dx9LNc-`G8wW>3F{hQogP`Ed&^uWYT(uNGPF9rr+LGJ+X)j#Twr+A%JrS~bq%?QOW +fMeNeiNuKUQmsRFxmqLr9;Y=%je1hY^kU#AhgVN#gaR?)7@4>!sEyZJ=-U@I+* +m#;?)QGZ9lD@$`^w_`x0g3k%{uTpPM2S={!~G5;;(Zqm^eJeRZKdleAQfF1hzV2EU;yQURWrCty+oEO +FeH9Mp`msfZ$zIr#oMe6&46x_G=Hc;WNKmQxCe*sWS0|XQR000O81Cd)<OVaA +|NaUukZ1WpZv|Y%g_mX>4;ZWoKt!Y-w(5E^v9JRc(vgI1v8sUop5JYE#GQc1w>2S~!jt3S|r19)(-BM +zLi_8$~i2dDHZ`|9&Icvg0M&m#se}w)D(1qi0?ucC9uRG)AI-Gd#TE0i)XJ9oR!FR0G5Edx18C53Lni +F&XucR`KM-l-&rc;W7DLPdV$Arr +K?(|(KT{Kd!narXzii(0sSrqUJt~@a2O;bprwiK1!6fTT{&g;M8>|RJX7(uS1D5`i3#RyYu$1yQ%@84 +E{)}*j_?FGA{kLy*>8^`|tFRgAlor}Q*!C}WOtC(eQ%VfvFYTC$&d*QgjF=ntn0Bc)$AOSpu-Ecr>jN +KZou$_wy7(%;k3d2!%rsVh-2~=|*71W(79V+((7ur&wdk!U2N?Vs0_o|gBnH1j!n>8<)+YuHvM9!cRb +6Kwrj1{65+*5C^t+syc!R8*5u!Etd_kck8^=yJdT5*>d7s3dD}%^7+||Khk`b0z)99hLY$Pa*{HMufF`b_=hdNJzc! +aub;#j#0&ZfsZHSt#A75wxwxl}{|%V`?(TYkeS_4#V@u--|*5-g|laJ>$;en<<8 +k$iFpxIo7`8{sfT+HE`I9a9SAkDt|l!AGUITtIq3vG4uPEOA;cRkR5JR>=H}_lTGXSJK&L_y!0Fu0QQ +iaMxE3z7;`e7N^#8AA>awSH#q6lY-nf%CIs(->|4QS6W~3&B*$brXxtN9?`$UVJ8u}ctVxQ=Cb(s?$evh1*7IO+8aJgdp@NX{V4r8<~hmvKyu*tFqWh6rkI0a +Qfc+r_9KT32L~ZdX)oGa()-aFFd~0+?&%DTIo-*MMjPm=qM3)z(cbUaL1X4Cq)!lWKl5DU)ix$Xpqt$ +rUBO;R2{#?uP)sh#wJ@|m8Kkt+r8RFmcPLy4~|-BQ&{q0LPCG@X*QRXhIp`?@gpr1If|;`Yih4C^|Wb{s&M?0|XQR000O81Cd)<#v +9NV4gvrGkput$9{>OVaA|NaUukZ1WpZv|Y%g_mX>4;ZWo~0{WNB_^E^v8`l;3OHFc8Pz{Z}07i?t=DN +gxzM_RuaJgRBi*_vDx$+j1i6NJf$g`R{j<9XDYyOi%XR=YD;4wm8&ETgX+xa}$X6tx`Fw`1wuuPv&HT +QmX^lQ!V5UI`c{xJA(J7#+cyo_1Ev%n-XtHvXkXz1jgz#g#{!5;0fD;5z^Z~@6Qh-AdM}@4}^|x`6u% +Zn9K)>?c=hC#u*>xRu^0~#LcE1G@A|*pA~1*;flzuF1WU08U)Lir`PX4Uw&-gmMDwnQLYZPsCcL|f*D +ZXBwnN&^Ce8in`4xIrGy4SQ1B91W7QUGV4bjFmc`&jrZE2IbdG%+gpj8_&p&{*UgvR_Rw|7qY!0l#d) +J!hwmLzIJ&-1ia@W^y429g_97lsAAr!GA0V%8LIGhu|7B?5qd6Z-) +kd0Z>Z=1QY-O00;mBky}|jWM%2m1ONc|3jhEj0001RX>c!JX>N37a&BR4FLiWjY;!MVZgg^aaBpdDba +O6nd7W0@Z`(Eye%D`d&>ms~iu}}v2Izpa3)TW%8Z0T&Aq!Mmq9S$@DUg&MBgp^0?@0Mq>~-A?1XifK@ +4mbH?r7EZ#(Gj-T5nA25)}{3=E*gKSMBD%l}l=CI`XSt=?5B*KPu-l`qX=6v}luP(yKl%lm;};^0HNV +CzM{h@bfV{j^^^xbiMFv+uIM9zkIsAPLkr{%f-9TH|K9ZUKE$-zg=9@8@fvfpA;x*79MMUege~cA*}- +=fY%1WzZv`dBR2Vw7fMIx`$W}iK4$@{5N&IgvMS`GmzrH1SUsg_Mrke|W%?Y={*ij1pXT3;(vx0T@1~ +pM+E@xl#D!ZoDetYRhSEWl9Nq)ZSXIJe#Vw{rIQ&)QBq|G-9Tx&IrDc`VTUm<1NisDl=LYElm +axjP+JaoJ&TrmlEW{iNX)@}D)~mjibhYvg(#^;>QdtU$5+$dHGodT$jPn5x=&rF=>wNN~?Omj+xU9mu9IzGTnmJLba@PLG|DVD` +}iTZWwQgKlP6BRVxLQ;-sX;``(?+W)I3Y!cxh)t4+i>xK^SRI_%3Z +v(s^qA-`fSoi8|QDOl$P5-gZm0lY~VU`+I8fNxmGhHCY|wKane2{Q&H7+#GD#BtcugwzXVjqdQAuVpb +;TG&+)c^iPgq4YZR*`>5ylO$X8DTVc(TW=xMNBEdH$#DUOxejl#1N>3;$$B?3xWkWpn*k*c?5K?R#R@umPEinwl84L_HGY;$r-Tg!F91UjpopPv8@{T#LGWlH +mYnUYpCg-*T`_sZLgzyDP(jU1!+w74vrBzFyN)SjwK&);kd~Go#}VI9GKLqm50HP5y*~O9fUkI+b1zS +J1`iBd|jNi&_6pFwE6Y4`%2q6A4M*$JaO3hlxnQBbjKjy-5hoL^!;5C*41SCOmSDGKeS**r~kcUc9%< +Bn47(VDzNsj310MmBj&Bd=9m&bVs#$d42}|271`J8(EEuLC7<;2j4;ZW@&6?b9r-gWo<5Sd6ih(j@&j9eebW}wjbP`Xyox^on!~-#U_ruY +i!^Ne1Q!ZhCoSFH>cU8mZYXfK|VgGNZtA}6Kp@s=u%ZIR-HOkl-$+EdRFNj_r+!=s!rL+IXp4T9_U7(c4@LpV79mMwSoj?4&DtjmlU=D0A +|6@vwpw-nP9)xS7pnrKni35ydvHX!h`bL6_IedAnp6|75u_>UzfTd&1sSY%f@8^i$6^{7x{=_Pk}@L? +g^^1QS&y3NP^z{xehIp>(XarV!30B%(WOd+}5$cH215xO2@;;3dL<72rp(RZ0t6#~mhpXU#ho;bV=MO7 +Xc3<6H-r-sVt-o=65}Fpv$vob9w1h6aEegpMVxmh$m_^K(H743*QX^<3E|9$-A}C3W=<0*OZ3srQevwvy1<*O7V +4iq7A5>`WJ%Rp&Y@Tg1(FYv9!1^MD5wl`&ZT)d){J~-`89@aU#&Y99Ko)4uk}>PVIJTh&e9^!@<3T?m +uNW{~i52)$XB@#0;<4pc%jcbZfB8WV=)MDe7HW3^mu+MPR+z>|aMjM%B#ATV4P-ncvkJ5!zVJ3H#=o? +Vj7UyC&ia)jcrQmyyK?=<)B@xS#oa{w{jP8JWCLa*HC(Z&94AHXs^;7jVQGRt+Ld!!LRib{cEx13Zru +>sVn0_o8G@0O&%s3<#v>LOa}-q?wCQ5MF4yE2Z1Uimg0>7Ph+GBWfJ<rcX~PJ}?=qTBCvuS|t!1{`+1q?xDAfiqWD>`#42{Kt-HsAd3MUrBEo}RmgKPK9zQL78|1o5LL6nj?`}D^rOTdd&Q*LyP@<1tdtHlV1YJ~VnCAU(jveO)1R8UpwNHWT#m1^8(aai2gP3 +2l$EP5HlN}I(J6g;y6Y+nd?6~8Ipc=nO?nEg7?!-gOr~jY0hUot!4;nz*%lMdJ^uO1;o`i15gB_n$tf-1-6wxQRd0|AIy+#&SnC5#$X!g91Fso} +Zwf+=Ha7m}Rwa^gtG%(Tj^A2Z+;c@rj#+BkVXKbavO><3dOKaaG2zzC>#MCAMsHY_}3Xm9LxlG$sv@x +H!(_AGDKh;9qe>eSfvGl_O0u3lXI*jb`lKyN8H8KHjOQ{!J)xO#s1Lom_v4+1!kK84LhdfN%~AGbmD( +VJXWV9w*V%p%^nsy93rK4|6z0(EANreDpI`nunIYngL*3$4m>kc{I@HOI6@C*I2Lgw~#uGoFa>C%FKR3Akcc%l5GLk`@bsvyof$Y!Cqbk-(B`5lPkJ8(P;UcRmgj7bhm~%pZc298X +qgwaGX~g=qjdq|=8iHY|J#2uc0;_RZ%D=UaI1Hk9anU +MLP(_P&)(?&W-B{IU1I>X>_(z=~d|~*45ghiE;r{F7tR6~=SOEY4%mM%aAOHXWaA|NaUukZ1 +WpZv|Y%g_mX>4;ZW@&6?ba`-Pb1rasjZ#r-!Y~ki&#yT0WSI-hM_~guDhk65E!$9}Mol%4CM8Ly>#yI +{T5RWo%S&>X@4oxK<0z#=sf7Q@1W272n{qFWW`t5oNMcP2_$T!aWSSZ4A<8o)&Oe#VSS+;{R&&L2FO_ +4dbekIMG9|q@dO|)&VfY${Ur{)jjo&8l2$UW6ijwDf?~rkH3=ix9FE2}l=nyV=Wc5hu6+9nDkG2UHfo{S&N>QT=Kdlum`ut%k_vxFZRyO6Up+fWyXUC%3|i +EpUuAoH?Q7WaSQ(9Jm4~yxxXWt6=f4WXc?b?F1(b5|=Qk;o5bjq&)T_g*4(JS5A;$P)h>@6aWAK2mk| +-TUp(paw`l5005Q_000~S003}la4%nJZggdGZeeUMb#!TLb1!FXX<}n8aCxm)U2oeq6n*!vxNru<1{6 +7VR;10)0qe(#07g1AY4=bJ1|`up5lYlVs*Yav+jlNWIZEOL7_dAzGDV*I!E?{OR%LA(N5+m+c(R=xts +7I4>uObPC@z1loidfs3Ei}{mZQDs2U;S|MF6 +iy{%8oDx-B(IBG3h_gmAkKi~M{2W_r$Q?2m`+kiQ|1Mx^ZnZDrp0Ogqo{%BMwnvRpAWhpBscn_Jw +crgZJ(+C^`IT|dHvh;VWoFqY+aM(FJz=acdK>(!^LudC(dyZ5VaAHQ5*e!dz{_lIHq$ +$2D?E!|r<M-A8QAF(bsL%9V!>mu52tMV;*YMQoT+?*8%m?C$r57lQnP~a$@`cqQbS{EcMI_g!Ymbnrdj#${-$|fw!J +DIo6lMBF}Z4s#GkOq}|JKp1BusH_DQJFl4cRNl}xOkY?-t8nJagyYnVDdmuIhU-C3NbK^lK!fuv{PD> +3^k*rC>RZy5&dn&f?^QdwzLi#bcfq@yd6PDh4nFlo$QIfza~Z(abTh{WN{rP9M}WjaHbel_6i}IP0N% +I5)N-rvUt_z?x9myFC_@U9o*lUa#rfKXP&ab2_!=L95c&(&Ry@)mK#ED3Q4@tr%6BBkR61cWg3yd*sDIsJ!ROk%k{(_t3rt1yBbI +-4?;k?Q-D=c^oqSk?Z>KwU2wHMXP2D6tt~kmwdP!{-@OvPO+%3cV`cMI7=JNX~OeE++%{gy9D*YVZn1 +2j9{{GFK;KVRNO>!4GsC-iNMpKiH(bx7fI8wP+wLeY)6F$RkE8xK~+OSyrBKA%KXGHl>d##w$>#?ED$ +<0ABCM6_)Xf(GgA%{qqxr0cnw*(@9RpvFr4ke*yW>H6~Bon@p$29$|9q?H?y}42Q9 +3a0?t7BliWcP~oZtjM%6!c{(}mYLi91!Yi36{nm$3{K48~E~W!=9Zr +XW^XsYB=JbC&RNFIZj?z3IN^0gXGRP5nG`pIokV{|o7RPvm}l8IN!9%K_S1fM89DKz+myehdWyf7utW +Vjk#@Wuj4lDy$X8pNDvSIu4 +;ZXkl|`WpgfYd9_$=Z`(Ey{_bBvs2?f=ihy#NIOr#G)6_KPgIK1^>T_ClsMV +pA(LUuGg=zexk{H|kED=4(xkOSE%+))w^gw-qmf*9HJOYU{78;hzFwB#-lNgz3A^745R$4q7sX1fXd>g;MlrQ +!7Cz<*zSx*uZh5g0FeDAzZ$%*|_FADOgluZpK&{0fGbJl*ZNUNP9N1WlJRllB +mgUS7Pry_?=&CD#{kuh}^Z%$7fU{(V3IZ+I>Yf~i$Na9Y}JZs0LfdjP#W(AH;XgkF)+8823Bu>b?o%E +ba?T~=CyGT9-5`N|+zK`T`OdvMD#!Hs3y0KzPj2E?3cVZiCUpkW6r9=*N4yS;fuc(2|9;#mzjBJkh-@ +ST5p{>`&s4tk^+H-hJ@`3 +wJ**#O0C!f&nf|A@O!w2l~}U`cqDC-ghpiR$V;Cz6rLg1XU1yBa(tT4=b+mS7-!7Rexe75y_Q`+PfD( +N-iW+lE0BdgYkb8Da$~80%NTf8F|e;SZW4L1k%qsm_y|IPL)HxLSbP4Qefr!C%5`ls;Ao-j31SKcr4d +xbcH#ij3cnzhR^%oecPHcT346_VK=KNh;!I1V;n|*p00Y4UC_+#Nm?N0@P;un6chtBi&f}f|2DI&L7v +sAQ$AoN$h@8w20gmU50CZZM9M!Ik)^aZpr17o-is%Uo9ODA=U;Q#^8w||^M91s{BnxR>4oyi9j +B2Mj@DtNQ4ZvAyx@JP6fI4?LF-$GrixjtEutaK+9hk^Vuu>>v5d#GBLQ9Y-MJm@46b15wrsD|zYv;NI +j#2COa?+hw$SCotg3cO4%AmDQXXDu5WD?U>_!bBD(qIAsr93_g<`VJ-Xp0VA!a9%A48ttMzRTo>rk-- +rZ{9Fqn6Q!}&iShn4AhTRUT%d2z^Fy!Qx+fcwz@O9FLE|Ax(nLsi(A3V1kKh!YJ=S(n*|D8X!1JrLs=abE +O|kAh8d5xRDQ{Xr(M1*c3WVbuSKo6_0qqihuTut)yJ27MD@Vmu|j)rUU8 +QSz)2gp~FzL=3DvTDhB~UDL+GcSs^?#3FWoDBa^gebA(JuX_vE!S4lCW!F(TmVIhA{Tz%(9firfsH}H +ouWFGP_>NjN6z}7~X>nD8Z$wCgWnpsu%o6`wrNK_1}b!5 +hG6LxGz0_s)+$L64JzFTEX_m~%UKsu3+M$%el_15?}Y5MA=~0Cu)bbG`vAQ!+2*kt8V{J1;2hC_u@cxRQR|Zq^yq2qIln6F^5RhU7 +(V%WPqeCQ+l(j7?`GgHwSeFwQtz~Y3o_L65twEH(y+Ba}tWrQiU{bY+)|L?UKAQ8&z +21Yvq6Y=4+dvqKg!17=8jYA|l_P6IJ{Z1Pw**^Jl$AELf4vHWO;`ea;2zx&A4R>#xR!#h>klHct=YC( +0zou#PjSU`f`sK^h>`@6vUbe*aW_Q;g-^R^Z)88!kKCI&ycl1Y6z_iQhoLM-J@2xK +-YKcpd;_(KI#f9b_qGL%g;xK}c3}X#!_$wWm88i>E~t0_b%7cP +HE7r2T?!A=G;9Teii*#mQp9@JeFSiI*qr4O&oDnyvW*9$-aNegVox6wnsI7-s<#7VFbb5VJopcY^qqB +zMrs=-vo#LnNGI+}(-41u_Z@!UQ%A?yEmql7)^(1XGoGOpF^{9scuAoy(I6bc~<>pSp@3qOv{f>^N_? +2jkISP)h>@6aWAK2mk|-TUj#J?4Dx{0034k0015U003}la4%nJZggdGZeeUMb#!TLb1!UfXJ=_{XD)D +g%^Ll0+s5^G{S^lqM#)sBmvk69p(^SmPHHT*1KX=tXa;c-Pu49IsqsiFLgD{?@4frrks@uUYlo?5EFR +yzd*5Ftx!x3I#TG?giO*Fg=Od|CL|NvAeaMQtJDJ~g9^)0y(@d1gt{3i`+PSaQsuVoM-OI9Avy@kSk# +VJjVg|x3X$V=^7uP`2*~LxCHycsvm*!{-@lIxyeO2u?-kXzrH)d}T>(9I#v-ctwC9ewj`a!B{%q}*SE +OMTW%_;DAw-Fa*yj +uW-3mA77P3H>E-K-tJ5*N6V(SGu|-a2-=bJ=xFhK1?ELM;&DAh?DmJB9aMX?6^Y--P<>{M~>$8jVtfysJl;P>;g&;GFCS)l=5NM0xQi+twrP=yXZUpUM#bQyHiY?)5wGvDbPWS`Fu +Gw}aL0{IV9mdfp6-$;#mCOlS0;GyW5C!7%A|WCtgbN4kB4;-e%x$a2j5AFfYD};N&zV{kTUKuvSM2oc{O6Mo4BUPtka2i>`tj`J>BJy +fRnN$Yl{OQjxzqL%|g)_!I9^Uax879n%R5Az4$rl183Nh +)5xQ`e(Bg!YHAk1XWLi!eKj>gP9Av0(%KQ!SxHec5~=jcGFLl72tE1F-J*Xs#9S73y%NF^>V&d!Tmj9 +K&VZQHm`Y>r?CHQLQ$#kMlbK=8E^WLoIXU|Sn7uc}~kVGakgMC0T6j*ubL8tfhLC??jjLI9A3OkqP6w ++=pF@5pS?v5pj9ib~^X{4UmKXzwQPO1u^D!AHQqo-&XLK~&|g(b-OlETyNVgcy){uLdw3X-wK}_Gmy^ +gWM;+`T>YnRT(x2$1L!61!MN7CLEm63vf{o#~SuQ^sqkbR!l$u3OMAEq>^iqEa@f4B{=-$=x}{>m|h? +LI63@ja(EStEI3PmTv;Va=-5;uTaMk+3trxVw_{dyYdlTq2q1mEnUHtGF=Xc6#uuNqoxLOsG_gjeR@v +Ip_V_~Qh4Nx9c8aXbv*@U6m+{D9nrwIp0j@*miKY~ANX!ViGuTY#V2%(#>MTXmg_NS +&fia3(l?&d-s|X#iEM=`3j5Q0)JAu}u2({HY}w)&2AUmPK?321m6)*`!O|lCs$yG?br43k4yLRqJ^_= +T1Pd(bevL6E-3cWxpKUNkL=v_MP6wJSW$JGIpY^cj8Wg662DV9ygLV5Db;Ikv!#P>f{ +f`HU~GNjG#Rfq?uVO@@&T;(;he9fd`fhN|cg{OfRUCF#3(AvC64)8^fSxEpnhOH$iZ8$bJ8D7_D$(ql +>8b&^Feun|GtGCrmpk-VX?E?YeEt;8%jxsILLq^7g=j?kSMU0{HL6KmzQN9|ZBg3Ymv9yPdQ_X_~%3) +!{kTCX*FuE5uSPx{bQ#=5aszq3P)S+$GYc^RbE0J$JeyT~N_Bid=rC!Y(5*9ob&SV&=ufwP&o*J=vtw +qcyq6Z@wlTI_h#1$jac1HNE6OaYMU1A?g_R)OJc*eu);K#oJPglR3e(&4FqWiz?JQCK9xKq8?z~D+8* +>5dAavx(#dsq5i(2p1^d2q1PFj$oaR^Uv4fg-(F2zZ#}b}^b8y883c~o+go6LcH2{3Xcg(kW8!-7nQp +;P5VJ|_p7&LmC8byao=xnC?vA{jy>>IP~L-BgY-&93<;EW#m}E4D4lPuK%(1hDqA2-XC?19rB=vw11loxFz}%ULSqo}qkDB*hDL^y~##rEOKQKRo39XyyaGKHPYrhH5Oj|Lw)-suRAZxdYx4?SEW^Q +K(=DEEa?4_N^t>oG^Jq-T+^syq$e)Pa=s%KrHjxj+g(jeLc7ulnS^wzwO9XiQVR7ztV=B7J62kP0d9#~n;y5Qr#{PGwCRUlTO5Y@I=y +}N0qVs%cY0)YjqO;xOg>Fr{gXnEx8(GyLo(6V+a#zmPgi!ho^Ufs4MS$oVx)3lO~$I00OXu +qY&AaS*=$1HE%UW2c5~Abi_j-H+eRuzzmLGA#Wv)^r$*k8?lf)^Kc0(eP9%0El$6*U@?jU?lqS`v>I`MC#j*$g#PE@{*BE6d`fJe*4pF +1MhRK!|y_RcdvI6^@%c7#e!8>5VmP*|_k+=t_8PBk!*od5LpA5Wp)6wwJ%$dVN#aK|p@IB|y2aqi1Tn +WUFE74v_?rJ4Et6}0N{`mvO9({Qd>OVeh?P`tUR5L#4)B{KcL4X_4U$5QN_@Cq8&1Bf4zY{0F^A2;oK +nTj}ROoSfA4ARj(i*>htw%~iZ&&6lr3+_nswx(OFG%PB7U1Y91kK1BkN?+P((r+y3N1;RC5{nYLF~wO +kCWwL>JaD&5!0P(k2R@{Q6v2d;5LaNID}*{FO;lyr0{M*K4vx4JT$LF_x0*PEc@F-PK?q;zLa-h!OFN +lh!RKht)T#2EYc1=f6~K+QvADy)>zM+NNuF|G1j!G5xks1QQY&a79Fh|u(tyETw_N?hmd*dakRz8&6F +7;nqwI=@vBBZv@OZ&^_(tktV-XWzW)1r0-|Kz?4C~9%fa2|ZfjuQ(eTDjX)uJ~X}YO^>D&GtZ2#uT?Q +bs6uFu|_d@vaNl5Swf+4;K*tq>O<%p1J_!liQzWd3f~^Pp!0Wl>atwRtm^g+g&b^H&y_L=qVEFX}vlB +Jc&Z9T}uV?0XD4QxM=pk}Q~>(1MK-(OOM+Pa_VVrc!%FgP?=3aZ+G0vEm8Hw1OT9 +_oEDsQ*nQsLkk)7BlO}i_=Hqc9PxbTykIWy%0)3_Tuh4)CAi}Ef)PDNyw+1SGC_rwzSPlozv!uQUh+~ +3rKM`uiDbv4IVy0YPOMaB0U8Tbo_c5*+!FszAm-4kRZ-$CUaD_0AzDJkM6x0@bP`IX{9_U|_+Y|fyh0aNMJmToPJ+`LbH)ioELDfEmW3UM6BNnNgIbRt&x6#Fv@> +iOBXi&h{UZpn+to6c+9^2R2n(3n1_^>5*K{)`*mPMu0L4&pt9e|#xrORsv`^sX<`ZX +R&F#VenlJ)x-Cw{SoS=TO;BAoV7rTvGgX}riqS~+@hJrP~bb|NH2JG7*3p153Y;^fb2q-(9W;&}|wKKqI3zAZ3ZA7v1yN5llfo3{WVMvF8$+1taw{L6f=c!Jgn8{1m!={gMO2)o^J}iRtM7L@9#0L5PI5Ibn*J7GNl6W5knRx^Yyd@1 +Diy?DDWqVNK;)ckG>tEDHR#t4MuWJz`o$Rx#){?0JV9&@!yKFX=-{j;-wJ#_3`tX;_=tO`|&D0+Y|SD +mj@5cgJ0;HIg8)Mj{XBsO9KQH0000800WU*S<(2z8$=xd0P0%+02=@R0B~t=FJEbHbY*gGVQepTbZKm +JFKuaaV=i!c?L2F9+c=Wn^(!#U)tSo5^drg4j&__)ChOUCT_#Q?p3TnrTnt4*7RMB+5Ts?T&;R}U0f6 +8`N@j1TuCDGD?--7U +qRo)K!|kj9b&fy +nbJmfcn|FeqYJ5HENz_@M<1qN=`&2;m_aGRhSj|wNw?4!Sw-pX2e@uE;Uq}RfFCSh)-JN7w~c-F3KpD +vnam7N81|^G2Q);n+W+MDCMU*E#*??m8HwO=H0 +;1&8jSZk#Q9+isHtO`MyrGIm~lNtWu?9HFfKfK@Gy +_8kCF}>+wdtbo3s-sNiw{}3C=ddebohK4-v+bi%7{a2%P@ITM+FP$&R;834@3fbsYL!Ks5EAPP}=Q=O{4ub?XO510l;LK^Pu0=XoOl&mOwPE4g)~yHNEr05U~wI5RVJ!pk> +JSF1+#R^e#Tj=LNn-dAr2M%kLv4PYrusO+@Rtqdu-ie`UUEfr0Ix2=nJ^^hQ>|p44Q!s0x^zzZxZg?_ +j#t1I`bfE&|p5T`v&3*F#O}H(vJD}xpcP7FM0+0WWcR-0|3O{|P +6?PW;gAmqbF6JI;p?gRFJP4A^duPal@K>8^QRL!&i=yzy4`WZSwh;pZGX;VHgx2%a-Tfd4u81f@9Klr +bJdZ6(kpq}YM4}=VDdyNo!FpDuRG{zBG)3YqLU58reP +t(e?=+Y;Dj)*TFE$_Z-6YOTOckLQp1g-9DI~pDWZI%aWfe44z*C=4ve@+=i*}r-;W|yFj2mblLr=?^J +*c>b&8IG-uC`LVD&`=zCt4WG>`$IKMq=?PYHqUMvldI;>py`)oB&KI}!d9u|GI+3}WIRPMCpZwhjLCU +GPu3Z!V`#u39XP_TKj#%>#1NokO#3ql|qNn<)w@@g-8j@}Uu~WppEFM9j-d_ZUUSQ=K +ykU^(Pq6i(NePMb_hiULq=amSJQ5#La4y!0xTK6=1A&|BGA(K)PT!ngoc{Rs;%9V!i&6#RJ@CY%ub&= +&-E2HiR0iZ8i?2@DPYxJK;J0L;%>ZqXAVT8Qt}X-n)lp)twPL%Ygl3>^NqvF497N^y?d9Rs*u|0hr@8 +RG5R^*_N(lTZ)NcE+H}0Tf)Yd%$lXo(%D^%7GVxPPT&-Rw!2oH|M*<9lLFDvk@XLTjDH-+k6e?0?_V66>Ebv74DLVS=2a3e&$LT&Iwzfz+YsadbR(MF*u}QB^B +7Jvc~;7+8^1bx@So2Ty{dmK0W;A@F}S3@1s%*8*+$Rfl&a~)exZtA~H08wu +_#7U<;XRF~Xg;<4TP;>R9rtj6iC$OX1q3_O*Kc8g+imABNSn-`8FLq|5C_Ie%nqKeGBXe2MGa18I%r9 +@t%UwgkK5+A3!0jl`j1fBtc-4fSJjHaDG9^bn$?$g>StX_-Tqz6bW9grGvqv*;Q-C|QyAEmj!jB85{m +vKp#PWnuw;)T<%84)DOQNWo!`GO!3)hHf=GYkDz0_)(U-^ym1ahFvW%UISaQ01XQ}3Qq_T!UL2l{OZx +VJkT#`mWg?U!B~rCEhVqO5iAnPdLHv5Y}Nw(e!#rB;z@MDfch3Axr!V#Z7ztvlcWq;n@D^cB?q(xw!O6w;v$G>7XXviFtHQ-XM2LiXl+}Vl}6jKXN4Z2K(#k>t|f!9T} +iz)mO)zMd$=13bKDB|pQfMtY8Uo)1unr;MImnMfobsJY+!7Tk^}}bz+vdDwImWiLjm~VsG%4U>@+5erJIxxoY_mG?N#2&;=hZ(FJx!j>YuKbv7tR$%JY$8Ghpz$h(TZ5ztw +5{$0Yy>Y(RadR`_08ZrvgQz3umvPh7c>yf1lX5i4W`Hm{)U$O<~%%m^Y*6;*H33R!KwzowXnJO#>}$D +aOV!f;|inBe{sQ~ksSX)e5$2F5L0ol*YeOf_~T|*|AC!^b-h$K#NK+apgbf}{8nb02}N}d`x_+z8=+P +JT`EHwX6GYE0}k&)qnix~;NZ{qFkeBnlh%--@7Ychc5dcxqL`3fsFul=!)*%Lamf|5f=grp- +ZMI&DI(g4ruefvNEN;O-y1fb*ul=?G$gxhl?SX`XFcD#x^Li`xt^N0_&;d3TdhYBgiKTWooI=YHwgJ1 +wq4QEFY3$(NxK3Df_-fr~!l3iM|eE10(`Fd+27A~xv2d={N1i>ByQsmW`xM~XXM*2w<_egUpH8e>w6j ++cagXnfxbY$Ll18Uu{V-ezwCf26{XivB2G8ea^xpizxSH;H{f;vLrvrY96yMgVIW_E3}ev%Xi={}Cr +n14CSzSivl<*j>6gXYwHo#druy9kHJ(Z80|@$xY3e3V{Z3nIh!$0aqQpBvniI2m$j41%Tx9h!7r0GIO +Vtm+(DE)?!c@~Kzk2@sd4uNVCB&%3EGj`Lj)4Gx#^vE%0&&hv%K4Q}uKA`HkpcUmC_VY+$+K^dfB)>+ +w|hA3=x`#Q>H$VT2+0$1Noi+)8LfP>s_+`TQB-2^4LKb9v2RMq%VkP%^pDKdE-#T +%Z6D*+$~La%Z=;!hPGy# +eRVrf;SI|9JiNYBq&R^|Qeyf-vNkk1Cl!?>xAA+`{i|c3>M@R!wI6S~*_=sxDImO+hZf&=22EA|Wn+> +5x-FoMU?Mwh3VyPm#m7&@!vlK{X)8B|%&-J3u#^E732Dc`y=v<}9(>Tf|cuFMq?UV_48#9=suB1J+8? +^v-QUu@|gIWi-2A>AY8WUB`vszb`5oXLr2#+r|f9eEa_eoJD9|U9 +y<{;OdUknG@py0iZCxw7{cIb52Yb6xo@hfg4V>AI@s5EVGvs;oHy|hr0W|oFzkG}|8#oAk-crj_ojKe +|Fos}EizWls2Ia9vPAPzF4tS)W3zZOX3PucOtE56bP61o5E_a^-liZ{R#+a1Gc@2!>r>APaNZ!KW`T1 +7v%Xt^@PIJ@o$72erw#x~OEc_7E(G<&FRpgfnGNjZ5YRn*q$cKNeKvvlZKMbhLpSX}26_%7)66%NU*$ +ZygF>^rpUI_KgNxSk*NhH%-LjZAVXBfD}+&2z1vy5gOG+VyUBymLJM!wF1>(3LiD*m^Kd; +^_c1^Kqm1E8oZR?t}v}A3c?C1?(N4J*u{b2gq_!#)N4@*WB|tcZhEE)96%@|%~O}Y@G;UV0n6sVPy){ +c`YU;!V~{+VC}8RYhzOc6E-1eWW{Q$FR7XN>8V(*8>eE8xZR4}?axgL9z)1D^6FO>4Ch&P+h1JH=$n^ +D<%;wg94jyhg%fiks5$u$76#hP4Qm~>Z!;yB)W7LF6!zxr-hEW%90}jLZB1 +z-QhbY2tAb>Z3Wh)qQIB&<}v4v`^BieB^6!#QwOvR1dkmCxU6CFaQjH(KNUQ5{Thi3LmPeTYH8o~Nk? +}~DB^sW_a0P4PX3S%I~N25W*jik)5EHBKd#?4<8s?uf%>l~c}dkiRt9T}?Y0~N#|jPr(&_I2@aT6XmT +HT2HuHNH61bo8bk(tz-?{T_*P^!C>v7}UZlNPVhN-_1%aF$7m?&8M9>&Dq=AukC0W0q&u9d5>Qot~{4 +m5S7#0={@53;I*h!ml+p8YI5<1CYXXqVJYoV2OahI&pKKpo7bSKe|q=Y5RKvWwI{!h3vhsapvV|2435 +dlc`rO;1T_8W?Pce!OS`j5EFo$I5rr9NNHQdkh>`?cLr_PmV9M%1%M!GyLeMiY4f&x@MJC6?^x(jBF| +?#w^Z^n&j^DPL%63}AHLhf?T0FOlsIZafpzYXHUBif|CeYO_qYvPLzWDH^<>_+w0P#RUpO_bjlk4v~r +LWlJ6dB$|jL%{J?4yAIeCI<>VL!fRCswds_}`L8C^XGk?2AXR +i7rFn;74lK^PY$qD+s7ot57C8&JY7L9Wm1<`l)^6$4jwd_)nTeQ(u&F17`KP+5Br$Mv;=SgA)2d@y2< +qVQ)w*4O+!72#XKW+2B#NtT0^8H^@8l|rVwO#XhrV>oPx%e<*fkrGiuE4DKabphU;vJo1~RX9HT%Lt? +54OQFLW!qZ=PO+((MSg)$T%wVh9dZRouvY3yk66_C&oyD5E`q&^wi!-7DJEZB799wcBcssJh)XXD|hw +)P(L2Ekh~zA%5y|Qy0#(nWC|B*!|(&bbENwwRK?y&Y(i2jCRI1#z(shO`~C_rqrJ;ADcsRNwFmTYShh ++IEJDzj28y3HWJK1dG62Dz47zjsgTexD+VO +RxQcYtApmA*341@0r1z?Ftabm|FV9-(izB-DA)6Tu_crJA(BU*cH{wQ|CjzCzGZZuIwg8C~O6@I-1D| +2nrT(37_O8XPszW$O;Zd2Li|(Fay!f2m(%X4tJUG~nGT*hZWFKFZML>#7TIXUI*Aq(2W|-is3UC5vzJ;@8m4XqP|{GU98d&=x9 +`D+DaK0*EuG>P>G`6AvNmI;B)i>X>EHGUrdO`nQ+QAY+0eD3)(2V{#{75gkl$7&c#!Zq)$`#*6FXt(* +d>xXOk?HpHMIL+yX4DgSNJI((eLo=zKkRGE8LMN~yvZ_U5w>?SGf~2_4wzq~BlCB#}9$uow>|W0;b5N +Y9VpB`5AjHhC3>Si2I2?c`N=C3Ek)2EMq*MNt2*%7^Ek3k+I52a6J41{)J~UFbtxkb!xf@!6`RI{CnX +ESnuMPI#sIS@ZoOO=L&`jIXnCMh?4Npg}gTdBDW7!wEa1V;6Eyy8B +RhFs1N@Rl|78^bV`Tk$60`AU~h@9}&dyYc~M{|M?WL(>&mcv)KBNe +)?ExDafbt75$U=k|F*7Ym!K26kGyeXhWKWC=#1WsPSM?ln8Q*vOZv&>3#~Ww1IryRsLrsTJ=*HC#hiO +YghabppCQ`tYUwf`JCScxnJ#*{p|i-{%_iTs^}W>R`25MF#-?AXTcC>fq@3+iyt%C{j;S71v6c5?dxm +2p{VZL?vV*giD3D*_y)1*4B~9()Zu_TF0(iZ>XIu@d)797TRy0-6@5Z>oDf4|491w9XPx&he>DJ2RtR +UGau<1a^h&JCUbv3pj{H`T@-qSh$*-;nZyHDWDryU^8yQlk%2TG)Bnhwiq94(0%wYN9Mrd!ei|X#cFW +!GOUNs#WLYmH>KH;WuFDb)o@{;s0TpNiO=xJ%=^hUI`0?~_7pL#uynOxo=lvgFzIplQ(?5OuDEQ|+?B +$+$QRjFrIy?{Wq;d}d`_r~;(#G^e=RS85Y9^NnSl +f$#Qgmyg+Rm1Qc!}FVh@a^jjNLMmC22^wIi}Wlq89EiS{$Pz31;4ttTVMOfj*o_d0ZUDDH+@C>Vq0Kc +QB`exYgZz*pxgIuA<7KAxf{1M=SY0_oj5*pVi!s#w63vhH`_;u6Mdzd%h%}OmotF+cWVN*h>o9q?bF2 +y0)RCj-9~EAcf(I~2`Tw{p!aQQQVH9NarV5~BAkvtz~VViojWqJ|Rs{~ +6Goi=mcWY%oYCsL|#^HW`I=@ek%2_VtZ{3Oh!LsTlt96X&skSKec71^2FQwZHxhp^xy;Cf#j!?!2&?J +0bFHlFm1pTQH0_u;F>yR}NU)X{X9h^DJOo2k;~j>M`&@3u)wT|jV)EPmCDbcl1&N>4ejCvKk(g?^%77 +$-vCft)>y1ZIWG6cgDPCv%Cmc}0mGtf&Ni~vDg +o``4S8}V%m$La_)>@j9?q#UNM^IJzgt_Awz?(u8$=D4XR_}tH;_`|O?*R$)M=4l1ad&4>C#oH%VUE!k +067AJDZK|ltm=5}NYQr?}iP(&%?Y8mTkhRUw@kY}Z%>mu1HoYth0q^P>!2T%hUo`&1u4x#hB*uyi_qhq-cvA2PWVUUys4=u{KDYnZ63?LUK6QzkAUt`Tvb{)R)s`m>L5LY0?@ppx0XMoi(3 +yo+m@LGDlo_VqfT6-+g+ZcQ6ptX>3^Px$j5d@cq@1V{FOwyN2e5q@w%a>ooP}i&bYf!gYu%V~l=`?*cxt1tg2DVCr}=3>{ +!Lj}GfU}afR;LpWjt$r3&RGoqs +?}YpFt%1o~(?WpiGN;7GkDJv-m|+?wIL7bd$+@#Y#@z1~(BSo||7uw5V#U!92FMPcr!FB@o1Yb4xzr*C~|jzyC1AX +;4g_yGvOSc4Ql4VLK2AmUVil96c{S5RVAGa-{+Z2CS!TySb-Zjk+nop?mn|@bf&s;wh^y`f%VrKHZ`>iP9b$D{uOP)h>@6aWAK2mk|-TUoF;47t$* +002D*001BW003}la4%nJZggdGZeeUMb#!TLb1!gVV{2h&X>MmOaCv=IO^@3)5WVYH44lKts7(Y-53PY +Mx(HezK(PsuJ$12_XlW#KS0YuC@~-pi^GJPIankr8+x&Pl^XAQyYCB^+RlP2}F^x;qu+W&gR=S@4T23 +l!TJon3t2D0O^7GxP;|;yT +s&oC5-#gb{$O;P5Iz@+yP1-EM0uEt%apFnZeZzNX}=*M#6z;C?eDY)|GNmbTCL*u+YpabMgG84E6_n7 +BK!nLt@KFBk)+kggWC>AR%dQS647>@w6eX(#Y#irvIEh +V1@AMH8C_hci?C4!Z`9<$?I!G|8K}S4IRZz|tZE6h?zPLup(XG+Eo3naFcSv|pFTSlgsuD?PLxGQgsT +RzRi3dKur>JahC!~5F8!^}NiG6x;XFXIu0!(~fPt0Pltixo8m3TBtr>*Q#sP${HuGi~ik=_NC(*K_)h +USmiS43m`tdLL$!n`<);q}k2fBAJC=L!>-E&3YD$dCvGxQjy?reiVY^N_qX8ryy0q0_TTEKZWyKQgwT +l|N93j{T{Fujm8H4BCG)yI0t7^2!n<;n;StG +Qi&$+6U-$x0O9KQH0000800WU*S?oTEb5jBU0B{8W02}}S0B~t=FJEbHbY*gGVQepTbZKmJFLGsca(O +Ord2Lj|irX*{z56SM^kN6EKftg{q3xl!KuvpC7BjKOYf)JelH6?mz9Y$T)=5MlVrKL-^WKxiWVH1#%& +PNROP38+PvFHwAX3VZ9okOM%9Aa@Ng}fposCfMm$GjtB_1V}(3}nZMw_K7BTUu)Bh_nLr4ucEcv4Pi< +t~R0XmR>wsLQejo-YXbuGtmYfdgwk-yJxVWjzgG$=h?D0k0DZU&A0ZdT!Bc)8fGGwmnHaFNv&xrn#I#U2k;|Z(-wszS8jvCF;2j +v9!|oKG3$^OK>I#Vq`Zq@tbmXpe7JSCOkU`SOQTp)Oq_{O*p1Xz@Mk1-pN~jxwg#P}K6N6|d7zJu%(c +lrVWs^tO>Ke<3)#&DnMnx|h>Qa+1i+C7Z7DItqL&~PIA&7yuKJ92uU50|IpLm0(Tx#JkYk#pgpSZr8L +`5;#b@PG+rcX*i-wJy2h!^srMJF_p*mY(zphWC3Lq{*6l;1lVw`jrdS>EO4`dFK!eVOfgJC5X$7hf@yK+_B9Z2qk9~YB8h7`k1m+--=#xGzVEMHt*vJA6vLdq_g#ems=P)h>@6aWAK2mk|-TUlKBVO#tK002`F001Wd003}la4% +nJZggdGZeeUMb#!TLb1!pcbailaZ*OdKUt)D>Y-BEQdCgaCZ`(Ey{_bCKQ&Gh3EMfcVH3fzu+X{3`(W +KaiG*D>iWOI>8jil^&!~Xm3NJ*9ywGFy23xZhIy^!}j_ZGRUv~ggMb|%B4!v}XTqM8*(@4y`^sW#Ba- +b(A1a9KI2l_-~Rg@4wlGMvqx!PQohx(2odi>|Jc>IhQpbtYIJ4$^Idz-e7tGWktA1h*9q(zK8zrYT4Z +TcPq2bJ$A(?x5lCZ_GdNf?mFW=Vr-Apt7}TEGyx*7PKOFze|f-vtyX(u#w^!-aFK>Q@^A43H#~hWL&wzfSDDt29fZ06LyNY6%pPilgm(S +pOOVQBp%Su-9DeyQGWr^k$#4!j6Uz%8C1+_)XF`8O+CfZacnUR&_TiwOkT@vUNdo6S8<%KRwePHJYVHAC?I==urp=5#9r8{wtX4L@%oab;BXJ!G;gU5z8WUAU2n(L{R&sHw{P_)F>-6TFMPkfl#ksURA9WxUt5q}oNbmqx1{6= +4!B2U-m6IcJDaBZb0+my>CCGKp<$?if +-7?)s^5}Q)5MVV?p#_Xz_XE*IQyCKzEX8$*>FxV)aQfD?4n=0gH1#3Ex6n+v!LeQwyx-JSdn5VjSRqe +(~3y5F&3F_Ui1{36GbOV<3jv7c#lWbFSrrTzCay#HDRJEjrc5)iBN#JEw2_tr60IsQs_=y{5H=ya6#$ +n?$>06Is`Z3RC0ICr|BN|wZfqGNGwW%o!Xr6F!Tc~KtdM~U8L9aH=^?RNs0PUQKylKKGC9s51wr!?D$ +nO?EC<*ptfHF$N(qB$ +O+-y>*3jKsE>{NXVpGcSKc!JX>N37a&BR4FLiWjY;!Mjbz*RGZ)0V1b1rasty)`e<2Dw4_pjh;Fo +@lCw8cIK^#XIrYy-5-Ad_hyT*IIxI%Xr2E-Be#6#ege&LJt0l9J4J*TB>nQt`h0**%s+jj&U5yTR~6q>V$N=AVccIoNL%B7aiN;CANc{d&Drgt +mRjM`X9a&u9Mgk5d#V+4-^Vl4M6k!W~5HYP(z!=!%MJ00!td%e}kbiQ&Z;)oo3(!U%gj## +DF)rduAxN>7$BnWznuUv>S{Ga!qemGuwXAIJJsNoYe0}%!_S5w|^5Ggu#&vKk_RdE +At-tW08-7UbO}IdExfGmj`&tI1?iiY?poN3ky4uIV=%_Fb{j9T2~c_iDy2{}nG>O&EN#ETivtM( +|oN9#b&A`Armco)CJ$YbQ5Vez_u&tu_oEGpQJF1>xrvd$$wCBN0?!C{Wm1@RI3m!pTZih-5|Dh>2F!n +LR3fQmkwYh6PerTo%Y1e&sEx+`>kb!GYftbeWUbS*KCoBFL8-k`-xZEs?0KNVmLVxAjh#leCb6WGX0K +8wPfD?$4i=0yWc0Au1#4#;AnIM;m;#=k+>%GL2(S2?MfMBhiNCG|C@{SrCJoH+!LKOA#rhJyiUhhWi! +niHz#@%)CJC2eB5=F8pFFd +Py2R<*jVzrT2c#yi_kV2Q@y}BAbgo1tSsPSupc0#l{cCAWo?tk +`jbHkzEV={<15ZJrC|9wQAK-9PM- +y2ocEoMjQpN{#wqp&(h4hbEd@suqYcAq+y1i<`94+iPAjuu35t7 ++=>EzewF!XVb9XgMlnIxUH^8@F81XMM$RWLAo{enb*Y>Bify#6p!@^upcKYnAL;6sn4mPl_ZIp`G(M2u`|G!#{|(FU#g;b}H +bCu+2s30n+|d1`cR!9$1RU52+hKwoEVR;A7hWJDa##*aqAVr44@G{PCmK*>*l7o_jqL@8{h4C>=5Qxc^Le1Q22(xRn&~^z4i*oKD1JzF%m?bI +HM%Vj}=pDt}brSzzqw8JHe%T4-Hne60gb3CnO$a$o6Q2;eC>nsWC)%4N4Gy7}5x8+L6@anQOKv&4{V= +bhogm`?Vqg}+O4$^_zL3vg*jVo11`KZpYeuPBNC#|^h!6LtkK2u}*pC{39^iyRP{RjkOer4~*TSVbco +kBW=DN!^X)iAw6VK|B{etroT1Zio3yYns%8S+uQ;7dYDp5u?=mX&ZhUdc&NjyMGf--G}pD@O}%wt)uz +GW)_cm&S1D_T~;tgJ97lA-{kUC5(|*xYObWjI54gn&g+vZ=@)a`f-zgu&3q)6h_j(B)^g5nzsoli-uunE{cuy6W_P(N)2zGiasv7`79j(-v(4ZObavI1COYTbqln>%35tVbX%3NJ^S +BX3u;!{g!!PqZpHtD|h#VYTbE&qvt7d4FYZtIZaB_~)9E3;?L@z4ZV6}xaa|jKTy!J3TKHEw38@O>Je +D4nNLH1i{@@&cvoGicmmuj|AI4%$7=>%MtG(Idc69B>ZKhD^#^pa|B#q|Jk< +ueV!hYtTD>KqcTr^xYy-DyVXcg9-a5>Eg>CTyPQ>e&l(HBysb|q<1OsPAf>O57x1sQh=ao}vJEdDZN=@*H^rV|XPM>yXZvvw9 +3(ugwOU78M7lF<)ZY?GlT9!M4ryfa_WUpJwiwb()w9^EJoAQtg0N;EBwIY)Cjm=^uA!O?E*7*x3V(NV +W@`BD;U{<7Tj^iGmMJhxl)2@L>H?Zk(z#ZojeB}m&$U~1`=hkr5MqB>QvR_r^uiQEpd_oXKGX{y|elJ +Q14W&A#_1WudNIdIt`b?cD?#+4M&Zxf*P4zJh_u2i&fhT@P7ALI=KjiTfmvuz6g)>D}^$0P`#dBgz_`M$9=%|EO&yt2d2Kl2b?S_kat@W!`-@E>$u%sO{+i +?yF)GYa{cu!}?@?4Yy&%tqh9?f{TQm?PB!5lHCj3j0NJyN1>4GD_j!5VcCyxL~Kf8|YqUg^isa!+h4k +%Rw60(n^EBzg}9{_?$GL83{agpGioQ^^TWo>h8g%-9eI~++V|jM_otGo$ZlxtX7_=5ueJP8ohDgO9#q +8+TAoGlI*!V{{9XG_E`%@o{|NRlG{DDXfN(k_Q6%pyp9?Us(83S*TX%Frw0y+fn(bm6>=jJrIdN8ZWJJXDyqCaa=qAdQ%@GW9?MKkBm*;lagK!4~={AA0Gu1dD&4^ +Y5-wQcZ5-Z^ynkJS}hZmLGCUR(Gv0szRt^agV}_L>I4+w6&5-Wc~bG?+7_{eK$>AdT!A#WRsPK!-20v +ZYjT@R9W@`=1R-u`X7Gi)>Vaqs2p4;V)r3B!c7|`ryLf-80N3IPjFd@QD3uy8U=d`bVRWvZQln7dFS;T~1?TvC$=#=bpQa!FL5PUg@0>4Su>-!5?oMS(R_$90AY2*ZL +8az?XCPyT;DlOGzgs+^%xP-h8}qLZMiToj}0P>kB+t90a|2f-(OD-+}hsMJxT$Ijze=x~1-3Bz5c0za +OG#|FzdN6pr*}mK+xUe-a^nGrCJ2!=j__#u9>k`FzbRyo}M(7@ide7B7-tLt?M?!hiRRElz6}l*xYpP +)h>@6aWAK2mk|-TUlpDzo4}X003Sj0018V003}la4%nJZggdGZeeUMb#!TLb1!sdZE#;?X>u-bdBs}m +liRit|E|9Rk;h|cDlv8XzE+uBZ22)g$F6-z+PQcbhy*3X6u|)C-KiP-Z}08`APJGW#4~BD4>li*#Xf% +f!1Cn2R@yS5b)_cK-AF66RjM@ML8-P|S#86uGD*$tF5FtNuM1g<_FnT$YXA72gW&79j5)^()+pUf4qoQiSKT34`Bxby(2FBVLw#Qwn$YSZ3B;Jr$ME+$!yEFQoA=Ue +;EsikI&0@=%L!xF`C$f;WrFeBuR?b&^UDR0Da^SXr86FHIIC5mmEaFuk{0h{*(vB{W+Ft0h}uFX-7UO +)I_^X$p+fOQ7(Z&Zg<*bip>Nsq)qI63qEnYLS7=hbfRw?y$j!afPD^2XXrecAR}Orz9Y^n(!p8u%dekbJWkhNeY2Ww8d>H`QC&}+UDmIjtzV? +yK3lIZ(nsfyo~>6?QSZcld9xFuTxLAm2~YZZ{g0G5t)^Q1xFk+fGU+4@dwZ{+wXV2ok?|Hp`UEQ>x~2G2Wq!PLF<=Jb4~d9T%g5?N#} +t1DDayQkQpgHD7L$x@Ga?QcEi1V(EP@h(?X}nf{=>%8>GTDyFodfXQU|sXJAN&d28s!hqR~@`0cq28W +<*(#snMvNfcQ8`%}zBSQZ7ni#TfN#{RwcUir}rI8Bdn(+rVEB}JYz(E&C3QD;Ifg;K(gmmE;DWg +1N7M)7=yKOM1ZL1alcEgD`bYckc^!=+mq^$2B=D;!Bb%|0~T`IXo%d +NEUYN`mO`0(`D4`}75Yr)_vTG$*`;p8xDr~}Mpt9HV0xONoC{hW1*i^i=_2$bq<$u1k69ka>PfyM0St +=0(&}2~09?*YrfM*rk7~aU3;Vb%nDGjn&Kd)RRsqm63&3#^@4?f{ryWdKgp6R&;{+1+njEKxR*2OJ;x +WpTmYB^agSml29E%zrAvyxuR_*)Qd_3i}?s_K58f@%H$Rp~e0_Q{160r%ayHoL>yDM~)=-i40K*W}z4G9Y}yOVit1ZY!ll>RpmTAFi}%iOFU}JMY!mrp8_;X; +t@rCU!-zJyv9+OPNXAIS1NaVN`kDx?GW^NBC9hCK){Ti +@a5$*8(1l$@LN==0<`INj?tJG!?Yu0o9aLjKHpd+mZEy9BBB#+##8(Y2EruK&irZ+sZxKhnZSrvN*Ix +l@--(kxPr`5rfeSMwGV4M7l7e_93(>%caqow_nnCXka|_6unvbs_t?SmGT}S+&fPg}g$>!Lv-5Hh1|<^i$`M_b1vj@=`CsVGZkd-H|kYWikDm=bTcNOw%MBHsAX_k? +kk?{pV5gbS81k&scg%8>E*5{`fvxciWx>7LXRQGdhTeo}I4khAu{WcUeU6I+=)C`1Pn;0#O2+VW&FIU +_h4~wd#orn~wQ$@@ZLNN*>9#F*UL5%4}yiAEaZagUGE=;~o*|cvs|-99&^uF+M|h{NPQ$^}oly72rl* +5*6j5jmS6@ab^^xFmo`lgJE#u6PSpgc@7<(C8PB?nZv%6)jN-G@LIofJ|wKcP3?FQ@Yk1#Xf9z}qz2nfJ$Nk9WrIo9Ti!o*zd}9L)g}CyvnIx7T8?oFhgZA39A00Cu((rw +UdK53F5cC&cyui@_F*195DunRSV09s}7a(cwMxCpbpC`jQ*5zRd)cENqdk-gcCzE$D{yvxsHURFE#hx +b7-Rk_G08w~L6%WlNm>#m^zvq>yFKShRUZGh$S4*bB9VV7lSDLOi*n_4jUQ_r250okyTN$f}7fN@6R$ +hkjP%koz)h_`a*A$q!0av3B@t2cU^tge#n!DRvGsJiO1mBJ)L1DelJScWxftCmK?Rggk>Wp*?&wmnG_ +1i5mtNab*M$pcgP@%m4{Zg<-TnP`Kspau2AR4_mM(Dh6-K*iT?{mm|D5{UnAV$R6A`4_FS(5768<3D| +Nm%Bmg!VALc-lGuLZ&14+k_YEtY+%yCPsUW1$Oi)RGYz}CZ2wK&}&#qtem8U +F5p@xa;m(h2zm#HT*|mC=86o>Gv7^PlbI|XF{vvc}Zo!Hg!ufIZ0g&0tH)|vr6A+pYO +Opc6?9&p%uKXA&Ab4-HmCqgXW8jV%tLID~-@g=?)C^XZy7uu(i%3O$jx+q1YG@!~cp>0S;JHdV5jWV% +CMSU1Q}_<-4skoMS2ub&&wqftQ`u+)GmGx#cT8klWih834$qtlKeZF+r#ogQO3N({pd#t%@Z?|gm}9H +Z?{<2xAll-}9`QRbEGhwpM)3RQYK{{iYHZ=5`^3a$x4& +$)FIyo>euiwfBgpQ@$y5my8qjUpZ)IlfB55{{`{9yA1)Rx0R4A{F#Ty~MBzgPb`hsObF?5{ +wd_I}o__k>chfF}2h$q2-^%?L4xki=dm7YrVsG7aT+l(z%(4LgKv5;gw%;|kV(sd{1|g6=MMJj0LH2aAJD#|!O*_oLDa36F=+LC{Hq8ulPJID)mF?NE+7(QT`0S3$sWet->|+xBS$zusDGHU-+&^n{cOdW!$YLFl4oxR%dzhd9 +6nh&7>yPt_eCMl_9tI%BDm-8sK8k~=@neNF`R@7?+%d4QE({86;5X&SR5G~tv#^E|JL-sp4oq0lYi8- +Kr3ZkYUrJNOuk*=Wp85E($A4k&@gGo20|XQR000O81Cd)4;Zb#8EBV{2({XD)Dg?OJVf+qe<_u3v%DlMC4>bevo-saoeI*Elzx=8{a}%-qE1p&<&Aa +G^++AZ;sY`rEs^07yWjWaZjU`=OjkEaGLc*w+UO20`$?mYJ-jP^=Oeuf>eI%UDmS5d8Ws +jiFWV@S)S(eVx&7uS;mRXfdGt;#Z4+`u4+l=z+DELgvOJqDypGrxEU4WBEXku=Y}H&&kr9SCMQ3ioxF +N?`uf$oF}0mNd)sUK`9rVi!|5BZE!w{LN~+YZD{|FTBALl*G(r`KiXB^B#0ycsq_!|ga=sEt5{*Wqck +kc4dHwe6J79V7H$I~FLBjWrH>5Jsf@h~hh2*TsYWCxqm^O?9IAf7CCzqKf34gnSEOE{TTJsvL~NJeFvkXnV7S*sVb4z +NwebWV;HgfPZ{V`lLIIEQGf?5g&oFd7`tA|bP40GiVVDsE%_C?L0vEf!zIiR$QiF>wvN#gkr+)p2Jeg +YQV$|(Zr|}g-BgLXsdAcNm{cV=dXfn~gLTlN!jjj^3Ak)U9HYOT!^?%{8#`es{1a!;EXy!B45Ie;FTV +tOB{^r%0UOa%cs?`Uf)9=J`iS6M<})J4{_Hj&&4_`jX%@=b%p`izq$O*1M^kBENNmiGG)E#so}7huPK +0sJOeK1Q&vEn^6nSAJx#X%RM>T0f7YUI>IxUK8{n58@VH(arDMq_eCD#(go3sKA+h61 +^W6Wm|d^_Lq6it7%wp(SRX8BYVSyO9`vtn+j;EwfzG^$<7BL{Okc60#}<{kNE(Us`XvCQiA72q#)B-c2R`6KsILjri8wCb&R}(Ep +o-P@BNsWqZz>i}qOIN((5>Xc%h_ +6EXP43$!DmF~+=HTtnM;-yV~#w6kndKJEbkm>J`O89*p-NYbaVyLL8;1|1EPERM(Ddc2>ZkdF09yAf} +|JcsUHD>$j)$S2p%=%;R^5uG1h^r_oi@M|ISR?y%|dE|`+BFeC+!hDjAott5mQlQp|si)8w9qFzhIr4s!!W@t7MgZ@{%c5HK=cd +;t!iEN(7BA+P~nFh*WK3*GQ<-W)c*s~1;;XaQ0Y--6zz5^5BUw_jF?0J#jtue+!5aP3t!Xv*bn{(-8xY497UpG~W`%-OKG-dHruG3FXnFj4U}UYL$1lakmQ9< +2!C7uk!CR9p%>EaXEfIoz`)|s%8ae}!|9-9o#%lzPbaEhSW&;2){s+=61}LMX7_z0P!pI3t@#2#SSUb +klIH)r)14V;s0`1)?eme!f>NH4c`sv|bq`bP&Af=oAc!FK=YH(L}x*KFoq3N1eIcUjGalv1Bj#fAmHC +hoI@ZnsBCW+>RB~yL+AS1k^g0Y{&ZH{SMqk%pBKF}vXbi-p?p^Y~H6b=Xb&(i{7!*S5m^ZQSRAk}tob +grF*01`2+-w_AFqFBTwnQ3nKbIo9U`4tr7skT1ZTtJeDK +!lgz=4r#>Du|>U52?3xMbQ#4A0mWQ!IGVt8P%iZF^dlAsfdh}60!M>Tv&OQyfLLQZrzaP3-Hu~N(oSn +v$k2i2863gn6dc(pOWG&VVHfQUFpDAJXsp9jFl=n~(iuQM(eKI#!0#SM(2+-P7Zg2U@34GGVaJ+Ghqb +6A&f9oyDk7$iH69=)^E7LS$dXsHOagq+01hIquCHP^r<)Cl^|hi6r#_t~FG0^89E*Enb{p<+5~i9w?s +BYuZY`oY9x{vpTo*d-h;73QX1G*Y{&5>~_&~Se4}aap9*TE6i)Lv{5^F*2{5Nxc;utf(y0g*UXQim*A~9jnu!3*@bBS11CPe++a2S+>^7(aisLr +Uo4^Y@R;5VgT&DIW$w)=rLX1v!itUg;!nG@&!J$XyWi#xS9ldZ_*QJ^q9xfn;H&d**9%=}7n3}%;8yl +exj~+aJ^6ekC`F8`W6!m-}DbY>K?w)Yk@QjHf#gN#9zwS{VQm +z<(BM=6JN?)8cBY+Ay-0seTnM4wBIb8L(9eGu-FdRHR_uV#;`LEXT-pGs@+-;v!B- +G8hlu&{O)j6Iba|2;#zaD7WFXKzTjv@n23jn36nZ_oO3u?EONBriyjSomrP{*oQy!o)EK}t-GUzZ$Z? +mi4M^-&7LbBpR~SaPX0}^rpeDcEZ%;HHEWqln8EkMVT?ULt{nEq>U=AU_`@w->WC*z1gYv%UkgBT=m} +@(>VdgER+j;I4Zp~f&9%b9Tim`O3>+`Xz6dRnmq4PJFVZWvX>xY)FF1_lzwSnTR8=z3m8&YuUA^yEL) +dkv_YQ5T=IfxO_PHcrP(X-pk>C>k*bjCZe-!*Mbbr90(RbA_>;uWx&#rfrn?8;wr|4Y$GBJL1oQRV>x4cij7Lx$(D87b$l`zT +fy=M|V4cB^`Y|@fFy?TrwpZ9koafKj|{qsRtV@VJ8Duf@k!tjqPj8=AA3KD`B-HpxVD?= +2&kBxZaXNb3QDZCT``U2tsOV1{7%ND-D}}VSRaK_J(XBTKuDkfHu7Zbd9JZmedH;^X=Lv7WKHD|F1kv +c9P)h>@6aWAK2mk|-TUmjC9GdY0002J*000{R003}la4%nJZggdGZeeUMb#!TLb1!vrY;!Jfd5u&}Zx +b;Pz3;CW+)GwXH>GeWE2R=jL8??0skBrGs>t1VS%c%*+TKPH;=eQF_2#4Wz#bBR&6_uGo~@THx&Y`i- +H&{5+Wr`3oij#16s>e#JzI0?u~R-|S?zEMMTN^&21sY_F0Rf$-F?ooY@uqPjbj@StER7YgKqN7Drw*abB5Nky#34ue|s$Ekwgi@j8 +FeM+SlJSr?YuAmtW3j`YH{FCP~gbJXDT~P{}{6uX>BC-_YXYxcSE0^kIC_X_s6*_16bP|b1tWiu!M`?O +8_;i%mAI7sO>;OJlxYKrlD<2&m`vkgsS)tuFSC&;{skGMr7}&E6I-e>=X9zMTk0xZLHyOe4MG->BF3bivZ|TS#ANJvS-@l8#}{oqpnic +;SWMlk#m09|?YfL^%;TN6pZXHx7Xvi**7Y^ZlyQ&gSLZz8(42p2;pfzw$oYeYtos`wLJ@0|XQR000O8 +1Cd)4;Zc4=~Sbzy8}Zgwtkd5u?XZ`(Ey{;pq +fQ$Iu=Y_%IUG$`f{LFN|4vNmW^Y(rP5v~;q$%A`P2c8zWSeRrhwVn<0EAc#aAk9YSx_Z%ZPwKfhay;@ +1Niez}zwtX_#K3VDd=e>f +JAk?B>s#+r@9$&8yo*c71XA>&45(P4;&2a`6XwFqr0gQ_BjI2Qv=vo@&z))T-%?Z-Cvh~1qNu=djeedghObF>2` +kn>kSVgmWgL)hWb-P~z#p@}Bf6T#0<29ghB*Tn&n<&6U!z=*F@e%LQ`U>#%^GbZe;hwK(ex$?iDSN8a +FZ{~2=1Y*>Z0u!Fn@Va08(CrCb&<1JBvGu+{s!FD4^Wo3aN#?qO>3uX>zw??y*7Sj`y#)+iOS3uBWMb +KvTo_A(>xymZ3(1zgKc6!g<_1-%3;X{|pTNH(be|qfydmNmkj<8UXGtedYg955=5 +2mlR!YNlsI@;1y1t`rzAd1H#&(T_-IzUOSc#Pv9eEvvHt0^qu*6H6`s-zE+Fzllw2zj$J`;b*{)S +x>>Ee-YGOujpML2=Ca&ReGtn=R&FL0us7J~qM>s|wG*UIy|bMmZLooh?`~hr&QnM{9gvfP4SkB|dm9z7B!euP`pa*;?xpj(Ul3MC_*J4SLh^>|cm@`6F%sPd;003{s&pFl(-rO +vV(WZBNaLTZ>Y*9K}ReDK%@MYpXP@;p~~Gt4i;9TCqQ_-?OMI)iU6X4f|Im!6DD?gs6%o@?)b73gM;_89;Y*MX=@5$98-voT`iF-D{?2 +dn8F38#|wefr)0E)Gd*`soOxc5)!@9eH<_F^5)Xht0p>qL!bR`k>0$8$oq_%G4JGxq2|MV|BhZ73Lk0 +}G7v*qMSQ*{aN$f8uq$cw@#GanA6 +x@AlGVyGb7aniJRRm-E6&%b{HJJykdy8*jBQ(oSD?IeOW<)4=}&P)h>@6aWAK2mk|-TUnS`zNAD30052=000 +~S003}la4%nJZggdGZeeUMb#!TLb1!#jWo2wGaCx0qZI9D95dPj@;R`yENZG*hu_so7yX6iY3kW!nZn +di1#BB|U9of#7QuV*zj9-#C?Xqwy#BLkUjOUqWo|z;`^1f?ZsSH_lqBL9zO;%EotyEvQSd%R`8?xOnR ++AO4nJ#8YlFVkju{O0_ui?~erDQ``LwQ{^Ol!Jk#GklwAIB$Jsx(vKz+3ytJvX}+WBMl_y0-R)-*}7B +!;|N<`j@va;G3NIKW6S=%iCgc%S0s=#3{c}yk5~6Uh807QXvH|Y0bZ}g`iDj%7tM{(7Iq>OV&C#yxl) +SJEU0k3GtZCK3=|i|MJc2#qV#f-ah;A^7*Sv@|2|KIeDDTW;4VF(tH{~D%Q-rvfrf(8+Wn5V-;Hwi^# +&FoZ9~vkno)JIpXO#(MDzD?84!44WIIW?#+Bg;0G#m`PC>|8o~t>v7wj%anNoUX_dU?6{}o5bHX4aWd +S#&Va#Z%L`}rL+odPh>4_=4JmHoS@xHe}Pj#ON+(nz%)E^Zx_B8n*=w5*)3BV0SZ?Ba~iDONymhv@)N2F8?LS> +*X-y}x=QwV)dShUaVp>vw?MqU0(*8yG6!(EVda-aDVr9mw&XQ8yVPGOq-)P9TZlfJyieY9=@f8UcB*7 +|5(<9z1iGuvr4)v80o6QJ@jwy;L6c`1IvS~WsT4>F{5t}VuZWPKIkFQ~PA<;FUs72|K*&lmEgk|fsVO +%xeeqr~iymNVR-k}$AXu6K^(fp-lcv*#EE##^Xx%O0(i%#>ZwuW5%4zZ_$;o+k{rJWTUklI@2UvlDYR +ERt4lcofC_1=yLaFU}?-tV11*nfk*-VoGswBJd9$ezRqk9>Yob0e3yg(oDTQiaNelv1G&hK^JKeu2uU +2QmM%c&A`rd_}}*&mX^sY?pTCBYpbZnS?c)NJO&M39 +*je^-aIH>PW*?&cq7IhC_6jzr8>ag>DjZ9uh)sIjceY}*TEzOcK*}GtH}=5L-pid~o@bHT`Y4|3=siW +lp?(iWgVu6=%>+}l1~E{ov(qsrf3uxyb3D*+t#P0*0g>{NBb*5DI$?OjhSM$88upCp3_9BYe9+o<#~9 +0QI-d0*Rv!7vepHG}+0~UT2PO*&0NG-dFeuR4mLiK}w4WnK5Jv(#VC@I;L{6=I#ZwS<73KkR^Lm)cK- +pFTh|Ahb+#9e}TgWKCBe7Tst^7R&a_*xW9v<27KdF`u1eAU#C~Dq46m-n=;FoWf8$Y(z(+PH$o +aI^(>-v25tYmBa<-i`?r^|ZVK*F@Tr~<74l}#bhG?KC6E-+W0tG$Y?px20zU%9?ptk4gA;FW`4XL@e_5w)*rJSVnav+a=sis7*Eew!JmcQyO$z#jA@0yS9`X5kB0|XQR00 +0O81Cd)MtBUtcb8d390EP69y;zVA~s; +UFZq(ZrKi1Bn+8Vz@44w!p~Dbm?@6`1IBVqe7U|B;Rk_0ZcwR&IAa-N3YaECIw!B3z#!yz|_L3B&VKJ +hRonF1dLCfhzA(8nhgO44HLQB+<7#9;PI^WfePfC(7)TUk3<}-XVBc*I +)FXWWv01*$6)rWBIw-Sz4{5v<7@6aWAK2mk|-TUj(9A-1Rl0077h0 +00{R003}la4%nJZggdGZeeUMc4KodVqtn=VR9~Td97F5j@vd6efL)o3WAlgw$gnS>LO{-pam8QkZ$r~ +7z8a*77as|e$!g%ZsOoUF@F5Tn| +$X@dKtJ{E~3Q(;pLjFJDlS^xA#sKQd+T+Qwmy(R5Hl>SN4rD9Zu~#2pV#E4WMU+jY>%7*xL1#j;5OLy^IT3Auh-=6%Hr`F!>=gi!R +oJ@!_BMS;@=}*X_+~Cfa17loI#i(ga9891LBopU)UqZe-ONKj+W;;gh>dK1ksdRFUUukL2+(df*~r$hCv#`Gdx|X<^T``(Od8 +pm7Dm?4wPyzVu>wg)X@|p9r?)aL{cUt9%ZbBWGAXDm>RrB=fLSAdmr14oh-Xb#Eb3!t`pCT-p%ZZ_yP +7`IDO-q+)RasM0|m-U?sHRFqNjIVOQzh)nnu6+1*E6;a~PWd(;D7kV4s9Jh|=o{OP`JeuU+44}g41bw +Kp75fOJwXxm%z`Zdh1Se6kn5X>EY2ycnJ&`>W8LS~v8T6h%C#y{B^pe2kaobPEe_AS+ +Ds_VK&#yy1|#&KN|iE%Z$K8F$v9U`4pgrn-i<%7+kbIjJFhc`HdmU!S>Vt^o%a~JlCUTNmQC?-YHRlZ +G_|P1DgDvZ6WR&;N{=VnAHswnp=+jjWe3rjhjzPK5B+{U&8YcZsZ}2kh7FpVyX~wlm_<~nFci^1!qnK +tls<*{dd0G~dIm7iy3HScn$?08mQ<1QY-O00;mBky}~J5QKTd6#xJMM*sjA0001RX>c!JX>N37a +&BR4FLq;dFK20VE^v9xTziw-Hj@8;J_VMJYe-w7JkH)ebf=A-@v}B-yFA|Hs%FMCL_!i`ic|=4WK}BP +{kj_f3BEM8%UgA-N-U8;18DT)*WJL#?Jh4$mgeiV%+@DT|IAgmM>o=g_uL-Did +PtrDs{Srz$~CA{Qu%9Rp|)kJnFkA;3;9(FLgef5)6<%GT7l`_wGI$`gsT`Ep=%bnbXk<3a_z^hPviUl +>R$^OWb^L)GISu$ZSGgb05<=Eh9QRKxCiK>*T3b#_lmc$F0BqDn!KEWgssbHFi2stoe8<~g*);CT^Rm +)wG$3oQ;+VYPgiuII+`rX7Tyb*xNkE?R?GF#;n`t??9^HRLZ%V&9&CA6r{i=TNa+ +b?c3CzbyFvmWbQkENfjWR}npqcV?R{=bU2jEX!jBb;yqTb0vK-5O>*ISEcqfDynPS+Ye-4nq4J8&ug? +6Z7WeqKt1v6v1dG&tJZaet!D);^pgC(c7obpZ+iOC`1UX-N{sFW)E +X$vnpHus4NR$xoqq?_VYN1A6{1{%c;?$5&zV;t4F2ZDrQH^?#U~2Eh;1#L6a1uq|*d-q^O`z3-^WMYV +!qCroB>S|upmJUg&mA*S#pVY^(F(?XoS3o7scQ|fd=5d||Ol?56HZX;diEtgVQ()L5@riFi$B^!PmFKf1F +G6^JdIE%wFx&Iq(>I49l@i6op?pdW{Hy)_N5K!K@r5XETCFzK5=ozG9{QK>XY=d(!Q3=|w?PhJm#G2; +Bx__RkHgK3#L|pI_OD8n3=|(UXb+@;+lCHLcd+hiD+(F2c*6@GgAOv4Gp<;cm#oa$68V*_D#e$nF#Xv +tpdR^N(ZI?OOXWwwPS58v!>&`77x?=MeqZ75&@TM){rvh~K)=2Nj%ghNUV<$D`1;~0snSUzRv`ZQM-? +IAXv5XUR~tTug%kms{(~*^Je`}aWmRPKz;EOt+@cU-p8)BRv1QL?>9_UWFcq~5cGLrodGsKWg?$#*4@ +vLs<2cPTp`WXGBer147sf>42T9%El;zGWu=PxJA1bx!KEhEuk5(XR=2>9a4$6E3n!-wu3EcZr#YA=^i +#$UGVmG{yxO0k;r6nV~g8c^VqrC*vYo&_jHJ{BI@tf@qJ3fOZGpQ8#uG!hy_YbHw*eX#*W*}U)hsNm1 +%eUTy(br#Izx`+Q?(Ng3o}MUdC$G{n;>8-Q=MD1j#nZ=6yc2r+2&A)=@m7?ZJhAN=SiNWo)&M(TN9Dt +pMgY($Uc!&-dCepv3763B`lO~KRV26Dszg2zE!eI2BUln&iF7qVLrhe`xq*Kkk}&*46NY_r<6RdFJEL +Vr{}(y0eCrf__%8@*0&+z<<+KcOJ@tEM0nc~}@S)R@#)Gw>>y%|AlL!C>Pko&9q)Rqv)4fCT0oJcTq0 +kh7FCgVBkOq84;sG5eoqqd`j5lm6III~rZV#qG<+xKQLjvZ>(0GDTFjP@fZ(q}$)?<)MnqYxOK1K(CL +&5x(IoX>b(s#&fa8~j)S{lxl1<&Hme>W~;&oeS%F^3J;L-3NwJ4BWu=9OMVX-LeFWSmziIwh%Tbe3%9 +yQ*Lf&PJ&Sx<+{sX+j_*WRz-2fmKPgJrP)?k$t;-a2<5z8F#-+`=q5NptF(j@iZFAFQLRsSippZVd$u +dMFU2Liz>5t%x~@7rDs}t*KM&dts_`Myzm@=;kDa=Yu!hxOhDHbw9%c{^d`!)^ssnWRLP4Y0Pk4h)$)byn{R3}We}Ahd=IXtsIYD)K1-=Veg+>@;3mF0OZ3`WqufR`|;yWkeNq80Vv>gYKqM@D9M!8SIiO1y5MMVrLKkrga-;)-e=@h^lq~SrrWfW>G1 +=7WBMKL{T)nL4O5ed+E6>LGL*I4gXK;zph&YTXq!&1+d@a`iL~!8U!I(!K3_Rq{R>yq!#|!B=|;ph@W +_$EUW|$X((>>!mJG`=GP}(y+b*^MWb3qm- +MN2^JIP-tqv^nVWm3{bs!ttEcQodKW71DeSaAjP%?g|S92QFFlyf +Ci&#>?Ig3WI))k3kY%8mV+6Qd8N_=4oK!m>WmKKJ#r1Svm4rM$_nHNXNt +D2t+*jg()X^iu4+>I1^p8iy0v#zcy0e^oG&(N_oiKhh)ZUbXuT+lL%$`k9JO^qUrfA31Dn|~kdiI`M8 +6gf+f&dPF!nP~D?wSGKKVP~J}?I%NM3W`Q%3m+S|ZwV39-Li9bj^Kg~8J%&r3?jtp;e3vk*8EgHWtsc +?|wmh5bcw)YoQS{>rN|@o5LD2zzPeU-ORrj{p3r_``Edso{*ev|PES90akdX{9Yiq^9<_t2sPSwo%;*2GPSQgtC4!ObdEpE2)zQXqg7ByH8t-DjAHDH**Sl248n3bw38BfG4P +P(MpsSMU7egc9=H=pCacmZk^CIR8jIL$i)p0+`G&-a%f0YG5X(070 +kV4=Lev7!(~dD8Z$ccwF#lQf{6ngf*KFAM!~O%efWR?m@*n4KG5{^6J +j5mPI0myK8!#=&6>W8?^=*M?6IDurfNJJZTXOxpn$Y+1X-3&N@yt5eO^yo+uarL#AL3POEiWY6;5y5@ +X$I|b;m~U1p}JkyNTU;gFhhw(8EJN5D5|ng5g?JYPq<5;2tLiWgXyXp5BNW=rpdiEBBP?aI^VN^f`AD +<2u8H%F#R* +R#{R>U5$lJI=ONDXk4*C%a$LoN<)zR{ngC=+zN1n5K3z +tju-JHwbQv1p;T1=Nq1_MLUiGgJf)uF*#&fz%tVeoWz61AYFZG*tPJUJ$-lnBBJ2k4G=z0Z@Ol^$LB% +oK9KS4nsrpIc{?ZcdB_IhQp5R~Gqb0Et&*bjC +Jix>w#Wg0&j!e0Z?}&UBaL7PO-ztMnZoX`F-zyQgA<#Fchlto`v(wsIALdh9Ym5G_AjBdA09zK4+G(O +DFH_lTt>Y9Fg*Kfr>9d)o2qzA)wCp!)y#CBQs+*mi=7aOV%3gF<900%Y*l43?y@b}VFs1L4&ZZXirM+ +fQMh&zFhfndO0<@pT#oGm-B4AuYH!&!L%m{R56ElJ({+vQ)jRMC=zw(dvMkyN%yZhnVhL>xVU|QJtF +`ZeWny+_ciR9?+l?`J*UJUDJpp$1A*W{F>kIK`nASxPtI|!79n+JnWdwO9PF{uGoC#{yc2DDS9(oXVE3wOhZHoB`P2K~0QWTLYp +O*wXejtOB7qSO)tJ52|Jx-H9s#~+(WY311jm@`i&5oSNmhF*?X#N!+2O_w8YoPkH}Db0GMzq_J-i|gK +#FWTn;^GS%fSHJfA^6|wWxCKv48X;jCofvg*gA`X0ow#I9t`9WtKnZ3J{utojHczTlG;tm+q1q+96jA +fqtfNMCn7zU?Ltl&J20+_!2i);SdA5>kL@+ux7HVV74tZ~K +`O@n0?H6{rUlQ(I6jgAHaaW?E(0?TWGJ^BOmZ<6>V6$)8I??$m}bR>7s)pj(3%HxBYa2n=%_$6;HXib&nurE?wkqeO>CGXMTMNpKF`Z6fho*&Ci%& +ZgCu3c&!tmY|+1Bg-kB2I#Vuwmbbi$^(>_o)9;wdG|jWCiMCMuT?8em|`qc5{Wd>SZ^>LTTUST&-zqH +H9MATv8en+iot)tr4SysQ0v*f9eR`&kL#2$h;ZS& +{?Ro@5g0qdQcx&a3st@ME1HS4FW+`zVAy>d?=~zY;?;?A2w7#-o*oHk?2++3eEhnMOvQ`T-DH0k}=OP(6ouArk +5vQ}$!8z9h0Pl9_stQljygIvjIJ^4Zb1~X$d$el;Y?Ns`uy^4SL>&M|gq9ffd +@KS=ldfjJ?q<-yVZLApIZcGS1y=Much&6LjWx)2(4R;~{C9fHmG9=ktqn2hKTx?lT&&@{qB10sn4OAa +}A2bx=d+PPWx8Rz=@sQ&Zn{jErRbT?b&AkYHJ`t`h0vzLSQ;O3r2%{i0#(JyboVD29EH{w4GptPrNrr +SQ7I?7o9{&mIb+Z?|}lZ9^N4Frb}W*KM6=>8zg6NTnR*eWF@Gw@Z|C1sCn6G?{#Zl1kA(eK;_@ljXmBv~$ +Oi$oO7sWNx`@S549O|D8 +x^U{SwoG{%s)UNPUyEn%hz5@qwsT2sWP{KiGU~Z)@9GLo(yX1(58R2g-q7YoyR@P(Tdx|G)%Wg +u0Ziqr)mq1xy4mHt>3gjwZEkP(XXTqNO^^9?vpa?ry$uSwc*ETx4>7;K6-Fq%y*1_l8ExC#Z8oqRjCL +(Q>4qsX(A-DGL4s}{^5YY_X&O-)Xo011QTRbPXpdULH8QRl3r6;ir98iO^sYS~pmW5^_S1nQn4pcHI- +beIOe3y`ZWtT#pe#d}u)$xqT%)k_M0V=AYd4LWroR<<3tj=_sB^`i1*~qvqZZ+7U-o6d2^w~`vP;jBY +FR3HIEbI&`FLn?E5gx??4TSvo?qtRN^e9jVK~k<`?&=TQIn&H2tS=GD-;V3lnK8gdTIVf$lzHRA}D*4L4dR2@PNE^UaxgI6?PxyNh1C`fDdG|#N!;t6^ +JfQ54h2Jgxo%@vx%mpnfK>u{RIF3ffN7$9smFUaA|NaUukZ1Wp +Zv|Y%g|Wb1!XWa$|LJX<=+GaCyyG-H+Tf5P#pl!V0QLU@t0&rxl9|ClE-`R&B-0^<;UI*^NtLr?#`(7 +2IFzdP&}NZ4C=g+4450To_RJDu)jRI5Iu({=mvx*)&X)OY)1*hSfE*1V1Vz)trdV@LJ~$*To>>XI_> +d-oOV`qU5@**^#!)RF}DRw`r9uK#yuP><^%YSL8BZr|OZzoyevr^XYPi)^v5Ap=F$L+tV$m|xvqN~vHCP>NKGqG +o9RZ=i}!aaO0X0@=#RwB#r$sdkB5ms|~7`LO5I7)Ln+8lJORqX?33`HVm!exiwy_#3#`KB#=W5u6^s2y-vB=4aFUNgKYMtR&yA$nWcJLkPT&+jdWFaqy84klSn!k~`Ct=HtM8F7~TA)c=<@ZgD_4&pO4Jc5DXqJ&MiOR@+Vx$ +4AFY0|Llq1V(zr($55*0LSG+mc=nG4&~aO8Afu%zCLgSfBMmQpM^FS6 +W@r?p;G4-O!+&>g+tWRTilnSrL6&~2pl|ehP^C*#SXV_{nD)iEEsi+L+SZ)1*}X1U9veM4JJ*je%i(i +9m2XA(P_=ccLkP?m<_#E5!r$WB_rn{$q3WERBFp(tW$90L2(0VKpDW&wN{e8cV)Gww`ZL$)XBwe`MjEj5OIp;(SIfdpUQ<8B-^o^_vw4M6(8YRlm* +`3!JnpO^E;sTaG4A8aVo9ksrR>c5Cx$RNdF|d%DeB|;jq2dMEDibwr71^^d7DPf#%fHtrk1>>6L3>BD +2t)#O$-J*M{_z0xb*JNx#rnF{F@}n`2Q<^lBpobv>RsuDJmv*fVGDV;)&>*4Iq*+shO~Y1K2#C +m5lkTKuoG#4=EN9WYE4X8ECM@8yM!G{~)A&6iyAf8VZ~p5b+_)zX{6}1&(#Y@GbXJNX2yJBSF4-dV^$ +&6?i2WWmNEil~C{oLupOJyVaFAQ7iJJ<0NDW|Cc~HOCAUmW~nuf8_G+H0b_k-3W~LD`>XM)>4tR|vyG +H>6twT_13O|AwC?a`Vnf#7#xyCV_}t$3u%(4A@AY;5xPm6UKjH|24b|3>3n+?oyox7VbZjeqdBnp6=` +VZ4-R@8`dnew5B^YXgdzGJxvhB$hJts1dfv&~6aEUq8=`(lhj49*k%*ne7M@wZp;5pRJ;T1vZ;c9NDk +zp$2nr(DC>U2`fLtO_Bq<5E-Xs#TwJh5bFD1Pi!d{)}k+BB4SFXEp83JK9d-L-bG&FAC|q9RA)=BdA& +p}2o}I#$=>9>xBAh@Gt*!*iu5Ig$qplYOM1-jD+8-a1i?Ye>$?aMYz+hVyetad4VD?rgB0K2*(4&F-p +q?u?`uhv*Wp4>a5-C|P +Lhy&{t}PsuUXv?{XOhd?B_#_*zk6r)K`tM5(mNDI(I9}Oeaz0x&f_<;O7oJ7ie!AfPK)&<)nB=^p9Gt% +1kXveFJYdT(GRJtrsT)6N_j!EDY>f4j7{{)GA+X>Eh;8pDy*wClVP69*zWZw1pa-OCJ8I9*nKrs-;-3 +98Qn)Etu}fjl~K$K$up*@(YQ*tteHy-S(lY +p#=Q%BsH)1WPB&T-__)sHbM7FUEw@gS-1aMmko^|DX1H4=mE3Wzb$Z}q>A9(ei*G2M92rlfzR%=u0?> +}pjZ#79h21lVJ6TB-X$hp0=aLuX@YRr$Kg61rWU{xfyMRcEMQ7y7aFjy{F2!fPp#{5GVJoo(TzkAE4f +p-|_)q-sYE5#uSpH>x1W-t$%J|)hU6hu>}jPLyq&)l#rfYC;VFH4hH)jA;ow7B+)|l{~V;@rK2Bysq?=gs(Z1FySMSr&4absiOCEQ&pw=S=uj1*L+- +o0LU(q`lDhwXVr!$nisYra>MH^iD;5UaHUHAQm|Ee@5dQfoKQA`!wVuS5s=wya?5$9rPI7uwJ6AysF^ +tiT%k(i-Z@|v(Jhrs-3~&w}v`670j +GL?AFIXno;uozza55scG4jPl@-;L+K>lGG*3+!%mp$Dm^nQGuyz%+HWCvv8d!Otu~tf-(@rvDJf?1mE +uOCJ%WNrB^cbNyh}@xRvi+K8-Ppt_G_!_pdTl|yPIW?1w6bQorxoGK$V{ThL(yPdRE1asfoYpi&~{3i +9#6HYF>Y|;6sJ57K^B_%jI~~x!S;uf>#KUCJbW?-$|t&WQkx<5V2!^N{_Fgt@p?)s97Pr%+3Z$LzNLEuuZvIhLaK;RleFBo|GEUy<3Fo0;B^V +EX?uS#os&O{6Am#yzQfV!0cmI$g&TDS|kp$&CmPwxiOW;c0yj)0}{3 +vb$N>CkDI{R|zu&THjc4$QaR_E~^r!Q2-?qyutMfCo#!J-ZDPI+I9Vi*3r30*HN?ce2Bbu8^C88;|!{?hX4|2sd|* +CTGY;4WMP0vOSYfc+db#qL&gxuU)UjPOi-*NAV`AFKz&WpHYroV&pib2oS+v%c`!l>6^XHdl0WTXO<| +Q84%X_bEkv*b8~njM{`1}{OoTdBH`Jx6AZc^;$!Y{~(ux9OE2t-E;sMmnGy1jL1%qR)1Yo9(CWohoBgxy@^}Gw{!7NoS1hev!>$7E`y&qG6WgEjD++q +@t*W^sWL0q^5C;;@FiyBkjt8eb}tgjD%eKA^LuXPkkMn$~wk;rKMr}hm^N4x9KG^?4idVl48OOtF*G{ +USPav{kD`3L^_gZO8!y3{IC#KX1Vb?F}kjb>TNWvb#J0JaA;mp2=={&Lix)9VUV{07I>!VPsNdm*S2` +>~8NaDtIF*qZ=TpimV`Oc@S5fch$nnxa8FPrmKL2~#4tEfx+1(*+OU9yprbLfS)IsPJzMfW&FVlAI@Fj5S=;rg(zT%WG-KPj<2m@+LtSDsZ#F|8X%oY8JaNhm-$k +-YKvU=MDOk({%hZYpr8&pW-It`;jzjhurq(NAWVq3^G4%e&x)@_VHgx1K@~B=bxOFY$up8WTiX7&}p= +;R+Mw*N;#p=LK3plsv`+wWQkijF)tXIy*(1SYk5eT6kC$KLbrAY*4M-9GD!2V1dW29sn>E(K!_a@uXy +~I1KbDb|uERn`1)%Cc&0>h`Wwn+y5M*a-dr_Im>Uszu}V&DKUi-UBh$+%7H-}e@(uPYk|nup>%_R^5zDjKnfF~Gjmz87(xq{Lp4K +Hq8?HIZed2W1~7~hhASy1us!QgBIF%Jx;?27IbvOF;XL4Q+1zW`)rWcoFjLMgY4izdnUXLJm-fP1<=B +=&bMHZG3o4^Hbd^mwptd2~vBW>u41&I6fjwIm%@{w +QDIrYua#m6dujP=foFBrzgi}$EQJODZ#$2dh|-jdv;5Xzb41?qq8YFI$0dg7thZi|B?IC7txE887<++ +Swh7wEskD>^KkyysV~E$6Fl|nljEc3^M_CUo(gh&il?4V$^3M2a<({n?wnf2GXTT&{cK&-k4kwQ&S#f +ddUpwU#5W(F>G8)--<#7>=I4u(lf~CBoYV6(7F_aGH3Oj&zLPJ)i&E_>EMi&$A^MmKW4<@@aD +%O5LI-CL@T_*2sO3lbud0ny%y18L${>@`Td@CGiOo>=yf%O#I{vrgm-DLlI|JCoYK+QY2b8#wxHGJc_ +YiJaK>&ebPo_n8ROhP1WS3oi7wgrB$0=Jw+OHOH +su)w^BNeYD+`iA+{2WYsR1&Tj!qOD$6|7uT+D06QeX>h9Z0D$$Np6ztBf?RbeCGyV2(*&Z5ZgzQp8FQ^H&<<{i)JHp*N0?aCmRlprD +jCp;@E7)`svL&A@V*9QUQ|+>gj9bGzYp3wTG +ANY?VI{+R`6ox;$h7*x<_O01WY^b#Gg52_wc0e2hM_5kdjZa5ulz8`ei%0-J`+KI;%#l8na@LFV88wu +-@xgc0XXdDgWE%u&K+UYL&D+_Vu9nOjiya$i!(AHz>Kf`ddgYm1dMV!USY*Y{vq*Ex%)uT>kvSwEG~U +{G$EQmmf^khP;-QzT4Rhj5B5(R^Yx_f&CAM5SlN(G~tV@ikzy;VHy*(X=_Y%mHKO)3O70;4g%%~O|X| +ysi)oHx!QYBIk*;-W#o0puy7rckKeuf@a!#^=#Q7=^J3m>(?tl%h3-`x+DAg@?Cie^UIYn`##K!IB7 +mwc!JX>N37a&BR4FLq;dFLq^eb7^mGV{dMBa&K%daCyxJG^9#xVfp@8*?k9xsuzVuN!-JurG$L +Y3g;hFFMIjHl5h9s_2WdDWrtKbtC&|$u>1_D%G$*>|rd^COu*B_q;tU>EfHZ?A6t)o_EE%;oe;@I(7G +5Eqil?FB*08eX&Q->gFH&9;R(xy&d)j)Z4>eU;WfVi{;7UL?O1X_gP-I01&!mWm9Joz_ma>gX|l1{|e +h|ijv3r@ed`Zp>40f71f2|neA#>hE)2tt}5QX(X%wq+hWJ_ +9C|(<`t7TBBcL5g#HEpvOWAi8BzMMc~&F)PNi;uKQFYHL25Pgp8J}0E +`R^-w%g=3wBBm`GsT%hpi7x@}euZXfuXAwM4lETh#L%L!1cIwZY +^%^MwW{!g^tuL@+y!3iy`ei))MWb>>SP%A{GwLFZcfeU=O)vMgF$lWV|C3~dz(!6Tw*07EqpU44@qtV +waHOL}>?g*nnnpX%e(v|Ko5gO%-Pf%%MrcS2@JmJC3l1UYcFG0fYwUxmQkm}++al$Ou#imrvmY4DDSej$dYBDxXP$IwWD*tNhOOP2Os4OpYQluW^a +HUPmlI5gXz{&9SBDm|EY@L{8Yq%kS6-cGj3fGcF7(D@@9~dwo+xTml>a9tze<$RQfsCU99GfXX8WS*`m#PbF_QOJ?kXhd+3qV3HS^Z3%50k+2&YKV=VL_-EFKOkt +`2!rRqbu&)b?)~(VmGSn+CTF}jMfK`s3FzWYHx#wlQsY|p_H95o}rFvm4f&Btx&)Nm(pxC3{Goc2F7# +apfGbd!uaUkVuUno}_H8Q=*Jnr3|JI_F`jR;1r2RM6OLCz2k(14$Z-RP-9%gp^GLh3LLl!;C$#^aXq@w|tSfsMU$D_6z(171R&$WqWDU%LaO=^^)Tc$_Mkjx`<#$@g8IPB+NSv%DasGW@P#jQ-{lTpNa_Gp)(A +sZHzGUm6*UAW7)H@s^bI69Wai2~>gGVm`j#!5l)yFF;&@@%#oYpkRyrridRwKSS3-fa+->5u;LKUFgf +RgAA=M>^!lD9ZfO(1(8KY3vhNoOME7X4%J$tild!T;C4boe7TDx{IOEk=QcMS&S2#)R_v2$m6|0|Dbs +bli?cGzY^&K^T$lw&-dxNH)r%c#xD=Bkhwgj+0!1tn^@wkxaa;2qhiRNzd?&&Eg`M4Pffe#$-cATFd9 +5C3t4LFXpr&rVIczPYq#$WokJlBca|;N5fGnL8gn@(X`t+9xXbROO2ZGRf#A183wg9wn6`DR_nW%_UN +Fx&AEFQYR6-PhdM?>GCVi4n6N#F(mf5=Y4OxLrfg=dc|^Lk_S+V+==&~(&ags|ddVWha^y`X7b=c1gH +v4m7&8R`B6C?3AB38KKQy)_R#EUWmc|j8f_ImuE0P_q(?ty1imwO2)hu8gzH17fJA5f~;wU<_BbtWko +GAqhl{Ptse#M*d6bOAcsxp6sS`N}f(VH4R2%JM#1VaW*d#-ULZSM~?@!)?n}SL^Orup#<}IKQKK`NRuG@hhk*RM +uh{vvOxuO(Ahp4|%zO-DqpvuQmNtzGVr_iOv=_;Jv$#}u~y`nCQ^PlnW5xdw5A-VAdk=l4kDeBXmkiE +x9_NE5Ug2G%!P!AN6R?7t2!m46-6iBZ*<6sj(7r6WiW;`%C0s>X{(u1LbWl%PV1qM_cP#~_#EkWBBw+ +dTAj^2RVx(8sb$zCf+b;dJlXaor(1ui*q@Mb(oHy|3eQbx8Bcj$)Q<52j0yvV2x9{afE0x%CPoEe+FI>4U=|A?w`fCX=@sFgMGPS=Zp +xCGnHZtWAUf=Ni7`sLNj@4M=hJzzI6^R7X@34+(dmfy5xT@PsRxr*A7xin*3wU}t5|d|yu7yu>R6IpT +eC>#2*vJ^8s$g0-76Cv8==`_LZNfS2$BgiB(M=SG*(ur=shWUIM)m!Ruc3cBMbN$fP2>aSxcM +g>0uPaC(eVC6%~q8&Om)%Wr|`yhd{fy-Uw0^&HLF^u|Lr-)y(Hgt)RvXyPy!0#@J_Gn4hMZi>!G=SDQ +Jz+hVEC*G)xee@hpy9q~((K~U$F5C=b)drplXEbxovL3S+|8)2?ujCBGnE$K>@-@Q~w}luayR_i?SVh +)`!_V|odc^A&D3)n^wUar!e{7IjT9iULH5uA%GmIkQCzAhtcW0HGx!XHTh%q#%};>cz*ta +>*ZO@_|CJ|s(5MDzZPUD(aUd6%UtYKiarS39t?hzwVoGS0)oZNuGe=xNgs2>{+e`A!V|XlrH(t!4iJY +w6cF;IwPXG=L|M@ImLn5V+nEDzLtX$4(;zdJ~i*S~rhm&0TSjK`F!1jD+z`CAdmHYe$IL32HLQSpMV1~pHb;&@#?CZU!^HAfoN>P@D&L*ObIBEk +_{l>hypCn|RvQS%B^-B9ZE??$t7{i1>a8>ylU~xqH%|sD477f&Z@(3B-#$N%3 +B2mnBpstH5MlsA-1ELZv>K3$<*%o>;tnJoDqeDCaPrAB7`zw@Ni&OM8pq(mKzM!Q7t9@HzRCHSx1ore +4h^1m%B0DRR{k`rdg(Pw)ar<5mv79i5?FN +ZHY;iEb1y$pX6dI_R)QCfBX0c>u0*l4*(9QHzS{MJnZ*8D^M;?k<9JD5a5Y`j_k>Hzx#s`YL7Uzk;!z +<4lbJC6*%Z8e|Z6tHF*6e7LVfKE%SR_HAS6DVug>nm7=UqAT@Rz@#M(R_V=cJ>wY{CXMdN|^?E ++dje4OlY|~AiK`s$=UaZ=leYc9CQ_Sc9VZZB|192>MMYd$hf&r7fSc1K(Hlyy10DmHn|KJkbgO4eVo5 +PR^z6vg6Z3jTi=~9+7lJyHs=99DYupN|!mQ3l=%SJr;zEdE0ZVLS&kQI4UF(Grua0KpS$@PFF$xB|Z%CH9SWH +V(HJJvqERCGFMddwAU+W1=9Unw>b)kqLN;8P!vd13TSoP@U7ZyzJDx#%wl~KT)HET2FOdOqjehK&_Qu +dBS5_ALo2TUyOmymL7S-y3-8lsJlbk^Z50QLm`e>E?=`5`c68}70CqkF(Yv^XE9R8mPNqDV{5NPYtz) +fCOjCS1|g5;WBM0MYOJLC{7U_*lw60G&j&xvkqWgelbxK9u0rY>zIfP&W~DPNp +05eBagkG&wt(!dB?fB&BtZp6YM`F2DSo!0SQ*Vf~#@Ic1o<%HRM8+P>~V9o9EMQJQ#L(o^uxt9rBH5Y +m_Yc$i5^w=qASF0gz$`sz!sHethiteNC@skcf|&Dhk;MB@Z9a_(u3C6+3!(bYSg!#sMYQNwlPPvIqw@ +7pOdK7RGU(s<02%20I#I-r237SN^!j;iT61Lp6~&PGORrr6w7XM^HXpho^{FZ}2zphGkn;o5qnv6rmj +x4ik)c{YrU%We9r`E?I#-Vk`V69R<4zQ$p$uW46K0E_7u!!^kB_4V=0%V*N*ffN|_RnhZ5i~>Iqcy!E +)rh`cFa7w4$aG4TCbQ)jnEnHuFgZ$^o5mjHc%vCxuudAHDABsjPF^^OcPwC-XmvuERDAnm%8dG{y8f} +)$uf_OQjccj!F3i4=I|218#7H|g_lr@e-|mr~SEho$({hT6j90Zv8}CHL^?qjguDIc@&IDpTFome&EU +0K{fk(!3urI~#9_r!nDqwKgPKR7J2Id`M3&M9w%GEXl6^-~bh==ODu^Sol3XP{j@we}?p?_wwgz8Xgi +u4$5R}nmC^svQpGOowymA#4<9|q2uE(`~(Jy@AnF&-og2$Nd+MP_b8D}uREJ$kdv62{xsqh8~Xl^OZ@lYiSQ`|n#UsbZv|kSY>yyCbw_!Y6iVmkkLX$p@o?fyXvBf7DxI+#1;|%}LKTxb@8*gV%82f* +V$rHa;KcXs?aQM8$0|Zkdd4$3wRh&*lD>5j!c7R-uCD!%Lw*B0x;$KL@`F5U=#v4sZWWj4w8(%Qfe!P ++Veo7^8-qmz&o~?OVV5q4LEhweaUYwF*N~X}qtIvZwe?E_B9>}UvVJM$bR?xiT6upn)pToUi8P4R^@N +W;^?7qi3rX-aMa>|x0trr+EK%ki3E$Th~t`~Ito+WUd&>`y@|GT3z3x2j`%A0#>_lGBy_U-}?K#NPc;=6yV!^=LXcP_7D8+($4X_>H +IiH)yO+mp>+vn3?|4jxd@peIzBr#I2s}OuIjbE|1tZ0vA3Vk+049FHI;Aa#%LmED>c~CgL_UQQ@dHo{ +CuWdiysj=corUYd<5z*1`Fly>uaLivd9FWX5leKQ0;$nr5(tA?{o~D(s+m4qeJfZGMUk(Z5HQK(GvB3 +U|E!|3SduonhDNEplv~IHwfG^Z*C(O2>chhy_e#MLdfxi1~PX}< +i_istrs#;yKoq*X*AKezfXb%689HA5ez}LBp7b|RVw6#EsRpX}4C_112*2Mfx}i1S{|PHc+|8~!SD$m +bv}Juue-G)(wUt|Om&?8q1H|c=VZo09b%Up)%DZZ&jLJ3Y#&)Y*}82uG2uhaNDSkpdWM) +FMo!cpbKn<$+X6LQfu2iroG{ZW&9q;qKXr+~0FL{Y-NG}SJ$1}Qs0ySonN$vakbbi`?Nia}SoRFyQvh +GQBtwIPI8RP!fI5?mj>f;Dgp(?w=Qu>~TSQdlF&rc8Iq{u|x~X$haP@$U}=EmpB_XQctq$=OA-Z818| +F)_CQC1Tv&5}Lk*)f4$dioae~!CfpUo34sg>|tbZk1i|!W^NR{B38j-++x2%wL!IKDy)Dl_g-)Vz +zg{;Ec2t2n|R^IiT3#7h6hkEw84I4?##wudm2kIa)(e=ml`5Ytswxk@(Bu>Evxy8@Gupgek{Wh75`4T +1(n8WcGgLv1qB75=rA1_|N#e-KuRc@gvVgBcNM%`Yux)uy~Wc4XSTzmWjFLfDkE!!{p$V!Y(bwc9Lnt +LVKK@7@_Ps=jA>U*jlQn4j^5bF3HbnS?2f1NAj(M0?K528wGN?2w{`26DH#Ty`@YYq0Yt$8(SPU?`8Y +a&Xp<@iBHbW`jHC+MJ(sp!_J1dIF#m@xH&MXUIM`{fyXBbI@yfKP#1$Pgsf2*}=HtPho`qDTwSmDE3! +iLb>7x)KmRm0}h6gFh2vB-Q!C0%JFgSmPCV;_@9BiCx_;)Mvk_e%!J&Rur~L-f)gZzp_U8q^e&^su%G +=O$r6SuDCz!i>wxBygj228TDu2udA(Se4lT?nf`^J#lSoQzaEVGsiVWGl8bCCcJofxTvnXCNUGs__zA +nh+X$f}WK>>ve3!`w7arHXK>DlgdW=O;B=Lh@kL4oEvc!}+A=C9aOaH?FR-(esXXyyW-2PiYNHT%5xI +g>|&#eD0XYLXNMPI1dpHeus@TjT3OVXHqD=Gr?+|`av?SRCwW%>vO; +8VGBHO$~G4t>FulxUwH;L0dyH8`vV#=Mb5Ta`mTC#vkDGPb&T&P)h>@6aWAK2mk|-TUiaN1j%0p000R +S000*N003}la4%nWWo~3|axY(BX>MtBUtcb8d97GYkJ~m7z3W#H&Y^bdXp;tQfuK1w*bN#W=%F9TAqc +dzG?JL5M3to0>jwGneM3sNHnxLkQ3HuB&IgBY-po+DSS*rGb!m1>ZDFiXPL%kHPpYj%K^=Zmn=5j{lm +g1a8_`*Uju$Oa!D?|iiQ2-n!kLDA%_6$%on38uU5E{d+yn(ng-}h?d%4jhB +-{=vrqw&>C4E;&4<&?iOV%lviPD-z^qupTWRoTf94{r6nzkk1cdvz +&Zir0vT_;{~&2)C5I_G_Vyxk0{Sc!jc*FB_4xmvJ6aXs2(q5I90g-5pM;!v3fl??h$!Q3A-C_eTZ>SB +`1247roqKU{Q7K>dn>07g1*9$N*^=`AURe64C+FQo*K2+8!;e4xoTBo}{kF>(As=}4A`$qEl8n~?)8f +<9&*`UUpBE``Zlnh;EXlI9nAj%4*4tfl!k=s?*DRZCvJOQH{w`Nc*?jzk7NuW4T?J#h%c=9?O|ZVQ*4 +Ts7N8%m24p{QBcc^kCsP$+u$cWjFTr5#L=pO;~PCAENSrq7-5@eq^ssMDz3vlg>LWfjdG$hfQd@a4Wz +8?HdS|7>>6hsTVzMgpE4Uxgn_Y7*UIM^QaQ}L&2b5t9Bha!sNP(xfV2VZ@M%yKMT2xF}s*cI*EI?{x( +VIO?JSjGoO0U$mOmv}`eQP8jIwX`En!5k4%%MpgT@L1-)2bjCZ6Hh492A!9@I~T0wdsC^a~z3-ws@cl_pKqi_xDKs0j!=15A6 +J~H{M7GuGSu$cM0TVViCfYVmccc%rFmYYKG=LxQo>}Ai4)6841Tv?_V&(xX-2h-+r)sM3Y(Ww_S_HW8QJ +GT8Z!Xw#k=K$Fd*ry_d!5xJ&P~?&Ttvc})P#TZ0Y06cRd5sgBk;382Qwb!(26JDJ}|+!Lzvl61K2eMQ +4{lp`4E9V^{b8QM4wozn^Fkampg6GCe$n4S>qAo_^AQC5Qv$MSJro)x5VI`IwmyiPpciJ*@((%x!d{` +}iD(=0byQ~r%1?9IT2Hd;N%s52*+^i@MH==l~Y=6Un5&C+g%?%6sw$97IS_eS8WF6J3%>WuRC(89N_NMPn%gzqGAazu6v78b5-MM%@-JLP=R_3$;l!I8szY`4eK2vRJ#4lp`99QILtHYiA;Ki +FpA74Sd#aoNRE$}#?!=U^RP)h>@6aWAK2mk|-TUnhyd%`w&003hR0stTY003}la4%nWWo~3|axZjwaA +|I5UuAf7Wo~n6Z*FrgaCz*#X>%J#k}&+8zoG|z1a@Q44 +N)+c&u@S8s;aD`K~R!+XLp6LMWDMX>&nW?%*vy@T-K{L%g?5JC4ZgPi$yVQ%erb3kH%ifsx98Mi}K7o +nXjv9Th|L)v#gpW)HFZqWwFZJdS!k$8(Xs7EQ=<~n`}bg)Z?-`H@~j(RRuqry}ijKUo0k*>@Yjt%iwb +_d$|VS53sp1Ur4=dxhgNqwtQVQV=C5vTy6Rz{`zE*H_dPP%KomaY2FqU{BIt8S62DL{P>}4q4$fI?Ft +~9hcEI~e)$p_jUGH+oj1|L?_mV)@ylW{H{Xw7)cU*XnEX6iFBi7RuhlZ2zJgye`p4fsX|ln5RbPgyH8 +dl?%F8xCb08i!n`-*JZ +J|2P7%{eMlYsi9Uc+Pi^J($Vb>V)@^Yx;AT25Q@=%@U$n0d4K^J-SCikU8ilWiUt%xYKbX}gBC&!!i} +^i?y;^6{&2J_huv+ZwuTx(PUlc-lNZb89S*zTLD%^zcc23B7p}KK^b|=WY1#c{PhmKChy3zrdu-T<3q +TiU;+4p0yXaaqKRr>K5>PW-7x@C|2#HDqg$klxM9%%;}=YSCbkFK@VqkIJ3OXr?{IY?JBRDdA+){uZr +cWnChmU)^@L)7i|n|uJ;_4&^v}|tjhDUil5|*$yweMURkq1lgr}rtXO&Pa9|UdmDWCm*;L!EY;1M)2y +4w|3SopSSR^a1^j0>*)4x~c%)WmSw6KB|fPv^qUjdSrm*LL|p`zZUN3cOO7C&B;c@sSd>C9i(`D&&gJ +a={e{l&A%lfONC^8NFl{_4i3P~@ljmjX71U5sCfeD-s-*tp;ST$d}i_CM9FdL$V7V!bM|9Q#(l&br87 + +ISW5lfs{XyGRQnMjqz9!%^S|ZIh34p +8Vrqdv-#ZO-%DXpeO^w<&8S}3fgrAwSsw-H|CEp%R?2H;IosPdzvYW{;m +yu8ce7K~yy0ovBp*&@#k4lFeX_TAF9SlBoxw4S2mmM3odJm65L-XGD43zb +lN|QKqQ1&<*eaLxtelqx_GnoG&s5J1w^QP22uqM%6boR6fZ7w34OOd(Vg{AYHrd1w9qMjg&ERl=LO|? +Z17*q@K1gWvFox{&Pd^{;?d=hP&n7R63ORwr0nOm7m}is83W)qJ|vt&LOHa+hI_?gOaH%oZ{5FBkB8W;rg)ESr{tKWZ>O^wagPl?U(gsk +pXH0VgoS;9GKCb$zJEH66s7c&Jb~%f-ra8Fx~=|lFUK0+OUWBvVkj!-9WT0-XI2#hkHk^ec_@9{iFVn +IOb|YFvfe|r%HV<#em{UvENd~ev@KEe5BwJ%y6n*c-$Ys2xyd5dx(_7>xz5l#@R5u3g)Q;CcYxL_$7k +uKoyX^}ekThXP3kzV-Q$Z>!Av6J=A}K-CEEEngaWDwPG?uBvD67x@p-SQhdjzil<**h19bs +f%!Ybp)pRHE)YS81JP2hAWs)nQ;oX2U7ye*JRMw_d$z0g=Z>@Chgt*Jz07?dnuSoE>h*drok(235dpj_9AmJgd6n3LV_Wk9p(PB&9DIv{XA=+dO|mfbV +SR~!YQx4YGU(k!J!`z8@c1tU)Q}63&r^_CE+}g`h1I +S=MkMBBbqfxXrT1Z6>_+h(^QIGK;ZEdTGJ2P&n3e9w1CrT*1ms7eJ`*qc{V9?!O{ +cK#V_7YWF?hV?6h)Em7RM4bQi93CM%djX08Ho;Xh6nMGc~FkqE0?eV0Z!RfTBYoSRy^9}uYkMy&TXnT +z(6`Wbn6VlJPKGM$}X`5e@eyZd0UiJ-_DBb{v-JlTi$@q(pM%mfA&8`aK3R%I$2M%JTwAToLvjSceP; +Gx7(fd_VEIrl=F?2GaRwk1SnB`Roz-3Rt5m^-3McXc$gO5KxTZ81j+`vYv#`Ws_;}UjF@#*KEeEP^vC +czoZ{hfbw0f=O|T0|6!$ +p}+vdspMP48$1M~>hIcmccgRk`Hj$PTC}7jPaeHb~2XI?xmX%~-MWbsPZjn}TC=xddv5brC9$AD#lao +ivNOZJ^UgZUQK)BA-2|tHs8w$VPRVJJN>}5~x?XfU}?R#qY{eZ&o3}b0D#Z_pBEiAkmc>kOBcaN(J_i +!GD~IS`3;z&#s{V^YRTWDACdV{V_J><1fcwY?lDxe`(qPwzOLwgu>2zfeMIfvf$S&=rjW +-@A$OxaTSWsM5Rq@Q=I|fRf(7Y#j!5o_>{Ihxhtj$+}M +~7%-LWGc#g;UWa4uIZkiHx3H_k%FhqqG)h;}Fjc}ke%f!b`U=dl7g8ek54mw60jCNBNz-28-x-76|Em +0=JZt +ewAj)U%x-QRyyFW?>V3J500_%0NJqF48iP0LB7%A@w`ZvmJ+;Tzldw)6C}9RWGZuwd+2srw73HhfD96 +Nti~f$xjr4`ZUqhUHCy~2mB3Z<-BMC$fa#JNo~?d=ZcPaw{`7sDg({y8pFN4&T>0YLcjKFxqyIzB|%s +K51d{=1;fX#=-A~sB2=<)5ik740#e22u|3IRi1$E*y%6=f8g*jgnq~(ocn?nR%W?s7&!Rp@39+_1FY5 +b(8D`*9UJy5qC)Y<26j)ne0S4Y^huK&3Fc@x{IYrsbTS9eu=nv6VfPO^gGdQ8P0!1XoM-O{@26F)9amF%f)(4P%WU0L&p>C_*K2wEE#iydJ<^zr&j<|%gc>pn}Zju69%+FNk(|AQP%UW=zA +-Jadt+)#Np+* +NT7=h+IULYvCW_&O7>_T4p+HE0^c%Cx|C3_7X+d4hkLq$&Q`G&(>)zQFO+>Sd6On}V?2?494oR(ERaJ ++EMSn|6H$^3wn`dxEc1koqsVPoIM~liPD#7)y3_V&(LayYSXv7R!5F6sO(Q=RaXz}bY_EcT#Ru(it{xx0psO{UJQ| +ew3CQBKqcCcLIMPRnlK>ir4a&1UgV3c;Gt11-v?rH--0?T{ufMtx@e?V3Fhm(E}9Iftf!#L9Kj$Rtix +(KUg3OSmBnkA&fMzu;ml=<>o$W&j|M{vCaqAq$MT6NLh(4^>jZw_5Cg~y048dR0D+cHCirDC>5Zrf$N +xmka!jm_QSe}bH<_H!FGKb4cXTvhfoVO1m*Z(YQB=_@iDxo)CDefVTB&exK+>hHv$}+n*G$%5vho}r6 +}M}ZqJziagTD?j#grRm)U^|VLj|FS0r#=a{ft-y%Dm)$6uFE0&y19O<0iLkZHqJx92|<*Tw@H*7n534$N9Wq=9|s+L1T+A--h=LK8gG)S +U0(3=NrY=8$h-m#EHCrH}`Dp;+}t!vyq+Ot-*>XOYo+VkviRc-xv&$Hl76+%rsS;e}S^m9*H$Ld%1;h +wULbp_PJJ+ZyjeWwR|#<*9#ktcg-$)%P7e(iZShU%Sue2ck)XE@buxeyyCk22qmd6b3k?W<6^TsAuAlRjI@&>Ik*)pKhI$vTCvJ{f-r{6^6rO4B`haHp!}ROW5P?q(v}VnWuG +WDTn*nLBO_bDsj(OPl#<#@1MZ#gzwJda}E+j?H;TS;dN~QFebs@(opm$3T`2k()u40AXx%2*fGUuWg$ +ZpeCtNrZhroRid||5abS%PLRKL6s+uZfP9O~DLWLJk!UVtP%;-ZE%=X23*W$Kh+T><85V4!~B3RO-9(+d~_-*=cr~5{|w|;%uo +Wr}`3#SHbYs)IIgVE)>A^iWpY +5&iNT8RF*d2D5c~?_1LA!#viFKJcL*1d3o*UrnF}ULm-8d*N)Uf`1Bn9QRQy>|B@9ifdrXU{BEX*t`e +QAFz|K@Yg;aevq2An_dJkyBuoPbhhZask)(7^tpO_&A28{9fnyvA0hj5qw(p{Pw%dTCcHzPNr*XCQIxwLH?c6VAYHxpv5JZzgFzu +=^RVnAvUdS!V$GD%PHG`6i!9#D+qCz=2`dsIon+=)PN9ne8i#}hwLyN|-b8Osg0?ybLe +dN9p8_@F$_S|dNMBABHMLKW_6JJ4Y7!*pZ)81bJSQjL2g-NN30yT#j3>=DJ)Jy0I{M`$l5uNFAPeA?c>e9LN6%gkv;UB}243qDy`99iphqek>kUYZlzCc#Ksl +Ak=OV^i5K9>B3EFERnH;&HE6+1e(Fa1Gn5psz4Rn3^k8_}w6QfM;mDt^w<-s)tZhBTM+l#|T0?1RunS)~kivhDSN4Am656AP#`Jz6{VV&R& +%IQ4$Bv$}xA#2>{w!5qb$t6V0261^&gTGwlExN}xcClT0k^)LvT2@Z? +N-6tb}bA{!rmaOfK0dtGWwdqA(ozv}ey#NWs$Th~IdAwc!B2#NH(rIzblTdp?^2}rf9QC4TnhCoOvlY +E8*C&B-9$&JEm_RtgN(in**l9ffn|20dDr04-GIBg3r-3O|w%2;57~Q}(Q;ZgX{{IWKs$VQT#}TaP_G +Du&fZ>IhtzKQ!iz55+m!J6(cHO{4Qjrn7DyJ9OWxg?fJ)!5gj5AV|YaAZ(#>ayLkkAeRejuXUD5JcpC +b3;)uWpZna?Z>U8F7s#%HcWC8wb3kB|c4u^Fd#m2r3UtH*JW@ll=kw8|e7`rm%~rQ0UY$zLi4*nC4Ri +e(DBPWv6OspyDX|%8cpj;i-T9cUd=Ri9v41t>~EPPQG;3(kN96IPnN_3--iZ3mf +J3SH49UxTPStFI~_X(W<>1=iFf+@CX2WG{;qQVFv;p(KFDy@EyZv!-6G2}xNySgTG4C2w!~l*}^uZ=8g!|a$eW`niV>u_4NOOTh5YrIEZ3l?VA6CVpcn$DIfGuQO0njS8ML<%p+; +C`)IfyJC>@@zzssUQdz`+bZ_p+CGC+qh&XOf^Md>=Jd?Qpyuue}w57PEb;Fvxi?J8kXr3PxFyCzVn+k +A3Ibl9agCkYiRfC9!KG0fO!%h}nWQ8)xDkkWhBhjXYv3g=KJ1`?7pv&lWgZsDE~Z4Z2Oii=OovLxMD4 +z&YO2s$D$>^6DD|-O=h+xu9_%5nJlZ;tJ7e4JXB_T_aH)sT$F^iGm}70tH`ztd4_I*Twf#-JgCwdUlX +K{TaV7nHFs&smiL2aXI5FC)_}uBMNpGI>wuGYTU_8ow`adq&E5c;sIK~D1hujU5gVcZumeQ#?Drkxpb6FX +qd{d-J0bdK!CXg;5n?tHTL{Zs}8*l4IrgZA!Wn2PZ0mdcf{dP#V@xAJ9t3)jc%(KZWANVP~o2DW`~_obK#BKF6HYhbL^&B99uko1R +R@^KGh*WHp|c#>)CcLwgQ2FY5Xg-ezHs1Ry?&6}InpiE$i!V%y8WhHNkfw~zB(k;YMI!U?n>6ni2gaW +fBZe0?=fIqt@wc@M?70MtQtjn@j{aEHhHs5H9i0Jj4%-$q&@((MOCprYns#Ek!)1I;kP%3z4MD}e=O% +@fND7MaO&KY#)~E6*$T7c_^!_#LU~_Hjf!S4hEjJy7mtXhb?P9+y)S*v`y2D+iXEZ@+c5Zt42%hru1` +v8U?LFy8H8h@uzVk^XLHb@0_1dOB~_&Dy`5a|+Sl|QZRZNf3&Qu1;*q~-Cm(k&`&&MJ1?P=;ZFs +^9THVr~um%u8-4^|bo7*ILS3Yl)(~j~-OBRn1IvfeE1J1?viAp>VXf3THiz3ci#&#*x44^L(2Y3;)T{ +Q8MATHAfEQ)2m70Ep|q|5=mMPHgf2;zQWE8Ga)BRNHh$GFX2~uF#9&`%KSJu*(mj(xg +*QBdW7_-74tn|^lQtH$!c%_c9?unr-TSV|%9kk7d$x33t(D|B8vD{79$VGU_@pyk=CO97FJ6yb}!Kay +0ts~W)3(W>3&|`9I5If6iwMYk_-of(Uk#ct|T13|w+YAXBgeoN!BTK9GR3DvNcRU#G*Y(#B{C~CeU$?*A@%sPaia$-rwviDg}tbTu8)a=>F4D$Iwm{s}Gsjh|rPq8;<=-fN!aCyTnFRk2q+=~!4(C?_ +|^fnz0p#EW0YR9P0)p#L#m41J6~mHpw!wxzc5-#Nnn0TZLEa$%;6SU29xMN`Q2FMAYmKxuP@qs+Q$a; +h#lR%nJQg&bC(X#S*;Eo8F00-)QcBNI~uBBp3d=cvDO%nisCx*`l7l@^1TzX^y^Gx5H%B83&J408V4>RT;sI +R3RE|RW&>*H0o +Hv8pcq=P>JUk5BB#z`Q*_9JSv@mT^ +MJoE}tdX=~sJyx7<2d`zqjM|Axu~{6A@bR}#m?)CoRLrW)9zcSGa+c>s?aQV1`8O#28vuc)yAe5!^JQ +B1MV2JH4~rJ|tp_&8+V5>>0?iGM9=y}=1R39Yfb1gv=DiKk!gGU^NAEOD+DLCbNDBG!-i9d9+yFVE$h +!=Wwts4P@3M_%{xZDlMgrPndw7hY{!jd6u-|WA4|oD2BCd);x|=)$z=I%rrnTG27T$hVsAV@NIE;6i6 +r!~6Yg$$a?7wJYq;0X%u4d&qG{YSh3=g$<-Ho%`BjkVb#TTD^diTD5Iez%@zUwbMt +k-;9*=y@IU-Sed^y#WziFUDG%pNrDW>GkxgW)cn{PfYo&%WHPlbiy|_H%!~V^Rg0np&AuGkJs~R&Pdg +ix?w9y2;RnV!uk*W)c&KBFy!R7X~nBhE2hR0lp9UTI-MaUjit4n5uAqME1y +-cU><`(-Ja5I*V{-KP`)4mFKmPpm*B_o?lm))G@6kaiwkcM_nuwh+9INoW_F$TrM2ysniJi4Z-DOS!u +Mg7DCCnI94GvzxSFQ3R0_fExIull>EG&{JGvS8l%H!3VG=^WdHx)OBb<#SA01(}bdDV^|#*u-$RUN6j +*RGM9Z68D8fbHh}ws~pE2Y%Oy>F$f7LS5ZaMgB8-WOjP@?C|^d*_YI+DuV@a-SKvRIwO}#{o@<*bEqX +cB*a{NK +wA6V5KN3~Dl^T(AbwtxrW;pe +A6A7sB0(O`D$x5q#H`iyV8h!h~J$!3?TAB+5V^i?h}$Y-9ii@T-c*r}7j{w_Nxh7`=F#P4zv6s2rOgS +h#_gRFfBg7-fB-5;UB!Oie59J9JrKDvnMy>N{@)^(?DB?(z|U|DPx60GHzU?YhnaOjZB_!y=w?vP|vK +*=bKSkQ$rnhu9or1-gcyIH>baQ?798>w?bQfKOV)Cj5FB{16+T1a%4xa4%z-35v_?JA#8mknpl(Kf>2 +-f{}#V?$*<+tk>IRL>Rblm@o8i7}Ee1WiQt(o@(8$}2^{2Ezm}Z?-#ud8N96c?+|pXR1^;FujJIuymn +rP*g3kh?Bxl==XCw^4eX*acMFfv&E12y-6y;qAhvqej4Fcv1SicU|&hz*u+yymwsy0%juUfqK^kz~>;m +`ubJUK{zFR(jK@??vz3(n&Y>QuJO4{#rSJSIiFe|Mg%orp7}zXYdcgh_p=zM8~Itxg~w^qboLuIsSD2>Y?|b+ +#2d2yh_4jVj~Dq_v7jVN0e^I08lxEbZ~6z>J|O1?{yu`gR1LoO&+B^DzoC24?>zu#K7ik$@F%+BSx)u +r=U#^9zKvSYq%(+_fj5WHoy{Tig&-dGDLYYrh^j%#zSdR1PyQr)+q^bT6ZsT_iNVsmE^|_INrTbJ#B8h8ss(6KOANM0%gW!(`T#=QsJZ%fV` +3MN=+c99B1U7z&NMBjfwOImv*)z!&1Jrur`mefi9f-H<8DeCL!>}uyV-FE7?RcH7`S~qC}f~ZrMzkkW +iivIC{kVt^{6&Rl}-~;UzRQ18*z3{3)Il1vf<;(h9yVy8#!rmlZKM*W$<&v5k{H +<_cvadGF0KiL#b&spufL8Lvv;sYM*%>)D1Ao*7#WZ>w0=9|3Doz{E`DyDyw1GUHI0N%4qL#CTS|E@$g +puqZdK_bX*Gf<)5%epgaxZa{i(dPLO;ZSw_LYAEa-IN8RV$(Tpp9O&^MLlY;qjSaV9T(B51lzU-OkP* +k{pM6Hm3z=-p;NVBnS67{r+!^4KPjQNz#0NRfo_iSUbW(Lv&Us?lGMliC*kMNQ7`#ErfY2U+CO2fC;r +3nrQD1mZODU|)uB@yj5Xvr+ccJrHNi5i;r+@#i%h#*ZRNNYsbIA2BIp-djI +UhaF+Q^ti`mdnaj82R{PM*d}^Q%2RqM(Cje#pn7?BdF@Q&w;|#$AcIj@#NsXK0py=rVJ$%a_dyH{x(XWxHhxg2PV(#G84hvd;f_!2s +fF8m`-gPP7w{PEJbX-C|9!wn5uW<=g}VbViV&8qDN&k;`?tEhgC^3s^I$OfVo-5&Y`;olYlpeHoCWm9 +rCvGDuH4gka;4d{YGPUS3`#p=G)%DEC(=SS>lM;Yg_}an&ZB^wCv+neg5Q#zP(hIAEE5-|CYf1-l>-Y7C=!^&$V&opj`& +}F-`cKTt{2s&>O+A(dF2$SB}q@@5;sHR+g$Q+XW}(joG3CQ?+|sHO;mj1i~L8{vCcDhl%n^{#wCkjxn +bwo*b(aQ_H8^eqL5G&HX~+uybr?QYKv?ol6C$N@0Q>eUBqN;6-&4SbFgOl +NtQCd6Q)dgKgn)x*6YNQQca8IsB3X_S2&C~#P=9!OAjP4I>;r95+bWn;vi^YV3J99k^2zoS)M2qY`2D +JS)$NQPuFS9@I>Vw^*F-d>h0=oTh&hSxsQGwFkbf-fkfd89C*T)?ZMXa}6s-K3FD-*W2yFd?GyfK!P$ +q;X-43NO}MYT!5k*D0kBBm89aVAhs&6ZVYFfO8`&?wJdbhA8Zmr=qUB@N}Gs)DJLi9q46lGJ2d=1W!s +1MqsX?CIGxuuB`rZ#x$%+F&94B;|;hfD3?447HICc)MweiX(Qz&X_%Wq>*M1~e5Y)tN8N%a*}vr)7X# +r)Z#~#~7A7TqN=HHq`lfOi4wF=alK;4bj7%|fHcw1-V|qN&-5=T8q+NT$iCc~zo(#JOX-+1c-YN|Agm +9Ob36d?&IZ>hCTt1X+=%^{MO-EdN0P0Yc?T)0Hyh%_w*F2!fStmrqaH?L;Srd@QTXQNo{%z2MHw8uweWqHC0;zV +C|bkav@xUY3+_>6QL{Uc`pK9F=Z{b1gah3gLk^`t#KQPd+dP8K{yCVdj$KvL9DqZ%1=&BP6LzA_9W&! +oPD8WR_7f+%@*u+mXdfGUM2nQIp+^o*zDmk?nM%i}Y{^4I}6u1BuBh$}-4qvU~dz1E={$wEHX^<| +LbqZxxTvqlnpmQ&VH_m*dR4Dpp+Dr2(p@(obxbc{RcEYdr?wmBs8AAs&1G`1xp6$mp3}%lrgiy7u^&t +J7$K>uZE^Mx>SaEo%w`mT>OzYx0$dVnoc)6$2XaU;_8fd&2qyL$SJ)wt=eEots0zseLuz!=p^FBT#|9 +JdoKb{{io3n$;He6px$cy9M_mYkjfB&KyWX20y3CQ;;Tv7*8yUEwD~B1JANO1O8~|^xwoX2Vwla4@Tj +7q>G%q%tTJnhfwG_(ozh8djoi!Jw4oVZ86wz_zA06h4J3i!Zbb>@8aNrNlUHfA9p6%EXpMmuHl;lM(^ +c9*syMA>Laq@%=uVDR<7r;u!0Pco7(4BYmM-VDx5jb7&zKs$( +*qkJJwp^br%4zoa#dAJWG0%V?v2ycds$+fXh5{3|6OtfCvp}3szO(*|Jzhd5nv0K}UuuwI+<`q?)pbi +~67U%!Nv;YZ(yaWcwKhluV@hG(Jg&%pN%`YYYrEKphd6p5mgElY;F(zG1xKV^G_?hpCKXqk5bG#L`UA-RbZ8^Zn`fPn<6A$S_1(vR2i83er$Pewcdrf>7{qfPPx(;0Unk +-PprUp*GwI1Qn+4O75wfTY$o(@>^gDpZWaQ%oNCMHH)8w3xWyX|j?pPUY0bOjCI2kRxUHG-ly^$!2OR +?YL!((091U#*yx6deMG3R|i!#QC8R;iAPO2RZOqW=aHPl;Um8iu6-E +no~ZCNur|gqsU;}{)`o*pNa-Y@8*GouLa6FRcveHFvpYW;m1Dx`{;!Jd~$*trlW|I@P^|Z<`K&hTZ=} +gzXcX>0o?<5!hJd!d`73y6ZosUN~a(JTrcu{|k4(nP^ut18YMJ=RC*H}();PW=2Z68X?iwZ +pwivNiG1#>Gaw!zskE=6R9{RihEPc}B(?QzYZPr9r?Q(p9lNGO}AaV1T#rfu0H0vNC7~XpWB`jssf{v +0<8s!QX@p{$PEd;1vFr!y*4&S>=mVQcWXSSzeD5?WQ0mypavdo8}bLhGpUh?uj`#!v~SCcOnCxZLy8L +n{6i&PR@$0XH~fr-aiO3#CCAEk+kt15_{b0zc=qa;ca9yTU>LDVq?c~<9Oo0M$D7yzaXK0ix^E3H|IF +^0|wHGS@m0hW?OoY!(fojuPF+5ju9|e{RZ{NN|(@YOvK_KYa;dyryt!CALFG1*M%f +HK)DVdonAPJ{MC0RwM<>?8>Y+@#8^5om;b*ppxlnNh$n5N%gi!ucDGa>0-GQ!3WeummX&`n@zRjCLs} +ZQMgy?=wWr755Q4NLo5uiKv#sdrgO+?_jTL%-By87r{?+7A>wljY%T2UbY%44jaB_1X!?sddV({+ut! +`B=EpwJVE<2}lbaMO=6x=tHqKk&tikVQ;Y!E{n7>=h?A&VDfhP{mfY*uABwu=t+N@bnP}q6RCi9)J4i +gkt*0@2=uxyC9~*U1dzii3_08(NKaKHmVMkmG8F{1y*I3(rg!WL^c;(fu3|v1~NgoDp=>}Aa=7;Lzk;73)3y0}Gx671{i9+)z%cx{LC>Quv6$u +r|E@p<=wRBn}_bl-;mb+ojXF(o+4e)PkK1-Ix3KFd1e*05^Vx@_NApB7O+-NQ@GH;%1nHg#Aik{U#wd|@2^U-N0Zu!MKW +8ROwFhDc|`($E~)O8#Y!m%ltnw4lqbBxn%(kky;v2jl{@ez(r!5rX@H{D^+M?dNLy4^tk;sDymSk;5e +HXhwQ`$g)A)JhXZ7ojtC1-4RPP$6_{QL!Wu&lIAUKA%Ub^$?MRbCR!XbB@&Fbmlhn4GCImc1b3YvxMG +A{n9e#*8!#I`>;M80AeZd3t?Q6XX|;qKE{y3%Q~zLNg|t +Ey(3_0>I^^1Z!Y)5Fwbu2SVXU^zE3Dfy)yb&6H1ttOv4KG`m$mFRn$=*46lJv});dQ|u@PLkd)-aR3! +pVxXp>-1#~!ahc{?d5g=fURYbBsXyn&x_IF~AH~RO5+48_OvK`i@OMII#mKsSitKIQjA0j<3eY^qT{y +5tbJo|!?3$qV#MI^J7*a^}g_SMTmDl+S@5_fKmNupIM2{OxYG}?ntf2gVWMi25ln_#jlmXarGG)_cSL5-z@A<;6rH7}ZnWU;f4@g8l%iDQ6hyBUoAJY1a-XZuR`P^dFyNBI29 +&*SU}33ZAL!V9&IH-iQZIgaqWSWP$w$+S>B5CbIt<1as_qMv{HnIdBXToJHv(gOO0w2Rt7M=+mKbu5a +<0^&frZwA=4;yz1aIhr@&ak;K$Y>k_gb8YGs6SV|yOjo)8Fj-S3(2?v>FptRy16>Y8bl4v$-yQwACrj +{|mr!GXNee#0lp?^xkf(02j%>@K=Pm>+6CF+RpnEFm->o`>t_il^!b$di-2rqk-Tu#ALc{(G4nG-1EL +d0EhXa>0s9yO1J5r!C!}A-mQ*x2?n*r!9#hi;2XD{{|4zG9A6q41DE=yF}f8;Z}(Q*13uY-~y6cVRh5 +KW9oK?~0(OW-+j4tWGpE8B}@i8~IN*>r3|GbnX{Cqm5Phpx%65zMD)$>wA-rmS4Hx1>ERs)6r(VLlxT +MhgFr*m+du*m4A;7>bGdj+X-7OIKZvb#IRNIF0A7LoJ7pcDQ2d@SKZfLbedRHeBm207X?P|Drx_rvk?7!|4~xW;3+eWvcbRbv6R4j>=$I+XQC*-NZ!Z@NAcVU4Bn~8ED;$ku>8l8sTg +a^{jO}#X}v7*zIumTU?xxBaVOI3S4cv%hL560L4cu&{*zM)79U`^WM-i|Hs#J5#X)V#o51(x8R2gFI-H8batEWWDsv9evsGT1|>K=sv@l3cDtfU5;oy9&Vdzf|HQ9?`2Qw>NUA7l}*bo5NQ0s +F@uZ6Qd|}|qiR`Tq|50=VO)Jl+Z_R=b5yYeG=}nIL~U$Gi2`H0fyHp1 +ny}FeL9osC$kl3Pss1CvL9Xn_dLUCRAl;`Y(FDh`He!l-jf6kneXwz1(h7}y`Tg8(5ijw*YCWjmihpF +;zNOodnobr5o_~#d}F0Qry3mwMzHqaP|x}*z}@)90N)O5a7t%`X`kp-An_b!DT&rZHH8#0435nWB(2? +XQVKC)3naN3k`YNixjlq&K2u?CYlRL7jVXmNFUDM8)WbcvB&l;;-|&~&EK&6wB?Y|T3>rZxG$dA%es; +T<{vJUxXyjvAQ?{y#l+hbM-SPX%IvE<+vZ?CI$k&`9g3SP-IKI#{jg1^Jsg1J08Av3g))@QSTb;{^dX +Krl`$BbmvRY@@~MjLh(#XNo#ThZhUPSas;!CFpMBW-UOoBMFs?I`jTff4D0O%C^sEv&o`92RYWNeyh=RwN$RAjdnEG{;B*oI)7-x +Ji?_bZIkeFTNCi7@NsY*72<{-4q4-5Ng+SQA1)O4n1y1l9gZw|8gqRxT#Y~&jahrT6e7bX!MM5;9fB7 +uoKFGzq)%%ODb4V*HYyHFd0-*n^PSXPQrUAukkv!e7?J6^#O!}2e1A9Y`iSYY8MIHDLDQS4IMmP8ju; +);L@6G^Pv6qo2fH1&hPY>HMAWI}h!8Cq$(AkO=bXm3gU=1_IBb(UnTPOpNHF$!-$_*Ht$LoYavyd*h- +--ZU<_}b1L7l|BTxr~}pUCtK#skTaNq^!%GaiBC-Cs{MC*|XCE#n9UnMKlO*ZGYU$j$ln+Sqd0j$tZ= +na2Z=Jm%m{L9EfgH{_=-Dy;3HVP@QFW +(ul>#1OlDy!qK$8$7EH#xnWmu`05M8O}HsKzV^WkjA$ASR0+b-oG#X2Bi~qlVid@M1kNkag=Qsq`xKEe7qk>!Mpeb%07I_PszK((1%l;;}80STs*ikX}%D7(5S5e;TD3L1&2LK;*k06SMT9LYjqLapQC8g1oHZa-GVrIC?tMqaQlr1JJjD-viftd4 +JMeD~d`PFDm%)kE^XO0Q=}5JD!`E^Nw{6~23i6X+iG)`Iu8O5`v00k?LNu%oqt{DtC@D|qzAs*g& +zG8Zk+^pN4HKfaKV9Eb)pF|B{z01PB(>n(5iV0kzSwE7+uI{Koi>?z!TDl@nsZ>1MIlvJF2^Bb~zwM> +LP<&8E2BUB;T0h&|Kq@x}wM{g(7|z^767_B_-eI+^5#79FE^B=+1qN*9=EqF}AvmKhZV3e +!P?|Y_x``#y}U`80n)1^nzt-*vxJvD1Zl&ezik}!OYk7{OZEjBpib7R7NQ&XsR#kp`4Q3Ou-`02Ig>FVeTr8U}DS*7Uh)SX~$65kQ?IvpJ|RC^>k3f#$kY>8hl|97;<57IHTPLJSBu(-y +6CHMy?na?;p*aG*&H0SS-thBI){4nq>fSM8V}k0KyjNN#Yarxc=wHFPJ;c*rx1#Q_hfqb+RqbM}R%Sd +A;06-O^5?YVU(rf?;Ifq**GLO}BBpno|jFs1VtLLGgs&q~a@tCP)Mt;*I!R^&Tbho@xByeQ_am>v^d> +pr9KG8}bf61An(u7fy>-zDz1QFr0yjJTOk|C|keMFRR%2q>XDwbBeb;=corxh0aD$j0-|8wIUnr$ +K-ao^KeEjvA?gh%9PhA``?j<5hx6V$O+csE?SEvN#uHAh+C5ppJ;xp9E8;GLsd9|J<4HTiM10@`KX8H +{IKdB`;0I3d11I=_6a3%F2^!7TC*7K@=U%k3=Rv5l=YL3?vgf-7DSMwhjM)}38}q#RujOH={SOSx2L^ +_b;XjpoA>8}#&bpM8WLaEvh4go_GbYuXh1PErvKOz*dffnKzpCo1D9`il{7-(Bm*ktlTo4~=Y-!Dl`` +8pXeq3!%VoPvk(m=$Tc%A-)0Z%6VgnQUrb6j*O;u@jYrqn)sOGXX}JH6G-NTt;F+lWoUyP2j46vatR6 +2*fM_0&Mg8*_%|NYb_&zldrlMdYpu`qg)e67jzEs-@pup1xPjSuWbxb;4;8wSV+cH;xP +@!r`DHi!GIsAe^i3^KBwF4=P09DL?*hj%8Xrw$)&ib=AK==ApjYxU_6?$av6`3Gx^Uxh6&>zy!cmJ({ +c_(+%M09w8U@3A%a(iy<}rMN3zIeMbIb8f>bbB}`VAaY?x;5@nRn`U^Nn9yB*-)ynXCzl;Z0m+>6v5A +w+Hl5U_?$qU~p1`g~zj)g*bjxnG7=|X&4q-)%wCur78*v*4%h(rXthubd4=L@Q&@ue&CeE{+#-`Gebq +udwb-G>njGyR|UC9$~Y(KC_gG0j-%L`fM6YyLR$fdQZLAqNvGeMzY*(26 +eZlqdCIK6FJO5eg%q7CSESKZSYogWTX#1J4QvN6u2<$X4)2q#(`6ry9UO756ffWnSFz;?4lj^;f&whC +J7VMj!s$ +)A4lZpSAj_cwMZb#iFMwg#!M(b-Ae2mi0p3{;Y0Wo@$Dj!SV=-2oi?xvLJ{4FkxBbQ9oyy) +Jj4G!-OQI&Y$^_J1}qW1zusyjbP)M7jEyFC%iA~HZGwa?sTyy*$y9|jl68pqy0b32sQGYU{4Y8 +%h6x6y3uRQPcg30yw0T!l@z$z~ZOvyt0}U}YX6Co%R{6_fBNvZ+uxrlefSH-c#mZK!xsHRw&*6h$DI87(~HMXzMnk(`3W}L>;2z7oWN{dEiv8>R +>G*JunIN-Xz+@nz3?^r^rBqM$XoP`JTpwdxRa-o(ZtYNOAgIU7zC0z~AFvsq4owF*qEEmVb@GAx(`gisFRb%LYdmWkrT8r$^1HScYIjVuO>aj#-<4YXc +6BK-jrE1%k?P9&lMsdDzq?nn}bAoW^VhY|6BS-7Rss3IQWz;rQfqj3eZkgi#I53z^8H=Hvv5DzUyA!h +yF@;37stp>n1sg@uG$%>7q_Bl1R#_wlCW|HPNF^X@!-|PI+GCKxYf)IBinSy}j+E3W>SnEj>DPkCo)M +iQ>(Y66|1v+&FgZgX})Sx^LB;)(CQ_$L4Gb|D^k}37kOCLnYwGI&V^WQ4egz +kix^UZEb<b#hV9nz9^olFX28UJwSI{#Kz$7M5Nia7`_rX|yH(MtR?dXJN7K-_`9{z!8)Twj};yaiixizNwuqU +d<0m|x1b7EuSzUfgMBL{i*IM`zzYpsr0Tz^j8Pd60@o47OA}H_6)&M*MRtmMDygBmAItlt02Ris8Qw{ +TOgQ=NKktZ~@`MIpPCFKOCmhPXd%+5EQv>ylWE-F{qK#JO>>JGCg&j&<=D55M=^@)ZQ&nLU +zY$v7J;rag@!x;E4B{bhij&@j80d^#Xa5*^K(~l6f6(6Xp#QHDk8WK|OZD~a^!a;#MDmX!bng!X-Zlp +}ajbjkTxmUB#xoOez2+{{M&&F4s^?W=>u)E?Ft11sqF~Pkn$2oo6*f +K3z`Vo<@*TrLVqqX$3DPK|8Iu9P%+%i{5VonAFPB&oFQ3EJl_ET`cS%U+2_A2i@|?->+a*31>@n54Q_ +|fQnZ148rh!wwu|%pZo2B`6yGw@V*I^uS&d$t3V_f><(s6msP(rRSKNs~ctVU5fv6PL}*&HW8QU0X#$ +?UTS1Y+c2%of9o@KoPQVCTIbk<|v)AJe%MUKeuxemfV=6fG7v@Jc>rew)|*ud|M)!*zGN=`yL5x&>2l +viN_T>iQMg@4r<%oPXQXvuA=DM>*D85m~1`)LYwK>64}?QZFMpaU=GgF|A4lF5yWqY(mluciLvd~_Wf +zm&P@KpWJ10>&$Dc+OAu1=>nMbf9){UsSdG4qc#l7bIsjWOd^umIQ)-*=>dAJ( +F_h8k@cuiQ)xSL@3;0sOW1UA^WMUgk}hbhi2?N6!I~8-R_ci5e}?HKBd&C$Z%>_3?ZoOi+Ay{@u3p3U +`G$UZl1(c+C-R70+l>~2%O +Xi2h3GPb)SK6)FN3zAqR%8RF47djMxHdn>XaXu(khdpki|(Nk-|Yyq*d`F;|hyz7E^6kK@dKuwAH@ol +0hC!k36r>Bx}jP#u<(a4jU92!>=O9!>7xRM<%iM)c3SF3!J)REi1U66|;d4k5>WOv%L0&~4{z#u5h8u +_DrU_>9C==6o0mldGx+ep?&kMQfNh`jfX*qOGa3~ByL3on;c@P5$h(^DE1uHRL`+Nt|YIPW_zf?ybQ& +ES@fon2S%z5#&V$2njRR;%Opn!{?9nG4-VI0v937dh}nnCN;#L5e`agsQ1kkcs1k&_Sr4SCT%fk&KT) +4IJ@BeTC}vk$QXo=xd-;mjE_c_mM`U#4oEI>nM +>g?r?vJYB432!#4Yz5(Rdjj~&VP61a{mY>zH3;KP9&LVjeyIb2uW5(5X(PW&gV+VomJrbXd3C($f^L~ +)=&X;;&HR>6utD@4#%HgwgTX=UsuUT77PQGrcr)ZoMaJ)*ys?`kIIsTiP#>k?HyK@3@&`5v{@JDeo3WdvPQgc%M1{1aqKj`s!g*7K@p=A+SPQlw2#FjPEwB%&mFw{zoKmQ^ni_LP5F4P|l@pKD%==ZO;() +KPJ`L+p?Olgnhac=(F0Q%CJx(mciSzq)At|6&!r|V#1eBf!~dK=XRocm}GKs0#q4P$^(5KWgmyRc*$! +O%SpfqP1nf0DUm+=@5n6V$(R~NHLceawE_y@F5%N&cV(#ADhx*gVoz3FmTkHRI-*5*$h~2Av+!b4xAs +OM<}d52Vte3J*9Vvy7MYLB%@SCmVMdO4Wn;Kd#|mPHm#Z3)6YWu!>lV4A68KsiZJ*~;9S*&-b-8HE3i +YXNudilO$J-&+*VsvrV_D09~?3bg-PtSgP_RHj#XD@!4{P_6aCO90qBi;#V5X?4xEtypqH+y;36 +;lqvrNK}t1>5Zyiy6)+xo!e6vQVy7AkJ1m{c9^f`B>$-###`E{CIpJ)ud0K^Xn#Goz^_Eat@E3XwUj_<7wPWY +^U0jX70svyDPqe%`hB$OE3)0-Hbzrn79?hLdvc?^832921NZWnR_47u6)X_T=rHfM$t7;$=V+_AO0Fl +yw@*`|j8T=1O{UKoO`=;j~(-bkvkQD=HJ@tbTPhLDPcUiuptDEQPH8M6#8`DjZm$fkYEu$*7~GDA~e% +#|Tm*Q_5!K0_3p|DaMqq%+$dOP?Q@ewWzZUboKcy5w@_U<0EMP=)|MGPm5_ShQqka(F(j##*-uF@yL_ +kUUZ`{&kjmjMPnEF0V$nG>r#4q{#nvme0QJ!6w3LM(UDV84tkTLUL*!l1dAHkyqO(%q?f?YHz}O;DK2 +966gDuKpwEg0-oDdH6vvaJ6SD&JBPPeG7!<;E02sg9-{@8n>X0YvrmZiF)sOf-VO}<4yVdZyvv2L3Bn +-sFjofu|jA1SG=-V8rLJ)@~+4q4hpR$sB`(aqjeTPw?LC1hEc)P}8d#`LlY~Ai^f5;R(!_1{3XPlmTO +`uMX1-HyZL@a%ofRFB~zOvw0hic>jj3kM{9_<9mJ`iI=ZqrR~(YVt>Weu=9(DMWw#cUw;rrA`ec`koP +{UCrhdJhECUMnQq@Q6tSr%kHPAdM{D|)K_d{$K57b;kQ}iMf +7Z#VmL&`{g@!9xIMGnL;z&fLt$Veb!L@YB6!vp`#S{BBHq$;6pvq&^5#`QIqmatM<0P{xQ=LQ&u#SHf +#OW#tLC1!6QQv8J5fH^Do`VMlBnb3GF0&&q-q4nhIN8R$-W^&NnIj^qF3T3rK_~l8!Aui%5-QTYLIGH +#OrO*^b6n0#ln7L)Hhrun(h5hEG%!IPO7zB48 +jb{MXJ&r?M=?kVnoxTk2H$o-Lky33|+gP}OYm2e*DAvow@Homcw{%(yMzZ9u43>2;bwZWruxm=VI{8` +%RU<$Mvpq$wS0eWou-nhxPtO*$?P*l}ATn__}t~oD?#j>Fo!>EcpTc0;ZM%rZcbh=)#enLaQ?u&|2=~ +XfB4l6;NQzMt+F|wm(h!R^pNtv^23ghfu(gnSvtt!Y^Q;5bDX|$P_fH2b;!C{=ch_r=g^Aed(0nV>#B +q~AdYD>$%{9*@M-mW%*e-FFF*ba*_z$ptzO_UA%0J9@^eG%aFz3kcWaFmg;%Dq +zwz5mWdvjpqRX+Yt}nAe{qUHloy$U9^q>hiwBR9ic}3G21`_Xb7@+ry(=N~)hH-{J|3QEDg>0?j2eaU +XkcS+g6=~Hrmq%oJT30Kyb+DqbZPE921?QVnc$tCqV3m!5uc3*cpFJAr&0I1MCHk0T|}ME-SZcwX&TN +&c}_8;xd#U7e7z!}Y`rx0Uei}@$S)I@n?^)8ggc+lS;;O!n44$|23N|PIV;ly_-Dp}%XwKeL?CcaG0A +E5Sxea~^4CU@5{N~1K6aIc6t)CJPPWs?Z{8_D#P2how^p{bdyuUZjn1=P1t+0OQAjrirhAq=Qy36DX? +S{1PsvwW-Zp_eY0myXKYX;K9B1uVJX%4v4c-%33ZfqVn~(jU_x+y+6RfWM=Ow2i@ig^+XPiGlP5V=a0 +P@&}=#a?X*Si88OmXZuBID`G$GMXqg}Yp`C!sY71hBLMeQBsaq8_9T?&m$eDwneUb$L`H;aP4r%Ar}O +xQJN@C}Y0Hh1}et&7J)bn!837baT9vqp=gH#HUI5gyRwdxyfo)`g%E#nGX;0j66wgP}x30^Z7=^c|)X-R?PC<}T$r>2Q>(7w|2j +{gB6rN*1nX-e)mBF#3zC-^>19a314kf!4AhUCzomk*QX(NeTPG1Sm-XwT6`t<;ei=bgh_tmDAQ;kmC< +?JsdbF>2al<=#zsSDFV>3)Sa`FegPAPq##8j@Y78vJSb@_NgHAAMmq5GhtLK5gb3<&G3sD?W|GK;CpC +VvI2^o>yL2!6dBw)BS0$$R=IB>~LzhKP=6s%#L)>x_keEL76~69 +*En={qwnQ_=jBf!GcV%k6xHXK7|Wh!gl4)!n;c!XJVKZYFkE?&NyOAnr8rQYV=F)ZW`oqET8YCAN|dz +pAST6jsFYy;kmZ(sGx4BPz&@ZvPoASRlHFspyb$Fu&a2(Ov8{G5oWdW2;@(6-LWkqM@kdznr1PxxHw> +NPwAjO9LS6-0-n>qC9}d4-ooQ4hOXavf+E?JbP85T4`=fnxI)cea}&$Z-cRw)gF4yBtijtkV~?#y$>V +3kFZ-2b||i)0dJH7%k^qmqj?B*8uNCd`Uys8A}H!8O-;?3Gr9}8DqK1a%sBL^IH82FE8kJ}3Gugpf2`@knQ$>etb +=2&!dy1lfD&9{mQ%b!0*GO99n8y#6JM1eLUI^sBRHeJKX1g`85_GS8!|=ih~~=^QACdTX};JdP09VZo +ITHO7NKE5nUJIg!%RI*WzToE>J4#wVJT+C^}E~Y!OlI!PvL@)#BI5vc@V2aGOwvIQHehtCT5aD3`}0< +D2e0ia5}b6MMoSPMxDd#c**F*sk6cnnAuiws+Pkzh(xu%oV2ee;@XMvCN2j$22Buu#q!>f{Mcw3!eRr! +Y0)Dk#p((^OC=uOSnhL`o(LZj;wL&;UP(My5OMYr$jN`M2rqt=&&=g%0fi;`(9G%Z{>|W&qP+gOebTo +1R~Z;;!Ph?KuTSw$1P#b|JD>Sn3EzW<HK?89O3;V|%~Z+OBQzaduIjdi4KT?Y6MUO)@X#Ymz-!~M`HC~5RUFcB8_y3_VEvtDITI%{U1_Zf#6?mcCeGtzey$i&-%~qkLRxgrrPKRTAl-@>*=e2ZSO%K_@^ERif%jp2V#36KpI#hY?kpRe-e1)<;!d0#J!Phi%V=>6bml +>JaP?eR-=BpuSS;Io$#?3?B|Fh^;F4aHij)&#pD%t@wQ=vu5a%c`P-su;fQ7G88W4w(sy^+fMxx93~tX?sZCkge +<=dEw#$l<9AU6@K~>+R%?a+3#k=)2JP-viZRdR_Yg>lk$>E(t(lO+{cUj)r|;uUiZ7-2mbs5k&BK(C>-bCW3{+zXu0*$;cN`kf& +97L4Plaojga+=!aYx~VXssoqPpAXoBr-WgU33A&oD$`e@g9Z?wuwTa>{+=e+YMVmVN@A=iFN8Ap0c9F +Mz%mGbm@jqi#N+fIW5_Axsk-Y9Jh=zmOmVcn;jIm$QSbmSM}-@m%wNMUm&obsY{P2&UijUM|{qzH$fk +5JcTjL3xIxrzh{~2Sz{}ILY0;I85_?fYHYis{X|ek&E{b|!y&JHnZGI~)n#jwFfp^yj6{=cyQh~Kmby!(nD4pL8w!oZ&M?i@iRmYjxb)^whyUOc7t3r63p2{h&Ll5v^;Bknt;%m(-g{GgQ^EwK76A=Hxnf*RA_phy +a43_eXb0DQ7d5(1q?m69_`5d;{Tt8!eBw5hiqxg$58u@X-!rliWf)~uXt-oVKDC2k$*8nf4zc}=qk;0 +<H?u^5 +09C%>pBI=4~Qve6qXPm6O5#E_{!vf9;3bF}xvSY>?U!KRDmKn<=bGS|=+r@0Ux>PSl`bR$SGN^iW={- +Eeo_`>C!T7)i!ahfGc&*XGTRX~5<^Q4uiTY83|rX;%=}{ibh1$a!j#{a0x5L}q0 +${vtDFOWnO#UP9^A8Ip5q)f7B<1yf5b;5@;F1^=}Lm2pf3VZw?@5}ij>01a;FzLwu1ySjjjsFVaR*X~kx5`DvqgAq(gtkX- +DbCTTz4LOJ<8OKbYCDz&oOY>GaD=%CCKe9v0wh}sVL_?4#k9mBJKq}lW6F2ttZ*WN7&&knD>n4HoJxa +Vx>~RA(*85k^XGAZM)}B$Qb0`3E(9r)*%s|qv0+$pX~2%7p?A5kZ|OEypdn#=;u_dP&}WZmKzgtb?XT +k5~cCVR9DagXhFSrly(w#b$`q$))_@?utDJ)%1uVJz=T_|Dd%p1my;5s$2qQgHVAH00JVbS4uo5F1w` +dNGJ@OtcS~sYTalq~3j~OHyV)WQd26Zd8_|Q4Ns0_6qS!tk3_$>fyByZ`j0(MClR4cznKD$86h;mo1Y +#YW|Ly^4=0?CO>xAx#Y+tVGNl^iDE1CgIA+FOR+-;NXjE$1&!bn>B2H+xA+EJ2sX-C^b+c^hl;Mg}lD +va~lDEm0+H7Y3^XGT?kS4gh8+fp~Oi2Uqwxu`cqF>w7zWn8zhq{BBR`m}w)$>16t*08O^woR+uI-kBN +0tMR> +zoBACR9x`|=o$WkPNzr7eCfVT~=4J^b(nQ8mywu|t&&O_GJciS2L0$=M`MS{aX~NUw8~{6~?7-9q;{d +v4z7@WCb38DUj3I|$6X9Ib<=*h5(~e7qxWy|_QV}Es5bHxs-X-Yh@`U1~!FRO*4LRl$1CGb5dNtc-)~ +o__O|~8Fy=xX9y?Ayc=c#HW@i-junH-smW%`Ujc<#fl&0UQ`TH&}7vgffq +=XETv&4At_IbJb?#3Z*+r)ZDoAgu5gWULdqj?j+oRi_{zur0=)e^hOS8S=InGX&6c0gd1)0wL5;*GlM +@Vo={xm>mzirGENFx6I~{1Ai>Gut0!J%tA(eYmZaj2G6muXgjJ7x9RC%W(#cQaQ$vuA$-*5zS%an~mx +5&O7yO(fkGU8o%Dw@ej!TFN@qM?2Xb4J}W8iqX~R3<6*r5;?^xbEj^RSfs@j(1-IhbNIE~O+Y8^#Jv! +1dqeku6jDEO|+fZeU!R7OouCxwA>>kO*&|&YB@&0GMgx>D9=!5uCkwG5$Z~Yx-Z(4XYjDE(J;Z*jX!Z +Bn}?TwmE5~{0@gIiYEB_7voS6-O^){j)I8N>W+3TXN58e>-(uS5P7aF9@N%rDd}s>DpE#{(?!_}eF}8 +m#Jn<_Fog4VY54?-DQq +glhpsZmRQqT8y)A3+P*+Zr>k`RIqA**OX`4?5*D3b+T4iE90|zR*+E_20GVJ*yYfq$}o{rEbJyZFWGY +kL-m-ge=TMuZ(dB7Hq35J|KC)9-|=4(tiS_1LKOEsJ)$$&x&5(bNki}K9Ox)+I=abRq!4tV3eE=`Qc@cr2a*muli-Tk^@FC%M9 +BhgpM9c^NRamiJ4{uY5+yiRQ3eU(M6rNTgv`EK>p_#wrL9DvvYE!Q`~D0AN5e2@8vxf-$9n|o% +L9*5AG3OF7rzn7>#+*!zWPo8fueX2hi-SN1C6TVbb_Lfh{mXwsjAOxpV#BxxO9xXxFMZdaj$~G`3g9v +5S$unUJ09Qp9_#Dk%rjDwF8i!)43CxN6YgWMVvEHS5$HNfG(&pzm;9bE`-=@9Rj>_A)}Kl>|bg+YO9t +s&6-ZqfyZoBa2LQ@2BF5Y)>h0s03Kk=7JAD8lgc2?dO*B&=*Jm_t=8UkFr4rfhbm~hIEsHd6>-;&I*r$DdZR3?*YoCvbe!6jN+NI+K;xxV3S)p@*P;F3z)X~DDE`tovPBjGXMOJmxoyxT7C*VyWpH8 +%VTTje?0*qRpm{6v(BURgYL2&v9ClX5n|i|7d|mbnJG9RnGN)dL|tX&r0$2FA}vTM=2D?<@q9?%HBuqlst(4TEWWcbh0Md(hKAU=-U7=vJsB1cx<`~suTg}sJHL@E;?euffBwl+{f0I%x;wRv;%zYy*!)O>HB +4#)j3`~=RdH*`V>YMR(wBg|(j{wis(_$;=2#SNTJx*D;M<^ZG!%vOW7`z3+&;$l0>&pg>f)V>U@+##! +GxDZmFTO(lVlN~ZWcTk#DGITv>>483=)~Qs#z_k7>Mh|?*%8gLRM5o7#GH;H^zMkQF5B=~6_HpP +(K&~^W>BW0#I4eSD+tsRQmUT5F+Ts6oJ!=!OWxutJH@)E#GD4ZzvDJxBo!%DEOi_TzKDp2kF%|B8BXv40`qz2q0nOY-7r9L(SpfXfzBi= +84uj;HZsn(aqH4R_1$pnoFw=qfvt}K)F;94+D*=YSOZw8T-bY7%1#5ZeS^2Cu~%y(x?nykjf&twH=$B +T--a+shYsWq|W*Z6~sjTOk +_-E?zcj1Gp%bqBa>Jnj}H%v8P@2N3*r?dfW&mzS_nO2BFu4oYX|mC4g-{Ph*S$z0oXn`2ZHs65~Oe~Z +!Z-$j$r=VYoBVo&dQUZVcLjk14_EB~8SgLFY1rgVz<>0qHb%M|0zD7znQgwQQ8PVU5P_->h>nn)F?F5)RLMk_x|ac=ZTVuiRF+3@;?;bC74BtH*q97^T1k7mycX;dF<$Q6CVck#OhSa%;ubvf)uF**Mi`SvG)9pR-8%dW8+Usfz?O-wbATFuCQ1gU +H^q$S9?P3!VBof08)eLu0qR_A&)6~+rW&0h)UN`X3h`DF!P>R??Ty*fmmk~L0Cl#Z#({U^y +aQOCEkIfYxvXbpGy&xHuhsq&Nhx@1fudwlTrdn=(RWg8xw)25l827955k1f$(f3S067FfLHAQ@9pY-+ +qhx)yZ(wIdx%}Q-g|)taMNZphOS03Y!5?WUz`hKEU|C)d4LSb(40rr~Tb=wNhOwOrr=DDDG +rF!*alrh;-pm?CID?drqMy?oR>j>(?r3);c?gM=dMXTxuUObR4pivfMA;eM_-tt$)~_QO*Li@StmAcF ++Ejci*|Ds-BzMbqXq-Ov>@HkxBbvguN;u2(R@>Gf*->=fi%0fl1~rVive`tzorrfhOw0n$*}CqbIW_P +$nuYHg3m{=3Rzq0a+9PzUu3(H)Q>CD6wZNeIo8G49q=`*h3tQKW0!3@I`N4*Kr3m;t}f!oT8Q@&mv~D +w^{igXOQ~ERXtfR{F%euSZn7xVW%({)(+$%No7Nn{CTrh-WrX>1_1I<8ho8jb8~1o07`jdOMAN$@bOE +uK-1GnOwfGgZW^_6D7o6nz*_?KVqUySiQ*c{Zm9iAnwXQYijt2jqkg0`Bve5n&juMZ%G~-Gd!ZD-) +)wvo#Ef4XW^l69srt~(eF4W5~YRPEcY&rWurkjVx%4R*{eX*fsShyZAbAKcQb=y89o&_lMtzHvsR=Ktl`*Ocs +8H54KcLk=0UBZcvt4oS86?zqQ^eT2HEa#>PYTSv=WaAO?=+dC^WA3oN6YJv_?k_LlR28jH~=2`m|sq2Q(HSO4yy-@STEDB{6>sBnNPs1) +#Q~%uhbjo3-Rw-Sz^!Ubf{BE*!3WL@=nA)qvv{AB*_xpJbrEtJJ5pdT0n4I1>mLkDS{naN5on)0A2P# +KFUqh?G+!_ml)TJ?Ngg>h*>jZa?Ms8NG_*>`(YyZwc4{d7Smn(*!G&Wqt|R5;XB?d-R~(6skuKa{>GD +A^bBA2Y!;OF3^7dBhns$Dc=R0JuGY==F#VVqN(mYcIkA)yE~7ubVMZFTIlIBua)lJoP1CHp=(&5v2i| +M=X-7t)g}B8uTqT7cVwRfT-Ej{;f-3RVS4yzWg@#UXX8gKpKO3r&kh%56D1})V3D~oM5`JnAS&2#sXk +krcdY(p$b76z9d5o3@RHIJcbW@!ePo%9bLt4+CTS%!sK$wNP>MurVk%GxsDc@N(nRce%hKzB +7|_=(iC?6nrNY{Q>=`u1%Cd9?EHy@kKq?sz3nLTbI3wCa`Z+z-X|hG2FlTs4Pl~%Wn%{spTc@$V5-D( +WG^&NDUs{qNg(_UP)h>@6aWAK2mk|-TUj?+f2Q03002w@000&M003}la4%nWWo~3|axZpeZe(wAE_8T +wC6G;S#2^fX_ne{^sKrmz$t+mSL8>(IByVT#Z7OWJ1u +@BwgjH<{-W}+xfx3&kZnD*Gfy3gehbf$uRZEc=^P)h>@6aWAK2mk|-TUmnEFZ@3N005){001Na003}l +a4%nWWo~3|axY_HV`yb#Z*FvQZ)`7LUukY>bYEXCaCwDMO-lnY5WUZ@7mwU}sQQ-f_T{4a6IjlK^;DJ3<|hRDHzY`jid33iGBm?`jV^Y~ +4PfakfOODyrikszoydq*VJzvy^y?$(h!MqDpDgG8CCR?JT=|Cmfdz{Y_j)s7=Vk^jc&Iz@GrGy@+b^>`AVAq;us2{QJ;D16vJIW*Cmx7eJ@a +xU$r?1n2@$Qdq~3cqC=>nNp6Usl}7BMeH}~(_Z$*^w@X|zfem91QY-O00;mBky}~$Z%<9R0ssKX1^@s +c0001RX>c!Jc4cm4Z*nhVVPj}zV{dMBa&K%eUt?`#E^v93Rb6Y_Fcf|Fuh5(q8xprG?8V?gmu78Q7Rs +8!#u!4_H;$MsX_DNo{q@sl;-rBxzc|)CI``aru9OM7zq|TA`%F8SbMY)`yVYy>t4nlo{{916NLr&Mk& +3fql1w~!No!yVX15J6O*a%|i7o}Hw=laX&XbMgJ;Hc1=s^O;i1va@jR<306HPf&NfOpN-nNvrehZPUF +qt53xRmYCn+$h$QF@Gi76u;?>mPRuJil4Yzuc~_6ORy76!;NX!)1g?_%ndg>NTRMt?HUHEqPavh6oM2 +ZF3u&``D!qy+PnU;`S?AYe(_cCjajCiEUR*u7qw5D=ZUao|C;=ksg$>0FpiCKQfL>?QH6#felii2Z4h +}S&n8O(TX$hGQ7ybV3zO*T^3-))#B5`b?zWr!Wx^TiarPKhUgpTQDx$_-qKQ2oP$JqgF5xH9TFy)ZDTC&hBa_BZ$sFgXw`P`9a5qko@ +2HzFo9yr;h6;Vu`eqqiJWB`JrM73CsM57L3lHCxNOPp+vpN5b?{}Jy#RMAn3Q~f$o=|o?brxU*?PZUx +I2aV)z6ttDegh)WCM(9k+=3G3DuSRz2}9tTZNi!5E=(;umbI12+3v#fSr3j!gxXq7NZWf#n-;j5UF_J +#^7z~t3Hw1k?fly&=O=RordV}me-xo9Q{=zM)2@gWe{zL{c2Vut&4qNDx50txfHyC9#Ry65c({6-cVP +mcQ}7D1;@T%^P?@E67ED%*nHf#l#n?^;#;M=y$0Yd&P)h>@6aWAK2mk|-TUlf90Z4ZT007e%00 +1KZ003}la4%nWWo~3|axY_HV`yb#Z*FvQZ)`7NWMOc0WpXZXd9_$=Z`(Ey{_bBvBp4-CV>qWj*!B{abQR2(U5L +J|I2zjts}#}vCo+Vv`+szaxoZwtEX&*HHH#PRWv0$zGAz!sja^24)$)2P2i)2)n5ndn6%H%w4Ihm-RG ++ms_;!4C4Q~Vald}yik3{QP>=m`w{HxM+2nVtHLX`uV2K3d$cNvW39aV1m5LIfv%2LYsJ4zZiJ*3^^ +QZ|Qjx^Falzs5k}gh4su>R>>ZlGO~2v9Kv{Gw#iotL#AlV!PbnuC2~vweWpaWXq%C?7BowPEP#$73PW +YDkTy7f@n7g|8f8caFeN>-R+slFp)qdB8)cx55jIS(yF=I;b_ynIaAI7QrrWR0126LLNXe3%dhuX$qW +~m*T<=VTkV(0O8VT(#8r#tsp}oOB^qex9l7Nex5d3kQ%1B=rCdEp>qX_9NLR +ZybC|7`0<3&h;-@MGx^|@%{}h9Jg`PTYPPu1?C5C49H6UG=onZ5Dg!Z#jbv5@vMD7tokn7)sN3x0MI$ +V`^bl0vdxdL1Tj${+7s}Chy^gLQm7PfAxvs!AWyW5e{o42Elzj!ZD-b1Heh-v%It{YLlHb-lh{eb{D- +dcs;Bvr-jp81DMiVOl>3l>`@DvLaV +4}=my=`G6?7TvkgSwM4dY;}GoZYx181yW;43{LUpNMpwg{LCc~5l>kJbqC@0RAqmcmvZW)%KiQABuEfCiB)&cRtUYwo%ggb$ +P@sYeLNP(Aa45mdo;$(D+wt&Fl9ErD|T3-gVx*);hWP)kL#3IgTmZZmz>DXCGUIqh6YXGK`yl(MQ2GT +u0=td9q>g ++j4W>?CNL9Hxk;QxiUeM(7!b1MJcrX>JGWZ6WU<8D?&4gEZwzgOXU8Y86OjfcKf)ttF>}* +m7ukKtUsPibhYv&bXho=Q^t59jRr}mCxuJ}me$f1zF1r1AW$kokjl;EC$ha#^uZU*9=xNjfDd8?yEJk +f5323QVRj+9zZA7EPfidtKK<42FF(A)$|P)JB_o;WEvpwlvjuHWj_l?BnenLAb}JyiS;P)h>@6aWAK2 +mk|-TUj1IC7{~^005u|001EX003}la4%nWWo~3|axY_HV`yb#Z*FvQZ)`7PVPj}zE^v9hRZVZ(Fbuux +R}k$b0TQDtu#15WXwz;B)-S9%Y$ygtvFSvsY#EZ=)$97-M@g|0w?Pj%%!e3~$j8U0XXX%YZ_d7tKM9E +wRW({HS9XSvHiqM)ckkg`ixe)nHmYQY>@Wmhh!jhM<7tMa6}dni!%4-{6^@UiBgPI64%lpkkh(2Ui(i +;pIJucZt~7|El32LJav35_1TH$moY&HVFu=jCH1doYo+F5ITwtMe1DQyzP$kz*k-U;+?*$qFXxl5)2q)TxU4N-NWA2g3uH{>{fL+WJsvCL7 +Og0-MQhiLu~c$n;FKGjxSm52wG2zN1A{Uj!96xH7^{ac{s@c4qJh6~rOI`%do&jYY0pku6)`*4TIs=% +b%=%#yNo{c2p+hsF%Iw}z{g5xG%;yxsaVH9)P)cJ<*_`eJ;-Dz(c-QS_W(sNwTKp7tUMpi_5WTq<3{TH&Pa_~%zT5yuE}Q +a3f!+T%!*5|%8woc1z4oKJa;SqRPr+Az-oq=5k4Y-?v{$j>b+_zJ7= +*~Ft4#c!XDjZI11Y*(%J<+FHTQFr>RDQp6cop-Q^^nI$h3wsNWDq%2eYIl +J$xM-iU%p(!L2BShEGvwa)>J`u_SqKcB5m|9p1(m-A2m?y}P?j(LEHxa^ +~!>63aTCe0n#(b(yGW}@j>m!4X60PWmg=K2h +87P;r<XeDtQt4arE~F-j#Y#0AV-wb(a$cuO6aYL=`Xmc%r}WyS-Zdxj;mDcqyLuZ>ozJq~*2R^ +XKd9&zHQ+f#H1Mm|+@eVoXpdc)?DTba-1{UC^`XYL)s4$k=Q$`RVc;mK59zvLpv(m=?~@)9KC6%a=bK ++&17lauV{5kik`5L{s>;WFRy%HvgVgbsqB@_~f$ge{KbHKxaPV?vnWoZ&8=XrV40L@GXC2Tad +AoMJcFg4rGfS**lhP*yV>)_WEDGJN5)^rzH?80g>|SYKO|YcLAwt=Q7|}0UtJnzfC~jXMnzi?Mz`oe- +pn7cCZ96@#wu?;+G(Lm0S^(4D^|O%2G~WZi}qWOV~(Xd*b6%Y%DnFPs*m^;mxaCS1!MKt>3=UZ;$oc? +{1O8K@4Xzl7~|vEiu?Eh4)*e4oLIH4>+qbR&o%djj~Ft++}qfG7_(lf!zYUJ-jaMN9L_oQ5sdN)s&v# +tK{*y +%)(xaeooI_QogrnUrj-H!kHL=9qn^#;HUPr-WG~ZKf>p)`Ahf=r6a*W#zmECJydwfIKLUv9(PH6(D|? +OFw!r^1dWXRNjU*%CAo8JRCm5nME0SptmoBsP5&mitfed_tWx|%CzWsE0f$|d+985B3W9e@=yW@NEcD +R7hR+{pU&^mkpLr{|hBq^U7o<^56$&Y|pXO98TQ4prik7>MT{<_TKy21;bgB2+N_c+cTcS72=x=$pC! +tvQgM8~f3^gY%aLGK{vM;T{MYhkv9S?ASZGa0n-0ci +Gfe)JfAX>moxm{B4TjnfZzI5QPCfB#-NfYCEGJ+b)hy)8|12KL|ge6c|4xw$#-e?kgme0K(gPH?*3}=|A4~B63A15B`m#&R~s)Ywl8;862B}q!9 +O3pesfR?uFe1C9a+1b#DARoTkb5`6wY_aj?Ucf8Za2KUiHBTW7b&~rSlEMZ@W=oX*L(?4U5R4_5*`uW +d$<%^s=h((-Ootd17e>Dm;%i;`H!|#YtUO^Mc=lwqV5j#Ol0W$5HUqq9VF~2B;!?+&};1at_QH;ooms +F@j(vMG<63zQY)A>JUZdQfeL7{*wIJ{IvPfab`11+W^yLzZ9da8VI0u2P7I<##l=u<&}^F!FjGTvkjc +IeCAF}7NUIGT1b}!JfpPcla`GvDsrwC3~}BG-09WKTCOoX5nFE-x9Uh6a8>NPI6wm6l5GMoA%JMB@J; +jf*4oR--LSv#{aI0DMHjG$(7lka>+RGz-+~!J3tgvl0<+ktFR?_o{sLe_>?+fpLT+(US0p+V^@E5-)uBk@{Chu&F&g)JAs(>5aSYigO09EQxe0b +CQ5i)T6@>Yutq|!#q>_Xbd;G3jB&9(*v?5Q)chmvmpzS)z)e!f= +f%9Oe)(2Q9Ze(^KJ%9Y1Rd7!F89TU0<0yWx|Lghk$~m$h?W4Fo)+Pic_KamZISJFTGK*dbFf8&}(^e# +&Ip1|-J7Rk6&OJ$*ssHRwNtN@*a3O&~W=e`>j}HGH?)L^1DNY=vL--40XAVIVegAfa_!DcCxJ^pN@GR +5HXh$mMEi7C|MXF=9UWMGB%MqX$V#NHyiDBLCO`X?f_%ZzFVP5SPumT8+nPtri-$k_dl=PRo+q4Fy!U +{n~vg&hF^9&}T5R5moI{ttX)Q@VR{L-*>Q=IKb;K%WvIZY9am_Uo!XN90v%L4<#6*uU20RNuOv0pVg_ObWI$g)ka +r*VWdLH41^gDVzXXallM#8~S+Jj}UY>FTuZ1qd+I43d%r;TA4bK>`Wv21WoB`0nK7jKP%t#H}K&OVP#bT +f;8aSol~)m;Wkm?1^8)d>~5L8Sajc@_-x9-=r#A@MDXh%eQ +NY$PvR{{o8c0c3!h_D1xvUd_@OLKw_8|*&3`g#@rcXoFa~fjEC$SCZ2Et^@ycm?0{*os9{ +@-P6_KG_?H|?RGBsEGGC1cIeo!R2y$B_QOZROlk!r#o#x3Zjy4?m4A2){H;#mrAq8C7-zL5lk1>^5i} +Rc9GLE3siEtOyITf5(c1W!?-dDRpScyL9;z1tyV +;LE35XD@nMvj!O`v;8K4(5QaE_YHvXA+R^86M56FKj=XQA +I-*bx8(Sr>Dp3p22P9D?Mb+4>asi-J#nBxB;WBVNMTDKj2Q(!Qev>IF74>@L`u{?tyK%@6MO7a2l&rT +x6n)PqU5QZ7xM|ZcvG3X}9lS00@9>veM#q8a1ord@KnUEdU8a-y_C%jEqVjL)7_gq^AwuaD@=v%LnMu +neeaX+4B^>%08y@!q8o1n+iuWK_If-@XJTa|hAL=lH$p~s5|jvnB0>$)b8-cS=_c79lJ;wC}!WZ +EPW9+5ny?2JOXAm)C7bb@HlN>HDU6uSiJ)GvT8qL(Mq2neG@AeoEUu0@j3u+1_9bZgXch}QrRq#!$pF +=NAacVjau=VWOZVcg-zsulE{nvQNb=?Nck$d@F$DSt4UVrH{S)VW$I@INMF7{~y|qJIO=8|Qp8M~g83 +h!a3qmSD|SXV(DfwtGVCm(@JULL5R2zwD@wa@YI{!#Df53k0hcnCD7X8?cP3ypSO9Fr#xoC}Px&cMYi +h0^wTR7wLgn^V8pBL30U4vI5^UFbpJJC%NCH(ap36fKUX7djnV4xfYWXRCZ4L%IW5Y-&Z-N#sOB8)Jb +?vpsCmy@BfvNugGf*xANEz_%4gFLd7BC-?ul!Oo|~8O+C(l^Q0q`3W!vZ +HOcjpIAhsPXWd&k^ig5Zjjs!g2X#Pq7#EtAl1DNI^T8Fv=$Boz);p8SAIb3~hn9zbQ@ly^|BVh%FqR1 +Gf-Qz8A!-cN)zHY?}U(c(0;p+=4UtRkp0W3OAhQoWTB!TS~quM@cwrh6?u<7EnQ_&-zU+{E`vxZpGGA +l9G*LV{#<)FIb=q5xpLXSB&ewFYrfEgIkOg0yO0Zbq$E`;7CSW=hjts?sgGftHcfD^~$nGIm&U6f;QK +xnC&Ag-(ezAYzhcVcr5=Pu>Iz&xhg_R30UQ&%WjP;R}b3?b03rnAmw)nOP1Fk}C8!r;Ty_Gh!cu9G#z +2KMNSx|4eA_%<71L(Tq>Chbo$;*dO-Klm|Qd)T|R+qG5^2eUJjFS`vWYdSLM0g<9y6PD3*WhiQKIv>h +b^c-#=(lkTt^hjo3gVxxIBZwneY2(^j-CF_sa5i=(^8V}3?QI(O9oqn=$-3GJu6 +^U#0SV>W}y9aWJIoR=8fF3DFN-o(qZEkn@)$8t3-SSJ>9p|}KQZ@1K{H}!jKvQNIj}*+UixzDQ1_gvsP<@qrJU{&7AXV|MZ>>Kvo@teh>Rm`zOU_%6#0lcciVLI@u3GFv +v7M8$DXRH=^Dl>?%re9w5^jJl~OP5xRd~qOsbFGV7&g5+<<}Vs2;-~wbhJNYEiAAdVi{FrtZrZBb^b_ +A>V5g+U2mpd-k4`=#ooB +<%twW-{xFo|Z_|MvtzTu(+tNSCT>!YT&m~aw`abFr4471=yGyAP=Zky_Dn@|O +--j?)hDIBW^bgdgRi1pHnG2K7fs9;S&Ju4ZFfb>I;!5U9#?Mqye>NAg!^fUQg8l}6uxKyX)2RA9guLl +zSivzk4rtidVHGUi$;CS@A7H#>}UJ6Ho?EL^(@HLPP#`9vFC`**E4@aVCqMSCz*)GCVph?Sbxi#M +p*G)e^a7@nm30jCU5Ae5J+Kmk{YpCvRv1nQ#KEy5^~fMAa7is~tfmzqKaacx&vrA49AzRC}9Iut-X2v +>{2c1aEHlwlVQjdufMn^hH8*YL}MQHDQYuDiv(ryHGivRJhNwEIZdk&Z&$l5V$;d(syDoe_*&aBzPH+ +Z2bXs)5u~51L{Hih~lqR^mF4w}yqkspj}>j;q#DInUqBjdt?<=-5nZHBqr|^6!#86DQxxOGZ>BuES74X|vu{QnIS1CVe?26Bh77KDk%3eqsu=~i@yd0#1>`|N`7!!WmNLhyUsT8AiNcX30tp$_+1y +D-^1QY-O00;mBky}|XTY#7F1^@uW5C8xt0001RX>c!Jc4cm4Z*nhVVPj}zV{dMBa&K%eW@&6?cXDBHa +Ak5XaCyB~O>g5k621FZ5Xm7n##XWo?8QJ9$hgxpjcxP{ +tPgQ46(3&}Uw!aWJwCkuZT7)bv~bPNoAo9>(QBNmcQ^m|r@HqhSD&;G&WER272K=yglvg?g0b +A+(nF;*rb<@CCLAkiNknhJD7HXSbDeYZr3#C=rD7X5P@~E~OlW)}4z$y|cdLh4y8}`AIE|js+DJ@W|w +k*j{5vT&I$f~%}QKg^+l~*nh>|?^BSIXN+*edTR;(6R)4GCE8Y=m<`xiaA-^lT(=?|`6V^kxN&0NSJ) +?_Lcy03Bc`xIwW2%2ohpiS`{Y}ioUTQZ-h$cb<3mE-9!T~bTvKF8!pG# +A#olu$(F;kGpd-gi5$lUyx7r($TwH6v(rZF~Ruu$>YKQ~SHl!py5;LKP!U>|Qt=>WL6rqM6cQ|Iwr2` +$w5ENT39(=%!H!nI;9|SzV-h5*rxGg7uduD{T5&HuM=vFNWj@L#u(Y6P3w>P}^9-5Rwg)A!^1r{K^ng +E7UA&{L6Zq{&*t8Nd)*ph`p5H9kp^|B8~J8(*LKJCStBlCD8-*@L2s*Mgw`e4H0IU4oM*>f)XVSasGx +IAPHs<5+}^Xuz(*QiK9hqABfRg#apRJMtAb*ZDPXXeo9j>jVE=~xU8VSKSX(>Ivw#ZiNv&>rpH)p6M* +B~1po6tHHQD!-^rB(`#{I%+KXp5S`GhxlZorj$zuLwe1ri6@6S#A#68M}NOfVl@{w$3T?aRr$p^O5L0 +Poy4X3mDHbYV7c*;OU+{SK_xcpr`<2_f5A*r6pG6=w7y=mz*s_AmYtr#2VDi~#a(zF<2|f9sMIHQV#x +UT9;GRR!mIH_-QKF3p;_X2UpFyzoVRZw!?ubD?W!9!4q*e^b6{VRH*wz|xf{C{l_QU-MR3oN;VGuEBU +S$C87NPw^`kmHNS>h6r2#_SJ$#hnz@yuEl6BwdRMzH&!WlTNUJPx!o(dwe`>+jNg}05!#4}j?Leqr@C +8B7X%H$|^djxdA?9IyFp#-Am@y%4-O#VLT35sct-x%?S-Oj}K9x%IO-5A{-=on{ENN&aOZn3z3d|ZCH +zkC07&*763ag7tB$w?9*El^guxJtofiHf?XD1*610F>i4zBODqxq?cik-+zWFoCizkbe2|jwe8L;X0& +JE9bLFr_bxiqcGwxQUqgb@VCHgkH8C$s`Q;! +rQTMztQf&O!vgz{Zp^_v3=wCi*H`lRWiZSmaY(gc@ySRQQI5L**P`HS7+@y-(kI3Py^0)bz2iv{(x~K6`5v&kx&jT==~TxQ=ycg|FXT^QH-es|El7;t~J=CIA2caA|NaUv_0~WN&gWV_{=xWn*t{ba +HQOFKA_Ta%ppPX=8IPaCxm*TW{Mo6n^)w;2apWGh4o<#e`)*)+SA`r0p69T@eHVEm1KSO4LXyw$t^$? +~o#OandBk>KBU=&*68j-;s9E`G+@u4UQ-yuX(l+^m?i0WUYKO8IAYQp`al;#X|D5wbR-uHlNavq>>Cy +B9bZ^QzCqHkl}Di1`}`8iUm(l5X8C41qlK~lZ*?6aGG+373HaHwd}nRGm=JFxV54QDdZ!ph+a8qx9*! +g5n&1!mv=n1A|%0-dAXuYI;oh81S>7uM;TZ_wk`v8SIDYOM$>C2HvjzLFnE1@`1+5NcW?XXAl>xQ8P4 +<;fF3uW`z-`Nqa~x67u5RkLpl-aEKuh&>Kyx>Gr +x0=-k#0dtyU`{F(T`Xf+KOPi0B&2{kjvh9e(Anf6+Ve2q@NnJv8{Od{h9{D|l-DxF{cbDPMJ+Kf#G%& ++HZif|wS&e@5m+i^>TGiU&)ABaKZ}ILygX3BRtU3P;yP-qV|}6Oc7mD$f|{_If=yC1hAi^gEX1nB;;= +MMG->9KXUMg>ZBwVR0Yy7oPPSes&nFPYPlEYq#6w^~VAlMz@&J2#wckryCV!=?6K1LuDxFLf=x?l!NqI<=r{#bI1^tC=>jaMkGRtbA%b=D|eJcjNTA59#2c*rBazc9Ku#6JxWyUadACds)P ++i9KM=NXFHOFx|{}k-kvu@t0fTxtq4j9iApt!>-=Ffq>62j#G3{pehcAdu}BtuioqW(uqDoqRez5e?NP1gWnhb=8Q`g;8bPU4piH(Tb`iw3H24yK*;cu7CG_e&|C0G +{WQe7pHH)-z&U<#*l_Aj|h?+YUNWi(2AGx#ZS`fl*SuCfK?O53dwpTfl#@n)f!#pSAIdh8L-7TSBL&#>meHau +4W+A!4uCUZ4Y5cG-#2FmFRpw7&{L;1w(DonH`nBc<8xT>paNC~Vr{oRZyw<7EZM3Rhfx`vW>}ci?`osqcr^T9p+p;jFLQ7E{}Jm!|hz*>tw$mXcn(+uJYO`gZ%O8B}NZev +|4-j_ZOyua~>5}h;m$};2@! +P&>XhlNc)7=%1kf-|F{o#hK?z4yx6ij+xoSm-@4W|#>pea>BV6$a+_h#km3CAQzvwloHnh1a`RW!6n@5d+MH?p7t(Yx0j%Xs;ZMXQgtLgSZ#skPVtHBhJ +|V>;diK_29a!<<85#sSW?G@)bEksd0^Gtr|qS^yOp3f(r&sO;2YP-e?1mgjhpgQjA)b#* +YAO%-4WZaujg@t~pyRH5xN5Db4PX=OqvcNFs7e7>B!F!tW?!*Z?Bw;NpB3@lXywk;PEQbf{}dcl@J+K +kKHjbyL({4+LR=lME${N+B7hM6HOp8A1nFJmhSs#fPaphCdhLWALvRX4%g4msjS9i_`$OD)p?!XhKzC +33z2P8!W|E&6@Pl&IuNq01_4FOa+iKDwn2MzLbeG8IAh2#k9Vd)fX?T#k4Ln9gVBStS&Pf?bR0JQGHR +{w&xUleMWouetz=ZOIWoB9H4c1Wk+=)4f3L8%iSJc8dH{&Yj%s8G_Z8^?SB7L)$pHljKN(5(y^;4_D2 +K$Ec}LJolXZG+E1J5;!bRFZ|`_gb;ra0iaKQumIJiH!T5;X9-mC7&|0w(_eUuz>0yzY+rX8XVxR&8`lYRnznGq-`Ol8PZum +MM`kU^FgX@yk;Znid}f&=5gU>NmMvG<`W5^%@pGpyJp4I_@W}uejNM3AnHFF>*F;gK~|H>)gkW;`@zv +otV3ht$UAh@-z9^VlY|uA5cpJ1QY-O00;mBky}{+00002000000000X0001RX>c!Jc4cm4Z*nhVVPj} +zV{dMBa&K%eaCt6td2nT90{~D<0|XQR000O81Cd)D--|#B>(^baA|NaUv_0~WN&gWV_{ +=xWn*t{baHQOFLPybX<=+>dSxzfdCgdDZ`(Ey{_bCKQ$EBB6rr!cAix87>oB67r^% +ym%eK)vuT5i?bik&wjdi^+N>Dl<|DcC;TW{#(tp(XlqFPRTp +no;hQhU*Mgj7DjCNbCH_y`C1i)SUzsg{CIVB`G)HXFU0Xi`OxQN0{C~Y53Q0*#Ve+G_QtJGCX=*aTEk +ne1S`bv7+b4IbCq#aqBI5&W)M6HCUzs^Ib`*^(o_4>$rgFk{c0>G`=)#ecZp<-QV)$OC~Dks=P5 +Mnz?Pv!azP{*oNCY@LY*=dA0q-Z_$(W;`ts7ilRC*5d31`p3h=v0LO79v5Z&J*Dd6^^_Eb%P1;4FP+x1~R1(!EwwNQM`grusS0WLXheL65g40k>cbOf!EAlcioyQBhl=p!P(&exUMIb<1S`$L +~&ZP3{ap^lKoWE8uxx&|y{3(rq)!vyGa6GD#7;x>W}CVzyjSQx(6)9@}DYt-1kYEsx8aw`W!n@aU%o2 +3K7m`ZJB$v;2AxEdaiA7?N;&)Pi?$?Z~WA=XtP%ruCCA(AO;PLzxd)g_}KHIg$MQ}-jJ#xJUAc#rU6!-|?)&uoY6AaTP@qaw1+ +Wvl?>FwlVrMYcQ8iSDu3JL#6j7W^E{ohaqPKQ!^$FS472CB`uRSPD6v=RumzJ`*#<11h--VlD|Y(=dW +|+cD3SOorEC&olj&r5Ni|0$J0_ElXb?W&`UE(e~7CMJ-9kj=D%u1T|t|Ddd9s(duUKzbz5uK+(r8PEk!~>GbhGX+b-nl_mL-vutZAa4_Yc01f`GrJ)v2 +O15T^l=UMJ{grv_u4sWx|#?DN$Ruz-_y(r|62-tvmQ>XD> +Hb(b(n`Bhjg{ph=4W23s2QQVfK_^mvMxa{-VP)y_ekN`>bJW2&4JOYBEmrZTixt}E2A6v#un0q%nn%X +IEOmKR)0j*t|;2HQB)NIU+S6|>dm;@jrc#bO*Umv4lDr>F^6x6;#N)a2`4N81@^=rCUIFNqJnnK|WSR +y%lKTMdeB5&F)Rc|QYQ$5mNP-PGqzj{nMwfttZ=Y;oQVg?(EI{rvhD4~#;j=UkoI?uCHD=mkLtGkkuf +t6JXjEEvY2J#H^HKJMM}i@tTduKNRs+o3J@D(ia8ek!{@bofQoY8XEWC|$$xgX5#(-qW3(PJn+(d1c@ +VS^Qk7Qtdy*nxd9i%TM=eo(7jYd__rk6vMObyPc{iI^f +<9A->WqsX;BBt_*wH{tK@?{+Ld|w3fnlmPQ3W7FPmm(P~Or-E>N}M2bXr_mt&K6!vMj7lS=9`s>35$7 +t&qvXZ+YvLSM7XIbaDoqw^x<}BqSL>$g%%fCTw@^6DM^c&K1p;PR7$R<1ZK(|cI2cTEgn!323jU_TsK +|^)>Z-{c3x%dm{b|vA|2kjKSPwhTeS>I>wEr@6aWAK2mk|-TUppVe`VzX004;v001KZ003}la4%n +WWo~3|axY_HV`yb#Z*FvQZ)`7ja$#_AWpXZXd5u(EYuhjseb=uL%}WA_+ZFa=aG`UvwXBpv^3YO-QSI +wkph%u{UD~l9KgF`;k9b@BV(H#GZ=P0Pxqw)eADZt9+`>DC^z!1;^%9(+4GiM)j+QNdVc-%DgHiY<8=wChIG*R_uzI((&Dg!?q{S^kYp@!4CCX%ficOk +-Ek=Kx>La=3Mu8uiv4pu5+oTXt!GnUP=h#7DOmjRT`P`V)_iA`ZOpUJmxEk~lvr5X?y-E^v8`j?D_fFc5_Ad5R^y+M)$7f(L&==t0zjAQD2lwF_+$HbM05wH6e?gSXw +8-ESs={dRdw*VN#``8(64jt9KO3FO1k7*NNwk-f@IihfWy49=&EAaqi0dTmFyBSW@@~?>ebR2&Ht>C +m#EjL)|`iw96k0|XQR000O81Cd)suA(zd}<$S{KzI;AU&VD^V`|a}je-rk*L=}E*#Vv_%7JtU!D9ngznmmKdl%A$!d8(w$zW +%3H&jYgvka+VlKDGjOunXI+25YaBlS1@D7>IutND#K?XZOo2;#)v*FHWtjIH|2=k15>ixur-&KS;d?X +da#8s&V&gwije{)EXoNh+$NIk?JfDzuy>f^={&i=nO|Rh83hII)!EJY`#bi{56=HMyJBlmmMrI@WEdo +iNg-8?ml}AsVelf1HBR%|>k88RK4;Av3F|j*o0)dbmnNO^65WHkOEv@u{f&8<^QF3^0%jbX +S2-vwcAMs>zbd!BxKcfha4>yL`zd0;sLL9LnDtV$uD3>i>qKr~r&Z3Rk#PxXpF5$t)h(%Bb8p>aVBml +-C&ryQg2qQIHQbY~&P6AvD@R!0g$IG!ih^Nab_)%<=O`>gN!(X439pG$Tx5b|q->i>xmUvd4^L4t9Nt +&m)A4ru&vdHw$8%VB+fzR~spa;04soJ*?K0eHQ`ZJ3YRm*Wm1?R3X`RM0EjmT&4Vz_Q#3-!Oc3>A8Y+}dz_)8aH6*nF2`BePk`iIn8L1s1}$7Ki)SXC}>7$6*RWVSjS-8}Q;L2+wSH1VJb92W0pRRh)_N&E85@5~T=>% +}-8^|IT~>U$adR4E=J4H=_C`0U54C0sWee8sV$WO)#Jic|ChvkH`9w%zlO$@@8YuHgJIaJcLls7bC?BCim9U$p +v-M0xe4$i{VZPv{f!;J~Z)*fjpQ_WJPEQBYx2FHwpC&9M&ixq`Z+PfesYf*Cn)3h7{rO$44$-hn%pj| +QQ98kdp5gk|_I+itE0NpFdm`U;%bMB11(#0B79Y?LIRHB&-0Az3Xh%FHtv|k=-<{9cB?44u*d!q8=_J +vS>@vPlwP%=uKf_>m=aw{??)!`!H +7o#NKRWMQk0tK;gWzxTo9hNrUM#jK0NNI2=n1-I6X*lH}H1;V(93lE3k#i+T#T>MKRHfJ3S7Z_`gFkp +_iSSg1>$HpXg;8w#D(ZfR{`x!PqG79ok$*?wGQ+8QYb86fkl}JnGGA=#(l>T5!2^#g=#!Yw!j|BhL}p +V(zCsIsSJGsHw2FGP9GDrLaZ4z&3Stf^?%X7AJiqoCsrTFeg9#(25}+ftc8ZGC0^3ONT42tqU#I!pN_ +GnEm(|vwyJ%KYZMd91eH`E_>goknXorbU@vY8|;4+mN~cJI#I9j0tJ?P?v=FPikusan!U)B<7XlD&y~TrWTejN^lKa$@S +8w5-&@#R6GkE?Vy9(n}Iz+_t6fkaUF6L^|Hao{zr;e{N4L4W6SqX&ZT3(WTt{{qpt=4ucbj|xU=BHPd|jcLC{@S +#L-jJ}cF_Osq;M*$GilgfE)!NlpJa>o7BHY%uXRK6LG89sh~KvE%{~>G~I%{Qc%?>YZ~PP^PfPyQ{Wr +$=~hwy#J2@gwbw{=+-AU|Aj6=bID}yaZ||~!@G+3e^5&U1QY-O00;mBky}~3_4l_%0ssJN1pojp0001 +RX>c!Jc4cm4Z*nhVVPj}zV{dMBa&K%eV_{=xWpgibWn^h{Ut?ioXk{*Nd3}^oZ__Xk$KUfQj`k&yT5C ++=CDM?f6gDwU6ATH2P~;_-*21+T`?|FgAD(lZq-3Z%r~yrZMN$ud)p5})-%F2+u#qIH +9&_>p_-R=VE9HC1m#|>JrIy~uRZB<*Ru-id)?BnQii#rjsOuT92a`w5&-*>0|CPb~E!=QjQ4^jJDncY +&w1Q-yt&lpA-5?w4@bXvwak@*>E_^a?de7IZ0K-b+un0e7(x-0QTJ3*tf1g%6jw@@bYGX_Chm8ru_x-gWZfD +sUQ(I(EBGTu#v`#y6_eC|yfAqMb}8m#7w!_qZFph4 +V%D%1XeOVaA|NaUv_0~WN&gWV`Xx5X=Z6JU +teuuX>MO%E^v8Gj=>GXFbGBOp2G4emJ$z8sfTXR4I;}SDNX`toEUVn^mqh(vwb8kxL4@-#CG{!^g+>l&v-7uU$onjI!`RZ5 +-!6>wW^F|Y_^n=mbPGRL5ocF67PR7MptxBi|&RyrdfhWVi)?VL*4^T@31QY-O00;mBky}}8!${h2dIA +8Wkpuu90001RX>c!Jc4cm4Z*nhVWpZ?BW@#^DVPj=-bS`jZZOpydlB>v?C4A3QZ0o+MGW~VLJjkprm< +19@AO^ur8#4$H5+D#f{qHD-J!I_6Jg2IxJ1ru&!f|&T34E>fO@jXSH>K+yNxS*R>;EZNO&CLsHeQGS=z?zt`#;~0LjU{Q=@DL%sQ*`o?}IR@HsAi&ABX<0W%8sg0&p0oF@l0Il%jEhpHwm%{sSOctFlxi3n-JO1)COfXbg-Oe%OXF +|0gi{!h9Ng}xQX#iif@>BL!uir*aY;32{tscN#D+ZET;rE!cr7KNHW4_AZ6eS!-H_2TAqIwkqYU&P%YU3GEBZHHG% +ZC^c-9hMt&pZDLTvFoTcH^{Djb_Bdyakm$4Pb{jD#@?hNtctU&)6^XAM!}40d#8aj&tZ46%qUa=FGEr +TvsG_RM9v!?BGeig6dBY931Z%}4Ppyn20vice8s4{v=si$l}_3Na%yVDTx>tp9dEv&8b}!FJ6IG0zEx +#U|1S69<7MG(mi77j}d+feS$61R6m@_G(<(G%0%WGpoK$>RD{5N}5@Y(&!0}VeG^ww+&^cfIRnU1#bL +MWCGov^;|RAQOI7M_Tm_yLX?3OQRg(X8)f6w4$iH<1}|fw*I-E<-Y;d$GO^HDSmsZ6`J{xHV2B)R*er +`HoG`M>@g3WMH`@>b;Su=IB_c04yxOJ1@GNkx3RX8|yB6==zIH_8#L)85#Ot`8pL0Avdu6vG^}-{AcB +)xF7;eyWf=?6KMb?(xHWs|oG}yV=YaEMDn$6h}g$R!)Phsmrb)s()gUgtsTm0c%>N8z#ZxG_Pm#!&E= +ThR~=+T8-g}V}yZpaA_m8({-OL}^onIg4MM^(kEK8#|Sv`l$xUcf7;yV{5Rk@-dM^r7zH(#PdY1uPK9igH0EoE#rtYB39+zU%}oOG*_L9>Yni`eB>7%mT%T{ +x*=()%e9MJgC7iNEA{d>9m_ll(RXf=?W?d4(kk_V;4ASkg||A?fkiUHP#cj5@I?raj*q^Ry2ues`Fm>4M}|tjm0;twvI~c!(X+Z9BBqH8-ddZ +&uz=6dpy9oZ$>tnIB+$j*NXI$#z9#B81U;TIseknI?DD%s6%pM@Sh*J52IrP3zP&5gr_(_hC*4`O55b +Rq@p}t5UwEruqo6q3HC+7~fLjwwKE?;mG;+d_KJgwVTwWlMr+_4*52(@%vNqo>k0U3(sy>?o^-cAcln +9ohQ`F#Lhg1A|B%<<{futml<#dE4La)5*NE=EPHLVWRx=fknm^xd@{^Sn1z}MZ8bZ+Dcm5P1Qp9Bh0i +h9ug=9A`1GVxqf3GecrT1KYjZ*02cJW13 +3DzGeDwo9RHDgZ(8%m)Bjnzek-m~)878^Eu6l!N&1g(|5g=s(RbgfA_)KS@9Tey{{0)mFwD0f=i4t`l +K2-?{C{wHAE^7|(PNv`#iRcAn*NkTk2YEGcSzb_z?i{Fm}F2K{tA4PWIa(-7FzJGk097Gv>5RN>W};m*{B3BO +&Wu}P7Gw)hvQSH?Gf^9;%>cJ{!1-w^)KPZo#B~}`*z0a&gJ6XFaf(VvfX1{z&ne{ff@&$1QEar_v0q% +1DwWEPLQ!H0?;OaT}cL)oPi_c~gV(Km4mf22FMqS8m%Za%T7`BaP>8aEqV-i&&0?HD9^Yy(gC4}1BB(Bj-2w#Wn9cI!&zj0EaD`F1&@_ +$>E(b}jOPKD9TSE!iytS35c8`Fbwc0m-o>b|S1CG3p%Dr#3fFa^*bEkXCWSF)Bzun=k7Gr*1|J5)&^t{5R#dVm%h-}z(pxDY$rK!uqm@cU# +JhGxM*pet8D2$&g@rYTmXEMV}(ZuU63Hu4zX3ApJWomdc{OOxXmaoU+*;RDSPo@v`fMPZ4%jR|c&j$((F$hhh6IhhqS~za +RdE6Z~s4e8Bc^NB;=Z7)B5{iBMmmG{85YEE#+g5J0hR5Nbii7(nVv%rfBuYXEiu1P1`R@h?#tpkoZc9 +*l!GM6w~tO&VVK90iN?rSRXNGy+bSZU|}<0F);;6uCfj5N;53L&6&d +5P)DgQy45KPG4d?1o9WzAj~EvH#q*nZDJF}8$8@F*m7bZmqAYwoH+bzi99b7dG(3XY{s$=>noH7y3^= +J{!J#z;;5>SX^AHwF+N~hHEO8?+j$SR@k%qbQ8YfZ=1oXkwTh}Y#L`a6sIZ;@y$Q~W2VxTrTx5u9J2S +AV@XxCKh8NsRq-q>~7OX}6+CT-1xGs33CN*bBuoUF2QJHnCTpCCB@}}TF1pLXipW=lzJ_I~(1O2@P!0 +a*;xsAf4e+@V*Zbp2VkD?YG;C+H-LRp@&b4>!L|Lem2vM|*^yn28x8;3)^?isn +075x3&@$|{i$vp0^zR(o)k{Dmq#3V9ClM3`1&e8Cn$L5ogSUC$6W6UZy@19Z%*WVX(7eOSmV@j_VuB} +j22z!gnW1f5@gqFw8~6lmzuM7D=sIjx{Qz7)_0AqX$?8Jt?DH^sJ?m8-A(Z0I6KU`I*HSomlDKW{mo+a%98une$Rnvk{Kzl2w!+MdMj?$XY{x`F&| +y6#(4~U!`90Q4eZ0z-k_YI+vH{o_MQz*~FJwA!oF_^LH+C(aH<63h9vj6G0y&xQ2*iol_|8CM@l8uB8 +tW|(2R<_G&1_=A$2WKbAef2rkCqTfczw=qrV!TPB|$1H17VbOD&Q<0|*-(u1ra5VBLHPu69LtJ1GV)ew7^l_B*q6=RE`m&P|Rx`_esMK9@zZ}50g#NY)9x-kp5rp#| +(m3mo>0h;321_x&kHxaps0h-2(U7H9uaIzc)iW;RBpr*k2;!Q#-`||#_R+-?=NDn@!bb1mfw$a9|q+LS`_f_1n@hUq +Z$yt`V3BT(O|7=K%4T}2I8xC<%byW@ +>ss@=nPnbWhIK1NF%v3O-Q6z5A$(u4k(Ejl9386Z){Okl@$z$MGFJrVhj +msCYHLx6r9X^JV%NNP7umx&@)y{f(}96@K;tWfecp?1vPB8N0%7f}URI}FDk*Rrod@JWJV}_Ta|!kW! +6kRQOSrx4JYl7tWd&+OlD?47Q&m3hwuhDCEc&EK=vU^^b!h7hLS;wMjZCg913SZUrq|p9DeE!cu87;Q +fEZjT{j`Ji5x-?yPH*Qz-rtC|L#`5uq}r|40UEGExBBJUWJa-yj{&N6?+oI=K^=HRTkD?^z3rRzofTD +qEuf60UpLFo_xqg_Ua!5UW+|9*QjE;5?>C@3b1vx2O-7ae04 +etJScEk_RcB?y->_`RiG{+xv=^YU_D25<&0f3?qdElY7zpaG1vjz`MX|*@Ova072YiE0H!-t8i4BQwB0vI=5b0tEUuaFR82Uj6An*YvSZw0S +Vns-T4asa6&>#OxW}v;y;`a|`z_DM8ZR!`Xy)`ak2x;6KO#r*o$pk8N0j#LtbPwQiAOmodo#_WB?^a- +A3ux;a0Dq~O%?Qcwuqkko5TeN7%k<*d{n2s@-2|#aNMHslmi)g$%Iz@;Z$E}S@on +JE(SZ<(k+1q=Pji!MzeTbUF;?(}pV6Rwj+bY<%HAr4;i>IG)*gtU=_!|veaB1_Ot9a;V3?|rXYCiDfh +UU+wZrZ2AP=-o22Jv`mS2DLc5bU0$$v(D~#?=h4nQ^@!Mf_eroe&qRA`rP3!XZMUW_69r<@=V}*kiITf)z1y_P=%|L0ncS&S%3?lN>uzQ!Dtbh9>N +Mh~NN}iTPnVw`{FRdBC7w&kJ+$PRna}fR=~jXHSOn{U(}-OH_}eerMrE0DM}`;dslE`-xfF7s}Z~ +%dPs()d9>(Ki`qg_lIm>gB5(C9-t4OJTHYbJMbZST$QWdr=I1Boy)cOOg+}srn+xO`{ZU~{J7Lqg>`J +kWJrS;;8~z+E8AX(manLGMaPoK4Qq@R+soEMTDWjoDMfjVv)h>&w){Y!h*$~G{TXRzeLq8H4-d}=cOP +jDW~V1p^++&g7TmLVFB_*x|i2v0<)r4{N%=_f?o#C|svp#ok?1dQx(-B7W{Kdh!R@`6 +=?N`k{~XJv=M})PL~wzZPpK2I-5B<`A3H>r-mvKGUyhRhI1uk-16 +#p*~UavmTd#BGZuto7_new{`Fa9mUOIaekz^=mwkgVN+K!kw~rG=f>jsm__+H&-B0PI(?yP3*)-s5tw +<)mS@t4m&Z!FC{4TP`Ed>NA6+sUc%Uo3$;HJKT0p1w%&kyCNN&HhdNspLP8@DOc3k%H31AVVWvS>pWf +uR@KLt*yMW8lv^1>e}tLLB`&{uJ3(qD}BF{*_LABY@`!wP++u7_4P{cOp!iCF&1)A+eUoQNaW +pi1w1>~4`&IzN{*+kbWtAT**6lWD2Mby`vL!OM;u|2VDS|mYl(!d8?<80nSNYXXSL9n^I-@mb2Z0i#1 +_4FNaU&V?cQk8GZG#QgNi$Gy-lz*6jw^QhRg$|Rkq=?ii@`Jr#9GUB$38njVLRal7I +Zr)Ft}&?_!ue#kgt?~b+q!`4Xe90NsSp{-OreQ#)xH+ZgA~=^Haf7PUUZpk?3;KOrF~bq{=gw>{Jf3^ +k$XxpL&sij*1Kb{4F$71={5$NXqX@zs>zem`qoybk!?KX@zgvC9z%%a98L#eO?bkYM-Lgao)5V|HJxO +h?-g}CHLbg%o5|hg_v6-`O3zA&{Ho1hqC9r)PJj38 +|fw%jOMTAOG#9eoK%?)kn~1mm0DZ864^qItk%HqVd-y4I&IodON1w!TRt?LhdI5!4+VIU@wu6~_d?vkhxy!Kn%{11fX{-hPr!FliKY-&J(~6^#rx47{FP^!-ci)S%{KC$CWOw`moU8F +?p5<{3o;)&#W`o<$KBNx_N?gh70T9yzGf2~tr&e@CsTgJeDnCkY-L-gdrK9JezMm&%8fB+5+2aiJg?q +#=W@i0Ex2!?R9auv_K0aW-m`TBi<~oB781@74zU`tUTxyqxp3I+65|@8814>Vdmc3f?RJp2#13-ZTfZ9@-;{BS8ml7=-l +hw3Smi7pnhz&$vRP)lO9DSkZ|#!4wk9aC!{*jinmK~yKF&CKgdZ@$tvN!x +Z)1OTR$Kw9Ll)A2)D9SuO`kZ85>oakdr#pm%G9}W4|7-DyQc$!o!+BOK3K(uHI=6`%sgMw(OE +qp7+hM%rLnru(R(cS1lb>R8jDo=%4ldQ;AVhf_Hp{$(%jQx9i$xyq1|DJUCd}Xxgb&qaJkOfQ%?BwI+ +VE?psSicemJ)tF_XJ`!GUOcqC7Qv5yot +9z$0xkQ^nBUSe>?c}=Q}mZn`+&O;8|=lv7<`F7Ah9LbE&x316`Y4BOLPF4E=GnZ{gRd;>Ea7P@E0SZ7 +gGvDEJh1JtAb?lphWN{OqTfodqZFG`V_I)U1;KWAqn)$q!MkYbRk~Ei!uhU8Iy2n1dD;G%Odap1}&R^p=B>BrvFUKEEd%T^M9O +{Y5xQ*6Ew(y71vScy4H`Dl~5}xN>XF4c7Awlq$Y#W5%J5jbu8OVG|&NK$nl1k^$A0kOMkJAe$`AhmK52%Q{~1anW(5x7km&dIGR_eP}j)uMO1_!2=DAs$3(PO8943!+}NYBv{$6_N +!s;Kr&o9m6eki|kHw=tSBpv_?E)loxN0@*WpL54o&(*3{!oZiXyEkA865*(aNXTl+3OcUqwxN0oB3A| +eAtknG&m&iUa+-?6C8%Y)!U5!rXy{?hR1$!gR|lhf4f`fzC{_x$%`Lc1!fcac +?7z)lN0v^>_k)?}=I%6y^c1b%6Q7?<-yi%m!u&(LN!U+9fVl+bZdGoL`+fQG(0VQtoTpeDlM~bAw%PK +(ZP#=@;8I4_TJzYh3gZC}!ATxz203+K;B^@WZ~%K +DE=2eW1@gsS`Vcy-s@mAtv}eK_wGei$t@%IFsX19T?Pi?vn;X)FZl~ogVfrFQBnt0K!SpD1SX5NM=t- +QLjBkDcb8maueZ?WpI(7<+iz^xM3Ejq=sUo!4YcJ<-`0qdk329LNi9YV|X%#6L#xvW8zMagLoxTrFf# +P)F7dsgDqe^X&jBM7x>n$ougc~h(n9k%)L1Wu@3bF&bL>Mo%H6yt} +X7zBZwKO@#cWMJA;IIsF`z7Ej?)M3&^tnTkXy1Uz}t+6^ +fjE2_ +e4-dXw+rvfW%?>>=l7lVES)XCLYC1Y8lnS`0NLCw}ltJCui!cR`FQK~Pm)CV%h=RQMkV&D9IGvnC|>f +5)sz(Zx%{y3B*O)<4M$#P>EP+nxCL$JtW{fUrKwu*5E$;_ +i0+Q%xF}|X&gdD)>7bEG*77NEq(h>a%MMi>6fc~`$a`9h1iw}Zr*s9r4+~tn=PaW~oA@){T`=wiw=b- +GD=-MS%X?tO#&+wS@D;NonYN?O5dgWoxE9z%o13Hj(m31Wt5L9LeHID#!gGJ;@}NJvz +Q1#M(4Sr3-?=>K$Lst1Nx8hIawH>#ClbQwM7y05^uYEvn(_~Ketak<5}7)kpU?OuJ`zdVn!BD1`YlOi +TpkuRGWb4bwr7t&LOUOoWu}e`d|T>Figp;d+Lw9kj9aY0jlR>#P6P9 +p*cM9k@wA1s1S?k!WK9X`Xp9aix9K{hR)`hXLGOs@k9>~IkV>y8p# +ZTiR^k!X@|KOYautNUC(lr0rTwvM54fU!K1;L&==;BNW8G4~6c&`bzqcLbaxS>e)*6@j}x<9)elkIXx +a +0K1R3t5Yub8tI>PqmZv??91P*_b0<6yu$$WHSzp~!>+GHMwo4IG<~Y +&In(5g?cOU1{3w@h2-ona@KHBM*e*nLo5vybmD7Wc2!6$9 +P0vuTMVQDw*CXfRkA=F4U8u?oQ!(D<2LA1bo{0ekNm<>iOo#~g6Y_XXw*+PE_;I9CbNAW#|=* +!4r?(&NcbL?5np^xw$08pN@2v{*56ww3%)+E5|Da4%ddnBzm?mq%)r+gbuoVeJh%H+fep)AeO#7@6R= +ikNq!eEb@4wi^P%Zs-dA?>sAy>0a7KjQEA=$*!rC9{EmlzuJceI?tdW{~K6c=A)@>5o|E#zg7Nl%>)K +*lVEAJi>sS)QZ0ohWm${#E%dl{XGOIdkX>5$rxGP&aznN?rJ!n;X)=`DqgRw!GF%M?-sLz$=UguP?X= +R4u0Bl71c`Ub#@vebYQeNZ@VsdvNaD1h9}OFm7d~)u)6obdMB|rtpSRcoPhRAq7i$<6dEws+ +8g%b)+ZH5h|$c|d@&iD7339p`Y6S%ja-i68OLMojISx@Rw^qoKHSeTx#Zp)E?ERfObGvshWcKFI-vd# +aWtb)&!-v9*FD+-zPS^x0CWu84|-i}=c{MsM-7|^&$>04hvFn{*EK!4|f`LpK*`s#rJHx;X~<2xh +x&IW#uzk<4_sr~MF+tOkeA;N_n5J$k4EFKyo429;zp?6Sv%5j>FN`7I8fRa5SOiQG&f +<3CY@;`>#)+COlZ3K;PnsNJRgt&KC9~f>}1)lSFq}K2@BMUs3T-)&8)1lsMy`(0+t?9S7wA)C$lvK(J +@}tCohvEqq?KSoF_r3`0y@Nl*9da;e}&kK-+q9DLm4jERz=`_Q$;MtWtOF&s94FlFZo>DjTOSHLY2EfG8+yx?V$E_h1<;Kde11i*{nOEyvbN&^ +D=7ocNEe3q>Gqq7QMN@1kI%Tt9dE;OLmDROBE!2jVTua+T}tQ~?_^mc+Tf-EwV8)k81zsyU$XQ%*sRaM~FTLAFZlr`oy*+li&l}Z +qQGIM7{IQ`m6}b-<8B8q+b*QXyO?_F#0Bmjq#_p%hyZ)SUL2sF8yN+^v^CG?04B85-&gHuJMw)%Dddf +wC=JZ&vMNvZZB|BiP3~k(U~AC(Ygr+>bMJ1h}I4{+FM>&^j3N7%9}unv`RJS)m*8th3t0TI$@}6Hwa3 +LXv4K@B-YoG3+hFO#jd&nTU#_5mH+6mbQSy0^6smqX_Hg9r7_w^EN;AztI;glb(?fIDo)aScG@4!nWYb+(5ZQo6hYM~@!Z2{PQzy61mj!GcIU=p`L^@m$ETYtyt7kz$f&kj#c3tMvm2HpZaY +P4xTk{XWW60ZV>EVG6q86D|tXaD!UBcNptccy&zpC3Nfv;xELWql7`bkePqEC;>+GVhiCod$GuyAD5a +m(o!9O-XEu~x-~m0LCwg$CbBnzH4W&=}}@Y|LqWrc!h6;WQu2&LroZ6zHBNUDOH#_4>Xvw^&A!kXzqG`{&~?K3xPsi5{@$=NxJkL7cW0R3G +)`#X4sep|tUb>kym#BfvwP9S$ddYs+(9fG0443Cc&=?&!YN<01$fPmcgu9vH&l)H#o1!nE|YVlS(ypW?9 +n|?>po_~Zt+ZnX|Gn$b3({laHnnD?=dGSryqi^V=Ma6r<-+2H +^@1u9?Ku^_)`^jPQT@KR5RRL#oaHJ65P06weu>h7}z?sA`|q3J{L#pst*={L_5)gT;r%J?df>con+T1 +Ro@%CFfA~HljJ&Q2%+As1tRTmo=zpg`1@vap~#8_8o#litxe)@itt0l#?PZa7_DQ_7J;@eEaU&>$v&X +?PbT`w22LRaP9YS7;Rp&7G)0prLQ)iiGYAe-2#yjk{bd#o{i>h{hfDM?kjVf}ab_`rC&*%>re66s0A` +m8kJyGnzl3d=cm<}sKp%e9gp6MSA8$-xsaBCJ#2`)=s9t7bmXKf^Fahj0u#F`P7%%f@t66z!YlOm_8IzX2!}Ky%+xan@ +<_M>Ew9<}@O5SmfbBm5qN8!2P_CJBbq(xg6EWT_yx${1_TrPnpjSTX(#d^wdU0n-=R{$j=8tJh11 +zyrro)Tb;$zEubPuy`7Z%U>%qfOYEdP6OILo-b<&l)cm-2pF8EW1GG2gvq_M!`?1_jI|8e$vmlGR!8< +~=prCO#Czv%g&4anGrtM_c+w?jK=k03uL{r@Jb>-wDYr^F+WDrxmu|gui)^;akD`+$a;UXM;l&8IQks +UiS5s*%Qm>QSszUQv1Iw~-~N7iz28sT<5_7i#|GFTxEJ@RqL@uIAW)>UY<%IQ2lYeDanN4`ndfLO}q1fF$^3^aQ@ilSULpp1?z1x?1g>sQtK0QL$m<+BYSB;Rsyf^ +0R=02}=EB5&{^Q;s~$C9oN0j?HfHdyGqQ?A%~O&9nr5x1+VqVP1sXz6+i^_Zj-b@%9M>RhZ+i*9Kusv ++G)(!!9@lk-Sf!wv5&d3Oy8ZpP +X_U1*1UjBkvNpYp`s|kpKgs9uUKLnXTPN_!89L$T&CWWO`uf+hpLNo7t+N%Lw>?{t!_;2c@3~)TwjIS +k+IzvDRV*9_I`I=WjAS0?nnBcNpJats&`lIe;qvkm5KfUoIg+Uv*Vb-0cbJ=Lo-X^WEi7xhCpZxWk?J +_Cr;oPPJRWN6tf6LARU(?6tDagELe=l0QMqy5seA@sw@#LNQ5R|Yh8eY^sD-Eut?P8BR3^{p=V4k`K& +Pyzulg`3d|9>{C^5G*>U@cKJky}^XWhR2pxjnY +b?J-bbh3&{+MXR<)f_h_c9vXuhkEsKP!KTUxr*f@00t^vKl10+q>P7#}Z=-b`_QH4^`E15PuRh)<0aW3y<0BSa`} +M>kwFRIqlM-vrH4Ft^bJ9r@5<3C)hW5dbWFrA2>iSf{>AOtx9Y6W?n%$y#yzEk(r`;<=)`7@xi7n7ccSddIl~^jCGT3LzAo +Kkyzn3>HwH9+D!gO&(W~VtZul-mMHFl7=`yuFt)f{TJ&!t;;suQhUPt?#_JiNE>RLp68qalYi4rQ@RU +7T#)n?rLt6-A^sPfo|ME)OS*y&X96(w{C!(w|qCQacRlM{pvljo?l=K!2zN;r)5}!;h3zmLUw?2~Eh_ +_cgsc7V>itDoSBs#~!!iyD;XmQEJ%F&R_NYz0%Ykkxt$e@u}=qJtAI3=F}anw9SCdJeNu{8Qxm#S_lA +s|A^1q^DYbvl%Ck`1M>-mAhua!GIs_YM5KJD{SEp0y*gfFL5x& +$%@<^s(FNdjDhc4_A+$B{2mff(^Z3TKMts8NyvV!}aqDs*5TG?e0c!2ULcOe~U-6uRQOxi>B06x@LEcI95aZM*!q^=euDz`ugJfDaRJn2wEAQ}|)D;6$KF(3)%mOPHw=#HJ~T>*2Okr~qYO_m(tz;9Jw3KHE1ue@P@cC8KI8E2sD(GgcbzcC{{^7j7Fqr#?1F2Qd=s7j +2F&~~&iM!U{Ox={)m0=242NNuB5?!;LX<%m3dJc5rZ60%XapRhzYM^N@mFz&WJwhuq9rYKfj{gOMMW% +$n-Q@fD!@nlx8F-Zylk||%MFZS3-l7qf@DFw_<-@~z1lLE6=+BVfGx5>S{wnW`(1UYrEKy7$LY(~93h +KD#>qvJQq+Q(KrVw>l2>3C{z_}b!i5e5ucF8?ymSc2mq(gfGG57KIXysdgkJJA{t8H+i+l0@`Mm@Ndw +)i1-RuqZ0k-Vx)RtZqf5nFduKS+?(r(;+BqB`ekI<%o*Nq}dbA&n5QfOjvze-N=15AA{==A(hobUeK= +PzwzDEyM@_9}K|vDRm?EAdB6tRCL{L+J2RGu|s3zdBu(PVa$Nt;T=G4i`VY2g~bEHTo934VjMj!*?(I +6IC0vP$SOA8d@3Ffr{!mg8;+pXlE&wVmo7~Z?>D$cc93sWr@I_f= +q*qOUogsW_bcQ;2n9S+nC4! +ArhgYD4(Z-{l?NlzHL(N5ea{z1f`eCAy4V4FP;w#`8z4qj2PxkRfdkRAINr@Ll%7mAjzEq*}#xbiHnI +oU~$z=6$n86?#qpp +(eN}bV4*+l{6!_Cw?as4Bxk`H(~}6g&XeM2p5jc~P_a{dS10%3nN4xY8V)V*Xsq=`*FEUzJz0w`a_uW +kvmbbwglLluUWCfH~~kTt>%h8gkKQR +aG7-X91U8X}?_@*~c6dlMU%dE6pQq1z+V+(a}jPhC9Vb5c^t98*i6ZC1gjws~K1!L~aHNkr=-<{5Zf! +!{LJu6BHK5e~I>71vNeDwyt;oXrD5uSab>k}FAeq73Y0u5q!=1(hldJ;mQm0OkGp3cYgu7p)1-bVVmU +nOgWi)!?!Q(|&gPw}-8(wS9M#?g}-v^tazk<>AgV|ITVWlv+#b+0eak(6iU~(wG>|pfo}dBtpX^!yqXArS}xY7ifu@mw6OfVu=Bwq`|9TaQv!blrCv@QM^DLgMD2LiC*9 +mqXAI9f`j2DcnSP0=mVyIq2N*-fp|&IbotJorFbE=XuIEhM*zBrPXJ~>QHIP?T@enJQVv-1s*pr4rdI +&lKw4riBX1PEa{hwFnYwsP>6h~sUm~5B*RSsfTB;%ui?x~g%TzzB=v%%!<)!j*z$S*D>tqhvI!eaaB4Nob}m8t1A>1KqaCt_amq9aAwZRcZ;g96c)~AP0)}xi|Q|J7 +f$*WiiMN#GZfocd;_ra_8mN;wAIY_t?DILeGB?=sV2(2{7}Y;?G-Va!284hw)B1W(tbSj5`USf`RPy;K@hc~hgQ&Es5Ed2zbazLW5VK%7+#F^b8)_vo62C=%=o91Reqv8sl?h%2vgS^i?uk$l6 +A%Z_?5Rnf1VXxfiXlnS+42@K3Q&22{S#0m<-JGb2u{Do%`)YkRF5!^#$(?OPjQH@MY`{^6_I +C{Tim8qd@D+I=S=x3g2+&#cl0o`=3(u2YpyqL01r{5c1`QCKhoW5POwZ|hb30oO1STLK;nslG*x#E?Ugp&T^>tScK+TRZZR#{ZR|WJHHNhMey#v}LFsFlS +U#0ox82j(sjHK9y`B@W9LCx1oM&(vOt!G5ZVK&yX+$SEb9@)~kR~L??r};aK~JO{%<4RlX+EjtAjfL6 +$~nf8yK8QsOD==*Vtmt!-}b9{1zwi>V~RbJK6Bf-foZKsM}f +txD>6p`O1l~yckGkf+V>-+!9+5uEjwua-L@Yf8ySw+f8);5}xxZ?y!5QyG0InMh+r~ELi^u8Ic7NNPP +MilUQxI1>@&Tq!*0bGyapAa5{5O54aUU$W{WFclA0li2iPb}e3_RqiAI)c@^z-@o%D94q?fX?+SnOal#hR +=J;0B}Qa>4_3hl9vcgC7S}DDxwV8a#GANmYjwL~#m(xX38A7_ZFs9BJ~iUa!6uMHpZ}+HrZ=j@R6W`m +qX2JfXC4o&>x_5iKR@z{s^a!`-V4N{)iFUex8R3*Q__g(sE;;^jv0(^axxiFL5h`xDcS-Tj^`?cIiL{ +6t!gXvv^=i?idL;;s0=A8LM=(`SBo99}aZp52?9(^#owUM!;V@|yWnWH2SBPYQL+FLxPRL60))IiFrj +_DsU`)wp=CJcqVFMgT#ama}q@Vn!ar3+=fTA1N9&YqoAm=<{5?&Roh1l_dDRpo0fg5X|++$C?lr^|;+ +anO?cqYy0-HFsh`U+mD5a-(Y)S?P3Wc$S(EU_IrA;P_#uav(et~xBDr2!5}Y}*DXAu;9Fs~i)v`ZCH3 +f6J*oL=rLVTWE&Wc>Tq0+feiXq08cH}}bXZV^0Ff +-~dsBQ~yc}`ddmB?y>{Cl!}7p=Log~wq5LXBs-M|bMQTfj}nAUMmj9apva;8ER*!Iy}gDOB)r^;XSSV +;*N{rVli0tPFf8?{~mVNM_1f^ySCf0u`^u%>v1~u6?pyKp|)L@j*1qmH&XQ+1KWa!O}k>Y=3vupDEjq +M|@A(FaiV-5&Fl8#jcucZh$%*|uZwx6nca?*;gcw#Ct&5sC4A290|6z~OJVCKT +S28he5R+$kJI?d|V-Q6t~m(ZP4GUY70`vC&8J?eCcWJ!hNua2fw5&mcR`*;OH%P{HYQnTGE=x`DS&16 +ceR@e6-&vc22O`mX7A3+99GSri}(`VdRuu6p?gQ~H*FpkKN}quMHi`dd(1`+3^}SU)wG|I@1hejs(9U +CrO{w*5n7zw)-{S(I{0N3}dbUwOr~u0cMJ8L1yqBZ&vK!o5}Uo{#o~avqMNI;hQnu!8wZ!+Ks5(6Ow! +)04whspY806^qoyBMXZk)($(;wkply)v=H={5;iAk4Z8YoJbWB%FwI^s*10P-fvB$P +|rNhZh?=(eUJiT0$d^eT|@Q4(Q9foXwb#aEHy?7%Ojd#6Rp3zpPa#;x#(S`VmM-i8H|BRup8}5|wu2E +?mhxxM{@?gW?Ueb5m%k;NheLTdN(t4vVj7fC-^k^X#GkTF(>{cBW5b5U?0@sNC+w^TY9wdZPMl?S7+j +%I!r|+}d*EQ(~y+>gK`{vZQ>7EeVhuX0nWa&{5xx#E2}`>X5DV1BAFmI^MHDjfP?FJ2Mw!QBq%2V1f4 +3bWg#4*rJmIl`cFc1}Pbol%=6flC06-(*?1fa-Qmf)%EeZ+~mrn?<)*GS`5*|N)rn_5yFv=aR9p>(G? +LBtA(*Aa>;x6bgFgZj|7l^tBQ7cAm9dMGRKn={}w +P1@P6^tI^%i<``b~ymPA|Eu4YW8?2Wk-*^V1xL&5e5M^4`qnX7p1JlNFs{WcT&>=Q +u=;7787?o>7Ivn2YY%v{AVJ(&L>@71;^0kdsH3RM*zyvoMz_5dMr=jz~IXeDEtvHwBf?jFr~3aX~;sR +*KZFd$fEvaHSwMukX!tr8`z>4C+&RGv2Yj#Q!qk&jDjXO03}_v;AFyilpOf;OGb5@#!QyF&AP$dbUd1 +yYx2+(=kSQRg0IN%K;-(G#Ef`RV)X^wMa>0^;1;4Uj!K9dLtUe&Bqof$5vO_`S)az%X}H2H_WSBtUtB +T2*loRwOh0V+@F2PN-Ot4B_YeEV+CDG0`3f*`g)6^Dt9$3ZBJ<0KA)2>faN>Fvn5QJ +{@o;ptAcFk-I`Z3GFV_721BEsC|5cHmzL0FcBknw7kn6o~H0E#y6TpTax)qu~9AjejB8P7+acPx2w?p +3j4Rm3GUaz2+3ZvuztSjNW8ymm)yklY?(3usHcQjP7rYqnn?&^L>Jad2Q?Ex|WWKlN7g&%9)*(k1?XI4$JQ>u4Lz6WxM#!%~_-GGkV9Y`DQowwveO +O#khPO;>N#mJCAIB;iP!S*MO6;C6HTU>nIyl-G;2_>@0{{yxr4Q7d^OMA*5^+pMnaWXPgoDPWZJ&kU> +QTlV%O5RkF5Jsml`n-D#yKpna?}HhPd?4|X`kClC7(5j5D!TdB3hXo6VaF%q3~iEc)u4-%LZ*yn&a-! +p0n`wga=8i0D_C$NE(nql{)TvV6w*vO8R*2+lNZh#~6g_;}(IE7HcOcVyqNST~ttRyQl#l1!DtbJ?k# +=l-M=e04W++CGqtwv<&BrMi0>9X_3ZOg@% +q0qz~t@@IF>#)*h%w%hMV4qr-*Q!I|AS#asx3cL3yvq7Ubj~l*Ls~E@N#ZG0Ak(OzZ@+4jikM$9OSwm +^S@Rg<2Y)2(>u^$Yq!>sg_XZgUt91do#V~OU)+bQ9SPQ^L9j}Z0|w`3)sf>*Fa*lYoaynAhk804#Ff8)S#@z9g6Me*YJ2QAck?Do +_NTgU8Dl|pn{#4Mqo7~qGf;SM`QJ-V=)PY;mt!Ek~*s8urhu1Qt(6VR%?$)bj|ir%O7PXF|ZfS)hvcdqDr$r<2pI{0VZCW29XdXX7EF-z~aMd1u3U42*79_Sf^j>EOPfc2xvG)#kSL%Lactt;JGRl{Q~VqTOeK-I~D)X%9U`>c6ql!bu`Qs*zKa +v7=Hg{g06VYwx8Ktlz?uznVzTeKVv_qlH@r;`Dxy+ya~;y6ahAl;IyWXOfR6?yD8~TbB^hrR_ +m_1c);24zjF0i5sgjnW9R(?eAT4oBnkJ22+VeN#~K3xeJ8A((NHFpbEHFz!A@qd>O_ZHCIOvS!?Q@gogH +yENt;saDB0!d+Kbgl;jj-NNr6FR}Y9dt9Vp^G2rNWBR9G<5zdM9EX~B6*?6X9DD;%C*dMbjpa +vkpT@||4K8rdE?7o$XW73IbmeHo5Ct*`FV`u(~?_;l*&kH`DEh%HXyQwW^l$|$ijWy;a7fC|IrD)xl; +Y*!9Pv`pa{0XB!Z(Pj8Yp^Qs@>=k{C#Ce~<`@;wVOZS^&V3z2QFHEiCqAIsxw>gS}0pcQdNwJx31h5g +`fwo4`H=OdQ{P4L3}s-gZ*x`-d3cqrBaZ5`XL1M7!`y{06ygpE%ve;)!1Y=5_#_>;nWFT<2ff5A%OV$ +e!QdAU%6Wwh*+-)9kTgyti=>)Y~EB-DtVXJ5&2n%|BT{Ie%vX1-uV@YM)y`m6~OOlMwv1A(pBsM4BuzpSgB@Gwouuw`mvfcdlLh@}q0lSJN*3DR2%5odJvglWS +L}vF_IzMfTli@aZHo@J*WMrvZb%nlAu(R=px>Ra-LxxCtM7v>kwWdt9>Uba5Wifq2MkfmG^Bip|VkPa +YeN_lfAeY)J*-xn>YsyAX4{ZGZ`jH!%fm!uO+#E8rl+J{LZO3r_~oB`oMeegt_Z!3>}~dGe@EE%k>fg|R(E>Q7!1s&Dw}vtB$Mx9FS04sw +i1dNcTY{Q3`4?~L+gnvdkoYTJ{;3*daB@v5-T3U-)x9+wFd#o=0w7?xV7yi=slm}Jj}$ +jdhdXV{6J0hy(kD<&m2?~`N_XOAu%HL{@94gDPh*)7oJ=1i`O5ci54v=6;N4V}D26lkwnas;ers`ZmB +Hbv*dNA!5+Lk5AWt5=YuLGnqxUP41SO~h19YQ-20=YtAEshQYCWFe!#s(5yNWHzqdCbF3G#N4VLEP-_ +wQfJiGy*Tf&X!Xe44ZT|!9WXi>vGa&os~cizx~)j~fklm0Kn+Y|PQ}yFJSML71DOcv;~dyMLh4LbJ+F +K}SB#)pgp{dR5IEP#*rIkIH2=XE-v@H?Ec@SM_dh?$Px$>8C-@%2Q3xYQm_$gN07)FDU>qSgT%=$KBP +jwTD1-#5Px~&3x4A-|zcp&o9f~nzACkk#UCm}gV1nEW^t=7^7R3IdhW|bq&Gs5T9Pg#~F9up*zMpTy; +w>=U)nf2H>?N~3p}gzCA-_%lZ*aR8>fya<6MVZ&V{iM14Wy%VA4Y)RvN*`w)ggbM9e?Z9ZUOS{xbPmv +->w6O_UnMKeH~)9m;*arn3C!kOE7OU*~aA=!PjR{2{%vylH58`Y-!%lxGah2F=ok`^_qC_CRM|_>$1Yi!S5%6P#xycR +&Uh#X?7e+q9nALmh3|0X1aOaXqKE}os<1WRT=oMto-Any6F9`)Ie7}O)Pqx-CjsW53f5~R +Zd?oGW+jS!Mv13#o$dG((64kI+I)qUvu20~fs<}@MZ1)uk#>}<*}#Yvp;ueP6gy)&10t8v?vY4kgNE8 +Fww{ZKVfQs9k7TNHz3)-2ZKT0JSe^I9u;`+Fnyb9Ful|0WeqMV&-{srN`tkA)F%Y>&KOjsIC=5~v4ny +x~<|!A(_7=-V_Xq`w_Sr8S{A +fSl5lPxeK(S4oVme9Q`9^M7H6Jl?Shu*e<+oFobd#Z3Bv +WE5??8Ruzz%^pNRxr`18xHj-Pg^bLP)o>Y=?o*L&*!i~BC!@X^NI +GoJ#Zi}vK5FG>r$JuUl{v%^@qSHd=$Nh2RBnULmai|)NkVLxwM^q(qWRwF<8ZBYO|N?}`oVD*s?VKHJ +2$;w+F8KB+gSN>RDy13>4q$dshI=RQm(OFWUd$j73+ZH7;-BsdtG5D6S1S!bGYtDoyV6svjC|L9o&*f +7U{dy*Y*sm+pzF#Q{x$4)0#So3WF2t0@!Gx`rn$ShluP;e_b}yhXle3}FA^4OI<>+v1jw9|8Z$(Dbui~)Pep8Jd!U}f^jgN{RA+yXWwstfj<5x%NQbBiKw5#HfX8C}{Jbu?c{g +MxGUL@%xquLXLoK-dHz1bl7GTvf%}v8qUy59)&J68G-FE-UAVViDfd(ljBGw-f6f)8)>DU4NYkD!{t0#Vo@4i`i0cLToqihefgDVyHSeqy&V}@ +H@18(4J%%v+0)+HOKaBt`K1%<^&SGhtO!)i9cz=q4|MW2~ikd#&*9xG`qhg=Q&+U1)FCgo)qD_n9f!` +mlw+ac(tbdw+|0AR*O)aZC2{v!XvWLYCKb~pscxoX1=3)2f5OD#Ow`lIj;|!W)3B(@Wxb4~C=W0IPhZ +$e@s*@_c*6AR(a}?Ov5t3vIakx^dpR^b(XJ~sIiVKzyuDW#HU3y=#5DrxX(sy=m@^2h>>(B;( +7MQJ#0t3y@g}r=${7|II$<@z;v%(5!oI>Y=3SLOulV)H~7raJ-R^OZ712gB?PDTj+7kyl|nW6mcK;b6 ++UFg&K(QiJ99_jyq*`?;v*dMjUT3(8lQ_sE1xC~ng}h55o0y(#qfECs{GFLc`YGzf$&`rN{o{zHs +IlYP&$!TQ_8@86~TfOpQ1<6pa8;Jd(9rEi&#pSNiO`jbqEb>M|`j>W#};~VB6p3tN&VD`xo8D!1rTfU%QP_+dUIK5??tT3Q71bAt3Iwa0CR9^25xrV|tS-5mA}T3q7NBRG*I}d=c-~$PD1~E_ZYZT +r26-AhyCq~Ip^Y>!bkd66-y`w>AE65uhN>g;g +`juK(aV;Ue;jZ(|c%trwJzW@RKcoz5=3%_Y%@ndz8K{bj9JMtmg%5KUexR}}{N3*_NzZdBIR@yYofDd22w8g`_M*O0hZ^2$=kCn +MXW5r@4?{p$EesZH1n%>3DCQX$9wh2k1xucwN!9?NA4CNZ|ze;s(Uo|Hbf^;KYvX5h#Wn!7BtmJeK>-zPbh!r(nbHommvi_*x3dU~`Y+QPbvrQgiFXKM2u8X<<9|i7)8Cs0qoJ7@P<8cu;@ +q+`7UPi(r~_gF>#o|$*_Y>9#_LDeZse-SPqQ!EVLlg>k^b}At_O{7bQ_OgNDZtE +b#FwT3P2|fLG2sz$+jQ&~@x#79Z>k@oICykrb_wN=q*iVN|c_jN4KfoWywz$z##or}iMl))Xqtk=mj? +z^4*qtYrg<%qT{-@J4g}_#xmCOQ6O`>I3&u4CLB5t-&!YFNY}dD(cSkkMMIf4;)bH=0TP(h+TnWcLr~ +4(dc+Dp?vuJRwKKfj4g}$PRYLgY#E00FP8q1&i&1vU%A@PFa4-J14AGT6EI3a82Tv%dn>JNlqbdaPFN +(`TViu+R~X;hioTR@<6YzoMgI+bZW5A5A0jgdz9(Ygw`kh#x0UXv*+|mflAG_P()?XxC6fJ=8&9HsRi +@3Ny{&jVOM>o${%Eulz$o86#4>beh0vFtE9_lJPIn~$GTl?S7_tv??b-lebZvC9=|B)Vn*BUuG5r+kHOg7DzL;=+nX50~Vk<7#NKW;mBFkIeOwbhzL<_g3&fbq=YkT&> +eCn&bXq@#Sw)W$;pWl6dbKt*u_q}Hq_-#oSHCZ1QLRQ?HaZexMiFs_nBi93505&2_=rxZOvV--c2! +S28^#9pv?n^B9Fku33zs3+!-S=Pl?LeQ`0zAIW+w}$+rxg*-jY_(A$+RhedB^9j?r?_bE|gJIc#7z6n +A?&gJKA;O~9auLj^wL7L0FZ?k}w5aG+eQ_inwU`Y|bWf#W(C>urxd83X!S&`GV@w36=+p17jr= +uJcS{2~y@#hX#yP|Zg-s0Ru~=na_tS5<+-b3IolsXa-GYacJjZCNLf{D$4EwgvOQ$YA_A&zt<=PYS$& +-e9$sni@MkKXWQNCm{j5(QcQl_de7btY+x=(z)DmwFOTjfSjm^m5K4WaSiUShB~0ZWM_XEk +0z07Z-EL8zl*`z1Db2tHws_sQp_8WrehO)Q(6e^XMmfRg)Vz +>wt2bSt3>*>nPeP*1BL!$>7O@}8=E9*&@!HkPTBeUu|e;Ql~x+%QEnWmbY;TA +wyG@*@e(or!Tya!n3qwuCj`GQRs0r*XRKCz!$&96icvz3wYvwJD;s*cePLIf6-&qz5eyTzW7b-Vk-ap +U&8-9KnR2GQTIR3JevOJnWgu6`xEN+;^Ef=Px<{F`a7TOR$rrZ+lbWLiGPUkzgkfK@1IiV|NmdjSH%0 +zuH<`MBtZ;CVFD#l2!}pZF-@>{cP#NPe2Z|lLScqo^W|5Gor +WeWd!aii0JKtwE+|OcI?=8-rjA4&waM$mzp!l-X@$z@2Q-3+93zuby;vfR|f6~oWk$)MfPEmMWH(s@0 +vO3j_V1z_x^5(xLwm;Lq&IhMBg32)ZaUH2z%{w{wBUA+Acp~TSV~lLc%T^F3Mu}vu?KRIe+BNnLT&jd +3A7MnglVwpCr~e9&1wmIS24m*l-ALasKXo<$ewHAD$>Y7GhWz90JqHDC4dfBVVW&LLX(e{KO&pExf&N +@Yd6w`scK-8T`pWj2YU09QE0qLLK^;?1TslBC9-NoSK=a&xSecL{Y^Rca +B8DRKng4!0`?^3^s#_|djioz0Jbnts^9*%w*;lJGhrO+c&Pefs7_*>AHrefW&*woP*^nuE;8LVfx3yZ&8Y6! +3jx)RVQcguv9;a=1Qsss>{odzM|Q)<;M+HOkyhIoU6-{#?nLR8idM0F6LKxp2SFD|0T{9PXZ!GHX%DZ +Umk?dPfsAkpL3a?B*>;X$aN;kBLMVW7%3R>9_)PNLNQ5U2YemRN!+*_$Jw_m7>AtgD`N%4aX@6ujoaw +IF^V#KZ-K%PS+B`U?VkQfJZ}3n%3SH2r?r?OjM6Nk2q8xuWSTC>v+5cIV;-L6$!o3LWz?|Kg!pozun0 +E*;*nXtLc)jYi8>Y-z5?(J(v+XC4MPI7yor2M9UWrVk=N#+ud>*9Pkz%iZdCb0p&?g7+{q9cyO7N<{U +{K8mP;BnZ^hGK%Z^1i)nH1i#lD^9&{ITrS0#<$XSlw8-}Ih7H;#Osh2a=kEN0IJaqMug&#WGEDW)_M_ +2<~>cBx*@H0`)#Dw?S+cibxh?`(r +F`iri8vZK)mY@iwRi4Oa5vmAaZ0R(S>V8uO`^)BG6^r&I%uk9@U^B#6)~QvQ`!vKBLMSBnCcJ`Z2cCa +UZu(00)=RPvQ`#|w~O^X*!0&&&pF(AMxf(5i)le1iq)dUFgK+e_oa$F4uj=YeQJBp^z&q01vf +_=h4Sbc^B#1nrDY5SMp9bgW7XNd{s#$aA+N{5g*7Vr(`78}V8zd{y5Ox3h9BIGUV|_Y^^Ba0!6ey1dHd%+i;90fbrbIpN4+gFa&iw3H$2}Un0h-*#_7Hhi ++2Ii4ODULt$#}HO~CQ53^?{!Hs9mj{Ow=4#mpGFm*`V$N7(Ewu)19yNxenPiCwQ`1LY04H#UI1*0um+O5D#_+e@Jox}{Y_s{Ypd5H7LV`EvkyOxpS +d@*m7*(nAJa8C%tn2_Lr;qz!02lqJfFpFG53p$C%@oW(Ev#q?xOP)kNf`mD_93{Fz%%0gF6a;1ox3ZhN-v8l%IaW84kP_zVnmQKkc^wxR+FuyB!aZced-1ggc9=)!aI` +H`sP(gZG;o6HAzlt-_bP#^D#13G3NE~0~JlrY7`Pr?&u_2HgoFQS7Yf|@ov95Cf|e9Ha^n6cu<)Y7aO +grYsFRc50gzE1dU>(f`UpFJhSFCg?HOZ(LwnB%<}!DC_(_9Z_UIR*^p;nkoU{faK8R+d)U)NV{4M?yH +zmE>^+X$b9^(z+|CV^YS|APzM}rk)rhu9#K_OgmLfgUGO}&Kv2glHM8c +siqvv#WJjw41WmoG1NM-bMs#&NVq=`?hDL0ur1> +5c4glIdq?FEgcg3MZ#L7M+Poc+%q9AwMjF+pF}69-bZ4-JjkTwqLR(m5*3Q06N;&PodM?EjX%fw?Q0P +UhHG+LOhZmubrDHRX +=O~Si2sn)HHyMY5V-CMWyH6X$ez2KzRE~^uvp#F*aX; +Hm{jo3b$TGYh2Wl)Kke2^v3s;dhLph!J1mf)COBYk+y;(VR^Ba7&_^P_*55}J>VRc6`rV7dGv9}TS|&~(bg8 +c5Sefi|W)#eH&$%z!FScwd?>y7JJA=Z^OSEu>A(NJ95IsK=VHz3WAGmb^pri6AiG{^G55`=q^&?RZ7b +#MNe`8=Q!f#-9z44bmWEW<59h{B=4CLV0khQI{kSwW$av5&%B8um~#)yMpk`RbSdY#e*!i;T75VU8l6 +v8vDF+iP!6#BbC$RV3clGyEq|PJ+V6=X*y)xP>6|Q_`-oD(ZtIukgw`xaBm35<+jok9sB#ks9%H<-hr +9%!#~{b|Me9e|L?yn7tEZ&d{#P)V-?A +@^pzlTqtclH#?-nGfk6Spb8J3H>qh|oJ~1otxIhKk#{(f8C#0_|y9_}$U9_nKjEc*p-8rN8Pai{BDNZ +~LnFt+W6Wd**oWBZKxUB;S4G+v&D<+Qk{by)$k@dhjh-v=5iQWh00;Cm`OUM+voW-21oxzMy&8?WgK* +_ERcDzyD)ouXNbcpO*GLiL*G|7xe?+qg;5g;O88)!t{N__f`Mft+Xe<($-h)Ah!OnWD@ipfza<>)P8t +zd+j5IS})qlqhFn*K13Sc+kkHyD@Oayw@T%o>4&z$^ScP|3(ToDV{ZpLdvh%C5%HdWxP|J=iyr~)Pp| +z5dB9&ATP#gFFc{MnS7E-;1rhPD>oq%?9?U2H{VJ&>U=<4YBu=N!v~oq89`->fiaIXc+oTn4y2LtEgV +_wJC+%ERpmxIX3q%BNSu)sTogAQ$GL1C^1#E|_`lPbM5cUXKca3w+nR{}0B~$C0(29(ljN5@xJTD>vJ +yfu;idWrk!OA%tjAN|6*sFzw@G0;TWRy%7k(|PKU@!HBCkKip=A%o|#s(UPD|^B*XQ+BVLDv*8O|&p3 +794PCnCgS6R!V_;x%x0|I})qLV8bGfPkDMgSb}kQ$b3hRF74Sm&+e8Bz-7E%HWH28VLQr3DqpPg+`=l +s`D@{cwSP0uQT%AR8WG@U+X_XQu-_L!flsmR7dZGsx08HaY~;`bYVFoz4Vj15h^`cIMXU$;84LZ8N>E +LGrrpzcc+u-jVWA6HZc8);t(ehkdoUyML?`R3o!eAxahio613fxaE!)xU!mrYU4D=Rf(Q&pKpaCU5FsfTg)j +=kkX;#%+6{s?u=zAM8R0vE?9C_d&fhH_!`{=3yEh=RyEReZ-s7@C4^I4>_`G>}AHgB_plTPVdzTfrcn +f`d9&RTf-ts(KthPmIRI)?Q-VdGc8Agcu1<>pU7T}&1C9^&IxYsJNU9orrzLa_!Tg3Y~&yIufyVUrGM +fm;09%^Dc;KlJCTcY`1PTbR{;0{R`vK{!h&CBE-D^Tqp_Dm{^_+= +S#Ve0)fo9}^RjAtgWxobAPd^I=KO#u8e2Cw5c=2>+Hc*k4^T<=y4<=4Uk3M~{Ih;+I|sn`Hw1E7qqN8&kIGTlI&METBJLn)uvYbt=utbbzV!sP8XL&G|*pEWR^yRX_KfIGR%u>w&6c1WQd3cbGHTBE@tGxJm2gHecz7OR7M5tq +$PW-B9Y*EMPkD4=yIpL3lktM4~4w^nfLiEhdJwwDe%f*K!mMY;-wt#M4w}08_Z>S$t4ea6aG4m}xTm? +#TT?z$AC_)uwp(G;=b!yoZl)cerv`dggRZKTx@aU6jKXXq3nidPE$NJs3A`$f)oMKC6Xqk_!^7$M44 +7Q7W|whjee?_xZa83%dZwkX;#fqll1hGooI}g}W9{b7h#1@x59zY5@*Kz6eEcl6j~J#Rl9?wp+3_@rx +1m69#QlhyF%+9do;ajc;ym4rnanzm<*K4dUFi+-H@eOaI&LSinAa`(xiVn1m+YlUI+pE7BQL#V0mGUM +eoaXG8?p7mbaHphL0v_CRS@Zlqre-UuC>Kio1GWl|5e1#h*QaXif)H3-z$N$Z)=j7;`ppoz>*c2m~wp +0Y7}Lau6B)d=XQxDGPKR2~;m&A-OFI7@^pGiz}Sru=rTA3_mF7!E{BdwX8HN5nUsCT~$h#ruYLKake) +K>S4+bNRUhit&hNY#zy5=^SbEq~U)44DEI40Y!g+!o`1Z!4+4#Gd+7(3EM(n93mc4MPJ)wLcqiGu{HzSF; +sHXnsltYC}x01fxkqQEh2#t=nKwW7A6&MvvH1Jw0g_WFbhvg47ioQ5!>7SQTdLHC%LVIkTqOiyjazPB +eCrEeG~)Ue0dCXG=@l+PzyQ`vnv<(ASaK2*=a(mz$T&XXL9W9k&goes#t)>`n0c +f)DpqF)}NM?E2o*2cU~I(vj3{X|)STTTq20JZ8YJw%!dLiL(h8Ic+uP%~h)WIMLvNN60f2`lAuP#AX7 +_SHS4LUUavWD3Ii;L3q_4CwO_MIxmhk1qAzxU +jE+^4nb|MFDd5);39n(w*fr!pG*SXlJdB!>6IL5A;jV=~>D*ha44H{siPTD+Taf}hs~P+~75MDZTU}LAJN%+9U%fm_X#)p7@U1%gX`~GJm?>+17=Qc +GQv-XaG@KtiJ&|36`7Ok(J2hl@{Za(lpWL#)6SR`~C1tjg0m19b>KgnpVY +3T7_`bzd`k<>vHh)xzYp(xkrLUkwYOlh`1l+?o$w3oACxk7XqL2(+{n*P%D?Ckr=CGkJr7L{QqNftPi +Lgyn*g^@9KhqTAoChypw1KPJ*9i)H>x*d=f;9C!UoS(W+u};Fd*@u&cj)S>P6mG4ABcmw5KKDc-H(hp +fUF{HwVXuQyw3xKz1-SINnTyJKRo(Yw6u`3RM>(2nG6b!gt4G#U!k5c>!Fm(cx8HN5-xmJ<~f*xJmwl}h1DW+EfVr?@O`x;Cvs1SU?i?BCNiJRQACY8o0>ni$WB*gP +7bA$~cn)Y}JL9I19t@z3!TELyVFQZUp$p9pXPR5G+rZ!y4GIkDw45 +aWVne}Q=DK7RO#5t9p>zylExbTPrtw4`6+)Qcq0H}MO@#Nm2ji0Q$csY#892rHb#NIFeiFtrQj9U~ +R1r?q1F-0aw0sSp^a7<9x~?62r3X7A6lCxw8SN8?A9p2r^~ +4;oueDf`iLU-Z4*InLEhIu|qH0J!RD0^ru==I39rq_yKOQR`cp^GJrl5er{F-FIVXIySwhum|wR??Ki +OQkA0miDZBpvqwdX`+{C&p(06`CzjM3AJbV%T07A@z7$xz>3=$F&gBX7O`Iqi{dM1n8&Ty!Da +28xeAZt3ti4v<6xGkvUjKV9`%V4zyD#}mI0fd7EI80ks7)M}fg}NH3zu5|OClg{&Qj3$&q2t*=RPaj; +1EKAemXc9h{2>2{zVE#0+$@c2EIx?=qUJ2ndx7(M6trHxWJkqYdKHO+ +H7EEM<-KKagBQ7o76P+i}4!hsFgQz-f2-C7fRWx8PLuxa&7Kl|>V|oYi}D3P29 +0AD+x6zO!A7rO)tebXyqpOaMLf_;CoJ1%F%vtrvYZvi;le3jK($f50pATks0~h_8QvSJxkvkD01z@={ +5h*HzZBWP?HaD@cKS#}fNk-_IXvG*1}~?xUQjzq{y1xP^X&x4(j0=nLNB{b(N7qP?H%8LRk}B`#jPKL3hH327cwJoH$;w@lQhW#Lv +2V}JNqsuJTlrzY>Lm)vR=6WU#L}(|k~-N-d2vpHM=Mu_oUTyq>SWg+-CK7wZzg_sM{APKk6jrDrg3@g +Oh_L4>#)31csG%pT9&E7+>0B3WoUJd%A0vlT3>ja4Rbf>RU(G#0(NKG%tKEgo^)zLY29RLO(3IHor33 +G>vsI^X<#faC{w=jZ9-%mSQ=h#usHY7bDF`tp2iyMgRmm}9)aXA_SN22c=2K1Il>})ni=6Sza0K{IJsGa5FQ^qMJp5*23kntV0f&fdx>MSQYetgx- ++enQ?*oF@j@Mx}Dn8(h4746P05u6UaIuviNA}0j0D6pl7 +X#F@+kpfRML*!GoP!E|t=B+&OGqzSeI}Lj3JG&kO?QJy|jnnLR;1GLPoDf!I<@9#yw7NW|oW|{SX2Re +4{^W@JrRRz~WphDCp}XJWne!)Inu`v&qT8qy?_$MG?-;~P&r@3sSjv0tvg_ +`|^rGbOGDO$@QY*C_yqUUD&Cw^0Q7PO0h-Dcs6%|)=Di<5f8i3Ncj-sZw%7LY7G%=NZ){q4tWNZPO0WnXf?~Tf5qp)+*6cbTZF-~GDVB+)jfxIhT;)Fkc?+Im +MpOsZnaRxVVBVT4WjNM-x?1;Fkx9|lB%m>XdUP +{DQbN8MUQSnzroS=Q1BcN%%Xpfcc6JDfURM>7IwPp+NCSmUE6BaB+7r8`;G8p4UURz>_43R!EAQxUBZ +a!{4?o;>$jJUK)R4u8Bh9@-ZFbZ02t%R2_t4?q +AZ~M9V}%?-cee!3`RCuiKtP634mH$Sy`{&5h{SNvzDd!gROA4oY~N&-(|2yf9ol^CWd$qRV{Bcc%(Bt +Z9Vtlh$Ks5zyIa7Q2(U5BSkSXw@fDbSVxVOl|I9EH!8ajW{M89GA-^Ub05~VW#Ve>IC>Ws1HmkKQZ2{ +a2EP?{~9BtUoZar=wd`C8=S`Jnd{nB1p@W57i{T3;tq(7j?-;rreaPVUTG{0+7Xf` +N|K`N)w>vZ9x-iv!J>J-&3fD=muo(EL9ZQ?)=Yxk({3rBGOiiys!C|Y^^3W*P#hs5b8Le>14m@e+fSv +V9m>C+@FxWe#%{3Su!fCdOfOB9z&=dZBAuC>ILUr`i*S2!Dv((hpOor#x?Vaz6tt@b0lf}&AiehJW4*%XY-5ML63($mn19rr1s`+h( +~(-S>R8UUmV`5RW6Pp?b2`s=Hp8m$ba=QukKo>!d93@j1fBh(R8|C>(8@jcVeb{k2krT4l`!$Ulrj)% +P{p)tRnwcq7kzn(i=U&CMLPxGh2|A{#|v?}?4y;wTlPb!US~v7&&Z?6$v3SVnQE>Wj`|TNbZ9TULli~ +E-R0m_`C4dI?;Z*n*P4B6K1*Ft*&1_sPZrbq%d1u2$oQ&!>xfx!F*t@Ehu7+9prOK?kk}v)^D3|fWRk +cy-%;3<3G;!gSTzlK@sKb0;{ZFz6v*jVkgEegZpEGTX3PeZ@zy9^3EsLOBm)UN!1W0 +MCzt52#n3-OOnzVvmb3VG7x`>f@P8j-fRzKj5{NcBk&nMZOfj3{j}Wsx_P-A?->>AKKuoWAhA|~WL^@ +rBiEd*J*9E`(o^|pI^`QqR=MY}lN4W0R1UlkwetF*s_aImJ3|&-Y^t$;_W=gkARJOZDt$`<~V-{##Hm +o_6l+a%ThZ0}WyxW14iNg9V)yy%VinxT49)7%sE7x9Mr%08Oo`+NPVBX~;@kpf=qi~E>HQs#Vv3V5 +d{B0Owiy`9QKny?aT#{U(@lI8ct-E7ZbG9#ghgnDdEr|IeFjc9~T^Uj@Lub+c9^V&l|IqDOJYbKfx$E +Aq42BQK_~zvn)Cf+kJeD}zyQa$$7P9ybP5W$m?K5M6(H9+1aTnfOi&gJ*SnE(2s=kO +_kmgsN{PYKs(#xkM;D%sIo}wBHG?mKAqf;&AD7HD6?X^2=j!dn;isp5-hEA-!mJv3Yga%vXD9TB%rDh +(0E#Ck#KSVT7M>m(v8~j#TitWVhiO7rBy&_0$ASPYh5~4{SSK$(tyciTEH?Y$ae!R`AP{McgTk`5P6s +0lN#uchO4lUOmR*A)lISE;}K?Kog$5L#^`gUHB{rwP0>5XR*+T6J1f}FW9Y^68IJMZ?^lNLCmqu?$vP +rZG8FJ^FITZuh0E6vd|2R(*RQt8Yh5%Ao^+V55$wEVDANTVG4*pFb0T4hzwXF$D4;B&VZ3oX5}HDlb4 +j)xDF18Nrr&2*_9>4C=gVyqz6PGjdCJ0< +p|`4|K~1Ur`U3Ib@(+$Yek^y#nG2J^2i%NOEe|A8uB9{aWm==V|O^Ho4!QRR|i^^ +Q#OP(Vi$FUHxc)CxiB(IHG=WN6{I*(L?6SMhk4-`-LJ=MEnUl?fAAV-L#o84nxgYHnqS=g&FcpVzWI1 +w+LI@#O{Qw<@w(errTx~~eZ50o&V{Z*bBNdP7wVW}8L6`h%MBOwG!leC2h-0Re$sS&1bbp%E&C|C)5Gi1m`2ZqlwlOlH; +hPLn30fd*ptQv`CBwxk(|R|uJ0*!C=ELqRR5kzM}1)Ce!A)>%Cb{6-7RnZsoDGm>2*A%AsVrE=8BTov +0k3@G9zL>Xb0kcCSW__ZtvlEP59w9+^?kbWDnKEy&l$~?7H1!mq&vH1+Yb-O+cjdQ=o3;j_oU0!I13D +9Qea1{eRR_yF0VSmbgZeku&%%|>_RU&lpY7QKECX1v=iZUyYz#aFFkvj16O_z{bX=zPK&D +lFz8)lBdLTGRVdy$`u?C@h#U}t8b)5ePD*gQtv`Sf=Tu4&I({Ke?43HRvLO&QX?MaLKKGooh_y_XlhW +onp+wLgeH>1nig)x>M8SpJ#kQ2q%PAD%@a?qoQSJ2cnnW7#}0v8L~zZsc(A0S; +`Q>tw=w#ZlHHC^?Eh1xnSMnuJ!lt=aasd)u{OTlf4*9f4j5(seP`6$6>94oM^iK&g?Gq$AHuK9Y=xtG +D^VN`z1gS`*I^FQd?dFKfjIYsB}mj`Qd~?nu3zAI+aBBjQZ~gcdSBjbmmf;ie4DFcz7dRUrYpso3%p7>kYC3n^odg>)w3R|~PW4K>-b_ +iVh7rpWDOV@W@fqEdm`d5hgu+u%DqTQ6DD!>{g^$?n&<;SOnnqu9C2I4N=;3}SNhI-;JqRDx}dAE!?@9L`Y7JNq>ut;p0J#!<9d +%*XnU>**)dgvMUX^7AOqYLHYPU=0*NDBzS50_WIcIw5#C(m)4K|RnIrL>BIIk50=dyb^X2W?k{T0cCY2Me)1y*lC%hYi4;;`Qyck +$_h6T4#Oij)#D1T9)2rsO{o~1IWmX1ZxW9V`6+dy#)%M4Hh%CtIrBpOqS%ht|ZkB_p`|&c_a(5Gmh9v +p29S?{!oaX(DGmqGg9-}KBT*cBu;OmacAT8Tt16MbaGhXa}A`AYkumQPu|FjtT?3%wRh`{r|quT_6Vi +>_9G((~5Zy5DyQ3O0S5HM9mlHhQ0Ei={v14PSWfPkYoXsd#Ns1yiziS%=6(puhZc^4al23=TCLs4M-Y +Gv?Xnk)fh$q@kx9AM26gY!|KDEgVwH%`GM83>)CHrEh(GtSC^WO(K6>ze5ZXpyijk$zqOT5{1_mR`)LLF6=noB=fPWtlLhY7#nb#Q!L(Q +b69x9y+d%95h)t>3QqmM?`&TWpiDSg7lej=bfSG=$edKn5MZ9z6Dq2$a)!VlYRfpL%7vug_P*TxN%O_ +O&+ukvjJ$>j*b$=b9S%18TaVV{n2Hy-5y@=+ja7Vq^K?GRS+J0C4OhdH6?%!5>rS9-P46xGQ(w=ayWF +eAF`QH>hRh^DgM1sELbdpCY7CdgvJJq{X{V6}-&FjWJ35Owy&qk^Q4g(5&s(9b?-+vh<^02Yd{y|Mnl%lJ(7Z%8Y +F)6?h|jz3?}peg04H^5^WkPw((u)(_3n#HYRs>rR(#vP=*ewy74T^=5R2cs{VOzL0k&t#ckB$okeV7{EFk$~nA+onbnn~oF%TFrQCS +fX24DA*G>yCWh3yCj2y+oao2FEEgxflw28<|4pz=~u1B0f<3f*2mr_@CT3k)I?tXF${+{Aj4Hg<(s0v +4&r-Fg=goz^33{zl|zh8?+~kjOvBS}hrw`@QMEsu5l8_7x`p(F{3_#fS}9ubAqJ8BP3r-6sjqxa3T_H +8gq72Ga_@k*!XKWuf-(b*qq!LPSHp&B%lG;E7<9Vw@DEeHwkI4aW3AY~dNPE;iF{`F0Ey?n$W;o+pGj +W7{t?l=2NB)i?Z{wD|3$tJ7*bF^er1tfMo+u#~Cz6DiOax@x6i# +U-SPd|GVMRzRP^&Q&EkRQP9Q_$|0ONPY-EFo8JC7#!F6lA3&)M<2g$f*#+Rv0JuS~5uCx$b;z6p^8MN +;e?ye2f{2JWgmFoL3IU44ZJLzQ7vm7cr!p$W3U&p5oVs8lag*$?0DE6b+9hj{*dwwHS!xL1)V +Uo>k7xAt191~Xx0$dFE|-5zgc{i;mlmfh#OQ+I~D(}Ogjm2kL6z@wzLm7Yb$-X(*zRo7@nF9#?O-Ay%6@HtLZ5X&KW%_&QPaA*#d+Ah*|8OJsL~20XQ-3Q1H +q0-J3d$ixl(VpJq&?==$-xb>gL&=P_KwZXM&KDcF_{I+v=%1XBYJmHu~gdHE*|HUQ{F7`xZJZl1F5VdU*pDf$_Za4_a^K2n~}JQCfkB}WERPdYRX2D +exc6OBW_eOx`sVowr`a`F|P|0H0F|6t|ax!WXH|>T_N7-5x%{lv +{IWo{E1w!!4IcLaIwZv+#_xHtc9NXiO#-f2 +a)zYCySVb9}~6KDP>fI$Dhzj_D#fSUit%Y4A%FJI!9CbrR*702YD{?1vTmWVgY+La!x$bx1-Dgg%iB4 +9>Kv!5d43PfxMTB+1FYX^${1avjAEpY{8T9e?{wUUpJO~1izaEbqmV1905n{KPhPyl@Bb{rUGKI?&{#Vihg1Jf1Azi^8cu1gtz{D(ADwt)+fVza-beq5jiQcFQ@IL${GG+i7@7AwOZ1Yb7?ObTx3qGdD +)!-ni0U}zuzi!}vDEoDROTRf38E!LbUx7f_i#`+}CjZSW=rlS)`C2zHuX5Z{7EhutQ= +u+t=Kd1ux{!aA{)kJm!VvGMwPaT7LU7H4ftbuiQqR`3U%8^jp*$hmB$oTnWxTb`F6*^^lpLLGv;0jHP%uCZAdG!F{e1kI%T|9?A2J)mRfRxk8fp% +wlnM>tEDjMqGfgke0i)teh5EJZkXToA|@)rnJygtawOs=e?-u36zX$}_1^(D=VgiA{hCtx>8&2K+7%? +{dff}B`|!0+f&P-Aw%*`q2KX^;^D2JH0$2J`#oM=*8f_0F)w?U~t6gIo`?I#s_Ki9k~Vic%D=<*CR1RG;kLY< +#DJ1NF6Y4ie?YL^0g!glyH=fTHdxUlNmoO>6z|z=WcBrCHmj2@x`jcrLiPllK0S(`LIvMRVUIkNHv}Rk6(HDZho# +Wu;7^tDli&k;n@*`^=;+?Ktipon?>$O{a=~a~Qe(?dFyB-|k^=8DIF+f4K8Xs_xx??5+R$e{@gSnAv8 +C4loF)2#3c9uzWE`$G*=3`?p`~I~Vq!KJk~5e=6BpLMiA!t)Q?{s+Ekz7$9jW1rP)rtzkg7k*+-JbJH +U-2d8OF0x)m|8Nj;mt?9&oMpLqh7tw8!JlVY3!GRqMl#4X+GnR*Llk~~frP^L`uTdbe~De20O502*_8gXvT +eK%+zi>7EJthsX083K(sMKnpksp6Hj*$6YN4AghNv#0Gmxi;$y9&F?cq`1Z>6kSQ}75ZRro8TS*;BSt ++ebLi%0b~W*9kMsUf+x(es)5J=gE=9V!+#8!AoywX!~m6H=L!$+Ne>I)!CKrM2R_HiLDGJLK_wE +S;N_?dka9v{ab~+AWeFVt=xr=K9EMy&UDa*j2lUJKrtgs2DHlS+@&IhSBxS#8Z5hcc^x-daEceRJ%_M +e<$^*>yA(~n)c`-jM$?GbDuzvknSTeRE69SoZkaaw0w6Gli4)Ffk9{i(JfqoFw8`jG +_w0bReN#^BUq3>^c9$HO8*LAnoU+NiaHTQYSvWAhT^eI9~qfWxLbr%VK^xEM%>@K$l)17zCd|x`<#hB +UL$uh&u4?Y%=Wrcq%^aeGaN-R5`6R5crx#Ypt4Sr8>nGcIkUwK{)(BXW;^A6_EOC<-i^rYvrhZPi?-G +=?m!df&?1AkGl#- +}Y>w*DSwlbMt-*qQ{O_TJrAaJ2PnZufo%-dXN+M?z|%x$qJ0Uzk{ +W;r*9Cf8C{g*&co5d8NKV3Iznt8Sw^*`xn6UVLdjemuebujhYp|FuKbe_9NQAuL7zcr5d8z0$YCn!kO +OKjRmL(J1h0r!fLse?>@y`4rLE&CPX7k3=>qwQ`>oc=9jYXPZZhw0wMp0pmTjuB>q>#0F4Z_1%0i{jy +IWq6m6U^2k&luH2|?W@N@xFZofn{aqC-B-`JTFjEz$x`hj3RSK&v?4?-3A- +%jUW&qwyi#|NgP>mcJc4{X5GCtB3xb<%88j|3o_TWa7iqz29_eS4+le^fmJh`QDK4>sB3a1+njxq~Xi +mEk4PE&+TvrZRD{M&~^K$G=aFH(J>Bh``eQ{p#h`B%Hs?X(ab1@HW7;HRCnN5vLe{L;~bf~3WMt`!F9 +loZ&|(tGVW&No|E!tbx2wN(Cf&;LYjsb)eEV5F|4mm=wC@w&{BeQ9@W*@Thx;C>;cWWbE*juQW}#s+9NMIPT88KjBuNC~XCF!1}1?dZ}p@zXPSx2k)13=}gSUPt$NB%Hlm8Gcau2g1 +fI1I-U(*qek1y(vR_FcrFFc8*SoB%EJCD*9%`w<`+wRj8spp`MD7wB=w#e6mGEn67fNhjpThA5gxQW< +GP`Op$9&N6z)-!`aZ=dnQ>7t84vz9#$@RAg>}t?dQFZKL%kq?yfF~+PLkxYi$42?)QuObp`8U6dTU>`%1C8D$k_2hpOD9EqU+H +wz4;S?sJd)&jt&WKw9;!Pg7MgHlJTqlbIrVz}Dl3IYzR(n*rK>*N1jIo +q8iB5zdDScP-boo8(=m5g>f-fM5H&PWzo#CL2(e0{c9YZkJ?3xeTEa!z=>)R^9AUYzK&K`tlM8RoFh| +@Mn1%;#^b%M?FyEG(t5c8Kq~Yp5(&pmrlMz-{yNIlK4x0cEA$-e{oe5yPJ8T&wXV@Sp2HlGcC9DHb%ICD1+Ug6GA8_@+ +%d1t5i*av7qN@>#5|v&GeWFf+oN{Xe8uETG#s$mI>0epqRK_S-HG>+eWm+|lJ`gV+@8o7(S*M183Nl; +Ye@#>$y=_^a)Z50W=eD-Rh5H8tmJ>MdbS>QyW4~QFOAT3+JQ9U%s#QJG8Bi +lJ57ijmrI@HL(e2N!|?{Et8iZox_mrxzDm?X#wqwUyziE*M&jOw!u_JEbfDiJWW8gJo``GfEyFk4m2C +T*-7RPLdJI;MNa35$=2!ZlcF`0S6up++s_H}f+&Sv(9K?T9`=dTngx=7zsI&$Z2MmnOsi2+9y7&iY*!(a*L5S*?C{^rFM +cKz!IQKtU21h9z$9^pA{_({hwcJlG{O-K@)2S9}JCen=kW&&=J!|c=7F}x{L~gdrYz&$S1Ofhlecn(f +SfEp;H~WHg>#VPTCFrf}W43HJ3RF=bRW$}(gSE^;F>vV1{>*uqjkdS|1PE!?N{>#qR5=!?eOO|15ZI2 +OlN98^(JVL5TfQao%;2|i7}L5*FUB>Q6oJb=e2+y$MYA)%rKCb1ajC|iYM5^tWRIIo;Ih0Fqk(>Cki +UCuguLtbC75?(CfWNEFam@>;^B|G*@4kpUa=V7Wib{72O=QoPb#2&dag$hR;qjrEmZ{N+b}-}IOnRr_ +7{d}6fID_g{X2WMZcnDJJ+rnHR5WN +Qk_}cnrN@dRuUBP&c(b@*f+QvpX+6u82T-018$6AeheU;u&{hMKG=|IFUN<+gqWKu?M+sr?nDUBKDVc +mGM$}~!p#Y`d_4DSMhpy6fu%i*La2sGZZZTdYD=+MNCyIqcktmZ1rJWuUwm@D+m6ULs_Nu}Za9ov^Ow +lv=h?u}M4lj{=4|h=L(1o|D^1IKABNqT6D@wh6H$5j`rxF0g6(su4Z{2jcqI-nCHE!VmWsMQ{Q+fY7=u*XRh+j +J(7Gswz*cp`5PDS&OHiQ)sOTF5}oqF-<~`4G^1W@EQBPt=a_!pIc7#DR6p*?hzm4lpX)i*;1~YJUtgt +s+jR#1C><9%?!0O_s^yK9*${i5{nrWtTF==Oe>MY?V8kPF@fA5V;&V*)hQ*=RR?^;PGgQggm=Nm%75m +eq9*W?mZ}~i-)rHAfJd`^FrqMWd21B}Lvw699a*$=TEh}nOu2i4!PSX+k{`BED@)3+Xm%@B?Yjo6kE( +NDcQ}hbTjK$ZO7~wP>T#vmNVP`?kAN8p;Rdx+uZnX&BFJzS<(G&PISgwKQA5)u$oVU4f4z>!QV3bR#5x2}+>cP^pO(0RU&FH$ph&mCJr_)(0!(>N>0acH&cK;Ig7?@eivXmFOd`w}b +C{SHl{WRwu~$p-4}HG8*6idJrNJ1)=#MWd6Yyom|Fz0%m;_xtS4X8b;v)oH$%ty-Ld7xzCcmhgY4So) +2NKQET>-!7KcssoRK9FNVu#{Q9;d2mVs5ie*UW!tP44Gu=KIlH29UGzV@UL3aAHA0vz_lTT +g3!0R{yjgYh5NN%D&vjN@oe;n8wA+x+S{V6Ni;dMdBeyx_mKK-q?tUezy2CKQ|+r;0MUWlg4u +@hirF&|3)YM%)ulRAFAOvYTO%1pH*2AY0zC8Z>J})x@49zSdBNg?~C5CP`^9`p%CSJfVdvp3viv4bbe +3Yr6{X)=iRkF6`R*+PSg3}pLdmd!QS*+RjAzT(l#nPpHW~ItA +3I|hedY{l<;oz9wxM=t`#A!l0EmfQs{}LQb<8xqC-U&r9mFV>l52I@>J^a$$Yzzh5EKL`ay`Puq0V`=gO!;ZO`Y +HF)xqiK@&oQv9-?E4SuT5_MTU9RAN+LP1u>o1qdf5(GX(^!Q3`{AGz~$-N_m6J>pYaEl)D1O?6rDstV +!4I1J(t&b}(&kNIhMI;Y|YX{<0|<+ARRSIs@C{cQ5rOOF-;TD`86#PCsYZ#pJUTkR0)qG1I(XXx#CJ# +_m{kMMt9EFCgp$#-=O(?mCnZ^$cXQjPc4QF;siv{>Ty+!eAt|8O%@?s6C2#5FL`1@4HeYY&?EPT$Q*d +^w6aFVCBy&&Ok-J=lsT<37eJzgxjKfD+f9*{;x;c6!08)pbR_Ka;z7F)HoVlCKyR)q^okD6yvp=6Y!g +@)p3aicPeq;hbGak=kyzS9r~Ur9t7cS28+JZ<)o`lpp!x7JKbiP#Y9%C+Y(&kE#XxZ3lkHN7DO$0JwVwY|D$^yrrCsWCw#wNVuAfWGJHI> +WSkJ(zBDNhnysG&e@E{(4{@LAl`60Ht?R%WiyqBXUA+_C`6JB(!0yooI9yt2kYpS9QFZ^y1Y;Ahjsd- +0s||5?oDLDC2g3Zn5H+`~jwVUXUC{xRIQ(Ll11QbNG0W^+u=L`E)enWVyjY^orDVCke1~aJXrw=mLjTkj)B=mqH6suKm*OznW;%x&Z^e*5`?3 +WW!9oFH`I`NYOm#2{?xZUJzO5=pP+~yMi9r$wV=4_G9|~di4?I$pha`%X>1b{c| +S|Ve$`zod4-%b>?Qte|!mg{8F}jtzoS7%O7f%!=vA-gD(5Spi;WWGElet@vN`5TN!xrk6O?F(>r~WgZ +|B3eyIdaqOF&MfKC;$8B4PmI3!$4m^=eVf>;hl3ov@qgMMzu0{p2dkN~-sLCKft^knmJ!GYY9CjLbup +#8+AUrz~96vRfabyTMe$aVuTI!1v>GGvR2NZD<&KLaypbO!8L +)*I8CcMEVEOM%Zdw$^vQti^{A +z;TWuiPTF5qFq9WA{W{*&8RGXBfAio12Xx_C`IGp?Fl5p011adjz^tLm%ztE1eiU;bWz?VMBtQT(H(Q +>MeNm1YUx(1ZQQ;;X{rvs?&fA0j?*0AF+k^h@{r%nB`;eMKztWm=_MT0{<9Mmmx2n-a_K3PX#zWOS5& +dp4A?BbL6kaJoO~v=xPCa|p*#3A-j*i=>mB(AAR6a!Bt=^+nO##P-$_R6$W#RK#7ASdXkj@rbC8;>M#+nBJ_Xxdx4bm(q6oJp*r1+!cbR?mEQkk}fXdeytLBcxUd9rb4=O2JTq*seQpGmM +;(EkhT(|cYoCwA0h=e(QlI01Wr180^;y^-S#&v;F76^7ZA7R-D1arCB3iW)jbb7s4G8ti(MxnE6B63K +Py%iJ>mpvhw(4OnwfDRANh!1x0n&b=1KQQDuxh9-beWy$o()yx$@29Cn&%uu3>5>tg-Km(U<)eOq{;q +)eSt|6OCi_r`+ohO=N&BeOUXplhxmohxJKCCmR=}+FO>o8EEB9xyhc!bdof>W$c2UV3=3;5|i#_3GcC +4K3IPZkve80Wah)vKEkC4YhWys`7D3Od8PAKfe5JDwabjkZ$we4*7qi4-h`>yQA2f1J^ewgrcCqCW98 +uvj?%L4Hw>8N}OI%2Q&6Di`$r$73G%ei^1?lsE3keRPW-JNmnxJ2B#H7hsu4^8kBntWo%X*!$?| +=%H7Lkzhll_p7VCO)1OPIHZO260s +31vfdQo!I$y)<0Pl^x3jLU)AS2QRs7_s5QGCOF1x$-sdA_RlAdaIH{)BN)h{pv5{|H7AG8>^`q)@Rqp +xErWQ_%&r1Gf@p4 +4xVtP7A-6?N^H!2ioW6D(ohyGoV_01-1FK?{9hcbo;vzd8(xex$MBi-ldl(Tt58Q5Xdku9sBAwGS6u8 +B#t^%(SvlJ(5`%>m~1jd@;c!S-FJ&3h8G(lhnNkfJ$lBYoldV{l6)91uaMw00QFA*hoE0F=_4MAhMOB +EQNA5=Z{>4)nN5{AN{63}jqiEni_jzI6q6xr+cZ +vkbN^ZLT)Ma{Q=3odz0?thi%LEk1DW%!IOf`U_SlDi^R$bu#E>a*hA;Bv6}R@a}#0gin`y<;+E8hS7q +*`tD@BwrGt&{vx?gC?@qGz*9^#pf5(68FnSqYV=^l;EUC8#{UD^+Mce&NXvpkcM6+RWUTw=2V*(C4KK} +Eq|v6wA(x}nLvSKjdpq&DSD01%hc3ij8c`d+Ebb%XK`QHHQL-225^-nMVHC%ta^e>40>7f6LX +$b{14A^D{f~6b#B*2(Pf&e5WHW>qgfj`8b3uad$nXp>|^~xo;z(EuNan&n!<|_}~W-~Ahs3cZiOd;UG +nB9y}@ShzhWWaS`#ce7EFT`w~*9-+9dcAU88^Znz+eS;UO?t61YH2!B9re}uq;pDpcoR|frTX+K}tKZ# +6GA5$qf<50o4q3x~rc|0sMS-sTcDt%l)zfi;F+_d<>IW!>`YRdkZ7mYGMboA* +uR9&luAUYYJG4i{m~u5D52<=%ts-#d$pGvOIcXH4r6z62vYz^#wH;_9f)$t3hjMbxtio--Wf*c{Rqk& +5jD8m+cv1HWiT&_j`H3*%YgbwA#3SIYR?L49?Y{1UJ?PxedZ?+r*k8@|Q$PPIkd;Ko)J>96 +~n=5q3@Q9nRC2nzZD>79E|Zg`DHr-G;;%8UpQdqGZtXyWved+2;lzDb0#>1KKId4bN$LJAf@LeKV$WoGy4J4!db +cX_DaVuK@a27krixoKV&zDX5`vI5rciQ7LV)%)uSH~G(9s3QFMVksQs=Ls_;Nq>X35gK0^1(tlMr`0B#zc=$R)S}?xfjmQs|Wk)^Gf`8H`y5OGvGJ>~uy{kj;9@&}TX8HA);z<|X- +w$3~VN9x3~!k2QBZl`d}i^-3GxF44BwKe(69aMgV +NkZ>Rk#r)ul&JB(E)UOxwE`jw`@ +>nG-$=j~mORT#aI{5p&orI3sh^QiV&m*(m@y4u1&Ll&QmRBqv|H_imtxfbQHw+$n-(m_wa-ordQC(gp +6>W=odB>E%+Lx>X=61-b{8cgyZV#iD1LFPBsp5D8e|wdrGZ>4@!#C42*od+17-j2~4-pP{@*26WI=^E +p=D)s56->Xg>54x)EA2$?Ve3@Zci=R|@@#_<9-8ZJI8NPJr%{&9lvyTA;b)0Dy*S@^izvPOx_E0H=jx +sYw1?g9Pkp7IKTmhh#x8h?3}Tya3AHY5+&Y(aZv1TQIgS +|GChwcTuP#q)5y$NDV1eT7w@y+rOfFDJbfW2sstqxZOo)}5lb2@hRGHU2%>BMV>fTbW?g0b==y_ +o~hD(X!)lVT{1JJjOqi)#qbeLf8ZFZleNVr-Ohu1-{RR~xvbrFtgN_G3#!T6^mj1oSWaVk0xmc?;nV2 +HScI*8W6s=w~u^2dDvlSlR!BKKtmmXir=oRH9~3_8PYebGkj4H{Rf%knY#69=k=lczYH>X24(uUNk(GK#4}RCJTu)6nMKLeE}zwFh%}l+zv7qmdk44wgf}v^1V1c2cOtZTD7B3^=uAcbH7n)$97c+)Ki +?l*@?RnJ{l@U8J<}RB;+JEPktQ~12y*fV)4X@;)Q{_l0IP;w(^uI_%>JgH2_XYeOI1i#=Rzzau|nLn5 +ZC)9h$7H0~@!Ma7d^+Gby{gOH +4j~H&y+;WFvMsl6tVe9{)}5T;2I>Qca})x>4&(=AGPwoVfY!3)nrbl} +uHavTEmL49y`_17T2Tvn8zaG~+3DZS=G9LTiq1A?T*&Cl-}WocwVR$< +aR}TgZ%%`O@oqo_3uUDSw|qe7V>rE&0$v@!ek^%k279I$r+B5dOD&eq#XtzSkep6(mez;Esz>0wr+@C +&8chjs_1TaTGu%Mawh(xZ-Y{}WD+Oa%oU +83pX4RDWn%M2B`Oj_ye8*US+-Ig%$3e5f%U+?Ef-36ld`LDW$dxkIfT_r%1fSIeiK6NV3*w*w&PGi~^ +b_~M5j976|d`6#E{r}CHZNCdabg$cjqE+lujAzh`NyBqz}ekexyFHIwWo@d#3Xslh!%-w!2KWG{mcd% +v*P;*oRoG;%p3Fg;r!wh^^Udcax7ij$`Q9S0`(K~XBk9@`URiO3THkFeWuA~j%_sq!U!S5l3e>Wa=uw +xnHtHtIn^DI8N@yjerPE+Y`<(u5G4X}S)c(;$G?Z1t9Lf{p=&)(zZ_Up;@yAE_I)~_c--(&rTSjg1e^ +ox1b(`H1|(Y9jVT{_L=r#G3YW%Kj^aV&J$3`ma4U{`0#0b>I9VjvK%JL_C8@04Sr=Y3A&QOi_>1mUxM +(q1t8RPLtdJOKeNo_bP(rm#}aNKt44SM^+_bB(&*RkoC}{)t;jD{$*_F~HJpNzRHZH)o1^)jAreMZMo +L%+=`|bL+tC(~j97SlrNUjO6AV4W7J-Tea&|XrFk3(-m5S_t%>UP*&>m9*}5qzVdfFJ+bdC>zX#^X~j +W{9s`5fc=%v*rpfM%CWLx1rqOtr;8@LM`65Gx#gsDuUL~8dRXH-ZvuWNqtnic5?IMYEPx5{6jOG9(g& +Rk|SiyPk*h8b{{&i#Jq<0o95rGO%h2r_#YM4ei7I*aq?f5vzSxS%;=9-51t6D0hHv*-sAG$^FfoRze1 +i7m4az+UNy>c}J7X9kg;CU|eOgYna<8H)zQ33^y3sqePkX>-~4BwP@glYU4y4hZXY&fK=H=scr6H~go +lGi6Nbu}k%$#)jQC+PaTV-<&_B{oW<@dUA=NH3zSzgS}s#MAf~ulFthBDbr8ad*;!s_h0%raUmMq-y2 +Q`DPI1-RW+E7l(Ol^smJ6;ew+Ud^Tz*>w=`yYvBDDT!TI>W8XqZb&gQwHr$py`jE`40pq@;(p_ZqwEs +Ke*>C6dNL>!moEn}4TxahPBo+5(or^4HQn^{UT=oaXc<{_d|0LnTmmcE1eOI0QrXB#_;j7T8-wMdD9- +Mb^Lv70Uiz1FWMJu&>PK|qxR>mdw_7E9V8S--?;Om)~JlDRRDTK8xx?s5nYp~MT+aD_ztb0yaC9*|r1 +-UR_zh4Yyg=)#5=gIm7nq$7?xOTkfsZ2og+EpBHdaA971=y+Y;7_sEhE)~I6LqM5MqgH)GG>1r9O^WV +x7z@|U^3Gd@AO9*)L}n4O#%4!fz8t8c!Ou~3vJT0VK5La8gw`_D=k#Czh5OS7_>w)6)ilD-|X=lh%yH +J?2s`XEvU3->_~I}o1B?9eWB?`wjX!{=_I4GV*uYce$V@U`)`h;0b|}r;=O%D`gv^dXQrkFl=kLhK<@ +i9K91ksF|a_=A}S}|lzc{1_cQEM-lrZIOmoa+KOjG578vYy47?A-A2aZeneO}Tm+<9{;4 +^iOR_HGS-3>m9lp +)csy&q$@?Y#-qBA#U`{WLeK-huezwZ@{Yp(F8vWg!`=k?>mnw|Iu!U +#o4^=&%%6vG18L@1XK9q(%t7)F0gvPwVS|M>isq!fxtm0VxT8&UW-Olr4dL4p_$O}-e2X#UXra4vdwyu`efN6Ur4fn8{Pf3*uEm|^h4HlpVF< +?9jJcz?rELwei#vcNK+dF^6HGihxSRa`)%Z}XlB%pj`*l6fbfB5Kb>%yoRH>yX@C-R!QtxsHLxRj6fV +^HhpR>-&=tHk&(Y*a;yg#&uNA<;~bPe{PxTK!^;K}udcC>%t_9$|bh(}?j?5P20^~_yebq@k?L9pw|x}O%g9@^NT1Y+1|Acqzj9#&h2+)RrSG*@uYjU +YUm`IUI4jl00_(Q^fPJU6r7cVZ@s?fN<@T*K|O@IZ{5JQ;hg?!7Pb8^Je%H`N8bKSd=gQ^|Zv2|tYxq +eV%D=X0}NPs+SyBl0eE=n0EJr`wLP1iqr*E4w$qx40A?nbJ{c`s7BW`~5_4;&K#K5EAX%A|s^vK +g5Eh4cac*4SChA4IfOyp;o6#pn2;m|>%r^w&%&rwHX#=mUF$bT3{Yx8^XabcA|waWS^3_X4jq_g>G0k +}^Kg|CTC+uQ??n6V0oHNJ=ciz@z$&csD3^ZcU5vqu?#&BsSR_G^Xf{2lMgXew_Z#Q>)CC%LL+U;}w*n<++c%Y*Ja?4@8f0x7q80f36>;8tw(!sY}EM&U-w#KCk;pN4o$O$`-u%IOUuRCN#`^|nRrvA0qFwS;6G(Y8vPnUq{c7!CECKgdsh9Zpi-i;yd;%z(R=Vod!DHZudoClX +6Jx$AOtnVX&btAqcO?-2^dEkb6?uqqR9tM})XE;==`@xRBWIkMwd4ce7uF5rE>?XXQN8x#RhQ-|9xmm +(G0ntGhs4w9GL_j?Ds_rVcsRD|>pQ{%h5{=mM3|QjIXMUWWp9RlQ5ifPPkI3qyRr@ve46kCw=Z#**;H@V=`{9>!wSG6e{oFiG?;J+_+0kDn;m1j#pXlHWv$9ewo2V&-z%|5gWs9>6^ +LVaP8EU&eB$;8qZ34CuBvMvgWK@Dn6X$zI~s_X?>9n$rvTb&ykm`Rv2->%e$BA>+~j?!7YgEa&ES~l2 ++*@$I>?B+Im)n4cf1Y38L-Y5>&Y&D2sNcK#Zjtm-UTzvy83lWv#5dHXff%H8fv{ +60Bi?ABvkT|Crq<^azkUT7(B5w$2&0BFsq!WI2jsWEtNgyCh!Uczz_Ts#fzAv4BP0ggSF%CS<0>~p`* +-iwA}>7q=BIPO>&%Nd~8340;b>35lwgYz%=yW}@s)Pjn|n +dMcF4|&72-ybzh#uVM6rHaH?%^02C0<{wbOfR+{hRsPC#4K2}Saz$D9*5d#{S?AO=`i*xARHrx|B_oz +?n+HWEozkT@DLEh4a4%IbKF3?~O5%m@lrS)|q|`j^wdjNDnmrKI0zPiSUYWn(fG6dd3;SngMyrm`!!h +vsGvV&254)kIP&pkxfjwDsO13dp!C^N +q(MJ~vOsT@3qe5Ia?$mbksn! +K+%Aiv;X@BhNsibOX9EI3G|VFCBwOy3WOy&95!qfIJ{sy~A)$#u%Y(KNCDA +RJRn9v1L|x^sJ?mT2pI^m;mRj}34OAg7=A2U!}wPO6Tt@y{4041`wjg$PaQ=L%o85y= +}3tl6nFfn|Bj%8ZiRokO&_{GA1QtW{nVTjN2(Y3RciK73jXxJPLm@^oRUW^I6)jE!pM;`4nC^E$DifcsdjWA=#nGb%`BbUH$2$7a1qbns5`FqQkXxY&ZdbD>r(z9 +QvOwu2>l{E5un=IgKpR9-PES+a-Q`p$6XL0G*{LP_===?CNe?hQ20|V+W_~$>RpR3mszNWJj=v#32?X +*L9z%~QZ)saaGDJv77BiIS5w}~@xvE~_f?@>D&VQL`b$!$`xeU*xHDR4|0Uo(veHUtotPIE~?r0z_8M +TMui;j)B1X1-(2I3J1kTjcjW#rp(@2($M(j|A3>FnfaVeVCIA_yneuPpD#`2(_IG)Jo90-zXg&wMKkd +y3ogoR_c$D4k&>ZsTeg4nscF&N1hU~oPcxb=7h}-X|=iR$^4}E&=aEx_ZL3YJh +m0pZA5%L`^&MZ8Q?jiKf7Y*uQPUbxILZbBHfbvh$n}9!wvWF5U~bI$0L%y#z4qnnEM6W)h3U`HdWT~RkBjwoe +P8P!7Q3_AZc(%RE}J76ZEp&+72HIDE{lom;lYd)#);*M^?fFWtLkcry@`YwImtP|bEZy^-bk_2HeQ~{ +4Y?={^v144Isik>-D^ngoY9)OoQTh?4c6-p~QRAMiO)!hEnzF+()v$*e=TfiT>1nh +`tdYjSi!YXRFF6T3Au|io@U{&a#(T2o0B2TT^UZu*W8`NZB4aCdc#4(6Tuzkdvdp=)8#!cBugc2kUn% +teG=1ip`1rmvME)kIn>0}>XxkwPnGz$O5>g$j{l6n#k{al%3-z-O#Jop==0K1!JL0JZnr610I|u +!D(YHFF?7Cp4^A0?VqbH;GNI*byOO@)Vp`lB~wz}BTDY1h?0RPD1&Nf#1MdiI>zF4-qJj-37@V@q3U# +8Wp@hIPuP`@?_Ct3(3tGO&icmqKJyiN_xXce8*urOfZJNLW{ta7$htk?lXib6&Z(yswz?{*4nCh6Bdt +5c%pNQ8Y;Tr4ls&6?O`+_;ih3e|$)5VyMY@ZG3+lRH@mzPE*OCKrF>)l(!SzZQ15QQrkjX`FG#fOFg* +j|q48P380Y;M4s_A_bu8nt(h2-2YTvP~{kRTVz5|`VfkgAIb*-S8QlZ6JRS>4ii`Bu8wP@@(Ql{078I +_|-)K`!%+pX@%bb4}2!iuLfiwcjQpdevi()UMOykJt)9@6dpg%r6#u0q$2A!N=S$w7W4a!3HPI;5hta +WmbG0#48$BnI(~Ug*Nq5UC-dzhdR-5LfiWvp`OG4*Qn?J184dh)N}YRspm&ZDLisc33}Au9Zf_(6gUD +tD*B@6fG|6*IZE)-9Vz{sXGa}6*>L>H`;f=7_n~%}9C;riIgk(zANePUI2!2fAZvdSlOOTJUuq^ohqB +KO@d)z6%KP+gNWud&g~9PB@#zeaKu7f=8GL%Q2S;iOgpT|Z^;um%q!~Y|Kp^@7j~|X6jQxhe|No_)OF +vT2kN&3M|7WP@(m$e}zg+4Wx~F`r5;t)5dx2GHO~SeD(T^CQU-zwn+D&}EChdxlY^3;irhNzAS(fxUe +`S$RgiO>6uIQe?ODc|}VouJxZ|FHME&%_uaKERer8deev9$N2I#U((*1+s}qtE>Gj-QbZVl{}|7pyQJ +*Pb&KwM?yA#BI3%p!{mNeYDh-#GjC$6<<0uPg|D^_V99f9Un$?5-!t15g;7BPic9p!|u+Ktc6R#^a9H +En(4TesQfhL74)j@ku|TG!JAu6+bQ4ZV#5@L`6^g`gw*EoxUH8(u$`Movq*>y&3#V*dSccHHI|+KGC4x6{&(RhCr>N&=z`4^fEjBxpm-|w4S1-Pziu%6X{|)tAHExAx3~ +7AJS3n#5@$`U`Q*nKw9`9@DUFp{D02N_a*4R<>2dtF?5}o{U#CMOVZNRz8b#;3v_yXF%ef2S9$E7l+2e-c80ljNO?}idsyo +%TqNqWP8xW$n#=Spe71NCelF-C{4C4ggB5v?kiQLt}v%AB=j4aIox_DPl;p~;ZUcuo0lgVJ;&m@zbfYM-J_MnyJ1MqM6ixdgoduh~>Br5AkH+1KsdGVfT`rT}EB_p98N({`idx25%Ftpm +(Gxp6rEp8tt>Fg-qp-`mE1d=d;opAxQp`;Qe~|9;nRC0;+qsAqa${;7?avg5=XV2t +B;g9(4!N(E|aCk5t0$@pgB&`=&5FR$unl*w0s74h<9Na8byo-4Pfa^;SpmIdm|_4#7F%$Sk1vafV|D{ +Gh(=r-FZ}w}KqmjWGG-0?_05;8XG*BFEe?WWt^>9GAN&i<^t=q#70%>1p~%QoDjgyX9r7wqaw#C|YqxaG$(uUMeA??v3fKAc8e7x~=#x+-*d+HUIT5N}rO%`bFS3L})U{I2l0tgfwt1a7UIM^&a2u$U;UAN6QB%I;XT4GZyDz8^bzasd00`5Ma@6PeWX6lQAp +BX|+Hfy7HFl}Wv2+-m~)x}v$$InEWjKaDY^H}5u<18YYR~Y~*6N4Rai1fOO4E-2P1O`Q=F0PLET>CVy +&Q4X+H~;Nk_%ZP%{0SLntxYz86xk6}fT)9a^X`eYMLyX*>W?3k1-18Jycq8?yP6vk^38(TvAm#CD9%d +CDJ`kkb)KapZxlfCoWHq`)MAJqJVM(U!J=F}*}D;DeX8fap9#U)Ldp7NU&!SWZJ4{?I_`VrQ~E>;vtp>+e((RpZwbP`=~hHH@n(fJR|wZih!qwUDuLz7>#W#Hmc +HG|Vz#zAl^8LU(2elP5}5pS3!rTxCW!9FQ(ocRHGgfBq%jyBLMXMgp1k9>eOApocY=9MBbX!gjmgV1R +_OrS@qKKDxs-06JjCLNhq@!mOWOCj<=f(oY^E>}z&TlEsyFnT;ugL(*Bc&&IMzi#6NvmpBPeX_ZK&>e +R=p#0|9B9DVV-By9#a>B$zYGbUoFXd#mic1TlMUh0t@YMwC-ziJn{q?HKrWTxiFwhHSmd{t%Ss6r6ze +_#Y@Xk_{j`9O$nC>5s-#Czf(;&Wn}`cedOt{$cK%Q8myQx`U~zc$a>BybI>nhf+z9cc16bfX$NsJd`n +M5|4TT;zrJl(cE`Otl^@*FKRE1n7xmLa{#cPrfasC^#$g=CDHsC@4373KAp%gCMe-3h +bx;>(hD&3y=1CX>w?^QXeJOqty@iiJXEX);XFK?cOc?ssGv|qTO{Q!NJ#}@S{xli1(jQSk?@ZtM^Dv0`sACO!0%{ +KPmAMuD1`jnKN|aROBXsd=sU*84gFqiZ1MJYJN;{IK2z_EsBYh?2aZOZO&$flY$%6Gel+y!Lhm492}6} +cc47gU_ij5aVQ@or+lYE<s|uEf^1_;3|Kk|&};qtA +nQig?gO2P!G6WWiCoU`!ShA8Hp=B>u+7?X4KLT-1m2%Hfa){$s`VgscVC{>*2IH6qn`5n^Q6R2NqeT{eOXM +z!DyI4g;38z{83}&5_t6a<#xa$AMc|tVNs^aUJviS!+&=pSkIZ(AgRiM54NzLZ-Eldb%xVz&ZFF%I>u +zt)N(sLfgqgG2ESMJ$QN+a(zGAESJE`K+f#i_WM1wc&%NF%&wsVxyLu%OWa`$_CSI~%zUl}-1{bR?yV +K_E1@Q$x6kn-s!CuM}@Ra+{Cy&1`t4=!E=_R$^xCWddCYEJhZbl)W1>pJ)UCMuL4uejrR7nDKFGfEr2 +|7na*^a#(a}@rPKC746yvh7kRnFyFP~JUTR`)&vc^djlC@5g^Fw_c4i1`XtH221#W6+^Roqe8vKwl_#de9mFN|wijI_71! +~syQF$wI3|YJ>+3D_E@VDzv&+gZ2@Gc`eCu`_jo0l0s8%3tNlPsB-MLExv!EceLBqy$`*+$Jv2{Y2v2 +Q@u5mgT%T%}FaI-g$>ocFmM!$8EU*7?orU7;a@{tU`nLHSXu>t{>msjXj#jb<+BXckoG4{BJRi9sLrY +pqc5rFdw-%N;J_wKZ-Ksmv0G>yDLAcr;o)q%B(3ErsNPsxw5{^`hfX{JBTH^(Mv_L1$z0jse~!8y&dJ +_*dOzg=SL8Xu+%yCZ`5zA5&j2p?h8gwpTI+Ay`P@r$o +pSogXy>gH`xdZ`kgy7iu#Bc&;qN$&SDvc~lj2FP3o`x7lMF!u`eG;0H#$gAfwT#5H6wpzvN?0|$gl`= +zX2*#Ry?Wl@CQT&qvpmvzGZ{Oh-2;(G-5-|1 +)5?Jt2G(8|pa^Q|5haDe@fgMBbG5(kC#bI!~IDpm9vjQM>6mR06;zu$(e&XoJRAbl?lM~oMz5?N|VsQ +y{q@z>pw}|`=!GDFS(vO5(c;K-^k3TqAUtoOHQpO*hoI@=CqxyPC^%F;?dq4L+?tbDOB*yVkegGy1zY +YCVd}5z=$~!KD$o(4sF{(282$cCZQ}_c!4mf(<#;{w%IlgEAZ=kB;CgJ}`BY|A?x7-}rwRRZ0ICR +pou*th8B1HkzHy_k{H)rI!$~XhuHw3qA#2FS30k_FGuOhvGuUz-!3lX1I5gt35m<^KNp4CqAAR(oQMI +7IQ_x@;k?E7(Z`UE!4i;ygY~k5P2p(~re1Qzn?{7RsY68*3;BJWat6|sD^Dj{Q9tfW( +?V~_e=3lc4BGVtNRi-SC0qKCD>g7b2tjUl)k6R;Dh{84I1em)2OVqp^~U8XgZmghMO%ba?wNDUBvvDMBFVb2vrX(wrMXs8+(GBB6CHbVoaP^I +5cj^pgw;c2u7%hd@zhb(8Uq7?y%E-2Gmvkm=Ep(-MYr?`Hdz1t!?WKhS%xbm$KE-d(OP?apE8B4Jj7h +C2j?FY2bQCnCi7J^RqJYJR6Z;&y5z4y=F=n-5|td@dW)x~ju4tjA9SBOe8Bv+BMpkwEC|1P|#QHXSWU +&mRnthr;+$|>qxz0>DsE{HE(yf*R4ya4^PC=Dpb(id^Ei +C~?M>n$1`m`Tav$$ClMSVsdM!5YKF-ogXVv_K%KcjrZ6F$gB^7F7K0jbHTJo^Q)LONZ{+-?2=le{NNJ +a!ZRNnNr&6FpWAg1(b_Qpw@8*Pk%IFvNUNO=CPV$dX}ue+y1RVfa*S5TIEG%^)i=9f087Yd6Q3>eQmIt-*&*gii|arMe__$z`6IZxq*IhL7sUcB!u*kf}S5 +VwTcNY>u*Ro`osN}I1P)mC-px^Rmgvas(yXgFHsfp1FG5q6G(vs4nYLC!>J=Rg(K9CuP_+G2n0S_XhR +4Ak`#fS&tldz@no +2_ahJYUx-%lDV`EXyN^iy`3>}UQJsv-{o`$PRcITVKWUH7vefCxKY?~_T%Bb!F-pfCC)$Jr%K*~{LhB){{pI7|AeXzkyH3b +RP}A+|6x?6{$o_Ntut!)DDmRuq*aUO)h_*Wz-{6Hleo0pP2jxL=Pr5;M6bcE+jqtC?t@JXPuXZ$*E8R +l9i~g2dd9a@jSu$~=N=KG{dbTNut<&M7VRilyh8)7T|?TH0`mfI +fieSgd-wB*F9fnFTIl5se7Fd%aaP8j(5VU4F)mIX +yxOlXXK>|9!h-#WvbE^0nUxc!)BXaeyJPYIt*MO8Vl~xF-?gR??+*Pu{_;fEI*U-;ju#)th;7PZI^^o +C?xBsa2lk;y&Y+j!@-om>H?$YZ3dF{z3ewYH-k)}SfdogbE$J>pUgG(a**J~Uc3!uRvIlD2Mpd(Tay= +B&HVsJP;;$;;r=Sr7;6|krQ=(^Act;Dv^sKrRdU~Uh1b}}#>nX=_teEPA5T}^2hTOZE~+On9bj)+Lfd +c6PD&9WSv6i&@b20q)nz8WA_?)}-aP%dq$lip=bJz|b?it%w440b43vb*Iqkc&}M|pPXplCaA9eW+W`p}u4oN5gUYec#QxC)IPo%nmD_4ZWu +^@#W{`$^{rgfzJIN-&FnpG_-Xv)3$eX(WjZ^?0c#$K9Cs&`JRRVDhz9oanmU$1@#alGl+cF$IEdjQ7i +xcZ48)2HvQ)mw1}gcS$?jRm+#wurOzufal`A=rd{+uvLMic*iA+xW}Afxpjl%Jw-|2BDVCSkGI5MwB4 +fE`J|+N<;IKP@fq+wGv00`qsuwbrTWp%+`xp^+h=1VZeXodDE7@pT{Fq1-o23Ve8b9~kIw$x)rV)G10 +Y?V-=g;jN1~QbYo92#^$xu=eqk~2Rh;&Bt~t7L+i&dB>?$H@FL(_RW7SJrylL5pJ9n4-5BL +Fc|@uQ#=`X4;yIYe%tjL9h*5i8pZ~-Hf^Hcf=~U4V&v>4Uj5tas#c1nNhO*y|yltygYhyY_N=VCNe{Uco}ok7r=rZ&$ +}*Jx6ft@?n`2LY?Fta`aCYV!##FyJfNEio2g7@8p-@-1Oa0)B88 +c!(TP$f3-L#lIoxFVNQx2zU5&B(Cre%LX}^#AI}o-RwsmC!h{u&c4Gww=_6b9kCCq20}mW9^qqY5T!m +p*g+`{K8+!dE=l`^V1HTZQXfJcE&e`LNl?i>Ba+` +g7_TIziJlyV+48~Q8tCYukU@V9LxQ~y|N^N*+f{j7oiWZJ*a`Y5ph{$7m@>tky+JxUUesz$0dYdZSB1T49VeaYmWQGcda+KHsTvpPwLPysaZgAq3cxjZiY;$q +V*>;-g2^Z-^!Eh4lYwOaTo!zOcr2*S9ui6JDRD9YoYy&_e&FLUVoDc6rk!z;Lim#$$*}NHQ<|3G5IdVY4{!g +Q9Ax_f1&C)UX~!;Ow_}a$WDD`hqvDSk?gQDG2~extYD5CRY+C$UVB31p(Zne3}}!7^bc_TOW}k6h{}H +uAs697)p6BhRXsm3M#Y(P&f0<6g{DJ|O +pHws{|wRn#e6V=;hMPkhMT*O9ZIlT~&*WWU6l^M3$)Rm9-n;vCf1E`kI#&4W$*4fJh+%#&MuD8?mPPZ +?_I&-UxB3*p9O`IKVBco6Fd*&zyDN}VuPA}$?5FnDE-Z;3aJU;;`*S1h48_Iij*gt9x^h@`H{7*W?zd +6`nJHCek&QtTiU1fOOGhmJCN2>wMMKf7-P!GqknJGD6aBm~IA;qFcf0S|KLFP!3+6`aqa5gHxB +e!CY0zZ`}i3rJA-wW4!(t>LkDb7WHX(T_DL{KI0!juopA`tUcP;~LSACLwa9E&j?WUd+QOM)1F!BF+b +=97&&wEt}V~CSRF>VCgH9W&1O|KfSxnr?)Sj1^90q;^A3<|HdI6o&`8E1plc+JZ262HxBWbHSnJ~M0J +ioVkOZF`0}Yr43jRVz%Y$KL2Twd3w|afl*?2m>(hwC=c`0qwCPc|j6wl839+{B0)z{ +LD-2PC@|{xI_Jne+0ay;a4_^a811TRsO>b1<Em{mF{{aggsVC<;>uf$o+P1W}wKb_@E6G6)I-5g3GFY=7&gIo$ ++3ED;$T3)dKW6t!dUq1BG!pH=Gk$eSKH+fNBSivGNJ{3mWWsPWXX+8%$}xfA&3ApB_2Mj!|J2l1nvFp +54+;L;;n2+&^`(A{+IBkunnmG|Ib+!O2wOd#Y4ZuaA2y)bbU@ +$V)T3qGCM!r!p;FQba`6IBG?3@E+z3-*f4S8yS&!hI2q7RP={BxCabQ&9yyi{GqK{Jk~$QQ1g5a=Kp< +z8j5xD)viyHeDRW9KalgirJANKL_jucAYaCN>z>X2nP0L(qs; +oTrf&&=&$l;OzU0bUaO^b*LNn?81$nwzRhddxG%evg@%)7HCM40$@KBP-Te?Bjwm@8(1%MVJImc=`(sbt +ct!A_yVYIQ +hbHJ^)|_};Y^12CveUx=Ch1mR2D82D{>C!~Wws%kFLzn8Os$_Op1u0=Gkg)Pxb$;xiEWR<3Kp$`J5YS;T);?~`1Pbi=zJPgOD#^@)}qzfV4d{E~5Af&;EV>uLAwegsr(GfdOPM+?s%&ID%)Q6ql|;u5%a0hR*84Ox(=Wtyhjc)@mkB4=}_P895j06}wZFYz9^WbjltxX<(Sz +*R-r_wvdFXEkZlQk(iAvhulJqDt+eeQ7vP$ftAKbCX`R4l=+jb^hP +CE7h&A6dM!N^DDpMr<{|5Whs_x;|n&I$ZCe(!L5z<=ZS4z~yV1HZSaqIYNriibViO7M_9}v@T8^r=J?^<+_kri8N0`@?}0Kd)MnmY(xt;v%AeHj&`p2IudWzelU5MazFh;%9!X$WB +ln*h&99W!uXYOkFRbQ&G}52U<`1L%!ET}$gn=N2krY871V|7Bh3t0o=&k@lI1ZsO^7Et%`QiCQN2jJk +gET$T^&xsB`48677hwnFQ?zmPYy5f45FhsTXv-KMx&PfX?T7Ah!jWi{ylJ}m+hQTg_q7sF_LZ1;FPHm1O1=|NqIlQw+H)IlUs%cPov%bYCuF<*mZp4WhP?A4iu#izf5 +`*6?mQ5r`fJ?`huFn%UAE7aZe&!Cq>#^jpEJyR&QSeNYA>0+)!sIFetQGP153^sk97tS`%-l +_=9s8B7g#Jh4VLS;POr=!D*M0+WxLuBCJ8e_7^0{CJgp==Xgre-e%}&ZE?Y|3x=@z8LZt&7J0Uin%&; +3zOE;z{j+|_WXtXSOE!5ri$3?GEE*g6=Fis3MBegU>B!2X6fljLiP^Yz{;l{-HuuKK=fjFFqb}Q6plAOhiDQj@W? +_}H}5QtyqSbB%ZDxYpvtN5AWXbITLv5fDsB6rL>lowrRRR1kr7&67vt&Wd!~vkSa&&Oc&nfZ2a?|>Wa +?i;lJi)?KHSG=)PJ4$c*ezwmXSIXi;Fu@$fM)1W7sQg+?_IETN;Gp6)TP2Ee05{T!;@2?AV=xAS{QPv +mp%kpa<00C|IwI0kV_ia**>}44s&Q)@vRwQta+xbv;o_3LLC#Qe_XL+Eml)y=CcIIiUSm1dv-M$jCaV +l8rmPNLmXS$_UwFUUXp6b&m6~3&^jIj_a6Q1uxk>n>26YqY +Eos2k)v`D%~z)%NHR>aHcd_D0l=d))Kt^7ML!vd>hUcE+gVWhd)iFSxrQCYog-)7py;f2@5rZga7b&= +yANs*pawYPZAC{E4mb(wYSAxp*#PBf-5tRR~X!|J80j@ZjeuQvf=H0*(C0O)%Is6GfIF1bE>*z@f2_A +z2l{ZU>dF#mN+smM&ct_x)`~c#_NTI!^7`8eCn#s>3^6O{l|`#s=P{~vAT7C(9>An9@V&PpzH +HVEd3L*?teVU7f;Y%4)Co@C`5tO2GTHuz(^RR5M-x~KnRXtFiP%)GX#3uQ2hSFh|t={>q83vT!Db|~y{1R6>{FMF`Hh)c*(A)im<-+!a4V9J6E@+a +}pTz5d_l3K9JuD1iOD!SCN4s*xXAor?Af?%$d3lp(zvBLWD0l6q+_rqxF1AB$3jKjV +sFQs2DA$f-}I>t~op?~o1yc0BhT&O>+Mun*m^Up*r5t7rVxBLcsA#$P=m@S|t^7v^3jfD4ud7QHt_vv +$%DVFk@DJzXCfu2C{V(@FfY5z@w$Qn^?NX}AwKPb38i{Nu@*NgwD}q#kIqB%Y+%kU3b^sB);WZK^j5Ssyf-)Yk +Oq-5cb;C~b6~1bZ;8D83F?%piae=F&s@LJ;+QP5C%}dnc7y*iqlCxhzaG95;;k&1pb4!K8(V-V#WK!J +Dd=7*uCbQ@J)xLL20R~8^KX2>yZ86|fPpW(DpCMITD#d3{#Heh)P4(>amT7z@c}1xSLlOTxVnNoX|1y1+IyCl@}{-jRcnV5n5FpDxB(e|9$ml(Q^(LG;&^3bhPo6Agd?e~BAhheEj>eCb+P*3W1K-qxe*g +^MxR8FlASdES95W|)S!{=Q=#!>)>azi6!M@yBPp6+9H7K%1S!{4&)bSxi)u4q3K0Np5$2~ju{W8R0Xo +{~=iO*(OFA8y^+Pn^uxe3e`Z@Y`_pD5i0; +5y@yaYxCW{5YVOkWEE7pISCufoo=1= +!D*`tOHWY&pogF%XZcN+PvhQ%)!leN5O%lso>3bIGD8;$*e8w#U0@i*L3`P`VuiG6CK?cH1iZC=~d2% +tXT$#($_1ff`0rmAtO$X;RWz5A2WlFf6=v94%uPML@Q=TIGH8inA-Ajnb(dZx*=wd#f1dmcs4lZZF0> +k=P(4Zl4%uKW;5`{BbSi8$aU!0_SczWTeC3E*}$auyY8(ySstTn!KSQ>dTVCdzR!DgxT=;(A2wIiA@$ +YW87SDugH^$g~xNu`H~yJ9e5N+gvv-q69v7Yr&_bZG!kWnn2sal5xF2*w7MRFwR3D@fA5VhO0-)ycd* +1hUK)NZ4WlcRP1$LdfSRH1kDb0L|3}=Gvzn4in-An|>P@I@b33TcP!zVVzxOf4t8%9n1bh%f|WkxPFH +Z|GQ&-z{KAg=i81i6x-k-fujToffz}U1V%w50d2=|93#l>$DiTEJlp%9HgvZE!T-s=41Tjq8Ur_>bXjCsty +)@!YBwkmpcDVD;aANgcii31+WvNAej7|mpGiBs&NV%J!HFl=wN3Z*q0aiRu;Qmav0q@te|k*dcb@Z~9uxST=lrL~1pet +ce+MrDp8+Gyw~ntB1P9O63Mwz3^W$-~a@$rQqkyIAUNIVLL02|i^(s87m#7=4;m82UMY4x9B($Y46)= +zVBqH^)1${iC@(`{AP=V8@((B7)9`w@_)MrmV(WlFFzNP9l0LGK#1g#zCxGIuC5kx&*UC!%)KeCb_Jz +M^V69>_T2RX8%l=1PHN+?Ycz +YkUq;+|E<1E8>@Io5#i*&n0g8_lv3(oyxz-nuey*;Y(#;9xn?URimNtdvwIJ402PU?ekxTaCP9u9XT# +CLsCQqHZ&PB5fa2U#WmEv&p&H79TMrd@c$IFxP>ecZ=Hzw5K41?Ry1`w=QbJ!SE`hR{f-ZOBLM{T-Qb*u!A^Bu +%U#>8VM%#~OIGaoG-YX}xuAfwLf}iEUA6Mpp(&y0(OLDY~(7#iB?h~!a0It7io}svir=;_vo4l$7OT~ +*vjFUJz&#B-Fr`*|7RB;~YXVLL1CuuQ>!YyQi5d)lYg}qZ+ZAu(p=j5mo_pwGMD3Pn_Qg#=Et%IXl85 +0DD^3%1jrWPc$co_#=meO1V>iWe+CESS`MqSMK6+AoTs?^kffERg|{ojTc|Fg0Fju-!7oNsm(VFZK_5 +=ICZgeVFnp$#WuIJNx~MG=Z3Fam}U^oK;6Xy>o*5=GQoC^FxXT%PV|4chgU{v?r|T9dpYYea{zatmq>EN)=&mphBU0>!|82QBW83H%3W@tem4e)gOnJpZ52{G*3pM) +$nA0rDZmAoa$%t}B2WsvXW@ZUl+_Y +SX#7dio<@_t3~yFPvYyi+(&eFMDtgYi^&8Rc+Uq|C#2`fS=;@C+fa|qed%2DjCjw2&a4lBRUPeTCHyD +pBpd&-#aiK*Y7^Evv%9NDe0PqL!9?mZM`-#!$=N(Ks}WK)^)lYrEtBSU`ID(Gjm^rl=s&uLp|f6AFDw +=z4Y}uI3TMUT(7i(R0}7?0?{D3#2#R3;Y0;G9=jEF(i+dwAJ3O^5{sa`>(|)4hoiQ5QUtn?AC<-LQyo +8X3azT>wgvU;e>h+NYhOPY4ih9sP%ubs|A81tz%Y)JAWo4Wvhxx0N5)es-P@x>siqaIfn`=*~FI@?CW0lc#a?U +NqBmmsr`d>z$Gq?=MBsPgZE?T`!8?Rj6$~NV@M2fcd+=l1IDgMln;nk70xBzim=DJv4!#c +DblY0-UPS&fxueJJ&X8)VGjDuw3wsIp?0aHIUOIjCBDcTz&1($mb2h(h>*vmFe6OjhaPtAqR^K#7-KJ +O7Hf9aFy{GoOGXs7$wcni?@FV)-*X%_TboAyqQht2w^^`9UC-OXwE+O?YZVA@}AVv9gP8eLdpivJk>o +_bv2KtV7d6+2-akqh$LfcRzhC8AHKO1KAwJSV9F)zEs^55o4L^loV=6N|7?mQHFZtK3-qG`*Zo2VV0+_OQ^ +Cc|xGp<9x85YuMAsZ?A)LnsuKYscvnXJ(B7xuk_u#BYP=(ce_G%5@Pli%}kL$v$s1tO6|4c?f)3{E>izks%n?J`eb_*?H(QJTg +YI8v>5g$iSDF8{4FcGt0`n}RjFi0r`xIr|I~;*-I?UueW`d?0!`oGlZQ=3#8;iW+0jT>`lIiVOV~GXD%9jU6k(s$IO)T3$clM`H%QIao8 +wznu~A{gi%ZM*oIk*f~s>U9c+!ahgbaloIg) +J_21KsmP~O2y^-!R!Y>AZ(Zn;-0)NPs^;EAShJl;E{QtgPtTZmcETGwSqCiMd%b=2%_mCX84H7cm`kWrU$EL3nf;kWN3_ODztCyi>D-G6<$%-adnuI&d!q0{Mcpa{ +5yRG9XpGd@kfga5et){51iU}ID?lwwTh>7zv0{RY#Whs(YEyFW)oAL9kFZb6OS{_5XguaUo6P$w+p5LmFPY)TL-@r0R2}+?B6mB9V48z%go%KQ!h;i +V@g_At#qyXn|JY7QdKlOUAZ&dUq{lEf-o@APEn!E)yd|mtMc`7?I9f7Vx8#FLj62f*ujAmb!=t{z;6} +a2BXnv8Cz&n$r`NvFt)G6Krm#TIoX-XyR%*;M0H_86rI(3~NDB(jIQhwJ+|(vwbusg%)+&wr)_bjT_J~1R3n{C}Ms>I +5K<;%)nFt5B8sxv8IBO6w9k>PO+gK3~9cNXOLD)u)gzmOU4@bb>Y#<@$+mtl+fVIf@xmC-UjITIrzzK +CA>3bCdt#IUcpVKG3@#9kEQDL)AqsPdp6ZDb=BLO64{4 +h(fg%FUv*jORBSI^*ZYO#Ece^vdKa-7F8q3&52Xm8RT!F*lfk~XrQx7ao}e;N$Mg^;l^x&#HfcwynTW +@LDArAQ_{DQ|G67T$&EbUSA<#OFeo#CbUYv_0YE?B{*AN~^Uf!LT@!M)fdY#jfhKMdz0IiSLX0r)dSlB5d8MH*{inct`n92Obm1bL_3V4_D#ZF%j2C_!uXz}QqY?qi0y^q^lkU +H9o(|T_-!FiL^}lAW!#h9sdT$Nh3zHm6x}DZAu?+3a``2~3ipf>#D9peRxl+00byzX5@FqDyD6D4io;ek7AC +E5=I^(!iT6O~mext^ifCxUKrOKC^u?k&uQ=jwt}gz&>jg%Xk(X#V{mWqNLawWrGoAJ$Wm?FVv$z&d)U +9BBtIDSW-v9mQ$|Lt5p-k1dtk+crGrd$ixYlF^1u(^i5o7_~D^3Dt5{WES#($yWgz#^a{gUaCqe6ysg +(FhdgJ1cLwCfn`1^!w_1`wDE3TkSZ5 !SIcLzt=#2frG(AsHVW<<2 +~pT);L^5WJ%)!J0&rgY$v7lW5vD@-_^deR9#+SRdT0&F=~{j&naBw)#_QD| +`UwI>;l3vQ8Fm)K+(rVtNRV9iIu%QqOB+bOBeGA^k#1(o8Ld?+r*5IS;n`%kuy0Pkvv5S*Xcr>TWW5zG0pnU6w1^m@rzpX}mjw8l>=0hHRI8a +I*9KC^zu((!|D=+u()CJxXm+8a}`mlY;kWm98d`o2^Z)oqt2$Xt)5&s-FmXYRY)St`hqA#*|#?)027>Ec0ZoXB1yGW726q({eD6iHeR+1 +qIjDdCCCa@)KzKhV{lotQ5^aEiRr>JR(%2~r@LF5GIf#o1GJocDjj@n1|?Dinz`kbfGMTC&yI*b ++;sgkF|U`9#F^@o7NQGdiyu4uL_rz9Jj{BE)(0tw0;CD{>;Y}r7|iLuv@O+C&?&zN1+TC^9k%={-@e3 +Ye2wn1@eUEHyFYkHGKQ}aw8bSpnuJ#ghhKdJ&N7zY-wxbyBG^$E>;&wqcow45pv?2SPqFNVB +8YQiR0v`uDQ4;O6?Wj8SkWeuaiVX88|?t_X4{$f1PfuExbq(LG5c!KsSGSxg`yVk&*Vt=4`Ba5()ifJ +v`Y^va^x#LrO3mu_6-)OJDAZ)nSWGon<`U(PM?zEa`Ch6Cj-o%Kdp@^w+J6&6CM+U~(OjP|r!Moeacl +s3-?%_wFH&b2N_R?LcRTyLcHRne#6*DU>G8nQobU9)_L5EGnnreV{bzqFx`jP-4Wjf;2e4z24_2rMd5t|ahnjD?cj5Rfg4!eF +yk)a5WUM0yZ*wjP$7TWQQ`81JIGs&t}1_P1^(ni|NPFU9oWmFLQOj#a`2qvPU$B|HOPE31q=Gx25Ucb +2_#5sLhEyX?e4$+sj`Vpp>I56(cPB$c}zujiG6i19UvbUs%%*+*6#63V>18OO@PmLDb5zt#)w>O=`I+ +F)Dro96S54Hz)lgv*pTf-3hom!q+e=pZg<~r4y1qWsWnMwZsDb=1K;dp7%hx1gPEAjf`6%@a@Sc~X=H +<<3!vG~XJ`A})&6}DdLOI*{)YYN{Q~~Y8}_633-~v0*pJ>X;NQGqKYG7_e|p1y$LkpQY<7&7=Wu~BRE +-Wwh}$&NBk^5*RIXt@PH-#eo^-w(pAnnI)EXFp(pz~jKt~%e9W+VCP*7|#?mzJWP_S_? +Sr)3B}r~@@nmlq6}5xzxBeUY{e2gK64~=JbVTdCHIM5- +vJPrS>hy8;`7h60b_#?kz@c=%V_WbByCPt)((bZq-a&F>;nlH=)NBglGZx;}#BkvhpUm7Y@L%7%Wjul +*oW_?o3*N4~fCyBkkH{~+*&m@(;k=QfuNfqKCLp<{=AtG0DVj0e_%&EPvv75ev&pIsa= +V;WJ`npyTVY}4tLB5hn3Q=r0=0d8%ol~S5mvoh$GbopXZJ)nA{GVey4)U~QqfZM@VsVXO6c%9H+&sdP +kuB@c)o>zdCgb+nAWpH3x?ubH=;-O%g}0JCvN5|dC`?L830@9 +QQID3vXC<|h>YOC_rjW5mKoQbyu%8px45)e$TWQOb^=m>Z_7UQZ2je<)T9ZsHo^JjI-Ld`zQ7=71dpS +l&fhzuma^P>qRGx+Y^I#9b|Fb~k|GmlmOC+*Q>}x23K^XdGJdhBDfH+D)5DG!NS0IA_P(nS%-||lBn? +*+MUN3tk@Xbm?;ytKu;h!Skw1)K0IQemB1Gx7dY(NABcThpapN;<@c>iJNJV5(aRZi^1MKao12@tw(G +NC^+TL$6%cHoYO-uq_gPEtd$T^t2V_JSc!>~M;Blhp9Hu6j!B>M7ex+k?b!H52H~?jYahH`|#Rwo5>5 +^UHrJq0S!c4V~P+biit~5}h;a`rfK?G}b)Wf9I$@*H1wg_@}7*J3$xtr>OhSL6=|lp!|ybR!zDIpK3wXoH=|gK}rEkGOxgwyJ)_u8YGjd`V(Gf`PF^33IpzB0?tf89c7dzN3;O^Tw!f)K=D!REW;@MxQoi1ivd5we;HJj(sLJwYkyM!?m45Ao>7w5%{0J9j~ +E#gqfNy5N+QA@9OcxR{teDK&Ds|krowL8?MIC1LymuqtODuDQ$%Crhn8VO)lLX{PbRkvXMt2W86S?`k +ZK34}ACg6p0T4S$AT4z_eZ#=HonY+Ua4ey*zDt!}K_S3U(ZzM;<39X6-tBL{!>n;nJ6q!64Jrs!WDM? +8Ae2ETd=yIA_S`}GJ3dULNNl*Ie6JvT*k5}S&ymxIs%d>}dK2X|;IQoNp%!aN4@6I8U@E%25RxinGTa +F1;K2P_#q#so{E+OMBZt)lyS)5Su_hl0Vmi~ix|1fpk-n9+Ns*Cm&E$ZG(j-M>w-^(War-OWvP55enZ +dzv{IPNsx^MAsVPIQu;rFIL@h%b|;M=(ZeY;P@d+td>+rb|OfGxj`$#>l%{!9hgF4}U%J)ppE +8x4GqDN*vK5|g_=->zAU{z)P~qlF~zPPDfS75a`(yNoTi>+x>W1JTb)g1ffhTVr=msoyplTS^KgZ(4P +>OD=%mo{w&GO3*#F?ddbPmr8zBw5az0fP5h;^CJIHe<=CSG2VC801mKgepcB}ZT@UAcLrScamyEGyDi +5aw&7)A_@@;W_{84*qBqNN^oujEyA*)y$-?PkLm$Fa@-9q;s+_tfhOc)%SYKa&T5oId$HDsVQ~cEofn +QDWS2G0mDgM6T0O$MOQ{y=@XWY(Z91sBpgBV(N(ghR2ui)SpmGIh@65sL6Sr|@k-0Mg}7{g25h;vo$kRA6_E`H-^^K)Ua~FK!!L+ZuP6Bh-S4mM!H?2PDBE(SlJ1JgPs!7L{M2E< +G1RZF%&5+2TK5GzAsDAk!r^eC@N&6=1;qNdl5Omf5M}9j#NnRJ+52@g?8A#Riyk1#Fg$bSNxT;#gjX_ +HXiHX~E4(eWxLUl>e=1)7SkMufRCXm+J{n%)JYCrE(tg{^;GvgM5{!n7=iLNiwDFCHXyK)v~P)oSloytPBdMP;wFOX8Vts{sgUY;(96Rltf +$7I@_x&PW$}3dA_{@H++w$UW(h0QP%e@0b(1IDNJg}vA?`@bqr+=4i(El!+I0k%*DbqhhpV^VZzB*Xq +*8beo~UB{aG=puZ}+n^2_m7>SjPyQH)dMS9Ce~fFxs3eQ*N%*O=+!D5w%(Y*j*sDJWdrjn0oT9DbuqQ +n&?;$aXt=lnWHyeHl04b(1-5CrW{MWsv3*#8%~gh+yySmWo$?_(=IpkU=%t^GO2=IOt*cU#(U{F%a-` +J2~~6y2wtA$Sh&UHb8%ffF&-+PK;ms5+LFa)hd&XBoQJD`97fR{!U{pl@~eMD;T>zRtT +kN^cfiAJA50gBXhrP>G*{>ufMNa#e6Rvi5}7Imr)xm;o;-`%s=Po&IF5nSpL>*_NCAP(5x>`?ekHR&# +b6h?~*fo4^MnDU$V{`FH^-FpHj7~ST>8;x-60kyu4PRlMm9pCNg2}ZAu!jDdbvd+C7SIMwrWRVP^XhZU7wAV+Ebz(~~EIf!jws$x2!pI)9$_rM-51qD@(9`k +002fRu)&h*lm5v@US^4JEelCt+XQCx`hp<~;{FQt-2Hy;Yocj#-;M7KjxF$yX6rzBaJZQX0*~<%GHaK +!ip+^C!Pnp39NUv~RBXWawMo#fFRS&aE(L7Km^G-LW?jngw0k$HD8<^;qD5$d`U|#4^_8-((2+^UcEL +=U@bJUj2?kQO|%E2PYKJ^o7I#RRpm(0~wgG(!6(cfPv|RSgy5MW*# +?8Scv}KFuQ{&uc!10NBdL+p!glD2>ioAC7uW=$2%5rYQ6NTaDfSCvQbV%jQW0jdoZ2wX&hDIq1c?bcT +zR~PUbm1lxXtYo|I5!}_ecfevn)pBq&;|(@Y4yz> +a>4pUttM)tldZyC^l-5Hq;K(rjHvH0M%jW;^WGhp$}}lw?p)n1X@-96i3a97n%c7YT>+HbNx~Zv!=rc07`Z3d5xI{56|_IBLmodPgh3W{6vqi;& +setzzqS|P{ZR5tj?yYr6=z6@x6QgjBsmUK2MhBNF>ZU!2+@0Rl~ZErC9WM8}L_Q$aeF9UukJOh7`h* +Nf_w|sAJ@K5drFq0vG#NV#U82Ll;sHEpe>G~m{Vi{|Bw3`?q%_zBPV^d(^Zx9uD5qk>kUh)7+gRPjSYoQxtg +^))1QUt^wYFZ4?u;@;EF^26D4B;-7xS60R!S^d!^5x2^gQq7s20YuE3AT7n*UDwN}f}`(-%TV=E+>=} +fxW*5KX>b5iDjVQ7)nUJe6%qIJ+ew>;n(^?+te8;C~UBf@Z|+chW&WmUBJQItU9R(>9#h@g-M?3hJph +rmf#g^bd3sZ`Y{*p!z}SMAU)4!*>XWuQAqkwbSyI?pl&6xJ5zUtS>F+(9|fbgfC{a_qC^f}lJf5Vx*m +uVxCm#v^mYR0~J3J06j6K6|$t`p|*!>0AsF?i45`0x-PaE6jo~_K14$sDun^ogbx)-|H${pgR`RBR^G +Am}S}XG#QeV1JOlj>;&6@C}oFH+mL6`XC&G+3q61|<>;QR!jm8?rh4zxo*h`5PO3*HBztB-SWW;ffz- +%!9kFKvWEwJ`?2#8a=@&=qyHg*4tU(~Jk#0H^dIXYWcOqUf>hJH_TOlpT=BKR)mfoxI$|I_8bM%M2#? +cnF)}~69e^m#3=}cAp#}{1Vu5DKuDZG5riNxjD#s1r +hZtDhoCnJ6WS?}yKv51|7MqCgm&3P;%!^7MYb(EQoCK+&o(@Ek;blK>*?y~&0YObl`NH!1DzLVAfb>J;X*dviSRW&4DGTakSm`bm2fdv!{rWTNI<9Pd|nawRt|IPWJYlb92IKn +8ao0ys$J_xGQ`qxOHR0{g7V^gWuMMH73TvulV>KJFDb%I$tBi +j04eC~&Y9ALJs!tmaGrL=!v$D8kA1x0S5Hwa-NDSwz)A1X!| +U-j_IPKt=*$6FR|$QlkGlbnBrJ_FfUyRx0h#%7z7MH;Pap?Q>EdBo*w|WNAP +KNHcJLz8+FVr`SBBb_EO7!B*bA{-B@OV!8@+HdS~u16+uHN*d4K}%UF~mb&&DL&8$~?(=k?-lE5BO%$ +1=t6bzXh|7=e%4^XOktntFxa3xe@Ty=NGG8?Fegf`@zikhb_}bVt1P+5{6(5h86xMteG(cLf!O&*r0v +g2&{RWBL)k#>;5aI(O9L=FZH-Lo!$R)+xq<$`l_cXYeuQ%AG8+Ru_TJzlOvyBRI}8X7n-I^ATE^bJ%k +@al6b#<5HJXMVd0I>8X)ip4ihI8KmcF`>?d^1-M-o^pPCPD}B@+#Y6J_330Tu6XXw9NS}U(rlzY;4SI +N<%7|`cE+^^%RW;czFS57*DTr}>Q08Tum6t36eNlujez<7d*PJRK`BIpx(D6w;)vRlfBqL!9R( +N@!L2re^-RlXdh@dzDV{f@wc*Fj_=NRyFtY}03+|zH%H$_7jHZ8IC}d6MSB_yB72nI#!SIIdjx;2h79 +hJk@ylB4LOaC4M8>>d0n*Qa`#I`!~dpo2YynyE4aT$#VzY8K5D|EyM-6OZ&HygT+yu~5qoYKUl)1qx( +7pGkA|mp3t1mU;_G`;9*Ql7`^N&K{i*34_?%nDZvhX<9cAHDt#dDD+N}$wFttR>yC;9yE(o|)p5JZt9 +1W{nu>!j7z+PEw>mChid)UlV@=DoA_eSeU?&V4 +TR2RuGyhZ|e4e(B!tT{`zmCPU0&oNedf&9UZ9iogK+>1iHT;aDG-9F6%ShoYY4aXxbcgF|#{d1bhR6l +aDg7@H4FQZ;8vMo9>$M;9Os59HUeKFO_ku8pJOysT=uceAdTiriwe@WiCF>rOawYzxJolhC;K1A9Kh{ +bZXV`#A7`^*rXsho0k9o1v$oCY11zzJfbUE~EZht|j#n69^51wiMihWfWJ1FvfTeGLE^ePz&531Qc~# +UINfJtu|CUhgCDQKMm!Bo+2o?x<~EhMlxKTAdblFDw|23R-ZiRFCbh2!;3JO=8;nU<>DeN5_t`?g4t}60yug_Dfq{V@fH0&rgkVRYsRFi)(SLlwxd#xsI +0;r}=(zsU+u#LUC$E?! +i3;+5)1q(7kJP)~BI8RF~8EV43Gtru$31Jpw(wsFO%do}T8&vYtDmgq|u>GR1_d&t@3_$zRQ6Y&9 +HxO4mCO63GoxH(dgM3t9rs1E1@#4UP0SL!eQ>uw!gwY@!!SxI)j7kzU0GBO54*VG8 +gy6f9Sa8E68Y(%{INx+k#5tSzBva${Yy@3W6Enm?&MX{ooQY2iDms9_Z(=`y!KT6J7%El +mboLYi}Xse2H;1Tl)wTj%{_-C3_}?O`CpaG%8` +#M{cr+x|{>*WnIaj#J$}u~qFPwj06)4f@;ZC|xEy1mUOy$}YtpIP%0dS!V-6gu+<=& +f@L1Nkl!TRQnU!5LqCyP`Xss9cay%BNN2;bQxdA^F +QoNx~SzSpHN(Snr*K^Ez(dJ--?Vw-sJqQ(Oe1OGGU{UI0u-k31|*Fm)TtoYNjXyohuo%$QOpWlowzRI +tnXdTAIJ(dFG=pL5z?h?Ne8euyi8dwAHhvM#?3C#9@uvaU-0ppz)g+UM1Yf +*amD`#UxRA#8(y|K`da=>6AEq2~WrbNGOv|Ka_=hN$3=(C5BS@pj7Cz~yc@M(yHvd-DXf>mThp$mpBD +5x-p>vmX~O-jYoqzVFLK_?x&$?d-vA;P~C!kl;IFjNd0@?^fGw_}%;r|JlCGTMCbY_tseu-tN1TOyaj +I^xl;VzfG1u-6`2SCwBH^zU!-C@AinjF*n<{a^Ps!DuLhjAJ}{M2+99Mep$E>*(iAxi05N?B~mA`k!Ubn}hFm3Q`gF<@advX=-m3KEC+F%|0&XU|d +G?{?p3vAPD=S#_p^Q8ykJ&)~O@}lp8Yn3*CJ68R5KY;IV$iH(xfbVa}zjHr;?{CPzb3cIZZ^-xe<9DI +#=CY3*sMH4$yHS_p%zHLs=)>mqZZ#D&!!xpL)-ro&r09cf>Gp_kYb;u?DE>kPJOf~B^%zQleHDlB;6c +`P7LP}=ojv?kP=#{Lc}TpB;9~$c=p#Os;lQa7o4+P~6vE1eHh0C;+qG~);HF90>8;&4*F&VP@R{Nvh% +Jw)Bby`leg%{K{8H02-_P2d>{deUM~gPDimZmY +~gqbC8E2ABqu`z2XvK}2p1zekTMGU@w0DnTIRCb@_4lPPQiy3NEE}U@96Arf$^kCiR1D%ddPEFe9s4K5d_n6~w1oABRR$M~7M68gL6Jh@ +2M%?a_k->s!grkf%=h8Lw}S=)I;5$S>%2Ds +_)2G@h8nx&zcq(nCS)F~UWc-ZG9okCrdKGAUl>&f`R*Wdvg?Rd8HjnJvQC;Q~UgEA(v@gli12^PvyvI +aBjsC8coVOU8)6l%Rt4%+Ok^fhjXTV6HP`i2DS}0>4``^L>6QHr?B*Rr1qw6CfV9cZhvLp?vK!k6+fz +FsCaSxu)6|tZ!EK>W}eNZy*WqM)$EwDLrzyNL42+JKwo6(5`N>7DraekyZeYaN);@xh`NKRO5Q5O8>C +jTJ7O#5};w?>=tJbZ-f|;ABqi4vD;`I;T(|T_1N2v>=LIrlB|<0Zm2dnC|G?Fy5-P>hi5kew0e+f$BA +B5ZYWi%q~RID=H^lOp?$#GtBjUxg=Cd^Go5Oz^)Qtcnuj6g0Ims$xIlns^&`FxPo%2|-Ey$n==_JNV$ +Y+GmCYdDSWp&4JB6sDRyw+A8ACIeVmQ#s29raeqQr;zaBmbsLD2L5^0C)b7`X1v`#pGmSma58$U{D4- +D1ts#JiXJd6{&#*O&H@+zP;>%U31T&^5FM8(GQIQbkGl^jBQfn`2QN^H@AVqsU))_t_zWcN`T36YwKx +-fvK201bqq$0kT-+3h#Jb`+6HrmZ11@g96UNI_03f+24qXa-a5+wh62qyrae@Uj|ipJYJv>iDMyW2G^ +jk1JU9HCT#^L<@Pr91ntM>uI0P70W%{QKm7jqK4yWJryE-N|LK#z&)NxA1#;RztruJs2za)1e?K@6V}jNp@{8L*Q2(Dm*{>R$|F_}nfBHK99Z37rHT*5CrQr8W5Ny{K- +KPN~djvFvcVr7Cd++Q9Xm|NLWCx0A_9?8Tv%LkEg!fKg`Yi;#q0#I;6L=rxLGH^(@eVvUj7(5F-i*Q> +03gfovU_Z7jNHv|X#yO7p&^y5CO7l=^vBjU +RE$b2--z}hk1pzU6?6EE7kXU5ort$SzA*JE=YcJEv!@K-TUVrj;^^mC7cp7=Rn6LABXH|@L2?%tRE{Z +#}1Cz3ULode!|F`p> +G9bTVnnSAYw`DlwVN`S+ZKxX*!O?}qKCvpJsIIr=#|EVvA`>QV|I}5FZb^TJBVR{D|%VxwfjkW5zk)S +Klry0ibx?QBWB_%{cTi4^|j{DYn@Pb7RC;>^2PA9K{4|)H8Pww@SRXr})9pnW+3sJZ2GW#{TL(j(lS~b +^NuM(+9M@FtwC^zCr948ggNFecHU^-jqZ^JNa~hgk$zjiWzf_u?J9r(WNXw^S1{_`vIkim_$Obq^^+~TUD|3`ARxZ~z8B*e0G(t&>*{m}5gtDG{bkkkfdT#6siPJ)vW%r?Wmw<_J?2LxCMQp~=14!1@ +)iDdo&NBlw!1-GOvb^=YjsG~_lbHOCXDGi#e;u2z%mB_NCTz^l4a9YJ~H1t!|BCxFFm$VX2Pb&{V~yk +s%IiS<+SNG6J`MH$D(scuWET@uE?3^GMb?kqeflqM>40Ud5zpuFgL>EfV-HaUbO0ZATj%5n-Oia9hgo +0KeSTp?u)SR$O+;+^B^>7D8q+%4CTcLSjEPJ%Lui!Wy^e+ +gdManCnzl1=z0UrjW89}lxCiC<8v3grV!|Oxy#MxOO-HBHj=;;>S7Dk1pfIFiHS9MbUD_j^;&QC4X6r +=-EP$k3*({>#%X$Ns6kky5tGPP320yH%WiGCm)g_$Y(!nB9gXmGWivjShiC@+(<+{!u(P;cLQi3s3{) +2O4lVkJ;e63+^pOuoqw5ZbEW!$xgE`fZVYJvBj*p|91Pl(@BL0I|M(E~T$-`5$VGYtRzoP;1Ik*2&0| +Fm~Tbq(mgEPV_-@Y^}d-v(7jiN7Q#K6C3K;%5*nzY|X>)H!PP +=P5bUc7L#r62)uXjwo~wR{D_d*;~-t8gtc!8kUz;We=V5e>4Cg5u2w`TP>qL?9Xf%BC9;8wE-XUFfzv +=cyyf<#1W)aFP$={h^i9!Gpo}*_G`1c|g2FUt5pzVaDg`peTSYj6QOi+10i1Y2&M9m%mD99*g73p&)T +}=PRMAPjpeUlU+^RvpPxAO@GzniOUrO2hJw*k}z4j$e{RWuKp>)?nO73El!rUa*_W<%u +4hi==wop0ECSnn-5=?Ap6pBh$Xl?z-khe-FG$2v6w!jLND2HsAq#D2y~c$Ap|feMxcV3e8DsHaexx2? +tdAg>UXJw~d@0lbtZ<%gH|0r`KaS-37%}$Q}a;)Y4#`#!Xm{l56pZ6D|S+Mt-?5(5)rPV(6{1&j!ApG +Z5zD^ty;}WVjDJn6m9QHXC+xO6UML&jOq)uDD=zubgG1UwQyD^ZpSQN8f$gCwe9;FIv^K)RTnrG-Rfo +!$_`>kR9l?ghU?0f)E=7MAhj8hV2Ujw5B-SoD&=0uKY8XS)-wEGG97Su-&OVK5U)v%u +;6zlF`G{g=sUdm$0C5mQDA{`h+Ado=a8ul$OfetznQ$|4GD*qvkx>G9%e}vcaBf%!e ++yL6^sZUDan|jB9_h;_P4W;gnWli$n+IDUA*9|YhsM7%-)ldIE7fBeva;Qv%_e|$Ity7yKVyiK}7a?R;Cc +`8g^7yKH4@PXzUl@GS7zLXt`4hGH@-~?_Tt-rk&3_(X8r?d^zvxp1qh>JMJ?s`Hu-3M>gEg{u2TH=V# +wf4*d0^e}I70`;wpTTG8SMU}g1j)&ly(a9*{}nnXT~w&w2Qke!8Hy2;f%MS4k~ju +~gYk!JwQ#`RU{P^+ji+`c*P0rh5UHJRYFeG!f0EL2niWsmBGLk8JDbP3kar{Go%M=5$SFW`C-;_>1R( +P*%an%h~sC>?Y&CH6KwHRdjg*BkmIpQzCrQW}Q=F7KJ`%zkmyrC0=DWRG6RZ={hw5;z)r>Ex>w;zk#} +4V`gxkOK{i)SfykaBPt`#UgLZT|@FwV-2A)pseaW($J)YYp_5~7{Yy8yo9+Gs|N| +6rtTqIbBa7T|UBrsNSz4s?81F`0zXe@b-%I&X0ERPs1;TgN97N9AjjFF4mbJ^7b5o7S5gul9h8s;z>_ +nt<+npd1AQ2Kg$Ij+=<-}(fCBepZLc5%5(L^@qQW6^w%b=j=;~k_*^|(^t{>M){0{j+J=TLcWE|=g5;Y>kKK{}T~8L~XbpFCU$1KoQ~&od~nl)W +qy%bz1K@kwc^?f}t|rtO3}Wk2ii(G%c$M%zOlFjf;@g>J+SHzzW%c8G;ZSLYREW&v!k74mwZ`KsOlcw +AQP04G$*(MdH|NLiuVcVM_)Z5I{jH7k$Q%WvUYOmzR&9qb-THe&;(Poon?ng!^(+;$UR9It)w%F`hky +~W#po+{BYYPNq?gB?#ouftbrU=epjnu4m&W^&%l(%jX6+4IssN1R|zPhgs;IRQ-v8%n-)OQtW*s$<_T)+JQO;U6?XF>UzjZa=8Ye;oQLPW9i +t?i;T9=`}w@r7#rP15y+X69kS^I6;xr-sA)$C`=+K1mPHtQYf*Rs82_kVd%TCCHpf>_gGMt?&UH__AZ +nm{-mfqCxE^+>0|28l=xg?GQw7obiLMK<8BP3?D9~j`WM85{qH%?bw52D_tY_hC=xJfu=qeDvUab7x +ytC!6D8IAn)n6mazD_LD{~BX9pY2b^UH(HB@Keg&}j4}fL +t0BiF(s*L5QlalIQ1;inJ$^{n6uA~oR1wzYBN5gsHUmB=j_~*b#V=MHJJ3RrfdM>Zl7y^q_MgR6&r1|)$IqtjsIs?vht;b +AWA#X06DR8dZ6x5B3JdIz22rpeLNoQgEU+RBNUxoE?}yoLneo~LTYPq?MO4p5rUst1k9_SuKAyryxIz +g`J4#$u1EWKmIzBRIrK|L7s=PSwW}Rsk9nVz0d&h`YnBuTmKr28-w?sa~aMiR08g3n(UL(h*-z673%h +jy-IjJwE4W@Vpu=Q01GckO!&HA#QW?3=@8l)B4S{0kF5>{(u1_!+%K*M5?pa$i~D8ZM=|@VdtIn8D9Y +Qt~18qe5y)9Bj5`0v3W@=&-GF}50l?b#DFylF5QppK|IWLfP-H&j;pGc^DYu$<7j +!ZGs%$$hX@mU;5ek0(^J5kOVLCU%vRNSXdh2#3=;#Mod=+U`OzZKyB{)K^z>FryRM`=q3ES|yi=O;gn +Mv$#HF64eWnT36Q0Vokt1KB92$B)f$lJ6hU|`-Yg5K}Ihh4j4M}~mPF#q1E*2-kYP?K1YLZ~iI@kVV#y2@({udh3iN^-_^JM)iFKhTb!? +s55R|@DQ;czuK3L_gcpDDdPXGLqUGip&-BEP>@d?3WZP!a{{gko +qZUW!4&2hRD>y1)x411pk0`1ugJpPl6_x2j(?R1FG9SR=qggVXkEOSDBDaXX$2@3N46cz0{V|xYz-{* +_O*&YPIqRlP*YBpx{9s4(cAzd-g?HUhu-yX>9)-W=HGI0$6-dK;yu(0wB@wx`f{IZAr>JG +&mmo6LvUUa1-VeJ9Y{p{zeT6zJ~5#hp@);8jd7#r92~6#ZW?^ZcK8DC@5s%APj<;n;uLp;Z4QXMtRAD +-v7vq5!$qm~FZ$D>CMed8X_uBpy^osuC#R#o;99GmL2LQ<641s)|uzT#i?IR0yrY>QfW|SLjgL=Umil +RNF8meUzD@9*vD>a}OOd@xm9m!R=6tLA6^LXwEI_4IDvPT`=gz%K=4&Ick$K%F_5xikEU`Wt50!qfQH!K%)w_DnLBBTgDgp*00359$J*@+_> +QOsD_id48t2N*#Y3Dcaxv^Gi+9Pp|ax)(rdBV^zn9*K>mKjM3ISX>64GY|)96MWt*Cv`c9kfpqlv5Q- +rp4-QyyRT8l1_wAM0MK*R4#G3?40Zn4=iQ-=kmP|xpv`PV+n +vJc*L32SIe2L*8kJBA@S?|45`*Shmo(s;S@4Af +)O~Rs!im13P%t*c<~xfjt_wO4eDg=;U$We_%0Fz+g8yQ)hxXlyz5Viu;nO +6j571jqAf5%%2-r<9(r=UyN*u!X#8zIq=DF9CacD*9c{}jPYCtP2`*GoDS91!g*|+8-Sb^O}nMgZ5i$ +s4CPBQ&?hOrF7>5@)koXb?(Fros>7GkyghD*lohG2MPIyvtZUu^(bzVtJxGSB=QPY|LP)HU*|}nqVEA +3?k?YmSEBe9o;KWzmt*Lw-UXU^u&-eClYJh1lDM4k=Ys6=XKw)%q>f1y2=!%omThL9cuggHn=h#4*D< +54$BT^k|A2vC%FGm1@%$YCQNygLWrh9dF9^~oXo^(7@ZRn-87(1`)22QXA0i`bBZnQGsPb4O2wsZZ0K +!F>H(GRPA1_WT&;cGTDj6T2I7QxT8Bh>FX!q+CzSs2}Q+E@putiA3|d^5mHZNJ42mX+f1R>1J`7 +3|;BQ^Pp1_te)jLXp2YZs-;|?4@%^2WI{|d%Hg{c9+~)xn5c5G2c_}-sJ&qJ3(04y +;&}lKJ8A^mqGLI)PI}@9Ezp<3Jz>mxZu**aC#rfYR*645IAoMqI5c(Mo+J0z=hDd@yXpG#z54zFmja) +-qm{ej)Qip{mw&VALF+_pP9Q?`C)rg^afeb_{$i$?H^92eISs|J~^a90Yror?>v$JWnB#mT8h-R;&8CsE@%vo9Oo27-)w;z;_tv +^-nR-zvy%SQw+32AmELGUhMWF?S}%juLWBhl{+zz#IRiJ-Kl`hC`NC=oE70nq#9+jIwi95Q)Q`RMy#> +t_brsg*!FG4i{b3euY2sCi*B>qNKu+@LYqRKJYHE7%+(N#LXsC(vU&j6{%Q|w?}wtWf|FQ4mq(n6Tx;MrVbTmvGPszT4of4iujY9hmU +6(x@&%snj3bPx2KcKfopfr>61O}56G?}kzVO&@8V~F@j0g6a@t{eZf~d`SpfriW?_t{ny8lX%N`m9y_wu;i^qyuAi{m+!`(r#&-b*G!K&vyfKx6jw(v9beu{MmTC{=>!t`oCv9^yA-Dx9ZAJR>= +l}H2v@pl@yw~6be+IWJ`c9p$M6aMM@-w5YKd5W+ZiNCNJ&id)%^puSb$x2%Z^5hcq{$^c-X7Gwoq!Nu +g{FXv9&KIeMPDvQT;!1|@Ow^N8PU3?7y3e0p}1r~Eof1$>&R`Z-FaUmnZr-b9aAf!xB-eNHij1)~dIS +>Rt)-*ZM29Zoy;s+5UzR)`~Xrv0WoTnQWoYY7@&NZ`)vt5TF^2DmytQ^zFWpVZg}MrW7zi|#gydV<8m@JYn-kCtgLE?j56P7uOZ3mXK7QTaYta~O7YA;utv7SN;aeXp@i- +9ho${tS?V83SMOG2mvgDZNBPHpZFXsx+IM2Wo`$+y(?8gz_pAIk +ogX?yS2Gn}3O{c)0SE3cdB($b+$U;8<}T)|IP@c)n3_tpCTqig%YG=FAplXzEq-@w%NU~jd}-V!v~Tl +F-0i^L@Ffot$vQ~q;Zw+$(6SZKp!^gD(Wzr}9SUDtF6PUss4QrX_PkzzZ(+7{b@U7G$G|0-sMy@mB-b +cbReLiowMg93XC$8C6PGw)dVmZC}C<96S1Eh^e$Ya66X!#yX0(EDk2X*yyr9p2X2VI#SxUjD}1^8Q|B +0!@E4TKtPr%}4(*^z+CtL0W*nWY}W+2qlewyEpr63=5$v|LQ(MTiC6{SM!UzCwC2z1`jNj3$M!^h&;W +CI2PFsIKg$CB4l}nZ8J!`u=?KKWFU{e#j1%X!;$CggGwCNk!6<`RLz2BK>0ecV>MO(3d4ID@E1+`VOs +#-jkjd@T^^qH%T$CnpO|Cvj*P%{_$u2xKDt+&p$pIU!B_M3NB~4CTp$i*T0Is{n$3QZ|Cvj!bqJ +1+dl30-*``i{R83G0d;1L=t&@?&wz;wb|m>}}^LzFAbFnAnBCtps0OXdG)49sUjksl( +jTz9}Seyw`4XoW@f9`tZ(I~gjKJO4;h7lmJLYca*Cw{fP$c@4>wGAjV)l!BI)!@VSCxSBs!k2*heS=C +{*pAtv)DvPF1+Io_LH`H_FgTM#KVd-gnvddeKQ8wWH$4e^5NXj=h?$}!Be}X(fauD>mg@u;SLz+Te2Vt5!ky!A^ +jC+B0jlCxce>YL+QT<9XpNit%INc=ITz|KVIFmbsvb96P(jJ#TugEaAA~uUAKi;|G%f?04!w*|h`G6) +(+(78UOaZbQ>E8SmoEJW^$p^2<2-LUImWS1f0+2!(KDjM=;9y8^Y-6&OZ>6F>TF83{|9&eU;mG4AAeS +T{f{j86&-xO*!M7ihM~QvBU3iK9D@*^5)Dox5PvpK!LPfqt +QgzW3%(d*uT4ZkpLC6T0IB^c{Yo-i?zfy`O;~_Vu=N?z2^YHGnnB_DIhLCN>7PkJ~}t{gcVg4ykabV$ +eHKgnUhy(b-P9HuksSnSB-xvPX=*ofh+Fq*w~qfEK +mc}xU_jVDcy#_M@Txe8YdH8x;?0X)$GHKymdiJy<>>4#YHql$WAU`LIgViSY5GMi7tQ63jjVkc7`02P +vcbvRB`&_G)V<%tv6gOqh`)Z}Y!IN?{7%qd&DIv({X*Jo>9rl-+;9z_-R_4={`rc5e|pJ3Uor68mn=! +#Xa4R(DKvjOJnrrAa-Km#?Mi6{l$_Ftd};c54nQ|sVPB$=qL8`F4cbdra-=6$!0}F~sBJu$Mlk2)Mqg +cvUo&BNK_L#xo1Sk$hk1hEa9;aExrwKdQ50bzSH0IOsZ5Zy^7}$L_H2z$ky<4Fg< +>jTW=ER>+LE|f+kI!RUyZnPxJyk~eSt>_kQ54GYaGLIY7Fu~+R&U~)@L+fCfm(n$mii%08RBt*_bWAPX^5McxeCecI?>@Et=PzP0UPF@BmfrQgI +qvH!0a$s8RYeIb2V3)3=kV#i&>VDhgS-n%Ej2q!w%iMO6NGrPHpGR?pOW%pJ3Rlv$^lq +x@lH!7|fv;6YU6HXeRPnksD=2d7+%U>CaR3XHzbY$^DHlnM#j_W7;mfbR=ieux5`ReAfv>945_JMVQl +R&=vitrQlG`8{X={x*R5Nny(_bF)2dT5gsDcWUXbYR4YeNAU8I*>|oFK7}hsykRF41cmNE-_nQLSMn( +t<(qs)=zy5`RGuiBD+P&I2F_t^B9xLH*6zcrBz;iU+b*wFf#;C_Mx4bmx(oJX +*ekgempC&Fw-2EWCz7KjX{W#iFi1NBKUabz{W0!sgG3Jd!>GVT}qHl^EOoMs+&(QkXZ@nHswnS)7;`d +?r0n-a1she@32RKk~#p1X{&^vl24o5rDtAg?N9XFd9f +r(ZcKT*rpGn#JC*hX6F3Lyb#XS|5bGmt^gn&J&9#V@sWT+N(m+q*PsBxW7XarHkJ$^#}WPYw?ssAhP+ +W&qMtZD5NY4!*T*A4e>ct8KMDF6Rtp>OK^zq!cwK#ihEoWLN2-m6H +Bz*si->Mf;ya%H9;!$`5MxO$;h}>rnZfI%)b;*0|>;|q#a@WIvu|Fy3U40tv@GnaK4BtBX*n50n6#c4 +<72g5f2Fq|_&!MHzpHaFa$n-6e9K(A`a06b@d(jQ6h14FY*^ck>Z^;hn@a!!#7w&j)uRY54ko$HWXte +G3Z-E-RR~=E`MiENsx<=3vGTOcV6sTp#pMcssR9$Vx^$pZ=jdjf?6@}M#Ghj{|1KcdD`$|Omdx?7m*f +s9=7>R+A^mkA%H|jg=cHK={{MTc0#G2CjaZgFAok7EGmGeW($o18z{f)SlE8;j2JZ372wi;Pgh>TO6tDB>xiR2aSgfE_7?;(JQ9U!!A`h3rk==ln^K#(BF{|f8kO%`-#57 +@X&ocLso@(xLe|eS^5V+R}eL8w+`TT)%!h7l7S4tk&+pD~~pf{YKPxVn!@G=G$?x|75O{$T{&0lVp!? +|t&P`fWJ3fhOtycIkV5Qp`ZGW9D~@9q5-jUsv(#NN>tPO>H0ymB@6h<{Q(1|+3+^mBen)gS(OP9g0r{KKq&I0`Xm6WCiYOxIAk;6+KYqxZTVlk*>zYD|%XO)q4<=qgk5MLfk- +yjq0p%+mK56gpGkyn6wxvI_x~J=P>F;lEo1giDTZb$`R$kz{$$0I9_H^xI5|X;)Lt-?3CdpA#ZyA04{ +k~tQ_eIo1fOujm8BOBxe(a0VWqOc$9jPhH2cncNPh_;95 +PvAb!!s@*RWwY$xpXH>Ht)|q>1qH%Vgb=zNqN|B+Sz}SHfm?V}{ +LqH_!<@IJtffGs=ZcwXILfE%_An{(8pPMf@ObPnvS-2scG52#Xu#PBlXP6t+Sg)h1=-vz7%%2Y^bOy` +qOJ*zUDopqJYIbYt)#}(4ha)UYmxz8Kip;B{a2`?Fhp^giGMw)Zl~*p~1l-j5(FspC%(qV4*`-B}j*WU~GbL&IIM>^}kxf3?s*f`;27KR`o_#z_RFU +=*QA1ST-#(+;N%c +Kv2c$*ZqM!tJs(%F>jv$xG=4Xj6Zqe%sJ*9D7uGjun50p*QbKnn@|nwhX$K&$3fj%&53q1Yg~0y=7Vf +AJ_@BVS9Tftfz(T=*w4Y#MzUW8h^&>3&I0pPrVBwAmf&U3C+)*L$Td;7~H+y|v@d11*`QY8DcaQwN)R +0?4b(hxs&VSMj4g|(>K13&@zgZspaz}A>WErCmQ +Vn%6(IA#y$t4dCbA5G5Z9MecB?q{)Wx=O@f(X6Rwp;jPuaRmNo;KqzhlenXtDn#2uAg`*t@N+)8{p@x +&*`IPWaIPO2c~13d=!QFb-d|@ZCANsf#9`0(h{x#V1EAg|#jeu+OE*>v_#9dPm5!R=*C3EH&w6DJlUbX)FGbI9=Pz4^z+nRox5ahu3*o9O?+az7jD-&^W?b4?%^g&-tGVy4BEBQ>1a=rpvbNol3}~;-19BTUYxrT`;EqLD +{Y1yc{lmczcSaz*K%3n9Z=YO0QD9{+YEU6(Nsk2cAI>Qj1cgiY1yuPSGi1gu8w3o=TF|5ot@jKdr9!- +0%&;8#^CYaGI?UJ#h|~5rAhAK-(R*xrI&x1sPSgl>FCBiTXI9{S@c8ZE5BvL_?E(MY{(fhBz<;;D-`O7Ut7Oh+xt!`1G{*UKwd +12Vo*NNqpFN;KnQmViI*SNewb2RH=`E`pGVn@oMZ3wn3vbxCnQgh(Wi)HcHuf4GY0Y+FCl%lbBZ}!pLmWdo5xCnCnp1PoYFc@k +bLW&rRz6*xlf(HZmi0z!0-R%A3S6W#(nkaV6+3#Lj|)P)7;TZWVUU0`$> +u&ymBObzPS1&!~og|897W|2o&6V8T*HcANC47FjD32uv`sby~rXN6tUn01q_1j#yk6zGHs%#&&uTqnu +TdWaQ}l;oU!KP$J)za@9 +x^!)s|>$H85;LlD&+{Rt*%&!mL*RbsJ7=Ta-XzImit^1A73X#%%`KmGKuNv*`XdC4It@Wyx}*GAk$}f +mT>uQ5uutMa{AJzZA|-ZI?1WK5@)q070jaR$8eDk_XmG`odxR!9HOLK^+Bv)o_ahd6J=kw7DtP5hSv& +I>P2ZVFnu_K7981FZq8QjGmkU(xI@CT^+up+=q5S7NX~Yq6rb&b`M7v-GUoREdZcC&3n@-rm52Gbix- +87Z9U*e0h>J5ZMl?h0VN|vrxl5ZcR9@S8spccZ;q6+*37l>?bkJIA0D(6HG-OFYAqXMF7It}GdTiB5= +8-wNN+iKAT#USP(?oVT!ZvAW8|MGjlgv +l{XJ7?%bLp9XXqOj5pqkx`#&>vkY?(3ABp4K(JvW*W-(J#@0Rz3t2K&6@8r)UeCLi3&s19l- +#c{!go}e#&2RRULGev2T~fI=zAn+o2F}0I{ +MY{pn!mB{^&8EH|DyS(>;HBJ=yR%XOaDUkf%n0RJ^Y`@072SO`bzbO?=wJxTmEJi=o7jR{7Z+2(pe_X +`QqXEoFV3vuk4w!Ij+kile#OSpQ(s+trSMHPeiRTfGb7u!8~M)TCjfeieuJa(EsTL=6~RfL|4P{!I +6;)IG%$(#pd@?>V@3q9};(lLz4SuWCDfru$#IK@3j8Yfjd|=N&dL0kDqdAYab&#ZSa5J3Jl<{RH8Vh{ +fmWti8I2zg&)oYza{RobO_8KE-KA6p_}vwY4Az3S4VjQi4yzaHU@_^Q4i4Y_F}@ZCv1>Sx4kG1^yrxM +1`{;TejU2TmK|gFE(8iHddM6_M*q{esRA4?Q6T)fBj(+KUYxxI}3cPnEd<|KQ^_&BuNkiOwuHZVHmxu +fow(@LLr!dX&fa#)tAb4le&@O6x%8HZlB+g*p1^uZ;_~7ASB$a?OUShbA74zsQT@FP`Vq%&GLotd)5T +JTSWMMhJCO_w%1qgL09yxN3{`u_*Z5*-h;O3KHmNv3Wj!GzZvSy*hcS37Q1nWb}Ns*#nowQPs8KLTWI +v%<*~iyLot1C?szMChRHiPko`_#{wD#?vzdk@gK4iBa~ta%9ZZ-1nbvDNt+$VSzM*gI>%d#jM3$%D3J +(WqZqZ*>hJE)SRQ|%h81rkN8CNHd2$2gQ67+kp*|fi&)V@9W<+(4`)mXIZtAHmne@LDi3-H6iiq$lWn +NRtbc8euBMIv4L*ToL6$+zycy?ITwSWB;Xd)os4wev&yVGG-nU!P-^pP&0HJr4Y>c8Khph|@(0p0|gf +-O0-(*13xana1Oh52gex(->V8;yCe}@mQ=nLJxQ4@e&_WF)UFiLvgqs7W?d&MnUpJBErM}%iN!IyNPa +DplF|85zTi8FH_XT86z81q6P_3Nc5;{kN}C|*I$sm9kyfpIO1eBZVZPbHUjiXTUy_otC&-SyYy+>oy$ +Jq3h=Y%CDZQ$+M162GTY)xpAu1*7gjlkj?!olf+v^UaPo&Lb{s0+1T!5j>PxhA*_wGEFe3US_s5|L-A +Z|&`Z+wlp310aK_k5yoFE?MQv<=QG0t1myA|=F;?Wi+9&)OV$^>Zbt9>aZ8M>$9A}zYWMA!idmKZsLn +EB98>I1r;!nJm~3yYw1sj13JZ@d0Al|AV)0WhZ%Gz<~TLkrt;n_QjqSe-<6b(0I&5|qPOrD4#0H5Xv8 +28)?o289n$$^;RKHLgHKhRN_Mi#&|iuFv2{bzLw8LOPFjiq~;*8|+!=u63@?Zfz3fY!_Yw;ii|35;ff +r;Bt+omn5Kg5DxM=hYzNoA4?jAuF +@7W)c;zS7#&z4*8YO_9rMIJ~Q>w7MekhOs8@==2+44R^#w)A&RCLd@falel5A0zPW4q(OFz`PK_~i-w +o0EU3Gmb~OWN2S(_W;~lTpb8e7PA1Eh6h%vbFZV&g_o#dEey50)=$csQfosO3qe7%5EgcgD +?j(|L8G@2Y2O9`ObC7A>x{Dk#+0rsy0p{^$BqNuU+R=2gEjb;B +IwgfFGEzp<-dd@N#a9*g)K~aN{x%W+#RnE1wMnZ#;7DBK +Ej6$Arc(sRgg`06wbOJ@}pb@DBO?^-6(==kF7UbJi2(s>xHp7A}+ZaE@+AiZP2@pW&FH>orJFYP+yKY +7cfft2$N*!9}{SKqtlbc_XVSrpeL^zllrMKg4CcHYmf!3ORyL=1@53AydOZow;jtdeYGvQAZYr$_*^H +rcbg4{bZX4L9a7C=>$uwTV^OuLRZgQLQyn&sZjPO#*~D5fTI+? +;6Z^rd_!v;aRs=?kw~7;g~63Y~c@2z9ee0{P6`IeStjk|tG;-4Ve|JhAHVB2qQ_=5sF22mJ_;RFIhD1~DbjO`9K6to?}F_eID1jj!upa=A> +AF$D9?fsMlz2h+YtwOS!hmjjM{#=6{+R++??eixnw)5IB*~#t(*upoj-D^8`xl)cP``T7DdJwqr)1i_p&^?uPtbLO>O!_P5PS8*wwF(DkcaFC-b+A5p1(QPx|c?e8oKAj+ketY@Oj2W7o +Oxc$f(dJ30kJ7$KHn+-2fyfC25TqSe9Y$tizSKL9?2x_^-@{~`ZzF +)hdPB)fiM9!EU_REc#pK?4pA27`1pXEsz;`_#9T>vMwc3~F1)K778o5CA?Rh+wJ+S~o2nOL&zbFD$x)@_P^stA>J9~+W?dPG5|eOd>)VG&Ey#o>2bn#246Qk9 +L;vk)>}+25V}5j+2S-VbaS!AO!O=w0ZE#NaJL(l8BUTaY9v9NP7uP#7U +URlwZn>K1!aXeW!uaor`XN2VW9`?^f +~Po!{J^Atd(1BK4~ZHvQ(iTM&-E7=0ys_7NlZSiaq5?@K54(ZTd>dcM=ycYHZw2(TYldO|TLCq2fVn>M#i_O1$+%#lKz#Y|C4g?oZNaKMAw&+Ic>$q0a#yK +idtBsL1yNkRHFnn)G*C6qtecP`9Uk^TgjUI4-8ikT^gtiy#3e{6u{)V6`wR;h6a-;|AGP+`TZIuGmbC +#~>ETRV=TdrO3{pobrgRNVdEUtBYW2P&1VODWilf%qM$EMt%w5YzRt6jsL_`l3;C9(dEFXqRJ~<&_rR +~*Ua^gkiEp}4Gk!fwKeaWb#-TYT#6XwI7t``)Xn#7zUkBQtY2cKaHqPv +puYKZvho5w+k6v3@WDv5Y{qNG{90Wfw2M6i{i+GW10DFBAEJ|X*76nA&NBbOb$~*W4Pyx)T4t1t}m~r +wPX-SbB@nfQM&;=G^!}~BEo)Ns{tKmnD5Shczs;)5izT{#2)a|EiTXMaZ#t)JKXr5JF$uCVWGqEw&|#0 +t#*RXR5js{NyCt{Nt~e~jB%l$r8!CNHPTY|Hg3n5CaLSaJ|^gPOOwAA=g!6Xc_v^CLe?^1!)!*g5}h +D>4C-ejnbjWbdbvC@Tc|=&7zQ&==dDd8h{_IfhIK4$PmL1PzYuwT6XM>FQS93PyDF$a^ry;S7} +uS_7sBwtI!H+;+?a_gBGGkK8Ns)Djj3%b%~CAB+&~iPhk}nU_T; +MbYW1?u`m0wpxMTw_49%la5jhXBg^?7JD<{Dw-*&uZ1q!b&Cp6;ysOfF6{U#YYN7K&>98wMZA_`2}Ce +|DevQ46~%106j`oJOA?1bNMsgL8f`Qdj0mLCB>(UTLwWxDXJ;8zz>%cwLn46d#m1*V_lIi@hpSdFIz4 +c?5?`Ei@04xOi0;+zwaV1xHr)t8ji~0IxgpZ6KJA=2ucIlUI3?j_`QMbW682vB~A0H_1#{HxT*E%hEk +Y$YC5_sgUGmd6EIp%}7fC=Ot4WR=IV7?rKjiP@eQ{)nMK|+#kv_&z7pTMGxd+&?RgBqK5R?7YipYz^x +Fs@Xak+W7}7%EYtkhS{8LYJk5e6&2Bgtbh)iZTI6)2qR^8Optxih{9<5tIJ^Q53##B0!c*Q(&_9un+V +P7pk4YOR@gHtb7hh@O@6plUyXt$K^s6g=Kuiz;Ll8oeIKI(J0!L^P-PJR3irm5izWo4^5cH|sT>$R{3 +{U^{#f<`eizw}MF5NXR$+x@cF1Zlz)G$FlMN9#@R|P_7=X%K7YzujFx{dv9^l%rUL-tgE8og1@yJoN< +vv@D3{sJ+@U%CkCogd=wj6eC-f7sSQy@fj=V!u9q3uW%+t#25%A-Cjh@VblJ(eJiwY_E1~2Vrurf6&O +@xrqE;Gu+z|6Qq7aOg1g|<+cGXyqVamb@K~j10bIvrVa4?6U3zK`JS(cNjkm}(-BA{tKOJp?Q^Vm^XB +_Ey7ncX|IHM2LrUw91%hne*u)HcS0Ir7lhpv*KOeidmRU5*l6)Xoa;h_Bk}lz4q_{?#?q6|U^oA}2~*Q97d9D=D +t?zCEk{oGP?ojV1sG1^2~p>x^#UJ0!a*^LKcsaEHWVkE&JmTL5dmUpgnPx0qd_m&YEdqPdyI|aRM6c4 +6IlsRrbj!?0mf|b}ALrM?_s8M +RJ<8}XDbkEBqN`gt-K-jiBirs&qAmU?n6{&`L`w;5`w7~ZHHx6 +(RHwUU|~j)S%W>eDZfq7OY!J}XZ5$j+n0Lb@2q=>@#&mU_L*cJg#)lr?%Jb)8UTWJX{|sgv(__5j#V{ +>4I~)FY4j+P%mX=9Z?uye6z6JPw6*rI?LY#?z`24wt62rM6<-G_1ACb1+y0h8b~hZtSJRVLH}h?uiuQ +u!4rDQ(s%RfX^v;wQrDbv4uZ+%ym9z*9Fo$DN_UEHUKbKzf@XLS^q?}4c+?(P^KKB4xIbNn68gG4-9C +y_|Q%6O|paIG`1YKTo)#daqY|l>A%rjLat{5-&hi#Mi*4V1JI)6(n0Kc^uzkS+B%)g6id|& +`IHFHPrd^hl+(TtGnbN8-^Lmab^+m;^O-Fu@ozF?W`cidL`m9-H9EgbF0eh{SC__w7*RXMtBpXTR5LaCDGB&BCUkgSIXs3s@t%9;z_GIe3K-~l^tOavH +_5{?7(G^XJ}xS|}zUFtqQ5gotW!5WS30spep3kW~U8fQ)Khz{bZ)W(^NxtA1_03te=x@NF*5lp_Jo(5 +|$*kx>a5mwJObCcn2as5^~f((Ve!XXKu-ea4hzf6UA_e|h*56)Ldxz4A`VOFP?IM{NhqBTeCfa?Xspe +Js+1k7_9If;Obe(@J%SipfWd5=LjV76${Nz6#p7o)+@;gXE7V|coHY}J^zgOVBY$4ov%@G2cF2b|dC0 +WQW4NLkg%^&ZCISNr5#(~h +EdoTX8JA5FlpRfKNRUrgT!Wafq6ba!Qj>0g4-e46B;TVc;Fbjc5oPa-Vy@1|$1cmn8)2>As?(zp=^mb +H9_JiSDbt=Yp#c%R+1#%?b#U=4~3)}{p=(jx>{T_mY;9Zmef!;}^x28CS@6WUSN%0NI{TfwK@w=@8-4 +Rn9?pd$^+wENveDA%Z$vyD|zvYj~x2p>s@52|nbUD34Cp_5kAdTvwPN!4)obDvdjDPFYOm!Z0Eh7WTC8Do`sS*e{_a%j@1PojEB3X;wnTs+kH5g+B+5k^n!s* +UVw~J|Kgd-Gpq5v?(c4O`emY^4IAN4*Osp-df-c9O4u&e7rl(X7_I(vOh0x%4o6h}MYrTVNz4OZ5>~Y +ki1nCwG!$&#Fo|b^uL_U4@HP{ZGlSnJl23p=CD1$$)m$IsFQRmS*z!mJ+E(S5`VW64kSTmMYH5i+!W|OI!+!eS4e>%sGLxkl7- +a>=#i~J#QEP)2x=?TcRJFN|D1s4D8u001`@i4H0f9`~O2xrBn}^kg9KMM*ZM4lr?zMbP4Ii<(L^?X7y6$vME`^y|)pVC$ZW6-Dl +vG~dK~nxE_l6~$WzRs7MpJ@jcoO$W;=Pdrb@!FyoFO}$rq3M8ixW~KQqU>6FC#g-kY4TzS^cS?PYmZsaw%V(k{QAZ=mYp6VnrG-ajs9iWZ@QEwSoL@-_2UmdNJ +sa6;!eE3U+k0MiU7iFqs9!ouXO4tl#|BlodF#h2%cjXAEMMVb5lScPadoisXv +*e~~x%dcI$yavY?3XUfan_$l +=v@k?B2c^>1$S=DxsZ@(s0CB=&(X>vLA%6x^NDC~{+$VoZ57yE+c|?B!f!?b4wdK!js_>c{953frGE>`^U_WS~i7D5*fgbll@}km~{D?}AtdRYfT3_v9sbC;G&D9yV8*H9muLoqRjp +?gY4d$so6Wh*Hr({w>S>%nE3&Fjf_$r0Z%-RTex$VA(7mx-~K~K`nP8$Vch=6sQs=eGPyjM;%s}kX?rZDpvgc1vTqvf*b1yiQ)_+8YA2r#jz#;t(c7 +`PcBVp=E;Z?0bAJPoL#qX(j3nW0gDbkU6R3FrrJG$1yX_P&90Nagw;}m{(kZ=X@2U}6?X;pM1RJ4AN* +k_QNGKrXGJpnp%qOrCh-nKzg~4x<)85D|H17(!0act`T@_PIE}&-K@b#$!t@4*H&hH^pN<04(cT@rH; +s^cx-NQqMg-(Ot4qK8Z9`(u8}5n1UFqxd-r-=M(%7XF(mg2`M0-Xqde2>u_>Lxnw-sRePUuDHJ|D6@L +?!>CqF>3fLwmDIkiOk-h`o$U2k(aDcvn!x@g1LT&q2R6;5U>VeX+)UpA5Y*?{)`**j;p}cYkq2?SJBT +yD>rj)|>V{($Ov-09Mu0Yjw-!!81`0`8*xie&pYPuL(HC{;tuMn|0Oq;IG}ftah=5TIckShLp&6VAvP +)<#u5m!1s(UZ0I3G;=6yZ7P}Wb?Cl3mNQ2f75(B&^4F@YFweDpb*n&9@?H1*hU9M%dB8{NI$BtL1M2(kR_WF>iQk$|j6 +ZMqr{Tva3(+_Aap3RBk5|x>B)mW+?{Em)7aL-SWCD}qDV|p#MGP#^Y(s00FpLk`TtWAj=65%_M`i!+8 +E(JE{RXo9{!qcbc6TeW^L0p#AUmX~z|%$Vjd*EZ0aCZ$j +Q-NTs<9r{R)+m(MV6muLB!+uW*&XdlN^B=_6xzThw5vs4%eQbv9!CX7bz&s5lUDGEHCSX7<6zs!#S|3 +rTLoBH^%Jy6{W=O{b_r@%}__+=rl(r(28dHK)#EqNu!VunsW*~D>weLfQEoTu%{mwNn)#;5x_uedsdL +a75&As+(!bsTf&)vZ@C*!Ciqpl}jH&qk!*cxhnVd^L)>hR_~62~Ym~cnAlkyv&hK#DHkrWM-;Gvf;C| +4~5IwveGM?z0}8YK2KX9ect=W>Uq+S{~mMy( +iFwiHfVO)L|)FTmBSeX>LLqY5dX*(|q7r;6{&)|d1UpTt-bwu3*VsT#=&3E|w!4_HVbjG>3d@;-twny@aNn8uoY4yML`$_!4Qm-FhmhFhQ +s)$Lgd?4vh95&@@|hz-<^|h119{vYb4ZO<_f9Z{DUC>g?&EVxEtD{|4M_sh6==NH$-Op~@ +7PplL)O(kV_hi+!reNCy-24);J27LR3O~!o#Tg~1Y`Fa`oI>~3rySOZw-NLRovKNr&*yOzAplX|$A)=4D +k3AOPob+W9+h57_bzsOR0_5Qi#0Z<7IizqlM_uY8 +0Kq2Q`mRrjIoKA4x_C5pR^RCO}%`H-Rzha{UTMUHgy`aDG0{pEQ6ytk*Mah4K@SdvP7|9j_w{QymDn +jm(!Nh)-AlNhUTL9bwZh-7Pli|CqlX{!wZ8sv`5pr8Ok-kko-`d4nsNWvNvHkh5ck93wxRW3yX7Z_b$`wZ4mQ`gLi3rE7&BjxQ{d$*ih16z8tEE1!HoichlFIfv_zAS{T1lTHLZF?; +8t!<8%Vy-1fd9>_qqr)Ue4anYGIxIE8CJMN_|3<4-W+}*qJ7^vgJyhAh{iC6QOZ76lJFz^CBkH}HFox +tQsX_lAWE~+a=>zO=c2RZIv5+I)RBXkSbJVD!MTrIup$?GFPs*pYP66VTyh@1{gX0TzxZOE1tTs$RG` +ZcQedjLkje9<5DI_06ZL1l(F)2wwBTtrbTDGu8z97M8hmjx8sc +$dzIc|Khz&11;lvn8ZW%iA}jL(!fe+lTMN{Q{VJ7hV5tb~m|16zG=Vi+q>3Wmw_fvmsHM2bV1xpR~~p +F|!O_V*w1Zs4y){UvyW+z^ZUL#i+=U<5e1MIkQRQI2R(ko)7uq@VYLKpNwFDcL(@s3@!%8$O6AS%!*- +=%8!Y(nGW{pcSF*^4|?Ih@{T=o5W-Phks^pKs>B(>>|9deeuN?b9RnCW1}9Ho11-ifn^XDaZg%MtyPW +mZ%b^2?V%tsF$?;8#syp3kHQw@?qjt||1%M`=>e98kr}UwZqY2VuG$jd^g`LUa7>9NvjC*9WbN&a-zf +#v`)%Ncnr*0U3aJm2Ck)MLz-@oc3(EZ|y9|lVan1uFzUy7nh7^QHWq7Vw+n^p*fCTSESDH26V7@-h|` +ZWH*@D8`>x3LC^?m!trcIo3Z-jfh}YcRFL<>;-moPM6&*iPASbqww42;{B&xre~;t-XZqk#yG&c`JAB +1ps7^O52av7L|}+#J`O^An7gxvYWR?d$N9u#5A;LMD`>Kv94|Nj}2dKMit;9ZU>j$loM}t>oy%f{6!~N-j4;y`|)##8qiNs=>0hG{R!VkqAd=7Oq(M5JI +f*C2Je4Nn|?b6><4v``l$ktYagvFyUwRD)$eDMg>io=-@UxZ27Y>dp3a^>;=S>HdC2>s%n|8*ZtI84$ +No6*!wKAX>5pxRziV^ZyIg>;9mi{7q>nYDGP@@mI5S4FZmFqGQ`IZ-Y{I}mk2_D9qMPtk&eMX!thbQE +(FEe8f$!j4ke;o$R<7a-#ng@AJ26KiC^?bry^py6a5br&m +0h-_SvdP(%y%`sOrczsc5N0^tV(})AYVGh)I#R}ML=(X!RWsCArxS@G>~r%|@OJ +%;y~c00)^a&#pdk$BJrL7=1RTl?>h45xE0pBvgG%PBnD}fg0)9S~VySb7Hlu24GKr>^LJ_1d(yv5~ys3aK9KvpxQ1L-a`2|t0)EP2_i8)w>?awF60DXCs2XS^|QoP;NBpR +5-RbS^9g_fXL0#e)2jyjg?GjccLfmn9p7~~P8s*+DB7e3q*!@5zyeZDU$duP6}EJUBSuiXjwS$5>hhW +hF5`;)@R`PxQM0u=NOS5e-+8kg+Jf)jIEkK3Jp;BQA9HKgw4nU`^b;MM80EFBo0nmu6xe%YRU4BZ4F8 +#$9M=lgJj&*arFj0igr*^Fx!!oQ3cLK6X!RjAl-WvH&4CgS^NEcLXIO&)=?E^7LZ_*9Ry@boU$4HdJe +)@ZljX-(V$We&$xfPTMPjIw=+4k)U>6r~@00uvH297wH0WkU1nc%jP9vRenNG*)nC^y+J5@S<;)dF_G +BCtjV>jIT$<`on-p_L`pO17v#y^vq-NAfa@Q9q}N8R{qevK=y)Xni1Q<2{lB#uyTGBw~YlDxH$MFK74Plp7)*M`Kc-_Dd8o(Eh-G*hRl#no9kD +Kj8ByDupb7&VvMh%nsXu+!8BJD#{8o*r31LB`2x>beO-YUl&#Aunkz}KZie>{@mvv9q~g!Hb;6i%DR2 +|8lFaO~<_@Rx*W3Il2{JBc!$DNk +$np`aTjc|^s;6X+^dv3u%6-z)TA2}6CAA$32!jH7d27smv;~a!cALJ6v#k$ErPZ6p}=Vf;rKki+wbg0 +t3jJ(R3Mj5wjsJ&4LIt_ZRfHv7XS5`$*Qm7tQ>yKSXT9abM5<|L^Sezjyk2Ns>RNY5MQv%L +D)2CgY(_vY`I2G3lG(@c)bcpFa=?#{c;7%K!Q!?fO50FSlQl_>bq1{L!`b@)M%`|JvFY**N+7`8 +l_MIqbVHQDLX}MKo&tDl*Gv0e~utX0{gsGg?g)xZhZHvzzDfFl2Gr#wf$i9w%et4=n3!DyH649ZZh{i +g?bC2>{(`L|DTQ4!t@-bIt&Ijgqu}ddS0`rw=jhhGn|< +DEorTz6CEkAoqQ|iPVw|gSZ`S_&PCrBggqgN|&&l@wMy+wTX#XBCdxnh*X~+AXZ@4j(s<&D2N2|20I^UlCQ#+HtN}RqsP9WfGV +gc59XE9b`*6lq(z2_BlRJY~#G2@-I?xxS)FW{fNVV}KUz(0AzK6}4_fAWTX_I?5XPufGwd;n2FA+*`)dL>tFRO}{^KnW)Oi%Q1=hK2`3U+q|Dn0^& +NLl8N|!accj(V|%oDJlRqSUj-D#^oa95J38Z#x*2pElP`}^Q1Wm4(?h}++S*Tfrm#ZbyDA4)Yk=aTOD +q(62R~AKnYrn9*^45k;aSDD`?JL;WlJR!h?9^!F{bUlIW_3>t +hhk2`wMJK4;o4XeXQ#ncBZ_*GB{u3Fkof+G%?DWF{STUtR@?+5kV=&b1+=w&`fgLanRyf{62DxG61Jg +!ZA~)>F!&cjnOvO-^8_oIjP&82nd6RVU*LOridwJ#+!7M-FmLY<15y*w~dnC7>oos+!ZmP~z9w&~w={ +YUeJ5gWs6Rm23zMVgST_Jc#zx-M3$%g@>Sr;m$2M^&7dF26-sst3t{4D$}nc1hX^QO|DD!qhYQp*tBs +2w2%2-ak3;K0#Wy5-BbsiwWrRDPb`1Dbe<>Di=^m;v7|W)(yfpo*SlBpeT6B`ypL( +yYW`;aW@ouTt!;R^Y+~P1?rB5#2Pgul5BHrx&6fPnYG+YIze< +k4`UWc?iPAmwU-aIqh(4jw_^eO_ES1?(;I6(kC8u^O4lV9>|X_6k}&Wft5b5Ruc{D`ap-`^$rGtQfsl +-gTb@8%BEe#Z7)LGYpHZ7tF*i1pT+~gl7^jVj(U43>zTq?6+1q(&hhHw$qC>sN%(V*l}{rclc5}|mYKp~vM|Phy@?*K22wZy60 +TK5?_D6|XbBr0xzlwz!-q&BjHpzPU_&Me1p6<)#-zI7M-H_&CP-+4b-ia!4FVy_JB~yZFih7>hBUP7B +#4TM7wFMK<*}JwrHP-5=FX^|CFa|g%30UBdL8wPBT3H+KvFK{dy&CLF%i7Wy@^)Ue%FfFB7Fv;zl4Q=T}ZjF}$sClr_u$nX_1%AU*V?p91r@&fG#cb+QIG!pFmSwW4!KW{*LILT +!`U~X}IIR445qPvK64SI4-USqPfz-Svy!9n^by7_t$_1(~=<9D^4Z|E`k4m)nRl-w}wpXdKtKmY&go* +&ruAKmWpeeSOr|5K7Vy53Pc^@RCcSB_O3(|aBGHoYE_^(X#@V(nCMc;*~_rms; +GI)pI1hLOHM(^5GoW9|5vOlz8=rnj+IFUQBCf?H1F}c^KsJF8o@h(#B4Q!33+S?w-}(|U=D}QwWRmJ=m;|@i+P}=`a;WdY(2=4p` +1ckAU#cxI*F3xA97g#aZQep47g@Ck4r6kr$n_;5*2!TLohx0Qy?mA*%YTya1^#ri{lN}bUhsN}jV%qOe>;$L^~Vq7Yn4Xnf%olm6uVMIa-0z2i8AOvfMv@dwA_PX$1hmCu8pUX0_b~mEaX +>#+7Tj9`(tknkzoT@IZYj01cQV+^R6BcrSKGJaP`X9a&%N=`y)yqLjHBUxCkoxQ{Pr8aL*H&u2k+H48 +rp*)mh98wyBj_BizvLipu7!E_9qSZ6vGyjDQe#vcH2C7FTrgmAjn?#!qNTj?S&-ayZ1Q#Sj{^wBkxHZ +nA%6lQD{$CB+zf`WRHCy2Isy-VQDn4oO`&9nju9j@p!fLarld};It3M)IaOw{NqRr{2bFhLfRMKx8H{ +};3KB}7>Q+g=l4HF;(aiC{W%f?|LF$uv1;HyS@y@O_c9ppyE@p{X>Zjd2}j4Kd+iGzclT%u(byt2eZU +xLvC^BGyylM(O03|NwLZ+OQXn=U$k%7W6qq_fS7`yKC07XWV_pxfR2W?K7XjbsK5~Z5vrXYiJq+Y6b(AyayKJ<*Bly^PFd%8pl`#Bc8yAbx^Xe?IYTs}b8lHUeG?B0yF +E9QeFQJxPkQXK+8~I{9x{gvKTE_;+M7tCp(-U-}Bb5cn21Mb6H^P~aNM(8Cqw=syMY7FK2IGo@R#(ZL +E7P5*>(P5@3Q!6Sc|4BBa-v(?nJ)DMg%54f)mVBxxLB4MOMY225|*3sIp9(a#cqPp$3={~TyY{G;Q1E +`wV81pD;zJT+PE9JJ%Da>?s_;~+x!$-MUqMnC9!0)x<|b$kcM`m>~eYrB5(_=i>}p#EYL50&Fy8?bzy +m);QNDChin|InZCf1YSBkoL6tZMU#^w-vhO1==gtv;N60tdjV>)x;4tgLp0VP(9Vqf36RN`1wsX{~$HPbmFnAe?n=Q!=JOdt{;WLwo +Q!pR+5@POO$BjOd@BOBm^BoHZekI?_MWdf$!4k<-u(9rPGTQr#9F3vSe^BoQzL)R)!~^6@$xB^cryAu +1KTyiYsjbG~dJHqWd-xonWtwr!TwkHOjL;q!!S;h46j%3w*Jn~ZG0J#Z-RnjP>+x1C8t;yjR$UI+%$+ +FMKrThHPj|I@Xa#Wo~artU$n89*1I)E06P#U1zFp#CyWlLmpFxj%6 +Hy}Imgc(w!ObNd*jf4XC*K~T$)0HD|7P&68LY!!=?5zsF%+U;01wn`M_Dvj-xJgonm>+?sA8@-Ga&fR +k3z+Zqp`=>RFNN%Eagugky(yreM!#3tVX$3VVkv$mO7+Sfd?)WDiLH=$7M_n&!QAhF=v{mn4#}SDo{@ +$(GqVUJ=xG$Lv!M7mZzpR*QVfWl<2B0=E}r?&gj;r?gi)JU|KdJ^p2lth0O)PaaMl6! +kJZOh(=9NtrAJ0++0;WGRU43oEI)9zINTc;!Lyo0mE`v7M;<61JgNOTQX27NxOKRbBolJJvpah1E@i7 +iV!lXJ0W<&pRnTmG}DC!359)Z=@4W=mEDXr*w~S?7Ji?L3)ob#yLAXWXz9Z1QKww4+%nndn2)=IA-2g +Wh+kiPw&TfNxDpduij(#-$yg?G+1D|Fd!FhhrZv<2#xB|LkP|`|J4Myo?{ZK)<{U*4J76hc3{M-@vwU +Nem=2tP)12TYnp*@deC90$K_;5AbaR95}B?P>>(n=M5>Axh5otb!F*Mocj>AyRlEqJJ;Nfbf@>8c#c5 +{@RpgJQ=Cf1$5&^YUo_o+)}X(!V&FSx8%eMn847wfVV1e4NOAG`*K1|AclIyNHs8(#J~{bEs+<|hMh8 +Tu5SYvZ$!A`>hvy6UOkhH%!RoNC#*Kd2^_?2E*& +JT;@~B520FyM*|8|F``9J%k7g;p^*tn(X{7Pw%5WR)!H$F#Wd;V>sgT&iDlOp$ULvMfoLSgK!IZvZ|s7$^HgHd~OE_`cx +VQ;~Qgnl=m$M635c<+Nxb|cPTguLx}cbCs(FJW&Nqv?D2irV!Tkhj4{ioX5ek-b+F4ff+{^tR)C&wFh +#ZaW8h{}{!)jB7}|Tk?Zl`yRr7uXMlnZ7$!kf{Jivps^xFqkxdlYAd?%bI7ZelWv_S;hUw#$Xl-BI8Z +Iw1#6$}@07*njn3^n?Pw?#gk^wJ(I@xao6btx*Zm`6EjoXjOj}0v)%}QAKOFm5#h(%DKU@W{FXP8m{A +t|wTi-UFKLWAUSgB({v7CZ@`SegDV>br>yx~&IAqUf(?su_WIg9|gvJ0=*j=mDKo_i^T8<0E!ubO|18 +F(*@?5TNGj?)4v3OHTGj(0`IkkMuQJV8kAsrAY{AQUaRnU7jX)e +z~@0Ag(n?6F2f<3Iwt`yBiHng_5Y>rJ-Qsl(rD2+zoO<^_X=-%2Eq#?tOPT>gcZW`>mMjhXGTRne3yz-rI8kYo4 +wcE=YK0aO)CR$5r8R?tthS9VMs=7i;^$8}Vfoj}Mn@tVkIuKh>V`Rj10d3ri9y+Vc?x9lU|P=Paurd< +mB;Fkkqt4Ty4`py5n!Z1r_JJGUO?RW(zP<3=@ach0XV$Y}3%rsQ6Ed}$kL8bqbJn&^JgMtU7YtMmvB@j4|eE-!vc!2E$8K0?ocCPw%gNXL%QNPhm$Lgpf +#3ONaz7s-pxHJNb^1;(#$St&1FON8IJd(};YmX^~&G&A-dXKza2zCmzl{(~@a)C|B@wLXF?=Eu$j~qT +P`I5Fi1%^-5%>6FR7C?zQhviu>gRd;H@yM0z_-nD^f*-%260|{5j$CD0BAh{~l<&oENS{HFO8sg&K7I +m{tC^im_0SxlOH{Qlw71LQWV#AxDv##Q)oROuOGA9~ZF>(J|L}AJe&_M_!_(~~Sx`0iNrp1F*IG<65R ++zBm*zl!W{vSx>&ny6V9?XWlN6U;b!M4@Gik{(p5!f1+>U|@VU1wuf)1+8I>i%4XNm7!P3+D+`lEA_P +<$9nj1m#7!(Lzs`A$G)*Xo5jCm_TL6w1Y;9F^xqP0npxr50F)oSXPXp_<6cTc7HB%daK{sUUeiEnxKw +TRXjRrfQTx`#90?sdT9W!yIX^IuZp;IjTd$K8l*c3_qCE%ovnD38k3Pjd#0`EzL1G27=Xi1OZ)Ui9r+ +AC=2B%37Gj-_b1%P$h)f4mpEqYt|$mof>A$3%9D`jF^%OyQ;7cL?emA)GMT-1M%orFG`?S0q0m;hN~u +~HYkD+Kd5$rUGwUpldgMh8dl3)acNF;ykDz}mfU=K4U+8B$lgPHYtuDSa}WlbJShc1-puwvq(DdoSrh?^#>8pA6~=49OqgU?RiLh(-h>;LV9u7IASMF>gjS0T3DIum<1jF* +gMvo<^YHkRCw*>#maQ0HjQyweKT*2dso$$LzNNY@%6mLUT_nuY-$j)@#Wx!VJDe|>APP5m*E!JBC2X? +jopY~J@Z2ST!z+4Tg|sh9fdpliCMYg@_j;E9v|Ldp%EwI|g*vwcR0GvyBjRm +)U~~&HiPXbLs5L#9kQOvM8q~u(YCRJt5TV`x!(?K4i{*DWmZdEE{c6Blk$wus!&oE&6EJ}xyR-TB8m3?v!r{-LR!Z)YsJjEu+k`FrGRFR8+%DSnuX +dHI@T(~~__>enb{(1Spl73&dnuIMVHx_SdKk3>wE)|*_Z#Kh4RNWR5pL*gA6fZT0d~6{d!xJ!p6#QF@ +s6aBw@W!mz8!S&9S@?|ej56=H~;b_2);G+q4x`XZ#mrl-F5*5|AND}0$2PS_U1giLkse|M83+Tk$&%= +G6{N+@@kh);g%#wpA}&LEl9tuW?knlxME}QCr@y#+0)@ZOwNF0f1w<^@~gmq>3NG`9`-Fp3gNlf7O10 +TdJpPt6z;9V_*LY!albUznTU7u%O7mb{<_W0{*i&IGoaflsM_)m6jYtR9s9P=zuG47JNx{rZ34fu&%f +H{=N9kw?;}QlR?671?#hKtEYMT*(cC-2VYDU5^JU;;EMD4ESl;NIs61Fq$?S0Qa6G5*c?EB44Rq5mo@ +iRW-j3SYYNY~=Zi2-259JK@cRE#KKXn7izQv+|PyY4c<%bu0j*srjGEqDL#6GazWNdwt?)T?u$S1u-< +b!lphrB3?3!%{$w1PMrW!kQ{>xO>XblB=8#>3%jB?0K#!B}yUpt>7x)2&ei&?FDZGCpO_*3P%*g|MQA +XBljLay9`y=BJ;URCCopjy`Q*j|BBKeP({FRZ&D0-dKpDCe}VBC?|ucR+*q5%dw!GE}Bf@B41wj79G+ +iyD^E;^cO&GZwI}TvhX#cd_!pLxdH`vhB=-06308ZDo(e2Bx_3%R;GSo)%>b3E5Rh0RN7DpnEg7e*ZN +_52l33I;Atf;yjBrN=o?iFArMnv;d?7B92&~V&Fiv!el_Yen4G?P=>*&*(2eTlPLS*J5CohODuR_JC3 +Yij;Lw&op%gn$iQ4)PZNMt@aYh-3$+?rVsxt%vQPXskT|66Y!`$eJQzC~#L3loz&vB?6QHS!*D4gm*< +$-)tI4V2MQe9CfGW%Z9MgVgqsdWgiCanAO!yKc#BE7_e(bIz&=??_Edq!lYI+FPpi{mNHY4b;_$QIHw ++!d;UetLMjW3&)pr%YRkg1$Kio;{C))z9SFf#x8_?#bn~hMyuv;4giU>S1+))iR@MCjy6iYR +5@mrq(@L>?=mx!?vwF!N(HeuJDEwFxTo&|o!uK=juoip1PiX~JB8M<=tQ@S`u@$#s{(0#BjyZr@ODi7 +&Kgy5Ot|dxG)3asI2c5+58#3xua&6`9ldZ^eEFFgxbZF{g-4NAGbSf!W-iY +Tr;65TDNZiHnM7z%fxjB(|RM!VRKOK!^6}=ocEi(1hn}0f_5$PSKDi>8XHJcc3?<8=?^OKCMcNOF=D| +sa8GyTY9?EHjDy5sl_Lo4Ti%XyB?;Py9Ev8uQ#GFek%< +^rf5K0mI=n6uD6ahgSp2R)_lUTUJzT}-u!{Qwgei=DQ$X%TQ#CENu4G{*!UNXSY&-EtIy+MS +8chHBv +-2ze@0l0`YRx5e*{>-H-(4a0Ft=MX5R*t=WhTD_<*p!2vx8Wq&7sm}~6^=POqO;8xL;LkK-=d^W4%vN3OryL2o+GqfO +RfIg_THl9TWVKAC5gCltEj6;KligMq9L|lEVSZHu0lqd9e9aO$EIma6{Xyoa0Xg9%Gd<|MUUA@_Ik{T +9Kv1kP+Gx#BmcJ5fPV{8bQpOy72hQ;9`Z^Dse-P&|JO(jZj^iWir+hV4v_+=u4zO%=l1^Yn<1{~BN0T +a7)Q=V+4E0Fk?)jar`TQ0IXtzY@%_RQIsEm;4|6fu0KVJH;qw-%Y`_nif0iqN|P%w^x2#G*A0TCogLO +4Wz>erG4d#u9WzQMbK=DX;zTgZVs%ipMW@|NF$iM?79j +P12$oO~C3<9C(!mns<89_JBqe;`C}PQR^~gu9Fd@m?i*_Xxt+F5bC^-gM6d>@}fqm-E;z+)mz$+VI|@ +jlV|+p>S8y+m(g>R_^*#zqz3GJu06Rm@nbQmvM^@xQO^D>hk|YR8~>#H>v)QQ5n`)?PFAaANzkID*w) +&Ki4M$z6%ryW5C`V=*03O6JUJh-sWwWgEeM`YUz2}Tmw9dUv>G_XFK8kqqS27M)e&Tupd)rL7 +mW`c!$+i)w1m4}5$b?P5dnd~$4-A$NGJHp*;$Jf0x>>`BV!0qAn}?(Ds6&Kj$7+^+_&EfvP;c+?}HBdaX;!Z@&?n5VQvw +Ry;??rdRT<{S$=eER(D)pP~SU +_AOuC?7>*z~4C63{AP_|$6i#6fj!`6vZs$PAr<%^>E`)}@N3*x^xi@2DdjUE`_L1%6U9jH3ZkX=rSSt +LyVdyRGmcn~W(DqlJ-DOeZUpEYqv4e(Fxk#E(b!2Y0m1WB`;)5W(Grs!adTez0QZ9x(&b<@?hyI@qqH3h(iWbI48G(D)cG^tuR! +HxVEz}hRyMgSx}a3F)R=w^0bBKMP=!4S=gst@K@87G83Lhuj0GUJG{#=d@u|U-^}Li{38~>rE>ID8O1U=lPn&qyC95=h@B{zq2x;}WjnIu?Mdy5`!fm$N$oP-#07sUrza)8)aw!pPueQ+#as13PsA9NVX^ +c_BAkU-qD7y8-)ag`>Pdx^m7p*rG^is5?GF8p8x3ilNspUir`bd&kIolkTsMmI(Fdlf8?fl4v=GaA#> +wYb7T5IqmeMSp0SRnv^rp1ljut%H@{I6YRc%EGM}B@g<*&QIb>63&V8h{&2iW(tGtIWuxr3#*`W^G(z +XNj>bF78p;YdP0P%o4sSLhuA7pww6e2bEdtK80T@cuelUy#uy1h%J+m}Iqk+Sz$p|AK}><#M^;x1b!T +mu=Tl|~+RF0@en3WjhPojj6Nr`OXFFE?JBBDIp955x&zesxZJJGgx}z(arONM-*#Qd3UuQoLAyrM +zh-;j1=$UD@_RSMW;0+08TRV=yj(jiboyHiSH`7Xbt-FmYFI(Grg;YBbnrjcMp|J82d|tK;n8TU&SbM +2l%|Zp2`Eydz0X84}M>nHD{(PZl?mnLaoulg$pW8<$^N^ +Gn^n%4qQ@845Rh20l<`#17N_`Nehxh%Th1GyY#Z?IqDSFUzs@iuI?n6jl#Nwh1?GqugDxJoU*i4BVD< +p_i!`46$>v{tw+pI97a?tKXzf^;etBSo~Pn}g6!HAlH9fSfcAAFA$D7Yeg_uXGzjIBS^=)&^)$Z+%b%+!E5h?;JFv>LBTzb9?m)t-{ByS3?a7zgum#qD^y6HukKTT?JP`s> +ID@EsmK9aWyN#VG$}BP%d>ENA^W#5CLF)HJhf+XH#~;^%E* +4Ny}#vvL+IUK`F7se?j$7M2h%-s3%yONz+eY+WW2u!-h+4>q{GO)nG%2N)`xGij_}<%zGnc!e?@<9(- +H2FF8wY8WO$>ug!+v`;d>;&N?f1txU~N?CXIfq((^yj_-vBQ0@K_RWEmhhv-uWozj~N5j#fsMyQ*e30 +sOmv(Y&+U(|W^ryt6>2nrDlaZ~TgDW`(8OZ;jIu$nSH=jO8}jx5YR5y3r}nwcMiQHhj1(z}Th}yG}vb +-<5xDX$M@Gx<;!CeHH%wdJOn_a7x$@?y`n^e|3tJXA~vu~(XV|LpPz;Mby`eAj6*LbJ&Ws{?hL?n;at3j7*y`YPoc<*lF06(Ty6DHU@66xK+*B +L%giS>*0BAt)EH7f3*Ijn()}k8>|730!oRi*GA+KQwIi`W%?RFxlCSw@$e72roQmmfBS2gD89wXACA` +J|LKAc!S=T=`W9P1x!|W*ieWGg5jaVr_(q9A3?(RxByj?RklhCmBe4w@qA*5$niAbO>_%o0a1S>dr^N +AH;G9Bt-if~_P+)XVIBsEg7yeB@7Y0V&f$Oc+8wEREj`6)>mEgO#1{u63rqMmfZhh9PZk%Si6M@1LB{CY)W%B8rt&p4KN2^Vc4$E5ybp@HGOwD&#DBNV`^IqRFJkEe1}iu1 +{>>!=_-d2!^GRR%q>~%)*N}**yBqax9L>IU&-akHYx^$14+kgngBZF|IB%EfZ%Ih*TON`BqH7-3UJpb +t_k(4%YIESvCw(R6md1LY5?J6D47PiT#)2zaiG{D;SiJbz6q*?}&xdj@#OoynNv=D&i45og@8Z`8jHh +|PcqeuqH;aS&1U2DjkHE58l3M*FyQI=GgE>^4;-fiMI%RhEUV|Y3qagA0JvhGbET@UUVTpMNRYie*in%g8p+5zg1PYR +Rv!CYmpaiEr)vt(+tYb}P@rn_GrM(o*Tq01rr3s5daCzZZj{^?T4h~`-89Wshx3iwhBfOch@j?YEE{k +x(8ZW7uY_=0^hdIdV^;}6ZmbX@&Jx&@R9h*9e>U1u6u;CE6FvG}f=Jb43=j)AAVc~e{bD26E{Mf<$1D +`HLe4At9lEeJGcEAjG{&Lg^^3;jXxa<|paq&)y(ue6&dTrD!8v8763Td^|dVHQ5!W4?+rImaGqU4j +x3MZ5uQP%WXr-%Y|Ge901+0t2PAk$}{orxgdezsyYa6vv*DN>5WG`8w|!;z4a0$+3>R|^!9f9k|dZu< +uS7b;>M6roS9OEwqyOkG0TN2O%E4C{(L4*1%5>T1q7A7$W;Goy9o;m%nM<8H}4ObxmXK`=r`%YXrpBG1}=qRes`Y-8 +F~7Z?!<*6VA`vai4kT%A-rE-^10)4r3YTuyL)^-aB#H~N-gixgbP$LaGs883E?bPu`*q2VGKe8MWk(I +AB`bgP=*LPDVbFOexqp*`wEBW47Tdxo}3iJc&(H%ow0z%>Kj8Cf!A@(M1_|6&QWN*eHk)1H^v=QFT(hzj-(hj1% +y$1grLTxxHeES>3*iHq>cVBlB?h9-b7Y%lPyDf|$Z+EkF_j(E643qq&X3YDH4KVEvGjA%nTS6wgFboF +nzzBi%{vImb?+T@Mx*QYlQV6`iYlQDNv~l6>{38-|)#VL60sjqr+R+p6EBIvEe-EGbuYvytKJDlU_zn2P@9^nY{*J&Gp)D(7U*e@dJQAmlA??zZW} +Ecty;yoWdCFw#4AW|z?yLwm)l^RN#7za0_jwDLhxX7l^lMG0hK+}AJX?ZxfTk18K=@Ntk_EHslh#O+& +l0jUI;b5Uz-W7n-_ufvV_>`(YG#8s9-W4$b7hL?oF;*TDLOev(9=~ +s@y^n=GpML8Nr<{cm!L6YBes^0V^H>&!--B-P1;DXe?-J493BY$`&^LL_${79!zoaDYa +>{@Kh}FHIE43L5#oDtZ6}7wUTvj5@2J7Ty|{_L4cenuE=-iKoBT% +Syw&n3_cIbRM)1+U%`9;C}J05&`XMT<90$TypQ!f!-ZF$a|7`i^1TV1n+S?-g|74bZ?D(i!r@g*OH6$=RNQzh=qGrs$(?D97D$%$Zfl~8SUX7!Vtmb}vCw+JK_yly@iCcc?_J+uJ4tC9J +;nA8uYM-MK?F#o}jYgQG*!GyQh3NPP-TQf^JoqfFn)fSxhs(XJ4#xmmjnazUgUAx=n+sy$4 +bi-SxBpb=?l`CNtj-<|pRP{$PJ&sbr&KiD~J*?G}^G$3k`Esj!&6iq&t9kcNOyOHU6^ +8S-@YdI9YT%1?eb3m1_m*XFD*l<|++&05-@0l1_oBR3dWgGhi`m;^uz!<&aHaeQLo&2BzJg_}eBN@i= +P3uG*6?W`j!r0_Mqq_M@pWZ5j3~3Q;}Rx(-dA0qBrTh#*C3;DS~!bGlOleLz4S@7z#{N^{|FgdLXNgh +g58}eVWmW=0DeYcJ=#zfKVuA(VTrNr(z+*QtsR^?Z3(5l&i5Q_#Ekp&8qt0TqJRoa&L5K5jQbcT(Z7Dv% +>X}D5`bhZjZAie*Vb4-Hx*0E)7BAO;qRID%5os)monn&VB5dZIGaGVr)0gJLybeZ$nMOj|K0_PQnBMd +nDHPS#E17je1gJ65p-I16HWCXnYi7vz*nd`DCZPRs68W|31reW4b8)F&?U}o%t}fXN1pFhYk0B#j4(y5>$u>`zYD>=QNi9mgJBkX0--OmIyHnP-UVW7KxPyk9|;v{iyJ^@16pez>&qpoYHTpOA`r;2`F);Y(YJ>zR#)Wuhvq6}%tOVgw&Tu5@@ +HDNA`(XuyC$~916=P1%zVvLhzQHe$A(n%tYW|MViLsvw$kJ$stVUFNLd2?UFGw|g5mVXEqa?`T_AQtVi4jA&8+Aq)6Y~`R<lZ4fa85BHOuwsk|N^&Wiz~!dp@aI9x(MI8K)8deX#erx&&w +DngLVNY5s%I;5MoWYuV`DJ&U5@WN{gsAU~BXa*733`?xMAvGt6j>nox^Zf7`+kloeNnxlsj@tnejh;Y*ln +o(;7trVt7PDHz2+H5&g48akk_ewwj?SKw_OH3ngoth24?fR_Hr=T)@`>qh=+b1=8+ +l`}p$su}wiNB|+H(ZF}JL^rb9T9G4?yYw5uS9Rcy%xMNa}s-7#UML)41%2w$IvdMy4}ndz!(R6li|kX +iR9ff_`YEXdMmIJ?gF=q`L>Yr?Joej$Sn0#8@8$SsGJhnO^;hBPt)g}Y~~B&Ohifckly3uIR`$G2cO7{yY +PqVHCSJ*x0QvE0cjzBQ-bcpUaH9%%32?}hTBXKNc9tHCza=r3_nVl@Yo<(rv;a)S|_OV7|`A2-LfqER +wa*1O^VM0|D^;@0=L0^>E;e~jxjX!B>WSVtNfdi0FoP{j|BCM?`{c{^w7`h>91XUYn78o1G +5UboXK#pLACQTu{cX0>qIX(zJ9$qo#Cs-myBrJmlf(CM5Z$*KydNNG{I`66+KC|k__sdxi}D>Mmoqk2 +nK6C2&H*CqkJuL6^|A4f`q=+CJOlq}OcTEqsNM$L#rK%zM76uWL-A*>zlUiKR&8m|O03_)H1N~GoWcL +;mVnP5Isar!z{frP&X#^GTmye2tZgbDPV{TohIV4sAZ|aWTX8nja=kAn3R!%h2039(;C$%V@MNt_s*% +sM=t~9DYl!Aw^pbfE^@y2>Yhms-7cr6Q)QP5>^`g_qcH_D;$^|yFNNyy@7rPsxa-Dgn#5-tWFj&+{+Q +CQ+VXRU)No9w~%TaBT(`1y20{5JTs1bmgP0c$hn4TD0G5et(Oh~-EI>iP9UXMkM;o&ZmdazEL1spDQu%i-CLf^4g$`v>11^sxNWJYLAr +&b=UK}b$}G744jcPt}22VKZZPoJX+>_(VuZ~P}#EZKlD(EzNi~)?u0<9Sfv +x4Yji@|Q>mdOm9f+YuhDDa}Scj88G)KogD;V~N_OFWC_Y8*%lx>Fnu*j)_wwk!2Nw_g8cs{SjDR}b?H +0VA#0HHZ$DR%0G-wX>pK4xcG=8{Ws3-%F+G% +WnRejY#yohxqfe=!gAd;YMS$fAOSRL|*aCyS#J8a%CGs4la(uPD`6IC!^C69YlGXYGsRf%$hRQFAg1V +J@oVe{1~uXLg~+G%yLHRS|XA;}W6Q%jz_rPc3RinAu>sGI=^X>Few!U0`wI*0mD256O7u%XbQ^N_ +Iy_Cj2uTF=+Y-jE_ozD6ReI#JSiOT?Z9T@Rk$_mS;37XXwjw_zv8n8NeY52#^>TU0UYJAN2Z&@uUIA$ +2eGs{2u~g%lpV#_=i0Wj=o4V7vVgIhadF^xE}jxMzGr%CijXi! +;Sh|Y*mi)zQ4-o-AOr-1F!5>8hkRE|LTVpd-cS>Q?`jYmY2ScWNbZ%Ol-!$~kvEhIKNq)%(p__wc#D* +Q>3;ggptl!PybtT`lWytWx`&3lFf0tdC-u<1@B3R%_n$x@oa~qq0{7O%UEVBu-wgV;&cb$SH!^v*F;a +U1AVv0q{q_bMb`9TlEZaNb!OrS;yVqdvh}^jP-t!3Wb$Ar|TM*doMIY=tKXc$?xEnkYdydx$cPUGH;=^)@Kog-Uw^Dyt +18EDz^ME(fBd5k_xGZX#_rrZgS6FwzW_bs=VSSHj~`4@96RR_m36+gj}OK*F2hPIB@X*?R~6rFxBszr +^PW=%B+l(NR0u{DH3T;v@@>vnndsYyo#Be^;C}FU{jo#?{Jr$;MFWou#qgJy-2gk}Wdq~%4CU#kbc{C +)hvA8LxUcZ&39Un>{iRUEwNk4GYouA|5UlOrUo&(?6N%ImA3Ce&u9`v|EV@fO#{euFY@<&gwjo~ah7f +WAhGEV)@a0OI{)D~!RhA7?tDf}1E|}p_joSH|3hN2UVm;#lcX~?B<%t{A^FZ)Jz*aJR9NJj)+=XBSLQ +Aq#CN|6vC4|LGr-Lm%~SVPEDeL!e#W+|t)rPa#QQAH2Nc|cOXUdiG}c}-`|tshQ~c8uvb%SG}WP +4rbxw$C$7i>%HA<>ROr(OKann>|^UEE3KIj!VRxA66+a(To-BvecEUeK|(*}*Db^~-}XK7@cSydIM-r% +b6Y)=D(#IxzqtQOSBcT4zpTO7Hb3SJ04d2wa;hubstCq0zJRm@M~37nf)}@vO_)G{3*Z+^(GX3&8iG$U_G~HB)w)iqKQd?R$>jBd7ua3N-G& +Nc8+t^sLR?q3=O=2@fkUKUkP4lIi|b%f0`6q3L6JbS)XZ&&$oGaPnEe&^U@EjE|J~BFgzW+(U^ZstdS +!17L84$hvj%m`{^sY&-_zjuw%|bVHz-b&pnU?q3k;)FR|1Gy-RIh2aK%JDU~SZ}1_b1r6Zf8 +K+-?2C;RF!)Tzjli< +f?pfr^XtrAI`S|i~;>MliN1MixFDxnF%(eE2dCDk>@#q=AX%wd1HQAiD@Mb-ZXnqq9H#-YglK~ZK_1! +2t_NEiKwtyn)e((Se;Ftp({F)7QWenfxJQ +4lB9_9Cd`Kg^^{f>(6^L#n&}(GNRt>$a;t;J^Rz(%+!qUo870DkN|cBFOhF9tj~Bg%BW)ZZHwXH@FB> +FtN|(eX5#^W4oy+749=^B))ef?!#~3-l`M8JGg`1T|9fzZG&&0*J?m`AG8CpUBM=OPjBpYF6fQ|L45a +4iIW`;LT_}Jyy0B@meR$4Rjb)R9u|Lf9F2p02@Kw$YD(>scpAz8EWzzIXt +yyib$beEcVBS({k3<+_WV`}M6i30Dy@;Ya)=P~8H?^4VMWUhn7BecN#8(KXmPw{IeQb3sX7Z|IUx6ML +wLj59So%TOULA%-;-wD<|fT{R{cxIB=r9N`sJ7gHB-oLaQ3HuB}n=JWA9}s%o{E&bBW_~?`oFeb$c!F +gMVTy|E86Ica!tr#K>W-fx*p$-r%uTcZ532EdBTfV+HWeI7PX;AUHO!emB?q(N<#{2}S*Z=SvdMLj3gNVHDH5B@v|+f{Jt3~!GYcaM*{E(l$%|8WF!|hnTXl1SHiQ2EDlDPd>sj5iiM8)T1i!4E6NY7I8nr>rs08*!B?i0|ZiKBWI5Ki7z^+l4pBZj%SR2`7;W}N +BQ9&mZiw5aRScwgMNaj`Nl7UQFqUWCn_|q`%CjkP9QBC_9ev1JAMpsKibd)OL_La=Ek_H$wEUyK)Dho +`5Ymk8j^6ns>#SG=QI7#CAtXNpwN%fRHPcpkw@mTUSFgMniAo%(i3HhSL6Zo;FzGNguKD3o}Du1dI`| +@gm=&ehMRL&+ah{cE)RNQr0A^5a$UF%%x<5~rPuYA0cb&W23t!IV+Lj6L|nUDz1IR94k0$vcooK7u39Fz>h*RwH%Ccot9#%hR2!0_t_YX3OD^rpBPr_1~rUz%|)UsTIwp4kV6A)mJgXk#V;E +28)T)W8`LQorzA*Q(pf#U_LX#R_`}skQyD(OKHzJ!?=NxR +<;iS64eY^NZk0@{n@fXS$7ye8=~!#D1Kc3Y7_X0OaW)(-cs8L?K)OTA@My>iYn2I9ah6rxVl@-R?E_1 +8Xyly2yv`xoS&s;iVm{2NuJDZM%z{`@vpbLC-PSOBk*P9rmm+W4(GI(M1Rh@%80Jh +)fb9B|qd^twTpdH9!k?ut-2%}0<-pOqGnKhnPC|y`{4V9O|Urr8kKiiY#7=C*JsM*ask#gKI1B@U +sbt=;Kfw=3vrAQ2m(`8x_B&YNkBh*as%(Z!JxaTwQEo8f^?1)dtH4_QRA}AoZJVLU)T~zxX@xiMqCw7 +CSZTVcQ7Wd5Kg%=vVubeBo9PQ~oWAU&t8ryn~DBY0W6_}@Elc{KQ7EDkua@!a#I?Y4JE}ra8=lF%_6U!&1n<2z1w|MZThOyzdMwlws +HuLQD}py7A97fg3>xV>K#?0bQbJrzj3O##8bO#+_W9ZJOiZqo4)E6#7Jr^ByM8tvmXIUm=Ltr9EKeQe +VC$DnV=e87JQ`o2gee(!qz9Q5tQ-C6w^^zFwc-TeakcFYI-H=u9Fe87JK`hN7b2mTHEJ{MZ}uCu^q(( +xr^WiR8eGbQUiOQWhv0O#{-jw-06xkS2OmO!qC)*_xAL$}iHo-VGJlBz<3Xl{D$+;YyLnBbsZ%Gzd~? +RfxLwy0JdmT_JTfymh@xI@UDoVFFSeta^_Ri@pjP44|KbQXZm%xxEQdzzZcfzg~R7_?+n9gs$L{IF~O +B$WivnIQaGXd$9i!8oamn7qb3vYW@$ru5?#$)=%GS!5wYJ}KPI&?dkNEDP@(=OLadaDu0{YdS+-3EY# +1DwC!&m;?+Nnp4A*OEz2ujtiTkF`axIl9o&Z>e+%Xy#BCh|Cy%Gu86$Wa&8r&L^f(ayWgLy`SpAY|9D +lw^VOtD_b!n9agz8yXdK2j;`(kZ{ArHnzgXw{+{}Nv#!n%aBDSDPATUW{1Wv#k@%}8lqRAfZc3zF{L3 +Rs9yXD{8sx*1)f`@ONz%8~y8`DNU=hflPb|ZLiLfir}O6>#|q4uW5INT#P7QNl#kv(F6ZFWibLQb0eO +6P`nPdH-l3CH)SUzu72wU%v`zlGUwc?%9d^-0>zwy5xvJ4qjy6Teo~1DeB-Q4&R0D|zW&zI^R=S~_+3lSot5H9?Jp6#B* +=AJ1-|516v0&Yo*=VQ5My;Fvnv0dk9^$>7BN;N6)P~dfktHD`E#GqK!4*ErY2Tr`3OGpUY6UOY3d6T+ +}A4%^0D_=4p%xG@9E@KTAmJ`U0l*5<0)W>;}}31cl0^JY?h`gHdtRH?v9h!aFg!G=Y(f%edza=lw}lk +v&0^6669}kLBB;F>heMYbXw`d3ruhiB8&rtdsp#g1FM9n7=}56>Z8g)7!!It^>B>GAh0PQyGdLKbeR> +#?|{kB6I)@WBz`O!RT4E^{EYSd7PV%6i_!vTUZaH(rE}583gHReD+A5Tr+X=sVt_XwBB*kFvq*s^HOa +oEi*KB8bbxGvv8%U+$IS`9E!WWr7v)v+bley^eKkU9ZtQMA5}=_Phjs)5ogXy6Vwgfb#%fw!X2g;pyI +PO}Q6K2^pg>~OdP96h52a1}$Vj|&QMm=Ug3d*J83ZU47bv=ihI=BkX)dB`(_gSURyh_yOptyZn!OUybdbM_4@3`;DW^NQa3{ENu%|VelGVnp9LZ{8-$!yOs>%Eb)E8B@`ijGMSw6L?45taHFkYC*_pg +e^KdFbX*`$baji{Q#o4|+g>qu{>LrAg>bhb9z#hY51zsfXSnw$lZ^r61Q +IS;bXcOV?W6tGnf?UWmD#FuZO-e-uI~zZkP4kmeLI|u!bTvUp#Lap}b;KdF{48rNoNo3{aT8b&s0#>7 +pFw^3GY_289Z8gEE;R^o2$!AR%*-)=v?{mTLS3rWe|7ztyNiABD=z(5S29w!_ZDA{Tsm@w?PpLcPXlHoV%zRezB +c!4qhK-1|L0rfXc3QyJ;<&({H1KdNuuTW=jZwvXhD~y{FzOUX-LI^dMEK2*%>zGp|!c<|JCcs_GtsE> +f5FE#qZ;Bh#pjFCZXcm2m0{j6Nb-ShKvMa6$hQ?~`pq&3;L*ikAt(5SIuDnW~%*L8Yb2&~_;8w)6Y2T +P!Qk;~3pNeybm+`}a)hj!Iw~elL8E0#Ar_=;B?z?TCeMj%G1>b80!)+iaFvL1BMo+bGLlDYd;myxDBi +EO3Sv)AX}5WNep5C>X=&ec$eKfw>*cvT4p5E3j3f#A~@@%Tik-l65bO~(7a$gwDi3%BE2YK`DGYiN=0~AvdVDD{{em +vk8vuAa6rl7O2NS07U-!`*VvD=n#F5k4YjcpJ`iIyrxtlx_doK* +$kL0iS%9>;^=SI?fJc8~?n%xxfsMaCl9SxH7UOklKdvgtj>^(Kx%=b4qs(A9`*l|D)0quBCJEiyzAj# +~%GW1U=I)4aLgx~6PlIBf?@yj1yC4MDzFD4ukZ=e+J+v!KA4`Tw{^(Q$92>VVbtMvt>K5C5} +z;x(1jVga@Z_Y%;n!bB+>OaQ4s=u7Z6Mk8rqw&zsVi)>1y~4x?xMm6n~RD+>Qa?9i0BjY=G~l^QW_sF +O$GrnGH~iB +a`}=K15@hyxwCvz6)`x?4#)>DK5`VpOwlUSY4zb-d){u`kT5G&^VHF)q}gU2u0Ma< +QhzjW|1@Yi;c{TT4=V8!x3CA@jR`p)UFU}i@_qw&k?z@ +HPp!0$4@Ivf;|><=s?T*|QgGz*&QE=xQ*KDsgBLu}LgI!xEL?>z020?OwTII2Dvq*8@xV~t`J-*M8B3 +S|t_*to!N;z<~Kr(1EPx9-5|FJ2$*q*<8T@;C#`vY4v+QLc&w$M4D4d3%1+Q+M&F*hbl)At2`b1Z`G- +p3L#RF@bovj6~=Q<|%N!6CizTFG;mAYvLeY-cv2-VpKZzzoz2HK1;2gB5XuL4_*Dtx{qJ2&r2#l3LjTJpi<8>PFnaIQ|=EgrM2NkJ**SugX +o>Rdr!1EKVBmGp0FTi+XCi?ZpdbR_`}wdL%}gDBwAoor1@#TU5NxaWy_4OGD(* +*o;Q`tq``=ecfdF1u@&s|mcMaR6!88u}2zT3p$X!Idin5lIQRD~b={*EZcyf`h*T+Q&q3L#G|wK!}2^ +H_dW@^ZUIrub@0Rv$65(0d`aKB#TkMtp!?+*HH|*WHm(`{Nm?0l!&{RW93;!d6yGjatK(FH~50YA)wZ +HrnEMovA##EnT)`q3opwWyJ5P^-J_(yhS`TM`gK1tl$O#*aUk$5^ZO&^Jzt(|MMa_Dz;_FBFJ+g;o%C +6e`%lGzz_;qazgh67C2!A*^B$mVahgtEM5(8jngyR{<)844ThrC+bN(n!zA+Zxd~3)sr6#PG&SNAKIn +h+6!-ZRz0nb_JLAidQ7GKgCS_V{8chBo|*8EdHy(TzjAS#L?|J)ElCas9IaNw!4W}SZM5xjBfTZWM$O +x=y@Q`H%Q1P|f#nLQZ_J4${tq&1J(n{bhtvsiQSP=ZJBH?BgI*a^4M0JQjnb6RvaXJ6}*TSLxo4!3!X +iqkMoisT&%)Dt|<%gJHfP8l;@nqf>H-dr4v%6$ZU{w!;yuH~%TyGzdm!&BE9?slE5a%~r?lhx&XiWkNt+a +|giw~escja1jv=v=$?kIQBVqpZKHd*Aej$K@0_3dMKfz&atJfrN&Oa~;5!k& +9Y+jVv3gH~+)l1sq-mgt2&*iN-$u-*j^~A5@xzZO{6CoQ2Ql5SOdFK5 +W^{m|j>02sxW2VFFCk*xXM}Ngr-;ewrPEjOA?`3&3O;IF7(J&0{%K6ZStzcsNi$Dn&{xugw54C%2FUH +#_*RF~{?0_mgl$OcEye@}!#FG=>8f|}0*JgXxAvtuEGki~qQin5XdRUuoL-E71Xd{dCc91+Y!46gY_> +T-pH$X-rN6I+gvl%h9ClfXhwo%fJ2;$_?o +8j8yWDNDdb)iH~hS@aqI8<-Mm|NKb5LYRwD9XW+B()YacMXZqjVjT(`2mN&3h4%M@hCuz8Q>X*q*q$E +st90VBCs*A%ZSZ=#xDR|$_o|`X`*#X9=2$sxXgKACV0ZBR4O|&sV0!LXZYY+^&JBT|$>I0haJ`Pf6XS +Spm{e~xLa)Np70o+zLnFKk$$dYCzzKfqqB-8vkQatW7zmffBFdzomo}6&51-TXf-!a}x5~v*#>mY|Ep +Et$kqeTkMH*20QcGU1B%{IU^pHC%o8hG?Wu67!e<<1O{9Atr_?2ewS0Y&mTKMU4-Q!2%G2Zjap!+*fF +D8Ee#tng=$zhJxmRobe^zdZ&){Ci4Uz&`Bz}WYK_)_YTADa5iwlG^TUKRqqjy*Fc9)&v&HwsGa-0%(t +Xkz-xHU5;`vJRpOJx#*L&qUzjT*JfQ-7$imdrlu10N)rBTe;ymCnSOUL@e~@UoURC+nVx?>HY72NqgZ +5cN?DNZHoWp=XIX8%|ZJ9^$VW(_eXy#QTg4-ANIc>njjDYK`{i{{-Q|=r-)sr6+xlhJLEX_%fb}mOM& +pQ8$}!$(wsVsI1h)lz0tqe)113EX1?zi{n8;M-YZdZY>!C!;ij1%!U21DA$P8b(0g>+GpgBs{EI!v7M +F-WQnW9iJ;0^;5uT7e3!4;sZgkfgO!hjLEsAa9(_=es*B*fOn2N=FFWSZrcmI&1G{#gV?0l)9S?ex-<3db=cn_rTqwVT!oqJ*m|_ +mi+fqAVG0o!O`DrY?Y(GZVgj(8}fVasF9(_kpG?1^OOX2H7kek<}m}Jz($HXjJr1*2OjZ;mAm1h>x3bUVug|GEXqhBETo+~s>IYjoirDfqiz;e8zPmU+iKxnI~RV{)P%VWlw1KYL{s>+GQEt{oe6SgX!3^os27}3RAF6S!^}ZY#fntEq6{k+*P==_ +$PC6gj%Ef7bV(B4PfY@c3jq|J0v0(*>9cdf+bBCrC)CTg1$+`1CjO7+FFz{UQ_nOy)kF)97dp*?cIaw +}=c~(yWPah_w$~*6q_)9LU&;>{hus!i7Di=8z`)Zx%iOu$R;Y@&zcz3S&#-S>w@GL`t(#f-4v?#yHdGA4(X6)Izl>2x+p4ru~N +B%Jw4VaedTp;&!`Jt;xp$Rd6-2CrV34-St3dR+hDb*>S*9~tm{SNkwlD=oa7vI_ +NkZ2WxNlT5ZR0DGTi_FVTzf7&1x+}Jh+WG)*n&`Ak0+sFFaD!5xDlW3*EcigYRihSeQN<7kL}N(YO*? +oJZp}YQXm6WLJ_X;=ct}uJ*d;y+RRhf8pXVDApE1>yUR&>t(E=}0W+uY_#tffoYb}-O=97WST_D@BWI +x$(#4gzz^}w-{B#pR2w>vF6_9m-!3R;?sp$he9zl}agYtGxOelU&Srhvi9-m4Q!}_~xspV*p(JPb&{u +OrD$LBl~jBpclvSxmH0T-L=lR#@lVn{B<+`!6)i8l7P^GNt`;3@V +FunmEc#a?l?A)5^=LB;;%A8gVS$qsuGXio)h*C62?AmNA6?XERN?Fedj{UP_RtpeM-vxp58CI5x|Q8{ +pOsP$#!e$o!#4kIHt-V1*7L$_+TX2*`&w|H+CgUEfVMYg}RvC@5mKih?%i6iGp9YuI3vd;AnfGP7`F#lVkpdS8D~2Fp$+$1ol? +Kc9YuOf~2B;twl9g`^ZSY@GionX$ad$iUk080kP3m*Fa4=|eJV=r7x==;;KO)(qjy^j+Ks-Gy|y)@|BHhE*bH)edG9_z +4;h|hq3m8cFdNP)oPna08~G>F`Ilz{d_SH4G@Czi-UfbUy)8JJE)Ui%!#fhyPiOm+2QP@B+5+KD5w +x(aI@4op6yVqb2syv?S01(4te?CQ>547#u*iH$!w4NtIQ6z)Bde*=JAa?wBc?2c{?euNLXS}sk=v(Gl +b={ipt*j@{26kLlWBFXRW0nT^G++pUHKipyj0JS+r;;54=*tT^tek-uIFk3{8Z=i_O1=&#}3_R_`yyS +OLDnUNZge2h5o+w3Hz}6>~>ObFOgZ1DUZFgra^YGBsK76s#86bRIIu_*&4*1>w>y$7EFE{`ZEfj*6<7 +(Z@aVT_ERCz)Oz-$&&`K50l9<=Z;gPgr4rk37oR@Hk$+wcWTUk~~ebAp1l&s5 +Xyc8gux4+UJn2YZStI)`WU^o-@xuoj(z<8_cjqnC_uDZ9jc(FP3D`!o{ob@+jZ_5C<^ua#{cfN>8jZ4 +_(QWVrSHvAo28KhcHn1eU}h>+?dkScxKPS-gx_0R~lPTi%I-5#6%fltzHbf*B2jeV*i=u-}>8<$Y&pZ +2qJ(N;EWS_et^a6c7K91j6f-AQ|U#q~}p~33qpAAm;7SYLbq{+6JBNC_n;CrSaTz9i}Z=uz8oa{@u)V +!qtNVg+lg`6QQIWi#_qd#{`0Eb?Yg_7ijFQ^N`Lw=moAhs5&2}#Rr;_k3qU447MVRFxj(BjvfP`a +L;{LiH=+zx{w3TLs+>rrPsEe#PkiTT4l#%_x+*?{`Cjc^u`R&?gUrTAnZI-5g@>b%L}ZSL9ZK$^6k$X{O(qji~@eS!B}57B#AN0 +E760Z1U0cFa%YKwdz4iuH`Z%%^o3!Vf_ +gtT1f5O_21?pK-o`>wzGvRWTDd#R61eU +@w6xqv+oOvvQUR>9R`WdwpSlC$c8jKL?bf*21jt9{ib?0)jTUy8Y)a;nwXZ4!&Bx5dg!0#E*B<#Y$s2teYAvcxFs{k1u(eoX{m2>>( +_Hf_85_Eb2CYGLS)>GPB}hO~xl@eYLp?4)B@E%4CQir15CW$-lm7f9jQ{_25Rc1K@<(Y=Fp_CSGBIAm +nODjkEJ`vdhgF6%^0c^{hO~LhIL0O!h*Tc5CXZ(uaUG>aw;##=kp!Ztp3^dxo9XPM6-TwevpL%P@B)! +V+!SuYnqz8qdpbi1<|I>oSBz`>tl(4FTmtzdaOVl|-qG9(*(pw-19pqaCi4)ltgT+sj}=%T0=!1#cgE7Wx_-4-}UQm$m@UfhLKz4V_iST5h!U=%@cFtTce2R^6?_$DbN4mt?>wr;^}ezl)$st9 +1#h4#T+FC4$#i}xq8!xLd#N{!9CXCI3y`DVpH9vc-2uL`#<;^az7YD}IR${;VM3;0%j#qMl5r)vFZHG +`U&f^Xl^_{_P)KiP7CP}@^PuL5Onp9pd*ooY@wL#Rg@!MqYsZBYRcmx6RW75nY2Vw91=QU81=LJ3 +2gkl`B`^2Jm^DCzI&&Gxiywp`)-&$uQ9?q#I+iM?S +4A}O3CF%*G*Swev3`>xFfMsR9xccHOeeir{ysEzNNHG4O8e0T%y;t{{zSIYKtNqFDhK{kwaXj>%ou0l +o~^;g-^K0{D@Ukh{;62#CB%P``P8fUP5Gb=uv4fc9*YTt-Tj^-RF+e@wpd{@e)kG-o6H*Iif1A5z>H< +X9dJ2=`VyxS(C`)u}7_2h7OjgQLpzu@S)S5sezAF$G(=pV%{YZZa$>+cJtz5x^9zk`!@U;_LanHYZwC +mmSnzk`$Z*#LizlZ^jp0Ru3MQ~0YT8%v|L7e8O9^cD(|O4M5GtRM!-eSE9W6Zv4|%9|Sk7roGRni&ok*VPa~z=*hF5QgV<1i-lbAG^8kMa2N +i`Yh$eM9U$=?IPO{xCNjOf^khjk3X9aP3CLE%FSNRL=Qq)yDkX?n&pT$3A`EAJ3+eWdD}n|$0bkNFp+ +rmbqc0VVmAcI0HRkNeKBil>mO@xUA;;ZF)x>=EW(c%Dx-D +`hJU0vBwLXJiMAYx(vC}REDsNYAdU!>n~bPH4vNk9mUZ()nZ5R#w}82Y7L#GzZg1(rQIM(>I@8%5h4w +6dc=<)~$XvpsIbTL7be8L_sZ89uBqT&|4sA7+2yI0pya+*{7{NQ9infy~3#$QIPNvg) +n{7%ys>-?g$^Z$6na{hl6v7A4PSpJ&H)-zW6^7F7TGYwfo?se~ql2a&Kc#lhCI0hHDgg*~HOTk=y_-s +t9>u`&fJK)F{@}0(*OP6mP*WCDNzq&}lpG#A;ugZ^L{Bmo~c6)JawwKd8^^{ZUZfsbtp0&{hSWb_h**TcgC&je0Ii+|IeI_!Pc!;p%x_S?zd1q%W%YZ5mE4EQ@}S03* +qtxRz0~QILv&I+syHc0pnw3bOheLZz*SL~$;6n!)#V|&m-4$rDxqvtqh3x?ZlV0f3(*()E=qj +I3w+Y`5|CDeZ*e_pAX?KK1NH;o&c39~|_lT$v}kB^S2;S}aSZ^i6&REFTpz>kVDSJiOaNn*a%LyCI|< +m=+GQXJylAsr^rcwGHkXCF9(_NAbUL*cs`NEZ364t=(E6|m|t8~zzKefOwCKa{|JI|l3r_o@8TnE*dX +{{M0&|5?oy__3)^ckC&ru;=K+_!GmP*$bzL?8R7A*&sKt6>Axqo*xBchTD}SR`v~Se1FZP+o^klG8}4 +aUeV6dPKe976;vfJUWpI~O#)vN%d{!(8gJFhDq+@LsZ9Mw16x46J1Y97<&OV^71gz(-Iy#yv}j$Va5W +J&g1&SvWS?dI8O2$9(67h~!8eHC<2Mb|ZgxiGn?N};Dqi)n5wz#ajNgi?n^VlK^+zFYf@T(37~p1-Y; +;WsbrYX2t8e-i4?NNEcD`pf%NDQp1$QtV#%(L>>JiToN3DAWPa#%-P#6Kv?|h4|CfJ!&k%3xP@}4S +h=jShB$-|k!PnG5T<7*7m3gRrbpEcTF}{6wAD5M(*V*O(U$E9YG3_>0zeEcvUy1TOWqnGSC-IS=VKmM8 +DWMSXEMlrQS${%m?lyxtOspd~rfm9=F(z;gv~aU5@&P0C&et?oOjWihQ+`g3=8pL~Ae780Y1OuiQc7Q +*%QGGuMpU5ud3Pa5F+>gafse{QuiJb&0+Q(e^SrzA<^Q;|=Ylt)3|Q7*QndbII^eLv6L7|KQu_zNn?JPCE{=_5KADV-(lWr&f`TxZ{Y`50V +$F0Zrtto;m16)IR4+R~8ARnIX7-vUa|uvtgnI0@eO*V>dg_4NFFz2+qYU-n(62Jd`rGo83PGUuxJ{iA +;}#!uJL6~deefu%clp_x)SMc;4DYopR<_l+=Q$6v+qP6)mW#cZr}yW%!Ch}hp +4JM>{T8oJG98y2kI++VFJTx%P;b`1r-{nX3Bc +{z|8AGth?(JX@E6xfj+K*8RSZv=l;5=dgt->^Pr{DBfr$cMiXK<50Pha#`4f +yLZz~mix7hv`HAH^J8;rv}&Ve9jP(|`3&auN8xoqy2CuO#)lPxo90e!#KZ`TkuQC;ywAD*tOaRp6VRs +*&jPQn@G0hns=sM2^2XNIzsTN@Cif;Y`{Dr`Q|xhKeAog8y3BpU7}t3rPhL}a +4|tuOK-8Su#l&hUd$#kWNBM1bE85hi>h7*n +8H1_kJ>HgQ9@EkjTX=^ApMtw3Ai8Oek1Z<5VZq=>LWOuUe)ObPFPH&t(`|=YXk|uz3#9R_?Z&v?8)FV +V)B6R=Q-2%8EVqpZ-@ww~Gb|TN>t(=$H<+>)4drSFt)DicUHbJ$^RpuW4?LvBk*FeV6ykEh`UA5m->U +QHewNh^@?eS3_Uqiz7H8b!3KR!}!w(awm`vTaexu1O8s=8p%+YJO>e()3vmTPn!zq)lLQoUy1(P!Xi{ +#>g}FMyxh1-#uZr+a^kZs*5!!5(XQk{)vGuvgzHD^179*>1%Un6%G@bSt6LNXQ=B<08~j-RHjhG{u0P +lk(9L-Z{UuAYLVR22QsXpV!N-2t`&7fGji99QPM4VZhsd?S?jI?3+=@qME>hae0a +|)>{o)1)B(M3yU|B6?G|@8O1+n@5KKuD6&2>W+|Bp6Q9oWvZSTqf +pb7HNGdUTHEkKnH%Q{~ebC%5oH{ZwSI3($Lx!2lMo?ZnS)SlN)SI~XX^d-*d4-ZVQ?B+as^%MWyI8Ql +@dqDx~?X}^;_PWq4FJ-MUoEZ_YRwxt6) ++NE|6hI~%~ZE$+7599IFCJV+@9OnbdD95-h}F_Bw>bx$o^0nAPIH`Krq1Z|(`eAKE7vq +R^(4TfgALc#_2BrT7!0d_0<#e;N}cpT7`rID-V|6I+cG2^@ixW0egL~RqkYmeeD1)03TiXio^W{T??Mg!!z?YI!}KHKC +Z`L5Ka7}i1!!9{xabGH13CZ2h+RIErF0EhEp^N?O7uX+Tt9J(g;p%h!@9yxt+0_I3E@?dy@H(R4kA^< +DFo8q}aQ+u-*4y-+L&&iP8QP?_zRK3~ljb1Cw~RLtFCb2HSpTN4fN_Nqgkc<1aNb_3;FMHKz(ZLGP9K3Dtx>zZcsXPJ+`7V~_j`Wo{9S@?JO`OZ)fGWZAb75cjC`AY`8+Mup4z~5 +)U0h7P%2O*;}V9P(_Va1w%XI8+kruA26^*0O>xD~Q}HFu>9Eas-n3j@wQid2LX5Lcn4e~Ksi25}ZbZ9 +_%hoHJa-b&Tc9&!nj~J4A1~5tzC&6nbo_ +^YjQ7Ss7^Po>X{4UuC>D+(#*^0Bvd^FCw;$yZ6Z120{p9F6fEH;jb(X$6>?Bq+dB3s7oyu1_)7{HG7+ +}RKh^LM|CiOZH@dANQe-y-1ngRMaE-R5x*z9!mtGrdZ=MrwceFDm)P1p5oh8Jr}UNhDj7iDTsqLw6sj +QB|>sp=R3+HwIwuN~7O3RN8kjVop+`Q7#*q_V*c-SxB@JtX@!KIaUrb&2$<=nj%@sXN!3nFCQ9*lT~A +?(%3cNf_32VHSJ0p`kpcv}LXH$!t5}?69Zw+Mf;XoP<=*yPkXvt%t1xec8HJ@-_rylKLxY6JHGyexaC +r_KlSEugqsId^Lq%v8|1Oe>YAYB>aJt$FGUk_gPushazW*Yd&ya1oT@)px$|>PGx#B2yGAbO_fl4=56 +&tsv~rPkW{#-w|N4jNXc8Ok-_)&_^KCT5ew<%xz;S)+e +IAH1Xat~RQUT!*=^e>PmHj+0O_Wc1cnI>8R#WvS1hSdEeos-k8VNRdR7KbtjS3UYtkfWE`JnG(P$vS^ +7XPRI2YU5IwI|86>K5-_uQSWlaE^u;sTfT4|Ukm@?gYX_d2GPr^s>PBweS*M%B<-iC7&E0PH;jx=z>D +Zd5(f+4px8lD-^z+Uxii8@Xg9qKJ7ZA_8sARSjaQan9vQZ9mv@!f;1(RQdp!ZhIR!J5Ig4X^yO(-!FP +n3=kW1*@^+M!4uDN2CV#2c?#BWxX@KnmKb!49@Z-miM1m0)G4~FTMVUiz~>$~o2b$JU4^-9U)+6fZp3 +e|IBseY;vk&v2?fFoe&8qLRjJvj|%$0C0Tp{Tygyb_^TNZoWqeZ3hNpQ!CYON74Fsn?lq*Vq_IKE@2t +GOnk;46=5x6W^cp@?9_dw_`tnsy{pTD~S5tc|Ra0ilR^yg$a0Uo#A1~A8SEw^zbN<**6)9!}MySvCx5lHmtWxV<&qxB9ZL-gao-?ePg@Oq27(dJ4yWF+zcUyY8$kh5N +z0xII0@sKh=U1-F=5}`9>98M#1dU_Ee|gtu|mEf&~ZfPs}fUrU2XjJuwrG%DUf#FAjj>-u7yj+!tblE +x%UexjPpFGD&!>ep@?9;?#t6j&83C8D9uoPR +@|pLyT$4=(0bmw!XE_Nen0EK!^!S`C+;Dtge7mi +0wp`3!q4A?`xWnQk`i^%#MQp(#WBddR?pRn9z(0qt +?@q1L>x%jS&Cr!wfIFEq4+C@Xi0re+EpWjDfgm_y0 +J80Nv76MOeOGJ#l#N6>_WlJ>rAnI~1>1w|E-bBT3-CL*?l>`2C%J^ +ulgy8pMuKoU@8Q4ov6vPU_f-tC~DKKawxHQp&h(_L>-dXw=hnu5To$D%eV)xyg)kg|EOq+%dWGNN?1J +ciE#9n;w*0ZM}vU>MM29T@24m^?0(#yZlr-OUruBLkQsYm9}X$g!`0JDlLf_O(?RXSOoO;#MQEY+c%* +mHr628W`0tKiw;4&4wTj*|uIgRfp4b*35;XcFfR5_cKJq=`c>Aa~6D;}!Q9fyp?TW1EK`2$DzkZ^(P+ +g($O6;u`T0YqZR>cPn7FAA=myU>DzObMj(S8d76N8)O0;KC$jg-stvOcJuMGfj4@8W>oKgI$h;3 +a;5?zvUVlZhYuF5p;nSexcDUA3(|CriE4>dL%n_RtJe&-NJN3TYKgHZx+}pEj)5{FZ$M;g>(tCmkCA1 +YIWOG_(GY<;Tqt@OY#H3wJUAj`xEgI1@hYyIG(#lHok&x7fyEjSTfyqT(WpmHmocOiGO8YhHat=Jl|9sn_Jo5og#Kg{7R)(mKDJ}U)y_ +Ebh;}eqV1x2x@q9^?2kC!n(ox@CIk`N*7C~M5^Pt?|Gjw`y%8cG`PNHfOJ^CJgj41;IRr@bj6vn_mys +z$f7UzyEh@4x5#T#2B7C)lo!9?DTjcQfCfI8A<1vMU_T6LP2NP^l+H#D(m|(w~Z(n8oB0uIJeMi%P%@ +q4fm)@B^3qtzd>l$rAET5K~%p38FMN_Y=MaMxpuMh6KKJ$Hc?hq+DCv0%FOj+!c?ymTGa6d`55jgB%p +d*7?b1a^`BSYA0NypX*V5mWVeb-d&KadxzRH)l%tU&5BBPAz6XO*;yB(34A%tSs@E(5<>>-@~LjGBvJ +MogG2>pO8ko)TPOz%_eGQjz>B2x($2C(SE4Zn!q3of2=Grk~JSa8V(Bh;B;@JV%0ylD;2^S{TE~60rO +TJs(C!k%8fk)T5Bz=1AUW7>P*katzJrZF6j*=z3&#+6iFCN-GUhQkNVkD{hK+9mun5`KK +UPrMI@j>lx!xqJdy3NLo(BDa{>m0@b4=VLhmn0-Z!Oud9f`KR6moZM!?(UTf^IjD?fv%6V}#sLbA2(n +uP?3z-TFM>7yrmB +}{b{mIXJy|O`>_FHXTA!B9=u2^E5DSJ;_}8*v643+8y^^l+uynFb1?#ssfYI;^Y$Ts>7zf)q;l0lJN3t20njJg)C +=UMOk(!M?fMd(Oo(S}~zQ*Y`lmjkA&LL@EgMV?P^8`VU!hN{n;p$u0r^y}IfWw_$TMQ0{`SZd6%_Hmb +E~2n$T&n@h6yL-8i}C~7tEm)JYnnms*OV-dF2f6W#E(>Ye(~@OvNO4W$_cRZHV^gm(6`Y^^+kyfSmo^ +tjK>m(o2ai;3OBHfdC3)g@Q)gt`CN8*a%P_fis1_+Kp*akC{-dUyMWgb>WP(t2fi5obS44nRd?nAG)ueTCKb#u=LEWATQlv3B7%$*Vp4UD<_MzLnL`L=@ +|GI_s+aD3@Bg%ib$Nzn?z0>({K|w;ywO)Y{la}sA!&ikEI2wL3VUs!yV2J0;!&oi%15_guXN2$@+1|`FkGmjQl1?@jKBe9$RxTwvN`Ce>2XB$!GE5` +`%E06$EZ1Z_b~31K4?eCyxd9<<_;rYjmL*X9pesF0LZ1UultG8+Fl~c(3P%X>c3G?UbOtgs8HFAmc*w +I(}Btqn_L+@zQo%i7qje)_`?8fy3^KQ_fwRE+hAO5hJ+gD`i8=qs_vkP7JZOH?)uncc>#2D6G@UE+_8 +ZlhR!Q>&-E!tu2FkjS+w9$_x0^UJ&5x0i$EnE_V9x46qhJIs*vm0}4RyPK)BxzU5UCb1yiPd{lT2sU*cUbVhM7;6f0gYlsITJZ7cDRA)@c6v{fqNN> +w0JIx(dK7`zV+i~n>fQ>`+La=I;DV$F@0KE;&##&9yvGwLJ=<4nG_{X>I*D)^xzDE5 +SwUK|d%Scso}z#Jx($-(vtiedBEi(L6J3Stk +LL~*5R2!QI|#mGo_%ltq8^jZ^DoeG=oCZA)F)4;ouhz|v*G}3zK*)+(^YVtScWekTI2H0T>0QzP~=bo +K>!Z#Z7wp;1a_{33W5b$r+Ou2@I9n2y3i8td&MMO^GjzwA2j!Iyot-hxMfm6U7{!j>{Nyn6|NoAj|)s +SVFIKT99F~PHk%y3)()b0<7enD&mgyg?{oDlwYgR!`}#wiZ^30OE|1N(@^s~l&>lj(-NY8u`L_#O+ +SXN$i9cDI8m29&VueLMzF*4Oc5;*x|AWjF_|F;I@IHUl{B!&)|9gh^ozeA5eWtI8y~sw!fVCQh72BD$ +FAKcbw!o!v-;TY5pXLNs!+f`^aI*nXPz3{`)$jEDc!HWu>??%et +Ao5UUr$8A#uzS+kJ_I1PSgIMx^r}?+)-lNywfX=;a5rU>HIb$aL(0p2V(>D770)AZAEHr|!jTUbHybvpVwE!$In2As=haf +a4O)bhh6a?j7K>Nl_ECi>VB) +6!Wi}XIt(iAfZg9>wk`!tbAnt^~KTuLrSor8p}(vq@KP%`(KP>i<&9f!A~&xA70`E89zJy$Mr50ClGS +$y^%0Rq4bJ|G(@56$1sMXB!war0exx?fbI53^zJpeqT-j?B(fK-E80+dYTODn`JUBFf9~zQDcyD*0U2 ++wx`NPJwXVhQ3UVt@CA*pT7CMmaZ8CJT99WB9WQ!C2Rg4q5b@qsSHx$UWjWHDv0@4g8aB(LFilKlE~i;t-==mR@QpT{^kKaU8vo +ZVJA8XqxEsZqPKRX3WsR)nT2JC+m51|&G9#j>tzN`MW^vMbb+XfyFgl#{^A=S|LFBGW5qh2cAi!v{3t +Tfl&3Gh2B1TCl?Vax1i_4phwY_1N3x{+dVp=SJ;K5gl0oET@<4I$5voS}xz5EJtNs-YE>%bu6B?EY}P +b6MCP%JOMb4HIG)UvTHT)H51|ZUAp=2OgL92biAM;Fq!Uk#thzw++IbK^c}P0VNg*^X6%*xnNM*x)DQ +}?psJcTPnnoFbN6$=g&3$Fm=G9xZZ@y8HQ4=idEHU7$GGd5Eb$XX&0s=Q8h3$ +sg4#hcP_0H@MUKB{`~?kl;jeb6!SIQ%8KdMs+Mu`PJBAVNU8n7VU6xZeeAM +JZ(S=ZC$K)WE(x3&i(6N^4MSbB~zi-UZnk9mF#p-xv#=4ITJSMGN}W%*v=TcSA{eHzKfSWlNSOX(Ndp +G8_JXVY~TnttViZ}ie2@^+dRM9{iKzO}S&MoXd8l=S6U*40TTb+24B>n^r2#0`fcRF7OP=fA`%rV_8wd+&KsM}$nUp44v1E +C4jSiaLP6APRGA?>6JXDYBM3h>ESm_AJVC1(qG>lMDl9u%ExSabnVe|#U7=hcqPig`g;gF7JWAB%{l% +fitvqfo1Wb(@?{@yH?s)jaZF$JxoWl8Z(CowujtcpS~eWcAnyR>(0_4`bLv%EX|in6sE_H$X><$zT8G +r+wnie)#{yR+CCw4FQ~5i* +yr$=Pk%QIl1+d>l~e0Fwp{WbP7(1ixf-dvuuD7Kna8mGhPy>Z|udAkR14(N6C&cbW#p#fUvZq^O?MX+6o$eG3PUu6;|Tm|d5UMdApo)IG4Xt>^R{eY +YFCoNoAeURx0%8gva;E+eLfT2SHdV_PpZte^)4da*wVJzPHu}@`Cb`r%xTwyLeSRZUkOw6D-X;qbTi% +Vibi(}b8=gjN9pYnE64k4Vvzokd@&Qqw?XS#J;%g8m_>It^4&dPBVy>LCt9mpYPWIP%GSS~i5}&RGDO +cmV>H=B%01)$)(PPx)Tf0s&%|H#M9$AM(ck7?8}$NygL}I +Hn`Ue)J1({K7B8NC$pNp+A6e!9nr0jtI`X%>)*_U*WG0G9()QI2I^ZK0g0;i^+Ze6L)}=qhIBorzcIT +;Yd_AMe(H_SXZuqVD+s9O~YDa>p~6iP?#j&UBrj_>_S%_HYbm_Vm+n5JGq<~bVr172CELCSOzdu#o3rmWCfyPZpiLG8eJ)DcD +%NPnv@Nr06HX%8KI=rb8ECqfl~KH{eZbMyqTAd$v#sK!e^s<5^uDFLo2RV62k$B*c)v*m*)VjoHjcNu +jgYNkU2k=*Nh5rhQ|H*b9UuiE? +kXV4UliVqYv_?T(x`*`xybn(n8kq7tb$*uQ+>BmCJ4DT7|P~@dANnqiio%&#A?a-Hz(3c9sccJLyKG% +zUYnFX1oorjS+XNQal}gKxUY)y8Y1u&Zn@}nLsl5Jnx4`e*?q_!k{L|b0RbLO-8hZ?5B8R^1X^ +LX+guJT*?Jw2s4tuRzgPx^5hI~fuZ}K8!*&GHwWn@Wm1iV+xtDpm^)`%`0RaEe~Vx(?>qpXbGS7qU6` +zCQP6WR&2)+OSAKEcwpMvLV{_H_V=snZNX`>YT#rLkAMT)6mifZco4BcFr%2A_TKokDnfQroOQurYH$=@qJ($5!OUyfM+xVtRV4ZO9ZGM(}R0Vv&vMh!VFImC-wZS%h? +Xig-UkN2Mm`4w>9k)1HslvpGG<5qd30W)dH!I~5x&=XlL|2<%wQ>74w(1E}Wz6i|P4wciI+^G861R|< +*~GzwD`grFz_BP4;-5VEpQ45g9vzZ6PBpBfvZ$ljHswj-!1SvxBFT44e$$HsQnrp#Ob#6G_4T%^k`*xH9nF +nm{>0C6c4$3JI=&KK$b&~aYkzRxDZ5jNv-6JzYJQ^{V{3<>(w>Tl=74a3d|LaY(3(sm~Yil4jbj%cMD +)~?DcRHDDj?1*7!c0r+0qhr|DjK$|Ju%32r91#dG9wmQyteaqb597e&0xN9`ZM?v2qsX4h +NN(=GZ-!kYq1Z&OAU89Up0axBz0rglzO84#y{JJPT}n9+CGKL}R*sMj^s)=5C~>t4Bnh_qd>3EtfN(I?V#t^=Xcb@uEZ@t3-X-uctploScsc +;9U-gb`kHMI7L}8j-H7D5zv2i`Z~=W~qKh(zO`PZ8W}a&Y#}7&^8GU&&H_4HJ&iqS0C{R}Acyq$lIsxlTC%%|V;!Tsz)fEfKftDPrLp +B)7!e4LQLr=>1Xq${9VjiO(WUnY!?h)zYG<2OSQJ6S|ZThsO3qwA7AK(W0^etkwqhg#?(aeZ}3* +&JnwwSRMlWA&P(E{i)wu@{c6ZlzFY#T?LWFFZ@YP9s(};y%3_%yH#Ji|xgj#$z+W+Sl@WG|Y*259RF< +jRH2WD4`CA&=JWK5&7KVi36$F;o{?+x^Gx~P|B;r(o=sJTCbqJfON~?gfWMM((%@%1N&B2bq^;L%}gF +>@SX@9xV+A$DTszkL5ixnk`#k64+^d9s20>Q<@$${PwWIsXShmQ<;1+oRups4IK=nY#V%$={gTzd7*-Vz#-3;s{A27 +($^4vT`w;qEMV9AZ+~zLr8?AkWZJ4Q);VZligql-JRj`-CaE;HvY3Er0%}1U3BaMDl>aH)L_GCYD +lZI|Z>PnQhc=vqU99anwgl_Z-g*VCSN|)A)(di$_uS#8N&jef<9tiF0LMjoqw*VA|Mg`zxcYPZn0ddG?ba`?`iiYDoUJ}hnWROiai*^zt){>J8mE8bX1WsOJ3I}7 +eMEj65k|?=p%qe-j-YlNTS|C6VFo8T%@Q;HWzbzY5eC1sXQTi+{D4=%}?_-KefnqA1YVYWBB`kOdCb4 +tc;)+S8u8kO#P;Tzp*C`?2oElK>#R3k&v8J@@tziSU +ob6LBQhKK&7bwzo6ezRQU8;G;-N&7{?>;MI$gM{=|>R+X-MsrxID+BhptqJy>E!hpq)*1?&VhX|k69dNyouAlA3hqkr +8^te34S9orJgfntS+aJi5cQ-Fx&VeHX)eavHbWA|Tq7k=q(Q~=8sZ{fx`hZ#f3r^aVx@?6Xs9_ +;n4L7TkssDJEE>%&t$kkwVZb(aAO0X62ATn8PKKjXh}zxw6uwhEdNxbjXwIfvz@(YIb<(g$~>LL_>(1 +A^RVDGW!2G-Ai-%p;Ms>rddwBuvHdA4h-71eVN2;HCB0}GQI`@X|P#6-Df_9l`Y +Rryt4?7M5r{;lfSMLV*u95AtRe%NFoW7)+D-uc~0gA9-7l7)iDLpS^4?i|LKjoZaJLTgI_$FpZAp1}| +#`toFe(}e*7Q!|1wm`-1e{JdESMD%rdYz0akE=%Ry(6eLAQ;9ivqErZNi%@717tYEu574ng1TC+cPs< +BKFUZ)k?&%z{POe|?ta~R8%!Oi&34XMSY2RevP@F1EJUacsX~T0IS$cHlRFW_1sEie@xdZXVsA|OF?~}N2SJ;;M#ug(U?3~i#Gnrn0sxV9<{}GTc{&%fGIdJmX77i3=N5)=fVY*Mn8~k77?}bx*w82dEZIllwixv8u{okDLJ? +19}G@csE=G^H3?+lW#(aT>n&csLulRlB8Tj^^RK2Z#urcW$zeb^+h|KieNe1r(`$`RS7898v$aDGzVH +v)xE?ECaNBg^2HwyILkux!Hl0|x0HFS8)+rt!dj>W%t5?d)mqgZfTpzf%_sP|TdP-VUcbcYn02PsPD( +qft`RmS_Gp>kXtI4rkv=wg|081dk52xKnEia>_rwe#2ndH^ddqgEA&iDe0>L2?M+g$8F$hBm3_(8Ko7 +>WI$ge$nd>4o&$!?;UZ7Di1y)P7#n_&mOe(Ljv8J%w<-|gkm)|?{Jtse#@yUWLJ`mr*+INewgwtJ*e` ++jhS{DIQH8bP3&Vk=K~M`B{@#jQ7%!doYA^NUBfMZc}dNADZZ@g@OVi6j(lY%Y#>v$SMu-=TZAEZ?5yYSNzXGGfcW^+a5G$$+0Y*%u$kzvW~Kr2Xjw`N7E)Xxo+ +h9Zt4UGT@(ZvOl+kzvpCs=L5+*z3S`4`%zTO)uitiLA?nBLYB9|q157Nd$W8BS|Cb}OOu9aT{9s!L=B +H}5IM=_SwOqxg5tX5vkPt+v-Q&IS`Iufr<-G9gwmw5>qP-8Gf5kN!T7tv7_35jO0%q~af(Q-l=XM>i= +jZiw=*n-2euzj!CG=PA1dPbECj(MDLBI9hVC@xnLt1FKFWZ4-44a$#+ptBsvht>hIzOYmriAV;feK&n +XcehQWN(8j7zo0Q(41FI>$)J`-KcCCu>+fB*j{5F8a$S<`<}<=$lNlEcI@1+QZkQlZF<&8Yq-;NhQ=Cng51B1_XOl0LV}!`YlAKm9(F`Q{Ei%h8E?ZEVMLaG>F9q2stvR@@LB< +DTNK`2_Y*e$=BXdZ_>WHeQSDEWD2lCs2tx!!;0OX?B#huF4O44fyVkRtH`1s2SYn@{rW=l|<>BV6NN; +eH?Sj~~W?X@3^U2-4#iP%2$LPH-B==es+b0OyIt#iv*>3Jh_C$Ua}lHz%TKpR&g5kzeJGt)I)IO) +-IH+p5iqZt3oRPVbIN&^~T};B8qMA@>#HbWb9qwzHC5=)bM$P+JYY#h$@idA^pq=>D4M@8eyC-75Fb) +fPQ0$i5Be`lO?I8TuMyznH&5q@q~Z8@POJwsS|9O;7alAzuhR^UJ#JcewHeXEr3vM-JzXkh_}G(?9RZ3_<*W47Y{Czdr9WfE1YiSYm!E8 +D^JK61iL;r@2cEM0eu1At%}n8YTL9oQUx4No24^lghxD;POCvmGV$B*!-W<^Nlrv5b=Hw{EnbScZ82y +O6d9xi$S{a>)28pqulwEdl(R4`eT!87y`+`F&Sx$QmKif@Qw8w_6Vab3k0|S^!?x@hP;sfYUDfR@-mi +gM%{RcKSCIXy~zL#fg+jcj3Xm4ay>ApIu`mOpr68&de0N|@Hz}v&?p2FYLcxxW98qw)Npm10?Jh_K@T +f#io6DnQE+BqXPoR&lG7-9qYj7U2L5t{VbIMfT` +GB5g)RIGRdXb}b_$?A=#ar^J#Zfla#46cU2PCoEhGc)B(S}c7auiYckMwiDH<;Syqv#$ryqHws$C95;YvJC`>0H%ru_cr^~ +n9&t7qY_5vaAF5W@|u||KH*u1_`@Kb8|+P$a64f}91026`OfGL!3zkog9jej(<^&9*+PLipJ42{j_=J +S=a<|TOjmokH1#0hYC^l@D8AgA=A$0!4Ta!^K;53=#k%=<`qb&mTFYP4b9lVAg4GPnOL)NXy;A5Y3W- +F(9&|Haqc^Xis>A7WB5(t63W)av%8-YQ{L~@dGb|*}i?g$Fis@rNLX$((r@o_N^AV2qm7pGB&`l>^Sh +CbcYNiIEl-!d-%n*ZM7*F +F6c@0Aunru&3@NsRx&jY#u2hc3ir?>wHPcjP-JYtK2Ujl>PYD#@*$e|TQWWl*La#>hL+U_`aW19?8cL +gGw(y~$X3PW0HP71u{5?y|@f78k-6b(A23{ +2#I(E9%q?;IfI+YrhRP}W|BG*J(ux+qJvKADQ*7p1~a`viY#{h7*ul{#pq5wywU0y|8sxL$dwHPn8Tn +|YGe=jTG|p63B>4(i}xOltucTZx%mlGI^3I6;dE6-F#& +1gLyNM{4gEK_IxIt@)Ni{|9#@(UD1qI`$bi>i0sw0w!Qb&i{$702BzF2A-{*-?V?Vxo6+^sdNaZzq=s +sJmXQg48XAVao{nJ>JIm;%0$$7FS|(`&Qz*dWv0j`UbdN)HW)W|CARBW@XPkgQ4T%*hlS31Gxsqe{M% +;Rg@?>Ildp<-joL|J1K>3NLJ5nVNbCk5HDftgYm%JNM3U`ejBmL|^UH@P%>VfHwU4f#R14U=Xc+q!T7 +)$_K`O@t{JQqPo-n8pv@A(No>QjnwCHYRGNSQ(>f)D;FeLT}w$wG4cWO%{j8Wq1h1K>vTGpV)}+#VbW +q{wk@8obDRk_%W;lAFUZemPo*QOd}Pr`+Noi^8`KR;_{$+f#Rx1!93Ps0iRs|$ULwf^-*eh^ZSE8!wg7{eh5Lns_2VS +=U!9NI+`6pUhPJqi=+0R&$^MSi-=wwH=<{71a6nNho`5xQ@ht&C~&GD7z~UTm92LfGfYTfmQ?8BRP_Xb!ACBD1dL0TjI16dg?81=^;ka9teHq&nyFuDL?4b3I5?EF+R~{;Jv>u8AWAbGT`~4u?>n6Bg=<3FmCjQXd6sh=wbqlYTLBn$IRc3Q@ftey@G0X6kOjf +(|QqEV;_8DMi;ggIAQ3W`XVa>a23G`JU +yru%2I?tBt2J=)Yg5Au%#00U<1DDGgWY|bZD-A!Jl60vNC5;bWS-=7e26D?+FJzD3mvE?x`vbdpTSr> +!dD=s?UcKIpnCzsJWNwXzf>GiKchq>B`rT6_Sp50kw-_dh0UBsSRf~})tJ_MSey`+e|U#u)RhH! +tZrwKI(uH;4`@XR7T4o!D;F^%qcy?Giygci}WbiQeq_eAv31uvstTw!uYbn2HX(k9sEkZ`g4 +#r&(*jtRpe5ghcoWypmg0fOCf}ut)E&W46fO;bfB>LaeTTcI7>F;sp^xet6zCf{Bq$fAe~H5HC>rc7Y +p*ALgNpXW7Ad_L^=k%6>4FOOaCTrFbAF-9!*g-#74If`1mQFE@iPk$RC4AA->7xD8?^G%%3Qw>)TnlB +Y-ccf(!Qo%y{8t#ws_%t4Iay6IynBZ=4v>QInh9UmjBwjed54JMnf{tSb`7BW%Hde11U&TE*7e=3^Rd +^)@)1bNLd9e0e1}Y_QcTeJbkJmwBmiKv7(J@KU&ha3Ss$Q2~-&!>QD^(IDZ6uF_XT=x{ppz*(~{4Rg8 +2j;MeJ<`e55!!S097~hUJkFl13R=~^!T+wNe`?8jEaznTm*w-PfG30w>bArh9K1*O_e_Zg%IiXK&&TX +h*4hGM=$vhm^f*6=Y&t>l{2nA4w##-NtXAx}LOWXC3FhXAMNjK78v|CJ +3hy+mu_Ak-ns}N#b!sk@F)uhc$sXGp-|i(YoXP<;^1vAch8p}%K$*!S!X!(npkticdO!Y~QJ#Ae|{LkNwoL~pG`F$h +KIEtZeoMh>3_@Zoy^YP?%kZqrk0YvgBps?$(Nk$l|IFvvOApIjh1$&O?(f6TCbN88_7a9ed +-pDM^Kvq3JPxrzc`H0n{41$Q-$4rX&d$K6mI(f+Ei#O*~9moh8){wsq3exbT`-}wgJL=(Up#3AHKtzG +=bcN4*9-Mw`nNo-L5nF+o^)PvAgtJm(8(fwSG#3AK>K4!9+H#$;-JjTzLG8$?O~WZWgQCl +CJvkPWci%D`>0smy#>0{TakH>RE5z84p)JjVD1>AB#-_p}eV?QoCojua(b8VPMu;;|A!PKxI!dH^KvR +@fh{6ZkcX4G>yEqpz75W~cAdQe}i$~)jPV>NLROA~O;YW!AuSbm+sT7WLaZ7R+(cuM5{hU@%M5vG7^L +S%s}4xWz6^F}-|a;j4&7u=Am05I-d;+^vjF`)MhyAGug2NFdqFVU57+w*=W(Qosivyxk%eMqssSlE3m +l>Fb&ZlC_~qMxnSfA{2X-s^vR;`fk>QfqAtVLAwD#vTrD__`DX$>&ILCD7DQo)_)+(C%`zUL1_aM-|L8^fsk10i~zHLwQ9h)ypj?y9x-(>8skowu?$ag_C%F)^Fb)7o# +7_|jOVU{RO1b$BW$!mE5wUVP)G==lcObXe5^X_$mvCJ>1&w>uI8z;s@q7U;q3xlHD?|~eI* +yqXhJnN`x;2{YdZnp$9^(@`pGI!W04EvsOafr1dQ1kJPm5k+;>&w>i{44tNk6%bex_WnNr<(36c8*_Q +lr&fnM1CHZHE|CJ(XbIr4Tz6srIbmFG|oH8mUMYlO2f^gORnN=-f?K`;l4rGGorIE*)?*K=-uLi~FW_ +HT)F)EoY^fc1^i-=tZ!M($a@$%~1RMrHE<35~C4h{fDLzivFBf(i>EKv54D9SGvt{H`{Z3Tj!(q#H)DUrlYZyFMf)GXtF6zR{&ZWCbUaZ*DKN +J295MC+sJoUf_z_sSrKZz7`*iize#HUYUiHsCMx;XWJKew85r+=@murpi%|@*ySwMx2P-9p_pV?>ZHq +B0z|!f)bQ5G-lF9Jhm!8`F4d87b2aEn51-Tzl@T?=@mi68jJTYHQQapfo#FU)xL;ruGVD&Q!8jxz6Kc +nDwQ2qZB1*N}5K}?avTQHFgfeI!ECL&AS@YbI+*Z`FkMlL{wL@U!f&{Gi6hxmk!909RZwKSEukddh$& +Z<^fwd-9fH%7r{d_2R$nU+lBPT%>~0bZEN4eFD(3Z*)E={=@|=Zgt&l|D(*>%T@pyFH0MNFrQzJ=?H3 +IFy@H8rlNQX=9_X)zdKwB?wyuljj>W=SQ8bX(|7X8kq-Y@XzL-q +9^alv1o{5L50-HAVNL42*BAreIqa)mx>#S)ZWOKOCsXk;aSIJK75IDtSYjBQzlpZZZj*&gkTZ)YY*6?E60Qe +-2MK`<3V#;~ztf(Lz(xrF-Eib5egE4!c@<~EM+_InF0g7K2m|Z=L^-5XppzdX#0z%4SLiaXqEo}HG|& +Nel;^@Yrq{fX_^eH2%Dg(G9o=PUuE6jtM}wP*r^BCFhl=H!ryHcpjDc^$qL>trxX`sP7UwhX$mwahGs +<*gSAc^=4~iOqd&rlbA(~txG592L&rrRWE9NA6@hs{9lioNqAtO7|%v!7>%pl@uji|@NVsRR(Re)FW2 +m$59iOs`j8y{=J(m?^KANgcNy*Ip$#sbBNlw&bW$MSN%(bVHz&8NNq?}5+&I(1UY#PbySc3wc+nK^sx +tOHfq<;gh^en+%(fE#{gfJs>Pl+y_CjJF!W!O089NZ>3XD}W#R4!x9@<8whzkN=!Z2ytK?`> +>M^GR`6lk(sFKup@IcsINW+8jPNy34(*5^e5_NNm%yu$YhKBqD*7(#@+-&8hmaCW1kE>gar$rK_sd(KkjRg1SP_9p^`QWU9wMU=PIy)Hk@SM8N>-sk8aGv8F4?({}i6%CHuDv?OjcT2ztf2 +G3?@Q2P@$yC?Y--_s;9}LQc>2TxnOO@z>xO){&8EBfXyFZBasZ6tm7mr2{RoTVRjU-_V$sn|>dGI}CT +kyW@A&YhYhCEi5o1DHO#1MttJvAgPwo|Y0pr7k&RulX!4X#EgX34vCeZbZ&nzW3G{r%wbK!Pt(Jblm! +_f4%JN-OD2ru6!k4GXP;_1TGe8jwJT6vx+$&su_5}r#RiQj245@Ep6XBpxyZ$^wkPo3Rv6wj9j=FvoX +vmSW5OS%4GUD^D7qZ}f>d+&~@!{2OM!a0)FCe^^dZ2OyTjhvT!^q$X#&6JkF)N?;oQ&=tv@dT?R9 +B7lKuKMsDB*$-`5?(-S}Kf@RMHE$=H+GWK)xWs_h7fTFkKQDbc5a>?^4=L6)EG09mDCJ@j&sR%P|8l# +^Mjdi?#hG*>xGG$EbUcHp3Wgp*cm!_;eDoZ9Cy@PC79-i=sXWH817inFfZZXlJ1?`nyYUyN*HVkI+Frq)p-&_o6> +s&HN+3(vPu>vJcw)2jl*q;II8W{L=+P(T4-Yl26OY2Y!@(?BlMz5ac+%%Ool~9BY*Q2*;iuqiqKZiu_ +y)IW{}6{8*gZMHQ4B4KZl?fqbS%cg?OEzXUo`$dS`{Bwv4cqjY|}i9@k{NC4S~ahm^q`Q@|G$wV={3P +l5o8m7Ho4Hcsa_JaMtmS4X!q5=XO>v7*2Q33fo%W?k+`6d4i`NcoLJ4r?iYXX^8T>WM^UYld}OGIP}uK1UsTzI_~A)s7kx&_sR%xU64Q$URHWD8n4k2YloPou3$}%b1$(BRZGiaq8aExGV`DI=wX2p|0-x&Z?t +QZ~;~l*O!YY$Dy^DEWT3a*DWk^5eb47qC-ODoeDv)HNbK;x!u{VyIriL3`+ +#iB!{BvL|m^g1tCvSq)`Q#E`9Gl`OG~Hrg|}q`TSDwzSZe+3%BgCD6BYUjD>8RRMN{;in9x+yGE2on!xh*B!${4v1uX)Gt;>_O>77V8Dh<4wOo>TSLb+YL53%<@$UD +<7azl^_Y5L`rxAV)qx-T>HySDiOhy@LhiCeYSsfHygT%!-Lfe&l!~0qhvAG<|BAKbuAvIaLcJ|7;_rV +B`y!U@-j~6)QnJIHnLjH`xt$jUbQBI?^0^K3N^@r8fW<|y5Y=Epn +9&xf!Vcl>BmN{x!JT>E&)P;-~k46qiH^-`BAD1NkN2+TjAdi5qRntpE)$P1UdSq0FWAP>VLIKbh!-??bYm=Yhd ++b%1e(yqp9G?=`+K9lI(yA;RKaCK7Ps23QjatwPC+*!WUh52CtQV)|!BQ@j8#&G3shozfL8QAU@2U8= +cnXC9=H)Z9VTOZKx2uwwvR|^lakz>t&5(mXx?8J%3}?-8(ydsfwFAG@6|g^B123$ +m-jMG0Q^=MrBTp1z2ur!h6}*V%{==R)5}C7R}y;=Bq;fvT)lMpOILpRMRTq_;%L_1yyTCx(2ygLxMV2 +@N(Co33Nij{C1%1nrT6Wd|8Mf`ouKf#o7?J!DxHM4~oDG)oWXvKf_*k*_EEdNT5p7RhEcx4^PYd>B(S>lX5_cbjB +YRyOs&evat+X0RTC5NKCWd^U|k^2q-6yJw4aEd93aK>GvaFp=0EVKBxf4WY#h31t05C2z +)f0q|q^Qbto+Axauyu=nu>NldvIJ3> +0pLF5->e51ZZ+>NW{oz>NY<15wbrI6SF^4|Mkx!UPjRcgEF6$(!Mou<1ARb^BIGI>KcEl#Qu=?v*K>Dh-|Oiad6)=v1-j_b~$9e;x7aAn?=We^HshAv1sQ`F@ +8C_}~KgZ>jFU?{EP+aXM95^QME2UbtwBH%Ew6`UYuwX%4=q@V91w^xf_DR(UdkF;y-8q{B#QYD~j{F) +WmlP4_C*<#SEj`gB2M?Rr09cY{Y@WugbMl{33+J%~$r3&^P_!%<>5kOQnxFHR)BgLOBJbrT7{zGMsD8 +xPNrv<@_hEhTc`uVUT5PjyciKo@OJmwfk0W~Cs2ll$Pbp>bk+l4`ZMa!AKcqDNJ4y1nTQS%Ns9l!#~c +vBNqD{{%K7*QC2V8<42qMw*T2h-U5K*BJ(TVV<&X&fdgh=OqvA#wV9Wi`%^an>w8pd% +Rc?<75{9|<3Uh{&g7j!ZwZ8qrZ0^Y3rH;-Bf;-P9gi4C!HKapKr$-K*h2vdfO`&*YOjmVI~uQF;*Zj! +?57Z8~K6hr5>?PmSZFnjQ~`V|zEFj{V^XIrcVoN4viy{z*-X$-{A@UnVx7qnK0iK?gYYkjc*oEp=>uP +{hBnKc^25N0K)F3n@UpEf*~-5K=m$U`aMJ%7)eU-O1VFw~)KPU0Q*ow*Jl1`YR{QtcT~^zLwTa=k?X( +h20ikA>&Ip26h}XwjY;P;Ha(tq_hG*Iru*+t-mJZeM;;0OIR83r*u3Mf}5+zP}HbK{+k0~k?)@|jRoX +(cN7{(F8t|%`kd-YK?S1vucFCi!1_MZZV7BR6p!hqmc!pdsZhdN8DWUfutoI(6xd@nn? +QgW=X}e#H_9I<}o*tMeR-j_G|5tAPrRW1UIRxe>vG~!zEJE=?rio_;Tnb-aIFpa&z-{c~5IoET$GuHr +rV)Aq;2gdkdmoz(fu#FvFdsOJsZD__lNcxPo}^^wx4mmjcWE23y>=k?S5Aj#8#ER5k +oXgu3G(|TIU6{5(;Z+vqhT*1H}Bq)Ns3niAw8jm$QF#knC0mc+&U$;8M#W0K@(R!5rXY~qR+C6I;U<0 +sF2SPY#fa0S>~GVK#76oFo-A_V=Sqbi`vxFhc)mvR8^-^q#jAu`x3Xn9|d()-~0d4>CC?)+ +gcH;_bCHLf#6Lx)Wfq@W-5cOm?Um(O>u1M)=@3G{R@?zZqs#ANGBWtRh&2wSjdpT#dkW_Bv{+g^p$aRmfz1;Zg(wws0_TAa_a#Bd$qk#S_Y*6y#p`^~G)R7FX1Xq$V!A95Ab5W`3e9F~lzQ$K|BI3q*T& +-&INnC6RSA-FuW`YV8q0D~Z9P;Szmv;u=DJII$JFM{qES+GbSxGkt%+p=t^b)l+BZ_X7t2}PDaR`mX7z`C2<-arpJ{ZJ-t3WGAubTx-F>@2Oz52=0|*wIp)9h~C38>dKRyHM;dE=~3%rwGMZ`28)^ +&_G1muE;>~ZLtUpagCAZ{m}>BZ&TYAc^>nNHYwteJ$Q5equ~_=bq@G$EFmPa}60z5mT`5u!IU&%)>ALlK@t6AtpmH`>^&2P8h#?6 +Aur9Zea~S35Ly`3>{2`qp_d09S0$f+dV(qsB22SU_`nhnlYI$9)=1g8YYm8{tgfEQJvfvfoy +4|9dcU)uX%^$Z&gGXRdWsk3u+a$wWUe9`66L*C}eaCqx3nO1njUV4`x$3p7%}Fh1NoJoE!XBr_ +6SVYZMp5R~`_r0c%ULd+O|Fp>X3Njc&R%k(E@byH2ngLb?5F#YXg#t1^l+-_I@~ER5dDn6wUAoE71j( +Lb<`&> +JNhtyA?T9?0UfG{_+_HKr*H2ficcLdl5&!3iW9&`9eG +XQDPmpbdR!!_T3Vdd$!NlKHA=O-G4EV&R_StdNM0N$vqYqU0*S5pLIRxcD_KB<(20H#K!`=XtF%m9&MKmo +r^qw37gp6)9%J}zMOSWN4|tjB(uKh%g@J(|8GCSpS0>p7qA(G$U&F2?Xlyiuaq{NNww|Q4Nc$opKUqt@#Tv3un{A%6f{syhD);9+C|hrqcQ +daeemPBO!2!w8Ax7YAIh26z!vgU37jSB1qd%@$btl<1Sv +u6I6$H)O={O{xO<-fij{;kpe8|VFOr+;_OH=sQnA_)qkDFQ=D9HlUfLI?`MPz=H#7^X3bMiAt?J$v!d +KeyMUy;kAKL3TgJDIs1t1p$_M|zsT-!Gw5h +IKG0Sljy&<8ABmJ2LafKHI;w&li6a++)S`zJI-AASz0FZ-!5Wc{a4=^@T0f(SKk?My +tTivX)J0q+?dzSy(3M1haxmY!2o)4bs3UIh`f#rXsj=(BX3qE()tQLkk)L@sL92oAF|mX!W=@X4Oyp7Drj>M +1z|`V8hEo@IlxCaYQk#?V3O{ZdOwo{U=na +Tb6yPc*Wh&A955!&El|eoNSruktibrmvmR%6-*(rO8T|I8Bw0tcE|_+9as^>+JFj;L@I+Gs|Ewb6v03 +r7hMMJ-%$0P|DLb-Rw|fF^LN)*CkcTf#hBsqE%iM!@$&Gzd+-jmdiaEfPUW6i8 +Qy=o3_ouqn;!0Kk*;jmDi&bpyjJ*WSCeEOe%7=BG{LFFb?a!x!x@DR{tNaJcCs5H7iXe#Us(-~xr(rZ +{4|eKa;E1%BZDK= +U+U>~^Rx2y0tjm1pKSDG=mMsK(E-8QU3j)22?cq%ZYyqWzSZmvqHBC+ +qn=lw4-*2FugJ=o^FSC>?&Sg-F+E&O=P@$F5M-c)o8kfVfa$fUxEWKwHrLdwj!w`Ced!jYRTlwNkX$c +sdYdsphAVb94t*&XfSkq=iq!RNgHg(4g-uu&DBCH +p5*z>>NA9Q6Ivun}6#Vh7;ds^o|K;vt)sf~|vfRnrg}?@-!q2m96%X95`U7@r;b8FUKILTsiC(LhG{d>(>seW|J!^A>X*cnc +xJzZ1qd^_ly;zkbq2@TV(pjkA9IbloXY8@>L;HUH;-{Yx9u-(n2@JLmr@aPfENew*%1QWS||IEKO`L? +Q>NfH(#yb}LL0Fo8e>OdnA`2OpWnzN^s^;%LO%JtXnbG6!fAIcBji`j|+CvqMeoit9iQ?Edrna}{KCY +%%Z8ML*jiaC~eVA9#X~sKUqt8nF9TDm&b0h97p7_&g`aeyq`;PorLpA1Ch$3&TEah0iYXZr68Fi9m%%;p4pA&eFlu(&l>#g3my6E!Jm%lXW=)vg4WhueU`t-E>&1s9>@ZvN?u<;39`^W67f78n0xIx-# +y7GwL(aBcKFhZxagO!TOHK}sa|_!{Z-DlcQp73KhkRK7p*27T5UhZ5oRKw2SgE27Z)Nx+aur9J}=uH**d-HE;WQv)#TBa7`&}F1AL$A5ok$8R_7#9PQLz@7&j%{v#*78DfMLoI!?e? +h9FfqSx=sXxMqa7eY03alH+uTZz-U_Iyw-|b*{>qJP$cE-KyLKy?6S!hRmD65dXa^D>cY0Fs{JiPLg! +!`lk9UN%%hXzh`?)2#Aq2cgA>0V0SR#edln)t^95I+>HUMeecPeuL08_>Yy|=I#uVVOSK% +PSt-isWT6%9BtajID)X6DmDxQH?%S|cr3kYAb+}O^Fj>>1xUJ?JgEj|XSz=IaY#S!)o$BjQNuK(Fo-S +4ByzeOR1#;yyt+0kG(tf>o!Xu@{WvijbCC)W!2EST@^-0I))exq`!ht0~|jNPGWd=K3@YdfSyrW(uF% +Iwy05XS?&ACmiLz2u6mnf^|J)~D_S?pIMU%I!h5!v{OL*7m85LJFpp@xm_@8M$DC7`xiq5-FQR?w%7*U-ka~N)%{%a}mtDzQGfM}H^%IuaBK=y9i)X@1ctOrdHq@?dGN{4poU +ST#bI~iP}3I3wRyMHY*yOc~qYk-s7TLs06iZWvg$nh^{y1&u8FPM|)-P`Dto_2SpfaK64Y9x9}5E3unG}eS<|%y@-r%I!#Yac^s+@THic60oDjn|(P2|&^5-^TYye_eDyIC +a8@qGd_ECNd;mv5cp1covSX=MXT0r;S6n4dfOp!*^Q`0ziDSTOahtC*TskRw9FWtX>_*IW?(9K$Owvi +xW{~MWlle*fR=00kWqy4~6adtt{yC_TqKou%;Qc^}%Gt{o!0oZdv{Yjl<0r9hX#%4pZ;h +217oW>~=0V=1*fvDXd8b#9N8Ti=C9!DKjGne(vAq{Zfw&ea!wQOasW(MxGy@)HK1!O8J8fN8HFi>iL! +4YbFR;rixt?0i3IE+y2(vtaB$?p6nWYFGcWy?M4Z3$DVN$jiE`gZ9K}9^=(20g7OL3`bNVCb^el-fnt +1+rdOIL~&EhaoM%f>%0g$BmjK~R*uiuw-Q(FNahjeY-L4;yPzf(n^LE4c&t~Sn6<2n_#R04HP;bb#-{ +@FNjV0xlp-H<|Ga4pv)0=?ADMzcpVkR+V}swNR1iE{hM|S083boky<)l8%$e+EX`42!2OM(+q@b-OXx +>^rp&sPpiJbUB+LDt2)BJW8(=q45xzEl~eb*e8tS%YhZRI#U2FV3@&bb+nF4q*%!j>Ygl#5E<#Ex%YN +mW_J^=gUdzA2`0OY_HGARrY%{N{`*Z4Rd(1|VfhBSjJS{L7c>aZn$beoc@i4rO+x^gAOe&0ci;wCi?( +M0Bqq#wp{4@vgw(`lSKRRq0G=)h27_X4=#B@j<4FzS8huFHUJMv(9)nDfKOpS3iBq$n!*qQAj>P_GIS +%3aD5pXzKPBFM;c6#)G97LqbUR?ifk^*4-OsS@i~LFB~bS=ov6*eDvo#pH&HrYA6C1!zrAaJSY(nro9s?ZZg#X1m^_3D)kJ^% +$mlo#Vci!l}L)UcOj?-FFcKl@wiQbie{AffovK$-D+l)bMcwt@q{xw>HgA;Ow;6Io3jMWS&2MZT +X*SddK7NFdY@1_0TjoO#}IV?iT=X>q5k^Q^Z!79;ok&|AOu9AIE>*mM(!GnpfQ>z2ponnk|1CbJGv$z +0;OP>q;TlF8|pB6*zH}vB-pWx5D|x9*&X_>bdt}IU-SVMrpO_4F!K9t=pRW$ePA;CNxS;NKS@nFeUKf +9{8+0<$)nlv*uVK89I)tEpCEq(?8?X^Huw-}(4nXD>TIgJ+;WIdl +8V9H}Gl!Miy^mp=IIT?bOsC%*2_H`L{$buaq44gGR{gwjkul$OL>UhZTvXJ;@)P^gj#~aYKsTBxSfLiK(Y?83*PvG1In{1`kac}`mrCizgf; +=h<%M`&nOnB0S3fX&0x_l%L3(kn?)nA$BNzIA0Z>Z=1QY-O00;mBky}}6EyP;{1poks5dZ)i0001RX> +c!Jc4cm4Z*nhVWpZ?BW@#^DZ*pZWaCz-l-)r1B5PtVxAvO>3!p2bg&|@Km5DqTT-i4Cm3MIH&d%UYem +W(8CvVFL}{bnTjXSOBD!*PXMO6s+&Pc!q)e4lr*SR@4)Cn}LOhve`6lO#7gVOg!qRsu8NTB9s;J77Xt +$ED;>XvL&1!iBC_!3imApk~@I;Vdh(a-f{ek_Db4>P8#K?7?=I+`*%8Nm4?^=qe8odEp+@B|Cf1e%A` +t3Byl*d2#vcr+bsnO88+1211(FnUE!YPM +EJe{6f$Emet#hDJ~f_1Q3A2X**DR2) +CkuGI$Pz0WLDSE|-Yhk?5k6P|0Vu4K +rq~_j#79tDsW)7*JvV}5nX-NPW%B+cU;{cR$)qxG| +tXt>ZWY4L9Se3|o;Tt`2?3{ge28Ph@56O3l!Gin^|KXiZ8}X~z^mNlnbL;i-Han>}-j+_zVsyNI6Y(Dpyg^Qm<#}q7hA&??IK?WYHQH +%j`}IMSYPj2AN+hmq%fv+@Y$aGufu*AquAZf(_uHYz1;>(wP-3lm6*Q_GD;#LG9e;h^EGUugDOi;$=< +@r=SW={dvCNwh*`_NkIO2wxu$LLqQ?q%lz083AH=E%z6|YX?j;rvBO~m)-a+kp=o{`&%9k +ml1RUj&+w&QQ~%f=3lf?uhfC7M-^(q2Ju5vJZN*zD*Ux~eQ-ORhG>J9HAdiFY~HuoyU;I^Hg%J7a#XP7r3t6Eji_(d>MbZ-s3ED?@W)3#(u0<{IyUKp)vB9BST2!s9OQIz6aCsDyxEV!hbUK;g0r{hC +RHtYLfV7ceN3H4rggv~-}!rCf$XD1V0G^6g2f=RsOVaA|NaUv_0~WN&gWWNCABY-wUIUtei%X>?y-E^v93QNd2aKoGs}S4_fz)<}bJQ4%g7d!KRvxVDdl$E%Pjs*&otGX)a0u!PNYI_DX=>e3wgS?fbtzKEX^NnxjlWmgG_9L)d*P?OFpJp=1xLouYfW@isqamfnq(G@6aWAK2mk|-TUlL6E>ii^Z-ZdgB5^;R?>f+7mS8p%Q-kjr)&~9f|m2)wj&X&!xN~cq +i%@<__&9Cb+UpDEKzwhkG-^*Hks#5i-zFjt1uD`A7ot>sy9qkDCQ$N=EPWmoR7mYZjUrws3td4}(6^k +mmnMX&WC}A@9X+_9Yka&#o1y0KQf!%s;&c5I--=hUPP+PXM4$ +AFBLt5jD3(G*6jOzCYFC5Sov1at#ROMOmKTD$b7up@XCv?GT(Ko$1yadspxtEI+2>bTUOF4w&#VldMYPM#DmhN~VZgTJfxL$<%pEBj3aj)VYLV66CgNfH +l|VPw(b=wTPV`|9zP*Nl1Ri4=w$^zWC;)lw>`U`o$h+o`YCq%?eo0tD%Y>V0kZ=4X{&xZXst)S~X>v> +!p{$dTV&a@TbjfXHj0KZ3p_w@&M{LjqX7Kfa=X^5ml&c#SHXnQ9g`CR){#lwbzIuO_Lg=s$N#e2kZh* +>vEoohiD~%O_wm=MOEG?J;pzyn3L$^;}W +J7@BQD04BlS{^&2XfsIFFk678>eKA^p +O0Z3m|xkJQ?vZ{ZEld=VUs#i42_A0u*Ofe?0fQsCGI#h;bisC@X^)%EbB56%TNIX(NXiWUnkZ(U9AQ| +-N~9F|jPsqdd|d#)tzM;Ol`P@B~X91MewS`jW9k^Wg5MIo#u2Y)KQ>j+ +Z3&W*-~1J)^_;JqN|5PP`c0t1dAot1oZVc*a3}66vrUqWQj`g=Ebr2^x*J!uy)bbfb0Kh_}lR5j_!$qarF2xkul +8DW)_y!&12-l<7yUT*In6jpL-fZ8gpn+C0<^co>x&eA}MT7ODg0St=;7A74=VwkTgs%3=RJ)PiM`%M5 +R%s^C+XpWx{>Hksr%X2S-;eKusiQsJesQSr!0#&j1ZrwoSjZ>1!jtD^BYg9G2aK&%XHl$&rZe%Pawo6 +&XxLl(6j6>K@`RalHaGXUiJtKQE;XY@sx_Q6az_>2U>Ggc(W^MqWZZ6W|xzrz?aB%QCvov-&no959PA +&*GJc<|Pbse*O~0IH%x^;=3Axs`3FML2x%f2(H0paR5|lRF?%nPepuN0^*^~rziu<(h=Z}njC=K0NIL +_K}U3T+K%G+t8;dn>MVICVmLZ5ZEZ>K$xebQziv4}? +Pr>qOo^>C)6WYkar=ip1SFzE7^#FWH`}hbXPUqKYk^lsp0!RQb@Y%lPsSE3^dN9Lg84O$%w49?n`wM_ +bN>qQenEJ^L4t83{(IO2LiAN^s>(r&+8H(0JhQ1<-g=T%BSuQ=_u}H(4P&_<5?0v}S;9xBB2*U4b_`@ +Cs8YmB-gspWLB?%FcH9YE0C0G!&XEy~XQekPC*25}Ued6-c_Tgv?1hJEe1hlf_6TtV`5LMRjhj1986C +EI=5&!g`L$pWX=^tO6y*W94c7D=H7(inqc0sNgxeD9g2vA|Rmfkk(-=69G&%NikhPA +tnGr=ZVLKpRQNBKiG!zGQLZj@Fs0Q%~l8?7>zWak?MPD;5{%vxSkF_Klq$derj>Gb6e&p9KeoQnWI8Y +&Az4pj%s +7TkOZ?ZH7@!kP=cZ45TEe@4>cM^Co@D6Xr&9`38Z%~AjnWT0A&z^y;tZO +~CAEmbdOxZM;?Xt`f;P58%g9D%9xVcNlgE0hqtU42KABSl*8D%347Uw?ikZZ +Ne3>o`^&NLP@$nlJMv1FTqS)MSceu%{dW3utQ`FwHOpFRPhO19tiM_U;~{>ZW%0Mc`pLohDffO~d6P0 +s05BWrtwAji)Hak>smxAY4Qu1l|qzACsdKiPz6AzSf?ubm35;A}l9x!=x;DUA5Y1y&<>=480cGdIex(lutwgb&_dZz?Er +XVJ6sch<-#UKjJ(i;4h8PnO`V=M5OFi>^;};Rl@>JRN}VQeO8qP8KME=H5d_QF?a(YD@gw;gAk=)R|K +d776JL0MwNjlj%eU%Nz|@5MnlRjY9z^l6H|jkW>KSMuTl=>gjQ^ +gE)hx@0xrhCQqp=oCad9ac)5A}M*y6g^)`ca23}mUkGbFBkF=kgJMN%B=K4gh9~^In2HS3AsU-5Zs~+ +Q#NtFOj1b{Y+I!{titviq%5+v!NiH{? +^-EROU`dNEZrZ9sm>|GsW{28PH+jN{u{Lw28dXLTkPgCcFrX)n2E=CrLSeXFPaf9jv&G_IUE1n(>e7< +Xk?xKnAP_*G|3d=W6jb#wJLg4+iT97HSFG7S$xn%ngLG +T##_(>1&fck^M$U`)HbgWKcrD`f0Gj&n&)ASv9!We-POJL}9*WCu!8Az(N5Gl#S`G1|a6O)+w=K~U`g8P}6{Efp +{;d^pi65P!kEc0jAi;iqaY*CvkFr9A!`MoALL)}tBC@tm +U?pUt6m`sUZt92DMc7&aU{+Z1IAyu4Pdg$`kl#(G4fg55vzm&m<{y7=F6LwP%0H7Cc|}I~5>s3cdnr% +db=gb{o}E(^P@+JH%YmDQ0-9>2x^i_e~Yli3N0vQi3jaC+`{uLHUarAGE&)b|WD3IzJxE(6;g6v7P>L +}?zN01o+V3vIZjua6FfB$9A-!anW2ND*htIJNg9KP*PZDSE*Kb~yKjQH*5NrZ#C-T!f +|TUu_tnlMx=iUcFuoN$a*%qF#~UmX3SNigY4|KSlS^(BJRh2oI~LF_yK(bqWpcZ4m8T$GQ$xfzxbM17M!Rn2s7L%wP3Bp{rOlgWq__6J_~HnC1FFOW!Zj&4CIQ7ZI{kt>6Qi;0hD-$KmCP(PC)7atf|1^k +;Khys-~;a#fVfs^lylZbLn_4#<__x>X(@lCfw8!A**58J=-W_qNF1;Ru_tI+9reBEHN +u*J6M_Vzu4>`S1Usa022*3@0Q!E7#m+8PLNn@@XCwH>d@JD1Kt}k?vUZNIux+6gT48k_fyF+7OtIOhWR4{SZQKN +rEkixdlr?iQnHVA>EX9d6yR1U$nQGqz#NYRj7YZHdd;6Ab?JSe|7fF^zFrq&pG+DTu84AK4Kr20S=yOEir555`41B2ldU=IS_H! +Y^24)1GSWAnz$9`b(FTJj7oi5F7q}gD0eft3;73;@&)U1S;Z+Q-Gw;CBK4n_S%qs7EEagdOLP=5| +IawLg~1so_Unkt^f7+J?@9mxW!kHWnzAy|^kTP;!HHSAgZ;y +JCgerc~&=EGPDv19eft7y`i&0q~b7|xTW%tD1m9%*fC9Od(4^gJGcM}Gm8LU9!k50XLwqy(Csxm)&)4 +S+fV7HJ#~OaTZS!;?2GKz*$oxdsm(W&&Y0n8@yZPPP{xH>E_ZW~*3 +!Lcr>J52R*<#=>Q5O9QpqfHU^X!5n@&U9JbGQ_K44ao8;CI_O2C5`y5gFEwr-r&Lrrj^-8U<$MO3F{H +LaU+5jcvdGe!K9%SBDmiMQp{&H>tKgA210*BLObhYm8ctVpITK!KyYdhyv6&!xJl1sF>7;7>AHxS7)0 +WLazp1nMb|7`5&Zgk4=Rs*et_qC<&TEMd7kJ3l@>C5IbpHf13PjqCx2b;gPV3W09H2Vyyu@$`hgDJQ6 +NF3uqGTRv9D)Az^_{>^KII8f^kke+8Xl}Y=^(cRb2X00g7ZNTovjy>4${V$Xgeg99@FT;=vT_Ndm*lip}Cl-W)QOythEX^)mD&wd +vuc+%CCJZ=?GR3@R{kp2fA5bHM}~X!FJ?n3aSu8M%pxgJp47ln?Ey;X?9`@zFEzZd +kv;g=zq;|ShdCX56)K+qUS!>UuCW$F{g8uR4xP9j4`ZnyoU>8BP~HgJZ!)L3?+%2cL%akbcsdrpm2$T%xH +-_MJ+24QuljwbUBVr_bQ=eEBU7xi#J5pad=o7`CLhrO_6_gw0=R`@l*{HVCq+Y^H$v~s%f<>3YnRuUGPpTs?6g9&c1Cm^+%P&B1^cdHI#Ml|nsuy2L7thn6KEc+Yg-4=Kn&tuJnGVqoQ{8}>d)h*9YNKt=HlI8#=IuWAHLP9wYNoB4jgDTa?b)wQ7o`S`BQKXskn113lC21znp^xAnwW6 +;O)+bPZSO%o$KU0!0O6F-r`w;0ug3-u5Cel*5V&E-|1D#``RNFw!8H>7$E>a@wL*a4GWxroQ5A5ofeQ +Y#ue7-2#7fvAoW+m@-DOkw+nQBh_C25|rS)*F9a)J2@T}(_4goY+D2rahScF8I3Mk; +iT(J8da=wu-vu7%-xg$ka$5=lL~##v6^P8@K4%i<^a@AshBld+ZzA&-$}B)M2FC{w%Pj*FW0oeC-t70 +O4{O+eE@hF`w_<%)JF^M_~!!-BM=QB4JQh>S}VnQqW@LA~nRwfR%J;;?`euLA@Y03Iq`0|bqpI|X6o0DzE>|I3Tw4v4Q_W06zA&2j&NTNln@1x +q^;zN+rB=I*>RWY81M8AYn5r(5XtBsP6(wN<3lDQx7n-bDsMpE6ETAb?fsz{*UrTU1kik{R*W!r)eck +`yddwpSGWkF2AP?U^0eK?{nohOx|0Q^T@XM$_H^B4vov;mFW +vLhUJZ|xWz@=5*78ezh|5u$&!pXQQ9wg)x&g)wuwSS#aglJi6_<;ZkDkL<=|hVcpIKx-LLynfbL@=1A +rc7h%;P<(S~HG``Jp89-3LNM*v$e~OBm +a>!?^unc;!tZ$v5!k)A-QDTKU(2O=PqT;(0lW8?g)z1!Rp6`D#r)3Hh7V<%`zq01Ch_Il)-aHd43(}n +k$&MoAR*3e}o|j?WHFEN7s;}5lGM1I@gxk3g!NJ*JHoe9Wx^>5}T5U96j!pNPw;?>{j2LCxGQ;gsmh{ +NpL_qu5@`=w>{%o+>6SrgLK4=c(@b`iCE{w*A5W{m!1eD`=wk4Az4?~mF+Nd57^7!=F +XI~5J6C(-cgF!R7?9L2Zk6dO!skp-R-;=PA2C*o=N+Yc`S?!d$gIBwAkyk6c+ +<;lg=bq3M9toW!_doX4gE>`x%Pc{($o`=(BLYfSJn)X9-G$fr!!90B2lDfMU(l#qQWxaHC=@Z$c!wpY +P^sIt#HBFwQyZ>P)aNoawuPy|`-KP*F1bj7)kmGXx7~HpPk=BoY_t~ePe)06N2&ymCRf}Im@f~0BJ2M +doMlwA?-hQ>D5Lf7O*58idpWop>pN^@z6_@&AwOEA`>}!q{xC1l*vq&eY>SfljLd}Y}tQMFV!E--gw` +sFIqE<4<4tvtV%`Ml&Fxhk}k`luDTW>Dd0+lT1^VM`afIZkuqibZQ>J93l{x(Y=#(Xh}{CtX4$@p<2T +J61Z%m9-q=D(dh*2Z)6&F#WUPhyiGBok+2IzVLI6c@DMrRaqrJ^ddNIM +ZHCrk6_JgtFoshl(8>kbUK+$MJ7*vW-~9-0zBW62mEG*036;)nGQ1^)^6Ef&v%4<#iuiez-YoN|YV#L +(dUmHXIl8kc*MV`gFcTgYdGf5dt2yD7l*{X!s<-em5=wtLfawe(4c}=hcq5UBgX&I48F(0?00%0~Q~Q +Q4c^8WF92{X#1W4bS^HBglpu22qJVAlgO1z;QFb7i00KlmEC1*C(;svnt7kWR?_FDPc_dP>A#Frik#CazxPKuH!OyIn9U9fOU9#sIC)iZ +#n|SSkB?6#JQs+Ix1)_CaMOiuCt~>4A*DDpFOM+%xWtcR!T+K~zv>$W7w1I0|E22zO{em +loGo?Rhe=}+9@St%5xddemESTkp9a}jtVZJZlgXE&OfIvl$;y@mJparoT8>^Rkl;i@Eq|hg$hBiPcoI +2MWwVJo8O<8Rfs1RE)ojyI)ke}*CffC74mcuA{xR=TVo1|Dv3w_;U71+&h%Ym{Pk`_*k7^|r;GcRQUm +jewEn0BEY89Sd=9GqK`RIg`CfmBf?-o(5MIIkOeIp2a&Y{$44Siib*8ULI%3Xt=7a1gjfS!U!v= +Nnte1`C6Q4w~0e8Z!3+M=C$9DDQB|biP{07OVX0m*%C0RV8r}Z8-zZ^EX$Zb +7U?_YiN!b-iS_hlj_dy2M))fWgYL6^;*}XBpG)RY7Pd@APNHSK{Nl+@C7B1d%mHI^zTQFAHDaso3R&T +;Mbz%{uq*v?0D63I<<77|+g_*1x>*`+k ++Q7KwwI6n>pAXNg4#Vei+iV{Y+eLw0%8o!b_g@FUHg4(ZLuTbkz177(d6gVz1ouraCT36`*RJvSh$If;-T*qj8%jOQd!J%N7{A*kfj1!!PWT>6Dq=5T|=7-kE9fhzK3vR7(8Er +P5GF$4%@tE#{I`U2K@pb03j$-&ar{ilVx^Ayh~jrqk#RQ{wlQjb~`CA1f6 +9h*=;B=vE)Me0McbtJDyQwfkmEWMD|3kv@!1q+cj&l5aKxB_Z46p!$LrNn0}oU90)H>WEK;qgad$~8= +Fu0{k;)X?@&RMj$}fn4jpE55;kVtjp4rHj-aQuqz4o$KX%!5apAGs<_%@_vWx3{7 +r-|}l{ZH-EaA##eG*(?c_wLIrt6PGOr1j;PL>-Fi%i|47}LJ97}>1t0Ho +Y7w5rs@BQVxOtKX%9h}1pUoM~Abb(_OJ04DU)Hl*Iu9k^6`Cf}8sWE +rPDSvq;&8Ewaltl+8;x+xn}&mxQOaxD3^Sw{}`L|k6BzVemrT{{*Uj5FN}NamrEj=n6~^SkKO%-Ztzm +>mt5H8RY}kR@F%Mgm|7x$X`=v%E!xm3S>Au +d)`)so?k*+)}B}@*xeB2%^NP`qL&?8(9mwm_%Z!?3C=QZ=Zk>15X@W036l-R4o`Gq-Ks}?SfQxtc~(x +p-=nl|=aR;swbmsA?e!jHvv!wlGQln4<8r=;s;tJ0ObJ9_SN7~Vy)T5y32MAQxN*G;K~G?_xYn`7uT?8Dx#{J~3k-rDNW+hs_Ru4Rb29abuLJ@i(IG^ ++E!6Ek$*Pi7Prebz~y;bEk{bj|=XTk5%5;Ayi@^|l!v-!p*(7v^7M1*!1Rg6f#Es?E|Poy}T&tQYM9wQ`wf6H#b;I$`@GbTgak1<@cR0DYHa6F-v4= +)rXY3ojyN#b#eOQ^yH2EUgFDW|1Z-k{P)TJ7t^b~-^h1;8F!Z%gIaGKp98EGuzdelZ51BUEg-&wN5%` +NhOg)?2YgkEy1_xegYHN?s?bX@;7Xd(H32)kYOu)XSRXRS*9NH|4wsEQX{g^+jXEa5*VoC>^p%&jx}; +K;1+3^*mvmpbJi<;_PhmkGANtdIM-I6p7<|)!x(t&0;Zbx2qUNh=>FD8@(z{&H)GQZxBR8Kx%PNVry6 +O_|?t`Hp55$M&$HxGnQUZ +KOwW17@_He%l^z`>gqBcZ*}_yevlY&{w-R7!017cL|s#UY>6Cy!~bKF*a)l#NWYL)JDh}no|rVcJ7;+ +m>BZXF3pMdUeY9+(M_aycLEZcHd}Gi2#fYyGpT!VH5THsKKJ1XjU_0$Z;>C5=o&to0b_$9FR@-`V;&L +z+CCR3(!DP}!%;&%7$Rx8t|5nT@UKt5y63__>^Pmpe}A|C6@Y&n0a%k~bC}=1_32^!hckT}R{bq_u$l +f_(Y}}N9-6!A8xalAwyja$w6pnFQQTBU{J)C(AAH^7pS^ao(z~wto#~Z_B2?a~^E5L`0?VDgDI9}?23vL$o_|9d+#2KHlkME|K~Lt6xg@$3d +$z<-_=znJ-??@}?(Zf?QQMn$6{u&A|L{E9Am^MgL@*g7!u3vFj&CO(Tf85K;Y{KWG@9qS|u%a-@8F`V +d_xDlW1(bvIJ25R+K7{HP!^ZQgH;8wzz!jFG%xU~+X@fDP`U}|}_j!qTGlnhy)R5*rS6uJ` +^)qqdT*yKOLNuVHnaUGT-2p%*v5Le?);%{GZxLY;5T}xcP0fRJcHb6ip8pC66~06&Qjtl9%16E=IuFH +o}(_J_qf%92d;2~2fs8`6sP!B6}nD>Q0dN&l5ftT07K8nW#ha50A%^O+)UTHOTC2+L4Xp+%xF`_Wgfb +MZ|)GO73w=@VkoqaMFl`?K&5WHyDW3Hh)jbcvzpkc<893QFOTgcIR|eG$`~4%M0&rp@HjI5IvR;L{&z +XY!`{KjBUXv+H9ynUL%ed~oNLOWSuH)2y!$+8(mzyVnJgG_RqWh}8+PrO_ +4sQ6Acj6WgY@w#D@6y#%yC$^lY`yLt!?Lhu~o`(EBs@QgoN3T<`fw4PoqXOP1LFFYiwqt-K63&fR*{iVC+K&)Q>XbZf6$ZMM>-zUw +A{q4Eb!z{wBxPk^$CfBOk=-0sdmHggjt{n&D1<=3Oz#eu^VdMB70+2EhHiB1SEtxyj}{pu}gjbK8>PT +p1=%aaNn^5>yn|FyoFMAMCgY43$W_==_sgms@a5rVpA2GHWqJ!rY8sW3r@u>7RoQYi`0O#>d!TT0@&G +E4~rkYZUk<$PW640=VScT%HFLf(UcH~8-3^^-YP1orY+JF?fJ|#gLcG +dngSKw^w4NpS{})h80|XQR000O81Cd)9{>OVaA|NaUv_0~WN&gWWNCABY-wUIWM +On+VqtS-E^vA6eQR?g$C2Q7{)+ZYOmu?=G1BO<4(`#n;}NBu*m>>D$kGNq0XBgG*&@&lbvH=DzWwi)k +9t2EASLVUyFr%3@Hl(Xtha4-dDUmdi&6IMv(KL$ +J^Sq07um-vk-gjYS52LLXcql#*^2DjW>e40zG~_Ty!k9XoYTQ0kU1Nq +>h?8Mh!s&Ck4)|qd0FYfwfb)kN_D!VJ|>$17L1SF`hjec|8bk*Iu?61@h-Bv&QYqjRThrWf*U%r(OZ$#U{Tk7eh=%?N63h*<|zOTE@8h;h@KXa?owryJZ; +!5--tV5~ZEMChW#@XxBkI%n({_*+r+n29S-#mYPI?jIh_tVo?)5wEYr{6t)@n7MSk?dyES4-W+x@UNrvC_V;%{82Q1cg9D@=(ZU +EMAx&V>UeRyGlqWugfu8>O?(O@JA2dRteZJn#0pO9G_T;AydO3LU_Vw%MZ@!7P1kzan7FE-OZ(e@*Nb +NpAqauI#=EKM5uU?(L&!dZ;zdwEP_Wd_G{q>*UpMLmwD!+Vq`~CYDryt;pKTLT1;oqOXhlV5W?&X_r- +%d||{D`BP(4Z#($q@9qo3el5AD3*MP4Kanup3FaR^$cU{&u ++1$c;r@_%5bFly}QPovHofe%~E@XdppZIwREvj-^bpm?HDqQq>CML+wfP+Qwa6Atn+X_ +T=CAf73LN{L;1mEOfBSFuXPiXj=Sxuo|AKuC&%OmdCd_nZOHsB%b9sRcvi?dUaSRaq9uxQ(LbN*H$K6{@JrZ^&;{6rxt5z{U(hSp0(jinr_lsxS=4j-ailkcPeJi*@m{P!MgaSSO@PapH +4B&OnPibq0f9mrnpx3r*VT-u7UU9*eKgszKgRUx$r~W^F#w${Hy};L<>d)2Ws2f}Rrk)$$w(IPIL28+ +a*hVVAdwoE;<0$Orsnsd@xlL#{ohMoOhxHpavRP-wwQn%h +fYqtS2%WR+HeF(V2=|?o||Cglyap_}qc#vs<}%k)ACmT@=bVyD66&dnd)mPpuf5|46A$ML5uLq}!1vJ +NW5N3DObItw1$yVe9(LHxLyJH7*j&`swEeP1{N==TnEshsO3_*xXhFU^6|1Jv9O71^tp_6gHU0*$*PC +1>h4H1q^O>ja%ea>$iWXo*^u9(6l0_!e~tGC6Ae0QC49&_jgnq9~yuO ++dHkZYx+STL&M-Vc`dC*RBHoFh#mz1shDHU&9jol(Lj`RQik~Cr>3fTk;Y+H +;kr2(*-A-fuea0F@cSrZ3B>T&@pA#(L +VE%a;skoUF7H1X$_`37#lKu?#jK>LZc;SL7&**ysi07{BDBfsOcEVWN>@*26@6%7VO8nRZekjU;Gt)u +CFJe^1&5ic^%7t}#~jFe5N6M0-`PyKKIpb{Ei0q5l}C90f1Yb6d7G(l7L;Fat{#pR@En$yd5)8}*O?B +h>6kRv5Trw2f!iOK~HXC(m5vknP*uYSf2W$-0cs_5k2jrwk~v631E88<*HxHUe; +yu-)yqO0!yj`UZxtt|%OYaH5Og8z&Z&0DG~41c2y`f1_Ou+v%#AYhuMwAs>R_wJ86J*%G!P{sm?T`&k +pTi+1!OHasMHIFzjqGqQOF7zG^>BuE%|go6P~f!s7zYgA7uc8^3iE7#Blhyi3oH4zhly3Nkd^P~Ly9Q +1DhI@2&)v0j!li_S=vLE|YlW@Q+51n({M#{p@!f=i ++rqSOm7^cx@%^QZYE?E^}K97rbqBEwsJaneh?!w`XDme4X}g;)yVn?^!_zWaI+F^HM7w}n1Bue+A`D~ +^+zJsa#i%(wUFcQ=sY1dKZ%3EDJncMlu7nsUE;w-awzZtlL^hBd4rC7To~BGav5>5iMbAfETnuwm?Pa +m*TL_tks$j*|{z@*&C{P{1 +mJ1~IkNDCv2C2dwFyIh*;@DEob8>;Fb>p{rnTBl}(3+*EUNxo32e1`}Z+gg&e;AV39am%Dsihv3{7^70frqA#(slIdD#NV$xfJGNhq===Xjq(3C0jTJ;f7S; +Rsktkqt$@r(ON~@+(jz!nYHhl2qH#ajf$gSxX-q8GCWsex)h6q-Gx1Zj8!ik=94_<}Nn%Otx8W6}40A +Mb*NrTG0WsVI7Se&vlcnnpUu|vLzAC6S=IoTLYI6bLEY`qH~%~!8kuh#|nru_=)>N|8qd_!$dwFr04+ +CfEd+n6n}D-C*<>qa<64`D{LR&-+fo8^PFq3%}#g_aSGC756*AY$2H6!wzqJ;(yw7}t@yC?ko=~^**~ +3q=6X{G%+N@mw6pf_S2qv)mU4&RGTU!01x0EPYRN<=N~yzF;@8068)!_*fh$`;7^5pjx@iCCk>jk(*eRuT5mtO(j*h}vmRHSVBfDUF? +mQ{+_*Bv8p +c+gQu?q#eWmqFo!a%IA}zZs##cI_%4g8BQv)j@>OGdUbZ$ww;y$A +2Ayb%mdDvG^4rp+dkNx%&o3aP?2(vZ*9i+O~dyAH88P4-B&ess*9vCx)}+wp48OO8KLa6-2!osy6zTD +}q&AnPfw${NFz=u|WoyHu0#T%QoZM}!&E3QGiFmmo*gGsT)5%RVqA3;RhcPP|HxFD1V-!f_9I|4XT6 +Waox!j#1jnj%+-IiNY=~kPrXR$h&?igYYwYK`Zf+?U?LsiImJIL+0cIA!0==RH23MYkmz9g&;DMr_{Qxf1%|vHM ++sVg(ME3@TosvQW7u})3ZpKb$bI;) +2h$6rV-$gZ_Q45fjMdKeKe?4~1_gQ&X-R9<89S7mNSmtR{FBln{NP6yJa&Y2b!mG)3bSXDZ0S^r$ +^$hZ_7?T!qJuUdBvfB*+P^Us^1xkb>Edo)z-^ahzn>M?KRLE8i*|^aPE*`k1d;WKHap-E(n0JM%{6!E +j{`-6-K2gP0CaNGUOXYf|0rdiY&yp>OcGb{VQ4#3jW(oA9fg-UJx@1xd*JtQAmq=j5zueY`j}^%X7*A +Q0cOQ86_qd=&1wKe4b%YCIHjnX2$+rFUxIb&QMSl)RtI{ngA@>6|jv&?3MCi+jf>F?y*CuqtsNCCOt&9z&GQv+&wBRgcujc-2EZ9HOZUbOs_O0d?1l`KD^qzFb*(C;1S)G$ojH2HP6ln8tX5 +mDE9doC_{E!>0=96Gr)OwsT(>k#jm;UKe&>oz3(_OHJ^T0mbm +(!hq>d`;659i%<7jtp*&>rkp?NDI0a67xT*$%0&k8+DU(hUHYfU;t-S%P}C>_%jSYN&yR0?$}Eu^OQs +Nq}sgL~b-{4a_IxRYn_CV;Ga>&)Q-tIQG5O=?dl}<1giA$&T3Zf#X?nd`i>VQLMCMZ&}k`gF3}d*8WQ +2!Hm;5QEU_=at%L>gl&5wlYTUB1YSSOvDpS}E>vlM0O*v*V6 +i^$`uv?WRRPs56$AZRDDC#uHsFmJ%*JiP(?ocDi&YpCiP#^Kyn@tlQmg$#sf5!R$u>Ay?RCk_qe;m?y +#uB0(jyDDAuWUoIPg7i32+frpeXwFpwj)gz6+?m&@MHQlo@d7976&47NPlFWr0068rFRZ7;)LdgKNk+Ok#1h7av08K?20r;*$vY*{LFaVP(Nym{PpGKeIK=?CAU(jTd8$rgoPc-pqKced=N@hD +!jFms8zYVY+8^p7(%-+qf@6L;c<)ca1w2?7n+ +7P_X8Ta>BY9U91#)<&xPTz28yv2%mJOs94MZp3WS~%Swtfxvg|;kNp^ZyA}k8oC1Zq#!F~1lGmN6;*eu1)fG({ADBg7ZD80YT>A2jdJHisxW +=O$PsmLm3#0+hYQ6Q_TW{c}WXcUjL*WY}#10E+8GdLnaMR0*4(J?tF;_W4gO*rmG4hMIvxC2{cR`r;J +K9p$9kvDu;$6!^64k)#t^1-k2cuyEWvZDyNMYBXFIniN$lKb|uYb$$tjzMO4{-#A5@dU5?eczQEV*+I +88bdTwS6vQOCJjcp*3>?ePeuutPr4JWy?X=KE`9#JAigMF=9VK}H{)VD6ZE#13o*U;`b$w`Nu7dQj3z +A-^SZbI)B_wr&+@XHRaGRE`APSrBdwpuI+pzy?Iy0-Bw4+u=5TQWi+m1|iytN=rjdi%Da@V=f~AiM8& +KO{vZ2mfMhkG2sXFJFD4A}D)mY9^)j++VS7&Ry%|S`P_^&ZCMA(HLaenfd00gC`82MO0o5f~HavI^WA +ZoWq?WWGy|Iop{!TpPSI;oW9k|z!pg0K?hxFkeGJ7Zr=Gv6#Zh4hpAL?;*DJIi=ShB3!gnCPn_m#sH- +c~e$PN=HL1F?j{BVJb3x@5WERr_3yw!)qQ#GN-M>J+Ivvl?n+R;}pPYN-;$z=B1!UN-f#VA7>v0CcKq +Ev_~}IAFhO0W}i)-eW4_>?>-p_K=OM}r2p<3gDmgy%ll8)o4Ni@a4C9}7^B)Njg1c?z~2u+Z9pF1pzoo-|yEgmYYY4sg*GYtJ1)3)ZX!fC4z}MNW&eh{Wgcn&2qQd0|8s6~FV6nLW10j%akeE`j@ZPKk?zH&465q +DzU6-zOcV&bGU}V#;!HIt5V4J|6+(C*7mnC$H9t;0)tFhMXhHq*2v&j2D4RSHvvK&_nfHzu#|^MZgrm +Mi6>?s=tZ}5KS*LW7UID5yY0+iV784x-gA|3@#OGW(;Xc$|z@`u!hiRM>j1?W)A%Z5mT@Op`zM6m9E1 +xO1XU~yxbL(TBB3}Xq2?6ZRvTqO&*iODWfP6=|bg0e^j4vy{z +&q^D5NOACm?-)$g1AuJTkZir)X_@}eUx!g(G7z{PKyTME$|o+o}*RY&GHtk)Y=`>mpP%lc9jOJFJhY& +6ck7{%*eFzr%_nQnu89ZB+pM(}$DJ^JEf6*{fvS9LJM!i#iu-%uS&7luhBe439DPA3wf$^7o`rmO?|Bo!;FV|@G0NoX3k+O>loZ7C^`jp=i^gz +{J<)#Z(l~*oG8JaMp8=GHvD19Wo*{0&)y~rd9&ydf4)Ut?@24ZA@ER2@i0{-*csFv(5l}6LTOFM8A6j +a2_?p%#GZ$F+M^O?f)cP}~g+7sK$kF#S`Wxr9&XaFj>NIXZ7NKf3 +1L@8;~6W@lIlCTs{A2ExfiW-P-xC;gL$d*5z_%3;*qm=;Cy7aim6Kc{)Sqn^aCXoFjCbdmdChRVAN9O +toL{wKgjIVI-Q(&i9Z$!heXZ@gzj3O!rA^2BuuRxDkBv%8G?YJ1>>agDhpLTheYGl$mZ +?tqS)?Ljo)yl`~`2ZNN~Hja@0@{Jb!Rm(<^+@kCV^(9jKqZRZwX2th;#%PUPXq;kXb*zEK)UQRlR%aI +t0SZ~D=RLaNPZl~?09xQ81LZMmde3X5?m~tM= +xp%x6+NT&S|jdwL0iwr!xF<%QDes7O6mFbtvGvStM%gf{YXwu$Os8X2OQtxf(qFHi5+e5kZyF_(2l7H +aFZcNFz-Zsf~-Z&_tHub=aiHXLtyJsOQ3J2BMq8$3)?)x5Nq@7nNddTx7nm;ZcEJ`Z+9apj^tdG|@5! +#?%8;v#FQK7o7rg>+Otc%dNLfvbNmgY~GOlxZd<^b>e2{ji@~pM_>HQ*U`5r7KZCooG6<$51H6N{Ve& +;6Jly=Vz6@fAW~1%!7V%M*zc$Pb?Y?0c1Np7gpTDGYw6947VV@#StN?&M<_2sf>x&j5t2?UfoD$xXV= +FZW1{|WOiViy{-?PuEdI$8)P}V4D&^V`KjMub8B3422pr{xT!X2{G<$pd`BSl;#%2`E#%Z7Dw9_N@fo +^2gE=EVfedON@@;tDIP#=18^yp>F|*Shz2KTAhF5bZ^S9iFGniQangBK&JdxpYy-w+gSj)Wa~Tq@ +!4(8S)T~kx!pV8tV#=rKN0e1tTKYBhJ^;iJ5kkOD`ym+N7u{d{JWxm|t{iSKt%gL +^E^nXQ$5EH^vBg|#s%kqau6lxdMmu|hQfDLaQCWoP`tJ-?ab0^>nEc`kj_4v>C;DMpm`dRQ#y}C33{h +UKWta`*cPyQf&fCPSXorj?JzMZ1J=5$Ac_ht@{3J)B+0_z1PACXBmO=XfWSo5-gzlTM3{`1}1YG)`v~ +*2_mFS^UmO#2n;Tn%V@i1fq`rXN1n8Htb6^XmKd)MkC6f6eP4u5lZ1rlJc-QGLW3|-$5zpGD2Fyk6?W +Uj@QquC_0#}vYx)rZ_fMCI!Zh}P-?x%e9FK=~(niPp^9ugKV?KhY7I(~ig~s}V~vTCq-4W1(rmN?JEH +aerNREOeKUC@C%X*21dK7dXz@_uQA)BstO50up9Z_f*M})LWzz5(-joYFL;Oo>4}+$!gCi8=gz%-&7b +xL$??mp@j)JyWCKk)@YKwtQ}aGlcI#6g@TOkT%keVQc?{`QRR|zEhI-2kXNN?dM?DN;HmU>S$sb@LvR +qz)u3oT)Kq8B;`!igCeSh*OZUxE+>~|i99L9!Zb&&d^-1}TB_}@EJ!RvtrTyKQOGHT_JnBKzxqo5UkAW^T^YXW;A%+_qdnZ6K>Ad=gn-R +LyH}5bc|JwkI((tg>mxAp0{u1A$3$9T9bkr( +B0}c**M?T2Gp>~_4i{rM!O#sVNXt|Z;Qb1W!$&ythpgf*n9Zz>e)4tLg`arl{tWp>bQ|&8^aFuafwB< +ZS630&$Wl7H%s4#`Ko5xwQ(uj{7XmX(vhk*s`6g&*E)@fzl&{~?wP_zfm^p`_`M}rJcLsC+C8-wH9WvA;b%~5g +BUc_*P9V2vnlCTE>ihNa)2Cpbz%=Qq^GVZQJ_UtXwCFm2ib^l$;Vd6>^}~ruEGHo93*yOptn!^AW!m@ +2cG{ijWDr?m^PRNK!v{}el^ +0*FS>x~D4mE-Hk1|=Es{tD5b(GR?@{G!ZLs|?iy!cW)f$0I;Q1(QFCj}65)9wkv?|FZbEm9iDNUE;U4 +(ra)?yoH^*FonXunhC0c-DPt_fH_s1_hYFvS3Gyz5vkq3%BLlc255eD7>3ee1&>8CAM%Dyxb|7{jVlV +?c^*zxbh5_$P3}SmQBFR{dxz`RemHdn0uAEjoEG!~%=J<3#*W?_V-xpPTNR$V1a~F>4Zf^uQ>^D8h*D +kzk}#M>Mvg7LO{s6&zbonLoQUR5v9kUiDA>Xzpj<^{fhtqS_#%g%u#oAd;1z9XN*w`|w!tzMd-3QM$X +ilKKc3<$N;}^B6R5P@bRVXV0aAALVHY^M~wKd-yczvGQh8`fV(Cq7&r((m6R?t^$uGYH`bBDXe?4Wb- +cS5=FfLUpYp=>$bdHmB+|TXQ;qM_0Ht2r`19YTx$dQSw7kyvR_Q=`&u1J%OS#2^*vj_rnFf%D{EO$5L +?9$ui`b+ZuV#Q>4F|m?}6O-lLUcTL@oLh43`lV8 +v;4i68_?MY*l!glOllR63aVC)n!N{NzDYU2GvBn(PR#YoAX24;}tkSd-@A;|B`0|McxW}cyY9(WR+Y} +Xf)nGPwGnFuG^{OrX2*6-N7!CZxSJ+PUU! +qNfOv;bQ1Te`;3IPHg@|9*KDwN>G>o?y;=NyUZo%)IfJEIf2&OCujvE1L2`FV-Z_lz2kjF440JibPg4829IOF=pCl*R!Gt1J2^0QS +8W=fqMJ@d-dU4Q?f?vjasySHbnjNm54M_pIjN!N?iso8S$(q`mIX$L}Iyt7LSsxL~GF7Yq9W^!{$0U9 +DSjZlR+GEkvGk&i8tEz|tS)g9Tp==f*OcRVI+w6`wlskVgfEqtTHu +C;~)E-gYFPJ(Jruu7T|3#MN@0|*0Y|kBufR33vUCqCWAsCfoKX`e!;V3N~8nfS3y +U93S%N@)s1*YtHt8YLi=R8-6gZ+6Q2#@|XXnSqPfLLXs$B;`d +fPyZK84RxdWh`1pKN$Vhih{Ub^n=CclZV861wWYRF@*sNzCBdmD0u7q9Hk$Yq@ +@w-vafQu14P%iW!+)yF^!xHw7^7`Zp_jod#mYgFft7cy<4dokux-fe&_aeJy(kBGSigT?L}nZet{srx +oXv2S8I77{!hT?27{4xg$GV?;8l?y{GAKr_(`3&wHn#q4Gr +kIEQnrpGB8p5Fq9!G=9gsI5*QV_bbd}>0Vv&x8r+|x@3SYrRkr~Vf|bTq{L*NWJzsXsn3&HBBQL~aQO +zp4KdUVfQn?&!!71Q}tvkB&^E(tyX1=f@zzs#$H7(tBaE<=mibr#P-XaLBkq52M?ml6`_~$iGjiibPy +F_d?0gBM0~*3w17O?gGTOts(=>-E+t9q63v;Zjo}Ao2xly`?`tmoMTJP31~C9-Wb+X<>*CoD*Mq +;}(}6m?wd=uT{hm^YyVF=_=Z{IEfWW<(HXuY1T_<W%4EJ3 +WLvmm&Esc8C;IJaI#L9B%uk$uS+l +A|Qs2x}PId@z+Gjx?%k$sSrS9O}elj*fL%%0CYmIac>jnwTU>8c~G!H@|A!P#{wpy-{{o); +^VVaFrzKip4BVXgg$9F!he%VG1{M+tw8xznc!D}Y3V+J8Lq= +Ejdnyq^Gxe&kZ!R=u6X2Fdi8I7!M4c9HDQ{Q +Oh(WQtC?9>9m&FXQaZ%6gpNmq3gAK9~Ci&#W8x#v40ug2jjrepPwHst80Ot{kC-b=NE&yAa6l`OMIJJrH~A38@=PDAs0hAX4&OAEstp)#6{9%ekhXNlt +IgNO+Vju}!16ra!=AuYy_}k}Oyx-6uUWZa&okc!8G@TtEnn;B+U<0AYbMb*+s>A|>bX0{)$8&aLle3y +QjxP+v)(F{YmViXGcQ9UnTkA&vzvP{JA!j|O~pyhtfXJSD2OJMG=453dhc%8Uw{aN8LgTdq08&E8#mj +j$8rYLB8U{W2aLlgN_(6m7*3QQ;*#AYB8*gLiuGQ{9k+Af0BYtw@29vU1t%6Q`UBsMz7z}E^t=*9MV_ +4=(}YG$>mC)TPneQ`SGE&|bip8Z(UBC0iFQf!mFX46kG0BY1sGuMi22qSukoo71nduGd+Eu0$u5r8{~ +9zHK9pjLmgkjcPL%vy>DuNtTg|by?dhq!$xTWshZ+aDkzO +o=%TLHF+vvd~I~mLW4MbLvDMlCVq{Sgh5 +sY1VDRf)+)TqjV6LnFvz?FSg}BBdra1bHt_&a|oyZ^1i4skZ`M%aETYqK*C4%3%4gn=4_eXqN>>A=?I9H-b~_yHSd6up`mO+dD<{*KQG&T +M@6*8j;$-ML`a3J6lI6HJ}k4QOxdipUpYe<5nTvB$utc;G;2QeZxJL;+n@W=gx?k8AleM?&cs$}AciH +;0RjtIg^>giI0MjC0+P)_?MteB^8IjdW>CtF%;VCdk%F4qN#RT>Ez09U{Iye3+VWA78Zz4edT#_+Lzk +kan4*+`Wob=5=I&5?ccijod3UJAp(DQc65Xcdv3KT+DeS8YK|wI8f4;&N&8}M^OQZ5dC{pq$=_xA*Dd +o~EL-lUr2hAE3#v+#ZE}}*=-1@!*Cq#vj^3Io%L*-&KnvHY4HgR~e?@qO~5mZvJREM +=w*Hn{+-8k{NxHjinMuF(}yn`Uryy20r1KFlM;+U%KnR8ZAhZ`P$^+&5dHZ#EP92p4kZS#~)qCDOG@b +DURz{}1HoqCR8eL#g3CCp%v*k;aAK;<>v;l^~$l=>5<@s+Gv;dCT$cPn(8)e56wPBQM0)+Cp|VxaUpy +j}CES*ik&>JiUqHMesS^{C}DUD*fzQ9oHVc`O|m9+;7+zc867)xC{R+ng;{fb0JaP)h>@6aWAK2mk|- +TUih#PZ#wR002Ev000~S003}la4%nWWo~3|axY|Qb98KJVlQcKWMz0RaCz-q|8Ltkmj69}1+TqA@{FT +4>Fr?8dpV%n$?OE^bc!_Hy+yaMWr?;mktHo9CG{Tef4|RrBqi#L9e3J0%nn8<8d)MA-#5N*B=uOFesw +CMJWjIpOw`rt^!N1Snb(Q1ST1mN;Sw*nkN-17ly}W$=_A;nGRwB$|@$$#lH +`iBxe0THX^;>#~b|=ZU$Wow@GKl9Swm7BUs(&ksaEL0xJvUy+0ZLvyHc~Ys}>_p&N +seB7+lnjY8!nC{L2Pg7lB#TO1@xx1{ay1j;u_#oy-i9-gT+9%OrYHSDWv_r&Ow`xR!sfWm!!Hy?zsx<$bQ=AJ%HhxD2jZrA4SpITgz~N#l +85$c(_0kWRLqSGz)%6Ei+>(2o9(q?pGE8oreZguYSv$KA;Zu^-~SuyP32vUIZ74AD^5=Dd-Y!!ss?!%PVNqM?YWwB%^AgM +fd2@BmR4{NlKv`D_JO6LdQxdU!i-7gt`jN)?}GVai3HhXz!b=siVgX$_yrWw4fPhPcat?86~Sk#+qhox5A_(E{LQY)tVY}Js3rca1SshSV8 +{-PDj|?cBJ}q7=l%@t`(aHf6}&yHn0g(k;y8}qbX!oZRmdxRZazTT4uXhD#qu(NLEFv5lhPAU#1I{RQkYpe-{?sT3P{r3M +rE1KF|kN8;|;VXW(?4P8Mhom7c ++u3XES +WNNDs=fXN1k>$e!Lbcms+8_49S_OUMjq|d?O<~>`_de2(EMv5tw`nESDH0F18#6fQ*d +ZSAvuTc+D>$PZ|`vuE#P!EVH9Yt1ViDxWy4Um*9!)3%c{v$hcwEaDW4xdP$AR;t$F1lFeLNN|_ +O>ru<&J%&>I{(z;Eul5o4@T)?}o9)fG+%h+Xil+L_3&QUku2(<5P4ZR*`K`hMRRQ+Ac`g{$a+rV#6KN3* +QHi;Nsj+6iD5DAFvIB7zL|*^V#a~`Z1ID6wrHYSLLIR&z(NO88A4v6AP((!-6Ub-??qN`mq3`Dmvw6m ++DKTJ2f$cQj@LHXaHY +e~E{KRH!8ZF^d(!~Rs+!|9Z-A#f%Fx^~(GhHz_BTa~zh~+*>Q-S23MoV{;5+}vpc>uSVA-QhrJK#`JR +~9_*bg3O+r1@zG#B?GkVSz+Mhh2=CW?q$#Pk{SPg5>;0)jdOBl727}oJ$fAzZ;V$CdVCy$;059p&>IO +RfDsjLYOxR6j_U+2Ue35Xe#`&`%)J{0BBjSeeX$Wvq9ge*~FPC8u=*AOX)_i6#16PI_re%NO!>o0|YO +*Ohb*VE0~H~xnsX?DhHon)p_QS7?UcbN{Acs(;#ep8G)hxTC}u?DN$$rHOfM7wVl;i$3vB6Vs!6>%^N +4ZR{!~}{iQJ&0nl*4Vo{dGMuo7-*6?dU-u`?`UxiBUU_yzPqM37s1%r_-!&}l>yWwQu3n*44-HkR}?h +N727!m5U9|;~4sjyD|BNK~`7Hjqcv98lA5u@3PfE$`pdCmwGF~}CIgY9ih_ipKIh4*n +)38*wbeLHO@;%ngrVHr8$Zx6K?0YtPpCAu_%q1xt3-y(1g(^Cpsz42O#wN+@V9S7xajx}>A>zd9ayUT +BRRRRVS{edM@1LP(HuaAcW)`@lNzWL-PNd^q&6b&6JuU^*~FH&f&PxuF%P%NxVpR$5;C7;$Pb{eiAxa +}kzno6LcCzb_GzPZi@cBRE~MpM5t?J0#cISXQnT_sJi-WnNN{}_{lxfn%bk6~-AneLD`Vhvu1sxH_ua +G{R_5M!X5dF>&;13SopPOY8DS3_j9w{K#S0hGl;7wD*3!dB-qK}n?+d#ugveW=#t`Tx5E+tUbmGdHk# +bM@wOI%o#qhnoG5YZzLw?zajWqxS?l(a~`awi7)Nj$|x9xX*x4_gT?{!9`%63}1bvM{8%(WAPWHNC?X +-au2Mgbw*wY@rl?V6N27EA-%enVjJ#|y0Vpb03dh~Q7YlTbb)YCF?4EytxY=vk~+BdE1)E+3%1cFP=_ +7>%?sbk1=BCkx3-w;ScK{f??UC~Io0{m;7OhaJZ`6kqb~UK0r(?D%RrMXxL3$u{I`^usOw$1lKuqW1bTG9fO@Q%UKBV0_LtD<2^#t5agG>9c=4Z^WCwn#O!I&55eV$#n>QKRm(Z{fl +#sn$ovd}nHbc$C))NevYz(J{hAwnfsu&5wlu~^cNIn1F<-I&!7(rB`##OecxF? ++5w61uLYbryd+OOwN^$^-Eo2Io24-wi{#jfQP3?Z4WqwcurUlY+8sUZFrHfK4Lz$an$$vPCl^BRymHr +%;@{2VWUUum%#O+c5B;XsB-qH0x``{LO?dvhZ-!m<^M`uJL0zy?^iprTFfUYnLZXw?4bmjYa7P({G~?bHLDwS1sNrHA*vN2Uz()H_tBo3=uneCW*x*0 +!$1TkWv#_iG0W6Rq|sNQ13i^5A`1^Cnau!`qHJIiTcr%t?1By;(O<+e%64TgWi~UBGUbdE{~-6Y;ZF3 +{Aiq=TS{tmD>#_Zsdx$v@7-#5@8c!cEJ7uBg_GQhgQw^Mv#U*<00rF@4i0@bMZ2PTe-1OMi(pvWP1U1 +Vu{5c8@K^SeW(|ZwMsC>`*r3Pom=#P +31O@~F-X?@r_YJ@+>G*XF0Zyf0@xHSG@-UcXyTl@1+{Bul(et6+pBXwx$dWhkHqGP+ha(MBzy&CXCQ| +PkcOO2^RR-yM=^#=U4uT;0P{%x)L=(XxzTeJJ?h>82f)@)lVVk}5A^cS!p$5@a*^RQ$=nz}QYj^7N%u +i9X!TG9;at~cDnVwfX0K!Q?z@g3qSIX?Ff)*SXlFD~Vx&f1!TT~(zsA;(qRo!;Gz8}7HRM^8;&!*z+$QV#lbzsfn@M?rPozt40IKR*O%MrCo!5aiRI&;=(yjh8$qX??n+5ZI>opq&9iI#VS%{jT``srPH&k3+BSyflv7J5&4f0Upxsz9= +K8n%Sm^z)9PA%=$kJI+afa{_T_A^y52VnoO}I-!(gjW_|8#j{(g4o|0P +MiO{t`~zE(d@2J{sgt=ient)#Zzq}>By|_F<^nOVbA{Qw)pp!Jw0^Q!P<_r@EGFhe3XckZU|{uS*Q2P +N%4WkOpARW{Zj7mJPh-b8*HhxX-ot3|X!xh!4Nrd3)eX2_=N3>S5yu@2>(#VXrL;cOH`PhuQ=B~2GMS +7VyR;&0O1=8#h}yW3>;;!my?sQ&SCRkrO$B*sx=ngD$S&#M_UN_?5gM+$r->xH%E@@>1R>@rfa#P#E6 +gT1N6dlK^)J$Hal$Mj8>DS;xD#crt;oH$nc5o3j(R+{40DYFvb6M8 +LONQ$eF!H`hyAxa`ABJ+-<_U~l*vMhcb<*I%tS#B>6Nj +M|f!cOaL;l;w%=2@k^**BEOG*a(HfIv^NUjvzSf3S8R8RUwS3I!qf!1U(pAV(fsREm6ALP#pU*jVDd8 +xlKyOjUxj()YAkON2P1b)+gnZnP|=fHBQwU{bK?3FUv$t-Q)Wh&7N)KL +=QTyV~@p)I4ml=RH(mD1nx{tm5uTak`dLYLZ_tzfIeC?d-{|Z9?-(moupEBx4K-|X;Tf|{^3-^zy(hF?!!r^39svL5s}{x`!h+lsy*~ +=Orm#s>WQx#QpaWIdp5p%p^8jNWX38fpZwDzg@54=*1C`;59)1pvK%$Ll%oEwqL-aCg|-zTOXeUO=sLR49y2n={MxbA0T(l=$ +JAod@%5pKHpZwUlA`Zx!3U_Y%GELFI=U4F1EBN$xUL>@3*v-c@}B7j4gp0pFX(%6Xybfc&Y`4AwvxWz +^gMXx9DV8MpSId-!3BoU9*MN=)`MqqswSgRdjrS!IB@rX +=noOI%~ou2Gb+!RQF6j~&~20+P7JO6#}tDY#3l%3hhp0hlOMFLf~UbpVMZk3kDlb>_QM74ir+ +>gFM<+)o(bH<=b`EUaJR +nan#n^(NP2+dDLFlMTYZqRJ@%Q>o$5$&!5$GRga?RBwE+me3^}+RRsgQEo!@RzF97}V+|t88VjD3`DI +Z~j(9Yws`qu-wD9;DwFpxvucy@#daDX0n|kq&s$2~t__EIGrl4<|mHB>-gIi@w_@%y`!{cG}&rPu@@K +4oZ$yL!zvo(C1Y|2GGuGYn>sE0I?&ga|LuV1_@^0F?b?YFQ}3tZbK`g7J4-s54^7H`{eyG6(^3uv=xh +g6?tZy5df@;mxAknsV&WD|g6PXi$gOu^9k^#VpSjF#C=G0x$!)L#~DhA>q9zsm2S{`P!zn=Q(mT9rxw +Z=t7jnoX~Ze7vq<3hH({i~z?sbun%hSpy9=>qXg)XXT>cNu3uhmi-5edCU#b+>dJ*EX)MrcW@TD6v7z +8RE+^^8XDrOqK5A;>gp{ty{hUZboLi6sOCt@svctx8t60j=11u38lM*V-?)@L&b#ZP&;$KX{4tEmX3R +KMP8P+{5pEP%%?q_-Qh@#)Jxj*i+wtJ&=-Vf+zJ2y`jDMhLT@YHrlq7Zh_vGihPX-ssWp+Aybo$3PpA +6!`(bI3AynOZSwO{s6KQ|vwuW=$;_;vyRC+Wun`15b^5KBHE9DV!xuiuT45Ip<-_4xJwe(}tO5hHp%y +l$6^ci9?NW=iDd;oIc89elN1K+|78`{v1y-@P6`|NiS|KSAaAx^36Z=;6clc3q}bJ*O}6(a}*}%xEsN +#ey(OAsP+4!L4@jeYGkEOdF1mkLmBrqTST12r5N(rHCp;H>>Jy6-~B4&!Q4&;Mh!CeA$VBc2s=H}D2NX)B4<|U-E>g`s=_M^0TUt=ZMiI}O?& +Y;eKeq=nm*!(`zX~@?B{r$O>eR}Oc@uS0oPb8tSVeKiKmOIDdGVXJ35-e?rI{BdL#jg;!XdPh-(51x~ +uA&D65g_0H>L3<}jC0Q!O=PdYqo8Z=u7B0>E0+MPE*EA?hM-OkG?KqD5-M&46nWK!POIk|Ld_^yEB(G +Cxi>t9BFpuqw*BoDS0HIjmarUB#FgT?6G825};D*F*&2VK$k) +r9Ld~q?&JrB^E3*RW{A0h)&KPfBwhMd7f}{;LaH +rNKeL(ADt&nv6$gD{pT>6t%oQ|00CMy^Pvo~8JHyp29NXB5N|jjOuY4ipM4H;cAhFA9IM8Vg +F&RKRVkNj8CDHh}ffyn=0pL;3OLbC~VuM;P&}tYN!w?NrxZ6?csMxFPgYta?*yalMmxAuR*>i8pl_TO +*J?B}JuYqYh=)jYx@0sPLv!Y61eljeZJXrJCBUy+Vb%>+DSp6s2vTT_p%4402$%qKc)0NEbj3V|NU?{ +~}o=u)fFx#pm?cOv_!@eY#A%z=>HHVOcKSN`ksEEJGoEs;KI!-zl8UD;kUz1*x;D4;VSriw($I}Jw_l&`rhKzR^lxQ}Ck4MZ$ctEPxHG@h-d1 +wzQoXg5IlfH1DNwN)T89X-VMWks1;#at}irMSm6^r_p**RX2p_%c?Fa@a9@~QnCWd;BSFH +&iYQ7)w1kRj3$24!&=jHx5ZPv3Ov_nWG=0zzz;pu~3fh11?8PZ`rCNe44;ZWfo)UAtx{4RYJezLgtE) +a>C8Le%p-AYkC1C9lvz>j5DDz_b;&~dJU|fxKOezX2=D&V*UnsIJU9|Y7nrXl^5N;YR8Hvz&&E$|8x1 +R$|Zecl=&Cr5%SJ21-ks=gCSyPPajP?Q0qgC{e4Xoa#!Lb1y#saC^QK@s`D4U5d{S5|ItIub)s+A0oS +586NfjK4RhG`&jC+s+H_FAK$1qhcPHYrt7qLC5&9}qe1skq)EA;zA7luz>ld{UvI +H)z!-PXM8J#29dYl2)GnFZ?&Lwj&Om%g~1G*?vkFS#2W$$i(A1yM^_d5<=%;#Hx!1_BC|i(nu>%8EE3 +FYVAIz#d6(llfix&#ZeQ~hp^Lv1_MjJ$$+U3Iz_olDd=^u?-H+oSYm8Y&#+_N7SZHXt~Q19!mih5&CN +K6B}oR>bkIz47tAtDL3OAPScs=suDcG)Y|CpgDL`B&Rl8?7PNM(7Jp{8uI4V%kDAr!rOyHJLc9(5kG_ +ufS;P;w{hTmz6o}^UFt~WN81;3um4_6mzW9l_-y&-eQPP3X^(QB@+pDFuGGPdm-7HGetiZXDEWG@LX& +Npa#jOOJntbtS_GY&iiVFQUUh&HfR>owWyZb2PGKC1Z;Zg1NVWh87NHXwWHXUuL`8Jmz*YeA$2s0`BJ +&4h$IrwULyo3Le?7AY-m=+cwBa(-%G^9~Iq$0zj-&gH +(GZ?ZmCGiVVt<5Nv7Oln^dn7GjW;uYoK?f0NuepWH(Pg8=ivRLa{EjgX5vg(Z2g1lJJ&9;E84_V3rme +?}W)LI`*pWrH1uUv?V%Oox1PRBMOzxq^3fJM<_GGfbQxz;0s3fDlU#{$?M!UdKiA${Y#scK)k5twn?1 +T5~qXuR-Oy2*~B9VG=XpkxJ{sz^u#MUOIu&w3<>(Fxa +C_|2AM78XqhSO8WP@a(WJW(wUgd`hvtRqUmG+0&_GD4$@tgO&65t(#Vv_Q3n{@{kXgF~xRLp@@PAn|I +uh;+uDpgv)R(FAp56#MTg!V^?20kI~)93ph)0dD1G4t$6$5qXFVp~4FI)ELtuB85`K(0uI@?F7peZ!; +u1M#B)RM0DGv(J$qC;LtRqmT6MOw!&F<3mQoiDf2!L0x1qXf+s`WKeGpr!J@Xs1wqS4>mfd5tzOv!*} +@8lsV2W%lLmq&eA!Sc1+%bxyOl76)Uur03nxUDn^8JDYBWyrxn!y~m9cPzRJN)`u +%0to9+(6uum(}PZ0c4}#8*XZ^JQa2_41gSsGw9eLA$X!L~=>r9PUJP7W7-qJF{pW~C&>x;5s87p(Q*4 +{)7>9E_jE-e$j}1*ZR#SIOOK=RcaQr7D_zu}bXn}Q?MgJhwK`*E+0-UkXcRui?5n4mnhszZP$OHl}&I +do+07R7Y6v(n2Zaa#EYo>iZPvE%)+Hof9h}&qJH1t1&T&dn +lEI)5t9^Qm$b(-lPtV>EBYzn0pDhdElX5k33njX4>Q03f`44=F@vzoh0M7oUDM&*^wWr$xr@tY+Z~xU>1V1sh0?1=^V0U@hVY- +Tn7};G*(LG&F^N`*3fMh@w6HAmNKIKtcr9*w+W;vy3il8qmxMz9sBG7mi#QSFSw_N&41Cyn{G7 +(&R%y_njnDuUT(Hjz9@ua3{cs+kVO?m}t{m3}ms%pv#{&~}``nYiS!!h;Y$-nf;C>omxY7jst=0uhdMH&>0LZ-A!knP4SFU8RVDu#{llYJ`Im@T|mRCE +tiL;8$bVg)79Ozhs4z(3iNZH$-yBdn6V7!zNtSmY|B_Dj0*izzv#A +OUA8`8F9vv~BBZ4e97CiV{9r=Z>7mVfo_lk?9$AF?6fuU~(*NB4JRP-roh;gMAcXU$z4d5cCVcz3Bwz +v<9r91DjwHP;#R2>I+X|11=VgUX(i7I8xTD!P{fgmsV+7Tvigex%BPn$k6EKahe=ftBhd?HSuTJz&k)*r%-OtgTBF#MCe +oHX|EF{kmG@4RsMzRmapfUliHOxTv(uK!JE-4p?dPm$C=i*1zzU5WxeROxM*qVdi0$KzTbx{ +XNuY#C{J<+!LODXK`pJh&@u4#2p`3}`m;OTJm#ADMEKx2hz3=VCKo@%94e=+U|p|ONXx)w+AF?~Qr_r +{|-7S*_f_W`nwI(ME*zz~A_$bmQV`frz%-dVP2=RJEjg8T+vK#$U!QBS*1ge9^x-OBUPMr97=00)E5gO&Lu22oXx*DP*vAVCe;X2V;r5Hz@Q@FhlW8cUA!Xh&;EWE8Bf~rTwNT>A{$g4PRX`gNmBX^t#)wv$9j=)>q +@W2bZr&o$*eJB-VF_n$`F4sgh&cKR(3jVivIm>tNM`8u@0hWgU&-MS^rlm>1w=zDaPoJV@#^*p90_Nn +zBJqU1p{h=&T`5P4IP$ge?aj-)6^+EspGB4U)1Q>U)d2lI-Wq^dHAzKqUkevt@~T&x5w5+@PQ069Sqc +6F^23Yo)G63x)GkEO+6;FN9_%qcEiW^+4TG-l$Iac4|e+Yym&kgKVdf|A?~OHf2jhen+2QR;#rQuqm) +9;FG~a;m#*vc1`%Gh$>NPL*#thAGYsC^i=B#lCqT{g_OPnp)w;M({Yl(8089#^&vA6_-{@g`Wkw@_t4 +o{P>0?iaX$8lTWL$d|LY^Lrv_i-U^~q5ybMd?!XmVHgtB3iw+U*FJuS9*RBTV<7Rv|sqf^ +a@c2wZfwv?-nrlkt|yP})cY&&N+>a=*<)>&Z3NT?ydMzK)721FEX-Wn5?Fg>AAMz!Pq_3MCsd%}w=GP +)7GvTrfBE96Iuap&y)zN7t +;jBnbZMfW{`%c1R5MY#-a&}yIR#OIELzpvg=w}znxH~uXtOmGPY^9j4z*0^UqLj$Fyu)LG +h#QXY{5#yryTDUiE0d|Oe;pPuPqLZKMhUrr5R~onjR}AC(0&@~Y_#dx+`2N295bMQF +gjHc$+M=Fiz*K+>!b8{G@ +mHZAXk(xAn{+C`3aJ5n{;b9UHW|}_p$Ywev)f(szxgmJ_AFcACf-K5t;4BLb-#@%Rn!KQZ^0sF1Io8NP~58UUU+Ve@_k$_Auxv``_a)!-yE`VcjC9;`;_dN>=ZsoObyrau%c7wfUe@ +_fKKk7{#~SIC#d_<8{cw?$-6?QqU3<=debI4jaO25W-PJx6~@y*lIN_T@F$RZid^h|7A5GBctNQRXTs +paY*eT�cNe=_d{%*TLg%+6zkR1M7!ADzvON3(RVVj_s_hx2Gzkq%P*gTRs5CaU9BDE#@8!B@uY&)L +u=mF&9Ut*zuQdJ{kBx`%`pq^11$FgJEN%NqO?)szeE$c9B7RInBhDM?3w-6!|ymGCLAgC?VXAX7DvS`r +Wk_E;SXyvOpyLo#%aEQt&Guo(>ZnVv?E+>qkC1@+4-+aCsRwxvMlTE4(nYPQ?Cly0Jq*s9UzbscK +eGUk4bc(nIfew^XBV8)_gIC-wOgSkC;A~SO0VYWYSTl52=lFFAlH_KMNC;Dq9=mJz!N*( +hBivM*+s|WRUsKg1noO3W1~Vt}8lfkI^VKeenW$Isqsr%9{eDZ`B4+g#D)qJ +~~ikIPEBEFCV?Zej(K2!Zp{2C8Ag4m3k%HZMP-xi8cfB_GQ_qF|tu(yU6r@m&1IW$UG9c>dmS#iTOBj +Z6hfJa2B3F{NYa+ZA8Qg*$JK$Y*C76ki10ms$xk8zOT!5j4~eiE--8gz1ou1tEz8El_l{i1Cg@YK+m$ +~T6f1y)QC*1HYeTlB3m$>yv^zo>po=$cKU3^DUOA*G%A}RvN}q*W8&8_xzz&ZCLU2jUb0v%N!T%w-ZA +DKh61vtlMy8%PX7Y`e1l8`orEC3UPvn9WCAig8^A0WDiwG^w+P?GNFfs78cxIzB4_u~k~pnY{8rr +&rbtanInv1QS`zB7Us#*-owohz&@+JGQ^mwX;X}_QCG*y9RgtZ(=QXN~$@$P_ya29wW`@%{4Y|@DQ)h +6ZutJjamKk^I5sYCRskdt~hQW0H(Pq*K~fU28w`XC=AmrW34e1uzq<>0oA*~ajMMQ=}VZ^o5W@hR-Ug +XX==#1U5PZoR*>8U>1+eU9*7b0Bv9YtmiCzGss#)PC!K +(%9XPFk50)!Vh=>W;$iIV8;0l#bsc$5?O;N`4JBHCufS`qBB)8B|YzFJSQ^ldZk{NCc*g@rKalCmvJ3 +F^Xn%D9!G5NKOh7wQkFgO;2X5Y?cqqD$q5*wCxp}Yn)p|B5}L&>&FTJ)AcQ&b3O|k3s3c)ENz=uIS?XYi`lCkbM*ER9iGp^r)m*|UEyVQ?|2j*-^OCf%?TeOeti01)QK$u}vsjYl +v~yav-hm`X$06(4F>TXqM(|T?|*mBm&_30t_NYnbfK)S#IT#n`BXHeS8)#mLuD +SyuY@cFy9fB1a-`KRx)dWn|-yo)>C3w`SN4#xNR{M|TP=AVB$c(=@^Rr7ZI)zA4SgP$j^35L)dgLylB ++nYb@Ys?tV)`y4=sBk7;1?f~Di&8q$S3xj#3dC+Nl*P)8QNT?(1%*OqX4%_Wm4;i5)sJjOmEp +ko78hH+KL-Z<08ep4bQ+`Tx8T8PQz9WpObAr*|7WmN42uc|+$D|Di&a?kSa?{mpuIbsZV#dTYcWe^Ps +5YN8MU3wBSa`EH*>&Fnss>* +NT=S(J|qm;)tV?VMM%BE8N+Zd?5~{@$l=8IXoF8=@#6j#@M=jtL+4tqt7U=fOlMnUulR>sc1{4FYclZ +KmNMPzw0tx8ecuV~Au)si2ZHj+3~I+HED@4%K8qwCK?lzUesCw=zfh4go6*HIzMJ+<6cK*WM{s?|=-ZmD6b}1m7NkB|j;)PbZzUhh>x%f)uR@UaxA*CWjGE=t3e! +y-S@}?+uYo$WOUE^g&?D|M7wHAmi@o-GIzQthN>x#``o0V-g2-6(S$Bon93FX#?bS*5-3tz_z%B~zo+ +?RA^uG4js5P!-EZc@m7+glu!8BkVr+ +)qCj8{#XhJdK_FTzoSEmPN&|L1qp~HvN%kWM{gV(`@4vrUe!cxO1&L>*EKwHM|s&ldWkp*-N9xMMdep +I=+rNM*8bthaA3kqS5JI9WRuO9zViSgL~CKRryMpR1i +JUt68>aFihia>zu_xQ&+vq_o*d+v5BW7djOI<#Eel*iJ{{vtz)@5T^7p0^na95#bf#e;;4j`D4+7&(QGdiZrnP|2BRz*VK* +3{5e1@28T3)UMeg$0}a$5Oq={&%91&aPp8)3#X9{UMuG*=|v7e)x59`xHaO>xa*>X8RnwuvnbPxt>$H +1MU>K$Nk04jhE`t$~la_shG%1)lf?2v~2RSrsS~dYDo5o4?_G!nPxgp1rV3`(mK3`FSh*V)_FtE{<1S +|w<*>=Z|J9iMH#^+Xbj!bmwd6}gJi7mNq!kB!O>&YzKwn6qE{e>uVo1NhVH3>x(v+>1AiWpCbusB3Eh +*6Hd*|HWZm_XY=2z +ECuGoTJ6kX{}xDPd1U_al9W8%NwLkMe7H7gGkXJ~60sXQiBvx1sOg-^5?UgGU{nBbqOIx{ROhaf{xfY +VrF-3XD>&2~4n65O8){BIuwYrJnJlNaHU+xvz`a#pU0>eD +m>_$>ra_c=O5Ni{I15H{oc;ptA28>ukY}bKA~+Nv9z;E`15uUMWSihhG5`dEE +3Gg1R<4j?Oi=6WBv0>Nw~=93RG$l!y)#yl$q5}$Xh3@X`(xdQ{jAkrX +%i7kz18O5X38EqteQa*r2=h7J86lrD`+3X8TOTXLs!TL*0vNb|xB89Xa#{BSTJp+lUXGLnI!U-4!o## +(oiH1H8J+7B`8r+8zZaBRH9}sanwH%pNEgDQ2r7HQJ*Z%~lrj^VQVU!`Uh<=V+^iJ_EoO5LDfm;L?p7 +s9E`23P29H82>-$QT6WS1m1J2Kwnx~{Pa6w!#-F6s!h$B7q?FU&bWqkV}}^8&k5A0TCInsiad|`piQcDOc}wi(RZ18x>rWGbf +eoruvraBOVi_!PFU&&3Oz7Sk+KVeZ*6r=PL4#kcDll4Z&LCp;lls*}Pm456fCrqgkkHh#l$kzk5Uf9& +@FLdBXx~a#}g^6+Z0}6P@isr|2NU!Wlh+9xw1`?NpNMr!ncfE+ZjNcJyY9CW<71hWsIp5U7eKUCF@tLPh9Ypxh6sQ#Tcq={lSA9i&a(eL2bnZI +We3!dnYifYRRJ`4vB;(cWXa*o06riK#*UQVrpV!Wx=z@c#y1c68K(3U>AMB=)dEc7ta}7PiCXa +EW>`olDgV%`85(8kkTOZ!PLplr0uCj()QuKz*HzuRb>&%4HOY)XwRh#IvC0M#GT7CflnmB7>^Cbk?F- +=7_h40M<7imFr)!`C_63pzFtMe3@w|%Lgg(l#MtH4KUq6}8>tar4N2C*1`wbJ=_6Hd!eDi_=*q4+W=g +K7J4%sQX=cT+kK0ud7+eVGCkE)@>4Ak$9r{k)Ef=;fUyPqcsk#j($K0gjH9jq3-CGB2JuIn}2agmRW{ +v-O;rF^>0ev+Xf;0EF?X^2{YV*DCt#Tw0_4dG0MpdW>Qg?Ddv&+In~Qbv3}R7jUFXLPPLe~5<7qQ>A< +N`{P5q!J1D@57H((cf$%Du8S%^n3KXFc9)|k#UfZmwDDfw%ydw^JX)}cnzR|{k)lnqXJX5$}p-&Y~TK +g)J27K@sR6zIfPQ#@sEmH5a)T&(A*It9(E +6d>*Z0(DetnOQ=LQ*^ixIk}Ddaf)HW9+R9s>v&VU%~x&xzhcyH)aVyHbDNbM?Vf4R0x6y^xzY(4u`;m +u=z6bVL0+d{dS?yD1yml0X(Y>h3Hwyk4UTPY7KmG20RIfwwvgIbSo?=uhM4!Ka%Zc7ZnizPx!8y#s9B +S#kX3}6>+Nw2NQnVM$yHh&X06~jAub7H*n0pGa +pfzg!pSi-6_&dd_THV$SpD8NC#&k+gCcGzxtC_g?hW+*fU9E;9)|sKEy!L62+}@Fc4S{>u^asVb8eHv +#D!oinm~Q$N)mx#df}=p?+0wY-6ou{eqS#mYbNeW(4s)hoNkrKMHhH%^`@mPPCE7h3B1_!sWMjuVETp +yrX6f11zJwGs=+kBc=jUt^wUS_kr($3(;CnXsn;itYXa!ViGZbEHw^OpbKJM+;?3*qj%h(S*%Kd1!%* +_=x=gEj{*bRKc^JEwW(+O)^CIQ}qPbiWK3({c>%8cNF;r=*E$3zmC*u50(nr}QJvtoaT)DDWos~XNE~ +9(tu|v*8Z=XQM%Y{6K*mo67zj|esRehuUdCrWvHG1zxbJYV&ywCF7welDfThAOk$#XB3L8l+1HA>m;K +nW{YE;1Qm`ZEUJT~{i40r5U-J1Txomo>fiNf2_R5PsfC7%3aFcBeo%E&?!&1aVytcs^-9@K+eUTk-DUh;?F=ZRPOg=9n69&!^d@N^(0dW<52#OhyD% +T?v&_ZsmiuNnrm8y=){F$AzNK6K^?j$zP+SMKFaCilY5cQSS+nH10RlbJeEW7j!J$A=IOK;0qpB36h^ +)O>o_NCM~n5|h^H*m3V=6oDwFbZbaBrvr5ycT?ye`#Yr_$n)P0eRv32p!K8)qlzG~)_NX#){&c&)8vL +Q$bk~F1EAvyrUWdM)Nb914n-(+GZ)vW?*o^p1mr~mqJz3~K~yii5*?O!nl*Uju)(O +pw!F1(=?h1S%f9t#g(3bkZi(Xym=HNj?_6V{md`HEB%w-lu8nB-zS!9WtHB}LD3u +6Twt}P7c*C}^gA_}c28`dTi#3KQs1S02J7jwWJ(z%|)#oRA(zeBN-7Qr!Fve!# +hb2DK8&|cHBAf)n)X%vw^iIzoFO+<^NHG;aj|~uGDz0u +AmPMM!F!!=x(jX8Vl~it1B8gRFl2fbjg5%&7{E094DuRRT3w>nqQpK4kw~!IuPOzfNrS2Eb&N3yW3u@ +AsY!uP?I2LlDztjCkh^#`ff=@x2Mx!frK_Mc7)GoQMRDOOPOcWb8I#0`dto;{3l421m3XB&5C +JT9yI7sSV-Nyj&}!ZXo3QpOF-3_v{>7vZn|GY+!`lnLBDgWok$8sO?FJ0d)1&*USTC`JTB^V$sUlKU- +0U!Hqp%wJmK`<{5vPklJD!MEM8adqKdug_X3N(Z&|I@pth|cn(45##3rC#c8n2Wz7)>-)5Dig95X_g+ +K@wvE*$fX%96d>x}lp*-Ma)fPaVarj|AKci&BBOXy^+{Z05#$PjC}M(pK4(JoU4moH|qaToYFlKZEDnO&oyaMTvC@WW^{*^~>=<+448qnj$S&zEQ(p{JVI#MKopB~mF0RKfSBQovY +4DeLjh#uSr@PI+IT*Jdb&PC*Z=<(;55s|E0Gx?Tj?9y8~R5`CyhU~55@ja-rbP!O33AY+%JDs0QJOj7 +LROuky6hiLM{(bA}dhIoz8EoBilbB;;nMpuGd`IVhyu4p-nIZr>*M}mQlBSXuTspaa*LQp8Z*1Xo$?#%hR3lB=dYm5@X>>o_u=aCxuS-t21W!px_V66iQr!)dJ<6blNv{ +?%2ySvAmdg9hIida5J*`V>;Z!-q`+4Dl9drYXC#09Q=4mHhC*Oz&t{B73f&yn#8&Sf!Cm8?`M +yL+jpDKS>L6Fw^S6E`uT0k>n}f$jMeIcQh0or>ow`z9`yOc_j}i(9=dwrX6FoKd +4OQ6=H=Cp#-NLUr^+mJ1ozZyVIs2^G#Lkyl~F;>=Cv)B2(9Z8up~0;MT#bXV&@TPxuc?Y-89bQ$NiYe +pt-B2=pspjg|3mosW1DcH}|uEC&?R+p!n8#*I=@CdP>kUehD$_&alaVcgNQ}+fl#*7{`Biv24cfjjcv6I#Y#`liAg~)wn>f;B +Eo)Brw9X$?D&5f+YJ2kEE1Z+obAX}QQ8E~*Gi>bmg&yE_fO{tU*s>~sop}w!ImNvyrCxuVbCS@ds2WRquFn)l|eIxA +6On!858Z|J$w&x=0LHF9@sK|I&NyoJl9q(NXxL2`fkWT{vGAw+(RCOQLob-H1)omS$%rUA&woSXL5F< +;Jw+gH5kp7*SnV!F9j(~1qq83E=>s~*1I+T0B>LKV(hjQW(Jn>jk3wWH7+Xr4B(~3*F7aun7&#{2fIS +jZy3tH?1>K~pE6ZGrR1Jg7ck^971#d`GWt|Lou^^^nU0 +~_AUY5L09ZEw03QGV0B~t=FJE?LZe(wAFJx(RbZlv2FKuCNX=Y_}bS`jty&Gw7+c@^Se+AoYAt~c1Z3 +^rzJavm~n(hSC97r<9BFU(-MBAFkqDPeC7?>Zw?>&+dbvR9%nYutNi{#_GFEU$fXM2Z5B2Kc|h?T{3= +im5dur=6X2V%L-li9pr?t#blUcTDf*?YP7nw_nSxyaasm=>!r=j?+hvp6ggk@>Ldf^+uq=-}|=;?OVd +3l?TEJ2*YLJU{x+PnW0X7x)t94W2)LJ~&82DOt{!IhQ;u00&mgIZG2+FfnD*B;}GN84FnqukvJ4s$B+ +$f0W5xn8F%X2pWWuRQk9AR}UFXh4uHaUWx^0%Un!SzK}lcn=F~3J#3dIlf(OnFA+OE9Ers;EX<^-j5#ow>p?`;3`HWl<9QLl?D=3Y2!b$8gMf|Mm2(_s$& +|~&xfu))IiAC7jio>1#YcMQ20<1sco294V1LN2*;J&dSn-%m){1($3?tygckJ-=;~+RV{rGYJ?BXyu+ +rPX#JU;=TIVXgHd#-a0pVjtt<_z)mv4;zej}K2S58nqLk4_F-)3^NXcka9Kb>{tfox#IDJiUZ=6i0JV)7q*vqs)4JgVyQwVFJ_(dLOG7SqpWGl`x&SQXr!WK-XsFms3f&}sf3MFdLROCi +Q_xyj6{=N41nD6_rdm;&x0XE@ml8X{`9MsHO`P%;{6B(#?EKym5v;STGaC#E_e0Y9wbc!4UP4Gc(5+o +iZ*;HJO_CQL5h&0*=&J~m2c~p3#0fP@}9)9n)6ns)9X@R8k`(-L}V+Az0mIYrB4e+x7T8T&Da+$7i-d +&g{qLc&{6bL3{66spaLHAY&16Bes5JZInJ;Z#<0zf<|g20tLor1-Ll8;YB#x=S&%J?~g$w>&PbHE4KC +5teN0B$v5v<&lbL2yRw5-7kYkWmgS5cwMMQWSCq4uj`@?>2~xPb-VLcR|BBvJd0~oR&&@`jn(|Lb_YPN*B +DT&Ayq=F18sD1t~Y4RLd(aQ=mls+6FN;P)0C#vYWcfJGJ-awMJ=;Ya7_@aH}CEa +(RXT8Nx>#<&O~AK>Y*J`_7-WCA%$_Qom2wuaD#u^kHMtK0*tLJv>WdFCwdces*y&7ivr3Exk|u4SstiGGR|zPQe``u&K?)!BP%*?kY+de6#(&Ti)r#ft~CSFqu3 +{#{F4>~A({Jf4x$MXQ@{ij{06_269VEDXDU)9I5BRtV-;p-;d1;TOy#CHc23ELURdXtb(|78c;m*>>W +5)2x)I!H$l{h<@h#yQH;qH(Z+^@t<;-<741@(ZypRq8YU;<7#q62oPrDWavVhcQ$O21`JXZMi3n^Pgkd(ISP^;i_SY+xQq1UUD5W@geDY6j|RQ=KaZO5?#ewe?iLHyF;DT1VBGo{0fDnlqkYj*0Tn<(AGvFxhA&F%` +5=pY+QiCU7}lh&$f5TF>e_p$ZA*h-#d`)o2p6HGcSteXm>Xj5vT-J6u!u3yA`xuDat(J_}iZsi*yV21$P_EUdBU?8Rp0Dsz)%t|q98Ju4RzkO;W+6}U5LfdYO|K`^AithJvO@|53!g{l=kV@?=hLF?d>FkOXf8w@BC +U=oi22}kOBC6{V3ZfkG_IKPmN=yw7)x8M}>oP)CflVKYEW>Idkdb##LB)h4Oqz +#xBs2>|ulNivkfG#J2(ShUnWTh@&jy0QmrMZINou@+N^cRSjOV$?ccM9uZn1}8J7*1TJZ4UkMQIsxXV +h`WhAm)6hHYK9taBm7I1MY%(_Q_I+8515KEBM$P1&FhnNWmhfUN6e!me)^wF$5Yevvzs6fJR3Dr!*$I +rvkkQsihL50kSQhgm8nVY>4z8Qe~VzK+Ap>34L^j{`a93Z08esOpy8qXeXx^G)QWxUv}+u3^+k#UBPV$t6#u_kXGP@g=U7A+heS!DO%= +b*5+!1qBhT-L=h~z!)9W-HaZ{oQ2ANaa+-eGCbXs#JA@Rv^KiBZM?ex}UUybhXEbbQZyASih?v-m05g +`D{nUwF6zV2!3xW>ZP%|#EmmFXOZB_*#HZ$4f2gc<5F4-7wF0u@L(ruC&RIzV+pteq>_G?uG+A<3}8 +;JzHzvnrK1xa8Mk|M4V8Vv_PT!bvF?NRhsezDmtY@~z0u^ +odRsm2y~Q)Cj#ug7)0KT@Na(3P1Jz!@6~*IMqnn%l*g}l!QO-VP`wUB7|Aj08slWXS##CC<;R^8J#(N +qQ_a0{A!*3*GF2s7R|-m*G+I#R`_~giQs@zL +Kj-dME?h>>m>uuNHOu*T8 +D9k$V9D`gYvKup`Jq6>iVClQ74ZKB7^dT4j=IVj{@IT2tvB{f3gfpmaRJ1DRsQc`XgVU@^3@Zqk^{GJ!V^l1$y4i0JU9L +6|Y9N<_mN0_mNh9Q9elBlW16YVf5tqXd(K9o5wg(^l33M7LFh2^K8yj<&__UTC=)dPR3Guq_5zjk!gl +yKgZSNUGb3bKw=8!s^>BHCBi_WIvGZ%bi48L@O@=1IAAf_W)USlmm!chjsNbedvU~3d4db+>s{_oYil +!Uw{3TVGmi6udaNA69J04GMz=+k_qCwYP~Ah#*BPjJKqAaRn5)ns?DZ$iE*#P%7Hf8o-t3uH4vYQkn| +8s33K#-CyRFO);yR1{-ek4IqEZaC#;R^L;41oPSmYw^d%4TXztR1@`lz!eX!bpqHg$z!fS^#8nZ%HyC +VO4L)JN+nmjIKSkYag)|HyFS86Ix()Ga9aD!hjRt0a)%*8a +SiOrr2Sq;Gr>&3B`{~0q7kXs{MHl6#Fo`%>jw=Dr@Xy-sr?PB2fS%*bRrR^r+W9XM&of+ +0;Z)`!VjaMHFEPhb^-EwkDQXL9qR?Z|7RX*^JeoZGRChCK>$R>B;iG4tYT^VuA*Eq>Xf;+hq +wY90t@?%~f|60V$5Ic4%O2;6gLe>=4IKom3P_+r&JYRNO1quV^MrDpyJJa<@Uq>fDZ^^GWD10U$Y_S!0@UJ +|i-Krr}vt(InBcQiKb$3bqeNPhx{<#PdtuGFnZep=YqNYEngO4444995X)zxn=ieFs7lcv{GQwqk$4V3M+sP!0gzWjV6cirvd-2Z4tD%LHD;Jjr|5o7vo!*vvQQZ<44DKm +k`XDX0!C~F_RZ;XNrbipt}4NCwoZe9mK7HYap|7~@lSHo3|0kJVA3)OmV%ckwTdDS1h=u(LTxG{9iUd +U@Y9qn?!XU;)plXs;BcU_)G^?oM`VSw&4n8THIFWWV6nhOu~?ufx(vZ8L{x&P@ERsAW~XQK566p>cjx +D`(_=sgVz|+QL?Vo$tNeL%mBM@c?CSnm{PimA4_$>{uXYB5J8>9q#sBs0^iOyM@n6Eq7Wl~|5kw_*TOUA~*QhT(|q$RzeU=UnH+=-=2#JFmU<$bY`8 +XCgwf);1#4a3}Peu88tF$-XvUjxM4yT?t-SGKyh!Y%;OzDB--7LfYk;JqXeE$_gwc +n%&`|*1;a}o6jUuPQFe^{dvBo5?LfX_%tGR5pgMw$OD9kGz`;bxp}auq$jjD8v}&XX*fXzE^l&-9ul; +fpa;k;v`N~KpJTp10?{^qKyN$PCnMM=U2$)Qh&Nrp5BKY0-wvT<~>Ac?iuRSjTG{#KjN;vf2>Jh7g +FAHpGPU2+WRq=r`+M9icuNB1wv6VuB$thYNY|;nWT({hIjz!ov`9u?>-SvoR%ovaDG)`DCk^Apg`<0Q`viIV;gCUUe!&OeSx +3ObA#F-s1g){7I!xVm)2?3cK*6fz?dxq|?pcqcW33@6+^wh|VAE)THxzw;N%OOL^ej?P+Ryl=w(LwUc +Yaa3{yzZM1rk#d5RMKs67_p<#5*mVeSrx|JBzM|+DccFJFR$XBvDdO81kXK2M6{;GV48L-eoKlyDu$C +rM*NsE9hXrCDL`}E!U!rk(@NMstxBZ1C!kScXvT5Sk!lq)R&3JGuJDQ1fr~M?coYtrN72Yxs&_Ew+1Q ++6sSPt4wcs>xdjusmF=aH-1u`*3FtN4XeCYQl<{e6VJYq_#I2?PL%Fxh$R`h2{K}XvItCDu7XGl$#;i +};OWY9gd2V|NI?4`jaudXBG#m*9U*xOZbaxZ?H|2{uI>$hLfPMMwxS}EH)z(0l+3+Lkqlxd2#?k=(Fb +WssyOWso0_li>#K9#BYGm)ubX^B5`C;|4Fveq*+>s#u#R5#6bN|1tJ&=~seqFsXx22SD-8WddgYN{vk +d}?sI_&(P~+OmMUL~${&lv@<|4sDGkRNTF7D1Owgwop76?nb3w(DSKPHgjl4!3FSL&I +-#%a6yK1wLu4}Y>r7+UqK>JGm73q{)Prz1qTT68zXO+PPpVfHGCW(uO%p(k_HHPO$MDWHz3`X}Y}W;h%W|>aUhRg)@emS$yR64l(4;PTWkvrXwlx0($U{L_{&;B1AtFZMpBFMKBF3(jxrsx5V7d5NnEcz2XmVzVtdwzUI +2b%M8lL2!n&C4f9+q*7>RKHP5yt-3YR@O)&tGwm3_8$}wN?tgqEw{=<^`yy^AS!YP4&jEd8?1n$wv}T +|V+-mi;6{ZXAu^cO`PkL|ikzMr;Zewrisp)p3UbHskhL&z<`720W<)-cGBja{jG(p|!(>nL5;9pQn0| +XQR000O81Cd)<-#zXM5hVZsM3(>n9{>OVaA|NaUv_0~WN&gWWNCABY-wUIZDn*}WMOn+E^vA6J^gpvH +j=;lui)C7M=F&RTS>dO-u3OeiPHKtaq?`ZP1kW5T7+$`DN-dVJKi?``^^l#36PTA-rKu-r`N_30SpF% +!F*u=ZUv*qqhMC1S#h}=ESrnbf8djit&OeVdAYc&vdgO`h@KCE$@b19IJsiM+q>qfEP~_mqPa~f7Q8H +%MVd5OS&X64F=N52gXh!3^iw*b?|ojwjOV694{A(vTEue$@5@tG?*vwFxnY!4}+cY4*oO2f1W;>jCTl?$#^mtW9 +J(eRXGph_+r^CD;CE=Hb;=bvdDlMEY7orRY_iNY={DUI;(jzHczr#wwSZJ2IOKai7&F8$rk^t%R+w7% +gak3vHV%F4Gw86p}ffICeO~NpJr@<|4RYaENZvvR&j8rkBwsQ}`^n_*DXx45}muzDCY>{CPE +MXPyIT>~K5EGuAOi;6X(c-iQoK+7tbHSzgfe9i8L!6j>AdM3s_78uF;SYFSrU=oKoHP4=H$KOwnjt|} +(#z)hQ4IDJ9f;~C8yTHw~LFnxHA6izE$z4R0&p27}QumZvpvD@+EifSG{2O!Bd>=XXWLX60p({f +njFa|*6P;$3lFl(&WMQ&PTI&d*up?dG7kN%AaRO*suT$(Ibtmhq+>>Q=B=p2K*8{kI2vRU%=_bP22-$ +FSsJwd@6_q3kyt2I1T9zKIVGU%rW_htJ=09uW( +Re)=$-f$p8-ysRAkWj7I1*?z^1ck=Ix8;IeEc5&>xXnO5oWlfNCB-F6p*l<|$b_IQW(+wtc>3&19DmI +P3P521=I-{2!3yn0A5j4L0tm#f4i2YO;oyC|6HlO|Vzf{J`6&EQ1pM>i!>{4Mt_^?sS_D{s@@yx5c`$ +wT;uxw$isB=|MM&gBSV#ERc=R?;8We{3{dhSC0dR+3U$A;sWyB5m^E-BTTUKd}-@h&AY_tF=77jN8`x +EXjK?YY?i+>xD^uyn;vKcFC28eFNPj{aEW=zE#jMl;5L9=5x>);PxpW{l(U}00m7qIm5GD%18j$YyKH +|KSkvxe24e&1H*O_nn1_lS$6T2bWn{?T{9GDH#sNJp!FJP78qFaOt3`E>#+2ma?n(!V_O;B>dk!l=17iDZ^40&d&A*#%2yk| +jG|Z&CL?#`5O>{hF&2lkX)gb~c)I3Rar)a9F3AfqP>A2NuT~y4z2OGlR2crw@h^?LNuXe#N0P`XPqu3 +B^WO{3v7nHNv60NGTxCAYo6{wi6w1G7a4vJa6Oc_3%LphZKGC2!`T@G43FK!fie4=JN7zMR~@3ZakM*QVh#^NxS$`?R5gRMtkK*GqI(FxerZMkjAb1mp`DiFLm6+IBK`d81M+ +STvCP|juszmHymp%BWt8gpYDUj!x`sJZ{@m9AN{CK{N}#>)keokfPZ;V;)pzN1{JCx5vnuD@Il!C$Ti +48xzkKRMb5Kf^YlsxS=6W%*D)-rIwJqRr^^r_Hl32AjWz@GXRI;Q%V3=aI6DKzdmdvg&hS@<==pCUbV +7jPE_N`?kYfwIIQdT2@71P>zaN?zGzRw9@qKYBlk-QdD+Z!CHx+*;C{f@Oi_5ZoU;HH)WOvNlG?14L3 +k9ti~ZGIXXLcxRAi~?d}qIixy&ZK`ZM5do)=OKwZEJZ0Nbk58eSzY+@!^&4TaIDdA3x(p2ELZ=;=ln> +ANym4IV}5(T?amU}obMk?{v4A<4akHDJEHZ)o*ojJ)hlCREL-ALw&xXY-Wuooa7W(~90C^}mIWJ}5!^)yO8Gozk|@*(t*0ShAVbda^ha^2WD`g}{jEqoT@%Tt4@Ppb-gFBnf7r9F_g!382L&v)ogqjXRlqGRKrOid6D+s_bpc=<_ +oRF16Nibqhd;RoBN=9p82)c$q{*6$H0fictu~s5Whu~HDLJ-!k=(XaUKffUsj=aQjd4u$vFhOGWs;-& +q=IU-w1je2L=H{^)TKL)+HvZgZj%(hzzu`o4_YI41Krj@?eV=?a$!!KiDvz>9WVtecbAV@=-!r@;SUR +kPT&>bgo^(LtVyufBPBaw=}3iwHQ{)5%84 +#mhA%S^6d`Ea!CntPcR@3pR0Fd~u-CJMyI>ja&Oq{NRx}ZxgaKHs>es~hHL=PjSoWV5C-|1cQDEve7CxhvqIvKFAZtK3+^_4PV7>c7*ixQA&jRxgNLB3I7)|vR~Ow2kHADoGVv!!YYNLxl7fU{w@!Y3PB!O0a#C)DA5TB>CZQ=XicFxl +WQ7d1xp(DNYsA7-EH{&Qk*0C3ebi+cCTliSfurr9;}fII46WKBOl$98W!$L)^Pae6 +PyE@5j&_8C*NR)ZK}Rc+*@|!xeNNuJeKj?SWMPA0u<5Jm>*?XivE;SL3^!wicZUbh-@Gt^=&-XLX6^` +RBaqhz$H#p4u{=ivB7FGr;MMea|79x%6`uaIKl(>9`q%d8&*QT%bf^jU%W2;mWSa^N;Dezww1&vfltq +A#_g*G>&2-e@h%ahfy=jKK{vfDnQyA9_Nq)Hr%7wteg$0fTaFhuOjz#)Y68dg@;riGhE$?$MHMXaRh7h+;w%i1amL|b +V2R*I^$6_H;89>twN8C_#V(WCowPC{&R=@gG3h3!D%vV7F}_i;oFz3AldY0sl&#dtgF#;aCrakSM9H! +#M=3?3SUMO7Xwb|OuI9lFXp*AIKzDOfg)pUA(Ge7|jgsnei8(xV5K-v8knB1N9)n4A^>|3l@hjOLW)? +-xWKH}I!+soGW?&levQeI0GqKos$EqnPrx_2OO91m^v4E+5j4YnO;s60*G?%q_u8OFnn1mkEyi1BpTk +Yh{i#I`9&S->ui-PwgrWebwr3!GmSDwFxGnf=FliYvWXIw*gRosKC^Ql|GF*l1(=1=sFcpS}iDMYYA{+@i__JLivT +78Kb#Yc=JeO;*e@Do0H18e$^$1O?1d6Z?oj9yYW`ClE-|2Z6}$Cd^Ym=kg8?&Y4Ltg>RyW&@+In6jGqbHSmCtAwD!z^>7=C>~S82;>?%*dGd0v{4 +JQ6V!QVgQ-v9@13?3Xf%U?H`L5|yT$gW_G01dVZY(FE^}7JmeAC1RmP% +ttPn(-8?ylo?j;qKT-fF{ex%)tpZnU{_&K;xu-CS=y`9T>@Hz}cCZ4c!HsnN8ZsnOCoiRySZHf8T3_- +`Dzmsao^n{U-glVDL@B;J3L~~t1X{`O0jIeN=!-CEFFnwr$dUfmm$X?L=K$e3=lOs(2HPcc!@7DpPLi +6b)!(?od!z(BbnZ +4Gr^U&2_O^mk!F`7Or|g9SjHhO+z7jV#eCYb*HSiWM{*ARc9=^C+j@BFCtpa9)TSn4O>_LLFL(3`9zV +;JY+{h+P3csC2Vp$^0#C26J0)3Cwudmw22fG8N3-Jrk5CilBDGbZeeG;O?9`7?`0F^2j-`PMg)~^pvM +|(C=}*08=Rnhv3cwmFYW +`A|1ewp%dftYab_m+|0#o`Oz$ww+)86Nc20+Yp8+YkNwPdS&-F+NfS&V3a)mN;D*VwcXRcz>WX7M2*2=PXJEW^GY>` +v6fZ{UMUIHo^~(yaqJOxdJJAA7bd!5OlgJAi_`}rAsWYoFl^6l8$Z)9JeZ5S=}-_mE=(Vn@3imO>2zT +5>05;>SQ6z9XeIN+nwQOwJ7c}*%fsx*VmjEvHC&ijsIC@MI=O+D|`F#kX!zJYC%=rYv*5h1=K?w1Mh6 +{FWTiI%icbE;%o00-uH$6s|UK)KvKE%>smw8xd>@s_B?i|F?%JuH6F-AZAVGOhPW&!G0jrM`yM~OzD= +sj+Li#vraU(7F%$|IC54&COlaJ4{z%|H(!%1f44>p{26jhQQgQ-?L_cD5RD`NN?xN2k+w%?Pj~{UZ@Z +(49{;Ev%CJt1(qwru}mgv5KM_W;!A3u_~fM#dV4E=_>&MpgvB?MX&XAb@MR +uP5f*uKM^N>amViJQS7AZJ&0j2XFxG;-2#0}T2>wRb0`IWe+b)2dv+z-*UHm!h|eCW3*NH=)Y*bhWta +U?c?T@n|qp$F)Pm20GErhPTBZA}PuGfkE?eija}9C61p3%#j`9gxNf8a +@lq)=6;P1k{uA;EWRX2NtI1`#UpAR1Y6%00q7R_O?w|9T}z+N7_e?8@=peu&eYq{+=%zK&c%dB^+v3|BfZ|E^(L>Q|1?$|`XrkCNB@roEINTt9fW3EBpL6-= +X8xwN>gkhi78#9qjr%we(h**Cvcg|$a5ydM)&hdgq>9HvHM5<;8X3$cT%(bc;> +<4rJt<2M%vw?T&F$c9{QhMS7>(9%*?Fo}x3=?UiRqp9ot!C1zVm)JTv&I)OdQRFmyRai@879iiq1&Wr +#^~yC0Qj8tddP<5du&FCvM2+zJJ9U>UM6*c8ej0_z4YF}rmf)p`}aY8g*m&*Okg@sDH3Q?MC%swj>`o +4(Nq$*x(ov$-8r8REt^Z`f%1Sz`#Aexm#4{!D`U>@0KjL>`Ek!Ea +$JF-f2;%d`U%e`YFoF%RR-%|s2j;P>-6-nPlq|#_7|;~xX*6EkEJUv^@b58-ub58zb}P9^rZ9}wvvhE +8r%EBrxij|1Q0dZDTo=LB-2!yhXr6rnC{#7d#%vs1fk2BEQ$`xh({mfZllr!qoe*y9;8~z5t_iyoTY&<^lC`bG!{CU(woJ)Fdw;TTmI|@=lTcy$ +gF@+gr)I#meP@rK}0+b=tu<})Y{ToqcYhG3#7b1Ml}%o(ko`z$Cca}7HbX=`Q%@f60`>)@pp +a@j*hpL5kMh7N($3!?{ONRi^ymH2Kh7fYB_5B?9?OS=zx^>pc{e@~kVyRZ +f-_072djIIhjt#;ug46cNA&>t-n?v +;!`eT5ft7!ZznlJuhsJ(UD<{NN02WtdSjVBvS!+G6#ep(-9P%?fcqWZk5UTv(@Wu4K>?I=LDnyy{195 +=>V_(NWURw}af=P7C%VK^{?X@@!7c9iqkzp*&)G@=_4=ELwr;!d9bbc{?I|ZZp(ID_Xqx)clZeEmaBTk;O&MSA`h{D&L}yndNQRtRL}$s;G3O=CswZql$=0Fft?B%xi0)f$b +cZB-JdS61DI)rFCwVe8DJWP=uhd%bwd;YEG<1-_XPq(w$>5#?tbF`rPTZJ*;_dmVHc$Gih^0?o50COF +Nrzad(RV^yB^xKkqHxc;30ys0N^G9W}P56u=O9?HZ!QNYPQ$J-lH=I*{)6a9;KU_J>*&Dv7XAG!%IS; +4BLDJ$7dX<)a(=N8#~j-I+aLdD<_Ipf0fjsS`nBpI10!-Ubu$q1Dn?_zT3g{JBlwPH;u__O6YmY@dIy +$Z!5(>LLDZKWKR4clG07=yHABt1HyWChr`V8&8@neH@*GTf(0+`H*J;BXUH#QAyH*bCT*#@GPRU^n{5 +Q`<(?o1!|fHtiTBT?49@vl&H~QMiMjO{WC{F%@V#F@!(FqT8hCg2Gc7N;E;hR)RU~ndUCJCY7DMte^A +CO7W%u8zPP>0ZHayq>3y0Fk6XRjHra=Duu7PzS;WPxO!I_4blz9zH(!!UgtJp1y`9Woq`2>|~ax5li%k~i=hGVU-?GV%L!>W-v+G$Fh5=EMwOj9Q +D9&e|5LDMvtTnix~pK~?!7n^<*f3as9KQ>V)m7I2n#jeEWEcZ{l!JM=jEPDA)nmQ1}8Wn2<#pzY&``* +!vFQzyHSE%4PUf}^{8QP4d(Rfc%ra=pFbFPipCb?ahIg4->NyTxG(ihFjxQ_?v3KD@4>0F|3y-dCXMt +PI9OeZh{Pv>E(&B3i8sW1tMHilK~g@GF@8Exj5n644BKk%TZ`bm*tCO3!L}cDu-D^etU1Ei(HsY|OL&NS1m%OCxrJzSJv?*zD +n5LTlz(z;1QBx23TRCg7L&l1mwh?HiqJ51Sas1#ehAuJiY2Ldx6i0{YT60W^5O4RC&G90Lq{-@wI|`k +GCB<)k1_fp8pz_NXKQ%gxySqrLWX=)Z4fZM2gy3uWGN=*8S-~c;km-;Hum-L$pF-Ac@Lecke;KhdFmW +*8)l3xB05ER=2!~fyo->(p&FaQH@GGGdHvpnz@W!iC7|x@3^{sC<)?24UwRP5GOE?OW>>00Vjl?rR@l +@OmHRg|Op^Rfl`Le?q^Qjgd^9<$sO!-R-3_|Flu2{*k07j8lw)z!}c+b}!&s}a8ck2ufg5Ao6_DMLoM +w+Qcz*hO4Ikmd5J6_U{a6i&EfK&x=@TG0sf3g;1YrLZ6>S0o~6mPvvFvnJ{@}bDIH%8nEOE9>`(wO(| +hyq3buwj2lLDN9Jj99#%h~%5seC-{*P!wbarxBR2Dx81j^1X0wBEIo}=6%X;@DFYl_{@7mG~9hu@1j= +2oIekGOwXSmMP4S~-q8^_*$VKr#5wO{ddoYOqI7)oUPm>hoX8z7Fen4Z9@sS6Hv-jclR`v%+ptRff=vmUOK6%(T +Reg+3ttLN^iIGo<{q9-S*Zpes3jeNjuX-wQVjr!?>r(^pMdQtR`+rXpEL9{}|{G2BD=UQ`OoV$>%-RWo@U{`yqyJ{AIw7Pr +oaw7+=zPQ3VDJjljxYpUA2gz1JA_2yxQIEm9O1|mT*{;*Tc9h)|@vX5Wbq(U&&gM|>nAF1GLD5c~dSJ +@bTB%YxMJk`CZRRs6OJT+9Y@ylCylGNh;j=1nq}K1kNbNVr>qwvH%qYPI486kXx)mwx2ox6AK`Wqm57 +&SiUpqy7#!d?g5(9px*IGJX-|}Z%RTys%F%2BLaR~804a3%1UTSaM1WkSE;2rjPeXIN9Su;_j4AnRlZ +(y;~XYiP0SYt9w>{M)}%?xarS%T;*uHCm;ih-1JmWaoZ8s+twOHPYsr@w?omW*ig*&VbM=pZJQPgK<{ +nY?bjM_>yiynGppUE*2K@|?*2+qe9!EN*_jI0UYr>ouug!=p-DQFJ#nt=7h1*Z1ymBO_bCMn;#W)*BW +(UYFj1gE&Sm!+hW&)pvm{+JRB5%OS^_8U)yfb%S=CNWgp#RR_whQ`^8 +BF=Ch#ynzAMSRYxLJIAb*)7HBFof5l(ts&(lgwL{&w@VFz$8+u$xRA{K!EZ^U)R@@ksdR^~Ir0+4)>2 ++!$W_0wMs&|G|P}yPMQt=UfeH-^ciE)yqQT33Rzlt%0od-C`weCm4h9n5Q7i>PNH_;BI2fg5nn-$TD^ +@18U9vB2CGKx3$t@F2S;j_^Wp;n}{za*D7jd!RoGx +xxI~P2>*4?L(mK2@M6Jho(Hq5}`5JW9bgJ-erETF%lW! +e2`$FH4s~#GGoJkju*1_5u?j#xeLVeNzYGnwM8ALD4i@fo8*{pqxTD7Wn+{(TTX|u`1ytNz8S? +|(&+4vQq^1^)DlIb(D+P8Ukp5o$ifL|2Ry4{*wlAdE+_UWxZST7PLv?x-bPX$Eb^b^<_`JH?Z8NC|{# +gh4^C&p5iwoh<*&I@5SipP0fx$n%M$BrYmh7@p{YOBPF9QcnYDG=gSOr9Io{kNB|ft7U)x;$yO254^< +Lq8EU1^ltsZfrZ0i0HNRz!jY!Ntg3Qlp4nf!Mt2nEKcfKmJz!SLEPdl(B5Q73yLzN_T0#hA2&LLWnN2 +fTuCp_9rYY1vvIs9c52l===zG)o8V&yt_86#rejL#&eQ_S`*rshlKeKgb6y^YA2Pi`sMFSt38iCi)3c +4qoAX^xYiE%P{F9{+qB`Cxt{%jTwRpSEEI0+%^0`e~e|FlKqaK5y1BP1!o)`zU4&zps6Ttl%-pJZV3x +1^%|9snco9zsp1kJ6KN&meR=53ROxP>l^ijrT&sXYb#W==D?gla=&>FT$&o4)RX@>JHj^P(NnQ&&UFb +e8`DP)h>@6aWAK2mk|-TUnjG)qt=I002ZP001BW003}la4%nWWo~3|axY|Qb98KJVlQ%Kb8mHWV`XzL +aCxm-dym_=5&z$xf{k&oeD$ikm+Q4Kx@|9MQUpkoLpCYU8iqn!w9Tw638K8a&f&g$XNC`vdU(BeHG-@ +y&J1UU^Z1d}m|c8(!PZ48^X;4+>dnQU@yTdB8nc&0d937iSF`Bllzn%3_51?<`xE=O%=wYs@Gr8Af$X +hZi(HA6)dj0}g8g)?cSX)_icNjbE5TkDhdkxAglF(YRE)!Xd0olXp)TOpwi045@)~8`2*KXIdHL$y&8 +xV6s2R^w_VWF^k00K=`1JAphZ}qdbfZmG>{*g*4)viDNy6m5EUFshOE5(wnXE;{Gc_8Sft6HZUE5!>u +-~#`y9LYb&qCR6kR*OW}Tem8JeR(kjJPlYdB6XL9xGVJ%8D-3+5lOS0zcok)|iDoRn+ +#~Is-I-!TjiYqZ=FY)_mggS!PuC1~$(7mN+QIh0*5B5(-qY-fe)w?1W3_fGFt^}`PUG8@xXSoomNRck +%O0f?@6^CjqXpV^fpUy|fmx>K|R_3x!l1PbcGh?XEHOe(4_>miW%%q|jn*lxdCm70M(eDIPu+;e$ql4 +cSG6fEG5Q;%Kd>22=nG!B!#t>fLU&etbn&cW*CN6osi@y{yk3vU9(;3bYO)6v41&vLnQzu9rz{OEuGw +^_I)7Y7cqQH;V1yUud=9w@qu(D?i)$siA?AbH-{f(jo&?`aQYy%OF&$i%++)4S{$nnfeUh%yfnX`{TJ +*P#Qf3_NbW-Ea{)FBhMnNcOph~HSTp((9MCi6xukGB$#JUQ@H2Z77ks19pN+Q+?Cj&)#y*gKv{li9$+ +*^XB!gLqzLV$bFmjsNvjG*jbYSjCoe2i*Ek0foRf#}pb;c6P#*KlV6M=3rXB?sbH5Am-GWPW06*E3uI +eIzS*|EoZ!uSoPv2Xl1@BB4@LoQCdWQP65Lqt3fczcOxQGLv%sPprd15R_LpqDXEJjl~tsFO-*nI;$W +Ek(a1ATB0W(^4L0OO?MS6U>4sq%>WLqq+w)ri1jv9(Tq}b7sD)a-ro`#UxtEy1rO1tyGd8(jO{R=1w&~7_pG{0NJH2C?zLR`fT&DrNz +zSNdzCe2%ZU8!jXRNi1)W{i{FK+6iaS6 +GDGmASgE-?w2ggjf_$>M3e19p3~k4RPWt2k3=L)ry)Ht71&tQC}m0L}==L6vRbo +$HJieMfnnWMNsdv1MsYy&;5!k%Ab#7ESwCO&*R+d;mpUX1oTLeGFBgsuh;oX!3>M@rhs9Ze>}5q2i&2 +tqqiE1zw6Kad})%pdiEFg8q`$6CFiii#bPvhc;XFc3-52tW#pMRn{G +7zpha@;(F4K)D@>j|J_~KQ)SAp +S(vymtcm@Wd4<>F23_Dz}RDyR|R@{p;+H^vTW{fuMch^{Xp>0sABojIkgV-F{3Wz+_J&hu++l8h*sa{ +8mjc%j3%LOYl$XDFBg$80AH~KEavy$~dln!8lFctb78Bk#2LN}7@y?|1lM#28lR|Jp!fZ>r^;BfMFgG +^3Tg60fBW9Kfqtc$b&VGB#S3`SwAkO`vcO-`!{62xUuMwinL*-;8;GM2bA>?s-hi_yPfv>STILff<6c +!HoHV%eNs#V)k_r5kw!ez<)m-Sy~8{PinwuAe=M8vaqoQgo}91o#Ug1SYeOF0XBok0QH +gi{T&v5#}z?iPea7VByuusgE|c%aJJAU{qQ6n^jV#XaROhP+NeR)!q~kGU4%Y=zvR;o8x(7gtN{ozN)&D0frI(+~njQ-uN%uhXqjtp7xfL;Fq!> +*{y{dNsTYx%9W5T|t7bjMy6_epOXPPf>AV=`^VgTJ>nirSFj9RICo$XhJK;HXPiY&e=B={F`W-W==!Z3lAty;>I&Ev@GHmsKA@ +|IxHKF9M6*wZm)NSGdF;8l(h@wST3F~pA3VaIQ3H!U1#@oJH1QYF=*j~^z+iS_Ra>MQVKNIlk6`fzM- +3T%9Yz+4wi*(;;$e$Zo?kYE-s5Q^jBk7%u^`W=JY_jWX7(hi_7JdVVk5Q47uNn6wk&rw5UXQLm|g$ezbP%%HDV#aEFhT0kaO?BcK8hqR{zc%6+po-^+^471?w9E=?KE+e9r&xQo~{B36~;6Z$2 +jLpPbs=Z6^^y77NP1VbbT$*NpOTVQe^#SD7_dh(Q22@A&s4A(*$Ry*A$n(dH{aEX_Wd!{;SyTezhhWj +i?>H&Uu9b)^BsDtWX_w{d=t(i98Kz5ji>G4yxs$U9O*gkcYwS1{Q?f^Fln^=RW}%Zx +Oxj^!<(-1{16YE5imc=DW7t_qB9+Rksri2fL`_u>#V5@CV$q>_P0OMG(N)ape42XMS9rpkBJK!dP6P# +7ybN*w$s~Di6Kkq?#9dE1e8vi>zF5IGGcpu7jAAs+?Bm~&yNm9%q?{9`%1qhvn{t(w|gW%hTzRI*y-m +-9sIkZxK;GBonp2}>UWBo`(*R>AHix%@m`>x)ILr;1~__N#`C1e<~%o3mja2R-xg9t=7o>5&QhL*K&C!haR7RYZveK;?)pf@8xB7KkF|Nv= +Y2*3t9ALu8P$__cC-lspPUCRHr&Aa;eKS5jdUtX)eS35|IUZkL!359q +IzRq=yNMVqn*%>b-Gkt1mzk}Oy6>)z2QRxoT;N+6B{3g$?|9z*`KQj0VV?8NEV^SbKh8(pB8w06`I>L +Se6SJoEXhG$20+!rFy90>2VJ%aW3lA9{MBCUrw%JYO%^~1A@3Y?@SkpnrC9kfbF0Q5(L0aK8dcO=hYnnq%-1ULu!X1HX=|5k{Mbwh(-9{Q8&yd@lA5gvo0&d(H!?Z>Mp}5=eQ;I<8TMqp +}q95#2%P6G$j5BcpiYRh|~w6*kiDn`85+uqvRrI^Dv4)`QZl=YbmlE6i~#RZG~LJGZ+G53u2Ef>Ksol +F0ZC1lhg6^Vhl2sand9}%Aa}vy7wq}oD$^i&mW!+{uF$A?0;Y%<)`3r@8>^wz0T$9i^=)b^lJR}{N(7 +0004%2JB(OU>p{;+(f0jKvM3_nE7fq{S6@g4dSDKg%%}q!f$UGGn-G*}>K%3%d;n4qW~-YIPd}+$cl!36UI~QX3hD3r%Oalla=+K>pq2rp&oe$)ayefUSjpKO7EMz>;Ey6d$H{X*f(pIuv;h!ZAE}_Tt40oc`OIg +P~5*V#g~6Bl>L1VTVWy!X=3o_!vwI1N$=PY{tRHfSrs%@1qE3!7zXn^Q}?MfK8SN2J9B%r8X9pxIYe; +l4p-$UMTfaeJxI89QVK&fEvdfrf&u8e?}x(7U*`uoQ9_1{5o85+m$z$ +Z4G{yZaB&mHa~^b1T#`H>8lkkr(qrJ;eEZpFK*l +4F22ZE<(4La1JvKpJu;&MdY>~vCWa}_nfLH_eF$-sT5*4!AsG<@$Q9T(QPqsnL6G%ib{o;ljrwob?bd +_c@O?fl9ygHe@nw}rM{>#xnp)whX53(F=p7gx{#P*;E0^6Y(zg--ipN}stVd%fn1N>yP#Y6c24Bc?~9 +E5^pC?$%Cer>s40A`tdo8RsB%2_~21u)?8B1aqIcTtV>kpJj(It#u8pYyjOk=*ile)Uz;6F_Qhob5=2OXFl+(&n$`pmu)agA{a@8Gq0kvJsA +Z(PNe9o7-TmA`*svugE}CS)9<2wR#uXsQ3gd0HAqQtL3oke +B%=AaSzo^|g)4$U1=~ig*ZK65=C_Q$9m*!it;>jC|CYHbom5(Rc`J&m-{D?2B@2}fc! +g9paKrjV!2)SRj08;m#+-=aO +yEKg-8S$r}S_a_Dz_H5aW^&;^O-l=6LUezk0pez^P&bjMHCWRX +e}&HP?Eb+B}g@!EKHH9`9O1Sw$ouUl6E|C4kK_=dRapknV*9!0khC#hBcyDP%b2COovQfbK0W9)+;A!6imf|`;s;WXB)itW6TQMemp +LYS^O*C6$}>+yT->6#fxpRv1{|Hxq11JnFPHQph``+hmjnX!^E?9*W%ADVv`z68H)tvEUjEf$gpzNO8 +-+#57W{LsifTPYPmFEb0+K!UF0Yb17-W+K{{0Pt>SUYmV&V?0^jkL$1i^4)oyr8x3K1=)+C8_}J#Y#V +%qD1GYVE<+msbb@^-jSc?SgDjRSR-K!83)|ezmDST6cF!32(a=kUDCakcrClC|EH{tU~4KlDkFF~#sw~=>!G@qLUB +-EMS>N)LMY>f;U8A(AiWRcYYOIm39}Grdzxg66(n~gAe8&ZX(5A3_OYl6I-ML+9pG>{+-|plhzCWq2^ +M_#pPMkJy3P>2c~ayt=2)Q&qaphGp%m#5)Av^Ku=3_dW +su=&gW{kOLhw%*=2_7{fB+2+rObS=34PYZLR&snWhEe4*SK95>>dgsun-3i%E6cfi7bh+u-CVxL)9H3 +am^tNn*l*_%q?308~v-0vAFBB{h +$u#qmru?A}iPN2`SP!Nc&b|dU1`v70S4Zr-vu&PK30+|WNx82}=2Ds5_GymFSM~ek}P6CMz4ctBl528 +{+zNPA5UM%5JZ6US7REZsysB7Nz2|clm4m^6^a5`2XLRNecf>y^ZW_%OgP8*B<@!(m_lGpdQbLzpff4 +HA=zCXiM8EuzSmQW#~Ujz8#sAZX+6(Zwioh1%y);=#H44!Aig(r3}^u)H^@N4FMjJcG;L(Vk(Ac +>;sFp6B6e9_xN>UDo}>(=Pny&)s|B;qk*qtNfu|nHp1z+G`H0Jc_ZF9?dXU(II+0JJi{B-PV|ZrmdVr +)9fg^HnLV}G4M&1P-7rLFQ~u@=EIaYC1iV8e9Ex+#gmwQg+_guL8oXFo +1uJ45E&B3Cs?@T;8V1%GF|bI>$nX9-)ICJC3H54n`et$glx+=D+dmEu?t!hC(0hPE+>LoFTH +m{!67jF1{_FVSa&mTx68G@^RcZUzRC{-Mpsg_A+U)Pil)r*adxmDGdsaE=6rFv9g<}f6Q603zvjKa3_ +V(@g^lJQuoxQuVCbcp+21p2_wG;sh1+Oq-u81XO}?KcTWz+e;W5x;-W}Knfd?z_r3 +5g-yWURp?L)E>C-pIJw;o&O=#cf69C&>KvDtFXLlC3l0G@Zlk1x>!qXr;!oxkHz03n!LMEz?0@f;H3$ +Z{VshY|io<-RbE+hmg6cWcAkDfz1;>Vn3` +eS+6hL(AmQ?LNr0!f|I!B9l#%f_zgB%BT`?JNPfxZnVRuu)+lnI)Iu$YNGs6 +9}iz4@P}-IVn-em$YqAC1pkv_5yU2)-w2E6kx&&=Z}9%`m?oB?sU4)jkcKIyDMb|Rp7sDU=0t)RS+WX +|Mn-K6om-OFRgAF6r~P*tW;q>`qq(IF3Xk4QK~VFG8dyLIrHE_>NQ|1OJgA!tZf|d4KgqS=N(Bv)Xvz +Tej5}G~p4}FKC-_tZSLtOFA}~8fa?Wf3+e}CaCQ_ZX(*d1!}n~O`TJSV6m(qdmFiHGsK)l17D}@ZyG%%d$f`nG4+%H`Frh#5sTyQWZ +_>Tj|5lP(>z513Bne!LrC(rqL+!_ +s(N#Ob4VjTuX_eZKs{PE+@K@m${=^Z!8QHq=a{YapZxIpA2-jrPYm)EpS2ZV1HR|P1r>A-Z5Zyuy^r< +}IG`8721+5)&*-AmK-U3jwL>2}JT1(^;=f$_@g@C_0$h>RG3F})SaWfBnPu9=NT2r8}0I46kbtKgIMU6dz8VX;GXTLL?#r^pXy_AcN=MRUzE*;xE1K#U^78E6#q06(&C%6(IzB&p{fpN;2f_@c4 +yyeKgx+JvEFO)+|AN&9|L21f_8TC2y$^>kKDEO6q7P$rkF9T{ZdA721;Dj_wce=w)g#DM3#xu{XfViPTquB@T$VNI6~1A$d{-kXix3?PgG +#-{|CV)bc@o1VT}JEwYhlpfwt;^5u5qAT?W#z}&sWjrY|%Z=Xuz=v?%}#^6>rOB}G;6BMVXGZ8};L(j +}EzA8V;7mw+GklMDdwa4_CEUrTtrJYMbUWdsPb==d@0Wza`zKNgRN4>NI7bt99MJ5k%-{8P8RD#GO;@ +~;4334UoEmi_Qi>1W?Gvhuk;766{NLKi*$Yt&;FgqjwKQKPy8<0LTR24C#I$%>9$Ab=rJyz{Jcm +JGE(#dvbIYwGVKAo$T-Tku%{JUc?}P#&V%Xf2+pWaJ^i*2DO;Q}|nn+dA@L0*;>)d(H3^OJW&YNimA{ +D#k8hI$(N$FSVNoVp(<*YHC}@=z%)ekPpZ=%N;w0Ll+WDJ|e6(bZSCt%v*_?-NMyQox0XuUW+uPLq`O +OU+BUKHEQg%p7_C6Wr-&LLyR)-Y +t#z;okfjeiNsie;T-K%ZG*Z<u~m{N+8@Oe`sTzqlN&U#(FUS*$0>cLK_s-jVOR#1Xc3A6*r%79hwyBiT2N_;RNT2)6Sunj5K +*r=AuU7d{eLM$Q+3D)+$ljL%gRpX=mxyfmTeIq$-q@|WnVu!OUl#MwS*5TrFL3w(u8`luN89>{e$o2( +1jj*LQ4-LZ`xqSnYIq$97haI0|Y;er6#msEiSXGz!ZU~}I3{naY_jBeK=|Cm}%&mH5def^J9<&AaNx> +1Fov0Q=b!8_~*HVnf$H1(}I33e0vbzCxu24VnVBpl!LcED{hqsM9h#P=BES%4a3@bNF&KI*#-8|b;fm +Bs*-6E^P_ns2xk_-rsOB#9EtXbjI4VDk8DU>|W?aNI&Lshm07HAIdQ4uN^PpMoyVoT}|#UFmdw&D8K; +D<#(^(bVYZi`_ivPtEg3PJo_hbFt^piLI=vk4{D9h`f90X_9AM9aqHnfEdKh<(Y_e$s2~k0!PlZ=<$O +dxrVA#+pC`t1Kx}|A4yP(cRQ_OF?Y(ueMZKD8|bhdAzNNWP>Q+sw-n1{#U}R-#^4MBbqX&#RA>G?-`? +jc1Dp#n~1?rDm*nCt68&F0d;np!6L((}oro`yu{hxmHD8zt?oGHB#KG6ZGoOscxq(-LmF7Ilmp%`kH`fNctBFzt +n`S!|O9Dtko~~)ZhWJXjpk&;qSSwc`wuV*tp8%%YvRhkqxY2CsnCD(+6IruXZNnte9VONo}<^_y-q)9 +RJ|LQ1|;8xWihbzEg2l)VUV%qNOvR{s2NS52JZ5zCieRu3Fw-(&k?LFaQ)9e5PwgK!g`R)GjHs%C8yy +{Fyu2970cZmlWoAVYcy@>f|l|YJsnM@V6qy*RZB)hV@)%RVGhqkS+uIxa&Tl(62ApG*SpcpJ1CSt}Pv +(IdyP)@6<^X8xc9T1V=qP`7g_t=Lr~(OFvkMr@0Vt)I~W5^VuliS`Hb21+RQ*m*IF#GDN1X%aQq+t{CN=c4khYNvxin@DlU%v%4*!1sJq}*n4+jZR +Um4^PeNCVy1byN>aRW6=8f>DSjFc{Tm)M$QM4NtT5RB`J60Z>Z=1QY-O00;mBky}}WN_i6MyZ`_IegO +a*0001RX>c!Jc4cm4Z*nhWX>)XJX<{#QGcqn^cxCLpdwf*YwK#s}k>n&yat25sydwsS1~oFEq(fj3Cd +5i`aAbyvNqk@&r_^FN2k=TD@nkHA!&rN-TJ0^pQtGYN_FHV_Wd$b;=Aoj9ue6{>OLdP!YbYTZNXYrEw +a%GI0=Bom-|zGN{{H##A?LBr+H3E<_S$Q&wfA0YDsF$Avv3?|g+EQ>xP6@d&&B=E{}}w`OnD`TdpYyS +W&2D^j$C$I;QqA*YwEs#U)^2bE4b&b2OjvoSaA2f1$EK`1@}Ktu;>fURzv$F~f9NQi|vaZd +(b6WCmWwmo!JKWz3^V4EPG)o=bE^=_; +9C*>-K&FF(W2!Una*rdz#}W{u7!%EtrP)4b<}v(?5p4M!a`}2>0eklX1JBe}Xft;kR^k#k*EMzbuKqp%P8W0<5WWX4fxGb^ +xA6b}_y6YKa`jZ>DJ#!$JDR30;2f_j?tZzR=OlO7ZTD!BEgb6a)wF;HG9rL{<6(b=p(`KG)jxOwbF&t +3tYj3VMO+@XEeAi^f+j7G>vC~wMZe<+o14vX?NPlX>pv^0Z+Jw!Lae{mAWJ)^i;TK|Bi$%hM-<);*P! +r5AHQR))_nLwcL=)eIhaD33@W&bsnHB%c%$-P)h1%^Ty&^Hx%(9R7>r0M4Y|Claauy&BLszIuU%#KKq^I+9y=m-f{2ym$hsBY_o2qF6Q1tM#B(G)G7Q>)tdBgR_iNHL?_8D0CgxJ +7YyA(H1{4p7})l{MAvdcWFy!D}>$cl0Pyg1tO~<0>nGCnos-pfbPs`(hui%SV7Jtwm;6@-Pb +bEjsJnUDO>r^BH-%os%>l~173cC}Y*X#g^oDeSb-rId?+ejm#lM=a@Vk=~D696e=-?gOk*joM;V +x1KkPHn>{XT?yCp^_TAm04GAV#y3uDfG6!!;Jh_~HSieB^k{iDD8UhN5f4L|THX@9731ZESxWD5^A<@ +6nvfabTP}R7iV`@&FRR6Z>b?))-xc;Q=l$v&^_}mwr^(G$=eu=&uP>09>*B&|djNik!fvhhemqrRaY$v{VDZuzoWgCLyaT;1S; +0{^SM7wi9Xu|o+nGl-HaF+)#u~%q13)0cqB{cmN?${hVjQ6HaOl%RFa28c(yMTP&V2}1;@T}Sa*KQz% +_8|;GHl1p76|f1Ll&s6d%P~(mZn+YfA;7@FFRsR?9 +eXH+sfjyv7`k`>{c?gT!-r_vSJ+sDNmxla=_z1l~R4bVG|msItOcDcS^6SIKy+DBe2qogWr&eVR71kgly*?1Ce!mi8XMu=$bCK0h3_jT$$Ooq1iJZBNjXtkwm6hSpDFE^W*BnIF^aV4u+4 +xz@o1yb#j(h+C)<|ivB?R{yfD0}Phkgo3{2rEjk1E7XZC`OvF`PQn9g>({haYvF1t;btg7-HiY~_FMQ6*ha~-AX(c@;Ll*{ +E=rw@z=Qk?SFU7L+1Bq=r#fVJIkpT*i8#X9Ffoh#Yva0MI}a9&L_A=W +tnSYB#@=k?jf7cK8Lq?akMeKa7+^C0nO*s!(53G8BR_9-kW4|&cX)Qp1j@~M8*`^lt2>Nm=IwwJQ*K1 +D2qQ};>E +eEy%5C{1Rsmn4CQ<(nDQaD?6u3S3nkd-c+yfL?lq2jkWqYeAV$l)mqGQ)C?623W3M7vDM$rNUA+kYUP +I~PZjf%2w>XZMF{R9^fss*w&@D2;rwI`^9ggD8hTYSaRd~jLrY((ZktjJT2u8(Lu?dh3>6#Dv09!Ly1 +7=KGgY((3*u?PsdB_xxy-|EuqOMkHS|8PR4(vwyfD1R93P3r{XzJK;*{M8sp}XAJ4v(vgH5LbO7VTF$ +Sb=~08Bi)HH7!iAyH;#^+|kjw1>BM!o60p-PodQhAan~uXZ>hq2ovrE(g<=0((}5Wh}nh`>{y$( +b!5Z&Y|++mK1XR9=EWJoPm@^nGPps>>GCnjWHT9F3}q5syAA` +RjJb$z5R2-FG0pn4hz9nWd(%gvLgN<~5Y%JAZX;8YK@fentNBVzjv#(&`q@@+10XxLigF;Ijwaz!hQP2~@ULL!*tG2{0g4nK#0D5kW?3UnyKl(lqy;u(u1uau?3%kURpD(=7W~Fw@ZJ|@UX|`6F=*7DP)8EVix91!<=oxUijZq)Z9?t&sB>VYDGf6Yt4n +4l?JWl(%YbGIiK_p@DsMQ5gS50KbGy9l4@yMvZe8R)CyauUHrW0G_)w^q81&679AD#nl5QkGqninbqw +ouRE$!+4iz=WM+c2Tgq$MN3WPn$NnX^D`a0Kt-{+T0kq0>`pIul8BXKfYd?UvNG_0F{KFtTmMXMSG;} +lG%L6%*E6ImjpNmm4I)g@`K&H={A_A=8V$O7E;0*ur*Kp?=dj?xX)gLtl&bwVMP?6;GV05%SXCTq=47Ft^ehFGV?6xwj(auGS(f*Yt2dzG3HhyEyVIR_h<5yHi9mn<~ +-gw#$Ojc}Wxw$|-WNkdx0OD)oSHXd5fUpCEUp>^ENK>t$g0cmidS3o=O7oZLsx<>`KHk|PS^=e5xel` +5*m!OYWZ3w2jU!SWWgnGuTtjIC(oaldJE0ERY%Gh7MiqNd&{6xGU3F6%2kwNj*N<1#7$!D4GH*Wm%gZ9~&i&oY>UTJCJFn^H;z<~QDH(> +7~bQ8P4@5Ve$3c0KQgA$co!M0qZ^ezcK?D*59}!QV3esf!A2UJyCAs<##Lj^kVJD75t+!VLv+%+@UVk +ZI0_$uldiscr?e`YQi^aE2H5X2Ws$ofv){6OvQaEui4WW|(N5!pGF_AoDrhd|igFDt`bZR5{g^3mVjwY76LU;sltOdL*d?YFFIG-Wm_pxvCQ8pVM9z0`XI+ +wuJ9J1xA9tPcRZuj-HoO^sL@S-f`SYnaS_b2K+aNO%i +nRj=yP_|nbm}|zF+vkA0WZ6U5}Qolwkk8jN`7{WHrq*)hCKR1<8J8eZN}Y6~jdiXH|FI9ddm)Cr;UqG +mGPx^N;H?)#hHQTWyYKs8M`~79EO@poz!XvEHmko$mhiD}m?=Lc#>A*!zc(>ncRt@jw{{$ +@j@S4aTBiPLF%nCbdNX{I!ALSwwR!KH*27DxVu5&4P8MKb#ClcoP6qSnuvXZ-NUo{mJxFH-}y*u(2}^ +=4-smqtw3!p0@2+o*<($5iamY`l(@%HiHqc;F{Vf-OC-B^ZHbgCUR5IHOIH(i0d+D&o@F4vDL>VbKeJ +#*ve)xTAIsN=yMnaLAI2>o(UNlR5G6KESLNcAZTtC@Tu)^SYMAkM;=^3hH+NxG^RTMNl`7QD>v?A%YL +rnx@$%SIr7|s~a>ib#d9b94w9cq_LaFEd?6q@P!>azC#Wt7peLurB8Y1}wTvQ#S9&J9K1_I)R^r5L)Xg{C$*BQlhWmW_8;R> +zeIf(#<$JS!XDChaoKvpH|o3hjy3dM@mz{f%l6@}a&3v5mq3GWhsoZgzpe$9$_<+2sjI +zGm6b@|=Q?5H=7LMWeuRf0sNe^ea$u`svJ&c`C9~oSx=9i`L5ZF4s)SGA^~nyrZhs%IyN}}az*}g?Z+ +kL9x9};tZEvGn=rG-$i_q;iufpx8Kcr323H-7=F8{UkRVYhYFh##(Jq0c1WSRo +a)CFwJo@02g;e2*F@`ZSZ$cK8+3BoL1(iWjeh-hTvM;;uW=k%$(}x)639MnHj+)tdmPseB_1u3ZSY9M +q(ygC^94-@$6C3FFKA{zBkd9fU*6Mbw`h4!p#EZvlOd=;mRPE^&Wi`#Z=u$2IU*kX$6ED)Wblsaw&P| +A+mxH?=l3*RZfK8!Vr8Snz6u`1_9T@j;k|qi@K*#FdyGT9exx5&T1YpwIp(1oS0T6r +D^3C)l&5^entYUL76spuEy!o(-+odbp@=FAiJUWb`m0QL~TnvKlg<|NFFnWXpQw614@cW44kg6{sJ=H +8A8k;~ovHPxwk&*p_$2$UvgA4rCuj2^Uqkf0zL?ggIq`B^6RcNfU3L`jXc-lEi4gC;MSqm?A*fRmk3V +Ot-LK|knTJY%J3$*1!lpMJvG2}0%G=GuavuLKZ0Yu8X&ZBGXYFERz +vn12P8=W84orOFo;H3#_G=>`@Td34xDD|PB8E1q9+p|L72y^#K1?pl@KzK`AJhNd=mSoY~ybE;MGrfy#cv2zm!W=XWHm) +${sE5+fcArC51BjOOcJ&rpPctv_z0Iiih!%BmJ{63mT17+&!r@BX)9ALi`>WAz1Ic|9CHKlvB#zxYh+ +`5mrc{HO?*es9d^+;&L|i*Vn;c)RLKWv57C&wsWr)PPx>F(%4RL=cvZ2zM#sNjvE+Y{QmOKz?E=g!r0 +1C--b2MqTT#ELJ33V1}vdlQqUM}+G(r9n6JI;H9XX6&!Kgz>hB{f5tm<|?Id*cw{npkX9MVeIfrf9!O1wUBM;F!JJgtks^ +X#XGo7ollimIn=Tl0M7rtoodLQPJxpk2MX~zh3dw$9~v;?Aj)=7TS3<*+S!O~`YhM8h=)2KQLQ{p$6e +T|kJ@n^fycebG__afd&?|pXRG@po;GnDFRA9G*}*I(&&6ezs(ySQ7kE~H8KBGtQthY4ganhiR>mhgx) +{~)s*~a*!ksi833GVS9GhX9AuB9~Iz%1Ep&C$#+nHJs0y@A<4pmRJ0~!%tWU{4ftzdq@J`(jGL7$&-( +eFfX1RLwr&21iq#a(!UU<7;JsV`S4^&PV262eXt0<#Vv+E9&RgNS&&cQqnk{_BiFIa3q&mP0~tv +6VFL=poSX}k>mJ6pai8&xRexWO4W(D1&D#8fKA7at3Sa>W5d-puikFNDNgX}4Ut=1aapbJP^C`5zwp~ +g0m|@23xLTvT9IDQ=7Dq|W@nnE3sgP1{-h>7v^X{c4_LT@1?-mV(cDtpoiLr;6}C|hkhH`o1?tGgL)4 +~2Ysa>@tenhiEv~dI`A#19ej!u*`kiV +RQ#Sn-;*E5r#_~E>K?bFUV5@tS+r?D*dCFYxq5Jg3oIrOjwfxYx|is6uZn`K!UpnwupsTB9?4!J*`!f +07o*7vb9M%;=t*|=%T(r=iWq)uLz8-<-W+G&x~tSV3%$O;#w{+6{fLx|e3TeBu?GN9o-A1Bv?t}&L)F>-y2U4yyu&SH6}Hm(aI^w(-N0VZRW4DfuWIl?x>?Tzby`4+}h39*?T`!%Ci^ +>h4{DH1#R*He3lAS=s50HCDXt=7;;rvAWz{}o*N`%*#f@UAPh3OQ_aA?j}V7unbu# +4~vfCHVLkX(q@=wxkdUL?&(SI<3iFX%s-V@ZsM;F79qc*K|kiQGkl7Z$^rj~*7%~HGMg;U@v+jG*z*b +YBy^OIdH)V}2b*J}Wpq-}-qGTt)Ut`VpX*^?e*sjgod{M}t&PLwVdCBm*iC=rjcG1IE9OZaerT}dx6k +N2oDD_0#B4$Vg!&6WL_snBD#^oat~OjPLvud~SqJiDSUzaRO-21Z|y3rx~E@Ci>VF`0UY-LqLtQ^nDy)Ub922$bAFS1omi#t_b0-eo9%2VI@PyL0_6==u0&Q*rF5|dj>ireoT!*6_P66 +8NCu}hHwz7A$OX@7B6e-G03N8=<1)%%RVsF+ql5~o}Mar$oyzCc=c{5FAA0QvVz_rQlSe5yje_RPZ!a +mDf{fo|?_} +~N<2lb{>%X=2>;JLWS{~`)9hJx&iI}IqFy^c_)9Zc+7Krn*l6IOs_n!V3t0?Q~QhsAph$ +XGef&QT8!ZIQAr-?i^eV*~t}y_LSX!EnM>wc%9UZ*V$coEj@$?6-bOc^Kjfa$QokK1~0I-4qrW4mH1BiRr^2FfU^Ns@N0?u*Fiz*qOWL(~@EK +exQ@u*=7So8A=L_7^4C+-3RC{ZU~E+^KDW7#Q7N*FEpnid-Ff;svRCP;22{g#9Pb7g)++*ua;Ssc$v(s +LTHBx4c&wgdW#gr1X4_X(;kb$eZ;4vW%fi}Lg+V??xKCvR(BVI#h#&$W+C)AjoE(r&jX-&$ZwiQv_ku +14Wz~=I7v+5Er>rLv)jbmWtJnl%YhD1sXUpb3!!lU&>Q6EjGW{Rp`w3#tLSR(wH_4|LGy8-{+i<7YD$pBl^voTAV9sm~MSm +K^+S;)d{xL&L&Gu~yTd{tr4*d}5%1HjV6IHy&C8-R0w2I<;sVZzuqrTTAQ2Rkn(LrQC*#d>gFF9AyKq +Y?!E&+i5ETriBial)uBHNyq5`2=Mult97dt^_os6ZHo%wH*g@~mSotvt0Z4siMvv$qL#maWS16%%Pz< +X`}$GgGP{Sh&me13XnG=l6FFB +*)QZgBnS@qpR-E^chX*3kTzW4+X>3g&jcf}{90MUHZv(DWGB`7s$FpX)vkG4LQ8mm&nD^rx3iSjM>)G +RatIl7g7%;6+NWcj#gsGaR-cUq4;4$?#%y+A&9b=~Q3`CsL8BiH8yvsZwYWIgi4R9r4jTZG1DP9+{(z +r0zF@KsT^U?R;C>H89wFW{n(7G>8Yllt`}o1smx&o$b|TBh*q5mFMn*sE|?ieXX@99`hzR%xKXK~)zO ++LhIX_AvYvb$We%5_;FU`yH=)lzW*bC17|OZByKdu)Ay3PLA4E(X~p+#>dJU+*12X)w1M#d98h8dko0z67HV~>T;0$w`zHqE+6J$7(ohq!bF?rB +`a*=sDMtC_tZA_l%A|sByhxCRI5k+G`v=If1<-DYB>)Lyb5x@f_+oswFynPz=MJIO|}3&#m3>nHlAy} +t%wK-1XW6nq*TNJJ==%|el|_a8DrK6%6~*cb9-wD9#;I#;^1y)T1RS&E^8=#Q`S*3#glDY +_-|>69Is$4eKWycsw*n??#X_FldN0TA$3DiFRqztuwd#kc_2Mol5HkvBt-TAZpk;CU5KeSJc|0`8(Z- +(mqXyg)$k*1`v^93zE|3rcK331bs>N2GEFSZWxEFq{5+RZ* +?sKmzo3oLu*x{NxRJf|F@Qx1oLyvk3Ty|xyWss!N5rMeR%5qSTI%(K9y}4WE_pup2b_SU0xx^mkDUcZI<1QdmM#c@7X0Daq +7Yt#OQW=}pRU%|<>JXe{_19H_Rrpp^3=Xi7#VJ2$Se%d^9HcM%8j#d@b(o=g`8?2X{&4&UV$Ng$Ou2F +=;&-c-ZbG#nt#OwA~>6)PHQMz{1wS%tv==wff*%9CamPPr03fGeDh()@J^`3`GU7ydEfcZ9O`^%6nW~ +rfFaF_2~a{*0}Zm?FJXT)Q|-WYw-6_Cop!KOpy@EXi$PFQbOLeD}TP^x}V0J*fnP~|dof04u3G^qd6)Cy`_h}s;Y +)`o}*A#82z%S_b1nnC3fzauk?c)iScaavInRUC^DYQyuGVT9*nucn@@v0bTWQ|uS;+(^%;J;k1c*GwX +GY%4t0%IB_Xg_DTqB^mem9aO>}?M(;*aWekCh_ubJ#L2c3l$j6~h +sC8;C~|VxmGUjZk)9gc9FlU-5e56E}%|IS~-chu;HGS%{*i +Js#414Uyspo>2O6WnTUN23ll{cAZN%?Y%)yUqE%DxJ-Bpf=-OdaMqguxR?28@efRtZfv(8K*g(>3()e +W7U@JxHKP)58X#X*4~o5Sp^^;W^|Hpa8P*vhZ$XwpQwU6o70a*cGwQG7LJb5`K6sX!1f+1UJJ`BcFgr +Gd9U=foKP&sDwYhC@O?L1*s}G7qk+KAtIf#^_IJ2>Ig2p9bFe`UrO2DMLdT?K?wglq_k2Opd^l+g4bS +R%3`EgsEr$>Au98O-=qv9U8T`0_i0iZo`Ts7Y|ukc1w*(2ixirAt$5Z%8nL7EYBZ!UQGV_e(PTHigpL +c3*`YaG)0;s3ONS?2dZ>!~2P*NN^Rgt@e*P#0_k2va?qC1bWd6`TY+e+RYS8N^F1?5>)Cwq}w;9Kt(DX}vgV=ACTlv^~I46#&l@B +27eNvUqon)>pE1~C2>AKKpB;H0%bkhy$Zc1sX!mVodz(kxpLx*)T+lO|8+7ZvvQDR0Ybv7OefP$6K;;oL7T=s&@!9ZlOMYy|MHGlpftipD9n`tQs$r*;=9L{(j>6rfsOK;M{?SQd&a@@h$G6 +4o5e4p=mWh28&k!^S*^dAW%874Bp@FOHR$P#RJr3b`%U1h#E$EbAgzz6QrjZ6bIq8#r<)suy=9)Gx5< +tOH8yp1JmWPL7)ktW1Gir1O<8R$leb57}xu!!PXfg;c@7h^J<4=c4!9m>TN^#V7yF1xmVw3AI1}EbVR +F^ei_ZK;oW_BVu8{%nu0=+&FKgsUaeB&pSjiJ_p;NtaNk_4Y~M!wp`Mq|m2674gpmkaa+byqghPm^sH +M!P9!gOXKnjU1u?CndLv3l8Q!L)5(ePD?<8&$2!WG9$N$j0WjamKs;P{Sb-CQfr;lvC%Vh$ab{$51i( +E$W8$OmvV0o9+!fkJh7-X#{jfD{w0!K>pr&zs<06iTiJn8{d!&Fkk!o(>c2@#BW=Oo#RudEcW)gP_W6)KeyA0I5 +%ajVf=*b^6H|6D#mf=&9aN&-D}eA8VjO&P-kaZ&=Kr1pDmX1iDFo*toX)U%rkwcWoU(o*%PI5r*1vK& +Bw%Fyx6yW-c#VJbL2O&`8`i!|!SWV@Q0Y~G3I>(%DeISrVmCKzXVoo?G&fvx=- +tEQiwuZjx4tpF?kbf`x%m4Vhf(7ArJFUSu)r4NS8Ot};f=ySM7QIo4588}8;LSlLn6__>^b|@^p)r1L +PmR$V{n4`q0GP8aD3xnm!ZLh8^Sc1M +8f}iD8{p%i9G_rbE;?UG`Jcwlq;#0hhD2u6t|fZ|709z=VRPh*%un{`GlOblQYH7H8Y~F-6TTPxy&!{ +2na0l^rC<9^2N1COK+uibx+qcdf%n6_5$a^FY}M>Is^H9DAb*7v#K<4yhM#up~eGA(NNY-+{;$836r5 +0Rptci$E&~s1WJ4&5gzMG@Hbnh9&8f>|3{`A=>!Jo@TR{he-vP1cbAjhD^Yhe1_yqXios_O&5oP4l={R*8q)fVOg;Ak+LO&o{2UAWD(KA=b^ow +Lci==xBPINqn_?bBITXdFN;5i@-3;2XG3h(OBXfJ)Gi4M1N8&|&*~kEzm0DB$z4LylQsR}5_wntp^OyHCoI;!=#uQ}<<~#x9`pAOd8 +g7Nh3?Z6UOJw7kPaIibmin+$FSyhnoqlWu?{8lmBZ6MY``8Tt<%yAijW9=0lLZ6(W@@F%LO!(WA9t9w!}zj?>(oatkllcUl2MT}*9-y0tFk$x^!?MSr@o&=y{34=b|((e1VBb ++t;d+>CqK-;qwMXV^!mGQEth14}HEtS)Esx*kNo3FmS29SbjMA* +EpNyyT~s}cqALE&lG)hLLg+UAXl6>--_=3`Avcge3I@WIui$G%r^dFW<6uzgPcYoTQfmUx=j=f|6YS= +l3#~$vAG@Le20i;WI*+5bh0s(6iTiN}1BQg!cjh_ya&m-cFOyp^9eEN$*g>jvLR%L|jgpaSS)f!OCm! +}xD{j?R2fS)2jtuRip0YJ&A@mh0plLWdO+pA4$YF#$lb0NV3#~in;KZ|#-#M4=ww*4xJ0c1&ULvjDUa +KxyXs=al?irBmiZl9BicC&_c#4TG2uD}m5{R57OdJtIoC}Fm2nf@*O_Ju~HHdXD>G@4Tt|F{J!J +_*yj+DFL|ZN{Nh43!;?GgmY|O-^W1L1Uku%gcU=xmXoTPS|m)d~YX*yPh9GT2wBbfs4e_sNeG4Ppg|pOTO{pL?O^v%%m_V_)UJeAGL* +r*5rHCu2t|7Ab20((-0-34jweZYM^6?3?Hy+NUZxrE|bq5(Da^ST# +tfF3Fc}S0CM{zm0{r(H@rmI&|Y6%*ERAz)i{(rYzF|SkK$(NYiRrxwR+fNlyua1YanEppGk+w8B%=|8(KOY$ugnjX{;00#_a=XyXSpczHzraYzCl7gj0xnwvn%gFrfG08&Ca+m-%)*7dJ`2C +{7o3G{?5UB42+(Gu>#y9h+Q%w2UEG`;HU;lEI +EsN{~d@|;#v4~SlN`TY+BRuC@!fjYro=t(m<{m +qkys1Bd{kckq^G@(;>ClONP(~!*T>UA4?2SES0=Yq|H*RrliL+ee8*5NOkl;Nhcs3!z5wBY%_&IB0jL +QiRr`#)lnd01CnvopW!PVw`xk@3{zH!#?Tb3920p$l{-n{@#-x0)zO>yvmAWy@I-* +@2CC-?<1o?!&+udMVdm0`x*%`k`Ek5S%(2hs91D2I3gGw4B_Ev*pqy^ngytg*)D&!!MAq14lz^8fKh- +hl^8)J9g?r2nXa&W8?@;&8R)nFa&XqN+8MB=S<|Rj8pw=9LL&+I*d_So!gAc>O<40ES15&7(sK)J!&c +PV}Pr68Q8Rsw4*zdqk2)2pMT1y__=sEKYv8LJOO!mM*qdUjInnzNS|{=s%vz~N#11gsa*6R6PkWNb0o +$NtT@HSzJ?rpN?n@kIPQE?$^+pVE`P07J~wW?wO03+kKau0XF(G=piM^I%HK|>z0nt~QkT@g^UqDR`Css#F_cB83Koz(UN(|eN40S(Iwpk@FXGl=n4t8<|4v|Kt1%c-drCj{_`b?9LNL|c#}|DQZerDz=mf#*>eee?+^`aC +ko4VHq@`4yEd7=(rfrW*6dFmJd-Me_yFOfu +0dxTjAN+S9dd;c}~+xGQ_{a%RKD{%*Libl9Hjlr{lw(cL!lrtB%HBY;~V(0 +2(ybpWFtwwIfycNtH7Q;XY}Nf6?mhe4GF}pD+MA2LU<>K$k}axcgIY=cFrJsnsaefE>7`hs?qbpk@Hy +MLcrYhckMV#Xg34$8e6;oos(QFw{31QZeKodnTEROBO+nDf&CU;u^-k8LyOw#dIHcHWN>p=;t-bTaUg +vB5DQiw7nh~aDgW2k`rU<{)U~XT3#)qn-}i?$_<#ANod +N@6FTqE*Q~M)2PC2CZ>Wt8^wSdh^=L`;Yrvwp7Eu2lpNXN+K09U{&=NwZjZ&bYgNNXg&s)3mjadtfh* +5v&Gt&{CDS@{Df!D`gNaho5NsmN(D~`8#F~_-}R&&=~tXk&vh2Li7`;z6vI&(At;Hx8*u&uP1{$&hw9mG+~6y}-l;)<6b7TcCUP#jCyeFZK|gM(Wn`T%<)g&xmCh +qi}&EvemYD%eFLr0E0zMTrBdgQap20$GqVX7T^ho@SA5#RUeaZa3>RdS{~Cwrs_uQPxq1$YhmkF>ZBL +*;N||6I@zZr{l3Nokm79G07hxWrwOEf3_9EHo0D?3)n?;M%I{Mk!IzAvh7l)I9{EdrVfV{Mz&>>FsrI +qe=z?D9Xm>X2u1x~Ghabm%x}D_hGaC;%I}feBUXG;6<$YRht4rgulyVC^OyROxT$jO%V@vt9>TEh`9d +U&{eT^;T81!M?5wE|tq~Z&qDThw}FlV#SgkkS6l#>-W)Dk_2kQhkylZ|HelM*^pUH{$J3gJdBNN<^p9 +nocm+fjH6<;ZY0uf5KwlYFOzYq)btgM6oh)9VMoHg}f$=nN1l?<%KUFu!G~^ +Uz9t9r-EUtK_oUlk%c;qjslQ;wF6VF1hR@`RO7Rr4VVOs!wpQz8Zyi*k2v}R>>dlXN~_vn+I-_b+9D* +I8URDw?St&+3|@ZY*A!0O%T2K^|5QRvhYEx3Twh3g1!=#B>|B&oO(^$aoL(EOKiMK8i-V7hw+t^`$Lr +Dl}4ZQ{R(t@#pcNw=eegix;_)S0G7dY6i_1BwqquX#YLz2``k)!P`%sKJj@_s%?@!WFEw}YF%i^^q%Xw*}hkZvgh&~yJ9v@dy& +r7+u3jqCbt?@~+WV%7O>1VhtT^4V0fHK@Uc#L-v6%tK$z$j8NcoTGjXi?oK*b5)%J%M|DmH2>;U%JKW +=y|OTcuAgn_SGWt{|#Hu?n4`R4vk=~SZ>Wv4PhHhPK6ua11Voq9hD0S5cii(tD0Axgv{YPh-uJ~ASp) +6o2(`=+poRnXCMC#=H4q{{%PSG2RdeeJUl^=HR#eMW+J3y@o4W2e*dC+Fr<$*>-BxKxL~-<+5+~`&^6 +)rv1=A%ki6q1lW<#1%4ef6bnIkyM{jZ>TTNjQfg!@PsKOwR^D!03$8^gb^R$29V%m5tRi6(J{7){Xzv70wm@Z0Xrf3Ch7QBChi|N5 +P!In8N=wiB`2Cbji(Tr`uL{dN6R8@o +!mpNg-dW!v&hk8yW@ZMI*vbY62~aj*5~cI{jM(M<<0>m2Lv`CLtoi8Gdu$X46GOEr0xv%$Cr$Ay`qgBc`13O +HyfiwJu*jEQ!{+*jQ|ShG8@hoexa#>*0FeXUbx((n +yb`>Ene>ia>U>2!)?C<@Y&NUIq-H|4R=J1O4(6A(Oho|J~#5owu^sr!tnr`X3f>(2vXAy{yA@ +B%8Q&u}JWcf&i-suJmxQCVXUX{*ax_{iKxqznvl2Zn9qCh}&M@~|1hot!a7Lyor8D(o>WP;%nAq+WK~ +<%m5KdIsiipw^(2o2V`)5fB_$p}0>e%TEGBOknrnX^#SqEqOb|j=+lbX&mRppt~D+Cn=J3Q&{QSI7Hd +yDL}Sizb+J)reP#fXqx|`Xc$|U6k9<7mvR}WXa3?yGIKo8h(`i8uV1QEbvxhFPf@}QErc#uF+hY(oV| +5XaiKYKG_l1!ARLU82d$OjxN<2+J=A*?hlKq3fU?}KR@v~!5dKY1mBz8Bj!;P(kE9skU7&OPdiBt|Os +TLto9ir!8w04Z)9CKo0nIb+jBUB;0&}8_Mv@FU=%Mv}Ruysk!Gz4}N@cb>jD!B9<2x`_rr)5dg +2=odB9Z#USNl*Z@=wMf51-WnqTL#VYs2SRre&Bay2Fdotvy_ +W(1am9pk%YqgiDa2b}_5LnI)w)@YcAcp`cH#>cYq`QKbr|s%~e8Aiv9zlgn1q-0?!wZ{cNbwrJa8S-1 +db9QzSX(B0+Ewzc`;1tyG2gQ0%lQ;Q`lE&=`H-_zXoAnmtf1S@TLt&^_6@C4LhKpk|gO}CbdxefJNmb +kyglC5TJt+^XRufcSj +TX7PumhlxLg*-`pNheakej!TXlmb(zA*MEDKjo%PkUUD6V}b6q42t#n}t0iTn+m>XW;T6+d5j<^M-Ix +!Pii`l+C_=1NjMq5yt;*fwN7rS~}t`Rp?oC9W-g$!Y#L5mj?FU#>}mwRbk6*Inx%R$(MY)VqsB7d{l4 +8GeOg>PVpeNd_8^3^WeLw3uV7&RZa(kP63e? +`*&1TseZw_0NV)(sZ<=I{R%Z+1Pzq1!$o;)2=qI|iC-+ft_m_Ig>z-i!R*4JFLW{{37s_C(uM*64%JnJmg*8y8offMmZxi +IDj!u|nZ*XFRh5t9+G;dj9?E2@X9cr3p8V@wC`SVBGrEb +Mkp>-F3Zxls~hGwxV~pWXP>1IcAc2)VAhM-qMUWJKWxoKesf;%wqbP7XfjW4)+zpK>;;UxLS=6ZaoWa +E}z<^W`NowX3Gyl>%knbnbPC)kMm;vvkob*e^$-Sc6haTup+4syg{J%9Y3pbs5@DDk5r+4{b<2}q!?o#{(DYaq$1Qa9DBCgOV99O-6 +t+Etu2wg8&P7M7gNH70v}#T{T2(5cZIHv+oN~1K#iK4x4kOuswp)n8M7P~U&)r1H-9+KtNXb|X-K-8C +y2#C{yxefJdV~Cx5T1`6Og&p;ze_!vV*gEUR``tE8~btUlR2isbHn+hn-xV!ME@78i*rB-uO7tMO92> +Tx06p4KB7<5!8dfDDEc%%6CIPVWwBWX+AD^mWd_GH=J +KDgg)ex?I91VRs?gdmc}eJ64Aekx-0f;K3RWz?Ag?FLF@^5-fEe9y)?PuVG}x6Ma@RuhE(1)05jJ?5H +od%=MX|e*D4)iDMG9gn#%BgztA)f@81`iuE)EiJ6g@%AT(Wp_Z33ZWL)gtjr?#K^=&wWBg`Z0Ipkrj* +N{23HH3UuDNa?xIPSv4Z)|)8R(GLZEczPl!qag>Areb~5EuvrSp}W3_K;J}ilj5vE70-c5^}}@)+sE< +V0h(1=ta=B8x9q;hPGVL58ms1AM=r46*gD*tNIx?jN(7!hJKc^20y9Pt6&C7Y5NWDDjm>{Z6D+WjQ=S +#4I~|`bWej$a)0Qg_??H13dP<^`btd&Z58Uhxu{ua!q#E^LQ1FPWP6iyP4=>KgKi`jUL2XmsnO&?`@#QLBxfLC>f=6-1`cwCw==A4KFqtS;ez2^)igL#H4@k`#55{K=K@H5mOwDaaL+1i>M+kL%tfA6gl?E;Rl@LKF!@R2y{r~7)l>{0eI<|QXc~{wcJ4Szq&Q-}48e?jRbJcM6NcvV0*BQQ5L;1q+t)eM4E +S=FO8I1(gP{%54w(eN<^p%EVmChO|$0{U*?pWnMLta(MF{MyuWj77?yUDBS?S_(K(XWvNQ0dxYDt5)^ +-&70fH+=e?IBlWiey$9*M7tPv5gt*Ai;GQLnHffrgh))_i!R#uyg*{OQlN1H6;kM$lEX=b=}X+ +c?u`lz64ls7t6;?Y@X=@&S}Y)S;5kQ6smj-PMW9;IB3#koN58AbtzcR$G?cA?hny>F4YS%t-v0c000Q*@AjGg +(#zZRu!>I?tKYV8>qVzn+B#JptxKeSqZy+3KS245JA-2RVEw}na5Z8n&0!d|r9JZhB9JOCxQc{5mVm6 +Cwwn>{!m(#Idbx}yDd^qcIr;h`+Re#*Y=YaT*uy?FN?uNQ2vqFA_%5Dm<@g%wp);d2F +ntnmiEGjMMlmqBcSVB33Z5wn8D;dn>5Ic6GJFNK_faTyam}^er#5QSkQ(WjCju`RAn;+-}OZ?}OrXGmxZ^YG9XZw +v`-@g=V}JaLn_3`1ME218rCH9WM%0Sav~f3-Bya&9oRMeM(a1hx3dkf0Wi@p@2$#P!m+T6wd1mNW{Kh +QXi~vF{n-Ea>Y@{c9?mMeLSjAd9kOAdAvuAd6YaKo&*GKo(Pzfh@*RAPaJ1Rmpw%)?^@yqlT|B`#p@} +%2-#1(QGiDt|RUHwWRTcapo|#97eKe7H@|?9*mICXBf%i(9lR0#MLU1*a#sIJ}?-_;=o`ai%`3uJT^R +(#U~eqvS{Z9DR+ST=1>;oYmQ<#?KLvCqNz|8)b;Ahe%P<-g2EUq +fJB$UMgBb3F7q`AOQ%MhBnF_uMhGL{809zeUT@Zwk&ph04}cMpkU;Y(E(dXarFQ +Mc4KkfnBUAPY+>kcFj{gc?=5cW59B#GjSoBHcoJ2EAB6Q5PmuZ-49q-1Hm;(&IkKKO}U)&Ca$>yb-FP +t?`^5ydwOPZeH#EBl^T5YA~;!@B4<}6^UWND=db26-@@OSeOc4L7koqUUA3>TtUqr7P!Jc)V$iB3|#T +&q^a`)dBMz!i)2@#>F_8^Gptlgz;RGXv?O2d;RypIE%n`+IUgm3IrVzxFU?xP|S~}RVXP>g%G|Ej%{(G{@~K-gJ#x3GP4$fnKjn<2Bb}zS_EYz|DOqFp$ +9bhXTdCxAiB*}IPsfovKS(W +FOFpq%l`+lEU0>VEQ>pS_kSmrh2Ad8xW}-tE{$bD4Z4J6XI{EAmIX>9GO_T1y`tiDM`@KRshKK`3eZL +zJxWN|MO%Q4j>aB5i#jOk3!u7FNQ?|2WIFqe>h47WEW!#}UE!O!->WX}_lk@A3;emZy0~rd_cZ){0)H +RCx0G+aT4e{`%y2|v=_Wc?$VuZ_`>#`K_T;BQcfgrF_63JA!ttkj0OFT}5dA++LSP76KdAxEPuJx!c@ +U-pU}(wK_$AOQR6Q7@3r*zjsLT1H4~4zfnHT+bW?S5>woweSi+($^#e6gVa%MaJa%P+Oy0G`Cu(!GBQ +2Yk3552AfCOdkT_LUiqKhi|j`=b7Xbb5UTef?YGb~!SDUj}~(wEE(o0u@4djKHAHZ(dBb%A9I>6YV79 +uYi7f5EDuy`?_5A$ROxPPtjIk4OmD2TYe^V#_*pBrC-+_{KaH9|8Al@^&5%knv5~5@eFalnvVX!9<>z +r>hXsRJzlT&5uTuriVK2f5Bte6-KDf25{fk`;R$Nm^#}t(@2W5ueIE9!GF>;@kVjGcol$9z@!NZJ(7U +9nU+mGOezs=|po+&;4Jv@YBj9(SRW}|@w(T71@rhE=wAjZ=a2SQfvgGeOec=sS7yFt07@d--R3_1n4I +G!~u_f~!E6?uwF!SYN_t%*6l@ICPo9R4o +P0UgnpTiVTS3a`)Km$dp6{?V&2x8mDN$N&(EHjqHiOAG5m)r#L3U|;&^Qx&+dWBG}hXB`*5?qQc1^{mu1! +=Y@l+Db13NQRq_VAMJiNXxupeZ|1nO?E4>VFIi*wamQl*No-s*j>?8WMWef%ynDn&E2+*DMxA(ELhjm +X>p=l;gMoaI2v8y)wOY9)3BDU~;JeBHft^2yMnVy>0TJ@iErWw-1hmMh`Ig7*Te41p#Uw3gtT(OgsVA +6fWU?6$b>N}OCcY=Z}pX0&Qh16hSrMl@3c~uDyleMk!9OB>jSCvyYttx$t<04XK>;J{xy8uL0ZU5tYV +1QB4!PG+292FJA6vG#eWYcIuuRb+7u +4TNmAvqAJvP?4EPq5_OOIjy*Q+AyI!;-`C*%hN!JR%6kRgJ4L;U_W*jwjuE~jGgrqyn(17b=?(yaQ}8 +l(-Yn%FCsnV3pVWh7B{c=f(-d&alGw5|R&EG);D~pH&0m8#k^KkJ3fdnK>@w3Cg*IHqZSTt|q_`terF +e=^f(9@H4M3A39s5u;0G#R@mr6}_Qcv~R(nOlt`ksaEj=fwYAYE4m#+C&84{VM7k)d>^6rr*&WB*MX) +YD~CTuDJG5tXUV0M}2h>4AH&7YBEH+1g=|&8*WpyO203xuvfim(-XWU+JsAuW|yma*pKzBT2Ag(lJG=h`_t{DAZ-vJ}MYw$+jbt<4!{P&-s0ZOz={c)lF@ +zbT34;RBQ)X?8AJrpaHxhlfotML=03B>6G8jzXFvov+ruJzfdz>JA +AFm0`Gj5Y7@V*x@72?Yo%n$yg*M`@1m}olRMRB-v647C*zW7JH@c=bVh2=8O2vvgsXcBbFyl~56y-Xu +C;=O)&hw)2u7;}beJZqiW0iGevZUWHF2XaOwGC3D`(8>*MFRUSstLqx!aWL3ai>B=rQ28DW$lH!Dq4? +3oHKqY-%yhk8KH>Qa7DC++iTNYQ9)4lo|+m~oqDLjl$?^9>NMBM-P&&3=wzwneQ_y9BfZ_2nu=bH+v_ +M4dNp*YjZ*v7@;##|iby8zY^T`Odu4g*>!zS+wjDodtsb8himy^%k3*=qD~D2UG{9P_!_pv_HYIJxr0 ++~`y+tC08~4~cmQ~x@)gRo1D;3<9RFom_W&m#X#t3@@@75Ez)yl`PVFrtLaV2lJu7ZZT2y<;jt+C!7u +zfP6><%hBYY%ko?$~)EV^zn4I@CIa%JKS7oFkBn*M9y}!-;XunS)AFUA4|R$I9nia?WYkW8NCf2fnDv*LgY4JTn}e7sfZ<5)F`Kp|iI=#{L5}0TVb!? +itP*<#N^CK4w$M16K}vcO8)+S#xD@`Ry7%g?3Jj=fz7$*Z>fF~8ZX{rkETd#k$y&!vZeQp0I+wX?ZqU +rID%&W68wq+51UV#={i(?5b)wmxa^JAWjEf1h`E`sa}M>SL2pvRtl!QzuNta1O#PvLNx`N2mIWx6MbH%SnpH_qJEdKfREKL097(6N&kCj1 +zU@}jZZX)}$^JTbhb=+20Qn_IiYGztc%M5lj_V^GdP019aNZ!j`UFO^!5GaxOI8=FnJ3E`S5(Lulh~7 +7yGK^GWtS?<`>9EtqE>|gDmA?0lv*Ll2At`w?6=pr*B(Yyrm^*3WvRo6SwyE;6!-Foqg*4~`jm4?-B@ +aT0!McA0yApoHCb99a$G&mXpjBXG;mP==f}mV{^QD3KBXV(xvK@0$5U+Vjv<_?(b;ClcrG6r0IM +N_UF5D1 +rKJuHEiP5E&*>BiwzNB#nQy29*Zd(yt(4O3U+*$KT3@;jt7pCy<`XE#!3UI5)0Zw08)$uOxx^RxGAvcBT5;m^TRWJ22 +B;Q?I}`*z5F2QG^mpZmFGO1X-Dx-`F6TZ~&0SxLlY=q_QL-#*N4LV`5O<;JFztY#ea*)Wtr^bewc~{nCJS=a#e@zNv?>E64d7Qmv^w +@n91D~)wjX;Rq+=jDu}NyyUMd7Rui&DcXQIElCO)yb!~;fzWt!8nxM+B14_OrZvS4%ii@mVXYV7V`Sp +m^%I%uk5}l!$Bv~mW$udu~Rb@%8FGLBkPJc)k>`v$1AgV~Bc=n@f9~JGk^?XP&jFd{(;M>ebEVGPsed +tAnkRVQNCmOxfO#g**apYfmMhzSkXFST&@*?uDC$sd22h@44v<1#tYW=;~kZu#!sx07{s;MZ!HMEl)av6PQL49Bb6jecAU~RUGUNn@o +uu`HW#NwqC$r)8#kFrH;S@>Ubbn3*G=MfGubCu_~^t}A5%z`)VrQ~0*!jnm)D&z@}()_zOaaoR^iUHN +L%z+b+NV>%>ycIXyy|F?AN7RKhNiMG5y?=Aco+*}e^ts!BwnD9P5lTd5rc1o9TCN2S_8`}kK-bj3$SFFzpCGL|Wy)K%H_L7&IBuHLd_ +?b2pAv{|cZ(yM)@=Tk78OA*s^Q66KIy-&Ep$%RMm9V-vNU6uy3aL0Xn=ChiQthd +YFCEyN!n%Cxct{7M%9(;T%DAogPo`dqv}$VrG$6I54kyOP+J>)kN%z^b4Wcul~L&R}~tRXfI +XZdRxdEjiU+*Q76d`_S52Go{G&OUWQBaCckuPrSCyUEsxmgsG`BPMzhK$xuP2>=FO!iY$4Cmn3UPNKn +*Lm`M5u*h~~&8tg5;q`jW?X(PL{=Y@X$M`KB0}Mt6&x6J!e-eFL=F>S);Jhs$tv5tW!OD2wb>MPiXXa +z1y<+FF^qAX*R1RxnG|%VA>yORIn+PxoJtiuB{jDl +FVxCMyviymG&RDcAft$4HH@CCA?aI!7s^aunkA&1SYEHW4Sm$Y`_yx2-pFA2%P1tA$f**C%qZzxP4nF +JWn=IW=S@XBQqwBf4f%clMz72> +i(r9G4?1-C*4MtoF%#&rY|lFV9Hb$uqe?{)2l>3hgMk?ga{1;=~-~LU9}XdD} +^9oTK}EzA!{cigWvh3NxMm5pj`~xtwuL503XREW4yHML0|k#p*7FQkc?AI2LPdW6V|?~bE&jc5>GDC7X5#y=6CDP%=?Vp?8CqmMx@vjL +7TF!`Rvdp604_w!LCh7ar<+-L7e<=NJ{}_-LOVQ6r@Q8yO?y=N!QuMTG-4A%L(+^NsSR7NN+Bd< +(SIQIxzHi1<-{MO6?XYDd{#1(vqc)WSODDXfaTRtoEld=yrQD6AI6XKTfjs;Jal;EN@Ft#p1d^v3I?Gr|m%YJ?dieJ#wc(r3a9mJY +!jDZM9N4bo0whKOq9OG2fWg*jMyPMG1+lfoP>JuJ+g(w~JnT3RE_vC`_rz|h2(n53n`DOM^FW}LK8n2 +A!lFq5S;VNR1K3v-4vQJAx(al)J@jS^<2G*p<`(m-M6Nxg+xC|xH^o1_=!GATfqcS<}@M&UIqI7w&dj +lYHuDbjbs3a!`D=fb)c)`P-|&ok1y!iv4K(woBiAgq5E)<CgW15upWc8m#{+0NY@A}zDG#`!ivF_)VK)NQ-Xe +B6{t8=zfq~!XpUQ5@GEMt6f-wVa* +j*Yzvgqh1CG-G+_;aHC|XlVZB9I2g4d6tl_YR3hQuKdkHHp{Fbf}*0Hb#2&)O!##~rqVLc?q3+k|yCtS<=bJXkl1M1tow)9qxN>GC)F2_4k|$$Sj^c$;}QjegSeAy+|=y#{ +$GFx_uGy0V%E(yYANuqH?sY3ne9GQC0cm{=_e7&QG=I<5pY>iKQC~VrP(Lb*Zai5_wqA>%x)981Nzwp +|v(Qnd*6#eL`a_lmwJHcJkb*X9i4kat^=_1{|MqS|e!Y&p#BIJwgwdFqUZ(Kix)vnQ%2l|^z#TE8vDN +5(vK1`ajrs+WRZuutl=I5ccxV*A{rx=2db@`0Z*oP2O1IA=%?ETxHu=T2vg2qJq*t?Ts=P?<+_8=OCJ +9cW@pRj-AqETh_`s*tX9d}e}s_S=(8F26#AEK3#`JM=*NXP1TV%6TZIm?Ar3-b7oTz4b=cPagM992H< +arwOLNohel^PnGgiMx(9*T +4#>erEuj9PVI_T_EJmfF6uVWj)oA7khXsv;c$}pAi6E1p-=Q`B+Xqjy*mI^|U9{dN~YLIuP8Wfp58Y8sC%gF~NRY$)w54IvtrhGPPuCo7a +t8Mvv0(W`b7<_P*&=HxqmbYp=Qx@6GGM+pSsMwa|BUb@Ix^g`f&l1=X2~30#&`xw`BZu_!zIE}DQo^( +2WU(=r-cUMqCSA9T}n#^kliCVer8dZ#1`Tb&*LmPuJX*c5JzW=(2Shtu1p(fApQACu9eMHPeTj*0D}S +!!gm)~0uzS#&PYm!xTBpmDeL)S`WXzDc^d#;PJec>7?jiH{g-RQ0Yxo$^88T3+VSPk2NeQR+~9tF4=> +I@bpuH2ccu0BmHp$4E0b;u8@C#PLl`rO^Rz2Z|f<tA?a;5J0yQwpE%n +!(!o;Cj`qEFt1njsyAlFwK{tV +}l<`d|czIqWV?y*(EaY1KmPZZhw92d0q>s^!QIg>tiPMk;X_FG(&Go48X_e{*hm=Z37T^&tSoX(_Uu8 +y%}@fEL;Nyk=ncO@O80(GU$cE)zraq}_v7t*zli$lX+E8<9_H(#2W!lxgf>F!R2=~{8bvEl?&F*B(UY +96YEUvsoNyUZ$1{x0)D=fup2N@-N7s<9bN5ZA2MHzhW`imi6*#VsI;LTXtZH56Po(iE!Jcvim}dz4(4 +!Y))y)H)ipR(pzc|3Gp%Lhmz;M~dQJ7s_vs6#2NSeXEVtR(&$|Cro}`(dT__MNAO6-XdHh6<6EPD(;h +9G5mFfYenYNHll>a_)newj@{Z+{^=%xj9Dk{q)_%WC-3G0z}wtT>i#Ue`IDHdVFR67SjBZWMVCsIgqBSl* +*{bWGyw0sAMW_;yTH`BKy^LLOHb9A%Z)3FnV@H3AO%P+KHQKu$Cb7unEoi$^4V-2jQ^^iSSSHUMk+Fd +ET?d`waDc(>$`_h(UI;oFd$2qbcCWl_bg4ZLG3QjO>W8wsFa*bXZ*t&_`azZG&mb8!GlscCSb}HYFEJ +R8w*_$^0;`bvtKn(Ae9pN(y4kz}yiVfs4^B*#;%c3kv+8(|ihXH_lLe^s<1}kSFg#Adbc@b6E7jx%@9&pJX}4Fq=P(k|x{hh^p_y4&l3xQ`? +>fN%;Ij1G^t1Dk-_06hT^2(loStP8~Cf1B0?6$dBwnk<*1DNbz09dn{@6AhThS7)yR3?^w=q`nV5zVd +dlg*tHY4>ITyQ^Nfs4Ck2^-gp9kd>rB{B`fY*!Sx#kdtj&M2&G%Nj8=FbR0%{r8mn|17kVq)Vl@yqpo +aKy7xHO{%*M3nZ(hJ2NN@_5TX}a%k*$s~KJ}Uzq=Y8#6H`We;7!ZcDqx>S>UhEOCyK@zNn4Wvb?H%xW +?b>YEfvM!0%ham^2cJ=HvzQy{hsy$Orc^0nv#bucm*dj$CGV$7{qQd +Rw6aMFDr!{vdL?#csh>hOtVEObcYh=8Yv#UOc6aS@zo*cOU1Y}hmo!~(7*wQ}?(<6B9j*U+Qc!A|>rC +Vvovj0?sOl>&%L49_j>~%(iEX+Xzbpz0JDZxze7{PO+HDgHKscVOs@Ht|L=P&ipl;3YOqZ`>qn@#B_( +_~*7%hIo={IskkXV`gn?H7<+Ivg-l~4jI{k+0c_Lv)?e{}gP+5%mdQYw1NCw6@u-}kQi-hWNv=n$WM2 +hTen3!ya2E5^}p$$1}}U&(omeIPMi{UPiI>?OUlLOut4e^c`AY|d+XQQGHXM{5l>JuXVXH5p60iZ3Cl +(wdX<#TBIwK_`Xpx!3@0iN16#t`zI^Foq?05&I(Jx>l4KD4_nns$`chA0FU3!@CW~mactJdp?gs8_(D +RM+?;SrO7@*;Tm}1F;OHUGWD}%gHb5vApKqa{BUl?bP|dc5UI3MU$&5B+H*K9_YUaC89L^bCbrcyCA!;O*Rff`FNuf< +snM@}5o?BJNS}+;Yp_#itj4At>tpYu-xd+E&vA)Lx(cf31TsF(t)S0Yft;0qQ@L=H-s(*aC(9@bNnaL +^d_xgBRDJB7cru36xo0*}!G4`4%c@JNxLe)ai_gq9B47dx%#B8MrTrXTL=c-vrwMMvAhY5jTgmyeE-_`W@pzfnD`=B|}a +X4N36v~5emoW#+BHOt@K1RQ-i|?1dAIkVU2>%|Mt-wFGzpzKx=Qf}*mRg&yND+gW`!o0{juaISQ{Y5bQwrezk>wP~2X`N)E+9YQS2{dbE#JSY +e?CBkGHn-MI4YHyF$%a)4JwwT^s^nBf^`mH+M~q+UOCL~Lk)WN(*qvNaIs%bfD*#)d?^Xmfep&p!J5c +U{WY#8^*)Bn7m_qbuwKzK9Yv4G-1u>y{ly5}{K76z%*=}-~I-ZIZOf2FyPv0T>5N6MFyd%QcZp!tW8! +4Kgy{oissps4Oj-}9;=pLsu&+4T()G|z^1;X4!^F4uM$><*96G@1)RK)Lz_{B?QWe$4@0hd4|Of-sF@ +(rzXrM)TQPLH7MpsqBszH6zMa*7x^t`xfTipnW^D#0{OSf|dvI^`5)S#2q&$ZzmcPVvkVPs)E^(x!3> +{Zdsq#Ro`MD3SzCFE8=X)J2-T#G96l&1tztifYQ~&lyC+(Kc!D7c_jBB2`(uXz(W*hNVccaHC1;=rdw +BXa}Y0i5RWJa)OD8V0Y +tQli%l9dGQ2b(n&e^O~_|G;}BmSegYQ)`bt44g@OEu!-UaArAy$aQc1;45qF-cL4XjW7sMk%T +hM<}WhZ&Fkv_E%IR_7ZA3gmx>(Q$q1mg-~uJD@T0p3o+DfT{+^#3(%P4r5y1uEtMmFjzjftc_~NSCbT +q6{}ttkTU6zU;6yLwh$;U)$`LPIg>uAws`ibZUdj<)QIsP}zf(CPZqV~6N8EhzYLz1{zf3veSXsx$h^ +tbLI9$urs;>!csU7jh&#(=+v#K3&q|ndOSJjTlRV^E@Fj+g|GHBVjQE1utwxxDNS;qZ}W<<+pLS;^A! +mn#aR14_pH6wljy&IQY6B}Gf(2Q8#64 +NHlh_`P-)=2Ae&4`a)Y^fPBW>Z_55d~3~m0E0Fi&Aq46^cS_2P~3r943vz?Q+eCdbzHZ +cJ$HfF(d*R#DgL5W9u0#81tN){ff_m{{5eG%X=GNigg~6N@5n5NsvC%kTfuhV8w+vi@Mdy{=vTSuG7~ +_gdS#s%GBjVoq&H^-T~0Wz1cpZ2VK!O`YZjmpLdcl_nh0;2DI{0Y1~X$KF{wl&wyBTzg!fx)a1k;>Ic +Be5}y8hz*x}>|NB`4s7j`rRr?Ve-E^+YLPOVPK55moomUM{k@tkA27r{tjCp&_dTWTY## +f@Y}$q2LozAh`g_7jchEe?eMp>WsTeC}8LnDoUP!Zo#9>;;*EF|HmYz*(F}Lm6?AoSJ<=w+h^D*c2TK^}?nr3l_?!AO*_JCxgda(~nC72$^c6aWc(wbcXvKr`{nORUif3gWWhuI%hPFfOK@k2kQ1ji)(Y-o +#{ne5#5!%$O!`66|Hk*Xqi(pr#ef2x^hYiE;7P(z{Reej&F*qqyXC}Wy^V%zF0#L9fThPe!}r%!cQ`O +=HaKX!ig>}&VI1$Biks~PMQVT^lo2bIK;1r4~ny&b9|$>^>pow_`K=|ADhnEy&_(lU~h07_qF+#caM& +<|1xVvwd+Xz=Z@;2u)`6RQ(cE0-@s23onZf^%8fXblJ-`6!)-OwsdRGN^KN5_V>V&$i>g1OX$Lz^Z-b +0y?VXJmmUNW&ru#U9BP!j0l3#osI=+fyfV!lMWX$q>|Cu7b|D&vj;Fw14``Ub9J$} +(0h8EHIg(^K*t(o#~Tm;Nf&E~HwEy6s##X~A-hy!+fs@e9QoV7#!@AiZnBXCCBwJ>`mUWy&sfajR>&z +p|xXKJqGdxsT=YQFeq0M|YMKI3*=5HCI!S)OAXVb55Yx!yY6~pxL@c&I#0)i4RCgI^+Accbppc8*;;P +G~A&t!-*l|S$$~{7gy}wh0S;%<-5lODK)dyPfsl_AG=p@ao46@Ze7dHt?Y<$h +o_L95FR_y*TqXon$>Ph7jh{1B(A!KeNR(rJ2k*UGXg&DB6N_yc9!mKYgeYv-uanjDeLUY}~p)h0`RYl +S)i9MCU2XV>Mnll<>S3&X+sZef>_rM;MC;48OFI|^UP|LGWjGyK?9qH-cG=)*mab;jLP4xcRWtc!$Am +Ol@n&7`=3)0}e}jbGX|YnwjFh +bM~dRNcOkE5g_oSGZHF`5B{by_@~?#9>|o;|?p#qTO}He8FkaHHy@)*;5&BXnWT_bb79S~H6D>5!VCT +Fz#Y&x&vlAqjCgL0@SeolID+OB(?!(TS*^g}AJZ*jJ&QnB~+_qw +}q<|LppG^@sZHos!18Wy|NZ^^T-EE=`=THq6tqmzPIPu6^dtT4X +NA-lr*}+(4AQ14I(rJ%sA!aqP%EY;jBJ#woiJbFQ~y=PL?7cG{n|20F-lGYH)<#6YLzs?5WZF8RD2^UYr-xmjkalb`t>GpHYL!NRJUe&*V1X4UiKTrB{A1 +DJFU{s9HeMC_Km1CwR&ttD-N#YGU;L7{1{AdN-D0E)L<*W&M7Vhl76ViC4iDR*X*2r3QKk~aUUL<@Q3 +wKwb<`H+=+Ld+oG|@aYayA?e)Lt%Xbq##X1s9cVScZTj;`4a!FFm6B{bJ6^cdGM%y0x>>Z?Y>FOzd$A_F6z55;Gh2q=qq-={8r8G&;!{<0xF9Xz<#)6s1HDI#5 +c$`T|%NteV9&(y%`|Wg2ufvk=An5^5^3vn!O&`yl{)B5kd!6GFr3UTJDMGh_ghaEOW%Zf3Zb|Tue3!1 +W5-i456`^80+7e +g$io{_dYdV*Fv#R7hO?hYcz~-*2OWyNwOC=fFVt2=2W9F`m;*L{E&6iCMc@^Zj +xhelm54Obm227K*vlY&8KvpTf~(+DUVO|zLT=MG;yx?os{C>U`>=pxs~$9xt?1ozuuy;U55(>aVI6VC +APSe5?2pGl}fIU() +2lZyk*zc6jB#rJ#%EgXRqLcp(H&b>?!H$6`(tCAHEJD*^%6E<~%NgwMg|G09$j)^^IL&F4_McSq#TAt +uJjLb?a8(O60rFK|KGLyb3{lfuyTzbVUxw3Du0xKmi>rPJuvy&x6_3ax%L0FbNi?!7NTrcw!CZ_i0|+ +K#u$hLzW;!_)WYJ)=AfE=C1xskKS+KH@JQiXAT7UuQQVc+g3oFFgk%}GoO|Wk&+h>a>@_)e9R@ZswR~ +%5WB&eb|D8YW(@wMI-;;O<`RUKW|IyI9d`9jm>6%bpD{OmPW78u9tk@b_TCiNP +Bp-_<=2S-RZ_Dg;_PQ<*5H$&wB{4h>FRQ?mDZAV<~hG7s8gotc&;Y98)K$iUulI|lq%V7U#aT15}S3p +Nt^gyIXIf$({`K6{w4^L5tVYm)CP}WVr&Eifs<>0&6zn}0m-uRhNfM=;^=u|NKl8pIK6FehpWlzz +up%C+A-I_!kzg*t5`uLE&k?*$@DYJTpuJARdJqgI +7)y{$Fpr>+poCx@!P5lW2`2Q^u;BzD1nmiegUL=1P7p^hkHAW>j^G7?N`iv~#|i2PbloW|!FYlh1epX +@f|UgK6a0<>$U=6{a37#bQ8$l((QGz;x_Sb8efnW?l0>M +0jI|#}N9wd00;5CB11jh&(2&Uo$6+N{?^HGAv>ok{@v$L;>eKo_xQns7eV@FLa{Xvt*ukt$+8`IBpSs +eB8>GWq0=A@u+hhu5BX`v$ +h0H>7@eW0k6Sk0`h}`ickUdYy7xsJ#C+A&A;d96jIA)N20rYB6Sy(77D}{uc8ZU$5HMz+6syM26sraZ +ksCldT%K0q!*>W7l`_^%(vPzta6x)d|{=0kUr8ynn(-jAPtJQ9 +BCjv;vx=9$*|e2nHeID3Dz88o0e_27AbCNmdt#M@-odX+mZ_Mg+q#6F*9t4i+Bi+a0ml`b}O~2sl+{I +YH<b(+pV)|}7L&U{v{tJKXApFBWbGBcPNepfLVw<2WZx8$N|V^cR(#MVClgObi +x92(PbK*lPNf|oTyCN;(S(gGJ0L?0Lb4cytefUG(7KmKoS4e+(o)~h +9L&zsyP${Rnm|Tm*J3=m^bYP-MPC +buInOe1`WS_-eCE7BdVZXvxm)Ez&tGr_jx;@?bT3 +N^l6)aZPr6t7eYCg9yWdie|3P;Irs5!M3FUNlvi@aie7f@~%1!K8A7byOaf=dK9ww`WtJ_0s{V$@|*WQ)o +(t;u@tbVmJ3I*S!4mm^x7Riv8fkpYW-HT~biFU@nx6y=?vq^_ph)DBUm1%e+!g&fTmeU3qlcrDGi;qv +wv?o~fmj~_zFJcv45EZ%L+@C)~Bz)t--{PbB1ATsSkeh1voqWqP3#)Dli3CCWI`3~6BkUZJDJI3_8{~4FD7<9n +T2Fxx3z)H8{mH4#Cnq%OeRJ*FE*H1A2KV?nTY==9WpU?EG6>}ZW-PW>1UgBhpT +8mf9FWbEudxfhz}zG(z+3d3j{@$G?Wkl==EIf1e<&*=+X1Ga{VQK|sUkb;D*u`|;9vdwHTv<_mHxcny#214WQFeL?^jE26WuLc#0?m%W +Yua%Y1v(Ompj+E)>f>$XZ?mh-+SL*?tkFHhaP_9(Z~M!_!AqS+_d?rr=QvK>~qh*@LzxX`-?BV{K~6a +U)%Qj8*je#_B-2mR95Y*-u3S8J$v`P_x}D5K0I*n&_{LYu9{KF(=f}SI@~h)tfAj5$liz(W)%@T +-_0Jzq*Pi+5Y~9c2>Ko4ga-s3!CH^ljOtii5a8(Nv|I_sUPv`${Ul?lJ|9?gKLzi&}MI!bhyH>H^?`6 +kLJnFb%otOO{FZ+5g`vx!jpS|q&df9P1k80oQWrrf4c5-@Rm%>Dgx@MM^lb>0zG{u%-%PGi*`}879;KIX8l1s{IR24dKbaGk=jk9PlmYfXTdxp@G@)C;0XgHRgovqUaEGsNr +T3Fa@9EL9klL+u_0XqjLC^MWq)_mPhUZcn(A9;S8EqpP4>`&uddCWQ?!6q3hKy^C6EwqIZah(xZQ5CF3-td*p`2h#b)#JW{ +Wcx;kC$?NfhVg6S+Bp6g5DTe}UcBS^(yq29;eKVem|EW!AnxnVs5%n><%oAl8_Qn7l%&&d3H*P36)1K +&965#Mhw(1^G5>L7pKyBR@0GV!e#Mrn*{au~Aj!*bEB_GA)LJEJLBXjyy!n)#YzBLq(oeGUtn&hbl8v +JmzJE)KKKqSOa799YQz?N)x>kii2~+W3-T9R@@<}sn&oA&F3!o%5Cuc^NU?6Z-Ckg$`XNqlo>Xf{kG- +tjq>D8uE6v$vlm9fYtF=D`ltBCAU}aw3>y@w1_JA_BYszfY$VB6K +)!PdAbAp4K!pZ*n?A=rQ8Z01N#gl+Vb)WmLgHaZi&w2aoR42R`|@i(2mM2GK5-|ki^N!GFTQD+LjNxa +z68kr4**gz;~Psssfc^MIkJlgn@y)3`7fBW()<1zT@w#)7FXH4wJXWI5pe#^wBz17^mWjRH?bLDz_b +NiL?f9Aa_`hqs{O8>rnO5HWypZf3C(A*Ou{l=CipCOYSiz6UD=4xkiQQ_RI?0?!e +RXDD9%C*BG^f(AV~Hq;6dJ6gF|#JcW~KjliakbzpsJoPs+pz4C8k9u$BXC(eBvw_g<{JJdtcb)?I}Mp +b3P3PV`$cqvmhfcg-{VS8tI#8$yj2!%sodg4=dF(D5P8tYp3VSGl)#{vIUkxgd_ZH*bej*=xp2DH@+y +=GT**%p~aePwG>fdupbB?j5w1Ea)1|m54(cA-Yd20h`EVFDg}qjrKvi8>l2?(sAuHm+|iPV=={u-!kq +k=0z2h*SBusW%?^vwY2GFn3)W7xY{ZR@NoH&m%5}0i3HJ6>E~$ihrf3J$HrTt`X`cN=dtmqMGun$c&km&BcoUTz+|+7hZlanhLTz~Q? +z>*)HZ2?T>3Ev;nSGQskLb)yt0>?8erZ&Kg6UX6lLU|pkR75L%Cp!mW0jY+DR~x4A-l;pF(!!$RPYR8 +QRzFCauSKLETjgjTD>eo1N6;JlQKCT37?}vI<(@!x?CKvKK1HIfla1Y@NDnxqv2nhM1sTLq^Q{@8Wq%}iW~xQ5#D`_BljQ +={_zPa|Lr=e`U$}2U)nu94#8c +UIVGAC!rwUFS`w8{l6X*40X0ctypg~+w9V3*cwKC-`|&F9~a+JDQ__Qy=wzwM80|Fd}ik^p}di=P!%ht5AM3`GBeAT9-n+$CvyXul`niO;ERf +dmN%-1OVfhSKq*@K;YQhIV$+v%^|C~Q-x1DSGk?ok6vKbm{==F7t$KJw-9^NbB!DaXY66=Z(g&n6a2U +?LbxFq&XEK{!Dufq@{HAdr9&G}M{cDFTV$1i^8FV+2PCJ|;Lwu%BQr!7hSIg0~4?CD=mn1i^z!`1J(k +1SJGEf;@tG1k(tT2@(lR1cM0-1nsm<vlF%x<^K6KpkL?hlQ +{YLV~Lt%>L^yT-wdJ%sA{sX&ZhkB9zSIA#}r~Em09l%FbxBmGz7i`0R(!2-W+@$r11K$@%ixK! +&y>N5=%)*VRzhdM>8H@zkWS??z!jKtFOK)c>I%3K4B+Mp7ii}A(m}kq;~t_wgA+`p9=rPU(4FTig%pe +k+rCR6;l;u?clt4hdZ4(VNvmqKc~M&mg2vjoW=QttQGrCPM@uv^HqRd0n{)73h3o>LK&GvIbC_hsek|eEG#UHg@= +c;sHi9w9UaZ$d$5r0zUNkUaML0dx}CGZJ2@M+o3nAdI2-XEXJbF)Z +1xA7#eB@!tw%YV@)c)A1k=CaY}WUjEjZ5E{8OB*TD6Kfoldr4!v^-i0}rr=9(ss9`skzVi6@?5Pd)XN +sNWY~e35P4x>d-sx8Hu79j<_WqefM3qZ{I%l!3Q6(Lx&Erk3asH9X)!KeeuN??DWYa?C?* +Vef{;-eP45j`enK6H28Xa}o?TK$XP-E{z4cNf1VNrY-o5iQF<@| +Q`Am6~Y@|W1h{E#Y7SyzhRm*R(0{3wc_NbzS<{Dl;M8Sl*2Q2a+J{@*BmCB^@U;-Bz}KY-$!DE@5}-$ +wD*QT%5q{!WU2h~gii_+L`|Zz+Ba#Xn8)&w0fkI)M5&nnD%QG=9B}`tfx%w||!U+iGfrA9ZH@$S}sgn +8Nsp+Zq311LL(XF@DY~epia$m*Ud^X8kP`KZ)W~TD3V8e>ufpL-8M@_)`U+alKm{P +cvQplkc?xqx;q7-&f3SUzSwVgTpX&7g9Q#da(2`j00|Y;1biAOx5= +(V+MzB*mB$#!>R-nCNliqtgc?K>z-I`zZeLNv7z8=$P0TiVwVo3=RvsCA|sBgro%ZnQ(pZb?HNf$SH* +M?PKUS5%DSggoOBU3F*DMbPpzf3J|IU7?4i!$3-J@OhWqgUAlCa{RNI8eGP*X|AxRJ+a +!|{k@K28&W&#QcltzyU6S{QiLIFJf=_CEqO+(F;!6fp(VZsD~LQju>jNVT_x>LA0AvTFhc|vbNM6U@7 +dyE?s9euN}-YBkZy#+yfsY2odaJ{3)T^q +3ajETQ?6)WVzd%Hjrn$++V*kf{7)#&gB3K&xZ95;m^Ic<##M6m>i|b?Q_x9$9Ib=ox!Fv+NdDo?~VYT +4UI&tIh1ihgY&ududETaxU&u&QiaT#|+EJy#N0D*&~lU!XA6laW*x12h8K?YbobvzbIHiXo1A6r6AwGe17pti~g8L60Iux3wdl +-832=3A6#@<1lI^95g*1d0N|NaB}5A7VJAJmcFd-Ulya3F>49MpSg*w8T6v+s?eLwmI!+L;1$>e%syo +_+d<4(-rB^ajPjUtZPX8^gjv!ovE53Ho}{gKx2 +Y`p94WiuH_*#Uh@s0&Ok&YrMiBJT_ePme+@f?b$pL#BfD9dliqmHN@Ww{FGe(JD%V3$piReD@M28y?d +ij0XR-Mpk2FmBw2(`Vk#-2f`lZ6*v_Gr_#gH7D(MDZWq6b;x<|0T;qk{GPosY4t<$GZfA`~$KYmYr&o +}@4=RZ%9`BhzA-D#Sao;Y^w*h_o%>~U!{ny|5B#|~9!3Rcp=))th*Zz(_2H9F>N1`HU`k4%(Rr>l$`J +ZsjhaUyJMA=&w~( +RmJ1SkB?w-Jz*=)bxhuB16)wA?G=Ds-CBe#JiQQh@#4i14Gj&rKz{IVz`r|{_W^2y!;!|QQKJR`Kf+7 +k|K5A=@i*RhgA;!I_19k)c%M9Zl7IKzcl_YNgZ$8;Ln0jF&=>*kCn(P2FTM2Aif!Art)L;B+2L?ZE-W +mJUAJysGL5T&8@3sRU3cAe5l*M`wwrIh8D$q78yg#nbbl-UXV0GHG?v-WuV23rREFz*_~8d$Sy|~R=K +}{0@XtQ`OyEiNBXEcP`0?ZX^UpsQ@1RKq8uJK~c&_funKKQ6c%A;XnQK)7gLg;~#H)`|Y=1Q +C{Z}j_ACX+S>@iVIAWBR{Uu^g}gif{8a!ADxgkO0RAc+s$GSaw5UKhdw}ZP1K#d{--Ca3b@f`R$G*f9 +rJ!Nw&Yc2(@W;`kM@1cc{q@)49XO&*P#YHJ;lqaoplzT&V4~j8b`aj#D=z_i#GDVQ#DczJC^L_}ZWg;LN!^>7(2zy*8+99yFU<&H8(9f5Da|B$;hXA=lbCj4* +xT&7|C$DH3nxQ-zjMiAc=9+C0SIm~&;+j5(@TKuWc;Hvxw|5Ja&0WIr9<#UuP>H>TP-cad48wa0(@6j +$)6YT;|%GaDvA{r8i|0jGZ(-3u#^T-cm8p5e94Bp9k=#JlxKgr?^{rmSHLG`c>?F_P|H9ElSZSfb%AO +7eU5D#+3`$;`PZ4@+o!FfEu^FFyfLnaN_F1P2K-j>@mN!!;OmxjsI-9B!AD>1f0aM8bS&RwkK%tVx<$}{XHE_0GZh+=zv4WRaEklPt387Tr9BUUOd^@ +upJY-WqM`TevTUViRcrY7?c3MG|J28$pTDd=(0kv~T?JVi8Yw8{7vo#uR=n`n?YPdh2MXUL?4&zssaXi(cTXi(cTWK!r`BANP@_ +@kYnf1z=f2S9@gE$L{jji|KX*;X9MU%qn;|Jxl#{_HZMVM!GKx%LPC=`S)3=|sbvQqG1cs@b*ImyzX?(RSBCKqH{6T$!N7bD`Sj-+gryU@Hay!`kLGU>4O>@^;V<547NG5Gq9L?7*8qdpfVz^^r3@^@%!1wzlFa;G`vnUyt;yDptgYa3>uzPXn07WV +LfQb9nbI1CK|G0`N~YQpaBnL(ipEX#)x-Y=YPly^kEoB0Jdz|!k>Tsd5&?B3f^^crFL@h;zfS&uNl0` +F^a#vifEv=@CwoJccnc;CT+Ce!XLBV!XGRg$M4HG@q6;3xr=DHi)dI)G^`*R@U$Fb%st$?`~m*N3xfZ +NuS-G8U3cBZUwGjKLC@9Dq0)l5(xF%Q&eBo5l4y8~Xb|n0Xn;&o+w&77lODB>;|~;?_`O8KI-+3>(NI +Qww8|px#S$_p+G~vQio13B5BydBHyVutfCKO=FE97d(2|ZT(Q@%(BmcVUVgByg7{0?Xn!lyA=a;?O^J +ayHM-&?VOnkI%Q8ahv$TZ*)V+`t_6A2#sUi823v&*0EsB`LnH%yr_B_TgQ|2^P}_J}sHa^*@vgExQuT +Ajc|n`$}7YVG-S*WWy247BG8r9HQJt~mYy{;2!7xH!}UfA-mD#n=mD8K=|9mn>Q0q2Wq&T&Yg*KqkGq +@+#Uh(a?&VY3u2Za$3KBeHF=0K5*bbo}Ql0pL*&kj()kQsEFHaHokW4TG6h*_~Hv8cQ6)ejTYdIz5%i +dV>PK=J&uCG@vg)KcUirISgokJOv-3FGL=@T(SJ4XMq1X{@&&#O= +FBD@)!f{88YeNWl2E)SLa`2$BuO-B_*u_{}8Wlpn3m@ty{OgKy8?lA78d?8K*YE@qX*Aw~8^syYId$_ +yM>BSJaWpS89ELKJXsqIT+WWF3=v(rbTkkh;_#iJWEj_zo!v?;3_3EE*yX`ifmzO8Xo#vH-mp}vB1?U8Bpra)%Sc5=648BJnjkbdI2+S +klhA|TA4z#rL5c%i7L>c|o^&dp0w);e3Vc}PQ`qQ5-0nfCwGy!PSDh)T@cq3oBbg8HZ^cm{fj!Fmc1^ +()qFXjd?(H_u7&>mX0cl6oba}Ug)*>7BbL)!xX6EAICwQAMJXr~DY3H;7G?-ca_8i4=!@#Fc788d`C> +HsvT02)w8mR%+fYsL5##~*3i23rr><`hPWaq*wcjrU{zUiMkt0X;r7|oTM3_@k^*=CA{Av;)W=xMOSz{=rxq?Eq~6Z35{+1{3a=D4o*a;9wKg`;) +tN?UI=M%_rb$@khSi;~%wL0hliWAF5kUV+-sm7VUxRn-jkY9zY+3GFIcL>xqz~C{xJ)mtTIF|Lt#o6M +f*{|NeIo4`of|B#~^JLw)3(g!@i%yPL`1J+AiqjTpaS`~&$ +!N>ytO0+ke28{{c8NLxpP&vPlfB17up?d65$Xf|Inj%gijbRrSBbj^e{Wv(=3#H%25z7WJcPDz_uY4M +l3Ajk_I`ky3Wx(a16hOz{DV0W0Jwv$#~*(jYm86$`1t%*+&%cK<9{meQqZ8v#n$LRc|!(K-!0||;3@R +At*q$_{82aR7y{pQ!1v%KlsVeagV@af+snNf{@(l#8PT$jZAlAEtg+9YJ)1x9zypH6y~|w%gaa>u*YS +=%0Jy8)M`&F8*uQ|gz~6iROMTBe@Fn^n(4nsPLw-Qkp+EAb17-W#Yp?N#AAVTyv)YCMpj%y=$G8da;2 +HJ%0m;l~e0_cY72G}ed-sdpV;JwT&6Vl|@Wc~Oi1?rj;Xxbl1#dxif)*8b8lOJ>JNf-G{DBL#FTwxRf +0wHBuPf1_u6e58?@%{zLp`Y9GoJ;~%`^yBq+#1#|cA +-9ql74A5S|@4z4JfcSCqABela-+TR&5?ePcWjt6Q@uKhOy^1!}_KSTu(FQL +w5$I_*ZEP!7cw{+=o#>UmkCfWXA(^oMyipl;UQ_~`SuY5}sv+|F?zgRK3Y-$wKS1|(=Q?Ho46?2?o7A +q!~O%2TE=XMP2cRbkN6QF<}yTVuz>wN_K2+p;bFXA0vR9dbFw)G&dU>f^|Q=gw;u~??ict4h8KDJ?F+ +Zo2(-Iy1jBJD34IA8J&=W(CN-`KDgjBg4zS93o5L(V_>N#JrN96)PNKR>@wG`G8*+H?ct8I3uACV5*! +a_JPwrK2=Hf0D+wxikjG8HQm5eQCULdf^HAI~mqO@tx18tmS@umh%H=I3Kr5(R9LP)rjP2b?j{=1%Y1-i^?ii04P(L%ni_UH8}g(3%rd@yqILHjtKI2Oe{fwu{M{2+?80pkHb0;2-f37oL&JL1;uLHn@d6z><6mzV +d6$GZc67H9a@%ZA=3a*4?2B99o~KCoBd$B$Oy$96G{23Q|3Ch%j+4N?6Nv=9F$9xJVmzoRcGRWW>G?t +o}M_Uy@Hk*7{y+z0SudNqFZW0}U+OfI=1W_awoN +Tihd;_ixKZIB7zo$>9%uNX9FP|>hq!}`Qyujm8vCZGih^6S8wUX9^>z?qN_1wR5~0=6+ChA$1tjvg;P +oiF+z_;Ke2?7MpV)v@5}7%;|v^C(~7UBHTv(?o7O;78=efv*6Y5Exgi{qkN9h_>3t@uR!r;_-)1HhT2 +v%xTl6r9&1G@54XGbE7Yy0nWSU<_p{qcop)hOJce0nK66;G68%9SmE%Tr1LaDiPzD=ymm?b429VSkkDD)omE^Ht4KX?K30578Lc+Ba<;k}XLhxd_8RO82j#Pe9$ +&$SPmf;&G@_k? +AU4c#K=jTVpj2R>1JM<~g1%a-__<%NNj_!}VH@k1-&m$7WT!4Td=L~uvvhu}}$Y)0mL?V~*e>~6A+O= +yp2+uKe=+NSI$-RgJVe +5g*09ztIEAsf`kBjHNT&}tL*aUVwm|IEJW8U-6zu-^wN899o90Qh!ym4}JvdF)p5B>V}6Lg0@2r!a>2 +Z9`Ozz<|6&J`3C^d?>olaGWKyAktWDW+-yS`qCl^YZex0^>oBzDt)b5sU@!HL}a+@dD62;KN{!NN^@w +^&QdkNvdlm#plPR=qnpnDouhMKk9&Q2YMry3m!x+9k>SMBOXV<7(g%JKJ*2&fZm4AL_gnnP0QmpOa(?DQb!#yF!7y?ghLv~1Zj(y?Pl(YGM)7vMv<4tx{n3(QMgxpF0z)@*bYZHxBNCiKsU5hM +DbKIG(K^PzKqEp+eRU0}?R3tWo=8U#6B_{+dl;J4E=O#20GpKrf<4l6z<0ee(hS}Jq{=BfsHMT{3{jp +v3=-m_=Vf?wFSXdms6t`YkGQvC>g;1w%YM5a%lE^@`tjmS9#nBuQ&TeOdM0{aVI!t(|`IAkxtCD8})7 +%&dxpVqEj8_W~@wQZk&{;SD>LeD_=VVtX~s=$B8i58=!X#V8a7QAcH@K+v?uPf=d%a(IZhWm$VT=ecO +jw`*h8~^U^`TL~kQGNZDU+~^;!e#qO_OQw2ej|RoZ|2OIug#e==PS}tC+5$e|J;HF3og<-OP4M^Np%! +2Uc6X*PuJ9%J9lpKtXZ=*zWVB`Vmt#IhH)mD-WPvA@U+dFHzUvbJ=JlD`0p&_5V0}%bs5DVY5$DQgYw +D0o_bhRwKljP*Mg_v!v+3KAXCs~J^meync$!9CbuTE?IQnJf(=GnkhLHtiuVOGk4IzRwO{cfyB(PlbL%Z=oQDfxo!w#eSlW`10BJ(VPzQ2#DE0Ka3M>P%sDe^=I!F{ucZ__3WUrcRwI{6WkS0j`F +z1iw`G#dmJ55`KSq_IaNh54#%lBfB8<7BD%?9|&wI%8H?0p2-*OpAE(zya!zmKE+se>eN +Zl6nYwC`L8$UL{>iCUd;cTKJcN)+kaVz`&S3|Z``<1_-es?9O!NMTo@1N)A+vNGi-T0|Ks{#{DV13s0 +(%y?ZX}+PC(tz%Vhh9#orG-jeesZ&;nQyo(VP^`6S$nI2*Qm%a$z{-HS4`&eFt&bVxO0hx9W?a7~@qa +U;I3A=Qx*5*mutp0EO24XkV|{=)ie*GX8f7%K;0^|hK3RyW39SbMFOB+F6lgq7E7$F58e>#kiNyD~wn +x>iT3TNCbHx|AmMp#QPUXPT5O_TB73=Z?|?^ciJCt&=}S*TJhH6nJp>^(h+ix{>0QihVwNQT^F;#nq1)0-t(6xxYF!FGb5F!H?-wU+E<{3`uyn8=dJ_@KIRoco{$L^=ehs +;+f%aPGMHTpoD>i1w~=EY5&q9JDi=DQ7(nkE!x7Uk#Wgv-)%O2hf +ZMQ&52joj4xP5p!fURK&aEcWNQ%G$K(eRO9yC%b=Xe%YYd-}FssPQU)tN=~oT()K>*H(zMH?d4nNZ7=F8Z+rfs>2 +KaPpr@Cbn3|ZBl-#j>Mh1O=^K^u0USCd>ACt@ECGr;ei2SwOL}{TUDs|O7b&&dw+CXcpwb0VE9$K-sO +531q*LG=#wI8*%p>ZKs@2Bt7|I6S;2jgKQ+bA$fjj_gLW0A4USY>=*oG==ht;~DPQgggH*<5A5W$rci +n}^JL)*r09td^E+c~+A3u$5-@v~sP!)-Y?l^_=yI^{v&MJ;$cAjqCu6unarb9&c~7x7qL6AKO3L|KTJ +%g-*Hirt_ua@Qyr_m-6TNTK*yL>yCC8xNBU^JM5MFBm5VAxP`;%8E=$tlUvEAoT1cEWz|scS4XO2)Oq +SEb(6Y7J)nN9exd%T-k`PB617LPURsg%g0@ZDrybO4hSX3aeWBHfZDsGWlk6+@ls&~hXrH!sIsbHyI= +Ax1{2tzlKg>H*PkQrj+ybwGKh&S(&+)hUP@s4z>pHoS+**EEo+WRWKazit|EN5wWGR)(3}vD6sq(F&t +B)bcI(_TZrt^b_A+W)(M*cVDg?2~-E++6M?XUiq>f6JrfDe?^Y3;DN-q9iH(lnKgVWxcwEDEhV9QR} +ZgrHu=n2ub<|eSxvs*l8SRvNM=(=EwPs?h#KCn`ty4W7SpZu4F1XO1@G^we(j;5^eS=2b52gC)IW8-& +8-88X6Ot9GV?k9$FWAGxSxchJJ(IOmCwn>N)x}eV2Yj?`-rl{$jK+JD3~HznTZk6U1jXS-&GLOSW>XB +CE_Qx1P2pS?jEitS_wVStmA|{hPVAkF7-h=1xB3{PJ`Di|oPv+D4D||U$&$sd& +M4@l^Z(Pj{yMx@h?knzc_bvBBx29L_&GHr#=N&-P#SSNd! +H4gO~0j~)JQqV6aDIncMKST~n=rM?V)Z7esFTgbBP%SrNsa+(~L2g#G+16wYh +4mNoum1qZX^rsFmtsb+x)deOKM19#QYm?$I9BIuk$l*Jf$=hPs4$hn9u5hIWQN3!Mpl8>*u_dI!C`K0 +#lif34qTq!?X|9>!>6IgQpqqnX*#Y-f%#Cza=$QdwH~lCtY@uPtmW1}ti#p`>n_%Y*(}V4unP7Td +ynmBXV@+F9d?raCp+ElW&2JR$!eu@(7Btp<|a?(Jq2AS^BE+u@9p%?w{QGM8)fg-`>H}E&_X& +6;rui?M9M$r?x2cgr282Hd-2UsBa_931%Csz?xxgwIqAH-PalIEO&0?e;^+3=tJPKhi;Pmf%1E`J?XK +O&^*#fON}byHDjHz-q>VpHGVMan}0Nu%mL;Mv%(6qv1~b8$IrQ@KiFU3Z^w94O41NItxy_=5<<;F%|o +q1GCA>9C|l=7M`MHWol(zBF&{NENyC+!Q_S~G=&?Vu?M$-k+Yb>1dfNT$AvPzT>cStVXV2xk`3L+gZ| +vr|W$p;Kg7{~dyVw2Nt>rcJZub(rR$dpcyC=-OXasva`*FW@GCq(xbIm6V{yNvvF(z+eUn@+E3c89M!R$4o;f$49WO!y+^%M-X17q#`<^cMOfdZr%MpV24lujsGq@9GEj(|S##k#Uc)n565h`Mp`ws%tf{8d}WiL9#W{s<6g +cmDUT^%hoh&mUYZJWu3LYvCdgptdRI)B71?o%%-so>{IqTJHc*dH@92avK_K5o7>OY3TM3YoHK_c^Y4O#T9Q=u;r;jklFO$_bDiejafxU+*ov5SUtUjn_si)Oc?TmJFs +HWbEsBy-4*PL#>XB{ElPhuajn{CHlP4*yS>yGcd?G*B{dy_>#rmU2clv@C6emaFeJ +_mLg^mwDLy#5_iNs@NK0y=bknPFlB-PMU2mu-7{8JK1~;-^kzNmF`RK9CwMk(fz@#M?BKZ`r|JKr&(fFC*zMP=j5WsV#%5!;ajS_%x*;EVN`X?MlqmyA+g2 +#+l}*YPZ-=+nJK!DhKKIUg=e$~e1OFDkvER&Z<%a|XQ-oIQ;2OOtyEEdPtSD23m8igO;aNX!Ep1+7|LJj%syD);fgp@L&lwB +(Zg@Tvu*RUO_7+vk&AMrUM!Cluo70r29iD+&PEc?jboKDuA9Z?u|;ett75OQ +b!ao5%gJ-foI~yr_o(~1D|xlNx?Tg4`desB8}#6-f(ZESK(EUZ?BbW@6aWAK2mk|-TUne4dI +3&80RRBX0stQX003}la4%nWWo~3|axY|Qb98KJVlQ+yG%aCrZ7yYaW$e8Td{kGNKYs3=ndHt)0(qId@ +Yb0GXeR^I0!c_}Yi>ec5~%Hxq}8pvO9E9VfZ7yL(pobCUxub?hoqvxHPBkk%vz;wq8)7|z`7fn)h$qK +)m0K`-GtB<3Y1LSFu(6}&b^tN$pldA{{O$vZ}VZeZ|6McInUd9p7Z+QyB}dD#+VtuXq2&MnfO!L<^L3 +kv1!hqPGjBHU*{(RQE%A3Hh4?Q`kchvbdzrB$` +j5q~%w-Zp#h;1Qwdk4j%jD+?x2*CXWOf7H?3Gz=Ev~z9O*JG)GqIbJP|OOM)n0-}K722c3@=`kSg$;F +`fE3Re9IF`dhLB1?^}y|P7~0E-G%FhMCm@h;WJ1`G$L9t1=j$!f +&O(niV|tL-(detGPHp9jZGETDg1jO*fjk!~@5r*D;lRSIio>_aaRoai=o*z{fBk+n-6f9r&a1qba?5b +pv6i+*}}XKQ{MJpVB%cwwy^jI1{W-`!{qjy+%rjxCo08~;uXZvJR_@N;z)!6xtW-~;#G6s&iv5tWqzp +PP~PCgfR;ycK{^9z0v~Z(RiYZvj)s*Tkg$W+smuw6WTQ66?-mzQ}49JA*og@}YWbSX!~m6-}*k?Mq$5 +lwuddJ)?V8oX^x!TuY7c;{Pgq?2O66YU#Sx%xd#ozDNa=&Kxwc+Oib&EvQ6oGp=Kc)Q1d5(%Fub#d9$vh?p#`BojlWS6>C+~5{Pkv&y>B+ +VDM)}uVM1FQ%F_l4Z*D!anYd7w9)4i+MbuaGkrTbjEPr-f4Ut4$j18%K(r#nZ9rY78P1x+6V+`Ke)cr +AV|R~_KHQXd2SJO%IYb1}SQE>X^Vt4r3r=Pa439HQ$9jlM+ZywkfziM}TDMEdrEzIjYSdFpL+ok!QxJ +4f?Qw~emFbDfLbM%R0AC3-yudQAtdf&XEmG0_^dJWO;a`s;a##zbqPIniFH^<$tlm9thWli)uFn&Qc!!_sUc9@P-sKkOx$w@#-+>n_;VaKFGK!K&;v8{!2-QV3g$62GH7C +vvyk<3CMk5@B!}KMnL@|$Ge@I42TYlvL6ZZ|S)miA>`)DK?M~?0N1$te4_*5hbnPFZYYe(ZFfLxy@=R +ADKTe5+7c^=`)cR +kN>^a3Y=zCb#rIHc#DhfU&|nGduGG=-{bnG>6_DCs?36B8L4G%i^0xIq!Az}`cRA`f_r2w9#=0DcLVLv4^&8W +!8I2aAnRM)7tebGJcqhv1(}lc7{5dYk+jyPxBO(opL~E&>4M_V3)Eyqj5hKsQpOUS1!5`v{D(d$Z)h` +7$Zuh-Zuf?KX2Hxzx_t^M*oiFvAFD{KQ*9pF)u<9pZHwaHE_X)G0`8bbI-^UzkNkud|&ZA-AIel7cir +r>al9McE6AC8$%G61G;COB@^1*=bR^kIQ2|lPgA8u+h;!d<2=Ywu%G`yZb+hR<6+{g#u{8(fnAI5nAJ +oxuf@!dBX3q$2~Sv=BTe2c;)l +F@|q%jYW5oj>hZfDjVQz{J_ZRrH^zFtmT?Nk@l-iI~FIYhs#h-nVdGV2e{Jvlc2jRMY>&@z58|iSPK~y;&R9lqgnfE0dfrd$KcT&&WzootJmjtXxN0O2O4}e{uFfZR|`@^Y*2xc`TL68-J +Eu6Q0W@(N>9P<2OS-L!MZAmO|G`@I{eqt*nvVhIh9mvRg{8uX;68MovNos@}V~t-!+0sCznZ`w!5fB2 +C?~bu`*@IeS-`s=ftTs8!0@;USaKU%`}qwb6fD)qA(J5wGHZyo@}p42Qa-;@xOB(Rac5Xf2gZ?c)A(f +)|O(TMfD1kjrY9U&YeA-Zdp_6{Ww9Ib;5jdw-XE-u^D9WEzoXv)UD@y}v8KPnE1A1Ie8;**xFf1l#mQ +b<~X?r5gbLYg2lEryyM&=rJMPP3p65{KnHMNM}uu4)X8DZ_@ksyByd$H-63Zp3<3-&hq~~K2zbL>;9i +x?v&+eaHh2~#`pCm@xETuS5hrUOdtiUpdAk}pTl0&q7~G$8x +H_!!+_y9Vo;h?(gY_rCu>jtyfOVqTcSQF2jtm0kA{T2{m@mW0U}c~3&5Xf6&@};XiUl)SBp&a#H9z(& +{Mhp-^MXkV92hS%hnIN*WgkbmgYajm9%%{6ypX9zM6CFWu0NMv-d +cfU^voO}vb=XxpPE*Wm$)6}`I66*vLh2k<_C@>J%lUYr8B@Eas4BXAt=H{*RDW2co5s}UEzGpX!lIpNz=+n8!zXeR!+`%Ihnki?}Bo5r*_2nTlsrOh-JD1Dq@s}l31Wiw)I=3>{g;>emXncCbxB*fv-jJ3zv!U{)2-P@ +yI0JJe2LinHuIUaFSx`!wW{o|%oc%XoHt +UTvf2?HT4(WfE&#x~FsIpefUXIJNx*-fwmJj^qLM0Oa{Ab6NW!m52Ku6OB<pG&Ss<&w}1 +BsBNfc|GIP*UMjKHdF1zP-F>7Bd97P_S8tcCE2$i!DV1Bu%X4@Lms_uEN72UpAGrd7x0bBi`cOTv%*5;BOY_vEYAuIZeszG$E)+eH{gJ}c?h>>@mynKMRcE +uwDnuF0>{CxY|urOS@&;H-cW`bfu4qpWg5#vds{?#C@;NBM&7!M(H^2fp~ll6qnu8eHTEGtOYiJRLlSRp&{*YHL$Q2B(izjZ~$vFyTh_g!Fja?o +M}(>Sge>cXC>UD6J21DwWIoj*`^3B$Ub1WT}ySz{#V!fTxs}>ZZd!n_NDs!;jhbedBhD;42L6@L*P8$ +S&*=!TER4$;U>QeG)oPX$U54*Ny?$s6TR<5jN;-jRF4zb`UhLJ^&aeAfqHRgxAmUOzkd}MK<@Rc>X<} +_a(8Xs4SxGKG`wy-He)dd?~E96YuF=r<^tNMZ6oZ6Ai?>X1u#6qxK!uuF+!-?6l;|AUf#Jqf}1Zy9?A +0qP-(~NO*n|cod;-gyW;QUxNF6axTjJ=sSZQj+-}O`pik`bvzTbJ7 +gQq)<}3K3!cA+Hg>sk*meV}S)I-r=egB)cEcxKz|`=j2h}$JG)Jp79sVeM$rJEV-MtH1t&l+%WH1x&Z +vovui!__oh<3CSbXWuYGEKfC{x7Se3hbOSojv6RE$c2WZ@URT$HsgXpmZkKH?rl#$A8eS(EgAgLUtk(c7o?mRU^H3-4uBhwvcQF`DtV~2oBlrp}A_9!+=-+a}=PstAa8(? +`egsmYMdS0u=u|&5y4H?4b@H{QqfiUt6Jq}y;APWxgs}yuTDC1|s&y1fX=v>SqJijF5ZRnF~*lEeRuf +;sIuANVyYv&BQc2;Ybe{oT3m!+J*H^!(>))DH}-?iif0%M||_GkLLyxhRUgfnnBe>6FG_Er{Aq}(M#p +JZXG$I!=Eke9bgjURLCDo_)TR>hLAZ_02pmE>w?&QQX}+YW+swe7It=JvZ;}D0Qal5uEPSy +TUH@LZr?zt(&Yqcp`8!{y7MIJBG) +FBOhdr2z`epS;(z$7`{H>S(!RooWsgU`kBg$@tF&iRqoxt%q(fHqVXeWPa~Cs%QQ`j1Gb!)(W|$0q!8 +Y0w!suF>R2pb313LjQ*ZJeCMviz`6oz5sZ21{!@Y4sXh5tnYWU?|OZY$}B>4n;2Inuybg~qoz5qb1Wt +^GlXm^OyEglw=50z1NSS;usQgZOWS9{Z-f89dI<0AKvuv8-eoI*5r^C7G~D_$+{k7+5To$2=5yb-n#V +<&-V(j7pI47kdB|6L0pCo3y%Y5=u(HF74gTr<1zS9byDHP&r2~(r1%CRT#>4%26JmfZc)u>g9B7tpBU +yky1bb5fx?8h)OUjB^Bj{UORv>&mr(_#huKCVcXn#l!gdFB`o_zd0P45<|k;moCmH1xzCE)%ld{45+R +A1NgoiUvs%qLttz@?G$---O*FEqC~^OQ4N(^>5>@;Ms{ww%RvXz4_ndE)p<{I*hTw`Xp^`BlJ!%#{P4 +1-R;Y=1i5ReqO-&C6T8vE>Buqo9?|V``TTLcpnA*&j8XX1LT9cHI8EaH9E}G|lX>#d-@1y +mGc){i@UR6j&cHS$@ax&E9dvwAxwAY%&qS{-=)^Gc5YP93Kjo0I-CJ4Ur!u!Adr8l9zS6iLl_zOBXO( +?NIJ{Nmk;js(t%HC$aL~cwp2xLI?rj>T*bnt|FY4VggnBBb-lj!}0Z*E8`TI)k{SeaLCgt`I!|of?_u +>5lDF^AZC#0`LOluu0Z}V7MTgxF|D=iPVZnAu})d$=7fg}xg>6!^LdGuXQr@f}ZYXbibc+^Mq8t|b0n +ytv!lFxWtxAtApKK>r|3A)uzdYi$=VZ`_g{Fw;()^+SdFX`hd<371WZKCM=;p4F)Jz`)rY)o&AN67x( +g_z(+5^MkVJk}nRcwFFVn9tfX8RNbQ8p(ELHmm6}vBDX|8*20RdjfYOZ6|&n#96&)chR1-|3u>Up^&H +9lNV?J>{r0E-{7|c-*Nz#t^}_V>25~c`!Jrv_`x44VsY`!0G{_sf(|;)kMQSMjHSPS0q>jeyLx_%1{3 +?eem-93FKKmh+gTxOMD@Pqtn?nd%f!1vi9O=4xIIiUV4aQZH7jx>jlW`A814LvdF3f&$6jPD_5j80q) +P)%Uv&j^jNVK2cJc>abmiFt)A7Ah%S-mG2=_fG3q1C`g7O*#y+hF3NEc$vP7N>k?S&ih?oG%7m-G7ah +=>7wN6N{^Am3dsd->yr{7BdRbuB;1E83EX1w4HzU&MdDdBjsSa{oM{pBff@lbIpdfSttiyEVQj;Pai} +#T&q#`iY2MKVv*Lgo$DfN_&Tvb_jTOEmupy%c4Kd6=}vEI544aka$=ok#FIvzEKisUf0t8b}sQs@b6b +B1uW>n&t_#2F +fGF6SH8Y3y{WLpf)LzwbfRS_B$2#7T=MD1T+Zqct~|6U!!uq8uqf$VtP)}`a{f`|ET+sB!BUCj`aE}(3X6wXEa(WkP+utXCKLh(dH +QQ@pO;{%3q+_tRV7}?1ttG8Lp5;-$H!9j1dm;#$9kL@ArXSd5Zdb-hmzx?xce*@Gp11=(DYpsjn&qON +Vg^y20bj%+9+f%hmG+xl$t=lh{X{Qszjxg~xO+Dubo~_3v57j`a<|_i$0%H(ia8ohsOGqCTRC8{c?52 +;C)LtUyv;;Cc6$0>gHZ*Jb!Vu#M`arD>U%W*9Nb2-=$=_@TBI>kGrkQz=$nMc-P$*i!9EJl1tr(7?~HLSL@uw%0A00|FPPc;9k;Ailrvu1Iv +}cC+sYd|vo9R_ZT{oaZqe>L)cn4Ov-jto#!2DrJp9(xnLL$i&#nSP$Md!$0A4%8 +Sv-XrHLPXoDOTm{=~_mN4PMW1*S2PiKvJxNpc;!<912bxX=hr7X#e`w +l%vfQ{bD|}kJOJi7ydmTuj290fr)-Wd^vlxa`wM}<&ZomGj0}glN^&9;`5>#Sk3DeR@65QKGUhs??{t ++Z%ip?0b2^oNQE6w>!`au-Bx$|f)C~19+GpH6?{m!T}hc!(>1@Z!y_ptDORdV@BJP57G7Mfl9WCymlQ +u@*?&Vi@?LlS-cKvY2FGgz>e6s=0_S6-vWMkbZo6 +;BHo%=!c==RjgR#!PYTt#JyHt)zSxPK;9zC8tXcm#E@0)J|UG6?^#ZTxgK%BJ#f2dod^H;lSaJ*t4u3 +e<)0vP-sy+>(vg$)?q*Ps3$BXx^Z`8`A2z8Zx=yy=d(s>T7&ZZS$r2`52R1tJ4b9sZyH$P?a?8A;{!N +-#gLT1Ju8-!CcAnw6;Pi9dP6W_i8jt1HKtoJ$3sk(2nq`1nmg_O5CHqoOWclE92*mV|FMai3538ESaQf_ +QzJ%Kcs!=)o2sRk +HI_Le|=Nye->jJxgqjjsazW8IE(hd#mmYJ`A`nMKaMme6OG|zhF;58Bd=zwkvydFMnyaIAktC2Mv#~4 ++@8eJsoq;bhhK=fYuqQNv7{g1dnRbwDW|O8n#^iXno>MJ1U-gLHcy{L&|xmo!7A<#pxq?eCP}mItK)u ++uQ~)D^he0^ef*xRUeMZwe9aZ0CF;dJ9W$hEH{3ELuAZJes +AH^@EUMsz)E?r9L0P`d3B0pX|RKb?~EZ#E+pBEPM#Ch$m#<^OqO2)_@LFKY~RxAUK_}b^S?`)pKGrS} +S~$gI({=RU;GUr;E7(WPgqA((l+rAD6}+pD?@|!u>l5{M&Ims-^oe(*1$Oe4|AE${xf*J~QhcHnUvVL +rx=!WGh#+GkZXL#RcDxzDri#&L}4SJ<^A^(h437Q@lA_jY#_oTA4$QWTQ-)Pd$zIQL16T^*$WZnQ0@73qTkCsRhKpa1JKnIoQ +Vu(cFRcI)}7=L)|(zMaYjtiG9CPZ!sVcJ@e#h&|DMNdesl5dMnpqD|H)s +y%X%O@6pmfxiO8sZEsP8BZ{t50cNW341rzc-l&+`oE%Kcax3#L94=F9Nj&%)>Nj^;)vI(`$&;XY3m9| +O+}t(d97ZV^5S_~CJJzKA}}N$t16zvey->>PZWz3x5caT*Za*$ftTn%QESFRSpenGXhZTqvE6_ih8;E +LL1UlHr&DC +z(-E6YM365$1l-%mQiMouDc_A6gHX4bD%uJHLJxE$U$s|cwtrW;<3KE>YQC%c90h3tU9!AdUz>fXC42 +<{mP`zKOY}=eg^H=QpDwtAfD-yd5j!JoJe?PP;92_7V-Q}lNfV`zP1lNpgv9d@k`LL#gNy5eB{TH98= +occ^-%7bxAkVf7`gWuWzb&AVGnq9O!>1t{dwGoQ2ocY$@Y9Hn9-<-W?FAj~l&q~?Y;@ +UO;I$9&RdCwN9Ul^NWHdhJc<$x#w1dx=tV^OXz+8{SvS@yPJJBK;_tWv?G|RHoc;WvjQB%5g4yyr=8a +;qhNxv3<$D2%PoeTJ+mo#oc@IOlM%_5d3`O3rheX??91NlNaFJ>gwP#^#JbDqN6#_1}JT{6dK@_peLO +(094iDytPwMl8kQ{o~it$MwOQ(x|IPk*_?Dp~tolB1RMYpQmB?17(+kLO=lYXT3=oOd?(57S+~BlB>L +Zu~(1S#6Hn4Y@*3MyZdA^CLS%K0o5V;7ltYdnG^4Qvkkr#;RJCX2I{J;CB}I?I3>Nzj^c{W94nz^Jnh +Lo1sSRpc%c3pp1v`t_ttUOxBU|B+Yj2w*=HImG>i<`5a0XklEJi!MUQ(f`LbZ2iYMi`vT&}I`imHhTt +bg;WMSccNj+6h2`$nlepTc&5}j?I}LXEs}^>c`kyKw6O|HVu88sY8U8x=-6}13SHK$gQy-Lt1<21=z= +K1FhDuhzzku%+XqIwD=-YnyZ$l`f67^^B&$U>4M>JUtJbyO2GqV0B(0O?j6Mw2qn5J%D=(b +XX1kx>-uU0-RuT10LvKrzDNMvF)J_!XI(qkvHHM_~)xzp2T;;Z+%v4$3AJ=2(1OFi!>jF&*7jv!`u8F +MdEJ_!i3e|D>L)JA>oUp9|+RsTcDK6&<*pXARj`N2o +r=s%Mw<9q_bPp{*l7))`@?Wm&9oEpYDwOsC`+$pihVuGQ|?yruX#EQ$Ol!atK_!hrXA?gI!J%to8oca +i*$EFQ1)ib4$V=KS+IslIW|9$C>8eQC~ULi +)g$Lwz33zwG6-E12>2F!M9%kc-f}pK;QivM=QZ+;{T3lbZ77VOGn{<^|VU@#wXpPt^5=0{}A%>{(%FQ +FxvY7wbRswT0gJ0@xCqStp|Er0KHY3){WZ1b61{yS3hXdkY@>q{y}HLd9l=w&F4d#N0)I}`)>|6BNkf +&ee`PWK(S^Qasa;%HXxU5UViQ_5A+>6@RS7E`Oyq+QyV4d0(^)<>KCWJq-Gmyq&_d2Z$dgrb5ZzwI9! +F#C2PK%gZpv>pZp?%Uzo)r6vJ#V(0}z@-nNE?Pm)+}u81z>Q_)56pLj5E4Qq#wn*oIhXOi6KurTqnS( +Y0gLOmVe<2Qb{akSXPdh)|H0~ogL|l{?^JD2dXi+@=tvvRvClj$ZbcEI``sM6? +E9j%79_q-Nk!dG9Q-G%pc-ld~RD7#!+A!LXmr8AawHr9=&(zSCH#*sbMx&HyKu@Q`Emhu^&ZF`DCW37K60nQcJ*8^Gr})SqIqf7W0>VSs&?7+>9?#}sF4o} +1wJ8Dk&s@jJM$rl?{Z#+k|*8;Gw@`DaR!?}+#K^e}_}_WaeXJ(v2$FC<6EX1_*bW*2UyG0z?^wGCR@I +(&N?-}H39*V1{#7!a*L;PZ|$TNw4zo?b>a1?gy>-C2mX@0tQ0<32)hSEhzDVzU?f-o7|FTOttx*U5uIg+ +RyBKW%QvR?9=oU!-ili$aWkB_f0G0C1<@aL-hSRC=6BHla_KgN6ZVzis)o^)M|7SddvF33chA>Uc(@$ +Tg;kc|30j(po_4iUa9CSUa^zU_l8Iu4sfu{hb7r3-|g@eJORudy3>(vX*~ztYx=AJgMMLp(0#AxemCW +F7~;nHR%>{Qh3t(-^j#=BuXlI(0IO(0r!X^2C_9alB+a-cJx;{?-8ZAwiRjTrCEpc$NG5MX5FL=?V$g +j~DPUcpkt0pg{O5_hhm5RtNR@j22TKioxo#)d=+g%>jR#v&Ed8BL$)jpB#@Rj=P^W;I@`cj=RTWk;N% +B1fRx=!YJcy(6dpa?Lje*o8x;Qf9LSLIf34yTWOO=CVwaSwXdmPzJD-p@{YadUaZ+SIVcC1u +)Zyx|07VE7u=MDccXE^8WGDduCG@Q8UMLvz(8hP1}9T%8Ymp3zuxB(c908@D(>XKR%u0vWveIFiD@^`&4GTj514AE?BQ& +RNIBE_?*Ryc+VA5!GdGct~BsE3b@LVI8M(;qH8aeXzToyTd!V-)=W2SyQUe8A%Cuj$Yfk)3qGb^GoZ; +Cl+p4v0g=(5fOOZnXO*}(N9Cf4nMzqS#2O!EUtkM;B_{EL0-+$94w6%jXL-=Py~DV0fm{3p@&R|c1dt +xZ>DR0T~m&fx*A0@s3O6XQnF&TJAfR|fg)I(&+Omf~HP>}YkKah8yupNJ3Xm*K+`t{5Ng()gez;6wWR +#s|^N^4IgCX%a8)cW)tH{9@jf@uL6DzknA>;KiVG%b&*kCnv7ERM_bqPQ>bDtH@5?0^0jE--~S +C3_jjd5m`Fge3bm2W;yN5cBJ#m6%qKkBY4Nhbf#=em;+KU}n{q +;GHs$w@sy1TnkW+bsp(nG-tbHU1|M07PjGir3Jj57u&m +I0=_OIz7UI#p*!HC8*qQ8*MR#STA%6y4x9wht1{hEPM`H_a2$nYUOx}KEPw~#k;v3QE3b+eY?!~Sl2gkwUU2eVT)-To%#rxBjv +$?K*KaqFy@U7HHmPXX5meAz3;_d~4aTi3GovbnDHe+j;kS!yIcmYiz*4(+vv*0R2>;e1}l8Mcb%#*4M +**`cCT)=qOFoD<4)tRK0k(dbg^LjIicPX`g+8~6u&8zupdb*V!cU?G}u_=ryiOwtVZf9SfC&GG-l*R+up^LWs2ln;-UTtwD +IfK@Ojvw$>Xxxx<{f1a6Irjt$WNktk1J{NMh|}H+WCuQdzT!7Azp){UP{H>%LbWBwvZrE|dr-HL_BoI +fgWbrABCcVmK-XqbtcDGQ%ITjGm;mhX+|xbR*s!l}e*!@Q0Smk)d1V$jCFMV6@E~KFx$bG_brP@+hre +Ukm?bx#qu^Ci*X8j4I1>=vvW^0{_4_QIGSq4m)oBV|;zTJVkxCB&hFK|C;)4Lp}ff(sk~aVs-xL71sG +-L!CdCpw4cZ-}xZ*fAy9Uez!@zrI4}0VUyw+GFd%kQVO4^qs;Ctp?9=K#%_jRi&);PrG0%C{Gd6op;^ ++ZGAVT(%~|u#=`EqO4QK~ENVj@FYosw_&)BgNy6=rfYu#e}Y5l@aLqz`!ruSLKs1vve1JG +aXo+-0=`kIE{dbb3lIm^b=3`%_5Hbnt$3JcJ)J{|u=LH{&0qOT!hsNYF9Uk?)Y*?3<@ +&)1O8hdg|KkG2Mm@(lBR5fnb(d;2sNG5S(oS&RYS2|jNIEZ*NV<^0XW_}+UZ_@d2wAr9X)e=~e1_9N9 +5S43P%th>Xmt@%iTe4!k_g>`%HyNS0Y4fmPDWmeX>dm0~`dc?8c9B8g);pS^u_#PS?2Y=Uj)NljvIhi +uLY(vuiQh$p!ZrmU>4pF=GpxS0_VTTvYc<|^$87%OrhIP*p-l>H5wP>?aQ|%snTiLMb+4X?ioW~kz4M +p=D*4RaT%669KuKJe}w^iZ$rjgD3fW8hwVMW<uBsUDEi#%kBD_p{|LL{!TWU?YGlY{>qoo0!z0;RSLU(6`V1D?(6aj34aF?{ABgk3OVsd5Q_9M9 +c(zJcEooT7!Zfx(?MUo{84hfp0$s%pW}a^Zmd1?Z_MP^5KPi(0o&Z1wQsXH#Pib +_1kop|sU=NJTiep?>*2Kw5=n7@UtI3K&^Nvy#JIPCdq)d_**Sk?JFJ4?5;^alr_ONhhGSe4{7S^NeHI +JeFek?tpK>n{6WlWNjLXFNJgPeRIft(z@7~NU$SIWsuO-^R~1#%)}gpJF{DNRP!8)W1gnvD40nk*v?M +j5$Q`1j@+x8A?!bhI{}uX{9^G3r+EnecN*UV3dPk$s7mpM?hb`NKOxel{kMpWUgGZOuQB{8$aP#y+}i +{g>4y<-N{oFXX{`qmZFKY6l@dHps_z$j@yJ4P1Uw#%)asmz~=nI~xGE6SAX1W;!7|eq5_;Bs)KtU~7u +?b!qQJ3oj=puQMSh&2e(F`F)m?=J!cXRvF~vkD8oRp4H_?pFl2r3GB-1IJsDn@|VfQcF2WpSB$dZ(qx0|ifD&ovO#`4*^qVMKVn`F*^(^VFl2jk|v^ZAs} +lRC6h@%;ewp85fT(4l(VD+^+M7G96&18DGwJ^()d*OPeuZ+sj~@>2)h@j_O48B>&dNGtb##I`i{=FAi +Q4_8`te7RId(hsV`2*F9>a>Zk}mA|dq;+4`fbRVG4q~UQHnjG|8o+ey=5s!$rkVS?;`)xC0wy2Pgn+Y +HLO6XUw)uSw7J?baagVrtU{>PAlxHbVUbp~A0FM*4WgB5yHHbdg`326f-Uptz|IGKEEGJ@bu#S%oWP-qA(<`8TjI&1WV&is_mn;>Fd!6!Re6G$-DJ+!8}`QrcvKdx#j32AR&oCl`mLB*ZG)M8)IGniqszpK3nXDLyMPOg<(ECB)#0$j`|`{ +FAaVO#HY_#LI+#AB`!(+q_EjInby!;yJYLtQCf0Sk#xI(WV!a`z2l~1WDQ&AuGR(KR6#wSSm*?M0Gh+ +Pv(*N@Bf1ZD6M~wXIGVt#!8vp9!_~$q9?;ZpHvNZnP8OJ{*nbq#T4F3kl`Go +xu@8|R9H9<1q%>Vw*);wfYahIg{0H&xG&(_n~L4GOls`0^Nvv=4t-zhfS9< +JSKT^!_IhM211<3m;(B|YUUv(GtAJrjebv+#tk`|k!?#lZO+m?eiV2F<@Oi{Y-fA`6X}Rh?#9Av0rL2`CcWWP`y{sG_2{`ip8 +2CEzJ|6XX8+^PT?$b$GcJk?{&i7QXfPj8XC_TFE2@ycM7&vmxW(|_5|B4 +jV|N7MjrUPh4DBZL!OEI8%&&!2;N4&M6#(}=~@5L^OgSINsxZJcD-;3SjO^Mg7R5{Jh@C9E#^p2zRB< +|L(6|Tz4NETj%7@(cQ2b_diNPQrgwfzOz)nTFRgcr%uHe&sX|;Cqeq@+V#REU>VDg*P|v)590F}^(el4li{7NNAcsIxBQ9khZXW77T +0yDF9W{sCEBo3gD(A>6w{^G%rRZM?=re{()9l6QiIl)sAz4NA8pur(j^nurLaxtQj=HHC2yQAtvBeB* +QiS-)?}av +SB&eBjq6bJWprrUg}<`xG6|jg_bb%7PhN=W+z!i?>D=8HChFYNuT37KCi&i`$^EuCxu@qV{k@YQ{dDb +m;S#Wn<;UyYHcfBh^BDCmzI>D6-6Xx!_Lug)Hd*hymubU3Cdc${h{g0S*`Rmr(xvq-<$ct_`S0rT{^e$^$rr&%!x^ok*G*2X^PuX0bwpcEuOIci(`2O>6$8^blNnH}JjuT +I|Mn`Cy2Cd*smWSO3?^!HAJ^wYKLg-gIPmLIQ6TQpsW&tuf3`0`DLcce@4^L9yx#>X106UQ1hx2zsLF +R||KBsJ2F>zWU#Vd^)nlM%C?2M@1ik)W(LaT%8Qei+r%A6@XER6}uMh_M$drTGCb(pBN=p3_?*_C%de +d%^Wn|7$~aEKZ!TM(D4_6S7ZuX8g_ZjID>DJyf|(f(+8R66>yy*^m{|Xt6h`ocomIE0RBXhP)|HX#j-V^wapq)QK~ZFOs;z@~H2oqTUn%D04%)%ED}TfNtc`K{ +K?mQ^%H)PVGEOGN~><&2y5PC$L9qUpUYtKX{!ywjO%3}yG24KU4s30u-5<6S*qu3cjdShR1$CM7i2T- +lnBG@r~@`CPAab{76P>hy{0xowN|&xO8{p28N9p3=Mt*sh{_@UQM_HF5}gI!>!Of>yM)QO~p8koKEMy +Y6b5L)Kf`+`}66bhM6r9qMP5W^($|ckg_yfAUepJG9r5Ecz!wvt`Yt(s)9egA@36@h +T2HoKlMT0I>-TChL3`yI*SGNgMn-4MPFyc@S^0p>o+LYbIr%`kE0vE^Xa6se4_iz=mS09b%1J(ST3tp +y(*9QR@nzQZzQ{-1xRlYx9zIKZldBPKxA>m6bQaV^KCEq7y@mMDVxYIq2N^WJhv-lt1^iCd?vgdzCrh +QYcH7ABh2VE0_}-RdC4PyO3Y!^|5vrF_P9}}FCFpOU{fsxmmX6C*Tv}kXVxu|IO8W-j<;b2NJAvNw|MOXdQ69V3Ir^1 +#YVsu}1fFR$G-ua}Gk|a}G8gU;&!vT?}8$3Lnm!!N+3@t*CDU>RSNX7C}#WKd|<$sAYA@Qan>$q7&u6 +OUo~4hWwLxv?U90=JS5#Np0g6XB@n2$p9}wTbdb{UQbJVr^U}l*xb_jERCa2e!u$JZvgM@$nPfq6?q? +JqdzWyzR{fb^QNqRvVXKk5tl94AHIJibgG=rhd~;$U(dZ2-T5eFo8!?mGlTL{dweXP&O*=i9OrY{Geb +0Ymex>y88Soik9$wSS$;M{*g7YSzr4ij$woe +>)|_~scgW{_wt!BblUPd$OZx1V_GiK*5VOeI4N|0_d(whWb0TM9X9nnH%|Odvx|myn^k1{wO-w=N|^Y +SSbcvX0A8Qz99<%OFF^1{q4UzGH98BYVG#zw_VS``!3?SyQ#ku$!X~Qz;=WXGGxR#lH`L+f)3G|}?c1rh-aIvoztQ1S!|{GR&AWam0q(8 +9-EX_Kz{>V!Y(yPe&<6TszVF83BFR6q4Kz)COZYNqk7!@+o*?akw|`#1k8ewHB|P_h0elBJx(Vg%)JpL<;L#`Nqv}5u3zj;RB-*tufe*^fR0&dw;)Pd&1?UPyKFZnq!;1%H7;l +KFNHa-lwi_K?Qzol79zt5Z0){zOnr&G#W-+D1x`|uQX7X2;Sx=u%I{ePF46;&YCeuK_9QCK>ye|#OWl +l}8_ULvbqH+D-~pOhS+JwzI^)Ey~S-;srRDZ41%{()o-_+RTSrFLA;J5`5LoU!&t~gC9_}M-4h9>j>>ZU0JV|lD<|lp^H^4Hm|4>_cSidkS2}hFBsAgoJuRL;bMU*D~s@F&{9I +%U}xeSP_HDuH%PJddjA9EH%%ztIKehXqgtqzMUu{z|S%+Y9PHTR)uUk%!O0`PSodJgLHHtY_qdt8LN6U_(a +s!f-h$5-!S?asNA=NFQmevanwY4z_pP~1v1kih#a?c4js_gBaF5T3lB)p%TDSO;X_cTpmKPer4bX2ob +k>l_C`AAOD>?WYl6*DK|Bi2;A(nxI7MF2%XhvWNC&Xg9OML)0(FZI5k)&n1Cfq4Qa2y^&RN*lF$u?LX +*(-PnnC#wq2DWG&v=L2EQ${X=x;3$m~=Rw=8s3O0p5TeWAa_6(T*v1k#UcS-#Zygu+9cpo&%3CfDSfv +;)0^7W(dS3Mqkr}^m9#(G%(mi0)y&sD@^4lOm&x-v%Re1}F+FIqE9Ys`K#U92%%YGRSm10}8cIyNOPNqqm7a0MqE*NO_utuv))Q9$l{j5f-WywlwnJH( +aSEJXvuw%5=+I5Y(WvVsURVJ|pyVMz*15I>e8r>RE7K@|X6|Lz8-R1#ibAmP9I-LktDFNN?0=&;^ben +1qR?(h6%V~8y(-a*1x)dD9VUa=LeA9Hp{NLBbIt=n5Dx%Tup|xmtlFh-P1uQbWjRojz%;Co^!J!kl9; +ExE;0coyIKEs$`y}ymmu+v*SxSAEE%$0exxaZI%KhEz6U&`SuST_f#%M1ZT3>zvvJ){`LhqQ8Ld%j_c +MotQANi#uasCg@aow22x@+;HGlQYawHKzb_SZ}^Lk{ryRnrXG6PEU03O$wtyy+Y@;6nT8?T7t8HI2?L +6Kgv6z)u>&vxD}B2He*)IN5P<^fR&!y-sIwi#>J-UOCza+C!b@@V#t+JBa5ac!vKIrZoyaX|xzJUP^g +rUSmJLRhq@#;(gO%bZ>e+wr(T_*nxTuel;RPVUE~z0!~-u%ov9`u`jXH#v1!BialZHo{H|IF@CYi|zN8e@ +g71c6y5a%4y$J+Ka}O9NRbA`b}}B2hA0a?LqFmPf8MdkdsgIBDqH&t#+r|IYG+n>`91tQ$jUjBJ+v-g4O%5zf0^VM;rm@9 +Z|4E`ND9SAlA{&vZlobYoNeru94oyUY~tQ}6ZRjQJT6Fe*7>3DrAK4N@21B1LOh{!57t#9o*G;2FKC* +bQ8lLcyR@_3jQn^!D&ll6{O8Uj#^<=w`+dXFo#Yc{v8+~lejrQiaX@>*^Ezm>r!i~tS;x!TeAR@qXm2 +~6PX&D6Hml8P(Z(0z_Wq{5GQIgMtn*IC^Ok91KXGmEt?~1d;^X){@cItE&zH7OC}U^l<*M({`rT&?^t +lIeNBbQ*$S;NdBV7~CQy2z)S1{IJ+0d}XJ)do%xdVA-cDN-P?SXFbbbC^Tei58%z){VU&yoU;Ju01@# +ndKRPvgP$6nI8ws@U*6g6pu!?rDbHkPK~Kq;458Sv?K3M*_`jSg3CCU!-&U)TWcbsS>ehfd+&2VJHBM +R6J9jAr2>%!|`)CVqXRtLn1g{z#;sc^Vk+Av(XtF5j9<$zoXOXIPhI>pwH}6T(6H%Ok0k&j{FA1>ye? +0(e6Wra|kc7KVJB$VQLrX>|FQ>;0x)Vu7{+9q<^G`1<*m-*Zm>Jim%u9@t`>8*3{U(tF)h(55C0l;i> +l56KAHN-45$}!!Ak{`?nSu;84FVGmS3ecxZdWZk5H}uv6Ix9lsS4D;}z$_}5fGZTS#<`V;U0j-%}#+{ +gmYi!-ks)3tJQ4CVHX=yvkpRQ+t8s*`9(AmitO2aRvio-%W2y#BZvA-$w`m3hmle`Oij*K%%8DrnD*V +zMQrC&e5g75Bv_`B|_d17l=^9iAn4_ESIBVC)POHpXS-wDDXNzMlxvp9G!h42PgB&Tg=Q9`2^~qtstj +m6x)sY><^c!}$K4o}ZfpUKCL3ZeCL(!eP0izdX{U{~2XIq=NIz(HX9Xg +GewoYP2R3`k^2=RjOygS{n_nIMIO|*Yy)vMq~g8tNiMT?8ftlMFxGk54bUdM#U +Pp(jXP`C+P^Q!&-do1F+^p{<}J?i!hVZ=j~ui|7e9lw;cM#X8+6WvEaF6$mCg>}{5q0|Uv!Q<)oCuS0 +fRjq0Nv^hJj&4IntTnGD{S_}bB`wPx7hRh=+4o&{YcNzS)>NI@0}F(d4m|2;CqEm`#qiUm^HGN=4Qd) +q4{PM+p&LEBfYTA56NoN3bL&iXkCb1tPA-#YxI)dw6JvQ=YQy0b&Dq|_AI9LFM2(}yA0yJ({EI@msxLP_p=nO+AOFQGIH99 +x&d2b`P0l%SRpMQG#*iAC%9@DqJRZX_AFh|JDQOIN0&vsQ)?7p!=@R0UOrhO{kwa4Un)J +}dU?Y9eG8Z>&%l;e37ZMa@fq8Zio+By7O`$9UeTc`8li(-FUD)&$JSp92pJxgoj<<-vyfdidKMK-Cff +*meN6Z`Nwf%nb7PrNTA$%D`j<}jXfrSGXs`x28~ErU;ae68@U37^lvt`0pe`jt=GC+=%xJdcXtQ=euu ++UXyP9`jQlB7!x3Zo}&|*FZZfmEyP1e09r$dFqx*i?qrK8L5JNcyWJQ%l4TKxTkks-1{VDCEC>@$YEg +x{D6v!(H>*F$=i&U@~{`Sf^>uStI=h6=#2R5a +NE1lo=fpOzK`ls=LkkLJ2MJ8z6;u%MGQC!IsQF^!w(AYXFykMg}Uzd$k0Okeg*3g-wC~iT2YLg6?)d_DXbTGH> +^0a=bqaoQG{9w%kSj8{oEAEbFJUobFz}tlui-tgI|w*4m)O0I-8cX>Zxiih_~H5&xciKz+JXwvE^zn; +&UupGjl)RocFnL$*URt$(o2x&U4iUdzp59XiDpdQ9;N*q*`ZbRJQTCky_Q%fbp(#AfXWT>T1sw7Us@JXae)#flCo-O+Fe1P{;)Q!HiLx%27W{2qvB~@ajL|>w(O|rF~oDLu2e6(l4G%NIF+Fv~Z?+QVO +@7rQF{eIe`LXU5x*-P~JCdn9MNpqGM;~qNSS3x_@!21naeETZo?*!!VIOLJek`rxky#D{(&`-?!33=Z +I$t}g=J5k5Y_+`qh2Y%sGK90MC(nRG6hyk_7R#h*2~v?mOty19P53w1{3cQTTy@Xk)agUon=uYJ- +F`6W@o4`+-VVeiP73tcR4$JLGbI0cCJ*$$7nnSGW6Lb7I9b*XXmrV7RYy9`M)0;3Mpo%U=F$293ueE(Cqz(@|SaX+8(Keos3uG||{VfU(}M;`cTDzK-7``0c>24Zm +)g_4eRL@`849FU5g+dncZm@%a%NzaPPSFJwU9JKnSCg^tyq=$ep$%#a%gQrc5eyqJA`~kW!88hr*r0=X5KbA6q6Vqw*p2RonQ6Vu@czKQaZ2bQQWu76q{yw8uP^YvXj!w +y`_43*vCK-((HT>wrZ=`i)Y`}tdYhjDQ)vx&JwasWJj|IFXVM2J?%w9X`S;0j{YRldnKeuy`>S_?^|J +o#yYuy!%jP&YZfQ~9t39rUso+;)qfQ~gDc(HC^hbeZc^Q89s&ILWxqz-;ZN!_9 +y2KvkuOP1Q<9V3o@C5muF?*MWRXVSvo96CRf)8!@{^~Y{@KOp=KZ+hZ6OPpWy#1B(V7?Z&Kc}@v4)|; +Pl?i*TADMxAQT$GOC2pOT-AXV|@c6;O+pihOi#CJrDKIo$*oRF|F@A;)?Gt?x&y{~Kg=tNczV{{BgO7 +7J$Ef(P$5q)d1L(hisQkEB6%g>*Wlm@U +zUSMZdzqxN-1_{U!t>v)&x2Lz}nT!g?s4ue7l4+YwKwW>&Zf&o7z9IlgGux+liB3ilDn27cNF9}oW2X +OTwl8`+g2_MoRT1-9~-F&i;s7LOVAe09hNf2vUUNm-#KbH$lA&r)B?*VIw}d(j@kEs6VPS>v*{H$^`i +XMbG%V)mP42r&5mYx+J@e+SuWbH&cpqqAUAG{5fy;!NNk{d^eSHhhakd|zXHE(4XfBSpykBPo|UC&p0 +zj#&A`-=9xW_T7ofeiUWzh?TujE4wj4*;DvWA+j$gArmB1)Td7UIR%#O9lYO1U#EjBoncDnLcu={EK1 +S(2Eg~XQQmgI*lwmhfE}R*V?OwzIY?i2UhL_gC(Z&5&C&QyKBegY$_f3>jQW{a(XVA8uVl;1knWu9Xd +Tk}kllu(JrfB3#VROdpC-%EsS^Zu|8q!`X3jPoNB^`A8zqyDq0=tOfI}%VMnY5oS*$~K1GVkyA9hu5zY=bU +l!DeiR%@DGa75bW8^ufaS=w8EZMwUm1^D1ayv>h9rM%&>C<>iaI1p&j0IxDapjEVJ~^!;(Wem+y8{^S +XM-(KZgs0&m1*&4JrUX3K`Wu)!b<7nGz7kw~O*#i#u(aXbaii5j35nMxiK5oMSN2N2~l2rW+H$L9-Gw +OSW%(c-OT#z|R7r)-*{)>~xOLe$}1DzLC2U+_M>N}(Npid&)SH$6d3!ZuUM-!+2P+a=!l`{KcKOkLvNZDcwud@MZ$68L7gL9vpbbOLb`)lIW8yse|yiQu#HB);~I&Sj?c1^nHfq`*Tma0q` +{QHc3fTcDS?Nhe0*xJl$R>rNvVOa(7U8q9-1%Sm2WBa+f=^SlvQG-@wVYA6WI*L04tZq_UJ4cdcSt#r +v_qr_}ut8na95(7pyS}e3Wu=<~`HStfanr8h;H|wer4h+9Qhg%d&_3)wW)DYZdS+lkDqhzpcu}YLj!3 +!uRK@{E`}WmWp#lDkFUU6CWpAO6Rz*+Ba+XaZ|yGjVy5darm$BV+U? +!fhN-79KI&7kowYfJ3ugHCh8lvuFmr-mpHd`fP7w4Mo3uORNjoPt)8p +bXai#~l*)Di4&hs45z8U3}VrglQoBPegJ9oW+L;XR=Q9qJ-KHi8}i>H+e0_0C~xGhP>u}3;@t6P^bLu +~FL`Jz0#_3!1ed`4Xm@)qkKpm`kSTKm(Y?^U2ZKd9|jK;Q4z`sZ{#I0ZQVJ+ZidJ>q`S2a0*E3;R1fi +2onb%4w0s+2;h;tHCjjmpy8U#Z9-oD#o>vgwObhVqGETKWOJh>0<)pv0s|H%DFl1K8jtO*Qt#InocQs +?f}#Dm}%=&9x#-%P%B4=M}4PdX)48Wk1Uds19a}}G&=vaX~Sr;)pz7jUNRr!UhrCP=^fIH48H%HOKo) +F>Q;e6)AajP>aSzvjV=6q@EJ?!d|J}UAYi;OKY3T>YpgVt&s7!QNT#VzpmGMwpywpRH$Bg4$D=pc0O1Z)WD7>%dUn2#UnXkWUa@5=@M$>(VtnAD#@_Tld7tX=6^9$ta81$=F*^S&x+ +`^@GfwwQRnQ5I+Y^0N+XjLY2#vmyRJA;x|A9Pg&9#NM%zbBWSr;&X~=e(?*SN#z-9c)(=!#QQIt-d`# +Y$Lgca*D;H}hCV}COF7J9t3sNS)W31Mi9$h0R2Zn+g-40?fL95%}J$kHb1v3Ge+Pm*IJSHTd*hIwdIke$g +8)T)MnD!0xENXB+8;SR5qli{_zhZ?LH}Igq~O8zE1k+I|J`UYcH5mL+9}uHQD*N<8f__%*W>iW`%A9? ++Ip~@aG~6^)&}{4i9L{*E7)BK~^5~R$pq)_aMo<<~Pzz4^YK3ZH++?Ju?4)V9;PONxsH6-D4?oToBgZn7LaesE&B{OrzaVtyKxJ#vxC7X7sxc8e{*edjY +~-rmH`6X11xMZ{y=C;oL*?9VfCzKlr!(0dcV8SOWfl_`mFQ~9_!gZ7?0VSD~fyZ$&L-aj`MgER3QF9C +~a@Z0}_eVxr}CeBAN%)n`3DA)8D6rIoO|LCx;cJ{xuT_7ZUNSEL1~pPJ;PJDK`_(*oX$=JB?7s( +6^-*PXm6@_poKK535d=QnPOJWkJVXwOfpkxqJknu+HhtC3yw{Nq^Lo~VB0Z?f`&fW*v!qb{*eZX$Z~a +|39t2=Vd!t&vLDs${!Zo0O!D7wK@$B!FYA&$d+7o|&Q&p55^=6X_()f63SU_C)hk>0DyH?fdEAqMi{g?BFTbu0H6;_N!Qp?Y9kEUSPS!KR~Pf)Dn9ObG4|g7N4Ba;UyDWkw30ZN>8mKS6=ln<+9#UiVwsfVL0b}VX!!mY?aNGOmeTxBnjg*U>fm#pZ`A7g=0J4kZ=~ +F1G;gSh=$2saPy>981}6HoV7qu5u$a%8%J$G1o0ZyJ_#qQ3yvCqEpJQwpWG#dEL-2P>O7WG!-^<7PuP +|)}?Njp+=+@h&?3Gi^e~Qls-;9qNB^*bbLjS1mihKw +&$^HBXmKF+IKUbYPQ&#iYg|L?1t5p_QrmvKv$|Qfu0NiFZ(CpWBmO!jce`n{u=H5HLLFA?+Y3qx6%6o?R~+jJNWwrjVJyOd+#0}Rdu +e9uRW8?T#`WUA*e&(pvfS5fCLhI$quLu#MTm`)%JW#kYk-Bdd`WUB`PLBFA1?N1K70TwBgd)WYktmP) +2JB+V+5GE1;;okwDc+;tdhVfMI^mv)103$z+0h&iVa!{>UeL_FmU_z3W}?`>yw5=ldDP`x(T0yq{S=O +}?LLyq~#vfqXx!ez}eBXBqEjE&iN*Kc^mN9p29|-p^S)PrfgzKc2w%MaKK0#l+Rd`6cz!_`bG8y`NvQ +c!qrcnfm4NeE%8a{bv@_E~RnpXX|&w5k8+a;PctVF3BIQl`wn`{A9VE&$ha?+_!k|vDhkTb722SmDxd +=e^`}a8#cVBEspK{f3mEywI!{fU8`kXCH;989#?B5%VWKmBhI7=v}N%mDBH`L?`Vs8hLCpD7<5C%&sr +-MOFFX_H0p0+G4}%fk4Yzw0EaFz@Qtw?!D}}-?1Fm6pvQ>+$h#TRN!DTca=SQ4{5rt9ea3UwoOP6MX9 +Dku^GA;=TR4>SF2Q%!V|m81Jd)NT>Ew+gbn*!3WY*;W!_WW2PZK{`FD3QHdyZ+e-BIUUD8@N=W@?r^= +ZL$-T8`VKdw1}Rv#4CtEf&e=7RtN>TDm;v)(M5DMZnY7jC1bC{vycg~T=c9zZb(yr*b)%xM)6RQu~YwC8pguRY +D6K#x^?h^IWX#aN|*6JF?ziic1jtATOmc`WBJMeoy_Pg$FkvZ&J(2gfnc&F5OcE{4Aec%wAu{OK*Nq? +d^X^(H)Aaka<(>3A$b4dE+xC4>p9yiK02`|gU%9r%li1NZ{7gD1)nr}Z8SrGV;}> ++*>2BpsHz5VQ~HS5KB=9qrpj8tr(Cl+Jbk?98tq@Z-neJ@2UneVriuwzr&I>cnWi;4*V9JL0za@S|jRvaE^2)2y +bbTka0U}ETZHTU0hfe`zO~sb#jZ4sE(vPr*E1!j!fN)YI@ThxS^u<0hPG| +HOMT8|^oYxp7`Lds8KGZK-CfmBZg>)mXucX@cd8%i#)-t(i@yE< +O2H)A}RbK|@s*E=wc@iifTqF>rsccI_FWuk$7u}(kM&y6|@`xOrKU*A(Q1HWtDF>xYk3)epXgeXblT* +kqPJOd}Fk7S=oQ8eTW>Dx909H3qDS!5L(XJzpb+=AFd4as3X^E?SHC7F;Zr +Tuxp7{{G?uO%&DOT}LY5xACU4JILpqUs}w#ZTb5Hv}Y^4gSNFO(}j9Y)ImE%*J5m@{~7hV%hm^DY*NKJXBqcSH;`qLG8qWo$<0KfGTXf^wCiS#o1L*>+z$`^_Rvy*R6s&z +_dN6gK|{|jrL#1f9fwMD_cqTm4BA!ep>Xo|EGv?JUbkD?lad!R^++QSP|~!e^#*~cco+8~^^- +a4d@P&;3~Y;y32Kjk^zUJPLT-aG!pdF#AuVpPxnalctG`yYs>@JBs-qnG~S>U1OrMIc#()d*)0{%w1 +u$aj(&a>OF@-45NPn_3zzqZ7c%6s*u%EDRAx#XjMVhh`dGd~OepUf7)=kQFw(p%B4X> +WZKtoL|cFIWo6A|?(?~PMm)&))AJX09= +F3uQ(oU0x9+*9I+8=5Qkd|!gM7kDS_Xx2e)z}~0dft=R@QNnd&yd}sr@8<(g%(C)~TQ0n7u|D*BmG&~ +)SUS@C5#)(%J;37zp)_)En;E2bsPf=VyjycSf!q=d< +2EG`9u#%<&R7$FZM&cE0TJF{|CD{BpD0w;6uIWs+agOBmz46R>$3yh6V<+c${6kR@qwE!IZn{HsxC@X +{g`yMTH0K*tACv*~Ia!EvGFQpGa +=bf%qs;FY4O3T!8qdQYh4=VR4LCD*Ab)2V_6M$R6?;Cz@L##_BSqU-miKL^g|hW_822o!)B2IxpPM4u +zxppGt@_=^oa52@TNS5D&OuXlF4V`$wf%+O&`F-?NVCGcl{7zV@21=%z*Cdnv;FLC7B6YfB;ZBUcl063F0>7C*~H_Nsloe|bb#wfy7MM&X<55;Xkn%ZcA`Ajhx=+5{*GX8-8dX7Vmz!^wEE-t7|tQv80(}y;U)eTW6WHetH +6&rFz(MxY^wYrWi5;;aF1tbKgKjC&#?t#3%Y?%OXI}}>UKQG$oEc~?Kvh&+_a^_f8H}N?gsCKs$uQX3vt2)gVF$5ns1v;P5nbb$|%`X>4A;@Qj>%jbJg +o@F>D%=Iz*sV_)e-$A=e-?m9O)9}nTSiTv!$~s)5p7 +Wt@>hc~r7e3=+#l(n&-!ZKBREy}AI+x^Yf^s}%YCM`@>o_F_?f%L+r3>=nKV(e*Xt<8HFP5+^%O-3qI +sdHqrbFP#4vWQETcoYwhifVy*OZ@Hr={GFJ(b#c70x;E#$6Vhf5&+R_c#LwC(8Tgv9`yO4xk^#zj2_C +DcBpe827@wcyB&!VKvvdaV+uSrNij^uqN-#<#;*g%r)`eY_x?jE$#xWt1Gj&aQ^#H7UNsIALE-73Kf} +n5i8#0xZ^5|9@qGO|B^nGP4V_&%xBkHypzDwG1dtAk|D@Gv|o4``>NHV2WypY=krr$KHp9{SDlPKpDc +DAwd4#6$hOVWw{(u2pF^{G`)6ofb$GtFEW!KowfgRp;Op6*^qou)kM|^qD)QDv4J(H%Vohba!VT#&Aq +-pBomR0+p4q?=+pwY;u7A-af6y##q3zydMx93>R~YuQk7>)o?;pxiJ{5|eu*r5TBYau7FEdUEc*0$Ql +#Et8=%anOW1oy8fNukMS3bOS-;!bbKGUYInRkpKY4a=FnS=56&nW96OqPM(n6Q)WVn0ZHUy}fMEB>R` +;5oprcCWXL^`TujVN$C@b3E@h#xVioFxz|^G?4#mBJ9FgUdB?u8aXxR^D~Tk9~ZA7+Mb0lw9HDD|FyD +YX)C{AqVP6B*1lcoYkhMxV?Ggf$kg#|MgO$nAUr{{aw6#(^PEgK{GB7|h3s#eo&Pszd+lEK#l5)L=u5 +^_iSkD_`-rw}xzKsY*e8(pr0&F`IZPh~x9m610r|%2UN8l`0@`F8#35_En{g1&SrdI%U@VN2QDTW4%O +p9Lz-RQ}Th__GH?6t8H>^33d9!`T!A~)FjS*)^#`2qDEj>aT0W(k8AY(wYtvs8gfsu91dc+TvFXqB=L +8I1hgJqdR!E=p6tsmw^82CU#B$)m6C62P8AJ1<_t)El%m**Vm54czPyHC^KwhQ$)`utTeb&lx46>Obe_S=JgA40$6bBadwI}%e +s%IfrWNi_T3n`rnFsBdQf9~T#l_Yex+&e8bWr^cc~zFlXG<%SqzQFjIkA4iR6*~oa@CS8i{hw};d*Rr +J1<6Dz7vcH-vWB1pM=l}QjSGu{s%KkU@R}6gEtLAuWWDSxOJ}@Smfro`L@Q`^#I6mT{Rq23y)j7&fEP +DMRZ#?GSJC$ek2HMM(m&JLni)%WxRI?4z2lnlC546*ly5ienh;rXHgP$C4-11ISlm1MPrQ__cp&k=w^ +h%un)sSI8oV(@uPQ9NYvox-C4VnH~CcPaWPnC|1GRB^C@QUCWe+9X6h2qmTpzwyB*}}i?*!5DECgRY~ +=`RHBudf(dh_jdSXx9W0%r{~!Gj=Ead|5`IOy#Tc?rB!Fimi~^i9XEwQ}zmPEpzv+i65a`WK2^EjMYc~fzJoPt3 +w^CeuNcV%eK3fd}mSVTQzIWdpI$-z(?^U_iOl$I+t<69kdNwMN68GM}duOEpCYqv<7+;9xr(Q#!(EV( +i&zuYDx<_qUL!JtKqU&`2yBmK;D%3Mp*ei~!;W=mUGc^?w#2M}prOghm)`_`!bM%v`QX8sWK_oM`w$A +_^I?)V7%3UhMiH>D{!I31DmYP?@`5r(7qKG{z=CNtw;a&K=yTf`aA6~>1S%9vcFajC-Z$`q8DnUhEDp +Gk^db$z64!{r__+Lv}O_lYiBj_}*QEWECXsNbUvxiU~c!tW@CoVvkg?5P6msmx`{_cT9Q9DD-%i}zfN +UB45wcL~qF2>9epRi7}H4kaa~P6ef(V`<03FVaEkkF>jc`L6uQ2s)$fa=4~M8?9G@P@wXR2%PS*9fs2BX7s +@3z3+*P8AluVYyxWcTzC5UOe +jZE8?1fs>p)|v;MJr43Du1sG-xo&8OqgxAG##>=W!9t^`iBhP=TW9Q7($tev-hK305EE-3UdoXy}hi>PnN;XNT>7x&LimB;0MVTQC +z-glAMEU=%S$2iMRT<;%r8E5l}3I6cDceLg%n`x +V1E7yYo#`Up?%>k$4Z%iM|Xnrf&&;R0cGWVY3wcOX}K{-~AJz}iY^#4B>i~kwlFER0)io;Exq3T64R& +Mv#({aWvl5s&d*iKv>q~8wX&2<`nOr{@?ZKCck2h3jp{xvQVLGmP%KBoWZdA)UZ#E(BnJy4#;7!Z2!C +q_Jj_)pp1;j>{lO#z&mFdy4T$~VdOQP?*Lb1RbbDN}w)I_C3z)McN6v!nYQzV~TG$LaG0JPWvly!#0d +_wWw?gY>QKl0N!z1rly+E|Yma0^lJT)2#n8`oA|-I`f79IDN*h6!iUn$zC?y%eYg=j)VW&qV{s;EM@g3AbYu>({s;zC(2X3sM-{60`6O|s{cl}uvw|% +sql)*=$&E6fBu1@3rmGhMOOeSOgE;X-a>Gx(WunQTx19Ind8P{0(1=@Y{(0*?=aK2a%7M_(c3xZ;%9- +L)9&(ecen9oIeaEAFj9rHGy3-sW0^Z9dnaH{!ShWVS%ePzLm@GO0wBmDGeXD9jG;|8CLcUOhNK6=r59 +nzX6>;c}7b5Hy@P5M2_{lNDhw~=FIvCXVw{D#8rwqh1ZuL1O +TQg1x<9jl%2;|K}v~yuO+MjJWC*!0PY7L4PdL*do@cYZ)d8z;X?l~3v^B}&_-kCIV?K%2zi6Wz&L-(I +kwv@D$mh?QN>iiCM&FdPlx3Bzsra(v +H2|ej`mlLq&I-=`_%?~xKDm{miZ8x(mWe2BY8JR-FHR6+tnl<_mJ-s;sotK)3v5{Ij_7#FZC+CyBoRh +6Ql0?9^-xA+wX<%`+lAljOFRON$*Np!!^SeOyrc6Y;k13 +BgN!~X9CwdU_=&lvY{*y5+8>UE_ua}f3jJ3s|$$g4)q_yA7Rrz+=|1>*zr#MmnJ?WQdt*el+CuQ!k6K +{YgXKZ1{LdyfJ7bl6$tV6ucN4-7I<_{j%sORb_VGOq^c-PAqq7xWzD_oy&6ll|IhjHk(o(&b1emL4T@ +F4R6VE(SYIK%IJEdR#X>)WJXstNz!jQGPHpC%e0^PS)t{LG=B<(kkoz{ooxZ|($qm#CPee#qhVcR)z5Z~ien9W|6Hi;)X6ZMbo>t-H~cNqqvNXoZWO#$Vhnf5Sdy +ZIvb)NQEd11?FwProy57PWY{q)yI?)!MeKY?+uQ2SfKMEC@^C1j-l?~1)`sxa3^?T2T#+}EPF^}gs55 +rGoncoeTVUS4-OW+C&wbC7Mr)+1~KSxAz;zI +PG2F-Z~`nvTDA*3Y9C6@nrX4?-GX?3!Hb?%)5BxBC+JGHPPL@wIla~mqE|25UC;TsQ~(26#=UP16Ge? +-Kg6v53W4y8g`vn26`LV0{+~Z>ke5(kh+97tQpd#^|&?12RX*CVuGj3oB_X5F)s@_o}Z$vZAt1L;^Yj +-rs<-4-z6d)d~Kz>X7ZAXGA-39M2Ra&lx$?bV(5v^cxB(tG0+BRpG8#WUM$iVx+X7~d$C9zYHT{xfcH +xauKQqe0%#}ZaWBeKhq@o%TrcV$6sLByQGO3(DFHvE@K6MboF7{2 +yPz^&Ar7sH19azNmxyU{KvZp%(1X8K^%N%a#Q8)7)vvKxhK(=J6Yn#y{BBoJXagFY>7i1=x^VENTsaO +%$(MMPmQK*!96FA7DL8K^_*}ObL=n5J(A(p64W|;_t{X}iur}D0h}9;#?uyB)R)&yUQ(C#<90jNgY6L +Zx7&r6IAGUu4%n==1Ercc;ojEV&i@|N>wLU9*Ap*FmTsGHVhidFT9bTE#v)(cbf`Ree>;8C9bNVk--21+YUdf=lps>M-_BsaB~FHHpRW7g_!{&03HNb)UyJXqU7~(4y +Q7_JGw^Chd#A;5z^*wDlxxmb#!nGidh0ezOZzV-h4&Hd1mBvWtG$PI{$b5_tNXifezruR;{AQHysRca +VR57Vde5^Rx%TPUTbPgQxq?CRo{YBu`r$rhjh8fpxoB?xAWSbVKB(x0^tFqTC$P_&D0z@q4u{(2T4bJ +3Kj+?$xx2ND)oa5?auG5DvW=4*}vmU#M0Iea?)TYA8MqW&Og{8Pl)UFv?N9k6MYF&RaDGHv +7H(H3)=02lI&z3oQ(wHJ%xeHQ(YeeaxBSE6`)4q(0Bk`9>XwDRt6>a5vb&Dz{fI8FzTI3-aORfAr9lW +`?%iiUJb-9%4G>0acbvKPsxnc@#(j(u +5be1D{Wem^LxAOlRXZUFA%bPXIw=26qdKh@+|8~5hcy`B;a+2JA!oLv6HAaeaGm@onGu#y3XCp9=G!z0#L0Uit$v=2;u?<7-%FA7GL +LI`d8NY2|>8OUtTbtiw@jzt`Pb4jf-vGp9HQG|K$O@td@tG?VZpZMxhl`PCv5{^T#X2D$IaaD&9Z(*RQ(JCA2WQ|Wevd3$s2N_m$Vdu-Lu7PhMP(|un++iUOFH<|Q$^4<%trOa~^6?K~ruhTMDNW8S+ApPQ<;BoK@rK?4k@}0_bzb5y8qWhIe1|3@-repNI;F^(duKwnrQp$c%vJoxJU#eNn48&`^7F{>{R?DGNel7 +)(h*uX3A8ZB9a-*o=an2ap1rWiqZMF|`KiJ?fO$0v+h8x?vRz2|vZP51%dq{V1By2;fgJO=>mpH1{97 +I;4mP6=@-s6VTuZ)$x&1rnNxycb_hEZV>*Wn~LyWgFV8oja$JkCf!2SZ?1>MDdo`JFf)S=vFL7ljF!@ +gEW$Jwh-?^F7S(@V8cx~gUwuS4^F<+J3ovevu7uT)HbwS5Knl68zRI~6?QypCMjFTa1W*xY0lMYN&wp +e%VGH_BdzvK@Jfr=h$@KYPX#qs(o~d$k>Fc+jmm*DnRHMSFV5e~p(o9|+tW*9+^a>{S&$cgCn8tiAmDh)n!uR+yY{> +vmbd=nPfFebUC*crg}P_pFAjfu;?(_GXNI$A@@#>aZd)unuz~7T0Lc~zzo_2CAm+752w6!oUzyp8b{lpUTd=N-H$?TSE1~l&00P0S +@--%t7rV5k-F9xbrV(Hcd(ZzpKb-+V2m@;2^Z+ZF_e}1Q`CC_`y6tnU*!S-jlg?JA1+h$fqJhgp!pUp +)7cFAum<$u-?PK~4Si|fz*yqA=hvBgUg;&4qJQTnoact&P@CfMM%%EA$}dQI2%P!J9$EIFv}4QC{h5# +p<(>1aq$QnpQA9fO!tqcWknnx#s-D2UW{e`f|HE;W%b7k_{Qc~4WwXuaJ$R;H9Al>rS`xjUhTDf68T! +U#nG-X43(uSV7P~k94V>k}M*O6BQEyLBZT;%Fvh6YZdN``DUqtlvvrpPrANsNm&E*{!@AmqpaovRXv% +m{s5k&fKX|7Wf|a`DuLbdH!TE*B~##?uO;04Y|cu=fu9Jo}o9?A#>$5r-8QH#p0GU;olFQNUdL{` +wVCdVJqXKF;}G~8d@yMuVTHtJI{1;&C0MIXC{+(9h(m@f1)}!3MLBwLbSd1V)}pc-b|Df@IPoUWA}rm +$ymFcGDoW(?84d=ym58Vq3ORa)f|InoagBK4;^z~`l8B(%KLWi>#rHV%{<2o0qY;7jJEk0tFIhw5A&v +(GdV#Nvh1}+o08X|4?@{xUh3J{f2r|Ji#NV4yUgpO9oLEL!*`RWUBr(tUd>j!&8qBVD!$xQ8SBnc(O2 +qb*B*NGY^bft%r9_K-HmZfHpW@MQ+P2(88cDkofiI@smjli@0o9o<%1D9p2oAM;e1JlN7=PZw@bSgsR +uZ1*tL9l9J?0u%lp+>@h;RIOPPP4kw>xoy)bPLzNm5?^8T556sdDt$}{$SsA~Q3a85;QL{7z6_sXY?o +J(dND4vtdJ32F>ufH38O`{*C(HGYhHEWS{_!)QIG2`}D5^`)x$tGt@A=WULi^S|vS+AAs;aGt!sc#!@##$4%_8hAH6#vcPFjJ3l +#YnU@+lU*|Jam2ijq>9a?6^WVTCDYw+LcRno_wg*8in;fq{L)L*{13kSKc9cB__<1NW|eZUkvr2(p24 +)meFyVe2Aaz8-un!F^3v|D|5%MfzcTL)|LSwYf5HU<>f8rmmQDm^4uG1N5u-i5_gxME7*8- +9IXXcSPqpg))WR_f$ynm+XUZ?Y&HI2s~%Nb;4MEZ_Id~%Ku^4Z4v8~^P=gm7^V+Vwp?MFz;pI|C~RLB +uPq^6pe4b132$JC|i>vg4F5I-WWVi +1J32_=$y{HGot_RKd-xr7$HKi@gYoUL*avH{-jQQGe?pCM>)FP`e;Q|uU6!$ +9Bro=_4(7+PyQ9a|ig7VMKl<3U(C`QQGh>l4-ep=ihVq!aV4(A7CXCMcaZ=?A9kUiMofy3qm5OI;7;i +0pXO!oi^@E>cEw+Z&qJ(P^JEu^Faj%o@{|4rHg-1Ov31gZSH{;^87GSNeP18)42O1|{L1{UE=&4> +{NV+gGC(WxFQ(spy3anm;BcdsIrz@Hmi9?#GYNl>;w-BDwmvkTuGgkbYJC80Ou}CWm;8 +kZxJ3(7`fD@kcUD4{Qu{aj8^6zV$Ab1)?8mN*8MLS7jx5<3-)J;>d$fj>*8H#%{~yozBrCK=AnP)=Gu +I*%#T+@9_E{Mg+rUCVmxR!Tgz@;GaRbQvWD}v#h>7q(tVwltZ)o_ls&a>eS5a@NAB+Vjy`k_XU&-e@E +!QZ9JbQ`|9#WfVtl{;SUR82|IW0ZiJeDO#gylqvwT5A7ebr3(euxe`P~B6LSG1coE>L`sq2cRFAG>QT +63h{G{?t$UR&N*epTR!yOj=O5_q2+dG~iU^Ta2JBF&m{;5guU4CB~}`k%-9DR^JAUGL&OC}o^#i?qqx +#T;u*X!qOi)8*J|o)hq<$4`qmQ`-hU{vWaVIhkgc=jOXsaA*v~^J@0QwMQTcPEal +3-$U`>o*V0*T5V!IrFYA~4C9l;EN9pc#rj5j{J!TjsjGiySo)v@3d86MbCR^pL9ESbJnAYV%O?N#vW1N^whWlpOzp`z!f>Roow<{5xZ$l{c^Mt +d;pHiuVF&Td_%Wgp<4E1RrhM94e!i1wc`+h1cdY|d2Mf#vg68LVmddul&ok9hY!6>1AkBmG&>71jYMT +BzBiGmR)bAGQZS?HtR~kiVp?&U3$EXU}p(@2=*v8>8vfMMRV|k2$7(B-5DElRo$l_-adtVg61{j2}O_lg#jtoRTe0}(nBYgSR}1Dxy0HP0<8;8(@MVf!herWl)nEzq!ZGHSM%N*k}` +7;bM#*E6z@ieKhgPd!?xn5aV|b#*osq+)Er?`U$#u@nqJD>cA0l8^<>~*w&A>+3OFs@t#TRzPcraZ=C ++%S{(e57-ZN&$jr&KpcipXV-iL9Xw4$B2(aw4;&f7eFZ>MMan$8a93zNC+fe(1!xOz<|^WN;myA1;>2 +FU#VVcU4-Oc^i7hFNBcCT+$yMB22!{;nDm{bw07m+g42p&z9PwivlsD)76;@F%E=kSBXAkaylwcWROH +g=<5K@(0?QBK?$HFQ>?RAgQk?OZK{6OQ|QFwk!YY$Ap&bO)#JLCdpXv@_9{?H>{T(xo39wDm$@5zXQ) +pIk;4F_!*~;@%VTT4BpX?z3@_go?Yruv0rBq=SF>l>>O#IE6b&cS=%DoAitLmoE=ZMWaeCsrROE>*>s +DH382O +KEtsi|S!^To{FL0`9My{p{cPQ`1~__@C?I!L`tb%O5C$Npk&!yX4?p3x3p!GZFC+~*EaXp?>l;N8)_O +~y-%tKR{JBRb<-vKwqkbD>YIq)tSW!^% +&Z=%lr>H4aE@I5v2FK?}=xve;V8RI8iG&_HpC?Q_<3!Cxn8^*WE@|%p&iZ&~1u9Wd7u@2rxu@>JOW=t +B9LAi!-Vqczbs~F(qM?I^>;@bK7t^WqzYvD4+8@p(B`7)LB&J%Bu5TRpGU;4I?#c<4uDKV9B~rHwy0^rL*EF5Jz3I%`D%`efsQ1zR; +Hm3O+ivWWT=h0-8~liLS?u&8ggPsf|#`ibFA(U%dM2#xJRCR +CoKC!(h|nZ|I$Cym>k!{rg4C85xtuMxribb}V2Sm<|SPxIbnFV5S +@d`+E(&kpl7Mf;1?gMYg5Y=}0hlD7KL)1yh!B?-*l}WyqNc?=+B +2S^EYh^sZ-wyTDp_563(l+d(MaF9#DQtlBUbtfrg%QIojBX`kSs5!J6|1?LHr--R$RycVwK$5ub)g9f +bW&o|U8gF&=A9^HA@{{vJ!m8EC@V0~v|W1!Wg|yUeBeX>w%M@wqxoZEp7RHwbyyC&Gl$b%P)zJ? +Pc~g|D>dok7<3Ec^?fazoYT)YiI3N_qF6%?lxiyW~7Nijw5SLo{Z`4OlUfE!)pC-=l#wt_L{qQmueYx +y2FU;o@vB&2VLy2*y?nm>(c1F_2Vr#r8yi1-BnIq@JrI-uvQdb&n)8;^n1Ftk$FX^8QdTe1F0lg#ux;sPDOTZ7*mCM-3&Wc +*h#fiVpMYY9s^kvg7ncca_&2u8Pj`BTda6V`-<-7t}uBNzj*jmq+ah;0_ikAZhJRedqZkDM=|E4?$8Q +8y{@n>b;*F}C?qP*)&W4zvP$~k0@%;D6N>WoV)%kz>Jejo4tfd7BO`ghJw*fN-GYpuoDYk3cdxo}R{d +v(;ce-Y!_6CYPUpZwvXJLK3~NSigAJFsYGG0Q*7HADIRkbP@0rvcDi(!f7r&M9~%Zmrxd3J7P$6(!y0 +TyCE&ya(_t#oBb}#Wak?ow9{+BK_`a@T_W?E>;mvUc>JvS^3CR^3G=Kldu$B*s+R!&YKcRy(8hg&5#QqV+Es2X(?OUMXKSPGlRwS<7RKP_8MsdABr1;>`uWc9{79 +btwApO__K!e+Z56KRqQ05&eXGFpOy8FaS~Snq3Aqt8hwCYQ1`fB&dRxguy|P6<*KiLUQO{fpo55F93oV7CkJJbXKD&2~r2m8M?H(F_(CKc&|8G$0AR^{urJRm6$?}y?5u2qB$|_F8rQdkAI$cyf4Vt?02YN6!v8UuoJO|qKAkG-Wz9hr9L +Q}abR{lT)H^+%xyHMtJ#{AhReXzQNM?-B>Qbjl0Fzc3CRo#D$s7t-VQxilX^{Tv=xsty3KTvwroAAu~ +RTF@>8>Q^G%Pcn?-?na4<-UYxez&El{$5U2`Bk#5SqB)~-v&HXJ|8xj7xv9F$`6rzjJ@Veap@^h|4)< +jd$n3Oh#Nn=r)Y?I5pxqo;VEn8fo;q`ATkH1B~qXD(Z*8nkIyEkJh +yCXaztB6XzRmx%pLu*t*q6ei!k=bi9%D)9;sU|)UpmVIVAsc=-`0jo9|M07SszcSBY|?-z>#PXZqei`;=e!d~86*7nVA>b#IR4x&J(1^4#Oc +_ll+4p8DGu_YKm2;I|`t;*7B;Zhdp~p4iDd8qAmbf-)-cWbFP_v8F?Qc14TNK&#qx29wP$X4#_$u5uz%oLby(R_9g4oA_gG}yvO@zZ2W)rw_w*sgvfC$fv;zO +|{M&wY-dDwmZr+RS2af%acdyd6+&;>-{07Z_U~7V+L64zcPwgBT`{;G~ykcky>fVAjwxLWd^8y1mYk- +Gc!y!4oKlLjg@+0HicU_G6-FM8S3;(k +@_0y63Xq1{C3eS`83+!=4;GB=Fm#_+2I6U4nO)gx`IU@22A2)bP7*(#L2=&8~7?{#rq=VmCq(T<(ei;IJ2@fQ^Hk+e;5-;H`aOPG7;mHYKgosdWDWkSZjnX;y%eJf +~@OH4dLncVhS=Clxl*U^Ud=zYJQFnsml2RY6aS02E+dLavRH~;v@@?0u?Psuve-*rB{Mf%pSm@m9$tn +QO&m$Hu;@AU_0NBLo-`^<6X$!{6%v*%R&3weeb@u`l{U&A`t@ZX-~Hsm(9As1H4xYL%UySvc0X{%a2U +mUy!>sfBx?JcrK-#m(rGCo$yv*Jm+SR=e)XW^xf_sM)rwAH|!Xr;#fKULk~WW{$qYyb%AdyFYv8t +{BNWc$$1mKj$WlhD%X|{xwK^IbA26ns~1qO#i-X3QLlW>*CkJO-I}FCKTsIsl5*zg34bl# +Kte!!}(Y#*|))=(QjGsiiCeNMJ6^m}0ru(U%t-eRvmUr8P?r)|&FXYl{)V-6ry6ztR?RDeZll+EuUNL +?j#(&RR70ZYtT$Okk7w6gv}4nQJMq7H?bnC)kp`|^I@Dy80ge_uf^SEr3h(B%G8f3=2ZvQG$cNriv?N+5u~m~gj +Q4G8X3Kj4#@})LN4(d#OGu5pOX#)Q+$wJ8V`<~X1zi!*9(C@tf$)62%x~aI(SM#-F@)B>HJY}4%s3W* ++&Fp@K?lQoV(|s`#NrF=iNzP#6N@jfCl>!V_r&5)uqPH@Xixkad{{K!Q}T}D33;c|Y{bssoeJfrP2dN +XKu)8--B;dH`e==Dx#nBEPNDKu@!Q>R#g6Ip{L!)TsCd7?JO!lJ8G`a;`k-l3o+@dskT&IqvGyxNAsO +dtGtNHxKk@Ff*@y#1Ig~n5eoqLgm`x^MJSx6=l%2GZXH~{6SGi7JX=iT4XEBBcj*X5-lwtT~u#f+jsp +e~*3%l;m+M;}&Gkvw0N@io+lz&UR;VkcNw}Y?dnbBlPZ?*hd@xjqNdxTzZgRL*D*W(;Tay)I4PV^>r< +eK+3eDA`0^0{NFp`X2u%CzMYXN($=H@^3-dBZq4@ml9> +nES?1w4&A7kOer;yl$Z(9sdt$YBv1+dh?Sbd^x4miNRydBL%O>i3Xg880>SeB|&#FADt|}q@a9ua4-^ +6kHNy$C6E#E8hgx3-Idzp~-BodB&`O=<5KI2o#gDL3t|C!;;)MB2GPlypoL^_TPhn=zLhm=j~RqzM_Lwj)>NN@G0Rjw^(WqucR$l@GP~MwuVHzEkP1 ++)rR^XR!WxD7)G(XO=V(0=gYclCw +!AD8xo+US!#5AddK-yX~<2j%FSU5(!#y#bz=@)Xv7k|txi73PBnbOHySx7eP)5o>=mL7b?@{yqYkmGc +ac@144)(l-6&T<{okcSG*l4Z5%=K?Dge`c?mSFw{1AqV9h>Tlk;Gb8{-jGg0{EcTL{cK4wq8M&6e@Qt +ho3_+111EyuHOf(SAn0Plg8#*5%0%<&xNz;OjEGXA0*`$>$QV>9g>eu*+{pZ9b>9aOwF>5sYJxYw3}w +lgMnkC7`P`a9Q(-#AataA;(nw&6s~Q_XMNN1>|k$oUEXG4yGU=TC3&Zl=z=_zLs-{x)3{GQ>J7K|=pJ?NIVw(H41YO!&lM;0H*Cn(=1F{5c@cT +Lbf?T1$Toa*yr3`wnY0-yE9xN~n!_r>e!!+?T<-kv<)kzQY-HGkK3FRIW5T$_GG`^J_ +f2ZQ9U0m)Ba)v(CQyzDy6^y?RSP@1hya+48iSROE<*{5&jW +*ac$H0f))mlKB7rJRz8TS9{vOkR&-7OuU#@=fSF~-n9Hi{aoTe=pkD1dn8{;u^U!KEx +xoW}G)^l@2uz#w3%TTt=YY_}wDS{rnXI$Kc)cfa!VJ&U7rwM=Wan1Yty~_SOl&E|!sBg>UK8DQdpp0( +K863Dw_$@A#Tb1LWKb;NZ2>c?UYsNDjmG@eDN@zQ_RCCsSpScTBUvrA884aGHWa=LBNV|>lOi}zW_+Z)qF!sz$>}C4Tyv=%RcF=yc3{K2}3jP)++Lw}0va-%K!hu@UiqS~9Ld1*7u_AWKr>rDeM_UznN`b^8bu7K;{rH(D +PpVCX3wM)|2);ijJ;9V`&WIla-)>*uEz}({kP0?(Qf$v&MJf}oS|2j(v`P*6jp*EH+XH2x$0;{^Tp}D +lhx;sI5kAlaxB#SE9j?`ZWuXj-SU^beF(3Y@66DJsd(_!Gye&Scn +$>KjUe%#)I)E%501)%vETTGHSkXmqod;S8XC@*l}Y8+QN?9br67C4SG)9Ib4N^?gQt#)qKH!*Zl +c{Zm1g@O=?}w_x1;Xm`-<+~PT;Ye6JyZUUZ?OAj)4X9m0e6}l&&dJ4>Fe!Xp#4^UtU<(6w9t`3+h +~%4|(aAO8-XMN*`~NzJ}0$G>xSUK>S!ae`+h~EqVNTplRFVMb+u$Dn9tbSl1J4*B%;JKC6}AncJQ@(1 +}x}Mh;u2CQ9<+L@NE!?4SoO@MO%%n5kt|^r7D|IAO*^TCQxd2p{J43w&2E=m(5!n%x;l6p)WI>lSEAK +H70ER22)ZeNM(8qz#)ME->uA6 +$V3j&!nTLqELrMU@sfn~<7w_j_zGpGNr#0pjOLq@0XH2Wf-hegN$MW-|;7Q(hGT<2r%jd|GY0d*yz;J +{n`qotbW7=ddswDtImEroA_{pPzd~4|j8<0I%AB^_Eg2Oi+>FvM +c%lbB>R>oez^&kIrLlz?yKs-hlU$kAA#9`IF?mH}otcdGBZZUFBb%^Y<`6bUAQfXPo4}!g=rG!g=poE +|m8kd?b0khNoiZwVxExPtxBb^V(;bF&#(cwSV-fa9(?1l($8+;s4FY=e55OUfvA2hOC<8=S~{AHD1XQ +g^cm=kH4w@-u_!yM*NA<-!JJ$r}(ayJ_A_f8vLK<-g|~}0FyJ|_XeisY^i#qr=z3iDL7fsZ;9maCQ%2Ju +;j)gTcS=af^ETo@}L@h%$`v;VM#odKnYI8}h9Fi=`lhHi_?V$HI5urGl9*^K{LY_>k!~bE#i69BQNO2 +IohZE(ARGTZZO-sHq&(GB&IO<4BZokw@xnIIrv;BHz7=ckxm0ilshV1eqfz@SO1KnbPl#ak&nW<|tSy ++Isx38K=w0-^zI1(es%j{LFnpyOaUoSb<&l)8A+z+TxxLBu;J(rgt?fXD6NSLVlwgY(aac17w_B|V9VW0V!Kum0=l@#7f%HT +22i7@acW#8VbNh4#$H>v52RpO$VtY+(aWnqg@PCRiPukOhu +Q`|=3hnxI@p(q)$2w_^^X;4B)q&Xw7BmSG;uxwr>=@=a^J +5nsvTK5o^>*UNiO=0f|qvYB*uqg*HXOW@yT=18_Q`3)VxOVK(4H_qXOz_g~Ya(JA?lE@7G7#rk;X*F+OJGxqn)%om9?tYK-shU1WHis)dN% +CMnGUBCjyp4{DcTRzfMLWnq@;}deB|-N)L}#U4+B!B>PMRQcIuk5u^bO;^nL|8Q$>$y^gY1^ic}b}60 +PLOE`*u;!c#?)e4KN>@~_HYmofdj?sqNu8+~p+C(`zZI^=ygbvBnq;41C +;`j4t_Tr0L)X0-cLquuJ^kc1_9%*cL!Xny}FRJFv)IG8;pW{x-Ng$YN(sZZJsbW}2r))Jv|j|K6}{Gy +vQ#h0A|oVGn%*m?{2F}D5mup##bLsc0f!%00{Qb^r_d>Z?xY^hELA(|bg$c-bedHXrvD<2p7ch& +!1VmVDN$fREJm$E$OS^B}E$^)I2eY{0GMDU}DrF7LE*=5_$Ts-@5QZaF_2aLXe9KUUe|$VsDLPN_Cg> +Xl0yG9_M@YH<=qrJAjtxKOGk)iZYj^%m46Fh3FV!PFS^yj07Oy7^KqM~@x0I3JhPFJ@YXa;Od^WDnH(yXH|Z@Jr)&TbC1O${b7Gy*K72?kpwH1}Q7q3o`YUU{O(>9E*pi5H{|1Frz5;}u~TnLDpF|N!H2G^tqA-EnM +X9x8}RuT9%_$6wi~n8`6ZoO2c`YrTc3+cP(Ld4f?G~;n_WLHsS7uyk48au~g4x+$g)2Gn+A^HVcoeXV +(&Coz39u)bIG&oYQ78#rPd3zsHJK9t-EhP8FA$co)7W3-j|e5j2(bbVR2Mno1gKvo}@F=#zd_wadW2S +Hu;Y{N_ggU)23FW0aEjDEJH42yjcb$hE!lFKYj1DLqnUXqsqHG$`GDH_mODUjuYV*uQ!Y{gTaG*4L+~ +xS0ayQFxE1yMOW*wa4}0@ZJmG2gmY1*lpgsF;1&I*Mm6Mdu80Yc<^6wZt`jugEtt!|5K${r|EhZWxz# +to%buVJkv#2tz85;zY~8}I7ptT8E4j+KdbqDM4!YbWsFFfn}@XP&8V_(^S8lQeIWVQrpkdY=>8C7h<* +6ZZ+)AtEeKRFAJ_`FT@z`61-ifgYm{vu6He14&v=byb4y;a%whOtOp-k0xw>l#{^7j3fOlRY=1Rg^_0 +QA&NuUAw@jOeC>X^6jq$cK?_2)K-G`4Y#b+Vg%oOTJn)J@8Ge5zfuJ)QwAINwcNA)XLlOk9aP-)Erx8 +t}3_=kteE4(Rome>diR+NCRAc$>u-ztY82TgURi#LxRsFIKKRgc`>K^zk&tvD+eMb1Xy4MM>nI;djQNE5=yXqfUi +{Q{B))`8{b%=^LVCj%J(7wl4}9Isx!O{9XB?jJ@N&4gC)+XRdRdxfe<#Uar$5UMgKyy1Ng*P5k`zu#8 +dQXIpp4I3hOpJ3Mb!>zf|Ln7b@SoIH#n--wgfzo4h20^{k#x0*M`j`ebUYdHnDmMvN2rVbgjzzMwcXp +TkAr$mX%YOf{lvqH<6OW3fTXuOyKc+~VMKWz`-u@8KWUGgwE|G{5uikJBKlFe8z6CdO|1IPE?BhrZ5C +Y};UP5dN1Aa2U?5xDd2>uS9&I40l=$3z$>VE^Jw&mON1*L6y!87pMpxV|6(84J_``eFs&9LJc>G8P!) +Nv02*`HV-$Y53aHJS$ZUfqlfm5r4-OtEOnFX{OwDA^BjuJjQJQwq(%LiQ)u(?0K&B8~j%n{uiui&Smb +P8jEO%%vT(no|?Qkcx)LfUC4Y|%$GCQCb~bgX89hB7u^k5qjts@K>Iv9J&<#Fk08(L1ofNu4l?J81G1 ++k>Ze-U+nEzb%F`J0RmsM^2+k4EhHiNtYm@7`$QvYx6AQ8C4)EnRv88esJgs=w>=53~4&KS9x3c^V=R&(a#JV(FvJRYN?5yFkO?Jcn2RwQMbH?!f{jZP8fwfWUh{joa` +U2iXzbX31e8PEexBPHq-aM~AN>cOI!N>M8&otJJKBAiw)Y$pI-^fu%e%h3a!Kdt6DtK?(bm$7&JfJVe +;^#enY4s$Te^+|gY!h +IV{Wlpe!rxt@@=cbm!E<21bk9U&6MK2`x2Hs5HAki4!PE&Y1F-yFdqrWNM4QqFB=2f@$J8j{B3UP)^^ +C8xq#m*;On34$i0*?B@)DD#v3%>KO*l0MO6*pbpvgpwH_&d(cg?YKa8BcMV=3q7K5iw%QS46c%R2O`- +FvTYp-F0@&tHpe5b90U6zTHvV>WNe4<%KH|!%~`$>-V`=Bh#c>Bj+3&+9P{G^iGujX26q8sq4r(96p( +~--V)}=iKgBX9+5!6`{r}$pRZ#opw#=0lf-T54R%fg;$O3;IMqm8=~WPU;!M~!|VB2L*v+fb%6OBBzK +6N}j&Wt=^fTP;KL)__JH2hVg2H0{SmZ0>TvwF`TRu%&Kgt|rg>V%Hmh8RG?DocVYsVf1^Iuedou0)uEe^a{o0K{Hj0GHBH<^2Z^dnxyt$i1BYF@1$wlkm8s+ +!#uYn;9>3EEtK{$-E-kL}nWi=B_AY{40QIC)KSE9=p=&NEzn*tt~{NS_wWxq`9<=(OrLc}%~J;O&~TM +Ai2+XGMpWTsL4%au3QlDf%Y%U5@`(pnpD3!2hG#ggWxujE}Pv<$0&>le{+Ndr`%^$>a=C7y#^;x9N&i +wYvj0^<0E!j*0PGo=@%hsx5O-h15%9tW~M4xi-Ad(lRQj59+$~NbbJ8mvgTG&$?^s%ef)&T{8A{l4@% +P+VV_4lAEbzx=D9`j&V#+9-8+Y;PH@1bRHE+b)C$Oai4-=9LCNuGS|Vg7~8@)1=oET+kjOB*=91@{70 +hjzbyTv^`LM1k@iP1hNIx`^7CG9zh1NXtjyzRjKOJ)Az4e7w#4tD&H`hN-nBp1KG3NDdfzkFEk`xSpd +I6)o+YrZ`q%q3TdRG#b<4Z>9%y8YeA^)7Gdz61e)v}?SGzi8%RBtG#_pqS73W1)zke-3# +60e`oi49(>}Yen4wtJ6(C6ASIjjB&eG73}8sMMeyY1=99H_y@7KiDxy&USRA7zGplM?(b-v=25LQ}oOQO?%ApxbPkYy`$c^l +zC9V_j>-Q@}S7QMEkC&JSfeEZ>8saI1h?PbIpD=LFu!oqoE#1#t=(3Y(P^*eV;|e5VPb_j^ka}WMApa +pq*<)5%qzf^)halMbo@PMxIDZAK+|0?-e8UW}%+mB=f;neqcqtv-(EbA27d(&~E#wV|eA^e(+q>=`1b +KKj^oLk|ay-A;RAFqQ0@;`anD6oL0{9I{Gwd&AE#TL|T<*b8ZC8CieX6B{uO`+U@774+n8h1$WvDz6v +w`k{_z2HF{foZN9}V*T<=z$0Gqw$2SVmsp`H72L@Rz(ge#vFP3$Ay9mRNy459R0mp*^hK>cX^lv=B>=}j&v%D`$$+?x@oWEPeBulPiTs?k24LI{`m-l*j{t^D4nQZY7xh( +$I$y@&saQox`!7UctoZaZl!`)BN1;9X$F^wIeGHM>8s-0pwDuJH98e18}1?gy@R8u;308;!3mfF +1Xh4e%p8qhV+V>`GB~;IfX~8x5GXU=HSZ7!!CuU{^|Bh4M3Vi$%a~kpUl$$Al+g;xXXK`Ik2|r>l1by +Xl|8woEv^ZNQ0e*!Laqqu>cv-XFhY?fv&Ff4iL%ygPpmxi?Lu$#_e7`*NE>TL$p{49>iTHy7?Eo>^Ak +e>gB`^>0rU-MuSp-lhMXcmlF=RUgV7*b!=*%R3d!xjFU6xx^>pSNVlt694}*Ojds~m~;XrPviI65)}v +YKLCs4uY}riaV9?4O82(B^PJ&&5hP2{z;;caZLANua#~AU%KYUxy&U?|EP +k!pYzVK+geQ+uXN}occthhYfs;QxY?5FBrI?Exr`Crp!}>Rc?t9F_^#RQt-3v<^)A4*e{g}Huxe&(t@ +ot=P*JwL+qd{1qWptzO&OxW8NSM=Tb|NWcx^2<0N;$ATTy +!HNtM#@U$n`d7lSYCjVJ=Q+VpVI$h^O%_$JCWq$~o=^I?^Lc?XHGYSlj`s(ETYMfw|D4zIS?k;7Z#)y +uw-~?wX;xb<`TIB0T5^duq)$If6ouco>ECuIKn6Jq-f1uJy#HjDcOT`wo3Gd%K>M>WAM%RtSW_6csPf +i$QMd4u}*dWvzbHyY8mjcK6}^jGOM*{Z^bv4T<===G6~vv6o%h+WfhM$!_p~cI +=6P$s$;A)6CuP&C~tl4+BqM~~$V#GU+A=feq(iUU@e`*MSgamul89N62A1W`yCk$eADOC(-9J`r9QXkonGZXJ!+JRbs>=aH!q?Sf8 +xQENKXEZa?%?XDkbH!Iw39@+){ko(1@Xpw9e?_|56Cql#CK>LuLv(H*HE6N)?x8$IHHs<}!2zn7}C%t +I(2HZ5foo{Xq!;s|aLtK%-~VzL*RBMvoxW{h!IB7CaU_yfjLapPR)pvBqNEjB5ws#p(F)X6v +;x2J9HtdnpcOxqwBq-m69w +SAted7(**g8?@qjgH|wpB>Ra)D+ckq2DF0mE@4%RZ=9H*0CxvN{b^J5iq-_(U$B1`wj3|2##>hF)=85^->4PF|6M96d2 +V>*70xmr`KwH;%;qMkh^C%lqhp=H|N3O%-a0aHy97_jF%iM$1Hx$fjZZFg(OS|VH{ND;(c^5E)jGyx* ++h{ubqC?yio6e?$=V%$9&X{!eLhDc#u?~Me8*1ZNlC`GFL91~8z>;2Z6nprs?2g>GFkjE=C$@wjFC?M +w^{cH*%7JtC13CwC-~6W7{um&lk(Kpx+m26VJDQhI*M7UwGk#*l +}B=J*>>7V%o^byp5XJb=l#tuKKmdO*^&GI&;Q5Yf4*k7C2sI=EHk&D_{#cYR35AhOs}$c!oxM@zTyJe +Q+({lX6(;$Jxi8$CW<(t%!RQhfQoww8gRq{OyQOd#}s^lihq`0b~Fd1XM(YaZAJv*Dw_aaREg{z@@TefI&uJz?nh8w9q!xGEGa +fOtj^Tv{`9si($54E-6}>nqpGnQfXOXrTovi_uMx#Pq4n<-|zeX{+Hjw@x0Gn&OP_s<=uDhdH1p%6QP +ac*=cy@e7V>YIs(s1c~2LVQx{t~6z9mhU|Y~b-wpjryz|?{6^+@pJd6bY;b;m&t#n7axsYe6H6^x>he;jm4ms; +(t*u2OHCi-#?+3QKXmQm-#t#P3y&Fy;UDX=fkz|!1Lkwx8+>^Ag69{ok-u!xEbg9jPM+0!NPCTE8_cE +7+1VnBG$84=yx^a>)9x~Jcp3)v&{GS!Eb0i#Gc6+VvU6FnT&H1U1RuJK`68H+t2si_7BqT+aS-@JNcn +&S%z`j#u3#{o8qSQhW6~^Q1>op6yo|&-)iUcx3RdFT+Rc8jH2Ct#S0A$Yw)Z<4A0Mih37P$DTH;1$1e +^Ga829EH*7$o?!_GgwC50N&ptd&`&7hzP3O+yo-ly7DA1<^EeU0TSFQ;^+~=jSyzErZS#-MX05^ymaO +3^9och1J5&eI4=&$vUXJ9s_{{x5qdHqlL59+_}w7dS3r2eB>%Bg=<|Iv-gnOmYjZ0nFYL<~059i0W@tm$md==L7 +x7bF!%{lDL*QMq>TY+L|4QB{lK1CW_dVCXK7Qjp*Iw6&J-5X +kYa|cJyAk9mgK{u>7_Ydu8`nMAa9^Gd5p6#g;|1i4^rr?9l?*{g~ +%)_m`=P$}>?zM)kx596vo?XH +j`*fH`$oaGFS?Xb32)ttjpTF!8f_t*3ianFWH=A-Vb%V#q&(Xfw@&4*{hjoEGJe~t^9@^+RkKl?8fYF +}+AzkoZw1I*5(L+lt=b}n25mE7N817rJE!d;&UQDy}PmE{0vIXtjuf`k>T-f$WnWh6|ai$xhriZ%`SX2Ujf8>^j;Olrvxo3I^xf48^miu~ML5=eIJ39Co3u)w8f}cE?!*5^czBsz@f)FnzZS+Gkr +8@HG$~)A8{L+ODt%V$^C#wgaNkXQZ&C +N};(NNG-Qm^)PQ9C75@$$+Lim)1hOK-q2IN1D-(J9TFl@73`!w +0}=LUp6o&(37_d +H$HZ}=gS+99gp~F$Bu2(u~;<7R_W{h{^GueFOI|7N1&b1vLj+FHpPbx8mdbgG6d**y0$s{^elCBBV## +j{JSWAp*I_h=OvZ@lVj1x);B&D9r@*r$D)Tl*j9Jh+Gxg^LcWwEVq7Zsb`ay%K=llB7()-1x(WD}zUR +Pm-y7NccWiaTnj4KpqpQVOl#e|jKjYWmcua%(MV;clXs+quIt->40sOwvepl-uNC$SI=D4hGQ;guKG20HnEP+ +)jfb`Z{T^~_-z}!V;nJQ#di +z*<{am8S&K1OeDK`f7!Nrg%Fn94?t6ho_8VOd{88V-k2b8qeIr+K98{5ch<^hebkAb;YMci@pZTJ`v& +YK0kX~iWF+AVUCsxQc20rhqW7{xX8weL()vyNVVUhRgb7H?fjE8Z`ui@U{A|8&x@Ed#VkIwIN--A|b% +P#aH=8|!49XcvJ!)DOeDdJo}tkYY-4foTl>1r&-ehlaR+|RMReqQUc*gvQm>jL&o6ZVU}F|nVKbK_&d +4ZrhSrDJ<5ec(L@#xy0k*Orc5n%E4_D8n_M#ntByif0Py^-anTKIav-A{qHbf84ON +It_qu7xF;>d!?3z%R)suEVR8T0Rr~0>(l+87y(jjGZ~0Jo-;b252+43|pRI~{fNBzV@GSJ;kwurKxAux>KW6Z>=s2va<`?K9fu;&?Z^ +MaO`!MZzst+8?*>6cDz{W6o)Bct-=bIwr<7FfN-A4&z9)x9p|(`F`)wJOb^Q6IvUGw&=uCCg6VPS7^@ +~A2z4#iJ1Ajz0e+@dCp=^z0aRDJiP8>McIpMsvp5S>35!>2hR|YOE(91pmS?BedsRQYj(@8J_kZqn|5gc~V;N66$I06L&ucuCh?t`00q{=XdsfGSagH17J?^C~&z2jCZ +5hTS-|Thve~(v)cNTBaS8a`?Fxb}nV1K}9pJJLrsrmEbpN;Lm4r4wMPXXGD%j_0U`<)=}$I+UHHSU1- +&ei<+3GZg-;8|{j=K}8cm8}!cCA1qk+fJO%g5UU~8-DX7&uDR5XVRpDJdyX22Ht-Tu7hVJV!@wX32)5 +?;NA>J(I3Xe=M<4==U&t9{9CfDr+u#dSY6dK;Zb~-#c!NX?H4xqH6AT1R_j>M4=w87=#Jk=K^w+(G+j +eObsRodHnv`=)Utjzft$&rBzYKwJ$1$S6XtIWguf5mV=?@-hHBiK;)kmZZ&vxS>G;0WvO3dvsL?Tj(%l*3&D8-4$9KVGo_}yCC$iFPjnNR~*`AQ +fk;%xPK#gdRQC4UyPa_R)4NAECk{w`z;JDo^VIlt+Vb7OM@StlcCquRG)(JG1`yl=hsyG`>+`xS4C^! +|A==gN_yy?drGS7Kxg575?=Q +QK6|b>4);=8O|V>TH5tESih?jL6y;DH@1vBJg}%1Xfa1JA%7#cEjYS?tlYsMX6$(Yv(cZTsjuW|nZxTaogU5 +RvYy^dXMxT9)N$?%circQxt+sMI>%?ZDGb9prS7wtVha>L|H-d*FI!80neIIeZL(!ym;`BLw~nMGtXdtwt#;0u+MyJRwcJme8<-#-yRZItzBD}sDIN<** +@dH}*jDEf#CN*i!{fPV*p--5-1+xJQkxGf98y;U*HS+wm~=nMU>PlS)sAz(Jp35s__n$j`?fAG +*poKnJUK9J5QN~oGHervK<>7=GRiPGJ#bOg6YcpBp=jjDw@w>0)CEWp^hd4z0_o}O(3^q#?_7f;fQp7 +hduj!$q|^*4b_c)#kUFXP|Bdij^}vo+xzs=5UW3uwtg16r|80p6@*Kr_}M0CkVwUWI$I>Ae*FQauYwn +GJP)0|T8I%An4ct^=J^pqzee5#VL((ALJUq@)`1QGvJtv9Y8&USf#rXK?!au@%*)7}^*J+!JVo;#J{S +v#L5y@%uzSy2EFf$A+|#yubAZIa`68EkVu}AZHlsU_%}Id9dkv#c!!E>zLx>Us64R^INhGWkZ=khg`N +eR>I{5T~?rMO95MW*rh@?#VH%g)RWRrYiMY|^x@f6f!|%?II;@HgJDcLkG2K)EvG*FY*cAO!(i=m$cUgz4FMM_&3>fZh>n*j5c!YD)4U3UM=TyVa +{**@m$#J#-}dl8i=quK4zZ>d}=^Oj7R(5RERl;wiRN}G;t0oj=NTQ^7j?D@BVRL{9U*Q{I#ZJ8Tt7?n +{O!}%25M45bp-p%cG9-8aeM(zrZua7ur*t(rG{#YiFCFl!jz0p>W^UHXF|^Q^MfB4Y@P84pgw>zEh3$H~7rT@e1a9#pEc#eE*6Zr5(i8+h9yIAPwU4?^{96xgzWy^PGBb7TlZZVVuY!T>H`*k5&;o;8} +mxqjyAv!hFk>=Dvvv_ERj!0OQ0e(3x)@%GYkdDOHZPa4+R+GvJgecM#k&a&HayEx3D?S1{@A`u<4h&6 +o7%OM3GefI2(nrMI00T_L|Z#mCnOa_ONzfc)|PV42Ig>tP;xkH+lZ@O|s`02YAnV4tzzAzPVo2!5mgE +R1XH^E(FM_vW85e{hc*Vg&c6xjXhL=+3}BX-EmUujTGx0p8qQ5AM^46f(mQ2K~fJ?iU)c4KVI2#B?Rq +4{^5+0XUy2=TBU1m#*IRw)?zjS9YbY2fK+bU=H>M~Hc%W)bO +-UV(1b)3^tsI47)a#6@p*^&QYr4UF^N^JQGuIETc~j~E7gTeE?6_rmzMD_dC$V?c5CGVbAtwgAe?o-l +?@eoxE;;Th;b@Vm6zn1?c4d`6dt`>5B7GuJdeSZwI!al9#WZO?(Z%eU$aS8Sf`t&ZFY*-SiF*^#JD}!tlFs& +^?}+_M3-i1pXf@zCFWl>i4T$$bcRhE%+)28Jkvrq=sj7P@x%+eX +tsSL%Cvp$w?m?=1NA3>e`YYe#y3p0Q!{vAmV_?q+covO62jhj_(EduHotFEEa6j;H@rSE0Tr1abop`t +^A6I_k1wTL6aG{Oxn;`gkyM_yEgkOT-=g~6)`l5lz1J9`~BR#;ougDYVvW#>l+&Yn)zl&Qaxdpqpg^` +=V#f@<{l))Fqdw4F%Oz3~{d)t}N|Kgr$Gok;*JxzHWh3{`L0M{KO=)Gk;ewPA%;oukN#Ri7MJ0`wctK +kbn1K^!&#|1w;uNrWhV6KB+eL9G}cEFE^?M(7?W}s8!m2ALM@jI2g4gr?VBFsgd@!h1>>|O3}65%Z-i +jNq=#uI)O!cLyd-o-u$-|53!gbmE@Eb1iixfAp&ke~yKoa_VZ*)i@Y@u=U!4! +*`^rIkpiSgaW$?~`yJPV0xR^PTc}i~Gq((AbdoPx +NeU3H9czN9Tw>O3S4^7Z?xg@u&DKeF4UjKG1(#6rWFgARfLW%l8A{g~nAA6jss8g`Z4E6Fp}c$EuYE&KZ#TJ|JfIR1%)`1oE`( +jtDD1>)t#u$3#kb`8gLBX8Ma)k9c#kJt+F62tKx&liL^z6(84__;_VLobkFHn^3>L@Z-5?9f#38`NA$ +^oD$0WR)X)AdgT_A4R@_%LiGJpACM!A^s%fp#mQpR`Rvu={ +oYH5Pfe5oIQS1hT1pcVfPds`0t65#i#j%_VP89^p2`wF1?o?o|9^kovHgp6C-c9t?o1Z;``i{G5$=5`k +63@sdIaA*5bBl8E7lb(4=jt;%LiJq-e7ttXJ6poLh(J<8|o0|y+V_BXrHZf@oYuXdzDMQ==EnqY9F*u +g|?j5qI4PVW#0ny@+#;h9P|^7xjes^#zP)dF;N@kh+=lh5c(;i>1q +OA9Bn`4(P0abmkB82ZX+wI2m+@@#8>um@mu|=wqu-BV~u>W`T0+1$vvUR1TfFsB=!5vSA(8lbHr~3GJ +iaN4*Cbqr#NVd=CTMQ+shk!!|w8nT%a>2w7VCGvigzp(;P7F;Y?ZvkCR!+q`s{57RB1iQg^s=W7l@;| +;(ghF$W5K0m{gr4E5S%~X_29-zB|F~*lHyVy#bPvwXU9)1;hkXP#>wzAFgA=XGJKahFl&2T?nQ4Xa74 +Tj&2&^HrTgl2;9-0!{QV4xdQExh-OFoL38ab +TFWZG{*lHsfPe5v+;`e#%^kx*o2_)tB`FnU?bwx9?`10u*EUp@#~O!Ld9gu=!>^sH!ZQtDh4-+Y;D +N>B5`Nl9A_PiQ{*Q)lN;nxLzst#ZrJN}ubby@?@{hK~% ++P}ONKL>Cd@+sOc!r}ek8}Kam<7IiJ_g{zE@#Ds(!=x!C$qjq{n#Zp<2&1QZb#>)Ny(nQ5(^Rh?Wz5gXjUGHAF8GZJs7*7o +r1*#u2@Z=xm~kiLM}8Msz#TeMFBDy+HJLqRY*K-c7WCXeQBAqBBf_&L#Q~(M?3(AzDrJB2mwDK?8_(A +=;PdaH8XhrV`C1dLPkEMBgI1kLXdNwM6TQHqQ_=glHtuQAAUTW)q!HbScrtiEbkL3DM7q))M`R=$}Me +W(sN`8cB2%(L|!@L~TUxBf6aEI-<`LeTV4hL@yHcrSj=WG?M68qVfu*^5{!+w8`DSs5>(%u6TeumREU +y;hskRM<)qd^^C&l#W6~w@sd6g;YwZ={{E92=Pxh+`8w{ug=o0ZJ$%72!ADQHgs?Z^QjPyw!agz|gnb +Eb*WfC`%?TgX#IGgXjPON`KRfP@{g1oL7ku13y>P;QgrhX^M;&+9>uAEBgp)Mn( +)~g|6C0&(BPuu?)tt@<6o-b|B%Lig$A$IgkP({Pib%&VOn5k&uaY3HTXph-l9o=tHyu3#{V6Sf2GF%1 +C4)`2Jh40gPQn9H2A0npU~hM4X)MTIt{*{(bq){zN`sfufcz6Fgu~C?;314;a)$(Pq^2YD8fO6lQjNm +gaZf{5$;HME#Xdtw`=^5YW(Xp{=r`f+?BAAaEMHwuz_$X;V{DGgl{5zP!spP8bOTq;w-Q`(v(mnrM2zQtIBHT^Nd&=EEoNzC~(@(kcFFNI}uQI}22v-pfCtO +cBLh`Q>xC7z18u$KqI^otbe>Lv?r?$T=(S%>C;lI7cy?!06ao5j9!tI;jukGKo{gbwRYx@Ij|D>(|{- +*_QLwM%Qbd%kjDb)u!Bh#Fb3$(yw&oJdW-R+J{z_}`RWLxY`hnX|8Om>GWo@>r<nv=*kRiJz@anzZofl>%P%n7Odv1b_lXwurx#SpK7HWFME$&p`$e#ROw`}u_yZnjtQ8HkH_-5&Fa`#CC;S# +*9Eh|4ZX&?H7ySCbuOIxnV?2m792ndL_Y2^6C;ZapW;smhx#k`uf7;x14MrvQU}=ux0&{+rbY^L}`QT +x&J4_BshGABr$(G6e(oikdSNh+Q +d&lSL2*+`!*mKW9R{1(QE0RBVoDnm$I_BhQ{&ysRjn27xN*i<|7E?V`Y$0%%g?h~3|NQk7OWL%P9=$u +TKTm8x8LCwA}!BkHO(?-{*_X-;hHRG*YeS5&W+#o`oBSFtiQ!pQyw%8i`C+=K+iGXY%^p*Fqu#3Z*rK +6EDl%sTtd0l;~OS-U46ZA=*IN;7yRAYyCd6XHf6drd$m6^bm?Mn!x{NAP4i3^>PA)f;Ul6&eMyCW#W3 +1z&#+kvTm&?X!hFQ$n(THLU(l8z{5t;_o6S^A5y>ge0?F7ivWvB>4YB!o1-#x(N}ml`HzYv5T+&T5S@ +W&MdHIEQ1C)>1UI4XGRT^E*SmT%0U1=mtV{URRrHwDKP7}|QeqN1G_BW}A3w6D`*x$QQCOvbG3p@zBr +Xj}wa_p>U&dY<`JzTJi=dF>$n_YkDG}M)UW8qyd3@3HltP$K8)n48d&$|)a7;Q|xrsUOPZG1gz{JN38 +|Bn0rTz~J9b%trE*4=d+ti4>@vur!s_!8?}++F8RT-#bx{eiv->Kfnm(zZvvCakM`+Pt}9*Zx7ab8Xt +*ta1Ig*2f$56I!`$)c#%j3)isvM(~ZU8}%FdMks59dNcR_LH<}1m}%nwPy7GRUE$2i3Ry1v^%U4zn48 +5uEZelFoV0rqskk8AM5fL+UDxduO?!7DU)r3OE$!K*ZQtIi#7(_lGIA={apm&s#xmcjCwjhW%EFU +#aQU@SJ@HU`G8Nw)k9v)#^E&0hEUZsR_89Q=#G(}@;Dxl_XhK`V)_ND}i0l}YaN7AuHvX*1z|lxWF0n +%5^9_n|xgq9KjX^Gknu`R{kfTlTs02`5~?*WDd|ZJFq2bfib5Smwb@^j9sI=pRtG-lTIqQ6HkdvOMmTV+z3CX&M=wfoem-yU +A@u8mb7V|XWjU>mjl+HiM{Y{eV0QrAG{6Wv0zif9edi$tS-64V45v#>tA{q$k;;NA*UwxmALj!et}cMkB$<1V?ZKm0F#e;q#yT+ +-pr#{J#nvcDNW*CpKn{O7#>Dt<29Wk9H0@R`r^VgVPc8^8YlE&TE!pLX~^mut&i;>f?vzW^wvU-a@n117aZ2K=r3 +V|q>=RzQW|kF{8a$pqhdjmXqEKa86JJg_7jpb@DTlqwH2Q^<8J>yo{Ryy9hs967Gz?=E2`xSDuPodtC +=A7cF1__^j-YSX-AU?3ilGEi +`MxrMS9#lY6{6Ef;Hpy9`rqiaEn!$+tqzSbk*v +|9$&NeiFHptwf^Z1Wg9m=^Xzla|D$|!#S1UK^ztiPUVZKLt=rysbNi0B-hSuZo$poddVlu^AAa<4)t* +oG?%RLh(}Rbq4HnAYA2TX;^q8^Z +;^N0oNSK&7DQR+YO6ruU)282go6vvL{{Khl|Nn>{P;vhK-OH^9RGfdhzxn6v0bTR`ck-+K(>Idm0M0* +B#X;~VT@eMi$p5#qO!;=le>cC*d~014x9JPxpW;1J($N|kr=bZNnxyeh)A$!?{7W?c@rh%Z#hS$uV-l +IwWJMaD0{_V=F>njF!+#Q^e|+L-b;b<+E!Iqq&AlQc-AB(LPlHG&lV~>4T%rX;9Yl+WE+Bdz(G^735- +lgXm1rf=eMAouJwo&-(Gx^#h}IIVBYJ`8MWUC9);Gv`Ct(+=CmKYwBT>n}8{ytW2N5+AO(Hs-Xf{y?( +ITQHL{|_kCn_t^cEXiJtB4*XdX#7l(K@0Ri9&zOsXtKz(I}!xMAL{C5iKEFN^}L$wM5H^mJ{7VbUV>X +qE$o>5D=5#jEWP|q*8_;4l9?~CQn9E`cXR# +D>0h^TJV2Sy2*=VzPrGhwxCR;Jav+*0aCgRFD!*>~*1>YNi2Y-12KHML8720V*A9y;Um_A8dzWSMaFHcW)efH%d(`SKdYM?Q~BF8t};ERn@AT!x`!JN$jZZ;Svr@)#OG9F_zac6 +#XOwI=Xk#Afc}MS7Uyf`bFq{7yax2EkdL{jXFd}m`4@7o#cDb>7Z=h$$2k8aE|I=Poi7mSn_c8aIh^r +@JcWGTf~j(ec^5G+N%exunXkGDd9|UW{O;~COjMR6qC)P8tRLt!6aFuDktdV>dc%``BK;Xumty*Z`UH +QsKq`6gzn!Vo3ev>+kSTmV9Ix4+pFWW5B*OFgOkFIo$SUqdWam`8;|d_-ZfN?`~-=`Ukl#xt +*|Fcc~;S*NUnL%k|Eqgys5U4Pm*KSJzrTXT)`puw2inCoJvwS%AQD?MhEr&b9j!Zb3Mhu(Z=P5SDho; +e_S9Pb6V!#~MXg+N~N12NI48kk3bPB@vc(q|*tvC7eb$m~b{>Y4=({She#dEbVAZ0_1a8T&0Ai-SrB> +p@i2GmUh%-gbjqt33n#Eg|M_Eo`%Caa +BG=9r57Oi6AmQ2g2D$8E+gEA@D{>trTz#9OZ^dUFZD+_MCyxh2dS?%)IUgl5bh-9B^)aCLpV&zPuL*! +L%6fl58*CSKZLtV{SfXZ^G~?D%s=6qWc~^FkohOvQ|6y=gv>wTUNZlLd&~T{rT&3%FyVfL!wC-{97T8 +#;W)yB2~Q_Hgm5Yjv`!2cqrkugl{2SPIwsM?S!KVR}mgb_$Xl`;X1-GgzE{%64tk){zjHJ;W4 +tj36GWKO?aFvZ^H4iya|t&WNtQR^Bw5~slVy1mo+`_m@HAQ8gm07O9Zda`tn +Y+#Wc~@~%KQ^vB=b*Lp#ew|VNb%5)SkTwr;)!8;R3?Ggi8oFC%l5NKjAXMfrPgZ4kBDhxGmv>ghL3|5 +bi{{o^Wr%`u0@62pb4T%lr_IC2S;|LwGu2g$7jFggprt5%wlrO4x_+TEf1B%Lz9pyq$0e;VLOF;TkCq +;fqopIY0{`c?kOx_9ko~>_a$`urFaF;pT*s2!{|(BRq_70bzv(cqKA@!YgF@gv(_5gty4_30KPW2_KZ +{6Rwfz6Rwx((|}Rmf%p>+ChSW%oN#l(QG`PX#}OVzIE}DE1Ihx)pKyufPk4poN4QM#BfMSmGYDKI`4K +)U`4O&@@d?+<_%y)Occl1)g9-Z*4ktW}a1>#MzTAqF@d;0t@d;n1!g|pH1P#ED8f(J5lkT +Kb!dC`!8Nr;%g;bK)8Uy+sNHU{IV$>JG~>@*&L#CId#yCgoDBr61A{Q%D?oSoJ+5llzZW-+MB-wTIKzKv;u}Q|C9bxR +u9P^*t(!r$1Kp&*t&tS%QiS0mrc^ge^S%cvT(?w-SlR4FdUP<>@7=@vV>}#PYqXfcqz@{slb#C^dZ>p +N~ma!`pcJ$!hx9T;4b}Jk~$d-vkxU0UV?9$NGr=QXdYQ--%PPjbq8LkmDqkAJ$jQ-)Pl8htDrL%gfB= +zg0~ym!~K7Yv%bIqo$wB-G4v0b_194_ZLHDAJdZLC^u*<9{;Rqi~V&xvY2?ObopdLitLCaQYO;qp +#U>v;~(_XM?F*tvDt1U3Cau7@et>A}I%b=IGBo^PjI1*C6@XYqVHu|wnUp!VUMKeTG{nXADzH*DAN%j +5AUsyKt^a~#wtDNn9jIf{P7$wBldSmT7|M8AR@MGc!nni)l!7S?mla?Io9l&I?2MDk81Ec%mJwY`Y>R +i}JrD!1u`MSn6%Ef>*0IOB`{!Rc@1{9OA72XBAQdLnX{q$yX?uATjuYdeVLI?1JQX1De)>e(n&->&t> +HJ;Sl7@DyXdKshEKk>Yd)AYMBs@y_PF>1XNdUBSd&{M2h4zBsUUVdjjrCdprBOzCU+HQngDXN@8t^^l +3tZwNFxyHHlKQ_1W%BJ#k%9#ga2WN?i^hc}pN2EVdEl-)gvp=-D)i*Oe&z#REo147pR9-RHmA{Z9#Z3 +-<3%}7 +EcGJi<>kCS>n-pcf^ywSUjF2Nl(2#DF~X6AUnOiLTt+yF@FRrN2!BerfbeI8O9)pJUO{*>;WENIq`ZV +bAY4iK1mS~(Wx3Z7-beT%;rC>Q`v_b`uwJun;!plh5)LOUSMs)N)^&{JFAbFCI-b;V68X#VUmD?sQa^ +;>l=;)F3zm|w;^^U-sAKgdddp(5xG7Cx2Ow>on_#Rph@(rbl?C3{P0r(|W?M6V~??_yw7sW* +sM({Ff2Fs9CoRCx5vvQ?FUaj3WPM2*(lLPk1`v7YSz*-b1*E@S}uF3BM)vN%%vlPr_Seeh7aq^+oug) +E8m-T(2WsDf2`4Fk!jwD%WN8{RBQF^+otAsUN~$NPQ6gMCya^HmMK7yQDq{%gro{2tO3^`8Dgd_2e(t9p$>dT=&=a7g#>0BMolOG*@We~x?G3P?l0%bD1D8cLJ|4Pbz5ndAng`P$^S9JYYEHu8ELm5r_IaBUp}YhI=Ea%-%kG0! +bPrg%WvYU$iIlNTz9^O@KN$#Ojz1UNIMF-t}NHl>nQvZ!u5pZdxKn8mtP3!2M8=JXrvv1v^xkU|5=2k +-GQ`I2q*t6nLonIC4Wj!+8xA^e;(oKgzqIR*U?81&L;l{2+MW&VT6mw|31Rfu0Yz6mXiN^$)B*?u&bP +KA>r+W<@kWRpkG;)E8knZmlD{hOo3-k#;ThmiwK6}1ACmkDZy=maxLjh5olOz>%lCC@SJRGgDf!EBv9yz*X>_)h{O>1RPWT^$w-cUAxQg&ogr +%L1wCg!a{rjGnG3D*dp{VQKd>SYq<0WfRrT%0M`q{L=|bJ1uF~RYd-2gr%JkEhDi +~@_$;&NBAzn(#}fSWo;*a+J2B#5zZ%kl(4k>t0Vk1;d;U=2hn^($C}jflfdcfc*sOwz|MEWX7%|Xutj~}6nM6pUx9Pf{#W2!wLBy)cEfoZ`SR80hrn|*{`TvzJ3 +oh7zXUFJ$?trgfBZkgWxmDLJ=bM^N6g=+tNg|KOS-BLF<)#^(-ZSi>3r_Sm5*4bF{|T7u}+hr>RHU|& +QkRx)@?G?_fj!WW>Uvt0z2(`GikR0vm4G;>!rknDi-s=dDIh&b)Z@5IL1uh4HvrMbX8t6eJ5_x;B+@U +OM@+{d;-r_%h^odO}q0iQ1d6SL(RXyg{nRUp0AN-zFH5(e2d8?f1;f7-EfBb-XO8o-#vb&#^0>Y6G&` +#!?RrEN1UzJ8-erGaiYLhwfqDwaLJ#*W(~G!aIqVxNmXykf +m4OVv*n^)qHS?5sZ$XS?An7ydT4`kO`lhSaxM2XV?L)@hvWQmk7#?cT-uldHdt+N~?jR?`>joY`vnVx +7&T)?cv>Xi>)@Vja|?$|Ke}ocR;jqSgmthdx{Fx5fI|ELC4(y(>p;A32(SN3Q!w7h$)aqslMV$8ywuE +0=bJaHx1L$FhEibsuMY6zhX|YJViwv7G6P+2TAGY}5FQ_U4ZB)cTi4y9r2n#JaFmtv_O2$XR~`wyNc6 +rT)Vi-tN{P6i|J&syLUok6aZyIDeZPE>Pu>>ngIxkXW{OiDiov>(n+?9 +iuI68?YunZG5bMfzm-u4+Kyr{+a**pIuKu$%{#F->~JejvF=}}h8K1M1#0<-+EIAjxWm=mHN +RqAf37N@SbulQBi0MBKe21D!wp;A!e^`U2%M+ZFM;i9|1h8QF;B&XZt1I6tzW8`%l6OcbLYo7G!Jb&_ +q}86!KZp};PXtTUv|9k-m^1yU+S45#`&4st`740p!&hAN3XOQmP>Qz{$H*zukJl6{R?GGmv!xK>M;r5 +S&h2Kymu{`+O6Y1e*bV*UX}es-b?3gIKXAQ4rKP&l<`UMvp;sf>(Ks!A5Z0kMW0(gQw+3gt=D$%pWXb +OtN~#|`+Dfc+}6Fmdd}4G@9#e54GBHcw_G3lTE&8p&dZGlmj3K_;Dh^m_?=&{dv*7h;&CFt81mJz)D8 +RIGu?XPg%@Ug+r*Hj3$6L#O55IVM|H$Y1wlACW`8yAewk%YvSNzvc4Jj^s_ +7TQTzqVs|Vd>&kZAb3Uxn=8;lMg#$r157~jr1?d9|f6-&DO_|+eq-l+ZYbi1G4% +^Fxzy7lJh-rL_>dGf{f`pnBm5@$CIZaI7Ete_pojh_sQD9V0vK+cyRzVgdEmQ0);uf068pxyszIQ_R;JFuD_>`9a=I{@@<t#<1J6)SGA8N+I~>~XmkIIGk3!d{=ly>SJIIXlKmI0td)@5PqyFEl-Cyr=J}D>GX!NUD_;|R(@;YcQ>WXn%6Gl&2P`o^u2noTt`+}Y1_&x9@C|8n|R;>Jhp$9-y_`eD+n78}}Z{(RfEUt2yNWncM +z{P}%rdd+-nWK^qPUtehmy1D4ksZob^o$M0bX44eA +v0;6`w_8#?L-l@x_9K)B2~Ld$N#~4zCq+dd5eO_+RqeY0C_5zH7*Xf4oo>)bo|ee-2%9zI&UJ%7lxi2HR$m*n@^omt{wilx<4G%ooiP9jFJADS^nLn6cU{nScCpc+QBqWoP>ZEzC +-|Jh1Pj?LRMX(JIigI>BDv>ZUYfpfcRIbk4rceV)7d$34fEZtef}sF;K+pXYiltJGRLcd#3BoXBXeTXn@cr_{0SS9v8u;`(Z(VzF?tsn-eFy9hjNZEPTEUPnXS{v?nxIivL-viW|0?R+>Ic0o?GEWeu3g#| +{qhStcIW?~@3>PuM2!{i8y9^!ufF$)FHX-{+wZ&2d@?56zG`3o%Glc?K0k0m7jf;Yu?HUR7TDvZ>aK6 +Lf7|neUi+H8`N{cL$DNqqv;Gs^i4T`g{Sz-n9D3&k9VBcR%y~jzYhn&b>Q@rOgi9zG+zX68 +pkSX{WyUYGYhI}|GylQ#z%iT`$g_+ElUF%9ed +!l#jmm%MkZ0bAW*PIc>@rz?Oe^)&I+pAsH6?|Uv=)yREB#jqCC5w3`<6J+`c{Y(>eiz&DQfSrPYX-rb(H-JXz(P2$o)QF_2Q$kT@@o- +LT-6~L5c!A#dIl(HOxEUC*~dKrRW2L6@8mNioR{E;?wq4#iw0?;uBn|_y(6LzU_A?z9EMd-wr=0ejR*tejU5( +{5oMjg72nv@Z|FE!C2V?3Nwys#Y!Gu3(wJCyx1q}hT)n@|E{>>2hz#7D^ycA}vXN?0t@VP5eN_Z}^bYB`AQzGWmOM+&i%g_`US`J=Q +u4Hxb7&&tH*uG{k#6mX~~7Bj&Z)fjXuut#Pgh1{`SZT?tX2+S3KVABb*vXIZkr=NWdu`e)=n%mL+$u; +qK8kPHSvCIW76w=QQWHJC)P2Z=dGWII~W;NA~}k^S`s0)0(rDoEpCHKEvaOCvsX@vx?I+-Itu!JkqI_ +^uVdH{#j1h(eF4l^ojU}`(Mf7)M$K((=y!;oYsu$`>kA#RIlSd7cVFY8xmbLOSg8HJv;j8k4iV({?VP +$PxRZD+FLh0Ix;2TmifEWqgO4kTV9%BiavY)Yp>4kJ~4XJ{P{cHS$cc)iRW&8yz8L+=y}TFxU1gQ=wB +~CG49lWoap+FKV7cvnHzm;hf{G?5BNt%#?0M1^>RY=+JSHU*{>`kdah4S>GR*3h)+&*@|0(mJ~AyQ`p ++G&%&8h`iq1Tscpv`E96hS@q1WE|E-yN>ZQ|PH1$og!`h9$MjAcsnvD@ncfBo7J{cE=#TWj7N9{usy@ +NYa{%#YqV>Vubqp1d>qra6fob$8@MAHMaq)6;h4MW;XY`D`DrVbNbDy!CtA&NHIN-F~I}zL{CkNpTOy +>(|{DJ#XgNSI2#u7v1TB-|p)0k2|8%)@*qodv6|(&3C)fV5IKX>gboI_lyJOF%Mc+5$^$X2 +jnHilu^YszmUP_F9ZcfM_v1`UgKRzwdc&cM=^quL)d@EKPqc5Df`glSgYxJN;HlO|Ma(eX68T+hzW@S +d-c45RpV}Uh#$jQZ{-rG4VdSuc0kXM(aM@Ri)Yu9PXZP6>Yh3)j8lo7q^eA~mPpUR6K^}*)$5mPgw6Z +CPvy!3Ty^!zrClsDZzE8~7VBW;M!6e~a +92K=)u)=Y!RYA_W*z)XmPyP;U-n)_+4A6lY;(E^9CIyJGt{wMdy{z8h^_A^`O_K=Y^_0Cx@F*OKivE^IwG$a| +`nU3656wkiOFN7F<<`m{T%>4KucQ%a)J^Z@1HIuLT*jTi>R*hGxOEQB0Jc}b6>yq7Jvbi|_y<}a=k>{ +7fG@?J5KhdsTd0nUPOf#exO}jh9c4u08NHA)X7YMVb_@58t^5Xn=_I%VWH>mJG(yESorhYqRsR}X%K{9|vKF~x4S*=J0JMp!%}$(E0&W!Y!gEqHv^O!=I +h5tBS|$emIwD}$vo0@>eb9#91>+3KV;cT=%6n@Vs0(Z;fQ_} +vs6~5Poa4W(M-dH76oxYY#c;a{C<{nU%+%C9pWMoDb^dVIe$0nzCn;sj3VGe5C(DA6d8?VweZf@~BZk +@&r9WQF!(C)k*+=88M+!Wpauv<8uMzEV(5>LZ$SmCyW)fo+OV`Prx%?$bLQaUh}uQ?-b3HpMm(^gNwU?L+}XEw^t58dpXhekQzYqk%OGr7kHzc{vwDoh!r4j9 +vAzIDrk}SL8(MRSfqX~VLQNmJDz^+nI3T8h2M9n?F{#A=)NyY(sLQ_?@}vyE-*5-0)Cmm6X_@jk9K94 +4R4;$5~i!w;he3$mY0PwvL!QmeC<2_6aAhCP$j)&%*umL?;HF`nPB#Ug`wU>jY=GGPvLFg8QlQob`j-1SSK2_`OKsAdKFZWbD*Po~lw9JCfqeQ! +l88!Cb#Wo>GWEjLLsJ*7bw#b$wVPZeM|HWxz}8KD?2z=`1N2?Xpjc5_k~nzHD0=;Fr>bUu#~so%uLAg +|S-r)lfcsK<;LgZ*ABW5bi0Lumc*As~Ylv_T}2P4fVpmWg~h=W51w{PCa(kq*?zgW22vA%=1Ix9}Rp4 +alKZ#weN2KVC)0kZD+0> +b=s%LnB;qCm9_NBP;!)AmKMe-INc4M9;8;jEnum4Q%j!zV^DamixPHvH~-F@k>_{ytRo=70MBDmN +YnKV+=qM^J7QMq8d`A47fr*vUidUk84dUHn@xe>ER!`Rs?x9T4|On`6HWm1is~2tIvpwf7;eqi~gH^W +(q|ep`uWViVy!&p;l}IKu^C{xoT?JqM4ybI!Is7{lD_u7jFi7%Tb}+A8tsugT+f@QeG+S*M2~k7e#W? +gRfp^`Hyl5zNzZmu1H9@NECxna&|7=hZIt9r^!y2JqKr~n@BTehf@jW*U};cRRqrFOd~A1 +zu5Wkus64vVX7lieJTUc#fnN!i#o4|x!A(3%52w0FBo6=_u?{&dU7xC2i?<~+DKho&`)7&Bb|Ex5c0L1r{~P;K5(lP&owo#Lm +@qHmp<PFMTNr|~i=$6Ao113bIhk)GAQV-n;Ceo-Ga-L^856;=Yj=@e!i=)1e<_uSel_PsBrD +s09Sg%wfQ3vkb-I&qMu{%r-m2a}z8=%ewUK22dq;3xb1ruvc-CMc71MeQT@-9Qh6l&1X>o2U;7jf_!e +-XM)3P=A^?@{CKG1-gJ=*+;Vfz_Fot#;%95T;cNEc?-(_MNRq72Dh=?%~?;N@9_6`sjIU*lMJ~3T~o6 +C!Hli_nfR6rEl+-e-*4EJh$?jE^bPXmr6d{f8=t29qaZ(l)F1SM`i9>J;63`+f&cp~$*|=H@og+p?;1 +W4!sB||=@ULKt^17HzT0DcajDNo--h>T@M9kfisN%V>9-k;r4@K-0C)dp`2L_=z*h(c?-Ks-s;Iy_NA +0Lu@$5qP45F8b;yatX{7pLkz8*f)>6Qd;Wz|j3T*Oh>+lbnTK18&f=o>^25UnA4k!bTYLAwwgKs1i%Z +A51iT}*TZ(K4djiS8qMjOYcTzY|?<7W8hS1w=E6rV^cD5_B%nhlp+>`VP@*q8EvJrVAQCvp61JOv +LqlhLFO($w2dLPl{MAs30p6EM7KPP&Ts4taIN1~BL$C{mW7q3t%kG@1lo80{m>c*KJDL9#2SP*Z`%Ad +y0dZw5ivH4beey%yzVatsZD;un@7r4hemvqMGr;DTLS&ZjoT>WX(?M-eDHiLjT(d}YOc7hcVsrEDW)g4$ +=FCN2AH=bRHk;Y%7;UjZlzdz9H2i)&7FW~Es`xQ@#)Rupv~?7MFvOXJ5@F6#iwn$b1R{(Oo1bY`&##> +@COL6T!oUH2GjntCDS(*hHs|HfVP^Bf@xE(DCzi27V6@fnvLs=;K-m=!fP#V +QukGRG8Um(D&t#LuZdNl0eY$5dC}1pKjSXlv4Z`z6V(qWjHhaiR +u53BW{v`#)Pq3uh@F0wNT1|~90$shVql5ioGBa&F)=^EHi(y?+gP3wsz6BM52M1mgp?GfqOhLj~Tv~D +h&Z9k`_zHxgAgwEH=X;PQ +fp%L#~pzYzTiB5XzAGEW%`6^FNBwvgYCwb<-D|D5M??v`jS;!e}p{T}glki?S7+a2^3Y%A&}CN_z&HO +PI^n2C75n`R2;?d?~z4k`1dToAz$5JhWZO0%y~}t|4Y|jonNNYTpo1&v*|R +@C24QCmf71s~{%7U>cVGX%*9*<{e|a@gbe?XH$YzQNE7@FX}=$fELqTBvv_!y#ZK=@BL)ou!5-)ySebbFKGjdyS4cay!~c +kIq%1~&89>|@uP2P`^#^kmHy#`@naV%AZ=-F)eP550%33&hud>Ayz%((f8QU$4>gxDYo6n&8!p{m=FP +=LNm&!AUw64DL^@5!7PNu +31T?KJV{t(B?O<#Jv<9dr&KU=T2tXr&8h|DNjRaZ(GzzF81mdHOP^hpcDhS2BjLs+rfu^FoVZyyEOt> +=xW4VB{f!+u7paJ(n%hFAU4rsE@>`~s8u@;KiV|zCYU&DgCBQ+@{-O;u=T{#N$ijt)}*n_dBApZ7n7; +9m=y>RPLv#zWUW0io@`r{r{C9H_k8n%LPInY}4AMn50`x3CKsM51Lq(*l;7O>v2X+IhF&CfS>|Nq +NZWi1ym4nI*J39!*RHUZPRM`QcDnw!c&t`}=RRhjI`Gi2Ur;XJr2Es3Er`+s=g? +Iw@OM`hvXN)O1M5l)bWFEr(O28Ai&jSwA+1?{UoI!m-LwV+Cg(wGXsa2XhhVi%X$F*X>JBOp4;XIQkN +-H1Ev--wr))CMz+^-x#I*(}9N1+F}wvGg=BOph>I{|rc+9BLe#N@gf&~r4;UOc9iIAP_Je19Rvl=L^A +p?T626ruB1?1WyCJWCF80bC9I;wT|X0ZYd5%*^p7>v$cSF`J)@`+gH3AJbUP76-ipOr9u22SCRZo`Hs +boT~S$V=DJLqcp3P`WmHG18&eNMDcVT@>t?-8ll-sPEuQJVQZy&r6V9wTA5fE +GZHQX$@=U)&8pMEQN7{D@}%fb~b3sz2Z!HT=mQ-GBJ)(fLT)qx-9(JvtvAdv$+n-K+bbs3n&U^ky!{;Q;g}YFp7o(!z$(y_d;$ +Jz6y(eIYyiWmNl&DysG9mcR*U_K<>3#1;@Lq_n%~btgri(3U_tm*JNqI$T?m`m|)( +hy)ahdPE;M$^Tq7u*!xLZ`1Voe&)bJ3Ck&!F8zH%;+X4Y&;DDjR5GHOn{D;Lnd~i8pCVkIDf#j(IfFL +<;T~HPTeO6;9~ku8Eo2F;h}wO?aVw>n)nnn-VAVXrhT}Zs^~p8vNA>Q@DpF#-m))?Hc@Gj9bv1nz&z^ +;1+wACc<&w@)u1c0D9f6iLR#crto_-u>{w#_i9QmC4lEackz9ilBehWyk8-#fM23tV*je>H-)v(V1F^ +D3c$C(uiXs(P)}(qO)N!!hP6Sz;kv4=Cf2h(FZ3H=aR*Ht;&o?DGzo{Cx@e*r*Wuopn2T%CRf9i{GC2 +VM4mvCkY9bc*{knmEz@qM&umC3X(3GB30=5Kw?mac(iTlaDG>mu0Oo@Fo(N>E#74_AWAF=h*gq_b3?X +L$c4FEl?FHjTZfR2G0^cnp<2>lL!>Ni+}-i_7D0Ecm$2x2`^nols~j`CFx<38%Qg=#A9a389P2BSe2A +pKd@P|EYTmK27527P6KJ75n-%II*YraeV0OC!) +Cmzmu24Ef_-yKax{I|>r`Hpd4#20+$up7p4zUM^9cUAd3$ay`<36q>~z4Q6UPI%6FpYNsd+Q$jQosjQ +eksiKxlnnXt{g~=8|LJbQ|JKw%okMC7!p3765&*dfmn775jAsJdE-&9mt-+VzK6|VjkoXw-Y&`D-uHD +9W*x@>DTww44?-s=M8zon`Uv`E26<4@lb%p!C-(=G7dt +BkZ`3mnJWd+WCJA6gMOV`$2c;5EXwdZMEdtACM`5EOKT)Os>r +rI;ln38bq?y~!nY;uDib16^0gnoXoCR{42Cw1x4MGPK1SUmRFVUM+k`nRRXP=4Re)~;0m#}QAFfOWi)kM6w$JRtNeQ);ced=RHQZsw@+_@}pR_>|UC-+>$mydJ^S9(Z(LOMA7=adHQJZ*g?)QS8t#$4nteYV#?=KrSM)Ecd45mLo( +rsl*S`&aA{Yf~CZT>@H{81W&JL^h>;nri>>u~?{DpU%)z<*4dHw6(A8a;c&pwn`#_n>j$$qt~k6u7sS +MS}I-YRd8D$9)f-}?8J)j(JKqM-l7v`6<;*X*;EsPg-y{B`8^>KgT!<5oNCi;@KuZZ==2Kns`bhOF6y?x?PiHD@_jJl`wi1<2ASG-NmAM#xQ(TS)4;hf~+ +DrRUwcbrYeXp<={{5#s5mpT11Tlai7|PEL+kzka>a@lQYfRGc_*qE^qX{3#XYp4OsGjVOs{tk1}eG26 +w0?Ps^gOq?nfKtwUyrChN6n+Rya#0B4-kJyMm7QA+1jFi8`%-elpSlqZU%QIkUJ*Hp(<|=B9c-v5)*zKV5zIylvaIq +En|%!eX(Ae*O9he}8`w92~6rZrHG4V$`TnV)W?I;>jnU6!XUq5)&p&5Klezl$bnuvY0-7y7C|M=FJl+ +Gkrzw)BVI7^ZSU!69$T969dFcQ~kxN>3(9%!rmg^7A#&}I96;*wu*OOd{~sFO%z_+qd9|!&n +;4cS$Ht=@>e?Rccf&Ufoj{*M_@XrGOf(yQPJB)As(DgAGXJ%j=UoOPHY>c;W!w5fWCS-Y6A-^0Zg#-@WpK+Oxz8dZHbtv6U?@U*ayw8!i+*TdtAt_Rw0KyE9A7*LaumS$a +SSc?mz5;Zw7u3;12=*Sl}lBe>w2ef&T{Zw*mh>;G@kIhk$IN;9$ej@N!0zVV@>w&)$`1^o=2>9Q);JZ6} +;4a|b3;dSAZwLGbfZreZ;lQ5;{AIw;1pap5A9TULJVofq^;ST@0RI90`Y}^OI(oHj)2daw!L?8Q2ZRI +%2L^@&`1<+>Ms)US-@a{|!Gl{HH3SCZG5!z6AAx}pojS0<;K63+^N`Shfg!%AeqeyV?*RXZ2UwtO+g2 +@|&x1q#{6qW$0t0|gy1G2jsZ;-mOGJi*h8Stky`FbRbm^kk(56*ObL+vxNBtoo!M-68_up}kC!V8#m$ +N{-2;lqr6FDFx;@&&%xJQ4kXl&EU3?hST>yNnW&O7dSxSuM}Nfl^mCVoI5pZfFpop;>-u#>bQ9oYi#B +Ygcs9|;K=7!uK(72M-__uYSK(xl0KL)ZeJhpL47n_pHSg5AL90RuyWLqb9ahPJq@0G_w+sOldO8W=J# +G%$3~Uz^|MEWqa-ygCmNdi?>a38U8{`m%tt|5W{5`-Gy4LkEV0DkfA5M*oBUh`_FXBq0QKG#@nRjyvu +^f!gO0J#LEd^B#x>9>Md!4jQCLxUcqkK+}dzeQvW13<(THFAr*=n7H5gFoJJyfBy&Fnl`lfMubL$1`l +*nX?%A{1P62*5a8WFyZI641NK#LpnvW2h+f_vjc?MlW#_wU)=@=#+p_uGThBhCT3SKm=V@WAf9>pXU;A6*md-@DFZ5psD7t@BvQk_FXG +ZN3!24fuiWu`J!hjVhZ@ +VpwFZjbySZT5&&O*`DL+c)he-O%^H!Ck|NU6(^ahS#v5;_c<{|P-&C=}CnZ^872=H|#0tB1?Ghh;_@R +mojvqZNjvhTKjvqfRzWL@G@$I+YiXXl|t73!m=g*5@fBjXgxG2RsT<`zI#m{=T#6Z`R2eM$G8;5~z4h +FgxG0DhlehBc#0Dl_rp9B6H;J*(1- +N3&z&iyw|`EQ)^zco%VzU$Pyd2{tj(>>}#RLwoxdV72G*ze}%=FL5ux9r%$!g?b~`c +^Jv=PR$Mo4*}8pulx^nG!n>1qCvjh^j$YpP-|XEC1#Y|b*1z7@vaOf*EjN4p)p^5g_Uh>E?%u=;I2~@ +k?bha=cX#x@#ohhp#tj=b>Cm)k^9DCH?|A<$?l<#>w?~V+8flGMc{APLxFPHRi>K)hT;0<8=EjXX!M< +9yz1QtNJO#@AxJLV(?z^*n>rUR@o%owXwBNB)r#78Bwd|z$yAO%)+O=${zrnSjsStg+i09_aS9rdeSL`M07j}J=BxVI>quM)Cr_Tvdic3h_QQ?zA7#yf`Sy10+VOLr?5o?Zj#8UE$BY@{+XD%I-}~8 +TpS_5AwA{XZyF7XFq{MhCKmGJmE>OwChYw54za^i82Z?d^%gV~iQ{eT;M<0Fk+KwGN77Q3LfaerZPW+ +4+kI8Q4q=j<5*_rwGt%h-aQEcNlOL+CuKro*pJ={b`tL!1?}H8UETp@8_Uze?^nor#|NHO1FE +?-AEJ2?vE-qGdpEz+se*N{=vaGC3?%%&(l_L&f1l~UmoVDxLt(&)L)24X{*#<6Nym+Y9Y7Jbze0dn+Y +SP9}B6qs`?z(<@Ths#f&J}pa1N^1Lg-@bkF^Upt5 +bV5FgcK%&aQ6azh;tO?6o{Wr`M?vV^x$nRKz8ZS>3+k-=`RAYI4?q0y<0qedviaDtV~5e!Pb>#M{{?& +N4jPsd_eSYQJjJ$ZGwC-nc`!0%Vr0^9@L~LI+J^uPV~+sh!wR?vwhx8IDnO!b88UvR&M&tbz4-U +$5{E?kfphLryM`1rJ=9y62vy?gh{EnBuo$Xp_3RyNH3r#yD=-mNleFD)%qwo+bRuKp$u^a0d2+6iSu+ +BSYCW%NNQeLs}4+ioen-;uJ@4k^2oNICp{DRWLpdH%wM1F)6*u1UEI{oA%}ThXRXo9>9=m&0FD9*PIj +%RXnnk{`-~wDWJu{;RLPQkj3V&)MIkmwG^6NH_bRGEV(g%D_*h^!rH4KKrEXxkt)}O2NY}DLaCPc5g} +9>P;z^ACj`Bre^iENxwute0^;u{YExqVdOtzC$t0V%VS?jIk;TPfKSl>B&=4j&|}8c38?Gpeg8c7kefTPJ8Y`p9G)U7CxyZcxX|q`& +Oid_0iv|RjXS4#~9CX{&(`A{c=1oWI=o2wZQ}Fhu@PWuZ)+ubNb56+5KcHcvu4-n4;i6p8yZxpySb_I +uC|DlLy0|>65y?hkk!s$`0fK{cqk3`!7}1d{`g-@b^mpVQb4757FifJ`7&S1IL3a=@#jypWLv}Ulu&m +N9KTs4DgULL#IFftdx=8fQL#cA3LGjGksFX7nkgrJQ(&&9t?Y?Px9KLs<~K~e%cww7sOe$nLHS|E+6& +Th`|ffrUkv^>vMa{f~Wh)>;&*ItDihyby|M*v(7^Vco=gMJh<3%h|`|^59mJ0XRkg!8$PK$cxb()Uca +R1M|{7md-v|G5Th(1{q&23)EV-?n8)CS_c+!XaT%X+yk*S5^ro$s+&I6NTn8TV!Gi-lY+X53o;!Q$x} +41^@HrVW@iFY#8Dq5HRzLmp7l!`#?%lf`WnpC6E9oX}q}||!zMuY{^BVe1j#V7nn6@qQk(Hf5{{D|Lw&7@-6UC3?A0c0}rqT+B11bb@H&%$wLx(cxr%rE*3n*1j_m22Pz(z=#zT +8#2DS*sbBx;GdPAZj$n2;95OdIS28X#va3w4W+%V?`l~E^ElTcK+*58{2p(VyZ-9qFr#;grrOfOv*G% +s(ldZn;r73>$#Yz711@Q1Jcvu7;=79&Mx-rJz4%F{|NI!Hz=|A*(33++;*=J>5UY_FTdiXGSA#UaVH{ +{MGJ!J`a*a9AuJ%b1OB*UKV@JXwu`^s0We)3=7VL5ns9z6UVdbBV)P!UR>#sHP$c|U#JIey(_QgJOi_@N8cd_SmCl9NfJp2=Sw0xq!TpFkIz@%afjL$=m +*PK-2?+4=d=^n})l(n@=z4a}cEU-96oU)PceA#JMe9IL+c*{*`x7=!lw52roXNmq@ +3NIzvC6cj``$n5NF6?-w3S-NzooHc7!Ee}`Y<7zTtqEA{s|2pg$Jk;Z7u9WU!KP4q4?SSu;?c2AP5fK +qGBO^m{T#k>AmosL}kjs`WQ+EC3mtQKs!&s<3UPw2`2Kp+-LX1Z_A7G+A@5`JiYktOjBW+f#JsUB`N~ +b+1!4|GX|JJQrnLJHMwz2DlK>1M?>AxV~PoH%u#+aqY7_?{lq*oI{N&YqGUw!-bT^br1x{&$< +U0;EDfA@XkB$D19L9q?Ix<^vaM2`J?V}p2N6~vY!|Mzb42pKG-NPoIig6^1kl%hvejBxn#+bA6KkcAr~!LbpG+jAD5FRO; +Y`id8N`N@<6*FpQMd^)a8Y15FCf8_Z*{XD_oD@Jd*bqBT;tbrJe-#fBK4jbffD(M279!tyb&dXP$ZHH +`4joV~?p!n>Kjp*s-IWJ$ts21IG+wZO7n)^pbvK&6jfnLfQjug!WL^-Z^Hw&OJDP7B{&5M%$wPLzhw( +E?oFA?KC7LM9!T%SIL1qkp2M!2FUR6aCM(DAP+_+55~Ngb1}x()O*rNNF5??uDZpTisj);{@JEYn;z@ +euYZwqh(AI#esG59}YV8^S&m4^dH3a>$S&O1IL}(-r;fYxX(+Cf&3H`XAnBY) +buMtW7(h4bUc7FMTj*{|)sl@$~fcgWOYh?b=l-^gW+O*GoU!b&Y?Fer4u-k@P^e60rr}DpvLYc}wV<( +gBW9>|+DRSWl!MWuMajzyA8`vY?-jee?xZ+jABuP+Xuc3Y$dPqBjE1qC7aBgI}IJLBHAXT13~ +S-&I##b=Xz6NgMg14$&5#d+s?2pQXlW*F@TkOdR?d`XVOk59dV8q@8@NUAvZRjCPaBbfdJ_(r?87=9=dY8=2*(OVo8+$_M*)a8J#xSn2&DCVWY`5DLKKWvK@H1_W(8{VTFj6FHZjJ}9_3EYDsFQgr9{1HEMRr+1me~h`*)nvl +>p79T_xi7~|-6DMV-FKDWWgpO9sqdtpb^v`${}X9f^t-Nq!cWw$|Bwfcos3`T|ELEXk2rR+k2&XL-%} +38`Yz?bYx;cpTKX}}Db&6Oc>c3#SM*bNucqf$(sx&1#OKDk1^byiQrDqJzad7bgseEOHvf}pXS!YJ?; +!k7X12li9{!XcPf8mGm+iA>*N8^)H{aQ_D}?Z^(jor(lcAdvYECHrB&gM?-=$rf6PElL^e=EisYA^P- +JGzI6E=0i7Eb8vgbSQd>QE!R{C7KM@dpy$?`h=B4aHSrMXvWD??%2*XTHd5?x@sV54=)hTb_u0Eg17d +qNAgSA>I#!&*y8{eC>=eH$N*-tEa5{%W5fS9hEZZQ+uG0Sf@Zo7_v)Xk(-FVl;SU-2h{J$ap2%mcZe)COM%so@?H*%kg`zu@%=UVJ1=cFwA;kx#EThLE0TC +^zYrI%hBMH(18asI&Zk$#?Q;%*Ip`G37oIZa_ +nhalUB=Pu6JyT9xXCqfzwGgo`hFkx%GOuaw{&q?I$K8{RQs;)KGc2Zfqla9>&%IRGHdZDwT`*mxdu4) +jFb_l^?lP3NA-PQ7q}+8@fGVe_Y6<}Eai02(r>@M*G8M*ey3~uj4S5Mn +KNaqy{3HUejoRlxE@M<})8yK?p^sb_=l%-!Ce$96v;BGF2dTCOyXa%TJ(tU$G1=0kOQTk=UOkGo$oW3wbMj4 +E*aw6krNyazL+)2`T{YLaw!PN5zd)Pd{s{L9ZP9_XeZb`Eqq%qMs{gdDr=Na$3jF_5#{K~31)STlPw0 +Et7w0NJm+${8OzjhJeY(iGzMk%46WnKd!MRViz)1s>(nqxW1oEMam)pNFKcgKo=6Bs^aoxLPKV56j=) +lfGwa3D}x+S1tzH_h9CH>C-vHcfbcp>Vw*IpaNy&=Zqq{En38}AL04)z885uY(}|F+=iOEyuTKDy{yz +5bsu_T0I1r#$!EbCcN*FTVJq@_Y2V9Q)}1sSE56>LS~A-E;cx=*RNR(NAF$b@XwPf9+n`)!OHn!gUU= +>9UVGzk)5+uBF%A3o~RxS-i6%OjaHLSe`xh=_P%faY-Ln%^%I?>mC15zsYES)TmKMe0_b@x-0jl+=qQm$o@CpZDfDc9g~?@C(3;U-MVW0*ST}&k+6F;59C@zj?rYFKT=x+u1NsHxkrws^{Wg6j>D<13`-|fG_9&G7FI%= +ODkUXllriU~oJqrk2@_zBIU)tCg1eQ2M +!#_yur3r`)mikM*08x=rCg7b?es2HEY(WwPN~4t~nWdihrs^^-rE_*)Z?KbUD>*Ya;yOf@ZRz7^VKzrAI?)^B!Q +f4f_YC-hwR{FNK{-LCnHbYeVgaiwR_$AGnK*RD@ZO}zjg^<73r#y>MNGcWTyd3kwfQODGroE&u@Wg4W +Vr3KsV_HFt3`AVL~7)Ck6rayJX=YHCb9Xq(r`U~o)fc~AM9dd3=eJ#KoWW*Qxdr-cJuU8#aRc$ixS(Z +A@7|w`i44a}ai#VmvnHZmbgs`UDdzZz>f@3h-qOBQoBG*_j>Wn@I-t@!ohT-$b8|j;9N2JyGeMi~Wbh +%=x9vhBx&Yd`aiB>Tpfp{GzYva2EK^kM9Wid`vkqphEsPcn9A+|GFe=T7sY2dg$l9G237ep$6@m5K-XjtKYFC`;-~-B`SAN0Ey +A=Z&k4xykGX_8-Ot<+r#e$M*+}v6N}u{QmNE#R1iyoJ0LRPPKo|kUw>gzMgtYSq>jQT=gmaG-dhK&Q$ +sOqQUC@&ov1T%lF^RBK`&gf7`ZgDpoVz$D!Y5%td+7pSse*zd4q>>OadH@;BZ|VqF|3**?c3&J$QS{W +8Y>1+Mt?)1;gAurIh*M4mWib3KW;oM&_F-nDDjWw=c98|C?XAPYBV7FWqenMTgsl=n5!NSMtY>a-`Gz +^3ub73zxTubBkDN5PW=c>0=~;MXg7#k1EM2#ZDcPCR+7p|hk}ox66Ev!q#_y4FazyD{7wB}Rw{{5wz# +$6vu>sCWd|!T5I&{$_fs!P(#RbMQ3fzzyi@dm(q@SL|^=1Vf`H0#IhMu!<;@p95;5cm}Sjdjx9Y6V_%HL-1rK%8V1SxSozXBSpOWi|KFTUes +l@9f%x{lGD}i!Dry#sldFRItPjb{51}DXW-dbRgURF(b%Q_QL1#jOTAr17nLmvc2oB(f+yj!A7-fXQ& +8h17Y=8Ohfr@9{GFh#pAxN6ehB`aph~i5tmqSRF##0L5Tc%YW(3m#q66TK^p}sKZK$)JI45lee^ahVq +o1IDh5>J?7?1kLfr9Io87DrCe}`YUH|y)mK&6kPP~Y@=G>nVz3^yLdQ|eJXo=06K_r?v18uax|m^{fm +D|&i-+|()k+IQ_@X>X36GH&YlxG59*wIBKDpw2$+&G9p$ri_o8G<8aJzxH#YHeNO`Y63Dt>a8SzX(kCr3?*i;0e(G0L?yRAn~zoiT +l8y!u$Dv$j^(sO_Ov3J;j^(c@-LkDD>ad5t^Mqo>V8E79Y_rpL{Sn-o1EI==Ry>*Ik5K;`HChD6Vbo@ +AcHfBUtMiVvPLYwE=4>Fv!k3->9>5=Ky +bX$5-x;?!py(GOXy&}CTU1WGmIkr~zuTSiibJ)^&BBLrpWO`(pGcB2ZnPHicnbu5 +OW>Tg-vnaD9vn;bBvno?$d1RThELnb8VOfz`)+}3AQkFfdD61r^EUO}`DhmUr!|bp){2XD9NQc#7b0j +(Jjv_~iqs&p^sB(yGk8E?cCEG7MEITsWnr+KY%C=`0WtU`^WmjZZWs4k-9CMB($1f)=Co)Ho2@X +DH#kYme9%t^{g&avk>a*A_Ga!PZ`a>{cmaw>DGa@=!0bG>pcxjwmmxk0%ld8K(}dF6Q(d6jupdDVF$- +#y6s(AaW-lHAhVvfT3AirmWFs@&>ak>{T0k>{Cb&hyH%;^Bj3a +dBu6xTXST7Y`!%=A>Wptn4grNoNv!}!tI$&DQ|MP1R2W +tmUPuKpiPg}bgtWx8$EAtNy(Im3}roKc!lo>7@mo#CG8ndz13lNpp5o*A2&keQg7oax9c&MeI=&#cU>&UDZ6% +<{_e$qLE}&x*}T$V$vg&T?cGXO(7^XH{lZXSq8(9bOI}N01}j5$i~BBs!82JQq7k9p#QnN43K}+cVoM ++b26HJ3Ko!J0UwUJ2~5tU7TH-U7lT;U7hWo%wi*Bw&zf<%Mz!t-MD67mxBk|En-$h90Ytiy+7$wlJYEu`s#NQCM79T3B9KSy)Zkc$h>YfVgwq +zF1v2K}glZg@a1EYOLt!pK5vp{+2f&|X+nSW;M4SW#F-I?SL$eXP*KZnj(Oe)ceXq}^(_*^@ARF0z-{ +%j^~QD!WMWNHM2aQv6cFQX*5VDYlfP6njchN=ZstN<~Ulib(ZHHK$rq{ZhkHBU7!Zw$!9ldumZCeOCp +1mq_z~=dz^v!E^oJ_ghx@sU-NQB6z4Wc&Dlyk?WCbhHvuA4a<$pwdUG#lXC63MY$#LI2G_VJV2UjCFL +kvl#4&CCJ_XXh+eErb%)OnN{fXR7r}~4V8J3i47L#o>#)K;Y_O0dWg|tfk`mZS87!qD`~SCXf?$U~!w`fjf&a@F{`G92+?RnyT=lgjydaGc#ww)2_q0pOC>nEKlb_lW6p!&)Dbek%>M>ntjTV`I$~RqGY=6k=5fK=J*#No6OG2> +{QOdAZrRnr=1fwH3wLe_RFoS03^VgJsZCYbNxAA1|tvWY9*o|NNh*A8uHShi1_mwt+~f +AWCmqmjMkjJnr|Y`Qem#veIN{>=tbJ;{e;~WA&PQ1WY +H}DYItn2({jVLmdr}v|=xVF=H%{Ke@;VWSy67-LW6TRBiZ!kU>-5segau_FT5nrm&j-Ll8pm&*lAXOo~(EjHi)IHYA>H!F}1u!)<4CZg6> +By!!mQ6Aap`H@R>%(1lKnXgadm!Xet>NWu=}z +DY$-fGEeF_P=>h3}X@N9<0iY_!p}BV>qGsp7B%F%gb1h=iLhbc*n3w3JwU5@c3ht(JojN6wLmUt{_io{lB4OGVHnz=5ma4fo!axmu<;dXtWlfb!PFMrF00# +NrFLt_3EeLs2|Hv4Lg~cv8QUZiwg@=;`>_Qvp!Wxa*j||+4othQjqjI(uqJ$Rhlt>8+wMCSm$*N +%}17&ZwSTP-7m%W{0#Vz=tc2oLiV#Rfo-Xd0vqx4QnZxAbnQhJ?O(H|bxw?lh|`-jKi@mqKbGR<%=!M +8K?)@r!#KZdZiX-|qA#$&KCv`Id4sup13`drS}#oi)KrVfafdaE=P>0Q}?y +c%N^_5G&i2k+RwY1%Rp;?tk+Fyz3vwID+QOY)Ph!WPO&*R%On^1?2m(j;~>2{fMs1(YHIH2jE?8Da5; +$Ut{vFaBDx@H=pP1&1o{+F6^rb_Q<*E6}|sZ;ZyV8{`j*{NHp*%i>N_6Oe5HBhHK{jMO2iqwcV-iYBIui?VEABEzumdl_*&R!%03xTmN)_ +z)yx$tJVXF|aa|8ImOK?pr#&hl){L=(UV!|m5hGy#k?+&5_^jc?IboI_gf9?Sa}NI>n@9^$Fj@zir2n +7UmH@>GeZ9)VPG!xO)OeG>Y+9C@Znjw}F9=y+&`1+c6Mi5#$fSw?yjU?1X3zN{|F%oXr6TY!)8FwG4h +8gSMx9VHqy!*IWPR4@z4(P%3&Ln3TI3Uc=PB0;2T!A#G3lz$EP#G^QGR1ARI;jjR{ZpmrV_O>I`?hkH +9c_4iYd;uOF5rks(nb+;5ip=J|Er<6ikIO|j1DAOnrqZy>-kQ>Tfr9)`H;z;pYS(rQ!DjEz2u3q|V8g +-YSUOo|-N@!tub^bWCvH|1_D34boLtjo(_R^e;MX~2wZRD$N(uVt=Jfz2fb%MVV>C_$6+ +u{@0vxs3aBn$+{iVNj)-X2kY560ixMw(M)=Owq=?)qW)`yq20M2-|x(${+jVFB?;EZFI;U38AXYu;kP +#=gqr2q3PAf0jfXGx}ugrIw1pWMwU=`pBug##zA%W#j?kaT=0ZE_M-CJDqRuAAX32CAP`tae?cjFs3v +ZT%ox!(mYO3p;`^!)ds+qwzYS9dh`fk{Ylbl37P=w?L3JK|!f1jT+vq74?gA?mdtmt`4#Wl&eLdHm-}1BCdmV=80+8o4C$a3IaouiNt+tEn_8=en +73|)ec3-sEiAc~d7@aiFViEK)!RTVEK1gC8BFN7SAdve9)U8%7_(9pjF!rkHI7KK;B6Ys~F!nR`4M=3 +o3bb{@EAXhN!o!R3Agjk+i02thmu4%+dzItO3c3x{ulV3WT0-5U*5hTxLBeFnC**4lT +<|SH!Zs6eUGAYGiL?=}FxN`vB^PkpgbEac*$R#tbA)xk*C$Ic_A+6{DVJhh6tkKumv3y +_6(k*e?y1fZxB8+aWWD2^zrX2~G;&nnJ?_g$+X~5<4UUWJF~|3`qoIlObw(N`AElr802f8b(?ecvdzTxR+9fup}4UsGoS4$r1|)RIUgTD +#zsQrXnLv@`50&wA8KnIw82&ZcRS%nq7YpO6SDzlM_V{rh$k5C23XqY>_H%p&&j+ZG%*0&%@e)%q;{V +bCl5M$(n4?mfd@W@JwA8}C-5e@s7{W)w2)Xpv<#4~FlzT1?q?4pYj_J2a;gJrlM!I&L1T>0vKF8ITYw +pI$DUwRg48B@KL_u!(G;}R#8Y}MN`covbiOkgx#0#YQ7_$UqElzS_)0+fx+&$+`r;tadZXg|FSo|W(+7p1LT?-S8+#;VT7#T)X6nXu +GkN*GG*ajQa%?|5*d5*vsSJ>`*Ti6Y%2)s;!D-AC_}X*P(2%jA*jY}cHuQ%5)F(>I?w}xVR0a{cuyrtrb9D8?mcMhSm-E$Lc^Asw$&S$wWYUbHs*R%MN`fYXh +JLi)#^jzhZB#GC)>qU>{g;AAAi7A-l|K>T;^t0uBl#J@i0qktx2bP*ftVAYOSiURd}1z_0v +u|iq0hhq=0tu5GDYSrtrhTbEw22}5Q>%{+eI4T9Hhy+wQ-p2r^banPc*`?i&(JdPE*1C~oce)ubIN +soEFt1k0BnaiXqtVH>at^-=~D+#7mU3l|{8D{#qdZ8c7RWRT1%tLSNlQ}((~WLX4d2rFwuuI>06@R5* +HTP$Hd5Ln0WK>v~R3Y^LanH9KLB^67r#A5xlALLToPRwej7ObJcDwVO;7i3s~>A0-lh|gO3!gyI-4lO +$%%>+O`#=vSNR;pZot7k+SwkYgdptu^NI$CZk4k-#C +0QYDOS6s(iHf-ce%Y-t@9vpRXZuElai`EBmfvYmHc9mhrGq!7NuUl9)uO7zaDLbPY{3$(2KaPMN9ReK +v{2%*Gj=!4y?5U2)VefF000u3z9X8pux;+_4ha@=ShV}R&Q=2pxBFHUh+XZ;(B}zY@)qEwm;8t%MCEY +%V7?bADZJI+dKX=bNr;X)A)l~2MWY>X@fxSqfvFysA@dGwFeffXDRJ0rPX=@YOOV3G$PDR2=g{&i@2^ +pX6X7OV^mhTeKYTqI96}y#(Cr`uUV(tVGaa4`eEPb8gy8 +(^Nf^X!@zz07j1jx9$#WdN8L+TF5}PY;Cmxut|4Hk~#33W4(!NPNf{>&S)Vc$ZcqoyGn-$FkWKN9R45 +E$)hg*a?z9*RD=l5BJjf1&tnp}kjZruTje6UU~YTSTAbj0xkD58xoM5K23XAl<&WkzQKes7PAnuD3CJ +afF6nOrp-DeN**BEK01iIKq;S*^_m%H@=e?I0^KM>l8&`Vk~3z?-0qKPuY-tT7mM|6aC$!d@-cbUM_} +M+ca_R(`x`UXTs81k|$zNagBTQ1T05A15_fVLgn1QH`w!jHb~0&>n3m;!}^z5`?m;^KxKK6o=MTNVEM +MDq66Fu?InF=%o!H3djhmcYo`%LaiV#d@GJRG-LQkOMOwil7Yy#QuTtQZ!vlmSut+T +n=2@1Z^r(oyumjdjQfcUr1I;Ll&ks_umNj^3+Q%{n}$b&YYg>v|ySTPT>%~H|^WJ=2Y!J_3(f4E(lC0 +3##Dd0Wn6Q_OaXS;&lCh^C|&@{(DVBdo?x>);U0W>#Zxl>~GL7?A@@X^UK}E3D_3LnRecojlYY8_&@+|~C1CMNWXm_0Fdm2jIa~2;PbSp=>eB +`t;$}h8mY!R7xK_RF^83vRr*h_`L-&n1zZZoueg9M4(gzR^T+)m=(c$D1R`^fGYTF=M?tm|wfyT?A`% +s!z91*3~H7iw1`{O!{-^2P9vOtZ~I3tzE`YG;o!RxWBLuF>THjW9{wSneg=~k +ZQq04|H|F=M6yJ<8Rf^L{!ce6ckNX&f+G +^Vjtp=?plJChu4emKjp3fT7fm%VV-9g0WQgl(#C6-p)Wn5yntxK<){IDuqrl4bB^#4Qng>L3B>f}ks; +*b3or|j%{d15H~@%Erpu;NSTG5 +2yZ0JTaLfIO*lkvFvJqzNDA=$GQ)l49-KwA*Nc0&sb4nS=bA~RbOD!3!}FtLSkjV*v4toOUe4K}?f)9 +N%5O4pb^`3a@d36p8;>mKKhT#Kd59OKD`U`*e5jf5nDoVM%_MZ*H^y@D!5FTaM8|I%hT4T{DJomEg(x +Vx|JrP($uI-3cpwA)teMMO7ulD|Ai-kL^VzE`uvYs6xaCh9?)#e2Y_>hlgLmRoUm1i+1~La~kkNecfe +)TZ0(f|uN$v&r8)!U1nt%)BG0!0IL`PfROB8Sn{+xq_tT_nmk2Gb+umlorf`Y(cUo;iHFA+;`2rwspP +trdEm9N;JH%!U!qn*I#tp+6m)El3;&RXn;wvK~HG#m|T2}8n8*ur|&#q}(gs~4hr@H8y6TSuGoFnk9t +5{RS(L|+}>6#wyT(i9IfwC`mkhNL5X2U>P73W(30gO{hBDDypISBsni>NI=Y@xmYWi?8e3)1BfP +fKQ$V9eu&pszXrW^7ic{M2L*r1!?uChOueFF3e?yiC5QdU-PQ+e^m#n8@D;+OnXKYV912sJkN&RZ{3} +$aDeEh^bsom#*-d4p&VbvTk3U7UA44Dsh%eKZi5Df%GP3ftQf(&$!(hJZ5VjtAg_B=$~xN;xN6lrQ8k +ql@r$Z#sDSQvH{>r`y)=}gcU7I-bf?a({*Y*(P&td6MfhW~aNxg&0u3-%sVUtl;YACg$Go6pmN>BF_E +)5s`cgC_%IoHI`S2A;?^W@?_7*nsSk-3!4et^41I{vq@;q*H;fJp^)xy~)E(xzV(Jbg6<9MeG8tII5N)d)VaGF2?EpNg9;D-@hP( +tFZWKKD<7#prdO)B8oImiU>v;g@qjC`_i<7$Z5YBG(Fu-X5oCguk^Fq5X!)a0c0B(k%+@enXSAPWe>O +SC(xD2?c`ro^q06q^xO|uyU@t|Ia$6pTOxK2;L4n43uR$fXwFgRXO2hnH6WN&&lf<8em+5`MNpFpogZ +V#IRIlj#7HSInZK%NATE`6ki{xaCo+C)oQ0GSyAK=zNz$X!UOKX`f949?##01K-GTZFo&Y`??5I(a|zu@0hcOFDGq%3ikdl39#Q##2GB@2$UV>GTdd +`0OcF{*f`MEkCK(3^ +LW-fY)~;V5zp*mXy5vItN+Q#JC%D6^o>+HpG@*+weCDS`Krjr&q|2&vqaLT!Td_5!Cx4F8E}3QWcnKI +Cc%rw0?Rl%q4^lXJR>07&&k7h8OQpyPF$QD9Ee3;7_zhfjnSVR^&-Kof5oNIkvZ1Mj+wBf>(r)EkbNGAhOSU +L<}QaG8$q?(KpP4=jiQ?nszfkV#-E-xl}It7<#ROT7ihYS#`V!PoQb0HOu8Sd}3;r4zJI5LY3_L{C+9 +w!Zg?x)$^zYeP7K{2P(vJ(e8^RPay8~K-euHHr{t0HG0w4<6}p$@OpFz)txZU@Rh- +ARHU^t#jgW4~8dS$@N@JuFUkm3N0`E51i(%SmRdqiIRnA-Yv&WQ+=Q9CW6e%dnhqBw7BLzetMc__Hvm +*KBCxH3gj51;cz?#s}JOYL$(x3YAdqU?@k<8#NFTm5?^#F;XKkhgt;feXvOv})+ +1U#hzeQy&?uy`Gvt%KM;$)CT>wb}2(uZq^pxNE?E6YNd<$);I*}D@?*{3*n3dn$dwE&p?ZTlA_rU<2E +iDFQ`Qs2_faeJ<>%*csSjoddYg9JQB&f+!H7%T+aXEc*GJ;s(N~8q>V +kdqAvqfX;s3tO9Nz0J!g^eD)c{J7Ur~jppP>|QS7=mw{z8i~RC^1Gujk&aE!rzs*ITDt0qs1G&#cjKH +&kNAL9pK&)cP=r7LjJmg9i+eC_TOr7T)9QW0oC0hr6sVp|;j}BUD-!xb22PP_ +2t&D2?d}1Jd_@YEOxyd#B~x+)05SJr@2CLuvUCADzOipme+Wj$-UUghO@Jl=^1&H#Q!v-5er{22g1&E +rk*vkkc3&=tNvV+3Kst=xUwb*xKCBL8{PSB{h!NUv`*8q5i2~ZSZGDJ6%AWHdxS!iFh!ka472b=^K#n +7zxGVOYgLULKohdcJAe)kF%DVaLp+7y`#nf#L=uj-L%hyl^Y< +#nK-`D*Ve&aRrbk1Et0a$0tAo27Ks4S*Hpzz7TRk^5>AUL+gOgwS0rg+}6TG;0Dy9HU+G1q)9G2Cn3$HUumP>!#_={vb!+GFq24E$*`uIyZRQK#;6krjoP+jb{rRJ@P=@ +Z3^nxSzy2Vp`G*-|V^tOr5p~;aIoWp1JH>4cd1+n6%_~f-H!;qf_GeJWAC}3+ +an$b2AfxOj9`7=V%(kEI&AX80!?ixJ(y#hwO5}vewKhB-^Ht@;YX}BMPWH!Uj4TjX#Ztck=e1xTCv+c +p6LYmU?m@qzI`#6XUaHr`nr@RMK_7r*-)&rM!;YijYNy_6Ey1%0s%p_0F2@sMCvl`y^DBhgCc|(`oAV ++69nFM32E=^_@_*#}`)XHj&%R6*whW-_+g~?#S1{d(9B(|g>O}F_##)f&5*&**uOXtc)om_L+F55n11 +!rJ}O7r-vEu9Ryo#OC$vy{pB;C=j@GG6rxAcO-ht^ncs9~KE6o_#R0g|-ICXpVzk`oC4&NKT<77)SCr +d@t=AM{=QUBm;#lPv5oAW;gtBl!d(aS`Jj@mc9vp +v#d6?3ZhL|W?m9-ZiMIF678`7(bcyvyscpJ*b3Z)N*k#4`B-YGbNX3de^t>PS6x7!ItXbXdioJ!^H+-EOL+s0MZ^#$J5n>4Wu{BhxMP +CKU*3dHbXpeg2oVwd8ZaA5&mq0_IhoBKD)zFL7*c@f18tbo2fi5Rv-$T`|Br!Z3aHOL_0M;405qjyb= +lNl^v;3@4+|b@%&%(D+^mekpKFTba1|>yZ6gM1ATk4S5KHUxpecWfoupOH9qs3tpiaYk+nT9>EbtCA% +RW`!?542zZfGmpP7fI)+OX^#=SoKa7!^?S2q5=2w)PO_aGSK~>pps3inF3%8)bD^IE2)UnEaL4g;({U +r^eps`q$0^?kqjy#hEsTF{h^ra0#JN;IbxVca|Q9Ja|fs-uv5_`zYNXAua@v}?1v(TLrR4W4dgHq%82 ++!`XV7`FcN}}w!)VS{>Gcy{}NRG6gnu*z8rp=dPH{4!RQQ&mXl3Z9yBF*r{14y5ya?mgukc*$nLe{(W +hieo1hfS%-+_XpP`24cI0OWpoNBl(dp;aPS+b +7V2v`_N8Wa3wkCr@F>si#JYxi%sS-KqvjAeBfC+IMKx$tc@d2Yjq)Jhy5M7szy;kIBe}S!Ij3| +Y&-ro?@UM$pT-hF9G~ek>QL>EcfUQ~WoK$)`DxFX}2P{vjN=GhJUgLvdR*_=c1&Zly)phbK67$vAP5y +rC2s-8p^#jKH@mY@O)h=$E#Qf2H@;Aow2UEW3`?O!{9^PB#7l|^UU3@Vd$)Nk$v-~K{9*oX%Aua<*Qp +B2Y+WSxbujR*E(7!jQx)3AWK(!Ad57CDIoj57xnJqvSbekjjBr+#6!w2PDfrc87<7dNkr&(rgZ(-hkA +3R-^=`uxR7?OOLw2~7~a5Vb`t;Ye}SJm0Fw}nng2Wjp5DPh>a%2XSN-dv}VI5!w#`RH +xS8a1kuuw+9UU(SfP2PCkhF_3<7nrK`^J8UZOS9TKFX&JA7EWRHYUI{b{g +1`k`_=`xP*{HvJB7*pt11Y)p?*r77C=he`M^^q}ySz>Q<|Is}XXm-ie{X>u*K&Ncq|r^vG*}b_cRn8- +`0A`uev-|D5SLM<>IrJUIE~cELOuZnkj;mi>qjE9A)BGC5iZDoS%9JB2<3vj963A8UoL` +6MJGx{$<&0<1RRBg4=>fwn=5mLvWuG0i(VsFi +IH^w_|;c1|PIa}4wMcpQ`ZE{hqT+}2-(dEEV4<*D+gRM1Z?a=QMwhejs2w){flUOmPAOGHEzCUe#7n| +S1&F{`6`VLPpL0G>Cp!C*=KXC$_Vnrr8B6Lb(MLjt~6o?fvJ^00nf78QsvEonkFk7ssB)MdsSn(tt`* ++?8oV)WuvEpUQFA^(;!2=x>23S%+t#_iU3;LQXUYX5vBEkIL=1Dk7;)X9%mu85Y1z=j}93=cQt9DPPk +9Edyi~7XPxj57FViDpCqb6Y>15liApTu~ky+P1OpO8AXV6=S5=1)Bg8i~&cuq(*nRrGZx`u0~G7Ar`W +4j+VNlSSXC&(ZUreG@iTkMrdYQLYr6n{3oec=TBB^BSuTpiPaS_T|mVED^)YfZa> +&Tk^#Uznu@oDXMAkSd78Lbf^Olax4pT`v3`(Pm>ZKG67f&c)AFnRBoyymBqi-S2-v1(O^*-Ql20nyBS +Da*sOj0xC!CP{?JAV(G7cX#NRAO7c@)MacnlsK!d*$pNsuAef=Xi+v<*dD#A{M4KZ>Ttevzu2?qpl`e +HB9T0Sg3KNLCXBZM8Rx37Pcqe+F07WYZ9q6QMyKV_!=jxeD_xnJ#EDpsrlQDuF|%-VA*~7A3h*+%G; +A~;&r}D1x^$chvg+tG&@S>;TW$4~fbiS(56N~M4Py(47qAXS9jt>t{FPX7?i|XbRUq^UiZjASbcSQ!vch{Xt!2`K|~S%-|^;viW2f8YhfKe +;DA0@TRg!wx}D9#&ZCW4lc^p6Vb*$$fzM?J)rF&y^o7L(oU +~0mX(uqdo&=!QW8>bJ28YG!y327>1jLhEk!GeG3sC$j|kLoU}Nob)wu4c!aYDxP*xNA>b0Mq(u>{van +6S$Az&kd7@PrRON{$Mpt}}ltS+ZLzXGo2hGe60^3~S&+71HbwG`@&_MFjVvU7tD+Ug>O+%U(sxrN|0O +KJ8k8RL3*w#tiIF%9bX%D%n(E4oByQ%g+ry)npgRK|>?q#fgP-fi{>p;rGsZB6*kx6}I_A&7N2Or@yw +@3?DuO3TUGrET@;_)Y0&|JWF9(Pguvl|F3f3P%+@{DR(3+<1Hi$u>)gYR-87DKkN^YjKgSf5PS?tmm+ePqVgV#u$5cX*hB +r{m7$lo|4vUjv#O6)bXWx+!NSTtfbU4 +tTn=BT7>5jA>uUSH`n33;Xco|3UnMME)1J9ziJF3@f-`lWM)IK?d;x3PX(HF?#-@14UVFMU(Cq{@Et; +;i@zXn+J=qx8l^oBd@ZLSMWQl~zZj3&cjc+~g~x3q6ZN$#HwHf&S>Bfcc@mrKrdF7a`Sejn5q*dRn+w +)@cKS$lRYQka8s^cj~Fosk5~U+0S~NDD?5*o(jUlN_De|2RezoL^%fjjRgz(yq`qax^*$!%-1Y*Vywa +Eg14^Y=ex;oy1;zuY??Zdj)q!E#uCpV~)jDjuO&APO*U9jKr`0176Ex;Tq%=3n?T(sY)s>Mm2Qmtt*yb +CbML6TsMcV|%DkzZG%wj!`fVuS(H;kJ>qGxf7a+PV?w#62A3^RseY~YQw0-iTv7#m_m1 +!mHV$I&fJW_kda`g_=6UM{~eN3!h**p8zqM(uKx#>x%tJZhwmFw&Zl%OKMxvuQQWkB}m4M!>?UDP_e0hs9J>rj^7x*#NxZL@f5`lBj>dKF0j=vxpkc41ywSe8WagtE{k;O +s4{iD`g!y>bCmxUX +jZA4AWJr}-aT=<&Z_cbcbld6(vC%HTE3Z=YRZ79gO(4PiMSY>rZC(*uH&fcVI55|515|*O?-DZ^GH5G +N_srL&KWt)sPpQT?P$n5a$>;qc-J>#PH>(OOJzRrg8YT#o_Z=D(M~#R&!}AcK +LY9*^iyBl%wenw2@1x@`TLPIPeduxk6~Z%ovBhNg1N%384Yn4D`xi3|r8WAH`-^#)Ty&^eM5DoPiiNs +txFq?x1HiKJw|<*)+(^#f0)05?Af>O;jGOkDG}aWbM{=^0ZkN{M^_iu6Y39iEf;09h{^{}PjED4flt?0wSE=qhSz<;Xd?hns(HOB2nP8af`~xF?VJIw%?9wJD^;s68K@%)oKJC44fdz6A-yGU28?o{XnZK +>!Z}a%uD*m>Zzdgy{O8DDC{MVb|NK6JmEFIgMR&QzTq6&1W4bU&YAD1fwW4DOV21CL)DSUFN +Z>%>4*9V%}H9@23QQJq`Bg&cxV7skFTPVg*s;hqe{I~AA=pP42M=MxOcssN`LiMA=D2`r1q}rZ(RHg{ +pTADqpwhH&MWQ@ZHY)eFAISZ{)3k1>R+L2(14@d4P2(>&DKOGDP> +KJd%L8uJsqWIAU`>|oQ+k%BejF7y~_Pb1`a0bS+2OGeDc +r2+?Lr`r^7;y+mAB=-R+TJ-00#OWLA#WGguuB#G<%E`2JNfZc<{Reaa()URPP27}hcC-D{k(N=!j;W5)6^?>>PWHEhHk1?qj?^=RMnsf<~Vsy=r6 +=AD$%HGdPPh4`}FcnAHl`23hL($*ZbbPiNd*U@?-$hqsb?WIPm~gfqsCG2{C|)S}z1#S0bvXEanDF~M +NfxNZ`HH6h48FA0bR9zouQ+5rc)uSRadgxpRAlO6_|p4dZUE|3hTY+%!|Bgq+gttAnTSrvO;U80)o?! +s=@+<~_VM??!_;B?J_PKF +a-CaFCh{32Go!EvEPHwn&yhIyT^I +>Kr+4uljE}@qH$#dX+9=*T*5^~#bLXMzUQ{D@*Z*bV-W&WL==+lHn{}n9B%wN!wWd8zV&B^`79pp(kAH;`Kn)81*LiLuvM=DE;aB7?;{ +Pr1Vq{x|zr}$njM>6Ey51UpKk@_$;!-I}Ys=;+Kl&W1n5xYiJl~=Ok3DIEl9FJ8asJ$B@)oxPpcW4)U +B0rK?kax{q*aKG^`yp$=J5MIzp$^~VA1_XgYOy4Cq_VTU{M!o820p^GNe)CSXu>7-gLNcRpFM{aokBz +Z9c{rM@5dR698=w~9daO_P~v+%lwpEu*~Qrx}H`TUGx3n+Cvuz-%v?l>!*Q8JDQ9)c>|<>qMNM4V?hP5cY0L;1M3O|$WqqBoGsZyo0I4?&TVARrmLUq>ivu9v +ROTR+1RDOQtzcX`C3M!h(uMxJ-(}Z68J4=>%}iQb~@^;sBR +DbY0m6Kxe1)0XX?mV4Ik`;XIkTo!$>tRq9D>)VlLX`+C9$SFZ}FQ!))@F@E(Z4@&KR!J^!YU(Qhf087 +g>-1q;4c935#`WlGrD^Qi3_+++K{mKkoJuy$VT~iZa_DsBSNm}DaG0IixcN*@NpK$BoqbTJ0(~O3Iu{ +EG>aeBK~RruMF06QeJsRabz6t9672~P3$C@Ez@ud^%`CL-y}L>~}mc}GhX#wCwvQfs~ik}mo{pn2y7g +hZolQ;4%DlbrL%7YJsr_%7^&YrJ?fdNMYducxS;wvYp#LF*5C;{mLbO)zWEQ^07No=(N(2D`V1EHcY%#jtaJxjrK0gs&1HOw4 +n105M;76*9?xynq0_$^jVl84`Kc4M3ceyyrsI{{@KehM}Frxfq{-j}d^XqJ*}09cm!}#Sb_Xy9{?0LG +e2iitiH?-vAV6B<~qC4E*P*_)fn(bPxxoaSRQcK@1N-r#cKjGcE<@OFa(E@1lKy*`ddQ`Bw6N8`{|SU +IWwnG~tDJu}`lNooUe?zzZ&;57_Vs$U7>MW)YrwST6boXwiamg6Yr;ZKbtQ5SU9V*oGmehLU77P?&f3 +;8l~Ma5ff(QrvO&^z$U%jo^u=w6lLEU)$7k=+%+=jbPO2KjF$&t2G|Keu10pCBG>mW#FRi&$LakhHmY +UGH_ogH?q8}m9DU{dXhG0JtEL-7Y1rJYX1YGg|{IjvVx3?>Xo9}dOlK+p(m>|GCUZp&1SgJcb8wPoGV +9CFO=PTc}TbkowiYlxE_IhghX=1fuUL+yl(=eE4)8ryY^8Pxt#WYoPzeNdzs7SV(Mx3eJqyK4oh%{Mf +=1`@r)84z0)e#Qqi>XcSNS$sPi+}b`3R^oo>^$&li5ID!bFrTHh(h}uJ>Um3Op +mrlV>UtZLF-ARfpQ(?)c=sVt#0sl8jAu%s&!AtPVD6`=jlo|)v(3<~Q5P#Q%-A>0OWqLYEuyc7uhlG^ +xOs@~3r){)q&ieMmcs9Lxp>@kp;>fnMho69opUh2&Z*BjEunF8Q9Y-L^>Q?=3{?FjwBSV38s!Lx_Wjl +nVI61G;iYkEcjl@l^T#GGxbVQ-Yk0LV$gOJT7CiMnc)7Fa&6&g!N3H!B@UBBz**w(qw{`VnND*71nW{`V%s_M0bk_>k;mZvhiLx(RP5KO+Ejw`UTtqJx+qil?At`si0Z( +*((Q^-s4%K-n#92dLT0Yyr3s( +_k%bx7&QjlL7*+4q0RQ&9#V9jQF#E}nF2HPS?`8~x%$nIFPW?V^PL144sIKCYulO=4#4U<9&EiVaUsF +y@rwr5qcdsH`#D{Z@Ub|(2Awc3x~(AMZ%JH4kQ1(6aV1_Z;N%w(BrX^*ti2Zu^v_$+GOcp{IOG3tzrc +6!tn5o}7r@Aii*6U#PYWFTikt7miY9v4D^^qs{C0stZOd+y$LV%~yhq}<3oPz?yTHQ4Z2*<#?E*`*7o +Zm1E`S21Rt9g841Kk>d^bgJwiWliT3~VCs|9)+L%F8jH`);T-Yjqev%rLK^~&+}$pXJvV +90J) ++anh>2FL6P6x9K7bkS8svQxIraJEY}QArcum27HjoBT@9))>s$7GO=BU0B{U?+Gtt62P$yFCdO!Fh?I +Zo{M8_0!1Lwwy?A8lt0|GIu(@**n>BrS%uLRka)iqt22L815d+0_OV7334Rvl6!Ah9N_GQ=SK=uHL3O +|zP*ADEd#Y+nPks{*-slsrp&oYyBZD*Xf;DGh&cPsPcNxK~=0b7W2M-6?$g${yTj>2@>5yWn{0pJ2F# +2l&2$588!_-h)kU?FBV^X)c61WU_ycqDf#1oO@wzq9C>Duf60G2r;LoRA-uXzrr+{B%@ycBDUY#LN5) +N|Tv@|AS0|IP#+e34_c*I1Nck*A&QH7>D&JBt^%)X#h5h%GWB19(2SlPmgj1{d!A1{@w}bqj*aT=`c;8!=%;f$*_OkY=&`4PLDD)XD{2u@5Xvcpx+h}E54 +>bIE$MntB^h39%7EhH;uuH9R;vK|i(Dyi{a +)5c8ZhM_LI$yv-@IO%Ag+H^nG#krD?t~q1rwi)k!*>h(wL*RP(%`QR{yIY~`p?byAhB)${6P));8ozE +1wW_~d~5j8h98}w=C-o5Od&SsB6%cnp&s38`0s5AqVfbFWNZ*xYNd>~Rj~pQ;O%@dj7Ge-t-$abJrOA +*hPS$?jTU(1sFkcuc@i!EGLrz+EqFH3@Knb*K|9yV(Op;uNA<%1cJ7ahxFuNbkx1OKu}v#;LLn(%5x!yxZ +$ac^zvuvB9qVv=*_9P0jiGabWs{bGl{;M2*N2EGo9kQuL>PSCwzVlh?5ZbWTxyh5LB~ +S!Xbs{;$=B5vVa7>XFei*z;YjPg(@|@%DLZe3PATTf~YbP`11q8TYcGnhjcp4nAp&uWRgqB&486F&gx +iBwR`{d}9(ZMrDt0&63HvQWZMW_^l_T=JS%cX{WF9iG@a!G8phUmDP1Lzim<8RuA_C*=c>D`ToitUGl +a_;08pBebH%xVWUPphr5$XvN7P7<^;%}I3K|lS-R%7MOMvZ@s! +&dA_hkdVSNs|t*95csNjEo&6)y;6W3Rv~O{L2I@j8;a&5&#d0@1rI{^-IEU!^a*pTFXS@=&}0G>``kD +0hYrDutCPiF&pJvQZ0FI8q2y&Ek)LU?;2Uo>hR*wlARdPHYATT_#rCfDW}~=dEJJ^Hz*yR??-iTT;-plI^t +Xj(67lxW6-ND9U6 +%GEqMQ662`mftAk97;ckVIb;d^qqTM_kni(f=Y&FL?Vs-oukQZ0cQ*quipC}K)xVoM;jJ|`CmEmR2%u +7*5`zpu8TVCUzSLvJFPxl7AheD~C9dgv$QuHi97|9eEwi(*JivW%K(Wj>!TtKJXif`;#7hy7Vc%AQ$h5yN||bYLM?-~p&?Y;U)fg)qb+_7B1ILDfa|to_-c0A1-o +C}7lz@7kv2z9*F2X%Un!#dlMuiJK}c_(nJJJhTqdlwimK`6#sJe(l7l4`R^ +-k{UOo=yhz<`xLbcnzqoN?3(#BucN;Y3tz!#X@xJ*V8piD=u=(Ok4Sw5~kyY7p?0?WJc<%<>oJxAJls +Du*BIH6s$cK9ol71~o?F5{>mK^!LTNIahOFLp-j0a)(L9wpxLBt#mh-od(bA|drwmtS2v`d_tiPNX%`BgXZ|B)r(O^NEn1eWw +2};KxqLid}OakM{N9+N-t1V^;K5o%{}0NYpL!dLsbtGw<-_<_Eg#sPFae60)~ra#5FRAaA_A7Cl5F8Q +PVJW@C7JLC!(sjlYE_@6;!cAa8t;P~d2gbp+^opQ%fapnc{`kOjV+H-p(bU_%BybivP~tWGNLqyWj6` +L#-iYfyR9-m6JC?%e}o#^k?%I!{&GeIBPp8Q{a8XZ;9r@cus5qPw*2t<;kxUlA3x+|%JqzkB#c1EnMYI9XV*JXhraw?`Q&7AdD0@FBO{ZUL+NU+&3?td +juQSiYyO}^Y-zs~%m!@fZs-ZsV4x1>J{t`ik>w@jmGV($H!YhG)NI}ttppP|fcdkg6nY9u~qE&piMt6 +#vnzS+Bkhm7I_p|9%Bk@B$;k~Pam$NwqSQiY89mro3=DBdV(b6ZLy9A|13 +~epr0o@o1>th;5ZYN^7@tT17@Ha>E|H3dd*XDRE_iH?s+t`#4+N<7*$8x_yvD|C>#By&)#%;0NXfMdf +2XX5O1@xovTLO0x8S@66<&Up}GTsJdJWAYSf<@I((5K+9P&7(v>u9{ZtMKvad4;x$CL}yM-k1+Xu2eA +ME5kU9hLFWs3(D|LoJe +d54W>EQ6=J)4j`VRAZjrpyZLFZ$zXXsGvTqOQvDXGysbX*cE(D{=B&OZ{&fb(${GvIs_JDJvxQ^9FSDV! +k1*1=V=KjMJD~oF)Bw9e@*1pRJr6Cf!JeRm%ZX#@M-HtA;~ijN^BUe<>4(A#s$;nTBc!dsG^q?WqPi2qyQ?J(Y8N9{SSj0wuCB59@z` +z~h50|Sdav5~C>Mb#ru*;o@D%rH#(3@`isw#7dej->kris^3Nc&<4OLx@FwHU=i+y?c^Ehga75GS-oV +8uv)1`Z0B5(rA>u3V>6r<6XJ3vVWMG{J#&f1Rg$g!vK<6Y`$QtBdl3)n1`TE9eEXgCzRX$KQuNN#m +A=e7^_lTN?h`BX{i!<0#ynLUOL$}$S%%B;xt%Z^iKhl;aVz;lQ +1;SPa!)GF3dngasc2QcNfNgs38>@Z7iLItktCz-Vf7Ky*yCrdEH_*>TJXRa?dSkVN{|~X+*g_&!8*je +whjsq*)A$pVW!`MDg2ER-RENxZTXw7)&k6Wj&IhpgtFviW&`c1~waxP6ql +$!+0)V|fCxbP(_evd;?9{{OVg^GA|jX{!+;uxUW5?|ILXf*366p6=a!x$y@;XgcDC;k4i|FuM%_AJPX ++rY1*IPI-YB?CU~7go*I-tVA@W|<~qj`B#@SY0HuZ+!Gqb1zksLsa40JZ`|)jlVIc9av!QhR}6v?%SX +skEg!zPG1v%DAl9h|G~qrVIKdikC#{n2FmB-g?uKo98e6_#?tBq!P-|Mz{-f;micH?5M(~lW`MRLVsL +iKPpC3-DGakER)*$l&ZU5Ve!c_>tnnZV3s3K&I9p?$0oGsu-K* +@#A#mWTuT!LnTbIU`o5&_m%}DF*XkhO +v&LH-%DhCE0T$K$|AAiCj18CioaYn1xV`E_zg4^F9M&k0=6Z713ME@^+DE(SSyL|?jUxgt(<_zYA|hC +Xx=a3A>3w)?6hUwInkUzo%cBzo6(X-zL@|_A`*cVC)k^9y7)}9@)JXGnm2e{!sCH4h-$ +yv?USR{S*~2L%Sb}H#5SF>_+Jf2dEQj)TmE2);pJvH>&dY%c#<`Smzg0*D-uE6^Zq~fz62nuYXAQX3^1}dprE+rsF)-!C| +W35GcxEM9TF9k$`XV@P=sl?<5DgV&;zfO^=y5;vgMVP^?YS+ZJ;J-sA!v6FKK&SnlgN^5I64s`#tB}n +PD^E_FMkHH+cPi&%S-ne$MCMf7T@Fdo?wzTi*^AWqF5teD(D26vY_te6;Dw7J82ocg8y1k;(d$y+8B5 +{LWJh71kLlKfA-d4N<4K=0Zb8AD^Jdd=m0;tsU*@ln6XyfcyN|=z_?<4DMX@^pePaJim7m%88@0^Vj= +|vvs=5?Xdd2v2azKSM_}mm>rs>ulVdRQXU1~BjBpm9lfUe2}OJ@N|?F;0xMc3NT;pRPnMd?`079gXt` +e<(4K(_VI-XpCc%`={1lt)ona3(;9L)?GZ=hE;iX-D9IKGaj +)5)`#BB7fbD*M)koes6!BN-iTE0)UulryHKF>o`ILSapHJy`;e6_$tDR3>8HcLpHu87iP}vy{6`Q*Ve +D0Eu^BB2u1IT3RYaMW?5?^x*>7_@z$Dvx-8Hegbl5`3N;L>?iu-`=KPJ;Hm8jeX-LpUbY-5ir@Hk~Fsp-vNqYH* +D&Kg#UJaLU)0-|nwsIF0plV>q>N45x+ezP~BLuQQg_Bz2Av>xE_22j&~*s=^N+!#60*9L&n~03umI3q +{*fJQXo0Yd4#1#6+n`R!xhr=kdacnj}UE-C|kIV>1qpWfehv!(sn@c#Ov!-$!2-iVrbzOsnC;y2iBnx +as@0_JOM4R3^HqNYQC%O4N|W2{0JXR`IE99q_5LDL&N=LsWdKAatAW0jElmE;p@h>x@iAF$Yw5DybQ} +r-kj%sf4EAt23DRHV-;gts9*xP{U_3Fzxc7Q$53HGnsTY^RhQO6)u*#(W!p%K`@m+x&+8lmU7J1+MO7 +9K8{hZ2vGI% +W3js!C9ys?6no0r{s;Rbmfwe2l)#*9}u;u83*+<)Ry>>L!j;^$3(+tD3L)ub%)kD^pPxdSISt&7Q(P^#{vmOk*d)HO=gZYE6FF8Q&x5L?Bj?=N&ht6JD};X)_0 +s)Y=#%1Y6ytZuX_IuGg!t%^=&K9;Ao(piuPt!kmyEGX@j?$D~ZYi+ASALr=~sw$%$RMpObT|!l5FsQ0 +xn4x%}s%W%bqbVspj2G>Vu3_$o(%?NapjWoB84y@1Ke1{Ng{!*716Rc(yWkvd;$nLlcY=XX(Z>c=xT< +*^uBx?!P44)t2)b*u#!;&#`mh&FIo6e{=2s!C!rTy60o_4ZozZXzt8X<7!s?{v*C4ERYOVlb^_Zp|gw ++O3I|!@0HSHj*uytw=VYNu(1z|N;qe58WBA1!22zP|AqN@~g^)Iv#nvS~RtD?JtuM)5q!OJ018|Vo1k +Vbp-Dxv8laidoWP4AN{qF2$`4z4x2(W}y%a0|vg>2af1rPEh-{x0;Y1r)t%4n?n;PSLB3483X+MX!oe +p{w$}Cp=%Vl(9iYD2ft&l*@|e?UIT+Kv%V5u9Y7W{bAG=;GEhS#cH1yidEX$E23D*54_+WvCh1&>k+G +T(DiDU*iR|=ERy@wVzo0MuDVGk^mwAPzkGwo=jJL!p@W|$erQqr(!w^bR-WVt_s8WM)?;0RfxStZg`n +^=gqVx^UE0C)(d$6^=(QFfz1Hsv>iFEfK+%Yf;?wrk__TeEc#uAeS{+m4nqiiX!bD=PCX_zw8BJepks +q|uebW*01JA3mG{)yg3Hq{BdQlrBm8ZTb5oaFNZPb`O2W|AaG@F6bkX*WQgx6;maa^!NR_VBTQb^$&A +Q7urevEL3BsXs4`N7bf+vSHf<^;%_wpZt52X;>OJ|Bxx=auaD)MRs*=mXJBW_rY|M!zdmpfAUqaQ-ZS +`SDgkscV1#k39)Wk)>c*`ypNjXE#utrAHLdjwbA+rCB-xeK_7oQzGWyhFxkaSXw1W$LJF~@)t+2d&Or +X5QV}jL6>?2ZPT;p>`{Tix6$>?$@Jz~+zI*RS*Tuh4ZY|}19jfVuCNN2zwS3ivBLq$4@RtT;N|sepy7 +Sb^>O_b&elR&qF=>c?wKWWZn%BUuaMIYvpKEf{J>?8DC^c=iNC1f2Gs +s<*aU(OxiF~z3@FQ2{}YDDGmrLSPqHKNwfc9^IrD&3!r_1qV4he^t%d?q}I^dgH*j>@C +=HN=ijkn?6G`~n_&6zY<>_x?AQl#^o%AAR*1y0D4F_n4mV;12tDKX4SpOVH@_8o*N`2s;pBfh?sc%Tt +F&)xYtf+-T_RG*4Nfzcr@wk1@4{4PZ)$%;I8k>0(p^hHSS%0!)dzmL8lttpA84`RfWu8Pz;hf7AoRD> +57Bc={P(sSxiBmq;2@iC3lU;b_cA@v-LhTl;{>;QU$GUgUHPEFTudj3^9FF*4(wv~s}Yp@&XfMwGbTI +7c(O%g+es(Y$YRaz5@_vU_3)d_V)S}^yu&=;UsXK9s8x?~D}slg#bk3B(r>-=@J^j8r({xMnZ4iS4qvJ-{Svtf@M+~DrrhwftXQ}MGHDYCC!(n58D_VRacmSUA%!@I`z6*%o9 +KP#$71FgZ}m+9$CbOVgP12G=pS{yP23Cj)U@rzM2ibW!28_yc>z{>eNQ!u|Kj#0wOW!58zvI0=;GRzN +`yJg{O(o@Frqgox6!B@-z`EhSEN2mfA%4o&=AayTH?w7g+;Qyb@P7hZ|p{MLvSm`b|67T@%4t(2fr>z +gEs#hrhgv=UkX~pT3IONN7KJg*T275;h}QI%|anim|xOAo|1qJ)BRYogN2 +gD8z-6$+#BCCVko01oPS;`V}YiaQcB$*IBBMV?(?dqO(*^iNffa6n}ot-i6kbn&O0oVhcw3`m)2$LFF +xCPoXMNQyf3kNnfZ4!mKNAfpkdC$D3SX${`Hj|6ssEh$2QAdV3d&hd8^u#i^TO5NAy3AtpkG+@OC4<_ +ZG6vjVB87JF{M1A8=W=#VGV6-2k?l>Mkj^FZ0(bPE;-3x{y)P2max4}By0SxTd#z^4DNJ$_8rN7*%hC +i-IzFwsxkfxX|nyB&xYdro!9v2>qJ=`16%VeTSBmBcRpDoagyRkYfs}^7$7&EHKi*oUZT9#pc+K3FP#`xwvp=G*KU@b94qnQ#v-vcaM!en8%*K#ml=-72#o(pK1U3>^ +zLxL01q}Jv2|P}>2ko@qCNOrbpd)`J!gn4&wWUNf&&3spla{#8l!%31e8XHq@9M{^8oTCVd$SPo5e6x{ +nQVd1u#>{>I3Aoe;j~q6hH@IzA40R7`vADe&FWQ}_O~YL>G-i`4|~K;C;B2vMwT!|@U4rhE}2B%tqb1 +E-mRMx2{r$3`|GV)rYUrsf5PgEQ+i`K%+S*PXI5EBWD?YlYos~B)`Sy|Kt8NjeMDw%Q~)64!jHmS`&1o-|ghO&2QHHYb%G5p|VoTTQz{T><7wTdR44f>-b4z +0=tV)9V6onHT&jZ+3>BJ4lQH(1c7%Iw|@l1zwhpGW-n0i>fvaJ7hwpSiDU+B%0uhmyM6%@ygO5Meg&M +=jh+j_3XvdC!%m>1rt>|@AjIgnx$q}KV!>5ov4E#2?Y702@g;jUA{?Dvy_}+u5?zL-lp$8Hie3#@xNj +CUqAd$UwYo?EK5pgmOjyM-scK4NylBmCg~$rfJyq$f +84kwLGSigzo-QB(08sTe(#_#;Le%)16PMIj=A^sTG6=`B2C>IyQwh4&6Hc3GZ`ma_Z;uo7u{l+Fi}jAkk6fFLEO)H1}_q7;z>Va$c(MkV4KTnYHh`J()rhcT +=06u0XMQ^I>re^c=>qpJr(JZOQ1d1+ds6eNciW2c58o!YC0#E+>%cu9e+7#s#`u2`dkaa&NAk%=!hZK +#bBDv}!Xrht~o|dSGQe7KR_OM0C-rBN7)*wk2~_u%#S^1nJmq@ +_BpjdXI(x)%~0t3K-?3j;wV$R4yIE;hJwn6RtF=HA)wL{I@Qt==OA-MQo5_}9(>b|OH81-VtKkti_Hz +I$@;Qw^zcqC$mH7U%C&X+@~2Qks-==PtY#`o7&|67m9{2!-08tZNqV=zflR`;D?&}Bm$WNJ!~cHza$M +`zzmuG9mcGO7$p{VGo}3P}HmOc&gAr~|ybXpq4S9k1KiIO?tC@4?di9Rp18Nr6v3KRzZU;VD6x~Xl@IXU}78O(yoxO~lKce^KDZ2AyWh4FC?reQ;?B*&iSA +w;y{1(42F2g3?UA(;0a4Q;Wi+FMkO8iLz#hAsxA4jqYWk?U~vZxtk$ql+F +#twg{iq^QG&>pC}O9ts&p6tWPvMy^T=AX&j$@%K1KUG{EIs5k&FHEK +?M`-&74NW0+I_U)l=SjLYoSf~3@RJ0hU%53rHbNy4cNGdVgJUPq#9hb&Pb9PtT4QQJf|{(rvl9ql-UU +jOj;GsJ#Abxj)akrewPN9Fni@B_&7u8C1$p=>HG_r=ywIi)Ub7)((`T35c!Ku>ai5pwDLo%#w3JHfO$ +*Nwe+}ig!zq*?LQ_%|BhLwD{VBoddW|@oy+MfIheh5FQ +@A;hvhd#oHvcG-b|6C5A9$r>_oiVxkY3bJ)=?aTajJ#QDMjE`DB#fP?otIyLQj!suY1xnI7T-~yw3x=JF_5BQ(wDv_EsQd(yHTjhkBU-e>sIv@k5=%adlgpW3C*+=5`r4t;?mY10rp&VhEiGD +~dZNemS^fa(iRaq^xk~F#2eRekWvruQ}eI(;l>$lx)wp +f2Ue-K2s_0Tm)v}?HhLLTtM6gq+zCtEam%m|L|KqhTEX3%vKDcMQ1g8#@RNWa%lRR|_hoEgS +&MUzP-WIY<%0j)=>M1L|Ci|h7wP{O=>O;G|E>FtXHIAN0NaR;gND+U>=>{B968WBWE=39^WtdnJTGg}SNmshX5gFTyLIrj^6@IH>&v#PA4Lxq +y_IEh<1Qm8WNg@l@wzIb}2w6R$}^%j(DOd~${V#KAkZM6aQ_4qb|+??%RmBaa`Lf-XJC0afblwQo>pN{ +aSW)G#9&ew|nr5FB|2X@FqH~*z1<4?*+Bcgr|e-ULR^ns9QNvO?05(&M2DpFW%&7$Hfus=kXe8t*@H? +EER4@?5U=If2hkR?lWw33cO?E-eOfEP8o3>5!_6XlI(a&k}lvJr3f-mJ#dYSp`Ad*a)t1!olBDgS*b) +E2KUfRR?TWInS^0F{p9;Iu)m${(O3r>c;qHoC&V3*bMK%~%g{}Oa7rMYRkl!d5y6dBH9F=b)7BE|hPHLkioX$%)#p_sr8}>J&{W7Dc{kKAw5_4 +RC&y#F}Pv^*NsR>NZ;`YRpTP5*b6Vl(bTSlv0c&Lz3CkMx)yy{qSwF_||n +SAVE2#mJux=p|r`ztB_~`fu7b~NNNG4cnYYrNr!n#Gfv|vpa51t#4CuaEFW`VE2g*^e8vKTA?KV>)P; +--XTg|s*2*yFN3?i~ln&{oC$V&zlgRX$c89_DW==5I6V$*6~gV3AR;5%o@@UIWC7mJ +k--oKV!KF=GXU#T<5}^4W{iM(hv2fvLL(2iT&M@4A(ND9Lv+CQ{C2j6q(+m}q%EV`AlG$^^+tOv5NoV +T>ThF(ySG$(VF`2xBtjNXF#Kdd9@d{*1B9mv3QDEXY6K;(lF0mKl$4E6blV9$OE&f$`YB$Omq5KfWOE +W;`}O@;1g}HzRLhJoZQOX2xTmBv&vVTN`-|H{BoAafeE=qu@%UVftYthtE+e<5EAEG3eqcO((WQ~`cr94|knuQNmg^Xg#{=cJ7>^Ia$lDo@57f +!eF&^*4%8xR>82OEi$5ZEWG2=HOFEaj7L0-prJaZ{uTEOxd`DVt;$bZB5X5>#Yz7_d;#^bhvT+MiVwp-r8_)z4xGCmUdCm2s3wA#e@XynTnk +FQS3s~8`Td_Ln5qFc^jynuWv;}NP`78sw7{1nD#ARo*4T;!t|k52^3k&Iu3d@$pSktd9=K>p|XtSpe1 +8UHBqpEG_7@(qmNiu?h_Z%2MN;}P6M-Zq~u4^hkooDJuA>Us|$A;bxDZ4vr^>SC4-be1t4k?DkjPA1b +?%yiO0=Mkop!gMk~r;6#^=njpxEhzn7ZA&Cr9LOw2FsBC4>BV$>nNBq5=$OvgG}g#~PTRdy=QPua2c4 +gp&Jm_#1fB1h&YMg}0G&pr^CHv91)VcY=Mko32c2)2PC3(A1v;mgPEne>0Rqh +{$^ek6f$5bi5Z=?K<2QUR}&_t8^H<*Z~_f(>8?nn7q$9AI2x()dJyM4NjAtf7#@j4$rI#?~zmTm7>on +xzMU#`92JSXG-B9BKw^0TK1~bXRGfCp|n|{!=Si*mh$~#txGQqfC=A8Wq({XcB-3TW;_BW$;0@Bc>qq +BIj;vkh_PCjJWIH1%N=(Se>zGSib)8E`MhSbHqbeWjj%w^d4_lW&cV3cqi5#9d<1q@0IvsBqsN=Tl8< +-;q(?{q8@CCP3B(+_ai^7{&;c9joC<6tvXRa)I3U9@-VyBA)$zseRQChaA>bJtVYo_B>HehPFhO4@=n +uhwpM_rE{^v;_M%u{=$x{fJ*1@c}AR$m<3-CPZ%}{1D)iV3CLqQ$)Dya8p+)8Dgr@&T(VR=EZ@#3m+1 +q)uee)VNlfzJ58y1bHZ_f<5|^`t|hRypn>^3LlBN9*M0|Blo1fAhxSYM->RlKe+c;lDl0>tXXFJ& +wgO@A8iqWCI?C{C#^IYb9$X-AOrTil(>MfV&WLM~j+cJ#!?75?_YoK4f64e?dg=GR;=I!Dwc?o4@BPI +-%3*P${Nrl($>HZ=hUzj}tA-E4@T8DFK$>vt1GM@xt=>RfYe4P8)E6Jbw@~Hg%?dw)!j2L;+8tT6X8A +3dMaZOEwD^*0O(?F3)HG@Z-+g#`QEsO!@izf+X@az)g|9g=svpeUP4FY3gw(u+Z2aOp*@7+{rPI_nx`mENHo7%XzLzGwG`mhmlzkL&H6$G@ +xjv9TeNa&>mD(sgdImA;|Gc8Si>Le&PCG-Shv`|wVPmFR8h_b#sQo$3pG`avNKDcAplH^@2-68OwWs-eYEzwZZgsVb#n?xpE6S#`lqwh(C>?61wzBN^X0SE|NO^suCkz{)l +Sb@$Cz-{o5Dx?A}><*~1Lvc^G}+$uYeYhg;ww}QY^7WJ$ +41knAuyH&F>v1<%~s&6X6clO*O*}zHT(j7lwW=bb7y~t$0@y!zOi<|g++k)m*-9@b*y$9=cRew%*M5r +?+e|VK7vVt`3yoY$p<#kL`)j=!TmHh^yTa+*N|rg%&%mcU(Iy8^|utwA>uB9A5eIDG~b84OT%@38bxg +g)W%Ur%)0y0lU1X+`7vf5>Nd}z=IN^WADMZ>4AuN*Y96ne-#-dV^CTD~-Oo0*hl2G=W?hL0RqZVqMYA +#zEV*E==%>G*9rW_^zaKpq6mUN~x3$;`QhqyiGG!F4=ReZ7GMbf$QKOjPl(#?`LO?etA0rt__Zv<04L +7{_6Hk}&$nH_fDjofP-^qT6_VqZfGbWVYB7M?O7pJ~@e%+TN +DZeKb;IaRk!jinhiaPt@=Y7_Nl%Dr>_L2Oytbqg%k^CM7S{d@-8oG)YP~`6As&7#N_o6$$eR_(+`v&3$? +EGZt50_&01jr63RM$eG^g`pxM39E}O9MWe(mj#1kc0Bv{^iGBtBa~ij +T=6#QNO<0;z~RBy?}+ap&vDSTPbET(re_Dv--*YtTp!8ts=;l{pphEj0nRr&V&mbfDUd3Z9dQsY-Op$ +g&i&1jP+g>#&)(?;?myL{|Kmv%0i8T)2yKM~=>t3``bnGGxr==e7cWeRIW1HL2VjEt%V+<9rU$#mrZ9 +BCOKA93QFg};fKoX8EL-rE{7x?AEn>N$Kb{~=qTq%@)34(ifeSnno07atNjGf}_3_x-XBd52j16tZ;x-?8)?4H3VUi9~j +NZphEoQyWAcn-9klv@L+I@S|H_<*kjfJQ$J51lU_nY_-zI>r=1nU8~d;L1jF>^Q4w!A7eY9WjY*)qRh +&_g)>3CEaNq+q>%^L}VYquCzLT12S*OzdGSYtfhClvs(#2P4RVbc^(7yh@u?4kpPycoeQhUtR`sw;?F +5y7+vceseVfM?e5CZKjWKG@44+^i3h6!L-5L*IHqX%4DdX73Qc6Q)xCBVZ<_A76c<)_cayC2^J{6nEe +)C7%{hM^!L4@;Vab4DM*2={hFT{dJWB#{jP!hgbqju+LXWkid%R2GNf%8qmwgf0Wm0xjx +_+Y{UiM!TWhJ=1oxxuc3iC%B=N-JjE$9ANX%EJ3bWn{V)>P+)*O&RH$oOhS)0yN$r>32%9Bk$_;6hpljL +O&vUgyp;DaQ$`QUMjWa(Qfad@qP%HSYh7%p8YV=$g}ln(5rxk)3Zzh^qwZ~7bL2bO`p{G^&FT*0CiyGz!1yfcZ{Ief5yo%)>0 +J|-wI#L;5siE4auD*dUl+uZy$!a(27aI;Xb +~{WOi5YtfNBJ<`A@E3fug9G}u1_7gobr>2jgZqZbQ%9GvB>CJisImWw!2~#VpAVq6&XIMHXP=M +p%4_3KTWRbK#yHkYF#Vb-FMX1YC6a!j6&7(76CE|iX1!ix(h6)7C1VMNraD29Ja;qP#~TWj7hv>pC!5=248zx}2i{;dj?hxoT|cE-Qm +xly-$pf~<42feBmeCwv`cb4^N08>+qti?irkyfitUpAedG^NQBZlgUz4AW?h)cx>0dZ?P0^-hKfVeZf0C8tfT&NlUcK~r;-k@9o5Epbpjx5DvI<@Tqab +x?De-aS)zNI*r#A|q61LEdT^Ez+yPJp#?*_y@l<5Qh?ksUI4k97(i}i@#K7G2y~qkAGc{Gy(n}fw5fnGh9(;@8+=rd-0X3C{qb) +7U-V65I7IHX93uA`4w2i3L*(}45V`&wA{Xx^bpeq({{+4!-x(rz`jeREtAfZK@T3PKx5Nt~m$slPMDB +WufZK*bU~Y1B0g-!$H$?6nFNj>)aH^nD@xKC*8~Ljcxh&decl?{4wFZ^U77F+1a-<#D~7{`Y}X*C97J?tVO~+66c+&b#8rF$xV_y+NTBsuB&LL09(B5&3nualaqM=9sr2q}qA$l~HT|xnc=|?dPD0I!nY +iWC3lG7E(4}=;hyKm|Aci;Irrz$5O``Y;@oa&_T9p*9E_5}e^IL4kUXg+m_M!Rv4<+5hrH)5S`>7LaDWi=6ZYTbI;>~`6lX`$jzzn2+>b)#SV;6L +p>pD&`?9|Wn*a{MwrkY- +QL`Vp-ry@Oewj5u8lSO7Er1l{l<2)rNOpqn;nLax5-Y0Up=lY(>EWe}D-h*9LMg;3th!Ntxt+_gV;mr7~6D~s8gfxBG}h)IGcCiGCVwKDq`l3Y2)wJ-^n6md2HvlO3mr>kc8B-H9Rifwqi +x7rhmHKAHxiv2&68>q_BEC79(fHgDgn6)yh4zjOK2i`)4AF?6pbbiz-(TSP&(0m=3C*zCL$AqeIfBBq+BfsJ3l4;I>wtS@E`!Ph=qEGrri6{(a&$>a^Bmb19Hm6vvt46cT3__ +oaK><;c_BTCq+54(7eG59}bReT@^Md8i4m5_f~m15FCw?fpJZL42JV8tJS&@f>R=@ +b+p7==tD_y7J(2Y!D+(6`Vo?yI4@LyqyH$+e*UGTUQ=YpAu*2SGrB36RRmA3l!BwShi2rNx*VTok;l%UacBVPrb0#?tR6b2~5xzhqploZ7|T;4 +lR4M;vVk8ebufT0QwAryrT&%tvG_59DjsGgsr*lA5jsGL}F5pB@fmDpC$B|{5eGMp&|zdvn*Srb29zj +L8R=TmJe`5Id`v;Lh1)A0)>7Z5%|Oa}_OBHk=Oz=&w1K14Ji)e@&Lt=Ov370;Bk?@uevCh;YpCh;0qY +zO^&sJ@RY5>y)9dRM4w9*pLi_~NAU&zu2t)x)JXojWz4dN`>j#1A8Z1*+rcf3REXD?d5c-7PJcq$u>+ +I9H(LH#8seN8^1ToMOdAs*Bsu`SRDT4_psrFps`&z3(1pKiN9h`*mw}`x%%1TK3`l)??dWY`42O4L(f6(Ab@#sY2&|Ou_pSRemHU0`FRN*bLf^Npg0ghKZ;cJI_xsj9?0xG}*{9tD*J< +BDa`1uc!v=^#(-fu42d-Vtt{=GGpVsMt>!_bqf%<`td=f)*@cH+FZ?jf1HA>k$yE-1C +Iw}opZs8oTNY;Bz{l`d{1h`Gq+$^c5K%)=hT~&wcp?_(E9?RKkS(`hMLyr=43_t>Ug|!kqkuG`6u5@7 +As*j5L{MnHahqZzq&gu9CwBUH`TP|(0S`H4g-2!4W +8>x%4z^>+|5q23J)=>3*F1SYV7F@Sa{lE+Tt^(0o)!rx@NIT*Q^b)^rgdL?u=p+jaDztd2`M`Hh#miVezv{LbB78PRt8*)EM}S5?uyt +L1lhn>^|?xhtooZ)4jHb2K)tysj%dLRPW?@2pD^LlG2C3O_8DkL(auyWnX0zPPK)j0w4KE>?oAAZJ}= +Til_Nco3Fq{pK18{yLUM>DpK##=%6@Ub=PyLHv?Hj$dM}@-yG*#xJo*+G>Vh5-5KZ-$mJ#uFW9y@bL{ +@MN>{&)`c$0WJP?J1}So(mjU_D@Bimt<2VhaXE-I}8STkwG^dj}oy+M`PVeRPQBGgw^Z=)goVIYPi(@ +pB(@~sG;nd3MLQa=*dJm_Ma~d7bXdh1fIsM@VMt|n^$OJ}%IgR3U3a2-7x|GujPM_d(JEw;^{esgooV +Ib=Ya*l9a(XkT8JreyTE^*voNnQC8>c%t-N)&NoPNb=Gp83g4ZNOF1E-@ny^+(ooZi8yozn_VH*va!( +`}r-!|6#*|H`S3=kGO~#&argdIzVgIK7wChdF(Y(;b{1kQzj|JdJ2^cW*WSFl-PAR- +CZicA7_EPS(T+deMW$bTZP(`BKTXJ)#Yk}|lMG+uPz`D9!^>x$hPvOB%4in+6#-2nsbo4CP2#y9s(Ku +`o>)ne+wU}TGqI3FGMkvGt^j|N$#VFc4E_|k?Pc@7QN#doV1EX;&T9TgsQy^0KbGqdl0st*b4pI}XC^ +j?sSUze4F5aa`Ztq8vZ4$9*!v}qzvvIM>&FvH(W;PZJrRCNK^CvN+8aGOW+xjLC-f; +x-ja`kkuyBKtwRNvd5Oz_8}%hIF9UyZLCPc>d@eAIZb@K(Fyp@y%9tA>OAWP*QAFw5pH)c9fSJ$k7Sb +F@{|!QKM!FPo;ky-6zA_SQ>=_!oHDm`CI3t0satl;8{6-m);b%Z* +HT+oqCy&j}9?KLdATA~@GG<$rZTVuGTOe*OT+vQFJ4-A?`Z4q^>3!LfEK*T?#RP +3NX~R*xy#wM*x}4{xHD{KW&u?~xEL1tkA9<{=pXt8?pLE<=nuL_H)LL>=yYUfQh%m9@;C?ilIwI7xmA +!~w(J6%mqx0Ssger|sOCH;r$mP)rb!Q&@dD~GdMYsX#Zk +K9Q>iqXs}~~Sh02l+YYP)NU@Ms0g@B+FG*K2-_QM8=bU{6hOT35$kD6qHyF79iw}-VSkk&5de;%!cdEhdW#+HR?fY6-Oe>BH-xR8d5W_I|?ce`LdjsX)3O( +pYnIp`KqHQHPT{<64Zx-fPQ8WOfxXr~ZTZlM0~E6rzM8|t^oTEItoBPx~fTP-Sq +gV`ZwVpi2ow$tBtIpF(1n%i>a{W)Kcsm|8Zo}70bI2LbLH0v-(}g&9PNnL8a2xNtV3*Z!b?6D?1&5iM +-8GWv9D-qN9H|{EC0ec`KMlYodetp6zZUmUSDB>i<6?KkY-xrum=QAr-3so_dOTT}b65nzpyOv~M!dQ +L?R_lyqNTW4+4n>f?(xn2chXE~jd-%lO86mEYC-k0WCo+p9hoby1?K|DN_fhn5kmZLG(#gF27;V4%I5 +o$5HKT8#~Jliewgd^pVrW%DhaYQWV!xN?i0sa2OLTph~Q%{`eqjH@?sbuX?qa&>R6ZVX}SNUpYXbw92 +)aCLvK-X6@<162RGdY~G95K~{n)myoGuo_+v+Ug~e82B?lNw*(ST7kovnrEIC=v8iG=pP|d=sc?sPrV<<`PT0VsOpVH2^$?p7$rn5t=W!EuvfipiJSbzMdK{@dCC;mR6+N7i;Km1LM1;5auAwDHNK +u2zfja`ru02ybXBBsm8&43?dxP2A;bYO!75S>nkBB&z)ZaMrv{xfv?i+2BYHtYN+K*?O`udIu|_BKkq +{xnzl=k5L;uRouw{8QZ;{=2jPf55MEndbgiOMu4nceTHE5}@(?`CR3nM*{xYzh6r~{)NMzx60e>s*}v +q-CljQ>Gh<$qYiyY&HXDbxu>+O{NCSGRBn(qR^501rUxGU?dFFbe&o@|9{=4Fzkl+nEl)r5>~nv3{)M +eCzV!08S6=<&_CLM$`i?ht?%KU)@0)ME{m#49HT(7-c<*3s-J!$p*B?20tl{{H4?g_p<4;b0dg`;!|N +O=2#xKA6`kQb6@}1oDz3Yb`&-~PU_OE~Y`InY+t>-UXymYxu`KK3Xx?g~~ss)<=?)3k6hyQP1AnV@ze +?oYy(9Z3eCGnd$ +=6|Q0~)5ts+^Ub9zNMnc@MwwRP{qrv_zPGrf7zT8{_ZHuKPjR@PAB^bA%gZ6-V`Ga`iYs7r7Cj<9WkE +5F*I-bWl7gs$hUnsoVsJ%ZSeKidtJ4LnvfEeM?VZMRxHEGze7JuTMR47n%>r>G?7fD{)_3y3gslnWQd +1m{4u`R`XB<2|Q_Rda*c^^Rhas=Pke}%+$jY@jCL4wqQA-ZG>wxz1@@?4$vCvRxw-p#{t87_LF>`Ugx +^t3NfC@Cvfs8X`78o+^U@;rq;Ho-g=$H=n9Jb7CLyn_xIk;fn3>$)bLncU>0C}7al#m4O|IEV0hAeP` +WoXEuk#Xzid5YI?r_<(Goma3#wbRkO$R>(j#$^mPq4@GdLsn +t7%}|(Qu&ZnJ_!~plIz0PfV`=yfpo?iN#`0Oc`b%16hYH4gW+e~)E?*9@FhJ>J3?N@ei~)HWfm~6pZE ++@O=I0gIK*sWmy7gyeZk}i>vS()544FA1q-exgXOUy<;=F>fwt^KSRL33U&Lfu?8d%J86c#ME6^N>RP +dGNm^1Omfnn_T$;9~Th&O#B&3u;1pZ@P-~lumVP5nbDJz&vrGS9_4^6%6x#WuBOevQ#8yI=r;6E?BQ} +r0L~$y2w8@eXL%4`_(DGvu#uqyzLmAMHscT)aj$+yDpy*!$ue~c`8tfI)u>K{*V!n#{B%kmFO|L?kZZ +H-F2TQ-N>I~i4zOF$PjH?0WDQtj={FvF0Q`r*TY*3qQ-?O6C#?G3B{rcGtHFcw&jIQ!eM8;#(9n +e*A#>-M=RLG0=IuY%%}9EzCFISv)3+j~GfAAh5c{X1h4Z11RxgA;3_Gf#g++PG?fJGvYCF6zJFiGwC| +*Bdj6HiXxr!h99oAb%dS?fd-V=gI@45Phkm?}&=ZS2s>KOwe@4;uh$m|~m{tGX4Sbr_)KfaGWA|pH&- +JpMmpk4kOe7ABtntp+#pBO^=K^Xl~gGj##pms!5_ZuBDaqs~>86fr~eX~O#{9vMw3v~E5Y8!lTF=Gw% +f#^O^O9H_SnAkNz8WIF4(}V|-@CkYnK0dU$XJc?fV71O3kl~*ahG89mFhro)Js>O{={Gl`L5*A8C_=u +3PgLWk)etTC7dFt344f8O%~C>$YQJJM)S)q+^lAcqNZ@$?*nVSrkU`l8$e;=P$so-;q-S-oJ&4D-(NB +%DKiaj2>9s^ZA%N(|vwTH=&&CmQ5k5urSMN{ssbB}(pgoojh`$K&&klfe_>+F)BN|orBd;f97JT=q3gF`-BliD +-30yUO`fpA!u&}X#4&6?6%#9&m432@#{Tm}2`c#M8H3NgmK*+CwsXfU+$n$}7Bb)m)^8CT_gmmg5o%*?+IDae<(qbXx2EL +G~3Gg8Sn%_|~_ZR9FJIFN?UMJURwv +$jUhjx&|Fq+l?Du-$uUcHSFKj?Jks&T+Fa`?pd8?1vcVGi!_)F<>OUX`ya)T{6e7-MI6{0u`s$NRY3g +!M3{cnHT&s<~JFP-S2`w6Q7hRd72t;PL+ER_}O@2U+T^g|;Gq^d7HwyZs>t%5I6rEndf3yu{0GFD>ac +A%ygLFepVsWr^3bfq|?Hp=<{_Jmsgx`?IBlG%X`!fBQJZ_8T1pb!842keUMZWi}b0nMs&SmiGt*uNfF +b28xj&AAQ09K4hS#7h$zhZ4)6Mp*;Jgy6bm!cXIQRNXRu#kKC~O4)r{nx2JO>n!W3L4h*?og6}(Se>C +v>;p@xmfF?pmBA{)FfVL$9!j2dpRvp$^&t1OHu7Y+GzVWJi8a{-b4K&p)57n9u@u%%;FRG&C@pg9wxBI9`^PF+(DT{LYYKD9)KVAez8Gh@Py~dV9gVxeQ(3cxh6p2(RvC56cKm3G?bN-Ray7^%Fh^FTZ|6bfj0R9_mC-(#t`6uMBs8i}}v`ud@!(C*XZA%tycSOf$%;J?C8Oc{zQJx=?mfZj_c{@=q +}dnP7m&S68&pI9y#ghLwb%6j8)YgX~+C}`xqfL#~6<^tZyL5AdEGj9q2o^ce5%Ds{OR%gnSL(o0q-om +{)r@-qWX|{evf2fOZ1PH{!LP_K=KVHeLWVj1!u +BHHJ1Y$qGzqC+7~3^FhI65VRkIpgs(O`Y;IcchLBL&3zl74e|3KeiJm%W}}P-f{X$k&wSGK(2yRB`MB +*KNY5xA(qB`_WJjy2!4j%<*pK^@U$Oq36@;QBN$)wz*HU_V)qZ-#NJI*k!!)e3PB|V&1gXqAj&>L0+~kF*n +memZCrNaOuQpM`sJjM$}2QEw{6bAP@2Mx_yHA%rfRGn>zK}NjeUGAMP}P#=aMBhM~cH +%1ermu)y@_3=jTBoW#*?9tjsHb`OaX}vlbREbK0jn3ur_j(zqxTi6)7ecG2muK{kuFRU$b9DZ;h2l)^ +kr8F?Sik9(<)YSr~YkBl9pb%d3Ns_F8v6hPuL^YiZNm<^_a?0NRQg2X~6#CT(e`eh=+F;*<{PzOGvx! +t~w!Mp;51s#{P+i@q4k!%KSK_eytaF76IkAivYmJ`)dO_2IicrtEA7&8urX^^wUb$iM`@1&~8jEXf*A8^JP& +oPZL@w~3vEsaiWP-)6IuvA)*CWXK{aRp8rx-?KPHyH)Pe~BTF=xlqAnGGjj*c)0edU=)!>X>)eJ +w-8T5CjYDdoyTu?cvX&*q=Agw@kj0V#K|fC0i@dC5JYBV&r3SLEnAVWhMWStaY954BL|X&k$o;&1L5& +5(Qm{hTr14{fgFEu0ta^`j@C1+7CdN$3OlLMlJH-tbC?U@dnJ1=dRe_ +nYqKhu$i3$6=DCNs&Nox^f^j*n+w4`Tvz04BL0|AfS`66P^jK>qXl-}^J($jd1sP)a4Q#@mWXP5D93`AT&d{R8ufd~ld$@TiH!tJ$$=IgRGjz-c6>I!;^t8U2CNMovHH^dzSra@xRY +J*Rb?9^kZ^)3-R?&FKzKw{yCc(?>bo$Z1&z|JQITa+=R+2B+zq3Y^As8q4V@P7R#uIBoUg_n@@x$LGy +lU*@!t)03Pwa9YP{HK*G--NNZ6PFHc7!D$Mo@tnqT8qKMJ(@0K3In{AWIBnH3+RUlUX(Oj6Ij!S#JEv +PX-K1^re=%3vInCfy;54371E)GpFZnY1GpCK5?&fq0r+?2J=%4wO&1^q!`=4h1YkAQ;w`=zq;k>*fc{ +%mx<;cTJN#^&|6gI}q?$h2Mj)tlfcfMNsFa33l`>&PzzuNxa>;B*E|KIEWKfnK-zhApQJ +hHDCwn?EcV}1D^tPAxzvC0+00MU>G|AkMyg-%uiw=ZAslel6!n`3YED@;RQ1BDn4gtHnVpS5M-O9sEYRsu5Ej@MfHp?4u#i4HoTYcmaEb#)?IV5RT4rY}(4Y}aKN#p#&es8b{W +=)SfuB2oD)9Y`@fk_TNJPAb_>2OYH44TPm?uDkMnm#|4+eT2d?{!L=&c|G>A)`px^E0i%K@O@k70568 +R$*1Ab+551bTNY%jY#fUx{UQwgVkJ4#uVV-BIF9*m1gebVc{?8Wj9Izt1{yj6@&xQ4eH*?@*J?;L +(4`ZhY(PIBXyZhlS3t|JhdK=U+kx(mhjH9+4W%b0LHvRL5a^HusE5Eu0iBk>;$Q~alED0L1?rdrX#qP +T(6Lil{>K6xeWN{<2pqSxn0Q<2(1^7+^p8|9ae4 +hiK0W=f7M&Pr7PP7v84e;?m3*q}2cstO*WQaeMT`*#8r9&Cv3!Fgbr?YU=f&Mj}rT1r`#ka8hL~4gAT +IdK3r6U(YJq3Og(6``A1s>_RMNsd6p8&L1CXC&I4+lCWllh;&n2>L?SXszGZ^~wAGy;7CzO7*Y0MMpv +X8#AEPupM&4*Jgljm}|lLu$=oZjr8ELWmaY6i`hr)7Jw16ux-iKL;9-$MhqCj^VrjRO0+bpzp$G2EH2 +T`8*cZC7>@aW&Adv3Hcyz*ggP#JfGK7pu-D6-hht=x~!1JUj+I>A+xg;=v@v%wgJBe=mq%dfWHKEeG% +h}f%=Jz*8$xmvhqSY*$L$f`cr_u;beKZ8>n^#PcP7B_;lBSpQyJIWCeJn0jpR!8i4w*hB5+u9Z>6PmM +)~@?_%|90?;*gLt4NN(#P*+_3H_s%H3Qh*AOyj4NIc|=vw%;fc@=2+u+*{JXuRf)jEhL@LPaxSPwD`{ +6?T(6tnm@0`;wcxiRQ#fex;Oc{K0_pf6N1J6nOCsbt|c12t`cz8&(!4D{0tEPp-+TJaFn)zOewK(Bq6 +xs3)I@CeN5!Hy2-O^5dnfeWc&K#M)A%uWw^*<_@4Qy#jd!`rCkRd6o4kNKd}X$_r`e9~qByKYW +c~KV>_l3%(yPT|lSoCL}mULut=F(2f8f3Ut~YR;G5K$M&$eH6Z^cJ{18xQ2)1>{|2BBy$$mr(BA^|+q +YSLmw}Fbhw;XD5ULr{4t9{fRs-`m;CBF>xexLUcq`DC_CtDs-v)H#0Z2daMxbIXw70+`UHm@e5AfMQ8 +{TLA6w*`mO#gGBQ;)EGP63Jw=Q=3sP@tc{7Yckc&_5i5vPAg-`aXOEfv*SJbd05UU;`mHpMX39{S2Vb +o?w1H2lUks2+0Ti?Lcck;4%QT;Uj3HK_6+_$IN~@&=H?7J{oB5C(J(5gp*7TrvTl@`2#?s8u5OMhEm@ +zp}c_C0{slWNRZ*rfxi3$ljm(fO+T`-FasTN2Fe2Tqk-OihK0KZsIeK^3(!ZJ+RVxq>4jz{tCxW8`Wf +U2?Cb^__Y1@acmZf*3&aO_q_3WXashrj(9`F5zYMhSJj4_9*8qL%Jkv+|3+G#b&cPRKfKLT_=mKjK>V +XDagfaqs9ng^%nSH#cgZGXuf&3s9Igb?Y%4~~@rrf?pqgY!u7j55Xz>8D&D=}(+Tif43@M>>S_|G)gS{C}LN +!SJ!TC!ttE#ki@k2`KIrZe`nQUiJg%e5D%nah?KIrWoBf<1!mi9dv8Bzi0r8la_d(xQCdc>FAG!-gwR +JLLY_=q__)x4END4^zpadt604CtGm%}=tjS>8~x^P^t}%>c>1?o_by83&tul1;-f6`FwT~)ma)H+{}`q95ayWkamG@ +;Wre6j>$?Tuv6`8Q_F7&2qV46gsCp$tRzXwzf9Hm +;Q>WWl%JuDwy0~UmQ&IwJTR1qsn8-PnU{=FRfg;W(`{SNvXedOsPKy#e?KXga;W*rHO;yoz_D_Wt5+V=wW9l+oJ&l-9_`m3%gH%b%hi{dc|Pc0LN)k*3C!^acGffhnL7U +*wO?O<>>$%PNBuvI;WIUauPD;7dW;(AVf-!~JAWEfEoe^Tf6t{2^_S{f&<|9%&0S~#3zzc2e^C3qbtw +G0C+d$u5^^wqbSGaa>HQO1Q)or?$V20LF;+?Yjc7B<{A~t?bNsm#lyHr+0H;0<#{9DCb> +8S^utU5lF(a^=E!rv=f;1PkwuwqFl^bd+6J=w6u3~tP@@ax@g(VJ7+7(8;g{6l_TE0Eo~85uRQzi8)@ +j@p8L@M^@{T2xpUhIm13AjtQ$O72@M#m5MTb0D}1V*0RHJ&K4BgiX+B-~gv9XS!%0j`42g}6B~zzPB_ +@-JSS%KrcXQ^k3%ULF+sV4@>14^0C1mN+rDXZ?<;3A|(Dq~P+O_0q=S}40yQY%Y*CmkBB +}ruCvP81E&_sUcFp@V*CX-i+E#&c%#bno`c5?9kS)}3FWhD9?g^b##kZ}hUa?=5YOgyZRDMuBu@Q6YZ +KUB!9Qwo`LS|LU7rG2H4+rCpsR--}||DcePk`hu`SxFvv-~sZ;Bmb|xD}k@++WI?&8rmAFeIliam_kZ +o4kFV{kV^<&Q>A@r5JZ!R#1JhpzM?eb)ibN)1||0aYb4H|JuCI%;>C;NM!_ZV)9)k-3k${V+qb2zpq269c +oE8L0#=%e9JDL5-aOC7UWE+U;RiE( +B2^b3G5lhN&tmu-hCj^k=XLN68QzcK`!f6phEHbrRSdtA;SVu<9>bqv_@5a5BEuIj{4E{4M?;Qp{?mj(BbNW@|p`e*;CN@;esxu2r67H=#~!tWrlZUcurtu`!IY6!}C~$Q4BwZ;Xh*dB@F +*L!|!1D!wi2x2hVXWlubE~la<+(7``&Yzkqi`GQ7)6f_xbMZH9lJ;pZ{@28KVPgBMjqsHn*{TbFYtcQ +)HL;s9%Yp$HaKy|19=ae{h&C}{X%K`Cnlt==Q(&}kjK3&Xcz_-+i}pWzc3KAGW{G5lJF-^TFYFg(wha +)RM6Fnpm6{&gOqD~}MxBTVHHmh%X^c!aY&LSc0h*P4^K(UZij;UsRSkobKyiMxl$2LCF+!`& +O>g3g^?wDZOgLy*yzhYvFN`v&-jzm5wUG;pn}oevK2^Edh%0u2lgyqdl4?(P%*5J_W*QMFF5I@Szt*3 +3FWeb>4!^*RHd$2S^-eU0IDYSeP%^L&Auc0t2%hWGUcu)!GqYK~;jg@0qej<`@ +&b2xL0uQX8v=3GALn1LQKzehTDK;cf#Jh_{X@DNjX}n6Ck#-_v1ZM`z3{>dwYy;koDY$W$9F1nK{(ie +^M;_1V52c4D8#wQ1$@3y6FGiBNT4w&Brv4YYfi6d7vOwjx2D~Mb$o-ILUAqJ8y9H&ljAq<5W*}D2{ML +ABIFE;|BQclU~@m9VB|5JI(4d1qXu7KJ0ITWxo|&^AfBK*pMR}WCy7FB+j&FP@>RX6cm^2*Lzv5*oFx +%;I%(?R+uq;5McJz5J$=JN!b5_CG%Rg@AtTt(D!|}T&Y^O5?F4ug9O!R5AKuQRTBYY49IAI=41r>Z(U +%qJ;d%eItvy>-DqHcTU_NOGU|nw2%3yeSK0G|Yzek5E70S2akA`rJ9vt{^{%`{>>CxfEG8O!A-r&pXY +7`I8gFmcbe$Q90(j(ju;@g3BO$hz?*4Cw3^>!it%*SBeX^bBzPxJ3>TN*k97d>s&A09uD6)`xdb$h$h +y78Gc!T#;-P77nv7GigrC};egsuO(Aa3YcOZ1TDB#q?rxxe3D8E}ttoPf__?uU@@mK9UsK*_L~Jmgpm +Q9hD1KjojX@7TC_+kS+Yc=rKO2w%a+MpVeQ(rG9Ucni!W +rZ@O{o_ViD&X*_BqQ_K4w>D^lo$SWOo=ei!QCIUt5QGCT@zuM1fO! +V5tPjSSz9;fFK)REA%|@M{=;FT+2KbARP2f8{CvU-K08K5r){r@A=Sk}v#ra%|w?;ek@GlZ%s+qf^}` +&ef_^d5!g~maAKX28|kcRIgUG@r(T3scyYSjriK?)to)tJ={fY*CuWrbt-#Q=L@R5_~L7|>o#!nc)qg +RYuXPkE^bXcDpq{KjbR$UROLk{$C^z%p08N3a;5U+Uuayls#Ce=oSM{mzG7wk;8D%_l?o0OTs_e0R4R +}0|K?bx27i0LUgb)a+}XbBHh8scZ9dB&b@)5a?_T@mM)ll1Jlq>G{ycvZclY}4?seTIeYLsa-r>4+JXY2kDUO4ftyu_tMKU<2X9%Xn=*UM|O{%^FW*#HK5+}To4Q1J6_zy0G=~UPOSdsn{Q?~I5@a_dwY9mG&ySH;86_l;Ys)hStBsN)UaX0dVB=0s+1Dev0uM +_zHPYi=U0y%J2s2g(X@U0cKYR)Ux?!=9X)y!8&q`q^l9StH{m?fKpbaJ=I7^MWLnQ2K79Do9Xoc64+s +coDXenBqbD_m_0bUE0=ZV!IzFpMVerUF9b6j|6Vvj}oja(&y#56E*J6GjU>j_OG1|6m+YtCMUK0O(`} +Wc1&6|nwqfMJONxUyyxIjPu{4*Uqc#sYqIwY?H4Ce^={XD}gUA=nsxQ!b(j^mUqX!7LAJ>ufx0+W-IL +piSoZg?!ly=KjtEvHYP-nT`I7T}#@U|^sd#(h%!uV24ToXe!tt5>fz^Dz0+rAw5PlVjuafddEVhaY~B +c(QyX?)ZG>%o+Oe#~|zxk)1emc!_{f_IH&QI9 +hS~CvGfPGT@IiJE@whsJN2Mwx2CaME}MTh#Vx;-tbGtRcoGPia8@90m1|5smqHIwD&$~rLxH0<2DQ{o +T(IDY)Nl)>4vXXSU`2%BIVmdD)OT-jk8kOz*C8*B$K-+ue8#2+$b`zOfZ!2@;InzixwyZrk-oM#(u@g +(@)x^;^<3`za>^73j3Jw^xq`}gmsEnBt_%bYl8mNpFjLmqqg?v)+5@7c3Q+Dcwtp8O0N-~*s-O6QKsr^{Yb@*@Fwk@T8{rasrhfijI33*5wfG>Cs +zJeae0=VNdWPj?^DcSKEJO{slFZ2Mk0B`UgGB*866nK=#?=Vq^14M2AL)3B))3A%E3DeN}k +b-Me>h@sr@szTVb>zv@aBsy~gLzz(1o&o&AgP7(z(4M9vp +_7y5kyUKmxqwxRz_uq-*Opy*6R9AEqCzImnxO?|59ooEvmX9^k!r{I&cbK0qOjC=?-r|3|$fCj{aN9h*uho4+O(VwzD=s+1v!*Zq}ZG;v7gaV>> +FEb7KL~mZO+B1BT@yCbu3>uU@g9c^K@JVi4!3k(dpe4<5k(8y#_{cF&Di#o^?nC +hmB=)V>PR;WFVV3-tTco(4gG#$8g%w-)a==nQB;&ZB6-Z-})jFT**+TjUIAUrcC68RT0Z>nL$X*blAhAgp=beY{-L$Bb4pvvVH&nD4bq;O2KXdp&#CN_7R +US2yf{DlglR}-8a`qg{>geYF)~mh3ZLY!%Q4noF5dqGf2IE&I&^3V9Dv`nY13>p*waxGE%)!=qq92}( +(aiC+CJHfwrKXeMrY5Kl*fY~mjGuW_s|7yIo;`a9`%Y@qs1b#Shtu-q%L#EgAt8ZAj2J;PXU>#%ee&c<>35 +I|6-Nv3Mr?quLN0`S6zc&r*zRDF>6uL_K=+px(WE)5jlwOmpYXr8#rvNPMuq2fm;Iu>f&G(SbD#Xn;S39wHWEj$JbX>F{U3{ +}%0AHtJ!HG0K`_z@Fig7AA%O{l~7qyuH1rhlGSog#NIur|`PJ_4@VeEo{TY=O{5Tk=P~(-@A70DszP0 +yLU@{0PesQGE#b_1a04Cov|tYcaTt1!7!6y&egxK$_z +gJ{WCvP`X-xj_r@*5p-TwhF+iq%HT-@moKKS4P@O<;lH)V%SD;k) +&@Aj9$+J|2YY)*%+{|xuznU#xc>&*g8s8ErA?eT@d)hHXf)E;v16qiKm+g(2ne7)efr4XAp_8$I%rVq +UaZBCUqkPKCyvk|(5BZdV-UB%KKSl-0?CUpQY3OrUYYCjQv6g-9hU$bTnWo2c_82I_;pG!FKn)#H^z +U>{3kz*P6o&4KWVXb?Vwtge?H{?I?|7?%R_zru+5x79!uvykqnM=gP#7N)Dwl3ovd=2zl=^^X@b_tn4 +Pap&MWPLt_&lndnf;+2VF~-F2x>WYMC-+o)mW*{wn`xeop}n$}bj22lx#i#Iakh6QEOwwZ-h|OZ*`ll|!Je1HFeXf#< +NH`M8IwOW}=&;#Gmqt6K8TWCGS&t4l7JY8VMLb2r{XG@5US5=tD`LNo` +(Ez1?AD9;j*5!?e&C}T=5plR*OOzuF)}i;C+GWt?DKIOHf}pZ&i#te=_$rOd537!IifB{tu;361*4|W +;wz%Jzau(&P2y4#4xqJm`SRu4^4e}V+w>jyGtN10vcJ8^e(6{COUF4sH*sz|lyhJ_!_b_&E9V;pgU?& +*WY`Nuov(womwV(o(SfT(zPsf7zm+h59roerJm(#KJzd>vqV~_Voc{s$>+ExL*>8Sy%BXT)K{ +=4j=k9LZx9{4R;pUBGyL?VNs}Vx%$XAg9FRL<{ebugzm8Z0UyWQAc?!d5|~h8|r0!f3ep4P%B$kSlre{kyc=*4|0C}y$|;HJb)*NU +so<1r_Uyb$$iXZZ4a>j6{7G<*1Bo$bJn`Ax_>~gkEjo!&gjj@?~CfBGhzy_Un4lr4b$I;0r?{b1}=y{ +TNcE~JuvJCV^3bqkN%HK*19L^ZBifethF}Oc%YA{QK8m}I^kR2O3*!Oe#CKJ@5hcCH*ToD-mUUk9Fbd +RB^l&iBKC8!kEov?wO7=S-?Y<5KdnZCS|4gm&`0+#t^PsHkNihpE48n`0~fSxtv-=H%DNwWqu>%vyjm +0o=wq0jKKg1k)0Ub(+STdg{Jc(zSg>G0m>v(z4L!#Z4fQtcsiMAsJ>d=W;vQQwyz~cAJmb>wkhRtZn? +Su&KR@z{F=NKWjvqgMsJ`|J9I$T!UZ7!r9kr%Rt=@+^6ZS))kEk)BwlP_&FO3~w?Qw{?A2+a*oU5}=A3Of1sQi(WO`kqJV)5d|VX#H4 +_mQ82Zr}nQ;CMJaO4bcgufo2nS=-xQs?`@@6R3}%RyZLt(8dEay^luiR%4F@!-k38?&+)vytYX53|20KK~udlP{Yj@z&<7! +5^J3p5-7S!sdFb+vttx?zhaE7 +t!b#~wR&Z0yvjQ)9q~S+izIzX!jI*a!a)T>w9ziynE!y_d?Q3C5Hju^clu#->e}oEtI{Hu_M?BQWMM-aA`eNfhk6%X39~KsN*4Nip?z^Hk9TgQtAAR(Z +T;BmF-op&yR`Rc^JIT{FM!fV)0j@Q=HGF2`TPl@N8~>~K0Yn|{QSm%j-;fdVg38}|Hjk +PliqvpJ-H8@oSZE8F4WowJjW6ISNAr8ANDaB4P)|khgr8u%>SA;ZTbe=y<7(()}tV~T)+$XZTL*!xqbWgS)z0`3Tgi{XU>dBOG^t=Yi`IH +I1C;;94~BK<)7&Uq(#@c{|gv_zC8=&2PVlrQef4Jc^Hxm%ah_s;YfO$P2s%-SEk|xw$KzaBew2=3!qW{eN ++Is2q6p>eaMl$r8C&4Bv=7Csk8?%DLtIm`BB5=o08vIXG-j)g^%gbPP2P>_2VXxKZ6F__TA|=r7G4DE +th3ALN{!oellF!n~L+totWV+wiPOwWsW`ugCefN49&;6MWA&6nXX*{c+Fi>Yv@U!3k@(fB(u8Jh$ueN +IW?nIzQ?h>!V@m(xvN6CetnUQNJx;zWiS+R;(!EcPti50go{(BO^op&exPnPfrg{O-g5084{d`8(6d|CKK>zWD +q>0wT5T76R_KNg6=m?i=8nU`N1JJ>PL~>oQ6iX3Y%;Xlo~|AF+PLS^; +YnPhKl6V7yRk#hM(rL;o@Fs-$3<<6P%8*rFTOF|ZcL+6!wxtoyL;^x}0Vav0=Pz#D!G4Qm+Wi);TqT# +lh{m+xBlbg++rH5>Q`IUxqAdr-H07$oy8#d^cCc)A<|YmP3A2jutGTW`raH+&fQaAsE;Z +J5wet|yVZBX7sL0c)pmk)7ony-yRZWWFp~v`FTIxJLwaHOLbBVxNm2+>tHw{&53rIX8%15B_mnkbVm_ +Iov;>Vkz3{Bp!GKRWv^bnBv0X|Azh1# +_+qO;SYU+L*_-*7|kO%y!9v6H@EZ6Hlu2=F`_atE~#7WGLc!YHV#)e_ac{@HmFO=wPK_KI +9fX0ei4k!kg0COL*hKKRNI7h5j=~YV3~0sIN6I +;c7%J-V_1*aMV0k4t6URIO6@wYW5keI6n+qq?2GN+0Pr@%RiCYhCoG1-9MPKYAar6_=&rpUNCI<5O1N +e&4%M1&jN`Hd4=Vo!d43zp9#^c2oqhZ*DN4oKMJ_|ic;PVkhNKh!@kFt~f?K7B +&*E+q%~Pq{H7_+k^-gNVG{-czG_SNSX?@a$q$Q?JOPimzGHp}Zp0 +vEQ{Iol16-|yN{KbVM5MXMx)CsF*XUxw?%~+X{ov|q+Cu2{>!Hm3&Ga30Ag&B7;gt?-*n%U9pVsQ-ywaR)-ek@(?=c@V=b6u#@0f+9qNSR}(c)rpvv^v(EPj?Q +mQYI{%e$5#mN-kIWrAgzWwvF$CDpRhl5N>!$+7IQ9JJ(F&RFs-g_b)Oky$abTBc*BOQu_~`S@=7ko36p#PkX2_7Ul?_E-DAZ~p~QO9KQH0000800WU*S*lH3reR0`0D1%g02 +=@R0B~t=FJE?LZe(wAFJx(RbZlv2FLiWjY%Xwl#eHpi+cvW3_xuXhJ~^aPnRb$Ls}r +|lluRcVQ~xu!^kr0lpa``hol0R%u$cG}(N=xJk#1O|h_U@$Wn4Avj52fO9suF5X2njqR81kbjfKHGS< +_3U|Ya+L;$cgRszq|M5crR|=H$hU&g585RCrA5#e|vIpbc_$ +7+@oy1D61xzma}wPKf0*OIegFabc%rLKwi(%cgwUbTQuqWCeP0Gllq3MUgqVws*}-=qz>w4HlZJ?cvh +-!|E$YGeb39w%dEImKg(KuTii{i<$RIl8iPuItIO$i+B|BiyX{8-eAMGQf0VwTri&)nrzd+=RaVP+YJex6s0DZUS0o}3)M1WwJ +cCn$qQkB}SF3YbFJGQLckSM)5JOp0WlP9{)l9cJ1Q%#Ex{=YUm!wQ*<=E{@LvKpgHJ1~0Zghq +90MzutRuvj5Hg-Vp$<(pcC!s=}Y5@#*bpym9vN;Iw`c4jz5KcXYge@Mdyvl_wv!m39waAMPCOO%4vbg +})em_1l;5|LE6e!{@*MHvZQ~XCtZhdgti7y(4cetTy;9`V#*&YyOrMzZGS3T7R4s0_C8KVOgD?^UIw# +Uw7WZK&#hppr^-&JG*;sq3HBjb?z8s*PCxAyD#6q`L0uJd|D$he*HZfJo$Ki`>(^zuRi+M&wu-`$3Ok +|=(jJvJRP5&A(;Toqerv!f(9y`%#-RG29*Cycm@o3!mh2Y(ceQX7$gCg3AhYN(<*J2RROPN841gzx+B +pDOi4vlmGu3h0x?2znLwiOHtO7Fd9Er3*Xdmytd)zkVX&58)oaw!T7};($_m6nvC*W}JS&nMgmXdg8i +3a}5?ofv9GV^mr9!ukgB^vrG?dPuc0g401OGEM1cby=mVJ$x +SOQPlJh(T0kfQ5A;hw#`7?+$o#_jXiVOtQiC{u8A!R)9vmT@wbhZje1Y{Rk%DuEP)Wzq(CGGTy=SefY +GT`cR88p0Y$p|3jGH;;zJie^T<)V%T>Q&on9@AYvPmg9sPNS+%B`INjngLS| +%lf(I|M=Z3jQ+u=rkg-q47<5Xv49)Xz9sERb)?cLQ&shmnlib{Ru`a59(@w0}A{v_QU@`(YApUB*fA5 +AvD}fK1POxW`KoYyN!*ak>++pFGHCVHl&X5>e~jhP<;>v(QX>s(R=EuzK{)oed&sRv^$j{Be%$E}{Xl +eSMuRps5<|ZgAKF>PTOl?_Tk1vbC&$Hj{@@=#!&Es|T{?`a3dk<(AdNN6^IJVZzH +A9iSnDqUj#2p!r-Tp?%KjRbi*O +szg0%ylz*iz{SkZU*_jmscf>IyO?7+reUhf-AXL9KBD+dw>5ftFn!`DA_-C_HX@#q_izMgajA_N+R_m +72;+$Nk$?+>E2JvI*~^}z~V@Bf0*J^knsx~%>jo#mC+sn(CS)RS +kK&p8?1V1QcorQrYXYUa_pCIttZt~BPv$;^+tT+hT;OaDVM_yg_h_Izef!n1hNd{XDI+L6aOi-xFNj|FKdb8{h+Y(cYOet2| +J$Qi%1t>8YA}Sa(EXFvjZ07@=XnO^M75lyF>NTEFG}2h`0VMBzdnDl^&(clXJuL!p$jI-ZQ1ZsHQi>qsZ&d{@Z+N_*tRex77V +0HD7(!gB>zRaScmyFt60QN1NQT_c{bMBrk8FoO)X<=jURq+R&2tJf5P)t2+pjmTlgIDUcD{QyF_^)37#LmDbPQKds=ze3g +j3`tK~6TLjPf;4HYE{|1}D6DLi}h0oDx)iod#U^nT0?zsZVe_y8+Nm(^|sTO?T<=0+0_a57+**29&a6 +JyI$uZ**#@p%kPcT88NS4ev0V_|=Z#ryO=d|V6MNEICh=z8NVm~s1lih=~@JO0gD(SIiDjjRaT`4u6k +Q45nz+!6m78f;XL+6l}w9T{{7`)&j_$Iu+zQB^A+9?teE<#3yNG6T~M7YX&dDogZuFG1;V{d(WPLJ(j +{l-}Bq(v<>?UaGCFcy1)0ERqIHV1kKXt=;$ntT5ohUr<8ofCvg1Ag)@ZvyIJ-ItA8|C8N1&2LeDMH^L +viTU^#LmWiPX492Fhag2|N3E}PirO{W3abxth^#WpB=A59h!$RXcE%#` +vh^#YOghNac`8i1aO)7F7zbp`yZ}7MbAYH$ypGv7zNrn4XEl0KU-d@28gb@0 +R_uvC=0$55&*PpUq3Y(%K_^JrWd>~&wy##XP+NO(&-A0ssQS7B<3BNK#(jI03tpty--WP!q0Nsa#bsJ^3 +phBN^<#9yH`#c#5zStc+)ZUO{g?y$+W8(P~QLAy@6*C$&q`szW$vCNH+i0TG9NOFbF&?sq1U4~@H#Po +eST{akOr24r|u~w7G;Xl6Ld-MI|)y~^DyD#^SCKFg(ifKyP*@6|l{0?I-^RmFGzamX%=nhG00W-Zy3b +fuZa0DRM&GJ0RlVvf*NRxS*;Lb)uA);}Mh4y`wDDef72>}+BgX7>wdBfvEoz0U5JzV7KoF&z5R)i#Bq +tMfru&saZ2c|l(Bn(Jam4zmfJ2Xa_vA4yuwqiT#T{t#5+CugK^5dPG64V)7QKm^vu@tpw;69gP8n&8Q +QX`G*#uTUYVbBo#F(rTaOOqKDHNNbPdIXokuRm;ftPz~dAoGvSvb6j!) +_TqIDReo52ltKu^B)92qJ(@KTrMhj!jwCfsu=H*(NvjrllPyE8H<*3b5(z>@`v4k#FjI39CkBw1Sk|pT&Jb<%k!BpU}g+2QQFVwOD~6E=r?MNB`7!;zMUrXwlB!>qGJMUT$HGYe>n=CTlyRDr +-Xi@OA5#nFqoFP=qI4U=L0YZ8e2_KWp6GvJ`V?~VI^;2{ccc>CKNsTKgS1ehQS4}0&4W<$@Ch9UY=ei +(>o*&*qN+jfv%4{MX+LQLP)9+P$B0L7Ug$3xE??M6cBi#Ajak`#H`VwqT>*{n--*lhiBt(L7Nz{kQ1N +iua;Uy2I-JAl?>hLYE0s+N#}Lss7}NIU;~oz&sF>dsjp(1jFfSLH9cAkDM=$)@({-fJ@T3Bq6v#$Rnz +SE`nCkQ@ip=t6?YY7Lt4w(1%04k+u;{bchc)q)L+q(X#u?pS$L>17hmg7HBX9ZNEN%6l1pn$O9dz0kLRDdzRL%l(Fsj=AIsOq>nAIR|!;`ViZ +AET9yA}7r+I*s8>Ky2*E;FH0(6?9JvVfpJY_kU6vQ~N#A_(2?QNhn6YE1^KHAAEfPT5t*ioJwOg*(SrZb9b?PohL;C_6l(#9zvUCl_F>}BLTt()8 +hH{48QxN+Fh3BGbqm7fCo!*<1HWlimN%Gkw(qz0fw$djy@Od=FyplX3lYD_777~?avT;Pu}qsavXi!IJZv@7{c8#3->GB0P#T>qMtQ}}9$1BNX +oJ2i}7huVzCw$w8+X9gz5D907T(4%26&1=)@ky!_?{PSM~u_d~B#Tm6dMq0Ha!Gwz^6TuqVrf9Oz@_Si~fN2uO}ya`32gXC+VV`H~vMH)4_6w +u>yld>!Ku7>Gu95-V>UmcLOf)&tvghn9PjI5S7C5#H4o4Le5%_W^6K(Nzgh5iv9z6>LFN)X}V)h(+y2 +;PvlBv3nHhybEV$}#ympeu`@o>m!XNGbqDd?WR80VwhA*xLdGe%;)m0}pYdt#V!ug;=;f!2XlGoF+NX +Uwl>IVgm(%sng&V$|qodPSJCf-vzuqm(CSF28Dv)2sa~m`T8D5hZHoV5FWKdj5f0RD&XQ2MPrPJoHSw +=b5QbjVhR#~gRYXGhDm&7$Fm||*XR!<=gy|NEz&xq_2z{b?CROQh1G8rC%4(zc4<2qtr1s*xEun#upQ +Jq&g(K?Ht8CyWST2G;5VNBA^3QljYtC(?FQJ}0Y7VT^W$SNuC=d}-5)6bmld!g@6tjQ!`Y5MWA-RVy5 +PX2W!)j9F8j!S*gDjoP{md>O&S9;!`MUMlSBg%GB{gEs2R7oIOahI5mYQA +_QC6hiWD7C3|t*Rhv^8i%xDJY-bo75GUHfteoqDh)<$tEf{Fmd?Oy1S>}WL=S~D>BxdhDo_h3D+8x6q +BQR+Y+*o_Q}Cq>f{Tn#GZRzo_0*aJ$HQK6I`OfGP+u>N@o(}?QYRWX1|V_dL=a?>G1YqX~oKCawuqKHy(K`zotEr2@_&QALs9;EhJtk8~$M*zV(( +kS@wV=_mTF!)lx5}5i`I}4`e;!fNlG!wwYq-`+JC;1CmZX;~io)(y21lFkwK2d`~G!1RNS9cpIkdU)r +Nu9!)i3W^+01O#5LA6{_0=}aVj|2&WWSm5JY%mo!qq6EAh +4M=q=Lthm01H`);HP;C%_P43BR8pRL70Tq=hy8w?hKFL8)8Bbf07F*G-#~8*q|-DxQ87;H;OEJxGr1#b +nN2}njI(UgPDnabmtjn+c2dh4)u_Ht*&mgf+a}*_^{D*CcmQt>5gi>wHszYIx~$9<4j|W2H`~)&V@LR +9A~kgSdKQul%oAlFP&O`a4FWMaa${MBRETha_!TTq<-)=EiM$PQk_8NuyHtScRSlr%oY^&K1Fq&UuQ{MW$Hk?M*v=)74-1!|y50%czlsYA- +==1EClnv)0YoqE1`|c%r;wq`pRVsn86#dk(wr4WjovdXdt!N;n#hx|)?||tBW9n$FBJet_bMN}V8a8H +Y!cuI}n!vo`f?OHYfB)p3Wyz)V*1zG~D;9d9C(Q_~6^-e5N)@eW$8F0PPp)slm~plbrDvXj6n7wR4!7 +w5VIe%co9-J0UxPSsrMy8fBf!Jc%FxI(7<&NssN+6-NB4k=cVF)9ez*7anpp-{4fUW6$sipDPoCKAQdSu@4k*IrK3&4$d=-pH(TT1+W=&_->lM0Rnp%dNmP{Ulij2CRc +_cG?mYy#!qwolkBJ)?fxpCJkNSbzn_oiIAfBCkz(t3fd6sA%}h3$4^Yyatnt{CpsHhWGMbu8r`qEc&U +pps?$0fL7rkp=tEf#Nv*A!-DFa&T5@-va1^2gY(<-ZL_`qtik~&z+15P=Kp<;^?3b+oj8HbIz1ecOw2 +CY@nE-m&p_}ql!F%-#<(azUvaL8{)^YwuXvhnN==csx+@E4+$aEi;&*3V$7|;4Mk5pdYLt@bKG=o?NS +NxW`nXPVZg(HU3M4B(M@ORxfNYk%KCj~vc?)L)g8nxUktmm*cQspX23oDugW~fy+4-%_f8sZ&ETo?sE +en60d~0TqDOSJGtn_-)=@6kDo+5KUFWbe%@++uZr=`72-YI4u95{EaB-?nCW|}P{3e**7oj;NsuY8CQ +cjDIG^!K^iKj`W_7}n0%PQe98v+%^U;^B#j5>ogR1L5vwnJ0$iem+jRiAUX5>N-fd9;3^G8J5@*a@gn +fU(`0B4N+@x|w^h1Z@hyPcrY)LEN8YWHfTgwvbBnSt;-y^L}C>mDeU2EoYtvR0d1~hT0E}!$B +8{3cUbmLrFP^2V=GjXBG0;Le91}4wH4@sA%|wKg69kLH8(PY>$HR?%f0BAyNTX>ev*AMmg>z$&ggoyF +>6opQdu6zUZaIjEw}g{gT?jFc|#HIR4EEuhEE8oQ5kFTM7{08R!hn=B-GVDqU34|3QC#Zv%Sxg+bClq +9eCS&-s#r%M^KrK_3P~qr(<9>AN=U1|t``GT$(esKn45;m&TBSKH|7ce-F?jO~a~;9sb{>K_qSkF+g`!YJc{df?Kw@>3U{Ptu;-RN{IwW&v6j!$nl&OVMtSnsQ72=CyV`~*Pw`)u +%44?Msem#6sqy`#S$9PbURb5&-@Eju`;WN!*b;1+_SN?gNAiD$>Ha!Me&In)$qSS||OcOHi%s!bs1Aq +mgA&mXqOtJ3<|AiF7TJfAfTVZps%PoHdVpS5S!FC?{io%!0 +O`LSTJ9xPX5?maum!CE8QP@oPSzIUN2B0r-)`Z*mA?1Ucx8vwnrKo*iFzO^eKjab8WO(s?yUVO&ig;6 +j_S0L8mT+Fy3mD6q-bnS&=$Xta~KZJy3^EL?pLkmUX4MC6IM9S>C7J0GWTzlktE@dxUnMfv2;Y5;{J$ +sq%Sj_*_~U*!9K_LwC)=W=OA!8q+^Iji!&XD5(jT<2{U1)0#)E9LsJjo<8x|NL*%O@jMH=I{S9M5B$T +7e83ylYP!cS2Py|0@#jLyq^AU=@I@sNLwR3p*_0Gu-A_VYM3Vl8aO~)_ibkzksC>Sm`U)ReyheFa(ff +hU7sLI$hYAEiLEa;XZI^8CnSyG4{9vtug$hAw2rVmS`qhLyCVQgg;*1=UNidx&!hQyHKSZlg|I8fn^Us}l +&c34xT28fisVe4U(8=v$#MT@G?jKpUc*6(0;R8S?v +D(L?x%Vcik~1R;4~LyCGx6S}b=WGf$Z3KbR%Wp9%LCyZ29MjvG?q~whhh9si^*0&khYWsTS>}}hvWle +jxrf*8wFCFics3Ba%7LVd)yiF?1H4=qiYrc^vz4N7xZd0zfZFWJL$AN8&Y38Zql6A2dAtz1=~k!jA(!Tmo--z1a*E8*q`&DEqSWpz;-0th&r$gZv#|E8wzE(ewe7%wi7&#aOG?F`AvA_3QgC1>PFc+oK=Q<7hnz!Fz;EP`R7 +VhFFtmgvVMj6eSj>dMbQDeP~V!}G +);+(Kgg(@hDp!dMtgC-0k?E0GdOF8ey?_vf{&r-$AR +jMI^4}WOB8Y+8Hc*bm5KSGBo*|gClz$f`83Q{YAazjOe4B-24+QMB@;!7D7rnS$iC%}YBQs4_&1W}T+ +49ph~mW0(bqv=;z|^-zjd-M1G!WLf^Xy3#KiWEbk#src4#8awOV~zx6dP7*#{7e=H&XUNIf!+3ovlgs +im7!wbUbPjJpUbN*Riz+|M>yVvLG9_hznK{9>zo_Kbn+NB8A!$ZAQOKB@8IJ9LNCI!$^v^NE#k8-+v$ +(ut3J!%~aU&qj5FEe&r=f3g9qN!!(epLP#K+`C!lI?~AUfrlR3=Q7wz3A~K|mfrI)w-kx(5NF)Yfc45((R9B4m&`kzk1 +|0v<78+0%N8QYv$62M1pnu}D-6_smkmG{WOUlrx{Vo=Ci7a8Qo$>)Y8Uv+cgGL~^HD;u)=Gk=`texD#56}vB%PL)aM2M@ +DkFFQ9YTcLP)7wDbN4R>L!$3vii3G&I9RGA$53u6kznuH_=)5E_j7nA+Eu0y;6JU%)*4zd26ei`2bt% +xr@W75{H)p2GWfVL!zrkl|d>O-wL$<){4Rpw`Q(sDL4(!@=0)$@*SB7QgIL0XLQ?v*hnaQ3ZB8H8#Ymz;N7dl(i7 +on)GqT07L1lv?sBrkBwB|1y1LgknA3gC%6oy~Axpd{xd16urED=$Vo#&0A)n>41eMtA`KN#RG!DMW-t +(xCWn3C@3F~4RgT1+|8xU=(iQtOw$&F2hM+-{Oq<-mlSCo8)voO~S4rOiMPO;Nc1XCd3$rc#(qS-hBW +z^nopbI}6i{}$O!p#=_CZ=Cg)VYV@Y36F}v=HhOVZHh8hZ-%zTMH(7S93x+WKzv+p!hcdICRR{+eK1+var7_l1g`e$D8pIoP!Awu|-7X_9{(tdG5I**a<43#JT?Hy?rQ`f&9m-$cjLj+Q!*s(EXSAJ!7@+E-LG(tS4*G98YBRtc;w`V +J_c+j5NmagyMU~wE0Yf+OF@ECm0aY~uT-bqyPGIA>kGR=-+`#V8i95Ka+wYj6RRU+9Ls% +w{xPpBEjXWKWciMxP@!dQNn}bciGD;N-+=mEIT}9p7o5ZyLTgY~kiY?UR;N~+d+;Bi$60B-xN7{Qhv> +Qea)o2^aJ_3E=iz3C35g+Qbhac;-HBW?INOnNJ3#~uNp@*dE@*5L~482jR4V%M^HLtVxK))V|PPr3ml +IX!=c@E=pwOKFEF^SH(64dtzM>nW$q5)KL@vt4ZsR6 +hapwOz*^ZK2d8f`-lIc=ir<>^IZ)zv&JQlN)zdpPxolg&0tUPW +E`HAlQVMuULSH*U^7Ozy&c22s*e+3%5zqUGvhpgiQ_7!)FcsnyJ8IRXKBjj|ku<)wYx)s;7=I*hhg4xa6fQ+A +Id`D&^J(I?gWBx^qCCEV)^#nU~=@OR>?Q2zg7*n%M};44MB2oQk0`{rhHzj9SuqTZ<6sQN}(P)sFmC6WbgLtYMFan&l?(u&fa +Q&BFM*^p2zE?sbQB6{yF&xsgz7X2hTZ|LQ7-ibNlc7`k7Y ++8da}zN^Y9>$Fp@$1Y7J52+vUeL(T!k!`e6GOZ%dX))p%3PECN?K`~2v+nbxv&)e)eTcooriOcG86Mt=diJ=?v#QDhuq~v4dCu08Yuly=4sBoO*u|ntx7pZfs!>8EiXvBg7)F}+E-*FM13lLRJ=cTicz5? +tbe`vi*>i_K_b-BoNr0BS#JUKL%$eDxq(`zjaz=f8H?x_ab|gkJBT) +zNQ_a(A>qK42Y!-t+=dfFTeDLGH=-uoo#kEBqe7emekCc_VG{Cql%KX^NqXErw;wTH4q)I2&h~C~i!9 +C)=lXBTS@!ef2XJscfOuN#Avy4}mZ-ZY$*9A45I-2nxv28ARk6|X^{w|O%HNybY1#El?|NfP%xt3thT{U(bJeroPi(fXKg9nREUNP<4RnQgBKm`8#Rj%JD)~+_W9am35M +F&`PSU`G%ghw|cCM`sX7`zWXMLQQC}py#Y$*Q5|=qoYS>v-2Itr7iK7zDoh))i!n_8g0Ao8vpDxzTZA +v>>jh=Pyo6SnUkl?xWo*TRx<-HsV*5}Cqsi?TGDOZv8y=i)*f!ct&X~66fufc@h#k5Y_#w0tCeM4DL;w$MlP6ezEAZ0airGS){t>r^81||)3Wp;ebFpQ9u +{7A0Q${kZb`M(S`rmAUw;^~W0`#F{zV~F9=c{l=3M`%bCD&nh4ORE&skr_g#nq57_ECeb$=db>MuSdi +Qfz3qL){F$5AP8euk`3Y(4%&&K9aHGTri&N^u91})58yDcTVki+ozvBeet}_6M!Zg2`#)fECH#ER}i6 +`9Xf!7co*gvvbdK9koG{po(qd4$Da>`XbG*C1kD1~SD(+!!pnoP$6TS!#cTM +LQTbnfw6wH@Pi~W)jmJ5>TSO7a#7&HLkm7|-E8v2B!qp0n6AQ^k_^`zb9OF&3EqP}HJeazC#kosq5c{ +AJ*uQE)*XHdSpz}veo)2dw70r}jA94ZHbp9jOJO_va3u^>(AEWe|{FYuCj&L2>zECO_Wa%|KD=GhKZj +O?tO!b-(g#G)_c`6dTN-fgORb=A!C^%lzwc-WXuEaU!RZ{e?08j|;oWg_P; +mvHJ>U=}x`Q{l6jebA%G~+G +=pyo$Va$s_2;L_7b*BqvMJ4Tf65 +U@c^V|&~*QeAxUu;Vw(2>{6*c5fS9mq-+!z`_N>7+yoBdh9HbUHU2ObOzE>IaPO!!Y^=_6L>y;-Cj@&L3I8k$2dYpc`eUwc+{8hLe0^aSW>pw~j+u`yOgQDjlTp?j9CbR~LkX*`#7H-9vQK+~R@ZF>=;=t9({F#ufDSDy6kiVrJ#X$D +|iyLgT0|=&mhQjc+FZVlQ5kIwXM=jceI ++DDtOzS^e$TJo$jaoe`cL+I;H^^J{f`fn9=+oU%r8$kKEAo&nJe!2bl_4eaq5dHM#lI~~Iog8@f>sGl +Q_fB>m&R9AlYWOw0vn_6&Mp^`nqZD%P+F&s||117O7pkE4V@kX(5!wa;&%kc*URG9EZP=Ss?Ih5m5cq +;F_wliS$HHi=#m0~M!+UK)y~xX?xqr@Z@l9hzZA*ILMh%pBI)I7l9U|pJm1BP5(KXV$I@7Hg^zZsE(z +J64sE^=1+z#U8A(Ns{-gvu5xs-~G-1wwVbq^IY+%Hg`ZFL8-yL%xOHc0}SIBQaZEUW*%$;4C|Fe0HG) +8FRhdH3Y-(f;ns$+xc#{_f^VIQ=ym|MdIWlffxEzbAC3$K+^l_wCU!dZ~R?#y@SIo(_LKJAHEc +AN+pS0(iZD{CejEnmpb+ajX9{{^{4VC#S#vcKR!|+$LDaE&+FPC{OTPYh37~(fIh>bh)b>=L?(tJcp@sHs+&uU89Ku0!G)Uc~-up`4?>DsaI_wd8fQ>Q)M;Zo<*{li#g)2oSo2-s?tH1 +3F^cV^Niv;pm!n49HkM`QGr18MMl=(MZrwQ{I2va$9QrhG^Z-@aYrjrTgis3$&EuFnuMgtB|21s}rEi +QjyImUmg2&j<{?vV|2TlX%i5(Nd^(@zD4-vz`&@HkzrUv)zVGnpMdxnkvpq62Q&M`6W2FIkCgA ++jzSg$DO5Ex8<+eq7ph8Uiy~K+f<1Qx_@{DMEMryoMc2_;r+1Er>9PF#T?|4@OUKDWm8@9B-Z_I`s}F +xmY4P{qzt>|RbT`JS0DG`hneA`fC-H&Y%Ni0bViy4Iqp!g1`@qIIXOIj$$1>m3G?@)PR(a%?}PZ6T$O +dhKGt2Bublsvg^Vou>-=v(m3MV;m)ziblUA6>v<{|i?Rt|y!^2rQM}M@yp+D@maDYYV3(d3h*m-WyVV +X>)Dc@Q^3cQY?%Jjhxm0OVDL1G@|DsR(WuIR62eb*nxaU8=zb^oe8aOSYQJwoHR>-m(wVN0C0~4 +XjI52(Bk7SAiyFghz55Z()VNz)Omb-{A!mUMELXY=-}jF_u$n8p5Hus-oaO0yar_f-Gjr)n*%QDyJ<~ +Yic1Rksxki#wqew|ha5Plv@sQOuJRRaV2%x9g30tMQD>2LeHn%8lrJQ;yS3u}Iff$K)!#VHsylTxCH8 +T5@8|?{qyP7I|7h>))ksTal?b(trU~LWvfA#-CzDz<7%z8@C&zF0SFlan*>MP~Jv6Mv3Ed*68Q5kRli +L*Lw^g#3@KlKKPu~eBmxir%Z_aCv3Fq5cz>h5jBaItwSb=F%VJnfEby%z~8qGZV^s=lQB^qavNo559* +{yH|@co7LkaR0#@+jaX71y8(NasJpqm% +7jSGJ*y{3>u|}w`oKqb#0a0t+QS`VVO0$K4oH+hVdK)+S6&f>z46sY5^@RT%4g7u=Q0&~~T +L@kXl}j{|POmJ{4|=Z!lsc`+?LW{6Lw&61!|2RpIw2}9t#?6h6UTYc1wTow@rJ2fyiCVZ(;Jv&dY60o +VLG#(OgR{>D4mbi5zvG`bcNNSx87Gt`P2^H`KNo0CXf7rvp}rx|EDQcmuz-(iJCFk3tSMBDmH@YA+^i!71 +cNAuk&iLvL-0Q`JU3J-)(SvPpS4Nxp&;=~7gr-6qJT#RpeL_yaMfvK|cYRAn?@gD6uvV)32^~J=)8dz +?kT<~`6NFq6^TB{5VDwIT6PMUAh|>27Zco;j#PW4gZ0r{sCs*l)0DPUzX1sU#{!U^-2olB~r3HnqkQM +UDC(r2`07{XBM;zu*0EQBEZ6Z^xjf>Z>RQL*Kn39ts@9%yIFbtQE41wTig^7xvfFgsTzyZ+-;)`-TbL +y!QV>A$=q_opwgeEQuOFqL!nNLk>#1;kj@qkfvUDHAO;tB?ua&3_1g|(ESwSltie3|7lV&N2JAxUFQV +j{2;ce9t+clNX0+=rxk#GTlaRSt%^NFo9^oX(@&YpS5|iu+jNEit-NV#jyH;(t +%&dH&KfZpoadfyVIj7i^sr8xdlPUr03iu~_KhLYh6b(cDY{eaL0*Lb-;Z`3$7;U**j#5l^THu?0?P)G +{+Au*I8=NSgOxukM)6{KS2LnHa|KGpZ`il~=csvnHQKVU9Pj&NXq5&J{6BeX{uFkvhmUGa63sBt2q|M +WqUU>=`EsO%TI!&wGG}gVlv=$yu&kP@h!P3XDR{Mt6dVY@rdH*m!V5sfkwwiyykblsy8$+)x!+QtcU; +s&e(V1<1W~Q>pq|2=(=A*&CgUKGuXb)yK%QeKNdY?wLk^@x^2wad4aj`O4u6?>frYx(>tML2T3%+qlI +)S4{K%5PR1Bov6z{`PnUZg5`uAED7)*?^tIOfwGwRN;9^aVnuv`|R&MnS9xHRyB{AxUmw45*Bthm@>h +mV%BznFmpeYO~2ck3Y93mIAS?a>~3-5Ztqa=A>zZSk7gz-aps!Uny2=Xr{7s2T7$q{;fWQISstOQ-yhM^!^a3l*0;;47b ++A(}7(Jr}b?s0OmD;4N$KRs^#E$Hflo=%Tb(7&N%`uQUt-@`xWN-s)sKg9B0Q0$0xl!B9pft#Misq(` +unXyO2n-rmpwF)}U1Q?rxe+g`se8l;orTUT)&P(AM~jjnllkadqWQI!ePdO=litoZ9ljj7Ck~h~am;FcIUl +**8Eki*Rn7Nju;wBjsio^WuzMm5b@6ukt3KnFOnBy;X`xDOhVA-BenbW|q&hnTgyXHthO>wBNkKaiZb +9+A=$EmXO?$<-bPj^ZjXY{ox4o37bB&w<**WUKJJ0tWabSSsjE?PNhR(iYd)_;Tv8QzBFn%#-!4DPXu +DgF0pseasgghL8#lu^7)G0h#jXM8$=%{n)@>ZF&<*gHN^pN4I{FwmM@BvWofPL^_5kMIyS_yjczY|XC +m@Afclv@fGu6#6%H9e3Lq8?C^;fw5YDcKM^_Y}ym8->VyZ$3~gK)Kx}eDILwM +EFNW|%z37iipHdT?!+GTF)zwQ(k!~Wv+be@shvMq~z6Z5iE3E%T#(1l@1 +%&EK?4HD5v{j>CC%tcfSq(M3uZ8L}LXy<6Cqyib!xWH&A4w-4G6uU+9FRCH1NRAL>Pr|He{|*RW54P|mA1owq9=%q{@_b$j-r!d8nMK>Do7I8TETKSLAZ#t +9uG2f8T479~F%+?G2sfsy!h+^3U(+jd)OUf73zWh)SI*gcGH0r88RA&F#c4g;=GWHN)b*-bpzBn-PW@{RVTe|Hj%l1VCxEomF{p47~tHpxb6#YKO{g`)>_?^C(xC6sa_Ez +jjv$Q9Yu=@p-HTNZ`nf-bBm^-sFLHwz@V=cRG~*DT4$lkY;2^tNqfX#X><;5;lmki`LmisUt}5X^+jJ +s)xbq6mwjX7FajXfu4NLM%OJ;=mIV2OiH$#*OQB<*47f45=e~5>&^8za=X#yEa;?zecn8?J9x*Z8lwj ++kSb>=ch0{E8Q>D5(X +&4QA8=>*@Wq1vtOI`$-zJ&W;8T{tRxRg=3P!k}Rjp!ChzE^O^$9Vuz+kHOq>h&}yBtY?PK&PbyAX$DK +`}MiFMK_ud94%(g*WOYN+9+b%Ee4_6=RSm!QtLv@M7z^k|FDXd9{^sYJZmAY%bD8jsI+HL54uA5UkP|*b3CPjY)j=F<-nY$BNaRiF75WzE}<~&Z?%G)u9*bB-qx2Z&fNmFfs7bkvfn ++dPB?R;oafBwsJT^Fa{|4CQ9<~F@RXNL1JAu0IEinsz_tJQ?km=mk7yMlC?rEi)|n6?lN@j9dNZ-A3D +9RC}fq5X2zLkdO;`6?VR3U?|rlL_7#Rn9v&R;pBx1KNz=5fa(4m7v?7K7fLiy48}%c7zkpt1YSJkD7kXU7mRw +Bn5q5*F0^)nr_O&$)WC8;5Z*oDp^XKDQ{a$Xz#0SbBKNrD7Ya7J!`80W6WRGwW^#9j^m87!fsKW_#k( +CrqI+iG1pDl&2)fAn{;#NBl9on82a9*GfP7uOoM49N=+Z}-37?Ne&^VQ%&*mS_mP3?bxUdcfiBNgmMU7rhr*u<4!N4K>A~gHaT=vr|PKcV +{F>7%Z6N^KKcCfP-$*=anDK&sNuXEr)Vw^!P>9CsU5L_$tA0L5ZGVGTByj-$yx!*cA3q8^NrE($6&g? +Fgw?4Ic)Iff`mWVFg~KB_{c}N+=)UT01mr+J0U`mR?%{uT~)$7h*7q0HxzEeA)$0_Hwgx4wXE0Z%?vaGIPtYn&cw&T&--}E>a1*)Wi(#Nmqa29Lz5ov6W> +yW%?D9y=2OXw`2ZKz>eaz>W#^lI%a3zB6)k)eck3bl!v`ao``R)}G8<d~0kPMqo;3cCuocFK2 +?}!Lhg_0G!IhnDFh81cp+=HP9*sWkoAvzS5JjE}@aE-gp*&x=}BSPnO)q55Sq2o{?@OQ9)Oj`KO(&w^^}~%x9l|5=5VVa-KE14)kQ_ +_1E}3xlV%jpMN^}^pjz*Uo>fsU-n*q`pL;KNSk(h4?sPC2F0N*iW0+gn`+2$NQdOTQrv(Hrur?Wz&E% +7NBSEk@5FWTN6kF-P;n~Il8!KO`p#> +>Qs`=m#K&s}?pLHR9`pF-IWn!gbfeiA<)psTs>HN=IBhW{B#ipBY&~g)+zr^TDzSga9=Ont^c<#X~R;M(SHzEWl!u(5<+k%zxqmY+=0pf-Z +~*NyLTbQ14LAUOtIKa(9zPm7M3)9Nl|P=?{310=l)aVQPENKmXJj*$x9Se+0*eJ4eg~U%6bc_PE}7T( +4nrBQ=z2$ha?ZIkwdskj7sN&(~g0xKP}G!N{f{CY$}k@le@2nZ^^e>{sNqZJHk) +HXK&f&5%^-uT(J6G^fj{2;N>ba*V(DuFq%B8+nnbr5ahKsYbU2A1?>fn#x=r=U;#KykN}fpyv_FB#rO +i^r~<>gcRPWv5=&pa{@xx}wmq+CEAOD^3^eMMAy}N|v!f32zEqP@C&L>sc$+C4i;~ +g7#N{O&rKAKZmtQ1qgxMDxc=9#-|m}1>|dq!-mE8vY7n&lZ=1QY-O00;mBky}~0y-u~I82| +vUTmS$b0001RX>c!Jc4cm4Z*nhWX>)XJX<{#SWpZ9iNy@fbH@|&n1^@~0A=`c2_N?33Bp!po3@|SYxX*e|ddyFPFkX(>CSUYE! +;;Q^XP>=I*4s2(Ugpex>#$*eFzgNc!$Wp)$=TU9zf59wo-FcfFXimZWD^Ho9wxC1J;()#V_VnWYyDz@G`1bud7DBtu-rip4-D(~26_0c3&5{N4*dpRL;XLB(il-Tr0&*<#FQFM*r^!_ +qP{C%sPSTt$l9ZjDob`^5`rS^(^UXR>k|^u>$!ZNS5e$x>@s$_np|8Po34uf8|Q<_$%Gn;u)G@G$wHnvWabmc|i&ph~EpkZ~HR``vV!! +%Q?+hOI8^)+95{#NTC3Yr_A%XwG0;iKSO;YT*jhA +W_HG-MVDo=3V*P~oe2iQG&20>;_KRWDvf}RIo7McR7$+Hv$8E9!hz>u7RFib#Xh&GeV4%^jCieG#ADI +GVXs)fQ=ly2*6>ZeFyrhr$%{S013^U#-aV)bRRs%U*f-f`PSmlS68H@G=YN=$yFm_=<9l(Ojv{zaLtHc~$pd>mjZKCf3s~}9A1 +>yt!%09m2LVjrCWq5tMEM_&^2=6?m+hlz7~2wM!cDYeAQ9^mF=uioHSP=6!1%sUm-mAzG|6S2uSZXx2 +8o}!YtlPzk}jX7e8E!=o9-zn9&eQdJlYr106<-O+2w4ep(YB%>aJmhmA1wdV^S$!r>#Br9%r`o7&hFV +TI(=4?ZMg1RZ_8QNFDs4c$S4Nwc$Bm6ZV)%$x4dh+TP3Xt%&5c&~X|~ViTV$@ciSjPf%$Va>?A5Vbg8TR|93 +M3|e^dI@liCx@zoDtIbz0RtX +foP5<|2jZ;3{oWWu;A0Y>aHp{cy1b3P>nSDOT0>UdBXfm=4v+Xb7VuPw&DFb~5g+Fc?YYnpM!DjdjdY +dN8X#@U6lHE8Qr$hE44VW}yk~!?b%~$M84{iLXMPhneCj{`gUtvepk--20gyTFjC$V4H#lie +P@Rth~`V5+at>hRj5r$b{hMm+qH=THV3bTtk2MkiZy6+cj=13hd60=eHr?fEpV>E_?P|&7@*}!1` +;Ri1LtcN=AuHXm?kh+&>R%ZBD}%XGamJZ(=NM6H@s!g|JuO%06{^95Xcemo33IZN@(ROBpSQdcddOD* +U7}Aj5qTS?1f9BUdybnVO4{Z;iufo(JO2LqO5tMG%BoeE8K%f^+{w-mwo90*0tWWpImRfhQ(~#xcp04 +PMc3c&V@}~HG#N7JuRi799~=H%7?#8-oSbSz`Ui +0WR$8z613D^BlIpx5a&XS0=Y*-veCb!fA_D3zWQ9kh3j^Hj2ZQ3HrFYfK(*INmfxng(7EVokKI{s`q~b(vU@>0u*Y8S=Qq9oodi=vS$hK*&g) +NLcf%y#q328#Tl4h{$pCz_mHe)I2`eb6(aV*}Tr`p5a8-5e+d{15CsgdMk=&OOnO~@?zW_y2Qw7hQE>Vydku3PQBv2-WRKioVq5PBbfR2~h# +Oz?7)phNxgo8=g?xil*p^E$%|nY>6lexCMq{9n?lq%cBuHWwmQAGwvuX#!W?iwGCBupTVF8k9-4MCT9 +xv3{OK}DcuZxoL3Bw%lu@SdTa0pyUe>v!k_|2x-ej5gA!Y@AWT6UMcXc$Z*myH2OR}6gEqeKD&??Q4N +i(Z!J7itwBj^|6yM3+Fbl#Z%%{OdqiF-B2673&YsFS<_U=@_ewQB2E<|GGMVZx#HA13Eg(-1GX#<<39 +Bf~OEax0pguW5)$yR6Evu$~xOnL*STmwjM)!DmS9@y5; +R@W(qRS*bYjAG~*sE}QpTm!w556sKS`vXrTr#P)XA=jWDRMcgOH4|g+8(71f^sWYNbJQ?~JaK&9x~X7b^Wu-_% ++W`bV7!3-1}t$C_v?@!*Jd_B8(^VK;yxw$<5Or)%OPa_%{ +V4o8c5zC($q`M3nP-bdz@(^drc(D#Fb%s#_BZaIqlnfg6w2)EV +Gyv-($uC<#Ft8>ot!pc#h{a}ZrRlqc4mLn>j0j6zA?AT=0L*3}L#1;efXgs4LWnIOm{^PM4&sOqlp0& +3#9ai!L!=T?h5i7z=qlnGO4=QOq#8INV~h?vqsm!LJT@#2Z8fPK@t~E|(5eV28q0GRIGs3ZO0SN!met +5*W5l(hMs)6&m8I#pKoJXK&HXV6V|$F!H5580r1LVIe-qli{C`N>A`1Oi(A +L~vCVlIx;BSQKtDTtgpZ?nQDqZE8o+|8jyAXi-JW3dKZB&~6&12XW-lgE_Ke$3L7awZo~uSmYkxDRPbU23=U+Pgd`@aB2Upp?-^Smj{t%Ed}7K7*=4L1tJWu +8vkC6u~S=gz+*l8`pw&uZ%$4x&>^&`yR97%S!4I0H~qwNz$e6CO+Of$SS4Uy7GZ$(Cie5J1}wFH7`sz +@5;zDdwfgR4PzAcr+*8(j#rp8a!xVoo7VB66oZfUNQYBVEpkOyr6Wey5I1}d+fmRbz5*7w}V=#kNq^< +(!%9dj5^(1>jM_Ll%P(rLBRrF{Am)iWQ71RU40VAis47a)N65ZQ6W|O(?MG +NoNTVHz4WKJ;Yw6K7Sk*zFS^9U2QprRQFMn1(UBRtWAfL8i@Q0|(LTYvU(vBZIw2BF-QmGNvm$dp{R@ +cCYBhJ7+S|L)5#-~IC*yXA-R=%YJ>9doc_ao%@jTI24MJ;xqTCes~jy@0lfuRY2e@h`o!3EIce!Hmgm +)3O2x+B))l&cZ0-OY{|6p#71{$=xkrC~U4|3xYtNoPPJs$@_P2XJ_wEfH&1+ZR0T8Dxyl+X1U~`uhb2 +sGS#GvI@8~aR3_O{drZtzca}i(u1Nlt`Kb6-rvDX#Xra;~a}`tKFc%Oo1&*y5hMzE0mS55(C>@0|7e$ +>?t4vX<7AIGEml%esz*wFQab0NaW}CTqOYD +_jc!>d`cuLuigxhvoAN=d~iYlYP^#@a9e?O49Z0aUoFifpqG71Bn+vdSr;>RLu;$9+A*T5mbVz^ty8M +NO&3%Tsx24uJ)8SUW9(3UzeWHw-4dBN$DUo|P$$SD24$JEL6zsG?81X(0w2AC9I|Om=AnZcsvY8XZm> +SaHWtn)OnkCmxJ64Gb1hseW2`pVVfMM_!hBOA+6akc-;-erk~VEkrc8mMC_NREjFb<*uZuH!MTgL`bu +qg&-&%FD{1Akk}Msk!|pRU)cXZw%0KUGn9THkkk&^m0(x#Crlw)mv6clJugIO*-p#gPhbKdV38Bc@QR +n-w+!(K>b+aAZL(3pOS6eMCJHe)S)LQxq08Ndz&ZkxkxUkaA5b(oICxC(S9G-&^Sm*{4rnboMr8G~L> +u$+5o>u0P&t?+87GeY7O2h3vr4*ANnuz|p75a}%qY>bAdR@MVG=~lvdiXR-;4M@-pQS3JiRLJ=gQGD= +5JDYWCe=^-3q8b+n&91*;fS2W5H&%hAspszeMsE5#9}v^KAPTUWWbti!M7Fe)b&UV}gR1c2IU+5GGxIii0zE-r$VH@h(_@E6&ySe>*}&}|72vOtL7Pl48^~C8QpX< +D`E!v4ov~klX1}sGF$>cggVegB4q{zrtbW2=kRA9fvR}eQskQ^2^K=!)NMCNM>payCopzj|svrjmBrg +KHH`o?f2sv=$^L5^qQ>Lf0WHO5~70GPMJdnDT5;cg4KsuTNt&ElTfrDt2S4k+VIt`bl+_P;<80B~lNH +#JQkhx6fg!FFI8!}P*v8_rkakS`5kTS!7%)WLIJrHQB*N#@w50>Dd#I2R|z&)T-uRBJ>Qw3qtQu;*k% +rxNl!(D5oOIc)Anz_=@woB?4oI@3t;0ni;kC$u24#M0F)KZvuaSfX(2w-3L%M}0?FlnJZXz|G&z{H0> +KFIZFwgPaX6+Ea`B?2%2iQN(rlAC+;-f$1G*z;U?kohTqqZAhsKoMz>LK-hO%z^w{hHIiLoWd^Sxi33 +J98&>QAOS!IUUrG&1WDe2yFK>i{`5BWo$;hMp`gNnBW5!hOorxcK&JFyj=l8o`2b@J@b1DpyvYWAcOV +)(e<5NI1FV1kqG4b;9OkTw$Jgm=ZE&|f`de6s@rVs!P|rQ=(!+evg;8F({f{!Aq%w&6ar#lKXP@rE7BLk}k}Gfda`39MlW-|pw6;!9Pc4> +vOK}AY_cFXR(ZHpY=w5mYzb9^rD?ndiSXxM5NGJfb^Sn1mMaC|rfjbLiQa;_W*-H;~7K+5< +I-!b0r-027h+=oS}PPD0-Ym`a#1LQ-a3Rkx2j>CyJNrT*Ha`ge@^uz_F!iLsnQ%-t~vNoz4Rp(%S@;GRfF}uPiIl$BSM7>0= +AORGje+`=4hK@fr*EH1@p`HB?TD3Zl6+K%Z}zD%pKB +s+|<9=?&->!~8J>-846*Wvwh^$suONr^YNc>Prc6e60waXSag@smfCD`Yq3saCW2DQ2USM274Nzo?P} +kKvUnDd(uW1%aMe?0~In^@0>dw!PD +7uCSg6M`Y(Qah0qENt?NV6fw-q+P!~l!Co>oczt#vCMw58{U{@h@{*G5*lQuEoZ>oJS3X{F7udf1X@J +`ZvysS>fFdhbMWR(2sPT=kN>=;s3~X^^Yix(#n1U;rX{Ib8Pj_FF2Bz8C&F7oS&1a(LO_lGWRO5Byg< +y$M;|B}oDfd3Ktxkig_e-obI3Or!uq`Y7}S*hl^hYpqjYtN^W$vy$2x?itRYC;#aB9e2OZPZceC&~@fJt}L&-AMryJ; +7{Y9HEsTe!%=x_Wpp^5s`$laLgzu~Am0iRfHqH-$j{cOQx3YsCa*n4LKjjnbiN6r0P!i;m>lGA+C`8~ +x1sJC);+Ndjczy0!RczF6#A(0anIkN=PO&~_guEoKUXoJ?_4}O#(CGUy`TQ9%&q#R&vW_?>7C#EglTo +2c*cvGz?YydP*3%ihFVdNQjEm~>JspF29`=;pogK@pP|hL=|zw*Bsav0V+Vb6=0pfYA +7zlxh-ZF&l~9Lud21!M{}EGyHH;!#woQ3VoN!k9=ufF`h}_3807H^k9pSM?u!uS$rBK%(4w<`-7vt%f +7(#-3Sc4I2ZS)5MZR`E`o4gd1YEa<@;vcs&Olnjghmd@5vg|tYEWRZRr~y%zm6X@=Fi}mE0R?^%{p@^2BN4sw&aH<$>k_ZH5yN)l~sNW+Qx+>7YS-}Tvqaanu1V +O?)vxiHt~lzxsKHrz3EFs@`Hv1*fjbiMp!fL{2x$D0|XQR000O81Cd)LI8vp{(G17t!}f`bDyL` +cxPkR8V_4Bdb$fn+pec0>nv))xc`~YScHeM+^r)sKieT*?N3}c2rRb`lijP}pT{PTZt_{*8`N)Gc<##@&hG%SDX +l2!gYHWzMcxc4Uwx8Gg(Up5vt2=^4;aZh2z&7Q)$@7=KR%IxgSA|1zZwrSB5cYJ+!@-OY +OEq6Z-??(n)cfUm6o9_NKeOKK58N8nw*Le3YDC{?PpP}(i9iG?Uo9X+OJAUj(eE+EKZWqHWH&~dg?63 +bN8Q0Ai4Oxavh6zL9H(J~ci{N2{zfPSh_-$ku3uB<^$v5+YffDhKLL($Qn<*f|rrxO+{rA)W)PbTjFa +w?+sNgdO=B^B=%5jD%`0qNQ|DwKvdNvvUG5D4I#%(;je{@){5VqBPAxt5|+;(NdhTHku8D`BDdfTsrz +t=B>gL0i$YGBN|>oCTk;r#pe;KElnY;O25eABimrh2_Th-}g9BJ^SnNP7f>bSO4wC@_f$Y4H +72CSe)3x=#@^wGagRs*-2kzYlt42BMxQDqhyz-W?|Wx3%#)IfSQ50RMbhd%$rX3R8ckAT93bNel%oOr +%`oBu1`oM+3d4Bheo{usR_KWFljQ#5sL2%%Se~p2HNJP|IY24@UD*Nh#Af!A_;`kqTmv$c1F~tj=KDo +FKbsce1xg76BxeeS2B3(OP%XLN9(D|IPlWvmXoe*8xk)`nyZVY<0|5&ZTLZvPj+RTzHYDOaxw^+x-5p +@&Ruff#{|WIUhAh@fI)aVyVQY3zrgUnb8a`a8IGLd?ubZR+{(3p<;6jK1s?VBg=9A +Mm7_5LD?km6bmxa2rgH#Rj)5gj^D$r`Gdp(;7`vh8KWSnn9er&l?mo4-~}lB*w)+;JIXboJM)uj|nI) +#?pg37l>pl!Q2$X=Rw28sLd(UVnVrVvW&QB0ZNhts$v#+#=zfy}HCivX>D6syjl30}<}GvKnYMM-ZvRw +m_%_dOf-m)B;Ji)#P4F4WaI1M%I&Pgh4;OfS_CYWFQ}Z?)2MOTyhFm=W#X}&Vs-*<#r{?*!q`-NE^!n +F81N@s5Dlj(DBsuQ&X&LW2j*ZLP1}~kU&@eS`jYg^|V%#XC4Z2v9zy%D*agde|X|+*WCxl;FkF9CA7r +^i24yBe_6oKHW^NhCUB1JRGXC0$;<(V;vuFE|!OjM`RP^o+!puew-K|; +jMBk5;wZZBQTn3#Hd+}nH{xk!-q)Duks<$lE^zODMm +OZj>~=%loHePp@~#n6i|I3epe917t=H`#;XehEg`2!~NlH+hVXUn{VnsH(ipF~YTE!l-b>xfYy+#Sx4 +g;#$tal;G&+TE2oeHpd1+rKKAq+qjl4c*~^~Kt4}kP(2wqD|f+j07#*pgmF$D4d+%v;K82ZVI{DT+XLB^+^xat#QX0VZ%(Jt=NXz}Se7jUB+)IF1-cR5034Ia~?BjBpND96unbd; +|9ODLzLWR{0E%`T=AE^!8I_wF%xPHYQX)6G*Rq;K4G=YU3Cgr;%}tgd*1J%+uVrA#>~m0D{;9EUWr_Q +jnYlBIY@fpHbF65%D(xPwqkXUrCOfQ`MT9P_Pex+<{Gpk^jAc47C)K)w~joA9KV*2(U@80Q)H*Sp1Iz +3O8wn+|AiIe3%mK|G=g(d2s~!U!rg|02inT1)l;WJ~z4QRyxwPFbswT067$FhX9ktFkCR0>aYv?E7*- +KIq8vtJ@7%=6RH|B7rjSI7>Wb$>_Y%A`6DFw2WWIRM63HK_>&l$--oepATUJ&b3=2877W}ZJ^dbhN&C +9+89WWo!#J+JdOdwU5THJvx(^8oV>cJ-=ZFdAYF-t5`Cdlxv@-NWKcwEW((Uu33aI84L0Tx-Pa8^e`k +hb*ANgtsOSkEwLnm1w0IU1nK8w}s#7gHvrEAFR@B|znsNH^x0kJLwz^ZZ+d~eOxQ`EfMkYEP?6}hOqt +V8NQPMdpb2&poEm<}biw2#UvgfSYWf<=W~+$4uc;$R +aM9>ERv^`(L27s)SSx4^*wqC`OG?!2suve}%1nGb5>E&8Qb2m_C!wPa*&vBmZkeV9}ZdmBTh&iZ%S@I +K77X6thAb+MJBcf?_mi;S1Sil}bQGt6Qs!kCODU;sZKX%`-zc*NY2g^5#IHVhPL?!{(ZmKn8QN4`adi +p!us{peaS6O-5xL7B~Kfij(#sq^8gu?xrFJ7;GLbpd7<9c~;tY8eo*{SPBxgc(0^N~)(+wU?Fgi!*J(Rc@Clw^EGxH06|r(bR4VVa|Xt#9z&N$+N)Uqm1<|rPq^x$7$ +p}I+>iNPpku&HQ%6C=OIsIAvH=oe$0`L!$~lniT3^mOc)So;eMd%1W_;vM=|APEc5a{F(a6wH}R#EGd1s3G>1d;}c +fr)ie32{SJ|sp<$@8Cvpj)%NQOM(D)2V}EJ=>ww8mcGL=_$aHjdQT(@F8BNHNi{f79&G?$(NUdaY8 +<|;`1H){R(~laSlFzH3zAZUpLxnXaxu3z$WJeJ9wjdTx>Ht1ZzWIvPok3s_Q@p;wSs@P42xK3dBK4>w +{4>WG^U4{%4>K{#JO9-B?|eqN_lczHTMN6am1&CP+Kn0*@Lw?r7W0$?1T`sCJ?zKGN{5SiT0!SzpIb_ +2U<@=p|V}bu^+(#aJX^pwQoq?Dp(T=qi@fAPG?Wgt@WIV&h&^-#!O#w +7^E<}5v(Z&dKW3<({AP3~Q4+dckPQPI31f21o9*4k7o8f4_jWGq-{07 +xV)j6sMXKh=XY5Bch9YAKOxQBU@(IL!YD6+EV~Pb16lS7@t7rOXsmz8=>M+}lMxCrD48+ +~n4M-!1dH&fnb8Q)X9IoBSLU*DEypwk5XAEo^7M?9Q2ZS9z=J@soxRT^K%+IN@*jIuAvaXrPnV6r(h| +4jGQ#5GkGTV8hZtYnkS)e<-3rr3A$Oo3ru}}@7$G_fqtj?~7?dux+QwJZgA#guy`!IxDhp6vatBOqaw +RkqvTEUUH<|9B;!@MqARFZ8Gcl(HbGCB_;D1|jq^U8%)bZ(ZbzHoC)A{vlJCZ`85W1G}3ird*i!E)&h +ES0@iM%*H)zU#l;~GMzME0kVtoZ0I{GwodV8IjWdIn7Bt-_E)GV#e=GFX~0@nW+{S +5KHEb=v#E#@eg_l5Tho9qN=O@hq57%hddOV}K>joh2>=oqMAX{a=s|{A%tUuPuR~oiw+`~BAH@9&CC$ +;+m@c>N!IXg6OfA>D#bMNZxPO!SBQ`W<@YnCC%qHL5A&bueXQmqU5^k8K$Wmr +76Q(h^ZW9DV9Yhpd~jtqtNy_`Wt38kK6`jZ=E8)UECfyXAvW|mE?JlK+P+x3{0vuN~YLW=vDKc0_u*L +LB)7(<3urRbCVsH;EZi;uF~KE#AU@L3@yuO4%%`@q+v!mEik|NHmkZ*Rf{9gP>N_>AQP)O8OGeh?^E`bf;F%;5)OWl{*yaU){VP-n27Dc|ds5V{9BUte4ROlnI0K5?xhY9yX +lWY5^v*L-LGLAw>yiH)F18_Ev&P;BD$0!P%mpQVuG|LZ06!H}AMqTH-*Y&ABZc)6)ppDBg}>Ruy`KVQ +Jf48+J%SUL&rJ?4g1&AC-9)O6JKhAbv3&}Tn#*x$-Zur6tls|v-(}V8=5e%8vKDJMv$q!HiQ~;3O9S2 +Z6KjUP730Q+>p~S7Y&kAkY@I+3A>!8^QNAF?90LigjB}H}fm&VzQ5i7?=^=($kZ5uj2Zk6GKB~uG}q`;9{QD6JS=7s%4rHKgdT$0k-br{@9p1 +RB5&1ic@31{4vkUmHCouKuM3e25`{`EVY)uKtVbXUjY*>kh7d?#SKb%*wNKs1of~n!9DaUMEKNeaWO@ +R6K^HM%-vx&EHX64i$4b8KDRL;H}?19dYYqlpkbZZIKc2TUdGAAe!}tLmJB&EBn-$AC0&l6}*(r)w#W|;r!ERRe9_aP0yNCNs*J^PC{CP=F0Rwicl-8g>tMIr1y|u>uu3uY)T)PRLr-a< +Ax`py)OwpWrB^rs!Yh`FE11Fg)1m_4zS}s1bM}!A-`c#sw014#Ev9?odRcL0CrIa%y9-SxEVAF7bsBX9MH=Tm=`P4P@@YNLN3; +g8*|TU%An~ITvEfoYU`{>#~86C4{Db#}>)mABl^^&V?5JT(Im%xR}7 +jQuobP_f1_jGv^s|}OYUX7eKP*tpYqbF71mPK`9z5T7VWJ!NY2zk{~B%7K?Eg^wLMf@e)`^8wgrvYYV +z;JkynF)IXM)L2P(hu|XYn{|wJ&4n`&KqM;!T2%Ns@)ee8Z`;*VK@FGF^ze2-jQ84-0&j1a#Q{Mu8ON +T9Z}FHtaJ^vngvlcO=hXUx_uPzKPh1EBMhpu<9w(YUdbI;1lj6A%8i#}^^T)s*X#Q0#YGH6L?B`uE}^ +_%FP1S`{O<>Y0DU2$&f&3GXR%xzqq*XaWd+SE4vF)HO9c%avGPmy +-2X4@h266dc1apnf|cRrPO>pzUh!M&N0$k7Qtf_rn;Cm#sH9nxysSfWhM>?=PWa8#vh!^waGVI2O})c4n=UT=S}jmd|EJ;YUU9o2#2}2Wi()NCF;;z0l`{`g7qikQ9c3|?ujrJGTEsH6Y +qK2G0Gg|+u3J90-`C3fy;4P|A8f?y7BswQs8V#UZVZ!3x>DVI4mqsWb;ZHm0&Pnfk+EORQcwBLgK<4R +VWq9QB61CJS|KY3B%i}c(zKI;0X*UtS4|*G2!-H9&Xyn=~6)&7!t}vQZo+gjFlj_!>3q?vT=RgsB-JE +pYr+~Z*E`f$fkAh$fy#_-_km020*&rO9uX0abbzdm*`ayrWL=*+iu|58~#BpL~9z1JSC63YfIJQ6nsk +gv=VE_D)b}3`A2NDhUD24I2GhTAy%VM!xZvwI!x0j$_`M~K)RcIsP`>C=zRwxZ*l9_q9+EAOo@MQlp9LxZfR*-68eL|9Id(=uc+0iAade +-*v(Tx#S!6>l)*f9=x)N@FGrZRk-M&Pv?%9?pySiKRRcQG*fOLDv8C*T3 +8tY6*@vOchyY{5anRwh` +5@h}&onFe!qI$g*TY~;mM=3W^w?6IO5S)et?F}&q+dBIYT*T0Gf-v7DgvV{`k2J%z1WERX6YRM+}k`^ +ed9NXuoY%C1y<`}7!rbJ8AK?};?xV(4?ukffv06vPT`LNTJy{pcVK-!r>i>h<9Cp2o +ox^8}BL?0gju?f%V58h$>yw&SZ{>`nGs^d-HZe<|+8+HnHMNQ56}VRKl}qEG)}zL+Z1n*PTv=Ay4-x! +N$g?*x%$`Ef3CZCbaEbQ*400v?5N^^kL7f)UwP6S19;!keHLlEYlRo@(#I{V4)9S^A+scJ;K7eqODOE +}9j1$|;avGpIftD(C42aQfMr8oVvKPtna3+Yzbg~%t57Bl?*ux-=9V58G)COwitjy%9#@*-*A@nG`bR +8&vpz9f>5+JBxqoDlz$h}#(n;~~OKH}f^kei_rp-qN>(M#6!Y7|SitBx43-CG&SWdm|F1D7j+mdaF** +G(LZru4*wOR$s}mIAUVN$3eWp{GE#qCWgbMCg2I0s0V*Sy%Io4yrs-myvA5UI3QcC?TjGZNUYZkL8oa +ow)gg3xRZxkvH8ee2rVB!h5)QG9B~Jq^lLmYokSo@2Jp^xkP1CoKyw)vtmlcV5L>$7kJ5U=VH&t$>bY +wL&@`Z^t4=HpsUAJMSDk8#>0)Xni5je1{xLvW`)&9-oRZ)Y +?e`D-+;|ekRI=+)6D^Kctn^=evz&zLR-_vC`-Lq$>1r_m!|3Z(w#b(I|WAfbCnZv6snL^@y=+Kkkh%t +Pz|x$z_)ow`=CxfIbBo#tRC{duHGsf8A(eOJZ65h>b!bSI_@LYvK~@6G)5{E;Wm_DA*Uv3J3>VhlZ)# +mpCJLEv1|P7-=VPt(1%>V(jBDigJq?2E(1xDQF5Ct_QO(sL~@cNH0bN3?%$1t}wRo>27k8!t7fHx|i#91E0nns +BTwGfy|nfZm%EPLVnu~a>&(PCiDntZn6&Gi3ktnO4-#XvvP)1ecHW}%&o*(J1TD^vg9zOHt;B#6LK1&PnSzZ9o`iJwX=qr06eND@!FH0_c&9>3 +k6;^mX^{B-OFWJTHnNQ#5JqzF+ao+xa#3IpTKQ&T=Nji5dbV=fVmW5{D}L4rHawD*WC-IE@tc}JgADUmBFW@05s8@# +?lz#&8|Q+@sL~imiivO9dZX~p`j~2*gHb0J`~!`5(yhdps~^F7pQMRKF8CN7zX|cP5zs=!H;q{_Xn$` +LRq5l5z^CvQD))$F6@RNpa(Gu2&;cryCz3QSI2izjqIgC{aAo~PS%&Mbf}?q3LOp^UIDq+;t7+`)jMa +%`%nUuxxaK!;FGt}H(&gYT-fZtsj9Fc&6&fyhny#MqGh7Sq*9QvMYyDETh>r(MUcVJOoh(_YYXe-c6) +W79HVOniSS|>uEEaz* +(WQ8pBIcmf{1bYAouV!_z~{H6X%;N%INc7qGsuPBz=4Fjav}2zW%>MC+?7Ffwd!|Bc42X-^1K+gZ5qK)o%S?l_wN%Ms;QQ1d +aFRog(*%t#t1On?H&XCDJ1ZJV;-1!Zaq5KT!f>%teH1Zh1QPZOJeLU;e9^=4^3E6tGB7l=38QZrH(a& +(ORmB9&#l4X;5tj%rjaG2kE45SG^VX=7biiU4PRbPqc#%;|BWUm2@$^6#iMqE0!RG{IRQ-cQ)W<|s>T +N@=g8FZFNI~X@DW}*-mCBv*9mC&Me7YHx;RHgekDGGCb{AvSO11R3~gI={{|@=KWoyUcCmv_bG!O;O^Z7%!q=DWLvxngnsc-h#`*~=>Bop8 +Y@5EuMy>4xt;t{iYa>>+~_*Is>lXi +ohvUd%3pnpd*w>MyE4TC+TO(LQbiHFL7J^|MTxwI1?YM9$?_(vI5NUJ0LOgsyAj^(`1_VCL-V(U*1c$ +xv!KS}17=1z<~Lv~ma^m*)eQ48_Av&Yg@E$HhDT8Y#$7-lW)#qxhZdVbS}+F@j<-X3EHud8POj-vfqV +S<>L#nY$%cEJi}d|P3IolMj0bTSJGvUsu<~5>z5?~WeD%ILBu@uCYGzh@eIEHs^dq&Oun*c*_4rz9k9 +;YAD@R~RezP16RY>iCbXENveKNeh0CS6fuoAtV7d?cIUu*Fc#a%`0Eh|;ND3|QheUOf_jI81rl_T!)( +76lGn$2{1GGso>z?ZauiX62>jO8a~4R5U!M~b$;YY#iu*G0u53W$D(-^!{-p4JIK-oqH@lNW(fK0(|8 +`fs*Reb+~poq|#?1qHp0Z5}DKEM~T!rjYB=;^Z?BQZTvIcSqAduN&QESLgp3fm17bR(}=B?eB&`Ur?8 +!XXL4}Y3NcSVU#zC3R$L7s^*KQbO}-h0CV%W;v$Z9mpper%?OYF)VOo10YL!lPK;$CRxMiE1A +=UVoD2NYUys0k8Jr1YM)o7GD)>PN|v-pN%xVpm~^qd|E~ZU1*~(`3s$m2TFb;mAj92cmZ~kDv4L@9=t +ESLuT8mez>Mn0Mq2<8S&AN~&TaH44z8hhD(TQEsKX}9JqyY-nU00}k5r*LNB5wfnXs4{-QIf^LVNb&< +M;S@VZ!1u&L4920D=B2bDKd7e0%4h)g-VWnH_BneRp0GqRR>7b;j8)u?4`sEwb)Eb!LAQjO&?Z( ++Q&!4Rk#PJqpg-}KRDqVT`yBQL)e^o$J^$sySf}0iP$nM6hVI6Pl6e@Lx*H$*`n6lDIB5U&u-Mpb0L> +Ctrd{1adcZ^$00))1deG=til&@Bj0Yx%Sw0h5#9PE+voKY@`8KKgJ!#o(5HBo}Z{8qPcgB`&co^jc#L +Sbk36K*k4mrCIK1?)NR(-m0vRr){2rB#5NfqN*)pc6=E5QvRDJ|KRc{+|6>edY&b#-@*G8u>|H+G?=! +m|N}yhlBSXxfF<8YjDwbxM<6ozk)m_Ap_AOruP2@Pc07^V)^M@Musi4Nn-e8Oc$1+T`g8JY@zvs`FV? +&Fg{}_0{vLr9~FZcba;|2M2|zYH524liZ&I=*D1MU352&e_TnJ=vGTRQ;=$>n2jmw?jk)s2fD2Xt(0t +vpmz(fI}DS($a){)$=He$Nq=A%{;|q+Yk=lrJsy{j#)b?xmNgdjd(eht< +n{NFbqArOK8VNTb=1LmCp|(3<)GRAv-hcgO&v;`P9)?1!gUwAj?{v8Ajp+PPza2JtrW0wo))@83(eO; +YqiiqEmW>=m$C#7VXB7MN#a=(Gas>#=C9;X+ybVk2Zw5=!%Ora=4ZVgKmbH$E}`3Q{@HZ(yZgq?o!Mym +%cbmfoba^y$<71hYlH0uXy=bq%Ku1NCpya_3OF1e7OKcKuk6?u7H +;$mLLvs&ro1DyNAb?bFs2ai{CJ@+O3#x<{T^g~amC*^*}8SZD)d3L0DIJC?x#?1|ahXj`4!3_x4IJ!1 +h9i)3-U7L+^)D(3@8#sCr`b6?@*Tm3L8^kW6v9Bdhc3l-wjqcF=gZczZ3l~_qoRaSYJo9Dtsvqp3m2t +7!;w0S#@&?R-LNbTqK_NJrp8~^xv;^|kfSPqFUIu_VPaFqi+8N-?mG6KyrSF|5{=we)OaP3Ml6R7_9$ +^mv06J0(b=6c+Ka_(n^gEfu`0)MU>4EiBMjSkdPzV1Bln+$U19PY($EHXR;Wt2t>YRqp*Vm;s&-DdJ0 +~+d3iNy;|k>&+--SHdy34P_UDxZ7&sC@K7|InmjQnk?3&K+2s>+y02?n|?u@P#T^^r@RFH(KQ?tK(cl +259}J4;{k|nM=g*9LLE9LdkvsIt^c7#Gii#c$M0cyHUG$i+${<0T~AaGG#4FRK3D4ZGG`_s;Z-*vq +?JhOa3}&4124i5W!g@8w(i5gwR +{bAX&ymRa4pvYkbn7UAYv|9G)KB%0Q<D2VrU+^sIyeomQP^*PoF87id5D1xFkE5V!FMc~cz4zlH#(uvd> +7mj!g6;#mVduyqg2RrqYQX)Gm5*7`3kiJ+lpDetrNTfcC4p9ROK469G&zT+_3rLtY)m7p!;KdTFQ9JmaA=0SX#`05n#Gp@htQJKT{-Te +v(MCd21DKvWKGw@dlFU!SVEo*PKKTjx*DPG+^oXQ$rjt5-ISxNl5`><_@&W5ow26+QCXYtdUP_S&`5V ++w;#q|1v58c($;zp!n@0m~mIGq1EQRSr`gEI1O2kp>Zt4tq_Ki!l=2gz;eOR@P&fpJ9PNlVpj8*<4%T +pQRDQOpiOISq4#7s9kGUiUBRybv@M7cg)L#eB=qz*5W($l=k}W%?OP`nN1X1^UCxM-e3LPLZ7Qj!pyAkMe3RHx2d) +S4=3`PumPSf(VX|`PtTM(@>ZZKlx^DwFqqX1Fs!)Zt`CB5}2`hjgdqTHg9F&69rH2;A@sbenvmY=|9s +3ixJO`V}z3&r8dTQi%M=S;JORu(GR;&+p`S}|A{TG`!dQ%r3Pv)J)YLtD~yGCf9l-|Alga+qA!2UFNa +Jg6JrO%Dex+r&>3cizSDljN;_s-+f^({E5Mm0aJ4Hgz`nKmAGlaI0SudK{(ngweGyB~0;-Q58otRnbd +c!Th@sNLuEXDKupBUa08P&CW+;p$7`!zZu<)>$7>FXVA&~D?lSnGf%SP(OSD5u1cgfJf0!JOvNMCEnNn=ZTJ;%%GG%WWyIk-owU9B{2vl#>mbBp<|EI!1&XIZ +9qh(2W$_+kl4I!(|7XGVuJ~&#`1zj~Ff~?}yKZFPc?y9%VQWkj-i@{r1y6lo(!Ua@2Mk(G^X@EgCm)pOH+aFedWZk=(wnHLY;g|;449gtxEnmuwcxt+75hHX +$$EmJvv5f_D-V7KTdgU0@Ew&UrJQ;Eanu=-CQY$ERA*lrr-C8eST`!f05!~3nQTSFqLv_sFm+ +=k(-GM+i0F5y3>U=nW1*$fUmn3mvaIt4;henGOvXVLz$$rI#UyQJb(y7!ss~V1DgV2y6#JPAuG0KeQ< +K0*ln#Vk{~8?B}BfAT +R1QzZs3*;qw^ql&CaY5`LSvXB?Tz!;`lPmq@+Bk8OU&K(gtn+*1azfSF!OBfWF8C#Gds%RF +8n__t5Wom2{wg^HmzwwF;>5F*-IGt>);$GN@PsMosAAmGXsef(FSXT6Ru>D=PKD5va%6(W>|M+A3tC$ +@rDH;`mVhIo5d>B~N|@HxZ7imJuF_GPs`dmrno|}3unj9d4dXoO2gwm_#GzFJm3@vnFDSFY8W9SchqY +WDvIldKbzdYGkrcDIv75nd-;)p*70cb|og<77oF`tKcw-ifpze=h{X`sCAxJ57Oa@C&eh959bli4h;N +aN6OJf7!(LiXuJLY0>QMvhnI1e=DGw78&m?l1u07VZdoD4^8YBehWg7*O4@)BLhIyvffh1I~5AtEGT) +dr}6^#4({Kyk(Uy^?eS8|gvZT*Wg{QU2cY1?b@9mmkEcK}20yzHqDj;6W`k2|^Rx#Q10E#{HO!{96UJ +n;v}W0)S6mPXUah0P22f*LIA?AAXs|qGFCuFr~DvZ_jd&jWjA>m0OSX8H~0u{;1Op%Ph830(g`ptAJ|e!RTQJQ{ +7qXfZ}<8uOC#ASP-q=wm$B>d?-j&G*VBjv;=IPg+0%)DsiTA}{$GJ+BurH8=^<^$wT>H`Ak3u{vs!(l +zyMD0hB~UJpHA;hK;(0atDU&20xvzy;(jjNWvYJ_~!J+AREX56;3?GN(7WW>$)8D`MMSUQ(lK;-=?x3 +0Ruf5GacpJ;bT-e#X~YR{5<)QV|3Cn8clMpLufU7i+d&cb-I4?3;}sF9+g>88^=Rp12}Ehjn2H +wy&>02x?c@?($;y&T}EUvdxs;U`4Dpu4n2m82z#hoZ7F&aIgW0=Rt#Ijs$sQ0=2V$XsmcT&GnmXa=Oq +xZw^m&xmr|FeuruTyZf>Ki5GNbn^7!h@sz2via_F`iaYVQlyuAmnqA-(v=Sjbf$l-y3SBIno`G%~$Jn5^pmxO}EWx5^u9JTK(WzmX;<95Om!t3!`mORpOViY3Q9KIXjJ(uEIX}fg}F(&udUMD96Tjh0)uOm%+ON0;vt65x^)9Cj`xB +sfibhlm#Uk6Hri9tB6^7$U~wuLV%#K{;gkJdo%nfBA0-pPVtA*Xx>OuCaS!{^$(Z)JnrAzXSHZ1cTh| +dqm$X4`JKJX;MBY4d6le6BpekHeW|;$%;FcMnd*536+C>oTJ{*Jp58fQim2Vp}GMYu> +WIR(Ti~DnBKvq#&``@YF?Sk%Ks0sMZSkE>EBzt1QBXg1B|x+DaJ#(H>1t}D-=hQxmm!RM$gBvEB^Bp-zsj9pf1d0yo1;aFe@6xynnnYrBLzJ+?DrsM3nwPkgSIOm9c0(SG#w9qO +u?8b;BMw9NG%L|VT2QEE5tG&E-0XWACV1%585Dx~~e7Vvd4Lka4IX1o+ZSq@shv^tTbrCenljEMYIWv +f|XoSWRJ>O`LoL{}!4HL^l3TA0uuSLsQDDZ_OdN+lqPm`bI^4#K^A)JNtJEhL)kfbqEX)yNv46L^#CI +!%^;r1iw7pU@o?1NE@}r$-4||C-tuJl?LI5uh$xsiOpw9cP3*a{DOQe`;XLo%CocOkj@qR+H2?dSpO9 +U!V%Pl0e)*!LjEDN*&SdKX5)^zu|)O0USLa(7JAs`VWo=96z0^&y@Cmc0AxenG25xJf6x-PnwYy2>-z +GfE)h^oN;LMc)&8U768%FzlN-YFKL0|rpE&);Nu!#Tg4)k8GAV3GCj|1G7a}C^iH`f$E#u{C7S9s$8BQ?h94>3aw-+w{!o +QWFcQ*y^w{)dYz4$>n+(V-UUKktw7sl&?qKiFpzXz{uyNF-7soO1)>Y8Yd +!2kXv7Jh`TlvgmKegAuPn7D+du^JEBd=h^?hz>mWB?$;a}MoB_y!0Na=*iK+`>F^=^-FSxX{thTgepq +?R4}D*?6k`kyYCIASiP`!cUL{D1dxiOB3CyW93DmDua|GugEWs-yp3pJBD{m^U(wG@ukVrk4m-JUI?W +kv)?aQTg7uKKUF+8!cUYVV)qRBc;q`vq&v-Ire_`%%fT?{c7slHA)gyCdOR!1`?oO6tfP3x3Gnr7D0N +pg+sY~v?dmcgo<_#vq*QTbjR`(Or;~!m2LXTnM^dFQAu% +}Tr^s(p{}MLsXt4*}3(yt*Se`7MNjRy9bc^qTcLk#;%FML%2kGa()Cv ++4{gA>bVKz(s3Ofg$TV>+=*|Kq8@U$TWes-lnN5yN!P3N<6;o5;uw2`Zr*@-KElgDdjxJ6-&QPbsU51 +5IxRyUcU|}|IZ8a@j3^eZjIaPoLsvPZ`^Fxabc%m4OX+u(*DN_-E{>t5|%NC%^gLwOZdSR`T$2i~%s6 +&7{cq}5#T*c=$HL98X%WbA?Iek~P+PXZ=qRe*G_JjJ33C}=3soISQ-&E5>Ff`f>@JpdWcp1{qDuL~kJ +ULx!yAvB}R4ls;PLj9qoeI)TKCOZm{BNXwvMZt*frKfC;fZW7h47cE=)Fe-987Mc!wf)Blib{_v^aq$R_ekOu7-3<4@-nX;^hOY?`_Ok1rZrsb>U$ +9_X;&XeCoU*cV{xEY)ZX$WFi)f06A@Dw5J}4?mMCq&6Iu1*f6o-u2@+_Gcg+A>e24?+TsA+hUdqC&ti +nd<`QCk$a|Xo72pE*p@d8D$EK|s)=BX`^NiPpTCc@)2qRVE~xx|P!aQ`DNSxdQOb&^Zw)QgSrO#V-S> +^1e02{|Q>oPrLRUL)q6F6BGc+Vn|0DxVK?a%(W17z~52hgl&Lz +(+DwD{Kqh;Ts;rXGnOMg0no(6b!X~WU6XTx$~I!BlM+vzV1OdyHls;Zr^t2~5fx|Av^3nzje+c3^cE5 +MRXGqnxaSn8q|{80`(uZgg)0_^4-@+ZWkpSAl_VB(s(i}v?d6ouaB +bGCl(i^vWYhWJm$>+rH%ner$eJFln;;qHUThqmuLF_dMgK~SMn>9u7WrNon;-{uauaQqX^E@EV)Zo5E +I4EF!6rSd&INOZ4M>QHRsS4}nkBtm>j_Glw+6Qsepa-M0@VLG{fl4iM99nR=7w#rXCnA6hQ@?)_|!Pca}$nIDFXXoBJkNhKE8XOtJOC#^3FsF6?Ltd)yO!8 +8GIK@j~h&uT+aU09ggtxdE+#m+1{Tj)-6pbHF}Q(~?)`3@)`gy>h>t4r(W#Ej|F;2j-a7kftmZFQ +YeC?kEKXlsmwv)mFD0CBHwLFUlc#SotbJC$_Ag+w +&;2z!v(V->X^_hP019$~?2tUoe&! +@f(z5fB<&GZ|`e(z(Lg9dwp@L4Z@cezk3gTyx{I|nNQ3WHQXig4&@jO<;7XOL<7o#9OGz#E|owo`-eE +koevuvtv+6-m6aFTgvX6{)7Hbw7m*<}4~y}wR<7xq3v5vPmsYlX@6;!fjyVZ0bK>luMYy>}yU+^(fwqoqEFsd$%P@69x +I1J_bXKkndK%IU|wT+4j=A#g3l^kW;>GLwF+;aVo+$8*RQ&|Vx0w}dE%#b__nU0Hf}eQ$rd-s}zBqgN +YoOZtcrad@~#@q8bi>08X(fB|mR9LTxgCtz}jM+;+=n-G)6)iNcq)@Wzw5dL}%z2rtZ)K9wu#{#I+(j +!K6Z9rJuo9X=sf*cix>1iyKYdL2|p(|wVe +kKRcVq&EDTpy*%J`4m^?vZiOo?U4zpt7dJmnJ^A{o$2va%h>prf;aMRA~ds4&ifqXYXk<9&!Xie+=~p +s>O(RE>v= +14F{}+8M;Ps*2RAr$T$zX+MOKd}b8jXa!wO$S)CxhCku-d0&icz6Pt36~+GLSPCMEsd4F2d2qwLFQ=G +at!IKZAySEH+KEZya} +lBprXjIv4dmKCFb@i9zZnvjBzk9NAc4@VMr_^7&XAjKXK+ebk#htI8+IxW=Gwo`r@ngdobSBI^ssTU7nMSmjX!!Q^FQI&#dy8a4boZbV_yk**W_4Q63!R8E5nSt|XI?|;`B%8UG2NI +OUTb@E?1E+5yA}0Hk-64MhQlN5?i_pn +W(s`tWJok);X6%pF*ocv6|9rvYhs(~~e&p3tE5Xntz&#Lh|E&B5^IaYJ3=31;Xoqb=5pd<=T(JGo0R+ +EtyRjn*+7F-4>zc}Tmsi^lIr(>WxX6%*1fp>t_y-!NW*M&s3xHU;fWLkRu~nG)p5TiiYmc?}ooA|=w( +4K7wo1KvC`p5wK0ya-9lG($ZA}YGc#lfQuS_{mlT&R>iL#IizGqW +|R!bip;7Z2L_2L4CPcub=s&J;5CgVN*h(J7q0}47}FB+$`3VWS=@$Zmeyg6`%lC#$U?_wowuaVCU6xP +&Bp<@*NX&t?M2q)@dDlm%=Q9XmQ;$Evzq)gW)r9h!JE8R>U!XJA%gx_inZw{(EKT`K$9{CXJVe-@O(X +nt$lY|IHTFxfBm#wMcuhKrv!lg1TMVS&P(QwPro5|dZv41KaqJmAhQ+}FGOs96-E>p(8KoBP-@UwIb- +bA)Lwfp#k57Um_QKasBmQt2hj}}J`4XCQ=5CYT$Pwjj`xl#<#f|c3Yh}K%9(q2rqi)MV0{%(X;O=i1Y +ZxDaE-k|T1Y}LTUBohyzG-CJ(D%Cd0^?Pu-qj5DdRWoHeDnJ{t4@yBz7i|MJ>g>JmEb5@BFM#%b2;b> +k&~Ww#)m=^Krd+9B{C9Mv3f;iSTk+_RlQ{%``CFXK2Kd_qfBWI@515v8>62@1z?o9L5Zh7^cy)k}ssWCVx8#wmQJ7T#)BC8lZG;|#&;Ld{1na~LW^R;Mv& +AR51LkWky0*JrG0N@q=7fu`?QS#PgqL=A;HBN|{GYi4o!o&)@loYEj~AW2{091)SxXn|J`O?w*?CmE2 +v@7msEc7tv5DakOc}j|yzb&#$hqLpnG|hGkEU9+;}6M}x6linmU-zf5!QtG%H$oJpL+u4Wj=EDW4hX1BTb_hKAjTiKJZ2jms08_2FQn(HPnQ*8Tgq2qmLZ@m{ +uMgwibJRZo(W$-nwuD%x0naJMi{S;m;~XLH_MOAayo=GU6;IW~oSdxz(&)Ul&#BMN>qeQ20sLF?y2j` +qQ7Mzfs^-^X43Z0{!IXwM^l`>X{>+gO~aa(AO5vHFHKT3K|Pv6V(Q`9XiAu!;Z>#ak>xad|RrAd{nRB0Z=1~SvUfF5?gT-;_e2}QCqx4h8uuao(_@=Nf +QQ$7=4>E(>`NxW+3k=GFu9>VsY6`lIUC`mUzFS)T@J2c0&T!WL*ighq{<%qA$2BIo#4ZV!J%Z^yXH_Z +|H71?aoeyD`bkZv}3f{Gga2|DpRi(thY_UvJ2Zx4+y=)XT#ZS}}?w@E8*0|i+;$AYN~v4Nr*dB-|&Lm +3N`wYB*i;@|$2%*Z=7lt02SVId<{xdC_al^x}eCBt~~Nx7%|=gBaRQ>Cu_Uz1_H?O9n-9!iFB7fe}H{ +%A6cYvsz7<-bUVcVT#X`97l_4q-T_{3Q&hLl{?n)h!zWta_qG+Oa`N#|Ey%K;3O?Q+H|NiJ>y;R0#zC +_me=;QoIoePd**Kx!VaA(89v4Y)hEGGN|%J3ug)$_71R)9*@Z9z!-9q)lTh~Ou!UU-UZO~O0=1Tv-D_ +V(p%F)DgZN#w1U(~!;3WO&c;G*obAEip9=A52Acg#I>;V7O}Vi~Dn}6k<-e(6@F;dKX@Cq(IKI~4_%e +9NznrGy3r|H|?*&P)Y+CYI$uh8F4inf0BO~?YP+ZF?{u+9v?eCg~3wcY^aE9<7fXUppL}hU451Prf^fCOL3oZ2E7j48mcrjEtn~o<$fg_FFJr`KqH_ +H$9rLp8Gi#U+_-KDG^j)P7TW?n$gie#WT6T-EzIDT1yAwi+~KerfM=0Q7HN&l-jxQ;(;BCykG53FCL` +qJ?oO_rN)#C?}@>gFYKJo1GxWab=^h +HKsAi4W;r$Br}nTs^yK#OFl>9p{q>s`m7t{#{CN>I*9-%^71%)svFD%RcD%NV|lvzRa#m?h;*cmk9kn +xx7UC_0r;~_jugt_ISOLYe1Vd+xP`;lJ+4znwWsl|m7780y@Ew_7P2z1VIw&x!bigk6ZMc?%I=zjlZe-wSA%{yI +S3d|K{+-PLdJcMJ*Xhi?YViY<6Xu*z-O{?yTF-rQ8JH +pwoV*lj9~;_b8HSK!gaFRkL|RPlx6=t0~g7jsnd+`;6w$~SvZ$Ljrv?!FBuQ=x7k6c8-~X#2DaV4R9c +T0J1UasxKJis3r=yBz+e!JkbePT{$-)dO^>^(oV1F1(|QQS#t}`tMrdgPLn5sTL+z+be*WnRS%@oTZN +*nQ}yS+W9%a&_(z=%H?P(@~g@jKqFicb7@|{tKh>-S2o~-7Oj!wa{NtC$a<8YOS%svTNpi%Y+? +2u?P^BogP2P@sFMyK)WmbyVy=E%g$Ty@iE?%~aQV>jS=IS19oy3Nd%M7D9N%1x2Vl(2)dP6rlvv$o{v +BHQyeXrxe{Uh5p{27*)?OQ*t_5u5Pau57H&qE$yGuyr0lI%7O($~?pn{7(r$(m3r_A);rpX4myaIpi7 +ZlX~n0D+(AR*T=7zTYX5>RJ_!O{)bHo;p}30V+Ve8xn5?gQHiao3dRDIw*8u?2D(9`tOu_v9W84FhPzzc?+gYUZ6Q?M){-EPv +ly1T@QtYm=^|JDwID5%0Gfb^ksVMT%%3kWY_6gF~O2iZBtAcE*mi6te7LhSCk`j@pD0`gxAb+y!(uXj +9SRdP=(XX2-DkKBL*cOrj>(u@g3!YOo%fo|ChZl0jR3#+TKipie5}Dr}C;e6b=|_A}SXF1p-A;(9{S8 +1VTW#*P&EUAjK=D%~n>XmW{8OLz4<>&N*a*+2D}YAu1_N(a8O;XPt8{2L!Xe-tYbX|NjoGyZ6~=4{NQ +x_TFpHuJkLk!fPsco%ci%9+sjxXH11F)LDM67&?^>Lb+CV@(3{sc@FIe0;a*p$r}jb)HVWF4y +Tk`IT;_!tod--5Pq;PllNaZljklQ{gZSorRu}S1}z_b`w_CJIBQlE0VhNSVQCO)&p_uFuJ?8_A6kAsb +C2P)Li(k>VC?|FEy^23a0bixU)5ll(TjO=&YXLHo3M=q)x2&?Ll8H)l2_A1sXS@qYFZE{`F3|C_ +Pvjmx~Tx`OjQg%RvkNSr<4kzc9ywwQ+cK{rUeIGr5{@x@;B-=l!3grwJM~@R#_HLgbf0bwzhF;&g3WR +v;*hu)Lb(A2XiWZ>X-7Ti7mi9&1JlOhtKZl;*dd1?JMflmb`*&0R?rb3^8@!lQp +}j19=u*#jEr+?TWMET+L|k0zopmmU03i}!8oe>Nr9c?p{M^=CWVb!6!{h(%0lV;&pBi5=0E48%2`~h#TlW|Q%!NvO2>4xdd0foHV&nOG_G6a +I|S7u4xl`HVEm$`X|ofq-ffZ`;B522R>SSi<=>H`X>%i=(poE2)ziGjpc+cq^9bK1qNE21F;PDQp!WG +=ckcPfb=KwK9ZL2_p8oJiy +IHZ4b=*ZaGlg)rHcN9#Apx+YxhQum=kiRpiAzW(9sG{Nz#f%6Ty{`uKjN}0;OcabfJ)Q+7qCC}GOrwI +r>`7o9v7Scy(#}YQ^3`G<85wbv-=2fX*XX@)}pk`Isdc^b=tFUKfgwLKfd&F3}?KDkNIV;*`B1&x$Ke +Ng{vQBnSZwAxq8_g*<$QOodE^%pb}8k<1D*E6BV+<^ +?h<$*d%^ip;8FR}2vdmkO6kof{HFuO-+(um>*Gmx|xJV<|8++EwZ`7s9ayM~EG|-(qX;s^Z!HRazc+S +LZ>KKhCeIqIA1IiF7Z0L7e{T38q)ilgnzJ_#jVwpWr-!=cN|1ClV|sSTxk7(~*V4T=IWr?ww=qtv5ss ++%!McdG#~-~yEJqWxAIz7pG(~fxEj?7kMwj#3 +ynJvilBGZdZPcl8p^dQrNOjj~pYvzs0qk;4rLNJ;jdKj0p +!mscmhjahquvFX>NnR?aO#m5a4DsP9VoLO}0DPWh$S4?bLVu$|+B8H-nY8w|VCdwkd5;rt5ew>`g)w%qm;vk7sd`fo|2VHg8{&3i;G@I7*^R8a=LnOvfLt_v1jEyS_J +)``(UR?*6KWHFz^-1kkY;#g3lwlvjvJwR_>0)^0qq-MTp +HtC4A*#ZeU_)10E^QJnK}F|^XjMja$lNzJ0%ZzXUE2vw}N^GQ1s`Q!rU! +0b+;*OUf`X5{qDY^``Kh4#QmxwO^ly4aR};kJj&u5P?1)XfI`M1!XSh|$+JKta5w;6N)%QL}(EJv;Ho +`?y7_`w(?%$4+`x9TOUQPI_I&3_~gO_rtTWvnJdHIjwtv0-O1;arqGR>9S9mwQ7#yZQ_>ReKCk#qTB1 +6I!EpV+tO|4vGS{Z~wX0GXy5GF=Io@{aaje10`;_H3YC>WEWRMp#|$wv}U;A9rnFKX>6QJ{1TNdD){p +)1s4$LL#n?EyFnwl!)^5S_dU%X;M3-oDYDRd0YNv=eeHwmtAZvR(kX0Zfq1aQD2n!wT@!B_ED`^));| +Ng?&sb^#-J)bK8?9X5Sayzm?U)60qNPF@LYLZ}%w;3)nu#$x;;Bs%T=R|3q(FV;+LXExw`N_P%|1EZu +)%x0o2>1?hE|4s-obJ&4ift=<-0LESkFl8+*1{T9kg+AWlUj$0`2IzaT*x`i^nNY=WA5?3X<6ivL~Kk +Nl`=hM+fj^)G63~v>*bH0BVz?u;nwQ;I#wfQe(wS9#-RRi7I+*os0hr~@%&Ntva-NZFR~ +MUNwSyHWyI{7&Rq2FSrh6!D+4NMJv+1QYX0wIj!e%Sw_k1$@DHmW&H!DA~>8+e$vzzi2o86U9*z{Enu +-Ql1$!0s{12+3B8`vDEyq*sXEpoa=S;C?bGCB3hQcOj*h*WtZo(Xu;>A{+W1_gR73ZlcS8x{iCd_;(=h%vc%*q+ +IJ_YL+Y<(8igKT{P)*WnJ4eL8>T?^|Q^BreHyg1)+vcr>X#jy~|Vzy%Mh%%3@I7>j8K3_u_(;7+&e?Y +%mnaEZQYAB=F`W39h*os<48OT;l^(npCs=(TXtv@pTY~^z!yx3a7^t1H>(~tYCHdQkHY~^FY&af53jL +H{m#f*b;kgeDksO*@hp^WWu%0~VG6-0TJtu0`Eo~^B5eT=PGaj6us)eP%gwtB;w!`5!Frmz(k87mXn> +I>^Aw)TN_7+Z0ljWUp}17YpWRtv0M*ct+BTegP5>ZPL`i8p8d5Dn|4JXmo=u<|2Y$HIDwtrKAVjIH;< +x<8Nm<@eUuQEeS(ZxGsV*%7+#)rXn^l)q0dCQni>vC=F2HTH=JIPUyO;yq#%eAnRTu +97w+WidLDi*yfLoU4@`36yFu={KxxA{nSOVN;YA#QyE+GMKvo)88RF|*-w>-_o$}ZC*1Ns(d)KAJ)sd +x0JW3_2ZdhBC7(O+Yekmy)=KPS>F{(niy$e290a;^ +SZ|6WM_@bPrancb)j?lX;Q8#7I`f6Y+xzi>zU3|kY>A_srWu$t>W!cZwacoU&IxMv1`|h541ZEaI*Cz +q`C}9aI$r7bjEsXsp2&t$l2DK9GeYDaItw&uOffDYojx^kL{$9?O58jPOk$>+gnB|E!i+<<~Xp*#o!cUp+Z}f2?vE?@G7ls!tLGSCw0y!$ +hP$lDK;XX89VFpH}1wqx-*9cl+-0eVUGniPM1n)2q)Z^vW?Q`&JlEW)Cv`E6OW2&i;%4L=S6YP_gD0$ +l)=*vDrha)Apq9w+Q$q$IIt@Y?^R65u=>j&+R_8$mko--#OEUDu?8j#;qIZzoDz)CyNUEoW=UU{`~7p +zy5Q)SRsA00oHcd+AEe!`tqawCwDtztK3e +dd6%87Zh4oTY+b3daOnspz;9K)e^%X#bKu$P{jU^#*{u}!#gP84W~&L;zv7JCk6Q2`c&sw}X6@pUpV?nnT +P}+3vvACXg;Brd-`8JYU*Lu4^1Dr2OQV&ht<^dB0rp~~>9gM@%FD0B60pbg&>EhPC@u^k_n2tqkyh11 +?~jmP7%Ul)^0sMCF{-C%CBxt+gKuJwj!ttcj=Dgd+TvpP85u1%f-EhxsyV9*dP^45QzGD6gC@i<$=q6|F#~fxHKds650@E$iKNl5B7+#;Zn{fvn3KSpoLPS=cw<ic^4#ck7t+jX679$dMSFML}S1p{etM(igTey!Sg>8XZ-B)|>`|7@0FqF8q*uc>}1|C;9c +wF{9_SJ5!wXZfTOxstxm-p4ed)Zdrt_rJb*?NcFsq7`*R|`AFZOWc>d~z^OZKrwki?%)&;v_uW-l!JgdBy +t8tQz9$ze60MQECzpf=0^|`EMtU4|3i7Zg7m~>99=R}-#qjQ05UlR5eNNQiId;cXf3`KM{$%HT&A%*d +Zn(Q3mn1;-=!HWqt7YLNN>{<}7_66$-DW3w3mkrTv+(o2%)R=KS*WvwcP@4izKumtgg@3M+Bw!b60-W +5HV>;(&sr}oyzmF_0YmAJR!p~OyJ4;EcXRpUm6FXD4Xawn9(S`pII00v+{$JlId_LtQ}BW6zSzEM+Kz +p(@NI3uYLS7IKCVK~`m%1Wj-9b58Kv#GG`9?A>+{aoe!Qo;qqDX%R_Z%r-{#d@f%~4xaK4GV#$MU0_F;-&b312b5$UUSAezZX73dznafYnFSbwOJJ!sUr`ek2U72E=tU7Tn#rd-x +yC`AK)z(TC1Qn2i@%mQVtxkF-?B)hu-Ehl7qh_MI;kNHpj1Rzr>&RV&pP+;_&Bd3kfP4!kP*o(js88lSLkIKx +eXV09mwr3{?sD?Alv~1izpQ(HiF4sz+pj(>fk!IKyK&X`LanN=+&w&xe7jkAH=HW1oK*f6ltbeAJ5G9 +W0~`BNR$y~&Lp8g4l()gTzS^5lxhIbHY^J`M)lB3i*xYLSaKt{E*6|d_=xOV0uPndS*t)DUk5F3iR#? +1A-ZXkbZbT^i7HEF<73`T4p*ogZq&C0l^$Pac_EfE|6!{jUQ{GyQnlxD75z6})YDWHT{uZt!)eN%Q3Q +Oirvu{*cu@q%+a|2lnOLSTTjLQ@kF2qazE@!20Gp%N~_48*}YfrgxVQow~45OLDNh2;XZk+9<@=p21j +7NDJH2{_GlS~`?4%PPB;zi89QzOcHyGGPCTswWf7T5B(pd#X}wy-FlOhLDl-NxCud0*tRkad6p-0aGQ +#qZ*x!)1xgf7Twb(-szYQ(^IiI#q17>UONr2%oI&wEb?qMSQ!?B3iy>5z`2^5bPx|k$ceF7NMTE>FTq +mZONs>o%Yywb`}++%I?W-WG@}}m|YaPdhh7LcUOz@GHn)F8;vart+a=F#l=!5LlH9wjYD!=z;0VJ<*f +yJSIWNI{&{%>@2agD$s0}hEG5j|@3uA9PZzT`j8;}*g1G!p{f8(~Vq=InzKJ0ZeagocsH^@bepNK_B( +^S9UbVGT!WO7K;U3jE?64nIdzmHF%XHIv%x2A>o5P_fldxh59q@F-zZ`b@&)MJiT= +1i~EV{TXDnAFeJy{<)}UlolxS>9S%^^hZl*B(;0CNRo1yO>|u$DC9e5HeV9rMx@cv7S}EE}JhBQlc=b +Z;$dQ3c{iCP4dG%J$482F_q=b=*6`-s0Do@Csf+@Admb6S5f3tz1tEjGATDX5W*^016OY1Ub}{?g*sE +^-(0)QnEKsL)bF;`wE%^$m`5is&Q#cs8{|%zgz@`&Pp@aJa#N;uU}wizr9o!R^ExkP7|-jZZrzSW7H{ +v|fzGA^%*DnkpJr$$e^NwyGpZxnl2J3FH|mMV$yD$>N3_@wQJx_pYpsY9uZifQ#Wl}5kry*xNOQv-WY +Nk7PhGWi=L7T0C;CbMITdq#<#5-TH`yC3iX3!dp@+Sxc8q9KV&R|*vC+!lSF|Al>z-i&b1G&ZPR3Pq= +KP_qS7$b{H^naLBB%TY&gD&T3_b-&@#NbT^g^B(k3z2Qz}n;Fx7XioY}+7#jhK$5a9*4xIB3+`(to0t +)vNz)xYx!bV24#*x8zrX?K;}N_qQkWzIXqzEo`@`o*I}oH6>rhdv9>h-+s_-+SDLg!BjjSd@~0d<`=% +st2UkHcJ`0*nr-&`*ngsj>GAEOh+iXP(;CVwSM~J7!V>b0RZ?C793g_Wf^ +7npqNa^*N=EKB7>2I0A6;*DV5*=GKxCQsb*@X!U3q@-&0qJ8#bnYsutFXhLs~&Rj0f%2`Br6df1~X>_ +u2(VA|{&)ESy?T`NY^qwvuC88_~l^NeG${JU|9t(!fPZ^`!b`}oo?q;7#Hw_?vGd!|Q0pxdj!{I*kq3vkz7Jgrn +&4X;7myVOJbzIo@*^k=4Ksxts_Y%pbb0s5VaFno#+Ra@1_WaYirHZ@tE^U!!vMJYzAjk_pX8ic#$AX_ +|{M?71tl}alx?#4%g&$k*vTrX{T&<>Z7ixA8zBt?~%yu#Vw8`4ezTNN3(jT0y9!0H-!(Ah6mH8)KtPK +{n4hpkf89#Q1{n({1^LKdp9Q7+1Wj~sK8sD6PB5YSm%MpfRa=qJDc~99G;&56c*>WbXWW;K3$Ifp)&v +0%NoKvVQUc*<3RM-Qf9InZl1#3%y5b|oKtPZk$yMZ5Blt}xurReEpO~sQn=T&yreipI90D2; +QjUG-f?`$-2+?otx8_@1|%FaaXP?lSTWd|PZ^*OpV@c$xFJkwrSqj@h^P9!yh3eDT1dN7q&~WmNeIB<;CZD-zaus^5q^4m09s<0kEODrO(x9Wq(6lNQ?ws@4}JOKjnA9X3gqVy+3; +4HftOue<5HO@d3*hw6VJQ`_)NNDqv+)-eGmtRwwOlKp2m^S;B%m7p +NNt%`najg)?rBdgeDmu==s?2Godd0PDfc3FEV4{xJyd~yNK@h>cy6{oaji*>lNBv;1+`&@Avr@yU|L= +k%wciGyexhe_I5v8jtIBM(hB42-IzpXia8p@y4RIS^JeC>SV0wMpl4>p`s9g#(IDwLsDnTUX^rp13?M +WCOl02}*@`@ApvDI@OX6A7?PkheZjom$isEvu8?MNlv!&3SwbcEUz(p|o6fL@PHx=itdb^nrKDYTx3N +VK&FLif6ewukhPj>^h8UPO2zec3k?R?cPgAI_()5CtGG|*Pi7^U69Ixxq77*r+hFG*UZ=|txXa4n-h7 +b;y9u%^g`Kj&@$Y0SW#0#-@k$FJXYMuKvVv3lnB>2?d%87=X5j*`sx`|=0i4$)<&4malUk-c$jm*Zqw +pIigAz{#{+!5ovRkdo)zkDt6ipo1f)8qs@U_LqGm_P(AHY7Z#0aQ83!+R@-fSXy{Efs@P7UUfS83F4WG{S=YL9ZJQ>Pr)AB$yH!jqt{HH`x@k_+I8f` +i9I4N2kb9Jh`yo4)lvcva5uu*1UxlkAH54Ah%78EVxMU?}Hjepsvo%)w&DOVm<{y+)=*zbR{GK~)HYJ +;Le@u0==SQ6g{cw0wK?sD2Tm$Y`r%ci*YV|tWu;oRe6`i&hjk$n{jN6sZAJn5)PCQt>WTdD8;o8Y|A^ +$4HhI2(@ctfm$NcWsKCiMj$zsvHYUe}?`PO#oz+(Mn>X{2i1E(aF{c{`WHnKsRGHEk_X2UU(#&ikG3) +rcmO9IQjg#BRde%y6X+zSITc5Fj3gn9m$`^4$7br)werzS6m?Y +04}^vOitdL|yH>%RSXSy}k*2%sCd-@&3se>S{IKYmGuxJI8 +Z#(A)QHGGpChmquq6xm&w7DzSFT-{q9Q+iAe}*$oDKJHy%ey8*k&wu5ZD2As4t#+lnk{PqqwX>Evpj? +8wx^o6~2JTy&Sw&g{t5C#u=mp*CiB7hAw7TQDx|hUTU#V-Fn!9|@`mysil0O%O?NFM;(6Ca{HgieN3l27>JbhY5}o{7T?V`bjGSUxI-I5d^UW_YtHM%q3V#@D# +yXf(-<_2u>1QA@CwRyAW6iq6v}-@(7j?g#DrN)Rl0nB$`iGs_$#be2k!gAe-PFf?bu@=EZlNEuuKuA} +kXuqStndxU0b8_;&Imi+Hk&<=Q~>G;Z?qB$ya?j3NlDAUGpLaAtPs%v5W1cIM=yoE#yhiX1UnWQuH&M +1MU+qDZGdA-Yj7F^^y}{gF2@MvN9iMGw*6VDByZiAWL3>5UP?MYsqSBSZ+h+)clu$Sst7_=!6y<`A+) +vfrWUIYYCPl3>OpSz{B@ZEPQAum`25XHJISY+(}_!YWb;(IVrnpCl82U5%QNP9 +zX2Zp>I=+xxQK%>p#6If!j%O6n=}T1jv1$lIzd0PsB;xrja!I5(vgvDvm_lzEY^aAR`@%qZqdWrI7cUGT)Z9^zysiSZF#*@-1Rr}Zw6C%{c=`Udj0-JdXUn@znN +ZNM|xSDQ;2su`Ol_MHjbmNlB1W!>KOI-`uq+2<2lwOF_SUxrAd_fhMd!L@mlVW(IH2%LMFEvw2WPT@TvFq_xm +qYM0ljWfs*P|)i=Afh}Ie4o|!?oqn*N{IqjvsueGKf5z%J0@1`1u<0=f>krpx-IvLys}%8u|4#)Yr+J +2Wsh2TbwLVe}3d#}nuRH4v>Yv%+GE4gt?B0vrducADl +d}dasC8A%5H7{4-h~p1XEVOJ^Lx-^l{K +^P%*866-0|JdfbkyV^y?SI1GuOUFmYK~GyxS50S@BW*ohJxx6w#FM}+MmEGf!nAm +F;ClXEB9z+n5G&yPNq$JMV;hEDN_7Rh0zIhtEsQesAu_A=V0+M+Tu* +dfNInF&^eML76}Kls6S;pFV%>ej&BqhX`Qo=uvXyqewAyhY2KZ)w%KP1|<2-qzmSp<^fS&Rx28yZsKI +?mc?;^6h=6U!T7H?&|M9AYkC2!GV^bA;BS`Lx+WhN8BA5HGD+$$Wbw)$Hc~s9e2<82@~&)zb|3Z=u;%|X`~L?#*XC);f42lURsY@SQ$qrrs{fpC@UL0|{;Pj~MnC>q(4Xp*Wa8tdFu4HXU=~2 +y;Al=`Hw&Se6He`U(a9o?c$}%%U6D{`s1qnFE<4BSM)d35d5d<|4*m?Z*Pd}|NcLM|8CUXX{^waX|Na>uRSK-jW +vGs#BW#MGi>SUsugFvH^8K{mvCty8aR8ohK7c^;pyv3eH(Z-_m3Xy?ji2-^^J>mr{>1YBzoMJavwcH% +*>iej|ce>?!v=^3=jHq*ZI&OFYlqed3lt8%R_k&&ChG$=0+(L78X*5`TFKX=Pe}P-MaRVj?1I)lt^?m +4w^D|%UhU7p#&w9l9J-#;XX4fYerU9jrcJmFq{B$23W^vBS!k&*)uVnl;~={j82`JlxedD)!`P0zJWT +*kzS+!sE<=d(ie4%D@E&*4Nb5nq?<#tvoo{JsTtuEb^2{{-NzS8%DT}B~yq1jnC24=e +ZVJ^l3(O2+W`0iO8H}o=j0g#>~l#EW4#vi=KI!Eh&3eYQ~iMzUL%at%lEHYQp_^&9NpDM^ZD09jQ#R? +xFfS@w_e%!Wc(Vc6L2}@QkTrG;gvtYGq|NbqrxL_Y`x4I&-3r)N~b{DP#_r7!6SELQKxgux4kbn^O`p +64R5iuc5CxPp2eVDN9qW=E<3fN#@LCbCy2W)sx5Y)c$xcPBWX#Nt|*oZR841=*%oC=xS`L6i{4Kr&7v +hk_4nmJnY(&opH=aNwp^BWF<^aGAATkiGr@ZY&qGzCZ%TdO3IktRS# +H8{;FjYDUrw2?97a*Nf}m0LN(G#%AT5nbynEJ$4t*Be0o<~D8j)5CZIj +dnGj2vI%@*8xoB8(Cgh|}%}P&-PuJ?}35lsW)(JDHwa7}GWK6?1gzD0vLL7diZXB?Q2j(Z5slO++x77 +GvQtSKO9WB=lzp(rDzrWM_`rmi>)%?DvcKm%U4jOj$vD6#Sqy4X+PJ;p0{~i`l^ZVgi-`5VT`F)|`d* +i_t(SGpt!}|wcKmGi$n%|EZzMr6P-`4tGJD(0j)E^$^{K#tFEi>3_`wJOf{VjTU{rtWVU4MGdjIxL~M +_r%ZzGG{CKTzwt`-JO^pJMsA5mh$jZO7MH2*IwI4}4F-cI +oqZ6ztabg<18GB%)^{TxxG06!_iXu}dWn%<>tq6wxoTPW>gvdh3FjgK7;fW^KxP(;e(9G-@YSPn_)Yw +92ikn4HPEP8S3@wJynbk>&d!2@I1X^E(Vm|@AK}awuAdan;dhP8Na*f$QZ +dCP%9d_T9Wu+BG&(abH8CkTB_Uf(Mm#Z4QfyfW7AFefGMaP)l`Z0Njb2Ag)RRh7LnW$2Q_eeUeO2xlk +p|(c^>>336SEoL1>lh(#6XwG%!EXZrxfFPPzg##&&o;?J>WYyGb1N6Jt^3lovwz;7E$bO%g!c6CL}eR +kRjb84l{wl>6tl6TI6?!jv5{ssrLjkH2l>Lb13zb{hXtdlJ2kOa2FRXpTaY;Y}Rnbub*>tW{x2jCIUa +l>q{aeDTn$Dv$S6Ln3&K}dU|#N#*HGiXgX(23@KA_BGf6ynoa-V6xRUuL83T`#ZbhAMaBh1hjZ{&)%m +JYL*Msd)(4rNnVLcBsyO5vmXwgi%iP3%wyR6peiotl9!x!_)X53yF~lC0Lw}dZq=e~7*SM#uxtLAT39 +eI0M_tEcsJ)=X(3z8yvfz(sK%!y|cwhf#m++jBq)E0ZQLk}u*7PwMq*y14BgD(}BjWfWn?$%qB*k-#-#XmyuS4M&yXajvcE_#m2JTVqkVZ|0^~MWZtv^^<%ifgizRzjjx}j2hI)c>xMm@ncv!0q;1DN1QRRi?Oo)%!J}ODg^ruzXQfnaM< +?DubB7*$KISoy><)k2@A-3dX>T^)*L>$+!$jly^gt^xwy)+~W64k7P>?8+|oL(OcYeQRv^cC!{1rb&y}OLN0|uA4M~dk4+Eul6 +3Ky$5UW(OQ^MntP09#%b}7)6!1Y+@}h`v*TF9gEe5;8mk(|K+*#b0!<@B3f%U*Grtj~n|L-!OJ^z=BLbMy{Th6W?tEqvzZ~mjOK7t7ZV+lqRL=!|3gb{ +=gSP1$PbSLm8Xs7vaLEuT?N>KTYMN|-+Avi|x3Bh54odoL$RueRIt!|T^rT51O784W@%qFlBq!Uaah$ +I+D(2bx4fh*$w+9DK!lLW^I4ioGlC?R-(6)f)@y$B3Me0N03f%AHitNe;C0)g6;&Z2s{Wbd`0mR9 +3wbP@BzVN1bGB_{#|XUwNcPN`tBsI#TEAu=}+`2qVX){_4gJrlfs^C93)16YvJ}euaWrw_W85*ZO*kG +7wyr*gRi5AkNRVFd$hGN{@VSyo*MX4-bAR68 +CgUa65%hkG*p=GEbjbf2oj9nU(002$p&>Ty3@kNe4b+$-vFHx?G7yH`E#=6c+H>u^UKWFhzHAx=Ue^N +hBLu79YLz-4p#`+Y;5#9EK)caITHBE_xxJ!>?5?_B-f>H&K9s(vq7ME+f?-@85R#Cuot_oeiXdu;Ugr +yg+<_ZZUeCe(heg|XIG`qlmP?AcQc8#YYD#l?x#)Kp=!+0+cp%cK81@zhgKiI-n~S-ku1yP~9|M121F +=i=(st3s;+^4K%I;3h!o&^~-1&r_Io&zNzDUk}N1Re7FOGiJ=54G-t!fvQ9Dz$N;;o8CR>zu4g=I=9RS9ttLf#ojkea0b=N`y~Nu2SD~;s3y)C632f6>8tOQzLfSum?VW8@T)p>`2@XP#COJje$}D_RR=C24!mC-H6fflRH +ak=^zQb--WIn%d*Bd}kPQBK9D8G4^K)w77SnSce-z%?Eb_o1^064~@~C>{>E8WS5By&F(V^8HUq8Tp0 +p$K;&_G#9!Feo!@ISa}^nuE%LwP0a|B#e_jM-LM#h>Ay_*?dDrR2}de?+0EpW&a+BRQsi=J**mPfd;& +YLEI^RJAY3J?WAcNFvbQ04@Yhc|xtI>H#OspD|ouJ&;Qv^Mn(D3xPX>#DiH6%1z1JMDDh8+mi3k6uF +c|$=jsN-Bun?l5l_S&%ecQB1`UbXU9wVd-9yUXUB{gvn@HY&ue7H-ybn;gp?cO<=mpK+s2QH7rAoPwv +A&D-@8i?f3B22UAnYRuoOQi#N77nrI&kqDO@xV*8$y+y9OqePvDV-`Q%YQlj!N(xwG)`@e#hhzGBdzK +_Vz9NQ8%nGw()@94TUBW5u{}?6UE%bp<>FEDIzT`O-!9SRb*#pbNw-A&K$AQ7ARhOV32rwZh*+2 +5-JwoA1ofr3=+>|Tg3bG28cKE!o}0`CW*~YWrMc_^;`tFlr;6W)Sd?ZE +iCsN#fT#At=q{tx{b6Se=-%Bz1q!g2Wlw#hzd7`MONGw~nOg#DIlVbVu<>J|ApA|2>@Pb&gW)0`>x^? +Ts#*G`fF8knv55&%{zDq}W&?#fKk$DE98%D?a+@BXQ)&5%I||-FQSELKtkg|jdmlFo5obwn^FNb%bUa?*;|a4BgHH^O*|!+i +H-6t@rgX5*QcTdh3`n=eJT7P3Li<~$5Hqx6n>^`CKgfnXDR%f6uyMQe@x-e7{Yg<@D>Vx4~4f<_$3tn +6$-zd!XKgV$0+L5w6qu!hDSQ-#r?@IoDf}!7zlg%Gpz!~q@TC;~V+w!P5T4q#Xe!ECq^vA$Na3 +kpafs@l3Q~ro`6eL;Q}_uK{s9XAB!%BZ;Xg5i7fnU9xP{7W2hy2*sMz)she+}(M7WU6?h&$gmXISK5^ +~zJLM~e`2yg&$1e$5Qxd6n-&SJ^Y4jvLTB#7q +;MC2XaI(v8Q*kzdGYtWF0@bHk3h~U7$ppf_;-MV(|>^*E)Cq0IcaQaOD;baL3iTAl39)=AwYu_WHf$pmnQTZn@dh)3aS9Qo#2peklGnH9W+F4fq}$8WkQ95fvKM +zJ>?--t`WSe@IkFL}*k<)X>}7wA4J{`|aI&L<%+jU`|5kTKqtG(D=vk_YR067Dt6fL@^PZg3f=!KR%? +l1t>&N9BqaUZQi^&d2oD>@7EyS(kqk_7*5}B8#CzP*+-FE|FIT5V!?h3KRd|SFgd#lNzn53T22M`R!U#j47!?snf>ixI=&ruLeh +pnbZVIQ5!9z%v`}7G8uKpe$KO|^GKvQ?Oeq;@fN9^Gt)#=9v!^?<(CeH2_d=CyJag7kw-@zXeFiYcRO +-IBBM+F9utO;R^Uwy*7n)ycs5g)@1pAmlue=@Sp*;K8uK& +PgJeXQkLXan(_iqk|I&^&**cxbwHiET%HK5rO#boPtol^rZL%nud +oo}Mf2+Cw@8)pKE=OA&io)fr}z`NR`Xh-aR8Myyz|Labc5QmkIRnstS@-+r6*!S~*Kk9CDlOI{YwkiM +~wbcLNecZ!1t53+7>=JW}1`t)gW=FAyUUS2MK{P9Qe>o4b6H~8(h-^3q({2`WIlHx6TKk~bwp6!K=D| +b;tN9A(qWNPSUQA77IHFPhDW^#k*Ew_r1a*voMkBVjTEAf^*OYL`sAv`sR(XA*vHMUE;Q}})q-a_FcD +ExQ|KaIjKpztdw{CWz%m%>-KbN{QS{I8z!f2*F-Mymtbv}warHm!NIv`wqdy?XV+(X?&MZQ8VI)8UTx +UQL_cMsn7=W4F$oyLRr?%*%9p6MApcp;OncS$~p>wxhjT?2 +lO>;1tyWP>t!^5*1g}MEvrcK(ky5){ujXgXXHFR_HyxnAK#9rLTUd-36XK&!qmxeSjfSZ=;f5-E8rdNP3mSVJQ-@ZMV3cz;BE +)5$tq?&~f?;H}^YhO?A4l!Z`{&M``|jtTfBv4@p3^`5^wU`~ +Ph7Zg;T-i#&wTaOS8wg!z1!~OeuNj}zi;0@`R +=>#O2SXR^Ugbr_t~>&<#*qGCl4P!ERP&H!u}A3bOgAcp)k+C_10T+HgDcMhg7!E{QUe8Sy@>jOO`B&C +cPTCVVRN7Ew|j_S5#DV&z*PP3Es5|2?^gN?=g*&)q{}Sp)TvWn;^C4Xe)vI_l$1F5eCW_2`NbDs +FrJh@j63WnPo9)te)%Q8gC-qF=V6m%?!qs>{8CAB_dCU@T)A>Z{`%{$=Rf`Q(|5o9_S+Mb)@Ar3Iv=I +-)|YTtg0O!Tf6}LrmIHvl4xm8?rk5(9SCO!P@X%$=nnWh`0v=UV=?7pN0NyG(6D{`cE% +s_as2pk&Vy5@PVqZ%M46y6%;wRfM;TBykRLFSZzwwmvw#17#vge|h8ix(v|LoEOO`}gkxIR*g#k3RZHzW@IFlJZ=V&dg;P{6~K5-Mg0oxbNAshs(;bW5?JI8c+v7-cU}EN +5E~<&r&8Gmoo66lzsL}+3Q2xxh`eT5-CURlk(NGQvP=F;!!Fq?fwe>Teogq=I!m>mvs0gR9_-LmqUDepQUrQaT+VW*UL5Di_nNZIi +{DVKaDWmQ$xvwsDDs_Pv9{B_XtLWjRoPEZaYFLB>UIqaB}!JiWUK?CJMzx`6)Ni<}9F6G54DU**#>AT +f2HE~1uU%GS&vb@;O&#xoNLIG%?e7J@d-~u@Uj&;!izJuq;BghTpAN4Nv*%+Y_g#X=Nsx%DwM9RU0>j +0vmFUd{TF%|#Rqf&Z*pq7an#h=;?sn`FIe`=2;pmv_~2#0#c_{5%} +G71{LmNJ}Z2qhZU{UmSX`Gw%=`tZMe`Ld*TrUrlp9dtVC%9Fb2`2F|a<&k$+$ThPgZC4P)$-iq1GP+3jeDRz{3)Lo_vzE8Bh}{xz#no_n-0i5s +ET^)rEh@jvXEHPi;Kf`D^k6E#QxOa^t)p +`R0QG@>QZ?4biaDs^X7pG43lT8Wbtx&Z^}ZbyCEa)#Vv9=;awS=;ax8Qn&XxnoG6uM>#|LLVA`1K!Xm +o>8PuW=(OP3oa-;w&mJJ(d>}x+GLvYSK1lvn@q_&Qib_K~(J=mdqQOv}Bee1ybX2XA`hTRh&w8EIm1y +Ynex3Ca<4^ki;=Xo#(z2;Ra`F8`Jp5dOEX}`5elU+{ptA5b(eN +*=JflupX&Wq8WDk~4Wd+K|GA#1p^dM;`8Xh7V<`WHbhz2~hb&PwD)?NPqf06~3f0FA0(DKkj56RbGf1 +T;M5ju2Q5LP+zw%lHDmn+W(UeAvn=vaqG1Wqu!v|VBsrRw#P^ez-VTZp-g4-`C3XdP8|$t`{_YpoKCO}G)c!6TIdWt~Mn=Xy;EM8yGB9`UT&BS&Uw@V-Fj1yz_p$1FKHvG +KL&rdQF4oF(t>?P>5Aa9chlPb9ALJ{qyu!K{beW=}A~}8fbO#OBqvLvcf(LcdhPgLTo{5G!>Y4hU*5K +39rAtex?v!1-c9rq*@p8?YH4^P|PEL-rTCH;N;>BF9zyA7bu6Ljd)kO>NM%#e83c3*VQS=A!pgbRX$t +J6=P=909bVqsCb&Ta&d0t9o;m`2@;DZlLr0a~<@$b>2N5ACc@mg%{d?dG8qgM?ozUq(9|km_K7|~jEkqhS?IH5xmx2F9xo`FKY8_*`s$-x$qfUByW)#r> +)Be}Mfdh-8qN3(Oen{4rQNO?M#*G_ar!p+*o18gwrlc|<@qYK+ce9T0;fEixJOFp#iagTgO3x3_2iZe +E2YMay0_6c^n#(iggRwlnQmZ^4*!(>7z-Mkmc>MkSA6veBIgf)NZLKWJyu3Wz!znv;>LhQ!{dP&ZHRA +$2P&SMJ8g!^l3ji{u$Bnx6qZO0n2Za`DpH&?L?elAMg5~B%r^qk&Z;}^(`|T*@_YIFfJoVI5vY?>g{I +X@se`z+;NATF=Gbj1KJFIY)7X9_yT`@%olwFm?#e@BPb8G%RAa^ +W8VY)XYm)u-%z$7|0GK*=gph<3Cd|iM1-6@dp73-XaN30h76Ho$Bt!p>fWY3;GIUn#HVQSM+mu% +@}LpLEus1G1lsE?6%`uGOngz2^$oxfoGiSEVy`t|EbJS;$Y-m+y2(*XWp+>pu#(~yvmAR{9qS+-WMUd +{M}*Wfwqz#HWN^$*;kn?in|Yoi>X44_OPUev*a`&EjkpjE3@7RvV*ckbM&2zAcK{YLRex<>s+=PLmHM +c_kuD@nJ&s$wn=l;4u%jb#9B6nLzM(Z>@}kAkPD|JScyFW-FgO>P7K^{;<%IPjYIq)^>9k=n@Fg!^`K +TOibVj~ku8Vf_vI59)s^k4x~5@&*&QAiq&&Nlsapm^yVT*R536xqU-j1NqkF5aj^n5_tkSK^~w^HtIv +LBVObY@&oNT(TkmRs5jki5O)XuMp-q=uu-;w8|Z=zp)4#|us~9s#qG550d6`V4C)!wMR*`T=o0~eJLr +1;`R6gl_=2;u^Iyf?fxoW*6Tb^UgI+JzMF;qeI*8hC?k7N|(AL&5rqB2zZ*(03^E!}w$P##tGV~M{^Z +#|e*TCN>|EMEsx3RTpfr&Bp2@@vBC!c(h<=e=29pDeL1X;&B+5q6L&ySE^yW+oqJL7Nc|5Dqt1agTs2 +z2P<{ir`s*P%T!(gEIX+O$bN{q)l;&w3dKfNp(k9(ohrAv5~?0o9o=ySTXgS8#XWZ)_KhI*d`bxn7``yFl-MU5^%h%u}DgL*Bp*`Jm6qAs{~wGXE88 +kxHNsg|Pj-XIppg7xc{OmxjFUnHR;VV~{$bNaGo3V3{ +6nTwt@sV;=4ochKY@R)W=hp`(o7f4bk|IiX13SNK+Vk6OsSeqFl+AHF^j+PV119f25#ayx+2E=2=)?O +tkqw{J7!dBj|bNGAgxxU`}$IwACZ)lG?MiF5UTUB3>(YNpmVnr202CCUsp;w{j`)}pQ&?f7z@Un!ks& +$oN!Re&wgcGu7?9?ZRh6Zb{F;Srcs%$M14j&=WkTsmQlU*Bh^dCNk4y)blWu2fw707H$g|zH_lBtqt2 +6IEEMy60oqvZC+DR+^ox{%J30NIuao|*REMvkG%Jns>H1m|ef(V0`L7b3r#km2)tm1jV$7Lhz7g|Wm| +ww|IL2Z>y&&b`UvFrxw>|3V`Sa%|JoeaQvA_Yk6Z#KmA5pKPEka!lT^4!@zQK-Xyiz@1h&dk2cVbK%^ +E()m#~jhEXFnKLKNINz +=7voN7szd1LU#}YA~i*ZC_`j~sg{Bc|@d9-MAG??qd924ZxXNy`t=;=fMG0v6No__}}c-Cq26RW1H)}PK9{%}RgY +{F&G5p}K&Wdie^#`K|A%$hYTBR4lU%{cc8958MIUf{v_I_8?*(B}Iv&xG+%$Rp;MFt?Gf%`eTKtiluX +QyB-A$HUcg-?h`PJr`Vi4jB1gx*(9}yD(RTF-?q(>+*pN&OXM1LRpIp_v1-~r5!SEcg2A?B+vuKJobw*9;|zko7<`4P+&<|TzVc!0-PM`P~RDE}y14?O +Td2G##*`uqU;1?by>C#ZYCiwnvZa^IuTJWqh}>2=!p`f5X&z&w*(n`07&4@~`*LP! +6H<8|PV!b9dm=pUoK^-Tp70W5HZq0pT!Ln`<;Y*VKPV-)^@jJonslv6vfzJ`Ozeezm@C5O{zWsE_as5 +9V**e4x5a)FqDwS*x@DhmJja_Uw!W3l>ZTA0B@AVXpU3@1pHP{SR3HKOl=p+c@X+^XX6IPp3blGEqw& +(}NsyW!Fm|Z3@OYFs2J0qklzZ(J_`@doE1R8|1}@%c5n)nNQ@oZ$GP+M{Bh_J~MY5lCQJ<)TH4xPJ$n^twQ=E0I6o&3WaxJh<|H`EGs?uLaQM@x@s~<@(37Wcit|q^w8(89a +EfpT%OC1v=)=otrsn(xlzKzP|GQ`|sy*;3Z3z@Ysdk_W{pgg8%y3M)0F{n~Vo>lE05hwyvxH_2|)K43 +&HC2coUVybR`+NY9ev$B$>a>lT5)FliI2)#LovQuIH(L{*zF*Z2Z~NULWH}9MJ8+Z;a(a1~Hb7c@2~g<2(ZL0QCaG0T=KB^)~8E;JIz +vwui-y%~5dqU%Ys6!pfB^WA#2a@)j@X&SOx88b7u2`{x$BI!mV$4aOQ~aB0bNWa}Z+{_6pjX$yQ +TFtCN#Fn(!yE_3pEhsatgjRNyJiEgueX!TW>u&!eSP0Z9)q8M{`n0rzWCxrs-u2hvu4dBFTM0qje6( +x*Iz$Jab&*w>Z|Ndeq2|rS{44n3omSa9Gs08|Umdi3#-EgwjcS8RW{a5rA&{y%LzS45S3v;dLlLL3iKhk|=ZaC{W=cy0&% +mprXy&e4q^quA;4dXOoPDr_y`0~s +%&#*p-H6oZ-Lta8&YU|>MOV_d9KWDN-=LWGG!9QvjxZc8?9M%u$Z7H6&<_?xWoIJ|>L?5a!mD6|Jpaa +=MT@N`$UXB_yig}898hQE6_7~;)`NMeq=Zcwk%YE;?jPM)v@LRWTWnE2QkAr#}Iv4T-^{EjT*wL07}6A(a%QPy>sWz8e#Fwb$>m`i$J(&A +g%+tA9oE*aCZ{!!ff{9)1Ghwn-fmr>1!?mr}5$qXRo;mUthI$!pUoHnol#IyVgMS +Y35Vc+=Yh=)V){{BjV{7w}<|p_O3lDt163MlvdhH#x!-55fNQ!8s~8z=bqOEL_ho&e4fP0P2z(BgS0a!8cy=GW2tRHc +5UPWH2~fI80-_|KfBQq{awi5VR>UrWje!ekN#>1!reD7Slme_|91#$V-_oV~o*8=mH1kIHNnrI^TD)& +kULE>of&)%Y#0Gze(m`pW!hZt`=Y5pbQscw7*FH7{7JsBDvVO**}n9oBlNfV-?}!Q0%u4`W&P`Svcby +i|ct-$w@|UXrBt7bN!ZKWTpTnVJmV$!(zkug==9p_(4WLsQ(wdn6KN&b8_;|>2}_};IHbK5N5+R(tQ5 +S2_QckH2Cdf7XISX{=c5T6wP14GTHaXF(9w#7d$Nd5D@S56mts;8~%9o2TR0n1ZZeUQQrXJSI>S$}0@2SbQ^z)z@AX6C +;a@riFYCn%^jmo_!9U3|MlKw{Lgfi@fVDSa~XdgPo0*SmYAG8bi^$g +8So*zcWF%xzUU^DfYQ)7GyzRUCFnjh7d?trqD|-&>WoL>VmuE&hd1E&a207K?dhGgn%2_ +|^bkEt&(J~Ua5KZqGH03d%yRQ#v({W`Hkgg(o91rwTQknO-y(L7{knaFgB|50IT=otlk1c^WzOTy3a8 +F_*E!@|#dQcu!T^q+L8Uasr +(OM0XB1D3HBs#Mg7GVu=l3H}auCu2w+xt}a2$4L)r(c9>~bTwT^Kc+486csQw3(PgCTkLnuzj9#PH=~wj|dWZf%AJCubWBR0y^rF1ZULUW&hdkR$_0qlZUigoT$>4iE@ojhtF2^mnG +jT`~DIxR83*_&liR>nyk(1;{ayt#u#k7{bM~~1XvxgODN$U=4jrBg@`jy?yiE;V^cIm!1Ep!$;tDIMz +t>8@uoJf|;s@QtAg`ET+igY`=UEChvN7&7DbKIc&lKZlI+&$?U{0e>z{~hniOZfuuq%NYbutbtb5xF8 +LW{FZ!CYFfD#B#AptP`8Sv)&fFM6>u@d@D|hwz7}pGE>&br)87eC7Z#|u2M*?QtztWs)O#LGj)!ht?$ +M(6?Y}kB%TZ>StOV2C0_xegXvhBOXtvqw +1O_9JLrCToc1x3%)gkM%umd3Ovh5zEmpJD%|>>O^Stw=)9SQgQLG#5&F*01Sw4G^m9r<=8|(*0+`)k3 +4!1jB$XD_|i2g!}kz$f40^Ak@UT=thiuc8b;t+UMH<={UWv+Ztwo${>GL;2*TtH=JjST^R( +I1>TeCVs;wIw&-uVfaBp!(^L*Y$P_bSHRf!s)g?>SA)|K9}@OCnWg#I;}jn<%DC<^*nK^njhzkvCaOf +$_}t!!(aRl#<;9mMV8UQr_!sN-I%ciIapKHpzRM51=+8We>D?nL^Mhsh3dki^k=&~X?YO{dalDKoXX) +T*_fwT@Y5EXPi?=h%zvrFNbDq8(y$Ss7cxma@lLd$)solbh~7;jVT!yC1nn-BWH`el_pH6L<>$x0ogm +$Zusw6{j3ER4q^|mEmvJ+!S8#f+y@n29Ck~aU#U21=uE=NH02&K1DavZS;FO%$#jjnva<)%sR6kqV!( +#j2R6x>qcvUg)GxzFvk+Cg;s@CX;lG&ZR~698|`@8w3#jKvGzQBgWYIvwYS;Z?IwGty~l30`#J+0plV);+7_=jeqc%;Uf222A7`(RFDzm!Vv+QWdFay~b_8g1mC-|G9Ra_@W% +AmYjDHTxrReRk}->viXn6ojz!SMOpyC8*@qYY?3Izf+^_t{(QBX$R;g^d&AMGp9M5WIRi`1Mh7T6C6F +7RsfvmwHgusV(Y|xV8~oorIO)CcOIYEiZh4|15hxeQm}N?e7jaUHJ5k&uHri5?qbA&q1^ISlzFiVmQNrqL-7KN@HgZKkcXD_E0ZmY7xkGBCnlR~RrGe(q7pR*IEsmAEB*HpJSwd_FJZ6 +}*yH@oHYfYk3{7=M8)c!Jc4cm4Z*nhWX>)XJX<{#THZ(0^a& +0bUcxCLp3w)H-nLmEscV?2ANdn}`ok@bUlR>ON0!gdQo8Tn@t4osFuHF6!pxX(cHC$Sv)g-v>4yNrgk +d_vAH=wnfOm!D)Xr0~&(A^Evi-6k8wlx856JiwvB!hVvn|9A +5G#QE>Y>$lGTtNh+|ey_~i^~Nz=vp&A}{5R$GV{d#@zAt}6J%{A`nufK0mJ_SOU)?CgouL%rnfcn9*t +@f$P^9UTW{WSNf`yuV*IR=BrYO?LH@w${Na24XeidhRMNIj*zBQI9b{YRX=2rB+Ul)JHn-*P6tHbqPT +@0jI67=c9ND*Rxo-XR%fi+X6>Y`M$yx6OWVSVEC*KEFP>ti|t2eI};>DnX +DR$!eur?;0fq&PiWTI*wU!dT0TxaQt>3XiYS0$8nyw^;8Lh=vwVHB8DgjJ~txm4al<$c`E^S|Ujk+fUz^a5H4A;{h+EVh( +L{HFXo;-K7w1sNP$8P&8Zl)_ettBgKL23G8sS`$FK{n-FP0PvqYT$FE4;+N$`*0X<`8wfuCorlApa0S=SK(J+v_uN(TO#%O9k<+xU!~B`6-J|VYxHZEpy}r1+l?m+(<`3 +5DyQMZ}2AVz!xCK+h@wNEn=hp*%e#WDKU*N<${PG3fiF{Sg+p9{~yzMESs2 +tMuv`Jsmx!~+0!=$gxK9;^cpl^ZDP@ZuMuUGMUcK2|>*YD~^MV%C5x@Msc(<4D@|P4Cc!yv9y?A#o-%VRmkdJry@*Q{~ +(*IPNMUQC5NAA}k_d4X?hIU{_dvKs#q;wSsBhqgZk@JxC3pOou(WZyqwAn(Z@UuswyZda}p?+Hqo^wN +|ZF!+uw6%|-t$hq_?XS_+K7qFONwhVAwni9Nu9$fy8<6pq6X(t6w>I5`GH*oLHvoraz@-xHx1tNU1>a +46bi1*2O}Z$41@H~KSh~+_E011n>|E7Te(oobr@fnvTeQx`dkV$-=D?g6KW>QNw~Eet@6qwC(kW{83USP^x3m!_@}xht_1L3V8Cws-5*66RxhK#DUyVkm^ +4%%I0^ONMyj`)2c~apeIAByE=X9L}afVDREr;ySg*-lH%3%!mFXA2fe%fX`X03z%RuttubnJ0qYh&JJ +sN>wXm+i9F9=Xe9=B`9tZCN_M~h)DbM^_*P24LlM`e9Fk=Kg9#3l71S?9u +tN+TlCI+n8mX@85l!#JO?@(lbb-Ik{KL*5vwes8dT>Cka|?`6Ffs(M*?v-jSYM&HNyvRd*b-{i}+iZA +J+=5go^;>mI!w=0^D@(A^PG{-2dj7CR!GzdH=Ps&J7bGw|WDGs|01rxt=V;mnOo*S%uu;9Cmd=NIp2P +4LZ8+KW7CoM<$5YsazUXR1JSks=e@&PzM8X3!nQ62yf`F&V@ZyApB;CBf;h%OVyrR|2zKDTz^v2&>+V +&xCNolP}u`r2!cdGyR7IIVTaC)*y|NS|#=2p&`p(^FTB;M*G`(cNsLiS2Wx8*ny#VCd}P9eW6CndwhV +`Pt^33sa2a*2yXm{C4C4*RLY=ch93QYbk5vliF{ +3eXOZD3~?IN!df3l1Mvy2>LXXRVbZqj%D#b_PNrd>RALGdD4d8;7T8>Wf6Wpl(7zkf~XTBq|^z3{~SB +k!S3?^TC7J(_JunogF7^KJ!ueDADcg= +N{mJ82*@qskTLqaffK9W$Uu{$GSF1ed*1`9~HOO{#_ba%EO}66R58Z%wQkUmnkl%xA^|5VlqBb^Bovr +OT@UtD=pZn#WA8p?7H_N|p>KnbUn(w`u*e|r)QGe@v?T@-HrisYN{Rd?ncv1R*w$OQ-J#-PiA2e&^_w +d~ukhhoN1DK?Dv)#5!Op+mtVaffI3VAD(umM!<~OwU8W-% +c3;7BU*@KSHw$|A3ZmuS#(J!YiV7f#+X&0sl)n}84?*O~M6uvtW@ZHh5b1c40tL-z>TJhaEitmnO_zo +gpq4uZYJ97UIx=u~jx?Y~DLuPCe=l_H+61C+Yhu>fF@G*%`>z;Vf}HTTsrX` +uc3{&^@0J?H7=)9dzC%--ABc-ry|6Ob@4sV5jar=F;-oD2s)e;`lCo*Pe6m{YYym`=k9CN5iT8m`c>w|wc6=ep~MLXe3K36z`eN#JTe1~ygnvCCSH2mJo5bb=v-7VU6Jm-AQ*v04 +VS@xCXnrK|SuVY5PE!+1h(w)ZpZTT%H3IMwg?e-(HMSDNX!#&{|Yy(#rT|;X{&^^Tn`{#)+|AWRZ)br +T7Oc7qJiMFfghi=<@;vVF6ZQEP3U3aZuIixAeEtciw_=wBT%`$bQS7qjgt{p8iH}rLsDeHE~5u{u<>* +5^s<^y=|f1ko*U6v7MTH+Frxa69+WVc;}&KdZZ8;V#K%l2x{v`v-XW32D~B=yZi*%wjXzBMU9(Dhv3? +v5F2P}T*!Ydw(?tTfX-2KlKMqT~|p=b*j~pe5n6o&~5M%lldq_>oznov=si0{F{W7d@{n+aZpp0v5|) +S(KCQCz +}!?j8!I9<;7vNREyn64zipAw3F%4 +ltNAK)|F20<`wxM+G`C1E~lIVNV=y!l|8f}qngLwTK&o8mBOFXH*X@O&^uJjJpoLkIPop>Jf>UT +#Sjbsc!mcO81}(BI)*Um9tk-ZkUhomq94jWm-Uvtf@k#n;&LFw04JcZvN^<~!+oGR1gAa%@qPcz_Mu2QE$?Pk2;Q3k&?{vxYN8f_)u*`YfeVwR +Xl_?sp@*0=-A{Ll0jPT|Mj9r0AIc=^?!~yW(Pa`()_RMdCZ?q#HGMJ6`Ye4tUAkF4A%3tUJ9o7K9Y+K +8Tz!!{RC-k`|Q#|DdE$go=+x4AkqJ2}L2r``wdYm?keEgf3k5VN2a)W#GReJ?ZS9&t+jh!)GRI|>iod +WOReZc?XCn`~=iZ1HBaqJk}p1VXRa#MOwvl5%o>pzJ=1)(E3w@J-6E<()Pj5(#}yIWT3c4}a*5vE*vD)dG}aQL&OM)@Yr;10m@XDOXZ7_q!AN6w;{Zf(d?x>ebH +XYe898F&mj`vK9_C$CzU=K&o*8-8~D99^D;A|mr^rhoe>BkXZZ-PmfMxUF4G($+3m+S+;3|M>SSrvFj +l3f7OXFFYsI6MJ{a75v1A>L34p?A>a2@OI)194?+r?K*$6h&Z)riv~U=!mP)@Cq$Pl@2`yrboB}7>Jt +uWPo+LSq3rF{QTx}TixQc>#L|`)N}K7Ed0{VKUZzXCsd&1rW|V$fTJSW!ol@{>W{j9}R$xR9>57j`+y +5cR)h~>uQplmyu?4v*UT_$Z0@HS=x}^s_vc7qt8?TtK&<=Z2EVx~dXTUaXTAaRjsrU31M&b3R2h&F4{ +&^o{N78{p{bo9o_vEwEexh(bNOkXIU3aWw~c;;I6%Df7N!Q>;9Z^*FcNSJnz;3vxKVfJASRP#&6B=6%vsd7I+2?`#%kZ_Sms#KZA9lpr{&O +010{wd6(#ZU?k>CGd^Da+;^W3&fQ8$Quo`#~W=W!iaJeFoRB=D2`hQIn;L4R)0^CiH8%((#10bFBwmQ +IvsUtZAjd6nnwx5no2CFJRc&12k5{XC@f^K)A3)X{dqdJF-^Fk%S#tzufxV^i;6c}t}irpz-Y`5f%Gu +p=G;4_gt_^*!Va7NEULI)1bw!e`Q}6K!G;dC2p9;7ZY{9UFxHx2EsK`}x{ +bq|Y0Zz6vqCYoubA&(YRa0r^_t_+r~;$Cuh#pc|`GOx!D`kCDkoOgh;LW(5BLcDe!{a?iM&+&twR3Z}Mo<2P9*T&LihkTC5n6dYLc;AHI?Q`NZ +7~4;%<^{1%pEv8|O%uh8_YW=;Wq0CTHs0m3f3xz|Fk|3)H}$tD@ghxU<)m;I@IAZ1a&?msX~wXHr ++OHC!(T&J`#=|QH;*V2Q3jqg=vUYi-4ccU!u-1keA*Qn?nLOYIhBF648@q#~Jyb14Khipi>e?Y~Z^n) +tQc)4CLfAKC$e(2ine=ze?eqmc8w}Gedz1y?l%VzE}YW_rpE~?}U7j=l7a?ae~iqP)kaYm$ +5nN^?e~@Mj!h?nf5L-?EvuXTxOJkmnGiWD$U6KhsX4Rl85CQeT|ly>ot{TshM`}Z1PI+?`J6ED^d18j +^*orAWyvxAKI1`N(XNqE+`A8!3V1vS=H;;#DNtfuHG)Tci`5nIfpohf@$P;5&wShL$(*3(dYrI?8rD< +jyuQY3pQteRc2EeeVQVCFVX@tsx!;VP65B4>ZA0PvdS`V^{96N^BwhB1Te?-gIMDB9F!5z?<*rM{Wej +8c(@VmtFDdhhrHJWZRmbcQ5Ni;quPdi-d7gfKS!luSs5sw@102J!nFwB-H7wuMWV}xpW7uOU|NLo8_+ +*kHrlUX#{GNo{L4|jquNKPx~+z?0eC^L2LC{Fuh$%+?&|A}u#ENovA@O&hrIC?-7NcqpjVz^Kadaki97q5^1;8VIjYaPUT0rj999g*t7sc +C{><*UW4v7b&>~kxWK)XxxJSz#ssP`l{?Hsj_HVjIUh3_GFOpCHWwH^Wo+|3M2M53xFTP2?25pzVS&` +;^R^~lq4-TfOy!n>zeTZ2`)9f3YW)LyU5bVtW{8D$T>)Ao%snT4}I<>TCT|YE-mIJqdCO+=ew(kkRj~ +%pmL!`CKK|OtBR6aR=vgpy57JPla5R1(#c^qrIiUt9BRqf@2Qulfb96^PPN4;OtgxQweJ>IrzwC8f +P=ha%gJ+qIp>hq{?nP}`{8;!8-jg8^P(1$jE-!+Q<6><7o^&Vr>U69Wro0tZh6(%k+=9+=~Owm|?`-V +azT&0U?Ud_3};}VT%J9V%#)5)NOvfOyC>w4ZGU=UW6EA-DSV!T*MJ_yidkm3FD}V3nvszn~b=LN9$e{_hF-bwJqUj5w8DO%6<=@qbT=^`rw_F>AN`dc&I^|#Ld@U&Y)`n07* +A9mjAOrKrbIj?t*PjjAOOje!Q^K1Gneq3E}&Ik3A47Um=cHvrJ`6Puzt2r!(|h(@} +>VsDlgm)4pX9|1WR4rv_!S{96I*1NaT1F04m2@L7(!5U(`N{jgVa%R0HuI`x{ktOv~-%y$E3Jy$^{=f +54TTfn}}2aH`U838$V=QZoJ9CfPFCO=%QO?ntIIn;YOT6dV^CML`kGEZ9@8f6XwhTy#>&87g~tT|8Jx +)QV_UR9tS@vp)?>MLnSdr*}?mj=*fKIpOzws@76vA$mG*rUd=zCU*E_}ut-)+L)QH1M}Z*AVBv&QX2n +L(tD|ZThiJUD;4qld-czo8C6KsG_VYQyjmroH{@>-k}BdI8%-A(exJTigkyaqHefN>tenR-MPMUin1v +)TOC2z(zD;GDQ@dcF~X~sd50cK5p}(8bzjK)EF(PN5XHTd4CznjL*7sOj7Z@!Z(F}DEks-7yAa)7?-* +W6+jlqo2`A!}qDf*Jb;BX*h7%PL%2xfhNx{jru(kA$@UD~X>VXRBBeT7zF_dW``o%1l<0|K2ck*Rf*` +XAa!}q6<#%AN#Xm;q8LL>5Wo)IZP8h=#TKO54aUe667FYDZ%A~IR;ZJ@)yt2v6&*XJ1B6ZoDDns(^v> +$jzfx-+(P-@k$$gEqIX*P-YzmvnHc`@^uuq-}~eb7Q^qms)B<@NNGMdHw~zCu`=nbs}GLC1{Ddce>Pl +A?^n=jc{kC(wX}pZ-eQ0&QQ4@1Q5!FDLPvM}09f9rR`UZ$;eaO6CXcLyXm87u|z)F%9}q(nzChO;dJeA87B)htJ9HnoHUlr%is3^u +kuUz=J`?v9pYbcBrUL}cP7_~c=Z^JC*?nZoLi6``d+pPd!O=2zz<)(23)98$-fO`-Uyf&p9EXVaVI+$?vH`E2ya0SOqB;q;ASGTt;m +uI+6621s^S7>7xVNgja{S>!YfZkILr{!ZcSlvjZ4wTA@676k$>Bu&l8v8PW#;6%+rlTIlUZI4$|J71` +%;2a5%VDqS=n{vrQZ6QsgJPCUZh1iE03<59A1o=JcfVr{%f}9AB~Q4KMnh}81a4xzFn^_WA8BHPvV)y +m@n40$n%fd)EGC~Yx}_c#<$r%ehNB1V#%9>eDq@}$4q;x%#-8$qv=m4jC$Utf>+SQ&NlgT}6PI%5#A|7tBYm^O +0Lu8dq`XP{~Q@FZ8uiLQc4kNDy17QWI`cAMrr)?mUacZiMf^XpdGl^@OYOzXR7l!b(INxv;s&J6(4j5 +BjazxVf)Jq&zT>qgh>QpZhh`xNNhXPX?#r7vc}ce?ai_$(#MEi~u>tzzF1Y%Dp2Jh5^RueY-wn)q;h; +q{S9yR&^r;5MUz@FEIvu!TmtNA85A;RBC_;%GtK=~ +@b_k+6g+y?qWFZgVy(elG^UbHVQ%^83Cm!yg-|*tNZI#v=vOjmSLEjPD{S<6*q3#=CNxYp5c{)Sdk) +K_l0Y{S$UM2Ui4jv8|?muIdXB4z9>05As4RI}`Bg?Ze+4fS(wJ&y)_|VGwDruJE>{z-wwfl8$cOVsK0 +=JZpPX>qp3!48E6?9`zq+L3jFno^kYuo1f3i7q5XAe+R$qcJ-mnbBM +v2foV$Z6Rl=ZTx^V!nMv> +CYYJ^_~K?{wCS{A`Sc&&XyB*6{vpfO^`p@^?cID*mh#G?rdw;bB0>rn{7EPf*;dbYNmk}-#N^&jl59I +o_%btXn$s#XV}fY{4dytJ8S-?^q@X#>vs!hm40^-ewDLIotd+AR>tm}q?_&lk^IWx)pC*q$?nXuq}QThN%2J>JOd#}*{$d&QRfkG|Fc~Yz8oR{p-Ulpivi}C +#lR=WKtHV@Z#&}}rX1?=C$pYv);A3wmpNKN&DCgRL-4)(#bUZn9s=*nqmS5xsDJbYvLAbk7zfR|@W4f +fu*X}Ah}CjWOvqq}?VTRaT^>p;7vV6+w}TlstF{{iHc{R4*`Vc7d1?KEwu>vP5~*=L4!>qEOOLc4V~t +s71Q&+`k?9{Cn%(om5SRQ-;gr1Op0KQ8Cf+lQA*Sch&5HzO8XgZAh*?Z6UKFH8meUg&^n)Om%|9`T{Q +qYXTzL3TXZQl~a*XbbQmirL@JzNBWiXk?!k=eMv;a_)@ZWbC$IGb`mRfNgUW?gT581>8nAHVwRO~XrU;y?j-*z#-e5dO +3r-#DarR(;43-txCIY9W)pcBJV9P2IGq$U7f6aooV)FUnY+UGhBFmrS-O^S^-1UqGAeo-7b2P953{9t +BRxv7sfCq>q%N;-ZSUAItAvO)MGxwmSapKsI7;v=OdL4d{8tT%eCLDg(-GaY!kfoB@%mw|6pO +&f+A3NmQ>YrMcY_RRjS1>n`s0SEG#`84SCUEC-0XDM&B4k>FpVzPEPE^9kVz_T2bn};$x@7p{)73Dr# +IQ5Zg*w*bfv7`zz$Nv3%$lSK9KS}2H$7C)R$FLmsc~S0;qAZ^&cLOuya`#^|6Xfol=lL$=JjS1yd0w= +@nMOSHc>UowuYZ(tDU{6aNG7xMA+rsre*^ejkNPtv`>qN5pau5rYTR~bET%YL`-3rl-zX1+IO{)koAl +M3h8o}TWQfKF^7W~}3{7h};XgGwEa1QW!Xw&;ITm{m(xz)#y?rme@fpWs_8-9)gyaVyI`Cj2D!>sfR84UV(zqb>*gAp*&;f$#vf0f%_VUs|#j4G9PsCy +FhD~I0yN!YeKAc0J`zTLJ{1wMhmthF6thMj*fSa^{dqS3*zG>KA$sAy3?o|+>a=_jkP;B!S+=Y${2S) +hbRr$KBcYe_pM{_tk+vr8DDk#Lrc{c_MM_`23Y#1xlHN*IJ5W46Tbe5dU4IT55tCXMdG~UzK*o!Ii3sOSMQ5;HM%X%DG8*qEi7(I3h{JtY(Ijh{8G|uimA-ySMlF20V&d9dDCd03`1L;um +A~@*B+=f_^#F+Jn1?Y~eV!3vAJ9_pw>eME{du)e+3@l4Sn|00Cl=h+it%yxXe_cYy_WDfR&)|&ya{?X +nzTKl=8a2yH_CT8zSqalTb1j&PSg%WJ8C%Qvl#cFXI;5wZ)88aY!^3HL|jb`Tl2MSH^&=JLk0%lFPa! +{N9T&B{uOGT$H-hYA7x;!(Ik-8Iz}Ah1L290)JSrFD?V;@5&VA>{J&(g`G#%w(BI5c>ou}}QxT!xC)< +IgKl)|cw9sk9bEjYvIZrCy4>;a0APz3ghzwEpjoci8j?d!Q>f!~@?x`J#9!Li3%&?jl#CXPBvv49df0 +?$9Fw+3@kGOUM<~qRK0GLiEc&NEoxUTNy*vzw?sCx^_nP|RDOa@s03uwEwkcDcCEcD6wNlF&1ZMOqha?mh)xE8Md~D@0sw&t6e-aCU-z7y5szoT4#5H6H)EzNW?|T2kWgJPyxBEk*UEa7+v_O&$Bt +WcqitUp-|-@G(%B?Kq4$lCdD-X+QKsLzbEo?$vTu__M@V9Z{QX{!*MKtaFSXF`dv0-FSL>oG;`F`)} +9Ph+y@|sz6cGtgPx0XQ0!Z3uEQSV;uKp|GGnzbihyH_yXU5>Fwxl#tpe5w~fzhVe{B$!oDq82b1<*mt +G6{7LS&-WzLwgGA#W_MN6R +nv^i1ML5^&}R|j8r*~EIcuPMk*%rhY2WJovx3CHQ@zsXRgS0eS%}P713 +xn?8kvB)Mo%T`RJH=T0a=m|3g@ruSa)Bk7ONx)6|<6Xg6)P(6G%R?Od6qoaa-4POzkc~S^dzjoL +@2%@$4`3<~O3dv}eBIHZDg`YFh`UcFc%2i?V^WqHK_B2N)06iZ0ma;K0Z92{1$rEQ>Js2_V3S>xaIOpc1UO&yX>E9E$Kl0t +Ez2z6`Z1g6&Oto233itAglT7E=?(b*2iJK^`)VsAcgz;;1E-BLmdP==Gw{u;x|W4qO=u%sHjYF3K&#+ +SUW@J?+pnYiz|E>pB#SY13_klP7UNx~p3~+z=PCWYl=ty`__x>InGe617U#n~CLfF>dzlMecr9)#id#AjTa4n3NKQ?i+<16-;dg{g!S~|>`srS4bhjNAF~y-4``#hx@Ni@kFAU>9& +SF#xTIO1a&9}@vtAiN96E$|a?EwIIo|L!_%M|3|3fS5oxIE?ti-Hs^|lXT|1bzK3=HV +t5Rmw@!rTg$Lggp7%_EXL}Mn|KT0*qz}NcwpHn(@rG%)+{b>kRmEyfffu&R^(AfPnc19c>R!kBFm`i( +U`#Jt;TXDtLwHr!s`ai7gacnQO+5I9gf-GpLpTy1<91D)u4>?Pfuaf^u<35hvI2~f8vs8pDp|{x&?{glWQT=&+W@xJD!zx(7<}`s_*S0uI- +G6ku6M?_@4euAy{IL=T^4+Oz;^}S6IVa(y_#qu{w|lo`w#5z(Oh!QJ#ja`1zjfY??&eglg=4PKS|=95 +xNaAv<3IeJr>+=GsisUJAb~X;q#Lp;T#Ar@NxtHTX5|#=^e%{gZ +>PBBQGzB)YQk{ciZjs|!Vt@xQYQ@|_|gt{aRcXyll*Z{(#?-uFbKbzU{Twf^eNz#e~YPbuW5v=@1Z+XCQ~4xIjVyOgWi +qeuOvDT1AaJmz?IYp4qX;T7wI#I{F9qfnW*lbVPI<&LST-GV +w_XK>MS5dd^X4zxMVdDKvyWECc6S)g*i5{-S6tcc`F&tH2*b5xJYxR`S5*3!{%q! +19o!(bmm*py5`xU(T{6Gnwa9P{#L2i<&^vJX+rI}Fw0!a(i@2uuSVHx9!2|oG&6Wps%Zb9DkH1;!IUE +ZgQ-Q$x>nX)qm>n#zRe3lw10qOq+P0SfAtBquIm$skBS(3XMsjG_c52l*y+>UZ7T{yaDA4DY-nBe%!V +Z*{1f=A{zXRkj4ge|Iy}3yIg1(=i7>}7W^g^r2Ss?g37>6s^(nMx=;?{z`T^I){%qI_Kk^nm6`0Y0># +OGeIyThRX5!vw);sVa{49t3tp9@1-a} +ooxX1+n$l07L%V_AU_)byTg>94pV+yQhuHol^^PB%E~&(18lF4GV`mHcbAzvO_^ytF@1Pogf+XPyIUJ+J +4G8dq~(%XLGu7jc|g-OpL%8od{bQbzA*F0zf@dltE_RdeU$*yZ0DP5(E`OY}3Sb0{C>cCm1Xa+)IP8l +jC}@vGHa{aR*LOxLj=DW;$1K-MG=U>jAt72NNp6)Cc!nH4f^l3{6s +aLNS;a{+yAN+9ca@>+>{Atscx-^yMKP=^a(k!oz_+Dp(y|B~eU0UO-DWZ;jwdM2R7qBmXp(bOn +@|9ZSUcfBhr!{h(xhtJ}QT3F0@XS6)FMa5A5#c(#>jASG*AH>dC*#rUM40pCh{qCM)0Mxl>ZfX+jhAz +7j;cL(mTPLh@v2{`xpDH_ag}ZzzIh?HZop$%oafm%D+wv|H?GQztsu+3t0GfyM=#$j41wnG=YE4R8hD0UHI2O%0INH82?;x{(acw-*p!LebD6J(oy~yO +>zDK&V>BKH!J@#l8v+Yp$ps& +ZRM)pipD@D=$QqZ^VgwgTsp1^e#%j#-#ZqVWt5cnI5*zeJk{0NE0Q4z{QyY+#8BY53bhao)8BeknhPYHH<}^X)QH_H`Bi?DqT-owuIv>X ++D3A5$OLj(cO0B>iObdg&ctS<4qm$`?u +UOcUzplbj^w+br+0%>0S_SG_SH*RzNG@B?FQ$^R~G=@XW=#C0gKwv=jVOYQH{meT)>ZK=&>?zv#LB`@ +02dbTB-Y)fIcYD-Oivn}}(+R}PUTk>1ml1(&m&hG}$X7H_!ngH4n$5Hpm{yBy70#lwca78;@$#gEw<^ +Bj{wu^1ZrrMCV$+xw`Y(pK1Z759y`F*+BhTgQfWgBWX+fa#?XK6#Zqw@R^{Qu3ka(p}9mhybu|Et^nP +VFdHwj<`-_*T3f-TaR2NR`VxcfB>X9W@M$-$RTtyVaECtqHQs=lA-%oFx5Z^LptWU|GvgY)f0swvd>| ++LjW_w^`n0iR9zVqcMYPY|OBwb=B}iO>}p|SMA1i&4-OJ{aE&I<-rHs{5}!s(h-MIhBdkVrN$2*x99< +_mUc5F#EvR0FX%_QYFxdudrHl{R=B4882#afnz-E@GbiYOiYH{BcwUM8rSXiL6MUJ08S6gC_Aa3GMG5@_&p)X)$GOg)*_!l^HX{w=(W)(uOzi<#R$qiV7I`u115CI0 +UhsF1LoQ_uAsyGHfVE(=Gv>;3X$ehg+>?06)&WT@Lj0W-+oZ)w#X~_Xs>Li&_!&ge!S-x_G<92{(VN| +70A{ot!67)$vFgOp6!;j-AKC**A?)wn-Ryw(sADUy7zJ4;2Dzs{O+G;`uksj-^I0+y7Koyv!%^t+GyV +OlUi!lBi3>?&B}`99kjVa>#6Ha+3;%aV}4U6xaW>_j+FG@1RsgH>c5nHd_gq*S>z+3pTMePe>luN&y0xFTXJt4?x{VN4{KXjZ6zOCE%c7@K? +jZRBpoWX;5TQ9_I%yceY#f0x!P8KUk!dIgYR#BsWhO8GNm))GQxUUjBzQfRH-{I!NA{fw(@Dli9F8FYM)SL3`LVX)h-y+bq1npGD#pb( +`)>Wm8@yxuW6Z7A0=2tXB{_#B8nhQAdWSl+DHg5GKz{}Gt@RHcl?1c2Ov|KBl*sr*ywd0u-*}p#y&NE +*H-rJGiOaB#lzaoaeQ-t=mUFX`~++);#T$3ne3;IXy7lAfa!To2EhWe}XQgruMAlnj;rWskxOMCoMA< +wv*<~t?F9W9GllOz>xt$WX)o%FusXhRSG5AxBLU$WTQR8ESe5 +8JcX7q5YTMNrsH3aWdo@m7%6&GPHSeT!zvtG8CC~Gz%{~P$b_>KMFNE~08$Sy-~4o~+$2SV3 +Vz9?6qLtTSytX!@0wS*tmVgG0=5Id1p#Lr*T(}epbX+s|EDZ_nP%x1*uu*_12UtfsVA!grRedG042k| +#N`08MyAJ1{nhm+vm2HXSgn~Pjxf7T|{p%pf;MVISr7M5s%8M{E!$eYTSfj#2>UI(^w528c4!2rH3#+ +7*Pdk}mFZ{=FMm!rE`ztObt=Ve-4nNIejAq{*EU*J8)A@3P~*s(>8Af)Q&Gl!GTFX4{`C>ATSfcl9O}p3$MY6jPDE`YOy7%ZkGXI8O*2IMUXA;w8sR +nIQ>@>E-`OW}1J{+;#P^}$`e3(NKfh0e+26AU-$3<^tsM&djK3;rd^@R +xoS*H&=OIAF&7s_#q}?QcRBUxK`G9!~#UqbW8<#r+&(xF0yYr0u_hf9dERFJtEzI;+f+(U9K0sQB_mYnb4(sI(+_s{j!`QYzvv@4G`btre??me7CwCGfH_p`c^1(%lFRt?_EXP5cx +GM@o6FcK}{`2mc#WPPA3WuF_$>C&BP4RTJ!d!OI*=c>n}mzz%tYdsu)$$BJT$2V-Q_qs587M48}u{lD +QZ7HFpsiOM;^cHp3^C@b7M~>xfN)g?4`0=a=lv($08KV6a+l){S+U?7>>0F!7bughvQ_w!32Uo+!a6R +K8$musSxHqku`?Ak2>h|I}hx>E@?mwAu@)F>vbGWiYw_V^_Giok1;Z;D6xt9&cn!ap-%QMa%#xwM8m} +9^#h|QZ}2bqWCZx3atbpg~rEg5lJIQ4vNjZE^jet&5?e)3)D*l3|+O#&Tnwa{_JyU=kJ>BxD|fW^7cR +ytmnK*!SYbZm;zaiN8d*I4NI?{B;pI$GDS>GF)U?ljJOGQyuYOFnb&bF`n&8N0X^Xh5j7*jy9D^*~$~ +R8){A_se)#h$SBsYCbw+#BET1jjsAh_UApTGs1cw6y1X@*-27t#x2?y2bwoZ%*Q#Z4Q21 +q*jP-&@OV}O0=8f6-8?OT&UP4x(D&>)q0vZb^|9f$T20amLuo!E`e`TVV?fKBs? +|y5_{rB>XnY=DBe!^D{_Ko)b@dre$uv#U3YHe|Y2!_@2Z+u6C%ojf?G~JIBsF)3|SY&X|4Ji96@U<^u +mgo##&VG@Y@z682jT}=EIfMjoN7PRQDT}}t2TDuy7B9Aj`c@(4=1cAy#TnN(S}6HmEpLuJydCp +L_r24y~2vD2XPHANEp@{gV;t(Zqp=b)#uH*OXo2yoWS3@8K@d$h8<%ts;|g+r!rwTYXWr=A838V)X>? +vdDWazoq66Gu0kTmxL&J4medg6iz=)Q|p*-Mn3MpbWnE=>6*gjKholB;XZjzt%c)U9cQHZqzmnUb5HY +IJN9r7T924=F2Fe`*U53rp&|sdkEg}u`O!4mE3TIoIi%4mh~Z!6+()yXq#5h_#7ueqN%1Lp7QCYK`EzQ0GRxgzsec`==Q(FlU- +e8EaNvG|)P41p;`ph_Y8|x)cz>cl`MM#>gK8fl$GT5pY)w4Zl~aGye)3$m*m`xI*EsN)if_)Oja{o`- +A|D48G}Tl9f5)9O9A@)KbWlc-T5Q?j?F!^83Tpp8C&OHWo)f-Xe&LCk!r|?ANRMkZlBSBd%pAIzD0Ac +fInCQIV`TUi{q77)EUo~eQkGeF1#PQf^FjliwytQS+u4J)h>DlcHs()Ah?e%{J%Ic +GJJxYwBG!?mj&f?u+hTJQ5v~w)5@ixb@r6&vL(Kwq=*tR+H8|^N};iKbS4TXZ}s=x(t|HPu=Dg-NZAN +KTYOOTbB?2^s`y)D;33;+*}j5bf{9DC*xbSZ0V5ACF)i~2b_A)IJr&jebdb|O3`+^pZQ&McdE2|GbG+ +$1kStM$|s$FR-MV!Ub*xb_u{)_+0tV!ZR(1uiluE0=GtfI!INBj*il(D^cei+GxrYr_*UU@cHSt_H+f2D8dSMITeGhfxH^kbOt!eYTmQFK~a1B)nS=I +;?cZb^3jrI~-frt<72#Ti4CD9e+Q2k#)T{_kDN5jtlU9gSj5^Wys%Y$l)o-BliMTHaM~U|7grP%9qTT +hjPn32zH~6Tky-)#evwlg3@*Y_gTPut~;(LzV~`eo)3>}Go&5Y+tMzaM%{T9nA(3YFLbqewjt9TeNCN +h#yu*o%T0!F+*hW)`bCbpkJ%*AO}Sa2*@COIv>}cG_Q*Mn70-CIob@f7V~F>y(J15X69eg@JJ(@E4&Z +t)Pn=_{?{O$!lXEw{72^0M#jkVbzJOVu!28cahCY)bA~_Bt+)*eRTOse&@LA_q=yI&D959Nc4Ne={$F +dOjRJ+Br&t$1RaeE=RTpxSXrS@BHLEN$3yyx1;YV)3JNnGar1zVo4z=66qn2KSjtPWl$T;DFC|_c*Zg*7w$yZIs(n^^aeY2h^*MI}X7>~oD^}rM9e&(T +AuzfhhuUwAXY2BeoV|Mai=WA2zo5t=jT6(+mNU&~LDz4Z`#mS?`v?lr^CkSgjNd=tw*$YO`0c{4TNgb +C@H69q9b%yow!{Z`7NgI-@x4EG_-7lVdw=*AJiBL=rp^;G_Xyb`W{b$!ICu0MxN$Hj!?8U?Vm2~W*}X +CQlvwvAvHBB)=?2U+XG={r;5BHj70#=V?s01FXH_||b%Dvpv4&+og)IcXi06--@Zx&GV%I+d9n3S#xF +^z7&Na*HDV2Q=+{aiKjhCi&%=oBX+NK<*P4&~d0E6e!1>Sh66gsnv`^|j?_wBko=gs%JN9_+jF1_AU7 +E2HP7%V}W-ETuzZBuI`4!%z`YOqgC+x&*7l)8y}G?#cGua{@%wW_q9c?!os3fsLi-oj(UZe(4La9f6ddGQMMbC(d>i3pQQ^UAS-f@&~k +9AMgTrQ{a1?A@3I6fvyJT0QpKCN1=HC~~MV%E1F`Iv@zJ1q2LnG?~_S_ab{<=$#4Mji +KkKfc|LZ!du^Uh_TaG11u8*!`E^-pRdt*XXiea%ZKv=GEysyr&%Rxi?wS=k!MgCg+DZ9#Dkm{0z~?bE +Th4SGt%sAd;^3MzY3z@qL(L@%gCl>D!VfiaS%(y6{2J|4YueUAgKt6`LbI&bez2;&8NuR$UA7j61@U%v$^t +M^G=u@7DsCZIkla2=lazA9AGqny${}m2>8K-V599W|xqApm81X8P0EWi7@B5#?OVz3H@rO>hn6!{uKD +2U6Ot|A%6d6y6g|kp>OKq-m%m>ux|m@?@PvT5%}91jUHfG4S>x&)Lm|~+^-^ktejoxaxcmn)vs_Qp`U +-;IT|~%3mif2xx3dP4ltgta)|C*5lF>fs2?~o7vRI&1tazp=`ul6ik!@iU+8^eLOqX&pviuBELM`i7f^w{2JhZ5=+*Wb@W* +9N|6$aQfni~BDBY_@36^u+f?K-AI#cF9nEp=td|Ap5#mgsu +ubZIkJCc?CB+3rO%bsnPJu^w!6ZlUd>X$Q+3Ca}b_p(2y$gzEo?DvVyyTp}yP;*~D_{YItq?vsK;QO0 +A7alOSLly|9!I}@g=v1UHzo_M=aqCok~;uhwpoUb^cwN;`eXT)IO`c|CQy;?L;JDLPF$t#`ET;rVuzv~;SPXy&g(_C`+8BEtY41smLl&ela3W89k(Q*cK4nC*g(3GU;TpeMje2=3E_Wy3(vYV5EGB9{67G}l +4)+x9%rVIA +%SzN33IS^}zbJPRb+V(vSx>3gUSL}x@g1@mD@>*{CG~CDG0(_Z1o6FY0}882`Tz +*9Gt4Wx(?uEkUBfah6s1Q@Rey_tfKS#fR1$_RaoL3U&K1Xg@w`v(r9NWX#A)xyIM$e@*?W8=H +Qrd)q6gjt-`^>khv)a#!)|BAAI{hP69^iAlX9v%f-p(`RD>8y#jLLDL9hx>tz3a~i{ypEN#Pi7WI8Qm +s0&YXDEp%z3EU_=&Zd2!+0M;~)sm0E0i=9iO{LCMW?)!V{@AaZJHige$^87UVI*WNO#acP$KcPwuj{*61e@3&JXOwlE@t2I=sBr?shj6GCd?c5eL7>zE(+C+m*Mm?c*AQNEaGZ|r-2JfF2KNO=p#<7KYBGS5z}X^pMLGM^tX*JJVf +eP(}EtR4J>zELT@A+p#d`;jOlmGkivs6NAUT#PTUdBir@@Ej7q}v?p;t>!u +CEsjik2M+;Kr*z$aNzR2_}x!yP5Xw2t%Xa;a-n!J(ccb1Ea##VXW!SqGkZ<}qh3oxFYm-SsWx#MZJV;set(Wl1dxvFg9rXaFZ#LMM{)dlrEIr%Ocw3V&Sl}{NLwW5)O$8oYujfur-+5*#U@? +tDb9LuPjSk_X?vXS_nlGWlX9+A(;T&jfaY1`?6k?bJ)GwQoBdqXIaioAIB}l7($^K?czw+MH0>%T?zN +P)$}G!i%CcKa;rY7(W5g9WYW4~9EOP6(kA$C@5=>_I66bA{yUcjPoQuJE7xk|AdBYR$UpyAh0uxS?1< +tJ#!Wlom{}S}l0OTbDdSOAj=>8?>mu^FREay|EKilOnB5lwSw=bYxz_ZJU+-lx`1lO0ejG=uzlU2(*m +OZj;7v%7q%V;^_ZQZrUrDcE1ZErd8QTR;<_3WX!;Hz$)vCbIvn;tdhPn-1bPSMUiw6|n2)<>+VsW|qZ +ENOm#G&!lF`^%HE+lb?vXairGl-tI*;dR@jP^UI&)ITC#1MrW)lWv|x^6KZsFwatEpE2_e!1iuOz1+} +&%c1{-w7IDBf@k-vK;4dMBEoe1&UDpCbB1yFHAnZP;d^g^2*O6n@AJ*HOh;HQz+l?>NLOX1Npq+)0i> +zYoDx>og5Eu`G-)moG2`nA&sj)5E*76>$FX7VkG$U81D^Yj{u(yv7L?my^0NW_{4#L(=z^aqex``yiV%pl_vrV(PX5_$l;f=)Y8%I&PNKadE!XoAj3ZCphK)xKjV +_Q}%4X6L>lEMVHg5aI?;*7%ewd?>cp4Y`Jm|()Y*xCzd^Qg=POZ<`3+5wz`8yc^=w1dnC3WizUXAb^N +7@tDd8;`a)E#3r=<(;n&_C`^~DqSyr~D#`gvW)ZXVyJWBU`&Ag^xR_|XNiNi^DjvHxk@HF)6EKxhrdE +zI5@472D@J#do`}L}zcVlOsbA4YuzC90|0+mzbS%H+3?o{}5c=lhhkIrctqyH@RA^iF?H$?sgd797IB +l7vR8zPVK`8D$yzIX?p-9kN2G9r)gc~X4NRI>WfhZ7Yuf|{@gAD^T4E1Bs0#{u}gl8+Z}j#NQcrKYJl +!YOK8V-(JjByg)KYkz +SvP*h=ob}5C$@h_tm49W9I>(V^Wq4%Vz28|>5v~%>B|Kxg9(itqEcJ*fOY=3cqzCVvVt-9JVxKN^Pgd +#wiTzn`nd4e-%X3f?$8UaU+D6-=~)YW@)o>buf +Xe;IT*p>ME!0*J$>e!rU_9tpBHQWQ@ODMAqWpf?!dX#P5lZ0^=$7!5MyTKuj9{}#e?~mN`g!}z)pKhe +t3R;qmQ$WWJpp)DK1u!?8^>ONI4F~hH{EwP*3EZw1W~|tkJM+&~FRnx3UOpZzcfF45OS*gg5uvVbZN+ +^J+&55DV^%K~=Fa4PJ(P>3+EgEGNifI6_cz=hhkLJbo+9^~kaf+Gds1F+*7b!yM0fu}o3@nmTbgtcNj +Ar&0lr3qQ2kRJKcSp1lyiIXd^{ho%G|4dz$S{{Z)rcD6=Er5Elcjx3HZA;=aTmZf4>})evfIhxIXq{X +j^aE@>WbVPbV=Sd^0(|k#xLkg7(KgCHfF=qWx_#+ux8T+F#J+_&|6YX!&VP`Z<>&E0thpEp0SlaZvZ^t-XsNpWx!r^qOCQfojn7Y^Z%<@*%j@O^K@E;@@JTjd0x72=0@VtnuFN +muxLCo3D+~CaSi+HAcyzTwx8;#Y1UoqPo?AAw&{(JW#Af`uF`CqzVcIy>kiLsJk9TCW}10tuH<}&<~{ +Qo=kopGdFuV1c`H95-@m_cZ5rRd-+cf6l^>Pwiy9wu^L>%|zG&rb^8NhA(=NWBZ@!;TxySnjjdSJu1? +Kw&E0@Xl3mexu`F^4Ke&NdN<@?2ruyuI9*nGcu1N82O~kHDX-a`E1|ejD2@-urdu3XYAt-d1TIV=O+R +(h!Cd?>T40dF3COR?P{euHgJj{h=D3w^4ms@kpizzlNCJ)Crt(;ZIR>1RK7ft)va1?r1RehFrJ5O{|o +9W*czF)G)@br*Y3mu^F3@ +<^nF#;;@70_wqzl&KJM%F;_t1GUYrE8ww~y+{7ojKfX8x~y{;zz-*nZ?U}tD&*$YHPn6SaY3CjiN=|1&PJe0Ixvx)P=eCbTzDh#v@$o +=`(RI%&G&TaW3bn-2z_SsQj0`n%Zm6c~)P^zH~R9kD|RB!R>M{{_TL{&lJJ@2LCh3`qAES%QK)3^s=w +`kX_CjckYmTuKKby5&m^lu2Jy~SkpaarfZRBafg%boB10{dSSxF-MDkxPgv8LaINRNC))qFJY)98@I9 +R^!sc25A7U%Hj)?QAxt`|_oXc#^2e}$>pSBM#?G^EJG7HVK3#X3UvWd +yGhOzi8Y(A@VFx#v?yHt=1)Rp5!+za0!!hS^RPhks5nAZOfHo53w^m`(PjZ32Tft0meD*y~Z;=0Jmo( +TGs%&^-i$2iTzsM)@f#tE@MRU_0`B1J +AIc3hp;@P|O%e=tBsm)o$w!r&!9(lf(`>VR%#{TsVJ#XkD*EZm{1~#Y*dCMC_V-M^|XNm}xmk7CEP=h +YYE^^$M^CGo8dA5r5;mvZYHQA>l&zI(WzFaN0jd?iti23~HIm@GGEZ2%4$5=S8i1Up}XU@~%_?46M49 +vQ*UQSm_4P|YW=3K|Ig)_@~%2pMrzU@vKZ-_D_lWC9m21Ob7kQi8|aI4qrF3WXjNS7|-b~*mCv(Glew +~ymxNXK%RmUD24Kc8c8Io^8^G+K5kT9?K)A1g<$|GRc+mFAJ-6r^vJEuN=d&sp(K=VJe<{7xU`ce;h& +urcq(?-a%F7_Z6qZE57U(L{dt!Jj~!Zsm6q`F7(Ne#grpzXK+}tK$4_DtiZhS0?bg-l6#IbtrzPOMa) +1;Wy9bhdkATN(KgR>nWR$=Y~JVWFq|$^4@z+lx49l6Uan?DHH6EWSQ +v+GLasaiKb0%B@=Vsw8}*KJIRF1%Rf3;TBM1R2E6OY1pRh?{ +PJV;^RBEa<$e*~qXV3GReU$+fFey7@}(gU;FR11++ypb*ssg|nf;vCs-?>{QkyETZetu!1=_h>=DH8? +`6J-xdd@j@!9Pbj;@<#$!|?}M2k^HeL+$Z9?%V&v-nYlaRbBh9=g+A~2#fmcL3b<3YU)-bSKDKb3WYXo<5{$Sv=jk6+ZjPO5Mu;l8`EJa +@j^4ms+lrl2kJt0Ina-|=)7c$t2~|M5;L*RTt|6?y~xej&IQ;%?CS4|-mr_tiW*aa-ne7C_(8Z>&p_Q +hcYC6ff2(*64PcVS+>$VUdwkv@^G2EIY`AKJAzCpXq)O`_kh^$}&pg_p +TXU^*LR`W-4T0qQJCH$TurI{gsspEk*C4IMl5XOnp}e@gbBx-I80p!xZ5|gU=4;89YC&dyD-5%~ONlqx^J9;qktw)4XW>o;n +KM1-2m$6MF_aHOYR39mIb&vW!Lk^9OryzXkse*ZJ$Wm>zVER;Q_tIkTp3+qi!DXlW`7v{QPF57rfrS5 +9l|mN6}F?7^O>I{oL#G3Z0O-qz`Z%!Bz~KyAj@TuJhnh1z}9w8ruuL)W4<`5$nN?xQv>%(85wwgsFtp +O(k6V?2J`A;`Vc7q||wLMM&cgY=Di2H;TOPN+(1OolwBN&@#GlfJVx(P!9$Lf3InS%_6=(w`f5ZQF6) +co9p!H;n}xW--S_ef9+((0oMvd4Ar+pIy8FaUbye0ZNZFXj41vU{Bt_&qK27?;EvGX9BZn3aw@8=isQ +YC!JJY2syVHpf;^%!Z!l#)Bd5gz;^Ubl3jmJAH+*Unl={1WQZ159A^$TqCe(HRn6*A+#mK)Sq(M0qpP +?b)U;zuG_5k~{cnUFDeUe13jBGyS`i;|17guVByG!~vfrV4wokc^<7qDBn48d>O?>Xd_ZoK$Tpy6xZo +IS6JO3$;Gr{ASuS%yqjeesHq<7O?MIMY%*LkfIXL(Pa4eoK#up2_@cZkM&mdrZ&nM>kz0p6Z0(H=>+L +Ch4q`{__V^R=_$EXYIOq+|NR=^AeL%V}Gj4%(KZ|7o#}eI%3hvt?=9xDDWmrt)Vb;ZM~rm-u)Lx+`g) +BiXn^Hu-j)7j%!&=ioFEQ+Fh7r?dVmLGp*k{YZPZY^ON-+?*|1TS9Fy8X(~HghRCm9`@6CC8(dX1 +1ah`N4i`ulTgJ@kpxbNnxaSJnP3!sTY?>pcF~Kt&-;lU`fcm7YD?NwwJ +nKlWfL$wpz9RU1jZOFs@p7nLC`TTb%YtVL^W6OIg#>_p2O`RKe +j2gGa<>f4-_72T0?f^|z5Wg{K$IGSlz~}o4ndmL#j{#lgAbGWOlRVMavvlh8W{YHb&8fEoF%P*1y08|P>2-1JkBGXAIwEabF0>y4ql5H4es&^DR~fzoPBE9RBK +<~jF3BWWfyxBV*QgTf1kTr4CEj~EwFP(%g>q8()4hjDo&sjJj)%i>O +f!|D1F#V=;v!Z0>{>Oi%zNQP ++7ry@rnqEDA4lZbWwFmWfQN6#UdLifJh1EOm`_6TB_@Klab?-3gHvZzBQGe9<&>{OC?jZ!duMVHTgQ6 +`e>9-s7w%i=0E#l5V%*U|y6py#ZY4D}!{xM&0eXaO%c>9{ZJifjf<%#R-mh=Dj*H?3ftO@>PwiDwEO +V{Zz{iX=1shV;r+^nW+?;W_#|o6dYahi>9$X)K27Idwz8{Qj!ZQrdf=k9JIDf$UU)HDk(40 +Ekx}MoE{e6^gBU$#`PO`wh36?m%s}La-L2Wk8!G`^uLkvJotCv*Dyh!;N$Z<-CslRi$mDvUl01gKaq5(4)~o7{?K>d6jSrFq +*KEmZ#(WXsqA(d8!v3jX?_U(_pw_Sg|-)Z59|oM)c+3Z3+cRpCss1g6U0Z_FJ*y_xm5lY +^m{73Be}FaodtGnV4j_d^7x9z8ETqO~9%2F{ +;8ARUa})#5BE8s3jC$8kS!1Bc0Embp#tczW0cgr~otT``YytYed)zf*Nyv`-TlgyZ$hvvQ1g9qXQ=NR$M5s#$kVTs>A7w +ywyLH=E;%bLn67gh;-bLjmVaLQ;e1rJ=9MLG~YJC0{mW}=CCrf}Qz#`38Q*gL|H>stD3pwD&Oe_yR1Q +KmSLC{tm7lI!@2RM!&&9}ZRtyqPYuh((JtS;sSaY}zEL4tL~^LJ?!#Q7YA~u&~NM%Pen|e9;2jfv%FL +FW`1zvi+VNaqtzhFIYhTFU6e#eSb5KdFX_e*KQ`+kg>W>$= +!;(bd0zAa&?VEAManm50;*nm{@M|>EInr2hFuX;=8a5iL~#4OeGCo4oec`a|Foq1pr# +_c5L1?vD#L)Ms9nQP{8J0`S&mnRi@cIxH*azvc@x#TGeN~OlWWL-{{ii3Eu{3(Rt3pV>&$ +RHUCj*t}aQO;tdnG}9LBqkMj%k-Mgv*9)JUO|rSUB&40DQ7!M}N>=#NxZR4ej)It#1NyxseA6!>UOhO +Q`TQHy!U5Wwss22iH)Pl&6uP%rv +`Xi(e{wGR*_6lcs82+Gr3=4{8@oZ4WFT^r5w|>^WTzak6ViS4fvN{8-U*qaM3tFZ?cU0@tCHmz7nGO& +uIQNEM)=6B-1~q{>XlPbY|SYK7ezeEc#aI^HUvXAogD@um4PtPMJifM(U60obXLDoeTOVkq(f@`%^6Z +l2q!?4=69{^q&c@bL_zv1Rsab7tJ%jgYml`Kjt1iqwfHGYdg5_d`u3fThpbUp_l0$$&kR_8oE@(=Cx) +s-(mQSUBTd!|FpR{%>#U-Lx)NJ+9G_)NR|x%Ptj;!S%=~qqW{^~iRaZgE3234k5LcW_}-g%pCkRGbUBjB9M~mywCne;=qH{H&7l4}M8DkJ?@h@uGgX{RPLvDuy+QJTz?imTr5v7r*GX^VM}?M$A-0euhB%FKT;mi*4VH!q_=rrb(tuHH-4Mry@%76+W% +Ig-Y?Mc266x4HO|OY+V9b)M!iqBL!Kj@(&*Fu0g)c>`}IDR>wWrfdY8=ac2m4x(fg#A(^q;{$hW8Uc( +-P~Pd}tQ&+20pI!;BOO~e!bBIA_u1;*);h;dpRWt=Y7`*c^xIAuhPlPzML-aaq#e0`E}iZ(`J{*Ji28 +l2_vp5c1&Tg)T#e(Ct19Lw_1ba##Y`h$>hPg3hwU4@B3KTecxu>_Z|5pc;9#bv?%v|Ed0Lj=@S>e?=$wEfq1E-n8r7 +gvA}HI{t)S3I~K%N5Olq8`k#Fko<36UF>rqPxrLc^zGD`4xNe#Q&zd>*VSO13Vo=}xcdZ5ch4c4q<=K +hQ;Vm2=2K-BrF7+5V^`OVa8Eh+bBG`RoKGVo$+w7mJ0n$fzuM+m3z+SA+~d`(M$6$=^cRo>m14j4`?w4xN|HW~CxWltqJ?VVMFa|%j +sAn)Huno}TBXHc5MO-i7IMqCkjsHRQx4^3hX2pyXLD~Md?+d@(xqQrGyofid{Y~s&IW%VI4}24L=rN6 +e%dSlo`sO?uuL^;k=_5V7?pvf|#qfA%st>k4CK@|a4BHJmQ^%N6w@>DHSI2&CSI=~?P`qWE_v3w9%gN +(GI;r&SKdk#(q(tI>|1peStEmn5a?C?k2;E)8V`Dy?qkKp*H*C5-qCJ>&(7q3-E{qdw;ZgVN7J+}y?X +k~kc}9OgLyU0=_SsMy9KTf8eMXzKA1_irUPeE3Kb5b)FZ`L`F!YEpxkvKyJ)8D%#Cm{?qVMBRn~s(G% +8P?y3VchYnoCD$XeJ +&d%*^_Pc2=xi4o)8m%Ee)%#EgZBlgFJVWDzv&@pf>VC(VUQ>L{-AIO%v3bPeahWQQkvC=r!DWhy@pbux0-=ej`-$~M@x%A#O=cQKohRy9}Nj3Dn{ +6pd6RU)NXfm2vAjV*&sp!{W)f<9!OyS5)Tfjh^v{5zDNGR%!4^#mNI%xim4YEdd?m0R(!iCU;8s|yDOFzF5fZr*fz +>Dq9k~&z{pMZO*$iJNj=vWTSAK#$Adll^$PcoU%CB?1)Mhu&p|wT*alD)}0$CII3dBF0CzV*vLl7h7JD&y +lMf`h$UvS^LC~>a_m3S_5-1JwiC0~ZU5$#>n_aW-LQ?fNT=&|`q^mx>+h60JAMDMa&(X5977nm +^kkDehL#F^6Qr%y^bpMf~D^;7FJR4{47JiNlNgxj5CA7|WJ@i;d^fFJ6w5}J%yY@BlgDVm`q)CeBpNp918-?9ut#w`JhJSrZ+`Qe;doO)nR9^quElc +yKVY1-(ENDkFItP2Xp%vE=6;gPN{BWNDXkWmgJEOe?QAZgIljDlVL=A*DB~U4Z}5KbOwbp+=`w|5@Z= +fvhdhBXP=!xzc?;wAO}VQn55EVJF`rT*=2J>9-eXP;=yBox{)*PJ20WS}_HTAG{I=hS0j2=*+amJY^! +aG>(i-=?NqHe}ZUL@%$UNI5=84ZOkLLRoQyDPhEz&IyyuH(HU(N3>qqnWbDtrApb&J8To +Bwp-vE=brBCw_=+W+eJ4Y1cI{&kASu!!Y08{l8K13XN!LeW~*A$+A$o$vAWAMdP4*ZJ7WARmLT1;z|= +8pd=Xt>=TpyV7aQdt`HOw=CAu32`TuOT4b|BC+RkTfU+sHvdaIZhqi3?(=M}-2~g#G(nGsLym$E7pZ| +SQQwTZgkOiv`wh}9IWMI5myGkm=}r+BIhgK`=Y`%hnSHP!qvcQ^vy+%-nEKVgOd|tCmz|93lZA~^P-j +IP=yo9s7n0ucjN>9!fcdvFhV6G#8IWh@)jKM_N`3oZ#7~B#OwSYMDb1JF*Ny^TWmv~S4q`ti^rAlh_l +fV)dY(&Z{gelKnoN029|wJ_4ojg+=6OUN|P@8DMt{4nU)rmS~c5qsPzSvM^wSqt_L+DpP`ttYu` +llk|ej53m8AcHlKoHjx_8R^-{xLa{B6F=i$2<#cE*Uv_u{|NTXEQa%dRZKiDIj22u+|{019_1b_#I6F +e@X?SMb|XZ`lS&-0;&;FNX;8oV`T?O|5ns1eYFg)9`oz#@Z;ZH4Yqv?ua8HeWmUN9u%&{Akj73k<`gZ +H`FzhVd)bABKZD0raI?1hOk`;j&hUbmCjOiX*)jzCcJ4wGyu96%J++z*>64B)YYTIF&r#NT$51P}!?e +|Z+wm*T=_(@*S*n^*?CAHc2epjly8?t8%wX5EK58AlbMs1C!?+mF9I+cGe?0^!Sr$`QmesvhwYdVjEE +zp3H=>7Pd)^a7K-Mdw)!@cU>pGbAU`x(!xM9CX3@*btN1buWn@eN>_floMyPaLAO{JfO%ElndHF`IY< +$EYVBLC-mVxK!{5oO5Lo&zGfCtDE>k6Y+vXoGO&_)yhOVJoP!Y0S%eNe_c<7XI|*t5;v-)Vw>qYlt@;8L~ +T|FTZksT0pnqTMs-_Qbolgp8B(onWk4;~YA|HX>*{GC!dL*!tuDW2Fk*Wx_TlnjOtBuub@L7WO9=_A?FrX9LmO*db4BBa>O)e_0Sq#q5l1S2MK>IM +h_f?o#+fQoH^FY#-pqB?mD{C&Ysx{(gFDIJW(95hrfKSe*MTd@RcOSg7@rjm4*WdfWkZPtwn5W3fFr7 +KIoK@Kx~C3Gr2R|MYKPU`&?Lc-*6p$)y(cW28 +UYvJ~QkhqN9OSY4`-O~Hhjpj$Si^liv~INqxg!<(6X{bW3hS&Oec)ugxT`t71pPL7Pu{=^wK7(iZwD4 +9@kS~e@=P$6k_j;K+TxB5Ii)vyY{?cI@rvw=;m4ZdHIF +UnZ;(<)j&9i4I-SZ)pwCmZ7u7thj!t%#Vv?peKSE_pr%xO3o=J{CET=&pFWu%X`A};CJ)YBJ=wwp+P( +Qx^GR4-6m>j?mKCRfj12pb`rFJ1EQ3*qRazuS{FO7?*R7vmk)4DiJeaxcz5tC)lbRHKe4|2=>wYj5PX +Hk2o+;l0uxoJ$ROjCmKdggzIHl=vm<+LCsG^IVcVN+|m@bByF`kp#^DWyA2dbmdK5W5h(f7WM)?egS) +ve9&^D_=M6qoc=<6By0tbDB4x>l&~z3GaUzkL%-Ca=jYKY@{1j8oFdOebg`8nlt#hM1~hJfc|t$_$iP +~*eP^`=_LDP@UwLn(QhD*Q6f0s-lZ?L`v2{ov>3ilFY*<9xo4? +R++)0>mKhwlK)jL@Sa2HGx>$TB*GqX=0Yoj%8LhKOYvCykw-{m!NzcI+Iefy4q#;IPk7xBLM{r@o$cm +5Tu%>-L>)hyOwPDpFUyK3SCFQQ(O4~WkMAUl||sO~rs&->F!^xSuPq07Gz7PmTpbxh-N(aR(YzHHrZ* +ni<%!#h_P=KC$8GD?8sa-(`=>RSItCygm$3lK(pJiafp~XoJn5wVcyYgHN)$0 +Ld2FS>y@P%0;L8#}3p+Z-ZMp-oLeH-=#$X`D-OBfZCSkXBXoK +uA?$AexemF6on}L9hqjOfv|Uo+pWX@HZ-(`Mk~4gx|9 +R;D;gJ4ErVH(VN|gR9)c=KwXDa-H=E81=)eWTlsFk0m`t-Ba7+}k=T>M|bF$B8`A>*OXVqMz2Cx!2rb +0O{F{$0g|E^ZT^>Xm4&i@j9PZ;PbK6T=OJFwmPiQP~!3!l5H%@1{=Y#f@r>qlY8pxN +>Rk81vKz9$3WeN;gM%HB+DLmbZBf+}^+#B$`Q(yzfY=*4z@#o4aY0f1I+Y0~QoG7x&B~-@^M}(}Bs{4 +R|ANHKpDus+;nncD(bIwyH${52@WQ&#Y);*Asb@Pq&m{R}2km#Wh)$>XiddF3Pi*v`$8dU$>f1jep2G*;wLiSP8}E$q +JVE-+S?EphsQLg`9RMb);6^xjzl*-dvQeg)K~5g+L|H;!DN{AMw(2C#|Qc +})J8N`?<4%tfI*3JT-U)bi3K+5u?@=Tf3$gwgcK?pIr|@%DZU< +3(jmPoclsfQfoJrvsldkc^8Na)~%(0dE@1`$%f_9$c_c+c0VRzB@O`2QKgNr1K54cajx57OO$&S8K_= +rmu59SE1*ZG)pVebabVfJo3T{4@$Bcu$-dnq($Cp%j*Vr@plivaK0atFu8^kRNsK3w0;<8ggzCHlK)F +10OYqixAjAcx+!y~IW>Qc7=I8tK^8s|twL%Uo%!0OPpvn=u|2%@wO;?zK=_S9LYw-7W(bK72hYhOx-S;cUIzm{@c~UkzK5 +C=yv9TkIxZG=ZsYg!RL_<_Ylpc*?K-pZ8hb~o~IW0&ue*iQvEoi{$N*vN1=YeM=ML0o43TUt#{!)Jzt +Sr9Qbfoj7L+LFNXfZ23XD%>2fk6)0x84sUn?&()}-@8!*{Erur=OERoWDMCJaI^6Za&1 +Kbh6=bgf9?3-uvRAM|%*!EW(%*eke>a1_+s* +0N29nEvf)A7}O7ZDB5JXE;^ +4R`sU$1qxT!(?-;`0-k@@Mj62w`r3n0n)azJaC`IRm$4Y%pTGPN!?56!TH2z7uZUc|_Cz1BobtFICaz +=yAm$3DxvPva6@J5)u-QKYC^NrpmKBG?9P~l$0y;Q`C-EzGexR~QCG?pKrHse2RcW{1=7}L+f_xQZ%y +X$YkMndMi%UP}{2`U`Eal&FJquKy*LnB(An!&!hd$=GY2!A+p=S_zABD&J>?A(xPIlqk5Bu@v +6xss~TDvSfM%|}5#TR>cTcqh8*CniD&k3ys_%SMt@yf+wt>fMZFV&aeZor;BWi(@^f`=Q+A(@(Pc~KG4Vc4Ys%sn$=0~WzMI#o{q5_l+sxJX?J1IMwW>wONlw*ql8G +<2$);M>tnuLD;X&m!45btiV)AyCEp7tMK1M%>NG~rLvMs4|y*vEoAR^j*f+- +7-uEX%!@?+>Zt`@~hh`8zmf@GH7W#?r&Xv?ck_T!_IM%4OtcLnxrBD0Pn +u1#RhDb9Pv@dn?xahUe?}-Oz6Ay--m&4Ol7Zi;tb--Y1Uz$^}l4yYaA&J_JG*wi;p%0P{?As^oO*fmQ +r9M+UzvE2?{^k9=59#B5cyzDW%Pfb>sc%qaan(tT^FPs7A_!2{oRoF#&S7gnCy#DNpD1k3%W-E@Kz%wr1NKRV{t=0*JRax8X~c|xPuB@Wae +lc^@UEJftisgoY&PGi7SjBy!5l(tddL{uU;O==HBKqj0-9sa)`a-v8n((`^nQ!l;KUxdL7YjHAJEU|+ +rRe{zW2i>%Kh+9i2s_(9CJi$*r7_2dFJ%ki5D$$w3FUQJO|^+ZE*WrdA{wCq2AfXe^+A-91y=T7A9S; +sG{G7i~;}nEOv1+Ujr+oaX&Jo<#pqZh1xXqeVnt3xg6Q9VQNT?m@ZZCZQi=+|SxSI4;) +H_?(zhNWyuhYuLX_ZIsaHsOip_(sP8LL4@>4$1{(z4@S2`{KNRU>SKjmgjAESkn-M|@*BWO0no-G34?(_YwpC*N|W%El^xM?AIi2{o`MPObOhPVYBrfc6+3!wv0 +vO2>k)e1ZkG#<1OdAO58pc%H{VVx2b(YAu<`tP^Dzd5aa1_h%t_ajvju8u48HY!!DiUne>s&OPT9^c& +@7PZMS3hNSyJwEqr?*%b4ry*C1~Em! +_)^U@f-)Kpj1SeMPqQrj9My0=*BvPfm6B{zw^pp4-zXth4cfdq;0S!tLJj-1M8|z0QqOQk!Wn3;WqMcL3L$rH&kq$GO(I$BIafTpusu +N20v+kn-}WyiQu{ZmQcTFKsRB0KLCP`+JYvRgW|G@VT7UYa@C!QayT*7^FV>}Lp)fEjo)(k2eTSM0+u=qMZ5n1A;Pks@HNv*rDNf{1Kri*z_~HUwt +%DCO5IIJbjcj=q;FWn!R{=1R2>BdP7jamM)Qw;KRqJ&+UgkAiS +z#aLq!FoA4U{y=pX*^4~$_?4UIJ-k?6x{H&(AxN%J5Z +R`^L_P#U8+5SIX(OSOsf!1>7yb+h!uv1L-0>{8SUkx~u)Igb8^^LI6MUV%!9pQ2Sw|&IEr|NcCp?Vs0 +h!XQspP9Kie})}twuD$d7GE@+k}W14xA`qw@f;6g1iGgPKTeeWL-?vE)3fB@vrTxGM$giM&mP7zJ3X@ +ppEcsyOnNpm`0PPEn?=uN1)trAXP3~kOM=hp@GPI6^1ABp%s-2|2qaU;fFnoK}!1-alob|Du{YII0#ChHvFDKs9J6^sC +YgUxG*y4EwWtJBQj#3#_w-g6P@cs4Tz!1LwvpDe4@I?RYJ9OJJ$atkOY(L3#off9nTYyJI-;n#UFESJ +9lJp@yvENL50$3z?pDCHjgr4}j@O!t~n2xh^g}(UZ7jYiO_MgGow;``9cCYSx`T#^KA^tSJL#KTt>OEY5C}6X_huYmSxLoNoQr7)c|6fMbj@h9@R +QEP_6SW6Y(z0A=opx?!g%m>m>crhjW>#2e?gTr-`XJXUdy`wMKdGLClN$!r#T~@1DmyDo4@(OZ4qpFE +GJSt{d1<-y@z7Q1+i0qIa8s^C9m)jo&{IzfaKbD$4U2z8_Nq3rOxnThobl_w9`FtR_D64$gdJ&`yAGB_j%!q|MXBeZ~L5fEc?8648#*346cb +~7g!U^F0dw+U0_WtyTF=Q_CH(`%f7&xSazW`@mrF=BITaDJ`u8@ewO-{ah3{wVhhOw6{NSoj{V^waSk +N`-(s=sv5GkLUcCGHP;_jB(ZPwh4mei?-Y@vIjX}Rk88K{0lQ_?1+?KST#(uS?alDAFwD*zR<-?taTg +TIYUWT&~ypPia_JJV}hvAe)*hlK|$~gX~zzlz<6)}chqBi{QgK)oo#7*whF)NaiMSqQbVfVVUZNi5r) +jKm;=rHg<{&w=sXK-h;ljLda8I5vE^MC(N$iI=YdWb&1*_0L3=Rs$d7znE;<0eQ`qid&x2glO*F+fY-@pQi8G;9v)FzY@ea(ld#Rj +v#>)}7sgN;%mr7;qcg@1yYa3~zazfABqVbc->{l@-;FoXMsGlagJj!ChB$?# +jI>2tV3@RQBa@P2WglgYwkUyskP5PpVtFZ%f!c?w}N;?4il^E!hLZDtK%^jt`_mi9F>gww>WMU|1rnmAHdhtj%*LhV +jfHA{}s%m$1i`24Q7iNz4%StK@9FT@XHTLZzIegdQ;CaB6`?MDLIxQ +l4!=`61^(lkW!RHA$)J_`HQ!>9#dwROWu~BlfNd~mi9C%GOy><(Y{lPePtcuq60n%B~Pe0_|Sxx1pId +9uZ#>n48det(vhQD%ZzEN?}c>c8=~LtBx=tz=Hu@reowR6JZ}lVC$l7(o6G2b_53A)6 +8i0($^yXE#rf~@SQc1HeMGEww97AZ93$TLENVO2X54T78nM!;e4Nj}epJZX;6K?RaqU+SZwIzymyWp{ +`5t41cj%{UOdIc~X)K=lDf+kLoL1S%`^S8Ts7|9jV;|v6wz2#-9QReni!lki1o#aYF;#G8#pKaNe2#W +s=fn9nd_v5^7U->Lu@-Z(L@Yj4vL|DmI77fHXzLeG&$In%i9Pm6p +tu@48f*tqZDq6F|TQDbn5mMjPJ%-*hXrP5gRO>+GE6!I!pWInkBQE&n{$ +vp;_i_qv;$UI^e&81zhwT_;NWMvsf9YC%4g@&3prgB~Nv)u=~{Fh0Qh2+ft#IlFn*@j;>^k3}4E8vO~ +luLp$I{W1@EWe-+m;_xEk(56WGIuo+n{S!;iQ7(kR?va-s#^{&xGoIg-IUETAVhh|OP<_vTd(ms}pd& +j-0tgeiBq@Q@~UWwHuNGZK<#EBSNNZTXDdYl2Z(7bQB;BrcTKuRoY>&_o(w!z*__P8WdFVYRu?-3=@d +0BvY+||SUzP2Ql6+A(5Fz)`~(>;&YGVJD$AYW=%L8+8z<@eQ6TCICuPC+f~afmLc8}=V&$=W=8$yD5F +dX@)R;a8|E)T!-KIuI-DU=pjty>3C0+b%b#{f7_3ZyUC>GzVfiCiOE_sl=aYZNjgyT2>3upR|2L1wDw +p)15t1I}MnrtWNuLOox-oDy7e@NgG9Zvn3B~1ySCcdU*rMB#XV2-waxrqf&S^Y%AwKzBR@Wqp7_I(=tllU)v|Jtob|o7x +H#45frLx@krm_(u31z0zJUL100(60%x|8Op|5w*{3}34HRN8A`L)0d*W5BVp=yPZv=2!Lcf;WN7(w); +hLUXBx=Fw|w)h)}Vgpm>A(Qe6R^;7wfKN9sazD4uU5}b!gnBQ|HOEbzsey^V2O6j2UARYM9&@AFh^nN +M*-$?BqqH;%^)@`nnA|@-wJU$9<9k4PV=;&XvSlovfMVvLos{vs06EE^Ceg48{P0{R0@+i+0*^PZSJu +lARz+2(lY4BH#>W}2H&;c+%Rxh5_41Nn4e-ZJtow2O))JlP~`2>yYvGwcwhF8vS#(TtwMJ!RwsUkfVo +K<3lSurdLekf+*2M&_S5ZfqKN-GhBrq-wP6AbEG&&Rst(xhR3hiy-2?}f}W6lXAnI@Y56i_GRfMj5Dmw9qP +MC1gV{4Yz;82Rz&?7K>mknFGRwt&{0?YIX{6%ZX2gcuDci~nx)10vKsdcq5R1`fCB46P1JzY6rGWRq+~=Ps|4-t=-!>rP7_JzY7#H4J$-&i8E?Gu`SD>dG%t_urunEyT%J3wV^qJB#&Y4?ovhbq9|-D*&*=628vZjv?t1z +vqJ>?T|6C6~Fq%O$IZg83@T`n&l^=E$y3Z>~+!u*-T+$~hZyt+ZgqW%AEIS|ZuZ?)C>j%)+H0O)J|2M +H*lr=LK3kYIp&&$ ++7Zw31;_JkJ}>M5LZ7`$&tfB<74Y+H768_~|7GS;Q@Otj@Gknmb9j4o-g>y-z`xMrpaJ(XvOfz+kAIn +Cx(9}VV`El*@G~f-vaqK8@v6_IusmAhzDD>j*;pNXwHglw=k=Z=S8-2PC`*frZ> +!f{x$BLcqNJcDDoWDK$lGaj5b>FMoX1~krm807?A$I!EI(58k=+USPxJaS<(kX!r;uN}OSK)B-X#Tx6 +meC-m)?f`l--MpF`F)yC$=p`kXO>cHiuKq9)pDw(C`qlm68Z!`gQk6~SY76*Pr3)^e%VdpH_lkIrDFa +YcI2%(#@s?F#rX-=PZezAO%_LN0+$hfqT^(ty$zOW_hga|06$oN;=e6=Cr@puc+MTVZYpr8(w!F%@_AQR^; ++=*$CWL1=p3-?1}$*@iTgZ90?l`l86DE}TG(Hrf6$$RyfEEabdcKvb;=>nt~|(fm}k)E-Tx4NWWa9iS +m&ttJAA>u%#!zMZT!9#X9`dLBRE%Ke>HSayu(KX#zcUABaYM-NyrT+iB3CS%5A=bcPHt +SHB-=*s(j#?n5B#bz%tp&Ts)syisyN@lH4Kw$1Xshwz5q9e++*g4W}~NoV(>kfk%jW7re&_%A3_8JQe +(O{LGPfDtM^L+*m$$klXjytRVTaET+JahaM~Xhq(U)HWl_poD<`I+>t2rvEBW5vHsJ*l; +S)`>y_gu6CYycuRj2PIU{D_?N$+&jM07+T;nOu*&;^UGwN7y?FH{Eqv2HSG46$c&&6@R1B%S+I7Iu~p +c3PREOD`>wG7ku$s!u3Icf)Vl%-}B=l}Cvb67`>nFY|l`~NQHAogrG?OAK}{+)xbRkzmC2;Arx;oo<6 +MB01sU*GpXKnQpvN!20vn4LmTql{FLT*%ad*SI +^#yMMiUCsyAYjbcXqX842#%gGh>PsLVkR6M?B%v1Zd5%jg-^ia|&yrEbb;=AU>Nw?KK7Mw_aiT=IMtR +r+Hq!oX%oWTN%ok&>gzoQisr+h^wXn};>+yA`QU5!s-=`d^kkurk{o<^kN|`95VSdV#FIv6Eo{#*IvP +BMjk0p7$oc_jxB`XYFGk6btqylQoCdyOB=~O#f%HJn!EBcTXE|g69DElH!*I7vp!hhRa923HM7u7$!5-}}RVD1+3 +dAUL2^HQ9(q&NrZzcD|5JH~xyeJJZ*?%!^59>spUR^9R=YIBFI<2O+ovUU8Xp(R~~Wz?Q_dRP77#I{~ +W?>3$!x)xU~b>fVZc!8DXrAx9bb)RH~4#ivp*=LoMkq_FSoXB}Gm*`PFDEtRqM2{YlYs_4Rq5Yrai!H +JGeALIwm=B?Iy!!!`jJa*hQ_N9geu5uhZbr_X)qfM?b-^~#d_kK)<9ld)X-`j|EDy#tGu7~6@0k=6#S +c7j+OrQ4&pAx|0mHSt=iUr;GG2 +oOAQNI!^q@xj4t#wvcWlvAS7GYb&tOxxPnjzTTpr+tWTmyrGlt$I^`24#);^>{uy{xrO9%6Wdn4JC5x +)R5hK)S(E7hDE|L@>OJ6fPWT6B2*0YLtEb(AJr4BDhR@TOqi%?3ycB6J5 +?BI7+17iYC;7+r(taYVomr6eP+Y|$v26d{nzq{|NjMuS1P(RY2w4r^ +PyIELwv*c@8!>-z_Opw}MkD&YLvsD|ZT3sB|HiScz`-(}KgsW`SYt@*ON?lz40>%)qo)Hrbc5<% +ImKTsrot&!M+Tgwk_^O}$Q$VDWE)HUSgxbGuZIo#)h`dk +Lxg7~zkH*rF}4J6yS(^%!BlC`W&N~|4L5}YI4e_!2#x=ZN$a;hJ{r_%R9X=*LxZQwR6r}Vh<^>SGo`a +P?}-C3fI<@$+s!0W$!P0b#^N&L>E-)IwX1zt<)`noA~X&FB^rM6ZkHQP<}JWaBd;XJ70k^}ahtheo#l +gzq%*4uWCOaCSwd|)Fp(b;G>oCPqm970eTmvu +8YAf1Lv0&YSO8@vQkfsbGvC|Xe@_i~=NxE#irR3HgbhSf}>?hSJrnowDsH-Zh!Mu>C +>5tC_jENJ<=ellbCN$=aJkYh()TmzXn%C3>k$G}q^glloOMkIEo9&PwyaFU49D_&mCM&nNuuJ+Zb#N- +V3L)7)xWbJ-qEim#mw`@`ZdjbLxYo#;nI11h(#o$`9AT;vC4rkTo^yT-ML+YwN{?Bco27HMj;h03{!> +cSle+IWO`Z4c#3X-aAS1=0Ie`rLV3%f~uvro6+7)d@cc8TLyjkU8Mt(d6O@V*S*AncHBJi)>x-XpTd=UTIB{>$n8z;`Qa7Kf3AdYR5sM{zevA +RK7VB5%93q0bkW`_5b1H?Pmvpk#!60hfYHnOz9Gpfe}k_YE|P8z?v=a1)mp7N=UJnm=tX9~6DjQSYv$ +AN3jq`Q7*8C%^yq{n7mo}+#?q_DySd7uxpH@%@gHl#e#N_tK+`gkL3?j^T-c78{rgM8jgp0eD87^Sm+~(Q?o0B7?vwxt>ahiz_mZX-JZIsMq7UG4=;mfUT{CbCEwHCc0)g?5sBvTyCG2 +&;~KY&-CPwx)CDb>+>to#j?`Fb2%)<%38F?ijyuFX95gSB=&{LZP~uihr?%wR83q(Ar5bJJ~tC*rKjB +*j?vNwF5ooLBAHS%0!GCB8dCX=-k}Y!CJtl#jVNQl|P~Lm9Y9^&#I;TAS!w(QVm#1XfOBE%2W3{uI#} +dpo~(qTfHE@6$76->5_Oy${*?O`_YI|DSHr==L0?HR$#%Y&riz>z3x7f7P7u`FgwA=U-{|y>1rs^(ej +nn9AKpbG2QcuY;!W`MQy4hjnEl`hlL2G&B?KiYV>yrET_Gbee6XJ{au*R^>jTT@hpz=+B5L5kj}6I(^ +U{gPx#?OQ$FLUsCT*5zlh=z<&Z|8FV_L(+PCw`5wumBonM&7hAD@-8$h9_Uu&8FMdsWZ!$~fI3QU)b~ +o{sVS0X=_Po;Da`#}K$!pj3`$rVt&Un^2u*&3F{%`TeNLQ{Lq;$W3QftY_oeK5Yo%FaJ^9l2-PgcfzNga(W3f2t;J4zqVxyYx-6zOw%Av4Gt2l<*65=4b?w{iv^U?@pj7y#v)oeR +)jhP`F~s1%lhb{E{idwk-)VhARoN5IvZ}>IGF0C)&v2-mS(0nJom(1p +7)og3Ni|9Huvcv~kxqYszwIPRN=DNiY_Av{Z`v>5kCs1Eess1tS2SlP5VR@Y8#I<1(UNSD%}_R +pd@BFm&B(cHisfnJ39k@qCdV42OJv6=ck?Y$s|;;()mr1QdnmfJvO4-otpk@F +U0!%G`H}3gz87XR?gql%Ky`E(D@Gi|Ci>s*dgD4n7q-Bc?16R^LUo~&0D{{CysQGgCsk3(>xzKp62O+ +zIWT@d;C=XeCiKm#iPm;;AxcK8Ow6_5*_(n3i5!zQ69%_^Y-}J6f1PCAa6ly7h@TOIfeNeNEpoWzF}HOuEcMYuggXa-kz)?Y}FB&TGpTn +%6l}a9;0J!sj*i2S4@mz^ssRiBEh*YV33Kaua#Eo5ssc3znNj%}2>5iggX@p6fuFp1U%l~1~J +`WYp)tfZlRTL$G%r+(ir_{Ce`7g{U$Ma#d$FRprOoL{^ZjbGgUM09>(@YP@F`~nyww?y&_>PvLG2K!% +~9MXRl-v2a83x3*+d)%9F*Cgu1nxZz?NbcrsIz{{f=@#nz;*g}zH7d*C7da7gZH)LwOvqf@_M+Bu>aN +n9iV$9LAe2{(_a%~71pD#^=M`xoydq8T3d$>Z1^uVrL0*wYyyC~4SG+>JB2DKNe+=UlX|;oKVm%&!97 +4R}6qUaqf>%5o#w*hPC0^0<(38X~<~H|SmO#AX3gQ)0C-90>IHK1<&Mz`eL4MIh`~qY6(z*~{VT>P@=ktb--=j2sTMq=sZ!X4<<_zWuWG9j#$9ctR*;JPPk(Or~ +=M%SD%i=9%&4;uJd}5O#_{8=>t@6i%S~#Eh0`s|43eM+QQuO(J>b#bYww|DGF`q?j9F5lFA(|U_)F#y(*r0UXKai-@ZybNVIuMM4J*&o+ +45w8%EnGu}o@`vA2OeP|@UfHIuoT`b8(Z9}{K4mB_gTg+JI>tv&gpc~>0Ve?~cc8hGW`e*alAN +z}nog+AJ$eHhM&6Q?wyWBkb-cEDnW1`t}R+jNqQ#hY}!@_Qj&S$3t`zTM&XAC}jp>Ze<8Hc}|(OS@!M +5(cSL}AV!$|+?BX$^mr-e&)Z`s-Tz+%}E$g#@a5(^{pXgyx(%@kVQHthubFn +GNx?OH!kk(qeoYIT(9CO&Q92&>$Zg*>nl)`B;cv`FUD{3Lmjln;T$G6%28&rX9y^?vFV+78 +ow&60*&L=KxZx+qApr})8VXw7bg>#uVUVr`d=(r*xwl;h-jd)GCZv_VaQ||=Ns;_;)uu}^^GY39ZV{* +kAn&Xv5e5Sn}L|fvc2KMw8YWt6&=@aimT5$znJ~;sw;e_x0FKzT@0qv#}3+p0V|PrN^fF9(o^G +GXhWR7w>bMod9C?z+YL!?Xic&?LjOa+<%C7Y2h(_?qMF%%>rm2kJm$GAr_G%5IVMJ9F(XPenEY(Hp!mexQyV_Y$n#$l$wL3#e>qVXJbI7L#o`!wXSaE;K+O%y(ovW!W! +FuiE^}?6t2-O7~yXA_F*Ht5>^a|gtu0q_)l}N0x`k15OMye~k4;d56GTOad5$(QFnY`T-%d$l+>xPn$A=dtX6I8}}Kw5Z&J(TH|iXpndiiNKZ^`^J!XpyXCary;KKq8(j^Nc~ZyoJPBJ_YL_A#eMAw-5S+h%JIPspZd`H(|P?}=e1m5HS;#}Ja!%;g#W`~?fw??V{%iya``9X`_v)KNTudxnFzyB=l5pxe|&;L$V18Zo0&(;k5GQqQm-|yZ|pJL%tU +XK3aKAdFM&Xx2WciXt5C;5s0w!a->|L+U#C0PH6J3U1E&@l0l8yV|G{88N9x~oSDTr@82#E*gBw2{V# +`|umjnRs4JbuPu74ZUAVbvIz`oYi)toE_ZGQfhY4T4I*Q^20n1Co4SFACx;E^@%voe+$`n{?H+?pP;9 +}{@lD)-BQ%Vjx8o$16iYp=8U6B_;}_pwXhoa=9F$8&cDZ&^kUS4dx>Or=3Jx}xT-HJ$RS +>A*3-}BGAZ*QZ4TwBp|shQ2l&#s|2I<}q~~`n8<=NDM-bn*>S=*LBKCXW0qyMwjlsy{gc2=Y><`kt!Y +42-XHxnKP3z=)u!eYxGPmjYDaqeQfOTzFeXxa~eP=($6>-}!KiXvL2=4n_68!EGI6iGDO&^zR?KMm4V +>Pn5SEY0pw1XMPZ=QUAS>7RVn$IlZcJt2b_&jHI=+{|cBgkVipHkwSh(jKXx0vevwSssz!FY@J1M`~Z +aC)NZD_N!boDyPCKn4+bT#&nplQ!B#3`X3mq&tg;wU$wm1=i@ex*H$|H#BSs#pK%f_~YfDhs#ykA^fy +XP(M}!hf)@PI^WmrGT+v5xnO^|RmbImjmq0r;ISe$q|IxzOW<&&JMGlAE=#z45{@kf+?MH1+z)MeU)Z +kQY-YKI^1tWj)AwFEt@d@2!>^?^9WLXfIV1CL(DUCL&+>rZ+`cZH2A|h|v)=#XOTux)* +0Tm)DTRvVEb;T_HEZ?HEwrC=^%p|G1X2fEYG0L$3wauAL7tO!6f_YyIKo;!x59p9r3=A-e3Q&u=`t1^ +Ad91AKEW0(}2F9DexLX>x2G{`W8@mA4d99%m`wGVEzZVts3(pp3o@G`O|#Pi+J@X5c`+r{?jBglg{A# +h~~*ZNj@c7c}Z4v`W5CA@v}0VJO=9#UDctY(_;sps=_2tivC;dIYur0y5L2TI|-nw{Cd%*6tz97% +Z-@|#%V`lCz#9%}67E8P?V20oR4q-oN#9W$SUlavDXDgKt+2FaqYc0S**~0(Zy#F}BeI{%T>)A6U3Xe +1Nsi{fv+(-3wO}UQyZ_!%v8afHbX_wh)PUOSh4WAs$<2(DpF_ +j{1UqbOd2WGQ+n&4YW{>VL4A@J?NbDx$)jNtJ&s#;rlcsz!Q`pyaA58DTuZOrLc`UKVs=BMHR(M8W-7 +raGgy<<##T#oYkUe{V0;?!ei(ktNKH*3chyDn=v +&mPnLE@=H{(EC*{W%lAZ>i8BgmM9<6%DcAMKh@I$&nU4^w?j`AHoYl*!uA(*oYn^{4EW00yw%h;_>aT +h`RUgM77*Ht`)=F?^=sO5BF>d)&xStT{+!27O?75H$IqKSHLVEZLu8)U@=os$)+gp+xJ~ni`vo4y(fy +(=qK8wH#FvoUnViF-a{=J%aF`65GNS(9@uaOMtULEGVNu{_Xqjkspo{O8!vcO=fCM`u-4~+AL +ur7hVDIZ?$dM8@B~R#5cwqfj^k|(%NJ=^4FA0(o>ujdzOt43)saj;OnZPTu{`*%yJQh#3+K#3=>l&UK +0$aEia8v5E)ZD{%0$_3Yn*@P`AO!(e^EXQWGAr&@a1|B?@68-mPDU}*lFSAPhsEunfd%DeLXohJ_a2K +J`o4s5H>pl$`tQbnb|&09DQyMY$|CDBQCY9X?-OeyG!;+AFwMB(|(20Sbi0yJs40wL;tR$^xviDOOXD +&)(2mc$Z9s2$$ef~h7$L7|}bSu=xwN;O8nQ_ +m|tE9Vr=DF&@nf1<9Gas-#G_&8rzENPUpP717<^N{yT>zpg-v0493&;YRh&S@aYF-dU@fvwq7w`g#h= +7V|$pQv8=GHuvGrf%sg{;_XyVed*Ao}egFU8d +vN{iXP%j7o_S`@oO5Po=LGD5?{CK?26P5~JUlU=>3e%XH%K4nv#eMCwEF_)rr#fs1RuKZt6Ei8a|Z6K +=yD!(ut9j+$xeWY%~JNRbxs@$7>bXglRKTA^kJP7! +-l-%pkLj^Sr;IqKs=(l`9&!KC!ql2XO(~LLT&!p=fLm^H(N#gHw3md-9?rrJim!Ex|@#SOIbsA&u73% +@IX3q?m1-J-4&vmo*vH^CVmJo0^l2>jAKl%%_^I9f(J$`k7d85&?IJJ#l9~%0SF(Q9LtVnw&U^Tluy;hjy?0GJ65w|S>E+j+^z`#2J +^b2`?tawwbggEfJ4qZQsaL7tadaWH_00r)rYV6oTeuN?vW?p5LzV+yy^)U1`xF$^KsmNi-b}f!pe9Oi +Nb93<$bCpr%^3(2@_~RslE*fmx~FR*C7;jL6T5#!%h;SWf%UhZU}t-<^A51H9oQK_x?8A^ecVW*TJl- +tO?t$8`4-enWBOKZq_$C;!H3MYNK(M;248NYwygqgWN}w<+a!l=)TV)$e^PUEGtD2aUEAn7ZT8LyxF4 +kNL#J!j>Dq5~#--50=H^k#>ynj_qNJM>uLY>do4Cha8QHH|=S6>Cg}==a&xfh-q4Ofi?EbKn-Tx-tbi +c-a!-4y7I`_kH-%>B%~Cdo;`j{^eZR>q_oq(#bh5Z%ZtR{Np1+Igz($%5e=oa@KdaLBi_$#+` +1>^Ieb>|O^j-3!miCyFWIimQcu~g%~B5w)fG)bM-$R+xF{cO`vlHW(EX +H}s8|SV_nk2kN!U8E8+{`k)w4G{vr#feF_aH5FR_4 +zN@;Jg$MX~vT!woCyurg&1eGs#5yMH<+m3&{T(t<71TVz!n*s>aWL`R{hP~sT5o-Sbi)90gW9}$E8lM +~UriG0e8`PJT~e;)R8zA5V-1{(yk1wo*sPP`z}F^p5(^+^c|^ipZAeBVZNqg4{S +fwv7omD8PV`C*>~YCvaTNP0r@+G=$3%&|yOVuQ(3 +e~ZAUDG3eQOF?ch@KE-9w}39u)m)Sb**Z^&91VD5v}UfR0i0yQl63-Op<_l(}Jm?nZ0x116g*SpBNW^ +xbr=v}pHjSU=&kzdC#F#%FkF2XqV~fd0+|d{5s2@Q0iGHaZ?d$0F%ICzl}nYA@nHp&i-xG1MO&16>b1 +(u4jsoD7fhpy6s3ezm6v55RE3!V~21UKsAn!uRwL;XN_jpM`gl!+WrBxUawVBb`sU5qY$fzE`B4aebc7@d8@V7tQs#4Ge<5Xav +xp5$PGP+;%-<<20K+s+VT6TI8@%CukM6U(0Qz6LK7Rr9zjTj<1SzRSQ1Devshd@v}uJO6Di$XMLoXiskfK +Gj{z06v?pYs>ELXY9@6G^%tT#C9MbFu9(`H|jAxKLcGWg +IUUVc&-0~mscsfu&*Oux8^Z>Y8~5^cA=T>rZTQ|j5qxh!KE}%5Psnt7(ce>OMpM6fUCVt6p4TzVAHx< +qh52Hb-6>3sVKzCe5ZVC`v+^)r7Z$qL23^a>_P6jNY#$0Z-`GCCEWXFW-QL^>HIxT>EPRVTi_&}4DE7 +NoIwlM8e#>BbH^BW?>`dJUWh(LkT}wZ6pzg+-D(E}u9uA5z9_Ys_*1`v#(2KwQL +FiW%nk5;-WPnXiRw;-?}0e)y8P&Ny8J-Ndo|r38=eJ5dTYqKDCk=z +=m!2k*Lbixp!?ndKhLhUd>s-gA?v2TMAp5`_eQU2?Y%k)&CNvxDzc95PnLx9EA9AifY<3&>VHw$H~d| +5Y+jMpnYyoT-=&8#psf-4x7Nz{<*11+|MjTVe9WHBM?kr@74mX{&2*hOoePW{rpu?}4gtaHMdEj$&g0 +h^J=i;1_YHz`IIuFaX(9L!?$`enBuT4vy~&Y^lICZ{e(W?IJp0x3_N4c%755Z&0DrY5em<9%KDAKgf4 +5nx7_V;IGrlb;c&e~p<;D&hH8I1zH8D|IbqqWUd{4(TqB>NZr1vV3TK^a?_&!jQIz*{L?+%1IN@^FmI ++y--wsF~0MUw7Dq*u@QcA%@2>$+o@x8{z4sEgkJL_&J{TvgC6YPAv4WrdM-MIQUd(R@S3l$q2J7oH>b +K)RSf`klTn1JZaebBkyDe4`D6z=nkoRu~qvnuL)fvq3hptrX)4 +*zaCGCDizldex#MSp7#xIiLT>f8!9I{FZS-{HajqP0Jx)nS-M)8jV=H}!!P(oSM_aF*eB(B80=ONAZ)XS8# +b>vX(|7WGbQ?Lnp1*TDJK-EC#P=ucyj?u-Mfmv+_d+fM7B?w=^}{S!0TyRG^DiEZWm6WhA(p9tkl +xs5-?dAyCy)sX2b^(Hz1ZGmLncR{2uX7MBl-vA8|NhIO4sC8Hjm^MTlD +v-$p!$_%&iZ;xCAw4#W6}rHGpl*C6I0rXt26h9dStbVocG%<(khRYdP09Qz`UK}a ++i?;{>Vyo~5Q6#a-e5>ba3hj>4t1@SS&O^9WPA0yTvo<{s0(Juu3fH)X&4B|w@*@zj4d5EhJHz009d> +63_@oU6$h(95U<1zH}2E-k~uJUN)V-Wizc0rtvn59V9*q`VmC$1jp%Eb{nf`>OER?OtsWS1Bg-X*n|u +4D&~*RY(+o8ns5uRMIGs#v@-MBi}NbYk2v9;VO6E;VM@vcv}VcRiy8v;Qk8UL%} +r)-dDi`6@2gxSAT^l_((U}RE0G5vZ$RE3x$iF5^dZRG3xDl$_4h>N9>RZ$_({85?R#XGYyVTU%hlf{$ +nQX2rm&}amuvYOk@pk+dV}-6!rnJr_zUk_p5af5ZqF>p+Df=ho`K{~^l>L*k{l{YdoslnCkgT^FQic0~r=%K +EvH;C`Yl=S05pK1m0?(4UEyHMa1T0vPrnlOh`C>zgEyp54KyQ{H3lI@b!)0!^Sw@ +cpv>2>5i!sF}!tEw~mNDIANM&3|X+bn5L$0t}lWNE^*bHPmeAjBBzZpkJZ}>hQ0(!$|-hDh?j@e+*gT +3^7u$H%qcGQzs4}Nw$2mAty})lccO15NND6z0H`SNw@1QsZ5qc-C|02 +#9K`38@vMHc3MFLL^!K1?k-56jFFUTNYmT1Y?_oDlMrZ9vU03;3$rbWwgvrd(xZOo9h3Ddc*aA +n!sD+VHS%%9}{9wq!F^Qq-5kPRcj)0vdygB%}8DdMb|__xt#J%(wlNj`Pn&ks|M=FU^PQ)l%0kLy>}7 +UH)m9aJ6{Kthx0Yqt(EkGtDM4}pPf9M(7hE@w}Q^;oewt!sugja?NgS`nG2gKdODTSId9JvbP(dW*A{ +k&^v-rE%iwH}b9!fcob6JULs_4#9c`RY-3o81E}hYnILhwn^dYTqqDbGGjmq*XIG;tUnk2nYQ&&9m6Fg%;^XJRwq&z2UnwE% +5hj<^EDA4WZoV0vh$?2LI4`AcZWR?O!$41Wjh`V!^GQ9jq5KO^~jI@%~bO7`*ktV7hi%P|SD4AJ*J3` +Z9d^j9nLUrvAL^qzEG#tLC4I<0PM;4UDPYI{S$SxBD+^77uv@+Ucj6}CB|nx&Sl}Bx+s4DwpfSe;dDFuU<3&eI*PCUloWkkjuptH>5fgHvBcdkKH1ygV +W;Vy>WEoTP!5X|NN-$WmjV3)+KHXr;$YBGBDewokOJo*FAd|sEp;$h_hmp}FnoI&7L!#iSJ%daH_P>Y +bmcKyx?^fBZf00moxBGjfg+JFA%botDfB5H|eudMY>L31zw3>gn`~U4n!SWRkKl12fj~A|7wfc!C*Q_ +mC_tewtpV{zi@pBuW-}J(Zn@e8W^77VKUVW|f^=;dC?A-N6*_*rH+OzlVcgpv@``-H>eE3nt{*MnF{N +&TmDi3}Buc|M;JY0RG=IF7nzCK=i;^a4{zCC@W?(Dhq^%uUo*l_9lA1?p+)6b1pe);w4Z@>T1bnVZ-u +HU%XOeB??yGI*OwU@U~+je)f_wC@ju8r7~_96cXZk_YC&@i|4Zyu@rF!Vj1Ed#B#*<5f36(B +i14|AYMfzRX9(N=!@71(I2q~q6V=qVj$vR#1O=hh@prM*h#Q6&SsfbyKHpBwNBE(|EQp7!o<%kuC +)rbvMuJiRx$jKKto`L9#=#QvD3`7h;)FH+qCL!h_79o}(mLpamRw7m-)*{v+HXt@4HX)KP(OyJfM1RC +UL>*%6m#+Ggked+;5Q`8?5z7&)5$h2zBQ}Zr4`V$e#v;bsO=NnGi6p@D#~ec{NyxC1$rdAt*W0KpRi9 +6&oFP3Ro|O`aYvSK9Ji~4g6w=EA&||kCn+oUOWJ5BUuD8H*hy^g8OojZX+OtTQJ)OiG%w$H2jl|?ECK +C<(kqXk-^_F~^&ceRHF`dqw5&A4+G1BKo(7_&_Ko66HF1r;c^gyT0kezI>pq-#Uhcd{+Ihf`r^RVgQp +Xoe&`t+fxsYCNcF-a;MgEiCP(9kdW`6!Bv9Fv_rhK?{}zU=uF(zEAe`ol3hp+?Su|5F*yfDrH%8xx@M +=~J~xM@QYbUY_2;xgM(=!u6S4!icQjq6iiFIl_3pG^T63slZGuzJVk&JM?T!HH?i=ah}iO@p4XOvkp{ +lC+SSDfsMt^VB;FluR=K%Q$Mqj5TW1BwC2nCSe!!8|BTb|Cw}n!jq-Q_&)?u=H?_l&p4($*;}%4=i;u +hTaY<|!%+4G+jN7Y>CG2+%4#3FLLr<0-J(^U9B-^rd-{2L5c`sw(mkwfzF584y_je%UU;eRWUn- +%0q$3teZ@o;)91pfp>sbi5ZVIy@BU_U=H*{ItzHjeI)C$MpJJ4ls>=yw~x<^6-0mux~V=3U5X&c$4j8 +o8M7^hYk{A2rCuTwWk@F}D+fT+HW$A{Xm;b;!lsRU~pT)*g$z9r8rvVx3+RaX$UBJqF+V?{A9+XQ)fm4M@;c<5 +kvAgmBK&t2`v>7a_@H<{z2Yb_y>6(;UDC83I8DPE6R_ +&pC~`_{-XTI2Z-{Y!~Q{(A9;`{Kk`AM{KyB3@*@vMo``%X@(kp|k>?>FiM$Z`DCEV+M7*77Wo+D4amnLZ$hp`u0D_b4RU|vI^==K!;ps}k3b%Ye4?mtK +pkqQQyd;MSUZW5%rCHhNy4kv7)}~Igb~F3OKw!W)nx< +nGALcs_d~FG0B%@-pP!$SaVyMP7~E7kM4>j>sF4cM>;17qCA-?u)z|at-pH$U~72MjnZLEb=7eT2UV4 +5y%UWXCf~~F5wMTDROt@<;XpeS0eX9UW?otc?0sc$eToYkgLB#dy#99XCeSmd6_laPB +MHzW5(UVywU@*?Ejke3L1ke7-4@dmF#^dm16`jM9i{dhxJCiEk(5c-i<3w_Azgg)d=LZ60nbpz@{?vLCXc_8w!$U~7!c!L=!(j +!k4>5*rM^vLr>di>=^p-7LsSfoc@D&pe}X1R!uyi&wRUMu3`0APcNkGx65N3Onv@ke6$k$WKzMDC3|R +K&*{)JP#mo+#wwu>3-fJWt4VSbiZ#UMx7?kd_J_iRBkO8p|&@-aytOcVCL-N8Sy26LLL16DPA#0K(SF +&_g_zM&gre3O>`OqC6GvG!6J#^q_FDA+387XW%MuhwvlFH;0<>#JMw%Wt7)_|`DnIeyGq_I^VljY~AG?xElS)RetN0Dfm+ +kr=tS;&nn|0vlWBU>dBMK^w8hl%AEBd0e(i6|G(U1lbamE~rZK3vY!@Mvlo7p{GE|-mslie$qBaivT!I! +Y~4o=T2XP(LIoFbQtuU?xh*INd&J4&`Yo0W6ATuv+Vo1auBa{& +wbvS-1GX#`1NvpJY~Uhh1j$x8Uil+zxJ2$ZdFjIK~f6igIQtxW$EA75cJS`sp%HVdb0xElSvv5-!&Z?;jlL +dH>*$o0vZ5{=vr1KSw*^rHfV6D?hIt{h0H45W#$sh4Bn7=Ra>};j+J-+l_NN;kQXRV#WP3Np64qdL60 +gcf(}6xu3%1cE|nXs7LOn2)Q1d%XzE)j&cgSVzETru4wtZ;daH#c5=I-o$N5V(g +OpHrzWnYK-SUQEopx|LJmliu@h@p~`lh{3cIELxgGH?ewgl5E`DB4a>*xFmZxESF& +=4^%Xw=)`diAIAh#cbq95h?Oq9#-tk<<(xn5WMXUP3J*E`jTTiJDBlB}1vWYIEs`ngW!<@M}(o<=y?# +d{vt^zm{#;_1T`^%N`X=kce?`gr^Vr}l4U?LW>XezcQ4+;4MS;!l$6gU6rdBsa1ABVFQ0$k%xuKTJ{I +v*hyVu^wF0$13DA74;bIR6Z;7&ukYS>C_Iatd&G5^t;Y0(eo++{m<_g#W=C>ORQpCU)RL>BIIJ;NgS~ +#uSK4O{3LQS@;8weATL2)gnTXX66A-Gmm&WOc?I$sUZ()%Vu7-l#}hs-LbSBom`7Cq$@vzMAM$k~K624cLy^CQJQDeKk)L87ClTeVk&Agrd4Cm@i+LF_P +bu%Wg7TM<7b5=xc`@=G$V-tQLSByiDdd&N-xdBu{)zA>@;#zF$iEi;`it{w;Vz`gg=m +fDg1%_tndf&Z$$Z#pBCjuenONV`KKa3Y+qs?H4o)tUQMT%2Q5UoSl=M#NyWTsG0Mey2r&;X=E+M@F0L +D5o^y!sC(6Z&0x@qc=G7}vz8-lk@>h^IAm4?&3AwnAt8Z}rHgbRD?<22M%(DifyinM$n70i@xtMnp^Z +H`mKN98g^P^&3I1%OI_xjuQSf!z5e78}MCqkJLqM#VgQ=?yVXhWRVjD +U_pJ%-f1}31ZzsCCZ;cUW;5j&xmykVqHT6%EfhB%!7-0^d^*x6)s|)Tl^+YeUtM%>+Q7%@{h;;;F-9aMC(~*mH2V$K<2FlY!`H-&>`W5RA3Q?Yoycqe +z$i+PRc;uxhe+;>phaZc)9OaK77wZbdI?_s%zaaD@7aR68Ah#oLLN1;k#5xqQPDS0!`3B)HQs=dB}@Jd5}LL^dsMlycBt<;EHuNtbC^SLBr_7x%?todgb}lUkHNio5~&Ysj0BFGj8={Qh`I!0P;lSWymv-mm|+Z{x9T($UhV1SFAHCM)`bEJ{-qCkGvG+AB*xK|3LT)`K!nqkw1rAtVnA8%N +ZxsGPF81RQ>u5#@|Db${(63mB6N>Ux$i=!DvCbzF#W4OtR|G>_G3h?;ye +erKXS3|FA(`TgD?<&XeW)AwB*Ac8Lo&$k +zwXjq>v*=L_ZXa-J#ozno{u^&xn^3(r>Amm^<4IA5fYTW{g6`fPIh;ymA}yh~X5>HjHC<1NnNSx)0Se +EdFH*3ai(l4XDJ@nWN#A0LlOW@9(bdiXqzLB4O~^E4^4pZU0My6h)DZ<8uNm-2Bky?h_Wxno^#D(*I5 +aN${UyA<3mb3P87jXg1+2TGUkV+{DaVY>@YmhCm*@5J>Ap6tTY72GJ>$N56Jo(=fBX;=MbxqO`43w&ue+Sv74pSS`fSX82e-SFhtES9<^1@(VVZ0&pYKVN{ga0MjKPIF+K=EFEeUp^0Ll*?vAhmMQmJS-2yFP3DUk7wv=3`#8==K0lZ(_eXpl +%aK1HEzWl07KNOjZ>~IBZhzUhn}D!~&kLL6_QU6e9PNj5lU$!B>^~gwtuFn68QZH#=2`6g$db8@>9@F +Wvuux;R}npi;NpxIT%3`7p4uYY!{@0ja{I9=?BVk`j`N3eM|n86%H`+t+E%$f_`I^!DLtP*5E=v*8pQ +mFvwWdKZgR3n%qKYbBG&%1<9c0n4tKsDTJgGVZZSR&ca6VT;h)6{f8?_E?cn(?cLp|vzirqbIC +uuTzGTSU^?G8%`wEN9Z7%i6=l$(+e7;V=EY}Zj9rj!9JDkIv%gg8W7t8kX`FDpse7=D8CsqZwxp0$9{ +0!M1&a>tA#kp1PAC{m$a%FCJ$zML|eG>Rswr@)C{hwvxIJEBjA8nJXHx1s*#+mfL?c4s**7*mn3{2to +`KfzvjPy8I^LW}**E)~Q!m)GT6GevggTs@LOOyI+?Am|84EoHfQ$6Fkf934HJzo3sll1IL>#6LWKUnA +uF4_NO>VPdNpZjn9x!(gvzA*oMCNn_${R<2Djds21=7BF3wtYWsc)&eF+*Fh9?blSZX!g{P51jObjMf +e*RY&aJwzOOCHM%cX{p$1O!AA!8{IK-E`hGj3=sbm~d-OY6`bT@s)6Xy&gC6kjaW2+<(8zCx{xl#q<+(+NUhQ&e>YBhI +>aIDasBWe^ske2*`|EbP$69(_`|8O0f$x1WFKxq+v0J`b_NQS-{OR21w`j`ZuYL6C_I~T9O+W8WmIoj +B>uPnMxY)q<@BI2p$2lE4g`Zk>-#uSHcjw%u9-&W>uRFc<*uLCXmgsN3{@_EyV$BZ+`#=9eLwaYESLYW7{W5$}$C;5Ie!1nsq_~IZ)3EP*dF%gBRoJ>eLGEiTvw!-{>z +($UICsX<-Vi-4FtK(Th|hDcK5z<_QDlUcbV`-=9oPzPe1;mdh(>{ +8Es$v=El0G`=04|IU{7i#68db6t?{B1D~rBuguIiv8CVQWlt`Offkhd*LM%!`%C+sbJlm*TR_tG4%8g +3`Q-Sr>*nEuWer_C>%93R%@otV$77ZrD`KVCFOH{;xd?bmX0r}zKv4R5wh%&=M8y=oHMzWT5J`q_ +^^++*SXtB>0kH%uIScuGmwiyrDj+BWZ&G*lkGIIH5%v%4osKbJkI>1*w0IkNm(dHpVr&YrsDu}fy$xA +n^rVdrLKXSeVD%ZS+*W_R4*@7d!&1U~Y^hNHP-qk8QM4w#||-MQh&mw&GM=8MxYk5y#Mdg(sn?v>;G` +YxKZ%$Ja`9s{O!HO<+Te0kf-K0kl^*Os^Ie?Hswmk-iL6cp~cTRXV?qjjfu+^J5zdMsvP^Qb!(&Q9;N +?;G9cV}tTCo*$lh;*&Rid*7H!hsW!$E-3ixjU%&uEY(bXzG=?0+r4k@k{)<<@Kob7AN3m828_AhA@ah`H7Rp_FaGP<2IKMmT1)+&$F>#C>vPYDO?J +;E)7D*@5}bR@wDF?Or^~^nr`q~9F8HNG)`5QEtFIk;VV#fljit>Vj|NAS8SR6D2R}0BRo|Zjs)=sNXB +U#o8x|JU`d%phqVkhjD}86ZJ-7PUhkqpwTT$+I=cH)2dk#&%a|ih(;9Ny?{!0ai#vTcN^HNiv?E5#a4 +1J*X&ipSei$BfVyzfGOjNAHpiT5=xT{<>DD`#2#^A}Hyz4lU0a_-ELt3Pd+JLq)c>2Ze>nHiT@#(o;Q{MURhXvj@&KvJ(7%{5EqxA88!+wuwAJF@ohV9Zi*^j@ +SJsI=TTI)An^_za0k=|}|=hwg9yZ84yHiTN&eH`^e)w6>ZJToD*{qJwB({#E!@5q_(Bl}PH(RQA5=8a +VgF8r3e`tyq~&x;%CHh#v%a5gXD`|Z^@uSxfv4d1hC$jG-|&UyKZ38p21d;ZAXKdrj5CcUnybXWS=Lp +$G^U76+c!VAxk{gLy=uljK6)zK&7rZ;@E=#$<(u6Zq=G<9L^w&P2q&#E`Q^1PiCj;rTmdb+2M`Cf7V( +30xkcK_(d|Jt6{Y2X_(uix|R5B)la42t%-!|kQ9<8B7Nd%Z9>G2+GYt@Y!rAOA9WX>qb`ZTsGLezWWC +mxt``6ua%o?e}~iK61meub(+1-8}khO@S)Egw8=o&u@yovh&nugLjS(y?gqn*6Q@^@7t68m-l_yTbFi>Jly%E@9g +KRei=CQ5jN&j-!(V&uiuU?8o#*Y($G%J(xR`97;>fj*EQ|hcQme#wwAW5tFG9n>F4-d20^@zdXrDA#8+uK!?TRmX*2?SC?uH5lKH4WpNQ`r^PYS +G^}h{d)M-S8`vz>%*-p=547OYVjTQ(8L!$EbsVnY0U8GLpw*j`2M>$cPt*>J9^0QFFI=Xth;F*ePaH5 +k3QQe{6@E`$xYveepmCjr?Kl1Rkxd0_G))+-*+JACv}ex@pVDlKGrQik=rzQ{PDAkiickO$}452<=Z< +;-aGM=Jmqos#Bk=nfcwYg4qYwlqL=x8Q# +l%b*Bp--RyY1*`s}aO8Sk_U!^UMJ-aWNP6q4C(z|&}H5F$)s>fRWzL_v&^ULR6*sVWzDkbQB_x|gj|H +`c2(C_@m`|LiQdJpaykhHL4`IfOYE3M0}B%L|_`KN=<7~9fIY=K7pZZB@q(l!u#APRyyAw|CT~n;o +}f@u+!1zzavSgB#lVFYB7K-gy7n!D~_@?|JE&4t4EECXVa6XZ`Py13sA3f9a5utL-I41!FtD{Y`LDGuoq?C2q>JNirN&cTwpON8XrWv=Aa)hv1W7fRm# +C6f1@`y}sfMKS@5_y;MFu`l)<+(tdN6e%Xa`FC67r&7v7!}Y$%57=x-k6^NnNaoXW7f=#C# +0XVNV{0OJv(VkQ#TqqJfzo0ckGv6*3_?KOrW-fu8G9`+W)n#Q*oWA7kM=yM +4v*gCh({Gv4$)!-5eTYZ+fZX(t4A=UdVeu2+U|15@ua1RlEez`{A2KZX)$1(NcOZdb$#*X@)GcV>;UUA$G5z=FGpxH*!BBJD^E^u* +7{jol?rDZesuK+B*7mGNKQPoaZDmMmFEZ2w2VG$DYncpnx}6M5R6jAS3m@{Gn2wZ>Z+^{RS`aW=TbZs +Z-fzv&zW8b3=6RpquYGQ4Rl;CZqBbPnZ_JVd$=auvT8%sB>$R62-Tmgme$%yEmMq!#{;GM}Q?Jb3aM# +EjZLV}Q@`k5L`}@`Brkoj`scq`<%hmdUS=zbX&qP)}=Bo_}TfArX)o5+;h_|l~ElJTX_R1`L^*cT4$< +)TpdU@5_Ihoq)``%bod5>P3`laM~^eclly!Vma?_bQ;rgn)bUSrPIjvo5irAfwF+LQAdI{to6qy4?_f +IW5ZjMIKLIq-t}jvVcW;Rknhdj5WG|3xuw4fkbgkIvnFcFz86ZStnC7kYV&)qWfO?w?(H&(}_wcdcL5 +f;4SxMWNYeRptbnUtFUhTTQ0U!F#NYOt1LzkmxH)U(X559h9(C +id#v^w&)o#zs?OAb}ezwksX`XNO7(E!zZ+OlkIaoMJ_dGF}8ea`IL-X$kWo7^MpxnJKhXlKR$K3AKWs +P)@%_WQw+aoTbDqkg{UPm?w)Cw&<0Kj;cVx)ze|b4cfq?N)wNc3dAG0Tv +uvE^uT%m$OjkY`A-vsYhWJDz1?@4*0hn$eW1(VH}SGek^c +hOf=MKi%^i#R>{xjAztw6wf1kioMBz%esX57-6i`ifmDHp$qvdd;DJ{p6%|(ms21`DDKMKZC%B=>Q%} +GqM^_i4fZK>cLqX}GNaK}!+vaKtlMEVqd_3(Bbn-_u=vHEf3v4I4!_5Wc6ZMzLeBhK=d-{ +dP5E0OGMjL+ +}g+`xdgAxrGYPVX3CL2vd4W`8dL}EqzbhKZZ8$>i(a!mB?Dk8okAF)d*eV0y-9a01@vgg~$orYFa +XS92=c-ZnX>89Fm1-<+*QqBsgWm_2(LG8MG}~ZF-AS@ITAesUBH*F-{Bq6XoOQy|b=c{GDoGO~E;i#% +`si%}SUY9NKdI47h6meLD#&1#Lx&9Bz%@djOO%D=R0LDyFGhGV9iKt^1^v_Gd}A(+an00u76yM>D2r4 +B2K|{=mP_FBzH|HYPpYgI7=A)`N|iIVIbWox`_`B7N}e>m#3snij(N5zzf7*4ffW8oCawz+XiQR4Nx4 +9T%i)UQU7RltM<=ifx6UMvyhCT;B^CDv|%5L&xXMl}FPSsl{;l`0ujkzvw89X}Mhg^oWa}7+-^bp(&f*OwdByZ?O5kqjr8?93$pOKJ3lOL`sk7K;|y5_z11*3cl5 +|$y(N2yIaSOHA0v*ns&vill!%0Ay7*2F&y7QDhCDi&t?orgq*da)Z#Em!j$J3Qy*hYU9^9QuqzRhJ5M +wIb0rX|dMWF83y5b=rAt`BeVEbj{5pfB96C>E2hguOv1ASe?*iuG+m#`?7R-*``fq{xJdNmJ$Fn>oFy +TC`f#$$QJx`f5DJQ81)*jhvkW6QEKT;nCuh-TL?rZ3MWEP?4OaM72*;uS$yBRG19h5C-4ul{a=_g%7N +Noq26UvYO8*JrV%^yS4RB`#t2GJU1aVF^55S$7rBmxb|o6*L}n1Vi$8zLf)1Y#kZaAzQ-e9;jmd1ctF +?P5uz(RM%|j4t-Ddr)}ggzT8d+dBTJ55U!rSyO)G^2cC>qf3u1-_y9L!gaQ?brFtz^OG@7mwuCcwg^E +Zo0M~vN=DJn5k}-mi7^ecS9c!m(x6mOVP(E +Zg=?JmE~W5egJ&$!@l>a?+xEO)*+#PIt7^4|U#y*by-jaUju!g8govw>`A#kh=1*O80QjdKW_12Zi +{bJydw84Xw+Sye>Thv$E8H8lPrwY?N0pE484h +}x`ZP!A&anr%C(;e{&;d_Y_A1bGFv=1r?gohg)d@f@=h@Uo5J +6g!644wxM&T*tmCb9l>P4-#t$;W9M7UxO|$l_a(4X5W(wd;9Q19{T*;L7u>H*3!h+e4oq;>an2(kUoDI4S`X2$LH)s}5bW2K(slK&K5C*1SwW +tPesYT;J)?p_GU2qVFYk$lDQLxf~)+hi +g2KFdqfVI_K|)>l=KkQD;mm@e&Tf_41G-o*ylrBJT$JW1%CCb7vHd^RTNALQcW;4nB>jXPBal>Tkgw` +1r2p^08FMYF8b{K>o;SLPla7f0mD{Ej#K6sjYM5a|G&nz0>(M7WinVdL9C8ItcsU&I+6Iz5|=SbNIcZ +LLPgO?xW+7_fW`7Kz7PW9-xp{gKmE(xfN`i#M&gcZ7BA$cOwQNjzS#H`X1g_uYvP{U0)tOgf)2n{CJW +CbyfK>)%B1Zw@-Zr3qRsUb9oZd6|g)V=TRzz@oUl%S=UMEW9VwH0aF;ag;Gw*|&_8NY*Gx?!#N_4{Q@8QU;%D*;lRmVWiZ$ET)yZj&9+8ZozHx7!7Ts +Z41}M!U(VvK6P>*K<}UUHR%PY%Oa<1$GcG9I~4W35W*(2Fh_fb^WWFksU4=f$7<-la;@3+7twX_CHyy +9bVbK6@c9Ei5^qB1J)~F-{e4Vp=|jQhj(FYC%dh|gYgP4G5Mtl%)17ay+IpQ(I?-Bn*^c{@)5 +r-p&Bi@UcftZI_gt!IqZN!6!UnABd{(|`FFpQ5_ins}J4PqW*Dqp&l?bT1iQ+kk&i*_kJtrqK4O+4UA1b8!4^*kVeRH9Q(D +d(a>+g3V2j8xS#z=s5jIO!B%cu=Lp&fn$}tr(H7A+B5}Jg$&!n>^Ey`*^8=dHh)!Q=WkYK8VD|CuY$O +&l*&65q4MjK6rIi!Z$mC7U2-%o~Ft;Tedct=={BMV}qai`~`+OycZ(&$UZ;K}B98k%6pHuJ1WgWGg_m +dzNRZ!;w1%rT}KA~N(A^13vcnSt|V5Km9jMeD6LHt9vkdv4J=dax?lqPOIS!4=tKj^1d4RPjbrdX|A3 +F)5F%BoSFTRs$M5jh58OelN-+>=ui`WSeNTu$PGELvFiN_~Ns$)Km+bML9+y=scA{E+FKYBssq{wgF= +x2Q51#`f@k4k<6evsVC^W!pV5bX!3}hRD=B9*=dvFVkSk4nZ)g?Sc4(c;e%6dSjH%m*=~zsC0LBP&M} +%&b8;u;%^`cqMEVx?oO~Wc-cZHnSe-n%lGdtBXT?v76ZwrNv{InLlUZexwT#CZvU3)*DvUQ9Qs$5uQo +PLq|Dqs9d}Q>Tu-GV;d?Igeu?7okLZ%c$M2_8LgErcYmKD8>MU6@&y_`Z5*qhiPkX&LdEZ=G~WYa0qF +e~#Id?U$jjRJqJh5HU72jIdz{{AHOK` +dWTAT;IAAiHjjdIjsbR#g%^c9cs*T)vtN+Op9%2s5(fV?g-lENk+(kV^^~B~FX+h}=1aI>ESZ@Rgz=C +vU4F*A~iEdCmX70#H_MJJ4+~0cX!%V61W}}I<8uFq?f?N+J^t)USFHt7f!)D5u>JOZI1ZMe*uJ2=nkn +L_xZ$boqocCvx(X$dla;3@8Fj${Kma*@XjTS2_KhwE}g~b^1SkN5us9Tg3EHS3C^B7JkvWNO6EFzYWX +Q}oXlcv+}2bjlVY5z)YdWeoLAxG~0NGR(O9CMr8EZUFkVEsr-qE57KoCLG=79*YPnnU)e9ItMq-Y4WG +Xt8!{1~og}o|a~?Sm`1zM?KE4+n`sWwtk6y3NPVwR(tVKU(i3X?{NlRF}^(a)EQ~K6?Wil&d~_|@iBb +Mnc(LJ5%R@-nwqp@&Fr9egcMs#BWeBv8TumEs9ML&3Q2do3!3P=~z>;S9)Ye$jN=RS8I>3SfDz?$v6M!Lrn*d`0cK{Xu?g7+vBjkNR|6X(tqVrN-FTSp)5qWF?-TUsmL^K@B0B +h;GALwuz0h4;uz0A^74S+LM2Di|@gtU_kZjt?H`Z`hyc!8W%74@fFFE#b2Yl@Sl*a38_&@@%#K)81Uz +k~#V{eX>w2?sUmaj)sa{H)NcVozOVty(UH+ +4(|LTZ&65VsbpsE9GfcQz1AwMZus+eW`a)*Xy+rFs1z>NfLDdvTf8$;+mBbTL2=S5<=w3T|sUm^y!Ivy0()A!z-z;k9St)Tg+%p4Dgoortz +}h*qJtRvFiBPZ7c}a6G-D|3jM9!moj@FSvK>q+0@x70bk$@%l^L7@wfTKAD%ZV79O81J>OX@Vb2WG0O +95Evu>P3|-l^O{d2w0v)+ofL8Wy3X0s$&~E?E|bZgCA5WDz%M}RLCzjm#)1yFEt^SazY`7*laXo{-fL7GpRs-ghuQ*}|LewgN;ELA*A_wYO~6+A-7Z}dER4EzlGb&u1%a#K}JkJI!9RYf +7k!j({;;NR+19Q~glWGOBG6Lc@%Iw|%^S|8^n-5Of&(7pgmseCQnJM_GiQN-I}31A(Bmp{eME0yolgf +s!qdz$V^Sw|`X!{B^WKSM~M2F?e%@f~0uT$jAyJfj=w-Us#lfe=w29lDe^@^o|EcTb(`s4p +!HHk32o=elI|s1&){FcaiFJe3n9^ffm```U4U4(mA0c~Deo1!mtL}@ewFGqsPbN=`PECcfF+R5|20DL +0ClBszEb`=A@czXU#EMhos&wp@pjU%jqdSS$2N|w0C~v{y5=HDs@_5M>m~C}UfycJda7p^A@04Qy#js +!{S2LejFOCQd2h1wP-=XW>P=Eb?xu6hbtG>$KmUq$vv;mab-Vd_PdCn`{z-a^_g@un@$8PpqMC15PXuiH=CPl~GSV?wUL`CD=j@>gAQtN +4_@8qerfQVD*7c(sS1y}4gT2*O$mybnNz~pWv>lz7d~0~V<{DaW^^)&Vejb$q_ +Je+@`YYNmK)rrV`!l^%{55UAMz^BlG+weqH=bSuXhy87rF#QH`#VAXUN1GB;PD$z(thH+RQe6o2l<{N +Q+twBbi>-cv>lzH@%2(*9o7j +6l_VtsE`{(iz*B%B7vcH_SOEAwVB-^2A5;)VVI&-^t0541l#FV$ +Y=?I`d^emzL~k?!RN*T0{5z9EQ7fOhG;s_tj#$Eh7xc)OvK=M-ZB7r7bTD}JN>#|2gK?{K|`>vDAy?T +6Cb3jc)qmD1fx|AO*DxEb!wqX9E+K)Y5!zt&9aqmI7M92<8sA+aE5T2V9 +ui3fUgRkeGhn5cL>>W5^pQw0<#$M=60otoMD_qS`AQ_TFVu&h1pS^~71>dOdQFz90sBIDU1y1O0*vh{ +k;@R@-(O<&UkKQn_D6un?xO2)CAbbiz4VkwKMDHhUJ_hypq~$r$b6c<57+~!yGw$0nIx402E+BBwy(t +cg^Yd@oY&{2@_sZOT<7{rqyXX<4uo*f=RZhd*Wr@E64?adzQGdfe+mI#g7z0UM1p>xj${Dthjtw}RD$ +*e*WaO3FI;y3DRIprP=e6$&3Hk@P&O9QKOQ5&$5s6)AiyxK9NUG;Cu;2YVmH%pq-5-TKA&~?Kr)x +d#0Z!K`m%x1zU4vW&NY@Q(;J${gn`{gB7gdOK{c0H?T^F1EM^jqLuLKR>JFA32$sA +{MJbZ9`4&pxTclxkQTz}dvtXw{(FH2Cwb_ja85hflk}L1lsb*TsMo?d=;7ez^(ywvBM$#}f%`gm#pkr +ocJRQ%DtXT;dK3XyJB|Jq*Qm%cr~K(Y+Zw|6f0c-nq85%JLxzwkQ>KtPbLJ4E(MareJFn1!0{B-zii? +ZMYp=aV_U+q8Dk>_-@#DwI&6_s~4q+6q$Uqt?YfIKv6|^PoKg-QM%;@3fpRX6Ry`G!9bSaJSb92@8!_ +8HHfcUdUy3ahwAuaIST*?~`S5;Lp&ZZ#L@ZZnP*VC9hcWI;gG9+&P6nXApbrVgWmUf-_k(aUSCOInVlo#jmP5{3#FkgXup*^XDA$Z*E?FxQdzvVbs3shp(Lh_B)j``&V3F +Rdv1UcdCQ(n{o4_Aj0)5&=1_>{X?AwZmK#AMM$ImQP=KV-tlKX2Gm6PjYo%fh^{&eF`l6AQeS_4Z@K6RMi7A1KM7A5ZwShf +hE=ZRft&*8i@Zj~qFYOrJiT#K*^zB}%BC>7UHnL~W9@fUc{`zZj;lc&Eotx>;THx8hT=tG9t +%(QB4>Z4>_7QpLqn|%Y%giAUK^3Ka)ZF~gM?WlpmXP_-ProgA8@@dB;)Qw5&3~mWJ9J^ztXUtWMUUJL +xFB=tq8ZK2dlxi6xN^Wp^JXm|4>iC1(cW29-@Y|e|3l5qKmPGY8DXvX0YV-O2x#{83}_~9_#wCXh&Z1 +3Y0v#ceWYW4y8Y~FzkdD5ph1J+UMPf&A3vUig@uu*s3_*UnKNgS*|TSpxpU`|`|i7sJeWF}q^GBog$o +yw?Cfk}u~=CDv258g@{)Z5*}h~vdF#Qk0>(;F!&p!JsdG5LA$fix3NJ&WvdF7Q?SpAljm65%B_p-k1{rBG|M-P;d6<3EY$SjD@ds-w^iU0jD|jp ++ZJ^Pp;iByg?ZyXA_B-GN)-?N(@y)}?yylrCzj+ZUZeB#|GQKAq5 +a|d76xs79$aVspZ2Z=E~;wlA2JiI6tA}{ndOKNP*N~o_+)q~kRP+)wAQ!&duHQdLPW3M?|c02uI-tbbJpJLz1H6AaL!zgNy!A%^wsR%kU2~{1XiS0>f`%_>WZZN=GGD>B=_SlXE72Hrrv!Ue^42&Y- +FDLkbPbP-xOq3e9;*p*5Qn+E}H~z9TAl4Z{y(_z4XED8pwnd_KdQ82%N8-@)*2Gd$0^<}kw_XZZR?_` +7+8dwGOZ9$_VqVCE6_@CaY>2=$#w`Ed{_XD5+zehw)=ts&*-jig-IM~(1zFg)HF70mFH8GahW&u92Nh +F{C@7KY!<@Vgm)FT)>Z_>(GlPZtMnWB5B5z9+-?W%#=pek{YsGyEKeU(N6qhTqBXpQ_-SwghKW{}dJ$ +8WI}fd`!@U{(gOW`}p)7-*`48G&(9OJUluqI5;FcVSt~nZ=c@d$M=#Wgh%md{y&O8goh{i_rnF_$7@{ +YqhrD%qJw$(h_I00(2#_?aY3IxK0RIMqhhon(IH{sVGIwv2Hx%OKQ`eKlF>2IvW>gLyKBP0fzAO~Pq^)mUAo*mMqJ=8F6 +gNNd{{WnhT!}kyWDxN3$+RTF$2RV1c$`j7abiDozM*f-0t1A>z{79<(BRfFayrVh{of0YjQyX*nsn45 +iwEG(J>J*J(^s==Y9K&@k3+6qa$L%W5(Up?Kam1IN#52zy!rPewdg-axGyrE^zTrj6Y~p46`^UB05G8 +A!d;LXZ#bw2Wf#qG>_43+_)}Xy6^>!=M#qAl%NfW;0f;I^LLFKCs63#cs{IC+fG3p10$ltW0=e1dI%! +!ln=HK9vKpHPn%9{1A`M{5@MnvTv*EY<|t8NLqfv>ZuIDIpX&s86%`)Rcs^l7fLHsQJUlu_GKN4gCOV +iE>C*X-;X?xlw{PS5hbTT77RtIjWJp-prSl01p&=7Tb!^vm7=H{)!01uom*!6h!zB|(-FibiEzXApv% +1RHTuJ`0f@yE=+;L(;SWNIJ)-^>@kMC@eUY$q8gfJhYRHre1xH!$f4<8&hDyr#er~dHx;jD;J5kp71o +mP#{tceO4>2_L)ZrWnpP7_rwY3P(2T+4|><@L$umNe6w&E;~HV7Gj(c%_U_Tdmh?Kaa&YU5ekIz5quv{@NMJCsROrOcrN${ISXY^38Hzw1@-91u~c%kaS;WG +JFowO7mV(F{M8;pZ^?N`_z0@S7O^9frRY=l+wY{3lQOznZ7W_wsb>)=k{fa=UnuP&e;B0RaJcY;!kFw +{G6udiL+()v@DUtY^3T`1R@I+b5v2SEqir^7n2%d-?kEwVl0s1o#K|E8Tti`vu(DA)qr~(DBw=@9N&O +k6*ye9sKTc{h-nK^$+m$yv2`U`u(Bft=+u4_7Aw()3ZbSwry|e*Qryt8*l2?|IV8|JK%=^uO7Fx^JwQ +2fOcp5wiy3U-ZymNZ#Vbq(7wGt+gHy%ceLrwXBp&9{?7CJcmJbrFaLl5fBan>&)?tQzqh}CPk%vQcW$ +`Xs%KB<9Xv}qDavSU;kyW6$gdI +@~-I=|a`^ymSmqT^9^ecQKhkLM(_XApnth*vV<(Ij|Wk>vRGYHeKO-g2c2T@8Fic!c_EHf-4N0LPter +%#{$`up#{|Au4F(Nm{R9p~ebvuDqq=5^_@!-o%VeEaRUpYibU@E<*TbbyN{Z`U|@T_yN%HT;9D5t#qb +w{Ks(t`WTI*fL0C^PW0&YVa^_{P~VUhYmf<>uB1!b0>ZC%{RpHlnx#|hz%+_a^wi{`kQc`X&{cXpV!s +Zeap0dxqtuumv`;jwInn&6wir)obVbdJm$Ew3m3?>gRA57t*&!;{TUuj-!&~QZE!B-F;luj^KgLVo|L(i*(rd51MvNa-R8$DOj~_oyUw{2IRaaNjzJ2?|b%5a<0lyz(m<<~@Zd +|-|>(<4bvPCRkzI$jt5!X9&pr2mci!RQ;eHtRYVkjF<_vKzv!++CU +PGCO`6o`Cpvub1Mn3P|yO%!s%SYgj&$YF+^x0>hiSM9EcFuXkk#+9u4?q0Szge)~<{W$0}D{R01f5$D;4@3|WM&!0a}9EODc2L%Q7g&v~={|`R+fVOShMl5sUoLSf~_z!u!^U +gb>1NW+`Dq$-%H8tWhXn+rZzQIl)BjC2>d!pn|iGn{Q8uAWNz*|KAyNCu>5>0-WsN^`&x%1}_u&s2zB +IYXmckI})rg!h&Lpg`fXMYKK2pWJdcn-dT9>@Z?<1=Lc#TQ?Qj?dsZ_zira2cQLbga44R;X9)6gGAc> +M5Fc+4S%0#a23ghNtMLEnr=Ot9s|ODr?8CaS0yMB3en$&%fgSz +M|$B=(;VGY#>K$DfZnX^{2|8l*kLCk=X=`TizRKhVJZ*SyB|UnPe5usQtM-wXX`Tgyj21e=p|NLoMx; +=$!~3;4rNzPdDoN}n7>B}{{vY0%Gg;-7VzDDfoIP)GE@ai=}QCq;jD$(})jv}e#D?HNAFZ<`qACwKf| +XNWJHXEk=vAiFyq&Dn^g1#Rn+5wvO1NGg3|6cuMP4fDs)x%v}y=ocpq2~5M(Z1|1<`9v!>c(XseI8WvNH|t_WV!wNo&$VX!YZvl$RPt%V&nslIh{}%)E!_i$m3d26c`x(3N9c4uAIdL +jM_`eBceda0E`k8}0$!4<=@*>&QGHJ<9e*N`Vs(v|%b}b)H+m|v8Yzwb24P`E +ShELMZ8%ygm$5LTNFg=&9rDtb_&@)WKQ%u7$reQJDfaacK{N+IN{s;K8E(rZ+y9G@p}U;mAWzwar(Z?{9{9DmnLnlvdoJw5$h;0k+$4dmqH2pZJ-btReL2%BQq`j<31l{#32`|qD~smNolC1%uNHRw`RAVtzk^(;Ia+`>Vgq~?av|iSSP!7Vp7&bj(ZyeQyILzzy0lR^!)SB({s-~C- +A}g9{7R=!~(<#Ne9+2paK3AdWcwvIrcmgPWy|1|9N`XH2+eLG2fYEz@FigUd)aG`d3_kjUGLERZL9GQ +s@us`WjyM4}JC3SM6-W#OEkGJDb=h2;c9$_g;}By!F;wLLY!TaD|MdUP*a?KIk6SImqiE3)ll}TG%to +L2b{)Zub2C)(yx5*R@7@MvNHo+}gEk#Xbn;cG)uJ=H^mdTpac4)rqneh3tWH)Y(w2agY53KphKt +R*zm0%tbdfY|5eNJ*_mS?KHC_H$7L+=rzVJp~=z&aAYAxDDjKua@?$^ZEa@aSsye*nz3tINp9IP&C^Py +PlxA9&ya(P7h)hW`Eg(}D#Hgd7kvqwAtT5G@to1H9d`WedId;)_C`r4 +6HlZn-y)yb0f-GqQfbKC`Gzn>POr?v41XtFv8eiuA|y+YrCKkR_@(R3Yg7x=69KiN+-?*D)W#7^Wd@PE()#3RH`@EB`O@E&rI`@4_>zQgC +k*TRqSnnKhynC9z^yTBj1+mfDNPT$qO2*U&phU=lVL9ub-q!qz1)w^5bgbeD0q*U|N9o +^zmt8qk>_ks*VE;_CUXDWmGl3`{S5ou1MD|n$H1tWqTYx)7wRk66UScc$7hMEe{5B)w+H<6vSrJXo_p +@OIN*TX3F`;MNBDKbBKT_LvdB|#4xiDc)?KO>qQ--IC-$^a-@%?dYHU}UA8PHb +jnd@-B;c}pw>s!hfrr6&Bu?M>SPbZ6kfk3ah@Bez7GTPM-B{J5P!Cuxe#<}TZu&ZV|*rktdbviLWual +D2u3a0a#shOh&v8UUy$yS+s4rkoc*_eJSF9PH_=PBwaT&AES!;t$px&vTA9=;Xg$vV{ELrlHy7mejux +|ohpkaRkd +*f0cu`iDL3ThLg#^suS@$_+GuJI~;9P@rt`6DM=wQ5z;OE0|?2V2B?ANe`x1}@+Mj{A+NqHc(K74}ta +uD$IIuKEIO0`(Ep3Uiag8+m}H_R*-_s`VeX^~4iTq_h8jOx6dmF2LFjJb~{4FV5C|Lht?~R@4cwKV9z +HUpJ|20(GWmTy?S~E*#K=KJvT|b3go3Q~Q_eGuR<=es!HiUAqIHu2eHRu)9puSWv55!8qi&YK^M)JO7 +9IpLyn)q?ccQIS#cUE$y5{u#(U0iV(SvLgZu&SYq_I}k()@@i*yq5WE_jUf729ItUb=fNOv(nbcxz28) +gSwaPJeaql0MG8q>t-z9>ny`#(y6F204FRT-=wz!NFqR6}9Qq)Kq%<>8Hi|4me3)Ablm|1Kyme`;#xS#D_tOF72QI|n&iSsO)I(4d``*M5D?y`|_T;5yB!{ff^mjA +$?`H#6d|2TnKBKD1=qN2q9D{z=IXO7@I{DG{INF9)S$Wk9TPF$QdYt~HGAw5!6S&EJ +KUp8bbFK}PtrcImligT^dnkM`o{Lk{`%OAsd*po-hhtEN6;gLrk5jAGm1+GN{59A&%@@3Rikhe1 +pFI~mljq|(jVX5~d5RWo5Glg%!y{d9w5%L1BK{tHzfddCDS2?$sAM>!U5&pk9JY){MapOi>zka>gD~4 +~xo|CL8UgO+ie#|4|FLVj?${ZZFC+m{H0Xl{n2lk(~Zrv*H6TH^B8|iP&9w___d>`aoUS1CUJH@UCm|j2$gs4u?a?Q^qjJnQi)@8XonuUAuN+pY;Nd +QOo*w7IuiWG4!>R*C10qbKVCP%=z`YqhhG75+2t=r;)?Sd`8+7d|AS`&NUPA)BT**40*dreykt{V=ma +5Tob8t!K72pHSpFSe;0<&ao+;p1Umw*^6xvUx0`6qY-esb&9!#I`Vs3_tQD|U3FNiXTE+{tR;$C5rcV908{Hqdv$BrE$SCjYSz;7exf;`| +))wtj@V!2xXalMqkyeA1`Ax>g`#3QT|FgE-$$NnX1c=&1Hjd8#W)QUh8Vm9`Z0E=}tV)vdsdz!$a<+Q +VhcyU+SxVq9pm)Ep&^-lQRLusdIG+yFqPj~{G2i{yDzTx?6Hz;@?0iGOyr?0h9@b&_H!?V|JR00E?-U +&}$YwNmFBc8i}LuJP+Z(B;R^*90m-+(&R9f;Wou@6j9@J(MuMCQZpulKA?C +j7<`r)hfoG!Xx1fM$;%0_{==MW}1@1-!u7_`;{#53GFY+9XyttJDhtKUzsWX9(*qUJDVX}GiHR6&7Y? +6uXFj_qvATWdzAL7@#DnRS*mddDFa0h6vrXrw?LMahv36paeX?EI7>z00%b6dJCHwTi|>yqz4-bG{CT +Fh5}e6ko`8y(jNx2GY34T#C(~g{KR#X!zk&pA6J6t^x^R>9rC%0Dt#~?XEW^!Krt|pI7=zZ!3=5z3zk +_$@W^=p@7y1~-<7GCZVc3L6y76Z|3q8u>^GQwQ-u}k&8%GCcr_IvLPtMFrot-|$chJBvIeB3 +PRpE~HG9U~0n=uujZDf)8#sTEuO=-iJ#|KM*4#MtY&?`kGkR|3ye#pON7raRR~T)ukAP#ytmJ9)GE?U ++bbaSvGLz@b<5`lY$7ZI^Po0%KGdZjAr22G3HiP1|Y!i~_C(qK%!oOpDld_`H=g)pTIn!4&FEwNu-Yz +!AcSh2ztYlwJz@-b`lwry>6_|9Ua#N+L+Ei<*Hz{T>v&I}~)|z9@iRKJ*uDQUhG +nbny&DG{wbG=!ycv&=-K#SHAYe}?ZSaK}|7M-QsQfaBS)LQB-N|9HQrYNvTTNGQASd>weTU1b_D=IIl +EUGT5Evhf#fN9lO1Fc$XtToY^Va>G`SasHNYo)c?T5GMhD#c#Kn&QA>ZE~uajv8iBusu-gh#;MNIz*u=QUfztEALABT6kn9WxMe +eTc|}UGC(r54v-1p6N+pin5uGI; +Nz-+S-wI#a5=Uf@!Q`Dr=a|I;OONY4v1ky_sG=L2)G09M4pzFx}Zqc^=bV$kba)%1bIrDod(Ls!M80Y +D?-$>Ps3*6q~2b%jRv<*!*mPwji6<7HNyM#oH2XDYgt-wk_9|XDhH3+A7Mb%4*8$${Nb>5Zx-)BTt>T +&QBMli`2#IQgqq6JYAvAs;kgd>1uR!x(1!6-dpdd57I~K&=&STK`Z|4s-qYZ1@G}G +%A`S6|6hpQl&roQv8Y&D`h8jbi0b1(KS{h`GWF1X0W*hTZN3F&RW0kSSSZ8c7dYZgVex@K(q$%E%V#+ +qu-Q-!I@RAZ_$HJCij-ex~@kU7#EZ%#31oAbK{O<{TFSqnL3udr5GYgn=kR!^3xA +Ime6WtqZq%wri^S$MeC(F#QB#7k|&$7y9ITf;uDp)=>ESrWBPnL=wOC*w|k;0P5V<}i|6}Bo{ +jjhhsVDq$l+x_f8_DFlYJ;k1F&$AcWt@a9gmA%GZXK%23I=mfzjvz;*Bi@nX$ads83LREQg`>(*sw*uott +_oBtu3uDRm!}|G-ZKh+OpWP#IlUC+_Hi)U0HcqWm$DuZCQO89@6ZE1X$;#)93UE0VORv!f>b3e>-6RNN`1AyR$s4I3|T#2OL}8HQX#fk9^|H&hy` +4Yh`PgJSezzZu9rGnRd3hB24D=Kn^YiHA^QpCpB^z`HE)FzHA>Y{Z2tvNO9KQH0000800WU*S^n^%E>6V&0052w02=@R0B~t=FJE?LZe(wAFJx(RbZlv2FLy +RHE@gOSOeT{R{ +&d}Bsxa|?Ii~;pUmN`O8&%cM^hx~o>nhCt?bpp&^whGnrG?KvS@`JFY59*n^USky+G9_o6$YM3d+M1q +&&=6rPe1$k6E`O(C%B9{K6>lRf1d05xF_=WWcm1>^YA?N_|Trc^i1jbIX!Rc>4s-_@pV0CDeu2~eo65 +ojQrz_=PmTS|Ec^%Sl^X>p5--}9)CI36rcS4W4+_J-jo=VU^2Bp;A0+_bT|As_*9rp#(Rv(WWyg*?~@ +{7^4{5HhPRyJNTJB%>hNW+rmRtB(=2>hYc`#m4bLL8$(q=AlFg>ap#w!{O{Nk5hc)RfXENC>Kb(BC{K +QHbo|Ru19m26&FVB-^GA+Eh@bO3GM@^=evU#1RJK*oj%k$;H|C@O>Q-+8?(BVPw9BjTaU-ivPc}5x|j +MbC`&+%8~%elF5Sz$iB)11KEnC8Iqwrk~kV#%|R@g5v2%oUAc%~koP{_srv|NCEQqfojLo__YFFF4zg +8=RJs8=R3g`$4Jrgk(3FBxd{5XtPPm+$04{Tp4!Exuptc*%z9YB8B{}3{PmPo~cVgk1I``ax)YOCEwN +!*u*KdV)+)R;@*3qiqh)9O;YJW`5r0coYIX+TXp9k%oDUtFft@k?{ST*0MIE2u5zX6O_jLNy7P9(zpZxLe;kXI#JL7VrDg!$5ZSiUYDn7yS%f!g)RjHDE-}ax^0;C$n^n^UoSfV&wcN# +D{P}HSXu~DQR;r7Fbjh1p&Aw3g--KhpVyj%{4OTN&{DqHg_pmzEJPHps!J&?Vp0r{sgD_ +$9>ri{X?o02MEEmH+hnZXtXwAyDs{b{Zw+oE|g1A@;<=cAOebi{z!)kr(3z#?c^^ur=2Udz>f$_oU2I +B<4I9ZGEW{vtrH}nEpm)LHx0`Z)BH*X%xrT0J&RNp|8iH5&b!r0e&F=B4Yo +?ym}m3FWpTNG=ewEpkF``eBG%c1E-0vLm!)i(oVRL-SlYKDNon9?tNwW$^mEz&(d~x3V+HKo +749$H20W||Q4?7)t@MeUjh3aGd5O5|;pGrGIo*-7@Zi6mMY+q(0<{2jimjLuTOAZ1qsuoI0U^+j?ouI +7-z&qB(_sk;PoO!C2j%$NK20_-M9vBLx4hHV0u;${```OjikD=-V!!mI%xE8{^{1&QK-y21f6R6W{)F +{=XzS1Ax=DB8d9F~SxOQSc#UddSS2p_9*Vw}#-sqMy>;!W7ihij? +NfQ}@#Uw8iW0M4mATIq}l*xG9?fuVeKY^#S=vnE6^4@>%(E&F?iorYCx102m^=0T$_z_KcITpgZD#U< +9MzA+ptUzx-j)QQ&<>eZ~0vK63fr+RJ#MqGx*wn+?-dLCf1MGh&r6p-1*!!3H6?VSfW9FSx5ZQso +sI%kd&bYD56EZkw+|4AEyXaQgmG&Ah|CJCDWnrlDktVxf5TMixhuYD7l5=TZEFa6yHhl^+L%Iimw$)` +oT+OJJhE;N5ULbo`*L-Q+1~UL+2>esyk!$W8d1;zYXAhJTo2u^Vb864jvtk%hm34cgr@P`>TK>v)QQg +8{pV-+4ny8B~1B}QqEIK1En03+&!{Qav!3UbCmMmEr?2?wv)Mn2a2A62ju%6NJV>Y=}CEnPwCd>!GJ+ +@=X;Ph+E@UqEIo=DE>VVUx--Z#@HXeP;7)3nM@UK!WB^R4I~VZ`yy?sqzNvB~w!|eNDVim*Rjxc-K#o +gl`5H#ok7$t;dbbl=fQ{0YKoor7aD#%Ew#MUL|C(=`Pk@hwEgy28JrdYu2tBqOi*k^zVz=Q4#?=!#zAXaxC+-K0G7Ioz% +q(9C_c^k3Rsh#R$Ja#dUZEMHat*W2LuI8}^AXcb)`fb=Jfsdr%>Ix}1AE-BB#ME%M88HLyObI!l9EmW +A)Qd_0Ir!Kf;#|@=xAN^?!mBfM=d^t$BdZh&wITs0WDKYvv)L2$BPRB{(kfBb(49N>;=EBd=$!pL!t1 +8YM)et7YUW&!jXX^9EO_Y7-$331W%WDO!sjJ6_g$&9SuT|F?*Pj94oszPmE1Ljj{*ky+eI9yJjAN*Nx +^C#N%4nVJ+R?mb1a)Ev5QEW6}L%FfnVIL3ha+0m^rDY%cA~q9Cp9fE-CePC{VZ;sVJk0Qk$~Ou=Z5_+ +@?yK8AmV~dZjl^u|Qx&0x$zjfDiW)zj&Za*Q@yKJV-IlqH{F)^Uw1ov0Wf2dMOJ>=h;iR{pl>6`)We( +f7(M)4`rE&_RZ3rf8Rs(}PlB4q;Gknv6QSq@38BfQf@T{{orsaTOj74K +A8QiS{HK8tnvSv~TG^UmQEu1FEe`(cy)u`v%cMw~BHY~f}4pTm7!uTH@1N?nYRJqfcrdEZot9V+l-kC +lfC<%t;IJ&58HU(!r$w3@cN5`T5YhSzUxj{}@MjbgMIhN7u$8tX|v&ND(N +lsUSN`2E^B+#R=s*C8gRblt5)d5^ +%@Zw1+1tU!(!vGt){*v^zu5XqWksB6+7c-0c&B^h2MP4Nw1OI4Taxp7T5<+z7#Q{c7_&1tv{{nIc2va5}cKO(a&mOB +$eTA#9TX3LZezy9@L##&}+7X#GS9sAj98@6}$`;6a?i}vm}sRW))<^a>xMUu!wuqf&nxg@dzsg*|!H& +fUVIqf^BEGyd*(sTyUDb+XqAzydD-jjusqBTt_9g7$pYxEn&Mx2}Bw>h}QraOkPAbg-}*rK-$C-8PDzg7ypxsXUgs0e^9H)Qqb&ctRU6@SGDpg +u~Y?ql5`^@e7}6rB0c$8@P#zY$Js)L0Hlo{g#?YOwScD5cGxS+2arue`6!;HROx|PMtZzn{|L8K +0XDr0|+(C4|AB|4<%1HgE$Fx*KU|tKMEH9AaKs=qse^Fi-1x{Hc+1jg1ha?e+31?s1nk*NbcnO2AEBO +{!&eiqoAWk*8?$UYo(e-NBA|D!58IQ<>xIW* +;6cxe5uH2`JGpP@z*Dsz&5gLQ{^V**OPjUsGv-T4y4OYRh +cq&l-Xn!O3ctyy=?#nAkkAcCJtUp4+^Dw2-1>Ge&onvwvjxByCVZtF(rTIsRw3Y>d~zn(2*keSv&S(9 +PpSJ&XSZSt$h*yAMr%!syW^hNs(EXk|eX-SsCLoFvImGc!IwHl-T0#R$dAjJuMc1$Q+mL3g^t+$y+@=4( +d-`$7^WT#qt2^poGx^rJ6f+Z}$QryuiVI6WJ8X#B?Qd5KrdJyr!J1m$TF+{ +PA;cSeF?yV&=Yv+i8Dg=o?cbu?k07Tvj_kvQb7V* +!;|uGqsMo8*{K`;()-ep{589i9ylvQupx%XfdGx)0s})#U{3sAIUi4%k+8VhUtz4!o#7MN2r%A+fd92 +qHn)X=N4kHUr?>d3vbXBoAgq4anWv{tf(Az^>v+1Y$B~duI@k(d=nQdB2JRi_c7tZ$cd3P5 +gf7r0yGI_*|q>XA=LQ=b%p?Hb@R|Hj4;K=hbqZT_zBmWlxL75~*Xmp(W>o*>I)232N>}TORa_NW+9(O$ +E&%s`jU(k^AWgk16L#oG?C4$~9<)!?hr39cd<8OrV1e7>zIu+p@Qfnc_6JCi`yrumjwjrjti7+E8I40 +uqP-q{1z|!Ppq_%guQo>`Bbb+t4kEg?kZm(a!L`QzwN>10Hmx7TWw^KsJP_4v?pncLE9Ey-Awmh--h? +dbyVK}=05!PX0}^UXgG!{%a +C&>rp;t-6$h$Z*_!aHG-GVJ)?vf@X`Hdeg<9{n3H +rSFnDj!QKc010f7YQlGg{QVuO44Y7>TAU&nO^0S=L=>pO&47F(Z5&X#2CW{b)Hu|sSC+UZTH?XYTrUu +Erc!sd6i$Nf{3#CK8&=#XRQ(i6rElrer;hLy9SR>Ajr*`B1FCaCb=YjOP*s>BK-=LuOvDEDF=sbXTez +Q+vii%gHZ`yX0_S`kEu=iJ0sd>Qp@_|qLQ4Rag7e`okR=6I=lFw9fDmiD6T6nVSqgel*_n&D>Wsl14p +zO_^>T;%L3j;6i$ce%5;D_ug|Q$qXKDw0%xhxOAlP?vL=X~ySFb{X<{|nFKWS>ubfBmCtpHnhsb|ul% +JIC)V`<1rhDVqY4_OF#B@^_fEh8xYx9iC3wUp1*O_M=mUtXj^)rp +KzvWWaqN3Toj_tNWnR-r3kOXasgbNxuxxa8`Rd3Q6dnqMbO?#(yK%mok!-wBz)>3u>@AAAFQ*|p!+(` +`P~i6ZzR39!_Vq6n^AQ*NaE^R$oS_z89P_J>0@8|gbxpQOixK7g@q=^de}^t7Aul+6m_KwCE!X+@*vs +BB~~F(k{|KsudsVd+vQn887g3X?(aRq)bn1p!|!esetw+JzCp0vg)_QHb=(it-MGRovN}KD??qC&Dw* +RjZK(%-7Wyr1QhG!9PgD%jy{yLPRtpz-@gxg|;Xb}RQDhsv?2OoPS_6c;*~8BJI@&zxXS4)-bszT%)6 +YQl2+_~ts(uB%@*2(g*goLJo}JZuu!n~vivcUAtKsE3*IKts=h1o8E#&lW5X)#nfcX3LI*{CHMsN==! +li^fC&Pz{gu;X;M<@Kx0NCoVR9r>cjgugYGBYJjO8*MxpVh+jhsW_ahj!e@>chj3ySzeQ<_|7R<5IVe +ohCeV!Oy-%U|ER3@-RXLu1?^33F%0JpKZ)+R&T(ze?KA$L75iVxwqiv`WmS7T7peK+mQ=0IUdh$Q}6B +Odm3^)NZR0fErx?!4pLeP`IlLK_Bb7nfbd+4JWQ4!HR!oO-`GY;*`ljCIx!Lm{@V&5%}z9;0?oLD@&g +6#h5!o7-U>tk5LyPDs%?+M42g|GxmD7}lH%15J2Zz36FjU&ccy=iJUR^6CX_>hP+lXHZyj9|VKR{>a- +sddheyXd4M;vfxMpGE2;*>53MNS$;Jcn3;*KW{q4q)215-Q9eTpF +WzgX=T2Rn21=NVTDV%Fy)~cYSHbP>hcIyy-REpgN=D7kXqgWVPJ|vi7t@is6gwN>Cou +8tfaBGC7Y{#j-&JU9e+jb7xwp@Aehv(_gJv?_JQ=3P06!Z|rB|4DqJrGw{^a44K!JBz7mo@nTos;Bu< +IpG&Zh(wHFkUkRm!k-!lYGpM&k5RI5Mc_u*+bjVh70ORPpq +zp|Y9TIB*%4&H_ac4~OmFciap6@9@3pWvzGo8mv7Q5)<|iuyoGbVwTFs|G#%5HdV3fiSK-Z$}GjoB2x0P0}Y-Y1lIyNGV1`^Vj*;!q96l!za{*dh~$N}tB`eH}>MvFWdSs3U|ls&FS_PE +_+w-?DylsUD8qO62KjJ{a{zSwOkJPky0INKalQ>R9aOMdb+eQ- +^*Y#C~?0+C3?Dv+RZLrs(pW%9QEU-5dIJclb5Bi=u2#Id!-jhMHv2smHhX_Sk=|9!F$UveW5-H;sX=-zeqp0=aF^80`8+<(pBsDWt{C&~E2}b-Oo3ZNGvn38Lr`T&;bA~GG96Wa6i{b<1g4^ ++Wq9-G3%VyWsWJguzYBm47))UXOF9O5hdOlUJjlj@%#hjfj0ZUhiGwt)BaQeQ*R@6r)i@kL0!HA>NA( +jZJETN$6+pxe-NQieJ{fu>2_SnXKb4IGe6!9>syy5iYcqA&b7WcG?w~ +~STQnHy6xk-)E2=VRH>}H|#eZna)8I$>t{a7(YTn938WOC}(Q3nz|p+#m70O&Z)qE9m>X_ynWoF@a1V +}9M~UdO8jR8Qed2x}6K2s7PP2T4*e6AO1UasYCO#Z(td%gge!{{FYW$U(;&y +SXxoUO49~`teA&&!N6aF^5Ibc$R77Gp%lrIULQt`UX=&$p?ezCw|>Nr7E#SCFO%}WfL8rb$``aYDYh~ +229i@!lT=*8C#GiEu(}*O6v?Q|iBC`#Cc(C-&Z8Q%eKp_NNcEf#oIs6%*b%8Ca<2o#ZU$!i;ck>r1y7 +HMeTSJV(Fj}Z8iI!;W{47`UGj9%BTmUaE> +U&W#ZkOi)@$>1qEh`5~%-d9!g1<;Lg5D-rl+fHJ;3U4z;-bcNn233;Wht7&NZe#3T7eZ8vgfxHObyN} +=n;Nb8=BTbRztvz!D=i6j_i5j$PDAhYuH|p_yBvu$HG3=hB7cnoBB39O$8)8JNW~UD&J}( +_$qvrF2ql|Q&){xaK1;pZf&A{>X4taNg0RF=kZ)S)2QCX1ejEmt;vpRIQTHRm(Ag7Msyd*Ql6AdM`U* +~Zj02_mFp92fyFe!bqfs4#2DWKNeYMx94^?Bp%`92agS8GrkqcJy6M^au+^W7Opun1@jW4Z!?ncOX3u +a4IUl$@`n3kx%EJW9Scss5AmCD+_=YzxpMi|3!oEudCtEZO-yavr=VhRZkK$zcE0uFUhv_+)FKT%pwW +u6Q|9;MS9h*y_GCs;R#zJR74n23z)!ztd9gU=<1%8^T+;KM1}FtNSXEDwTTyWCF{s*WTS#??=AA$x&^ +y3W9!X7wc9?wv+plOw#jIpqBz!r3bW^)eA6Yrzh8UB*c~+%Gy+ZRa>AF`@LJoSHFPLdRy{*1H?ee^1_Lod42MW2X8QhTZkcheAw&GWoeF0f9>g>Mi$?0xA{{0kxfYC> +ZjrjERW9mnoWmP&Utv9EMlM;ap`okk}lA;g`1asT`;}l6#ege*s=hTP_7hqBh1N1xK-3z&!jkd>@MAU +(nHpifDKyn!1d-54YSxb5#u2_Ni6h;`wtdDy9di|C1C|p1+rb8&VqvlD&`Z!J>Yy1|LjK`GYs`9{#Ey +9cnvC6VOMvDL6x1;tz}chThkk+3aVHIJNyywuwh9k_!8+zdA0dcbuP|As8S@-Iv}V3gsq1V^*_Isg5Z +?iC)sT1j2ZDQdVXtW|v<`BK@b8}i5?wJtFVln+A#iS^pu?P7`|-=U`PlWW$g{_=jlH4d +GE9yF-4%>*+xs73>XJOecba)Ns6QQXG)<4j6^N|Z^te2?_uv7vCE%`r&5v$r3+Pa`L-jfH;X$g#?!DJ +HE=U9K7&_ar^SabJWeZC@Xb`?9m{{4Urxd(bEk5&w@RX4^U3Y^uaHS9HJ>IVBZ%nioiLcLh@0a~7KAA +?jZtdnLDWZc*RDvhG@WB-HZ?8TU2l&Sn4PmT0{LSAaB;`6F6r&EFr>~k`V~7xlg!LzZwQ??tC$lP9jveTa+&7OzK=lbxCmPuZGzP@5>_+kOcF$x>gOh3 +0BCb6tsUbm|+<$N}20L +%Ob>?;puJ%*eVMv!Y|1`cyRQsjndGI$)R9s%2vc#1krqW5SQVM)6AefY9b^u&Qd_1N8n`5B6iOk(UnF +V`2HIM_soAX5DuV4`-9Yl&GXpW|985=ZM1yj%QeR*QJQ>>w@;5^F%=SnOF +W_7ePP!&s;CDb0i_V26}PA#$6#0)E%x=6l;kXVt}8}{$~&QTfI +-ZySH@Czvj^i+#KW{(S0KHdmas|4(QAzi|Cnrq6*M4?fV&QiSgwm5pi}HUe`GPYVa)Z-={jGD~E-1x +F&Mh$i^Xik>v`)XfO?U~_l5E-~d{^Ek0m^C;N`8rNZnHcTX)bI$AKUA*)ay;CKM6wG3v%&lQ~t82TLZ +v%P1#5%o+DwzmGGvX>(324tN7$?*PZV`G@D`NN=2$`r}|7RzQWS7*;apkE=}n;j2P#$eBnnTx!tg(bo +~RS>{+xttpiTLfg>qLw3W@ZcnGz*Oiar>35;}Zdi}d;vOBXmd&u%hQfQ`~i7>Y6!Z>Dz$MPh7qomY0+ +(VY7Xy3ApFd58W?*Q5r%a+t9X%-Lg;V^F!JLJB7*<4Alm1>SyCCgzp?HtTdVK$$&WfMXElWiV%x;znI ++>0;C;}o|E7NmS>gPW<d$a=)YHqHKdJQP)S#9)0QYvSg`LP;%BZV*4tAto(vP`YNn_?-L`F@2{{vJ0CEC(6_HM)^)9oFd<#gc +IbUN|!b8iWg-Wl<2&yN!jTL{}qc@or()1^yReI=Ln@iA{sg2HI%DGTLsZEf#u3~J<735%FY;}>ialtD +O41A3@Q;5buC{B&yi;;;ePUDXmUKZJw)k>6-tKzjC9nSs$uWl2Cekdvc0g{>0Z_#RJHfh(lL}uq3`=? +sYcEu$SG)oQ1xBXGMmWuX;z5nV_GegTA^AmY9%%xOJwbxX~cW)qJ_7GV1Ku|`ytXgmcB-ENo{Q3%ms> +jicq?Or$j4o%2a{P#QCJ3d`0$hxS9#jjRD%d=+8k}>_(R9y;&TPrN5RASstJ)aYhywWf4jfcw_w_o8z +*sc(OBv(i3C|=Evi`Z6LP5PDS?(biG!;_%R>HesmkN*?@e)R$UYfqy)VqJi&n79}GZ4o8jSrzj20!U` +ekPSjM&B+mJOfG7pAknAP7}NfU(X2KSU-xXdOYbOQUI-vMa%8MJ{?Cbya70*P7M+H+Erz}$|U6cb3Q0 +e@(Ex6^(@wbN6Jl*H2pAY6VZ2Um0lly4hC6? +x)=2iY1}#!JvME}2cmIFQYZ4LbJ60#&?y!Eg;;`-5=*WhNPJqCTDYIuDu=L7aa}ZNE~wxiJhcdu3 +IM!7om4a~wuTtrqEMWxi@d>R!h?tuq(z|UwCXNG5tFo^$B5-@A~$OCjvvdte#o^*`NpV=-?D97$jkkj +>QpQTCZoKScsB%V|{`>%+tNJc7CT;qXZR*>-91;Xpy)wR-FBJ%A5PXCSrdbNY=FE +L%{lb#+)A4KUwEoa62LP%Yx+Df;qK0b!$v(RHL<`z}XIAH;D-wwRe +xxDloxdVVifKj-Py~%}h(8I=aiyRwsKZxZlV*E;sAf0vtnJOr>%SaM4ZS8A3xvkx;3T(a9`vzG%8Pb$ +V62p1$AO_v3MCc6U|&FI+E7x16clvleeV!S918?Rsdp$BU8@=m2gu8mublU-Me}w`H9*ZKSV-;Qwe%R +DyNE|ht@su;B5aRz2?)_}<$2)3okVgw{zSA_)%M|rNBF6ANcxVz9w@}V#k3g&#)&}Y1F^cZ9`jS4oq; +3QR!&IyjWDjev9P5PptwQO$E5w~YTfT#L*CfHJvpZgkHJHxA?gPpe}?W&RXqt2CV5LUN0Vy3e1^TP!dk72LLsEY=cP|bs>2R+^26J`d +4>%pLZyu%#2FjYaCQr8NyEK!!Z;r|E_N8<4Q1UK1htdB)yy?OVkyJV_|1k!G$q(_z!~8Mtf&sHE*@rR +un8*HrhqG7s2}Ie5{e)^4X123k%JCSkM}!yoG5pEJpFHKbMV_r3x5_sw$7AKe`WAVT`t?PeNa7ime*; +J}2e!kmF0yso0*~-3#NUkB!K3Qop{;`OIv)NI!%NgXF;T-qJF0jKNz=5JBt5pppKp7=(qzj1u~i<3{2 +H0(wE`oy5uJ0?%Yw^nm@NjqwI2nR_$HTz`!kETHnGca5yyeT`u-jfuIf{|&4D;zb}o^Y^<*GH4CPwXC +A&e2Db-~=2onxi%(cozyWC&7m?$SH7p-y}`oN6SZt}AY$TX8@hot-s-%XG+Fwn!+A<3zK8GmsWG@A#N +mYA5$lDC5l#de{s0LT#VZfS7uT0LIM-$J|TWg5Ejc!S-fZ^V;umi#tk(srw#A+kx7Mr8G#0HN(C +BUd*!p&evu_7b>g1sd7C3}2fBbap+HKQjr0*5i34)h$K3uqZYKb+&61}cL6W1($-47dh*y#`Ac79Y!o +o#v$9<(sL&&y$9YT3A&Xe+}!&EP#8J?-W7;VAut*%&x$F#cQ4tzj?$w#OFimsJN@KpCD+UyF(wCP6VS +ZJ`4G;|{*s#Lpu70m05AVNanb#_*v&0piVCUgG!#UH>8f2;DjFx3DzH4}60M%er&<+fhU&g(P!T +1MC2`CM6OnXR_qG~3>!K>IzhP6%#nAmO)>LjAx5&PpHSu*5)b{2hw^ynEgo9LLu+_wDG#mUp_M%J424*cf#_`Nd>+ +9SI<||Spysy$;=K_6c`|{r`sM{%CC1I;(dGt>Y*h14%v{>W-qP6_cS#6r1omOXVo6o&@+1x41sJ^;|L;U4R^U +LiukRIbntJKjlyt<=BZ!lN%*$Z@&HTx|!qEMbQ$SaiR +#oiP0n^Hiyl}EDslKk%G!UQJTEgSu?Zi1-S06iY(b#E>F23ue?efofN>1Q<{f;9gXZHpV#pOBfee0^? +ujgNchl_63>^JJFes!>OEG%2lSgH#Z2;}6*a?{N9031pXkWNPnFItLe?#`fMqzLaK>bCS{V(Q9dy>pN&?Jk&51Y +T%dgWF4a!bM_wm(Ad;PEkG7A!-wdPgtO8)dHHmV`2B6viH>*h8U@lig#6x5VP$;jo26ZyQabFNFVwgA +QQB4YIl6tJj@(z0T$J3CfgL +QL`rxMe1m4C)s8zswY0Kw_u&xdl-o2fve8vuCi4N{dk1L!W+!Q=Wq3(DYiO%C_)Zk{?!gKG$R&JP^~9 +8Kgl1QZ!I|cK48wD;T}%!USl0qWZ20F}+D-)qqZ|OVRZ5<1}?VvU^H>%$m58>cDPxcM_Qx<5DlhlMZ&b)x);(la5l<@EBf@+`!@=v +&qIe#{}8f14-o38S*YglPJ=iBjhjju-eQ%?}8S&lD?cdYRw9MSqgFh+J1#ixmDJoY1H#W-17TwO6gHqmQ*c=v_AHPE2lg|K;VD$K(l#86I +}(m8a69jXaUP1BM@4E2Lr0C=ycL*IxKy}PhpVxgsm-SfBAeCrl*yXO?xwy+7Fhb??$er+#1tDZkchVv +0`$w$5fUlO9HzE}ivgqBi0}CW=Q?qQ+^OjYA>&j8^WklJVqh>Zj_STX?59l)ZN@fiF$ +b~Gf4ojbq}h%!LNAfV(eeD*z(zJtJw&qz~m+8kv~qUX)T+vT9FgZAXj>L-v#8S`x$$(KEWG4-~6Z +CupRon>oHChih5yRS=(=2b3s2L{yJK8WUg0CH-3l#7=FgV0zet=_iQNMkuxZGF_Q2KuY~kt!h>A?IO! +hHUuBa4#KO%`RiNkUQ}i)u)pf(uwpEZ9B}st%e835b5jQkLG<6(|l~R_$fA+oyBj!5-r<&mJ^avouPE +u3d6;^+Ksf;LUcAv?;S{O%R#*P`>TBa9V5zyaxp~y%!u4fk@t>3gMY*7L%0{*e!+b9$AUE!WP->KF +cObWA|E%!+!xPfJYiudAJfzmIb|0wz67nScTP!Zderq@R3wuwWA84qCbR!cPDv*1$NC6e8et=UT^@Wt +Bi%30nLRE +)`@0!(~6<6!GDx0uCa)gJ)+%=vALFQ?xy7@(BwR8Xke#LskY}@zVxM^2&{*BD?Wuo!=B2cl~Y!Eh;k} +fP6VcN*m^#+^?YdS`Owzm(ERE9V7j5Rjv1j<|8|ULZjRfHezu@u<&m1Hd +lkG%Y9MHr3ZR`AS_Z3`h+;9m^ty>q%K(g%)wGvIT*feXwNuL9B9wb(I10pIiL~f` +5W+TU->@$*z4!ux#_EBPWsPU(h^b{IX2%_r;cGlXDb{h9uO2Mr?_5(d6lo^rNOMDudhHNwX8%6ywH=3 +)oU<=7q^fEhQtB;~Xn{W4j_bOX4h&gfEX>1qyD;OIGP>iczks~zuJ0oHK+Tp3lXnX56ZubeN@Q<6Wi! +q%uudrWs__8#^|lWa_{{=_IMAk>C06V(a~8=$*t9t9@?gs4!HmAakeDY{#L`Z3K8|=hdsdsAC@}}xML +~`jNmx@feNq7ki_xjBO)tW0X1Klt1Tk`#Z1b4o`}E8TVSAshMZzgpgflJ+_w8NXUZZzOM +(;370`FdOqPf^hq3829@QJp~$L!hD+vEWf6UfpG$6`}AV?O +1@PUH~SOnaY{_bH`54SCNEbm8P>mWN^X8R;vdKG(QXB9@=*XZ=BXmT!@Qu)(&_9j&>LILZfsf8vF$${ +l#O5A64SczZ_^?7cfkCtKS`cWUUIZahJ{ya+Gz%iSiro6g{6`l<1h{uTzcbgsp^_d8^0LX4{}ov(g@x +-qU2%)({{b?WNU_`biN5P2sHu(w`xEq9$_h>G2Th)Pt!{@gu&kr&MZV<}n0zdb80djM6#X-?( +m`~Vmxork_B9w2`mI~#$jwTl1Whd@v1!53Ef +l*uk#UWAVx`BAamYck6Z;lm#2=VM7O-T6=nX(hZ;{wY9DtDq>I-brk;@~z=&axzb{+*IRZRu_8wi)*| +HdX6%$U3Xq8;auQTsDSk*>GeK+vrpM%cVApp;$_Et42ay68>oMi-8x?SG}+xFClvYJ_M&hp;&NaN^*W +E+Ufj`Afqq288#-qNFjr$KkVsbEi3QbpwAEJ~z={F_33c7v2B1#fcWjka-EWsa7hbXo#7dxm+GzV9&%W$%@g%aQt?If#S>nU&?Gf^&S@zT>{=hqsI^-zA(M9OQCDDB;Q2oDj;)natP6tR +~J^^1~2S(&ZPhxJt69VYPKaNl@cIeLO)QjI6y?E^i_Tnt`;+*I{hXmk1PsI=Uc%-4RR;R>{BLnM4Q$3 +Jq_oAjd|LV?+h<2vxrM{i9Mmuv}be|8b@9T$XD7opVn(lVI!oEfi%`~g-uYn|l7FbZ!cc)GO?s4@KQv +O-MMg32k4C5N8E2)i)wjJv0&FCVc%dvVrxn*4(v}z(`K8m;UK`w5@@{3{&CGX^sr`4aWBfFQ++we5sb +=IWUYOnHxkWUXsoEk4PS-I-|dNBnTZNJMhIVNydhnRxq|R;XpeYe)(mV6imEaecpSXS=xvORCux4t=QQox$4@6rqyZaADRQ +5a3a$?riKjH3+IrNU3D+9zSg-4&Ax|)GuvSa?lr3wFb8Wh4~oi8ov*^*(E~q(e2+i>2u$wJPnk^jD3e +=F@}hg#pw{-Ouo90zt2b1Ue!})7rn970TB1x5PqGK7x1rIDyIvlx*Fp0xZ8-X;4TdZ+u!=)@q9}NDI< +jWY(NxEvZ=l*)cw0nmc&Q$-DjsqOIg@U);OXIOH47&$55aw*aY&39dD$%{m@BW$`(7q6+*Pv(D72aS$Z%fqCE3>qE<#p)1W#^7wQ3o!IrPqP0U-tZ# +sb%xV>i-A-tslTK8CQ94q1Dg&4ITN%=!I?pKG)Yo(C!hWhZkg2xqN2`G}?Z( +pT=f>5=nYiQDf&I8fdf=hPEGQ-|3S_C;sSSMPP);8%azoo&Sxy8pC`S$+n2gd!IxlDw9Y +{3i5f@lcWN4BGD3}EVi;G +H#rTh!hE#`UkxklZaG&ur$Qg%AoP0^9Ph`E=q!N{9R49S|~cOC=%HtE3|}NM8)wd#V{4VbffCLvWhC^ +yCXeJ!~@+KZchcbZQSOjcL$>@Ll-jgC1QTt@QNBBk88}I*`IIeFtOv+Tc4If$vP(sKvn^dVC9vQ?#ea +Lo%D$4!VCJ{IH4c@fS)?k;pc~vBu-dC^Kt=KQkMO$_&WLHmi%NX?M3!x*2i`>(HTrd)_VSg^9jLxqa4 +~)%cW7d*N(hU9+#!Z2a>HAMS$aoWhY($A0DOI62mzULyq^lBFS+HTaa)yL>g_*g!T9#6iF!_b(_YSi2 +SlQKiO?_m-W*Yibh8`WrWJwbu%xa!i;B{`-o%@bgj2GBAJeKG+5KIiOq)JX_$e70Sayg}*lV>kPDLZy +5HKLT!KegA(w=i@-|@{!k%!s`%4}Kb?W5wxT4LDLm&28WO#+J_eK#*JOE^PAo`4pDeo#m2?D^oI +YKGQlJCaIiAqCSP)rG<=d99ThF1<+acbJbc%mRN5kTFHr&;-xsN|dOlGuX|pyZu#CR1>_J#v31E$eSk +gEu|prN9C#@S{r32u;So7z*@&U=M+mO1hg!3QgL8c9HolQq4u18bb}Vpz9X;YxylB4ry`zQ0g#{NX0e +N?5>w4zZ9?uRnMj*7r#i(qJiPinq786uR5mFWfXM7li;ZdVm}3ard?P^M_oZd8-#p^(&|vE9r4pslqc +mOY5#b#hWEmTQ^8N@z% +cb~AD!0Uz5ZR-lPSyC(zSy#$S6*7!5x#XA~=l3$>b28Q!8%9v&SB4tEni!NFY_(Bhuy`hC2o-$8Hytm +|}{8%IdRFDl7$oG{Vlyl1xqU9_HBz+?k>BJ)0ViE9sH}@%X2bM{NGDCaI@B&>>6wBNZSr&gN_e&273r +Q2{jyK);>Zmf`7I{@gEtB`I5lccIiu?k3^qKedu|fw=?#+VTz5-ig)Vpo@f(Nq7xYQFn|`@=6T)g +2>5Y(VYn>4rkb{nyu*Z4Esf2{w5H_@#7HX80NDn~gClfry`F<1%_H$X@-W{3wj;Mn%{ +A4oZ@T6|K%okVkpSMn`I11!MBNpH_vJlJL@!QGJ`t;qw)v#p7Ji@ICB^H~m=A>V;;ZbXN>ryepKTL7Aj)ZMPHw83dO7Unb*xSQ +C^B))$9B?+OP%27RNj&N4OYQ&Y8QHpxeYb%|4j4JBp_k+<{pO$haPcb~FV4+o%Dz1qDI>dfCLSz5IDm +rsWqnkoahRxZS>>c7SknG=llOw3j;SOQnY-hnlxw`c=lemV{qGnC(~rXo-4J?dvq&l1xQ?NU8#Yc8up +7BI7!ZqfJi?=N-#6!8IGzUb7QDTQ=P?>~0}&V}x7fy&&qY<{a0vOQg_>-QL)%@N+L_ganyS7k`yzmZ> +36>d&Bxj@Vw{2u{wApztQy#PsHB2YR3CT~V1rRd%yJB*th5%R+PCO$6+L)AS9n8N@tV+yhzfp|!^hW} +|I6XWn#SHorthfQ)6hnfuFJXS~`*-v-g^i%F)^D8_MT>T|yZUBZ#imn7wH;t|!dv1%IgP(y|<86twg` +m2|yT4B`J5si6PR1RYAEDS0Eg!HI1P5xj!%|808<7?O0<@@w_XBJt@YZ9Yb!us_mK2FQ^J4F}EdZ_;3 +NImZqg{VZxK83z%BPTnHY^~5L9Y9}Z1(|wcK6?4c`x>Wi25a~)qboyuUm?A*arA|+4cw}Qp@NS{i4Dm +UY^wXbim3EYySiA5rU-fP2G6Hs0~vWY$qC%)mwD?zqwGNY|87sqw!(mo;0qiA%F6|S3-(N-i}N8U5bv +hF=0C%bq7<_ueU{MBYJ;j9z@#sJ9u+X`TbW&8($+3_|DHdeB?qs<x6}nx2kaL}cU +PdJKTOI!yyDTl*(yGcN@~&DHPZSRfnULs`S21qka918h)cHxKEPSDU0ZcMa;?AKzMgM7YOa$j7Qq`rpbNp{#kzDQRwGRhbczao0o`BwgZeh1)I^^SGiGe6)^r)`aj +DGj=IzlZIl3&2Qqt2~RmIOenK&J9mBgI%mO@nY<|pg-05B;8FkZ +YL;D0zUe9te-LRb*l9!NMySA1xL)jOlDsIz&)92jn1N6Rx@onmyy*_-jbkNQAE)I=8j@VPwRJ~br=WM +I7Z?q?2Dz$WS@Xldmv^yQ(Gp_+hANz}C%J#w3RY4Z#IYuSSNSQh{iJ0O&Y`9&W>`F4G)`X)+ccj>aV^ +x%u%{qOgRU9Mjh+jCNK$mtMj_ps4Erm{1B7M7EI%1Y|4xxY3|84Z--g=|1bxhAfH)pw|=co8n(V`w|z +RNUhOgDUT$9gOL!j$S?OFK$EkUJIhUtF9+Z>-CxFwU^=F(fPoYc8QG5TKOkMU;6Kev00OaUmUw1E!8sWbh&$Y(WYdmj=qi5+Xqf?cSBR;MXUL6pFT7pTW@DqiS +ZRp9|IZY_Jk6ye&Nfo_J7fSv`FSCV`8j=C?gp%j+s?yGf|F#3<6nr0V;euHsJ?&0~T-Mk!;x|`P +fLhtX}YRM%(t591%)p)6x7vSbs_Iq*kuS+Rm2h!Y@#5?8zD|lsNF>>2>{pfmy3wH;Y<93kylF6Y;vmI +*(glwJ&_U=ki8j6=;+qDMShYY8TQ-A}!0emU&!{17xoCl+AHH;mfgM!aQIz1N~uK54>FlE)ya-IjxySR0HZI1gh!kEN62RW2#~J6hEzgjcelJQZ@ ++yii~H6bG1+1X|{2gpy4VQTeP9`wqdxQu$G(bD2=`K9&p^Nyz9`uH=Ez^H6z6{7{o%O8LlfRu@-c<1l +zU+fUMW7I?B9vK`ILO7%dSlwK>*>W1G31_u355Cl#Ly&{MVHsH{_p{LTkB}boIRiISghqrCH=8 +2*E&fxSuqAeEb)(}j;k8*nwj{(2O?u@Ru+UPfCR46HmB^T}-Z|I>kTn}IbYPg7j&vg-<2FN +rWmCKg&RU+Z>m_0v(h+rLA&&E{A3<8{syounhxP-%x51_k`lMycbppH+vZW+l-~}es&!}R2{OM}OTJMow+vVu<1*rEKOS@K_VABHi|kVIcX+TQ5 +BCC`4Tegurwd8^RKeV}{{tf@9?B|K#8Ql0J?P=ud=Sg&)@xxzG3ODFz%x +EyXHYcYeopEj(v5dZmo~3lfSr|p%s +ZRb+u8N)sDMIznb|C^Pvct;m=6PXW|N~!gKGaZaCHDZ*i#_jK&~+xFA$y-!*6V##lspp`fOG@eex`&b +CEo)atUEBIfZUJP&!u#rTt?#0!j?W#n1RvxZlh>EtH@ +E5fVx|o>@t227})Y2+l)CohXOEoP~Gb&4r@UJw5=O5Ftw%Fzr0tzeq*U!GrZcj6@3NP}1i(kD*mk6A_ +gbMAhs9wkCzQQdhCQn?#Nr`_u>g9IRdN0~5`lwW9@N!YDrCT}Gj#BC6K|^+aO6O?#N0 +sS(!A4h3;4gy+yxlc?ksgFf?b>}RH~Tei<(q*=y~Ug8-u6D$a|@JpOmeBOt?@Tu>>Px(~ir+jMUI=VK$I=x1l?qNGXlBhB}=-T&jbgQ5Glj) +@Mxj}vN(?~CKvOuH|O6HJ-9zd!w`tUTAimH1knScHwr;lM9U9l4N;GVUhmirqu`q?f|cJkJ0fQXfRKG +LHtsnzco^U?d|qUe11)0+X_tOKqdcEZ)ej()+&820AKu#GE1HjN8==yN5wCyyBH%Xx-{(KvK73 +ZvKULx=`x3bebsNLEdAT&8k8lI$1fATr8>4z%Tf1dJ@iW^bUF?IQVs0ye9_U)mL8!#JgGB_aDBe1u|^ +viI4clblD{o(^63ct3ni^bWXvW#gUZm$7u@9n-=+Y>yglOGdcN6`3>sZ2ly8tg0{y#;`V%>LapfekDs +qa2av7mTZqFH_mt35vwX9Z|2@qG8apk(!ofH!MHjcSy+|^4{gVtX??cNyDZfq%jhIHC!uUw~!4vLdaduGXQ^!XAiap8r~V?=v$ +XRNwo%_xt_+Ki_-c%v$@k_TFo+{XBcG9fmpi+=Dz4Bj`7M1Oor*MDvis;U`{r1M +==Z^UC#oyhu+$etolR|9kH`-@g|wiVwVlZRG*^DC=Exz#=Qpm@>s4YN+4PNIy*M4#j<%XJvD8OQ{dId +mE{SP}W(R1g(-@^QKqekh9Cz5n`$}Dz){ROY{@J5q06xeXsQPdf{*MCX3pa5mc`BQL3st0ed~3#$HJi +QMo77RBQ6;GF1GG(XRQrV#?iwGzxE^<_U+Yxe_5Nlck48E2cDnqikJ))^}6ud(k?WS>q>h=j|0!{_J6 +gdpMnW6;tXx>^7j?f{H2kc-Y~0IOmLtDffBUp>8qfH5F4{^>W+cdb@LA#gtdT4%%!?gi5!kmbwXl#$P +(Y(n?2aX-=Gh$SA?+12%?Q%9r-zm)S9w-p(Sr@7#mmi;H*kYEb^y^$e`AeP_}#eTJF14>Jy_vg_dc5JtcP +@x3;$v+6Vu}{Tn8ron;oz8-*@yr3Guym(Xfxn-vN^zVJ8Idf`swgmYMKVNh=8G_Q?-qJshwL>P-nda9 +ekzs|eH-yk)sUQ0liL*hgoEz|)$J%FpGs?#0~GneNz<(JiVKllxBJcfP(n&wEvi4)m`PGFO&>K_Dot+ +xA?CkHruQ8><1dmNYIt~#Z$c3KQ3Pb>NH6Q)k|Chaay&aii4lCP_J*D<8J)85ZepQ0#F8sVUt(Sne5) +txAU9Y@=pVbTGN->=C(1CoeIhLMI7#lt?Yy3?VYrnb+S7GO^ShD=ty-6E!?(EWapi$;6DIuu-*Hw?(L +=?p^sG2no9ln2t@_8Y0n02&YB-rK_^JWO%g?rW@!i2-lNI)aXix{MdU9=c^lHcADg`C-*2PU6FEy9-Ui_m)ly35ZR}9HJimJjr}a5l^LMeE+oWNJ$tl7j_mq^dv)EE5dlg(O>8&Ojm!sBH;kNG>&%oQp5~Y3 +X2nF`+Pe7IO^(|wUh!4j=|^^lrSzUbdAfr7qP1uaHD!c9jcJ{k@npmq+`;WoI%vIKV7cmeca+n%bNF= +zADt70d+r~7~Yxm_^ELZ#bGzt3`6M)&}RE~J%Beya^=ELr1P&&Qba>Ku12&P6HZDIpQgESYdSk8k|bL +!PRIJ60r`Rf%T89-U^BASurq;2XG%V0f(G4GJ7fdIX1wqLVC4_U+XCJ96o=yaKGXZ2-hIPP#aWyPCP> +;>%eBIJnDR91MZAGqSHE0QyS7zRvv!H0c5R2g>V3Pic5Rn-N2t?ZS8M6g)k(PRR$MfTeObQRAD2jhR& +|FX^gjQrk4l(@^DEN)qkq5Mhl-qBX4%oHuCW*@J_*u0wND@E)yZe)$?E$7uesc`YN +??*l=d2!+Je|z +e5~5I#~G#-jyi+2!iP?Ot#I7wC44M2?IO5=D}CR{-CBBonSHi4xzRplI<8pSubEEpwC>R9xTnfKb~=7 +Pw#QB~_N!o`{cULFyFQQ=d{DAnqiHX9xPtqE`4w$7{Eb-OcXNFIjmQLm?0_RPaZ@aQw=#mruu95zD+kPdhDGv3O-Hvz4Wpau_%@9;Bdl> +LwpK;grxR|>DRCpDdMJ7-p^AqYkrH2ijomp#mApVE|}Y-h(rv1((#Nq?|Ebu?%r^2)+XPI7>rb?b_p_v6art2IW<*J$ +{uV)R2?j0{$mVWBb+j0d?$V#P8eKe#DnqP@04hs4oI*^e#NAQ2o6lM9{a6+~e>GI`8xf>VQJu1LB@C9 +Y;y_t6?evU<8=FXm!v47!D>MLZ>M{#4$uyqhI12v8Ib8VbYzCQJ+gQ7{ +MOFP*v=Ex9q>bD?9VJXv6#|yiX=`G|uOzsjNB1ZT%FVLX7w`2x$4gT_^}Rhulmzvnp&2r^W$lzR8>DPOB(vq@hoGG8SQvuJ1_%Nt$oXz#$e3Z2Vo8MX +}&G`xP9UeYQB^8E*vy?x9OA5u0P@Q!E%zfWCiK!EK7JbC_laa3OUy);n$Eep!>~FMj^OK01shF>vxNx +jcxu)U09MPY3&h*nl|!R^+Mda6k*gVkM(M&ZY>QAGu{T| +7{aA{)Waj+1R*LAjp0+a8&q$IfC)z0NrPn4v0&xE=CSX>1Zlv-u6y&l$L*=uf4j9bYyEJDP<(wTd)cO +Pp&F$kZ(h0UpeGy)Vd**JOFu3llrDF;lhu{TBFfXH5Peh7)x4FB<#rI&>NH=;^syuF}uzymyCZ>$QF# +p2t_4GD66t|7&@(w*hfck0GI^kV +UUvVXy?8@$9H1W96 +=mOfceSBZMp|7#LHF~l8JZFrO|QYdZNoxA<**WvMlpgNyGNCj06)VbTsuF4a@qEhtYS}8hr``AO6l@G +P?!R_+9+kGAL8R89NU~o53N4jOc19#J7wv`}VbiX{rK_kHI{(zQw?2*&wv7a6)W9cj;XcE!_l?Gfrt< +|=fa2vg#3+zDKF1oK?+hM{z^~WKyVeP2F(UV?-q2g!U6>fW#el1f)`UI*Xb%7c~#cmv@Kr&#c*p5DSY +AAn#S$rnd-T)JB%r^<9z)-Y`1fww&?IO`mjdroPV;}9?&|XA)mN2OWZ97bK*Z#A{3K3&4R&>z~>Xn#C +wv&I?Wt!X``G>c`=-tw@fDFdWrrjS{cg>iQt?_d1W832B=XlD`f0j`2HQA2 +v|kt@OH^cH5fnRkGW86~l#34A0=c1*mZib)g2SvFeyTbDKZ#f2VYrKI@Ec5O$KK!XSj2@gmtqrOEqU! +-ZqUgrmlhAK0Nzq;^5L`Bk0vIfmWegaSSV@Ch6r4)`F323B=CcEMy>A??NA%k=kG`g@7~{z89$roR{I +Z`WSU!gPWu1MBOvELZr=fNsY3hHXehqv!5}n0rT-?0y|}SIh1f^wfR3%Y7(yC$js;dK9QuaERE(21F +ykdjazT&XKv!HVkP7TnUPh&f5Pn05F(-E!;?+DkHI +t)A{aSsEei2Jz*CEb#MeuR*Kr;!PFaF@V=RDjHO=Kl}NbYl5kM`yPfu3sjhkH&3k|EzO1e-?ymf< +Ke_MA%F|5=vj@=5PI}jI9xuuA!%MQ9@BfjTv>x9gZ+G36(CB>L_3eRPR*YL~`x)5JF^3vFOu&>4q6Y= +h(KoL)$|+(R2LmRidnB>_PInTaYcvUajFlH9$6#~Z2`%10oKovEzzDrFCTarqS?$hPQ{2%M)efJl^0c ++ysH_d$u*J0dVwZQC?(_w>X#74nCVKCIL#rit68tdzRn1?Ebr +CAA*Svap3x@yy5I=Jo{o$!HC*sYb`)g&d+bCq~eNCzIifl*=H9;qdHZ~YR*8ZV($Cs@ja3osUU_!|U; +PRR1P@Cdfp>|{bT-ZqS14J*G?vc39yq=+mn9@G~3=jKivdFc+5Kq%wdPoRx!fUbhVfXUP!jn@3<6O5~);-xtGrk1cg6l$!$t|m{l`|b^a50MJef)l&cU%O+@hKjAX +!e%#zgkujVecpBe{U$&6I^}LUhJ6~*JpJp;yx|Ekbat=x8lxNx=?qBo_dD13D*|c30-KIoFVKWv_79^ +2UsaZY|!H6*oOM+J1VANoT&fDf$PKb+!lWU3*2U9RvHrC7nfM63LI$5KsW^u&U#Czy!f^B3f%@)REKd +C+sRa;fV%)65NmBWmn0& +%E3S{w(0(hp~Y7}k`H43GXM&Tb+*Pv$|(_kHo?@`A-s*vj#5ghpml3r*xwAUpf@mTCHy2Rt$N|$)3Jj8=8$ +%Drlv#^h@#+$tx#aH*?`ri9;oe>Vv)oLy=4bz!kTobNCLajtCaEGOc`7`jOKsP~nyp(CLFcU2Itm6Ml +xo5e`U8BWQ6kTF#DK6!2rsWCcxQUm$2FpF32`0Oj3~IXx3z&TY&|jt{yo8rfCk*F`&7bWVr$_%zI ++-1_>BO7U|WJFF~z$dE|!AVWZQ7!oVK&X9QVMT!K8&oB#(xP>7G@j-^9igz<)iCE2$EO8A(^2JhyB#E +~*Vpq)c35b7_SaO$^6d&qNKwG1p=u!;vpytj(n~UL4GDWSbbuaC(2A55ut@iCwo*9P5&Jmf^@Hv5 +nz)?S^=q;ka*0Y+*RIWa66)$9+WNc7~(=O>ry3@zy|b6T@-!RlJMgcotbKXE;@YW@k96OcV1NjtbVqj +N9DG(Nb@7YcRL$S^SjYNr)d|II4se_c7dn_)dnSYH0B}hA%;U3&X +Pz-^lQM#A_IiYI4Oj3@=06%J6c;a~WQP_!5RUAZ}v#Cd4%i--37|!?z(G%kb@p4`w(XA{0YQ=#Z8wY{ +OAvp1ZCG7?MM#3os4y6~Cb^)%8lSNnkdu%qA3Uu4Xn(%w`GLWHOsqm`xVgq%)hxi{;p8+k(>X(Y8c_$ +J2Gx<7yUE4K^p3&2nZF3pPiXO**rQ2b(5llfrD0z~)V6Gm+V7z~&`pGmP07z-Ak>31K$*VDlQY`K5?8 +H(>J|vuS5GWnl9-v-!Bl)c}Fz{mgPtk*g&F%Nl0+e37e30?Rv?<)$Jx-?{!E;C={>(Uo*$uB%aqZ)|j +r%;(+VIWj+BhFL-#NvVN30?d#34B;FO`1{p_i5oV`^Mm~`{D1ei?!SsVY7*YXC6(wp#jLvUfT?>Niwx +3kAi3CZVK+|09bYxLr`vPu!vpdvzLZpX6+d^WR=o$E_*@|zL}icT9pmfr^xWhP)BX;LE_)^HF;?%jH# +=2^Xc(}zN_!I;aS^2fX5M395`9`+4AA(oa`~Mqn1g^BU?DQ+)y*W7&!t* +g3xCOFfQZxQk!K+=Kaw+j#?!j&4N44dBVkJ{j_3NCqD_8w4$gyDm`aFj1`!fQCAz0~(2Fq+>iTz~Kbv +eO$+p*OMNW!$-?Ye&6DXlCu(xu2%>SGpJe&ssk`!VX^mFKA30+Dss@8yq5DS7cGxogSi-xa4W!?BD@v=sc=xSw- +mGKp5j(1;!*-#^AETeKc6~36b-V&KbS*D13KWwfj4^Q2{qF}u5j+o)aK8Dsml+>!1o9<)-UcqeIV@DD@1?^TbX=IBe +l+RCqop%O9Ni;-$xAuZ9?*;Pq+qg9s1t5b92vZnm97u{o|a0FN~yMoBpegoqgrsT4@V +8(V)#Hd?R=N&iT8bV3u+hhX#?;6s3qcM?5px0q-$yQX)zfFp@vO!d~rxO<;HMKiBSkvsW$GFBJP>Qh^ +xur>eRN=y%)=z0KpJ9JLiK{|TRoy`6;wJo +RgB#f(b7s65P6%$nZ9+?E29Sw*VV@K+l`|2i_rfpQxL>_Na8M)q64hP4c))E9e}mRB}=;fK=UTr-1kFb{)j#2qd#5G6)Tvx2KT`?bkUrK8)w`BjqYybbjcS +3`cJX2{H!+8Uk81Y-H6wpr(&N+*IDF{bv5RI*;0fY-0LpY`IlPA19DN0_cXD)=DDm+_*6lV;%zl{nl^ +M`dsbOtb12hTsVz0|>DlG7N{N!BAh +VruuN2ba9P%5CCSDAvurGlHQF6yL5O99W4+n9)qF&e)KOz%!y~kG681K-l&?A5i-Pe7;^9??c^raUBS +3ZLD=^?YQt>s-~I#e1Is{F-704aN5a%&U)h?3=LB#Yp%)ggLzP!MPzwcSsBH3L-vM`f<<{u>_f3EguP4AQ2MKWXC2za1JXe +%=Q0+L}CTG}dNoTnoL*1M6`*#31aZYE2%B+mmn%4|ul7DQ1;BVghoZ3$ujUgHY$C&Q-m04jJkdj+(5rUPvxF#vWJf1dKLEd3Dcqt(AxLQ( +GW7N>jW>o&->$qO@t#j!ExT+5IMYQj{h`ZA7rR1Ckuv84t2CHcj^mMIVig<4vE18!sv4dy{C!JfNU+A +g@#+T8{)L1D$jMtk9KD%kpps@#O%h!^tR8^C}izw7$%!4uJEwxlRLHl&Dj{|wYRhN3~25}w#>kOo~Ii +@C>ZZ^Yi({r;~U%D7f9=aGbjJ_CI+lwxSlMh{?i{bP`ed}UKv|pi%!ANy64Cvyz7+$Jzv9!6yLl?v2c +CL%zMP@73x;+jp=}Q*_-Pc6xe68Mx`NZwWT=z`_s1ts55OF)#g#GPf`KX|8P(sNBctH+qboztUubWS8{>pW +CW^usSH(tgx9(H}KVgfW*FXNo^EbrVPbfVzoZ^-aX%u(aar5q1Y!|3Y~biHkHYeG^s#Jr!ARE~g47E< +$^hs}n?*t_dC2HIV^tnm8^Ks^{5iS=YoCrfcG4wQHzpEtF60ZK5al8a#AOob<A_z-IGT@hgl1jc2(9ovo{-egL!Np +_LT&nXebs4I)oH2=Z|P3$8-(iU+C$k3olVUfeoV=D+q5OC`orjQ-z?Q@cPUATf?S~-qtW2qGF$apRe% +~?wYxckMIwhkaQn|W+{|H>AKN|`gGqrDRCeX6?kUABc2&h*Tq +{PBf@{UV@7q)>#%KlCiZO&D3+;BQ5#u8T(}*#MYQzXpaE%yvn6*952Q^#x8}Y~neqofAT8vh`gGYnU1 +eNxG2ztge9D1QTi}p@$c04z&{j4|LWIt^+6N^_)LBH`KY9F|;pX!tFh4ANsjKVPJzJ%soOpnEGj0t>% +Dlsns3OehQBS5VSKb28(?O&2BD7i!0$LLi%=5-nB)9Kw_1~W|F$_B|wE~0>5230wr($>xC0uwI8k{Ug +DUfS561Zf1jGWsd59BO9e`>1%LQA;&w)DHEc&N|dR(ViizonXp`m#;fk*;T;w-cfZE^h8uw3AxTLKSkrhgcmf+9fr8~3`Z|I)ol7bfGuKpZPEqNR3AY6EIVn@0=&=mpHdtqYrXAla0bmWTjXd=+Y|j@ +FlF2`_-sUVzSe#cCyUDb}LmU@jh24;h{r9boiru1eXSwnfN%z(*i;&;qc4!N6hJR4uYZr5K8U*%sF$Y +{)jnU)aWJgCr>L(+3OIJ9nj>% +XTDh;y>Gh|f>LSip`4WsV_#P;X9#s`@6ne +;CSdB9@l2)E`A|928UMeuX_04RJ2zInFS!^|DhhYNv==BXsm)Aw2%9i^~O~abJTMS!D#(qHz30wfHqt +8L`EsG9uMOWyH`fDzQp?B>ehx4;n8%cYzOSkr`?B<<-)<9E0$KPPL;SOiUW-qJViDyU0g6jI$ka$^c# +)9211}ZP0nd(zsy^Y~=~4r{QSqTbLpU;Nx@7Sgp{hgAs$jjsjgFTj=;*LhtG*U@z~b%$=z{#A)#*ZQKDHWq3V@iinEV^-*NT<@EfnH?xgn%%DQd8wtD)!#mAvOD*;Uo9v+UF|MzMR2GPDH~~oMa3d9_miA4vd0`cPFhl +2Q#0spLXhT-ID6yuTP7Kp*LJX-*rg46BnAryMw9zQfTGr?OyHZaY{yvdfg1%5fmfMQEbGqmCqT=U?$Ml*)^e{VhC)zCRg4uW458XmV-{IrDI2dbxI<63Tou(8;Tv=!`Jr%t6 +&>m#N0}GU%E7^J<~4`FmlYAiUUP$00Ewn5}llW6$#ATuI_PTngz97Y$zv5ke*|W!e%BC=63V#;&EODE +9Vpf24dLi9X>p(_u<)d^u(xfJ3}~x}*_~QTUO^Cr?*9oPBc2!cj#&J>7w;%Vq2aF}(H+wZ%lG;u6}@H +vN>GaK}h`5whwv$cVQt$L$oQLZkw07(R#h8_{_U9{ +7iqmy3I@8?8zDTe%!0;b$hUS~)+GsKagO3!E9?1@s2B1por|6v)2inV_iRyNbt@!N?YylAD?zNK!p$5 +0L%u?;}xp5Q@|6SM5y6>=Mm(L!&@;=u010J5qZ`I +R4sMcrmROk-Dr*bGLN(Ct}G!iQSnAm4=fHq0KKgW_80iL-jcWtCw!-8c`-)b0Ka%_)362X*#)uIb?AP +3MH4O~QHMGp27h+wST=J8y!SGF~=n5{8@cKph_ae|?lzcCPaBcXl +xB&gDR<*I&kbG@FFgZ%_^!vBMZUdg*cisf!StV5XDg7KjNsTUb55XJxhfw-GS6Oce5SNi~1LWH%xWo%j#DSfSQ;J6MW;-HBg`SFa +Wi?Vz8Ft>V&BnFq8xb6q1F?>Xeu12xoBd&>Wt<_H!*$!pMA9e~KAu$7xNB{5%B^%(Mh) +|B9Uw&9g=2lZb#njw}7j3w@}VYlRc;gmk%91IF;@OYeQN)b_2ZJ-5k0Yv;KBKE%?2k4SL&org*Ct@E0 +wd5xtrI4EGK80G{PcYkTqK*#Hkn^#8I2|<+98p!?N0}ZHnvb7DXuh?7mgotsJDfI1$%W;vl+c4NrrO+ +}h`DyWGeeJ`4RH1fvudvkr|Rc;B{!??vR}rNca82?Ov#O^N*u2;xe*SDZTCs+8eRjAV{#6gYGYb}eJx +5L3k^n3yb}zNBw=s+ +e^qR!OaD9zbA|nFTzk!#GA4)X|dRLX{*+F4{;0wQHr4LnP*!zvWY9D_N6^XZ>^fAk_SA%Cmhx8qBmqf +G7q%d*nKK}=r7?rI=)GePYW1{*g5kIKoH;J1@NDMlAV}4Z7{q4bbq!wPI&*_ip+Hcwc|isEPx +@`o$n|Eqb9@itrzRoW#b)F;RTG#C6HW%O!Yry-)QV>^8C2u>prjKd0Xtp;O#zOg?20KGdts&0yX9IUD +~38#b|&tc!M@6j$R%k|bY8kT|bIKL2f~JS?Fu>_g(8X;P#5W7`Pzu_fV{6mc_{oaw8V(z^&h1W$E8uu +L+&YhZEyM*gKk48z;q4AGL|!YKnz>?O%DO8lx=j!68am~S>&2|jViD@klR3B-+*_&68w3sfgiI|3>vC +S3F#QokPC3cAE?#I*X{OKy4Q>DFdBD!% +DX(YrK6M+S);kZmj2tX5m>>j;!>LAqkh#o8f>? +1p>Kw(shVt*gsML~gLI~?m=XIZ`cIfDbnk3hEnmjx}i#u%Ch%bv?yZAjD?m5_S4@Y`l!^5CN>gXuvfZ +e+?K;kO!Rz`@V$h~!M<3jocE7u^TYv`S~!)CLQpB68@RaN8G2h|RJ(k_Wm9q23PVh_`mJa +h(c8rLA|*~dF{TqqHKvJTH$(_!s)5*l_d5N+f=Vlk~gC;b$NCi(G-R0R2|Pr`(w4<&PSw +(RsC=Vb-SuMn%ZBH_sRD|-d|Y3_cTHVW-VZuS5^(Gv!2{Fbs!^Pq +ed(p$>*Y;Z)0x)q+cl(AV2e%|QZgZGq;Ug5f@tSv$6+{5oF+Y_p)qN0FP*e~flWefYdrz~!c;0m#g?IFRQP~?yuehj8^ +PSuXou%AP3C+W+{06_}#pi?udQBPKSYr_1Zo}yDva+{viAc3$pR3{a_*UEFZaj8*rrjilzW|**qicZa +Vu$$mS*|X7yrF)Pf-3lG5!04ZCixnKW@qFTdb!rkW6JTayfY6XGcZA=>L8g;2gvs6SnT@_;A~l=V|y# +U2%)DOf4+s*CWEY}FQokz*1+Hw=8Ko@ep1ADL4;lUCyiPI9hNj|9sS)7znXO3S)wii@x*MrfD@Robni +izOXXWwVWAqcq2q~Ld-#cGp|ixzJaoKgX!<2Ye6nXCw^N;m6Mfw7LFj&KZ}IKIPdVbeTYHHRk`gb5^_ +CIb`zjn2l;WTM-m7cKck{5_oe0rh$%M68#IA&*!|%CQ=7e^ajRk$?gbow7^cGY+G|e-VXJQi$R3!Nl( +x}?FTY$gbBfY-Y^w9X?dv(I5PmJiz$&h1KI3!mvRTA;M2&II|Pau3wkML!K@KeJYpdKnx_G`6Tu!+NuIQ)jgpE(SSVQ?^qV>z70;am=vadHVQ +?UaY7XN$oXz0^4sYSm&fx|Q8#vs|;Zq#G#Nj>;KjQFn4!`B_XAXloA4hYj;cyX$g&f|=;R75#$6*tP$ +2qj|@{*re&ey>l`i<)Devr$-P7b$m_yC8Wa`;V5_i%kZ)2>0KN`zD`X3&tw;F9|p?D@QTn%NJI>)pM# +Cm`h8WeBmGHN#szKtakS=9W@o)0Y+4Q*9+VmQomX7m-quLrRE^Sm19w$t8sZ)xB$U3L0MqIYh=UXpJ1Kw|Ekq5k4gN4*HT54t0x3)bD)Y!f`1AB5yAr +TB0_8b}G>fR;e8 +^ELVA=3nN~tUZ{;dX^T%chC*J839OvT^>bH9>OaMMEf0_u_t;R?v@++PXU2Ld-_`sgngesie1g~zFe* +c_BTx~n1H5*jPIS>dnH6@pP54=zTUOGdQ_Y)h#beXanyEbW*tOr4F!2bZj&&wr(MHG)-m*TR`*Kv%Dv{%DWg +s*r{w3Q*JGXys9AvD}>GA<;$oS0%W0f3iGR(VYHvz3VN$>;8%OP-=7k$@ +s2y#b>1@hIChge;b5yP#V3}B)M+7Da!N`|B3WxQmPhGMpHh4OBOR>$;qX7W%?(QDZg3XB@mm1rrTowC +kqeo=yPhJiOQ@X0()Ko=_D$FlSX?}3Qqp&QjrSOyAw!=g~4^wT<;yRxlS(3ToQBS*eYUn&s56Fu7Oo$cw}BOKd!*Ns>lusQRm+D{`l;QhO?C0h0Dn`#2JK4e$eBI4{BJBBGqFFl +%VstIBh-EZwV%LkU=B)0^8`i|W*0pjZKc?_6I&qpxdBqOvKRY#d<-SqE(B=h;}cJxT3Qnwv=75)E^Yr +-yXeg2?Idyex6;vWAvc?8IpjcHX3uQ!yNr(E+~vdQ;HbuJ%km?qUrw)_PB~q2dgOGl_*T2pA;&MrE60 +O$vS|-$qwT3X9kXfb-F7&#LSLml{4J&}LNOg-dAg*5Z%;cjZ3Ept7SeQjnzL!XSiEw4GJTnzOh*n6a% +GrWR5Z2JB~ZEWj8&WAQ6sV%9>#z3gxuT-%#aG=qU9o^v*cKcmRVc^aYM<!3gVwR!Q +3{Ej>nNo3<~oXL!E3Fy0xSb_wk^k1&X#31N4Cwyu({dA)ClonTu2{jBTb}-v>^Oyq=j@aJcc0)v+WLB +ZZ@Se+g89a;7h*4R_ZbVzbv`M77vRw2Q!&VimBy72Zz~qq=Vrx4EjSq=uSKzg_pOFub;m%ATTI6q@OA +@tp9-Uh=GG5qppe`JY?uF_3#lRV@8c06MOYFabw4gpAbKBQbOXj*G*2EGBtVH^cgcX+F2<&{p>jgtJGPAOm<>XrOmgg7Tx}vbCxWsy!t<>&VxvFgS?RTtMyKX)Czy7GN_= +|P@UFmk^p8kt0PVb%ZB?EhczTv?|1|J@RxaR2?$r<(*Q+<#tw@ +Xsv)|F3_)mw)^Vhd)n~r`sRSGS7E+^B>KxJKsHR=mj~hr@UfAWmWZ^f2ygi6Yi?N`<{k-@B8z{`yY64 +(?frGc=IEV{&mY^k3X^X$)}#)_ROd?A^D&sk!CAyYC% +*|IpzhM~{7Q{KJnvZvEuM$xlD~{8ZZ)U;g9tnXkSU+rM$1J@@T*9p}IQ;m4mkFLYh}`Ik$-UY7o!JA} +R){6Ewo{7>iqe>(nudxzY&`~M35?*VJv*3XVv9$~yCHNrzM5$Eb5`mKV%RKQbFTb< +Aq8uXdzO($!4dvm!z7Ruobu|=pe0+Ioc@6lE9g~#0xE#VmB&n&WZA=|oUQ-UC2t<>gpRZK7^i!r&|e3 +VM7Ge>O{Yt~$?FQUoCwnUTYBuB-(P7$D6{01}eS>8HZ{>&jH){3?xxz;9Og%q>}_&H>UWgX%n*XqSC~ +TRhdbIV`r-1;xu{KRw+`Eq1$yGbzemfyPpME^w!y7+6z4voCvayF(fD=7B$Me-@kVH~gjdvih3CR~7B +lj;)8}(AjG#VPC%Fm9jBp6of1Vh$|ZmXHQN^vE5cusLszW&MmaquE?jmoR?edP|O8(bxujHMO~7ow#w +fg@flCoTHWgi6KMQ4fXiqqCh%27`O%kIp@CqOnS=n{q9RCz8l(hM0DK)Y9^`5aVx{?(W!Yd^SWs-4sv +cEX+9#b=`2}`MsWm&tqR!5>Q){Z$3_e3Ye9d$!HP`j18HQI0gf+)pq3 +lk>;wy(g_J_?>H^qTuOA?I^{hrKimvm(+Xtj2Ssboy~KBQq&`cEBy~219>bgELnwwF?4Uqx-wkfJn2L +JY|9;3;HBzV%Svd`3i8yJBCCD%)xRI#G7vQ`OxcjooNOo-S(qtPiY!GXd?{rFuYDt2^-$f59U%)A>K5 +*=NdL-f^c~vgKHt#l`)O?n4yaS6W?=tXnz0B9X>|tl!PwE3W|S5bSqm+hg}j~4$So+fXRNv|alAEm8T +kVb(heJ-Bm;7T$$-QlGGKw~NJwLlwQvqwEAKyokZa-XIL-V|1^fmNvqI%VREd5>H7Up%HaL(B&Q+1Yi +T%i6TV%(;w(ukU8$&5AjOQQFp`9N^NZ=VBHY$)r*+WPa#2u9uM4}SGY>Q}&8W(cyuze~LZSO}0<%U4I +f{7|2(B{|XbHoce@q>2gYcYJF4+(@Y;9^w-DM%3HSP>pb!V^^_d{Ssfzqa5bfsIP5f0kcr7{;{^;;;k +E4S=|mBx*s#5jkzS6A4)h?|7cJsPO@0NbWu|BylepqIjG1YYesq@wnT3F&-re&xN?s0w6xX7lc~FC@= +geFJ!t)Clj(9-d%E@Rlut>e>cx)x*$DvNKdXmq|1*)O^Rrf!#^;EkR9+EczEg`_!0$ti2}X=zuE>I32 +T(g>(!}*d}k%1%<${`ZUArg2Rxqy{jShyeL6Y>Z70 +-n0^_3BJQ_RVzX>$mue={lf+u@8(@9_9Xv0k8Bh_r|-!vk3WQmPZ_6ek2Ui7B&ebG%!o{H%JHL19-Q5 +&HM#~_>z#sK_o;GPW)h;Df^qO2j0N@!5Ib>!CoX-5k?g1V4}_qBkDAmzXMOyw!s}&wM8Bo*cfhA3=U> +8odz-u{2si(E!SaKmXKE!V5m4?CQ0@_v!Wx-e!3# +1H4tB`%uq*w!&t8rfp#aCx7Q0IIy~E-4YxrUcz@vjjewtmcO@aC_fcLg2@nj5cDa5WC-*b +Lx9giCPlRkIug;y(ia4N1DRhcV@fJxikLtWlNd!}zQ3v?vTfjz@W%euuqpx(tTYJ8I^dO_b5f4cW +-5(jt1HIjk1l}PssKA-DTTXf8qo`6Pn!pi6T-7eIvY3Um`(JI0p)4bztiX=8Burj%L0)d^R +bE=Wemjjt9}x1`2Ojb_TuJ(;si1E6BmHf36q4oQA=U#vPKt){Ks3l6^yjIpjzj%~^hKq)+LlI|W+*4< ++dKNVg&twl0#m!mpRG?>?Vz&i>qUGM6+{uBAOTp9BcMM5nh`JcvxZ~^rz-kmdIKT704K2+6g}D&TK6| +V*Z^-50Bw_3Jod$YBpBikUck5&HOYsl6}2SF8cAg{9_ksh3sAW1lvp-bltUYqgJM`P8D9-;-XS|LntO@IU+T8T`Mx4}X}#bGv)JVvfb0!lu|Jm|-s_a +Xt$zxUiU-ZO>m!)`7`$^?7c|GPWX3@)fgf7K^E1nGJU{Y$GYSHfWKTvSIFrAq{jf%p*LEr+pV^7uaW) +*cKKPFE6w(YWgxVkZ4Ow3zipi3TY+os7S72HYLEH)I! +~->1Fj0(2m9d4~&-3e|q$Okp3zf +?<4HE0c*XZfuFCiu`zSghJ&9%|=ZbTk=gqY!ND#^~}JOzqBV=gf#X{)Ukl8nAnN{UNM3N0yiTOkW&BR +5lfhs|aww(AOPkeCwN>czNIE2Xfc)WV5huU~M3-XyPl7xVP9j|BR%#bmNqs>QOx&EfIhyqt{1R)^h4( +>K*CwWQRe6f!Y=F5^=~XDPMYN>=kP59tf_3*`6&f{a^WDJoe>i)NwKlCzlT6$|Y)_%{NrsniFE;xa0R +WTC;dSet63!H2rbmE{K9-@_d=SokFc#dhGr$6f|YwiRU(=A#tX;t~@1p6Jm%#a3W1$jL5T2<)M9nCxw +`WUsVbVQ*!nXang)u0u>;`lJ`LRoz^DS&qeu{vZz+DR~)r->0*ex3N@bS>{;2++s_GB8LJZqkR_G3l| +lDXk{0s7q0?VL7hZ9Q%T7Rhjq52m?i`gjSF3o=#r9cwL5GUD0;i4%uc?A9C_yakdM5^>8=S)v|clrkS +(2F#$w29c45KoJ+rMX&Ru9NC{8JHKnm~b(I#lgC`<)QEY#Fv!1+Rp{R-A;J*5};c9UXuVJVPWlwIhsk +eku8P&VC&CR$kK$U%=<@}5V^)AI3Kh7mZl1pTuDC5gU^A!aH@9L}MV8YxQ}13BXW^i^{DQV;y*QAlE88?^8PvXVW0h9oYQe}etffn}*eElKb69dA>c7zTs~~3uPk- +~3@&Rlvr?S7g)NU!lk6zkR+V%iO?&0kPS}Z1?GOmLh5psg!3oNW~wlLXYZ4~hGB@Z)X0{kz9l5~{jBc +WN2ygVo*+ye^YX3e%)Tzs@3?>zXiDBD(mOT&vvHgn0Hm&dp~-^=|46;nb;0+SCO>tgah{A9E9Vm-~>c +6Ef3-+gc`K=Hf2y8HL~U0?rs{`36j`K?E;Lz5mqHSVD}Lf&7hK9+Y}lDFy8IysQI>zg-+xCaH#CZNhd +JXeppZgJlS>KVX&A4(1bI1J=&K^|@cd02!hPB)a>;W>%^{6+iW-2Pf_)^c+SH>dJ23%LD44i|I!H}bd +(xqT7Aori?(F~>6!Hl9{L?!TO;xq`zD+`W>!S8+P`!izgf9_8l8czU+-_@3tWJ9zpIarck8d!#?(h0H +TgzLVcD_k8}<{{O4t|K0TetKt8zKB#7`o5i#I9QnTr{#&2WJ|E_;?(_M#C+)xG>3ef1bMJfe;{R;A|C +P`Gbs6aK{Qq1eIwte^fR_*L-nPO3B5T9y4a2$nQ>Pew>`4YI{@O;53~JVuQ@9QM?|$OM6Y4(bS6pUL! +{Muc(7%?$*TDbb$4@_g6*=>``1s9z(_i-(#pc6+Xa0#>PN+%diCa%hy3+p#t)I7DBxK?`7VL%;zwR!zCQ1a%kXC!(lv!ksK;H?2Ca@fM*b`H02Si +_-}!(0wCI5cpm=1|Guf7iGxW_pixh5u#lzsHM?S-pqX_%Qn;N?zW9ynK0l9W!~o^<$80&XvlqRAum=h +mhYrz2w#7@#c>lUM`PWoZmgyl*aQ{F3&a&TNeIn;ClX?=5!A({O6#8r?aQb?F{Dq42PGwJdx{t{r)8d +0Hd<^;N3h_K@I|Z5GJ`bfNugQ!F&8F1)aoe!y(ULuLC$P0@^FU;{mRQH-4CctN}P4Cf0>$5AZgeWDi! +5GJs9+ZjV%u7Jzp}LR%TFpm0w#^efgP9|oLE1Um4x0=^C4et5GW-WJ^NI*Fw}9^j%$EZ!`De@g(KM<~d10KZOPd=LRfB{DyQ +0SfTOf}gtpKAXsBJ_m5cwaiZ;z!8&K`NjZT1Mf8OkMQawh~wmVuuRfX}5cdxRxAs3Tx+1sE`!kbQs$0~|V=rC$y3);Tb40(;!sQ(y%7L>!>e1nGganE +*avhA|r8X8{J^z``ON%W;IZ8(7*J0KNk667b&$uod1cz}o;aBYn#Xt&n +F{R&yc_WbqxsM`&1d;SxE$U_u+IlrJ)fmvC%|tO0?)zTCykKFX)HZDfCXv1tN{*BhkOB@7=YW-8BK%- +(|KJ0C@q5cz#bR!Di$;QDuB%#Zvl9038WMJ90%xJ!swp`7;__|i73~+b}!(#wG2XE{U1% +->OP#3^{3BaRP7VmL@>f3l52r$?NX0VS0c-hA45gt4+*dbn^gD}s|>QO$x_w2mv0JhtCSpYOTU~U5Kb +2-36@aBX6BLJ7Kg8Tz+1$a{#^c{d_0DNIJOV4(IACyD8k7)z=T?OzO@D6~hHZVWs00&kwJQCmqcuxb~ +1#m(YOHVw&3V6dI%~b%0Rx>`R0p8vKatLkC8h~5xg*gl02$Sw(=}!X~^=HU4*bfFce*E5N{~Sh*wtEPINjp#k8&XP_+rKL~$)hPOY@LjMeJ8`vW}@*MCGaD?g4vwST9IO +YZ3X93KAfrUjl=|yP&!9Ee-yYR-N3;?|5Wymw&V*x%3Z$9A90sPAjNE6_j0V;R0J_TX_UCcflpko(r# +{g0{GK0R(4$gPksPxDcFAsaKdpeZvgK(&UudbN04Ulvkl;oR;Y)7#{w* +BW$l9%;0})O1bE9QOvbVRMt=tF65xXYJ_zrRSbqWPPC?n@m +&pg7x$0w18$G-JjW5@xdOxyj^j8&1IO_^Kt9J2uH!iF;eVXt2;bs3!d8wW{DI>LqrYZ2?meHuafFLGj +u7|wVww@|;`aY}*!MvE#fcRRBg^{{sw=D<7i}A`dj`0TeOB}E?@#9|jkufz5X8P5!*>8gcO?`feqU4r +#K}q$K>UW7s_02aK~I$C_hJuSD=F{Ao~EYqV6w +RZ%t~*!dDE8)a+62=v6wG{>t2{@PfZ6`KI6xaCv)b^A&VC;CItlr#NlwT0xd6x|8lZv(?oxU1rB$oetU(XoNe3?-mJVJ3=VmY~! +SEe~1@o#^XciA2Ja~|r>GWC&Ki^50@~Hc&H66;c5LjyB=2eH4T^K$u?-DbwNB;*8=j9!4=H^Sxy%6j# +p&9630(X4C&w56mnF}va{|65qZekV}DE(6yKQlx8k|Z2Hh)DxGOy8x$7f*qy6WwY0H(aVac9=o4|Dh++4t8BST;53iAC{zF)8Fa3M4iz;@V9+)mqeW@|B-~qoY6m3w%^K}DS +eu@U@pfs{9(@I(y+$$ZQkWGK?H_*yx#CC$_ZJa +-Nu&NX%w4S-5Z^x&8LryUBP%Lj!sC*=NZsue?HK{G*RPB4^H=aml$Aw;61Qdb@pxKbFKD);pxv^4=lq +-}&yHycH#6Jrq&iJCd~i9cLy;!ix3Z{*?I|AnPAJbF(D7gV(xA8BFv53>93cha~CdbCsc~>fc|*cFe%i3m_)q!OMc^({rK}&#rT9g(ojAr`(_e6qeh +J)adB}ZK0cmIpFW*vwOV2{8Y%DQ&!0~gEm}lwyzxe|bm>yEE_XIrzI-{k_10TSQBe`G*=)4^Si5#DdC +W1B{O$JXSx&DMi=AV*CDZJ@lO62CRC6d!7k!5EkQc+PsYHMrBz4zWr9(?dY^3X#MkL +AKy)$7=%g7ckGqGq6hNv;#qIf}pbZ>%i{-{mF +D`BDq8zKC12wx_Jkva&!8N$B+;Ts|RF$jO!Bm +8IxuYvG4L3lfazZ=3o1L5~T_@fZM6~ccG;r{{Q+adgS5WdqR{DjfaziC0%Z-#yb=A7H_Cgd>8Z#wouB +|H{Jq}GW<`fNUtPTxkPZ|)^h$BRVj^avjg;YUDt7{K8A&~`I~2U;C?llf{0UkBkIf$)Ea@Vg=WF$jOg +BRuqLsZf=zFj#2_fbfA39@?J{7z|13{zRGq;WHro?GXM!2>%*{KkgBp^dqTc5Y*Y>FlLH_YI_|y43gh +Lj6@2%iAWQzM4Epmk#5^eqgYb7l_^lBBWeEQ^gl~rM5a+$0Lij +TfzQYxMEKs-}C=>vNKLLd&fxwX^0LjXK@jl$kTNy3BF0W5$e%nKNgkOhIP^XZSY)qSIx@ +U5y^*%u#dqx#kr8+?haLpQ4>POPe_sJ&YPPVmNmQK48f8JZYwDFa`*pIa6!CVeVZ0+{~+xKvd+QK?8$>g9n>126Q*m2k2kb%|j-#0o +_ydX5-wsX1#e>HxJ-G<{CfkhzvQ4LxxFQTh{;&A?)_ey*8jg +2o{8AJU(xo2bDg%mo@(&7M7AzyR>za?iZZFH*wmsz~$M)XeNft +=HfAPs#ZJ6Tjd)+Gt-=DHtKmQU7CB1DT%XECio}9a?hMHAvC~Gp$IcT3NeZ1xidkK-0s@ +R*TyFVcq{uG!7*hP$Z}$0N{ZV(Gjo=9UUENw-|GNP$wcZ#ojd-_6!bDLImF9fgYGFaL0sn&w>$C&1WX +eY)^A>Big{)-$QmJ@^x0zw4Vz-t0w0YY&PZQJoxy%`LQ1l+yEBs?psxc#H0rON+QZp{KCs59o!Y~h%< +cY|dpJu{;LTj^Ng<(FTkfsU$56Yz^j19q#}Gd)IHJ0a|(AyIY+BtTR^RFpQNXlsA +~!6bx)RUxb`A{d~h6+|Qp5L8kHh%AC^q9QH?qJS%ipbx_ut +o7mEF#sJ$sz}`}aFP{P2VG^G^p&Y;g4GQRnpO)6Udi#95^0TTZ&{Y(#Z+bj{S!sa{U$>6jwz=E>^l<~ +i5N66a=F?c5_9odHtlOqDO3MY31@_aWE)>JYmGJEr+I<*#~wQ@uY%@9(7dch~y|=>6mM{#kneV!i)8z +5lGA`z=oSEl&CW8mHLb>#tU=T6K;$m>=}77F;VLB7(mIS}n9%wcu*i>xWdm=9<5#oZS#sw^pq>wIZ&o +dTqU{^}Jg38g=UEwbxY*i3pDfcWw-;UpL~Wt0Jz`3$D5P>c8Ary;j|b-(OYtFa9?|L+jR$s9gCEb@iT +lf4t`EYQfjnkNAD%%2!pXSn&__uD!O}mA|W2|EAwpzKS;@s)qcjQc$I^2*yoSDzg561z+(WdiMJoS5> +JJuKHEI)}JffsGsUBH|e?VAAaM1)~OL55fN@$*wt&*4-c;y9$r1%;CG`Ap3SUY-JCijuXUU#ig*?Lv$ +XPQkn0+*=L-TMzWNZqW$>uEB(zLBTaIDB%J4hatmxnMe`8!q@fdjd>cF2uLP8)alb?R9U8PDDo;2WT2 +L7xAe+oh^h57n{rTFC<75wY|p`6!4SKK4wA3A&X?EBU4tUP$|;I}{i_~Uo#dv+fleNUp=|r@qI +M}Sm5hb{>f|mRT!Rzxru9&lam`AKYsj#gBdJ8{5L4QH>(adW{qaen$-qAh0DOdY11ZIv0{ZNe6oD`as +&6?y?f=`Z@-m-f&$sHWsA9vdo)Ji{XKfm>_v+fjaas9*$55UZXG*z?A@uUsj-=vnO!ul1~$GH6Mp^m* +EgClVZwvA+;R)F3yzJAt;@O>3;*H6heczVsWocUXreUC+_!I^tX;ddn9iFwZYZje2aYBCn`RBu*eDcYPZ@&3vr|$JD*D0RQs=hT*7&5u{V&T_ +#ioJ>_@Y@LvcES@of#2d`U)vdoi=7H{@l>7{Pxt%GOM(Bbx89nhd<;{W7zYmP*RMD5BOjlA_L)5x${2-1GkX?;H5xq3XZDhcjpF(`vq<=O^|3Q+%#Ee9Ohaf9%*XQ8#4dzj +^cKwUJ{c@PGK>hq7|zN>QGR#>_^Cp+Ee1@4ffT1on*^HyT~pv15mM4G!1<g_>qHu^6}fkl$SZqAjvhN!sJe3F1tE9Azk2oRsWofXY@#uIrrJyRVQ>ImXbxS$2VMX>ui^by +UwvgJuc0~g243UMIVl-xLXZLnQMHkyEEmy?8P3tF14 +dz;CDJg`Jn8C+Gq4a{pH%x9<>X|B2Ec9Fzx5-xs+>aY)%Na_p2y?=2#ctBYF`<%0j0Uw%QBCpBu+C`@ +Hx95^T+&cg**kRxC$2@mKF&EXMpgZyK6HD@yb-L3H7@wpF&b{~thQCM3l4oy^UQg`^^Pb?Ivxyt_>XF +1_lpCQ)%Bme4;gc-;aE9cM^ULaSjIG$ANp{JR9*P%d +Xc(oE*^fh#Zzn5s?|jKkcpmQTS~$MSuah#pg*7E7q|~Q;~sH)R7b(#OOcL>!>x+L!UIyC@srLMN`wE` +Uw;+#Gv`cju+!pE5>HCPqMDm72N$#N5@=|&mg9G +E???oQ)2BN1_!@BH^e5XO|7Lisk-72vfO7|b&M_v{;;sHV)<7ekDot}ALuXs!14lp;N +0Q>{A%}P?eo3l)nQRGZ%Av&Q5YOmiZ+Re)J6gqH$L71P40<@hC}0EG~>?BU{Mg;Vs4Ucq@5%sNyiVwH!UPPqv@ +%;qZv!(EU5b!KKfg{QBIs&}WmHf9Uhi)+W_a9BQmA(JmSIHNKzJq)C%7jZww{KX#ELG6N38JQf$;!`I +rljL-15#0-o#MzxTo87*Xy;*hU6%vT&%&FC*j4t`%QWAnY@nXEi%ZuQw8W7Jt)GW^&JEB`H9wyX^=>_ +lII8`yx|;)3nR-jmm0H}O^YHpc2P&1Hq+@Onl|Svb6vEKnQ*_4!|FlcpxOl}V4alcy5f%h*2cWn`~dn +KCcdO~qlk;;>|d;-I>K +K7&J!ABP!!9HxLnzjiXduj0@C;AbN>AK^6IOv3UQI0Zl08-C#O% +JmV%e!W!>0jvTC&Apt|sy;^6h`Gd3xEP#c+*)<&kMM$5F67@3^ZRwgPAPbv;$6o(Ot10yiT_T#o~nC!c&$7A#m`@F@=-78mX<+VYyLAJU$XrNek=d2TD7VT48Zr)Q%@D+5Qs-vxST$HO1@tAg1kMcy{sAATvqz^d +9h2M=lF4$>Br%pDo2@*wUr5pJ{%Y(#!&yTtR^2j4HckW!lFQ=!c%fNvHWzwWcMz6p8@=IfPh=oeR1-S7I*eY +Tn;!*Me2Ku~t-XJ-3Li3H>!NvM)V~iPoeV(Gaa3T0tty*=h#yWqq@Hc4CplR>ky;FMi>a}0(sNq9SPL +AAt_ubO9Ygc*ZnP=p==bn>k)211C$nSv{9PkDB35y3g3^-s>ItY9Fby-G@8YOXYaZ;m34XIb +Jo@i`sU;z$v!#%;l&Olt4$dp|h+xp?G9uB^kPFUTI_r9MB8!1UB#p#Dy9Jei*sON24p$Bgi9pj~EHwflCQP(f{=;Xm +qjlA8uCN%}Py8-TA~5Pn-eH`|rQsOmy1fP``eC88T#u;R8Oy)^;o&zzh7g=1XqC5q&^M(1$>M$7j295 +AtW{BI|GH7V@vMls$U%=#SCUPMtc*@ZrM^AHV_l+qG*a-MV!%@52LduoE0?-b*e82A}PbHalygCG0OLx4I4HTIli7xrSihhzV7(P(v?ZR2t3ML(b$5gij +6)fzeVNE$N)YH8ryqpJrO$!O|k!r7cUl%$76h;*XuR+L2IQ`k=nM0)kh9j*w^cO;~ih$qrCka6TcDvV +Ebmi7*c#;9${~7yUcwXP1Rh|M-SH5wSr;C`5B#~}%P*B+H!GGC +_G0+mvg(#$w`>C&cp*dR!uavyMQxVx)9wLmc5)AP23y2He#nWKzz$xsXV0d_n03V!S6nRY#qitsU+Fy +#9IRa|2@mLv4N~82@&sfGUt2;=-@p%VYz#qP2f0U;`^!{;R$x6S>3(frqX4V?VHU_#-zS(01w4rSifHFBo~YI? +M!bTbn0t;vAW={R6d`c@-*D_;+A0hTrWM-7$|b3b@-J-7icvW4vg7Yn<_r}HjR-p_*{S +X94^{Hy;SXY;SJaIrN{+rNW1yayj_PY#}8i|8fLg8~;|*F7%9&XftiyZ&Qysj_%Nd{6wtIej@Mvc>V8 +ciu5}7aE|i$UE?(2P%(qE+gy)es}#-?L=|?2ORL7#4p%CV$qXpB&#yuz)$bWP$(=jMueb>ID{KvJI1OAczqxg-Wwc)wC=W%yG-9Bq +#>*xNM|BTMVYI6(KZoa|7^i1hD(&wVTLQR}n>?cP=3VtqEuQvocJ!Z_9_-WIo#Q_7c6Zr%F5xb5r!d4 +T@5~uJPuNmEo&h`uG@zC$2rcHl`nmj$W3++!1pgCxY<_rC7eovmuzQobc#O6H2P3}Rz?7{DR{XTkSOA +eJ(x;SSX43G!2zx&yTz-Jzy3I6NA-p?d&Y@DfMX8LP@Jr0OGvd`By?Yi67_qERtxaE=l5PildJ$`boO +orf7G=GiPI5*Dy90vR+1_l=V&&nCerUphmn3}xZpZWKFzP=~@HY1Nae7!b$Jjf$GDtevt2_Jah+`7^3 +j~~~3KV`&-5&hi#ZX3^XB)0Zsv^TXx>bcYr-TTvfrGI>XfIPKhdl#wGx_H*}Mfq}XSv|vzQr`MG4@AuJXq8^Go(qp2xG1lK-8s +5`4pBs~CU@-DnaJKgyxPM?TIIsr{|JRL=HvKMoMbtE@jazx7E>3@i-h}CK`S%~u>o&93?Jjw2{lU5XC +nlRPVM6?iFTNOuE|TvPpMy8BKm(3ja}!P9kbV_))mQzs?b-hR0y;r|gkIsOgxF#lFx)np-mP2y(XGcH +e>_F)e?QwFATJ=dgC^J>XmO%FGOLa%O|!jR$bHM+)m_K*E1PMjG3(n~MJ(HkNj2M(K8+vf&>16p8@_>4jS*7N +vTohV5jU9wi9{U^pAK74q}`0?YDp~K|Kla1ZO?&ABf|HuOLKo;5C-E;bJ_s4Qz_cqmu0C`MmTih!vYk +zzSbq;E}(3t#6b+NdX9@q=Bynz>QPwgUy_IxY{zu9(H9tWP4$C()quziXCU)R6F?jIKy_jPo1w5hw&n +@&tjl&7D5+T?e@WNm@9mGB4J94`7yKFWSfR*Y?Ho&~V-m^17)S^Te5*}vxtky7HHHf`E8iiwFC1|At1 +8U1_o=<#l3WTZUy*kh&+oSB(vY8N*5f#w{czkRk5dIb7p25ahdTUEBojQ<)mXmFqEy~zXd_4H-vEoq! +3-Me=;c$Zdd4&;sXtsL5CMC?(0)d{8N6S~%H&C +d@wzOQUtXoT1rKWh-%L2qig$RM?J`WonmyN>`5unXJ=EYJeGjm-qkHEY&PcFNbIF#11f(xmw8?Cdz3b +His~=+mc%1OEb2CXH{)o5q?2y@Wv(=78cIC$i2<}?4!2E*#DB +?urctWMT=zCtXZa3jBTXmWP6I2xVPD#eXRdQmcZA>;OL(1O9BHjMvsH~)3RmD>~n&bx_2@D<*9*UXRv ++ndEvr^$ln2_#RSJ!Ke^PwcTK8Z;zYkLWZz01r$ReP`GG-QD8*9N!H5{gsRO-fn2AaH +>BHDeW_r$M&;l&t8&~lXFaM)Q@xL&i&`SdGpS(I|~*pIH+s%f8~`|%=>!HmASdO9ka5sR_EvE8-7|J2 +A@@@x4G}9pSEt@I_j(^b&Xvre@D|&wbB9MQeOLbGKP)nZ2KDk!fN$8_!ss!j?Vqy)S1X +KHaKeP2+dZiH{w8FnghEHYak&g7F7@Iq +0&6Q>-T=ZJW$$=gDXWy4II+_^gu;yShkNDOg7bo{3_apBk?`*DlCov2$6>wv>800X-i?97_fLX&m_Mi +0Cbf_bcvq3-jgb%XMpssxKRugX#?-A<}YZB{{Z!CCmf?0!{ql3Z${~mbY0n_KkhCzp28?t5TsMaQ*Bz +7lmCvPBk8j*0j*`w=Dk@-rOnKNgac#vmA=&Qj?@9%YS4KTaTQ=%X{y=*U%I@4KKf1pCgOM+-{!#oHg_g+4M#p_rGrMU%h&@iPh}$ +IM{7sF8F~xb;H7Ie7Rfxx!&^MK9j^+_(}H1ACV`pHg;Kk|48@!*lFNq9cV$X2%PZQ)RVZEJR9G=VZ(- +V?qy_DTF|ztPN#x@I%Q0IO(p-lmiL34N=|5KRr704`~q7Lf9b@W@%w96=x4rP4&c|^3w1i{Cxi5wo=#sqPt$kqbJEQ##^0Sk>sog2Se@y5Wt#au_(1)?zusA% +HE(r>>Z_jm?m+#lhq;b%i&Mq5ew?{F-L>w`PD3*z&9Sk0FOt8=VCXQ=T%V#VCb=*iqG>>5y*|P0={Wt +I8hU+aeci`g31w21CScJ=A>?Ot&wnpegX#88Jw09wy_y@??)I;f=!ebXmr^Q>F%I(CMepnH^wRZvDg@ +={8HrDo^X?C%W=XV+HS!pz>!p<-VHDvBH~yxdB1h@^dHgwiuX5$WE2HAm(-V?=Bn=B4nw*r9-a2ehT1 +w0Go_!ON}0C%24GPi{E)=CIJ@_>{!n3F-DPtF{iixnX2jo2#!14UHO@HYnZv4 +c2n5*2s6C-kF}zb5L61z+wJ#eJ3qpz#!cvp;wo*#KDP434IdMi$8RKeCtrXl|T5}Ibm=@QfLzYw+@R> +@0c>U|6>VhVWEQ(+xFzog0>Fp9iNn*5Y{FtqLiD@ZXQwk?okovz#0`%jI^FdMOb>a>C(1K+t}EScirB +to4(-3I^kDnZr$9-+~&Dma=Ybj%q_?*T5x`f~Gt@K6Gu@NrneSQXS?*cu+2|?o?C|XJ6 +nPGLj(Z$$Wp7n)us76O*Bj|=?v3$w@OJTb^FHeB>rM3z^^WpB<(=Z4?#=Sf_b&7<_pbGB^cHw`cz1b= +yeLkP`Fn)jvW8|&&sv_fBP%#NGP`+pOm>ItF4^6(*XC@@DatvNb3Dh%t(;pmH#pZ)uY;lAqq%)^Q*(# +rj>^r-ou3=%iGCZujsH92zX4E70|XQR000O81Cd)szFAU@#Mn;yvOd?{brPrbZkpu8X?yQ=d>KlDY{nAFLsC|h-T +m)7F8~OTASJu)?tRX)JZ&sdz+f;K352Em5XfLgb +WU{I<_;ytYu@q^Au+D|>UYkOmJ$Y#Dn?Q&C}(L|#fycQV +Vg9db$d%u#aLdI{YicwdB6U6dipZ@>Ga*n^OJWc(TlT}r>{_Evtl`vNXmgwc)o(4;zjaV%zoh?M&8e9xytcJ{qD3VvSKhm&VlK1tXL=n_%G>Q5JhRc1V$ +eY281dUdX=TZ^Y*+cAP1nl^|eU7REU|F0o%`!MdPX}0vPF$=jWSzqnRX0=b1k|!rFNeUoGP!FU^34@H +_SX?58);o42Pg&i(@J_<8OR!~!4!q)>G?gn%)B!pEdjvT*D; +kUsrr*EV4pI`7R&F&$MHhqk4<09}4vZUE8tNbAnFU=~i2GEU@)rkL~d{Fw{1L~Mb>x-kq%fXw!LSdrk +#`hi?H3xt^|77&SDlj;C`|L;f-Q>4m7#0G)Ohw?2eHh`$H{OKu4OD%4*4zK{*HD5xjYU!5!e486r#VU +VF$^(vnn7YI-JUKoBI*yrG6xxqm<=!XFXcc{<(Zg!5lqeGRz&e62_#H>a%>VHUm%E)L4ZqLgt?}pD{n +T@^V6q4|KJ-iHQX@HbCJ#he+Hd3z?q!GtYcTcO_+S`0X0hjASn1}FL*rizH2m(&pKcBj>4~J?|zKl{P +m}kmoHyGGY~Z3BZ#D=Y2SulxACr6iH_>-YBqJ2?#6ZJ9y>aR&#LV09}LaUug;#metsIApZ)FB(THpa; +T(HUJWvb*_$)h2Y>9)gj6caW9*gaNI@o^!PX|uz-mQ#=3jw-A>iK^7F-y{b3JwPbgIioGd3RyH9Sqb0 +6}>%$3WcCW78a&}iWk1`4}yPr^XGK={l(wMmk)=7F@C*Gzkfe_h;P0c4gz{LF5w}Eb%^EUoZYNfW}9N(%BEMUcWtkc5;5|{U?5hY4!B=`6+ajFo&<_XRlwidT? +*#cWL?j$J3`LuYPDXIw}13Slg@jku$3WiG+eGW>&*-KZAzXwz&`10cKUtT`^@;~37KO7F({kU3u#t{rN~J-Jd(np$|BO{aIKD)lUeL#M_y*ENA3bzU +NXoL0vu8sEdjHC2@~!y1Cy!*{4rX9Z&C?plz~5>{lQF`UMHz2HtwHE-y94`8slUwSMz!DNt8++15Qx* +s5x6MO2iD-9}ngxDLJ8Co5f;{rcu{{TX_1HccAMd|FNV$Jy%FAGEli@8&G?aX@JVl$V25$qPOQ=S5;m +fJ$f|Drl3X8c!gPU_2}^uR~!%hLM^_Hv+12ifE!5N&9#>A<&16-7ZQ7IQ-&qNO@^x+H-CWvw??24OHlI~I2i5Lm2l;2AraF+Zt0EC^alEsXaz=SOh9&NU%Dq1K+=>>02-*`_Bza54e1bv{{sJ3{3KyaWtjYgd42 +FDDR_VPMD{Q4WeL!glzL?HEO{=m>ASLyMK7`O>0GiZeK4SzE@SM>s)GXRyu3*?!TPQVtP$ +K#_6W{8?3D~uZ~fP0!3lEo(0zKOLf@2vmqD~fInL;mm9zRdp)%Net6(05a~vwoL1j^gaYoQ8tO43K +w+?h!mPx?LE)`h7agDgJYfzPcRmNmP3uD4IwP917Kh=wxTrA_7^J#g*Nq!p_Nwz9I-0y;XOsmqpHsBu +8q@B$;rraN+_0cNZBM03JhN3!9fQ={hSkyFRI@?9yol$`4+9&}p>mqxe6j9#TLtCU5d2tDJ+9vvHUNc +#*Z7^*agC3M)G~$lce`rd;BwDhxg|@1glv +pI-tz-uVReaTI9~D&|Q>FaUH=7l(5RR!T0-xK`i3;Jk>QeBcS@_dMrIrrf_R*4)#bs8M<_}$^pZRB&~vENMldzvA(@*R+Or +quKQ=HhaWW?pxyLEr-!ipssW(Og?QO0*A{j6Xxs+6t@>`Lxp&Y6ALu*B%>%a7o>Nt^aZfZg)aJskebG +Ek6f1-7m9|$we26DM&qJ7xY0!d5d^wrB+o$Stm5^ovr99I7gT+Hk;}sOC-Q?vi`lP>1%93I=7O-)d~pa2-spZd0XuK1D`ZT?o!t!p6NzB+OhFk0@gFsLnZia&dCR0j6ld>#J4!104 +*stGpDZAs+VVU)|tsxzZ1f7~fZ=>>BOycxPauL=xI)(eQ+UX;=XH>@2U>n;pL6(_ih^{+(NMu{wOcc* +6QKr1))THw0pKL(?YUBh-TSf;=eB%JG{lbSt9jYlmRe*_V#hN51+n=I*yfBVEl?l^>?5Q?(UH*r^OL~e +CQosqHhuLgZl2(r*5HWw$a^AqoVJkZNoSEkSj2yTY?SWS?dQHP>uOMsx7JxFGFo@b=vw&V=PG{{X!RO +X*gJf)+RuPVx44Io`Fa`o^qK#sW?zgI2QXZyN?mEMUcICag`MyYM08E<7iLIR>qR09SHC%QC5MY7>6i +^t71{ca}iCxc_LC=qyjE63=0gg%YjXgeSkxedVwF8(w1&5s}hKpNm>tq9VlA4GjrD8WxXkrnaYr?Nf~Nk(XmfE +qoe!4^oiyBn&+$Cae=U1ez2M^AJ^|#?s3S%!=Ky40lt?1IYt>RmZ1HKAYMMl*Bhd-t=WPxB`&m#zq8T +D2D}~yr~@3g!SK^K70N4xiKYTEUf}E0;`&#SE_1;Gab8S%@#dR0JYda-=ewIfqZB%6WNQR&oGCZj_oc +c>Qd*{Fgau>aQL^gH?YjVczN>f^tn^X+m$`=;Sf}iE|b+&;Qv}=m4NL9y5JsAzz3;^ev1I=`78+*$lv +X*8{Nhz+W4xJ&NRzM*IYUrCR47!MpE|vp&FKpX);ehM9T)yvbri+!K;77W^4Ll%c_Cl)U7y>c9vN!ahjM10MqkpaRN34EV&4!{N|$u%f3{LOiYuHC)?eg +n)3e&e1v9Pyxg|hLs`Gou3m9>9~QXC1#wFCa#$_IlfEl&WI24WouH(t%LZCF#ORdM53Ot=hnm +LXm`#!0-krZeh_72i$612fiCMEc3SMJ1{E13$sRTES5aNYXULC1rM-+`8~Jeq&FMearo-oiSM*+cS}8 +9=Zt0SMN*LDu2yqcMz0gJ370y+0%XKk#t+o9kz!+jp`k$F6OzFG*R(q?@nbm!{iiCM;k_6x1GOaR4#9 +>ePLi|{8Y}JYOl+cb18!|t2dV@O4ah{h$g&ETtD+p$5(#Rr>+%$qT1&8KJGR17sj%7faN_cY$WICj;NgNm|E4Lb>R9OWD>0x~uoW7wJu(R_B+dzw$59 +@J5mWlO^((pHK3QC#niqFQjd31j}f%GRyf*PMAHFRQM}+!3d^+!@uCLd78J6;MtY7E~?0wrRG$&(uI$ +E>yvx$6wnd*n>SBEzVVzdkb+3nn0E=fDOy|R@A6q+psE%c0j})hm+qVpb=G6F3r}?X`KM#G&@DQTH;w +FfzI`^gWqPUIZ0<7mUP_yrzQv2Vz!5m4GKGEe^*;n6X=6TUnFfGx_aD(@whAno{y__>l#;&!)CK$0~> +2lu3&#RqRBbO(|-QI0=8Ak?V*1g4RBtzs=QQus=RWQR1{RV5IC%`UQadqxJ)XV?jQ+k>H>M8BALeX4G +_44!p_wJpVmf0OWRh_!YMAB(zadCEguVW^S~s68Lh`6^iIkWSdtE1PJ}lHPKQlpC_+RRHB4N_Vakg%T +U}k(^Os3@Y?RV_CwoKLIbKNXRIRpw+BX4(&t9FsJ9+u?^euil|MBGQDZQ2k`!?abm$aJWoXgry8#;H* +?He_GY$G_THWnn?WqRa2n1v5!q>0(Vh8QJJdr0%`(DqpRKZukMF&@$2f?$>Y9P>=4UF9wC;P|W@zu`^ +7k*pw9>$>ozHK0vTyLQo|a@sHySpC)OHOc$7=uRI_z4|#9Kef=Ik(B}3SPt*H;g? +9$VzTv&hvo??dSG})-iG|5Als+By7Nx#VrC`OFHtf>r8H$vnk!BPMgM5ZfRqIhn3RWeJARe +IyCG18OQ?sZa{%k~5Wz|SSe2f~syfoiamrA50GSM1^diGj_U5?uD9%3zNIKt~2d#Dj_>$XfifW)Uko% +xVdP+kK=E>~5>ZtmlC-cd_{3su}0u6eEKJIuT?33gX6GBFTo4w}naSJv{af_Tgz5mB<_#q=r4BHP)!M +k#RS$UXyZr%w1`#R?ziDj5{12q|o^N4FLs2fs{C~!s3q78>95R#zDsYF_}wC7@o8=;(lAkr!olI*27_ +!9kPinDzKY6k{So?GpIjwmRuG6O^(Mppo|P$U8b$3om!QvEk&r7MaYmFX)Xc)jUxf373R4#-jJz=l-X +Dtxrnb}>QP`cu965lS4X8eJ~}acNT~2}csU-vb~d-?y#vx=@O6xt2Z(?$9aFzT_%P(m4b2I(7SK5=HC ++`2ptab@@3RcW19Jn3K}$UR3aqmzGuBnrd`(bsk4q&Anr$1^MS>IwF{?sNy*;CVIz)8^1y>V1RQD*~< +nbdCt&b8=F+}<3@SmUDxypCn?p!5bEf!GWpB)IQxJc#zQ>%M~n#ChI^**jk-?X#JLA1?{ILly~eD&4M +8Xb+Dar%6`K$#e2N{fbVG4#%0dx~(p4TqQ`DX(94Boo-YyS<4 +7JeTQvLVVX_w00XO_H14#}Avpj|T4vavhHr&(rWtSy8iEjua1TdRq$A8D+S3sR(iZwi+Bl^O3;i_gRx +%C6NOxVDjX++p^?*H;^mDz4X${W=hMFx3-b$p_I8QbesjB4V5VI)Zcpf^#XW}jEYIv$14>bxTpbXlj> +GUDF6VdgDkvug(I?giw`s>3X(4l54?S(Xg6Z8mq!84h9<#G7!!(liuMog%=bc+#5JlIEc{^sa|Gl|Cs +wk~#;(B69n_QL8BSXI9`c5QiC2ckLZAOO7&+SNuDR>MKFW! +=rje%PmY8g?%^Je;U+^EAV`PP<{yMO^$5OiotD%SP-R>ZXt +oTFAyqoUQvFPrh@7-=G8M2o4b6VWkJ8OdqprV8W&b}aw4=UtYEOkj_*x3Gx;n?WV3$QFx9JiVcSW0~E +_gfPKO1E{m$xo6l@R1xnQwb}vDo@XmOp`3~0I6^HR?%4>7^`hsOT$J#mWk%ja7-&5zZVTS5Da%M=?fQ7HdWFJ45x6l%Gj0g-HuS0zXoyK!?p*? +ur0D)pDP-R1fC0C>6&CvZ|5it;h4Qit3i+CuiC2AjA$RI)<%z{-uF9pKh+r0vc2g(wzo&8J3jvOw?dit>}tyG5 +Nw#r~W*21Rn*mfoaA8B8oY<00lqdM}e9d9=B?1(r=?`3TmE9zlCT3y2>f&8`s!$%I99Q +0JW@ii3QaaKLahI11A3MNHfj?r?7@8Lz;L5p$negeIVM!UuRpHnRoM_jJ`B3}y>w-=Hem8-fz%?Pd=@ +3!WSs_O3w==*n!=r)eu)Ftisci1-ST7{Nmv&Ohpfg6IUv7fRBI1<2)Ryl)>|^#?+M#eo+D-Vl{r%9LVYD-jXIdjN2(XyW4`B|k(F!j;K{c~UXEtxk~Te)q#}D1 +T4Hl~tYn6Mn5OPyLj&Al`7PpU#Y>8^J0QV4BsU9Z<6Xg*bzBjc1 +|Dyl~?MUv@4Jo@_acaNVuIXnzY%#GCp@I3RvFa)h8UBwHKL#lu6{+Her=$2$&{A`6ZHy@6xVqE}37g3 +Y%IQLNF@o@!mmlQ(uY*A9xCJMa}pvCF+GMfc*m`9#m$1z<`k;aP%W39dKzxNKl8G8SOsRduW*gF5Un{ +Wr_kxDqIo1o0IGmRD#6=}+5L)#_eARW#QWh0~90b5ped}{xy?!69!+BRG8*?E;#4@g(oV*Q2%+w8Cg1 +Zy{c+Kw?kyDsAQTENxg1M|^_>;Afc2E{tTR#w6TXj2+{S=3xE^UbzsxXyFJ=7Z5T$4XM-Rx(lv7c~bt +Y@o+(E9&-PZcZm?zQ2+@%%ewjdyjAeqJTyr<*jm}BJ^v_{bFnHJWdv6w|K2Vp)dwb3Y|MR4j_oGM7UuqC86RAUT;^=K3+_HUPL+ +S>)mkCbp&8;cLkptWaaQfN&M(Ife%1~-Gx0-2O6{@0e}g_+$S%QZ7GVa)RfP^gOoS(N#-ehErH2yD&C +DvTI>rvdP35lb06T4PKY+%Ij=ecL4P538e7gB@&yyifLiy(0L%8R?V_zBCfAS4B7Gj=#!#0N6j&@+0K +0F%^Iv_E=5T>lF|@0Ec;!mv<(21t%GpCN7dS+*df`wUL6ke;r3W=$xsvJ@U|-P%7zXG!e{GpWJwN@cY9LWI7+? +6%--*Iv6zoBFb(s4^Rdn=fG{nyg+R0O)hgMx2;+0ZzPCunw?9B=yQoBz9hAGbn<}LGbm60?DSDt9Lwo +*gdq>R<-_~tk++2oaOewo;l&+`bZXZdH=4}XDih1&Bojg%a5A2+S^SLzQT@d;f7aWu>VW{H)W9A|I>SDa|W)%Rsl(S8#v~1p$hC2_+2g2uh#Dxra7#w<*7)A +GHNzt6#PG7!x1Y8A_6j4p#R4*U5T&gqeCUZ-9h$w+TwlY5u4VrBP;U^|Gh!-<8Y$?fmsC&tjLmu}71+ +`q^bCa!CQJ#AS<8B-v^y{2%|-O)3!3{a{dn_k$pmZG=EL8i4!BFU_BZH=iSm5H<)BN4)Oe7Vz_q>a?DAi=+KNkXvO=Xi(W&mecJzI_ +w0jRkgQIDBN>7OwZCqa2aDdHd3DlG>J^7vvpn?R +k{z!sD|vZggb)IwhUr5NkTU$FauOae5^vbr~lL!%}Ya#G*eQ##K-UzjPvY;mdHG=6S&;MQL-#aSP=&Y +~*J8c7!sJ@w?9O3H88CaGVKHPs_Trh2D)gYODV>qB`i5BC$$kS13oCK&03Dmp!=alwqYkF0Hk^^8zaK +k!!lBO`Q@))12f=bE~3IWT=V5z)Nezz^;>`L%@})if*bXmQ^8yG7cHh*>v5=Y=gE2N{iOae|ELVCh>x +=Y11!pxutv0oY@w5-By*l03snyqlBAU57;w(hdvBopw|a!2^pMMrgB+WCro$MsRcsjmR}kxDC2PQ +8wJ`;^Bc +kJVO^M!B^zh#jiV{P*c}{`hDHmzVVcG`>Aet`DN!u-ZtLFM_#j{j-fIu({R~!wq~!jGS_zG@Jz~xuZK +-0i{6~|^>Mpot`A8ioSvR*%Ogy9@MD#dK^&Gtm}~Cybn1SscKa4`OFSDI-xD`ZV*na3rlM1T@LVp2E$ +BneedwvET$w7u8`md?X7B-h2k)LfuQ8@p)bT|cz}Dq3js;s?->~xnZsks;5MXi;ShQ>imt~2mH`#rFD +ZQ{(d+dN{tRjWDmg_T`7JIs#>j1wKt9lT(AO+1YV~l#i5uR{i64OMU5PS(^QTPHcXt|OB_^9@caffHV`B{0g)nW9C +Zs*9+;5|Fmgqt_u``BrOa&P&-=X+5|8$l0U;8vWgYSBxA~JMxJhP)do&xI%jB}In`@5&7up6EG2R +KB=79T*zQjU~z8+0Jg8h%Mm)ZM+4$kfU-_f~$fTMFg2j=$fePr%8+=lV)_4C*II5tg!gsolwU!Nnp%K +@0355L^=;L9$DUb=T&_c`pchgllrIr_bWgRhUgGF!?c{3VA1hoL-_57I}bY@xVd2Q1@^KjDEfycFFMM +awuzqbLmXjrRqH_hLB?N=@1>>^+aKNToymc;f_(l19YHAw!qznzyW~rz5<+O##aE5>kej4r6XtM5hck +l=(iO{@t9FL}Qi7+c^5*!tkz#kvfCtcRqyl+Ycc9L5GjFA3WM}=;)pYj_wsoxKjx8{SO)4<$%#2dbr4 +Wu!uBgzUr7arORxF-r0gJ3b^dcOw3!-qx?)jSY!ZWQ#z^4*lgngTJrfPQ*Rw_Ldra$8k5HwG%zb4ip( +0pxdb^C$rQ;F7xnENN3>(V5gR-Ehs^df=GiaZMRZpzl;-#(PQo-Pv&E`nsmMkNE^R7UMWc88r6@$1XX +%U*a~a8nFlm;|ghF`_slyta?l?vm7J{NHq))C%K_#q9kAmh%-j47{YpvLdwQiE{3`CXMSO)~~i>L!PL +(bCzs?>Ehque9)E=1bAWC}A7;VoQr_M4cF>1KGLx~F_{BN{agt}@10Ctyh_#R;WvVfSM|fznx7CX>ZR +ttv*|ih8)ARgS3VbK0DO8$&fed{ErV8ApsPJ9H{Utj&>Rk#T0RlQg$5{@{<7g>KA8Fb{xFc4<65|?V0hbB=~nXZf}@-_~sP?E|Gt9)+wq-|kTtE@7cYby +Yi6P1H3c_cSbciE=k)6U6^7`0_$-O!tV|6zRg>cwlyWGGv6f$Rk*`=bi9b2{7I*LRGO(}N7pYHQd~#5 +skH%1ePIZTj=T>mjg8HmI+7WY=@yujsH7EY-7LZ0L^l);m^6@|8BuJAIK=@lKl#-BqIpqw??ohr>k@e +7Y52b>%p1hDzQHQARuo>LT$TdIv}5O{!gC1bDCb_~4S#`|W_RiYk@u93__{oPhmPI?%C5@CYZRbb9h+f4FT`_Z5dez;yJ^(M}Z0IqZwenVYp81&vF2CAfC~INp> +eRejQEH!&bvk#|BUOhyvuG5={-v1uyluLqj0eRxpNr4$B%M)jidziLXllUw}GCK*+cE%mT8qw|z6z~M +*>hjC?hTa2O^3Qu=f`2S_8=s?`4dTb8sJ#$nTn_&(4?puoAwlT)1b93w}+&fH51mn6-z;BagE%Db_9^p2e1)3p@+{43kQlI-T97d`s6I$^u3!dQ;Y10 +#r3uLiO_u6-?Z)@RnnSX=jB@7%s2TsnzQi0GX#WvNV}H(m`U`07W~5p!pIeO_T5)vwhDynawcRS}wBo +UEt6=%+8w3H?rRyi4qzLo3pzvBi(b@a?FIWQ`9u{t}<6+Xc>^Z7I*NPdge1aG%e|DBu6SKITD|ZIriy +Baur~6%+qtsy}?_}aVy_D>F^-@A}d8OcbGD|rK2-wM|G@6E_X>L%#a<|=0hc5G(;!Bnml%9aapNzC09 +=~>oYA}ii=f5P`g^!-3wY)^{_uzYiDk5m2@P0wnS)WCS?mioq<`>YHPKf`BTPq;z3;Ur053PzD2oTQs +QYa80ZkjD`11Eo_3OP60|T>9!3;{ezBx?tazzcp{gb=cg;w@gq(>N`<(iZ8Zpi}n%fV<#uzqF>De(ia +_@phU*h*Gs59jK{JtaRkljD>vc`cy1{G{WM5u!;BFww5D4>jNZ)LvnR$_gX2)Hj;!-7P~UA;(MQef>? +qbNy}DvFdfF#ec9W6LDXnp2sWihifCd-&V&b40Z<-H!#WU0R0c!YIj28STobk_@cnnr6-)#ufxsf+M!2cNp^C=9daU~@2CCPR2>f`+2ul9 +*bcYkrnZ;!37R;0dWObpzEG_OOC{@Q6DVasP&Y%Q^&xR{W^ +zGbU(P95-wlU7!oUYPyJ^zS;$oec7vL_*KO!$KF8tvA`r$AN-p`DG;mx0*V+hy^-)LNC%-aZac;yus$ +Hu+Jwn8Sk8D)TjlL;s86vAoU8>a5p01f={ci+%0e)-gOCRhT}gq+9Cv(lZ=;LoS;zKOnhvLoEbeSiTV +0JAxei*~2p#j{S!0*6_KdN@X_8vVBC{gh#fCAO(gVYiU23UyLKtHmfJP=818T7) +Iq1`}nIkD$=mH)bg*Yz&H#(*Oj%UAaaTGkVqn)12Q4N{q(P7^U%#RsQU!H_@B7r!UU_LZW7x^JQ{&!` +4CuLmxawk=cm&N|vCZK|^^WZ=j?rAial+H +`fR}*2{EF!`db}bl?4>9?Z9!ZWc+p`sC6(5mmk7uy@;76s*OLV00x_kfI#_goS|mQz2_aJqKx(joPJ_ +cFn{EUQt9wW8|a5?rjeR>>+&Qqr;K+^_C$2`w-pN#65_#*LTYi1PiHyCU^h7SRL*k?B5fyZ~th-p6rH +LM?1Z^?TCcED6pSn|8gWf9tW3dQVo@OW|KpjkqmysOg|Hdm`JA^P7r9wx%#I+Tu$F{G9^*cZZ0=gQI1O(EVb&!lo9R33k%g;CdA3-JyZXbd4E~?U-*umi0>!047ygPgP@-%vP^20f2ORzVvxU +XF_U(4ODeHKA_#P!ABYWJ^Fern6VEJ(4K=56R?W;^EhTxiHS+3_kwFR6SC9I-qMdN)EIc-5Ty-fnqkc +caUiA=$$evMz024%d3Z?5rlo%*UT>$D9F{|!(}0|XQR000O81Cd)<`(SX~ +BLM&a)dK(k9smFUaA|NaUv_0~WN&gWWNCABa&IqRUukY>bYEXCaCvo;!A`^=5Qgu43bH3n8sET!rXHG +9n`}L4%!CS?pcFPhjgN1;EHI_Gmonc^XP{s9Wb{Ptn6S=hBBrx8j@(pa`MvbV=ZCI+dupI*hu32dZBy +q-H$0YbKSbIIHUBnie=*KZXyq}$4>xux0X!IIAsMK78oBZ0Q!}pU#C_$D2!=~eEeGnHDF#BFv=0QkJ| +mIhn}^kMDqy=~NjnxsV4Av3^h=v?jVlr=N9hLI7Fr{iI?wA%Xp^r~z8Mg{*}_u0H~Az_C0000$0000U0001RX>c!Jc4cm4Z*nhWX>)X +PZ!ce8ZDDC{Utcb8c}pwG&sES%$t*4@%2&wDEyyn_QOHfq%;Vz9OjC%D&r8frjgMEbwN+4xj|Yjz$17 +QJDF6Y8qoK(K08mQ<1QY-O00;mBky}|xI&Et%EdT%(!2kdp0001RX>c!Jc4cm4Z*nhWX>)XPZ!ctNb9 +8cVE^vA6eQS5yHn!+@{|XFq@2cd=%%d}HucmItP25(ishwpzZRaK#nUWxzHAU)>R2;RZ|NZO-00JN=$ +$7MM&N^DFjY$F<8yg$@1z_XeU+%A}^8O^v@5}tPSgz~qBHz0w9v91XnO-^e;L$^Il9urP +TEcfI@id*vypl7q%4f0^^|cg7%VY}ws4oNYqb#em$i<`hf#_j@NPUX>e+LNbVkH*ITI5A7R+R)0X(i@ +qCWU-6mCIVBxtJD{@3>GKQm)6v=4(aFW=_*|TxiN~iWP +evD`(-V05MjV~|Q+z)pbsEy@+(ROB!QtLe2!0AmQDX +<9sH4yLyJD__l7TAGB0bHcZBw1RoV{rsj$Z8lIK=HMt(IrHfKodDl7EtP2N +#KoXf-J{#&L9B;q6&&n;?JR*3t)p8;ss3>R}xt(7Nfe_0|+x}1A4FPi$JHbyO-h?M`)39&R +S}0UrciTlJXVu+Jcf7C!}$Nj4}j=<(=36}S84}q^i178179S+Ksz9MN`6dp`*E^Lv)MRbEhbXE)i6ge +!a;!Ptf{V$YP}c(57gDrMvOjZ>5Xg(Pm7t%VeaaN$InkjKZBJ2=E>*`dRbI4Xy~*A7K3@%i>$BFKt%U +tJ&pQY>G}ED)6v)6)y#LQi26TECs_IPe0+BN^!VufcnsR-_~ht^W2A3Ufy~S#Of?|#y`i`$lf24!F4Z +JSaVF$A1+w&49BfkdqbCvQUZve&+Rs7w(zI^iAvDzZ)qp^toB}OWPUQtqT)fA?A)wE5`4#kP;GL(FcZ{od^) +3YCro{s+i@e?HG=n0VTHyYij$f6)4{FPK4!+UIsD3j%{-9Rc?!su?|6Y)2$4chk_`eka~7UfOFCID71uVu!S&%Qf;Dn1>E&%{ +qnkuZ#=^-%S5`Wmi@Rywdr4iYR>9lQqmegfa`#F558gXvwSXcVwUx#n3dP+TH3m$|DpSjQ9Iq0zGJg1?E4M=)(*%t?2vN!PpiVcMR-z&DW +(W}CL!D-3T@3;~4#D62_|E;tlV7c9r +M-`}*qi`x%K#NrwA2WqF5S{iipN74F{{ABkN(i6It!$2pX&j`R7nNuPhKbfw|62-mmC{urH90!7NdD% +;6G+F~~c@B)L(!ac9I;6l}6;_=W87RAI$O!C1byfTF64c^oF80H$u#clMPcqby9Bipp8S0|F5FLO-u{ +gz0z-`*95h6_7;G=1X_*`tLr^{JYb+=7j@Po^QIxl*wY6Xt<8XXXD_kgn3U{FF<<#6nbtJpI0i{Pro&Y!#e^%4uOI{hR~4&ric3 +!A+!QTtf0Xfs^B%&NTy{`VL&dc(`BamqcKU@l{aC#UK5~7!Jfk)7Y6d|CMpnOabFSW2pYq9Ef@qR1kkQ7teB{1#YD-v33Y!r+Q|R!vnUU@P5G8!;o8(#ot#fWedF0+O0 ++q{DEom}%l+ul3uZ^YfoK{8Z>w166!uVfh}wN2|#yuUC;~z3233o0;a*6M9qzGy03d{LbX;JD|58#ju +?SQ~EJHo}SyDg!%LhJ!)H9R#pq=&(DulaKmcF4mX%67+1hYtfU;C#jm*q?P!tw3Ubs!5{+}a06f~CDd +t-iMa^Zt){m-(S+SbYY^2YR@sV-W9hGlDd`}A9!ZAPEEwKA!Q218n7ll(Goh-&n3=!PCUO=(Y*FT77` +1t*gKX3tf4`mDlcu&$93;rt3$+)kSr+`owz|CBkQT+j)ZJ*5m`hgx@M=a8x_|e7_wR@JyOpV?%{iwdC +&WJxtn-MRQYH2atnR>LnIaAMxcJ*+=cLdV&=(gk3BdsAcghsnkos3%y37j-G&;nawC-59P>o1!IzRBF9Y-+& +tA1KODa^)~+@#lg88|P>tlq=8Ifvosgk*r}YwOtECDvgSM+BuEX11~Y=KfC*iJj`KB@D$;zoDC>oiXlp6XaH}!^(Z7?0dEuimaB4ERE>-2mQ5)rh8numqi7~9H% +u!#YTm=&0INcubRfVE&b7^!=9ah0CY=teD6Vfg9^#1jg=W9;o^a;2L1}xFeLfI8siseow-*bQBW@Sl% +&zQt81s+`z=DY9^DVx>T@c_JyiSW%m8~tFRM5=K55?b+-CbA9^BK?uP~HIfCeTt{uT6~Y8w{>&^%3kz +)e#|L4?$e7py$RnVDH@a4=~olDEP4*YQvsGNIVQn>39e&MsTcyd)$-pRV*U5FIi<_1U}GAU9MCs8W@T +|4UJ||vRu+8o=(u>v-n~B@NW-35xvJSyZXARwuCp*{KD$iTM2R{#0{{w5#%9?4|QntARwqQLcFu24}* +9YS?^2xa0_1`UB8R~6^RjnPI(`9kO4VjBNd*V9ba7hbNoJtA**Sb(#DxTlM(~N;s(5l{y7ktN@k|?qA +&D@m2?K}AkRf#=(+P{6C@!7s{Te4z}5iB28u$di%0oi6m5D6Sc^ +t1Ru)DJ^#WbN@38i9~E9Jc? +X>J0l&37Fm)$6f=y?8M=%n9hgX2st&-c67dxAxA{H$YEt0E-d>ek3rPAW)KlnN*22%?*UKC@PI16UMM +PkpfKx4tt2t<42_Ol@0*u?~sP$vo3*j2wM}1%%U6gRiLj<_eR8l3I*D&h!JYRqoP8xw`BHB8c7jzcxo +cSn@Uj|Cb+Q^Gz+<@JgsRgO3*ASP{jc+7ftSJ6Y=O8!{R`*&Frzcz;6<#B^rQPW*Tt0uGPo}3t*HJA +T`3aG|(N~$ufvH&=4UIWl9V%SHP{665}@AHu!b8J7aWuGTzO<>wDyyA_I4*jc2RH7um*=SzQ}zB( +EbUIiy;db8YirmzNHvxGyVE|%D2#1VkInR2XOSp>i=P}*Acz}r9IXk=UT6Vctq^{On2A%bNGr)EWcP) +VdL25NMbz}nd#I4o`An_;ne@2!Rf0sLvh;xw*?1^1)ov;Q9B(xSc|7kf6p&9G2?YkBsM92KW+H7H=dl +rtKSJzHV_8;(hf^3A@s8@YLv9f-J0rqb#Xt}OxbQ5lQZKSz``9N2-{vcC&WyvGhJPvwv*1VOj05YU|w>)V#1_6XDw-$hv{Y8@AS) +l3>c;Er_R&*##%WRF-tgyR|RL7cEtAn`=Ot<+NPPhil6<>A~u{xXpEVzH!eLgDTG;j+MWTT^)uZmjue;C@lM2|s@pKj`?%#x#_1!BP=2?5Mg|nZKfWfnR;l^wm~$Sm-0C$nPF9D8a +B4Z|w0=)nkt(D8ASL``y|JYG{oUZ#9Ks<)w`q3G#s!XINCw)FdIq+KrCl16%SbUj!EzbF6L_Oww!5wf8+mRkW +>jd?F6~|SQ+HdMIxvr{>YJU7J+jyCnAxzugWYLKOE;KOR9dEwsSHU#I3CG!iw+~na +EEDix4ez(66weGDiSm?}J)gFiBRZOnXYD;G>J+^)?HajV1<=_@y%v$Q(cWmpKb3lc$lO~}Fa!yxwp`V +_5tGH|R)V$(rzpzb|1F3b+9&aLL=8ZCZ>$+4m?Gv11<-$M8gA&g-MO|bLo2ptOj*i$u+6!KZmOLyv$j +9Ei=eV&51YB-nUU|7-Z$7@UWy*O4*emX8P+g;q@06T4Wy>-kG3i9*VgO0+&}pSuvDC;jvraxnOoL)M^ +xz#mcQ=6h6M2k8~Se9$kzW|WyAkeF8C94NSG@;+4#X2BXlbFe>vjMQGj7iU}f>Y4DhZD(ERSk3S0Gfd +)VAOPZXLf3g8r#>S>Be_GaT{SuAB)ueT?B`T{e3sVF!mUGe}7v1q+s0$cF;d(&gU`^a8``iHK<0Rsk9 +HLl+_jmMX`(R{w*pa#K~&B5^7G|N=xhXZU +)?c88AW4k9!7zwAv80@DMfcGky%?DyWH2J$;yg16&uLhXd>lMwBlOmTxhYPSyJf2g8@=(B^bY^fo4i& +-ze$!X7X}OsEGNdG8qPWd5Jr-uddSM!eKisx)Up+3qO@7f~V8jo45K;GkvvB)eWj@5Sl$h!FR>={3#;xc_@*9vP^Rx!MLvdqOd>DZ2W6kMbH&OteU7(%Xg=u>2+m1DK0bnh_a!Zo;0~nODw79SS +usg6(?zqFp0UF4@t&f4g24(L^t9PypOja01d_HECAHrAtHQoi^Ab-i7g;)^Wh3T4D>q*S(j58sQprmt +@QVd +oE&M8XAh_$_6}On{hIVOJX}waZE^p~ThTa!vk_ZaSl*y~2c%a>hGZHwxzDGkg=xSQ;zhhi^<0vgCa%R +pZdhPGDrKpuj;2Ap0p!cAr`Rn3F?X)C#0W+{s1ezZk5oG2TNd)th=F@C7lVgB3GT|ChV(xbErqJ!Nkr=b=V9n#(iHz0Ji7-6{}{W+tK=)2>7mEhXCD +{-{hVt_S)ZJWI~*+Es~86YJXawB+*s4+U*vJuWPbpz&ftVNSEGZ-!4Gz@I^`Jfy0OcR*>wpkK%QYGLN +z%?6Q_AQ`(+$fxuS%p7}wKv>_#uW|&m`9I!7Sg0d@;Ss3TO1r(jV7ontAK^3g_2n>4FS_joBo1>T5tz +hAg9eqZvHJ{qz67-Oq?dv3Rw*kWyZxWVZ5p2Sf0px*qVKw$0koZ3ZT^r=QnB+E_9LR$Xgul@q#?5iaz +7bi9D?L7D{zt!O{)(s;v=S9hXc8I{AHt^L2#Bpa4N2Gm`(VS8m_gz6RU*l*a2 +N6Q!h&YC%44(DOWZO(!C<2|EPVJkFEoPo7zL^;wK*?VlpL~Sa&b)y)XwAT=$TCthzfYZra5+qziy$UD +doZl$QXNYLehp=tcwaRcTFq4U_(_^GShA<=?sSZ^()^o7x_31Cxi3^fO->6jGxj@-xCcd +zxdm*yh6#_k;%N(#Kf2FWlMF1zfSoY>BQy=z%A7GPEY%RQkG$Eg!}1{@4YXslK}ddhVf|^Ks+w$p&Ag~p0AX|)8+iezTChxs`9B6Jg0s%&Vw#~biksiSf(X0DXmh+}*DZ^F`)z6+kN_y +|zZ0v5!zQzZLnS_M1C_by_*LwGw1&KKhi;%5n_7HMpsA3%L_?IHhd%EyIM3h4wWsrd-Gw7|Iz}5x1s>*SeP88U +lJsh2ln0)gc4Vmop23o(NbUJT^5Zb{^uLO12d1IT(l~Wo{hwWlPS%be3 +O)t&s~t9f#aU06?VPXLFvArMBuewyhWN0lDf1QhAG+}h7N38-e_^l27q1Yxf3X0h|nz;?YBUcD8i9gE +jh%C!nd?$2DGCl(^y}I&`1J125(QMP%Sh=dzN)T9+|C{?H5Xod4w)e*o#K2w?{7;5db>+YA!Z$<3$t% +Gl5OJCqSPB_hiah)CNokAuw4v-pzwMi*2`_+wN`q1?%+q>%sl)pG?V +{Q{yq?1#lZAbl>=Ww04(lN6|Fa$D$tmFRp{NON@|?EYU*vMq8>O^LqCR!j=g=Cs*3+QSk>QQsO$RggO +vlD>U90Uryz)Cdz!A9h<3_`pEC~T9K*5YZC?swC%&)vyQ2ODhing_}}rn67?)GSo@V+}Z^+|b+L+U^4Z(p4K +%D4oTWKCjo0)!lo&NZ|EV<0!b~PpuK54S+!d%QBJewtV?dJ6@u6W;Kz{n;OGV!vO*egnuj4ruJKV<{~ +p_MLB-I$neERo3IIO-FnXyF}K%j!o%8v^anJrs@jX-G#^EKPXYqQnt3iWGoC( +LAx!L<6d?C2Tc!kcOkCA?rV%aO9;Mv&f*kj76Y0_DXLHd+MZAwWU;R}*UJ-O7Vw%OkBg37Ny$1u$T#Z +N3>o>iZnMRZ@dpJC7()iHsp>QXq|Lx;~M70}XTqBXZy_aq4@Q>KK82 +jd*I@+rk|MKR6UCn0!$Tdge=A)_!T_&_T9}!aAZEwbvF?`XSLBaT0&ITSNA5Qp)6}Z4yx6(oXy9Ia9+ +B$FkDX+D`O-^D2Qy?`uF+xTXG7(koVicg}f+zjx7pl=KXXX!JB7mAv!LnvuJ+SwD_>U#4S+V9yWv{IW +gZO@-h%fC9LZZ`xNd&OYwHjK89PzcPP#IsxV%?e9NyfyMN`XSLk2+f>aq8+K=ngH}|n_^K>c%c|G5wi +Kh-K-gsRK(QI+)rv@?4IBf@&EK_=!*(&K+-zpyBvFB#?mO^~pLQUGi0Y@!GXgT>6EfHp1Par5M!lm7IjSohEUgm6=d4-jyFZ +v`<>vK)|~Ug^fVO23C2-hL?(9H81w3o+4pj7oiOvD?d*m$vDsFQjZu!x^?WbNitM7v{}xWPn>NWG+Pk +DrveyFKXxyC{4#94oKpJgt#c_7n5ouRKV@52JuIFivb66Www(ik+@go+c_ND6445| +?QEVMjeh=UYou?3d}-PY%4RYp*cjN95TSDf-yvI$0rvjIFLvcE#4kmC4H+op8p!X*x;^Dn?ae550>ukks-d`$Z|c$M&g1$F!LiWA`r$hpx1S_ejgR01dA;>@S +*)(EEx_u0T`>Q+^E<|?kgyJ)JDlKY+7+Ms&~Xh)%JBT+n}g4Jj3`$}E!(hK%hn%?|8TZph#Uq_zslqr +if32X@K;R#=P?@K9i8bLZ!ZBAk8iJ`5lVAErnN=A7qN*X6*rO=&T*BnN0k~FWH4d@qBfQE!%jyvhl-X +(n%4vBVs$OEj8-b?ejMyM9;KN`iHX2r94KXo2M0wX-I1g=mt*dY|5z22odpavJhf0|Np&q`HBFYdy$| +ytOr^hMXjNaVvN}DWkyjUeVwRf)9ycA}?W`$X#+A!kqM`=}M|!!$lCqx0eU&IdYI^ait|IzG*{ +96J>IT&+y~?R;LwtKksI{^h<{~jjo}dV*Ykhl0Q`<-X&tG~<+du4PntS$`GIDO*?M&3Sn2&Sze!FQOY|xetn0cx*{o +h-&VJB&PmvC@MwyoNmo9`gqs5Z&9vieYhO^GKZo&F%{!({D{I~$@LTcgdPG0-XLLS5UmkiV70k%AoEh +0yP$2fBhs{xC4lZ=N4CJ7ZY4nS-3jq5H_8GmzWKnaDpPf +cw!C)juxl4()3XR4l0D6!TRMv*C%4Bfq_zqQ4312~@1wOl=2cDwv|*CpsXMVt;#Y={?&@AKruR +8m%2XYSM((10UQ8FoD-9yrM7hcMY*e6Ed9ZQZ{Rkn5BaCR=aysP_LmwHK{y?rCoxm> +nKG551nX9agl%Blsv!C*T0>Bk_MRB@E7^d5V&vC5G(Ah&QD4q&_LF>rGvZyLN`t6Q~mgM^Uq@R*z{Os +uB;`r=DZNk=cwU4v-CkI+8+8(3!Ni4ra@FNn(3^PSKV+>1!E_W1rJA8&eJdvX7sskZ@cSqlzoSrqkJ` +cj7(1g48v%$nLq-rDes`cic_z81)mo@biJP4W83FqIT^D7A+m*K?KHT@qWw-m-+W^Iby(_Ct@t`M94U +C8(<7LQ@#o}LfHX_-uM@#z@vlciHBD2W2VEKzj{ybC<1LxY#7AnRhO9N4tPr1EWN$_##tUG&t~CX1ij +Cmp{?)}okBS0&Gz`#@)%vBd0v#Bdr5vX5#v|C$C>QBr@iIdb1wBC3EkXi$@94;=$Kl_`1W0Z4?voHFP +b$*s>Itp({aYNgQmENeY_0bmrO!S3)as58Egpj$5XFE+MiSgLg*aDJBkVY(>5P=wtdlo{sp +~nLK%8b3GO!L@#=2=Zt6$3)`r6hLuc+$w_Sn(TA@-@*K=qkqK}z`Xu(#SmP!_OccjaPBviT+ZH94-7=?v#mL}jBP?eEs-2iqO;)|FKs&3NnVLg6eCv=dy}y6!4T1MQx8oE57XTlZgx&xUyWG +w0}(d5Kqq(8!Wc$Oa;q>9LJWG(`ZEYb5eW&L>iJjKd1sY(>`w+6uE<6|8(on{A$f8MS7|$?jpxWQ%dy +5vFXKeCDN0{gaH{4Zgm{wPWi<$WzC|vUp9oiR|)OO$ss6-Wi=hcYsRm{OR#Ii|ha(Tluno8>9Z76*yP +eKD(BSIPRPwI~=igA_}|3$4rEiH4agm;>`u;>u;`?p#4F3nLH50cLf=e&gk6UI&n|nMN@dsdNsU%{|b +g=HNm5P_xbkZ1Mbg#^$+FdtnNSj^ifBYVSA{fgFr}`x0@XlbtaeYE;B{H<9PlMLkx1`7Pwga&=H_-N2 +h#lZ)e%3wXx+(2t*Zn%;`g_g@T$2M?{qaaY+|!HupHo5*%o;6DNp&`_&rWzWiTAXV63;;G%@Aq;NX|4$Z7TC7x@3R%$5L5Wr# +PYu^L~5ryZ0`rra=H?=r5-mAV(p!M?jy%-RPswY09xi4N>1yh-g4C0{e|@Z`41{$~|sq@Vc-qMNv!l` +FcZu5F;u>ixcgqL2nmQC2A2SxnQqNyW_+gTycKY_(Wcl)8#v_VEHKj36KWbwG~)7_X}5oqD0BZGh1UWf1(oRm8c_ +IPaaEH^`I0ItN}8RHteiGY&Zosxx<1n?B5r7OkC6)MRs{E!@y!^*z**u8R^W#gwBgVJNUZ9;193k5z1 +)h1K4F0Z>Z=1QY-O00;mBky}{+00002000000000R0001RX>c!Jc4cm4Z*nhWX>)XPZ!d6pE_8WtWn= +>YP)h>@6aWAK2mk|-TUmv8x~Loh002<~000~S003}la4%nWWo~3|axZCQZecH9UukY>bYEXCaCvo+!A +^uQ5QgtOMYAVOHlB<(54w8Ti!Wfzq?7?h%9NC{(YLpu6xv~6LagDIPtxQi&aw@Xb#0|XQR000O81Cd)<6>&;1fG!EKhIAuPR^t(W#AQzSf;jb +5`x0m)SHTl>#flfu}R41y5eZ?L#0_MC=Y@~Ett_>%3}K4u7|gn29HMYGugBx(Ft1JAF;FUw+bBPr20u!Q|PKeSnAz0_+Xh1V{-J`1vy)8G^m6yp|2 +*^nz>lv70I(kso6G{q)b5rQ50SZRaXWA$el7-QIT^4&3yFZ=X?~VMJd-*N6vH{2W@|%)GqF>7tpm7WH +}loWZcO6WuLTBixa{@xStIwuCg6ee7<+$V$u7zQ3=B#P<+n&ptv?V7ny`L2u=B!g->pK>J4@rNXYjk; +>ixt#nMVG?$K`vDHt|CLSB~q$#q;0TuTWGTcv-JQ&n-MJ;qyUjj@_Ij1cOev9@DptLxUsiqE@;MyUI7vC4fznI{v?E3^1m&~R)?# +ao8?(!SF!JgO~<@WPkL*2;`!zAv_XD*)52xff7+N()&Y5c>KOpZ)4CjXF6}d +b_l0WMuwXmncXPkaT;mB>oo1aNW +DGlsCVnJ5EZQj;V^ecWc1vy|nz}JPPW{KlZrhRMZrguzH0QS=TBj+e`*YZ!xUc!Jc4cm4Z*nhbWNu+EV{dJ6VRSBVd0o!23c^4P2H?Fc! +Jc4cm4Z*nhbWNu+EV{dY0E^v9(8vAeCHu`t}6C4CGR%?{=@Y(6lPo8E9@9C^X-7ZLxL`qEJ{2(!k~uRcWULb+g#0Px@u +CFtA?8VZNZzJ7{L)BG>GL?xXuM#e!d4DUgCx!=k2{^|JJa!G92}6Js9=OW22Aoq!XzU!isZT;i(v(_pRtJMY);ZFnMG_RaHWKh0*;P}>nA?v3SWiUKz3E +(d04U-v@qux=s^k-ko>!V#}$inK`3w=Cpi%`=OW~QyB%eGPa{6R0LIb;#J&qwO6FVukI4f-1$K)V9|F +l>Py!-ckV5Q=_5#$*9(Tf?FPV)6xs=erZ1h_RjPSKY%vnfWOX>#c2o29Cy&v&c5pWMCV_0{;TGS1e87 +%RAIgN)n^PCLSDm{dhnTun(V%55OCVnys4n;oFs89yh^*+RRaq3}~LhoUy#fVsfvU; +$kX-jHkI|N95TdQP1*0@-|D7Xk@N!cw0Bg=1AjV<@S9AM2yw%#MkK3B7Q=Gy260}lrv!=5Pj(g;Bn=A +uLMwljBs%&cmQH8^*%iNJQ|$-{-@Um&stHK>}v%|ollkLM=W0C%dUJFsVFm+bQ~hYiNiOj1{SE1me*3J;7K+vLb@OES5RxE=!qNqJ2M+Uo9q;ovdih*dgrUx2}&WY#QKKDI&uV|0>9Rt3=w}Dfck|>GU1GwBhu +z;(Rkm&H=;(}mEf&=@1eS9J~3oLjccrHwWO;A124*@)|%}`NE9U*Uo7)pp7bIX=1QrRzH +FCrSw3-DUeB&#wCQ#&7El>+`EiW-yK^Ozt$=D%Y9s!13-OhLS}4}qH7v9_2S2t6R|pz&ZU1vI89=@>p +tLW*PpfHM&{z_^f_h)MMkJj{tha(%^GyOxQJ(E!`q$rzxg&qbr(}39b02Q8nCtZh^L0(!OjYKDEg}6{ +#&4J^$OF%pghvrufK}A;vje)Pqv5)$399^@(@3`oEHf&oW&vll2oR+gN%mAHKKPSK%M?M)gGK+0EwG4 +^9Ds?}Oz5_wF0JhPzd`=;DTQunn%r%qTakD?I#mQh&%BkwB^74>r|?L(JIUs_je95+Iu!4U +0;Tcm+@7!m~RW-M0Q=mFghJx;d&<7o^jB>=nUjuvb%pgt-&Ha-Vt%w55;7gF!H|(m%|GW@9jN!$6}iw +h)jWIhy!B0$sBs(-Q35N)kWGT_dMqwBsl&*^PDqTkq(Qs6VG&{v%NsbuOyfRC8SP7c4iZ=MyIy0<$(8 +B~0(u^P5bdc6i(t=qwl*Iwg>64{CV%-=*ib#8An9BXZ(rmN9zgplM5}YM#5_klZ;N3uc$NpY)%B_Kq6TY!O +}wa2UvhWzTqK&-ij-HaR%?;cVm@fK9!m$J!1$YV~JhqtB)singCK#_o)AcQ@M3!V^rWjnUHv#SN3)L{ +m@E^a}%LdDxezlR-EeSrIBot6sgKXn2Qp1a9YtvzBVJHGptu(-dh1r&`dMdOixoefv*{a(8Rr{zBun* +tLhr3?7F=u@VJby2G4_7@`11Por8jZ>rQxR1_P!L!#oL +?PtKV;bZJ@C_OuP1$$*j$bm7><1U3tGIC}V8R5pdZcHM@3W$G3IULmi5g?D>)!ti|l@#=lZJZ+DVT@; +^zZ8re%g`^v&C)7pu0sBtJrLWjgXsWBX|K6)v8J!(azmNT+?MZmd{Q40gIT4H%=t +tbJ##or$w8_Qy={->)M+|`jy=45xB|Iwe{~N;5NWx%)0K +fiR%}}f-OGqhDI0*AZ)$tX=TL;`Au6P2IB>vMfwf`M3*or;<;xzqRCrXDrhye?uE6|p|RIHV(T`-Y|S ++E>IRCYjk`2<)VRVJWOOZ!^6?!m#qJJtiZ>c&ZR-d)~7(Wl}x2%uoX|MG-h>{SXY3xjZjZB5V4rS&wo)EqE~NJ4hphn)T-|bXpHZXi)72JTM3(?AZR4IxZK)M*!5x +}=gmyM?zN`_^fstX9Qxt@`ioOqDiq4H2UiaXd6boHApQP)V!&5}u7wAxf3Veo({ICD!qbjjA#LygR&? +?Ykz3K>_+wT$`@>oEs}MXU}$Ato=OG0c|~k8F_}J+oi$4k(FrOq$K?B~0DlEupY-RkXI=AY-}q3r>zo{lsx~qlcMfGo{noGmOBU6 +xTUgRkZBGeX;?zU_jdux} +!6>V7Vz{M|;cyvwQMgRbxXj`(0#UY2|B5DrR-wMBp(ynlU7`u^heYcwRgINjTo6^ncOu*#)t{CKl}u5 +s#y^Z(U;TmwUI{d!(pe9Km#m@c74S4$*xZocr&~MA +BIoh%W&TR;dKh|YR?@>@$u+$Ch%$aii)pK9QG`;=RnU#pnJsqkKN~-Z*lLQ`n^YSwLbEPaQCP>zubq% +-eWyD(d|Tc@SvA@&}WtX>2vtu-}RsHuKE4Q=6927x#jWTN96J5KK{xi-u!xfn17GNi{bj#UI8B5cf~_ +}@F4PsXm1PLIXn+8%_-PM*dKNc1y%@gK4fEM=+1|&96OX^$qr7;J$XAK`1bMW#NBB{KYC1}MPE> +uzF7RVf4qI{-~Lm^b~E;96~E47tkahySZDAyOmM#p*S0H|6NR8{ +`)%qTRZr2E@D%spP21{j@6A4Cv1+ktv1@T?acU8awib^Ro$__c*C}78e4X +-j%GW7hr+l6Ab;{Q%U#EPX@^#ABDPO02z4GPU$1<<^7YEsD_^gCgY +pf^Hz?nre1q~0$~P$ApnQY!4azqt-=KVh@(s#2DBqxbqw$~P+CsC=XHjmkGF->7_}@ +{P(jD&MGllk!ciJI^3BROE8i@9V+~r2T1;BZS}aom2X$R8mpwPe7o`;%6BN=p?rt(9m;no-=Tbm@*T=|DBq!chw> +fDcPQVX1gA2Z%4jNusT8KzoHYu{8UC_6m2YO!gtYf;3>??~n|!hILtM*821L5 +op~NsC!;RrGAtvrW%-Jv+2GwYapnwRq&tAEC=PMW;pO`wm^cxz#&#`L>v}sC?g{%eO`4`wm^cEh^uje +1q~0$~P$Acj)p>@g2J4@>|jAS+7Oq8Ywc&P{i13V_4cCPUi9rQ`Z|}aMSY! +%x_8m)E?V71-MgrJ7j^HV1d9@^+Fn(4@2c)y)xE2_cUAYU>fTk|yQ+IvZN6&P;?UyM;?m;QqBdVmo3E +x7+O$HOR%p}ax@rA3t>32g+mvrpzD?`5Y5g{>-=_83w0@h`Z`b3Qo+qHhX)^AsT?& +{B7`F7>om2X$RUHNw9JCyHGzC-yAd#Z(->L8KRK8Q+->H13zQ0TBcPZbc@9$E+O9?LRkCygFOZ%gx{n66?XlZ}6v_D$f +<819yw)U`Fd)Tc#?A9K3tIb<&-fHAlBexp4wbR_%if*liqyBu5sxi8)mfZ4aM2*YIC0?Of)=9 +|lin(8v1qYsv1zgEore~u7MB*c-b(4~0HJuNMdj<2uUEc4X)$ZDXi@q4rf0jJRla`eS>>zag`(qyqEn +qkr#g#HbrzlKEIQR$bgHxHRAMT0dS#+wi=u~IXsm`KPokgcQi%xYGo$4$))m +e0^v*=W3(W%a&Q=LVpI*U$qmMBebiCTkEJvOPwCiU2)9-Gu-lX`4Yk4@^aNj)}IE$SPZ)ML}oqQ0R?J +vJ%dqiJI^3BROE8nbqv+~XQhGuP%vhvOPhGylfW1OO6oKlppj&Vv+zBriNT^1gGDC>i%tv{ofs@SF<5kBu;|2K(TTyL6N6->r +PN^4-dJE8nerxAN84tY~ajG&U<+9cim09d)Fm9njGZ=x7J@5!aR9it^m5v!+#NO{>nDR-HAix>#Iw*0 +ef2XlqdjR$VNvx>#IwvAF7Dan;q~s;k3QSBI-E2UlGVuDTptbvd}|a&V0jMGhDSDkXK+8tNzj;qc?-#F=ijy#SatEV>f&kD#nY;br&SkEt1g~aT|BM2cv^LGuj= +Gp)yci8lY3Ps_o`0rRh`_cI=NSMaL7HPm!!sOi*D)2X4RQ$tOshMF!1H(lXvy29IZg}3PnZ_^dtrYp +QnS9qJIfi+D7YgNtAoRg+mB~7zR+SFTVl1bABs_6uK(|53G?RTx;uJzlsLc3OI*9z@gDP1e2>k594xU +*2`T4h}qse8d$siUqs_o_y!>|JH=DtlMiyUN}*x2J1vPoGL(>!@oTb*-bWZ+F+XyX)KC_3iGcUwylWR +`<~Q9XiuHw7Q2@_t5uu==(dgLWjObL*JvJFV4^xXJ`$M`O>01XlnB{H8*}L->DPbQ|V8g=$_gHP4)Jv +-ad6YdaCnJb^fVZP1S0uR#UZ_s?}8IpX%*XGuh_UJ8Rf8A*_1rRF7RM`%*Vsy85uR7M8l%Qa4-bW=q{ +{sdP)lSt`y_ah3*wOJlR8vDwntY-upIbiEy| +m+HLG)L-saZ4&8>NxTk|%z=521x+uWMBxixQdt9x&4a`)6*X?1Un`S--Fl)lFNM`r?$&IBHVrzwqCU5%%>`z3Eeh5m?3T5X=;_Go +gYm*Kbm%aH0}Io+WFD6^P_3!N2f}TPL&*;Dmgk;a&)TX=v2wksgk34=123)kLH;l%`-omXMQx#{OEGh +(dDG0%SlIaGn}H4W>QH_AuL0sI5_2k;NzAHY9=e*pgg{sH_0_y_P0 +;2*$0fPVo00R9pDBlt(~kKiA{KZ1V*{|NpO{3G~B@Q>gh!9Rk31pf&B3H%fIC-6_;pTIwXe**sm{t5g +O_$TmB;Ge)hfqw%31pXQPGx%rl&)}cIKZAb;{|x>a{4@Ax@Xz3%!9Rn42LBBH1^f&67w|9OU%p4hW#1#XV{PUykq==g^yc?eFgRv*jHd*fqez` +722oqXCKg0$Ki$5v&c}GW=)2e+KwZ@Sos6!GD7P1pf*C7!P5 +^$zjRqmcbw6rH=7Z$9M^AR=2GDhfexCEH2%$M_Ks}%ts8&KMc%244oRk<%V)cS@~cA%MHAL1MlC^FJ{ +~_`0F<_+$hik^AiK(?}7JwRQ!F#-*^0d$KQA8sq=WZ4E@l*j1E0I^ytuIqrNuozj6P~zlVMY{599YP0 +c{P<%RM_S?@nFUp52okN$6Ber3WxC;W3_zF=a$U}C;t>YCCmCzSEL#phL&8_FH!fim>Oe8pVQb3xAyz +8m~D^xNRO!598CH~7N8Cj4n0-2dQu&7paJ+Z1JovPU_f98pdvXOs)d6=mAjQ64Bylo!eyWv#yje_ilb +tcW@+i8`!_-ZJ>Ze;53B!G9P0cfo%b{CB~B7yNg@e;53B!GG5VfB5r)KQH+6fwy0Of4pz&fd2vi1O9kF7vIkV{s;UI_#f~;;IFwb{-yJ+x4gcckGpLFnJ09yBx9m{%C^?8~$d{1@z9uy?`U1$!6l)%N3-Gs*?!igH64{1 +^By@L%A+z<+`N2LBEI8~iu;Z}8vXzrlZl{|5gJ{u}%^_;2vv;J?9tgTJ;Pe&YP(d2L_((($85d+gC3d +$h+M?XgFD?9m>3w8tLpu}6FC(H?uW#~$smM|GxAEaj@NEEqMT69C>N9~$_-`MtMe~C>--@f${po_@Zq@d`s%2!j{534KI>iQ3vbz@4109Guy;*m@7x1}^_7nGl#cb2j`fp{^^= +bEk&g9|j`fU=^^DHVF&*z~$NSnfzPz_jC|8s<-*f0!5zf~2g&SM40;2ZK!K(D<)Amv2y_C2z$CC}`sNh}z-HZU>aimMI_{?9Zd$r&>0Sh +A=|;_s3QI?Iyu$N}z$+qwL?H7Xg+L|Hc#qC227$>xS-fKN3hL3QN24B{hV@Qh5TIe5hILfb$3DPsUHf +AvpkCn#1OkyjB9I9b0+m1`&Ea~Q4dEw9QAP2!%+`MJskCL)WcB^M? +D<%@YKUo504gidFr8I%^OGrG6D4J8>tQ#K=-;CJ8Y~by%3(b*FpaI1snlS0FBZ?4*KgL3H<_@Kp{{GG +ysg+5m3V}(A(K;TsB!ChY1bNU7%0W>IQ@F{~L4~je}@}S5g6QHJ +}@rq7>nht6@7XO5r4rRPWj*;0W+f(1~B55@-ZEfk9vq*a +V=d3p72@^gz>*Nq7N>>{z#sHRo7!j@94>1sW8H73Ek_Zcrd3MPGo54JtPIl*y+|K4tPL$W?Qm)!{BqB1Kgv!XI9D$~b`TLd-%kSo~N=86vlB7sDJb}*PI3?>SLiNau_vX +83lqbmET%21)w$0~iS(#I-&tkTCSU8>ThxR=j0wsegRTVu1;kPm)=L?9C=1ZdczVOYa)TyAk(ZgE_0x +j-b42xJ0m?&W)xymc* +cUO>pCH+eJ6)$pcbh<`88ue(@qfw7WJsS0BtlI{GxTop6O-HeW!XOxkhr0$bCQJN4+)qf?JgJv#O1)T5IvgNfP6meIxRWZT +J>@yBGiF&S=5Mi-MI?c&?8_%E^~n@;}e+|Kx2^cnano;!wx392K%|eer~W^8|>BwyS2e?ZL&d`Y)~%X34C`CZWqQN-~yR +IA;2xh7zA9P6Bq<00q$!?X4eI<6Z<&o;i!kB9*%lA>fxw|qaKcWIO^f3hoc^jdN}IgsE4B-j(T|N;i- +qG9-ex5>fxz}ryibqcH%dhoLchu=Lo{IJ2{mkka-ZE*N)gA>R$kS#xdz%F{Si=OPFC%fo*0@ +((#4d1b4?FZI=q#luaMCuW#N2DH+dSFs^In0e;pc23iXD<6(AQDIf_}Ie77CyFo_t;Kg5SRoOflUD0% +ejQLxP)~9Pk?MI*;cZxWLwF$l5Hj1&MW$NS5Oa(aF&NlT_6xZ-FEb1i&I&PQ(22sS&LIyi&I&PQ(22s +S&LIyi&I&PQ&|@n1SWw+U=x7DbVofL^>Ea~Q4dEw9QAP2!%+`MJskCL)WcB^M?D<%aMZ(54^KTj_3+f +gQx8u)JoWI@!&47WJv{aB)WcH`Pdz;K@YKUok3c;F^$64>P>(=80`&;gBallVmq0FoTmrd7a*5=^2Bo +t>>EAUdkzCkEabkDjXL{ZM>o&4(BlU>XBT|n@JtFl;)FV-kL_HGqNYo=yk3>BZ^+?nsQIAAD67@*bBT +PcMTUmY`FO4!qqD+ZM;Y0JsLG_)U;94P6<0D? +3A$6uujuECG3>2Q^HOO8Gm%fAD!_>XZ+DS>0^dd +JJNTg??~T~z9W4{`iL$rKs_AUI&VuTttVSgww~lX$$4_|7PC&9`E;B4bes8foB4E +``E(aZ1i;1Pec2wL)4ISS@ZFz)OXNKw?-6;A$a~-?MBjiT;0Xi*kw78fxw|qaKcWIO^f3hoc^jdN}IgsfVW?o_ +cud;i-qG9-ex5>fxz}ryibqcH%dU)y)s7Ih4fqDe$5vWI?9)WrU>Jg|%pdNvG1nLo}N1z^od +IahbsYj$9k$ObxfdS3N&%nL`Hd`3bYn~#flc552-G7`k3c;F^$64>P>(=80`&;gBT$b(Jp%Oz)FV)jKs^HWh}0uek4QZt^@!9XQjbVIBK3& +WBT|n@J-&1PNIfF;h}0uek3>BZ^+?nsQIAAD67@*bBT^~lsCQ;$ +qNGWE#RBU6t|Ju>yk)FV@mOg%F7$kZcKk3u~P^(fS%P>(`A3iT+|qfn1RJqqEa~Q4dEw9QAP2!%+`MJskCL)WcB^M?D<%aMZ(54 +@W&1e>lb;j`4?M{NWgXIL052@rPsl;TV57#vhLHhhzNV7=Jj%ACB>dWBlP5e>lb;j`4?M{NWgXIL052 +@rPsl;TV57#vhLHhhzNV7=Jj%ACB>dWBlP5e>lb;j`4?M{NWgXIL052@rPsl;TV57#vhLHhhzNV7=Jj +%ACB>dWBlP5e>lb;j`4?M{NWgXIL052@rPsl;TV57#vhLHhhzNV7=Jj%ACB>dWBlP5e>lb;j`4?M{NW +gXIL052@rPsl;TV57#vhLHhhzNV7=Jj%ACB>dWBlP5e>lb;j`4?M{NWgXIL052@rPsl;TV57#vhLHhh +zNV7=Jj%ACB>d`!4>d)T2_5Nk3l^K^%&G+P>(@92K5-!V^EJlJqGod)MHYQNj)a@nABrZk4Zfy^_bLSQjbYJCiR%qV^WV +vJtp;7)MHVPMLibvSkz-tk3~He^;pznQIADE7WG)vV^NPqJr?!Y)MHbRO+7aC*wkZFk4-%`_1M&7Q;$ +tOHuc!lV^fb!JwDg?{_%J7=e7Ut=O2Ii_4o4+{g+?%FJJ!h%RhWv_``qsumAEt{ri9Y!(V*)laKQA$9 +}y&{`vi9-=N_EU!i}CX7`|Fe2cF0pr?F`p85gazxWn)FK4h~?CmGrOJI?aXecc004%tKHu0_G-5`yS>`&&2F!Dd$ZfC-QMi> +YPUDLz1nS#=G4*d$oqkV+8xa9pmql{FsOmS3=B=-Ztzfe8oU(V1|NZ=f8ZDtjs_=%v%y7SdmEw}7)`3 +EQbm(0s#MXWN-9+{sgg>StcsIXaWVyyDws^cq*a`(ij!7xGP{%7oy_i}b|LS?$hdcUHTz*`3wyY<3s5yO`ZY?Jj0_QM-%TUDWPkb{Dm~n8#`hdq-dftH&1e*rFc$_} +Y7jrLY-T)xc^7RyDAi$5!>&YL--$s@Y4@^d)I_@22-|Ry$3rp&6Z~bh_!?Rqt+ey3*!j#_f +;kw+hS?2$(wdF+u#A9HC2x_E*GS1*q~tYH@)jw1jg-7aN?s!+Z;_JMNXc8IHC2x_E*GS1*q~ +tYH@)jw1jg-7aN?s!+Z;_JMNXc8I*v-cj7%TkPXC_VLkJM +r9d|WzUdlHEju +gWvolMvZ!-MZHm@-e^&8R7Z~H$Wa|Rnj=SbKC;;(n?ADHBb!QPF>=%xI +X083seu+c$EH#>vs)wT*v#&xb~m%TtKAl8M-8;21=>*q?P!5^)Id9Sv%9O^-R$macQ?B={*D%ZM~%N@ +H@mfOh{Nn2YWFa^huS^N?xA)MvwNuB*6+ljb`P^#gZOAcd>m@`FuSMPJ-xv};b?GDI2&9Pt_C-SyTL= +@X|T3cHp;kNvcSuP)!sEO6LzVv%YQTv^E%~U$Lv08w+&UI4p +pLcUQvfC(S|BfhbqyADoKYb$%ZOPhbqa2DoKYb$%ZOPhbqa2DoKYb$%ZOPhbqa2DoKYb$%ZOPhbqa2D +oKYb$%ZOPhbqa2DoKYb$%ZOPhbqa2DoKYb$%ZOPhbqa2DoKYb$%ZOPhbqa2DoKYb$%ZOPhbqa2DoKYb +$%ZOPhbqa2DoKYb$%ZOPhbqa2DoKYb$%ZOPhbqa2DoKYb$z~Ii&L*a(VSA-2EnBh~sH8Jc$$HnMZEUh +OHfbB1rd_RVY_c{sP1R(YCQ~)B*_O1WF-`Usrz7|NTqMa(uFl?I9cASBT%I*d%=u}NbCFIUTcnh=>CM +*k=Cu@l49r^;%=_sZvbH|?JaEyMyL_(sM4?k`_*S&jwTa4C(MG9Qds4JLv5Cr8RrjgUV4YsB<|j3aCA +Ao=pOG0_B^y|-%zb@XgdGh?2%2w@|GXGX^h-VtEMxo&1P6zT?#+7({%XOEKF=VQ`u~$vgzDo8 +{Xicuo)i{>?jK=$(5r(tI4Eq7)CH&>s=;01Y4B3`VcB(Nq1&`d*F~ak^Cw*=O1drkbY1r8$sU> +Xk>;^o2V~twM_oO(o5yw??{xFnt^=EH9^2JpyLoI^kL~8MUBmKjVR=`N?dGvv8|rQz+oxV_9^0qdZS8 +m0+4624+tp*cd2H9_v0DH&w0RunnnPW4m}`#LQutADsA~>$&7rP2%r%F)<}lYBK_6+ZIn)P-`QXrn%3 +;nn)Y*nP+fZj4wrV)Ec^tN~H?(;i=4?Zo$6?Lm&?$sbjgI=@FdrOsDE!pg&{lKU0@Tn^^swRbXnK=on +l!B)Yr}?)i-!$>M^^=HNojPwx4G3&M;^mq4Mc{G>V`JG!-j7|9odGLuc3}StVJH$A`f%qp^j`l^lPeX +&evn$RM(vD5q7F;PIJwv&Nj{2raIfSIn$}mHly7{oo$-4%~TYw1`mao!Fm(xxu?43G}oN!nl^}jP4&T +PJ~*}Kp5}v7eQ=r&PHhLLwS!X|ylD;IR6m*4;7#qKr}3HUC)507s-H}Y2dA#=O&dkeCB3T+{$Equ!D; +R@;XXD~BJ65*6Agx!%|I=kC0h0xFCD?yLh5Vj1kbW6UOJPrrm@sD-DPXKOKX1Fn(oqxl4VuAw2IfU+ +R-ZB*41qdiFSwvi-FsM_^p*@lP#~UW58{C@2dBwCHFz1&)9+ZvRup|i~fy|zwz?e)AQTWiPC>Tby36dnePR~<|HI6C2ARrxwPo<9~W9F1d-B~qP +G6>bLOCXd}mXVXdHVied%Z?aI6zJIy5}i37jkq$I0DbeWV2Nb +TJI?b`L<)~{ObIqffFsIqQbvpl8d~!4pITnZTe^&&xX-lvOx$PMeUPN%pBCK(?O1Qw8;%S~XV)j>LOySf3rNnh0j&!S_-9Hb +GGXG=Ik>E^+AW_4*Z%dE?Rt&OoxQOxZ{WwS*Tq+xe0^`PLVn#db?QpcoF{w7T|ru8F@GqqzdRFht`ya +|6mK~0W4e_A{F#w)WdVO;_j^Pl;1dqqqx#|3ls{xSS^s&Dz%3)J7Uc1LruXUS#n}R=tEgYgHE_+TKYv +a9L$1-5nkNVv4Ec&|v{~V_0(Adsdc=P_@9mVZ^nP~s#G +ym(RuEM+dnZ}3|#QEePx`}?_Ya%23XFW>@ZXqvxg<&|Zf5HfdF@jsB!$P9%dS=qyYX5XP<3>Ma!SDNf +bHIb)NL_q7$a_TY;4{!AV4W;n7JpJ?wMk-qqJwD*Yo#b<`;ooK1JGyAcDVLP)QI~cYz`_Zm$XZB+ +c!**sr+Mn&re!O?vnf=(tu&v$R*vGKF*^iA3+nfE^$*{fIkF5;boBi0!u)W!j%?#U{{qWE2&3N3%b|{% +H22o!Qas#}|1CC$k^z@J?nwwn}V^yEfv|oy>m3V +>_Gu*e$WM*^liKJDdI3FR`=Pj|~$$oBh}^v90~w*fO!R*^hpFTfDciX<`?%AG;=YG5gU^?PB(0-^4Cv +Kiczc?fEXSznJ|6_7}4s{nxhseIs7A35t7!{nhNpu8LjFer&7Q)$FgZzncAsD|R*eE9|dkKgKD$n*E5 +|cQgAN>~Cg&gZ<6yM?ABisq=fpbDKT4>!w?Wo!xXp+_<~xhOH +gDoBad!53_&3{$chb&fmlA$9QlLvwy(;VfGK$Kg@n?6WPP;N8GqAZrl_0PqTl*{%Q7Ozsa6vKgOYZn* +9^@PqQC!_?~9}g#FX(pRj+L{R{Rlvwy+}B>Z*uTtvjLY^i`?=v|o +BiDJvdw;OdD&(^_q=SgpPOE`+0R`s+wAAImu>cQ-^(`p5A3&b_dc-ynEe<>>|^$0{J4+Ve_;PH`>};) +AG05OXtvEGZET|1PioqY9`*jVT5*rqxntwLgE-J~?Hp!6-#_*D;D~3wZVW;^aBTc|(9c?S-aTT2k7ie>eL(?C)lOhyC5`@36m{{T=pqvmg7e<}mvQ>>p|d~dnf(j)FSCEc{%!Ve*uTyGjdpBXdx))j^Vz%S=fQoB-ACh)uU| +D;*r2(d`Ja2Nz?b35%l10>m2v$uPV~qG@U~0(9*I}OwLh}`4)=)bhh0B#z3ps7mcT9B^%K|IE=wc?c* +_X5M_m88MH0J_ZC=Y`UMswwdCq&(?Rl>!K`4CpU706C=pL8i&-_w&sh+po3?IOk;n>UB?LG(BAA7E5m +IhnM4EX*?umywQCUDy^h~3(j1M%Lsf~_bI-lL`vbxWV_*kNI*3a_4D$ltU?&8+i~-SWrp(E|^LN8riu +47?a#fj7fD@L@RZS%z=m=fQPe?v~Adq_O5?_9xh%%>D%Xli8nOe=_?M>`!KYg8j+tPq06k{TcRWvp>W +BZ1!i^pUwUZ`?J}fVShIJGwjc1e}?_p>@TqM8AseBcopMSaeXyj6}+nPLdI~e#;bx?HC`3Gs`0AeRgG +5#uWG!IlANpA-(Y_;`;n`ho7vxBe>3|V>~Cg&gZ<6yZ?M0a{SEd%DIGm;+}~2Fv-WGfJnJmI=sL(P2g +4)qWOxStd7lcr8Qy^p!zb`%_y+#yUjpn8W@mt%!R$l=eF~S36v39ti9WK@m7qr90+TntBxL7+}D(tLg58{*Zzm)@TN@IB)GW+!)H^=IP +#9`*jV59=O@H^Y_haCW`J^`E=bJn?Ec?ql^bG_SJT2F!cZ_vLdx+t|4NnfJIy)xowk-y?RqJ@vKFj$J +SR5bku%|G8ynI8utA{GWSFz|Vtw+{fE}JnrM|J|6dZ;?H~3)bZgSJBQ{Io^4sxm}fYaCvcc2@W}8{`I +9HsbHX#D`J*b``-i%4;$v>&ecU{8o)eKLl07`}M70x4gMJo7+;<;=dyIO27gtlkolT_NBfjLL=c}4iSN*8M8;EuS&-n +c4b8|f5?F3TdUdS@oX-C9|uo7viC@HO? +Dr7jk +$Z$QYyY{Ft@!h&P_i2@%DRMJh7h>`1-AT62{+0{DtM0IL|M}KVL$;CY6R{0lSJ*TN +IkPBfnAc4G6yQ?x4)05+Rsno2Q-!!NOofJ#Pe`&W^%!_3LaJk{}2p;e-XT$;K +PGGJkZ>anZ$d;xYkKmP(ETC{YJv?|%HkR@c>uij2ibM55}nOYTl1`>jtB`Dq31QlhO*!S3Z; +&C{9i_+QG>hBRrfEOrs0z51m+u?I=_uaHxCFDb1;PKsrjc_h4JAn*4XJM4fh+Z!c?F1yT9B7xxJeyT{ +plY9Noc9rb@%hUQ#X;TTo*Kl2xwG%VzmL3Cv=eNQErxRy9ld>Y{T`9z=jwT0oQCk@0?kfzo_N};#$T* +xPh4`3yp?Rm;^akt%@+vP7>;#;_VmR0F`wp(#d*0 +cxSSs>&d%7;L>;zoYl8#-+E=Aj3^*(-g;^8qdHh6EudQQ;WEkXAlVbv^8(}xtQH()2I?vp%pk4WbG`V +%9Iezl&_#65PNcZ_jk{Dqmr?(Vp!q7Jn>78+ouy|eVw_Yn`bIPo5_&-nE`+y^+dkDnW;@z#3F(Deu3#J3L| +-)@k<-ST_@;N7EQlkn$nrerjI*_yuG(U#>wCn{qL`Od%*g+?0~x7m&Zg4eNBmfaJ>woDPb51rd1Bd#|Ic>X`y%KG_XLpl$P>x_B7 +Juv*@=u3IX)*ai!*Ew;&HP@no>Rk1C0MQ05-7rO{IC?h$Y8* +Ixv|qQM&&&k01YtAA|kdLJ`Rd@Q)UkNAy}-t1Oz(F?fe1a|Cv{_@B=*s8vce;$6ks%tq~?_=SK`kZhL +Cq6vry&IU@fj{QK-^aug*-r4`&pY_u0IVlIe=5c4($qIwcDZ-+83VkJ+=Tm)hxR_IB;V|MOcSWzx +i)}{U7*yf3Ig+?H>0(`3HZ6Kd=v@zjU%R*cbkTzR1b;&m`?J?b}-~WU*O~^~&l?!DhMMNt<6y{Kwz@K +Tt~p1QY-O00;mBky}|D9Dq|H0{{S72LJ#a0001RX>c!Jc4cm4Z*nhbWNu+EX>N3KVQyz-b1raseN@42 ++b|5h`zweP7;Mxr;_enS-DTJ=0|pGe1%ac)Od>#*JV{<#U>`qHQW87p>O*3QDg?SeV2bwg8(I ++2Xg?aJs#1z5<1Z$3_V}wC)49$Q0lE9SJw%pKo8vxEnAh*N3er-86EaUJKPVRU`JSc)AfT#3bxo=bf~ +@X(r6C%CxnBsU6$w03+w9=P`7naLOef&^FskuRTULHpO~+9FO-}^e-G#a)a*q#c!dO?Ngd3_%A?dmg# +y3KfUjkT@H1EDnBN87MNwrl(jt>xZ>)!%q!N5~u%-k5)=MfcS$+^m3C}~XFw0sDa#^8|=oQSaKbkWd`(6(qCsi-su5QK_oX)iF%K0iMe8MlB-z+eVWBZuqGOL$z-^<#jS+%<59#FSMQz{Oyq*T}LmT3y9`It=57yEEG=UjRL9V6T*GopcM8%>j(f1@^-bB44Mm|AYFE +-^g$9i6G;2!FtxS&lWlTmhyey}>WB#-HeIQ7$Pp`A+zvrSyWTbOzJUyhN+jW1&76JCoWJbOhLZ4GbI6 +wSiZ6C;)U`ib_TK10t#ZMPfB!V9T$x@i*Kv`@F&8FKH8QI|FSiXLqzHFDp#jIf0ReFh!l7%&>opRzQJ +G-=!Tx~+JS87C;&kib*@7_EdwY({T*kmDDqihqs5gHH`86G(KvgBPTE8dM8AV%BxoO5u?Rrl8yyNz!p}no3`GEa9+*gtN$DGson@|q3e^5&U1QY-O00;mBky}~YQ=QQl0000L00 +00W0001RX>c!Jc4cm4Z*nhbWNu+EaA9L>VP|DuWMOn+E^v8^k1tCtD$dN$i;q{ZRZut9Ggs&00sv4;0 +|XQR000O81Cd)<000000ssI20000082|tPaA|NaUv_0~WN&gWX=H9;FK~G-ba`-PWCH+DO9KQH00008 +00WU*S?Ey8KaQLL0H-Dc0384T0B~t=FJE?LZe(wAFKJ|MVJ~%bb2K(&VRT_GaCxk~>2n>|kth1ye+9d +HW-L#;-Kgc>y4O9Po~m0_5gqa7eR(}E9O3r!&{}Dclq^y5GH+gx*tvrH4(>Y%k^s12WrVen3Rx5vEtI +|xgn$dk?g;-0?+`T4FMpZ1`~(L>4&<-uR#j%6Jb5znA*}E%N{dn2iFRxj+`{mUyzVXtE) +vx~Koi(rgLv7iQzxTaY-g;xzvNgYZ(-D`gSoP)`Z>?GOf2??W%@3FT>pO3*eEEmV{>SPSZ>;{__rCYH +fBU!plK-FSvj4vP&4p|Kb@?yd%PideKmPUqimN|z7r4uQ@r!p~e(P;_%P)Sh>?g~R^|TlndpEj;IED^|NlzP;wHpa1p2p750V^Pm6td&}Ja-gJ8!LC_Op +dQUTFJm+Ygt0Kl=U;e)#O~K>Z!6za#Z`tp2X3zpLu+MEzY;f7jLDsroxpe>c?Mx%#_Mf0z1u4Ffa>0? +mRz^B~Yn2s9T0&4xhpA<&EnG$#Vhia_%s(98%lHv-L$K=UKi{0NOkXnus6AED+)sQD3UeuSDIq2@=Z` +4MVUJ4yBY{k^1W4XtPmt!NFcXbr7s4XtVot?Ch5)g!h_BlhRt!)zNY?QC1smY}LFK~-CVs< +s4GZ3(K{5>!)7$TXp$3EDDNwPmc9ijZi_m}ovHn$L;0jEUw)qWO_%ek7V7iRMS5`H^UTBwFtht#^smy +F}|h+^P{f$ +QP=#aYkt%mQPky1K`pJ*h3o)LuPSXAK_vyGKYtChwbD7 +}WX-W6hMyt$d6wvgpCR~pp6J9+=`}=4>oo)+>1 +t@wn7vWYVWkr&j8UlAQ*xk_{+mIz|GPIM!d$WPGkj}l#5*C6tf^ZVmO*H$)&{KWkJB+<3C4I=OUto#G +LD1wb2v=d!VJ^@0FA9NC3PeK6#jURLqT~9^4m)vL@mfRKZU&vQ@*+D)>o8)o8)o8)o8)pp& +_oi0D)>pp&_oo21pFK%y5VO6ehw4e@G}8F$vT=yV~~KKWOPi#F-Wkgxk+?C>^~r@X#$Wz;;rTfWHl3G +H4|?&KOn1_7^|6ht0`A9K~1~vLCssy+cdaqo~a*_r&=>it$C(?NS&)Z~d>Ykq;ZYR2#mFj+0y6poo(qoC2*kh@CIo& +3+Q#W#|Lr!EO>RwK_&k)@Yfe)ES#-!A}p}0-MzwQl^*sDghK>RgZ4EN7%^z1knx05WswiEi8hPE6LwRJa9GBy+VJqh3H11 +5#IY~tEA^f7zpisM2yIdX+c=;BQmtP5d%VcACW=LjTmyzfsghQ-Ka7GdLQj4x>02W^FBIAbYq?ovHOV +pu-y0!g*OBrks&ZayP)t&{1F)f6TAxwuNEJXAuvI_pzwy^Bl5#cFfS;)`hG-4)&%u}!t2;aN|ATI724Dg! +_ULoZ+|9oCy*3yS0w!TGK*={cd#-U29s1u-~mNqHC^(2>adYA-dMI5MjSt>xr)U86xa=Ya`J$KSPB5Z +uu3dbY3b;>%4>}oERdUc&m@-MotJP-r7cVBPWCtZ|xwukrTp+w{{WT$O+-ZTYHFZYl6XC>Lr-^R(iE!ervqU%iL^$! +*d7>MBBJ6i-far#w2>ac-M0CSXg#B&}65a3wB8<0B +b`aga!zaD!H&7%qLUdEEyr9Ff+$XA-!f8bJ{y0c-KQ6b?uS05XQG-P`=1UF-LD +Qmy-0L#Wk0<{bX|WJ)x4Fxvx(@s4lhDb@6KkTgHv*K9@UMWBAoXr>1o|-<)=eL_v7kQk^zEmpI#w4M% +7iKgWK1L?z#ObaT_7HPj3(%+$N=}gWID-_wK=`V?_5nrxLjcfxAy9i0(Q6=_JuT=RcLJs|ew{J7m#P& +;L85jj1jdjZ)9~I~_##oWIjabkF%aT}1bsztc^0&-pt&ME9J((@S*E`8(^0?m2&F1JOO_?`$NxcFdxM +n!Mb8X~S4V#Fp;JwMT^7G1gv0m{^NYJ;uC3oQcO5>c{w75N%@KqJoU2Z%W7_)R5iTM|86T2K8fi4iMd +#Q`C;#=_k7O+9E`u?i?n%_Szyi3U`hY-OO+B5$+r(x{)UQgF7dQZss>cq3)a}y5T3HPP-?3-Cv2pJT+X?rtTz=jYvRMECr>>toN-KT4L?KZ@JDWx2b9-os1l?oOh6Y +2DpLbUzaA?k2jI+1))v_v7L2UZQ)+-Q7oYFS)z>iSDiW-2+7TW8>~YqI)k^{_j0`}Em4eE +*JqcB?&bQ~Akn>CKN}*t=l^HJMECsv>eoh|DTN$-Shu58YhT~eKtvS&;QS)9}^=sc6Tk&F|O7T9pkE<=+OTTqC@{Xi4OhmB0BWHo9NL09-> +44dx;MHUr%)C{|2H%|2GmH`oD?j(ErUuhyHINI`m)0Phzu0H%48~-J?X;GjWW%oV&+~uIG#xbvbuW5? +#;4G3s*eo+i4UiDT5|+&xQlJrl>M%ei}==z6w@QI~UffarQAj!~C$_Y%?dOdMn7ewQqXS-Hnpx!)xlV +pi@kR_=GndYF}ajFtOcvKyu@Cq`Y)U9uQvM_`|7^)N`I)f#QqT0)Awk;uNygGC4G6O%xkvUcHT*>U{T|snvlB5!==~nqyUg$tVf +TAv?=r(r1l;eDy)#=8W5n9;k-am)_89vR?~%PTI}u|P&fFt=X9{OxY(Tt6_RefSj2k){8Ds0=ee!`CI +%*wb+u?okej2*2CB~M+`{egD^y)1}WzT)`cp7^37Gq1`ee!i0x~?V0cEJ1OPxjYDXktWY?vwpB5tVnk@}lbtjXnivt9`(!6ggeFFW=04d;6QPL_p}9|X(nM%tL}>1loiq +`e7!jKLWG798CPswjKG{jLIWR_S=04d;6Pt+5pX{WmE{YMAxleY|L} +g-B7u_d2X{w82#A)u6oix=&6+~zrtRuSSX9cmD2Y#(6eUbXo`XUumwNyb==0O+HwVW!5$2{mEx|UM~k +(dYTiLT{TK@8@>MxtvuRSi|U=Ps^ +KM`4Zu#f15pNOeEI6!p6PefB5^b_6i6LFLWhly_Zi3rMrqeM6SMC|0jaiSZ3B5LyBB+(5&5ifagn&^g +~h?G1yOLW6e#7G{TC%WM$q9YFmh;I0axX6P`L^u45w7*q}yubB1aTwJ_pC2Q-_qskOK4Y)p=O>8neXq +}n+t_jV`6;4%5A1W|dE`0#`5B^nKkRejJZhdkKSy-$jeSo1k36?Ozd&^FlYLH7K;hHp7m4m;QJ<46P^ +IztWuk-sgG2}ahlmdT4-*~yze05I|0>bJ|7%1C|F07r{J%kT@PCBp;QuJm!T&L$ga6}12mdFC4*pLP9 +sHMbY6UwSzgSCj&;KuIX2m|oFWQOj`Ts=+(LMja=p?%5{}(hHV$b6j-9*=2iYjJrV+BI-4y7u>jSqV +j;sx?ek3#&gdALC#ra4=#OIE6;<}7K`-K3JhbX$wH7!p%*m}I(SB59c4Db4Q~7q%9fZeJ$oUW;_Yt6F +TXshGZE75(kCius+Y`JJk1SZ2D>)l5UOT3rvDT46e}nFU@Qn~@)#*!AedIAL{QyET>q+oQ1z*g=gofF +0FX4(yo53Sj3oRsy@EFvH!t=|WdG`#S5U@TzXY$93EA&4h#NscpulLo4;n{7$CBMD@(Hjx)Q;>Y45Hr +h_x}hG{U@&~9M8Vcxl+-MV_iw8JxDlX`AC(;?{b=+x0ir$|odYxL;UF^!q-b2%h_>XN$JG&iajM&hP5 +QN6Sc?M&~wHvK!PSq`RcdhDiVft3bY;;C6MrJPvDn84JSz|@$)v^0D+5yY%bd)b*WlbJD-nK6@Dn +;!C+F_W1wlbJD-nK6@@F_W1wlbJD-nK6Z#F@>2iWtlN$S*$16%$TXnn5oQ|smz$E%ygW|Dtdy=gmZP_ +=%WkN`cpVp7mjJnKFvs@YB*%9LT2^=WHrNSV-+%E6*9Bl%W8T;$c+1ynT8aZX`h>!oOx!t;bwIsRnre +QGi@BQ)Qk+1brL7#z-`bk!Tnr(J-zNSk(&@iq;!wlR;Y2;;+q>WPlPHqNwZU%R526t`-cWwrEZpKb- +#!ha=PHx6dUeVu`S9D=UZuB`f`kb2$Yq@ckb2BmKW@5}u`}e$V-q}ROa#OC8XF5`qn*x|T(>j)$=vv+ +|?_+c|Z)m%bH?(t+=SE(pT}y8CIX8`3^1|@h=xT0sH8;(Da}(e#jGJ4CmG#KxM>mEDGtH4B&4t2jE-y +^{urOLum_rqcnt7HvR-vewR?No5Doh8lBGnpMnDV$H)h9O&riy8%|Ua37S~@X!0sy +ra5<2&u676DlZek+rdW@LxdULBD1q_^%cSptD78pG`W_rL}Kn%1tSeGIjpg|#O$r+tI>hcUTqeHB{mp +8n%u7VUpL=x&O0g1lCH!S-ba%M^)DLTLecP}$)oCOvxF;C!N*hjYNJ~y-+eTBUSDl=D-(>~s&p%}jo* +!KnMGjPFxQwe%re(ALC|JwMbKuJw?P}~Odnr4&4?C~BjvbwfDvt$gEreKt_=lgQym8xv3 +Dj6z#udpU=W(+QxKZw500eg1V=J$buNH9mpUfDUcyXG9bf@U`Y2}VI&8_P2WqS&#^UDRkPf3B-^ywMD>EIWl*& +=<1DdHOsseldul;q5@tbSstAIlqTTKwvEx56u7xAnrpbxX`ox@D=ScR6R-qCT1aTzOR5LNj+8{A81xG +T)NI$xC^{JbsR +FIlVE=RIgS)U`dqc*jsJ2e|9gVY>h7^HUAPOX7Yt^G<duYAhY_F#pdlZ>kDOx{VglU%!C6S +$u!ArM8=bBM5Yz$)1WtBWe<{QU|%Xa1JI|&$}WH%!TkUfmRx#`%;2%MXaeT=}l>Db +Q*oSTjVjI>&>G_X3I>gZ>r0CI?t5(ssRZlpp!M;HG03M9Ak9BSJo>84 +>b1!-$a2Sw@6>&M_k7bDj|)p9_o#`3x{36MF%!r73A37vYhES +rSTL4{u_SDbmIi%XrlWP)4krj%ycw=?`Oa(&8tlJD)SoCy~3uK9G2JW6>rD5mvXbduQC2Y>Cl4^ +)O!zrAy1c=3&v$Ci>;TXAH<|7==PjaRr^_0qd*;8xbkF?XFx~T>6$Cq7Zu1!l*y?h78v_`uSK1lz{AZ +oQZWmS{>~>)V5?z7!G2pEzpA3_W?!bK70iye?awf9xNL~W0J=p8QT7tbUe8yOg90BVDHoM@A9&-DZxD +#rSV;jxXmEHUs_!x#Q{zL;Po(og94epXhY~AM{6VIRJF4BXQRQ9`nYP+;^WZhh+6hJpx)}^(pDd5Z5>iG)X2*L +=Jbdh{^)H!PzCPji%iEcMY|Zlfx?#=z;Q)9=HZFH!gTcY=7Ub)hTcBP07fk99h^`;t|^BP%I7=fa6xa +MV*nn`)iFjqzdz;y1PAo?00Z!Eu5~fu0GIO$s~lWTKC~%^$4Slf9pDA>d!~DNe9ZGP+|iGDK882Shd +AYMMn7dHT3@t4ON6N#>lm?z`=Ber)Qt{C?D;-uU@&!~ixGRo4|*6(-RNP&p7Mh>22(fIGhz?=K_`Q$8 +ygw1XZ@fcVd}qmL1Lf>I#(yp0jd=Rojz2P2lxf#CBlMl7EL!RI}USUv}W&-)m$d=3Pk +4=`f+90)%5Gh+E12tFTX#PT^5eCD&N?8(eUDEQ3BRdK%qa@Ll(EvtK$5Fj6gWe_Ob0qjY#)#!}B=|hRh~;x6_P*{Pr;D0_(`B5jOlbj9;K>!qf;GetRTzQ4xG*!*5T8E-Hf0Z20ZL(1lp!jj-XjX +G0ei!Dlx7_IT)`BKXXP-<}X%R0N;d@Y_S83$dabVZ(2$42p{2GaG(;RCG}ld}hOM3vY_5;4>S3dth`? +6?|sa!BczK&@R{wiJw>`m1fSV +H+k>QwMDUsIvpq|?NCcnRKHKA@i$w65?Xz9M7Kz|9+h^0f){z9C**=^8wT>kC%=X!4U<>35r$*U6+d` +58*}SPyw$Ju#=>mzosZqAi_IT+6$-Svjw$HVe2m1s|+^N+)3j!Qv!(X!kL{HzTQ8xUht8Y-Ct?$$*8- +CN^#gQPuQ8xT$&u~zPyyYkxe$y7lk%R!*@SB~+jwA%ghTon$T_AP1{NqVRkeX5!)9gQVBt&D_6q|0jK +_N1Nqx{46lEL>7VOJLc`b;+tZ~B +k>DF;Q*65E28GD%jj|~=jdUGJ@R?1q*_;y;B9}MHrr7K{b0ooMHpQl+t|JLPvnjS`Ocx?;H_E2i^wo7 +F!Dlwb_Dt$RWb#JY6r1k4!P89|PcI&0Q{1q8Zh+5YY>LfULXHGJkFhCkSUxwv=P@?LW@mr!bVJBrFJ_ +C`uzbde+f!p~F-<=JM*^S6*kU#;pBv!w7+XxU1uH0W!DqIZrXjB*2|lyMG(CA8N${C1rrEXVNP^GoDw +{pUjwJZZuCi&)8x*L!*9K% +-TuinXs_-a1hJ}|YUrL8Y6Mci}z2qWSPjxr*?;20y~3yw1)zTgBS;tNhPBII_85g|9Shovo!E=9<3{4 +yir69*X)pE$&b_{3pG#3x>1M10~^M#LvxV?=x+S&Y(Fc9*eLO%VW`-~ow}lBo$EkRlE^!2=RiB~ueTA +VoNEf(In(N~R`wK-z6ur7cY^P0Jid60gpqs$!~&%Zhks9!_TOc2HKt%kns~JG@F1NK8$T+f&*q@=`>u +CU}HZ#n%x(sFx=(iDVmh4H0cQJ(*g;DN^9FY +NY#{c}(qX;9)6KK$S`>U-V!-U&5}Rb{2;abNk98y*jJlZtv+^$!&uBW>*8x_CM9^w{EuD@Vh&{P(%G4 +Nql<{_rq2hGBLt}7P#yd5JN~iHIjlpvn@75UVGRAv=Nxv;z;%>R_p|$5QuKpaxrO#np_8i7Fp2N8OIg +Bfw!?q$*54;WdK3ElM4A7D{yq`io6z4UO8qDF_lZE?g#JEJ?mwZwPsIEt^!JH^s|oXcwdZ_a +{W;&4KIi+g=X_t|Ip3E*=lhE1d|%o6`|O6RQUnAiF6+xNpABjVXZv2zkl8+0+U=R8sO+D-rhfrqm}IY +3)b>xZS1W>q6Y3ruyv{Q?LWTD8o-jXp0xkQ5{VRkF^(|$qTNVO`Pmw>e>$wm({Odiv8WV!KqMn7*x<0 ++GAqeK8hOA&rQyE8sU~X#LF2acuymY_`Udr_mLB$DPIp8QS{R^83yCp*a>1XSia&PObXkBuJ +k|>9=!%ftOP26Cl)!IV@@+QU^fjoIxfpDH>n-D0AtduIwh~5hvK5Z`Z^kSy +#4f>AsqTXQ7u7(HIQl@Yy!bfg4dFwBTv>xFHhwnmPmL#~dbV-1c}F8=8z!sJL1-hR +maV=!jW;5u6DNLAc&)%{~IVbI`~2Mdv@g-`jLzhOW}eH}@tM;9YH>KnGjUK0QO&kWQ&z)xHVK0SREb% +$Phhi#R_a85JN^zCt^7IIq%&9KT=bwdP4itSa}%!F;I>}g}VSK}2-*KHmh$*V=obnmiPnC^9=%5=}9g +z4S_)tK(>Po3%MGq(Lb)4lO|+`F9-uT?)`x;H&9Fx_j`518(q@zq4HwO}%$BLUO>1QRmdkIsncEhJED +A%R*83DjChpw>bHwH6YnwU9uqr37j%Bv5N1fm#a*nDc4EHbfzoGkwtwt&YCvhCWC4%>OOZu{&rV1D^Y +@G2L_jb*6jnuVlLC{wk(>?z6TbyznN|J@?;cx}SU3FkQFZ2-{4f4@dHE_ZI)GDWM75O#7|S_FN0wN^@ +0!$$R-fzQ{-bR{WCbK77SP +DqMuAUZ2SB252zA`WhLJBY>C6JcfhHT7%XCUv6c@FG)m?4eh`R0W`rL?8-+GV^FeR$I}%gnp}jDFdJoFC3mOsx9m$(%C#9k<4bxm$Z;Z( +n=ahOKBvnq>;3cM$$?eNlR%Yt)-E)l19=(8c8c@BrTAx5O>r-2+>QIcXv0q=lGGLpw*(o%tQf +I$Bt%wHf1Q`u94Ljx~pY=>!;ta0VXto_GHk%o#Me@eD$E29J9$x_<;lZ44UR%xV$pzNXjqGLiyW&xkH +H4C7F@PYq*Jxa3H>b5j_@L3%>~neNA9!gN0xYfSe;vCeeNUTq9`wg& +2pF>k3)_9_&pZ}#dFsE_tTCQx6Exr#pT21xOt764L=SO}5*6 +;hm7u!w(!6f0^%Oo|sZ$SF|Fs6kMH;zkXU3KchMCJ-Oj!PVt_aUER!r9!~e7Zn1YzQjlhmcFbIaP$?0 +fT6D{1pItWAzEj&u3+^x&Gf~C9dX0Y{%0YpJGu +;bz4b#0~-(mWqecl}13-&im_k#T`)4gDS$8;}P3U|f%;&J~t_xxu?&KHjt$EXfrMaK3rR^;6CpA{K9% +vh0g&wp0reDN4doG%_@iSxx{c`*t~Sl_VKjP(sCKC!-Gw;Agj4n=2u!-g}~x5D$E^$mN@Sl>{6!up17 +XRL3M3eM2P+>l^A=Sl>{^!mgp&eHNx|YT;y;N2zH&6{hepfBfU0FygKGPZUrEpb!% +`PN5Kw&-Z_FgE8|unK`||k#uoXXwSlRB=hJ78j?M}e3=oHQ(PWoBm^?V2#Odk4>N)ahRatNsQ|gk2uc +_(UtI+}M960sBSJpA84>c?!-$a2UPgp`_Aw&lv!4+mp972t`S>1> +h!O&{Xo>|wgODrvQZThKEsGfSvRU +ewC5Nx5z0nY$n*judN-3Jp}Q%M0R)q7^W=hH(rq432qxX;L1P*rIg%J*JP(;hNRA{15Kl99R&5}F{VS +&X4}F*E{yT56VMn0(HrsWSEIl4#yKXuWh2mV1$3tw;O(&vI94Yd6h%LG4L==i+Mjj8b39nf%0%b~%hu +C(ThCz-5b1}q5+cXSvB-n`|w$`R$P}snBsmDWXrcJ}3P#kpfc!+h=Gz<#G2`7(-*f5)hL7_O>3~ +1Lu?>Td!kSrHS&0fJ#^EaC=_RmJRV}#+_WbO#o;24hu9}K?TH*o@R^-))1JtY1fO}bH0_B(anQ))A-2 ++{JyF;|*y`~x+h^0B$dSP3VYbhvJ&_}U&%2|lyoH+_#BN${Bszl}UJa=~Xd{HE_w*eC>_+3=gbM~)=;%!c3eJ#r+tpu_Bf7S;tV;Pww+WW*%G +8>M&+wu`2Fk0Y5lOv5zS3G>jzVRBnKnA^=GxoPbjK0Qr{ud?fqr^i$9Rq(1GUnN=OrWJ!DnKIzqbj%F +%x=GIGwn+Kuu?y-dvjBN|qyb-Lw$O%84-8OO+21nf5r?)Bza!b-GA9i?lKm}PHl3UEh#krPR&IaG?Dz +`{(z>(dq3VLp3_OlV;RRbczv{N!OqjGC8-8h(3YEh7PtGmL~lt}zk;xygt(sNYg&WQ +X`g+qcwJ)ge_Nn;1!e9ATseWRwxVG@j{H@8+%SOxH<9G9c#}@y2$hyPc67$ZkdoAnMn=d}n(2dk{68> +AA{?m(NTuOAb-PnGFXR@$#A3IKqgR&&;M>j8uT^XQT?`1|wcRGn>~jQUh|35y)q=_teP^TH*r)LeYF{ +W(x}u;mDaStl|hq&h+&%0>SqkX9R*ju!j){{veIj65+_113n?LaY7~DUjw4o~TiJ+uU)A5ig(S&b^F8KzN=*Dx|rSbrd +DI&7G|AD8g;-X01Z9q`7-LBaqKNmK<^>&3zM$KtB6o2PhgL^7p$isuCsl4Xjt&)iyeO_BJSTkDq_m@eE;!oYLG{R#zmI=GHO`kyV;o$Et^|@N?}vn2}tX +>tWXv+u`SW*wi7%G}oivpaNu^5ij_;US6?bTl`!vD?c($bG>XDu;F5EJr5-$p61rGBZckpbL&~bkbj! +nx0w+LejiT+NJGsXWp@@m`{s`Fmm(WAca(XJ-STrMdH5kIHFt^!8FtLion{R|ZffofzZ*8q&v8wS=+Z +aGbsnNe-yGK-hz@;ogUnHEo}c4PljzPjca@zYY@naJ%0?Y|tGR2eZ|KW6H_Gxs`f6^B4FDo0bCaxZ$Y +RY+@*AKZ-`pgxwUNx4Z)X#PUVQUiJm!$on(tv=qYvMF59L4{!_#mD%&d{07LO&5!VCM0NJOS`s6bHb1I<4e}Xf_Z*3@`7v +IQqDp&yjAsnwzvjnS<58(SKgQz+X|VY*c1cjJJwLvM5y(d^%2BaBKh6s{B*o^(`Abo?JwL(L61lPY37 +%zg5lm(tAVoGm$<_tc+w+s^-E;;eYSB~7(RF6Yk^Ec!i0L|^6N#Q#)8tr1ZRQlps7-`EC|c1 +fh@3U5x1Pebg3H|2uLim-rwH_bkgdli!KjOp!_Sw6)DsK}@&rW2hmZ{S4{UmLqx9oNn)(Zr?zl$yY>e +rMP~0xpsT_+Uj<;GlHhN-4_@^OWp1PM$jv;vx5< +I3heA;1g#%CyBI;M!0yY8ppkC(AS3Ag*geDun&@^9GlCYn-B%bv1KsYcgowjZJNGjpR%0{L`qWd!o++{Osx)481y$ft|BBM +w>ZI>rd(({-E?$fxTBBajaz(jw6~WUA{FBalzmX+|KQt}~24K3!)Sfqc4n1dGEWD3uq9W+78uJc7lU5 +nVij#c`}%7a4(kx-KyS`E>C(6(>k^@i-NSvv%<~tqS?@I2C8KcJVkB1<74JPOCaI9Ek=YQ=K~*5d&uz +BM?jv4_$HYMGp^MaqdMA4=Hi(MGp@gaqdOW4n`oDo;{2}Fg^Pi5d-HSBM?kaKOy2Y*Pg?S2*alC5r*v +$Bf_v9VMG`<9-xVk4-Zgr#A_!HsYDny9ysEp*G?WDi7;$DJj8*oojg1eVc2+hh;v^%d3Yqku(7I(<6k +?kF(L*IPx9hGjV{(iahygM>zg=Cqlbr~I7*|3-%T8((Z%{Ej?w7a%ZM;+tcl_Xjc%U)#W@$@kZ +m_?Au-eRl1B{?hq9|K{v=1x{Ngw?o+#vvJgO(6{+?Cm0~HgkfF0m5oC2YIG~ +Z_nj5QD7bWpsOWvC5LmmyLVK|7a0kl(*|D4qq7-@k8Cat|QCf8V9~3Hkl`xaJw;_v +gJQ{(MA#Vj4`L +3rPe^eYU)o7uchVG!QzL8Y7_gx6fBp9kU1URKHy=HfS%l7*1me2*HmXg&YJ%)!HqMUda@o|6iL{AQ1w +Q&=e8MaeIM{F)~w6$bguY~8Fd$gjD6L}8HM+|W^lL4M7XN=6anH?u+UGlKlS9XqZt$Zuww8blG~H#2Z +bVUS<*fc{O$@7r;uFX)s1!rZW$I3gjx%}VFvHu3FB=VLMc#+6RQkl$R7l5HFbY*=BaCfn7=2)vt-aYj +(BL{(7^K{o%Q`ZZlO9fb%ryt(FOM$pU6w>%@)c8L$`a8E>Y_>f-(&B-DL(D^iG!1FDvFo2$?RR%oQ!h +`|u5{5Mfyhj+;8SoBa)W(4K2cv)ibU0OC?!CcCeYtlABlYFp7mWDJMbLsnub~K9a2PcdK?@Fvh9YRef +zPli*2dk8h_x}Rtc+c(XQWloFRZo-`h_BP!J)lS#4b3r7mC;ghxS4dyWr4XC}I~J+6xi8a84T|UOdia +BLuMv=ddy2<>TBnM!bBSv&M**&!4FD&LLht&QW8;%g4ECjClDtCyfy=ALpVm;^pHUG)BC9oO{NImydJ +K81eFPt{Ec@yupp{hL14lMdZA;KliIUy_EjE|1u+bJ5CfLbfH$QAwm~w)f(2sN|)6dp$oNY4H3F*2GGehbclAyj8*>Sm}=RGa}M!>lhK0tE_H_FmTnTLr}STnbiOh2Cjp32okJ4JmhLED)XZd1w +LG(>kw3~9y!MdDpwD(d=QCn&K4t>tG8}u1eJH|M;JkY4{gzQ2A`z!qp%IB_?!3+jD +!*yhfJ2Y~Uw4)fL?SvB-w=t|%mYVki5g~^qQGbV2u~O&@cDL}rHulgneKgzpt5-2I3prbw1E+9Y2v6) +n2PbklMD)cX0D%N1oG))j-tS4X44oWNKaqf!wBRvpq?WtSJjv1;2V!q6!^>y^F)gRALsNEf&!nJ69*a +b@`>1GLVZufE)&XoB6gWj-4n6PgyNpqyG-P4F7YuX?ulOJG5cbu8H(8#L&;Fgz8EToV)n&QFch;dhI* +k`vD8aDRxI_xjulJ2tYgJeFX{?=p(qs!v>8XOP-q|s+d$~zY#=mpHV}F_8wl;34TO%)20~M31Bt%Q1{ +1BF4JNuf8_bL9wO1MNqI&r)g?L%L{4N7tRx8)MLGn&E)PM{!f}ZB>Y*4Y^e!BfCBN-5$@UZQEx}7Iubb*|1XY-8R_tWhYjEG{G +n}lE!{&WW$VRVC>?qF{kd-10`c!h+HkgDP)L{G@+4xZM~6>_?RColAcobF)96rCZbJJ^XqZ^-EmUOS; +X0{L{XTUZMD@Y0|Z@?oc}6!PIQR|@&?m@9 +>Rc+8bTK0M}1As=?VN+BN}jirzekH%8Shu3wbkPna3QpktLX({BxE?z0*!y~v9@)=?T397LZGuufSqc +&;craQJxcZ@6TkJGq?1Nl2FrPj~EB7Bgy#=#p{8!Kh8xz!PpTJ^7XP%X~?NE*VyXK57#t@ +ziwtS$7HJ!Z4n3mdTmNg%?@RSJmWI4sUl~JkFO0Yk6+rMMoG<2_IM5AGHa~d4Azr&N1GQc!&Ft4kMJD +E*Wq?Vct?$)C&ujD0Y;D536w<1wu70PII^-3IYi}5f?u^5E|j0d~%WZ3nKan_Z4f+B{BWV0D~0Z$U_MdIOFN&KerI>>;0sH-%IHGWMmRGn63)a9bEohpp3Ga%%qbiFD59&5FER~ALJM|3`3a|P?WfJ- +D)NUq%p4@D@H_TC`Ox;8i%f=*(2M=bAC97$1fQ7R?TpvuBc2RR7Fv|j{bu%xGQyo|++bWN#l8jnCgVa +W`k&3zikCtu4lcZ+!i72<&@7DGLvv(tHGPEFyPf-wE`OWdWGQF=J8h<@iJPa056}{89?gxwcj(~rSiH)aHNz*y +jWh+2u?Us0FGl-fS1ba3c!J^%AO!&`=Um? +Tr?2kDGI@8QN{@g+ZQ$B#iD^K9-|O1mQ{~?cfHM6jWG3oUOLJ$AZPo!M!a}dX#^*`X~fItt>rHRsLB9xyp$xGvxzh(f#hCK)5RbONcLss=gr$NdFn|{5H1W$t}A7oQs{T%~d6t +A(`Baiypn+$kStXR!}m&EI@GtkPAA&2_<8Um0)UCDPKgSwI*js)t;H<(RGpsxHa16~|z3P<{M)e4>vk +Um}YhC=-4c=I&|bmwVDg5i2oeI5n|d!xvjzO4W+jkkG>A!qs<^>tnv?>e1Q&-VgZZm>esAaJ=>REQb` +K;&00@zF)@nWDHszm6zw(2yu@(2yu@(2yu@(2yu@(2yu@(2y){(3mW4(3mW4(3m*A+F;@UYlDe1tPLi +PvDO&Uw1MFY619P03sSX#;R}+rq2UYCwV~k)61Jh?3sSbB;R}+sq2UYCwxQt*61Sn{3qm87FJ6A3bZ^h}-o3!8Bf2AN-U^W-DkKn^`A~P5<|_x{v~(tEvdVez$KOBf8UyBZauQgA +v`M#*t!N+{K9QaN3O=7_#PYc+_&mUftlQ6~z?|piNMPN5HU;K9H%9{N_OmH4=eao&Sht@|fjQ63k)Wdc*%X-b+|p`Y@R>~kpXW +xN+7h3UzOb;(d5&~o!V-6K@Brm|b8yN7@_T5bk=w +o)$YN^)=X=3N-1Vsto9X!s6;bnpfgzpZXWW?|?LB+v$2TwC%c$uKc;Jbro88N&}P*m{U!Sjq5UM8p=` +0n5UBW5rps1o?@;3Y=PU`Qgtx?x5v>mtFrtBhFIMS^wL8L_O31nWi^v8;;(>&6(dtcwKeCK$1-iv;U# +GGbXLT(|ypj2L^J2-mH@gAvPT;kxyAF=F{FT(|xnMl7F&>(;-X5zA-cy7g~l#PV6VZvC4Xv3wS;TYn! +Tme0a#fU{recPd={=-{{coUpM~qz-_MBUvvA$|4>M +xe0oxv2zU4pn^)@&C +&C>*#OBqy!-;T*53zZ*?rsltl +TRg;O&3cQ8@D>lTS+m|^BD}>zY}Tx|n7~{7?hu^J5 +-K$l-m=vPTN8srt=Ow7=DpI2@uJcNo5f +d|!>iM@H1Cy}6961(k*mxo%-RemvcUdUV1Fw#-ci!ibR1RYrt-t}!Cy!%8oj9dEh8h>*_+BSJo-j0pLRF(TwM&WMoD1S3K|lZ*)YkVBY +ZaX8htmJ!IOZyh6$PhUGDkWXI+BalyDCnJzgUl${gPhU49kWXI^BajcBf$R{-r*AzYkWb$RMj)TQjf_ +A(eVZ78eEQg;Vd**5w}lbNr;lQqSt{hSl@TGIZHx%{u>DPie0DG*I-0M960kBSJoV84 +>c?$B2;6eny0R4lp9*bC3}spMFM!eEjN@+_NP<630DK2%e%5StbO}6I&((&l6iF1kV#&CIrtDTP6h06 +I&((&l6iF1kV#&CIrtDTP6h06I&((&l6iF1kV#&CIrtDTP6h06I&((&l6iF1kV#&Cgj5tTf@3Cg>g+Y +(^TA%jBDC3&T#%TKJ-%}W%eplI+QHcALsN+D*(2_A-J-aR;t2f|DTWL_>$*B*kdoN~3eV9D;UZC)IOs9$Jq=uRtI0*d80Y-38ZpS`G(5|oV5Ff#9#PvY;emu +8$`v?C780$5Rn1Gv+R?WyH&8b|Z7NBILsghA`aRdG&5yKHuILVFZTr5*sv>Ys{`?USlVJa|=5~sM=`m +y37a$<|dvzP`uGRKE?>#zezR?sNtBIWJe0y_rJZt6DUeKW`|kY2rtg=Vs{A@9nC8|O0aEzhN2h_f#Y$ +Mry^|GZyw|+0`(np+t_eoyZ+oco>~#roW00K9Z^j_BHSTxJcih5MO1TkBkK;LnsXc3)kaivb_<(SL^Y +ec)IE^T=tV~0cyzH$5!IaOVeTNRIeUybil}CDnDrV_&AIh#krFX}SmP1ZobTb$m5 +3o}t`k)W+ynv|Y+yswCL^WqdctMJ&=4>~+a-t7Q9 +YBsO)_aLe{w~n@5 +1AUt{Z!sOIci_FWLwY$9hu4(Jk}RO23r74Zyo$@E}7}b8a1*21GUIdwEzOsyTmvV=jnl&iAu|A* +wllgq`C|I3DawBC6Ru#VUcQ=6tt$HyF|P+MIZK^&9fG40M->ks_zuN449rXF-7qjOvm=G5=Im~c; +2^50-Aoh%HGA0HW5a%PpSlMTsT~{#z`p(YbqaxeCfSukY0&I`mMLn3=JzrWP#ZL}flULp@6YzL0YHh+ +>|vg$8zSPtjt6$|&yMo&!xsMLR`muLn7ddC*u>vF%8{amSXlAIhQg$I<$z)zKOcyIt=b9?wX*kC`up +B)^O$;}V4zM)WVew1TXD3zN%r0#)zyUrS4iij@j0XEe)&#Qa9e3}<{nTB$@<`6GqMzv{DWu3t&Ghy#0{b?4iV=*TjXM~D<37Bb5!knjU5to~$RS2x-}YZ +&MA)}6MlgPkZem0Pjy5xbz|pCVj9~nXsV{|pK&Op61mkCqLUf^CnIa)Ib96r=x=PKF!1sNgALMc_@p( +1wk-Dzdkwl=6qQI;oz6@pSSeBN$Jo`WV4{)X$oU3|4b!k`dUu$q7buVP +=_zBDJ`k5i3dLtme+&V8k*UDXICj>S8!(9sGi3!>c1BJdEJlE#0@z_LOX}*Kyh +P=}JehNmU$SZw2d65xVp^npxV0qfb;~9CS8P4IQ$ScjzX@?GhR&U^y3}(-c!xZu6nUlDo*_oyW$oe-hrH4(`$Z}8O0)Z!*T^f +)9^+X8d8OH_tUKaJ+8b;_kyn}>S8o8T)5Uy4Ua8r8o)K7`t?JiA-cNlGRw*agwjlk}JjptW^iPv(AyS +e4IZ6IkD$+kE*}5V9!$DY7mbDk@pXRxBj9^x{r0&72z=63G>7V8e<_^+7%@ +Oq+$Y+9e6zQM2wX9W0|IGCaFoN(X9joXNBoVfer~SKJY~F&BU%AA`wYW#ZNj^5rFM}Y!$xcSFh&jnqn#c~Fb$HIH*hL7b9%PH_kFQBIFY;tVS8Kt5ObdyvG@juMh +M&2e@xk;KtX50W@@n|Yifi8I&78iFLwTtAN=Byr|W@+d(PXYLeh2$DG39YPXk?i@Q7NaE-vGm=G)~dQEMG|N3JX>-kakN8*B+lGL)+!`%v_mG6IOF_1GKs_XS|oA0d1gWqXMR1qcOr?ij~Dky;% +N5{NgN$4X$Z%UbreY)?Ghr1Gk=8TgCvf27Lml6zrZ?*B#tUcPm#p=%dw*@24ry@#Pb=_IDa|b$G(&}( +e@&nE97y$UCWa?@;KkFWhFr#=PxJM^P&ccoWGnL=9L37Ie$5=LXb%1%ujSM0x3jOC&1q`-5aJa&wja%p-e#S3^f3KF|O~+2~>9$;HQ>BDIhZX86uz#8fORs+N +L3hXuF0Wq#YW9n09Iig4(4ah-$Zn?1(}H^vk{aYHyvKN-GGm+OHwV>VSqItAiTStrr{#@;Rih)?4?>4 +3W<-kEp8=`uy^!hIEG#M}j<#>#HG;6B?@6AA%fC>8mklPHPDAIHMuRJ=Ja&CC!Vu)K?TecX +X<{WWayy*J~N@Z}yN@h#7)+5BY@=ZF|V9L3r%z6Abugd`+P +%(L3SmP6qrlzV2WE&*)|V&!7;L*#H0aW(K@we!YnSJbViSUeCVnWdLurmjSOWUvFaouS>xeu^s;FOAO +$xh8e)aSxc~5{+dOLCGpp+K3Kzk!&-uc>Nh-FU}gC=D;$=B-;j?hwjzJSGw;Hpj;DOnQl-q`oqo;!1) +RxmSOMTLe#0t*0-tYKoT%dYrspC1B`D+hhTQ!OwL0H)G2jLI&3XpFZ1zo1CiBqWL0;n$AJ*ZX=%x78s +jp7+%QOIevx}hu&_m`RDr4MTEDjXFIEV#;Iu{42AFK+9*@fB^_ZrM%6qb!bG)RcU6UOfwoA_u8w#R5{#g1j!MPsXC?s|)&Bkk^2IL&$4D-vxPH)OV!$<)R^17iR$ZJHuJmfW^?}EHW^<9wHsJ_d~>)|?mS0NzvU8R7SQCOipT&JFe6`F&1q+o^SARZ}Lp +*?I@uYncX!*>0wih$I!ssd8a^74Av!LwHbD>Vl(qp(tQkb1*ZK#EZrpog6dH3X!-D;JRZu0lZSyCAPl +_3~J`If!2#D>n!6%cE-LVW)aStl%8PZ-^C~gZK?mxbm<|zhPBC>J1YCsW*hYy7U{?1*G0E6_9#E$g5k +wVM9Rb4RZmhH-x;p^&6G~;x`m4xo-7_C}Mfoqux*~^Lo^?P{!gQ^{iMx>RFK22K}t6fS4O7WpNO51GO +v8z#d2RBwpt8wc?lBD!H*UDV$=h~E$eIK~S`1&;B85ioIHuzJHpK$&B#`P%~pZ0u;@d2^^6kGl8RQ#!TP{Bbf;tg)?TpMU2VJwb +X!@^vvis+X^e=~2JDu!m|=tqXgoCe^yIhiX!-i)f5~`Ak4P3<-OvUqjeK{Tjj^>erC=kY57t|I3q@D$N=|wzhZOkGb#WrT8o{8nSenZGh +uhcWK9M^Y2UV5dT$>q4ei(K6$KCi|-Q?B!wD-E&ES8Q&`bv}Ot%6ZIUz9H86`YtgsDu$t=$E>|k(qq= +%4YAHwQ+GqG^Yv?BV$`c>l=YZZH0pZHDjJ17W>!aKkAv7Cp|r;=l~LPcmddE@F-v9C_LvDDwLNChi}Z +boE>?Is}6;~@22FtmDpE< +|2I-GwdNW;#WR$V{h&Tqvl! +$prI9Z!A@Mk+L*!1Nhdv}FRUoNtDSJ?FBB73KXZ7#BRS9r;lw@LR?L6Fx~1&Qq4H4Q;tO6PNty;C}$i|p +NqzAOG=3!TqJ_HI<)RsCTLozDYl71dqRDyqArRaAFLtEldRytK}X?48zmk-gJ8FS2)9=SB8T>%7R`X` +QF+ow`db7g|Jhm-s*;_e_x%)UPAfA^Ibr2zoGyw4feLA}y!~lSm8d!4%4Y%epVpf_gBCw4feLA}y!~Q +<%5@uA=pKl`X#uX+iT{NDFF@AV*qIPy0F2f;zRDBQ2;Gy*bi?deNIBEvOg0d6cx|MpSFbji}z58)@s8 +hrDiR2=Y4pa3e#e$T_dbNVAGTTp9|kztfB{j*g9nOVpTEr86f3I$X2ofI= +s&1oAUcDES0bycOA(tL|;p&q^=B+$q&p%d<-EfMQ=&PB2 +<3Rhswp&w@kO%nT&*BiD=$C2}6u>`Q3W>pNot`BOy3W5f&xk@Fa_KU*V^KP8dguemcNP`yw_p!!*n;; +X9uH5 +?w}3YBKV2QNNIkz3A^;NK5>bNg=%kkFB~)%4;)GmuYz|Vv%|1HhdAehi)T9WFMZydi0%j0@a-&EoAh( +o)M_-6cH8sDU?yrKPyW7jNM9k?&D`tUP1pXWfrtIn^Fix-$~g8eWxh*vv-PuKO+^HW3WFfmJRl8VVbU +*L6Fi?uZ5Gn#K%gxr^4o4v#%tgp;n?4uhF20u-Tt21*m^Eqo|DrDK4r(5y`e7#YQzqRcp%rWYSvd;hX +U^rG8e%v<+AjFQjc=Che>q5Lrr6Q7@FyGZol)-ktgLUP!DpE&D_?$H=oGqud6hyo3ftbd5rw+2_2wpzyb$55_AFs=2DYwnI4zZH7fCtZx>iz`E=#ZarX9BLIi)G958RK;r=55Y={Ayx68%R>;+60Q9e|G})w6>sENmn+_gu +`VwJP8QMSiqJ9jWT9iM%P4UDJEEhw^*=G)7qfF2y?FmC)4h0q +!gRA+yr_Cb{bOU)F-J_hHAKptq8(5Pg1N5rMQWWEFw2gQm+g(a1+~KQJK0{L!$nBJ0qpIi6Mk?zBfCM1Y@zq%dL@b#BQBTZ($X*d3R{R4D;29Sgz%wo}Ad3GPz{3X_z? +V~HX(8(6h8Yk^B?g42$^aftT~vyO2&OWCXWU>wY(8T^l%^3N%7=LF6SY3=42TU=42V@e0fktKGa$lU4 +2a?%2Jj5_X+&`cyEL+Xg8{i%=fPHrz@{2*r7R=kaaGD%F&;prY0*(E)HTprplmbFaM|W3%)eo}x6yyg +bngiN9n-y;{try|^V)x8y0_H-iRs>L`M2*g;H~rvO!t%9518%^^nYf$pWObQ>E1T~km+6_{(f6R2x|9@h-=l_ +3Ux_7pJ!gN0^dWVTTy`?@lstmkf$0Yp}GT +jUIHKu#Pu3)-fc>ap%-a5U`bie3a$#g%kRx#ZVtkq2S2KWu4qjum;rhESXn(3bZZ!z8T|81sw{;y%W= +l?rQ_xyjC>7M_;VY=u4Z<+4-|2w98{{NooeqjBK>3(4GvY?Fo$oe_c{mA-%nC=GvEqlw@4}ky4^cDjk +ZZQDj76Tw|F#zHg10ZfO0OA${AZ{@L;uZrSZZQDj76Tw|F#zHg10ZfO0OA${pweOhR9XyxN{azdX)yp +QEe1fP#Q>|jDA|CPoGTrO{|7N<^|NoEap8tSt(psXRgS~ +{Rh<0saL`1tbGa{m0>lpEpnC=*3qzYt+5rkaZk1~RgYx{9V5RGg<$q1s6?WY+*G_w6HBZx+JsOKP3)S +;e(NKuD+4x*7Av}`D`sdl|TxA6EX}``0};!CV*e;lW%N^5MZ;7xH0)Ru}T&VO|&V;bC4E^0~l>kPjPxx{w +bWfVz+m5A(VhnEMzJ1Cx&aDN`FRK&))4b1fqw5FV?ji<#Xa!yrMEJtL4$C!4%X$cIf{Cgj5=FB9@%lZVQasZKU|C_9Y)P+oSu|=~*Atm;uPIa+2g>9)*e4?4E1Gx#rjLy61Nji`@>Bw-XZ<&)c8!;@SGC$dOg0?vRTHV*v&G&57d>#JmQ;Wxvck +DJfeD^g(I%V9}L?pE;E87>gpIh +utTv@~{=c`X2Uxu-d~O64rRwBf?q_dpwRszWtsM=G*TnVZQyI5$48FuVV?b_CkXTGH@$xxi#_{IPZH+YZ~6dXp8ci|66V= +&`Ve8B{iY8S=Gkxh2w|T6rjHWl*>8G^FgXvUfq5+r%;RavpC0PUDsQ}IP7~&h*UTBhyz!bjOPDuaGv^ +5N#%tz0VcvMnTp-LFubGR4dE+&6i7=1vGjoJ_e4lYAuCd+QHh=nP^P!$2&0L`dd5$zQPnhROGYf=yjx +=+XFwc=@776nlX=Z60>-)r@g{?LRS0sqlK*Y?MDk)?c0wQvRZDM(mF6% +1vZH$ut_vApNYG&Bv8-F=NcJ5FnM@0g*?QYlHan}EaRKzU0D^VSB2`yO_=$-?sGkPIJbd$G812Z>&ntVJ +tO;@*+4xj=iMxDn9ksP|8toZf}A@ok7-{p75YHd+kURH%bD9w6yl=*rk_@i@=sW_m=3Gt-;Lgg7((iU4P&H_r&kyv9uu=Ir$5B_YmEZ(b1sJMARI+3D>yLY +$r6(oBFz>tAjWi4bai%ZRhmTj~%F*WcZ{N08K1Gn}d4P7&ga^Y$_!@FDU$oTlHB=i@B>M;bGnr2n{!5 +NDe|?j{7AlnXBo5>|Q`%`%nTq~w7GF7L@{KJUqcMc(6AdN<2TSuY9vUO>IilfdrhZ +1voc>=N2+*ke7ja6~{QcvVba|w{p{ze|}}2>jm1^%8f}8$pc&w$^I6J+~^d6aVb*Sk0P+)C@Q%zDJp4 +?Ld1SI%lNB}QLpUDgJap_H-9(F)|);P;}y?}<-LZ8N)x +CT*eI6bf=^f057ZNJ+s!h`tFo2#s`2??Y!|i7-`?pS78vlYFC~vRvBwjiM1afMBhJcuk0kuJGHIsBFsCrt?VYuJ8iG*A`3(j8}wFge4@a$ttfCUYBNkC>t$kp( +v^t~VYg8b`-!fMll^vO;``=ZnY?z?4ZheTaNGPvnazg@!$g65UQv{A?vKqfE9<3#I8h{b%u$p{ +14hyTqNouYv#u9p_@A>B=Nw<6IIkmiHIBvOqm +Kfkd%%yeMwOi71NOK)nE80{7LrGI6r&%EZa8E0YeD^khGhNN7J@nY3FH%W+O(InGHE_`O6<42itA*p& +tPAt(N>Oia{Kl1iQ?sZc7qvOqu5(CU$^sL0T1)$y!0(w#E+nRs^MR?Q-2$Pi$Oiag1NOCYA&#uvcywjb9yZVqD +?@IPl^dw8OxDW+{m3FYzhsfLTNX?EW^&^ZWvQHZ14?MLr9M(U@4zrUzmu@Y!*&rCd)RKm5)a!$Sn6SW +2{RtHk1*?D6NF_Rwx6)v!zKwUJnR5rrH2Jm5SwlO&d26MEAOF)s6l-XJ4{&ZVMhpSJnSf8t%psGW0g; +gV}$v{m?q38#&N=YV$2Zc6XOJ7J~2)b<`ZLaqKxXmIB$LZ +jOqo(Z%d8gdU7LD%MfK$%NMV@GC6P50shqid(;6xsskIetxv~rJ?ZCLABy36f&R)Ds-jxHP!-iOq7rR +=_JZpLo*S4C>cGLXkxEX~1pKWH@TCnL0Jl=MQN4hD+wspajcsVQ`I`!xLWJyiK0}EK&O2f +2r0gIDDJU0%UpyJdDLd2<@7`ies0mp$8RBTeQ(8aAJSlr5mI0;C0Nh%VEcV+T&UU!fdj*0i1l`5!X90jkP2-n-fHj4BoDf>!0*YEsx2EaaoJKTIbE3;KO0!+Y$X>QTgeHoE +0gW3jF_lxB~RvEnV4woR@j&7W#YtWE4hGKFCY5G?9(~IA`iPvSnOd}2unO{p0L!z76>yQc9k&eVT*)i +9=1eS?qSymD?DtOu+qb>6IOZH4Z`{!c9XE$!)_7Qc-U>iS`WK3jv3#6cM0?DcaJdNe)kFU?YBahZ@&k +G`SyEAm~X#Fg!%S+Oqg%KCxrR-drFvZzh{K`_Ipm4Z@(9W`SyEBm~X#Vg!%S+J&pzD!=?}mvkfftwv} +%%+pSD|R4dJ&+s>q5DsK22yLArjxx%*qWW~rW(cl)i} +wDntQ%YG}<4%7h-)jhe{sRLooI+E!-x-xOfts`$@ys+<7_y1MGy<6z}PD>mKEPuee|8G;BC{X7P)rkX +j?oyp3Q0E@iNdtB6Qyt+WbtLcWb!B4HS4W;ocwyqH91l+^yfE=BfY2$32SU(wEH~73EI0ghEZ+{T11Uu6SWftLAS7FFh5M+UT&U|L6Z1vwrRewx0gj}9M}TAIPY +G~z{E`62!JiS}c3^)`fZKlk0|9RD^>YH;#_JymaJ#O5BEW6A{+R$r>3<=>arr9(9Etyx0LR>45a8(g% +W(iHH-1Hcv&XLqaQ65O0nQ#@6X5LeTLPRt{*3@q_K@>+C4x%`c-V?=<^`0n +>wD&}D_~Bk?^^9GUNl;z)f@6i4oRqBxS@6UCAJo+ys=_e62zzbA?#0X|V28SshXNP$ljM-F_VIFj +HK#gPS{D2_DvL~(rnjwp_=-x0;}@jIe8zI{iNEk1omOoY-yOoYrsOoYZmOoYHgOoX~aOoX&UOoXmOOo +XUIOoXCCOoW_6OoWz0OoWg_OoWOM0R{4A(G=036UG0NQl(1v?LQF)~6k;M$rVta6FNK(hT=>L9WK1C@B3%kG5xG)`iAa<}OvHOz#6-NbMNGsSTf{ +`Xu0>45yIRCVyr@M?#9La#M7*L!OvL+Hj)`OY!fj5>zxhOGXree?`67zreJ`RoUiKo2<4rH3I9~H2is +KzGqBvggB8ubfE}}SI?IMcfy)L3SUg{!>isM}_qBvgUB8uZJE}}SI;UbFT{Vk$6Ufv>#% +Qq?O6mM)1yYadfv0IAqU6~tfnn~rAovzFcClLvkC5cF-ls!`1f+VWo3M5el*A$5=xT8o^DFXwBi;2V% ++)5;t;7TH~1osh%CAf@8EWu4gVhOGx5=(FgkywHYh{O`yKBS2dR}YCQxOYfYkvEWQFWDc>ftAqKYcIn +e%~B8wX_kUINaTVfNaR9RKbobG(vM~-RD +fGK1wwlD*Y7%FwNt~@Fakf(8{2tJh$W~J#TTO{FcnjHai^jHai^j3!cKMiVJAqlpx +m(L{>OXd*>sG?A3GOr$7`CQ=ke6DbO#i4=v=M2f;_B1K^|k)kk~NN$Erq=<_qQp80QE8?Pw6>-tTinw +TEMO-woA}$&PLw-(xqA;3RQ5a3ED2ygn6h;#(3Zsb?h0(-{!f0YeVKlL#Fq&9V7)_!mj3!YOMw2KCqe +&En(Ikq(Xc9$XG>M`xnnY0;O`<4_CQ%edBVYIJ$`o8R+ZR@iZ*CcMH@7!q753OXoE(+N8ObvvY;`FENF}(3mT)y +g2qT$aBRP~-AVVmCn|cQF;Z{*9#CXKV-#7?7)2H|Mv(=LQDi}56j{(1MHVzxkp+!aWIs +8xGeuYQa?2AF5g#EYB0fS)%oNqp%O_7v%oNqp%P3DwM0|vpm?_eumq?zNm@CqwmqMPHm@Cqwmpq=Bm@ +Cqwmo}c5m@CqwmoT1~m@Cqwmnxo^h%g2*F<10QFH<}*F;_%LFGoBvF;_%LFFQOju~0-vFE2bXu~0-vF +Eczbu~3vqQz%NLDHJ8r6p9jQ3Pp)Dg`z~7LQx`3p(v52P?ShhC`zO$6eZG>iV|r`MTs<}qC}cfQ6f#L +D3PXAlt@!5N~9?jCDN3N5@||Bi8Q66M4D1jB2B3%k)~9XNK-0Gq$w38(o~8PX(~mDG?k)6no3b3O{FN +2rc#thQz=TMsT3vBREiR5Dn*Gjl~f|fHiz4tJ-;@UB5|5ZkvL7INSvlpBu-N)mn}_SQ6f!WQ6f!WQ6f +!WQ6f!WQ6f!WQ6f!WQ6f!WQ6f!WQ6f!WQ6f!WQ6f!WQ6f!WQ6f!WQ6f!WQ6f!WQzC0kiL5mxveuNyT2 +mrxO^K{EC9+oTM4DQYBWq2LtTj2Z*5t@qxf5w>@GiUMklqJUbXD4^CT3aB-T0&1DhjBziUMk_qJUbfD4^CV3aGV;0%|iw0kxT;fZ9w^Ky9Wdpf*z!P@5?VsLd1w)MknTYBNOvwV9%T+D +uVEZKf!oHd7Q(n<)yY%@hUHW{Lu8b43BQxuSsDTq>Yro5St?;6V38MOwAFBCXn7kydT4NUJtiq*a?M( +yGlBY1QV+B~P0x3aHH$1=Qw>0%~(b0kyfJfZ9S)Ky9HYptevHP+KSps4Wx))E0^YY70dHwS}U9+Cou4 +ZJ{WjwonvMTPO;sEffXR7K#FD3q=97g`$AkQc*x{sVJbfR1{EKDhjAYDCj@$5#kK;e;*SfZ(~}7d*1Q +yxIuq+pAa|d?^XzL!~X68A#U8?JtV{p{JTelxRHOyJ#j<-?#VcUu+O`vgt)v+Hi*uwc#OcR5LWHn>4DMG^(34s+%;bn>4DMGyyjm+gon;w|3id`#{eNB_RLoG%vSZxR`twQ^~_fF%vSZx*7HpMIT(o8k6;nAAJHOaKf*=C{tWRVVt< +B!5wSl*#E2G&tfv_$L(GUsnjvUJB+U>tB9dkZ8xct}#Epog83IQ{(hQL!B58)u5s@@Q?1)I3A$UYo%n +&3ZDrSfh5fw9piHM3B;zUHn41pq|VunZ&Q87cPh!=@0(k93Z(IPfC!bNOU#EV3SN^M9Z)eMp5CRwDpN +fv2tl0~YU#HyRbs++{Bo5ZS{#HyRbs++{Bo5ZS{#HyRbs++{Bo5ZSpV%1GzZG({^*24}Is}7W?4wR@4 +l&B7rs1B5<4wQHf#6JfE5lIpCVUi;3!z4xAhe?XS50ey;A0{b6KTOg@H4uV7Oj1ODn4}2*Fi8>rVUi* +M#3V%oh)IeN5R()!ASNk-Kul6ZftZSj_AnI@?qMn--osQxz=x@bh!0Z{AsC7t@38P +Msh$k_R5Kv;aAfm)0g^&{4%Bc1=s{a|)|BUK?M)g0V`kzt#-qRR1%o{~6W)tm=PO^*^inpH=X|m+ncpLx1JTbR-ozwDz==tUh!c|(Atxp&Vopp_1f7_qh +&nMzGu1$dJ26QScw&+w^28)X=!r>+*b|c!!6zmuqEAdxgrAtCxh7#`2tY9v5f5T2A|S+6L_~#Fd +5iudAB7#CpMMQ_DaJK&9$HrRqSX>OiIHK&9$HrRPBWb1)E*)C(yQNxh +H~k<<$*5lOv}5|PvkDG^D%kP?x!QVryVl!&BWNXe1Z--Kq{{b`l%k?>4nzZa___It4^Vn1S4%znhGnE +i-VG5af3!ti2M#BnboMI84cQpE8}Q`$2xB1NP`M2b0%fE05a0V%Oa^wkN{i%1cVyoeM{X?;y`&H7r%F +zc&kKt$@B3xvpAdKuzMJp$Y)N8x6ZgE- +dR}Qg?`u7;wVpRx&s(ME2rp635nZC5Be+C8M{J3Dj?fbI9FZmJIRZ=6bHtUX=LjoN&k_9Lo|jtBE3M~ +!t>?AY^G54=tMnXEAL==RKGbu>e5mIL`B2Xh@u8k0;6pt}yoY*@a1Zqy(H`nKf<4^xQtNr8^}Mh3yw- +Z&XgzPkJr8`EtuAvp6PAVix=|U(YFn1_3qf1on;x$h_)1pYMl#D!8_TaRwXsNg)&#zO)s>07J6)Oh)^ +gK}#Fu}%GST0r7mH8eb!Flco?V$p4%C&|K)paepjN-XONeuj_xA{K9`gP^A2_ipDnwxiqbPqB25bpH4LF*U|H;QJ?pI1haPj1cF7@1GOmeDM7XLYx!6e?^G%!uPKUac=lwCn3%c +KkOPupn`wcO^7r6hdqQi!++RIh%@|$eS|o}f0!V|8UDk5LY(10OcLVk^WhL7&ORTG5aR6f;V2=_K7To +TfFNg}Kc6AQ8R)|-Afy{pTq{;F;vJkg?fkA!D=8LdIsFg^bNU3mKbz7Bc +qxM})wE$h9D2vui=dX4is@&8}rs2QsPyLB?h`fsD=002!N|0Wvl_17vJ=2FTd#43M$e86abSI7kQ_h} +;A+_MfH+fddh*A!C0yNr}zgFIriA056nfMBMv-P3W@p`fRNN5w6Vr$X_K3>?wt$c1QzgpjHeW-A}UMjz8-lT!w%jCxp +o2_#L*OObFtt~#+6JHl^w)XE-Pkwc`$>hguo4}T`$@_9klz%?hQ@vXDqrg3+jf)Fc2#Y*yp0L=%76?l +`>?&cYhbtWXj%RFqEu-wD06IOWG4Z=zfyGdB(VYdkDd)RHlY7cV@;MgW_yT7Z_J+$#2dY2 +m1df50RR75^8?i1z{V}&rE7!L^ZiSdvypBRq_^NI18FrOGt2=j^YlrWzd&j|C0@tiQ97%vF(iSd#!pB +S$Q^NI1AFwcHhcM|5=@9OwkUc{dLuI?txv)|P{go&?UH$^HZwnBb6xhs9KVBomarfg*LL75H-XTPMVxuc_eEoKk5XaV!_X%-a{dkKI$JCFH32{9A_8=jS +rQhx$#Buc7y@WW1e!Gtl$Iovk2yyKExI&2I=Erf*YcR8XyNeK5<{=@@GT-hd1eUo+h?`M9J|M)|=i_x +kV4oX=z&^JLfqm{0;_UPB5h2b#ADP5^@b!c=85VDiRuT5>IaGH2T +8ytiRu9|+j&=}azBwPP?M_6O9P{js$5C~?M_uL1r9$=s8&v;C +5=i+6EKERDJeg<+Lfu4GXc{Xm2!dYNn=#XnSkkxI?L +?XaqISaqVcQjTw|I>lPmMXWl-T9wI}I>lxxpEH%uSzydFmCu#wnDvL{%#ih#PN@a1Svba)NT&XOsR2Ek%iz}7ImCE8Oz~Zs(;C6qYrF*369+m1ImFgby3 +#v^M5W1UI#QxjBorAU)i{EQ|GLX^s3gI+uuME_afrqwN34N*U^~H9rD+|=C1NG`ay;h`9X`|1oRI)jW +y}u?T{sD;?Nq#_LM$#XUgc0)tk}_g{Knx?<4~S(X{{hJuDSkk5M#>+Mf)Q~qq>VnSMW1W$_{on5aznP +`?-+7pw&SM^xk20UB|~o1cKnPXH*7opo*_4GJN|(oH*hp6njzThw+z8v|HcsP^*e@OuYYF<_WC_Tu-6|La< +k^@&J({`-FcE=H+BA$0JmiRngF+A{`5;ikdyZhgoqev8$ovZ2?60WdmRu?v)2LPG;Ee!4TrSBxP48gUNd+HZJRoK1fDOa3`$mERG!Wt6L +pAaZ;~wQ&#RD{2;`j<3j!R$LHhBOJ%RB=QzxyNR*Q;C6qIrHx9VX|+)!u3EM+LT#(Np0DmYM5rV1>h6 +{9KSE=m4+#=NOB*A0G(14hLGWmB>l8umA%m&I1UY9}-Lsz{=Pql{_^+J93>MB3IeV?2x +I~b%*XTZtA!18|d2R;mb?hlY&R)Y8CkS%(8Xi1Jkh9nD2t&?ZYfp9(R029ckh9mPT?Yw*y&f+TRO1J4 +5d?cpk0|9n%NPM8cf|GNQw%vmCJc-ko(H&vtmf~`XXf6R(Qj%M}V7%A_Cm +J9TVW@>x2L|Pp1U9`PmTQ=4DHOn~yUB+&r8U;8w$e0Cvl6+b>2pF1J#Sj@2vWv=&#Hxc||WiOc43l}F +6Ft}GVy`dh)3za1|VZXP#P!_!(pcM-U8ln7a&v9VT*kN5&)ELfGrbG(oV}k+THB#g43uLpU-Hj?kotBje!6Yl3 +jyf9@JF5vRZPU3Uq>&`%vC2tz+bl)~w6WA4^GVHo?V8w6qOr|uDiu|Gy;fm%G^`3-vU;213uP>cuDlL +TSxr>~7eI93jhyX9kSYq-rHTiJXjj5_m(ngb_1af~21;mH|-Fm0YBUq56+W+LW>@pAt!_uJvj4V9P-Y=lQboH=iqtT5#VO#;L=foV3bSz +EEr{u7A(9eJGe;e6<(Dc%+V~2OPqr_awfbiJGeqq0WNcHT%Mr`74ORq=J{bT*gQ@7cw=_3KnBC@&T&< +D6N14OXrG2#o`b6d;jP(?%V)`Taouy{^117T!DLG`Ab53laP1sHFxfTQe&FTV!P04hV6x>!f}rM{BT` +vDd~cS)w{FrDhLFkN<|~4*x468-e+Glxp$!D?fe!9)k6@5HG!D24I=DmbpLzDUNxz88po2TKjv?XW;4 +aZAW1(QP42HN%WWjyV)r)jYz=hDkJvs^?-Q(aM*$5Xy2P-=Xf<5k&cjId4#^uN4akv~hcu4j@(#P)4h +)1|3I(W!!gsmRZRE^uBgNH8&!ff~WGC?raV;W#w7+syaLl9i&G3{Y+Wpwa_To`vo2YejFrP0CDWr84q +Ugj2Jw!1Px1B~R5tCx8=Fxx$&{Sq#a4xSO=af5X5jMi~nAssxYT^8<;Zd^Zld>ljAa`2qI9M?!Ut{kT +6AJ;`klSF*n7ahEyvBI^`)p=SBaW8aZ{vhqMa5HpcaX(G+xEnfn$xnmByd<9DcIfInZC{Z5aqxo+UYdU-)0pxHujUsNOt}f8Y16NX47wDjiJE_CnbgD)Y$c-!K7(?i057`B`Q-}L#rp +NWv;XXRD;(qFIpWDBT?QysHqc5A!EcE7-fOs$wbDf}_7Oub!CupyNJFr7O$m0_1aDrwm+=3nMr&9*5! +4CJ+vv3b~xSxC;7h#8!w0Fl%*x@AYIdBzrc;Es-Ai_cNcwB}Z9wPeSHtg^SHv_JF^M`UnAC|7R~JCKZWFhNTv(oqg3NQgp0%Het1#vvu;@GQ;VNJ=@{eT +yJxu(c`bG7?h``N)dYl*98h2_QM;@H}nDke+gQfu<=Ws2pA(MF1%(H|D3v`;et_^%mI@c`ApOXlh2L% +Hc)wFyyKnUM8y`TjlTy{}q(``Dq$pq^ulXp>+UBD~EF=QXy^SaDgU8B(7Y&O^%7wmBXu~S|EAlaFKik +=_`jzboN97%i(pJ6OqDlWBx4vB3$eS(F1ubSMSon3Yjd2H;Fljv~A2^p<^6^ZNpnMR0y}N-lMTcz-@S +o){~75DfO*?V!gtyxaVRnayWg#+`1Ih(CdoF|B1dg{s$b6cOhMi8!PPCg_E*ZvM1BM8gm!s$uEV5@^W34*N-o+Jp4yKtTxg4uR +q?gU}5){$of!CFVj2fg<;p4}v~frl;a$g^A@1Tj=IR +S_21Ml6Pb?6G{96lm9}#BpXEfy}o>}f6Ck$ped6ytx1-nETyy!Gh4k5XXg;$pe>w6ek20^)vtGo6RhO +Nu%7X&%0t?eX&BPzFkj@A(b&o-{^p(O#)vktpY82st#-ZO-y9>%{3hdNL5A}({TpQlkq0B!vO5eNaaH +J*bJKwGD{P=Ns2+Af;Z5kOnpO>=PSS?1UU!r)JrX$3(9ZT-r)Oi&<#wm#1gF7WK3$<%m;IlV|2)}*V{ +eB;^W>{-I#QCH8A`yz<8zBok?R;8sI1mO*Wy|hC?5N&;#CS1hO)|biBh@q`7b2H#hSFe&^7|&?emk0| +iJ&2L5P3|VhbC%oGU4+Qi?+~L9B3r+6fFRtdnxwW_&m#9}ln^6ZU!i#nF|xITa|FSQR%lU0sBC?O$c9 +ka`U7qTX1J@bxYO7tJmg=*O9F>!dyOdC`eRy^5Jg*mLUutEZT%^67g4me!!-3Fh_ZabsLK(h +z^Lei;H+X&T-cGGf)P~B+n9)e)CW3=T?L|bqe=rI2k40e<|<_tEPBEliSH<}(7U<(BJMn{Nl2=I;QR$PGq-)M?zO@tlXE50eQ3sK@(F{=sk+{(b+Ik@px3MHf1U5TK=NyFMHWpvdu@AAhwUfjh#NyUY( +!m3@1ys5R4n0 +r@c9Xaieor2!fkkppylHaijCJEFl;-y1)YkH@ir?r7ExyMG$UuiL8hq+-Q!bYy{!fPEo57gd1I^g%&} +$(Pf%95QN)UVoM(LC)u5QSSk{+uAsyRMMzhbY{}(p8$Z5r$hkOY1 +YjaBJsiBZ@HG=sFD}!f>M-G&3U%H@Zy|0K#yido)KO47ag#pO}U?+~__r4RN^93h~2>!#yCu1#!3$6! +Eb=?>2w(XY-lZ&@8>6V`(Nc^M-{>*z8NCqS91|8HzR`11^AO@2y&xS2A +-;`kr)WAwjIYCpDG2g?qI)g{f_$I$(BzF6->1E_vqFq-?Ik)O$oFZIyXLI+=@9unf_$G2 +ohHcH?9%}<41#>0rfAkeknhtm@(#rKHm=>F=>kE%PqRc21o_q$=@${?`!q{>dFz>s14an)tu4_UgCO6 +hb98b*kZ%dEhAQNHC#I)Wj}x3)|qK#*^3nKoC5@qM~PlbsjiTRuip8e)8F*ST +vj+VXMQCLzf8X>QzTB_esB=9US9WtL|j5e8?Pze13+%-YQrg5XRG{4iK%afu-K($a2%;7d!d2!dVi93 +==7;PTD8guyU3j}ruEy0?=cIMd2Yg0L8_a67OVuG}KX`O>F{G#p;Q?fM@2MFiZ|R-O<9S?2oQeS~2-y +gtc4i6g>wI$M?qxqW)}oFKfP_;8jW814B}f-nKn&C(Jfw@)v)`LNlGDS}|L7u*ck>;*R-zI6RGnOeN3 +ngrgDO`;^_w~D(m@fv&*C*r$~O>gVtPJc6A){fQdwhzDk`ZuZl@+V*aJHq_&?L}f12@s+VOv8F|{wI_Qlk`nA(?6`x0tj!iJ^xCDguz+LuuK5^7&U?MtYADYY-9_NCOml$l5EOR0S+wJ +)XirPRKZ+GnVJhT3PSeTLd+*fpqqhT3PSeTLd+sC|~&XQ_Rb+GnYKmfC08cd31r+GnYKmfDw5`!Z@@M +(xX}eHpbcqxNMyxlsEuYF|d}%c*^v=c>Q@(HCF*k1xLd{V#v^zrH_1{r?=W{`!j_|M@ +6aWAK2mk|-TUjTGdgjpq001=v0018V003}la4%nWWo~3|axZOjXK-O-YcF44X>MtBUtcb8d7V?iZrd; +nz3VFo?_vjr+TMx)I}BT}4a2seO%FZUvQ4LIWXlkhruqBPlAUE8uyymnCPnh;J(6yn?Lgvljf2;=C(z +wsori^Jr-+}AR?mKO959EC?vT9d1|g=9B_YHUI${WT3+Yu3mpNQ#q9~@*qTuu7N?ywAgmZPvH4^(L?Q +Ac%=+oru?Z@@I_g{+j-OXx!zxnk2TaqmW@DrJ|%9u*kyP3|KZFD*8`+==0hr3{)6KDuyrFX|@{Ddj$j +<&SI$}Y67coBglMpZ(MfF%DXw&3W;s;Pm0|XQR000O81Cd)i$1XSqxo#{;HA;^v|HX(K+j^axML2XO>AK-IMXBGNONGBbjabWfUn)epp)*xTT@;+}c-AM%5-J@ZX8RlhP7u*v>@4<%C@ePl{<=-qp<==l+h-pm|F5_+1~ +k&uc~-fCdpuaA3L&RTzEBfpov}z&mMehUf;D+*KD}i{EoRD`f8u~FMg%p)eq%f&Tq>Fr;KUlnW!Dif4 +~M*%E~C|%7QA+y@lb18oVUn&l36B!JZVL<@`8H92D2BU+)%X@tL +hS6@&|0|XQR000O81Cd)1EyXu6jQ$kpwNC4Yvva?hB|`2ylt@K13ZB$*lkp^gl!1*I!pfRGwel?tVq +NO({!ONDk;(N(Ziai9<`i$WGb6=hy34Ks>B4~AP%$?XVc51Om5;nLCu*I0CsBRD%Z3DNJvqvw5)zp#`7_$`vnyVYsPiP4}*`v6xoAYI@V$al50Jyj@DY;zA*7IvuOp_4|?wn3ZX!;Zv%YaPg +p*QjF?VP%5tA0&4XIOub19$YU|1y!+9nv%TKY?ko}yp*PW@{SipiY-w*kpj~p&w>eQKZkW;E4VmTnbazd;T+x%> +>3&r$7JxqrF|+=jV)9>Ta0QaBiF-ub87N{I3fF(qNKy7uuownRR}_bZX>s7P{V^A#I1HxYX)`*t@tf3w#uAS)ScY8P1wa%V1&=LI)lS#e} +CNT$W_2zPlzcFY9`fQk$j5O3*#8qSLlR7LlxFg=XE>$$F4UoUUx{TxpqkXVf +LWyG|nQ^?tm +mx?VE1>=MG7)59Qet1#+hJhX5>DB?^~Mc6oK_q1TC-U2U +FC;0=4oB%7OP8WTFnp*O{Dc|{|0U^zH!?aiqH%}tCBZdDyM=@8C_!FxQdst_CyLU$lG32Md#mX3IJ;& +arI19Q?1E9b%Bo1bx?o(f$c8*(Hl*ivNXbdVIB>ALmDM0C%Xinka|MC+iZ|@cLN#Yj67C#$GE@= +7upycNJZajF`Fi^+Y4jr1q%ddz*a)?O-s?hsc18w&d3%6oiZMAHueoix9#x@r2=v6`J4XA+3u$+f`fz +cyzfbg0654_tA9bM2J6l6@XY{M6hMqx}>{T?ahtreYJiP7k&_#EV$ETf=cTml6uJ>T%6~8kk1oYLtrx +fXZKtE!HSvyXcf%V=!%7JH*3D*A@+&w?~2SIJ+B~`^ZZJyPCOnYN4by6K^s>Sr5&#`W5u+Sm1CDi*S*KL3uTVXM<~9kwZB0{;L|O9KQH0000800WU*S;Yc}!( +|%)0GELP03QGV0B~t=FJE?LZe(wAFKu&YaA9L>FJ@tEY+_+!Yc6nk?LGZ-KC`>#Nh$%}L+E0TS=_ +&m{dY|Cyuy|4OwFYV;z(Ub()j3rVfsk7Zo{`c-K0OFIBbRTV|t>(rj5{t#|VzJl-7Er6zI*aG?aXh(Y +%T><=KKwwe=A$rgA0$Plcbe6R`hdT^DU$VDlo}}03uUS&CVxHYGpy|!Sn}@DdGK- +6n=RL-L$nH2GIwY8{3zprb7NX--GN1Cis#BCbDksLGhzN-kV=2FzCq)_EBq@-MU}gRw2=nUn#sYJpDj +z=pcGVn6#%iB%@cRj0mh7D1PxCy>H^uGadiVDH)gPm`mlyEg@w@XEqtgpEWS9Ah3&JP!xF{-->2{`k2 +F)aCQbtj`;PY9R6~l2$$zOe-#|rxmeh^;K2CZ3CwdXu-7oARHrCz*T@^lJt78suwe9P84I~GfKc~Wx4 +kIzd|BxzB`=>%Z9Y{3^<{_sBGcb!11&{WYYvoUsO+ojXPg#}75A1R96m8j)BWUGwsNJYNZ>9OOA +KS9xlqq5n}VT9{!S0V7awJqD7@QeYTfvDOzmW){N>Bj(fQHkDIuj-gn&@eBUB?a^ +l)+XBUPq{C +HQt#KRw@@bbndUSgi=hw;<;8aE@O47`@OFY|KR$P +1$sXwm?c4zDX&)<(wVTEOU4z#LDw4Hp_CB2{b)R@+%1f+M=M_ud)=>dJ*4C#fnf*hB%K1nma~6T1a{` +&Zi2X1j+#_bs>>`+=6rf+bQ*kJu9P-Pj2C>eB8SGA*#%m|w#m_<>ATL#h!hD +&TD#*`t<(bftOgbQR>c0J#UQ-18q=q2i}d`~-{7gT>#;+Q(y64CYc7A3*UwArF^7gYs_)d${~awLWXyxdbL6XWH+Liso2(G$J#JE$1sf_vMZ1ZD9)onfA5KB^*dJ`tI2Ve&4Cs~TaC)P`5EjtX%4037`ONjAlx^EzYu8PUY!=9EJGCkBW2dO;UHQZ~nWB?_zc@~$9wci4jDd-jH5irG0-@HEg +!H#hD03Io0?N@P{6&uvphZ<^Op;xUiu=cyl6Nh8!58)<9i+CB`@&~VLw6wY`OXm+H;Vc(@0_wt9Ji%E +TG#FhLKm#=ZVTS>>!fsED!ssT;Zgo39qHkr4IT%mHO}3g((Q}%_^SKyC)mTwO5{n9irY?>dHVX6z+rZ +*k2{4tbRVfzGr*XB>^@1QSgAfeekza}|?Sv>^#z|g$Cc1Hi;aU-hYnS3wMy-7+4zRmcX#%RxBaU8^u^ +Mp+3PkU~Fs9QvG>2VSjU8Fd9MfM5ZTY%m;DAve994t=67jm5+vK881UNJ%D^X?{@+*F7vuR2MEU +oJ*%K>@TsQXR9WnR<~dlCq$n8pSGFij&fqNv1sJx<|D0U*gF0VUPd{|fSv!Yjb#E>Wh$Dn}il>RJ)>)UyK1w8HR%71=7E1ST7 +l5=bzDP(Vv)#FsgrfMLKH4&35Ljw~M`l_ktQJy)mz$N<$fC@zQ=5SzN;PDJ4@OVZCn3?SZ`7@F*Ca)P +)C&KPvtwSty)eH-?$u500&Z}!5CK=kq{<*G&xE*s%g*IUo^>3xhANGgVO-KMAV7mY(x;S?0AQxQr1Z?2KP2RW3Xgu1pXK097(L)4Sf +2nf}B;HzY?N}Wu*~r$2BP5bfvo2Ew{{ME%GFSa^7Ra?qDlHw-N{q37A|3c)U%yn&_z<fof5Iog#wlr&r!LhHNt0j?pLMIm)050x9n}0AfrfJoFNc$bH%Fb +PZ%!EXkI}ss(1JfS6<2V#?ypAG&0fxped<5H!WNMlA3pI~Q|rS9*n0&=cIFT`rUP1I)FT8R#rXzrfw) +J87wmO&}JR4pEZ~Bm)7^BBP~|F4iKC8`!wz90JxH{ch+EjAN;(2ZXufxkcF7Do1O%$Z`-0*;kuoW97D +8-o!}#A?=5d+zM`>s^|tmS93)NU#FlpNEn3GVi(se-EQ3WbYi-3liP?l +!Mp;a44;KwP%%_;~NFoYkNcnk~1hC{YH@Uc|IE>0JZw0L!Rs^WEcDhpYM$pBb~OWM>rOjWTbuW!C#do +D6*i0hD5#U4>k-}-&iz(q9?v*+RJ&bF|(fuRv7`&lf&OrXL-?Cdse*i_M)u0Awq!S#|PZ3hYJvcXe1i +F(Ll+$zMyn>KuPOKtx^0orffI^NV~zi^?Y1A}n#t2?UNefIs(ST2KyeRu2Kld%R@GVb?!`<^T{n9+g* +Q+YGE%dWmVFov%LP{vajPJ2!oTEBDZC~pTq)z^Uf+D1V>h1A?0^x`Q1=ML%WIRI-9TKN=!v&W-+@>LG +vswkVy3hrB3-4}AoM6Za}%q`cZ0t@Pi>Cse>)mnSNmw|@O4sLAP09@O+0lQiAhTd#Kga+S~6kX#ZGmL% +IB8b{?lQw;?IF7LGrvi4Aux&sCC=E#N9G9svL9-JXLfA@A8d0kfDyfbU#AVb=5uW?J`QNjhs}YiKrF`Fs^ZGB%pz@Mgg4uEVzaJ=qT?tU0MX9d&{-lA +sTvmg;A($`VUsm~>5&*2(p7blDILm#Rtsv6hq^I`2}44=Lun!;WXE>ey)OD5hUsHlyU@*Z>_y{%>!T{ +EMW6K}tuoHh4g3Lb%b8(dUdI(wE7!OxOi6{+6F8&rjJ|A*tsZE3j$M0ea#3S)9}n#np)va()*lc0;)8 +1)jyej0#>UdGt~D6wTGdmi`Yx_Swa4uLS^xg*tg`{Keh3+gN*Y$8Cl +P{0nG_&aKW^ciutZT9-Uxk=Me(q0#if;{M3w$pGt`BN>@cSWnXHy2iF`*Y1vBvm^l5%Z3N3+LlA&wbf +wCH38|1=Iw(v|Z?yXcPCQBZ)f<4KlN=o!smt3%`Bj1L|Z{?;Z<^ +CE0C7~qCOiakgRJekbJehiNM@xvrC_S<}Q8F{m@R^THr4%fqSVTO#**m3tZMU1ukE$7x)Wb;75kQNBc +Db|7Q#zN$lquK&C7{ZU{-qjZEt^I`~LctpX5pf%kjnd))X5X$eApu%h^#2Y%(ihJirzgS%+0aIra0z| +TwpAOEY(dpqrRJ^}at0`vZR@c{8ugW08{&)lV-sK>S!_&?X@#G@XjSkL}l#rjY2bKTJ?a2qLdcyjJG& +F)erLf}J?`B(QX_7xj@3wt2&t~8uR{49^`iS<2x&nK&r56u(4c0k=VOs`%Yk@2^^L?Dr&BON**>?Jax +LVRJyQX9y&b$Y+#6U=ZXoou;_GQ@bghAMqJxsfIS+lnIS(slHF$u3`yUaQpZJC0*$k)$!uhg$-Xrf#BlO{JHad)IVoOeIiUvF!E_A! +Wj*D{`yM3p5?##Fb5jqduNW{|l4{nJqp-Z8nDtC|D)AE%vu1s;a}is_h_+4a(Q`7%&u*gdLf}_Rw$Q) +Cr1z{Vmv+(fYm=xkB}H1}jzKb&`%ywdooJ%rzo0L;IM6q!zEkG!P%2!TqXGeFf^2-5CeX06R{FfVW+> +7PvP>Qfe%w17H`cHP9jD@lf<=9H(t7ZOWpUmp?(_&)bR5)y(xeDcf@OGHi;B%|4^Wbz|QdL5?-KIQr4 +Q+eSDE=9y0QkxSgPsasuUp*~GWQBc_nNAcpgoa0Lhb2R8 +tl$3&Un6QD-2iL?PUj4~bsxxS74~Zz>r&rakNkv&iKgP~rRs6PPlFJYehA4Ox40ds3I}V31)Ng8GX)) +*_QPaAeDK^li|!ak182-eFePmlNSzln6$OQZ!mv#ci^51=Z{cxU^TOj40@nNc}^YT_@mBeg;KfA{-Cz +frcseg0Ti8uBY67>H|UKH^)$0AuSnt6wB%>#ecalbe2VZT_ +k))RN5$+gXm?B$nbUE&_d|Dl1cP_Y4=P#=Uw>*J%_F@s#mj3ZUV#)jsDZ|RfsZOXM;xT*F`gw7cUDc6F5z)kJT^!-1{CayCWb5T5)1o!5OqKsq&K7Ud +UU?_N?vn!h3~Hcrou~?gAjqTbTa30uJQrHV#8f6l!Ps^vFfMP-4mCZ5~w2?h*+9#xgHTM1*5Z-GrF9$3{F)-or~8xJI^+IE^b +0=OV2pGCDQOnQ;#bN>{dHm~|eP;*8fSm3quYKtk}q@m-ux1x1o!EvcjFl+K$`t}=z#^^F&l+-``OZbJ +}f%x0^(JV2E{U=CQB=?g;f&Wu%#%Rm*U)?A8xvXs}VAol?+QQlL1CsbE|&_xsF-|==(Mi&cEZ-5SE+A +|fWyenL|YKdA3zmyvqO&*y0#?cX{HFai!0+?q8{UBV>lGI;3ZFyZr?g)kQBGU +0^YK&0f8}WbfXdvdbUN-+u9heWwL{yTz#<5rg@BPzHB`7yMkSD;NHI_#Hq0J^cQkc=%n8E%)5GGx@t` ++pAgIIl*queom1&_qgbkm2uzK9$)uj3KP57ajG8O=%bK4$pdgEn+|BjC4g4n1LzdT5~F%_Agcq@>Q>p +d>s?pIRv!CP&s!e&!;^{C>2_5U2Cljnr*@snJ;$T&j@sa$y29OXK3(!C0f&klLsiM$uF+Gx2)25_Arj +$cOgRkRDyt#Mdl~A*L#M>NYj)^gKkF%*q&cDkB5rD$yPoQ}SyiJ@(QCO&;$q+h9D}!bxs)?ObK5cpP1TF^#Z&4t`{`nFadW~EEcR%U-=tyMZK42Ui0i_geHm*F?w +YT5$m$BAV*=r;bPniTMq@%Sc8j$z>K|tiqP0Oux8Y!*g7VY+immqih_j_hzAJx*hsU_s2YG_E=%pb=V +@`ZPjHgk9I$+&w?*RSF=rHx#kok2?mlOM_E^Wz@`pQCkr_6<&VKU!;^AKwUW2Wz`F1m-w{ATVobRpWypH=%B!xcJ +odE1}!`pxd0JfkJs81tLCh>+a;tb)J^|8XPcjEnv2ydmCw6wb7D`tse6i4g!Wfm8a=~EQ#zSar;Q!mQ +BsRDaHfyI0q8hSNdxDUKFMAf=5x!uS}35MQ*5E`VH(#*DHv}gDsEn#;e}@qxfCy{q1hH_xE`OD7h~fQS8;+ZfSQAUX~qatwq2Qyd}F +U{}(hVTN&#(AluCVH8IgQDe$13jH(-e(LvMC3dWjU)Qza9YMs8f4C7*36FOJ;Mzlw_<13%fPK1Jedug +N{Z4v~qdt8S(0tnYe$lXpUWe@4Mr2R6L-w>0*}-Rf@Hhx(${9vRuL*4Hsu(kZwQn7m6E@5;)EKeFpOT-u=Ay%{dvs(Y{^ +*ACHERmQ1MYrP=3iTJOlDpD7*D(7lj1h&tjnR}YtT{s=vznKnbXsoE%pAeJf>);6;=5(!G3W(Vt;n1T +;b4y-p4ra8$0eFPU5CQ-YA>@MErb`-Xr-HuzZpKhAZy5+6<$Wg@0DhJ7cs=#w&U;Ql?bj;U@GjSI%98fT!sTX&bV53F@VW(dngsxk6^jW!7fi87I%f +aM_4V#1uwPC_0;X!R!ut_*j8wPCR{@1(xo4ET;ZhqZn$agKgUB=y;FdgJ($G#5lfrpoVqRK|>`to(ip +83em9b}vAxTrDHT+O(Yr`p@xXvQE3^<8z}d_$;z|E!PKi*-5yyn%tV-Dbt;q}zb{BhZVmYBaLZ`@{T* +E+%&twj439pP4>h$OoTO$fuuI$Y<+>Ji=dNS}$YMt4pPy)?K?fU+?<)Gd>2Hw_Wxg<4i(d>r&q~$CU= +;`U)_2kbHVADUp +!Z7<1&A{z${^ +a0JHyk0!C8c!Jc4cm4Z*nhiVPk7yXK8L{FJE72ZfSI1UoLQYO;Jm0!!QiK=U0f9-rA%sJq-ri+8zd +F3^H~NUaTZyjumXVkbghd?$}PkpTCD5OZXVbLq`T7RvnZ9LoHg58iLj6Kn4UsH+tYMJ)S4k#&XHDHGH +D;#I{(%zTB=sS)FJv_34*WLXDWf%j@y{R-f;IHerrgvUlvj;l!SV-5mWocF^)T859JKqR9BND4Iq{3^ +ols!Xh^Ft$MQkBH})bqjGcpIkH0tLWYFUC$sli2DXqj=x>tXDANa#$v;$8PcnqBGUis(JgMqmK%`&uu +vxM{l)Hqg5Pe++Pi&RZP)q1KN!uW+=}Kw0En9K)72<#?9mhCR*6E~s@<~?`C*%7qG9zwuv)>$z3LYU& +lMk_pTfbSgJk5^!LGHb6cL!Mc1+3t&zv2f_O9KQH0000800WU*S@Rk63*!U;0MZNq03iSX0B~t=FJE? +LZe(wAFK}UFYhh<;Zf7rFWo%|4UKaCwzh+iu%95PjEIu;Zl)aVA=OM)2NCQTbG7MmIlEe& +m=5-E^W5jUHE-ytR2Qsg9EK3JqYb2yqgbMbxOJN|e=7*B!ZRB2F==UuM2Cb^P7cmkSG5~oyaa(#`GCn +$J*P0Wg#QXc;o#6rLg#D$>?1mXgfG|zZSmB)nv#b^w~NW}Pu=Oso&&PBRLBp?cCLUwX^InVMGGQd{}+ +VhTTNQe{@vN9&ulWup(wTYJ8tcpbx%dDHOwN7NxWuxBc)oTie$?HLUI3B&CqtSRsfyI5s7BO`nyTa>0 +?Z6Z;okOgnl#Akq$wDO5a490GmR(3$cS#p~_@W!Hh7pv?(aL10=cD&LresFub5@u_!F+B_m&%}5gftF +DdtUVpM3HUwQg3$Js3JBcj#=kiEH@a_bIYD@TEy;PkzH2KKIKD$F +rHE4lZBKKY&W%KdnV`+iOB12uG?)8;A}Fg$RFzY +oXGmT~ppTNS%=?{HB6dP|xT*m~VQzd)`)BS)NU%$L)Zkpe6?5`(6f-dJ +R)aORQK3rg`zn_bC|b%Y1DcrVHc)}Fep<>TQ&!NZ~V>=w^DEuL%s=h1U7h02t~PudX)V_xLm@dad}o= +!Woa<=hm<@y5uq5?mi-LVpo&lY$w23CG!l0{BJj}7~bPQaX<5Uxhr)i7SV9H0EZFHk7v +yXM{W_CsJitC74vUmMj&`s>~z7f*S!^hfxyks$Z9jTz%2!Pl72(7~rQMQ7CU75FA}{+mN>_=y +gahoRGkOb9y?p>-6;0?-2jZv|4xw4p68=hGE#TrVjcq(fj1%*LTrgyuQObYT_L|iT7zQUcYYN#l=O22ntBU}5f_t6GD(I+)GufH0UiGD}0Y9&EFJFKELhE%@GS*0jE2k<<~>35GA(IJ}}y3!#q)VT51 +H^T7XhP@8}%D9aP?KTt~p1QY-O00;mBky}~3?_Izy4FCXgB>(^;0001RX>c!Jc4cm4Z*nhiVPk7yXK8 +L{FJEn8Zh35JZgqGraCzNY>2upQ7XPll0;9~dQdg!VUr9W5Ti3Ny&nmVjPTTExJv2l@5^5eQ0mjy5^S +|%!0pKa-==9raQkeqq9^QSii!6vr`d>I=;G;;$0B^2uOl&HH{#D+B!TEzXwMhX +Vj&|@AUL}?jkr=HJp9Bp$KTocxg^N5*F0Fs1dwOv{>huy{>hIQuTO6N$&T6N>HK_RKD9mn*RwYVW^;0 +|y?H*nI(h5=eDdZedxSpwIMVAqWA~}@uDM>#qqB{DppT(1U5muv8?k;i?+=O4MRkTg8!4i&kpEyYG@Ifn5Npi_S2t%_M#_B)& +fMd#Jj(6!u)<`q5G|0c;YTVzl1cvL^DJI12I5Hsx#sgoRIJTmjuyo;w&Gd1vxriz85G9?p0K%Kq0lgF +5i)Cp5HSd4E5SpNv2+oP-OdAsL%FNuJ`()V$+hY@N +oOa}MO4WO2vIMZ}kieZ|_|bNIQ)!d{D0`;V(-P_wj5Uco$z6ba8L<`d_ +I?LX^a@pf|WWdBkC;{?^-gF3)Y8Kzk43_nM@o+TP`1W$YF_u^zlU~T8gt6coe0NBJ>R~;_dqqzW?;%& +_CSokE#_;rMlPE40Y>B8H +F!2siCs^@hDHM}hv6%k>5UeWX-Vu8gED;D+I%N+@`p6zvh-MU`U{)H4VwqIOkzkd{D1b82E|-X)beb$ +8Lf~VORGOk3s4SqA2R!G%0{kPk%n|CUYgTf(5&&u56Ju2)n8K8l%46hUBzGA_K!gZ;FfnXvz`?jZb_E +*)GI$LSbdH-h2+eDx5fGcNL#~CnDwL+);MoRfjE~Z)1!3J=K@zj5Pae4LT$bj9-M2 +{e1eFqzq%iM|ty4?hCKa +KB`M$ANJvJh<#?QTF?N^Y=QFF<7PQB@(enYyn29>B7l!Mc*hd9CELL>{)GxqSK$bgitw~LoW*$3T#Zn +##lhrgz|ox%{)|DUqc}gtR*6iM<`jMjl%|OgC6Hu`XE432F8^#s(edY#3j(#azi)e3dRZBCRHILCLwY +zaLqGPqeZrkxQ0E%EKb8b5?(8hE}`jsZqn!4)J5aK{hdeYe7p!2({M7`n=keklj&pOz=bJ)5swoe4Rf%}eKfUo^UH;-5J49x?xwyLQ4@ +)$#EP;x&rNXYP;g3q6I&Pi!GPRDR9yF_`6N4J3T;+74ad@8VqLM1BtIm?DZYMBLXtsk9TerUBGNL%l1 +{A^AoQKv2ho0xPgLui3`|TL{w38T9{IrjpBUa3L@bK51#2I-5Q^P8Xe#V@uOZUQT7@=(?DqDwIA-Wq* +;YR~nA5usVSzf55!5CV6 +DCx?+aVZ!W6l-S^iC{~vlkNeJ7ANi)p28jPQbI9ZY0U=Dyug5fdAb(%TC7ME(=GtL=g$u6H^Jf@`N9MiN2rMnYY|Aq@qjDbxe}ROuJV219^4@cHxPpi%sqzUuy)unM_i>r0O}q|NL +Ky0J~CvF93~Qyc;aM2h?(Zv!o;f%jr74|J0#%J8TlOiyEUhFSu(t+70*ED;cd +Fft}9H!{}+Nz^IsqhtVEx`^v~A>>O*~H_npCLdYmM_%XCbtef;X +iccM5O@?Zj^}n26RLTAh4PN%&nPj-0bv7}ZX7yWW9~f?cp488XcnN|6UX>e0+!_gWdzro-b-EG|nS*> +85)7~gxWXhI~C*rseMhC`Hj*0!3t5k(zY>Y&e6ASKdnN9v(-pGrR;%{y%Wd9lU +tatQuk%9-?7P^bE58;QQ-uO-JzE?PTZW-9Lu^_RJD7RxI^LbrT%c%|5OT(%c}_qleaXp?~(YwgalB4V +sQ<*SHl-FezF^&s;z1w~(-9s*l+F8Z94cy)1p+&?GSyzgbeMy9sf|yiM=Sx{eVNe&NUH6nx_46Q*OqCk9c(<@A_e?q)HdBaWSxr4I6Iz8F#bY`#ELV>$7Wi +Fx?xOhr`LFoI_R97c&!ZGZ%;CsM&J1rY>ru?A?aLZQ&H`Rp-7f5x3bx@vMr>e7X{-qNxyCBiz%>hn&S +n`MEK}mqu&WRV!CVzqDR{o8_V)cf}Qwe>SMFpx7;+YXa*J>v$A8cM?Q-((8gL)N?zzE2Vrpy|YuU%9u +fh!&vLXnqzB6IjLh{&u;lbovX5tIBty*c1P@>#>i&{F#U)G+B9_uq7K`({!YrKyMKi=M9InDpsoe}Wd +uI|iv;ffJp%W)2(0V6*Yjs*uTD;X_g|k}{yw|7{N-PGx-LhN@GZpRs~h&5J&sv5RA2)WA6~w+C=13~l +=nwXB!>+oyAH|oX${G48_A@NiHjF>W~D4N+*>8Vs<1+6 +SS4O69!!IjXBqW0eWLc%CbQF4E8=hFB0P1?53n?~9UPt9n6({cuuQ5ysAlcsik8k73P?X*)r`CM3Bz^@C>qo#B2k`fGJNCQH(d$e0@}rxKlx^Sf6Q(hsP3xS3$@^GB;V-2VD(w5ingZljzP5tvI@<5AW)eK +FU^+YdA|IQj3Pc(tMt*wFE3ci?`3$ryMMTM*ckr&Xx=yQ@+AW(mT?|83t2^@0n;Yfxl}R0&hELpbM(<4lkjoW_DrpmCdLH+L9nM_W +GD#tatP^f}OO`&Gql4f|ai$m!NIjZipfnnn$9RKLZU$JRThiljPIPqg2>u9+<5qS|(RB0)C=YS)`^^Z +`93=WPgDZU6{WrrRj&OQ@74CY^R#IA+rs5qKvxXY8WKH7^}9F$YRT*O)gwRfVLb=%((ffl{~DoGhD~+ +rmZZ<+xrIzyE-LeUG9(*Mn~wcWr~q&fa6xB(Z}9`q=-`V$pvO8gMBAe&~0o=jUpi8zF87n<|086&f{3 +^XGmozqE*MiV&*kEVsJpwnX?=a-DFu4fJ=NSpJUW8q%xCsf74HP)h>@6aWAK2mk|-TUqJYGp4}=004# +x001KZ003}la4%nWWo~3|axZXUV{2h&X>MmPUu|`BY;0+6b$Bjtd5u_eXY+(tyU@+ +!k1DXy6x-LM2esK($mQFSoiquFdiP81H?~asYJ8iHT2_(MU@%Y^H+$l}do9i36`tb@}-*v|NB1vxd(m +`wLULnY~Q`n;R4wTu+3cP_DJysrM1AdQC_14n5I)Lr9mU;&_2fsHOq)U|4_gI7238|fjws&dIs6QlK!#zo`eD6VyjsIIOGr7yG@i>piBZhw&N40n#Nwn6<^un!d{}@_ZJdJ)6GF^PFJ*b>d2)Y+qKQ+GE6ih +yEOSe8Q^tVyp0fpih*29W^nDVLpl>kemiywm6cVG{$B@XY^N-BiJ5*qN(oLhGpeCtYjleJ;zYKqrC?$ +T9P3vi?&AaH08GqvWV)E`oT<&lo2&r)@>jdNRo1-L7;^gg9@&gFnU+O+ve1k%R!JX&keSZrdKs=DNxg +*-}7lo-s57COeqXkS8`iH_Vm+LdG#uvmPQmWip%11nteT7?#7y(6)n6A$Bz()r?-bAM;@i$gX!=zT{B +4SHqAjeXpTFBMrtDFpxLa+3nB>Gj(9a3fln2797}Y^Cb;jB-LC*yYLE&D)!6N(Mgp<*n^8KNHAT$_U#P(M>*7n@$POtSPOLx}7wK>9~RU3ks6*`|MaS&8Z7sm8>di0j`*! +yCt`cwA4-*Ww#efF%83M$~dHj;c!8wLY?^u@)&kg4CJGk9FH;bT|hLRMMK**n{dN&v!N_uBcEn~1xaM +HiKO0a&SU#xKQn^bL*H^Iq*tD{bY-;RBs={}Sx%FO}3@)1xx6G9k<<` +?{*pG*EAkrdga)Ah?wM>}pFpUY3do}PTrEIdGM#|6pbb)Wj3;&tS +Gb`o=TcNI(DWv(7l2E(O%LR3Jsz%h?SH*lyHfcG;5kD-lbWY=od^M-`ev*-Rk{`~v({YxL`WH}30|XQ +R000O81Cd)<(pF+1H3VP|P>XD?rHVRCb2axQRr&01S;+c* +|}_pjh+9xSD*fqgaVcAeCj8td9w+i4dF0+p5NM2IYDC@E=X+WqZ&c#%j-lrOuqVe1LoVZC@Bd7HYlY9 +!by^fae1#-wdI8vUOZ<^HrYJKJF;1qz}rVF@@oky!JTZlPJo4+We^nU14*LazyOl={p50dJzEFM>)B) +lL{)#U*9&8u=V+d8$gqdt+K?^C86{B>1a3~^t&bjYT#_LIQ+eq1TNsiIF{x570<9oD? +1vB_&{sL}Q>6GOHe<+&XW5=hQ*KwFm;ZOTbJ)@Wbu%t{;8xt)uutOhh;a&AS-mC?}v`F|B+^HWNxyWv +EXWIDCzX%Pi&%kLN6vEvOivF$B$D$ZgwqgqBXf=C{cH0MR~T`ame?3O?nbbyMl>3xRLtkZD17Fos9rO +-<#46h5jStHI+U-PH^gy$a_WM-6mtE3#RX7eH1I67-JhbgH=+ozD~j+R7eRES)z?Acm}E9(7eBNh7h4 +;o;4nN*b#N@~xmaAEFqhxnYcXYYil7;EoG0M4HIod8U9MKcm-w$_0#;uJS}Ocfk(?7!UZx0gEoU2t0XHQ(K06a$bdAD1uX}THiH@rhYI)hiNfGoh*Wn#^nG5vL(} +(@`FeUeohz7l~lhIsdN1K_ur6M8NC +mlcjmY>MDJhEx#Nvn-Mb1jCfms0{?V8l@486h=|Jwc^Iu}Ni>bL;BxK3t|`%$3zXEwdb*Dal0&i+DIJ +qrWAHO#6>XGcWr23l-F<;r?2Dm_cJNo|vM-ZGpKCC#nk_n)nJfgI!@edTPoJ++>@V +Ab*C9=eK~cU5n|mtuv8m!l3~Q#GLG+Fpa^|t^kVP`Ogo}*%K($t>4JK7J!>;fi%7}_$h^gbgrN@UD+% +kBcDJoLUE_X_>HEh-)T0tPx}yzs^!?t;a2NGB8S|1q+)m8*EQJk#Z4tsZZ?wbD>AAK;7?p>8uzc!?p+11noh5DS#!-D6v4jIBb~a!<0VM{VX~U8cx5hEMS#%cnKy`p*M>C~*zZ;{W6~2*N1LmSJoe5CecEgK$w0(yyHUo +~FiBVPrJ&SeZ~D|e#X+|k=7$w$bv3yVX9zCy4$lwnr@F&CYb-K0y(|B5z-U(r6)!#W)Y84b5^hiTYSh +Zn!yBVdljUlsDv!FoBK&R&W}?b35_hVpW|jlQ7}Cn!zgXMiYFg5V;izl=s-Sc&uHC-$2Wii +?!yjk?CPinX>eh5;Ci+J-}~&_7Iq{oq^~X12H(&w|lFHY{$Gg`LHTzqJli+xB(^Ru@?M^<5(iBKF3twdLQ3fwncIU5# +0nj-$&vF3g@1kN58@^Vn6DdhHz1&I-ELH9Phzw+uD69m?ioxSL0X_G1d}tYgnAwCJ=QRaiONBa^)pwM +J$n-nMGd^oXhcm}ZtvgVR3g6;-(7SaxhVQLgH+u%WK61om5VdRAu|6We|H2 +~(>pANjlWPvhlud_J21MEv`Dv7WpSR_o<-{!8k}XL=r0I_2b<=Rzp99-zH}H +?#+M^d1To`))e0!Pc9pK?$3D!K_KvpE>MuzS@w8d3$wSK6R8n(@y46*UtCObc3m%*ogBWmz;y57CsL> +hOBR*SUj5%eqRI?;{Gd~uYH8D6`Oy}&~=VC2x7FP%JVcK;jZWbs~_(kSAkut1}AxwVa+sR|!+x1~H(| +7i90A+Lz{V3^o&}#ayEz$v<%xX^29-XU__Pc!Jc4cm4Z*nhiVPk7yXK8L{ +FJE(Xa&=>Lb#i5ME^v9xlRaz0Fc5}!|BAy|9B@qO7-*p%DFi~6gswud&$fypxzf3ie_vTnia*l9WQi8 +p^1Y9A;_(djrLd3-iQwj}<`SexQCZBORv8+g5`oYhE$H08yi`1O)21zp;S-G&S_LzBOdew3D)VKpyZ1 +{?0y{*%xLLogw!77NL*>_u*3`1y2@F=+3ex7}c)2!^>SHC55Hch#q)mb#NF}!x)+!fD&}o0Fa2bFb8R +o#4Lm0*)i!z_X;u$QN_H#1~Qf(B3mv9(#k|nogHz^d2l1)w2Y|)m@yLn0HbPU>cW|p82Uzn1I9kiAs+ +6R{wdkDN4f!|XR!U|=Hs}v)jh@pumjQNXZtk+~Qxyik$dj~8g_c$adEY65tHr!&tN&H|}jc`O8Rym_C +kMPvfDw_Y-rYM%rvuqZOEOs6-P^Z&Zg-E32)D%ZHffRy=6 +S^5MxjUu!Bkq@6(S<^d4A`yP}*KAGVFcm8%l|wetU`-%PWC;?eY7I0Y*eVHj4y>$66>GME^!nUSJkOR +C{KPESG>f+_i(`7Lyw}u*epGf3_;Exbpd^g~HiNL57~4Xz>!kG#Qp;J}u;}0t(vd4oM&<$VvZsS}D(+ +6^NKJFohzYyy6cN_TQG>fcLJiU(c-8)FskmnXR9f(_q1~IkU62!EeMO?JsXr}9%Mhxg)U{RU6B0(mns +d2v&Of2g?O8dvW;vE-=D-3RuARB(-K)XW8($6FNt>+wRWid=qsL?qs+~)k0Ax8*7YlIuNx@^_o=?5Y? +${kpKf06t#A*{^&23BVf;H}c_*lWO=X|;RblmOz?oJhJW-c{&i<~!cFZ#XFU^JBUUvhG9baBy@q-IX~ +<7zZ@&%DWW+#h~G7IRkNHu3|ep(qflr1Y_kH%WOjyMD81yr~~?_Q$f;?Als1EK^p$fwg97)0|K4_;fU +JGu&o=k1k~#cBj+X!~d_H{STe}uburn_};%O@^?CdEGW_W(hkL*@^yW_%-Q{6#`3u)4o6u!mvD47`BQ +h?@173a?@bceI|@D8C3hkBK11<>5^|iYjK4{P;ANpOo;ltEi`g+R-brQ@&}0*eZH0x5t^Te`aQIm7Bl&tjnVBhn-yB2x(aH-XTJPz0GeF7z5aRM9lx-jM +N@ISFjBq96YQ2fV$FieQsQTRYIc=%RVDf#hNH3D>mGX3%^>$aN88nSASttJGEWvK1z^vhP!w(hL}#@1 +rQ7=ZZR_WSessLnqESMwJD&7ML+^6zp7;OqrsHm3DW5y@#-Y$))awqsLHE=hlqFA4J6buhe{0WL-rQL +flzO4$PgTEWhR^QsOj3UY!gJADWncEcFj4f;o*EunG2_^aKSLKq8QD2uGH_JixKy1shBgGqTE`$n*dy +HnC`kgH*ymB2U|D8#i@enxTiug~JCKHEf)X5ivs5h=ZfOECv6H*;{Y|;D=azc1NCOssyIFjrAs;kWgL +!1(#YU8W)C^Pte5Azd1dh7oHc3W;RH_gh9|}Zl>vQ;QdVvY`WJ23&TOmk{1dQV!Q#c>AfcaLZ8V1KW- +7?wEn|e^INDA!GMF`kfvR%m6dhk+MQ33cHLSg($VbtPDG1@uh3JoIC9SILvZt86#Q7XTTuFC_9l0I;< +342Z=#_ro>8HND_c20wsN#BuR_}+U3j^vKUl2inRHXJ=mo$k;Jng)rC5k(ce<8-xRY#lcxO(|<^(>Q7 +1=!sFlU)W&17ZiFMdLY+3q`x6I7{U$lV+b7`A~#c!vYWC>;NdhIgcO~FR$8cgP@^uB8-X^ZUKF~eK6l +C)&@RAb0H$~QIPDrxXwtw?y-7A!Pu@MU*b%o+n5ZAbbCb{jquoI&0V7Wb+CbvSJg!8f>+^&buJ}C?ZSwqH-tS#0!Bv#XRTp|k_#;+OAJV8aYvGDW85^3N4<RI8ADv?GXX)tg{JaQC>C4mvs}83WpHq%454HNy8&1!rCc5j*bV9jcr$$PlRJ=$Xu90ehiJpL9q70Fm+zw&%JjXn@I7lsTyE>xhpN_`mPGaLk|-352#7KRjF-CweMbVYG1Qj0C9h#)`Rgart-g5LZN1rS@sa-izPB{WutWI +CGPhfU+MPIbyP%jARA4t|x*%E$NmcOfTx+)@q(gsvid6@)nEDKNzcpdc`V^L)mT% +pHi8VjRH&ZQ%Uc$>cl#a*o`-kd-9~V<=JW;Db+yl7;&1C^@Hk^<@jGvO9KQH0000800WU*S)kYv@|g_ +)0Iw+k03ZMW0B~t=FJE?LZe(wAFK}UFYhh<;Zf7rTVRCC_a&s_lEYuXi5}<6=mzjHqd&7H@+g$)8NKvlurqu_V1Q(0N{{3OeBX+r#nyq9m82 +ry_p0ix0qR=8^b&-jRnYCa>R2$9Iif-PNJcWNBEZKzpT~u1CVsylwCnpoei;T$rcJaNZN!W!DH2C5D+ +jnOd@7#g~ja5n+%Nr!9M5(kis@eg+m8w{(Hf1i1V3{yn<~kXTR+ZYY#bQ;Px)O^8lbcdi1{N-q;RZy} +qmdg^rKmV?YwoqbDsygt|Hj|zowkh4u9U^KXZohtP1swW=X{yNUN3j0$iA1UnXr^=<77z|C9gE-%1!! +-S2v=1W7KBiu0Kc(Q$CiUEuPn?G+s$$In03W78{z%xMquRz)vyiMilb5cGfxZxY!kj-@U6Ukcq`3j+Q5$B&wRp`O65Q{N^`C?>j)W>D +M(S{sa+MAne3K}dv%xJGVWl7-Cal(|NWE5do`JirFhmqPe|OHlJ$acleEgCFDtOew)^ov`X>D$d +*pvo>5(YTiA_E8*Zdj&-E{?%}>ym6G%>y#@bp3!J49(nI8n(FmnDcxV6A< +j0$JiFtehAUV;-N72FT^6Xi(4O64FMO<`|qcgB$10BDqf3)zxuY?#vpVUR@=$_5ky(ON8P +UQBKi77a>Ad(5|pprp3{oVk58DgY=QQ#366To^WFIl?oZg(jt45j3#Iq>-NbipY%n9izU4vKcOZc;Z%v@+%+!0|~6 +)kJ|;^lY5*}FZu*bW&{?zM8;O{SFB(et1JKpjFqJ|s~ka>4Zho!QMFV~ruIR+{GtR4z0NSOsp+F8>74 +?CK9m_Uz*YnXQ%UgDh$^zyxnT%OX>^x)t+BzU6;{pby4FUx)kgaP$IGR3@&u{sV=hn1YHAHRnP3T<|# +>ES+vekZi+$QB?x$;cv-Jy3WN`ag3=a#UqgnI4U +<%XpioJm$oUCDVz=f2hiMCuV!Xs`*3sQl2YFJ0kE($Ar0lL4!76L8A?9LO(eNS_&J})up-+XpbN;SDY +j>$A4Z1c3C869m@BiUEK-yfFt6Nb4E(Ez;EQ5N8VMQ4c#+N(LQ%#SaY6#_9Y1TA%B`Zz9&-k<*XgHYe +YKdb}0SmkTFmda;Q2N_8Q>-c>mO6V$sRR^AkX~YaUyH&Sl=x!3U)D13lxy%-wg8K6EdCRBrs50oc^y| +mqa#ldCy&|F*Z9ASB+mRqMiXtY=%hmf=|F040?%`H0`Se$;JgkL;4fc;Efm1$YOMkCwWJM2mlx4{tUV +^H!BAo&_VkoRBvjNcfWKz1ncXZbw1%Ci}F=32Q3SH*okEv3kNTizG5`eVe*hsDevC1$H$AP!X@__ +QbTj)LLGjXSEuL};(4aIn+{vH6_+GdLo_4dHbPfGGiX7&?QXg+(u`T8zlCfW~egu%ken+iK79pRhQmQ +x^FQ;s5d2hVv1-P#b|Bui33&YrciRM1nfSBP642Kbs{ACd)+`=lLh@+ +)h^g8j1W$ZW#cfpVYYT;IO-+#@3iou3PWN@^;T{Ky&rs!K%Pojj=OI0xXr?>sbVH#dUdu`rg}_5z+-K +$-=ky1jYX}`o<{RuRxQ&E)!FpIXT&;u=i;`cIEMi(Fj8g!UgA?M2J?T%wk+IEa{Q&p7>gTim`m;>}-Y +qE{nNxoTT+y*xU_LMRMEQlG&k|8!bOlqG7< +gb9zOOWKokDhjhg&RKY42xgg@K>GT!c)KQ3|}|Hol#ivi_b*@G9Rb|li<`Q8C6cH3sbofN-dajtUgV( +YZZ$a0<_h1M&igDNtL0Mh}+zGzrzXr220Deg#2~binwOtF_5iZWhETg)~A>bUDV)?r;SDXOq(@HCt^>+zWHO{{{6)gb%*qT65auvq +(B7+#|<$%9+yYu(P8bQlCFZHR(W+i8#U_%Y7o>X&EZ>}_wy4}@#AA_&@O!Xi~g^S+xnGE6A&cw +hZiIxpF5-p%s7*u^~0V+6uBzgS3IxOqPDJM0$raR585)D#cei62_vP#5(3voMHvf09s};Y)&7*lKWBX +{EkIiCu!YTJ79Os7|L02NG9EsT0%WQGEUtFox>J^I+?K%_pZsgQuV;C=u~?Rdw7+fbK<@-Rrvn@lWmcNM9P) +7^^5FD5D+(IM3sQ`)Xah-Z~0XO?Ad3wXIff^j)*IHJjEuH+_-oP<@g=vcMERzlv=IUCeP$2i%0S$mJJ +muqdZV>d~fnTwW#CK)Sc*X(ahuj+$of8E9P$`M8{+&Y6?WA>H@%m$Uw?Z6Ii<=vZWd*zPY_EJvG!r_7 +hZZ?DFYP%5eOiP0xAry6w8ymtWFQ~@n|&%kL$gZ);Abim7J*MJNN>sK-7<32GflHCTQBg+qWtjEu@fW}H$SFSV3UW +MtJz=jtmhtgxduiKh#~>Tr2SL^{I|h-DhaL>A{Mgk`PanHHiJ+=M3Hqx!#U5M+m5u8Ru6X`3DU$)kOk$~#R9HS?TZBkot;1Kh$nt+QZ60b+8%s+Xu=;r9BR_E=Kv!2aXcREZ$XlN@2if;MtzAJ +kucuyhFAvT`D2e0@PT7q+quAh1M){v^v-dEOlA$0v=aU7j=PXvaGrofXx+lj@rUbcNPhlA$oMt3S4`7 +6C6^4oRp^|7u@hXhy#!ue*EA00KtT*v_{{^9D*u`vf8kr4_MK+;bBKl*b9!&RV2=GH2}mG;SNPbyek& +`LLIO=fH8t0cHiVw^azL9n>S`a31A{nq{1C61>p9@rJ6QFIeOA>CCKG +0{rn@@Zb~W3Pg@VF?zm=7VAR11FIx;nPEl<8y^Gk=FR#0_RTKB1wc^7w9Pgc#^uP^g|KvMFi0*4DfT$ +hI~R1CB_PCG>{!{(n~_VIOS4Nl^oNw}-F>fN`uHH(t3rE?p-v&146z)K{tHk`0|XQR000O81Cd)<-$W +t$oFf1LU48%nApigXaA|NaUv_0~WN&gWaA9L>VP|P>XD@AKbYWy+bYU)VdCgr}a~nsJe&?^~0Urb?z# +dEXI2_pE#Ah%F6sQtFWr8b(AElu +I*}-BvHQJRCODrWm&apn^$FXbR?gtb($CPN~vs<){UzD&#zUQg`cfe)1+6*|8S`BrYiE~PJhgPnXw +ft;)8UM$JYo^Hr{Dc-^&m(F9N5!Z#qEC~fr1WL;%lp^lEuqf_BK#-4vk>+$G(1pOVg^=?KiJb%Ab8x- +%4b=7T-6upgJr)%}RuB&<$MaR*mPOsMKEGnyLSwSC1%zTkHP0)U9-cFc2{*6YXC($}D^L1Jv(*=!;<} +|8S(M-Ju36*I9FP5{pPjDX5VBhZAYk2zG_|c>I$Pj*cZ{xg)(xL{1*hQII<)zA^#ZFVp+eQ_usUg>1r +&gNKvTNY+ylh%%AG@Qm9Ee`cqNc6Qhe|Wi%%UQ1+6%+grELl9fVP8B+9VkhA0DykT~sE~$zP+_RjI6u +@eiqJO^1osI^TQ5QiiAOn~=9!ZEE3-Is~r#{%QqFwTxDy4@5ReNF$O2UX`FfN%C?0!R6^s^~Y)SAz%S +MoPa=8(Wqfv>nka69cb;*5i8@%@-{8AFKN-S9*a7%D$3UpEUF@dZa^7fnqjJ`b%fu=W}4 +|CJHhbz`L&90fT+AJyk;__J@?QWm~>0tSAc;zCdqMUr`*nd)ooNgp2UW@kiw;Y93jJJ=~jzHR&Lt1YQ +1TjsI8)PdZW;Qtkf3%X}Y!ON4luGmIm3CU{s48n!{t@q|RY@zw;ViRrNXrI?#SoHBAn7Fs459Or^MxN +Hp+mQGo%4e^Z|T5Y!~9)k@V-Q-N?{?sw55ZSp1PM83}3{8ph{qlftQ!)TlCkg+n_DzKv^iU7@_!yTGy +7+YFqY($6+?kN_9ailV~wi#NrX>s}@1*LQqCxb76-xL^wsjt&5%y+GfK8a;|o-VINCxBb;36S%Knw>TtvHgAaBrmk*5klBP~itTa~UTFw1?r}q3kThizE2D)n+f){wVd9=N*P#A4n=ZmhD!NOF-WV9@|Whk$un_K9s$E*ZX=?q%E#3y<5TOmq%=x)@u;7eKJ$cvd+oC*biZPwpE?=T3^F +jPd45bn|82!*Wvqw{5Sh4xN)j%q*;I5k7V56KKf3$BK7vZ8 +yRSBs`9RO^4yXZ^8e{ky-2j_0)LC`TstvrsOYsU(9g_Hj1&rD1RITSIq4&ecGN##8He`kPv|C{`Fbu9 +*wk4F`w+IQ~XHLJ@rT_6SNSXmGDnpxLnCalN8Lk +3<(;&Tc{j8r6XnDTPAbvhjsg31qQTSn0qBxF|?2gB_w|$MINN{2k0TbTEabS$69MbcH6Vs)`1TUIwhB +sDluTo)C~Fe`-Kt|1b5_VQ_8 +0qTi_UH#Kr(-Nf<};-KIdxgHMoKu|l)APEQ&IgwUY?N{cE5QmDR_xB>W_?t&r`HqI2 +nUEIV-Y%`va3Aw=qL>_H}U5!W6(d5!+)*Xs4Y#1fBeLHS=e~Yahj*4`lia-B+_LCmXCe86*FitWWir7 +;gqTw66MY(=tuMv30cA9M)G95>6x*DA2D~KY%1U3b(cCgdX*Yai;U6aW`(*gDn9AI>b!3jsBo>dMJ3O +T@tmRAqOsM6j*&gnWWaN?E3dbX9*9vydFgAvhS#}fJ^KNtFhIl*2r)|w)lWbo*rtP)3->6EZtiF5p5` +XIunswj{G%@gf)Bv2jisE8t9iX3X?5XzhKK`YKr=SA!{i^X$!xCKdxqvmTlhjn0l`!kCM!CJI{{@JvA#3wKia51mrj)G*#7#|Ax +ALP{|F1Zxq;F-{!Y>G!wizN%~!c>BRG!~M0hAAuOogyW5Mb@=nAPnDo&$VZ=fl8(c +~@r_!<++J!Lc&5+MTeGEp;e(zXz-D{bpZIRiqjN|UiiO5nC{(EVI0wmi9G7Vxi5bC}_Os2u^C;y1FPpz&X)B{YWks9aVVc?r0HyJjl1WJ0nE7geb^Cd^> +3VT+|D3JQ}qh>oSO&y2Ze+8Ugsg$RNCFa*<^tJsx|m8}R-zSut~lGIc~mJbkb!qMQHI +7qfVp8}Vc6vf=`)-ups!BP>rPqTO%^B^j3yUztMRC7S3iJN9HHG@wvJ{=zUb#N#|NL$%4-foBhrgZ_ZvlIgeIdxnzWzT{!p;BQ=V?#Y1S&F6RhqrVWrXdnE69c})bNE +82Vtgw4>=VFA!QAnIAeVnV}-&@d2j;Ntk`7#RfbI?tG9-r$Z0HU><{6=nd*=4!tZc0ptb;(FSrVSg0g +9rx;Eu>y80*ZChYo2?n9Jh0=CRtNip52C|?L#3^l5Ph42h|=xN7D57XHyQ8XG5kuyC!zI2S$L#KS!`%p{s|6yRjiQg#GEpVjmigt$g +_>&tE-x`BQTKCOLcZYx3&J+qV#v_rmenaA1DIaqw(7P`9BfJ~0%yI+6VBzQF!O0{asR>}Q7u{U;do&x +Sz&9Xii?Q8dB>Cj<}72CxDh0^*nEb$}zx?t&C%cLNMou=jxuCmJ)D-2+6-d_cmY1hcy!gAcaa8H533N^krIbu+)WPbEZxpY0!? +#KDdFhrz{i<1Hv-{KikXmzoWyg~p3JrC;txj-I%qXS#fW3zEgsZ +#;kCZY{IVQfu;agT$W&XPfjx12%r}!k@wWMf2j$ZT=xf;&1lJJe#3dFmcm&Ve6Wk!dz; +U_^OdiZ}EB=j>2`hFGJi;c-L9cL#Eef^5ZTuu}d|vQ7*kxhE!i`OnQ)zv7mJa8xF~Y^D30TTlSSEv?h +Kv|dnS3wLOkOUFE)$#vqB!vGdvcDWmo0k+`e}MnBi9uDB9H1l2)?zW0Y^rJEJ&UwPKw0{_C{cccV}!I +i1bBXqAM~r46XtZI=yQ7VYCkaTXG-xP_5t#qAp01jKp|9f@J8$zzT=U)I(ojeVL^LuYF|Z(qei#ik}U +xIeu=yndfC1y7DB!Q?KkRro~#1x!~*6t^SHBMc#hiUM+(FU4wT$XMFBCGNpGt>Gv +MX|RsjXE7=nQEjVG}|YN>PvXu^8>9es>;>qPKr13rS6gkFys~*@UDtW(SslrNwYliOZmXwMW`q6 +fRato-MW2H7{HZkz<-HQfUJ|o(;N*(Niuupr+%Ai{<=EWfpdX0-J*0OeHblD#MV}2o@Sn9a4H0$=+-+ +R6-}ZDv`fV7evq|0XCnC^Mty_ARJl@z;M#;?je+5d7e}9NFTy5|Kg|6SEZn+{=f0@!i4TcpdI2**A~+>#Ok7;4*@ow$<)QY@efR`dc!Mu!U5n0F3qo?7A|4x?N`F|_Ifxtw2rRNIRVG*?<8>gct@8Jj0CkWEO +PX=?Q=Dwu$BQDp5+I$_v+hdSq{; +DBZfD8|HBZq0TudUk;uRu+voEw8)sMyvoOs_26Oa#9JGmt4`tI}0s7mAU(`DBSW|fmKC{1GIQ<)^YDE +=0=jq9DoUM%Dy93#FG2x*dqOh3x1K8Q;VhMr7tYrND_WGz8;Vo{`F8%_YXR_9~E`~4n#Cx`_-M5E*`B$i0@q=tJtz0BPDuuXPx4g8v?Q|e*qfQqhViJ+(d-iBPfdAWmcZxlzGWjAofE +ieJ3z|Udr3iZlH25E$jYM{N*@Dcq$q*24EeaU%6_&UUujI8Ly9Y2- +9#P+vc8`Bcj?z0_z +H691I~X2B@9A_{+71{3@-#C<0k9+9pTSl}jpk8L%IU0I$4V)o-WBr-JVG=>Uu?HDu=jF +>av(^yj4e(4O{)#goawFr(4&l*#RR^Q?+cQcmIK0WxuVeTRT +C1PxD9thxV(B$fhbK6pfz2GlTOfI*99_cx%NkXrPtIfB~R=L?sIl+Sk42}okO=B)4m)d;W+MB%DCwEXln~D2$?F_3&wYE<7&dyuOZvA}rQ!qhp`N-kZBV +u<0dhV~-omfy>CWSQ;&lakNlJm45QeBr`0^~lp#*VTdSxToyQI>R$YC~4;nhWY3#7UCWrnE|qg;{daR +v({9d2^dei6WZSWu30q7IP2O%H=FP9O_!mU!`_3V;U59-=#>7`p^KeZo%owRVEXQ-lbDs*3#FZ!3bxM +VtJLmtd+hm%JGe^OX}0TXY<7}ey=PRJ*Et;s$21cmHD(?aGeFsm3Bb9651jI>4DEoKUsN=bMU8HD&zd$SfCZ!-X +PLQo#t0oNB>pw?&2Zn<*mrzPk>))TZO_H8mG{liewFMWuF=!Yh`lr(k->r+#@E)0{?5YK2wFmI+xJnu +QqH&(tdIigxUmT|^g`6CM0`bLl|WK`~S>Z$wao6Qd1feDam44GY}Ur-A#&s;nbBJZhA>=V%B#qH;rU4 +~)buxxD2KjLZVn(2?Q-eMhT%P?0AToIOmz_12_Yfg+gUDcwdeCJ+7q +Otpaf5KmxwilG6U%;A1Zqzu`}rVZ+j#{8!?OoOA|#b?y8y_s8le06O +WDS3Uuw2lvVV0Y^v4>o?$UzWMp}GmsyHHDfOQ`-f5-xM0T1o_B3_etGiK%V&u$l}LVhe)jI=o7 +Z^M=3?|H{sz6eNAV;6=P~~CnBP6t@4g*f9wnMFIYI}m<+6@XAaazPJ^!ztU!FaGmOME>KSLI5V)J64u +t^s)*+Q4giMhZa`GwC+RP|Uc5xF?Ov`5h8Tji*a#!%=HES^XNVx0}6O&kd+`-wUDA)zemf}lP*UAhsCR0$)yR@sQWHK~7@&qW}y%*T9gjz-V +t&S%Jk0oRDAcQgyB~}}@oy +k`XkYH3g^(-hCOx?Ck_bKpdCElG?m;Q#ZVtJABB{1?aM-RsnkMnjjiM@Amk|0rPgLLdU)cQC4JKXH?M_!JFkw1j>gF>vV +Ja{-mkm&cl`>mYLfllvtui^DAYQ;R!V*dn%=jb;u(ra*D8h&+2Z^iBvcdhGn%1#yYo5>vTKfd<;D~CP +8S~)ab4f+wXso?3)`ANmrXH##S#Gn+P%&K8fz#Xe=mb6U<{Va+6c1)rTqYY%ekkRFs>X+;C_uwXkG7_ +ekT}8f%El+wRb;hz#Uy+5icJpLA!r_MU_Ni@Gy%I(wy+*);-FxA%H7}qoiwBNh>-;LzN)QI5WVh0#e> +n7;b>+qkGi;cQtmFN(K$L3FnK61eM`*9Ow$L$&BxJTB=$s$c~3mHfsN+SYyx_Pno%A6`FeR_*y)FMy@ +6+RNXOApw>8c?ohavOm5X)WEUgE4XP8MtvT(oSewx2b-EdU7}07P%?L6Xdk;@OhLMVNiB~Zp=U`4woz2aW4LsxsM5|Wl +tcdcF0PU6#Zb_~oe!0doNjYYQ8K)1gDKOT+TVSkfxO#Ab?Q!mgPL%M)Q@sgYjXn^`Kh+=gvP{J*F;0* +6zIrElNN>VH4yciq8cxNqq`VumY;vnppD>is2U38KjBpxT%39%Ke8x9y_4QPe70A?yTCJ3O%CxsI>0U +Y53d^cQh$;VF@vsDulasvR@gZ50+*p+Swe*a>*Wsh=S)X7Ab&U!7gC9g9A4jr4Pf?rQ#tw%))8-xx9+ +=EKHQ&EpFYf98A3MeS4r>KmQEU|gbuv@IqcUZBY5u>@T7Np^Siu3y3!L<)#zPA(b}Q+gkRmUYz4<`qY +xLg?8hrMgtudkFCNr^{zERnyZ~Kk{9WY||ak>m))T;OGpTWz`Da@pI?@wwx2O{r4mN$5qX!OxgvG)b~ +Cq19zJ2~#@oOYD2FGk*(rT`%gxkEsw2D{L5Evc_J$I&xJj;IDZ5r`q{-+t?TvFZp8bIY{u>XYj6TFsI;&? +)xWwXxN(QN$A!)<6LYmA`seT%uRHA^`qG0b={5V%0|2K3hax`?fzF>Y6)d&BA1ueE$T<|=#ML+iZTCl +`J@%oZs!!zq4wv2MvNzMBMgwy(D2IU=4i2mC@ubY9+VMO6@||jD`zJ{l*wb*2!|gmRVm6Kb9o=p3^z +i4d4fpo)_{_d>)(1Rt$eMu1?pP8?L@$GVec~5=z4xA$d2t$j`pm#Y0L??E;Q%$qv6-Zh4=X_cbEd0j% +pL0PiR17-;-}7qzxvu-Co4CX(+b>|Hjnyrkge3wbyMLjxy}J4@~8MjmVfM*FSXTz(G-Xr!M2?L+>@{2 +N>)E*LrrI!-3&3(+5CV1mNv?ubQb=aI}rWdshxyQsybrfkN=aT!nn9uE?Am@&ySaQVGy4k_tKmXt>v9 +Xi>fN*XcDcFK1hh6D_(o0_$CyFN4WrGXukXl@E_`)9`f~B2-l>9gv&IMfEUVel<^sB=iYa#dwhVqt(> +dgO#3T3IVi`yWj5%zn_)7zeBZw^U%$@j)_IVe6I8-yga*SGq_@jzvm2Aw`>K=Qeu%2&vI8HiQ=Cud)Q +-+0N`lyt41xmYHLt#i@Py)ibmN7qVBe0+eLC2f^33vOm! +tK1~|XPD6mIzLlXcH{ERS1?Ll&qAq^#~9)hVgDx>5%vlKKKjC=`#166SQ)nO&*I*LN_Z+QyvTd-K_22 +$s`!_~%#?MSpek`5txR;zD-%IS?lE&cSffNt)f?2!%RS>i21AK=8?C^0hp9gn^4lYRd&m3X6TR;bypU)8V-X +{CG20gVr{nfLO2Tb+eIs=^I&zQ42o0wjw_daIv{Iad9tXp#RbeMS>KsokM>WNz8ZoSV(cXRizRXJ@;a +y-EVbJ8cZe;XUzweDatL|vS1eh&^2{BY4I^iD_aPw-57+2vgSV9tIQk?$6AoJ8k>q0ey=`FbJif1`sK +9D2IXGxRF>|IIu@*o|#%puTd#xu9wCwY@t!)hYcYvghtE9?e(1hY!TP@Xw}MAXaqgV9*VN#)FB+0}BfOCcJ{J|J?uW6^*{Xw)^t!8s9^gJ=(a)>g|sg*`gvj4EAz? +>f)u9}$Wh0E1~4xeFR{sNQ~lGC{~1lRGLh#iCTYdMFH;xJw{ +>ACJ}@Hcu6?^Q&GCEbTH(7(jcVMTt_$k+TY8Lp6=yVF9yXhTH|ZViJ~AorJ)4&p@LL5{!hGP5^&(D9P +P6v%ctA7CT+ZJ0xNGMaqowCuZC)s>tPk^Nn%udSY%vJr#xQ&nG2E6ioCR@&arPT7qy_tKiq+#k*QBpE(FP=>aHfj&QFkYCVqFlO_UXkSmZLeg~M{TkXIXqs(5rt9E`&B +D(2W~C0>Xi@y1u+Mt;^7dKOzmeun#Bg5mkL8Z}F#H`yf0LtV^E3U(bD=Zm$^kCq0B`Gret+$|Zw#8@{ +!H;!A2Q=(q8VQb=iCNYmG(4&IW*S$ow(0XphFi)?@DAN1pnvg92WemO1}~x&P~(KG{}#a;RQ$dGsF^+ +;E&!Q9*LnAzQzIubIu)0;G_9#@_lWLF7#@3mDX7S!l%nY17|+g$-|*u>Z4EcQvI8;-I;N +Jo$wFT4(|eQ(|`B_h<_jh{w?M`1M;P|b#B)89K5CsQ@l&hZL&X6`K2Ab6-s+La(?sjOM7~wNey)Me^5 +&U1QY-O00;mBky}{+00002000000000U0001RX>c!Jc4cm4Z*nhiVPk7yXK8L{FK~G-ba`-PWCH+DO9 +KQH0000800WU*S?Y}{yDbC&0D}tv03`qb0B~t=FJE?LZe(wAFK}UFYhh<;Zf7rYWpQ@`Mw6izwKZYeP=97{6i~zcxbS1|_i?U`M;1uvK4Bif@Dbjb~f#rRC2TT9clD+; +IJcqSV3u^vfKWRC>c}Vqo}eHD^z}ZqT$sW{WFPiILp0+gV~~Lt`l>-T8`3CB-T*O1{C_Y__VoF>on~T +9mhg59w#8%Nv=^XFyMqB>sISDKj1p<4Ei%6qTZy$e}ULD6>{g?J$+A5(PIGH}K1wUyGisQ$Et#Yx0o- +KGsmo{9$+UD4tM878t92J|!s=*0^k0lY?niYnLbIFs-^6<(}=+?NumAA7E3!Ef)r-0s=~s)(2kJ``1) +>8;sodWWj)ugYM%5K7Kg=Fo*YC!p^mdp;)bvDqDk58~X4@8>(a~3n7VjC){T2{b@@Up3914VXbyhD#u +E{cFpZ6ocpCjVxcH_W&Dv?>Fs*SXPr?uMQpx>y%`jy9oDsbyUnN2x~K3Lkpq8FO`vJ(^>oU?zGgkr=^ +Ntfm!}~vC05j>LJG@RYOt>IvAZn9a_(Z9!RvQ$tt5u(@D}U+uyBv>!4eh|-IyNJX1y#vuW&ojm@Wbst +I)18raFZm&3oqOL|cM=x_r@f*MSf5VDerd4Yn{qN6wBD6ItuV1-BMU)+S~FNuCscDpzK&ipmWn +Cl2PzFB?*{OQQYqq~0WbxbhSTNDob+7D*sZmYTbi{#yTP-;{nlu6gs!nj+8%N3>`o{#VK>|m6J5L_#J +>HfVr1eUYI2*vUEFNa{Um^k-l1VF^(uA@=EIpF{e>uGG?F$28cnwD_0yT{UE8r4m`4j9&>jQk5wO9KQ +H0000800WU*S*+s2W<>#u<6z7uIvh~zl0SDvZVN!*_ArFLHJChwl2k|4RFP=f#qfT9`8`P*-1_G@;r;D>Bq(>D6Smc +YgA&g{(W?0oTl^!hrjqN_9$5&S<}C0UfEQ;}C<7OnD`D5LsXM71avRa9KjA5WLb6#n~G4(mtXi?T|K{ +OEr4C_e2+Nj{@tU%mQ9kBOsKLeRr+pMU-A#j9s(!knI!MNv!Gu!2%7iz=;)as%+LiZYrOi)AKi5zR!M +q*)aobvm7+IEFPC8Ob1^Px}uije!?5b;NI#oQ^{**VyDo~X(ho`@A=R +5D%&4J!on%=u$zTJX!wc*;AYMOuy;+Ly6ZqvXIW9*6h*vdGPy?7Id6B16!1gCGQfR1gEl3^xC0`~bu! +edN4JG&s^>;t2>hjVb1waBBSuEk2R42;Q)>WjRU= +XUMQdEFAiLKFAW=SVm`bI>>|jqNAX*uU=&q&V7?I?bSje^@0SGLDwW4&=k+d$nB^zLJMgUfdNco+u*8-S5nJ1_LLijJs0@P8x*+~sRpcH^iB`Ui+h+lLYy(n_wkm3gyMR@l +_zZ@kxPwQ+Gi5wLwj+m +tt{%YVd4DjQ$_9hvR5f1>^#VrAxlT`*=4WFzk^EV7$B(RUuDojl?MGR1DrLRKt>r0j$5Dkf#4Jy7O2* +lI_(3s_5%z%uWe4qd#A4qY4rNb%?Wcz6WG7apaRtX3AVt{I+&rulgt%oB6|JxxI-v~6k(j2ItN@Xzz# +gWqlsKwR1ctpT%lQ{)XjXpgP3$V#xx~^4R8W}P!2FA>|XrADgJ254wgs!$xLSVvVc%8gKA;`^IP<0{= +Dl#_Zx=B|rqN?SLzha0zwC5ZiOS`=zoiqK80|UNM>BXuh7OXqIF +Tek)}h#qyV8B>o@z7oTLY6`wS>B)ECJ~B~Y+xSW^?Xs4L%1aZg~6q@5rlJkDoHoftXl#nu48Uq*$p|3 +;;li??`+16!4xN4j5r_e766@BTcz9S(2r4R4CCK;O=~ +yt!A(sBp#@e4IO(fwVGIUzkD*ptwks=QRXFqq*W8xiUxoms|Sr|7k~Y+`mf&Q1HGY1IY~i!%Z;J9ItK +r?s_^PotngB|K~*yEH=uDufwppi0wBp3V1K7#S<{k1KHyplashX_WGf&beR?u2GFS_~xJb%3Ajj2ei5 +E6`2?u$~;4Td_z&?w7J2;@e;U{BCh#VnEC5YP9C4bNP>vm7!=)$G5M^;&zgaC)mU>9N40yaVmNt#6{ply5yDyHWG^LUUDmB$ncl>GB(FDAVC +GBD}j;`HQqmk;mtzT}gNWx-B3{Ue9MJ3q$q*WLpft&ZvDD(=%sp=2KoxWwCwgqx*sK8$rQ{MNo`OK-q-ya +CpUV!m7CUb)yVzIzL3-j+S}NG>ysX8StT%fNUp7%Lt3i7U4)69weqMRM|!78eQ1Jn130`z?CNTiV@JB +Dy$}IwiwaADPOu1JzMSxb~VZyt8zk)|FDn0cZ+OP-OE39DHH5^|Pz9qL!mGu&RHU;(F*{7j=J73OHYDi@A9$LaDX4T=P8q6xV +xfIsNg5tf`bvt(Ap`kptXdl$UELBkx+NSb2TdDpa1a`dzm5|Ugc${SwA(zgLN=<69KBzX)a|k$trW!ygf&gSuLkbXsrr1~)76<60>k*gFybLTsV{^x*n`RUW@+<> +6lR8>X{tV^Sl`qtmd6v>CeN?AnMp-mqG3f=`+$#{P8_{4610<_~;3Jl!>Yu!3`#F4mhU)a|$GtEn}WI +Fr2sjm)+G8Y;$c^pS?dazQ)lg&C}Y13Q#+d#}p{i>Fnn=ZTNnl1H_b~nV|JqR7C~yn$BOE)#0GmGTej +8wi)qZAvNU$BVUU3qrk<*fd+bhLF>Wj52##$m#Wxb1;^D}ObTa*$TAg%vKXQFQ+xE1DR~bp6npNZR}Q +>ni5`FL>IbHY3197{2MmonpAbt{b%7qBDTbt_YsWu3r8}B?FAZ`f#x9$|P8Y@J+^fwHGy%$}o5muJCW +*ep^;}o1{#~9VL-JY2QcB}WB<1wFi(sujQ1M+F@2-Uw+zifMbwY8c(>$Zw6f8ISX|a!}>r#G^n%XWWsT?7FU()!?(w +;Bs=knxK09Y`Lkgi~O_2X1V!nxyrK7&OU$q+b{0puXwc)uzEWAPR>q$`@7%%=i@KVz93*Gx`uG;%~A} +abPj?fE($=sOlRWKD3R9q+JF&4vRFy!E#ypaL<9R+EVVjW_rPep?i8@bZUob`Z^CRdP={`bdm-Rt1MP6t^HZY6SwtV3`9)ItHEL{;M-oev +D8Ij9sZkT!ZejWC$w>oIchYoJSXUp!Mkt>eErxr{k|LkB&>1TJn-S95Mxg{z>I82DJ=lOiB@z_(5MO$ +5{dNUkeY8Hd;%u0B+Js8MQYiD>#Gsf?;Z0FVRk68H;>Yp~tG*i63-&&5MbphWhPdaPsK#$Xn2NcyMr6 +zS*FZ!aa_|4OvcxsyrwxaD}&t$_XAf(DGAN;hF&;u7L +=SrCZX}?!TrH&r*BJKx%Tq#9qk@_a<6>f@s+^V!^#;f0ON=)q1R9XSDhzv&e4b>$D4V3dP1yYcgQ^3=e-brYy%aLw$8iv@7{Of +E4(e#-3M0qdTmN$WKuV2oTZ*;cUnr?7wo|l%Kvm(%h3a_QA*b5NT0l;pF~*nR(OZB>}$&5}N3yMCP&2=Aoki4H@ToL?6Vb9lJ4f%yU +590HhGp190%%wLDU+Iaq$p)QS?1Ht^PpSOVF@{VSm%_}AzAUXBS$GY4!tuVfU#$EXp@&=6TOA6l>5Sx7H?e)er5WGeR1Fz41_Ox!JW5(q753q%8JqZTzz2t;IYHX67{laMC6d8;p@xa;g@8~YM2**CpwtaqIiz0ADMCZR5)tJ>rpC<*l`I +J)TTMA`p^0OD3;#hyI#{|6<|^TPnEb9XF?06{ha+r=gs+}dbyTgcuF|(UNXu?$G6V!HX#CB8D^l-F&e +E#xni7$?PTq+1H9E6LaF0Vzu!P>XFe%lej>@w^!dODl2Kvbk_RFH!B7;e1A5kV%IzwC#gn +&C3sBIb_J;>Ew$W!x>9x<@=18b8GG4jr7Az1UeVAX{`Oe}Gv1p!i7#(z0TnPLVd0&uOTpgLRH)2wvIh +Ft`tjTE^V*nqOS`z<9t-@sJEL2IKtJ?L1IpGlLze1y#1m5HdLwJ!lCPOiB0R3=d +7bjMQs^)jNJ_Ml+u(yqP4t8gEaeJ;L;S?~=ui^MP?D>_pZB=b(NtvOcZ$McrlLb_%d@4MLorER$I)A( +R`ix-Lq-NC)1oW|J2oUtHQe&FyLgyz=B^4fG9myUFqZW&?6duDZl|2F6%UzaK+Fu6?+6a)I +cC(^=#h_sN|l%Sz72P>8;?n}PLjv92P(*4GREX?sV17YtxalO3=n}XBZuca)rU(M;*b%NS+l->6Ro8j +7F-+uy3tHIkTWrrk1k(|DZ560&-71Y&z}3FB*!#b)GB|;(c>oe(6AjOG|U4}Of5)==%D0^@Erc;ha^r +J`y9cTUT)qS-2KxuXr3Lt;I1|H%1#(Kx=noh&d0Z!mXMQ|4#z5J8X|#Jc%k$UFeP4mHHf}-QetJAx(e +-pE_(6ub+kljtZS2f9r=!2=J@ZUFuPf{aK`|C*B-G|p5h0T!6c&}Gm7YXws3%@VxNdx_BwhJ6bFZl&4 +hzrDH)*T`EE)YhTKU&bh2){FnTJGYd(`c(N{GBGBB#GQByU;>J +&i`>eWT~k-Y^Ei6)d3>g_4H!I=hY`WY@l4#D%B!Jo(KW+7;H8vDj5TpjUU|!T@z!kKeSX)VzQ_8{8!se60k*+4!o52qN{|A=a-7Qyc7Bmf;d&)Pip{ +8u)w^fnk?X52UFtW^g35L^IT5)GHcu^=1i{~V##H+W>5Xos_vk=I7EAMgB7p% +AE3QWZtjQPsW1Y?eJ?SV&6i!;0gC;j^{OB8D6B5_HnCXKHX*t-y>@~TS=lTk)D)!I7$MLU!GKb6Svl` +({kjRqf`0K^Y@`_0K!abYp7A)%vA2c}9--Jz1YWx<>xfCLpKyRJ7Y1XEy6V-FV1E+3zQiygfdW8^{QHI7w>hTrRDNMCqF();W{t+ +jVQF4OlJ-m*MdpBzypDS>-iS~*+LD4xmqNpx!jQ}XFOI?VfC>+#QM=i9LJZv@z?;Ih-reAMOgZw)12f +rqFlk=Qvu#!DVBrrsx&p1712M +G6Vz_(qmNN!JyoPB*ovDzU;2W=?V;^&292=u0HMrdN3DXD*lUsUXiKmLJg4i`WZ{>zWK>tusBZ`ty7j90;NZ=y +fVxKir)`;%z;n1+U{qX@>%02d&I8K&JkRgE$Lu{XFyPg-+n}mGD=mb?lHj`3jb7K3hkt+wQc^NbmI4P2*%u#o0BbrG@Rk +_L=w?Y@WZx*eVuDHrv88j&7z|q$j9YH8Yc(>dHYC{<6A?k0tOG{7kcZ?2@^k^j0r$SvQ%FbWAs+C5!` +{ls20a4F>gGJ`DtGS!}rv9@2Sv(9bY~2sG!=(&ByK?jd!K|QBDestuQO^S!XFpQqz?cN6yqy|`z1zr) +Yk3R9j3WX@`)IXtDaaTm1FKAdd0BWtTE>)bfmzNf3zVR+g;3{l*_QNbl}`s_CpCHu%4MVDT(i|wI8zZ +UcRJfx6#p+p1!n2M5{{i%)IX*ljrusMwspL53HaA(O}59qPLBc7s)Alcq3@jP1_4(^X>!F8UM#n;6Z2 +GH-NeA*72U=_-pm;bhgulOWr(-9ab4Copz5+yzNsqQ<=dImwNQTSGa;p>+nr)mbPM@_*#84V6_0T~Qd +_K2?fi{W%!%Jl0UJ-5=x}>lEtG3L&6g{@axJuF?6C(;H%51-kj;tYKBQ&E7(H5`p{}wf<+gQI<7{N%4 +P7%}$}*kyR8vjeZpvp=HOyr&#Y7Jj3)$hEyjPufH17SqcgOK@OmxK;dha`$=1yvVSLN=70y8Yp4OA$< +kIQsFxNnxV%tMz<)+5$bxt*{}-OfzhpmmtwKNI|?oZ`P2zEs?9^byZx&BPU#BoLc)eqH-qAqy1QDD$g +QS_nq&oq{0$Ai?Y#;k3Esex`BZSVNTuQ?qz$5k;0PCbJ}ZJBZ$b^+E0Sy0G&Ip{GQMt?I7e2n51wAXD +v)0X(_D3|afp#VOEuaM`*_dPMKA56w$zDbMptXJTMdt~Tq~0#X{$J%il<{dO5W08R9^d)kjekWZrK8U +u9P3e&^zBs7txrQ(0f_}3EDvtkI|&G1V6#3*WrezX$)G(Yxey;q4|Ub--)Z-O}DkLj6Qdo`A+X`aG%W +8-BLEx;>k##kyF$4n_ysqHvIrjD8EQPXkSI7VFAPLf?S550b6NO`d#Fh78aniaI)U# ++z#m;O1MiOe6f&HYB6$;u1T$LlS$dPw_hYeSr<^A341oSW5t`NQ9T}B$Wkopfvx@tw^cAN09&jn=E +rr)u`m?u(4}=z^&2?#0)4CK_+i&SSpzRSPolb0Zc^!n@M0`Hm?8qrts23Uy_#G#n=tJE?Jg>f$lm-FT +Zh|GMT=slNM+qG3>NBnU5f>_{aiQD)FVEAE2`%zT!$??&F$Q7pm8zr5y&7@ERMpR>oZ_pcP(2g4x6X* +I~Alid9gM@Gv+d6D +uPcz17mv2<>s_~WD{piQTHyMTT4sI@l{4O9dAyV?{5q3+qSC^*pp&5QP!yRDDW9#j7lwls3k`@~(00# +dM}lhHp)0-P>LNSTi18T|i@rz;(+XZ_s`m4cvl^j2zx9_q2w??}f=h2^3%>YGya!Yb6sQa!Ni5Ldzy0 +Gy3}w;{)7zcpSQ{y3B==-qcrrgh@?^3W}cV3(`I+7J;OL7cKp^))v=`j6=NiBbVl6`UQns|vYqYFz)x +0qQY0vkTr|#uk;e_d4#-#YZ>napsh*dYC7+wY?61?Xc!LR+)H{_nJdO<~ldyZ*?yo&ew_vL48YR9GZj +by}fKuwj9^YXaaFbw^ikDS;hfNXd1>lRxk`L`y))&@Yz$lV*Ayx&8TSSYxzw+TBUTk}xm+fuY_5iVWhqiWH8&5w7T5!mI*~ +xd?jz@QI?AE0=jMnSB&-oB)=k`esiAMiLuDIxLF1ne>w|&7d|FYzKwU`L%u*)pZ<~MBOcdQ1?G-~X$EggIF~X +Op$&|!`sUs%8HzbZYw=o>aRlIkp620);<+jhidb!#aM>|>&Ov@z}UCU>QjRG^o3iFAImx-!rUUw#o-SU&Dl54H=`T}s3DSl%vyJ_ObQ1!Mbagge%b?Y-DLDIvF(9s^ +cdZkwGe8X*a0%E_pqK5e~9cUh#RcYRlJ)-kLG!!A^~z%O%7-PN&*o~n@y94apTH7F5fxlLDDQmSf`2# +bQ8lwgd);aBQmBB)oM?s%%u?f9lrUvTV5n$3z0RDpe}qPrgg{q7`L=7p-HF$FL-xHQ>BSy8-^0~oYsb +cmUgvWiFHCcmMc6k3j?w(%eaE}NIXhP3|n<#h2!^7$H7&LxuOrk37(&ET)~onQXdq +7OhQ(jEQj1qpCnd%H<#VL$`7%b^s%pOrvYio;OsDr2ta(j~O$8G5zyX)#%3;6-OE8RC%=6*4QUpq=z> +&eNyiQCLnrl4+)Q>DlFOA;Mbflr60ZUc|qQ?WHzGvy@}qJQr=hbMV8TTNw1vv>RW-_`UGb?SF&pa4D9 +ygtZaiZ@=W=SD!s_w)f(F=Gd{9)vZ>sFrA~L}QS6zh(s@qBT)~cKxSGnf*<9tzYpu2gIRDjZ4%r>K#k +Bji0P)uX#1Ae&M3X3vt2?KYB* +)@8EPw^VtQOSWgw6misvf;du+DEhG^A*CreRm~Nt@+--rr!T&Vl0^YF22X&aR|B?yiJ1oS@yOnT$DYa +8EUq&+$kx%CF|C=!84_)~EDVP|P>XD@VNXLBxadEGo|bKAy}-}x( +Mq1qDYkgzEF*^buod$Oz~s&#Btq+F|2K_D@t#s&cd1IT8y`tRG_b6{{#M_#g9yDVEIftjA3zPqQvEp~ +P#BwL7tGkA}yC}D}1^HlPfRcXu%R$g&d@?s@fwxBNuc{GQ&cWT&({lp6?vUIS;c7vS}i_(~ey*Yhr#s +ut?bGrEM`0(ic>5*PArE5i&l?pasQ1CpHqRfglz*}Smn`f&$;U#A=FC&r2U@%w|*@}hXqAII`hanTIJ +S$3AIL*qa1XSc;psyv_aw*cK`I;wD2|!ood%?{oSr*m2wBM>(USxAFrM3LkAI`$}2j3r^?y*?R%X1*}2x)x*Q*USsUQWw-d-%y4F}B6NI+57 +hm6Jz$=DBQpsG;}m;E6j@r26!!W@d+j5DAKVTGgK)YVzBxV%9aI4wB>}-aO6F4h&VBF18?ya<_6%msl +SoQ-7A^M_P|u_H0~FVSOP(sZGa6DxOI8*FC_^F~vCmhWCm^}R+EkVikW;d#;2_?q6rg6HZeq2nN)!RD +LX{eE70D~S8nC0^Ks`mdW}traPbk(150oZKWCk*uBlCG2SRCm?7|J9oCFsdMJNH815-$L0_zTqb!e}P +w-KYkA!8N@LH9zJHfFV**hM_NcvLH?y7<-IZ3Q+VX1Bbp2+4wbkpQT*U4POW$aIpZioNqyreFkwHw#E +Z|7zckh+&8PjAoH;^atmx7hpph|fEvInevQg1fs#OUp70eg60K4MGGCqpyD!*hktA#ecdw(Qih#O|gO +;;WthfWXyo$j704^n{WRgfGO35yRSjdkVY|bBEvK0q8j7J~}0_LxxHA2O~0P+efEl2=bSQjX)AyITvC +g)(>&}2j`kCq&92bKOLNxZ-ue}aoJRFqdJdlJBxXo{AEm;=&mD_|!DAERllN;Ql#+#pCBh#~{q7gs2u +QY=%k5U@I!y`1y7%4tmpWSo5lfi8HoB3Z6hU>brJcaY-18GQ5ojsT2m9*(@(+Oo!!|)MSU&`e^+b-2@!zb5Wxx^8t!(y@&r1R|%d(_~B^C^v9q7K$*2J +e7BeYS&dYH59`>Z@hPl__m<3SrMzcI&m`L?gHQD287Mps~H#&c23D^aq8(}NQwh`d+;yhwr^1Pyp-(E +PThTDX?mo92-A+u`tS( +8t`r#4Cbv%l^S`M63qiz6Ll0lFX=(JOtC=!~fbcL)7p)#%IbXG=19%PLX68K+vzjN5$mVd>$+VcA2lI +;}i`07$S|!A<`=Y<75G%g#wt&h^N%f?*~FxSuz|(5#Mi>K>rtm`2i@jVkV`S337I1Ta8ymXQv_`uwCG +JrN#o)+Rz?Z8NfVGFWf4z*B(5dDQJk`1q;!p8tmJMqs^k?xVn0m^&>;RQEZ!T +t+Jz~9=dljGRy+(hb|NIB?PO0#959S?ApW}!0E@^Pj!8(g(-rAFD+;iy5b7Wzjzw^2Mpzk2r9e{%y?*DY?jXIsdaE_b>ZGw1bUy&qO(HPPz)TFQykUK1 ++_}Q^6|<<2VR;4S6f`f?L9mZ9wFkamQYd}V@(f1!-=avYAQeIKQpyGtpiRp>OCio6Wi`N=e>omQsDcz +6FGT|CJgYI$quC(DlQc%MD!F9&DH?TD?O9Y0g{UZ1+{?`pptO41B$D6I!25HjV^96{v`(vF*G +(KHqWP%Dc!&Tuiyd2H+}&L!GFeI`N5N+r&RiU=fa8=`p4BBYZxp6;wo4cS(W>fh6LyxnQ?|K@O>IakO +c`YeZ`jWTIEA~tdTp7G~Gy2kV_9`mzG-%)kO9ZQJHG4oE)97>C0!JDww?&vc%lacy~lw!YF0Pt3$jRp3hwL?*sLTaZ!tULD=1)g#cSvJ!5lb9HSuNy9VWjLvs&24ORx1>BYXE57 +HBL1?m=1szB#}0*dHRtfLn#*V +KrU{F|duT?rO|y5h4&NTV`SDv%?Owr$Py~X5#XPIP^ip^ol_iA3YjABIKq#{^O3VQ5)3(^ppt#v*WHp +!Rc1dp7fQR@yv)Lt)#Yh79b3%@i1_4Qn)zcC@3zB37IYR;wgHS=kjDt*OIi|&d9(z@mx!imDbO~FnW& +uEY3VD3=G#B|(A!Wto)9Li(bc;U2T@>c=SczG2R5wnVr$ME3DeR&nJV$_=625loeec@~2c1y8y`%71)+eE8w*QFwa%A4eU +G^*T*3`|KIMVAZnZ6-p%9@%66^1b*r +w4pw8PsQv+nH;lEDDc4gq0lJ8sN4#+tr1#dmngI$XrJk;QD!mPE;@_YJc#^8>~{QEy$}F&dEfFcsIHR +Ona1k(D|Jk-DaLs6DJ(ymBHY97x4IG=mETa16A0)g;F2@hjLY{55-dy?G>h;|C3-#H?>12paAKgzFyI +D25*rEdMuS5lQtPj2|(u&;`v!3mVJPWR3NrxmXCSb3)|((Q&aQmb5AmyRpqIAwZR=o7!(eB#(R8#_Jf +ln<^YkitAOk5$SDI2|XIaQnM@tK{x_30$LFMtSz85vJ}SX>KNP;1yjn&=l}xoG=YlFKWBU?s0!DKYjI +FZ#;rcKNJB|cU}6W6E;5W42JI9T#*sR9q6`-pMH;47AQmcA>DX)?clShVP5Y(;opu!F&T89Z4(ihjL` +O^d8wO@7?$?2UW*pMj;T(kgiI|HLWCtWP#=*?md>pc8g(Od=Itpih*~ +;K)1j8Yhvl>6MvUia_Kv-)Mec@29Dgvp%~<0s$i1?{swm7XqIB6#Va_KPU_>V){5PI +FxSZ1sBAROMI$bZoDN)&tW$>j(?YC?~8_k`IQFBAXVFz6I$_4@JvaK#2(IFjD)9*{ajCoWQKU;-BYd( +vxY?o2ot|RuQNmVB`iwu)9suhxTh%mvWQ|QZj;-yJ0AZYrG#}we2K5?F_GGc^TvpR7>7zIzLV4?!lMsKr7jJI@uY2dHFni{%lNl$IG+|WVX%rUsF9}$4*{F^F880b8;LNu +z8wNzdDm)NIe;+!G$nd#m}E%cH~aIdva%R`=utoV19*V;ii`u4lPJLnB6lV^Y!%QIL}{9H&Q~432}@C +u`Hq}K`7gS{x}9OX;g}9ZUAZG#Op-Nw)M=%yhIz8DxD=OZoIyt8 +@HLQ`U6_OV-*Faa%T9$l8ZpimUdL1Pq-ds-Iu94av>bP9V@V>K}Q&@Hjax`!V8Qa +uNVsvyn4PKCn@TdU4P%vV?rxI^aU|mb7vk#pOG{vJY;!!BbOdaeJ4q#vnUUWSG8p35vNqyS|Fm#awAA +s_XD7g8LvZ@~Y%D}N@eX|55Zheb1;rGMt0NuG0D77j$U^RkcFTk^5zXQz@X9GMfwT}Wh?SOQ*nS-#Ql +doGS^Z}&&d*9YIBscWaY}a9*`PMC)W59KxJ&182b(+|2EBL>f8S0%qE;D@PjP6Ma?Q|9Rknb|dOcY}( +1Dq8l)q~LnIl;6^vU<}Nm*#cKKo_YasM(!Cmz#9M^3-$%IeMeW(0lge*8dy%uTC|I14QhX)&_089AKROTLHqaSK~A7Ndk?m;AGqXAVNS +JXgfwx#-?B2xjHTcLtEYG3zT;e7pML-nj_pH1rny3Zg8kmHxmfJ-z`O}p#BhIxN}1?dl(G56>TgmII> +Xw;7W8KY$lKsSLmwCHt7oAOf)#RHmpf5wjPz*MiHEh}VgVN}eoeEg%^CWH*9yE9SRFruf^wAn6TGX_1 +e9Z@0hy1oZrnxSPrcf&w)ZjF}*ZY1W3>C5Myi}_5XQLzqHxk36?|K09hJa?}`yS=_7U(d&ipBZaocyj +^IS3H%rIcW~|ebi?~lbsQJ*59|LV@hYWfDTV$|J*~qCdipZR04GMVY=&G=zu5Pu;Su(Z{T_R`T^7u5R3i;9)vxt6Wly^UL_Qh``S$*#8vng%k`A~G^;QXl9#vH2mZm_Zs7Zc5Ql +y6*PO!lMy@$$szpfuCF>%E^%wEg%H@`$&a*aSZ$LYB&^+4u^fJ2Y +N}mH)$*17W)~G!tiVwqNinqbt(w4Sw=^FihHMT|J`=ZQ8Fw>L9E0wCFE2C$=L{cZTehU64{p*9%T?fa`uw3V{|NW8X(}hB6K#=qZmimOa;4{^y +aT+(VC;RjZuG_QXJe@hIc+>{@BHnn5P43~KWP9IG@@@;O>dRH$xV*gcD?lfw;(p~{1tECC780M;1Z3; ++$uTVY`nrt(3}qa(z)F$pnlLg^lWsTkXX1vB|2ydl!u!aE`h?~UpAoQcugeY@5D#)d~tO!gb!I^gQaz +-{X4O3Nt*;OOuu-MmL+P*7xD>|kwHY}Hbt#DuB>wzPqfV48ha07Q(yS(V3FOKC|BLf3N_L8wQCo&7de994Yx>}skO? +U?c+&{&K&3j6Q|O^pYV3`p>CHinEN(ElljkEg?a>*0J<{6Z>rYZ1gY=^n2w#7q65&fJQWIyiHJc}plC +>sG?wD|gGWJipt2ya^iPzLHTIxX->eG;G6xx^&OJ}*L#t_PuA^HM!^ +V*y-Jr6m+OWQ07EmsnN0{POZyXfH|ulaU>l!;O2j;OsgIsm?*o#-w?Rio-xLT^}$+G@Bohyuoz#WL3% +X37#W?6pEC`fpuLjH1L}lJ^?`6syM&4Lb*>s#uaVWX4`+N15~?lW$BVaFPTpk4SGwc +5iQ9kXY_nFiM_cBp?Vf#Jam3Ifdu8ZonqZ%E|z1?-aNpziU=^e$^~ligq^pua|<^n+Bceq(q6cR!`N? +U}+Fo>BpJ!6Vd0so|COHyDf@1vSd*rv}t>t%-^AO_osQIQf_0YbuBprVZ^%EU)m;w6uxA6~uW6i7n9} +0$wj6+I$wgq#Sqhx8Nl{x>q8SXsl$m!oIn(h%`Wm%VI&{9p&O09N}{SzQgw0{#~*H#ESv|hoS_9070B&oUx#yLuWkH0qM2cvU~n_5Bn{9cXdIC$mMJ4d_wj? +1o}yji#Ww +z2Hl+1GcT*gt$j^`_|WBle^Bq)z#$)zXQ+9(*?06Iu~0oYH*`y3vwoe*k0H=!c}~je|>tT&vj*0K?a>h1n$dBZXaWx@ah&$B5^6u4-=5;aD3 +?gej&v5fwQk#cUl&z1|=yJEqM(z2=IQM2hc`dP=I}sP2tTi3I&v8MXN)Nm +M`N>cp|u6slyyr-$CXx74`owf#x!SkUR#><0t>vh@5cVpP)%OQo(hVeG(*YYg=;g-dve$BEHwhUG5x3tcLP$8#+LHsg9L;KHZ?<(v>U +IjWl>dtzey8xoo*8-4+ew2^-J0uv~j)TNZ^nS8SGDfc@m=oG>>649MoCl;MP_qv-*^_Q7$_qvg@j*|M +0djL=4M(;isYPGR#ZWcE`%%N*8+HN#w_cyZj{zQlAI>o$+PIV2oMuGtoWhyo^m!)%rOP3excBa@1%IS@Fqjm?AsA$|N0$WA;(%9}SFB=NELGdG~Yy+kP!QPPN|mJ`~n?F1 +RI2P2q4RHM+#>47R;y?yjkBGP*o%0IE{8_ugv0bfE96&%?og15ir?1QY-O0 +0;mBky}};7jDAq1^@u36aWAo0001RX>c!Jc4cm4Z*nhiVPk7yXK8L{FLiWjY;!Jfd97G&Z`(Ey{;pra +C|v>b#-eibCzGzEKLj+4JgjbG +R+dSK#nUnW9@V7`H^uyPIDO$A$b%zBgPkK<_?k(T>z?>NIkdv#MKJE<2aLy3SqsgN8SgTl`!O-aev?t +{NuW={yf28D>;&+sGeSx3M`VN*6*Yg7%>rZR%QvpHdUEtIzO21uXLv1Q!->$rU`_#<&_XV&H=L5nB9E +aSe8md7lcwFON!;lu=IirA-x^GB}a$9Zj9hUUGBRg5K7}aBG?9$U2@7ekOdZPLM0`lfQhc>&niiuomj +i35@HTBxWQC&2vx0P6rQ%j-G99CN$>A|@3-ii{bD}DxEJl)GyfTu18SfBHG1=IczSX%bbKeC(46JzMA +ytZAKV@H;xIaJQ8urOYrP}}LVI^rAm)ob=|$e3JH4Lo@7pIBj*r(jX&NBG0J&04K=N{Ng;*_0L|aITU +9(K(oKP&sSt>&()?%v1)`#JJN)CK4-1l8o`3X!(=aM?#>YssXj)3e3#DY8^SBzz7?={T?_@ws-={8hV +8|k#x&@_g8LRJzLE~uQ$wHs4VI#)Cm(CNadt7{1v%~aWd+^drv{(#Xdo!yFh@vo#`At#zv6lyQ}zf_f +Ut!fv8UX#mElvkeH!^G=I!i+6}dzE1h$cwpVGp~EgpfYLEOGP{LUHCLc3baAn=A%k!!=bLC5F4=^*5$ +`AW>wwh$G{RL`Bo=QQBx61#5BYHitm84I)9hE1V_h)Qr(8OXrkp?BGN^gQQfV^K^VuV62}1+qa<_eaS +W3nj1nhNl1{O=A)kOYrOQ%v`I6p}R7vMa2BMl)kO9SH3z#h+mtiM{RDqi2SlnpJySBqX;n@_6rQ-@nleLbDNvcuMj{w`Fv0DdbMI3V~1s;wg#}x9g +V3WB8pi&A!ospem((l-lBBVtDd4e5s-xht?QC(fxd)LL-RG>bK%^CW4LpS`w(%eIMy&GS%>y26}j9H` +M+rZYH9}PAz`W3RAd$Q{R2hKuBPXXpzl0_UPlX?YQrRjQ&wA*8##>1W3rR5lZMo~Sm)D^7Z5 +Q7$qygWBt&NFw@gz7G79Zs0KXY2Pe4{jv-SD@+vj|`+ +M>y=uT&lrVcde08*Tkyzjso)Hr(SEx8TPnYP1v+5fT!^(acsivk;Cc+>UpdbP+see`;n< +s^-g5AB;A&Jx|C|pAjTjjRKK$5Ws|cnFp=6=Xn}F#*j11;9?%BTPc@NoX&Zl9eoDeP+J9!&1TCdk#rL +DL(>Je%dSrL&{|P`F4BPQ^kZSIX*ImDy=^zY{ok?h0wi$yJUeBY->e?AdaE@;m{g&lm-wEsp-cShDwg +%2hl^!3H7fm$PI@?M9VYKp8XG`sPE4!~rV`HLO2GCtw_fZPJ2Z$~h?KK@Q-Z+0yg|^oqvFCQI_}xqC+ +~e}ukQc%#y;jiSjI*-vp8I}49v>h2zQ1N0v9`^ctKZO%oA+{4EhNE@S1*G1^w3R?>cNts11vZS` +A?yFA>V}ZlkukpPgtNOgA1f(bNMX?-M$*G?E&0g6u)*wIT5NAq3rA~k?bJ&5?Ri7fth_L<9SzkL_7o} +YDc?9J+!b?AaqKSni0@!r?c4vBDOXHLE4Do9H_2SiQ|th<=uTKJDb{J#i-9pC7+K;bsTf-Es-n{ji&I +O5U5ds<9g4bCY~$9bhFqPb>i@6aWAK2m +k|-TUpmug{SKf002@y001BW003}la4%nWWo~3|axZXUV{2h&X>MmPc4cyNX>V>WaCzNZUvt~I5r5aGK +gV^y6sBL-_ch$$a)nNEK&kZ-?y%L!a?9BC;RO-&>l +1oeMz^Kb*WfK0QA+9j5e5W?8Ofg9cJ8GZp8VT!Xw>CRvy*mWjv(i$u=jLq`A+`vwx<%%27?@pBM^(RQz>rE!03K(|4F1=63AJ0#II-Q&yU0fW0JoS9$kx%f8@d|!DN$+?PNA}58 +ulFGfd4lpl4C#GIYG1}^2N1rP##C=$COh7*l631H<_k&7z-DB!Vk3X1Qw~HAdpjHWZ`99@%M@3Tj_UvAG>A-A +It2*<)4?zG>_AA~Dkwxo>9o7)NWs_73gD*5<(MK0`9fH8(KWDYNMS=rKF!^l^B2XyomVf?)ubjdlmr^ +2WNV(r~Dm#=yZBtkB>B`f#PQJkw$W%^-QKU{bqNYs`M03!M#X+>jC>0Wr>q+_nbRGBZMuC{k;+b;qC> +YPYZcC!Vatv6Pt{6dwABT1D(0wcy+8P`J%X_F~SU8Zq(Ynx&>R2S=kErZHhqmJ1b#1fhFCxr;Cp{0k^t|~adiAhV+dpE!9(E|3HeCC= +hQJHgseq^7izJ>32{|cQ>y(~`^Grg9f?Pt0DCdNEBL)cC;(fge_(-$hw*cF75Cyp|hT;Gb`YRdX3YV` +TheZO(AbTm%o77Mypc84Ath=}L(SKW-2;ci}&)yLFIJ_M0{pITA;KkrA>;Bu(P^BW_?2SPyMgYkC92i +;O4ca6adT`qfI@FN`;N@^b_YGM*wyv1&f@&;vZkslcn3co!6lD!@a^pBe$yrRH|TN@V +7qS`aiDMYPuDO3J=g^QZ#Sw)-aV=VJB2>KL}Eh9hnIZsR~!0TZ1DtUKrx+mG_bZPN|(UR`C6aCM0aFy +VVI>*lBWc6v5prvtAtA?9v~VO0mzloxn;rgaNYtS5iT!z4)t_epiG;Rc+NzO`3rNA-c|q-0A%nJnlbZ +;#Z+kQ13(J8z5&Ek_O4i;h#vTY3T#pWiA#W+u0VohTu}nUgva&PL<&XGAV4_ZYcWgBvsDtYsUXw_^nj +c}Rr131wG;uk?T4SvkFT#uZF+R_Tne%zIc_irN8cEB?Ky9H@1_)>>^FH48KTJyvBUcay?t9|7((L>F=; +9HkCy%inmSoTkI>mTsmu2aTR+i1Et=!b?2h(kKEGOnvG7>$CdKV=q~KM!tj<6q^3z`K*jGD2bi;8dOR +hUHn%;3hr|hFr`sBV{KjLY0&Zn$YYqbzd``m(J-(kD6vPa40aOPMFAmja}TBvEVHzsrsLC2#rt^-DdI +kc+Hfj##Z2)9NkJ}1fyfa%6)?F4W|*Kn +&ZP$I6i>9zwAsbFA*9L=;rLSbA!QeL~d$f;rVb8cH?;y28nlv1JU^a@m#6pa%xtQP2cRa2d|adf(C-a +7ipR2#KoI_XB2Lv!?!HzJA^H236(Hb98z>FGeU^i4y@S~Qji__HR@_Y_J3jobMKnULs-FcQAzRDeLmU;9qyJv^`_o(=wv_p-IS;^ucZHii +hl(LuWA$+vDv211*Mu)$ut95Alwi(?g8I&iP_mP48-;8K%}(Jpo>qo{KazB`ub2Usv4tYd()-Yw*9^QQZh +N+nb~B$PHd+6uYmfOLgwpYPEj~@>}yjYAv8&C4s|2|Zy%>QteWly%&?t!^rD@7v?)on0kmF +;#`X3W<1k3cwBHFE2-464b5iVzECXHYjG#pUZqxnY&D_X0!M~s9^iyw2F5OD5y{$%=+PAV@#`RZ#9NX +iO8@ql9;Coy5bnJec<^>Gn50c%XfV?>KZ=enKpT*Pw~jG$s|LU>q(y@dzZgqIGxE!CTo6VDFIT_? +^?Pa1K8LsCf59GTXT^0G)Y0wpfK2vV@4orcqoKu}Dzri=o?%-3d!NX|H^Bl(jTdQAiIegMBv>-Vct;; +b<+p731-;kuOz4MY!L(5cxIe6F(ETaRi1m^%2k@>IP7-{2B(>TmH#)GW}qa7@|h_I@ejr-l1D@zdp$1^*?Jo2%_vEEQcPUSP +Hz^BmTtYopUO#^v?(@cJ4v;wt5LP`lx+&ZqoB{eA-yH2uLMiXA0FuaiaQ!$Yl+*<$ZBHBO&0Rf#ae)7 +$^Dt=Mrvvfn}6ARKP(lu@@+_Mdc0D6`E@fq5YR2R?y*3zAoxd{QOc-Y5IrK6zF6gs$dpINs3D#+8!6H +wBY@HeKgJ!Dr>3yuJAQ-oW(i9K1@p?T#pEzgwu+P~@h-Zena_F~XF2jPx +LPA}`mCC}H?s?KBfH*Jl51z#7N)VDpbEnU=9oRrBbS=(2336$3l)0o8ODL%Bfh|N0@w~F&)r25Ve+h` +LKj?KhLS+lV?lT!F>y3mq|8tnKOOfDi5p9ssEiyxBPyDqsy1$x%8mNn6_aKhLP=U140=f=Rh=ZnVCDF ++%qcekC%Zf5|JlWw4U&Kvg~)DpTy +MPw($wt~<$WD30~_QRg@&Du$@K(shZe*wNJZ%rU~WQW-YfOt2q0{KrXL&6mzF~Q +;ex~n)3(N7r{-yM!|5evQ70IgL{>BbNSyrQ=BM)7ZCDHs`^ce%g@1N?+R-JCo4H8lI9(QG96KlslRei +T)Lsp3w|pQyqJTiB)$bNLPa(T@_Uio>FYA6u_{jV`yQ5jP_#lIXd+0&j?mcbs)_Z|IW#(i<;35MK;xp9(TO?#Fq)UJl=)fv;Bhp^x_5uZ +caxgkgdZUfJtN$j=2jA%95+;*-905;@K-k7G`^MK#ynmI^ZYPhX?g=HVQ<2w7OrsX&0dR_j8=n313Vj +&K|~4szY`k`Xx_Mv75u&;@u2fQiZ;X=)r^yZ#}&%8NGONlSvpZy7{w&lxW`b8QNP$cmO;M3Sl@-QKs| +ZbPe;q%!pV>nmvaiyH2t+Sx<@>F`PzP1!5RrVRl$_sc3}-cyS42%{k;2s$6Gg>BZqJoNl2*VVYbexG> +|D3Az_3wAO?j%$O!-P+~fGu}DQt_+Z)nF*UVrQ(_6)oPEF*tT+EtHLPtK +yS=-t6VL%+cYPib}4Q~zos{(+cvc~s*AD?P-3sK^ttj|&Cs;p=z8kck~8fTzb5QTDc@c;J|wYGc=2Gw`n;1FG@}{ZwA6iD~gS=%?R&Q@VOD&^; +z{QK!BlRxDdSr3YWnIiF(LH`?|715ir?1QY-O00;mBky}}Vs;jJ5f&c(7<^cdD0001RX>c!Jc4cm4Z* +nhiYiD0_Wpi(Ja${w4FJE72ZfSI1UoLQY?7i)F8%L5T_@7Tv4UR7W2`oysyT{EQ+9OM}o40L=N0ROK& +>Wx$6v=7=Rd5wR3a!zj?b%1#SJ?Q<%*d=PkhI-1ea|kAEdo`UkzbLKk@2~kynXfJ)j{%XHcP(F%e*e8 +$!fFAldLSORkkXsvPo7|Qk2E2$mYf0^I0;j=JR|?uhN~}`GlVzb;FB(tK)&gc1FUe{H+S +SKT^7@9o?I0390pddvZ90`-WIE?qJ;NL20cn(kh +b(rvp$~{HOxU(Z<5tjUgyG(*{j8rn(!UM#r|!J@{e>t$z*4dudb>Y4Hw3>sAlVV&LdpHs^h|>$#)Gx%IZ8}RN!$RK;eT4pgusJ7w4&&qh>PN3E +x3088$hg{vIqh%i>_dlLHGdfnmaQWzY@8@tunr1~MLBtXJzgACD7;<87NAc?R68O|v0oe31Vh@5StMH05yJI!>r7DL))pUG2e>Hd_zFydu_iV{b_i-@D*`UUJR%kKu$*V;wMwZMH-Z@?*V1dh!N(mzUF=AHD>npS@i#=jM0yI)^zf`Ima}T?tbmPk%f)8bAN@(eu9?zx< +jXoz&H;0@BF8o@etpHl?~`f4znAeVmR+lg&JD&}#zxjT#E`cglbN +h06eYsv0bGr&lo*ercmJAksVSX#x?urx*;;Z?cFS23|6s3j@V4u}>=~gvgcmr7F?^d^UwzTVCHb@T5& +vJ#-$+lKC#XJ4L?w8hsG&`TRA1<;fknX(RFb2u^4GQ5l=daLtQyHJ^z@anEmbkf)A^@VpZa&{26-*k~ +pXb#(m~)0%H3r<8FgSP!a|{HkfhS}9YF;xDHvMgYYK)QwCU>>7v#K`-gbe|t#Wj_xb0o|o*qQU9yxyU +bKfFGEdo+IY-O0(T*Kd=<}B>)nbvCvQ__973COD-J)C*4Z +~gFn!3r$SyiW&B-&}o>T4ptO)|DG$MWca4cv0Fxvg1Y1VnO|McUJKm7 +y-HKtw1qPi1o_-7fcBuw%Iz`L|@y9fRU-K|MY_0$?dxKqRzh- +yk~sJ(oeo<^rC2{iC9AWFm=$`-r3HspE%uwhechRKWKp*$uF8gq2Z(hb;ZR0ksd8#QFZyr=R`t$kAFA(g1^9%pHluhd^G +GKCzc)$Z3h|l4}8K57HZvH +=%bXgalR?CcOjZrBGHW}Bx-zZc#DrUmZ|P#Wr>lx4a)HJE({Ro{PrBDjp>Sq>wG>n0T+K=Bo=5*3DDY +C%On1R&>Ycs71Z3p{=+OXb=-m3r8a0OZ>xUAlZYrW<2m+Zn=mKyY1`aR+c4RDgSrKQH0y((65M +(Be4@FQS#A0>(-7nT?bZi22P$(MMV6DS}?D2pXRHARUKQXMm#0`96Cq+9?WrMcKYf@LX}->;mcV~^@} +i3ITx3P>y9ZRb#P-Jk#w${SfARUu%&?2y=)=79zTw6V-@ff$DEjIfQxx>>Po(CgE5UBk6`rR(5yzIr1 +|aeTqc2e;2zK{t_V3UwOVcgX%#NT}`VhC~`RWwBzhm@R^w1l%-6445P_ShTSm6fMUL)*zcst9k~7=bO +|!CJ+`<0zeG9$|&@p_sDI+(5psB`5S67UEuX2KcPm*7iX +qHLy3?m7-|cSZqh!!e`zc=D2V;6gC(K}YdhqetaFi_4%eq=G2cHaw7Me&VzDKIA1QX`7OI@W!^ +*aE^tR@iHA>7krKqFvp50g`oZ+w|G#nefpVS@99<-jw=;qB+h@+V8;`QgPBrEk0+`hslzk^Eej<7QeH +%awUTyH$8H{Y*Dto)iB=jg6@>U7jB=vSs@r3Te$#6mDt|jqRBXa?JP^dkoi-)?>T{;JMp+f#SVcQMaD +w@8CtdRgzrE)7|8#yeaCc#LHVYCk0Af&AEo*9Z0DF``osScO7I)fE1fY*=#ljHn+GTp#XIWl~LyP1u) +0nJlk#|IfrdkXSCPGC}K0O@H8sdOD9M07A?QX*7FrhO6+J(>SB=rf}rY(E~G4@AZ{;bMC_{(8-PFXfZ +n+AnET1MSqaq5j^jlHRn+y@JaQLPH_uj7;To6|9NJB$rjUi_Re1qKbQNp&WwrVWg%9SPXy%S^5^V?Uj +B4n+$qz=DLZv+R*Ucd?ASBQc`p3JFah2p{KyA%jGS8}IZl(twH)|Igxb(5cVR{f0(ub-=1$!XdSGFZ3 +rnF#DDhud2^-&EQ%k?y^s@AS5O5kCNnFu4z(;T^3fXVBf=u=x->|_SN|%cAFmU&#UTsy+l=_^z_)sbxs1B+q(Rl7hl0_no8yw3N6EDN0*naM~mfZ6T +-{!VTL#Ig0rXNS~`}_$<9k%r&`dd +!vv|NaqVDu?_e83#${|KZizcvw9YAj8!=|XDl45i>$DF^_h`Fya;IfnZ08Ngl=F7q2tD%oi{|TlJl&| +iGQ2rOJual>4sPWuAh*wxS`uJ*5n%-@Y*$A7xMXqx>=da5jDSuIcRD)TYx=1+f +mhVTWrM$GZ87CB-v{4=n)xW01G^HaB%ubxdms22*J!ujL$a*0BUvWt;c_n{6)2C&;&on7rHhx_vIdus +FCShrf)mgB45N%)@0#4=MJs2d4Q^Ev{|@GAZM;S?lI_UTI_S2Q9uzpyRcmb3czR>PHJbL29NyR)muw9^IaOM9^%Bf)zT$`(a=DqeL$BKD6O)PZq~Gl&t6MV_IFN6*NEE{mJIBy&8LqFZ)vd_ig#V8}&=i`>)+
      tRHleMM+(JNSvNyT@l^P +nCZD!R8{M_WJQoI$Oli|V5F;xHBaEIwpQ)p%tvJ5M(SUD8FauAe=Q9VduDQ^zS&cWFg{7beMM2At|9` +cZ8Df9P`bfsh%g*x5cY|=HTw&91QN`hQdhz17Z@z!94Z0iJBZrPZ;+p43-{BW6jx^y6&tvkqa`RO9cW +>uUZ~=wSBc44O_AmN4Cym$Q?G?wfw`+uZZPIcdG!0*y|Y4%F +6JPw+tKLedr#%VHB@HP1{X~n}AVawp2@)H&FT^WW)sgHyTU=%FJDzC=%{o>i!6v1*zqq3W@&6?E^v93R84QfFbuu-S6DrP)Jfxtv>hgaRH= +dsJ5^N_iaR1gf)aPYe*KaH{eWquIW@_9&(5>!!stEF`G6M0{-6!P%J3Z5Jm0O{X;576h5EVy;$;Leq2 +X(Z*Dum0f<#z~V0j>+6_*iI{2<6Bw-y$qlyf0*6faXtCL2!!aBG7FXUfyA$6<#j=IyiDrL +xtr;=LWmhS~ggNR2l_yE-f}3gM3plB4A8SK`4SZm{fe1$pbwMyIlXw;Sr@!SVxs&FKBpVuVHJEt)q7} +yy2CZ4@zm)C|Sf^EuxFU;zh=9k6TnZc2#|td%f4L+;B?>rEC~IA;^>}=hXOT#g9w!)>)~eXV0d4G=he +w>si>fzuHaf#=kUiU%$GB!xJ&qMDMFRV=l63Gj2cF-<9_0Q5uHXxUGTeUSxSkzt0m-!sl7vSI@3@j8V +&f|6`{g+~Vw%V|AEiZR|IfWxHNoXh-!nYuf7V`Ey108eJ9aS}SsvPrcF4^hY5}yM1o>6mEPe{eKs~Ox +(mpKzgc& +ytKH%C+J1L^^YD28yg9zC_M7LI-Fl-gp1SRN_x-48j-KuxZvT9GeExLv$K7&yr+)EkU5u +3Z`m68l*F{y2m1~#dgtpqCW~`=Fjt!kxrkmw>YDdq{s|r)FH;KaefiEG#n5)OEIIJ( +(FcblF6eePZacC#J?wn>{V&8MeD@7v)y#nb}l5vzwYXnULLVZH1bQR|~@?RyJGJzOlNR^<6%HZRdC0Q +22XvY0uo8`rAewPpj>Eby%y__So4I+#QbUqT9Z_e_MCkSM|@Kdwn~pe^-ZYwLKj#M~};!hufRaw?A;Y +&NMrfN&~dp(KvF^$f0gDO`4Ufl{HV^oWrtcAR!s +?NfOSPsEZxFZEfb4dC|B>PSiWs&{TBCb=7b-oDJk?+IyfvOdMqs*mKvHgG-_zp(5#_ZL!(ArfkqF7Mo +*=N!$PCSQo~{X0migQjfOQE)@WD*a?wI&2iDTS!ogEbv@q~g3W#`kC>06z9I(|$X +DbbBl8t8=up0r0tivQk^(7-d__!3kgudbN|3Ll07^1n5rY!tD=B~ynA-Mfj>@*gbhbzC0!q%9rQlLiuVqUjc&-<|`IJ2=f&Sq$KkdFey>KVu6$>U$H>fSTbJ$ +gA(Q|7C;H}6$|HX*3MkzkrL%A7D$Qmb?#1YF;@0Z_HUiNmh4+LgCVY^bZUreDV-VOT1xFF6|SXpZis6 +s)rPp1$y(LErPO{l;aawfiQU4`WrcH}f1JIPt?UkcmlfG1AM;Q#;trvU%}82|tPaA +|NaUv_0~WN&gWa%p2|FJEwJV{0yOd1X*RYQr!Pyz3Q%PjP4hx%yDZrN_4PT1ruxRU&F@-IZL(?<1|{C +eQ^Tu`@d}S|>apT}B^H@WaTG@G>UP!S=?OBRP!z>-+P-+^^QZwx1|=e~kCi{%EmzM0s@vxtgYV%_B%> +g7Xp+0*6gLq$IFFC`}TS(c4T=-L28_y`17KRH|BHRYuzm`*1;+h64%MsUF!-B%h1^Os+z2YI3Kg5%Kg +tQkK{*(e<`5lGIr70nM&B3@nR7{=m=Vg^n}bWmEz9P#HH@?-nd(*Q7yjXsNmlWtqE%?p(XAxdKp20|X +QR000O81Cd)P;^66U=Kl{(h_BJl|)UH;-tTR=R#2zJ8AkbUWci@ewKx<%ga!T*8y5RP6`723<{d# +H^{Hw2pzIT?}1SXiUFp!8le*MRU$cR;H->{4p4*lCyYUkmEu&Bu~iR8{(BBrz8u_8xRH8(huv`#Zq&RxNak#sKa +;dCGpG&Z=7zL=U9ohOjxR0pv%B^41I7>hnPqd-6C68n%yT9~9qO4!nb4I7W43vgW-_2s%`SH+G`C*Dd_`<1LBSnJCPaZ@3$USC;O +9hDIsH^Q;fjc%lcJVta~5G +pv6%)dlmet7`-fYsB!tmm-oWB(pTK_Nblin%^27MJCk&CyYOByl8wAkzoP%^mW;kE5Ui>{b;fqr&yfK ++^`M+QI>gsc|>9G$sHK2#&gLY>Ih0(!a$cY0prqb#3`vQYn*k+6G~)byDFo0 +(M@BUnWig)homG~$R@>_*{ZmwDuy$ATGCfyF2l}227kD<2)xuQz1PW1d0@TX~+3G0>=<66 +yv}fkFv{`f#8$S#?V}$5dP)D5YlT*_o8j6;KP6wbxC=eOxNmvyO@)*X*@yox +j3NV-&agwyFu#9^n$uNIHbeOPht?l6mC8Ee(F4o@S8g~#lP^(V|0`+kx{9T{5~h6+&vLjq9X<$OjArh +2J9%BkEtFBMiL?qR5Kg>45Ve)XgZS^N4BbL6UnU5C_+57He-t6`*_&NDu8Jg)_R$XN+`E~khbd49y^* +Z#;5siDrxn*kMxDB3WW%SM4Qs;+E1-ZTW`Q78dluP5r}=dy>b>xy;+CJI5sRE;!~;j`>n$@8LbUmuQl +-NW*sz9*R(1x +r@s~$O{7w_cf5`?WA4)I}aY_+1o}Z +uyQyq1Z*Y_lfP|oS5op)6XXIJR5&3jkM&e4w@TJzTzk5R=4_KC;eW2|wseM}&u1oZ>=kfTx;H$hOs +Z^CxZD4QcqwJzD6e>0R206Xy465*1&h@tHQcS$p;j +o8$U*MEY@Dq=_+x#~yDa)pdjVBkn%08teKmP)h>@6aWAK2mk|-TUo|2tyEtQ007TT0012T003}la4%n +WWo~3|axZdeV`wj5b8u;HZe?4a#?PLy!G`G>^AI4!7z2hRq$(d^_wByi{PO`eA7Q&&&oezUlAHyyfJ&Y@55IHzbk +B6RGzx`6dlDmRI;~`~lAKYbfs8i%!JapzWJ=waEh#?OBhi1yqP-3XTKR7meo{yQXBpsX>YB9iQeF><4R^&&1O|CEvZ>)NXaODXQaW5oX#ozZ8RrE +k+cCRIV5KWl{P7-Npkv(G(uCO4q9JMR?}*FP?Du2&4~l4b#92Fvf4oIG;5cf?w90jR!gcfWlH^8a&%Z +p=j0rVIiRMLth6^bq)4Ge$s_az57e*7DNa<=64RH}(rGm}q>bhz+L&BMO)^d!HA<#N`&lk!bxIvpOHr +6RFIbj>Ide2iTf=g0lZLf^b%6alu8NP2cM}=7?q)+Vhr{k+MoE#Rw|RUmM`i+A +O&pYsLsGaIRD`7GF9&qz%`%h?Z+$G?S)b74Flo(ekx%CXM_%C7EMV<}#qAQrcJknZ@W?jsL^~p%JvrDS%kW8D=rm{8@EG@@mA*kVstThU%jqbnjM +Vn=&VhT{<_nvjmiV;@C3Bb`zxoS^5SHtA%vw<~s{SE3g2a8K{YQtYS{?)g~y-)K)~n-ux~e~~eS45Ov7ZltZ<3UTfXe7aa$0G5LE_xb1677!me%vM(SbE7si^p~52(nqBxvcZAb=DV8T3k0w}gj>cm&1S>D~ig6J2?THjgtn~FgL`~TFiA1EDPiG|DO<9Rj-Rm6M +_k`$uYfs{MltO7s4@-aMW}$v9mkoVTI^z09rjnSpM+{52U|_^3e0OTb)F;5bPMJ~n2Ulm-)T +O=d6?t8*~L(_9Gfsr{=UN{m$-IZ5bfPvv}Xb47=JDB_7v-{^V2#0q6drAUJ&-Z=ED|XPI^b);8i%!4~ +pfjwYkC_se3_?%c16Tnc%QXym_^)Eq3n)FTTkS#1-N06M|gcZ>cVgm!_e-#Hsyv(B)%2h4l>9H?VhLU +j(@YVt~xnT|RH`52T!jH3q8yLSGXgb0B6t;%z75?fni0E65mYGRecr^Cr)+M%7^sG+F9TDl#tT;C!gf +Atgd7tG-)G+bJRlrRD`8;hc~ll$w`?giAt#P|64eA;B#rLMbCmx}}$zkg|c^g!BuybOM&ZmJT(y)S3_ +x*r*Z^&I<`+LING(E22IoZYk^I+oC?U=0x=+ZYk>_Q`AG2u#d^>)yJl=k4PfqYK?eIE7&*yC*8ruRH+64n +&E=&fm3mtoDonuR?9dlL2(>`SnxVPA$l1ACSZQCRb^7GN#HT7tC?PRCwTat0Y= +d4O^df_G1=dwqYp~W~U4uoJ-7BzHVPAoL74{nJb=cR~a@;au5m**18`cJ_8?bJ|x&_;WO<-HFZP**IZ +@|6@`xdO*u)ctG2i9F!_h5Yq>pm>HroRpQ3)pvH--Ue-_Ls2lv$ejp3F`r@Em#j>ZNqv5>oKe+b%}4n +egJz5_Cwg)uphyGO!o+|cFOCYuh|mF`WDu6wvS+Ip{KB)v2BI@4c}kTUB-8g^;JquE3Q?|!Mat=C!u| +G`y2Z7Q}%wAy}cFstk&PPy>Ty##`Yn3 +5GrL(k+t3|!D-_eYAYEC8X?WI5M>0`kfRoBkF +mCcwWnBn#^0+OMCKi|%lxlDzFDy!NU0;9EjuK>%bq%QYTs{v`>XG__t7KAFdCAF`$jW^imM5({#<#0l +`X7nS5g_wXs16?GC4KL9mFZUeZb?+uNR=7gMJ?R1?c0@FY@;bTyoBlB#YFgWz;`u>0C>(W}(kOzYKjE +`X%U7&?ou(B`%@z8ArrEIhE41w5urZ)E7l+*J8hUQwllU+}G8CdOzy+{bo#SuQ;YPH5+_M>5I@8pwCz +1X`|_++wXwa=EfYWasA_w#=LbM`U>=Q=!V-n_!hz{oQFO~d$!`9%cydCFy)H&Cwy-xoyDrb}qEyF$~cey)vq{b$UhcLEaJa9z*KZ?nT5U +vciVLXBH7{((9qDxMFuDAfM(#^qGgfS0ep|%lfb||oV%XhJSr`lKAprEG?IO9z{#?%vsQ{cyE`d#SGN +C$%lB!O-^yxs{OhbDKtLxVbe-wpP?5B)2L*LzN{gAT7B^6Nho@(!;_0>)P`zKHSFdP>tD0flgH{GU6sd`UscmBVYKDqX1@-n&?pu2!WNs#2XFI@TaOHSf=vJtj +t)oBp)+#UtoDZqd_PX+>0(){06}hloj?S@YS8uGEec7f`K#u=WXi|IE2*{p7G%dRQzyERaf6ERafKsU +(()xE{7bt}utgUed-}?8wZsb5h@H_!Hz6m=Tsc +41geDQ8^MsdLNo)Ag0}{EDXs>opslVJ-c8xBEf2`|3o=y?QWNKA5Tj4k>g&;$DupfeTkl?hC8sgSGO( +mEz55eWQ4Ds;pO1TJrbacO{Q~Sba@@y1vW;yM%Kh;k-z=AQCQ$gi9jfvPh_lgoa4CA`-5OgjXc*QNud +Py>NTq)k)KrOIqqqiH4dE +JR1>;^CD*)Fl%MaHA%ahnLOMv_LvI;HZeo?FzabB!ea6YWYaX%+(;zhHX!~J4eP2gTMt5MubU^Rq$Ij +msZOJfD#UM9H)7p{&Mn4Y3*}{zvRPUR72Av +9-OztI84+U)%jqp&4RBtj38igVhMG305HSrLux?FO3y|Yhj)9s23+02w^1)L1V7Yvtmk*5c!HVmFlFTUkIe5V1k1X_ ++$0f+@xti}8M>L=3ZyWoqls*S@taJu_+FgJ4^DJMzQ~`MEO<%nPlK0n_0ABiX20r=;UwsMSr#F4|#U} +Xa8Nf%+Gw|0>`05!TKyUi%N!~xcxtsiX5BTcGc2oc22=eKFQ}WmQj-T=s;H@9?(+7?J^6>Y({z~o+z4 +L*WAvxpo5QxX4X|8BzKmGJn%|CHUr|PXdjOwktjOwgBjcTpDjcTlXjH*_CMinbxqq3F1QOPR6sAv^r# +H|92m{qXRTW14p-Z~o?jG6@5Fp~fqZsKoKH1V}5nfTe1O?+%BCf+tx6Hl8O6EB-u6Azm@lT*I8fc`&> +^aVYB%WcXIrxiIjqF +Pjdqt~&?Sd5YBo142mQQ^Mcw-8`po&7A2umzxnJ4c0`~9I?A@7keoG*gzTbAskbmwLO4xB-icC1=7M> +N@6=p=jWtZ?DPXq~3%SE?PU>6{Abkm4NE9?FVz`OMu4NR;SU;H^!W47jm9`Ws3i}RYl2m``q~zq2^5?r84Sy^Ab*uW{S)jje)#}~aTD?eH)r+-dy_dGA_trAKcMr-+mfoy$YI3(bz +D?*495460v+1_;GTLm=XtP11%?6D&8#LM!8u^r0`4>=20|XQR000O81Cd)<=1~*U+yDRoUjYCB +8UO$QaA|NaUv_0~WN&gWa%p2|FJE(XVPk79aCudbO-lnY5Qgvh6)$^Ape^)TQ1s+QL}>6*dWh|;8_XB +Utg!#yBx{A{Hkl{SJCiX-4_=ZDU$8#K%y_khH_%I>50iz^c(@gE(1Q{}T%0KdM>dyl+31r#tAjv2!!S +Ifc;g((WIf^!Wqi)ou?=t)-Bm(#^eN?-DD%>*D~;foWFa>yY#*Ul;h*${xU~^Slos1Hw|*v`b3l7~+V +0QdUzp}Hb>jw>$seG*`Yi^!v%gmkCUgif)FkjkYZ9bMiNY0if%PIpPoaK64JCCqNQ>I7xNI&ZegRNR0 +|XQR000O81Cd)K~ +$Subb8T*&5p6c7HU0;e@agD--g45z;89SSIQ#EdI9}Ldr7si&E!h2zyNIqD-qr(b%PFwOV1^Kly*bPw +fJ}GGFje*LA{EqM{eKT?I`nt#LKzzUt@1>b8l>AE^v9>Jb!cBxUv81Q{a@DmYOFsk}v7yd7_*8R}xPhJ7YQL +c2W(8CLxPGic~?$imvVZ>~D7gk^l+PvXg6W&NGQkV6nSc>@F6ICHwvUd33kP*+%%Q6&K7G={gBnzToU +8O1|G`$7zzKF=vM#&e$HbM;TkD;Tl@9MY@hdmL~C*-EtN!SEGC;G_SV_+jl}#skZcvd_vY&)$Rl{@_51yvT>VPR`E-8#zA=dyn1TM0?C&5?I%JuF!P#3Oe^785g{w! +wWdeqYE^@7;XGIq}I{9vo(Bqe+LIp8bQih-2<3gAk31$msNB8(D0=b2LpLJa_2()wAH6o!E#4b$)iXU +=xWJ`aX0Npt3W9J)XPp5EFbldHaF)*NGQ&P!+>zZ$8t^0mifQ+xvZk8@WSAa+5BWe(eqySg09zXjozl6Ht+v|zO~E-dh%w20%&i|Hkp;`I3H^z_0z`uOI}>6LeO@#fMgor*FHZyxbD%sjBiPb +Dd*A8w}6FT6jLv%1)RD4LY2u;!ov^mUk5#6p)K`OuH-qhhTAw{kOP2V4$pL*sr_LcZU}z=cm928m|uQEa(^6I}DHxn@qMgw)B&r!y*E2hL$S_qpqV +ZWh)*;Ag&Pf6gqqng0Hxbz%w~z0~yM&0!Y_6HNZ|&wsG|717$X*Eh>Tz@CKH526lc2u}l<#e?!WGfng +Ib63}HQeD1H~oa_-cA>*7;e!F)X+*VG+>mJS7=9#7AXicS(JjD>RJfg?W9*+;!I(0@|lX^{+Owr+x2|T1>sQ3R*aNt( +HzRMKyaR@kyaI{*k<*W0hKwd>1=^lXQ*VRgXR@RcN*1ZPy*@+j6;}7>devr=9aO|A_9!KD`9M=2N^*X +WV9(KN}T;fTan-pQe>$13QZxo0u71IuZ7*lzVql1{Ep}9PelHVwto&gZDz(23dUQO8m@UOXFxF7ItX} +%YJ8ifvE#L>-q1idkfR}D$Iwe5spKO=ZcBXF|Cso1H-&E+AeLRXvA-#I96jWNl% +X#Ac_DaabvOQ4(Lu)9e!UKyp*KYgrKU|(&K#cCxcRJi|y4ddaG3 +_Iro@u=er=z$7_yY`t_0*H9tw1z1UQcEeu7Yu$(_r+q9an5er2!}I~L+TxP+@)ljioX%$u0 +^jnxC`r&9=>)8Ahgt~tZCqAC2hx1cMM_~}nv;Y7xjYHbCn?_pXgv*K!@o(vRIrL-6L2J +9x@^g@Xvol5OoFSLOy-8BtgA;#7dRSs%JL20r*(I@zA}#A#q*WGU5Iw{d&ZgJoB6$p>qol1a^Q|`&o9 +qQny>pJ=QrhfX4+?_c5{A|j`%Hva0MZ4!nGsCy*n0U +r84B#g4z&0P{Gxi~Imr-I*-IRJW^+f=;FBLOZQ$w2s-LWHDE8*@!S8vH#_e~eEhrW@!s9Poj5tSR|ID +0NRu{)t9*`b|nDdWhBlB)E#$m-yJ4`PE#k&cLu@dZ_%U#eeSTKBr}vd(A(0`py=}RuoV3nzMF%-Ttg) +)WgoqaAXEI(nH~KKzC8fiqWEh`%415hIU>=VCG)g1{ZR+*LiD(!QnA6eXF& +%=POXjJu6dODz#TSwl`d~%&607663k}%r0)JLY#xmb_&1h1scUSPBHz2+KxM$z& +jnqi#(t#$f}q5B|!=VI}c67ys)S$F$uz=;RUpW1Uf`{(H6&6;Kr?l7w$`dHmNbz`E*>vw-U;w_du}AZ +{9C?DwtbAC7OP*H^P9_|AuBgm!ZLpYAfO8Yr`K1f&HS#wDM;p|fe49HyoEarsPK29E#w9!{!Fe99?WoGfm%MDEd_ml`TJX#PqtR&0_VyV39^rrE68}Eoz +aw|PEB?25%BF8?TY{E^u&N5{4Xl}<57iwtQG(~#m@X=i~wtT{Wl%|s}et;ukgPl +{7e51?8EQEe{^{Kmk#-lM+*O#h?MxhC;Y+IZxg=-zfJ!83jcUy;{Sp0gJI@v0&3#7$^V7KKOWWazmoD +7ROK!0zyWRA4m$AL85ZS_8>@za?f)z9?ys5FArE>IZ;`zign?QqO*xvIHyYGs@M*&xn2pY)r={^=vX~USWmiAgs +NQ3)k-95G-|l?$6gC4rju)+><{dR7HG^i1GHm+|M(+&G3XdnT-R6#|C>1$0n(-<4q0RCM6h3w29`Dq^$L&5Lw1p-dj$I7`Cr-v*R7ZM6S&Flbu=m8Qfb>=#KN5!Az +3<3KdTU0u7dE(+}7j3(%{l_#wZ9q$Oqf|Hw3EGW{x?Ue)j(rJQt(gI>J@(#;p%*tFtjRVU{>b-xhT-~ +5@reulaAe1}BKdUp1=}3!`D|u}fLX;ci5QwYeZW&f%Fpr5BES_AZVKk2dzc4bonbj7qS*lOCwSx~mSH +(!i(b~Q!rMq!(?7-q@oQ4F5udpryb(4G`--qdvh#X%stIMPF#e~k;nl~TxevTtKk-)M^X>WP>smnvg; +S&ih-wLXZhj(VLdM^7TwPG&5{~|JOGEcBW4T<_oUc`u=j)q#y;c8Q(9v5^zxf6cK9qm;mSDh3Ft~^HA +hSM(~Ab-na94->WSGm{^7)_`ma+E8bY<@UkH;cM_%c0ws{ +z(diTR%}VI%tu@34vMXi@PR7DS}?+FW2Ai!Tpgnri-W@KBK(E&Tc$k&F>DhBN95`#Y0h+Zl&_*n +*v!yvvS1P1QYvz%2)L>cOZVFbI?Z>Rj;{5Zzm17zT&g)pyioE~(3PjkMJ +9YxMqsv^H@mOwzI^NQlRCYQyD-bEXpPbg%%s^Fuy68Mt*%i=56WJH{$g@NZ-0EH +1d{gqNCRqgbRpGy%^4dRrJ*m^(g{TjSVHn@SO~qC&O_@ay%>IG1$uE6t-%5)u1KJDU3;Lswb^i)%7%i +)|xADtjPk6@@PH?twk#!WG(CNi`>(%IVY{btw{^lM8-s;$~qn@VYi!XpY?~T3~*v{uFA?L4K^)yyGtQ +kgSMr|IJB7nb{=b?gq7c+#&Av9coKT){P8*`Uu3S7t<((_BLQA%f__elX~ZpGs!laMCBxmTqct?`*HV +o(o`0K)QRB8lEu;$l8j2yyWZP7uFzbhOLSkw27DKk1SLj%6d_h;UrY~Gi>l(JvvaO1~Rj*ea3-Z2JB( +h#%VK?lMu`GT50z2$3u* +F^Oqdu*>xaL2(&jcTClg(#A#D7b;EnIT|Qz_3c(IqmI04{kF<_rNSArwcTA#moqcT+sh@h#3EOR<&6p +lAk-cwhB8w<2)}~`g-T{=hBsJfUXRKm<^|O?B$BlNU;vh=yJ)&IwZ!Wdc8Qt*Z(0nPY_CbMYnGer(P?h-Q(7mx745VHAlr{QR}+mBEXB}yJ}*_ +%Z&1{fUgfl#aDw`m98wWv+GW!74{0wR;|$M*eZuAuXbQwdYzlP0K)322(Pu}r^V>|WuCY6qr~&nC(P_ +O*h-ddU;k3YhsF25G$;YxO3(4TQQ9ZyPCxt0Rm|xlXb3IuDJJq3#i6 +wFq)#Od{qpu;(uZBB7_i_zl@+NW?#dS#P?1#;5F}8ILIM1Y9WOYvtCv6I+n4%0U9mAnPS&@>eUCG!9i|#Z3FV6`V>Vykda<)HWoHmdqU1XlWZ7<$fFmR +HHG|{_dQMtdRlHN%=II+6JpTCT2m>-qp!TsW8NUv#EVybw!(*k6qfJkI|mmhG;XviwyJeLFNd2W}FD+Z=mN**Kwyh=B7hUQ{^viS +H3C_q-B*CY9MC2i4iIyNcXc1!zv;=1k$kGZ^WYGgCz1q{ISTc(Tw99F6N0#8vGUuXI$k8Wt_Wk*sWs= +-hfS(KCAech^){`gM~UQ|6q|26E;_C1)k>m8TX&WtUG+`6z0F_WMVldy4>@J%HA1tR`&ClPmvP`{mdq +yR6}!ECd@z>U;<1Hm&!_=G#O%CTVm?2k)uib~PLC_~Tdi|_iXZf0Vi7Vf+|%}Y&4i#WB@ri3nM15Exu +P)h>@6aWAK2mk|-TUksNeVn`k004yt000~S003}la4%nWWo~3|axZdeV`wj5cWG{9Z+CMpaCxm%TW`} +a6n@XIu!6)AX+(nw9ww!tjBZrQ3hK&uwA|!mH6(FlJKZY8f9J%G(}dBAN%*04&duNX&V`q?keaBS@^U +Fkk}=KFf++=xaI5P@p69*af0$qLjaQj?P?w@oqJS%4x{;tRJc7sf{Z38tPC?j~@q(=jh*0Ypv#q`$Ya +t2}lPgvzaK5VzkkrN{s;OHnirlSGmVq+vt)Z3;q@ob=89{m<3&PWKXAyT9r+Qa|G7>|I{dU@fuO*YaM +6e8`O@ZevgHc^DoeNo#I41rBug>52Hg0?HJ1bgzBmcn0j*zI2NfH`sK>UC4TZjsJsbpLMnHxkiDTNID +h0w+r`SwF^kG|%0M7Mwn8A+aQB5I&fM@yGh(8r!FrXP|Sy_+vrU#AIO&6YRw1zx@^KVQynZ|95a)86( +PbXWTuEXzoKtFuoGu@9sP+_QAoHHCp~bqE(8Q>YQeRBOrCjRvb8rg%#3SkYKTXbF1JR=ZfU^haBR2dp +)#PBbZyTcWY_uK$o*W1m4z?m^RzC&vMG{TYPh)#PYX8(LjA#|KPUf!=RkNetq8A_W>pGA(^baA|NaUv_0~WN&gWa%p2|FJE_QZe(wFb6;|0Ze(S0Wp +XZXd8JlckD@RXe&<)5_=E{doY^-MH*phT2S8fC}k1JLV@`SM2;6J&O`;(qnThd>Cs3kDQ|*Ju661_!!RNoL!v2_97TheM8wRTt>PH +7_SW5`OqyCCSJHM}X%oJDg8|KO+W>hq8jY9m4RZ+doY9;Ssl4){Gu2yR8H6sEe9TAy(e9eP!obdAiDpRNL^6ELIKDm7(% +-h?YKiS)KQ|MG-2dSzW`{}9*hj2A@)nhq$c!#Q^C#`8MT-NC@qqD#N?cT^AdOmvbemf}e>TK#j7JOK+ +QDkz4O+C+(gCQcB(5I<&pr?5hPM0^O?-?;;0rt`%%t<7E}L~koLq9)^?kSd(?Px +yjQqiIi~qO0@rN~T;Cl96oHGQMO}8v)-DI+8lCJL{as2MkLGA$c-NA`rmJLbO%liIyNG%0Y2U^FuwzlNwn`0#ZkRTePgk<=Lxvjwp^x-N{Ej~q1+zW1-NItONw$tW9M(nu3&2_!6!5R&B +)lBnbD_RKhO+fCcOvy&6Mb3h1jLA-JTaR~y%3OIleh#%9DLjDC+%)58*rb_MqLqiY?CD$A&%iru2SJdC0YfX>a^k@Cn00xZoxLz4bJGMlUe9e +Y+Phc)~EeA%#jT6FeRf4D)e~1VcE+E#r(3$RRe`aj7xpmUTRLk<^Je=rEy^`V&#wUAE0a{0d=FfRmPd +5i;cy!jd{xMIvY|9=n1oPk?Luo3QanI$<*&gNY%lTnW84LHy49YURmqw&80MzPTIU**3CcZ(=jB>JIFUWL)Jad|zDz +`rf6kCyhbX`QQaoJP%G#e84HVS_j1ASQKaY!x-3>YO-FV0+Fp}J$nDMBjGdZk4q#GS0s9J~kt4L +R7nEn2FXJV=uAlH-j=PZuoAp&xZ&5H(fBNV!X;nc-vx>%?HoH>0w^-reJ9Jp$Gt?GUdX6=cwc1U;T_BAGs_A!!U$zo=v;w~OK4LJN6g3AEIV6}=o!x{F7jMxw}wP5LY1fsRp%_&_%(OykP{=Ue#T+wh +>trs;=*}j*cjI0IB8L^$r_kUAz$x`)HJp*@#=P0%z+&>=*oo0x&(7gDtMe5Ygt+-Cm~q`YF9Dw@l9Nx +xy?yT(pNicpWf{a{yD=FzT-O>az8utTXWd$^~9^lsFgNb;Nx4>AHeIGR9Lw3$xw@}-V_@Kuo-%__?92 +yhV{D{Y%_>YAziGfq_|RMED|au$YwT6?)o%7UBssgxJj4ACiG#*!Gbv+nj6;N&@O8?3g5wtow^3l_t; ++Huz5~Hmz}OVu(~u+C$&VHxk-CXr$1eelcgZ@>Kd?gq`*A|q=_QUQ@l?1`z(wi3@?hp9yNW=hbiyDg$ +pi+`y%(piN76#zkzP8?#CDX&!E19(pdtGgzwzdkx30c@?fULJ@4ol`jSm>Ph91?U&20+d2FQcS{jkG;O#5WI=a=Z_ +1x&4tU>8yd*W>c=`0B)sj4ls(zeqBy~ERTLIr+=46f0WaQ<@EO_Uw!)c!C&R{%X0c +Nj!(ZUr^jS)Tpm6w4xCE3J^J(G|33MxJo^06KmR`d;s-+i4AB1vP)h>@6aWAK2mk +|-TUickMNy3b004Re000*N003}la4%nWWo~3|axZdeV`wj7Vq-3Fd5u!bPQx$|yyq)c;gU!t9}uYssK +k*2;%+(ahL|Q^%ibdT_pF_U@T!ClQS8~-of*3iG=c66*vV61xVzsKMPWuABRp9%JfYiT(A|iYKy_Pyt +gmqAsu$oS4?z;Jr!P)<^47o@nHa>{ +Xl~or@O7qWcHZ&m*w9f~7>_Mq`>@qMA9h9ofD4r>0(*mD7)^L3T9nrYXl#aW_{hHKw>tVIN+D=lICIR +^v91J>Y=1}E{8z_}ZOm()TR9S;Wb)ia7c_lWvaC(wz*lrUzY3l@R0j^}YewlQeF4@o1Fvxi&kK4xayMD!% +`EX=FD?tMkflwMTu5Mm+V%Tnq!Zmn%;!4_>FOaMADTe=hXZF41N+d*VQB8YGu8nyj5%B(DQa{7GC`O>ErV9o5z>mfBVDNIr$b4>2=L=@?$S}*V1~i;2R{oykW +x#Z%W>7I`Xg}=@&WqGFvSOd?JMZfjj^@t4HPm^}Jt}H>|C?VW|*Gb}Lwmq{j&^A)ku1{m2EpA5ir^=KBwp|-fs@!`dxX +Hr{%PCeNr)1AY*RFAp&p;SKR_fk!sruYqrO +B6+p=37mniX?+AybUi{hysB!3zpgtWx&{yzi*-%Mkx0bUSE06hk|c7CP%>Da$@PKIszP5Fd%9*|)(vS +H{21wQSS}>yqhUKL8u;;$(@^+qMII5OHwU(~s8sHsda?n^k1ZqJhRk)+4Mr`ArJyXCS{nkC_I=#EwND +yQbcFVOeZU`L2h!5@>+R6(+sZL@qcu)abBta_jPNSh$v`?}DH_0NVWxIMS+uE^IcAZy! +5mp=`{p{V7I667P*(oAaA(XX=8OUjZ=6>p(xvXAbK +j#vFD=0-S3_(79j*eI*Zl#UlqMoTDono`TBAgNO3bS%w>nqZuFpq(?(v=8&Y8(Zrr%(_j@pn+x885xF +)c*?=SIQ)rERDyWbYd3q~R{xrPHE`l90Uj%!~wLeLJrETRFta!%)^hXiTZ0AdOBGPCH4b~|k(Z!cuWG +_574}p|93#ICCNyXekxplZ?6;)UvLI8|>1-fYXT1Bx!d1$z#V@jbN(?7ri>jyZ%2qt|JLY|+$#C~YWM +rFhF?L>6YQcm7FQBi9;I(#KFY$K1C-3>j=S#MpB?;9z8k3m4`HgQUi7auw+qY9Uam*usIK$+pW@X|)` +ei~P;S_}DqxL`C_*wYj&gMte97rvCbDO7?C7L+~;_2rhb6Aq(7(H|~zFPBkDyr0vUobdnQHZp1b;WhX +28mYtkIgP3v{`Y)FCqBO3mAV6)Rj{Tt10T^%Y+?%a(Y@1+ZQ|+JZ)rVMn@Ygt%1QH4m>o^~o=$SD-M- +M@*|MRxyxBJs*JhPROuY*2WhV;rLTa|BVh$%IuEK!AP8M}I0U-^L(an$p$pXSzXdBJ`a^F`}uvD80DQ +3Q<%&(fa&}kR&J&IJ1DwbnkL)#&jQX_Sig(}U7t$GaFmWguQ(VnFeb-szE9|GnfMTgh2H9NL!L(k}g`u&a5bo?ARt1C54LZ}lkM&*kDhSj!vDopPfV-&{ +&UF!ne3`Et|S{rFX67p%Ff}Bh&fCx_KzoPiCA?Atbnxo-&1s|w9o$HUO4|OXWy0`-6auK@CXP=QjpQU +L;HX4p0l!HFe^U#H#kXRb<@IVsJ-qU__F3z+lSKZG2%yo`KD3zSCPZ_tDgE`ANR8BwQ8*(-Z#|tI@;F +EQ~Gjtz?9#g}0P21Nd&WE07#MvZoFUSQtotG$q?^(Rh-u%I_z|CZQ;t!q7u3n~` +X<#yZDb&1ZE~lCp*_1xr;sKdR5S0WoJl70|!v&^q2<>>voLE#ODR`hl$}j>j=xHuONQ@j|lcZr~Ni*}!Hm@H$!FlP}3XAs?x^f +ue$!Y?k_!?c+@ty84itQE$1s{+X@CuXg!#=AQ}`_T%_bWkuU|D3O*0=PWA)3FDv4!b^Fp>g|{&vJ@yTaN#1!Ce^J%(l=`{G_`aLQQfV?@Z?H}mQ8Lliobk5$ +-G6+-tZ`*~S#fvf7yLg(OxuefDDK-h5#3FMMG%*m`6$-P|%RwZVnTNtALgg0CK7f?$B1QY-O +00;mBky}|>PYaQ-2LJ&28UO$o0001RX>c!Jc4cm4Z*nhkX=7+FVQzD2E^vA6S?g}&HWvQxr(oSbQfsT +0<6P{nJI%Dy#Q@uxViFW+9Yato+9O1k1d2}T-L}uN&$3U}bB=hm6;IJ0MX@Lm#NyH6;dd@1Kic`Wu7q +TQ_wx3s**CqlsJ3iXm6HD?i~OGHSG&3vyixDvzRt^ye)n2(k=_@4z}}==p55+he12QYyeiY8*A9tRRZ +$5&G3Z7S +&M^3@a6EwySrhs{P}LN7!6-6KUuKhXYl{a;jhau?17CzYmGgS!BG4S|_f>rfH2}GqbV)XPvQY$Rt +_AQUXi(cx2;;oEMp6#lXYyC5D(uj4{SEAV32Q)BqzAY6nzIt0u<)L1aeH1oW9$l6VcJxlQHjJ$kRIEL +!JfmP71pOhb#ck*Saa#vwNIc4*YpX&H<{qXKggUZb!P)vj&=tC6o;JM0VNfSm!`9wX!yo`JG31IWVCH +ww;sc3K&mL)`>@|J6bC(4kLRe58VT%*!3`FdM;`<|&u&gZ{Q39$PVk6hg^XKGP2@np(Im~-~xWoD&yFlN}C!ZzOs@GFf#mfp`W +RD9^&ytNe^L<&(#YT`}o2YnprQE)c0b1rNq7~dzog3MOkzE+srIB448KQ;_IfX+&CmSI{?H!<=#ID!?pNw6x!9F>2#RmRl;);z2lXF*WoS0m=V&li;( +iIz5Cev2zdvlJk*8;X>EkMA$T;*a_7#X2`^y^z!5DliPI~=7;>0sp4=KM;7o7$XDjm+jeHesIHq{k-6 +Q=9eJgm`Mx9-9D9ZQf%O-lDT061WlDv=>7C{h<#XK>-Np|2HmFNuuA*Abh0 +Uj+n4Be`*_*@%e~&k3l*`_j5@i6iB(?U|PplR14vg7O>m?*wq3I9vc<@`{2;F;#-4L|7yTmjX)q5hJv +Nk2zb5De&yuH48K2dJer|ya1ate?xn`zv7*FK_?>8sz~G2=UuFkf?B6=WHdPUHpdOCr22e-@PLuUc(# +l{LlQ>|`e3Hh3bIr^zIz^Q-j-xL(XP&5>%$fD5YXJuJC79mr1Kv$yO*jR6o3s089bu55-OOAwPWz>O< +4&X`3U?>sSVgYU!}W-vnTjVONmzRIkMfHm$HM$<6byti_Sp6A`Hgo=L48S1_|nh7(RL;YR*R8F~(v{^ +vQsC0#&#tazg4+-ema(G(%=A%+1Z$ZOh|Qf?Xrg{?J8@I>!?tIE~E?>MjKUra_FJFP4vi$u|5ry1IGA +lz0bRmpWCCM(ABLPC+31$92+y;Zp+wO0405H^l-cUVaD|#N+Jh6q^72_Zuiqyy7~0*B3u603i{VO&lxp8ZKtd%P;a +m0*5QC?@JRA4vJLx3B?}(Fx2t$%=k*X&B87{M0q?>Iz11bi|f8>HDP(LN)mD{Ttw^z%(+r=M5)K!VD# +IUTK3$nhgHZp^23v!SudbyXpdHvSC$O@ij!8)5Er=mO6J?hvZ1bUegp^cR00KXxa*t%}*M^6HRAE0)4 +7%vp6@4@9BzlVM*1B_fMHjj&Vwj2-$g-QP$Q#O_T-Q}yc+iK`{b1e=8#|zc`R_wUvbRyaxJ?0wZhD#u +)J067U)*1A7ay`6KG_V#(EWNQBm2<^a(bg7xbsIPZGir@G7hC!_m$Xf&e0KW_X02crN0B~t=FJE?LZe(wAFLG&PXfI-6axQRrtyW)e+cpq?*QYo*7$#+k-2 +nv_2ylU=^@grV3N-EdU<8gVQ8rhaG)QWRSM+`Vx0me$?vw0DN){BL6N-s@&4acQfxr)wv?}cZ +ni>dc)rzC@SLUaisMHVRfc9<2qt7p^Vn?m7hDNOx+}X)+Ybk)Qg}glN#qNnYNi|3@9OPNlRfG;ZhJxR +C~qh>Bv-ZEgI~DqhVT|bk(JrC1Xpg`Ug}*Z*p=Bt(Gk2{6GY7M&q$?Daz1sX5Lhh*2AUNCYxpQ8^!^!D5I-7m{^m1`_{`~Q?#q4}`F}r+u1yh)h{`vdIQ3? +mkpF_)E?Q$K>E}smcfus1tEx)_vH@E!imS5cRvs->btgl|3pF1$bup&fJRIpqrILl@1yClgXz~5*za; +{X61A3U2uw5Ph|VbG)I?QW4Ib)rlB!2I8fTeb*n|%H_`{uCt0B3*aq~}>K9 +(PsGXVsi0yX@50a3?1SJws9^+SPF?tj(?50lX-ov(@OKy$^dbfzv*lyZSHAPmr-oK2h#IRBn? +ngHl@%U*)@M@~nuX>A{MTW$pcvkya@=#iFUx_CLrE+c%5gYD% +?~&|8B|^Q#%RLy1Sd!y8@|LV5n=APs@s?6hTfedkX_@c10JplgB77)dYcLPe<{7*czw_y!m8_0#$C-# +z4{y0u6s*!KxNCc5B)GbEX#>kmj4A%O9KQH0000800WU*Sq!qyc8LlA08c6a02crN0B~t=FJE?LZe(w +AFLG&PXfI-KcrI{xf_Z3FMp?1Sr7yPO*iY@7#ODbzOttNh{qZ6seM{do&J^$A^ +AsfhMSg6n!R5&^CRgK+~pZ3-o`{U(%V`CAoa*bXUju5Wzl@v$He5nVp^4T~drEVI*069yf+jIA-#EB7 +zYUihS_kUf12c)7^Zvw{yG2dXh)pkV48@D`Z9KnO(JhJ_S!56Sw92_jfS$oas4oyBpvYH^*xO?XHSjpNc4}L +KIja6o=DkLkGm6zU_etJM8@n^c&3C{mbJx)BH%IWAA6D42b3|BA&WpJkJwRo#$%^Jyo=e77PGe(vp+3 +n?*q$36W_)Ecsb_YK+}FfjQ?58J|(Ifg{MXCv8Z6q_zdDO3}uxBq-)xYxW8D;ehP@C495!bMl_0*o%j +P=m>tWg*=C!Wtz+*E9OCH&+ntozi~B+_`zQ?k77NLJo)0|_qA56c$mFqzN#ZmH-zjdxgJIyGI}BXwO? +}CL^%W0-#z}mx;0^eYxe$Cpx~?5_f7n8aZ3Y-y?3tF5+GdD>b(DlAyYVvH2?L&)g&iFip>(i&p00p(l +&G}HhXH@KMVEDTxv4JCsmt@~@`Ad&s4g!l`A$6Xg+xMZH&cn%(tt=+ON?JWl&$nJyK@KPL_mBQlt_$@ +C8)r8ViQ19dKz1)c#10}-)$Krm{3ymJ>R62WUm)xr}2e9JH5+m10JPuN&9gaiSLJj1OQ98`cW9i%NPi +8#?Umu-)uGv^vOI*WdNbz7o-&2f~1mHo-@5-I)u8U)@P4~u^Ca>mOYo$Ja4MWP3{`!Cp>k|PurI|Kjo +@(e#)@S`7ac~H_9^d-X~JQ{Yq8QF)y03bsoz}S2S}J6eagim|L2dQ>)4Y}Si>F7i6mlxLPKPS-#%*Th3z-GRc|)G&M$F2j2+>%XDoC~asmv^A5 +5tIgK`4)*!a*(=dmqEdY~MMdA@>9{hhJ2u}l8W`wZf8OJ&Cq%o+@16j)4 +k_oN^^%yL)?M^MQN6x3jf-f8X6dytRMOJ2*V(?e6S5BQC+=XHY=qgo7Hb3fpgOL!`S-RrdOPl&?#5Pkt0E>;3ZhZTj~pylbmOTQ$YV%P$^PP@2;`%3#sl5 +Axg>+2FOH0d-kSJaEjpJZ7NvpNxNlL?+b|P}24ec5KOG10MdO5EUj+Mu8$ +zHA3n+!$dd_VFrX2eqaF*bc5We<%`FU7+}dadVmeH>JGQd8nYW-Ik3FM$HgilcWpQqzly)hgiimWTY} +P`iirFm2jAc2mha#}a>Ox$=+94~g6d>tSWuRoukY%~wPBw`TEu1Y-<1CPf7hEpj6;^E)4uhhnz4>62F +NLb<$;aW-3`1j3$vdnAc9UQ7LNT&*k;t#ob6nZVu*91+<$BO6vBXT&9AC1qs#w2g1LWtdz|pHWVnzI` +LSF&(g@7^c>H#Mkj(Wfrv+4nwyOVm1>4v2aBh8U|khwj?1+J~wPt?QDZ!78z$nP!;E8@b6CGrH+%hx= +A%DYh%Mz*Dl98aOf9&xsYLAKUnYanb5*HLRIdd+G+namANrF>GAexFblH#~mjJWk$ju7vvXiCpcOu3Y +0)_itL6H#VnFs?uvm{(r?jzbme;_vR+~!boYr#(yl^;NW3{mild4o_6rBs{hvY8#k_hH&98>ddwa_&K +_=Df4oXdEt?jtN<3{rI;!LYGD5Rn1?PGVoE2LxWUGhcZtWi4+V0Xa`%=g{Um>#nZyj#zb<1$fBkojCc +I0f3vh(RH@U7Z8JJv>GihH?BSGHmPtHu2N#rzM8`NvPwhP%C;-rbGuGH}Kg^DkN2Rh{)4aQ~q-&cC=6 +&ng{J_1~EWm>@*|zV@KT%NK$D*JAe0V)oy~{GVSf*aYj+kXR0usW4d5PKcHfmU(l(clX|Q#azQbMi*9 +;|8`yLND`Cq>N^gREoPHpqgHSn5IUCe$=L-M!9>?elA_dw!%@XsK9f_(EIE@pqc0^h2gKO`{!Ud(=O!g +jk`w<{~6!v1*~`@4CuA0=M<{T29D?X0kWS;Ssf30L*|$K<*nEM}iQ%}S_pc2$_qC?)@PG5^pAw+|q#e +gOXr(nrJx)8UgV@U7bUXT3HJ?4Kgo?!f&JcF!@ry$Q_&eBG(B>~#m2{3gLjv#eT +FDr{9tA5BvX`TC`vR7*lKq?w7OOjptq`df+p>Wzr{@&xUJ9kqz``vafHv0-rBs6WC_?W|HpmQ<{zt6Y +&|$ob+zXH{%~)E14*#qWAtH}J;Xb?FGpb;tNh$hF#)p9!JFx{rS7d?5SihaQ)7n0NvA6ZU)f(8#!*qy +di)yg2=+L^W1_U}P{zJS0iK!@>u%k)O%54epiNL}n)uXGgprMgy88`fTRb?zg)*s1NChW)=C;I0sjR^ +%BJ#0kct!c9~MgugA86WQ0IfYn^_YJ!MJ_qf%nhjrE&J)-yZDS?Zcj%`&y9UcoO@O5Ky(s%ejMqw7o} +5lEY&&9)vMh5mqzBF=+Hn22%Ur3X_QU+v3tpLZ;3w3;pU`ZShec;2!4Fz0z>H7mq66J2U1bdpJ6^D_u +`6-g~N@dg7Cj5_-JA3U9c=%zV{M^iC`B_G%nYR0jYis+6C=ECc!Jc4cm4Z*nhkX=7+FV`Xe?b1ras%~)G+8$}d;-(N9udDv|n +*D<9OD~TvAf=U$+Z6qFy*-pH(_QLMWc4xLp5D$g&)=CIOrBYELE)RV{Rw+na#gCzN!xQ`j&Y9WEtnDP +KR4$HWJ2U6mbnMjE5hq=l#=KCZ{QjsY_ITwnmNO0*m#aYIj5UInQkCYIxEQ#YR_eXRzDel!?8u4 +*?d6vd8-Hw@KE<65+#j(E=1!__WIQ#O23;yfp&uzVW$#IU6i)_qxi4r8CYBV8|UC9|AF(N{uCX6IPDl +!sDA~+dMXhuhhWhA3~%%tN-(wCqyxZ+{SMlRii0`xu@4XPeKl{ACIC;7^J +pN3}>u3~?7MMqaLRK6783n`V06WdyNd0qK9MT($m%AExavCuUaeN^6{a+No+sOY7mPtB3Ba!8 +QN{u^IEZ8#(>;PxI*#VtnnaQ$Oie^UXuL!Bq|qtcWM>kAdlI0}B_nxCD2ata$q7qDw$~x&6^T#-dW-S +EC;?(E`Em*RG7(n+k*YNny3b@|Y4GCys_~UIQ-ZFEYp?Zn2>K3Q6e>kF1mD)_S%0!imj#@c#QiTD6(wYtL#8X1Vj3y!2Us-+>TF&A+=Lrl9`;9DNL* +XBazcH3l)fHQg?5u;I_Mi9Pj2-}1zTcjPpGDzBP5wKK%Xv=Pq1(vJ5quh6(oa(HP*q@UBN}0q(nNWY# +!BXyj#)~GQ71li@sXe~%A{IN4N82Lj0o-==S)QiW8CHg22d|JdQ&!NQcj3;p*;i~vkDNF`dYTwoKd9c +ya#mX=70pzeK%a-vfMXAY86^WPdszD*wEVbk7;8C;a1FE)D85+Skg+cHTmQzFRNgF7vz|Co7}{f5(Zd=^*IHR?D$S2YpR4tRNbWb +x8Szflzdw%6~W^7e_=C+7uh}P%Yhy1B|(h`=-24qV+}X#*xzEN-EQ14|1)(Bccxra=_)N+ +E?YD8)2P3&312@eZ1YXS4^9&NQY4ON)M0;LyYqD$UexcIB8!iHsa4DXfx^a9~%{F_s054S&i0b;O>i! +_qhLtAdED_h2wAdJ=`c&I6yb9bd<5!!UKsxlN*kA5*CsWLOm?skNDwqqS=emoB2#zEbsSoW@6Pnso)^ +ksk;qVWq-BvC&Y!Vhi3Z;?S7yP4;Hh%=yI~RQiYBGQy+0W3x1!RHHnkh?i(t=8<{nD-H4X$R4y>owr~ +yaZ!|cR?yHPIvP8qhl3;4=QP0|J)m*5d_SQP_x)BMTYZ|*aYFlq3)pht;aE#gp%9dNPz+mteSZ7bmgi +MjQL3~$5~Te8Z=cR?PajQxeE8Fy*>~UWPruo}cWw5`bawN-$9F!MeSc$rdh7RV@BeZ4OQ4zE`(pOh{f +9q%{piCf-d=w&dvNQ|UvAEBeEj(5yN_>v2J~>gKfOP@{t4M56LiH-fekvP+Gec!Jc4cm4 +Z*nhkX=7+FV{dG4axQRrO!V~h^w)Iv^ne>}cWG9LT^tsxG~2c!e$HfTm8Dy;NaHli54q6r^-W +Nu!6wdmTqgUi9($P-m+;5~t9`O4(ljP1Jq3b%53z2 +C*MBVO-{C{4n+BM8vq>D^!##%bzb>t!U+nelEmUVwZ*MZFnw{6x9DgW-S4qQ`D~&^csN<_Q#^c`B=1CEu{c4Hx}=Lbql%m+hRT +!-mg)zOz(0JP#1BS=d6Y|jG_$OKBqN2&wHInk*)+VBZllMf~kpozr$taQrsMb<~r}foEA;irU6F!1Tf +|U$bcZ%SAV&D_WGySR{$9jq-1`?RF-lj0@8jE__>T%ZSmxLkrx?rh@VUr`z#SF&l05j330m#c-d#qrU +WzZBZP}FhO46M!%o%}gizFw(oKKQb-~Qc%mr$m`aKtJc;<-O^!J7B}xYW*}hk%Izgf1WnKOD^ZTIOY#-5TK +3QsfXd-Ln9F1oZ7`#vodlrIfoMzvWd%IHI{*rpvX=0z-IGhYt{bX4{%5XrA(21~EP;2ec)?-G1MvQBD +gEdrhq1lEXoLNfc=~w3kH8QLkZ18gQgnh8b#6VzNsvL!+1BSraoT=WyCILhQ^M7RM>0Gs}sIo1x8((E +^T)s;VIZV_Q&MYcy$Civ~1%kU69MHn7KWcxJJJq{lrAfCR>lrg-N}9ho6v-;QV_Xts9y4ALXQ#x4kj9 +ZxJz3_e6DBvJ%xrKDMytZDLWREl{Ro*~lAK*9<{$yY8tF}8<{CXMq{Zw%TP +RXyx2Hh-^3*L8v<#uI0|U*o*7S$_gex?nmi8`Gn>{t4;i0n!kkfP%k;_wCc}b3R+2o7$t=Br0fkkNid +9Mr@<4;b#=+1Xboi!`QNuKyPq8dKIsvl}#!ueeSH+ot%4C;KOD!D{gCR>_{$8v9TFk~J +WW=gLxS(YJl(60odlEuCogtP(&Cf}8ispXLjF;N#Bk02)N*#VPBOx7^Y&v0`#VdrPy*l{j~xr`cL=Rw +Ua?F|NLcBv?0kg0^BNY0~}l_6gI#lRSJWlT~Spb@^D6wp@mb0z1r0<1BC>; +zK-0oIH__IbYsl7|5^dS+qOK!C-p+EJkf0xhs&obyx_1X#rCsApqUL4ZZ9j%>x(K=Lr6?J%+xUjqTwg +h00HYal3#iPe#<`x*$asJY-I_ZkSWrUbHeUjsp*z^vN3uYmxIS+#Xv1A%ujtG4cIAi(0Ti>><_2(XCN +v90?W2r>n+I<|FR0|6G9c5Lgu1_CTH?bz0R4I~dUa?G)<`x5lo?UDWxX1Tn~vNZEAKQ1IS_N`v&Myfv +PBHhPJk)(yVkz$9FmfR(6U0nvc-I>YmBHiwySo%aE1C0M@z5B|4+j}w#pRC@0ntX2m)8AS|@|{oM_n- +Qm;pg@{glFp;guYw8%RBGCMOX_cuoyu5-!8A7zJ7DrX54`|XX)&dn9e+bAjCg +KA$v_ODxou{$DKi4eGl>=kB99_t7g$5|ymd~ssYw(nD_i(F{@vR96_1&pM~dBsFry?AQzPg7NI8;xW2 +wmrP-@XGc!pg)iDT^t^AQbM>W_QpU!`wHd@Y?l?v&-6sTMS)xxo2!;L_)tNpU$f|O)mTSh7u-f}Z?v} +>3f_0jN7-=yQ}$W-{D`I_SeM#Ge*1Giqy;ZwSD7>^nR{SXRupOF7JKEKf0^8&k_Zms+`9@tnWpI6$%84O~WO;iJ&bS|~m-AKG|js`z +sl=ZtU@E^c|)T@Wc)@?Mc$DRL@D=CiTvbUF2Itj`*J05- +wfL3XnGJn1>ADUUQ;k&AHW!33^P%$Coyn^!U;oneSV<_KL+@Yx4UC@uDN*m$E|k=!S4a4EPn5$Frht% +DRFRtM+pR1%>C%KrEOP?XwZDj=9MfeZWG=3^ +NDjB)dX~Y79!f3srh{Ui>ZPdoIv3L?Hxb6ZJW^vPgPWR;xw4HrT|M8(;!es$^q#G(e(J%<_7H?Py%~u|0k59~0twKX%&;9xiK+7mOz7zcko2FsYRth=^3ZZ%vad%W9mB8rl^+~w +8D7`Du)b5j#u-1m9~ya`-6Gs)8B?4^XRW~-tP@YZKDc +mV(L!U1NMkoOX?opk9m|WygV=bvrfism$ao`k4HLAC;qQ8ZJ^zCvYxZY(OQtzt<(eQDrcCW1*gfk> +=BCH?F)-u47=6Md>ocd=;tViC1H7FjCGLO!XIt+S-Mfl`a-iyWDSJbuem9d~@gcQnwk#5>4T4?|ksS1 +4d9W#=r;Xqel4Xe8TXG)*VIF{Pz(V4L?*{E6p^PYjcaKsk?Yt`+Sd`;`5sL$INKABE@!}Q;Yb!x!?j& +eA34Cjtcun?2a$n7x(N4b5U$>$|bH{Zok;d>pgrs`NGemSWv{xlcEhpN1WhM$!uKkgudLM5O +}47<3f?=`PRrfMHu+i}4|f@zWu*+2Is_lCDj^OkuSmtigHz2WtC*J$!F=#_p +IpVJ~Iwb64z0vx|~8U4^`bWZDtkZufm-4;GW2koh9qq1OQ2QytiVPs$DbWiVmzxW26K4QF1{ao8Kpyi +PT)H4ty?7no3Iozj~Q@%Qu+kf#nc!+?}O>~+Mb*LEV!l$rIXgN~RD8r{GL&HG46d~4RLi%W}Wg!V%OZ +|>RrBS`*-bEK@fp9X +`24Vtv`p`kbrvqAibi}jac*Be96dff*K^GgLS1YWDPCyu_q(Xrh?Rt6f%@rNx7s8wJ9y?Y#Ew0hr*>l +y!pR2y6|kLrK+6CJ+z_+R?&c`(o?s$5Z{n#`wet*`OwJ_zHr5QDPr9#`sS9l(-g`&O~*4U)-bt;2Z22Li +0{SG8yQRSFJd-E?c(?E@H+(pVz4SJ1Q{-{znnWO^MC%qq!c?q47~M2S1OAJNPM +207reYk}pq(%aaVQN#G=L1blg4J51ZVwj)h`BzEdBa&BF>jhN9o-v7TlAM2f&kq;2C8Ez~sUnw-A7U|Mq~Vm&X%7eKMc_(o#@oGpnQ@rv0yKtJ1qbjw;eq3#O<0(f2WO~H{FfSz-y79aRH>pYz4Oa; +I%4I0vgdvVz0u06uRXQS*H%Ndetgk;yPlP7vhQ)<@N3J_8qSLH?Iz5hAmIH8KAXGuig9cwI2osbaTOr +>BA>rPKyB*9t4-FWH-mj*quu&%P)h>@6aWAK2mk|-TUlvD4Nj5)0015Y001EX003}la4%nWWo~3|axZ +deV`wj9Z)|UJUvzS5aBO9CE^v9JQ@d`$KoIQx6(gqs$#EPa8l*%43c3`8E{cS~Yh%gWS?48zApSkKXM +#;Z9*UcL?aa=M)~V5J@UF~NhJ0OW!+46^(2dET;!s|sUXXfrdpz2i<()*X1TpYQv#6~RyvA +TvZNK&%ohiVb0@Ew>`Y6?BT&o-I>o5uSru%mBIKFP*zN{@u3_iuFTK`?jmpAG#MEEAdd|ACxr4-RQogg^oEudwD&}W31Ji6@k)g5_0y5MEhdE!8g4jcJMaSA@0c!Jc4cm4Z*nhkX=7+FV{dGAZEkZeaCxO!TW{Mo6n^)wAUqVH8pUm14X8lSY`}(f +8@jw1hQL^~%~rRGRGYNuf8RO0h@>t~hWQ~ebq+tC`#GYIT~m=mQohJI}BYtwW2;b>K$OFiRF16Sv!uv`a_yeYZkdvBJh`(m(VNgatW#iP^tsfLNNWnGE|(&z8lW^V3 +rlH9YV{BB2f1)vrOHWI{~~B<+1z<<#F8ixNrpisD|h89c8wpPks9Y26WWl%<_YH1Tj~uL&>BB!OOm?B +@Kzmc17T`Ua#+jY)ke;y1^vi*_zaxDU1i)xmjuE+wLUIHvEMA)H!h%8+M;;$!+~a>b`maA)6!lC=Ta% +tEdlUuk8fZO*RAmS5c@lk|8D<8xsI`f94RAQgpnqEP$%up_LVwJMu?UbD|o;diYat1u?xLcP5f05|F_ +k!N`On~Ib!Igw`B5RQ6Q{FEE}p7ca@ +FK|&-B>873*9unsfCIaz@ihQSgiCrgBh-t{Gjvu(IcbuJPn`O4b^9t%GQNfK=w)IvFDB2w!YHycAAKD +9B^#GIc(N3=<;0cS&Xw(j*(4L-JhILghIfpd~Ml>0AnW9KK7$FbbD=qL^7?(yk8#4I0K&VC|8B+4(Q#Ovv>+z1&7l*@QJMBPFyl8a@I)@AgT +&#gwnim@_813X?e>#bjGfGHc`!QRjSSOdOM<^v)tXkF<$0GK;Mpvp!>EO^$b%(9ev)eYAt3xi=Zrp&o +?zcGR?I90AF5TNH!^yD&S0?qE9^e&TMXL(1=>qq9sK3mBS*PuNt#qZi|0!`c>BK|Ca3j(5-!b33?9a- +CSh*3UAgn#k>FsPWMm4m0C^okJPap4VG9{^4w2&&Y1ZLdYH}L&T8?DPTHc^??VJRJU}(AtwXa2oVclU +{>f_W9tp<`{5g$S2rpuepT`hrO7g*kk_E_BNu%9)UzKYo38$vE@ +dQxqj1M2n=g%9!0O*&R7bI)6{U>Z*q=AWtm%2hr5CmF}giaQ +eSEuMwqD^HQMe`_EE~M;&nT?L{K7r$!&r);Wk(sNG&8ZUwwJkOa+i%iH4*FzhERnChO&-B +!v#JGM&4kqRiiyK7!RO*Fuh1Ya*A@#%&kDK@zHD)?AdtFdy0C5#h5wR;TSbWB&MtYo=4I|aanLo^fPl +N93S(H4M`yH8yeG`70L&;f3lW93L08q-8vT_{CsnKxKbze~QjV!z2%)On#CePE!sZ+_d1slc6VN#QQW +uZ3uK0wkW8T$(=K3%L2*uw3Ifz4!=Z(a}xvrv|IeuBJME62m&bBE(+xrjYmng>r)zqrDt`Ra1dTn0A6 +L}P0(C}zRUF}?AY%P+m0#27UAK9g(lRC+lk|J$H?QAYgeA~=2sfT2ioo=d+;4foK|o7SXp?B4FDAvYb +!^SOz9URm>|A2FG`wJe~=wz#$Q+bQWKW|}vPF@wR5Y@h}BpGq%WN@g?nBL12QZ!YwF;wv+(SD^q>-(e +0F{%xxBHWVaDFU`LOKbkQN{_eJ0m~Uez8+GVw_~Wf>nz~kawOR?h$*5Vy^B +jk%b)Hucp?SXE;+)cU>{PKW^iUA;3pbYy_9u%*8k@VHZZdbTLG7E#QP>bUuD^>P? +koJ+iBk!9yr7NT;LA@Tpl>C10(Tee+3;(KhE3i5T4t|1?TwllDN=KX7S0#$;-u|_ek0acF{$gd?7^wy +dp8_ko<}oV$6+|x8yzAE^vA6y?b{XH?lbRzdl6|b9PNSH2p|2lcO8@Ud2`t&$T75Bv0bO4Nu% +R?ejj2#;eL`uJpdFQ-K3ny%ulCu=Iuo_r!w=b&1TE2Y4S#wHIK&0qR5xFVBQv&x +hRFd>Fr`&&f2P48X#A7wrc3zdETxRH2sEu(z}cHa;abB%`96nJjR56RW#Tke%I!;(^ksq0IR;h3Gx`c^IXBYYGJq&&)UpBdbAp1qoQZ>fBgmxPj_ +k=ZS!aOidnI}P$^lFqOpCzk0JHO0!ld?)?l^Pu*XJY8HuB%!tiuNME%$XJ^X?|J#RHSvTmgvl2%YAB! +Uc<{27IJ1t``O{a@!`w;^oNsI3c-g*ul7#H=Hc;QzUOBe2F!`-pj}J+M898F=c?Iqp4Wz^vAGj9YD0U +;%j*0H3vsn!B%`eA^0$R?~`uxn4EZe$T+OqhQUm|Ywt9|(Km#i ++bvgP*|#rcJ5`=YgDI8fyHgMBNIzLymuHPQvFMid`s#WfeH +N|JM{P(ukv#ksCh>}^~?6gF8gEnF{VG3`B9m%*fH{p5t}pFnj3^V)P4xZD{37yWVC!kT0HbF8+q_sFswrYv~OB)uvWgSj& +N{{hICy^eBmB}5z@$NH8;+9cG#PMT2Rl1rF#ujv4ZYgmzD2(OR_*=cWB`a8ynAQ9?fiM&w8 +i3v7P_j&O!Vzwo-eZXvK^?R%Y1=ba1E&!S0l%O{=7$ +G@THCR2A~;S-w&n2mdIH#4A5?;U2y@i2$zF?RJoz>W^K}`$tC+&}x_24zyGK$<7WuQ~!?k_g(?P44r| +Ez21yH5F@90stUe-bE2X2Ra5Q4ng*IaJc4#_v4ey6h2nXGUAaw6_FsJe!%6z>ixb*(2T#8GBW@`hiam +~&IzHJuc)oY^e7y6~kPolf=W4Gb8DVH8CYDSFgTZm}k36Xsu#YF2TTRsS9V~EF%-f4yC4jcNykaEuR9 +Bi&GpbB-Z>H$Exrf!E_(cv2BdAV~BlVX>nK#t<&VLxe+Z_%`d5!5m|4tM;NYa#c3@VwX3CZ?$IE@5};JsBr}9CPAc`PzABnL`7Tr9r~#RmvkJ~xyNTkY8r(iV#Hp3Eq`My>h#w3wfS8m +i3aFEz+BxdB0bxah8EG&-5r^J2;{IEQXTL+XSmqi$zf3-4OEpvwWb0y{;{-(zRWaih&|O~cgV%4jgkM +%E90dhP +u7Z35l8|+OkeP{lPlS!RCCZK0DGcIctX^6RkRnw!Ma@xMmwfIN`e$U8Mr)X;PmQqYS;u*xHqtV`O4FhHc;o|8<>u-DuDIruTGhWNh=h@kN3LdZwO)Z1#2!E +ah&^lGw_llwkswyU5km_yNFG|iu@wZ*yhA0+F1N2_xC>S3;4vG)SU%#x@wmxGK!#y>aBy*MtSz|2C)L ++H;nNz=qb&my=&ieXrM*EyBbM8YH9gXrnM9U|CTNe26$1fYP&7rUI6yhehe$5Ab0c?=>UCnMQNcCOG_ +k2?>ih7~n5ew3H3R2PEt>Crkacf1Lw5VU5i+ljjc~b~g38}|VCu!P5vVQ*c;~M@V0r0mgv#X;`^TKeshTWg{>T_>%ru8v|#&(l~{7OG)awVdkDFNB8$s{Z1b{&m2?E3%hZ~Fj +TABQyW(i7S%1axq?pU1H_%m+;$Plyogx1N#K90kXSx9w+yiAqcfljJAh``NF7Z@F56rQt1~E;QGNpC^JQAm3`tDac7%C8wvbC{Ir}iKo9Ap*rkiTSA;$1&7ZaKAkY_a{e?D{dA@=*^1QvWv1-YcuO$h+i +WyG9qjx^cxOhsqN8GV@hofFp}zC7`mQ|%;Or;3O>Hl-R(0jh%Fm# +z^ATly+pmfRb1DOnq19<#)T$t2PaHGMV&^GH77)aGUiCl<|$DdDGV}(P0{8nm1fsd)F)}H6(K;^_Q8D +?5Vp)c?0V7ZN~puvWNH5&Vl +)0Jm1-K{ZykTmqb|QysY@QJ{LMZ@c+w!X3p}Ur4=sx3fbx(eg@g>fZ*!U4W*KYz4P9`*2e`G&*yKHt- +e~RIfk}Tpks1aL06+m2i#63R%9B$gf@&T2e%`*<}LD=R7af55+`F#cx2LJ8VWCSrui`Dss|Pq=*~YGh +7KEg}9O^^PV*pz`wsbiJJM)n76&T0TU2CBg4Vp%0Y5pbkX9TZWw7pF~~aNJ6MI725AKq-ie~HEIBVe< +Z7)h7HWs^7ovkPth0+o5pVH7Lm%Vhns>b$yWvH!nNqV;0_DEDR*$dUM{tU}`Gt_~;@qNKt_a)PYrXf_ +9$hL1kt#Zy>TC1~KQSdhze#8$Tmg0G<@yrIawrfm=HYoKBbs7{I=mh;uu-HCUULF0f618{f95VFSRpf +BWv#3^d|ihip(AHzJw!C$BovVyX1auyO?=|ppVtq)XU#h$o?A&E +eCv|6{Tbvw~R>RHPE#CH;)Zf>e8dG84?LUjyW+EE=-`*;J(9boZ}Iz8xUadMWQD}jZF7AiHNu+zXb4z +NR~nP1OR*qKB}fn~q_HfwUjZ`HbVDtv%T7*pOY>VZC!fTh*dJ0Wev@LTJx#T`7DrP!gHVV>vWfT1w$$ +i(00tw*Xzo&?3wwiOGvbw2aEtEXR#A;1PrTr?Z`H2(KKk-g_YAT{n@an$;RtvV8>vYJBtCMhQ*VJ|;urTNc9 +!I&_f7u-kdxZE330u%^l9DlK5`kTbJxvw(_MFqvWrxdcis;12 +~NjDQE99=zU4D5jE9OGA{a!$Xd)49a_djYh_5fGY;crG~ij{zvZq4vPA) +;iB3@hy>P&-ChjS-02+#iQVihC)s=0K$3HK>KaZq;<5*dh(#pT!t|JQ=?EpNZ;@b!Myzm|*E>+cl<3P +vtt`Se8_Nh5>OeN6twykz@6=Os7X~0`WT45R4Y@&{vnZBJah7gYYEoUU16bRv?s2z-fjgi9c*|{fHkE +!Qs;Klbamp?56srD@Ru^Q7qN0c2O?HQ(Rm(mQkUy|@5kl84Mln&>DKSOO?=Tp5rQy`B{9 +;!!!rf;O4i6^M+k~-?5x<}z_rNsEI@ah=t$UjXSafF?Tq%yjTgK6^ej^Z9PYWfmKT5@OP_u^HYjhI(Alob5*=N^OybW3353900eWxr#m4mqKH# +@msDc-Y&X70M+cLY%AE=HMWj?35XCEN&WkLP%u0Kv|O0R)VWfQ~E7L7C)`4W~Z*O{a#iV$fE*3 +_zWnoHs%E0PmX{xfgXeoEd*2?tc=n&i>Cu~mlNYb{)4%K=9 +ltm{7&uk9YwAe(f4};_UVzA(&EW8R49}To1vo)R4>fFmLIB|3TY2V0U4v~yJ0J!P#nBFJ=qiR3Uc5#W +FnG!I{i=uHZ9EirehlcP8L*ff`8Cmyd +9`y-;yRqFIKJ=lANZi~0%pr}@jA{sjBWuUyL$3P=ay@}#Tm(6hWvBv@G1VbFWtY!*nLlf^{vV;frZl6 +je_>?WBv3YIo##$B2+)z86HsB$;E4@YGU6&FL10oFBH8Nc&@~G;YDTp{DQBR4D^ZZ)h@jo)+IC1tL6c +rBlzI|r9{<^L{C~3b*F4QZ{jOhvrg(xMw&GM$PUH=a+l!Io-T+k6vJbA#8VR3kYv544lItsX(j@p&fu +@E(!_M)Ffcv3<@MWN+5xln>5?@+U>v_@uRLO}o=7O&>K5#UEM)#c+)sI6<^CPM>Fk6?+g%r+?k(_qS)Hjh)(KZ +{6rBa)S`xi!_kxZ4Z1;_lX05v~(+xP<*{W}Z?YY|7W^L+vND8S!FZkzJPCHEg=s8SsW7_!}C?2rY-_6 +N~*7t)I(li)QspdZ9OJVq+_O}Iyv2mLT#r0EW+C%gm7eez1+G{{G2rj`^c4R4bQ>|<3Q0c6ZyukhL^w +e%>r>A514O`dgDJ*pL!|qb2r<3Gmo_zoxH+Yk++X~8ow5q-m!iAoos%N=z{Y-|w2agy7dG46RZ`Y4m-3IM0iDNa}fG`gaT5#R$w{JolnA +@2KA{m-X9hXpvf)s?+YI%cS3~GWa4usUVILay|M!I=X&S@83k}UK|OR>$)Qiuo;qVK>6KB(Gg!0u-*Z +;&#m3|BV54t$RD^+fFA>UcemtP(*~beG9RJ@0vqNl$)Lq*_ylz}i?}b#g={h$5zT5%*#9;rx_*7~JP@ +2srJfVRkv&W(d1=zSuq0yD?Qf?a~Y328h9rLeT7IPOo9>*$5>4Kv9#z-Pzm)5;QJ1)|>ADuZDnn23TO +wM={o`ud~lUdzV>T%xqyep7rz}f>dEhwrxT4(>@IW9g3dyA?UMuw6<^BS83=M;J4eH$7%pqIu1D8=>7l;`3ea7%e??N*quaA*T7scF-X-5Gr5%)@!E-B0)y9^qtg&!($S40ztzhsb}0tB0b8k;@e2R%76l)s@@t +NS{Bgzo6Yy47;2wp;+&uYX}>O?V6~Ho(eq8%MV3emAg8UA*}+oZmyaMzu(?a@4mFzvxgLMH1*54?Q^)m2_F$D!bJeypiY%Yb)*j!{WIE +?~tOdI(*!)2^zEWtFv&dX@*8dI2+ZYl-WO&(sb;uFaNN!ifVm&2=Ls^rGdcNe#$f1^_7HbiID-BvWi^ +YFL#g*~XizGAQF*oT+A9eTQRz?7Wg)^S}ln8|cs&wKISZSA(^^zO1mCM>_+96_-~vX6@?R1^8e(LP+}9a$`?)qf5KP^&ktwQ1+vWpmZUMLfdUXlW} +~Oc*2@@!IFUzjiu?)usH)y4X<|#@CkOx{N8<;cEuxMRN{$iN<2OGZVNu|l=EQp2U#Iw=}73lz!GxUrK +#4+W^Y{vCTgCT&lKnCdST(a<;;6=SKq(LdlzYZ*Htb*lIQK!&dVzMh@W*{a +n$amqvK|ge(>rBZ*&$@-)}+Tc&MD`O8O;&g0{Zx|1t@yRt6RPs_L-qYK{@yIZ{^Ei7QvGRz3KGb{LxG +GWayjVi{Ru_8-v{COlZssQr1+Y!n*H;)H?N~*s)+gPRATsHH@Sz6(bOH)elMF(TCPVOpQ +3|7I3r)Q&+j*9p%G{qLQv)6B>AQ+G%8Nl+OOPU|yj2js7n95c2c^#IFP5Ad?@-*19mPb`p7&6l_PjkX +gC@J~Urno|(4+!wm1ZIya=CXlzf?#;CCWv)|6PG*0hRG(!=gDIFUYmtd_K%G6q+3@OXNge4gcS$mngV +zuW;>i5MNKxoYJ_FYgOU7yejg^OF0m1vEntDG1>JoLdkpQTY*HH+5rJ#@oK!CKF8W^f#{`BHo__(orK +;RZFmMd0}TV{#iZvOhE*pANc=pn>t*_E?`0bq1HWZtBcs?$@M;3hyRjYk_+mi0sXKhCc7`Pn<%2U9E- +p7z0v^JZsx}2tP6A`s^ZAL%1&TIf6%%^QG&mK{-2OI}Zc3i9CGF!X`*~g0JAIpn02vsxesUq@)UBjK% +$&;6|5BdIa(uggKkAhT1h()+0|EtA_zgc+xUnscaBNm1EIyBg=Neevkb5e~ +Q9>jmZ$MKQ>BtqiR;LekURX@3MHXOf0&R9E1>0Ljc=iMYJiHM@-@|J&H=APUqMl$FXTaQzNyn!3A0qj +r-80x8UAK?JFe^xxv}{&pN*8MVs)YWwsgW4>Bc(;GY&Z)$14@x9b%Bc@|e*W1%BoKX%19yBeApwSQFA +5I3WBiuQ@rM2RqYooCm>BS@V9cMgLQc`Xk|lVx?~c*yf01UMyg4c#k?Ctscw?I3a@+=>w4)7{T4yNF# +&$<#N!xLI9*$0BwR<{Ms4>Qz>^1+2v3;DLAO^^P7grv!F`AdRE8&ry1j00o62BZ#--!J^b%6M#Y<6mZ8b> +n9g@9qV+GZ$Fne2^|#TZpk9BLm1D&_{%N%Owt{9n8F149UTr1OVt4o_z}dsXjaSYM#tyl!%hZQY2z|nzhl0{rEM+ekW6-wuj>3m +QLP)_B>8)cJ-SpoM6=4X_h>18Q?0cXur!t27^MwEnYI)SSgz?Y8#S9o(YRU1d~Jm*&s>QgGqqp#a$jk +sjrPo})(W^Td~__f(5UMLzfqHn*WHY=KC8TNxrn2rjM3IQ;pV3N*JIz7NaC}9ltVyG9vw|2O}d%zrmc +`Ic$2%Kn=-7L?vI(pI}>df2avn}2E+c%3s^m90!HJgNFbQ66-}_eG+Uot~uQH7-Idb1Trb^(S~aA*!}50#!rnwba_=)}9|i +p#ayYbxR?`Zk1P5!@Lkp)a6?PHwe1uxBolwh7+}(zE81^9gtwt=q+euLqk`1>jx>v9t-H7P_989Mq7~$;jcXRyiz=O~wZIe;VNl4hBVw;2V+N5}!P(U8@GPR!3(Mxc1#ph-iNtHtoI6&4 +IS_ZI)6|6fJxnX%(`Jz}g?#hN_r)AAdZG4lb%4u?OJr(i=$g^0xaX}vQ(v@e+WCi>W~OuCqgevP0B6*7iPVu_XP1z6)ig$)-k|01V2f6h7Y`2;;AbpdC^>Ukfda{ +~(1_6ESw71kQZbN*l2_Csz-S!eI{D_Zs-rU`Xfeu69VL7ZN98L7DE^6z(`A+tPK5tO8DNjT+3IlxHR9 +kv---%a-dIS%3~z7;D&LpYRXKNyS4T+FehgYgcR9IT}UpowJBDnbpKlXBj +-dco^gqKVT-u$+?$eVm}ACH6H&xsNB?u# +L2Tz@7j~*Qvik_3y_pKX(21KPJycrzBaSbCJEHo3_3P)j+xq~Z9nMTP=b!y{EeL!M$!Fq^Q~Rj@Yj#V +$&;@HydEzJQ)Y9zS?<}^w}QcLV!AT6)`b+o$BYmyXuaDY-cN>mY8NY%U_$JDELic)~&$~WQ8fqSKAXks=GvIQb{sT1JmlyVsO&?cK8oCB>-ipWc$;z&1@4 +E?5LzB!w~uImEFUDO(?r*pfr6?C}8+Vq{B=0U9=7GcY66<~>&3PZSN(4P6tC;%42gOuWMj%lPc7K*vx +&3aEd(&#*M;D(+Vji(Ik)7ZMx(t&tCgJc)x-Ea|iMZFC~L5%4W(eBU?6RwB&-n^qx)CU<8H)RwpMViH +K>_-WoZp4<$zDrEFvd)rwQ0$&MNUqfy9Rg31QG+BO7=>DJ4$A{MoG=L%HaU`s>;3yJCo>iIB%0#pK3B +aT%TP5$<=e74r-M<(YCYiK6I{^-S*=X@eL5Jsv+?xlQ`&jtEsc(D^~?*9uPfLP`dq@3!k`RZ2J +23kOi18-KJ(E7pUGr`f88+TgSTfDWC&9TQ_}jo9~A1V5i6^H!B8*;$JbHBuLz93kn&oCQKACYRykF30DFX-9`jMype +9unpNyEvF2ccL6H5Td4-p)y6B`V$WPsaGAV@nPq@f-tx3&8nEuts*T@(7Y{kut30AK$Pq8eU8Czl;B$ +}`!{at%kVYbCOW~4=#>b>qyyT3GG`Z~ndz%bO1B}B-JEWfn;;f~;usRf@mqyDg4`Do20oM$rvn(h?1l +9!FaTR2O)u3cI!$$r%j`XKApnRWk5eJA>I2~jt{-Pl +O~1}nGPv$r`$Qg(92k0c_9Nf*@kVA!USMO7S7(XsS{$8@G8Z;K&_DUbFX`u5i3y6sh +G~UtJB-Dg@K&ZM_hl5-P9BDAwX6@P!xoUsm+aQ^Yc`qWHG^?U4VZTw*1_W1_S8X#0UZ=6NJJiaAi#V0 +?e7;Lj3V^&Pk7Q_zh2rcN=?Z{ilowI($>b}M`eJa54Y;;o&-L!agCu1fb)lCwxVV?vX2dtD@Jc4Y0c< +EDIRXA)b}27^IJX*x#e(?R6yS^sWMy&5cNtBdCmcEZ0drI?HS&Tc;Y36mOt**{XIuBcdXwfipe8OE;( +WM3@dZU8rdUw^(0r!y$b}qEd#srQ5fm58t8H@yL8!2X*MuULO-HC>UI%;pEtYv2!ylnd?pFH&g@t8`; +XROm?|92k#70)Mee5k*Th7&^@D?|97qpoDDgTYWOgSx;{N)!^Gdaco{m6Iz3{AsFF~?SY(DVl_n3YHy +L(CtZgv>v<=|YJI((V>>$-Dd4In;>=PwKGxp=gS;Vp+5|<^;{~Vlyoi?QtD@lvO)pRo_QZrvc{@H@qI +yCh;PF4;!RnNV6?4x38191sUAX;!>H0By&Q_brR!|z@%%fY|lfeEU?sH2}f)g-->A3{=NPY{OB2`0^_ElyA7~Xw$;&8S!2 +y*OuoME^tnr0+zi`F=~;&+t4I+&n#XM}RTC7GFi0xU-TV^+guC#n!@b_s#JLS>^5@<(7yqu>n`lh0ew +b_`fg44}9@MeJ(%8mPvE6b)s@2vA?CQUzofsFYO)d^NodM4`_=D6D1+u-C_!-7$3m@d-Nsh-KVdoSt& +V4D4hRc96Ial0P+&XJEEeU0$O1)Q!H{7ZKXj;%JRYanUqtEt~L=CvrV$D2h-oS3IN)4infJF=)e!bQ` +ZKh`mn{G@<(>r|Q{i;P`W;kfP+qd4bW*V``wd!k$+!`-|dSo5s?jYBVNb0^rKY>EWagEV +2z&z%V6*TIyu6n7ot-kVYOVJ7m&#+Z)X$BaG+0!W +-|nr%6UkX-C>4%lTK%@)~?zp0JCh$1=v6zdIMefbg?=4S&lZEs#3^~BWA^j6%hJ47&O}5%f;EfC_iDN +z(~Y6!!B%UQE{q3Q^JD?IT!Brw3B9gU86FOxqO)TQ(=B +a!(i7~BZQYmL;ujo71|Wc5bG}~rx6Fn|36(sqkYQL-v&u*b#%bH{rzKjJ3d}Wdslsw=?` +H3`ISeL$D!%jFlYS6wtYvyt&i2=xKqpKKd|%|&6F~>0Wm-s7BKe;~Q2gA<#yQc5R!?2^IQMoUpq<(@0 +cbN!rdA?uSxIq`V7IE(?pvGP!luEo*UC;1c1p_7UdZ&gpP0rN6Exg7`F85Sb{;-Dbn~zavk@|G^j*T$ +MXvKV%6u9DFXZAT{{$Nx-kJ2}q$YcsmM{SjZ$}bwF>;nwrV<`rs1Yq{l<1fdCI_Vj9%uvvTubY<7l~^ +#so$N>g9P)QzZAOQDhY{+mc8%YoQ0=c_tba{N!iTFE5+2V1G*P8WMw9$ib+s~_Z(7qS8`BW%_?!J_*W +&ZfK0V6m&N;>l0K9)>tB2BB*)XNG+h^Zl1A^oq(b`fGYB{IqH#t?=!B!ETxI4*s{1_cT1`@<(WPxF*5sSyv2QJZP +*D~QoBYgN+p>5J2R7{Ks)G0p1txBXO$k*q6a*k5{)n}V?yGw6dU+lRcUF&-rU~VV&6;)?;|{{hMI?y_ +Hy1a*?7+qdEgIZ`B)AwQn_ea|*YPAsTuVGhV>rxNxrPwb51@zAQw&`kG&69zjzVRPx3B{EN2D%u$VJ)Mf*<0I{Khz +)pEg1xr25?KG#3){onBS8{4&bVO|21zetS~X~5M(urzEv*Z$wrTaUqcUrfj2ImV(p2Ls#)J(0pfZC^uEh1c-NaIItcQ(K;3fz_60D9?=PJ@2id^ecqGzYPtHF(0AIH-}2 +hAGt^~4Vf{M>bW+9QmZGTRCz@jKVpIWVlT%H|#6<-wE`hY(8LC*NTXufcTcglhUfX#Vt5h-5wK_p$Bu%}}O2{LKsRrq2F|V^LIFg)IHEwn +_n)qd&SWf`}f7U61*P$p^lyRd=K@MA<7)-nhBin2ty~MN87;@U;fGsnL$(*1Y65cQ=M$`eXGd7in8=| +_^wu#I-$;8$J4s`4TH`E+;y9eE3o(%q04&)J0NnPv@=#y%9##C=PsKb&&?qg1Jm*Gz!O1mD+wxbiYil +t<}_lCpKtZ8c*5I(6{H`558BU!-(9E5WtUK21-37H2sLE@l0~no$ngQFW+jZL$)he8s5us +a7{r|j)m&saNCwIM?s?|5W5m`Wu(8p*?&)7xX4qK>U1{#vgLsqir^HZ6n=mx!xG&Kca0Ar$P`7s|w4s>Dr? +hQJ#~$1Z8}H@w!OMe_*qs4rUX0R(#62``vk??e=suLv5YBD7MZDB0Y!D65IFVkK92SHsr$^*Mg}lBtL +%TYguw9m8aVD7e4Y^UxhK3>59EeOJp`jjA3ZE8tlL2dE!5w{>FYxaSZwTO5z*ANE17=B5Jgi5wH<|YTBNDKt$yZK8O8fQ(OhS$`AvhG^lwaL~FNF$@Q +#`};aUoITK>QHr4(Lwl)B@vKk=20d56zT$h6ZlU$*fxO>8lY{VuF@iQ7Yjn;-s!@WifC{r-PjV37%uF*v^q_LAXpqSSt?Y5^o;OW)0@|=m^u4niun*!8ePu@ZWmZ{D!2rQ)j9fB$-L#>aw8LSu`z$f +n?D}gIVu#5%N}YS!j^1a{v7pbd3UpQDsxKBMA3GZ-o#iw%)>uM6JD9$!MWrC;2sXIyz?p^uJ&J6Tm?s +GC2p79hIj%0~PV1*3VxJ~Bs0bWm5e|ibtSM_F{RXEf4hP`m3t~+=E6cHg+yr; +ZDcp!&*AgHhwiBP`b`d$$bm^{ds_?1W&1H^?VaUxW;Cps7dMw+Q9C>fwollvEW5noep@WVZT;7@btm+prK5Ds)}+L5u@Ql0yKHa+Wy-cY<+>J_fAh-+1hr6$Gf#1h#d!^Fsg9fXc`iBbSzJ@ +#v(*>JTaNmC>hC5h)gfST94riOzVabcVV#)Y`~u)ZAiN8BApFwr}^~?LMf~F-Ihh$w)I+xnC*=-jIL= +I`Mrr*I7l3ZCraB}$$FfAN}fSMfV61e5pGr<7OaeHtHx}KNUBntA0_0uw;G^QWD$z0@4~~YeJQRI*1^ +fu?nC501*E7Q(+5#O*WMl*XZQd2|M_2o?JgXk2XJ)BMR{cIU=(k51SqL@DJ!@JF%6#A*_FO##!F)@S0 +q#!P88&{(<6~uHxx%MaW(6xWg#PA7=Y^v?m2&p+w}nIGyQJZjG!)9cd(gh>4OENMm73AP~)i{0b=p(f +Hl#1UP*QGH^_)@}k1lyPrUzg}}{)WD3*YBhCQk=l?%@iM!Ysr-RVR1XPUmd4_F?D{5|9k0G +DXInlm$5Y1p@sA~_xb0p4mA;{ycZ<~^(d?I0RrVj2G%QeLx>S9nUeo1pGTg_>e76tYI18H>qXz_^yKN +x#Oud%V^fQm)L~P#=v&NmroFS-jsuvIeh4gyzY6qL>$Z#I+&3q1$O06cyMYNLgYfhX&;M42{KnI+3C8 +oYj?2N^ACmo+AJEF&`YDD~T|HRlAM#~#m7$A#M-VKw#Udkh(?oCj7o@h+AX5lFiSjXsj +Hgr^Ry%bq2|Hs(kefA)Q~F;OUh#xIe{i;S)NTZik&Xr+7^So{N$NC*ry&W2~ZBmN4MmlYe!>F9(!`Bt3vPavhLvw*YzA6PeOMa!Gf#peOct$ +4E-x<6F|FaBXex`Q#E`~6gx!uJiCLArV?%vJpIeSZARrMStkrld5^#lI36x~~3@mEoQZ_(~=r4-+yD; +&$&;df3ie$;WUwI7JrE_Ck!rE%Y;Js`o}Q9pwMm65J(m~A6scgGdPMXwofcbp<9LV_~p%Vb{&6RTDdF +9j}9U0UhHW1ta`C|E@NHGNa5E%4&*2D8?ralVJ8y~8$qQx&;?`7xX?oC9C9L{M8v*c;Pe#X +cS(nQfQ)K+^`0_KOnl1G*i)04iHKf++t;imGY_Ib0xh}bN1eCpxfH%j-eQWQ=doZ8vJYnOwA#uy +Y*r;%!wH;scZ@jdF&Y28U2pP}_i$r}-ag%&qFn#vJ-of|#5hPQ>q% +LOyeH!Awzs4K}d`or?(${2 +cMYhQDLUpHI*L~%BnTgJ8{qkBg#HkVK_IEL#kh>P*e{gU+AnzxdBk0${?RaH4bqN!24pAzRz!>?!< +@}jQp8q&8#T8%FyNGtf*(}Wmb2zlr7bsl9pN7@jf&;wRtPi$_-EvQ5H2--FA+kODSQM&`t8^)050Oj2#E*Uc6T{ +vnC|X4Vh_jrqw}l>cA?{6*p$q&u&PtCWkb62=$vlc)Y7s32=nP-u`w+Y}9mq8W-oP3@6LP1i5r +uGK#goF^da^r`oo!-LNKhz&b$-jreY(`rUPvr0hgZQ0fegTpZmwz7e$5wrVw{JqUqce3Hjrr**Q~E>4 ++?U1A3r8G0!UvJNtviLAi3>b$Z~!8e3P$!#&I^dmTrCz&{&Pa6km +(s*Q_+X}-%ALLYZW2$k(!hly~m^%$M1UYd%Vu-;8qJyS8}5@cdN?JZl16N>U3AYZFmi$-S;w}HpK_^d +s~F*d+>Z^$Xr{BW=*nqfYs-QOU@Fvvj;jXR0B?-;xUgFN88M)%8W1p-bqk0JynTJfS9aPQ_FDNREVG7 +dsKWQ6e$3A_U~OlX83;$ffq`}LylBv@gu_rp0 +_-SgI>FT=1=f7u%%W(l9KH0Dcol~eiu7uv8FQ{<7Y#Frl32~xGfGq!O;RB-emdHk*(98wSS{Vrr!t;i +7{4A964UZ8!Go9x={2|@;%}lDmwYXOa*$3pc#;FiTN<90$7*=oQY6t(*`>O68qTa<8mdR$N|sTEf;GK2pKE&-!{ +l_3fA-;Wpnu`QCU@zm0Ywc_*;h9vEG-no&cjJuBgjRFripHij(f2TmfDs28%ZJ<3;S*2nmsfX+MgRZT2pai=GSrsQ)X&kM^eB~BLT?-1y9BIaY%|&{C^xLtEu@m?jnq +-_&$!#?o@yAZ71~3nYKI~lKGMu^ +Q~d2;(7PW#R(3!`I*=Hcrp<%|XD^3D-H|{bu@nyOyiKB9$xTeqO0NN07!JM}jK~JHY9>&AlASg1cc@F +da2cclRj(8%+}wr=fSUEu+Xs)|`A8L8bAU~Ho?fD9_igYRKJRlSeV~m+^fjPa6&Z87MuldAIZ<2KWfO +@?!M%bRR`ncoKxUnw{Kq~Lm^kq?(q>kz@}V6Rr?8z4-WKoZ>A(+&lbr +<=Ck)vPsQx)L*I6^bl*Nnvtn2lBs@OPfju3C;M*4ARd*8wD)~;hD^Xr^ldPF#uV$Xe<)wCv@?-O>SHTb2||F +J7hiq#@V7~fwv%^-Z@7UewlA730iKm74H{vJN+e325#bK>~M<|T_8z6iJKEEIMZwL$vSRBZd$2|LI1$_E3ez%L-0ZRV_jg;_tM%X_T0{nH)^(n8QbJr*#g&g9y}+iumH +C|A~%#s8@V|bV23aWZu1!_2;u>zrfsQ85)!~?Hu%zd3FiAox5|PCIRd$YO@bcdSP=M#ci0?hCW`j?W) +;*`0#9fu8u=DY9A~oRek=jXqt8Y#h_E2=HZP0BBu$Z?#9V{oolUPb_U_4)QEapBZVI$5oUXWPd4?if}rHH3<6fq)c#)=> +fD;EUFpW!2>{poGC5N_5#H#p+r@*gd%?ci`>*uJqZcRpV9W6&xt~0K^yJIr;lt$1ek$-Ie8)a;7|l6S +X7bI{wzat`d=MwYF!p@xvw2PE&so;aF8Ex*7AkN1xr$TMMx@1`ek|I)PgDFO4@?caK2n^=n4-cD5AA` +s8!dc*D?-zso2*o$=qemFdMak +zi*?C|-EgYT!vq2TRJwRX;1i2@NiEchQZ@Qaq}=Lo;VF1C>edhC4zEBm?g@-HzbG#}mPIK;+cxo$2xs +5Ewzv6_T%rp7F*?S{G1QOlrMd@S88Rf6L`M`poTC9rz<)kGeiwf|tpreU@OzEbn{1Sxt-jlX&5DHXJ| +sLQ%fO<{GoF)=AY0Vd30_2c05?+C`-BC!#F`y^je1GXxPn#l1(ML0{IoT%czE7Wj@$`zw1_9$ueMbjYnZN~GleuI6#cUkHN-;9TdfzvSi`h&5DiL?2@%aWpWDS$l&kK@qAPX4Tea +H+GuEaBQ7>w?PKdr+WlaNyd7W0icw!Nj2+)@ohY<%Oe~mvU^$OVS(l`*eR~h8_0b<3Gvti{08mHD1%- +h4IfkCo)6_HHxFbLxLq6PcH_l-`*+@L*>s;HRtYdn11YZUbtOLc}wb{Fe%wtI^0o+j|am<+2XKNJweH +eaf?-l6+p6K%y6l?Nmz2U*wsZ%N&(~VH@fYw|lBkHi!DBY*Py7fmNM< +4agH=z#+<+fAs{5dX5`xE!v?=}B;AG1P4w$9^Oa&%-bqsxm91|5yWnz>OjtcKBKh3W}*F{0^ITZGoL< +*My5-aiSrlNf8`@GDNBT$qUm^8g`*hH!k$!>&PY9<*w|~x%@wQHXXIcGJ0iAiu~?3SkQqMeJG>*= +2y+;&9KxV^J{l*3lZtT|PAnL_$SKt}&~`Qx+{(zYd=N1^*?h&KC9#M)o)1V`s)!0YLq{efHIK3CFc}% ++a(*B*rZB=tw>Jt?v9-HR?_~(2&Mu0uNZa%cKE^eTz_UoVVHgnQ2w6o?&K`)Irll&J8Iqf5vB{LcE|? +Kq`BUz-JM*RBrnZMMp~gM?K&FQ5CJCk(DDeD(%nEH|IPm{#_-^bdsZRx1i~NhSH=U93*XC}LElGuk+^ +G;NQ~Y0300kEpRvDZbBrk_(Hb;_R5`V8lzyBHpk~VSJlgg4678xrD@A +g!abY(Q}(Lo=+iw)=BcB1XUK=#=*OLw+c*tURUdK{_$RTOuu&vZVKi-a;Zl1C1h!^3$P0j25LPzK~vOM3sM?fRf7JicA +oElxA*4dNqVw>^yU=RB+}f%i2TyOIz{hVMW>4?+>PHC%uoO-vGPs2i2ng`*DRMd-ni1u +rU>(h*e9;lZlDALm*vOFvZbQr8-zg^Y!BQzZcQOpH25;H#1JiSj@w$=)x#aWY@h?t+v!!Cf(?NYJ`}1 ++|$&|VI2H&IIjt+Q4d^eIc_(e9G0w%jze58Wm`aX~@I{`dnV*hE@oXIUpJ-cjN-)X;RL3E=q=;m-Sn0 +VMrZf|cbtdAc*Mhx`bZ3z6)IO&l);;7wyKF3|kh945U&V>Gi>ln&R^-1|yi?bqCNL?f|72n6*(=c^@#look8oDSLYp9EAK6D2N5R8+ +O{<8Z&gq|Gy)?D@YFW(1Db)l9=nqgdpvs#u%6cstk@33qjnt~NW2$f4{89?T-I}9ZzezU0*zdNK6Ky#K&y@cuH@U*68eIj! +&qt;d2f@@KMIqGz2=DC3)nQ^AqN%F;c-q+O&-`_)u_4D4Y@2dSVYMX7g0bQ6wytMmLqUdVJ1O%|wlFSPWqv=csv(=@dO7N&d$L6!FA?H9$S&oY{pKDI$DkX(hFy<9A%a_YWd& +0nvR2|K2B|2`+ve`w>N|9sIbubsc{b)LyTCRQ;&tB&JYIKc~j7frCVVpAWk=`m*Vra2E!wW#Bgg#piM +E6T~{F{YI9{B_Saj>A7L_KZVA3r4~(wjGNue%H|$rBDqHCNa$nLK=%<^S5ylj?F-u7ZEER13;~dd0L; +J4PDq{#r?h<#i?mxR2fR1Tka;e<{a*;E=(WJs%6A6HGnt(p7-D?*V$^8^Dclzn=Omk)*yMwQmudM0=k +Ct6Uf5bzy(FtgE=rMyk`e)%C$S;!zT0o(|`lq2knI-v|77(c^$v|DNVBCAsqF8j$N_l2$~OWhBp0aFQ&EC!le>+$5t6Wb+qygM(-w +8iX)kNw9rLkM1+Rc%{c#@;~mrNjw&w}PW~dCqNo`6zgyTlqS8W10zHaXVj!?Pz26U{vua!H0cml;61~Slq|M0}uxxJ$ +Tj7{cHM-Jk1ohx~Imh03?cx*1unpLpR^D2{<8WXNOgfMr>;Q##W@gE;K3my6hijK6+&fVRv#Mq-aV3w +6S&Xvji`&p}a(3wIKouuqxziXhcRFe?BHajO#i$eHtJESKfm`aXoCXQ&Pdrh)6Tm+$*r`wJ<2_H}>+4 +L<~Y0SrfQHMTW$0{UsHdh&(M^x!XbgHSC$4k{fQ$`ZS9PF@WTim;SKUu=iR>MI$5c8M9{5=?qKH`mx8 +T#nsAiNmC$Ufub18SA1)o4&3Km8{TA=0VAH@7fBACp@#j*m}odA>e=^N`*@4LyqRo*GNVWt$Gz4?R$$ +PrAq!!P*_~Z|}M>c9FQPwm%lqLc8wmi0byd6ir@XUn}a+I)?`X#o~aXf>!^rEY2p`e3{o@Jn1m#)VC~ +(fNC9ceiRx)@(s*rLb?o60Ao{#4jyBCl!xwT(@ChZSuddzue3pFwC2=@w&~+^(E>@hP~ +l*Y~&mzzMkti);@2z4!l*vyKUh%6&L*IJjR!cDEr_UFv3^(pcOeQhK2c-pQ2?HrP;fpxaXH|vBo>y7q +y8+OPd|;b3atAft8jV@ODt&y1+kr?3??#;aCEni>whFc@jxttv^nwZZht_?a9r>Pl{JK8`+tPW +&g=u#I}`#MMDia8gvUax}=;@-neSQi@kqXXSZ5ycxZ7fHjVFk1M*Uqt!PsY&3c(=F>qqWQPB7@D!`w8 +bV~2qb3+~aZRbqgHg3+@ +KZ_w5-pgLFYBeZSm7@wnlCdQ^>yA$q4Tbp00b5Qj@pAPEtvuya}tFOlT-=oPFU-@g23ezB`gU8<6>#5 +K?xvy@fR=?z>pg~wJrri=u-5x64GWGTJ>v4=K@f?(DX>J=S6}B3*Sa2HPdHB3*B5*P~_6TQR0MHS38Q +l!9a0DREuozib0?9cmXBSmH9b6Xkc@)mIhj$2S^&~7NC(qqA)UQ8wS@T(pEqrG4%{k;eDjU%MOb7TCZ +nlR{{y2W}WW@Z?6ozE9VEAx79XuK&vm5-QhV`cbA!6{^V)51Dt3M4Mc2|7zq@!kjHhYry)%^0yc+DqY +&%XZhQBd>YxqaZM*VG{s7{~@=PBZya^UX6DGE8UMweySlnRf2*g89gO!^<1xP)B6zNggDRJE}13IJ*m +~#khdgLvPI#Y?a>OIE+g0-jHvZD&86pN_n3{3jaWVUSL5?>5uzL>`~$z5#-T=J!?vT!r5%5UgodB9bb +{4XARq9z_q~`_Ww6FUENl-+LjAUW`7HVE@?}Pp;%m>Ub0Y94?Kg~-_5{&Hv{|K4D5F^uzvwFFf(r`3r +SmQXCs0SWvRgb#~}~;`f}g<;`Epr}Az<@z{s*|3yuFv*+f5#S96-{KRX +ya=Bd;>W*6JELOseXFiyeHUcFp!iy?Xo3d!dB0f51?~(|iM*Df$Xut3&G*c$ujZ?o_$pA9q6F<`qRK) +(-RWBW_xl9SPE9)HO;?5R<&5bg{|7w|oEIcU8=JQed2&g|Og3ewF;Ss^2Hyu9wR`4Lz2ASvARCd7guQ +??2VD-dN%LYB>jH(t@D!V^*t;sNPuVhjr7cZRDt$z0dnp?eBUJK$8N<+y>gm@NwkP;1Uu}Z$${+Ds_t +8g%Z9}N6bGdX0z>NKYlb$9xJiuv09{$zt{>vk0Xj6_(Tvu-Fvcq_a8q|C;YGP(*JRydj7>Y`EskifBC +7?DSm!r*7W}YP)h>@6aWAK2mk|-TUm=t(n;O{000OD0012T003}la4%nWWo~3|axZdeV`wj9Z*FsRa$ +#w1E^v9Rlud7(Fc60C{E87Lkf_yTw9;0Jwo%$fNvmitQB)x>42vUwAltOre_w+Q7#g*g_=NF0?>sY%X +|xhxFCCL-V4_pn!uQTHB`Gi9`1IqZJbbx1+srJ7dG(2!&_yVhspZHEJfwE+h*|N+G@}`Jzc95=d)553Q%>(i5(0;<+8Rzif6F +ex1OWlJXiK^R2-fNLBV(;B!GR>;C3`5`uS5XCo1IHQWA)VS}mUm%B(lK_VOylWD7hX4r5e+k&a)xzb$ +m?xkvjVx<=&P3Tx(rON!0<%+uBH~tF;gboL@tTv5{Uc6UXkZ-K#Uh8bRfWF8?a)XKmV(<;aa|5XQPY# +uf|Gc-)QcC+O$|K?GQ^o7ZznFXS7*0{Vvq>pV%}gkM5}LwT%6eKTt~p1QY-O00;mBky}{|(qnhU1pok +k6#xJp0001RX>c!Jc4cm4Z*nhkX=7+FV{dMBVQFqTOvP_A4!S1qR}OjRy0;?Wtc2$-B|Wf*16KvK^ +VIzP{KacvO09z@q)o~_4_X`^A|t9eDU+E%O6r&dIdoIT8ZGx>c)M&md3ibx3!hJ;>vwpJ=Eei?uCA>V +8^}cThS=Z_vs>8EMze@w;~a8E!*kJXeGwZ;q$_6q{j=+z8ThkYK@h}!y935^nO@=3mz0o-yN^N6V+Zc +?}TZUJzmA=F(S8~1a4Y!Z#y5a;C-?1?h7>#j~}@bmES7`H*M30_Qrjdq5|zJw(hu#qpJu=TI>`zCUC? +!nxZIr&J@tkOndEQ?r!AnhBYJ!#;sw%q6J*TtY-E`FwbfR$_ql-i-P63tfbBJfny_7k$NC!vQO`(tA< +T9<|f*1!S_pD2}csU_?Es_Bh)M(pv(5bNkxa*kd=Y7E?0PEOZm>0WCA}cCtfGA^n)|!K2j(v=O##s?e)=nX=_z +IWNJ`nw9)M?lCf0lVw|yOZ_T(G?)ny`27@t-+w;BjFaeAO3*>k^122t;^UrNvE#n^oR-TxT9}UTAb{q +EGD0;%JKgN7<2Xu-8!OpE|mByy`mTvkolBi6Z2{S3HQ_DUzJz#4EW2s8^tahPKA1hNwrh7~4 +$ZFCvOC{v*Kus`)dCKFKd!rkxAtSPk9!uDeGAZ0I|XE_+%e@OZz1Kh`xhSr`mtS@yTFjFLM+Xd!Pim} +gOF9M}*RuGuXix>X06j_{|f1cYn|bQ_vACy7YeEmtkJ4k0^UC~eVfeRyyv4APr(BQy+Ge3)D?c+T^zQ +}};eP!!XNQw#S-q@V1_?tH?JfEQ34qs{dDCxAV~adX$Yo|FmX`(ioUG&5O508$M=-@DQCD0}_aOcwjS +JGr+vu2}mu4+rw2nKlAHBP9wOsB1sng6w$ECE-G=y%(Ng3)1WH8L##|6r&jzDuT0vycLym(Kk9i&zr; +1{o4)iv5zlVbyGT)mF3k=WFrNFWHFvqD|XqI*HDVOU~Y=$w_GZk4r*9N*2l`89u~u~+_eK&0Q9{mI23 +#@;ENk?XN+mpvB#nv+`gj0x1v=lVjvMU@^E9LtV5w0+9{09_dK1n-%A9Rca5&e9;Ji~La?$n(j40)k$ +~^84Nv_F>Gow`jBMRi%Q#o)6LLC?UTV0h!-t5sOC!Z-$Xa265RUQ1@P)?k05SD +WW!rQV(>zN>Dh&e0Q1?TQy@DMKUuUTMoqG|O9QFWs~o|ZV@ZKkv##l9{nD=Di$ILFsyT%@zk1^;bxNl +hJ-o8@Xdb!w)#2Vc9Ph)mDQK_XrJ&%)5pq{codEM2Nr7}IlF$hpmRQJC-t{KazKB0j`N2i22v9`DI%I +P$v3bAPcy-NHIFNB`q-O^V+qA;1BmHWt3 +uQ=DZlLZ)1foopwqI!;%XnOGZH@?8C5ASqI!BqzJ8nIr^o@SP +u=9~>lFq+CeI)>$hupE6po)=cmP$aNYebI9i>KV18yd+B%I^aih8=+Zc*)0nw%5e3qPo@By|`%#ADn< +U~%s};=@w)dWi496r&W*lCgf&JWtubp-a@YlfWRg}=U#o~-rNYW_v$a|KATzH0@u$5$q0?ukX0lt7#( +D{P4A>j~kWZyD6c^R88SRxDhE>EQ3ahHcEc|Mq|Qyh#9p;n=$dqpHKK-N5F6*M(;i;rO{m2fVMP;4ef +EL+BiIG&7p*Q7ffOh&^#{(Iq%+qvXtaI4{8xJrq07RP${wHeaj=PacG({rb%dh&ZFWE9|5NvCH1nVx^ +e#R6uGg=X@(p6pT~B06Uvm|Tjab=NAzFhWg6ox!-@nfM!lK4<_Epovl*C9(|zo-mkkQJI7&fd;i&A6u +Vx_Q}Yf+>8d*4Wfbka(Ly}Ku@Q)mrbyJzcbnT!?&b+Ga3(fg#7N=S53?=dl&xx9Zft8F}b-e +=pm(oF4{0N+dk;w$Ikw(7sI!M!<*0dZ$`&?+ZkOP-rwE7|Gd+Ea~$AeKfu-Sd!I~(=*Rt=tHXMHdHV5 +nlWUARW1sW}q~9C(hvj&4RE~20%7yi2`x<$F`(cHDH@WfHpOCk`0UiXI^d|j{5HgZ6D^TuEzWtylKIT +D&QQQh*nq>u;$+VVbbueG41gZiUc@!Jq|>E@1zp1eD*yybk#XU8Es +fd{^UUC@-&3_a0~_;#(}ruFMJjP)nxbO9RAm4;2?i{Z_e>zuwwAN~tK#KzJF?eLWcJ|EYEX_)!z={OrMaI+tJz_6MDu-U7FA*;fW%C;wfj@m_(I$KmdEYz#Zax&ll_n*Q +-r9f#mQ+ZFvG|9yN~S9HW#tCDiehVz$a%^<1ESE3lChr +hU*?05sO2xcjhaYTlG-`!Am$PBDzLY6hXHUkxnyvI6ILX5#r?{sk;5AxIDVJN(6Iscg0jexxiCX$Ko~6FwC7*kqZ8B%xB9OKzksZWNO9$JI& +EhaKo9LlZ||w&yJ0Ximh$4)_p*o!p?cw`>!?m^$P9WaL&!{wdba}?7{rWj57U+ +KutzP`EtmbkL=NGr_pwII{S@>ZeFa8pzb!|hb*GIBx8)cgHnCUfrC^z9?uVN3=93(@(?8cI9r+_ +mcFQ%wRh{cojF&hl4RWZBpctA)Z3I$C7xGcb>5(G;%|3W;voB7>OY?Bri135*TG1NP5batJM4=#{;0< +-E0cr77%ft2ntuSr*Wg9X6@ypbwZ;y$DvCO!HXjHW@RGX|Qcgtr&(}B)~G_gch)0meG3}GxIvSxttlR +D?FQda}TU{Qwy8D0K2HnJbyZ$eI{z|e{(Ea&9JIjt{CKx`Ja1ak&4y?yKD85fsH!Bc05W5vD%IA_6mI +G{a-)3G(Wx@eT%iTV%m19^PYYqvaLSnKLgFPrA~evFIapjcCy}oECcYx7DS%sjwL+n68m%R!UGp^_&3 +YRFJkJ&AyVFfW|}km^u(#X!e~Bt$stAvVhVxv=O4fS27OLLJUk1&1k1DFDMXt(r2Y@b%VNe-`^5XoY5 +fIIO9KQH0000800WU*S=REz-VX-=0Foa703rYY0B~t=FJE?LZe(wAFLG&PXfI@CW?^+~bYF9Hd2D5KE +^v9JSzB-0HWYsMuMoT!8&HKN>C!HMABwfb26Pu7*~2gl0xi=r7m8F#Dv3MnzweOLg%l~-N&C>&Jl}W7 +bK&73wHLff)UhV4Oh{F8p^^`zP>aQ03o@yW6nBDK{bRBC@bT08KR(~(w|9Sj{&;(1@PA1qQVaMy*(Co +i68N)ZoZ;n-9nM%o>1v%?iNF%8PP8&(`cJ_r7n|h{?@>e5GVKN1a#FM-)#ekT5<6&4cjGal5GBQUv|& +3eC}B8I0fYC^!OQWezz-W6flZ +3zZ?I#Kfx7BobVgm+eeo&!MNuIPE({1)>yfDGpOOO(L%D=a)xTeTTmqBi`iH +RE}m&G{?b5E=t*Po0n>UmC3>rQFA=RpJI +Wysn`s03+o@4ye#1e%FN+COtt;lUVTuRaQ;BRnTHZs-RSv%neJ1hF4fhD2LPfYNQU6Q4+WoVZO%0Z?FUk9 +8>W~h6}XnpW$jlkYNSxCh$5Nr}y#rTY-v5`SdUauPSr`L+Xb&GrOa$Xnq!V#OoIkaYNp`dnxn!Ws6m) +%%ws?o$!XnF%;%ztGPRqr-G{K&?YJX1&P)*x&Z;RnNH83^s!5}(S?nV-7ryFvN=l5o5!34Q|-viOsuK +4;n~q{YbRPK6o3b-n&PMDDoT>?5(zGHHwou7S0c2=%amx#Gw}CX{e%L$!>8!(b!pO%0jm*1octbooap +APII~_f4GFs0R!yHn6I9)-O`8!*d?gDENjW%J8B0igq`VoT&xu`H3i5Symi4DR59$XA-d`c7^wZBStL3pbUmv#%;EIW +V^t50#@o6w^A0oo@&3np3nj#zMZ?k^`uNU`y_1a&bz)@HKSWe#89R0c5ppGt}%h9Eo#rXI*lqYooFYm +ToFZQ-zQo%s8)ot7%;R}>B_K0#r<4&7n`c**>GlXYgOnek7{uWz!ZPh(>->&%sCj(OY>c-WBpT+t7AQ +1yH4=Eo?>cwe7|>ZTW3wPMQ}_LYb0q>+;ewsDl=%k4*15E_&4r;F;no-1rlu9e-q$qrmP7IHstUp_fLNs~ +%osQRu2&PPRt@Mc@jN*!9fHk_5UM#7tDh`_cN_DL;WaPA8=$z?E{DEJp +i-dvFb#1xdML%!TorU+&J-R{x6z-tNc82AGfhbJ{(3}WC-oq7c4SK^QOA+WQ;*U;(0iQ@Z*kqhT=u7* +`zY&afex65TmMW2hMRwBcvum}S=e(Zk?}?%KoaFdA}YFONK(dU5iK|a90pSW3t$m_GV(c$fRt%Q?6Ed1)=+~%T$+`SU|o%9JahAu7g34}=g?)v +qGu9e~0?k=VS#$N5lTgAnGjog2ST>EdaSde{^n|F;oPd1xmndiF7=Q*&T4AoEzD|C}E4z=L{3o}Fe?G +lL+YNf>P7~u=^(|qczNuA{nnC-a81St+sFqq`S$Il<_&l!Sg89Vr${xJuJs@!AY|8^y2i6Ytb%gx@4v +Z=shzZ=PF?Z7g$+vTX0ua>V~9aKdj#;DLu!3NGBF0j3Zrip(0-z+~qS!c-Pr@LQ1CuYS1JEhirljw`7U7gJIh!J&;+H^iz30y!OXmk6K?9^fN_H~-*&SFD&b_==1%AbE*t=9=eR4Ym_^gum +-ZM|U~y0N}oEq~S5{xn(Y{Llw`i`v8CBX!D{#7OP`6T%YzJGH5TV9kvo_3Dii1%F)WAglsC8}s*C{}N +WZZl`Un&T6nlt&A?~sn()l9*gMk*n}Y0kQHHiE9OS8w0mv6_#aS90|XQR000O81Cd)*H1iVqMdwIX~@=W(VzPEZa^S3%V!rRCSH8l{PIQmC-G9vWxiv)lQq($n73RnpAy< +Tl+OB-fGqB1_OC^Y9~;mckrXG6UR%+#Dy+&9*34621$5dpddVXZbQOFTmx(YcjqVT)hxeD`8q9s=Bt!1^Z9&{%|}KQ3~^Sx4xUV1wqs|lg +V@kV;2sQy%DMUO+}runxh%O1FrT)#l9sVkoS36W(FClt4JP#W=1-~)(rDG9i_BUWDK-uEG#cOKqg-_p +{;h<*hBEG7dW$WK-sp{+BC-PRZ^Sty2~f^kArNhh1FBnl+uMF{fWcO>=d7+tp?e9zYSQ +{a$q*%hA6@4tcN%WmB~d@xv9*ZRyB +;5(>QawwA+Dha712n&a2R@RC4C?zj)EXIvLF8dE(f4zhqAwac5-4upgZfwS%6D1O=@v4u%XRZ=#3Cs{ +kc2AmVk!THD=`4cHLyFF2R|m$}R)VvFe_Ald#6Xpl7?EHw_NLQE?yNc2g*2LTg0N@S&W3icYd?5;OqB +gNd7u`LHT%5Y-LAKHpUCRb1C4?G-MrphZLGG>p}%^~p1f6tIRzAzFq{YO#{Ow6^5t-{5Mt0qjaLp$?C +HC=5>L2$3eGB75zs-kgBcI3-%rbIEw*If^+Wja+8yJ;oJzI^O$4Fm^cA)FCn*&zS`1oib=6F)a$k-9E%;v=>LpkyKe +Y-^kt&HHZ}Y!%#r4eQmAWLWp=DJm9TSkB%%H$3vJMzg=-ts`fzStAPsIPF9D-N1ndnKg@jm_qQEwO!6 +vjq)2Qmqxy|8{SMRjXUV90FZHU2VEih%9axu>4eqb{Qr?Y|tie`m{;K+dc5lv02_x6o2~*jB54H{S-)t55zr9G@{zk1492buL%*Onx2fAn +PIHm-G7%N$G=wj0G}jyBuZYXL(&kRvt!T<|P2Tw9Hw`YWLm#4-t@`UgAyGbC-Khq{UdIPq^|8jHQ_sh +)$)951>`x4Gsr>jA^n?@;v%n3O=qt852tzvpXbt^zb@ht50YG|IKOC2akH~YOv~ftf{V>BE)kJ&~bm; +tqA=d>~f&HbDsKY6QYj_z?+c!Jc4cm4Z*nhkX=7+FWpZ+Fa&sh6orCYF%vIVN8>v66mRY-NT;srWdxVsz(+7+7N~QKId+=@RaKcnYIOJ~M{-hr +mzyCf9!JD?uZdD(@Qwm4+AzR|c!#Ra&R~yT#K)HsUQAjOW=$Zyc^yU0cqp3fbq&ce@RCM4VDNK?HR-d +9HZ7|C+{$^@Q~TzOW=tdn{_4ypLf-b>CCr$(x|#=nxM)+Z$s%BCf>J4f_0k0#ehjz_+8A~&{=rJ`ASD +1hvg5b0+xMP7q)t#v0|XQR000O81Cd)H#wfJJk +(+zzmiD+WVRRZ(`bfu(GEsg=}@H0u0s^!MO7t!LQRxhVaDCXGi9zJn{d7wzs^oQo10S*lTAw#xfU`~b +^TdUsYz-0{@YoW2S298=-G+-4442ccm@p{#@T1Xwg8%R@yUJFPm@_B7R}MYS*K-xq|byx!p$oc?^pyn3cH{7_96}430?1eb5}`lD-? +Z!bk8e`#=_hC8A^dhX|I+>FsQ!Zx-56Rd^$~Yn*~+*`9icP!<5bQ-?Y8i&pR96JX3LFC!_hxm+l5=>` +!d!8`5fQFKZm_h^q0L%#h02}}S0B~t=F +JE?LZe(wAFLG&PXfI}IY-Mw4dSxzfd9_t-Z`(Ey{;pqfP(Rc*RM|?H_nS~}T; +B~c?Ow_cF{zB^KH>H49=Fe9NY@!@lC&mCVtsxn#a5@>Ax>W3fr>u8oCm?(9wF~-WSAC06P2vM?xlfJWle!#_Np +l|^6rS5HV`tI=cuu=L1Pe7VbDN@n9)(IV22fIVG#rvtJz(0T%#epU_+pC+G0O|V;~O37$kO44BXIE(o +%pcS*6HkH8IkEDXJ3@iz*X3GsL~4Z(;~~Mt?G*Ga5(Ejw0QQBf=K30$J7tmb8mm90V)EUlm3r0nld#n +_uNY)|g3=z*1I1pMWCCu4WLd*Pkg_dHQG^dc;7Vst +HRpjGq9Vh!rEF{qjNpSbHiC~edoGFy?i%tq2!afASX;HG98a9P9C|{vvyp#naACI+`rtRWRI?F +w=D*0@R2s6A^!Dxv^FaQdwWL@Js;$x^1hWz%gfI%G@amGQ?h`0;Uylnq@89r8qiu8r;TddC7DM+Qiw^ +tN`}Pm?V-h{N115~A8A@R%jGqP$$?YMdHfGi@R!!+tIO*~b!TB@+cmb9AlgqhSeBT>k!B7Znc{Y>%>% +k`m3_iIGY7~dy3lHPRK7~*D(_^2lr^lz>>z-x8=164D#N3&fM*XgLdwA}NFZy32aA)YE|K&HQtx#&29 +@cDOO?|WW+>=2tBeAgDyif*_xT-qc-Fq}``)rV^Z;6^)-KU=D-8okgo)tTJq&8zyF}J`s7HgXPyV_71 +pUdW}C1PY}w@pmjgq^6;+4bRH6#bOb`>bf00l$_X${<5r#ON<--6isK~-G{xQI78!dbjT^V*iPB<+?szI{kxF}Fe|}jlAuoj4L#C +;?#?_n;6!L&DnVo<425y!!C{a{Am-)O%ZR4zpj`kU4sWjUZ6}ZzJfs10+HUtUA`M5p7Y<443__%`KX5 +2b_HyqCv@f-HvUy#GqV%p%Z^seCWg0 +VFHY6s*~^>A**IC4-$%TE4c}bh_Q~nLmo6L4Tq1qr1+=yd-B@6$j4C%gbJi!K-O9KQH0000800WU*S>YQ>_CgB)0C6 +P%03QGV0B~t=FJE?LZe(wAFLG&PXfJ4KXJ~9`XJ~X~axQRry&7wGn@0A#f5n7!Yp?`D4?n`jsBX4B>7 +F*}NxUa}BD5HZkwk)kGAOcYyT5(!o#8Q(kYqR8m2Ctw_x+kXgM)bzrx{7<(Ik!M#2bxCAcn5Kf7OI%m +Zjb}o6~F-`vN9gB|$VTzK2V#2mNYdA?)*FDw1{%A7@y)GQgajy)ES2!W8`%(orUn1(NqPSX{GR2x$VfvW0VNsNt}{dg}@ +AC!x6Y`+%ZVyx+1=n$`&MT6nvA-BY +So83>xp6_JBz4`J8zQQJ6cv>m=y8NIl#Ot~7^zB)qV|7%nR!z{^3u$HsTI$WH>dVMcb0~AKRhXi$8nT +F8Zmp|ES(S11dV*#)|6&N`WUCYEK7q?PR&`m!@G9#)O^q`rO7W|xS+Pu=kpDvul0|c8xoG7<^h4>;O; +@yhBBLtj%B@WbKD^L(z6Gq{sMV-9~|TGz06>Z(3!0cuJj*0eUiiW9xSV`!Oi)@=0rUax(LpCw%WIlo4 +`Qu&V#Pq0ga8p`x-#&F@QbLN4x7jtdH#!sduqMq|?WWbQn;G)OnOhi$&nu0{{U)ZqSPdU4HC6<+0t_! +3FaRqtY0j^fgD_f^kMX_To5nvlK$~8ZMeMx|hZ$9&`)#k9e(SBB-A>7Eu_gw|E!^2@9C*82D2!ooK2t +zLSvNf`48E59q5f=-|-ueJ_v-5xdV0p0-VQRmE)#8`_D};ss<9gtRI+Fm7(&utI8a&*?kTd{~j)F +hcn0V$B^5Bj*Oha2m>F#G)mN0(3Uo!Y*n$-eLxYoa4=^wvw8_#Z3t!eaIf49E9{M++C*6pB)+hMsp{P +X?WH&0$35UDKo&&ewPIw{F?G>raaUwPM=sD?O&V@m-c*FaPFLeqk>>V=V7?*$jvm) +cBS!TBaNX`wehkmjUSOEj_y1@PYO5GMGbyExpiZU1R_h5_8elTQ35To+EQvvf(RrAwJI +z$nUH5=zsFOeNrW(*2$x3M?BQp;NLh?6vMgXOB-kOJeo3H4sdZd9jhTlO`1C+v47Y&w-;w-`%iVZIWFyy9oVm4^tvF}IBq7X;uBm +NuLwI|e?JlkYWo35!$r_zrcgq}cBC69P1=RbcC}%KuHoOOs^iv^6B@ +witxs+nU%=K6oR1*0ErJw7ai!->|Vr-)oxj-gG*pzpTcMt)zEu|;B|5fnJVj6!susf; +xOW+^e+*p@&i1d?=kE(RDgQJzK)?>@_uFxB?)q?P^Nuub=tWe<2a1>S`{k{S7HX_>`pE(M5%~Oi_0k( +*j1!#8kEb@ECgwCsThT7=`)^HTntITPW$x5R!$udrCt!;f^klJ#6u&J-(l&87J&uR$jjm~4nHJQD`IgGGWM-DRh%`5lR +C`ja>e<0W=61lxlrteb+Vt!w?=tEeh~H2vU;N*)!81wCtLSgu1Hsx*>W{{73(LHM#y;TEL3XGK8-J(P&Bn9;1ZEc&1ACJ51+UR`vxaTK{mzr5|$DBa>Xt?*4X +t-!$F?UjvETB2Nnstl89TTfI}OdxjP*?u~Y*TVqp5y_Dx_6q7LE*&x!idcW%j(;yRXN^xRah}}Lw$?A +P@XpOFqU8_D|`FRqEW#wH_#IYW5Ybr~>+0_Dan#I_RUeRfTp$_VrH7{vV?I`Y-X|oc*u-hb +L|UzP-l-M%U#VY}cK`KHYT{3r(A(-gNF+81>`$3r#ti_-6?ajm5AZ%>Q5Fm3S1}#bWNV7|xFs@^K@9U +2Uc+gHas%WSYW~H=I#eJn)<)^q&n{(u7irdi*HdV?{fv!zQgs9M==Znbw}Ek(bub=9BRE`wp%x38WAA +mvG;p)9JVHcPY>gU>y*Qg8;F|K^e*F(ST@NzaE-A4IF^K4#RL84UW~=k5(Lx&|44R5*TqhEsXwrMm?X +V^=^Xl(mOpnH@dw#vTf2Low^AfX8^bSttDO-A*J0pH%y~#v +_)np=Co4fTL55+H$+0a_je?{urmBmjuia3b3FqqJWC66op&R2M36Y8Nv$lwS)JDJf|q-c|4rM>na +HF6z;RNi=tT_(#2cU%f?yjcBMiq`Mo(t_FLfBU`ol%nR#M0Zgx +i)x?>8MCiALgGHAbh|w)-3bM1}sC>%~BkFJIp3XW`wEykc5uo7pqsJ&!7usW&zoAR|iES@%a=@6-GKP +eDy^q+?G24b|xE8Dyf4|)R0{Fh^AasoTHy(ygOXe*HqM+8^awz(C=HFs4@@4V*;V7Vn*9=I##lN`SX? +a8e?llFLe1A$LcEe#Up13@E*Pv;ud#3(^^Oms;(>iaN3MmXbK$_>0?{N;p=N}`%|34B0srmM7aH@W3N +I0W;JS}vp+CeVdF`m>l@+u;P#tzr%=-qpMyt^Mt@ZDO_F3Gk$&mqeo%JVG~GSA!Y*uJDQy>6H`e7t53 +#-HpY6y8oN#m2bXBE)W;B*wm4XyGa?i*84+>FyrUbYvxEWtp>f`vB*Ne!7T;1S1cyC&X8DySRTpTHo- +x$(%CPYb6{VX_z_MG`1A7RsJ_;&cw)aG@JRdIp@XQ?c)08ZX}_Gl8JGRdC!KXZ5oEOO~i&Qc4E1M{?* +u9bkSgxTc_Ozxor@lPVP9S5lxyS#gs~?1cnqT*C^!QHfz`ZtKZSdvTnIWJJ(w2{8Wk&L{UcIZO^p&Fu +)73ME;~M{sg936mp}3ZTotI@JU@pQq5U8Dl@9W%iHKjtGGX9>Ne+u<<9lzf;Sd!+y?>94=Q7q{taG#dTUfBr0NJo|YXM6Tod=6Cmr`Xv;KLCQ=O`;ql7l5{{T=+ +0|XQR000O81Cd)R$ou!I1qo +&r?7I;Hbo)(9%v;5L0p>=oK9B)ygvF>?RFKPvrpsCYwoC=l&2;B=fB_1PZnfCeBb}mJ1!NFN^f(R_?s2ia9EWrff&h0@(EOy%gy0)%xW!< +axUO-1$?>Ev5=}@`B5f?KFnCb^KCo_k;`y&2H)8qHMwJ=B6BI^C~N{`RX948wc?=2HEc#g(x8 +Go3$0R&*Hf>YwG_^k`5EEJI+$3MA;V}Q!~ENEq@Yx^-~~L^BF%vY1Er8~k>qs>afjA>^! +*SLc-~JxI9P9(T2`?^zO`ioH63toFJQ#_kW;1^2KC~bus)YLoctg@K%xzk_`F`yTAOhPEJKC<{b +xfW}CKU()WpENaSVS?OZ520QQ +Fheca8rw-bs&Vu&swk~;sVhn`_F(+e0EmhIu2KE4PttyLbo>uc((wmq3I7=`?F^ahjy1eaAF`cg6$<1 +yV*@7Iew0Nb=Nzz5vQ%Sp#A72T{E?&T8+m#%dDTb^80bV2jc%fbUT#o&uH9j#e27h9xM +Q`>~V)ts1jB}FdTiIgzJ=<6|(uWsDBfTQAQYG<`W3~Pd=vo6D!Iif80}#Ej8Bz;?xqChUmHN#@g7;9= +C|bl-)mAE-OpCDs6?3(aA>*&x$qMb@I_-wSF-B4M6PPv$)kt<|gGXS5bw_H0Rm2M_jyHVy7`Iu_1C%! +&@xxWO=-6#Cji^P_^wr%ZW@UnygcM4D8Lu199gd8y({w73~^-F;-r2sTwveRl}Q(j7Mu8@(P+|wQH)4 +C&DGa9tJh^#K=lPhF*H{SD$DcHlQayeax9y_rBS5)Y*DdL6;D(NnHx|MG}3NTm)TZo9nvivF8;NW#$= +T#!(6r^T*k9*tEO4X_S;#h`a5N`s3p_0K&eR()}FlUm9Ig{M?ZH-e}RCjWc=w%n6LKCZI-5t8HHu`wq +Ok+3J-Pk-J&@{A-V_BD}N`)RDX%d_zX?KBmSg4j?EszT#2@&b8F%5?9$wDY-Ktejyjk>^IYSBw>iH%? +ea=bQ_MWFc_><0@Qh$EL08Qj*Z7!w-+M3as#l^EYBg0I=K?pxvOWXI6~;4-*Lm0_r8EPN0|XQR000O81Cd)6k|inMDTjN5_D%X!eUi@ +1?(7#S-8oI&RzL1U?(FQ$?0oNP+qZ`xzbS(1(6#*-JpcMd0?)(P=f!vs2Aota(?btgFNU`MpqNeby +4p2bVECX0inakb!9y?PW5Qn~K|>N;i>8!3ygPM*pRdJmtVe}vU+wmQc@Mm5nTf9d&b(HDUEYYALEhj4 +5A?7BCp|(>YN!`GAjIIsCq2|z3nD>D&{xGi!vO^|h}}UnBZIw_k32Y@j0E1|1M;|7R9kmfmn3|e(^Xx +XeE=D>eTr+PV=pv{ckq3&SQK?W48g1X)E-AEuE^|nERls__#C)u%IZT^9`ib=2|VZtK84{0!AbU)%(# +4oAWPDwHT_XsZ8osD1pG1Yf)(lEI+TQjiNdj2NSbCrY@#g&^H9jJ#sf>wFYtAP`P+py +t1B-*$C{CKg$!41#Oa_W|b)3N9#HF$7IJ2I3Albg*S_>bwy9wniy9!i0%nLrOrXvcYixr1=o!iie;xb +B&N~1z!2O8^sc+6x$%ns-_yVEE+_;P1K$(10z4usHM>*Ko^E_@WmfN291!^;s@uaYRgv&k2@%Jb0sm_ +6p)51>jg@jSxKM}J;?S7`Hf+sthD1FGzzYY+*}tZJWk!P_j$lq$f3(@4oT^GQLB_g%F#eugoe?QL-OWK7chk2Z+BFBSc{Er +~nm2;?VwF#nOtahBp+^gpaL9j#W&|V_(%J_=lyAvD*1=&8^9-LQ0aj;ReIrdIjSI9>+NgXVa+0gu&geUvs1MMNY?rFp$5#=O}b>%8aTu~h; +~ZBDd?T(`GcN%)J=6nX>v>JTO)Hev1C+rd>B)D?IeE%z`Blo6NGC^2U0+@`R70WW}*5o?fP93oD% +6W6XO?qgHW=7epWis0f+5$EmD)2RO5cy?RF4|?wNj-NeU=dIZL3S5(b4xE{0q2OVve;J8?;gU8R%mPG +M0iMR&pHiV)(|LeBig4iZK5=PMgjtJ90NJ|3E1sZj+@o>3|}@LTAW#00AK_x~@|lEYKoQm+5ERxU-&I +qg!^JW0KPNlU|QTgaZGUMj^{EWR@Nzn!|8G|^5DwbKJl+g5iFV+=>ibzw5Y3MW;;_0kr$$gh-IRnx^w +tBAq`ZG?;=LClyFl34AmH26krb4bMoqyZs}OD0W^Kz|+NTssE9Ni$a43St5xm8@UFhv``mRYc7UJ}DC +dYIQbs0o?(TDn_ +;2;dBVi?Vcjq(vFjfc1TOl-#yIK6Rua8Q7^;!+SRiSERWk@CViGT3S-R#&6$GZepoOd@F|SFvr8|F)?0nrXrkpF$hNu=IdHvL5Jq?C^~z&6&|6n=RXhob+9HGZ=z +04Xx@jUqD1yV!GQTD@$LI&(X!R3{|wrI(_i#q9KTsip885F^V}7*Rm+kQ5&P0M{cEvU?tw1BNf!jmmR +3rq;Sg-5M3x%a1ef-cGippZMAjMHq~Fz^(C#VUDR0#0RcFLD`&I +$`=+BGra&D2CHTU~PFscHr&x(Z>_)U>>jw>ehX$EI}aFaFM&CcTh!L+-kkRP}q*Mi=UWGPr;&gfi3Z8 +mTF`IXDncz>yz&MkV`qu9Kf3*`DMp3Aqc)MZxOWuGbAXS3y`W%yMq8X-d0p5+SuyO8dM5d;US3Wb1Pq +zBU_HL0v`Laj$w(VeC_{csgTKSZNre3bA(_&L}kXm))dw*tfS#2k?F@U^UlE&9|zlMN~Td?(&f-Bdy8 +p?c5G;Pi==YJn}po4~M+xE}3bZk_ZUBy8+Y%;{K?Pn5kRX#S3T7sFDXlm+tzijJmwU1D#d$48lYbz~5 +)FKTF(=OD`-;`jGf>`+QcLkrM%m0aCb=reIiBhtM^hcuIT<jX +}Sq4O`J(xy-tIznRS{>fEAykav}gfOSWgt3bg&oYrsXvMT2|GQAxo;ZL}mIk@miy{TC!Lq=UjR6nd&$$<-w%W +$8c&CtJ=`{u$*GbB~_eoGJLj9(Cs0aWT@bZe(?aAYSn=W4#%4>p3+}s`U7sOE`vAiP^k(t?{`N$RvXa +a9zl<8Fef@wK&dTWQJ|%ssQi+ES4vs@Plbley?3{@_r +q9u**5`9Om_ob-mLjGt_Pim5=HFx!&-k$%TaQ7+q8YG5d2^!w@hA3Y_Ffs2i+G_#+sKMKU=vYEXZ|0S +mR!UV*q9gZ!CvWHi|SF47yF=vsr~=309D|#WO!_h$C#JNwZJ|&K~bL)+ldvB3UrKaNl=P<>Zz=yx)Nr +njk4R0?$*px@e@t9TPBx;e70CF_u-%JoFNS?K6p;0>p6WXkp}I +1mlg`X7IA^wl(BWaZPC+i8@Tyx_kyylus!oC +I8Y)rf&>ZmYwirno2ZcJJ3B@-RAY6RL+sBhUY2>TTKlGDXQh*6`j=CAJ5wH#up78+IbgoLp!2`8}}s7 +j(leVqK2KsJ8KIjV@8wa8TXv7i+=U*L}wdkTPsMh2NTJHF-=yMZ;6zx{w2>PH~7M4npqSWLu@%2oe +CbL@^^}xQ?EHy48k%YaisY@ry~xpBCv*vA^#`j>ufXW8!s<$%T&_aoBb-9f?5k%CwQXBSdl=3kYAsQ0 +Qq!4o2*REbOmwNdY0DGPC~5gJ_7KwOS%m8Pnl;@+K71Ma7~$3CDbgF;ZbGZRJnyqGjx8Uh`O6{C-hxh +(FqNkt5>qX<!A+Q?Z|%tP)h>@6aWAK2mk|-TUo^S*MzhV006%?000 +;O003}la4%nWWo~3|axZdeV`wjIX?A5UaCx;GU31*F@m;?HWu{|ZO4D-UCrvL?M{;c?j;)d9wCT+aP4 +RF#R6OEJfRe76{P*qxAOVoTMaoR|UUJ?a;!ZnOw7)7Q2=|?ECq@!zk{qzrd_!E0zje)4y9W7e5Y!CGwK50fW@-uBEtIGQ09c|Y&zyFEK4L66Ki>jrx>Crx^k(rWkZi5 +`)@1vumsxE~f#U)+0RBW`=QvGXoazx-KNs`w_+VHECaNcz-NUJf@8G%nNz3J)_cx_-KcV#Vdz&cXsE4 +n5{!5SuuA{De=X9Rb5LK56jlJ$g&9c>Fi;b>PU1U6O58F~I4`M?{h`M@8V2U$q^b*_{c=cWPHLW|4d@D3TtK+OCP=+;2cvNW-OreP1$}z9cVVo19s6 +MS{tVJ*d2>!5)1G{9)_SDohlL%_*pN@cAJ3L3vP)sjI}U#aJcM-vlWeQg)I*?{=$FqTMTbu9(=><(}| +00PM*Pd}~NM7-FtZ?{#}4EQ5BMq+^@q##zixz!gy!RB~^{oSe~h+0|0ujQNOc!SQV1cRnoFdysVS9nK +=XbL#yGn1YaHQ_+Dw2&S%a_sU2@pya+~>O_DMAy>SUc5!3X={4uIxA2=r?W(L5QAvBqEniW8Z+{27q? +RHIp)k@sKo_8T8_LP~8czr(RvFpzPVcFqbcG9`V<2A!1^GgFOTH*EQyeM9>=#_u<&DoCT9zZ)i7BVbD +R?}7=(gA3Awg#(+d_x|Xkwr(*Wk410g1n|CnDRj5e)o5;5bfe3jR&{s>B;Y9~gjdN&)&p=z2{n5cCGl +UyDKei-U4#>58?0R%nsOMbQJoXWX&|&xqjU%a>gXTJ_}%*@6jOQ_=~#nx1ZWP1?3kSrfnyQNA;wso*9 +yku)5wyw%HT*)JW~4t9gnVfto1YNhC!AOsgPSL_yqRJfJE5*#=@c#71Bu;9C_~f$Wq5ba;m1eQ!rV#JHYyM(pffTWgchFl7d^oNg#66G+NSd@+T%M!^{Zs)FjVS}MD?@%6%nm(ga1m3@a5%$w&Va5 +%;IbUYALv5;^a_u|1TMI8Gu=O{;ebknPrxKUK?+mw*w7^Q3@;Dg~1KOvevYfT$7>^>E=I_j4enxR;3{ +JIuSQhXq{b7g4jvOq~T9BOa$lPXLf&s11_76iqcG5{_9fKUx(<0&Gm>+E2%c);sV7PqshE|TM{Zuoss +b*y`pZ@=aN+$_;UxU2<4VqyWcugwkx$Iw~hu5w^WtUu`Se)O#=Y>zBsG1Ft18Dssl5X4F0qw6J +bU7^4y5F`ymoEe$*t>jwsfXc@)uHyR=94lawz5Rf)K=r}&zo_4CL5O@#%q_Be;V%_u#Li9zX4@Z_Dq@ +;F(=bRr_xNyPe!fU-k=!jyTgyBf^Mq!nB%W?e#_PO(J=TbZN>!&;$~C%I#SfoDrRa4WFBmV3O9^5p6G +Xgttiq8A%vD5m`!CN}UMcY13y$@-APEKHN=fcN&`2QSWdo)ZtF9NO=Aue}HPoz3@nkkWJG^UK7I~HDASK%&ILw!&13rffkPlkut}So21!ipt +Ba<2OW{Vb_u(;Ys+YB!i}7EAAyuB9*V{dLWo2|Qxfkgbf?e_O1)wP%o9`nN4crNq{jV)Ug^QPnr?b(@ ++Z|K9j@R4_Zy*x0w%Zv`V?cB!cGgsf;7=rl8LiY>TW1=aAuKuYTN>eZwXVvr)^2MR4jUIOB(KJTLPS! +t41N`AJ?NZ4gE(HY1{-l3T!ASqY!o|iJ9nxmnwwVz@}1&jo`V4uz!aQO~-bqrY(r4Gy>pI->UrEzaYb +WUuEP@dP$vj&ZY8#qiT7y200s&dG{92SvlN}2zF=2{#RdWrxs)uinY4);Pf1ZGctEleJjB>e#f_nUq7 +kS@L7?4@^OYb53!3)y!4{?qwCDhZ8>QCSm)x>xf2UshaG5Ou(j)oEDNB>vYkbDFlrT;{0>lD`8}?3d0 +Z#l@OrqsbFQ&_t>{0+eU&3%=e`<;m|z&~d3+%@&9KC@lb451$!sweGJ^@y_!y$~gnBD-ezBJu-sJs0& +8rbJjN?JJrjxbd!OzD|?gBB?v`)?y&>QSvM5-H2<-Tkiupbdlg8SJV|45%HC9P|cSZ)$^ZD?L8;Oh>g +`Yh1V0riiTS%JJZT$T1eV}!XmjYy4wKjwtf5o#p+xBBJWLOda##u}b$mhhR$JYLKU_(QRVSI)sIA*`> +oK9m5)iq%!Oy*^OIJ)&-oFm4`gjjI^NWjY};X_)v7+j|xlX{HPj-KJ6%sGFJCAgbyv;5#vai7#&PdA~ +*FgaxI#$_Ae#z%&1UwmmpL$RR2!gyVU{sFrcutT<86@%kHP8=jW7*oXjlzVt#b>QdH^HdL-dbd9M_xp +zUp<_$~>&%sXhFVu7icViA!ChCz+3F+wF=xo0t>Mju9ya-ZO|LK_O!j%HUa0@A(dV0gwd*WV4IWeo0> +V*@&SRq|gvs-)sL@xTxMcP7 +3y^9#pR?&oOI!0!E%eFO8M90yEsW^e{Hf4xGuhv(zs;kF?k~vV0ic!K#rnEp?a2JchOPfqg=8Iy{X~6NcX0kg +^*1?AbH)qBZBc0vp5WU0HYNC(osp<>G3o+@c-hAue=sezjZud$6fnH0r6KnA?X#My%2l5=sTqWX(BL=E-&0>R_jSF57s_i6G +HXTQOJzD*3FK0Fm8Ctx}Ig?BnWl(*Eo-y&iIT1a)c!^{eJHpYscs=(&VjjKoYI2- +T$fIoAJzMQ52(ckZDN9vmUnEl+Ddp=AYi4IXomk{c`CJ-+cClpFerPuRnXkA1;1zho>Ljxx;rqdcdcz +z2W%>Z=tgve{_d$zrS#Ym!H3PhadjsZ{eRGJj!Pt<*R>qz*p})Qa^v_XLUSRK25zJH*R-se$P;;RH#& +%W1UEU%mwDS+EoJB9iKy(l2rCKDEzC1pjP3m%NTlPxQub$woRIR;$2%&a@w`v +f~tKIS<1sXgPID$jC!Td9rwmu3lviw*VQppV#S_g>D!czeeSSOjAwzf*b^Ge-OVaA|NaUv_0~WN&gWa%p2|FKlUcWnXe-Ze(S0E^v9>S4 +(f>HW0q+R}kt&3bX>+UJ3yUV5I3Hz&0tIq?aHd6nSiOL5l)Od+YxC4oOj>9!Yj{tPZxwdCzBB(dU*mJHp)dU8|XBDxQ&tW6L3m*w(P-Cy)vWlr>vHE=!X9nvvhqA|m)KsQJP)$cjh66$DHz +Yjb*nW+P%0rO6IrF2KEQJLW2$yaWf`4<-cL+1j3s`?EY+9}h3qGALAe^laeO7A(x6C1WFI}z`%05TbtW%Bj_ +n2+HhE+vR&uADta$>FWSqRTAgksaGKiP2Q0u&xbty>t;4>mRs9D*5)iG*8s3E5_QV-c$MRf}QzWB+7N{S#|+M)2qP8C4ihhukXAbnq>)iG3rX3$bFU?m;608~7I +1HR?IWsQVc5jQ=%1ZcI~BTIQko?@N0haw`-w>7n&eDj{vmHm>f(k3##5q4};+iw#(m9x(gFNt@*h>{! +zn&%~B+Jfxl3AO&mCN7+oW;O&uBZ-O;SS4}-W!>z>HnKQf;vuWr<=?PQVUG=0y=Ajwc1KaJj0ox!jDU +0#a`<0Anfy1Uw`PFK@zFB>~rt9m6$MtPCV@^Wu>-FmXn%>;fFE_W>8Tloh^Iy#ESv8BhGXqzT>-)Pke +f%pUKQAc%s8i-i7k4j6(&h6LTAZwZuQbz&3AY +^*u7-9tcIvKYY=$@w^K;%b~0%1UCx~T(*9FXV1_3^NbMg}W9ndOMaCGpP8u?f+A;WaW7#^loS&Gw`<^>nD)+ol6$Hvn^}xqBlY92wU3eb-DeFZHxwml;crUK+ET!^4Deud_c6r0;NpUh+7GjGf`FF6jQs2x+UbTWo-GRi`l&NX~@C +BsJNQQ8x6TCyi4P-K?LAil+3Z9aoC>ofM+;mfGAG_L-c0pGX}Gee%@-1J!^JBN%D^bSS;0Z>Z=1QY-O +00;mBky}|CZ+_Gl4gdguE&u=<0001RX>c!Jc4cm4Z*nhkX=7+FY;R|0X>MmOaCx;_ZFAeW5&rI9f#Xf +)s2hc{9OvrOl$~)MCvlsLGq$e1j_Q$V5t115MFB|5o}24$?=Id55Tq}ixjKnM0*l=Ru>0&{!K~O-tR{ +K2*<|JBV9lz6q)AQdte_;5o%&t&DpK9~J}J|jvN8EkZLa95VyPtCCG|GX?ljpac$FRX(~ff8{8N=SIh +{k3>9lyCImTAQzmaVqYvTX8vxz2Jkq +mR(=7T(o}NVjijyzAc9D9 +U)I_cVCskALnwsphdMo%uWWJ?D7|ev^^nvE^e?d7o{GWml%`|BpoU(}5c>I3StpOAU9&Vg5L`Z1HI=i#pTAPF0;%gJC;Kfe2`yp4aaMYBiiF)aJJbc{s| +A2*uE|r?z}z1wlCHB&!$4)dCTq|Q44Wk^1LCr(jlf1&35-SM%bHbrL@w4OAt~MA+Lfy(vS(Qh!;CN_O +tKOg^Dhl95^!GK)0&S-R)dO9D1z)5ILeBOmB`8(xut3&)Z9&FJIh{Q7(z8IF3i=;8TPFsLVKwhoRz#zN}NX}R|3WHRtWwmWx&4 +joHQIPhivldu8#|{z?B1TyiO}z3(bXZtNl{gWO!Fqxue!K^Z{3CfMP#uWx(!I%vnQQj#ZJ>fCM`VXqX +DtyodKCP!Xi6Gi)Q(S}^BH@%s{l&T8krQt6%z?BR)6Jj4>Yh<+G~&lSsH|6#S!CsqJ(&v6$nMVH`J_d +`O?1qlJrDkNK=#Z?jHYBssl% +lU1RbBi^4($b)IpIIpxNJuO~fx%rkM2`@#E8-NsJ}bOsx7=qb?xA*D1P&K7J~qW2tSxNcYMa2g8sh=1 +V~TuLlx+F6tBvLgI1E6H5}sRSOB)DiEJ52sM-v!kX>yvTnF1F{fjU9N_mOKeA6?pVB_N4-}lqE>*c|32#wyb +8iV_^6syry3oh$rii7FMhcpL96&ZeL~v@`@w8~;ioRpipwO4fQi9AksHt?#opUnE6a`ke*Uk2US7SqzP*ifo+}e +4-7z!AjfDX~BmU-w#AIO<4Bnm3gK_)%>GIlne}8`Z#_9jr>3(zm;e38>w_JXjUtE5?wwvZxr)Lh$r_= +e_d)06we!stX_x=O?o1b4T&pw=9+jBtwT3De?%%FRW5L{BaCd(z{p!ISYwuuAH*R61oXUs?^p9GF>y4 +Vg-(Xe&zg~||d5L$3c`hELovbGsPhyqf?v$nq{2OFSlbE)SD5L*WNyQ$3pnU$AVbG6sqo3Bg|3_k&*Z +Eq(R7$WONZA&;tZBJ-_T%F-z0%%|L5{htUF;-hX$k>Fmfwk(7Mqe>Q9ZzPa4loo?fK52E%(fd6^n|B} +y+jhvG|`De!ZlHs<7@@{2n=OYpM^iNlF2 +ft=dM|p|_Lk*h#e!*pb3Rnl1~wP7=4}kQPsj&*3V@=4tE`$a%GoJtXLmv3YU{tX+ybyXF%1fJxlb<_; +1XNtcUVN9ZhwcQlGUNO1?Kb3?4~!R_px5aKRQxa3|=AA5i?IKWQ3;{n_l94s^7*h7(F^-LNZ_d?0wKs +%p}2cTtmuuf3pKA3Tb`DtbB~UZrEC1Z^Iy@PT$vV(^j4Y`9YExBv#NFS59#3atvX=y>;JvMPHKbOAJ$1|tzIl)PJw+S;!SC#EA?lMWd7;EF?lJEImGj$ROT*46LzlW!pY3Ro +oV?^d~yYZW-E7Ug?m7|X#DI*iL~BG+1#V73IM*Qs +>2;Ja^711R3;0k{gZ49T}p68%Z2ge;Ax^*d_7P6G5lPNz=K|w6jazI9Qs&jh{hynIOUkf1|z$I2&ZS= +5srLaEqxQd5;cI>8oD;wu>z~H)rnV&>!SAO($2igNzY#+Ul$-%7AoowY8_L@r7|5WKKU;NXU=c#W4f`vi_pbp?s+J>K468C)(@hc!e^WKcDmEe_sS<# +#o?Yp->Z66T@qcM^F+;72fdMS0Fx#k^oh;Xpa-0Q{40z|Ioy02=DhwFK8ZWh5ZyIv@-%>{HBS2OWzX$ +P|>P*gkTNJOr_GND=%cVWkrHXss=}(C)I7(gDaEI>3kBbkta}buJO_x>`ESY*@K=Y9eFcp)(FvL#Mr}DX>&lAZ4@bdeczt(yA +}|9_A;`R&mCpfHz~$Mwn%)Jx*zralX=J(Xz3St}Oizb=5Yn4SOaBgUw5e_nn)MHXZKWUn^{e-h4-nH; +4F<4_*;G38xtiK!#|>YqdWTJNhw0)o1VT) +gXbJ{v=DllPFWwNwL$)ub8M`S?<%H*;qxpp0lBfh;Gii@HhMhr-jF<*2=_edPuEI>84XxQ*$#VyWyhV +U_s9+h`Jr3Tdj)Q}P46k62?{Z1vm;_6REm^r +-1~W{Qb}ZQx$qe0aRXwP5URH6e&-8ds=}vC>+smt;PUl#Jeqmw~m-hax)2R~n(aY&;PF|81p((43r^UYakVf|_Y<8XWnm+&xOH0vo( +s^q0k#41)qw^90*ee`a822RxZg~e_<$mcf>DPAEB91@R#lR1UGHX-$@J(?(INbq&Q1OBH8hzev#K70buTFmGAGzXuA}V1#g2!I!eZp`i +YQQ>q$iVp{_(hHnkIB*T(cn~4de>Mc5d7`>^5fN~Gcfco4S>?W%a;%VU$B3de|`z(#H?-p)p4`{mYYL +h0)r2x(KK+~FeoUT6H@FHU*xgkEo-v+Q^QtpjHO-bUBZ%r1NCANB)c7kV-i#>DL3M&fQO25eB4z9&8y +&MOhD+-s}3jynGiYs@%Z)8^!VgQOU`fBL_FO|z$kC>I+)2DFcMHa2EePVig|p0>zJyytRJc*RoS)p9# +MRNAU~{}Bx%Ca3H-zVzR)jwI{C6^^6!MF8~Jy#r%e8xq-(Hz%IXRHlYhmNcra8!M%^624_QjXp3-Y6KWd7}w1p-h<`uRbS}0aw7Q6`HA-Eymlj&jG+3s0@D>{K!*T2gyt6{kv1QY-O00 +;mBky}~bQnN=-3IG5DApigx0001RX>c!Jc4cm4Z*nhkX=7+FZDDe2b#N|ldA%9ia@#icU0;DRI} +86j`RTC%iB$+msvEA+it#Tj{l37zEOHh_okNGt96A +NU#cc63z>()Ec{x)`-tgAiCUF^WJ#^6T+UT{fV*lyX|07g$Cuw^oynqU_v^Z>bqnxG*0<~G9M{agZnk +-M!X>_#jYi#fs=2IW0i43hXmoL&T%EnY6cf;4G%r_GmMecG;Hf>&^Zo1V7r}Mx$MWQ_XQ!{H@$d2U#j +9W%z-Gu`D*EmG;?0-K^KcXpy$@%f-~Doa;gYPq-~IS{6Ct*L?ME+OT?fIde|Ug0n&(n$aV3|2uhU>m) +Zv&j(MYgLA?9VFOOS3wQb({gBA5b@#zHrBi*a?M2nRPJp`v9Zp3llWeNH$CRLL6lz^;1S*)9eO)9%n> +D`c8xyk)@)xqyG7fg^}~$3?0ZB1wQolK5KXi$I+GgiNssFV@}Jmb&5h81u4S#ntd{dz)o7!uG-`$Dqm*}&831a?JU2@ +F{$BPnCx0&xeKgwJF`k-0h-&3qPD&bWOKD6wJ_f%D-TZ64LOqyHr= +1giMS|_|>>;ucnITBo32AElVs0#$gD6wt*SHX+zJ1;$ABSz;22D^yA?$o| +KLTC1XkcLy)K{w;S2;)nDQGfvLZ!UjK(azFV=aUuoP@$P2wcST}n5yMvNluU^G;H3j&ic0*RkGF~&~% +-DWCJTSClM+(FVZSj$P;SsPp0rQ~>}iA(fd){&p9!uYQaLh)nZ-~vqx-KC4qGib`F(X+w!pd4AybHxj +ntG(jWDN%esu|Wax$6W@ENQao?)JfiH%s12gY!qYG!ny2mp<1Zgq{fvws*>HG +-`YePhRZ{qcaaQH-KLUL-KN!n$6VGiKpji5c10}KOvxB4%Ea_{*+pWO%at|zwY;k;7=Wr(7~6_T3cG5 +6+}Z9?vlr@&C#%~Jn87PGR!4<`m-W35$>#dC;{dI(`~VrlW@9O^$S*}%-p6q@XJY9ZG-lwBZ%THB%2YK{bO2)3Fu +)C?T>DHI_%!$TMI1f)!l06h07R5$30TLhVDJ40B*(O7)M=2by|0F9;;dJAg17c@+f5pL8I?FJbW^xi0 +KTgq71a*?(rnC#AX#@)Txqk5aQ1#_>$;!$oh?GQ2%5@IWZdT3QUaTFa;D3VGk5)G0&dZ6Ve^ta#Oa5c +q+Sh2u(Q&tt%6-pWW#)DW{uVkM6h0>FcMcvA%4?viaAf1kBn6~=>s`r2yPfcyb{>H+HV8xJuN~R3~oM +kO6<|aW1#74lDL$1Y_yo3LCi*wf?!a)fg%(5rlfXQ*~vg~w-Ux8_yJgMShR4%hSRhSs-=EW9aLEe|D` +%w4^H!0{Bs#ve^rUH6(bq85hrM{&GD3LD%x71`*U3iL|v^pcE_o{;NF_6$dp`)!X6yrzythN*~mgr`l +L~i>u48E8ZN!MK=-%ihGv4}~&gT??v|HsI6*?T5FKr@Q19GHvxc-4128wy^GQ{FICuwL=7gbHxTSw~K ++m#7UR=mKId#CUWY4)zw`jkz9wH?XXoKIP?XkzrXai$zpcP1Ah}9XAb_IVc+3=TOto8-^=4QHfuUrx6 +x~$~WfPInMTEI6&Q3c{Ya`ZVo5y_ZEBSbb;*n#UZq&-tN0yPm@{*v~bc;;2ny!!-UoSTvbiypu>l-BU +|a;9|Xl`;mvz(i{}rhQug7;=K==Zu0eTde?5w{R2pYr?&D>#Wv2yHZ}6-@&`sRIUJhM}?2@gXw9DUDu +zyscA2AL5PgNS9P6su4BPm8GSwcZ4vA<1+hrGO%dq1*Xd%X(j7~U|mPK$luj4ocE +I%;L^viiH#h?e}G)-Vx}&!sb%l#WRnva2VKOb*@s8T3h=9CspoJU{UG?qcU~=Vo+w_bAx|>9Ku|MixF +mUh+A}zWs&an@nK>?vlDs3M0HNQ^!LOpT8M?_$)l`Zm}j~Y(4Z0epf$Yxqdj{lCbqp@j#f-N-rOWog1 +GgB|WEq81erDCQ-Mghb%e*~QPle#OzZpFrbUrPB{8&r9*|vd+`^6c@bEf>_ +BVe$q2g@oZ`UXD%3iFP*-DKXKN8>E=^`EA+X57X+Xn48O&v2Fxb%78Y(roM*-DGYL9i%B}t+(P$UM_8V +Qz=n2~6WD)V4aqMu@+LS2fJ?!(dUvU-}sM3SXG$vd&VvIe-=4@6aWAK2mk|-TUr0C7zAtu006lZ000{R003} +la4%nWWo~3|axZdeV`wjJWnpu5a%C=XdCgc`Z`(E$e%G(y^dteQk-mC$u)xc@U}!qD8HOP+6h@+KuDW +<6y)+xP-@d~;DalUOuD}cg5h=B%0;l4&4{-~ZGXf1XeWwb}t4l`VV{dkTT=ua7`krI;|0}7)0#FkLZvdBw_QLXeW0>@ +Z?jERy234eO`3$1MQ7~GT7{4LAgXLOiNfO&Y}axX(Cgn;gA3m+;ywhR16nP)(bLFzIS^Ps9 +Tuy)%t6lh($GDu0ZK1M885UD&fP%u*juoB;j6I^5Dfh?gP_JeE%6>HJIZ8HR}K<(lh-_28@3oRsK%h0 +YR(_)f{mJq!5@m@mvFG8u@v*A)W)+?p-_&sdHQwE2!v%+rXjw&D9F$~~2BDDek#_aPv_jZ1uV +pp0M%G8C9Y!y?_Fgp&?>u1114?Bnol{F?qFf76BYPIl2zF^yth1Cg}P$FL<8^$%^Dr(2%Py6VaJcJuI +2S3R}a~7AbvSdoSys-WYHz&5%G+)lv=l|Z;CjR~(w$`GpYy@j7J{9{@Psq)qo`4R}?K20eeE}Gy@rUh +aw_uTW^fZ={iPP)*Ed(w>sf<}LLC*`}lLk%qY!4+ +rpEotzf6wVNs9r)*q-@BD`Nr&xF^HfP +IcMeatyRX-ol6pLAbVKU(W@G@gt5|qu3F0qh)|%&c`5LRFuUQ0LlwH&Y8&qKf(ZHNK{Th5WJJTgGk4e +laZc!AYNP#!gIKkdrNfHsA6Ean1Gr!-_t2HO&@7tfgze<##dEF&4_k{wVh;Uj`cFlXJF}*VCC%U_QGr +lPQF4fmm}Lx3Osayvnbmrx6aSPdjl6NAA>nZu54s2^kxaCv*>V4Aj>`baM-WBCURMz9o_C)_!Fz|aLY +*q5$0^b*iX#W2I$X{aV*8u!fUcqN?s_u`Z?EbTVLmz-p&!$PK +s?S_b&l1Xep7lTE7$Q_HT6)F{?x0ehq?itvb96IR5pS?eIR|s{`wlF6NnVcOqQP#wo+I%UzpORimM4e +8v`ZM9Z-grty<|QE0aXFMjNhP05yvwc$ZAHVI9uWefYQ?_smU^9P5~~-BNXxhvCrHsG;(uzsUy +-O%sUw=V$cJ&+eOnY$&@D`tdfl#RdT0_Cz|g8yE?Tq;{}XYtq;L>z+0qIV3THf{C{Dchbj(Hl9-dX)| +iZfs7|pT2`%i0u0VA;I00kc!Jc4cm4Z +*nhkX=7+FaA9O*X>MmOaCxm*TW_336n@`daY`Qo2}Ws@C)%|VId0R7(nU}enTd2dU}Sb~{2k>xD#)gyA8uPZ9e+o=zLI7%Ss9ss_3f +>sVvzZhdAwjZjN278C0#E@tuD-CO}VrSI(h4qey<*e3A$Iy#wqi-TCLua-45OOis5soEP%D~&n4s1I# +AtSdG{$S4Y;4HD+JzFr0c-K$G$O%adZ?#uLSuFT}!qUh-iAg1N6H@#j=%Na(+W<6p@e4J3T#xR-lM@0 +FGYMs%oMX;%6y5Pg2k>SVs+qP1VyVNet9WvF{v?7=r_G7^oyizX?UGMnEGE7!S8N8v$CfgLu(TSBPMh +gAy@h)21NU{(!4Cjg(ED0zpeFT1p%c2;DhcbzP8K*iiHf-LjI=9eif;0NpEJM=|c2!h{EtisUISop7A?Eg2zu&uz!i$@Hh>9n8 +VD6xYzh2o%kaMUHY)kk<8b$$`vsaI5{1?9yu3afG@}=I?{vjP7;oZk2EmYm=#u{&Hj1X +ev#Bwm(~|zrEd;z`g((Fo6^exrPfTDcU1O*PxP^-=J0Y%`@y!%w|?c(SHX;>(dn2f@2nj;wU$`YOrX} +^ld7Y(oV`E^l5Hmeb97i_zK+e&q8-HQqedE|ghEx`wc2s{^lA~i(2&#LqxjE4d>k%x5~>@WgD6cMF5+4H3s5K4O)%00+@l&j4>ek9Ahrf9=; +a0U0S%8~y48ZPj>2yQd+50kjfl%gb)ZQD67=t$38aPBNxp@)e<<@R&sTErlM|0C@>q?YNR`>M +`>WS-4$L0*-X0tPE!X+LjwHk$8@A;u`cSKUNIW`8Lc+K*}6CXG_1k4Up=R50wHxk}ppI>S{p8UyvtA> +G@JKKz}mxZ2;{eQSMEI#6jigDU`oU)*LIFvjIU^-EHI56v9(}2_wW;GXC*p~*BI=()P>X>>oEQuqC;I +WH<6_SkP*6S5lwU=FhZM_XGxEx{2M|U2w$@xbEcsh#DlpEqCY!8EIy(^f}dR!je>^!ik2>+ygoR9CAm ++F=C((b)d2gJalK`O>I+>A}=7T<vad;wy$MNjO@;ef)v`7#@SL@4M5fp^eC5$!N(}XuKANQPdn +2mdgWpd60Z>Z=1QY-O00;mBky}{~#ub8d0RR9z0{{RS0001RX>c!Jc4cm4Z*nhkX=7+FaA9XgjKt +Unul~EbeIq2`6NU-gD8#DkumYofn0)E#esU^3`UAu&o>jN5-;nbR@ +^9wBBoKjwu^UeZ8DMBP<1{5{E_-bZeso@s#UFGC6{?@(nTQ}m^=G1nM{^Nsx^E{5zPpv9R$I9*tiv_G +e{p(S&%Lf(lH85NOC1I;9OSHaL%+SvdD|fTMO^WzZH?a7YKMgxRWUu*pvPXWcuThp>N^^^-q{umf^a(7}#-mJkO4dPPB-eHV%^_Tv==BX(^D+~NC +c;v=DMG~8a|mRY+@k(bp=CFI`NhL)@Kf}J?1@Bl14Om@=+`Wv{*CH5i>x-P|2o?`Y?BFp4bi +poG*t)LQOrNOo+Y)qu|ecQ8GneMdwLnPCS*_*H}5Nv(RykF>Z7%Oio9enBhi5=qybQYvO29&jF+hmO8 +SJv9VvZxV$?@kgLW!4fC+o{D}62Dh#Jq(uvW}|%OfH{m3SPvDNuWb&fv|0LyNc-xP1o%$qZF=FE^^d$KQxLls_%v_d&%y#c3$62kd8%nl_{h- +A)4X0S_#+QZ0~DB)NPWGo>Rac(|y{0@$wLLrYImo#JSayoMaiF1fGYFW|$5U#G^yYNWs6yBhKqvxL^G +Kl@|?K@{!i%oppV+=j)0$j?9lXKBLd}oxs?5LH75&SOp$#E(i^@YW%CdH$0dFw}uJ9e+TTgUL8b8E28F8p-+U$gT$;Y!!tWV?2sQS=2bJjW5uPmGCk9b%+9z$!I~!_8em-UlWrHo@#-aC~`NOcBb7AKobr`~kZ4;0E>KS +}H5Vn(X-?l<_5qb54IoOEqI#EwG#wo#{^L$TXdR%Rk!nUQ_cG~t*Ou +;xWG&eO3%shf3f@ys5jK1w*wtvlD(6==^MK+!cHmmRjNI$s|?_hSTDHb?R7|XbMTllwesONxYEl~Tmn +7stFm!eoTDb9j_|M@$JTnf9pNkadlhI`_l;W63(DK79P!F+FO3NmT3mWBQGc%yLmu%=8HV*dwFO9KQH +0000800WU*Sv$!2c=-tc0MRJ`02u%P0B~t=FJE?LZe(wAFLG&PXfJSKZe?sPaCz-oUz6Lm5r5aGK-q_ +qHm$@SKWR!&Y~M9WTiY4uGM$cl!%z}*LQIhy63X4B)9>D0{2{O)c&EF1rVlM2BobIG7P~*}E|%Q&?Sa +YLPBd3c9J;ob?Bee~oR@FEJAeC^@85r$vk#pVZBx~Y#SUqgRV}U>OZyrh-f_8ax2AjD-q_BMAAWj&c7 +B$#H|>q--SD~|Y(GAfHE&GcFURgy^4|9TSwFrLH^NdJcr_e*ZYkdB#{+L<&P-p~^JdHYYF+cejOwcG) +?3~W`Z2dRX95@uutZBg@GE3#>3`IZwo~5LqX0kRL$3cWZaZ#hB)=I)U%-8?eigw&?5KWM3kH`_4#?0t +?r-&DZf~?9hMavImxw&=^G7}$Yq?k~Hgz=&u)2oVsjtLL&y^&}Yi6f%+G28FNw)2)>w#5l-S*JVs=hr +oTPEayBP6I{SS}Qo^PB3>)m*d0>(#4Qmg}cYF3B=I{&jyfxWS$nDP3K*Vo_ +<^^)GxQmm>#+T?#nMS!?jBM!rEbHiN91ja?z%iG~mGz**h4pIN(8_h!ZEz&Ts>e7E|!>N=QD+?2rkXE +zgGXM9(IvVlvBGcOI&9nnzjc&TJsw{1;?IunCh0rqb8RbOquK!XvkZTPr_Q6 +v?`El#z*6fcKLPeH30K==D1o&SpK^Tn_7gu|E(j12L5tCRy>1LUD$V-1FOK+Tn+nj +XHuf1h}XtiF+1c~R3+7&3-p^{?bh;a_P943WC!+{$G+Xc4%Q&kTJOW@?RpMmYp%2G5!mSyT-#_L@k@j +fe-Q1_GMzK2;Ue^QKrZR~sEZk2#eOP{Rkzl3q9{(!Pn;dJE(QXot=0A=2Lvk%Ah>6|U`$;^$n@|dH2r +i`^8SuyN|PTadW-McFn4RI>9Rr2WWyPHyN6;B=n{6rj$_4}v{PFK@_52WeWIeVVvQ;3d>RH)Jf8GH6h +F<%iRExou@cxa+TYXu$nrOg`9g+@c9D{e!ti;l6T2O4`DC(wgEvM4tj#)=Uml)wa*!XP6UtvqR=fe|X +hbHfF}1trujv(R{;UB=TD1_rd#I;X;#KNvfDqQaS6dyH>X{&dheEjFMFff(kz$EF_s?>rvvJpM=gL!$ +ED#JLDexEog0ptc4g+pjv6lKpWb+g|5=1BVEvw@{&@7zQv0F?sA8gq_16g!n +>zL77&HKiFX?|^f4ecP$}$9(2e#k)Ni;T2aCdgpkxXYh0aMyhsHsn|7e#neqsKDan{(yct;6*ler#q# +QCP{+m840)+HiJGbwr?1r@RzFCAhqyBPz(Dq=Bp!US-VF1(P@5>J!mq3S;$yVUW?Cd4p}80_iDqs&!q +H6iD)NKY;}u6DO6CCg@HU2+v9JWL1uaNZHk7}s1AgjV5_jmNzM|M%udm?<#k_mCM}s2L|Lqq)p|& +0SpgW*=UK4V)E;z1;qFAAGHZ9cDNZ;2=(6K`?STNW<4(fBxXtf_fhD{j2}JHV7$}LwL!|XSNYEj7pdt +`z78rpHv)CYX^YG9ol3r}~r8!bhPA2xO4H<>0{Ur9RG`KcX4@$hy<5z;b2voXk$i%qivFWPK=hV-YGE +ZhNpQRWxIE&8KnMyIycy-c06oyNtb98y*yMmB +~3f=vKv&76@#{{Pob835KTH^lzT%nPXm!$$|M(dIb$L|`iHSWOW<$IFjF@Pyg7v6wjBVdN6D>(xte&4 +%AP<7Ru#w)A2#{Fr{jo((2w>#+?QUo&2lk;2}%vd +FQ_O|(z+6W(xZWZ)U+}vlTkh@mW$sY*l_THJf+du)miqU-j?woZT-rN(200uscBTU;nch=oLbD!XiRV +{Y#2XwTkv^Wo^+f)NP98Zi^K5{$#3*>#;TQH!-7CyXK^hgv4EBN6b^C2w@)#Qw9C-p^m>a9Sxo7sVmS|b9Af{0^|{=SBC?_5udff1wC>Sduz#56!k)tvfhA# +&z^EyG(Z4g;81Jp#bISWYn~JBV$mJ!w2sRRi_8$qw5k|Fk1}6#iey++awcl)!HA5+A+DK7ol!DFK7p9 +)B#@OA44Ab+f5uHKa0qY_}Jj0$+R ++-DTx#;Y#@DA-bO%@k&Fm-I3_K`o$Q&1G +qA!_pW17icBob`tEz<*k-igAD3CR(>rwueXVqfi%jZ6!kc@ZEG*p%*V)k6z1{+*6vPzpcz1kJ?%H=;X +BB_6Yfj=nva~VGYTC_w>bTNZwafehF!Os~AZD%bb}tz@0gGoK$FXbtz-eo`hlVTP`5^G_5%)F)nfQ8T +nL}7ZP65Z91vm&@B|tH}Q&mViwQ&jq2kWcN9&r?8+(!lgv0PPmn3WG!?bi)5$wg*Yjcq%~Mxn_2l&F* +-afIJS3$i9Ww<3^&MPUHq`-utIo1zd8kBFmdT2--?Of-t`5}-{4?nCSKcemcYP$MExZA7OhamR(Bz}U +vkyPL`RjRZU&DGt@$UpRn@%Abzh@g48GP6lyqYZ%+?`APE--ipS|rzdAvu2EwXToBYvRHP819kcxp~K +EmTEq-%g9rgE&dHqO9KQH0000800WU*S$!0L!6hF600@i#02%-Q0B~t=FJE?LZe(wAFLG&PXfJSbWps +3TE^vA6J!_NOwzc2&D-ilas76-(>b>c<%v{HDQ@4rZvEAw1+3qlu1nttMNR_0#R(JNl-*XP$4@#8ncs +jjdCTj{f01klj!odMpZnjO^v&F8g`m*jOrTD#Us){fBvN1`kqA!+J(RExWL4hqmsh^F`==R-Y-8LImv +~96xGL?RabgO=q`=r^`J#T01Zyj&HE0?`^`=RXMZN=BcuIg8myyE}daZ!(j6!Y<%v31F-75rOvxlR@3 +B<8A2+1Yu3Mc*`4XL74@DI4tfThr8!#dcfPmoM7p{r)v%Xb?zLFzJNB^ZI{ZJk6i{`RS9tK70QCjFKM +Ld-3w5sH$R7aq;Ur(Nh`#k)Yq60b&M_28P~#+TuVKmH71vN2gwL^-BW1-fdOMztsRfn@lGH-)*^_=kI +vEYT9{QF0bY--?j?f<4eA2R=bK%2q3>II!f(W#^4=aQyXl?l5 +&wuC;a`AZ+rHPDty|uO?$@J9ky+Y%S~~{>ISIg9dE-*|5Q{Rmz|g^gf4lXFM+I@N>0Z-ubO77vhh8Kx +$afwwp_kdnfRVBVCrRNu~@p}P_M)c$owU*43*%IyyCUYyDBfQD)=AfOxFS9_-B(W0pIMldkg3<;^&X$ +`?8*?UqQiK(3-LK(&GAY+C6^dz;9T5ZO(k#)Y$e8&Fg5)}rZuJW}!DRep*Y)L +k|0D0Onw3fZ31)O%HP?Q+=&7JKkqTrw0rqEkDP}%z7H@!cQ~2i$nP|%He#3CmM2C_jd2+>ZPS>ocnE+ +CG>$1OMf`$Yk&Y=vIZF#?IYn#Z5dgYMz9I{fB0oeRhqlQFBP(tFkxG9D_Pn?<_!+W{d_5 +2(FFOmz5{`b6>l8ddI7CRwu5nTz8wd<748w7C_tnP4N7zOV8E<;RQ^gjHU^YRd)$GZOJy3p)ELRcZ7Fe39)-u+bW*DS-PIHv!@Um=H9A1_UP#nmdV#8UM+1e0bFelHcA}L +~@DkP%iMK3_v +Jx~gZ62jU_75UH4mrX0+2S#9E1&~q&7)R?P*SbdPQn<#!wW~>(tbEhskVE%Jr%OYlf)xn)pMCOXv&qt +*k*>0yXFP21Yf{S+{IJv@<@xoU@ltU;M!CBJpSnEZ!9*Su%60F^vNB3(O^`5o+djSH9!bex{iPCQ^xN +5YNr7H`RjmwZ$oIo89G=sd|eB8@?!NqLCOFtAHrIkuzK-YskWCwbb11^Htext74yDHO*V0E#DQ@j-MH +;PO8*1ZJnJbQg|j;={T7HT2g&H8LyS!p=sC1CqcT$W-C;H7E1(b}MUcPSmV;dird8Q4cU +7Tmqyv_V9Ae8}k~J6Ab+PYQ_qNO2%%_MrrboI?=|6PismiD=TEigl*ikIcbeEDY?+Vo{1&3e4o$f7Z;PzYB7}qIyGCvaG=g>iYB6WiY{QQ~$%=QpCV<`Sz1u86T>$bj9}0tNxkmmhP-89mqFBD2v3m!xzklzZyOxVOQ)6z)u~r{~;bNZr@sjO3Qj5lT +M1k!rM$9_I6HyY?mmFZ1yj&%lT=7(fobm(G2z4W@P<=DC! +ux#?HK-YjvVbW-N4jE!sLRaVWP3EwmC=6s`3Xo`cCK +Nv`S-~a+$pS_~kIF+zh;P9f{F6$Z7$r*XP^3zonL41;v!E}VvRk@bvL*J=Mhu$q69<6I;d}`bm*;86t +M!a|k_7%ei!l-c&t?5l@=%WIxZfo99AF_D62bDBBQ1x)M{*r?=Ty$a=LGIk;3GLufsf)sd`5C2K5@x* +a0baoOLH?d#B&FeQKK;Uixw`f&S(RyODTcxp +HzNb(3GW#o;B)cfy=z*G;=(2#pJwUzaYwE?quq>4FZsum`Vp3tFAPDn){jU2$EmphHj%AiU)E+(Mc_j +q#$bN?!=vvxyQ7b@KE@y6}v0Eq}4v0Bd&rcGqKc2iricCAzQ_%y1uZ4WSn=d0y6K4@QTvuF(4Mg{rl) +;t5XMHRXv=&qamLZ)P#6cZNH>0Q+d>%P_lkN18?IHZCwz#`A@Rg`|+N%8-z89bbXmhuJOj+w6EmAuT(D7OB7xkJBdJA!xrL +Q#$`t)Xk(W9qb7{u~wG>BYkxvLDMRaCSP6#A~Yi4N11+fHWW|50u56QMnQj6a+Bd9W)Y;1`__McoC1d +_$Lw6!N&3A@gu$pELskY8elCMAXtg=L2$0tm?;WGOp}(k55eAjhF15uQmT<~oJlwMWD)W>IA36KvRkT +%UL|9>U3mi8tvXoLG^#)9&pHnWcy~_5NOwHHfr$$S7cKj=C)`>aKJL(hRrTp5(F2=1OF9HK;PlEu@!* +4oBL>;%i39beRqqOl_{zBKuKG9?(Co!3x_#egs+nuiXXE +nc6zJhCFEid3@5(X!iq*vND?kGWiMAHM${Hnx%6PBk$x+8f-Aq!fI+{Z8r7m(mSx`5mFJLfN6q>*$5m ++VR2ud>U?SB6irNtw$v_Vb-bOkh*0|Y->m>^p7v(($>@mxyDiZ8z^W~Zh{rq%t%?cjI& +DO*hY<*6+#|qdTi&vse{o?UW{5WTiKV6^;!vNr;3PE5h?EK2$R$h}0B>aP}z;f|h4GVhG7B8zGgX(V> +GLvBH#*nh}->rXZmgmJ^NPpPO3+tB#wDg$KLjUmWCow1CdE`(+X}f>qf?%Zo1IpYsbF!5>b5A3)9Y#l +b|zwS@2~f)f4)*gxL?9Wl1QUK*k*|f8aXjBm3m*9RPx}H$eK+4#~hOqF7xLgr7RbD4L`*;IfXp;E$4F>bQ+hUZ#Lx;+bxU +_YOZ}fFqwqq851Uj94y*Sh-EZeUJKdcWh|?vf?G8C>cgZ5`HYpgb7FTmse%AYI$v~+mS +oZ6CA7LLb*kBr#rqaS{NMDK~Of5QT-g4P-E}mIkdcQ-h${LW1NUoodG*H>PXJc_cEZBi6UfMP}m$!n! +j&PmW-Z~h)L=I9Lm?72&%WHcBldaVw^~oDz655IK04z40o@rwhTc9P}+Q#RH4~JrCMhUFbfShr{O6Ej +NgxMo(UAlQ|pvDzjraWr#Re@Go_PR666kV*Wt`lE6A!x1}K6h0gpgUjvS7YC_=n82x?j(ltQ|R09m{q +EME^!Hi-hmN=uaHa;+eDw<(@g`%1~xZaYsgWXM$t_-Ms|&Tr{8TbD9GhU8*ZZc4Q~h>yENh>zW{3Qc; +2Y3N-uJ0jEqx#PupXokvWUA_m*cWd}}>Tbk%`#-@Zi-l5fumzv+a0|(Lj9CTQE_Oxb**WMZv?l8X1&q +gBu1i>zc-t7Z$myHDsEnV{9s^_FqrgIf(`4(=po_0l;a8bHeVGz?;0JNQzp-aJpdu$C)=M;T6JkLQLR +f}N5V62dJF*s3vh+nH$^1=IN}=KODp!+G(GSyep8tTyC~)jEG2Nhr+NKc^_|prgKwdYvo1)XMukZ+y%K0Nx{)W!uA?ZY?taAx +|;d2hA&yC5fRil;8SJA*AYpiJ}RhDsNu_l#iTyZ$Ku`}JNuh{(yiMm80wP<7-bd$<}ik`UaDb22b)QU +gBt`0pjV(g-f3I$?jGtHi5H>;Y6EX1a%v5Y|va*WL~+dx!2aV$wW{Sp2}8nFta73!2Er=x2W3k~8W0@ +d`KLOgu4T1|4;cEq}-^#6fX-j=uhUdu3R(WS-ZfNm`<<>#%r95YtVgYAA_IWeY0t2)ORYX|LulZ*gpj +L>v#fXnh7C@~XeOxFZBs5>@*?Ro{|-% +#PW2JyM9qb?u@IHz-C}!ja{r(C`I*ZprKO~C5-H~U`=Oasc)I-f5R3YI5sfQDrt&uk~5HE$bj4j#qwYn1P%V`0q +E--F9(IyjkZBp+l`Z>osHom(OWY=9rf#uV!X#q%Q;U3VJGCjX15)6OvChGUSn`3gT-TIe-K6Eu?>@Mm +n5AvH=LSgVXB|Z)8J`ghQs03?XnRGW?^pyxq}5G1`JU%s#wHi*(zNkF~yYYacz=Wv!Hxz@;7q-`;59EMH090O@@BdJ$Iviyv>t>!=5L#>EAa?6&3VI?ZL#jHDnxv(xVwoYK4}{wy|Syn?43$yY_Stt*!m(5+yKT +_&eV2&3y~(E~0r&t9oQ^Xn~NXJDlJJ7T&$kj5hMVbzrQ&fdi=G+^ +L*Lou%&LlBZGy3HEIPD0WglgrR<)^}weLGP4}suO)hFTCq#&-T*o(#`%~)@Sij-Ex7LT>i=czu9bZXG +Gjw}$Hwv=X*$mBL>eR|2IT=d=`_RJU_@{}`BFUpi4p)>8TE~I367G(zF!9KhO&JN@`5OJ +S{-C0wB7>_98WBDzS}PA<1Q0F>gH&VNr4ezcAPw3+P8{9n}7RB_B_;!~d*$w&`=yeMCeiJNdRY5 +@-rtMrt*sXYqpnM^OpO0S4ONMll`D71%eBe_d)*!hXSDACw=Q>Whx4)GJv7BvG5ZP;OwFcKmdxk#W +a^@U(HFQCt?p2B7cjK(NBe!`Xt8Fl0P|&)M}uGkr-VrT#*UNKHR-KC+Sn~Xv84LV2nM~578g>`ELjmE +7&3Bk;SLhXik7Y+FcroecLBo#q*B~*Hy!#3fpGzj7F`dAcY$CDD;Hq;QcoBuC^%RG>ehgnD0+C42^A# +RgyA-ydc?xSU=jtSeMq}g55{!rNMAmz<$;YwQy~DJ-@6EahIa^cF++BNG+Y;NIfW0j*{hb#K*)!h!b&^spno~>Uc=;ks +Fy_3nLT;6g(J_5e>B%IA-Z#kJ10)jyF?bdRQBU71K3ob~l4o2DjI3wUP=c>}&cr>1Q9m_@EdMt~6te{}vg0K&s;NK}L;wMr(I`gd0{)kTI +pT#e>o2!utD)-5-vtajPO1BuYuVw|Zm|wRHf+;PsSJj=wt#1CQ)Sh{Dv=Fx;iXB<MF)d#>a_p24I^g|M%gi+# +D@7mqWLJhWt7b_(q1`YtI!dGBXk`h;2_CJRnq;g_>9Y8aTcR#O$p1a#VMwr^WbO>VGtK|0|L&m1w^f6 +42+a{aRFxPIacVHko*8?7m;+QFM8at7_sI#_T`e38GVHR(uN<$*>~784DtB#9aqq_|Aq%P#MyR?|LFR +%s>GeQm?>hGh04brWb#(`;#)o#QU9@uA#f-jTbRZr%Llq?Pe%S^r`e|zN?Ph1a|MJ9X_;^2vJz&ID{q +L-ijGduPw^zmX4r1~1UAuW{;1C`80_rha^dJH-f+8B$Lfe(W&D`m>KT|XYxCNLk3ug%Ji +MJ87g-L39qwz#Zpyo0fK0^E?Q@08g*;j8_44CP6ch0b(&Wa%<2JBRWcUE0Vs5bc!rI-}siQHl;&i5#E +gNt7R4I0faIz-js8|{dwDr;YaGNQV0OLjSZj+NNvI2ktAZ(hT=pvu@xKPr??%F4N)HBSp;e7%_aSgb- +RhZ!q5}-jVUDc=-}n4D_~*H(cd8_$Vuyy;DF8t>L~a4Og7{dF<%g}3pt;Gj4YRQ0U32i=ddOgx`yP`)n +Uw>ZJh)qDO5bTf-H;{|BVUs_76r=#_)x&|85@^(qX?zlDrU~j5_Y@oo#};S=7cT|W+mk6b_gYdrm@il>iWksS;Pfsbwe^t-Zwh%Sp3zf{^$ +(7pP~sHEt@Gx|XQzdV~S&n4}}mDP9YcplOz@AQT1jeVNOi`9>rm0FCUAhr~*l6ThS#I6jN0PZ;$k1uV +T!2ZI-z?URqUyLx`XenLA(RFpun*_Um%Y?bW(Olf?g?S588X=*xy4ScNfgeYeN|r7n>-Y3kNcnv%{0`UZwfR1~KbAzwYFDAPh2+r>L0zdN?`S@$L(eah|N3hP2l2L;` +ZUy1^A6%0FZ0?%27rpZu9uRm1+?wAJbhZ)X5MN_hXlLpSl^gNO46553R-K7!N-kLLH>)SKVU*niE~f6 +rKYf5sln*uxon1WU-TZw;Ikc9<-R7SOeBJ(Z0Chqv$boJi`y6*BujCvY;vZqqjj5g$C^sWR>O>@E$Yi?&Xyx4Vfx$M=AXNw +KQU{yYs;d>t1w_f-TaGaAI0UH(8W}q&Lfr=p-~o?S*RyxA?vtQ_G(+SZ|U33-?n96c314xmel9p3mSe +G`Uy-9C;`+@6aWAK2mk|-TUm$tRFYaQ002Yj000~S003}la4%nWWo~3|axZdeV`wjMa +&KpHWpi^baCz;0?T#BqlHmV-iW(XR6*X+C+nzlfh%K*W$>Z%=%Qh^{8hecfyP7O^mqk`_s)}lH1s!lt +aqn>l9I$`)-sGO-;v+vIKZ;~aEstlf30qxNnHl*N85t275m~O*b<-tfeN^&OyKVJjw_TUjwSK$Jn+jg +rqeWA%lKg6xsD!6qKO4b&+co*DTNT|+J?A{LdbuoSU0GMH&O0yuvMD%qo_G0dnYV3WQ}w4&vM7t?++- +}ea#iSD_&hI`UCzm6trLFAZ_j@CI&X_n^5?4Etnp(p|6yG;IW~f`uk!9j7nl|0Qhiq +e(6i|V?&nckFDr!ttP{|I2eD_=v^ZI`Rm?xrd7IgFXk^v#>1>PE>=-_^6%qvRDOtE}6#9fnshki}I#d +;JQ&nsfmtJxbvBwAzm7;p?)>o9)>T{PrwgF7vBpq2B7ME8cc5@+!YB8vgbiCqX@yvyPv>Evlj^XZ&*3 +LB|b@@5)wX`aXxDf3;cbl<$jMY$Lz?u*Ol&m;Ck;E2(BG?G>~^H&B$fh4Ja1bJf5g3BTNxv8+|7AF#%#rc=uEh2)kBVhmh)nBpJ)Xi8%%1*XufqG~0Ess3 +BUsv1xknsCH(G1gfZ<+5nYe}y@}F1qOqfYeJhUt{&Avp(b3QSxn5Z`PyaPn)(Y7uy%KS^y)UQ9R;y%E +ve5_01CghxTYN|7bs{OuuZ_Tan>U{Q9DNTPl1XFUvQD?c5s;ecja8P0_Z~tK5|SQGNS5*Wgm%%83wFh{iTZ)O0O<_+u +klzQ8@7tn#1>{1n3COA+&(AM_$}H==yEr;Jnw~)tIA4rS_uP1|C*7@16y#B>Z=)WJ|p%Q<{BgTg?kT+x +KPrP_i&gk~ljI;tPt3<@p|1V6dSP92cRd3UqU>k5aO$Xz--aua9u3f4amX2@}3lQsY-9gfWi4DF~in~ +DZxm>hqZd=Ic~&up7z7ffGH28Dxu+cw4VOpRYECq`76xg8rNO|gJtH`%LZQw-&j +03<3JwI&D!26E*MJT!;xw?U-SADg1vG!>;eK;IIUIb}!Yt#~_|;+8xyo7y>2g>z&szIi(<=;OtOTi{K +;6#3n(9_T9xSnl>JV+7MJR<(ufAASF&E-PFyN7y;!!(MaGTD1vJcuPIkoASA&lRyXce(!!)jhPqitSP +Cv6X0$dnES!cb@Li&<#;^cOkLeM-Dk>*6dan&S@KO+Pt`0>lB>F2BIRy0E24Hx0Yhz?E)?h;Y}kMk2E +-q8*ycGA_hDoYC6JKby8u;-a3xOL0$QO7DC9al;XJg{P3#_rLje2c7^iKZo6nd$?aQk(sQe3{bL~wr@ +6E3>sQl{<^s+ZIrK+5<%>e1t_*Bhj+2Vl2#;?7pZ>R0L0P5jR5Fun7OU#x>i_+{Z$<;O?R;okB4B4k7 +H~2W_rTDbDZY73uVv@!y8cvd@BGU?3s6=u3$pBdM!7$m@o8%To4R>9xyr8PbrV@e7Neak30w$j^1;9T +SiS>du7aEeJLS6-Ta??2&bI88PH_NWY6ulw_wkowGQknp#o>!QXRGZZmj0#lLcE!3i@RG7cNh8%=9a@ +lb2_-4ckOTKAB!hfY&NNbw^kicb7j*;Umg}@6Um)XHyhCh}tRU#C-ZJ>qlV4F7s+TWqbgqs88H@V9Sb^t;#y94+OT+Ip8@x7S?BpWTVYKh7N) +#{OQ`h_w`vvNm^`gVF^>txnAHS5&r7=6X*Ai&6fBOSR0$)K8hSY?Qe95YF14y(iN+acmQw8>WE(x?5^ +5MCk);zVHih^)Z!tR8jA>#Dx>u+T2rpNR7j1h$8MCr>LT0N6 +@g34k!b%WP8=){DDlXY7bajLcomv9R-Q*a?9M;FuS{KGWRviE>=J$p52T?_Z6i+cc@c~KAC;=i +vgbhRIKt6wRoyrvCP*kwC?t%sHVED%z@j&LowDuh}2E6~5?mZi;MCL#Y%?8k+^{t$%v$jCkQ@^zTTbbS9oXQ9g^yph5@ +n6No?{I1AOMQB(+BL_@h?EdwV=ZEWpKvRqnrkASNwkie4K0{hjYo9L05Zt`l5T&1gxlt|;KF&q(olCU +a6pvAI=#h_sZ!a|>b#04NLKYV}&M5#YKorP!(ioW92%{Zl`x#p_(h_O6*z68r~$F{_OP+^vaDs@Et(i +#c~sTkv796z*r$f_pOxmMFbd>P!0g&Q3X;Rv#u8p5+*pifTzc&F(kfP*0a}IBPe>5V$lyoWr7*vGJSTN2`#H +tQ?Il-2^*LgojO%&d+yspZyQD~u-z$dx;S;xy2FYHusvCH2>2-q`ck0W9OD)@;Hn-^wox +t3=(d}lH0$!xh_z~AIjJLnF9pD|JNA-_KgZ|#^>bzz9^=9Lw+1(mB3zsISF{>Agw%}14CCDbv3?`g}^ +mtwS<3^wuh%VnZc)q?|D$4w#fsf8Ty@)7503}=!|&-yr(y^Ny;0a^HEC+jy +o>#1Sa@rA0zVGRG~nLyF;dhM@I+hOjT?!-v9Zlo&LM<2IMzMdin#KVA3zCfb1vZaE6d}!Z4b1@&G*1O|7|kQY}=|>=QW7jp9bMAZeI +-^aQgwb{~Cg!!tVR0-d8U54v9JTqZvG){R7&660~Q0>_h%h56Qn*bqT3I{tD_6d?THQf=lmcuGP{XT< +4~aaq>g8+-iH#mX>6Ks~79UWoyBjMQSuLC?}hb=;ziI*IQN72u}-=$zoH@CYNPB##%2eFukxt-3&rCs +jAg@K#&-xF=#!>cF?VTwGe6OsRPqkk?u4frP_I+>Sq9ZYEk4RUX26S)TWBG`#a+*!6r2JJB?;teOU4W +&4I5-Q}U*qv#FdONr~9%1jMLvSbIPyS++?{8u*UHi6J~r@rdq0+4i7pdr-Fhhg7!RBZ*d93~{MrvbY +~n5}(?%4WanIfoqwu5Q +-dM^aCWxAXe4_?p_=@ZD4T@8^O<0FtR}Q4LgIsTl%^8woi2{xr9n(e0R6#x0dBeLaRN(;+c2fT6bPr9 +Hx*N7yH%$i7VYb}Nm9!(==j5=@HVqVEqNi-W$C?NVI}~kYCRPjb%jm|9*h1Dv_(J7-e6PD^8#-eX6WZ +mg^++~7>p}c;f?oVTUZHcy_^yzB8L2x3)`IJ_hE;>bVe&Ik3WSww&6zt!~Op87j +i`RP4aqsjx3FAh8(xRUdnIAS6+M?{Kh7d)R4QcrI$DL1{QT}#W2btIJ&%t97@HoyU$U%sS<3)AA`Wi(Sm`0gQBXBA^J91>SL^&Cff1 +wM;ov6%{0kPd<)Wc0zdGmU+PMz#-xRDZlR0R*Iupccn9i7Hm*vzoC_H#&V>`Ig +_(ts|qD7QNf1-)$Nyv8Bz+7YM)bge~m3|tDo&#*-W)s*kIn2?IvHkM_Dm$6~0ez%Q+qlJ4OZ$;r^L2; +8|YYAd-+ojS7dwX1PqLxJ$(U@Nn+(8##Bm6G=D75L%r4;bb>`_iQr4+1YQG5f1f!+YE2$_Sk38D*yNm +z^<9h4%xxv+(X*T8>b#-U1xSbxS1smWpY?Pr3@}&k@||(RvwSx+E!X`UL(ZcL=>z7pvz^kx__0wO;5N +TWBM{Q{FRQlW3_(7T)7N@#LT$^%?4F;bJO%@1W(gj=U@$G@6#os3OUau$a4fj8cHld^} +Fj%^Pe{(Vk94wq56Q-q~CP2P3_anWHCk*5MS7-oD{rHV1BHr1w?vZ(IiTF1!e90&hcTI)nPAHO!Wor- +0TT1JAQfpHw-?0ccPPHCzTjAvrM_gX76D{x{H!hLx-ojDckcD3UfdPe;{GRU9mh!$7EYoS=xuHdP2*d +P-%7yJ|FZ6~-^J!iAkE9#>T5n6;kM$}gH(0rJIlJc^*?q6012ANf1&bq0(%8gq9%dr)q(s&jJtVe;h{ +P@%acvd+qFj+{7)l5<^BDJqw<9y{Trc)%*N|@! +bToGDhd{dDYm(%;Amf=qdA8Azna^Q*tgq5$?OR~<3^&eM`m@6rzr2eMujsms)nbFQ~+F}>v4+!WMpLS +tJ^-*Fp@-25m=_o80r48gz3;MS%rMr_DGfh4~j`s*a)<2RSn`f~n6Rqgyw*rAvRg#J4=>8sVy;>4gf8 +9i$kc|JhNn$!O@$6>m}vjt3*1E!&Y+l6q(P@tvBtevW9!i?6cgkkTOV4kz5So9QFJJ +!jXij0Qh)EUpj0xoL4#C9;X!@VzWRWbe1gCbs_#;16WoEEeTk5(D^3gYmkYy`Ey?G_Qa|qjVR`kS~bE +89c|j2mj}PoSyvq|I$zY_rL#d`}l7r{onrme-19((x)dUClVL*6J8BsR|NfiLXD3yB#Xg2TVOIiUA%w +CU3d=@{-oVEI3L6c2GWAD5Ac?Bbk@X~qC#(%U*s;Mu7S9F_x#1x97c4={Uj;gYO6essUdB}S{3)8g|l +P*p<1|@_251srhpd0V56B4$`g$)9_5TtKFfjVg#3sij4xhHUcOXEs17)eNR1JBZqOQ`N^a^+v(wr;8d +$WyW+^_Y2555FdyX4pj6P#84`a-ITap>PHS=CK1zt*#{8DyWmn{ulFiQI09nNE^5sfhiy@Sw~`6CW+^ +~7enL2hzxbpa_0Y(O=IPP7RGx&*(j&k{63oud!PP1mj4$&)A7Wp}f=LO4&lzs%J?SIhe9$trJ +Q+3|u5J4GL*p@NSFmr%Ux`*0$kD#~%#Jd +>ZbOPLjf;Tz&eExp&PBoFn!bdkiaw+B);njT+LE^B +u+~ON$d~jb^Sa<+ngP!OjBeh#%EW>VW7j~Dl68HH9jO=O*cD-&+G3saO@N_~kaF%*S!4rggQ6MZaQdF +w?8(lfG!=|dS8OybPX>pY-}`1>rVp6~`|EG_W_TD+oJAq8mx_=D%PY~KiaduM*bM$*;DRuxZFJpA*Q9 +E_MOTwc*$3~evG+Rx?EM@>O=q~@bMpH^O#fn6-Eu_W$0XO$hxoXURH_3$iT&NfR$G +giPrVH1cpMrg>L7K)?Z5gHuy9ib}m4Dbq_hkSLx9hX#iFL;4oF{GAWTX&m)WfUEfD +1^@Y$|GeTqKk}b%_|JdkKmP)ME<%u}C!hbpa~a&h5dIZA{F?jA-R0hLXSuK3Rqkm|N2OxU?I=jqvl4G +nMFAS;oe(+8l2gW#)1we`r=)fjW(t8q&t~PVPtsg2JsFMPnY!OE-tUs7G~RkbTzn@9^O)vx39qR(n`x +>j6*jXULnIX3uPno;DESoQ6Kq<4JfOt;C+|$@_lZ_`4nhc073P5rIYqNC1-qgH&+^^qWV$FCGRi%0zq +;A1^2!ACXOGndYU4>2em`t@1gOrZ)yjJ{t`2ECP!azR5oI$rh#?MoG~7{k+%n(07vy=8)X~vb=Du)YSzwxd +7WFd}mP5kb@YPLe{2*KQ?7Aw*rMd)cE9Qio$2IB}>rICr^+j0|s(Etx-}FFUvOlixuaEcjvfHW|5tK& +Go`Yc0*0Yk7xFiI1*cLuyBA1rZnl2@L9M%rynsDPZY3O*DMi7xi`&io9ir(6(VR)Z=?k(g?!c?0r=)O +s%7a5Jin_B~5YC}JHw>WE1=2mCmFv;r~#Y6TG^sv%V{q=hOx-G;Sc^+=s1q`km^5Up~1Ceib0wY?w$0SW1xdF(0sK5R3nPn|LV1bmqQPp^Fk85a43G +FrVUbAwvy_5oWn8Ibjkms362u%V$)*=34JZ;Exp&%=Ifq5(F;f}^ah){HSQ3>bq=Rz5ewZSFhL6 +#?ki(w#5&pJ#-7J28_Vlmem&HS^m1KY-+DGc#ap1oxAkhj)vW4Jd|1HtE+iFf$vZ}UFB~<7S52_8}yeMXp{PZ1PO~ZBBtfQbh%4vq3uW(Kfh`Y@jt3=~-&#O}I?P{HV8(I0-bgfA4ceWSq-jpG{pGe +_d-=#igr9ZnVp#P;Mv57_I-umqdll*C4Q_O*ZZH$jOvRwgI>0$Dzw}Cst_UF)!>X@*b8C^pBqKh8O>_ +4Y4c<%R|iypg{%k#dztJ9bd?D;EsxY(9>d2p2ATwY>xFE5>WyvgaJ&DdP(VQ}a1u(7aZ6&>prQCyVK* +^m9Yqr+@5JW`-%ur;OGf%GA|-}qZ(tTmqT>wcWKb_xg50UMEQVV0p|F`Aqqj)(X?QVngB6K{%%!W)#0 +PR+^qB&wN7UF-&-(E=JKk5Q!VDY+`Elu}1z`%Mo!jz{(`Ahsy^IKp9V4UF*=QxIV{bzjSa7-1&Tw81z +9MC>Ha65PonrY^j?;>DM2aNfWsG)9uw5H73DIuAf6&ac$9!CsX`34-Mrp(2ZsSwCiR$0TRqVpr{b>xW3#O{+=8m$XjB+JD!Ejd)1ip(8jGI +ktui;}$VWxgG-8wrR;DC{1UA0mPRn|n|EWe%bv5!N78l@0b@#ix+g-=xnwhf~YYwboy0w2Hd`>?_VAQ +6VmrXJ2rabjA$ZD2#PNmM_{3AR8zr0*GfL=h>R{0iHSJ=&69u~6FqG|3_DdgV;+Ny0*t)OuO5D^Bl-U +biuuhF3|6yQAUP;16;w7W25e>~7Y;Sx@eC7*BCcnB96AWjf*-6-^K*~L7UKh%vw$AWai)Vuohi;+*N_ +C;Lx2}_TI#UXLjcdSUA^@|f3&t_+|_vm`)X`6?@(Oi+}@t!U*9GIS9>n=JR=nsObwx){_)-RJ2j6WVG +tW+Fp$l!0G>i%C+q4*o9LK8Yq<0oY3v<#@VFe=S29GyUIXYYSMa?9$)mg#|Wlhx|U)VO&)qP61(b%ej +s;EiMhSi(mBR;$u+zUd)7@p`l@-(ZuzgFo&$suv~|M+pZ=z4}hD2gF^CFO*2ARL>D+S5#IX!C@I>-g| +#$SPhx??qU_l!~&$t|zGp$uZnj2 +l|vC-)LnV=}6jNTW(qW`7zGbv6Tt5Gi1aa!9qD(xFJLhCksLehim7p_M=@Ub$7^abMU9% +%-q7SOeJSH!}O^3bR=IwkQYvx +1~=_D?2_kzlZj{F1EW`cNZ-<3e+qG+~mM^Tor{-$sXQPsccr9QJ=!loHcvjp(U>0Aa6rFwaJd@F^63{ +R6H*+z5l#A)(y=|yBb7;#$2Q3uP7#%Y)-x2*_wL2zcI2d=YDb7O3i4L?UZyhIY_&2VvTnA7Vq|T|B82 +e!@O^Y-G9UT-~M&(YLx9F#|xx-gJ*lp{`x*XJKzU!}JsF>hafR~BO-dn#m3rzNBA9$b +mc=N6iIPI@IN;ZYv(*2TeQu^VWTmKQbf|TBp<`m%V>zi4l?0g2=d@j=^1=;yJ;yFvYl5IgSi$wm%4XS +(!cmMl5NY?G(o$u^6=8--&>h?ulFJcho_3Tw+|6-wra9u>Sy96v8~*5KAkG|3mlcU)z29fa>5ehV=Wj +?pGUH9JG2Mnel%iKB%Yoh4)df|vov71ckjETZ*zLvM|J<|1@C~2(&ZYhxBe?$(e~<5L>j*B+q-{aBYS +%_Uo;=<)cFO67ZZ+Js7f{($*Fuy(xLOf!;Ni3U=naczsP23nABmJJ|4zP5MPUSTWq`v0@C}tADV~gqq +np9~>;)gW73`+VW=dhKjXC??`z$TYyle{(F~gv2k0{%tfdkUH5P&_Dv)YtKp8-#O~Bg@ +V($4$dT^8D16`b;4Vw|i7x+kkmWuu0G9~%X)gh{DEg@{0vBlhX)Xi54+-Q9HN2I&xNu}{_D1Y7H+xgm +)z(+>JjfeT-XP0GkTqaHXpKSZJQ>ZEBq}uUTjJn$dReCV@;2YLNpm$y8W9F>N~st=cKl0SR%u(4w+*8 +OMrvzX&E7ehdoG7k0CX)KT=8=5=-P3sFBfIm4R$5L5k#(^feXL=!%Gc++H`v3z#W`;h~Vcn+U; +%F6$Bs`itwb#(wNimA@j}o`W~P3Iv~|(2Q<>iLE@{i$*Iu&|b5|?2+dGG51aqcATm9`iozDGBgz2-Tw99v#J=e=OzT56pc~ +Ot!dM=-Ya)^sPj#?U~%$WIphVJ?O2h3u<4kwY6$+Y1tnxasgg`6}rw2#~%{hJwL@3Lus%|jcc8NNeiQ7cY)ZW#eINm&R$^p_%Q3IxE%u7fQ3j)j8u$jNh1WxvlKg|)lCpS(O<-8csS&e?ZCr +So_bD$nOB`+6ZW!wdxh=1k-bWn6JNSQm6Wqq(F_RL<8I%lTKggXkOndayD%^hcD6Cr!-4Z*RGG%k+ZV +ehP$0D +>MvvBux%>J5!Kv8XHy}-Lb`kko+!F8g +aIfbbYEL7Mim?*E4Uh`={Sjes`yYsDU{y=tLgh8hpxC4AtHErBIj|$kJG>YD%vYn1QWWKW&aSyRF?n$ +nc3tz(0<=W2?A~t!v-D-;(-nAV?%eBaDo+!pi0b#GKtz1rblTbc!wPJMrYaQ(q%8UBcu7UovILdeZF2 +1^65IA+gAT%zM)$~#AneKGH%v8y}(5NEcv#nH|z9q#OgP7Z;rSJmMVZG +^8N2mv@{B^;EbK03v9McEe7q-0b++IXW@-7Bkz3B?>D(XH>*Okw7#e_a-?ERX)zwq824A?ub%D|h2b) +DKn71&JRsxjnHQ{P&C^~y0pieJOY;XR(JhMRy*(M?X?^neuFB{Lz>QGUNwJ;hT&bynzSg7pNfk*YVDxhB&3KIMz;}sy|0z35{GdNaO3KoTrbSF&N=hJan9hmxG@UM=G*M +Cc=G)Gd}5m%BU4^v4UxgkxOg`YP4aR!{Nr?Q;quG1jj*`#7$b%=ce@_<_|chfWy$_5w;(F#7BDGQU-1ZC=Pn1M$#<3C}tiB+CC +Vs<1Wjzne$WtZihl)C*9xlkg8zgsf}jSr}2xFf;&F>7x{nj`=7r=Dh-{ER+)DT-fH@_Xq#>Zxw@XSLC +|4UvM>s(w@4*?Q%9fzz**-N-3)82_>D?yA9g$`H<;i*g5J{=8Vm6)HzZXi_MaNl6C2His5Re)4_ +y{U7P%Rl~2&akURkMYnEoq721X-4RCh#N`A4nBjgA$2Hp?qR*662i%4uX$ZT`kPaCBc +$g4vf|S@^_68=RIyBzu*>|>qenQ4%er1q@g{|o9pR-^bKweX94U;c=c|hgdx?ySg@DrTby2C8q{HmmY +=h4Kk^0f44OErkcqovva>G|)ocWDWv1_)%jixEkjJW0eklluMmSqZx*^!{76t@o991pR1@T6O|0An+= +T&QkpaI5ccl}+a2#N&9`U;-@R8LYS6OUM+8X+i@HX`$g8~JKmV%ib6v?`aEhs +)<3C>v6d=8^OJN=0p4*nu<((>IDg|{R>p=23k&FSDl5Td7pvns($E=I|Dd68G!^C#tnR6G +!Ob6YpBWyGn$%gyWt&Bo7Hu-E{JFQ`}T`I8Gb&PeBmI+s^a~R;{A2mH0J{P1#UiD +8vyPGaVl*MMvdkF70t?MTQaBdLyqL9C2-DG&L`#q?k1mK&%IdX*KzGgBZHkwV487kIOWh<3WAIaRXp)_ +b|8BT9|K~FQ7vAw2MhR}0MX|>F6HWt#F>hyM{DXW1Dl=dxlE06c_nW$x^>s>QS!3>Sc=Z1OP)h>@6aW +AK2mk|-TUjAh+e``x00874001BW003}la4%nWWo~3|axZdeV`wjMa&KpHWpi_1VqtPFaCxm+?{4Hs5& +u3<(fD*aJL@=;72(4OuQ-l9bm;ClZL&fTBCp5Oo-ufAtJ~h}aN+~+0Pli$9G--#{@-m+l9Py(N$jq!s +;>Igzn6CKX<2ru2!Fs@2BGyqn!V`WU ++geWV0gh6Gf4<0VgGi2SuEaZOJn7p3@!Ko(OBIL#EfVmDu-9PVLyh?V_kBn4FB6J^UU+B(k~wu|1XukL-41%bK)50HWv?x}$7VMkNZfQj +qd$n(z(?s0i;R5ufQo+jK)^E)FQ1y@bd(Hy_DE$V2nUjQ3lZgsc-vuYsAXE$v>JUjUzf0wfhujQsG1s +Vql|^-e=Io}z~^v2BTk|%HURTvinl_2buRd={<>%V)CDGr&|$b3%}rnY1R2&{GXw|`dfgFIH(kRIboW +v*rP*;thF*>Wr@T~vMkDaz3+x3ihqnQ3Au?sG)84(n>w_ocPUO;#a0&@*CwNX=9ZRzj*wZ0`tNaA$mU +%eSF)d?sM{80PaNMydVhah{)~O%48xm**IRqneoz4SoLj(y>II9Bo4i^X@-nqc}%z5R{%l(83;rh;#`N3mc@5(=$F^vZl2}vhh5T$=J=MBm5;BExEP7Pa+dmE*;=6$t01> +qxee_>A5uevdlu$_%D3oAU5;B)C>9;O6SQZ3*sdYjJxuw3&ls4Snik}n~Zx^dLOh4+_-?s$sjI}O+qf +;fH9bL4Wr}4I#Nf!gu+RF^xg3@_IE4>KU)96n>Q-xeg%bcplm!DQSelO66Ky2hJ_UyV8yBcVfGu@u83cNvN90uM?ksucbApZ|y)!|QPK +G=QD=4=yBK%t1|kQKkaxk;h?6ZmUcC4RUqD`xHZGQ~prXB1ltwbn~YRXxX41#>NM;y<8??aW-7OQkaR<;ry%#KDe!!f0S+x2FzV5+CeC&l@r3(o;8lm- +U~eB1)wm2?XR62F3lp{WG3y{!YXw<2|1nhoEIo3#}D6C5}I-01*Ei9EcWNFG32WxnO6rt46p)B!ww3d +C{F3D3r)}WuUO|qLiQ^mB)j*5Bhdpb^iI%1b@Y*ZEZd24C+Ye_t~8fFZ$3F?dOOdK$ai9)^SSsFCX@) +wo{+l%El*9CZYqCi3+XkW7;~nFK$&9F5P@cioi0jNE?J?2!c5d9%*I~7s4+o|*9%qD7Eygyv|LE_jRj +7W=PTxt^W?2itQ1O&YM>HUrHcAKv)2LU5&&Y>xt0NU{lt>(-Z*W@{f_bqVgh$Q*qwiDXuAtG3X_aIbL +#!=yoK}%uHlZi2;Ra1(urnv}>6VsXpgN^FZo!ANnowMq3J3i?b7XqZQ +#OsxRjsyyV(}DDL%|(sE4VT_2pvS*S$mjm{CF%O#d&O*{xxSJiW1GMeB3V?&h13o+SW_Je<)zsj#Xk3zgm=dY~oWJ8=Al9ukv>I78Xu7Bh%KS5daU3;=;I`mV!EA& +|I%;>OhKD>FOowL=?3Z8v2fV_lUd5PCU|56ibqtmIg^U4}PUE5S>uV%nBs6I(DpHThk;vLz^6E7P`4r +N;xKnj3@c>*_(`G$Y}dtpOM>$CL#iDm{VVB<&1XI8M$2aOi|o*ARV_SUfo%tX#E$3F9x*9cndy_rd0q +0%^t%q?(^`g4c)CE4EU&_J80?_l!m0Ph#U-nkf8j%X!=${1c19ZN7+w?~#-UoXO7Yw>a!hzyY(u#o7U*Ju~$z7CG +E0aTIK88ba+E{yh+1g3xD~!rSB(FclIVOtIlJHV!^fd?%4F)?G%qJGiH; +{zmdpC*Pu5s4#;QR>bmb8YKypaVMS)f;ifBW~XE3;x`(wEQX<&|zRNe{b-aglMPTF +s96^?I!wpuUu~*UTERP=6l_Xq9-+Vlk;m-Z;s3c8Uj%*XwKeaE5sNwm?m=oqHD{`3|g+$e1tH4SYN@= +)B|T&&=t*#rHhCrF6inR(1cfr05-+sJ|-3C9D4dP)h>@6aWAK2mk|-TUm$rYcS{v001Z~000^Q003}l +a4%nWWo~3|axZdeV`wjMa&K*LbS`jt?Hb#T+s5@>Uol}{$bhBo2fql_HmSYy%X6K#$1bF0&L +#42QcG4F7x2nHy)wk#?PR`_c%8C34Q3IrrOa#k&I$$G&c_Nqy)$F379)n35k@%XnR+7j4f5LAaYx! +7v>6;^#Z6a(k&_t15L)4GMt1}6L9|*k8vGo2!%cUemufjc;xDjF%(8Ma +kgbpKijQ-Imd-Fjv-}`J>qo}Ma)CCE5gPph1fZ5ByWr)y^yGZ15tQBC<#)9Ghkwp? +y-8Af)HktzmQ*1e$B6?x1oaHd(p=NIxt`-74O*f_h^CMRZ7TqBDv%mq-&n5)Z* +~%KocQoMy0|*W4~j0sw45I(za9Hn!9hq9$A)bp^%y1Irn-V4XrhR-gZp3%zq1Mi>VMT3o}k^ta@%zacg`JIgA2PSShMdo+5BEly$SvuTK0xp{2|I1jl6chrdAaf81 +&gj9RN7b4>G1BH$QQ{&YPCB2=Aj`5pwDV}~JYN2jupcAqKcuUrpb$WR1&biA-y?b0Jc%5t1t>4LD4;} +zG6Llz_z1Ze%Y8n!kneS9Z@R8mZ&i_uSsF?VphqhWKbNWk^`q#;#RaMAhPCv7s!^KHP@U1Gt|`niwpM +1FU%pOyeo6`J*ua0kjCHN(tCX^i*?q-wc5a_vrKFu(^pne4-_Df{;1IzkH +|i^yYG=;cl5s>7q%(*fVWElItsafe-7bt_uE!GFKb5X&Xt$V7aK{YB4g7=c+84gLHIuq0; +C^QCOEQ(3|1^!g}_(F!Fg^6h5DvCepEuWJpCA!qj^t;HB<$>NZqku0J5%-X(RMo5V=g>6B$sbFY9MaL~eEN6X}%M(X%M~t*hJEg-$|F2f$Ud{bcrj-bDdd&u9 +-JrHmsoYg+te<8fB)`h}a{fUh{Ho^NDo_m(WX!S=#HI9-!<;8@Px{-ZGW8WGbk@fnyhrDnS>nNOCq4c0mAq_j_zmWpeso +n0(0RHES#~%T;eL!1JQLKC&;|Jagyueejq5@P%8(ty;GZ~S+_NY6g7T_^g;?T$qTkWUeMaSa8ppuc+) +Z4Kf6#_lQ$Ll@Ihkz@Ije?8cjZ+E{9uk1tz2D0!H>sOBYCztU`xFR8R`*OzqtG%CM{8Y5u_qd9H=;-D +EApdn~~wY)sx1DFc<4FEiZoYG{7vB+-WF#K|&02h2`pC4A5Tj+ZL>9!*7f#=J}mu8<}>?&KSXjfEkn> +OyNhKRqxX#o$4KoD!9O0~|KY4Ab!@PU87uOJ2kbcZ0fXi|3?4e75(0wp+z0hGXqoUM%91CMaZq?x+_M +ZrzGlLMLtr@M_brJbvuDTeln>I<$M_YtNwjQdH?2Z|^6T^RqlJK(O}K@7wgD#QKOy(&y-W6Zx@(scF6VOHmJ2sjXcW*4qH44~E+&vTe +LOjNJa!`|X7FeZ30$9=i&Oi@8DdE(M9+sQ#YipKH9Jf0e&oCsU0!r!i>7UlQ>6dc-ID`_;Gp3KQg+A* +6pgJcslZwpH?8JLhJXMG1(w785B$CN(ii~2{TnWEe8la8ogrtwf4j)3AoaZi +!Jzva+eg?4+TVF%W*eH$HdCe}u~uQpPAFSpB#XF@N;xcHbLEpeMbb%~7>+F2{J%rn(axhd#~BO6e`#_ +xw_k;~5a0Q_?jp$5!}@=h9;+D=aWyld{z?C)_M*0Oum{gbJ=<;WDFvIiTCtm*CU0A5kTEQoG2 +{X~zBo)HtV_hQ%j)Ys%kMz>P~_rYc$q)_ljW=u +^xQ?TGTPQVrIqcodI#}g5W`<1Yi}Dg5XXT|)h6l!Y!RXtju)*#&$mqANW~2iP#=qX#(c|7hI|}V8!iHZwA6hvzrNv~I4eHZ;?(Ubu7NF?OQCH3HEjD2P)h>@6aWAK2mk|-TUl6``_nlB003_V000~S +003}la4%nWWo~3|axZdeV`wjMa&L5RV{dFOaCx0n!D`z;5WVXw2IV4wt3#Y#3@Ie8Nlc*xCzle+vXVy +D+VbwQySCBacUH12$u@;n7#mCPy`A@FMuky3aJ3e44PvL2aquMT31r;53A`hHef)Y`u=(p^{$u&`B`7 +>WNUJe(9Yffx;?@R%D8}en0CY7JEp);TD05{JBeF8dl(eeCPGd!n(D1avk6L38u$SfY^J2Ape}zW~!; +p*eh(>Jgr(f@<57oxzQcoYYR^^4zM}>5gKAXyJH+ez$AP90Ss5EBI%28Hgwq+{aQ1LTwG=?wVAXTbrD +<$6CLx7BM2`vzIyoMB^)xjLn8dlzcKgF{Qy1kJQHGljiECuAa%*H29z&aD3QOZEcEqBgbphCucLX3s~ +06xWeCdH=!+K1H5sLx?`a@M#H$H|9%5=0uL;1qD^HGB#guPQ${UA;awZP220NzlkVnYEprO$^x4sRHT +(Xyu3@NUR=0T12a}Y9by;bv^tjePista-hg8W_x4B0julclFrxv&t&7liyf%L4s&LaN}whAqz%H~G^l +hViUIE6%^(T8-W%;qAtbS&Qc5>c$5PN)U0ZwSqY0o6YP)h>@6aWAK2mk|-TUlMguGe({005={000^Q003}la4%nWWo~3 +|axZdeV`wjOWoKz`ZZ2?nMT;>G!ypg@dtR|}l{9&P>(nWtd;sACPJ#o$S&4ri;uLH(tKIRfWav>@0yx +*w6c3wed+jxmF~%j^JDwD{$Yn0q)nH^ab|!)JoWsZG(RTiibu*ca2DH<84muvw}rWJSM(*(> +QA+4pIO83s6e~1QY-O00;mBky}~PITRfh1poj~5dZ)f0001RX>c!Jc4cm4Z*nhkX=7+Fa%FIGE^v9ZS +4(f>HW0q+SFq|KQlS-66zIXN7MrFC5Hv^%uiIi_7y={FHoGz@P*iqZ!~eZAq$pdK6leSJ#pH12n+G`$ +@l7d}CR|h{%e1#tazmE2$h4G2MYugJsnVPl_Ec|6E>`X+@Cf{_#5OXEYg!casbF?@rao; +Z3R>9RtS%kPY+D|!ey7TAeiOiMm-3mZLef0)LeHC##4!f`%m<1$WmR2hpgY}jBRoe7ttMP9+`7^#B0~ +gAT`asQ&(>2`sutKTKvh=Isv>xHqm)#^&F736$HIv*)%X1?K^UG9nPs(7EGM7VOc1Iy+W;$sQA_ev^C +BmdC_suq2%z6NH@%!K39YpZvZ9)_ft#b(^Vwn%k~eQjv$0y^I35Q0CL&a<>Vm2Xd4k&oS8i!hF$3Z5Z +QdeB4z`2aq8Zw-O#u8L1&heB#+D0JI~LFAwinb$M=zSPXd`=Vf}gWYDykvC5XVe0su@XB3}l)T^IBmC +7ub+Ya1j9A$R$z>nlT&O)_|97?nm4KVqA=(pkl=m01YcVr~{ib-dc*hc#iL2*w|w^Lq#-`Ncd3Er1_% +5M9Y$i9O#ZawiK_+b@C2YOv973cE=qfBH}m9e&n7D`5J2gn-IPdQn5LTzJUO6!Sb#(OSl-SpjHUdhYr +HY7eL{UFA1-pQfVsS(f~Lj8k07h^jI7Af(hgcNs^Fnhq(?>3(VaC`}}edhJ(xu0x%BqkwMvbrbUf!AH +1NpU;yH%2-pZx;Fft?`bKaVwyF$j0rmzxp!_st5b{FI#{!?-hxU>oPZ@bwyY+4IGiXH4OqCR-& +djqAz<%X*tw#b+&Vw+B{kX(TrWUqi$XDeR=;i_K+c}2lQM&uHXx!}5AShU*qJv&GyZa9crnky6*uYZr +2_vn9wlLOtD{CBdkAu;IARm`CcR>64s8rJwD$BLFTyI&vQ-_7nGAFl4x$A|k5Hjc}K$035m;Gs2i4mUB*x(LS}+t1UU`%ztXRB2ORDVr3_y=?b!%e~b#eNW@-db+xNfm{D%l~4knI1qd-h +-5Zjg2W*B`@Rj8HOdPVss>iA+3@Hb06&2c54ybS>nimbbJu28fgA|n7DJQa$BOp4o3-}FFF8IP9$4;L +_YCcuaoaDM+6Z=1QY-O00;mBky}}kX#;IV1pom05dZ)f +0001RX>c!Jc4cm4Z*nhkX=7+Fa&>HFE^v9hSW$1}G!TBzuNcBZog>XrbWbaSR2@hM(t%VCcsNdxZ{zG +5Ws_ig+uf^>_!0aX1@7m;=!JrxI^K6l(&&|fwtUmMl}m +l|nyGDHkIQS;w$d%@o2q494w9+L+)4g{In%zAeaoEjOM9EUA3qEV-O3!USXVP~#pJ$KvTmuAaJ6q430-BY1n^4J^b%Y$!URj-< +4@H?E$9tU*!F^d=sQJQ5C{UK`rMS`thVr*kiQL5SE{ERGLECI)o@jLI3wQ@=%M5Y> +U$cfHPg1X^X))ohw^YzIMlOLE*Z}XPTO%@qy=3(iy2jP9&T#+!>(2n%GD!@FZ;k_tu+3BG8^hiV#zd^ +)129bKo&bR=V=>{?A>OZeb?F3UmAU|X)!%4qyQ&j3l%q*!;!IoCs5FOkjap#>fAs=G<(sWaXYr2~g;R +m8Cx!%7#XGL5ig=P(+vIVTS1_+KlnCRkp5-UXw?e*!Hq=GP<03?ehIs?&dCo(gCnO{-k6BxVovlqA8O +AJw^RM8011omKq9-I3z +09oL7C<9)TjSy27)Z3oeZj$+8HAwJ5fk?PQR}fl1wJy4okYF4XyH(wqsXgSt~`~OADna^7H#eeaPN#cUMGF@=i8H{SzGk9n`U^_iFMf1tf5CG&tqT*RsWCo?CE?BCO1Pa6LR52u3W6#zWmHGVFje6=up_97fKNNO{635`HeLT_}@%Se;*KaT0nI(2uvq8bPcw9M{?}x> +X^c9w%&*7I|w6#4`I;W-cN3!sFF$mNZF^6j-`_jmM)cqqir%m6d*;wiFMV9;nP)h>@6aWAK2mk|-TUi +f<^(%A)000{c000>P003}la4%nWWo~3|axZdeV`wjPV{dR}E^v8`R&8tKHW2>4zhY3oc#CUpH#yo{a3 +Q3*UMY7CX`qy4F2Ps399!Gn$uYW*)iLs)14o!Ai@OG#TBOz?)WS3!iD*a +(P(PPRE|ydJsMSd4E^je!9E;^_MR{r*I=rDg4$t3sj`=*tLQ!!ny3o4@ZH2mg(X218eoCxZNwZR5CHB ++`E@SpqaI&QR3fvk)?aV#-QBGAYdMM-{F?>f6V8>0fr=(?!|MZ+71Q4QVo|XgwBIO +9salr!<9@jT(u1}&R(o7_B=z!d!#~TdK(zs@?GV)ta`>Vo3t9$!7k{yn*}z^YfwD*4^)im0r7aE}uUM +3Sq{8$H4SgvDlLvd8_~FvdT{ta_5kq}TYYE@|2;>3*65t|)ggt0a_NXL0QO%v)V1z*7z@L~5sALO&;z +l1#I6LA6Ne|a@12-6wUt>E;OSyE*!6-=Dpk*p6+!7r#*=Wck3W>*C^@%KFPC=f*Ppqb$um-I1`9%XG* +pN6dXIAc{_wH0&II0G2S!3qrTy3JcS$*C%8PurThM+q)>I)jJ#-c)kRhn7+Oka4@HPFj3$R0ta4eVL1 +Gy}TdYxcycO9KyUj{%?vq?!noj4s{tHfphd{!c)?W*>~zoh;8nK?fB#4w~0$<=s9o+i5xJp^M&hU8Ki +1Q2Vb)YuV7R{{NJY@^dCimSMzPjf=o7d7zc-pm~+Fw5l-bJb9PGYMBCiLDH&nU#p9w87db@tz9FNubr +{HKIKF^M`Rfia!lg8&!0-%?3p)jRGe{BK6|@Vj+B$fJ9QG)_w!<4YZmb8oF`RSgI%dKyk +^~*^PE8Ue4|OGb;(fv<&h!CQMe@ip&c}8isdz<%D>ZAd@s7b;s>}r +^_QX>|DF0nl=Wtw_AdDIDR8wSV~iQ@T&$FiW#?TRl|fLJFG^wT3_wX3~}#r_2K&cdUgH7hl!tmV@W-} +vkx$#kk>rRgiaw_z6*Qkb7YyGru)kHs;u8-SJ!KV_9|OlufJc;3iuyTO9KQH0000800WU*SwA)Yu2KR +305=8z02%-Q0B~t=FJE?LZe(wAFLG&PXfJbPa%E+1E^v8mRNIc5Fc5v`D@Ht#it+)GsI*GA+p5yG+Ra +PVt&jr-tU9)3JKd&V-@!H*ljR|Sxtuw3X6#z-^c=jS+!{Q66YWn_b +W}f4bK!PtB`41?+8?yMDF3-bYAsSU@Z4%jg{PJ0`5ovb8|+9d^o(xPX +m@0E9cX}}UrRWN-NQv$Ca2OfyRw31r=G871olB5mc9=Gg5l*E2Jz!Tz#3fYlk@f_|K*ACpr3i@FnCBK +t?IBO;gouvz&@@ai+ca?^hVniN`7XkkTbwd&BGUc2bn^>p$1a8vr8sNJ6xf_)hgl~nIfi{A+=RFty#L +_RqPlL86jN362T4d>Y1WS0#d34cl3uFSSZW_oth?H!(S91WZzy$biDT5(v=(;a*93ky0z+`1reWjrdG +03K!YRn3Ci(gtH4Mo5W_#n^0j@>!LbhY +2m2U38C8mMX5Ox)U22UOlOWty){CqamC9GiPE=LyWbKN>FT4tM9Q~?!-a?UAWAS2MGNOCQy~-F2qNgK +qZ)CF{6)OzJc@U-D^AC`>XckWydImHF45A_1193V>S^uvi6&P@@h))(Vsa-wBp{@9aA{IZoatx(0Z>Z +=1QY-O00;mBky}~V-#95R6aWCWUH||a0001RX>c!Jc4cm4Z*nhkX=7+Fb7g03Wo~pXaCz-KX>;2~mf! +U&Fx(FVu4vlM9J|YkQc+|kQH?C6Bzavah6O=HQ^FVoFaT(oJGJ}U_Z@u#4U&>PsU$O~N-TE2e*OC0eJ +-nF6^MMj3er_sR84T2H&gg|u*8bxI$tzJk=3d;tJcvXUfc_=Pa9D=^~*GaqGg=b5+W<^?$Z2D)!&Kc3 +`#`BwM8kaxG5@C9XCw{AdRYTHl@`#JP6>s{_%%tbn^Z5=qu_i+_3U?O6aG0;e=z6j5%iZQqT*f;4nWSqkr8h=Kr#lvu7gDu*EP0osv<*%hEm0b-0NU4I4|-SWtHX)iY +{0%DEymA~-(3I%T*qpgACX-%QWWfRxwt>Wges_5e< +zG0#?Z>FZ~&r~)&KmO)y8XccqM^`78(kzd1hni>mm-u6TR#-_z*&B09M^d-s;`{lQa +>%S;bhPsDro?L0 +J{adI6QUpl0_%X?#$TrepO&K(}$8P%qd7bU$4ILQqUl+mGN4p?R94Zo=rm8Pxdatq2~f6x#EQwy{~>$W*2iSzHzV+_?Bozlu7AmvKuBDcXi$nG8@sZ> +&=Cv@e(vDC&`6~VMM50|RwD$@p5Cq-VU1JyzdI032$BYT*FXst2eKH4eV=MkkCk{CDbhSaMjvR77?Nh +hhB+uIxEFC?jmn0RWIH3&ZK%=LAa@8;&4zv@VrkPI)*@RDgBM?+rkarfg*Xy$a<`y3Bs-ROz;UC3Zqo +`>1(=_tb(zJR05OeO3L4L)Xx3G3u?#=#3G~7sC!Axub4Qg%K}4(>X~7&(XBw!YUV>LaYGfxMg6n~Xh- +P@884yL<7^BFrfMbCnc9V)MG2_zZ&ytkn-eYXBUC3*HObs+6SJL%xMP# +~v;Ib|ijsFBTt=ZZxNw6_)rJr+LlxWs62~9nplEN5ejygWN*W^kfQLv-FVC7K-Ayq=`JuN;LNc`@gSs +G8n#o^~E29e}^D3GzEsgdlG(l>xNH&Ek`IoU +O+wbU>W2@BGRG={U>d0>6YLw<3VHxR;!@;0U=CDNq=5m}g`4T?^ToyHe0hhuMsd;G=GX%DW+C+mF!Rw +*b&8=7#750I(vk4%YyCg7bZRZR>bjGj2j!0U*!G|4_)LdYU9Zrn;TM((x;bgv}l_3*yMDP(vDgAx?vi&V$2X5OfV>$55aNG +<@WMjF*d3h-t@l4UQF}|Fo(Kn5Vo?A=}6Wq;4=4aAv{1sKmeucD5fw5BU_Q15)Y@CGVRJ=-)B%}N*4!(FnNfgXLMW9^^Lgg@JN7oLaJBuO +JHJ)O_)Ra&Pz8Z)tD*>GPCW(pREa-7Dq+=$M>LGd~fu~W|h8z=~K=1o#yweC(b+;e&CIXRH@rOOh09 +s0x<^n@K*@ZR(#|qxY9|Y)UE*=P4>y9TI0Yu^8r+l!jN1DNKc5AqY$%dIGNyVDzr6FUha|>+S+`)i>* +J+|XV2J~s4jo<`)AWmp2cF@CET1Vg9D))8s&CzC3oD^R)Gf71EkXeiPS1&C1`1WehV3!h%e7Q5aHvc&^;pZGn!qw0P9t$9DJ +C9&J6RNf;=yR}djkS*N!duO!s*N@%#D-^o=pdx|s$otf6Qi(}<;DC2=1$$>>toFq}yaxiVwU0;Ld#(o +yL(U}TTCn2+a*yG3WgE-$a>4Y%VqN699gRU(*d(uF>X#|nwt?|R-rjn3 +^t6@#{&AWdFMoIs86@WTa=bRUE`D#v$OmCG!?L)Wy58^}phjLC7exPPpdLMN3cy9o69qtsq>@J{eF40aS+k2(Qa)0+QtbB<`wRWgI~j36~e6|tJ0Ud$Ic?BRtiq#W5{P9p)5EHsy{~ +vEsF;JO=;IdF5=*380Ae%AriZjA93lbPZwxxs)xB@h8-1=df*tk{t|2kJMo7pteFH3O0dkCne#%V5TJ +5LjDvp}LeUFZlOQdjcB+k;p9MgRW4Q88i&A>Y#;2V4ITMD+vpl3eUOAw3WdGEYF+rFoy&Cb_JkRyVF# +l;%G+vpf`VgR-??-R=g$f%+7Tv>Me2SQUl)R9MFufq8MULG3bhYGY19Z*V8jfVR6V}K-Tm8>lybwZrw7=E76Mj@-!pSzAlq*Df*^U8~iK)hHSl +E}!-R@&pnW)FP$oDik6ZaYpwqE3sztt{5C$3AV4$k5}gY2B2%b)&_0W@IZ4Q9zndJ^>kW<0x(dr +;m*Y^6{Va`euxtpIB2n&SLx+O?}h?aeP2{M1<*0e=?q1>D~dS*hxwbgRv3|h#$sGMT(_f`wbQy@h1&C +5d$6sLf{lz3YUk+EcF?v`h3w0~w@aInY`Uheu**0a90oIrdBH&Lt0Kx5b_YY1pU?O3EG_i2iD@LV7U5 +rc3AZq`a&?^mC=g$c?h4?QQ|DoOcLXYg?X_LrBa*{5mM``3o@#e0V8+_@(0xNaJZg2>Y2lX_eveK)R3 +iehj%mu}RId_k8>Lx^-6wyzh1~zcmL--gDkxW96vUS3ghv$Y&_t^%-bmy<3-z7gy-jndtL?V8#sDHeb +j*LKeUr%XJWGNR#jL^THIxv>vR(;1%M$$lC;0N;Tl;&%(LP75t{uv|;lXxz`h>4_s-n$rbc2z5w8~nX +?XJzzFfmOmn$}5@URl-maVd% +8B*|`f;-MW?nQccPyWu}^NX^j^K$;wD%H@d_!Dn8104Jvwk?K&8i|?3$zrXC%2(FB4e+ +Y1ETKkBo+RW}TUSA~{QDEgK7}w))MYD;WZqeMWXiKrH;dde+3c>8(CU6W=iI(T;;3g=5&atb+0@g`++ +?=vE@)7p3nw)&B=xj%Jk>;|?4k2Tcgtca87SI^N7p5;W62TnvXC<^3U5vx +duA*JNZK9l|cX`wlrQ_ZvbXCVcBYw8O^UbB%=sv4AJI0aKY9+Fua|ahrix9)ZP7HvYX3R(uhp +mhHa!^$Q=7eGA<~&CNSX6l4ZORj$~CweZ(K^-qbL`--6winVvk4k_lr|$=?c&nSc7OA{(ctEO8;9mdU +?gj71@RV-nLQ6jvC8Dyz!d|;;|3=;%~JHVA)4gZCZ{ +lt{dwVLk`LnI=HMeiJumt#CH*jlE#MK!e?EEFP@u)s;af4;&j>BkFtrB$MBEL_6is5eO{t9Vtr$(1K0 +-Ua~X%uF^!Rjwhp3wHrD0wE(_T%!rNdT3|nlrsZ#O?A0B`Hv&U>N#fpM0-bhEhe6Xo)!^oiL9Qm}3(P +N3e!=19VbzGGE0}=@ui$o`Wo7(sMPD|zNtvY?RWczjOuE70T;vUxQztZdCw|2?M6|T!9ZUjj`M7oChw +gd+)D%+_%EXsd?_Ap|<`s}j@_H!waq*GoR;xgwFL|d17uN3$-t1Ud*6xe55igsW?qL2XHC(BM!*475 +}z&jQG4N9?9x3&B<7?*(iANx_dDn0gs@j_Y(4~`wjuL`Q1_Qs@udpMS>qIu7!i2ig;y)pvE52Ny{!vs +MrHtlp7B)lv+8qeT>3=I_+_ZO#k~g-P~f^5n_<7d@BS0-@Y74uS5i`GaWvEr_g-qe@p>COUt&OcVcoR +MlS>lbsHUh?@>I85GUVb`G$T-S7UmB+;RE+`Cdk1jdzQ&SWqo*&1RONv!=2 +0a#VX{Zh=+c=HH_fbn#hw7(+kR)R+;!2Sbl3*O)Izshvy{IlQhN^_8HBww=dBvOjnQQv|-Wl?T=$`6T|1u9(j^(;^km>Hotv +RilFRMWf;oz^3DnQ9UYQZnbUc4wR9P~6Ise^YsIZMG(DKy4dBF5(Sml_ygxVG3Y7J%d6!Tb3YKIO06J>1j +*gOwW^HFzvCaZ2lsh%0T#OIh>FXGB4@Z|MhbR_1@UHgeE3;n +p8Jq{d#HTor5i=8vLSEX4?d=%=2`wofTq1B5aF+UEKE6MQ-wDR5K7Uv-oEMacg!+SHu?PK9j`Hz@p;) +Y+5XB%)%+}nq|c;H8U!J{CHkthnINF(+Pg%C3za$DChk{J#9e^5&U1QY-O00;mBky}~FDy8FC1pol^5 +C8xh0001RX>c!Jc4cm4Z*nhkX=7+Fb8u;HZe?;VaCyyFOOM+&5Wf3YOjQ(>wu<8PXut)6?V=5mZiC&; +p)d@AYg0B6nG#4ki4pX_cZQVskiA9QKjp`0yPQ8#j5Qn}~1~yEa65a^<`+ILhCs|v +g!)`u3x{p{iTF=66a^LhRmy4qrK!xk1p=tzPi1=xw{|a2hQ|S@lpDl8y>hcgMwj?trtJgU=; +9A#?RyTY$lpCl*J72=d?GS)Ln3N?S|#};Wnd7xZ`rm)g9Nz){G-s^x@R=$elK);Ow3TR$(^Vv`lNbcb +j$rWLfqS1{i=zabUDoHM7E(YNwqV{UkeZ$hA?$0&eNMYrJKyjuQHl*>@729YBfAz8YjjSAv(6Eg`m*n;dcQ2~>0Qwyhnn$p|=BFE_I<+5*-Jnt1`uS;mdH9d9<@NS`m0<3f=-Ncql +|DoUDLnKUviPhEb<5aJFv4OJBPy3V-dD_@@o;O+YcRR)n>eMS@l}AY%DsHB +D*C#Wlf`C(F@vMKxL~;54p7+?NyetTDqK=h-`H%T?Sm(S}nV}YZ}c>NRN3n +Pc`dfzh#Ekqcc*7a-F!S9vJp4=V1`wNe*P2jpeJu+(5ut$jU6H;w&W9N$_^-!g5TO4+~T~?l8-X;w-x +1p80CgMHkf~DPe*-iftZFR&jGwGPb0M$LRg4rF9eSVDRL^bva=VDn`lkMFH&)wicd8!RBKXZ@_v=+47peyjgZ +_m`$CM}D$gRe+sZ9Y_QRNiye8MnkWj}`(^Lbn^1^jTay3!DEePXH$o*kR4aDjaEP{4Q4a+yc+f(VF;e +Hqn19&H3!F*`#qDdP*kO+v;X$C-Zu^0~@LJ!fm5>psaaL;SKc(WQ{yFs`m_sNqg(Q_A{<<1|V<9_bUCEEXE825Sq1fj!gk$dRaQuJP^PbJhQ%@%1Qv<>uD|{v{ +1?>T*J_=XK>1aUiQNYpaNZYudq=E%b`*4s3x`g4 +fRnuEKN9-6!rbr(4eZS@Lphj|Zv4%h3)ag`P>?j^ej8h=eWPw4>||eml>YMd4w*9DRl|UL|`TUX%G?V +Rz`dgr&Vi6z@}EFe%G3&J3T7f@$L0N~}6e$TUl2xqZtR+_HM!%-$Ptw(7z?+tMy +zJZ99|ak#@NfF{D?QN8NVN3HVf_xj&1VjdbYAgZzuHA{^bXw17wzDxYBA^V1&fi#Q)5ZKLhwXU^o8=i +#Yc`X;z|zDuBH_hY(URc?BM$wWBd)m9o=I|Lbg)+*Ta@;B>5QqIE*~W(Y0L~+zN`h7!cTaAP1p%u5jB +Plgy!6USr27GyDVMjU~MU`|HBP +`00HTB-Aan=6-|f*rtDQ|!5}Jx?CU|sWtkhYHUA_Xt>g&Yv3{vxH4F=$Z)F^IRhD8Xd78+d1#7cHfLJ +Cd1&#pY`K$?N@UD->w2@twy;%?k;01%uu^3YqLfwaa9{zLXDvo)xTsU{67OWILUmaz|rv`soIv3%BCe +*JAaubpRQyr_4FW1#vHdW-0Q`1t +MaG?B_}t<2|XiUgY{kT`*g^nMhb9#&M83&;W7;nHc39I8 +@Y(I&HB`uq49bMo_{BI@IM9V$HGb|N2&&Y(9_;OXseeRfwd!D)h5RL0Q39ic2y0jI&T++*66Wt1cI1L +_C7-Q!#hF7^b60tuk+m2~g!YrG|-U-`8&7fLN**9!aDP^@lh_M)RJF^(ShcnkT$>l^k&YhYXuHEK7E3 +3;s@`zS$}+g;zsC_Rcl`s7*QmTlwcR=Fkhas4FkUNySDjgnVtUt1mR)AcRXBCd~@^v(8dXNY<$qQ?zu +;Y`$yaA3HvaMwwXL1xlac(!4CA2VD^zN!zmLXnNQUz5bL;D=X^<+KJeBw;c%ST=}$6KsD +lHRT0jc5w7b%!9P$-0|XQR000O81Cd)h82|tPaA|NaUv_0~WN&gWa%p2|FLQKxY- +KKRdF?%GbK6Fe-}Ngd+^QJV(L9N^9Gece;&rrpuG2axNxrKqMMXp8P(%y@TmZDq)#`rxb@#jngNK~EJ +=fN%Qe|SM(cRP2GyRwzB-w29qGIK~JXjU^hOKtlqRR8MWQpiWi`{$?FVG2{@^FsB!#)pyk=V#!WpCYJixY(B!-;5X#&6e}x_C{hT_*Nr0=jAR1Zi-~Fo@0lE0cJ +M|a5t~ke8Uy=kEefp_3rF)etCNS=QnR(oy{-*?ex#5FaimEiNFU3zhf8GK83fkvWl|>FBwRPmDIN6t0 +YTs=+Ihlmai(F0VEJytmEvKql^ydeUuBE3Bg>I6%1=Y?St!sgM&pHmnED3A*rSZ4E_d#!7D&sE{bGZf +q<%<-SX;ROJ1>9l8&pYNN#o&XE#YTh8GU#&H21c^QxTBf!5Ukx)48h0ISf6+|K7w$N9^Nb7n_=hlK00BhD?ECK}w2cf{(zx=QU#DtB^aQHIr=$&6YM?|!Y0A|N=T}nG5e9PVpyal>NFA=YqU}{4@Ydo+=?E=$RgA_2i<9gYgF`hakxx2%^0w=3xS-( +MjW!g3k{5v7ip65W=tBSdsH_7_Ms8eQuL!4=!Iy~%+m_2L4Rxo|H#1xv@oV1x-h{yU2xEoM#dyS4_Sd +WCLdbFF8ZrAXyfg=|2(z`ZJF#6o +XLwnowIF>S_?bA6g*J{K#`ep>;YJw!BqTX$#xlNLo0{ +P^sn6>Y81u@d*m;>FWjtmDeN{6Hbi3&83y9R*F<4gbeAoyfwTeGseanM4efHn$6oc*?rmrnn>%*OUv^ +)(+3fJnxSb*FcFldXS!1{OVfCop7d!QDt6%M?*sp)v{eh1AK&arv1Lplh^V8opYwp`Ms4H&A=9T(h+v +g?Fzb)PO+YJ7I+0c7o{{>4YS;><2aJ1e5C82`3e_6HX{)|Iv1HNV?bwrIfN0P$^+2peJS2k{XO>P +%&E}qU~4N-qWd}7weL73*+|yeWTa#l2J-rP@DJz7sfl1%3srY3XthJ80^Yq$%-YVN=67&GDR|E9D+IV +d%VR2is&95c>D`Qf=k3F5tpKYkkr^6dN@?HX0WK1Mm!S0$K*x)GYEb+ku!exiPjQ^Yd{DiR#ySE%pn} +J04Um?)WKxLJsZa#90*65v(EJ3j2Q0JkdUsj)B#a4Vylnz&8^{8}-K4}W +qTU|K{YH8zeW0j71#QRC$3X@G4VR@7$i=!M6*(K%oH9L;kTt)_?gS8u^T(nlH?=24F7yy73KB#ov8M( +QJtq6N$-BPn1Dq|ij6eO+J^sd_DNN(Y7BwE!vwluFkEDYZ{(T%SQtl)AM53%ygi)&i)NPAOUotkyWCW +eu>y2Ia#)*eOH%o&!T$=aHqep3>5s&d4BoJ!t=|J((Vz4Vm))5w`m)LB@NvWw09D$wPtYXvAL7-|+qp +gS*HO9o`R+U_`8eRH#jmgz&pA3h`zjP!5}1j2xi{mw6O48$eQ+ANWsMBKXf?M~LwU%K1XWI$vsk7x71 +nv?LQO6V}EE4+ewR1&=G7c=iZkABi0Bi1EMdl8Y>b8@228O{UU0VM#VRj0aVC=V3ZqI$zdJ +jdQ*_tD8y;dv6KcG_v>equZ;`N2PENqfb^wGE)HPm~@lP_}{VA!|f~GhF$#N?TJvKUePGc)wA4cYOJy +wQO_KHOyATAQPLna*>fF+$>QCeEGwxxyePbZLrL`;_Wi;371NFtfav!NNz$9O&mSwYA|Z9^AQc$YQZ7 +G1tS*#M>-F8bH+H2#?URU_iNSw}SvTYKf66JpHl9KL{@4ax7a*R;QOYvRM5!p9>Q5kYjVALJvVRns0K +Ja|FS0GDwUcdY;dj2h{pk}jbQdy73Da2U*AzfOkw+z{dKsE<|P +Dd8NsVeKhX-&Ys2B!MsDQ6B9zCJ{X5@($_wz(i`(4>jI}tguVCuS6hs2SB;}gbYh7zu92mojy=WF88b +>U{ScVs?RMNZqu%Cu44(xchg}s1BcdNkefVel9ebMrcD +3X~`Ekbl8UcbBEn +!$UAiWayvH*WMt(aumyQU1v1COb{cpVqeqsa?|0QXt*LzUv^S4!txnwfP!i3Z$FZ^A2M2v`o{ITe=}70h)D3sm)P8-FeYh +t0w`qo`m$e&jf?HX(ua=_B2Ids|+#G-Gffo{-aL`H7RWY4K)qagJ9Qwq)!($L2X(MK@HT9CDUgLD#Kf ++Dd}18;|yfhfY3Uo=tMclvw$ERdJe!Cs|~y=Mdv+5H<)o>|y +w5Y*z!1;%r|7pB-mI`M@C06&4fH0aXPqXz3=1WV)&xu{M`Slpv~%pT!8BBcb0kN583*Wv7I4UQ%uF)G +icm@W!N5^y=-!8}h$Oa=@xJFmIQ7;$J;vv5B$BCZ?(qMPFC&fNX)#3ao;I?X-$P?DTVqX*7#pgGcKUd +5%G6th_Dyd0_w;a=)CS8e1=*rNQgdfb|O84hPQi97FqzgRk9nGfZ9`T?aQU2ic@Avg01ep7upH>4EHd +Ut~{uAnWw2@DEiVE2SYIDX>^QdOB*fks%_Hsta#qhf7A`~nx$-U +7GXIp_7V%P^-OKG}IL2aoYx^7i7VBn_4i4G1Y&|(@6rRcMlw2w2yKkiC=n%E3!%<6t25)S8BD$gl +mNFUUlj_;Z>3mCx{qaHwrfh8dg`+C>gdW>sNV4H}iV3R+*yu!~(NT&#QMHDsoP501iZ3crzO +NfgvJ2LrwgoRa7zr;cS2s_BIF`mzF4^a$msJvj!71BdmaUG%8o2&l75iYl3SdMD%2E`9lnIUjHMh4>yay$y}{6S?nUm+1aJuqXM!~mjuvA`Z5-cOHa7Ths#j4JcGyti}Q#;QQrfQX%dI4PnYFT +}1h4l@?k)^11{2zwY^`}n!9){Ibr%w1ChE>(3cJ$mKgh@>b4Lr+oQ!643! +9{(L?Ft=1r#O7E&b+yF_+Qs-jg{AaYL45MXS%Mp(F5-Sp37_#`89>-ryMso*Z!FHaixF&Vzu3A)Czv2 +UeTSXvV)5M!#uiRJQ5OBFU<0eX{5ntZ_?oC?lxuwcegFI&O1btosv|mlP;rvt5>^ZYvmVfN-OhCMeR~ +hCWow?%K1uScDa;oiK>94?P85WrJg;@K&JlwM;dPss%zPxm0)jnvWYq@jwGRQo#Kgs$GG6I76zQp@Ai +wi~v6v1UuZ&H6grRG!nYoLXqmK8pzR+A$T;fz~*LfE%}kxYYy%MkR%t69I6s*cd|;*dfWKyi;PXY`9- +#vbg+M5L`P*5or;=)*6x4R8x(cS{->?BFe2IvDSS6psiA5;O2R26_0L3h#LTRmq>kK +)l(qE#cEX(;>z0rI=po*GpI;6q^tB@hCrm-9husCVg;#w7BsFUV$U)7@h~<;jqHuRfb2k=fN+H;8N^n +}vMU^ZPq^Qk8V}`#g=64kRU4%WRM8(4*>`=%-WPdj@nYmmRjF1PP2e6Ng89uF-mm`*U1_OTiH4x;qkg +j~>Q_`b(%rp&qxrUu84s4^;7UzkzmDqi+onlnXS!D8KP0#GEe|T^fl!-pxDuqUnG34Z1vVhent+8F%C +kW|8kd+da2p~bG=f$-c>Gk9d?JzeN)`iw=F#P@Flw=3Rbn9{WlcVE5Sh-OM>_h-0dQ@XBwvJ%ct6W +cV$*vj+hb^q7P|^c{6x^^PAyQ9XKi1VIwSuS-qwh;uM$h?_lrn!Ug@UgyF66+9otIt~pRSt8e?cDM&sQ1KUp5!z>7 +!r(Qb)nA&!Ajl_a=eaV(q}L7LceL%+5r*b7QV4j93^6UgUNVnAC<2DC!DH(izu4!*^Uo#EcUOVImiS8 +X;)AzNKi31xO{d=;o!c^Vdz1`c_%wb0k$|Yz5=8{b+pBMBW}nINL@@-FqV4%sKiEK7^B+JVgsW_$~}41hZNHg!odo{mB*iWa=Wgkes!o@eA)88jKpg +-nYGHZFb+@n(_pcsTUyr>5#o3(KVcNWrLXJv!xpITlDqBTr7Bf|ZK&-SZ;@|q0D~2-!q%p~K+4kAzocwG3N@yN +(li+2l~kR!Xt2M9Fe*^D>clG}Ijnd8Yy*dI;=OUJLB&0zdo*leo~{?fzl;zd$is_Xyo2g~%NyOPGaZf +m34L(+rON@0v@rN;EuxKt{2lMA3WEaZKhNHzeJ21)s-%n4F_b9)`}|dM71Ks{4V?^5nVkl@}?G3qk^u +z9gQ@FIy5quk|MlYNr7zPu_3kywy8He)B5?iT_+1U(4Ef=q=;_4OQ<*vZEr4D|mB##iiKw1=eWvxxZjP`lFW-tj+`{b9=f#U`M~=HGHV`8RL-xFSGnA?#@SN*q +Q5be=?uw)yLEx`N*=ClJ;3*DBf;kK@bpcc-s^I{WF|`Z5^5jTig*rzBhEpGxt8O*KOKv9ItwNo1Z5jA +}Om`nan&y!sNnCIR(q5boK^a2#-gd#GeLrn>*p_%a-S?sJG1OggvKHsYzOjjfTpd8<^D +pEFhi{Q%P1zo~R}T_(|y=HB5bf+fu4abkszEN%w(pB>@YlLEBvcAtHXL2P;RqSCzx5vj8r!U#%_Y8!n +;+Z(>;loFpo~I@1b@1}j>~G9@2c@96hH*Kugq!EK8J4(?|;cuX>Dhkcpfj8at5T8)B|fzT& +M$Or_#sl-;Gsv4{%$>R<0V+TtC2&Yw&P|h}9i1wob)N5J5d^_7eIX<8kf#fVv3j>}`c(^80|q3qgOSoXTg_hAcPrnh8uo-u^DkGM-ve-_k +!VNCg^p*SpXI*hmIb{rfWm;hFvs15c1mV}-!s(2wUu~JoFiO>3qNZIs1Aej?f%m0H!7AvZq$Id*uCP{ +h!$c8xA5~)EX;~;Tp`S%?h4^YZ)HTYf(f`)Ww5&EXM|NWq`GIv*C$YyYhu*r|~(32GVX)GS9d~3@5fJ +k#0Ds^8yKDI`*-N}#cX{{35a?phT48YF!s>Juy4douUi3EB(Rbn!*vOrPDLAlEo{m|TvoqNrCgzR6KR +BkiWeA_15pFxZ%-g^;T;a0Lt%0*l}B>Cg;&LRjGau$D#lavm#<5J2=f(<(dhdehFd7H`nA5cpJ1QY-O +00;mBky}~u3Z_ui0RRB%1ONaU0001RX>c!Jc4cm4Z*nhkX=7+Fb98xZWn?aJd975zZlo{_z4H}T_5u> +i2Ov>tG^)C*)po14m!6`O2}~qNqL8V?-*18w2voh5Qyjl%Kie^#Q6tz{3)zDhwK5i7-=6O2`PcpV&+o +^FEbBa?8abP8hDXd_G)FFN08G61Rs_7D8J%_>R_=>8UT4j-OmzEfbq4N3POIdkHr5%UgC+H$sZ9)9_1x0sF5g5Jhq>_!4exVGnCQz74Oqn +$NgXRUyz6QiUda0?N9cU2!rqKr<9zB}*sgEuU9z6_QAFbNz02FUSSoJRp&>=KEGngvjZPvo4G>C4CM2 +b#2KWKmuzqAUNaX~7aI_1RT0|XQR000O81Cd)<#3B!YDj)y=lZpTU8UO$QaA|NaUv_0~WN&gWa%p2|FLQZrb +YXZdaCz-L?Q+~ka{u`h2=pVn76?hsC6%xauF#Tf>rRqYA{{5;F(9}*%Y}sn_5iG?J)a*X50O{OlcYap +2J;0hDa*dA)WI$hA3ZZYJw5$3J+tLz+q8Yubm_L}*GDBkZmXhSHSI<{w?f@@`%c~V;zNJi7Tcp$+iar +ZdJ)MFr(Zrz;JNGDV$p9zziyTcgH2TBwSs$tEz*a6zb)$<^?r5~!F5{i6S{d;E_%Lu(TldYt^_~5EIa +xBb+Hl4^W9c``F7ivO2=I=$lY}$0YzuAbo@6t+q5U +s-XB|aPi?iBQm=yQ6LU+?o8uuh_zo#;CG5=fq}%1Ypui8{M}UkO#^89fwT^hSQB7l%q)7||Pr(L~9>yelPa7O}iY%O5W`@*P>M;1|!?6(r0}O>>$Sm8|B;Y*JUrdZGl5M +pTKk1mz6^EX;pOH>!$yz+11Oyr~;DfbkWp(QP##ly@aQ31bSO6mj<`K;m1VXJSzc<4%n!Z&82zOG+PC +Z_b|w9*UPU9QB}HKd;n&s)wiZ|2ua|jybFE?Ot{M2@DL*FahUY?;M8Dg0eYx7dqWPFaZ=n +{^z7^fBQkeX(+wS{;wSUKtugVXl!e=9jZrAFzUhyMRT>^B1#y~SCKPKv?Q(ztkC;SIzqJ%;5qCn2!{^ +*EU0U@G{XYU1wm?TQm^z!KF`xmdDef#|xd{V+I1zFXL&1@cJSrmU?!U*1W@zJyAU!8vU@;pEP=J~7V0 +3L6ex_MWW@zK$P=zJ}rRZ~^XEsn69Dh2fTy6D6*YU*g+_uKB|(W9HPU+=Dg`kP0J@rIl0s=0o&DWLgw +c!@X_J-q53!9SZ41QhTrG1#Znv{oxVPMk-vQL^*84yBnvMz9VF2%p%*_ +6ljVfp&gSl{Q6Gq_viKH1#1cwQWCgM;H`#f+6ZY5iO)Iu-vv4X}?2B5}Bj>sUab4|%1Ce3}CMr@AA^q +O3Zd2RZeLQ|F96-0A +gMTo{2?6gc+d;2#BUydiDQX(Uzz>ol>n>TD7Cl=!=05M!-&ckkHq=erf;-@VvNjS)na&)_rbr1dDqIZ +ZB{a>dHu0OmLM{I6$6C^upsmZq(?8f`3tWqV)?{{GedJ5yjF#)TOfmJKJ5aZODT|q>8=)$+ztfH9&gy +U=Kr3_&LCZKS?3;?DXyLKdp?>qg^cCeF{+{>$`)*@!4!b@C2%zl0Ops?qVoV|CBV6;CB~FX8re-O;%$ +cBcjGSHzuhZ>fKLZ`FuVlw??4H#Mf9)epxBzSM`a7S%{rJl}tN0n16ZE_V&foZ}PMMczu5Q?`-s;k@# +a=fRUb8Sap074K`L1@t0-MzEdAiF8*}%`ny+OK7V_bKmGRQcduUO%8q<<`s~?@*Iz@OpC26^EpUcKXL +}&V2QVf#Vg}yu{DjbsN3BO`_Zb1*8vpGL^2N6-`ijtKH!9q$?6Eyc?4*3eZXe{9x?YL!HEpZ6r%w +CtWo$6qj&7y*gI*P_Rk$p&XEZc1=)vUekyfU6=nG$?AEU +&_C&X0b{sZL?KfmyjD<}C8KpcVbDt$p6R7;v~827w0~%q*7AhZ)SK>@>k$S_~KjSuTtP4Ujn=X}znen +Nx$uOn51tu#vln>3w|Z!OMXTl#pKnWo%aQK5I0x_(2>!lqkUr=NrU3iXS|tD^7yN75i}o3P-3y-BKlC +<{YUJHM!SCco|=Y3zU6Pl?$&3zaA?z=ykW8{t_xW56FZOHb(BF$f<%>yiYGbPJ3C?$1SC`5SkeG)Id$ +N!(jrU4rYqfhux&!;a+cw?U>paQ#rbzA`sp?(r#0Bpkr?G$*DCh7{kzaR(GFRY`$!ochPPuCuCWZ0m2 +W^`(I0DK48qqR7Ad^lfY#MC +SvbQf)Hi_WYl%tisGI3MRy$kUYs01x%?S|39ny4II+Ze({v^J{5s@bVmKfExzzG2XUK2Bl_GcQZBgHd +*{~)z2r>G53dTABAU~~D5u9R$^qQjP`UkP-Qv$vM8Q1n#5eT~IO4Q3M3dVna3JnfE44C6 +IrL~nv0^pe9OH>e1P3|| +TZmA*i?y!W;vIWw1H269r+qunifmv%_omezNaf2k=gP+KfT%9x(EH{HMy_yIcy&O!7P@691fH5jjd&S +>Q``ZGHdybh`q6Y!kS3nhA4u4!)`Et^I6h}T3P4O5Y|+Kk+xMy}lw4rq}`pQU(bn65k#4>ZH8H;*2`t +iZuKE{?0R>yMk&aq+$=D-13jGt4}Vp0Q6s?wno`8v48xOI+5PT{lf-;rP79dXNa^me#NvaJWG6mPHla +>Zqt)|5pVVSq43UH*@CAZoCB^PuYUO&fR3)#C17=&uHcv6`v_C=87m3FkbN!2VtJXGc6Q=6HsuHY>@Y +tR&y^_GR)Aen_abxt_83yO<(L0D_B5?CL;8eQPGT?TH^0CdS6sKDu@j!4b8Q|B*kSk!84cfglXJtaq+ +sA?t9q^io6c>YECC|!AP8m9y@jkxSxVp=v~5(Ob?tz`E9xE*C)~U_y@}^&RaLr5A?VefgrYwTE(1k|Ga$oiR4@=zqXM%<1csD%xE<3%W5U^*Krcw||D-epA=R^7BF0jhWsgRMXD-;#P!b4fvA0v!pd0dtglURb`1T{rst5P +*mq(Uh;XLz!oB`(EAh7}OEG8+;{cb!ByR{)A;KoZnGV=#jjIU(_$MNg7|HW;S+1*--9h+;H}tj9~lm^ +8+i1U9NuqS!BEN?WUb4^l}<)rH?Az62a2fGg;Xws5$-wk#<%R;d&eCw}4(z&>WUF|VBTNk+YQTxPb;G +G;CNn>1oF$r1KP%L>UXwr~Ri+N8(~&Ir`Tsy8z@#0GLTZszG=&=H_`-LSwg=8^>bU;}BTnCX$X0S2{~ +4Gds|1VX~oao<36!w%!wL0~WZOOZIYQ3}b)<#t_}LlRppW;O%bpi1RsiUHj~xRQhPG-wtlyg&G?K-nb +^FR(f$WnKh5LYyTRmlH}1ov9pCL)=dXhFEC;nn$c0! +VBuiM9WQaJxjq=rSRjHkwy@iXpE%cT>{%}s~tVtdbuMU@AQ+0AGbt~g2+aurM#R>hvHXE58jJri2`-p +K8LjwBl!*01S>r|5C9OU9*cOK>94>)Q3r@ly2AF|mwvV)i3K6jNa_{U%@;{q^|gVpA--*v9dbdgz!u; +1K>7bkglv{0SX(jkxQqvn=_=-1AT6O5^qGyVJz+KhLGc>%MNa>X%*1U%l3@#c>SWTwr=Syxn_=7 +zF=v7iQMM|N--F;DfY}; +np~aILTSBPzgxbsSAEPemghGLtH(?UL?!=eq8H?_K7|r-kGAaTy^C1960w)`8lM!K;4Y$dZ2+5r1WJE +?}!)+3r(3!eP!jm=Acgf^D^lbNJeEwwCQxcjLnfyC^oKJ;&3@C3Xpx!49T(DVCstdbUVN9>e#|by?Hq2ZaL_QOh!FTNI*#w +hQi`Ac-~@l%ne`bkpc7^qxKxm=c!Y+*1`HB3D-V(YpOGbtdug`P2zE(JvR;kxzS#j19Ra?pL9qa(!De{?%l+p( +t?<{bQ9nXKEyp7`CtsC2J`SHMU{VP*oq31h|E-cTto<-0}pO6p)kqSkn$DNZOdRvp=*egby$BYi@_?; +6AO$bC|_xJWs3U7DTRJpG6;ckLOI+_(|vzpow~$k_;E_yo?+!uwXA9+qnqg?6*L9isrl4$N*==#W^jZ +6ZgsW?PR`L368aa?m3Exv5Z~Kd1?%0$05RYZ!0)&gBgo+2 +Suao6RElp{!nw;;ggrP{DeU`9rUu5#sWh^oWW^fGKmgtqZaJ@_aHx)_8x>gkvT@S6ubV=C}k(8dVr!v +F1dD|?z1%cNtX49;^&sG1(NB7fx*U?#48ARSaY5dg?CI>vO6;w1JhO{MUeb7wL?ObI*Ov$?1O3YnrT= +vtPz$5gSymW)X}2DWch(N_Mg~0{Jo_oZTs;eld34~p`YEhXwgG8LP(rVUWt`qEE>^=p6xB{vE7WsCX; +_%Mu!%&q45zPeL_am4ZGhDlrdoL%K +|!tww2A4L6^0CeWopugxJwsa_$DKEfWkWo-(%F+S`7AzkXFa{kot_DMNMQM;DwgagDcQNyW6lbch +hms0D`Rxv32AA`006x)kY;Upg0WFrt-lyd=R*sQ-I)ze{3_yT3UEF-ON+yC%(N+jWJ5=n561QE~Ak25 +9y>2itT-UZmA%|?bLftB97%!gf;-L@+BxYq;*xc~c3u0MQSGCbtdU8ww^+ +d{Nb0dj7TIw-FO!_)9p+XZ%hS&MES~Lx06nJa?x}ZS-UZGP-^t9RR>cUt=Pb{o2uiONd1VfL1 +(rhms*LLJJ|y-tB58;M+pJvW&~Xin&m +*dU`6ZryKb+2wphS`M@TB7{RM)LrHB7;Yzwp$P7mcVng$rcBRCRv4&yF=fo#1}WZO_!hc@lcjHeHvmiY2(i*m}r&wFZE)BQZ`?iGHS$pN|E%MTZ%hLNZ|W3goZ@mC85228Y=L`!SfH`(b8!gfZOIUu6~Y +BZu`3zDfYQE(cX8@dzkl&|o9Z(4^WB5}}PPIpuov-tCW{3qOqtS6Ie!kV<#8_I!!%i3olw_|}g_kmRl +L!SACxwqySA0sMe9w;1C31cyGyoRipzd91=6P}Xj4%B#@{>#rMi0=S6MDZrVLzg-4M%>AID2DF|4zCX +uZplbn=H4PadN!BmuX=lo21yf3Q4_1cb~n6}N5RH}NohPFnH)VuW}rW{?5khNx1c)Uuu8Kpk*k*fLl2$3qOIhf6N+umgPl5?Z-c3SVNLtG5JS1-G~sq?x@)GCia=Vo +af)y1#rCp^62ATpw$bxWrDzuPX0 +Ud-J5^h1&0a6Fp@yxuTtW5us0a0`ApfF~HI0%vW;d&$)LKBoo*Y<9wOP=kk^4ZKhrhVzE-QmcvG2#il +k)H(*K&`vTb7habzM%w@mn32Yg*|_(Pz6%`1dU?)yyMfmIPdaTces=Jg~cdmkknf#E1+FR};lAB4xF9fpsTIPPcz*1A2F1RC +S{0d+9G>e4GIK|0a$V>HPjsnof98KmDO8)d2Y)?qR4-U!D6)Df~C^`8}j*cxED1(HOkYe!FDIZZ{j)xB~_JA(^sEJJ0 +`rrTlpUB7|8x3X$jco(^QigU +|iseTrO@CjSx@?|Oob<7p^6p9!z{ +!eMl)DR5DG6fsnTMJgTMht&_g%o*%F~kJMxoI&e&_uY`WBaMp|9>9dUJqGZik6f-`449E6ui^&B}l2c +%5F6>KVo|2_+g?1%U<@#N7RjXFBrF|n|sAejDDt(nCpBe^cP{D{Eg`6<+0xg?Fp+{hfUx|ydf^3-g^* +Z+LZ9UQH=TscZbS3I38!^Wwmx~U%$Yt?~&tmiJ-dv;~qk+D$pM4s2^gdJ%uj&S_%+sq-f57#n{DAyh2 +_CwBsS!e=Q=R_Vx3OU_naf`1HIxzReX$T{RQ+?#dCrWUqb)N%?H?)agRl?aHl$BZ7$?<~-+jVMBC~t* +QM?6@YeR(}WXEp270(v7CW_tS+Ha?>coY-3p#wrW-PKLn9ciL89_nDR*jgPcdd^PnTdMPk-s8}weW{1 +YzHOjz(b{7?WB#Om4>cG%ei8H8`?LItCoEl%JU#60NXhlYps9ko^W(Rex=vU}4y{VQk8_^fW>VAh%MH +j{Y6{DXT|KUGlyS>kRMN8XN*+QdS7C%uCIhdf3bz70*t|>~jWvid#eyggu=`#5G>bsZcFJ8WQ{oJ0p& +WY~mNm6(bTO2-J+UBLrx#aoZA?UE5oo&e<`ktZi(0b7}O<|{mR&=UuT)KA)VOf!mI|1xd6iK%`B +kGgIpu*)M}?w)e!_1De0GUSUFGERo=M@E7KA31_){^Jq`=gfPUI?b+A0cv%K2#B0po~OJgZ}5t0{24} +=RrnjIebhDhZ&BSA`;H>Q5xTrkp0@x|d?JyjVo(7L9t&)#X!p>!ev!_n1dh2$>74T5EVRrG6uMk^Z;? +wC-Y5&tqNt5CZ*SLvHgEK1V`Cljtv%jPu-5p=^RIQp-Z|O99FZYfB#-5D(vCHtx0b+%L#)gi$fKqA4@ +szv7q;hw`cYze*rBu3FxN(}JT8iwv0(y4xR*9-ZHe0Bolc#2PjVzCgRfRrx!pPR8ECY)xcmyf8jw +~~%IRfZ#%W`wZmU4C?DZE`6Bs56wGsU`nwh1*5HS2EV^c8NMOOyoRghW)ps+LRJ(ebo5jmiJFE%g4$oe1=1PtbT~PyH6KNy9>NLaLmgCUMH-@gZp +;F*$~hDP}?x91veT-sMHS+k!dy%@cG47gG@1lJGIqVY_bNe)jwvY#tL +b>4($PHK(_rbl##OUK=T7irciOTTA&FddDNt7_Nez5ZH67%@lCe;wc9T8#f7K%G^=C`0tS`31?XIkEe +G#{L4j@$7Lwl8PBKE}wK)_g*U@##*uY{+6lNGuE +6+xn)>=YG_lLrpoWlC0{(m2j7vhM}z0sh=r-dw>|zCC5#B2`Dva_&vr?sezeJp17ssdb21(S&rKY=$& +kjIv12T`YvHpj`S4GI2%G@wopecn_c`v83f$q$OG#?y;7j5!=k(7X3Dkc3le=Zg4y8Mzkp@ne$4d|Q- +^S&a8W*+PPUq{+)VW()U2=2!aenlFP)h>@6aWAK2mk|-TUp`Mknv(40001+000>P003}la4%nWWo~3| +axZdeV`wjQVPb4$E^vA6J!_NO#*yFkD{yqK3`!7dSB{f-FGxj^l-Rl0PDwhaQhQriED7$y0tp5Hwc1N +1zy10#kDdoW?%Gb}gHWXviRtO?>6z*2?&%q>yLOYT%As5~W#3nQQg3!`H`rHMvaYLUl_g!ZYszKyXpJ +?7yIsA#*1+kb1fI8l{qw8h#h0&M{P$Pi{2`-PFYD#NpS~KZuDoh0{`RN3SMR?mH`VIxey2;m-3@iSEg +Sy!ruy5y+AdX@0Q;XUKxL2SkC>f>=H#mVkR?^uwOy}Dil%LMx)?tf>$>ZQ0@^lY`~p8}=v}>hr=jt4a +n-hsF6>HRPM6Y`Vg)Vf>Z|=wW$H~=t@c_>i?XS&x4Oo6RX5bjvU!d#zpjRxcBR0+-|y}~KpOCm{PpYl +L%mfHo2u;hU8Nzu=C7M-t2y75tCi@IKl9g2e|T8~Y!5=ya@lq5&@S6XSEzg7e7oXaQZRjWjTAJ<8~&; +bhr7n`^9H|U{NLNVoklQJA587H@HwNu1n{U{yCdd|I+p7#fzQ@r=kbNl3ogj~7d&iw`~HvneyG=XEM@ +!p+xJzsZrWS_{cF>7WX^y8y6X3h8n7_r9{twLjz{ztxM=p9Ew^Aco4u^o^%mw*nJlRwxvhtrdJEtG`4 +(v`9ueg8?z%rSq=tHc7N<0_&tXuptS+*oRa0Vqmb|^G6kNMb2K<8P67INam6QX&ZFh?Vm?(kk9=;{tv +|AvmDJ@IFcnmE4m(;|#3f%eK|vQ=~!lBq{t^{0?=HAouOobQg~6q1-}s5CFpN?vi~ +E5(R9luDm6nYIO}`C+({$IqRzR*=4!gf#mBCpo>0S&ZGPx@dn47%OR5Z^40V2{#wA_mzLMQTvr7#Y@~ +#G&K1+kx~J|(IMG?d4UDo?yZsdY);+8VcS(yQe7kCI`=qI^%jI1HkRY#M?0MnO2lUTt|6F +eJi2Z))(eYxmm~GvQMDecAMG%L?q-aRM48U?;!`PFGmfhg}J@BM7;`DhQ|w6Ng@u@5{QOm;DZw^90oJ + +6N|gtwVr-3c#Y>!oB@KDivnYsmKlJs=Rk{bcrRg|Ef(x&z;kK%_Nd>FY-9f$^kW_qxezV_PLBoN)tES +w(^RRa~FVkIDEt~xc-d|o?{w^=Q`EepzK?}TGBxrf}lmypRz&IaABsANC!kSs^z*Rw&fHyP;&)K8{M4 +d}PYba<{KVTc7CX)l50Hb%)b~s$iEvTVN@lp55b^RXN4$ROWRe^_b*}yQ_!tk9^=R7Wpql7@O^yuJvTyaWBWQ#liGu1o7M0o&eRr4^{-?N1X3oW7*=#=T0Y{*9BF&*+d +TY@R<$XWAzAH-2^L)160t~I!}MJE53rVJMhG%EsPZA25>MR)hS@8vK`99@+_ITR`4vz0Y-zmWoN= +-HnU!Xv#sc$di<7W@a?PCo->QWPr}r`=*&$S-)4lE$|R=bBPnM(4vg!s@R9*E~ +_C7EMOI&yQx>Jrc#92xD%vX<~Y7#9Z}8OucZ;UP?vAC6~&VW*g&SjxQ^cum0>Km-m|a*OM}7Bd=6 +#t{eZrn+YZ3K>5rc&$w>W81d4?aJL*f{GY8B8941!gt`EbYRfI_(iy#vgqTp%$309B_X@KwA2c4tEvx +Y;4Th8>qOJ}3g22G3wUxG&M3fk?(0|-AO-VulZ!R@bZvK+qiHo~3{V7EcX!}_HtTuv^f$?jqZ>0Dsvs +3T?7J;RIKYRc(O>I02(e@AJO)(JL&BOVHuLifMfA73uHAtexU(!EfaO7l55qP&T>YUMK!-HSCv-%eLC ++2F3XNdw6QSHSf;*HAN1%}Kg1H>yaNSfNYGA`MNxd)Gd2v%=G*Jmh4Jr7ftHuOHlvSXyC!T4{M}khTL +FL&20aFX3BowB(E<1Kk$*1tw8#8ar664P-HmGnq>~^4);e&$*dZ6g5C1QzB0~ns5(7`=KP#hczI)iyx +FO@S141@bwlCuK7%C;&&Z(x5JTB@DJ3+RT_28!pV)z1@j#~XH)6AG}g4LrKUj<*m|nEtSl(9lxRD3B` +wXzJRPFc$BXl{F+Udl*`E+D)OtRK|j3%XNsLqjohPal#z5Ow=`7yHjF|zqFviUKx`7yHjF|zqFviUKx`7yGY{M3<6cD +b}a%ogg!BQ;6&Yw)8ktnXWZ%UuseVRH`1Wep7Ivm`X2Gq)pztEJN(w5OH%vONlRA}W)GhT-|}nd;*|sr(~mcitAElftg{-ab?OplVPl~Sg=Rxi*iLBW=jpEq1bfptH`gPg+}>O_%q?cSIA?X^7FjPew~EFEK?{>~i2K?&X1U +QLE`ae%KXlyl8AsQZp`Nh2-~l@P!%qawu +E!7DuU7B`gD1qK0TsjK;*1m+#<&e%w4Mx_gQ8xxMR@eu6-8)cTBU~(FBoUYT(4T=#Vvl&i5F`iK*%U# +K}z5_CP$L8j~fr^FNrmMvd$IR##o2JCF)50>q1va*c(9CWQ(o=Z@Z3aG}uNo%Ta(6V|gT2Olt|>Rt!! +QU)P&X70k72EaH|#1(YT|IHon3RGQ)K)DdStwE!Fn@axYK@F$1siwp+d5S`AY+x1bx9hH6S=(*d^!GL +0CXJVqBkUH}Cpcs-~D{)@U(ya;#8~mRx_xBAuP{f3|3JiPTvnD_lf<4v(*sRq9CR5xrg|>T7%o~hDXp)Nv@e(U;`}kqTV?hEdS{=U6sv+ZD!tTy9_17l`j^qty-@Iw3tsvvuJA1gNaLoL`Vx4=0Y7I3PM}aF5 +HT0Vo^`^DgL^K$*CWm&h!<#9|?Sot(Ipl`I687*L3Qa&Nk7%3v{ +l;CVRHletFO{Ln@ZOS!kCL?!@M6DPVKr7)meNznoof}_Z}yYvT-Ph`UfZT`tW?mfJ$DFrwbCPbo@XlF +>at70V3qo^b(|FgW+NABH`<8XlQjrmaK6x6-AF>bM>?{B^W;eq>({yL;rozPscsJ>iw_Ll)SUr1`a=& +YHtgrIUIeD)NO$Czx$PUPFPjJ!{brZCA)i3ahzeuNk210B;zJoc=afF-{0Z~8XdPDd$E_0`^-%N`xMz +h(F0u&+Z`9*@GsVw+qgR4|tD}We?P_Q9Z8A&SkJlaqdwjp>uxoQ46BBl8+ynGrGP4CeGU?b>I5JiEr` +mBjkXb82{o~oM7ATsDIvQQZq%kmX&5=~FbnSljRE$8UIe158owOrNZUtr7jhzW_y;^*nUBQ`KuCpN?M +p1`7?nCkZTjFl}C=5al7QR>6wNo3lwwVth$~7NE^a0d#Dl`T}9z@e@8@q?HCB^4D1JWiwc{|56^9i4_{V&jhTy +H-o2ZLXuD0viCUZ5exUb`N<92=jv$N}|5J2-lv4+;-$1$7ft-J@a<)~uH#yR-`r97*0dtV}h(8A@fI4 +x)?}*DFF)3t0Y4%t?ST*oT0gmTUcBM*YbWR)Cd~-MIX1*9d;e}^(;KSkhJcvGI5v8eu|5-$}YO#RY|TtWYKw^>knBtHFLJL<8voBpR)KM&&{VS9E~~s&0=FDSO3d+p +%F;9F_dZ#%`rT?_I5Pg#jdb2?I1XY@gP%g^dP}uD+Z%M7@@McAvz$7J2=vWUJQZJV`;vfMM*uYSs +khrun+NhftgVQ8<%=k}$?+hTYM%mFB)8?!A3n8RJ4V>{Fd5zvlN!GkdM^po0hxO$ +i?=9Kw&!QBoJl<0O^DlBaQ=yh&iAIyn4kNs)bn)2!O=H}Gw!LS*44HE$W`6YaM0voyNsL_C +N4!uH31Ah-dN*PCFyK74^d8OT?rT8AUEtQ3@Uc)3qy*rkBsLi&%mz70qy+@vCAQU1VTAM4mYhsB{8lR +!dNLj>)C#*H#nJG^7jGemE?3$6x(uB6~#aP%WO=e`lY?ji0TH3DRXT#3y6BlCvAbKUVIJ9q%blvsZVq +9dG0N*>a`7mjjUei^=ROsHMT%$iMHbUkLM;nTL4u6Nk>_I#|y;w;7&v^>LCV`6e{%D&7GkJrS2&w +_g81r{>-W<;PFs8b4ES>%D)*HMWMH3P2f5FCsHC&F|IpAFY19H?Z!4KRau%9Tj<7`|oIX^Bf0+ZNPg` +z9u$Q-zAvehbRWH#X`cXOdIErnj2Gp5X_vzja7 +X-sFT5A-lT7E5T1uw;3kmu_aHdmK|gi7?aI$nBJxJN&rq$bu%80TUH +Jj@dR9S<@P#ai^n!!VfTM +Xt*t*{>HN)4)TaH@?T1Ru;N4bFjy8(GR*!gB2s*k#55Hc#}^krz4wFOFKmxIB2uTPKx+%C=Jtt{*}C` +i(TE&i&q*8Ax2hZ3^Tfz@l`5b#XU*o<63bE|8~@2jf*Z0hYvHL{6f0X#R^EjeFDA&_@{nDj<5}#MO{M +uM(kdOhM=%i<;!vojRiO%Zj_ARQ5ba1@)$PD>aY(3761*uI7U{n223+*G6X=~N=ilJipx;b7QAwMrW(p`mhEAYtE+Eo}H4wYa$+&Q +vZDKG^Z9VG)%&rc5v5V>Yrlo=h%|a(bjvO1~DG%jAOc@-|1bk*qPhvnCu-s_Y{6@^D5yKX*_S(sT)@; +rNi!YqP_ik20R^J5` +J9jd!`0xyhs()tf*NisoI7m$|)ios|M+CqQ8NRPs2dM`4El1J$rktT{u;=y^G&5)?w@DP9)DW99b7)I +*nYSmcnxJY>6GRpKUX@#Qvr4UQg(AC5&)rRVm-IJXy?r;j`-^G9{!TAN1F7jld+0cVm0a?iVrQ}?!%Eof?CY)|09r9%xH2RjPDH +e;?DK5mx(fR=}bxC+P$hbf`7i6N9p+%~=Hs`6cQfU21a62Y~?wM_!#bI(?Jkj10zd`sOf6rrtiaH{L) +o>M-ubkItHei+|xctlJ@3CJFq(697x}rUi@Z6%2}a%rRe0KIi7|meDpT6fA1|mk(0;K6UnB +6IG*hs*OmYhkzXGMqM(Jt(j?Lv82%*}Z_BJO8--S9pxr(W7e8fVDjT19SuSs?Gx|}RbIxPtJ#@8lkES +-Gm-hF6xZ!T$i>KU-4%1Q@A+c+|ADcH#-GnUS87Y@(JT;P9I+lXBe~Er5VTkPBspv8lyUx?d{bYPF-) +3h^BL3OgF?A$+IIeaSC0uDv6y2xHO*Gt&NR4>odW@Q2Q9|z +IU!DP)Z9hjAI%EFobvh^rw!gE4Bq*(Fg;F(@fc{td~xbcxLm54X)56}7l}|1l%f%Gs=y_aRza&|UK^r +WaL2^?uoNZcy4@1ypr +GUeS)r(`zW7lkBU-5|fVEj>H(sAJKzD;YcVRB*gRX?XQbtz=Pq&TN5BF8wADuB@}D(#^I%< +{r;*S>S6EaD&k`l1>QcGo1gYgoy!T$m@#jrwyebcEzWxy<6f?#*8u#FdUw~9Ftfprw;K~meu4O93if7PLlYG!D6Hu=LLKY~IllnH;@pG#uX+_?x!PhRKck%2VFu2joU> +V!Y^!ZLT)qaggD*Pr=38iB*(emMtLIDI3c`(bCBT2mWYAD=SwDh8Tb1AL_f>*sb +Sbj#5#)HHS7Y=PO&dvu$Pn{yUT-!ftXkGX*Q^luX(Of|p4}J`;Va;J^1sp#UtsimpV=7 +#yA8inL2Q27yTn?V&Hx-LB3Hsxqyj%pf5iu)CFv-mzI;IuQtkTXNzsP92k=heEJm{Q1WuQmCMsYFglb +CZi*iNd>txCty@cs)v#22M4r@NWyVT%u3yc1Ti8BHT+7SvH5FG$2$$bcOm3z~UBV!>SL>8_&=VupD ++uY#qagN@UyAjPeHOM8QxEdfzH222??)sU~zW7*OQXH*J@EI{FC#VVia)f#kOP5}oj$6U_3ZRh$Ti+B +2y)RV|Gn?Y0)H7$t`%Bxoc$0U?wn(^}}9;-Vj;U?`w9YrI~zwVz%Yk(ny +~ffpDB~ei5pZPw>J7aoLQU5OQY{LIFLBc>l7G&nY*AVivSJZOUHT +Q3T|j*}Zh4$RoztxHIpB2-w;Rm(!JLNvr=#gGj!3Tf#a7!^kgrgMHDAuNy1wzyO9uwGo7YhZ-bM>d09 +*6u6ni3Z7tU(^LX=;+7iZd5BG#(QhUqr(LFxYrD5Zx!#S5hbGnNJU@}yHrI0;iJ4_A-b@{#h?dw+*VM +2bSeXz_)_gZb9SJO9)QpIEUw>NOv;_am)0X|H$Do4mr +LQ{FDuYFArMx$2s;!yMd7dcSPxph2)fZd_+{vC;kYjsw+>((l3e)?jjVkGc*=@`+B0X`Z)-$MmOT&Pl?cnN4DCc80w8hP +hYs0Z5sTZ@+G}W{m$mzjvQWYLf6?iVx*(~`RvV5cFAALu1~&h-`7>|d8_K2dp>)Ozf@j*C^x%CU6UGz +)FEN4?yeg|Xw+x5C$Vm-g18qsxERohv#wa(3Q)YO;NGI@5A!N1clJb~J-;a{?TjrRq$>*US5yW6sP=lr +-D!T;=w&!1(drzhDjzBqB@9%p3sb$ORO`5(03bI4u&CqstSoE{czW6LV{roih?B~CXN+ +{m4Q^x+w(Uv8zc8lb@)6-LK;-Ap+|6{ePgQfxH&z@zUfA&T8t6%woQgVmo^{N4@*ejK{61l%cbdPrYg +4*#5pRL#J^}fR2{f>$)+Jv76P4I4h;Srzm4KH~6$=DTb91+}gHK@^fw5;31q>>P|o9!8p|WEfG!TB +PlAN}RWDE7Nhof|?3L0Pe2@6tr=UoyUt~9PN?lPC%p&uvC(bn2wA63LVA(XK0IyEu`TQh6%8}*IPiCQ +b?#a9+;%q{A?V_u3yh8EgXL)iyTh$w!lk|I-7XiB#I6wasKtIirPZ9Lfi+}S5FsR+)J`I|t%JNg;2*+ +CaZ{J8~v)>uXz7WFUXzQ{%`%y*l|4>T<1QY-O00;mBky}|hBh$bB0{{Rj4FCWl0001RX>c!Jc4cm4Z* +nhkX=7+FbY*gFX>MU`Uvy|?ZDlTSd9_wiZ`(Eye%G%c@?>wGA(9d$8E65c@fxFXT(sI&zz764p%Y=YW +JnCw{`=jLk}ZmIwm#H|nCN)-@xJ@+=nS>3x6xwdVDmmo|hS4gd}ea^d>LhymqX1VQ>9ah@nMdGrb#*l +-It8N8N?vODNd9@21(DzIAf)k77Ig{m@LS13O+6htubyfHf}gM3hrgey@}+nrqoE|mGXlqU-Snx`6Tq +&lBix%zGZ>oellDt~%buOUuI*@)Z2ZbA(rcv +a-CEaV9pKdK~^Jj$(d5}A@~x!b<%RgF#erc-_4J%Pnbu^Kg6 +{7OcRgaB!5<1x(B_2T#WAGc|iERbj^msxqudG&+I$pzNiCG06kahyY+|p@`8 +R8N$aN-kI@J~n#Gln3E0q&b$k%$WD_eX8Uiw7u*Gffki&@~1v|C<;Z*8Vm)#(I3{o&ZfrZ=0CIXd2tk +}X&ARqyxNL&>82Z^AGQDBoqKY<7fu+VzpNmtbC1M#Em6paK)&x5^7Ou1*YzW9%*jy6GR +{+I`S!Rw{AUg15SO5deEXkj57v$W`R^!-n-@dn>1Vhb-Vn0^CS1J2#iuOcg4kCgcP`)0Y$k +XJz;4ZV6Fm}klF57_6QkT(y~TcMlGqFbd0d5D{}U2`Ix?i621J_#?aiN@YL6fl^oXCkM)J%a!It3)`s +pyf!AN}OTrIZ8SSdzjf|sC1G`Z}?TUFvQCD5>^Plgt#g~ukPwA^)tpQ+~=QO`KTg*q2N$g4-L4pymit +S6p56}cd=DX<$aF2TKT4P9CSoHNM@VLvSgM+g}dlvzoONFn|oExIYqJh#V`d;Cel|~0l#BODT<9Jh1m +knpw<@V?`X2!W~hYh@=q3gPKeV=ppABtv#dAGf^$o~RRO9KQH0000800WU*Sv6w)Qe-Fq0MNJq02lxO +0B~t=FJE?LZe(wAFLG&PXfJeScyumsdF_4elG{d-;D0>@%-Ic-62+1H%h6#fMrX^jnzf`2t7j%Q+B^z +PqPt;%1Py@Q>ecDu;-2B2;T~+C@-R{cmrFlBOm%;D!-~a8|^6 +P(j_VvF$fBEMr-Fmvc +AlH49@lJH)%DJd3;$kLdE1$XyK?o`A_M+jo&$Q!!<#0zZ?4Pha$PK|aw}MxKy(ngT|>* +_Bl>Zbm<}5B_NcWO!P<>ktF*oM`h5R&bh)@b+kNZ!{V`&2|+mKdmgV5b#)@oveUL+mkog>P=Q|+b-X( +iW#)NckjTwcK%L@xNHWfC*^!dY5mukS+sayht42M;3imZc +iaPQa_M$>dB@USzlB22ywch|)`YKzZ`?K*ANFQGf#^gNVTO>gwzZW}!U0EU$~LKzB&OA8;ez& +c0HkbAW?+OtY6YNWS>(Cv!W`LoeIM)YTNJV9E=hF%Z`Prt%nW(h5oIO}QP@8{F|kUY&R^ePLfh2s3K$ +x|u{PgsrChrdyZ|2%?^K;RW!}{{mVI<>#>0xZdZtA?n@SpEj4Rk0?Rp82dQMUhX&NAfxMxY;~14`KrT +R0hTmhukjzRBL((*nos~4g$EA!Bzu}|iyM2*%#*Kw1VIR_w5!_^32dgPb^KxpF5OyX4`fdCmb#Kfu!w +HT%PZIon|gOVy1$0jmhZE?qrX2A*H5$SyxJGpdC}bz#rAH<)rcJf3fuC$y3N`RNaCWIuvq#ygnG<1#8 +>@G!0e({VG?5>hyfl5=1E%_MEo;q?obaz?ohvVREvNH*MJoxvjppP$-*t;P1KP(_EujAB9B{(ex#Q&G +XK4UOVNW|CTjv1iI$>ji~bcedoZ%%SZiQz7sf}-p{u$AW#Et8gW$l&CvMBxnD)zBHVHuLH>}QN`z^h> +=H1)eCUG(v%@jf6%*WB*>%shQd0R-!3mDWe#2;D1ibp1@SGFN#3bd=LxaeSq8?8W%EE@dlVqaDGFA0Z +{-v@3Zu9sRgv$z|hv$=jy$Pjc?-QZtXx^mZ+?O+GnnvVcu+}?c*mn~^tgnw*|YzPZ+M_H^bp|t2l#Cj(!2be4i)iELY&oRJA|2^(=gw>!J)i)gOK*HvTxpqx;-;s-noM*L>ZN#|P!Rj{;Go(4X~=6QN=x()IQTB2cp5Q| +ekVBQ#4icT)H}!(aXV7@Wnw^|(}+G51R&HH03lg5ax~_*rHu+Noj7cBKst1>CPG1B9v_y+_-NuS%gi) +C^8qaUR(6NLfBi>CErK-i-#l_HOf&ywBcSGHb^OODJxGJ_Z(Bhzw`&rhLzci{9%oG)52E8NK#TAIDG$ +&NuEstZCz>tbu|7D#JLz+iK)v&!3vZ4!1h03XhePK=dY2C5cRx{nMRfGufq;XfTry7K`iXat1YJkKf& +c}5syRUu8S7wVA#lBb3RAYm5-_I5Q`tVSG)QUqZ4P>=p5#ulFj3`T`UQZK@Kv5807L&(k(HcX5gUYz +S)9e+s{L=4^QAvap3DPcZIA$pmp?a)z0P|$Yu4*y%=)5&x|7v-vizpC2=m +~Vk1w)G8Q7PM59QcdyGzHF4tv4hM@(4f)C`mAZ{W;`N{wS0y{e0(;4oaIeHP}=#7L7O>he+&0q_K=i7Wx!?|$$Y +Vcl7>X>ROyTppT+Nw$vim|(l^cd7B**TB<5TtfO_DNz&dUA9|eRMnpfTeNez6Fod2u^IeHzH>zJp#9U@>?TU +miOwm1Dj_=a-u?8ZI=eCnE7#MiwGy1$;0fA?g=?IEX4W}jo0C5UqO=3Gt0cX6L?#|QXO5`Bpn*;i$S- +Vb)O7WW*&BrpKY>kfc#}OPR(~4MFR3dcaCp&+_3;}lzj03qCWc^4D|}7H7m?&srhqy9cj}YP+`F2jp& +F}8!nESIvkRB7qxdaji-|o1t7eDfENn~VFDYez117&Oj}ovslPDj&jZZt4m``86el8jwNvL7}(;@lm1 +JZB)GSc@qCcu7ar-=~UCv==>O8r%wC$TI=iD5&@;O}n=BtIoiQTZ#Hq?N>HIYm)(`FENmg1Px)np(cO +{5uWtKF8BW5_NO)$24Y|IZJ%|z)AEq&lF~+<~`ODU(A?{0oH=i9zgU$f53@Apv?GRHt|PFvKTV^g*SU +kkC)scu5FCfKh{apD@%bkyJo-Yj5zgo{2YCB4}lr0(m3hXGZKsxaV7ULu88a^`E7PnZ$IzQwgR;8HcF +uKUC!|V%y?G?96iyvE3+?)^{=iMPh@o{tN^BRi+`9Q{^rHW1fM>d2_i(6K|WfSH=)5=SzV% +U +6MZA*jhZQ|V+W&ZU)a@VE{7j4)7@wD?&LQdabU^Zs!`n07Fhc9E^2zPUus5{w)#MWqL>N!6XNO!zj6spY;miy)oRaet1#>$lCdmMr45OtlJPCgwp +(WzQxUEbGO$^euO9kub=IBpxaG&@AKM{$_c$;#=zL{~aGm#%#0&{^z5uN3*+!sYd>VT-BCGLB;&6^-Y +c10!po7#ELBN4BaPatkI(<};o>L-%8TQ9(bpTo+zsEhL|-@aW^EDra^^kU-x`!pvO+d_$nGaNufH68h +!_KNZOz9VllMQhu%BKH4zBgU~TaV$yG0u3*DoVPB*w5ZoXaXs?hi+)QBeI4T#OMVmL)+7GCP`A_`V0_ +>P18$k@0v%irY>5;|XJao*>o^2Eq48VAvYo&11xvD2R89YSm_wk)XNON=x`oMCLnm}_5bBRcO|$+}(! +$IUS=kfhOo2u`^b!+Uh^66U&J)&lVR@Zml<*FPRI@MIsD+_D1XUH$VqepRNqyNCmw8uS7o31cIlHZkN +}2c?>!XCm?cvMQy`NFW#!=n)+N-2`#HXZwyJ_0p?r&_!!QpnsnE5Jul-R!L(cA!ekO<_GXfK$GPZkp$(#{D5gxzVmvVk=wy>bmRC)YuW!+)+QI?-ch3Kv^ZzSzK2RVi?ikW_N9I?@PoMF{k{H +@N0w(Wg?t{E-wcww>HK)uoFd1)sZ^Yq +aDj`l-!{{W!yOcK`lWzFk*E)AnajSQ06&G5*)Qkd4uig+^#>zlVb*oL4E-UrqYiyBq_DefoIv^PfP&uok;fu+glIQ +uEyuT7Prvn8qMl01v10tc2T}FRTxHp8X=XKJU{c^asH>*cr+?okwffjV)Jvh$!~GDU0q>ql%7x|n#4S +N|G`+ojD+T>O1$H>o$YrZ8;bG!i_xFnzb$S*j7}s89611POyv@Ur=1AKwzlKRhaQ4X(thl#@{Tl3fmH +^U?fwD~X-p4vF<_bco?b%bg<6u)vCDw3+ip1IMcRvV^)+8nbT$I)-)8OU6iee>#s(;!MT&Q@jD(Q7v0VJeRKdJDqP +2tV{9MS*m>Oh}->$bF@8*-{U-on3Nt7>IYo-itO7`(&&_(8JWVC{qXYl4UAgCo<3{^K??mAi{d!4afE +|HO{H|Xq0wGhXoeYjHcp7azq`mxT>;1cD}H@g7~3?EV&i~-nh!IucOgXOLqV+_j)2G-~OaFyn;GR7QZQ=rEo{ivt_XTRuPq@;E^O!dKG+eQ)$5cR>6;dLDx}BK*xTeoscS +M^_8z#2l&&$Gyvd9*RVJVl?*x?{G0dsJehloiecDckzXzsu|YP|ySU6BZHip%0%-*LSumbPU&9LlO{e +69_vRe7NlQD{OK47+4iBTSV~W<~vr8JF|q+1K8mz^58C2GpYS0s<8@Xi#5%$=-O(77t^HFvfB9dqekLlyd4Agp1-;c#0!ilkHZ84wCv +xkpA#VjvI?=|~;c#j=_7{wCZblG-9Wf<&`$cDO;DC61MIrSZMvD75BgiY{ +&NOT0q8p&bAN1X9V2X){AYODfY*2hS`SZF3?VXwdocSRb+RC_tIiz>ft=Z{$4c$g<~1JIuT`Q@wcpMC +xG^)m}DJZ@^fb#in3$Y)zK=LGK=+2RpGELzeG*iZzAa}dYD0r)&ql|jiyq|Iwl&_KMs%%q!1*zwX;ZL +_hOgZ2V7kn`fUhGBq?P&61<4NSR4uIwbfcYVCqQiaK3^yRu}Df67}dq7guOa%!BO!no4*W?M$)K~N0f +%@7?2$yO2F!QR};Lpu|$uv99{JO2Pw#b{+m6rpr0l-)y7;3|dMZaoo7z$??0^uzRh&JAALVF6@+e4^R +!GPy+D-0%7xRWZ+(;v%%fhESpaG}iRtEv=(A%?%L*J468g$6uA9$rs*`q^9$Dnzt2`l`2$#SRQ+Nf;W +trm*~`=8s1y$#}Yi&5A)dcwXrsH1RIQh7r~EN?WkFLb1CiC5uOH&$N4-R8m&)Phl)}7+h)%bnb?>e0q +;8P?s^OV@GgtWw82IP&ru@PjLB^UVMp$qwj@Pl^rCnBnSqej02I(HJ^RElk~93-z`aeeY$AVD0UP_|7 +ALC##Rd-djT|dc=iU>cbKGNV{)v%AsAq%zz^He#HBc?{rk2osQ){r~#p}ehE5*G(8SSd-; +6Xvkxq~2#V8`NL9mJLo$6xLCD)bDwmd2B6@Ez|h({gqs +xJXsI`+NJE2Ni8~-oY0O^1#5#Xm>MWH;zhb?%C0N6#&~I@X;M2`3QW{{rNaGT`j%Q|y#{FJV1XADA(Z +!{TEFf+Go&%GwtgNMRJFxjzV0xNEbq>W&AzMczN*Ihs9kLL8~olwv9{5y7;HPX_s43Uez_Mu({89L;d +}CRoCKD1U7&^C9*;nb;PGjn;}7$;X#qx?CPCuz^=r5!FsLo)m0(E9-K_~n(1#gn=Mqf-1~5$=|!wjXG~Un2T53+ +RxxGFMIXqu8-sB=uJ#Q`1Vb<>ZzBG@3^jShq;TQB%k$K7!VZ_V8JynOk*T;k%k_fR++Ol070~TBCWzr +F6sNiN&2k^LtHGV|b6iUgLPAsp4LqxYEm>X_`L!$h1ZV@|2Tl +K-aU4&xCH#Ma$ovmHi?bYJkIv(h#UydEAb?3DAd~Xgc6H3@K`}|sijd_~=K9F)uW~sizR1A=Q`2#vhcQ+o((KC|!XN3odD~5$)@wdt +Bu9j_>6urazE+faEXoRkNx$!4P~3{Xon{DiK%sFdU4q@L1JKq +b++*DIGm$J4nHXp|KE`Pt|};T&wD!NPHVb;~`lRRUz +4X$p>Njn7dg-yreSGg1`~kDojHiQ~~`0;`4Kpu{B&*JZNbP9q_&B(j{ktexnAb(iR5ub)pci2~t +q&K6JMA3(j7jp7*H_lG*?gI>>=>_4V;DLZJHjv)ekX}Ib&&w?r@$td@b6j9PF<}oz|0MBe5aLt`^^S;U@&&wbuNO1=|urK|WW>wV}8iGrpCT3A +3G4p7?_nh1O|qi5zL^A=gQlMd&Ps(!M|*VZ-7=XZLP-T+Qzkh0TXNI+y&Z!eAE$b7=+V4L2RJ|4sf+~81Vb2W +$3Z7C5kdqnp5adh@1xo0u09i`D~tz%FAut6hYN_OV-I+*Se*1KRr=28gZr9?R>6qpJx2Py{o?dsYWtY +H1sfgjFGgX|NLM7Hx}3Z0_Lv$M3YA%z_1qUgBw7CmBV`2iR33cFe`#E>ctM{!~4&(&uv`ihtZYH1vc?Yh!1G@J;lYNqpj^TJxo;_0m#p~H}+c&{GU3xX`LI{D805Qt*|r_hcR;85l0+FpQ +y94_<)}SefJ{K|4uYsUl=EN5JP0s4kY>$BO+G1646d%=`4G(Z#(`lfho*j<<8@@sKokZ`0ZjKGYfM<- +&lZ6z|}k23;^~&gh%)dH-M$uqULJw_a*#AH}_->aJ2vW2am&pXTC`5{U*o}5!x!M2S3IqF%kS_KEAl? +!M2Z(eJWidmHli|<(>2*AkyQ)^gYV#`(P-Hbcjg%i)J}e_3CA1qkkB6hU69zr$=$W0Se>5mQO)q2|@T +fjU7W{T7<>)roQ1tpMjUPqQ6h{$Ka=#I_lhE{Ro6AL3Qj=gg;6@RwKY8#ForcapgcfI!Mt#4~ln~`9> +o9r1M{4x!HDQj*)@3%298ez5*CD%IBbZkG>K0T4YvYtf4YbC^{H&rh%zd4NXlRWI=iin|6V@Kd(RjG5 +ex_5VQf|e|q~qFlJKL2VNhDn6v%&;=pkR+b(=FfYeduC~Z?`m19EE`9oZgmHf4%MO*|RmE*l$>kOc6P +&V|4BE;OYt=_jV6^W5yP7P1e?2;kqAupI>${67Pv2}Xo5h0QG7fOqc>hNlk4?eBO0i6RM3=BVG^$N2? +^{iL;+2=xL&e>6f{fXDDHTOqs77Zr;Mjm1D?qBirNYu-q8>()HzXO?qh9-_LnJ07Yar(GH#+7v<_mAp +09kTAAxl};)QY?<56*!F-3V*#?lb+phpaK4vr2d8p^-NQ}rcwTqFYn+8^BnC}Qbe3_g!{SY{!QDm4=t +ZYS88TM9y|Oc7O!_wtUr3Is0Y*M-#c<%F|E_z3CmVEZb@rR_T%fk-q>05O%P=g(4F0fL$h?`9Xk_~^% +caqO8!~B@9=gpP#pv(nQytIlSghd&Zw8#6!;g`e%cic70}prY(YA8%Q4N)_wLwCsrL8{!j>>|dMLkwH +zHNUb9Vzf_<<*kUEFI2oTLY; +U|60ZTx6Q{$ftSvl#S>26#(!V9O121CF9`o+;d9Tza()w@mdpEZ!)%=X+QN3h+U~H5In)+Q7KBr1kJ9 +#6MOy4^p-F4}#b(#tsx$0hvV{YoY8|G+rHa#KG_AP-7TX`|FE>fO{bYq?Gs*7E~V8qmm7AB|BHNvHDasr01t4xP$O1gR`U;y89Fp-+V<2NCadEy*E +76eN8-W!@8B7Q~GI2}ng35l}nI#{4-;_D+z5R=4Etm}Y-> +!f)es+O7!!7OcyHfal`udIq)oU>5T;Ct{w~}&7%^vF=W$Gt#HB1vT#AF3-thbh`!jnO6e7YOSz1*OPw +Y6;@O@7TSW-mELEr+NIe@9T38fHvaJ +=hwcta$ty4=LJW4C-DEQ5Vh3!>8^eMPJ;g27?ylmikH_8D!m@wW@D!&HW>Tv)Bp@hwc{_nkx|tFR~|( +I95yx@1t$9VK$+rX_%m5leolNP;EsneY!LfB(9#dI^zmZCaUEXIP98E^7d@E)59bE&mOlK7ExvUrQKZ +5?I}rZ=Yke2s6hO(zj0_~>+tkR>p?% +$7c~MUMO$NL=!W%0cN&2}#h1%RhY=R08VB6;$S!q5MEO*`-y3nNA=zv=S%o3;QQ`d4JTjgcFb_ZQcJ|1Egw1uP${!{uHklLLW0oztV%04%qZB5FlHVm2g= +KD^?z{RSzmTaHXiKiwcdZ61iB-nd$^ZqBMy=C*RiB95_dZ$*R6kv@$;XqJMbch@(SILj_b21o{mDO#Q +WadG@e9}|o`3iJ9CRycFyGsu*9c;EZx66F1e8wnYE_Tup={KmOolE}Np*>Pq? +PAlcU7j>ayVv3##&P>8761RtVO#Sj$6+-IiHO|hqM1tGs2Qss^fFURawM=AUv4qGc^u!9nWA2lrx~}j{3u +-eAr{hAYAUSc!faP*mwkuSY3t)QGY1Z&UR+Re|7yx>}ZZQ_5T$gL~xb3k();UJ`79E4e$i~ZUj#)iF? +ekgoSB$-Z4L4t-p%4Cm>6H0qn*Fq=*mx`^xCYImXjY{Nf8daOv#J>~HY(c^dm@nK4jN|#eph@0W2$)q +&=qc#2og3=z)!P>k?>qeZQC`)6;(VfNlm)0tNpIS;uhC9)2wJ=OIVdvWiSL2+5@j%mU)+9>CYSsk-){ +inPtyNO)B;B~*50jbG3VPcng7JlI3Y(#53g1vck?he5{ZHW@7Eug$AS0+2fP}kfL*4TeAYxZz&WX_+TqtWYg>B +=c!Jc4cm4Z*nhkX=7+FbZBL5WiD`etyfKN<2Dez +`&SIqihA$(G_`WnUGw=R%r+}BtF-SJV{}1cnOaOSi1GgPv +5jCb{Q@+s^ZzN{{AUjIFncU$#~;*1*c<*c4Mp#{ye0hLYT=CuAuh8gW87uC983nl3-P^k-=LJgrRTmm +E_J{2A0BsFT(CXc9S~?gxqm0EX0pWRij^5t?=UI!CkIzqA!g)k~6pcZi3n^@#$2|(X+NRyg +Ho=>a@_`k~)58O-TzqNk{1V7{{7UXPqsek)I}0$c&S-%-Y7TJ%V%y=sE5qS<>hamOIT8l(vu@|!`q>W +IzA2gI@o1c`y5vhReJU!GhJ|hfm2*p!M +GYIZ*99Linm)gRy##OM%1|_d_(rj^Q?x5-_`<(hs8z`w&Y{TAH7+zg(9TJSgOgNVB+8!q;DeFjDjx*I +PKAT|fd0AJggfOMz4CUPiAgmY8~q+-r!)A$CGRX)U&XO@zUN;8Vy(KeA*NFr4o@bk-uQCoUIyCnb280 +Y>FF@Qw$1y>-}*&e6*_w14;B5HReMx=Ph|Ijh#a=^)x{Bp +KGm^j<3HK+yRwzo!Bo7PeI;(cT(Xr*Ps&>p1LI=MKJo{4H&2*1Jcju;s1k}_S&2(wrVC>ererycy +xB(iqIKH#7J~e(lDPY`0xHBrpb5jfIf2il(oVQP;qK!X0!y!3d{)DIRYHVq9`R0MX_iipNYXqTnDY!GIfoHqb@dN~8+=Lu2E+$ +x~aB(rr&}q_F4o5@pIn#@b3}@H_b6JMEp8TJrt7ee%XYz?a#Y~n^3R5s$CT&J9Yh~$E;0I_ld#c%z{ty-FG +yVbXIoTehez!&oX=5M1uWHHSUrc!Jc4cm4Z*nhk +X=7+FbZBL5WpgfYc}pwG&sES%Nli;E%_)g5E~(5(Emp|PEyyn_QE+i}a}4zfi4P8m^l=U5N&_n`$w@6aWAK2mk|-TUlX~wMFVn0>gwvM>gv9AQ*WazT +lZbxuq=zp?XGURC||bqrtetB-zO9CeN$F!m9LJO{7|>@*KU({>$=&>_jcb-)`-2xyL`3D+m^Kwz4|nd +)+O5%9I$Kh668HiDq5Pgo`Ezf*7V>pc2Bwm+?#VjkUv+VF3`U9x5lU4X82HT-(eHN +csR;(f@@Ko(m1??WuOaK&?g`>xz5;!zOp*4?{xUloF9i7ebTtn2pTW45X5oh-rM8C2~=;R*zHTeX@c^ +r{Lg5NM_g>2)rD@F8y1`+Xo+2t&kw-)C*V0R|s6b-y!^g3OkciIzSHfaCJ$cmw|f!IB{N*%3Q?Pk%@J +yTzCzRj3}~%VhG=ox8X +0ee@to)qDrUZO69pEK1X8`cVl3ecDbZllSkvbMyTN*#|ejo4tSg?zbPl2X$^-H$Ojkc>m7bZ^P#|uTL +hEf~}(x_y@C-PuOdGHi@BIsCjrG2I&xL-mNP!=}ya{J2rsIsyn0>uk&)~R+DF_zuE<~(?QuccnNjWs0 +l;ppoSThoi_Py5iRR_17+{#n^qLI$Mq@5^J=eQTM#Qiv1Fi!fM{00dv_d(sidYit~G#^H-vK{@9-P6z*nB;sO4lC@*KsUJkO(Ae3~t!CW^W`I&I +31fdC5*z^5d-#nw3}q^PG=6-aBKnyN(ofsQ4rRhk|~n>anJ_CDeOpv+dsIrJYewzH^SYi6iMTOl#Kn2X@0S;#aNaG%KY#h+>=?c3&%$V*-f~gv=1=^rnXY5({kdNKmD_$BiE0qLMU3FX$6dA_<&SC<8+~Y#d&jF*C(1F^sBN(6k2%|%;S91 +1E1}MSYwbqSPZSr9G2F4qr9cTb +om6ZMsG$EIfRQ>XSj0GVze*1u)c2B)8qm{TyO}#IJl?=6+`k%(Dap6o+F~$D(nP1t`XsPuU;F-`(sr= +!CXk#?hKW#8Qw~YBy?)I6UL)mImw|&Fn5O~Y0l_Nrd5Th>{St9rXDkz1+kb^=|Cr(h +mdpvf{>o}ryHo%7L|xgx|7yEs$<)Vsm$0MQtce|_fA+^{Xod6Xc~6qR<+xTY}-9B$u*JA_jrL&L1et0 +NXGpxMG#kl?2+rCHz?;{%p?e&UrtE$nIn$SaKexRN5x1wBC5!6DOcH{h*XdR(*=+-k$}hGM=^zXNXcZ +GOabOIM^_7CHJ1y;znPWbwP21Lj42s`$HRImWMB(EZ@#fu&clWq)*pP6GPRb#r30)*S<%;QwLxp$u(9 +R8taFQLoTYTv0@|AhQ%q)pETDPzGY(FDY=1sA-;pr(8Z}5006kp1t`=GcBM@465=%c#LSU!jh5iut(k +m_Oxgk(AO?BpJ_Bz0e+Kjmqi{qx^Hn|b!TWgvWqnicggIU{rFON1qByp0LD=H0L;muU-hswY|Bqg-Dm +U)dVyL?REcLate|0_6Gs&+DF+xle;srpw&h>nM}T=wpS+fZ}cu|9Zs*@Sy-SG&HWYNQB_k=j^6!JdIJ)~A +|r#HO3C9E3U~Z?v_82D3ieQH`w&4H4?o{ViR5%~&8Ddc(>YA_wmss7fz}>$=$ptv%($RPMEFIxH}Vsg +?TqG&(M^+R)j1NYHe2N|@b8nar(RdDsD3NrOdiWf-oVb+I%u0k6<ZOsY95yds01-Z4lFbNuyAQ3CuP{QhQ$5puS0w`Wj%cide-{UjYQGnCo;JPyoY~+E692 +tK_gq&2P1G3RQWaU2l|U377$E%5IMWtm?WG59PdUWgbK9RGp(W69|K0lA%iYa~}ssl2Mu+<~+94obu< +)XEu-4(?sJ>tsziD<$~zdAW#2J>UZQyb?5W!XeTQrrmnl#>6}zyYS^~VB+&z6XUC5V&MMFREfb<&pEK9-)R^o3FYq2j7~m4dqOKpJN99UY +!nA}-YIKJrF%hn;??CANNm-!su6%)PZJwk;!Sx~6#Z78MexP0|LS8U&Xjqn@e(!RUP{b_`0?uECM4Cb +Fm~e2tXC61!RLQBhJw#f9L1sTi;krj&3_^B6t}%s9#bJ9R&kZ{RP)P>tKjnm##Zq0^3(9qk@M)Lp#0JyD&P@%w(D+<9Y3j=`ki?bo#IJLbzGfp%h&R#3ypN$I%2(!xe0lAEvcZk*Pk +cZt-sZz$2HkY_T=HeJx?i;!_*?tzt7e~Fz-CeQindkw=K8+wqg7r}q6_9J(UHd&*+z`kR +DSw`9VV2i6e@{A2N2z}q;%Ly98S#ceDLAD`wz2sKDuS6aJKoHq1?n7pIJI-6+U{2m$&NbY9~_5lqWB; +^)f`0W!PstB$OY4|DU*dmzeP6$Nfc0k)~qi>Xm`SA_v3tEgfD!Y_n*cV-Dim28UsgVEj?8Y&67q43l? +WQkS5C^kS+QCch+EhQY}!3#4T$jc8Y+PoXSsF}SJx;bvUBL0}^QY-~mtX*hupFm*IBQ+S})X6jBjILz +~pQq@c%@<5^bb-yS0$P6W;j{HQs4&R)H>+#GbqZa=#(h>p~@N`-iTNr3y+a4Lv@aBU#tme~F#&zk<7E +xY;@#T&m!$8wXz}u*B(%~Kq*G@jKOK<{}t)e_aI!4buLOw$d4{g!F89N5;%Yk7g2u(@T7&I4>fQR96p +*UfCa4O5D^`85G62< +P1oX*5l^#hIzTu+xX_nX@9&HR8fixwdEquV_jK=Vc|*>SI6~vwZQcMBPL~WO6mUsgAfeA#1&C0SHnkB +YYf2PPR<*v4A<%zS9ea(^B0pH&e`~1wLd4`A44NcuEK!WG%%ED<{kSfx*jNeY3TPH2-07?c=25zPW;? +xEy)8SHF&`#MjiJxrhSN#uk74brbm?U@s2Jxk497Mwo>(}5n)}pG2Kf$hxR7bCz@NupW)1X7J_Co(%; +$2aw%nQ*Ke{C!UmoP+D;h(Y4@eBCqHP<`!bqPEN&QgnfP83U(B23eCSR;vMBwKZ_M<*;igTpBU>j>KJ +Xko#R-_dRE#OA5X}^HNrBcwlbLSYRpq6J74;pD0{X+;a%_vxrWy6-4g!Le_R;G)9R(ur8mQKR +6&4?EOFBbsA+2N|F#|BrVVgXayYU|hy0tT-_27O9co +k4pWc?&1)Q^~zQ_slK%I)`R +^m&JQ;lCXHCk`oS1TM0rzT!smAos;MiKD69Je}s4ApDct`XT)$uIMT!e +(c#8Wq^#SJ5awup7!W+IgG%uCTT?Vo`-Or}oz0--OliPGT4Kg*z|)|SOI>{)hUN0fA=0TPL&$Bo5h6gacQ$!9}qqHoGXIzIZqVLhi{B)*&6Xhhl|du?h7m*U|doYOa2C_4Za|$Kyaa(`RR?lMv;a +{=$;I2eIq7%9vwix#>YzNtJErm_Uh1GXVen2Vy5gjyYbm(Xg;(Ys)PmZPd^G!rwYfbr;*VX_#KCB2W&^utq +ct!JjX7^s1oCTXG<~b>K;^wX^=uy*b7f~`+qH2JLtqi2t()|Mb2)kvL`ze}^}7b9b39#G(B#?;!Q%Fv +)gq6x&gQ>4^E~#r^wrDk(m_^C +!(TzD~9K;^V(dLjv<)>5)_zC5~7AcdXm5rRPk4nDSF_FsAT-*JMxN)v%5E$HV{l^Isgiap( +-uIisj46BeFJ-$))+W?Xa~V-A&l&jSxU(NBMmo)5U3cD7B+%I +;-!rfRO9P6PDWv9|g|c7}CHd9YP}e)_znko&QG4Ww&Hct*y^s&}c?ED*9(Wk^TEa(@3+Y)!nujF|g){}O_>a~e +9j`ya5hlu?8?FUj3b+fMT{@3^puwKb;Wd(pe{oepp0PAWk#ISC&m6ur2PPHNPA57wnTI7CyvNvi&e0m +=s@=4v%Ea~VeCX6}G3_)eysli&q64n3QJDknpG_FS2o7rGB@l^R$^BOx4Qz+|&?gZ(3{1DPdypE7)ub +-0??qzoTt9ZgUXss8GimdcDJQLp@u2M-f3?UH8&J4V-|2->~LOnuF<$H=?im#F7P3& +V&QGr=iyDC!Vwdn2Y$0S2n?2e +$i2_83IBQN@C^+3sg9U4QWsMu%#jHEJ4R^Fh+HS;}!?u(3RTmy1h)}FGWNRGn-}d0jZsNbnpHMPEpS| +qAj&1EHy{0qV=x?G1_cT2%8)ICwppO$Sxl$A0|Qkjj(ZnJs2&;hf +mva$;IbdNNtZ-I~*^TTXHvEB-hh%NeAI5&cpjSFd~yliD_BR*2H{2zYt*|Wd@>}TJ9{%6mg|L6~X^OHY%{*OQW?Aee1 +^ZS4JUqAgDfO-D2zkdF=KmXM~{oSws_!*Y|;Fr&T`Q!iow;w(K;h+BIUw`_WAN>`;!}rgg{rve4{zUP +jrr6mH9k8LlV1ZxXh;rkP2dwMbBT-cfCZW16*QaF2+u2@IebWXoJCF(XVcu_|n_a_DcLWTf>324HQEt +m7dM|HI>I&3e2Xd?y!1=MU2en}5rMwv +&Q?Q^c`ff(8wahI4JZxJ}KE0&LbNAGe$0Wc~34FPaWvvi`t{aifuWmYX`yyC}Lh`5#bA0|XQR000O81 +Cd)?UhxKAEDex{+#d6gAYKFr0wh5GAfMzf$S0(#x|?j?Bqi$*GKSqf>2ni-uuaPA6v>SC?mMJHLIO=8D2Dn8@>>hi; +HzBwIni;dO%W8#fYZ39_z9PA#XR%0mIU?A@0Yf^!$wN>rV)kX0#T}_9ahb75lzANP*?K492&~W*c~R8 +7m9-PwT@3%K5n*38V}>bhu|ZopU7??cajB$&FQum@HF<) +8T9kcofp|qkqu;PND;y{IlafgO!#z{w$046K4Y?Q!Z2cNMwS;`k3#XT9XzSO%rB%{Tbigt(0aPmzxyJ +Xtm3qq+SZnhQBFIQc%CVc$H23>+SCj8b6eG;WSk*N39?O_ysG>>bnT{a#?rO>t$p1%*n{hi-PL&DXFm +o2oj)%qE+EQ$cW$Q=?aX3c09z8Zsk6bNgK_OW2BXWIV*l$pNx7;x5c9<#g7`;p+*OmfB{AEiAvVidrF +S<0`K=ds6S*E_M^u>{tC33;t9z(xg2vPf(Mk32JKn)ft|IE5r6%VDUvLx1}QfRG0CQc}z_4vUvv?v!K +w0m^`sPSccS47j6?^!1B7?ias@GBBCZFsEv|TS?A1=6PYBgCA|QT}x7sr^ujYPAb49fvUjFPY<@RGkg_HB=FJA^}HU0F+(>Kjbn!i!97z{ti;s2;iG2h7as)wR60%TniCoX}s^wfsY +DW)3Zxj?W&6}00~28Ils^54fJ`J8Ne?Ah<()d*0?=!sv|je=u9od2$kibsYJ}T;d&oj!{V~*(tyL&*m +@QEXcyTiU76m9XEJ7~078)x7#OZ=_lB{zoK*)EYyse6Hz!SdiF6~y-PB6I~RlLCO+U1wLtSQv(QR#!YJzp3n2 +N|&AAtYIy%`Ye}_4$(0pk38!QXU7MkN_l=T)N>Uc7l?9sFkh)GKaQls$&m&4jZl){YWnuB`GY14ji`a +o-BgfjDv{RRl~T}7Ss2X&?wB&_P%lUq?j3eALTPB?p~CCBC=l}=8u<+u>P;H2bA-D~$_Rg6@Qt`>{jJ +ced*C9_nLBLJ2OC|*QVmcV30@A#ZhK%*`H4oZNfww2qTB(ghQT_I!io$HUbN@UlQ%Umq!Gs$)(xGhw<494oQ-}+35s@^<=zPF*?aeh9TkOM%Ir?#jppq +MFyxoc48RF%}TXL{E>Vy%{z`uhKgvcTWECUJY`HWKKbu1v&!)yJl(1`RlpkZK|bk19K_%HL2TS@w(cLFiG@z2wD%$zv^1xh*`m$mFpUX>jfWGYyP1jo!GlKDSK)7hNptX{Ev)B5PD$}=9@`E0h487V70 +ESMaa)qC;$NjmKQ(z+7m>Fs$$?9sF-Xa@s5~Hz7gHh59ib+~)2mGjK8vNSr)*&3(V^Yh9rXSSF&j>JE +X=JQ$HWRoR(=dTeh{$9GK@x&F0&Bt80|5STn}iEMY4GPeUXXOkX1U0{;2i{iR(QCV`}c`oK*G&$Ay2~ +M3J$Pob0w(Sx3GZWupE>0-(cew;&Pu>;Z1V~NUdAQEBf}Ts4uV~!Akb~vdb>AYgGsMOA9}ZL?W?PjzQ +{$Q53ARxK2{rI^!`|pGTG|XMJnE4^s=zcfoZL=01Knb|#oFL`ATtIFoP-E)1U+u5M_=*=u^V8!eNA7%n=srC@9 +IT9_z7F^7=m|-EMpCml!%x(WbVQh9Pr@D@KXT_!=I*1%pNaJOTb$J8(E28hMs#vZ7c^7n +R)frw~(B+nEoU`bntiAIySFXOCU^lwgwiX*mo53cF;ml%Q`IT0u@`9}b`&0%;DNrr_; +fCs)5m8I}!na4YuU98kmWXvCZEVQ-LTnLT=58K^M?=(>g +6M)}~a-d=B;xSbf0s5^h9ywz5wQAkfm)}eel=dr*!A*|1e{B2fVxxu=DAJJ^K$(O9KQH0000800WU*S*EHb{TBfM0E__u0384T0B~ +t=FJE?LZe(wAFLZBhY-ulFUukY>bYEXCaCu!&%ZkE45WMFrig?)t4Vt5{hhQQG;sYFEJq=^h>R>VxI+ +I=Z?{}h}ymS|IRdrX7u-~QMlR}qdI-2Aa8K=*hc#d^0g3)ul)HN+^`^Wlnb%O40j(8f+Ae5n6W7Xeo+ +K}<|mr(_0vD+`vn~E3;3u_$fQ|~MzxiC@V7ezrJrK)Qw@r94DwyNsFF&<#(V!JLv*qy9(|?FN +ZOuax#?dsIg}?~u7Mra=mgWLtmG4pHn+)q@b4ZHf7@^1nPJPqHFFg(-FLH4lgg$3*X4@c=t>Vt#tDDx +c!`uEbhQpq<3w+oelOyA^UUdh$m(;q!`d4)*nUwQyxDrzoyctDOHn!?(dZdujsK&$KA5cpJ1QY-O00; +mBky}{;zK&^(761TgSO5SV0001RX>c!Jc4cm4Z*nhmZ*6R8FJEwBa&u*JE^v9pJlS&FNRsdTifZ_QWS +e43vb{6SSWN_5rl%Pr$qtF$>0OBdgJ4la3k29WEU7j6_sz^YP=$kswVq{!EfT28tFrQ{;}yI5^!~Slv +%u$3$`8hK9%aEI;K_iUk0-5H;`N6h3G>)#9A!x`%dS)Op$Wx;A4CmHjiD9*erh@(`t@#8S$K0WDsGha0 +vXFTy{A#cgwDPW0iMVIVx%~RFz+*_~V&8H-Oc$~ls-2@)0HpA$#$9@SSFL@k)?6C`P#pjcJ4bVmFzMF +8>w$ozpxg5Fghm+A{d_L-_2WKBohiBH4i_ho3j4s8`m6!QTH;di5m+>rE@zUck_Pwy?d6chaJn6N%iW +G~xe{i7ulb59YLl}D*e2+nJ!>iNr*gc(Gp0N`K-TuU($vXZr=>%Q2fT0Lj5V6FIZh7a;aktC<_bgKP;S87~<8O*w-WfIafVe9qY)xg0H^H@RZ~c;@+cY3QZPKASB0Bl8jtQ2abeVBEt;w)CQT +2x{V`0BP+dAPnYvDRLAc2DV0K61K=AIq0qN+1cpt!!!4n;nn!my_#IQr@sy_uYfg!&jW)2=O%Nyy4(3 +@7?iW|#b_@8HxYo)FwVx4(Ixyf`!9DO<)o{msx*tu*0#0-9-|MBD8+{~N-{K*dw5C7`)7 +<(nucx17P`@?Xav)7#mcP`-Riw)<$FmIc(rn(#2PkRF>6WVQh3#p2oT;5~=}Y(E2th`yh2Af!vrvgC1~rIkX1S$|Ffknj0}&)482GU3RCFp +3@|1BQwv1g2jQeds~iDo-;u17g-ZLUBck#1&xaG2XxJvmAhY!3Lf7B98l6yb9Yr)=p;a?iWYH>z|!$ZwN8Do_;v;SJd7&xc3N;~?iMjXpMdg)V`mYwj~I4CDJ0oO|?@ +CmFh8=O%#(gy92PAP~w|9-*Y9V;B9y0Ns9=_SqTF+9~K9OJnSlf^B`Vz{$$6oruh>zaUE +Kw1(JcfHQ0mY$o0+}4oI< +D%5?qZY1jrj6-P48NPyI134iKCD!daM371B~MV&D82j*8#P9DqfbZdZYRzNL^(B$vB#9l?B_({RGM{@ +#ARuBRZG^d52A$U2OTHUq?yaW{>Y5S}`zizVA%^p>C$u2&bxpg|q}O5NkyIzQl=+)4WASDS9DM3u4!jAz2ACm1k%n3;W7CK}6g@Fzh`dPx3dl>k3o);qv4Ej4rf +K*APJzVDpKXC1js74rZ7?pcxJ@F%>!wi780Q2lNp*i5T+ZL_#UTw;Tfu@@&pEA)Y!ceT*{iK@c$d?bF +%#6tb6#(ba@$xnca}xj@xS-GqErk(%!sEV6hGJkuUHEMZke;4PEu{@nJs?54&aiHAO?81F%B +I*2^QLY=gg2jSCqHR^o(? +*<_Z`Em%39X_`rAcB=4O7n=bxbp(6r*l%6kmb{$p?B*`$dJ-Rtb)fs&e&3emvOOzljQf3<3}4`pHs)S%Xxdq*{$n#ri&)(#luUP^kZ={6Zsr^f +Lp3vn39Y9@JNF9g|ndNz}?azbeH08Cv!Jx}$#SLHFiNG3_gWME)e1$rn0Q% +VG64bn~(Wg!w$i~+7)^(X~`?`nMyC;XHK7v2g)R`w-oT`KXSu^|A>WsVIw*&6sWbDVW-5uHa_5DK%RD +Q`*mf_jMnb1&nyv@cXLcjIVKEN2jR_FI?73t@SBtqpubUgyf(Hu3ubGSd-=Wo~P*T9okX`iDHif#{mL +ZV|Ink}lyv5K-iwPlBKyl4r-PTepnKpb+(gbRML?$AQStaWDrGvl?dBS0u${HC7)b2P}Q{Q~_Q}^`v$kvS;bYi5+ +ltH%uZaq0|M}V_IfisW+sM2m-YId%j)^2?3br15MC^o9Z!uN7%4A?9RmzXh7#!be&Z&f+E7)>@d6 +%`p{8gH42r?d+M96vZ52pgUN)HBQO1E0(JS76d*fEuD2ssh&3(^ahc0Kqb&$`kL%hhiiC%9Hyf$T;&D +RmB^PAzE^X43aFp53*&)nL1)Hc15TSZ+qItB_xchWzo+QB{C^f+Opx4XQ`O{z_qQcR#o{$%6e=l>%Uo +BzflFT0-5pJQY2}ml;JD(A>o|lT{MW|dr@r+GJpz>EyV(;7m47Fuh!Y4h~7XoR{egzq}fGHO6%b(2F+ +%9rb9fo1`P*3!bgm)Q!wixJc^gWEI>67JDtko{=H^UU5x(!KZRZ}hpLk(l7;6jv*_5IMWw|sJ9@02NI +i3bxp9TQ6dkG=(i0LgCyK<6%c2IWmG!s1ig(^Db&C$rOfDY1Ho&O$f)FJ274c_Fs)Jxhoc0~F&-Eafm +ba#XIl|}^wMeeKV*>?(+SLO$D-Nei?%#=-IFGYTtUkzsJv`xJw@SicuxM!kR|PnhAR#*^kY2@+7WuY{?}V&AC#f}(jYfK-DYio&bC +=qd=%u1w-ytEyMdcG`e=m5_*6YO58Lvd^ZEy@V?TjM&P;-4$k>@KXs$WYS|wt-flixipue%Nw&AbD`}sYUg}N +3b8pS+CgydbK0qmLNk*ebUaTAaIrF^yC^ugFaWGsrK1LI8*M(KUQ1{^FC&11jMXl9Dis?|M6^_Bx%`BIyV`{wu;#M6G}o7%GnyU +qjr)NbZ)+IUU!-@a?#43Zst`}4-#*wlB+3=smD;|aaC$eYDcrqaHQZ_wiUh07XVtYM%7AUAnaoWJA`g +wH_tw%Y{d^Bz$CT2tUKY2A2y^IBuJ(ye_fXq!gETuInq99%s&_ev$|vj=5x>XHay8zs?A;;4WKtQTgS2G!*D`?W4I6nWXueC!$IxI_)|pDz$@tR;f`=2#HryAIQy=8c~l +O{fAaiv9Zd{qW}+Xx**-qOJwRHd+)vkBvqv_lJZ2W$36@AOu)CuHdPu=&?~IgNS2c6y%SPx;)?TrE3j`o;QyNxdm1JsBDVMGjfY(%7`VNpx?T(g +fP;V&@5VVuo`!n-sPCzVs(5XBjTD4k*oA>)V +`@p`M059AO48mnsN~Uh+IG^U!S7N&k(LiTzhcAroYA?VhhUYjSau(S@y`;^(3$inI_aL`5UFL_l>d?Q +$X5qvVdlO?)Adel3#21G3 +nJm1PZ`tQpCwDheB}Rji?gY(Oq)dfRcFc3mZ^g67TcXe!Y%iM#2*vItfyxv@ZXvI8zz$(c(n(dr}Bsi +q!hW3YPLzM!GfzmcEDy{=no7~?SHw^sH13BTH9i^A&}21GWgO2HuwT$z$VrzfdssWm_Lv7&YETJz=Xm%Nk*yL_|5DwC2vcqY8{qC#}Gndl7gZLfvD?G;D2OyG;nz!x|m+o8Y +fsbf=umm!wjtDIanCDeNTsIIcCRNW}TRY5;BfiBnkH(+@0VVH$;11}{JIMh96E?rdyv(LB_txwOYi%o +W)4IWfCjAy^oZ7QY9(>gY!N?Ex$@_;vu@qPTP%1aRghK>r8a<;rIO`DWHu3&Y076;TrU+`uMOy3#TB( +YMj%21ZxE9}*4m;cE9UExmRSRw +A;+XeUbq{lR!`-dw5?@1ifi9?2HrrbnKosnb7TU2p|@^V(6S8McjsGN>JRf*Cal(eMNTW%ZlK{%Z}Nm +er{Z?flIKgLSpoA5hS;3=oZTjxs-nn4BBj=qC}Wl0(ld%GO1G5>I>F&y3Nk(RrPSgJ-oKM@d4Cz`Rf? +CY;qGaPmvooF_%Q?y6mQcWOL4p{w{V_dg +r8XllK&@Lz5>~ESL;es#Sfp*mixNX>=JM1ko_kf*OV>s$GdmOKfj}+ES-0MdGq#drNPnB(OdYZ&~Lrt +tFlU7{M4E{L@OC59$t_NCJ|w>F9wV+3^DYD%E2M0!^U} +tYd37A6<(dmrbE~wkSO+d0;p`6(`{`Fy8J}M?)tLMzVr`B1i+B|Uu5#8 +xhR++63!F?qs!xMq*Jxs8^NI7UU5&sHKL_kVQaM;H+_>tgGnCzLZ_n3FK;i8rpG+Y9MKA=3e;12ngg3^VtSgY +dV)XZ~ZS&O9KQH0000800WU*S#|7_F@6L90DlVr02lxO0B~t=FJE?LZe(wAFLZBhY-ulFa%C=Xd8Jlu +Z`(Ey{;pp^C|{&h5+rA98ey)NrVbV$X@kTqig|{jNR+Kr77dCjV#oRKJHF}7*@j{MkdVi_uk!?#6?U&uT(UgNF%8kp)yz1O$Cr75FUV#~^W}=o@DmHs$R7o07MHll(Qozl?|F$!P*;vp#0a +{*zeIJJVv1sPK}tsR$C?p}&X*M9HC*HwMn=gRMNw9>n&K!z`FcYrLvdLW7PFj`mC{LLhFQMGT7&PMM( +UvUZ;A^R%jJ%gT)4~2j7T?GT_%i>qSAf}T1QEotgxX36iZFE-Q?v`tDToy6^IwX32y9fV_M#^ +rzm^gMTja{qSTI`o4E2em$8H&8}{y(cLtr;&ldX;{5x6LA&A_crL4cPCgC5RCDzY@ +^Y+CS%VT?D8V0!h^yTKmRCvW+Le?8#&N2}EsA-ypZ-BYjK5?^i_cC^~1<0aFXKx>a!Vy~GC!x9*e;;{ +_N;8lu{ofIK%*&1e0gtDR@6$t*BSaEr*v8(Nzi}56(De870Fr6q0UNucp5nwodCBk+YHAZx2HD*Hl5z +0)?!CBH;3JHCZYJGpH@vdq0%bH#)Ka)p_H#U4h>%`&)3L`-8>q07No(5xh#lc1E8=A}1`57T?>>CKpE +_^|J3pSyo{HYVyxW8AggTw2oP_iWrG>lUqU(a!79Y +%0}+{b}sD2Qsx2PVc`70e3GDt4xkUxE1yme+S1dD2L!{ZFMfa##U0+oc?CWHH7;sAr4;n?46zkf?otA +WFtJcVD8&^Ng&2S_`Vkj-Dgu)&L7R9z9jL_C(ABxcF^wulokp^T(Yfl2(sdSU@QAc8$HX=z|ROQREud5CYZ&wGyAZ#dTfta_Xq~27PZRngGnI|9VThM|ow=@*CXnL!`LG2X?(g +o0=qd<9uK0#ZCO*9n4>rx8nt>InLoZC7IGl%1(LeM^S2u(gppb(W#B$~>yh1M(ntSe@{b&%XbwhPre28GVEgKNaIl}2pWR?lmsyh6tCp2l7#0&jZO)!1>X-Xgo&d8&k692HnK8aZ5_`QPSs$$5oAm_v1ma_4H)GJCM +J^To;t|4jlTd;O9KQH0000800WU*S+nmFXT<;j0R8{~02=@R0B~t=FJE?LZe(wAFLZBhY-ulFba`-Pb +1rasJ&nO?!$1r~@B0;kTpiQq80aCmn1nW9h!2I}!=_eTk+rmFWyt=0H*M*4-prd7oVwSK^*encCtM#! +WTPvgZsB<7-Rc*&6tIz)m8LK2@orn#JZ+w#_l$vHzua!b$ff=#8o>m*Qws}^sNkUyHl@pAqOhA3aV|% +-b61raEJxxAXpW)=JI)m}J_LUWSV6zUfUcq{QaF0Z>Z=1QY-O00;mBky}|SDFFB!0000Q0000Q0001RX>c!Jc4cm4Z*nhmZ*6R8FK~G-ba +`-PWK&k~O)SbzEmBC!%t=*9%P&$0a1Br}H8bP_08mQ<1QY-O00;mBky}~Q`%-j20ssK;1ONac0001RX +>c!Jc4cm4Z*nhma&>cbb98TVWiMY}X>MtBUtcb8d5u#|PuxHZz2{e0!+}KFMhn|Rh1vt9R6=SC5~vr1 +qDkW244TY@8D}B?zMk35ej?OdVtMRm`#oC-@fV$%4^W{aHCL4+^w4`{7GNZ)C4wJ3VGHDXPvFTq^g@U +vQEg`(g=df+3jVWi9*um7&MRvQW#$&XLOPqk*)+RIfIladN4SaE*Unj&iijPd!Qo4 +!=f#$}X$dcp)ejs5*V}R=osg@I78&x$>TXRaly=iRG5ZvGYx-FkMK3^aey;+8F71l-7NM+ItF7Iv_^P +y2bm|%?_pu|eH2wh)lRe>@)&CHLzP>SR}x%BGvlodT1Oo!e@A@6aWAK2mk|-TUqLi0xIwc0028F0 +015U003}la4%nWWo~3|axZjpb#rucbZ>HHFJEDBX)bVi)mmF`+c*|}_pcz*hqbYey0dvR;9}Y|oe8#W +f+p=?5d;b?(Ka^{DTq{41N-Cm9FmeqU2JD2D6n~mEb8!FzVq>r6vgvGmYPU4;r3UNQN5OBUf(O3JTl$ +fsjT_AYx?M2!Nq1$-^L(C$SZ7S3&J--mh8?xI~7u&u4N_C`^jWo%A76lIk{Kc~58!l +)T-`spWmqN22dfs`Ws)CjM=en$vRvJuu&*Bs;gLINnrS=M1txj$Rp{*NaB8XhGd^#h`B{}(ni&Q?TlZ +DadLVB`|bubv-nr|vFkvJzw{GFA2y^9OR%7m3##UPwbST<_uJuN|RXeg(N{Bvd$3lzzM2~6AbRUtH%0 +MYHguP@^B-!IPpb@}->Pkq6Q2zmo1Wn@KT&$^wzNUpjIbvPP2@ +zGIn=&Kldeo-jkHA2^ariiH^C@5{V9}JbgnxOX1KzIXSsB5{l?8BMU>g#Y4- +_@^1O)ibui?Wnu>q`Nky1asXNg=Vw?~%lQVJ3rNW;+=nrnv#r)ifXy)$E8o4b{il3uEXtdY;307&6`~ +`w$)c%9+sj$HHqNX?0Eym+0A|XE^67xvx{XvNF>BdtUA%3g0O_k07Tl@B(caD4y*M&cKUiuBxb(FpJtk*Yt0PO*5fFZaiewWMO@<_ +Ja35DRw(}uvW*iQ4yfs@tGO%OTL-udD^|jjcq^3_G-pebu1;fLnA1JJqS`i^vfRD9ylMqxr8jb)z!BBpCk$F!;}(BukU$OXkC6boE^2)`)o{JQsCdSBJBq>{M6g#k7F56XkoUfFRC)7nl}5>uL43sEwD4N8)(=SV2}GgpTeoX#;oDQ0kB +$#mi97t;VtcD?p#~iOVe-GNe5PxIN4GzMiT)NHWi({ek=0Gc7qaQs1xI;>)*-FY(*2x4%CxywI?-U{u>eaj`LCPQF#ejkEw&RQ#@I}0wE1`O^$B~2=uz;#vh~0e#dk9krjx|`T@fCQMHXTd# +HWLGUD|UO7`#l5KO^uCl0q3bqd7^EBfqmQkUZ4H`o?=yD^-M9h(jPzx_J!PqRS1|2BU6Zt4u|Nq +>V|$$t-NBwt`>zg02@i2BgqYLevABZGXt|5=jX^`Sj~tnn-I+xLR^%v(+EIuJy=yaezc7!V;lW|UxWj +OETa$Kzc?oN7O;l_5*w-q5h8_dcAT&^@eb<+s*Y=ta +7W#y&MfY130GRSWvZGY~L8cnlR5{C_XE~JvyA(Jrdp64>@!^5PLKoLItMVOm1SFaziAb^W)6Hq`v +~~j?veg7RT=hpS9*QfcKX_i{Si7*|dU3(TfBW&~n{D3{Vn>5B)M@R8IApdBF)%$4?f8LR*PAGgu|mhw +{!2lv%TsWL3zoL81p_RdL*4b%0Ek@tRS-iBHHcwr55xhpF9Tx7?oR0&l!`1o==py5zCs@K6G3lRKIOmAhnFId-gOtoT3RdN +j*QudvB24K0kcO~lg8q@7oe(Q{GIt2b^o_xRud#w2VoejUKo0^`vfYYAI=kYo)`BTX4Eaoz0L$G~<_Q +R-Q?+`R>8NsYEH2@i!`%{P+doK*wz3aW!ArPu}K#NUt`&w^C@QWHF6b0CuWAls8=U4A9KmQg(Qp0!Mm>8>B^kQlR?E(VGObbRoz +)r*bVHFjMnTXQ!o{|$8)6RIiT&;;us)bm%v2Ef!9(=msOM=5+YKV5CR?iN4@^MIoSY10{-l4b;7%1RT +Sk585yKq~y@dySRcSW(6-YhgEM4%x{~+b<$Qu4i&3juDKo&J$x3$I&o^sh&IFtVYP)h>@6aWAK2mk|- +TUp*Ww@#T8000+I001BW003}la4%nWWo~3|axZjpb#rucbZ>HHFJEn8V{daVaCyBP{Zkve@pt|TJu_4 +6dB&I*nlhf!mJsM;N+8ALy>>F0oAaHFubl5(Ne0|B|9f}!b<%zLplSU>V(YZ4)$VG)v`4aBD?1 +lbZiQkKj&!7`8O&Q7olBOKvLo{Fn8+QoFyWM3N`lWB%bDUfe&)TKEZvZsDft^Y9FLAkn8hTcPn406QNq_N1fubfWVs+ +;D@y_W-$pgVhhM(+YEQ}tA$jL*NKV<~b5D*uz`U$cdM1zXe8xVQ +SC4YBzrZif!L~Kwu3%yh7WS;egq<1jga6y*`R|@yR1q0kqIeXv-X4+_O#_UiJOwU=)=taKH;!r5#P+7 +;H(Nor|ZABlzS+{}-&eS_FsWilem3iGcySU6^`YZ>~TEf6oFwo5NEXrfl&=YG`;o18TH21_>Q#;!qJ7 +p}~_(LDoBAlhP=7~}kZ|Dw8b9LnMy`n{vi9@$wAx@0j=&P{-5|E~O6pEaw2^P`L&2%b4vF376ZOV{P# +w7;_de7yDI5x1mFF#eI1H*~(V>vh|F{M1oeP%J8fxUSLc8mMmxmlrvFVgUyyW&E9KBG(|b1+n*#4H0o +z*!&jG>JAX6X5)DvHdw;r@{(PQ(>Mq5ov9#Jvu(wXN7leceIw8q@2GPmqPzbgUVSbX)xM5k(sniU<0Hx#n?bmj23I6~Hic|QB)6;Bo +`Ur6(`sWW+EbZx2{qKPkg_h$L9B6C&YAZdxgGcOel^n%PhFMmOhb#WYrp{v(7+!BE3wXE7*?ojrOU@z&}2 +5zq8<)I93_?3aL$rz$ZR0PLDv{a)dB(KS2Vj9ixL@L6uAY`T~QL*zT +Ufypj8#>w4ecXnQZc!S~!(5RQbI1*!c-n;cXi<#!pRJHO3{$<(vr+x9>#fMK9aXcO%-Y?$Tb$;@Y-wx +?0gJ{skOqS@TOs$^ra#be*ifgu?R*gQ9%)ycm58XjiQ_P?E+|A*VL1yX}jOCXuvQ68~mRg(d9S+3C74TR8C3D`LQM1)wR`A7)@qtK~-rkY +#>uokGURwm>t{pJ@~cS$*!z^F`P;8>%+naVQw(U0`y2)B*v--Gk&E@csBaY}=nbD8|~nM|W5q$nE&6MbDbf+S~1fLGidk#{V`PkYlM|Gz~VISDgD6=idI{ +b5rr +!jO!u6-CD{~s;lq^ggP!8@Bx1P%xTEuZqxx8fqPnJKy1H5z0$&5OH>QI2D)A>A!5}Jv0GwRinH_hE+a +Zd%w*NmV&;3Q5MXsVqIgc@PMny8-sCEsj4pUdl8BUKp~2b$^XY5#Ei)6u{KQ~KUTzP@m~2)F{EsHl!3 +S=G^2_3)?rd(s!7+Kg84de@aWK@TM$(KbRRzC|7tj+|b`3TuQQA}$XHz+ +;Uyo>D%K}7H`Qwpox3~FAKFR2DxugDWPL^vb&G@~qu2+#!cLxF%#Ap@1flcIqm47- +hkC@Cf$F3X=2@FbHOdoov7xAYEuf$ZMMSCpyyS9^j&>y)g&0xzlr`>nU*L_eITqv`ZY$yBd0aPE$`)u +4f`(Sk+~c=ucK$JOwRbNIG|gZ-t7zy8wXe~Vt;fqb_mN=5JQhSyfAUyE^PCraVBF$^}$Dc#=Nwjc~)R +Qb2gf;hpv8Samt$H(LG_;5Vd2MS09@-N}}5}b{o$n~O-e5QA?|Mqup-~84A_&Mj|I$Y8Z315aHTIf0B +pPV_40MDOS38S%^b$od2%(~8%FznN#HzsVHZ9w#a$iWB%u=Oxtbl#U{XhP&O)p}#9Sd$8GVQv!dC7nSt~-?9IvZuqwbCr{mm}6QV8$AgpE!W8GEptQrcGUId +G+}soWx8EgLHm)H#$9{OWsy6W4c2Srsi)+cnW}SFr|@iBDOAF30oEPKuGw{y`%#BA-xPU@YJ`r5ow-q +`%Y~MK@zb{&xzARf1hmS-ycRmy&<36R8?$E|lYw-g3UqB57AJ)LY2dA8o;Np$GDdO)_2H_y|tL{ANRZiq^EW}Krv- +O1P;I$IQ$-jSflF8;R#6-Eb^9YB`G%Lsr*PAM@(bzTVwo+&73M}mh_a2>0I%kP7|xu{@0nwv12jS0hw*kads(-4u<{_M13(dmy +1Fl=rU&;t+AgnBv_`PiZBZH2A}`X(}4z>DyanMrXU?9N)22)5vwLYuj!Q2Na+rfHAU~4R}=AZ)W;5Xe +LvMHty$Wjf^hk$9e%uKBH!RQM-|`d$52I7khW5qj?_rgL0nJe6J_ +D?f4Q?1rR1)geg~#+uHe&@S!C9?ELmFxW2hQA5<%Wn}nuueNJAxcFiuj5#kKk09KE!C}qmjClEKNgW= +#Rb6>v~frM)KwU|Yv4fj=dO$K>RqLMx*l5gt~*>TiLzq%fJ3gFJv&+1X)|11Qc|LFq#S3z7xE}cd +V@g)Et0MIb<)<}*T?SqVVMdaU#&IM>?;9Q=isN!y45dReKp~Q8!DC79Zf6{d1~N@S)Zx7Y*+q`JUYLe +-(Ft)Jvh6)3eJ8$Kl=;(dwO~8Q@Be`W5^4hSGbfg+R9`fn5xvPRxlVcxxKOl+(YA#`l9%xf!VEbiusJ +IL$8fn%;%*p)ogp{2xtoq>(m+m3O;YwoTA=R@$$&pFN&PlKOoD5_^|ON5jUbkO5x7mz=x4E+h5O9Q&TAs@f<{=L%?W2d=aZ^WPtR^*XQahA(bWl)8jnt9?ke +bttYRvdNqdWb}yl{b?7bqg80ROdTH?DE$HaMub@ilQ@G*eDa=6MHH7dPVQd8)= +Vd$kK!|66e{TFmLoWx8FE6Wmg|ge3!L6zdz7D7E21M@16yD7sA$&aO$9%GIdAB@l11?KDs;a+~i|E^| +_8lAOZW%=@^od6|07nTM@o#L|AwGYK&>eJ61E@JCbsVjtDe4ZHb__m#s;mEGkH>s<>V>`;;@iUa$9yT +n{t_ZTwzYS@y{3$IHTZSCv!gfz$Pc))&5V^KFKURG*)nM5mm9_5IwFC&d$O6i0wgjn&(!NENUW{p*#<-zl2wmLpOK1gn+`_uP-;RmxcpB*eiuzlO_;bR10RSRbRAYz&`6FY4V&Og8_69EEvICN_SmmFoJjjmo|4q>BZA+yQ%-l`jkc%TpY=pYOt`K)*iPKwv`RmN$E6x8c%)X^j4*H{{C?WAL2dq(&5h!Ps%C`V?5egeOZkhf +&n0|v{r*4)s(}v!*mf;3(h%rTb@KAg!T$yM+IHLC+`6fest&hNYQa>(3cy_*>(T$!vHGsCWIK+2967gKRR3{>#{ +O{a2Mglx^al2xc6(2Azt+H%J*FYWv|gxVS-)z6*NE61P5NW(@H#ZppJbMHsDn>^aqcFZ`uN*+v4&lpf +Uzn9E*=Qm_hR!TRrzQFA2)y(Hwu2BS<^YzaIW+k@|tuz@4b`f(D(!U)+?VmBLQ;|#)e7Kx7l5I7l9r? +>x(gtfGe4`X$MEKs$Ck}Sh!3F$P`b(U*->B|75eEVu(FW#N01QS{z_qY{9z&M>1g)Z3nD2Y!$*RT_;wQcgJ#Gg(4~_aC{?5Btt%N5n^9?t|5v9PX4tXsj( +=$ChI)vtUpEPMwg4@8kkP+M%8Jc+Syr{seT#?GB)wi9ul&ryRsSGQ>_aU@gM6+Dtt|~l-Ag%RNhUszy +a#ea|Es~v^1mjUn}Z)K$ZR7-MqhgU~pxK0 +`sMmg=CWq>Nv+ybCBn9#*<&1dwo`BK3h6Qt8#dG($>b>4k1ceI|gM0)kvib(gdN+u4gN1%IX-Un30y2 +gR&yNto@*>#{U6OO9KQH0000800WU*SvN)j-Sh(h02B!T03rYY0B~t=FJE?LZe(wAFLZKsb98fbZ*pZ +XUvF?_ZgX>NE^v9pRZVZ>HW0n*R}7p2Yon4}pglA}Q`EH`#6UKS+6j6{Q-P9377>Y5Nh*oa_P=-dA=} +A%_gWn!isGAj^X5am?W8hLNMZ2RG(3;E-;sJ)DI8W>H^b8GIxe9^so{!=X@Sb{iYI!f4Yr9kQX%9!nAeJH!-2XXo{woQV5Pj+F?72gSlYfr%SRCkhDIJVUEIl ++PIe^8{HG1nnr(aXMs6|5W{`m3)90`;a@#hBuv4Q5P4yRnw%g+=H4Dk3uX3}H}{+6dk{;=P1#_e@EAq +e^=xy!Tx9d*`p&6$JNvlI)=N@Oq0K_a8yu_ApAX+9=Papa$<^cEKmPkiYTqBf8BL-n`sGjxX;`*Quq~ +>n#0oOntN6B8n1!$7!n|JC(nvR(o4MbcK=N}ak#uEHG0OA9trYlpF-XppHZc@67Eka}qp48=-GH31zA +?~9Qh`gMp;EGSc_sS+tr1&j_!C;l4qkZEz?MHF^coo5Sl%EVqAIRnJ_Dz3I$(+E7EKl$WzVR1waYqYY +63S3S-Atlo?P0fI%PF*PJnQRVxkWfDe0LZ-*YE|2kimHGdwdDzyQ)8vW{S{VrhdHLwNAQ$g9s&8SjzQ +Vc=<6=cZ=H-<&CYrOweOD7vp-q_|kE{}+ZU0jw;!O)b3O2TI)A8VI~u*CA6HjC8Y!adDi*kULF<{k3$ +CeWUSe4@g7iDAMuKo_9$xWPY6mpE`3+-yfY!d`Z}gsz23V_m7Rn1K{jU^$fC>61DhXyjDkNEve&FzCV +9L91pxf^FdP&FdC5{y|l7zN%cc#QGkZZ{Q#?^8rYG|6EpY_Mi5r&)RIfNwy3cOPu?CIWNIWU2YvP=0^ +~9vKLh5}kWZ1@-f?V78c}`@olKP9rEz4Gn?bphjVCi2jpnBc%@?QFIoR@IS_N!3;A@A4p*A3KT4qu*G +*p$4=172&tKk1Aeubu20Jif +kKT;kaq6XEs=uG;zSS)tD{2zy0xa`~d`Ew(NB>cyBHLLlwXxJ(65t=OW1sreKH|tF#V&`LdRKE&+D>g +D6WKwI1?x51(Lm!Ig`MOj9C%Po=RI#s!bPy);^DrU;F+^9hq6|dcKA8ZH +WH&KTgvH$lg=j{XBsO9KQH0000800WU*S!uvr&&2@%0BQsP04M+e0B~t=FJE?LZe(wAFLZKsb98fbZ* +pZXUvqP8Ut@1>b97;DbaO6nd6iSkZsRZvyz487_Rs`K`~d;7mtOX;FQAKFib9ZWI?=9784{h=e_zUWY +qdyrQNstD8ge*8%C?;k3^6)o=g%R&e)7;+Iw*AwU%jir6R-z9BKTkrmW+eSnHV8@ctWTQK^4$2f@P>Y +MH?B3-5>?dH^kJ6I70l5!^HIxHz=p#q=0W(tyt;Zr-uhvR0kW8trd#c5*5x1KMUi|Em3gaH+A0 +OX1Psa6_n8y(%Pp2MzbAkU7=`^B+6P1$Hki{$B`&f`^5%znys=CqVtDORQ{$Eyxer~Y;%FdmT^dFv3p +^NwlN?)eU{shU{9+j%G0Uc4wN2jYf^@PDTgO+Q7tC1o*+ +QQK+x36B1(}ua%EX<`rmK%MedVSf)oc-1saMwGdr)Hota%Z+3xZJdvTs&^o-Nwp_8yTWtoaceB343V` +p9DTQ7z$sPy>A`y{)bOg!%efkBsE@|fiXazOe;kr$`Hb~_$?=Ckp1=`Z^9OMr`gjQ0g%U*j;|L`Aq0- +}Y&qJ&G?+d9td94hm#cV*XU12%~VHC2_t&;lqBtMg<$%_)g%@r6C5!`C=v#>?}Xb{c!ZgAH5yJgx)Y +ab{N=H*AuGkMtgvAJPgYXFz$@&;>K{cJun~}d*j@}H%Q-693|MRZ6P;4Yv&KAnM#fSNFzL> +oWC;shl^r0T=bmBBBOOIfMqZwHD=ViCDZ10i^7OoSNuF4S5m{!TBd$u}^P=WmntObHDLHTEWrsiH>0^ +2=QU}yyp!W$HzSOc<sB>9L5Qe*RSAN|CCOg{d$IsGCR7U@|Y$CeHY#h!L?3z0;l0A*DzwvTC*#AA93e! +K3oh>R^USbp};!#0{wT7N{m(t6Ow#(=y6%@qbx@AJWb+b8`|n{U!)6!iv&GI=`z`(e2=Z{tVbIZ|FS? +&c^u&+&u$7-ZZcGs1PL%mn9@kQfh}uejYmQKYoq|sxkO-c +-xtksal3^ms*2?pb#`=d7UN#AuoZj&O+j@hR)knbW_(fMhr1mt9ZL69ltcNe| +BO)vk)IlY^TW4YGk(kJwL1kL)a(+B@8%PqfqVnAe2KPWKSf&z->wi}4{Mu^B95vyI{zdo8#l%Eo2dK) +!cJ`sS*f})u!HpvgD_|HB{6MUq|^-{G?&;bAcF`;4$`+_o(BL|9 +wU~Tvyn1t|RF%0GSJ)4Y2AHLPLzd8)}c;n1S){wH2jo2RHNgxVP0g3iBqUtgukeRN0WA<&^E$8kDf@B +e~%*4KX>n4?$b8Mb9K$CP|wv{%@M+3ZdETwB<47M#$HP5?zeRU|k~LrlO%9q~9~-RWrwM* +RI|eESWww1G4Za>^L;(M6tPTQy?<()f20t~vUTFMs1HYS)Om2`Xb>FM)b^qg$>T +bkppNHzpz5JWg+r#m{vDY`}&#e~7Te6>#<(@ +7;&>*546m;t&+{SJkAo$n^{OKkQ6a4yW(#RxS0%Z16ip*y3xl|hV$=XFdh+$!X5)q%YagmiTq?C0+Y|)hxgOB)7g7qeyAf|G%zk^o(_R=4exaW- +uneaTV4ihXs=F~j=$9~e`?V%n5Ys{Q}2z{I!rT5AJjPm>nPLxWH%_w5$!0i2}{JOafnW5h1OoUiLzCSLL +e9-lHYZq?AWLH(tF7BwC{zNq}|>3qT;cnk3H|@Kgqu=K}yzMmSd0ORGa7vZ<=ESSddIbX?paEC@E3t% +>s645v?&QycmW^m;DyuNmOD!l&!p*yx2zg4r-t15miJfjq2c|+oJ;of^;pT?14nI*+Neuq(p<}rhfLA +WC*k&G&g92Z6!8P#H8+lSqx(_iDx^M(L_!cuNqLn6vp|<2|r@-jN^u +Cq)HJrVqkkhj2uf;`IH9IE&^nv{QN-D!ZNo?)dbs0%rsifwQ<&@9*ao>(xZCfAS~L*Lai~<0C0IN3;F +FH%itP`C_-1}wqYl?5j)Q(-akN!)Y#HXvM93dU^oX^=`M8F$dPqfrFn_0QKTNx02Rq3KTy_54 +Q(-;ln*te;U+2{Z<3v{Yx7nd*pV%I6>`)B^Y|}SS?B1T;kS&Bv8_Gcd_)s#8_W)HTN9u?MXnMUA +0+f3P_RT`vGH?cuo<3piUKCzrZM+cJAymYmfig_CyOePx-8;A>Uj}vkz-I#l68w|w(o2&Pe|$J%RDR< +3GiVPr+~g(BqAdanxPZiTnp5kLe}GAn0+L6T@SUBVv32R;4U(vP>?Q@gV?@1uNwPgi;8yve^oH|sIRM +;Fhh>c8HH9T2d8=fVeTM-LlEElDQlg@5M4&Q`bAb6G0=ddPsuF&BHSiWRS&TA|F13N2tV;50xuwvSh% +}rU%Qw&Fgfn0X0~L)UKKqfR)r6dU>c`ba-*3j`ICYCw3EweAXj1Z}uDxT^_s;vw0^)(Cz_>WdnKz^!U +Ls9HS*1LJHj?b+miBz;TQDw(e*%{jn^ZZ}ApllV)yIp=PxUP1)0XCR6==8geFM&HczyOPT`m)`X5Ji2 +QP!=;dnQ0b56lE+3qgLvEzfK~gcEnbs9IALttopI5P1_)BV5U9KL1ofXin6WYN@(DRev=PeX5@7Yp)` +wN<~-oE-Ioe^(Tl^@rJt>5t1!)a){$0ekKfSUM}INpeWn?f{q~_A#xd4aC&a|fqw6Xwjtf%wi`Gkc8l +!S`>S`+>pI$)8XuHm$b`N!@7%bd2lrf5gTESus5a!Py)y39^sImb^`eZJK$_W(#*QxloL$E2%7Z=0{b ++6lZ|jR78fXOzkyYAuM4M_&J6V6BVU>5JMvIBuvsEJsBhIiC9oQSb6)sA@V*ZIgy!qPcMTc7AKwNyW6 +FaX}r9^ACu5OZ|#9o9k+U{_@nehFRY>KewNBb04duMqBtHa((4m7+X&vB`d>L_G}Zb`eR1Vi#UHQLKz&NeE%&>Yip70Z558{tZN)&sYALeDYU;l?b$i%Jja_M@3g1c5$E($ag +_gVw<=ko$~=JUVWoC*(aKlzGt#qN0Wm7AHoo^E7VxG>@=W{5fIW+0Dzcc +Ek#eD#@NlO%~bLnwRZ11?B<=<3IOMntz{<2_8Pe>BUPRFmT=r!*KMQ%_|j;7@nza?s6#G| +w%3l-JhFgVpR0DlOS460ToQeX(q#3Ly!zBuYw}99cEw9l(-@`aZYN*Dk}EB(D7rOewtUlgP!6)8coRcX7t7*M0?8c1_ps9L%f<>kXZNy* +O#SWSRn9yJefhLVc=0#PSWcSO}H%#R>~utO#?9aE&P7Cm*9tg5^iP{a&!Cdol~2gBkcWZfZhJ4srR;f +}T(X(9~tTQA4;PNrrg=Za?9ur0c1ov^-k2a{?C;HOimZs*Z#SD)lIA?V5+c0?!+$Q-)d)+qlT1b{{j44&!w-y$g=EsG)EWXJsPmvG7UCT9OJ&|?o2d4C3wF^RRV*Ep)Vou3qt&q-xYiR@MM*CpT5Z8^Q#w!#o|Ms^&Ql=f5nMUI+fF` +IV_Wa5^ew^Mnqo@ovJNnw`;vPo4I*;X!Pu{>Dw4m2F?AD7UHnR^>|r&uUS%y|bAl8JvjS(c-$og13DG +KgNRhW?{c_rd5=~!^P*Jl@Mx6tbA1RXMV*BM{_u~B3>s|vcS=PjKYP;SHM-6v`KI?<(#h_E`>{?^y*t +rW_Qh}weX3lFsTAHSfeNggw;ROg0!yd>69-{;{doZ7DFS56@VnM^q$!*sIN$~-BPult502wTVm>c+z; +0;07@M`PR+a#NOhgi9r;O|NZ@lg?PUJ|!aoul$T)yDsT4b3bg6iD!c^_jFbd4j@YI%DTI$+KTP|L%SK +O_ +&p|D)nrgbf>K=fvLB2^o~T+HA1Z*U|eY#p3<OVaA|NaUv_0~WN&gWbaH +ibbaQlXa%C@Yc`kH$aAjlz08mQ<1QY-O00;mBky}|$gCHns1pojA4FCWi0001RX>c!Jc4cm4Z*nhna% +^mAVlyvaUukY>bYEXCaCwzh>u=jO5dW^f;-I34U3f~@4Z~o-z`Q1Hg0`-axZ8(e5NPRabD>0)r0i&a{ +f;k7&SORWA<-T0e)r%#n5Jp6?95KqaJ5=3LGZO=s)GYJJ1{$ito%W<4MHL78Vkcou#r;mdOLv)7f6&g +pxdUA%1ofus9>Ww)}`ns!0HkzsW3^&&PK@!@_f^pR$-n4udEKRwU(kan0q=&UcfCHC~?DDVL-_3maM^ +!umph{32ZNU3F$%}nH$;GWeNwTYLeAi60n1EB;&bvB_fBzMJvRW$4k6G7LV}0z{bWNG_!n-G^tQG6gv*1xCy)<(i$#E?rV#^XBE4{d`A^TsW}xhRAE8r#uCF*!z+~S5oG1bp +#(V=Pq%3D9VNpS&1^P<#pl%}tUkld<#PV^!~Ff_%`MCq7x2gB;^H%XlMG2N1u}}JM1cmW%DINMkj34^ +e^XuX0_a25q9buiD3DERjh|qRwqi=IjpA!6+7kAh!LnOkXRdB>3Oi#OJv~3)QVX?fDun7hXdnM`ttnC +GZ+`jpbwc4!6QExRDahm+3)?1mZxjP~0j6sRoNsGtCn9V4l}+K@&#!+>e09RL)4xapiO4&hL&T+v3iCQ6{g2McQJ&YVqWq6 +D3Lwnx(O`~`#-x_eCV@u*j(izJ%!|w4zq}v&MzOof{=Y)exZR@QYs;x{Ityd_pTVu6)mUBiJIU-2JaP +tKG;Ug96&+5A>(*OI98DL|s#-ghxWL%P*uNg0o9x7q7qGJ3QX!RT2{mG=t;u!YNO{g{Zt^^9I(tGHa_ +BKXv`!Q?g$ZaBIc=`KI|+a|C3R-$7Qb!gS`vVw8B*L)VR?Uid{n{za}!Q5M%7E6RE1iTe`B4F#{(aS^$^UQ9Fxh97RRHV9J$*XrSr11QxAO6JoO6k@>6(8 +MGL3#D|f?DII-I)%QARNbFqfD$*3g7>3f4D<}_SGFWHwBg|6XM)oSy~-ZX0(x*~F^tp&vloovtCtfi^ +aL4nFJR}9SEyj@#*CtFe0XNJ_L;I8w)HBP9!&g_NL4&E_U`t_!*H42J8XhhQv_m4t?sj#3pxUSr}rq@ +SZ*rkb;-*~h$xaq>EC155FtkbZSH2*iS?&3o(OO6Xj)2b8bV;rSkfpXZtva$!TlMw!FrCJt9D_9Yz!iN`6T>altHKKqYwA6WK7_u+;Z9hdX~%C4#a^6mNS5#0!;Zi(}&fA$a6 +pNYr6peUT^%sBZEP)h>@6aWAK2mk|-TUo)vKPI#d003+(001KZ003}la4%nWWo~3|axZmqY;0*_GcR9 +bZ)|L3V{~b6ZgVbhd97M)Z`(!^{_bC~kP(P#B_dAmP@Dk=m&;2VG--n*MRD*M^om^BTT>)ME^VoY`|t +P6zL2{lEjzu_heQ@$0Ba^$?#>2z6Zxp5b@5?BlyKy_wpKv19fj=W0{d+ +f`GERBmK?%6={_kB0GEE_2%INb^r~-ZX}v*^oY&*uYYvP@+zfs1f;Q(Lbb5g+)h0@|{$cddVPKqV|$m~bxC~8YpVJm(mI+{lA22W!AkNQ%^ +C8Libzy%w{wF|A)G~l^OKl){Co#Zv@M**D9Ac0!FiZ*xj{Euh|xV&<_o3E2c`#GK)p|)5vwcH%yF0cCt}qFT)RZnq%8}uyDBL&=&Agq-E8zJjx`R)zLt_w;OgxIVLOS%8G~+7fQG!lC8YDR +_vPJ3i5HM%z&NFD$HdSrn8FnW_M=S;z||;@wV~N>lDVo2F!|Rpv!_i56?|#Zu%tJEDzZau|#r3NY?7? +4bK~~=uLyY$A^z2q(iRADMhJ_2TsQx2oh1SGB|IU$Pb*iL&0@GH*-!7D)f-VV@ctUF-|xnpgnU_ehjk +bBmk+oYy=>U0`M_KL}VKMM8O`jw^+?}f+nUCe(SH%@E8 +T6+Ow*ZgrannLlH5a0mMLj7g%2j9qC((`bIva%97*6MLi@L8SLN@kB#78<#Av~8$q(LVvG;d!(l;~;m +^c`Q@2|mD(i4mh`9~}C<`gBHMytE3!V0BT1ZJ}BSoIAjOrDabrS=YBWuxFwj!`?n=6U1GsLXmTcE^FJ +@RT=Zm}KGTgn?#5sOADd5d5R5zfsWudjS*vP@FA@_Z}_#ZRR}x1g^CW>OWmRmN41!Cu(kfocY@kX+iR +vZm}xhGWKZja~Sr*M&iJO$r4lu^rHcWTD5o*ywtp~C1-hAR#sco<1qHDM%{i>n$SZE8~ +D%QFDoVltJ@S_hN85s3#6s3#Hi*HPjsHdSw;+*XlTlM`f{bN=Y(jAp=x)6^JDc?E9A`_BefUGx +oMgdD_IkM!-fg2b1)B(s)?Gr+BZe>`M1W?pHOT`Yh%*M+g&oDm@*I4sC2DFcws{jL|7~R3{3yPC-x8$ +P78>TQFTKM=j37p5kEaWxVmj(>+@4yjMVb4!aFTMgK;_0L1wiL}htgJNNYD!T9<~~31rQ=j0tJEGZIG +3W(3ph=&bmOpvPBuhx%^R*%?VisF6wDTrz(Hg6hqs`qlz}A!Hu^by(-W8_i=hdq4n)z7GXtV!p^MfHz +I8SsT(K4PmB^ySf}Ne2Rl$Y_Sm=!d9#fz+NeXeVjjga`1mh&*5UbLWwNWE?@rQptGjqeex<;vf*4xmc +Fc>9-SFw8%kamc5g4m7Ih&DlshSha29qVt8C)c$A5HG +T>G4DI(w;G7MyuT??&mji=Z8%UHzF}8@3x$oLJL;}}5_{cJX+r9^ve=i@Gp#{kBuD6WMoodnewjquPf +h=ZOPDlkg&PJ{wY(){WQ-AyxB`X2N%dYI9x@KQD_fXZ?5OQ9ViJFG>h|5wmG;Zp^yY`mtMK?4>@}drvO3i>{5K&p{M +Q=x*L4%mKYYnQzL{!pmu@bHa%8-ZFCs7w3})1U5)?mWMQ6?d+bTB}jCpnS>t4u(+t~Dc^2!m?&E@euG +}3H1o3x5l?Z=(df{K4gXhWve-wL-C&r>fR=2qMV*+-PND#dbz<5?Lf=Pc1{SO;LT2RiJ|HYyGcoZEVY +W%|3#6jOLU7D#;H?A;uAEt!#hxtXuE4m9n2sL{4vl-SS)9eIYo}F8hLA`Fi8&)7Nx +@NB2xRc$1%}K}GF{M_LJ!dBa%%W#lpP|phTL-Y>Qrtosf6km|!+uhW%P|uM++H>3>XO +U(8~<59BK9Bnt6)|Ca+nM1(>%(Bcf+Q#xXUfzlXd9qb!4(y_4~q8;skVQHn0b3@eS6fZwcN)S$h23vQ +#KD3i2(y4H;;bVa5aI;vCv>w!Mde31I@Qr9jb&pcWpVCdUF$XiAbjAI==%AzX(bKy}1D=n%Tv0Wkb#% +07M%v~4MoUM3Qmx3$*du1$s-ic~wo-e;M4HP3vb!rMx=6(S;hd`Y6B%;4FZ(}Y08_5dCyV&QIH0fg4f +TZ{5Jpj;K~w_!C0hYlpC#!vFRsK88v921Xt1Ump18LMY_@enr?mi6P!T(a{A%$9-s(j)TT){E;q_-4G +5z@Z#Vf|sR0FyzdO$uqQ1k&*`(BxBumquk6U-Yz3iu4(=GSm;$kL0rVzMHIl8nCOW7?=k%@4kW*oCuB_+2)nB +gu$<5u6jw^i-OT7Q+o +U!!lQiq_=Nm~zsE{(WC}?kwuCYyYmV`b;(Hm{IT~HZ4VIt_{#MNal;_DVD|=0PZd==@$-oN9Qt}>Syuy8dT^O$POVm&6O(n +mJEJp{esgQQlghPtZgei0@zogL*)^6riCo6v8Upx?>h6E7E-YcjLB>FIv??Gv@hnP}2luI-CmV~)@ZC +}l-gne5Yd@iV{^<1Sfb`kWDP)wb5#m@SuV-Ku*S(rL6W`A`T^>wYWCwsF!Ti`y5^fUkIgo=Z=1QY-O00;mBky}~Vx;? +u<0000$0000V0001RX>c!Jc4cm4Z*nhna%^mAVlyvac4cyNX>V>WaCuW!2+7DSR!GatNmT&S1x5KKsm +Ud&DGFtoi3-mCF0TIJey%~mT=DT`sYS(^`FZj23bqPLhI&S3dPW9HTmVo@0|XQR000O81Cd)(!9NFmZnHZVoi}OL0ZxFx_|r53;+@UDJSXcdv`xn?TaZ8m>CS_8-P}2zGXqMs;j! +>LBNu2k(U(pUS3-$fH|c>2JHR%wT{RtPrt$r;+lq%u5 +yuc1_K5{My$K3CQcJ?YWQ*1KHUx!ss?!bD{f-G!7;vZm!Rk@!akdu5{Bq@*CE +~z%``uhCO0|p;GW04N%`!}KB@RC@`rr7T5uLDj*G4G7VP}`Wzs;W$uu=4bMM7Un3VYSN3?Xf6$l&q3y +!Y*>e=@SkB3ZO6Yj7ywR8VX@y_V7!?gVBV#;irI}134*b16=!R18jOW0XD%3!@tLQF=jh{RB{%^F~|< +9Hi=+W4u3hz!YvoD5FBKLCBV5bV@t01z+*{ayKoogUmCRS6Klm$n@fZ@0`_=?br44M`)a-6>{aRG)d~!UQ~RGpql29p{5$~^>=5lg +IDv}>HKO;UtZ6?IiIVR>oJR5TR}RGnrxE}+~j2ytN;-&i!#Y7Nro~2b(yBg@|jkD`7RMbQh>aaTnO0$ +PkDOBg9u@j{3oXw(JEe!wZ;a!GAsgVSM4bhmD{k2Ho+zr6-uF|`2^sj{)fsujG5hUFaUo5BB;EAzvk6 +BJo3^D0(>6?qrm_n1xqk%(S`%)Df@YdR&zLEFCLE>Jq!5q{Q0wA27?Fe?S^M0{W)j@nSRudxohEZJm4tL!Ytwd%1dAb7s#Rr40J#s0Kh6tQXqGvp#nBQ@vlF!EwFtfKf0=Sb!oK6YV6!y2N50pHFH1>qxQF;UBkLvk&#lR^<({U4Vu3onEl^j%FEfw(Ykv%@{qFtE&B$-;#=sDcfLy?o+4lRLG~ +SAo2NQOx5O)_Guq#l$?hFX^)WL;bT`n#ISgU64hH&82fi{aEhpSWeS-={K!NUNTO6g1tkpq{Bnj%FJT +^!6NYCWK@ow4c{0|76?RPcVlGQKy!dmyW5+D0}a*-xU=fI3)ZVqoKL190FEL{CYUR6zh*mafL^%dlJv +`19rM&IslbWfLHMdHuJi6H6vvgF4CjgV#M{H6zD_U)HICcuTT0N`3Lh9=| +*Tab~YoKLT=@fc?BMqf#2Qa#U$H}qRE((0*{w}J-zT-;?FX+<{2+Bi-7FX)C}-Bd3IE37ev5JWEu@wzXsr{PSgGIPj#3|J +&JRT87cP~Q_NCrYC*noui!(tnNXN0*^+|IZ5=5@?i&uW0B&jxa0KRg21q?$a?cup^_WhPN0d4GZ~HV4x@zpV= +er$bAUrY)oL4E|AB3H1#Nd{-vOPF(5MxxpkL1;Uu#fKNrA9t47iWhAi+%HP0Jt2W8}mRRt1KA0C=(*z +B=%xsj?yu}y+p@7GN1P11hYyz{ALqJ7g8d?#Wg#i=jg4PJaYaz*&kj=SyiO<2m(#lBwAy?JRFisH_Mo +WU`&;Smj3gnWa7sGFaQJD*&;w@P`SQAKqBRJ5B`VCzEsRpQGc@f +R4OuLb%OJ)U?^94rlKQ6NKP8ylwpZpc$KGVzGI?Js($9#Tm!>PY%qK;wO^e=%c#9!G7*0(#^-*K5DWnqqhKpa;6?AP+;goU8 +%eY;U1Abwm9@7Qi5b6RMEXws>~r%`o`3)>FB5Gz%m3tP0NP6*aLI6vMl!YMWJ;wrK?G1?HlsX4R#Pl& +sS_G-}hJ^ABZJ1XBANOq-`>s*B{)hhjABfOx1TZOm8oAB{h0W^-Mt=Y5mw*4+-wjSXLhRK>PzV2FhRV +-Y7X$05+n50R#<8ICZt5W?dcbDf~70aEHJ;{*0>oI8E +Su{$@CJxQ6cKAhP6(uhqP;Cu_tQH!SH8QV6xuZ>;sg3Mac)%8yr(rYx`vEv%~?6q%!%K5n_9K)7q9^jXr;SXCzqwmC|?YylT_rCg!nwG2 +wf=wYm27oTiXZ5hu8Y)0~*#dsN7DawjEc&rA*(EsV +aDez!6NVU6*PXiOR3Qpo8^AUxq=Rgf=oIiN^M6?+@tB4ruN0dr4LlX1LB+m!{Y@&yFjaO|%J1h+8mZe +ONMYMUfLY*%X{^1x@|NNG}S}W7Da*SwP{?9c_HL!12>FrF%(hjdO~&0rGgB3Eap90zBE-hgb&2k48i)Anxo|e6|eeS}5% +nn3JQxOVkDWPQi{Iilg4u9v+R^(a`@9qE>Gk79J1_?x(`~ouI8PuS4T#G#dBH11{h_tG>+R{S+;*=AE +E#mK%7Z_YzQ#A-7cV)RAa5n&l3Ij<2z!Lg^b|7O1tv0k99a=^;=)x@F9gA7k0aH>Jq&AV`4r95@754! +=yg_7uBPfG$b(EMIQLVQT&euM11Rv_eCk3hp|V*uHPWWfH0cQrG`w!bN5!rLp8JO +3LE~@3Y(^>BdkHRsk2)U^U%Vo{9Km{;r5(Jd5&JmWg9 +&;!w0Xqq=u56`h5J9NLs6*&5vPyPdG9`bN#7fba+?%ENV_{hL*emAZd0ZOb4Si*q#TZOP +N>!J?+wb?sOI!#9V^_8>vKf=mdix+=_6|Hh(1KhixgvbdY=m)xO{)q9C2JRW*IZyyd>)!tp}@+VK5S` +yFTw@9;y^OquL&1H{Fk$sv#MeRs5qJE&LpEq*XCOR}0D8fuVCP{8Qm+N8n_4<3Az7)GOaPbcp?y&)SQr#dA9!mPWbRqn|28Q&o(8*J +st;+svRdHF{0;WbOCIe%%z+t)z!OCqyta!tV9GxOAS`O@*zG +1)Ad@q_XHUDk%1J9vVQds%U!M~^RZUv%!N`Rf?XXXZ{bW^VQM(P^927B*k=%U#zM;??ht0_qy^%$YA) +RRHYYXC}>}?LK&}=u3zL?G3V>jm8DiuMJ1^5Sze^R=8d)5Y +$GEcTsu4=;k=StbWWqL|ES&1;M?=dZ)WGg>HOvF&G{l&oP9sPe6uisw5JSR@U#Wd9P)AAVnRhtqj&f%7qdbB$jjTme@JG#F=S-cC#dkjQ@OaCa5a8G!Jp02RyY- +X2%A-7`kchOh6?2HxNV5)!`DaRTqvxM4-P#H`%}Rw2NM%>S`=O#8IrIihiSg<{^t~`@HDZ(3X)JTVB` +#E&(uu1G{DOIg%t{CCT+l8#ovjSRsA8992YJVj(p2x9oXoEl!PWe)Z_cjfr}_xZ4*X9las#0BNg3Mu6 +D8B~tQf``QqXW8OTotKRss@5hYa=sBz@ekCQ}=I2`UVl!z;2T2g6f=(^qd{> +-^{3(SexfxX?Gm?hQ3ZqZ+F|HbsHUeTL;@bV#b#XzX+?1&p#CK6>|npzaRBNQ100Lc0U~KatM@k;pW$ +m)`=hBF+%e&fI3qX*=1L^uzp`@*|OwntE6?VO@v?v2Bz45tVpl>^+X$8c|J(FVh9bVb03~2Tx~0K<6e +{YMOho9OIDtM-4Y5sntud{&f3H6u)O64D6=!t+%J$x_L4(V|9`Qm(1N@KQ7DtRJzdfsRlt&l+(B2~lT +H<&{Ndq8n`~DetPP<*S7S=ElI=yu8I=4CEW+<86|~`A#rT8GE75!$0$%e`Qt9Y<|-@P19#vZ*`g0^~ +s;m3EivPt4DM?eKw(>Eem}$1(Xw5(-azsMx#39I6u80-7%gUm?^L46dP>rVA~WuhAkuzT~Q8V1$cHB# +M$;~;<^r;HaqEraSlM8u2`$p+lP`5cgYU)#AKwiaAQZ4?L6K2?sPWNed~6S{OrA +z1QWzwjd3cWEm+*3(-v`rdDhQEnkp8t)traF7mJ^Z +=4Dj0HLx_8noeS>5Apy7F|;sc1LbO`+^1>Avqj>LiI<^Qz#yq=L#a$-)v$62vD{^ve3M**!^{q)|W7p +1+N)&(D1!ul-Vm;NtRP-Vsyu33>y%wdQn=xiKCftQ3YE5OOzJRk5rcxpWRGz1?6ot;GuP%%nZCao$zg +l(c}p`Wx!=Nk1$%x-`PdVRJf?FM_5->f&C!R-L&u{1_3|)t@s%l*Ez|WLNtyR4sTT4*!XY8Yz0=Gjy; +9IF}#gOtixg9foPp@+{nFX0z$nr$OmP_zk(@F3_#^aPf*TNY4KVAoR1Fftp266wmn +ZD$izhEs-IFSslShx%U_|OA-nD$BM6UUpU};o5dj9o)-G>FKk3mn8RQRKzPAv4=cN1;=^cW%h+;aih8 +f~>WmvTK6mT|xS0i}-jccUu%?$F1r$kebRy3S|~B9#4wC?m6V;|JPF>DDmXeFCGB(O-Zy4^*SN8g&D; +$0aY+$k0T6mlagHK%(Z_3){J0)46lgvee3-%r3p@2s)Rx*)@x2tLAD@OKaF(Ad?1q*PNO^nUQ|To4gJ +z>wb)^{-%)K#aN)`c>2>Gpsxko7i-ge`{QjXU3L`OAAUMan;OptU2<=d+WCnLCoym$J2zrB)4jfTz2W +=)A^Sa1x*Ifup(P)&3x#o6t+`{;b6t&0sARDL$|`)y>q%DGQx+?JT@LmCC!hIvBGW5HPEgmsrO=6zI+ +4*Kqz6N#-{T&+^Za|z^Lx-kpWiU(ITY3O-HSe?@%KhF+7Zg%t{My|PU$5@#ydQ2BQ5OxfDs +J6~U06bKK$Q_6yHIl49 +cRA^>({A&c3<7W%EXzUIU|q=N3Zx^&V(yhn%GPTCd-nMN>aprGM~1q!ONU&<^J5pf`T6?ZuNP0O1E^S +h^#fmchRPP)h>@6aWAK2mk|-TUp@T;2W4L007vX001Qb003}la4%nWWo~3|axZmqY;0*_GcRLrZf<2` +bZKvHaBpvHE^vA6efx9U)|K$@`YW*1ctmC?$gl-zjCB=GEH(iolw{_WfYR13!_T;*1nyS`6%6hdbs+I +oPDE+Oi7q_Z2zqYOZdY?5FJkjngv0HAISkQHoWNmUum(TF$P`j>JtGe%O%PYRH$Bon3qAp9d=!&{(^) +o+SU0wXBvRpNzs3W8CX?+r7NW +s+G!}tLIg#7Jw=5)n9tmb{}~^`QGb#k>N=Gn3cV|P;atN?^V}qol9@ky`7+Q{i3P6df|-^E`4$zeGlW +69e1w!`{m!)OSQ=sx7kXWg=&jW!JQN?rR)06wt-ppN?J8MXMIbS;En2T>bx~=+70Z5auM&nT$3h!SCj +*|SF|&Gah5mrW}|ZVkqs_{ZtXP1VHMEt?568Bv#y65rTZLBK|lApSl0i?nG>}LCf2HMwk%3D+th7=UH +EPN31)4p05fk0i)I@}BmV)|db?)u!@b+KOz +Wbpmr^!rJi#k`cE^Ah5SIb#dH|wk{{;Fs+NMZadJDvlGbbFfM{M8I@?d`!tPm*LmxhS)42~ZB(jauM@ +PLhi)piGrKCtTH(QDwJ{TJF&``2o97QRm62zLe@qdwlSd7hTsB*S###XL@`_&;y*mhA%jTHjTRV$7Zh +Y?R{#HFu<_Pfl2w&-X1UoxGtTv&r7x?3G$(ec3^~`ufj+#$&j+2LlJnBv;zKMG2 +^tSSo=x$9!{gLh~4nMuuJ|+W!+#lO(SdB2s6ODS=^bRI^Z3cgTpDFk&Vj-k-M`;QdVjV=mgHZ`HB~Y+EMVx^Hw-I +CpodA?Vcs{OmWhSw7rc19RY~X7%U`a}?N%w{@lH3K58xWee9Vy`Vd}T7s}pR7E$NjayYNr->jwbbX2d +CT2Zwyf|xYU@zjQ$qLx9m|cuVZ)<9v2UTu!MWf1mhI&xnf71PJ~~%laP +BGiXOkd77~7V`tuWjZEB`Cs4S)sglu?mPT>=S_(o9CllVsd&H;Nxh^(mOz$xLmJ6SpteM76s&yy~ +_7s7L*A~e+QO_l7*&y#i4{A-fzgw8WZXkA2Y +qts*kA)Xw0Kfg?wsA04r5-l*>wqnxlz<49R#z114~5Y>IO~>{NH6DvN5eg#&~jcbhAn~L@?f1)Pzj?MdyDs4Z5VRQyz<4tLM&Hu27eBl>e>+X&*T;7sUcdUo +>vu2z^Y1VkCQ31t8T&t{fh-Zwx2u~5xa(n?EmcU^h~UAgV@&2%KLI9`t%GBS(j3x}oSx`#jc`~F(MrZ +DU8TtgCYqJ_@MtonRfT7Ys;dnsO&oDm0f7p@h=7pJ{gEJM+mT%0$@2^}${Y8dk7n%^$w?hJ{AxmJ?MNShtI! +>P=y+2Nm-N*mYwZ%`wg7EXMD!0jf-Q2<{s0`yz`CQQS70?x2-C_kalty4A5`URQ%(CEF-!d9lfn*3UG +H1rCGGtd(UfdOVpSes}dWRJ=pkUpyWLef(hl>M?pg>5N3eN)xw59ddJu#{%#uO1(rv?@>eUPIoSl(&@ +%yntj5twjUTt8=tO~k~xbh0W?&IgW~tYH}pFc5Oo;R?3BVp`NSD3lK7f +1q1er3j!~a=%pKTFKc8rgu9Dgs?*{2qmo!yJK{rVa@hsnAG6Ogve?vPl*!oqqJ3M)KrY4Q +f9i8rd`*h&@7NlMlrlNB9N8<;!D{yi~hnCSU3na_y^&gb}StLQ`$t)Keq=Z@yS0J07vSOCZlK!Ti#tF +`4DC>+2|9B&RpY(XS`dvK@x)uX|CYe56CD*=O(@mw`M45zATL_F2`TviSSJ~T95}DGJHy^nd1H_RTSUvE{5+FK68*qbX)u>Wsv@M!pWm?W_3y=rZatV(h;yWx3G@?ac +X3fr>0@PM8J|v$;>b%dGd;)ZTr)Yg-b-XEp2+3j?Jhf@m9nxPos&$SMz0YJw?Q0!A!x!+$qFR(a%;X* +hO8i~U4+!IZRVrYNH7s7EVbH?jnY1)QecF`8qUg%4-z%z=g>rf&wGyYWELMF(OQC0cy+tvEv<(`F9t7 +e$oktcaT<|O-Ivk6RZ^HWbhxe~RV7saNGS>)9D3pT=zJQTVi4MV(P^?oCVb=$qtQv2!3N)~0KG6FtTG +MO*M+3meEqC6+_0FZjaS9lw#bJzer_jrcdo2WO3Jp?Rnx +^vlrXB^dRZs`9`{bqz*l|?H19IHA00L0G3h7Q}n*l}W2$djt=@JYP4=U3}U_7V#sr%Xrf!DL2oDhwfg +b@u&>53jFgSLbie-hH^T4dw8j9@|SqfkJ?SBSGhKjDo9-e}fli!*Jv#AHU$9K^wZ_r~rYsyi=*1IEUP +ok)tPgXrZ>q3yg*e`eN^ja$2++ZN{?dQ*BO~_)4o5MNako6m^Rki7@)vi3eZS7il{#N}vPF%~K{`dXI +zQ+fL=1f7=3)Z^7fFBAoJft<;YNX#$0p@CMp42MfRup*fX}9=N9w!?ZCMKpgtp--n)HY_SjUZ`<*H@; +x$CWUp+%>^DhUvs{zcz=+W5Hl8GCKE{Qdnf>y>W$jueoIJD95*g<5KZE +VKoR$`UD{BaVc$RCV2x$t&6P%?4E3Hua}n_3N3-WKWZ)aRbAhqPud8;D$a>E~?pu^=Gx8oK>Vezs**q +IzZ8LRX4yq)-(Zp0~Gzne;H4CO`e`Y+d;1Pa|5U(a-u^_&B|zxu9q8)Bw +`Hs)?+iZkHTj%LCL0Q9wj9E3Wf_wxS-SK7LiSjP^DtamdeamD-?sqpF;QrV`XEz_KxjkGB(&_i;Q9s6 +T9zKld$3D~tUqo7Du-?N&v%9?9n`iXeX9GP<;A0ZhSyJ4z%UFX|Gp?!$9+Xr7b+vbuV{ +O&H4HT!72?xk}$ipq}jS}j?cSI*A~s_WX-AhGst2&&Fhtgq9kpZpB%holPui0wa6n>Y4>}xZ;Y%{+GMPz +%kc_^4>cDl5A41hA;0ay+=*e!nqazZVOmF@@Eh)LoQVWSQ&CvZ}v&7{H2mbx9zH*PhGbQ~^%$(T3!3% +T&8N8U9aRnA}cc*^`J6Oa=- +0AMLSDD~Rt9I(as2Eu72)Snj6*;c?z5uPCwavbtl!X>(7=W+L-)Z@?6=nD)OTUeHTNM(ffhr&jc|Q<1 +M@~(!Fl;H@rdli+{?35(xWqOzzEi-@~Dcvg55+0hpr$sQj#_yzGs7xEMlG~az9{gF7u +>*!BN%MpQj#qZW%|8dj`KfV&=et38dS_%QTK@uz0{W>871mc3W+(cN6tO{onL!J1v0{Jd1;JX{3^kq4 +Pe-F?d$a-i-w9!FnM0uAfoiDA84y_<9NFiwau#Zd=7&$O`X~X~@gz9~nKRz?eaAk<;$rTvAjsp!sI +~4pw)1TV;J7wz2~z<19al)CL1U^+#y}B3oIt@IWuO6IFb_QHWTfBHt`ikNscaH8caQTB9Y+qv-a*6OU +7imLflJ$iopb5NMeoz}goHlwQCRO)NIJ2(zwVAJM1&e`|6cS>g9ypt39xh$gJCFhxb!D$P?v%7nVHRT +vgWF0TXUb0xD+)j(aH!4PmkwGY~2n|U_zrkb&ITVoX)VN3v{iZ$dA-V<$UV#z>`rqJm>}jvL7H+m1n# +n4y6s2V(tQ@0bFU=mb!BiJV@bj!5oZ{dSD{M>>*+WzVgV&%Q3|G7%7N{y4js-wm@*;n8O%z=y^K@<+f +63NV5YT5hzO$yGSFVILrjThdm8}(Q((dM0H0>9Z;akXAej%kb_19Od|YZ#xQcQT91`+N>&?}!KZR*5< +WvNkR%df%^t+kqrW|WK>*{4-^6u)J00@mk;KEM4xHpEV~nTq2;Gkb1w)c8Ss@o8kjqEXmY2W;0X>^yb +z>x{%=n~WG1pnHrb%X8QaWm~)$W&v9Oq_K8_>z&B(hazcvSm&~EWt-@*qsS1a<0-5LQNke_`_{b2TM7kY2u$Bb%{e@DAJBLr4&lC +KZ)SHywngh8!gWS8gd+w*^`c&HvaYx;%A(s&19-;shp}0CQo{B(Lu34`DU+0A2uaxD5n03>S?F6VHdHGQ!q0x;(*UNy +d%7fFk^pmg0H52?vzKIV6{gV^*?j*aO@yG^pV(m>x%sc%Jv<+(L@Zw>6vrvu-ueRWu2uXx*$7yRY(^)d4NV)JvBLN>mZZ>#ZACRJ3icj-NjJ=9#hH3*%fO;;xENdpv-^)*t#FuTrUCvKaOZ2vk?+xE;r<0j)HO?wD5Q=d^#AR<3;9#0 ++x-^;SgCJqVuqk)wo;8!fNGv!EQhZZQ$|b7Q-S39!OiX!)lG+Vf!Qn#!kdWwRL%?X5!8W`yh~kLDP3k +0pWt(r0`7jscR(kjAJ0~U0P<>Vpx9(1X2?ELbYM+G2E$_Dlc+pEYDGjZEJyubP> +Z&k+v@G$cJf<&jZ_p+67a@*iPdPeI~8O9(f(2p8k5ol4%I}F%X?~_{c8P_MQxQs4)bYRLNN4W-rb!&L +#<)eP}H>xV>l{Xr)>eu#bSDC`3|7a4kAmpwhDv)T%0H2N*|V>eLn2S@sbFX@tpx#8m+Cm!RvE1NQ}+Ay$8YiX9kz4#WRQV(FvJx}!Z@G_j?ps9XO@Y$Ov1h8_Vi-2NzSTOAt8Ynvy7?*oC<`EhE +z{a2yDdIW;9I#KNdr_3d{4v#LKfh!P<#vIppPGeUk#a@6iYcY&rmkA$;64%dMq_=;WqGp{22Lq+6FNi +?|SglSntsS+XFy+qjfa@#2;kN{izTy;1wD#OeoVkZ@}IH4zt>?GDIn(!}Y6;6ysn&IHO@O8%;v+F*ki +cz{!ooy8IH!o%RB#GnoTv1$N*zE~CT@GgWFxgfmJ0!7^s;o;!4{;&uY3v2&;VWqs>3SUSf^rGP +zF>}CLjRBW&%r=Ui_Wl*ZafeJ<6jmb*}H}->0NMV8{cuyOUh|OpJ`O8YSrBg2H`{}b1-Rp9D!W7s~Fn +`>IK;IMksc(QIE=ecK2 +O7kx&z^n_~g<`e)X<$-0|3o$~|UkCIoXVPI4k3`NjR31muH=ep;AR@$YBJ$1Z~L*5XFD!dZF*d)83&nkf$>yq*1Op!|19%9+V26W|E8}?WDTrt65s=TMnd>SAo^8}gFbO!B$Hg!XI7s*Sl0=h6ae7 +ifV}&=F0~g$moCM|$on$xg((Q_p?dY5bw|p0aH#e+*5~Z_fBL5lJLm1s@1yPQ@MqJR|iONfBwfoAjGg +F%%|fq`|BYey4?V^vTvxEMyE)m@SM7JJa&O^FRZt!Hj3b?6`^nc8sPvkP?Y?(&@N5IA18>?sm{KW!*Z +56-*ylh^xOcDuU;1TkHyvn+aGZv~`Gi4 +0{Tf=AyN(t4-0g^r-g#LBC?NmGWr7?6db*dqO!pZx_2akg1Sno%B(jjSKUY4~p?kMw;hHi5&(M;60U2 +R(GDOuFTaE`+lE3{2{P|lZ!NKX#mpqYu+9v##~W0)|w$*`QY4fpjC3S!?WB}qS^oyUOhI;(~&cGRVjz +jfny&QV4!eqKsGEz5wF$v4+oXP7jEc71KEl1T2r@2Gd-zXyW3y~<#7$0q0J?_6Mf=X{RK1X2_gB|&2$ +r&ptUP>l6N2t{|{hdwhDTc9eXam?L#%b`L59yoG0=Eah-Uw}G*64W~Dlg4x4xE}Pr>g6<(aaaY1E^zG +A8aEM{TA==6CVf>)2DRx~2R%?{Y)`Buj*Vxz7ocMl|F8E}f-&)2aY!Wl7qtxqa{;I@hHu|n19>aRKa( +ae%CA%3~K53Kvu7eY)UifwcOj! +C;PG9ZxQlwxUVuM2RVbMg9k5u8|58xI-ki*G{~xO|kdKg*7rHpq{eF?rrc_SZq-0FF4qV$K0(Sf}g&% +>M4bGh$O}Ns_aW(?t=8GSXDIE0rEE(b%A9ibQ!8C9rmWkRqL^K-+2S4BFfcpJizO0>y|wk+c=KNKN2k +wPsf#n<2flCu%WefDWAb1%Z%0%DUETZEJ5II`6P(qfN|#Yx!WUVX6#SNMzOEQj1ge~Z@R6z(Y7|ArFxxn@XPhnme?*=+QIr +#<8NUP73fvlwq)MGs;kq}Bpc49RNuYlYE`f^dd<%dFVm)qq*t4HJ0_CLX}dD%qCSY!cm%;!z&ZpnB8X +i-=GgrJe(=M*vfB@6FJP6Y>T@zLa{rQiTTPgZXub^9P#vx6zo^T~YRJPih27zQARQU_AW(V`^To*14y +o^(xCwaXw7m&){^NyT~#9syEnQB^tU2;nip*&MPp7*FRK*acIo)|BjtrwB`HbY6d+7g7Y2rCfE(rCl6 +3nuaAulxxKR;tH!u>M-n>xlxKHV_}&@WbSKp4`_74sz9nU`j@*LzVr{g_i$5h`jWIzv-@o6p?HOOs#w +d!!3KY}yK9kQZZoLqWt`;lt+%p$g;|0~2K{GMhmvj|T-+-1=xdDponwg>|_CYcEc= +6I&I~cUg+M*3?B;ubBmBfHD0z{!c^vO +qTcV~PHaXJ-SgE_LDM*+=j8^D%06l){WeH<+85)TKBNB?N9hrV^nz~=1y@sPw`pOix%do^2TE&(QG`C +U0!=gGHPN=!zRD+hQYj>tXdvc6#H%w3_d&l+1IC`t-T1^6tmeg*78VLIiWK2?^i1lRux4$_~emee{Bs +yal9C`*D{fCbCl0dITy*?5mX#Nu1_6Xp97g=I)U+jUkv$v?>RI}D4u5*bTc%bmL??AMrI;PHdDcdm}A +gJbP?@+!`a2{-esWGE)t;O8LG$CnV{>&9E-@Sc%_VNl-3LIc$i$syB-fUTa5;BbCy=-}u1j~J5o(B;R +u5r@|{?)CQ%s?$LfRPo#WhpjJREV}XI6S%}%5Ao3NZp5)c^8||^F}~H#D>1r)3F=JrGfkf#rh;v*u)R +bxCT|11b_^-3;A!S?BT^23{)E#E!tE~`H*VmpAC61MngUJHq4ApM5LrV51~J07}6)q7!BPVHO<_g>u>up%U4>1ym#CSxSrUDySbhm +@E`2k8?^WMmVPE$EX~I0GyX0Pgnn_?!>K{uQbbpW!fNmnh1TFFD7%4M88;#iCZTb3OM5bPdBu2);y9G +QJA*`c9YI@UF>Y0h1UGDLz_U4@3zaz0X4wFkr$p<}Dy=(FO)e&bK4?e74B+VkYLudYTAMRG$uQ(P8WO +&h*F6yALunEKTZ4GzBY_df<$$mxzjSRbe2d7tPnsDf*|WtC1!H?}Vl9ETiKeSV6NY=nLS8yYf#FaoFa +8?s6~FaBaQC2fY&$4>p(76kvHJ$|;v2#H!G1NmJGCS|WiZD4@W8})hg9rzxWbCv>r-#dbb(x$Wh$7t7w-1Kg<5iI(imx7Ys#D=#W01lglYaA=Vfbqji>Azwy;gpZ +qmGL6+QhG?(Vu}=0qKtusOjGrcqfkj#BVAx&<3xD?^JQ31qYK&UU6lHkVZ+WLhHu5lZ89fTo{V@BSC- +Z8*RL*)Thp=n#H+R>F(VMBqRJ#fE_B~Z8;;y*9=Kdw&HMERtltwfo?I0IUyz~AzcQtrz;w$j?zFWw~G +KK2OrbBz5Vd!4`=TW&2jesWQ8AYa%yO5BTytAY+6qNO=Ocb1S7@x;|(F +}w-F9;Y?qU#K^8?fs0zeNw};h!d>WR(6HIM29IX$u6V8;^eazuDnmf5t*WAdJ`*(yzmq#1Yv#?kKu}p +V56&!}{s)U3PC$3bTx2@F`4x2KHGYJ>3YNKkA`|<=!&e!a6KLR|Wa@!3QIb#G@i<0zSE +7la3=DX!R*1YP45Isu-39k{cw}z>|q{Q&5eO*Ce_lM-EhLUCLAp830FIU6&Yf^ONtht$qoDeaQhdm-_ +u(9cKjTAa@_s)Rb;8b~5Oc-J+Z!Eb$rx@PI{ZL`x(Kh4@&lYui+XE+s6n=;Cp?N}VCTLj?#K31S)B*9 +T;)qK1R1XpxSa=qk(3Yfq#UoEKm)01WnlOw64yY;8d2wRCD_tW;-3T7J330Jx}pstCVE=8acUj54~~U +|^5Y_#3SSi!#|N3sTx1POBjw9Tk#(f>}G1Fz>D-<%wgU?!lAhKuS&;N1iVJ^zd;vWwoLpbN%@ui_U{~ +nw=`{&<$}u#IcL(pP4sytj`Sio~d +Ktd+RC5yPX_V=oaTx*gH#Ao&d?xaUuw4^aVjue!B3vIQy!qRzel{$=vJF@G1c>K=Ia^_0>|2)uqH-i{Yx&l7rKs#G?d&t>&+!5#MN61DNNk)BbEg{2SB#1YpDzc2!J`u1UCFbB$fsCSn~Gu6R|ekMGf341CxWy +&dMAtD=@3^NRhrPxy91jWKYx^jE)u!5y@)>F)zg5RG&b{2q6sF-p49KLc2TUkFOR4mL +o9ux;>{-^@Ws41ut}{AK}mLet>NU~>mu?Gw($fnxTHM^)Ir;MPP!=W|O$fsQZjOEVs%#`b7oVQr8ciMgpfAj5%N&Lzyy$O!8a%YlYSc?cLwC>|AxuxLOkGE~k-+ +#M~6?)msT&{C5-4>@tJ;mB2Euh;1lOs-q02}AoL7SXkoFL)faWo8 +qOT@R1Wh6T67dr8xzT-e-@5Pz1t9amCb!7{@Y=(cFm~`KR!442p|JiQcKk)8Aw+3-2ivO>_NbvHX`X< +4zzkWXaDnYlPjxU+&*EjiB0aIV~>-E-N9ZJwK4&>;>qj&efbMEqDple|STPI;57=t%ux?eV?P#c`VhPIvoy5bHCs_9UsS=9>W>Gg +e&fRlVnKY{b20S_xEdhS5Vsn@g5J@ADGZihHJ>1$M=)(>tMkSlV1a3JjEtXngU&?R{Y1{DCShW+tZHOJH%k@Hvi;_fwe +2-$Qv1kyc*Kze?3O;yv8xg4H@ +->EMU6D~!q24K)rvvKXdQMUvigwyPH8H2L-^KY`NTZtX;{eaJ1~6pdwlh)xbY>F0AhFdhejPv}FnI)e +lHR=4CLJV9|zt`$SY_AsJ~<&icpQi~Y-P@mjz-{_w@JBlh*U{n`Icik&Dp90w$a1rHlgGx`zBi4T$8$G$Fpd%zZR4((gvN!~|CH&m6&<)7Ws1%d(i=cnV7!($FO)peLrln}h!QQUXqImTW!oHNY%r&QR_QI;u~5y7+ +xzONdcU8zQ9&-s0Sg9chO0t~(&Ja{+wz#Cx)-x{hRc(IfZy~10+`}!66y#60hO9KQH0000800WU*Szg +RZwd)B002v?v03iSX0B~t=FJE?LZe(wAFLiQkY-wUMFJ*XRWpH$9Z*FrgaCyC1U2hw^5q;OMAQTvp3q +=WfUjpGeK(3-R0URf=?Dla@?NSo!U2;ouB?}krZ|}^I`>9=9?n48_l9uGm@XYYc40mI6#-eCbxWb4iV +lvCMag496P75a@|9dpr;JjJR<43*~c4p<%EYo}VwsS6z;#3Od%EjMRtg}27PTUHfFm4%6O659gkBmld +*dN>qwtR|3?xa?BG#bSzx0ZdoyZf~?Mw>}BcsU<2_%|MpX^|+Ov%-pmt&hy@q-B{-id4*C)`+I(Agv| +!AKWOZwv+JLk$Uh?Um^3C)~UC&vU$+bjW$f+49j9pDh?7fD8^Y1VrmVE*nn50k}irSR-~ILO_;JwSPL +Eq8t@;E&Tx=j(VS|aGH2G2G`_HNc45ctf=${|FPqwpNQzj5RSku2*jLy_F5|}(k;)5`YYUN3O)vt2Nq +NJfh){~6DVyAAC8iAjURLPcihmWtIuBq4<+A`*vn+UrJGSF{0YPSUEV%qvtqGUO2mlwP{QBs+{e_#YZF;K61;k8ci-+d2c2K{7wx_j`Td8;&(Hw9(eO5dDB4VA0v$o0$r!($ +k410k^=-M^MQP}rFD+dJm?(Ue2?#{c&IvqblC{2x4X9C#+*h-0~959BF9nW*2fU{)s&iKRi-Uyomxt= +oEn>idn#WPq3u4yS}>jKh1DrpON?AE~jz>Wz}7jQUibS+cqjt6=499W;XiP~AY=VDs +}~SMqf6=yBP%>K6G@*BIbY_i~GhP*JBlt~(jFKekym-bUt*u+^xY~;3+}HsA5>L`PB2~< +XTj4D5P4EE)F~`3`ZWY^sf^)M(z~bt+2AB=F?qHA(kj~MJmWmc^h*LAEycV2}BfW#JO7kl0?qnu(;Z_ +dl{VXCuHbB$>L8Wh6KinAB8I=`oLy7jtgVMfn9JH6Qxn%CBs>N%C{rYjSjatsk +Z=d#grzsE5N0pT34;S!08nj26Af{pbXgii}{Ed6=~7+A-|72cp)d +|Ceo+%!q1`axHT<8Z`T)7CU-cq|vN3su?vePI^}(LD?>$o7oH&bs+3w&w=abU6V^R~ +fm_Fu>9|yIIH+<^fm}lYg&RpR?^E~Qs$*+_{g*FZCb4Rk8jj5ZC9_-9Q6TD(o +20ue8hjb)m#tt!XAhUBXtMZw6T4yCS1GBjb;u>?sta9#9J-z6TCmIiPfPgql9X)blERmX=XAB= +#$8XxadUweTGH{4Rf`+@Zf-2RA?pfz0l%SMRC&*J>lTh4K6$eW}3rKva+s1@^0u8iJxB0B*kj@Xk3q( +n_$~0F&D>6@tXth5@Z#1QghbQ1SEeO`lEG;9w|!1f*)*ZN?L-Y|E?8aJ}aPunaj(9T`sp&jr1*yrvnd +3;lrvqFd|=^(c}_s}-KIUIGrQ>Z%N4A@=K$U9?FsL2G0lc;JwoXn5!n;SZf0!Gv%A(sdEK^;GoH9ev^ +gX2A_6mFH*W$|Xnkz4u%g-@&foZOJLZ9Pe#rvloSn7KKE5US6PzkAWb!oxrNV&2ex@-gob*gmGyz5>QAYru+%rZbIm6s>)^wO*c{c_SY +i0A>oYvqXpTHCI)I+3Q6%UZ+CD*%UNz~vA+4MG=|G5*6g)>cdBA3uEjz}|fd3a+XF3{iX)$mE9lYxzWXH}&fbcwScHP|;TF#`AUrlm$CpTK233! +*Qg&sL@=I7icRxPF=KLH!brT)XydqnaB<;;k1MevwS!99!A$ONt37R&ptq?^K)j#TUH&`i +h5TWtpsHVdoZB1q#d&4wq^~OZD#ArvS*}?Kl~~|AH=~Q~EWh+lYd!Ju5#1>W?~onLvCO4l#u7+Nnc62M!7#J1D^3s6e~1Q +Y-O00;mBky}~EC`&9L3IG6uApig!0001RX>c!Jc4cm4Z*nhna%^mAVlyvhX=Q9=b1ras-C28Y+sG0BU +!P*ZAP||8*0y{>1GOsZbL_hSaT+8!w1sU@D{>_J?T9@}bHUFCptY++=32f394nDz8#3SJ@qAe;zohN~MuUd`t2N2;F0Y7XWX +1JaJg)V|^OxqgVQUpl)&sJa9DJ8GexTa8Eu#k4$G0Re?GYn~&Ms-ktn+fmWVq!l=4Gg~3Cndfo1LEc+ +B=_ETJeqpe&T7tOR}!A2%Uu*Xhwu(G5Mv+B?m{K-BM08Z=!f}3BR;K!PtryxR^=4*`r`d#$%FXo&o#UabH>Dl}9SFf}>VnWj7PD6m8nt}o(5&>M +(G`|;$W~rn&eer_4=UUD0>G$LhTPX`MKRS|mo(h_9xu$u!IoirydW4n(f+s=~Oo8B!%dic`J`fcM0cZ +%nT9*kLP?l&Z{!jovund?P@T2v}vvl9Wpi->OSS<~3F3S8<5(7gf$a1;bOThCI;j)AimloQ9mxkS$a> +^8)GS#j|fvPNt@|YVzd)Q6D(L%B;;=U4Pf*FCXl8lvmh1Z}tK+C$&-!$gP*Y_&9p1$yck>!}>2(i5nP +6n808bpGA9(y-8H|0$>4%}!F7-I`kjh~8z_f&Xe@|3i&UGJ6Uz9DRgDbKVtOhifIHT(HP#0yFMpS2k- +)V7PV%)!QH?Io|*f;R7h3DIy$1@9iMqE$;!>yP$(`?uMgkSFBrUTy)DvqLttQnzgQgy>}(;%(WVaTeI4$p=|8!Ez~IUTvOI~9kvMYR~J6>`bIvCkIZ+@5cLi{%Er$_AKnA~XSKERZmQ$s+02{6&!_M`G4^`Li%=<73PY#}6l$HWi +_AM+&hui-Tp5rdMe4+xY!^lw!3(6RK6?}Z=SY7^AZGC9f|PerxztzvB?chbVa8jj`Y`G2W`D}dE?{C` +!mRgqh2S^kojcPQb@lC5>~)0FU&V>+AB-z`I>sX_tQ#4EmKpAwJ}DrQubsonsY01Un=;Ruk{Xh$gt2a +f6=)8Nte4fm%J-9YSDE1KlGZGd(`6;(m;@rjNCu%B9-La4I;hYq4s0w(IaD1Zs_hd5k8z~rDvlimK)9 +fjR;FaZrD&vqa_(p6y6z66u3U@E$2Wh|zcP++=QC21nT^aF7VvK)+NU>K#)G(Z*k1;RmICOnP(eDx7r ++llTof}pX{gmDgXl$wmJ@_6sW-`97i5Nnpl8qcQWszQF;dbT|ifdp+%xN@XTjxw}%_s1OQIP(I7iKWe +`W{~&|VrV;xVZLz^$*IaJ+KkBG5MZbzSt1jb>I9~2DAnAEhxX41ZC_jt9~J>81{en>kY>S{z*I$~ZgW +(&F*z8IF>+Ay!@g!`X19rU2K>!2fzOu*G2_gWb;S%r)GG{|x+ZwKp43kY#Lbc5wC2e=V(})=oJ~g7!P +Ukri-Tfn8Ygy9A{r`}FO)!?H#Hy@wMgw93jYfwefx!VFZ60(+#aQelK~2Zi*Fu-A-0XKu)DjYJ@6+L! +w`DgJg!}WOYXf)a=qCSP|NoKiDt8Vra-Xp~H{up`6So0n=8J+8!|pj7>U;n4WnyQ+iV$nk +`X%{`bvHO;GW(4j9mOKW=I@6hK3&-`XXK;dWX2VD-RQS7kzyJ7*gvSwk{Y7QV;vSS;5^s(TZoWt+co8!UqfGu)OH`sdN=iku +UJN!HCy*=P-T6{Km(`Rkj_0OQj1Gh3=rwQY=rli%Ae%EckVSIHA{&O>qwzde}nlY#g*sAA3&n9*#Ac^ +EKqmc``p-pZa+e`kJi2#xWp|GR;(_l*o7?JJy!P?I~>gJP8 +Qy$6YuxrZU#SQ@Pksi98R=KBFF~Uw@vN^x2eEbw8TD;o82uF)hcx}^e{WBtm->qu5MBqwBU7$rS0W>v +qPv0CQN|+bgfTeFllD7uiHmAQ@FV7=b8$PX6}469vkQyCI&i+^8vKJQ#*y*)|+XfH&PAKr!d1A-!xq( +bX*}`CgHj_fI)B4`Tvvi{5seFW%F)ZMz=iC;x+%C$=#-yZaCyxvvoo)8Pu8v+J@F +;du^9*gAOhXa#}^GMoCLD1FN3+4hMTHc|g}T!9e=_b@dL4>+01Z$Nyk>K_7@}T|-e(I8f}=()M6iw+V +3r4n3*08i>wPY9O+xyNUzgzJjyG0F=S7keL{%#p)v6xf=jlJrR*y*JI%LRhY(f-$>Piw>!+c_XbVl~B>iGJc26I7uOpgUjRA(%ppP)MavxwkX#Q5%4BG4#d%Qjbu&7jCeZ%-|9KTz*nX#qObuUCJ&ztlXd +x^NygxZe}5rN_3O`J;sm{efdcBA#Hx}OeutUAL?llKPact>vqGuMO&j9;N?(yK#f{XhB_P)h>@6aWAK +2mk|-TUm#zzoUKw004*y0018V003}la4%nWWo~3|axZmqY;0*_GcRUoY-Mn7b963nd6iYcj@vd6z3VF +mDi)9mn?V{NC|v9%Xae|ah9z?5&CGklVQX{;MbQp!Fjy +2Ix?URxys}yj4vXK`mg}RaZwWTN$!C)_WjU6fntv1k!4xQH0vIQhN0i0GTwTU#g!v`taeWooN3|EcrvX`&(JlKmC +lnw>6zyA4cOm2xY1)@r++AIyI>F95e6jZZKtlE=P1l9{({g1V?*{H#y{4LpWhoJ9>%+Z1+VdwMEd#)` +=VM*Z@vfCBh<=_S)#{yLWjUe1rc=bk>tb*&NmPF>J{5BXVMfEDm&yIC3W0)xsqCpV<)^Sy1%yktaQE*)zPn;iwYJfEuPwXyV)e{cp<|A2nFKE`aJyVq)(5s@XtPA1iN|tH2%Tr7>4<#E=CTsUxR;sCf +OreF$N9x25SEvF2&b +T2f}f`dY*RqX{4#VL#%C_cs5z}4c?5^&Oov84#`ODwROw+TrLN60uvv{faCp5tIm=^ON$s^Ow@2x0tx0rDez&aC5a)4jp4c*4~+)#7Wy6d?Um5{>ipN94a$>D=5+`h*}k +PC%{U{6fdBko4ii>#)B(71U{_j>&};k8zdZvBvMBp|(Ty8bvE-7D*nW}uT95n|tE^v9 +ZJZo>;Mz-JeE9R;wEafU}lkC0d8c>1UG;M<>X%MHoSY!i=qDI!#6shHqw$(-d`#q0&ld_%eu8Z0dXXe +bzdB2!#+w4W2Z~LxqWu6PQKQwJ8inVU4zLPnBpG?g2vZ*RrcB-kheYEZCvTK^kJ*b+?OI2S^CR>D^<- +r;Y{>Kj=-u)N=0#I?g{oz1)|X9P^YR1i5<+<4M&7~5f}UNZ4{>(BKIXdI$ +-Oi%(b?lpXr?JUphVh@}{JuOvWHm7FpSrlkai7( +9RrYxkhY@tOOsb(LSsRs&*^DfvdV;Vi&lCvQ9Z2)8~ITHiG7#!Ztgz{+=x?(pDK=}0pp*juF@R?qSrllEu4T4r30dE0`btXRS6fm3? +y=G`IsJpf=LHrpi93`9Nj6hj!bc|G%C?J>kLclsdfOi{tjQqflRo(f=o!ZN$_ak`fZPgU?;R6r)*~oZ +G>S#9epFbDOC=I+dT*Hs7tERjf8_-SPmNG9k8{m08a(2%|qeGs^gW-VP#>bfRhGUKi2SX7*o?6JPIl9 +(yDdSLgMO{kKYy}KvAVe>C98t@v<{67Mt_{XL(0y^M)o*fyxI0qv<`Nqqiyz8K$a#dc#73|-LS>Q6x* +rZ+YO5}JLRkSlLh6=RvdbIR_&lXjpdR7Mvr1meO3dKYa}byV38npdjb?zpAT9up^SS8yLnQ;?1YO6#; +{(E3kRD#*E&myyXe-mnTX-nj1B{JH(m;pU8K_FmL9V61=NmdJV`D_f0g@J5qa(axAkohd4(g<`*B$6} +m@8P`wa`0KMXD~Vej{nMQ4gwyZ=g_cc7a-CuWGgL_t^yX{ZH_88F~@70!YAcRSFK(3H5 +%cW|;A`G)EqBGW0>!(qCXHYfRVUjT(NluEP^>}NaOG-6Tv2;hZnZKPIS1`g5Q{SQ8Q129hWh~mFo?L> +$$EGXG;?eW4QsEFHl8;eyc=bZyjs~a5TaKrL^XUNk%~E=PS_m}QUoVVftxENT;nhDJm7=JmAV3Lz5W% +L*t!PfFJQ!nXbWf|EmFW8Q-#640t3N)&cPFAiH)*xX +35?>nS29@<}S0iMj2B=85|Db;FLr1o0N^!OQ0oXx{YAE(AM`9#v5Jj<%)24po^K`u))pP#td=Jdc(z( +y!jBpL4D;F1t0)RMIwy$P!2!a}rry3y2NrLdn3%ce3$?W%EQ0V5_ +6{)g3H`ge>BQTnmVRA$cbc{Ir<;WXnd;W4(M5^U1Kg&|yK!jS7WT;<&7$Y}C-7*#bEetj7fGCd-Uzj98MVAvru_j`JSP#Pi}&_>8QA{0_56kE{`$karX6Le@?D;(!{-SUzMgXFH7YB7 +3W&u!j63r6a|LOVRw$rB1NLqhuqjXsqR}Y?6vM|Pw#e_3v%((2bhg% +!-;Wy@V8|`8}chWh)P!1Cd(bu4-v;f-%hcqyV_b{;3DzdHL@7VisHeLjF=v1^*K%_~{Y>{_~-AAUM9-fb@~|lmqGk24rin91z +2pV0;?Qz70qsZ_6D0eExJ@ROZn-fWuS*y=C2PM#6gr|9w$uvevD9+!hMm>KZL>2d4t_B7BZMJs7PFPF +BksqMA7xUw1*_FX#UU@i;MMa8he0@W%z`0QPe=&$>W01{yuw+nxtF#chIDEdpg|{ERs9n|UULIC`~8E +&;9^xD+-WjH%!7J4R^(hz?$uJNEe@69w-{3d78BQFiQk81)QmLl-o*V-Vxx{+QBOAH_LBJ6{EIY18_v +2qU1k4n>Vn_C^VaS9Bo=7-YS1VU-b~4FvLNb2&eyextHYHcC(6NKYwhH+FnX?aR +JMFPm8@VtVn_LsXTbl(BxB;4`{E+g1}?{s+cXlb_yV8uBc1OgAbrd6f!8LhM6vqV-#P=`^O&qFhT&Y{ +tkM===6#9uLk0xs+Gcdu+V2evIrlvU$!V}u;5Js?{vv39lb6pF%MS4xBl{_tQ-q1Sj +@9&)G0mPNH@(yjrXJ8^OnSu*p#0dHDF8%$3#QfVIRouw*A^i~3#(pN+7{^HkV@yx(F{xleA22*PEbwg +OgXth=*lU~f$Dh@yL&l}+)he?aJ3P?-UeP6{U@zNCIDyMrTEF;A1C*hDTCE(U>!MX8&3OI9HK+Usn8r +l!Q$!3@2@ixhpit(Wn`xvJxeSq=h&ed}!&3Zg`nKVmwm!&GZ54o?Mq)Ush;u?i9$;-2e4d|L9%T`YIs +vu8%$QyRDHUIWir>qm`+(9}C-pPA`n(>o?eR`V9XyS)~u1ZZ5$)Z`Cp70LowJTVF$BQ2Se +)&vlB!OU#`AGX7Gm;(0&rz;CkVvXn0k5mTN8;)qEvM9`u~uW12wz3Dl5;{cTIc*;CWyTk%7)qOQ`1`3 +9=Q0(U;J@CWYHmbikM|PlNoAni1!T`=n#QsP<66JmXa +-PF<4QW|$VcgRp9{4oXs72Li|Jc~Esi{ZD*Lspgo~7p__rMTf60^t<{kSfVkY_mZPd`i1fC +_0xM?KW%YD(6I|%W>Lq#9AIRwci1`|0aIBp`c80A@_bOF)J@PH@~7Sr=+u3}$m%;|I9+$1^E8?H@Jaw +<6pr+B5!2@8ykqt*9|el(rz+{k2B>tm+ogrPWzpdf61K)^f@zUXca;U6usKNLs6+T#z#(wD9S{F +5iXPtEystSozXdJ8(tAb7I6@HbtV{RmvG~{NDP-OV*Qumv}pY;5xJCl7$t0vTx2^4XYl| +0LB@oFiikt|EQl`pEKJP6S1SM^y9J*eq%e6l^eUNeZHn&%tG>ZyfZm`I1e(L;1`&Jo#|M}{s=;ljnm)RM^PJ)*$=$`L!5(Z=TeP~;CyqFJ0zfL=E +)}D6a=_?Z0dNh$AcVQ=4#%3lb+V|14~I{1{;L`|fXc9HYxTn|SK$z_Nr6#jfy^j41{46IM{1Zdjdn5t +B*MC5b#zsDa+o;q=0^hiB;0#lua`~a{sSX&`{UR?8J8uhZD+bo*8MX&xW;^fP5IdPx)v|50eoX$e-5XyUP$iLx)Pt7w +Mu!f|I +Q_rwvvL)3)zj)FKI4>)3-z3cT5Z!3Uzb@Op*`kpnu%i&U2tWv{imZHIMD3Gp?&UPP#%?B2So%6}w!8{ +n$XRLa--vsu9N`*dvEJ{<5whTLqB!fi3EgKs0dx6+S0637c-~#)@n93`YNTm?b$OAir3?5_Td@y@9NF +WWSj9NhpHLP-7ur7hIs=)SRwCL>PTA27s&z&bXuQ$yimEtDEG;0rj0G9mW8G|yghs5qQahx?erZ$VOFFYdZpDRD*CKZp +FUK#{&7$EsGO@(&CbB_%?wkvFvp7XZy{t=s&drzhg_{9CC~cFTGc#wwZ{iGO!GfgGjMRjxJHN`A2>T( +bkzT;8gX=}w7wr`nx50ZTw$wmi46H3`TPPCIUnYfNB)lxIOq61~Y;$tWY(=dR#dV`L)Glbd5o+1pH0> +2N7LvJ9VS$t6Q)#chW^?Q+1I3SxvDkUeji!iF99|zW&j*uCu*I)mW-%8NcCtGTYTb_E?g;@Baq%u=Oe +u@wB{!X-cLQNkOHHRSH^u26lw=;m`wTkIf=lt3&2i)G`>#13-9+c1!YqFq6lVvKn&(Hmx2nsQ{LWe8x +v(Bt+7I|v2$9KS`ch{ijH)I?A3?%O%_wSmbsI+CF>cC!%B!xS*vO_t(M{@SPQs{P_Yfd2$o ++BUQ4d#|y@ms&jj7Jg3?S8q%&-+ikvnUk8i0aRz|Y!_(o^5`sRzDjyP{}10c0lNQ+9vZzvVI8kv&58@ +*>>!4%k=CsyP@L%9s@lG@wlEPU4p@)c*aj31cE!=^#qE;pSHOkiS5`3KZNeCtlWm+P8?GM+T+|_LY6o +~aE8iT*nL0IGwR7!26bC`1PHzl3cyJbqo2fm3-hGh9Xm#v)OKg62xj$~FO(J$e!B-YH2;PGuK;)P=*v +%|n*m4LZC=r2lFbAvXVJWC(tJ{Yt3EmBhQOo$mU^D3Hu}N4seX*|SRVA1j2eJl5K1d)ylwe@eN8wg{r +u&1ynd!@?R5H1>bIj#Z!y!c05IHfutfli@$%LcLle00??1AK1kixgEs;yD!C#D=W3<%4_g0u>Zg%5j}d3j~@BB5BuZ67vN* +!F|co2y9)7r`voXd*ANJ0LcDq>%xl04(G@KiY+>KC1Yhv&E8i_eyjxT^#ZlYydb~CMWjH2>#CVbT#bb +)z2+&y1+a#^Z4iNV5+NN9^AVvz$cK@Pwtf-md*^{T=4Em3sU@S=D{rSDiPw!icf7Ytbn)Y(6_n6lvoy +Sk&J)YgUhrWB0_D}b&?m$t2FLSCrdi03TlIG~BYL8Bq-!&Gfwq*R2npu)U@ +$<%7v1xFA9>r0CgYR!O^0r3eMY_2d7JZ4hhhJZ+srXV1b6IY(t-;(egK`RYj8mE+$xubJqI8H`7YC0~ +D$pbmX0`*(r#9;yOKhdCJh6`UYQpe_^J8l*6NI1qm +ad;HJe#})*v=@tdg#+JAj3xc<=XM>fClf0c|rDCT3Xx^ptnV$Hrr&r{I98vW6ArSaxDFA*NP@+Ge(;6 +sr&ic>&D-ce7xc4AVyiM_+Zn7M<)sCmg@3_?cgYo5QaG>bnYtw#UCNrK7%A1HWW&X(2=KCgld-d +)UXVdq0=0#4=2B{+aqC{4v{eY7s^weKG{uH2!z9X1>h86g7KB@q_b&mO)YC{{c`-0|XQR000O81Cd)<09l@lvj_kHBN +_kz9smFUaA|NaUv_0~WN&gWb#iQMX<{=ka%FLKWpi{caCya9U2oes7Jc`xAhZv*GmZju-wXtcpv`UqO +qyVt!D7)ZWZI%^P9#xFQgJ**{`;OwQeU>x&R{XKMo?Q6d3it1J@=B$v?^GVWVNleND?NCN@>gZ+Niv? +BJt0YNfD=V&Tk||xJ-10EL;+rSF6{eYQJc`ny +@qm5`5V9f6^nIs9%b7*_XK1V-^|J1_RJ7IS!HPM&JWU|S*F>Lr^rq;iRjh!zi44){9-1mD`K8sR9u3& +|HktKuH%&mu}`<Fpga;S0TrCvM7vR?jkpE^D#l&l1X!f(3t)<(6$!QK*vHLxl+{W3(63-t3^9X*Wy7#tGW*< +YwpA(2{0$CPkk57?NbGSZzem;ZudBncTqVhlL*so`}QpBm^IZte7-TMP{*=+<$@r4?ojCSC8*+-cY|)IYgD02ZkSMFFXq-E!)dHXSq^Otgc8ukGQJRs?w5M(M69m%QDmwVjY)is^kR0eT6iGR*w+i|868x;Ev1z_m%j?lU^~Yuq0KVb;YQd_@YD^m@VW5=BwCi6yiNslw{ +Q#eZ^E%)b(srfslukZkwI}`TZxoxg^8Ccmm6vGL)>Pr`_aQ((in5ezD6D@(Sk+54}B4W===WR@%H}Xr +|5MO@*xB9Nf?+UGb8eB(P(k`5gwa&_R!0?(eSd>6%qT|lNDHDHdwZ3p8{93&zRml5bWHp-B4ebZuFRB +FCTT?d)<-mTGeIB^|92mv!}g#m@gUo3%gnytNF&Z?=_bI%tvK!8`=};wbn{^X1O4|4-6?@Y{;`A+d>m +x83K1k!{vy%)J*M5wrbh5q0_jVJMX+3a1#R65HC3~q_j75=r))eq$f}NUO*f6r_UY04{9Ig`Z3Wv_`3 +WVOE;CZ(pD?44Xjyn17cC0SXL{qGRBdSX~-`6JnoSF_~T&nUM+I7u@q@cs!0uJlb~F1XvqtN*HTg!ys +UZN;Uh!t+nC*2w&5j;hTD$lt)NnEq^&vCA><$GKrWcE#41!;i1h=h&_`7?k8(JL#Vn;@5mzW=s0jt3C +6WD3lnf;f2@TBof(RCDg#~|(RExzM?;MwRxJ9lBILEs{?I}_@2J+)b#iKC}-n?uOR#%nKv-zZ-i~%K| +qec;oMPIN6-`zx+HNxOh#|tAgv>bq43$#{Y@~H!cdDSU9#J2zH&>g;q03S%2caX@9_{|!T+y6L~jaQ&J$A>>Gxwt33Te)L{}FtU3JPs$X +~;Et_SpC-VS*wB=&f^WXsB-Vs9`Fqi#s$)dkS?1!!qpZTf1<$Y*11#uA5v$IBxx8X1Z;qNG;eZc(Th4 +cvJe-aAGH@_W*#~o-uVJq>U#M`UYs579$48h?ToG)naPLX9+mz(a`^5)5J6?9Cga)h&6-di}@ +``e3sdb=}O3d!5P28h78CSxe6yp||-Oi2dcHI=4prdqU@Z#lsq?4Zx_wL+v*B$}d+VA?Drp&rBNM~Z# +grmHI4yg&3c4`nHZdA$F`Jsb0&qO$CQG<_?;=5rh3o7?Y#q0*f?pbJe04Vr@ts&;A33ew)ZcFUh7G7` +l{Z(yuJ@r4K?x8!NBVj1-JnuuUZSbkFcoK(;XP(#8B524q?CRr(RusJ@18t2CFJ@P)eek`^jGjwKTQC +B`g5BNTT|0NqnV$w<=^+~0DI}uNFJ^zI+W*3-m0T_-16B%$Iq=>|$(m+LO_yxC=6bpqd5g3p6)|N-Q| +WhXU+i?jrXl$5L>*pD=OZ!@iM*A8eR?t+?{yRAD6>4B&BvsW!D&y-uTIQbmaUjD)=D`QawJj~d@C+~s +l;|v?^01F0JlpFK2wH2kH=y_))Nz6lzI#SNTdhJ30LJNnX=-8skvdjm)A!y3=Z}cQG?WW>*zS&JI6or +^_gY%a#N&pCluZRf1PF#UKRv)=Xs40&s$fm+2r1Oc^H(rEZiJN;-A*(Ne{=&ugfEVTcFFIAH~oHhUPk +4#{nBz;)A~98r}idaUtho5a$q9a&FlQz +RexQAmVj`A+wzCRr|sOi7k{^T^gBf9pVP7ele>Nc*zNgp`QO +wo4>Zgjfv$gK^IK6^;exr~0iF{c6A7YDn3egk`b(_T-J+FRW;%3)xBGWVOE^zUnhCz9yb-HOK#|9Te+ +-S8q?rFAZ5=3wH&{WPDGgcvqSzQjr5<|aw65A`=(8+TP6&R1t#Z`~Q~X-~iA!}#|zpFX!4F%J->@zz(|K&guFx+2}(;^?v7CqIM~G0+pX{|6W$+Oms1MxVkh#ON`5!}qp4 +SR%KU!;5R;Ls$r!X_;@{5+uS?N+jGBPY-Aczy3TJ@10w|6Sz +DRq#YLwLPvN9gZA>iHg(xqKB@-^5-<=l{dr*#@Z)=%~cxQ`zC^mreI{-q?3;;LzFHlPZ1QY-O00;mBk +y}|%Ahc!Jc4cm4Z*nhna%^mAVlyvtWpi+EZgXWWaCz-LYj@kYmEZj~lVSoGH2LJ*fNPD)kv-@FnW*mzIE`W=R`@Zn9$k$> +rS=Lou$jL+`>rGx%BA%6bT32$y-}m;^^CZ{5rTJ==WGnr(+?D#*ZCqsV#(e*0n#}f=ILf8oQZdNCil2+q`TEslB!3Od7 +h?nUL|=}>eoNr-oF1y#tT`zO6HYn2$RmZoo@CrF6GV58=BmhI$eC8%MCVBeWdd|u{@-MhT{s +j4=Bmh*hQiK}Fm$}zotCFl7474~HczL$o_fCM?1Bt#27-zvW7D6`6Tm(6LWGW@stTXLO6%??Cp!cOg_B4yuEQT&_blYM;?XnB3&5EB#YBD +0H=)=eYXDe&t#(x)(z08Y)%&ed3||(b31u^@%H7#HFQ0qhgY{hU0kb&H}LeBdB%qqZ{A#en7n#%`vM- +GgogN~XSWlT$KQx&q6?kex5VW@Z-0f6y{7+-qYQwM;p{3I7e%}qj_hOW%snu92g@Kpdzk``Q4ZltGsN +~TNhR^Y({h@=Jj;5NGh +5oZf=z}*jo)^x0nWs=P$(%w##cQH_8Y&1kX`;oW>vaIqA%rMU8cTQhyzJ!D74F^-GKzq_1xQUvA>D|X +5eM~a==v9NuV%UOcf{}~F@DatYelT1|WmP1b;b=q$V~ukl5K##O +R>Q$~F#6OC79FDJ*abARPdPTnt^H9?dD{yXcmdj?TVE=yFyMKNU=%by%xjers_ +KiBh*c-3`B?02`oy8MJ!ZN?FsX&0&dI8CbKT4asG@3YL23S#FIEK8HyjU0$K7?Hw;{WK2||(Kr +D*k9dfez^Auyu_zDc#<~{U1UUOCjd41?1LHel(HhwUPQ|RQh`^26I-SnIV4qH5=>$B@;jk=d@w_VwIM +asjx7UckUMvZ!{5ITZ3}SVRKEf&#~j#+PZC3xB={>iw>|%Yj-e7yuRpXA?w2u{$WmD +PaF}n&eZ01Yhb@j%j9d5JNDPIWiScHY8wrfqoKXDe;2T3}##UJS(q^$d|+b2;i~+3AW9Pdxh4E&!Dz| +5X8q7o=v3wnFQViiV^FZid`YpM^UXL^eF+vo`~6r;x`V@M4fc(?8*U3>IJZxBu#ONsy8fhQ5UFJ0T|# +DHMwjeXCU6Ro^c2!$Pl>(l@-`9cc9^E%voI0o;%$5K*2lI?Ds%%Rd?{bNLFZx8K*}x{s$(V#61CGTL3 +3TR$CfYz7XVIiJyRD1D$t!ERqUP2XlRp8Memtfd-S-YJqxw%-H0tUWrXzZ1NKLtGI-|4M0>;x1e1LRv +_JV!XYmbSvIS?rOl&<`na-ufdy1%9sgMuDUkPb?KuL|Bf7?)(}pVXvjtMdLG^AkY5b#>W#!I8X0VXC+ +3iV6-mzv{7yRBxIesrd@0#DE?}?msieF=U1=Tp8m)@n{+ecpMy``47yon3(_+L1uUC;UthesyuLWUo!s2Mxc&L +&f<}6NbUYT%k52H%bNulw{`l@wK#)7Kdu+bpX*nAVng@)D@(d@}JViU9F3*mdCn!qc+}e+TZI$rE?^z +`C%5LUykuy5cmhNaDeeY%KXnKQf@;vn(HC|!w#kyR1PZaHYPs8MSM(!iKFH!acxb9uPXaVMzaB{piab +4x?XSG(Uy*G+z60l!Tu*~I9ZO+(pfQRe~)fA{i{njj~rQmxVT;O_8&q2c!fp!4>;=WYG0dLiB?rSC#c ++0=|fRSJbF#h7cbg2W?H0Oao4D+%xy|eD?@Ww*x@C&zdvvJU&`O2fmSMq1+vRU%UV#X$#V`)B22$gHe>`TWR|Y_Qk6_J3uvWUbE+IBY{jn%Y|vrQQgEv#b +id(7FMX-ERu2#3M{@#n&Z^it7l>eU$lKkDhN&#HB_3iW#KuF(Sbq)8AAqKU?UoYQMAWi4l1;3Fd?)C0 +P6_TJiiALUV{pQOVQp6l7;+s=yL3lJ<{b;6Fi2$l)N&^Wn{0*6J~_SCU%3(d&pfg!^O~(dhS=t))3e+?RIXiJncY-KIZkA4IbSuzVl+`{Fg4^PcO3-4HS^z_=`gGS9?O^cC%mdLFgTL4Z3sPB&K= +nqJFIcOOF3JOn^+Pv0h#Bml7hNn||S9n +sfc2yg<2hVFLqt#e6@$yla?j3YH8lz=O+R~Fft)2|+5J8v?1YMIj)smada8w=~{~&p#mLh(LlN9}5;k +g<;z0H%ggNK{goEgBXenI2grf{W!v?CGwpi +2t&Em>Z^`$0MaY9X!uWlCPGbjNFB3eu>hU40}`B>>(}Sv+mq)<0AntmN6({^h@;L3_vv#|cqJu27b=| +9EE6`THS5zZSb7`VuLF@^K6Q=g)t_KEf8SXy2|8M`C^vGREYZ?kV?Y7u&-0a)NP_`*GbywuIL0XH3VH +?|V}ZWNSR$|Wsrc$-4F8YRex|6b%dD&cl|-6!?%Q#44zmKOD@`%Us#2LGF{KWsInpn~m;${_t;2jg4# +8tswc?D}ucT0~<FiH +9Bd5;RA`Efwx^c%CcxkAxx*#xz5Ntigd4#HT+#U8i?Ns&*fo%+DkJGSuHNwGDE63uFvqIJJ#ej{11Co6(`T5< +yzq|VIu1}}bt}~=1%Oq)Om|f^H0FInRp+lS&p*dH{2dE?)Q27EVj1aS@!$M_a6b(;~zCthZS0gk*WHs3TiK{L +A8nNhZZ_B42`$a326Ipy`!BrQEtCwdm!7B^f7p7rFJd_-;%>AG?c}CgB@X#26882T0K8?@o}?`K*q{{ +1EB;%&0=zKeSLL3Ie+uwhQmC=%PVC|HpzLs$VWm-VSvv7qDnU+P-8nInx|+bQj9$p`8mC +lOJ+P8x{{JGP^@oqgp^>iD?{Uk46)OBLz!+JfnodvQ>k0b*FR0|?Q^p4^rSkIK@_W|)?s{u-r}9rUz0 +n~%1LFgsuJ1?LznjMk8&!0ho1Vn3g`_3v~@V`NyXcfDnf0+Ur$>jlkOvjxjFO{$i*=!tWLvW+wIouJd +v{7yho(G#)e8m)%&d-r+Ef6O45Lg{$y#l;(U>+MnX2w*zd&Q_Rwhk1URdgeY7_l48n9Zs2l>Me8^`pRgwq%~5e8GB5uC0X7|1Ay6x)d!V4*HzO0^KsYh{Ir=4u7(i6dE4p+BVBV)~{ATm +G>H5>**;KBJ?OgC1t41ERi!!XQK0A@}zYI%kTY2O*_YAeaf}X#wqj`S!&*;gwT{*n3_`Lf%5)8hUI(J +@29PQ1(B8|Dofzc0Amp&i!C74pU_5dBeI$#;JB2qCsm;W|7~^3?x#4LI$SpubU!uK(&TRASG9KMZSdz +Z;dh^Kjg`RNt@Wu#sgAk+Ga@7ojXnE*gNHC!D1bn5DdIX$lT(1C6XS&Nq01>OfpH(L`96Gn%9K~#}16 +xZ;5KbO#=y*y$=)ey|*kT`c?l9B#_-YdJ^E@ +FOW399!>7h^KZZ(c*%EQ2k0gD-4HK}PHzO-N`FIl}@CUc#P$C(~&aF|{U0uU7-#1)50DQi3ycR4B(OC +L#$PbY7#fmh{u4_dlHgDyTSItn5}Q!LHT$u4Z%$aSSs5}ABp>#ft}K~p-$lVxoGP7{0V+E^0->Z*Hi; +;y!lv)oWcTy6TN@dKxpX0koWYbyqRnD{p)#R%9Thak1h;fQ<5fmx=PaK0i5}(eET`W8%x=A&E(h +BXrk?~lQwD;u;@jUttT}kIESNaEd@O|_x%y1qf>j9jB_^#ck2D;kH(=WeV0p{yj1oG +rdr9GN|ld`O3`Q^#i$ItiacWAUmljivN>yxj){{H);qsWOhHh5QGIB|O?E;!nv-qzd9Stol +eLw)EV6t-`E?kF}xIlyt%XGa0uGhkbGK^*7=z42{+=hnDj-XmakP9h_<^KKagR!_}<#Ub!@Jv+?V{or +PTb7#ilb;Q+4w*u#SUg$H5m&L`|5#2$xdP4~7JBN&Ki4QY?m?_FAMRLVs6#Cl6S@iPMm_pLWf|IxNcD +j6vDrI~=KOtT?X0~4w0IVK6l_nMgN63bqJX1x>Q?sVgVz!AZ?Ay2xUFVjLBSV@#hc6mi4h`KV_vjF_8 +tLopy7~(2G5Hyz8)RO$J)aP7mKjWMqx=Ac#@OK3yl63;&9Z{%KIJzo5IC+D;YphCa;lwQ#3F=63lik` +>@0?P&DtwS=%LtAGW%NdF1W^tztkS!!sdG+LZkgqolZB`+8Q6htURd7q%M>M~d*wv) +&!khdZ=POsQDZ6s_q`LS;CBa6B%%ycXLyt5p44Mt +Ojj2FYf&;6E5S&YBCrX`tt#sPE}>UHILyH$dQ5*I8fgt~pE!DD45>^2@>v!yCRYshF8@hhjaGk12*>cz->7Ql-#1!o-a@2Ay$=jA +K{^}g>2Y$lR&^aZY_q??9SN+k_-)N4lI}h+PIz<`sK8>qoUaSul*P5S-m-TA3(?ur~kPj(T`okW8mPe +SB`7BonsHHiNVHh2dbwU%0)oc+npWTvW#_0oJT4F*>*qEMl0E<)H-5qe+i1;{q8ph5tmFK5p3;W`8;y&iHAl4Rib! +D^6ZeegKuM(!}oOl)1X-ST)0AIWU(6Q`%*V@&_#D%Gn#61%LTVPQ@4>&(Nut21tQzuMX_|chJ_M8n%w^C-uVY+a$QQHcAs9ftAB~^ +uQ+zJz4uXPmea%d0IEn`$_z*CX}_WZf_=uXYjRaJ}|zz@cDdG{?%o~+B`Z-UBvhu;1|*J^{!sSCK5d7 +%_HRBM!79zjziE>*~m6$hYw;RS^nlvZvy6}!17gtkz{&K!OS!w>{V9d&%?%GvsBsP*WSvzCgBP)Nl*D +wnAfAkNsp@OGtwU~IFXXWXQ3m1UE(OG^H{1}n&lgX0H{I_(|fB0B4KIUFWxq#50d0_yutml@$q9cURg +M31Hx$p43og%E{#3FVE%P;SL?qTbM1FMS0MiIFmB6RWyHcVVYSf7w_^44Q!U80YMjAt4qlqUg_<(Q4? +~6DHV>$pjgrJNt$c{75$v@F6v<0gu~63B94VywB5eEP%$o_`+OddB5%83x7%;@QR-&T-+dZ$ty5`Vmc +k`!x39Yy5IrH52yk5R(MRc1=S$u+Hh*?UJn#lDyvEbR{R<%zFPxbcroTry9UN|+ODN9rqeJXH>KeP)( +f{Ts{F+j>Uc7e&(Zt8o`k}e%D;XRecO83Riqv{+uo{J$4}T?d93O^0v@=Aqv_O#I+*6|qSRS6@#ml_q +d!E2{&YpV$x>}>TwUs}?L*kB0Y3!8@W{S#sKoMQi=18Ml5TM*T)k0W2F3Ja +vXU_sLLW#J*OTp%RqYswbsw;3n=gKh$&$Yw{Ksq`o^>7j$M@JE8nVdGo*AY1sXKrfX!q;>c4O~3pxU0 +O_oxM`CfGzyMD``=|{GM{A&Q8YN2)A<+_u5#q?%PC$zl`g&rFi{vME=TnL|0`9iIi*UOnvlQqBAgji? +m&%%OdGKzfa`f<0f$rV`F`Vl+GUR3+181>kCmwHTQTKcx*=ZR4lV<5H@4l`38@sEk`R(sB<6uyDa=zNs}Y-D9EP)ZEr=qf_E#nys!2)Xzzj3Am))<801SkTTLmi>~WvBneQVz;NSSD@5g +JG$J@2DA41Wm$F^w!gOW08D%LvCJv{L8EdqFCP{!rmRJZg%q!q;#(*Ck=?Btn6%-#oc+a$ncg>S}x3R?0p$0cfz6XI{#eu#}x(z&u&1 +<1T+cIlXT@h9Ymz_6Xk+8;9{@}NC*UROa;q|r>Y1(7@PY#8jtkc2^jo6;&Sqs>|I?>+<(@$C?ND~U=P +!6F7upiPdCdA)z?Z%a0PudmvhQB`{U+BrHLA~ifan_p+6iNpA|Foaq#FO8fjAF`=t|g`0u~MRRLb`t& +5tN{P!WT*NX6sTVcGK3VG^Y6~nLEO`v9v>%(&(BW|F1v=%Rd_tcq^_ZA$jLv_{f0gG;^Cw)weZH<^~4k&eMRGp|CW +edNI>LES{>f2&|I8scYmaABJgLsh8^v@Dkyr&Y5ewnaul!ca%pEj(+%pJ$x`U6<2;7~ccZH)wS#57mJ +6)k^J}v#_d(R49%Oc8w*9#$kF5vQcr6UlmlnjJH7Nn~x8iTvskyl^@pwz +$0ePCGXDy8?43e&N{e5wRm+O=XCQs<FjRLwtp4EFn;kA-SIIW+r-*B?mR_R$~UgM4Vr12%CrDf^fmrMITe(v1-=>n&dxnUKxLr +b->q+OFy!fC);@4`pvsF~kIT?&`SI}hQ`EXMx5r`TxF1^=U#m;?L33;WQ +72P$^s#Ye(4|sz1a%sRN?r1lWfRy9f@b$_v6tg +_?5c0dg2m3n@M~;J_U^S@%+!7kT4UBV01!gP-q&q@8IdK!wKy`cMnyvLRE~a2**)h`MujOjK;nH0#Hi +>1QY-O00;mBky}{+00002000000000d0001RX>c!Jc4cm4Z*nhna%^mAVlyveZ*FvQX<{#5UukY>bYE +XCaCrj&P)h>@6aWAK2mk|-TUjcD=@qpB006xM001!n003}la4%nWWo~3|axZmqY;0*_GcRLrZgg^KVl +Q7|aByXAXK8L_UuAA~X>xCFE^v9plR<0TFc5|B{uP5R-N0f)E`dM}3vogY-2`Xb9!fEaG;52>8X=9H? +!T{Ob{l6KdaZ9BkG^?&Z!Cl;cD;!(kRC094>TE#=^dquzyul@6$AGO8}FfZopA{0CKJdF=(sFIf)r-( +6c{KLMWJyICbrUhoZD9y*9D{}AdkW2PnMLl%Lbs3>uJ7TmOp^CQ9AuXzfRCJy}>*?g4xeHQ)@Z_VRX* +84vd?tdlMooHe|R42EY~c63xdSd2 +*sMh-@?nQ#q}j{HnH&@6aWAK2mk|-TUiS3lZj*u000~-001Ze003}la4%nWWo~3|axZmqY;0* +_GcRLrZgg^KVlQEEaAj_1X>MgMaCx;_>vP+<5&zD=0#zns=|-mWnCS;kbsb;gP0HOcF{eA#zgCl5SW{nk{WeE8 +)d^AvQpGQB~x!-0+f}$msUV=MV2#lWxfkt9LwQRh;ZtnTa}vIXPdwCcLOb-H>aL_oEi~C_P9~HZ@aumKc?LlJYuj3)#>zMHfqwi*kd1l_n~5fPvx-Q$S_p<@q6wUWM{eFi&03+zI+` +8!;XhZpms-SV>no7{I^^SOM!B{Y+>s1=-SF&+F)g8f;$kR1M&iry{{D2Z%tNd)!Zf`>D?z@qjBTIVhO +s9%5mQUi=-QgZZrNERO7!LK(p|zmp93e%jNZls~^ZYIce&aokY>=m|U%qzrvqF8@cVkMc(D?fdk{{(I +#A*8E0Ucx#Dd7u5tjtD5G^2S>FdPM+}L!AqsY)T=Pv^E5j2A1!WyT4d}~jQ5LLhh|@ccCQxA_m5Y;P- +8Nv-B(VvXuB6D@h9&xY6q#`@>{Bi_8;msb^`6!xe3gb{9J7a%nXoh@Q)Owi=w)4tdhWjdqUY*?kM!X) +YwEp6b6tx@q$2l*Zf-t!-52=C{U&&6XPFdg-+tC#KQb_ +MCOaZofohHis`1&3S(>)tIS_&_9WVG2yl%AQmcS@tNbIOr%#16e2pFAr#ngby(ZLh<)Ke)s(jFmKYFO +DybFc(ZLw*(|i=qg83txeUqq~F5$a_afj6y6Hx56@HbOdU9m&a +uTWbd8yUsK&o=eqPsNMx(uU@qn|$2Q2#l0eUwLQ@2j0i(zaW$@&O9MWQF>#)DY(x}M3tM5;bF|I61+jEt@Y1+!E1j(5!L=x +{VJ`VUR5dPyY9~OumoG@cHgvUbm>ijA0)IH~^{a#PP_JLTXjE>MgK|xS8IevTj?&8abr5`H +*5mp=FJ-ouywk{RJfcnAH6e?}f>?@|9Kov8z3ihC%HK%vbmaAsAW~Vm8?qQGLfB>p{bB$DA1~s!20<; +&9*bhawPBKAwc3)N^+xH^;DcPWA8m_$zV7i-yX=|*NljYUN%THgH9pQK1*}R(E-P;V&UlaVM+?YT^Vm +&-Hf9FmF500)!vLC%gNGz#Ff_^r;AjK?pgMV0%7r~nbN@5>=YnPn^uX|~c +G{xvyS|UiU&Ql2|1~6|N^RJ{lo&?YLIGz;);G^$JkHP_ebOPb3`ByRC|h(sbDIi-i>diL8_pgrF9-8Q +IKN9UrsH*fd23|4gmIR!Ow|#rxNNNK_`3=l*dDt2%&$r%8sz9hY@yUm8X-td>kXS=O@eLll+Dfu>OZa +S;is#8wyAI{&HWk$1!XeMz_caOGJpbCVOo0mqF5R472^_^P$|j<`!>1l9uQ>vfVMx5u%|aRF54XRu65(k%M&}OGTUeC#MK+tnrC +`Cy9{0LbXT1^Z6KMzWAk_)|=?H9Q~q*&L|-jrz<1Q2M0*P$1lkvChG-l^TSTgdY72kqgC;%YBCH4&wg +>dBF;a%?X#gi#$H%X{L5wvn)>ZlOt7kk>C>59#q^c5VwYd4IW_L<5>Z3(~o%*NeuyOlyW4lko)Kt>zM +z7IP5@JtqlX52;!?%4aqVa~*quJ;#MsV0g5foT}gIF3)Dz_6GV6O>QNWIb&48Gq! +3s)5&Ke2X614OLF=>CI)BqUN8(fITDzlyFxr(oIZZK+hD|lmfrsyY6|-@j8lyFoA@!!DfNbg}Ay%lY)vx>eRz@tSMGu`pbmP(C}gsx$~2mV??_=I4IjYTk7B07Nj^ +a80TvtFV!k!)B_ZM=@9m3e>ZUdwVUK|C=Jgcu8ej`_)kl?ET +eFQka3e3ZxoCVv~1L;Z~89bt2a9Oe=>@^4eHd$YMSGCBx3xnybU#y{*&02jf{{G?;K!|+=o-(iTgqpB +26&WTz+BTwq6qUl}aX%-kwo!dkj~jMT07|jbmsM`Ic268o<1rJUH*rLZP_;134E3p{p3K5j584hHLLD +}WOosI+WBK@ke;Y3LtAC0>OSxwCBjvW_zTlm`eqr|FQypDfPo7At%-kcE(BiY^1g{|O%$?^wp7)n0Xm +r)Nina!j?DRErx^2rlmJ!$<)7Xc_hzejSL*BELCBe)ym>0_`=b+@g-%!~}u?EA`F%Rhun15)qU$Lc{P +hwR$9d{1`qUL~an)`jYe+f730rd)RL^E>I@LF7>qnYf0eRF53zKTwntgP#fH1xmE^z?=%D7Kf$?k=arPEZ>iw(16P2fFn>TTo_3@4Xe{Et<)aG +`*+2Gj3P{avd5ZH?nwIT$DdztFnQ~&)ip&q#>v7aNG?hOQen^U(aG!PB8+|U^vIH9W94i6c0+^UmUqJ +mjjq&o(&N*p+=`udGV=lT)nSnlCTaQLzZ8GBZ(kup579$bcb4t3P3S3B4v>RSx_EkMGdK^&~nH9OW`3 +;#-F7IYD|^RpmO8+&^)jyF;M_p#mISAa1YKd~|{^$!IcXhu)7Qn4xV7S_nA&hVfs4$mR5|F39Gp#jAj +Jpziy0b-a3-6d1>j9la#3b1Z+rT$IE@K+lM+k%3B;2){lRnAlOi$9JxO>3IMwj}a@x(I$9GKqbPXzZ7 +cU!UfFFbRXW5zQa5W{)l!w3-KJhGfHuNwF*BBWEkx=s!?P0|XQR000O81Cd)<6=~@=QU(A3un_#x1@&JpGNw^P}m=BLr(HG6=(UsY{7r2s|r<)WB9sq;z=bzDJ{Ke#>M|AeGyfip|DAt`;|_FKGtl$Svn +O&FVEXuBL;ao;+VJKVF}TJjY0Lk$#Otff$=wg` +cu&A5GY8sp;4d-)XOJk00SxLxw@o5JtO2{X{^(>>+Y>aEle4cY1hGT{4+P7r ++P;7mBDEao`6_Xo9|6bj1&8ULgg>3#Ra}#?8RG~2?@#jyMARM*imSEG6X=6fppb4xiZF9$jCS6a0hO +k{;S`TCw)O^fqX8OyLZS6(p7D?~&VZkH?->n3yNVy(+x3``TM>}T_$Bej`cedS3?*b|}y1|ZZ=d{Z5= +&o-;Y|V+XPHN=14NY3v+~~yp1$;zl$adt~98DI_V!_LbrY)??|^Bj&E3#!o|##Ol)H&Zs=*P19W!fmnJqU;t>E&@1+TlqO +q2dWZ-=g!_^kqD*tOxMNLtV~ADFhOS890lWVuT4R32Hqct#p{!lKcM%$F(;Bjx5bqA2{{&$|7DfJ>lm +q`W3}CGUw1?Wz4ml-9WvR`sj<1oyuA?^L3iI~)It9Ou8~?tjvJx5)2j@XqE5DZ!J8KOodIP-K|I5O?U +g}9U4id@Ld+vQmZq!k`sl%R4nS$9OAFT_HXGfX8@mqrypR5!9gydD#7r}L=1mX; +cV2T;JU*IEC%veDvTp=i?-JK2F^_EX*G<6_gQ98x8X}h4Hv(0ClnP}VLC2eOQ=t&6uat!_-Xgues9Tf +Qd#Z$vYbzQ(j)QeU9Gf8ZQ`2@Km54Hps{_n4M<>*@qJ*U><{KO&tOt#7#gSwf$rDCb8#p@e9b)33+J8Q+B+zgGVPa05tf0A*cfAK9MT{a>xIL!N;!a>^3f&$L-p&EpP7{yyF&J;y^a*?Ir$hQ~$qv<@HDW+guOd&)K@R#s1_>#0gkPR~y+FBey5PsquDo +;{jkZ8Ei~y?52>1E?d)F73@B +uJC)g&*gYJ!ZwDZ>^laxU!7eh1^n*LMDbYSTDTR!bx5Z+Al{8-&((5K}zk5%pm53kbHvM*MVrQ04mK@ +dmO?N8h^czplm$K|w5}zn_sLby=`vPj0JI`SXZ2e~2E2EtU-Sc!Jc4cm4Z*nhna%^mAV +lyveZ*FvQX<{#Md2euKZgX>NE^v9}TWxdOIFkO(Ux89?DpW>h>|}OoPP^J#k1cOho7g_vne1#TML{AY +aZC|hg0!sJ+WYO--2h0CqGV_GKHQ6^rXrDzMt7sT@pJ>~^?Kgj`&+h&ixs=QoPARU1@%lQ1BFG*fi@FWq@(DPogX|}z}M0$Jsei||#m=!QRS?=Wf;5az$Bh5VDW`$hlJ +X>v%Y#pcZx?Ho9;BD~TfGu*lX4zH(AEgo+5l1O^Dc=OghR)^H_q=y0>GtwfHm84P4)##a0RO_Ga*7x9Atf`!=B7RtrnOBfk}Ie&% +~ne)^d4Q;yC=4o1YF4t?GqDg}QzC_|^mdN@2aL8s{tvrvx-@k#5%5*-Q{%4sd;Baq)xlD^Zo&^=}AWnY)TZD01$k0$t^@^bPSQkdoy_tYO5#)_Cu>}8KbD +WC3ySuw4m{>5ub0AThYd;l+yd9c@1jH`N0Dh>xN>Gz3FJkCW{ +unA2z&U2a95@cK{&%1<#vo$`2zB&Zs3@hz$X37CFU&E?ybp{%M%_0^T;CJ9HHkUzS^ENAyk|SD=W!lz +?@m$n_4t{*9eF%+-rZaR9DiAy?u5(2uVdWqkn2I9^mBj+IWO4yfr1&hsp^znBL;mx?+p}CKg$w1RKjt +e4y6M@?#DL +JVzHaZ$k6P^QutV<%*M879UgNoFW=O7Qh2nZ(mHj=p<+0n@f{R8oK>)1bfIya7<(82?SH;cz;aO!KZ# +Z^t4H0X{G&f3%lLqNMlCWV6rTG@2p~u*>dAt@Zfmsi$XErC&jpTg*B(EF_C@7}iCjV+UfQpi5bejUvL81*Pk~4o6G +Kdx7iAGAUP}!7PQ{P*6_N$$aQ5Bx&DGu2+12|Hl1+H_eloti^E^9CfFFF)u=jFr5`Sq^95@sp2EYLvk +qu^2N~1GOnrrz0&w82{?Or-O5g7;$=^3)0nE|}-F<>`>V~(ZdsuO9fR4Im*M@JGc0cZ+C$m@_pM(lI1V>jvzSWi3_IRJ+cOMaStcWA@ryk@lWvd1@3^bwd6jG1=Cfdk^9?TpPa^$II +Mt_C=9cn$v8U(_}mbQhI|2|wDquj4oReiKRGCqq4_$g%%HYhO>BXQ)dv$#`xw<@k-${Qx9^bU+Z^r-eadI<0-%C&A-*&yd +IGwx?Cl??E5r)VQJ+#sXR5MCengK{EeE(s-QRIFYricnd5Zi;wnss7u?N7ZAGQAhuBS=wDE!qS|HCvU!jtJUB2xx6{An56`A+#lSs0 +&Sz&Y^e@A;|&Auk%<#nToGfq#|o+c#yU>ptW6-&4Krm+wl75tLyP4uBJ)j&B0w1+LT>8MPI;U^43YzGx92(ii= +UMkyvIHH}NxqPr;fu%B3d%!UuK6k5JZWNn3U~!6#E2!kQRQ{#1sHyGju(b<7juG~j!2cmrG@3i3(MfP +J{XLE44?IpdZt_4SlL#tyo1qWX0)enlyh3^vI9J*+Ku8E|+8^pyusy)Tuo@jgHVX;o1DZid+eajaA8K +5m^B6FiV*tN;rO}})T?Gi&fWUP3$JET|%DT-4)ndR5maDkjbCceEw)8Gucy`5Sc&CT&YQi_?e@E-bEKA=Po39~vv3L79j~phS)Jw@3@@g28$MSGzVry*SMp( +k{neku4EX?KYwZrh(xs4Zeg$Au0ZaC8#X%Z2LcHellsd^>r*psiNJY+An?l+KNNSCt$Kd!7dkF-eS*z +-Ii2CohE>1Q|b)TV~Ey-TC%$3m#=XZBg}&EzykC%;(276y<5F1f-QkX)gCbm6lmL@xlWMfV4AsbW#Ra +xOk-?s0smZgZa5ZOidut5k-&FRz1*j_XOjtt1!Zl(K8dQ6Ow^D_kQ1@6>?AHWHkNQVq%MTggy}5fO$eakLydWK +jGhx5<*~u4fK^vgyP`sv@$rOv1Vi4uXBkG7qAH!6J&0Mba=3wmFggeLExYykukgd}1$UytqY(&8U2--!PCoQTvCv*DLca^n%2%9zaWaW#))C|JH_jwSW-dL5 +(p6PdOR5zJ*Sg30;iX{-I~Fro&HN$lqm*H&TUZF2qaJ#Nd`SS5In%W|pD8IT{-Q|EzA)V*O3EsLT!`B ++bZ5A_trQacW8xzPLFwC+es8YV!hwkj}53=rQ!Vo%P0J7CAoA~_2a=vel9WwAK=p{HkT$Vb^4cYOtkH +{?k{Am7h~fUO@AOeZ(3fn8_AQ!?QKzzo^+_Vkifur6Sy>b{u-fi{tJrUf +a?kBgVeFk5hic7_a<0)@;liC3o${oOMjT{MstYY-ajL6wAWg66d(`Y818CBZlBnA$)x9)nA+%C&IVrINft11m^A2F%u`N#rsx{oWR!tR+Dp +gc+@bx-b`xDDE+-+1{X{N{g!1TQRfE0ovjg8hvY@J%9wAgU=Q_u8+*z`Au0!o{ykjpDdv0->BZ8G2B^ +_eut0jMwoe5Ax1nTygt<%h!(Yp1LqJ=dONwcA%^jbuQVdWm7Q}eQIKkl<$egYML|j3qI8;G>4R`?`Iz +y6`FhKvgwQcNzr58cx01r3HfB*9*J%R6#etjy4gL%}gLIAIwZ9bLYl|E(QBJ3t0|wO*tu_?W8(ee^Lz +}qV@{=GBxr=*?LLal@WrEsdkjgP~&3z1Fi91`p7KDrKf*^imQ03)DWxa1S(W=!usCH*;kbkZg-0y+O0 +4OyP25vKYr^dth%-=0>2AFs#+37|+Wx4_aT_?J8?Iiu0rL*^=c-2<_r4~%5(a3j%n_M&FVIU(IUxSH$ +L%@TAOst1$NzBgSzyds})8~7iV1EEOuFv3neZEyg0@!|!>_J3Ksb@p2nZ1zA&hdF`MQ-2k02uOORoI_D^}X|p@87|j4!p_<}yiO0(b){FxzI^jxr(y+!Plfo=qo<0oG +AQrhz#W9MJJTnkUTpaw(!v$b}kVx6T0#bk(OGjGJEdrAcIt8b^kG>t)AONZRqZIk0Ii7;@ZtKTjl9$W +@EX>W^bmN!s^!z@{T`U2wZ^2NB>DYy{Z<2ykTYV+tiF2m>oKzPjjj6l`XFXT9cj*~GLJF*TH&b9W!JjGMSRbo!gfQsQS)f&W_&iD{4_ofZ{K~qJHPsL`QM?^A@M)K{(&dU-NIvbrXKW$L+-$Angg +xxgv+22JD{Aom*DriR)Y*|DSCHwdx%E}>2rPc3g1Q8iRks8qn#7I-OlI$KfFA761>H$M#T}}`be!Hv= +}cD0TlMa&jC~Ib6c$yp27i@_M0B5CG;(dZ}J}dhPgHSjxrWbL7X*Xm5w*QK44wLv;tOh{9h5Z$N$%2_ +Sp*kzlqpA-uOQ%Y^#7&wXJkSns0~kgfq(0JE#oXZy}VCaT4M^R>K$*fx}f_F-9cTRADFX+afqVj1&39 +x4BH+4)zJp;yXNSub0u`{cm=&U03Vx(BL(zI4#9f;y;nD>Z!VthO^dCy(LNadK9wYNl0g4E&$cbf~4x&p5ghMLbrAwuah~p>x2$)*Z&_9O(?te>B@&roG-9G +T--m_zMV`Vw0h##|O5v4>W#1IJ@i*@V`zTr%6F0haJZOBuhQ)pY_U^!-zxmWP1s6SxBhV?OiiHgS!{# +YQM#?%Spa%IEn5U{Kk-Jl!?E^RqtMRzn +jkCc4Q73b>4@~G>wa-&leIJ7m1=_$2uU+uJ&=-&zBYsRaFk{)WCKK1F-bZWRvr%dw+^iY7{86;!O&BT +v}<~&u2{Rsv($_kM$_*~eQ`OYPR>9m%!nt}LHGdD@_w_NVU+^0KE*8kfJYoCM3cCTaFmtR`WFfSfkmo +lwU8$A21VbbhWJ8dKSNmJc$Zgh|S1l(XLifyHtVRI<>?No+^`9@$+V0sihFKqsZ1bPEz1B5bJYPt{!k_Y8YiTumL~@t&Q +?5thzUjV5%`>A2gRV|p54_Z`2WqSY6Kob;uslpf;t?ORH4ll=6Dy($nZobV7UdOtEB_OjZ+e6@MHmDi +$Kjho<(f>H_X=;K2L_@$nGe6<$S +;X0^a9Hu_iaJz3%jsvaU^%U~F(FKUHRDY`SH@MnA427aawyznQyHR+dj +8gHst&#nA=%33}I8|J*iZzx)@rkyp)rK!cUN3KXK(8Jn4DG%dEXkG=l_P)h>@6aWAK2mk|-TUj^#bTz#t0 +054L001rk003}la4%nWWo~3|axZmqY;0*_GcRLrZgg^KVlQ)LV|8+6baG*Cb8v5RbS`jt<$e2e<2KUZ +@A@mSn%Ww9B6G*%BwxxG@2*CcXH@Z6K1;K6xm1dwD9GZPB6WONqrLk6_pcuS34oOR$nMqcohy~GNube +aH2Q^Zu-ol+rZOxuIm?1%lV*j;%MJazOfyktaU9K0#X}T`u-I*6?sYn|Rg{Z$a4&PQiGu>#t&fwSh#s +VvT}?&s5JYh>kEJNm3P735EEj14{ldvqY@=e8mW3!*vIDO~x)d-#y52;w%sfFOz<)s^qBSBDB!G_$3c +yp$Wf))|=qqk^04EVQL3khB$<8=g$gkLOojyd#9U=g&)3pTXfZD@}_wG2&j#ts$N@fC3dXQNkMp+QBg +8kCDKbKbvWQ?}&=xVnJf@{Y9FRakw +tUhp+y->PrNS?ZCZzXg&PBL>|@VF(nLCXFp1m>(<9bHcuNKfV**^otMK2aAT)LWyt+!R2JKPVmu(*>Btj-2et>~s_s)sTnj=@ynihQ?2mhc2K@0%xC|11SiOV$OO`gdhPm{i0{{^ +jd8847UfjoJ%fHlxO8>SER*E|K8FyCnr2U{eLLYctg;0nMCjqmFm7Qyof@bNrO!+X6d!*sLDKo}LG7a +oasZ%@8EhW~wE&szM5jQ!W`9Der_S^Sy%-2evyTdVz#3d`&w6F3-bA%j@&82!59 +caVm_Z6U(xL!&S*X}jpxakP$j6ov*Mh(KD(^$FiTvVOG0e~h +5cDA0mAa1_mpc>&}kpsi#*O22xw)vJ63LJoP62`F)^@Dz=yWr#+OsxyN1z`cs&x>NQP9v??yI=P&E8Q +hMH`#AYL6VT#za6S83OfJRX`e*Ue`1+zRM*rjHb~K%e$t{5!f4aFEk +Kp>6QTPHx3O+zf7K +|FXJYg>_(M!T4z8|nID$9$3^Tb!T*Yv5^YiWa!^fH +UIJvqQ!Nd0>z;N*XYQ)3A1cz6H@u$AH7ay`3+Kl? +D_+ga89%Xm8Ki^1)93Mlh5ZznJek{EhT2oUtW9x)^&zr9M(1pod#9oaZtj0RT#bBX}W4qm4V#@;dmKK +A`(iMEvQS4v|}N>}>)cc-JCqjHd63lMPC6S5}sUoy**RR59Y-XaVvwtdRlmY!9*kDa6gYb}8BVTz&`tgjxb%9a+WM|)n@6O} +E3m^flb5KO0v2CnaYe==I +{#w&OLNZu#d(;zwz~pPR9pI#=!mO;+JlV0R!T$3tXQC@SJF?pa0tFyb{yvF$h|)?!hlev-`aBaWM7q; +klS)B|uL>j{C@Xe*K2{Q2l8%06$~MTTHh>UiIq7I3O8M3s#!2IH+|>w46ZclY)c|16FJt<3v&Cu!;vW +YXv%l{V>#Auc#4e+YGET0KjWy_*-CU%c21DIYJ{E8f9q^f?5TIN>&r_AsCgf;~0P~QV_D>l>tA;(Y=J +0B9T^p5L{+%uIIn~}<}_J?Jyx(YjTWggMVR<#oba+~ZoEs=#hHkfxFD;bUPhPt +@cuQJs2TVaQOMpO5FAk7CIF56XPKdd36L_{)J1FD>-b^CWj<(`9Co2nINlfd_isU5%8P2s;Mh1Fe8T9 +wR$JZ`JU|ENmAFD%Rw$MMMir3J$Oe# +`*Wfo`>Yx) +@y!K3~oJ;rIs3jwvHAzitBZ?a8lA0Tk-bhiCyVxd@{T#av3HhG%Zgg>v$(&;+_Q=@x~p9n}z9uxHWt$ +7leL?oU6%T&5_?**G_Kv4>iIG`#pY!v9YPKH5?KU^MmLefPcpVfe`h+Ylz+e@@qvcR%Q^0OfGk+n0`c +`_d5&WWkn(|K7dzZzfkipPat^?s+IbxBCm{`_G!K9&z}7_>xsMx;~p5RKMq9Yjk}k7d>^3`#L_8_ntb +xeI1|0F^>=Sl9|15UN4!|(^>!N-2Q@n^@2TBO%PiC@Qk+4#QkxyzhI@F%Mkllm8|^tL9VO`t&k|pD$h +t0S6(D2(}#DbsDr_nOi*8w1s4c3LDD7aQ#=^pfSSOQ2h^n1VZkN90+%oYhX)Nu8DofRi&1tJ{SFEpAo +VI(XiIqSFd(cCYf$Oxvz3##-Vfh&d@zoSG)!Y3+?sWifb;VeROJ6AVvr&?9pN+4vk7z$4{sEN6UV=`U +%pd;zZSpxcS8NoP6v#?Rgecok@djt0I$rZd-v#!UBs5j{sJ95yZNs`0QR|?9B~gV^yu&UPj7Ve2#%-E +!}0W~IG#QQ$J57gB#wGIj@0}hj@A-Cz0spM`p?DEe>$E|L-fg*K7%h+hbLpYpEX-rffv$Q$famKqG1d +%B#8fhN|SrJJKh8ZIMn*kmK-(506#{T3&ag@*|8Eno&||yixt*zAn3qG)!2!6JfTM&R?!g^8`y#OWB7 +YC{Cqo_-43p&HyDytVH+F7{&q~$w(yWk)Xxd{Hfw{jDB|Zkakeaz@a(siW%=zfTDC=w4pH)O`Yg85D@>M+4h+JYgwc5pvW^P2nyOV`YfTOB2#zyS^Fb^E3 +hL1mtup=;JmH|tQ6UsV>tM>CCmo+jrbWerrIyGP-5j5ZhfF3Q&@ypv^>n=sKmKYysz=mn6cfERo6c9I +Q$D<-|q-BCo-Ws4yx)N_qcr{K&oE-MkLrg}E@JX+5P@V!Gh*YOLDIekbkq +)nrWZtc#Zp9o9-Xpyqrr#4_!`s=!k{Qi_o&kVlgYI@-#u@x&#^&`Mo->RsEJgnPl$&DnRrvfJn~511& +c){^SswO2V-}NZw`%j)OZrE%H-b9qkl-i!XTTM$?$;$WlwMW8l@HrR15yixdF3nsVOj7wK%x4HP{1dw +|}P%<209x51=&UvW#0H%wdT8n)ms*q-S!%5eAeUH1!^l9v{Y8F9COcuj0+b&*+Qr(?6UGled}^Yv0bq +T6@>E8uPq@jt7~yqv>ddd&zxyGrk$Mlk`z?4(2*7#p;GTsHVeH=3t6cgMa?e+(Sz +NIHI|V{Q;{;=}Ouf<+UZZK_0EnKU$9NO=%Jf%!B=b+jJ{^!qunS>*%+5X{!ZDFSa5-B{-D_8Kpd9d)r&oWr`sq5>UvnbLG9>0fo9ou2n>#sv8KokrM+(Mg6K%r;1KI%C7eoyx=*og +bv?J>?2#sNr{FT7q;TCN^b)v*Q!H{)Z>5f6%J9>oA!Epowvbec +>;%bkjTHLvVNotJFK9U^y;6y6vbPfP8mBHpi*~1Qn)WdxQnNNtb}c&91g1=ohkzzykp-;rDVGFZ&83L +o488uhQB|O#|Ro2{J>)cMwnCl>c4UyFxPb$U-gO`mOglI6l-qN(Kb*iXPKzMRkTr +roNu7+9Eu$zfos(fRSit(Q&6iBNexpgdJyfm|guzj8Svx<-jM8*D`!(YL2aiVn#(@Z6sZ9r1M3aQkld +JhH5Lb8ll24PVz0dZu2i-@Ozm==S{M%zHAcLQ(a2Atfh_s1B^WiT148XOm0=0^Nb@DBG{>APo}+xt&` +-NaECA#_gM3Mrm%=DqDANt%UslS-v36U^X?cLp@7rQt;~=_|GY6J7PBa)vr%4zqJ8?~iF>z>5qr5)QU +OVoz?bJz%VJlOWEMzAeZqA`+E*wn@zfeAU&E`LJ<(&Rxn6vHw(p^-z*YQI$ohZlIxeRc#s9?cl2DrAP +5sOPB*GR}S*cz}N4+=p1H%-|k<7N?0 +*ft%x{REyGT-{vP9kixWNVn5gxwloP +Hv7JMRJFonaSDL6<&gJkl=u7Y`<4KwaAT36Cb~7ey*2kzST|Tk3C4qLBjOvVv3|{;5677pU%QfWi)fSB!%2<8i-L1Bu0*u(8sMcAJC`Y&GAmq|mp=FfiKo)|9Mwi +hWHyeoND3d7Vqn!BqztIlQCDs>lw_2i*gC1x!Xd>d`ea$nsDEp`c71n9Q{TpVoS?3_)um!sdxN{02+n&WmZs@`S0Bljsv>7yTHZMP-gy3`0<+uZ;H=l_=F1q56qGy8c8_~JLembw|MOv>s +${hl~Z)gn(M$Twt**`LE6xUHkoy37BiTP1j1&utDVDZ`tY<5cGc6hO78!)6$RPC>nVJV~Xr+P>GOkCyn(-s_?fU99xdv|mpEL;*L* +B1oBZDanV&{)JE;)09DOsIOz=Cy;KqWJltVjwO!ZzTz2vs&B>Ia +Y|x{h`p}%LAd7PyJ2{9-X0wm)w%!!bonZ{m$m6e>cIF5?_}{;;D#o_TGlU=A#Tf7Ex@a%m}9Bbz40*k ++I(n4G#d}^<*x0Szky}jtg;|CMzlRUm3O%(M5a%!RXG|xi`wS3$zcb@S?Y1 +|B|7-?D$>no6qzH-Y@7X3xf;qP!I)4)HwMh3B4E}y)Q1 +7Ll1)yuGqf{8waBG0RWhUP10WkW^2+HL4Ht15En44B3xK%Bo!?^U?{jCz6Fdqz7)oeAlc9=sncCELe={m+)7N$S)(RkD#kda=pi2QmRfSFc+Z%i|xOV7L(R&>Xu+F+K1aU^J5yZHh +Lq#kimI(AM71H9pYoEmRy&$AoP;XGNL!^t2;@Z2+7gqy47~m0*IpjMgQGhe1oy@2HQIw#>ap8C3`L{> +D8%MJ~e{8u>X~`_%D*ukLuYvVZn2QHd|GOLUaXyylC}9iyU_qI`CTzKR(lZw5IqD30-PK^l~{A87U!0 +irV@4UNwx=_JJfr`;|cnKb;rfTHZD}nz+j&ITwpBN&WY~^2DeU9)zVo*_UT?W&#c??HpSkb +3zGV+}4NOdP*Dz@h5OA+*s@<}lD@j|?e(t)kcE;sx3EuD+&arfhYH7v(W95CAh_~d>QxY%(ICognO@Z +2z(PbtC>Vx-gW#)@R>3}kRbohE73{$L0E##sd549xD(MIc`Mr(g0QIwR;)OifMv=8~Dn1=r0jQ7et#Q +0s3y63FQuQY?5s-arCS9FoyF}P=iuFBCj2zlSZDwJ8s_X^fA$%PEjjAU?8+Bn;-4yEm^oIks{q-~9k& +&5d-5FhTh^wv?=3OOuxP*Ku(xy++~7J78l*k{TD?0b`;M_PcK-g_7w)GDUupt +Vcinq~=S0Bv3ttaXLBX;TzfQWrpC=2lRw0H2drX_!M0es+4zjLoYpl(T?lGb=bIc!B=-@_D={wsxD2y +&Nr6zRwW>~x)%K%05%e$VKs!P7mKp%R^_rt$gyt +_L_T)vtE}c_>Ql2THu9J=tINGtE5clV1rD1wE%P_sAwFEY{6~tD1)`yN(6PlxB;7`` +;AsIcAwscuoMR2Otw=!Tba35TSk7QI-hJ5eYp9T>bDxkoeg7;1>-mRQJDviO2r;^zyFhZg| +fRJQ!FfSP=gYtFVrm0kjt7io+OA2A!N_DRpL;}LA%6x2|s_~dZqqeW}e}pCSF{IH=A)O&6fK-pIJF$p +_ONfvf9)B6(T&e!P3X|ITe;zo8xnKw?c`Qq*yRm%c)mJn~xkpL!q{<&X>+wo1 +S=-B`Msz37u84O5=sj^H&LHeDAML9x-4E(V7$X3hyxGLDV7r2PqfN*$U$nW@l<7uWu;?hr3wqT=EPN5Qj(FmmK@y; +@aR^oF;OO@@X*&Y8-<{zkTVOq?=&|F!Wv(dV%u?U{=t;V$@pT*SKbfe0%_pc&E}r?L=My(O(zoVg>$D +dxsW?6y=ZWq+uoGPO4TK?S(@h_h7r*8Q-6^m>tv+Mtysa1M{D>h9rFD>2E4y3Hq7KkQu&UiCTBLe1%9 +9)-smIHMfwIm)gjhqs6E}tETE%KupP>^%C9tX?W<3iY#mP;Zyh!n9naMyUw=zTF5}?N{Irf@BO?KT?k +&bIVIO +@*i|*}0HeWh>hSGHpqASui(bO9S|(A$YMaRb&%XkSS}-H8>89cp=C>r(-OoJ3YGN%x1yDouHcjvUBC0rl@|UO2872S +YvsLOtCw#rNr_5_hp!TIzRvR5w>SA=u@uX$~r{ZlB8%I=MK#LxZ)QWwYor$H +PwK~&MweIVY$tZs^I9}HuY9=?XcK=|?GI6c@i^VpjB{Sy-Hbd*KUv^K$XHoD`8=!1Gk*68zYGb_7ICI +QW_mo>k~%5KZ^59rOct6rQ%J5j&4{f3<-6L>=ZToOq{hwD4JYylXvI=&Bo9y +T1eS$sx!mzX$RGz|RG1-WJ*pmTxhAIoLe}<_la8cr$Gr@tF%e%p?_EYEmg4 +3RQ*tHI+d8V%cn!sj!6~XXzDMKImb*4*4!mJquu*^M=3La@wozAcwBMoHekaFR1Z%Lu^hF#DKwp#LQc +`_=ug@+UJdIUS5`iK@Ed%|b4cNd1SYud6qWX#7eygt{{p~mH;j2qhxCn$GwR$9nF65{rK!eeZtniBWt +28l8t7*HZS3mpJftGS@f6EOWDs!s+h7PBW=

      Q2OHeWMx~Ma-bht%Z)zt8TF%m6F$e)T?CQwrN{07U +GUVYh_=ca1`kLaV=#o~co&*y2hb|W7tI%;9nZ*FQ0B^lkH@%qwtRp`4#BcBc>-rXfjTWnry&w% +13>(@1zo}uHoo*=HHI~`{(iP=%O}%l#rvkyQ`Vy;fY%oz;yb2OMfO^eO?bmt5-b}TY|dsNW)`fJ+eSIMm_SL}3Tb&1L!&i7v*^W2!NzAQ$2+ +UoWQ``(xCkwZI|VfCB?R9DKJ#}B6$tLhJozBID}CqEG}^ta{WI)JRYkXUE9HZ2JHfn@b3&D;tykUhrV +Cj5#xMi^$oO#3$-8gt1VQJ9h^F80OC +Ejoz>>nR3GR13%MAVTmg(M6BFl)T9- +p_)&JGt;>y3E}scEuNO0(#pp7`E!>IzH{@^bo3|CCfnS5IkjQD%&fPxpB{c0S_f9mGV-mNxq8KeLfnN +{B>~xqOT1N__|D;DQJCuMWF{4?#<{%eE02X<-eo+q;Im<4Hbrb@k&Ko_w^pyy3N{%+f4L(OcPlcvM4-M|GmUhR!@W-^6zLsC&1!eMc!iwgkFD3_XNu_IrSNE#>SjywrDI)+T +P-oA$!?`h9DOyYafM*u8$;TK3*}Z56<`y=^UpuN$@%#p928h{5@s7Ck%v1yD-^1QY-O00;mBky}~IQp +i792mk=N8vp<#0001RX>c!Jc4cm4Z*nhna%^mAVlyveZ*FvQX<{#PZ)0n7E^v9R8EbFbM)Es<#ezXl$ +&l!_=M)DbDq7@$28T-T$H?EvZ*RjE4CLk+y4CGUt8M!l!IjZS{&IaSBJa|nz|_ +R-9IAc)3d13;9afk?~iQ3O9r15l*EIHz1>)@7%#Ixe>_7{fj-iq|2WTIO_xny7^At`YI*zK((xZ7LeU-KwH1Ax^lKUM`C0c}8hI_U{--yp@Bmv=zoT5Z`LxN2&U5q +qN;FQf?iNTMjj35{+UIPf?K)}1YGZ^@wN1c`3G($Zb=`0_G}qTAbL3pfck0()jOt>GvXu$OPQQ)tf)b +9jYF(c^PyKGr)4b;*wy1?VwWaVbxt&ZLeK)ml`O2!beLCCU@W0b^t-jF1{qaYS2ZkTE4#BU{&K>Cit& +$gXH};EGHSKpZjLkj_~&1kp-~0Ez-eqJ>ceuCyL#ZBaDZpU5>6C77@!8I6^Q7AkXZg9&&>9!`rK17R) +m41?zYC7q2DFaXh+$c7`SBOVn-HozdVK5D)H=KB6hTgC&ET@*Usw`U--ZU}l5R`mC~)rb%>d_N_Vl|q +}uMtfuZgw`Rt_PCin&vd~l$N1jikwvW;mmYSWk?A4zagBFt_`LzCV(nneF0kHV0DX*OR-M&BlmVHRbz +u~C-h6H-fB%EtT_1#0;X_J2n^THRgPPd*>$D7}v}99SI%1cOh-Ta1R;luoV}P`7)1*FAT^-KP9h2|l= +Z?)lcgn>&GLvNAP?ks%N=TG>`A)|$B<4E^RDIS*$pL6a0eniKQtXXhdsWw>?g5>6U7}H?5mU2@B7=kW +k`C-8RCFrK^!(l+7vDcU=j-n>An0$_!>Iyv!LvjbDDv8c;rK-lGj^bn@l~FD(p}hPi`u4l%(nJW)?d!;5W^1Yc);yOG7|#+ZP|nam9-<)J>SgV)DL9oMK{Tp^yfF)wXcV~vLn+Rn{B(13{i +0o6>F;f~Fh;C|D5jCGac4w;7K7OcvT#;Rt=EdZg;R&`=^91E`^ZavM+w+aAo~9{OAZQCcoCuJ97x4$3 +3SXRPJ=9F&jRkT4SS1aAP9oAz@upLODEf+um95E(dne$A6Zpk8eS{R+}bM4v%W4m_FJ<1oV)C0l0wu{ +(k~h8@vP@%u99RSq1dn31+VWU{#<-K(VOM1<;MLe(Xp5aYwis*U}(W=5%xF3Wrx~SP%j2rt~AAE)Cw? +U?a5feDIu-2ke*D=CiJ|*6TK^Pc|esB-nRTP7Yhs;7qI(4O(fH0|drs^kCdbG(Ssu0Fu5rwmtdfa1*jy +hMcnTQl4xJryp~O|m_NP5blMu0l>zaJvt1w`Fxk0=qkpUuUJ9#-*JpJe!yel +KmJ%U0k^M>1{0oFYa}&>LvGn*ytiMl~>0RqZ7$!HGJV^DZ!pfEj%{5jf&X9MqsPZQ@IRBB%Y3g(ZUbn +ajcmM_iHlqD_8WOui+CjH|8`{^1B=-HiS7qfwgCcwJ%px(2tUY-+@jiqAbqXm7HnG6xlvKj2N8ROqC^ +4HAFoKJo(@bE&|0Pg-w0l^q@vSNCoF)>SxLn7GP>!&y&kBWqLltrS6$_t$V(Ji{0~RSG#99HeMm&A;r +h-!2i*kg|9h=g>KGaw%Ej|cZl+9M?6B*X)!-f#J?imh|pX*@XiYb^-I{(ym*ga?!rSJL{nr82bB~V>T +3^>gIIsOLVsHsPmvmMj4|^ZHd{~Fd!YIID}{6n?X0N^Jz?ns{R<9+`y8^%cjdi(Wmzt95HvwejUZC7- +TP%HNK~Em`NqtUa=J($YJ-l|On$teo*$w4JwZc>^iomR2!qK)V$V$)n~No1B)W_6q@po{?arp(GZ#$e +-V4bcftRxDcc#T?l%P39k1{TwSveRL@yKsY2PDRw+yKBP9IANz9(UZ>FUCt2yIXuwP^URyIwriGpuBx +N>EVRZqpvH6od*`)Y%uE0ZG+=(Dctbs;~S^dn9Fb&?P5r}Hr2Jgd5MmmZ{BHWNwkO{lifKnS5wrvcC9 +VVn_)a>`&A!M`jFcx&_5@}hTeS8QEcxZx}~C_H&C`x;i&n;EuN!xAQY%1wde@7CMWPweO%1J=Lg~GJI+vJXl;dlFBfYi=u&f8j*~rjCa1%>OB@6aWAK2mk|-TUh`A000620000000 +1}u003}la4%nWWo~3|axZmqY;0*_GcRLrZgg^KVlQ8FWn*=6Wpr|3ZgX&Na&#|WUukY>bYEXCaCrj&P +)h>@6aWAK2mk|-TUjp8Eluta007`b001}u003}la4%nWWo~3|axZmqY;0*_GcRLrZgg^KVlQ8FWn*=6 +Wpr|3ZgX&Na&#|ZX>Md`ZfA2YaCyZWYj5I6@;kqxkJD;E#}LSCGNa4sh%pni1P~^Z9j#W#m?rpQY@Z) +_?61G7Znxd-2RO64y3uF`ch|eCs;ghkX0x%}*&*3`o7kZw4rxfN=*@@!B9E+XcSB6_vh$#C9lO?!cw4 +fCACc|3Au*xbf*+CTMj_b--o9Z_D-P%~Fx}Aif~ZTDJ4zls(;+(=P+~K>e&9XZ8%iSRbG(<24t=H$8O ++DfSxO_hSZI0({bJyu9jd{NYug41^~W&0AxR)QS?S0121Gkym-MAd9kBix4~^-c^f96N!BJ12 +sU;|H{_WHA&^GJktGA#dNJ^^UGiW%4!QB%&4-Y9p%uLOpnzkq12cH*l7UO8>jir+4#|eDBP8y<08QY& +v-dzIAZy3`-F6>=Hku|dZHG0-VV8`&0E9Oq5>PYr+zy9f0)#s+b~a>9nX+KYfKz1+&+KdMMLV*7BXQt +>KxZF9kjtVjS`uW34k7P{@JpjX;E(3{Z-M=|i%83Alha=R;v@WXnJG#B`2s)x{j!GNU6)4x;&^i!?Cp +>l3FO0JUZa^|1n8y%UO_1u&)S*6BkiD+ru#;GFe_Sh9htU^1~3^d3uNG?22!E7jb3ovQDQR;JlqcEDR(I5o|hO5F6P5aM3`g6By`_f^mV04LT$)CZuHU%fbZ>93>{> +zPt1G2+Js?T7k*7ao_@L?hP9cOvpI@hguP~Ao;E5K+K_<;5!?e#ZBS?7^~(Q9Ej<~eZlo25SxpFgW_k +Sopgme2uO52Za|8W!Bv!03s4LemJq%K1DnNbPUUVQ$E{9`*=YGNSmn4;IU@c0U;`$ozgWpBXxcF$B`n@pQBRPWqibU3P&pv +=RLqd=TSyFqt4bMsIKrnk-OOqRr;t7vrzDOL9A#40UL{(Lut&%|z$yKtXLX7~gfsaBw&Hsxzz^P~v(b +D3_Ex-0Ikjd&iUvs3Zmc-8h0YpUAz1Id+vy84V8A?RI_BdNLmYG_+p@Buow=U9nlVVQ*7obi=nWqWe~x{Oy`Fhh_k=-TcD%G +Ym3j=z0)%L901)VeZ_U*37_k5yn3D(M_}6Xo#8aIwK8$D`;-Df9?Gy`oSt&4}hZBcW7&G`YlkuBj(9& +=sR}QYId9Lb{oZ1u>MI}{a%M$wPpDrXqarQ3IA{*LBd~1zt_EDxyPk1G+;$QDsu-D5cw(W{uDM-+@DB +G<_L0k6cK*y|JG)}pm1YDw@`nWo0YY3oR(|uA?Je1UfA!g`j;!;jCP5n;H(n>#Nq&54ChY{zJ(-*xpW +N!h8gzB^hWn1QrBZYt}sxtnlie|<*= +iq<`l=U)QK1eS7A*BHI9L#oXJX%P*g9cmCAaK3wWe_I<&{vE4kzkVX&!VZN1PIQ7i5lQrFuu0KXH#^P +CioZAtwW}sOVNi|xoSgUc`dmT_ZiUz^HuZ2U{QK9;iOMS0g%BGG&~Vt-K}U#o0^a~G%uhdEI4_&Q)Ht +8GYolaPE?H*e1souy)R-9t6o*jTUy +G@tk*J#|g>CIr@q90DZ3`phyIEs9XOBFP+}BntRFEa@NjYkecWxkmg;iGmnI4DvW;!t~g~AZgC=`5K$ +Z%24&H}29Q2J{`1J`t5<+F!%kK{&D=NP;?9o4LRyuqbm^mc$eVkWWvivNxr^D)em$-#i?a}xsum@8TV +Ec8LWV7rwpjmbRlBG2+1g^MxKY#-K1Mr=nk-{Zlu=`}i_1*EpHx}Q;SDH|2xu$guVZWudJi3wTn%tzF +sX);|5T)G#ePIwl`8WV%EnjF{#?WeB>kWaLHOHTgBo+-Zz;q^2~qvPNN@f@8H0!U+G8psI +YQl+Hm9Qi)0qR3w$9g9PcfLzcpoEH}MKON|1!6og-C#PgtH;v$Dql#G|irbS*N9P2VF!q?#f2CU0K0j +)z@Qe6uu{QF=>JM=t-kvczgGUq&K%N)T>oIxTf}-(v?Rsb +ArMJhDIZm8o0IiD>J4FSl2cD*TFos%t;22pvu5;9-#vjS71Ix8V})_0q{d`H&CMuwE#~LRCPga?oBR} +>1yV8Xioa*MeOvJBi4zkoVeu{&C`9iJYrYlTXKH!gN7Ak4w +i`(=AYCB{?9)hVnQBm~sJwV*tZ>V+_0(hIhS3ZR4Z{+Kv;e1sx}wh-f@c{8d5zAF0cvp{L=5(jpD=)0f(T;o*fjxnXUo+jOsbZJ%2tjX{PNakCz +lnZjnAssSD8z4%Yj=ucPe|QM@nl2_HePUlC4{2t4Zt5J|>VrD6g@L)P7J7^Yzb^!+fojLpi_Akr_?UY>8pI@kin&&C6k?W +s-i|+9#lH9k-mx)l@lDbp>l^X;jc7QZh57^QbT!qOd-Wr6_|AHQ*10C6;9&{Z7Pa%9$FE* +O&QSwI?Y21_`K;F--laDjuI2jkb-%!Dz{K(}Pi{qy+1r$C)(!P30GCDea7dOuH_Z8%6yS5AmGFb%;tY +Y}Dc@*SKmmOagq&p~=N;8v5C|y&aDvOq!s+O6P)nk9izLF@i670T7IUa7|mzgU&a{^Wrw84UH>&_M&sBFTz~D)_i2$=#;+DfFiaEx60 +F=Wb#hQeoix)ZLW%MUF_mm_AOf)?Cf7FuNAk|M`W;5!AXlN?j&nSEQ?EAXa!T)!pzQi|?^vm|*-Ns`rGB_PufE( +MkEYsyvLk;E+!a??k$VsEKS_IBk}eSVwOc5QqzW3yLc{QUr4)^Au2EPQ~8hOgaP9(&@GT~=rR4+sbHl +J`IOmdv!G5U*6rPw7l{r#bXZi?YXOs%nf>`lha%a$rB6^0nUma&#qGOEkB7uf3~Yuh;MOGU3HC>n~72 +kggUyzhQO*+5Tzf8Z>yO0iJ+^7QGBsYy_M_bHC7f2Cb*ObvZFaYad$Ai>=uFso0E^uaX6&p}v768xL| +P-l0z(KM+79{q7l|&(y{H^$|Y1`+(0Agu=`Wc2wkpvi5t0_B-=6+cCN(pFe-jl-C>^ES=o@%(RCgrlz +=yo7#$6d~;x~-x>73F?B73cs2H)N={E}`E&Z117eqtH+QuERD@zsP6a{4X7mPTv!|rKMCx+bLlyYlUR>SKkh3La~3I>jjCwvm!$ +9?8|!HyX?u%!t>Y}LjrLsK}@||r);-dFO2Y#$ekU6&s#eVaxR15DO-Be0|%DFoSx@k?n4@ACWMRQ2wl +!(BRoKYLO9*u(LFeoGrWaKngd?QCdqP`=IwpFIG2z+?@LhVo55xVkXy%lNdP2YqSiMWz)+9)3mE9X{B ++g3lKQ8fI5CSL#p7K6@$};K@=OB3O*61Rn@xECndFnu&wZhk&S|>6#yIUEzgR`r1On9$a?^MenEsmm`^$zptpI!+ +hz!!XO4)G~R8CCPqZU^x9w6~hiCg1yKy$c0Z8+@+fb`0?2 +qzYV%1jdV`uw68Qf4VOu58nd+A}wGa~Mv-}vAxLJ+`Xnl6f&59_WYV#3>s`RdM`2N{pA1NB@Q!NBxsE +m9Ke;t+sm;0(#O}QZS*#XK$;Nz49@6 +aWAK2mk|-TUo9ur@UDa003e(0021v003}la4%nWWo~3|axZmqY;0*_GcRLrZgg^KVlQ8FWn*=6Wpr|3 +ZgX&Na&#|jZ+Bm8Wp-t3E^v9(8*OjfxcR$(1<%Ey^34^}mmP`#*^s8`U9h$(;&jE(D+F4mV_jrXM@n( +MVgG&43n`JZ-KO2XEI=EHA|F2QZ)C>f@#wYQJSx?lD#c2bwK7&LwGquqiJ8hciU#AE3s^=yeV{LVWn*7OQjpJD2&RRax07~Wuq3N(FA%`+^pQLr|&N8Xx_RtDp%G@v& +D%ws=>)?eBNktn+n)=D~c*F+Xd_{HY;5!F^8>JLN7(>DH)wI?+jOhwGzDJx3RY)7L9z(!!3Q8#TVjZmL!gS-bBz$g$*3UFiOT)a +DfBVfH0$VCvIq!Eziq6B&~c*)MrudZj=)wwtUfN8GRH6WLa1pLg$kMQTk`7al51~aA9&x8>1lb_b((|*kb*B)3iJkOSu_<;VysTjMCV4b*CTeiqMS+>fO-jSIrVdYv0Z5E!_H1$Lz&Bvop>0*z}26IlueSKa8U=L-{_lQ@G{4lgDTT4`wqqF<~lN?0p7kJ8X!3R!bV6{kJ +#VT_6&^Rh0Jg5{a5`Rw;!wv^cd7Tskhl2ejiX;r>x)rQFG8KMAkhc`(Rzcu)+31#(aN6&NEmBf@Ke$= +2^ayCaXKlyaw>B9pNz!EVvIvvpVB}@020#67ZKDJ+5J>=M{t@`2GI+)pO6zK(iRjj=_Wz^BLA;(ipi- +O55DeL+oYxz)ieq8#yo4DMIeWKpWjd3bf!#7FMA{z<8L>X0OkU0V~E-MiwRHJp*Yikq!{VTU{v{fyjR +x>O6nmkrUy_VscpbBKlS_;m=Y0>a=IRHEKC@5za0c18)tJe*L6-DwdS3F%`$r1_t>g-cVXYEK0`jD

      q$6weiXi(KXs6cB8gb$zn$cqf-{Zyq4OTmXJ0J!px6`^-)q>nf!pxaElwy!e(A +l!Q4_K#@NeD%K&Q;xr7chQKkC-n>E7Wl)pnbym5_p*0Bgy;-d|E;)caGH6Q$xk+H99+qarE9*r9@{D0yFc{|6=$1t#^ChFA-6{ExOE +H(lz6YY|H1eSLy?C=FmbS*p*ml@t1zv>E2|Ssi$1X&WYP>WAK4Uc9|Nze+m)&1)tu=sFq?dhTCT<6QP +TFn~@_0}Q5L_QioK1`Tmr0&(c1dQF+P%cTlK4LfKjJ^q?JK6>&j&=+OF^V|pf*qiO3&(Nm=!QY3No*+ +jQdI82}pI^G1Ib~+=o$H#)v9n0U{AQ3W1+JhI5Tlq9>btDO{bP1^3;7{kC{q1#+bkbFA4e9$GrYw>2! +rx0t8_;CoY4PMXa2z5EH7co3GOyDp_KyHO+n1tBH9sVv(3ur4aKnz4iW%Up=K@k1M#NOfdNI(VLDGaI +T1(4fezqKBOm@~O4bqYYrYg7&VcPCfHzpY-zcXUjy|G?pg_u9w+*}fJ~A{e!~)tiu;GN0$kVzcob+`tGhr0^+!XbLoG=$ywOS|eFXOWKPzg# +OF@wV8)Vsh^8vN#3LV<@uwA@E2Ds=Y31-EVmr!(j(bI=w@oqVAVCQ&Rn>BWfxGSs4qJ>~;o1?*E|QHJ +W-7x51*WOl%R<(o!0y(b2k)W4*lm8Hy8G9UkDeygB7hlgtHWD0dz#-yEykG)r;K1e$M`I$37pf+EnH% +7O0@^~_#z(Hfkk*J}NF0r%GfY%F{OMpLlnN#!1?;F^}o;dne3!^btfvLr^$SK&_TIKMf7M_S+wBMQ~e +oKZJWQX6I8BRhL^jLqH2VYFScGG1P4RV*74Je*HtoBT!Ceg{>?o0<_f9~iOAIcuTfr24UL;u%HzAwnI +A(QNEeV>+$M?6{_BXQU(y0r&6@~zyMw?(;NqB%e7Bzh2+-PF0$A|~z|Xo)i9E<5gth`K&Yqu2|voy`^ +K84vWaao)~>GE4{!#>g~=q$|icH?nFF+(NTg1nzZFROcXedn`0A-T>pKL1`JlvMb#J-w>npkR`{IGJ^ +&wd(^<`XZd(hSh5V^^QSgJHFOP}Ly^L{JwmlPKreA+n!GXk +r-lzymsp1!nxs_WNmpyvM<~7bO>N^8b(wY@lm{U9MZTrC^y1D7lVmk-V#nx|QOM%!Oag>bFr8mmw(og +AlO+|H4tlC?Z3a*7cXWwJo(bK%>>8rhvMrhI|7SFDPpacf^*z&kk+lEe4%PiYCEC;?^s9hZdsxJ!&W` +tj=$hJ3nFG0YeZL@c3_TB8tfOWzZxBEt#o1)4|LVM=)m|KzIq3f+`y6gXDfICNl24D%_B>Vjz2B`wCo1(^ep^ayt!oVuufuL)~eJ<9E}(i+axrzVHtHdW>qfgHsIEoXFY8HUu_KrY+ud#}suNNNj5`*P?IZm(5wa^(NdW2weV4GbVGWz3iOHTAu{Md0swB511Ie*)H3-j-KTQzhH%{XzjTTViKH?e|rPIsh +q&s&@*S8CNPF#TXY{^KYh$?(ae+PLd5s+y|-XwJxb*PW}FsV0PY;&p-aldG+Dwk=r_rPfe_T}8A<+^G +AwBflzL=m4id9F^T9fPOh73h-U%5fSevL1pzoWlQi3TwuxBmGx-N1la{Swu8X(GWdPYAWuq7rpfUB5d +5dz|b#^MBrmUspTTW2w^!>MZqNf8YKKc9fwEM;LLCVum-?bOhwsk8B`_CzpOt{bmbi819Y(E%DA4m^p +LZ}jyvQqICohXfJ`lT$_IQi-i6Wv+iNh7MGZzlPQ*{5jD6524~rlu*IYr>LF>o3sneB2)K{ku7~F)eN +jFeS#%4aAU_W#j)*u_=tSb(dP(aE>vbWUeXWi?}6o2lMq=y)=CWj+^8aM2zeWeEM4Xa-=Ok6;@F6cx) +#=6G_beJb?gBAq>p;D48}hK=C-$%U!0lAfN3cjAbt!!)ELqY*R}Zm^VAOs98vyXo`eRq +t^ux=JXpOskuq@?`-47M?9qh`;HJ&SD8t5*Fpgq?s1HQW3u?1U*H|b520$|_{!MGq9Kt7_O#Wi5)l0v +yo2+S3Y*gZP1PP!OftHC>{hJ~ +u|X;Oo7LbA$mPmq1m6x{885i_8~Zw@TGwrJ>*frNGnR? +~D^-rbm5+0+N%@C~%0$H!2CiPU7O1j;Fq`6BVzg%>@FCHk|S%lYP*_0|Oiy-j?YP?gwRbvA>=RfA-Xm +n6U0SJ|iU!TyZL?9N#ljmBrx#?E5$GJ^t?2JEvuULCD^Fo^i!0@bx0Q_swBAPr^tSvTPDX^t>!!8aHU +Uvg;kkPZ+0$_g`MasyG_by)(I;E52XiPQR*lJ%=g^><00JD(+Xd4D6eN!OD`L>7~P$uCa9v!c{DEcve +vXc$o255 +iKzfb!u@97w7l=8$i~2(y;?<&4V@bbnaui>+<}iVBXGeQZSM1GcdZb)a23#}}BLB6zDlv@vJxy0J0xSUP!2(0OkV}PI)h1<%4;`MQT3E@jo +ZBHzKVwWg#@bEg*kb26KFl4VdfO~2~S|gUvIHj$1S>)h=9YWyt8+og`RFkxjGzS~xu126!{NRGr192| +#&SmAQL{yU~Gl|*-PVu@(g9fD*WB?8t-j4g=U{M)aL!<(dn}C>5H}>^Ix`^{Y)TX#Y%wcKFf=j$*2^1 +4*p5jjPq56cO9M9S)Q=zb#H!V6VS_1X=GAKy9P=>&U(gB25z(uIcSI-IDS0%?z(8zOoBDGkz|0s*GB5zJiSN +H=_Ac0ul)}-(^?W2*Y%$0OcyYGw~ZzM{U9Tb~WB?_IgHbGw{)+23$L|AfW`q>@NfNG6*dCenpmB3aNg +h=nPcMAtX_(a))vFh*t}#zkoE-1Cm2uAS_e4df)&DJw+C+hy!<}Hdz>4@!cQeeXUIHU=MPvKC6Hf7PE +?Yliib=E&&SW6B1F%jj_tR1%>H0Ice@`{?RJyZjKz|kwE7@`hN3Y!7l{Rz{f{@1-kEyj*vorY~CJRe@ +NiYYI>p$a&>#4qaD|f__Mc36CxO65x*Vm+8hwLOCw|O(d3;bm*LEhy +}T)IFz*bppJHya!8HP{FgU<*g2eL1H-r7p7Y}hdb*puq98Dr6bIAFci4WE!3bgY)`9T15_t*_Sjs{ad{3ITJ;)b8X@V|WxM#hpgrOnz3Yl +SMyWhP6kmBC%(AD9fvuNSxgwE=(%nh4y@v3rlq!}O8ih_lnd6+mUOwfud`4`gF|neox>`^mLN;T1emw +uAz+gf&N>kDkz%g|fLR_|8v{JI#1{L^IabT_$VuCau9{lJQ?&yckahK&J;lO+1jSRF(U~2zc{{nMiYn +M$7D?jUWFx__$~97r)XU$PAWFcX%`P+fKxv@G-2bdHLu+P)h>@6aWAK2mk|-TUh`A0006200000001Z +e003}la4%nWWo~3|axZmqY;0*_GcRyqV{2h&WpgiIUukY>bYEXCaCrj&P)h>@6aWAK2mk|-TUlI`8LT +ED003!+001KZ003}la4%nWWo~3|axZmqY;0*_GcRyqV{2h&WpgicX?QMhdBr{ZbK5qPzw58SDbuNxD! +jx_dv}?-Q^#={-RIZIPSak#3{8oU#hM~jK5VPseE<9H0|3FNWI1=|$wVZuyI3rC7mEjhXW}Sct&`wpk +%_@4iWK*u`9(Dei-85$BmmWSS+x45^F&Xcp!^@}aZCU>T?~5S_%40y!X@r%(^%b|jXuAI$ +MrQsq|pGz`+kNcaH~pXM1PrkFUB5n@4I{xwcSDnn!qXavAL)wtl0ps<`33N}-sN-^br5iiTN36Q6Go< +vZrBrHD$(NU>?$XSLdh%k@CFuunM&f>@quwLmKYQ8JT^``Niq$+WX9 +CWmKNzl-zt;_&Qu@wf5WyOB8l?P79#c`42(Kx}+^aWX!J)bZKT$;Wr&vtPtpz&ty@5+~!+@fDE0I;SE +PvGMUGk~=+~9DRV-!?)v;@zw7mAoYHHb%u1`pHIZ0xHz0#jgLN_98Sc=$H~R{a@)%g4jD|2*yb~S<55!7{ZWspCOFONs!a5BC`vAmz0pJFvpu +z+(;WB~K*nCYO<%WVT7`2O+o*pL+Ojt@_O+9e`$MK!q7>-GEnk693c#(_@EK`HJNcqTpcC1`>NmYAbj +fLB?A=|y6X^ll#zd%bxA3h%n}Jj)a5x*}Mj9)Z55aR|oc@_VnR(&u?J%i=gpbwU7ss+16eDtlR+==XG +OvaadPuhAJFa~A2gitUOBIRa9%=3b +IYq2R$+%;(@V(M-@noZiLndq4s>b2P~yn#Z4Ceh~);Vh^(S+q3sE`*mafo4qgMrvowAABopP5ZPP+=$ +oE^KXg{njY|>$+yT6ghLjV47r&87kp&4VYZii6E;8^zeg$IrtB^b{KBm(g-2m1YD?WXwXX2YULl8*Ro5L0(yag2YyoP+g+5|nxXeb&5^jem&*(~N{-wP* +6PWL*XZDudq!!=Xu(4>P&S#5ri`9Qvl?B#DzU$}^DA3y@GLaifgta$;IPyxxk|5Bn8bz6`~0+Fo8WRq +{*hH^N}*4Z#-1+|Ta_zWQ0`eANpKP*XwUauh;9bx#YPzCC~<=)JoKx955`gK@6czUv +n0MC!Euoaxgq$~#F;x60+u|KgUDOTg8G;_=e&_>QuNW-QFE&B=HUM*0Td&f +pE2_b@WU$So_K$)-^p~Aly#4F4uZl=Dcwj|+>#g}(ZMvRA^!9%yc=1d0a-Bgm4yj0Umj*?!$`t~*Eqb +BgP}zl#G4UEqoSOVLL8FGMR)Nn7_aN5SeDbS@fce{@C5%nv~!W)gb*r1Pzc?U@b2QkPqFV)l18u_2!_ +EoR;VO$8Q&QoA4L|dpbv8@wi;^IK?B(7xmG1=hIg2$5VgVbR)B3ujhd2WVA}5#LPr0T)v0L9?nZ<*31 +LhS$@>FTe7j9^=$Hog*@V +tSg&u%fouct%+GVo_4K9g2JBg*oOcLIYPDGf}GPcTviSQHNEoDYa~@s|Zcs!#5nXKAPeWNrL_DOe2I9;chvW>Ylf?re=%a;HVQ%JRCc5}} +%?bK|s;2OwSNb|B3MK{YUfe|2BbfT@eBS3{Fluv@#Brdn^Vkb!8EYL(xOj?8$UR#&DWl@Vw!w6x6JVN +YZ{%4P6y3Sbvrw&3_fT7iI$Oz8JeECCSuq->#rEQ~~A6L19&4%$#k<3@<5ao$1291c^WewfPzq)=iQg +}w5{@x}hjJuwd=jK&b112Y)HXWC+?I5Dz>!ZE}qY8c_0!K(8;Pf&#+^s7NiLt8cOqPY%++cy7DRE>WnjBDmoXx3s(L;!FT39LV#@-sxT|u^VSR}Y4E`IrfEX30MzgQPO=XNRC<- +I1?&j3ps#$80ZhJcwt)gL7^!YcrZiqV*FG!_ee?ZxTKH07sFZnSjb`)m<3(;=LZhR}KLX^kXgyxH9UP +^P;9#jm;G}hG`*gUe5rQn*Ky^3ut;TJWs^dU%t2xnAhazN&5#mkkUIg^F|n}Wr9ze9jZV@$ABc$cQSD +ub?wrDWql>aM)mt#{MW0@}&r--KyoNeXgT%YMCsXKl32L6_vm +iEQ-W*Y0|fu?cfgeT;2gj4*k}etuD3AuH8!@xirp`nHp_Sb&y_)e#%QtT2bj)BE3wOZ4uj}#nG1x7r> +l~Vao^baMiA?Yyo6py`F2Lg@fjJLk|P2u!Kx%oXKTsk5sIX1QW@*U{4QDg2H#LTBe8BjZeWmif8F1w< +sRfZpd9z;7`bvn7==}r1{SAISyS)FF}m|o0Q?G5q}ZzGlp{EQs_rRCbD +3@ONj#HjYvmI!x{({i|6qXlVUx~qcdCrHfwq}Z?W-Z>YwD{ggGwR +%POSkKna`SNo3){~3a5)uKDdA8aYpE?U?o{pn2rye)q-tXWyL~UFg~U-c^Ay6Y3%1&9EOsnbz50Q@Dm +tpXjJ{YB`Wi$k&Cx2&>y~@TJ--4Hkg+Jz@JT;1u!nIcSsgQhc~J~+OIXeQZrs9uIzd@!Or4n9^9;OiI +3dr5xrmVdjmpI2TS~}H=XrIjaedyF6priX%jMe577$GMwhY?R%Lt8<`H=+kA6hVFB2C;cvTOyxO?(^3KfHuxgD>c@;03dt +B6|acl(hpNE68aJ>N0e3nK)Cpm_YAq2#ZXLV?bJo6w3MG>h$Eoyb=1URZ|u7VE`p)j!QM?oF+`U^n%b +`1`urF`YobRl5;vfJ$_qCK_G{KHV}f|_ohN=TuvfV47P#RG6#!>nrCHtr}bo_S%7!ytW`i1M=fPQXx& +y!38_^ntx|9SyG;G6ltNSqsEH7^!-uP@i%Xf@u|m{SsG(DSZK84X%eahCOV~u=l7=&7oTju*bY>U9?3 +SYp>v6?TO$dMHGAEe-qK77sM6MF0@%Y#Xlg6`KnWY8q^nTgSsBt@@Up(o=CWP#kf>{K+QjZ;At{-?|O +pg4Wc~W_f%IiYM9d-qY_wZIHW5INhN@of7J-$}cOZBdmRFf;gbrK}KD7a%isqmry16zN^@k4DGT +POR*fz}1h&g4ZrA2oz{{T*?hudetO_JZ+Np=zI%rk{$8Kwyy{a)- +|4xe8kc~l;(Av-s=9pX_3ZWT8cnr_NpCPHCdzmtf!Zlk>^CUSSMy$j<_T*vPv_XnRE*JQ6~IY;Q_8T1 +d$M@#(&D4OI*;>y)wEuZ7Yh%{bA2_f>koU)d{M4utUt6?>S#jpU`F=WgMHGf<4gzF@Lr@Iy3uc`V`!77i55eVN&AV?1=nF97H>!+VGFXO;OxC;^xs)O3tI5%Ql +l}#;b3S=B~m#eLQX+?O3Qn+^yJRtf$Fju}hnqJ4lU0iQ6h-*X$6#&jNwnV +0(EN1@U-v>h5X1^!X5iV7%c`>5dKY +tO=T6mveK%=?bR0W;+2e=HBT4Ox+Dx^lQ49VfNW9T4J2?W$bSj}+$Dewx(DEmdcOf5p!PJ4UGQ&Ywo2 +lMpe110fIU&!yVU%gg!V4L?Ky3(V*?3vJn!V(gP{mHjt^eshdVX|(wa!0*m)`)UevkZ_4OU=2G|elr! +Ycu_fM?I1vrHJIPp(!z6y;`LAFrsHIZJp+==GlG|dukmO=f3*E1R~~(uP;%?)<+#pQOEip}Bsc_low?@|Pg|Uma ++LnN=9vi;}SD%@D?wjdwvw6Yv-1w*+SJ}kB^mftncHQpdS3;!(QcvWcY2Wc;bNLt$FTzuemiU2Fp@#a +qpT^aB1X0d`$f+{uSPAY)D(8VrD2I!olTPXdl|G!)M^BVWEk0h`aNb1i8$9$~TpBjxEOXt@kN$+PT-c +x=fwc13g6NLKH%VW7BdFG+AB)8bRvu~<=iw9PaV9}x_>(7+^VN$%X9)aain +HOVoagiONXq&8tqgM$##1j;AnFAniqHDWRS1^!*i-|^!pF7>*zZj>FfVOYC?&Mi!G6bH+USGl-{IB~7 +x(YunO*b={X^DM&3^{1r`q4xeHCR8WOefoG6(4lu;K9m=vMJ;HfCNJdQsr? +AF63xH6@~R%%f?XN4~311RAJ>ItMC)(bcDUjH|w!JWz* +Yozg3IfwfQhbZLyC4lJ65X}vVeV)Sv*iX5~leSKOr9Hrbf78@9BY>;YQ3t0NEIB;b61Szx>!sl=xhH4 +FJcP*&;kz80dX>P+=TvkZ~eO3p;>Q1oNs>|lwDS~Kfg%NfNzsQVFl2nNTPsyZ@q}BOjYuzRW1Un1VSn +9p0@`fa8fjWwh4u${_`XJLduAz;k+*LaUR}nFE0hSwUM6+F66_dSN2O0oWa4e_Sj;DbtxP>olM^!M5_ +K!~MR<6?l9_aA=_P)vE0U_TZAc7c{v1ymZW_$(KL?NJEbejk;R1-eVTy4f@C>#GSkoQ?yb1_W` +8i_-!Jk2cXAvM})l#D;vt9o2z+o6jc%d&%0t4WTw2W@!T@RkuyF0*;wGNezH2eOecc34^4YED6fA(pI +!TGq+z_$@d!l&vekx<)sd9R2%ehA5!$*DS&~E0z)4ZIhnwa2G)_o%F6 +n2`|LJXi=-}X4l@)3{d_|N!z_qmoC9gc~OMRZGFCSs@MYuYS6{@B2jZ2r#hP&^bkf5_-pGf7pq04l*Dxxu1a<0V +vxVNOXaS$aRd}6JMkyaavL$a@vGxd-`c;qJtjGE+w@-0$>m?lD;Mvxh7x`WY5uBKUx}^}hEjB2)I#PC +!I*D9`-b@aX{@?%J9|`<{hav3-B^XzxGjAoe%@~{DhpG)=Qc(+~%Go0NNJd{RwTIev{nYeE|is@SEnEa~iAm_=h#X-_L>ixPCp> +|BT@&{&Q=b3`Z8Sch=(B$hrr0B0Kk!0rbVNwZahY^6H(k;taibHHlzV^Aa?_t|;`pgs*WTUn<**{Co$ +#7!m=T^Am!&ZlZ+(}we%X*!LO@Z6*VZ;(yP#4S*hJ`W;1VyH}4vqz^2*%{f?9En`<%_Q0ZPnbc&;BY8 +))j^hS7|+y8`5>iZK*}@8N6q8?1jP)zW1o~1%r(Vkke)%3_u?Az#^ulDu&bYWuK%G+<`6Vt#rAh$E+(Q*j}T)6e^)xOj +%tm=ArZL@kEE=n=Ur7U^*agph~90@;Iz+Wt26R=E4i`W`;}3UGQAd=PlT%ln%9CL06b{Iv9fJ^UTr^r +KC`dMi>S-qvp{{_Jdc0MDqScnyo|07{&At20`W!%-3`X=AQF?$*$%r;FSqGt9V5RQQ@izHeH(eah{b< +w*&A-&1K(Q9EFDL<1G?$;Cq=jtT{(?W!9I62s9GKwE+!>*dqv!C75Ih;F%cnQFO>Xp8bYHC>q@09R&O +&b#TXrg9e#XWol3>)M9ZCc7W7}H6S|Dv|1NcRx|W`euCC^G;6mKGH1aqmSqg&C-6y!Uv}n8{3KRVN{(RzGwva%GFJres#50BF%Bbq +Q4Xxk~bKW02>r=q!;;OJ{)VKXwT?i>#Kmkke(JW_VI9vWhqFc9l}a%_XVaRy7CEu +U&H@xn<3f(=BQag>bc-778tLK?IIA@NxDBH!KT4$@!#Uyo?FG-(XlKi@e*Ftb`57PI5z$N3Ha_Faf4Z +nA-?c|4kF=-P(+{GYS4Z3?l2slR^LQQNL_yytBcA5dE&hL<^Egs*w^{v2lYTVtlI}7m81V}5bX1J>Y#S!l`U@OEPm6lZ1WhTRB;k_)R_gcw8U9v$Z1I +q_*mW6BTtm!z?d)$nJZ*MScd2_v5@4qRgEAo|(%Xs&Rw_3^MT9GpW4v{Rbr80+l^GzuG&K{o@@&fT-51HC+~vmI_T;F5j?grsPs4b<; +#DUsViv9wt)&sJ4-wYM#3PK}m2`Q7 +JAnvFdwnN#^by~d$k1zmOX^wJ!j`gq4qoCG(Ff!FImq4d0khpcg1N7RSRLqiYD#atE=wqr36{Fx-f%f +c01Sb>^(xG%3+ADZ{pV6l#k%V}ZWMY6%ffCUFG>FB7B`h`k0w^3V3Z&yqpYlV#1M>AsxBy +n>5{Mca|o9lGu2U2?(LrI&XqQM287G)#vavmwpF(_ify(!!W`xoCKfJYAPE=(KxFg&2C%ycREhQWI-*lfyNXa$P{-8$xh$mEQiFI;2gD)-5e+{7&?&EZrkkRC +Hut2HLb*+=yc?7VX$4(LC8zo1{QPg3cHZaK;+}@k-Kfze&Hv{mi`gZ#XPBB2H@V)`IDCBm4iKR;v&w8 +Vdbit&k#yIfrrNGWbhHEAR2XN*(pZyx)ZnpQMXk9NlC}eCVx!W_#1(^}Lm7*(WtI&4S^jzICGAy5_JL +y2w_i6`{W|jF!pQ79Ad`b0tZY6fmP5t548C^dN@o?KRQ7G$@wI`rlK-M>>uz8gqMvQ#f{%^#n)4_guS +sdIHfc?n4{gmctYJJyc;x5v5Sz3#5XGE>6{STvB-#T@*ZXpq7f9E@LxGOGNUcowl!MOi;ZSz`efZ4Zr +bN(GHXHRpL4z!s(AtEeB(VI8r=8R+$M)n@KphHG^(>Tdin%DJWGgW|vY7M=TWpXHm2Py!TZ>eKyVN_W +!0C>R)k+fE%qA(e!`rXdG~F5k>5h7!N>G>nksPVE>yGU}j#PN_#F!$wo0e7&@pLn%znaf`3KKqk)QcJ +}_xStOm)#KMdytaXAyRbT`caI>u4YnQUyO%+nk$mj73*rO#v21*D8{pd +IC~t=)iqLl;}p7|72YkCuXK|729=0Vuy29Gpf9$ssH%P6r$&FghYZJsc>f@(7CyiJ{uN;mG9j67$MAw +BzMM+z|L}wOc_QijSpSeFAFyUPVXAf-H=x@g4AY7?@iUqsDuw +^6mjv|jz%!vf76VHJ3k6r*a9JY;^+7}*N6NKeMO!5?;4f20wS*S|tpx_55e*!G5KTnzXTJOuT5$~-i4 +3Sk>V`JyJ7RDNim;+t64K$`Gj19h9mGospk4}%Kh#sp$SAcBOGK>_m^-6NO9dtP(!K5tTYscMZ{gNyw)|q8+v&bxhV6Jnh6OZUpi{28K_6uDPFn9qU9D6>7G@_J>*Mcs==9vWvtry4h1(^Ym_6ea1 +8F!@@{!cK}QxB4fAr6&9wl!uVTiWzOfEz|(C=sj=o7~$xgWMyAMN?y-E^v7R08mQ<1QY-O00;mBky}~bxMQc!Jc4cm4Z*nhna +%^mAVlyvrVPk7yXJvCQVqs%zaBp&Sb1!XSYh`9>Y-KKRd3BUsYuhjshVS(&4jP4cOU%X?j8b2$EP=pS +OFtIaO`^odt5#bIk~}Yz?YB>#j@P)pXd|8XJm=`uv0uUL^$d2hQ;$P5AlTG@ +OG0S0pW6L%)}{qe??1ujXYWRnze_tvkLSA>ufD@bQqr*0+$?4z-+rqIX|3##Z8wry3RvfUJ4rNAkm2- +c*fQc~%-5ZKjRpkI;f-1A&p?tk(GWHoApZ#Y?%f5`t!<`oEOY;R`bI?LdqfG6J`?cAR&{S&IWM=@@l{ +Ko1Q=dQa6<>D8sdFf9DX9^}#)CW*g=rTv_^a8q_>J;bjt-(2S?dHzgWy~*0;;=^HV@k3<+^Gf|bYZ@j+-sz+eg5SVJ +2PO{;A-MgYx@zM*NAaJD?V0sDTIr#1(0IL2ixab?sb%8MHopZ5It}|4%~3cUS +h7S<^`tn`L||)~Dxj$_Fo&ui|3lA5cpJ1QY-O00;mBk +y}{}-z#>D1^@ux6aWA^0001RX>c!Jc4cm4Z*nhna%^mAVlyvrVPk7yXJvCQVqs%zaBp&Sb1!#gVQX?_ +W?yD$ZeeU`dSxzfdDU23Z`(E$e%G%c90ZdCN5HU`Azg;H!wM8AhG8hshagaBiLzNsq(M?~w4(d%JLiz +p#j?|`=*#>NDdf3)=gLD}uXO*ex?sQyJZ`Jg-{U8jZ>4(uQ50@@lQ8%J%HN2r(uM^R?j)F}tH{dNwP2ph64O}Ji +dC&DR_uzKjfKb6?tpJgzz9Yw%Q!0lC&`F>hNO6j?68%^mK|hWv$Y^vQNp57NWi3J8*bKo16vxl3Ma~p +z2Axe#8}6iYy<_Smyc{gl5|Ww^19_tSb~}&(h*P+#8ue?MoC84wsskNRY6E#McTQ7Qt)zxoFoC&L876 +)kF9mRv_G^G8Bu&dn^4N$=#AkG6HgK{imMKY8!i>H_ZoaeymMSI7i<6)csL{1kUxmRnO5}PGp%A$fw) +Hy05LNqK!rdSMo>^akk=hxuQ(VOB?dWJOo@bEF4&vi-VlCPYW0I-TmC2rxOE@_H2_2jR0owYj84b65k +UyKqqPtVZrM(Bpi8q_>s`BN`CC=#Ubs}j`5S4S=}45cL5xrqiU{Mt9g=n6a;3CGyZ0Q50#ILnzht+qD*-($z2UX>&~vFu@swj#!g^nvS)p6yqOejL*G<{Hd|^bHAEevn +!O4-vrwbJwnLjPa8R%Hsixpd7{^Ao87oR?bX@zv)8-ZRdy&8x!NQ2aJd7fHPS1a~R%?=1;#n83Lk)5$ +;AolV3AXvjY7Ktg6WH;)fj?!p@b;_Z#RUsg51#g4T1~C*xw}pg-isXe@G01cubjZ>zH%%?9oiN3&O0b +g2mS4*vsMH&TYlvz&p*?Pt=M0CSyoX{Le1$1|8+=6pT~7Am5d$>v*Y`{$KB7WEK!T6y28ISU@G;%+QG +>1U0{sHJ%@Oxm%o$}0>?rZ%f@g+|AJC1Hz;t)`?>*K7i0EnNzKeB1YDc+P(4iG_F~3E?qr8LO^A-}Im +XFlYA!oSRVc)=JJL=LyCm-kUi(ZZfW^<5MM0(VNjqPO6`i8UD`+$sajmv=;5Wr9uv1v>zAt>x)nqKu$ +M5yUFbP%ympO>RrErsL7mN0yaSH=gjSNOd=vk^W;2A|;Rd^@;hoayPrbKw|Azo9Ooe%|jV9qMiC-MV5 +Ux6XY!xO6YX?u!onANlXQIp-zJA$vH}y53dfkQ2Uw$px*Rjz2^^HatKKm~O$a6Fs*zc)1TNL1-igx}p;OltF99zKqgx*hnDFY`HS|t(U2@TAC5tdzT7QXI3!z40K5D7pf;qBND7?Dnn_@ +EKQ>vKmsCcWX$8YAD<0sWkk<7O$SkB;FA$?`KoO90sO=i0B4@8yHB4N6m5$uJ+Zz8}y85iRZTn%@16n +z?kta=HdJ>ao&W&%7dVv2&Cc3dKJ*gd|pv*t8DN0{;a3_8z)T0?5=PVVCP9@uGIIgRgR)Z_00!a^Sod +}KR+{=7zHFC3si@6aWAK2mk|-TUq9cnVQ +%E004so001Na003}la4%nWWo~3|axZmqY;0*_GcR>?X>2cFUukY>bYEXCaCvQ$!EW0y42JK13L(2}fY +CSTA)TI`MMr7sllc7o~Q1UFYzUEq`T2dJXdB&rKFcnTk%H5RNEoBs*8IM)ww@(;5R+t8H|MqYu`LF$jXS?d-|-MEGy +H$+wUfyZvsp+mz{*y(~*8x9cfbmyrM2<=M6@H!~@-)mxG6i{-Y=cg23g;-se<@dYIkaPhl#mfe3pCqaIQRYB}wV+E +l!wgQK=S*+{Yo!w9YM^Wg7G)`e{sspj(I8X8Uh%Cb&x;f0jLBmt0Z>u2yeSiK0oE~ZB;VrL`v$y-)#U +NVXOW_I6Brq>bRAeh3Te>^WA+rvuiAG0r~JQC-jWX2A2Jp0Tb9(HCAqw!gYhJ&T3Ycsl^7{+%Ue1O+J +&i>#2)EM3UuZwXK{{v7<0|XQR000O81Cd)V>WaCx0r+ioK_5`EWK6l4T$8A^L*GI16H=E0eG5@RQ}5zENVx~aHij_8n;j9{sMipOyumu{ccu6{o%4oE-%4lga1Gs=E$sAtUers!9ij^owfIs8$*nj@UF+6Dd ++%z1-3fzW6FAjx6ln6{!U^lvv6)f?L)RtHI$P1a(%&@J$H}eaAv6Rf(*<#~dotIK@(V^QVuU^abe +UU-)N~@}M1`0lExzG}(d_uN-dc`p(CGisqq3dm$w-xo52fFd_>UauX^~9gU2>PRFrC&Xtfm!cT7p~}tzjZ9?L8 +~CCj~)6?7-(Z6AhS)m0cK&@0!3Vk1u|lG##Xy!RV{VmI7y*m6b~cbBMxbCqy$t +YZMtj6A@si7nTS`|u`z6T%dV=IcoRKf^W}UBH|WvT9U^-%{5C1LW&06nS2^Ae4v4Q|mT(>|Oo?SceE< +ra~DQJi|;2j$16!MmV0sZB?NZr!fK+3wNy;@d_!>3PH07q6;0kV3DJkN5z3vm7oPi0OeJio@o!X*R{!+yoa)rJ*6}S=np<`05aBx>?k4w{6t2xZOO%)nB)u +N~nGYeFXSlV~fQp!=7^ULp&yPReelC8x`*i#Ad0x!#f4zHrnNMRuG^XT5y#Ij^I_)Z@k3-y;%u+Q)1e +2Rr@$!|YmY7KImlrW42fVlA3Q45ooqIXJS#cSIci+0E#&TaQvW>Pbm`3b6Su7_1Ss%a?@|I5p?gc-X^ +a8G8gs#979(UXXGP03v;yyy+P_R&htulai$r00-bcd-!*&*XGEvWl`1xg<%LY&y9#&YHrv0sp}mU@YR +!o0FZx=t%v;ROcQ5H83CGYZx$qBBSSikIS@MW7msgokYI)n5%$8%!WC9Bdn`2PA(6A-Z}6A-o~9UKX+ +Ef$!)XA)A^X{vjPQqQ?C{$C1N~!7ajf&~gDU9cp$=B9nT`VN&WnuZlGj#foi(Y_myX9~ +v_F7w;Z*7PL&Lm8RZhqsWG0FA3rM4aX~nyxnW_3S=!+`+Ls_*vqu3>@?JW_YEVq)NYeUX>$U!5lEnjo +)bpsS#!`^ExC|H21&sW3g#K-MyDOd#}7+aS3DbwO0n^v4ZJ8pTY>qHnH^`O+%REzLE+50ZTdN#w6bP= +`Hj7tf@DiBfl92UC^(H_)oMM4Z@e{=X~F +5aKN=S_R`vDr>9Udg&{}wz&(aBM19?bIA#n?8$|NpP}CegvNNipPwD4^iW@g}q9QJ#l8!Yh`3_?h89P +;F!i8Gr12F|&EQTZ>yZmtRNISKxNK?osN+;!C>oP-^liRtcI4>rPpOa%XL;CuP9O9&Gcye+Q^Je>DFPog*9FP%;Bu!@}`f8%>a5Q{9G&>s~vQftZD +wdNJ)?opM*T>i4kZ>?d1|@){f%d4<`wGN^RDtpQY)~D90Q$tu>Go6c^6>n0_c6?KT?3*C!%OhfLCuYSf-q0jmNSDh^(u06U~HO5Jeen+?V4A|wY|# +whr4+S>Mys?#r@OoH+_`OTnILf4xk$jr5tXUEkwP$@eJ38?cCci&YVbMv9GJ>Kq#X8=)u%6SyF*(aaO +0*3!3O5jP%_cOY;u(YH}+&VSRvD=^D&)OTsXie>d8(IBG>{s@X2FN9t8~&kxz&TJC2YqAB=`<`_%^iX +uYtiKQV8Uo0v07ok5=LuZL673cVbv{tsMp+0l&Ut4x|eZ9tp+$@nZw%3i3_=Nbb`xMqT++M$Z|NbWB? +erfCIX>k3MT-tE^_OgN(hv{ACz79e3h&{ot_yjpU>EaP##hgt(d%ei3yGDG=82mW|NKDIz4O`eWJ0qS +%_T!XP)ZJO16TBd#F=ug4+K>-GjA!|>Gcz4N`eyB;xU>Iz4`B9t{W+@Z{EH=b8FeGEk66m?OdC6$jHt +2|M>3R5C3DM9hTwEnXch`OB@#7Ooj&z%Ak9U(@$(3cj=!=LqlqOkPI?@#EFM(A)+KH!V*sufjaw2AJ1 +lQk;MNEP)h>@6aWAK2mk|-TUiRvTnAnP002b>001EX003}la4%nWWo~3|axZmqY;0*_GcR>?X>2cWa& +LHfE^v8$R85bYFc7`-D@OFNL_%D8TPdfg-BzlytKIaB92kNnV$-onHvhh3y!U3t4e31;# +&jjfeXq$vMJOzm19hF;elIJnEPmP?2#xLzSXM~3B>ZP)lM6o}8L3s0BsDg`Q3@-|2Io3R_AFa#`_c}4 +&}9km)06%@xkAgeR+xu>4sGNvm})duD&Z5Es>MC}gJkjSGo)$i-|uJ#QU*3OAjk%6ixC7kLja-R*Jkq +utJn4V$7;iVq=#MW{eAT!@%f&6L1GVo-~Y@Y$BOQ8X5GX=QOujOtUQMcLUXwHfYCaT=LU^yL$7tW7fS +4qivAQQHJ0v3F{j)xl+ktu7I_zt$pXR2&pmUm9MD#a3kAQy?*@+eLraq5F>+}O>h(^u$m8$&0 +`lw-YoZ|5l92BKQl7&oq?aCGnj-*z6B9L0}6S3&TR_W89>g6Ky+N%K%?m>sGe%x$^pwIq>f(tb@`8>_ +k+$E&siPWqqMDu_Tl+RKQ48!#Aqi7*;Hl{ptyo!(#gjqiwEN2LBSfAGcfn*cgOgM#ny;#`Cq>q@u^1;0}_b{TlymPT-(f1;sq9#3-H}_*UeFgtTayvP0+0H^Z=1QY-O00;mBky}|#1NNW%00 +02;0RR9Y0001RX>c!Jc4cm4Z*nhna%^mAVlyvwbZKlaadl;NWiD`eZBWfh#4r%P=P3sE(gg`xytuGeP +b(;U5KpBvlVvc?q@6~^r#DHvw5WkV`2Gp?fyW6tb`HCV*o#tj +5tSmF<@))pJ}5|M2QQfbx(d;N@6aWAK2mk|-TUj@bZSkuG00 +5m2001KZ003}la4%nWWo~3|axZmqY;0*_GcR>?X>2cYWpQ<7b963nd8JqDZ`(Ey|E|A+&`{XMY_-FRV +la@RPU^0~f+SedeHjXwmd-I7iPT6cj$8D9-yQX$6uaHS2x5!8_x(fxW-Iy=FBTvs;dyX<$ +4}A!WR@D(6-tJj?bGvfgfiDVgn`GMKU;>xc=TR;xuqj?R|kKI&SnrpUfpy;sKKZ^mVcPah2E+2Rf)o< ++gUZ|B$X`{m;8@^^N^!Z&Z;cqjN2I*RMX>BX`>yg@pQ)Mt(O#q#a#^5Oz-)%p`8c8r_>lCYfLLtMvT95DRc0~9gO +!~>jMDhX3}SlJUd_INjBPVCI_4iP*ei81I~@37G7aUUPNN`)cR#0gKfjoQiFU4>!jzHhdel%%wVZIou +H4>WhV*YH;f#x{wJ0!KbCxaPU%OeKvz=NnAetuDc(FHH>_B}z(+3Zi-LSZ0o8RLks(9E75id&VVOBjD +ItsSLQBvP>8|WoWLk8cCy;w9(J3=F(7}48eNjXKvJyU!WYUge*h9E&HT|M0BqAEKzyRJF*+6r6NQ_Ff +%EY62|>OU=j4)=<+rn3eZq!FnB``cIzb7kYjsQvK^P`mMN1hif@_2VsE!f&PttSV*T^;7tyP*r?Jbt7 +c-S1ivgmbk|Rx$=YTB6?37OH(7B|Kh*xRxnOB)|0 +@FE_G7n=jMw8%%48Cy;7-HRZf3tAoEufgtG`uvpsKeJ9M^|7h1?NT#iV_(nrcUdTe|6y&@6aWAK2mk|-TUj?X>2cYWpi+EZgXWWaCxm(O>g5i5WV|X5Z*&29{kA={vvE(#QdLrWuzjYN7$%3h=BfA1TTl4U2zqCj=AC2~Ia=FJ<)2Ke3u$*BjsL)Z<6?50 +W%MJgZ%7to@1=E0udX>}w|6b`C%Gb*IrTMb%!YcK%KP;quN7$=!G+gaEk~nKL8VY`QSz#BR7}k +Bujzaw@Qlaf@cXW!{K<)JMZO{{q*$p9X;G@0PHXi<0w%~9ZbbBvje^}AhnEenMt}S~RP@}?8qtmrA3ar +9n-#3AKG*no9bCyA^qd3~K`1g)kaD+XIZy# +&t&|Ymdl!$J_UKQ4UW^ZG)75$98VL|;f$)1k*`09>me--u)cwg5d?G%;VkXRDBz_oc!&XsL +l?*uz!`m_14jsQHe^+~>+A!fPPDd$7F-OJCVMV1`-4oa^;6Yf*_zZXrQ$7Qs>kade-UR5 +U=U}gpp|vyLCr2ct1HO)Q;f7(ub`jD8Tf=MRfaPa2NlBxZN4DwA?XZK*PAew{$<9b0+s76Hm)ihpDP?D +V{TQ6rel4Fm{11#l`5^=d6X9g~(xf%m9o>{{m1;0|XQR000O81Cd)g>oR(VM& +S`9P2yidcgH4-Zj_%lF%_yXQRsC?}`=uzUO7Jf`57$M$Wl^-QtGeJ(#FFhUFDe!<$~>(r9*O +V0o_x=@agwSpX?}Z~WVh;T!PQfhZ1wX#E;8s;_SQJlGEY;!tdcw{)l^x$<*TaRrCfALDqd81p6U)&{E +_cB3ABq2VaV^7eCGfOdJI12d6oh68BCwo)wC$`Vn_{_*^e1FZW;=$_mw#cg-R_MOEx +4T>egeLfFUhZHqT)rBpb?)Nj$M}}(RhG$puLo3P6Ggl5mRGOgkrzP}Atj<{(ChV{v5UBhSy>hJ5;ume +^8)C*D|pGX3dXT&!`YTs@e2FpYiRuMnwM1x4KZ#-S*I0CG8V%#U>WwVMTb{OS>?q8tiaG+5U=m{=nvW +ZKFqMmSMb=cixmHH#1J3KDz54hp9;Q83ZQzF=F1p2rT?KPaF|_PT#bSD?CzB9Ia|gVEM}YEaad$hGJy +(DS)8p1mt`84CEF*}hOH1+0LND>7dsvHq6@x`5v>W!7k`Br1Dr+-ifAw20Fa=1*zv)bQ2O(($ala^5A +QzsfqqS7dRHR-k7&ZM3*Hd}1T7>G#l8z?p +QI^Ua7mICZr0stI11UjlKbG#UcbKjb$TJExdG@|Sph5dhYrjOIU&&NSAl_PALu7wh`PuaVB7`2C#ctj +Tv+l74(S&Wb;#i4)%^bpZ4VF?*p^7qdxSNwrx%yk)AL#MYI=4ty}pTldVO~OZ%@Ib-H@M{q}S6oSAUu +6X|8_JQ$IQ9c2DIoaX0c^?0k45o`A9c?)T%%HsUeH{|S)3digSXbN26ll*26$PfR)&^3(FJ1zXa_dgF +7YN2UJ*`~4jdtAk30lX`y!TPloKt4JFTfw2Jw(kh@AfiM;%rTYCoy#-4&TPL@5K}!h*{ipGABkUy>1M +#;zFkcbMdeZbj6iwZYDmIY9#x?SYIQpk5iTdHMjb>yoeJYzQa;<4|^iO$KWS_ +Mn7`R?^f#yDw%tFo(zEp3O@%aw0KY3cGjm-4L4M)#Mca3#)AMouTTcs&+8uEkJt{XE7R`64FHex7k&g +w9p@ih0?wZj((obj)v?AUyh$Y=lAgzEXZ(~Z=W9x#0swp1_%6Dj$i@U?m$*xo}x%ryd=}r#t*+Eh65M +H-#`CQ5oRLDaxxkW+DV<1@gfCUFCN$q7zGc{OFo}J-6{y6TmiWTB~zzqU&OneI89^X)$#m)z{F +0I#S6>32^}Y8&gv}XW!bY?ATA6#Lj)(Ny^Kpvgk8opp{IfBB@}UDcyYXoix_;b4BV}}ic=$2X84t5^> +)Dv;b@47tDMDYn(sq41OKdKc&zz~XG>07&2pH%fKygyRT&zJ-f)}&sQpWx0kQGf_6dNK!Rd){9Vm;|F +|HN7Cs=^Y}&5l4b|54bJR*PLzuBEYgQc4rmfjogXY$u_AZL^ytTd4duI)J +9TqJwyXb^L%G7`b>90j)~c;+3c;6aHPpFB +JNrMb6JQtS&Vo~3chU&q#>3Rlmmso2f@T0(rx2v2_rR_`CPO{u#roiCS|3U{B-<80`iLx7Q(r4p02Fd +w&txMwb#+k--*#}u|HxNx64%ES%%-~JFve+Gw283!bGYW +*i66am?V?fY_+*i;DfFbwXC-gAmZ$IG<*b+Bnx;sY%4-Qhv8W)Dj$+B%k{ +JbsrU6R)&P=_{Oqd?3|kye;Y&?^FRRZ;{DX$u@sbqR*K=a!+*brPQbb2uU<>2k^1Im8z{V@n~Ff=NJl +a4-P`huDJ9=MVy-V#>rR29|gS3rE&X#Jbnc!Ir#7U4R@O>(1vI7$PYKO66pWRyF*fK(+anb_5BktbXD +sWr4a>Tc=UIFxkRH3vtm7HPeDud(JcEHkOuHD>s`^Lm)i|!5C%A`3`r=XVOpZ;y<&mS#Zj}hQFVTc~5dq>AKJCn4Kseij +E$wrVLRgB5p3BkjSI(1St-r7_aMWIi82Kp1HL)M-;vvg(J|QqwtjeehYuYF#MniDpvwCN?$zVXrBW2r ++Id3`2)bIS-T{#0tj6!q9|i?Nl*$gF&elmvH(|=HSCZv`*p)neGV1Z+b)wb<`QEO@cRw8W)*sED0UDY +Y`2@0VuHnF=qUD$wWgaY4v5ffFYfOFEYRrC@}-f)Zoslk;{uLooKboyZ!@;QIkwyhLf2Lw0*B1_nuI` +O^~NOuO39Orj$Y@v7HE)EP(~Q4dktoRjH2o3qDu)bwh=k4F`6Rki%|DQI)Uqoikg(ysxC0GsrM=-mm0 +Va=rTrm1@5|FvLsuA7zVvI4+%J~Sc)hFo);^JM=hn7FPC)zlZ7JeBnE=?z|pWY5y4Wy0XH`{Z`)F!E@ +t6K3`Zn>q7CIc&7MgX6+A`VMF8pejHH$5j>^x`0VXh|0XgUFdOExQkLc{>YXj^td8Y~a>p>5;j?U&V9XI1J9eBP!JEdb25S&Ip(qe=MOVJ^ +tsGkKNZk)j%vK+j^_@1bS4Vvm`f4eR4YL>BxN)p+yu$W<4cO*G3AG%AK5y%o +`QYMGIwUv0l7typmq9`&w+D_mX@*@14h!6P053K^ac)0JsLg#KNKJsn3d6)Ie4gL|kXjI^wESKos7pbadG3v`>`TRD$vkdbq8fVUlo`)eYyzo7F%7DLeJfghRvSpWyHBX5qQ +mYk0scjRMm1k8FXbckG=1Q&LJxD;6+;W^frGV&MD95`^^9LQ@~$h9n$jHGMjl^o1+5un4Ft_I!O^IP~ +il;ct#;QHmq6l~daa_Y9a*!wIoX>gUzaV-qg&OA-9D3dztL98jdk5>0=2gZ04KbFoX(%}H%r%Z(Kbep +8~ghu(~Hd82hLekW2kScK^WuDt8B4!hrgm4LB(5G;Mu-b8X>Wxngjr+)L@I@x{pz%E)1Kr#R`dXM6p{ +;SUUSYV7V+oZrvdI_T8@IdX|4lr7;4Qlay~ewaA$o7TH*WWhE^gB{ejz*nAJ1-0LPYIq^nn~;>lQNvK +kqjo(z6H#Wb|xM%5=l|pvMl3J(2N!Ko$h}?jQG71ppb?NF=a!y=jGwVNQ-Ka+JMcAD^MevtWDZ43&9FW_JB^n|*v^O3X)Qf ++28KS{;YZhVqMAW2cwo259XMRT!N`ah2|xwE-^3Uf7j0nUTZi-+4o0g%G{S(4i%>C@Vu0kVD;iH(FK~ +QA_AAy3ERz+tfGjASjj3$u&*pU@{bfvQqUY9P4mfp30uW`E)|gn>bDB@qCTL5c1q`w0J}K=5Nz5BILI +~zZs~riG_I=QOq73u|Qj&$@L9^N$hGPpb=t#R9MJNrTsA)VtVp!ql$&4!k_GAVYe!j%W8Z_Pr5&6DJu +Mf%+>C$)j;SF7G!}Ry76Qn1wLs35zfGoEh7z&zUCW>VJAo%)g(OaI#KNG(Th*~pXKm?r4N)(96SeaD| +L{5^5dXjHtX^(!t{}aeZV1`wByv(;dpzR__lj=cN>Ex-2z+px@u0jlfC8vmps(AG@YU>u3y|1?u~NSQqElT|v`EX3?;qph;6bT#rig+i= +Af^=;5U&$By_Ioyzq5=~?FRl$z`75?_EZL(%-FoM-)3<2=OBBjzWA|W`%+0mDCR4=@Cr= +0;`aHb+NRHo_451E7o%sTtbBSAo`&DL@*<>CiJ<8J*MF8@zaJg{@ZlSH_@{o?SZg!4s@Zjn$k>+k93!<%1fD84yFOpf@+lwhdJ@8W1K2Nh +F*ON_v=cqkOEg_2;0P#_S~u$32h>JV&ZVbOC;6>X*@ZS@|}*+`p2Wm-D*A@)uIjsuedQZk4r6fiIOrh +MbpCYk=z5%F3+gy`VB=DjxduOCk5D}Wlgoxab*`buR#6c&SAxRLY3!@szRzZOe$5{Aa8K!0x_4?7V4I +B0*f44_lG?b23k=^6a^Sd$!(Iwsld=b)IPwLE6yIxFf{W;)FQG_6+%l9CI(Wdt^y`6C?zJMB!VF3vWNr3aR(dScdL_acNP?~ag6lzvSlUafkk|va-r=bi@G7I+rAiuDazWlpk|mFsw7+hk@#S~fVPVN^7-ieyO{-q0eVy9 +l|J^Q@Py1R4r05c-+o7h3fYw6xT3<;?w+PW25{A|)(XKDAWl+NSEzzLbU^iU#Sc2dZK^E|tB%LZyL*>AF +r+`#$JcAc>?x!b|TF{6;~qPNUx{NYOPQC_w}s&f1=_3+u8jRi#R=;#foranUr+jaZ3Byz^dgdZwSb38 +?2_C`Jrz-m+pSs#K;$b|!06siLwkUQmLXk009X=63GML*4&4<&J7x3$;l)_JHp9 +3z0tvf`R%&}PTFI*xaNi~|5Br*SUBKaJ!6+jPg3Y;X6PZ{AMNFJG!fhoTg~wwEW~TAPI!kMF1{=5uQMzVXap_hw9>98|D9v>=cMY?BQKt%Xi1*RH3=g +1e?toE#{m>#m_YP(F9Ka?aYSw$izlsyS6@)+jP_^D7$N(D7G%KafPOb3H8}^VTLcigbrl0^%S02BB3P +acP;c!pOx0Vt^L+(O2csU@Yn*2)th8pkemwCi}(({#IfX`A%1>OWFT~l_u)f7e5DLb3Ykt>GM$U>nGd +bf%o2TCD9Il(uU7xt4!pRWAS`eOex=sFP{en-awrySlq;v0S$>GseaE6fkq%i@k*9Nc}N$@EW|M~jaS +Pila@H1FE&MJ^4j`U7CQ!)CUM!QXT#4wdc4ohD0Yc?z@gP)mD>}PHOA-&SFw`=xm8Awkr%|ypm(yUD{ ++ht!j#Yi82s5y3@R^FB^PrmxdM=u$z7bvpH~3XB$cBe5|R*8q(V}bmCfdFzwX9^07ZFb>+<1Tt}!1#qtWR8^#kC{i+sh +RXuhd7g@__1SL?i}7@w7Sx~W8@?mHd*e96mYDrfd~#ba}wm*%S6*~=|2GMO#P&K$>?$&8n=lxCErcun +Pe7qCsHFFUGX7>d_etSgykrD@#jF!&i~rHFymhm=?IyjcCD1_ +(M4XzO*EOm0U-krzRyZ-!p;_?a(+9k`UQ`qidL&BGra2gA|rXflb$5C8ok8eCsL{xNzS1q^O4;G)w3% +ELUX#B0T_*j=6peDYNAtRw>Z+09@Q0c&vkk*B5Tj3?2yy*)wEO2y=ZJmc>ylMV!BUYeswK**>*~RntA3225tG*E> +H8Sa+3t-|Yvickv!>$|XOgyAK!Y?(F*y-G0CGOQ+LG#GFMjXh;SBuGSp%S8*B5UD54Nr}XfEl98Gmw#7iLgUmpFoPH%W4Din+fb%?bd>oRdF)gRiX^3>7xL90^NNoH +iF4HEr9LHs~G2=C29>>4sVOCEJf&XT8MI!qN0E?_JFe<@3UiMu{Z0xqMTO&E97EXA>V(K>mKsKi-PZ< +2MEC4K{q7}hx*^Ihywc`MM4jZ%-iv=*n5z6tE7QByXXJ~utfg*Zt#^A>UTO-vAbmKh&>@aoDpjNTyO- +WlK3%pSf*;$Xp3-To)1TlPhfHX^?Cd_x(?X3;OnT&<7ZKI6pFAhH6%M%0$B61R3o=iG)4(r-S85j<3E +2DsSs#Y*3vam*ZRLg&C0}}+;O=Uv7F2Jl0EFIC79=V_@R|`0|n93?L=vt``6R=^b^44nYwiPIO9@dYT+o6YV|Z8{$cb44!LAJNkoER@fBTiJAQ?4O&y27P@^BQ0aLD;0Z?;5 +k`SIv@=XzgYehR>5j}BuYGEsnQkq`=iJCQgq7+_t9xhV8pS-FwmI>1YCh@&9 +sV#pKnyzpJ*HL}*1@B0C=)SDdM0ANDKXS25}1}a=5Z`ikPn1u*agG`o_Dp%Ges7OTa!|f6qP*hGoF6CllpQ$&(UOQpbr#n`jb-Q*dp(1h*8@Ab0mqqf64f)9}2pA{Z&aY#|&>V0DU +ovshC2glk0039DMnc`RtqEUy60AfSTQvmG01`|9mP^_xC1i1b8;bD|d7GIWHndk1g%3zsQ22s_uKkAu +&*PtkDva5H*Dxa(ea!@uM*Q?c-$EKYW5`M(1Rg3P-?^ZD>*0KaGN-8b#+54A=*t<4XNiI4Xix=$V_gO +Xjm$2N-Nud7P&a;s_|W6Q?nQ4)4zU9?DXw}p-@W!tEtx9h? +4Fi!t_>&Sq*Vp`c$2?LQ_>Y@K=Q&#%S~+>8B+GC0Arbje$*NB*cr}o+!Elh`=|(1t^6xMuN4UfG`7|f +!}=rk5sbmKCMlWLOy=3Pyq6=xmI$SX5i8rRayAE! +LiQ!!K<|ug){BAzJW!D#6I)oY7IGTFFpt(i3GK@~eGyc52-(M$ND-ym%A5(?^n^pey969-lE-Bz^AnM +soQ7u~!q*d?ykHEI9B)eS?G*R5kUPSN&McJUU(C;&#VGUB_wJs7+@iFl6K^;T5#37iYv!qeA@Ewskqccw5unLz*}6I){Z`TZ~5P~m_#vKkr-k66G +2*4)v;1t^ZkljYR*00i}YQiCy1FS|EhsT5+#RIC7eRT{g=EH+ct;R?HL9(%^(v3dYYw9h+YKM4R=SZa +~QV5hx4s6?U0UGL7%{*7((0@N7`y1O$%_x1UC*i?c@spC~$hWAuiPd5b-SF4A6^l{oI;TMi +Y%P=z%qd^ZetGvHIJ&L!V`e44eF5gmvCLk*p{IKwq442X^b4pgqV@$s#FKv9gMV!d9o7VQ4{6%39}&a +0W{yFy3%~Dk_2+zml$bXPHiY}3aV4pbZqdD8}yMBiU1?PDzbun;UJVa2N|NR691cjA4#nfrH1vrU!VI)jJ56gv7c4o1%qJK|hLm7F(gGVCIuz%&= +24QH!8--pr(42Ne!O%;YYJyAXakpJHIG2rY1^B+5TD`k@U|TkVb^U`?H>>8ebKeh36?ODD%{A`pO3>HrJ +mF(8XX-c+P&MAR|3f~d5W5Cnk5t9qWHZ}2L~FE8s1k|203*C8xSmgGffGL%gvQ)h!KvOQwEcZ`q21MA +&ywzsvEf4O4+pq}pL1GWBQIjkjLPs5Q7>y?{XS;-2RgteYdot=j1RK*a0rPC=9pH4N(vy?+%kjf08b( +X(~z8@Al+F4r*ZLNwD5H+#YEoO2PsHLfHX$Ocu&8;GZ)6_Z>;P)}VCGM7TvBb#54ntMv&gcrkGbE_x#(^8NRg1NwpjVu&1PV&Gg-O|-}m@@V^yQFCzDlQA6L>hH_Wwqf2I2NxZd)1oNWnig7QB=gtrht*#<8HAwA++n6#{W*$&1x|l +hT`nV-k>W%01$LzjC)~8{?c~HUwJvLR)@-Fo3A5(u|dX{(d9jbBC~YWF9hu?(2dd8$OOdjTl529P1Vc +$i~V~!}s4gbb1m3UBQmd-~Vg>@aT>SJAFanUQWX^SkrVDvdOI9r+E$)pTylC%mp%2Kc)+-*apQy8yiz$%sRzfqXR*UNYrYl*Na3&u^^Un`a!wB$@pR%lMgx9d01^I|$_{DV)3hu_k7{q|ykrn~JFy +hL0SK3-m`5Gb;bPi?iQbGy`Neh2q&}QHE>96P_uc_H}FEpyvQr8*(9%@5)fmF~TY}`;RNugLV2{z%Ke +~-`C^-&2SA80$ljWE_{S*(+%patbY5JiP5W;-hh92>`dtw<_dZjJ@PmAdQQTF^Yk(o!*9)|-&u3$F;` +bYzIt})%o~h~SO6XvX64(=TjBteDNZ*D+TYx*^k|R}MF#C&M1!E=6GEIxZjTX2<+r@HMvw<~J{@z&3* +2FE+eL+%0ADA`Zm!%zcUGs)_j{T;Z|@E*n?4A +$xNF@C0Z+xYa==K`^k0v}tR_5X-TS`DzboY;jStcNKd^$FhZ;DJhX+<+~#8ULG>xNjT&CbeHkAlo=#7t{cQkIQds`YmJnV4voTg|6Tu?v~oClY@D +YoT984)uRGE!s9<8dyz$+QGxJ<7ZRyxlJ7uLe;9qaz5ns!_;&OzFfL6Wp(MX(>(M=Hg1`T+54Q0v*G# +O|)lMH2u(AdXYybc-2W&^U&qN5&_o7twR_}G^WvCgZ(tFqAun^O3rTis8KHPS@1II +43Flbg4bvLX>4K2{ua(nJ-QK2I3)=^tD61*;rE!3@{-Q{Tuy6DnwqUUECyv58qpSf{sOrKFo6#c6fH3 +TM+0o$+}q1KUrCS$&IX`K-?l>6qi~ig)ICU4D42r{Ymf>urNpu02~ +db#9Xk(1AA6uwlneKyOJFb2XyXap7I4c2;x;8MR9gN>Z(QU0ou>W^u2kxHc?OPey!tQ^UA=ZIho@o74 +34ueUW{7dI{bZ*2Cx%Q~OL*$S_-imKriu+lM(LL*t7|l{mgG1()gC)N7VMtG%=O(-XZ*p-lw>c4VP#% +fhcg#!e{&y|I3|mxdp~eFZT#1sgLMHKwmlViOkeG^L@9A0tUYXohDavmAUQMtKgkjo!&Nr&u5O6~SP+e?R)#AGl|$SObW=A=1Ht6ELorPTg+tfObXdxXAN4?&X0Ole +vlWbzcJ(s*GUqf~IfsVO~B{lA?f3cSHkUFAEMr#kh`&8KPK8L=dV9=`Bow;)VpM4tC9u*vf@APxO&2B +YcT1Bg2%9?de?1#7|($ +i1s{_-Yu#>yO_T*>Z2W*9e_#<2RZ;EMKnSG?z?6^?FglH^n8E3^j`27KAyOGQXOAC;=igs^U=wxv4@= +!d16oF9Cfzi;$q1?~od^O)wbsn^8jbq4RD-AMYR3iS%l(;Uhj&qQXr3j=6)@A=V-VTVpL_KYp6fD5%S +V^kxG}t{(P)0JRRI)F43cPJG^%2?FNQhWgfXmnWz8Syn9tB~*e2t(LcVd3v^&Vy&C}Dv#MWf7urL#t_ +d{G8u-T?EI>37BGa7b>9QubLyW=d;BJDd`0*avbKfD8}h}z_3*SZ1}Hp$sCuqrh8dpcO-)$jG27X`~Q6pK#FTYb +?ohWmzE0=Ywxqk+_%}Q!Z@iG0YOdK4y@238SjL!W%e6he{^WJNM$JM+@}g!mww2XB8$Y<3{!YxwZxOz%h8b1 +-#!-#mB+PUZTJ4UWOCMXJxNVwgUd498vr-Y_e#qVtwXJD;1NHnt?1TFcy +Avnc`fIh6``1N9+R^K*ule5C#Vb!ho$g4~h%ic|-!wl-t}bM_8KeW&-ReS~$sBXQ>tM%tUG(`#B-5zv +cjDfFCIdxyDPYHecQ3x8_FK2ZE}FwX>|%~SGU1?4s@{sy}J&i?{XO9KQH0000800WU*SwC^Ny6Ff20D +cw#04@Lk0B~t=FJE?LZe(wAFLiQkY-wUMFLiWjY%gKNfQ3ue +?@6f#F&^Nz-=~X9V?-P>>_1>3&~z|*__p$>A{_hyXU6c7~fxiUv#hCeX<+Ns8lVAq5*bVK<``v`CQ~*_=qgX89K_IKP9E1x>nG4UXpT*U1{q?RpAg^0Bj6uW1 +U=1V7lZ(xV#X$fT`zKr>&A}+1$$JwDJzMlsb0D8k&Iuq7>T}tk^%!ei)O18oXeaKb?TJd3ZV78AwA +aX`P(D{qAULyirCi$VX1n7SK;sb%TS=CLtxgDb{i%=70?Jro*f^Yi3fOv|VynBJnG%s`Zjq%l-vCeG6PHkA8L`u#pWf!uDMAQbQU_)YQLP27BSCX#_j;JNOFl){R*XD+ZE;mwGqahWwXkh?08^S6$FCP% +P-}f8=rQjaDiTs7E%ZE!op_$QBO6V!{)eVR~?xl=7#@Jc{0_JXR +H@0UyQnNN0H7Kq7k{nDVSV0@HR>vRbnoyP#6O{_zn|w-xJ+$XPqks{-YS}B{4Vu#$9T6Z9gcCS_=_t_#Y!mi??IEd=$*spO-$V6RBU8Kp!e`KGYwwWWV2vr8YBKOwHEz;yp@9!t5_{|WL +hug6M-we@l7M=c|!W79tb8qAy#R;yI%enNujA0|X2+-+%8?#u>`);x1BMJ%|?ekGo>R-5C7_Lx0Gah$ +qBQt4pQOmS*=eTpRm9d{LyB<36;qF7K`%q$>Xi$4F!(`~G>-Bo?do^ar*Gl9PCHMEeWI{gHsFHmip+9 +w8i*NeSJxO&ywu3Q95NQ|dKxuouAmVO}ZuR|LQk1!#q8lU0$lSJ5DDVQp`P}`G)!=5`N9h7ME +PcikXV$&g@Gqs;}+G#}9VGd!RU~`y1&hC&5{fx#0Kfj{(uC!SQP?x+U@6fVy<@|Ift=`4#AWNm078vY +qOoKdHdPeZD=r5;T!XIL6JEDC`E?15fUFW8j$vE4ZPmlp%3OBx`*myz;a%f%^qtkL-u`;+{DmUCS9PRO;JxY;Zg=DP-dl-WF^$}EIX}86q#;W4lgRCzNPwldp&>X>wDdM-eiDQ7p*d4IN3Ic`hPaa%-{Y>JYBqaj8 +LQd1AMqDAtqTn#lt&|C-TGr+t6kEh;M+vqznj-wvGfeIG=AFuil+sUYx$+dw${V*_4 +R~9J38a_7t!%($z3%B2`yRpNvGEY%G00NF>RY*W%V&{aX`i^!3(~?FCq8+&-lWNPRYv>jN+MT6RhBfNU*y7IhPf7c!1K69EH*+pk8xijNsMV7%X +nBa}lU{_jEdFZggGCKM0RZ8#W~|4s%S0QIT}-+DPe9ec!7TwHU&Fn^%r#Pf~5*J%4a4k)&|7vfg%M2Gh~+c)0xeFJ;)pbd57TX;ydtqMcg6PwTzN{4T*_?-|&@TI6ze(_Iw)Z=md^ylC0i +!p``_kJ7q7SwHQPnvs(I?*4WeR}i}^B(i;HA#rYYg$HK@ +6aWAK2mk|-TUoLY_qP8B008eA001Ze003}la4%nWWo~3|axZmqY;0*_GcR>?X>2cZb8K{SVQzD9Z*p` +laCyyHZExea5&rI9!TNAmyXVtow}+xQtbuO!5?s*q5+vRRZBYocOxx^Aq)SqE+@k-zGeb%yEh!uH!?p +g9wZ)l-^Zufh)lM77q#jBC&FbQ_aP2Q!jz(*vE0$&Axez-iwX!Un-W&aVd@Q!25}%ZthQoZmrSk+PYJOCa)N8cAiRTgTdDA +C5FL%-4Hk@US*5K*apA7U5FhSunBECPs@SYGCw=+7MHPz*gwrc}vJz{S?|CU#+=(0o}WauqFm2HCe2vlYb(rNn0yNvr+6jiKWimsl!>5%%?;md#3~nhZRZP93xXU-l#fP0vV{_ +Ls%_lp8md^xy#W_>9qOGH<%e*{L +n{^6&okR;||miQf{vW~umH&z${kks`gmV)w#8b*UIefaE3Qw_4dP|17dpN-Bv`=cU%WNhEi+(s|31#1 +xbwxIHK0C;*IbwNV6`P(M=y`oQ~j9x>2mMX9ZrMEGl23Z-8F4_40tVZ;hiw+a`*(fsYjyYFXgS+Cc^P +&5zV<>V7I0|5YQ!%1{ndL`y#Gj4(q%74gH0nK3*{Y0gj99H5`O65EDOKrJb2e!`bic;cCS +>r_8h(np^Z$`6d@V8J@R9nGo`h(1tH5pG-G}*g<>> +oby9%hsUi<6yLT22c41t8WY|P_wArXI{XrC2rC%63RfQcXNWNGTHz*W?kRgeXa6Fbj}Q1~IsW&TVo54 +mD9ByxYr`gfRG%@(w`CJn(=q#+(G|04)R{3*{7?edVdx=66fxe`aBA9923rD(99Uao*pvjAy5Rw;bBd +)@xC+iutL|O=KD*^gJ(A3ohK^2<-x*H;fYZutE`^G+EGvF6<{v|hxKRjW4rtOG|>kes!p#nFR|) +9Tq&7=GySpwG=d_k_kv>RpBlAD-^HG!uX#UqmJ7tkw3$M=v4}ih$S)cD{0jfIg4nA^az-xx@JAn;ydl +lX-^rgcfN+U%~=oqzT9LyPc)hM>A4RhAqI$8qbp!Hu~MrSM|h9bP{ta`-4@LLW!^xTjAd_YBdo$Ko^)ToJJ+OTsM1d3 +lqIh~q_bB?>6{xhImkW1XZwbckc5bW3WtxS{3H4U~+RlM}HM*r?LcD`t8N@%VU4r5*=y(P*w+*Hq01-&gcB7ccY$z6=10S^FSMNMCsI6Vp+yJN@$ +{mUH$%#zJJj_=x+GpN;RcFU5tJzHIuE4ma)YWvbDC<4 +x^vtO^3BU|CNj>}Y;pavEaP{HG8S6QCdbn9!O}nu8`HDrnXvPxc!Jc +4cm4Z*nhna%^mAVlyvwbZKlabZKp6Z*_DoaCy~QTXWmE6@K@xz}VxlG{dFcP19|;>&~W0HqA_SlbJZ% +M+qV!2@OSX3DAoA(BIy34lV>lDt6L#rqx3tk-)*ZeCG+hLvMJdz`k~{cxADjWCWINBGQc&vWsq6s?h}(VobiUGd%kKQ +FsZbtum>rbT09BWiZf>s~y>^fb?~1!(nM4PrkzTfA@zx@BthcTt+z{0z_fpaqf2cdAiFHL_%K&GtKP&sL18x?$2sVRo+?Z~LKQne7cAaOI4E}?Z%bIKL#hck9=fxR=&-wYed(KMLtmUTfI4UJSqu1`8 +W+iXfiYyDNs2Iq}gPGT=gI}#ubzyhqIS{MFH>(UTHu`3cKNjTj-+X#r?&HjLM`Ws`S&Cy +eMcqIbFcMKxl%d>r46TAa2Q5^@H^um6r223dy_5xYpPAOV1P!|TGI0g*<6^lG;PL|XGWwis_JV#<>Q4 +{tzl;P87|7rzVS_7b!Oiqsgf6s;pStHs(N3K+$W;N!){v+SssCW(&UIcX&-AgWSr) +cqfLKkumZmWH69>#3tlQZy|;On;{lCd3X!4R#bVgD09(=z<_3RuL^T$g;O#rEMx0haYHQOvcwinqSzX +O?f56T>vxRrR1X?ZYpcPTY(T59qtbIcbI+v@8jcJEoIuEF6&G^Y)}iX*yY9NeM<{eHccwYdJn&6CydtE +Yc@^4-%vUcZs6>p@g@$fm6OYOwKEZno_CyAKTX29c6}>OF65&;(p;2>p +H2P{ssXz{)+mkgAjB0O9{$)Y-sZ#}u)&5?g)`YjmUv$OF8pB*Hu!powwYG8)p6Y5Vr(!Ex +5&^oWdbj<1B$DIK~vftp`fOs*5-X_xAA(<4|<5ts0gkh&12o{vxhdI$sOuXSi)e^4!lFI4aO`N%rZ=_ +M>PQ`=-V5=z`83bvXdLALNm(raH#45RIvhSrQsh3t!X?HG{2J#G*6Uzy=G$ot=U2K9or~aD($Ks?F7< +*KYQ|gjTw*I&=E|z$8xX4DlW-a83ko1VLOJ1MUXp**!iBD62N>8%-bj$oyRozL1cA0I`>V3<@utB`y< +;}z|s~lLJv1d)$D;meH86KYS*A#JkiM6ucJa@g#1;_wSyI5d+z6a=56rxtV +{J7^`MOA+bL2)H(2+_2~Z@3NOTT(w#?+X>gR#ibmE-@_}Fb8|rIBLIow986HgRoIJrs1d +jCMZWjmw*;<_!u>*AB7Kbcd8h+Ga%8smd)32R2%L(lDTM5@@GZ)DwSWbzhP(ETp9EmBA-`6v~(kge&?-6hhI=ZeDc=I-d%+86P~HzdVu&w9!{d=KE;F7}eAx` +M!Iae_?9$ZDqvb?N?VFGUE9{%o@c7Zi^}~=g98i2)JBbs*Luf-W7Vft+nREA;@ij*}AIA@s3gNnowMt +98fEX&SkamY-lI%Kb#Qkt{HV++M_&WxBn=n2(K=XNe$ux#!Ji9NjV-5-9xJg@%lK&KP?EGjNFtH0K)= +8ju1Ufu*^nxBdrimPQ8da`4X@f(QCq@Zj3>yq-kH*X}zaDOaj`0CG8k&6&Nx9OLoWMsVH)Q2$9^`LbXS>YB_x3BCXjwQp&#oP)h>@6aWAK2mk|-TUjgB=w25S00 +7uG0018V003}la4%nWWo~3|axZmqY;0*_GcR>?X>2cba%?Ved96EpU)xBM|NB$)ie)VYBlDh&ZWuy>l +W<3XH88syaD;5Nu{N^g(SzWG+-JY4>TaoJ$&lQge=}Ha)vK$!>)9D6@szplIM4EgyDkf+vpC6^H%#L& +&$ugow_0*M;jJ-ZjN&llqb!J{RG~!Pl>1pe3wcYx*fxI{@mU4vBp!JCC!?TPU}bDqrcVVrn(Qyyi;pw(Jo|KKc+!a4imMH$ +Ot7RAZb3xltm0i%?C39T9&OucYj+v)%#4V&d_t?!1_67n~Ielianfc|>8{&66`0c&l2@WOfQT7Y@gKdzy*7<>e-*??>Vw&hp +{hJ*vKZr8m2baT@^SbARmrv=M!eE! +FddwzI{5+mj{DPgm-{r$$azHNUme;cj$y?;tj1BXFlpf`NE120c5wzt$vtFZg0VW;`6=b-g`;li8BXhhGx3Lp7`vUY_hq>498#=L +vnEZ8tL8TEcAWhnRia=xlvo#&D~V;r0@SQkMojKE-fbXQ*B@aoSnVsr)>}X{XAm&SCdQIKcQa2D=S +Y(dq9s(_cnzPbUX-z@J>5_Inq-{vW-g!d4uhxyly&8_X7-MwF4{%X57>;G+__1V*mhQZdD@o3opj)Ta&eqgIim;;XIy(~ +kVWLSQh3AJ0yE?(vaEW_4@#an(X&h6ER62c*H{g2lJiq$r0+NBxh*6mJN>ka0~|NF397;;?maGca2H- +aGg75d4O2Pe0vU-wakAH03q6FO1gZVgFsP$tis@yVBZMtvp(HFz#U6mGxf4H9kqPchrOtmZq^3bgu>~ +RPh8tsVj;0x_|hlchbAKaDS4(^_H`~HBe-fZflrkqvmf0qzU)^*~O)Me%8N~+6PYNYWhh3p$eUi7YF9 +!#^d!SC|`IrJeuSsE!b(oOY2K0PLR@L@kEri68)bK8lE$VXs% +wnN4=Bd4;2o^U;g^HwrRas>-@()1}`AQ@#)*M0;VR|BU>c&2(H>OzPDh8?@PQYA%uB_F<=(}|9;i$|E +qv}+dq8w0mCvipwU6J1HfptMxmENESiL78G4%r{05>$;A~lr(3l}i+mV++z?vob2m^jHA_<=*5N1YM5 +Z$Tp7eic|U8N9bdMSjs2?y|q-Fsn9NJPsS=h4Wyonb8R0>@jMy^bM-hM-i%#9rjH2?eyktO&P>C_v3| +m`Du~Z{($XJ%~V*G{_*vW!`8MCq9Y=L3RJ_8-_8fUCf6bTsIBlEQQnswznn5U<1H-#J{+%*f01Qg=we +wA;jCqu)7?@tYTpZWnUP=Tw`&_t07VbvM{ES5p7tm4t|0$(IJ&ZaYjGvH1m=y#Z<$DeWF1twrJhEXan +$vPD?I8kPlQyz}Bsl(F0g>5^8gz<})_~|;D7Vv+=APlm($l_o((zdiA=WFBE3r3uU!DkNJ& +dY3d8uW<*6B}7B6DQ#?gEWJU9yCaFC=+I}C_yv|bFp#ZEYQsH(7`~3HIO2k1DpvBW(AAcsw^YE6a^p}b;`3Zaq^jkGI7_YCeAhNR?5D$X(_RByeg>_#8`!>(l^k-6l(9 +3IQ32V+}gl$H^^Q*zlo!Jjx_}UfeC;y@erj{(B%Y_i`I;$m_lA3`jAV*#(^aXIhffb&Le*vmT)FEn6! +PiZu~AMd_i)sbnuEzy*Vx2kTd?^jk0hqY@~-4k}M&C1<@>rOy379Ap*u^>}oBGEtd08BHSDm +E0P(O832TL1EUE0|C>M8=$9(8NgXSi%&p^{i=dX=H)qDG71_JZRzKba)a^}n7v +t>voPP!5LooJ&)R3nmJGD8%^G&G*3T1IK>~#bt=sodkAGl(;HVeOqHa+MzJ4j@)G!Ik?w45 +sNqb<=VJJk@5p(Kgux#M- +H%5qPG$PN4lur|o87$Q)85b60?h7d%wc$Sb;dmKc*=~oUJzWR-AR5$r3#tbCqmGDPN0c(aF(H#q9`Jz +gqlo|fk-YC(1!J(PD8mfq=4hEqXqL>s{NzE&jG*d}veq~I+No6Dn7>~lAWz-I@(JDPwCH8 +F?jrBrrvj2Dm0tAZ-aH4_EQWVtm< +avD17Ql_^x{O^3cGESe*}>^lfJXXXaPBQs3Etd6Ex#F09KklrPg0R3{=gnXvlFR*Jt=}CMCh8u$yL!8 +ARbt_VWa`&6$-Y=Ozw3A1fIW$%!4TR0Y1@F +*Yxc#vWd#PSO_10IB`2Ith*Vq5HQY`Y+Ya7>f@I)Lytz#}=Rz_<{|0UZ1_@n^+KnGG63?;~i#L{SZBG +pfmOLH0Mcx%INZuzgO8VxcA~C%nvrtJbWp+%=)yX0y2z&4$Cq!3LwepaCpnn@ULQddnH8{bJc)$Dn?5 +tJrmxRWWpR(sEL2yI9J^iA=)9K*{yv%uP9kEUAeja-J*ff{R8egpFAohp8R#Y;4ELU3ZdAL)D~QNkyl +5eb?TycW67!Ql9(qI`Sq`iagtwWfOF-R52klL2<;S$jvGL3&Fsk?^CG4GUge^1N-cHfQZLYkOjgZAv) +FBF`@wi7;vNM$tX!Av~ssgnz+)6yuQcVc3TA@BRH4{=?4&40WApq!4L&^5t0qSkOX9EsR}a=^EglS9j +f@iW;ASLi90R%9!7J@287YVN=O8<*bq>ZsU+nHKINb!pqyHD`MlnKa~g|9gtms>(q*+lFFp;{4R%IyHcihL@7V1cK9iai**SQ8p=Q%QUc3Bn` +kRz_gr^=598h@dYbNX=Ek%z`PGft!kl7Cc6=9y0lTH363F{-R}X}N>j%s*DYyR;KvH3N= +L5eIgmo6R9^W&8!}~W&vAyUUt#6iR6SQN2;B#k=b4u_5KHsX1id&_fc9Sgvg1fXTf0QcW>?Xld7KH0_ +7R4TkDACpq>y-Ekgz@#@exl`PXt?qZ>Hdt*z9a<`~v!mXCU42xm_biY5`@HO)NWw5TQ|3Qe7ezs=dJv +ZF!7}(Q%7lDV=$dxmhQKADlIW<4n{Ft_j-#eL!p%?gwYPTF%wCj-?i02Yenng9UBHpsSoej4#w2SQ*5BA=H{UHypFDXM&|de$ +2m55Zx|mO6+Zc~Vto=nZ*j$t)Qj@wkz6GNb^zH>m5$(#@SHR0|WQlg8>{Y1bl8w#U3^ZeslTV6or#DP +$}<`x*v*vSePJGhG3j1vA^d2gPHUE$+@C*U~G}B|LUaujtC%LL&&Y1%^N6E|RNjtA1tAG_E2Q2T}Q#% +#lhq(XO;n0(BeBusSuO)y7z7EY=YmvhwTRitrVItl{AS|}f6Sj5Rp@%2VO(v?2-#PG9xM$*3srPep++@UWI6k+{MMYkSJw~+YDIH*5{@b263z6GHcmcugEmC1Bc9I+?~cbSSnX`v}D&!k}9qmt3a_lk@yifMwc +!=6kU&s-_ZMPaS~+nW2$aky+yGsjcCX?e(Y9;j#o^niYhvau2@f(;( ++}U)=seZ5#aGQjaP}9-7n`#Zqoe(;tjN<{M@a!}-a@-kVk4Hh!G7Bpknp{?ySu&H6yIWK(inumt}P{!Desf{bw&Q_ +_NFTxa8?>G8$DCmYee~pC}62TbZn~<{qG`%r5uz+SPZcXJJHNX0dy8_?MV&Gpws*VZ_d$Tb=YAB@#-+ +o#P5dYY&8mPSntwyT9t0#3VSPSRH^rwIXAPj(Dy`daLcl^ZlVo@(0YoQ_}E7)BQ@Menul*m +Iqk7dIU(Ywx)y+BM2_qn3%EJyWP1 +MvVeC8e&TCkrii#8bGV3&#Af+BB=OOh+kPE0FkQFw{Vj}5ZLYL-lCF-og<(^~aOEQJU8%6kHe2JnIuw +6+%?P{Oi9iX3#pfKn;-p?_cS!TUM~X?+&%TP)h> +@6aWAK2mk|-TUl1rR@J`;000{m001BW003}la4%nWWo~3|axZmqY;0*_GcR>?X>2cdVQF+OaCy~OTW= +f36@KThm{Jd-T#8m}1OZ&LfeSdOkyJ8l1%3z&Vz_&joN{(&Gc&6df&Tb>XD-VnMLF(UOW5LN&iUrtFR +SX-STD%h#!OWF;z(2Bhi`i~sjR6*)is4TMmv#CT4}wKdNT2L|9T?u3Upr8lu2sS7;hR?Oz5$o){FPy_ +jlGB`wUC?EZvB8vRX;4S1Yj;zfNz>XSu(}ALV~E_LC`g6yc_GG41i|sxo$ENtQ=H^j3MAewj=rg_h2V +XJKaVf}qMYS5d$gVBA9faHEl7Q*Ad?~U;LmYgt^c>CeK6MNH%LN=m +vBp^`$P|aq9@mlyT&SX>UfmNH5EY7_2RCPLnXtg6jt%A!Ua@C +o1&aB#a@h<|jRt!o;+7xX}ECP;(3vc08nu$rbMhmiOen1RLkrD-nxz;z^H)OrriV6YQYu@Pk9JA_&^| +JWW2@ySH5M_g7Q8g+Ih;7qpc>}nB$;MVkWu|=?yfu-0Q1L`&To~Su+v9OWt2XWW1kfq|VlUn@Js7G@1 +!EvD8A|s$WsG1EhAtc96VVVa>2QFv?OVo0Qh=ZY=W+5P0C6#8&Xm2(It?fJn-&Sq5*G*Ti5wE4F6zo} +&E39h0u`b3)YZR1)*`ky}1)o>y5qNxCFeGkH(z33trHYQN0o6XMrZhb$d`J)AG$w=2APfZ8B%K!@_I? +Y%(vV{(w$?nTlB2J;vTex%j)hnL3c=R-AjPEl;Y}sc``8UyOsYagajompY-c +VHOlX*S5hxHzZL(E8y-F+YQC5_WWlq@4YLo4kJD}?*SngbNZ9j?Ung&gSFWX{yYLAADKhcJQ}YUMZ;7 +L$ppxJoZ@rGxw{)l^3OeJN(I=Hk0l#V*9ZVm*mAp2v8x210I-j8V1)2`vRWr+HlL_mcFTX?4WV0mcqY!TK-(8}r{39FW)--fDi$Jo3FA063(nk8(6qcA?4KxR +V&TtIv2Il^AzGpH}_gl`9d)u8L46SecI%AFTG0gEP^qLUOuf&_BX!l&}-iTL=?{eHOXdp?aOYzsm_eV +&nsm>DKG3ym~QFW&9&6i6=8cH=PA=i);=(urh{C1F%9XAGkf(XY9h~iJnI87|xy}!Nx`1 +JZsv56OwW>`;Gq9^gxP{KAR2fz3@ov|& +G>CDc$``Oh>C&k6(*VdCEc^+Taq{s7j_9O!E^j2@QkvR%`ZN74YS9oXIghCz^W3E(_-AWOt;z26N($b1OO@%8X7NBZc2HAlzJLUeJjztgyA +ISi%M0YOA=2+KnOZ!8G->4S{}59e1vLoL_mX{#VHQCuuh?azRfdZ$E_UwE~+H!jE1&{UJ>nAHE>Uw-e +)PZF=ui7{oa+3UuI$B&rTELu&7ruaXc(kTfRiVoauQbQ?n7+lfN8oj0rP?z(p=Kl+>$0cdGk +Bb=>Ud(pImLET8swvMx$?9Ahbll68b?NCuPnR~=Ri2xv3}wCu&jzsdsj!xgo@eBB1x~>tP-FRuyIQLG +X7Emlvcoex=M={dmz@n)^Iq{|2e|*lt4Gl!E987a3Nj`cAYb@(qs>2Af;hIBGUwKYJegT#*=8oIi@6(=g-mp6ctF<};m6xw^ +#e&7`5j8|c!JUukY>bYEXCaCuNm0Rj{Q6aWAK2mk|-TUl@Suh+Z*00344000jF0000000000006XsB>?~c +aA|NaUteuuX>MO%E^v8JO928D0~7!N00;mBky}|wbMd>?0ssK21pojQ00000000000002Afer%z0B~t +=FJE79X>cuab#88Da$jFAaCuNm0Rj{Q6aWAK2mk|-TUpJ=z%{@C0015V000aC0000000000005+c76t +$SaA|NaaCt6td2nT9P)h*<6ay3h000O81Cd)BIHvs?u0RjL382|tP0000000000w1EHz003}la4 +%nJZggdGZeeUMUtei%X>?y-E^v8JO928D0~7!N00;mBky}~Wxb5S=3;+OFDF6T(00000000000002Af +o=!@0B~t=FJEbHbY*gGVQepAb!lv5UuAA~E^v8JO928D0~7!N00;mBky}|nr_T-x3;+OuC;$K!00000 +000000002Afn^l{0B~t=FJEbHbY*gGVQepBVPj}zE^v8JO928D0~7!N00;mBky}}~4()l=5C8zSHUIz +~00000000000002Afutb-0B~t=FJEbHbY*gGVQepBZ*FF3XLWL6bZKvHE^v8JO928D0~7!N00;mBky} +|U9#wlP9smGwX8-^j00000000000002AfwVFJ0B~t=FJEbHbY*gGVQepDcw=R7bZKvHb1rasP)h*<6a +y3h000O81Cd)}06#xJL0000000000w1F2<003}la4%nJZggdGZeeUMZDDC{E^v8JO +928D0~7!N00;mBky}||)qGvx2><|h8~^|s00000000000002AfihA60B~t=FJEbHbY*gGVQepOd2n)X +YGq?|E^v8JO928D0~7!N00;mBky}~xB5gCs3IG7n9{>O(00000000000002Afl6Ee0B~t=FJEbHbY*g +GVQepRWo%|&Z*_EJVRU6=Ut?%xV{0yOc~DCM0u%!j0000800WU*Sy`m?pi~S102eL*03HAU00000000 +000JMQrX8-_jX>c!JX>N37a&BR4FL!8VWo%z!b!lv5WpXZXc~DCM0u%!j0000800WU*Sc!JX>N37a&BR4FJo+JFJE72ZfSI1UoLQYP)h*<6ay3h000O81 +Cd)c!JX>N37a&BR +4FJo+JFJfVHWnW`&ZEaz0WG--dP)h*<6ay3h000O81Cd)OV0000000000w1K +vV003}la4%nJZggdGZeeUMV{Bc!JX>N37a&BR4FJo+JFJo_QZDDR?Ut@1>bY*ySE^v8JO928D0~7!N0 +0;mBky}~jvjvZq2LJ&76#xJt00000000000002AfvTwh0B~t=FJEbHbY*gGVQepBY-ulPZe(S6Ut@1= +ZDDR?E^v8JO928D0~7!N00;mBky}}lN0=-V1poj63jhEa00000000000002Afq=090B~t=FJEbHbY*g +GVQepBY-ulTVQFqIaCuNm0Rj{Q6aWAK2mk|-TUkK39(rX4008n3001BW0000000000006Xs%C-OiaA| +NaUukZ1WpZv|Y%gPMX)kSIX>MO|VRCb2axQRrP)h*<6ay3h000O81Cd)303rYY00000000000JMRD$^ZaxX>c!JX>N37a&BR4FJo+JFK}{iXL4n8b6;X%a&s3h0NO7A03ZMW00000000000JMQ@&Hw;#X>c!JX>N37a&BR4FJo+JFLGsZUt@1 +=ZDDR?E^v8JO928D0~7!N00;mBky}}*%vs5v1^@v56951m00000000000002AfiK$t0B~t=FJEbHbY* +gGVQepBY-ulZaA|ICWpZ;aaCuNm0Rj{Q6aWAK2mk|-TUq^j083Z^0049V001EX0000000000006Xs2; +u+$aA|NaUukZ1WpZv|Y%gPMX)kkhVRUtKUt@1%WpgfYc~DCM0u%!j0000800WU*S?iV6F_HuT04fgv0 +3rYY00000000000JMRh;s5|}X>c!JX>N37a&BR4FJo_QZDDR?b1z?CX>MtBUtcb8c~DCM0u%!j00008 +00WU*S()x1g4_rI00c!JX>N37a&BR4FJo_QZDDR?b1!3IV`yb +AaCuNm0Rj{Q6aWAK2mk|-TUi*38RW?V007(w0018V0000000000006XsitqpcaA|NaUukZ1WpZv|Y%g +PPZEaz0WOFZLXk}w-E^v8JO928D0~7!N00;mBky}~k&YE#w1polQ5C8xq00000000000002Afspe60B +~t=FJEbHbY*gGVQepBZ*6U1Ze(*WV{dJ6Y-Mz5Z*DGdc~DCM0u%!j0000800WU*St(a`whIdY0462?0 +4D$d00000000000JMQI`2YZLX>c!JX>N37a&BR4FJo_QZDDR?b1!3WZf0p`b#h^JX>V>WaCuNm0Rj{Q +6aWAK2mk|-TUiF0&O-VK004~|0018V0000000000006Xsfdl~naA|NaUukZ1WpZv|Y%gPPZEaz0WOFZ +MWny(_E^v8JO928D0~7!N00;mBky}~Rlr7ok1pok<6aWAs00000000000002Afw&C;0B~t=FJEbHbY* +gGVQepBZ*6U1Ze(*WWN&wFY;R#?E^v8JO928D0~7!N00;mBky}~b63Ese1ONbo3;+Ni000000000000 +02Af!`AW0B~t=FJEbHbY*gGVQepBZ*6U1Ze(*WW^!d^dSxzfc~DCM0u%!j0000800WU*S-;5p;Nt=S0 +H+2303HAU00000000000JMQV7y$rqX>c!JX>N37a&BR4FJo_QZDDR?b1!INb7(Gbc~DCM0u%!j00008 +00WU*S&74xJn8`e0Bi&R03HAU00000000000JMQ!8vy`tX>c!JX>N37a&BR4FJo_QZDDR?b1!IRY;Z1 +cc~DCM0u%!j0000800WU*S(mXfV9*5s0DBSu03QGV00000000000JMRF9RUDvX>c!JX>N37a&BR4FJo +_QZDDR?b1!LbWMz0RaCuNm0Rj{Q6aWAK2mk|-TUi5xO&(7K004Ci001EX0000000000006XskRt&AaA +|NaUukZ1WpZv|Y%gPPZEaz0WOFZRZgX&DV{|TXc~DCM0u%!j0000800WU*S=*pfsWu$|0Q7PI03iSX0 +0000000000JMP~C;c!JX>N37a&BR4FJo_QZDDR?b1!Lbb97;BY%XwlP)h*<6ay3h000O81Cd)< +jT(6_unYhI;V}RJ9smFU0000000000w1JaF0RV7ma4%nJZggdGZeeUMV{dJ3VQyq|FKlUZbS`jtP)h* +<6ay3h000O81Cd)MtBUtcb8c~DCM0u%!j0000800WU*S-}$JFv +c!JX>N37a&BR4FJx(RbaH88b#!TOZgVeUVRL0JaCuNm0Rj{Q6aWAK2mk|-TUnNuKX`Zn002q@001Ze0 +000000000006Xsh;#t}aA|NaUukZ1WpZv|Y%gSKb98cPVs&(BZ*FrhX>N0LVQg$=WG--dP)h*<6ay3h +000O81Cd)Um5@aBme*a0000000000w1Gx;0RV7ma4%nJZggdGZeeUMWNCABa%p09bZKv +Hb1!pbX>)WgaCuNm0Rj{Q6aWAK2mk|-TUoL5!>=y_001Qg001Na0000000000006Xs%zXg>aA|NaUuk +Z1WpZv|Y%gSKb98cPVs&(BZ*FrhcW7m0Y%XwlP)h*<6ay3h000O81Cd)OV00 +00000000w1GW<0RV7ma4%nJZggdGZeeUMX>Md?crRaHX>MtBUtcb8c~DCM0u%!j0000800WU*SzQ@Il +9&?!0Es^U03ZMW00000000000JMRcfB^t-X>c!JX>N37a&BR4FKKRMWq2=RZ)|L3V{~tFE^v8JO928D +0~7!N00;mBky}~KKrBXvBLDy*lK=oE00000000000002AfpC-o0B~t=FJEbHbY*gGVQepHZe(S6FK}U +FYhh<)UuJ1;WMy(LaCuNm0Rj{Q6aWAK2mk|-TUoC$(tPX(006il0015U0000000000006XsIk*7;aA| +NaUukZ1WpZv|Y%ghUWMz0Sb8mHWV`XzLaCuNm0Rj{Q6aWAK2mk|-TUnQpOcvo0002!o001KZ0000000 +000006XsVZZ?ZaA|NaUukZ1WpZv|Y%gqYV_|e@Z*FrhUtei%X>?y-E^v8JO928D0~7!N00;mBky}||- +INRJ2mkV?GFJEM7b98ldX>4;Y +aCuNm0Rj{Q6aWAK2mk|-TUkj)(%|0-001l=001Qb0000000000006Xsu-gFuaA|NaUukZ1WpZv|Y%gq +YV_|e@Z*FrhUvqhLV{dL|X=g5Qc~DCM0u%!j0000800WU*S*e~yQh@{j0Q?C603QGV00000000000JM +S9c!JX>N37a&BR4FKlmPVRUJ4ZgVeUVRL0JaCuNm0Rj{Q6aWAK2mk|-TUlX0c|Cgt008q400 +1HY0000000000006Xskm>;daA|NaUukZ1WpZv|Y%gtPbYWy+bYU-FUukY>bYEXCaCuNm0Rj{Q6aWAK2 +mk|-TUpd;)bYEXCa +CuNm0Rj{Q6aWAK2mk|-TUlZ=Rj7Fc008U?001ih0000000000006XsK^p=9aA|NaUukZ1WpZv|Y%gtP +bYWy+bYU-PZE$aLbZlv2FJEJCZE#_9E^v8JO928D0~7!N00;mBky}~PxMyo~2><|59{>O<000000000 +00002Afde1{0B~t=FJEbHbY*gGVQepLWprU=VRT_HX>D+Ca&&BIVlQ80X>)XQE^v8JO928D0~7!N00; +mBky}|h^w3ct2><{G9RL6+00000000000002AfxamM0B~t=FJEbHbY*gGVQepLWprU=VRT_HX>D+Ca& +&BIVlQ81Zgz7naCuNm0Rj{Q6aWAK2mk|-TUmR_DE>PD002J#001BW0000000000006XsB{Kp5aA|NaU +ukZ1WpZv|Y%gtZWMyn~FJE72ZfSI1UoLQYP)h*<6ay3h000O81Cd)<%in7|M*#o;@d5w<{l00000000000002Af%iND0B~t=FJEbHbY*gGVQepLZ)9a`b1 +!CZa&2LBUt@1>baHQOE^v8JO928D0~7!N00;mBky}~cm#NLd0RR971ONaX00000000000002AftWx70 +B~t=FJEbHbY*gGVQepLZ)9a`b1!LbWMz0RaCuNm0Rj{Q6aWAK2mk|-TUp~aoculn0006D001ih00000 +00000006Xsl|ljlaA|NaUukZ1WpZv|Y%gtZWMyn~FKKRbbYX04VRUJ4ZeMa`aBp&SE^v8JO928D0~7! +N00;mBky}|jC^+fS7ytk&QUCxP00000000000002AfgDEy0B~t=FJEbHbY*gGVQepLZ)9a`b1!UZZfh +=Zc~DCM0u%!j0000800WU*S>NQA_euc(06zi%03HAU00000000000JMQ8U;+SeX>c!JX>N37a&BR4FK +usRWo&aVb7N>_ZDlTSc~DCM0u%!j0000800WU*Ssw|5*kJ|$0J9MQ03-ka00000000000JMRvVFCbfX +>c!JX>N37a&BR4FKusRWo&aVb7f(2V`yJV>{aB^j4b1rasP)h*<6ay3 +h000O81Cd)<-VY_YC(^b0000000000w1J#!0swGna4%nJZggdGZeeUMZEs{{Y;!MkVRC +0>bYF0JbZBpGE^v8JO928D0~7!N00;mBky}}-jP5<;1polM5dZ)k00000000000002Afd_E{0B~t=FJ +EbHbY*gGVQepLZ)9a`b1!#jWo2wGaCuNm0Rj{Q6aWAK2mk|-TUibtfl4v}001%o001EX00000000000 +06XsCU*h=aA|NaUukZ1WpZv|Y%gwQba!uZYcF44X>MtBUtcb8c~DCM0u%!j0000800WU*Srw?*oc$F5 +07+2*0384T00000000000JMRZcLD%#X>c!JX>N37a&BR4FK%UYcW-iQFJX0bXfAMhP)h*<6ay3h000O +81Cd)<}b9RL6$00000000000002Afux!O0 +B~t=FJEbHbY*gGVQepMWpsCMa%(SaVS0IAcW7m0Y%XwlP)h*<6ay3h000O81Cd)<^SV>WaCuNm0Rj{Q6aWAK2mk| +-TUprO4Y|(+008(80015U0000000000006Xsvb+KSaA|NaUukZ1WpZv|Y%gwQba!uZYcF+lX>4;YaCu +Nm0Rj{Q6aWAK2mk|-TUqeq?IO+s001rr0018V0000000000006Xsy}|+jaA|NaUukZ1WpZv|Y%gwQba +!uZYcF_hY;tg8E^v8JO928D0~7!N00;mBky}{+00002000000000a00000000000002Afyl)I0B~t=F +JEbHbY*gGVQepNaAk5~bZKvHb1z?CX>MtBUtcb8c~DCM0u%!j0000800WU*S+4q4phpJ)02mhl03iSX +00000000000JMP&#sUCvX>c!JX>N37a&BR4FK=*Va$$67Z*FrhV`yb#Yc6nkP)h*<6ay3h000O81Cd) +c!JX>N37a&BR4FK=*Va$$67Z*FrhVs&Y3WG`P|X>MtBUtcb8c~DCM0u%!j0000800WU*S+2Pb +JB$VZ0HzWE051Rl00000000000JMQF^#TBJX>c!JX>N37a&BR4FK=*Va$$67Z*FrhVs&Y3WG`ZMX>4R +)baG*1Yh`jSaCuNm0Rj{Q6aWAK2mk|-TUmbae@k8h0052!001fg0000000000006Xs2mAs6aA|NaUuk +Z1WpZv|Y%gzcWpZJ3X>V?GFJg6RY-BHOWprU=VRT_GaCuNm0Rj{Q6aWAK2mk|-TUmf7EXr&G006=T00 +1)p0000000000006Xst^NW4aA|NaUukZ1WpZv|Y%gzcWpZJ3X>V?GFJg6RY-BHOWprU=VRT_%Wn^h|V +Pb4$E^v8JO928D0~7!N00;mBky}}j;3Baq0{{Sy2mk;v00000000000002AfocH*0B~t=FJEbHbY*gG +VQepNaAk5~bZKvHb1!0bX>4RKZDn*}WMOn+UuV?GFJg6RY-BHYXk}$=E^v8JO92 +8D0~7!N00;mBky}~Ur>Mt10ssJs1pojr00000000000002Aff5G;0B~t=FJEbHbY*gGVQepNaAk5~bZ +KvHb1!0bX>4RKcW7m0Y+q$$X>?&?Y-KKRc~DCM0u%!j0000800WU*S(Und6!-%G0Obn+04@Lk000000 +00000JMRg2?GFdX>c!JX>N37a&BR4FK=*Va$$67Z*FrhVs&Y3WG{DUWo2w%Y-ML*V|gxcc~DCM0u%!j +0000800WU*S>fFjdo=(605bpp04x9i00000000000JMSP4FdphX>c!JX>N37a&BR4FK=*Va$$67Z*Fr +hX>N0LVQg$KUtei%X>?y-E^v8JO928D0~7!N00;mBky}~ZBnV{;0ssI51poju00000000000002Afng +2<0B~t=FJEbHbY*gGVQepNaAk5~bZKvHb1!Lbb97;BY%gVGX>?&?Y-L|;WoKbyc`k5yP)h*<6ay3h00 +0O81Cd)?-)jH>DF6Tf0000000000w1K`50|0Poa4%nJZggdGZeeUMZ*XODVRUJ4ZgVebZ +gX^DY-}%gXk}$=E^v8JO928D0~7!N00;mBky}|Z7#{3r0{{SB3IG5d00000000000002AfiN-y0B~t= +FJEbHbY*gGVQepQWpOWGUukY>bYEXCaCuNm0Rj{Q6aWAK2mk|-TUqu%L1^(40090+001EX000000000 +0006Xs(lrABaA|NaUukZ1WpZv|Y%g+UaW7+UZgX^Ubz^jIa&sc!JX>N37a&BR4FLGsZFLGsZUuJ1+WiD`eP)h*<6ay3h00 +0O81Cd)d3AOHXW0000000000w1IM80|0Poa4%nJZggdGZeeUMa%FKZa%FK}X>N0LV +Qg$JaCuNm0Rj{Q6aWAK2mk|-TUm~d(H=zu001fr000~S0000000000006XsZ-fH?aA|NaUukZ1WpZv| +Y%g+UaW8UZabI&~bS`jtP)h*<6ay3h000O81Cd)<5j0P6z8U}kEnNTrA^-pY0000000000w1Mu20|0P +oa4%nJZggdGZeeUMa%FKZa%FK}b#7^Hb97;BY%XwlP)h*<6ay3h000O81Cd)<000000ssI200000Bme +*a0000000000w1MoR0|0Poa4%nJZggdGZeeUMa%FRGY;|;LZ*DJNUukY>bYEXCaCuNm0Rj{Q6aWAK2m +k|-TUq5B%c=hW002h<001BW0000000000006XsFrxziaA|NaUukZ1WpZv|Y%g+Ub8l>QbZKvHFJfVHW +iD`eP)h*<6ay3h000O81Cd)<000000ssI200000D*ylh0000000000w1I7;0|0Poa4%nJZggdGZeeUM +a%FRGY;|;LZ*DJaWoKbyc`sjIX>MtBUtcb8c~DCM0u%!j0000800WU*S(OicY#bT@00dqD04o3h0000 +0000000JMR)qyqqOX>c!JX>N37a&BR4FLGsbZ)|mRX>V>XY-ML*V|g!fWpi(Ac4cxdaCuNm0Rj{Q6aW +AK2mk|-TUh`A0006200000001ul0000000000006Xs9lrwraA|NaUukZ1WpZv|Y%g+Ub8l>QbZKvHFL +GsbZ)|pDY-wUIUtei%X>?y-E^v8JO928D0~7!N00;mBky}}u0pSl21pok_6951!00000000000002Af +o#760B~t=FJEbHbY*gGVQepQWpi(Ab#!TOZZC3Wb8l>RWo&6;FJfVHWiD`eP)h*<6ay3h000O81Cd)< +*#vfR&k_ItAx;1QF#rGn0000000000w1LIM0|0Poa4%nJZggdGZeeUMa%FRGY;|;LZ*DJgWpi(Ac4cg +7VlQK1Ze(d>VRU74E^v8JO928D0~7!N00;mBky}}Y<}rUUAOHZBe*ge300000000000002Af#cT$0B~ +t=FJEbHbY*gGVQepQWpi(Ab#!TOZZC3Wb8l>RWo&6;FJ@t5bZ>HbE^v8JO928D0~7!N00;mBky}|}AF +da@2LJ%?7ytk_00000000000002AfnfLp0B~t=FJEbHbY*gGVQepQWpi(Ab#!TOZZC3Wb8l>RWo&6;F +J^CbZe(9$VQyq;WMOn=b1rasP)h*<6ay3h000O81Cd)F8}}l0000000000w1IK} +1ORYpa4%nJZggdGZeeUMa%FRGY;|;LZ*DJgWpi(Ac4cg7VlQxVZ+2;9WpXZXc~DCM0u%!j0000800WU +*Sv1+X?C}Et0ALIN051Rl00000000000JMQ}4FmviX>c!JX>N37a&BR4FLGsbZ)|mRX>V>Xa%FRGY<6 +XAX<{#OWpHnDbY*fbaCuNm0Rj{Q6aWAK2mk|-TUmm~)AnNq004m>001)p0000000000006Xsun`0RaA +|NaUukZ1WpZv|Y%g+Ub8l>QbZKvHFLGsbZ)|pDY-wUIa%FLKX>w(4Wo~qHE^v8JO928D0~7!N00;mBk +y}|n!g2VN4*&o#F#rHB00000000000002Afn*p20B~t=FJEbHbY*gGVQepQWpi(Ab#!TOZZC3Wb8l>R +Wo&6;FLGsbZ)|pDaxQRrP)h*<6ay3h000O81Cd)<000000ssI2000009{>OV0000000000w1Gt^1ORY +pa4%nJZggdGZeeUMb#!TLb1z?CX>MtBUtcb8c~DCM0u%!j0000800WU*S%hhM(bok402U1Z03!eZ000 +00000000JMRGCc!JX>N37a&BR4FLiWjY;!MPYGHC=V{cz{Wq5QhaCuNm0Rj{Q6aWAK2mk|-TU +knYIX~6`008#`000{R0000000000006XsoGt_aaA|NaUukZ1WpZv|Y%g_mX>4;ZUu<{c00000000000002AfqpXt0B~t=FJEbHbY*g +GVQepTbZKmJFJo_QaA9;VaCuNm0Rj{Q6aWAK2mk|-TUoiS>+-V(004j(001cf0000000000006XsXE+ +1^aA|NaUukZ1WpZv|Y%g_mX>4;ZV{dJ6VRUI?X>4h9d0%v4XLBxac~DCM0u%!j0000800WU*S!@$Mu9 +yG-0P+9;03QGV00000000000JMQ&KLh}9X>c!JX>N37a&BR4FLiWjY;!MUVRU75X>DaLaCuNm0Rj{Q6 +aWAK2mk|-TUqBW7z0%W004Uq001HY0000000000006XsHb4XbaA|NaUukZ1WpZv|Y%g_mX>4;ZWMy!2 +Wn*DV>WaCuNm0Rj{Q6aWAK2mk|-TUpI2glgym004Xp001cf0000000000006Xs%S8kLaA|NaUukZ +1WpZv|Y%g_mX>4;ZWNC6`V{~72a%^8{Wo&R|a&s!9uK!*bW0G|l}03Q +GV00000000000JMSnNdy3JX>c!JX>N37a&BR4FLiWjY;!MVXJ=n*X>MySaCuNm0Rj{Q6aWAK2mk|-TU +o{%&=(E@005B$0018V0000000000006XszD)!GaA|NaUukZ1WpZv|Y%g_mX>4;ZWo~0{WNB_^E^v8JO +928D0~7!N00;mBky}|jWM%2m1ONc|3jhEj00000000000002AfeBCq0B~t=FJEbHbY*gGVQepTbZKmJ +FJ*3Ya(QrXX>N3LE^v8JO928D0~7!N00;mBky}{^J1eW52LJ$86951q00000000000002Aff`i=0B~t +=FJEbHbY*gGVQepTbZKmJFJ@_MWpjCRbY*QWaCuNm0Rj{Q6aWAK2mk|-TUn#kPc2vh007Ja001BW000 +0000000006Xs_FM!2aA|NaUukZ1WpZv|Y%g_mX>4;ZW@&6?ba`-Pb1rasP)h*<6ay3h000O81Cd)<-J +o(S3_8~^|S0000000000w1JFX1ORYpa4%nJZggdGZeeUMb#!TLb1!FXX<}n8aCuNm0Rj{Q6 +aWAK2mk|-TUh~&I9THb003+g0012T0000000000006Xs(qsexaA|NaUukZ1WpZv|Y%g_mX>4;ZXkl|` +WpgfYc~DCM0u%!j0000800WU*Su)n_o?{IF09Gvk03HAU00000000000JMSdYXksrX>c!JX>N37a&BR +4FLiWjY;!McZ)ay|Zf7oVc~DCM0u%!j0000800WU*S<(2z8$=xd0P0%+02=@R00000000000JMRRc?1 +A(X>c!JX>N37a&BR4FLiWjY;!MdX>(&PaCuNm0Rj{Q6aWAK2mk|-TUoF;47t$*002D*001BW0000000 +000006Xs43`7|aA|NaUukZ1WpZv|Y%g_mX>4;ZaA9L>VP|P>XD)DgP)h*<6ay3h000O81Cd)<>^_NeQ +vv`0a0LJW8~^|S0000000000w1FF&1ORYpa4%nJZggdGZeeUMb#!TLb1!mbbaHtvaCuNm0Rj{Q6aWAK +2mk|-TUlKBVO#tK002`F001Wd0000000000006XssGS4=aA|NaUukZ1WpZv|Y%g_mX>4;Zb7gdOaCC2 +PY;#{?b!lv5E^v8JO928D0~7!N00;mBky}}?*a%o?3jhEdBLDy)00000000000002Af$5_J0B~t=FJE +bHbY*gGVQepTbZKmJFLQNbaB^>BWpi^baCuNm0Rj{Q6aWAK2mk|-TUlpDzo4}X003Sj0018V0000000 +000006Xskgo&)aA|NaUukZ1WpZv|Y%g_mX>4;ZbY*RDUu0==E^v8JO928D0~7!N00;mBky}}A3Ud)a4 +FCYIE&u=^00000000000002Afr7gP0B~t=FJEbHbY*gGVQepTbZKmJFLiEkVPk7)Zf7oVc~DCM0u%!j +0000800WU*S%H8Yn(+bv06zu*02=@R00000000000JMPs$pip!X>c!JX>N37a&BR4FLiWjY;!Mla%^) +haCuNm0Rj{Q6aWAK2mk|-TUkxE=7}E#004ju001EX0000000000006XsD$E1`aA|NaUukZ1WpZv|Y%g +_mX>4;Zc4=~Sbzy8}Zgwtkc~DCM0u%!j0000800WU*S(sS9q(lY)0FDs=02}}S00000000000JMRK(F +6c+X>c!JX>N37a&BR4FLiWjY;!MnXk}$=E^v8JO928D0~7!N00;mBky}|Wt=`2i0RRA00ssIV000000 +00000002Afd<$F0B~t=FJEbHbY*gGVQepUV{bYEXCaCuNm0Rj{Q6aWAK2mk|-TUj(9A-1Rl +0077h000{R0000000000006XsaM=U^aA|NaUukZ1WpZv|Y%g|Wb1!0HdSPL5E^v8JO928D0~7!N00;m +Bky}~J5QKTd6#xJMM*sjA00000000000002Afl=NB0B~t=FJEbHbY*gGVQepUV{=}dc~DCM0u% +!j0000800WU*S?b+kWBmmH0D%+$03HAU00000000000JMQh^aKEKX>c!JX>N37a&BR4FLq;dFKuOVV| +8+AVQemNc~DCM0u%!j0000800WU*S)msJpk)pK0M{)503QGV00000000000JMRF`UC)QX>c!JX>N37a +&BR4FLq;dFLQNbc4cyNX>V>WaCuNm0Rj{Q6aWAK2mk|-TUl_2sl*}}005|0001KZ0000000000006Xs +B?$!paA|NaUukZ1WpZv|Y%g|Wb1!yfa&u{KZewq5baHQOE^v8JO928D0~7!N00;mBky}{}sszbj1^@s +F6951g00000000000002Afrudm0B~t=FJE?LZe(wAFJE72ZfSI1UoLQYP)h*<6ay3h000O81Cd)Zgg^QY%gPBV +`ybAaCuNm0Rj{Q6aWAK2mk|-TUkpoCSl(b0056j001Tc0000000000006Xs>aYa>aA|NaUv_0~WN&gW +V_{=xWn*t{baHQOFJo_RbaHQOY-MsTaCuNm0Rj{Q6aWAK2mk|-TUjt$fS2$F006`g001Wd000000000 +0006Xs4aEfjaA|NaUv_0~WN&gWV_{=xWn*t{baHQOFJ@_MWp{F6aByXEE^v8JO928D0~7!N00;mBky} +}$i@N8l1^@u!5&!@u00000000000002AfkMm$0B~t=FJE?LZe(wAFJob2Xk}w>Zgg^QY%geKb#iHQbZ +KLAE^v8JO928D0~7!N00;mBky}{+00002000000000X00000000000001_ficqs0B~t=FJE?LZe(wAF +Job2Xk}w>Zgg^QY%g$mE_8WtWn@rG0Rj{Q6aWAK2mk|-TUo8?V88DM001i#001Qb0000000000006Xs +a?=F>aA|NaUv_0~WN&gWV_{=xWn*t{baHQOFLPybX<=+>dSxzfc~DCM0u%!j0000800WU*S=c;(W#s_ +?0Eqc!Jc4cm4Z*nhVVPj}zV{dMBa&K%ecXDBHaAk5XaCuNm0Rj +{Q6aWAK2mk|-TUjO0PW-a~001um001ih0000000000006Xs%G?D2aA|NaUv_0~WN&gWV_{=xWn*t{ba +HQOFJob2Xk~LRUtei%X>?y-E^v8JO928D0~7!N00;mBky}}1N-o8;2LJ#b6#xJ&00000000000002Af +yUhh0B~t=FJE?LZe(wAFJob2Xk}w>Zgg^QY%gPBV`yb_FJ@_MWnW`qV`ybAaCuNm0Rj{Q6aWAK2mk|- +TUosI_qRp@003$Q001rk0000000000006Xs#pMM6aA|NaUv_0~WN&gWV_{=xWn*t{baHQOFJob2Xk~L +Ra%E&`b6;a&V`ybAaCuNm0Rj{Q6aWAK2mk|-TUpf92+vXg003S90018V0000000000006XsSLg)*aA| +NaUv_0~WN&gWV`Xx5X=Z6JUtei%X>?y-E^v8JO928D0~7!N00;mBky}|WAg$q^000300000V0000000 +0000002Af#&E10B~t=FJE?LZe(wAFJonLbZKU3FJE76VQFq(UoLQYP)h*<6ay3h000O81Cd)c!Jc4cm4Z*nhVWpZ +?BW@#^Qc`kH$aAjmrO928D0~7!N00;mBky}~q2S)p40RRAT0ssIX00000000000002Af#zul0B~t=FJ +E?LZe(wAFJx(RbZlv2FJE72ZfSI1UoLQYP)h*<6ay3h000O81Cd)3FaQA9 +#{d8y00000000000002Af%cXN0B~t=FJE?LZe(wAFJx(RbZlv2FJxhKVPau(WiD`eP)h*<6ay3h000O +81Cd)<5G79+^%MXAJy8Gv8~^|S0000000000w1L3K2mo+ta4%nWWo~3|axY|Qb98KJVlQcKWMz0RaCu +Nm0Rj{Q6aWAK2mk|-TUpQNKB=cN002_Q0018V0000000000006Xs@7xFgaA|NaUv_0~WN&gWWNCABY- +wUIY;R*>bZ>HVE^v8JO928D0~7!N00;mBky}~aZvG%T5C8yJHvj-100000000000002AfzuBO0B~t=F +JE?LZe(wAFJx(RbZlv2FKuCNX=Y_}bS`jtP)h*<6ay3h000O81Cd)<6YX8m32>@_ua4%nWWo~3|axY|Qb98KJVlQoBa%*LBb1rasP)h*<6ay3h000O81Cd)<-#zXM5hVZ +sM3(>n9{>OV0000000000w1JW*2>@_ua4%nWWo~3|axY|Qb98KJVlQoFbYWy+bYU)Vc~DCM0u%!j000 +0800WU*S)IMrfUpYy07NPP03ZMW00000000000JMSNObGyRX>c!Jc4cm4Z*nhWX>)XJX<{#OWpi(Ja$ +{w4E^v8JO928D0~7!N00;mBky}}X%erO<7XSdTNB{sH00000000000002AfzDV70B~t=FJE?LZe(wAF +Jx(RbZlv2FLPsZX>fFNE^v8JO928D0~7!N00;mBky}}WN_i6MyZ`_IegOa*00000000000001_fe~;C +0B~t=FJE?LZe(wAFJx(RbZlv2FLX09E@gOSP)h*<6ay3h000O81Cd)OV0000 +000000q=7Uo3IK3va4%nWWo~3|axY|Qb98KJVlQ+yG%aCrZ7yYaWl&220u%!j0000800WU*SzKiU8I# +Na005=|02=@R00000000000HlGxYYPByX>c!Jc4cm4Z*nhWX>)XJX<{#QHZ(3}cx6ya0Rj{Q6aWAK2m +k|-TUn}2T&7`2004Rf0RS5S0000000000006Xsi#QAbaA|NaUv_0~WN&gWWNCABY-wUIb#!TLE^v8JO +928D0~7!N00;mBky}~0y-u~I82|vUTmS$b00000000000002AfhBj00000000000001_fd-ol0B~t=FJE? +LZe(wAFJx(RbZlv2FLyICE@gOSP)h*<6ay3h000O81Cd)OV0000000000q=9 +8m4FGUya4%nWWo~3|axY|Qb98KJVlQ_#G%aCrZ7yYaWl&220u%!j0000800WU*S^n^%E>6V&0052w02 +=@R00000000000HlGJeGUL{X>c!Jc4cm4Z*nhWX>)XJX<{#THZ(3}cx6ya0Rj{Q6aWAK2mk|-TUjB~+ +M$*z007IY000~S0000000000006Xs9zzcRaA|NaUv_0~WN&gWWNCABY-wUIcW7m0Y%XwlP)h*<6ay3h +000O81Cd)<`(SX~BLM&a)dK(k9smFU0000000000w1Mtz4*+m!a4%nWWo~3|axY|Qb98cVFJE72ZfSI +1UoLQYP)h*<6ay3h000O81Cd)<9aOw&JOBUyKmY&$9smFU0000000000w1G`;4*+m!a4%nWWo~3|axY +|Qb98cVFJE76VQFq(UoLQYP)h*<6ay3h000O81Cd)MtBUtcb8c~DCM0u%!j0000800WU +*SruFRu0#U>0AdXQ02u%P00000000000JMR=o(}+UX>c!Jc4cm4Z*nhbWNu+EV{c?-V=i!cP)h*<6ay +3h000O81Cd)+{&8UO$Q0000000000w1GLI4*+m!a4%nWWo~3|axZCQZecHDZ*6d4bS +`jtP)h*<6ay3h000O81Cd)iaP)h*<6ay3h000O81Cd)<92|gCAp-yaSqA_B9RL6T0000000000w1F| +{4*+m!a4%nWWo~3|axZCQZecHJZgg^CZf9k4E^v8JO928D0~7!N00;mBky}~YQ=QQl0000L0000W000 +00000000002AfsO1B0B~t=FJE?LZe(wAFKJ|MVJ~oDV{2h&WnW}rbYU)Vc~DCM0u%!j0000800WU*Sp +Wb400IC20000002u%P00000000000HlH9><<8NX>c!Jc4cm4Z*nhbWNu+EaCt6td2nT9P)h*<6ay3h0 +00O81Cd)<=upZ(j+_7hrzQgc9RL6T0000000000w1FG#4*+m!a4%nWWo~3|axZCQZecHVbaON|WMOn+ +E^v8JO928D0~7!N00;mBky}|OiF)SI0RR9s1ONaZ00000000000002Af#iu00B~t=FJE?LZe(wAFKu& +YaA9L>FJE72ZfSI1UoLQYP)h*<6ay3h000O81Cd)V?GE^v8JO928D0~7!N00;mBky}|h0-CN}1^@v46#xJl00 +000000000002Af!>V}0B~t=FJE?LZe(wAFKu&YaA9L>FJ*XiE^v8JO928D0~7!N00;mBky}~C0*Aw88 +vp>8fdBv>00000000000002Afpe4)0B~t=FJE?LZe(wAFKu&YaA9L>FJ@tEY+_+!Yc6nkP)h*<6ay3h +000O81Cd)<2e;iPF984m@Bsh-ApigX0000000000w1E|{5CCv#a4%nWWo~3|axZXUV{2h&X>MmPUtei +%X>?y-E^v8JO928D0~7!N00;mBky}~w8T1R|1ONci3;+Nj00000000000002AfrGIS0B~t=FJE?LZe( +wAFK}UFYhh<;Zf7rFWo%|4UKaCuNm0Rj{Q6aWAK2mk|-TUosCUBE640043&001KZ000000000000 +6XsrM3_NaA|NaUv_0~WN&gWaA9L>VP|P>XD?rEVQzVBX>N6RE^v8JO928D0~7!N00;mBky}~m*fXZV1 +ONbr3IG5j00000000000002AffU3L0B~t=FJE?LZe(wAFK}UFYhh<;Zf7rFZFO^OY-w(FcrI{xP)h*< +6ay3h000O81Cd)<(pF+1H3Mm +PUvOb^b7gWaaCuNm0Rj{Q6aWAK2mk|-TUjup@{(Wy005T-001Na0000000000006XsiP8`NaA|NaUv_ +0~WN&gWaA9L>VP|P>XD?rKbaHiLbairNb1rasP)h*<6ay3h000O81Cd)MmPUvzJ4Wo~JDWpXZXc~DCM0u%!j0000800WU*S +)kYv@|g_)0Iw+k03ZMW00000000000JMRN+YkV7X>c!Jc4cm4Z*nhiVPk7yXK8L{FKuCRYh`kCE^v8J +O928D0~7!N00;mBky}~cL?QZ|BLDzhegFU=00000000000002AfnwVP|P>XD@JhE_8WtWn@rG0Rj{Q6aWAK2mk|-TUqLjD!VNN004sv001Qb0000000 +000006Xsdkql)aA|NaUv_0~WN&gWaA9L>VP|P>XD@PPadl~OWo>0{baO6nc~DCM0u%!j0000800WU*S +*c!Jc4cm4Z*nhiVPk7yXK8L{FLQ8ZV`*k-WpZ;a +aCuNm0Rj{Q6aWAK2mk|-TUoaWihwj2004|r0012T0000000000006XsIy4agaA|NaUv_0~WN&gWaA9L +>VP|P>XD@VNXLBxac~DCM0u%!j0000800WU*S*#as!s`YA0H+iH03HAU00000000000JMRrOc4NZX>c +!Jc4cm4Z*nhiVPk7yXK8L{FLiWjY;!Jfc~DCM0u%!j0000800WU*S=UyDr|S>^08&2y03ZMW0000000 +0000JMS7QxO1gX>c!Jc4cm4Z*nhiVPk7yXK8L{FLq^eb7^mGE^v8JO928D0~7!N00;mBky}}Vs;jJ5f +&c(7<^cdD00000000000002Af%#++0B~t=FJE?LZe(wAFK}yTUvg!0Z*_8GWpgiIUukY>bYEXCaCuNm +0Rj{Q6aWAK2mk|-TUq*}zIA#A000eF001Na0000000000006XsljjitaA|NaUv_0~WN&gWaBN|8W^Zz +BWNC79FJE72ZfSI1UoLQYP)h*<6ay3h000O81Cd)%a4%nWWo~3|axZXfVRUA1a&2U3a&s?sWpZc!Jc4cm4Z*nh +iY+-a}Z*py9X>xNfcWG{9Z+CMpaCuNm0Rj{Q6aWAK2mk|-TUpl{O91l(005^8001BW0000000000006 +Xs*BBB2aA|NaUv_0~WN&gWaCv8KWo~qHFJE72ZfSI1UoLQYP)h*<6ay3h000O81Cd)<$jko5>Hq)$VF +3UDAOHXW0000000000w1Eg75&&>%a4%nWWo~3|axZXsXKiI}baO9XUu|J&ZeL$6aCuNm0Rj{Q6aWAK2 +mk|-TUkFB5Vgt|003xQ0018V0000000000006XsFdq^CaA|NaUv_0~WN&gWaCv8KWo~qHFJo%a4%nWWo~3|axZXsXKiI}baO9eX>4?5axQRrP)h*<6ay3h000O81Cd)W;|2f#CJ_JtApigX00 +00000000w1GiA5&&>%a4%nWWo~3|axZXsXKiI}baO9eZ*py6baZ8ME^v8JO928D0~7!N00;mBky}||q +;5osB>(^wiU0r|00000000000002Afn!7x0B~t=FJE?LZe(wAFK~HhZDnqBb1!UVcx7@faCuNm0Rj{Q +6aWAK2mk|-TUo|yEspR3008X+001BW0000000000006XsCu$M^aA|NaUv_0~WN&gWaCv8KWo~qHFKus +RWo&6~WiD`eP)h*<6ay3h000O81Cd)%a4%nWWo~ +3|axZXsXKiI}baO9oY;|X8ZZ2?nP)h*<6ay3h000O81Cd)JO#}b{01N;CAOHXW0000000000w1 +Ew85&&>%a4%nWWo~3|axZXsXKiI}baO9qWoKo0Z*X)jaCuNm0Rj{Q6aWAK2mk|-TUq|oegc35000yW0 +018V0000000000006Xsm~#>UaA|NaUv_0~WN&gWaCv8KWo~qHFLPsIZf<3AE^v8JO928D0~7!N00;mB +ky}~cEgNag2mk;r9{>O$00000000000002AfmL`C0B~t=FJE?LZe(wAFK~HhZDnqBb1!pnXlZVEWq5Q +haCuNm0Rj{Q6aWAK2mk|-TUi?n$-?>u000yj0012T0000000000006XsVSy3=aA|NaUv_0~WN&gWaCv +8KWo~qHFLQKxY-KKRc~DCM0u%!j0000800WU*S$0S3T!9Aw08$tL0384T00000000000JMRYh!OyBX> +c!Jc4cm4Z*nhid1q~9Zgg`mbZ={AZZ2?nP)h*<6ay3h000O81Cd)<;p4Ibz)S!D==J~rApigX000000 +0000w1HBP5&&>%a4%nWWo~3|axZXsXKiI}baO9tZfSFLa%pa7E^v8JO928D0~7!N00;mBky}}H58L=~ +4FCWyCjbB(00000000000002Afl=KO0B~t=FJE?LZe(wAFK~HhZDnqBb1!vtX>2ZVc~DCM0u%!j0000 +800WU*SJk8OX>c!Jc4cm4Z*nhid1q~9Zgg`mW@&76WpZ +;bUtei%X>?y-E^v8JO928D0~7!N00;mBky}}g!~vc!Jc4cm4Z*nhid1q~ +9Zgg`mW^ZzBVRUq5a&s?YVqD7_0ICxJ04M+e00000000000JMQHeiHz2X>c!Jc4cm4Z +*nhid1q~9Zgg`mW^ZzBVRUq5a&s?lbZBLAE^v8JO928D0~7!N00;mBky}}FmJ%}p0{{T32mk;s00000 +000000002Af#ie}0B~t=FJE?LZe(wAFK~HhZDnqBb1!CZa&2LBbY*gLFK}UQXK!s`a%**PE^v8JO928 +D0~7!N00;mBky}}A_GCh`4FCYOE&u=~00000000000002Afij2_0B~t=FJE?LZe(wAFK~HhZDnqBb1! +CZa&2LBbY*gLFLHEdE^v8JO928D0~7!N00;mBky}|e*mlXW2><{F8~^|&00000000000002Afhd*}0B +~t=FJE?LZe(wAFK~HhZDnqBb1!CZa&2LBbY*gLFLQQhE^v8JO928D0~7!N00;mBky}}ls!{+<1^@s;5 +&!@z00000000000002AfgPX|0B~t=FJE?LZe(wAFK~HhZDnqBb1!CZa&2LBbY*gLFLY&cZE0>{Y%Xwl +P)h*<6ay3h000O81Cd)NE&u=k0000000000w1Kjw698~&a4%nWWo~3|axZXsXKiI +}baO9eZ*py6baZ8Mb1!sda&2jDVQexrHZE{^P)h*<6ay3h000O81Cd)<9BB4EM-2b~Q!fAjCjbBd000 +0000000w1Mlg698~&a4%nWWo~3|axZXsXKiI}baO9kWq4(Bb1z?CX>MtBUtcb8c~DCM0u%!j0000800 +WU*SqLk7`Q$wS06{4M04D$d00000000000JMR3z!Ly)X>c!Jc4cm4Z*nhid1q~9Zgg`mY-M<5a&s?VZ +DDY5X>MmOaCuNm0Rj{Q6aWAK2mk|-TUpjZni+5_006hq001Qb0000000000006Xsp#Bp8aA|NaUv_0~ +WN&gWaCv8KWo~qHFKlIaWpZ;baCvlSZ*DGdc~DCM0u%!j0000800WU*Ss3VeKx6{|0Qv_204D$d0000 +0000000JMQqDii>4X>c!Jc4cm4Z*nhid1q~9Zgg`mb98xZWpgiIUukY>bYEXCaCuNm0Rj{Q6aWAK2mk +|-TUmSl>>V2e008g|001Wd0000000000006Xs{4Ep!aA|NaUv_0~WN&gWaCv8KWo~qHFLQKxY-MvVUu +|JIWn*+-Xm4+8b1z?GZ*6d4bS`jtP)h*<6ay3h000O +81Cd)IWn*+-Xm4+8b1z +?MZE$QZaCuNm0Rj{Q6aWAK2mk|-TUn^}iewZ4001Ha001)p0000000000006Xs=RFhvaA|NaUv_0~WN +&gWaCvZYZ)#;@bYEz1Z)BWpi^cUtei%X>?y-E^v8JO928D0~7!N00;mBky}~h^fbgG3 +jhGGDgXdB00000000000002AflNOX0B~t=FJE?LZe(wAFK~Hqa&Ky7V{~6=Z*OaJFJEbHUvP47V`X!5 +FJEbHUvP47V`X!5E^v8JO928D0~7!N00;mBky}{`Bh=$(2LJ%U6951p00000000000002Afx=1@0B~t +=FJE?LZe(wAFLGsZb!BsOb1z?CX>MtBUtcb8c~DCM0u%!j0000800WU*StWFIeggpj0J8xA03!eZ000 +00000000JMQ;QWOAiX>c!Jc4cm4Z*nhkWpQ<7b98erUte}*a&u{KZeL$6aCuNm0Rj{Q6aWAK2mk|-TU +p2`%;|>$007qo001Wd0000000000006Xst5XyJaA|NaUv_0~WN&gWa%FLKWpi|MFJEbHbY*gGVQgP@b +ZKmJE^v8JO928D0~7!N00;mBky}|X>c!Jc4cm4Z*nhkWpQ<7b98erVQ^_KaCuNm0Rj{Q6aWAK2mk|-TUoN+jhlK4007D-000~S000 +0000000006Xs>~|CZaA|NaUv_0~WN&gWa%FLKWpi|MFJX0bXfAMhP)h*<6ay3h000O81Cd)c!Jc4cm4Z*nhkWpQ<7b98erZEs{ +{Y;!Jfc~DCM0u%!j0000800WU*S(qPI1-StL03ieb03ZMW00000000000JMQ#&lCV~X>c!Jc4cm4Z*n +hkWpQ<7b98eraA9L>VP|D?E^v8JO928D0~7!N00;mBky}}+(QBY}Apig$cK`q&00000000000002Afm +P8I0B~t=FJE?LZe(wAFLGsZb!BsOb1!pcb8~5LZgVbhc~DCM0u%!j0000800WU*S*%HxWt#>70OAk;0 +3-ka00000000000JMP!^ArGZX>c!Jc4cm4Z*nhkWpQ<7b98erb97;Jb#q^1Z)9b2E^v8JO928D0~7!N +00;mBky}|&5=^;U1ONbF3jhEj00000000000002Af#vxW0B~t=FJE?LZe(wAFLGsZb!BsOb1!pra&=> +Lb#i5ME^v8JO928D0~7!N00;mBky}|6kPD!cDF6Upg8%>>00000000000002Afq?!L0B~t=FJE?LZe( +wAFLGsZb!BsOb1!vtX>4;YaCuNm0Rj{Q6aWAK2mk|-TUla%4-eJ=000>R001HY0000000000006XsPb +d`taA|NaUv_0~WN&gWa%FRGY<6XAX<{#5UukY>bYEXCaCuNm0Rj{Q6aWAK2mk|-TUk#Ryy`j!008e60 +01KZ0000000000006XsWhoT^aA|NaUv_0~WN&gWa%FRGY<6XAX<{#Ma&LBNWMy)5E^v8JO928D0~7!N +00;mBky}{+00002000000000V00000000000001_f#5I|0B~t=FJE?LZe(wAFLGsbZ)|pDY-wUIaCt6 +td2nT9P)h*<6ay3h000O81Cd)RWo&6;FLGsYZ*p{Ha&sc!Jc4cm4Z*nhkWpi(Ac4cg7VlQ%Kb8l>RWpZ;aaCuNm0Rj{Q6aWAK2mk|-TUl1~Fs6qE0 +03hX001EX0000000000006Xs&qx&jaA|NaUv_0~WN&gWa%FRGY<6XAX<{#PbaHiLbaO6nc~DCM0u%!j +0000800WU*SpWb400IC20000004V?f00000000000JMRXP89%fX>c!Jc4cm4Z*nhkWpi(Ac4cg7VlQK +FZE#_9FJE72ZfSI1UoLQYP)h*<6ay3h000O81Cd)<8`mypV*mgEoB#j-FaQ7m0000000000w1M7E6## +H)a4%nWWo~3|axZdab8l>RWo&6;FJo_QaA9;WV{dG1Wn*+{Z*Fs6VPa!0aCuNm0Rj{Q6aWAK2mk|-TU +lX)sl@;Y007Dt000~S0000000000006Xsk53fV2Xa-002-3001HY0000000000006XsE8-OZaA|NaUv_0~WN&gWa%p2|FJEPNaBp&SUuJJ| +ZDDjSaCuNm0Rj{Q6aWAK2mk|-TUklex7(Wl000RA0015U0000000000006XsqU99;aA|NaUv_0~WN&g +Wa%p2|FJEPNbY*UHX>V>WaCuNm0Rj{Q6aWAK2mk|-TUqVF!xo1D0018Y000{R0000000000006XsdFB +-WaA|NaUv_0~WN&gWa%p2|FJES9Y-Mh5E^v8JO928D0~7!N00;mBky}{(^%0000000 +0000002AfjQ_E0B~t=FJE?LZe(wAFLG&PXfI!BZgX&DV{|TXc~DCM0u%!j0000800WU*Sr)728@B@h0 +GSK`03QGV00000000000JMSU^A!MaX>c!Jc4cm4Z*nhkX=7+FUuK-Kl007hk000>P0000000000006Xs+xHa!aA|NaUv_0~WN&gWa%p2|FJEkLZ*VSfc~DC +M0u%!j0000800WU*S+%JhD5C)Y0BZ#R03HAU00000000000JMQO`4s?gX>c!Jc4cm4Z*nhkX=7+FUv7 +15Y+q(+Y-KKRc~DCM0u%!j0000800WU*Sr?&KErkRC0GAs80384T00000000000JMP?`xO9iX>c!Jc4 +cm4Z*nhkX=7+FUvOb;Wps39b1rasP)h*<6ay3h000O81Cd)<>G1AM;Q#;trvU%}82|tP0000000000w +1L+D6##H)a4%nWWo~3|axZdeV`wj5aA{*}E^v8JO928D0~7!N00;mBky}}#v^6Wz1^@tG6#xJl00000 +000000002Af$jhn0B~t=FJE?LZe(wAFLG&PXfI!KVRUJ4E^v8JO928D0~7!N00;mBky}~DF|AZz4gdh +pO#lEL00000000000002Af%pd&0B~t=FJE?LZe(wAFLG&PXfI!LaA|ICWpZ;aaCuNm0Rj{Q6aWAK2mk +|-TUq8&6VluO003VB000^Q0000000000006Xsk`@*KaA|NaUv_0~WN&gWa%p2|FJE(XVPk79aCuNm0R +j{Q6aWAK2mk|-TUlV*5?ti~005x@000^Q0000000000006XsrWY0faA|NaUv_0~WN&gWa%p2|FJE+NZ +Dn#UaCuNm0Rj{Q6aWAK2mk|-TUkF?7**jD001Oe001HY0000000000006Xs!x$C-aA|NaUv_0~WN&gW +a%p2|FJE_QZZk4pV{dMAZ){~QaCuNm0Rj{Q6aWAK2mk|-TUksNeVn`k004yt000~S0000000000006X +s( +^b0000000000w1L_$765Q*a4%nWWo~3|axZdeV`wj5cWG{9Z+CNFa%FC0WpZV5E^v8JO928D0~7!N00 +;mBky}~k==3H-1poj{4FCWc00000000000002Af%-BQ0B~t=FJE?LZe(wAFLG&PXfI!Pa$#^TaCuNm0 +Rj{Q6aWAK2mk|-TUickMNy3b004Re000*N0000000000006XsbT}3OaA|NaUv_0~WN&gWa%p2|FJWS1 +E^v8JO928D0~7!N00;mBky}|~aAV1+2mkc!Jc4cm4Z*nhkX=7+FVsCgZaCuNm0Rj{Q6aWAK2mk|-TUq&JHN_PM0068K000>P00000 +00000006XsNm>>FaA|NaUv_0~WN&gWa%p2|FJonFY;!Jfc~DCM0u%!j0000800WU*S;a;W!pIT;053- +X02u%P00000000000JMRXU={#yX>c!Jc4cm4Z*nhkX=7+FV{dG4axQRrP)h*<6ay3h000O81Cd)c!Jc4cm4Z*nhkX=7+FV{dMAbaG*7ZZ2?nP)h*<6ay3h000O81Cd)<4ANtF#RUKWeiZ-!9smFU000 +0000000w1Mr^765Q*a4%nWWo~3|axZdeV`wj9Z*Fv9X>Mh5b1rasP)h*<6ay3h000O81Cd)<9T7Vr@C +N_@<{1D08vpc!Jc4cm4Z*nhkX=7+FWMyVyb!>EBb98xZ +WpgfYc~DCM0u%!j0000800WU*Svg0qp1uJ90L%jb02}}S00000000000JMQ->J|WSX>c!Jc4cm4Z*nh +kX=7+FWNBe%Zf|pCE^v8JO928D0~7!N00;mBky}~d4F^T|0{{TU2><{Y00000000000002AfnMwu0B~ +t=FJE?LZe(wAFLG&PXfI`LZ)#~SaCuNm0Rj{Q6aWAK2mk|-TUjDVA=B*u004pl000^Q000000000000 +6Xsjqnx#aA|NaUv_0~WN&gWa%p2|FJ*FaZ*p@kaCuNm0Rj{Q6aWAK2mk|-TUlz}ZxoFJ005H)0015U0 +000000000006XsvhfxGaA|NaUv_0~WN&gWa%p2|FJ@_MWnXY|Z+LkwaCuNm0Rj{Q6aWAK2mk|-TUp-# +>6k(U007Jh000~S0000000000006Xsd-N6naA|NaUv_0~WN&gWa%p2|FJ@_MWpinIWiD`eP)h*<6ay3 +h000O81Cd)<;TuZ!LJI%@aU}o%9{>OV0000000000w1M~d765Q*a4%nWWo~3|axZdeV`wjEX=i9`X=i +A3WpXZXc~DCM0u%!j0000800WU*S>R2)hAIUB0H+fG02lxO00000000000JMR21Q!5sX>c!Jc4cm4Z* +nhkX=7+FYIARHE^v8JO928D0~7!N00;mBky}|f!C1(P1ONcE3;+Nd00000000000002Afz}BZ0B~t=F +JE?LZe(wAFLG&PXfJAYaCvlPaxQRrP)h*<6ay3h000O81Cd)(LbS`jtP)h*<6ay3h000O81Cd)<#P`>PvOc!Jc4cm4Z*nhkX=7+FaA9O*X>MmOaCuNm0Rj{Q6aWAK2mk|-TUidq6@qgC002A#000>P0000000 +000006XstyC8PaA|NaUv_0~WN&gWa%p2|FK}UJWpXZXc~DCM0u%!j0000800WU*SvUYbU%LbV07MM{0 +2=@R00000000000JMQuRu=$pX>c!Jc4cm4Z*nhkX=7+FaA9m^baZ7daCuNm0Rj{Q6aWAK2mk|-TUk5E +`FQyW007Y`000>P0000000000006XsOIsHJaA|NaUv_0~WN&gWa%p2|FK}UQWo#~Rc~DCM0u%!j0000 +800WU*S$!0L!6hF600@i#02%-Q00000000000JMR7WfuT&X>c!Jc4cm4Z*nhkX=7+FaB^jIba^gtc~D +CM0u%!j0000800WU*S%>;ml3FeR07K~j02}}S00000000000JMSFgcksCX>c!Jc4cm4Z*nhkX=7+FaB +^>Fa%FRKE^v8JO928D0~7!N00;mBky}|IRohGo2><}(9{>O#00000000000002Afo!uE0B~t=FJE?LZ +e(wAFLG&PXfJSbZ)b94b8}x}VR9~Tc~DCM0u%!j0000800WU*S%>&*Fz5;Z04OW~02%-Q0000000000 +0JMR$ycYm)X>c!Jc4cm4Z*nhkX=7+FaB^>LaC9zkc~DCM0u%!j0000800WU*Sy-6+(>VeF0B;2V02}} +S00000000000JMSB#}@!_X>c!Jc4cm4Z*nhkX=7+FaB^>SZ)0z4E^v8JO928D0~7!N00;mBky}{+000 +02000000000P00000000000001_fk(<00B~t=FJE?LZe(wAFLG&PXfJSiE_8WtWn@rG0Rj{Q6aWAK2m +k|-TUlMguGe({005={000^Q0000000000006XsfXWvDaA|NaUv_0~WN&gWa%p2|FLGsPX>V>WaCuNm0 +Rj{Q6aWAK2mk|-TUpXM6de`?002)B000;O0000000000006XsEz1`GaA|NaUv_0~WN&gWa%p2|FLGsY +axQRrP)h*<6ay3h000O81Cd)P0000000000006Xs^wk#taA|NaUv_ +0~WN&gWa%p2|FLPsWaAhuVc~DCM0u%!j0000800WU*SwA)Yu2KR305=8z02%-Q00000000000JMRh+7 +|$DX>c!Jc4cm4Z*nhkX=7+Fb7OL4Wo|BTc~DCM0u%!j0000800WU*S=iq=DK8WN0JdHL02=@R000000 +00000JMQA-4_6GX>c!Jc4cm4Z*nhkX=7+Fb7g03Wo~pXaCuNm0Rj{Q6aWAK2mk|-TUp2|rQ=uy008q4 +000{R0000000000006Xsk?|J*aA|NaUv_0~WN&gWa%p2|FLQ8dZf<3AE^v8JO928D0~7!N00;mBky}{ +;TIM?V1ONa?5dZ)h00000000000002Afg<-80B~t=FJE?LZe(wAFLG&PXfJbgVRUtKE^v8JO928D0~7 +!N00;mBky}~5I6R}Q761UjX#fBj00000000000002Afl~Yz0B~t=FJE?LZe(wAFLG&PXfJbgd2D4aaC +uNm0Rj{Q6aWAK2mk|-TUqf6rcl)Z008O)000^Q0000000000006XsH4_*BaA|NaUv_0~WN&gWa%p2|F +LQKxY-MCFaCuNm0Rj{Q6aWAK2mk|-TUo>+4}mHm005JU000^Q0000000000006XsLKPSQaA|NaUv_0~ +WN&gWa%p2|FLQZrbYXZdaCuNm0Rj{Q6aWAK2mk|-TUp`Mknv(40001+000>P0000000000006Xsq%{} +-aA|NaUv_0~WN&gWa%p2|FLYsIY-KKRc~DCM0u%!j0000800WU*Svn)rzy1RN04fat03rYY00000000 +000JMQURTuzpX>c!Jc4cm4Z*nhkX=7+FbY*gFX>MU`Uvy|?ZDlTSc~DCM0u%!j0000800WU*Sv6w)Qe +-Fq0MNJq02lxO00000000000JMR7Sr`CtX>c!Jc4cm4Z*nhkX=7+FbY*ySE^v8JO928D0~7!N00;mBk +y}~pWTB4D1ONcR4gdfd00000000000002Affa%n0B~t=FJE?LZe(wAFLG&PXfJeVWo>0HaCuNm0Rj{Q +6aWAK2mk|-TUk+c_E1Lv003qH000^Q0000000000006Xs8HX4EaA|NaUv_0~WN&gWa%p2|FLY>SZDn& +VaCuNm0Rj{Q6aWAK2mk|-TUlX~wMhuaA|NaUv_0~WN&gWa%p +2|FLZKYV`XAtV{0yOc~DCM0u%!j0000800WU*S+R<^5mO2P0M8=;02lxO00000000000JMQ3q8I>hX> +c!Jc4cm4Z*nhkX=7+FbaG{7E^v8JO928D0~7!N00;mBky}}&swMpw0RRAu0RR9U00000000000002Af +vc<-0B~t=FJE?LZe(wAFLZBhY-ulFUukY>bYEXCaCuNm0Rj{Q6aWAK2mk|-TUi3Wj%kb*003!N000~S +0000000000006Xs{jC@PaA|NaUv_0~WN&gWbZ>2JX)j-JVRCb2axQRrP)h*<6ay3h000O81Cd)2JX)j-Nd2nTOE^v8JO9 +28D0~7!N00;mBky}|SDFFB!0000Q0000Q00000000000001_fpy9l0B~t=FJE?LZe(wAFLZBhY-ulWc +`kH$aAjmrO928D0~7!N00;mBky}~Q`%-j20ssK;1ONac00000000000002Afyv4k0B~t=FJE?LZe(wA +FLZKsb98fbZ*pZXUtei%X>?y-E^v8JO928D0~7!N00;mBky}~ni~=g~2><{)DF6T-00000000000002 +Afk@350B~t=FJE?LZe(wAFLZKsb98fbZ*pZXUtw@*E^v8JO928D0~7!N00;mBky}~bH@8li6951gPyh +fR00000000000002Afppgx0B~t=FJE?LZe(wAFLZKsb98fbZ*pZXUu|JyZ*wkic~DCM0u%!j0000800 +WU*SvN)j-Sh(h02B!T03rYY00000000000JMQi>lgrVX>c!Jc4cm4Z*nhma&>cbb98TVWiMZEaAj_Db +8Iefc~DCM0u%!j0000800WU*S!uvr&&2@%0BQsP04M+e00000000000JMRB?-&4ZX>c!Jc4cm4Z*nhm +a&>cbb98TVWiMZIb8KH@Z*FsRVQzGDE^v8JO928D0~7!N00;mBky}|&{tboz5C8y4MgRaJ000000000 +00002Afr{}M0B~t=FJE?LZe(wAFLZKsb98fbZ*pZXUw3J4WN&wKE^v8JO928D0~7!N00;mBky}{+000 +02000000000V00000000000001_fyx0H0B~t=FJE?LZe(wAFLZKsb98fbZ*pZXaCt6td2nT9P)h*<6a +y3h000O81Cd)OV0000000000w1Ei%831r;a4%nWWo~3|axZmqY;0*_GcR9XX +>MtBUtcb8c~DCM0u%!j0000800WU*S;4|TCbSIz0BkG(03!eZ00000000000JMRy2N?ixX>c!Jc4cm4 +Z*nhna%^mAVlyvaV{dG1Wn*+{Z*FrgaCuNm0Rj{Q6aWAK2mk|-TUpq;J-a{v002M$0018V000000000 +0006Xsr4<V>WaCuNm0Rj{Q6a +WAK2mk|-TUp@T;2W4L007vX001Qb0000000000006Xsuq_z?aA|NaUv_0~WN&gWb#iQMX<{=kV{dM5W +n*+{Z*FjJZ)`4bc~DCM0u%!j0000800WU*SzgRZwd)B002v?v03iSX00000000000JMRNSs4IuX>c!J +c4cm4Z*nhna%^mAVlyvgcw=R7bZKvHb1rasP)h*<6ay3h000O81Cd)<$0$oIAPN8ggCPI_9RL6T0000 +000000w1Kr_831r;a4%nWWo~3|axZmqY;0*_GcRUoWo%?~E^v8JO928D0~7!N00;mBky}}ZtG}au0{{ +Ss2><{e00000000000002Afe>yP0B~t=FJE?LZe(wAFLiQkY-wUMFJ@_MWpHnEbS`jtP)h*<6ay3h00 +0O81Cd)OV0000000000w1Jt +C831r;a4%nWWo~3|axZmqY;0*_GcR&wb8v5Nb7d}Yc~DCM0u%!j0000800WU*SpWb400IC20000004D +$d00000000000JMQQvKatyX>c!Jc4cm4Z*nhna%^mAVlyveZ*FvQX<{#5UukY>bYEXCaCuNm0Rj{Q6a +WAK2mk|-TUjcD=@qpB006xM001!n0000000000006XsfU+3?aA|NaUv_0~WN&gWb#iQMX<{=kV{dMBa +%o~OUtw@?Wo~C_Ze?F(Zgy#MZ*DGdc~DCM0u%!j0000800WU*SqkoxiDV1_030g-04M+e0000000000 +0JMRGv>5c!Jc4cm4Z*nhna%^mAVlyveZ*FvQX<{#7aByXAXK8L_E^v8JO928D0~7!N00;mBky}| +6Y3Vmo1^@uC5dZ)u00000000000002AfiA%r0B~t=FJE?LZe(wAFLiQkY-wUMFJo_RbaH88FK%>fZE$ +aIY%XwlP)h*<6ay3h000O81Cd)bYEXCaCuNm0Rj{Q6aWAK2m +k|-TUjp8Eluta007`b001}u0000000000006Xs*b5o}aA|NaUv_0~WN&gWb#iQMX<{=kV{dMBa%o~OU +vp(+b#i5Na$#MtBUtcb8c~DCM0u%!j0000800WU*SzMGEtR^7<0BMH+03!eZ0000000 +0000JMP=FB$-FX>c!Jc4cm4Z*nhna%^mAVlyvrVPk7yXJvCQb7^=kaCuNm0Rj{Q6aWAK2mk|-TUh`A0 +006200000001%o0000000000006Xsdr%qxaA|NaUv_0~WN&gWb#iQMX<{=kaA9L>VP|D?FJfV1YjAIJ +baO9XUukY>bYEXCaCuNm0Rj{Q6aWAK2mk|-TUp+?W3xyC004;v001%o0000000000006Xs%}^QuaA|N +aUv_0~WN&gWb#iQMX<{=kaA9L>VP|D?FJfV1YjAIJbaO9lVQXb(X>4UKaCuNm0Rj{Q6aWAK2mk|-TUi +a?D|U+p007?<0024w0000000000006XsWm6geaA|NaUv_0~WN&gWb#iQMX<{=kaA9L>VP|D?FJfV1Yj +AIJbaO9vWnpV_WoBPyX>MU`X?kTYaCuNm0Rj{Q6aWAK2mk|-TUq9cnVQ%E004so001Na00000000000 +06XsNLm^IaA|NaUv_0~WN&gWb#iQMX<{=kb#!TLFJE72ZfSI1UoLQYP)h*<6ay3h000O81Cd)?X>2cJZ*Fd7V{~b6ZZ2? +nP)h*<6ay3h000O81Cd)<3eQ{zUIG9BMFs!>ApigX0000000000w1Gfm8US!?X>2cWa&LHfE^v8JO928D0~7!N00;mBky}|#1NNW%0002;0RR9Y00000000000002Af!$^r0B +~t=FJE?LZe(wAFLiQkY-wUMFLiWjY%g(jWp!mPaCuNm0Rj{Q6aWAK2mk|-TUj@bZSkuG005m2001KZ0 +000000000006Xs7-$**aA|NaUv_0~WN&gWb#iQMX<{=kb#!TLFLGsZb!BsOE^v8JO928D0~7!N00;mB +ky}|dDAlxJ1polH4FCWn00000000000002Afdpc!Jc4cm4Z*n +hna%^mAVlyvwbZKlaa%FUKc`k5yP)h*<6ay3h000O81Cd)?X>2cZb8KHOaCuNm0Rj{Q6aWAK2mk|-TUkGGx4P*F004d#0 +01rk0000000000006Xs8=@KjaA|NaUv_0~WN&gWb#iQMX<{=kb#!TLFLQHjUu|J@V`yJ!Z*z2RVQpnD +aCuNm0Rj{Q6aWAK2mk|-TUoLY_qP8B008eA001Ze0000000000006XsP^%gMaA|NaUv_0~WN&gWb#iQ +MX<{=kb#!TLFLQHjbaG*Cb8v5RbS`jtP)h*<6ay3h000O81Cd)<{T7%r<_iD-xF-MrBLDyZ00000000 +00w1Jhg8US!?X>2caX>Db1b#yLpc~DCM0u%!j0000800WU*Su54(UK +bMp0N6JG03QGV00000000000JMR;zZw8=X>c!Jc4cm4Z*nhna%^mAVlyvwbZKlab#iPjaCuNm0Rj{Q6 +aWAK2mk|-TUl1rR@J`;000{m001BW0000000000006Xs5Yrj}aA|NaUv_0~WN&gWb#iQMX<{=kb#!TL +FLz;SbS`jtP)h{{00000t^uwAhlBtC4ci(3000 +""" + + +if __name__ == "__main__": + main() diff --git a/logs/2bf63212-b6dd-4ac0-90de-9aac51902271.log b/logs/2bf63212-b6dd-4ac0-90de-9aac51902271.log new file mode 100644 index 00000000..8dce9cde --- /dev/null +++ b/logs/2bf63212-b6dd-4ac0-90de-9aac51902271.log @@ -0,0 +1,26 @@ +[11/30 17:05:41] DEBUG | Initial log file: logs/2bf63212-b6dd-4ac0-90de-9aac51902271.log (log.py:100) +[11/30 17:05:41] DEBUG | Installed via git, config-examples is in the local folder. (utils.py:139) +[11/30 17:05:41] INFO | Checking for updates... (utils.py:64) +[11/30 17:05:41] INFO | Bot is updated. (utils.py:78) +[11/30 17:05:41] INFO | GramAddict v.3.2.12 (utils.py:81) +[11/30 17:05:41] INFO | Loading plugins . . . (plugin_loader.py:30) +[11/30 17:05:41] INFO | - ActionUnfollowFollowers: Handles the functionality of unfollowing your followers (plugin_loader.py:45) +[11/30 17:05:41] INFO | - ClonedApp: Adds support for cloned apps (plugin_loader.py:45) +[11/30 17:05:41] INFO | - CoreArguments: Simply adds core arguments (plugin_loader.py:45) +[11/30 17:05:41] INFO | - DataAnalytics: Generates a PDF analytics report of current username session data (plugin_loader.py:45) +[11/30 17:05:41] INFO | - DBInitPlugin: Initialize NocoDB tables at session start (plugin_loader.py:45) +[11/30 17:05:41] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger (plugin_loader.py:45) +[11/30 17:05:41] INFO | - InteractBloggerFollowers_Following: Handles the functionality of interacting with a bloggers followers/following (plugin_loader.py:45) +[11/30 17:05:41] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger post likers (plugin_loader.py:45) +[11/30 17:05:41] INFO | - InteractOwnFeed: Handles the functionality of interacting with your own feed (plugin_loader.py:45) +[11/30 17:05:41] INFO | - InteractHashtagLikers: Handles the functionality of interacting with a hashtags likers (plugin_loader.py:45) +[11/30 17:05:41] INFO | - InteractHashtagPosts: Handles the functionality of interacting with a hashtags post owners (plugin_loader.py:45) +[11/30 17:05:41] INFO | - InteractPlaceLikers: Handles the functionality of interacting with a places likers (plugin_loader.py:45) +[11/30 17:05:41] INFO | - InteractPlacePosts: Handles the functionality of interacting with a places post owners (plugin_loader.py:45) +[11/30 17:05:41] INFO | - LikeFromURLs: Likes a post from url. The urls are read from a plaintext file (plugin_loader.py:45) +[11/30 17:05:41] INFO | - NocoDBRecordCreationTest: Test plugin specifically for verifying NocoDB record creation functionality (plugin_loader.py:45) +[11/30 17:05:41] INFO | - NocoDBStorage: Store interaction data in NocoDB (plugin_loader.py:45) +[11/30 17:05:41] INFO | - RemoveFollowersFromList: Remove account followers from a list of usernames (plugin_loader.py:45) +[11/30 17:05:41] INFO | - TelegramReports: Generate reports at the end of the session and send them using telegram (plugin_loader.py:45) +[11/30 17:05:41] DEBUG | Arguments used: --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug (config.py:160) +[11/30 17:05:41] DEBUG | Config used: {'allow-untested-ig-version': False, 'app-id': 'com.instagram.android', 'blogger-followers': ['ledianaprengaa'], 'carousel-count': '20-30', 'carousel-percentage': '60-70', 'close-apps': False, 'count-app-crashes': False, 'debug': False, 'delete-interacted-users': True, 'disable-block-detection': False, 'disable-filters': False, 'dont-type': False, 'end-if-comments-limit-reached': False, 'end-if-follows-limit-reached': False, 'end-if-likes-limit-reached': False, 'end-if-pm-limit-reached': False, 'end-if-watches-limit-reached': False, 'fling-when-skipped': 0, 'follow-limit': 50, 'follow-percentage': '30-40', 'init-db': True, 'interact-percentage': '30-40', 'interactions-count': '300-400', 'kill-atx-agent': False, 'likes-count': '1-2', 'likes-percentage': 100, 'max-comments-pro-user': '1-2', 'min-following': 10, 'restart-atx-agent': False, 'screen-record': False, 'screen-sleep': True, 'shuffle-jobs': True, 'skipped-list-limit': '10-15', 'skipped-posts-limit': 5, 'speed-multiplier': 1.5, 'stories-count': '10-20', 'stories-percentage': '30-40', 'telegram-reports': False, 'total-comments-limit': '3-50', 'total-crashes-limit': 5, 'total-follows-limit': '40-50', 'total-interactions-limit': '280-300', 'total-likes-limit': '120-150', 'total-pm-limit': '3-5', 'total-scraped-limit': '100-150', 'total-successful-interactions-limit': '120-150', 'total-unfollows-limit': '40-50', 'total-watches-limit': '120-150', 'truncate-sources': '2-5', 'use-cloned-app': False, 'use-nocodb': True, 'watch-photo-time': '3-4', 'watch-video-time': '20-40'} (config.py:162) diff --git a/logs/api.log b/logs/api.log new file mode 100644 index 00000000..35291951 --- /dev/null +++ b/logs/api.log @@ -0,0 +1,31736 @@ +2024-11-30 13:20:50,088 - api.main - INFO - Starting session for account quecreate with config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml +2024-11-30 13:20:50,088 - api.main - INFO - Running command: e:\PROJECTS\instagram automation\virtualinfluencer\venv\Scripts\python.exe -v e:\PROJECTS\instagram automation\virtualinfluencer\run.py --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 13:20:50,088 - api.main - INFO - Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 13:20:50,088 - api.main - INFO - Environment PYTHONPATH: None +2024-11-30 13:20:50,089 - api.main - INFO - Starting process with command: e:\PROJECTS\instagram automation\virtualinfluencer\venv\Scripts\python.exe -v e:\PROJECTS\instagram automation\virtualinfluencer\run.py --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 13:20:50,089 - api.main - INFO - Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 13:20:50,089 - api.main - INFO - PYTHONPATH: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 13:20:50,093 - api.main - INFO - Process started with PID: 492 +2024-11-30 13:20:50,093 - api.main - INFO - Successfully started session for account: quecreate +2024-11-30 13:20:50,121 - api.main - INFO - STDERR: import _frozen_importlib # frozen +2024-11-30 13:20:50,121 - api.main - ERROR - Error in log_output thread: I/O operation on closed file. +Traceback (most recent call last): + File "e:\PROJECTS\instagram automation\virtualinfluencer\api\main.py", line 181, in log_output + f.write(f"{prefix}: {line}\n") +ValueError: I/O operation on closed file. +2024-11-30 13:22:45,485 - api.main - INFO - All tasks cleaned up. +2024-11-30 13:22:46,301 - api.main - INFO - API startup complete +2024-11-30 13:23:29,752 - api.main - INFO - Starting session for account quecreate with config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml +2024-11-30 13:23:29,753 - api.main - INFO - Running command: e:\PROJECTS\instagram automation\virtualinfluencer\venv\Scripts\python.exe -v e:\PROJECTS\instagram automation\virtualinfluencer\run.py --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 13:23:29,753 - api.main - INFO - Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 13:23:29,753 - api.main - INFO - Environment PYTHONPATH: None +2024-11-30 13:23:29,753 - api.main - INFO - Starting process with command: e:\PROJECTS\instagram automation\virtualinfluencer\venv\Scripts\python.exe -v e:\PROJECTS\instagram automation\virtualinfluencer\run.py --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 13:23:29,753 - api.main - INFO - Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 13:23:29,753 - api.main - INFO - PYTHONPATH: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 13:23:29,761 - api.main - INFO - Process started with PID: 39776 +2024-11-30 13:23:29,761 - api.main - INFO - Successfully started session for account: quecreate +2024-11-30 13:23:29,784 - api.main - INFO - STDERR: import _frozen_importlib # frozen +2024-11-30 13:23:29,785 - api.main - INFO - STDERR: import _imp # builtin +2024-11-30 13:23:29,785 - api.main - INFO - STDERR: import '_thread' # +2024-11-30 13:23:29,785 - api.main - INFO - STDERR: import '_warnings' # +2024-11-30 13:23:29,785 - api.main - INFO - STDERR: import '_weakref' # +2024-11-30 13:23:29,785 - api.main - INFO - STDERR: import '_io' # +2024-11-30 13:23:29,785 - api.main - INFO - STDERR: import 'marshal' # +2024-11-30 13:23:29,785 - api.main - INFO - STDERR: import 'nt' # +2024-11-30 13:23:29,785 - api.main - INFO - STDERR: import 'winreg' # +2024-11-30 13:23:29,785 - api.main - INFO - STDERR: import '_frozen_importlib_external' # +2024-11-30 13:23:29,785 - api.main - INFO - STDERR: # installing zipimport hook +2024-11-30 13:23:29,786 - api.main - INFO - STDERR: import 'time' # +2024-11-30 13:23:29,786 - api.main - INFO - STDERR: import 'zipimport' # +2024-11-30 13:23:29,786 - api.main - INFO - STDERR: # installed zipimport hook +2024-11-30 13:23:29,788 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__init__.py +2024-11-30 13:23:29,788 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:29,789 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\codecs.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\codecs.py +2024-11-30 13:23:29,789 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\codecs.cpython-39.pyc' +2024-11-30 13:23:29,789 - api.main - INFO - STDERR: import '_codecs' # +2024-11-30 13:23:29,789 - api.main - INFO - STDERR: import 'codecs' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078EEC5940> +2024-11-30 13:23:29,791 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\aliases.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\aliases.py +2024-11-30 13:23:29,791 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\aliases.cpython-39.pyc' +2024-11-30 13:23:29,791 - api.main - INFO - STDERR: import 'encodings.aliases' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078EEE4EB0> +2024-11-30 13:23:29,791 - api.main - INFO - STDERR: import 'encodings' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078EEC5730> +2024-11-30 13:23:29,791 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\utf_8.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\utf_8.py +2024-11-30 13:23:29,791 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\utf_8.cpython-39.pyc' +2024-11-30 13:23:29,791 - api.main - INFO - STDERR: import 'encodings.utf_8' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078EEC5790> +2024-11-30 13:23:29,792 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\cp1252.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\cp1252.py +2024-11-30 13:23:29,792 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\cp1252.cpython-39.pyc' +2024-11-30 13:23:29,792 - api.main - INFO - STDERR: import 'encodings.cp1252' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078EEE4FA0> +2024-11-30 13:23:29,792 - api.main - INFO - STDERR: import '_signal' # +2024-11-30 13:23:29,793 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\latin_1.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\latin_1.py +2024-11-30 13:23:29,793 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\latin_1.cpython-39.pyc' +2024-11-30 13:23:29,793 - api.main - INFO - STDERR: import 'encodings.latin_1' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078EEFC340> +2024-11-30 13:23:29,793 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\io.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\io.py +2024-11-30 13:23:29,793 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\io.cpython-39.pyc' +2024-11-30 13:23:29,794 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\abc.py +2024-11-30 13:23:29,794 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 13:23:29,794 - api.main - INFO - STDERR: import '_abc' # +2024-11-30 13:23:29,794 - api.main - INFO - STDERR: import 'abc' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078EEFC7F0> +2024-11-30 13:23:29,794 - api.main - INFO - STDERR: import 'io' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078EEFC520> +2024-11-30 13:23:29,795 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\site.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\site.py +2024-11-30 13:23:29,795 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\site.cpython-39.pyc' +2024-11-30 13:23:29,796 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\os.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\os.py +2024-11-30 13:23:29,796 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\os.cpython-39.pyc' +2024-11-30 13:23:29,796 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\stat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\stat.py +2024-11-30 13:23:29,796 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\stat.cpython-39.pyc' +2024-11-30 13:23:29,796 - api.main - INFO - STDERR: import '_stat' # +2024-11-30 13:23:29,796 - api.main - INFO - STDERR: import 'stat' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F3CFFA0> +2024-11-30 13:23:29,798 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_collections_abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_collections_abc.py +2024-11-30 13:23:29,798 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_collections_abc.cpython-39.pyc' +2024-11-30 13:23:29,798 - api.main - INFO - STDERR: import '_collections_abc' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F3D6130> +2024-11-30 13:23:29,798 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ntpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ntpath.py +2024-11-30 13:23:29,798 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ntpath.cpython-39.pyc' +2024-11-30 13:23:29,799 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\genericpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\genericpath.py +2024-11-30 13:23:29,799 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\genericpath.cpython-39.pyc' +2024-11-30 13:23:29,799 - api.main - INFO - STDERR: import 'genericpath' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F3FF970> +2024-11-30 13:23:29,799 - api.main - INFO - STDERR: import 'ntpath' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F3D6A60> +2024-11-30 13:23:29,799 - api.main - INFO - STDERR: import 'os' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078EF057C0> +2024-11-30 13:23:29,801 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_sitebuiltins.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_sitebuiltins.py +2024-11-30 13:23:29,801 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_sitebuiltins.cpython-39.pyc' +2024-11-30 13:23:29,801 - api.main - INFO - STDERR: import '_sitebuiltins' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F3CF460> +2024-11-30 13:23:29,802 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_bootlocale.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_bootlocale.py +2024-11-30 13:23:29,802 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_bootlocale.cpython-39.pyc' +2024-11-30 13:23:29,802 - api.main - INFO - STDERR: import '_locale' # +2024-11-30 13:23:29,802 - api.main - INFO - STDERR: import '_bootlocale' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F3FFD90> +2024-11-30 13:23:29,803 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__init__.py +2024-11-30 13:23:29,804 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\_distutils_hack\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:29,804 - api.main - INFO - STDERR: import '_distutils_hack' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F415B80> +2024-11-30 13:23:29,804 - api.main - INFO - STDERR: import 'site' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078EEFC850> +2024-11-30 13:23:29,805 - api.main - INFO - STDERR: Python 3.9.10 (tags/v3.9.10:f2f3f53, Jan 17 2022, 15:14:21) [MSC v.1929 64 bit (AMD64)] on win32 +2024-11-30 13:23:29,805 - api.main - INFO - STDERR: Type "help", "copyright", "credits" or "license" for more information. +2024-11-30 13:23:29,805 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\__init__.py +2024-11-30 13:23:29,805 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:29,805 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__init__.py +2024-11-30 13:23:29,805 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:29,805 - api.main - INFO - STDERR: import 'GramAddict.core' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F4245B0> +2024-11-30 13:23:29,806 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\bot_flow.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\bot_flow.py +2024-11-30 13:23:29,806 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\bot_flow.cpython-39.pyc' +2024-11-30 13:23:29,807 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__init__.py +2024-11-30 13:23:29,808 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\logging\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:29,808 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\re.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\re.py +2024-11-30 13:23:29,808 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\re.cpython-39.pyc' +2024-11-30 13:23:29,809 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\enum.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\enum.py +2024-11-30 13:23:29,809 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\enum.cpython-39.pyc' +2024-11-30 13:23:29,810 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\types.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\types.py +2024-11-30 13:23:29,810 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\types.cpython-39.pyc' +2024-11-30 13:23:29,810 - api.main - INFO - STDERR: import 'types' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F6674C0> +2024-11-30 13:23:29,810 - api.main - INFO - STDERR: import 'enum' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F64EFD0> +2024-11-30 13:23:29,810 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_compile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_compile.py +2024-11-30 13:23:29,812 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_compile.cpython-39.pyc' +2024-11-30 13:23:29,812 - api.main - INFO - STDERR: import '_sre' # +2024-11-30 13:23:29,812 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_parse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_parse.py +2024-11-30 13:23:29,812 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_parse.cpython-39.pyc' +2024-11-30 13:23:29,813 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_constants.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_constants.py +2024-11-30 13:23:29,813 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_constants.cpython-39.pyc' +2024-11-30 13:23:29,813 - api.main - INFO - STDERR: import 'sre_constants' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F68B2E0> +2024-11-30 13:23:29,813 - api.main - INFO - STDERR: import 'sre_parse' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F6798B0> +2024-11-30 13:23:29,813 - api.main - INFO - STDERR: import 'sre_compile' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F667FD0> +2024-11-30 13:23:29,816 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\functools.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\functools.py +2024-11-30 13:23:29,816 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\functools.cpython-39.pyc' +2024-11-30 13:23:29,821 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__init__.py +2024-11-30 13:23:29,823 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\collections\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:29,828 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\heapq.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\heapq.py +2024-11-30 13:23:29,829 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\heapq.cpython-39.pyc' +2024-11-30 13:23:29,829 - api.main - INFO - STDERR: import '_heapq' # +2024-11-30 13:23:29,829 - api.main - INFO - STDERR: import 'heapq' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F6BEA60> +2024-11-30 13:23:29,829 - api.main - INFO - STDERR: import 'itertools' # +2024-11-30 13:23:29,831 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\keyword.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\keyword.py +2024-11-30 13:23:29,831 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\keyword.cpython-39.pyc' +2024-11-30 13:23:29,832 - api.main - INFO - STDERR: import 'keyword' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F6BEFD0> +2024-11-30 13:23:29,835 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\operator.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\operator.py +2024-11-30 13:23:29,836 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\operator.cpython-39.pyc' +2024-11-30 13:23:29,836 - api.main - INFO - STDERR: import '_operator' # +2024-11-30 13:23:29,836 - api.main - INFO - STDERR: import 'operator' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F6BEF10> +2024-11-30 13:23:29,841 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\reprlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\reprlib.py +2024-11-30 13:23:29,841 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\reprlib.cpython-39.pyc' +2024-11-30 13:23:29,842 - api.main - INFO - STDERR: import 'reprlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F6D0160> +2024-11-30 13:23:29,842 - api.main - INFO - STDERR: import '_collections' # +2024-11-30 13:23:29,843 - api.main - INFO - STDERR: import 'collections' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F699EE0> +2024-11-30 13:23:29,843 - api.main - INFO - STDERR: import '_functools' # +2024-11-30 13:23:29,844 - api.main - INFO - STDERR: import 'functools' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F691790> +2024-11-30 13:23:29,848 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\copyreg.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\copyreg.py +2024-11-30 13:23:29,848 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\copyreg.cpython-39.pyc' +2024-11-30 13:23:29,848 - api.main - INFO - STDERR: import 'copyreg' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F6A6730> +2024-11-30 13:23:29,850 - api.main - INFO - STDERR: import 're' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F64E580> +2024-11-30 13:23:29,851 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\traceback.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\traceback.py +2024-11-30 13:23:29,852 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\traceback.cpython-39.pyc' +2024-11-30 13:23:29,862 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\linecache.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\linecache.py +2024-11-30 13:23:29,863 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\linecache.cpython-39.pyc' +2024-11-30 13:23:29,867 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tokenize.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tokenize.py +2024-11-30 13:23:29,867 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tokenize.cpython-39.pyc' +2024-11-30 13:23:29,876 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\token.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\token.py +2024-11-30 13:23:29,876 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\token.cpython-39.pyc' +2024-11-30 13:23:29,877 - api.main - INFO - STDERR: import 'token' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F6D3F40> +2024-11-30 13:23:29,878 - api.main - INFO - STDERR: import 'tokenize' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F6D3550> +2024-11-30 13:23:29,878 - api.main - INFO - STDERR: import 'linecache' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F6D0A90> +2024-11-30 13:23:29,878 - api.main - INFO - STDERR: import 'traceback' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F6A6340> +2024-11-30 13:23:29,879 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\warnings.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\warnings.py +2024-11-30 13:23:29,880 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\warnings.cpython-39.pyc' +2024-11-30 13:23:29,880 - api.main - INFO - STDERR: import 'warnings' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F6D0910> +2024-11-30 13:23:29,881 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\weakref.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\weakref.py +2024-11-30 13:23:29,881 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\weakref.cpython-39.pyc' +2024-11-30 13:23:29,882 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_weakrefset.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_weakrefset.py +2024-11-30 13:23:29,882 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_weakrefset.cpython-39.pyc' +2024-11-30 13:23:29,882 - api.main - INFO - STDERR: import '_weakrefset' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F715D90> +2024-11-30 13:23:29,882 - api.main - INFO - STDERR: import 'weakref' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F6D9760> +2024-11-30 13:23:29,883 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\abc.py +2024-11-30 13:23:29,883 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\collections\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 13:23:29,883 - api.main - INFO - STDERR: import 'collections.abc' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F71EA30> +2024-11-30 13:23:29,884 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\string.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\string.py +2024-11-30 13:23:29,884 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\string.cpython-39.pyc' +2024-11-30 13:23:29,884 - api.main - INFO - STDERR: import '_string' # +2024-11-30 13:23:29,884 - api.main - INFO - STDERR: import 'string' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F71EB20> +2024-11-30 13:23:29,887 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\threading.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\threading.py +2024-11-30 13:23:29,887 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\threading.cpython-39.pyc' +2024-11-30 13:23:29,887 - api.main - INFO - STDERR: import 'threading' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F72A130> +2024-11-30 13:23:29,889 - api.main - INFO - STDERR: import 'atexit' # +2024-11-30 13:23:29,889 - api.main - INFO - STDERR: import 'logging' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F424190> +2024-11-30 13:23:29,890 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\random.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\random.py +2024-11-30 13:23:29,891 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\random.cpython-39.pyc' +2024-11-30 13:23:29,891 - api.main - INFO - STDERR: import 'math' # +2024-11-30 13:23:29,892 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\bisect.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\bisect.py +2024-11-30 13:23:29,892 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\bisect.cpython-39.pyc' +2024-11-30 13:23:29,892 - api.main - INFO - STDERR: import '_bisect' # +2024-11-30 13:23:29,892 - api.main - INFO - STDERR: import 'bisect' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F74BF40> +2024-11-30 13:23:29,892 - api.main - INFO - STDERR: import '_random' # +2024-11-30 13:23:29,892 - api.main - INFO - STDERR: import '_sha512' # +2024-11-30 13:23:29,892 - api.main - INFO - STDERR: import 'random' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F415130> +2024-11-30 13:23:29,892 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\datetime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\datetime.py +2024-11-30 13:23:29,894 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\datetime.cpython-39.pyc' +2024-11-30 13:23:29,894 - api.main - INFO - STDERR: import '_datetime' # +2024-11-30 13:23:29,894 - api.main - INFO - STDERR: import 'datetime' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F764190> +2024-11-30 13:23:29,895 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__init__.py +2024-11-30 13:23:29,895 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:29,896 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\initialise.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\initialise.py +2024-11-30 13:23:29,896 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\initialise.cpython-39.pyc' +2024-11-30 13:23:29,897 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\contextlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\contextlib.py +2024-11-30 13:23:29,897 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\contextlib.cpython-39.pyc' +2024-11-30 13:23:29,897 - api.main - INFO - STDERR: import 'contextlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F78FBB0> +2024-11-30 13:23:29,898 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\ansitowin32.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\ansitowin32.py +2024-11-30 13:23:29,898 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\ansitowin32.cpython-39.pyc' +2024-11-30 13:23:29,898 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\ansi.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\ansi.py +2024-11-30 13:23:29,898 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\ansi.cpython-39.pyc' +2024-11-30 13:23:29,898 - api.main - INFO - STDERR: import 'colorama.ansi' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F79F730> +2024-11-30 13:23:29,899 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\winterm.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\winterm.py +2024-11-30 13:23:29,899 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\winterm.cpython-39.pyc' +2024-11-30 13:23:29,899 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\win32.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\win32.py +2024-11-30 13:23:29,899 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\win32.cpython-39.pyc' +2024-11-30 13:23:29,900 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__init__.py +2024-11-30 13:23:29,900 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:29,907 - api.main - INFO - STDERR: # extension module '_ctypes' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ctypes.pyd' +2024-11-30 13:23:29,907 - api.main - INFO - STDERR: # extension module '_ctypes' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ctypes.pyd' +2024-11-30 13:23:29,908 - api.main - INFO - STDERR: import '_ctypes' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000002078F7BF7C0> +2024-11-30 13:23:29,908 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\struct.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\struct.py +2024-11-30 13:23:29,908 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\struct.cpython-39.pyc' +2024-11-30 13:23:29,908 - api.main - INFO - STDERR: import '_struct' # +2024-11-30 13:23:29,908 - api.main - INFO - STDERR: import 'struct' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F7BFCA0> +2024-11-30 13:23:29,910 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\_endian.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\_endian.py +2024-11-30 13:23:29,910 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\_endian.cpython-39.pyc' +2024-11-30 13:23:29,910 - api.main - INFO - STDERR: import 'ctypes._endian' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F7D1A00> +2024-11-30 13:23:29,911 - api.main - INFO - STDERR: import 'ctypes' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F7B4520> +2024-11-30 13:23:29,911 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\wintypes.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\wintypes.py +2024-11-30 13:23:29,911 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\wintypes.cpython-39.pyc' +2024-11-30 13:23:29,912 - api.main - INFO - STDERR: import 'ctypes.wintypes' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F7B4970> +2024-11-30 13:23:29,912 - api.main - INFO - STDERR: import 'colorama.win32' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F78F2E0> +2024-11-30 13:23:29,912 - api.main - INFO - STDERR: import 'colorama.winterm' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F79FD30> +2024-11-30 13:23:29,913 - api.main - INFO - STDERR: import 'colorama.ansitowin32' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F78FF10> +2024-11-30 13:23:29,913 - api.main - INFO - STDERR: import 'colorama.initialise' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F78F940> +2024-11-30 13:23:29,913 - api.main - INFO - STDERR: import 'colorama' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F764220> +2024-11-30 13:23:29,913 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\config.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\config.py +2024-11-30 13:23:29,913 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\config.cpython-39.pyc' +2024-11-30 13:23:29,914 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\typing.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\typing.py +2024-11-30 13:23:29,915 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\typing.cpython-39.pyc' +2024-11-30 13:23:29,916 - api.main - INFO - STDERR: import 'typing' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F7D1FA0> +2024-11-30 13:23:29,916 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\configargparse.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\configargparse.py +2024-11-30 13:23:29,916 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\configargparse.cpython-39.pyc' +2024-11-30 13:23:29,917 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\argparse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\argparse.py +2024-11-30 13:23:29,919 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\argparse.cpython-39.pyc' +2024-11-30 13:23:29,920 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\gettext.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\gettext.py +2024-11-30 13:23:29,920 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\gettext.cpython-39.pyc' +2024-11-30 13:23:29,921 - api.main - INFO - STDERR: import 'gettext' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F764AC0> +2024-11-30 13:23:29,921 - api.main - INFO - STDERR: import 'argparse' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207911E2FD0> +2024-11-30 13:23:29,922 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__init__.py +2024-11-30 13:23:29,922 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:29,923 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\decoder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\decoder.py +2024-11-30 13:23:29,923 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\decoder.cpython-39.pyc' +2024-11-30 13:23:29,924 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\scanner.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\scanner.py +2024-11-30 13:23:29,924 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\scanner.cpython-39.pyc' +2024-11-30 13:23:29,924 - api.main - INFO - STDERR: import '_json' # +2024-11-30 13:23:29,924 - api.main - INFO - STDERR: import 'json.scanner' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F6D37C0> +2024-11-30 13:23:29,924 - api.main - INFO - STDERR: import 'json.decoder' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F77E070> +2024-11-30 13:23:29,925 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\encoder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\encoder.py +2024-11-30 13:23:29,925 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\encoder.cpython-39.pyc' +2024-11-30 13:23:29,925 - api.main - INFO - STDERR: import 'json.encoder' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F77ED60> +2024-11-30 13:23:29,925 - api.main - INFO - STDERR: import 'json' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F776C40> +2024-11-30 13:23:29,926 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\glob.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\glob.py +2024-11-30 13:23:29,926 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\glob.cpython-39.pyc' +2024-11-30 13:23:29,927 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\fnmatch.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\fnmatch.py +2024-11-30 13:23:29,927 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\fnmatch.cpython-39.pyc' +2024-11-30 13:23:29,928 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\posixpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\posixpath.py +2024-11-30 13:23:29,928 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\posixpath.cpython-39.pyc' +2024-11-30 13:23:29,928 - api.main - INFO - STDERR: import 'posixpath' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791222790> +2024-11-30 13:23:29,928 - api.main - INFO - STDERR: import 'fnmatch' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791222430> +2024-11-30 13:23:29,928 - api.main - INFO - STDERR: import 'glob' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207911FAC10> +2024-11-30 13:23:29,929 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\textwrap.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\textwrap.py +2024-11-30 13:23:29,929 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\textwrap.cpython-39.pyc' +2024-11-30 13:23:29,930 - api.main - INFO - STDERR: import 'textwrap' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207912225E0> +2024-11-30 13:23:29,930 - api.main - INFO - STDERR: import 'configargparse' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F7F18E0> +2024-11-30 13:23:29,931 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__init__.py +2024-11-30 13:23:29,931 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:29,932 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\error.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\error.py +2024-11-30 13:23:29,932 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\error.cpython-39.pyc' +2024-11-30 13:23:29,932 - api.main - INFO - STDERR: import 'yaml.error' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791235D30> +2024-11-30 13:23:29,932 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\tokens.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\tokens.py +2024-11-30 13:23:29,932 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\tokens.cpython-39.pyc' +2024-11-30 13:23:29,932 - api.main - INFO - STDERR: import 'yaml.tokens' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791235EE0> +2024-11-30 13:23:29,933 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\events.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\events.py +2024-11-30 13:23:29,933 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\events.cpython-39.pyc' +2024-11-30 13:23:29,933 - api.main - INFO - STDERR: import 'yaml.events' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079123D1F0> +2024-11-30 13:23:29,933 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\nodes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\nodes.py +2024-11-30 13:23:29,933 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\nodes.cpython-39.pyc' +2024-11-30 13:23:29,933 - api.main - INFO - STDERR: import 'yaml.nodes' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079123DA00> +2024-11-30 13:23:29,933 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\loader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\loader.py +2024-11-30 13:23:29,933 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\loader.cpython-39.pyc' +2024-11-30 13:23:29,933 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\reader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\reader.py +2024-11-30 13:23:29,933 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\reader.cpython-39.pyc' +2024-11-30 13:23:29,938 - api.main - INFO - STDERR: import 'yaml.reader' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079124C370> +2024-11-30 13:23:29,939 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\scanner.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\scanner.py +2024-11-30 13:23:29,939 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\scanner.cpython-39.pyc' +2024-11-30 13:23:29,939 - api.main - INFO - STDERR: import 'yaml.scanner' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079124C700> +2024-11-30 13:23:29,939 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\parser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\parser.py +2024-11-30 13:23:29,939 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\parser.cpython-39.pyc' +2024-11-30 13:23:29,939 - api.main - INFO - STDERR: import 'yaml.parser' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791256280> +2024-11-30 13:23:29,940 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\composer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\composer.py +2024-11-30 13:23:29,940 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\composer.cpython-39.pyc' +2024-11-30 13:23:29,940 - api.main - INFO - STDERR: import 'yaml.composer' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791256940> +2024-11-30 13:23:29,941 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\constructor.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\constructor.py +2024-11-30 13:23:29,941 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\constructor.cpython-39.pyc' +2024-11-30 13:23:29,942 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\base64.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\base64.py +2024-11-30 13:23:29,942 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\base64.cpython-39.pyc' +2024-11-30 13:23:29,942 - api.main - INFO - STDERR: import 'binascii' # +2024-11-30 13:23:29,942 - api.main - INFO - STDERR: import 'base64' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079126CBB0> +2024-11-30 13:23:29,943 - api.main - INFO - STDERR: import 'yaml.constructor' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791256C10> +2024-11-30 13:23:29,944 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\resolver.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\resolver.py +2024-11-30 13:23:29,944 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\resolver.cpython-39.pyc' +2024-11-30 13:23:29,946 - api.main - INFO - STDERR: import 'yaml.resolver' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079126C8B0> +2024-11-30 13:23:29,946 - api.main - INFO - STDERR: import 'yaml.loader' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079123DF40> +2024-11-30 13:23:29,946 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\dumper.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\dumper.py +2024-11-30 13:23:29,946 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\dumper.cpython-39.pyc' +2024-11-30 13:23:29,946 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\emitter.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\emitter.py +2024-11-30 13:23:29,946 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\emitter.cpython-39.pyc' +2024-11-30 13:23:29,946 - api.main - INFO - STDERR: import 'yaml.emitter' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079127BBB0> +2024-11-30 13:23:29,947 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\serializer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\serializer.py +2024-11-30 13:23:29,947 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\serializer.cpython-39.pyc' +2024-11-30 13:23:29,947 - api.main - INFO - STDERR: import 'yaml.serializer' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207912985B0> +2024-11-30 13:23:29,947 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\representer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\representer.py +2024-11-30 13:23:29,947 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\representer.cpython-39.pyc' +2024-11-30 13:23:29,947 - api.main - INFO - STDERR: import 'yaml.representer' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791298850> +2024-11-30 13:23:29,947 - api.main - INFO - STDERR: import 'yaml.dumper' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079124C160> +2024-11-30 13:23:29,948 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\cyaml.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\cyaml.py +2024-11-30 13:23:29,948 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\cyaml.cpython-39.pyc' +2024-11-30 13:23:29,949 - api.main - INFO - STDERR: # extension module 'yaml._yaml' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\_yaml.cp39-win_amd64.pyd' +2024-11-30 13:23:29,949 - api.main - INFO - STDERR: # extension module 'yaml._yaml' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\_yaml.cp39-win_amd64.pyd' +2024-11-30 13:23:29,949 - api.main - INFO - STDERR: import 'yaml._yaml' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000207912A9460> +2024-11-30 13:23:29,949 - api.main - INFO - STDERR: import 'yaml.cyaml' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079123D340> +2024-11-30 13:23:29,949 - api.main - INFO - STDERR: import 'yaml' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791222F70> +2024-11-30 13:23:29,949 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\plugin_loader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\plugin_loader.py +2024-11-30 13:23:29,949 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\plugin_loader.cpython-39.pyc' +2024-11-30 13:23:29,951 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\inspect.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\inspect.py +2024-11-30 13:23:29,951 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\inspect.cpython-39.pyc' +2024-11-30 13:23:29,952 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ast.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ast.py +2024-11-30 13:23:29,952 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ast.cpython-39.pyc' +2024-11-30 13:23:29,953 - api.main - INFO - STDERR: import '_ast' # +2024-11-30 13:23:29,954 - api.main - INFO - STDERR: import 'ast' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207912E2AF0> +2024-11-30 13:23:29,954 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\dis.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\dis.py +2024-11-30 13:23:29,955 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\dis.cpython-39.pyc' +2024-11-30 13:23:29,955 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\opcode.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\opcode.py +2024-11-30 13:23:29,955 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\opcode.cpython-39.pyc' +2024-11-30 13:23:29,956 - api.main - INFO - STDERR: import '_opcode' # +2024-11-30 13:23:29,956 - api.main - INFO - STDERR: import 'opcode' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791323E20> +2024-11-30 13:23:29,956 - api.main - INFO - STDERR: import 'dis' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207912EC2E0> +2024-11-30 13:23:29,956 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__init__.py +2024-11-30 13:23:29,956 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:29,956 - api.main - INFO - STDERR: import 'importlib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791336DF0> +2024-11-30 13:23:29,957 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\machinery.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\machinery.py +2024-11-30 13:23:29,957 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\machinery.cpython-39.pyc' +2024-11-30 13:23:29,957 - api.main - INFO - STDERR: import 'importlib.machinery' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791336C40> +2024-11-30 13:23:29,958 - api.main - INFO - STDERR: import 'inspect' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207912A9AF0> +2024-11-30 13:23:29,959 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pkgutil.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pkgutil.py +2024-11-30 13:23:29,959 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pkgutil.cpython-39.pyc' +2024-11-30 13:23:29,959 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\util.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\util.py +2024-11-30 13:23:29,959 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\util.cpython-39.pyc' +2024-11-30 13:23:29,960 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\abc.py +2024-11-30 13:23:29,961 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 13:23:29,961 - api.main - INFO - STDERR: import 'importlib.abc' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207913595E0> +2024-11-30 13:23:29,961 - api.main - INFO - STDERR: import 'importlib.util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791349640> +2024-11-30 13:23:29,962 - api.main - INFO - STDERR: import 'pkgutil' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207912B5B20> +2024-11-30 13:23:29,962 - api.main - INFO - STDERR: import 'GramAddict.core.plugin_loader' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207912A9190> +2024-11-30 13:23:29,962 - api.main - INFO - STDERR: import 'GramAddict.core.config' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F764250> +2024-11-30 13:23:29,962 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\device_facade.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py +2024-11-30 13:23:29,962 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\device_facade.cpython-39.pyc' +2024-11-30 13:23:29,963 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\subprocess.py +2024-11-30 13:23:29,964 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\subprocess.cpython-39.pyc' +2024-11-30 13:23:29,964 - api.main - INFO - STDERR: import 'errno' # +2024-11-30 13:23:29,965 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\signal.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\signal.py +2024-11-30 13:23:29,965 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\signal.cpython-39.pyc' +2024-11-30 13:23:29,965 - api.main - INFO - STDERR: import 'signal' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791386A30> +2024-11-30 13:23:29,966 - api.main - INFO - STDERR: import 'msvcrt' # +2024-11-30 13:23:29,966 - api.main - INFO - STDERR: import '_winapi' # +2024-11-30 13:23:29,966 - api.main - INFO - STDERR: import 'subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791379910> +2024-11-30 13:23:29,967 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py +2024-11-30 13:23:29,967 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:29,968 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\__future__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__future__.py +2024-11-30 13:23:29,968 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\__future__.cpython-39.pyc' +2024-11-30 13:23:29,968 - api.main - INFO - STDERR: import '__future__' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207913B6E80> +2024-11-30 13:23:29,969 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\hashlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\hashlib.py +2024-11-30 13:23:29,969 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\hashlib.cpython-39.pyc' +2024-11-30 13:23:29,971 - api.main - INFO - STDERR: # extension module '_hashlib' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_hashlib.pyd' +2024-11-30 13:23:29,971 - api.main - INFO - STDERR: # extension module '_hashlib' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_hashlib.pyd' +2024-11-30 13:23:29,971 - api.main - INFO - STDERR: import '_hashlib' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000207913C39A0> +2024-11-30 13:23:29,971 - api.main - INFO - STDERR: import '_blake2' # +2024-11-30 13:23:29,971 - api.main - INFO - STDERR: import 'hashlib' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207913C3580> +2024-11-30 13:23:29,973 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\shutil.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\shutil.py +2024-11-30 13:23:29,973 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\shutil.cpython-39.pyc' +2024-11-30 13:23:29,973 - api.main - INFO - STDERR: import 'zlib' # +2024-11-30 13:23:29,975 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\bz2.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\bz2.py +2024-11-30 13:23:29,975 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\bz2.cpython-39.pyc' +2024-11-30 13:23:29,976 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_compression.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_compression.py +2024-11-30 13:23:29,976 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_compression.cpython-39.pyc' +2024-11-30 13:23:29,977 - api.main - INFO - STDERR: import '_compression' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207913F3370> +2024-11-30 13:23:29,978 - api.main - INFO - STDERR: # extension module '_bz2' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_bz2.pyd' +2024-11-30 13:23:29,978 - api.main - INFO - STDERR: # extension module '_bz2' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_bz2.pyd' +2024-11-30 13:23:29,978 - api.main - INFO - STDERR: import '_bz2' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000207913F38B0> +2024-11-30 13:23:29,979 - api.main - INFO - STDERR: import 'bz2' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207913E1B20> +2024-11-30 13:23:29,979 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\lzma.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\lzma.py +2024-11-30 13:23:29,979 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\lzma.cpython-39.pyc' +2024-11-30 13:23:29,980 - api.main - INFO - STDERR: # extension module '_lzma' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_lzma.pyd' +2024-11-30 13:23:29,981 - api.main - INFO - STDERR: # extension module '_lzma' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_lzma.pyd' +2024-11-30 13:23:29,981 - api.main - INFO - STDERR: import '_lzma' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000207913F3FA0> +2024-11-30 13:23:29,981 - api.main - INFO - STDERR: import 'lzma' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207913F37F0> +2024-11-30 13:23:29,982 - api.main - INFO - STDERR: import 'shutil' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207913C3C70> +2024-11-30 13:23:29,984 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\__init__.py +2024-11-30 13:23:29,984 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:29,984 - api.main - INFO - STDERR: import 'xml' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791400940> +2024-11-30 13:23:29,985 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__init__.py +2024-11-30 13:23:29,985 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:29,986 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\domreg.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\domreg.py +2024-11-30 13:23:29,986 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\domreg.cpython-39.pyc' +2024-11-30 13:23:29,986 - api.main - INFO - STDERR: import 'xml.dom.domreg' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791400EE0> +2024-11-30 13:23:29,986 - api.main - INFO - STDERR: import 'xml.dom' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207913E1040> +2024-11-30 13:23:29,986 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\minidom.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\minidom.py +2024-11-30 13:23:29,987 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\minidom.cpython-39.pyc' +2024-11-30 13:23:29,987 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\minicompat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\minicompat.py +2024-11-30 13:23:29,987 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\minicompat.cpython-39.pyc' +2024-11-30 13:23:29,987 - api.main - INFO - STDERR: import 'xml.dom.minicompat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207914564C0> +2024-11-30 13:23:29,988 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\xmlbuilder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\xmlbuilder.py +2024-11-30 13:23:29,988 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\xmlbuilder.cpython-39.pyc' +2024-11-30 13:23:29,989 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\copy.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\copy.py +2024-11-30 13:23:29,989 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\copy.cpython-39.pyc' +2024-11-30 13:23:29,990 - api.main - INFO - STDERR: import 'copy' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079145ECA0> +2024-11-30 13:23:29,991 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\NodeFilter.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\NodeFilter.py +2024-11-30 13:23:29,991 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\NodeFilter.cpython-39.pyc' +2024-11-30 13:23:29,991 - api.main - INFO - STDERR: import 'xml.dom.NodeFilter' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079145EFD0> +2024-11-30 13:23:29,991 - api.main - INFO - STDERR: import 'xml.dom.xmlbuilder' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791456940> +2024-11-30 13:23:29,991 - api.main - INFO - STDERR: import 'xml.dom.minidom' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207913C3550> +2024-11-30 13:23:29,992 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pathlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pathlib.py +2024-11-30 13:23:29,992 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pathlib.cpython-39.pyc' +2024-11-30 13:23:29,993 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__init__.py +2024-11-30 13:23:29,993 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:29,993 - api.main - INFO - STDERR: import 'urllib' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079148AD00> +2024-11-30 13:23:29,994 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\parse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\parse.py +2024-11-30 13:23:29,994 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\parse.cpython-39.pyc' +2024-11-30 13:23:29,994 - api.main - INFO - STDERR: import 'urllib.parse' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079148AD30> +2024-11-30 13:23:29,995 - api.main - INFO - STDERR: import 'pathlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079144C400> +2024-11-30 13:23:29,995 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__init__.py +2024-11-30 13:23:29,996 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:29,996 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\deprecation.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecation.py +2024-11-30 13:23:29,996 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\deprecation.cpython-39.pyc' +2024-11-30 13:23:29,997 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__init__.py +2024-11-30 13:23:29,997 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:29,997 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\__about__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__about__.py +2024-11-30 13:23:29,997 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\__about__.cpython-39.pyc' +2024-11-30 13:23:29,997 - api.main - INFO - STDERR: import 'packaging.__about__' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079140F790> +2024-11-30 13:23:29,997 - api.main - INFO - STDERR: import 'packaging' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079140F520> +2024-11-30 13:23:29,997 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\version.py +2024-11-30 13:23:29,998 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\version.cpython-39.pyc' +2024-11-30 13:23:29,998 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_structures.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_structures.py +2024-11-30 13:23:29,998 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_structures.cpython-39.pyc' +2024-11-30 13:23:29,998 - api.main - INFO - STDERR: import 'packaging._structures' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207914BD640> +2024-11-30 13:23:29,998 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_typing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_typing.py +2024-11-30 13:23:29,998 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_typing.cpython-39.pyc' +2024-11-30 13:23:29,998 - api.main - INFO - STDERR: import 'packaging._typing' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207914BDF10> +2024-11-30 13:23:30,001 - api.main - INFO - STDERR: import 'packaging.version' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079140F5B0> +2024-11-30 13:23:30,001 - api.main - INFO - STDERR: import 'deprecation' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079140F100> +2024-11-30 13:23:30,001 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_adb.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_adb.py +2024-11-30 13:23:30,001 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_adb.cpython-39.pyc' +2024-11-30 13:23:30,002 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\socket.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\socket.py +2024-11-30 13:23:30,002 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\socket.cpython-39.pyc' +2024-11-30 13:23:30,004 - api.main - INFO - STDERR: # extension module '_socket' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_socket.pyd' +2024-11-30 13:23:30,004 - api.main - INFO - STDERR: # extension module '_socket' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_socket.pyd' +2024-11-30 13:23:30,004 - api.main - INFO - STDERR: import '_socket' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000207914DAC40> +2024-11-30 13:23:30,005 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\selectors.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\selectors.py +2024-11-30 13:23:30,005 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\selectors.cpython-39.pyc' +2024-11-30 13:23:30,006 - api.main - INFO - STDERR: # extension module 'select' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\select.pyd' +2024-11-30 13:23:30,006 - api.main - INFO - STDERR: # extension module 'select' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\select.pyd' +2024-11-30 13:23:30,006 - api.main - INFO - STDERR: import 'select' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000207914EDE20> +2024-11-30 13:23:30,006 - api.main - INFO - STDERR: import 'selectors' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207914DAD90> +2024-11-30 13:23:30,008 - api.main - INFO - STDERR: import 'socket' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207914C4F40> +2024-11-30 13:23:30,008 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_utils.py +2024-11-30 13:23:30,008 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_utils.cpython-39.pyc' +2024-11-30 13:23:30,008 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\shlex.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\shlex.py +2024-11-30 13:23:30,008 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\shlex.cpython-39.pyc' +2024-11-30 13:23:30,009 - api.main - INFO - STDERR: import 'shlex' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207914F3D00> +2024-11-30 13:23:30,010 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tempfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tempfile.py +2024-11-30 13:23:30,010 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tempfile.cpython-39.pyc' +2024-11-30 13:23:30,010 - api.main - INFO - STDERR: import 'tempfile' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207914FC280> +2024-11-30 13:23:30,011 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\zipfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\zipfile.py +2024-11-30 13:23:30,011 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\zipfile.cpython-39.pyc' +2024-11-30 13:23:30,012 - api.main - INFO - STDERR: import 'zipfile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791526640> +2024-11-30 13:23:30,012 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\whichcraft.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\whichcraft.py +2024-11-30 13:23:30,012 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\whichcraft.cpython-39.pyc' +2024-11-30 13:23:30,012 - api.main - INFO - STDERR: import 'whichcraft' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791535D60> +2024-11-30 13:23:30,013 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__init__.py +2024-11-30 13:23:30,013 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,014 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\xmltodict.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\xmltodict.py +2024-11-30 13:23:30,014 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\xmltodict.cpython-39.pyc' +2024-11-30 13:23:30,014 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__init__.py +2024-11-30 13:23:30,015 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\parsers\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,015 - api.main - INFO - STDERR: import 'xml.parsers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791558790> +2024-11-30 13:23:30,015 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__pycache__\expat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\expat.py +2024-11-30 13:23:30,015 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\parsers\\__pycache__\\expat.cpython-39.pyc' +2024-11-30 13:23:30,017 - api.main - INFO - STDERR: # extension module 'pyexpat' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\pyexpat.pyd' +2024-11-30 13:23:30,017 - api.main - INFO - STDERR: # extension module 'pyexpat' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\pyexpat.pyd' +2024-11-30 13:23:30,017 - api.main - INFO - STDERR: import 'pyexpat' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000020791558AF0> +2024-11-30 13:23:30,017 - api.main - INFO - STDERR: import 'xml.parsers.expat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791558910> +2024-11-30 13:23:30,019 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__init__.py +2024-11-30 13:23:30,019 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,019 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\xmlreader.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\xmlreader.py +2024-11-30 13:23:30,019 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\xmlreader.cpython-39.pyc' +2024-11-30 13:23:30,020 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\handler.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\handler.py +2024-11-30 13:23:30,020 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\handler.cpython-39.pyc' +2024-11-30 13:23:30,020 - api.main - INFO - STDERR: import 'xml.sax.handler' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791571B20> +2024-11-30 13:23:30,021 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\_exceptions.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\_exceptions.py +2024-11-30 13:23:30,021 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\_exceptions.cpython-39.pyc' +2024-11-30 13:23:30,021 - api.main - INFO - STDERR: import 'xml.sax._exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791578520> +2024-11-30 13:23:30,021 - api.main - INFO - STDERR: import 'xml.sax.xmlreader' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791558F10> +2024-11-30 13:23:30,021 - api.main - INFO - STDERR: import 'xml.sax' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791558BB0> +2024-11-30 13:23:30,021 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\saxutils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\saxutils.py +2024-11-30 13:23:30,021 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\saxutils.cpython-39.pyc' +2024-11-30 13:23:30,022 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\request.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\request.py +2024-11-30 13:23:30,023 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\request.cpython-39.pyc' +2024-11-30 13:23:30,025 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__init__.py +2024-11-30 13:23:30,025 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,025 - api.main - INFO - STDERR: import 'email' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207915C25B0> +2024-11-30 13:23:30,026 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__init__.py +2024-11-30 13:23:30,026 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,027 - api.main - INFO - STDERR: import 'http' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207915C28B0> +2024-11-30 13:23:30,027 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\client.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\client.py +2024-11-30 13:23:30,028 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\client.cpython-39.pyc' +2024-11-30 13:23:30,028 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\parser.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\parser.py +2024-11-30 13:23:30,028 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\parser.cpython-39.pyc' +2024-11-30 13:23:30,029 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\feedparser.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\feedparser.py +2024-11-30 13:23:30,029 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\feedparser.cpython-39.pyc' +2024-11-30 13:23:30,029 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\errors.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\errors.py +2024-11-30 13:23:30,030 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 13:23:30,030 - api.main - INFO - STDERR: import 'email.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207915E5A00> +2024-11-30 13:23:30,030 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_policybase.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_policybase.py +2024-11-30 13:23:30,030 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_policybase.cpython-39.pyc' +2024-11-30 13:23:30,031 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\header.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\header.py +2024-11-30 13:23:30,031 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\header.cpython-39.pyc' +2024-11-30 13:23:30,031 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\quoprimime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\quoprimime.py +2024-11-30 13:23:30,032 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\quoprimime.cpython-39.pyc' +2024-11-30 13:23:30,032 - api.main - INFO - STDERR: import 'email.quoprimime' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207916036D0> +2024-11-30 13:23:30,032 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\base64mime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\base64mime.py +2024-11-30 13:23:30,032 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\base64mime.cpython-39.pyc' +2024-11-30 13:23:30,032 - api.main - INFO - STDERR: import 'email.base64mime' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791603BB0> +2024-11-30 13:23:30,033 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\charset.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\charset.py +2024-11-30 13:23:30,033 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\charset.cpython-39.pyc' +2024-11-30 13:23:30,033 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\encoders.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\encoders.py +2024-11-30 13:23:30,033 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\encoders.cpython-39.pyc' +2024-11-30 13:23:30,033 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\quopri.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\quopri.py +2024-11-30 13:23:30,034 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\quopri.cpython-39.pyc' +2024-11-30 13:23:30,034 - api.main - INFO - STDERR: import 'quopri' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791613790> +2024-11-30 13:23:30,034 - api.main - INFO - STDERR: import 'email.encoders' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207916133A0> +2024-11-30 13:23:30,034 - api.main - INFO - STDERR: import 'email.charset' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791603D90> +2024-11-30 13:23:30,035 - api.main - INFO - STDERR: import 'email.header' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207915F4E20> +2024-11-30 13:23:30,035 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\utils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\utils.py +2024-11-30 13:23:30,035 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 13:23:30,036 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_parseaddr.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_parseaddr.py +2024-11-30 13:23:30,036 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_parseaddr.cpython-39.pyc' +2024-11-30 13:23:30,037 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\calendar.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\calendar.py +2024-11-30 13:23:30,037 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\calendar.cpython-39.pyc' +2024-11-30 13:23:30,037 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\locale.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\locale.py +2024-11-30 13:23:30,038 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\locale.cpython-39.pyc' +2024-11-30 13:23:30,038 - api.main - INFO - STDERR: import 'locale' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079162DEB0> +2024-11-30 13:23:30,038 - api.main - INFO - STDERR: import 'calendar' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207916256A0> +2024-11-30 13:23:30,038 - api.main - INFO - STDERR: import 'email._parseaddr' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791613F70> +2024-11-30 13:23:30,039 - api.main - INFO - STDERR: import 'email.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207916131F0> +2024-11-30 13:23:30,039 - api.main - INFO - STDERR: import 'email._policybase' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207915E5AF0> +2024-11-30 13:23:30,040 - api.main - INFO - STDERR: import 'email.feedparser' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207915E5280> +2024-11-30 13:23:30,041 - api.main - INFO - STDERR: import 'email.parser' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207915DEB80> +2024-11-30 13:23:30,041 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\message.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\message.py +2024-11-30 13:23:30,041 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\message.cpython-39.pyc' +2024-11-30 13:23:30,042 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\uu.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\uu.py +2024-11-30 13:23:30,042 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\uu.cpython-39.pyc' +2024-11-30 13:23:30,043 - api.main - INFO - STDERR: import 'uu' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791670A90> +2024-11-30 13:23:30,043 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_encoded_words.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_encoded_words.py +2024-11-30 13:23:30,043 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_encoded_words.cpython-39.pyc' +2024-11-30 13:23:30,043 - api.main - INFO - STDERR: import 'email._encoded_words' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791670CD0> +2024-11-30 13:23:30,043 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\iterators.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\iterators.py +2024-11-30 13:23:30,043 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\iterators.cpython-39.pyc' +2024-11-30 13:23:30,043 - api.main - INFO - STDERR: import 'email.iterators' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079167C190> +2024-11-30 13:23:30,043 - api.main - INFO - STDERR: import 'email.message' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207915DEF40> +2024-11-30 13:23:30,045 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ssl.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ssl.py +2024-11-30 13:23:30,045 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ssl.cpython-39.pyc' +2024-11-30 13:23:30,047 - api.main - INFO - STDERR: # extension module '_ssl' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ssl.pyd' +2024-11-30 13:23:30,047 - api.main - INFO - STDERR: # extension module '_ssl' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ssl.pyd' +2024-11-30 13:23:30,048 - api.main - INFO - STDERR: import '_ssl' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000020791695580> +2024-11-30 13:23:30,049 - api.main - INFO - STDERR: import 'ssl' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079167C460> +2024-11-30 13:23:30,049 - api.main - INFO - STDERR: import 'http.client' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207915C29D0> +2024-11-30 13:23:30,050 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\error.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\error.py +2024-11-30 13:23:30,050 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\error.cpython-39.pyc' +2024-11-30 13:23:30,050 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\response.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\response.py +2024-11-30 13:23:30,050 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\response.cpython-39.pyc' +2024-11-30 13:23:30,052 - api.main - INFO - STDERR: import 'urllib.response' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207916EF460> +2024-11-30 13:23:30,052 - api.main - INFO - STDERR: import 'urllib.error' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207915DE3A0> +2024-11-30 13:23:30,053 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\nturl2path.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\nturl2path.py +2024-11-30 13:23:30,053 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\nturl2path.cpython-39.pyc' +2024-11-30 13:23:30,053 - api.main - INFO - STDERR: import 'nturl2path' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207916EFCD0> +2024-11-30 13:23:30,053 - api.main - INFO - STDERR: import 'urllib.request' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207915878B0> +2024-11-30 13:23:30,053 - api.main - INFO - STDERR: import 'xml.sax.saxutils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791558640> +2024-11-30 13:23:30,054 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\platform.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\platform.py +2024-11-30 13:23:30,059 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\platform.cpython-39.pyc' +2024-11-30 13:23:30,059 - api.main - INFO - STDERR: import 'platform' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207915876D0> +2024-11-30 13:23:30,059 - api.main - INFO - STDERR: import 'xmltodict' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791558220> +2024-11-30 13:23:30,059 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\apkfile.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\apkfile.py +2024-11-30 13:23:30,059 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\apkfile.cpython-39.pyc' +2024-11-30 13:23:30,059 - api.main - INFO - STDERR: import 'apkutils2.apkfile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791558580> +2024-11-30 13:23:30,059 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__init__.py +2024-11-30 13:23:30,059 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,059 - api.main - INFO - STDERR: import 'apkutils2.axml' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207917099D0> +2024-11-30 13:23:30,059 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\arscparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\arscparser.py +2024-11-30 13:23:30,059 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\arscparser.cpython-39.pyc' +2024-11-30 13:23:30,059 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\chunk.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\chunk.py +2024-11-30 13:23:30,060 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\chunk.cpython-39.pyc' +2024-11-30 13:23:30,060 - api.main - INFO - STDERR: import 'apkutils2.axml.chunk' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791733580> +2024-11-30 13:23:30,060 - api.main - INFO - STDERR: import 'apkutils2.axml.arscparser' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791713E80> +2024-11-30 13:23:30,060 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\axmlparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\axmlparser.py +2024-11-30 13:23:30,060 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\axmlparser.cpython-39.pyc' +2024-11-30 13:23:30,060 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\public.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\public.py +2024-11-30 13:23:30,060 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\public.cpython-39.pyc' +2024-11-30 13:23:30,060 - api.main - INFO - STDERR: import 'apkutils2.axml.public' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791B42820> +2024-11-30 13:23:30,060 - api.main - INFO - STDERR: import 'apkutils2.axml.axmlparser' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791728A00> +2024-11-30 13:23:30,060 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__init__.py +2024-11-30 13:23:30,060 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,060 - api.main - INFO - STDERR: import 'apkutils2.dex' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791B42910> +2024-11-30 13:23:30,062 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dexparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dexparser.py +2024-11-30 13:23:30,062 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dexparser.cpython-39.pyc' +2024-11-30 13:23:30,062 - api.main - INFO - STDERR: import 'array' # +2024-11-30 13:23:30,062 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\byteio.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\byteio.py +2024-11-30 13:23:30,062 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\byteio.cpython-39.pyc' +2024-11-30 13:23:30,062 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\util.py +2024-11-30 13:23:30,062 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\util.cpython-39.pyc' +2024-11-30 13:23:30,062 - api.main - INFO - STDERR: import 'apkutils2.dex.util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791B96EE0> +2024-11-30 13:23:30,063 - api.main - INFO - STDERR: import 'apkutils2.dex.byteio' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791B96550> +2024-11-30 13:23:30,063 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dalvik.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dalvik.py +2024-11-30 13:23:30,063 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dalvik.cpython-39.pyc' +2024-11-30 13:23:30,063 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dalvikformats.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dalvikformats.py +2024-11-30 13:23:30,063 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dalvikformats.cpython-39.pyc' +2024-11-30 13:23:30,063 - api.main - INFO - STDERR: import 'apkutils2.dex.dalvikformats' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791BA2370> +2024-11-30 13:23:30,063 - api.main - INFO - STDERR: import 'apkutils2.dex.dalvik' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791B96FD0> +2024-11-30 13:23:30,063 - api.main - INFO - STDERR: import 'apkutils2.dex.dexparser' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791B42940> +2024-11-30 13:23:30,063 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\manifest.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\manifest.py +2024-11-30 13:23:30,063 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\manifest.cpython-39.pyc' +2024-11-30 13:23:30,063 - api.main - INFO - STDERR: import 'apkutils2.manifest' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791B42E20> +2024-11-30 13:23:30,065 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cigam\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cigam\__init__.py +2024-11-30 13:23:30,065 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\cigam\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,065 - api.main - INFO - STDERR: import 'cigam' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791BA25E0> +2024-11-30 13:23:30,065 - api.main - INFO - STDERR: import 'apkutils2' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791549B80> +2024-11-30 13:23:30,066 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pkg_resources\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pkg_resources\__init__.py +2024-11-30 13:23:30,066 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pkg_resources\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,067 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\plistlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\plistlib.py +2024-11-30 13:23:30,067 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\plistlib.cpython-39.pyc' +2024-11-30 13:23:30,068 - api.main - INFO - STDERR: import 'plistlib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791BE56D0> +2024-11-30 13:23:30,068 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\markers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\markers.py +2024-11-30 13:23:30,069 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\markers.cpython-39.pyc' +2024-11-30 13:23:30,069 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__init__.py +2024-11-30 13:23:30,069 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,070 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\util.py +2024-11-30 13:23:30,070 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\util.cpython-39.pyc' +2024-11-30 13:23:30,070 - api.main - INFO - STDERR: import 'pyparsing.util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791BFCC70> +2024-11-30 13:23:30,070 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\exceptions.py +2024-11-30 13:23:30,070 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 13:23:30,071 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\unicode.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\unicode.py +2024-11-30 13:23:30,071 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\unicode.cpython-39.pyc' +2024-11-30 13:23:30,071 - api.main - INFO - STDERR: import 'pyparsing.unicode' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791C0D910> +2024-11-30 13:23:30,073 - api.main - INFO - STDERR: import 'pyparsing.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791C07D00> +2024-11-30 13:23:30,073 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\actions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\actions.py +2024-11-30 13:23:30,074 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\actions.cpython-39.pyc' +2024-11-30 13:23:30,074 - api.main - INFO - STDERR: import 'pyparsing.actions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791C0D4F0> +2024-11-30 13:23:30,074 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\core.py +2024-11-30 13:23:30,076 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\core.cpython-39.pyc' +2024-11-30 13:23:30,076 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\results.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\results.py +2024-11-30 13:23:30,076 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\results.cpython-39.pyc' +2024-11-30 13:23:30,078 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pprint.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pprint.py +2024-11-30 13:23:30,078 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pprint.cpython-39.pyc' +2024-11-30 13:23:30,078 - api.main - INFO - STDERR: import 'pprint' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791C9C8E0> +2024-11-30 13:23:30,078 - api.main - INFO - STDERR: import 'pyparsing.results' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791C90820> +2024-11-30 13:23:30,085 - api.main - INFO - STDERR: import 'pyparsing.core' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791C2B2E0> +2024-11-30 13:23:30,086 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\helpers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\helpers.py +2024-11-30 13:23:30,086 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\helpers.cpython-39.pyc' +2024-11-30 13:23:30,087 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__init__.py +2024-11-30 13:23:30,087 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\html\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,088 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__pycache__\entities.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\entities.py +2024-11-30 13:23:30,089 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\html\\__pycache__\\entities.cpython-39.pyc' +2024-11-30 13:23:30,089 - api.main - INFO - STDERR: import 'html.entities' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791D8EC10> +2024-11-30 13:23:30,089 - api.main - INFO - STDERR: import 'html' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791D8E970> +2024-11-30 13:23:30,093 - api.main - INFO - STDERR: import 'pyparsing.helpers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791C2BF10> +2024-11-30 13:23:30,093 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\testing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\testing.py +2024-11-30 13:23:30,093 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\testing.cpython-39.pyc' +2024-11-30 13:23:30,093 - api.main - INFO - STDERR: import 'pyparsing.testing' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791E21EB0> +2024-11-30 13:23:30,094 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\common.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\common.py +2024-11-30 13:23:30,094 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\common.cpython-39.pyc' +2024-11-30 13:23:30,098 - api.main - INFO - STDERR: import 'pyparsing.common' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791E4D4C0> +2024-11-30 13:23:30,098 - api.main - INFO - STDERR: import 'pyparsing' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791BFC6D0> +2024-11-30 13:23:30,099 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_compat.py +2024-11-30 13:23:30,099 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_compat.cpython-39.pyc' +2024-11-30 13:23:30,099 - api.main - INFO - STDERR: import 'packaging._compat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791BFCEE0> +2024-11-30 13:23:30,099 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\specifiers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\specifiers.py +2024-11-30 13:23:30,099 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\specifiers.cpython-39.pyc' +2024-11-30 13:23:30,099 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\utils.py +2024-11-30 13:23:30,099 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 13:23:30,100 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\tags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\tags.py +2024-11-30 13:23:30,100 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\tags.cpython-39.pyc' +2024-11-30 13:23:30,101 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\__init__.py +2024-11-30 13:23:30,101 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,101 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__pycache__\override.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\override.py +2024-11-30 13:23:30,101 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\_distutils_hack\\__pycache__\\override.cpython-39.pyc' +2024-11-30 13:23:30,102 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__init__.py +2024-11-30 13:23:30,102 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,103 - api.main - INFO - STDERR: import 'setuptools._distutils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791EA14C0> +2024-11-30 13:23:30,103 - api.main - INFO - STDERR: import 'distutils' # <_distutils_hack.DistutilsMetaFinder.spec_for_distutils..DistutilsLoader object at 0x0000020791EA12B0> +2024-11-30 13:23:30,103 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\core.py +2024-11-30 13:23:30,103 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\core.cpython-39.pyc' +2024-11-30 13:23:30,103 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\cmd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\cmd.py +2024-11-30 13:23:30,103 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\cmd.cpython-39.pyc' +2024-11-30 13:23:30,104 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\_modified.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\_modified.py +2024-11-30 13:23:30,104 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\_modified.cpython-39.pyc' +2024-11-30 13:23:30,104 - api.main - INFO - STDERR: # possible namespace for e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco +2024-11-30 13:23:30,105 - api.main - INFO - STDERR: import 'jaraco' # <_frozen_importlib_external._NamespaceLoader object at 0x0000020791EB57C0> +2024-11-30 13:23:30,105 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\functools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\functools\__init__.py +2024-11-30 13:23:30,105 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\functools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,106 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__init__.py +2024-11-30 13:23:30,106 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,106 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\more.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\more.py +2024-11-30 13:23:30,107 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\more.cpython-39.pyc' +2024-11-30 13:23:30,108 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\queue.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\queue.py +2024-11-30 13:23:30,108 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\queue.cpython-39.pyc' +2024-11-30 13:23:30,109 - api.main - INFO - STDERR: # extension module '_queue' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_queue.pyd' +2024-11-30 13:23:30,109 - api.main - INFO - STDERR: # extension module '_queue' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_queue.pyd' +2024-11-30 13:23:30,110 - api.main - INFO - STDERR: import '_queue' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000020791EEA9D0> +2024-11-30 13:23:30,110 - api.main - INFO - STDERR: import 'queue' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791EDFD00> +2024-11-30 13:23:30,110 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\recipes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\recipes.py +2024-11-30 13:23:30,110 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\recipes.cpython-39.pyc' +2024-11-30 13:23:30,110 - api.main - INFO - STDERR: import 'more_itertools.recipes' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791EEA940> +2024-11-30 13:23:30,110 - api.main - INFO - STDERR: import 'more_itertools.more' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791EBCBE0> +2024-11-30 13:23:30,110 - api.main - INFO - STDERR: import 'more_itertools' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791EBC940> +2024-11-30 13:23:30,110 - api.main - INFO - STDERR: import 'jaraco.functools' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791EB59D0> +2024-11-30 13:23:30,111 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__init__.py +2024-11-30 13:23:30,111 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,111 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\py38.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\py38.py +2024-11-30 13:23:30,111 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\py38.cpython-39.pyc' +2024-11-30 13:23:30,111 - api.main - INFO - STDERR: import 'distutils.compat.py38' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791F18370> +2024-11-30 13:23:30,111 - api.main - INFO - STDERR: import 'distutils.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791EF5FD0> +2024-11-30 13:23:30,111 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\py39.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\py39.py +2024-11-30 13:23:30,112 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\py39.cpython-39.pyc' +2024-11-30 13:23:30,142 - api.main - INFO - STDERR: import 'distutils.compat.py39' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791ED5DF0> +2024-11-30 13:23:30,143 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\errors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\errors.py +2024-11-30 13:23:30,143 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 13:23:30,143 - api.main - INFO - STDERR: import 'distutils.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791F184F0> +2024-11-30 13:23:30,143 - api.main - INFO - STDERR: import 'distutils._modified' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791EB5370> +2024-11-30 13:23:30,143 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\archive_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\archive_util.py +2024-11-30 13:23:30,143 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\archive_util.cpython-39.pyc' +2024-11-30 13:23:30,143 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\_log.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\_log.py +2024-11-30 13:23:30,143 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\_log.cpython-39.pyc' +2024-11-30 13:23:30,143 - api.main - INFO - STDERR: import 'distutils._log' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791F18C40> +2024-11-30 13:23:30,143 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\dir_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\dir_util.py +2024-11-30 13:23:30,143 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\dir_util.cpython-39.pyc' +2024-11-30 13:23:30,144 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\file_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\file_util.py +2024-11-30 13:23:30,144 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\file_util.cpython-39.pyc' +2024-11-30 13:23:30,144 - api.main - INFO - STDERR: import 'distutils.file_util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791F26340> +2024-11-30 13:23:30,144 - api.main - INFO - STDERR: import 'distutils.dir_util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791F18CD0> +2024-11-30 13:23:30,144 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\spawn.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\spawn.py +2024-11-30 13:23:30,144 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\spawn.cpython-39.pyc' +2024-11-30 13:23:30,144 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\debug.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\debug.py +2024-11-30 13:23:30,144 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\debug.cpython-39.pyc' +2024-11-30 13:23:30,145 - api.main - INFO - STDERR: import 'distutils.debug' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791F269D0> +2024-11-30 13:23:30,145 - api.main - INFO - STDERR: import 'distutils.spawn' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791F26670> +2024-11-30 13:23:30,146 - api.main - INFO - STDERR: import 'distutils.archive_util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791EB5610> +2024-11-30 13:23:30,146 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\util.py +2024-11-30 13:23:30,146 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\util.cpython-39.pyc' +2024-11-30 13:23:30,147 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sysconfig.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sysconfig.py +2024-11-30 13:23:30,147 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sysconfig.cpython-39.pyc' +2024-11-30 13:23:30,147 - api.main - INFO - STDERR: import 'sysconfig' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791F26EB0> +2024-11-30 13:23:30,147 - api.main - INFO - STDERR: import 'distutils.util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791F18640> +2024-11-30 13:23:30,147 - api.main - INFO - STDERR: import 'distutils.cmd' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791EA1910> +2024-11-30 13:23:30,148 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\dist.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\dist.py +2024-11-30 13:23:30,148 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\dist.cpython-39.pyc' +2024-11-30 13:23:30,148 - api.main - INFO - STDERR: # destroy distutils.dist +2024-11-30 13:23:30,148 - api.main - INFO - STDERR: # destroy distutils.core +2024-11-30 13:23:30,148 - api.main - INFO - STDERR: # destroy _distutils_hack.override +2024-11-30 13:23:30,148 - api.main - INFO - STDERR: # destroy setuptools +2024-11-30 13:23:30,149 - api.main - INFO - STDERR: import 'distutils' # <_distutils_hack.DistutilsMetaFinder.spec_for_distutils..DistutilsLoader object at 0x0000020791EA12B0> +2024-11-30 13:23:30,150 - api.main - INFO - STDERR: import 'packaging.tags' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791E89550> +2024-11-30 13:23:30,150 - api.main - INFO - STDERR: import 'packaging.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791E892B0> +2024-11-30 13:23:30,155 - api.main - INFO - STDERR: import 'packaging.specifiers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791E75E50> +2024-11-30 13:23:30,156 - api.main - INFO - STDERR: import 'packaging.markers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791BEBB20> +2024-11-30 13:23:30,156 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\requirements.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\requirements.py +2024-11-30 13:23:30,157 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\requirements.cpython-39.pyc' +2024-11-30 13:23:30,165 - api.main - INFO - STDERR: import 'packaging.requirements' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791BEBD30> +2024-11-30 13:23:30,165 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\text\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\text\__init__.py +2024-11-30 13:23:30,165 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\text\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,166 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\resources.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\resources.py +2024-11-30 13:23:30,166 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\resources.cpython-39.pyc' +2024-11-30 13:23:30,166 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\_common.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\_common.py +2024-11-30 13:23:30,166 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\_common.cpython-39.pyc' +2024-11-30 13:23:30,168 - api.main - INFO - STDERR: import 'importlib._common' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791F904F0> +2024-11-30 13:23:30,168 - api.main - INFO - STDERR: import 'importlib.resources' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791EA0DF0> +2024-11-30 13:23:30,168 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\__pycache__\context.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\context.py +2024-11-30 13:23:30,168 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\__pycache__\\context.cpython-39.pyc' +2024-11-30 13:23:30,169 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\__init__.py +2024-11-30 13:23:30,169 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,169 - api.main - INFO - STDERR: import 'backports' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791F971C0> +2024-11-30 13:23:30,170 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\__init__.py +2024-11-30 13:23:30,170 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,171 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__init__.py +2024-11-30 13:23:30,171 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\compat\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,171 - api.main - INFO - STDERR: import 'backports.tarfile.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791F4D1F0> +2024-11-30 13:23:30,171 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__pycache__\py38.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\py38.py +2024-11-30 13:23:30,171 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\compat\\__pycache__\\py38.cpython-39.pyc' +2024-11-30 13:23:30,171 - api.main - INFO - STDERR: import 'backports.tarfile.compat.py38' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791EA0100> +2024-11-30 13:23:30,173 - api.main - INFO - STDERR: import 'backports.tarfile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791F97340> +2024-11-30 13:23:30,173 - api.main - INFO - STDERR: import 'jaraco.context' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791F90A30> +2024-11-30 13:23:30,174 - api.main - INFO - STDERR: import 'jaraco.text' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791EA1220> +2024-11-30 13:23:30,175 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__init__.py +2024-11-30 13:23:30,175 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,175 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\api.py +2024-11-30 13:23:30,175 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\api.cpython-39.pyc' +2024-11-30 13:23:30,175 - api.main - INFO - STDERR: import 'platformdirs.api' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791FCB7C0> +2024-11-30 13:23:30,176 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\version.py +2024-11-30 13:23:30,176 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\version.cpython-39.pyc' +2024-11-30 13:23:30,176 - api.main - INFO - STDERR: import 'platformdirs.version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791FD2A30> +2024-11-30 13:23:30,176 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\windows.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\windows.py +2024-11-30 13:23:30,176 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\windows.cpython-39.pyc' +2024-11-30 13:23:30,176 - api.main - INFO - STDERR: import 'platformdirs.windows' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791FD2AC0> +2024-11-30 13:23:30,176 - api.main - INFO - STDERR: import 'platformdirs' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791FBE790> +2024-11-30 13:23:30,210 - api.main - INFO - STDERR: import 'pkg_resources' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791549970> +2024-11-30 13:23:30,211 - api.main - INFO - STDERR: import 'adbutils._utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207914DA520> +2024-11-30 13:23:30,211 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\errors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\errors.py +2024-11-30 13:23:30,211 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 13:23:30,211 - api.main - INFO - STDERR: import 'adbutils.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207914FC670> +2024-11-30 13:23:30,211 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_proto.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_proto.py +2024-11-30 13:23:30,211 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_proto.cpython-39.pyc' +2024-11-30 13:23:30,212 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\dataclasses.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\dataclasses.py +2024-11-30 13:23:30,212 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\dataclasses.cpython-39.pyc' +2024-11-30 13:23:30,212 - api.main - INFO - STDERR: import 'dataclasses' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791BBA0D0> +2024-11-30 13:23:30,215 - api.main - INFO - STDERR: import 'adbutils._proto' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791BB4520> +2024-11-30 13:23:30,215 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_version.py +2024-11-30 13:23:30,215 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 13:23:30,216 - api.main - INFO - STDERR: import 'adbutils._version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791BB4700> +2024-11-30 13:23:30,216 - api.main - INFO - STDERR: import 'adbutils._adb' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079140F370> +2024-11-30 13:23:30,216 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_device.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_device.py +2024-11-30 13:23:30,216 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_device.cpython-39.pyc' +2024-11-30 13:23:30,217 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__init__.py +2024-11-30 13:23:30,217 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,219 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__init__.py +2024-11-30 13:23:30,219 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,219 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\exceptions.py +2024-11-30 13:23:30,219 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 13:23:30,219 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__init__.py +2024-11-30 13:23:30,219 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\packages\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,219 - api.main - INFO - STDERR: import 'urllib3.packages' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207920697C0> +2024-11-30 13:23:30,219 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__pycache__\six.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\six.py +2024-11-30 13:23:30,220 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\packages\\__pycache__\\six.cpython-39.pyc' +2024-11-30 13:23:30,221 - api.main - INFO - STDERR: import 'urllib3.packages.six' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207920697F0> +2024-11-30 13:23:30,221 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves' # +2024-11-30 13:23:30,221 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.http_client' # +2024-11-30 13:23:30,221 - api.main - INFO - STDERR: import 'urllib3.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079205F700> +2024-11-30 13:23:30,222 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\_version.py +2024-11-30 13:23:30,222 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 13:23:30,222 - api.main - INFO - STDERR: import 'urllib3._version' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079205F8E0> +2024-11-30 13:23:30,222 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\connectionpool.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\connectionpool.py +2024-11-30 13:23:30,222 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\connectionpool.cpython-39.pyc' +2024-11-30 13:23:30,222 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\_collections.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\_collections.py +2024-11-30 13:23:30,223 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\_collections.cpython-39.pyc' +2024-11-30 13:23:30,223 - api.main - INFO - STDERR: import 'urllib3._collections' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207920746D0> +2024-11-30 13:23:30,223 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\connection.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\connection.py +2024-11-30 13:23:30,224 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\connection.cpython-39.pyc' +2024-11-30 13:23:30,224 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__init__.py +2024-11-30 13:23:30,224 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,224 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\connection.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\connection.py +2024-11-30 13:23:30,225 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\connection.cpython-39.pyc' +2024-11-30 13:23:30,225 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__init__.py +2024-11-30 13:23:30,225 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,225 - api.main - INFO - STDERR: import 'urllib3.contrib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792093F40> +2024-11-30 13:23:30,225 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\_appengine_environ.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\_appengine_environ.py +2024-11-30 13:23:30,225 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\_appengine_environ.cpython-39.pyc' +2024-11-30 13:23:30,226 - api.main - INFO - STDERR: import 'urllib3.contrib._appengine_environ' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079209F100> +2024-11-30 13:23:30,226 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\wait.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\wait.py +2024-11-30 13:23:30,226 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\wait.cpython-39.pyc' +2024-11-30 13:23:30,226 - api.main - INFO - STDERR: import 'urllib3.util.wait' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079209F2B0> +2024-11-30 13:23:30,227 - api.main - INFO - STDERR: import 'urllib3.util.connection' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792093BB0> +2024-11-30 13:23:30,227 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\request.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\request.py +2024-11-30 13:23:30,227 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\request.cpython-39.pyc' +2024-11-30 13:23:30,228 - api.main - INFO - STDERR: import 'urllib3.util.request' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792093D90> +2024-11-30 13:23:30,228 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\response.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\response.py +2024-11-30 13:23:30,228 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\response.cpython-39.pyc' +2024-11-30 13:23:30,229 - api.main - INFO - STDERR: import 'urllib3.util.response' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079209F6D0> +2024-11-30 13:23:30,229 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\retry.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\retry.py +2024-11-30 13:23:30,229 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\retry.cpython-39.pyc' +2024-11-30 13:23:30,229 - api.main - INFO - STDERR: import 'urllib3.util.retry' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079209F7C0> +2024-11-30 13:23:30,229 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssl_.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssl_.py +2024-11-30 13:23:30,229 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssl_.cpython-39.pyc' +2024-11-30 13:23:30,230 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\hmac.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\hmac.py +2024-11-30 13:23:30,230 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\hmac.cpython-39.pyc' +2024-11-30 13:23:30,230 - api.main - INFO - STDERR: import 'hmac' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207920AB9A0> +2024-11-30 13:23:30,231 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\url.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\url.py +2024-11-30 13:23:30,231 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\url.cpython-39.pyc' +2024-11-30 13:23:30,240 - api.main - INFO - STDERR: import 'urllib3.util.url' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207920BA1F0> +2024-11-30 13:23:30,241 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssltransport.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssltransport.py +2024-11-30 13:23:30,241 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssltransport.cpython-39.pyc' +2024-11-30 13:23:30,241 - api.main - INFO - STDERR: import 'urllib3.util.ssltransport' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207920BADC0> +2024-11-30 13:23:30,241 - api.main - INFO - STDERR: import 'urllib3.util.ssl_' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207920AB4F0> +2024-11-30 13:23:30,241 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\timeout.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\timeout.py +2024-11-30 13:23:30,241 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\timeout.cpython-39.pyc' +2024-11-30 13:23:30,241 - api.main - INFO - STDERR: import 'urllib3.util.timeout' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207920AB790> +2024-11-30 13:23:30,241 - api.main - INFO - STDERR: import 'urllib3.util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207920938B0> +2024-11-30 13:23:30,242 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\proxy.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\proxy.py +2024-11-30 13:23:30,242 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\proxy.cpython-39.pyc' +2024-11-30 13:23:30,242 - api.main - INFO - STDERR: import 'urllib3.util.proxy' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792093910> +2024-11-30 13:23:30,242 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssl_match_hostname.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssl_match_hostname.py +2024-11-30 13:23:30,242 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssl_match_hostname.cpython-39.pyc' +2024-11-30 13:23:30,243 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ipaddress.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ipaddress.py +2024-11-30 13:23:30,243 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ipaddress.cpython-39.pyc' +2024-11-30 13:23:30,244 - api.main - INFO - STDERR: import 'ipaddress' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207920D18B0> +2024-11-30 13:23:30,244 - api.main - INFO - STDERR: import 'urllib3.util.ssl_match_hostname' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792093610> +2024-11-30 13:23:30,244 - api.main - INFO - STDERR: import 'urllib3.connection' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792083F70> +2024-11-30 13:23:30,244 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\request.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\request.py +2024-11-30 13:23:30,244 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\request.cpython-39.pyc' +2024-11-30 13:23:30,245 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\filepost.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\filepost.py +2024-11-30 13:23:30,245 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\filepost.cpython-39.pyc' +2024-11-30 13:23:30,245 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\fields.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\fields.py +2024-11-30 13:23:30,245 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\fields.cpython-39.pyc' +2024-11-30 13:23:30,246 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\mimetypes.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\mimetypes.py +2024-11-30 13:23:30,246 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\mimetypes.cpython-39.pyc' +2024-11-30 13:23:30,246 - api.main - INFO - STDERR: import 'mimetypes' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792109250> +2024-11-30 13:23:30,246 - api.main - INFO - STDERR: import 'urllib3.fields' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792104C70> +2024-11-30 13:23:30,246 - api.main - INFO - STDERR: import 'urllib3.filepost' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792104850> +2024-11-30 13:23:30,246 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.urllib' # +2024-11-30 13:23:30,246 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.urllib.parse' # +2024-11-30 13:23:30,246 - api.main - INFO - STDERR: import 'urllib3.request' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792083FD0> +2024-11-30 13:23:30,246 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\response.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\response.py +2024-11-30 13:23:30,246 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\response.cpython-39.pyc' +2024-11-30 13:23:30,248 - api.main - INFO - STDERR: import 'urllib3.response' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207920E0F10> +2024-11-30 13:23:30,248 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\queue.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\queue.py +2024-11-30 13:23:30,248 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\queue.cpython-39.pyc' +2024-11-30 13:23:30,248 - api.main - INFO - STDERR: import 'urllib3.util.queue' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207921096A0> +2024-11-30 13:23:30,248 - api.main - INFO - STDERR: import 'urllib3.connectionpool' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079205FA30> +2024-11-30 13:23:30,248 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\poolmanager.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\poolmanager.py +2024-11-30 13:23:30,248 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\poolmanager.cpython-39.pyc' +2024-11-30 13:23:30,248 - api.main - INFO - STDERR: import 'urllib3.poolmanager' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079211A220> +2024-11-30 13:23:30,249 - api.main - INFO - STDERR: import 'urllib3' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079205F1C0> +2024-11-30 13:23:30,249 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\exceptions.py +2024-11-30 13:23:30,249 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 13:23:30,250 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\compat.py +2024-11-30 13:23:30,250 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\compat.cpython-39.pyc' +2024-11-30 13:23:30,250 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__init__.py +2024-11-30 13:23:30,250 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,252 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\api.py +2024-11-30 13:23:30,252 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\api.cpython-39.pyc' +2024-11-30 13:23:30,252 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\cd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\cd.py +2024-11-30 13:23:30,252 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\cd.cpython-39.pyc' +2024-11-30 13:23:30,252 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\constant.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\constant.py +2024-11-30 13:23:30,252 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\constant.cpython-39.pyc' +2024-11-30 13:23:30,254 - api.main - INFO - STDERR: import 'charset_normalizer.constant' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792135700> +2024-11-30 13:23:30,256 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md__mypyc' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md__mypyc.cp39-win_amd64.pyd' +2024-11-30 13:23:30,256 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md__mypyc' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md__mypyc.cp39-win_amd64.pyd' +2024-11-30 13:23:30,256 - api.main - INFO - STDERR: import 'charset_normalizer.md__mypyc' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000020792159DF0> +2024-11-30 13:23:30,256 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\utils.py +2024-11-30 13:23:30,257 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 13:23:30,258 - api.main - INFO - STDERR: # extension module 'unicodedata' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\unicodedata.pyd' +2024-11-30 13:23:30,258 - api.main - INFO - STDERR: # extension module 'unicodedata' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\unicodedata.pyd' +2024-11-30 13:23:30,258 - api.main - INFO - STDERR: import 'unicodedata' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000002079215F6A0> +2024-11-30 13:23:30,258 - api.main - INFO - STDERR: import '_multibytecodec' # +2024-11-30 13:23:30,258 - api.main - INFO - STDERR: import 'charset_normalizer.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792159B20> +2024-11-30 13:23:30,258 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md.cp39-win_amd64.pyd' +2024-11-30 13:23:30,258 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md.cp39-win_amd64.pyd' +2024-11-30 13:23:30,258 - api.main - INFO - STDERR: import 'charset_normalizer.md' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000020792159B50> +2024-11-30 13:23:30,258 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\models.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\models.py +2024-11-30 13:23:30,259 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\models.cpython-39.pyc' +2024-11-30 13:23:30,259 - api.main - INFO - STDERR: import 'charset_normalizer.models' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079215FF10> +2024-11-30 13:23:30,259 - api.main - INFO - STDERR: import 'charset_normalizer.cd' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079211A730> +2024-11-30 13:23:30,259 - api.main - INFO - STDERR: import 'charset_normalizer.api' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079211AA90> +2024-11-30 13:23:30,259 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\legacy.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\legacy.py +2024-11-30 13:23:30,259 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\legacy.cpython-39.pyc' +2024-11-30 13:23:30,259 - api.main - INFO - STDERR: import 'charset_normalizer.legacy' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079217B2B0> +2024-11-30 13:23:30,259 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\version.py +2024-11-30 13:23:30,259 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\version.cpython-39.pyc' +2024-11-30 13:23:30,259 - api.main - INFO - STDERR: import 'charset_normalizer.version' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079217B340> +2024-11-30 13:23:30,259 - api.main - INFO - STDERR: import 'charset_normalizer' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079211AD30> +2024-11-30 13:23:30,261 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\cookiejar.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\cookiejar.py +2024-11-30 13:23:30,261 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\cookiejar.cpython-39.pyc' +2024-11-30 13:23:30,264 - api.main - INFO - STDERR: import 'http.cookiejar' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079217B370> +2024-11-30 13:23:30,265 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\cookies.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\cookies.py +2024-11-30 13:23:30,265 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\cookies.cpython-39.pyc' +2024-11-30 13:23:30,266 - api.main - INFO - STDERR: import 'http.cookies' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079217BEE0> +2024-11-30 13:23:30,266 - api.main - INFO - STDERR: import 'requests.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079211AF70> +2024-11-30 13:23:30,266 - api.main - INFO - STDERR: import 'requests.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207921253A0> +2024-11-30 13:23:30,267 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\packages.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\packages.py +2024-11-30 13:23:30,267 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\packages.cpython-39.pyc' +2024-11-30 13:23:30,269 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__init__.py +2024-11-30 13:23:30,269 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,270 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\core.py +2024-11-30 13:23:30,270 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\core.cpython-39.pyc' +2024-11-30 13:23:30,270 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\idnadata.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\idnadata.py +2024-11-30 13:23:30,270 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\idnadata.cpython-39.pyc' +2024-11-30 13:23:30,270 - api.main - INFO - STDERR: import 'idna.idnadata' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207921E37C0> +2024-11-30 13:23:30,270 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\intranges.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\intranges.py +2024-11-30 13:23:30,270 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\intranges.cpython-39.pyc' +2024-11-30 13:23:30,271 - api.main - INFO - STDERR: import 'idna.intranges' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207921E3850> +2024-11-30 13:23:30,271 - api.main - INFO - STDERR: import 'idna.core' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207921C51C0> +2024-11-30 13:23:30,271 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\package_data.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\package_data.py +2024-11-30 13:23:30,271 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\package_data.cpython-39.pyc' +2024-11-30 13:23:30,271 - api.main - INFO - STDERR: import 'idna.package_data' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207921E34F0> +2024-11-30 13:23:30,271 - api.main - INFO - STDERR: import 'idna' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792125070> +2024-11-30 13:23:30,271 - api.main - INFO - STDERR: import 'requests.packages' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792125580> +2024-11-30 13:23:30,272 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\utils.py +2024-11-30 13:23:30,272 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 13:23:30,272 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\certs.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\certs.py +2024-11-30 13:23:30,272 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\certs.cpython-39.pyc' +2024-11-30 13:23:30,273 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__init__.py +2024-11-30 13:23:30,273 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\certifi\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,273 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\core.py +2024-11-30 13:23:30,273 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\certifi\\__pycache__\\core.cpython-39.pyc' +2024-11-30 13:23:30,273 - api.main - INFO - STDERR: import 'certifi.core' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079220D730> +2024-11-30 13:23:30,273 - api.main - INFO - STDERR: import 'certifi' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079220D4C0> +2024-11-30 13:23:30,274 - api.main - INFO - STDERR: import 'requests.certs' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079220D2B0> +2024-11-30 13:23:30,274 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\__version__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__version__.py +2024-11-30 13:23:30,274 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\__version__.cpython-39.pyc' +2024-11-30 13:23:30,274 - api.main - INFO - STDERR: import 'requests.__version__' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079220D430> +2024-11-30 13:23:30,274 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\_internal_utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\_internal_utils.py +2024-11-30 13:23:30,274 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\_internal_utils.cpython-39.pyc' +2024-11-30 13:23:30,274 - api.main - INFO - STDERR: import 'requests._internal_utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079220D340> +2024-11-30 13:23:30,275 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\cookies.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\cookies.py +2024-11-30 13:23:30,275 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\cookies.cpython-39.pyc' +2024-11-30 13:23:30,275 - api.main - INFO - STDERR: import 'requests.cookies' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079220D550> +2024-11-30 13:23:30,275 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\structures.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\structures.py +2024-11-30 13:23:30,275 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\structures.cpython-39.pyc' +2024-11-30 13:23:30,275 - api.main - INFO - STDERR: import 'requests.structures' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792220940> +2024-11-30 13:23:30,276 - api.main - INFO - STDERR: import 'requests.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207921257C0> +2024-11-30 13:23:30,276 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\api.py +2024-11-30 13:23:30,276 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\api.cpython-39.pyc' +2024-11-30 13:23:30,276 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\sessions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\sessions.py +2024-11-30 13:23:30,276 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\sessions.cpython-39.pyc' +2024-11-30 13:23:30,277 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\adapters.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\adapters.py +2024-11-30 13:23:30,277 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\adapters.cpython-39.pyc' +2024-11-30 13:23:30,277 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\auth.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\auth.py +2024-11-30 13:23:30,277 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\auth.cpython-39.pyc' +2024-11-30 13:23:30,277 - api.main - INFO - STDERR: import 'requests.auth' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792239730> +2024-11-30 13:23:30,278 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\models.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\models.py +2024-11-30 13:23:30,278 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\models.cpython-39.pyc' +2024-11-30 13:23:30,279 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\idna.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\idna.py +2024-11-30 13:23:30,279 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\idna.cpython-39.pyc' +2024-11-30 13:23:30,279 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\stringprep.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\stringprep.py +2024-11-30 13:23:30,279 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\stringprep.cpython-39.pyc' +2024-11-30 13:23:30,279 - api.main - INFO - STDERR: import 'stringprep' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792256160> +2024-11-30 13:23:30,280 - api.main - INFO - STDERR: import 'encodings.idna' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792248CD0> +2024-11-30 13:23:30,280 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\hooks.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\hooks.py +2024-11-30 13:23:30,280 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\hooks.cpython-39.pyc' +2024-11-30 13:23:30,280 - api.main - INFO - STDERR: import 'requests.hooks' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792248EE0> +2024-11-30 13:23:30,280 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\status_codes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\status_codes.py +2024-11-30 13:23:30,280 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\status_codes.cpython-39.pyc' +2024-11-30 13:23:30,280 - api.main - INFO - STDERR: import 'requests.status_codes' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792248F70> +2024-11-30 13:23:30,280 - api.main - INFO - STDERR: import 'requests.models' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792239DF0> +2024-11-30 13:23:30,280 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\socks.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\socks.py +2024-11-30 13:23:30,280 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\socks.cpython-39.pyc' +2024-11-30 13:23:30,282 - api.main - INFO - STDERR: # destroy urllib3.contrib.socks +2024-11-30 13:23:30,282 - api.main - INFO - STDERR: import 'requests.adapters' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079222DE20> +2024-11-30 13:23:30,282 - api.main - INFO - STDERR: import 'requests.sessions' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079222D3D0> +2024-11-30 13:23:30,282 - api.main - INFO - STDERR: import 'requests.api' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792220F70> +2024-11-30 13:23:30,282 - api.main - INFO - STDERR: import 'requests' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079204FE80> +2024-11-30 13:23:30,283 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__init__.py +2024-11-30 13:23:30,283 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,283 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_version.py +2024-11-30 13:23:30,283 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 13:23:30,283 - api.main - INFO - STDERR: import 'PIL._version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792239550> +2024-11-30 13:23:30,283 - api.main - INFO - STDERR: import 'PIL' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079222D1F0> +2024-11-30 13:23:30,283 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\Image.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\Image.py +2024-11-30 13:23:30,284 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\Image.cpython-39.pyc' +2024-11-30 13:23:30,285 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\ExifTags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\ExifTags.py +2024-11-30 13:23:30,285 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\ExifTags.cpython-39.pyc' +2024-11-30 13:23:30,291 - api.main - INFO - STDERR: import 'PIL.ExifTags' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792299880> +2024-11-30 13:23:30,292 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\ImageMode.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\ImageMode.py +2024-11-30 13:23:30,292 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\ImageMode.cpython-39.pyc' +2024-11-30 13:23:30,292 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_deprecate.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_deprecate.py +2024-11-30 13:23:30,292 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_deprecate.cpython-39.pyc' +2024-11-30 13:23:30,292 - api.main - INFO - STDERR: import 'PIL._deprecate' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207922B4DF0> +2024-11-30 13:23:30,292 - api.main - INFO - STDERR: import 'PIL.ImageMode' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207922998B0> +2024-11-30 13:23:30,292 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\TiffTags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\TiffTags.py +2024-11-30 13:23:30,293 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\TiffTags.cpython-39.pyc' +2024-11-30 13:23:30,293 - api.main - INFO - STDERR: import 'PIL.TiffTags' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207922B99A0> +2024-11-30 13:23:30,294 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_binary.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_binary.py +2024-11-30 13:23:30,294 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_binary.cpython-39.pyc' +2024-11-30 13:23:30,294 - api.main - INFO - STDERR: import 'PIL._binary' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207922B9E80> +2024-11-30 13:23:30,294 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_util.py +2024-11-30 13:23:30,294 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_util.cpython-39.pyc' +2024-11-30 13:23:30,294 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_typing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_typing.py +2024-11-30 13:23:30,294 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_typing.cpython-39.pyc' +2024-11-30 13:23:30,295 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\typing_extensions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\typing_extensions.py +2024-11-30 13:23:30,295 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\typing_extensions.cpython-39.pyc' +2024-11-30 13:23:30,297 - api.main - INFO - STDERR: import 'typing_extensions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207922CFC10> +2024-11-30 13:23:30,297 - api.main - INFO - STDERR: import 'PIL._typing' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207922CF790> +2024-11-30 13:23:30,297 - api.main - INFO - STDERR: import 'PIL._util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207922CF340> +2024-11-30 13:23:30,325 - api.main - INFO - STDERR: # extension module 'PIL._imaging' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\_imaging.cp39-win_amd64.pyd' +2024-11-30 13:23:30,325 - api.main - INFO - STDERR: # extension module 'PIL._imaging' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\_imaging.cp39-win_amd64.pyd' +2024-11-30 13:23:30,326 - api.main - INFO - STDERR: import 'PIL._imaging' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000207922CFE20> +2024-11-30 13:23:30,326 - api.main - INFO - STDERR: import 'PIL.Image' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079222DBE0> +2024-11-30 13:23:30,327 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__init__.py +2024-11-30 13:23:30,327 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,327 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py +2024-11-30 13:23:30,327 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\api.cpython-39.pyc' +2024-11-30 13:23:30,328 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\compat.py +2024-11-30 13:23:30,328 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\compat.cpython-39.pyc' +2024-11-30 13:23:30,328 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\decorator.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\decorator.py +2024-11-30 13:23:30,328 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\decorator.cpython-39.pyc' +2024-11-30 13:23:30,329 - api.main - INFO - STDERR: import 'decorator' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207922EB9D0> +2024-11-30 13:23:30,329 - api.main - INFO - STDERR: import 'retry.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207922EB130> +2024-11-30 13:23:30,329 - api.main - INFO - STDERR: import 'retry.api' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207922E3520> +2024-11-30 13:23:30,329 - api.main - INFO - STDERR: import 'retry' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079222D160> +2024-11-30 13:23:30,330 - api.main - INFO - STDERR: import 'adbutils._device' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792039130> +2024-11-30 13:23:30,330 - api.main - INFO - STDERR: import 'adbutils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791468D00> +2024-11-30 13:23:30,331 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__init__.py +2024-11-30 13:23:30,331 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,331 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_api.py +2024-11-30 13:23:30,332 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_api.cpython-39.pyc' +2024-11-30 13:23:30,332 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_error.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_error.py +2024-11-30 13:23:30,332 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_error.cpython-39.pyc' +2024-11-30 13:23:30,332 - api.main - INFO - STDERR: import 'filelock._error' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207924A2190> +2024-11-30 13:23:30,332 - api.main - INFO - STDERR: import 'filelock._api' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792489790> +2024-11-30 13:23:30,332 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_soft.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_soft.py +2024-11-30 13:23:30,332 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_soft.cpython-39.pyc' +2024-11-30 13:23:30,333 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_util.py +2024-11-30 13:23:30,333 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_util.cpython-39.pyc' +2024-11-30 13:23:30,333 - api.main - INFO - STDERR: import 'filelock._util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207924A2FD0> +2024-11-30 13:23:30,333 - api.main - INFO - STDERR: import 'filelock._soft' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207924A2550> +2024-11-30 13:23:30,333 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_unix.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_unix.py +2024-11-30 13:23:30,333 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_unix.cpython-39.pyc' +2024-11-30 13:23:30,333 - api.main - INFO - STDERR: import 'filelock._unix' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207924A2F10> +2024-11-30 13:23:30,334 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_windows.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_windows.py +2024-11-30 13:23:30,334 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_windows.cpython-39.pyc' +2024-11-30 13:23:30,334 - api.main - INFO - STDERR: import 'filelock._windows' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207924A2910> +2024-11-30 13:23:30,334 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\asyncio.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\asyncio.py +2024-11-30 13:23:30,334 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\asyncio.cpython-39.pyc' +2024-11-30 13:23:30,335 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__init__.py +2024-11-30 13:23:30,335 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,336 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_events.py +2024-11-30 13:23:30,336 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_events.cpython-39.pyc' +2024-11-30 13:23:30,337 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\__init__.py +2024-11-30 13:23:30,337 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,337 - api.main - INFO - STDERR: import 'concurrent' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207924CE760> +2024-11-30 13:23:30,337 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__init__.py +2024-11-30 13:23:30,337 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\futures\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,338 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__pycache__\_base.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\_base.py +2024-11-30 13:23:30,338 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\futures\\__pycache__\\_base.cpython-39.pyc' +2024-11-30 13:23:30,338 - api.main - INFO - STDERR: import 'concurrent.futures._base' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207924CEA60> +2024-11-30 13:23:30,338 - api.main - INFO - STDERR: import 'concurrent.futures' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207924CE790> +2024-11-30 13:23:30,339 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\constants.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\constants.py +2024-11-30 13:23:30,339 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\constants.cpython-39.pyc' +2024-11-30 13:23:30,339 - api.main - INFO - STDERR: import 'asyncio.constants' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207924CE850> +2024-11-30 13:23:30,340 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\coroutines.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\coroutines.py +2024-11-30 13:23:30,340 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\coroutines.cpython-39.pyc' +2024-11-30 13:23:30,340 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_futures.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_futures.py +2024-11-30 13:23:30,340 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_futures.cpython-39.pyc' +2024-11-30 13:23:30,340 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\format_helpers.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\format_helpers.py +2024-11-30 13:23:30,342 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\format_helpers.cpython-39.pyc' +2024-11-30 13:23:30,342 - api.main - INFO - STDERR: import 'asyncio.format_helpers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207924DFD00> +2024-11-30 13:23:30,342 - api.main - INFO - STDERR: import 'asyncio.base_futures' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207924DF9A0> +2024-11-30 13:23:30,342 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\log.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\log.py +2024-11-30 13:23:30,342 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\log.cpython-39.pyc' +2024-11-30 13:23:30,342 - api.main - INFO - STDERR: import 'asyncio.log' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207924DFD30> +2024-11-30 13:23:30,342 - api.main - INFO - STDERR: import 'asyncio.coroutines' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207924CE5E0> +2024-11-30 13:23:30,343 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\events.py +2024-11-30 13:23:30,343 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\events.cpython-39.pyc' +2024-11-30 13:23:30,344 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\contextvars.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\contextvars.py +2024-11-30 13:23:30,344 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\contextvars.cpython-39.pyc' +2024-11-30 13:23:30,344 - api.main - INFO - STDERR: import '_contextvars' # +2024-11-30 13:23:30,344 - api.main - INFO - STDERR: import 'contextvars' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207924FC160> +2024-11-30 13:23:30,346 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\exceptions.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\exceptions.py +2024-11-30 13:23:30,346 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 13:23:30,346 - api.main - INFO - STDERR: import 'asyncio.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207924FC730> +2024-11-30 13:23:30,347 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_tasks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_tasks.py +2024-11-30 13:23:30,347 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_tasks.cpython-39.pyc' +2024-11-30 13:23:30,347 - api.main - INFO - STDERR: import 'asyncio.base_tasks' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207924FCB80> +2024-11-30 13:23:30,347 - api.main - INFO - STDERR: # extension module '_asyncio' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_asyncio.pyd' +2024-11-30 13:23:30,347 - api.main - INFO - STDERR: # extension module '_asyncio' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_asyncio.pyd' +2024-11-30 13:23:30,347 - api.main - INFO - STDERR: import '_asyncio' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000207924FC4F0> +2024-11-30 13:23:30,347 - api.main - INFO - STDERR: import 'asyncio.events' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207924DF790> +2024-11-30 13:23:30,347 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\futures.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\futures.py +2024-11-30 13:23:30,347 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\futures.cpython-39.pyc' +2024-11-30 13:23:30,347 - api.main - INFO - STDERR: import 'asyncio.futures' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207924FC310> +2024-11-30 13:23:30,348 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\protocols.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\protocols.py +2024-11-30 13:23:30,348 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\protocols.cpython-39.pyc' +2024-11-30 13:23:30,348 - api.main - INFO - STDERR: import 'asyncio.protocols' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079250F280> +2024-11-30 13:23:30,348 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\sslproto.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\sslproto.py +2024-11-30 13:23:30,349 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\sslproto.cpython-39.pyc' +2024-11-30 13:23:30,349 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\transports.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\transports.py +2024-11-30 13:23:30,349 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\transports.cpython-39.pyc' +2024-11-30 13:23:30,350 - api.main - INFO - STDERR: import 'asyncio.transports' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792518940> +2024-11-30 13:23:30,350 - api.main - INFO - STDERR: import 'asyncio.sslproto' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079250F910> +2024-11-30 13:23:30,350 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\staggered.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\staggered.py +2024-11-30 13:23:30,350 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\staggered.cpython-39.pyc' +2024-11-30 13:23:30,351 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\locks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\locks.py +2024-11-30 13:23:30,351 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\locks.cpython-39.pyc' +2024-11-30 13:23:30,351 - api.main - INFO - STDERR: import 'asyncio.locks' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792535940> +2024-11-30 13:23:30,351 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\tasks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\tasks.py +2024-11-30 13:23:30,351 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\tasks.cpython-39.pyc' +2024-11-30 13:23:30,351 - api.main - INFO - STDERR: import 'asyncio.tasks' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207925414C0> +2024-11-30 13:23:30,352 - api.main - INFO - STDERR: import 'asyncio.staggered' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792518700> +2024-11-30 13:23:30,352 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\trsock.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\trsock.py +2024-11-30 13:23:30,352 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\trsock.cpython-39.pyc' +2024-11-30 13:23:30,352 - api.main - INFO - STDERR: import 'asyncio.trsock' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079254B790> +2024-11-30 13:23:30,352 - api.main - INFO - STDERR: import 'asyncio.base_events' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207924A63A0> +2024-11-30 13:23:30,353 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\runners.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\runners.py +2024-11-30 13:23:30,353 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\runners.cpython-39.pyc' +2024-11-30 13:23:30,353 - api.main - INFO - STDERR: import 'asyncio.runners' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207924CE4F0> +2024-11-30 13:23:30,353 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\queues.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\queues.py +2024-11-30 13:23:30,353 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\queues.cpython-39.pyc' +2024-11-30 13:23:30,353 - api.main - INFO - STDERR: import 'asyncio.queues' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207924CE3A0> +2024-11-30 13:23:30,354 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\streams.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\streams.py +2024-11-30 13:23:30,355 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\streams.cpython-39.pyc' +2024-11-30 13:23:30,355 - api.main - INFO - STDERR: import 'asyncio.streams' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792554850> +2024-11-30 13:23:30,355 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\subprocess.py +2024-11-30 13:23:30,355 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\subprocess.cpython-39.pyc' +2024-11-30 13:23:30,355 - api.main - INFO - STDERR: import 'asyncio.subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079256B670> +2024-11-30 13:23:30,355 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\threads.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\threads.py +2024-11-30 13:23:30,356 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\threads.cpython-39.pyc' +2024-11-30 13:23:30,356 - api.main - INFO - STDERR: import 'asyncio.threads' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079256BC10> +2024-11-30 13:23:30,356 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\windows_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\windows_events.py +2024-11-30 13:23:30,356 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\windows_events.cpython-39.pyc' +2024-11-30 13:23:30,358 - api.main - INFO - STDERR: # extension module '_overlapped' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_overlapped.pyd' +2024-11-30 13:23:30,358 - api.main - INFO - STDERR: # extension module '_overlapped' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_overlapped.pyd' +2024-11-30 13:23:30,358 - api.main - INFO - STDERR: import '_overlapped' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000207925871C0> +2024-11-30 13:23:30,358 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_subprocess.py +2024-11-30 13:23:30,358 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_subprocess.cpython-39.pyc' +2024-11-30 13:23:30,359 - api.main - INFO - STDERR: import 'asyncio.base_subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792587310> +2024-11-30 13:23:30,359 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\proactor_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\proactor_events.py +2024-11-30 13:23:30,359 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\proactor_events.cpython-39.pyc' +2024-11-30 13:23:30,359 - api.main - INFO - STDERR: import 'asyncio.proactor_events' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792587D90> +2024-11-30 13:23:30,361 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\selector_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\selector_events.py +2024-11-30 13:23:30,361 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\selector_events.cpython-39.pyc' +2024-11-30 13:23:30,361 - api.main - INFO - STDERR: import 'asyncio.selector_events' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207925A1490> +2024-11-30 13:23:30,362 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\windows_utils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\windows_utils.py +2024-11-30 13:23:30,362 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\windows_utils.cpython-39.pyc' +2024-11-30 13:23:30,362 - api.main - INFO - STDERR: import 'asyncio.windows_utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207925C2580> +2024-11-30 13:23:30,362 - api.main - INFO - STDERR: import 'asyncio.windows_events' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079256BCD0> +2024-11-30 13:23:30,363 - api.main - INFO - STDERR: import 'asyncio' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207924A62E0> +2024-11-30 13:23:30,363 - api.main - INFO - STDERR: import 'filelock.asyncio' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207924A2AC0> +2024-11-30 13:23:30,363 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\version.py +2024-11-30 13:23:30,363 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\version.cpython-39.pyc' +2024-11-30 13:23:30,363 - api.main - INFO - STDERR: import 'filelock.version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207925D0B20> +2024-11-30 13:23:30,363 - api.main - INFO - STDERR: import 'filelock' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207924895B0> +2024-11-30 13:23:30,365 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__init__.py +2024-11-30 13:23:30,365 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,365 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\colors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\colors.py +2024-11-30 13:23:30,365 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\colors.cpython-39.pyc' +2024-11-30 13:23:30,365 - api.main - INFO - STDERR: import 'logzero.colors' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207925D09A0> +2024-11-30 13:23:30,365 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\jsonlogger.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\jsonlogger.py +2024-11-30 13:23:30,365 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\jsonlogger.cpython-39.pyc' +2024-11-30 13:23:30,365 - api.main - INFO - STDERR: import 'logzero.jsonlogger' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207925D0250> +2024-11-30 13:23:30,366 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__pycache__\handlers.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\handlers.py +2024-11-30 13:23:30,366 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\logging\\__pycache__\\handlers.cpython-39.pyc' +2024-11-30 13:23:30,367 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pickle.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pickle.py +2024-11-30 13:23:30,367 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pickle.cpython-39.pyc' +2024-11-30 13:23:30,368 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_compat_pickle.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_compat_pickle.py +2024-11-30 13:23:30,369 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_compat_pickle.cpython-39.pyc' +2024-11-30 13:23:30,369 - api.main - INFO - STDERR: import '_compat_pickle' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207926096D0> +2024-11-30 13:23:30,369 - api.main - INFO - STDERR: import '_pickle' # +2024-11-30 13:23:30,370 - api.main - INFO - STDERR: import 'pickle' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207925E9BE0> +2024-11-30 13:23:30,370 - api.main - INFO - STDERR: import 'logging.handlers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207925C2D00> +2024-11-30 13:23:30,371 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\curses\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\curses\__init__.py +2024-11-30 13:23:30,371 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\curses\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,371 - api.main - INFO - STDERR: # destroy curses +2024-11-30 13:23:30,372 - api.main - INFO - STDERR: import 'logzero' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207924A2A90> +2024-11-30 13:23:30,372 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\six.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\six.py +2024-11-30 13:23:30,372 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\six.cpython-39.pyc' +2024-11-30 13:23:30,373 - api.main - INFO - STDERR: import 'six' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207925E9D30> +2024-11-30 13:23:30,373 - api.main - INFO - STDERR: import 'six.moves' # +2024-11-30 13:23:30,373 - api.main - INFO - STDERR: import 'six.moves.urllib' # +2024-11-30 13:23:30,373 - api.main - INFO - STDERR: import 'six.moves.urllib.parse' # +2024-11-30 13:23:30,374 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\cached_property.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cached_property.py +2024-11-30 13:23:30,374 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\cached_property.cpython-39.pyc' +2024-11-30 13:23:30,374 - api.main - INFO - STDERR: import 'cached_property' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792609F10> +2024-11-30 13:23:30,375 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__init__.py +2024-11-30 13:23:30,375 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\deprecated\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,375 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__pycache__\classic.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\classic.py +2024-11-30 13:23:30,375 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\deprecated\\__pycache__\\classic.cpython-39.pyc' +2024-11-30 13:23:30,376 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__init__.py +2024-11-30 13:23:30,377 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,377 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\__wrapt__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__wrapt__.py +2024-11-30 13:23:30,377 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\__wrapt__.cpython-39.pyc' +2024-11-30 13:23:30,377 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\wrappers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\wrappers.py +2024-11-30 13:23:30,377 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\wrappers.cpython-39.pyc' +2024-11-30 13:23:30,378 - api.main - INFO - STDERR: import 'wrapt.wrappers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207926369A0> +2024-11-30 13:23:30,379 - api.main - INFO - STDERR: # extension module 'wrapt._wrappers' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\_wrappers.cp39-win_amd64.pyd' +2024-11-30 13:23:30,379 - api.main - INFO - STDERR: # extension module 'wrapt._wrappers' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\_wrappers.cp39-win_amd64.pyd' +2024-11-30 13:23:30,379 - api.main - INFO - STDERR: import 'wrapt._wrappers' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000002079264BA00> +2024-11-30 13:23:30,379 - api.main - INFO - STDERR: import 'wrapt.__wrapt__' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792636B20> +2024-11-30 13:23:30,379 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\patches.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\patches.py +2024-11-30 13:23:30,379 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\patches.cpython-39.pyc' +2024-11-30 13:23:30,380 - api.main - INFO - STDERR: import 'wrapt.patches' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792636C10> +2024-11-30 13:23:30,380 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\weakrefs.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\weakrefs.py +2024-11-30 13:23:30,380 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\weakrefs.cpython-39.pyc' +2024-11-30 13:23:30,380 - api.main - INFO - STDERR: import 'wrapt.weakrefs' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079264BF70> +2024-11-30 13:23:30,380 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\decorators.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\decorators.py +2024-11-30 13:23:30,380 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\decorators.cpython-39.pyc' +2024-11-30 13:23:30,381 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\arguments.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\arguments.py +2024-11-30 13:23:30,381 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\arguments.cpython-39.pyc' +2024-11-30 13:23:30,381 - api.main - INFO - STDERR: import 'wrapt.arguments' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079265FFA0> +2024-11-30 13:23:30,381 - api.main - INFO - STDERR: import 'wrapt.decorators' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079265F250> +2024-11-30 13:23:30,381 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\importer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\importer.py +2024-11-30 13:23:30,381 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\importer.cpython-39.pyc' +2024-11-30 13:23:30,381 - api.main - INFO - STDERR: import 'wrapt.importer' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792664280> +2024-11-30 13:23:30,381 - api.main - INFO - STDERR: import 'wrapt' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792636FA0> +2024-11-30 13:23:30,381 - api.main - INFO - STDERR: import 'deprecated.classic' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792626BE0> +2024-11-30 13:23:30,381 - api.main - INFO - STDERR: import 'deprecated' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792626700> +2024-11-30 13:23:30,382 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\xpath.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\xpath.py +2024-11-30 13:23:30,382 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\xpath.cpython-39.pyc' +2024-11-30 13:23:30,382 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\_proto.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_proto.py +2024-11-30 13:23:30,382 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\_proto.cpython-39.pyc' +2024-11-30 13:23:30,382 - api.main - INFO - STDERR: import 'uiautomator2._proto' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079267D910> +2024-11-30 13:23:30,382 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\abcd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\abcd.py +2024-11-30 13:23:30,382 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\abcd.cpython-39.pyc' +2024-11-30 13:23:30,383 - api.main - INFO - STDERR: import 'uiautomator2.abcd' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079267DA60> +2024-11-30 13:23:30,383 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\exceptions.py +2024-11-30 13:23:30,383 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 13:23:30,383 - api.main - INFO - STDERR: import 'uiautomator2.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079267DD90> +2024-11-30 13:23:30,383 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\utils.py +2024-11-30 13:23:30,383 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 13:23:30,383 - api.main - INFO - STDERR: import 'uiautomator2.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079267DEE0> +2024-11-30 13:23:30,384 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\lxml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\lxml\__init__.py +2024-11-30 13:23:30,384 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,384 - api.main - INFO - STDERR: import 'lxml' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792696E50> +2024-11-30 13:23:30,410 - api.main - INFO - STDERR: # extension module 'lxml.etree' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\etree.cp39-win_amd64.pyd' +2024-11-30 13:23:30,411 - api.main - INFO - STDERR: import 'gc' # +2024-11-30 13:23:30,413 - api.main - INFO - STDERR: # extension module 'lxml._elementpath' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\_elementpath.cp39-win_amd64.pyd' +2024-11-30 13:23:30,414 - api.main - INFO - STDERR: # extension module 'lxml._elementpath' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\_elementpath.cp39-win_amd64.pyd' +2024-11-30 13:23:30,414 - api.main - INFO - STDERR: import 'lxml._elementpath' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000207926F6DF0> +2024-11-30 13:23:30,417 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\gzip.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\gzip.py +2024-11-30 13:23:30,418 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\gzip.cpython-39.pyc' +2024-11-30 13:23:30,418 - api.main - INFO - STDERR: import 'gzip' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207927178B0> +2024-11-30 13:23:30,419 - api.main - INFO - STDERR: # extension module 'lxml.etree' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\etree.cp39-win_amd64.pyd' +2024-11-30 13:23:30,419 - api.main - INFO - STDERR: import 'lxml.etree' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000020792696F70> +2024-11-30 13:23:30,419 - api.main - INFO - STDERR: import 'uiautomator2.xpath' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792626760> +2024-11-30 13:23:30,420 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\_selector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_selector.py +2024-11-30 13:23:30,420 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\_selector.cpython-39.pyc' +2024-11-30 13:23:30,420 - api.main - INFO - STDERR: import 'uiautomator2._selector' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792664910> +2024-11-30 13:23:30,421 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\init.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\init.py +2024-11-30 13:23:30,421 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\init.cpython-39.pyc' +2024-11-30 13:23:30,421 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tarfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tarfile.py +2024-11-30 13:23:30,421 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tarfile.cpython-39.pyc' +2024-11-30 13:23:30,423 - api.main - INFO - STDERR: import 'tarfile' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079275EAF0> +2024-11-30 13:23:30,424 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__init__.py +2024-11-30 13:23:30,424 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,424 - api.main - INFO - STDERR: import 'progress' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079276AA30> +2024-11-30 13:23:30,425 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\bar.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\bar.py +2024-11-30 13:23:30,425 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\bar.cpython-39.pyc' +2024-11-30 13:23:30,425 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\colors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\colors.py +2024-11-30 13:23:30,425 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\colors.cpython-39.pyc' +2024-11-30 13:23:30,425 - api.main - INFO - STDERR: import 'progress.colors' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792797280> +2024-11-30 13:23:30,425 - api.main - INFO - STDERR: import 'progress.bar' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792789FA0> +2024-11-30 13:23:30,425 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\version.py +2024-11-30 13:23:30,426 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\version.cpython-39.pyc' +2024-11-30 13:23:30,426 - api.main - INFO - STDERR: import 'uiautomator2.version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792789F10> +2024-11-30 13:23:30,426 - api.main - INFO - STDERR: import 'uiautomator2.init' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079275E4C0> +2024-11-30 13:23:30,426 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\settings.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\settings.py +2024-11-30 13:23:30,427 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\settings.cpython-39.pyc' +2024-11-30 13:23:30,427 - api.main - INFO - STDERR: import 'uiautomator2.settings' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792797A30> +2024-11-30 13:23:30,427 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\swipe.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\swipe.py +2024-11-30 13:23:30,427 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\swipe.cpython-39.pyc' +2024-11-30 13:23:30,427 - api.main - INFO - STDERR: import 'uiautomator2.swipe' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792797CD0> +2024-11-30 13:23:30,427 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\watcher.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\watcher.py +2024-11-30 13:23:30,427 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\watcher.cpython-39.pyc' +2024-11-30 13:23:30,427 - api.main - INFO - STDERR: import 'uiautomator2.watcher' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020792797E80> +2024-11-30 13:23:30,428 - api.main - INFO - STDERR: import 'uiautomator2' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020791379E80> +2024-11-30 13:23:30,429 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\utils.py +2024-11-30 13:23:30,429 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 13:23:30,430 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__init__.py +2024-11-30 13:23:30,430 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,430 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\core.py +2024-11-30 13:23:30,430 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\__pycache__\\core.cpython-39.pyc' +2024-11-30 13:23:30,430 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__init__.py +2024-11-30 13:23:30,430 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\unicode_codes\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,432 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__pycache__\data_dict.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\data_dict.py +2024-11-30 13:23:30,434 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\unicode_codes\\__pycache__\\data_dict.cpython-39.pyc' +2024-11-30 13:23:30,438 - api.main - INFO - STDERR: import 'emoji.unicode_codes.data_dict' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207927CF8E0> +2024-11-30 13:23:30,451 - api.main - INFO - STDERR: import 'emoji.unicode_codes' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207927CF5B0> +2024-11-30 13:23:30,452 - api.main - INFO - STDERR: import 'emoji.core' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207927BDEE0> +2024-11-30 13:23:30,452 - api.main - INFO - STDERR: import 'emoji' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207927BDC70> +2024-11-30 13:23:30,452 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\log.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\log.py +2024-11-30 13:23:30,453 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\log.cpython-39.pyc' +2024-11-30 13:23:30,453 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\uuid.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\uuid.py +2024-11-30 13:23:30,454 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\uuid.cpython-39.pyc' +2024-11-30 13:23:30,455 - api.main - INFO - STDERR: # extension module '_uuid' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_uuid.pyd' +2024-11-30 13:23:30,455 - api.main - INFO - STDERR: # extension module '_uuid' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_uuid.pyd' +2024-11-30 13:23:30,455 - api.main - INFO - STDERR: import '_uuid' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000207933B6160> +2024-11-30 13:23:30,455 - api.main - INFO - STDERR: import 'uuid' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207927CFA00> +2024-11-30 13:23:30,455 - api.main - INFO - STDERR: import 'GramAddict.core.log' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207927BDCA0> +2024-11-30 13:23:30,456 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\report.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\report.py +2024-11-30 13:23:30,456 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\report.cpython-39.pyc' +2024-11-30 13:23:30,456 - api.main - INFO - STDERR: import 'GramAddict.core.report' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207927CF6D0> +2024-11-30 13:23:30,456 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\resources.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\resources.py +2024-11-30 13:23:30,456 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\resources.cpython-39.pyc' +2024-11-30 13:23:30,456 - api.main - INFO - STDERR: import 'GramAddict.core.resources' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207933AEF40> +2024-11-30 13:23:30,456 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\storage.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\storage.py +2024-11-30 13:23:30,456 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\storage.cpython-39.pyc' +2024-11-30 13:23:30,457 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\atomicwrites\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\atomicwrites\__init__.py +2024-11-30 13:23:30,457 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\atomicwrites\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,458 - api.main - INFO - STDERR: import 'atomicwrites' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207933B67F0> +2024-11-30 13:23:30,458 - api.main - INFO - STDERR: import 'GramAddict.core.storage' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207933B6280> +2024-11-30 13:23:30,458 - api.main - INFO - STDERR: import 'GramAddict.core.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207913B66D0> +2024-11-30 13:23:30,459 - api.main - INFO - STDERR: import 'GramAddict.core.device_facade' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207912A92B0> +2024-11-30 13:23:30,459 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\filter.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\filter.py +2024-11-30 13:23:30,459 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\filter.cpython-39.pyc' +2024-11-30 13:23:30,459 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__init__.py +2024-11-30 13:23:30,459 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,461 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\detector_factory.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\detector_factory.py +2024-11-30 13:23:30,461 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\detector_factory.cpython-39.pyc' +2024-11-30 13:23:30,462 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\detector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\detector.py +2024-11-30 13:23:30,462 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\detector.cpython-39.pyc' +2024-11-30 13:23:30,462 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\lang_detect_exception.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\lang_detect_exception.py +2024-11-30 13:23:30,462 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\lang_detect_exception.cpython-39.pyc' +2024-11-30 13:23:30,462 - api.main - INFO - STDERR: import 'langdetect.lang_detect_exception' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207933E2CD0> +2024-11-30 13:23:30,462 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\language.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\language.py +2024-11-30 13:23:30,462 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\language.cpython-39.pyc' +2024-11-30 13:23:30,462 - api.main - INFO - STDERR: import 'langdetect.language' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207933E2F70> +2024-11-30 13:23:30,462 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__init__.py +2024-11-30 13:23:30,463 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,463 - api.main - INFO - STDERR: import 'langdetect.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207933EA310> +2024-11-30 13:23:30,463 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\ngram.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\ngram.py +2024-11-30 13:23:30,463 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\ngram.cpython-39.pyc' +2024-11-30 13:23:30,463 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\messages.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\messages.py +2024-11-30 13:23:30,463 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\messages.cpython-39.pyc' +2024-11-30 13:23:30,463 - api.main - INFO - STDERR: import 'langdetect.utils.messages' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207933EA640> +2024-11-30 13:23:30,464 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\unicode_block.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\unicode_block.py +2024-11-30 13:23:30,464 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\unicode_block.cpython-39.pyc' +2024-11-30 13:23:30,464 - api.main - INFO - STDERR: import 'langdetect.utils.unicode_block' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207933EA7F0> +2024-11-30 13:23:30,474 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\unicode_escape.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\unicode_escape.py +2024-11-30 13:23:30,474 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\unicode_escape.cpython-39.pyc' +2024-11-30 13:23:30,474 - api.main - INFO - STDERR: import 'encodings.unicode_escape' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207933EA9A0> +2024-11-30 13:23:30,477 - api.main - INFO - STDERR: import 'langdetect.utils.ngram' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207933EA340> +2024-11-30 13:23:30,477 - api.main - INFO - STDERR: import 'langdetect.detector' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207933E2730> +2024-11-30 13:23:30,478 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\lang_profile.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\lang_profile.py +2024-11-30 13:23:30,478 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\lang_profile.cpython-39.pyc' +2024-11-30 13:23:30,478 - api.main - INFO - STDERR: import 'langdetect.utils.lang_profile' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207933E2AF0> +2024-11-30 13:23:30,478 - api.main - INFO - STDERR: import 'langdetect.detector_factory' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207933E2220> +2024-11-30 13:23:30,478 - api.main - INFO - STDERR: import 'langdetect' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207933D3F40> +2024-11-30 13:23:30,479 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\views.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py +2024-11-30 13:23:30,479 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\views.cpython-39.pyc' +2024-11-30 13:23:30,480 - api.main - INFO - STDERR: import 'GramAddict.core.views' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207933D3FA0> +2024-11-30 13:23:30,480 - api.main - INFO - STDERR: import 'GramAddict.core.filter' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207913794F0> +2024-11-30 13:23:30,480 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\interaction.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\interaction.py +2024-11-30 13:23:30,482 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\interaction.cpython-39.pyc' +2024-11-30 13:23:30,482 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__init__.py +2024-11-30 13:23:30,482 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\spintax\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,482 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__pycache__\spintax.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\spintax.py +2024-11-30 13:23:30,482 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\spintax\\__pycache__\\spintax.cpython-39.pyc' +2024-11-30 13:23:30,482 - api.main - INFO - STDERR: import 'spintax.spintax' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207934D7790> +2024-11-30 13:23:30,482 - api.main - INFO - STDERR: import 'spintax' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207934D7550> +2024-11-30 13:23:30,483 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\session_state.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\session_state.py +2024-11-30 13:23:30,483 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\session_state.cpython-39.pyc' +2024-11-30 13:23:30,483 - api.main - INFO - STDERR: import 'GramAddict.core.session_state' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207934D7850> +2024-11-30 13:23:30,484 - api.main - INFO - STDERR: import 'GramAddict.core.interaction' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207934C6FA0> +2024-11-30 13:23:30,484 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\navigation.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\navigation.py +2024-11-30 13:23:30,484 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\navigation.cpython-39.pyc' +2024-11-30 13:23:30,484 - api.main - INFO - STDERR: import 'GramAddict.core.navigation' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207934D7F70> +2024-11-30 13:23:30,484 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\persistent_list.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\persistent_list.py +2024-11-30 13:23:30,484 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\persistent_list.cpython-39.pyc' +2024-11-30 13:23:30,484 - api.main - INFO - STDERR: import 'GramAddict.core.persistent_list' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207934D7B50> +2024-11-30 13:23:30,485 - api.main - INFO - STDERR: import 'GramAddict.core.bot_flow' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F424670> +2024-11-30 13:23:30,485 - api.main - INFO - STDERR: import 'GramAddict' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F424D00> +2024-11-30 13:23:30,485 - api.main - INFO - STDOUT: Python path: ['e:\\PROJECTS\\instagram automation\\virtualinfluencer', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\python39.zip', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer'] +2024-11-30 13:23:30,485 - api.main - INFO - STDERR: e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml has been saved last time at 2024-11-29 01:33:21 +2024-11-30 13:23:30,485 - api.main - INFO - STDOUT: Current directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 13:23:30,485 - api.main - INFO - STDOUT: Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 13:23:30,485 - api.main - INFO - STDOUT: Successfully imported GramAddict +2024-11-30 13:23:30,495 - api.main - INFO - STDERR: [11/30 13:23:30] DEBUG | Initial log file: logs/quecreate.log +2024-11-30 13:23:30,495 - api.main - INFO - STDERR: [11/30 13:23:30] DEBUG | Installed via git, config-examples is in the local folder. +2024-11-30 13:23:30,495 - api.main - INFO - STDERR: [11/30 13:23:30] INFO | Checking for updates... +2024-11-30 13:23:30,497 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\netrc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\netrc.py +2024-11-30 13:23:30,497 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\netrc.cpython-39.pyc' +2024-11-30 13:23:30,498 - api.main - INFO - STDERR: import 'netrc' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207934E6D00> +2024-11-30 13:23:30,743 - api.main - INFO - STDERR: [11/30 13:23:30] INFO | Bot is updated. +2024-11-30 13:23:30,743 - api.main - INFO - STDERR: [11/30 13:23:30] INFO | GramAddict v.3.2.12 +2024-11-30 13:23:30,743 - api.main - INFO - STDERR: [11/30 13:23:30] INFO | Loading plugins . . . +2024-11-30 13:23:30,744 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__init__.py +2024-11-30 13:23:30,744 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,744 - api.main - INFO - STDERR: import 'GramAddict.plugins' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207934E6E20> +2024-11-30 13:23:30,745 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\action_unfollow_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\action_unfollow_followers.py +2024-11-30 13:23:30,745 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\action_unfollow_followers.cpython-39.pyc' +2024-11-30 13:23:30,745 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\decorators.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py +2024-11-30 13:23:30,746 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\decorators.cpython-39.pyc' +2024-11-30 13:23:30,746 - api.main - INFO - STDERR: import 'GramAddict.core.decorators' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020793503E20> +2024-11-30 13:23:30,746 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\scroll_end_detector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\scroll_end_detector.py +2024-11-30 13:23:30,746 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\scroll_end_detector.cpython-39.pyc' +2024-11-30 13:23:30,746 - api.main - INFO - STDERR: import 'GramAddict.core.scroll_end_detector' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020793503550> +2024-11-30 13:23:30,746 - api.main - INFO - STDERR: import 'GramAddict.plugins.action_unfollow_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207934E6B50> +2024-11-30 13:23:30,746 - api.main - INFO - STDERR: [11/30 13:23:30] INFO | - ActionUnfollowFollowers: Handles the functionality of unfollowing your followers +2024-11-30 13:23:30,747 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\cloned_app.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\cloned_app.py +2024-11-30 13:23:30,747 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\cloned_app.cpython-39.pyc' +2024-11-30 13:23:30,747 - api.main - INFO - STDERR: import 'GramAddict.plugins.cloned_app' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207935039D0> +2024-11-30 13:23:30,747 - api.main - INFO - STDERR: [11/30 13:23:30] INFO | - ClonedApp: Adds support for cloned apps +2024-11-30 13:23:30,748 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\core_arguments.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\core_arguments.py +2024-11-30 13:23:30,748 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\core_arguments.cpython-39.pyc' +2024-11-30 13:23:30,748 - api.main - INFO - STDERR: import 'GramAddict.plugins.core_arguments' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020793503B80> +2024-11-30 13:23:30,748 - api.main - INFO - STDERR: [11/30 13:23:30] INFO | - CoreArguments: Simply adds core arguments +2024-11-30 13:23:30,748 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\data_analytics.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\data_analytics.py +2024-11-30 13:23:30,748 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\data_analytics.cpython-39.pyc' +2024-11-30 13:23:30,748 - api.main - INFO - STDERR: import 'GramAddict.plugins.data_analytics' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020793503F40> +2024-11-30 13:23:30,748 - api.main - INFO - STDERR: [11/30 13:23:30] INFO | - DataAnalytics: Generates a PDF analytics report of current username session data +2024-11-30 13:23:30,749 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\dbinit.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\dbinit.py +2024-11-30 13:23:30,749 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\dbinit.cpython-39.pyc' +2024-11-30 13:23:30,749 - api.main - INFO - STDERR: import 'GramAddict.plugins.dbinit' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F424E20> +2024-11-30 13:23:30,749 - api.main - INFO - STDERR: [11/30 13:23:30] INFO | - DBInitPlugin: Initialize NocoDB tables at session start +2024-11-30 13:23:30,749 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger.py +2024-11-30 13:23:30,749 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger.cpython-39.pyc' +2024-11-30 13:23:30,750 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\handle_sources.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py +2024-11-30 13:23:30,750 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\handle_sources.cpython-39.pyc' +2024-11-30 13:23:30,750 - api.main - INFO - STDERR: import 'GramAddict.core.handle_sources' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079355E4C0> +2024-11-30 13:23:30,750 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger' # <_frozen_importlib_external.SourceFileLoader object at 0x000002078F424C70> +2024-11-30 13:23:30,750 - api.main - INFO - STDERR: [11/30 13:23:30] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger +2024-11-30 13:23:30,750 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py +2024-11-30 13:23:30,750 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger_followers.cpython-39.pyc' +2024-11-30 13:23:30,750 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079355E8E0> +2024-11-30 13:23:30,750 - api.main - INFO - STDERR: [11/30 13:23:30] INFO | - InteractBloggerFollowers_Following: Handles the functionality of interacting with a bloggers followers/following +2024-11-30 13:23:30,752 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger_post_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_post_likers.py +2024-11-30 13:23:30,752 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger_post_likers.cpython-39.pyc' +2024-11-30 13:23:30,752 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger_post_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079355EB80> +2024-11-30 13:23:30,752 - api.main - INFO - STDERR: [11/30 13:23:30] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger post likers +2024-11-30 13:23:30,753 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_feed.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_feed.py +2024-11-30 13:23:30,753 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_feed.cpython-39.pyc' +2024-11-30 13:23:30,753 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_feed' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079355EEB0> +2024-11-30 13:23:30,753 - api.main - INFO - STDERR: [11/30 13:23:30] INFO | - InteractOwnFeed: Handles the functionality of interacting with your own feed +2024-11-30 13:23:30,754 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_hashtag_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_hashtag_likers.py +2024-11-30 13:23:30,754 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_hashtag_likers.cpython-39.pyc' +2024-11-30 13:23:30,754 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_hashtag_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020793548250> +2024-11-30 13:23:30,754 - api.main - INFO - STDERR: [11/30 13:23:30] INFO | - InteractHashtagLikers: Handles the functionality of interacting with a hashtags likers +2024-11-30 13:23:30,754 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_hashtag_posts.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_hashtag_posts.py +2024-11-30 13:23:30,754 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_hashtag_posts.cpython-39.pyc' +2024-11-30 13:23:30,754 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_hashtag_posts' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207935485B0> +2024-11-30 13:23:30,755 - api.main - INFO - STDERR: [11/30 13:23:30] INFO | - InteractHashtagPosts: Handles the functionality of interacting with a hashtags post owners +2024-11-30 13:23:30,755 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_place_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_place_likers.py +2024-11-30 13:23:30,755 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_place_likers.cpython-39.pyc' +2024-11-30 13:23:30,755 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_place_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020793548910> +2024-11-30 13:23:30,755 - api.main - INFO - STDERR: [11/30 13:23:30] INFO | - InteractPlaceLikers: Handles the functionality of interacting with a places likers +2024-11-30 13:23:30,756 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_place_posts.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_place_posts.py +2024-11-30 13:23:30,756 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_place_posts.cpython-39.pyc' +2024-11-30 13:23:30,756 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_place_posts' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020793548CA0> +2024-11-30 13:23:30,756 - api.main - INFO - STDERR: [11/30 13:23:30] INFO | - InteractPlacePosts: Handles the functionality of interacting with a places post owners +2024-11-30 13:23:30,757 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\like_from_urls.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\like_from_urls.py +2024-11-30 13:23:30,757 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\like_from_urls.cpython-39.pyc' +2024-11-30 13:23:30,757 - api.main - INFO - STDERR: import 'GramAddict.plugins.like_from_urls' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020793548FD0> +2024-11-30 13:23:30,757 - api.main - INFO - STDERR: [11/30 13:23:30] INFO | - LikeFromURLs: Likes a post from url. The urls are read from a plaintext file +2024-11-30 13:23:30,758 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\nocodb_record_creation_test.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\nocodb_record_creation_test.py +2024-11-30 13:23:30,758 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\nocodb_record_creation_test.cpython-39.pyc' +2024-11-30 13:23:30,758 - api.main - INFO - STDERR: import 'GramAddict.plugins.nocodb_record_creation_test' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079356F3D0> +2024-11-30 13:23:30,758 - api.main - INFO - STDERR: [11/30 13:23:30] INFO | - NocoDBRecordCreationTest: Test plugin specifically for verifying NocoDB record creation functionality +2024-11-30 13:23:30,759 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\nocodb_storage.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\nocodb_storage.py +2024-11-30 13:23:30,759 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\nocodb_storage.cpython-39.pyc' +2024-11-30 13:23:30,760 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__init__.py +2024-11-30 13:23:30,761 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:23:30,761 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jwk.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jwk.py +2024-11-30 13:23:30,761 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jwk.cpython-39.pyc' +2024-11-30 13:23:30,761 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\algorithms.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\algorithms.py +2024-11-30 13:23:30,761 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\algorithms.cpython-39.pyc' +2024-11-30 13:23:30,761 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\exceptions.py +2024-11-30 13:23:30,762 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 13:23:30,762 - api.main - INFO - STDERR: import 'jwt.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079358B700> +2024-11-30 13:23:30,762 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\types.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\types.py +2024-11-30 13:23:30,762 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\types.cpython-39.pyc' +2024-11-30 13:23:30,762 - api.main - INFO - STDERR: import 'jwt.types' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079358B790> +2024-11-30 13:23:30,762 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\utils.py +2024-11-30 13:23:30,762 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 13:23:30,764 - api.main - INFO - STDERR: import 'jwt.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079358B880> +2024-11-30 13:23:30,764 - api.main - INFO - STDERR: import 'jwt.algorithms' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020793581520> +2024-11-30 13:23:30,764 - api.main - INFO - STDERR: import 'jwt.api_jwk' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079356FD90> +2024-11-30 13:23:30,766 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jws.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jws.py +2024-11-30 13:23:30,766 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jws.cpython-39.pyc' +2024-11-30 13:23:30,766 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\warnings.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\warnings.py +2024-11-30 13:23:30,766 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\warnings.cpython-39.pyc' +2024-11-30 13:23:30,766 - api.main - INFO - STDERR: import 'jwt.warnings' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079358B0D0> +2024-11-30 13:23:30,766 - api.main - INFO - STDERR: import 'jwt.api_jws' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020793581BE0> +2024-11-30 13:23:30,766 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jwt.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jwt.py +2024-11-30 13:23:30,766 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jwt.cpython-39.pyc' +2024-11-30 13:23:30,766 - api.main - INFO - STDERR: import 'jwt.api_jwt' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079358B310> +2024-11-30 13:23:30,766 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\jwks_client.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\jwks_client.py +2024-11-30 13:23:30,766 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\jwks_client.cpython-39.pyc' +2024-11-30 13:23:30,767 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\jwk_set_cache.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\jwk_set_cache.py +2024-11-30 13:23:30,767 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\jwk_set_cache.cpython-39.pyc' +2024-11-30 13:23:30,767 - api.main - INFO - STDERR: import 'jwt.jwk_set_cache' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020793597AC0> +2024-11-30 13:23:30,767 - api.main - INFO - STDERR: import 'jwt.jwks_client' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207935974F0> +2024-11-30 13:23:30,767 - api.main - INFO - STDERR: import 'jwt' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079356FB20> +2024-11-30 13:23:30,768 - api.main - INFO - STDERR: import 'GramAddict.plugins.nocodb_storage' # <_frozen_importlib_external.SourceFileLoader object at 0x000002079356F550> +2024-11-30 13:23:30,768 - api.main - INFO - STDERR: [11/30 13:23:30] INFO | - NocoDBStorage: Store interaction data in NocoDB +2024-11-30 13:23:30,769 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\remove_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\remove_followers.py +2024-11-30 13:23:30,769 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\remove_followers.cpython-39.pyc' +2024-11-30 13:23:30,769 - api.main - INFO - STDERR: import 'GramAddict.plugins.remove_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000020793597F70> +2024-11-30 13:23:30,769 - api.main - INFO - STDERR: [11/30 13:23:30] INFO | - RemoveFollowersFromList: Remove account followers from a list of usernames +2024-11-30 13:23:30,770 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\telegram.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\telegram.py +2024-11-30 13:23:30,770 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\telegram.cpython-39.pyc' +2024-11-30 13:23:30,770 - api.main - INFO - STDERR: import 'GramAddict.plugins.telegram' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207935B1190> +2024-11-30 13:23:30,770 - api.main - INFO - STDERR: [11/30 13:23:30] INFO | - TelegramReports: Generate reports at the end of the session and send them using telegram +2024-11-30 13:23:30,773 - api.main - INFO - STDERR: [11/30 13:23:30] DEBUG | Arguments used: --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 13:23:30,774 - api.main - INFO - STDERR: [11/30 13:23:30] DEBUG | Config used: {'username': 'quecreate', 'app-id': 'com.instagram.android', 'use-cloned-app': False, 'allow-untested-ig-version': False, 'screen-sleep': True, 'screen-record': False, 'speed-multiplier': 1.0, 'debug': True, 'close-apps': False, 'kill-atx-agent': False, 'restart-atx-agent': False, 'disable-block-detection': False, 'disable-filters': False, 'dont-type': False, 'use-nocodb': True, 'init-db': True, 'total-crashes-limit': 5, 'count-app-crashes': False, 'shuffle-jobs': True, 'truncate-sources': '2-5', 'blogger-followers': ['mnaumanndesign'], 'watch-video-time': '15-35', 'watch-photo-time': '3-4', 'delete-interacted-users': True, 'telegram-reports': False, 'interactions-count': '300-400', 'likes-count': '1-2', 'likes-percentage': 100, 'stories-count': '10-20', 'stories-percentage': '30-40', 'carousel-count': '20-30', 'carousel-percentage': '60-70', 'max-comments-pro-user': '1-2', 'interact-percentage': '30-40', 'follow-percentage': '30-40', 'follow-limit': 50, 'skipped-list-limit': '10-15', 'skipped-posts-limit': 5, 'fling-when-skipped': 0, 'min-following': 10, 'total-likes-limit': '120-150', 'total-follows-limit': '40-50', 'total-unfollows-limit': '40-50', 'total-watches-limit': '120-150', 'total-successful-interactions-limit': '120-150', 'total-interactions-limit': '280-300', 'total-comments-limit': '3-50', 'total-pm-limit': '3-5', 'total-scraped-limit': '100-150', 'end-if-likes-limit-reached': False, 'end-if-follows-limit-reached': False, 'end-if-watches-limit-reached': False, 'end-if-comments-limit-reached': False, 'end-if-pm-limit-reached': False} +2024-11-30 13:23:30,885 - api.main - INFO - STDERR: [11/30 13:23:30] DEBUG | Connected devices via adb: 1. That's ok. +2024-11-30 13:23:30,935 - api.main - INFO - STDERR: [11/30 13:23:30] INFO | Time delta has set to 00:00:02. +2024-11-30 13:23:30,936 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_strptime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_strptime.py +2024-11-30 13:23:30,936 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_strptime.cpython-39.pyc' +2024-11-30 13:23:30,937 - api.main - INFO - STDERR: import '_strptime' # <_frozen_importlib_external.SourceFileLoader object at 0x00000207935C3760> +2024-11-30 13:23:30,937 - api.main - INFO - STDERR: [11/30 13:23:30] DEBUG | Whole day mode. +2024-11-30 13:23:31,166 - api.main - INFO - STDERR: [D 241130 13:23:31 __init__:661] [pid:29700] [192.168.50.202:5555] kill process(ps): uiautomator +2024-11-30 13:23:32,038 - api.main - INFO - STDERR: e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\version.py:127: DeprecationWarning: Creating a LegacyVersion has been deprecated and will be removed in the next major release +2024-11-30 13:23:32,038 - api.main - INFO - STDERR: warnings.warn( +2024-11-30 13:23:32,562 - api.main - INFO - STDERR: [D 241130 13:23:32 __init__:682] [pid:29700] [192.168.50.202:5555] uiautomator-v2 is starting ... left: 40.0s +2024-11-30 13:23:33,704 - api.main - INFO - STDERR: [D 241130 13:23:33 __init__:682] [pid:29700] [192.168.50.202:5555] uiautomator-v2 is starting ... left: 38.9s +2024-11-30 13:23:34,755 - api.main - INFO - STDERR: [D 241130 13:23:34 __init__:682] [pid:29700] [192.168.50.202:5555] uiautomator-v2 is starting ... left: 37.8s +2024-11-30 13:23:35,914 - api.main - INFO - STDERR: [D 241130 13:23:35 __init__:682] [pid:29700] [192.168.50.202:5555] uiautomator-v2 is starting ... left: 36.6s +2024-11-30 13:23:37,032 - api.main - INFO - STDERR: [D 241130 13:23:37 __init__:682] [pid:29700] [192.168.50.202:5555] uiautomator-v2 is starting ... left: 35.5s +2024-11-30 13:23:38,168 - api.main - INFO - STDERR: [D 241130 13:23:38 __init__:682] [pid:29700] [192.168.50.202:5555] uiautomator-v2 is starting ... left: 34.4s +2024-11-30 13:23:39,246 - api.main - INFO - STDERR: [D 241130 13:23:39 __init__:682] [pid:29700] [192.168.50.202:5555] uiautomator-v2 is starting ... left: 33.3s +2024-11-30 13:23:39,683 - api.main - INFO - STDERR: [D 241130 13:23:39 __init__:696] [pid:29700] [192.168.50.202:5555] show float window +2024-11-30 13:23:40,691 - api.main - INFO - STDERR: [D 241130 13:23:40 __init__:682] [pid:29700] [192.168.50.202:5555] uiautomator-v2 is starting ... left: 31.9s +2024-11-30 13:23:41,752 - api.main - INFO - STDERR: [D 241130 13:23:41 __init__:682] [pid:29700] [192.168.50.202:5555] uiautomator-v2 is starting ... left: 30.8s +2024-11-30 13:23:42,899 - api.main - INFO - STDERR: [D 241130 13:23:42 __init__:682] [pid:29700] [192.168.50.202:5555] uiautomator-v2 is starting ... left: 29.7s +2024-11-30 13:23:44,013 - api.main - INFO - STDERR: [D 241130 13:23:44 __init__:682] [pid:29700] [192.168.50.202:5555] uiautomator-v2 is starting ... left: 28.5s +2024-11-30 13:23:45,125 - api.main - INFO - STDERR: [D 241130 13:23:45 __init__:682] [pid:29700] [192.168.50.202:5555] uiautomator-v2 is starting ... left: 27.4s +2024-11-30 13:23:46,263 - api.main - INFO - STDERR: [D 241130 13:23:46 __init__:682] [pid:29700] [192.168.50.202:5555] uiautomator-v2 is starting ... left: 26.3s +2024-11-30 13:23:47,376 - api.main - INFO - STDERR: [D 241130 13:23:47 __init__:682] [pid:29700] [192.168.50.202:5555] uiautomator-v2 is starting ... left: 25.2s +2024-11-30 13:23:47,664 - api.main - INFO - STDERR: [I 241130 13:23:47 __init__:643] [pid:29700] [192.168.50.202:5555] uiautomator back to normal +2024-11-30 13:23:47,904 - api.main - INFO - STDERR: [11/30 13:23:47] DEBUG | Phone Name: taimen, SDK Version: 30 +2024-11-30 13:23:48,260 - api.main - INFO - STDERR: [11/30 13:23:48] DEBUG | Screen dimension: 1440x2824 +2024-11-30 13:23:48,483 - api.main - INFO - STDERR: [11/30 13:23:48] DEBUG | Screen resolution: 411x823 +2024-11-30 13:23:48,483 - api.main - INFO - STDERR: [11/30 13:23:48] DEBUG | Device ID: 192.168.50.202:5555 +2024-11-30 13:23:48,602 - api.main - INFO - STDERR: [11/30 13:23:48] INFO | Screen timeout is fine! +2024-11-30 13:23:48,832 - api.main - INFO - STDERR: [11/30 13:23:48] INFO | -------- START: 13:23:48 - 2024/11/30 -------- +2024-11-30 13:23:49,063 - api.main - INFO - STDERR: [11/30 13:23:49] INFO | Device screen ON and unlocked. +2024-11-30 13:23:49,063 - api.main - INFO - STDERR: [11/30 13:23:49] INFO | Open Instagram app. +2024-11-30 13:23:49,519 - api.main - INFO - STDERR: [11/30 13:23:49] DEBUG | Instagram called successfully. +2024-11-30 13:23:50,015 - api.main - INFO - STDERR: [11/30 13:23:50] INFO | Ready for botting!\U0001f92b +2024-11-30 13:23:50,015 - api.main - INFO - STDERR: [11/30 13:23:50] DEBUG | 1.75s sleep +2024-11-30 13:23:51,775 - api.main - INFO - STDERR: [11/30 13:23:51] DEBUG | Setting FastInputIME as default keyboard. +2024-11-30 13:23:52,166 - api.main - INFO - STDERR: [11/30 13:23:52] INFO | FastInputIME is the default keyboard. +2024-11-30 13:23:52,321 - api.main - INFO - STDERR: [11/30 13:23:52] INFO | Instagram version: 300.0.0.29.110 +2024-11-30 13:23:52,956 - api.main - INFO - STDERR: [11/30 13:23:52] DEBUG | Navigating to main account... +2024-11-30 13:23:54,788 - api.main - INFO - STDERR: [11/30 13:23:54] DEBUG | Single click in (1295,2756). Surface: (1244-1349,2684-2789) +2024-11-30 13:23:55,337 - api.main - INFO - STDERR: [11/30 13:23:55] DEBUG | 1.82s sleep +2024-11-30 13:23:58,269 - api.main - INFO - STDERR: [11/30 13:23:58] DEBUG | Checking if app is in English.. +2024-11-30 13:24:01,762 - api.main - INFO - STDERR: [11/30 13:24:01] DEBUG | Instagram in English. +2024-11-30 13:24:02,886 - api.main - INFO - STDERR: [11/30 13:24:02] INFO | You are already logged as quecreate! +2024-11-30 13:24:03,455 - api.main - INFO - STDERR: [11/30 13:24:03] INFO | Refresh account... +2024-11-30 13:24:03,868 - api.main - INFO - STDERR: [11/30 13:24:03] DEBUG | Swipe from: (752,630) to (824,905). +2024-11-30 13:24:04,983 - api.main - INFO - STDERR: [11/30 13:24:04] DEBUG | 0.56s sleep +2024-11-30 13:24:05,553 - api.main - INFO - STDERR: [11/30 13:24:05] DEBUG | 1.40s sleep +2024-11-30 13:24:11,230 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | Hello, @quecreate! You have 1 followers and 51 followings so far. +2024-11-30 13:24:11,230 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | There is/are 3 active-job(s) and 0 unfollow-job(s) scheduled for this session. +2024-11-30 13:24:11,230 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | NocoDB config found - plugin will handle initialization +2024-11-30 13:24:11,233 - api.main - INFO - STDERR: [11/30 13:24:11] WARNING | accounts\quecreate\filters.yml has been saved last time at 2024-11-28 01:20:01 +2024-11-30 13:24:11,242 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | ---------------------------------------------------------------------- +2024-11-30 13:24:11,243 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | Filters recap (no spell check!) Value +2024-11-30 13:24:11,243 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | ---------------------------------------------------------------------- +2024-11-30 13:24:11,243 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | max_following 7500 +2024-11-30 13:24:11,244 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | min_following 10 +2024-11-30 13:24:11,244 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | max_followers 15000 +2024-11-30 13:24:11,244 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | min_followers 100 +2024-11-30 13:24:11,244 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | max_posts 1000 +2024-11-30 13:24:11,245 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | min_posts 3 +2024-11-30 13:24:11,245 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | max_following_to_followers_ratio 2.0 +2024-11-30 13:24:11,246 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | min_following_to_followers_ratio None +2024-11-30 13:24:11,246 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | max_followers_to_following_ratio None +2024-11-30 13:24:11,246 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | min_followers_to_following_ratio None +2024-11-30 13:24:11,247 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | max_potency_ratio 1.5 +2024-11-30 13:24:11,247 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | min_potency_ratio 0.1 +2024-11-30 13:24:11,248 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | biography_language None +2024-11-30 13:24:11,248 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | biography_banned_words [] +2024-11-30 13:24:11,248 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | biography_mandatory_words [] +2024-11-30 13:24:11,248 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | business_category_name [] +2024-11-30 13:24:11,248 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | is_private None +2024-11-30 13:24:11,250 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | is_verified None +2024-11-30 13:24:11,250 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | is_business None +2024-11-30 13:24:11,250 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | is_non_business None +2024-11-30 13:24:11,251 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | blacklist_words [] +2024-11-30 13:24:11,251 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | mandatory_words [] +2024-11-30 13:24:11,251 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | specific_alphabet None +2024-11-30 13:24:11,252 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | min_posts_from_date None +2024-11-30 13:24:11,252 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | posts_from_date None +2024-11-30 13:24:11,252 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | mutual_friends None +2024-11-30 13:24:11,252 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | following_bot None +2024-11-30 13:24:11,252 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | last_post None +2024-11-30 13:24:11,253 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | potency_ratio None +2024-11-30 13:24:11,253 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | has_any_business_category None +2024-11-30 13:24:11,253 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | has_highlights None +2024-11-30 13:24:11,253 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | has_guides None +2024-11-30 13:24:11,254 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | has_external_url None +2024-11-30 13:24:11,254 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | has_business_category_name None +2024-11-30 13:24:11,254 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | has_biography_links None +2024-11-30 13:24:11,255 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | has_igtv None +2024-11-30 13:24:11,255 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | has_linked_facebook None +2024-11-30 13:24:11,255 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | has_story_highlights None +2024-11-30 13:24:11,255 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | has_youtube None +2024-11-30 13:24:11,256 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | has_twitter None +2024-11-30 13:24:11,256 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | has_facebook None +2024-11-30 13:24:11,256 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | has_whatsapp None +2024-11-30 13:24:11,256 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | has_tiktok None +2024-11-30 13:24:11,257 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_link_in_bio False +2024-11-30 13:24:11,257 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_external_url False +2024-11-30 13:24:11,257 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_business False +2024-11-30 13:24:11,257 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_business_categories [] +2024-11-30 13:24:11,258 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_bio_keyword [] +2024-11-30 13:24:11,258 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_bio_keyword [] +2024-11-30 13:24:11,258 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_bio_contains_anything False +2024-11-30 13:24:11,258 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_no_avatar False +2024-11-30 13:24:11,259 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_no_bio False +2024-11-30 13:24:11,259 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_no_posts False +2024-11-30 13:24:11,259 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_no_igtv False +2024-11-30 13:24:11,259 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_no_story_highlights False +2024-11-30 13:24:11,260 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_no_mutual_friends False +2024-11-30 13:24:11,260 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_private False +2024-11-30 13:24:11,260 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_public False +2024-11-30 13:24:11,261 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_verified False +2024-11-30 13:24:11,261 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_non_business False +2024-11-30 13:24:11,262 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_following_bot False +2024-11-30 13:24:11,262 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_following_less_than None +2024-11-30 13:24:11,262 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_followers_less_than None +2024-11-30 13:24:11,263 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_posts_less_than None +2024-11-30 13:24:11,263 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_mutual_friends_less_than None +2024-11-30 13:24:11,263 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_following_more_than None +2024-11-30 13:24:11,263 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_followers_more_than None +2024-11-30 13:24:11,263 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_posts_more_than None +2024-11-30 13:24:11,263 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_mutual_friends_more_than None +2024-11-30 13:24:11,265 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_following_to_followers_ratio_less_than None +2024-11-30 13:24:11,265 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_following_to_followers_ratio_more_than None +2024-11-30 13:24:11,265 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_followers_to_following_ratio_less_than None +2024-11-30 13:24:11,265 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_followers_to_following_ratio_more_than None +2024-11-30 13:24:11,266 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_potency_ratio_less_than None +2024-11-30 13:24:11,266 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | skip_if_potency_ratio_more_than None +2024-11-30 13:24:11,266 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | ---------------------------------------------------------------------- +2024-11-30 13:24:11,266 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | Session ending conditions: Value +2024-11-30 13:24:11,266 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | ---------------------------------------------------------------------- +2024-11-30 13:24:11,267 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | Likes: False +2024-11-30 13:24:11,267 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | Follows: False +2024-11-30 13:24:11,267 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | Watches: False +2024-11-30 13:24:11,267 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | Comments: False +2024-11-30 13:24:11,267 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | PM: False +2024-11-30 13:24:11,267 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | Total actions: True (not mutable) +2024-11-30 13:24:11,269 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | Total successfull actions: True (not mutable) +2024-11-30 13:24:11,269 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | For more info -> https://github.com/GramAddict/docs/blob/main/configuration.md#ending-session-conditions +2024-11-30 13:24:11,269 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | ---------------------------------------------------------------------- +2024-11-30 13:24:11,270 - api.main - INFO - STDERR: [11/30 13:24:11] DEBUG | Whole day mode. +2024-11-30 13:24:11,270 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | Checking session limits: +2024-11-30 13:24:11,270 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | - Total Likes: OK (0/145) +2024-11-30 13:24:11,270 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | - Total Comments: OK (0/12) +2024-11-30 13:24:11,270 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | - Total PM: OK (0/3) +2024-11-30 13:24:11,271 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | - Total Followed: OK (0/49) +2024-11-30 13:24:11,271 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | - Total Unfollowed: OK (0/49) +2024-11-30 13:24:11,271 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | - Total Watched: OK (0/149) +2024-11-30 13:24:11,271 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | - Total Successful Interactions: OK (0/143) +2024-11-30 13:24:11,271 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | - Total Interactions: OK (0/298) +2024-11-30 13:24:11,272 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | - Total Crashes: OK (0/5) +2024-11-30 13:24:11,272 - api.main - INFO - STDERR: [11/30 13:24:11] INFO | - Total Successful Scraped Users: OK (0/132) +2024-11-30 13:24:12,047 - api.main - INFO - STDERR: [11/30 13:24:12] INFO | Current active-job: init-db +2024-11-30 13:24:12,047 - api.main - INFO - STDERR: [11/30 13:24:12] INFO | ================================================================================ +2024-11-30 13:24:12,047 - api.main - INFO - STDERR: [11/30 13:24:12] INFO | Starting database initialization... +2024-11-30 13:24:12,047 - api.main - INFO - STDERR: [11/30 13:24:12] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:13,053 - api.main - INFO - STDERR: [11/30 13:24:13] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:14,060 - api.main - INFO - STDERR: [11/30 13:24:14] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:15,068 - api.main - INFO - STDERR: [11/30 13:24:15] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:16,078 - api.main - INFO - STDERR: [11/30 13:24:16] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:17,079 - api.main - INFO - STDERR: [11/30 13:24:17] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:18,084 - api.main - INFO - STDERR: [11/30 13:24:18] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:19,098 - api.main - INFO - STDERR: [11/30 13:24:19] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:20,111 - api.main - INFO - STDERR: [11/30 13:24:20] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:21,120 - api.main - INFO - STDERR: [11/30 13:24:21] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:22,130 - api.main - INFO - STDERR: [11/30 13:24:22] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:23,145 - api.main - INFO - STDERR: [11/30 13:24:23] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:24,152 - api.main - INFO - STDERR: [11/30 13:24:24] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:25,157 - api.main - INFO - STDERR: [11/30 13:24:25] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:26,167 - api.main - INFO - STDERR: [11/30 13:24:26] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:27,181 - api.main - INFO - STDERR: [11/30 13:24:27] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:28,191 - api.main - INFO - STDERR: [11/30 13:24:28] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:29,198 - api.main - INFO - STDERR: [11/30 13:24:29] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:30,208 - api.main - INFO - STDERR: [11/30 13:24:30] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:31,223 - api.main - INFO - STDERR: [11/30 13:24:31] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:32,234 - api.main - INFO - STDERR: [11/30 13:24:32] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:33,244 - api.main - INFO - STDERR: [11/30 13:24:33] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:34,255 - api.main - INFO - STDERR: [11/30 13:24:34] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:35,268 - api.main - INFO - STDERR: [11/30 13:24:35] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:36,283 - api.main - INFO - STDERR: [11/30 13:24:36] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:37,288 - api.main - INFO - STDERR: [11/30 13:24:37] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:38,300 - api.main - INFO - STDERR: [11/30 13:24:38] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:39,304 - api.main - INFO - STDERR: [11/30 13:24:39] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:40,316 - api.main - INFO - STDERR: [11/30 13:24:40] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:41,326 - api.main - INFO - STDERR: [11/30 13:24:41] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:24:42,340 - api.main - INFO - STDERR: [11/30 13:24:42] WARNING | NocoDB plugin not found or not enabled. Please enable it with --use-nocodb +2024-11-30 13:24:42,341 - api.main - INFO - STDERR: [11/30 13:24:42] DEBUG | Whole day mode. +2024-11-30 13:24:42,342 - api.main - INFO - STDERR: [11/30 13:24:42] INFO | Checking session limits: +2024-11-30 13:24:42,342 - api.main - INFO - STDERR: [11/30 13:24:42] INFO | - Total Likes: OK (0/145) +2024-11-30 13:24:42,343 - api.main - INFO - STDERR: [11/30 13:24:42] INFO | - Total Comments: OK (0/12) +2024-11-30 13:24:42,343 - api.main - INFO - STDERR: [11/30 13:24:42] INFO | - Total PM: OK (0/3) +2024-11-30 13:24:42,344 - api.main - INFO - STDERR: [11/30 13:24:42] INFO | - Total Followed: OK (0/49) +2024-11-30 13:24:42,344 - api.main - INFO - STDERR: [11/30 13:24:42] INFO | - Total Unfollowed: OK (0/49) +2024-11-30 13:24:42,344 - api.main - INFO - STDERR: [11/30 13:24:42] INFO | - Total Watched: OK (0/149) +2024-11-30 13:24:42,345 - api.main - INFO - STDERR: [11/30 13:24:42] INFO | - Total Successful Interactions: OK (0/143) +2024-11-30 13:24:42,345 - api.main - INFO - STDERR: [11/30 13:24:42] INFO | - Total Interactions: OK (0/298) +2024-11-30 13:24:42,345 - api.main - INFO - STDERR: [11/30 13:24:42] INFO | - Total Crashes: OK (0/5) +2024-11-30 13:24:42,346 - api.main - INFO - STDERR: [11/30 13:24:42] INFO | - Total Successful Scraped Users: OK (0/132) +2024-11-30 13:24:51,519 - api.main - INFO - STDERR: [11/30 13:24:51] ERROR | Unable to find action bar! (The element with the username at top) +2024-11-30 13:24:51,519 - api.main - INFO - STDERR: [11/30 13:24:51] ERROR | Cannot get username. +2024-11-30 13:24:51,520 - api.main - INFO - STDERR: [11/30 13:24:51] DEBUG | Not in your main profile. +2024-11-30 13:24:51,520 - api.main - INFO - STDERR: [11/30 13:24:51] DEBUG | Navigate to PROFILE +2024-11-30 13:24:52,711 - api.main - INFO - STDERR: [11/30 13:24:52] ERROR | Didn't find tab PROFILE in the tab bar... +2024-11-30 13:24:53,073 - api.main - INFO - STDERR: [11/30 13:24:53] INFO | Current active-job: blogger-followers +2024-11-30 13:24:53,073 - api.main - INFO - STDERR: [11/30 13:24:53] INFO | Source list truncated at 1 item. +2024-11-30 13:24:53,074 - api.main - INFO - STDERR: [11/30 13:24:53] INFO | In this session, that source will be handled: mnaumanndesign +2024-11-30 13:24:53,074 - api.main - INFO - STDERR: [11/30 13:24:53] DEBUG | Checking session limits: +2024-11-30 13:24:53,075 - api.main - INFO - STDERR: [11/30 13:24:53] DEBUG | - Total Likes: OK (0/145) +2024-11-30 13:24:53,075 - api.main - INFO - STDERR: [11/30 13:24:53] DEBUG | - Total Comments: OK (0/12) +2024-11-30 13:24:53,075 - api.main - INFO - STDERR: [11/30 13:24:53] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:24:53,076 - api.main - INFO - STDERR: [11/30 13:24:53] DEBUG | - Total Followed: OK (0/49) +2024-11-30 13:24:53,076 - api.main - INFO - STDERR: [11/30 13:24:53] DEBUG | - Total Unfollowed: OK (0/49) +2024-11-30 13:24:53,076 - api.main - INFO - STDERR: [11/30 13:24:53] DEBUG | - Total Watched: OK (0/149) +2024-11-30 13:24:53,077 - api.main - INFO - STDERR: [11/30 13:24:53] DEBUG | - Total Successful Interactions: OK (0/143) +2024-11-30 13:24:53,077 - api.main - INFO - STDERR: [11/30 13:24:53] DEBUG | - Total Interactions: OK (0/298) +2024-11-30 13:24:53,077 - api.main - INFO - STDERR: [11/30 13:24:53] DEBUG | - Total Crashes: OK (0/5) +2024-11-30 13:24:53,078 - api.main - INFO - STDERR: [11/30 13:24:53] DEBUG | - Total Successful Scraped Users: OK (0/132) +2024-11-30 13:24:53,078 - api.main - INFO - STDERR: [11/30 13:24:53] INFO | Handle mnaumanndesign +2024-11-30 13:24:53,079 - api.main - INFO - STDERR: [11/30 13:24:53] INFO | Interactions count: 365 +2024-11-30 13:24:53,079 - api.main - INFO - STDERR: [11/30 13:24:53] INFO | Chance of watching stories: 39% +2024-11-30 13:24:53,079 - api.main - INFO - STDERR: [11/30 13:24:53] INFO | Chance of liking: 100% +2024-11-30 13:24:53,079 - api.main - INFO - STDERR: [11/30 13:24:53] INFO | Chance of following: 35% +2024-11-30 13:24:53,080 - api.main - INFO - STDERR: [11/30 13:24:53] INFO | Chance of commenting: 0% +2024-11-30 13:24:53,080 - api.main - INFO - STDERR: [11/30 13:24:53] INFO | Chance of interacting: 38% +2024-11-30 13:24:53,080 - api.main - INFO - STDERR: [11/30 13:24:53] INFO | Chance of send PM: 0% +2024-11-30 13:24:53,081 - api.main - INFO - STDERR: [11/30 13:24:53] DEBUG | Navigate to SEARCH +2024-11-30 13:24:53,816 - api.main - INFO - STDERR: [11/30 13:24:53] DEBUG | Didn't find search in the tab bar... +2024-11-30 13:24:53,816 - api.main - INFO - STDERR: [11/30 13:24:53] DEBUG | Navigate to HOME +2024-11-30 13:24:59,867 - api.main - INFO - STDERR: [11/30 13:24:59] ERROR | Didn't find tab HOME in the tab bar... +2024-11-30 13:25:00,326 - api.main - INFO - STDERR: [11/30 13:25:00] DEBUG | Navigate to Search +2024-11-30 13:25:01,815 - api.main - INFO - STDERR: [11/30 13:25:01] ERROR | Traceback (most recent call last): +2024-11-30 13:25:01,815 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 620, in get_bounds +2024-11-30 13:25:01,815 - api.main - INFO - STDERR: return self.viewV2.info["bounds"] +2024-11-30 13:25:01,815 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\decorator.py", line 232, in fun +2024-11-30 13:25:01,815 - api.main - INFO - STDERR: return caller(func, *(extras + args), **kw) +2024-11-30 13:25:01,815 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 73, in retry_decorator +2024-11-30 13:25:01,815 - api.main - INFO - STDERR: return __retry_internal(partial(f, *args, **kwargs), exceptions, tries, delay, max_delay, backoff, jitter, +2024-11-30 13:25:01,815 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 33, in __retry_internal +2024-11-30 13:25:01,815 - api.main - INFO - STDERR: return f() +2024-11-30 13:25:01,815 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_selector.py", line 130, in info +2024-11-30 13:25:01,815 - api.main - INFO - STDERR: return self.jsonrpc.objInfo(self.selector) +2024-11-30 13:25:01,815 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 480, in __call__ +2024-11-30 13:25:01,815 - api.main - INFO - STDERR: return self.server._jsonrpc_retry_call(self.method, params, +2024-11-30 13:25:01,815 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 487, in _jsonrpc_retry_call +2024-11-30 13:25:01,815 - api.main - INFO - STDERR: return self._jsonrpc_call(*args, **kwargs) +2024-11-30 13:25:01,815 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 556, in _jsonrpc_call +2024-11-30 13:25:01,817 - api.main - INFO - STDERR: raise err +2024-11-30 13:25:01,817 - api.main - INFO - STDERR: uiautomator2.exceptions.UiObjectNotFoundError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 13:25:01,817 - api.main - INFO - STDERR: During handling of the above exception, another exception occurred: +2024-11-30 13:25:01,817 - api.main - INFO - STDERR: Traceback (most recent call last): +2024-11-30 13:25:01,817 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py", line 31, in wrapper +2024-11-30 13:25:01,817 - api.main - INFO - STDERR: func(*args, **kwargs) +2024-11-30 13:25:01,817 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 109, in job +2024-11-30 13:25:01,817 - api.main - INFO - STDERR: self.handle_blogger( +2024-11-30 13:25:01,817 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 185, in handle_blogger +2024-11-30 13:25:01,817 - api.main - INFO - STDERR: handle_followers( +2024-11-30 13:25:01,817 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py", line 674, in handle_followers +2024-11-30 13:25:01,817 - api.main - INFO - STDERR: if not nav_to_blogger(device, username, current_job): +2024-11-30 13:25:01,817 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\navigation.py", line 48, in nav_to_blogger +2024-11-30 13:25:01,817 - api.main - INFO - STDERR: search_view = TabBarView(device).navigateToSearch() +2024-11-30 13:25:01,817 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 113, in navigateToSearch +2024-11-30 13:25:01,817 - api.main - INFO - STDERR: self._navigateTo(TabBarTabs.SEARCH) +2024-11-30 13:25:01,818 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 157, in _navigateTo +2024-11-30 13:25:01,818 - api.main - INFO - STDERR: home_view.navigateToSearch() +2024-11-30 13:25:01,818 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 219, in navigateToSearch +2024-11-30 13:25:01,818 - api.main - INFO - STDERR: search_btn.click() +2024-11-30 13:25:01,818 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 464, in click +2024-11-30 13:25:01,818 - api.main - INFO - STDERR: visible_bounds = self.get_bounds() +2024-11-30 13:25:01,818 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 622, in get_bounds +2024-11-30 13:25:01,818 - api.main - INFO - STDERR: raise DeviceFacade.JsonRpcError(e) +2024-11-30 13:25:01,818 - api.main - INFO - STDERR: GramAddict.core.device_facade.DeviceFacade.JsonRpcError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 13:25:02,458 - api.main - INFO - STDERR: [11/30 13:25:02] INFO | Crash saved as crashes\3.2.12_2024-11-30-13-25-01.zip +2024-11-30 13:25:02,458 - api.main - INFO - STDERR: [11/30 13:25:02] INFO | If you want to report this crash, please upload the dump file via a ticket in the #lobby channel on discord +2024-11-30 13:25:02,458 - api.main - INFO - STDERR: [11/30 13:25:02] INFO | https://discord.gg/66zWWCDM7x +2024-11-30 13:25:03,215 - api.main - INFO - STDERR: [11/30 13:25:03] INFO | List of running apps: com.github.uiautomator, com.google.modemservice, com.qualcomm.qcrilmsgtunnel, com.google.android.apps.nexuslauncher, com.google.android.dialer, com.instagram.android, com.google.android.settings.intelligence, com.google.android.providers.media.module, com.android.chrome, com.google.android.ims, com.google.android.apps.scone, com.breel.wallpapers, com.google.android.youtube, com.google.android.calendar, com.google.android.apps.gcs, com.google.android.apps.turbo, com.google.android.apps.wellbeing, com.android.se, com.android.systemui, com.google.android.as, org.thoughtcrime.securesms, com.google.android.GoogleCamera, com.android.providers.calendar, com.google.android.apps.messaging, com.google.android.apps.youtube.music, com.google.android.gms, com.android.nfc, com.google.android.ext.services, com.google.android.apps.photos, com.qualcomm.qti.telephonyservice, com.android.settings, com.google.SSRestartDetector, com.google.android.inputmethod.latin, com.google.android.apps.tachyon, com.google.android.gm, com.google.android.apps.magazines, com.android.vending, com.android.phone. +2024-11-30 13:25:03,215 - api.main - INFO - STDERR: [11/30 13:25:03] INFO | - Total Crashes: OK (1/5) +2024-11-30 13:25:03,216 - api.main - INFO - STDERR: [11/30 13:25:03] INFO | Something unexpected happened. Let's try again. +2024-11-30 13:25:03,216 - api.main - INFO - STDERR: [11/30 13:25:03] INFO | Close Instagram app. +2024-11-30 13:25:03,327 - api.main - INFO - STDERR: [11/30 13:25:03] DEBUG | 5.0s sleep +2024-11-30 13:25:09,025 - api.main - INFO - STDERR: [11/30 13:25:09] DEBUG | 2.70s sleep +2024-11-30 13:25:11,733 - api.main - INFO - STDERR: [11/30 13:25:11] INFO | Open Instagram app. +2024-11-30 13:25:12,282 - api.main - INFO - STDERR: [11/30 13:25:12] DEBUG | Instagram called successfully. +2024-11-30 13:25:13,754 - api.main - INFO - STDERR: [11/30 13:25:13] INFO | Ready for botting!\U0001f92b +2024-11-30 13:25:13,754 - api.main - INFO - STDERR: [11/30 13:25:13] DEBUG | 0.93s sleep +2024-11-30 13:25:14,693 - api.main - INFO - STDERR: [11/30 13:25:14] DEBUG | Setting FastInputIME as default keyboard. +2024-11-30 13:25:14,964 - api.main - INFO - STDERR: [11/30 13:25:14] INFO | FastInputIME is the default keyboard. +2024-11-30 13:25:14,964 - api.main - INFO - STDERR: [11/30 13:25:14] DEBUG | Navigate to PROFILE +2024-11-30 13:25:15,882 - api.main - INFO - STDERR: [11/30 13:25:15] ERROR | Didn't find tab PROFILE in the tab bar... +2024-11-30 13:25:16,154 - api.main - INFO - STDERR: [11/30 13:25:16] DEBUG | Navigate to SEARCH +2024-11-30 13:25:16,682 - api.main - INFO - STDERR: [11/30 13:25:16] DEBUG | Didn't find search in the tab bar... +2024-11-30 13:25:16,682 - api.main - INFO - STDERR: [11/30 13:25:16] DEBUG | Navigate to HOME +2024-11-30 13:25:22,504 - api.main - INFO - STDERR: [11/30 13:25:22] ERROR | Didn't find tab HOME in the tab bar... +2024-11-30 13:25:22,869 - api.main - INFO - STDERR: [11/30 13:25:22] DEBUG | Navigate to Search +2024-11-30 13:25:24,205 - api.main - INFO - STDERR: [11/30 13:25:24] ERROR | Traceback (most recent call last): +2024-11-30 13:25:24,205 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 620, in get_bounds +2024-11-30 13:25:24,205 - api.main - INFO - STDERR: return self.viewV2.info["bounds"] +2024-11-30 13:25:24,205 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\decorator.py", line 232, in fun +2024-11-30 13:25:24,205 - api.main - INFO - STDERR: return caller(func, *(extras + args), **kw) +2024-11-30 13:25:24,205 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 73, in retry_decorator +2024-11-30 13:25:24,205 - api.main - INFO - STDERR: return __retry_internal(partial(f, *args, **kwargs), exceptions, tries, delay, max_delay, backoff, jitter, +2024-11-30 13:25:24,205 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 33, in __retry_internal +2024-11-30 13:25:24,205 - api.main - INFO - STDERR: return f() +2024-11-30 13:25:24,205 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_selector.py", line 130, in info +2024-11-30 13:25:24,206 - api.main - INFO - STDERR: return self.jsonrpc.objInfo(self.selector) +2024-11-30 13:25:24,206 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 480, in __call__ +2024-11-30 13:25:24,206 - api.main - INFO - STDERR: return self.server._jsonrpc_retry_call(self.method, params, +2024-11-30 13:25:24,206 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 487, in _jsonrpc_retry_call +2024-11-30 13:25:24,206 - api.main - INFO - STDERR: return self._jsonrpc_call(*args, **kwargs) +2024-11-30 13:25:24,206 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 556, in _jsonrpc_call +2024-11-30 13:25:24,206 - api.main - INFO - STDERR: raise err +2024-11-30 13:25:24,206 - api.main - INFO - STDERR: uiautomator2.exceptions.UiObjectNotFoundError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 13:25:24,206 - api.main - INFO - STDERR: During handling of the above exception, another exception occurred: +2024-11-30 13:25:24,206 - api.main - INFO - STDERR: Traceback (most recent call last): +2024-11-30 13:25:24,206 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py", line 31, in wrapper +2024-11-30 13:25:24,206 - api.main - INFO - STDERR: func(*args, **kwargs) +2024-11-30 13:25:24,206 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 109, in job +2024-11-30 13:25:24,206 - api.main - INFO - STDERR: self.handle_blogger( +2024-11-30 13:25:24,207 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 185, in handle_blogger +2024-11-30 13:25:24,207 - api.main - INFO - STDERR: handle_followers( +2024-11-30 13:25:24,207 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py", line 674, in handle_followers +2024-11-30 13:25:24,207 - api.main - INFO - STDERR: if not nav_to_blogger(device, username, current_job): +2024-11-30 13:25:24,207 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\navigation.py", line 48, in nav_to_blogger +2024-11-30 13:25:24,207 - api.main - INFO - STDERR: search_view = TabBarView(device).navigateToSearch() +2024-11-30 13:25:24,207 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 113, in navigateToSearch +2024-11-30 13:25:24,208 - api.main - INFO - STDERR: self._navigateTo(TabBarTabs.SEARCH) +2024-11-30 13:25:24,208 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 157, in _navigateTo +2024-11-30 13:25:24,208 - api.main - INFO - STDERR: home_view.navigateToSearch() +2024-11-30 13:25:24,208 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 219, in navigateToSearch +2024-11-30 13:25:24,208 - api.main - INFO - STDERR: search_btn.click() +2024-11-30 13:25:24,208 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 464, in click +2024-11-30 13:25:24,208 - api.main - INFO - STDERR: visible_bounds = self.get_bounds() +2024-11-30 13:25:24,208 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 622, in get_bounds +2024-11-30 13:25:24,208 - api.main - INFO - STDERR: raise DeviceFacade.JsonRpcError(e) +2024-11-30 13:25:24,208 - api.main - INFO - STDERR: GramAddict.core.device_facade.DeviceFacade.JsonRpcError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 13:25:24,710 - api.main - INFO - STDERR: [11/30 13:25:24] INFO | Crash saved as crashes\3.2.12_2024-11-30-13-25-24.zip +2024-11-30 13:25:24,710 - api.main - INFO - STDERR: [11/30 13:25:24] INFO | If you want to report this crash, please upload the dump file via a ticket in the #lobby channel on discord +2024-11-30 13:25:24,710 - api.main - INFO - STDERR: [11/30 13:25:24] INFO | https://discord.gg/66zWWCDM7x +2024-11-30 13:25:25,461 - api.main - INFO - STDERR: [11/30 13:25:25] INFO | List of running apps: com.github.uiautomator, com.google.modemservice, com.qualcomm.qcrilmsgtunnel, com.google.android.apps.nexuslauncher, com.google.android.dialer, com.instagram.android, com.google.android.settings.intelligence, com.google.android.providers.media.module, com.android.chrome, com.google.android.ims, com.google.android.apps.scone, com.breel.wallpapers, com.google.android.euicc, com.google.android.youtube, com.google.android.calendar, com.google.android.apps.gcs, com.google.android.apps.turbo, com.google.android.apps.wellbeing, com.android.se, com.android.systemui, com.google.android.as, org.thoughtcrime.securesms, com.google.android.GoogleCamera, com.android.providers.calendar, com.google.android.apps.messaging, com.google.android.apps.youtube.music, com.google.android.gms, com.android.nfc, com.google.android.ext.services, com.google.android.apps.photos, com.qualcomm.qti.telephonyservice, com.android.settings, com.google.SSRestartDetector, com.google.android.inputmethod.latin, com.google.android.apps.tachyon, com.google.android.gm, com.google.android.apps.magazines, com.android.vending, com.android.phone. +2024-11-30 13:25:25,461 - api.main - INFO - STDERR: [11/30 13:25:25] INFO | - Total Crashes: OK (2/5) +2024-11-30 13:25:25,462 - api.main - INFO - STDERR: [11/30 13:25:25] INFO | Something unexpected happened. Let's try again. +2024-11-30 13:25:25,462 - api.main - INFO - STDERR: [11/30 13:25:25] INFO | Close Instagram app. +2024-11-30 13:25:25,566 - api.main - INFO - STDERR: [11/30 13:25:25] DEBUG | 5.0s sleep +2024-11-30 13:25:31,345 - api.main - INFO - STDERR: [11/30 13:25:31] DEBUG | 1.52s sleep +2024-11-30 13:25:32,874 - api.main - INFO - STDERR: [11/30 13:25:32] INFO | Open Instagram app. +2024-11-30 13:25:33,362 - api.main - INFO - STDERR: [11/30 13:25:33] DEBUG | Instagram called successfully. +2024-11-30 13:25:34,678 - api.main - INFO - STDERR: [11/30 13:25:34] INFO | Ready for botting!\U0001f92b +2024-11-30 13:25:34,678 - api.main - INFO - STDERR: [11/30 13:25:34] DEBUG | 2.51s sleep +2024-11-30 13:25:37,197 - api.main - INFO - STDERR: [11/30 13:25:37] DEBUG | Setting FastInputIME as default keyboard. +2024-11-30 13:25:37,486 - api.main - INFO - STDERR: [11/30 13:25:37] INFO | FastInputIME is the default keyboard. +2024-11-30 13:25:37,486 - api.main - INFO - STDERR: [11/30 13:25:37] DEBUG | Navigate to PROFILE +2024-11-30 13:25:38,505 - api.main - INFO - STDERR: [11/30 13:25:38] ERROR | Didn't find tab PROFILE in the tab bar... +2024-11-30 13:25:38,958 - api.main - INFO - STDERR: [11/30 13:25:38] DEBUG | Navigate to SEARCH +2024-11-30 13:25:39,635 - api.main - INFO - STDERR: [11/30 13:25:39] DEBUG | Didn't find search in the tab bar... +2024-11-30 13:25:39,635 - api.main - INFO - STDERR: [11/30 13:25:39] DEBUG | Navigate to HOME +2024-11-30 13:25:45,641 - api.main - INFO - STDERR: [11/30 13:25:45] ERROR | Didn't find tab HOME in the tab bar... +2024-11-30 13:25:46,003 - api.main - INFO - STDERR: [11/30 13:25:46] DEBUG | Navigate to Search +2024-11-30 13:25:47,463 - api.main - INFO - STDERR: [11/30 13:25:47] ERROR | Traceback (most recent call last): +2024-11-30 13:25:47,463 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 620, in get_bounds +2024-11-30 13:25:47,463 - api.main - INFO - STDERR: return self.viewV2.info["bounds"] +2024-11-30 13:25:47,465 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\decorator.py", line 232, in fun +2024-11-30 13:25:47,465 - api.main - INFO - STDERR: return caller(func, *(extras + args), **kw) +2024-11-30 13:25:47,465 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 73, in retry_decorator +2024-11-30 13:25:47,465 - api.main - INFO - STDERR: return __retry_internal(partial(f, *args, **kwargs), exceptions, tries, delay, max_delay, backoff, jitter, +2024-11-30 13:25:47,465 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 33, in __retry_internal +2024-11-30 13:25:47,465 - api.main - INFO - STDERR: return f() +2024-11-30 13:25:47,465 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_selector.py", line 130, in info +2024-11-30 13:25:47,465 - api.main - INFO - STDERR: return self.jsonrpc.objInfo(self.selector) +2024-11-30 13:25:47,465 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 480, in __call__ +2024-11-30 13:25:47,465 - api.main - INFO - STDERR: return self.server._jsonrpc_retry_call(self.method, params, +2024-11-30 13:25:47,465 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 487, in _jsonrpc_retry_call +2024-11-30 13:25:47,465 - api.main - INFO - STDERR: return self._jsonrpc_call(*args, **kwargs) +2024-11-30 13:25:47,465 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 556, in _jsonrpc_call +2024-11-30 13:25:47,465 - api.main - INFO - STDERR: raise err +2024-11-30 13:25:47,465 - api.main - INFO - STDERR: uiautomator2.exceptions.UiObjectNotFoundError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 13:25:47,466 - api.main - INFO - STDERR: During handling of the above exception, another exception occurred: +2024-11-30 13:25:47,466 - api.main - INFO - STDERR: Traceback (most recent call last): +2024-11-30 13:25:47,466 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py", line 31, in wrapper +2024-11-30 13:25:47,466 - api.main - INFO - STDERR: func(*args, **kwargs) +2024-11-30 13:25:47,466 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 109, in job +2024-11-30 13:25:47,466 - api.main - INFO - STDERR: self.handle_blogger( +2024-11-30 13:25:47,466 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 185, in handle_blogger +2024-11-30 13:25:47,466 - api.main - INFO - STDERR: handle_followers( +2024-11-30 13:25:47,466 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py", line 674, in handle_followers +2024-11-30 13:25:47,466 - api.main - INFO - STDERR: if not nav_to_blogger(device, username, current_job): +2024-11-30 13:25:47,466 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\navigation.py", line 48, in nav_to_blogger +2024-11-30 13:25:47,466 - api.main - INFO - STDERR: search_view = TabBarView(device).navigateToSearch() +2024-11-30 13:25:47,466 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 113, in navigateToSearch +2024-11-30 13:25:47,466 - api.main - INFO - STDERR: self._navigateTo(TabBarTabs.SEARCH) +2024-11-30 13:25:47,466 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 157, in _navigateTo +2024-11-30 13:25:47,466 - api.main - INFO - STDERR: home_view.navigateToSearch() +2024-11-30 13:25:47,466 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 219, in navigateToSearch +2024-11-30 13:25:47,466 - api.main - INFO - STDERR: search_btn.click() +2024-11-30 13:25:47,466 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 464, in click +2024-11-30 13:25:47,466 - api.main - INFO - STDERR: visible_bounds = self.get_bounds() +2024-11-30 13:25:47,466 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 622, in get_bounds +2024-11-30 13:25:47,466 - api.main - INFO - STDERR: raise DeviceFacade.JsonRpcError(e) +2024-11-30 13:25:47,466 - api.main - INFO - STDERR: GramAddict.core.device_facade.DeviceFacade.JsonRpcError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 13:25:47,948 - api.main - INFO - STDERR: [11/30 13:25:47] INFO | Crash saved as crashes\3.2.12_2024-11-30-13-25-47.zip +2024-11-30 13:25:47,948 - api.main - INFO - STDERR: [11/30 13:25:47] INFO | If you want to report this crash, please upload the dump file via a ticket in the #lobby channel on discord +2024-11-30 13:25:47,948 - api.main - INFO - STDERR: [11/30 13:25:47] INFO | https://discord.gg/66zWWCDM7x +2024-11-30 13:25:48,970 - api.main - INFO - STDERR: [11/30 13:25:48] INFO | List of running apps: com.github.uiautomator, com.google.modemservice, com.qualcomm.qcrilmsgtunnel, com.google.android.apps.nexuslauncher, com.google.android.dialer, com.instagram.android, com.google.android.settings.intelligence, com.google.android.providers.media.module, com.android.chrome, com.google.android.ims, com.google.android.apps.scone, com.breel.wallpapers, com.google.android.euicc, com.google.android.youtube, com.google.android.calendar, com.google.android.apps.gcs, com.google.android.apps.turbo, com.google.android.apps.wellbeing, com.android.se, com.android.systemui, com.google.android.as, org.thoughtcrime.securesms, com.google.android.GoogleCamera, com.android.providers.calendar, com.google.android.apps.messaging, com.google.android.apps.youtube.music, com.google.android.gms, com.android.nfc, com.google.android.ext.services, com.google.android.apps.photos, com.qualcomm.qti.telephonyservice, com.android.settings, com.google.SSRestartDetector, com.google.android.inputmethod.latin, com.google.android.apps.tachyon, com.google.android.gm, com.google.android.apps.magazines, com.android.vending, com.android.phone. +2024-11-30 13:25:48,970 - api.main - INFO - STDERR: [11/30 13:25:48] INFO | - Total Crashes: OK (3/5) +2024-11-30 13:25:48,970 - api.main - INFO - STDERR: [11/30 13:25:48] INFO | Something unexpected happened. Let's try again. +2024-11-30 13:25:48,970 - api.main - INFO - STDERR: [11/30 13:25:48] INFO | Close Instagram app. +2024-11-30 13:25:49,102 - api.main - INFO - STDERR: [11/30 13:25:49] DEBUG | 5.0s sleep +2024-11-30 13:25:54,788 - api.main - INFO - STDERR: [11/30 13:25:54] DEBUG | 1.14s sleep +2024-11-30 13:25:55,935 - api.main - INFO - STDERR: [11/30 13:25:55] INFO | Open Instagram app. +2024-11-30 13:25:56,373 - api.main - INFO - STDERR: [11/30 13:25:56] DEBUG | Instagram called successfully. +2024-11-30 13:25:57,872 - api.main - INFO - STDERR: [11/30 13:25:57] INFO | Ready for botting!\U0001f92b +2024-11-30 13:25:57,872 - api.main - INFO - STDERR: [11/30 13:25:57] DEBUG | 1.03s sleep +2024-11-30 13:25:58,928 - api.main - INFO - STDERR: [11/30 13:25:58] DEBUG | Setting FastInputIME as default keyboard. +2024-11-30 13:25:59,160 - api.main - INFO - STDERR: [11/30 13:25:59] INFO | FastInputIME is the default keyboard. +2024-11-30 13:25:59,161 - api.main - INFO - STDERR: [11/30 13:25:59] DEBUG | Navigate to PROFILE +2024-11-30 13:26:00,283 - api.main - INFO - STDERR: [11/30 13:26:00] ERROR | Didn't find tab PROFILE in the tab bar... +2024-11-30 13:26:00,616 - api.main - INFO - STDERR: [11/30 13:26:00] DEBUG | Navigate to SEARCH +2024-11-30 13:26:01,320 - api.main - INFO - STDERR: [11/30 13:26:01] DEBUG | Didn't find search in the tab bar... +2024-11-30 13:26:01,321 - api.main - INFO - STDERR: [11/30 13:26:01] DEBUG | Navigate to HOME +2024-11-30 13:26:07,205 - api.main - INFO - STDERR: [11/30 13:26:07] ERROR | Didn't find tab HOME in the tab bar... +2024-11-30 13:26:07,552 - api.main - INFO - STDERR: [11/30 13:26:07] DEBUG | Navigate to Search +2024-11-30 13:26:09,080 - api.main - INFO - STDERR: [11/30 13:26:09] ERROR | Traceback (most recent call last): +2024-11-30 13:26:09,080 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 620, in get_bounds +2024-11-30 13:26:09,080 - api.main - INFO - STDERR: return self.viewV2.info["bounds"] +2024-11-30 13:26:09,080 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\decorator.py", line 232, in fun +2024-11-30 13:26:09,080 - api.main - INFO - STDERR: return caller(func, *(extras + args), **kw) +2024-11-30 13:26:09,080 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 73, in retry_decorator +2024-11-30 13:26:09,080 - api.main - INFO - STDERR: return __retry_internal(partial(f, *args, **kwargs), exceptions, tries, delay, max_delay, backoff, jitter, +2024-11-30 13:26:09,080 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 33, in __retry_internal +2024-11-30 13:26:09,080 - api.main - INFO - STDERR: return f() +2024-11-30 13:26:09,080 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_selector.py", line 130, in info +2024-11-30 13:26:09,080 - api.main - INFO - STDERR: return self.jsonrpc.objInfo(self.selector) +2024-11-30 13:26:09,080 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 480, in __call__ +2024-11-30 13:26:09,081 - api.main - INFO - STDERR: return self.server._jsonrpc_retry_call(self.method, params, +2024-11-30 13:26:09,081 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 487, in _jsonrpc_retry_call +2024-11-30 13:26:09,081 - api.main - INFO - STDERR: return self._jsonrpc_call(*args, **kwargs) +2024-11-30 13:26:09,081 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 556, in _jsonrpc_call +2024-11-30 13:26:09,081 - api.main - INFO - STDERR: raise err +2024-11-30 13:26:09,081 - api.main - INFO - STDERR: uiautomator2.exceptions.UiObjectNotFoundError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 13:26:09,081 - api.main - INFO - STDERR: During handling of the above exception, another exception occurred: +2024-11-30 13:26:09,081 - api.main - INFO - STDERR: Traceback (most recent call last): +2024-11-30 13:26:09,081 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py", line 31, in wrapper +2024-11-30 13:26:09,081 - api.main - INFO - STDERR: func(*args, **kwargs) +2024-11-30 13:26:09,081 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 109, in job +2024-11-30 13:26:09,081 - api.main - INFO - STDERR: self.handle_blogger( +2024-11-30 13:26:09,081 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 185, in handle_blogger +2024-11-30 13:26:09,081 - api.main - INFO - STDERR: handle_followers( +2024-11-30 13:26:09,081 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py", line 674, in handle_followers +2024-11-30 13:26:09,082 - api.main - INFO - STDERR: if not nav_to_blogger(device, username, current_job): +2024-11-30 13:26:09,082 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\navigation.py", line 48, in nav_to_blogger +2024-11-30 13:26:09,082 - api.main - INFO - STDERR: search_view = TabBarView(device).navigateToSearch() +2024-11-30 13:26:09,082 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 113, in navigateToSearch +2024-11-30 13:26:09,082 - api.main - INFO - STDERR: self._navigateTo(TabBarTabs.SEARCH) +2024-11-30 13:26:09,082 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 157, in _navigateTo +2024-11-30 13:26:09,082 - api.main - INFO - STDERR: home_view.navigateToSearch() +2024-11-30 13:26:09,082 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 219, in navigateToSearch +2024-11-30 13:26:09,082 - api.main - INFO - STDERR: search_btn.click() +2024-11-30 13:26:09,082 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 464, in click +2024-11-30 13:26:09,082 - api.main - INFO - STDERR: visible_bounds = self.get_bounds() +2024-11-30 13:26:09,082 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 622, in get_bounds +2024-11-30 13:26:09,082 - api.main - INFO - STDERR: raise DeviceFacade.JsonRpcError(e) +2024-11-30 13:26:09,082 - api.main - INFO - STDERR: GramAddict.core.device_facade.DeviceFacade.JsonRpcError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 13:26:09,523 - api.main - INFO - STDERR: [11/30 13:26:09] INFO | Crash saved as crashes\3.2.12_2024-11-30-13-26-09.zip +2024-11-30 13:26:09,523 - api.main - INFO - STDERR: [11/30 13:26:09] INFO | If you want to report this crash, please upload the dump file via a ticket in the #lobby channel on discord +2024-11-30 13:26:09,523 - api.main - INFO - STDERR: [11/30 13:26:09] INFO | https://discord.gg/66zWWCDM7x +2024-11-30 13:26:10,219 - api.main - INFO - STDERR: [11/30 13:26:10] INFO | List of running apps: com.github.uiautomator, com.google.modemservice, com.qualcomm.qcrilmsgtunnel, com.google.android.apps.nexuslauncher, com.google.android.dialer, com.instagram.android, com.google.android.settings.intelligence, com.google.android.providers.media.module, com.android.chrome, com.google.android.ims, com.google.android.apps.scone, com.breel.wallpapers, com.google.android.euicc, com.google.android.youtube, com.google.android.calendar, com.google.android.apps.gcs, com.google.android.apps.turbo, com.google.android.apps.wellbeing, com.android.se, com.android.systemui, com.google.android.as, org.thoughtcrime.securesms, com.google.android.GoogleCamera, com.android.providers.calendar, com.google.android.apps.messaging, com.google.android.apps.youtube.music, com.google.android.gms, com.android.nfc, com.google.android.ext.services, com.google.android.apps.photos, com.qualcomm.qti.telephonyservice, com.android.settings, com.google.SSRestartDetector, com.google.android.inputmethod.latin, com.google.android.apps.tachyon, com.google.android.gm, com.google.android.apps.magazines, com.android.vending, com.android.phone. +2024-11-30 13:26:10,219 - api.main - INFO - STDERR: [11/30 13:26:10] INFO | - Total Crashes: OK (4/5) +2024-11-30 13:26:10,220 - api.main - INFO - STDERR: [11/30 13:26:10] INFO | Something unexpected happened. Let's try again. +2024-11-30 13:26:10,220 - api.main - INFO - STDERR: [11/30 13:26:10] INFO | Close Instagram app. +2024-11-30 13:26:10,336 - api.main - INFO - STDERR: [11/30 13:26:10] DEBUG | 5.0s sleep +2024-11-30 13:26:16,058 - api.main - INFO - STDERR: [11/30 13:26:16] DEBUG | 1.24s sleep +2024-11-30 13:26:17,314 - api.main - INFO - STDERR: [11/30 13:26:17] INFO | Open Instagram app. +2024-11-30 13:26:17,793 - api.main - INFO - STDERR: [11/30 13:26:17] DEBUG | Instagram called successfully. +2024-11-30 13:26:19,165 - api.main - INFO - STDERR: [11/30 13:26:19] INFO | Ready for botting!\U0001f92b +2024-11-30 13:26:19,165 - api.main - INFO - STDERR: [11/30 13:26:19] DEBUG | 2.76s sleep +2024-11-30 13:26:21,934 - api.main - INFO - STDERR: [11/30 13:26:21] DEBUG | Setting FastInputIME as default keyboard. +2024-11-30 13:26:22,241 - api.main - INFO - STDERR: [11/30 13:26:22] INFO | FastInputIME is the default keyboard. +2024-11-30 13:26:22,242 - api.main - INFO - STDERR: [11/30 13:26:22] DEBUG | Navigate to PROFILE +2024-11-30 13:26:23,274 - api.main - INFO - STDERR: [11/30 13:26:23] ERROR | Didn't find tab PROFILE in the tab bar... +2024-11-30 13:26:23,622 - api.main - INFO - STDERR: [11/30 13:26:23] DEBUG | Navigate to SEARCH +2024-11-30 13:26:24,371 - api.main - INFO - STDERR: [11/30 13:26:24] DEBUG | Didn't find search in the tab bar... +2024-11-30 13:26:24,372 - api.main - INFO - STDERR: [11/30 13:26:24] DEBUG | Navigate to HOME +2024-11-30 13:26:30,388 - api.main - INFO - STDERR: [11/30 13:26:30] ERROR | Didn't find tab HOME in the tab bar... +2024-11-30 13:26:30,772 - api.main - INFO - STDERR: [11/30 13:26:30] DEBUG | Navigate to Search +2024-11-30 13:26:32,230 - api.main - INFO - STDERR: [11/30 13:26:32] ERROR | Traceback (most recent call last): +2024-11-30 13:26:32,230 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 620, in get_bounds +2024-11-30 13:26:32,230 - api.main - INFO - STDERR: return self.viewV2.info["bounds"] +2024-11-30 13:26:32,230 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\decorator.py", line 232, in fun +2024-11-30 13:26:32,232 - api.main - INFO - STDERR: return caller(func, *(extras + args), **kw) +2024-11-30 13:26:32,232 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 73, in retry_decorator +2024-11-30 13:26:32,232 - api.main - INFO - STDERR: return __retry_internal(partial(f, *args, **kwargs), exceptions, tries, delay, max_delay, backoff, jitter, +2024-11-30 13:26:32,232 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 33, in __retry_internal +2024-11-30 13:26:32,232 - api.main - INFO - STDERR: return f() +2024-11-30 13:26:32,232 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_selector.py", line 130, in info +2024-11-30 13:26:32,232 - api.main - INFO - STDERR: return self.jsonrpc.objInfo(self.selector) +2024-11-30 13:26:32,232 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 480, in __call__ +2024-11-30 13:26:32,232 - api.main - INFO - STDERR: return self.server._jsonrpc_retry_call(self.method, params, +2024-11-30 13:26:32,232 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 487, in _jsonrpc_retry_call +2024-11-30 13:26:32,232 - api.main - INFO - STDERR: return self._jsonrpc_call(*args, **kwargs) +2024-11-30 13:26:32,232 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 556, in _jsonrpc_call +2024-11-30 13:26:32,232 - api.main - INFO - STDERR: raise err +2024-11-30 13:26:32,232 - api.main - INFO - STDERR: uiautomator2.exceptions.UiObjectNotFoundError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 13:26:32,232 - api.main - INFO - STDERR: During handling of the above exception, another exception occurred: +2024-11-30 13:26:32,233 - api.main - INFO - STDERR: Traceback (most recent call last): +2024-11-30 13:26:32,233 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py", line 31, in wrapper +2024-11-30 13:26:32,233 - api.main - INFO - STDERR: func(*args, **kwargs) +2024-11-30 13:26:32,233 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 109, in job +2024-11-30 13:26:32,233 - api.main - INFO - STDERR: self.handle_blogger( +2024-11-30 13:26:32,233 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 185, in handle_blogger +2024-11-30 13:26:32,233 - api.main - INFO - STDERR: handle_followers( +2024-11-30 13:26:32,233 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py", line 674, in handle_followers +2024-11-30 13:26:32,233 - api.main - INFO - STDERR: if not nav_to_blogger(device, username, current_job): +2024-11-30 13:26:32,233 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\navigation.py", line 48, in nav_to_blogger +2024-11-30 13:26:32,233 - api.main - INFO - STDERR: search_view = TabBarView(device).navigateToSearch() +2024-11-30 13:26:32,233 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 113, in navigateToSearch +2024-11-30 13:26:32,233 - api.main - INFO - STDERR: self._navigateTo(TabBarTabs.SEARCH) +2024-11-30 13:26:32,233 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 157, in _navigateTo +2024-11-30 13:26:32,233 - api.main - INFO - STDERR: home_view.navigateToSearch() +2024-11-30 13:26:32,233 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 219, in navigateToSearch +2024-11-30 13:26:32,233 - api.main - INFO - STDERR: search_btn.click() +2024-11-30 13:26:32,233 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 464, in click +2024-11-30 13:26:32,233 - api.main - INFO - STDERR: visible_bounds = self.get_bounds() +2024-11-30 13:26:32,233 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 622, in get_bounds +2024-11-30 13:26:32,233 - api.main - INFO - STDERR: raise DeviceFacade.JsonRpcError(e) +2024-11-30 13:26:32,233 - api.main - INFO - STDERR: GramAddict.core.device_facade.DeviceFacade.JsonRpcError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 13:26:32,804 - api.main - INFO - STDERR: [11/30 13:26:32] INFO | Crash saved as crashes\3.2.12_2024-11-30-13-26-32.zip +2024-11-30 13:26:32,804 - api.main - INFO - STDERR: [11/30 13:26:32] INFO | If you want to report this crash, please upload the dump file via a ticket in the #lobby channel on discord +2024-11-30 13:26:32,804 - api.main - INFO - STDERR: [11/30 13:26:32] INFO | https://discord.gg/66zWWCDM7x +2024-11-30 13:26:33,569 - api.main - INFO - STDERR: [11/30 13:26:33] INFO | List of running apps: com.github.uiautomator, com.google.modemservice, com.qualcomm.qcrilmsgtunnel, com.google.android.apps.nexuslauncher, com.google.android.dialer, com.instagram.android, com.google.android.settings.intelligence, com.google.android.providers.media.module, com.android.chrome, com.google.android.ims, com.google.android.apps.scone, com.breel.wallpapers, com.google.android.euicc, com.google.android.youtube, com.google.android.calendar, com.google.android.apps.gcs, com.google.android.apps.turbo, com.google.android.apps.wellbeing, com.android.se, com.android.systemui, com.google.android.as, org.thoughtcrime.securesms, com.google.android.GoogleCamera, com.android.providers.calendar, com.google.android.apps.messaging, com.google.android.apps.youtube.music, com.google.android.gms, com.android.nfc, com.google.android.ext.services, com.google.android.apps.photos, com.qualcomm.qti.telephonyservice, com.android.settings, com.google.SSRestartDetector, com.google.android.inputmethod.latin, com.google.android.apps.tachyon, com.google.android.gm, com.google.android.apps.magazines, com.android.vending, com.android.phone. +2024-11-30 13:26:33,569 - api.main - INFO - STDERR: [11/30 13:26:33] INFO | - Total Crashes: Limit Reached (5/5) +2024-11-30 13:26:33,570 - api.main - INFO - STDERR: [11/30 13:26:33] ERROR | Reached crashes limit. Bot has crashed too much! Please check what's going on. +2024-11-30 13:26:33,570 - api.main - INFO - STDERR: [11/30 13:26:33] INFO | Close Instagram app. +2024-11-30 13:26:33,726 - api.main - INFO - STDERR: [11/30 13:26:33] DEBUG | 5.0s sleep +2024-11-30 13:26:38,969 - api.main - INFO - STDERR: [11/30 13:26:38] INFO | -------- FINISH: 13:26:38 -------- +2024-11-30 13:26:38,969 - api.main - INFO - STDERR: [11/30 13:26:38] INFO | +2024-11-30 13:26:38,969 - api.main - INFO - STDERR: [11/30 13:26:38] INFO | TOTAL +2024-11-30 13:26:38,969 - api.main - INFO - STDERR: [11/30 13:26:38] INFO | Completed sessions: 0 +2024-11-30 13:26:38,970 - api.main - INFO - STDERR: [11/30 13:26:38] INFO | Total duration: 0:02:50 +2024-11-30 13:26:38,970 - api.main - INFO - STDERR: [11/30 13:26:38] INFO | Total interactions: (0) 0 +2024-11-30 13:26:38,971 - api.main - INFO - STDERR: [11/30 13:26:38] INFO | Successful interactions: (0) 0 +2024-11-30 13:26:38,971 - api.main - INFO - STDERR: [11/30 13:26:38] INFO | Total followed: (0) 0 +2024-11-30 13:26:38,971 - api.main - INFO - STDERR: [11/30 13:26:38] INFO | Total likes: 0 +2024-11-30 13:26:38,971 - api.main - INFO - STDERR: [11/30 13:26:38] INFO | Total comments: 0 +2024-11-30 13:26:38,972 - api.main - INFO - STDERR: [11/30 13:26:38] INFO | Total PM sent: 0 +2024-11-30 13:26:38,972 - api.main - INFO - STDERR: [11/30 13:26:38] INFO | Total watched: 0 +2024-11-30 13:26:38,972 - api.main - INFO - STDERR: [11/30 13:26:38] INFO | Total unfollowed: 0 +2024-11-30 13:26:38,984 - api.main - INFO - STDERR: [11/30 13:26:38] INFO | This bot is backed with love by me for free. If you like using it, consider donating to help keep me motivated: https://www.buymeacoffee.com/mastrolube +2024-11-30 13:26:39,001 - api.main - INFO - STDERR: # clear builtins._ +2024-11-30 13:26:39,001 - api.main - INFO - STDERR: # clear sys.path +2024-11-30 13:26:39,001 - api.main - INFO - STDERR: # clear sys.argv +2024-11-30 13:26:39,001 - api.main - INFO - STDERR: # clear sys.ps1 +2024-11-30 13:26:39,001 - api.main - INFO - STDERR: # clear sys.ps2 +2024-11-30 13:26:39,001 - api.main - INFO - STDERR: # clear sys.last_type +2024-11-30 13:26:39,001 - api.main - INFO - STDERR: # clear sys.last_value +2024-11-30 13:26:39,001 - api.main - INFO - STDERR: # clear sys.last_traceback +2024-11-30 13:26:39,001 - api.main - INFO - STDERR: # clear sys.path_hooks +2024-11-30 13:26:39,001 - api.main - INFO - STDERR: # clear sys.path_importer_cache +2024-11-30 13:26:39,001 - api.main - INFO - STDERR: # clear sys.meta_path +2024-11-30 13:26:39,001 - api.main - INFO - STDERR: # clear sys.__interactivehook__ +2024-11-30 13:26:39,003 - api.main - INFO - STDERR: # restore sys.stdin +2024-11-30 13:26:39,003 - api.main - INFO - STDERR: # restore sys.stdout +2024-11-30 13:26:39,003 - api.main - INFO - STDERR: # restore sys.stderr +2024-11-30 13:26:39,003 - api.main - INFO - STDERR: # cleanup[2] removing sys +2024-11-30 13:26:39,003 - api.main - INFO - STDERR: # cleanup[2] removing builtins +2024-11-30 13:26:39,003 - api.main - INFO - STDERR: # cleanup[2] removing _frozen_importlib +2024-11-30 13:26:39,003 - api.main - INFO - STDERR: # cleanup[2] removing _imp +2024-11-30 13:26:39,003 - api.main - INFO - STDERR: # cleanup[2] removing _thread +2024-11-30 13:26:39,003 - api.main - INFO - STDERR: # cleanup[2] removing _warnings +2024-11-30 13:26:39,003 - api.main - INFO - STDERR: # cleanup[2] removing _weakref +2024-11-30 13:26:39,003 - api.main - INFO - STDERR: # cleanup[2] removing _io +2024-11-30 13:26:39,003 - api.main - INFO - STDERR: # cleanup[2] removing marshal +2024-11-30 13:26:39,003 - api.main - INFO - STDERR: # cleanup[2] removing nt +2024-11-30 13:26:39,003 - api.main - INFO - STDERR: # cleanup[2] removing winreg +2024-11-30 13:26:39,004 - api.main - INFO - STDERR: # cleanup[2] removing _frozen_importlib_external +2024-11-30 13:26:39,004 - api.main - INFO - STDERR: # cleanup[2] removing time +2024-11-30 13:26:39,004 - api.main - INFO - STDERR: # cleanup[2] removing zipimport +2024-11-30 13:26:39,004 - api.main - INFO - STDERR: # cleanup[2] removing _codecs +2024-11-30 13:26:39,004 - api.main - INFO - STDERR: # cleanup[2] removing codecs +2024-11-30 13:26:39,004 - api.main - INFO - STDERR: # cleanup[2] removing encodings.aliases +2024-11-30 13:26:39,004 - api.main - INFO - STDERR: # cleanup[2] removing encodings +2024-11-30 13:26:39,004 - api.main - INFO - STDERR: # cleanup[2] removing encodings.utf_8 +2024-11-30 13:26:39,004 - api.main - INFO - STDERR: # cleanup[2] removing encodings.cp1252 +2024-11-30 13:26:39,004 - api.main - INFO - STDERR: # cleanup[2] removing _signal +2024-11-30 13:26:39,004 - api.main - INFO - STDERR: # cleanup[2] removing encodings.latin_1 +2024-11-30 13:26:39,004 - api.main - INFO - STDERR: # cleanup[2] removing _abc +2024-11-30 13:26:39,004 - api.main - INFO - STDERR: # cleanup[2] removing abc +2024-11-30 13:26:39,004 - api.main - INFO - STDERR: # cleanup[2] removing io +2024-11-30 13:26:39,004 - api.main - INFO - STDERR: # cleanup[2] removing __main__ +2024-11-30 13:26:39,004 - api.main - INFO - STDERR: # destroy __main__ +2024-11-30 13:26:39,005 - api.main - INFO - STDERR: # cleanup[2] removing _stat +2024-11-30 13:26:39,005 - api.main - INFO - STDERR: # cleanup[2] removing stat +2024-11-30 13:26:39,005 - api.main - INFO - STDERR: # cleanup[2] removing _collections_abc +2024-11-30 13:26:39,005 - api.main - INFO - STDERR: # cleanup[2] removing genericpath +2024-11-30 13:26:39,005 - api.main - INFO - STDERR: # cleanup[2] removing ntpath +2024-11-30 13:26:39,005 - api.main - INFO - STDERR: # cleanup[2] removing os.path +2024-11-30 13:26:39,005 - api.main - INFO - STDERR: # cleanup[2] removing os +2024-11-30 13:26:39,005 - api.main - INFO - STDERR: # cleanup[2] removing _sitebuiltins +2024-11-30 13:26:39,005 - api.main - INFO - STDERR: # cleanup[2] removing _locale +2024-11-30 13:26:39,005 - api.main - INFO - STDERR: # cleanup[2] removing _bootlocale +2024-11-30 13:26:39,005 - api.main - INFO - STDERR: # destroy _bootlocale +2024-11-30 13:26:39,005 - api.main - INFO - STDERR: # cleanup[2] removing _distutils_hack +2024-11-30 13:26:39,005 - api.main - INFO - STDERR: # destroy _distutils_hack +2024-11-30 13:26:39,005 - api.main - INFO - STDERR: # cleanup[2] removing site +2024-11-30 13:26:39,005 - api.main - INFO - STDERR: # destroy site +2024-11-30 13:26:39,006 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core +2024-11-30 13:26:39,006 - api.main - INFO - STDERR: # cleanup[2] removing types +2024-11-30 13:26:39,006 - api.main - INFO - STDERR: # cleanup[2] removing enum +2024-11-30 13:26:39,006 - api.main - INFO - STDERR: # cleanup[2] removing _sre +2024-11-30 13:26:39,006 - api.main - INFO - STDERR: # cleanup[2] removing sre_constants +2024-11-30 13:26:39,006 - api.main - INFO - STDERR: # destroy sre_constants +2024-11-30 13:26:39,006 - api.main - INFO - STDERR: # cleanup[2] removing sre_parse +2024-11-30 13:26:39,006 - api.main - INFO - STDERR: # cleanup[2] removing sre_compile +2024-11-30 13:26:39,006 - api.main - INFO - STDERR: # cleanup[2] removing _heapq +2024-11-30 13:26:39,006 - api.main - INFO - STDERR: # cleanup[2] removing heapq +2024-11-30 13:26:39,006 - api.main - INFO - STDERR: # cleanup[2] removing itertools +2024-11-30 13:26:39,006 - api.main - INFO - STDERR: # cleanup[2] removing keyword +2024-11-30 13:26:39,006 - api.main - INFO - STDERR: # cleanup[2] removing _operator +2024-11-30 13:26:39,006 - api.main - INFO - STDERR: # cleanup[2] removing operator +2024-11-30 13:26:39,006 - api.main - INFO - STDERR: # cleanup[2] removing reprlib +2024-11-30 13:26:39,006 - api.main - INFO - STDERR: # cleanup[2] removing _collections +2024-11-30 13:26:39,006 - api.main - INFO - STDERR: # cleanup[2] removing collections +2024-11-30 13:26:39,006 - api.main - INFO - STDERR: # cleanup[2] removing _functools +2024-11-30 13:26:39,006 - api.main - INFO - STDERR: # cleanup[2] removing functools +2024-11-30 13:26:39,006 - api.main - INFO - STDERR: # cleanup[2] removing copyreg +2024-11-30 13:26:39,006 - api.main - INFO - STDERR: # cleanup[2] removing re +2024-11-30 13:26:39,006 - api.main - INFO - STDERR: # cleanup[2] removing token +2024-11-30 13:26:39,006 - api.main - INFO - STDERR: # cleanup[2] removing tokenize +2024-11-30 13:26:39,007 - api.main - INFO - STDERR: # cleanup[2] removing linecache +2024-11-30 13:26:39,007 - api.main - INFO - STDERR: # cleanup[2] removing traceback +2024-11-30 13:26:39,007 - api.main - INFO - STDERR: # cleanup[2] removing warnings +2024-11-30 13:26:39,007 - api.main - INFO - STDERR: # cleanup[2] removing _weakrefset +2024-11-30 13:26:39,007 - api.main - INFO - STDERR: # destroy _weakrefset +2024-11-30 13:26:39,007 - api.main - INFO - STDERR: # cleanup[2] removing weakref +2024-11-30 13:26:39,007 - api.main - INFO - STDERR: # cleanup[2] removing collections.abc +2024-11-30 13:26:39,007 - api.main - INFO - STDERR: # cleanup[2] removing _string +2024-11-30 13:26:39,007 - api.main - INFO - STDERR: # cleanup[2] removing string +2024-11-30 13:26:39,008 - api.main - INFO - STDERR: # cleanup[2] removing threading +2024-11-30 13:26:39,008 - api.main - INFO - STDERR: # cleanup[2] removing atexit +2024-11-30 13:26:39,008 - api.main - INFO - STDERR: # cleanup[2] removing logging +2024-11-30 13:26:39,008 - api.main - INFO - STDERR: # cleanup[2] removing math +2024-11-30 13:26:39,008 - api.main - INFO - STDERR: # cleanup[2] removing _bisect +2024-11-30 13:26:39,008 - api.main - INFO - STDERR: # cleanup[2] removing bisect +2024-11-30 13:26:39,008 - api.main - INFO - STDERR: # cleanup[2] removing _random +2024-11-30 13:26:39,008 - api.main - INFO - STDERR: # cleanup[2] removing _sha512 +2024-11-30 13:26:39,008 - api.main - INFO - STDERR: # cleanup[2] removing random +2024-11-30 13:26:39,008 - api.main - INFO - STDERR: # cleanup[2] removing _datetime +2024-11-30 13:26:39,008 - api.main - INFO - STDERR: # cleanup[2] removing datetime +2024-11-30 13:26:39,008 - api.main - INFO - STDERR: # cleanup[2] removing contextlib +2024-11-30 13:26:39,008 - api.main - INFO - STDERR: # cleanup[2] removing colorama.ansi +2024-11-30 13:26:39,008 - api.main - INFO - STDERR: # cleanup[2] removing _ctypes +2024-11-30 13:26:39,008 - api.main - INFO - STDERR: # cleanup[2] removing _struct +2024-11-30 13:26:39,009 - api.main - INFO - STDERR: # cleanup[2] removing struct +2024-11-30 13:26:39,009 - api.main - INFO - STDERR: # cleanup[2] removing ctypes._endian +2024-11-30 13:26:39,009 - api.main - INFO - STDERR: # cleanup[2] removing ctypes +2024-11-30 13:26:39,009 - api.main - INFO - STDERR: # cleanup[2] removing ctypes.wintypes +2024-11-30 13:26:39,009 - api.main - INFO - STDERR: # cleanup[2] removing colorama.win32 +2024-11-30 13:26:39,009 - api.main - INFO - STDERR: # cleanup[2] removing colorama.winterm +2024-11-30 13:26:39,009 - api.main - INFO - STDERR: # cleanup[2] removing colorama.ansitowin32 +2024-11-30 13:26:39,009 - api.main - INFO - STDERR: # cleanup[2] removing colorama.initialise +2024-11-30 13:26:39,009 - api.main - INFO - STDERR: # cleanup[2] removing colorama +2024-11-30 13:26:39,009 - api.main - INFO - STDERR: # destroy colorama +2024-11-30 13:26:39,009 - api.main - INFO - STDERR: # destroy colorama.ansi +2024-11-30 13:26:39,009 - api.main - INFO - STDERR: # destroy colorama.winterm +2024-11-30 13:26:39,009 - api.main - INFO - STDERR: # destroy colorama.ansitowin32 +2024-11-30 13:26:39,009 - api.main - INFO - STDERR: # destroy colorama.initialise +2024-11-30 13:26:39,009 - api.main - INFO - STDERR: # cleanup[2] removing typing +2024-11-30 13:26:39,009 - api.main - INFO - STDERR: # cleanup[2] removing gettext +2024-11-30 13:26:39,009 - api.main - INFO - STDERR: # destroy gettext +2024-11-30 13:26:39,009 - api.main - INFO - STDERR: # cleanup[2] removing argparse +2024-11-30 13:26:39,009 - api.main - INFO - STDERR: # cleanup[2] removing _json +2024-11-30 13:26:39,009 - api.main - INFO - STDERR: # cleanup[2] removing json.scanner +2024-11-30 13:26:39,009 - api.main - INFO - STDERR: # cleanup[2] removing json.decoder +2024-11-30 13:26:39,010 - api.main - INFO - STDERR: # cleanup[2] removing json.encoder +2024-11-30 13:26:39,010 - api.main - INFO - STDERR: # cleanup[2] removing json +2024-11-30 13:26:39,010 - api.main - INFO - STDERR: # cleanup[2] removing posixpath +2024-11-30 13:26:39,010 - api.main - INFO - STDERR: # cleanup[2] removing fnmatch +2024-11-30 13:26:39,010 - api.main - INFO - STDERR: # cleanup[2] removing glob +2024-11-30 13:26:39,010 - api.main - INFO - STDERR: # cleanup[2] removing textwrap +2024-11-30 13:26:39,010 - api.main - INFO - STDERR: # cleanup[2] removing configargparse +2024-11-30 13:26:39,010 - api.main - INFO - STDERR: # cleanup[2] removing yaml.error +2024-11-30 13:26:39,010 - api.main - INFO - STDERR: # cleanup[2] removing yaml.tokens +2024-11-30 13:26:39,010 - api.main - INFO - STDERR: # cleanup[2] removing yaml.events +2024-11-30 13:26:39,010 - api.main - INFO - STDERR: # cleanup[2] removing yaml.nodes +2024-11-30 13:26:39,010 - api.main - INFO - STDERR: # cleanup[2] removing yaml.reader +2024-11-30 13:26:39,010 - api.main - INFO - STDERR: # cleanup[2] removing yaml.scanner +2024-11-30 13:26:39,010 - api.main - INFO - STDERR: # cleanup[2] removing yaml.parser +2024-11-30 13:26:39,010 - api.main - INFO - STDERR: # cleanup[2] removing yaml.composer +2024-11-30 13:26:39,010 - api.main - INFO - STDERR: # cleanup[2] removing binascii +2024-11-30 13:26:39,011 - api.main - INFO - STDERR: # cleanup[2] removing base64 +2024-11-30 13:26:39,011 - api.main - INFO - STDERR: # cleanup[2] removing yaml.constructor +2024-11-30 13:26:39,011 - api.main - INFO - STDERR: # cleanup[2] removing yaml.resolver +2024-11-30 13:26:39,011 - api.main - INFO - STDERR: # cleanup[2] removing yaml.loader +2024-11-30 13:26:39,011 - api.main - INFO - STDERR: # cleanup[2] removing yaml.emitter +2024-11-30 13:26:39,011 - api.main - INFO - STDERR: # cleanup[2] removing yaml.serializer +2024-11-30 13:26:39,011 - api.main - INFO - STDERR: # cleanup[2] removing yaml.representer +2024-11-30 13:26:39,011 - api.main - INFO - STDERR: # cleanup[2] removing yaml.dumper +2024-11-30 13:26:39,011 - api.main - INFO - STDERR: # cleanup[2] removing cython_runtime +2024-11-30 13:26:39,011 - api.main - INFO - STDERR: # cleanup[2] removing yaml._yaml +2024-11-30 13:26:39,011 - api.main - INFO - STDERR: # cleanup[2] removing yaml.cyaml +2024-11-30 13:26:39,011 - api.main - INFO - STDERR: # cleanup[2] removing yaml +2024-11-30 13:26:39,011 - api.main - INFO - STDERR: # cleanup[2] removing _ast +2024-11-30 13:26:39,011 - api.main - INFO - STDERR: # destroy _ast +2024-11-30 13:26:39,012 - api.main - INFO - STDERR: # cleanup[2] removing ast +2024-11-30 13:26:39,012 - api.main - INFO - STDERR: # cleanup[2] removing _opcode +2024-11-30 13:26:39,012 - api.main - INFO - STDERR: # cleanup[2] removing opcode +2024-11-30 13:26:39,012 - api.main - INFO - STDERR: # destroy opcode +2024-11-30 13:26:39,012 - api.main - INFO - STDERR: # cleanup[2] removing dis +2024-11-30 13:26:39,012 - api.main - INFO - STDERR: # cleanup[2] removing importlib._bootstrap +2024-11-30 13:26:39,012 - api.main - INFO - STDERR: # cleanup[2] removing importlib._bootstrap_external +2024-11-30 13:26:39,012 - api.main - INFO - STDERR: # cleanup[2] removing importlib +2024-11-30 13:26:39,012 - api.main - INFO - STDERR: # cleanup[2] removing importlib.machinery +2024-11-30 13:26:39,012 - api.main - INFO - STDERR: # cleanup[2] removing inspect +2024-11-30 13:26:39,012 - api.main - INFO - STDERR: # cleanup[2] removing importlib.abc +2024-11-30 13:26:39,012 - api.main - INFO - STDERR: # cleanup[2] removing importlib.util +2024-11-30 13:26:39,012 - api.main - INFO - STDERR: # cleanup[2] removing pkgutil +2024-11-30 13:26:39,012 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.plugin_loader +2024-11-30 13:26:39,012 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.config +2024-11-30 13:26:39,013 - api.main - INFO - STDERR: # cleanup[2] removing errno +2024-11-30 13:26:39,013 - api.main - INFO - STDERR: # cleanup[2] removing signal +2024-11-30 13:26:39,013 - api.main - INFO - STDERR: # cleanup[2] removing msvcrt +2024-11-30 13:26:39,013 - api.main - INFO - STDERR: # cleanup[2] removing _winapi +2024-11-30 13:26:39,013 - api.main - INFO - STDERR: # cleanup[2] removing subprocess +2024-11-30 13:26:39,013 - api.main - INFO - STDERR: # cleanup[2] removing __future__ +2024-11-30 13:26:39,013 - api.main - INFO - STDERR: # destroy __future__ +2024-11-30 13:26:39,014 - api.main - INFO - STDERR: # cleanup[2] removing _hashlib +2024-11-30 13:26:39,014 - api.main - INFO - STDERR: # cleanup[2] removing _blake2 +2024-11-30 13:26:39,014 - api.main - INFO - STDERR: # cleanup[2] removing hashlib +2024-11-30 13:26:39,014 - api.main - INFO - STDERR: # cleanup[2] removing zlib +2024-11-30 13:26:39,014 - api.main - INFO - STDERR: # cleanup[2] removing _compression +2024-11-30 13:26:39,014 - api.main - INFO - STDERR: # cleanup[2] removing _bz2 +2024-11-30 13:26:39,014 - api.main - INFO - STDERR: # destroy _bz2 +2024-11-30 13:26:39,014 - api.main - INFO - STDERR: # cleanup[2] removing bz2 +2024-11-30 13:26:39,014 - api.main - INFO - STDERR: # cleanup[2] removing _lzma +2024-11-30 13:26:39,014 - api.main - INFO - STDERR: # cleanup[2] removing lzma +2024-11-30 13:26:39,014 - api.main - INFO - STDERR: # cleanup[2] removing shutil +2024-11-30 13:26:39,014 - api.main - INFO - STDERR: # cleanup[2] removing xml +2024-11-30 13:26:39,014 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.domreg +2024-11-30 13:26:39,014 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom +2024-11-30 13:26:39,014 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.minicompat +2024-11-30 13:26:39,014 - api.main - INFO - STDERR: # cleanup[2] removing copy +2024-11-30 13:26:39,014 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.NodeFilter +2024-11-30 13:26:39,014 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.xmlbuilder +2024-11-30 13:26:39,014 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.minidom +2024-11-30 13:26:39,014 - api.main - INFO - STDERR: # cleanup[2] removing urllib +2024-11-30 13:26:39,014 - api.main - INFO - STDERR: # cleanup[2] removing urllib.parse +2024-11-30 13:26:39,014 - api.main - INFO - STDERR: # cleanup[2] removing pathlib +2024-11-30 13:26:39,014 - api.main - INFO - STDERR: # cleanup[2] removing packaging.__about__ +2024-11-30 13:26:39,014 - api.main - INFO - STDERR: # cleanup[2] removing packaging +2024-11-30 13:26:39,015 - api.main - INFO - STDERR: # cleanup[2] removing packaging._structures +2024-11-30 13:26:39,015 - api.main - INFO - STDERR: # cleanup[2] removing packaging._typing +2024-11-30 13:26:39,015 - api.main - INFO - STDERR: # cleanup[2] removing packaging.version +2024-11-30 13:26:39,015 - api.main - INFO - STDERR: # cleanup[2] removing deprecation +2024-11-30 13:26:39,015 - api.main - INFO - STDERR: # destroy deprecation +2024-11-30 13:26:39,015 - api.main - INFO - STDERR: # cleanup[2] removing _socket +2024-11-30 13:26:39,015 - api.main - INFO - STDERR: # cleanup[2] removing select +2024-11-30 13:26:39,015 - api.main - INFO - STDERR: # cleanup[2] removing selectors +2024-11-30 13:26:39,015 - api.main - INFO - STDERR: # cleanup[2] removing socket +2024-11-30 13:26:39,015 - api.main - INFO - STDERR: # cleanup[2] removing shlex +2024-11-30 13:26:39,015 - api.main - INFO - STDERR: # cleanup[2] removing tempfile +2024-11-30 13:26:39,015 - api.main - INFO - STDERR: # cleanup[2] removing zipfile +2024-11-30 13:26:39,015 - api.main - INFO - STDERR: # cleanup[2] removing whichcraft +2024-11-30 13:26:39,015 - api.main - INFO - STDERR: # cleanup[2] removing xml.parsers +2024-11-30 13:26:39,015 - api.main - INFO - STDERR: # cleanup[2] removing pyexpat.errors +2024-11-30 13:26:39,015 - api.main - INFO - STDERR: # cleanup[2] removing pyexpat.model +2024-11-30 13:26:39,016 - api.main - INFO - STDERR: # cleanup[2] removing pyexpat +2024-11-30 13:26:39,016 - api.main - INFO - STDERR: # cleanup[2] removing xml.parsers.expat.model +2024-11-30 13:26:39,016 - api.main - INFO - STDERR: # cleanup[2] removing xml.parsers.expat.errors +2024-11-30 13:26:39,016 - api.main - INFO - STDERR: # cleanup[2] removing xml.parsers.expat +2024-11-30 13:26:39,016 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax.handler +2024-11-30 13:26:39,016 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax._exceptions +2024-11-30 13:26:39,016 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax.xmlreader +2024-11-30 13:26:39,016 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax +2024-11-30 13:26:39,016 - api.main - INFO - STDERR: # cleanup[2] removing email +2024-11-30 13:26:39,016 - api.main - INFO - STDERR: # cleanup[2] removing http +2024-11-30 13:26:39,016 - api.main - INFO - STDERR: # cleanup[2] removing email.errors +2024-11-30 13:26:39,016 - api.main - INFO - STDERR: # cleanup[2] removing email.quoprimime +2024-11-30 13:26:39,016 - api.main - INFO - STDERR: # cleanup[2] removing email.base64mime +2024-11-30 13:26:39,016 - api.main - INFO - STDERR: # cleanup[2] removing quopri +2024-11-30 13:26:39,016 - api.main - INFO - STDERR: # cleanup[2] removing email.encoders +2024-11-30 13:26:39,017 - api.main - INFO - STDERR: # cleanup[2] removing email.charset +2024-11-30 13:26:39,017 - api.main - INFO - STDERR: # cleanup[2] removing email.header +2024-11-30 13:26:39,017 - api.main - INFO - STDERR: # cleanup[2] removing locale +2024-11-30 13:26:39,017 - api.main - INFO - STDERR: # cleanup[2] removing calendar +2024-11-30 13:26:39,017 - api.main - INFO - STDERR: # cleanup[2] removing email._parseaddr +2024-11-30 13:26:39,017 - api.main - INFO - STDERR: # cleanup[2] removing email.utils +2024-11-30 13:26:39,017 - api.main - INFO - STDERR: # cleanup[2] removing email._policybase +2024-11-30 13:26:39,017 - api.main - INFO - STDERR: # cleanup[2] removing email.feedparser +2024-11-30 13:26:39,018 - api.main - INFO - STDERR: # cleanup[2] removing email.parser +2024-11-30 13:26:39,018 - api.main - INFO - STDERR: # cleanup[2] removing uu +2024-11-30 13:26:39,018 - api.main - INFO - STDERR: # cleanup[2] removing email._encoded_words +2024-11-30 13:26:39,018 - api.main - INFO - STDERR: # cleanup[2] removing email.iterators +2024-11-30 13:26:39,018 - api.main - INFO - STDERR: # cleanup[2] removing email.message +2024-11-30 13:26:39,018 - api.main - INFO - STDERR: # cleanup[2] removing _ssl +2024-11-30 13:26:39,018 - api.main - INFO - STDERR: # cleanup[2] removing ssl +2024-11-30 13:26:39,018 - api.main - INFO - STDERR: # cleanup[2] removing http.client +2024-11-30 13:26:39,018 - api.main - INFO - STDERR: # cleanup[2] removing urllib.response +2024-11-30 13:26:39,018 - api.main - INFO - STDERR: # cleanup[2] removing urllib.error +2024-11-30 13:26:39,018 - api.main - INFO - STDERR: # cleanup[2] removing nturl2path +2024-11-30 13:26:39,018 - api.main - INFO - STDERR: # destroy nturl2path +2024-11-30 13:26:39,018 - api.main - INFO - STDERR: # cleanup[2] removing urllib.request +2024-11-30 13:26:39,018 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax.saxutils +2024-11-30 13:26:39,018 - api.main - INFO - STDERR: # cleanup[2] removing platform +2024-11-30 13:26:39,019 - api.main - INFO - STDERR: # cleanup[2] removing xmltodict +2024-11-30 13:26:39,019 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.apkfile +2024-11-30 13:26:39,019 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml +2024-11-30 13:26:39,019 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml.chunk +2024-11-30 13:26:39,019 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml.arscparser +2024-11-30 13:26:39,019 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml.public +2024-11-30 13:26:39,019 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml.axmlparser +2024-11-30 13:26:39,019 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex +2024-11-30 13:26:39,019 - api.main - INFO - STDERR: # cleanup[2] removing array +2024-11-30 13:26:39,019 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.util +2024-11-30 13:26:39,019 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.byteio +2024-11-30 13:26:39,019 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.dalvikformats +2024-11-30 13:26:39,019 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.dalvik +2024-11-30 13:26:39,019 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.dexparser +2024-11-30 13:26:39,019 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.manifest +2024-11-30 13:26:39,019 - api.main - INFO - STDERR: # cleanup[2] removing cigam +2024-11-30 13:26:39,020 - api.main - INFO - STDERR: # destroy cigam +2024-11-30 13:26:39,020 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2 +2024-11-30 13:26:39,020 - api.main - INFO - STDERR: # cleanup[2] removing plistlib +2024-11-30 13:26:39,020 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.util +2024-11-30 13:26:39,020 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.unicode +2024-11-30 13:26:39,020 - api.main - INFO - STDERR: # destroy pyparsing.unicode +2024-11-30 13:26:39,020 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.exceptions +2024-11-30 13:26:39,020 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.actions +2024-11-30 13:26:39,020 - api.main - INFO - STDERR: # cleanup[2] removing pprint +2024-11-30 13:26:39,020 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.results +2024-11-30 13:26:39,020 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.core +2024-11-30 13:26:39,020 - api.main - INFO - STDERR: # cleanup[2] removing html.entities +2024-11-30 13:26:39,020 - api.main - INFO - STDERR: # cleanup[2] removing html +2024-11-30 13:26:39,020 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.helpers +2024-11-30 13:26:39,020 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.testing +2024-11-30 13:26:39,020 - api.main - INFO - STDERR: # destroy pyparsing.testing +2024-11-30 13:26:39,021 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.common +2024-11-30 13:26:39,021 - api.main - INFO - STDERR: # destroy pyparsing.common +2024-11-30 13:26:39,021 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing +2024-11-30 13:26:39,021 - api.main - INFO - STDERR: # destroy pyparsing +2024-11-30 13:26:39,021 - api.main - INFO - STDERR: # cleanup[2] removing packaging._compat +2024-11-30 13:26:39,021 - api.main - INFO - STDERR: # cleanup[2] removing setuptools._distutils +2024-11-30 13:26:39,021 - api.main - INFO - STDERR: # cleanup[2] removing jaraco +2024-11-30 13:26:39,021 - api.main - INFO - STDERR: # destroy jaraco +2024-11-30 13:26:39,022 - api.main - INFO - STDERR: # cleanup[2] removing _queue +2024-11-30 13:26:39,022 - api.main - INFO - STDERR: # cleanup[2] removing queue +2024-11-30 13:26:39,022 - api.main - INFO - STDERR: # cleanup[2] removing more_itertools.recipes +2024-11-30 13:26:39,022 - api.main - INFO - STDERR: # cleanup[2] removing more_itertools.more +2024-11-30 13:26:39,022 - api.main - INFO - STDERR: # cleanup[2] removing more_itertools +2024-11-30 13:26:39,022 - api.main - INFO - STDERR: # cleanup[2] removing jaraco.functools +2024-11-30 13:26:39,022 - api.main - INFO - STDERR: # destroy jaraco.functools +2024-11-30 13:26:39,022 - api.main - INFO - STDERR: # cleanup[2] removing distutils.compat.py38 +2024-11-30 13:26:39,022 - api.main - INFO - STDERR: # cleanup[2] removing distutils.compat +2024-11-30 13:26:39,022 - api.main - INFO - STDERR: # cleanup[2] removing distutils.compat.py39 +2024-11-30 13:26:39,022 - api.main - INFO - STDERR: # cleanup[2] removing distutils.errors +2024-11-30 13:26:39,022 - api.main - INFO - STDERR: # cleanup[2] removing distutils._modified +2024-11-30 13:26:39,022 - api.main - INFO - STDERR: # cleanup[2] removing distutils._log +2024-11-30 13:26:39,022 - api.main - INFO - STDERR: # cleanup[2] removing distutils.file_util +2024-11-30 13:26:39,022 - api.main - INFO - STDERR: # cleanup[2] removing distutils.dir_util +2024-11-30 13:26:39,022 - api.main - INFO - STDERR: # cleanup[2] removing distutils.debug +2024-11-30 13:26:39,023 - api.main - INFO - STDERR: # cleanup[2] removing distutils.spawn +2024-11-30 13:26:39,023 - api.main - INFO - STDERR: # cleanup[2] removing distutils.archive_util +2024-11-30 13:26:39,023 - api.main - INFO - STDERR: # cleanup[2] removing sysconfig +2024-11-30 13:26:39,023 - api.main - INFO - STDERR: # cleanup[2] removing distutils.util +2024-11-30 13:26:39,023 - api.main - INFO - STDERR: # cleanup[2] removing distutils.cmd +2024-11-30 13:26:39,023 - api.main - INFO - STDERR: # cleanup[2] removing distutils +2024-11-30 13:26:39,023 - api.main - INFO - STDERR: # cleanup[2] removing packaging.tags +2024-11-30 13:26:39,023 - api.main - INFO - STDERR: # cleanup[2] removing packaging.utils +2024-11-30 13:26:39,023 - api.main - INFO - STDERR: # cleanup[2] removing packaging.specifiers +2024-11-30 13:26:39,023 - api.main - INFO - STDERR: # cleanup[2] removing packaging.markers +2024-11-30 13:26:39,023 - api.main - INFO - STDERR: # cleanup[2] removing packaging.requirements +2024-11-30 13:26:39,023 - api.main - INFO - STDERR: # cleanup[2] removing importlib._common +2024-11-30 13:26:39,023 - api.main - INFO - STDERR: # cleanup[2] removing importlib.resources +2024-11-30 13:26:39,023 - api.main - INFO - STDERR: # cleanup[2] removing backports +2024-11-30 13:26:39,023 - api.main - INFO - STDERR: # destroy backports +2024-11-30 13:26:39,024 - api.main - INFO - STDERR: # cleanup[2] removing backports.tarfile.compat +2024-11-30 13:26:39,024 - api.main - INFO - STDERR: # cleanup[2] removing backports.tarfile.compat.py38 +2024-11-30 13:26:39,024 - api.main - INFO - STDERR: # cleanup[2] removing backports.tarfile +2024-11-30 13:26:39,024 - api.main - INFO - STDERR: # cleanup[2] removing jaraco.context +2024-11-30 13:26:39,024 - api.main - INFO - STDERR: # destroy jaraco.context +2024-11-30 13:26:39,024 - api.main - INFO - STDERR: # cleanup[2] removing jaraco.text +2024-11-30 13:26:39,024 - api.main - INFO - STDERR: # destroy jaraco.text +2024-11-30 13:26:39,024 - api.main - INFO - STDERR: # cleanup[2] removing platformdirs.api +2024-11-30 13:26:39,024 - api.main - INFO - STDERR: # cleanup[2] removing platformdirs.version +2024-11-30 13:26:39,024 - api.main - INFO - STDERR: # cleanup[2] removing platformdirs.windows +2024-11-30 13:26:39,024 - api.main - INFO - STDERR: # cleanup[2] removing platformdirs +2024-11-30 13:26:39,024 - api.main - INFO - STDERR: # destroy platformdirs +2024-11-30 13:26:39,024 - api.main - INFO - STDERR: # cleanup[2] removing pkg_resources +2024-11-30 13:26:39,024 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._utils +2024-11-30 13:26:39,024 - api.main - INFO - STDERR: # cleanup[2] removing adbutils.errors +2024-11-30 13:26:39,024 - api.main - INFO - STDERR: # cleanup[2] removing dataclasses +2024-11-30 13:26:39,024 - api.main - INFO - STDERR: # destroy dataclasses +2024-11-30 13:26:39,025 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._proto +2024-11-30 13:26:39,025 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._version +2024-11-30 13:26:39,025 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._adb +2024-11-30 13:26:39,025 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages +2024-11-30 13:26:39,025 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six +2024-11-30 13:26:39,025 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six.moves +2024-11-30 13:26:39,025 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six.moves.http_client +2024-11-30 13:26:39,025 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.exceptions +2024-11-30 13:26:39,025 - api.main - INFO - STDERR: # cleanup[2] removing urllib3._version +2024-11-30 13:26:39,025 - api.main - INFO - STDERR: # cleanup[2] removing urllib3._collections +2024-11-30 13:26:39,025 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.contrib +2024-11-30 13:26:39,025 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.contrib._appengine_environ +2024-11-30 13:26:39,025 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.wait +2024-11-30 13:26:39,025 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.connection +2024-11-30 13:26:39,025 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.request +2024-11-30 13:26:39,025 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.response +2024-11-30 13:26:39,026 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.retry +2024-11-30 13:26:39,026 - api.main - INFO - STDERR: # cleanup[2] removing hmac +2024-11-30 13:26:39,026 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.url +2024-11-30 13:26:39,026 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.ssltransport +2024-11-30 13:26:39,026 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.ssl_ +2024-11-30 13:26:39,026 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.timeout +2024-11-30 13:26:39,026 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util +2024-11-30 13:26:39,026 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.proxy +2024-11-30 13:26:39,026 - api.main - INFO - STDERR: # cleanup[2] removing ipaddress +2024-11-30 13:26:39,026 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.ssl_match_hostname +2024-11-30 13:26:39,026 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.connection +2024-11-30 13:26:39,026 - api.main - INFO - STDERR: # cleanup[2] removing mimetypes +2024-11-30 13:26:39,026 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.fields +2024-11-30 13:26:39,027 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.filepost +2024-11-30 13:26:39,027 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six.moves.urllib +2024-11-30 13:26:39,027 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six.moves.urllib.parse +2024-11-30 13:26:39,027 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.request +2024-11-30 13:26:39,027 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.response +2024-11-30 13:26:39,027 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.queue +2024-11-30 13:26:39,027 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.connectionpool +2024-11-30 13:26:39,027 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.poolmanager +2024-11-30 13:26:39,028 - api.main - INFO - STDERR: # cleanup[2] removing urllib3 +2024-11-30 13:26:39,028 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.constant +2024-11-30 13:26:39,028 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.md__mypyc +2024-11-30 13:26:39,028 - api.main - INFO - STDERR: # cleanup[2] removing unicodedata +2024-11-30 13:26:39,028 - api.main - INFO - STDERR: # cleanup[2] removing _multibytecodec +2024-11-30 13:26:39,028 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.utils +2024-11-30 13:26:39,028 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.md +2024-11-30 13:26:39,028 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.models +2024-11-30 13:26:39,028 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.cd +2024-11-30 13:26:39,028 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.api +2024-11-30 13:26:39,028 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.legacy +2024-11-30 13:26:39,028 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.version +2024-11-30 13:26:39,028 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer +2024-11-30 13:26:39,028 - api.main - INFO - STDERR: # cleanup[2] removing http.cookiejar +2024-11-30 13:26:39,028 - api.main - INFO - STDERR: # cleanup[2] removing http.cookies +2024-11-30 13:26:39,029 - api.main - INFO - STDERR: # cleanup[2] removing requests.compat +2024-11-30 13:26:39,029 - api.main - INFO - STDERR: # cleanup[2] removing requests.exceptions +2024-11-30 13:26:39,029 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages +2024-11-30 13:26:39,029 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six +2024-11-30 13:26:39,029 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six.moves +2024-11-30 13:26:39,029 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six.moves.http_client +2024-11-30 13:26:39,029 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.exceptions +2024-11-30 13:26:39,029 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3._version +2024-11-30 13:26:39,029 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3._collections +2024-11-30 13:26:39,029 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.contrib +2024-11-30 13:26:39,029 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.contrib._appengine_environ +2024-11-30 13:26:39,029 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.wait +2024-11-30 13:26:39,029 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.connection +2024-11-30 13:26:39,029 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.request +2024-11-30 13:26:39,029 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.response +2024-11-30 13:26:39,029 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.retry +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.url +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.ssltransport +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.ssl_ +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.timeout +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.proxy +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.ssl_match_hostname +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.connection +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.fields +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.filepost +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six.moves.urllib +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six.moves.urllib.parse +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.request +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.response +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.queue +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.connectionpool +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.poolmanager +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3 +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing idna.idnadata +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing idna.intranges +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing idna.core +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing idna.package_data +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing idna +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna.idnadata +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna.intranges +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna.core +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna.package_data +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.chardet +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing certifi.core +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # cleanup[2] removing certifi +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # destroy certifi +2024-11-30 13:26:39,030 - api.main - INFO - STDERR: # destroy certifi.core +2024-11-30 13:26:39,032 - api.main - INFO - STDERR: # cleanup[2] removing requests.certs +2024-11-30 13:26:39,032 - api.main - INFO - STDERR: # cleanup[2] removing requests.__version__ +2024-11-30 13:26:39,032 - api.main - INFO - STDERR: # destroy requests.__version__ +2024-11-30 13:26:39,032 - api.main - INFO - STDERR: # cleanup[2] removing requests._internal_utils +2024-11-30 13:26:39,032 - api.main - INFO - STDERR: # cleanup[2] removing requests.cookies +2024-11-30 13:26:39,032 - api.main - INFO - STDERR: # cleanup[2] removing requests.structures +2024-11-30 13:26:39,032 - api.main - INFO - STDERR: # cleanup[2] removing requests.utils +2024-11-30 13:26:39,032 - api.main - INFO - STDERR: # cleanup[2] removing requests.auth +2024-11-30 13:26:39,032 - api.main - INFO - STDERR: # cleanup[2] removing stringprep +2024-11-30 13:26:39,032 - api.main - INFO - STDERR: # cleanup[2] removing encodings.idna +2024-11-30 13:26:39,032 - api.main - INFO - STDERR: # cleanup[2] removing requests.hooks +2024-11-30 13:26:39,032 - api.main - INFO - STDERR: # cleanup[2] removing requests.status_codes +2024-11-30 13:26:39,032 - api.main - INFO - STDERR: # cleanup[2] removing requests.models +2024-11-30 13:26:39,032 - api.main - INFO - STDERR: # cleanup[2] removing requests.adapters +2024-11-30 13:26:39,032 - api.main - INFO - STDERR: # cleanup[2] removing requests.sessions +2024-11-30 13:26:39,033 - api.main - INFO - STDERR: # cleanup[2] removing requests.api +2024-11-30 13:26:39,033 - api.main - INFO - STDERR: # cleanup[2] removing requests +2024-11-30 13:26:39,033 - api.main - INFO - STDERR: # cleanup[2] removing PIL._version +2024-11-30 13:26:39,033 - api.main - INFO - STDERR: # destroy PIL._version +2024-11-30 13:26:39,033 - api.main - INFO - STDERR: # cleanup[2] removing PIL +2024-11-30 13:26:39,033 - api.main - INFO - STDERR: # destroy PIL +2024-11-30 13:26:39,033 - api.main - INFO - STDERR: # cleanup[2] removing PIL.ExifTags +2024-11-30 13:26:39,033 - api.main - INFO - STDERR: # cleanup[2] removing PIL._deprecate +2024-11-30 13:26:39,033 - api.main - INFO - STDERR: # destroy PIL._deprecate +2024-11-30 13:26:39,033 - api.main - INFO - STDERR: # cleanup[2] removing PIL.ImageMode +2024-11-30 13:26:39,033 - api.main - INFO - STDERR: # cleanup[2] removing PIL.TiffTags +2024-11-30 13:26:39,033 - api.main - INFO - STDERR: # cleanup[2] removing PIL._binary +2024-11-30 13:26:39,033 - api.main - INFO - STDERR: # destroy PIL._binary +2024-11-30 13:26:39,033 - api.main - INFO - STDERR: # cleanup[2] removing typing_extensions +2024-11-30 13:26:39,033 - api.main - INFO - STDERR: # destroy typing_extensions +2024-11-30 13:26:39,034 - api.main - INFO - STDERR: # cleanup[2] removing PIL._typing +2024-11-30 13:26:39,034 - api.main - INFO - STDERR: # destroy PIL._typing +2024-11-30 13:26:39,034 - api.main - INFO - STDERR: # cleanup[2] removing PIL._util +2024-11-30 13:26:39,034 - api.main - INFO - STDERR: # destroy PIL._util +2024-11-30 13:26:39,034 - api.main - INFO - STDERR: # cleanup[2] removing PIL._imaging +2024-11-30 13:26:39,034 - api.main - INFO - STDERR: # cleanup[2] removing PIL.Image +2024-11-30 13:26:39,034 - api.main - INFO - STDERR: # cleanup[2] removing decorator +2024-11-30 13:26:39,034 - api.main - INFO - STDERR: # destroy decorator +2024-11-30 13:26:39,034 - api.main - INFO - STDERR: # cleanup[2] removing retry.compat +2024-11-30 13:26:39,034 - api.main - INFO - STDERR: # cleanup[2] removing retry.api +2024-11-30 13:26:39,034 - api.main - INFO - STDERR: # cleanup[2] removing retry +2024-11-30 13:26:39,034 - api.main - INFO - STDERR: # destroy retry +2024-11-30 13:26:39,034 - api.main - INFO - STDERR: # destroy retry.compat +2024-11-30 13:26:39,034 - api.main - INFO - STDERR: # destroy retry.api +2024-11-30 13:26:39,034 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._device +2024-11-30 13:26:39,034 - api.main - INFO - STDERR: # cleanup[2] removing adbutils +2024-11-30 13:26:39,034 - api.main - INFO - STDERR: # cleanup[2] removing filelock._error +2024-11-30 13:26:39,034 - api.main - INFO - STDERR: # cleanup[2] removing filelock._api +2024-11-30 13:26:39,034 - api.main - INFO - STDERR: # cleanup[2] removing filelock._util +2024-11-30 13:26:39,034 - api.main - INFO - STDERR: # cleanup[2] removing filelock._soft +2024-11-30 13:26:39,034 - api.main - INFO - STDERR: # cleanup[2] removing filelock._unix +2024-11-30 13:26:39,034 - api.main - INFO - STDERR: # cleanup[2] removing filelock._windows +2024-11-30 13:26:39,034 - api.main - INFO - STDERR: # cleanup[2] removing concurrent +2024-11-30 13:26:39,035 - api.main - INFO - STDERR: # cleanup[2] removing concurrent.futures._base +2024-11-30 13:26:39,035 - api.main - INFO - STDERR: # cleanup[2] removing concurrent.futures +2024-11-30 13:26:39,035 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.constants +2024-11-30 13:26:39,035 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.format_helpers +2024-11-30 13:26:39,035 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.base_futures +2024-11-30 13:26:39,035 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.log +2024-11-30 13:26:39,035 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.coroutines +2024-11-30 13:26:39,035 - api.main - INFO - STDERR: # cleanup[2] removing _contextvars +2024-11-30 13:26:39,035 - api.main - INFO - STDERR: # cleanup[2] removing contextvars +2024-11-30 13:26:39,035 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.exceptions +2024-11-30 13:26:39,035 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.base_tasks +2024-11-30 13:26:39,035 - api.main - INFO - STDERR: # cleanup[2] removing _asyncio +2024-11-30 13:26:39,035 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.events +2024-11-30 13:26:39,035 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.futures +2024-11-30 13:26:39,035 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.protocols +2024-11-30 13:26:39,036 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.transports +2024-11-30 13:26:39,036 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.sslproto +2024-11-30 13:26:39,036 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.locks +2024-11-30 13:26:39,036 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.tasks +2024-11-30 13:26:39,036 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.staggered +2024-11-30 13:26:39,036 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.trsock +2024-11-30 13:26:39,036 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.base_events +2024-11-30 13:26:39,036 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.runners +2024-11-30 13:26:39,036 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.queues +2024-11-30 13:26:39,036 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.streams +2024-11-30 13:26:39,036 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.subprocess +2024-11-30 13:26:39,036 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.threads +2024-11-30 13:26:39,036 - api.main - INFO - STDERR: # cleanup[2] removing _overlapped +2024-11-30 13:26:39,036 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.base_subprocess +2024-11-30 13:26:39,036 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.proactor_events +2024-11-30 13:26:39,037 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.selector_events +2024-11-30 13:26:39,037 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.windows_utils +2024-11-30 13:26:39,037 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.windows_events +2024-11-30 13:26:39,037 - api.main - INFO - STDERR: # cleanup[2] removing asyncio +2024-11-30 13:26:39,037 - api.main - INFO - STDERR: # cleanup[2] removing filelock.asyncio +2024-11-30 13:26:39,037 - api.main - INFO - STDERR: # cleanup[2] removing filelock.version +2024-11-30 13:26:39,037 - api.main - INFO - STDERR: # destroy filelock.version +2024-11-30 13:26:39,037 - api.main - INFO - STDERR: # cleanup[2] removing filelock +2024-11-30 13:26:39,037 - api.main - INFO - STDERR: # cleanup[2] removing logzero.colors +2024-11-30 13:26:39,037 - api.main - INFO - STDERR: # cleanup[2] removing logzero.jsonlogger +2024-11-30 13:26:39,037 - api.main - INFO - STDERR: # cleanup[2] removing _compat_pickle +2024-11-30 13:26:39,037 - api.main - INFO - STDERR: # cleanup[2] removing _pickle +2024-11-30 13:26:39,037 - api.main - INFO - STDERR: # cleanup[2] removing pickle +2024-11-30 13:26:39,037 - api.main - INFO - STDERR: # cleanup[2] removing logging.handlers +2024-11-30 13:26:39,038 - api.main - INFO - STDERR: # cleanup[2] removing logzero +2024-11-30 13:26:39,038 - api.main - INFO - STDERR: # cleanup[2] removing six +2024-11-30 13:26:39,038 - api.main - INFO - STDERR: # cleanup[2] removing six.moves +2024-11-30 13:26:39,038 - api.main - INFO - STDERR: # cleanup[2] removing six.moves.urllib +2024-11-30 13:26:39,038 - api.main - INFO - STDERR: # cleanup[2] removing six.moves.urllib.parse +2024-11-30 13:26:39,038 - api.main - INFO - STDERR: # cleanup[2] removing cached_property +2024-11-30 13:26:39,038 - api.main - INFO - STDERR: # destroy cached_property +2024-11-30 13:26:39,038 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.wrappers +2024-11-30 13:26:39,038 - api.main - INFO - STDERR: # cleanup[2] removing wrapt._wrappers +2024-11-30 13:26:39,038 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.__wrapt__ +2024-11-30 13:26:39,038 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.patches +2024-11-30 13:26:39,038 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.weakrefs +2024-11-30 13:26:39,038 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.arguments +2024-11-30 13:26:39,038 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.decorators +2024-11-30 13:26:39,038 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.importer +2024-11-30 13:26:39,038 - api.main - INFO - STDERR: # cleanup[2] removing wrapt +2024-11-30 13:26:39,038 - api.main - INFO - STDERR: # cleanup[2] removing deprecated.classic +2024-11-30 13:26:39,038 - api.main - INFO - STDERR: # cleanup[2] removing deprecated +2024-11-30 13:26:39,040 - api.main - INFO - STDERR: # destroy deprecated +2024-11-30 13:26:39,040 - api.main - INFO - STDERR: # destroy deprecated.classic +2024-11-30 13:26:39,040 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2._proto +2024-11-30 13:26:39,040 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.abcd +2024-11-30 13:26:39,040 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.exceptions +2024-11-30 13:26:39,040 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.utils +2024-11-30 13:26:39,040 - api.main - INFO - STDERR: # cleanup[2] removing lxml +2024-11-30 13:26:39,040 - api.main - INFO - STDERR: # destroy lxml +2024-11-30 13:26:39,040 - api.main - INFO - STDERR: # cleanup[2] removing _cython_3_0_11 +2024-11-30 13:26:39,040 - api.main - INFO - STDERR: # destroy _cython_3_0_11 +2024-11-30 13:26:39,040 - api.main - INFO - STDERR: # cleanup[2] removing gc +2024-11-30 13:26:39,040 - api.main - INFO - STDERR: # cleanup[2] removing lxml._elementpath +2024-11-30 13:26:39,040 - api.main - INFO - STDERR: # cleanup[2] removing gzip +2024-11-30 13:26:39,040 - api.main - INFO - STDERR: # cleanup[2] removing lxml.etree +2024-11-30 13:26:39,041 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.xpath +2024-11-30 13:26:39,041 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2._selector +2024-11-30 13:26:39,041 - api.main - INFO - STDERR: # cleanup[2] removing tarfile +2024-11-30 13:26:39,041 - api.main - INFO - STDERR: # cleanup[2] removing progress +2024-11-30 13:26:39,041 - api.main - INFO - STDERR: # cleanup[2] removing progress.colors +2024-11-30 13:26:39,041 - api.main - INFO - STDERR: # cleanup[2] removing progress.bar +2024-11-30 13:26:39,041 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.version +2024-11-30 13:26:39,041 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.init +2024-11-30 13:26:39,041 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.settings +2024-11-30 13:26:39,041 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.swipe +2024-11-30 13:26:39,041 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.watcher +2024-11-30 13:26:39,041 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2 +2024-11-30 13:26:39,041 - api.main - INFO - STDERR: # cleanup[2] removing emoji.unicode_codes.data_dict +2024-11-30 13:26:39,041 - api.main - INFO - STDERR: # cleanup[2] removing emoji.unicode_codes +2024-11-30 13:26:39,041 - api.main - INFO - STDERR: # cleanup[2] removing emoji.core +2024-11-30 13:26:39,042 - api.main - INFO - STDERR: # cleanup[2] removing emoji +2024-11-30 13:26:39,042 - api.main - INFO - STDERR: # cleanup[2] removing _uuid +2024-11-30 13:26:39,042 - api.main - INFO - STDERR: # cleanup[2] removing uuid +2024-11-30 13:26:39,042 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.log +2024-11-30 13:26:39,042 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.report +2024-11-30 13:26:39,042 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.resources +2024-11-30 13:26:39,042 - api.main - INFO - STDERR: # cleanup[2] removing atomicwrites +2024-11-30 13:26:39,042 - api.main - INFO - STDERR: # destroy atomicwrites +2024-11-30 13:26:39,042 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.storage +2024-11-30 13:26:39,042 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.utils +2024-11-30 13:26:39,042 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.device_facade +2024-11-30 13:26:39,042 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.lang_detect_exception +2024-11-30 13:26:39,042 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.language +2024-11-30 13:26:39,042 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils +2024-11-30 13:26:39,042 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils.messages +2024-11-30 13:26:39,042 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils.unicode_block +2024-11-30 13:26:39,042 - api.main - INFO - STDERR: # cleanup[2] removing encodings.unicode_escape +2024-11-30 13:26:39,042 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils.ngram +2024-11-30 13:26:39,042 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.detector +2024-11-30 13:26:39,042 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils.lang_profile +2024-11-30 13:26:39,043 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.detector_factory +2024-11-30 13:26:39,043 - api.main - INFO - STDERR: # cleanup[2] removing langdetect +2024-11-30 13:26:39,043 - api.main - INFO - STDERR: # destroy langdetect +2024-11-30 13:26:39,043 - api.main - INFO - STDERR: # destroy langdetect.lang_detect_exception +2024-11-30 13:26:39,043 - api.main - INFO - STDERR: # destroy langdetect.language +2024-11-30 13:26:39,043 - api.main - INFO - STDERR: # destroy langdetect.utils +2024-11-30 13:26:39,043 - api.main - INFO - STDERR: # destroy langdetect.utils.unicode_block +2024-11-30 13:26:39,043 - api.main - INFO - STDERR: # destroy langdetect.utils.ngram +2024-11-30 13:26:39,043 - api.main - INFO - STDERR: # destroy langdetect.utils.lang_profile +2024-11-30 13:26:39,043 - api.main - INFO - STDERR: # destroy langdetect.detector +2024-11-30 13:26:39,043 - api.main - INFO - STDERR: # destroy langdetect.detector_factory +2024-11-30 13:26:39,043 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.views +2024-11-30 13:26:39,043 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.filter +2024-11-30 13:26:39,043 - api.main - INFO - STDERR: # cleanup[2] removing spintax.spintax +2024-11-30 13:26:39,044 - api.main - INFO - STDERR: # cleanup[2] removing spintax +2024-11-30 13:26:39,044 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.session_state +2024-11-30 13:26:39,044 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.interaction +2024-11-30 13:26:39,044 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.navigation +2024-11-30 13:26:39,044 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.persistent_list +2024-11-30 13:26:39,044 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.bot_flow +2024-11-30 13:26:39,044 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict +2024-11-30 13:26:39,044 - api.main - INFO - STDERR: # destroy GramAddict +2024-11-30 13:26:39,044 - api.main - INFO - STDERR: # cleanup[2] removing netrc +2024-11-30 13:26:39,044 - api.main - INFO - STDERR: # destroy netrc +2024-11-30 13:26:39,044 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins +2024-11-30 13:26:39,044 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.decorators +2024-11-30 13:26:39,044 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.scroll_end_detector +2024-11-30 13:26:39,045 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.action_unfollow_followers +2024-11-30 13:26:39,045 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.cloned_app +2024-11-30 13:26:39,045 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.core_arguments +2024-11-30 13:26:39,045 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.data_analytics +2024-11-30 13:26:39,045 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.dbinit +2024-11-30 13:26:39,045 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.handle_sources +2024-11-30 13:26:39,045 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_blogger +2024-11-30 13:26:39,045 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_blogger_followers +2024-11-30 13:26:39,045 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_blogger_post_likers +2024-11-30 13:26:39,045 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_feed +2024-11-30 13:26:39,045 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_hashtag_likers +2024-11-30 13:26:39,045 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_hashtag_posts +2024-11-30 13:26:39,045 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_place_likers +2024-11-30 13:26:39,045 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_place_posts +2024-11-30 13:26:39,046 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.like_from_urls +2024-11-30 13:26:39,046 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.nocodb_record_creation_test +2024-11-30 13:26:39,046 - api.main - INFO - STDERR: # cleanup[2] removing jwt.exceptions +2024-11-30 13:26:39,046 - api.main - INFO - STDERR: # cleanup[2] removing jwt.types +2024-11-30 13:26:39,046 - api.main - INFO - STDERR: # cleanup[2] removing jwt.utils +2024-11-30 13:26:39,046 - api.main - INFO - STDERR: # cleanup[2] removing jwt.algorithms +2024-11-30 13:26:39,046 - api.main - INFO - STDERR: # cleanup[2] removing jwt.api_jwk +2024-11-30 13:26:39,046 - api.main - INFO - STDERR: # cleanup[2] removing jwt.warnings +2024-11-30 13:26:39,046 - api.main - INFO - STDERR: # cleanup[2] removing jwt.api_jws +2024-11-30 13:26:39,046 - api.main - INFO - STDERR: # cleanup[2] removing jwt.api_jwt +2024-11-30 13:26:39,046 - api.main - INFO - STDERR: # cleanup[2] removing jwt.jwk_set_cache +2024-11-30 13:26:39,046 - api.main - INFO - STDERR: # cleanup[2] removing jwt.jwks_client +2024-11-30 13:26:39,047 - api.main - INFO - STDERR: # cleanup[2] removing jwt +2024-11-30 13:26:39,047 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.nocodb_storage +2024-11-30 13:26:39,047 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.remove_followers +2024-11-30 13:26:39,047 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.telegram +2024-11-30 13:26:39,047 - api.main - INFO - STDERR: # cleanup[2] removing _strptime +2024-11-30 13:26:39,057 - api.main - INFO - STDERR: # destroy _sitebuiltins +2024-11-30 13:26:39,057 - api.main - INFO - STDERR: # destroy GramAddict.core +2024-11-30 13:26:39,058 - api.main - INFO - STDERR: # destroy GramAddict.core.plugin_loader +2024-11-30 13:26:39,058 - api.main - INFO - STDERR: # destroy GramAddict.core.config +2024-11-30 13:26:39,058 - api.main - INFO - STDERR: # destroy GramAddict.core.log +2024-11-30 13:26:39,058 - api.main - INFO - STDERR: # destroy GramAddict.core.report +2024-11-30 13:26:39,058 - api.main - INFO - STDERR: # destroy GramAddict.core.resources +2024-11-30 13:26:39,058 - api.main - INFO - STDERR: # destroy GramAddict.core.utils +2024-11-30 13:26:39,058 - api.main - INFO - STDERR: # destroy GramAddict.core.device_facade +2024-11-30 13:26:39,059 - api.main - INFO - STDERR: # destroy GramAddict.core.views +2024-11-30 13:26:39,059 - api.main - INFO - STDERR: # destroy GramAddict.core.filter +2024-11-30 13:26:39,059 - api.main - INFO - STDERR: # destroy GramAddict.core.session_state +2024-11-30 13:26:39,059 - api.main - INFO - STDERR: # destroy GramAddict.core.interaction +2024-11-30 13:26:39,059 - api.main - INFO - STDERR: # destroy GramAddict.core.navigation +2024-11-30 13:26:39,059 - api.main - INFO - STDERR: # destroy GramAddict.core.persistent_list +2024-11-30 13:26:39,059 - api.main - INFO - STDERR: # destroy GramAddict.core.bot_flow +2024-11-30 13:26:39,059 - api.main - INFO - STDERR: # destroy GramAddict.core.decorators +2024-11-30 13:26:39,059 - api.main - INFO - STDERR: # destroy GramAddict.core.scroll_end_detector +2024-11-30 13:26:39,059 - api.main - INFO - STDERR: # destroy GramAddict.core.handle_sources +2024-11-30 13:26:39,059 - api.main - INFO - STDERR: # destroy GramAddict.plugins +2024-11-30 13:26:39,059 - api.main - INFO - STDERR: # destroy GramAddict.plugins.action_unfollow_followers +2024-11-30 13:26:39,060 - api.main - INFO - STDERR: # destroy GramAddict.plugins.cloned_app +2024-11-30 13:26:39,060 - api.main - INFO - STDERR: # destroy GramAddict.plugins.core_arguments +2024-11-30 13:26:39,060 - api.main - INFO - STDERR: # destroy GramAddict.plugins.data_analytics +2024-11-30 13:26:39,060 - api.main - INFO - STDERR: # destroy GramAddict.plugins.dbinit +2024-11-30 13:26:39,060 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_blogger +2024-11-30 13:26:39,060 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_blogger_followers +2024-11-30 13:26:39,060 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_blogger_post_likers +2024-11-30 13:26:39,060 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_feed +2024-11-30 13:26:39,060 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_hashtag_likers +2024-11-30 13:26:39,060 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_hashtag_posts +2024-11-30 13:26:39,060 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_place_likers +2024-11-30 13:26:39,061 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_place_posts +2024-11-30 13:26:39,061 - api.main - INFO - STDERR: # destroy GramAddict.plugins.like_from_urls +2024-11-30 13:26:39,061 - api.main - INFO - STDERR: # destroy GramAddict.plugins.nocodb_record_creation_test +2024-11-30 13:26:39,061 - api.main - INFO - STDERR: # destroy GramAddict.plugins.nocodb_storage +2024-11-30 13:26:39,061 - api.main - INFO - STDERR: # destroy GramAddict.plugins.remove_followers +2024-11-30 13:26:39,061 - api.main - INFO - STDERR: # destroy GramAddict.plugins.telegram +2024-11-30 13:26:39,061 - api.main - INFO - STDERR: # destroy pyparsing.util +2024-11-30 13:26:39,061 - api.main - INFO - STDERR: # destroy pyparsing.exceptions +2024-11-30 13:26:39,061 - api.main - INFO - STDERR: # destroy pyparsing.actions +2024-11-30 13:26:39,061 - api.main - INFO - STDERR: # destroy pyparsing.results +2024-11-30 13:26:39,061 - api.main - INFO - STDERR: # destroy pyparsing.core +2024-11-30 13:26:39,061 - api.main - INFO - STDERR: # destroy pyparsing.helpers +2024-11-30 13:26:39,061 - api.main - INFO - STDERR: # destroy langdetect.utils.messages +2024-11-30 13:26:39,061 - api.main - INFO - STDERR: # cleanup[3] wiping _strptime +2024-11-30 13:26:39,061 - api.main - INFO - STDERR: # cleanup[3] wiping jwt +2024-11-30 13:26:39,062 - api.main - INFO - STDERR: # destroy jwt.exceptions +2024-11-30 13:26:39,062 - api.main - INFO - STDERR: # destroy jwt.types +2024-11-30 13:26:39,062 - api.main - INFO - STDERR: # destroy jwt.utils +2024-11-30 13:26:39,062 - api.main - INFO - STDERR: # destroy jwt.algorithms +2024-11-30 13:26:39,062 - api.main - INFO - STDERR: # destroy jwt.api_jwk +2024-11-30 13:26:39,062 - api.main - INFO - STDERR: # destroy jwt.warnings +2024-11-30 13:26:39,062 - api.main - INFO - STDERR: # destroy jwt.api_jwt +2024-11-30 13:26:39,062 - api.main - INFO - STDERR: # destroy jwt.jwk_set_cache +2024-11-30 13:26:39,062 - api.main - INFO - STDERR: # destroy jwt.jwks_client +2024-11-30 13:26:39,062 - api.main - INFO - STDERR: # cleanup[3] wiping jwt.api_jws +2024-11-30 13:26:39,062 - api.main - INFO - STDERR: # cleanup[3] wiping spintax +2024-11-30 13:26:39,062 - api.main - INFO - STDERR: # destroy spintax.spintax +2024-11-30 13:26:39,062 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.unicode_escape +2024-11-30 13:26:39,063 - api.main - INFO - STDERR: # cleanup[3] wiping GramAddict.core.storage +2024-11-30 13:26:39,063 - api.main - INFO - STDERR: # cleanup[3] wiping uuid +2024-11-30 13:26:39,063 - api.main - INFO - STDERR: # cleanup[3] wiping _uuid +2024-11-30 13:26:39,063 - api.main - INFO - STDERR: # destroy _uuid +2024-11-30 13:26:39,063 - api.main - INFO - STDERR: # cleanup[3] wiping emoji +2024-11-30 13:26:39,063 - api.main - INFO - STDERR: # destroy emoji.core +2024-11-30 13:26:39,063 - api.main - INFO - STDERR: # cleanup[3] wiping emoji.unicode_codes +2024-11-30 13:26:39,063 - api.main - INFO - STDERR: # destroy emoji.unicode_codes.data_dict +2024-11-30 13:26:39,063 - api.main - INFO - STDERR: # cleanup[3] wiping uiautomator2 +2024-11-30 13:26:39,063 - api.main - INFO - STDERR: # destroy uiautomator2._proto +2024-11-30 13:26:39,063 - api.main - INFO - STDERR: # destroy uiautomator2._selector +2024-11-30 13:26:39,064 - api.main - INFO - STDERR: # destroy logzero +2024-11-30 13:26:39,064 - api.main - INFO - STDERR: # destroy uiautomator2.abcd +2024-11-30 13:26:39,064 - api.main - INFO - STDERR: # destroy uiautomator2.exceptions +2024-11-30 13:26:39,064 - api.main - INFO - STDERR: # destroy uiautomator2.utils +2024-11-30 13:26:39,064 - api.main - INFO - STDERR: # destroy uiautomator2.xpath +2024-11-30 13:26:39,064 - api.main - INFO - STDERR: # destroy uiautomator2.version +2024-11-30 13:26:39,064 - api.main - INFO - STDERR: # destroy uiautomator2.init +2024-11-30 13:26:39,064 - api.main - INFO - STDERR: # destroy uiautomator2.settings +2024-11-30 13:26:39,064 - api.main - INFO - STDERR: # destroy uiautomator2.swipe +2024-11-30 13:26:39,064 - api.main - INFO - STDERR: # destroy uiautomator2.watcher +2024-11-30 13:26:39,064 - api.main - INFO - STDERR: # cleanup[3] wiping progress.bar +2024-11-30 13:26:39,064 - api.main - INFO - STDERR: # cleanup[3] wiping progress.colors +2024-11-30 13:26:39,064 - api.main - INFO - STDERR: # cleanup[3] wiping progress +2024-11-30 13:26:39,064 - api.main - INFO - STDERR: # destroy progress.colors +2024-11-30 13:26:39,064 - api.main - INFO - STDERR: # destroy progress.bar +2024-11-30 13:26:39,065 - api.main - INFO - STDERR: # cleanup[3] wiping tarfile +2024-11-30 13:26:39,065 - api.main - INFO - STDERR: # cleanup[3] wiping lxml.etree +2024-11-30 13:26:39,065 - api.main - INFO - STDERR: # cleanup[3] wiping gzip +2024-11-30 13:26:39,065 - api.main - INFO - STDERR: # cleanup[3] wiping lxml._elementpath +2024-11-30 13:26:39,065 - api.main - INFO - STDERR: # cleanup[3] wiping gc +2024-11-30 13:26:39,065 - api.main - INFO - STDERR: # cleanup[3] wiping wrapt +2024-11-30 13:26:39,065 - api.main - INFO - STDERR: # destroy wrapt.wrappers +2024-11-30 13:26:39,065 - api.main - INFO - STDERR: # destroy wrapt.__wrapt__ +2024-11-30 13:26:39,065 - api.main - INFO - STDERR: # destroy wrapt.patches +2024-11-30 13:26:39,065 - api.main - INFO - STDERR: # destroy wrapt.weakrefs +2024-11-30 13:26:39,065 - api.main - INFO - STDERR: # destroy wrapt.arguments +2024-11-30 13:26:39,065 - api.main - INFO - STDERR: # destroy wrapt.decorators +2024-11-30 13:26:39,065 - api.main - INFO - STDERR: # destroy wrapt.importer +2024-11-30 13:26:39,065 - api.main - INFO - STDERR: # cleanup[3] wiping wrapt._wrappers +2024-11-30 13:26:39,065 - api.main - INFO - STDERR: # cleanup[3] wiping six.moves.urllib.parse +2024-11-30 13:26:39,065 - api.main - INFO - STDERR: # cleanup[3] wiping six.moves.urllib +2024-11-30 13:26:39,066 - api.main - INFO - STDERR: # cleanup[3] wiping six.moves +2024-11-30 13:26:39,066 - api.main - INFO - STDERR: # cleanup[3] wiping six +2024-11-30 13:26:39,066 - api.main - INFO - STDERR: # destroy six.moves.urllib +2024-11-30 13:26:39,066 - api.main - INFO - STDERR: # destroy six.moves +2024-11-30 13:26:39,066 - api.main - INFO - STDERR: # cleanup[3] wiping logging.handlers +2024-11-30 13:26:39,066 - api.main - INFO - STDERR: # destroy pickle +2024-11-30 13:26:39,066 - api.main - INFO - STDERR: # cleanup[3] wiping _pickle +2024-11-30 13:26:39,066 - api.main - INFO - STDERR: # cleanup[3] wiping _compat_pickle +2024-11-30 13:26:39,066 - api.main - INFO - STDERR: # cleanup[3] wiping logzero.jsonlogger +2024-11-30 13:26:39,066 - api.main - INFO - STDERR: # cleanup[3] wiping logzero.colors +2024-11-30 13:26:39,066 - api.main - INFO - STDERR: # cleanup[3] wiping filelock +2024-11-30 13:26:39,066 - api.main - INFO - STDERR: # destroy filelock._error +2024-11-30 13:26:39,066 - api.main - INFO - STDERR: # destroy filelock._api +2024-11-30 13:26:39,066 - api.main - INFO - STDERR: # destroy filelock._util +2024-11-30 13:26:39,066 - api.main - INFO - STDERR: # destroy filelock._soft +2024-11-30 13:26:39,066 - api.main - INFO - STDERR: # destroy filelock._unix +2024-11-30 13:26:39,066 - api.main - INFO - STDERR: # destroy filelock._windows +2024-11-30 13:26:39,066 - api.main - INFO - STDERR: # destroy filelock.asyncio +2024-11-30 13:26:39,066 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio +2024-11-30 13:26:39,066 - api.main - INFO - STDERR: # destroy asyncio.log +2024-11-30 13:26:39,066 - api.main - INFO - STDERR: # destroy asyncio.runners +2024-11-30 13:26:39,066 - api.main - INFO - STDERR: # destroy asyncio.queues +2024-11-30 13:26:39,066 - api.main - INFO - STDERR: # destroy asyncio.subprocess +2024-11-30 13:26:39,066 - api.main - INFO - STDERR: # destroy asyncio.threads +2024-11-30 13:26:39,067 - api.main - INFO - STDERR: # destroy asyncio.windows_events +2024-11-30 13:26:39,067 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.windows_utils +2024-11-30 13:26:39,067 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.selector_events +2024-11-30 13:26:39,067 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.proactor_events +2024-11-30 13:26:39,067 - api.main - INFO - STDERR: # destroy asyncio.base_events +2024-11-30 13:26:39,067 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.base_subprocess +2024-11-30 13:26:39,067 - api.main - INFO - STDERR: # cleanup[3] wiping _overlapped +2024-11-30 13:26:39,067 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.streams +2024-11-30 13:26:39,067 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.trsock +2024-11-30 13:26:39,067 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.staggered +2024-11-30 13:26:39,067 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.tasks +2024-11-30 13:26:39,067 - api.main - INFO - STDERR: # destroy asyncio.base_tasks +2024-11-30 13:26:39,067 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.locks +2024-11-30 13:26:39,067 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.sslproto +2024-11-30 13:26:39,067 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.transports +2024-11-30 13:26:39,067 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.protocols +2024-11-30 13:26:39,067 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.futures +2024-11-30 13:26:39,067 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.events +2024-11-30 13:26:39,067 - api.main - INFO - STDERR: # cleanup[3] wiping _asyncio +2024-11-30 13:26:39,067 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.exceptions +2024-11-30 13:26:39,067 - api.main - INFO - STDERR: # cleanup[3] wiping contextvars +2024-11-30 13:26:39,067 - api.main - INFO - STDERR: # cleanup[3] wiping _contextvars +2024-11-30 13:26:39,067 - api.main - INFO - STDERR: # destroy _contextvars +2024-11-30 13:26:39,069 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.coroutines +2024-11-30 13:26:39,069 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.base_futures +2024-11-30 13:26:39,069 - api.main - INFO - STDERR: # destroy asyncio.format_helpers +2024-11-30 13:26:39,069 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.constants +2024-11-30 13:26:39,069 - api.main - INFO - STDERR: # cleanup[3] wiping concurrent.futures +2024-11-30 13:26:39,069 - api.main - INFO - STDERR: # destroy concurrent.futures._base +2024-11-30 13:26:39,069 - api.main - INFO - STDERR: # cleanup[3] wiping concurrent +2024-11-30 13:26:39,069 - api.main - INFO - STDERR: # destroy concurrent.futures +2024-11-30 13:26:39,069 - api.main - INFO - STDERR: # cleanup[3] wiping adbutils +2024-11-30 13:26:39,069 - api.main - INFO - STDERR: # destroy adbutils._utils +2024-11-30 13:26:39,069 - api.main - INFO - STDERR: # destroy adbutils._proto +2024-11-30 13:26:39,070 - api.main - INFO - STDERR: # destroy adbutils._version +2024-11-30 13:26:39,070 - api.main - INFO - STDERR: # destroy pkg_resources +2024-11-30 13:26:39,070 - api.main - INFO - STDERR: # destroy adbutils._adb +2024-11-30 13:26:39,070 - api.main - INFO - STDERR: # destroy adbutils._device +2024-11-30 13:26:39,070 - api.main - INFO - STDERR: # destroy adbutils.errors +2024-11-30 13:26:39,070 - api.main - INFO - STDERR: # cleanup[3] wiping PIL.Image +2024-11-30 13:26:39,070 - api.main - INFO - STDERR: # destroy PIL.ExifTags +2024-11-30 13:26:39,070 - api.main - INFO - STDERR: # destroy PIL.ImageMode +2024-11-30 13:26:39,070 - api.main - INFO - STDERR: # destroy PIL.TiffTags +2024-11-30 13:26:39,070 - api.main - INFO - STDERR: # cleanup[3] wiping PIL._imaging +2024-11-30 13:26:39,070 - api.main - INFO - STDERR: # cleanup[3] wiping requests +2024-11-30 13:26:39,070 - api.main - INFO - STDERR: # destroy requests._internal_utils +2024-11-30 13:26:39,070 - api.main - INFO - STDERR: # destroy requests.compat +2024-11-30 13:26:39,070 - api.main - INFO - STDERR: # destroy requests.exceptions +2024-11-30 13:26:39,070 - api.main - INFO - STDERR: # destroy requests.packages +2024-11-30 13:26:39,070 - api.main - INFO - STDERR: # destroy idna +2024-11-30 13:26:39,071 - api.main - INFO - STDERR: # destroy idna.intranges +2024-11-30 13:26:39,071 - api.main - INFO - STDERR: # destroy idna.core +2024-11-30 13:26:39,071 - api.main - INFO - STDERR: # destroy idna.package_data +2024-11-30 13:26:39,071 - api.main - INFO - STDERR: # destroy requests.cookies +2024-11-30 13:26:39,071 - api.main - INFO - STDERR: # destroy requests.structures +2024-11-30 13:26:39,071 - api.main - INFO - STDERR: # destroy requests.utils +2024-11-30 13:26:39,071 - api.main - INFO - STDERR: # destroy requests.auth +2024-11-30 13:26:39,071 - api.main - INFO - STDERR: # destroy requests.hooks +2024-11-30 13:26:39,071 - api.main - INFO - STDERR: # destroy requests.status_codes +2024-11-30 13:26:39,071 - api.main - INFO - STDERR: # destroy requests.models +2024-11-30 13:26:39,071 - api.main - INFO - STDERR: # destroy requests.adapters +2024-11-30 13:26:39,071 - api.main - INFO - STDERR: # destroy requests.api +2024-11-30 13:26:39,071 - api.main - INFO - STDERR: # cleanup[3] wiping requests.sessions +2024-11-30 13:26:39,071 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.idna +2024-11-30 13:26:39,071 - api.main - INFO - STDERR: # destroy stringprep +2024-11-30 13:26:39,071 - api.main - INFO - STDERR: # cleanup[3] wiping requests.certs +2024-11-30 13:26:39,072 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.chardet +2024-11-30 13:26:39,072 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.idna.idnadata +2024-11-30 13:26:39,072 - api.main - INFO - STDERR: # cleanup[3] wiping idna.idnadata +2024-11-30 13:26:39,072 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3 +2024-11-30 13:26:39,072 - api.main - INFO - STDERR: # destroy urllib3._version +2024-11-30 13:26:39,072 - api.main - INFO - STDERR: # destroy urllib3._collections +2024-11-30 13:26:39,072 - api.main - INFO - STDERR: # destroy urllib3.packages +2024-11-30 13:26:39,072 - api.main - INFO - STDERR: # destroy urllib3.exceptions +2024-11-30 13:26:39,072 - api.main - INFO - STDERR: # destroy urllib3.contrib +2024-11-30 13:26:39,072 - api.main - INFO - STDERR: # destroy urllib3.connection +2024-11-30 13:26:39,072 - api.main - INFO - STDERR: # destroy urllib3.fields +2024-11-30 13:26:39,072 - api.main - INFO - STDERR: # destroy urllib3.filepost +2024-11-30 13:26:39,072 - api.main - INFO - STDERR: # destroy urllib3.request +2024-11-30 13:26:39,073 - api.main - INFO - STDERR: # destroy urllib3.response +2024-11-30 13:26:39,073 - api.main - INFO - STDERR: # destroy urllib3.connectionpool +2024-11-30 13:26:39,073 - api.main - INFO - STDERR: # destroy urllib3.poolmanager +2024-11-30 13:26:39,073 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util.queue +2024-11-30 13:26:39,073 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six.moves.urllib.parse +2024-11-30 13:26:39,073 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six.moves.urllib +2024-11-30 13:26:39,073 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util.ssl_match_hostname +2024-11-30 13:26:39,073 - api.main - INFO - STDERR: # destroy ipaddress +2024-11-30 13:26:39,074 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util.proxy +2024-11-30 13:26:39,074 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util +2024-11-30 13:26:39,074 - api.main - INFO - STDERR: # destroy urllib3.util.wait +2024-11-30 13:26:39,074 - api.main - INFO - STDERR: # destroy urllib3.util.request +2024-11-30 13:26:39,074 - api.main - INFO - STDERR: # destroy urllib3.util.response +2024-11-30 13:26:39,074 - api.main - INFO - STDERR: # destroy urllib3.util.retry +2024-11-30 13:26:39,075 - api.main - INFO - STDERR: # destroy urllib3.util.url +2024-11-30 13:26:39,075 - api.main - INFO - STDERR: # destroy urllib3.util.ssltransport +2024-11-30 13:26:39,075 - api.main - INFO - STDERR: # destroy urllib3.util.ssl_ +2024-11-30 13:26:39,075 - api.main - INFO - STDERR: # destroy urllib3.util.timeout +2024-11-30 13:26:39,075 - api.main - INFO - STDERR: # destroy urllib3.util.proxy +2024-11-30 13:26:39,075 - api.main - INFO - STDERR: # destroy urllib3.util.ssl_match_hostname +2024-11-30 13:26:39,075 - api.main - INFO - STDERR: # destroy urllib3.util.queue +2024-11-30 13:26:39,075 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util.connection +2024-11-30 13:26:39,076 - api.main - INFO - STDERR: # destroy urllib3.contrib._appengine_environ +2024-11-30 13:26:39,076 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six.moves.http_client +2024-11-30 13:26:39,076 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six.moves +2024-11-30 13:26:39,076 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six +2024-11-30 13:26:39,076 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib +2024-11-30 13:26:39,077 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves +2024-11-30 13:26:39,077 - api.main - INFO - STDERR: # cleanup[3] wiping http.cookies +2024-11-30 13:26:39,077 - api.main - INFO - STDERR: # cleanup[3] wiping http.cookiejar +2024-11-30 13:26:39,077 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer +2024-11-30 13:26:39,077 - api.main - INFO - STDERR: # destroy charset_normalizer.models +2024-11-30 13:26:39,077 - api.main - INFO - STDERR: # destroy charset_normalizer.cd +2024-11-30 13:26:39,077 - api.main - INFO - STDERR: # destroy charset_normalizer.api +2024-11-30 13:26:39,077 - api.main - INFO - STDERR: # destroy charset_normalizer.legacy +2024-11-30 13:26:39,077 - api.main - INFO - STDERR: # destroy charset_normalizer.version +2024-11-30 13:26:39,077 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer.md +2024-11-30 13:26:39,077 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer.utils +2024-11-30 13:26:39,077 - api.main - INFO - STDERR: # cleanup[3] wiping _multibytecodec +2024-11-30 13:26:39,077 - api.main - INFO - STDERR: # cleanup[3] wiping unicodedata +2024-11-30 13:26:39,077 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer.md__mypyc +2024-11-30 13:26:39,078 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer.constant +2024-11-30 13:26:39,078 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3 +2024-11-30 13:26:39,078 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.packages.six.moves.urllib.parse +2024-11-30 13:26:39,078 - api.main - INFO - STDERR: # cleanup[3] wiping mimetypes +2024-11-30 13:26:39,078 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.util +2024-11-30 13:26:39,078 - api.main - INFO - STDERR: # cleanup[3] wiping hmac +2024-11-30 13:26:39,078 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.util.connection +2024-11-30 13:26:39,078 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.packages.six.moves.http_client +2024-11-30 13:26:39,078 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.packages.six +2024-11-30 13:26:39,078 - api.main - INFO - STDERR: # cleanup[3] wiping platformdirs.windows +2024-11-30 13:26:39,078 - api.main - INFO - STDERR: # cleanup[3] wiping platformdirs.version +2024-11-30 13:26:39,078 - api.main - INFO - STDERR: # cleanup[3] wiping platformdirs.api +2024-11-30 13:26:39,078 - api.main - INFO - STDERR: # cleanup[3] wiping backports.tarfile +2024-11-30 13:26:39,078 - api.main - INFO - STDERR: # destroy backports.tarfile.compat +2024-11-30 13:26:39,079 - api.main - INFO - STDERR: # destroy backports.tarfile.compat.py38 +2024-11-30 13:26:39,079 - api.main - INFO - STDERR: # cleanup[3] wiping importlib.resources +2024-11-30 13:26:39,079 - api.main - INFO - STDERR: # cleanup[3] wiping importlib._common +2024-11-30 13:26:39,079 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.requirements +2024-11-30 13:26:39,079 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.markers +2024-11-30 13:26:39,079 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.specifiers +2024-11-30 13:26:39,079 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.utils +2024-11-30 13:26:39,079 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.tags +2024-11-30 13:26:39,079 - api.main - INFO - STDERR: # cleanup[3] wiping distutils +2024-11-30 13:26:39,079 - api.main - INFO - STDERR: # destroy distutils._log +2024-11-30 13:26:39,079 - api.main - INFO - STDERR: # destroy distutils.compat +2024-11-30 13:26:39,079 - api.main - INFO - STDERR: # destroy distutils.errors +2024-11-30 13:26:39,079 - api.main - INFO - STDERR: # destroy distutils.debug +2024-11-30 13:26:39,079 - api.main - INFO - STDERR: # destroy distutils.spawn +2024-11-30 13:26:39,079 - api.main - INFO - STDERR: # destroy distutils.cmd +2024-11-30 13:26:39,079 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.util +2024-11-30 13:26:39,079 - api.main - INFO - STDERR: # destroy sysconfig +2024-11-30 13:26:39,079 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.archive_util +2024-11-30 13:26:39,079 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.dir_util +2024-11-30 13:26:39,079 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.file_util +2024-11-30 13:26:39,079 - api.main - INFO - STDERR: # cleanup[3] wiping distutils._modified +2024-11-30 13:26:39,079 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.compat.py39 +2024-11-30 13:26:39,079 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.compat.py38 +2024-11-30 13:26:39,080 - api.main - INFO - STDERR: # cleanup[3] wiping more_itertools +2024-11-30 13:26:39,080 - api.main - INFO - STDERR: # destroy more_itertools.recipes +2024-11-30 13:26:39,080 - api.main - INFO - STDERR: # destroy more_itertools.more +2024-11-30 13:26:39,080 - api.main - INFO - STDERR: # cleanup[3] wiping queue +2024-11-30 13:26:39,080 - api.main - INFO - STDERR: # cleanup[3] wiping _queue +2024-11-30 13:26:39,080 - api.main - INFO - STDERR: # cleanup[3] wiping setuptools._distutils +2024-11-30 13:26:39,080 - api.main - INFO - STDERR: # cleanup[3] wiping packaging._compat +2024-11-30 13:26:39,080 - api.main - INFO - STDERR: # cleanup[3] wiping html +2024-11-30 13:26:39,080 - api.main - INFO - STDERR: # destroy html.entities +2024-11-30 13:26:39,080 - api.main - INFO - STDERR: # cleanup[3] wiping pprint +2024-11-30 13:26:39,080 - api.main - INFO - STDERR: # cleanup[3] wiping plistlib +2024-11-30 13:26:39,080 - api.main - INFO - STDERR: # cleanup[3] wiping apkutils2 +2024-11-30 13:26:39,080 - api.main - INFO - STDERR: # destroy apkutils2.apkfile +2024-11-30 13:26:39,080 - api.main - INFO - STDERR: # destroy apkutils2.axml +2024-11-30 13:26:39,080 - api.main - INFO - STDERR: # destroy apkutils2.axml.chunk +2024-11-30 13:26:39,080 - api.main - INFO - STDERR: # destroy apkutils2.axml.arscparser +2024-11-30 13:26:39,080 - api.main - INFO - STDERR: # destroy apkutils2.axml.axmlparser +2024-11-30 13:26:39,080 - api.main - INFO - STDERR: # destroy apkutils2.dex +2024-11-30 13:26:39,080 - api.main - INFO - STDERR: # destroy apkutils2.dex.byteio +2024-11-30 13:26:39,080 - api.main - INFO - STDERR: # destroy apkutils2.dex.dalvik +2024-11-30 13:26:39,080 - api.main - INFO - STDERR: # destroy apkutils2.dex.dexparser +2024-11-30 13:26:39,082 - api.main - INFO - STDERR: # destroy apkutils2.manifest +2024-11-30 13:26:39,082 - api.main - INFO - STDERR: # cleanup[3] wiping apkutils2.dex.dalvikformats +2024-11-30 13:26:39,082 - api.main - INFO - STDERR: # cleanup[3] wiping apkutils2.dex.util +2024-11-30 13:26:39,082 - api.main - INFO - STDERR: # cleanup[3] wiping array +2024-11-30 13:26:39,082 - api.main - INFO - STDERR: # cleanup[3] wiping apkutils2.axml.public +2024-11-30 13:26:39,082 - api.main - INFO - STDERR: # cleanup[3] wiping xmltodict +2024-11-30 13:26:39,082 - api.main - INFO - STDERR: # cleanup[3] wiping platform +2024-11-30 13:26:39,082 - api.main - INFO - STDERR: # cleanup[3] wiping xml.sax.saxutils +2024-11-30 13:26:39,082 - api.main - INFO - STDERR: # cleanup[3] wiping urllib.request +2024-11-30 13:26:39,082 - api.main - INFO - STDERR: # destroy http +2024-11-30 13:26:39,082 - api.main - INFO - STDERR: # cleanup[3] wiping urllib.error +2024-11-30 13:26:39,082 - api.main - INFO - STDERR: # cleanup[3] wiping urllib.response +2024-11-30 13:26:39,082 - api.main - INFO - STDERR: # cleanup[3] wiping http.client +2024-11-30 13:26:39,082 - api.main - INFO - STDERR: # cleanup[3] wiping ssl +2024-11-30 13:26:39,082 - api.main - INFO - STDERR: # cleanup[3] wiping _ssl +2024-11-30 13:26:39,082 - api.main - INFO - STDERR: # cleanup[3] wiping email.message +2024-11-30 13:26:39,082 - api.main - INFO - STDERR: # destroy uu +2024-11-30 13:26:39,082 - api.main - INFO - STDERR: # destroy quopri +2024-11-30 13:26:39,082 - api.main - INFO - STDERR: # cleanup[3] wiping email.iterators +2024-11-30 13:26:39,082 - api.main - INFO - STDERR: # cleanup[3] wiping email._encoded_words +2024-11-30 13:26:39,082 - api.main - INFO - STDERR: # cleanup[3] wiping email.parser +2024-11-30 13:26:39,082 - api.main - INFO - STDERR: # cleanup[3] wiping email.feedparser +2024-11-30 13:26:39,083 - api.main - INFO - STDERR: # cleanup[3] wiping email._policybase +2024-11-30 13:26:39,083 - api.main - INFO - STDERR: # cleanup[3] wiping email.utils +2024-11-30 13:26:39,083 - api.main - INFO - STDERR: # cleanup[3] wiping email._parseaddr +2024-11-30 13:26:39,083 - api.main - INFO - STDERR: # cleanup[3] wiping calendar +2024-11-30 13:26:39,083 - api.main - INFO - STDERR: # destroy locale +2024-11-30 13:26:39,083 - api.main - INFO - STDERR: # cleanup[3] wiping email.header +2024-11-30 13:26:39,083 - api.main - INFO - STDERR: # cleanup[3] wiping email.charset +2024-11-30 13:26:39,084 - api.main - INFO - STDERR: # cleanup[3] wiping email.encoders +2024-11-30 13:26:39,084 - api.main - INFO - STDERR: # cleanup[3] wiping email.base64mime +2024-11-30 13:26:39,084 - api.main - INFO - STDERR: # cleanup[3] wiping email.quoprimime +2024-11-30 13:26:39,084 - api.main - INFO - STDERR: # cleanup[3] wiping email.errors +2024-11-30 13:26:39,084 - api.main - INFO - STDERR: # cleanup[3] wiping email +2024-11-30 13:26:39,084 - api.main - INFO - STDERR: # destroy email._parseaddr +2024-11-30 13:26:39,084 - api.main - INFO - STDERR: # destroy email._policybase +2024-11-30 13:26:39,084 - api.main - INFO - STDERR: # destroy email._encoded_words +2024-11-30 13:26:39,084 - api.main - INFO - STDERR: # destroy email.errors +2024-11-30 13:26:39,084 - api.main - INFO - STDERR: # destroy email.quoprimime +2024-11-30 13:26:39,084 - api.main - INFO - STDERR: # destroy email.base64mime +2024-11-30 13:26:39,084 - api.main - INFO - STDERR: # destroy email.encoders +2024-11-30 13:26:39,084 - api.main - INFO - STDERR: # destroy email.charset +2024-11-30 13:26:39,084 - api.main - INFO - STDERR: # destroy email.header +2024-11-30 13:26:39,084 - api.main - INFO - STDERR: # destroy email.utils +2024-11-30 13:26:39,085 - api.main - INFO - STDERR: # destroy email.feedparser +2024-11-30 13:26:39,085 - api.main - INFO - STDERR: # destroy email.parser +2024-11-30 13:26:39,085 - api.main - INFO - STDERR: # destroy email.iterators +2024-11-30 13:26:39,085 - api.main - INFO - STDERR: # destroy email.message +2024-11-30 13:26:39,085 - api.main - INFO - STDERR: # cleanup[3] wiping xml.sax +2024-11-30 13:26:39,085 - api.main - INFO - STDERR: # destroy xml.sax._exceptions +2024-11-30 13:26:39,085 - api.main - INFO - STDERR: # destroy xml.sax.xmlreader +2024-11-30 13:26:39,085 - api.main - INFO - STDERR: # destroy xml.sax.saxutils +2024-11-30 13:26:39,086 - api.main - INFO - STDERR: # cleanup[3] wiping xml.sax.handler +2024-11-30 13:26:39,086 - api.main - INFO - STDERR: # cleanup[3] wiping xml.parsers.expat +2024-11-30 13:26:39,086 - api.main - INFO - STDERR: # cleanup[3] wiping xml.parsers.expat.errors +2024-11-30 13:26:39,086 - api.main - INFO - STDERR: # cleanup[3] wiping xml.parsers.expat.model +2024-11-30 13:26:39,086 - api.main - INFO - STDERR: # cleanup[3] wiping pyexpat +2024-11-30 13:26:39,086 - api.main - INFO - STDERR: # cleanup[3] wiping pyexpat.model +2024-11-30 13:26:39,086 - api.main - INFO - STDERR: # cleanup[3] wiping pyexpat.errors +2024-11-30 13:26:39,086 - api.main - INFO - STDERR: # cleanup[3] wiping xml.parsers +2024-11-30 13:26:39,086 - api.main - INFO - STDERR: # destroy xml.parsers.expat +2024-11-30 13:26:39,086 - api.main - INFO - STDERR: # cleanup[3] wiping whichcraft +2024-11-30 13:26:39,086 - api.main - INFO - STDERR: # cleanup[3] wiping zipfile +2024-11-30 13:26:39,086 - api.main - INFO - STDERR: # cleanup[3] wiping tempfile +2024-11-30 13:26:39,086 - api.main - INFO - STDERR: # cleanup[3] wiping shlex +2024-11-30 13:26:39,086 - api.main - INFO - STDERR: # cleanup[3] wiping socket +2024-11-30 13:26:39,086 - api.main - INFO - STDERR: # destroy selectors +2024-11-30 13:26:39,087 - api.main - INFO - STDERR: # cleanup[3] wiping select +2024-11-30 13:26:39,087 - api.main - INFO - STDERR: # cleanup[3] wiping _socket +2024-11-30 13:26:39,087 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.version +2024-11-30 13:26:39,087 - api.main - INFO - STDERR: # cleanup[3] wiping packaging._typing +2024-11-30 13:26:39,087 - api.main - INFO - STDERR: # cleanup[3] wiping packaging._structures +2024-11-30 13:26:39,087 - api.main - INFO - STDERR: # cleanup[3] wiping packaging +2024-11-30 13:26:39,087 - api.main - INFO - STDERR: # destroy packaging._structures +2024-11-30 13:26:39,087 - api.main - INFO - STDERR: # destroy packaging._typing +2024-11-30 13:26:39,087 - api.main - INFO - STDERR: # destroy packaging._compat +2024-11-30 13:26:39,087 - api.main - INFO - STDERR: # destroy packaging.__about__ +2024-11-30 13:26:39,087 - api.main - INFO - STDERR: # destroy packaging.tags +2024-11-30 13:26:39,087 - api.main - INFO - STDERR: # destroy packaging.utils +2024-11-30 13:26:39,087 - api.main - INFO - STDERR: # destroy packaging.specifiers +2024-11-30 13:26:39,087 - api.main - INFO - STDERR: # destroy packaging.markers +2024-11-30 13:26:39,088 - api.main - INFO - STDERR: # destroy packaging.requirements +2024-11-30 13:26:39,088 - api.main - INFO - STDERR: # cleanup[3] wiping pathlib +2024-11-30 13:26:39,088 - api.main - INFO - STDERR: # cleanup[3] wiping urllib.parse +2024-11-30 13:26:39,088 - api.main - INFO - STDERR: # cleanup[3] wiping urllib +2024-11-30 13:26:39,088 - api.main - INFO - STDERR: # destroy urllib.parse +2024-11-30 13:26:39,088 - api.main - INFO - STDERR: # destroy urllib.response +2024-11-30 13:26:39,088 - api.main - INFO - STDERR: # destroy urllib.error +2024-11-30 13:26:39,088 - api.main - INFO - STDERR: # destroy urllib.request +2024-11-30 13:26:39,088 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom.minidom +2024-11-30 13:26:39,088 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom.xmlbuilder +2024-11-30 13:26:39,088 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom.NodeFilter +2024-11-30 13:26:39,088 - api.main - INFO - STDERR: # cleanup[3] wiping copy +2024-11-30 13:26:39,088 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom.minicompat +2024-11-30 13:26:39,088 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom +2024-11-30 13:26:39,088 - api.main - INFO - STDERR: # destroy xml.dom.domreg +2024-11-30 13:26:39,088 - api.main - INFO - STDERR: # destroy xml.dom.minicompat +2024-11-30 13:26:39,089 - api.main - INFO - STDERR: # destroy xml.dom.NodeFilter +2024-11-30 13:26:39,089 - api.main - INFO - STDERR: # destroy xml.dom.xmlbuilder +2024-11-30 13:26:39,089 - api.main - INFO - STDERR: # cleanup[3] wiping xml +2024-11-30 13:26:39,089 - api.main - INFO - STDERR: # destroy xml.dom +2024-11-30 13:26:39,089 - api.main - INFO - STDERR: # destroy xml.parsers +2024-11-30 13:26:39,089 - api.main - INFO - STDERR: # destroy xml.sax +2024-11-30 13:26:39,089 - api.main - INFO - STDERR: # cleanup[3] wiping shutil +2024-11-30 13:26:39,089 - api.main - INFO - STDERR: # cleanup[3] wiping lzma +2024-11-30 13:26:39,089 - api.main - INFO - STDERR: # cleanup[3] wiping _lzma +2024-11-30 13:26:39,089 - api.main - INFO - STDERR: # cleanup[3] wiping bz2 +2024-11-30 13:26:39,089 - api.main - INFO - STDERR: # destroy _compression +2024-11-30 13:26:39,089 - api.main - INFO - STDERR: # cleanup[3] wiping zlib +2024-11-30 13:26:39,089 - api.main - INFO - STDERR: # cleanup[3] wiping hashlib +2024-11-30 13:26:39,089 - api.main - INFO - STDERR: # cleanup[3] wiping _blake2 +2024-11-30 13:26:39,090 - api.main - INFO - STDERR: # cleanup[3] wiping _hashlib +2024-11-30 13:26:39,090 - api.main - INFO - STDERR: # cleanup[3] wiping subprocess +2024-11-30 13:26:39,090 - api.main - INFO - STDERR: # destroy signal +2024-11-30 13:26:39,090 - api.main - INFO - STDERR: # cleanup[3] wiping _winapi +2024-11-30 13:26:39,090 - api.main - INFO - STDERR: # cleanup[3] wiping msvcrt +2024-11-30 13:26:39,090 - api.main - INFO - STDERR: # cleanup[3] wiping errno +2024-11-30 13:26:39,090 - api.main - INFO - STDERR: # cleanup[3] wiping pkgutil +2024-11-30 13:26:39,090 - api.main - INFO - STDERR: # cleanup[3] wiping importlib.util +2024-11-30 13:26:39,090 - api.main - INFO - STDERR: # cleanup[3] wiping importlib.abc +2024-11-30 13:26:39,090 - api.main - INFO - STDERR: # cleanup[3] wiping inspect +2024-11-30 13:26:39,090 - api.main - INFO - STDERR: # destroy ast +2024-11-30 13:26:39,090 - api.main - INFO - STDERR: # destroy dis +2024-11-30 13:26:39,090 - api.main - INFO - STDERR: # destroy token +2024-11-30 13:26:39,090 - api.main - INFO - STDERR: # cleanup[3] wiping importlib.machinery +2024-11-30 13:26:39,090 - api.main - INFO - STDERR: # cleanup[3] wiping importlib +2024-11-30 13:26:39,091 - api.main - INFO - STDERR: # destroy importlib._common +2024-11-30 13:26:39,091 - api.main - INFO - STDERR: # destroy importlib.machinery +2024-11-30 13:26:39,091 - api.main - INFO - STDERR: # destroy importlib.abc +2024-11-30 13:26:39,091 - api.main - INFO - STDERR: # destroy importlib.util +2024-11-30 13:26:39,091 - api.main - INFO - STDERR: # destroy importlib.resources +2024-11-30 13:26:39,091 - api.main - INFO - STDERR: # cleanup[3] wiping importlib._bootstrap_external +2024-11-30 13:26:39,091 - api.main - INFO - STDERR: # cleanup[3] wiping importlib._bootstrap +2024-11-30 13:26:39,091 - api.main - INFO - STDERR: # cleanup[3] wiping _opcode +2024-11-30 13:26:39,091 - api.main - INFO - STDERR: # cleanup[3] wiping yaml +2024-11-30 13:26:39,091 - api.main - INFO - STDERR: # destroy yaml.error +2024-11-30 13:26:39,091 - api.main - INFO - STDERR: # destroy yaml.tokens +2024-11-30 13:26:39,091 - api.main - INFO - STDERR: # destroy yaml.events +2024-11-30 13:26:39,091 - api.main - INFO - STDERR: # destroy yaml.nodes +2024-11-30 13:26:39,091 - api.main - INFO - STDERR: # destroy yaml.reader +2024-11-30 13:26:39,092 - api.main - INFO - STDERR: # destroy yaml.scanner +2024-11-30 13:26:39,092 - api.main - INFO - STDERR: # destroy yaml.parser +2024-11-30 13:26:39,092 - api.main - INFO - STDERR: # destroy yaml.composer +2024-11-30 13:26:39,092 - api.main - INFO - STDERR: # destroy yaml.constructor +2024-11-30 13:26:39,092 - api.main - INFO - STDERR: # destroy yaml.resolver +2024-11-30 13:26:39,092 - api.main - INFO - STDERR: # destroy yaml.loader +2024-11-30 13:26:39,092 - api.main - INFO - STDERR: # destroy yaml.emitter +2024-11-30 13:26:39,092 - api.main - INFO - STDERR: # destroy yaml.serializer +2024-11-30 13:26:39,092 - api.main - INFO - STDERR: # destroy yaml.representer +2024-11-30 13:26:39,092 - api.main - INFO - STDERR: # destroy yaml.dumper +2024-11-30 13:26:39,092 - api.main - INFO - STDERR: # destroy yaml.cyaml +2024-11-30 13:26:39,092 - api.main - INFO - STDERR: # cleanup[3] wiping yaml._yaml +2024-11-30 13:26:39,092 - api.main - INFO - STDERR: # cleanup[3] wiping cython_runtime +2024-11-30 13:26:39,092 - api.main - INFO - STDERR: # cleanup[3] wiping base64 +2024-11-30 13:26:39,092 - api.main - INFO - STDERR: # cleanup[3] wiping binascii +2024-11-30 13:26:39,092 - api.main - INFO - STDERR: # cleanup[3] wiping configargparse +2024-11-30 13:26:39,092 - api.main - INFO - STDERR: # destroy argparse +2024-11-30 13:26:39,092 - api.main - INFO - STDERR: # destroy glob +2024-11-30 13:26:39,092 - api.main - INFO - STDERR: # cleanup[3] wiping textwrap +2024-11-30 13:26:39,092 - api.main - INFO - STDERR: # cleanup[3] wiping fnmatch +2024-11-30 13:26:39,093 - api.main - INFO - STDERR: # cleanup[3] wiping posixpath +2024-11-30 13:26:39,093 - api.main - INFO - STDERR: # cleanup[3] wiping json +2024-11-30 13:26:39,093 - api.main - INFO - STDERR: # destroy json.decoder +2024-11-30 13:26:39,093 - api.main - INFO - STDERR: # destroy json.encoder +2024-11-30 13:26:39,093 - api.main - INFO - STDERR: # cleanup[3] wiping json.scanner +2024-11-30 13:26:39,093 - api.main - INFO - STDERR: # cleanup[3] wiping _json +2024-11-30 13:26:39,093 - api.main - INFO - STDERR: # cleanup[3] wiping typing +2024-11-30 13:26:39,094 - api.main - INFO - STDERR: # cleanup[3] wiping colorama.win32 +2024-11-30 13:26:39,094 - api.main - INFO - STDERR: # cleanup[3] wiping ctypes.wintypes +2024-11-30 13:26:39,094 - api.main - INFO - STDERR: # destroy ctypes +2024-11-30 13:26:39,094 - api.main - INFO - STDERR: # cleanup[3] wiping ctypes._endian +2024-11-30 13:26:39,094 - api.main - INFO - STDERR: # cleanup[3] wiping struct +2024-11-30 13:26:39,094 - api.main - INFO - STDERR: # cleanup[3] wiping _struct +2024-11-30 13:26:39,094 - api.main - INFO - STDERR: # cleanup[3] wiping _ctypes +2024-11-30 13:26:39,094 - api.main - INFO - STDERR: # cleanup[3] wiping contextlib +2024-11-30 13:26:39,094 - api.main - INFO - STDERR: # cleanup[3] wiping datetime +2024-11-30 13:26:39,094 - api.main - INFO - STDERR: # cleanup[3] wiping _datetime +2024-11-30 13:26:39,094 - api.main - INFO - STDERR: # cleanup[3] wiping random +2024-11-30 13:26:39,094 - api.main - INFO - STDERR: # cleanup[3] wiping _sha512 +2024-11-30 13:26:39,094 - api.main - INFO - STDERR: # cleanup[3] wiping _random +2024-11-30 13:26:39,094 - api.main - INFO - STDERR: # cleanup[3] wiping bisect +2024-11-30 13:26:39,094 - api.main - INFO - STDERR: # cleanup[3] wiping _bisect +2024-11-30 13:26:39,094 - api.main - INFO - STDERR: # cleanup[3] wiping math +2024-11-30 13:26:39,094 - api.main - INFO - STDERR: # cleanup[3] wiping logging +2024-11-30 13:26:39,094 - api.main - INFO - STDERR: # destroy logging.handlers +2024-11-30 13:26:39,094 - api.main - INFO - STDERR: # cleanup[3] wiping atexit +2024-11-30 13:26:39,094 - api.main - INFO - STDERR: # cleanup[3] wiping threading +2024-11-30 13:26:39,094 - api.main - INFO - STDERR: # cleanup[3] wiping string +2024-11-30 13:26:39,094 - api.main - INFO - STDERR: # cleanup[3] wiping _string +2024-11-30 13:26:39,094 - api.main - INFO - STDERR: # cleanup[3] wiping collections.abc +2024-11-30 13:26:39,095 - api.main - INFO - STDERR: # cleanup[3] wiping weakref +2024-11-30 13:26:39,095 - api.main - INFO - STDERR: # cleanup[3] wiping warnings +2024-11-30 13:26:39,095 - api.main - INFO - STDERR: # cleanup[3] wiping traceback +2024-11-30 13:26:39,095 - api.main - INFO - STDERR: # cleanup[3] wiping linecache +2024-11-30 13:26:39,095 - api.main - INFO - STDERR: # destroy tokenize +2024-11-30 13:26:39,095 - api.main - INFO - STDERR: # cleanup[3] wiping re +2024-11-30 13:26:39,095 - api.main - INFO - STDERR: # destroy sre_compile +2024-11-30 13:26:39,095 - api.main - INFO - STDERR: # cleanup[3] wiping copyreg +2024-11-30 13:26:39,095 - api.main - INFO - STDERR: # cleanup[3] wiping functools +2024-11-30 13:26:39,095 - api.main - INFO - STDERR: # cleanup[3] wiping _functools +2024-11-30 13:26:39,095 - api.main - INFO - STDERR: # cleanup[3] wiping collections +2024-11-30 13:26:39,095 - api.main - INFO - STDERR: # cleanup[3] wiping _collections +2024-11-30 13:26:39,095 - api.main - INFO - STDERR: # destroy _collections +2024-11-30 13:26:39,095 - api.main - INFO - STDERR: # cleanup[3] wiping reprlib +2024-11-30 13:26:39,095 - api.main - INFO - STDERR: # cleanup[3] wiping operator +2024-11-30 13:26:39,096 - api.main - INFO - STDERR: # cleanup[3] wiping _operator +2024-11-30 13:26:39,096 - api.main - INFO - STDERR: # cleanup[3] wiping keyword +2024-11-30 13:26:39,096 - api.main - INFO - STDERR: # cleanup[3] wiping itertools +2024-11-30 13:26:39,096 - api.main - INFO - STDERR: # cleanup[3] wiping heapq +2024-11-30 13:26:39,096 - api.main - INFO - STDERR: # cleanup[3] wiping _heapq +2024-11-30 13:26:39,096 - api.main - INFO - STDERR: # cleanup[3] wiping sre_parse +2024-11-30 13:26:39,096 - api.main - INFO - STDERR: # cleanup[3] wiping _sre +2024-11-30 13:26:39,096 - api.main - INFO - STDERR: # cleanup[3] wiping enum +2024-11-30 13:26:39,096 - api.main - INFO - STDERR: # cleanup[3] wiping types +2024-11-30 13:26:39,096 - api.main - INFO - STDERR: # cleanup[3] wiping _locale +2024-11-30 13:26:39,096 - api.main - INFO - STDERR: # cleanup[3] wiping os +2024-11-30 13:26:39,096 - api.main - INFO - STDERR: # cleanup[3] wiping os.path +2024-11-30 13:26:39,096 - api.main - INFO - STDERR: # destroy genericpath +2024-11-30 13:26:39,096 - api.main - INFO - STDERR: # cleanup[3] wiping ntpath +2024-11-30 13:26:39,096 - api.main - INFO - STDERR: # cleanup[3] wiping _collections_abc +2024-11-30 13:26:39,097 - api.main - INFO - STDERR: # cleanup[3] wiping stat +2024-11-30 13:26:39,097 - api.main - INFO - STDERR: # cleanup[3] wiping _stat +2024-11-30 13:26:39,097 - api.main - INFO - STDERR: # destroy _stat +2024-11-30 13:26:39,097 - api.main - INFO - STDERR: # cleanup[3] wiping io +2024-11-30 13:26:39,097 - api.main - INFO - STDERR: # cleanup[3] wiping abc +2024-11-30 13:26:39,097 - api.main - INFO - STDERR: # cleanup[3] wiping _abc +2024-11-30 13:26:39,097 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.latin_1 +2024-11-30 13:26:39,097 - api.main - INFO - STDERR: # cleanup[3] wiping _signal +2024-11-30 13:26:39,097 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.cp1252 +2024-11-30 13:26:39,097 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.utf_8 +2024-11-30 13:26:39,097 - api.main - INFO - STDERR: # cleanup[3] wiping encodings +2024-11-30 13:26:39,097 - api.main - INFO - STDERR: # destroy encodings.aliases +2024-11-30 13:26:39,097 - api.main - INFO - STDERR: # destroy encodings.utf_8 +2024-11-30 13:26:39,097 - api.main - INFO - STDERR: # destroy encodings.cp1252 +2024-11-30 13:26:39,097 - api.main - INFO - STDERR: # destroy encodings.latin_1 +2024-11-30 13:26:39,097 - api.main - INFO - STDERR: # destroy encodings.idna +2024-11-30 13:26:39,097 - api.main - INFO - STDERR: # destroy encodings.unicode_escape +2024-11-30 13:26:39,097 - api.main - INFO - STDERR: # cleanup[3] wiping codecs +2024-11-30 13:26:39,097 - api.main - INFO - STDERR: # cleanup[3] wiping _codecs +2024-11-30 13:26:39,097 - api.main - INFO - STDERR: # cleanup[3] wiping zipimport +2024-11-30 13:26:39,097 - api.main - INFO - STDERR: # destroy _frozen_importlib_external +2024-11-30 13:26:39,099 - api.main - INFO - STDERR: # cleanup[3] wiping time +2024-11-30 13:26:39,099 - api.main - INFO - STDERR: # cleanup[3] wiping winreg +2024-11-30 13:26:39,099 - api.main - INFO - STDERR: # cleanup[3] wiping nt +2024-11-30 13:26:39,099 - api.main - INFO - STDERR: # cleanup[3] wiping marshal +2024-11-30 13:26:39,099 - api.main - INFO - STDERR: # cleanup[3] wiping _io +2024-11-30 13:26:39,099 - api.main - INFO - STDERR: # cleanup[3] wiping _weakref +2024-11-30 13:26:39,099 - api.main - INFO - STDERR: # cleanup[3] wiping _warnings +2024-11-30 13:26:39,099 - api.main - INFO - STDERR: # cleanup[3] wiping _thread +2024-11-30 13:26:39,099 - api.main - INFO - STDERR: # cleanup[3] wiping _imp +2024-11-30 13:26:39,099 - api.main - INFO - STDERR: # cleanup[3] wiping _frozen_importlib +2024-11-30 13:26:39,099 - api.main - INFO - STDERR: # cleanup[3] wiping sys +2024-11-30 13:26:39,099 - api.main - INFO - STDERR: # cleanup[3] wiping builtins +2024-11-30 13:26:39,099 - api.main - INFO - STDERR: # destroy pyexpat.errors +2024-11-30 13:26:39,099 - api.main - INFO - STDERR: # destroy pyexpat.model +2024-11-30 13:26:39,099 - api.main - INFO - STDERR: # destroy gc +2024-11-30 13:26:39,099 - api.main - INFO - STDERR: # destroy wrapt._wrappers +2024-11-30 13:26:39,099 - api.main - INFO - STDERR: # destroy _asyncio +2024-11-30 13:26:39,099 - api.main - INFO - STDERR: # destroy PIL._imaging +2024-11-30 13:26:39,099 - api.main - INFO - STDERR: # destroy _multibytecodec +2024-11-30 13:26:39,099 - api.main - INFO - STDERR: # destroy charset_normalizer.md__mypyc +2024-11-30 13:26:39,099 - api.main - INFO - STDERR: # destroy _queue +2024-11-30 13:26:39,100 - api.main - INFO - STDERR: # destroy _ssl +2024-11-30 13:26:39,100 - api.main - INFO - STDERR: # destroy pyexpat +2024-11-30 13:26:39,100 - api.main - INFO - STDERR: # destroy _lzma +2024-11-30 13:26:39,100 - api.main - INFO - STDERR: # destroy _blake2 +2024-11-30 13:26:39,100 - api.main - INFO - STDERR: # destroy _datetime +2024-11-30 13:26:39,100 - api.main - INFO - STDERR: # destroy _sha512 +2024-11-30 13:26:39,100 - api.main - INFO - STDERR: # destroy _random +2024-11-30 13:26:39,100 - api.main - INFO - STDERR: # destroy _bisect +2024-11-30 13:26:39,100 - api.main - INFO - STDERR: # destroy _string +2024-11-30 13:26:39,100 - api.main - INFO - STDERR: # destroy winreg +2024-11-30 13:26:39,100 - api.main - INFO - STDERR: # destroy marshal +2024-11-30 13:26:39,107 - api.main - INFO - STDERR: # destroy _sre +2024-11-30 13:26:39,107 - api.main - INFO - STDERR: # destroy sre_parse +2024-11-30 13:26:39,108 - api.main - INFO - STDERR: # destroy charset_normalizer.md +2024-11-30 13:26:39,108 - api.main - INFO - STDERR: # destroy concurrent +2024-11-30 13:26:39,108 - api.main - INFO - STDERR: # destroy asyncio.sslproto +2024-11-30 13:26:39,108 - api.main - INFO - STDERR: # destroy asyncio.staggered +2024-11-30 13:26:39,108 - api.main - INFO - STDERR: # destroy asyncio.transports +2024-11-30 13:26:39,108 - api.main - INFO - STDERR: # destroy asyncio.trsock +2024-11-30 13:26:39,108 - api.main - INFO - STDERR: # destroy reprlib +2024-11-30 13:26:39,108 - api.main - INFO - STDERR: # destroy asyncio.constants +2024-11-30 13:26:39,108 - api.main - INFO - STDERR: # destroy linecache +2024-11-30 13:26:39,108 - api.main - INFO - STDERR: # destroy asyncio.base_futures +2024-11-30 13:26:39,108 - api.main - INFO - STDERR: # destroy asyncio.coroutines +2024-11-30 13:26:39,109 - api.main - INFO - STDERR: # destroy heapq +2024-11-30 13:26:39,109 - api.main - INFO - STDERR: # destroy asyncio.locks +2024-11-30 13:26:39,109 - api.main - INFO - STDERR: # destroy asyncio.protocols +2024-11-30 13:26:39,109 - api.main - INFO - STDERR: # destroy asyncio.streams +2024-11-30 13:26:39,109 - api.main - INFO - STDERR: # destroy contextvars +2024-11-30 13:26:39,109 - api.main - INFO - STDERR: # destroy _overlapped +2024-11-30 13:26:39,109 - api.main - INFO - STDERR: # destroy asyncio.events +2024-11-30 13:26:39,109 - api.main - INFO - STDERR: # destroy asyncio.base_subprocess +2024-11-30 13:26:39,109 - api.main - INFO - STDERR: # destroy asyncio.futures +2024-11-30 13:26:39,109 - api.main - INFO - STDERR: # destroy asyncio.exceptions +2024-11-30 13:26:39,109 - api.main - INFO - STDERR: # destroy asyncio.proactor_events +2024-11-30 13:26:39,109 - api.main - INFO - STDERR: # destroy asyncio.selector_events +2024-11-30 13:26:39,109 - api.main - INFO - STDERR: # destroy asyncio.tasks +2024-11-30 13:26:39,110 - api.main - INFO - STDERR: # destroy asyncio.windows_utils +2024-11-30 13:26:39,110 - api.main - INFO - STDERR: # destroy _compat_pickle +2024-11-30 13:26:39,110 - api.main - INFO - STDERR: # destroy _pickle +2024-11-30 13:26:39,111 - api.main - INFO - STDERR: # destroy _signal +2024-11-30 13:26:39,111 - api.main - INFO - STDERR: # destroy _collections_abc +2024-11-30 13:26:39,111 - api.main - INFO - STDERR: # destroy _locale +2024-11-30 13:26:39,111 - api.main - INFO - STDERR: # destroy _opcode +2024-11-30 13:26:39,111 - api.main - INFO - STDERR: # destroy _winapi +2024-11-30 13:26:39,111 - api.main - INFO - STDERR: # destroy copyreg +2024-11-30 13:26:39,111 - api.main - INFO - STDERR: # destroy logzero.colors +2024-11-30 13:26:39,111 - api.main - INFO - STDERR: # destroy logzero.jsonlogger +2024-11-30 13:26:39,113 - api.main - INFO - STDERR: # destroy enum +2024-11-30 13:26:39,114 - api.main - INFO - STDERR: # destroy packaging.version +2024-11-30 13:26:39,114 - api.main - INFO - STDERR: # destroy whichcraft +2024-11-30 13:26:39,114 - api.main - INFO - STDERR: # destroy colorama.win32 +2024-11-30 13:26:39,114 - api.main - INFO - STDERR: # destroy urllib3 +2024-11-30 13:26:39,114 - api.main - INFO - STDERR: # destroy xml +2024-11-30 13:26:39,114 - api.main - INFO - STDERR: # destroy xmltodict +2024-11-30 13:26:39,115 - api.main - INFO - STDERR: # destroy pprint +2024-11-30 13:26:39,115 - api.main - INFO - STDERR: # destroy json.scanner +2024-11-30 13:26:39,115 - api.main - INFO - STDERR: # destroy _json +2024-11-30 13:26:39,115 - api.main - INFO - STDERR: # destroy keyword +2024-11-30 13:26:39,115 - api.main - INFO - STDERR: # destroy wrapt +2024-11-30 13:26:39,115 - api.main - INFO - STDERR: # destroy shlex +2024-11-30 13:26:39,115 - api.main - INFO - STDERR: # destroy filelock +2024-11-30 13:26:39,115 - api.main - INFO - STDERR: # destroy six +2024-11-30 13:26:39,115 - api.main - INFO - STDERR: # destroy abc +2024-11-30 13:26:39,115 - api.main - INFO - STDERR: # destroy tarfile +2024-11-30 13:26:39,115 - api.main - INFO - STDERR: # destroy adbutils +2024-11-30 13:26:39,116 - api.main - INFO - STDERR: # destroy progress +2024-11-30 13:26:39,116 - api.main - INFO - STDERR: # destroy uiautomator2 +2024-11-30 13:26:39,116 - api.main - INFO - STDERR: # destroy base64 +2024-11-30 13:26:39,116 - api.main - INFO - STDERR: # destroy html +2024-11-30 13:26:39,116 - api.main - INFO - STDERR: # destroy _imp +2024-11-30 13:26:39,116 - api.main - INFO - STDERR: # destroy plistlib +2024-11-30 13:26:39,116 - api.main - INFO - STDERR: # destroy posixpath +2024-11-30 13:26:39,116 - api.main - INFO - STDERR: # destroy zipimport +2024-11-30 13:26:39,116 - api.main - INFO - STDERR: # destroy packaging +2024-11-30 13:26:39,116 - api.main - INFO - STDERR: # destroy msvcrt +2024-11-30 13:26:39,116 - api.main - INFO - STDERR: # destroy _weakref +2024-11-30 13:26:39,116 - api.main - INFO - STDERR: # destroy requests.sessions +2024-11-30 13:26:39,116 - api.main - INFO - STDERR: # destroy six.moves.urllib_parse +2024-11-30 13:26:39,116 - api.main - INFO - STDERR: # destroy six.moves.urllib.error +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy six.moves.urllib.request +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy six.moves.urllib.response +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy six.moves.urllib.robotparser +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy emoji.unicode_codes +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy _socket +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy xml.dom.minidom +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy apkutils2.axml.public +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy pathlib +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy apkutils2 +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy PIL.Image +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy calendar +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy zipfile +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy requests.certs +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy hashlib +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy encodings +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy charset_normalizer +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy asyncio +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy urllib3.util.connection +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy email +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy mimetypes +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy codecs +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy urllib3.util +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy queue +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy configargparse +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy textwrap +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy platformdirs.api +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy platformdirs.version +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy platformdirs.windows +2024-11-30 13:26:39,117 - api.main - INFO - STDERR: # destroy jwt +2024-11-30 13:26:39,119 - api.main - INFO - STDERR: # destroy xml.sax.handler +2024-11-30 13:26:39,119 - api.main - INFO - STDERR: # destroy atexit +2024-11-30 13:26:39,119 - api.main - INFO - STDERR: # destroy weakref +2024-11-30 13:26:39,119 - api.main - INFO - STDERR: # destroy _thread +2024-11-30 13:26:39,119 - api.main - INFO - STDERR: # destroy errno +2024-11-30 13:26:39,119 - api.main - INFO - STDERR: # destroy select +2024-11-30 13:26:39,119 - api.main - INFO - STDERR: # destroy socket +2024-11-30 13:26:39,119 - api.main - INFO - STDERR: # destroy hmac +2024-11-30 13:26:39,119 - api.main - INFO - STDERR: # destroy urllib3.packages.six +2024-11-30 13:26:39,119 - api.main - INFO - STDERR: # destroy _hashlib +2024-11-30 13:26:39,119 - api.main - INFO - STDERR: # destroy ssl +2024-11-30 13:26:39,119 - api.main - INFO - STDERR: # destroy pkgutil +2024-11-30 13:26:39,119 - api.main - INFO - STDERR: # destroy string +2024-11-30 13:26:39,119 - api.main - INFO - STDERR: # destroy copy +2024-11-30 13:26:39,120 - api.main - INFO - STDERR: # destroy inspect +2024-11-30 13:26:39,120 - api.main - INFO - STDERR: # destroy more_itertools +2024-11-30 13:26:39,120 - api.main - INFO - STDERR: # destroy backports.tarfile +2024-11-30 13:26:39,120 - api.main - INFO - STDERR: # destroy _warnings +2024-11-30 13:26:39,120 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib_parse +2024-11-30 13:26:39,120 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib.error +2024-11-30 13:26:39,120 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib.request +2024-11-30 13:26:39,120 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib.response +2024-11-30 13:26:39,120 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib.robotparser +2024-11-30 13:26:39,120 - api.main - INFO - STDERR: # destroy stat +2024-11-30 13:26:39,120 - api.main - INFO - STDERR: # destroy threading +2024-11-30 13:26:39,120 - api.main - INFO - STDERR: # destroy zlib +2024-11-30 13:26:39,120 - api.main - INFO - STDERR: # destroy bz2 +2024-11-30 13:26:39,120 - api.main - INFO - STDERR: # destroy lzma +2024-11-30 13:26:39,120 - api.main - INFO - STDERR: # destroy distutils.compat.py38 +2024-11-30 13:26:39,120 - api.main - INFO - STDERR: # destroy distutils.compat.py39 +2024-11-30 13:26:39,120 - api.main - INFO - STDERR: # destroy shutil +2024-11-30 13:26:39,121 - api.main - INFO - STDERR: # destroy subprocess +2024-11-30 13:26:39,121 - api.main - INFO - STDERR: # destroy distutils._modified +2024-11-30 13:26:39,121 - api.main - INFO - STDERR: # destroy distutils.archive_util +2024-11-30 13:26:39,121 - api.main - INFO - STDERR: # destroy distutils.dir_util +2024-11-30 13:26:39,121 - api.main - INFO - STDERR: # destroy distutils.file_util +2024-11-30 13:26:39,121 - api.main - INFO - STDERR: # destroy distutils.util +2024-11-30 13:26:39,121 - api.main - INFO - STDERR: # destroy importlib +2024-11-30 13:26:39,121 - api.main - INFO - STDERR: # destroy http.client +2024-11-30 13:26:39,121 - api.main - INFO - STDERR: # destroy http.cookiejar +2024-11-30 13:26:39,121 - api.main - INFO - STDERR: # destroy http.cookies +2024-11-30 13:26:39,121 - api.main - INFO - STDERR: # destroy bisect +2024-11-30 13:26:39,121 - api.main - INFO - STDERR: # destroy unicodedata +2024-11-30 13:26:39,121 - api.main - INFO - STDERR: # destroy idna.idnadata +2024-11-30 13:26:39,121 - api.main - INFO - STDERR: # destroy fnmatch +2024-11-30 13:26:39,121 - api.main - INFO - STDERR: # destroy requests +2024-11-30 13:26:39,122 - api.main - INFO - STDERR: # destroy yaml +2024-11-30 13:26:39,122 - api.main - INFO - STDERR: # destroy uuid +2024-11-30 13:26:39,122 - api.main - INFO - STDERR: # destroy collections +2024-11-30 13:26:39,122 - api.main - INFO - STDERR: # destroy struct +2024-11-30 13:26:39,122 - api.main - INFO - STDERR: # destroy apkutils2.dex.dalvikformats +2024-11-30 13:26:39,122 - api.main - INFO - STDERR: # destroy apkutils2.dex.util +2024-11-30 13:26:39,122 - api.main - INFO - STDERR: # destroy array +2024-11-30 13:26:39,122 - api.main - INFO - STDERR: # destroy binascii +2024-11-30 13:26:39,122 - api.main - INFO - STDERR: # destroy setuptools._distutils +2024-11-30 13:26:39,122 - api.main - INFO - STDERR: # destroy contextlib +2024-11-30 13:26:39,122 - api.main - INFO - STDERR: # destroy tempfile +2024-11-30 13:26:39,122 - api.main - INFO - STDERR: # destroy nt +2024-11-30 13:26:39,122 - api.main - INFO - STDERR: # destroy traceback +2024-11-30 13:26:39,122 - api.main - INFO - STDERR: # destroy spintax +2024-11-30 13:26:39,122 - api.main - INFO - STDERR: # destroy GramAddict.core.storage +2024-11-30 13:26:39,123 - api.main - INFO - STDERR: # destroy ntpath +2024-11-30 13:26:39,123 - api.main - INFO - STDERR: # destroy operator +2024-11-30 13:26:39,123 - api.main - INFO - STDERR: # destroy collections.abc +2024-11-30 13:26:39,123 - api.main - INFO - STDERR: # destroy _functools +2024-11-30 13:26:39,123 - api.main - INFO - STDERR: # destroy _heapq +2024-11-30 13:26:39,123 - api.main - INFO - STDERR: # destroy itertools +2024-11-30 13:26:39,123 - api.main - INFO - STDERR: # destroy math +2024-11-30 13:26:39,123 - api.main - INFO - STDERR: # destroy _operator +2024-11-30 13:26:39,123 - api.main - INFO - STDERR: # destroy urllib +2024-11-30 13:26:39,123 - api.main - INFO - STDERR: # destroy datetime +2024-11-30 13:26:39,123 - api.main - INFO - STDERR: # destroy platform +2024-11-30 13:26:39,123 - api.main - INFO - STDERR: # destroy emoji +2024-11-30 13:26:39,123 - api.main - INFO - STDERR: # destroy json +2024-11-30 13:26:39,123 - api.main - INFO - STDERR: # destroy jwt.api_jws +2024-11-30 13:26:39,123 - api.main - INFO - STDERR: # destroy time +2024-11-30 13:26:39,124 - api.main - INFO - STDERR: # destroy random +2024-11-30 13:26:39,124 - api.main - INFO - STDERR: # destroy warnings +2024-11-30 13:26:39,124 - api.main - INFO - STDERR: # destroy _frozen_importlib +2024-11-30 13:26:39,124 - api.main - INFO - STDERR: # clear sys.audit hooks +2024-11-30 13:29:41,549 - api.main - INFO - Starting session for account quecreate with config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml +2024-11-30 13:29:41,549 - api.main - INFO - Running command: e:\PROJECTS\instagram automation\virtualinfluencer\venv\Scripts\python.exe -v e:\PROJECTS\instagram automation\virtualinfluencer\run.py --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 13:29:41,549 - api.main - INFO - Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 13:29:41,549 - api.main - INFO - Environment PYTHONPATH: None +2024-11-30 13:29:41,549 - api.main - INFO - Starting process with command: e:\PROJECTS\instagram automation\virtualinfluencer\venv\Scripts\python.exe -v e:\PROJECTS\instagram automation\virtualinfluencer\run.py --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 13:29:41,549 - api.main - INFO - Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 13:29:41,549 - api.main - INFO - PYTHONPATH: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 13:29:41,554 - api.main - INFO - Process started with PID: 22704 +2024-11-30 13:29:41,554 - api.main - INFO - Successfully started session for account: quecreate +2024-11-30 13:29:41,589 - api.main - INFO - STDERR: import _frozen_importlib # frozen +2024-11-30 13:29:41,589 - api.main - INFO - STDERR: import _imp # builtin +2024-11-30 13:29:41,589 - api.main - INFO - STDERR: import '_thread' # +2024-11-30 13:29:41,589 - api.main - INFO - STDERR: import '_warnings' # +2024-11-30 13:29:41,589 - api.main - INFO - STDERR: import '_weakref' # +2024-11-30 13:29:41,589 - api.main - INFO - STDERR: import '_io' # +2024-11-30 13:29:41,589 - api.main - INFO - STDERR: import 'marshal' # +2024-11-30 13:29:41,589 - api.main - INFO - STDERR: import 'nt' # +2024-11-30 13:29:41,589 - api.main - INFO - STDERR: import 'winreg' # +2024-11-30 13:29:41,589 - api.main - INFO - STDERR: import '_frozen_importlib_external' # +2024-11-30 13:29:41,590 - api.main - INFO - STDERR: # installing zipimport hook +2024-11-30 13:29:41,591 - api.main - INFO - STDERR: import 'time' # +2024-11-30 13:29:41,591 - api.main - INFO - STDERR: import 'zipimport' # +2024-11-30 13:29:41,591 - api.main - INFO - STDERR: # installed zipimport hook +2024-11-30 13:29:41,593 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__init__.py +2024-11-30 13:29:41,595 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,595 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\codecs.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\codecs.py +2024-11-30 13:29:41,595 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\codecs.cpython-39.pyc' +2024-11-30 13:29:41,595 - api.main - INFO - STDERR: import '_codecs' # +2024-11-30 13:29:41,595 - api.main - INFO - STDERR: import 'codecs' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B485940> +2024-11-30 13:29:41,596 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\aliases.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\aliases.py +2024-11-30 13:29:41,596 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\aliases.cpython-39.pyc' +2024-11-30 13:29:41,596 - api.main - INFO - STDERR: import 'encodings.aliases' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B5F4EB0> +2024-11-30 13:29:41,596 - api.main - INFO - STDERR: import 'encodings' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B485730> +2024-11-30 13:29:41,596 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\utf_8.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\utf_8.py +2024-11-30 13:29:41,598 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\utf_8.cpython-39.pyc' +2024-11-30 13:29:41,598 - api.main - INFO - STDERR: import 'encodings.utf_8' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B485790> +2024-11-30 13:29:41,598 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\cp1252.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\cp1252.py +2024-11-30 13:29:41,598 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\cp1252.cpython-39.pyc' +2024-11-30 13:29:41,598 - api.main - INFO - STDERR: import 'encodings.cp1252' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B5F4FA0> +2024-11-30 13:29:41,598 - api.main - INFO - STDERR: import '_signal' # +2024-11-30 13:29:41,598 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\latin_1.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\latin_1.py +2024-11-30 13:29:41,598 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\latin_1.cpython-39.pyc' +2024-11-30 13:29:41,598 - api.main - INFO - STDERR: import 'encodings.latin_1' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B60C340> +2024-11-30 13:29:41,600 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\io.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\io.py +2024-11-30 13:29:41,600 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\io.cpython-39.pyc' +2024-11-30 13:29:41,601 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\abc.py +2024-11-30 13:29:41,601 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 13:29:41,601 - api.main - INFO - STDERR: import '_abc' # +2024-11-30 13:29:41,601 - api.main - INFO - STDERR: import 'abc' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B60C7F0> +2024-11-30 13:29:41,601 - api.main - INFO - STDERR: import 'io' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B60C520> +2024-11-30 13:29:41,601 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\site.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\site.py +2024-11-30 13:29:41,601 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\site.cpython-39.pyc' +2024-11-30 13:29:41,603 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\os.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\os.py +2024-11-30 13:29:41,603 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\os.cpython-39.pyc' +2024-11-30 13:29:41,603 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\stat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\stat.py +2024-11-30 13:29:41,604 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\stat.cpython-39.pyc' +2024-11-30 13:29:41,604 - api.main - INFO - STDERR: import '_stat' # +2024-11-30 13:29:41,604 - api.main - INFO - STDERR: import 'stat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B62FFA0> +2024-11-30 13:29:41,604 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_collections_abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_collections_abc.py +2024-11-30 13:29:41,604 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_collections_abc.cpython-39.pyc' +2024-11-30 13:29:41,604 - api.main - INFO - STDERR: import '_collections_abc' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B636130> +2024-11-30 13:29:41,606 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ntpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ntpath.py +2024-11-30 13:29:41,606 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ntpath.cpython-39.pyc' +2024-11-30 13:29:41,606 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\genericpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\genericpath.py +2024-11-30 13:29:41,606 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\genericpath.cpython-39.pyc' +2024-11-30 13:29:41,606 - api.main - INFO - STDERR: import 'genericpath' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B65F970> +2024-11-30 13:29:41,606 - api.main - INFO - STDERR: import 'ntpath' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B636A60> +2024-11-30 13:29:41,606 - api.main - INFO - STDERR: import 'os' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B6157C0> +2024-11-30 13:29:41,608 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_sitebuiltins.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_sitebuiltins.py +2024-11-30 13:29:41,608 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_sitebuiltins.cpython-39.pyc' +2024-11-30 13:29:41,608 - api.main - INFO - STDERR: import '_sitebuiltins' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B62F460> +2024-11-30 13:29:41,609 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_bootlocale.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_bootlocale.py +2024-11-30 13:29:41,609 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_bootlocale.cpython-39.pyc' +2024-11-30 13:29:41,609 - api.main - INFO - STDERR: import '_locale' # +2024-11-30 13:29:41,609 - api.main - INFO - STDERR: import '_bootlocale' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B65FD90> +2024-11-30 13:29:41,611 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__init__.py +2024-11-30 13:29:41,611 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\_distutils_hack\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,611 - api.main - INFO - STDERR: import '_distutils_hack' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B675B80> +2024-11-30 13:29:41,613 - api.main - INFO - STDERR: import 'site' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B60C850> +2024-11-30 13:29:41,613 - api.main - INFO - STDERR: Python 3.9.10 (tags/v3.9.10:f2f3f53, Jan 17 2022, 15:14:21) [MSC v.1929 64 bit (AMD64)] on win32 +2024-11-30 13:29:41,613 - api.main - INFO - STDERR: Type "help", "copyright", "credits" or "license" for more information. +2024-11-30 13:29:41,613 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\__init__.py +2024-11-30 13:29:41,613 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,614 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__init__.py +2024-11-30 13:29:41,614 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,614 - api.main - INFO - STDERR: import 'GramAddict.core' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B6845B0> +2024-11-30 13:29:41,614 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\bot_flow.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\bot_flow.py +2024-11-30 13:29:41,614 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\bot_flow.cpython-39.pyc' +2024-11-30 13:29:41,616 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__init__.py +2024-11-30 13:29:41,616 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\logging\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,616 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\re.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\re.py +2024-11-30 13:29:41,616 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\re.cpython-39.pyc' +2024-11-30 13:29:41,617 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\enum.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\enum.py +2024-11-30 13:29:41,617 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\enum.cpython-39.pyc' +2024-11-30 13:29:41,618 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\types.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\types.py +2024-11-30 13:29:41,618 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\types.cpython-39.pyc' +2024-11-30 13:29:41,618 - api.main - INFO - STDERR: import 'types' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B8C74C0> +2024-11-30 13:29:41,619 - api.main - INFO - STDERR: import 'enum' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B8AEFD0> +2024-11-30 13:29:41,619 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_compile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_compile.py +2024-11-30 13:29:41,619 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_compile.cpython-39.pyc' +2024-11-30 13:29:41,619 - api.main - INFO - STDERR: import '_sre' # +2024-11-30 13:29:41,620 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_parse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_parse.py +2024-11-30 13:29:41,620 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_parse.cpython-39.pyc' +2024-11-30 13:29:41,621 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_constants.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_constants.py +2024-11-30 13:29:41,621 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_constants.cpython-39.pyc' +2024-11-30 13:29:41,622 - api.main - INFO - STDERR: import 'sre_constants' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B8EB2E0> +2024-11-30 13:29:41,622 - api.main - INFO - STDERR: import 'sre_parse' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B8D98B0> +2024-11-30 13:29:41,622 - api.main - INFO - STDERR: import 'sre_compile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B8C7FD0> +2024-11-30 13:29:41,622 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\functools.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\functools.py +2024-11-30 13:29:41,622 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\functools.cpython-39.pyc' +2024-11-30 13:29:41,624 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__init__.py +2024-11-30 13:29:41,624 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\collections\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,624 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\heapq.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\heapq.py +2024-11-30 13:29:41,625 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\heapq.cpython-39.pyc' +2024-11-30 13:29:41,625 - api.main - INFO - STDERR: import '_heapq' # +2024-11-30 13:29:41,625 - api.main - INFO - STDERR: import 'heapq' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B91EA60> +2024-11-30 13:29:41,625 - api.main - INFO - STDERR: import 'itertools' # +2024-11-30 13:29:41,625 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\keyword.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\keyword.py +2024-11-30 13:29:41,625 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\keyword.cpython-39.pyc' +2024-11-30 13:29:41,625 - api.main - INFO - STDERR: import 'keyword' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B91EFD0> +2024-11-30 13:29:41,627 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\operator.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\operator.py +2024-11-30 13:29:41,627 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\operator.cpython-39.pyc' +2024-11-30 13:29:41,627 - api.main - INFO - STDERR: import '_operator' # +2024-11-30 13:29:41,627 - api.main - INFO - STDERR: import 'operator' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B91EF10> +2024-11-30 13:29:41,627 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\reprlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\reprlib.py +2024-11-30 13:29:41,627 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\reprlib.cpython-39.pyc' +2024-11-30 13:29:41,627 - api.main - INFO - STDERR: import 'reprlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B930160> +2024-11-30 13:29:41,627 - api.main - INFO - STDERR: import '_collections' # +2024-11-30 13:29:41,629 - api.main - INFO - STDERR: import 'collections' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B8F9EE0> +2024-11-30 13:29:41,629 - api.main - INFO - STDERR: import '_functools' # +2024-11-30 13:29:41,629 - api.main - INFO - STDERR: import 'functools' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B8F1790> +2024-11-30 13:29:41,630 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\copyreg.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\copyreg.py +2024-11-30 13:29:41,630 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\copyreg.cpython-39.pyc' +2024-11-30 13:29:41,630 - api.main - INFO - STDERR: import 'copyreg' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B906730> +2024-11-30 13:29:41,630 - api.main - INFO - STDERR: import 're' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B8AE580> +2024-11-30 13:29:41,630 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\traceback.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\traceback.py +2024-11-30 13:29:41,630 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\traceback.cpython-39.pyc' +2024-11-30 13:29:41,632 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\linecache.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\linecache.py +2024-11-30 13:29:41,632 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\linecache.cpython-39.pyc' +2024-11-30 13:29:41,632 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tokenize.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tokenize.py +2024-11-30 13:29:41,633 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tokenize.cpython-39.pyc' +2024-11-30 13:29:41,633 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\token.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\token.py +2024-11-30 13:29:41,633 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\token.cpython-39.pyc' +2024-11-30 13:29:41,633 - api.main - INFO - STDERR: import 'token' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B933F40> +2024-11-30 13:29:41,634 - api.main - INFO - STDERR: import 'tokenize' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B933550> +2024-11-30 13:29:41,634 - api.main - INFO - STDERR: import 'linecache' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B930A90> +2024-11-30 13:29:41,634 - api.main - INFO - STDERR: import 'traceback' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B906340> +2024-11-30 13:29:41,635 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\warnings.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\warnings.py +2024-11-30 13:29:41,635 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\warnings.cpython-39.pyc' +2024-11-30 13:29:41,635 - api.main - INFO - STDERR: import 'warnings' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B930910> +2024-11-30 13:29:41,637 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\weakref.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\weakref.py +2024-11-30 13:29:41,637 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\weakref.cpython-39.pyc' +2024-11-30 13:29:41,637 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_weakrefset.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_weakrefset.py +2024-11-30 13:29:41,637 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_weakrefset.cpython-39.pyc' +2024-11-30 13:29:41,637 - api.main - INFO - STDERR: import '_weakrefset' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B975D90> +2024-11-30 13:29:41,637 - api.main - INFO - STDERR: import 'weakref' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B939760> +2024-11-30 13:29:41,638 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\abc.py +2024-11-30 13:29:41,638 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\collections\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 13:29:41,638 - api.main - INFO - STDERR: import 'collections.abc' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B97EA30> +2024-11-30 13:29:41,640 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\string.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\string.py +2024-11-30 13:29:41,640 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\string.cpython-39.pyc' +2024-11-30 13:29:41,640 - api.main - INFO - STDERR: import '_string' # +2024-11-30 13:29:41,641 - api.main - INFO - STDERR: import 'string' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B97EB20> +2024-11-30 13:29:41,643 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\threading.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\threading.py +2024-11-30 13:29:41,643 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\threading.cpython-39.pyc' +2024-11-30 13:29:41,643 - api.main - INFO - STDERR: import 'threading' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B98A130> +2024-11-30 13:29:41,644 - api.main - INFO - STDERR: import 'atexit' # +2024-11-30 13:29:41,645 - api.main - INFO - STDERR: import 'logging' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B684190> +2024-11-30 13:29:41,646 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\random.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\random.py +2024-11-30 13:29:41,646 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\random.cpython-39.pyc' +2024-11-30 13:29:41,646 - api.main - INFO - STDERR: import 'math' # +2024-11-30 13:29:41,647 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\bisect.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\bisect.py +2024-11-30 13:29:41,647 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\bisect.cpython-39.pyc' +2024-11-30 13:29:41,647 - api.main - INFO - STDERR: import '_bisect' # +2024-11-30 13:29:41,647 - api.main - INFO - STDERR: import 'bisect' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B9ABF40> +2024-11-30 13:29:41,647 - api.main - INFO - STDERR: import '_random' # +2024-11-30 13:29:41,647 - api.main - INFO - STDERR: import '_sha512' # +2024-11-30 13:29:41,647 - api.main - INFO - STDERR: import 'random' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B675130> +2024-11-30 13:29:41,647 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\datetime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\datetime.py +2024-11-30 13:29:41,649 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\datetime.cpython-39.pyc' +2024-11-30 13:29:41,649 - api.main - INFO - STDERR: import '_datetime' # +2024-11-30 13:29:41,650 - api.main - INFO - STDERR: import 'datetime' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B9C4190> +2024-11-30 13:29:41,650 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__init__.py +2024-11-30 13:29:41,650 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,651 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\initialise.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\initialise.py +2024-11-30 13:29:41,651 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\initialise.cpython-39.pyc' +2024-11-30 13:29:41,651 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\contextlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\contextlib.py +2024-11-30 13:29:41,651 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\contextlib.cpython-39.pyc' +2024-11-30 13:29:41,651 - api.main - INFO - STDERR: import 'contextlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B9EFBB0> +2024-11-30 13:29:41,652 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\ansitowin32.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\ansitowin32.py +2024-11-30 13:29:41,652 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\ansitowin32.cpython-39.pyc' +2024-11-30 13:29:41,653 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\ansi.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\ansi.py +2024-11-30 13:29:41,653 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\ansi.cpython-39.pyc' +2024-11-30 13:29:41,653 - api.main - INFO - STDERR: import 'colorama.ansi' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B9FF730> +2024-11-30 13:29:41,653 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\winterm.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\winterm.py +2024-11-30 13:29:41,653 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\winterm.cpython-39.pyc' +2024-11-30 13:29:41,654 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\win32.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\win32.py +2024-11-30 13:29:41,654 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\win32.cpython-39.pyc' +2024-11-30 13:29:41,654 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__init__.py +2024-11-30 13:29:41,654 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,659 - api.main - INFO - STDERR: # extension module '_ctypes' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ctypes.pyd' +2024-11-30 13:29:41,659 - api.main - INFO - STDERR: # extension module '_ctypes' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ctypes.pyd' +2024-11-30 13:29:41,659 - api.main - INFO - STDERR: import '_ctypes' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001654BA1F7C0> +2024-11-30 13:29:41,661 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\struct.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\struct.py +2024-11-30 13:29:41,661 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\struct.cpython-39.pyc' +2024-11-30 13:29:41,661 - api.main - INFO - STDERR: import '_struct' # +2024-11-30 13:29:41,661 - api.main - INFO - STDERR: import 'struct' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654BA1FCA0> +2024-11-30 13:29:41,662 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\_endian.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\_endian.py +2024-11-30 13:29:41,662 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\_endian.cpython-39.pyc' +2024-11-30 13:29:41,662 - api.main - INFO - STDERR: import 'ctypes._endian' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654BA31A00> +2024-11-30 13:29:41,662 - api.main - INFO - STDERR: import 'ctypes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654BA13520> +2024-11-30 13:29:41,664 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\wintypes.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\wintypes.py +2024-11-30 13:29:41,665 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\wintypes.cpython-39.pyc' +2024-11-30 13:29:41,665 - api.main - INFO - STDERR: import 'ctypes.wintypes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654BA13970> +2024-11-30 13:29:41,665 - api.main - INFO - STDERR: import 'colorama.win32' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B9EF2E0> +2024-11-30 13:29:41,665 - api.main - INFO - STDERR: import 'colorama.winterm' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B9FFD30> +2024-11-30 13:29:41,666 - api.main - INFO - STDERR: import 'colorama.ansitowin32' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B9EFF10> +2024-11-30 13:29:41,666 - api.main - INFO - STDERR: import 'colorama.initialise' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B9EF940> +2024-11-30 13:29:41,666 - api.main - INFO - STDERR: import 'colorama' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B9C4220> +2024-11-30 13:29:41,666 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\config.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\config.py +2024-11-30 13:29:41,666 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\config.cpython-39.pyc' +2024-11-30 13:29:41,666 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\typing.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\typing.py +2024-11-30 13:29:41,667 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\typing.cpython-39.pyc' +2024-11-30 13:29:41,668 - api.main - INFO - STDERR: import 'typing' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654BA31FA0> +2024-11-30 13:29:41,670 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\configargparse.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\configargparse.py +2024-11-30 13:29:41,670 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\configargparse.cpython-39.pyc' +2024-11-30 13:29:41,671 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\argparse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\argparse.py +2024-11-30 13:29:41,674 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\argparse.cpython-39.pyc' +2024-11-30 13:29:41,676 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\gettext.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\gettext.py +2024-11-30 13:29:41,676 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\gettext.cpython-39.pyc' +2024-11-30 13:29:41,677 - api.main - INFO - STDERR: import 'gettext' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B9C4AC0> +2024-11-30 13:29:41,677 - api.main - INFO - STDERR: import 'argparse' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D422FD0> +2024-11-30 13:29:41,679 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__init__.py +2024-11-30 13:29:41,679 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,680 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\decoder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\decoder.py +2024-11-30 13:29:41,680 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\decoder.cpython-39.pyc' +2024-11-30 13:29:41,681 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\scanner.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\scanner.py +2024-11-30 13:29:41,681 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\scanner.cpython-39.pyc' +2024-11-30 13:29:41,682 - api.main - INFO - STDERR: import '_json' # +2024-11-30 13:29:41,682 - api.main - INFO - STDERR: import 'json.scanner' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B9337C0> +2024-11-30 13:29:41,682 - api.main - INFO - STDERR: import 'json.decoder' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B9DE070> +2024-11-30 13:29:41,683 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\encoder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\encoder.py +2024-11-30 13:29:41,683 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\encoder.cpython-39.pyc' +2024-11-30 13:29:41,683 - api.main - INFO - STDERR: import 'json.encoder' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B9DED60> +2024-11-30 13:29:41,683 - api.main - INFO - STDERR: import 'json' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B9D6C40> +2024-11-30 13:29:41,685 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\glob.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\glob.py +2024-11-30 13:29:41,685 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\glob.cpython-39.pyc' +2024-11-30 13:29:41,686 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\fnmatch.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\fnmatch.py +2024-11-30 13:29:41,686 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\fnmatch.cpython-39.pyc' +2024-11-30 13:29:41,688 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\posixpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\posixpath.py +2024-11-30 13:29:41,688 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\posixpath.cpython-39.pyc' +2024-11-30 13:29:41,688 - api.main - INFO - STDERR: import 'posixpath' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D462790> +2024-11-30 13:29:41,688 - api.main - INFO - STDERR: import 'fnmatch' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D462430> +2024-11-30 13:29:41,688 - api.main - INFO - STDERR: import 'glob' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D43AC10> +2024-11-30 13:29:41,690 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\textwrap.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\textwrap.py +2024-11-30 13:29:41,690 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\textwrap.cpython-39.pyc' +2024-11-30 13:29:41,693 - api.main - INFO - STDERR: import 'textwrap' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D4625E0> +2024-11-30 13:29:41,693 - api.main - INFO - STDERR: import 'configargparse' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654BA528E0> +2024-11-30 13:29:41,695 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__init__.py +2024-11-30 13:29:41,695 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,697 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\error.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\error.py +2024-11-30 13:29:41,697 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\error.cpython-39.pyc' +2024-11-30 13:29:41,697 - api.main - INFO - STDERR: import 'yaml.error' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D475D30> +2024-11-30 13:29:41,698 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\tokens.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\tokens.py +2024-11-30 13:29:41,698 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\tokens.cpython-39.pyc' +2024-11-30 13:29:41,699 - api.main - INFO - STDERR: import 'yaml.tokens' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D475EE0> +2024-11-30 13:29:41,699 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\events.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\events.py +2024-11-30 13:29:41,699 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\events.cpython-39.pyc' +2024-11-30 13:29:41,699 - api.main - INFO - STDERR: import 'yaml.events' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D47D1F0> +2024-11-30 13:29:41,701 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\nodes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\nodes.py +2024-11-30 13:29:41,701 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\nodes.cpython-39.pyc' +2024-11-30 13:29:41,701 - api.main - INFO - STDERR: import 'yaml.nodes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D47DA00> +2024-11-30 13:29:41,701 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\loader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\loader.py +2024-11-30 13:29:41,701 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\loader.cpython-39.pyc' +2024-11-30 13:29:41,702 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\reader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\reader.py +2024-11-30 13:29:41,702 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\reader.cpython-39.pyc' +2024-11-30 13:29:41,709 - api.main - INFO - STDERR: import 'yaml.reader' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D48C370> +2024-11-30 13:29:41,709 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\scanner.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\scanner.py +2024-11-30 13:29:41,709 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\scanner.cpython-39.pyc' +2024-11-30 13:29:41,710 - api.main - INFO - STDERR: import 'yaml.scanner' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D48C700> +2024-11-30 13:29:41,710 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\parser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\parser.py +2024-11-30 13:29:41,711 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\parser.cpython-39.pyc' +2024-11-30 13:29:41,711 - api.main - INFO - STDERR: import 'yaml.parser' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D496280> +2024-11-30 13:29:41,712 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\composer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\composer.py +2024-11-30 13:29:41,712 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\composer.cpython-39.pyc' +2024-11-30 13:29:41,712 - api.main - INFO - STDERR: import 'yaml.composer' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D496940> +2024-11-30 13:29:41,712 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\constructor.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\constructor.py +2024-11-30 13:29:41,712 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\constructor.cpython-39.pyc' +2024-11-30 13:29:41,714 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\base64.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\base64.py +2024-11-30 13:29:41,714 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\base64.cpython-39.pyc' +2024-11-30 13:29:41,714 - api.main - INFO - STDERR: import 'binascii' # +2024-11-30 13:29:41,714 - api.main - INFO - STDERR: import 'base64' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D4ACBB0> +2024-11-30 13:29:41,715 - api.main - INFO - STDERR: import 'yaml.constructor' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D496C10> +2024-11-30 13:29:41,716 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\resolver.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\resolver.py +2024-11-30 13:29:41,716 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\resolver.cpython-39.pyc' +2024-11-30 13:29:41,718 - api.main - INFO - STDERR: import 'yaml.resolver' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D4AC8B0> +2024-11-30 13:29:41,718 - api.main - INFO - STDERR: import 'yaml.loader' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D47DF40> +2024-11-30 13:29:41,719 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\dumper.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\dumper.py +2024-11-30 13:29:41,719 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\dumper.cpython-39.pyc' +2024-11-30 13:29:41,719 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\emitter.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\emitter.py +2024-11-30 13:29:41,719 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\emitter.cpython-39.pyc' +2024-11-30 13:29:41,719 - api.main - INFO - STDERR: import 'yaml.emitter' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D4BCBB0> +2024-11-30 13:29:41,719 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\serializer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\serializer.py +2024-11-30 13:29:41,720 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\serializer.cpython-39.pyc' +2024-11-30 13:29:41,720 - api.main - INFO - STDERR: import 'yaml.serializer' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D4D85B0> +2024-11-30 13:29:41,720 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\representer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\representer.py +2024-11-30 13:29:41,720 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\representer.cpython-39.pyc' +2024-11-30 13:29:41,720 - api.main - INFO - STDERR: import 'yaml.representer' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D4D8850> +2024-11-30 13:29:41,720 - api.main - INFO - STDERR: import 'yaml.dumper' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D48C160> +2024-11-30 13:29:41,720 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\cyaml.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\cyaml.py +2024-11-30 13:29:41,721 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\cyaml.cpython-39.pyc' +2024-11-30 13:29:41,721 - api.main - INFO - STDERR: # extension module 'yaml._yaml' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\_yaml.cp39-win_amd64.pyd' +2024-11-30 13:29:41,721 - api.main - INFO - STDERR: # extension module 'yaml._yaml' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\_yaml.cp39-win_amd64.pyd' +2024-11-30 13:29:41,721 - api.main - INFO - STDERR: import 'yaml._yaml' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001654D4E9460> +2024-11-30 13:29:41,722 - api.main - INFO - STDERR: import 'yaml.cyaml' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D47D340> +2024-11-30 13:29:41,722 - api.main - INFO - STDERR: import 'yaml' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D462F70> +2024-11-30 13:29:41,723 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\plugin_loader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\plugin_loader.py +2024-11-30 13:29:41,723 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\plugin_loader.cpython-39.pyc' +2024-11-30 13:29:41,724 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\inspect.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\inspect.py +2024-11-30 13:29:41,725 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\inspect.cpython-39.pyc' +2024-11-30 13:29:41,726 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ast.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ast.py +2024-11-30 13:29:41,727 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ast.cpython-39.pyc' +2024-11-30 13:29:41,728 - api.main - INFO - STDERR: import '_ast' # +2024-11-30 13:29:41,729 - api.main - INFO - STDERR: import 'ast' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D522AF0> +2024-11-30 13:29:41,730 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\dis.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\dis.py +2024-11-30 13:29:41,730 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\dis.cpython-39.pyc' +2024-11-30 13:29:41,731 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\opcode.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\opcode.py +2024-11-30 13:29:41,731 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\opcode.cpython-39.pyc' +2024-11-30 13:29:41,731 - api.main - INFO - STDERR: import '_opcode' # +2024-11-30 13:29:41,731 - api.main - INFO - STDERR: import 'opcode' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D562E20> +2024-11-30 13:29:41,732 - api.main - INFO - STDERR: import 'dis' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D52C2E0> +2024-11-30 13:29:41,732 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__init__.py +2024-11-30 13:29:41,732 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,733 - api.main - INFO - STDERR: import 'importlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D576DF0> +2024-11-30 13:29:41,733 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\machinery.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\machinery.py +2024-11-30 13:29:41,733 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\machinery.cpython-39.pyc' +2024-11-30 13:29:41,734 - api.main - INFO - STDERR: import 'importlib.machinery' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D576C40> +2024-11-30 13:29:41,734 - api.main - INFO - STDERR: import 'inspect' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D4E9AF0> +2024-11-30 13:29:41,736 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pkgutil.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pkgutil.py +2024-11-30 13:29:41,736 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pkgutil.cpython-39.pyc' +2024-11-30 13:29:41,736 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\util.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\util.py +2024-11-30 13:29:41,736 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\util.cpython-39.pyc' +2024-11-30 13:29:41,737 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\abc.py +2024-11-30 13:29:41,737 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 13:29:41,737 - api.main - INFO - STDERR: import 'importlib.abc' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D5995E0> +2024-11-30 13:29:41,737 - api.main - INFO - STDERR: import 'importlib.util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D589640> +2024-11-30 13:29:41,738 - api.main - INFO - STDERR: import 'pkgutil' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D4F5B20> +2024-11-30 13:29:41,738 - api.main - INFO - STDERR: import 'GramAddict.core.plugin_loader' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D4E9190> +2024-11-30 13:29:41,738 - api.main - INFO - STDERR: import 'GramAddict.core.config' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B9C4250> +2024-11-30 13:29:41,738 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\device_facade.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py +2024-11-30 13:29:41,738 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\device_facade.cpython-39.pyc' +2024-11-30 13:29:41,739 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\subprocess.py +2024-11-30 13:29:41,740 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\subprocess.cpython-39.pyc' +2024-11-30 13:29:41,740 - api.main - INFO - STDERR: import 'errno' # +2024-11-30 13:29:41,741 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\signal.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\signal.py +2024-11-30 13:29:41,741 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\signal.cpython-39.pyc' +2024-11-30 13:29:41,741 - api.main - INFO - STDERR: import 'signal' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D5C6A30> +2024-11-30 13:29:41,742 - api.main - INFO - STDERR: import 'msvcrt' # +2024-11-30 13:29:41,742 - api.main - INFO - STDERR: import '_winapi' # +2024-11-30 13:29:41,742 - api.main - INFO - STDERR: import 'subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D5B9910> +2024-11-30 13:29:41,743 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py +2024-11-30 13:29:41,743 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,744 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\__future__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__future__.py +2024-11-30 13:29:41,744 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\__future__.cpython-39.pyc' +2024-11-30 13:29:41,744 - api.main - INFO - STDERR: import '__future__' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D5F6E80> +2024-11-30 13:29:41,745 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\hashlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\hashlib.py +2024-11-30 13:29:41,745 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\hashlib.cpython-39.pyc' +2024-11-30 13:29:41,746 - api.main - INFO - STDERR: # extension module '_hashlib' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_hashlib.pyd' +2024-11-30 13:29:41,747 - api.main - INFO - STDERR: # extension module '_hashlib' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_hashlib.pyd' +2024-11-30 13:29:41,747 - api.main - INFO - STDERR: import '_hashlib' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001654D6039A0> +2024-11-30 13:29:41,747 - api.main - INFO - STDERR: import '_blake2' # +2024-11-30 13:29:41,747 - api.main - INFO - STDERR: import 'hashlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D603580> +2024-11-30 13:29:41,747 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\shutil.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\shutil.py +2024-11-30 13:29:41,748 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\shutil.cpython-39.pyc' +2024-11-30 13:29:41,748 - api.main - INFO - STDERR: import 'zlib' # +2024-11-30 13:29:41,749 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\bz2.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\bz2.py +2024-11-30 13:29:41,749 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\bz2.cpython-39.pyc' +2024-11-30 13:29:41,749 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_compression.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_compression.py +2024-11-30 13:29:41,749 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_compression.cpython-39.pyc' +2024-11-30 13:29:41,750 - api.main - INFO - STDERR: import '_compression' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D633370> +2024-11-30 13:29:41,751 - api.main - INFO - STDERR: # extension module '_bz2' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_bz2.pyd' +2024-11-30 13:29:41,751 - api.main - INFO - STDERR: # extension module '_bz2' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_bz2.pyd' +2024-11-30 13:29:41,751 - api.main - INFO - STDERR: import '_bz2' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001654D6338B0> +2024-11-30 13:29:41,751 - api.main - INFO - STDERR: import 'bz2' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D621B20> +2024-11-30 13:29:41,753 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\lzma.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\lzma.py +2024-11-30 13:29:41,753 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\lzma.cpython-39.pyc' +2024-11-30 13:29:41,754 - api.main - INFO - STDERR: # extension module '_lzma' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_lzma.pyd' +2024-11-30 13:29:41,754 - api.main - INFO - STDERR: # extension module '_lzma' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_lzma.pyd' +2024-11-30 13:29:41,754 - api.main - INFO - STDERR: import '_lzma' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001654D633FA0> +2024-11-30 13:29:41,754 - api.main - INFO - STDERR: import 'lzma' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D6337F0> +2024-11-30 13:29:41,755 - api.main - INFO - STDERR: import 'shutil' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D603C70> +2024-11-30 13:29:41,756 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\__init__.py +2024-11-30 13:29:41,756 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,756 - api.main - INFO - STDERR: import 'xml' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D640940> +2024-11-30 13:29:41,756 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__init__.py +2024-11-30 13:29:41,756 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,757 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\domreg.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\domreg.py +2024-11-30 13:29:41,757 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\domreg.cpython-39.pyc' +2024-11-30 13:29:41,758 - api.main - INFO - STDERR: import 'xml.dom.domreg' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D640EE0> +2024-11-30 13:29:41,758 - api.main - INFO - STDERR: import 'xml.dom' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D621040> +2024-11-30 13:29:41,758 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\minidom.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\minidom.py +2024-11-30 13:29:41,759 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\minidom.cpython-39.pyc' +2024-11-30 13:29:41,759 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\minicompat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\minicompat.py +2024-11-30 13:29:41,759 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\minicompat.cpython-39.pyc' +2024-11-30 13:29:41,759 - api.main - INFO - STDERR: import 'xml.dom.minicompat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D6964C0> +2024-11-30 13:29:41,759 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\xmlbuilder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\xmlbuilder.py +2024-11-30 13:29:41,759 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\xmlbuilder.cpython-39.pyc' +2024-11-30 13:29:41,759 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\copy.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\copy.py +2024-11-30 13:29:41,759 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\copy.cpython-39.pyc' +2024-11-30 13:29:41,761 - api.main - INFO - STDERR: import 'copy' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D69ECA0> +2024-11-30 13:29:41,761 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\NodeFilter.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\NodeFilter.py +2024-11-30 13:29:41,761 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\NodeFilter.cpython-39.pyc' +2024-11-30 13:29:41,762 - api.main - INFO - STDERR: import 'xml.dom.NodeFilter' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D69EFD0> +2024-11-30 13:29:41,762 - api.main - INFO - STDERR: import 'xml.dom.xmlbuilder' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D696940> +2024-11-30 13:29:41,762 - api.main - INFO - STDERR: import 'xml.dom.minidom' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D603550> +2024-11-30 13:29:41,763 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pathlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pathlib.py +2024-11-30 13:29:41,763 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pathlib.cpython-39.pyc' +2024-11-30 13:29:41,764 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__init__.py +2024-11-30 13:29:41,764 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,764 - api.main - INFO - STDERR: import 'urllib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D6CAD00> +2024-11-30 13:29:41,764 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\parse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\parse.py +2024-11-30 13:29:41,764 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\parse.cpython-39.pyc' +2024-11-30 13:29:41,765 - api.main - INFO - STDERR: import 'urllib.parse' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D6CAD30> +2024-11-30 13:29:41,766 - api.main - INFO - STDERR: import 'pathlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D68C400> +2024-11-30 13:29:41,767 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__init__.py +2024-11-30 13:29:41,767 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,767 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\deprecation.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecation.py +2024-11-30 13:29:41,767 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\deprecation.cpython-39.pyc' +2024-11-30 13:29:41,768 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__init__.py +2024-11-30 13:29:41,768 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,768 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\__about__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__about__.py +2024-11-30 13:29:41,768 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\__about__.cpython-39.pyc' +2024-11-30 13:29:41,768 - api.main - INFO - STDERR: import 'packaging.__about__' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D64F790> +2024-11-30 13:29:41,768 - api.main - INFO - STDERR: import 'packaging' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D64F520> +2024-11-30 13:29:41,768 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\version.py +2024-11-30 13:29:41,768 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\version.cpython-39.pyc' +2024-11-30 13:29:41,769 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_structures.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_structures.py +2024-11-30 13:29:41,769 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_structures.cpython-39.pyc' +2024-11-30 13:29:41,769 - api.main - INFO - STDERR: import 'packaging._structures' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D6FD640> +2024-11-30 13:29:41,769 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_typing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_typing.py +2024-11-30 13:29:41,769 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_typing.cpython-39.pyc' +2024-11-30 13:29:41,769 - api.main - INFO - STDERR: import 'packaging._typing' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D6FDF10> +2024-11-30 13:29:41,771 - api.main - INFO - STDERR: import 'packaging.version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D64F5B0> +2024-11-30 13:29:41,771 - api.main - INFO - STDERR: import 'deprecation' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D64F100> +2024-11-30 13:29:41,772 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_adb.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_adb.py +2024-11-30 13:29:41,772 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_adb.cpython-39.pyc' +2024-11-30 13:29:41,772 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\socket.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\socket.py +2024-11-30 13:29:41,772 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\socket.cpython-39.pyc' +2024-11-30 13:29:41,774 - api.main - INFO - STDERR: # extension module '_socket' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_socket.pyd' +2024-11-30 13:29:41,774 - api.main - INFO - STDERR: # extension module '_socket' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_socket.pyd' +2024-11-30 13:29:41,774 - api.main - INFO - STDERR: import '_socket' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001654D719C40> +2024-11-30 13:29:41,776 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\selectors.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\selectors.py +2024-11-30 13:29:41,776 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\selectors.cpython-39.pyc' +2024-11-30 13:29:41,777 - api.main - INFO - STDERR: # extension module 'select' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\select.pyd' +2024-11-30 13:29:41,777 - api.main - INFO - STDERR: # extension module 'select' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\select.pyd' +2024-11-30 13:29:41,777 - api.main - INFO - STDERR: import 'select' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001654D72DE20> +2024-11-30 13:29:41,778 - api.main - INFO - STDERR: import 'selectors' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D719D90> +2024-11-30 13:29:41,779 - api.main - INFO - STDERR: import 'socket' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D704F40> +2024-11-30 13:29:41,779 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_utils.py +2024-11-30 13:29:41,779 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_utils.cpython-39.pyc' +2024-11-30 13:29:41,780 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\shlex.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\shlex.py +2024-11-30 13:29:41,780 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\shlex.cpython-39.pyc' +2024-11-30 13:29:41,781 - api.main - INFO - STDERR: import 'shlex' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D733D00> +2024-11-30 13:29:41,782 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tempfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tempfile.py +2024-11-30 13:29:41,782 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tempfile.cpython-39.pyc' +2024-11-30 13:29:41,783 - api.main - INFO - STDERR: import 'tempfile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D73C280> +2024-11-30 13:29:41,784 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\zipfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\zipfile.py +2024-11-30 13:29:41,784 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\zipfile.cpython-39.pyc' +2024-11-30 13:29:41,784 - api.main - INFO - STDERR: import 'zipfile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D766640> +2024-11-30 13:29:41,785 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\whichcraft.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\whichcraft.py +2024-11-30 13:29:41,785 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\whichcraft.cpython-39.pyc' +2024-11-30 13:29:41,785 - api.main - INFO - STDERR: import 'whichcraft' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D775D60> +2024-11-30 13:29:41,786 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__init__.py +2024-11-30 13:29:41,786 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,786 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\xmltodict.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\xmltodict.py +2024-11-30 13:29:41,786 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\xmltodict.cpython-39.pyc' +2024-11-30 13:29:41,786 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__init__.py +2024-11-30 13:29:41,787 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\parsers\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,787 - api.main - INFO - STDERR: import 'xml.parsers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D798790> +2024-11-30 13:29:41,787 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__pycache__\expat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\expat.py +2024-11-30 13:29:41,787 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\parsers\\__pycache__\\expat.cpython-39.pyc' +2024-11-30 13:29:41,790 - api.main - INFO - STDERR: # extension module 'pyexpat' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\pyexpat.pyd' +2024-11-30 13:29:41,790 - api.main - INFO - STDERR: # extension module 'pyexpat' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\pyexpat.pyd' +2024-11-30 13:29:41,790 - api.main - INFO - STDERR: import 'pyexpat' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001654D798AF0> +2024-11-30 13:29:41,790 - api.main - INFO - STDERR: import 'xml.parsers.expat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D798910> +2024-11-30 13:29:41,790 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__init__.py +2024-11-30 13:29:41,790 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,791 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\xmlreader.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\xmlreader.py +2024-11-30 13:29:41,791 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\xmlreader.cpython-39.pyc' +2024-11-30 13:29:41,791 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\handler.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\handler.py +2024-11-30 13:29:41,791 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\handler.cpython-39.pyc' +2024-11-30 13:29:41,791 - api.main - INFO - STDERR: import 'xml.sax.handler' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D7B1B20> +2024-11-30 13:29:41,791 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\_exceptions.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\_exceptions.py +2024-11-30 13:29:41,791 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\_exceptions.cpython-39.pyc' +2024-11-30 13:29:41,791 - api.main - INFO - STDERR: import 'xml.sax._exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D7B8520> +2024-11-30 13:29:41,791 - api.main - INFO - STDERR: import 'xml.sax.xmlreader' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D798F10> +2024-11-30 13:29:41,793 - api.main - INFO - STDERR: import 'xml.sax' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D798BB0> +2024-11-30 13:29:41,793 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\saxutils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\saxutils.py +2024-11-30 13:29:41,793 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\saxutils.cpython-39.pyc' +2024-11-30 13:29:41,793 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\request.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\request.py +2024-11-30 13:29:41,793 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\request.cpython-39.pyc' +2024-11-30 13:29:41,795 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__init__.py +2024-11-30 13:29:41,795 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,795 - api.main - INFO - STDERR: import 'email' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D8025B0> +2024-11-30 13:29:41,796 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__init__.py +2024-11-30 13:29:41,796 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,796 - api.main - INFO - STDERR: import 'http' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D8028B0> +2024-11-30 13:29:41,796 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\client.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\client.py +2024-11-30 13:29:41,796 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\client.cpython-39.pyc' +2024-11-30 13:29:41,798 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\parser.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\parser.py +2024-11-30 13:29:41,798 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\parser.cpython-39.pyc' +2024-11-30 13:29:41,798 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\feedparser.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\feedparser.py +2024-11-30 13:29:41,798 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\feedparser.cpython-39.pyc' +2024-11-30 13:29:41,798 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\errors.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\errors.py +2024-11-30 13:29:41,798 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 13:29:41,800 - api.main - INFO - STDERR: import 'email.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D825A00> +2024-11-30 13:29:41,800 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_policybase.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_policybase.py +2024-11-30 13:29:41,800 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_policybase.cpython-39.pyc' +2024-11-30 13:29:41,800 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\header.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\header.py +2024-11-30 13:29:41,800 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\header.cpython-39.pyc' +2024-11-30 13:29:41,801 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\quoprimime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\quoprimime.py +2024-11-30 13:29:41,801 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\quoprimime.cpython-39.pyc' +2024-11-30 13:29:41,801 - api.main - INFO - STDERR: import 'email.quoprimime' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D8436D0> +2024-11-30 13:29:41,801 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\base64mime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\base64mime.py +2024-11-30 13:29:41,801 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\base64mime.cpython-39.pyc' +2024-11-30 13:29:41,801 - api.main - INFO - STDERR: import 'email.base64mime' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D843BB0> +2024-11-30 13:29:41,801 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\charset.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\charset.py +2024-11-30 13:29:41,803 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\charset.cpython-39.pyc' +2024-11-30 13:29:41,803 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\encoders.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\encoders.py +2024-11-30 13:29:41,803 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\encoders.cpython-39.pyc' +2024-11-30 13:29:41,803 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\quopri.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\quopri.py +2024-11-30 13:29:41,803 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\quopri.cpython-39.pyc' +2024-11-30 13:29:41,803 - api.main - INFO - STDERR: import 'quopri' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D853790> +2024-11-30 13:29:41,804 - api.main - INFO - STDERR: import 'email.encoders' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D8533A0> +2024-11-30 13:29:41,804 - api.main - INFO - STDERR: import 'email.charset' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D843D90> +2024-11-30 13:29:41,804 - api.main - INFO - STDERR: import 'email.header' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D833E20> +2024-11-30 13:29:41,805 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\utils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\utils.py +2024-11-30 13:29:41,805 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 13:29:41,805 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_parseaddr.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_parseaddr.py +2024-11-30 13:29:41,805 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_parseaddr.cpython-39.pyc' +2024-11-30 13:29:41,806 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\calendar.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\calendar.py +2024-11-30 13:29:41,806 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\calendar.cpython-39.pyc' +2024-11-30 13:29:41,806 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\locale.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\locale.py +2024-11-30 13:29:41,807 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\locale.cpython-39.pyc' +2024-11-30 13:29:41,807 - api.main - INFO - STDERR: import 'locale' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D86DEB0> +2024-11-30 13:29:41,807 - api.main - INFO - STDERR: import 'calendar' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D8656A0> +2024-11-30 13:29:41,808 - api.main - INFO - STDERR: import 'email._parseaddr' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D853F70> +2024-11-30 13:29:41,808 - api.main - INFO - STDERR: import 'email.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D8531F0> +2024-11-30 13:29:41,808 - api.main - INFO - STDERR: import 'email._policybase' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D825AF0> +2024-11-30 13:29:41,809 - api.main - INFO - STDERR: import 'email.feedparser' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D825280> +2024-11-30 13:29:41,809 - api.main - INFO - STDERR: import 'email.parser' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D81EB80> +2024-11-30 13:29:41,810 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\message.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\message.py +2024-11-30 13:29:41,810 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\message.cpython-39.pyc' +2024-11-30 13:29:41,811 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\uu.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\uu.py +2024-11-30 13:29:41,812 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\uu.cpython-39.pyc' +2024-11-30 13:29:41,812 - api.main - INFO - STDERR: import 'uu' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D8B0A90> +2024-11-30 13:29:41,812 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_encoded_words.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_encoded_words.py +2024-11-30 13:29:41,812 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_encoded_words.cpython-39.pyc' +2024-11-30 13:29:41,812 - api.main - INFO - STDERR: import 'email._encoded_words' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D8B0CD0> +2024-11-30 13:29:41,812 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\iterators.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\iterators.py +2024-11-30 13:29:41,812 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\iterators.cpython-39.pyc' +2024-11-30 13:29:41,813 - api.main - INFO - STDERR: import 'email.iterators' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D8BC190> +2024-11-30 13:29:41,813 - api.main - INFO - STDERR: import 'email.message' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D81EF40> +2024-11-30 13:29:41,814 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ssl.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ssl.py +2024-11-30 13:29:41,814 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ssl.cpython-39.pyc' +2024-11-30 13:29:41,816 - api.main - INFO - STDERR: # extension module '_ssl' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ssl.pyd' +2024-11-30 13:29:41,816 - api.main - INFO - STDERR: # extension module '_ssl' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ssl.pyd' +2024-11-30 13:29:41,816 - api.main - INFO - STDERR: import '_ssl' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001654D8D5580> +2024-11-30 13:29:41,818 - api.main - INFO - STDERR: import 'ssl' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D8BC460> +2024-11-30 13:29:41,819 - api.main - INFO - STDERR: import 'http.client' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D8029D0> +2024-11-30 13:29:41,820 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\error.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\error.py +2024-11-30 13:29:41,820 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\error.cpython-39.pyc' +2024-11-30 13:29:41,820 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\response.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\response.py +2024-11-30 13:29:41,820 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\response.cpython-39.pyc' +2024-11-30 13:29:41,820 - api.main - INFO - STDERR: import 'urllib.response' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D92F460> +2024-11-30 13:29:41,820 - api.main - INFO - STDERR: import 'urllib.error' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D81E3A0> +2024-11-30 13:29:41,822 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\nturl2path.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\nturl2path.py +2024-11-30 13:29:41,822 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\nturl2path.cpython-39.pyc' +2024-11-30 13:29:41,822 - api.main - INFO - STDERR: import 'nturl2path' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D92FCD0> +2024-11-30 13:29:41,822 - api.main - INFO - STDERR: import 'urllib.request' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D7C78B0> +2024-11-30 13:29:41,822 - api.main - INFO - STDERR: import 'xml.sax.saxutils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D798640> +2024-11-30 13:29:41,822 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\platform.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\platform.py +2024-11-30 13:29:41,823 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\platform.cpython-39.pyc' +2024-11-30 13:29:41,824 - api.main - INFO - STDERR: import 'platform' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D7C76D0> +2024-11-30 13:29:41,824 - api.main - INFO - STDERR: import 'xmltodict' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D798220> +2024-11-30 13:29:41,825 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\apkfile.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\apkfile.py +2024-11-30 13:29:41,825 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\apkfile.cpython-39.pyc' +2024-11-30 13:29:41,825 - api.main - INFO - STDERR: import 'apkutils2.apkfile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D798580> +2024-11-30 13:29:41,827 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__init__.py +2024-11-30 13:29:41,827 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,827 - api.main - INFO - STDERR: import 'apkutils2.axml' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D9489D0> +2024-11-30 13:29:41,827 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\arscparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\arscparser.py +2024-11-30 13:29:41,827 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\arscparser.cpython-39.pyc' +2024-11-30 13:29:41,827 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\chunk.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\chunk.py +2024-11-30 13:29:41,827 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\chunk.cpython-39.pyc' +2024-11-30 13:29:41,827 - api.main - INFO - STDERR: import 'apkutils2.axml.chunk' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D973580> +2024-11-30 13:29:41,827 - api.main - INFO - STDERR: import 'apkutils2.axml.arscparser' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D953E80> +2024-11-30 13:29:41,828 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\axmlparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\axmlparser.py +2024-11-30 13:29:41,829 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\axmlparser.cpython-39.pyc' +2024-11-30 13:29:41,829 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\public.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\public.py +2024-11-30 13:29:41,829 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\public.cpython-39.pyc' +2024-11-30 13:29:41,829 - api.main - INFO - STDERR: import 'apkutils2.axml.public' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654DD82820> +2024-11-30 13:29:41,829 - api.main - INFO - STDERR: import 'apkutils2.axml.axmlparser' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D968A00> +2024-11-30 13:29:41,830 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__init__.py +2024-11-30 13:29:41,830 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,830 - api.main - INFO - STDERR: import 'apkutils2.dex' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654DD82910> +2024-11-30 13:29:41,830 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dexparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dexparser.py +2024-11-30 13:29:41,830 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dexparser.cpython-39.pyc' +2024-11-30 13:29:41,830 - api.main - INFO - STDERR: import 'array' # +2024-11-30 13:29:41,830 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\byteio.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\byteio.py +2024-11-30 13:29:41,830 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\byteio.cpython-39.pyc' +2024-11-30 13:29:41,830 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\util.py +2024-11-30 13:29:41,831 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\util.cpython-39.pyc' +2024-11-30 13:29:41,832 - api.main - INFO - STDERR: import 'apkutils2.dex.util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654DDD6EE0> +2024-11-30 13:29:41,832 - api.main - INFO - STDERR: import 'apkutils2.dex.byteio' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654DDD6550> +2024-11-30 13:29:41,832 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dalvik.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dalvik.py +2024-11-30 13:29:41,832 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dalvik.cpython-39.pyc' +2024-11-30 13:29:41,832 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dalvikformats.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dalvikformats.py +2024-11-30 13:29:41,832 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dalvikformats.cpython-39.pyc' +2024-11-30 13:29:41,832 - api.main - INFO - STDERR: import 'apkutils2.dex.dalvikformats' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654DDE1370> +2024-11-30 13:29:41,832 - api.main - INFO - STDERR: import 'apkutils2.dex.dalvik' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654DDD6FD0> +2024-11-30 13:29:41,832 - api.main - INFO - STDERR: import 'apkutils2.dex.dexparser' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654DD82940> +2024-11-30 13:29:41,832 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\manifest.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\manifest.py +2024-11-30 13:29:41,832 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\manifest.cpython-39.pyc' +2024-11-30 13:29:41,832 - api.main - INFO - STDERR: import 'apkutils2.manifest' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654DD82E20> +2024-11-30 13:29:41,833 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cigam\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cigam\__init__.py +2024-11-30 13:29:41,833 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\cigam\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,833 - api.main - INFO - STDERR: import 'cigam' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654DDE15E0> +2024-11-30 13:29:41,833 - api.main - INFO - STDERR: import 'apkutils2' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D789B80> +2024-11-30 13:29:41,834 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pkg_resources\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pkg_resources\__init__.py +2024-11-30 13:29:41,835 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pkg_resources\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,836 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\plistlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\plistlib.py +2024-11-30 13:29:41,836 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\plistlib.cpython-39.pyc' +2024-11-30 13:29:41,837 - api.main - INFO - STDERR: import 'plistlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654DE256D0> +2024-11-30 13:29:41,838 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\markers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\markers.py +2024-11-30 13:29:41,838 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\markers.cpython-39.pyc' +2024-11-30 13:29:41,838 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__init__.py +2024-11-30 13:29:41,838 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,839 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\util.py +2024-11-30 13:29:41,839 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\util.cpython-39.pyc' +2024-11-30 13:29:41,839 - api.main - INFO - STDERR: import 'pyparsing.util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654DE3CC70> +2024-11-30 13:29:41,839 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\exceptions.py +2024-11-30 13:29:41,839 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 13:29:41,839 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\unicode.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\unicode.py +2024-11-30 13:29:41,839 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\unicode.cpython-39.pyc' +2024-11-30 13:29:41,839 - api.main - INFO - STDERR: import 'pyparsing.unicode' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654DE4D910> +2024-11-30 13:29:41,842 - api.main - INFO - STDERR: import 'pyparsing.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654DE47D00> +2024-11-30 13:29:41,843 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\actions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\actions.py +2024-11-30 13:29:41,843 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\actions.cpython-39.pyc' +2024-11-30 13:29:41,843 - api.main - INFO - STDERR: import 'pyparsing.actions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654DE4D4F0> +2024-11-30 13:29:41,843 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\core.py +2024-11-30 13:29:41,845 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\core.cpython-39.pyc' +2024-11-30 13:29:41,845 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\results.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\results.py +2024-11-30 13:29:41,845 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\results.cpython-39.pyc' +2024-11-30 13:29:41,845 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pprint.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pprint.py +2024-11-30 13:29:41,847 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pprint.cpython-39.pyc' +2024-11-30 13:29:41,847 - api.main - INFO - STDERR: import 'pprint' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654DEDC8E0> +2024-11-30 13:29:41,847 - api.main - INFO - STDERR: import 'pyparsing.results' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654DED0820> +2024-11-30 13:29:41,854 - api.main - INFO - STDERR: import 'pyparsing.core' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654DE6B2E0> +2024-11-30 13:29:41,854 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\helpers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\helpers.py +2024-11-30 13:29:41,854 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\helpers.cpython-39.pyc' +2024-11-30 13:29:41,856 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__init__.py +2024-11-30 13:29:41,856 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\html\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,857 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__pycache__\entities.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\entities.py +2024-11-30 13:29:41,857 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\html\\__pycache__\\entities.cpython-39.pyc' +2024-11-30 13:29:41,858 - api.main - INFO - STDERR: import 'html.entities' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654DFCEC10> +2024-11-30 13:29:41,858 - api.main - INFO - STDERR: import 'html' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654DFCE970> +2024-11-30 13:29:41,860 - api.main - INFO - STDERR: import 'pyparsing.helpers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654DE6BF10> +2024-11-30 13:29:41,861 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\testing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\testing.py +2024-11-30 13:29:41,861 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\testing.cpython-39.pyc' +2024-11-30 13:29:41,862 - api.main - INFO - STDERR: import 'pyparsing.testing' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E061EB0> +2024-11-30 13:29:41,862 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\common.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\common.py +2024-11-30 13:29:41,862 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\common.cpython-39.pyc' +2024-11-30 13:29:41,866 - api.main - INFO - STDERR: import 'pyparsing.common' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E08E4C0> +2024-11-30 13:29:41,867 - api.main - INFO - STDERR: import 'pyparsing' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654DE3C6D0> +2024-11-30 13:29:41,867 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_compat.py +2024-11-30 13:29:41,867 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_compat.cpython-39.pyc' +2024-11-30 13:29:41,867 - api.main - INFO - STDERR: import 'packaging._compat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654DE3CEE0> +2024-11-30 13:29:41,867 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\specifiers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\specifiers.py +2024-11-30 13:29:41,867 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\specifiers.cpython-39.pyc' +2024-11-30 13:29:41,867 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\utils.py +2024-11-30 13:29:41,867 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 13:29:41,868 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\tags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\tags.py +2024-11-30 13:29:41,868 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\tags.cpython-39.pyc' +2024-11-30 13:29:41,869 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\__init__.py +2024-11-30 13:29:41,869 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,869 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__pycache__\override.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\override.py +2024-11-30 13:29:41,869 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\_distutils_hack\\__pycache__\\override.cpython-39.pyc' +2024-11-30 13:29:41,870 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__init__.py +2024-11-30 13:29:41,870 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,871 - api.main - INFO - STDERR: import 'setuptools._distutils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E0E14C0> +2024-11-30 13:29:41,871 - api.main - INFO - STDERR: import 'distutils' # <_distutils_hack.DistutilsMetaFinder.spec_for_distutils..DistutilsLoader object at 0x000001654E0E12B0> +2024-11-30 13:29:41,871 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\core.py +2024-11-30 13:29:41,871 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\core.cpython-39.pyc' +2024-11-30 13:29:41,871 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\cmd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\cmd.py +2024-11-30 13:29:41,871 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\cmd.cpython-39.pyc' +2024-11-30 13:29:41,872 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\_modified.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\_modified.py +2024-11-30 13:29:41,872 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\_modified.cpython-39.pyc' +2024-11-30 13:29:41,873 - api.main - INFO - STDERR: # possible namespace for e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco +2024-11-30 13:29:41,873 - api.main - INFO - STDERR: import 'jaraco' # <_frozen_importlib_external._NamespaceLoader object at 0x000001654E0F57C0> +2024-11-30 13:29:41,873 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\functools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\functools\__init__.py +2024-11-30 13:29:41,873 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\functools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,873 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__init__.py +2024-11-30 13:29:41,873 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,875 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\more.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\more.py +2024-11-30 13:29:41,875 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\more.cpython-39.pyc' +2024-11-30 13:29:41,875 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\queue.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\queue.py +2024-11-30 13:29:41,875 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\queue.cpython-39.pyc' +2024-11-30 13:29:41,877 - api.main - INFO - STDERR: # extension module '_queue' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_queue.pyd' +2024-11-30 13:29:41,877 - api.main - INFO - STDERR: # extension module '_queue' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_queue.pyd' +2024-11-30 13:29:41,877 - api.main - INFO - STDERR: import '_queue' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001654E12A9D0> +2024-11-30 13:29:41,877 - api.main - INFO - STDERR: import 'queue' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E11FD00> +2024-11-30 13:29:41,877 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\recipes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\recipes.py +2024-11-30 13:29:41,877 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\recipes.cpython-39.pyc' +2024-11-30 13:29:41,877 - api.main - INFO - STDERR: import 'more_itertools.recipes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E12A940> +2024-11-30 13:29:41,877 - api.main - INFO - STDERR: import 'more_itertools.more' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E0FCBE0> +2024-11-30 13:29:41,877 - api.main - INFO - STDERR: import 'more_itertools' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E0FC940> +2024-11-30 13:29:41,877 - api.main - INFO - STDERR: import 'jaraco.functools' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E0F59D0> +2024-11-30 13:29:41,879 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__init__.py +2024-11-30 13:29:41,879 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,879 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\py38.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\py38.py +2024-11-30 13:29:41,879 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\py38.cpython-39.pyc' +2024-11-30 13:29:41,879 - api.main - INFO - STDERR: import 'distutils.compat.py38' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E157370> +2024-11-30 13:29:41,879 - api.main - INFO - STDERR: import 'distutils.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E135FD0> +2024-11-30 13:29:41,879 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\py39.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\py39.py +2024-11-30 13:29:41,879 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\py39.cpython-39.pyc' +2024-11-30 13:29:41,895 - api.main - INFO - STDERR: import 'distutils.compat.py39' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E115DF0> +2024-11-30 13:29:41,895 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\errors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\errors.py +2024-11-30 13:29:41,895 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 13:29:41,895 - api.main - INFO - STDERR: import 'distutils.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E1574F0> +2024-11-30 13:29:41,895 - api.main - INFO - STDERR: import 'distutils._modified' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E0F5370> +2024-11-30 13:29:41,896 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\archive_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\archive_util.py +2024-11-30 13:29:41,896 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\archive_util.cpython-39.pyc' +2024-11-30 13:29:41,896 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\_log.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\_log.py +2024-11-30 13:29:41,896 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\_log.cpython-39.pyc' +2024-11-30 13:29:41,896 - api.main - INFO - STDERR: import 'distutils._log' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E157C40> +2024-11-30 13:29:41,896 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\dir_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\dir_util.py +2024-11-30 13:29:41,896 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\dir_util.cpython-39.pyc' +2024-11-30 13:29:41,897 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\file_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\file_util.py +2024-11-30 13:29:41,897 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\file_util.cpython-39.pyc' +2024-11-30 13:29:41,897 - api.main - INFO - STDERR: import 'distutils.file_util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E165340> +2024-11-30 13:29:41,897 - api.main - INFO - STDERR: import 'distutils.dir_util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E157CD0> +2024-11-30 13:29:41,897 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\spawn.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\spawn.py +2024-11-30 13:29:41,897 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\spawn.cpython-39.pyc' +2024-11-30 13:29:41,897 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\debug.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\debug.py +2024-11-30 13:29:41,898 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\debug.cpython-39.pyc' +2024-11-30 13:29:41,898 - api.main - INFO - STDERR: import 'distutils.debug' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E1659D0> +2024-11-30 13:29:41,898 - api.main - INFO - STDERR: import 'distutils.spawn' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E165670> +2024-11-30 13:29:41,899 - api.main - INFO - STDERR: import 'distutils.archive_util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E0F5610> +2024-11-30 13:29:41,899 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\util.py +2024-11-30 13:29:41,899 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\util.cpython-39.pyc' +2024-11-30 13:29:41,900 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sysconfig.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sysconfig.py +2024-11-30 13:29:41,900 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sysconfig.cpython-39.pyc' +2024-11-30 13:29:41,901 - api.main - INFO - STDERR: import 'sysconfig' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E165EB0> +2024-11-30 13:29:41,901 - api.main - INFO - STDERR: import 'distutils.util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E157640> +2024-11-30 13:29:41,901 - api.main - INFO - STDERR: import 'distutils.cmd' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E0E1910> +2024-11-30 13:29:41,901 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\dist.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\dist.py +2024-11-30 13:29:41,902 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\dist.cpython-39.pyc' +2024-11-30 13:29:41,902 - api.main - INFO - STDERR: # destroy distutils.dist +2024-11-30 13:29:41,902 - api.main - INFO - STDERR: # destroy distutils.core +2024-11-30 13:29:41,902 - api.main - INFO - STDERR: # destroy _distutils_hack.override +2024-11-30 13:29:41,903 - api.main - INFO - STDERR: # destroy setuptools +2024-11-30 13:29:41,903 - api.main - INFO - STDERR: import 'distutils' # <_distutils_hack.DistutilsMetaFinder.spec_for_distutils..DistutilsLoader object at 0x000001654E0E12B0> +2024-11-30 13:29:41,903 - api.main - INFO - STDERR: import 'packaging.tags' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E0C9550> +2024-11-30 13:29:41,903 - api.main - INFO - STDERR: import 'packaging.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E0C92B0> +2024-11-30 13:29:41,907 - api.main - INFO - STDERR: import 'packaging.specifiers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E0B5E50> +2024-11-30 13:29:41,909 - api.main - INFO - STDERR: import 'packaging.markers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654DE2BB20> +2024-11-30 13:29:41,909 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\requirements.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\requirements.py +2024-11-30 13:29:41,909 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\requirements.cpython-39.pyc' +2024-11-30 13:29:41,916 - api.main - INFO - STDERR: import 'packaging.requirements' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654DE2BD30> +2024-11-30 13:29:41,917 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\text\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\text\__init__.py +2024-11-30 13:29:41,918 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\text\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,919 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\resources.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\resources.py +2024-11-30 13:29:41,919 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\resources.cpython-39.pyc' +2024-11-30 13:29:41,919 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\_common.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\_common.py +2024-11-30 13:29:41,919 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\_common.cpython-39.pyc' +2024-11-30 13:29:41,919 - api.main - INFO - STDERR: import 'importlib._common' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E1D14F0> +2024-11-30 13:29:41,919 - api.main - INFO - STDERR: import 'importlib.resources' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E0E0DF0> +2024-11-30 13:29:41,919 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\__pycache__\context.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\context.py +2024-11-30 13:29:41,920 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\__pycache__\\context.cpython-39.pyc' +2024-11-30 13:29:41,921 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\__init__.py +2024-11-30 13:29:41,921 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,922 - api.main - INFO - STDERR: import 'backports' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E1D81C0> +2024-11-30 13:29:41,922 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\__init__.py +2024-11-30 13:29:41,922 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,923 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__init__.py +2024-11-30 13:29:41,923 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\compat\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,923 - api.main - INFO - STDERR: import 'backports.tarfile.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E18D1F0> +2024-11-30 13:29:41,923 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__pycache__\py38.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\py38.py +2024-11-30 13:29:41,924 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\compat\\__pycache__\\py38.cpython-39.pyc' +2024-11-30 13:29:41,924 - api.main - INFO - STDERR: import 'backports.tarfile.compat.py38' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E0E0100> +2024-11-30 13:29:41,924 - api.main - INFO - STDERR: import 'backports.tarfile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E1D8340> +2024-11-30 13:29:41,924 - api.main - INFO - STDERR: import 'jaraco.context' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E1D1A30> +2024-11-30 13:29:41,925 - api.main - INFO - STDERR: import 'jaraco.text' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E0E1220> +2024-11-30 13:29:41,926 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__init__.py +2024-11-30 13:29:41,926 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,926 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\api.py +2024-11-30 13:29:41,927 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\api.cpython-39.pyc' +2024-11-30 13:29:41,927 - api.main - INFO - STDERR: import 'platformdirs.api' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E20B7C0> +2024-11-30 13:29:41,927 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\version.py +2024-11-30 13:29:41,927 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\version.cpython-39.pyc' +2024-11-30 13:29:41,927 - api.main - INFO - STDERR: import 'platformdirs.version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E212A30> +2024-11-30 13:29:41,927 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\windows.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\windows.py +2024-11-30 13:29:41,927 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\windows.cpython-39.pyc' +2024-11-30 13:29:41,927 - api.main - INFO - STDERR: import 'platformdirs.windows' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E212AC0> +2024-11-30 13:29:41,928 - api.main - INFO - STDERR: import 'platformdirs' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E1FD790> +2024-11-30 13:29:41,963 - api.main - INFO - STDERR: import 'pkg_resources' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D789970> +2024-11-30 13:29:41,964 - api.main - INFO - STDERR: import 'adbutils._utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D719520> +2024-11-30 13:29:41,964 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\errors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\errors.py +2024-11-30 13:29:41,964 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 13:29:41,964 - api.main - INFO - STDERR: import 'adbutils.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D73C670> +2024-11-30 13:29:41,964 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_proto.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_proto.py +2024-11-30 13:29:41,964 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_proto.cpython-39.pyc' +2024-11-30 13:29:41,965 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\dataclasses.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\dataclasses.py +2024-11-30 13:29:41,965 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\dataclasses.cpython-39.pyc' +2024-11-30 13:29:41,966 - api.main - INFO - STDERR: import 'dataclasses' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654DDFA0D0> +2024-11-30 13:29:41,968 - api.main - INFO - STDERR: import 'adbutils._proto' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654DDF4520> +2024-11-30 13:29:41,968 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_version.py +2024-11-30 13:29:41,969 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 13:29:41,969 - api.main - INFO - STDERR: import 'adbutils._version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654DDF4700> +2024-11-30 13:29:41,969 - api.main - INFO - STDERR: import 'adbutils._adb' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D64F370> +2024-11-30 13:29:41,969 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_device.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_device.py +2024-11-30 13:29:41,969 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_device.cpython-39.pyc' +2024-11-30 13:29:41,970 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__init__.py +2024-11-30 13:29:41,971 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,971 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__init__.py +2024-11-30 13:29:41,971 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,972 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\exceptions.py +2024-11-30 13:29:41,972 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 13:29:41,972 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__init__.py +2024-11-30 13:29:41,972 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\packages\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,972 - api.main - INFO - STDERR: import 'urllib3.packages' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E2A97C0> +2024-11-30 13:29:41,972 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__pycache__\six.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\six.py +2024-11-30 13:29:41,973 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\packages\\__pycache__\\six.cpython-39.pyc' +2024-11-30 13:29:41,973 - api.main - INFO - STDERR: import 'urllib3.packages.six' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E2A97F0> +2024-11-30 13:29:41,973 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves' # +2024-11-30 13:29:41,973 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.http_client' # +2024-11-30 13:29:41,974 - api.main - INFO - STDERR: import 'urllib3.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E29F700> +2024-11-30 13:29:41,974 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\_version.py +2024-11-30 13:29:41,974 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 13:29:41,974 - api.main - INFO - STDERR: import 'urllib3._version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E29F8E0> +2024-11-30 13:29:41,974 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\connectionpool.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\connectionpool.py +2024-11-30 13:29:41,974 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\connectionpool.cpython-39.pyc' +2024-11-30 13:29:41,974 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\_collections.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\_collections.py +2024-11-30 13:29:41,975 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\_collections.cpython-39.pyc' +2024-11-30 13:29:41,975 - api.main - INFO - STDERR: import 'urllib3._collections' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E2B46D0> +2024-11-30 13:29:41,976 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\connection.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\connection.py +2024-11-30 13:29:41,976 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\connection.cpython-39.pyc' +2024-11-30 13:29:41,976 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__init__.py +2024-11-30 13:29:41,976 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,976 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\connection.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\connection.py +2024-11-30 13:29:41,976 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\connection.cpython-39.pyc' +2024-11-30 13:29:41,976 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__init__.py +2024-11-30 13:29:41,976 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:41,977 - api.main - INFO - STDERR: import 'urllib3.contrib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E2D4F40> +2024-11-30 13:29:41,977 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\_appengine_environ.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\_appengine_environ.py +2024-11-30 13:29:41,977 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\_appengine_environ.cpython-39.pyc' +2024-11-30 13:29:41,977 - api.main - INFO - STDERR: import 'urllib3.contrib._appengine_environ' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E2E0100> +2024-11-30 13:29:41,977 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\wait.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\wait.py +2024-11-30 13:29:41,977 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\wait.cpython-39.pyc' +2024-11-30 13:29:41,977 - api.main - INFO - STDERR: import 'urllib3.util.wait' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E2E02B0> +2024-11-30 13:29:41,979 - api.main - INFO - STDERR: import 'urllib3.util.connection' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E2D4BB0> +2024-11-30 13:29:41,979 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\request.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\request.py +2024-11-30 13:29:41,979 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\request.cpython-39.pyc' +2024-11-30 13:29:41,980 - api.main - INFO - STDERR: import 'urllib3.util.request' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E2D4D90> +2024-11-30 13:29:41,980 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\response.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\response.py +2024-11-30 13:29:41,980 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\response.cpython-39.pyc' +2024-11-30 13:29:41,980 - api.main - INFO - STDERR: import 'urllib3.util.response' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E2E06D0> +2024-11-30 13:29:41,980 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\retry.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\retry.py +2024-11-30 13:29:41,980 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\retry.cpython-39.pyc' +2024-11-30 13:29:41,982 - api.main - INFO - STDERR: import 'urllib3.util.retry' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E2E07C0> +2024-11-30 13:29:41,982 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssl_.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssl_.py +2024-11-30 13:29:41,982 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssl_.cpython-39.pyc' +2024-11-30 13:29:41,983 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\hmac.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\hmac.py +2024-11-30 13:29:41,983 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\hmac.cpython-39.pyc' +2024-11-30 13:29:41,983 - api.main - INFO - STDERR: import 'hmac' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E2EA9A0> +2024-11-30 13:29:41,983 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\url.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\url.py +2024-11-30 13:29:41,983 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\url.cpython-39.pyc' +2024-11-30 13:29:41,991 - api.main - INFO - STDERR: import 'urllib3.util.url' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E2FB1F0> +2024-11-30 13:29:41,993 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssltransport.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssltransport.py +2024-11-30 13:29:41,993 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssltransport.cpython-39.pyc' +2024-11-30 13:29:41,993 - api.main - INFO - STDERR: import 'urllib3.util.ssltransport' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E2FBDC0> +2024-11-30 13:29:41,993 - api.main - INFO - STDERR: import 'urllib3.util.ssl_' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E2EA4F0> +2024-11-30 13:29:41,993 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\timeout.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\timeout.py +2024-11-30 13:29:41,993 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\timeout.cpython-39.pyc' +2024-11-30 13:29:41,994 - api.main - INFO - STDERR: import 'urllib3.util.timeout' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E2EA790> +2024-11-30 13:29:41,994 - api.main - INFO - STDERR: import 'urllib3.util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E2D48B0> +2024-11-30 13:29:41,994 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\proxy.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\proxy.py +2024-11-30 13:29:41,994 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\proxy.cpython-39.pyc' +2024-11-30 13:29:41,994 - api.main - INFO - STDERR: import 'urllib3.util.proxy' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E2D4910> +2024-11-30 13:29:41,994 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssl_match_hostname.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssl_match_hostname.py +2024-11-30 13:29:41,995 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssl_match_hostname.cpython-39.pyc' +2024-11-30 13:29:41,995 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ipaddress.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ipaddress.py +2024-11-30 13:29:41,995 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ipaddress.cpython-39.pyc' +2024-11-30 13:29:41,996 - api.main - INFO - STDERR: import 'ipaddress' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E30E850> +2024-11-30 13:29:41,996 - api.main - INFO - STDERR: import 'urllib3.util.ssl_match_hostname' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E2D4610> +2024-11-30 13:29:41,996 - api.main - INFO - STDERR: import 'urllib3.connection' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E2C4F70> +2024-11-30 13:29:41,997 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\request.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\request.py +2024-11-30 13:29:41,997 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\request.cpython-39.pyc' +2024-11-30 13:29:41,997 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\filepost.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\filepost.py +2024-11-30 13:29:41,997 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\filepost.cpython-39.pyc' +2024-11-30 13:29:41,997 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\fields.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\fields.py +2024-11-30 13:29:41,997 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\fields.cpython-39.pyc' +2024-11-30 13:29:41,998 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\mimetypes.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\mimetypes.py +2024-11-30 13:29:41,998 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\mimetypes.cpython-39.pyc' +2024-11-30 13:29:41,998 - api.main - INFO - STDERR: import 'mimetypes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E348250> +2024-11-30 13:29:41,998 - api.main - INFO - STDERR: import 'urllib3.fields' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E345C70> +2024-11-30 13:29:41,998 - api.main - INFO - STDERR: import 'urllib3.filepost' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E345850> +2024-11-30 13:29:41,998 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.urllib' # +2024-11-30 13:29:41,998 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.urllib.parse' # +2024-11-30 13:29:41,998 - api.main - INFO - STDERR: import 'urllib3.request' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E2C4FD0> +2024-11-30 13:29:41,998 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\response.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\response.py +2024-11-30 13:29:41,998 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\response.cpython-39.pyc' +2024-11-30 13:29:42,000 - api.main - INFO - STDERR: import 'urllib3.response' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E320F10> +2024-11-30 13:29:42,000 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\queue.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\queue.py +2024-11-30 13:29:42,000 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\queue.cpython-39.pyc' +2024-11-30 13:29:42,000 - api.main - INFO - STDERR: import 'urllib3.util.queue' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E3486A0> +2024-11-30 13:29:42,000 - api.main - INFO - STDERR: import 'urllib3.connectionpool' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E29FA30> +2024-11-30 13:29:42,001 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\poolmanager.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\poolmanager.py +2024-11-30 13:29:42,001 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\poolmanager.cpython-39.pyc' +2024-11-30 13:29:42,001 - api.main - INFO - STDERR: import 'urllib3.poolmanager' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E35A220> +2024-11-30 13:29:42,001 - api.main - INFO - STDERR: import 'urllib3' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E29F1C0> +2024-11-30 13:29:42,003 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\exceptions.py +2024-11-30 13:29:42,003 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 13:29:42,003 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\compat.py +2024-11-30 13:29:42,003 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\compat.cpython-39.pyc' +2024-11-30 13:29:42,004 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__init__.py +2024-11-30 13:29:42,004 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:42,004 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\api.py +2024-11-30 13:29:42,004 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\api.cpython-39.pyc' +2024-11-30 13:29:42,005 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\cd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\cd.py +2024-11-30 13:29:42,006 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\cd.cpython-39.pyc' +2024-11-30 13:29:42,006 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\constant.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\constant.py +2024-11-30 13:29:42,006 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\constant.cpython-39.pyc' +2024-11-30 13:29:42,006 - api.main - INFO - STDERR: import 'charset_normalizer.constant' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E375700> +2024-11-30 13:29:42,009 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md__mypyc' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md__mypyc.cp39-win_amd64.pyd' +2024-11-30 13:29:42,009 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md__mypyc' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md__mypyc.cp39-win_amd64.pyd' +2024-11-30 13:29:42,009 - api.main - INFO - STDERR: import 'charset_normalizer.md__mypyc' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001654E399DF0> +2024-11-30 13:29:42,010 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\utils.py +2024-11-30 13:29:42,010 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 13:29:42,011 - api.main - INFO - STDERR: # extension module 'unicodedata' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\unicodedata.pyd' +2024-11-30 13:29:42,012 - api.main - INFO - STDERR: # extension module 'unicodedata' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\unicodedata.pyd' +2024-11-30 13:29:42,012 - api.main - INFO - STDERR: import 'unicodedata' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001654E39F6A0> +2024-11-30 13:29:42,012 - api.main - INFO - STDERR: import '_multibytecodec' # +2024-11-30 13:29:42,012 - api.main - INFO - STDERR: import 'charset_normalizer.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E399B20> +2024-11-30 13:29:42,012 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md.cp39-win_amd64.pyd' +2024-11-30 13:29:42,012 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md.cp39-win_amd64.pyd' +2024-11-30 13:29:42,012 - api.main - INFO - STDERR: import 'charset_normalizer.md' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001654E399B50> +2024-11-30 13:29:42,012 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\models.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\models.py +2024-11-30 13:29:42,012 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\models.cpython-39.pyc' +2024-11-30 13:29:42,014 - api.main - INFO - STDERR: import 'charset_normalizer.models' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E39FF10> +2024-11-30 13:29:42,014 - api.main - INFO - STDERR: import 'charset_normalizer.cd' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E35A730> +2024-11-30 13:29:42,015 - api.main - INFO - STDERR: import 'charset_normalizer.api' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E35AA90> +2024-11-30 13:29:42,015 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\legacy.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\legacy.py +2024-11-30 13:29:42,015 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\legacy.cpython-39.pyc' +2024-11-30 13:29:42,015 - api.main - INFO - STDERR: import 'charset_normalizer.legacy' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E3B12B0> +2024-11-30 13:29:42,015 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\version.py +2024-11-30 13:29:42,015 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\version.cpython-39.pyc' +2024-11-30 13:29:42,016 - api.main - INFO - STDERR: import 'charset_normalizer.version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E3B1340> +2024-11-30 13:29:42,016 - api.main - INFO - STDERR: import 'charset_normalizer' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E35AD30> +2024-11-30 13:29:42,018 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\cookiejar.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\cookiejar.py +2024-11-30 13:29:42,018 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\cookiejar.cpython-39.pyc' +2024-11-30 13:29:42,021 - api.main - INFO - STDERR: import 'http.cookiejar' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E3B1370> +2024-11-30 13:29:42,022 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\cookies.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\cookies.py +2024-11-30 13:29:42,022 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\cookies.cpython-39.pyc' +2024-11-30 13:29:42,023 - api.main - INFO - STDERR: import 'http.cookies' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E3B1EE0> +2024-11-30 13:29:42,023 - api.main - INFO - STDERR: import 'requests.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E35AF70> +2024-11-30 13:29:42,023 - api.main - INFO - STDERR: import 'requests.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E3653A0> +2024-11-30 13:29:42,024 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\packages.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\packages.py +2024-11-30 13:29:42,024 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\packages.cpython-39.pyc' +2024-11-30 13:29:42,026 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__init__.py +2024-11-30 13:29:42,026 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:42,026 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\core.py +2024-11-30 13:29:42,026 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\core.cpython-39.pyc' +2024-11-30 13:29:42,026 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\idnadata.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\idnadata.py +2024-11-30 13:29:42,027 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\idnadata.cpython-39.pyc' +2024-11-30 13:29:42,027 - api.main - INFO - STDERR: import 'idna.idnadata' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E4247C0> +2024-11-30 13:29:42,027 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\intranges.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\intranges.py +2024-11-30 13:29:42,027 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\intranges.cpython-39.pyc' +2024-11-30 13:29:42,027 - api.main - INFO - STDERR: import 'idna.intranges' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E424850> +2024-11-30 13:29:42,028 - api.main - INFO - STDERR: import 'idna.core' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E4051C0> +2024-11-30 13:29:42,028 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\package_data.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\package_data.py +2024-11-30 13:29:42,028 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\package_data.cpython-39.pyc' +2024-11-30 13:29:42,028 - api.main - INFO - STDERR: import 'idna.package_data' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E4244F0> +2024-11-30 13:29:42,028 - api.main - INFO - STDERR: import 'idna' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E365070> +2024-11-30 13:29:42,028 - api.main - INFO - STDERR: import 'requests.packages' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E365580> +2024-11-30 13:29:42,029 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\utils.py +2024-11-30 13:29:42,029 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 13:29:42,029 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\certs.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\certs.py +2024-11-30 13:29:42,029 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\certs.cpython-39.pyc' +2024-11-30 13:29:42,030 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__init__.py +2024-11-30 13:29:42,030 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\certifi\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:42,030 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\core.py +2024-11-30 13:29:42,030 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\certifi\\__pycache__\\core.cpython-39.pyc' +2024-11-30 13:29:42,030 - api.main - INFO - STDERR: import 'certifi.core' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E44D730> +2024-11-30 13:29:42,030 - api.main - INFO - STDERR: import 'certifi' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E44D4C0> +2024-11-30 13:29:42,030 - api.main - INFO - STDERR: import 'requests.certs' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E44D2B0> +2024-11-30 13:29:42,030 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\__version__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__version__.py +2024-11-30 13:29:42,030 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\__version__.cpython-39.pyc' +2024-11-30 13:29:42,030 - api.main - INFO - STDERR: import 'requests.__version__' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E44D430> +2024-11-30 13:29:42,030 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\_internal_utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\_internal_utils.py +2024-11-30 13:29:42,032 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\_internal_utils.cpython-39.pyc' +2024-11-30 13:29:42,032 - api.main - INFO - STDERR: import 'requests._internal_utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E44D340> +2024-11-30 13:29:42,032 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\cookies.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\cookies.py +2024-11-30 13:29:42,032 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\cookies.cpython-39.pyc' +2024-11-30 13:29:42,032 - api.main - INFO - STDERR: import 'requests.cookies' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E44D550> +2024-11-30 13:29:42,033 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\structures.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\structures.py +2024-11-30 13:29:42,033 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\structures.cpython-39.pyc' +2024-11-30 13:29:42,033 - api.main - INFO - STDERR: import 'requests.structures' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E460940> +2024-11-30 13:29:42,033 - api.main - INFO - STDERR: import 'requests.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E3657C0> +2024-11-30 13:29:42,033 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\api.py +2024-11-30 13:29:42,033 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\api.cpython-39.pyc' +2024-11-30 13:29:42,033 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\sessions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\sessions.py +2024-11-30 13:29:42,033 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\sessions.cpython-39.pyc' +2024-11-30 13:29:42,033 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\adapters.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\adapters.py +2024-11-30 13:29:42,033 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\adapters.cpython-39.pyc' +2024-11-30 13:29:42,034 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\auth.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\auth.py +2024-11-30 13:29:42,034 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\auth.cpython-39.pyc' +2024-11-30 13:29:42,034 - api.main - INFO - STDERR: import 'requests.auth' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E479730> +2024-11-30 13:29:42,034 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\models.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\models.py +2024-11-30 13:29:42,034 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\models.cpython-39.pyc' +2024-11-30 13:29:42,036 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\idna.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\idna.py +2024-11-30 13:29:42,036 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\idna.cpython-39.pyc' +2024-11-30 13:29:42,036 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\stringprep.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\stringprep.py +2024-11-30 13:29:42,036 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\stringprep.cpython-39.pyc' +2024-11-30 13:29:42,036 - api.main - INFO - STDERR: import 'stringprep' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E495160> +2024-11-30 13:29:42,036 - api.main - INFO - STDERR: import 'encodings.idna' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E488CD0> +2024-11-30 13:29:42,037 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\hooks.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\hooks.py +2024-11-30 13:29:42,037 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\hooks.cpython-39.pyc' +2024-11-30 13:29:42,037 - api.main - INFO - STDERR: import 'requests.hooks' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E488EE0> +2024-11-30 13:29:42,037 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\status_codes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\status_codes.py +2024-11-30 13:29:42,037 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\status_codes.cpython-39.pyc' +2024-11-30 13:29:42,037 - api.main - INFO - STDERR: import 'requests.status_codes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E488F70> +2024-11-30 13:29:42,038 - api.main - INFO - STDERR: import 'requests.models' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E479DF0> +2024-11-30 13:29:42,038 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\socks.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\socks.py +2024-11-30 13:29:42,038 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\socks.cpython-39.pyc' +2024-11-30 13:29:42,039 - api.main - INFO - STDERR: # destroy urllib3.contrib.socks +2024-11-30 13:29:42,039 - api.main - INFO - STDERR: import 'requests.adapters' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E46DE20> +2024-11-30 13:29:42,039 - api.main - INFO - STDERR: import 'requests.sessions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E46D3D0> +2024-11-30 13:29:42,039 - api.main - INFO - STDERR: import 'requests.api' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E460F70> +2024-11-30 13:29:42,039 - api.main - INFO - STDERR: import 'requests' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E28FE80> +2024-11-30 13:29:42,040 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__init__.py +2024-11-30 13:29:42,040 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:42,040 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_version.py +2024-11-30 13:29:42,040 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 13:29:42,040 - api.main - INFO - STDERR: import 'PIL._version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E479550> +2024-11-30 13:29:42,041 - api.main - INFO - STDERR: import 'PIL' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E46D1F0> +2024-11-30 13:29:42,041 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\Image.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\Image.py +2024-11-30 13:29:42,042 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\Image.cpython-39.pyc' +2024-11-30 13:29:42,043 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\ExifTags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\ExifTags.py +2024-11-30 13:29:42,043 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\ExifTags.cpython-39.pyc' +2024-11-30 13:29:42,049 - api.main - INFO - STDERR: import 'PIL.ExifTags' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E4D9880> +2024-11-30 13:29:42,049 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\ImageMode.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\ImageMode.py +2024-11-30 13:29:42,049 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\ImageMode.cpython-39.pyc' +2024-11-30 13:29:42,049 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_deprecate.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_deprecate.py +2024-11-30 13:29:42,049 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_deprecate.cpython-39.pyc' +2024-11-30 13:29:42,049 - api.main - INFO - STDERR: import 'PIL._deprecate' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E4F4DF0> +2024-11-30 13:29:42,050 - api.main - INFO - STDERR: import 'PIL.ImageMode' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E4D98B0> +2024-11-30 13:29:42,050 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\TiffTags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\TiffTags.py +2024-11-30 13:29:42,051 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\TiffTags.cpython-39.pyc' +2024-11-30 13:29:42,051 - api.main - INFO - STDERR: import 'PIL.TiffTags' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E4F99A0> +2024-11-30 13:29:42,051 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_binary.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_binary.py +2024-11-30 13:29:42,051 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_binary.cpython-39.pyc' +2024-11-30 13:29:42,051 - api.main - INFO - STDERR: import 'PIL._binary' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E4F9E80> +2024-11-30 13:29:42,051 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_util.py +2024-11-30 13:29:42,051 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_util.cpython-39.pyc' +2024-11-30 13:29:42,053 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_typing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_typing.py +2024-11-30 13:29:42,053 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_typing.cpython-39.pyc' +2024-11-30 13:29:42,053 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\typing_extensions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\typing_extensions.py +2024-11-30 13:29:42,054 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\typing_extensions.cpython-39.pyc' +2024-11-30 13:29:42,054 - api.main - INFO - STDERR: import 'typing_extensions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E50FC10> +2024-11-30 13:29:42,055 - api.main - INFO - STDERR: import 'PIL._typing' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E50F790> +2024-11-30 13:29:42,055 - api.main - INFO - STDERR: import 'PIL._util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E50F340> +2024-11-30 13:29:42,057 - api.main - INFO - STDERR: # extension module 'PIL._imaging' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\_imaging.cp39-win_amd64.pyd' +2024-11-30 13:29:42,057 - api.main - INFO - STDERR: # extension module 'PIL._imaging' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\_imaging.cp39-win_amd64.pyd' +2024-11-30 13:29:42,057 - api.main - INFO - STDERR: import 'PIL._imaging' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001654E50FE20> +2024-11-30 13:29:42,057 - api.main - INFO - STDERR: import 'PIL.Image' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E46DBE0> +2024-11-30 13:29:42,058 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__init__.py +2024-11-30 13:29:42,058 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:42,059 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py +2024-11-30 13:29:42,059 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\api.cpython-39.pyc' +2024-11-30 13:29:42,059 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\compat.py +2024-11-30 13:29:42,059 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\compat.cpython-39.pyc' +2024-11-30 13:29:42,060 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\decorator.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\decorator.py +2024-11-30 13:29:42,060 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\decorator.cpython-39.pyc' +2024-11-30 13:29:42,060 - api.main - INFO - STDERR: import 'decorator' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E52B9D0> +2024-11-30 13:29:42,061 - api.main - INFO - STDERR: import 'retry.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E52B130> +2024-11-30 13:29:42,061 - api.main - INFO - STDERR: import 'retry.api' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E523520> +2024-11-30 13:29:42,061 - api.main - INFO - STDERR: import 'retry' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E46D160> +2024-11-30 13:29:42,061 - api.main - INFO - STDERR: import 'adbutils._device' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E279130> +2024-11-30 13:29:42,062 - api.main - INFO - STDERR: import 'adbutils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D6A8D00> +2024-11-30 13:29:42,062 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__init__.py +2024-11-30 13:29:42,063 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:42,063 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_api.py +2024-11-30 13:29:42,063 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_api.cpython-39.pyc' +2024-11-30 13:29:42,063 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_error.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_error.py +2024-11-30 13:29:42,063 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_error.cpython-39.pyc' +2024-11-30 13:29:42,063 - api.main - INFO - STDERR: import 'filelock._error' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E6E2190> +2024-11-30 13:29:42,063 - api.main - INFO - STDERR: import 'filelock._api' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E6C9790> +2024-11-30 13:29:42,064 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_soft.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_soft.py +2024-11-30 13:29:42,064 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_soft.cpython-39.pyc' +2024-11-30 13:29:42,064 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_util.py +2024-11-30 13:29:42,064 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_util.cpython-39.pyc' +2024-11-30 13:29:42,064 - api.main - INFO - STDERR: import 'filelock._util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E6E2FD0> +2024-11-30 13:29:42,064 - api.main - INFO - STDERR: import 'filelock._soft' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E6E2550> +2024-11-30 13:29:42,064 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_unix.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_unix.py +2024-11-30 13:29:42,065 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_unix.cpython-39.pyc' +2024-11-30 13:29:42,065 - api.main - INFO - STDERR: import 'filelock._unix' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E6E2F10> +2024-11-30 13:29:42,065 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_windows.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_windows.py +2024-11-30 13:29:42,066 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_windows.cpython-39.pyc' +2024-11-30 13:29:42,066 - api.main - INFO - STDERR: import 'filelock._windows' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E6E2910> +2024-11-30 13:29:42,066 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\asyncio.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\asyncio.py +2024-11-30 13:29:42,066 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\asyncio.cpython-39.pyc' +2024-11-30 13:29:42,066 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__init__.py +2024-11-30 13:29:42,066 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:42,068 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_events.py +2024-11-30 13:29:42,068 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_events.cpython-39.pyc' +2024-11-30 13:29:42,069 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\__init__.py +2024-11-30 13:29:42,069 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:42,069 - api.main - INFO - STDERR: import 'concurrent' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E70E760> +2024-11-30 13:29:42,069 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__init__.py +2024-11-30 13:29:42,070 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\futures\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:42,071 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__pycache__\_base.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\_base.py +2024-11-30 13:29:42,071 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\futures\\__pycache__\\_base.cpython-39.pyc' +2024-11-30 13:29:42,071 - api.main - INFO - STDERR: import 'concurrent.futures._base' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E70EA60> +2024-11-30 13:29:42,071 - api.main - INFO - STDERR: import 'concurrent.futures' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E70E790> +2024-11-30 13:29:42,071 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\constants.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\constants.py +2024-11-30 13:29:42,071 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\constants.cpython-39.pyc' +2024-11-30 13:29:42,071 - api.main - INFO - STDERR: import 'asyncio.constants' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E70E850> +2024-11-30 13:29:42,072 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\coroutines.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\coroutines.py +2024-11-30 13:29:42,072 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\coroutines.cpython-39.pyc' +2024-11-30 13:29:42,073 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_futures.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_futures.py +2024-11-30 13:29:42,073 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_futures.cpython-39.pyc' +2024-11-30 13:29:42,074 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\format_helpers.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\format_helpers.py +2024-11-30 13:29:42,074 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\format_helpers.cpython-39.pyc' +2024-11-30 13:29:42,074 - api.main - INFO - STDERR: import 'asyncio.format_helpers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E71FD00> +2024-11-30 13:29:42,074 - api.main - INFO - STDERR: import 'asyncio.base_futures' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E71F9A0> +2024-11-30 13:29:42,074 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\log.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\log.py +2024-11-30 13:29:42,074 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\log.cpython-39.pyc' +2024-11-30 13:29:42,074 - api.main - INFO - STDERR: import 'asyncio.log' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E71FD30> +2024-11-30 13:29:42,074 - api.main - INFO - STDERR: import 'asyncio.coroutines' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E70E5E0> +2024-11-30 13:29:42,074 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\events.py +2024-11-30 13:29:42,074 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\events.cpython-39.pyc' +2024-11-30 13:29:42,075 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\contextvars.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\contextvars.py +2024-11-30 13:29:42,075 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\contextvars.cpython-39.pyc' +2024-11-30 13:29:42,075 - api.main - INFO - STDERR: import '_contextvars' # +2024-11-30 13:29:42,075 - api.main - INFO - STDERR: import 'contextvars' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E73C160> +2024-11-30 13:29:42,077 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\exceptions.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\exceptions.py +2024-11-30 13:29:42,077 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 13:29:42,077 - api.main - INFO - STDERR: import 'asyncio.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E73C730> +2024-11-30 13:29:42,077 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_tasks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_tasks.py +2024-11-30 13:29:42,077 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_tasks.cpython-39.pyc' +2024-11-30 13:29:42,078 - api.main - INFO - STDERR: import 'asyncio.base_tasks' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E73CB80> +2024-11-30 13:29:42,078 - api.main - INFO - STDERR: # extension module '_asyncio' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_asyncio.pyd' +2024-11-30 13:29:42,078 - api.main - INFO - STDERR: # extension module '_asyncio' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_asyncio.pyd' +2024-11-30 13:29:42,078 - api.main - INFO - STDERR: import '_asyncio' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001654E73C4F0> +2024-11-30 13:29:42,078 - api.main - INFO - STDERR: import 'asyncio.events' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E71F790> +2024-11-30 13:29:42,078 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\futures.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\futures.py +2024-11-30 13:29:42,078 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\futures.cpython-39.pyc' +2024-11-30 13:29:42,078 - api.main - INFO - STDERR: import 'asyncio.futures' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E73C310> +2024-11-30 13:29:42,079 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\protocols.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\protocols.py +2024-11-30 13:29:42,079 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\protocols.cpython-39.pyc' +2024-11-30 13:29:42,079 - api.main - INFO - STDERR: import 'asyncio.protocols' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E74F280> +2024-11-30 13:29:42,079 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\sslproto.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\sslproto.py +2024-11-30 13:29:42,079 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\sslproto.cpython-39.pyc' +2024-11-30 13:29:42,080 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\transports.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\transports.py +2024-11-30 13:29:42,080 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\transports.cpython-39.pyc' +2024-11-30 13:29:42,080 - api.main - INFO - STDERR: import 'asyncio.transports' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E758940> +2024-11-30 13:29:42,080 - api.main - INFO - STDERR: import 'asyncio.sslproto' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E74F910> +2024-11-30 13:29:42,080 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\staggered.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\staggered.py +2024-11-30 13:29:42,080 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\staggered.cpython-39.pyc' +2024-11-30 13:29:42,082 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\locks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\locks.py +2024-11-30 13:29:42,082 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\locks.cpython-39.pyc' +2024-11-30 13:29:42,082 - api.main - INFO - STDERR: import 'asyncio.locks' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E775940> +2024-11-30 13:29:42,082 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\tasks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\tasks.py +2024-11-30 13:29:42,082 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\tasks.cpython-39.pyc' +2024-11-30 13:29:42,083 - api.main - INFO - STDERR: import 'asyncio.tasks' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E7814C0> +2024-11-30 13:29:42,083 - api.main - INFO - STDERR: import 'asyncio.staggered' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E758700> +2024-11-30 13:29:42,083 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\trsock.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\trsock.py +2024-11-30 13:29:42,083 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\trsock.cpython-39.pyc' +2024-11-30 13:29:42,083 - api.main - INFO - STDERR: import 'asyncio.trsock' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E78B790> +2024-11-30 13:29:42,083 - api.main - INFO - STDERR: import 'asyncio.base_events' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E6E63A0> +2024-11-30 13:29:42,083 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\runners.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\runners.py +2024-11-30 13:29:42,084 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\runners.cpython-39.pyc' +2024-11-30 13:29:42,084 - api.main - INFO - STDERR: import 'asyncio.runners' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E70E4F0> +2024-11-30 13:29:42,084 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\queues.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\queues.py +2024-11-30 13:29:42,084 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\queues.cpython-39.pyc' +2024-11-30 13:29:42,084 - api.main - INFO - STDERR: import 'asyncio.queues' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E70E3A0> +2024-11-30 13:29:42,085 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\streams.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\streams.py +2024-11-30 13:29:42,085 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\streams.cpython-39.pyc' +2024-11-30 13:29:42,085 - api.main - INFO - STDERR: import 'asyncio.streams' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E794850> +2024-11-30 13:29:42,086 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\subprocess.py +2024-11-30 13:29:42,086 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\subprocess.cpython-39.pyc' +2024-11-30 13:29:42,086 - api.main - INFO - STDERR: import 'asyncio.subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E7AB670> +2024-11-30 13:29:42,087 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\threads.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\threads.py +2024-11-30 13:29:42,087 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\threads.cpython-39.pyc' +2024-11-30 13:29:42,087 - api.main - INFO - STDERR: import 'asyncio.threads' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E7ABC10> +2024-11-30 13:29:42,087 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\windows_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\windows_events.py +2024-11-30 13:29:42,087 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\windows_events.cpython-39.pyc' +2024-11-30 13:29:42,089 - api.main - INFO - STDERR: # extension module '_overlapped' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_overlapped.pyd' +2024-11-30 13:29:42,089 - api.main - INFO - STDERR: # extension module '_overlapped' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_overlapped.pyd' +2024-11-30 13:29:42,089 - api.main - INFO - STDERR: import '_overlapped' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001654E7C61C0> +2024-11-30 13:29:42,089 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_subprocess.py +2024-11-30 13:29:42,089 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_subprocess.cpython-39.pyc' +2024-11-30 13:29:42,090 - api.main - INFO - STDERR: import 'asyncio.base_subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E7C6310> +2024-11-30 13:29:42,090 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\proactor_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\proactor_events.py +2024-11-30 13:29:42,090 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\proactor_events.cpython-39.pyc' +2024-11-30 13:29:42,090 - api.main - INFO - STDERR: import 'asyncio.proactor_events' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E7C6D90> +2024-11-30 13:29:42,091 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\selector_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\selector_events.py +2024-11-30 13:29:42,091 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\selector_events.cpython-39.pyc' +2024-11-30 13:29:42,091 - api.main - INFO - STDERR: import 'asyncio.selector_events' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E7E1490> +2024-11-30 13:29:42,092 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\windows_utils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\windows_utils.py +2024-11-30 13:29:42,092 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\windows_utils.cpython-39.pyc' +2024-11-30 13:29:42,092 - api.main - INFO - STDERR: import 'asyncio.windows_utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E802580> +2024-11-30 13:29:42,093 - api.main - INFO - STDERR: import 'asyncio.windows_events' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E7ABCD0> +2024-11-30 13:29:42,093 - api.main - INFO - STDERR: import 'asyncio' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E6E62E0> +2024-11-30 13:29:42,093 - api.main - INFO - STDERR: import 'filelock.asyncio' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E6E2AC0> +2024-11-30 13:29:42,094 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\version.py +2024-11-30 13:29:42,094 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\version.cpython-39.pyc' +2024-11-30 13:29:42,094 - api.main - INFO - STDERR: import 'filelock.version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E80FB20> +2024-11-30 13:29:42,094 - api.main - INFO - STDERR: import 'filelock' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E6C95B0> +2024-11-30 13:29:42,095 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__init__.py +2024-11-30 13:29:42,095 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:42,096 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\colors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\colors.py +2024-11-30 13:29:42,096 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\colors.cpython-39.pyc' +2024-11-30 13:29:42,096 - api.main - INFO - STDERR: import 'logzero.colors' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E80F9A0> +2024-11-30 13:29:42,096 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\jsonlogger.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\jsonlogger.py +2024-11-30 13:29:42,096 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\jsonlogger.cpython-39.pyc' +2024-11-30 13:29:42,096 - api.main - INFO - STDERR: import 'logzero.jsonlogger' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E80F250> +2024-11-30 13:29:42,097 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__pycache__\handlers.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\handlers.py +2024-11-30 13:29:42,097 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\logging\\__pycache__\\handlers.cpython-39.pyc' +2024-11-30 13:29:42,098 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pickle.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pickle.py +2024-11-30 13:29:42,098 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pickle.cpython-39.pyc' +2024-11-30 13:29:42,099 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_compat_pickle.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_compat_pickle.py +2024-11-30 13:29:42,099 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_compat_pickle.cpython-39.pyc' +2024-11-30 13:29:42,099 - api.main - INFO - STDERR: import '_compat_pickle' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E8496D0> +2024-11-30 13:29:42,099 - api.main - INFO - STDERR: import '_pickle' # +2024-11-30 13:29:42,100 - api.main - INFO - STDERR: import 'pickle' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E829BE0> +2024-11-30 13:29:42,100 - api.main - INFO - STDERR: import 'logging.handlers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E802D00> +2024-11-30 13:29:42,101 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\curses\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\curses\__init__.py +2024-11-30 13:29:42,101 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\curses\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:42,101 - api.main - INFO - STDERR: # destroy curses +2024-11-30 13:29:42,101 - api.main - INFO - STDERR: import 'logzero' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E6E2A90> +2024-11-30 13:29:42,103 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\six.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\six.py +2024-11-30 13:29:42,103 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\six.cpython-39.pyc' +2024-11-30 13:29:42,103 - api.main - INFO - STDERR: import 'six' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E829D30> +2024-11-30 13:29:42,103 - api.main - INFO - STDERR: import 'six.moves' # +2024-11-30 13:29:42,104 - api.main - INFO - STDERR: import 'six.moves.urllib' # +2024-11-30 13:29:42,104 - api.main - INFO - STDERR: import 'six.moves.urllib.parse' # +2024-11-30 13:29:42,104 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\cached_property.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cached_property.py +2024-11-30 13:29:42,104 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\cached_property.cpython-39.pyc' +2024-11-30 13:29:42,104 - api.main - INFO - STDERR: import 'cached_property' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E849F10> +2024-11-30 13:29:42,105 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__init__.py +2024-11-30 13:29:42,105 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\deprecated\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:42,106 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__pycache__\classic.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\classic.py +2024-11-30 13:29:42,106 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\deprecated\\__pycache__\\classic.cpython-39.pyc' +2024-11-30 13:29:42,106 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__init__.py +2024-11-30 13:29:42,106 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:42,106 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\__wrapt__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__wrapt__.py +2024-11-30 13:29:42,106 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\__wrapt__.cpython-39.pyc' +2024-11-30 13:29:42,107 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\wrappers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\wrappers.py +2024-11-30 13:29:42,108 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\wrappers.cpython-39.pyc' +2024-11-30 13:29:42,108 - api.main - INFO - STDERR: import 'wrapt.wrappers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E8769A0> +2024-11-30 13:29:42,108 - api.main - INFO - STDERR: # extension module 'wrapt._wrappers' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\_wrappers.cp39-win_amd64.pyd' +2024-11-30 13:29:42,108 - api.main - INFO - STDERR: # extension module 'wrapt._wrappers' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\_wrappers.cp39-win_amd64.pyd' +2024-11-30 13:29:42,108 - api.main - INFO - STDERR: import 'wrapt._wrappers' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001654E88BA00> +2024-11-30 13:29:42,109 - api.main - INFO - STDERR: import 'wrapt.__wrapt__' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E876B20> +2024-11-30 13:29:42,109 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\patches.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\patches.py +2024-11-30 13:29:42,109 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\patches.cpython-39.pyc' +2024-11-30 13:29:42,109 - api.main - INFO - STDERR: import 'wrapt.patches' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E876C10> +2024-11-30 13:29:42,109 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\weakrefs.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\weakrefs.py +2024-11-30 13:29:42,109 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\weakrefs.cpython-39.pyc' +2024-11-30 13:29:42,109 - api.main - INFO - STDERR: import 'wrapt.weakrefs' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E88BF70> +2024-11-30 13:29:42,110 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\decorators.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\decorators.py +2024-11-30 13:29:42,110 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\decorators.cpython-39.pyc' +2024-11-30 13:29:42,110 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\arguments.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\arguments.py +2024-11-30 13:29:42,110 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\arguments.cpython-39.pyc' +2024-11-30 13:29:42,110 - api.main - INFO - STDERR: import 'wrapt.arguments' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E89EFA0> +2024-11-30 13:29:42,110 - api.main - INFO - STDERR: import 'wrapt.decorators' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E89E250> +2024-11-30 13:29:42,111 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\importer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\importer.py +2024-11-30 13:29:42,111 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\importer.cpython-39.pyc' +2024-11-30 13:29:42,111 - api.main - INFO - STDERR: import 'wrapt.importer' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E8A4280> +2024-11-30 13:29:42,111 - api.main - INFO - STDERR: import 'wrapt' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E876FA0> +2024-11-30 13:29:42,111 - api.main - INFO - STDERR: import 'deprecated.classic' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E865BE0> +2024-11-30 13:29:42,111 - api.main - INFO - STDERR: import 'deprecated' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E865700> +2024-11-30 13:29:42,111 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\xpath.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\xpath.py +2024-11-30 13:29:42,112 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\xpath.cpython-39.pyc' +2024-11-30 13:29:42,112 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\_proto.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_proto.py +2024-11-30 13:29:42,112 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\_proto.cpython-39.pyc' +2024-11-30 13:29:42,112 - api.main - INFO - STDERR: import 'uiautomator2._proto' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E8BD910> +2024-11-30 13:29:42,112 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\abcd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\abcd.py +2024-11-30 13:29:42,113 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\abcd.cpython-39.pyc' +2024-11-30 13:29:42,113 - api.main - INFO - STDERR: import 'uiautomator2.abcd' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E8BDA60> +2024-11-30 13:29:42,113 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\exceptions.py +2024-11-30 13:29:42,113 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 13:29:42,113 - api.main - INFO - STDERR: import 'uiautomator2.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E8BDD90> +2024-11-30 13:29:42,114 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\utils.py +2024-11-30 13:29:42,114 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 13:29:42,114 - api.main - INFO - STDERR: import 'uiautomator2.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E8BDEE0> +2024-11-30 13:29:42,115 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\lxml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\lxml\__init__.py +2024-11-30 13:29:42,115 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:42,115 - api.main - INFO - STDERR: import 'lxml' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E8D6E50> +2024-11-30 13:29:42,115 - api.main - INFO - STDERR: # extension module 'lxml.etree' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\etree.cp39-win_amd64.pyd' +2024-11-30 13:29:42,116 - api.main - INFO - STDERR: import 'gc' # +2024-11-30 13:29:42,119 - api.main - INFO - STDERR: # extension module 'lxml._elementpath' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\_elementpath.cp39-win_amd64.pyd' +2024-11-30 13:29:42,121 - api.main - INFO - STDERR: # extension module 'lxml._elementpath' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\_elementpath.cp39-win_amd64.pyd' +2024-11-30 13:29:42,121 - api.main - INFO - STDERR: import 'lxml._elementpath' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001654E936DF0> +2024-11-30 13:29:42,124 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\gzip.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\gzip.py +2024-11-30 13:29:42,124 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\gzip.cpython-39.pyc' +2024-11-30 13:29:42,124 - api.main - INFO - STDERR: import 'gzip' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E9578B0> +2024-11-30 13:29:42,125 - api.main - INFO - STDERR: # extension module 'lxml.etree' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\etree.cp39-win_amd64.pyd' +2024-11-30 13:29:42,126 - api.main - INFO - STDERR: import 'lxml.etree' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001654E8D6F70> +2024-11-30 13:29:42,126 - api.main - INFO - STDERR: import 'uiautomator2.xpath' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E865760> +2024-11-30 13:29:42,126 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\_selector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_selector.py +2024-11-30 13:29:42,127 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\_selector.cpython-39.pyc' +2024-11-30 13:29:42,127 - api.main - INFO - STDERR: import 'uiautomator2._selector' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E8A4910> +2024-11-30 13:29:42,127 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\init.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\init.py +2024-11-30 13:29:42,127 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\init.cpython-39.pyc' +2024-11-30 13:29:42,128 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tarfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tarfile.py +2024-11-30 13:29:42,129 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tarfile.cpython-39.pyc' +2024-11-30 13:29:42,130 - api.main - INFO - STDERR: import 'tarfile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E99EAF0> +2024-11-30 13:29:42,131 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__init__.py +2024-11-30 13:29:42,131 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:42,131 - api.main - INFO - STDERR: import 'progress' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E9AAA30> +2024-11-30 13:29:42,132 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\bar.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\bar.py +2024-11-30 13:29:42,132 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\bar.cpython-39.pyc' +2024-11-30 13:29:42,132 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\colors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\colors.py +2024-11-30 13:29:42,132 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\colors.cpython-39.pyc' +2024-11-30 13:29:42,133 - api.main - INFO - STDERR: import 'progress.colors' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F1D7280> +2024-11-30 13:29:42,133 - api.main - INFO - STDERR: import 'progress.bar' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F1C9FA0> +2024-11-30 13:29:42,133 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\version.py +2024-11-30 13:29:42,133 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\version.cpython-39.pyc' +2024-11-30 13:29:42,133 - api.main - INFO - STDERR: import 'uiautomator2.version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F1C9F10> +2024-11-30 13:29:42,134 - api.main - INFO - STDERR: import 'uiautomator2.init' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654E99E4C0> +2024-11-30 13:29:42,134 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\settings.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\settings.py +2024-11-30 13:29:42,134 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\settings.cpython-39.pyc' +2024-11-30 13:29:42,134 - api.main - INFO - STDERR: import 'uiautomator2.settings' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F1D7A30> +2024-11-30 13:29:42,134 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\swipe.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\swipe.py +2024-11-30 13:29:42,134 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\swipe.cpython-39.pyc' +2024-11-30 13:29:42,134 - api.main - INFO - STDERR: import 'uiautomator2.swipe' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F1D7CD0> +2024-11-30 13:29:42,134 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\watcher.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\watcher.py +2024-11-30 13:29:42,134 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\watcher.cpython-39.pyc' +2024-11-30 13:29:42,136 - api.main - INFO - STDERR: import 'uiautomator2.watcher' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F1D7E80> +2024-11-30 13:29:42,136 - api.main - INFO - STDERR: import 'uiautomator2' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D5B9E80> +2024-11-30 13:29:42,136 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\utils.py +2024-11-30 13:29:42,137 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 13:29:42,137 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__init__.py +2024-11-30 13:29:42,137 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:42,138 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\core.py +2024-11-30 13:29:42,138 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\__pycache__\\core.cpython-39.pyc' +2024-11-30 13:29:42,138 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__init__.py +2024-11-30 13:29:42,138 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\unicode_codes\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:42,139 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__pycache__\data_dict.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\data_dict.py +2024-11-30 13:29:42,142 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\unicode_codes\\__pycache__\\data_dict.cpython-39.pyc' +2024-11-30 13:29:42,146 - api.main - INFO - STDERR: import 'emoji.unicode_codes.data_dict' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F20F8E0> +2024-11-30 13:29:42,156 - api.main - INFO - STDERR: import 'emoji.unicode_codes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F20F5B0> +2024-11-30 13:29:42,156 - api.main - INFO - STDERR: import 'emoji.core' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F1FDEE0> +2024-11-30 13:29:42,156 - api.main - INFO - STDERR: import 'emoji' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F1FDC70> +2024-11-30 13:29:42,157 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\log.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\log.py +2024-11-30 13:29:42,157 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\log.cpython-39.pyc' +2024-11-30 13:29:42,158 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\uuid.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\uuid.py +2024-11-30 13:29:42,158 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\uuid.cpython-39.pyc' +2024-11-30 13:29:42,159 - api.main - INFO - STDERR: # extension module '_uuid' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_uuid.pyd' +2024-11-30 13:29:42,159 - api.main - INFO - STDERR: # extension module '_uuid' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_uuid.pyd' +2024-11-30 13:29:42,159 - api.main - INFO - STDERR: import '_uuid' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001654F5F6160> +2024-11-30 13:29:42,159 - api.main - INFO - STDERR: import 'uuid' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F20FA00> +2024-11-30 13:29:42,159 - api.main - INFO - STDERR: import 'GramAddict.core.log' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F1FDCA0> +2024-11-30 13:29:42,160 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\report.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\report.py +2024-11-30 13:29:42,160 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\report.cpython-39.pyc' +2024-11-30 13:29:42,160 - api.main - INFO - STDERR: import 'GramAddict.core.report' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F20F6D0> +2024-11-30 13:29:42,160 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\resources.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\resources.py +2024-11-30 13:29:42,160 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\resources.cpython-39.pyc' +2024-11-30 13:29:42,160 - api.main - INFO - STDERR: import 'GramAddict.core.resources' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F5EEF40> +2024-11-30 13:29:42,161 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\storage.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\storage.py +2024-11-30 13:29:42,161 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\storage.cpython-39.pyc' +2024-11-30 13:29:42,162 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\atomicwrites\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\atomicwrites\__init__.py +2024-11-30 13:29:42,162 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\atomicwrites\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:42,162 - api.main - INFO - STDERR: import 'atomicwrites' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F5F67F0> +2024-11-30 13:29:42,163 - api.main - INFO - STDERR: import 'GramAddict.core.storage' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F5F6280> +2024-11-30 13:29:42,163 - api.main - INFO - STDERR: import 'GramAddict.core.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D5F66D0> +2024-11-30 13:29:42,163 - api.main - INFO - STDERR: import 'GramAddict.core.device_facade' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D4E92B0> +2024-11-30 13:29:42,164 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\filter.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\filter.py +2024-11-30 13:29:42,164 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\filter.cpython-39.pyc' +2024-11-30 13:29:42,165 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__init__.py +2024-11-30 13:29:42,165 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:42,165 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\detector_factory.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\detector_factory.py +2024-11-30 13:29:42,165 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\detector_factory.cpython-39.pyc' +2024-11-30 13:29:42,167 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\detector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\detector.py +2024-11-30 13:29:42,167 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\detector.cpython-39.pyc' +2024-11-30 13:29:42,168 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\lang_detect_exception.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\lang_detect_exception.py +2024-11-30 13:29:42,168 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\lang_detect_exception.cpython-39.pyc' +2024-11-30 13:29:42,168 - api.main - INFO - STDERR: import 'langdetect.lang_detect_exception' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F622CD0> +2024-11-30 13:29:42,168 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\language.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\language.py +2024-11-30 13:29:42,168 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\language.cpython-39.pyc' +2024-11-30 13:29:42,168 - api.main - INFO - STDERR: import 'langdetect.language' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F622F70> +2024-11-30 13:29:42,168 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__init__.py +2024-11-30 13:29:42,168 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:42,169 - api.main - INFO - STDERR: import 'langdetect.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F62A310> +2024-11-30 13:29:42,169 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\ngram.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\ngram.py +2024-11-30 13:29:42,169 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\ngram.cpython-39.pyc' +2024-11-30 13:29:42,169 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\messages.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\messages.py +2024-11-30 13:29:42,169 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\messages.cpython-39.pyc' +2024-11-30 13:29:42,169 - api.main - INFO - STDERR: import 'langdetect.utils.messages' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F62A640> +2024-11-30 13:29:42,169 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\unicode_block.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\unicode_block.py +2024-11-30 13:29:42,169 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\unicode_block.cpython-39.pyc' +2024-11-30 13:29:42,169 - api.main - INFO - STDERR: import 'langdetect.utils.unicode_block' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F62A7F0> +2024-11-30 13:29:42,171 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\unicode_escape.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\unicode_escape.py +2024-11-30 13:29:42,171 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\unicode_escape.cpython-39.pyc' +2024-11-30 13:29:42,171 - api.main - INFO - STDERR: import 'encodings.unicode_escape' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F62A9A0> +2024-11-30 13:29:42,173 - api.main - INFO - STDERR: import 'langdetect.utils.ngram' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F62A340> +2024-11-30 13:29:42,174 - api.main - INFO - STDERR: import 'langdetect.detector' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F622730> +2024-11-30 13:29:42,174 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\lang_profile.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\lang_profile.py +2024-11-30 13:29:42,174 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\lang_profile.cpython-39.pyc' +2024-11-30 13:29:42,174 - api.main - INFO - STDERR: import 'langdetect.utils.lang_profile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F622AF0> +2024-11-30 13:29:42,174 - api.main - INFO - STDERR: import 'langdetect.detector_factory' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F622220> +2024-11-30 13:29:42,174 - api.main - INFO - STDERR: import 'langdetect' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F613F40> +2024-11-30 13:29:42,174 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\views.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py +2024-11-30 13:29:42,175 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\views.cpython-39.pyc' +2024-11-30 13:29:42,176 - api.main - INFO - STDERR: import 'GramAddict.core.views' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F613FA0> +2024-11-30 13:29:42,176 - api.main - INFO - STDERR: import 'GramAddict.core.filter' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654D5B94F0> +2024-11-30 13:29:42,177 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\interaction.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\interaction.py +2024-11-30 13:29:42,177 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\interaction.cpython-39.pyc' +2024-11-30 13:29:42,178 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__init__.py +2024-11-30 13:29:42,178 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\spintax\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:42,178 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__pycache__\spintax.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\spintax.py +2024-11-30 13:29:42,178 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\spintax\\__pycache__\\spintax.cpython-39.pyc' +2024-11-30 13:29:42,178 - api.main - INFO - STDERR: import 'spintax.spintax' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F717790> +2024-11-30 13:29:42,178 - api.main - INFO - STDERR: import 'spintax' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F717550> +2024-11-30 13:29:42,179 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\session_state.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\session_state.py +2024-11-30 13:29:42,179 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\session_state.cpython-39.pyc' +2024-11-30 13:29:42,179 - api.main - INFO - STDERR: import 'GramAddict.core.session_state' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F717850> +2024-11-30 13:29:42,179 - api.main - INFO - STDERR: import 'GramAddict.core.interaction' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F705FA0> +2024-11-30 13:29:42,179 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\navigation.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\navigation.py +2024-11-30 13:29:42,180 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\navigation.cpython-39.pyc' +2024-11-30 13:29:42,180 - api.main - INFO - STDERR: import 'GramAddict.core.navigation' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F717F70> +2024-11-30 13:29:42,180 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\persistent_list.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\persistent_list.py +2024-11-30 13:29:42,180 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\persistent_list.cpython-39.pyc' +2024-11-30 13:29:42,180 - api.main - INFO - STDERR: import 'GramAddict.core.persistent_list' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F717B50> +2024-11-30 13:29:42,180 - api.main - INFO - STDOUT: Python path: ['e:\\PROJECTS\\instagram automation\\virtualinfluencer', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\python39.zip', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer'] +2024-11-30 13:29:42,180 - api.main - INFO - STDERR: import 'GramAddict.core.bot_flow' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B684670> +2024-11-30 13:29:42,180 - api.main - INFO - STDERR: import 'GramAddict' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B684D00> +2024-11-30 13:29:42,180 - api.main - INFO - STDOUT: Current directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 13:29:42,180 - api.main - INFO - STDERR: e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml has been saved last time at 2024-11-29 01:33:21 +2024-11-30 13:29:42,180 - api.main - INFO - STDOUT: Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 13:29:42,180 - api.main - INFO - STDOUT: Successfully imported GramAddict +2024-11-30 13:29:42,191 - api.main - INFO - STDERR: [11/30 13:29:42] DEBUG | Initial log file: logs/quecreate.log +2024-11-30 13:29:42,191 - api.main - INFO - STDERR: [11/30 13:29:42] DEBUG | Installed via git, config-examples is in the local folder. +2024-11-30 13:29:42,191 - api.main - INFO - STDERR: [11/30 13:29:42] INFO | Checking for updates... +2024-11-30 13:29:42,192 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\netrc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\netrc.py +2024-11-30 13:29:42,192 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\netrc.cpython-39.pyc' +2024-11-30 13:29:42,193 - api.main - INFO - STDERR: import 'netrc' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F726D00> +2024-11-30 13:29:42,393 - api.main - INFO - STDERR: [11/30 13:29:42] INFO | Bot is updated. +2024-11-30 13:29:42,393 - api.main - INFO - STDERR: [11/30 13:29:42] INFO | GramAddict v.3.2.12 +2024-11-30 13:29:42,395 - api.main - INFO - STDERR: [11/30 13:29:42] INFO | Loading plugins . . . +2024-11-30 13:29:42,395 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__init__.py +2024-11-30 13:29:42,395 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:42,395 - api.main - INFO - STDERR: import 'GramAddict.plugins' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F726E20> +2024-11-30 13:29:42,396 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\action_unfollow_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\action_unfollow_followers.py +2024-11-30 13:29:42,396 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\action_unfollow_followers.cpython-39.pyc' +2024-11-30 13:29:42,396 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\decorators.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py +2024-11-30 13:29:42,396 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\decorators.cpython-39.pyc' +2024-11-30 13:29:42,396 - api.main - INFO - STDERR: import 'GramAddict.core.decorators' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F743E20> +2024-11-30 13:29:42,397 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\scroll_end_detector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\scroll_end_detector.py +2024-11-30 13:29:42,397 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\scroll_end_detector.cpython-39.pyc' +2024-11-30 13:29:42,397 - api.main - INFO - STDERR: import 'GramAddict.core.scroll_end_detector' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F743550> +2024-11-30 13:29:42,397 - api.main - INFO - STDERR: import 'GramAddict.plugins.action_unfollow_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F726B50> +2024-11-30 13:29:42,397 - api.main - INFO - STDERR: [11/30 13:29:42] INFO | - ActionUnfollowFollowers: Handles the functionality of unfollowing your followers +2024-11-30 13:29:42,398 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\cloned_app.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\cloned_app.py +2024-11-30 13:29:42,398 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\cloned_app.cpython-39.pyc' +2024-11-30 13:29:42,398 - api.main - INFO - STDERR: import 'GramAddict.plugins.cloned_app' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F7439D0> +2024-11-30 13:29:42,398 - api.main - INFO - STDERR: [11/30 13:29:42] INFO | - ClonedApp: Adds support for cloned apps +2024-11-30 13:29:42,399 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\core_arguments.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\core_arguments.py +2024-11-30 13:29:42,399 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\core_arguments.cpython-39.pyc' +2024-11-30 13:29:42,399 - api.main - INFO - STDERR: import 'GramAddict.plugins.core_arguments' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F743B80> +2024-11-30 13:29:42,399 - api.main - INFO - STDERR: [11/30 13:29:42] INFO | - CoreArguments: Simply adds core arguments +2024-11-30 13:29:42,400 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\data_analytics.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\data_analytics.py +2024-11-30 13:29:42,400 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\data_analytics.cpython-39.pyc' +2024-11-30 13:29:42,400 - api.main - INFO - STDERR: import 'GramAddict.plugins.data_analytics' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F743F40> +2024-11-30 13:29:42,400 - api.main - INFO - STDERR: [11/30 13:29:42] INFO | - DataAnalytics: Generates a PDF analytics report of current username session data +2024-11-30 13:29:42,400 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\dbinit.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\dbinit.py +2024-11-30 13:29:42,401 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\dbinit.cpython-39.pyc' +2024-11-30 13:29:42,401 - api.main - INFO - STDERR: import 'GramAddict.plugins.dbinit' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B684E20> +2024-11-30 13:29:42,401 - api.main - INFO - STDERR: [11/30 13:29:42] INFO | - DBInitPlugin: Initialize NocoDB tables at session start +2024-11-30 13:29:42,401 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger.py +2024-11-30 13:29:42,401 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger.cpython-39.pyc' +2024-11-30 13:29:42,402 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\handle_sources.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py +2024-11-30 13:29:42,402 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\handle_sources.cpython-39.pyc' +2024-11-30 13:29:42,402 - api.main - INFO - STDERR: import 'GramAddict.core.handle_sources' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F79E4C0> +2024-11-30 13:29:42,402 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654B684C70> +2024-11-30 13:29:42,402 - api.main - INFO - STDERR: [11/30 13:29:42] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger +2024-11-30 13:29:42,403 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py +2024-11-30 13:29:42,403 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger_followers.cpython-39.pyc' +2024-11-30 13:29:42,403 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F79E8E0> +2024-11-30 13:29:42,403 - api.main - INFO - STDERR: [11/30 13:29:42] INFO | - InteractBloggerFollowers_Following: Handles the functionality of interacting with a bloggers followers/following +2024-11-30 13:29:42,403 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger_post_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_post_likers.py +2024-11-30 13:29:42,403 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger_post_likers.cpython-39.pyc' +2024-11-30 13:29:42,403 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger_post_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F79EB80> +2024-11-30 13:29:42,404 - api.main - INFO - STDERR: [11/30 13:29:42] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger post likers +2024-11-30 13:29:42,404 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_feed.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_feed.py +2024-11-30 13:29:42,404 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_feed.cpython-39.pyc' +2024-11-30 13:29:42,404 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_feed' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F79EEB0> +2024-11-30 13:29:42,404 - api.main - INFO - STDERR: [11/30 13:29:42] INFO | - InteractOwnFeed: Handles the functionality of interacting with your own feed +2024-11-30 13:29:42,404 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_hashtag_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_hashtag_likers.py +2024-11-30 13:29:42,404 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_hashtag_likers.cpython-39.pyc' +2024-11-30 13:29:42,406 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_hashtag_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F788250> +2024-11-30 13:29:42,406 - api.main - INFO - STDERR: [11/30 13:29:42] INFO | - InteractHashtagLikers: Handles the functionality of interacting with a hashtags likers +2024-11-30 13:29:42,406 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_hashtag_posts.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_hashtag_posts.py +2024-11-30 13:29:42,406 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_hashtag_posts.cpython-39.pyc' +2024-11-30 13:29:42,406 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_hashtag_posts' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F7885B0> +2024-11-30 13:29:42,406 - api.main - INFO - STDERR: [11/30 13:29:42] INFO | - InteractHashtagPosts: Handles the functionality of interacting with a hashtags post owners +2024-11-30 13:29:42,407 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_place_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_place_likers.py +2024-11-30 13:29:42,407 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_place_likers.cpython-39.pyc' +2024-11-30 13:29:42,407 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_place_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F788910> +2024-11-30 13:29:42,407 - api.main - INFO - STDERR: [11/30 13:29:42] INFO | - InteractPlaceLikers: Handles the functionality of interacting with a places likers +2024-11-30 13:29:42,408 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_place_posts.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_place_posts.py +2024-11-30 13:29:42,408 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_place_posts.cpython-39.pyc' +2024-11-30 13:29:42,408 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_place_posts' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F788CA0> +2024-11-30 13:29:42,408 - api.main - INFO - STDERR: [11/30 13:29:42] INFO | - InteractPlacePosts: Handles the functionality of interacting with a places post owners +2024-11-30 13:29:42,408 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\like_from_urls.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\like_from_urls.py +2024-11-30 13:29:42,408 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\like_from_urls.cpython-39.pyc' +2024-11-30 13:29:42,408 - api.main - INFO - STDERR: import 'GramAddict.plugins.like_from_urls' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F788FD0> +2024-11-30 13:29:42,408 - api.main - INFO - STDERR: [11/30 13:29:42] INFO | - LikeFromURLs: Likes a post from url. The urls are read from a plaintext file +2024-11-30 13:29:42,409 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\nocodb_record_creation_test.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\nocodb_record_creation_test.py +2024-11-30 13:29:42,409 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\nocodb_record_creation_test.cpython-39.pyc' +2024-11-30 13:29:42,409 - api.main - INFO - STDERR: import 'GramAddict.plugins.nocodb_record_creation_test' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F7AF3D0> +2024-11-30 13:29:42,409 - api.main - INFO - STDERR: [11/30 13:29:42] INFO | - NocoDBRecordCreationTest: Test plugin specifically for verifying NocoDB record creation functionality +2024-11-30 13:29:42,410 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\nocodb_storage.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\nocodb_storage.py +2024-11-30 13:29:42,410 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\nocodb_storage.cpython-39.pyc' +2024-11-30 13:29:42,411 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__init__.py +2024-11-30 13:29:42,411 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:29:42,411 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jwk.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jwk.py +2024-11-30 13:29:42,411 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jwk.cpython-39.pyc' +2024-11-30 13:29:42,412 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\algorithms.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\algorithms.py +2024-11-30 13:29:42,412 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\algorithms.cpython-39.pyc' +2024-11-30 13:29:42,412 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\exceptions.py +2024-11-30 13:29:42,412 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 13:29:42,413 - api.main - INFO - STDERR: import 'jwt.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F7CB700> +2024-11-30 13:29:42,413 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\types.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\types.py +2024-11-30 13:29:42,413 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\types.cpython-39.pyc' +2024-11-30 13:29:42,413 - api.main - INFO - STDERR: import 'jwt.types' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F7CB790> +2024-11-30 13:29:42,413 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\utils.py +2024-11-30 13:29:42,413 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 13:29:42,415 - api.main - INFO - STDERR: import 'jwt.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F7CB880> +2024-11-30 13:29:42,416 - api.main - INFO - STDERR: import 'jwt.algorithms' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F7C1520> +2024-11-30 13:29:42,416 - api.main - INFO - STDERR: import 'jwt.api_jwk' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F7AFD90> +2024-11-30 13:29:42,416 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jws.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jws.py +2024-11-30 13:29:42,416 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jws.cpython-39.pyc' +2024-11-30 13:29:42,416 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\warnings.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\warnings.py +2024-11-30 13:29:42,417 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\warnings.cpython-39.pyc' +2024-11-30 13:29:42,417 - api.main - INFO - STDERR: import 'jwt.warnings' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F7CB0D0> +2024-11-30 13:29:42,417 - api.main - INFO - STDERR: import 'jwt.api_jws' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F7C1BE0> +2024-11-30 13:29:42,417 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jwt.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jwt.py +2024-11-30 13:29:42,418 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jwt.cpython-39.pyc' +2024-11-30 13:29:42,418 - api.main - INFO - STDERR: import 'jwt.api_jwt' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F7CB310> +2024-11-30 13:29:42,418 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\jwks_client.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\jwks_client.py +2024-11-30 13:29:42,418 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\jwks_client.cpython-39.pyc' +2024-11-30 13:29:42,418 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\jwk_set_cache.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\jwk_set_cache.py +2024-11-30 13:29:42,418 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\jwk_set_cache.cpython-39.pyc' +2024-11-30 13:29:42,418 - api.main - INFO - STDERR: import 'jwt.jwk_set_cache' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F7D7AC0> +2024-11-30 13:29:42,419 - api.main - INFO - STDERR: import 'jwt.jwks_client' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F7D74F0> +2024-11-30 13:29:42,419 - api.main - INFO - STDERR: import 'jwt' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F7AFB20> +2024-11-30 13:29:42,419 - api.main - INFO - STDERR: import 'GramAddict.plugins.nocodb_storage' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F7AF550> +2024-11-30 13:29:42,419 - api.main - INFO - STDERR: [11/30 13:29:42] INFO | - NocoDBStorage: Store interaction data in NocoDB +2024-11-30 13:29:42,420 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\remove_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\remove_followers.py +2024-11-30 13:29:42,420 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\remove_followers.cpython-39.pyc' +2024-11-30 13:29:42,421 - api.main - INFO - STDERR: import 'GramAddict.plugins.remove_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F7D7F70> +2024-11-30 13:29:42,421 - api.main - INFO - STDERR: [11/30 13:29:42] INFO | - RemoveFollowersFromList: Remove account followers from a list of usernames +2024-11-30 13:29:42,421 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\telegram.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\telegram.py +2024-11-30 13:29:42,421 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\telegram.cpython-39.pyc' +2024-11-30 13:29:42,421 - api.main - INFO - STDERR: import 'GramAddict.plugins.telegram' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F7F1190> +2024-11-30 13:29:42,422 - api.main - INFO - STDERR: [11/30 13:29:42] INFO | - TelegramReports: Generate reports at the end of the session and send them using telegram +2024-11-30 13:29:42,424 - api.main - INFO - STDERR: [11/30 13:29:42] DEBUG | Arguments used: --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 13:29:42,425 - api.main - INFO - STDERR: [11/30 13:29:42] DEBUG | Config used: {'username': 'quecreate', 'app-id': 'com.instagram.android', 'use-cloned-app': False, 'allow-untested-ig-version': False, 'screen-sleep': True, 'screen-record': False, 'speed-multiplier': 1.0, 'debug': True, 'close-apps': False, 'kill-atx-agent': False, 'restart-atx-agent': False, 'disable-block-detection': False, 'disable-filters': False, 'dont-type': False, 'use-nocodb': True, 'init-db': True, 'total-crashes-limit': 5, 'count-app-crashes': False, 'shuffle-jobs': True, 'truncate-sources': '2-5', 'blogger-followers': ['mnaumanndesign'], 'watch-video-time': '15-35', 'watch-photo-time': '3-4', 'delete-interacted-users': True, 'telegram-reports': False, 'interactions-count': '300-400', 'likes-count': '1-2', 'likes-percentage': 100, 'stories-count': '10-20', 'stories-percentage': '30-40', 'carousel-count': '20-30', 'carousel-percentage': '60-70', 'max-comments-pro-user': '1-2', 'interact-percentage': '30-40', 'follow-percentage': '30-40', 'follow-limit': 50, 'skipped-list-limit': '10-15', 'skipped-posts-limit': 5, 'fling-when-skipped': 0, 'min-following': 10, 'total-likes-limit': '120-150', 'total-follows-limit': '40-50', 'total-unfollows-limit': '40-50', 'total-watches-limit': '120-150', 'total-successful-interactions-limit': '120-150', 'total-interactions-limit': '280-300', 'total-comments-limit': '3-50', 'total-pm-limit': '3-5', 'total-scraped-limit': '100-150', 'end-if-likes-limit-reached': False, 'end-if-follows-limit-reached': False, 'end-if-watches-limit-reached': False, 'end-if-comments-limit-reached': False, 'end-if-pm-limit-reached': False} +2024-11-30 13:29:42,506 - api.main - INFO - STDERR: [11/30 13:29:42] DEBUG | Connected devices via adb: 1. That's ok. +2024-11-30 13:29:42,628 - api.main - INFO - STDERR: [11/30 13:29:42] INFO | Time delta has set to 00:00:12. +2024-11-30 13:29:42,629 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_strptime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_strptime.py +2024-11-30 13:29:42,629 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_strptime.cpython-39.pyc' +2024-11-30 13:29:42,630 - api.main - INFO - STDERR: import '_strptime' # <_frozen_importlib_external.SourceFileLoader object at 0x000001654F803760> +2024-11-30 13:29:42,630 - api.main - INFO - STDERR: [11/30 13:29:42] DEBUG | Whole day mode. +2024-11-30 13:29:42,798 - api.main - INFO - STDERR: [11/30 13:29:42] DEBUG | Phone Name: taimen, SDK Version: 30 +2024-11-30 13:29:43,058 - api.main - INFO - STDERR: [11/30 13:29:43] DEBUG | Screen dimension: 1440x2824 +2024-11-30 13:29:43,235 - api.main - INFO - STDERR: [11/30 13:29:43] DEBUG | Screen resolution: 411x823 +2024-11-30 13:29:43,236 - api.main - INFO - STDERR: [11/30 13:29:43] DEBUG | Device ID: 192.168.50.202:5555 +2024-11-30 13:29:43,357 - api.main - INFO - STDERR: [11/30 13:29:43] INFO | Screen timeout is fine! +2024-11-30 13:29:43,520 - api.main - INFO - STDERR: [11/30 13:29:43] INFO | -------- START: 13:29:43 - 2024/11/30 -------- +2024-11-30 13:29:45,906 - api.main - INFO - STDERR: [11/30 13:29:45] INFO | Device screen ON and unlocked. +2024-11-30 13:29:45,906 - api.main - INFO - STDERR: [11/30 13:29:45] INFO | Open Instagram app. +2024-11-30 13:29:46,265 - api.main - INFO - STDERR: [11/30 13:29:46] DEBUG | Instagram called successfully. +2024-11-30 13:29:46,714 - api.main - INFO - STDERR: [11/30 13:29:46] INFO | Ready for botting!\U0001f92b +2024-11-30 13:29:46,715 - api.main - INFO - STDERR: [11/30 13:29:46] DEBUG | 1.53s sleep +2024-11-30 13:29:48,256 - api.main - INFO - STDERR: [11/30 13:29:48] DEBUG | Setting FastInputIME as default keyboard. +2024-11-30 13:29:48,419 - api.main - INFO - STDERR: [11/30 13:29:48] INFO | FastInputIME is the default keyboard. +2024-11-30 13:29:48,542 - api.main - INFO - STDERR: [11/30 13:29:48] INFO | Instagram version: 300.0.0.29.110 +2024-11-30 13:29:48,932 - api.main - INFO - STDERR: [11/30 13:29:48] DEBUG | Navigating to main account... +2024-11-30 13:29:49,833 - api.main - INFO - STDERR: [11/30 13:29:49] DEBUG | Single click in (1297,2722). Surface: (1244-1349,2684-2789) +2024-11-30 13:29:50,245 - api.main - INFO - STDERR: [11/30 13:29:50] DEBUG | 2.39s sleep +2024-11-30 13:29:53,500 - api.main - INFO - STDERR: [11/30 13:29:53] DEBUG | Checking if app is in English.. +2024-11-30 13:29:56,823 - api.main - INFO - STDERR: [11/30 13:29:56] DEBUG | Instagram in English. +2024-11-30 13:29:57,882 - api.main - INFO - STDERR: [11/30 13:29:57] INFO | You are already logged as quecreate! +2024-11-30 13:29:58,458 - api.main - INFO - STDERR: [11/30 13:29:58] INFO | Refresh account... +2024-11-30 13:29:58,784 - api.main - INFO - STDERR: [11/30 13:29:58] DEBUG | Swipe from: (820,630) to (783,910). +2024-11-30 13:30:00,021 - api.main - INFO - STDERR: [11/30 13:30:00] DEBUG | 0.67s sleep +2024-11-30 13:30:00,696 - api.main - INFO - STDERR: [11/30 13:30:00] DEBUG | 1.64s sleep +2024-11-30 13:30:05,825 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | Hello, @quecreate! You have 1 followers and 51 followings so far. +2024-11-30 13:30:05,826 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | There is/are 3 active-job(s) and 0 unfollow-job(s) scheduled for this session. +2024-11-30 13:30:05,826 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | NocoDB config found - plugin will handle initialization +2024-11-30 13:30:05,830 - api.main - INFO - STDERR: [11/30 13:30:05] WARNING | accounts\quecreate\filters.yml has been saved last time at 2024-11-28 01:20:01 +2024-11-30 13:30:05,839 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | ---------------------------------------------------------------------- +2024-11-30 13:30:05,839 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | Filters recap (no spell check!) Value +2024-11-30 13:30:05,839 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | ---------------------------------------------------------------------- +2024-11-30 13:30:05,840 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | max_following 7500 +2024-11-30 13:30:05,840 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | min_following 10 +2024-11-30 13:30:05,840 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | max_followers 15000 +2024-11-30 13:30:05,840 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | min_followers 100 +2024-11-30 13:30:05,841 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | max_posts 1000 +2024-11-30 13:30:05,841 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | min_posts 3 +2024-11-30 13:30:05,841 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | max_following_to_followers_ratio 2.0 +2024-11-30 13:30:05,842 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | min_following_to_followers_ratio None +2024-11-30 13:30:05,842 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | max_followers_to_following_ratio None +2024-11-30 13:30:05,842 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | min_followers_to_following_ratio None +2024-11-30 13:30:05,842 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | max_potency_ratio 1.5 +2024-11-30 13:30:05,842 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | min_potency_ratio 0.1 +2024-11-30 13:30:05,842 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | biography_language None +2024-11-30 13:30:05,843 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | biography_banned_words [] +2024-11-30 13:30:05,844 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | biography_mandatory_words [] +2024-11-30 13:30:05,844 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | business_category_name [] +2024-11-30 13:30:05,844 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | is_private None +2024-11-30 13:30:05,844 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | is_verified None +2024-11-30 13:30:05,844 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | is_business None +2024-11-30 13:30:05,844 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | is_non_business None +2024-11-30 13:30:05,845 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | blacklist_words [] +2024-11-30 13:30:05,845 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | mandatory_words [] +2024-11-30 13:30:05,845 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | specific_alphabet None +2024-11-30 13:30:05,846 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | min_posts_from_date None +2024-11-30 13:30:05,846 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | posts_from_date None +2024-11-30 13:30:05,846 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | mutual_friends None +2024-11-30 13:30:05,846 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | following_bot None +2024-11-30 13:30:05,847 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | last_post None +2024-11-30 13:30:05,847 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | potency_ratio None +2024-11-30 13:30:05,847 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | has_any_business_category None +2024-11-30 13:30:05,848 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | has_highlights None +2024-11-30 13:30:05,848 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | has_guides None +2024-11-30 13:30:05,848 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | has_external_url None +2024-11-30 13:30:05,848 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | has_business_category_name None +2024-11-30 13:30:05,849 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | has_biography_links None +2024-11-30 13:30:05,849 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | has_igtv None +2024-11-30 13:30:05,849 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | has_linked_facebook None +2024-11-30 13:30:05,850 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | has_story_highlights None +2024-11-30 13:30:05,850 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | has_youtube None +2024-11-30 13:30:05,850 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | has_twitter None +2024-11-30 13:30:05,850 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | has_facebook None +2024-11-30 13:30:05,851 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | has_whatsapp None +2024-11-30 13:30:05,851 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | has_tiktok None +2024-11-30 13:30:05,851 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_link_in_bio False +2024-11-30 13:30:05,851 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_external_url False +2024-11-30 13:30:05,851 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_business False +2024-11-30 13:30:05,851 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_business_categories [] +2024-11-30 13:30:05,853 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_bio_keyword [] +2024-11-30 13:30:05,853 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_bio_keyword [] +2024-11-30 13:30:05,853 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_bio_contains_anything False +2024-11-30 13:30:05,853 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_no_avatar False +2024-11-30 13:30:05,854 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_no_bio False +2024-11-30 13:30:05,854 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_no_posts False +2024-11-30 13:30:05,854 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_no_igtv False +2024-11-30 13:30:05,854 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_no_story_highlights False +2024-11-30 13:30:05,854 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_no_mutual_friends False +2024-11-30 13:30:05,854 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_private False +2024-11-30 13:30:05,855 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_public False +2024-11-30 13:30:05,855 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_verified False +2024-11-30 13:30:05,855 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_non_business False +2024-11-30 13:30:05,855 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_following_bot False +2024-11-30 13:30:05,856 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_following_less_than None +2024-11-30 13:30:05,856 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_followers_less_than None +2024-11-30 13:30:05,856 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_posts_less_than None +2024-11-30 13:30:05,857 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_mutual_friends_less_than None +2024-11-30 13:30:05,857 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_following_more_than None +2024-11-30 13:30:05,857 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_followers_more_than None +2024-11-30 13:30:05,858 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_posts_more_than None +2024-11-30 13:30:05,858 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_mutual_friends_more_than None +2024-11-30 13:30:05,859 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_following_to_followers_ratio_less_than None +2024-11-30 13:30:05,859 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_following_to_followers_ratio_more_than None +2024-11-30 13:30:05,859 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_followers_to_following_ratio_less_than None +2024-11-30 13:30:05,859 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_followers_to_following_ratio_more_than None +2024-11-30 13:30:05,859 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_potency_ratio_less_than None +2024-11-30 13:30:05,859 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | skip_if_potency_ratio_more_than None +2024-11-30 13:30:05,860 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | ---------------------------------------------------------------------- +2024-11-30 13:30:05,860 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | Session ending conditions: Value +2024-11-30 13:30:05,860 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | ---------------------------------------------------------------------- +2024-11-30 13:30:05,861 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | Likes: False +2024-11-30 13:30:05,861 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | Follows: False +2024-11-30 13:30:05,861 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | Watches: False +2024-11-30 13:30:05,861 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | Comments: False +2024-11-30 13:30:05,862 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | PM: False +2024-11-30 13:30:05,862 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | Total actions: True (not mutable) +2024-11-30 13:30:05,862 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | Total successfull actions: True (not mutable) +2024-11-30 13:30:05,862 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | For more info -> https://github.com/GramAddict/docs/blob/main/configuration.md#ending-session-conditions +2024-11-30 13:30:05,863 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | ---------------------------------------------------------------------- +2024-11-30 13:30:05,863 - api.main - INFO - STDERR: [11/30 13:30:05] DEBUG | Whole day mode. +2024-11-30 13:30:05,863 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | Checking session limits: +2024-11-30 13:30:05,863 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | - Total Likes: OK (0/123) +2024-11-30 13:30:05,863 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | - Total Comments: OK (0/25) +2024-11-30 13:30:05,865 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | - Total PM: OK (0/5) +2024-11-30 13:30:05,865 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | - Total Followed: OK (0/46) +2024-11-30 13:30:05,865 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | - Total Unfollowed: OK (0/49) +2024-11-30 13:30:05,865 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | - Total Watched: OK (0/146) +2024-11-30 13:30:05,866 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | - Total Successful Interactions: OK (0/137) +2024-11-30 13:30:05,866 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | - Total Interactions: OK (0/287) +2024-11-30 13:30:05,866 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | - Total Crashes: OK (0/5) +2024-11-30 13:30:05,866 - api.main - INFO - STDERR: [11/30 13:30:05] INFO | - Total Successful Scraped Users: OK (0/124) +2024-11-30 13:30:06,616 - api.main - INFO - STDERR: [11/30 13:30:06] INFO | Current active-job: init-db +2024-11-30 13:30:06,616 - api.main - INFO - STDERR: [11/30 13:30:06] INFO | ================================================================================ +2024-11-30 13:30:06,616 - api.main - INFO - STDERR: [11/30 13:30:06] INFO | Starting database initialization... +2024-11-30 13:30:06,616 - api.main - INFO - STDERR: [11/30 13:30:06] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:07,623 - api.main - INFO - STDERR: [11/30 13:30:07] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:08,633 - api.main - INFO - STDERR: [11/30 13:30:08] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:09,633 - api.main - INFO - STDERR: [11/30 13:30:09] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:10,637 - api.main - INFO - STDERR: [11/30 13:30:10] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:11,647 - api.main - INFO - STDERR: [11/30 13:30:11] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:12,652 - api.main - INFO - STDERR: [11/30 13:30:12] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:13,660 - api.main - INFO - STDERR: [11/30 13:30:13] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:14,670 - api.main - INFO - STDERR: [11/30 13:30:14] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:15,684 - api.main - INFO - STDERR: [11/30 13:30:15] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:16,691 - api.main - INFO - STDERR: [11/30 13:30:16] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:17,706 - api.main - INFO - STDERR: [11/30 13:30:17] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:18,718 - api.main - INFO - STDERR: [11/30 13:30:18] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:19,730 - api.main - INFO - STDERR: [11/30 13:30:19] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:20,732 - api.main - INFO - STDERR: [11/30 13:30:20] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:21,742 - api.main - INFO - STDERR: [11/30 13:30:21] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:22,743 - api.main - INFO - STDERR: [11/30 13:30:22] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:23,756 - api.main - INFO - STDERR: [11/30 13:30:23] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:24,768 - api.main - INFO - STDERR: [11/30 13:30:24] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:25,783 - api.main - INFO - STDERR: [11/30 13:30:25] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:26,797 - api.main - INFO - STDERR: [11/30 13:30:26] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:27,808 - api.main - INFO - STDERR: [11/30 13:30:27] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:28,817 - api.main - INFO - STDERR: [11/30 13:30:28] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:29,829 - api.main - INFO - STDERR: [11/30 13:30:29] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:30,837 - api.main - INFO - STDERR: [11/30 13:30:30] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:31,850 - api.main - INFO - STDERR: [11/30 13:30:31] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:32,864 - api.main - INFO - STDERR: [11/30 13:30:32] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:33,878 - api.main - INFO - STDERR: [11/30 13:30:33] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:34,884 - api.main - INFO - STDERR: [11/30 13:30:34] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:35,893 - api.main - INFO - STDERR: [11/30 13:30:35] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 13:30:36,903 - api.main - INFO - STDERR: [11/30 13:30:36] WARNING | NocoDB plugin not found or not enabled. Please enable it with --use-nocodb +2024-11-30 13:30:36,903 - api.main - INFO - STDERR: [11/30 13:30:36] DEBUG | Whole day mode. +2024-11-30 13:30:36,904 - api.main - INFO - STDERR: [11/30 13:30:36] INFO | Checking session limits: +2024-11-30 13:30:36,904 - api.main - INFO - STDERR: [11/30 13:30:36] INFO | - Total Likes: OK (0/123) +2024-11-30 13:30:36,904 - api.main - INFO - STDERR: [11/30 13:30:36] INFO | - Total Comments: OK (0/25) +2024-11-30 13:30:36,905 - api.main - INFO - STDERR: [11/30 13:30:36] INFO | - Total PM: OK (0/5) +2024-11-30 13:30:36,905 - api.main - INFO - STDERR: [11/30 13:30:36] INFO | - Total Followed: OK (0/46) +2024-11-30 13:30:36,905 - api.main - INFO - STDERR: [11/30 13:30:36] INFO | - Total Unfollowed: OK (0/49) +2024-11-30 13:30:36,905 - api.main - INFO - STDERR: [11/30 13:30:36] INFO | - Total Watched: OK (0/146) +2024-11-30 13:30:36,905 - api.main - INFO - STDERR: [11/30 13:30:36] INFO | - Total Successful Interactions: OK (0/137) +2024-11-30 13:30:36,906 - api.main - INFO - STDERR: [11/30 13:30:36] INFO | - Total Interactions: OK (0/287) +2024-11-30 13:30:36,906 - api.main - INFO - STDERR: [11/30 13:30:36] INFO | - Total Crashes: OK (0/5) +2024-11-30 13:30:36,906 - api.main - INFO - STDERR: [11/30 13:30:36] INFO | - Total Successful Scraped Users: OK (0/124) +2024-11-30 13:30:45,990 - api.main - INFO - STDERR: [11/30 13:30:45] ERROR | Unable to find action bar! (The element with the username at top) +2024-11-30 13:30:45,990 - api.main - INFO - STDERR: [11/30 13:30:45] ERROR | Cannot get username. +2024-11-30 13:30:45,990 - api.main - INFO - STDERR: [11/30 13:30:45] DEBUG | Not in your main profile. +2024-11-30 13:30:45,990 - api.main - INFO - STDERR: [11/30 13:30:45] DEBUG | Navigate to PROFILE +2024-11-30 13:30:47,249 - api.main - INFO - STDERR: [11/30 13:30:47] ERROR | Didn't find tab PROFILE in the tab bar... +2024-11-30 13:30:47,689 - api.main - INFO - STDERR: [11/30 13:30:47] INFO | Current active-job: blogger-followers +2024-11-30 13:30:47,690 - api.main - INFO - STDERR: [11/30 13:30:47] INFO | Source list truncated at 1 item. +2024-11-30 13:30:47,690 - api.main - INFO - STDERR: [11/30 13:30:47] INFO | In this session, that source will be handled: mnaumanndesign +2024-11-30 13:30:47,691 - api.main - INFO - STDERR: [11/30 13:30:47] DEBUG | Checking session limits: +2024-11-30 13:30:47,691 - api.main - INFO - STDERR: [11/30 13:30:47] DEBUG | - Total Likes: OK (0/123) +2024-11-30 13:30:47,691 - api.main - INFO - STDERR: [11/30 13:30:47] DEBUG | - Total Comments: OK (0/25) +2024-11-30 13:30:47,691 - api.main - INFO - STDERR: [11/30 13:30:47] DEBUG | - Total PM: OK (0/5) +2024-11-30 13:30:47,691 - api.main - INFO - STDERR: [11/30 13:30:47] DEBUG | - Total Followed: OK (0/46) +2024-11-30 13:30:47,693 - api.main - INFO - STDERR: [11/30 13:30:47] DEBUG | - Total Unfollowed: OK (0/49) +2024-11-30 13:30:47,693 - api.main - INFO - STDERR: [11/30 13:30:47] DEBUG | - Total Watched: OK (0/146) +2024-11-30 13:30:47,693 - api.main - INFO - STDERR: [11/30 13:30:47] DEBUG | - Total Successful Interactions: OK (0/137) +2024-11-30 13:30:47,693 - api.main - INFO - STDERR: [11/30 13:30:47] DEBUG | - Total Interactions: OK (0/287) +2024-11-30 13:30:47,693 - api.main - INFO - STDERR: [11/30 13:30:47] DEBUG | - Total Crashes: OK (0/5) +2024-11-30 13:30:47,694 - api.main - INFO - STDERR: [11/30 13:30:47] DEBUG | - Total Successful Scraped Users: OK (0/124) +2024-11-30 13:30:47,694 - api.main - INFO - STDERR: [11/30 13:30:47] INFO | Handle mnaumanndesign +2024-11-30 13:30:47,695 - api.main - INFO - STDERR: [11/30 13:30:47] INFO | Interactions count: 326 +2024-11-30 13:30:47,695 - api.main - INFO - STDERR: [11/30 13:30:47] INFO | Chance of watching stories: 35% +2024-11-30 13:30:47,695 - api.main - INFO - STDERR: [11/30 13:30:47] INFO | Chance of liking: 100% +2024-11-30 13:30:47,695 - api.main - INFO - STDERR: [11/30 13:30:47] INFO | Chance of following: 34% +2024-11-30 13:30:47,696 - api.main - INFO - STDERR: [11/30 13:30:47] INFO | Chance of commenting: 0% +2024-11-30 13:30:47,696 - api.main - INFO - STDERR: [11/30 13:30:47] INFO | Chance of interacting: 40% +2024-11-30 13:30:47,697 - api.main - INFO - STDERR: [11/30 13:30:47] INFO | Chance of send PM: 0% +2024-11-30 13:30:47,697 - api.main - INFO - STDERR: [11/30 13:30:47] DEBUG | Navigate to SEARCH +2024-11-30 13:30:48,435 - api.main - INFO - STDERR: [11/30 13:30:48] DEBUG | Didn't find search in the tab bar... +2024-11-30 13:30:48,435 - api.main - INFO - STDERR: [11/30 13:30:48] DEBUG | Navigate to HOME +2024-11-30 13:30:54,485 - api.main - INFO - STDERR: [11/30 13:30:54] ERROR | Didn't find tab HOME in the tab bar... +2024-11-30 13:30:54,951 - api.main - INFO - STDERR: [11/30 13:30:54] DEBUG | Navigate to Search +2024-11-30 13:30:56,524 - api.main - INFO - STDERR: [11/30 13:30:56] ERROR | Traceback (most recent call last): +2024-11-30 13:30:56,524 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 620, in get_bounds +2024-11-30 13:30:56,524 - api.main - INFO - STDERR: return self.viewV2.info["bounds"] +2024-11-30 13:30:56,524 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\decorator.py", line 232, in fun +2024-11-30 13:30:56,524 - api.main - INFO - STDERR: return caller(func, *(extras + args), **kw) +2024-11-30 13:30:56,524 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 73, in retry_decorator +2024-11-30 13:30:56,524 - api.main - INFO - STDERR: return __retry_internal(partial(f, *args, **kwargs), exceptions, tries, delay, max_delay, backoff, jitter, +2024-11-30 13:30:56,524 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 33, in __retry_internal +2024-11-30 13:30:56,524 - api.main - INFO - STDERR: return f() +2024-11-30 13:30:56,524 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_selector.py", line 130, in info +2024-11-30 13:30:56,524 - api.main - INFO - STDERR: return self.jsonrpc.objInfo(self.selector) +2024-11-30 13:30:56,524 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 480, in __call__ +2024-11-30 13:30:56,524 - api.main - INFO - STDERR: return self.server._jsonrpc_retry_call(self.method, params, +2024-11-30 13:30:56,525 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 487, in _jsonrpc_retry_call +2024-11-30 13:30:56,525 - api.main - INFO - STDERR: return self._jsonrpc_call(*args, **kwargs) +2024-11-30 13:30:56,525 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 556, in _jsonrpc_call +2024-11-30 13:30:56,525 - api.main - INFO - STDERR: raise err +2024-11-30 13:30:56,525 - api.main - INFO - STDERR: uiautomator2.exceptions.UiObjectNotFoundError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 13:30:56,525 - api.main - INFO - STDERR: During handling of the above exception, another exception occurred: +2024-11-30 13:30:56,525 - api.main - INFO - STDERR: Traceback (most recent call last): +2024-11-30 13:30:56,525 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py", line 31, in wrapper +2024-11-30 13:30:56,525 - api.main - INFO - STDERR: func(*args, **kwargs) +2024-11-30 13:30:56,525 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 109, in job +2024-11-30 13:30:56,525 - api.main - INFO - STDERR: self.handle_blogger( +2024-11-30 13:30:56,525 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 185, in handle_blogger +2024-11-30 13:30:56,525 - api.main - INFO - STDERR: handle_followers( +2024-11-30 13:30:56,525 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py", line 674, in handle_followers +2024-11-30 13:30:56,525 - api.main - INFO - STDERR: if not nav_to_blogger(device, username, current_job): +2024-11-30 13:30:56,525 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\navigation.py", line 48, in nav_to_blogger +2024-11-30 13:30:56,526 - api.main - INFO - STDERR: search_view = TabBarView(device).navigateToSearch() +2024-11-30 13:30:56,526 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 113, in navigateToSearch +2024-11-30 13:30:56,526 - api.main - INFO - STDERR: self._navigateTo(TabBarTabs.SEARCH) +2024-11-30 13:30:56,526 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 157, in _navigateTo +2024-11-30 13:30:56,526 - api.main - INFO - STDERR: home_view.navigateToSearch() +2024-11-30 13:30:56,526 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 219, in navigateToSearch +2024-11-30 13:30:56,526 - api.main - INFO - STDERR: search_btn.click() +2024-11-30 13:30:56,526 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 464, in click +2024-11-30 13:30:56,526 - api.main - INFO - STDERR: visible_bounds = self.get_bounds() +2024-11-30 13:30:56,526 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 622, in get_bounds +2024-11-30 13:30:56,526 - api.main - INFO - STDERR: raise DeviceFacade.JsonRpcError(e) +2024-11-30 13:30:56,526 - api.main - INFO - STDERR: GramAddict.core.device_facade.DeviceFacade.JsonRpcError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 13:30:57,035 - api.main - INFO - STDERR: [11/30 13:30:57] INFO | Crash saved as crashes\3.2.12_2024-11-30-13-30-56.zip +2024-11-30 13:30:57,035 - api.main - INFO - STDERR: [11/30 13:30:57] INFO | If you want to report this crash, please upload the dump file via a ticket in the #lobby channel on discord +2024-11-30 13:30:57,035 - api.main - INFO - STDERR: [11/30 13:30:57] INFO | https://discord.gg/66zWWCDM7x +2024-11-30 13:30:57,672 - api.main - INFO - STDERR: [11/30 13:30:57] INFO | List of running apps: com.qualcomm.qti.telephonyservice, com.google.android.apps.wellbeing, com.google.android.providers.media.module, com.google.android.dialer, com.qualcomm.qcrilmsgtunnel, com.android.se, com.google.android.settings.intelligence, org.thoughtcrime.securesms, com.google.android.tts, com.google.android.apps.youtube.music, com.google.android.calendar, com.google.android.apps.turbo, com.google.android.apps.nexuslauncher, com.google.android.inputmethod.latin, com.google.android.euicc, com.instagram.android, com.google.android.gms, com.google.android.apps.tachyon, com.google.android.as, com.google.android.apps.messaging, com.android.systemui, com.android.settings, com.google.android.apps.photos, com.google.android.GoogleCamera, com.android.chrome, com.android.phone, com.google.modemservice, com.google.android.youtube, com.google.android.gm, com.android.vending, com.google.android.ims, com.android.nfc, com.google.android.apps.scone, com.google.SSRestartDetector, com.google.android.apps.magazines, com.breel.wallpapers, com.google.android.apps.gcs, com.android.providers.calendar, com.github.uiautomator, com.google.android.ext.services. +2024-11-30 13:30:57,672 - api.main - INFO - STDERR: [11/30 13:30:57] INFO | - Total Crashes: OK (1/5) +2024-11-30 13:30:57,672 - api.main - INFO - STDERR: [11/30 13:30:57] INFO | Something unexpected happened. Let's try again. +2024-11-30 13:30:57,672 - api.main - INFO - STDERR: [11/30 13:30:57] INFO | Close Instagram app. +2024-11-30 13:30:57,822 - api.main - INFO - STDERR: [11/30 13:30:57] DEBUG | 5.0s sleep +2024-11-30 13:31:03,509 - api.main - INFO - STDERR: [11/30 13:31:03] DEBUG | 2.01s sleep +2024-11-30 13:31:05,534 - api.main - INFO - STDERR: [11/30 13:31:05] INFO | Open Instagram app. +2024-11-30 13:31:06,129 - api.main - INFO - STDERR: [11/30 13:31:06] DEBUG | Instagram called successfully. +2024-11-30 13:31:07,666 - api.main - INFO - STDERR: [11/30 13:31:07] INFO | Ready for botting!\U0001f92b +2024-11-30 13:31:07,666 - api.main - INFO - STDERR: [11/30 13:31:07] DEBUG | 1.88s sleep +2024-11-30 13:31:09,554 - api.main - INFO - STDERR: [11/30 13:31:09] DEBUG | Setting FastInputIME as default keyboard. +2024-11-30 13:31:09,853 - api.main - INFO - STDERR: [11/30 13:31:09] INFO | FastInputIME is the default keyboard. +2024-11-30 13:31:09,854 - api.main - INFO - STDERR: [11/30 13:31:09] DEBUG | Navigate to PROFILE +2024-11-30 13:31:10,741 - api.main - INFO - STDERR: [11/30 13:31:10] ERROR | Didn't find tab PROFILE in the tab bar... +2024-11-30 13:31:11,139 - api.main - INFO - STDERR: [11/30 13:31:11] DEBUG | Navigate to SEARCH +2024-11-30 13:31:11,850 - api.main - INFO - STDERR: [11/30 13:31:11] DEBUG | Didn't find search in the tab bar... +2024-11-30 13:31:11,851 - api.main - INFO - STDERR: [11/30 13:31:11] DEBUG | Navigate to HOME +2024-11-30 13:31:17,794 - api.main - INFO - STDERR: [11/30 13:31:17] ERROR | Didn't find tab HOME in the tab bar... +2024-11-30 13:31:18,235 - api.main - INFO - STDERR: [11/30 13:31:18] DEBUG | Navigate to Search +2024-11-30 13:31:19,655 - api.main - INFO - STDERR: [11/30 13:31:19] ERROR | Traceback (most recent call last): +2024-11-30 13:31:19,656 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 620, in get_bounds +2024-11-30 13:31:19,656 - api.main - INFO - STDERR: return self.viewV2.info["bounds"] +2024-11-30 13:31:19,656 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\decorator.py", line 232, in fun +2024-11-30 13:31:19,656 - api.main - INFO - STDERR: return caller(func, *(extras + args), **kw) +2024-11-30 13:31:19,656 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 73, in retry_decorator +2024-11-30 13:31:19,656 - api.main - INFO - STDERR: return __retry_internal(partial(f, *args, **kwargs), exceptions, tries, delay, max_delay, backoff, jitter, +2024-11-30 13:31:19,656 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 33, in __retry_internal +2024-11-30 13:31:19,656 - api.main - INFO - STDERR: return f() +2024-11-30 13:31:19,656 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_selector.py", line 130, in info +2024-11-30 13:31:19,657 - api.main - INFO - STDERR: return self.jsonrpc.objInfo(self.selector) +2024-11-30 13:31:19,657 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 480, in __call__ +2024-11-30 13:31:19,657 - api.main - INFO - STDERR: return self.server._jsonrpc_retry_call(self.method, params, +2024-11-30 13:31:19,657 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 487, in _jsonrpc_retry_call +2024-11-30 13:31:19,657 - api.main - INFO - STDERR: return self._jsonrpc_call(*args, **kwargs) +2024-11-30 13:31:19,657 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 556, in _jsonrpc_call +2024-11-30 13:31:19,657 - api.main - INFO - STDERR: raise err +2024-11-30 13:31:19,657 - api.main - INFO - STDERR: uiautomator2.exceptions.UiObjectNotFoundError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 13:31:19,658 - api.main - INFO - STDERR: During handling of the above exception, another exception occurred: +2024-11-30 13:31:19,658 - api.main - INFO - STDERR: Traceback (most recent call last): +2024-11-30 13:31:19,658 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py", line 31, in wrapper +2024-11-30 13:31:19,658 - api.main - INFO - STDERR: func(*args, **kwargs) +2024-11-30 13:31:19,658 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 109, in job +2024-11-30 13:31:19,658 - api.main - INFO - STDERR: self.handle_blogger( +2024-11-30 13:31:19,658 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 185, in handle_blogger +2024-11-30 13:31:19,658 - api.main - INFO - STDERR: handle_followers( +2024-11-30 13:31:19,658 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py", line 674, in handle_followers +2024-11-30 13:31:19,658 - api.main - INFO - STDERR: if not nav_to_blogger(device, username, current_job): +2024-11-30 13:31:19,658 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\navigation.py", line 48, in nav_to_blogger +2024-11-30 13:31:19,658 - api.main - INFO - STDERR: search_view = TabBarView(device).navigateToSearch() +2024-11-30 13:31:19,658 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 113, in navigateToSearch +2024-11-30 13:31:19,658 - api.main - INFO - STDERR: self._navigateTo(TabBarTabs.SEARCH) +2024-11-30 13:31:19,658 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 157, in _navigateTo +2024-11-30 13:31:19,658 - api.main - INFO - STDERR: home_view.navigateToSearch() +2024-11-30 13:31:19,658 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 219, in navigateToSearch +2024-11-30 13:31:19,658 - api.main - INFO - STDERR: search_btn.click() +2024-11-30 13:31:19,658 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 464, in click +2024-11-30 13:31:19,658 - api.main - INFO - STDERR: visible_bounds = self.get_bounds() +2024-11-30 13:31:19,658 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 622, in get_bounds +2024-11-30 13:31:19,658 - api.main - INFO - STDERR: raise DeviceFacade.JsonRpcError(e) +2024-11-30 13:31:19,658 - api.main - INFO - STDERR: GramAddict.core.device_facade.DeviceFacade.JsonRpcError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 13:31:20,199 - api.main - INFO - STDERR: [11/30 13:31:20] INFO | Crash saved as crashes\3.2.12_2024-11-30-13-31-19.zip +2024-11-30 13:31:20,200 - api.main - INFO - STDERR: [11/30 13:31:20] INFO | If you want to report this crash, please upload the dump file via a ticket in the #lobby channel on discord +2024-11-30 13:31:20,200 - api.main - INFO - STDERR: [11/30 13:31:20] INFO | https://discord.gg/66zWWCDM7x +2024-11-30 13:31:20,884 - api.main - INFO - STDERR: [11/30 13:31:20] INFO | List of running apps: com.qualcomm.qti.telephonyservice, com.google.android.apps.wellbeing, com.google.android.providers.media.module, com.google.android.dialer, com.qualcomm.qcrilmsgtunnel, com.android.se, com.google.android.settings.intelligence, org.thoughtcrime.securesms, com.google.android.tts, com.google.android.apps.youtube.music, com.google.android.calendar, com.google.android.apps.turbo, com.google.android.apps.nexuslauncher, com.google.android.inputmethod.latin, com.google.android.euicc, com.instagram.android, com.google.android.gms, com.google.android.apps.tachyon, com.google.android.as, com.google.android.apps.messaging, com.android.systemui, com.android.settings, com.google.android.apps.photos, com.google.android.GoogleCamera, com.android.chrome, com.android.phone, com.google.modemservice, com.google.android.youtube, com.google.android.gm, com.android.vending, com.google.android.ims, com.android.nfc, com.google.android.apps.scone, com.google.SSRestartDetector, com.google.android.apps.magazines, com.breel.wallpapers, com.google.android.apps.gcs, com.android.providers.calendar, com.github.uiautomator, com.google.android.ext.services. +2024-11-30 13:31:20,884 - api.main - INFO - STDERR: [11/30 13:31:20] INFO | - Total Crashes: OK (2/5) +2024-11-30 13:31:20,884 - api.main - INFO - STDERR: [11/30 13:31:20] INFO | Something unexpected happened. Let's try again. +2024-11-30 13:31:20,885 - api.main - INFO - STDERR: [11/30 13:31:20] INFO | Close Instagram app. +2024-11-30 13:31:21,019 - api.main - INFO - STDERR: [11/30 13:31:21] DEBUG | 5.0s sleep +2024-11-30 13:31:26,667 - api.main - INFO - STDERR: [11/30 13:31:26] DEBUG | 2.38s sleep +2024-11-30 13:31:29,055 - api.main - INFO - STDERR: [11/30 13:31:29] INFO | Open Instagram app. +2024-11-30 13:31:29,522 - api.main - INFO - STDERR: [11/30 13:31:29] DEBUG | Instagram called successfully. +2024-11-30 13:31:31,022 - api.main - INFO - STDERR: [11/30 13:31:31] INFO | Ready for botting!\U0001f92b +2024-11-30 13:31:31,022 - api.main - INFO - STDERR: [11/30 13:31:31] DEBUG | 2.99s sleep +2024-11-30 13:31:34,030 - api.main - INFO - STDERR: [11/30 13:31:34] DEBUG | Setting FastInputIME as default keyboard. +2024-11-30 13:31:34,279 - api.main - INFO - STDERR: [11/30 13:31:34] INFO | FastInputIME is the default keyboard. +2024-11-30 13:31:34,279 - api.main - INFO - STDERR: [11/30 13:31:34] DEBUG | Navigate to PROFILE +2024-11-30 13:31:35,278 - api.main - INFO - STDERR: [11/30 13:31:35] ERROR | Didn't find tab PROFILE in the tab bar... +2024-11-30 13:31:35,645 - api.main - INFO - STDERR: [11/30 13:31:35] DEBUG | Navigate to SEARCH +2024-11-30 13:31:36,354 - api.main - INFO - STDERR: [11/30 13:31:36] DEBUG | Didn't find search in the tab bar... +2024-11-30 13:31:36,355 - api.main - INFO - STDERR: [11/30 13:31:36] DEBUG | Navigate to HOME +2024-11-30 13:31:42,309 - api.main - INFO - STDERR: [11/30 13:31:42] ERROR | Didn't find tab HOME in the tab bar... +2024-11-30 13:31:42,721 - api.main - INFO - STDERR: [11/30 13:31:42] DEBUG | Navigate to Search +2024-11-30 13:31:44,103 - api.main - INFO - STDERR: [11/30 13:31:44] ERROR | Traceback (most recent call last): +2024-11-30 13:31:44,103 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 620, in get_bounds +2024-11-30 13:31:44,103 - api.main - INFO - STDERR: return self.viewV2.info["bounds"] +2024-11-30 13:31:44,103 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\decorator.py", line 232, in fun +2024-11-30 13:31:44,103 - api.main - INFO - STDERR: return caller(func, *(extras + args), **kw) +2024-11-30 13:31:44,103 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 73, in retry_decorator +2024-11-30 13:31:44,103 - api.main - INFO - STDERR: return __retry_internal(partial(f, *args, **kwargs), exceptions, tries, delay, max_delay, backoff, jitter, +2024-11-30 13:31:44,103 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 33, in __retry_internal +2024-11-30 13:31:44,103 - api.main - INFO - STDERR: return f() +2024-11-30 13:31:44,103 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_selector.py", line 130, in info +2024-11-30 13:31:44,104 - api.main - INFO - STDERR: return self.jsonrpc.objInfo(self.selector) +2024-11-30 13:31:44,104 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 480, in __call__ +2024-11-30 13:31:44,104 - api.main - INFO - STDERR: return self.server._jsonrpc_retry_call(self.method, params, +2024-11-30 13:31:44,104 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 487, in _jsonrpc_retry_call +2024-11-30 13:31:44,104 - api.main - INFO - STDERR: return self._jsonrpc_call(*args, **kwargs) +2024-11-30 13:31:44,104 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 556, in _jsonrpc_call +2024-11-30 13:31:44,104 - api.main - INFO - STDERR: raise err +2024-11-30 13:31:44,104 - api.main - INFO - STDERR: uiautomator2.exceptions.UiObjectNotFoundError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 13:31:44,104 - api.main - INFO - STDERR: During handling of the above exception, another exception occurred: +2024-11-30 13:31:44,104 - api.main - INFO - STDERR: Traceback (most recent call last): +2024-11-30 13:31:44,104 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py", line 31, in wrapper +2024-11-30 13:31:44,104 - api.main - INFO - STDERR: func(*args, **kwargs) +2024-11-30 13:31:44,104 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 109, in job +2024-11-30 13:31:44,104 - api.main - INFO - STDERR: self.handle_blogger( +2024-11-30 13:31:44,104 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 185, in handle_blogger +2024-11-30 13:31:44,105 - api.main - INFO - STDERR: handle_followers( +2024-11-30 13:31:44,105 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py", line 674, in handle_followers +2024-11-30 13:31:44,105 - api.main - INFO - STDERR: if not nav_to_blogger(device, username, current_job): +2024-11-30 13:31:44,105 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\navigation.py", line 48, in nav_to_blogger +2024-11-30 13:31:44,105 - api.main - INFO - STDERR: search_view = TabBarView(device).navigateToSearch() +2024-11-30 13:31:44,105 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 113, in navigateToSearch +2024-11-30 13:31:44,105 - api.main - INFO - STDERR: self._navigateTo(TabBarTabs.SEARCH) +2024-11-30 13:31:44,105 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 157, in _navigateTo +2024-11-30 13:31:44,105 - api.main - INFO - STDERR: home_view.navigateToSearch() +2024-11-30 13:31:44,105 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 219, in navigateToSearch +2024-11-30 13:31:44,105 - api.main - INFO - STDERR: search_btn.click() +2024-11-30 13:31:44,105 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 464, in click +2024-11-30 13:31:44,105 - api.main - INFO - STDERR: visible_bounds = self.get_bounds() +2024-11-30 13:31:44,105 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 622, in get_bounds +2024-11-30 13:31:44,105 - api.main - INFO - STDERR: raise DeviceFacade.JsonRpcError(e) +2024-11-30 13:31:44,106 - api.main - INFO - STDERR: GramAddict.core.device_facade.DeviceFacade.JsonRpcError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 13:31:44,584 - api.main - INFO - STDERR: [11/30 13:31:44] INFO | Crash saved as crashes\3.2.12_2024-11-30-13-31-44.zip +2024-11-30 13:31:44,584 - api.main - INFO - STDERR: [11/30 13:31:44] INFO | If you want to report this crash, please upload the dump file via a ticket in the #lobby channel on discord +2024-11-30 13:31:44,584 - api.main - INFO - STDERR: [11/30 13:31:44] INFO | https://discord.gg/66zWWCDM7x +2024-11-30 13:31:45,330 - api.main - INFO - STDERR: [11/30 13:31:45] INFO | List of running apps: com.qualcomm.qti.telephonyservice, com.google.android.apps.wellbeing, com.google.android.providers.media.module, com.google.android.dialer, com.qualcomm.qcrilmsgtunnel, com.android.se, com.google.android.settings.intelligence, org.thoughtcrime.securesms, com.google.android.tts, com.google.android.apps.youtube.music, com.google.android.calendar, com.google.android.apps.turbo, com.google.android.apps.nexuslauncher, com.google.android.inputmethod.latin, com.google.android.euicc, com.instagram.android, com.google.android.gms, com.google.android.apps.tachyon, com.google.android.as, com.google.android.apps.messaging, com.android.systemui, com.android.settings, com.google.android.apps.photos, com.google.android.GoogleCamera, com.android.chrome, com.android.phone, com.google.modemservice, com.google.android.youtube, com.google.android.gm, com.android.vending, com.google.android.ims, com.android.nfc, com.google.android.apps.scone, com.google.SSRestartDetector, com.google.android.apps.magazines, com.breel.wallpapers, com.google.android.apps.gcs, com.android.providers.calendar, com.github.uiautomator, com.google.android.ext.services. +2024-11-30 13:31:45,330 - api.main - INFO - STDERR: [11/30 13:31:45] INFO | - Total Crashes: OK (3/5) +2024-11-30 13:31:45,330 - api.main - INFO - STDERR: [11/30 13:31:45] INFO | Something unexpected happened. Let's try again. +2024-11-30 13:31:45,330 - api.main - INFO - STDERR: [11/30 13:31:45] INFO | Close Instagram app. +2024-11-30 13:31:45,465 - api.main - INFO - STDERR: [11/30 13:31:45] DEBUG | 5.0s sleep +2024-11-30 13:31:51,211 - api.main - INFO - STDERR: [11/30 13:31:51] DEBUG | 2.43s sleep +2024-11-30 13:31:53,654 - api.main - INFO - STDERR: [11/30 13:31:53] INFO | Open Instagram app. +2024-11-30 13:31:54,187 - api.main - INFO - STDERR: [11/30 13:31:54] DEBUG | Instagram called successfully. +2024-11-30 13:31:55,764 - api.main - INFO - STDERR: [11/30 13:31:55] INFO | Ready for botting!\U0001f92b +2024-11-30 13:31:55,765 - api.main - INFO - STDERR: [11/30 13:31:55] DEBUG | 2.97s sleep +2024-11-30 13:31:58,758 - api.main - INFO - STDERR: [11/30 13:31:58] DEBUG | Setting FastInputIME as default keyboard. +2024-11-30 13:31:59,074 - api.main - INFO - STDERR: [11/30 13:31:59] INFO | FastInputIME is the default keyboard. +2024-11-30 13:31:59,074 - api.main - INFO - STDERR: [11/30 13:31:59] DEBUG | Navigate to PROFILE +2024-11-30 13:32:00,207 - api.main - INFO - STDERR: [11/30 13:32:00] ERROR | Didn't find tab PROFILE in the tab bar... +2024-11-30 13:32:00,574 - api.main - INFO - STDERR: [11/30 13:32:00] DEBUG | Navigate to SEARCH +2024-11-30 13:32:01,242 - api.main - INFO - STDERR: [11/30 13:32:01] DEBUG | Didn't find search in the tab bar... +2024-11-30 13:32:01,242 - api.main - INFO - STDERR: [11/30 13:32:01] DEBUG | Navigate to HOME +2024-11-30 13:32:04,020 - api.main - INFO - STDERR: [11/30 13:32:04] DEBUG | Single click in (79,2794). Surface: (0-288,2649-2824) +2024-11-30 13:32:04,359 - api.main - INFO - STDERR: [11/30 13:32:04] DEBUG | 1.78s sleep +2024-11-30 13:32:06,263 - api.main - INFO - STDERR: [11/30 13:32:06] DEBUG | Single click in (113,2795). Surface: (0-288,2649-2824) +2024-11-30 13:32:06,619 - api.main - INFO - STDERR: [11/30 13:32:06] DEBUG | 1.85s sleep +2024-11-30 13:32:08,750 - api.main - INFO - STDERR: [11/30 13:32:08] DEBUG | Navigate to Search +2024-11-30 13:32:10,491 - api.main - INFO - STDERR: [11/30 13:32:10] ERROR | Traceback (most recent call last): +2024-11-30 13:32:10,491 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 620, in get_bounds +2024-11-30 13:32:10,491 - api.main - INFO - STDERR: return self.viewV2.info["bounds"] +2024-11-30 13:32:10,491 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\decorator.py", line 232, in fun +2024-11-30 13:32:10,491 - api.main - INFO - STDERR: return caller(func, *(extras + args), **kw) +2024-11-30 13:32:10,491 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 73, in retry_decorator +2024-11-30 13:32:10,492 - api.main - INFO - STDERR: return __retry_internal(partial(f, *args, **kwargs), exceptions, tries, delay, max_delay, backoff, jitter, +2024-11-30 13:32:10,492 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 33, in __retry_internal +2024-11-30 13:32:10,492 - api.main - INFO - STDERR: return f() +2024-11-30 13:32:10,492 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_selector.py", line 130, in info +2024-11-30 13:32:10,492 - api.main - INFO - STDERR: return self.jsonrpc.objInfo(self.selector) +2024-11-30 13:32:10,492 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 480, in __call__ +2024-11-30 13:32:10,492 - api.main - INFO - STDERR: return self.server._jsonrpc_retry_call(self.method, params, +2024-11-30 13:32:10,492 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 487, in _jsonrpc_retry_call +2024-11-30 13:32:10,492 - api.main - INFO - STDERR: return self._jsonrpc_call(*args, **kwargs) +2024-11-30 13:32:10,492 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 556, in _jsonrpc_call +2024-11-30 13:32:10,492 - api.main - INFO - STDERR: raise err +2024-11-30 13:32:10,492 - api.main - INFO - STDERR: uiautomator2.exceptions.UiObjectNotFoundError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 13:32:10,492 - api.main - INFO - STDERR: During handling of the above exception, another exception occurred: +2024-11-30 13:32:10,492 - api.main - INFO - STDERR: Traceback (most recent call last): +2024-11-30 13:32:10,492 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py", line 31, in wrapper +2024-11-30 13:32:10,492 - api.main - INFO - STDERR: func(*args, **kwargs) +2024-11-30 13:32:10,492 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 109, in job +2024-11-30 13:32:10,492 - api.main - INFO - STDERR: self.handle_blogger( +2024-11-30 13:32:10,492 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 185, in handle_blogger +2024-11-30 13:32:10,493 - api.main - INFO - STDERR: handle_followers( +2024-11-30 13:32:10,493 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py", line 674, in handle_followers +2024-11-30 13:32:10,493 - api.main - INFO - STDERR: if not nav_to_blogger(device, username, current_job): +2024-11-30 13:32:10,493 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\navigation.py", line 48, in nav_to_blogger +2024-11-30 13:32:10,493 - api.main - INFO - STDERR: search_view = TabBarView(device).navigateToSearch() +2024-11-30 13:32:10,493 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 113, in navigateToSearch +2024-11-30 13:32:10,493 - api.main - INFO - STDERR: self._navigateTo(TabBarTabs.SEARCH) +2024-11-30 13:32:10,493 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 157, in _navigateTo +2024-11-30 13:32:10,493 - api.main - INFO - STDERR: home_view.navigateToSearch() +2024-11-30 13:32:10,493 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 219, in navigateToSearch +2024-11-30 13:32:10,493 - api.main - INFO - STDERR: search_btn.click() +2024-11-30 13:32:10,493 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 464, in click +2024-11-30 13:32:10,493 - api.main - INFO - STDERR: visible_bounds = self.get_bounds() +2024-11-30 13:32:10,493 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 622, in get_bounds +2024-11-30 13:32:10,493 - api.main - INFO - STDERR: raise DeviceFacade.JsonRpcError(e) +2024-11-30 13:32:10,494 - api.main - INFO - STDERR: GramAddict.core.device_facade.DeviceFacade.JsonRpcError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 13:32:11,120 - api.main - INFO - STDERR: [11/30 13:32:11] INFO | Crash saved as crashes\3.2.12_2024-11-30-13-32-10.zip +2024-11-30 13:32:11,120 - api.main - INFO - STDERR: [11/30 13:32:11] INFO | If you want to report this crash, please upload the dump file via a ticket in the #lobby channel on discord +2024-11-30 13:32:11,120 - api.main - INFO - STDERR: [11/30 13:32:11] INFO | https://discord.gg/66zWWCDM7x +2024-11-30 13:32:11,826 - api.main - INFO - STDERR: [11/30 13:32:11] INFO | List of running apps: com.qualcomm.qti.telephonyservice, com.google.android.apps.wellbeing, com.google.android.providers.media.module, com.google.android.dialer, com.qualcomm.qcrilmsgtunnel, com.android.se, com.google.android.settings.intelligence, org.thoughtcrime.securesms, com.google.android.tts, com.google.android.apps.youtube.music, com.google.android.calendar, com.google.android.apps.turbo, com.google.android.apps.nexuslauncher, com.google.android.inputmethod.latin, com.google.android.euicc, com.instagram.android, com.google.android.gms, com.google.android.apps.tachyon, com.google.android.as, com.google.android.apps.messaging, com.android.systemui, com.android.settings, com.google.android.apps.photos, com.google.android.GoogleCamera, com.android.chrome, com.android.phone, com.google.modemservice, com.google.android.youtube, com.google.android.gm, com.android.vending, com.google.android.ims, com.android.nfc, com.google.android.apps.scone, com.google.SSRestartDetector, com.google.android.apps.magazines, com.breel.wallpapers, com.google.android.apps.gcs, com.android.providers.calendar, com.github.uiautomator, com.google.android.ext.services. +2024-11-30 13:32:11,826 - api.main - INFO - STDERR: [11/30 13:32:11] INFO | - Total Crashes: OK (4/5) +2024-11-30 13:32:11,826 - api.main - INFO - STDERR: [11/30 13:32:11] INFO | Something unexpected happened. Let's try again. +2024-11-30 13:32:11,826 - api.main - INFO - STDERR: [11/30 13:32:11] INFO | Close Instagram app. +2024-11-30 13:32:11,913 - api.main - INFO - STDERR: [11/30 13:32:11] DEBUG | 5.0s sleep +2024-11-30 13:32:17,645 - api.main - INFO - STDERR: [11/30 13:32:17] DEBUG | 2.21s sleep +2024-11-30 13:32:19,875 - api.main - INFO - STDERR: [11/30 13:32:19] INFO | Open Instagram app. +2024-11-30 13:32:20,255 - api.main - INFO - STDERR: [11/30 13:32:20] DEBUG | Instagram called successfully. +2024-11-30 13:32:20,771 - api.main - INFO - STDERR: [11/30 13:32:20] INFO | Ready for botting!\U0001f92b +2024-11-30 13:32:20,773 - api.main - INFO - STDERR: [11/30 13:32:20] DEBUG | 2.61s sleep +2024-11-30 13:32:23,393 - api.main - INFO - STDERR: [11/30 13:32:23] DEBUG | Setting FastInputIME as default keyboard. +2024-11-30 13:32:23,581 - api.main - INFO - STDERR: [11/30 13:32:23] INFO | FastInputIME is the default keyboard. +2024-11-30 13:32:23,581 - api.main - INFO - STDERR: [11/30 13:32:23] DEBUG | Navigate to PROFILE +2024-11-30 13:32:24,697 - api.main - INFO - STDERR: [11/30 13:32:24] DEBUG | Single click in (1361,2682). Surface: (1152-1440,2649-2824) +2024-11-30 13:32:25,433 - api.main - INFO - STDERR: [11/30 13:32:25] DEBUG | 1.25s sleep +2024-11-30 13:32:26,936 - api.main - INFO - STDERR: Error running GramAddict: App has crashed / has been closed! +2024-11-30 13:32:26,937 - api.main - INFO - STDERR: Traceback (most recent call last): +2024-11-30 13:32:26,937 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 620, in get_bounds +2024-11-30 13:32:26,937 - api.main - INFO - STDERR: return self.viewV2.info["bounds"] +2024-11-30 13:32:26,937 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\decorator.py", line 232, in fun +2024-11-30 13:32:26,937 - api.main - INFO - STDERR: return caller(func, *(extras + args), **kw) +2024-11-30 13:32:26,937 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 73, in retry_decorator +2024-11-30 13:32:26,937 - api.main - INFO - STDERR: return __retry_internal(partial(f, *args, **kwargs), exceptions, tries, delay, max_delay, backoff, jitter, +2024-11-30 13:32:26,937 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 33, in __retry_internal +2024-11-30 13:32:26,937 - api.main - INFO - STDERR: return f() +2024-11-30 13:32:26,937 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_selector.py", line 130, in info +2024-11-30 13:32:26,938 - api.main - INFO - STDERR: return self.jsonrpc.objInfo(self.selector) +2024-11-30 13:32:26,938 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 480, in __call__ +2024-11-30 13:32:26,938 - api.main - INFO - STDERR: return self.server._jsonrpc_retry_call(self.method, params, +2024-11-30 13:32:26,938 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 487, in _jsonrpc_retry_call +2024-11-30 13:32:26,938 - api.main - INFO - STDERR: return self._jsonrpc_call(*args, **kwargs) +2024-11-30 13:32:26,938 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 556, in _jsonrpc_call +2024-11-30 13:32:26,938 - api.main - INFO - STDERR: raise err +2024-11-30 13:32:26,938 - api.main - INFO - STDERR: uiautomator2.exceptions.UiObjectNotFoundError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 13:32:26,938 - api.main - INFO - STDERR: During handling of the above exception, another exception occurred: +2024-11-30 13:32:26,938 - api.main - INFO - STDERR: Traceback (most recent call last): +2024-11-30 13:32:26,938 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py", line 31, in wrapper +2024-11-30 13:32:26,939 - api.main - INFO - STDERR: func(*args, **kwargs) +2024-11-30 13:32:26,939 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 109, in job +2024-11-30 13:32:26,939 - api.main - INFO - STDERR: self.handle_blogger( +2024-11-30 13:32:26,939 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 185, in handle_blogger +2024-11-30 13:32:26,939 - api.main - INFO - STDERR: handle_followers( +2024-11-30 13:32:26,939 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py", line 674, in handle_followers +2024-11-30 13:32:26,939 - api.main - INFO - STDERR: if not nav_to_blogger(device, username, current_job): +2024-11-30 13:32:26,939 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\navigation.py", line 48, in nav_to_blogger +2024-11-30 13:32:26,939 - api.main - INFO - STDERR: search_view = TabBarView(device).navigateToSearch() +2024-11-30 13:32:26,939 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 113, in navigateToSearch +2024-11-30 13:32:26,939 - api.main - INFO - STDERR: self._navigateTo(TabBarTabs.SEARCH) +2024-11-30 13:32:26,939 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 157, in _navigateTo +2024-11-30 13:32:26,939 - api.main - INFO - STDERR: home_view.navigateToSearch() +2024-11-30 13:32:26,940 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 219, in navigateToSearch +2024-11-30 13:32:26,940 - api.main - INFO - STDERR: search_btn.click() +2024-11-30 13:32:26,940 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 464, in click +2024-11-30 13:32:26,940 - api.main - INFO - STDERR: visible_bounds = self.get_bounds() +2024-11-30 13:32:26,940 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 622, in get_bounds +2024-11-30 13:32:26,940 - api.main - INFO - STDERR: raise DeviceFacade.JsonRpcError(e) +2024-11-30 13:32:26,940 - api.main - INFO - STDERR: GramAddict.core.device_facade.DeviceFacade.JsonRpcError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 13:32:26,940 - api.main - INFO - STDERR: During handling of the above exception, another exception occurred: +2024-11-30 13:32:26,940 - api.main - INFO - STDERR: Traceback (most recent call last): +2024-11-30 13:32:26,940 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\run.py", line 14, in +2024-11-30 13:32:26,940 - api.main - INFO - STDERR: GramAddict.run() +2024-11-30 13:32:26,941 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\__init__.py", line 10, in run +2024-11-30 13:32:26,941 - api.main - INFO - STDERR: start_bot(**kwargs) +2024-11-30 13:32:26,941 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\bot_flow.py", line 329, in start_bot +2024-11-30 13:32:26,941 - api.main - INFO - STDERR: configs.actions[plugin].run( +2024-11-30 13:32:26,941 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 126, in run +2024-11-30 13:32:26,941 - api.main - INFO - STDERR: job() +2024-11-30 13:32:26,941 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py", line 80, in wrapper +2024-11-30 13:32:26,941 - api.main - INFO - STDERR: restart( +2024-11-30 13:32:26,941 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py", line 138, in restart +2024-11-30 13:32:26,941 - api.main - INFO - STDERR: TabBarView(device).navigateToProfile() +2024-11-30 13:32:26,941 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 127, in navigateToProfile +2024-11-30 13:32:26,941 - api.main - INFO - STDERR: return ProfileView(self.device, is_own_profile=True) +2024-11-30 13:32:26,941 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 1466, in __init__ +2024-11-30 13:32:26,941 - api.main - INFO - STDERR: super().__init__(device) +2024-11-30 13:32:26,941 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 200, in __init__ +2024-11-30 13:32:26,942 - api.main - INFO - STDERR: self.action_bar = self._getActionBar() +2024-11-30 13:32:26,942 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 203, in _getActionBar +2024-11-30 13:32:26,942 - api.main - INFO - STDERR: return self.device.find( +2024-11-30 13:32:26,942 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 111, in wrapper +2024-11-30 13:32:26,942 - api.main - INFO - STDERR: raise DeviceFacade.AppHasCrashed("App has crashed / has been closed!") +2024-11-30 13:32:26,942 - api.main - INFO - STDERR: GramAddict.core.device_facade.DeviceFacade.AppHasCrashed: App has crashed / has been closed! +2024-11-30 13:32:26,956 - api.main - INFO - STDERR: # clear builtins._ +2024-11-30 13:32:26,956 - api.main - INFO - STDERR: # clear sys.path +2024-11-30 13:32:26,956 - api.main - INFO - STDERR: # clear sys.argv +2024-11-30 13:32:26,956 - api.main - INFO - STDERR: # clear sys.ps1 +2024-11-30 13:32:26,956 - api.main - INFO - STDERR: # clear sys.ps2 +2024-11-30 13:32:26,957 - api.main - INFO - STDERR: # clear sys.last_type +2024-11-30 13:32:26,958 - api.main - INFO - STDERR: # clear sys.last_value +2024-11-30 13:32:26,958 - api.main - INFO - STDERR: # clear sys.last_traceback +2024-11-30 13:32:26,958 - api.main - INFO - STDERR: # clear sys.path_hooks +2024-11-30 13:32:26,958 - api.main - INFO - STDERR: # clear sys.path_importer_cache +2024-11-30 13:32:26,958 - api.main - INFO - STDERR: # clear sys.meta_path +2024-11-30 13:32:26,958 - api.main - INFO - STDERR: # clear sys.__interactivehook__ +2024-11-30 13:32:26,958 - api.main - INFO - STDERR: # restore sys.stdin +2024-11-30 13:32:26,958 - api.main - INFO - STDERR: # restore sys.stdout +2024-11-30 13:32:26,958 - api.main - INFO - STDERR: # restore sys.stderr +2024-11-30 13:32:26,958 - api.main - INFO - STDERR: # cleanup[2] removing sys +2024-11-30 13:32:26,958 - api.main - INFO - STDERR: # cleanup[2] removing builtins +2024-11-30 13:32:26,958 - api.main - INFO - STDERR: # cleanup[2] removing _frozen_importlib +2024-11-30 13:32:26,958 - api.main - INFO - STDERR: # cleanup[2] removing _imp +2024-11-30 13:32:26,958 - api.main - INFO - STDERR: # cleanup[2] removing _thread +2024-11-30 13:32:26,958 - api.main - INFO - STDERR: # cleanup[2] removing _warnings +2024-11-30 13:32:26,958 - api.main - INFO - STDERR: # cleanup[2] removing _weakref +2024-11-30 13:32:26,958 - api.main - INFO - STDERR: # cleanup[2] removing _io +2024-11-30 13:32:26,958 - api.main - INFO - STDERR: # cleanup[2] removing marshal +2024-11-30 13:32:26,958 - api.main - INFO - STDERR: # cleanup[2] removing nt +2024-11-30 13:32:26,958 - api.main - INFO - STDERR: # cleanup[2] removing winreg +2024-11-30 13:32:26,958 - api.main - INFO - STDERR: # cleanup[2] removing _frozen_importlib_external +2024-11-30 13:32:26,959 - api.main - INFO - STDERR: # cleanup[2] removing time +2024-11-30 13:32:26,959 - api.main - INFO - STDERR: # cleanup[2] removing zipimport +2024-11-30 13:32:26,959 - api.main - INFO - STDERR: # cleanup[2] removing _codecs +2024-11-30 13:32:26,959 - api.main - INFO - STDERR: # cleanup[2] removing codecs +2024-11-30 13:32:26,959 - api.main - INFO - STDERR: # cleanup[2] removing encodings.aliases +2024-11-30 13:32:26,959 - api.main - INFO - STDERR: # cleanup[2] removing encodings +2024-11-30 13:32:26,959 - api.main - INFO - STDERR: # cleanup[2] removing encodings.utf_8 +2024-11-30 13:32:26,959 - api.main - INFO - STDERR: # cleanup[2] removing encodings.cp1252 +2024-11-30 13:32:26,959 - api.main - INFO - STDERR: # cleanup[2] removing _signal +2024-11-30 13:32:26,959 - api.main - INFO - STDERR: # cleanup[2] removing encodings.latin_1 +2024-11-30 13:32:26,959 - api.main - INFO - STDERR: # cleanup[2] removing _abc +2024-11-30 13:32:26,959 - api.main - INFO - STDERR: # cleanup[2] removing abc +2024-11-30 13:32:26,959 - api.main - INFO - STDERR: # cleanup[2] removing io +2024-11-30 13:32:26,959 - api.main - INFO - STDERR: # cleanup[2] removing __main__ +2024-11-30 13:32:26,959 - api.main - INFO - STDERR: # destroy __main__ +2024-11-30 13:32:26,960 - api.main - INFO - STDERR: # cleanup[2] removing _stat +2024-11-30 13:32:26,960 - api.main - INFO - STDERR: # cleanup[2] removing stat +2024-11-30 13:32:26,960 - api.main - INFO - STDERR: # cleanup[2] removing _collections_abc +2024-11-30 13:32:26,960 - api.main - INFO - STDERR: # cleanup[2] removing genericpath +2024-11-30 13:32:26,960 - api.main - INFO - STDERR: # cleanup[2] removing ntpath +2024-11-30 13:32:26,960 - api.main - INFO - STDERR: # cleanup[2] removing os.path +2024-11-30 13:32:26,960 - api.main - INFO - STDERR: # cleanup[2] removing os +2024-11-30 13:32:26,960 - api.main - INFO - STDERR: # cleanup[2] removing _sitebuiltins +2024-11-30 13:32:26,960 - api.main - INFO - STDERR: # cleanup[2] removing _locale +2024-11-30 13:32:26,960 - api.main - INFO - STDERR: # cleanup[2] removing _bootlocale +2024-11-30 13:32:26,960 - api.main - INFO - STDERR: # destroy _bootlocale +2024-11-30 13:32:26,960 - api.main - INFO - STDERR: # cleanup[2] removing _distutils_hack +2024-11-30 13:32:26,960 - api.main - INFO - STDERR: # destroy _distutils_hack +2024-11-30 13:32:26,960 - api.main - INFO - STDERR: # cleanup[2] removing site +2024-11-30 13:32:26,960 - api.main - INFO - STDERR: # destroy site +2024-11-30 13:32:26,961 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core +2024-11-30 13:32:26,961 - api.main - INFO - STDERR: # cleanup[2] removing types +2024-11-30 13:32:26,961 - api.main - INFO - STDERR: # cleanup[2] removing enum +2024-11-30 13:32:26,961 - api.main - INFO - STDERR: # cleanup[2] removing _sre +2024-11-30 13:32:26,961 - api.main - INFO - STDERR: # cleanup[2] removing sre_constants +2024-11-30 13:32:26,961 - api.main - INFO - STDERR: # destroy sre_constants +2024-11-30 13:32:26,961 - api.main - INFO - STDERR: # cleanup[2] removing sre_parse +2024-11-30 13:32:26,961 - api.main - INFO - STDERR: # cleanup[2] removing sre_compile +2024-11-30 13:32:26,961 - api.main - INFO - STDERR: # cleanup[2] removing _heapq +2024-11-30 13:32:26,961 - api.main - INFO - STDERR: # cleanup[2] removing heapq +2024-11-30 13:32:26,961 - api.main - INFO - STDERR: # cleanup[2] removing itertools +2024-11-30 13:32:26,961 - api.main - INFO - STDERR: # cleanup[2] removing keyword +2024-11-30 13:32:26,961 - api.main - INFO - STDERR: # cleanup[2] removing _operator +2024-11-30 13:32:26,961 - api.main - INFO - STDERR: # cleanup[2] removing operator +2024-11-30 13:32:26,961 - api.main - INFO - STDERR: # cleanup[2] removing reprlib +2024-11-30 13:32:26,961 - api.main - INFO - STDERR: # cleanup[2] removing _collections +2024-11-30 13:32:26,961 - api.main - INFO - STDERR: # cleanup[2] removing collections +2024-11-30 13:32:26,961 - api.main - INFO - STDERR: # cleanup[2] removing _functools +2024-11-30 13:32:26,961 - api.main - INFO - STDERR: # cleanup[2] removing functools +2024-11-30 13:32:26,961 - api.main - INFO - STDERR: # cleanup[2] removing copyreg +2024-11-30 13:32:26,961 - api.main - INFO - STDERR: # cleanup[2] removing re +2024-11-30 13:32:26,961 - api.main - INFO - STDERR: # cleanup[2] removing token +2024-11-30 13:32:26,961 - api.main - INFO - STDERR: # cleanup[2] removing tokenize +2024-11-30 13:32:26,961 - api.main - INFO - STDERR: # cleanup[2] removing linecache +2024-11-30 13:32:26,963 - api.main - INFO - STDERR: # cleanup[2] removing traceback +2024-11-30 13:32:26,963 - api.main - INFO - STDERR: # cleanup[2] removing warnings +2024-11-30 13:32:26,963 - api.main - INFO - STDERR: # cleanup[2] removing _weakrefset +2024-11-30 13:32:26,963 - api.main - INFO - STDERR: # destroy _weakrefset +2024-11-30 13:32:26,963 - api.main - INFO - STDERR: # cleanup[2] removing weakref +2024-11-30 13:32:26,963 - api.main - INFO - STDERR: # cleanup[2] removing collections.abc +2024-11-30 13:32:26,963 - api.main - INFO - STDERR: # cleanup[2] removing _string +2024-11-30 13:32:26,963 - api.main - INFO - STDERR: # cleanup[2] removing string +2024-11-30 13:32:26,963 - api.main - INFO - STDERR: # cleanup[2] removing threading +2024-11-30 13:32:26,963 - api.main - INFO - STDERR: # cleanup[2] removing atexit +2024-11-30 13:32:26,963 - api.main - INFO - STDERR: # cleanup[2] removing logging +2024-11-30 13:32:26,963 - api.main - INFO - STDERR: # cleanup[2] removing math +2024-11-30 13:32:26,963 - api.main - INFO - STDERR: # cleanup[2] removing _bisect +2024-11-30 13:32:26,963 - api.main - INFO - STDERR: # cleanup[2] removing bisect +2024-11-30 13:32:26,963 - api.main - INFO - STDERR: # cleanup[2] removing _random +2024-11-30 13:32:26,964 - api.main - INFO - STDERR: # cleanup[2] removing _sha512 +2024-11-30 13:32:26,964 - api.main - INFO - STDERR: # cleanup[2] removing random +2024-11-30 13:32:26,964 - api.main - INFO - STDERR: # cleanup[2] removing _datetime +2024-11-30 13:32:26,964 - api.main - INFO - STDERR: # cleanup[2] removing datetime +2024-11-30 13:32:26,964 - api.main - INFO - STDERR: # cleanup[2] removing contextlib +2024-11-30 13:32:26,964 - api.main - INFO - STDERR: # cleanup[2] removing colorama.ansi +2024-11-30 13:32:26,964 - api.main - INFO - STDERR: # cleanup[2] removing _ctypes +2024-11-30 13:32:26,964 - api.main - INFO - STDERR: # cleanup[2] removing _struct +2024-11-30 13:32:26,964 - api.main - INFO - STDERR: # cleanup[2] removing struct +2024-11-30 13:32:26,964 - api.main - INFO - STDERR: # cleanup[2] removing ctypes._endian +2024-11-30 13:32:26,964 - api.main - INFO - STDERR: # cleanup[2] removing ctypes +2024-11-30 13:32:26,964 - api.main - INFO - STDERR: # cleanup[2] removing ctypes.wintypes +2024-11-30 13:32:26,964 - api.main - INFO - STDERR: # cleanup[2] removing colorama.win32 +2024-11-30 13:32:26,964 - api.main - INFO - STDERR: # cleanup[2] removing colorama.winterm +2024-11-30 13:32:26,964 - api.main - INFO - STDERR: # cleanup[2] removing colorama.ansitowin32 +2024-11-30 13:32:26,965 - api.main - INFO - STDERR: # cleanup[2] removing colorama.initialise +2024-11-30 13:32:26,965 - api.main - INFO - STDERR: # cleanup[2] removing colorama +2024-11-30 13:32:26,965 - api.main - INFO - STDERR: # destroy colorama +2024-11-30 13:32:26,965 - api.main - INFO - STDERR: # destroy colorama.ansi +2024-11-30 13:32:26,965 - api.main - INFO - STDERR: # destroy colorama.winterm +2024-11-30 13:32:26,965 - api.main - INFO - STDERR: # destroy colorama.ansitowin32 +2024-11-30 13:32:26,965 - api.main - INFO - STDERR: # destroy colorama.initialise +2024-11-30 13:32:26,965 - api.main - INFO - STDERR: # cleanup[2] removing typing +2024-11-30 13:32:26,965 - api.main - INFO - STDERR: # cleanup[2] removing gettext +2024-11-30 13:32:26,965 - api.main - INFO - STDERR: # destroy gettext +2024-11-30 13:32:26,965 - api.main - INFO - STDERR: # cleanup[2] removing argparse +2024-11-30 13:32:26,965 - api.main - INFO - STDERR: # cleanup[2] removing _json +2024-11-30 13:32:26,965 - api.main - INFO - STDERR: # cleanup[2] removing json.scanner +2024-11-30 13:32:26,965 - api.main - INFO - STDERR: # cleanup[2] removing json.decoder +2024-11-30 13:32:26,965 - api.main - INFO - STDERR: # cleanup[2] removing json.encoder +2024-11-30 13:32:26,965 - api.main - INFO - STDERR: # cleanup[2] removing json +2024-11-30 13:32:26,965 - api.main - INFO - STDERR: # cleanup[2] removing posixpath +2024-11-30 13:32:26,965 - api.main - INFO - STDERR: # cleanup[2] removing fnmatch +2024-11-30 13:32:26,965 - api.main - INFO - STDERR: # cleanup[2] removing glob +2024-11-30 13:32:26,965 - api.main - INFO - STDERR: # cleanup[2] removing textwrap +2024-11-30 13:32:26,965 - api.main - INFO - STDERR: # cleanup[2] removing configargparse +2024-11-30 13:32:26,965 - api.main - INFO - STDERR: # cleanup[2] removing yaml.error +2024-11-30 13:32:26,965 - api.main - INFO - STDERR: # cleanup[2] removing yaml.tokens +2024-11-30 13:32:26,965 - api.main - INFO - STDERR: # cleanup[2] removing yaml.events +2024-11-30 13:32:26,965 - api.main - INFO - STDERR: # cleanup[2] removing yaml.nodes +2024-11-30 13:32:26,966 - api.main - INFO - STDERR: # cleanup[2] removing yaml.reader +2024-11-30 13:32:26,966 - api.main - INFO - STDERR: # cleanup[2] removing yaml.scanner +2024-11-30 13:32:26,966 - api.main - INFO - STDERR: # cleanup[2] removing yaml.parser +2024-11-30 13:32:26,966 - api.main - INFO - STDERR: # cleanup[2] removing yaml.composer +2024-11-30 13:32:26,966 - api.main - INFO - STDERR: # cleanup[2] removing binascii +2024-11-30 13:32:26,966 - api.main - INFO - STDERR: # cleanup[2] removing base64 +2024-11-30 13:32:26,966 - api.main - INFO - STDERR: # cleanup[2] removing yaml.constructor +2024-11-30 13:32:26,966 - api.main - INFO - STDERR: # cleanup[2] removing yaml.resolver +2024-11-30 13:32:26,966 - api.main - INFO - STDERR: # cleanup[2] removing yaml.loader +2024-11-30 13:32:26,966 - api.main - INFO - STDERR: # cleanup[2] removing yaml.emitter +2024-11-30 13:32:26,966 - api.main - INFO - STDERR: # cleanup[2] removing yaml.serializer +2024-11-30 13:32:26,966 - api.main - INFO - STDERR: # cleanup[2] removing yaml.representer +2024-11-30 13:32:26,966 - api.main - INFO - STDERR: # cleanup[2] removing yaml.dumper +2024-11-30 13:32:26,966 - api.main - INFO - STDERR: # cleanup[2] removing cython_runtime +2024-11-30 13:32:26,967 - api.main - INFO - STDERR: # cleanup[2] removing yaml._yaml +2024-11-30 13:32:26,967 - api.main - INFO - STDERR: # cleanup[2] removing yaml.cyaml +2024-11-30 13:32:26,967 - api.main - INFO - STDERR: # cleanup[2] removing yaml +2024-11-30 13:32:26,967 - api.main - INFO - STDERR: # cleanup[2] removing _ast +2024-11-30 13:32:26,967 - api.main - INFO - STDERR: # destroy _ast +2024-11-30 13:32:26,967 - api.main - INFO - STDERR: # cleanup[2] removing ast +2024-11-30 13:32:26,967 - api.main - INFO - STDERR: # cleanup[2] removing _opcode +2024-11-30 13:32:26,967 - api.main - INFO - STDERR: # cleanup[2] removing opcode +2024-11-30 13:32:26,967 - api.main - INFO - STDERR: # destroy opcode +2024-11-30 13:32:26,967 - api.main - INFO - STDERR: # cleanup[2] removing dis +2024-11-30 13:32:26,967 - api.main - INFO - STDERR: # cleanup[2] removing importlib._bootstrap +2024-11-30 13:32:26,967 - api.main - INFO - STDERR: # cleanup[2] removing importlib._bootstrap_external +2024-11-30 13:32:26,967 - api.main - INFO - STDERR: # cleanup[2] removing importlib +2024-11-30 13:32:26,967 - api.main - INFO - STDERR: # cleanup[2] removing importlib.machinery +2024-11-30 13:32:26,967 - api.main - INFO - STDERR: # cleanup[2] removing inspect +2024-11-30 13:32:26,967 - api.main - INFO - STDERR: # cleanup[2] removing importlib.abc +2024-11-30 13:32:26,968 - api.main - INFO - STDERR: # cleanup[2] removing importlib.util +2024-11-30 13:32:26,968 - api.main - INFO - STDERR: # cleanup[2] removing pkgutil +2024-11-30 13:32:26,968 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.plugin_loader +2024-11-30 13:32:26,968 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.config +2024-11-30 13:32:26,968 - api.main - INFO - STDERR: # cleanup[2] removing errno +2024-11-30 13:32:26,968 - api.main - INFO - STDERR: # cleanup[2] removing signal +2024-11-30 13:32:26,969 - api.main - INFO - STDERR: # cleanup[2] removing msvcrt +2024-11-30 13:32:26,969 - api.main - INFO - STDERR: # cleanup[2] removing _winapi +2024-11-30 13:32:26,969 - api.main - INFO - STDERR: # cleanup[2] removing subprocess +2024-11-30 13:32:26,969 - api.main - INFO - STDERR: # cleanup[2] removing __future__ +2024-11-30 13:32:26,969 - api.main - INFO - STDERR: # destroy __future__ +2024-11-30 13:32:26,969 - api.main - INFO - STDERR: # cleanup[2] removing _hashlib +2024-11-30 13:32:26,969 - api.main - INFO - STDERR: # cleanup[2] removing _blake2 +2024-11-30 13:32:26,969 - api.main - INFO - STDERR: # cleanup[2] removing hashlib +2024-11-30 13:32:26,969 - api.main - INFO - STDERR: # cleanup[2] removing zlib +2024-11-30 13:32:26,969 - api.main - INFO - STDERR: # cleanup[2] removing _compression +2024-11-30 13:32:26,969 - api.main - INFO - STDERR: # cleanup[2] removing _bz2 +2024-11-30 13:32:26,969 - api.main - INFO - STDERR: # destroy _bz2 +2024-11-30 13:32:26,969 - api.main - INFO - STDERR: # cleanup[2] removing bz2 +2024-11-30 13:32:26,969 - api.main - INFO - STDERR: # cleanup[2] removing _lzma +2024-11-30 13:32:26,969 - api.main - INFO - STDERR: # cleanup[2] removing lzma +2024-11-30 13:32:26,969 - api.main - INFO - STDERR: # cleanup[2] removing shutil +2024-11-30 13:32:26,970 - api.main - INFO - STDERR: # cleanup[2] removing xml +2024-11-30 13:32:26,970 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.domreg +2024-11-30 13:32:26,970 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom +2024-11-30 13:32:26,970 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.minicompat +2024-11-30 13:32:26,970 - api.main - INFO - STDERR: # cleanup[2] removing copy +2024-11-30 13:32:26,970 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.NodeFilter +2024-11-30 13:32:26,970 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.xmlbuilder +2024-11-30 13:32:26,970 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.minidom +2024-11-30 13:32:26,970 - api.main - INFO - STDERR: # cleanup[2] removing urllib +2024-11-30 13:32:26,970 - api.main - INFO - STDERR: # cleanup[2] removing urllib.parse +2024-11-30 13:32:26,970 - api.main - INFO - STDERR: # cleanup[2] removing pathlib +2024-11-30 13:32:26,970 - api.main - INFO - STDERR: # cleanup[2] removing packaging.__about__ +2024-11-30 13:32:26,970 - api.main - INFO - STDERR: # cleanup[2] removing packaging +2024-11-30 13:32:26,970 - api.main - INFO - STDERR: # cleanup[2] removing packaging._structures +2024-11-30 13:32:26,970 - api.main - INFO - STDERR: # cleanup[2] removing packaging._typing +2024-11-30 13:32:26,970 - api.main - INFO - STDERR: # cleanup[2] removing packaging.version +2024-11-30 13:32:26,970 - api.main - INFO - STDERR: # cleanup[2] removing deprecation +2024-11-30 13:32:26,970 - api.main - INFO - STDERR: # destroy deprecation +2024-11-30 13:32:26,971 - api.main - INFO - STDERR: # cleanup[2] removing _socket +2024-11-30 13:32:26,971 - api.main - INFO - STDERR: # cleanup[2] removing select +2024-11-30 13:32:26,971 - api.main - INFO - STDERR: # cleanup[2] removing selectors +2024-11-30 13:32:26,971 - api.main - INFO - STDERR: # cleanup[2] removing socket +2024-11-30 13:32:26,971 - api.main - INFO - STDERR: # cleanup[2] removing shlex +2024-11-30 13:32:26,971 - api.main - INFO - STDERR: # cleanup[2] removing tempfile +2024-11-30 13:32:26,971 - api.main - INFO - STDERR: # cleanup[2] removing zipfile +2024-11-30 13:32:26,971 - api.main - INFO - STDERR: # cleanup[2] removing whichcraft +2024-11-30 13:32:26,971 - api.main - INFO - STDERR: # cleanup[2] removing xml.parsers +2024-11-30 13:32:26,971 - api.main - INFO - STDERR: # cleanup[2] removing pyexpat.errors +2024-11-30 13:32:26,971 - api.main - INFO - STDERR: # cleanup[2] removing pyexpat.model +2024-11-30 13:32:26,971 - api.main - INFO - STDERR: # cleanup[2] removing pyexpat +2024-11-30 13:32:26,971 - api.main - INFO - STDERR: # cleanup[2] removing xml.parsers.expat.model +2024-11-30 13:32:26,971 - api.main - INFO - STDERR: # cleanup[2] removing xml.parsers.expat.errors +2024-11-30 13:32:26,971 - api.main - INFO - STDERR: # cleanup[2] removing xml.parsers.expat +2024-11-30 13:32:26,971 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax.handler +2024-11-30 13:32:26,971 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax._exceptions +2024-11-30 13:32:26,971 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax.xmlreader +2024-11-30 13:32:26,971 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax +2024-11-30 13:32:26,971 - api.main - INFO - STDERR: # cleanup[2] removing email +2024-11-30 13:32:26,971 - api.main - INFO - STDERR: # cleanup[2] removing http +2024-11-30 13:32:26,971 - api.main - INFO - STDERR: # cleanup[2] removing email.errors +2024-11-30 13:32:26,971 - api.main - INFO - STDERR: # cleanup[2] removing email.quoprimime +2024-11-30 13:32:26,971 - api.main - INFO - STDERR: # cleanup[2] removing email.base64mime +2024-11-30 13:32:26,973 - api.main - INFO - STDERR: # cleanup[2] removing quopri +2024-11-30 13:32:26,973 - api.main - INFO - STDERR: # cleanup[2] removing email.encoders +2024-11-30 13:32:26,973 - api.main - INFO - STDERR: # cleanup[2] removing email.charset +2024-11-30 13:32:26,973 - api.main - INFO - STDERR: # cleanup[2] removing email.header +2024-11-30 13:32:26,973 - api.main - INFO - STDERR: # cleanup[2] removing locale +2024-11-30 13:32:26,973 - api.main - INFO - STDERR: # cleanup[2] removing calendar +2024-11-30 13:32:26,973 - api.main - INFO - STDERR: # cleanup[2] removing email._parseaddr +2024-11-30 13:32:26,973 - api.main - INFO - STDERR: # cleanup[2] removing email.utils +2024-11-30 13:32:26,973 - api.main - INFO - STDERR: # cleanup[2] removing email._policybase +2024-11-30 13:32:26,973 - api.main - INFO - STDERR: # cleanup[2] removing email.feedparser +2024-11-30 13:32:26,973 - api.main - INFO - STDERR: # cleanup[2] removing email.parser +2024-11-30 13:32:26,973 - api.main - INFO - STDERR: # cleanup[2] removing uu +2024-11-30 13:32:26,973 - api.main - INFO - STDERR: # cleanup[2] removing email._encoded_words +2024-11-30 13:32:26,973 - api.main - INFO - STDERR: # cleanup[2] removing email.iterators +2024-11-30 13:32:26,973 - api.main - INFO - STDERR: # cleanup[2] removing email.message +2024-11-30 13:32:26,974 - api.main - INFO - STDERR: # cleanup[2] removing _ssl +2024-11-30 13:32:26,974 - api.main - INFO - STDERR: # cleanup[2] removing ssl +2024-11-30 13:32:26,974 - api.main - INFO - STDERR: # cleanup[2] removing http.client +2024-11-30 13:32:26,974 - api.main - INFO - STDERR: # cleanup[2] removing urllib.response +2024-11-30 13:32:26,974 - api.main - INFO - STDERR: # cleanup[2] removing urllib.error +2024-11-30 13:32:26,974 - api.main - INFO - STDERR: # cleanup[2] removing nturl2path +2024-11-30 13:32:26,974 - api.main - INFO - STDERR: # destroy nturl2path +2024-11-30 13:32:26,974 - api.main - INFO - STDERR: # cleanup[2] removing urllib.request +2024-11-30 13:32:26,974 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax.saxutils +2024-11-30 13:32:26,974 - api.main - INFO - STDERR: # cleanup[2] removing platform +2024-11-30 13:32:26,974 - api.main - INFO - STDERR: # cleanup[2] removing xmltodict +2024-11-30 13:32:26,974 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.apkfile +2024-11-30 13:32:26,974 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml +2024-11-30 13:32:26,974 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml.chunk +2024-11-30 13:32:26,974 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml.arscparser +2024-11-30 13:32:26,975 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml.public +2024-11-30 13:32:26,975 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml.axmlparser +2024-11-30 13:32:26,975 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex +2024-11-30 13:32:26,975 - api.main - INFO - STDERR: # cleanup[2] removing array +2024-11-30 13:32:26,975 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.util +2024-11-30 13:32:26,975 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.byteio +2024-11-30 13:32:26,975 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.dalvikformats +2024-11-30 13:32:26,975 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.dalvik +2024-11-30 13:32:26,975 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.dexparser +2024-11-30 13:32:26,975 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.manifest +2024-11-30 13:32:26,975 - api.main - INFO - STDERR: # cleanup[2] removing cigam +2024-11-30 13:32:26,975 - api.main - INFO - STDERR: # destroy cigam +2024-11-30 13:32:26,975 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2 +2024-11-30 13:32:26,975 - api.main - INFO - STDERR: # cleanup[2] removing plistlib +2024-11-30 13:32:26,976 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.util +2024-11-30 13:32:26,976 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.unicode +2024-11-30 13:32:26,976 - api.main - INFO - STDERR: # destroy pyparsing.unicode +2024-11-30 13:32:26,976 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.exceptions +2024-11-30 13:32:26,976 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.actions +2024-11-30 13:32:26,976 - api.main - INFO - STDERR: # cleanup[2] removing pprint +2024-11-30 13:32:26,976 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.results +2024-11-30 13:32:26,976 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.core +2024-11-30 13:32:26,976 - api.main - INFO - STDERR: # cleanup[2] removing html.entities +2024-11-30 13:32:26,976 - api.main - INFO - STDERR: # cleanup[2] removing html +2024-11-30 13:32:26,976 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.helpers +2024-11-30 13:32:26,976 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.testing +2024-11-30 13:32:26,976 - api.main - INFO - STDERR: # destroy pyparsing.testing +2024-11-30 13:32:26,976 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.common +2024-11-30 13:32:26,976 - api.main - INFO - STDERR: # destroy pyparsing.common +2024-11-30 13:32:26,977 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing +2024-11-30 13:32:26,977 - api.main - INFO - STDERR: # destroy pyparsing +2024-11-30 13:32:26,977 - api.main - INFO - STDERR: # cleanup[2] removing packaging._compat +2024-11-30 13:32:26,977 - api.main - INFO - STDERR: # cleanup[2] removing setuptools._distutils +2024-11-30 13:32:26,977 - api.main - INFO - STDERR: # cleanup[2] removing jaraco +2024-11-30 13:32:26,977 - api.main - INFO - STDERR: # destroy jaraco +2024-11-30 13:32:26,977 - api.main - INFO - STDERR: # cleanup[2] removing _queue +2024-11-30 13:32:26,977 - api.main - INFO - STDERR: # cleanup[2] removing queue +2024-11-30 13:32:26,977 - api.main - INFO - STDERR: # cleanup[2] removing more_itertools.recipes +2024-11-30 13:32:26,977 - api.main - INFO - STDERR: # cleanup[2] removing more_itertools.more +2024-11-30 13:32:26,977 - api.main - INFO - STDERR: # cleanup[2] removing more_itertools +2024-11-30 13:32:26,977 - api.main - INFO - STDERR: # cleanup[2] removing jaraco.functools +2024-11-30 13:32:26,977 - api.main - INFO - STDERR: # destroy jaraco.functools +2024-11-30 13:32:26,977 - api.main - INFO - STDERR: # cleanup[2] removing distutils.compat.py38 +2024-11-30 13:32:26,977 - api.main - INFO - STDERR: # cleanup[2] removing distutils.compat +2024-11-30 13:32:26,977 - api.main - INFO - STDERR: # cleanup[2] removing distutils.compat.py39 +2024-11-30 13:32:26,977 - api.main - INFO - STDERR: # cleanup[2] removing distutils.errors +2024-11-30 13:32:26,978 - api.main - INFO - STDERR: # cleanup[2] removing distutils._modified +2024-11-30 13:32:26,978 - api.main - INFO - STDERR: # cleanup[2] removing distutils._log +2024-11-30 13:32:26,978 - api.main - INFO - STDERR: # cleanup[2] removing distutils.file_util +2024-11-30 13:32:26,978 - api.main - INFO - STDERR: # cleanup[2] removing distutils.dir_util +2024-11-30 13:32:26,978 - api.main - INFO - STDERR: # cleanup[2] removing distutils.debug +2024-11-30 13:32:26,978 - api.main - INFO - STDERR: # cleanup[2] removing distutils.spawn +2024-11-30 13:32:26,978 - api.main - INFO - STDERR: # cleanup[2] removing distutils.archive_util +2024-11-30 13:32:26,978 - api.main - INFO - STDERR: # cleanup[2] removing sysconfig +2024-11-30 13:32:26,978 - api.main - INFO - STDERR: # cleanup[2] removing distutils.util +2024-11-30 13:32:26,978 - api.main - INFO - STDERR: # cleanup[2] removing distutils.cmd +2024-11-30 13:32:26,978 - api.main - INFO - STDERR: # cleanup[2] removing distutils +2024-11-30 13:32:26,978 - api.main - INFO - STDERR: # cleanup[2] removing packaging.tags +2024-11-30 13:32:26,978 - api.main - INFO - STDERR: # cleanup[2] removing packaging.utils +2024-11-30 13:32:26,978 - api.main - INFO - STDERR: # cleanup[2] removing packaging.specifiers +2024-11-30 13:32:26,979 - api.main - INFO - STDERR: # cleanup[2] removing packaging.markers +2024-11-30 13:32:26,979 - api.main - INFO - STDERR: # cleanup[2] removing packaging.requirements +2024-11-30 13:32:26,979 - api.main - INFO - STDERR: # cleanup[2] removing importlib._common +2024-11-30 13:32:26,979 - api.main - INFO - STDERR: # cleanup[2] removing importlib.resources +2024-11-30 13:32:26,979 - api.main - INFO - STDERR: # cleanup[2] removing backports +2024-11-30 13:32:26,979 - api.main - INFO - STDERR: # destroy backports +2024-11-30 13:32:26,979 - api.main - INFO - STDERR: # cleanup[2] removing backports.tarfile.compat +2024-11-30 13:32:26,979 - api.main - INFO - STDERR: # cleanup[2] removing backports.tarfile.compat.py38 +2024-11-30 13:32:26,979 - api.main - INFO - STDERR: # cleanup[2] removing backports.tarfile +2024-11-30 13:32:26,979 - api.main - INFO - STDERR: # cleanup[2] removing jaraco.context +2024-11-30 13:32:26,979 - api.main - INFO - STDERR: # destroy jaraco.context +2024-11-30 13:32:26,979 - api.main - INFO - STDERR: # cleanup[2] removing jaraco.text +2024-11-30 13:32:26,979 - api.main - INFO - STDERR: # destroy jaraco.text +2024-11-30 13:32:26,979 - api.main - INFO - STDERR: # cleanup[2] removing platformdirs.api +2024-11-30 13:32:26,979 - api.main - INFO - STDERR: # cleanup[2] removing platformdirs.version +2024-11-30 13:32:26,979 - api.main - INFO - STDERR: # cleanup[2] removing platformdirs.windows +2024-11-30 13:32:26,980 - api.main - INFO - STDERR: # cleanup[2] removing platformdirs +2024-11-30 13:32:26,980 - api.main - INFO - STDERR: # destroy platformdirs +2024-11-30 13:32:26,980 - api.main - INFO - STDERR: # cleanup[2] removing pkg_resources +2024-11-30 13:32:26,980 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._utils +2024-11-30 13:32:26,980 - api.main - INFO - STDERR: # cleanup[2] removing adbutils.errors +2024-11-30 13:32:26,980 - api.main - INFO - STDERR: # cleanup[2] removing dataclasses +2024-11-30 13:32:26,980 - api.main - INFO - STDERR: # destroy dataclasses +2024-11-30 13:32:26,980 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._proto +2024-11-30 13:32:26,980 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._version +2024-11-30 13:32:26,980 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._adb +2024-11-30 13:32:26,980 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages +2024-11-30 13:32:26,980 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six +2024-11-30 13:32:26,980 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six.moves +2024-11-30 13:32:26,980 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six.moves.http_client +2024-11-30 13:32:26,980 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.exceptions +2024-11-30 13:32:26,980 - api.main - INFO - STDERR: # cleanup[2] removing urllib3._version +2024-11-30 13:32:26,980 - api.main - INFO - STDERR: # cleanup[2] removing urllib3._collections +2024-11-30 13:32:26,980 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.contrib +2024-11-30 13:32:26,980 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.contrib._appengine_environ +2024-11-30 13:32:26,980 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.wait +2024-11-30 13:32:26,980 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.connection +2024-11-30 13:32:26,980 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.request +2024-11-30 13:32:26,980 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.response +2024-11-30 13:32:26,981 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.retry +2024-11-30 13:32:26,981 - api.main - INFO - STDERR: # cleanup[2] removing hmac +2024-11-30 13:32:26,981 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.url +2024-11-30 13:32:26,981 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.ssltransport +2024-11-30 13:32:26,981 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.ssl_ +2024-11-30 13:32:26,981 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.timeout +2024-11-30 13:32:26,981 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util +2024-11-30 13:32:26,981 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.proxy +2024-11-30 13:32:26,982 - api.main - INFO - STDERR: # cleanup[2] removing ipaddress +2024-11-30 13:32:26,982 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.ssl_match_hostname +2024-11-30 13:32:26,982 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.connection +2024-11-30 13:32:26,982 - api.main - INFO - STDERR: # cleanup[2] removing mimetypes +2024-11-30 13:32:26,982 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.fields +2024-11-30 13:32:26,982 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.filepost +2024-11-30 13:32:26,982 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six.moves.urllib +2024-11-30 13:32:26,982 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six.moves.urllib.parse +2024-11-30 13:32:26,982 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.request +2024-11-30 13:32:26,982 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.response +2024-11-30 13:32:26,982 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.queue +2024-11-30 13:32:26,982 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.connectionpool +2024-11-30 13:32:26,982 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.poolmanager +2024-11-30 13:32:26,982 - api.main - INFO - STDERR: # cleanup[2] removing urllib3 +2024-11-30 13:32:26,983 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.constant +2024-11-30 13:32:26,983 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.md__mypyc +2024-11-30 13:32:26,983 - api.main - INFO - STDERR: # cleanup[2] removing unicodedata +2024-11-30 13:32:26,983 - api.main - INFO - STDERR: # cleanup[2] removing _multibytecodec +2024-11-30 13:32:26,983 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.utils +2024-11-30 13:32:26,983 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.md +2024-11-30 13:32:26,983 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.models +2024-11-30 13:32:26,983 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.cd +2024-11-30 13:32:26,983 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.api +2024-11-30 13:32:26,983 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.legacy +2024-11-30 13:32:26,983 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.version +2024-11-30 13:32:26,983 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer +2024-11-30 13:32:26,983 - api.main - INFO - STDERR: # cleanup[2] removing http.cookiejar +2024-11-30 13:32:26,983 - api.main - INFO - STDERR: # cleanup[2] removing http.cookies +2024-11-30 13:32:26,983 - api.main - INFO - STDERR: # cleanup[2] removing requests.compat +2024-11-30 13:32:26,983 - api.main - INFO - STDERR: # cleanup[2] removing requests.exceptions +2024-11-30 13:32:26,983 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages +2024-11-30 13:32:26,983 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six +2024-11-30 13:32:26,983 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six.moves +2024-11-30 13:32:26,983 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six.moves.http_client +2024-11-30 13:32:26,983 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.exceptions +2024-11-30 13:32:26,983 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3._version +2024-11-30 13:32:26,983 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3._collections +2024-11-30 13:32:26,984 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.contrib +2024-11-30 13:32:26,984 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.contrib._appengine_environ +2024-11-30 13:32:26,984 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.wait +2024-11-30 13:32:26,984 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.connection +2024-11-30 13:32:26,984 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.request +2024-11-30 13:32:26,984 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.response +2024-11-30 13:32:26,984 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.retry +2024-11-30 13:32:26,984 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.url +2024-11-30 13:32:26,984 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.ssltransport +2024-11-30 13:32:26,984 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.ssl_ +2024-11-30 13:32:26,984 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.timeout +2024-11-30 13:32:26,984 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util +2024-11-30 13:32:26,984 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.proxy +2024-11-30 13:32:26,984 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.ssl_match_hostname +2024-11-30 13:32:26,984 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.connection +2024-11-30 13:32:26,984 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.fields +2024-11-30 13:32:26,984 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.filepost +2024-11-30 13:32:26,985 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six.moves.urllib +2024-11-30 13:32:26,985 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six.moves.urllib.parse +2024-11-30 13:32:26,985 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.request +2024-11-30 13:32:26,985 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.response +2024-11-30 13:32:26,985 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.queue +2024-11-30 13:32:26,985 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.connectionpool +2024-11-30 13:32:26,985 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.poolmanager +2024-11-30 13:32:26,985 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3 +2024-11-30 13:32:26,985 - api.main - INFO - STDERR: # cleanup[2] removing idna.idnadata +2024-11-30 13:32:26,985 - api.main - INFO - STDERR: # cleanup[2] removing idna.intranges +2024-11-30 13:32:26,985 - api.main - INFO - STDERR: # cleanup[2] removing idna.core +2024-11-30 13:32:26,985 - api.main - INFO - STDERR: # cleanup[2] removing idna.package_data +2024-11-30 13:32:26,985 - api.main - INFO - STDERR: # cleanup[2] removing idna +2024-11-30 13:32:26,985 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna.idnadata +2024-11-30 13:32:26,985 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna.intranges +2024-11-30 13:32:26,985 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna.core +2024-11-30 13:32:26,986 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna.package_data +2024-11-30 13:32:26,986 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna +2024-11-30 13:32:26,986 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.chardet +2024-11-30 13:32:26,986 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages +2024-11-30 13:32:26,986 - api.main - INFO - STDERR: # cleanup[2] removing certifi.core +2024-11-30 13:32:26,986 - api.main - INFO - STDERR: # cleanup[2] removing certifi +2024-11-30 13:32:26,986 - api.main - INFO - STDERR: # destroy certifi +2024-11-30 13:32:26,986 - api.main - INFO - STDERR: # destroy certifi.core +2024-11-30 13:32:26,986 - api.main - INFO - STDERR: # cleanup[2] removing requests.certs +2024-11-30 13:32:26,986 - api.main - INFO - STDERR: # cleanup[2] removing requests.__version__ +2024-11-30 13:32:26,986 - api.main - INFO - STDERR: # destroy requests.__version__ +2024-11-30 13:32:26,986 - api.main - INFO - STDERR: # cleanup[2] removing requests._internal_utils +2024-11-30 13:32:26,986 - api.main - INFO - STDERR: # cleanup[2] removing requests.cookies +2024-11-30 13:32:26,987 - api.main - INFO - STDERR: # cleanup[2] removing requests.structures +2024-11-30 13:32:26,987 - api.main - INFO - STDERR: # cleanup[2] removing requests.utils +2024-11-30 13:32:26,987 - api.main - INFO - STDERR: # cleanup[2] removing requests.auth +2024-11-30 13:32:26,987 - api.main - INFO - STDERR: # cleanup[2] removing stringprep +2024-11-30 13:32:26,987 - api.main - INFO - STDERR: # cleanup[2] removing encodings.idna +2024-11-30 13:32:26,987 - api.main - INFO - STDERR: # cleanup[2] removing requests.hooks +2024-11-30 13:32:26,987 - api.main - INFO - STDERR: # cleanup[2] removing requests.status_codes +2024-11-30 13:32:26,987 - api.main - INFO - STDERR: # cleanup[2] removing requests.models +2024-11-30 13:32:26,987 - api.main - INFO - STDERR: # cleanup[2] removing requests.adapters +2024-11-30 13:32:26,987 - api.main - INFO - STDERR: # cleanup[2] removing requests.sessions +2024-11-30 13:32:26,987 - api.main - INFO - STDERR: # cleanup[2] removing requests.api +2024-11-30 13:32:26,987 - api.main - INFO - STDERR: # cleanup[2] removing requests +2024-11-30 13:32:26,987 - api.main - INFO - STDERR: # cleanup[2] removing PIL._version +2024-11-30 13:32:26,987 - api.main - INFO - STDERR: # destroy PIL._version +2024-11-30 13:32:26,987 - api.main - INFO - STDERR: # cleanup[2] removing PIL +2024-11-30 13:32:26,988 - api.main - INFO - STDERR: # destroy PIL +2024-11-30 13:32:26,988 - api.main - INFO - STDERR: # cleanup[2] removing PIL.ExifTags +2024-11-30 13:32:26,988 - api.main - INFO - STDERR: # cleanup[2] removing PIL._deprecate +2024-11-30 13:32:26,988 - api.main - INFO - STDERR: # destroy PIL._deprecate +2024-11-30 13:32:26,988 - api.main - INFO - STDERR: # cleanup[2] removing PIL.ImageMode +2024-11-30 13:32:26,988 - api.main - INFO - STDERR: # cleanup[2] removing PIL.TiffTags +2024-11-30 13:32:26,988 - api.main - INFO - STDERR: # cleanup[2] removing PIL._binary +2024-11-30 13:32:26,988 - api.main - INFO - STDERR: # destroy PIL._binary +2024-11-30 13:32:26,988 - api.main - INFO - STDERR: # cleanup[2] removing typing_extensions +2024-11-30 13:32:26,988 - api.main - INFO - STDERR: # destroy typing_extensions +2024-11-30 13:32:26,988 - api.main - INFO - STDERR: # cleanup[2] removing PIL._typing +2024-11-30 13:32:26,988 - api.main - INFO - STDERR: # destroy PIL._typing +2024-11-30 13:32:26,988 - api.main - INFO - STDERR: # cleanup[2] removing PIL._util +2024-11-30 13:32:26,988 - api.main - INFO - STDERR: # destroy PIL._util +2024-11-30 13:32:26,988 - api.main - INFO - STDERR: # cleanup[2] removing PIL._imaging +2024-11-30 13:32:26,988 - api.main - INFO - STDERR: # cleanup[2] removing PIL.Image +2024-11-30 13:32:26,989 - api.main - INFO - STDERR: # cleanup[2] removing decorator +2024-11-30 13:32:26,989 - api.main - INFO - STDERR: # destroy decorator +2024-11-30 13:32:26,989 - api.main - INFO - STDERR: # cleanup[2] removing retry.compat +2024-11-30 13:32:26,989 - api.main - INFO - STDERR: # cleanup[2] removing retry.api +2024-11-30 13:32:26,989 - api.main - INFO - STDERR: # cleanup[2] removing retry +2024-11-30 13:32:26,989 - api.main - INFO - STDERR: # destroy retry +2024-11-30 13:32:26,989 - api.main - INFO - STDERR: # destroy retry.compat +2024-11-30 13:32:26,989 - api.main - INFO - STDERR: # destroy retry.api +2024-11-30 13:32:26,989 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._device +2024-11-30 13:32:26,989 - api.main - INFO - STDERR: # cleanup[2] removing adbutils +2024-11-30 13:32:26,989 - api.main - INFO - STDERR: # cleanup[2] removing filelock._error +2024-11-30 13:32:26,989 - api.main - INFO - STDERR: # cleanup[2] removing filelock._api +2024-11-30 13:32:26,989 - api.main - INFO - STDERR: # cleanup[2] removing filelock._util +2024-11-30 13:32:26,989 - api.main - INFO - STDERR: # cleanup[2] removing filelock._soft +2024-11-30 13:32:26,989 - api.main - INFO - STDERR: # cleanup[2] removing filelock._unix +2024-11-30 13:32:26,990 - api.main - INFO - STDERR: # cleanup[2] removing filelock._windows +2024-11-30 13:32:26,990 - api.main - INFO - STDERR: # cleanup[2] removing concurrent +2024-11-30 13:32:26,990 - api.main - INFO - STDERR: # cleanup[2] removing concurrent.futures._base +2024-11-30 13:32:26,990 - api.main - INFO - STDERR: # cleanup[2] removing concurrent.futures +2024-11-30 13:32:26,990 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.constants +2024-11-30 13:32:26,990 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.format_helpers +2024-11-30 13:32:26,990 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.base_futures +2024-11-30 13:32:26,990 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.log +2024-11-30 13:32:26,990 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.coroutines +2024-11-30 13:32:26,990 - api.main - INFO - STDERR: # cleanup[2] removing _contextvars +2024-11-30 13:32:26,990 - api.main - INFO - STDERR: # cleanup[2] removing contextvars +2024-11-30 13:32:26,990 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.exceptions +2024-11-30 13:32:26,990 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.base_tasks +2024-11-30 13:32:26,990 - api.main - INFO - STDERR: # cleanup[2] removing _asyncio +2024-11-30 13:32:26,990 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.events +2024-11-30 13:32:26,991 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.futures +2024-11-30 13:32:26,991 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.protocols +2024-11-30 13:32:26,991 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.transports +2024-11-30 13:32:26,991 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.sslproto +2024-11-30 13:32:26,991 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.locks +2024-11-30 13:32:26,991 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.tasks +2024-11-30 13:32:26,991 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.staggered +2024-11-30 13:32:26,991 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.trsock +2024-11-30 13:32:26,991 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.base_events +2024-11-30 13:32:26,991 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.runners +2024-11-30 13:32:26,991 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.queues +2024-11-30 13:32:26,991 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.streams +2024-11-30 13:32:26,991 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.subprocess +2024-11-30 13:32:26,991 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.threads +2024-11-30 13:32:26,991 - api.main - INFO - STDERR: # cleanup[2] removing _overlapped +2024-11-30 13:32:26,991 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.base_subprocess +2024-11-30 13:32:26,992 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.proactor_events +2024-11-30 13:32:26,992 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.selector_events +2024-11-30 13:32:26,992 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.windows_utils +2024-11-30 13:32:26,992 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.windows_events +2024-11-30 13:32:26,992 - api.main - INFO - STDERR: # cleanup[2] removing asyncio +2024-11-30 13:32:26,992 - api.main - INFO - STDERR: # cleanup[2] removing filelock.asyncio +2024-11-30 13:32:26,992 - api.main - INFO - STDERR: # cleanup[2] removing filelock.version +2024-11-30 13:32:26,993 - api.main - INFO - STDERR: # destroy filelock.version +2024-11-30 13:32:26,993 - api.main - INFO - STDERR: # cleanup[2] removing filelock +2024-11-30 13:32:26,993 - api.main - INFO - STDERR: # cleanup[2] removing logzero.colors +2024-11-30 13:32:26,993 - api.main - INFO - STDERR: # cleanup[2] removing logzero.jsonlogger +2024-11-30 13:32:26,993 - api.main - INFO - STDERR: # cleanup[2] removing _compat_pickle +2024-11-30 13:32:26,993 - api.main - INFO - STDERR: # cleanup[2] removing _pickle +2024-11-30 13:32:26,993 - api.main - INFO - STDERR: # cleanup[2] removing pickle +2024-11-30 13:32:26,993 - api.main - INFO - STDERR: # cleanup[2] removing logging.handlers +2024-11-30 13:32:26,993 - api.main - INFO - STDERR: # cleanup[2] removing logzero +2024-11-30 13:32:26,993 - api.main - INFO - STDERR: # cleanup[2] removing six +2024-11-30 13:32:26,993 - api.main - INFO - STDERR: # cleanup[2] removing six.moves +2024-11-30 13:32:26,993 - api.main - INFO - STDERR: # cleanup[2] removing six.moves.urllib +2024-11-30 13:32:26,993 - api.main - INFO - STDERR: # cleanup[2] removing six.moves.urllib.parse +2024-11-30 13:32:26,993 - api.main - INFO - STDERR: # cleanup[2] removing cached_property +2024-11-30 13:32:26,993 - api.main - INFO - STDERR: # destroy cached_property +2024-11-30 13:32:26,994 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.wrappers +2024-11-30 13:32:26,994 - api.main - INFO - STDERR: # cleanup[2] removing wrapt._wrappers +2024-11-30 13:32:26,994 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.__wrapt__ +2024-11-30 13:32:26,994 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.patches +2024-11-30 13:32:26,994 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.weakrefs +2024-11-30 13:32:26,994 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.arguments +2024-11-30 13:32:26,994 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.decorators +2024-11-30 13:32:26,994 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.importer +2024-11-30 13:32:26,994 - api.main - INFO - STDERR: # cleanup[2] removing wrapt +2024-11-30 13:32:26,994 - api.main - INFO - STDERR: # cleanup[2] removing deprecated.classic +2024-11-30 13:32:26,994 - api.main - INFO - STDERR: # cleanup[2] removing deprecated +2024-11-30 13:32:26,994 - api.main - INFO - STDERR: # destroy deprecated +2024-11-30 13:32:26,994 - api.main - INFO - STDERR: # destroy deprecated.classic +2024-11-30 13:32:26,994 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2._proto +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.abcd +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.exceptions +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.utils +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # cleanup[2] removing lxml +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # destroy lxml +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # cleanup[2] removing _cython_3_0_11 +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # destroy _cython_3_0_11 +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # cleanup[2] removing gc +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # cleanup[2] removing lxml._elementpath +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # cleanup[2] removing gzip +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # cleanup[2] removing lxml.etree +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.xpath +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2._selector +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # cleanup[2] removing tarfile +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # cleanup[2] removing progress +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # cleanup[2] removing progress.colors +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # cleanup[2] removing progress.bar +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.version +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.init +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.settings +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.swipe +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.watcher +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2 +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # cleanup[2] removing emoji.unicode_codes.data_dict +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # cleanup[2] removing emoji.unicode_codes +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # cleanup[2] removing emoji.core +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # cleanup[2] removing emoji +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # cleanup[2] removing _uuid +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # cleanup[2] removing uuid +2024-11-30 13:32:26,995 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.log +2024-11-30 13:32:26,997 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.report +2024-11-30 13:32:26,997 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.resources +2024-11-30 13:32:26,997 - api.main - INFO - STDERR: # cleanup[2] removing atomicwrites +2024-11-30 13:32:26,997 - api.main - INFO - STDERR: # destroy atomicwrites +2024-11-30 13:32:26,997 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.storage +2024-11-30 13:32:26,997 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.utils +2024-11-30 13:32:26,997 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.device_facade +2024-11-30 13:32:26,997 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.lang_detect_exception +2024-11-30 13:32:26,997 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.language +2024-11-30 13:32:26,997 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils +2024-11-30 13:32:26,997 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils.messages +2024-11-30 13:32:26,997 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils.unicode_block +2024-11-30 13:32:26,997 - api.main - INFO - STDERR: # cleanup[2] removing encodings.unicode_escape +2024-11-30 13:32:26,997 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils.ngram +2024-11-30 13:32:26,997 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.detector +2024-11-30 13:32:26,997 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils.lang_profile +2024-11-30 13:32:26,998 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.detector_factory +2024-11-30 13:32:26,998 - api.main - INFO - STDERR: # cleanup[2] removing langdetect +2024-11-30 13:32:26,998 - api.main - INFO - STDERR: # destroy langdetect +2024-11-30 13:32:26,998 - api.main - INFO - STDERR: # destroy langdetect.lang_detect_exception +2024-11-30 13:32:26,998 - api.main - INFO - STDERR: # destroy langdetect.language +2024-11-30 13:32:26,998 - api.main - INFO - STDERR: # destroy langdetect.utils +2024-11-30 13:32:26,998 - api.main - INFO - STDERR: # destroy langdetect.utils.unicode_block +2024-11-30 13:32:26,998 - api.main - INFO - STDERR: # destroy langdetect.utils.ngram +2024-11-30 13:32:26,998 - api.main - INFO - STDERR: # destroy langdetect.utils.lang_profile +2024-11-30 13:32:26,998 - api.main - INFO - STDERR: # destroy langdetect.detector +2024-11-30 13:32:26,998 - api.main - INFO - STDERR: # destroy langdetect.detector_factory +2024-11-30 13:32:26,998 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.views +2024-11-30 13:32:26,998 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.filter +2024-11-30 13:32:26,998 - api.main - INFO - STDERR: # cleanup[2] removing spintax.spintax +2024-11-30 13:32:26,998 - api.main - INFO - STDERR: # cleanup[2] removing spintax +2024-11-30 13:32:26,998 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.session_state +2024-11-30 13:32:26,998 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.interaction +2024-11-30 13:32:26,998 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.navigation +2024-11-30 13:32:26,998 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.persistent_list +2024-11-30 13:32:26,998 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.bot_flow +2024-11-30 13:32:26,998 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict +2024-11-30 13:32:26,998 - api.main - INFO - STDERR: # cleanup[2] removing netrc +2024-11-30 13:32:26,999 - api.main - INFO - STDERR: # destroy netrc +2024-11-30 13:32:26,999 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins +2024-11-30 13:32:26,999 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.decorators +2024-11-30 13:32:26,999 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.scroll_end_detector +2024-11-30 13:32:26,999 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.action_unfollow_followers +2024-11-30 13:32:26,999 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.cloned_app +2024-11-30 13:32:26,999 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.core_arguments +2024-11-30 13:32:26,999 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.data_analytics +2024-11-30 13:32:26,999 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.dbinit +2024-11-30 13:32:26,999 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.handle_sources +2024-11-30 13:32:26,999 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_blogger +2024-11-30 13:32:26,999 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_blogger_followers +2024-11-30 13:32:26,999 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_blogger_post_likers +2024-11-30 13:32:26,999 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_feed +2024-11-30 13:32:26,999 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_hashtag_likers +2024-11-30 13:32:26,999 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_hashtag_posts +2024-11-30 13:32:27,000 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_place_likers +2024-11-30 13:32:27,000 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_place_posts +2024-11-30 13:32:27,000 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.like_from_urls +2024-11-30 13:32:27,000 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.nocodb_record_creation_test +2024-11-30 13:32:27,000 - api.main - INFO - STDERR: # cleanup[2] removing jwt.exceptions +2024-11-30 13:32:27,000 - api.main - INFO - STDERR: # cleanup[2] removing jwt.types +2024-11-30 13:32:27,000 - api.main - INFO - STDERR: # cleanup[2] removing jwt.utils +2024-11-30 13:32:27,000 - api.main - INFO - STDERR: # cleanup[2] removing jwt.algorithms +2024-11-30 13:32:27,000 - api.main - INFO - STDERR: # cleanup[2] removing jwt.api_jwk +2024-11-30 13:32:27,000 - api.main - INFO - STDERR: # cleanup[2] removing jwt.warnings +2024-11-30 13:32:27,000 - api.main - INFO - STDERR: # cleanup[2] removing jwt.api_jws +2024-11-30 13:32:27,000 - api.main - INFO - STDERR: # cleanup[2] removing jwt.api_jwt +2024-11-30 13:32:27,000 - api.main - INFO - STDERR: # cleanup[2] removing jwt.jwk_set_cache +2024-11-30 13:32:27,000 - api.main - INFO - STDERR: # cleanup[2] removing jwt.jwks_client +2024-11-30 13:32:27,000 - api.main - INFO - STDERR: # cleanup[2] removing jwt +2024-11-30 13:32:27,001 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.nocodb_storage +2024-11-30 13:32:27,001 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.remove_followers +2024-11-30 13:32:27,001 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.telegram +2024-11-30 13:32:27,001 - api.main - INFO - STDERR: # cleanup[2] removing _strptime +2024-11-30 13:32:27,009 - api.main - INFO - STDERR: # destroy GramAddict +2024-11-30 13:32:27,009 - api.main - INFO - STDERR: # destroy _sitebuiltins +2024-11-30 13:32:27,009 - api.main - INFO - STDERR: # destroy GramAddict.core +2024-11-30 13:32:27,009 - api.main - INFO - STDERR: # destroy GramAddict.core.plugin_loader +2024-11-30 13:32:27,009 - api.main - INFO - STDERR: # destroy GramAddict.core.config +2024-11-30 13:32:27,009 - api.main - INFO - STDERR: # destroy GramAddict.core.log +2024-11-30 13:32:27,009 - api.main - INFO - STDERR: # destroy GramAddict.core.report +2024-11-30 13:32:27,009 - api.main - INFO - STDERR: # destroy GramAddict.core.resources +2024-11-30 13:32:27,009 - api.main - INFO - STDERR: # destroy GramAddict.core.utils +2024-11-30 13:32:27,009 - api.main - INFO - STDERR: # destroy GramAddict.core.device_facade +2024-11-30 13:32:27,009 - api.main - INFO - STDERR: # destroy GramAddict.core.views +2024-11-30 13:32:27,009 - api.main - INFO - STDERR: # destroy GramAddict.core.filter +2024-11-30 13:32:27,009 - api.main - INFO - STDERR: # destroy GramAddict.core.session_state +2024-11-30 13:32:27,010 - api.main - INFO - STDERR: # destroy GramAddict.core.interaction +2024-11-30 13:32:27,010 - api.main - INFO - STDERR: # destroy GramAddict.core.navigation +2024-11-30 13:32:27,010 - api.main - INFO - STDERR: # destroy GramAddict.core.persistent_list +2024-11-30 13:32:27,010 - api.main - INFO - STDERR: # destroy GramAddict.core.bot_flow +2024-11-30 13:32:27,010 - api.main - INFO - STDERR: # destroy GramAddict.core.decorators +2024-11-30 13:32:27,010 - api.main - INFO - STDERR: # destroy GramAddict.core.scroll_end_detector +2024-11-30 13:32:27,010 - api.main - INFO - STDERR: # destroy GramAddict.core.handle_sources +2024-11-30 13:32:27,010 - api.main - INFO - STDERR: # destroy GramAddict.plugins +2024-11-30 13:32:27,010 - api.main - INFO - STDERR: # destroy GramAddict.plugins.action_unfollow_followers +2024-11-30 13:32:27,010 - api.main - INFO - STDERR: # destroy GramAddict.plugins.cloned_app +2024-11-30 13:32:27,010 - api.main - INFO - STDERR: # destroy GramAddict.plugins.core_arguments +2024-11-30 13:32:27,010 - api.main - INFO - STDERR: # destroy GramAddict.plugins.data_analytics +2024-11-30 13:32:27,010 - api.main - INFO - STDERR: # destroy GramAddict.plugins.dbinit +2024-11-30 13:32:27,010 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_blogger +2024-11-30 13:32:27,010 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_blogger_followers +2024-11-30 13:32:27,011 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_blogger_post_likers +2024-11-30 13:32:27,011 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_feed +2024-11-30 13:32:27,011 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_hashtag_likers +2024-11-30 13:32:27,011 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_hashtag_posts +2024-11-30 13:32:27,011 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_place_likers +2024-11-30 13:32:27,011 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_place_posts +2024-11-30 13:32:27,011 - api.main - INFO - STDERR: # destroy GramAddict.plugins.like_from_urls +2024-11-30 13:32:27,011 - api.main - INFO - STDERR: # destroy GramAddict.plugins.nocodb_record_creation_test +2024-11-30 13:32:27,011 - api.main - INFO - STDERR: # destroy GramAddict.plugins.nocodb_storage +2024-11-30 13:32:27,011 - api.main - INFO - STDERR: # destroy GramAddict.plugins.remove_followers +2024-11-30 13:32:27,011 - api.main - INFO - STDERR: # destroy GramAddict.plugins.telegram +2024-11-30 13:32:27,011 - api.main - INFO - STDERR: # destroy pyparsing.util +2024-11-30 13:32:27,011 - api.main - INFO - STDERR: # destroy pyparsing.exceptions +2024-11-30 13:32:27,011 - api.main - INFO - STDERR: # destroy pyparsing.actions +2024-11-30 13:32:27,012 - api.main - INFO - STDERR: # destroy pyparsing.results +2024-11-30 13:32:27,012 - api.main - INFO - STDERR: # destroy pyparsing.core +2024-11-30 13:32:27,012 - api.main - INFO - STDERR: # destroy pyparsing.helpers +2024-11-30 13:32:27,012 - api.main - INFO - STDERR: # destroy langdetect.utils.messages +2024-11-30 13:32:27,012 - api.main - INFO - STDERR: # cleanup[3] wiping _strptime +2024-11-30 13:32:27,012 - api.main - INFO - STDERR: # cleanup[3] wiping jwt +2024-11-30 13:32:27,012 - api.main - INFO - STDERR: # destroy jwt.exceptions +2024-11-30 13:32:27,012 - api.main - INFO - STDERR: # destroy jwt.types +2024-11-30 13:32:27,013 - api.main - INFO - STDERR: # destroy jwt.utils +2024-11-30 13:32:27,013 - api.main - INFO - STDERR: # destroy jwt.algorithms +2024-11-30 13:32:27,013 - api.main - INFO - STDERR: # destroy jwt.api_jwk +2024-11-30 13:32:27,013 - api.main - INFO - STDERR: # destroy jwt.warnings +2024-11-30 13:32:27,013 - api.main - INFO - STDERR: # destroy jwt.api_jwt +2024-11-30 13:32:27,013 - api.main - INFO - STDERR: # destroy jwt.jwk_set_cache +2024-11-30 13:32:27,013 - api.main - INFO - STDERR: # destroy jwt.jwks_client +2024-11-30 13:32:27,013 - api.main - INFO - STDERR: # cleanup[3] wiping jwt.api_jws +2024-11-30 13:32:27,013 - api.main - INFO - STDERR: # cleanup[3] wiping spintax +2024-11-30 13:32:27,013 - api.main - INFO - STDERR: # destroy spintax.spintax +2024-11-30 13:32:27,013 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.unicode_escape +2024-11-30 13:32:27,013 - api.main - INFO - STDERR: # cleanup[3] wiping GramAddict.core.storage +2024-11-30 13:32:27,013 - api.main - INFO - STDERR: # cleanup[3] wiping uuid +2024-11-30 13:32:27,013 - api.main - INFO - STDERR: # cleanup[3] wiping _uuid +2024-11-30 13:32:27,013 - api.main - INFO - STDERR: # destroy _uuid +2024-11-30 13:32:27,013 - api.main - INFO - STDERR: # cleanup[3] wiping emoji +2024-11-30 13:32:27,013 - api.main - INFO - STDERR: # destroy emoji.core +2024-11-30 13:32:27,013 - api.main - INFO - STDERR: # cleanup[3] wiping emoji.unicode_codes +2024-11-30 13:32:27,013 - api.main - INFO - STDERR: # destroy emoji.unicode_codes.data_dict +2024-11-30 13:32:27,013 - api.main - INFO - STDERR: # cleanup[3] wiping uiautomator2 +2024-11-30 13:32:27,013 - api.main - INFO - STDERR: # destroy uiautomator2._proto +2024-11-30 13:32:27,013 - api.main - INFO - STDERR: # destroy uiautomator2._selector +2024-11-30 13:32:27,014 - api.main - INFO - STDERR: # destroy logzero +2024-11-30 13:32:27,014 - api.main - INFO - STDERR: # destroy uiautomator2.abcd +2024-11-30 13:32:27,014 - api.main - INFO - STDERR: # destroy uiautomator2.exceptions +2024-11-30 13:32:27,014 - api.main - INFO - STDERR: # destroy uiautomator2.utils +2024-11-30 13:32:27,014 - api.main - INFO - STDERR: # destroy uiautomator2.xpath +2024-11-30 13:32:27,014 - api.main - INFO - STDERR: # destroy uiautomator2.version +2024-11-30 13:32:27,014 - api.main - INFO - STDERR: # destroy uiautomator2.init +2024-11-30 13:32:27,014 - api.main - INFO - STDERR: # destroy uiautomator2.settings +2024-11-30 13:32:27,014 - api.main - INFO - STDERR: # destroy uiautomator2.swipe +2024-11-30 13:32:27,015 - api.main - INFO - STDERR: # destroy uiautomator2.watcher +2024-11-30 13:32:27,015 - api.main - INFO - STDERR: # cleanup[3] wiping progress.bar +2024-11-30 13:32:27,015 - api.main - INFO - STDERR: # cleanup[3] wiping progress.colors +2024-11-30 13:32:27,015 - api.main - INFO - STDERR: # cleanup[3] wiping progress +2024-11-30 13:32:27,015 - api.main - INFO - STDERR: # destroy progress.colors +2024-11-30 13:32:27,015 - api.main - INFO - STDERR: # destroy progress.bar +2024-11-30 13:32:27,015 - api.main - INFO - STDERR: # cleanup[3] wiping tarfile +2024-11-30 13:32:27,015 - api.main - INFO - STDERR: # cleanup[3] wiping lxml.etree +2024-11-30 13:32:27,015 - api.main - INFO - STDERR: # cleanup[3] wiping gzip +2024-11-30 13:32:27,015 - api.main - INFO - STDERR: # cleanup[3] wiping lxml._elementpath +2024-11-30 13:32:27,015 - api.main - INFO - STDERR: # cleanup[3] wiping gc +2024-11-30 13:32:27,015 - api.main - INFO - STDERR: # cleanup[3] wiping wrapt +2024-11-30 13:32:27,015 - api.main - INFO - STDERR: # destroy wrapt.wrappers +2024-11-30 13:32:27,015 - api.main - INFO - STDERR: # destroy wrapt.__wrapt__ +2024-11-30 13:32:27,015 - api.main - INFO - STDERR: # destroy wrapt.patches +2024-11-30 13:32:27,015 - api.main - INFO - STDERR: # destroy wrapt.weakrefs +2024-11-30 13:32:27,016 - api.main - INFO - STDERR: # destroy wrapt.arguments +2024-11-30 13:32:27,016 - api.main - INFO - STDERR: # destroy wrapt.decorators +2024-11-30 13:32:27,016 - api.main - INFO - STDERR: # destroy wrapt.importer +2024-11-30 13:32:27,016 - api.main - INFO - STDERR: # cleanup[3] wiping wrapt._wrappers +2024-11-30 13:32:27,016 - api.main - INFO - STDERR: # cleanup[3] wiping six.moves.urllib.parse +2024-11-30 13:32:27,016 - api.main - INFO - STDERR: # cleanup[3] wiping six.moves.urllib +2024-11-30 13:32:27,016 - api.main - INFO - STDERR: # cleanup[3] wiping six.moves +2024-11-30 13:32:27,016 - api.main - INFO - STDERR: # cleanup[3] wiping six +2024-11-30 13:32:27,016 - api.main - INFO - STDERR: # destroy six.moves.urllib +2024-11-30 13:32:27,016 - api.main - INFO - STDERR: # destroy six.moves +2024-11-30 13:32:27,016 - api.main - INFO - STDERR: # cleanup[3] wiping logging.handlers +2024-11-30 13:32:27,016 - api.main - INFO - STDERR: # destroy pickle +2024-11-30 13:32:27,016 - api.main - INFO - STDERR: # cleanup[3] wiping _pickle +2024-11-30 13:32:27,016 - api.main - INFO - STDERR: # cleanup[3] wiping _compat_pickle +2024-11-30 13:32:27,016 - api.main - INFO - STDERR: # cleanup[3] wiping logzero.jsonlogger +2024-11-30 13:32:27,016 - api.main - INFO - STDERR: # cleanup[3] wiping logzero.colors +2024-11-30 13:32:27,016 - api.main - INFO - STDERR: # cleanup[3] wiping filelock +2024-11-30 13:32:27,017 - api.main - INFO - STDERR: # destroy filelock._error +2024-11-30 13:32:27,017 - api.main - INFO - STDERR: # destroy filelock._api +2024-11-30 13:32:27,017 - api.main - INFO - STDERR: # destroy filelock._util +2024-11-30 13:32:27,017 - api.main - INFO - STDERR: # destroy filelock._soft +2024-11-30 13:32:27,017 - api.main - INFO - STDERR: # destroy filelock._unix +2024-11-30 13:32:27,017 - api.main - INFO - STDERR: # destroy filelock._windows +2024-11-30 13:32:27,017 - api.main - INFO - STDERR: # destroy filelock.asyncio +2024-11-30 13:32:27,017 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio +2024-11-30 13:32:27,018 - api.main - INFO - STDERR: # destroy asyncio.log +2024-11-30 13:32:27,018 - api.main - INFO - STDERR: # destroy asyncio.runners +2024-11-30 13:32:27,018 - api.main - INFO - STDERR: # destroy asyncio.queues +2024-11-30 13:32:27,018 - api.main - INFO - STDERR: # destroy asyncio.subprocess +2024-11-30 13:32:27,018 - api.main - INFO - STDERR: # destroy asyncio.threads +2024-11-30 13:32:27,018 - api.main - INFO - STDERR: # destroy asyncio.windows_events +2024-11-30 13:32:27,018 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.windows_utils +2024-11-30 13:32:27,018 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.selector_events +2024-11-30 13:32:27,018 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.proactor_events +2024-11-30 13:32:27,018 - api.main - INFO - STDERR: # destroy asyncio.base_events +2024-11-30 13:32:27,018 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.base_subprocess +2024-11-30 13:32:27,018 - api.main - INFO - STDERR: # cleanup[3] wiping _overlapped +2024-11-30 13:32:27,018 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.streams +2024-11-30 13:32:27,018 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.trsock +2024-11-30 13:32:27,018 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.staggered +2024-11-30 13:32:27,019 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.tasks +2024-11-30 13:32:27,019 - api.main - INFO - STDERR: # destroy asyncio.base_tasks +2024-11-30 13:32:27,019 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.locks +2024-11-30 13:32:27,019 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.sslproto +2024-11-30 13:32:27,019 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.transports +2024-11-30 13:32:27,019 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.protocols +2024-11-30 13:32:27,019 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.futures +2024-11-30 13:32:27,019 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.events +2024-11-30 13:32:27,019 - api.main - INFO - STDERR: # cleanup[3] wiping _asyncio +2024-11-30 13:32:27,019 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.exceptions +2024-11-30 13:32:27,019 - api.main - INFO - STDERR: # cleanup[3] wiping contextvars +2024-11-30 13:32:27,019 - api.main - INFO - STDERR: # cleanup[3] wiping _contextvars +2024-11-30 13:32:27,019 - api.main - INFO - STDERR: # destroy _contextvars +2024-11-30 13:32:27,019 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.coroutines +2024-11-30 13:32:27,019 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.base_futures +2024-11-30 13:32:27,019 - api.main - INFO - STDERR: # destroy asyncio.format_helpers +2024-11-30 13:32:27,019 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.constants +2024-11-30 13:32:27,019 - api.main - INFO - STDERR: # cleanup[3] wiping concurrent.futures +2024-11-30 13:32:27,019 - api.main - INFO - STDERR: # destroy concurrent.futures._base +2024-11-30 13:32:27,019 - api.main - INFO - STDERR: # cleanup[3] wiping concurrent +2024-11-30 13:32:27,019 - api.main - INFO - STDERR: # destroy concurrent.futures +2024-11-30 13:32:27,019 - api.main - INFO - STDERR: # cleanup[3] wiping adbutils +2024-11-30 13:32:27,019 - api.main - INFO - STDERR: # destroy adbutils._utils +2024-11-30 13:32:27,019 - api.main - INFO - STDERR: # destroy adbutils._proto +2024-11-30 13:32:27,020 - api.main - INFO - STDERR: # destroy adbutils._version +2024-11-30 13:32:27,020 - api.main - INFO - STDERR: # destroy pkg_resources +2024-11-30 13:32:27,020 - api.main - INFO - STDERR: # destroy adbutils._adb +2024-11-30 13:32:27,020 - api.main - INFO - STDERR: # destroy adbutils._device +2024-11-30 13:32:27,020 - api.main - INFO - STDERR: # destroy adbutils.errors +2024-11-30 13:32:27,020 - api.main - INFO - STDERR: # cleanup[3] wiping PIL.Image +2024-11-30 13:32:27,020 - api.main - INFO - STDERR: # destroy PIL.ExifTags +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # destroy PIL.ImageMode +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # destroy PIL.TiffTags +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # cleanup[3] wiping PIL._imaging +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # cleanup[3] wiping requests +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # destroy requests._internal_utils +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # destroy requests.compat +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # destroy requests.exceptions +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # destroy requests.packages +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # destroy idna +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # destroy idna.intranges +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # destroy idna.core +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # destroy idna.package_data +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # destroy requests.cookies +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # destroy requests.structures +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # destroy requests.utils +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # destroy requests.auth +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # destroy requests.hooks +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # destroy requests.status_codes +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # destroy requests.models +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # destroy requests.adapters +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # destroy requests.api +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # cleanup[3] wiping requests.sessions +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.idna +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # destroy stringprep +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # cleanup[3] wiping requests.certs +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.chardet +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.idna.idnadata +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # cleanup[3] wiping idna.idnadata +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3 +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # destroy urllib3._version +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # destroy urllib3._collections +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # destroy urllib3.packages +2024-11-30 13:32:27,021 - api.main - INFO - STDERR: # destroy urllib3.exceptions +2024-11-30 13:32:27,023 - api.main - INFO - STDERR: # destroy urllib3.contrib +2024-11-30 13:32:27,023 - api.main - INFO - STDERR: # destroy urllib3.connection +2024-11-30 13:32:27,023 - api.main - INFO - STDERR: # destroy urllib3.fields +2024-11-30 13:32:27,023 - api.main - INFO - STDERR: # destroy urllib3.filepost +2024-11-30 13:32:27,023 - api.main - INFO - STDERR: # destroy urllib3.request +2024-11-30 13:32:27,023 - api.main - INFO - STDERR: # destroy urllib3.response +2024-11-30 13:32:27,023 - api.main - INFO - STDERR: # destroy urllib3.connectionpool +2024-11-30 13:32:27,023 - api.main - INFO - STDERR: # destroy urllib3.poolmanager +2024-11-30 13:32:27,023 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util.queue +2024-11-30 13:32:27,023 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six.moves.urllib.parse +2024-11-30 13:32:27,023 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six.moves.urllib +2024-11-30 13:32:27,023 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util.ssl_match_hostname +2024-11-30 13:32:27,023 - api.main - INFO - STDERR: # destroy ipaddress +2024-11-30 13:32:27,023 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util.proxy +2024-11-30 13:32:27,024 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util +2024-11-30 13:32:27,024 - api.main - INFO - STDERR: # destroy urllib3.util.wait +2024-11-30 13:32:27,024 - api.main - INFO - STDERR: # destroy urllib3.util.request +2024-11-30 13:32:27,024 - api.main - INFO - STDERR: # destroy urllib3.util.response +2024-11-30 13:32:27,024 - api.main - INFO - STDERR: # destroy urllib3.util.retry +2024-11-30 13:32:27,024 - api.main - INFO - STDERR: # destroy urllib3.util.url +2024-11-30 13:32:27,024 - api.main - INFO - STDERR: # destroy urllib3.util.ssltransport +2024-11-30 13:32:27,024 - api.main - INFO - STDERR: # destroy urllib3.util.ssl_ +2024-11-30 13:32:27,024 - api.main - INFO - STDERR: # destroy urllib3.util.timeout +2024-11-30 13:32:27,024 - api.main - INFO - STDERR: # destroy urllib3.util.proxy +2024-11-30 13:32:27,024 - api.main - INFO - STDERR: # destroy urllib3.util.ssl_match_hostname +2024-11-30 13:32:27,024 - api.main - INFO - STDERR: # destroy urllib3.util.queue +2024-11-30 13:32:27,024 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util.connection +2024-11-30 13:32:27,024 - api.main - INFO - STDERR: # destroy urllib3.contrib._appengine_environ +2024-11-30 13:32:27,024 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six.moves.http_client +2024-11-30 13:32:27,024 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six.moves +2024-11-30 13:32:27,025 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six +2024-11-30 13:32:27,025 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib +2024-11-30 13:32:27,025 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves +2024-11-30 13:32:27,025 - api.main - INFO - STDERR: # cleanup[3] wiping http.cookies +2024-11-30 13:32:27,025 - api.main - INFO - STDERR: # cleanup[3] wiping http.cookiejar +2024-11-30 13:32:27,025 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer +2024-11-30 13:32:27,025 - api.main - INFO - STDERR: # destroy charset_normalizer.models +2024-11-30 13:32:27,025 - api.main - INFO - STDERR: # destroy charset_normalizer.cd +2024-11-30 13:32:27,025 - api.main - INFO - STDERR: # destroy charset_normalizer.api +2024-11-30 13:32:27,025 - api.main - INFO - STDERR: # destroy charset_normalizer.legacy +2024-11-30 13:32:27,025 - api.main - INFO - STDERR: # destroy charset_normalizer.version +2024-11-30 13:32:27,025 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer.md +2024-11-30 13:32:27,025 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer.utils +2024-11-30 13:32:27,025 - api.main - INFO - STDERR: # cleanup[3] wiping _multibytecodec +2024-11-30 13:32:27,025 - api.main - INFO - STDERR: # cleanup[3] wiping unicodedata +2024-11-30 13:32:27,026 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer.md__mypyc +2024-11-30 13:32:27,026 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer.constant +2024-11-30 13:32:27,026 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3 +2024-11-30 13:32:27,026 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.packages.six.moves.urllib.parse +2024-11-30 13:32:27,026 - api.main - INFO - STDERR: # cleanup[3] wiping mimetypes +2024-11-30 13:32:27,026 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.util +2024-11-30 13:32:27,026 - api.main - INFO - STDERR: # cleanup[3] wiping hmac +2024-11-30 13:32:27,026 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.util.connection +2024-11-30 13:32:27,026 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.packages.six.moves.http_client +2024-11-30 13:32:27,026 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.packages.six +2024-11-30 13:32:27,026 - api.main - INFO - STDERR: # cleanup[3] wiping platformdirs.windows +2024-11-30 13:32:27,026 - api.main - INFO - STDERR: # cleanup[3] wiping platformdirs.version +2024-11-30 13:32:27,026 - api.main - INFO - STDERR: # cleanup[3] wiping platformdirs.api +2024-11-30 13:32:27,027 - api.main - INFO - STDERR: # cleanup[3] wiping backports.tarfile +2024-11-30 13:32:27,027 - api.main - INFO - STDERR: # destroy backports.tarfile.compat +2024-11-30 13:32:27,027 - api.main - INFO - STDERR: # destroy backports.tarfile.compat.py38 +2024-11-30 13:32:27,027 - api.main - INFO - STDERR: # cleanup[3] wiping importlib.resources +2024-11-30 13:32:27,027 - api.main - INFO - STDERR: # cleanup[3] wiping importlib._common +2024-11-30 13:32:27,027 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.requirements +2024-11-30 13:32:27,027 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.markers +2024-11-30 13:32:27,027 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.specifiers +2024-11-30 13:32:27,027 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.utils +2024-11-30 13:32:27,027 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.tags +2024-11-30 13:32:27,027 - api.main - INFO - STDERR: # cleanup[3] wiping distutils +2024-11-30 13:32:27,027 - api.main - INFO - STDERR: # destroy distutils._log +2024-11-30 13:32:27,027 - api.main - INFO - STDERR: # destroy distutils.compat +2024-11-30 13:32:27,027 - api.main - INFO - STDERR: # destroy distutils.errors +2024-11-30 13:32:27,027 - api.main - INFO - STDERR: # destroy distutils.debug +2024-11-30 13:32:27,027 - api.main - INFO - STDERR: # destroy distutils.spawn +2024-11-30 13:32:27,027 - api.main - INFO - STDERR: # destroy distutils.cmd +2024-11-30 13:32:27,028 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.util +2024-11-30 13:32:27,028 - api.main - INFO - STDERR: # destroy sysconfig +2024-11-30 13:32:27,028 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.archive_util +2024-11-30 13:32:27,028 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.dir_util +2024-11-30 13:32:27,028 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.file_util +2024-11-30 13:32:27,028 - api.main - INFO - STDERR: # cleanup[3] wiping distutils._modified +2024-11-30 13:32:27,028 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.compat.py39 +2024-11-30 13:32:27,028 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.compat.py38 +2024-11-30 13:32:27,028 - api.main - INFO - STDERR: # cleanup[3] wiping more_itertools +2024-11-30 13:32:27,028 - api.main - INFO - STDERR: # destroy more_itertools.recipes +2024-11-30 13:32:27,028 - api.main - INFO - STDERR: # destroy more_itertools.more +2024-11-30 13:32:27,028 - api.main - INFO - STDERR: # cleanup[3] wiping queue +2024-11-30 13:32:27,028 - api.main - INFO - STDERR: # cleanup[3] wiping _queue +2024-11-30 13:32:27,028 - api.main - INFO - STDERR: # cleanup[3] wiping setuptools._distutils +2024-11-30 13:32:27,028 - api.main - INFO - STDERR: # cleanup[3] wiping packaging._compat +2024-11-30 13:32:27,029 - api.main - INFO - STDERR: # cleanup[3] wiping html +2024-11-30 13:32:27,029 - api.main - INFO - STDERR: # destroy html.entities +2024-11-30 13:32:27,029 - api.main - INFO - STDERR: # cleanup[3] wiping pprint +2024-11-30 13:32:27,029 - api.main - INFO - STDERR: # cleanup[3] wiping plistlib +2024-11-30 13:32:27,029 - api.main - INFO - STDERR: # cleanup[3] wiping apkutils2 +2024-11-30 13:32:27,029 - api.main - INFO - STDERR: # destroy apkutils2.apkfile +2024-11-30 13:32:27,029 - api.main - INFO - STDERR: # destroy apkutils2.axml +2024-11-30 13:32:27,029 - api.main - INFO - STDERR: # destroy apkutils2.axml.chunk +2024-11-30 13:32:27,029 - api.main - INFO - STDERR: # destroy apkutils2.axml.arscparser +2024-11-30 13:32:27,029 - api.main - INFO - STDERR: # destroy apkutils2.axml.axmlparser +2024-11-30 13:32:27,029 - api.main - INFO - STDERR: # destroy apkutils2.dex +2024-11-30 13:32:27,029 - api.main - INFO - STDERR: # destroy apkutils2.dex.byteio +2024-11-30 13:32:27,029 - api.main - INFO - STDERR: # destroy apkutils2.dex.dalvik +2024-11-30 13:32:27,029 - api.main - INFO - STDERR: # destroy apkutils2.dex.dexparser +2024-11-30 13:32:27,029 - api.main - INFO - STDERR: # destroy apkutils2.manifest +2024-11-30 13:32:27,029 - api.main - INFO - STDERR: # cleanup[3] wiping apkutils2.dex.dalvikformats +2024-11-30 13:32:27,030 - api.main - INFO - STDERR: # cleanup[3] wiping apkutils2.dex.util +2024-11-30 13:32:27,030 - api.main - INFO - STDERR: # cleanup[3] wiping array +2024-11-30 13:32:27,030 - api.main - INFO - STDERR: # cleanup[3] wiping apkutils2.axml.public +2024-11-30 13:32:27,030 - api.main - INFO - STDERR: # cleanup[3] wiping xmltodict +2024-11-30 13:32:27,030 - api.main - INFO - STDERR: # cleanup[3] wiping platform +2024-11-30 13:32:27,030 - api.main - INFO - STDERR: # cleanup[3] wiping xml.sax.saxutils +2024-11-30 13:32:27,030 - api.main - INFO - STDERR: # cleanup[3] wiping urllib.request +2024-11-30 13:32:27,030 - api.main - INFO - STDERR: # destroy http +2024-11-30 13:32:27,030 - api.main - INFO - STDERR: # cleanup[3] wiping urllib.error +2024-11-30 13:32:27,030 - api.main - INFO - STDERR: # cleanup[3] wiping urllib.response +2024-11-30 13:32:27,030 - api.main - INFO - STDERR: # cleanup[3] wiping http.client +2024-11-30 13:32:27,030 - api.main - INFO - STDERR: # cleanup[3] wiping ssl +2024-11-30 13:32:27,030 - api.main - INFO - STDERR: # cleanup[3] wiping _ssl +2024-11-30 13:32:27,030 - api.main - INFO - STDERR: # cleanup[3] wiping email.message +2024-11-30 13:32:27,030 - api.main - INFO - STDERR: # destroy uu +2024-11-30 13:32:27,030 - api.main - INFO - STDERR: # destroy quopri +2024-11-30 13:32:27,030 - api.main - INFO - STDERR: # cleanup[3] wiping email.iterators +2024-11-30 13:32:27,030 - api.main - INFO - STDERR: # cleanup[3] wiping email._encoded_words +2024-11-30 13:32:27,030 - api.main - INFO - STDERR: # cleanup[3] wiping email.parser +2024-11-30 13:32:27,030 - api.main - INFO - STDERR: # cleanup[3] wiping email.feedparser +2024-11-30 13:32:27,030 - api.main - INFO - STDERR: # cleanup[3] wiping email._policybase +2024-11-30 13:32:27,030 - api.main - INFO - STDERR: # cleanup[3] wiping email.utils +2024-11-30 13:32:27,030 - api.main - INFO - STDERR: # cleanup[3] wiping email._parseaddr +2024-11-30 13:32:27,031 - api.main - INFO - STDERR: # cleanup[3] wiping calendar +2024-11-30 13:32:27,031 - api.main - INFO - STDERR: # destroy locale +2024-11-30 13:32:27,031 - api.main - INFO - STDERR: # cleanup[3] wiping email.header +2024-11-30 13:32:27,031 - api.main - INFO - STDERR: # cleanup[3] wiping email.charset +2024-11-30 13:32:27,031 - api.main - INFO - STDERR: # cleanup[3] wiping email.encoders +2024-11-30 13:32:27,031 - api.main - INFO - STDERR: # cleanup[3] wiping email.base64mime +2024-11-30 13:32:27,031 - api.main - INFO - STDERR: # cleanup[3] wiping email.quoprimime +2024-11-30 13:32:27,031 - api.main - INFO - STDERR: # cleanup[3] wiping email.errors +2024-11-30 13:32:27,031 - api.main - INFO - STDERR: # cleanup[3] wiping email +2024-11-30 13:32:27,031 - api.main - INFO - STDERR: # destroy email._parseaddr +2024-11-30 13:32:27,031 - api.main - INFO - STDERR: # destroy email._policybase +2024-11-30 13:32:27,031 - api.main - INFO - STDERR: # destroy email._encoded_words +2024-11-30 13:32:27,031 - api.main - INFO - STDERR: # destroy email.errors +2024-11-30 13:32:27,031 - api.main - INFO - STDERR: # destroy email.quoprimime +2024-11-30 13:32:27,032 - api.main - INFO - STDERR: # destroy email.base64mime +2024-11-30 13:32:27,032 - api.main - INFO - STDERR: # destroy email.encoders +2024-11-30 13:32:27,032 - api.main - INFO - STDERR: # destroy email.charset +2024-11-30 13:32:27,032 - api.main - INFO - STDERR: # destroy email.header +2024-11-30 13:32:27,032 - api.main - INFO - STDERR: # destroy email.utils +2024-11-30 13:32:27,032 - api.main - INFO - STDERR: # destroy email.feedparser +2024-11-30 13:32:27,032 - api.main - INFO - STDERR: # destroy email.parser +2024-11-30 13:32:27,032 - api.main - INFO - STDERR: # destroy email.iterators +2024-11-30 13:32:27,033 - api.main - INFO - STDERR: # destroy email.message +2024-11-30 13:32:27,033 - api.main - INFO - STDERR: # cleanup[3] wiping xml.sax +2024-11-30 13:32:27,033 - api.main - INFO - STDERR: # destroy xml.sax._exceptions +2024-11-30 13:32:27,033 - api.main - INFO - STDERR: # destroy xml.sax.xmlreader +2024-11-30 13:32:27,033 - api.main - INFO - STDERR: # destroy xml.sax.saxutils +2024-11-30 13:32:27,033 - api.main - INFO - STDERR: # cleanup[3] wiping xml.sax.handler +2024-11-30 13:32:27,033 - api.main - INFO - STDERR: # cleanup[3] wiping xml.parsers.expat +2024-11-30 13:32:27,033 - api.main - INFO - STDERR: # cleanup[3] wiping xml.parsers.expat.errors +2024-11-30 13:32:27,033 - api.main - INFO - STDERR: # cleanup[3] wiping xml.parsers.expat.model +2024-11-30 13:32:27,033 - api.main - INFO - STDERR: # cleanup[3] wiping pyexpat +2024-11-30 13:32:27,033 - api.main - INFO - STDERR: # cleanup[3] wiping pyexpat.model +2024-11-30 13:32:27,033 - api.main - INFO - STDERR: # cleanup[3] wiping pyexpat.errors +2024-11-30 13:32:27,033 - api.main - INFO - STDERR: # cleanup[3] wiping xml.parsers +2024-11-30 13:32:27,033 - api.main - INFO - STDERR: # destroy xml.parsers.expat +2024-11-30 13:32:27,033 - api.main - INFO - STDERR: # cleanup[3] wiping whichcraft +2024-11-30 13:32:27,033 - api.main - INFO - STDERR: # cleanup[3] wiping zipfile +2024-11-30 13:32:27,034 - api.main - INFO - STDERR: # cleanup[3] wiping tempfile +2024-11-30 13:32:27,034 - api.main - INFO - STDERR: # cleanup[3] wiping shlex +2024-11-30 13:32:27,034 - api.main - INFO - STDERR: # cleanup[3] wiping socket +2024-11-30 13:32:27,034 - api.main - INFO - STDERR: # destroy selectors +2024-11-30 13:32:27,034 - api.main - INFO - STDERR: # cleanup[3] wiping select +2024-11-30 13:32:27,034 - api.main - INFO - STDERR: # cleanup[3] wiping _socket +2024-11-30 13:32:27,034 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.version +2024-11-30 13:32:27,034 - api.main - INFO - STDERR: # cleanup[3] wiping packaging._typing +2024-11-30 13:32:27,034 - api.main - INFO - STDERR: # cleanup[3] wiping packaging._structures +2024-11-30 13:32:27,034 - api.main - INFO - STDERR: # cleanup[3] wiping packaging +2024-11-30 13:32:27,034 - api.main - INFO - STDERR: # destroy packaging._structures +2024-11-30 13:32:27,034 - api.main - INFO - STDERR: # destroy packaging._typing +2024-11-30 13:32:27,034 - api.main - INFO - STDERR: # destroy packaging._compat +2024-11-30 13:32:27,034 - api.main - INFO - STDERR: # destroy packaging.__about__ +2024-11-30 13:32:27,035 - api.main - INFO - STDERR: # destroy packaging.tags +2024-11-30 13:32:27,035 - api.main - INFO - STDERR: # destroy packaging.utils +2024-11-30 13:32:27,035 - api.main - INFO - STDERR: # destroy packaging.specifiers +2024-11-30 13:32:27,035 - api.main - INFO - STDERR: # destroy packaging.markers +2024-11-30 13:32:27,035 - api.main - INFO - STDERR: # destroy packaging.requirements +2024-11-30 13:32:27,035 - api.main - INFO - STDERR: # cleanup[3] wiping pathlib +2024-11-30 13:32:27,035 - api.main - INFO - STDERR: # cleanup[3] wiping urllib.parse +2024-11-30 13:32:27,035 - api.main - INFO - STDERR: # cleanup[3] wiping urllib +2024-11-30 13:32:27,035 - api.main - INFO - STDERR: # destroy urllib.parse +2024-11-30 13:32:27,035 - api.main - INFO - STDERR: # destroy urllib.response +2024-11-30 13:32:27,035 - api.main - INFO - STDERR: # destroy urllib.error +2024-11-30 13:32:27,035 - api.main - INFO - STDERR: # destroy urllib.request +2024-11-30 13:32:27,035 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom.minidom +2024-11-30 13:32:27,035 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom.xmlbuilder +2024-11-30 13:32:27,035 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom.NodeFilter +2024-11-30 13:32:27,035 - api.main - INFO - STDERR: # cleanup[3] wiping copy +2024-11-30 13:32:27,035 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom.minicompat +2024-11-30 13:32:27,036 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom +2024-11-30 13:32:27,036 - api.main - INFO - STDERR: # destroy xml.dom.domreg +2024-11-30 13:32:27,036 - api.main - INFO - STDERR: # destroy xml.dom.minicompat +2024-11-30 13:32:27,036 - api.main - INFO - STDERR: # destroy xml.dom.NodeFilter +2024-11-30 13:32:27,036 - api.main - INFO - STDERR: # destroy xml.dom.xmlbuilder +2024-11-30 13:32:27,036 - api.main - INFO - STDERR: # cleanup[3] wiping xml +2024-11-30 13:32:27,036 - api.main - INFO - STDERR: # destroy xml.dom +2024-11-30 13:32:27,036 - api.main - INFO - STDERR: # destroy xml.parsers +2024-11-30 13:32:27,036 - api.main - INFO - STDERR: # destroy xml.sax +2024-11-30 13:32:27,036 - api.main - INFO - STDERR: # cleanup[3] wiping shutil +2024-11-30 13:32:27,036 - api.main - INFO - STDERR: # cleanup[3] wiping lzma +2024-11-30 13:32:27,036 - api.main - INFO - STDERR: # cleanup[3] wiping _lzma +2024-11-30 13:32:27,036 - api.main - INFO - STDERR: # cleanup[3] wiping bz2 +2024-11-30 13:32:27,036 - api.main - INFO - STDERR: # destroy _compression +2024-11-30 13:32:27,036 - api.main - INFO - STDERR: # cleanup[3] wiping zlib +2024-11-30 13:32:27,037 - api.main - INFO - STDERR: # cleanup[3] wiping hashlib +2024-11-30 13:32:27,037 - api.main - INFO - STDERR: # cleanup[3] wiping _blake2 +2024-11-30 13:32:27,037 - api.main - INFO - STDERR: # cleanup[3] wiping _hashlib +2024-11-30 13:32:27,037 - api.main - INFO - STDERR: # cleanup[3] wiping subprocess +2024-11-30 13:32:27,037 - api.main - INFO - STDERR: # destroy signal +2024-11-30 13:32:27,037 - api.main - INFO - STDERR: # cleanup[3] wiping _winapi +2024-11-30 13:32:27,037 - api.main - INFO - STDERR: # cleanup[3] wiping msvcrt +2024-11-30 13:32:27,037 - api.main - INFO - STDERR: # cleanup[3] wiping errno +2024-11-30 13:32:27,037 - api.main - INFO - STDERR: # cleanup[3] wiping pkgutil +2024-11-30 13:32:27,037 - api.main - INFO - STDERR: # cleanup[3] wiping importlib.util +2024-11-30 13:32:27,037 - api.main - INFO - STDERR: # cleanup[3] wiping importlib.abc +2024-11-30 13:32:27,037 - api.main - INFO - STDERR: # cleanup[3] wiping inspect +2024-11-30 13:32:27,037 - api.main - INFO - STDERR: # destroy ast +2024-11-30 13:32:27,037 - api.main - INFO - STDERR: # destroy dis +2024-11-30 13:32:27,037 - api.main - INFO - STDERR: # destroy token +2024-11-30 13:32:27,038 - api.main - INFO - STDERR: # cleanup[3] wiping importlib.machinery +2024-11-30 13:32:27,038 - api.main - INFO - STDERR: # cleanup[3] wiping importlib +2024-11-30 13:32:27,038 - api.main - INFO - STDERR: # destroy importlib._common +2024-11-30 13:32:27,038 - api.main - INFO - STDERR: # destroy importlib.machinery +2024-11-30 13:32:27,038 - api.main - INFO - STDERR: # destroy importlib.abc +2024-11-30 13:32:27,038 - api.main - INFO - STDERR: # destroy importlib.util +2024-11-30 13:32:27,038 - api.main - INFO - STDERR: # destroy importlib.resources +2024-11-30 13:32:27,038 - api.main - INFO - STDERR: # cleanup[3] wiping importlib._bootstrap_external +2024-11-30 13:32:27,038 - api.main - INFO - STDERR: # cleanup[3] wiping importlib._bootstrap +2024-11-30 13:32:27,038 - api.main - INFO - STDERR: # cleanup[3] wiping _opcode +2024-11-30 13:32:27,038 - api.main - INFO - STDERR: # cleanup[3] wiping yaml +2024-11-30 13:32:27,038 - api.main - INFO - STDERR: # destroy yaml.error +2024-11-30 13:32:27,038 - api.main - INFO - STDERR: # destroy yaml.tokens +2024-11-30 13:32:27,038 - api.main - INFO - STDERR: # destroy yaml.events +2024-11-30 13:32:27,038 - api.main - INFO - STDERR: # destroy yaml.nodes +2024-11-30 13:32:27,039 - api.main - INFO - STDERR: # destroy yaml.reader +2024-11-30 13:32:27,039 - api.main - INFO - STDERR: # destroy yaml.scanner +2024-11-30 13:32:27,039 - api.main - INFO - STDERR: # destroy yaml.parser +2024-11-30 13:32:27,039 - api.main - INFO - STDERR: # destroy yaml.composer +2024-11-30 13:32:27,039 - api.main - INFO - STDERR: # destroy yaml.constructor +2024-11-30 13:32:27,039 - api.main - INFO - STDERR: # destroy yaml.resolver +2024-11-30 13:32:27,039 - api.main - INFO - STDERR: # destroy yaml.loader +2024-11-30 13:32:27,039 - api.main - INFO - STDERR: # destroy yaml.emitter +2024-11-30 13:32:27,039 - api.main - INFO - STDERR: # destroy yaml.serializer +2024-11-30 13:32:27,039 - api.main - INFO - STDERR: # destroy yaml.representer +2024-11-30 13:32:27,039 - api.main - INFO - STDERR: # destroy yaml.dumper +2024-11-30 13:32:27,039 - api.main - INFO - STDERR: # destroy yaml.cyaml +2024-11-30 13:32:27,039 - api.main - INFO - STDERR: # cleanup[3] wiping yaml._yaml +2024-11-30 13:32:27,039 - api.main - INFO - STDERR: # cleanup[3] wiping cython_runtime +2024-11-30 13:32:27,039 - api.main - INFO - STDERR: # cleanup[3] wiping base64 +2024-11-30 13:32:27,040 - api.main - INFO - STDERR: # cleanup[3] wiping binascii +2024-11-30 13:32:27,040 - api.main - INFO - STDERR: # cleanup[3] wiping configargparse +2024-11-30 13:32:27,040 - api.main - INFO - STDERR: # destroy argparse +2024-11-30 13:32:27,040 - api.main - INFO - STDERR: # destroy glob +2024-11-30 13:32:27,040 - api.main - INFO - STDERR: # cleanup[3] wiping textwrap +2024-11-30 13:32:27,040 - api.main - INFO - STDERR: # cleanup[3] wiping fnmatch +2024-11-30 13:32:27,040 - api.main - INFO - STDERR: # cleanup[3] wiping posixpath +2024-11-30 13:32:27,040 - api.main - INFO - STDERR: # cleanup[3] wiping json +2024-11-30 13:32:27,040 - api.main - INFO - STDERR: # destroy json.decoder +2024-11-30 13:32:27,040 - api.main - INFO - STDERR: # destroy json.encoder +2024-11-30 13:32:27,040 - api.main - INFO - STDERR: # cleanup[3] wiping json.scanner +2024-11-30 13:32:27,040 - api.main - INFO - STDERR: # cleanup[3] wiping _json +2024-11-30 13:32:27,040 - api.main - INFO - STDERR: # cleanup[3] wiping typing +2024-11-30 13:32:27,040 - api.main - INFO - STDERR: # cleanup[3] wiping colorama.win32 +2024-11-30 13:32:27,040 - api.main - INFO - STDERR: # cleanup[3] wiping ctypes.wintypes +2024-11-30 13:32:27,040 - api.main - INFO - STDERR: # destroy ctypes +2024-11-30 13:32:27,040 - api.main - INFO - STDERR: # cleanup[3] wiping ctypes._endian +2024-11-30 13:32:27,040 - api.main - INFO - STDERR: # cleanup[3] wiping struct +2024-11-30 13:32:27,040 - api.main - INFO - STDERR: # cleanup[3] wiping _struct +2024-11-30 13:32:27,040 - api.main - INFO - STDERR: # cleanup[3] wiping _ctypes +2024-11-30 13:32:27,040 - api.main - INFO - STDERR: # cleanup[3] wiping contextlib +2024-11-30 13:32:27,040 - api.main - INFO - STDERR: # cleanup[3] wiping datetime +2024-11-30 13:32:27,040 - api.main - INFO - STDERR: # cleanup[3] wiping _datetime +2024-11-30 13:32:27,042 - api.main - INFO - STDERR: # cleanup[3] wiping random +2024-11-30 13:32:27,042 - api.main - INFO - STDERR: # cleanup[3] wiping _sha512 +2024-11-30 13:32:27,042 - api.main - INFO - STDERR: # cleanup[3] wiping _random +2024-11-30 13:32:27,042 - api.main - INFO - STDERR: # cleanup[3] wiping bisect +2024-11-30 13:32:27,042 - api.main - INFO - STDERR: # cleanup[3] wiping _bisect +2024-11-30 13:32:27,042 - api.main - INFO - STDERR: # cleanup[3] wiping math +2024-11-30 13:32:27,042 - api.main - INFO - STDERR: # cleanup[3] wiping logging +2024-11-30 13:32:27,042 - api.main - INFO - STDERR: # destroy logging.handlers +2024-11-30 13:32:27,042 - api.main - INFO - STDERR: # cleanup[3] wiping atexit +2024-11-30 13:32:27,042 - api.main - INFO - STDERR: # cleanup[3] wiping threading +2024-11-30 13:32:27,042 - api.main - INFO - STDERR: # cleanup[3] wiping string +2024-11-30 13:32:27,042 - api.main - INFO - STDERR: # cleanup[3] wiping _string +2024-11-30 13:32:27,042 - api.main - INFO - STDERR: # cleanup[3] wiping collections.abc +2024-11-30 13:32:27,042 - api.main - INFO - STDERR: # cleanup[3] wiping weakref +2024-11-30 13:32:27,042 - api.main - INFO - STDERR: # cleanup[3] wiping warnings +2024-11-30 13:32:27,043 - api.main - INFO - STDERR: # cleanup[3] wiping traceback +2024-11-30 13:32:27,043 - api.main - INFO - STDERR: # cleanup[3] wiping linecache +2024-11-30 13:32:27,043 - api.main - INFO - STDERR: # destroy tokenize +2024-11-30 13:32:27,043 - api.main - INFO - STDERR: # cleanup[3] wiping re +2024-11-30 13:32:27,043 - api.main - INFO - STDERR: # destroy sre_compile +2024-11-30 13:32:27,043 - api.main - INFO - STDERR: # cleanup[3] wiping copyreg +2024-11-30 13:32:27,043 - api.main - INFO - STDERR: # cleanup[3] wiping functools +2024-11-30 13:32:27,043 - api.main - INFO - STDERR: # cleanup[3] wiping _functools +2024-11-30 13:32:27,043 - api.main - INFO - STDERR: # cleanup[3] wiping collections +2024-11-30 13:32:27,043 - api.main - INFO - STDERR: # cleanup[3] wiping _collections +2024-11-30 13:32:27,043 - api.main - INFO - STDERR: # destroy _collections +2024-11-30 13:32:27,043 - api.main - INFO - STDERR: # cleanup[3] wiping reprlib +2024-11-30 13:32:27,043 - api.main - INFO - STDERR: # cleanup[3] wiping operator +2024-11-30 13:32:27,043 - api.main - INFO - STDERR: # cleanup[3] wiping _operator +2024-11-30 13:32:27,043 - api.main - INFO - STDERR: # cleanup[3] wiping keyword +2024-11-30 13:32:27,043 - api.main - INFO - STDERR: # cleanup[3] wiping itertools +2024-11-30 13:32:27,043 - api.main - INFO - STDERR: # cleanup[3] wiping heapq +2024-11-30 13:32:27,043 - api.main - INFO - STDERR: # cleanup[3] wiping _heapq +2024-11-30 13:32:27,043 - api.main - INFO - STDERR: # cleanup[3] wiping sre_parse +2024-11-30 13:32:27,043 - api.main - INFO - STDERR: # cleanup[3] wiping _sre +2024-11-30 13:32:27,043 - api.main - INFO - STDERR: # cleanup[3] wiping enum +2024-11-30 13:32:27,043 - api.main - INFO - STDERR: # cleanup[3] wiping types +2024-11-30 13:32:27,044 - api.main - INFO - STDERR: # cleanup[3] wiping _locale +2024-11-30 13:32:27,044 - api.main - INFO - STDERR: # cleanup[3] wiping os +2024-11-30 13:32:27,044 - api.main - INFO - STDERR: # cleanup[3] wiping os.path +2024-11-30 13:32:27,044 - api.main - INFO - STDERR: # destroy genericpath +2024-11-30 13:32:27,044 - api.main - INFO - STDERR: # cleanup[3] wiping ntpath +2024-11-30 13:32:27,044 - api.main - INFO - STDERR: # cleanup[3] wiping _collections_abc +2024-11-30 13:32:27,044 - api.main - INFO - STDERR: # cleanup[3] wiping stat +2024-11-30 13:32:27,044 - api.main - INFO - STDERR: # cleanup[3] wiping _stat +2024-11-30 13:32:27,044 - api.main - INFO - STDERR: # destroy _stat +2024-11-30 13:32:27,044 - api.main - INFO - STDERR: # cleanup[3] wiping io +2024-11-30 13:32:27,044 - api.main - INFO - STDERR: # cleanup[3] wiping abc +2024-11-30 13:32:27,044 - api.main - INFO - STDERR: # cleanup[3] wiping _abc +2024-11-30 13:32:27,044 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.latin_1 +2024-11-30 13:32:27,044 - api.main - INFO - STDERR: # cleanup[3] wiping _signal +2024-11-30 13:32:27,044 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.cp1252 +2024-11-30 13:32:27,045 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.utf_8 +2024-11-30 13:32:27,045 - api.main - INFO - STDERR: # cleanup[3] wiping encodings +2024-11-30 13:32:27,045 - api.main - INFO - STDERR: # destroy encodings.aliases +2024-11-30 13:32:27,045 - api.main - INFO - STDERR: # destroy encodings.utf_8 +2024-11-30 13:32:27,045 - api.main - INFO - STDERR: # destroy encodings.cp1252 +2024-11-30 13:32:27,045 - api.main - INFO - STDERR: # destroy encodings.latin_1 +2024-11-30 13:32:27,045 - api.main - INFO - STDERR: # destroy encodings.idna +2024-11-30 13:32:27,046 - api.main - INFO - STDERR: # destroy encodings.unicode_escape +2024-11-30 13:32:27,046 - api.main - INFO - STDERR: # cleanup[3] wiping codecs +2024-11-30 13:32:27,046 - api.main - INFO - STDERR: # cleanup[3] wiping _codecs +2024-11-30 13:32:27,046 - api.main - INFO - STDERR: # cleanup[3] wiping zipimport +2024-11-30 13:32:27,046 - api.main - INFO - STDERR: # destroy _frozen_importlib_external +2024-11-30 13:32:27,046 - api.main - INFO - STDERR: # cleanup[3] wiping time +2024-11-30 13:32:27,046 - api.main - INFO - STDERR: # cleanup[3] wiping winreg +2024-11-30 13:32:27,046 - api.main - INFO - STDERR: # cleanup[3] wiping nt +2024-11-30 13:32:27,046 - api.main - INFO - STDERR: # cleanup[3] wiping marshal +2024-11-30 13:32:27,046 - api.main - INFO - STDERR: # cleanup[3] wiping _io +2024-11-30 13:32:27,046 - api.main - INFO - STDERR: # cleanup[3] wiping _weakref +2024-11-30 13:32:27,046 - api.main - INFO - STDERR: # cleanup[3] wiping _warnings +2024-11-30 13:32:27,046 - api.main - INFO - STDERR: # cleanup[3] wiping _thread +2024-11-30 13:32:27,046 - api.main - INFO - STDERR: # cleanup[3] wiping _imp +2024-11-30 13:32:27,047 - api.main - INFO - STDERR: # cleanup[3] wiping _frozen_importlib +2024-11-30 13:32:27,047 - api.main - INFO - STDERR: # cleanup[3] wiping sys +2024-11-30 13:32:27,047 - api.main - INFO - STDERR: # cleanup[3] wiping builtins +2024-11-30 13:32:27,047 - api.main - INFO - STDERR: # destroy pyexpat.errors +2024-11-30 13:32:27,047 - api.main - INFO - STDERR: # destroy pyexpat.model +2024-11-30 13:32:27,047 - api.main - INFO - STDERR: # destroy gc +2024-11-30 13:32:27,047 - api.main - INFO - STDERR: # destroy wrapt._wrappers +2024-11-30 13:32:27,047 - api.main - INFO - STDERR: # destroy _asyncio +2024-11-30 13:32:27,047 - api.main - INFO - STDERR: # destroy PIL._imaging +2024-11-30 13:32:27,047 - api.main - INFO - STDERR: # destroy _multibytecodec +2024-11-30 13:32:27,047 - api.main - INFO - STDERR: # destroy charset_normalizer.md__mypyc +2024-11-30 13:32:27,047 - api.main - INFO - STDERR: # destroy _queue +2024-11-30 13:32:27,047 - api.main - INFO - STDERR: # destroy _ssl +2024-11-30 13:32:27,047 - api.main - INFO - STDERR: # destroy pyexpat +2024-11-30 13:32:27,048 - api.main - INFO - STDERR: # destroy _lzma +2024-11-30 13:32:27,048 - api.main - INFO - STDERR: # destroy _blake2 +2024-11-30 13:32:27,048 - api.main - INFO - STDERR: # destroy _datetime +2024-11-30 13:32:27,048 - api.main - INFO - STDERR: # destroy _sha512 +2024-11-30 13:32:27,048 - api.main - INFO - STDERR: # destroy _random +2024-11-30 13:32:27,048 - api.main - INFO - STDERR: # destroy _bisect +2024-11-30 13:32:27,048 - api.main - INFO - STDERR: # destroy _string +2024-11-30 13:32:27,048 - api.main - INFO - STDERR: # destroy winreg +2024-11-30 13:32:27,048 - api.main - INFO - STDERR: # destroy marshal +2024-11-30 13:32:27,050 - api.main - INFO - STDERR: # destroy _sre +2024-11-30 13:32:27,050 - api.main - INFO - STDERR: # destroy sre_parse +2024-11-30 13:32:27,050 - api.main - INFO - STDERR: # destroy charset_normalizer.md +2024-11-30 13:32:27,051 - api.main - INFO - STDERR: # destroy concurrent +2024-11-30 13:32:27,051 - api.main - INFO - STDERR: # destroy asyncio.sslproto +2024-11-30 13:32:27,051 - api.main - INFO - STDERR: # destroy asyncio.staggered +2024-11-30 13:32:27,051 - api.main - INFO - STDERR: # destroy asyncio.transports +2024-11-30 13:32:27,051 - api.main - INFO - STDERR: # destroy asyncio.trsock +2024-11-30 13:32:27,051 - api.main - INFO - STDERR: # destroy reprlib +2024-11-30 13:32:27,051 - api.main - INFO - STDERR: # destroy asyncio.constants +2024-11-30 13:32:27,051 - api.main - INFO - STDERR: # destroy linecache +2024-11-30 13:32:27,051 - api.main - INFO - STDERR: # destroy asyncio.base_futures +2024-11-30 13:32:27,051 - api.main - INFO - STDERR: # destroy asyncio.coroutines +2024-11-30 13:32:27,051 - api.main - INFO - STDERR: # destroy heapq +2024-11-30 13:32:27,051 - api.main - INFO - STDERR: # destroy asyncio.locks +2024-11-30 13:32:27,051 - api.main - INFO - STDERR: # destroy asyncio.protocols +2024-11-30 13:32:27,051 - api.main - INFO - STDERR: # destroy asyncio.streams +2024-11-30 13:32:27,051 - api.main - INFO - STDERR: # destroy contextvars +2024-11-30 13:32:27,051 - api.main - INFO - STDERR: # destroy _overlapped +2024-11-30 13:32:27,051 - api.main - INFO - STDERR: # destroy asyncio.events +2024-11-30 13:32:27,051 - api.main - INFO - STDERR: # destroy asyncio.base_subprocess +2024-11-30 13:32:27,051 - api.main - INFO - STDERR: # destroy asyncio.futures +2024-11-30 13:32:27,051 - api.main - INFO - STDERR: # destroy asyncio.exceptions +2024-11-30 13:32:27,051 - api.main - INFO - STDERR: # destroy asyncio.proactor_events +2024-11-30 13:32:27,051 - api.main - INFO - STDERR: # destroy asyncio.selector_events +2024-11-30 13:32:27,053 - api.main - INFO - STDERR: # destroy asyncio.tasks +2024-11-30 13:32:27,053 - api.main - INFO - STDERR: # destroy asyncio.windows_utils +2024-11-30 13:32:27,053 - api.main - INFO - STDERR: # destroy _compat_pickle +2024-11-30 13:32:27,053 - api.main - INFO - STDERR: # destroy _pickle +2024-11-30 13:32:27,053 - api.main - INFO - STDERR: # destroy _signal +2024-11-30 13:32:27,053 - api.main - INFO - STDERR: # destroy _collections_abc +2024-11-30 13:32:27,053 - api.main - INFO - STDERR: # destroy _locale +2024-11-30 13:32:27,053 - api.main - INFO - STDERR: # destroy _opcode +2024-11-30 13:32:27,053 - api.main - INFO - STDERR: # destroy _winapi +2024-11-30 13:32:27,053 - api.main - INFO - STDERR: # destroy copyreg +2024-11-30 13:32:27,053 - api.main - INFO - STDERR: # destroy logzero.colors +2024-11-30 13:32:27,053 - api.main - INFO - STDERR: # destroy logzero.jsonlogger +2024-11-30 13:32:27,054 - api.main - INFO - STDERR: # destroy enum +2024-11-30 13:32:27,054 - api.main - INFO - STDERR: # destroy packaging.version +2024-11-30 13:32:27,054 - api.main - INFO - STDERR: # destroy whichcraft +2024-11-30 13:32:27,054 - api.main - INFO - STDERR: # destroy colorama.win32 +2024-11-30 13:32:27,054 - api.main - INFO - STDERR: # destroy urllib3 +2024-11-30 13:32:27,055 - api.main - INFO - STDERR: # destroy xml +2024-11-30 13:32:27,055 - api.main - INFO - STDERR: # destroy xmltodict +2024-11-30 13:32:27,055 - api.main - INFO - STDERR: # destroy pprint +2024-11-30 13:32:27,055 - api.main - INFO - STDERR: # destroy json.scanner +2024-11-30 13:32:27,055 - api.main - INFO - STDERR: # destroy _json +2024-11-30 13:32:27,055 - api.main - INFO - STDERR: # destroy keyword +2024-11-30 13:32:27,055 - api.main - INFO - STDERR: # destroy wrapt +2024-11-30 13:32:27,055 - api.main - INFO - STDERR: # destroy shlex +2024-11-30 13:32:27,055 - api.main - INFO - STDERR: # destroy filelock +2024-11-30 13:32:27,056 - api.main - INFO - STDERR: # destroy six +2024-11-30 13:32:27,056 - api.main - INFO - STDERR: # destroy abc +2024-11-30 13:32:27,056 - api.main - INFO - STDERR: # destroy tarfile +2024-11-30 13:32:27,056 - api.main - INFO - STDERR: # destroy adbutils +2024-11-30 13:32:27,056 - api.main - INFO - STDERR: # destroy progress +2024-11-30 13:32:27,056 - api.main - INFO - STDERR: # destroy uiautomator2 +2024-11-30 13:32:27,056 - api.main - INFO - STDERR: # destroy base64 +2024-11-30 13:32:27,056 - api.main - INFO - STDERR: # destroy html +2024-11-30 13:32:27,056 - api.main - INFO - STDERR: # destroy _imp +2024-11-30 13:32:27,056 - api.main - INFO - STDERR: # destroy plistlib +2024-11-30 13:32:27,056 - api.main - INFO - STDERR: # destroy posixpath +2024-11-30 13:32:27,056 - api.main - INFO - STDERR: # destroy zipimport +2024-11-30 13:32:27,056 - api.main - INFO - STDERR: # destroy packaging +2024-11-30 13:32:27,056 - api.main - INFO - STDERR: # destroy msvcrt +2024-11-30 13:32:27,056 - api.main - INFO - STDERR: # destroy _weakref +2024-11-30 13:32:27,056 - api.main - INFO - STDERR: # destroy requests.sessions +2024-11-30 13:32:27,056 - api.main - INFO - STDERR: # destroy six.moves.urllib_parse +2024-11-30 13:32:27,056 - api.main - INFO - STDERR: # destroy six.moves.urllib.error +2024-11-30 13:32:27,056 - api.main - INFO - STDERR: # destroy six.moves.urllib.request +2024-11-30 13:32:27,056 - api.main - INFO - STDERR: # destroy six.moves.urllib.response +2024-11-30 13:32:27,056 - api.main - INFO - STDERR: # destroy six.moves.urllib.robotparser +2024-11-30 13:32:27,056 - api.main - INFO - STDERR: # destroy emoji.unicode_codes +2024-11-30 13:32:27,057 - api.main - INFO - STDERR: # destroy _socket +2024-11-30 13:32:27,057 - api.main - INFO - STDERR: # destroy xml.dom.minidom +2024-11-30 13:32:27,057 - api.main - INFO - STDERR: # destroy apkutils2.axml.public +2024-11-30 13:32:27,057 - api.main - INFO - STDERR: # destroy pathlib +2024-11-30 13:32:27,057 - api.main - INFO - STDERR: # destroy apkutils2 +2024-11-30 13:32:27,057 - api.main - INFO - STDERR: # destroy PIL.Image +2024-11-30 13:32:27,057 - api.main - INFO - STDERR: # destroy calendar +2024-11-30 13:32:27,057 - api.main - INFO - STDERR: # destroy zipfile +2024-11-30 13:32:27,057 - api.main - INFO - STDERR: # destroy requests.certs +2024-11-30 13:32:27,058 - api.main - INFO - STDERR: # destroy hashlib +2024-11-30 13:32:27,058 - api.main - INFO - STDERR: # destroy encodings +2024-11-30 13:32:27,058 - api.main - INFO - STDERR: # destroy charset_normalizer +2024-11-30 13:32:27,058 - api.main - INFO - STDERR: # destroy asyncio +2024-11-30 13:32:27,058 - api.main - INFO - STDERR: # destroy urllib3.util.connection +2024-11-30 13:32:27,058 - api.main - INFO - STDERR: # destroy email +2024-11-30 13:32:27,058 - api.main - INFO - STDERR: # destroy mimetypes +2024-11-30 13:32:27,058 - api.main - INFO - STDERR: # destroy codecs +2024-11-30 13:32:27,058 - api.main - INFO - STDERR: # destroy urllib3.util +2024-11-30 13:32:27,058 - api.main - INFO - STDERR: # destroy queue +2024-11-30 13:32:27,058 - api.main - INFO - STDERR: # destroy configargparse +2024-11-30 13:32:27,058 - api.main - INFO - STDERR: # destroy textwrap +2024-11-30 13:32:27,058 - api.main - INFO - STDERR: # destroy platformdirs.api +2024-11-30 13:32:27,058 - api.main - INFO - STDERR: # destroy platformdirs.version +2024-11-30 13:32:27,058 - api.main - INFO - STDERR: # destroy platformdirs.windows +2024-11-30 13:32:27,058 - api.main - INFO - STDERR: # destroy jwt +2024-11-30 13:32:27,058 - api.main - INFO - STDERR: # destroy xml.sax.handler +2024-11-30 13:32:27,058 - api.main - INFO - STDERR: # destroy atexit +2024-11-30 13:32:27,058 - api.main - INFO - STDERR: # destroy weakref +2024-11-30 13:32:27,058 - api.main - INFO - STDERR: # destroy _thread +2024-11-30 13:32:27,058 - api.main - INFO - STDERR: # destroy errno +2024-11-30 13:32:27,058 - api.main - INFO - STDERR: # destroy select +2024-11-30 13:32:27,058 - api.main - INFO - STDERR: # destroy socket +2024-11-30 13:32:27,058 - api.main - INFO - STDERR: # destroy hmac +2024-11-30 13:32:27,059 - api.main - INFO - STDERR: # destroy urllib3.packages.six +2024-11-30 13:32:27,059 - api.main - INFO - STDERR: # destroy _hashlib +2024-11-30 13:32:27,059 - api.main - INFO - STDERR: # destroy ssl +2024-11-30 13:32:27,059 - api.main - INFO - STDERR: # destroy pkgutil +2024-11-30 13:32:27,059 - api.main - INFO - STDERR: # destroy string +2024-11-30 13:32:27,059 - api.main - INFO - STDERR: # destroy copy +2024-11-30 13:32:27,059 - api.main - INFO - STDERR: # destroy inspect +2024-11-30 13:32:27,059 - api.main - INFO - STDERR: # destroy more_itertools +2024-11-30 13:32:27,060 - api.main - INFO - STDERR: # destroy backports.tarfile +2024-11-30 13:32:27,060 - api.main - INFO - STDERR: # destroy _warnings +2024-11-30 13:32:27,060 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib_parse +2024-11-30 13:32:27,060 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib.error +2024-11-30 13:32:27,060 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib.request +2024-11-30 13:32:27,060 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib.response +2024-11-30 13:32:27,060 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib.robotparser +2024-11-30 13:32:27,060 - api.main - INFO - STDERR: # destroy stat +2024-11-30 13:32:27,060 - api.main - INFO - STDERR: # destroy threading +2024-11-30 13:32:27,060 - api.main - INFO - STDERR: # destroy zlib +2024-11-30 13:32:27,060 - api.main - INFO - STDERR: # destroy bz2 +2024-11-30 13:32:27,060 - api.main - INFO - STDERR: # destroy lzma +2024-11-30 13:32:27,060 - api.main - INFO - STDERR: # destroy distutils.compat.py38 +2024-11-30 13:32:27,060 - api.main - INFO - STDERR: # destroy distutils.compat.py39 +2024-11-30 13:32:27,061 - api.main - INFO - STDERR: # destroy shutil +2024-11-30 13:32:27,061 - api.main - INFO - STDERR: # destroy subprocess +2024-11-30 13:32:27,061 - api.main - INFO - STDERR: # destroy distutils._modified +2024-11-30 13:32:27,061 - api.main - INFO - STDERR: # destroy distutils.archive_util +2024-11-30 13:32:27,061 - api.main - INFO - STDERR: # destroy distutils.dir_util +2024-11-30 13:32:27,061 - api.main - INFO - STDERR: # destroy distutils.file_util +2024-11-30 13:32:27,061 - api.main - INFO - STDERR: # destroy distutils.util +2024-11-30 13:32:27,061 - api.main - INFO - STDERR: # destroy importlib +2024-11-30 13:32:27,061 - api.main - INFO - STDERR: # destroy http.client +2024-11-30 13:32:27,061 - api.main - INFO - STDERR: # destroy http.cookiejar +2024-11-30 13:32:27,061 - api.main - INFO - STDERR: # destroy http.cookies +2024-11-30 13:32:27,061 - api.main - INFO - STDERR: # destroy bisect +2024-11-30 13:32:27,062 - api.main - INFO - STDERR: # destroy unicodedata +2024-11-30 13:32:27,062 - api.main - INFO - STDERR: # destroy idna.idnadata +2024-11-30 13:32:27,062 - api.main - INFO - STDERR: # destroy fnmatch +2024-11-30 13:32:27,062 - api.main - INFO - STDERR: # destroy requests +2024-11-30 13:32:27,062 - api.main - INFO - STDERR: # destroy yaml +2024-11-30 13:32:27,062 - api.main - INFO - STDERR: # destroy uuid +2024-11-30 13:32:27,062 - api.main - INFO - STDERR: # destroy collections +2024-11-30 13:32:27,062 - api.main - INFO - STDERR: # destroy struct +2024-11-30 13:32:27,062 - api.main - INFO - STDERR: # destroy apkutils2.dex.dalvikformats +2024-11-30 13:32:27,062 - api.main - INFO - STDERR: # destroy apkutils2.dex.util +2024-11-30 13:32:27,062 - api.main - INFO - STDERR: # destroy array +2024-11-30 13:32:27,062 - api.main - INFO - STDERR: # destroy binascii +2024-11-30 13:32:27,062 - api.main - INFO - STDERR: # destroy setuptools._distutils +2024-11-30 13:32:27,062 - api.main - INFO - STDERR: # destroy contextlib +2024-11-30 13:32:27,062 - api.main - INFO - STDERR: # destroy tempfile +2024-11-30 13:32:27,062 - api.main - INFO - STDERR: # destroy nt +2024-11-30 13:32:27,062 - api.main - INFO - STDERR: # destroy traceback +2024-11-30 13:32:27,062 - api.main - INFO - STDERR: # destroy spintax +2024-11-30 13:32:27,062 - api.main - INFO - STDERR: # destroy GramAddict.core.storage +2024-11-30 13:32:27,062 - api.main - INFO - STDERR: # destroy ntpath +2024-11-30 13:32:27,063 - api.main - INFO - STDERR: # destroy operator +2024-11-30 13:32:27,063 - api.main - INFO - STDERR: # destroy collections.abc +2024-11-30 13:32:27,063 - api.main - INFO - STDERR: # destroy _functools +2024-11-30 13:32:27,063 - api.main - INFO - STDERR: # destroy _heapq +2024-11-30 13:32:27,063 - api.main - INFO - STDERR: # destroy itertools +2024-11-30 13:32:27,063 - api.main - INFO - STDERR: # destroy math +2024-11-30 13:32:27,063 - api.main - INFO - STDERR: # destroy _operator +2024-11-30 13:32:27,063 - api.main - INFO - STDERR: # destroy urllib +2024-11-30 13:32:27,063 - api.main - INFO - STDERR: # destroy datetime +2024-11-30 13:32:27,063 - api.main - INFO - STDERR: # destroy platform +2024-11-30 13:32:27,063 - api.main - INFO - STDERR: # destroy emoji +2024-11-30 13:32:27,063 - api.main - INFO - STDERR: # destroy json +2024-11-30 13:32:27,063 - api.main - INFO - STDERR: # destroy jwt.api_jws +2024-11-30 13:32:27,063 - api.main - INFO - STDERR: # destroy time +2024-11-30 13:32:27,063 - api.main - INFO - STDERR: # destroy random +2024-11-30 13:32:27,064 - api.main - INFO - STDERR: # destroy warnings +2024-11-30 13:32:27,064 - api.main - INFO - STDERR: # destroy _frozen_importlib +2024-11-30 13:32:27,064 - api.main - INFO - STDERR: # clear sys.audit hooks +2024-11-30 13:33:04,036 - api.main - INFO - Starting session for account quecreate with config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml +2024-11-30 13:33:04,036 - api.main - INFO - Running command: e:\PROJECTS\instagram automation\virtualinfluencer\venv\Scripts\python.exe -v e:\PROJECTS\instagram automation\virtualinfluencer\run.py --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 13:33:04,036 - api.main - INFO - Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 13:33:04,036 - api.main - INFO - Environment PYTHONPATH: None +2024-11-30 13:33:04,036 - api.main - INFO - Starting process with command: e:\PROJECTS\instagram automation\virtualinfluencer\venv\Scripts\python.exe -v e:\PROJECTS\instagram automation\virtualinfluencer\run.py --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 13:33:04,036 - api.main - INFO - Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 13:33:04,036 - api.main - INFO - PYTHONPATH: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 13:33:04,040 - api.main - INFO - Process started with PID: 26144 +2024-11-30 13:33:04,040 - api.main - INFO - Successfully started session for account: quecreate +2024-11-30 13:33:04,067 - api.main - INFO - STDERR: import _frozen_importlib # frozen +2024-11-30 13:33:04,067 - api.main - INFO - STDERR: import _imp # builtin +2024-11-30 13:33:04,068 - api.main - INFO - STDERR: import '_thread' # +2024-11-30 13:33:04,068 - api.main - INFO - STDERR: import '_warnings' # +2024-11-30 13:33:04,068 - api.main - INFO - STDERR: import '_weakref' # +2024-11-30 13:33:04,068 - api.main - INFO - STDERR: import '_io' # +2024-11-30 13:33:04,068 - api.main - INFO - STDERR: import 'marshal' # +2024-11-30 13:33:04,068 - api.main - INFO - STDERR: import 'nt' # +2024-11-30 13:33:04,068 - api.main - INFO - STDERR: import 'winreg' # +2024-11-30 13:33:04,068 - api.main - INFO - STDERR: import '_frozen_importlib_external' # +2024-11-30 13:33:04,068 - api.main - INFO - STDERR: # installing zipimport hook +2024-11-30 13:33:04,069 - api.main - INFO - STDERR: import 'time' # +2024-11-30 13:33:04,069 - api.main - INFO - STDERR: import 'zipimport' # +2024-11-30 13:33:04,069 - api.main - INFO - STDERR: # installed zipimport hook +2024-11-30 13:33:04,071 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__init__.py +2024-11-30 13:33:04,071 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,071 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\codecs.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\codecs.py +2024-11-30 13:33:04,072 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\codecs.cpython-39.pyc' +2024-11-30 13:33:04,072 - api.main - INFO - STDERR: import '_codecs' # +2024-11-30 13:33:04,072 - api.main - INFO - STDERR: import 'codecs' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8DFE5940> +2024-11-30 13:33:04,073 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\aliases.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\aliases.py +2024-11-30 13:33:04,073 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\aliases.cpython-39.pyc' +2024-11-30 13:33:04,073 - api.main - INFO - STDERR: import 'encodings.aliases' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E004EB0> +2024-11-30 13:33:04,073 - api.main - INFO - STDERR: import 'encodings' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8DFE5730> +2024-11-30 13:33:04,074 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\utf_8.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\utf_8.py +2024-11-30 13:33:04,074 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\utf_8.cpython-39.pyc' +2024-11-30 13:33:04,074 - api.main - INFO - STDERR: import 'encodings.utf_8' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8DFE5790> +2024-11-30 13:33:04,074 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\cp1252.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\cp1252.py +2024-11-30 13:33:04,074 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\cp1252.cpython-39.pyc' +2024-11-30 13:33:04,074 - api.main - INFO - STDERR: import 'encodings.cp1252' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E004FA0> +2024-11-30 13:33:04,076 - api.main - INFO - STDERR: import '_signal' # +2024-11-30 13:33:04,076 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\latin_1.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\latin_1.py +2024-11-30 13:33:04,076 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\latin_1.cpython-39.pyc' +2024-11-30 13:33:04,076 - api.main - INFO - STDERR: import 'encodings.latin_1' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E01C340> +2024-11-30 13:33:04,077 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\io.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\io.py +2024-11-30 13:33:04,077 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\io.cpython-39.pyc' +2024-11-30 13:33:04,078 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\abc.py +2024-11-30 13:33:04,078 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 13:33:04,078 - api.main - INFO - STDERR: import '_abc' # +2024-11-30 13:33:04,078 - api.main - INFO - STDERR: import 'abc' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E01C7F0> +2024-11-30 13:33:04,078 - api.main - INFO - STDERR: import 'io' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E01C520> +2024-11-30 13:33:04,079 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\site.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\site.py +2024-11-30 13:33:04,079 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\site.cpython-39.pyc' +2024-11-30 13:33:04,080 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\os.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\os.py +2024-11-30 13:33:04,080 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\os.cpython-39.pyc' +2024-11-30 13:33:04,080 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\stat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\stat.py +2024-11-30 13:33:04,081 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\stat.cpython-39.pyc' +2024-11-30 13:33:04,081 - api.main - INFO - STDERR: import '_stat' # +2024-11-30 13:33:04,081 - api.main - INFO - STDERR: import 'stat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E4EFFA0> +2024-11-30 13:33:04,081 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_collections_abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_collections_abc.py +2024-11-30 13:33:04,081 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_collections_abc.cpython-39.pyc' +2024-11-30 13:33:04,082 - api.main - INFO - STDERR: import '_collections_abc' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E4F6130> +2024-11-30 13:33:04,083 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ntpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ntpath.py +2024-11-30 13:33:04,083 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ntpath.cpython-39.pyc' +2024-11-30 13:33:04,083 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\genericpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\genericpath.py +2024-11-30 13:33:04,083 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\genericpath.cpython-39.pyc' +2024-11-30 13:33:04,083 - api.main - INFO - STDERR: import 'genericpath' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E51F970> +2024-11-30 13:33:04,083 - api.main - INFO - STDERR: import 'ntpath' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E4F6A60> +2024-11-30 13:33:04,083 - api.main - INFO - STDERR: import 'os' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E0257C0> +2024-11-30 13:33:04,085 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_sitebuiltins.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_sitebuiltins.py +2024-11-30 13:33:04,085 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_sitebuiltins.cpython-39.pyc' +2024-11-30 13:33:04,085 - api.main - INFO - STDERR: import '_sitebuiltins' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E4EF460> +2024-11-30 13:33:04,086 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_bootlocale.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_bootlocale.py +2024-11-30 13:33:04,086 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_bootlocale.cpython-39.pyc' +2024-11-30 13:33:04,086 - api.main - INFO - STDERR: import '_locale' # +2024-11-30 13:33:04,086 - api.main - INFO - STDERR: import '_bootlocale' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E51FD90> +2024-11-30 13:33:04,087 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__init__.py +2024-11-30 13:33:04,087 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\_distutils_hack\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,087 - api.main - INFO - STDERR: import '_distutils_hack' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E535B80> +2024-11-30 13:33:04,088 - api.main - INFO - STDERR: import 'site' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E01C850> +2024-11-30 13:33:04,089 - api.main - INFO - STDERR: Python 3.9.10 (tags/v3.9.10:f2f3f53, Jan 17 2022, 15:14:21) [MSC v.1929 64 bit (AMD64)] on win32 +2024-11-30 13:33:04,089 - api.main - INFO - STDERR: Type "help", "copyright", "credits" or "license" for more information. +2024-11-30 13:33:04,089 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\__init__.py +2024-11-30 13:33:04,089 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,090 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__init__.py +2024-11-30 13:33:04,090 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,090 - api.main - INFO - STDERR: import 'GramAddict.core' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E5445B0> +2024-11-30 13:33:04,090 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\bot_flow.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\bot_flow.py +2024-11-30 13:33:04,091 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\bot_flow.cpython-39.pyc' +2024-11-30 13:33:04,092 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__init__.py +2024-11-30 13:33:04,092 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\logging\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,093 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\re.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\re.py +2024-11-30 13:33:04,093 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\re.cpython-39.pyc' +2024-11-30 13:33:04,093 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\enum.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\enum.py +2024-11-30 13:33:04,093 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\enum.cpython-39.pyc' +2024-11-30 13:33:04,095 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\types.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\types.py +2024-11-30 13:33:04,095 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\types.cpython-39.pyc' +2024-11-30 13:33:04,095 - api.main - INFO - STDERR: import 'types' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E7874C0> +2024-11-30 13:33:04,095 - api.main - INFO - STDERR: import 'enum' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E76EFD0> +2024-11-30 13:33:04,097 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_compile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_compile.py +2024-11-30 13:33:04,097 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_compile.cpython-39.pyc' +2024-11-30 13:33:04,097 - api.main - INFO - STDERR: import '_sre' # +2024-11-30 13:33:04,098 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_parse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_parse.py +2024-11-30 13:33:04,098 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_parse.cpython-39.pyc' +2024-11-30 13:33:04,099 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_constants.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_constants.py +2024-11-30 13:33:04,099 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_constants.cpython-39.pyc' +2024-11-30 13:33:04,100 - api.main - INFO - STDERR: import 'sre_constants' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E7AB2E0> +2024-11-30 13:33:04,100 - api.main - INFO - STDERR: import 'sre_parse' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E7998B0> +2024-11-30 13:33:04,100 - api.main - INFO - STDERR: import 'sre_compile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E787FD0> +2024-11-30 13:33:04,101 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\functools.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\functools.py +2024-11-30 13:33:04,101 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\functools.cpython-39.pyc' +2024-11-30 13:33:04,101 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__init__.py +2024-11-30 13:33:04,102 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\collections\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,103 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\heapq.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\heapq.py +2024-11-30 13:33:04,103 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\heapq.cpython-39.pyc' +2024-11-30 13:33:04,103 - api.main - INFO - STDERR: import '_heapq' # +2024-11-30 13:33:04,103 - api.main - INFO - STDERR: import 'heapq' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E7DEA60> +2024-11-30 13:33:04,103 - api.main - INFO - STDERR: import 'itertools' # +2024-11-30 13:33:04,104 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\keyword.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\keyword.py +2024-11-30 13:33:04,104 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\keyword.cpython-39.pyc' +2024-11-30 13:33:04,104 - api.main - INFO - STDERR: import 'keyword' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E7DEFD0> +2024-11-30 13:33:04,104 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\operator.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\operator.py +2024-11-30 13:33:04,104 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\operator.cpython-39.pyc' +2024-11-30 13:33:04,105 - api.main - INFO - STDERR: import '_operator' # +2024-11-30 13:33:04,105 - api.main - INFO - STDERR: import 'operator' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E7DEF10> +2024-11-30 13:33:04,105 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\reprlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\reprlib.py +2024-11-30 13:33:04,105 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\reprlib.cpython-39.pyc' +2024-11-30 13:33:04,105 - api.main - INFO - STDERR: import 'reprlib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E7F0160> +2024-11-30 13:33:04,106 - api.main - INFO - STDERR: import '_collections' # +2024-11-30 13:33:04,106 - api.main - INFO - STDERR: import 'collections' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E7B9EE0> +2024-11-30 13:33:04,106 - api.main - INFO - STDERR: import '_functools' # +2024-11-30 13:33:04,106 - api.main - INFO - STDERR: import 'functools' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E7B1790> +2024-11-30 13:33:04,108 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\copyreg.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\copyreg.py +2024-11-30 13:33:04,108 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\copyreg.cpython-39.pyc' +2024-11-30 13:33:04,108 - api.main - INFO - STDERR: import 'copyreg' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E7C6730> +2024-11-30 13:33:04,108 - api.main - INFO - STDERR: import 're' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E76E580> +2024-11-30 13:33:04,108 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\traceback.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\traceback.py +2024-11-30 13:33:04,108 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\traceback.cpython-39.pyc' +2024-11-30 13:33:04,109 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\linecache.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\linecache.py +2024-11-30 13:33:04,109 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\linecache.cpython-39.pyc' +2024-11-30 13:33:04,110 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tokenize.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tokenize.py +2024-11-30 13:33:04,110 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tokenize.cpython-39.pyc' +2024-11-30 13:33:04,110 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\token.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\token.py +2024-11-30 13:33:04,112 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\token.cpython-39.pyc' +2024-11-30 13:33:04,112 - api.main - INFO - STDERR: import 'token' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E7F3F40> +2024-11-30 13:33:04,112 - api.main - INFO - STDERR: import 'tokenize' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E7F3550> +2024-11-30 13:33:04,112 - api.main - INFO - STDERR: import 'linecache' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E7F0A90> +2024-11-30 13:33:04,112 - api.main - INFO - STDERR: import 'traceback' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E7C6340> +2024-11-30 13:33:04,113 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\warnings.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\warnings.py +2024-11-30 13:33:04,113 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\warnings.cpython-39.pyc' +2024-11-30 13:33:04,113 - api.main - INFO - STDERR: import 'warnings' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E7F0910> +2024-11-30 13:33:04,114 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\weakref.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\weakref.py +2024-11-30 13:33:04,114 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\weakref.cpython-39.pyc' +2024-11-30 13:33:04,115 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_weakrefset.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_weakrefset.py +2024-11-30 13:33:04,115 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_weakrefset.cpython-39.pyc' +2024-11-30 13:33:04,115 - api.main - INFO - STDERR: import '_weakrefset' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E835D90> +2024-11-30 13:33:04,115 - api.main - INFO - STDERR: import 'weakref' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E7F9760> +2024-11-30 13:33:04,115 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\abc.py +2024-11-30 13:33:04,115 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\collections\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 13:33:04,115 - api.main - INFO - STDERR: import 'collections.abc' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E83EA30> +2024-11-30 13:33:04,118 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\string.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\string.py +2024-11-30 13:33:04,118 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\string.cpython-39.pyc' +2024-11-30 13:33:04,118 - api.main - INFO - STDERR: import '_string' # +2024-11-30 13:33:04,118 - api.main - INFO - STDERR: import 'string' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E83EB20> +2024-11-30 13:33:04,119 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\threading.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\threading.py +2024-11-30 13:33:04,119 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\threading.cpython-39.pyc' +2024-11-30 13:33:04,119 - api.main - INFO - STDERR: import 'threading' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E84A130> +2024-11-30 13:33:04,121 - api.main - INFO - STDERR: import 'atexit' # +2024-11-30 13:33:04,121 - api.main - INFO - STDERR: import 'logging' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E544190> +2024-11-30 13:33:04,123 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\random.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\random.py +2024-11-30 13:33:04,123 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\random.cpython-39.pyc' +2024-11-30 13:33:04,123 - api.main - INFO - STDERR: import 'math' # +2024-11-30 13:33:04,124 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\bisect.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\bisect.py +2024-11-30 13:33:04,124 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\bisect.cpython-39.pyc' +2024-11-30 13:33:04,125 - api.main - INFO - STDERR: import '_bisect' # +2024-11-30 13:33:04,125 - api.main - INFO - STDERR: import 'bisect' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E86BF40> +2024-11-30 13:33:04,125 - api.main - INFO - STDERR: import '_random' # +2024-11-30 13:33:04,125 - api.main - INFO - STDERR: import '_sha512' # +2024-11-30 13:33:04,125 - api.main - INFO - STDERR: import 'random' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E535130> +2024-11-30 13:33:04,126 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\datetime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\datetime.py +2024-11-30 13:33:04,126 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\datetime.cpython-39.pyc' +2024-11-30 13:33:04,127 - api.main - INFO - STDERR: import '_datetime' # +2024-11-30 13:33:04,127 - api.main - INFO - STDERR: import 'datetime' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E884190> +2024-11-30 13:33:04,129 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__init__.py +2024-11-30 13:33:04,129 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,130 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\initialise.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\initialise.py +2024-11-30 13:33:04,130 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\initialise.cpython-39.pyc' +2024-11-30 13:33:04,134 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\contextlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\contextlib.py +2024-11-30 13:33:04,134 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\contextlib.cpython-39.pyc' +2024-11-30 13:33:04,135 - api.main - INFO - STDERR: import 'contextlib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E8AFBB0> +2024-11-30 13:33:04,136 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\ansitowin32.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\ansitowin32.py +2024-11-30 13:33:04,137 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\ansitowin32.cpython-39.pyc' +2024-11-30 13:33:04,137 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\ansi.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\ansi.py +2024-11-30 13:33:04,137 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\ansi.cpython-39.pyc' +2024-11-30 13:33:04,138 - api.main - INFO - STDERR: import 'colorama.ansi' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E8BF730> +2024-11-30 13:33:04,139 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\winterm.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\winterm.py +2024-11-30 13:33:04,140 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\winterm.cpython-39.pyc' +2024-11-30 13:33:04,141 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\win32.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\win32.py +2024-11-30 13:33:04,141 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\win32.cpython-39.pyc' +2024-11-30 13:33:04,143 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__init__.py +2024-11-30 13:33:04,144 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,155 - api.main - INFO - STDERR: # extension module '_ctypes' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ctypes.pyd' +2024-11-30 13:33:04,156 - api.main - INFO - STDERR: # extension module '_ctypes' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ctypes.pyd' +2024-11-30 13:33:04,156 - api.main - INFO - STDERR: import '_ctypes' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000022B8E8DF7C0> +2024-11-30 13:33:04,158 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\struct.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\struct.py +2024-11-30 13:33:04,158 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\struct.cpython-39.pyc' +2024-11-30 13:33:04,159 - api.main - INFO - STDERR: import '_struct' # +2024-11-30 13:33:04,159 - api.main - INFO - STDERR: import 'struct' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E8DFCA0> +2024-11-30 13:33:04,162 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\_endian.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\_endian.py +2024-11-30 13:33:04,162 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\_endian.cpython-39.pyc' +2024-11-30 13:33:04,162 - api.main - INFO - STDERR: import 'ctypes._endian' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E8F1A00> +2024-11-30 13:33:04,163 - api.main - INFO - STDERR: import 'ctypes' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E8D3520> +2024-11-30 13:33:04,164 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\wintypes.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\wintypes.py +2024-11-30 13:33:04,165 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\wintypes.cpython-39.pyc' +2024-11-30 13:33:04,166 - api.main - INFO - STDERR: import 'ctypes.wintypes' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E8D3970> +2024-11-30 13:33:04,166 - api.main - INFO - STDERR: import 'colorama.win32' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E8AF2E0> +2024-11-30 13:33:04,167 - api.main - INFO - STDERR: import 'colorama.winterm' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E8BFD30> +2024-11-30 13:33:04,168 - api.main - INFO - STDERR: import 'colorama.ansitowin32' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E8AFF10> +2024-11-30 13:33:04,168 - api.main - INFO - STDERR: import 'colorama.initialise' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E8AF940> +2024-11-30 13:33:04,168 - api.main - INFO - STDERR: import 'colorama' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E884220> +2024-11-30 13:33:04,169 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\config.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\config.py +2024-11-30 13:33:04,169 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\config.cpython-39.pyc' +2024-11-30 13:33:04,172 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\typing.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\typing.py +2024-11-30 13:33:04,174 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\typing.cpython-39.pyc' +2024-11-30 13:33:04,177 - api.main - INFO - STDERR: import 'typing' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E8F1FA0> +2024-11-30 13:33:04,179 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\configargparse.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\configargparse.py +2024-11-30 13:33:04,180 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\configargparse.cpython-39.pyc' +2024-11-30 13:33:04,182 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\argparse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\argparse.py +2024-11-30 13:33:04,186 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\argparse.cpython-39.pyc' +2024-11-30 13:33:04,197 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\gettext.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\gettext.py +2024-11-30 13:33:04,197 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\gettext.cpython-39.pyc' +2024-11-30 13:33:04,198 - api.main - INFO - STDERR: import 'gettext' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E884AC0> +2024-11-30 13:33:04,199 - api.main - INFO - STDERR: import 'argparse' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90302FD0> +2024-11-30 13:33:04,201 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__init__.py +2024-11-30 13:33:04,201 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,203 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\decoder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\decoder.py +2024-11-30 13:33:04,204 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\decoder.cpython-39.pyc' +2024-11-30 13:33:04,205 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\scanner.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\scanner.py +2024-11-30 13:33:04,205 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\scanner.cpython-39.pyc' +2024-11-30 13:33:04,206 - api.main - INFO - STDERR: import '_json' # +2024-11-30 13:33:04,207 - api.main - INFO - STDERR: import 'json.scanner' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E7F37C0> +2024-11-30 13:33:04,208 - api.main - INFO - STDERR: import 'json.decoder' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E89E070> +2024-11-30 13:33:04,209 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\encoder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\encoder.py +2024-11-30 13:33:04,209 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\encoder.cpython-39.pyc' +2024-11-30 13:33:04,209 - api.main - INFO - STDERR: import 'json.encoder' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E89ED60> +2024-11-30 13:33:04,209 - api.main - INFO - STDERR: import 'json' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E896C40> +2024-11-30 13:33:04,211 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\glob.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\glob.py +2024-11-30 13:33:04,212 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\glob.cpython-39.pyc' +2024-11-30 13:33:04,215 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\fnmatch.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\fnmatch.py +2024-11-30 13:33:04,215 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\fnmatch.cpython-39.pyc' +2024-11-30 13:33:04,216 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\posixpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\posixpath.py +2024-11-30 13:33:04,216 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\posixpath.cpython-39.pyc' +2024-11-30 13:33:04,216 - api.main - INFO - STDERR: import 'posixpath' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90342790> +2024-11-30 13:33:04,217 - api.main - INFO - STDERR: import 'fnmatch' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90342430> +2024-11-30 13:33:04,217 - api.main - INFO - STDERR: import 'glob' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9031AC10> +2024-11-30 13:33:04,219 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\textwrap.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\textwrap.py +2024-11-30 13:33:04,219 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\textwrap.cpython-39.pyc' +2024-11-30 13:33:04,221 - api.main - INFO - STDERR: import 'textwrap' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B903425E0> +2024-11-30 13:33:04,221 - api.main - INFO - STDERR: import 'configargparse' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E9118E0> +2024-11-30 13:33:04,225 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__init__.py +2024-11-30 13:33:04,225 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,227 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\error.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\error.py +2024-11-30 13:33:04,228 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\error.cpython-39.pyc' +2024-11-30 13:33:04,228 - api.main - INFO - STDERR: import 'yaml.error' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90355D30> +2024-11-30 13:33:04,229 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\tokens.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\tokens.py +2024-11-30 13:33:04,229 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\tokens.cpython-39.pyc' +2024-11-30 13:33:04,230 - api.main - INFO - STDERR: import 'yaml.tokens' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90355EE0> +2024-11-30 13:33:04,230 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\events.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\events.py +2024-11-30 13:33:04,230 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\events.cpython-39.pyc' +2024-11-30 13:33:04,230 - api.main - INFO - STDERR: import 'yaml.events' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9035D1F0> +2024-11-30 13:33:04,232 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\nodes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\nodes.py +2024-11-30 13:33:04,232 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\nodes.cpython-39.pyc' +2024-11-30 13:33:04,232 - api.main - INFO - STDERR: import 'yaml.nodes' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9035DA00> +2024-11-30 13:33:04,232 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\loader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\loader.py +2024-11-30 13:33:04,232 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\loader.cpython-39.pyc' +2024-11-30 13:33:04,233 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\reader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\reader.py +2024-11-30 13:33:04,233 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\reader.cpython-39.pyc' +2024-11-30 13:33:04,239 - api.main - INFO - STDERR: import 'yaml.reader' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9036C370> +2024-11-30 13:33:04,240 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\scanner.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\scanner.py +2024-11-30 13:33:04,240 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\scanner.cpython-39.pyc' +2024-11-30 13:33:04,241 - api.main - INFO - STDERR: import 'yaml.scanner' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9036C700> +2024-11-30 13:33:04,241 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\parser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\parser.py +2024-11-30 13:33:04,241 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\parser.cpython-39.pyc' +2024-11-30 13:33:04,241 - api.main - INFO - STDERR: import 'yaml.parser' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90376280> +2024-11-30 13:33:04,242 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\composer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\composer.py +2024-11-30 13:33:04,242 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\composer.cpython-39.pyc' +2024-11-30 13:33:04,242 - api.main - INFO - STDERR: import 'yaml.composer' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90376940> +2024-11-30 13:33:04,242 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\constructor.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\constructor.py +2024-11-30 13:33:04,242 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\constructor.cpython-39.pyc' +2024-11-30 13:33:04,244 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\base64.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\base64.py +2024-11-30 13:33:04,244 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\base64.cpython-39.pyc' +2024-11-30 13:33:04,244 - api.main - INFO - STDERR: import 'binascii' # +2024-11-30 13:33:04,244 - api.main - INFO - STDERR: import 'base64' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9038CBB0> +2024-11-30 13:33:04,245 - api.main - INFO - STDERR: import 'yaml.constructor' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90376C10> +2024-11-30 13:33:04,245 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\resolver.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\resolver.py +2024-11-30 13:33:04,245 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\resolver.cpython-39.pyc' +2024-11-30 13:33:04,247 - api.main - INFO - STDERR: import 'yaml.resolver' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9038C8B0> +2024-11-30 13:33:04,248 - api.main - INFO - STDERR: import 'yaml.loader' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9035DF40> +2024-11-30 13:33:04,248 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\dumper.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\dumper.py +2024-11-30 13:33:04,248 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\dumper.cpython-39.pyc' +2024-11-30 13:33:04,248 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\emitter.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\emitter.py +2024-11-30 13:33:04,248 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\emitter.cpython-39.pyc' +2024-11-30 13:33:04,249 - api.main - INFO - STDERR: import 'yaml.emitter' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9039CBB0> +2024-11-30 13:33:04,249 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\serializer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\serializer.py +2024-11-30 13:33:04,249 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\serializer.cpython-39.pyc' +2024-11-30 13:33:04,250 - api.main - INFO - STDERR: import 'yaml.serializer' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B903B85B0> +2024-11-30 13:33:04,250 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\representer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\representer.py +2024-11-30 13:33:04,250 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\representer.cpython-39.pyc' +2024-11-30 13:33:04,250 - api.main - INFO - STDERR: import 'yaml.representer' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B903B8850> +2024-11-30 13:33:04,250 - api.main - INFO - STDERR: import 'yaml.dumper' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9036C160> +2024-11-30 13:33:04,250 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\cyaml.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\cyaml.py +2024-11-30 13:33:04,250 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\cyaml.cpython-39.pyc' +2024-11-30 13:33:04,251 - api.main - INFO - STDERR: # extension module 'yaml._yaml' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\_yaml.cp39-win_amd64.pyd' +2024-11-30 13:33:04,251 - api.main - INFO - STDERR: # extension module 'yaml._yaml' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\_yaml.cp39-win_amd64.pyd' +2024-11-30 13:33:04,251 - api.main - INFO - STDERR: import 'yaml._yaml' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000022B903C9460> +2024-11-30 13:33:04,251 - api.main - INFO - STDERR: import 'yaml.cyaml' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9035D340> +2024-11-30 13:33:04,251 - api.main - INFO - STDERR: import 'yaml' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90342F70> +2024-11-30 13:33:04,252 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\plugin_loader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\plugin_loader.py +2024-11-30 13:33:04,252 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\plugin_loader.cpython-39.pyc' +2024-11-30 13:33:04,253 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\inspect.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\inspect.py +2024-11-30 13:33:04,254 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\inspect.cpython-39.pyc' +2024-11-30 13:33:04,256 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ast.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ast.py +2024-11-30 13:33:04,257 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ast.cpython-39.pyc' +2024-11-30 13:33:04,258 - api.main - INFO - STDERR: import '_ast' # +2024-11-30 13:33:04,258 - api.main - INFO - STDERR: import 'ast' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90402AF0> +2024-11-30 13:33:04,259 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\dis.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\dis.py +2024-11-30 13:33:04,260 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\dis.cpython-39.pyc' +2024-11-30 13:33:04,260 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\opcode.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\opcode.py +2024-11-30 13:33:04,260 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\opcode.cpython-39.pyc' +2024-11-30 13:33:04,261 - api.main - INFO - STDERR: import '_opcode' # +2024-11-30 13:33:04,261 - api.main - INFO - STDERR: import 'opcode' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90443E20> +2024-11-30 13:33:04,261 - api.main - INFO - STDERR: import 'dis' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9040C2E0> +2024-11-30 13:33:04,262 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__init__.py +2024-11-30 13:33:04,262 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,262 - api.main - INFO - STDERR: import 'importlib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90456DF0> +2024-11-30 13:33:04,263 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\machinery.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\machinery.py +2024-11-30 13:33:04,263 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\machinery.cpython-39.pyc' +2024-11-30 13:33:04,263 - api.main - INFO - STDERR: import 'importlib.machinery' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90456C40> +2024-11-30 13:33:04,264 - api.main - INFO - STDERR: import 'inspect' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B903C9AF0> +2024-11-30 13:33:04,265 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pkgutil.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pkgutil.py +2024-11-30 13:33:04,265 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pkgutil.cpython-39.pyc' +2024-11-30 13:33:04,266 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\util.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\util.py +2024-11-30 13:33:04,266 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\util.cpython-39.pyc' +2024-11-30 13:33:04,266 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\abc.py +2024-11-30 13:33:04,266 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 13:33:04,266 - api.main - INFO - STDERR: import 'importlib.abc' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B904795E0> +2024-11-30 13:33:04,268 - api.main - INFO - STDERR: import 'importlib.util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90469640> +2024-11-30 13:33:04,268 - api.main - INFO - STDERR: import 'pkgutil' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B903D5B20> +2024-11-30 13:33:04,268 - api.main - INFO - STDERR: import 'GramAddict.core.plugin_loader' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B903C9190> +2024-11-30 13:33:04,268 - api.main - INFO - STDERR: import 'GramAddict.core.config' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E884250> +2024-11-30 13:33:04,269 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\device_facade.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py +2024-11-30 13:33:04,269 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\device_facade.cpython-39.pyc' +2024-11-30 13:33:04,270 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\subprocess.py +2024-11-30 13:33:04,270 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\subprocess.cpython-39.pyc' +2024-11-30 13:33:04,270 - api.main - INFO - STDERR: import 'errno' # +2024-11-30 13:33:04,271 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\signal.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\signal.py +2024-11-30 13:33:04,271 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\signal.cpython-39.pyc' +2024-11-30 13:33:04,272 - api.main - INFO - STDERR: import 'signal' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B904A6A30> +2024-11-30 13:33:04,273 - api.main - INFO - STDERR: import 'msvcrt' # +2024-11-30 13:33:04,273 - api.main - INFO - STDERR: import '_winapi' # +2024-11-30 13:33:04,273 - api.main - INFO - STDERR: import 'subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90499910> +2024-11-30 13:33:04,274 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py +2024-11-30 13:33:04,275 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,276 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\__future__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__future__.py +2024-11-30 13:33:04,276 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\__future__.cpython-39.pyc' +2024-11-30 13:33:04,276 - api.main - INFO - STDERR: import '__future__' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B904D6E80> +2024-11-30 13:33:04,276 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\hashlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\hashlib.py +2024-11-30 13:33:04,276 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\hashlib.cpython-39.pyc' +2024-11-30 13:33:04,277 - api.main - INFO - STDERR: # extension module '_hashlib' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_hashlib.pyd' +2024-11-30 13:33:04,278 - api.main - INFO - STDERR: # extension module '_hashlib' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_hashlib.pyd' +2024-11-30 13:33:04,278 - api.main - INFO - STDERR: import '_hashlib' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000022B904E49A0> +2024-11-30 13:33:04,278 - api.main - INFO - STDERR: import '_blake2' # +2024-11-30 13:33:04,278 - api.main - INFO - STDERR: import 'hashlib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B904E4580> +2024-11-30 13:33:04,278 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\shutil.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\shutil.py +2024-11-30 13:33:04,279 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\shutil.cpython-39.pyc' +2024-11-30 13:33:04,279 - api.main - INFO - STDERR: import 'zlib' # +2024-11-30 13:33:04,279 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\bz2.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\bz2.py +2024-11-30 13:33:04,279 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\bz2.cpython-39.pyc' +2024-11-30 13:33:04,280 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_compression.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_compression.py +2024-11-30 13:33:04,280 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_compression.cpython-39.pyc' +2024-11-30 13:33:04,281 - api.main - INFO - STDERR: import '_compression' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90513370> +2024-11-30 13:33:04,282 - api.main - INFO - STDERR: # extension module '_bz2' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_bz2.pyd' +2024-11-30 13:33:04,282 - api.main - INFO - STDERR: # extension module '_bz2' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_bz2.pyd' +2024-11-30 13:33:04,282 - api.main - INFO - STDERR: import '_bz2' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000022B905138B0> +2024-11-30 13:33:04,282 - api.main - INFO - STDERR: import 'bz2' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90501B20> +2024-11-30 13:33:04,283 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\lzma.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\lzma.py +2024-11-30 13:33:04,283 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\lzma.cpython-39.pyc' +2024-11-30 13:33:04,284 - api.main - INFO - STDERR: # extension module '_lzma' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_lzma.pyd' +2024-11-30 13:33:04,284 - api.main - INFO - STDERR: # extension module '_lzma' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_lzma.pyd' +2024-11-30 13:33:04,284 - api.main - INFO - STDERR: import '_lzma' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000022B90513FA0> +2024-11-30 13:33:04,284 - api.main - INFO - STDERR: import 'lzma' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B905137F0> +2024-11-30 13:33:04,285 - api.main - INFO - STDERR: import 'shutil' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B904E4C70> +2024-11-30 13:33:04,286 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\__init__.py +2024-11-30 13:33:04,286 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,286 - api.main - INFO - STDERR: import 'xml' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90520940> +2024-11-30 13:33:04,287 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__init__.py +2024-11-30 13:33:04,287 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,287 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\domreg.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\domreg.py +2024-11-30 13:33:04,288 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\domreg.cpython-39.pyc' +2024-11-30 13:33:04,288 - api.main - INFO - STDERR: import 'xml.dom.domreg' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90520EE0> +2024-11-30 13:33:04,288 - api.main - INFO - STDERR: import 'xml.dom' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90501040> +2024-11-30 13:33:04,288 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\minidom.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\minidom.py +2024-11-30 13:33:04,288 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\minidom.cpython-39.pyc' +2024-11-30 13:33:04,289 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\minicompat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\minicompat.py +2024-11-30 13:33:04,289 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\minicompat.cpython-39.pyc' +2024-11-30 13:33:04,289 - api.main - INFO - STDERR: import 'xml.dom.minicompat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B905764C0> +2024-11-30 13:33:04,290 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\xmlbuilder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\xmlbuilder.py +2024-11-30 13:33:04,290 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\xmlbuilder.cpython-39.pyc' +2024-11-30 13:33:04,291 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\copy.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\copy.py +2024-11-30 13:33:04,291 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\copy.cpython-39.pyc' +2024-11-30 13:33:04,292 - api.main - INFO - STDERR: import 'copy' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9057ECA0> +2024-11-30 13:33:04,292 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\NodeFilter.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\NodeFilter.py +2024-11-30 13:33:04,292 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\NodeFilter.cpython-39.pyc' +2024-11-30 13:33:04,292 - api.main - INFO - STDERR: import 'xml.dom.NodeFilter' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9057EFD0> +2024-11-30 13:33:04,292 - api.main - INFO - STDERR: import 'xml.dom.xmlbuilder' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90576940> +2024-11-30 13:33:04,293 - api.main - INFO - STDERR: import 'xml.dom.minidom' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B904E4550> +2024-11-30 13:33:04,293 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pathlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pathlib.py +2024-11-30 13:33:04,293 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pathlib.cpython-39.pyc' +2024-11-30 13:33:04,294 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__init__.py +2024-11-30 13:33:04,294 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,294 - api.main - INFO - STDERR: import 'urllib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B905AAD00> +2024-11-30 13:33:04,295 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\parse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\parse.py +2024-11-30 13:33:04,295 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\parse.cpython-39.pyc' +2024-11-30 13:33:04,295 - api.main - INFO - STDERR: import 'urllib.parse' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B905AAD30> +2024-11-30 13:33:04,296 - api.main - INFO - STDERR: import 'pathlib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9056C400> +2024-11-30 13:33:04,297 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__init__.py +2024-11-30 13:33:04,297 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,297 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\deprecation.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecation.py +2024-11-30 13:33:04,297 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\deprecation.cpython-39.pyc' +2024-11-30 13:33:04,298 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__init__.py +2024-11-30 13:33:04,298 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,299 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\__about__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__about__.py +2024-11-30 13:33:04,299 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\__about__.cpython-39.pyc' +2024-11-30 13:33:04,299 - api.main - INFO - STDERR: import 'packaging.__about__' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9052F790> +2024-11-30 13:33:04,299 - api.main - INFO - STDERR: import 'packaging' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9052F520> +2024-11-30 13:33:04,299 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\version.py +2024-11-30 13:33:04,299 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\version.cpython-39.pyc' +2024-11-30 13:33:04,299 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_structures.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_structures.py +2024-11-30 13:33:04,299 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_structures.cpython-39.pyc' +2024-11-30 13:33:04,299 - api.main - INFO - STDERR: import 'packaging._structures' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B905DD640> +2024-11-30 13:33:04,299 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_typing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_typing.py +2024-11-30 13:33:04,299 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_typing.cpython-39.pyc' +2024-11-30 13:33:04,299 - api.main - INFO - STDERR: import 'packaging._typing' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B905DDF10> +2024-11-30 13:33:04,302 - api.main - INFO - STDERR: import 'packaging.version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9052F5B0> +2024-11-30 13:33:04,302 - api.main - INFO - STDERR: import 'deprecation' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9052F100> +2024-11-30 13:33:04,303 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_adb.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_adb.py +2024-11-30 13:33:04,303 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_adb.cpython-39.pyc' +2024-11-30 13:33:04,304 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\socket.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\socket.py +2024-11-30 13:33:04,304 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\socket.cpython-39.pyc' +2024-11-30 13:33:04,306 - api.main - INFO - STDERR: # extension module '_socket' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_socket.pyd' +2024-11-30 13:33:04,306 - api.main - INFO - STDERR: # extension module '_socket' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_socket.pyd' +2024-11-30 13:33:04,306 - api.main - INFO - STDERR: import '_socket' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000022B905FAC40> +2024-11-30 13:33:04,306 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\selectors.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\selectors.py +2024-11-30 13:33:04,307 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\selectors.cpython-39.pyc' +2024-11-30 13:33:04,308 - api.main - INFO - STDERR: # extension module 'select' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\select.pyd' +2024-11-30 13:33:04,308 - api.main - INFO - STDERR: # extension module 'select' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\select.pyd' +2024-11-30 13:33:04,308 - api.main - INFO - STDERR: import 'select' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000022B9060DE20> +2024-11-30 13:33:04,308 - api.main - INFO - STDERR: import 'selectors' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B905FAD90> +2024-11-30 13:33:04,309 - api.main - INFO - STDERR: import 'socket' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B905E4F40> +2024-11-30 13:33:04,309 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_utils.py +2024-11-30 13:33:04,309 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_utils.cpython-39.pyc' +2024-11-30 13:33:04,310 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\shlex.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\shlex.py +2024-11-30 13:33:04,310 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\shlex.cpython-39.pyc' +2024-11-30 13:33:04,310 - api.main - INFO - STDERR: import 'shlex' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90613D00> +2024-11-30 13:33:04,312 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tempfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tempfile.py +2024-11-30 13:33:04,312 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tempfile.cpython-39.pyc' +2024-11-30 13:33:04,312 - api.main - INFO - STDERR: import 'tempfile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9061C280> +2024-11-30 13:33:04,313 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\zipfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\zipfile.py +2024-11-30 13:33:04,313 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\zipfile.cpython-39.pyc' +2024-11-30 13:33:04,315 - api.main - INFO - STDERR: import 'zipfile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90646640> +2024-11-30 13:33:04,315 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\whichcraft.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\whichcraft.py +2024-11-30 13:33:04,315 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\whichcraft.cpython-39.pyc' +2024-11-30 13:33:04,315 - api.main - INFO - STDERR: import 'whichcraft' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90655D60> +2024-11-30 13:33:04,316 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__init__.py +2024-11-30 13:33:04,316 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,316 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\xmltodict.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\xmltodict.py +2024-11-30 13:33:04,316 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\xmltodict.cpython-39.pyc' +2024-11-30 13:33:04,317 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__init__.py +2024-11-30 13:33:04,317 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\parsers\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,317 - api.main - INFO - STDERR: import 'xml.parsers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90678790> +2024-11-30 13:33:04,318 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__pycache__\expat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\expat.py +2024-11-30 13:33:04,318 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\parsers\\__pycache__\\expat.cpython-39.pyc' +2024-11-30 13:33:04,320 - api.main - INFO - STDERR: # extension module 'pyexpat' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\pyexpat.pyd' +2024-11-30 13:33:04,320 - api.main - INFO - STDERR: # extension module 'pyexpat' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\pyexpat.pyd' +2024-11-30 13:33:04,320 - api.main - INFO - STDERR: import 'pyexpat' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000022B90678AF0> +2024-11-30 13:33:04,320 - api.main - INFO - STDERR: import 'xml.parsers.expat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90678910> +2024-11-30 13:33:04,321 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__init__.py +2024-11-30 13:33:04,321 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,321 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\xmlreader.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\xmlreader.py +2024-11-30 13:33:04,321 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\xmlreader.cpython-39.pyc' +2024-11-30 13:33:04,321 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\handler.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\handler.py +2024-11-30 13:33:04,321 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\handler.cpython-39.pyc' +2024-11-30 13:33:04,322 - api.main - INFO - STDERR: import 'xml.sax.handler' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90691B20> +2024-11-30 13:33:04,322 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\_exceptions.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\_exceptions.py +2024-11-30 13:33:04,322 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\_exceptions.cpython-39.pyc' +2024-11-30 13:33:04,322 - api.main - INFO - STDERR: import 'xml.sax._exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90698520> +2024-11-30 13:33:04,322 - api.main - INFO - STDERR: import 'xml.sax.xmlreader' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90678F10> +2024-11-30 13:33:04,323 - api.main - INFO - STDERR: import 'xml.sax' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90678BB0> +2024-11-30 13:33:04,323 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\saxutils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\saxutils.py +2024-11-30 13:33:04,323 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\saxutils.cpython-39.pyc' +2024-11-30 13:33:04,324 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\request.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\request.py +2024-11-30 13:33:04,324 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\request.cpython-39.pyc' +2024-11-30 13:33:04,325 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__init__.py +2024-11-30 13:33:04,325 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,326 - api.main - INFO - STDERR: import 'email' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B906E25B0> +2024-11-30 13:33:04,326 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__init__.py +2024-11-30 13:33:04,326 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,327 - api.main - INFO - STDERR: import 'http' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B906E28B0> +2024-11-30 13:33:04,328 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\client.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\client.py +2024-11-30 13:33:04,328 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\client.cpython-39.pyc' +2024-11-30 13:33:04,329 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\parser.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\parser.py +2024-11-30 13:33:04,329 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\parser.cpython-39.pyc' +2024-11-30 13:33:04,329 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\feedparser.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\feedparser.py +2024-11-30 13:33:04,329 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\feedparser.cpython-39.pyc' +2024-11-30 13:33:04,330 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\errors.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\errors.py +2024-11-30 13:33:04,330 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 13:33:04,330 - api.main - INFO - STDERR: import 'email.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90705A00> +2024-11-30 13:33:04,330 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_policybase.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_policybase.py +2024-11-30 13:33:04,330 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_policybase.cpython-39.pyc' +2024-11-30 13:33:04,332 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\header.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\header.py +2024-11-30 13:33:04,332 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\header.cpython-39.pyc' +2024-11-30 13:33:04,332 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\quoprimime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\quoprimime.py +2024-11-30 13:33:04,332 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\quoprimime.cpython-39.pyc' +2024-11-30 13:33:04,332 - api.main - INFO - STDERR: import 'email.quoprimime' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B907236D0> +2024-11-30 13:33:04,333 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\base64mime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\base64mime.py +2024-11-30 13:33:04,333 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\base64mime.cpython-39.pyc' +2024-11-30 13:33:04,333 - api.main - INFO - STDERR: import 'email.base64mime' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90723BB0> +2024-11-30 13:33:04,333 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\charset.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\charset.py +2024-11-30 13:33:04,333 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\charset.cpython-39.pyc' +2024-11-30 13:33:04,334 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\encoders.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\encoders.py +2024-11-30 13:33:04,335 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\encoders.cpython-39.pyc' +2024-11-30 13:33:04,335 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\quopri.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\quopri.py +2024-11-30 13:33:04,335 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\quopri.cpython-39.pyc' +2024-11-30 13:33:04,335 - api.main - INFO - STDERR: import 'quopri' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90733790> +2024-11-30 13:33:04,335 - api.main - INFO - STDERR: import 'email.encoders' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B907333A0> +2024-11-30 13:33:04,335 - api.main - INFO - STDERR: import 'email.charset' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90723D90> +2024-11-30 13:33:04,335 - api.main - INFO - STDERR: import 'email.header' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90714E20> +2024-11-30 13:33:04,336 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\utils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\utils.py +2024-11-30 13:33:04,336 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 13:33:04,337 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_parseaddr.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_parseaddr.py +2024-11-30 13:33:04,337 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_parseaddr.cpython-39.pyc' +2024-11-30 13:33:04,338 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\calendar.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\calendar.py +2024-11-30 13:33:04,338 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\calendar.cpython-39.pyc' +2024-11-30 13:33:04,339 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\locale.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\locale.py +2024-11-30 13:33:04,340 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\locale.cpython-39.pyc' +2024-11-30 13:33:04,340 - api.main - INFO - STDERR: import 'locale' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9074DEB0> +2024-11-30 13:33:04,340 - api.main - INFO - STDERR: import 'calendar' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B907456A0> +2024-11-30 13:33:04,340 - api.main - INFO - STDERR: import 'email._parseaddr' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90733F70> +2024-11-30 13:33:04,340 - api.main - INFO - STDERR: import 'email.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B907331F0> +2024-11-30 13:33:04,341 - api.main - INFO - STDERR: import 'email._policybase' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90705AF0> +2024-11-30 13:33:04,342 - api.main - INFO - STDERR: import 'email.feedparser' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90705280> +2024-11-30 13:33:04,342 - api.main - INFO - STDERR: import 'email.parser' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B906FEB80> +2024-11-30 13:33:04,343 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\message.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\message.py +2024-11-30 13:33:04,343 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\message.cpython-39.pyc' +2024-11-30 13:33:04,344 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\uu.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\uu.py +2024-11-30 13:33:04,344 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\uu.cpython-39.pyc' +2024-11-30 13:33:04,344 - api.main - INFO - STDERR: import 'uu' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90790A90> +2024-11-30 13:33:04,345 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_encoded_words.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_encoded_words.py +2024-11-30 13:33:04,345 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_encoded_words.cpython-39.pyc' +2024-11-30 13:33:04,345 - api.main - INFO - STDERR: import 'email._encoded_words' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90790CD0> +2024-11-30 13:33:04,345 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\iterators.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\iterators.py +2024-11-30 13:33:04,346 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\iterators.cpython-39.pyc' +2024-11-30 13:33:04,346 - api.main - INFO - STDERR: import 'email.iterators' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9079C190> +2024-11-30 13:33:04,346 - api.main - INFO - STDERR: import 'email.message' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B906FEF40> +2024-11-30 13:33:04,346 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ssl.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ssl.py +2024-11-30 13:33:04,347 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ssl.cpython-39.pyc' +2024-11-30 13:33:04,349 - api.main - INFO - STDERR: # extension module '_ssl' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ssl.pyd' +2024-11-30 13:33:04,349 - api.main - INFO - STDERR: # extension module '_ssl' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ssl.pyd' +2024-11-30 13:33:04,349 - api.main - INFO - STDERR: import '_ssl' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000022B907B5580> +2024-11-30 13:33:04,352 - api.main - INFO - STDERR: import 'ssl' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9079C460> +2024-11-30 13:33:04,352 - api.main - INFO - STDERR: import 'http.client' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B906E29D0> +2024-11-30 13:33:04,352 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\error.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\error.py +2024-11-30 13:33:04,352 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\error.cpython-39.pyc' +2024-11-30 13:33:04,353 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\response.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\response.py +2024-11-30 13:33:04,353 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\response.cpython-39.pyc' +2024-11-30 13:33:04,353 - api.main - INFO - STDERR: import 'urllib.response' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9080F460> +2024-11-30 13:33:04,353 - api.main - INFO - STDERR: import 'urllib.error' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B906FE3A0> +2024-11-30 13:33:04,354 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\nturl2path.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\nturl2path.py +2024-11-30 13:33:04,355 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\nturl2path.cpython-39.pyc' +2024-11-30 13:33:04,355 - api.main - INFO - STDERR: import 'nturl2path' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9080FCD0> +2024-11-30 13:33:04,355 - api.main - INFO - STDERR: import 'urllib.request' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B906A78B0> +2024-11-30 13:33:04,355 - api.main - INFO - STDERR: import 'xml.sax.saxutils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90678640> +2024-11-30 13:33:04,355 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\platform.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\platform.py +2024-11-30 13:33:04,356 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\platform.cpython-39.pyc' +2024-11-30 13:33:04,358 - api.main - INFO - STDERR: import 'platform' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B906A76D0> +2024-11-30 13:33:04,358 - api.main - INFO - STDERR: import 'xmltodict' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90678220> +2024-11-30 13:33:04,358 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\apkfile.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\apkfile.py +2024-11-30 13:33:04,358 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\apkfile.cpython-39.pyc' +2024-11-30 13:33:04,359 - api.main - INFO - STDERR: import 'apkutils2.apkfile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90678580> +2024-11-30 13:33:04,359 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__init__.py +2024-11-30 13:33:04,360 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,360 - api.main - INFO - STDERR: import 'apkutils2.axml' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90C289D0> +2024-11-30 13:33:04,360 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\arscparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\arscparser.py +2024-11-30 13:33:04,360 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\arscparser.cpython-39.pyc' +2024-11-30 13:33:04,360 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\chunk.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\chunk.py +2024-11-30 13:33:04,361 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\chunk.cpython-39.pyc' +2024-11-30 13:33:04,361 - api.main - INFO - STDERR: import 'apkutils2.axml.chunk' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90C53580> +2024-11-30 13:33:04,361 - api.main - INFO - STDERR: import 'apkutils2.axml.arscparser' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90C33E80> +2024-11-30 13:33:04,361 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\axmlparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\axmlparser.py +2024-11-30 13:33:04,361 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\axmlparser.cpython-39.pyc' +2024-11-30 13:33:04,361 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\public.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\public.py +2024-11-30 13:33:04,362 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\public.cpython-39.pyc' +2024-11-30 13:33:04,363 - api.main - INFO - STDERR: import 'apkutils2.axml.public' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90C62820> +2024-11-30 13:33:04,363 - api.main - INFO - STDERR: import 'apkutils2.axml.axmlparser' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90C48A00> +2024-11-30 13:33:04,363 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__init__.py +2024-11-30 13:33:04,363 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,364 - api.main - INFO - STDERR: import 'apkutils2.dex' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90C62910> +2024-11-30 13:33:04,364 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dexparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dexparser.py +2024-11-30 13:33:04,364 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dexparser.cpython-39.pyc' +2024-11-30 13:33:04,364 - api.main - INFO - STDERR: import 'array' # +2024-11-30 13:33:04,364 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\byteio.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\byteio.py +2024-11-30 13:33:04,364 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\byteio.cpython-39.pyc' +2024-11-30 13:33:04,365 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\util.py +2024-11-30 13:33:04,365 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\util.cpython-39.pyc' +2024-11-30 13:33:04,365 - api.main - INFO - STDERR: import 'apkutils2.dex.util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90CB6EE0> +2024-11-30 13:33:04,365 - api.main - INFO - STDERR: import 'apkutils2.dex.byteio' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90CB6550> +2024-11-30 13:33:04,365 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dalvik.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dalvik.py +2024-11-30 13:33:04,365 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dalvik.cpython-39.pyc' +2024-11-30 13:33:04,365 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dalvikformats.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dalvikformats.py +2024-11-30 13:33:04,365 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dalvikformats.cpython-39.pyc' +2024-11-30 13:33:04,365 - api.main - INFO - STDERR: import 'apkutils2.dex.dalvikformats' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90CC2370> +2024-11-30 13:33:04,365 - api.main - INFO - STDERR: import 'apkutils2.dex.dalvik' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90CB6FD0> +2024-11-30 13:33:04,365 - api.main - INFO - STDERR: import 'apkutils2.dex.dexparser' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90C62940> +2024-11-30 13:33:04,365 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\manifest.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\manifest.py +2024-11-30 13:33:04,365 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\manifest.cpython-39.pyc' +2024-11-30 13:33:04,365 - api.main - INFO - STDERR: import 'apkutils2.manifest' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90C62E20> +2024-11-30 13:33:04,366 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cigam\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cigam\__init__.py +2024-11-30 13:33:04,366 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\cigam\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,366 - api.main - INFO - STDERR: import 'cigam' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90CC25E0> +2024-11-30 13:33:04,366 - api.main - INFO - STDERR: import 'apkutils2' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90669B80> +2024-11-30 13:33:04,367 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pkg_resources\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pkg_resources\__init__.py +2024-11-30 13:33:04,367 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pkg_resources\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,369 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\plistlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\plistlib.py +2024-11-30 13:33:04,369 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\plistlib.cpython-39.pyc' +2024-11-30 13:33:04,370 - api.main - INFO - STDERR: import 'plistlib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90D056D0> +2024-11-30 13:33:04,370 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\markers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\markers.py +2024-11-30 13:33:04,370 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\markers.cpython-39.pyc' +2024-11-30 13:33:04,371 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__init__.py +2024-11-30 13:33:04,371 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,372 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\util.py +2024-11-30 13:33:04,372 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\util.cpython-39.pyc' +2024-11-30 13:33:04,372 - api.main - INFO - STDERR: import 'pyparsing.util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90D1CC70> +2024-11-30 13:33:04,372 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\exceptions.py +2024-11-30 13:33:04,372 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 13:33:04,373 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\unicode.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\unicode.py +2024-11-30 13:33:04,373 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\unicode.cpython-39.pyc' +2024-11-30 13:33:04,373 - api.main - INFO - STDERR: import 'pyparsing.unicode' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90D2D910> +2024-11-30 13:33:04,378 - api.main - INFO - STDERR: import 'pyparsing.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90D27D00> +2024-11-30 13:33:04,379 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\actions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\actions.py +2024-11-30 13:33:04,379 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\actions.cpython-39.pyc' +2024-11-30 13:33:04,379 - api.main - INFO - STDERR: import 'pyparsing.actions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90D2D4F0> +2024-11-30 13:33:04,380 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\core.py +2024-11-30 13:33:04,381 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\core.cpython-39.pyc' +2024-11-30 13:33:04,382 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\results.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\results.py +2024-11-30 13:33:04,382 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\results.cpython-39.pyc' +2024-11-30 13:33:04,383 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pprint.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pprint.py +2024-11-30 13:33:04,383 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pprint.cpython-39.pyc' +2024-11-30 13:33:04,383 - api.main - INFO - STDERR: import 'pprint' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90DBC8E0> +2024-11-30 13:33:04,383 - api.main - INFO - STDERR: import 'pyparsing.results' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90DB0820> +2024-11-30 13:33:04,395 - api.main - INFO - STDERR: import 'pyparsing.core' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90D4B2E0> +2024-11-30 13:33:04,396 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\helpers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\helpers.py +2024-11-30 13:33:04,396 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\helpers.cpython-39.pyc' +2024-11-30 13:33:04,397 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__init__.py +2024-11-30 13:33:04,397 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\html\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,398 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__pycache__\entities.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\entities.py +2024-11-30 13:33:04,398 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\html\\__pycache__\\entities.cpython-39.pyc' +2024-11-30 13:33:04,398 - api.main - INFO - STDERR: import 'html.entities' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90EAEC10> +2024-11-30 13:33:04,398 - api.main - INFO - STDERR: import 'html' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90EAE970> +2024-11-30 13:33:04,402 - api.main - INFO - STDERR: import 'pyparsing.helpers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90D4BF10> +2024-11-30 13:33:04,403 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\testing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\testing.py +2024-11-30 13:33:04,403 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\testing.cpython-39.pyc' +2024-11-30 13:33:04,404 - api.main - INFO - STDERR: import 'pyparsing.testing' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90F41EB0> +2024-11-30 13:33:04,404 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\common.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\common.py +2024-11-30 13:33:04,404 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\common.cpython-39.pyc' +2024-11-30 13:33:04,410 - api.main - INFO - STDERR: import 'pyparsing.common' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90F6E4C0> +2024-11-30 13:33:04,410 - api.main - INFO - STDERR: import 'pyparsing' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90D1C6D0> +2024-11-30 13:33:04,410 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_compat.py +2024-11-30 13:33:04,410 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_compat.cpython-39.pyc' +2024-11-30 13:33:04,410 - api.main - INFO - STDERR: import 'packaging._compat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90D1CEE0> +2024-11-30 13:33:04,410 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\specifiers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\specifiers.py +2024-11-30 13:33:04,411 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\specifiers.cpython-39.pyc' +2024-11-30 13:33:04,411 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\utils.py +2024-11-30 13:33:04,412 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 13:33:04,412 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\tags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\tags.py +2024-11-30 13:33:04,412 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\tags.cpython-39.pyc' +2024-11-30 13:33:04,413 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\__init__.py +2024-11-30 13:33:04,413 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,413 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__pycache__\override.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\override.py +2024-11-30 13:33:04,413 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\_distutils_hack\\__pycache__\\override.cpython-39.pyc' +2024-11-30 13:33:04,413 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__init__.py +2024-11-30 13:33:04,414 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,415 - api.main - INFO - STDERR: import 'setuptools._distutils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90FC14C0> +2024-11-30 13:33:04,415 - api.main - INFO - STDERR: import 'distutils' # <_distutils_hack.DistutilsMetaFinder.spec_for_distutils..DistutilsLoader object at 0x0000022B90FC12B0> +2024-11-30 13:33:04,415 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\core.py +2024-11-30 13:33:04,415 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\core.cpython-39.pyc' +2024-11-30 13:33:04,415 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\cmd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\cmd.py +2024-11-30 13:33:04,415 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\cmd.cpython-39.pyc' +2024-11-30 13:33:04,415 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\_modified.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\_modified.py +2024-11-30 13:33:04,415 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\_modified.cpython-39.pyc' +2024-11-30 13:33:04,417 - api.main - INFO - STDERR: # possible namespace for e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco +2024-11-30 13:33:04,417 - api.main - INFO - STDERR: import 'jaraco' # <_frozen_importlib_external._NamespaceLoader object at 0x0000022B90FD67C0> +2024-11-30 13:33:04,417 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\functools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\functools\__init__.py +2024-11-30 13:33:04,417 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\functools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,419 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__init__.py +2024-11-30 13:33:04,419 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,419 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\more.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\more.py +2024-11-30 13:33:04,419 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\more.cpython-39.pyc' +2024-11-30 13:33:04,420 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\queue.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\queue.py +2024-11-30 13:33:04,420 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\queue.cpython-39.pyc' +2024-11-30 13:33:04,421 - api.main - INFO - STDERR: # extension module '_queue' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_queue.pyd' +2024-11-30 13:33:04,421 - api.main - INFO - STDERR: # extension module '_queue' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_queue.pyd' +2024-11-30 13:33:04,421 - api.main - INFO - STDERR: import '_queue' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000022B9100A9D0> +2024-11-30 13:33:04,421 - api.main - INFO - STDERR: import 'queue' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90FFFD00> +2024-11-30 13:33:04,421 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\recipes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\recipes.py +2024-11-30 13:33:04,421 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\recipes.cpython-39.pyc' +2024-11-30 13:33:04,421 - api.main - INFO - STDERR: import 'more_itertools.recipes' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9100A940> +2024-11-30 13:33:04,422 - api.main - INFO - STDERR: import 'more_itertools.more' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90FDDBE0> +2024-11-30 13:33:04,422 - api.main - INFO - STDERR: import 'more_itertools' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90FDD940> +2024-11-30 13:33:04,422 - api.main - INFO - STDERR: import 'jaraco.functools' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90FD69D0> +2024-11-30 13:33:04,422 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__init__.py +2024-11-30 13:33:04,422 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,423 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\py38.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\py38.py +2024-11-30 13:33:04,423 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\py38.cpython-39.pyc' +2024-11-30 13:33:04,423 - api.main - INFO - STDERR: import 'distutils.compat.py38' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91038370> +2024-11-30 13:33:04,423 - api.main - INFO - STDERR: import 'distutils.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91016FD0> +2024-11-30 13:33:04,423 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\py39.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\py39.py +2024-11-30 13:33:04,423 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\py39.cpython-39.pyc' +2024-11-30 13:33:04,438 - api.main - INFO - STDERR: import 'distutils.compat.py39' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90FF5DF0> +2024-11-30 13:33:04,439 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\errors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\errors.py +2024-11-30 13:33:04,439 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 13:33:04,439 - api.main - INFO - STDERR: import 'distutils.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B910384F0> +2024-11-30 13:33:04,439 - api.main - INFO - STDERR: import 'distutils._modified' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90FD6370> +2024-11-30 13:33:04,439 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\archive_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\archive_util.py +2024-11-30 13:33:04,439 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\archive_util.cpython-39.pyc' +2024-11-30 13:33:04,440 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\_log.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\_log.py +2024-11-30 13:33:04,440 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\_log.cpython-39.pyc' +2024-11-30 13:33:04,440 - api.main - INFO - STDERR: import 'distutils._log' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91038C40> +2024-11-30 13:33:04,440 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\dir_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\dir_util.py +2024-11-30 13:33:04,440 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\dir_util.cpython-39.pyc' +2024-11-30 13:33:04,440 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\file_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\file_util.py +2024-11-30 13:33:04,441 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\file_util.cpython-39.pyc' +2024-11-30 13:33:04,441 - api.main - INFO - STDERR: import 'distutils.file_util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91046340> +2024-11-30 13:33:04,441 - api.main - INFO - STDERR: import 'distutils.dir_util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91038CD0> +2024-11-30 13:33:04,441 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\spawn.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\spawn.py +2024-11-30 13:33:04,441 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\spawn.cpython-39.pyc' +2024-11-30 13:33:04,441 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\debug.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\debug.py +2024-11-30 13:33:04,441 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\debug.cpython-39.pyc' +2024-11-30 13:33:04,441 - api.main - INFO - STDERR: import 'distutils.debug' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B910469D0> +2024-11-30 13:33:04,441 - api.main - INFO - STDERR: import 'distutils.spawn' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91046670> +2024-11-30 13:33:04,442 - api.main - INFO - STDERR: import 'distutils.archive_util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90FD6610> +2024-11-30 13:33:04,443 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\util.py +2024-11-30 13:33:04,443 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\util.cpython-39.pyc' +2024-11-30 13:33:04,443 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sysconfig.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sysconfig.py +2024-11-30 13:33:04,443 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sysconfig.cpython-39.pyc' +2024-11-30 13:33:04,443 - api.main - INFO - STDERR: import 'sysconfig' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91046EB0> +2024-11-30 13:33:04,443 - api.main - INFO - STDERR: import 'distutils.util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91038640> +2024-11-30 13:33:04,443 - api.main - INFO - STDERR: import 'distutils.cmd' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90FC1910> +2024-11-30 13:33:04,445 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\dist.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\dist.py +2024-11-30 13:33:04,445 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\dist.cpython-39.pyc' +2024-11-30 13:33:04,445 - api.main - INFO - STDERR: # destroy distutils.dist +2024-11-30 13:33:04,445 - api.main - INFO - STDERR: # destroy distutils.core +2024-11-30 13:33:04,445 - api.main - INFO - STDERR: # destroy _distutils_hack.override +2024-11-30 13:33:04,445 - api.main - INFO - STDERR: # destroy setuptools +2024-11-30 13:33:04,445 - api.main - INFO - STDERR: import 'distutils' # <_distutils_hack.DistutilsMetaFinder.spec_for_distutils..DistutilsLoader object at 0x0000022B90FC12B0> +2024-11-30 13:33:04,446 - api.main - INFO - STDERR: import 'packaging.tags' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90FA9550> +2024-11-30 13:33:04,446 - api.main - INFO - STDERR: import 'packaging.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90FA92B0> +2024-11-30 13:33:04,450 - api.main - INFO - STDERR: import 'packaging.specifiers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90F95E50> +2024-11-30 13:33:04,452 - api.main - INFO - STDERR: import 'packaging.markers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90D0BB20> +2024-11-30 13:33:04,453 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\requirements.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\requirements.py +2024-11-30 13:33:04,453 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\requirements.cpython-39.pyc' +2024-11-30 13:33:04,459 - api.main - INFO - STDERR: import 'packaging.requirements' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90D0BD30> +2024-11-30 13:33:04,460 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\text\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\text\__init__.py +2024-11-30 13:33:04,460 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\text\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,460 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\resources.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\resources.py +2024-11-30 13:33:04,460 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\resources.cpython-39.pyc' +2024-11-30 13:33:04,462 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\_common.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\_common.py +2024-11-30 13:33:04,462 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\_common.cpython-39.pyc' +2024-11-30 13:33:04,462 - api.main - INFO - STDERR: import 'importlib._common' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B910B14F0> +2024-11-30 13:33:04,462 - api.main - INFO - STDERR: import 'importlib.resources' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90FC0DF0> +2024-11-30 13:33:04,463 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\__pycache__\context.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\context.py +2024-11-30 13:33:04,463 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\__pycache__\\context.cpython-39.pyc' +2024-11-30 13:33:04,463 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\__init__.py +2024-11-30 13:33:04,463 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,465 - api.main - INFO - STDERR: import 'backports' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B910B81C0> +2024-11-30 13:33:04,465 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\__init__.py +2024-11-30 13:33:04,465 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,466 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__init__.py +2024-11-30 13:33:04,466 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\compat\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,466 - api.main - INFO - STDERR: import 'backports.tarfile.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9106D1F0> +2024-11-30 13:33:04,466 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__pycache__\py38.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\py38.py +2024-11-30 13:33:04,466 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\compat\\__pycache__\\py38.cpython-39.pyc' +2024-11-30 13:33:04,466 - api.main - INFO - STDERR: import 'backports.tarfile.compat.py38' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90FC0100> +2024-11-30 13:33:04,468 - api.main - INFO - STDERR: import 'backports.tarfile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B910B8340> +2024-11-30 13:33:04,468 - api.main - INFO - STDERR: import 'jaraco.context' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B910B1A30> +2024-11-30 13:33:04,468 - api.main - INFO - STDERR: import 'jaraco.text' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90FC1220> +2024-11-30 13:33:04,469 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__init__.py +2024-11-30 13:33:04,469 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,469 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\api.py +2024-11-30 13:33:04,469 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\api.cpython-39.pyc' +2024-11-30 13:33:04,469 - api.main - INFO - STDERR: import 'platformdirs.api' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B910EB7C0> +2024-11-30 13:33:04,470 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\version.py +2024-11-30 13:33:04,470 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\version.cpython-39.pyc' +2024-11-30 13:33:04,470 - api.main - INFO - STDERR: import 'platformdirs.version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B910F2A30> +2024-11-30 13:33:04,470 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\windows.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\windows.py +2024-11-30 13:33:04,470 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\windows.cpython-39.pyc' +2024-11-30 13:33:04,470 - api.main - INFO - STDERR: import 'platformdirs.windows' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B910F2AC0> +2024-11-30 13:33:04,470 - api.main - INFO - STDERR: import 'platformdirs' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B910DE790> +2024-11-30 13:33:04,504 - api.main - INFO - STDERR: import 'pkg_resources' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90669970> +2024-11-30 13:33:04,504 - api.main - INFO - STDERR: import 'adbutils._utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B905FA520> +2024-11-30 13:33:04,504 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\errors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\errors.py +2024-11-30 13:33:04,504 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 13:33:04,504 - api.main - INFO - STDERR: import 'adbutils.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9061C670> +2024-11-30 13:33:04,505 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_proto.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_proto.py +2024-11-30 13:33:04,505 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_proto.cpython-39.pyc' +2024-11-30 13:33:04,506 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\dataclasses.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\dataclasses.py +2024-11-30 13:33:04,506 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\dataclasses.cpython-39.pyc' +2024-11-30 13:33:04,506 - api.main - INFO - STDERR: import 'dataclasses' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90CDA0D0> +2024-11-30 13:33:04,509 - api.main - INFO - STDERR: import 'adbutils._proto' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90CD4520> +2024-11-30 13:33:04,509 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_version.py +2024-11-30 13:33:04,509 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 13:33:04,510 - api.main - INFO - STDERR: import 'adbutils._version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90CD4700> +2024-11-30 13:33:04,510 - api.main - INFO - STDERR: import 'adbutils._adb' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9052F370> +2024-11-30 13:33:04,510 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_device.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_device.py +2024-11-30 13:33:04,511 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_device.cpython-39.pyc' +2024-11-30 13:33:04,511 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__init__.py +2024-11-30 13:33:04,511 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,512 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__init__.py +2024-11-30 13:33:04,512 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,512 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\exceptions.py +2024-11-30 13:33:04,512 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 13:33:04,514 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__init__.py +2024-11-30 13:33:04,514 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\packages\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,514 - api.main - INFO - STDERR: import 'urllib3.packages' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B911897C0> +2024-11-30 13:33:04,514 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__pycache__\six.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\six.py +2024-11-30 13:33:04,514 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\packages\\__pycache__\\six.cpython-39.pyc' +2024-11-30 13:33:04,515 - api.main - INFO - STDERR: import 'urllib3.packages.six' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B911897F0> +2024-11-30 13:33:04,515 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves' # +2024-11-30 13:33:04,515 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.http_client' # +2024-11-30 13:33:04,515 - api.main - INFO - STDERR: import 'urllib3.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91180700> +2024-11-30 13:33:04,516 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\_version.py +2024-11-30 13:33:04,516 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 13:33:04,516 - api.main - INFO - STDERR: import 'urllib3._version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B911808E0> +2024-11-30 13:33:04,516 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\connectionpool.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\connectionpool.py +2024-11-30 13:33:04,516 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\connectionpool.cpython-39.pyc' +2024-11-30 13:33:04,516 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\_collections.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\_collections.py +2024-11-30 13:33:04,516 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\_collections.cpython-39.pyc' +2024-11-30 13:33:04,517 - api.main - INFO - STDERR: import 'urllib3._collections' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B911946D0> +2024-11-30 13:33:04,517 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\connection.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\connection.py +2024-11-30 13:33:04,517 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\connection.cpython-39.pyc' +2024-11-30 13:33:04,517 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__init__.py +2024-11-30 13:33:04,517 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,518 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\connection.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\connection.py +2024-11-30 13:33:04,518 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\connection.cpython-39.pyc' +2024-11-30 13:33:04,518 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__init__.py +2024-11-30 13:33:04,518 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,518 - api.main - INFO - STDERR: import 'urllib3.contrib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B911B4F40> +2024-11-30 13:33:04,518 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\_appengine_environ.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\_appengine_environ.py +2024-11-30 13:33:04,518 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\_appengine_environ.cpython-39.pyc' +2024-11-30 13:33:04,518 - api.main - INFO - STDERR: import 'urllib3.contrib._appengine_environ' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B911C0100> +2024-11-30 13:33:04,519 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\wait.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\wait.py +2024-11-30 13:33:04,519 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\wait.cpython-39.pyc' +2024-11-30 13:33:04,519 - api.main - INFO - STDERR: import 'urllib3.util.wait' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B911C02B0> +2024-11-30 13:33:04,520 - api.main - INFO - STDERR: import 'urllib3.util.connection' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B911B4BB0> +2024-11-30 13:33:04,520 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\request.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\request.py +2024-11-30 13:33:04,520 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\request.cpython-39.pyc' +2024-11-30 13:33:04,521 - api.main - INFO - STDERR: import 'urllib3.util.request' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B911B4D90> +2024-11-30 13:33:04,521 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\response.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\response.py +2024-11-30 13:33:04,521 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\response.cpython-39.pyc' +2024-11-30 13:33:04,521 - api.main - INFO - STDERR: import 'urllib3.util.response' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B911C06D0> +2024-11-30 13:33:04,521 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\retry.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\retry.py +2024-11-30 13:33:04,521 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\retry.cpython-39.pyc' +2024-11-30 13:33:04,522 - api.main - INFO - STDERR: import 'urllib3.util.retry' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B911C07C0> +2024-11-30 13:33:04,522 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssl_.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssl_.py +2024-11-30 13:33:04,522 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssl_.cpython-39.pyc' +2024-11-30 13:33:04,523 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\hmac.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\hmac.py +2024-11-30 13:33:04,523 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\hmac.cpython-39.pyc' +2024-11-30 13:33:04,523 - api.main - INFO - STDERR: import 'hmac' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B911CB9A0> +2024-11-30 13:33:04,523 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\url.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\url.py +2024-11-30 13:33:04,524 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\url.cpython-39.pyc' +2024-11-30 13:33:04,533 - api.main - INFO - STDERR: import 'urllib3.util.url' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B911DB1F0> +2024-11-30 13:33:04,533 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssltransport.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssltransport.py +2024-11-30 13:33:04,533 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssltransport.cpython-39.pyc' +2024-11-30 13:33:04,533 - api.main - INFO - STDERR: import 'urllib3.util.ssltransport' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B911DBDC0> +2024-11-30 13:33:04,533 - api.main - INFO - STDERR: import 'urllib3.util.ssl_' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B911CB4F0> +2024-11-30 13:33:04,534 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\timeout.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\timeout.py +2024-11-30 13:33:04,535 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\timeout.cpython-39.pyc' +2024-11-30 13:33:04,535 - api.main - INFO - STDERR: import 'urllib3.util.timeout' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B911CB790> +2024-11-30 13:33:04,535 - api.main - INFO - STDERR: import 'urllib3.util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B911B48B0> +2024-11-30 13:33:04,535 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\proxy.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\proxy.py +2024-11-30 13:33:04,535 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\proxy.cpython-39.pyc' +2024-11-30 13:33:04,535 - api.main - INFO - STDERR: import 'urllib3.util.proxy' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B911B4910> +2024-11-30 13:33:04,535 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssl_match_hostname.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssl_match_hostname.py +2024-11-30 13:33:04,535 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssl_match_hostname.cpython-39.pyc' +2024-11-30 13:33:04,536 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ipaddress.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ipaddress.py +2024-11-30 13:33:04,540 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ipaddress.cpython-39.pyc' +2024-11-30 13:33:04,544 - api.main - INFO - STDERR: import 'ipaddress' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B911F18B0> +2024-11-30 13:33:04,544 - api.main - INFO - STDERR: import 'urllib3.util.ssl_match_hostname' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B911B4610> +2024-11-30 13:33:04,544 - api.main - INFO - STDERR: import 'urllib3.connection' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B911A4F70> +2024-11-30 13:33:04,544 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\request.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\request.py +2024-11-30 13:33:04,544 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\request.cpython-39.pyc' +2024-11-30 13:33:04,545 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\filepost.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\filepost.py +2024-11-30 13:33:04,545 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\filepost.cpython-39.pyc' +2024-11-30 13:33:04,545 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\fields.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\fields.py +2024-11-30 13:33:04,545 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\fields.cpython-39.pyc' +2024-11-30 13:33:04,547 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\mimetypes.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\mimetypes.py +2024-11-30 13:33:04,548 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\mimetypes.cpython-39.pyc' +2024-11-30 13:33:04,548 - api.main - INFO - STDERR: import 'mimetypes' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91229250> +2024-11-30 13:33:04,548 - api.main - INFO - STDERR: import 'urllib3.fields' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91224C70> +2024-11-30 13:33:04,548 - api.main - INFO - STDERR: import 'urllib3.filepost' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91224850> +2024-11-30 13:33:04,548 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.urllib' # +2024-11-30 13:33:04,548 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.urllib.parse' # +2024-11-30 13:33:04,548 - api.main - INFO - STDERR: import 'urllib3.request' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B911A4FD0> +2024-11-30 13:33:04,548 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\response.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\response.py +2024-11-30 13:33:04,550 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\response.cpython-39.pyc' +2024-11-30 13:33:04,551 - api.main - INFO - STDERR: import 'urllib3.response' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91200F10> +2024-11-30 13:33:04,552 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\queue.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\queue.py +2024-11-30 13:33:04,553 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\queue.cpython-39.pyc' +2024-11-30 13:33:04,553 - api.main - INFO - STDERR: import 'urllib3.util.queue' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B912296A0> +2024-11-30 13:33:04,556 - api.main - INFO - STDERR: import 'urllib3.connectionpool' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91180A30> +2024-11-30 13:33:04,557 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\poolmanager.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\poolmanager.py +2024-11-30 13:33:04,558 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\poolmanager.cpython-39.pyc' +2024-11-30 13:33:04,558 - api.main - INFO - STDERR: import 'urllib3.poolmanager' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9123A220> +2024-11-30 13:33:04,560 - api.main - INFO - STDERR: import 'urllib3' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B911801C0> +2024-11-30 13:33:04,561 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\exceptions.py +2024-11-30 13:33:04,561 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 13:33:04,561 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\compat.py +2024-11-30 13:33:04,563 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\compat.cpython-39.pyc' +2024-11-30 13:33:04,564 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__init__.py +2024-11-30 13:33:04,565 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,565 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\api.py +2024-11-30 13:33:04,565 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\api.cpython-39.pyc' +2024-11-30 13:33:04,565 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\cd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\cd.py +2024-11-30 13:33:04,565 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\cd.cpython-39.pyc' +2024-11-30 13:33:04,565 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\constant.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\constant.py +2024-11-30 13:33:04,568 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\constant.cpython-39.pyc' +2024-11-30 13:33:04,578 - api.main - INFO - STDERR: import 'charset_normalizer.constant' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91255700> +2024-11-30 13:33:04,582 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md__mypyc' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md__mypyc.cp39-win_amd64.pyd' +2024-11-30 13:33:04,582 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md__mypyc' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md__mypyc.cp39-win_amd64.pyd' +2024-11-30 13:33:04,582 - api.main - INFO - STDERR: import 'charset_normalizer.md__mypyc' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000022B91279DF0> +2024-11-30 13:33:04,582 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\utils.py +2024-11-30 13:33:04,584 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 13:33:04,586 - api.main - INFO - STDERR: # extension module 'unicodedata' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\unicodedata.pyd' +2024-11-30 13:33:04,586 - api.main - INFO - STDERR: # extension module 'unicodedata' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\unicodedata.pyd' +2024-11-30 13:33:04,587 - api.main - INFO - STDERR: import 'unicodedata' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000022B912806A0> +2024-11-30 13:33:04,587 - api.main - INFO - STDERR: import '_multibytecodec' # +2024-11-30 13:33:04,588 - api.main - INFO - STDERR: import 'charset_normalizer.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91279B20> +2024-11-30 13:33:04,592 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md.cp39-win_amd64.pyd' +2024-11-30 13:33:04,592 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md.cp39-win_amd64.pyd' +2024-11-30 13:33:04,592 - api.main - INFO - STDERR: import 'charset_normalizer.md' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000022B91279B50> +2024-11-30 13:33:04,592 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\models.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\models.py +2024-11-30 13:33:04,592 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\models.cpython-39.pyc' +2024-11-30 13:33:04,592 - api.main - INFO - STDERR: import 'charset_normalizer.models' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91280F10> +2024-11-30 13:33:04,592 - api.main - INFO - STDERR: import 'charset_normalizer.cd' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9123A730> +2024-11-30 13:33:04,593 - api.main - INFO - STDERR: import 'charset_normalizer.api' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9123AA90> +2024-11-30 13:33:04,597 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\legacy.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\legacy.py +2024-11-30 13:33:04,597 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\legacy.cpython-39.pyc' +2024-11-30 13:33:04,597 - api.main - INFO - STDERR: import 'charset_normalizer.legacy' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B912912B0> +2024-11-30 13:33:04,597 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\version.py +2024-11-30 13:33:04,597 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\version.cpython-39.pyc' +2024-11-30 13:33:04,597 - api.main - INFO - STDERR: import 'charset_normalizer.version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91291340> +2024-11-30 13:33:04,597 - api.main - INFO - STDERR: import 'charset_normalizer' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9123AD30> +2024-11-30 13:33:04,598 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\cookiejar.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\cookiejar.py +2024-11-30 13:33:04,600 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\cookiejar.cpython-39.pyc' +2024-11-30 13:33:04,608 - api.main - INFO - STDERR: import 'http.cookiejar' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91291370> +2024-11-30 13:33:04,610 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\cookies.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\cookies.py +2024-11-30 13:33:04,610 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\cookies.cpython-39.pyc' +2024-11-30 13:33:04,611 - api.main - INFO - STDERR: import 'http.cookies' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91291EE0> +2024-11-30 13:33:04,611 - api.main - INFO - STDERR: import 'requests.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9123AF70> +2024-11-30 13:33:04,613 - api.main - INFO - STDERR: import 'requests.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B912463A0> +2024-11-30 13:33:04,614 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\packages.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\packages.py +2024-11-30 13:33:04,615 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\packages.cpython-39.pyc' +2024-11-30 13:33:04,615 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__init__.py +2024-11-30 13:33:04,617 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,617 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\core.py +2024-11-30 13:33:04,617 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\core.cpython-39.pyc' +2024-11-30 13:33:04,617 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\idnadata.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\idnadata.py +2024-11-30 13:33:04,619 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\idnadata.cpython-39.pyc' +2024-11-30 13:33:04,619 - api.main - INFO - STDERR: import 'idna.idnadata' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B913047C0> +2024-11-30 13:33:04,619 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\intranges.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\intranges.py +2024-11-30 13:33:04,619 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\intranges.cpython-39.pyc' +2024-11-30 13:33:04,620 - api.main - INFO - STDERR: import 'idna.intranges' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91304850> +2024-11-30 13:33:04,621 - api.main - INFO - STDERR: import 'idna.core' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B912E61C0> +2024-11-30 13:33:04,621 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\package_data.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\package_data.py +2024-11-30 13:33:04,621 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\package_data.cpython-39.pyc' +2024-11-30 13:33:04,621 - api.main - INFO - STDERR: import 'idna.package_data' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B913044F0> +2024-11-30 13:33:04,621 - api.main - INFO - STDERR: import 'idna' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91246070> +2024-11-30 13:33:04,621 - api.main - INFO - STDERR: import 'requests.packages' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91246580> +2024-11-30 13:33:04,623 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\utils.py +2024-11-30 13:33:04,623 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 13:33:04,624 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\certs.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\certs.py +2024-11-30 13:33:04,624 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\certs.cpython-39.pyc' +2024-11-30 13:33:04,624 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__init__.py +2024-11-30 13:33:04,624 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\certifi\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,625 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\core.py +2024-11-30 13:33:04,625 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\certifi\\__pycache__\\core.cpython-39.pyc' +2024-11-30 13:33:04,625 - api.main - INFO - STDERR: import 'certifi.core' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9132F730> +2024-11-30 13:33:04,625 - api.main - INFO - STDERR: import 'certifi' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9132F4C0> +2024-11-30 13:33:04,625 - api.main - INFO - STDERR: import 'requests.certs' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9132F2B0> +2024-11-30 13:33:04,625 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\__version__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__version__.py +2024-11-30 13:33:04,625 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\__version__.cpython-39.pyc' +2024-11-30 13:33:04,625 - api.main - INFO - STDERR: import 'requests.__version__' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9132F430> +2024-11-30 13:33:04,625 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\_internal_utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\_internal_utils.py +2024-11-30 13:33:04,625 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\_internal_utils.cpython-39.pyc' +2024-11-30 13:33:04,626 - api.main - INFO - STDERR: import 'requests._internal_utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9132F340> +2024-11-30 13:33:04,626 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\cookies.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\cookies.py +2024-11-30 13:33:04,627 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\cookies.cpython-39.pyc' +2024-11-30 13:33:04,628 - api.main - INFO - STDERR: import 'requests.cookies' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9132F550> +2024-11-30 13:33:04,628 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\structures.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\structures.py +2024-11-30 13:33:04,628 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\structures.cpython-39.pyc' +2024-11-30 13:33:04,628 - api.main - INFO - STDERR: import 'requests.structures' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91340940> +2024-11-30 13:33:04,629 - api.main - INFO - STDERR: import 'requests.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B912467C0> +2024-11-30 13:33:04,630 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\api.py +2024-11-30 13:33:04,630 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\api.cpython-39.pyc' +2024-11-30 13:33:04,631 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\sessions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\sessions.py +2024-11-30 13:33:04,633 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\sessions.cpython-39.pyc' +2024-11-30 13:33:04,633 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\adapters.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\adapters.py +2024-11-30 13:33:04,633 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\adapters.cpython-39.pyc' +2024-11-30 13:33:04,634 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\auth.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\auth.py +2024-11-30 13:33:04,634 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\auth.cpython-39.pyc' +2024-11-30 13:33:04,634 - api.main - INFO - STDERR: import 'requests.auth' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91359730> +2024-11-30 13:33:04,635 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\models.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\models.py +2024-11-30 13:33:04,639 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\models.cpython-39.pyc' +2024-11-30 13:33:04,640 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\idna.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\idna.py +2024-11-30 13:33:04,640 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\idna.cpython-39.pyc' +2024-11-30 13:33:04,641 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\stringprep.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\stringprep.py +2024-11-30 13:33:04,641 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\stringprep.cpython-39.pyc' +2024-11-30 13:33:04,642 - api.main - INFO - STDERR: import 'stringprep' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91375160> +2024-11-30 13:33:04,642 - api.main - INFO - STDERR: import 'encodings.idna' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91368CD0> +2024-11-30 13:33:04,642 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\hooks.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\hooks.py +2024-11-30 13:33:04,642 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\hooks.cpython-39.pyc' +2024-11-30 13:33:04,642 - api.main - INFO - STDERR: import 'requests.hooks' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91368EE0> +2024-11-30 13:33:04,642 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\status_codes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\status_codes.py +2024-11-30 13:33:04,642 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\status_codes.cpython-39.pyc' +2024-11-30 13:33:04,643 - api.main - INFO - STDERR: import 'requests.status_codes' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91368F70> +2024-11-30 13:33:04,643 - api.main - INFO - STDERR: import 'requests.models' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91359DF0> +2024-11-30 13:33:04,643 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\socks.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\socks.py +2024-11-30 13:33:04,643 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\socks.cpython-39.pyc' +2024-11-30 13:33:04,644 - api.main - INFO - STDERR: # destroy urllib3.contrib.socks +2024-11-30 13:33:04,644 - api.main - INFO - STDERR: import 'requests.adapters' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9134DE20> +2024-11-30 13:33:04,645 - api.main - INFO - STDERR: import 'requests.sessions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9134D3D0> +2024-11-30 13:33:04,645 - api.main - INFO - STDERR: import 'requests.api' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91340F70> +2024-11-30 13:33:04,645 - api.main - INFO - STDERR: import 'requests' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9116FE80> +2024-11-30 13:33:04,646 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__init__.py +2024-11-30 13:33:04,646 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,648 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_version.py +2024-11-30 13:33:04,648 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 13:33:04,648 - api.main - INFO - STDERR: import 'PIL._version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91359550> +2024-11-30 13:33:04,648 - api.main - INFO - STDERR: import 'PIL' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9134D1F0> +2024-11-30 13:33:04,651 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\Image.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\Image.py +2024-11-30 13:33:04,655 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\Image.cpython-39.pyc' +2024-11-30 13:33:04,657 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\ExifTags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\ExifTags.py +2024-11-30 13:33:04,657 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\ExifTags.cpython-39.pyc' +2024-11-30 13:33:04,672 - api.main - INFO - STDERR: import 'PIL.ExifTags' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B913B9880> +2024-11-30 13:33:04,673 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\ImageMode.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\ImageMode.py +2024-11-30 13:33:04,673 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\ImageMode.cpython-39.pyc' +2024-11-30 13:33:04,673 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_deprecate.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_deprecate.py +2024-11-30 13:33:04,673 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_deprecate.cpython-39.pyc' +2024-11-30 13:33:04,673 - api.main - INFO - STDERR: import 'PIL._deprecate' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B913D5DF0> +2024-11-30 13:33:04,673 - api.main - INFO - STDERR: import 'PIL.ImageMode' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B913B98B0> +2024-11-30 13:33:04,674 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\TiffTags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\TiffTags.py +2024-11-30 13:33:04,692 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\TiffTags.cpython-39.pyc' +2024-11-30 13:33:04,693 - api.main - INFO - STDERR: import 'PIL.TiffTags' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B913DA9A0> +2024-11-30 13:33:04,693 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_binary.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_binary.py +2024-11-30 13:33:04,694 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_binary.cpython-39.pyc' +2024-11-30 13:33:04,694 - api.main - INFO - STDERR: import 'PIL._binary' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B913DAE80> +2024-11-30 13:33:04,694 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_util.py +2024-11-30 13:33:04,694 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_util.cpython-39.pyc' +2024-11-30 13:33:04,694 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_typing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_typing.py +2024-11-30 13:33:04,694 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_typing.cpython-39.pyc' +2024-11-30 13:33:04,695 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\typing_extensions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\typing_extensions.py +2024-11-30 13:33:04,696 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\typing_extensions.cpython-39.pyc' +2024-11-30 13:33:04,697 - api.main - INFO - STDERR: import 'typing_extensions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B913EFC10> +2024-11-30 13:33:04,697 - api.main - INFO - STDERR: import 'PIL._typing' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B913EF790> +2024-11-30 13:33:04,697 - api.main - INFO - STDERR: import 'PIL._util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B913EF340> +2024-11-30 13:33:04,699 - api.main - INFO - STDERR: # extension module 'PIL._imaging' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\_imaging.cp39-win_amd64.pyd' +2024-11-30 13:33:04,699 - api.main - INFO - STDERR: # extension module 'PIL._imaging' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\_imaging.cp39-win_amd64.pyd' +2024-11-30 13:33:04,699 - api.main - INFO - STDERR: import 'PIL._imaging' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000022B913EFE20> +2024-11-30 13:33:04,700 - api.main - INFO - STDERR: import 'PIL.Image' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9134DBE0> +2024-11-30 13:33:04,701 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__init__.py +2024-11-30 13:33:04,701 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,702 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py +2024-11-30 13:33:04,702 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\api.cpython-39.pyc' +2024-11-30 13:33:04,702 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\compat.py +2024-11-30 13:33:04,702 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\compat.cpython-39.pyc' +2024-11-30 13:33:04,703 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\decorator.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\decorator.py +2024-11-30 13:33:04,703 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\decorator.cpython-39.pyc' +2024-11-30 13:33:04,703 - api.main - INFO - STDERR: import 'decorator' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9140B9D0> +2024-11-30 13:33:04,703 - api.main - INFO - STDERR: import 'retry.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9140B130> +2024-11-30 13:33:04,703 - api.main - INFO - STDERR: import 'retry.api' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91404520> +2024-11-30 13:33:04,703 - api.main - INFO - STDERR: import 'retry' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9134D160> +2024-11-30 13:33:04,704 - api.main - INFO - STDERR: import 'adbutils._device' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91159130> +2024-11-30 13:33:04,704 - api.main - INFO - STDERR: import 'adbutils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90588D00> +2024-11-30 13:33:04,705 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__init__.py +2024-11-30 13:33:04,705 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,705 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_api.py +2024-11-30 13:33:04,705 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_api.cpython-39.pyc' +2024-11-30 13:33:04,706 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_error.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_error.py +2024-11-30 13:33:04,707 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_error.cpython-39.pyc' +2024-11-30 13:33:04,707 - api.main - INFO - STDERR: import 'filelock._error' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B915D3190> +2024-11-30 13:33:04,708 - api.main - INFO - STDERR: import 'filelock._api' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B915BA790> +2024-11-30 13:33:04,708 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_soft.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_soft.py +2024-11-30 13:33:04,708 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_soft.cpython-39.pyc' +2024-11-30 13:33:04,708 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_util.py +2024-11-30 13:33:04,708 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_util.cpython-39.pyc' +2024-11-30 13:33:04,708 - api.main - INFO - STDERR: import 'filelock._util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B915D3FD0> +2024-11-30 13:33:04,708 - api.main - INFO - STDERR: import 'filelock._soft' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B915D3550> +2024-11-30 13:33:04,709 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_unix.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_unix.py +2024-11-30 13:33:04,709 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_unix.cpython-39.pyc' +2024-11-30 13:33:04,709 - api.main - INFO - STDERR: import 'filelock._unix' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B915D3F10> +2024-11-30 13:33:04,709 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_windows.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_windows.py +2024-11-30 13:33:04,709 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_windows.cpython-39.pyc' +2024-11-30 13:33:04,709 - api.main - INFO - STDERR: import 'filelock._windows' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B915D3910> +2024-11-30 13:33:04,710 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\asyncio.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\asyncio.py +2024-11-30 13:33:04,710 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\asyncio.cpython-39.pyc' +2024-11-30 13:33:04,712 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__init__.py +2024-11-30 13:33:04,712 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,713 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_events.py +2024-11-30 13:33:04,713 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_events.cpython-39.pyc' +2024-11-30 13:33:04,714 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\__init__.py +2024-11-30 13:33:04,714 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,714 - api.main - INFO - STDERR: import 'concurrent' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B915FF760> +2024-11-30 13:33:04,715 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__init__.py +2024-11-30 13:33:04,715 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\futures\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,717 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__pycache__\_base.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\_base.py +2024-11-30 13:33:04,717 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\futures\\__pycache__\\_base.cpython-39.pyc' +2024-11-30 13:33:04,717 - api.main - INFO - STDERR: import 'concurrent.futures._base' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B915FFA60> +2024-11-30 13:33:04,717 - api.main - INFO - STDERR: import 'concurrent.futures' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B915FF790> +2024-11-30 13:33:04,719 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\constants.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\constants.py +2024-11-30 13:33:04,719 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\constants.cpython-39.pyc' +2024-11-30 13:33:04,719 - api.main - INFO - STDERR: import 'asyncio.constants' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B915FF850> +2024-11-30 13:33:04,719 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\coroutines.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\coroutines.py +2024-11-30 13:33:04,719 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\coroutines.cpython-39.pyc' +2024-11-30 13:33:04,720 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_futures.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_futures.py +2024-11-30 13:33:04,721 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_futures.cpython-39.pyc' +2024-11-30 13:33:04,721 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\format_helpers.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\format_helpers.py +2024-11-30 13:33:04,721 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\format_helpers.cpython-39.pyc' +2024-11-30 13:33:04,721 - api.main - INFO - STDERR: import 'asyncio.format_helpers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9160FD00> +2024-11-30 13:33:04,721 - api.main - INFO - STDERR: import 'asyncio.base_futures' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9160F9A0> +2024-11-30 13:33:04,722 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\log.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\log.py +2024-11-30 13:33:04,722 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\log.cpython-39.pyc' +2024-11-30 13:33:04,722 - api.main - INFO - STDERR: import 'asyncio.log' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9160FD30> +2024-11-30 13:33:04,722 - api.main - INFO - STDERR: import 'asyncio.coroutines' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B915FF5E0> +2024-11-30 13:33:04,722 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\events.py +2024-11-30 13:33:04,723 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\events.cpython-39.pyc' +2024-11-30 13:33:04,723 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\contextvars.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\contextvars.py +2024-11-30 13:33:04,723 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\contextvars.cpython-39.pyc' +2024-11-30 13:33:04,723 - api.main - INFO - STDERR: import '_contextvars' # +2024-11-30 13:33:04,723 - api.main - INFO - STDERR: import 'contextvars' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9162D160> +2024-11-30 13:33:04,725 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\exceptions.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\exceptions.py +2024-11-30 13:33:04,725 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 13:33:04,725 - api.main - INFO - STDERR: import 'asyncio.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9162D730> +2024-11-30 13:33:04,725 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_tasks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_tasks.py +2024-11-30 13:33:04,725 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_tasks.cpython-39.pyc' +2024-11-30 13:33:04,725 - api.main - INFO - STDERR: import 'asyncio.base_tasks' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9162DB80> +2024-11-30 13:33:04,725 - api.main - INFO - STDERR: # extension module '_asyncio' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_asyncio.pyd' +2024-11-30 13:33:04,725 - api.main - INFO - STDERR: # extension module '_asyncio' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_asyncio.pyd' +2024-11-30 13:33:04,725 - api.main - INFO - STDERR: import '_asyncio' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000022B9162D4F0> +2024-11-30 13:33:04,725 - api.main - INFO - STDERR: import 'asyncio.events' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9160F790> +2024-11-30 13:33:04,725 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\futures.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\futures.py +2024-11-30 13:33:04,725 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\futures.cpython-39.pyc' +2024-11-30 13:33:04,727 - api.main - INFO - STDERR: import 'asyncio.futures' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9162D310> +2024-11-30 13:33:04,727 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\protocols.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\protocols.py +2024-11-30 13:33:04,727 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\protocols.cpython-39.pyc' +2024-11-30 13:33:04,727 - api.main - INFO - STDERR: import 'asyncio.protocols' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9163F280> +2024-11-30 13:33:04,728 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\sslproto.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\sslproto.py +2024-11-30 13:33:04,728 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\sslproto.cpython-39.pyc' +2024-11-30 13:33:04,728 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\transports.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\transports.py +2024-11-30 13:33:04,728 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\transports.cpython-39.pyc' +2024-11-30 13:33:04,728 - api.main - INFO - STDERR: import 'asyncio.transports' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91648940> +2024-11-30 13:33:04,729 - api.main - INFO - STDERR: import 'asyncio.sslproto' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9163F910> +2024-11-30 13:33:04,729 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\staggered.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\staggered.py +2024-11-30 13:33:04,729 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\staggered.cpython-39.pyc' +2024-11-30 13:33:04,730 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\locks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\locks.py +2024-11-30 13:33:04,730 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\locks.cpython-39.pyc' +2024-11-30 13:33:04,730 - api.main - INFO - STDERR: import 'asyncio.locks' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91665940> +2024-11-30 13:33:04,730 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\tasks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\tasks.py +2024-11-30 13:33:04,730 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\tasks.cpython-39.pyc' +2024-11-30 13:33:04,730 - api.main - INFO - STDERR: import 'asyncio.tasks' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B916714C0> +2024-11-30 13:33:04,730 - api.main - INFO - STDERR: import 'asyncio.staggered' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91648700> +2024-11-30 13:33:04,731 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\trsock.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\trsock.py +2024-11-30 13:33:04,731 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\trsock.cpython-39.pyc' +2024-11-30 13:33:04,731 - api.main - INFO - STDERR: import 'asyncio.trsock' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9167B790> +2024-11-30 13:33:04,731 - api.main - INFO - STDERR: import 'asyncio.base_events' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B915D73A0> +2024-11-30 13:33:04,732 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\runners.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\runners.py +2024-11-30 13:33:04,732 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\runners.cpython-39.pyc' +2024-11-30 13:33:04,732 - api.main - INFO - STDERR: import 'asyncio.runners' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B915FF4F0> +2024-11-30 13:33:04,732 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\queues.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\queues.py +2024-11-30 13:33:04,732 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\queues.cpython-39.pyc' +2024-11-30 13:33:04,732 - api.main - INFO - STDERR: import 'asyncio.queues' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B915FF3A0> +2024-11-30 13:33:04,733 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\streams.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\streams.py +2024-11-30 13:33:04,733 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\streams.cpython-39.pyc' +2024-11-30 13:33:04,733 - api.main - INFO - STDERR: import 'asyncio.streams' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91684850> +2024-11-30 13:33:04,733 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\subprocess.py +2024-11-30 13:33:04,734 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\subprocess.cpython-39.pyc' +2024-11-30 13:33:04,734 - api.main - INFO - STDERR: import 'asyncio.subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9169B670> +2024-11-30 13:33:04,734 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\threads.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\threads.py +2024-11-30 13:33:04,734 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\threads.cpython-39.pyc' +2024-11-30 13:33:04,734 - api.main - INFO - STDERR: import 'asyncio.threads' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9169BC10> +2024-11-30 13:33:04,735 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\windows_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\windows_events.py +2024-11-30 13:33:04,735 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\windows_events.cpython-39.pyc' +2024-11-30 13:33:04,736 - api.main - INFO - STDERR: # extension module '_overlapped' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_overlapped.pyd' +2024-11-30 13:33:04,736 - api.main - INFO - STDERR: # extension module '_overlapped' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_overlapped.pyd' +2024-11-30 13:33:04,736 - api.main - INFO - STDERR: import '_overlapped' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000022B916B71C0> +2024-11-30 13:33:04,737 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_subprocess.py +2024-11-30 13:33:04,737 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_subprocess.cpython-39.pyc' +2024-11-30 13:33:04,738 - api.main - INFO - STDERR: import 'asyncio.base_subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B916B7310> +2024-11-30 13:33:04,738 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\proactor_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\proactor_events.py +2024-11-30 13:33:04,738 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\proactor_events.cpython-39.pyc' +2024-11-30 13:33:04,739 - api.main - INFO - STDERR: import 'asyncio.proactor_events' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B916B7D90> +2024-11-30 13:33:04,739 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\selector_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\selector_events.py +2024-11-30 13:33:04,739 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\selector_events.cpython-39.pyc' +2024-11-30 13:33:04,740 - api.main - INFO - STDERR: import 'asyncio.selector_events' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B916D1490> +2024-11-30 13:33:04,740 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\windows_utils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\windows_utils.py +2024-11-30 13:33:04,740 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\windows_utils.cpython-39.pyc' +2024-11-30 13:33:04,742 - api.main - INFO - STDERR: import 'asyncio.windows_utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B916F2580> +2024-11-30 13:33:04,742 - api.main - INFO - STDERR: import 'asyncio.windows_events' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9169BCD0> +2024-11-30 13:33:04,742 - api.main - INFO - STDERR: import 'asyncio' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B915D72E0> +2024-11-30 13:33:04,743 - api.main - INFO - STDERR: import 'filelock.asyncio' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B915D3AC0> +2024-11-30 13:33:04,743 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\version.py +2024-11-30 13:33:04,743 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\version.cpython-39.pyc' +2024-11-30 13:33:04,743 - api.main - INFO - STDERR: import 'filelock.version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91700B20> +2024-11-30 13:33:04,743 - api.main - INFO - STDERR: import 'filelock' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B915BA5B0> +2024-11-30 13:33:04,743 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__init__.py +2024-11-30 13:33:04,743 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,743 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\colors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\colors.py +2024-11-30 13:33:04,743 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\colors.cpython-39.pyc' +2024-11-30 13:33:04,743 - api.main - INFO - STDERR: import 'logzero.colors' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B917009A0> +2024-11-30 13:33:04,745 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\jsonlogger.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\jsonlogger.py +2024-11-30 13:33:04,745 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\jsonlogger.cpython-39.pyc' +2024-11-30 13:33:04,745 - api.main - INFO - STDERR: import 'logzero.jsonlogger' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91700250> +2024-11-30 13:33:04,746 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__pycache__\handlers.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\handlers.py +2024-11-30 13:33:04,746 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\logging\\__pycache__\\handlers.cpython-39.pyc' +2024-11-30 13:33:04,747 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pickle.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pickle.py +2024-11-30 13:33:04,747 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pickle.cpython-39.pyc' +2024-11-30 13:33:04,748 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_compat_pickle.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_compat_pickle.py +2024-11-30 13:33:04,748 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_compat_pickle.cpython-39.pyc' +2024-11-30 13:33:04,748 - api.main - INFO - STDERR: import '_compat_pickle' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B917396D0> +2024-11-30 13:33:04,748 - api.main - INFO - STDERR: import '_pickle' # +2024-11-30 13:33:04,749 - api.main - INFO - STDERR: import 'pickle' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91719BE0> +2024-11-30 13:33:04,749 - api.main - INFO - STDERR: import 'logging.handlers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B916F2D00> +2024-11-30 13:33:04,750 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\curses\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\curses\__init__.py +2024-11-30 13:33:04,750 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\curses\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,751 - api.main - INFO - STDERR: # destroy curses +2024-11-30 13:33:04,751 - api.main - INFO - STDERR: import 'logzero' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B915D3A90> +2024-11-30 13:33:04,751 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\six.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\six.py +2024-11-30 13:33:04,751 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\six.cpython-39.pyc' +2024-11-30 13:33:04,752 - api.main - INFO - STDERR: import 'six' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91719D30> +2024-11-30 13:33:04,752 - api.main - INFO - STDERR: import 'six.moves' # +2024-11-30 13:33:04,753 - api.main - INFO - STDERR: import 'six.moves.urllib' # +2024-11-30 13:33:04,753 - api.main - INFO - STDERR: import 'six.moves.urllib.parse' # +2024-11-30 13:33:04,753 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\cached_property.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cached_property.py +2024-11-30 13:33:04,753 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\cached_property.cpython-39.pyc' +2024-11-30 13:33:04,753 - api.main - INFO - STDERR: import 'cached_property' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91739F10> +2024-11-30 13:33:04,754 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__init__.py +2024-11-30 13:33:04,754 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\deprecated\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,755 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__pycache__\classic.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\classic.py +2024-11-30 13:33:04,755 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\deprecated\\__pycache__\\classic.cpython-39.pyc' +2024-11-30 13:33:04,756 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__init__.py +2024-11-30 13:33:04,756 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,756 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\__wrapt__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__wrapt__.py +2024-11-30 13:33:04,756 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\__wrapt__.cpython-39.pyc' +2024-11-30 13:33:04,756 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\wrappers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\wrappers.py +2024-11-30 13:33:04,756 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\wrappers.cpython-39.pyc' +2024-11-30 13:33:04,757 - api.main - INFO - STDERR: import 'wrapt.wrappers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B917669A0> +2024-11-30 13:33:04,758 - api.main - INFO - STDERR: # extension module 'wrapt._wrappers' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\_wrappers.cp39-win_amd64.pyd' +2024-11-30 13:33:04,758 - api.main - INFO - STDERR: # extension module 'wrapt._wrappers' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\_wrappers.cp39-win_amd64.pyd' +2024-11-30 13:33:04,758 - api.main - INFO - STDERR: import 'wrapt._wrappers' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000022B9177BA00> +2024-11-30 13:33:04,758 - api.main - INFO - STDERR: import 'wrapt.__wrapt__' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91766B20> +2024-11-30 13:33:04,758 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\patches.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\patches.py +2024-11-30 13:33:04,758 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\patches.cpython-39.pyc' +2024-11-30 13:33:04,758 - api.main - INFO - STDERR: import 'wrapt.patches' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91766C10> +2024-11-30 13:33:04,758 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\weakrefs.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\weakrefs.py +2024-11-30 13:33:04,758 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\weakrefs.cpython-39.pyc' +2024-11-30 13:33:04,759 - api.main - INFO - STDERR: import 'wrapt.weakrefs' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9177BF70> +2024-11-30 13:33:04,759 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\decorators.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\decorators.py +2024-11-30 13:33:04,759 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\decorators.cpython-39.pyc' +2024-11-30 13:33:04,759 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\arguments.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\arguments.py +2024-11-30 13:33:04,759 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\arguments.cpython-39.pyc' +2024-11-30 13:33:04,759 - api.main - INFO - STDERR: import 'wrapt.arguments' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9178FFA0> +2024-11-30 13:33:04,759 - api.main - INFO - STDERR: import 'wrapt.decorators' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9178F250> +2024-11-30 13:33:04,760 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\importer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\importer.py +2024-11-30 13:33:04,760 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\importer.cpython-39.pyc' +2024-11-30 13:33:04,760 - api.main - INFO - STDERR: import 'wrapt.importer' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91795280> +2024-11-30 13:33:04,760 - api.main - INFO - STDERR: import 'wrapt' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91766FA0> +2024-11-30 13:33:04,760 - api.main - INFO - STDERR: import 'deprecated.classic' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91756BE0> +2024-11-30 13:33:04,760 - api.main - INFO - STDERR: import 'deprecated' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91756700> +2024-11-30 13:33:04,761 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\xpath.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\xpath.py +2024-11-30 13:33:04,761 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\xpath.cpython-39.pyc' +2024-11-30 13:33:04,761 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\_proto.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_proto.py +2024-11-30 13:33:04,761 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\_proto.cpython-39.pyc' +2024-11-30 13:33:04,761 - api.main - INFO - STDERR: import 'uiautomator2._proto' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B917AD910> +2024-11-30 13:33:04,762 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\abcd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\abcd.py +2024-11-30 13:33:04,762 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\abcd.cpython-39.pyc' +2024-11-30 13:33:04,762 - api.main - INFO - STDERR: import 'uiautomator2.abcd' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B917ADA60> +2024-11-30 13:33:04,763 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\exceptions.py +2024-11-30 13:33:04,763 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 13:33:04,763 - api.main - INFO - STDERR: import 'uiautomator2.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B917ADD90> +2024-11-30 13:33:04,763 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\utils.py +2024-11-30 13:33:04,763 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 13:33:04,763 - api.main - INFO - STDERR: import 'uiautomator2.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B917ADEE0> +2024-11-30 13:33:04,764 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\lxml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\lxml\__init__.py +2024-11-30 13:33:04,764 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,764 - api.main - INFO - STDERR: import 'lxml' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B917C6E50> +2024-11-30 13:33:04,765 - api.main - INFO - STDERR: # extension module 'lxml.etree' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\etree.cp39-win_amd64.pyd' +2024-11-30 13:33:04,765 - api.main - INFO - STDERR: import 'gc' # +2024-11-30 13:33:04,767 - api.main - INFO - STDERR: # extension module 'lxml._elementpath' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\_elementpath.cp39-win_amd64.pyd' +2024-11-30 13:33:04,769 - api.main - INFO - STDERR: # extension module 'lxml._elementpath' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\_elementpath.cp39-win_amd64.pyd' +2024-11-30 13:33:04,769 - api.main - INFO - STDERR: import 'lxml._elementpath' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000022B91826DF0> +2024-11-30 13:33:04,772 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\gzip.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\gzip.py +2024-11-30 13:33:04,772 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\gzip.cpython-39.pyc' +2024-11-30 13:33:04,772 - api.main - INFO - STDERR: import 'gzip' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B918478B0> +2024-11-30 13:33:04,774 - api.main - INFO - STDERR: # extension module 'lxml.etree' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\etree.cp39-win_amd64.pyd' +2024-11-30 13:33:04,774 - api.main - INFO - STDERR: import 'lxml.etree' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000022B917C6F70> +2024-11-30 13:33:04,775 - api.main - INFO - STDERR: import 'uiautomator2.xpath' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91756760> +2024-11-30 13:33:04,775 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\_selector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_selector.py +2024-11-30 13:33:04,775 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\_selector.cpython-39.pyc' +2024-11-30 13:33:04,776 - api.main - INFO - STDERR: import 'uiautomator2._selector' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B91795910> +2024-11-30 13:33:04,776 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\init.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\init.py +2024-11-30 13:33:04,776 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\init.cpython-39.pyc' +2024-11-30 13:33:04,777 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tarfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tarfile.py +2024-11-30 13:33:04,778 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tarfile.cpython-39.pyc' +2024-11-30 13:33:04,779 - api.main - INFO - STDERR: import 'tarfile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9188EAF0> +2024-11-30 13:33:04,780 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__init__.py +2024-11-30 13:33:04,780 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,780 - api.main - INFO - STDERR: import 'progress' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9189BA30> +2024-11-30 13:33:04,780 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\bar.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\bar.py +2024-11-30 13:33:04,780 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\bar.cpython-39.pyc' +2024-11-30 13:33:04,780 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\colors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\colors.py +2024-11-30 13:33:04,781 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\colors.cpython-39.pyc' +2024-11-30 13:33:04,781 - api.main - INFO - STDERR: import 'progress.colors' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B918C7280> +2024-11-30 13:33:04,781 - api.main - INFO - STDERR: import 'progress.bar' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B918BAFA0> +2024-11-30 13:33:04,781 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\version.py +2024-11-30 13:33:04,781 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\version.cpython-39.pyc' +2024-11-30 13:33:04,781 - api.main - INFO - STDERR: import 'uiautomator2.version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B918BAF10> +2024-11-30 13:33:04,782 - api.main - INFO - STDERR: import 'uiautomator2.init' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9188E4C0> +2024-11-30 13:33:04,783 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\settings.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\settings.py +2024-11-30 13:33:04,783 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\settings.cpython-39.pyc' +2024-11-30 13:33:04,783 - api.main - INFO - STDERR: import 'uiautomator2.settings' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B918C7A30> +2024-11-30 13:33:04,783 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\swipe.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\swipe.py +2024-11-30 13:33:04,783 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\swipe.cpython-39.pyc' +2024-11-30 13:33:04,783 - api.main - INFO - STDERR: import 'uiautomator2.swipe' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B918C7CD0> +2024-11-30 13:33:04,783 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\watcher.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\watcher.py +2024-11-30 13:33:04,783 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\watcher.cpython-39.pyc' +2024-11-30 13:33:04,784 - api.main - INFO - STDERR: import 'uiautomator2.watcher' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B918C7E80> +2024-11-30 13:33:04,785 - api.main - INFO - STDERR: import 'uiautomator2' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B90499E80> +2024-11-30 13:33:04,785 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\utils.py +2024-11-30 13:33:04,785 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 13:33:04,786 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__init__.py +2024-11-30 13:33:04,786 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,786 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\core.py +2024-11-30 13:33:04,786 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\__pycache__\\core.cpython-39.pyc' +2024-11-30 13:33:04,786 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__init__.py +2024-11-30 13:33:04,786 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\unicode_codes\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,789 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__pycache__\data_dict.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\data_dict.py +2024-11-30 13:33:04,791 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\unicode_codes\\__pycache__\\data_dict.cpython-39.pyc' +2024-11-30 13:33:04,795 - api.main - INFO - STDERR: import 'emoji.unicode_codes.data_dict' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B918FF8E0> +2024-11-30 13:33:04,805 - api.main - INFO - STDERR: import 'emoji.unicode_codes' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B918FF5B0> +2024-11-30 13:33:04,805 - api.main - INFO - STDERR: import 'emoji.core' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B918EDEE0> +2024-11-30 13:33:04,805 - api.main - INFO - STDERR: import 'emoji' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B918EDC70> +2024-11-30 13:33:04,806 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\log.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\log.py +2024-11-30 13:33:04,806 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\log.cpython-39.pyc' +2024-11-30 13:33:04,807 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\uuid.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\uuid.py +2024-11-30 13:33:04,808 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\uuid.cpython-39.pyc' +2024-11-30 13:33:04,809 - api.main - INFO - STDERR: # extension module '_uuid' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_uuid.pyd' +2024-11-30 13:33:04,809 - api.main - INFO - STDERR: # extension module '_uuid' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_uuid.pyd' +2024-11-30 13:33:04,809 - api.main - INFO - STDERR: import '_uuid' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000022B924E7160> +2024-11-30 13:33:04,809 - api.main - INFO - STDERR: import 'uuid' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B918FFA00> +2024-11-30 13:33:04,809 - api.main - INFO - STDERR: import 'GramAddict.core.log' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B918EDCA0> +2024-11-30 13:33:04,809 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\report.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\report.py +2024-11-30 13:33:04,809 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\report.cpython-39.pyc' +2024-11-30 13:33:04,809 - api.main - INFO - STDERR: import 'GramAddict.core.report' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B918FF6D0> +2024-11-30 13:33:04,810 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\resources.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\resources.py +2024-11-30 13:33:04,810 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\resources.cpython-39.pyc' +2024-11-30 13:33:04,810 - api.main - INFO - STDERR: import 'GramAddict.core.resources' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B924DEF40> +2024-11-30 13:33:04,810 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\storage.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\storage.py +2024-11-30 13:33:04,810 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\storage.cpython-39.pyc' +2024-11-30 13:33:04,811 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\atomicwrites\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\atomicwrites\__init__.py +2024-11-30 13:33:04,811 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\atomicwrites\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,812 - api.main - INFO - STDERR: import 'atomicwrites' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B924E77F0> +2024-11-30 13:33:04,812 - api.main - INFO - STDERR: import 'GramAddict.core.storage' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B924E7280> +2024-11-30 13:33:04,812 - api.main - INFO - STDERR: import 'GramAddict.core.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B904D66D0> +2024-11-30 13:33:04,813 - api.main - INFO - STDERR: import 'GramAddict.core.device_facade' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B903C92B0> +2024-11-30 13:33:04,813 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\filter.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\filter.py +2024-11-30 13:33:04,813 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\filter.cpython-39.pyc' +2024-11-30 13:33:04,813 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__init__.py +2024-11-30 13:33:04,813 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,814 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\detector_factory.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\detector_factory.py +2024-11-30 13:33:04,814 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\detector_factory.cpython-39.pyc' +2024-11-30 13:33:04,816 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\detector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\detector.py +2024-11-30 13:33:04,816 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\detector.cpython-39.pyc' +2024-11-30 13:33:04,816 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\lang_detect_exception.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\lang_detect_exception.py +2024-11-30 13:33:04,816 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\lang_detect_exception.cpython-39.pyc' +2024-11-30 13:33:04,816 - api.main - INFO - STDERR: import 'langdetect.lang_detect_exception' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B92512CD0> +2024-11-30 13:33:04,816 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\language.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\language.py +2024-11-30 13:33:04,816 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\language.cpython-39.pyc' +2024-11-30 13:33:04,816 - api.main - INFO - STDERR: import 'langdetect.language' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B92512F70> +2024-11-30 13:33:04,816 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__init__.py +2024-11-30 13:33:04,816 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,816 - api.main - INFO - STDERR: import 'langdetect.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9251A310> +2024-11-30 13:33:04,817 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\ngram.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\ngram.py +2024-11-30 13:33:04,817 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\ngram.cpython-39.pyc' +2024-11-30 13:33:04,818 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\messages.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\messages.py +2024-11-30 13:33:04,818 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\messages.cpython-39.pyc' +2024-11-30 13:33:04,818 - api.main - INFO - STDERR: import 'langdetect.utils.messages' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9251A640> +2024-11-30 13:33:04,818 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\unicode_block.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\unicode_block.py +2024-11-30 13:33:04,818 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\unicode_block.cpython-39.pyc' +2024-11-30 13:33:04,818 - api.main - INFO - STDERR: import 'langdetect.utils.unicode_block' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9251A7F0> +2024-11-30 13:33:04,819 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\unicode_escape.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\unicode_escape.py +2024-11-30 13:33:04,819 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\unicode_escape.cpython-39.pyc' +2024-11-30 13:33:04,819 - api.main - INFO - STDERR: import 'encodings.unicode_escape' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9251A9A0> +2024-11-30 13:33:04,821 - api.main - INFO - STDERR: import 'langdetect.utils.ngram' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9251A340> +2024-11-30 13:33:04,822 - api.main - INFO - STDERR: import 'langdetect.detector' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B92512730> +2024-11-30 13:33:04,822 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\lang_profile.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\lang_profile.py +2024-11-30 13:33:04,822 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\lang_profile.cpython-39.pyc' +2024-11-30 13:33:04,822 - api.main - INFO - STDERR: import 'langdetect.utils.lang_profile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B92512AF0> +2024-11-30 13:33:04,823 - api.main - INFO - STDERR: import 'langdetect.detector_factory' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B92512220> +2024-11-30 13:33:04,823 - api.main - INFO - STDERR: import 'langdetect' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B92502F40> +2024-11-30 13:33:04,823 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\views.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py +2024-11-30 13:33:04,823 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\views.cpython-39.pyc' +2024-11-30 13:33:04,825 - api.main - INFO - STDERR: import 'GramAddict.core.views' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B92502FA0> +2024-11-30 13:33:04,825 - api.main - INFO - STDERR: import 'GramAddict.core.filter' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B904994F0> +2024-11-30 13:33:04,826 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\interaction.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\interaction.py +2024-11-30 13:33:04,826 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\interaction.cpython-39.pyc' +2024-11-30 13:33:04,828 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__init__.py +2024-11-30 13:33:04,828 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\spintax\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:04,829 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__pycache__\spintax.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\spintax.py +2024-11-30 13:33:04,829 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\spintax\\__pycache__\\spintax.cpython-39.pyc' +2024-11-30 13:33:04,829 - api.main - INFO - STDERR: import 'spintax.spintax' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B92607790> +2024-11-30 13:33:04,829 - api.main - INFO - STDERR: import 'spintax' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B92607550> +2024-11-30 13:33:04,829 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\session_state.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\session_state.py +2024-11-30 13:33:04,829 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\session_state.cpython-39.pyc' +2024-11-30 13:33:04,830 - api.main - INFO - STDERR: import 'GramAddict.core.session_state' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B92607850> +2024-11-30 13:33:04,830 - api.main - INFO - STDERR: import 'GramAddict.core.interaction' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B925F5FA0> +2024-11-30 13:33:04,830 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\navigation.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\navigation.py +2024-11-30 13:33:04,830 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\navigation.cpython-39.pyc' +2024-11-30 13:33:04,830 - api.main - INFO - STDERR: import 'GramAddict.core.navigation' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B92607F70> +2024-11-30 13:33:04,830 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\persistent_list.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\persistent_list.py +2024-11-30 13:33:04,830 - api.main - INFO - STDOUT: Python path: ['e:\\PROJECTS\\instagram automation\\virtualinfluencer', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\python39.zip', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer'] +2024-11-30 13:33:04,832 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\persistent_list.cpython-39.pyc' +2024-11-30 13:33:04,832 - api.main - INFO - STDOUT: Current directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 13:33:04,832 - api.main - INFO - STDERR: import 'GramAddict.core.persistent_list' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B92607B50> +2024-11-30 13:33:04,832 - api.main - INFO - STDOUT: Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 13:33:04,832 - api.main - INFO - STDERR: import 'GramAddict.core.bot_flow' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E544670> +2024-11-30 13:33:04,832 - api.main - INFO - STDOUT: Successfully imported GramAddict +2024-11-30 13:33:04,832 - api.main - INFO - STDERR: import 'GramAddict' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E544D00> +2024-11-30 13:33:04,832 - api.main - INFO - STDERR: e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml has been saved last time at 2024-11-29 01:33:21 +2024-11-30 13:33:04,841 - api.main - INFO - STDERR: [11/30 13:33:04] DEBUG | Initial log file: logs/quecreate.log +2024-11-30 13:33:04,842 - api.main - INFO - STDERR: [11/30 13:33:04] DEBUG | Installed via git, config-examples is in the local folder. +2024-11-30 13:33:04,842 - api.main - INFO - STDERR: [11/30 13:33:04] INFO | Checking for updates... +2024-11-30 13:33:04,843 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\netrc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\netrc.py +2024-11-30 13:33:04,843 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\netrc.cpython-39.pyc' +2024-11-30 13:33:04,843 - api.main - INFO - STDERR: import 'netrc' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B92616D00> +2024-11-30 13:33:05,036 - api.main - INFO - STDERR: [11/30 13:33:05] INFO | Bot is updated. +2024-11-30 13:33:05,036 - api.main - INFO - STDERR: [11/30 13:33:05] INFO | GramAddict v.3.2.12 +2024-11-30 13:33:05,036 - api.main - INFO - STDERR: [11/30 13:33:05] INFO | Loading plugins . . . +2024-11-30 13:33:05,037 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__init__.py +2024-11-30 13:33:05,037 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:05,037 - api.main - INFO - STDERR: import 'GramAddict.plugins' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B92616E20> +2024-11-30 13:33:05,038 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\action_unfollow_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\action_unfollow_followers.py +2024-11-30 13:33:05,038 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\action_unfollow_followers.cpython-39.pyc' +2024-11-30 13:33:05,039 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\decorators.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py +2024-11-30 13:33:05,039 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\decorators.cpython-39.pyc' +2024-11-30 13:33:05,039 - api.main - INFO - STDERR: import 'GramAddict.core.decorators' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B92633E20> +2024-11-30 13:33:05,039 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\scroll_end_detector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\scroll_end_detector.py +2024-11-30 13:33:05,039 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\scroll_end_detector.cpython-39.pyc' +2024-11-30 13:33:05,040 - api.main - INFO - STDERR: import 'GramAddict.core.scroll_end_detector' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B92633550> +2024-11-30 13:33:05,040 - api.main - INFO - STDERR: import 'GramAddict.plugins.action_unfollow_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B92616B50> +2024-11-30 13:33:05,040 - api.main - INFO - STDERR: [11/30 13:33:05] INFO | - ActionUnfollowFollowers: Handles the functionality of unfollowing your followers +2024-11-30 13:33:05,041 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\cloned_app.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\cloned_app.py +2024-11-30 13:33:05,041 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\cloned_app.cpython-39.pyc' +2024-11-30 13:33:05,041 - api.main - INFO - STDERR: import 'GramAddict.plugins.cloned_app' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B926339D0> +2024-11-30 13:33:05,041 - api.main - INFO - STDERR: [11/30 13:33:05] INFO | - ClonedApp: Adds support for cloned apps +2024-11-30 13:33:05,042 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\core_arguments.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\core_arguments.py +2024-11-30 13:33:05,042 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\core_arguments.cpython-39.pyc' +2024-11-30 13:33:05,042 - api.main - INFO - STDERR: import 'GramAddict.plugins.core_arguments' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B92633B80> +2024-11-30 13:33:05,042 - api.main - INFO - STDERR: [11/30 13:33:05] INFO | - CoreArguments: Simply adds core arguments +2024-11-30 13:33:05,043 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\data_analytics.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\data_analytics.py +2024-11-30 13:33:05,043 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\data_analytics.cpython-39.pyc' +2024-11-30 13:33:05,043 - api.main - INFO - STDERR: import 'GramAddict.plugins.data_analytics' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B92633F40> +2024-11-30 13:33:05,043 - api.main - INFO - STDERR: [11/30 13:33:05] INFO | - DataAnalytics: Generates a PDF analytics report of current username session data +2024-11-30 13:33:05,043 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\dbinit.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\dbinit.py +2024-11-30 13:33:05,044 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\dbinit.cpython-39.pyc' +2024-11-30 13:33:05,044 - api.main - INFO - STDERR: import 'GramAddict.plugins.dbinit' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E544E20> +2024-11-30 13:33:05,044 - api.main - INFO - STDERR: [11/30 13:33:05] INFO | - DBInitPlugin: Initialize NocoDB tables at session start +2024-11-30 13:33:05,044 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger.py +2024-11-30 13:33:05,044 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger.cpython-39.pyc' +2024-11-30 13:33:05,045 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\handle_sources.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py +2024-11-30 13:33:05,045 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\handle_sources.cpython-39.pyc' +2024-11-30 13:33:05,045 - api.main - INFO - STDERR: import 'GramAddict.core.handle_sources' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9268E4C0> +2024-11-30 13:33:05,045 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B8E544C70> +2024-11-30 13:33:05,046 - api.main - INFO - STDERR: [11/30 13:33:05] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger +2024-11-30 13:33:05,046 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py +2024-11-30 13:33:05,046 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger_followers.cpython-39.pyc' +2024-11-30 13:33:05,046 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9268E8E0> +2024-11-30 13:33:05,046 - api.main - INFO - STDERR: [11/30 13:33:05] INFO | - InteractBloggerFollowers_Following: Handles the functionality of interacting with a bloggers followers/following +2024-11-30 13:33:05,047 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger_post_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_post_likers.py +2024-11-30 13:33:05,047 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger_post_likers.cpython-39.pyc' +2024-11-30 13:33:05,047 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger_post_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9268EB80> +2024-11-30 13:33:05,047 - api.main - INFO - STDERR: [11/30 13:33:05] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger post likers +2024-11-30 13:33:05,048 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_feed.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_feed.py +2024-11-30 13:33:05,048 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_feed.cpython-39.pyc' +2024-11-30 13:33:05,048 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_feed' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9268EEB0> +2024-11-30 13:33:05,048 - api.main - INFO - STDERR: [11/30 13:33:05] INFO | - InteractOwnFeed: Handles the functionality of interacting with your own feed +2024-11-30 13:33:05,049 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_hashtag_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_hashtag_likers.py +2024-11-30 13:33:05,049 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_hashtag_likers.cpython-39.pyc' +2024-11-30 13:33:05,049 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_hashtag_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B92678250> +2024-11-30 13:33:05,049 - api.main - INFO - STDERR: [11/30 13:33:05] INFO | - InteractHashtagLikers: Handles the functionality of interacting with a hashtags likers +2024-11-30 13:33:05,050 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_hashtag_posts.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_hashtag_posts.py +2024-11-30 13:33:05,050 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_hashtag_posts.cpython-39.pyc' +2024-11-30 13:33:05,050 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_hashtag_posts' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B926785B0> +2024-11-30 13:33:05,050 - api.main - INFO - STDERR: [11/30 13:33:05] INFO | - InteractHashtagPosts: Handles the functionality of interacting with a hashtags post owners +2024-11-30 13:33:05,051 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_place_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_place_likers.py +2024-11-30 13:33:05,051 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_place_likers.cpython-39.pyc' +2024-11-30 13:33:05,051 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_place_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B92678910> +2024-11-30 13:33:05,051 - api.main - INFO - STDERR: [11/30 13:33:05] INFO | - InteractPlaceLikers: Handles the functionality of interacting with a places likers +2024-11-30 13:33:05,051 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_place_posts.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_place_posts.py +2024-11-30 13:33:05,051 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_place_posts.cpython-39.pyc' +2024-11-30 13:33:05,052 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_place_posts' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B92678CA0> +2024-11-30 13:33:05,052 - api.main - INFO - STDERR: [11/30 13:33:05] INFO | - InteractPlacePosts: Handles the functionality of interacting with a places post owners +2024-11-30 13:33:05,053 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\like_from_urls.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\like_from_urls.py +2024-11-30 13:33:05,053 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\like_from_urls.cpython-39.pyc' +2024-11-30 13:33:05,053 - api.main - INFO - STDERR: import 'GramAddict.plugins.like_from_urls' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B92678FD0> +2024-11-30 13:33:05,053 - api.main - INFO - STDERR: [11/30 13:33:05] INFO | - LikeFromURLs: Likes a post from url. The urls are read from a plaintext file +2024-11-30 13:33:05,053 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\nocodb_record_creation_test.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\nocodb_record_creation_test.py +2024-11-30 13:33:05,053 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\nocodb_record_creation_test.cpython-39.pyc' +2024-11-30 13:33:05,054 - api.main - INFO - STDERR: import 'GramAddict.plugins.nocodb_record_creation_test' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9269F3D0> +2024-11-30 13:33:05,054 - api.main - INFO - STDERR: [11/30 13:33:05] INFO | - NocoDBRecordCreationTest: Test plugin specifically for verifying NocoDB record creation functionality +2024-11-30 13:33:05,054 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\nocodb_storage.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\nocodb_storage.py +2024-11-30 13:33:05,054 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\nocodb_storage.cpython-39.pyc' +2024-11-30 13:33:05,055 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__init__.py +2024-11-30 13:33:05,055 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 13:33:05,056 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jwk.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jwk.py +2024-11-30 13:33:05,056 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jwk.cpython-39.pyc' +2024-11-30 13:33:05,056 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\algorithms.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\algorithms.py +2024-11-30 13:33:05,056 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\algorithms.cpython-39.pyc' +2024-11-30 13:33:05,056 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\exceptions.py +2024-11-30 13:33:05,056 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 13:33:05,056 - api.main - INFO - STDERR: import 'jwt.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B926BB700> +2024-11-30 13:33:05,057 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\types.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\types.py +2024-11-30 13:33:05,057 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\types.cpython-39.pyc' +2024-11-30 13:33:05,057 - api.main - INFO - STDERR: import 'jwt.types' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B926BB790> +2024-11-30 13:33:05,058 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\utils.py +2024-11-30 13:33:05,058 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 13:33:05,059 - api.main - INFO - STDERR: import 'jwt.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B926BB880> +2024-11-30 13:33:05,059 - api.main - INFO - STDERR: import 'jwt.algorithms' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B926B1520> +2024-11-30 13:33:05,059 - api.main - INFO - STDERR: import 'jwt.api_jwk' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9269FD90> +2024-11-30 13:33:05,059 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jws.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jws.py +2024-11-30 13:33:05,061 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jws.cpython-39.pyc' +2024-11-30 13:33:05,061 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\warnings.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\warnings.py +2024-11-30 13:33:05,061 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\warnings.cpython-39.pyc' +2024-11-30 13:33:05,061 - api.main - INFO - STDERR: import 'jwt.warnings' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B926BB0D0> +2024-11-30 13:33:05,061 - api.main - INFO - STDERR: import 'jwt.api_jws' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B926B1BE0> +2024-11-30 13:33:05,061 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jwt.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jwt.py +2024-11-30 13:33:05,061 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jwt.cpython-39.pyc' +2024-11-30 13:33:05,062 - api.main - INFO - STDERR: import 'jwt.api_jwt' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B926BB310> +2024-11-30 13:33:05,062 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\jwks_client.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\jwks_client.py +2024-11-30 13:33:05,062 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\jwks_client.cpython-39.pyc' +2024-11-30 13:33:05,062 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\jwk_set_cache.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\jwk_set_cache.py +2024-11-30 13:33:05,063 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\jwk_set_cache.cpython-39.pyc' +2024-11-30 13:33:05,063 - api.main - INFO - STDERR: import 'jwt.jwk_set_cache' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B926C7AC0> +2024-11-30 13:33:05,063 - api.main - INFO - STDERR: import 'jwt.jwks_client' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B926C74F0> +2024-11-30 13:33:05,063 - api.main - INFO - STDERR: import 'jwt' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9269FB20> +2024-11-30 13:33:05,064 - api.main - INFO - STDERR: import 'GramAddict.plugins.nocodb_storage' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B9269F550> +2024-11-30 13:33:05,064 - api.main - INFO - STDERR: [11/30 13:33:05] INFO | - NocoDBStorage: Store interaction data in NocoDB +2024-11-30 13:33:05,064 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\remove_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\remove_followers.py +2024-11-30 13:33:05,064 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\remove_followers.cpython-39.pyc' +2024-11-30 13:33:05,065 - api.main - INFO - STDERR: import 'GramAddict.plugins.remove_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B926C7F70> +2024-11-30 13:33:05,065 - api.main - INFO - STDERR: [11/30 13:33:05] INFO | - RemoveFollowersFromList: Remove account followers from a list of usernames +2024-11-30 13:33:05,065 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\telegram.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\telegram.py +2024-11-30 13:33:05,065 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\telegram.cpython-39.pyc' +2024-11-30 13:33:05,065 - api.main - INFO - STDERR: import 'GramAddict.plugins.telegram' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B926E1190> +2024-11-30 13:33:05,065 - api.main - INFO - STDERR: [11/30 13:33:05] INFO | - TelegramReports: Generate reports at the end of the session and send them using telegram +2024-11-30 13:33:05,068 - api.main - INFO - STDERR: [11/30 13:33:05] DEBUG | Arguments used: --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 13:33:05,069 - api.main - INFO - STDERR: [11/30 13:33:05] DEBUG | Config used: {'username': 'quecreate', 'app-id': 'com.instagram.android', 'use-cloned-app': False, 'allow-untested-ig-version': False, 'screen-sleep': True, 'screen-record': False, 'speed-multiplier': 1.0, 'debug': True, 'close-apps': False, 'kill-atx-agent': False, 'restart-atx-agent': False, 'disable-block-detection': False, 'disable-filters': False, 'dont-type': False, 'use-nocodb': True, 'init-db': True, 'total-crashes-limit': 5, 'count-app-crashes': False, 'shuffle-jobs': True, 'truncate-sources': '2-5', 'blogger-followers': ['mnaumanndesign'], 'watch-video-time': '15-35', 'watch-photo-time': '3-4', 'delete-interacted-users': True, 'telegram-reports': False, 'interactions-count': '300-400', 'likes-count': '1-2', 'likes-percentage': 100, 'stories-count': '10-20', 'stories-percentage': '30-40', 'carousel-count': '20-30', 'carousel-percentage': '60-70', 'max-comments-pro-user': '1-2', 'interact-percentage': '30-40', 'follow-percentage': '30-40', 'follow-limit': 50, 'skipped-list-limit': '10-15', 'skipped-posts-limit': 5, 'fling-when-skipped': 0, 'min-following': 10, 'total-likes-limit': '120-150', 'total-follows-limit': '40-50', 'total-unfollows-limit': '40-50', 'total-watches-limit': '120-150', 'total-successful-interactions-limit': '120-150', 'total-interactions-limit': '280-300', 'total-comments-limit': '3-50', 'total-pm-limit': '3-5', 'total-scraped-limit': '100-150', 'end-if-likes-limit-reached': False, 'end-if-follows-limit-reached': False, 'end-if-watches-limit-reached': False, 'end-if-comments-limit-reached': False, 'end-if-pm-limit-reached': False} +2024-11-30 13:33:05,159 - api.main - INFO - STDERR: [11/30 13:33:05] DEBUG | Connected devices via adb: 1. That's ok. +2024-11-30 13:33:05,264 - api.main - INFO - STDERR: [11/30 13:33:05] INFO | Time delta has set to 00:00:31. +2024-11-30 13:33:05,265 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_strptime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_strptime.py +2024-11-30 13:33:05,265 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_strptime.cpython-39.pyc' +2024-11-30 13:33:05,267 - api.main - INFO - STDERR: import '_strptime' # <_frozen_importlib_external.SourceFileLoader object at 0x0000022B926F3760> +2024-11-30 13:33:05,267 - api.main - INFO - STDERR: [11/30 13:33:05] DEBUG | Whole day mode. +2024-11-30 13:33:05,421 - api.main - INFO - STDERR: [11/30 13:33:05] DEBUG | Phone Name: taimen, SDK Version: 30 +2024-11-30 13:33:05,697 - api.main - INFO - STDERR: [11/30 13:33:05] DEBUG | Screen dimension: 1440x2824 +2024-11-30 13:33:05,901 - api.main - INFO - STDERR: [11/30 13:33:05] DEBUG | Screen resolution: 411x823 +2024-11-30 13:33:05,902 - api.main - INFO - STDERR: [11/30 13:33:05] DEBUG | Device ID: 192.168.50.202:5555 +2024-11-30 13:33:06,024 - api.main - INFO - STDERR: [11/30 13:33:06] INFO | Screen timeout is fine! +2024-11-30 13:33:06,185 - api.main - INFO - STDERR: [11/30 13:33:06] INFO | -------- START: 13:33:05 - 2024/11/30 -------- +2024-11-30 13:33:06,381 - api.main - INFO - STDERR: [11/30 13:33:06] INFO | Device screen ON and unlocked. +2024-11-30 13:33:06,381 - api.main - INFO - STDERR: [11/30 13:33:06] INFO | Open Instagram app. +2024-11-30 13:33:06,797 - api.main - INFO - STDERR: [11/30 13:33:06] DEBUG | Instagram called successfully. +2024-11-30 13:33:07,085 - api.main - INFO - STDERR: [11/30 13:33:07] INFO | Ready for botting!\U0001f92b +2024-11-30 13:33:07,086 - api.main - INFO - STDERR: [11/30 13:33:07] DEBUG | 0.73s sleep +2024-11-30 13:33:07,821 - api.main - INFO - STDERR: [11/30 13:33:07] DEBUG | Setting FastInputIME as default keyboard. +2024-11-30 13:33:08,159 - api.main - INFO - STDERR: [11/30 13:33:08] INFO | FastInputIME is the default keyboard. +2024-11-30 13:33:08,330 - api.main - INFO - STDERR: [11/30 13:33:08] INFO | Instagram version: 300.0.0.29.110 +2024-11-30 13:33:08,935 - api.main - INFO - STDERR: [11/30 13:33:08] DEBUG | Navigating to main account... +2024-11-30 13:33:10,308 - api.main - INFO - STDERR: [11/30 13:33:10] DEBUG | Single click in (1303,2736). Surface: (1244-1349,2684-2789) +2024-11-30 13:33:10,813 - api.main - INFO - STDERR: [11/30 13:33:10] DEBUG | 1.47s sleep +2024-11-30 13:33:13,266 - api.main - INFO - STDERR: [11/30 13:33:13] DEBUG | Checking if app is in English.. +2024-11-30 13:33:16,247 - api.main - INFO - STDERR: [11/30 13:33:16] DEBUG | Instagram in English. +2024-11-30 13:33:17,343 - api.main - INFO - STDERR: [11/30 13:33:17] INFO | You are already logged as quecreate! +2024-11-30 13:33:17,854 - api.main - INFO - STDERR: [11/30 13:33:17] INFO | Refresh account... +2024-11-30 13:33:18,221 - api.main - INFO - STDERR: [11/30 13:33:18] DEBUG | Swipe from: (617,630) to (669,907). +2024-11-30 13:33:19,372 - api.main - INFO - STDERR: [11/30 13:33:19] DEBUG | 0.98s sleep +2024-11-30 13:33:20,357 - api.main - INFO - STDERR: [11/30 13:33:20] DEBUG | 2.34s sleep +2024-11-30 13:33:26,300 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | Hello, @quecreate! You have 1 followers and 51 followings so far. +2024-11-30 13:33:26,300 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | There is/are 3 active-job(s) and 0 unfollow-job(s) scheduled for this session. +2024-11-30 13:33:26,302 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | NocoDB config found - plugin will handle initialization +2024-11-30 13:33:26,305 - api.main - INFO - STDERR: [11/30 13:33:26] WARNING | accounts\quecreate\filters.yml has been saved last time at 2024-11-28 01:20:01 +2024-11-30 13:33:26,313 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | ---------------------------------------------------------------------- +2024-11-30 13:33:26,313 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | Filters recap (no spell check!) Value +2024-11-30 13:33:26,314 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | ---------------------------------------------------------------------- +2024-11-30 13:33:26,314 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | max_following 7500 +2024-11-30 13:33:26,314 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | min_following 10 +2024-11-30 13:33:26,314 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | max_followers 15000 +2024-11-30 13:33:26,315 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | min_followers 100 +2024-11-30 13:33:26,315 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | max_posts 1000 +2024-11-30 13:33:26,316 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | min_posts 3 +2024-11-30 13:33:26,316 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | max_following_to_followers_ratio 2.0 +2024-11-30 13:33:26,316 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | min_following_to_followers_ratio None +2024-11-30 13:33:26,316 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | max_followers_to_following_ratio None +2024-11-30 13:33:26,316 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | min_followers_to_following_ratio None +2024-11-30 13:33:26,316 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | max_potency_ratio 1.5 +2024-11-30 13:33:26,317 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | min_potency_ratio 0.1 +2024-11-30 13:33:26,317 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | biography_language None +2024-11-30 13:33:26,317 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | biography_banned_words [] +2024-11-30 13:33:26,318 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | biography_mandatory_words [] +2024-11-30 13:33:26,318 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | business_category_name [] +2024-11-30 13:33:26,319 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | is_private None +2024-11-30 13:33:26,319 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | is_verified None +2024-11-30 13:33:26,319 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | is_business None +2024-11-30 13:33:26,319 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | is_non_business None +2024-11-30 13:33:26,319 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | blacklist_words [] +2024-11-30 13:33:26,319 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | mandatory_words [] +2024-11-30 13:33:26,320 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | specific_alphabet None +2024-11-30 13:33:26,320 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | min_posts_from_date None +2024-11-30 13:33:26,321 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | posts_from_date None +2024-11-30 13:33:26,321 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | mutual_friends None +2024-11-30 13:33:26,321 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | following_bot None +2024-11-30 13:33:26,321 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | last_post None +2024-11-30 13:33:26,321 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | potency_ratio None +2024-11-30 13:33:26,322 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | has_any_business_category None +2024-11-30 13:33:26,322 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | has_highlights None +2024-11-30 13:33:26,322 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | has_guides None +2024-11-30 13:33:26,322 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | has_external_url None +2024-11-30 13:33:26,323 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | has_business_category_name None +2024-11-30 13:33:26,323 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | has_biography_links None +2024-11-30 13:33:26,323 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | has_igtv None +2024-11-30 13:33:26,323 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | has_linked_facebook None +2024-11-30 13:33:26,324 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | has_story_highlights None +2024-11-30 13:33:26,324 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | has_youtube None +2024-11-30 13:33:26,324 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | has_twitter None +2024-11-30 13:33:26,324 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | has_facebook None +2024-11-30 13:33:26,325 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | has_whatsapp None +2024-11-30 13:33:26,325 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | has_tiktok None +2024-11-30 13:33:26,325 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_link_in_bio False +2024-11-30 13:33:26,326 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_external_url False +2024-11-30 13:33:26,326 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_business False +2024-11-30 13:33:26,326 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_business_categories [] +2024-11-30 13:33:26,326 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_bio_keyword [] +2024-11-30 13:33:26,326 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_bio_keyword [] +2024-11-30 13:33:26,326 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_bio_contains_anything False +2024-11-30 13:33:26,328 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_no_avatar False +2024-11-30 13:33:26,328 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_no_bio False +2024-11-30 13:33:26,328 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_no_posts False +2024-11-30 13:33:26,328 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_no_igtv False +2024-11-30 13:33:26,329 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_no_story_highlights False +2024-11-30 13:33:26,329 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_no_mutual_friends False +2024-11-30 13:33:26,329 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_private False +2024-11-30 13:33:26,329 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_public False +2024-11-30 13:33:26,330 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_verified False +2024-11-30 13:33:26,330 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_non_business False +2024-11-30 13:33:26,330 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_following_bot False +2024-11-30 13:33:26,330 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_following_less_than None +2024-11-30 13:33:26,330 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_followers_less_than None +2024-11-30 13:33:26,331 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_posts_less_than None +2024-11-30 13:33:26,332 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_mutual_friends_less_than None +2024-11-30 13:33:26,332 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_following_more_than None +2024-11-30 13:33:26,332 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_followers_more_than None +2024-11-30 13:33:26,332 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_posts_more_than None +2024-11-30 13:33:26,332 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_mutual_friends_more_than None +2024-11-30 13:33:26,332 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_following_to_followers_ratio_less_than None +2024-11-30 13:33:26,333 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_following_to_followers_ratio_more_than None +2024-11-30 13:33:26,334 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_followers_to_following_ratio_less_than None +2024-11-30 13:33:26,334 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_followers_to_following_ratio_more_than None +2024-11-30 13:33:26,335 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_potency_ratio_less_than None +2024-11-30 13:33:26,335 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | skip_if_potency_ratio_more_than None +2024-11-30 13:33:26,335 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | ---------------------------------------------------------------------- +2024-11-30 13:33:26,335 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | Session ending conditions: Value +2024-11-30 13:33:26,335 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | ---------------------------------------------------------------------- +2024-11-30 13:33:26,335 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | Likes: False +2024-11-30 13:33:26,336 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | Follows: False +2024-11-30 13:33:26,336 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | Watches: False +2024-11-30 13:33:26,336 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | Comments: False +2024-11-30 13:33:26,337 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | PM: False +2024-11-30 13:33:26,337 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | Total actions: True (not mutable) +2024-11-30 13:33:26,337 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | Total successfull actions: True (not mutable) +2024-11-30 13:33:26,338 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | For more info -> https://github.com/GramAddict/docs/blob/main/configuration.md#ending-session-conditions +2024-11-30 13:33:26,338 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | ---------------------------------------------------------------------- +2024-11-30 13:33:26,338 - api.main - INFO - STDERR: [11/30 13:33:26] DEBUG | Whole day mode. +2024-11-30 13:33:26,339 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | Checking session limits: +2024-11-30 13:33:26,339 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | - Total Likes: OK (0/141) +2024-11-30 13:33:26,339 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | - Total Comments: OK (0/45) +2024-11-30 13:33:26,339 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | - Total PM: OK (0/3) +2024-11-30 13:33:26,340 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | - Total Followed: OK (0/48) +2024-11-30 13:33:26,340 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | - Total Unfollowed: OK (0/43) +2024-11-30 13:33:26,340 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | - Total Watched: OK (0/121) +2024-11-30 13:33:26,341 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | - Total Successful Interactions: OK (0/125) +2024-11-30 13:33:26,341 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | - Total Interactions: OK (0/289) +2024-11-30 13:33:26,342 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | - Total Crashes: OK (0/5) +2024-11-30 13:33:26,342 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | - Total Successful Scraped Users: OK (0/128) +2024-11-30 13:33:26,946 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | Current active-job: blogger-followers +2024-11-30 13:33:26,947 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | Source list truncated at 1 item. +2024-11-30 13:33:26,947 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | In this session, that source will be handled: mnaumanndesign +2024-11-30 13:33:26,948 - api.main - INFO - STDERR: [11/30 13:33:26] DEBUG | Checking session limits: +2024-11-30 13:33:26,948 - api.main - INFO - STDERR: [11/30 13:33:26] DEBUG | - Total Likes: OK (0/141) +2024-11-30 13:33:26,948 - api.main - INFO - STDERR: [11/30 13:33:26] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:33:26,948 - api.main - INFO - STDERR: [11/30 13:33:26] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:33:26,948 - api.main - INFO - STDERR: [11/30 13:33:26] DEBUG | - Total Followed: OK (0/48) +2024-11-30 13:33:26,949 - api.main - INFO - STDERR: [11/30 13:33:26] DEBUG | - Total Unfollowed: OK (0/43) +2024-11-30 13:33:26,949 - api.main - INFO - STDERR: [11/30 13:33:26] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:33:26,949 - api.main - INFO - STDERR: [11/30 13:33:26] DEBUG | - Total Successful Interactions: OK (0/125) +2024-11-30 13:33:26,949 - api.main - INFO - STDERR: [11/30 13:33:26] DEBUG | - Total Interactions: OK (0/289) +2024-11-30 13:33:26,950 - api.main - INFO - STDERR: [11/30 13:33:26] DEBUG | - Total Crashes: OK (0/5) +2024-11-30 13:33:26,950 - api.main - INFO - STDERR: [11/30 13:33:26] DEBUG | - Total Successful Scraped Users: OK (0/128) +2024-11-30 13:33:26,950 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | Handle mnaumanndesign +2024-11-30 13:33:26,951 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | Interactions count: 362 +2024-11-30 13:33:26,951 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | Chance of watching stories: 39% +2024-11-30 13:33:26,951 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | Chance of liking: 100% +2024-11-30 13:33:26,951 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | Chance of following: 38% +2024-11-30 13:33:26,951 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | Chance of commenting: 0% +2024-11-30 13:33:26,951 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | Chance of interacting: 30% +2024-11-30 13:33:26,951 - api.main - INFO - STDERR: [11/30 13:33:26] INFO | Chance of send PM: 0% +2024-11-30 13:33:26,953 - api.main - INFO - STDERR: [11/30 13:33:26] DEBUG | Navigate to SEARCH +2024-11-30 13:33:28,034 - api.main - INFO - STDERR: [11/30 13:33:28] DEBUG | Single click in (393,2755). Surface: (288-576,2649-2824) +2024-11-30 13:33:28,515 - api.main - INFO - STDERR: [11/30 13:33:28] DEBUG | 1.33s sleep +2024-11-30 13:33:29,933 - api.main - INFO - STDERR: [11/30 13:33:29] DEBUG | Single click in (380,2719). Surface: (288-576,2649-2824) +2024-11-30 13:33:30,288 - api.main - INFO - STDERR: [11/30 13:33:30] DEBUG | 1.52s sleep +2024-11-30 13:33:31,817 - api.main - INFO - STDERR: [11/30 13:33:31] INFO | Navigate to mnaumanndesign +2024-11-30 13:33:32,208 - api.main - INFO - STDERR: [11/30 13:33:32] DEBUG | Pressing on searchbar. +2024-11-30 13:33:32,335 - api.main - INFO - STDERR: [11/30 13:33:32] DEBUG | Single click in (990,235). Surface: (42-1370,146-259) +2024-11-30 13:33:32,752 - api.main - INFO - STDERR: [11/30 13:33:32] DEBUG | 1.65s sleep +2024-11-30 13:33:35,053 - api.main - INFO - STDERR: [11/30 13:33:35] DEBUG | Single click in (512,682). Surface: (322-659,653-710) +2024-11-30 13:33:35,466 - api.main - INFO - STDERR: [11/30 13:33:35] DEBUG | 1.28s sleep +2024-11-30 13:33:36,760 - api.main - INFO - STDERR: [11/30 13:33:36] INFO | mnaumanndesign is in recent history. +2024-11-30 13:33:37,057 - api.main - INFO - STDERR: [11/30 13:33:37] INFO | Open @mnaumanndesign followers. +2024-11-30 13:33:37,058 - api.main - INFO - STDERR: [11/30 13:33:37] INFO | Navigate to followers. +2024-11-30 13:33:37,498 - api.main - INFO - STDERR: [11/30 13:33:37] DEBUG | Single click in (808,406). Surface: (747-1057,322-630) +2024-11-30 13:33:37,876 - api.main - INFO - STDERR: [11/30 13:33:37] DEBUG | 2.83s sleep +2024-11-30 13:33:42,456 - api.main - INFO - STDERR: [11/30 13:33:42] INFO | Iterate over visible followers. +2024-11-30 13:33:47,234 - api.main - INFO - STDERR: [11/30 13:33:47] DEBUG | There are 7 users fully visible in that view. +2024-11-30 13:33:48,417 - api.main - INFO - STDERR: [11/30 13:33:48] INFO | @nigell.design.lab: already interacted on 2024/11/29 01:35:14. Skip. +2024-11-30 13:33:49,424 - api.main - INFO - STDERR: [11/30 13:33:49] INFO | @newness________: already interacted on 2024/11/29 01:35:35. Skip. +2024-11-30 13:33:50,468 - api.main - INFO - STDERR: [11/30 13:33:50] INFO | @personal_day__: already interacted on 2024/11/29 01:37:38. Skip. +2024-11-30 13:33:51,610 - api.main - INFO - STDERR: [11/30 13:33:51] INFO | @northbryan: already interacted on 2024/11/30 05:47:55. Skip. +2024-11-30 13:33:52,701 - api.main - INFO - STDERR: [11/30 13:33:52] INFO | @rafiki7474: already interacted on 2024/11/30 05:29:55. Skip. +2024-11-30 13:33:53,626 - api.main - INFO - STDERR: [11/30 13:33:53] INFO | @simmakkaleem: already interacted on 2024/11/29 04:15:41. Skip. +2024-11-30 13:33:54,755 - api.main - INFO - STDERR: [11/30 13:33:54] INFO | @loathful_fdor: already interacted on 2024/11/30 05:30:33. Skip. +2024-11-30 13:33:56,482 - api.main - INFO - STDERR: [11/30 13:33:56] INFO | All followers skipped, let's scroll. +2024-11-30 13:33:57,778 - api.main - INFO - STDERR: [11/30 13:33:57] INFO | Iterate over visible followers. +2024-11-30 13:34:03,519 - api.main - INFO - STDERR: [11/30 13:34:03] DEBUG | There are 8 users fully visible in that view. +2024-11-30 13:34:05,152 - api.main - INFO - STDERR: [11/30 13:34:05] INFO | @user732728d: already interacted on 2024/11/29 04:16:36. Skip. +2024-11-30 13:34:06,244 - api.main - INFO - STDERR: [11/30 13:34:06] INFO | @pakreht: already interacted on 2024/11/29 04:16:18. Skip. +2024-11-30 13:34:07,321 - api.main - INFO - STDERR: [11/30 13:34:07] INFO | @cavalry_playground: already interacted on 2024/11/30 05:31:00. Skip. +2024-11-30 13:34:08,421 - api.main - INFO - STDERR: [11/30 13:34:08] INFO | @gabomarin_designer: already interacted on 2024/11/30 05:31:19. Skip. +2024-11-30 13:34:09,583 - api.main - INFO - STDERR: [11/30 13:34:09] INFO | @lorcan.archive: already interacted on 2024/11/29 01:36:59. Skip. +2024-11-30 13:34:10,615 - api.main - INFO - STDERR: [11/30 13:34:10] INFO | @_motiongrapher_: already interacted on 2024/11/29 04:17:14. Skip. +2024-11-30 13:34:11,725 - api.main - INFO - STDERR: [11/30 13:34:11] INFO | @furkanadiguzel15: interact +2024-11-30 13:34:12,134 - api.main - INFO - STDERR: [11/30 13:34:12] DEBUG | Single click in (374,2078). Surface: (322-651,2041-2098) +2024-11-30 13:34:12,881 - api.main - INFO - STDERR: [11/30 13:34:12] DEBUG | 1.45s sleep +2024-11-30 13:34:14,337 - api.main - INFO - STDERR: [11/30 13:34:14] DEBUG | 2.24s sleep +2024-11-30 13:34:16,992 - api.main - INFO - STDERR: [11/30 13:34:16] DEBUG | Checking profile.. +2024-11-30 13:34:18,250 - api.main - INFO - STDERR: [11/30 13:34:18] DEBUG | Looking for mutual friends tab. +2024-11-30 13:34:24,999 - api.main - INFO - STDERR: [11/30 13:34:24] DEBUG | This account is private. +2024-11-30 13:34:25,000 - api.main - INFO - STDERR: [11/30 13:34:24] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:34:25,000 - api.main - INFO - STDERR: [11/30 13:34:25] INFO | @furkanadiguzel15 doesn't have enough posts (0), skip. +2024-11-30 13:34:25,011 - api.main - INFO - STDERR: [11/30 13:34:25] DEBUG | Profile checked in 8.02s +2024-11-30 13:34:25,026 - api.main - INFO - STDERR: [11/30 13:34:25] DEBUG | Whole day mode. +2024-11-30 13:34:25,026 - api.main - INFO - STDERR: [11/30 13:34:25] DEBUG | - Total Likes: OK (0/141) +2024-11-30 13:34:25,026 - api.main - INFO - STDERR: [11/30 13:34:25] DEBUG | - Total Followed: OK (0/48) +2024-11-30 13:34:25,026 - api.main - INFO - STDERR: [11/30 13:34:25] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:34:25,027 - api.main - INFO - STDERR: [11/30 13:34:25] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:34:25,027 - api.main - INFO - STDERR: [11/30 13:34:25] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:34:25,027 - api.main - INFO - STDERR: [11/30 13:34:25] DEBUG | - Total Interactions: OK (1/289) +2024-11-30 13:34:25,028 - api.main - INFO - STDERR: [11/30 13:34:25] DEBUG | - Total Successful Interactions: OK (0/125) +2024-11-30 13:34:25,028 - api.main - INFO - STDERR: [11/30 13:34:25] INFO | Back to followers list +2024-11-30 13:34:25,028 - api.main - INFO - STDERR: [11/30 13:34:25] DEBUG | Press back button. +2024-11-30 13:34:25,137 - api.main - INFO - STDERR: [11/30 13:34:25] DEBUG | 1.96s sleep +2024-11-30 13:34:28,259 - api.main - INFO - STDERR: [11/30 13:34:28] INFO | @heavydirtyday: already interacted on 2024/11/29 04:16:58. Skip. +2024-11-30 13:34:29,801 - api.main - INFO - STDERR: [11/30 13:34:29] INFO | Need to scroll now +2024-11-30 13:34:31,054 - api.main - INFO - STDERR: [11/30 13:34:31] INFO | Iterate over visible followers. +2024-11-30 13:34:36,860 - api.main - INFO - STDERR: [11/30 13:34:36] DEBUG | There are 8 users fully visible in that view. +2024-11-30 13:34:38,501 - api.main - INFO - STDERR: [11/30 13:34:38] INFO | @osm_dsgnr: already interacted on 2024/11/30 05:29:31. Skip. +2024-11-30 13:34:39,586 - api.main - INFO - STDERR: [11/30 13:34:39] INFO | @ddrckdsgn: already interacted on 2024/11/30 05:37:10. Skip. +2024-11-30 13:34:40,688 - api.main - INFO - STDERR: [11/30 13:34:40] INFO | @xyzettgraphix_bfvk: already interacted on 2024/11/29 04:21:20. Skip. +2024-11-30 13:34:41,696 - api.main - INFO - STDERR: [11/30 13:34:41] INFO | @axellle_adr: already interacted on 2024/11/29 04:30:53. Skip. +2024-11-30 13:34:42,844 - api.main - INFO - STDERR: [11/30 13:34:42] INFO | @mmmmmmmeomory: already interacted on 2024/11/29 04:20:13. Skip. +2024-11-30 13:34:43,899 - api.main - INFO - STDERR: [11/30 13:34:43] INFO | @ooook___789: already interacted on 2024/11/29 04:17:52. Skip. +2024-11-30 13:34:44,982 - api.main - INFO - STDERR: [11/30 13:34:44] INFO | @oivtat: already interacted on 2024/11/29 04:17:32. Skip. +2024-11-30 13:34:46,099 - api.main - INFO - STDERR: [11/30 13:34:46] INFO | @motivomine: already interacted on 2024/11/29 04:19:52. Skip. +2024-11-30 13:34:47,588 - api.main - INFO - STDERR: [11/30 13:34:47] INFO | All followers skipped, let's scroll. +2024-11-30 13:34:48,832 - api.main - INFO - STDERR: [11/30 13:34:48] INFO | Iterate over visible followers. +2024-11-30 13:34:54,839 - api.main - INFO - STDERR: [11/30 13:34:54] DEBUG | There are 8 users fully visible in that view. +2024-11-30 13:34:56,606 - api.main - INFO - STDERR: [11/30 13:34:56] INFO | @iwannhs.ferro: interact +2024-11-30 13:34:57,026 - api.main - INFO - STDERR: [11/30 13:34:57] DEBUG | Single click in (517,705). Surface: (322-581,685-742) +2024-11-30 13:34:57,722 - api.main - INFO - STDERR: [11/30 13:34:57] DEBUG | 2.12s sleep +2024-11-30 13:34:59,856 - api.main - INFO - STDERR: [11/30 13:34:59] DEBUG | 2.33s sleep +2024-11-30 13:35:02,586 - api.main - INFO - STDERR: [11/30 13:35:02] DEBUG | Checking profile.. +2024-11-30 13:35:03,838 - api.main - INFO - STDERR: [11/30 13:35:03] DEBUG | Looking for mutual friends tab. +2024-11-30 13:35:10,253 - api.main - INFO - STDERR: [11/30 13:35:10] DEBUG | This account is private. +2024-11-30 13:35:10,253 - api.main - INFO - STDERR: [11/30 13:35:10] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:35:10,673 - api.main - INFO - STDERR: [11/30 13:35:10] DEBUG | Profile checked in 8.09s +2024-11-30 13:35:10,673 - api.main - INFO - STDERR: [11/30 13:35:10] INFO | Private account. +2024-11-30 13:35:10,674 - api.main - INFO - STDERR: [11/30 13:35:10] INFO | follow_private_or_empty is disabled in filters. Skip. +2024-11-30 13:35:10,692 - api.main - INFO - STDERR: [11/30 13:35:10] DEBUG | Whole day mode. +2024-11-30 13:35:10,692 - api.main - INFO - STDERR: [11/30 13:35:10] DEBUG | - Total Likes: OK (0/141) +2024-11-30 13:35:10,692 - api.main - INFO - STDERR: [11/30 13:35:10] DEBUG | - Total Followed: OK (0/48) +2024-11-30 13:35:10,693 - api.main - INFO - STDERR: [11/30 13:35:10] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:35:10,693 - api.main - INFO - STDERR: [11/30 13:35:10] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:35:10,693 - api.main - INFO - STDERR: [11/30 13:35:10] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:35:10,693 - api.main - INFO - STDERR: [11/30 13:35:10] DEBUG | - Total Interactions: OK (2/289) +2024-11-30 13:35:10,694 - api.main - INFO - STDERR: [11/30 13:35:10] DEBUG | - Total Successful Interactions: OK (0/125) +2024-11-30 13:35:10,694 - api.main - INFO - STDERR: [11/30 13:35:10] INFO | Back to followers list +2024-11-30 13:35:10,695 - api.main - INFO - STDERR: [11/30 13:35:10] DEBUG | Press back button. +2024-11-30 13:35:10,776 - api.main - INFO - STDERR: [11/30 13:35:10] DEBUG | 0.98s sleep +2024-11-30 13:35:12,888 - api.main - INFO - STDERR: [11/30 13:35:12] INFO | @king_ofwaters: interact +2024-11-30 13:35:13,254 - api.main - INFO - STDERR: [11/30 13:35:13] DEBUG | Single click in (489,972). Surface: (322-588,937-994) +2024-11-30 13:35:13,960 - api.main - INFO - STDERR: [11/30 13:35:13] DEBUG | 0.64s sleep +2024-11-30 13:35:14,605 - api.main - INFO - STDERR: [11/30 13:35:14] DEBUG | 2.41s sleep +2024-11-30 13:35:17,399 - api.main - INFO - STDERR: [11/30 13:35:17] DEBUG | Checking profile.. +2024-11-30 13:35:18,613 - api.main - INFO - STDERR: [11/30 13:35:18] DEBUG | Looking for mutual friends tab. +2024-11-30 13:35:24,956 - api.main - INFO - STDERR: [11/30 13:35:24] DEBUG | This account is private. +2024-11-30 13:35:24,956 - api.main - INFO - STDERR: [11/30 13:35:24] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:35:24,956 - api.main - INFO - STDERR: [11/30 13:35:24] INFO | @king_ofwaters doesn't have enough posts (0), skip. +2024-11-30 13:35:24,969 - api.main - INFO - STDERR: [11/30 13:35:24] DEBUG | Profile checked in 7.57s +2024-11-30 13:35:24,980 - api.main - INFO - STDERR: [11/30 13:35:24] DEBUG | Whole day mode. +2024-11-30 13:35:24,980 - api.main - INFO - STDERR: [11/30 13:35:24] DEBUG | - Total Likes: OK (0/141) +2024-11-30 13:35:24,982 - api.main - INFO - STDERR: [11/30 13:35:24] DEBUG | - Total Followed: OK (0/48) +2024-11-30 13:35:24,982 - api.main - INFO - STDERR: [11/30 13:35:24] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:35:24,982 - api.main - INFO - STDERR: [11/30 13:35:24] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:35:24,983 - api.main - INFO - STDERR: [11/30 13:35:24] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:35:24,983 - api.main - INFO - STDERR: [11/30 13:35:24] DEBUG | - Total Interactions: OK (3/289) +2024-11-30 13:35:24,983 - api.main - INFO - STDERR: [11/30 13:35:24] DEBUG | - Total Successful Interactions: OK (0/125) +2024-11-30 13:35:24,983 - api.main - INFO - STDERR: [11/30 13:35:24] INFO | Back to followers list +2024-11-30 13:35:24,983 - api.main - INFO - STDERR: [11/30 13:35:24] DEBUG | Press back button. +2024-11-30 13:35:25,090 - api.main - INFO - STDERR: [11/30 13:35:25] DEBUG | 0.88s sleep +2024-11-30 13:35:26,843 - api.main - INFO - STDERR: [11/30 13:35:26] INFO | @blissfuldread: already interacted on 2024/11/29 04:22:24. Skip. +2024-11-30 13:35:27,776 - api.main - INFO - STDERR: [11/30 13:35:27] INFO | @bryn_pod: already interacted on 2024/11/29 01:35:49. Skip. +2024-11-30 13:35:28,805 - api.main - INFO - STDERR: [11/30 13:35:28] INFO | @gioph_designs: already interacted on 2024/11/29 04:23:05. Skip. +2024-11-30 13:35:29,828 - api.main - INFO - STDERR: [11/30 13:35:29] INFO | @sammeske: already interacted on 2024/11/29 04:38:40. Skip. +2024-11-30 13:35:30,959 - api.main - INFO - STDERR: [11/30 13:35:30] INFO | @jeejung_gabin: already interacted on 2024/11/29 04:35:39. Skip. +2024-11-30 13:35:31,993 - api.main - INFO - STDERR: [11/30 13:35:31] INFO | @dixitasarchive: already interacted on 2024/11/29 01:37:19. Skip. +2024-11-30 13:35:33,613 - api.main - INFO - STDERR: [11/30 13:35:33] INFO | Need to scroll now +2024-11-30 13:35:34,848 - api.main - INFO - STDERR: [11/30 13:35:34] INFO | Iterate over visible followers. +2024-11-30 13:35:40,253 - api.main - INFO - STDERR: [11/30 13:35:40] DEBUG | There are 7 users fully visible in that view. +2024-11-30 13:35:42,000 - api.main - INFO - STDERR: [11/30 13:35:42] INFO | @asad_graphic: already interacted on 2024/11/29 04:23:47. Skip. +2024-11-30 13:35:43,121 - api.main - INFO - STDERR: [11/30 13:35:43] INFO | @artreyd: already interacted on 2024/11/29 04:23:29. Skip. +2024-11-30 13:35:44,282 - api.main - INFO - STDERR: [11/30 13:35:44] INFO | @y2knght: already interacted on 2024/11/30 05:49:04. Skip. +2024-11-30 13:35:45,398 - api.main - INFO - STDERR: [11/30 13:35:45] INFO | @neodigitalbr: already interacted on 2024/11/29 04:24:54. Skip. +2024-11-30 13:35:46,619 - api.main - INFO - STDERR: [11/30 13:35:46] INFO | @claudiatua.0v0: already interacted on 2024/11/29 04:26:30. Skip. +2024-11-30 13:35:47,623 - api.main - INFO - STDERR: [11/30 13:35:47] INFO | @jakub_bukowski: already interacted on 2024/11/30 05:49:26. Skip. +2024-11-30 13:35:48,776 - api.main - INFO - STDERR: [11/30 13:35:48] INFO | @gonepix: already interacted on 2024/11/29 04:27:07. Skip. +2024-11-30 13:35:50,186 - api.main - INFO - STDERR: [11/30 13:35:50] INFO | All followers skipped, let's scroll. +2024-11-30 13:35:51,414 - api.main - INFO - STDERR: [11/30 13:35:51] INFO | Iterate over visible followers. +2024-11-30 13:35:57,630 - api.main - INFO - STDERR: [11/30 13:35:57] DEBUG | There are 8 users fully visible in that view. +2024-11-30 13:35:59,267 - api.main - INFO - STDERR: [11/30 13:35:59] INFO | @audoreaudio: already interacted on 2024/11/29 04:33:46. Skip. +2024-11-30 13:36:00,317 - api.main - INFO - STDERR: [11/30 13:36:00] INFO | @iam_lifeflow2019: already interacted on 2024/11/29 04:36:42. Skip. +2024-11-30 13:36:01,363 - api.main - INFO - STDERR: [11/30 13:36:01] INFO | @iris_orbis: already interacted on 2024/11/29 04:34:19. Skip. +2024-11-30 13:36:02,506 - api.main - INFO - STDERR: [11/30 13:36:02] INFO | @erkunzhao: interact +2024-11-30 13:36:02,882 - api.main - INFO - STDERR: [11/30 13:36:02] DEBUG | Single click in (416,1356). Surface: (322-519,1330-1387) +2024-11-30 13:36:03,625 - api.main - INFO - STDERR: [11/30 13:36:03] DEBUG | 2.56s sleep +2024-11-30 13:36:06,207 - api.main - INFO - STDERR: [11/30 13:36:06] DEBUG | 3.03s sleep +2024-11-30 13:36:09,556 - api.main - INFO - STDERR: [11/30 13:36:09] DEBUG | Checking profile.. +2024-11-30 13:36:10,796 - api.main - INFO - STDERR: [11/30 13:36:10] DEBUG | Looking for mutual friends tab. +2024-11-30 13:36:17,335 - api.main - INFO - STDERR: [11/30 13:36:17] DEBUG | This account is private. +2024-11-30 13:36:17,335 - api.main - INFO - STDERR: [11/30 13:36:17] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:36:17,336 - api.main - INFO - STDERR: [11/30 13:36:17] INFO | @erkunzhao has less than 100 followers, skip. +2024-11-30 13:36:17,343 - api.main - INFO - STDERR: [11/30 13:36:17] DEBUG | Profile checked in 7.79s +2024-11-30 13:36:17,354 - api.main - INFO - STDERR: [11/30 13:36:17] DEBUG | Whole day mode. +2024-11-30 13:36:17,355 - api.main - INFO - STDERR: [11/30 13:36:17] DEBUG | - Total Likes: OK (0/141) +2024-11-30 13:36:17,355 - api.main - INFO - STDERR: [11/30 13:36:17] DEBUG | - Total Followed: OK (0/48) +2024-11-30 13:36:17,355 - api.main - INFO - STDERR: [11/30 13:36:17] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:36:17,356 - api.main - INFO - STDERR: [11/30 13:36:17] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:36:17,356 - api.main - INFO - STDERR: [11/30 13:36:17] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:36:17,356 - api.main - INFO - STDERR: [11/30 13:36:17] DEBUG | - Total Interactions: OK (4/289) +2024-11-30 13:36:17,356 - api.main - INFO - STDERR: [11/30 13:36:17] DEBUG | - Total Successful Interactions: OK (0/125) +2024-11-30 13:36:17,357 - api.main - INFO - STDERR: [11/30 13:36:17] INFO | Back to followers list +2024-11-30 13:36:17,357 - api.main - INFO - STDERR: [11/30 13:36:17] DEBUG | Press back button. +2024-11-30 13:36:17,479 - api.main - INFO - STDERR: [11/30 13:36:17] DEBUG | 2.43s sleep +2024-11-30 13:36:21,042 - api.main - INFO - STDERR: [11/30 13:36:21] INFO | @heshuangjiang1120: already interacted on 2024/11/29 04:36:23. Skip. +2024-11-30 13:36:22,094 - api.main - INFO - STDERR: [11/30 13:36:22] INFO | @wingsvn: already interacted on 2024/11/29 04:34:38. Skip. +2024-11-30 13:36:23,174 - api.main - INFO - STDERR: [11/30 13:36:23] INFO | @lunch_box_notes: already interacted on 2024/11/29 04:37:27. Skip. +2024-11-30 13:36:24,104 - api.main - INFO - STDERR: [11/30 13:36:24] INFO | @marcusw.design: already interacted on 2024/11/29 04:18:37. Skip. +2024-11-30 13:36:25,795 - api.main - INFO - STDERR: [11/30 13:36:25] INFO | Need to scroll now +2024-11-30 13:36:27,065 - api.main - INFO - STDERR: [11/30 13:36:27] INFO | Iterate over visible followers. +2024-11-30 13:36:32,635 - api.main - INFO - STDERR: [11/30 13:36:32] DEBUG | There are 8 users fully visible in that view. +2024-11-30 13:36:34,205 - api.main - INFO - STDERR: [11/30 13:36:34] INFO | @studio_sourire: already interacted on 2024/11/29 04:27:43. Skip. +2024-11-30 13:36:35,291 - api.main - INFO - STDERR: [11/30 13:36:35] INFO | @prazdnakasa: already interacted on 2024/11/29 04:15:58. Skip. +2024-11-30 13:36:36,298 - api.main - INFO - STDERR: [11/30 13:36:36] INFO | @arafatmiraaz: interact +2024-11-30 13:36:36,737 - api.main - INFO - STDERR: [11/30 13:36:36] DEBUG | Single click in (363,1215). Surface: (322-564,1188-1245) +2024-11-30 13:36:37,474 - api.main - INFO - STDERR: [11/30 13:36:37] DEBUG | 1.00s sleep +2024-11-30 13:36:38,481 - api.main - INFO - STDERR: [11/30 13:36:38] DEBUG | 2.24s sleep +2024-11-30 13:36:41,066 - api.main - INFO - STDERR: [11/30 13:36:41] DEBUG | Checking profile.. +2024-11-30 13:36:42,231 - api.main - INFO - STDERR: [11/30 13:36:42] DEBUG | Looking for mutual friends tab. +2024-11-30 13:36:49,274 - api.main - INFO - STDERR: [11/30 13:36:49] DEBUG | This account is public. +2024-11-30 13:36:49,275 - api.main - INFO - STDERR: [11/30 13:36:49] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:36:49,275 - api.main - INFO - STDERR: [11/30 13:36:49] INFO | @arafatmiraaz doesn't have enough posts (0), skip. +2024-11-30 13:36:49,286 - api.main - INFO - STDERR: [11/30 13:36:49] DEBUG | Profile checked in 8.22s +2024-11-30 13:36:49,298 - api.main - INFO - STDERR: [11/30 13:36:49] DEBUG | Whole day mode. +2024-11-30 13:36:49,299 - api.main - INFO - STDERR: [11/30 13:36:49] DEBUG | - Total Likes: OK (0/141) +2024-11-30 13:36:49,299 - api.main - INFO - STDERR: [11/30 13:36:49] DEBUG | - Total Followed: OK (0/48) +2024-11-30 13:36:49,299 - api.main - INFO - STDERR: [11/30 13:36:49] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:36:49,299 - api.main - INFO - STDERR: [11/30 13:36:49] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:36:49,300 - api.main - INFO - STDERR: [11/30 13:36:49] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:36:49,300 - api.main - INFO - STDERR: [11/30 13:36:49] DEBUG | - Total Interactions: OK (5/289) +2024-11-30 13:36:49,300 - api.main - INFO - STDERR: [11/30 13:36:49] DEBUG | - Total Successful Interactions: OK (0/125) +2024-11-30 13:36:49,300 - api.main - INFO - STDERR: [11/30 13:36:49] INFO | Back to followers list +2024-11-30 13:36:49,301 - api.main - INFO - STDERR: [11/30 13:36:49] DEBUG | Press back button. +2024-11-30 13:36:49,371 - api.main - INFO - STDERR: [11/30 13:36:49] DEBUG | 0.78s sleep +2024-11-30 13:36:51,226 - api.main - INFO - STDERR: [11/30 13:36:51] INFO | @lennimation: interact +2024-11-30 13:36:51,593 - api.main - INFO - STDERR: [11/30 13:36:51] DEBUG | Single click in (417,1465). Surface: (322-545,1440-1497) +2024-11-30 13:36:52,221 - api.main - INFO - STDERR: [11/30 13:36:52] DEBUG | 1.72s sleep +2024-11-30 13:36:53,961 - api.main - INFO - STDERR: [11/30 13:36:53] DEBUG | 2.47s sleep +2024-11-30 13:36:56,843 - api.main - INFO - STDERR: [11/30 13:36:56] DEBUG | Checking profile.. +2024-11-30 13:36:58,246 - api.main - INFO - STDERR: [11/30 13:36:58] DEBUG | Looking for mutual friends tab. +2024-11-30 13:37:04,988 - api.main - INFO - STDERR: [11/30 13:37:04] DEBUG | This account is public. +2024-11-30 13:37:04,988 - api.main - INFO - STDERR: [11/30 13:37:04] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:37:04,988 - api.main - INFO - STDERR: [11/30 13:37:04] INFO | @lennimation has less than 100 followers, skip. +2024-11-30 13:37:05,000 - api.main - INFO - STDERR: [11/30 13:37:05] DEBUG | Profile checked in 8.16s +2024-11-30 13:37:05,012 - api.main - INFO - STDERR: [11/30 13:37:05] DEBUG | Whole day mode. +2024-11-30 13:37:05,012 - api.main - INFO - STDERR: [11/30 13:37:05] DEBUG | - Total Likes: OK (0/141) +2024-11-30 13:37:05,012 - api.main - INFO - STDERR: [11/30 13:37:05] DEBUG | - Total Followed: OK (0/48) +2024-11-30 13:37:05,013 - api.main - INFO - STDERR: [11/30 13:37:05] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:37:05,013 - api.main - INFO - STDERR: [11/30 13:37:05] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:37:05,013 - api.main - INFO - STDERR: [11/30 13:37:05] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:37:05,013 - api.main - INFO - STDERR: [11/30 13:37:05] DEBUG | - Total Interactions: OK (6/289) +2024-11-30 13:37:05,014 - api.main - INFO - STDERR: [11/30 13:37:05] DEBUG | - Total Successful Interactions: OK (0/125) +2024-11-30 13:37:05,015 - api.main - INFO - STDERR: [11/30 13:37:05] INFO | Back to followers list +2024-11-30 13:37:05,015 - api.main - INFO - STDERR: [11/30 13:37:05] DEBUG | Press back button. +2024-11-30 13:37:05,078 - api.main - INFO - STDERR: [11/30 13:37:05] DEBUG | 2.84s sleep +2024-11-30 13:37:09,010 - api.main - INFO - STDERR: [11/30 13:37:09] INFO | @lennimation: already interacted on 2024/11/30 13:37:05. Skip. +2024-11-30 13:37:09,973 - api.main - INFO - STDERR: [11/30 13:37:09] INFO | @creatid.d: interact +2024-11-30 13:37:10,346 - api.main - INFO - STDERR: [11/30 13:37:10] DEBUG | Single click in (393,1960). Surface: (322-490,1944-2001) +2024-11-30 13:37:11,017 - api.main - INFO - STDERR: [11/30 13:37:11] DEBUG | 0.50s sleep +2024-11-30 13:37:11,536 - api.main - INFO - STDERR: [11/30 13:37:11] DEBUG | 2.18s sleep +2024-11-30 13:37:14,072 - api.main - INFO - STDERR: [11/30 13:37:14] DEBUG | Checking profile.. +2024-11-30 13:37:15,206 - api.main - INFO - STDERR: [11/30 13:37:15] DEBUG | Looking for mutual friends tab. +2024-11-30 13:37:21,337 - api.main - INFO - STDERR: [11/30 13:37:21] DEBUG | This account is public. +2024-11-30 13:37:21,337 - api.main - INFO - STDERR: [11/30 13:37:21] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:37:21,338 - api.main - INFO - STDERR: [11/30 13:37:21] INFO | @creatid.d has less than 100 followers, skip. +2024-11-30 13:37:21,350 - api.main - INFO - STDERR: [11/30 13:37:21] DEBUG | Profile checked in 7.28s +2024-11-30 13:37:21,361 - api.main - INFO - STDERR: [11/30 13:37:21] DEBUG | Whole day mode. +2024-11-30 13:37:21,361 - api.main - INFO - STDERR: [11/30 13:37:21] DEBUG | - Total Likes: OK (0/141) +2024-11-30 13:37:21,362 - api.main - INFO - STDERR: [11/30 13:37:21] DEBUG | - Total Followed: OK (0/48) +2024-11-30 13:37:21,362 - api.main - INFO - STDERR: [11/30 13:37:21] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:37:21,362 - api.main - INFO - STDERR: [11/30 13:37:21] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:37:21,362 - api.main - INFO - STDERR: [11/30 13:37:21] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:37:21,363 - api.main - INFO - STDERR: [11/30 13:37:21] DEBUG | - Total Interactions: OK (7/289) +2024-11-30 13:37:21,363 - api.main - INFO - STDERR: [11/30 13:37:21] DEBUG | - Total Successful Interactions: OK (0/125) +2024-11-30 13:37:21,363 - api.main - INFO - STDERR: [11/30 13:37:21] INFO | Back to followers list +2024-11-30 13:37:21,364 - api.main - INFO - STDERR: [11/30 13:37:21] DEBUG | Press back button. +2024-11-30 13:37:21,427 - api.main - INFO - STDERR: [11/30 13:37:21] DEBUG | 1.39s sleep +2024-11-30 13:37:24,035 - api.main - INFO - STDERR: [11/30 13:37:24] INFO | @77artndesign: interact +2024-11-30 13:37:24,513 - api.main - INFO - STDERR: [11/30 13:37:24] DEBUG | Single click in (472,2207). Surface: (322-574,2196-2253) +2024-11-30 13:37:25,299 - api.main - INFO - STDERR: [11/30 13:37:25] DEBUG | 2.98s sleep +2024-11-30 13:37:28,294 - api.main - INFO - STDERR: [11/30 13:37:28] DEBUG | 2.86s sleep +2024-11-30 13:37:31,558 - api.main - INFO - STDERR: [11/30 13:37:31] DEBUG | Checking profile.. +2024-11-30 13:37:32,906 - api.main - INFO - STDERR: [11/30 13:37:32] DEBUG | Looking for mutual friends tab. +2024-11-30 13:37:39,465 - api.main - INFO - STDERR: [11/30 13:37:39] DEBUG | This account is public. +2024-11-30 13:37:39,465 - api.main - INFO - STDERR: [11/30 13:37:39] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:37:39,465 - api.main - INFO - STDERR: [11/30 13:37:39] INFO | @77artndesign has less than 100 followers, skip. +2024-11-30 13:37:39,478 - api.main - INFO - STDERR: [11/30 13:37:39] DEBUG | Profile checked in 7.92s +2024-11-30 13:37:39,489 - api.main - INFO - STDERR: [11/30 13:37:39] DEBUG | Whole day mode. +2024-11-30 13:37:39,489 - api.main - INFO - STDERR: [11/30 13:37:39] DEBUG | - Total Likes: OK (0/141) +2024-11-30 13:37:39,490 - api.main - INFO - STDERR: [11/30 13:37:39] DEBUG | - Total Followed: OK (0/48) +2024-11-30 13:37:39,490 - api.main - INFO - STDERR: [11/30 13:37:39] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:37:39,490 - api.main - INFO - STDERR: [11/30 13:37:39] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:37:39,490 - api.main - INFO - STDERR: [11/30 13:37:39] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:37:39,491 - api.main - INFO - STDERR: [11/30 13:37:39] DEBUG | - Total Interactions: OK (8/289) +2024-11-30 13:37:39,491 - api.main - INFO - STDERR: [11/30 13:37:39] DEBUG | - Total Successful Interactions: OK (0/125) +2024-11-30 13:37:39,491 - api.main - INFO - STDERR: [11/30 13:37:39] INFO | Back to followers list +2024-11-30 13:37:39,493 - api.main - INFO - STDERR: [11/30 13:37:39] DEBUG | Press back button. +2024-11-30 13:37:39,567 - api.main - INFO - STDERR: [11/30 13:37:39] DEBUG | 2.08s sleep +2024-11-30 13:37:42,885 - api.main - INFO - STDERR: [11/30 13:37:42] INFO | @379_pages: interact +2024-11-30 13:37:43,238 - api.main - INFO - STDERR: [11/30 13:37:43] DEBUG | Single click in (358,2485). Surface: (322-529,2448-2505) +2024-11-30 13:37:44,016 - api.main - INFO - STDERR: [11/30 13:37:44] DEBUG | 0.83s sleep +2024-11-30 13:37:44,863 - api.main - INFO - STDERR: [11/30 13:37:44] DEBUG | 3.08s sleep +2024-11-30 13:37:48,341 - api.main - INFO - STDERR: [11/30 13:37:48] DEBUG | Checking profile.. +2024-11-30 13:37:49,563 - api.main - INFO - STDERR: [11/30 13:37:49] DEBUG | Looking for mutual friends tab. +2024-11-30 13:37:55,259 - api.main - INFO - STDERR: [11/30 13:37:55] DEBUG | This account is private. +2024-11-30 13:37:55,259 - api.main - INFO - STDERR: [11/30 13:37:55] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:37:55,259 - api.main - INFO - STDERR: [11/30 13:37:55] INFO | @379_pages has less than 100 followers, skip. +2024-11-30 13:37:55,272 - api.main - INFO - STDERR: [11/30 13:37:55] DEBUG | Profile checked in 6.93s +2024-11-30 13:37:55,285 - api.main - INFO - STDERR: [11/30 13:37:55] DEBUG | Whole day mode. +2024-11-30 13:37:55,285 - api.main - INFO - STDERR: [11/30 13:37:55] DEBUG | - Total Likes: OK (0/141) +2024-11-30 13:37:55,285 - api.main - INFO - STDERR: [11/30 13:37:55] DEBUG | - Total Followed: OK (0/48) +2024-11-30 13:37:55,287 - api.main - INFO - STDERR: [11/30 13:37:55] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:37:55,287 - api.main - INFO - STDERR: [11/30 13:37:55] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:37:55,287 - api.main - INFO - STDERR: [11/30 13:37:55] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:37:55,287 - api.main - INFO - STDERR: [11/30 13:37:55] DEBUG | - Total Interactions: OK (9/289) +2024-11-30 13:37:55,288 - api.main - INFO - STDERR: [11/30 13:37:55] DEBUG | - Total Successful Interactions: OK (0/125) +2024-11-30 13:37:55,288 - api.main - INFO - STDERR: [11/30 13:37:55] INFO | Back to followers list +2024-11-30 13:37:55,289 - api.main - INFO - STDERR: [11/30 13:37:55] DEBUG | Press back button. +2024-11-30 13:37:55,397 - api.main - INFO - STDERR: [11/30 13:37:55] DEBUG | 1.53s sleep +2024-11-30 13:37:58,614 - api.main - INFO - STDERR: [11/30 13:37:58] INFO | Need to scroll now +2024-11-30 13:37:59,837 - api.main - INFO - STDERR: [11/30 13:37:59] INFO | Iterate over visible followers. +2024-11-30 13:38:05,132 - api.main - INFO - STDERR: [11/30 13:38:05] DEBUG | There are 7 users fully visible in that view. +2024-11-30 13:38:06,823 - api.main - INFO - STDERR: [11/30 13:38:06] INFO | @weemeeuwkoenraad: already interacted on 2024/11/29 04:21:46. Skip. +2024-11-30 13:38:07,964 - api.main - INFO - STDERR: [11/30 13:38:07] INFO | @emotionworks: interact +2024-11-30 13:38:08,357 - api.main - INFO - STDERR: [11/30 13:38:08] DEBUG | Single click in (520,1038). Surface: (322-592,1014-1071) +2024-11-30 13:38:08,989 - api.main - INFO - STDERR: [11/30 13:38:08] DEBUG | 2.58s sleep +2024-11-30 13:38:11,584 - api.main - INFO - STDERR: [11/30 13:38:11] DEBUG | 2.51s sleep +2024-11-30 13:38:14,387 - api.main - INFO - STDERR: [11/30 13:38:14] DEBUG | Checking profile.. +2024-11-30 13:38:15,654 - api.main - INFO - STDERR: [11/30 13:38:15] DEBUG | Looking for mutual friends tab. +2024-11-30 13:38:22,298 - api.main - INFO - STDERR: [11/30 13:38:22] DEBUG | This account is public. +2024-11-30 13:38:22,298 - api.main - INFO - STDERR: [11/30 13:38:22] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:38:22,298 - api.main - INFO - STDERR: [11/30 13:38:22] INFO | @emotionworks's potency ratio is not between 0.1 and 1.5, skip. +2024-11-30 13:38:22,310 - api.main - INFO - STDERR: [11/30 13:38:22] DEBUG | Profile checked in 7.92s +2024-11-30 13:38:22,323 - api.main - INFO - STDERR: [11/30 13:38:22] DEBUG | Whole day mode. +2024-11-30 13:38:22,323 - api.main - INFO - STDERR: [11/30 13:38:22] DEBUG | - Total Likes: OK (0/141) +2024-11-30 13:38:22,323 - api.main - INFO - STDERR: [11/30 13:38:22] DEBUG | - Total Followed: OK (0/48) +2024-11-30 13:38:22,324 - api.main - INFO - STDERR: [11/30 13:38:22] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:38:22,324 - api.main - INFO - STDERR: [11/30 13:38:22] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:38:22,324 - api.main - INFO - STDERR: [11/30 13:38:22] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:38:22,325 - api.main - INFO - STDERR: [11/30 13:38:22] DEBUG | - Total Interactions: OK (10/289) +2024-11-30 13:38:22,325 - api.main - INFO - STDERR: [11/30 13:38:22] DEBUG | - Total Successful Interactions: OK (0/125) +2024-11-30 13:38:22,325 - api.main - INFO - STDERR: [11/30 13:38:22] INFO | Back to followers list +2024-11-30 13:38:22,325 - api.main - INFO - STDERR: [11/30 13:38:22] DEBUG | Press back button. +2024-11-30 13:38:22,436 - api.main - INFO - STDERR: [11/30 13:38:22] DEBUG | 2.96s sleep +2024-11-30 13:38:26,570 - api.main - INFO - STDERR: [11/30 13:38:26] INFO | @usethriv: already interacted on 2024/11/29 04:26:12. Skip. +2024-11-30 13:38:27,735 - api.main - INFO - STDERR: [11/30 13:38:27] INFO | @jtqtianqi: already interacted on 2024/11/29 04:37:08. Skip. +2024-11-30 13:38:28,833 - api.main - INFO - STDERR: [11/30 13:38:28] INFO | @celestinekf0qbe8: interact +2024-11-30 13:38:29,229 - api.main - INFO - STDERR: [11/30 13:38:29] DEBUG | Single click in (527,1814). Surface: (322-650,1770-1827) +2024-11-30 13:38:29,812 - api.main - INFO - STDERR: [11/30 13:38:29] DEBUG | 1.30s sleep +2024-11-30 13:38:31,118 - api.main - INFO - STDERR: [11/30 13:38:31] DEBUG | 3.46s sleep +2024-11-30 13:38:34,891 - api.main - INFO - STDERR: [11/30 13:38:34] DEBUG | Checking profile.. +2024-11-30 13:38:36,130 - api.main - INFO - STDERR: [11/30 13:38:36] DEBUG | Looking for mutual friends tab. +2024-11-30 13:38:42,792 - api.main - INFO - STDERR: [11/30 13:38:42] DEBUG | This account is public. +2024-11-30 13:38:42,792 - api.main - INFO - STDERR: [11/30 13:38:42] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:38:42,792 - api.main - INFO - STDERR: [11/30 13:38:42] INFO | @celestinekf0qbe8 has less than 100 followers, skip. +2024-11-30 13:38:42,804 - api.main - INFO - STDERR: [11/30 13:38:42] DEBUG | Profile checked in 7.91s +2024-11-30 13:38:42,817 - api.main - INFO - STDERR: [11/30 13:38:42] DEBUG | Whole day mode. +2024-11-30 13:38:42,817 - api.main - INFO - STDERR: [11/30 13:38:42] DEBUG | - Total Likes: OK (0/141) +2024-11-30 13:38:42,817 - api.main - INFO - STDERR: [11/30 13:38:42] DEBUG | - Total Followed: OK (0/48) +2024-11-30 13:38:42,818 - api.main - INFO - STDERR: [11/30 13:38:42] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:38:42,818 - api.main - INFO - STDERR: [11/30 13:38:42] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:38:42,819 - api.main - INFO - STDERR: [11/30 13:38:42] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:38:42,819 - api.main - INFO - STDERR: [11/30 13:38:42] DEBUG | - Total Interactions: OK (11/289) +2024-11-30 13:38:42,819 - api.main - INFO - STDERR: [11/30 13:38:42] DEBUG | - Total Successful Interactions: OK (0/125) +2024-11-30 13:38:42,820 - api.main - INFO - STDERR: [11/30 13:38:42] INFO | Back to followers list +2024-11-30 13:38:42,820 - api.main - INFO - STDERR: [11/30 13:38:42] DEBUG | Press back button. +2024-11-30 13:38:42,887 - api.main - INFO - STDERR: [11/30 13:38:42] DEBUG | 1.82s sleep +2024-11-30 13:38:45,960 - api.main - INFO - STDERR: [11/30 13:38:45] INFO | @albertoroller: interact +2024-11-30 13:38:46,381 - api.main - INFO - STDERR: [11/30 13:38:46] DEBUG | Single click in (375,2039). Surface: (322-555,2022-2079) +2024-11-30 13:38:47,139 - api.main - INFO - STDERR: [11/30 13:38:47] DEBUG | 0.95s sleep +2024-11-30 13:38:48,103 - api.main - INFO - STDERR: [11/30 13:38:48] DEBUG | 3.37s sleep +2024-11-30 13:38:51,857 - api.main - INFO - STDERR: [11/30 13:38:51] DEBUG | Checking profile.. +2024-11-30 13:38:53,104 - api.main - INFO - STDERR: [11/30 13:38:53] DEBUG | Looking for mutual friends tab. +2024-11-30 13:38:59,100 - api.main - INFO - STDERR: [11/30 13:38:59] DEBUG | This account is private. +2024-11-30 13:38:59,100 - api.main - INFO - STDERR: [11/30 13:38:59] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:38:59,412 - api.main - INFO - STDERR: [11/30 13:38:59] DEBUG | Profile checked in 7.55s +2024-11-30 13:38:59,413 - api.main - INFO - STDERR: [11/30 13:38:59] INFO | Private account. +2024-11-30 13:38:59,413 - api.main - INFO - STDERR: [11/30 13:38:59] INFO | follow_private_or_empty is disabled in filters. Skip. +2024-11-30 13:38:59,426 - api.main - INFO - STDERR: [11/30 13:38:59] DEBUG | Whole day mode. +2024-11-30 13:38:59,427 - api.main - INFO - STDERR: [11/30 13:38:59] DEBUG | - Total Likes: OK (0/141) +2024-11-30 13:38:59,427 - api.main - INFO - STDERR: [11/30 13:38:59] DEBUG | - Total Followed: OK (0/48) +2024-11-30 13:38:59,427 - api.main - INFO - STDERR: [11/30 13:38:59] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:38:59,427 - api.main - INFO - STDERR: [11/30 13:38:59] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:38:59,428 - api.main - INFO - STDERR: [11/30 13:38:59] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:38:59,428 - api.main - INFO - STDERR: [11/30 13:38:59] DEBUG | - Total Interactions: OK (12/289) +2024-11-30 13:38:59,428 - api.main - INFO - STDERR: [11/30 13:38:59] DEBUG | - Total Successful Interactions: OK (0/125) +2024-11-30 13:38:59,429 - api.main - INFO - STDERR: [11/30 13:38:59] INFO | Back to followers list +2024-11-30 13:38:59,429 - api.main - INFO - STDERR: [11/30 13:38:59] DEBUG | Press back button. +2024-11-30 13:38:59,517 - api.main - INFO - STDERR: [11/30 13:38:59] DEBUG | 1.28s sleep +2024-11-30 13:39:01,994 - api.main - INFO - STDERR: [11/30 13:39:01] INFO | @ka.tadaa: interact +2024-11-30 13:39:02,353 - api.main - INFO - STDERR: [11/30 13:39:02] DEBUG | Single click in (449,2317). Surface: (322-486,2274-2331) +2024-11-30 13:39:03,002 - api.main - INFO - STDERR: [11/30 13:39:03] DEBUG | 0.91s sleep +2024-11-30 13:39:03,924 - api.main - INFO - STDERR: [11/30 13:39:03] DEBUG | 3.67s sleep +2024-11-30 13:39:08,006 - api.main - INFO - STDERR: [11/30 13:39:08] DEBUG | Checking profile.. +2024-11-30 13:39:09,357 - api.main - INFO - STDERR: [11/30 13:39:09] DEBUG | Looking for mutual friends tab. +2024-11-30 13:39:14,975 - api.main - INFO - STDERR: [11/30 13:39:14] DEBUG | This account is public. +2024-11-30 13:39:14,975 - api.main - INFO - STDERR: [11/30 13:39:14] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:39:15,262 - api.main - INFO - STDERR: [11/30 13:39:15] DEBUG | Profile checked in 7.25s +2024-11-30 13:39:15,262 - api.main - INFO - STDERR: [11/30 13:39:15] INFO | - Total Watched: OK (0/121) +2024-11-30 13:39:16,423 - api.main - INFO - STDERR: [11/30 13:39:16] INFO | - Total Likes: OK (0/141) +2024-11-30 13:39:18,017 - api.main - INFO - STDERR: [11/30 13:39:18] INFO | Scrolled down to see more posts. +2024-11-30 13:39:18,017 - api.main - INFO - STDERR: [11/30 13:39:18] DEBUG | Swipe from: (617,1260) to (802,294). +2024-11-30 13:39:19,481 - api.main - INFO - STDERR: [11/30 13:39:19] DEBUG | 0.39s sleep +2024-11-30 13:39:19,873 - api.main - INFO - STDERR: [11/30 13:39:19] INFO | Likes count: 2 +2024-11-30 13:39:21,158 - api.main - INFO - STDERR: [11/30 13:39:21] INFO | There are 12 posts fully visible. Calculated in 1.28s +2024-11-30 13:39:21,158 - api.main - INFO - STDERR: [11/30 13:39:21] INFO | Open post #1 (2 row, 3 column). +2024-11-30 13:39:22,449 - api.main - INFO - STDERR: [11/30 13:39:22] INFO | It's a photo. +2024-11-30 13:39:22,782 - api.main - INFO - STDERR: [11/30 13:39:22] DEBUG | Single click in (1228,1256). Surface: (964-1440,950-1426) +2024-11-30 13:39:23,477 - api.main - INFO - STDERR: [11/30 13:39:23] DEBUG | 2.50s sleep +2024-11-30 13:39:28,167 - api.main - INFO - STDERR: [11/30 13:39:28] INFO | Watching photo for 3.13s. +2024-11-30 13:39:31,997 - api.main - INFO - STDERR: [11/30 13:39:31] INFO | Liking post. +2024-11-30 13:39:32,160 - api.main - INFO - STDERR: [11/30 13:39:32] DEBUG | Double click in (862,908) with t=85ms. Surface: (0-1440,476-1916). +2024-11-30 13:39:32,637 - api.main - INFO - STDERR: [11/30 13:39:32] DEBUG | 1.73s sleep +2024-11-30 13:39:36,339 - api.main - INFO - STDERR: [11/30 13:39:36] INFO | Double click failed, clicking on the little heart \u2764\ufe0f. +2024-11-30 13:39:36,731 - api.main - INFO - STDERR: [11/30 13:39:36] DEBUG | Single click in (84,2021). Surface: (21-175,1916-2077) +2024-11-30 13:39:37,387 - api.main - INFO - STDERR: [11/30 13:39:37] DEBUG | 0.95s sleep +2024-11-30 13:39:39,835 - api.main - INFO - STDERR: [11/30 13:39:39] DEBUG | Checking for block... +2024-11-30 13:39:42,667 - api.main - INFO - STDERR: [11/30 13:39:42] DEBUG | Like succeed. +2024-11-30 13:39:42,669 - api.main - INFO - STDERR: [11/30 13:39:42] INFO | Back to profile. +2024-11-30 13:39:43,158 - api.main - INFO - STDERR: [11/30 13:39:43] DEBUG | Press back button. +2024-11-30 13:39:43,388 - api.main - INFO - STDERR: [11/30 13:39:43] DEBUG | 2.91s sleep +2024-11-30 13:39:46,306 - api.main - INFO - STDERR: [11/30 13:39:46] INFO | Open post #2 (4 row, 1 column). +2024-11-30 13:39:47,648 - api.main - INFO - STDERR: [11/30 13:39:47] INFO | It's a photo. +2024-11-30 13:39:48,122 - api.main - INFO - STDERR: [11/30 13:39:48] DEBUG | Single click in (346,2088). Surface: (0-476,1914-2390) +2024-11-30 13:39:48,830 - api.main - INFO - STDERR: [11/30 13:39:48] DEBUG | 1.64s sleep +2024-11-30 13:39:52,768 - api.main - INFO - STDERR: [11/30 13:39:52] INFO | Watching photo for 3.71s. +2024-11-30 13:39:57,161 - api.main - INFO - STDERR: [11/30 13:39:57] INFO | Liking post. +2024-11-30 13:39:57,312 - api.main - INFO - STDERR: [11/30 13:39:57] DEBUG | Double click in (922,1271) with t=82ms. Surface: (0-1440,476-1916). +2024-11-30 13:39:57,760 - api.main - INFO - STDERR: [11/30 13:39:57] DEBUG | 0.86s sleep +2024-11-30 13:40:00,513 - api.main - INFO - STDERR: [11/30 13:40:00] DEBUG | Checking for block... +2024-11-30 13:40:03,489 - api.main - INFO - STDERR: [11/30 13:40:03] DEBUG | Like succeed. +2024-11-30 13:40:03,489 - api.main - INFO - STDERR: [11/30 13:40:03] INFO | Back to profile. +2024-11-30 13:40:04,052 - api.main - INFO - STDERR: [11/30 13:40:04] DEBUG | Press back button. +2024-11-30 13:40:04,264 - api.main - INFO - STDERR: [11/30 13:40:04] DEBUG | 0.69s sleep +2024-11-30 13:40:04,975 - api.main - INFO - STDERR: [11/30 13:40:04] DEBUG | - Total Followed: OK (0/48) +2024-11-30 13:40:05,872 - api.main - INFO - STDERR: [11/30 13:40:05] DEBUG | Swipe from: (641,1412) to (745,2347). +2024-11-30 13:40:07,347 - api.main - INFO - STDERR: [11/30 13:40:07] DEBUG | 0.36s sleep +2024-11-30 13:40:09,789 - api.main - INFO - STDERR: [11/30 13:40:09] DEBUG | Single click in (326,770). Surface: (43-642,684-796) +2024-11-30 13:40:10,250 - api.main - INFO - STDERR: [11/30 13:40:10] DEBUG | 1.40s sleep +2024-11-30 13:40:12,200 - api.main - INFO - STDERR: [11/30 13:40:12] INFO | Followed @ka.tadaa +2024-11-30 13:40:12,200 - api.main - INFO - STDERR: [11/30 13:40:12] DEBUG | Checking for block... +2024-11-30 13:40:15,309 - api.main - INFO - STDERR: [11/30 13:40:15] DEBUG | Whole day mode. +2024-11-30 13:40:15,309 - api.main - INFO - STDERR: [11/30 13:40:15] DEBUG | - Total Likes: OK (2/141) +2024-11-30 13:40:15,310 - api.main - INFO - STDERR: [11/30 13:40:15] DEBUG | - Total Followed: OK (1/48) +2024-11-30 13:40:15,311 - api.main - INFO - STDERR: [11/30 13:40:15] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:40:15,311 - api.main - INFO - STDERR: [11/30 13:40:15] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:40:15,311 - api.main - INFO - STDERR: [11/30 13:40:15] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:40:15,312 - api.main - INFO - STDERR: [11/30 13:40:15] DEBUG | - Total Interactions: OK (13/289) +2024-11-30 13:40:15,312 - api.main - INFO - STDERR: [11/30 13:40:15] DEBUG | - Total Successful Interactions: OK (1/125) +2024-11-30 13:40:15,313 - api.main - INFO - STDERR: [11/30 13:40:15] INFO | Session progress: 2 likes, 0 watched, 0 commented, 0 PM sent, 1 followed, 1 successful interaction(s) for mnaumanndesign. +2024-11-30 13:40:15,313 - api.main - INFO - STDERR: [11/30 13:40:15] INFO | Back to followers list +2024-11-30 13:40:15,313 - api.main - INFO - STDERR: [11/30 13:40:15] DEBUG | Press back button. +2024-11-30 13:40:15,422 - api.main - INFO - STDERR: [11/30 13:40:15] DEBUG | 2.87s sleep +2024-11-30 13:40:20,044 - api.main - INFO - STDERR: [11/30 13:40:20] INFO | Need to scroll now +2024-11-30 13:40:21,298 - api.main - INFO - STDERR: [11/30 13:40:21] INFO | Iterate over visible followers. +2024-11-30 13:40:26,857 - api.main - INFO - STDERR: [11/30 13:40:26] DEBUG | There are 8 users fully visible in that view. +2024-11-30 13:40:28,684 - api.main - INFO - STDERR: [11/30 13:40:28] INFO | @jiyere2b: already interacted on 2024/11/29 04:37:48. Skip. +2024-11-30 13:40:29,623 - api.main - INFO - STDERR: [11/30 13:40:29] INFO | @dxin.official: already interacted on 2024/11/29 04:36:06. Skip. +2024-11-30 13:40:30,595 - api.main - INFO - STDERR: [11/30 13:40:30] INFO | @kuangxiao118: interact +2024-11-30 13:40:30,981 - api.main - INFO - STDERR: [11/30 13:40:30] DEBUG | Single click in (532,1094). Surface: (322-588,1065-1122) +2024-11-30 13:40:31,706 - api.main - INFO - STDERR: [11/30 13:40:31] DEBUG | 0.86s sleep +2024-11-30 13:40:32,584 - api.main - INFO - STDERR: [11/30 13:40:32] DEBUG | 3.93s sleep +2024-11-30 13:40:36,880 - api.main - INFO - STDERR: [11/30 13:40:36] DEBUG | Checking profile.. +2024-11-30 13:40:38,129 - api.main - INFO - STDERR: [11/30 13:40:38] DEBUG | Looking for mutual friends tab. +2024-11-30 13:40:45,064 - api.main - INFO - STDERR: [11/30 13:40:45] DEBUG | This account is public. +2024-11-30 13:40:45,064 - api.main - INFO - STDERR: [11/30 13:40:45] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:40:45,064 - api.main - INFO - STDERR: [11/30 13:40:45] INFO | @kuangxiao118 has less than 100 followers, skip. +2024-11-30 13:40:45,076 - api.main - INFO - STDERR: [11/30 13:40:45] DEBUG | Profile checked in 8.20s +2024-11-30 13:40:45,090 - api.main - INFO - STDERR: [11/30 13:40:45] DEBUG | Whole day mode. +2024-11-30 13:40:45,090 - api.main - INFO - STDERR: [11/30 13:40:45] DEBUG | - Total Likes: OK (2/141) +2024-11-30 13:40:45,090 - api.main - INFO - STDERR: [11/30 13:40:45] DEBUG | - Total Followed: OK (1/48) +2024-11-30 13:40:45,090 - api.main - INFO - STDERR: [11/30 13:40:45] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:40:45,091 - api.main - INFO - STDERR: [11/30 13:40:45] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:40:45,091 - api.main - INFO - STDERR: [11/30 13:40:45] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:40:45,091 - api.main - INFO - STDERR: [11/30 13:40:45] DEBUG | - Total Interactions: OK (14/289) +2024-11-30 13:40:45,092 - api.main - INFO - STDERR: [11/30 13:40:45] DEBUG | - Total Successful Interactions: OK (1/125) +2024-11-30 13:40:45,092 - api.main - INFO - STDERR: [11/30 13:40:45] INFO | Back to followers list +2024-11-30 13:40:45,092 - api.main - INFO - STDERR: [11/30 13:40:45] DEBUG | Press back button. +2024-11-30 13:40:45,174 - api.main - INFO - STDERR: [11/30 13:40:45] DEBUG | 1.46s sleep +2024-11-30 13:40:47,922 - api.main - INFO - STDERR: [11/30 13:40:47] INFO | @mryangbin: interact +2024-11-30 13:40:48,387 - api.main - INFO - STDERR: [11/30 13:40:48] DEBUG | Single click in (434,1358). Surface: (322-523,1317-1374) +2024-11-30 13:40:49,144 - api.main - INFO - STDERR: [11/30 13:40:49] DEBUG | 2.30s sleep +2024-11-30 13:40:51,462 - api.main - INFO - STDERR: [11/30 13:40:51] DEBUG | 3.67s sleep +2024-11-30 13:40:55,537 - api.main - INFO - STDERR: [11/30 13:40:55] DEBUG | Checking profile.. +2024-11-30 13:40:56,926 - api.main - INFO - STDERR: [11/30 13:40:56] DEBUG | Looking for mutual friends tab. +2024-11-30 13:41:03,378 - api.main - INFO - STDERR: [11/30 13:41:03] DEBUG | This account is public. +2024-11-30 13:41:03,378 - api.main - INFO - STDERR: [11/30 13:41:03] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:41:03,379 - api.main - INFO - STDERR: [11/30 13:41:03] INFO | @mryangbin has less than 100 followers, skip. +2024-11-30 13:41:03,391 - api.main - INFO - STDERR: [11/30 13:41:03] DEBUG | Profile checked in 7.85s +2024-11-30 13:41:03,403 - api.main - INFO - STDERR: [11/30 13:41:03] DEBUG | Whole day mode. +2024-11-30 13:41:03,403 - api.main - INFO - STDERR: [11/30 13:41:03] DEBUG | - Total Likes: OK (2/141) +2024-11-30 13:41:03,404 - api.main - INFO - STDERR: [11/30 13:41:03] DEBUG | - Total Followed: OK (1/48) +2024-11-30 13:41:03,404 - api.main - INFO - STDERR: [11/30 13:41:03] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:41:03,404 - api.main - INFO - STDERR: [11/30 13:41:03] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:41:03,405 - api.main - INFO - STDERR: [11/30 13:41:03] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:41:03,405 - api.main - INFO - STDERR: [11/30 13:41:03] DEBUG | - Total Interactions: OK (15/289) +2024-11-30 13:41:03,405 - api.main - INFO - STDERR: [11/30 13:41:03] DEBUG | - Total Successful Interactions: OK (1/125) +2024-11-30 13:41:03,405 - api.main - INFO - STDERR: [11/30 13:41:03] INFO | Back to followers list +2024-11-30 13:41:03,406 - api.main - INFO - STDERR: [11/30 13:41:03] DEBUG | Press back button. +2024-11-30 13:41:03,476 - api.main - INFO - STDERR: [11/30 13:41:03] DEBUG | 1.04s sleep +2024-11-30 13:41:05,601 - api.main - INFO - STDERR: [11/30 13:41:05] INFO | @katjastrophal__: interact +2024-11-30 13:41:06,072 - api.main - INFO - STDERR: [11/30 13:41:06] DEBUG | Single click in (561,1581). Surface: (322-609,1569-1626) +2024-11-30 13:41:06,792 - api.main - INFO - STDERR: [11/30 13:41:06] DEBUG | 1.25s sleep +2024-11-30 13:41:08,051 - api.main - INFO - STDERR: [11/30 13:41:08] DEBUG | 3.33s sleep +2024-11-30 13:41:11,689 - api.main - INFO - STDERR: [11/30 13:41:11] DEBUG | Checking profile.. +2024-11-30 13:41:12,418 - api.main - INFO - STDERR: [11/30 13:41:12] DEBUG | Looking for mutual friends tab. +2024-11-30 13:41:18,397 - api.main - INFO - STDERR: [11/30 13:41:18] DEBUG | This account is private. +2024-11-30 13:41:18,397 - api.main - INFO - STDERR: [11/30 13:41:18] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:41:18,776 - api.main - INFO - STDERR: [11/30 13:41:18] DEBUG | Profile checked in 7.09s +2024-11-30 13:41:18,777 - api.main - INFO - STDERR: [11/30 13:41:18] INFO | Private account. +2024-11-30 13:41:18,777 - api.main - INFO - STDERR: [11/30 13:41:18] INFO | follow_private_or_empty is disabled in filters. Skip. +2024-11-30 13:41:18,795 - api.main - INFO - STDERR: [11/30 13:41:18] DEBUG | Whole day mode. +2024-11-30 13:41:18,795 - api.main - INFO - STDERR: [11/30 13:41:18] DEBUG | - Total Likes: OK (2/141) +2024-11-30 13:41:18,795 - api.main - INFO - STDERR: [11/30 13:41:18] DEBUG | - Total Followed: OK (1/48) +2024-11-30 13:41:18,795 - api.main - INFO - STDERR: [11/30 13:41:18] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:41:18,796 - api.main - INFO - STDERR: [11/30 13:41:18] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:41:18,796 - api.main - INFO - STDERR: [11/30 13:41:18] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:41:18,796 - api.main - INFO - STDERR: [11/30 13:41:18] DEBUG | - Total Interactions: OK (16/289) +2024-11-30 13:41:18,796 - api.main - INFO - STDERR: [11/30 13:41:18] DEBUG | - Total Successful Interactions: OK (1/125) +2024-11-30 13:41:18,797 - api.main - INFO - STDERR: [11/30 13:41:18] INFO | Back to followers list +2024-11-30 13:41:18,797 - api.main - INFO - STDERR: [11/30 13:41:18] DEBUG | Press back button. +2024-11-30 13:41:18,906 - api.main - INFO - STDERR: [11/30 13:41:18] DEBUG | 2.33s sleep +2024-11-30 13:41:22,404 - api.main - INFO - STDERR: [11/30 13:41:22] INFO | @ryan.6338: interact +2024-11-30 13:41:22,791 - api.main - INFO - STDERR: [11/30 13:41:22] DEBUG | Single click in (393,1850). Surface: (322-512,1821-1878) +2024-11-30 13:41:23,501 - api.main - INFO - STDERR: [11/30 13:41:23] DEBUG | 0.96s sleep +2024-11-30 13:41:24,482 - api.main - INFO - STDERR: [11/30 13:41:24] DEBUG | 3.93s sleep +2024-11-30 13:41:28,850 - api.main - INFO - STDERR: [11/30 13:41:28] DEBUG | Checking profile.. +2024-11-30 13:41:30,104 - api.main - INFO - STDERR: [11/30 13:41:30] DEBUG | Looking for mutual friends tab. +2024-11-30 13:41:36,458 - api.main - INFO - STDERR: [11/30 13:41:36] DEBUG | This account is private. +2024-11-30 13:41:36,458 - api.main - INFO - STDERR: [11/30 13:41:36] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:41:36,458 - api.main - INFO - STDERR: [11/30 13:41:36] INFO | @ryan.6338 has less than 100 followers, skip. +2024-11-30 13:41:36,471 - api.main - INFO - STDERR: [11/30 13:41:36] DEBUG | Profile checked in 7.62s +2024-11-30 13:41:36,482 - api.main - INFO - STDERR: [11/30 13:41:36] DEBUG | Whole day mode. +2024-11-30 13:41:36,483 - api.main - INFO - STDERR: [11/30 13:41:36] DEBUG | - Total Likes: OK (2/141) +2024-11-30 13:41:36,483 - api.main - INFO - STDERR: [11/30 13:41:36] DEBUG | - Total Followed: OK (1/48) +2024-11-30 13:41:36,483 - api.main - INFO - STDERR: [11/30 13:41:36] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:41:36,483 - api.main - INFO - STDERR: [11/30 13:41:36] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:41:36,484 - api.main - INFO - STDERR: [11/30 13:41:36] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:41:36,484 - api.main - INFO - STDERR: [11/30 13:41:36] DEBUG | - Total Interactions: OK (17/289) +2024-11-30 13:41:36,484 - api.main - INFO - STDERR: [11/30 13:41:36] DEBUG | - Total Successful Interactions: OK (1/125) +2024-11-30 13:41:36,484 - api.main - INFO - STDERR: [11/30 13:41:36] INFO | Back to followers list +2024-11-30 13:41:36,485 - api.main - INFO - STDERR: [11/30 13:41:36] DEBUG | Press back button. +2024-11-30 13:41:36,591 - api.main - INFO - STDERR: [11/30 13:41:36] DEBUG | 0.87s sleep +2024-11-30 13:41:38,580 - api.main - INFO - STDERR: [11/30 13:41:38] INFO | @m.s.a236: already interacted on 2024/11/29 04:39:51. Skip. +2024-11-30 13:41:39,547 - api.main - INFO - STDERR: [11/30 13:41:39] INFO | @___chaithu______7: interact +2024-11-30 13:41:39,950 - api.main - INFO - STDERR: [11/30 13:41:39] DEBUG | Single click in (603,2351). Surface: (322-656,2325-2382) +2024-11-30 13:41:40,445 - api.main - INFO - STDERR: [11/30 13:41:40] DEBUG | 1.23s sleep +2024-11-30 13:41:41,684 - api.main - INFO - STDERR: [11/30 13:41:41] DEBUG | 2.76s sleep +2024-11-30 13:41:44,783 - api.main - INFO - STDERR: [11/30 13:41:44] DEBUG | Checking profile.. +2024-11-30 13:41:45,953 - api.main - INFO - STDERR: [11/30 13:41:45] DEBUG | Looking for mutual friends tab. +2024-11-30 13:41:52,254 - api.main - INFO - STDERR: [11/30 13:41:52] DEBUG | This account is public. +2024-11-30 13:41:52,254 - api.main - INFO - STDERR: [11/30 13:41:52] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:41:52,254 - api.main - INFO - STDERR: [11/30 13:41:52] INFO | @___chaithu______7 doesn't have enough posts (0), skip. +2024-11-30 13:41:52,267 - api.main - INFO - STDERR: [11/30 13:41:52] DEBUG | Profile checked in 7.48s +2024-11-30 13:41:52,279 - api.main - INFO - STDERR: [11/30 13:41:52] DEBUG | Whole day mode. +2024-11-30 13:41:52,279 - api.main - INFO - STDERR: [11/30 13:41:52] DEBUG | - Total Likes: OK (2/141) +2024-11-30 13:41:52,280 - api.main - INFO - STDERR: [11/30 13:41:52] DEBUG | - Total Followed: OK (1/48) +2024-11-30 13:41:52,280 - api.main - INFO - STDERR: [11/30 13:41:52] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:41:52,280 - api.main - INFO - STDERR: [11/30 13:41:52] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:41:52,280 - api.main - INFO - STDERR: [11/30 13:41:52] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:41:52,280 - api.main - INFO - STDERR: [11/30 13:41:52] DEBUG | - Total Interactions: OK (18/289) +2024-11-30 13:41:52,282 - api.main - INFO - STDERR: [11/30 13:41:52] DEBUG | - Total Successful Interactions: OK (1/125) +2024-11-30 13:41:52,282 - api.main - INFO - STDERR: [11/30 13:41:52] INFO | Back to followers list +2024-11-30 13:41:52,282 - api.main - INFO - STDERR: [11/30 13:41:52] DEBUG | Press back button. +2024-11-30 13:41:52,356 - api.main - INFO - STDERR: [11/30 13:41:52] DEBUG | 2.49s sleep +2024-11-30 13:41:56,310 - api.main - INFO - STDERR: [11/30 13:41:56] INFO | Need to scroll now +2024-11-30 13:41:57,578 - api.main - INFO - STDERR: [11/30 13:41:57] INFO | Iterate over visible followers. +2024-11-30 13:42:03,034 - api.main - INFO - STDERR: [11/30 13:42:03] DEBUG | There are 8 users fully visible in that view. +2024-11-30 13:42:04,675 - api.main - INFO - STDERR: [11/30 13:42:04] INFO | @user732728d: already interacted on 2024/11/29 04:16:36. Skip. +2024-11-30 13:42:05,699 - api.main - INFO - STDERR: [11/30 13:42:05] INFO | @pakreht: already interacted on 2024/11/29 04:16:18. Skip. +2024-11-30 13:42:06,769 - api.main - INFO - STDERR: [11/30 13:42:06] INFO | @cavalry_playground: already interacted on 2024/11/30 05:31:00. Skip. +2024-11-30 13:42:07,777 - api.main - INFO - STDERR: [11/30 13:42:07] INFO | @gabomarin_designer: already interacted on 2024/11/30 05:31:19. Skip. +2024-11-30 13:42:08,894 - api.main - INFO - STDERR: [11/30 13:42:08] INFO | @lorcan.archive: already interacted on 2024/11/29 01:36:59. Skip. +2024-11-30 13:42:09,998 - api.main - INFO - STDERR: [11/30 13:42:09] INFO | @_motiongrapher_: already interacted on 2024/11/29 04:17:14. Skip. +2024-11-30 13:42:11,045 - api.main - INFO - STDERR: [11/30 13:42:11] INFO | @furkanadiguzel15: already interacted on 2024/11/30 13:34:25. Skip. +2024-11-30 13:42:12,205 - api.main - INFO - STDERR: [11/30 13:42:12] INFO | @heavydirtyday: already interacted on 2024/11/29 04:16:58. Skip. +2024-11-30 13:42:13,796 - api.main - INFO - STDERR: [11/30 13:42:13] INFO | All followers skipped, let's scroll. +2024-11-30 13:42:15,028 - api.main - INFO - STDERR: [11/30 13:42:15] INFO | Iterate over visible followers. +2024-11-30 13:42:20,581 - api.main - INFO - STDERR: [11/30 13:42:20] DEBUG | There are 8 users fully visible in that view. +2024-11-30 13:42:22,084 - api.main - INFO - STDERR: [11/30 13:42:22] INFO | @osm_dsgnr: already interacted on 2024/11/30 05:29:31. Skip. +2024-11-30 13:42:23,106 - api.main - INFO - STDERR: [11/30 13:42:23] INFO | @ddrckdsgn: already interacted on 2024/11/30 05:37:10. Skip. +2024-11-30 13:42:24,240 - api.main - INFO - STDERR: [11/30 13:42:24] INFO | @xyzettgraphix_bfvk: already interacted on 2024/11/29 04:21:20. Skip. +2024-11-30 13:42:25,256 - api.main - INFO - STDERR: [11/30 13:42:25] INFO | @axellle_adr: already interacted on 2024/11/29 04:30:53. Skip. +2024-11-30 13:42:26,359 - api.main - INFO - STDERR: [11/30 13:42:26] INFO | @mmmmmmmeomory: already interacted on 2024/11/29 04:20:13. Skip. +2024-11-30 13:42:27,484 - api.main - INFO - STDERR: [11/30 13:42:27] INFO | @ooook___789: already interacted on 2024/11/29 04:17:52. Skip. +2024-11-30 13:42:28,534 - api.main - INFO - STDERR: [11/30 13:42:28] INFO | @oivtat: already interacted on 2024/11/29 04:17:32. Skip. +2024-11-30 13:42:29,545 - api.main - INFO - STDERR: [11/30 13:42:29] INFO | @motivomine: already interacted on 2024/11/29 04:19:52. Skip. +2024-11-30 13:42:30,974 - api.main - INFO - STDERR: [11/30 13:42:30] INFO | All followers skipped, let's scroll. +2024-11-30 13:42:32,172 - api.main - INFO - STDERR: [11/30 13:42:32] INFO | Iterate over visible followers. +2024-11-30 13:42:37,963 - api.main - INFO - STDERR: [11/30 13:42:37] DEBUG | There are 8 users fully visible in that view. +2024-11-30 13:42:39,611 - api.main - INFO - STDERR: [11/30 13:42:39] INFO | @iwannhs.ferro: already interacted on 2024/11/30 13:35:10. Skip. +2024-11-30 13:42:40,636 - api.main - INFO - STDERR: [11/30 13:42:40] INFO | @king_ofwaters: already interacted on 2024/11/30 13:35:24. Skip. +2024-11-30 13:42:41,693 - api.main - INFO - STDERR: [11/30 13:42:41] INFO | @blissfuldread: already interacted on 2024/11/29 04:22:24. Skip. +2024-11-30 13:42:42,826 - api.main - INFO - STDERR: [11/30 13:42:42] INFO | @bryn_pod: already interacted on 2024/11/29 01:35:49. Skip. +2024-11-30 13:42:43,924 - api.main - INFO - STDERR: [11/30 13:42:43] INFO | @gioph_designs: already interacted on 2024/11/29 04:23:05. Skip. +2024-11-30 13:42:44,687 - api.main - INFO - STDERR: [11/30 13:42:44] INFO | @sammeske: already interacted on 2024/11/29 04:38:40. Skip. +2024-11-30 13:42:45,513 - api.main - INFO - STDERR: [11/30 13:42:45] INFO | @jeejung_gabin: already interacted on 2024/11/29 04:35:39. Skip. +2024-11-30 13:42:46,664 - api.main - INFO - STDERR: [11/30 13:42:46] INFO | @dixitasarchive: already interacted on 2024/11/29 01:37:19. Skip. +2024-11-30 13:42:48,193 - api.main - INFO - STDERR: [11/30 13:42:48] INFO | All followers skipped, let's scroll. +2024-11-30 13:42:49,430 - api.main - INFO - STDERR: [11/30 13:42:49] INFO | Iterate over visible followers. +2024-11-30 13:42:54,606 - api.main - INFO - STDERR: [11/30 13:42:54] DEBUG | There are 7 users fully visible in that view. +2024-11-30 13:42:56,179 - api.main - INFO - STDERR: [11/30 13:42:56] INFO | @asad_graphic: already interacted on 2024/11/29 04:23:47. Skip. +2024-11-30 13:42:57,189 - api.main - INFO - STDERR: [11/30 13:42:57] INFO | @artreyd: already interacted on 2024/11/29 04:23:29. Skip. +2024-11-30 13:42:58,228 - api.main - INFO - STDERR: [11/30 13:42:58] INFO | @y2knght: already interacted on 2024/11/30 05:49:04. Skip. +2024-11-30 13:42:59,262 - api.main - INFO - STDERR: [11/30 13:42:59] INFO | @neodigitalbr: already interacted on 2024/11/29 04:24:54. Skip. +2024-11-30 13:43:00,406 - api.main - INFO - STDERR: [11/30 13:43:00] INFO | @claudiatua.0v0: already interacted on 2024/11/29 04:26:30. Skip. +2024-11-30 13:43:01,356 - api.main - INFO - STDERR: [11/30 13:43:01] INFO | @jakub_bukowski: already interacted on 2024/11/30 05:49:26. Skip. +2024-11-30 13:43:02,537 - api.main - INFO - STDERR: [11/30 13:43:02] INFO | @gonepix: already interacted on 2024/11/29 04:27:07. Skip. +2024-11-30 13:43:04,137 - api.main - INFO - STDERR: [11/30 13:43:04] INFO | All followers skipped, let's scroll. +2024-11-30 13:43:05,353 - api.main - INFO - STDERR: [11/30 13:43:05] INFO | Iterate over visible followers. +2024-11-30 13:43:11,010 - api.main - INFO - STDERR: [11/30 13:43:11] DEBUG | There are 8 users fully visible in that view. +2024-11-30 13:43:12,563 - api.main - INFO - STDERR: [11/30 13:43:12] INFO | @audoreaudio: already interacted on 2024/11/29 04:33:46. Skip. +2024-11-30 13:43:13,520 - api.main - INFO - STDERR: [11/30 13:43:13] INFO | @iam_lifeflow2019: already interacted on 2024/11/29 04:36:42. Skip. +2024-11-30 13:43:14,529 - api.main - INFO - STDERR: [11/30 13:43:14] INFO | @iris_orbis: already interacted on 2024/11/29 04:34:19. Skip. +2024-11-30 13:43:15,587 - api.main - INFO - STDERR: [11/30 13:43:15] INFO | @erkunzhao: already interacted on 2024/11/30 13:36:17. Skip. +2024-11-30 13:43:16,659 - api.main - INFO - STDERR: [11/30 13:43:16] INFO | @heshuangjiang1120: already interacted on 2024/11/29 04:36:23. Skip. +2024-11-30 13:43:17,727 - api.main - INFO - STDERR: [11/30 13:43:17] INFO | @wingsvn: already interacted on 2024/11/29 04:34:38. Skip. +2024-11-30 13:43:18,868 - api.main - INFO - STDERR: [11/30 13:43:18] INFO | @lunch_box_notes: already interacted on 2024/11/29 04:37:27. Skip. +2024-11-30 13:43:19,866 - api.main - INFO - STDERR: [11/30 13:43:19] INFO | @marcusw.design: already interacted on 2024/11/29 04:18:37. Skip. +2024-11-30 13:43:21,316 - api.main - INFO - STDERR: [11/30 13:43:21] INFO | All followers skipped, let's scroll. +2024-11-30 13:43:22,513 - api.main - INFO - STDERR: [11/30 13:43:22] INFO | Iterate over visible followers. +2024-11-30 13:43:28,542 - api.main - INFO - STDERR: [11/30 13:43:28] DEBUG | There are 8 users fully visible in that view. +2024-11-30 13:43:30,223 - api.main - INFO - STDERR: [11/30 13:43:30] INFO | @studio_sourire: already interacted on 2024/11/29 04:27:43. Skip. +2024-11-30 13:43:31,255 - api.main - INFO - STDERR: [11/30 13:43:31] INFO | @prazdnakasa: already interacted on 2024/11/29 04:15:58. Skip. +2024-11-30 13:43:32,223 - api.main - INFO - STDERR: [11/30 13:43:32] INFO | @arafatmiraaz: already interacted on 2024/11/30 13:36:49. Skip. +2024-11-30 13:43:33,271 - api.main - INFO - STDERR: [11/30 13:43:33] INFO | @lennimation: already interacted on 2024/11/30 13:37:05. Skip. +2024-11-30 13:43:34,354 - api.main - INFO - STDERR: [11/30 13:43:34] INFO | @lennimation: already interacted on 2024/11/30 13:37:05. Skip. +2024-11-30 13:43:35,379 - api.main - INFO - STDERR: [11/30 13:43:35] INFO | @creatid.d: already interacted on 2024/11/30 13:37:21. Skip. +2024-11-30 13:43:36,550 - api.main - INFO - STDERR: [11/30 13:43:36] INFO | @77artndesign: already interacted on 2024/11/30 13:37:39. Skip. +2024-11-30 13:43:37,765 - api.main - INFO - STDERR: [11/30 13:43:37] INFO | @379_pages: already interacted on 2024/11/30 13:37:55. Skip. +2024-11-30 13:43:39,391 - api.main - INFO - STDERR: [11/30 13:43:39] INFO | All followers skipped, let's scroll. +2024-11-30 13:43:40,629 - api.main - INFO - STDERR: [11/30 13:43:40] INFO | Iterate over visible followers. +2024-11-30 13:43:45,519 - api.main - INFO - STDERR: [11/30 13:43:45] DEBUG | There are 7 users fully visible in that view. +2024-11-30 13:43:47,171 - api.main - INFO - STDERR: [11/30 13:43:47] INFO | @weemeeuwkoenraad: already interacted on 2024/11/29 04:21:46. Skip. +2024-11-30 13:43:48,225 - api.main - INFO - STDERR: [11/30 13:43:48] INFO | @emotionworks: already interacted on 2024/11/30 13:38:22. Skip. +2024-11-30 13:43:49,328 - api.main - INFO - STDERR: [11/30 13:43:49] INFO | @usethriv: already interacted on 2024/11/29 04:26:12. Skip. +2024-11-30 13:43:50,348 - api.main - INFO - STDERR: [11/30 13:43:50] INFO | @jtqtianqi: already interacted on 2024/11/29 04:37:08. Skip. +2024-11-30 13:43:51,345 - api.main - INFO - STDERR: [11/30 13:43:51] INFO | @celestinekf0qbe8: already interacted on 2024/11/30 13:38:42. Skip. +2024-11-30 13:43:52,498 - api.main - INFO - STDERR: [11/30 13:43:52] INFO | @albertoroller: already interacted on 2024/11/30 13:38:59. Skip. +2024-11-30 13:43:53,625 - api.main - INFO - STDERR: [11/30 13:43:53] INFO | @ka.tadaa: already interacted on 2024/11/30 13:40:15. Skip. +2024-11-30 13:43:55,176 - api.main - INFO - STDERR: [11/30 13:43:55] INFO | All followers skipped, let's scroll. +2024-11-30 13:43:56,394 - api.main - INFO - STDERR: [11/30 13:43:56] INFO | Iterate over visible followers. +2024-11-30 13:44:01,246 - api.main - INFO - STDERR: [11/30 13:44:01] DEBUG | There are 7 users fully visible in that view. +2024-11-30 13:44:02,952 - api.main - INFO - STDERR: [11/30 13:44:02] INFO | @dxin.official: already interacted on 2024/11/29 04:36:06. Skip. +2024-11-30 13:44:03,938 - api.main - INFO - STDERR: [11/30 13:44:03] INFO | @kuangxiao118: already interacted on 2024/11/30 13:40:45. Skip. +2024-11-30 13:44:04,954 - api.main - INFO - STDERR: [11/30 13:44:04] INFO | @mryangbin: already interacted on 2024/11/30 13:41:03. Skip. +2024-11-30 13:44:05,921 - api.main - INFO - STDERR: [11/30 13:44:05] INFO | @katjastrophal__: already interacted on 2024/11/30 13:41:18. Skip. +2024-11-30 13:44:07,030 - api.main - INFO - STDERR: [11/30 13:44:07] INFO | @ryan.6338: already interacted on 2024/11/30 13:41:36. Skip. +2024-11-30 13:44:08,083 - api.main - INFO - STDERR: [11/30 13:44:08] INFO | @m.s.a236: already interacted on 2024/11/29 04:39:51. Skip. +2024-11-30 13:44:09,190 - api.main - INFO - STDERR: [11/30 13:44:09] INFO | @___chaithu______7: already interacted on 2024/11/30 13:41:52. Skip. +2024-11-30 13:44:10,798 - api.main - INFO - STDERR: [11/30 13:44:10] INFO | All followers skipped, let's scroll. +2024-11-30 13:44:12,025 - api.main - INFO - STDERR: [11/30 13:44:12] INFO | Iterate over visible followers. +2024-11-30 13:44:16,604 - api.main - INFO - STDERR: [11/30 13:44:16] DEBUG | There are 7 users fully visible in that view. +2024-11-30 13:44:18,236 - api.main - INFO - STDERR: [11/30 13:44:18] INFO | @___chaithu______7: already interacted on 2024/11/30 13:41:52. Skip. +2024-11-30 13:44:19,233 - api.main - INFO - STDERR: [11/30 13:44:19] INFO | @nosunity: interact +2024-11-30 13:44:19,677 - api.main - INFO - STDERR: [11/30 13:44:19] DEBUG | Single click in (390,959). Surface: (322-482,919-976) +2024-11-30 13:44:20,298 - api.main - INFO - STDERR: [11/30 13:44:20] DEBUG | 2.08s sleep +2024-11-30 13:44:22,385 - api.main - INFO - STDERR: [11/30 13:44:22] DEBUG | 3.48s sleep +2024-11-30 13:44:26,290 - api.main - INFO - STDERR: [11/30 13:44:26] DEBUG | Checking profile.. +2024-11-30 13:44:27,492 - api.main - INFO - STDERR: [11/30 13:44:27] DEBUG | Looking for mutual friends tab. +2024-11-30 13:44:34,020 - api.main - INFO - STDERR: [11/30 13:44:34] DEBUG | This account is public. +2024-11-30 13:44:34,021 - api.main - INFO - STDERR: [11/30 13:44:34] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:44:34,021 - api.main - INFO - STDERR: [11/30 13:44:34] INFO | @nosunity's potency ratio is not between 0.1 and 1.5, skip. +2024-11-30 13:44:34,037 - api.main - INFO - STDERR: [11/30 13:44:34] DEBUG | Profile checked in 7.75s +2024-11-30 13:44:34,054 - api.main - INFO - STDERR: [11/30 13:44:34] DEBUG | Whole day mode. +2024-11-30 13:44:34,054 - api.main - INFO - STDERR: [11/30 13:44:34] DEBUG | - Total Likes: OK (2/141) +2024-11-30 13:44:34,055 - api.main - INFO - STDERR: [11/30 13:44:34] DEBUG | - Total Followed: OK (1/48) +2024-11-30 13:44:34,055 - api.main - INFO - STDERR: [11/30 13:44:34] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:44:34,056 - api.main - INFO - STDERR: [11/30 13:44:34] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:44:34,056 - api.main - INFO - STDERR: [11/30 13:44:34] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:44:34,056 - api.main - INFO - STDERR: [11/30 13:44:34] DEBUG | - Total Interactions: OK (19/289) +2024-11-30 13:44:34,057 - api.main - INFO - STDERR: [11/30 13:44:34] DEBUG | - Total Successful Interactions: OK (1/125) +2024-11-30 13:44:34,057 - api.main - INFO - STDERR: [11/30 13:44:34] INFO | Back to followers list +2024-11-30 13:44:34,058 - api.main - INFO - STDERR: [11/30 13:44:34] DEBUG | Press back button. +2024-11-30 13:44:34,142 - api.main - INFO - STDERR: [11/30 13:44:34] DEBUG | 2.40s sleep +2024-11-30 13:44:37,705 - api.main - INFO - STDERR: [11/30 13:44:37] INFO | @art_and_cigars: interact +2024-11-30 13:44:38,146 - api.main - INFO - STDERR: [11/30 13:44:38] DEBUG | Single click in (481,1208). Surface: (322-601,1171-1228) +2024-11-30 13:44:38,829 - api.main - INFO - STDERR: [11/30 13:44:38] DEBUG | 1.21s sleep +2024-11-30 13:44:40,050 - api.main - INFO - STDERR: [11/30 13:44:40] DEBUG | 3.62s sleep +2024-11-30 13:44:43,990 - api.main - INFO - STDERR: [11/30 13:44:43] DEBUG | Checking profile.. +2024-11-30 13:44:45,247 - api.main - INFO - STDERR: [11/30 13:44:45] DEBUG | Looking for mutual friends tab. +2024-11-30 13:44:52,054 - api.main - INFO - STDERR: [11/30 13:44:52] DEBUG | This account is public. +2024-11-30 13:44:52,054 - api.main - INFO - STDERR: [11/30 13:44:52] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:44:52,495 - api.main - INFO - STDERR: [11/30 13:44:52] DEBUG | Profile checked in 8.50s +2024-11-30 13:44:52,496 - api.main - INFO - STDERR: [11/30 13:44:52] INFO | - Total Likes: OK (2/141) +2024-11-30 13:44:54,067 - api.main - INFO - STDERR: [11/30 13:44:54] INFO | Scrolled down to see more posts. +2024-11-30 13:44:54,067 - api.main - INFO - STDERR: [11/30 13:44:54] DEBUG | Swipe from: (715,1353) to (802,296). +2024-11-30 13:44:55,809 - api.main - INFO - STDERR: [11/30 13:44:55] DEBUG | 0.3s sleep +2024-11-30 13:44:56,123 - api.main - INFO - STDERR: [11/30 13:44:56] INFO | Likes count: 2 +2024-11-30 13:44:57,614 - api.main - INFO - STDERR: [11/30 13:44:57] INFO | There are 12 posts fully visible. Calculated in 1.49s +2024-11-30 13:44:57,614 - api.main - INFO - STDERR: [11/30 13:44:57] INFO | Open post #1 (3 row, 1 column). +2024-11-30 13:44:58,342 - api.main - INFO - STDERR: [11/30 13:44:58] INFO | It's a photo. +2024-11-30 13:44:58,665 - api.main - INFO - STDERR: [11/30 13:44:58] DEBUG | Single click in (312,1548). Surface: (0-476,1440-1916) +2024-11-30 13:44:59,257 - api.main - INFO - STDERR: [11/30 13:44:59] DEBUG | 0.76s sleep +2024-11-30 13:45:02,246 - api.main - INFO - STDERR: [11/30 13:45:02] INFO | Watching photo for 3.53s. +2024-11-30 13:45:06,378 - api.main - INFO - STDERR: [11/30 13:45:06] INFO | Liking post. +2024-11-30 13:45:06,516 - api.main - INFO - STDERR: [11/30 13:45:06] DEBUG | Double click in (847,1121) with t=83ms. Surface: (0-1440,476-1916). +2024-11-30 13:45:06,987 - api.main - INFO - STDERR: [11/30 13:45:06] DEBUG | 1.01s sleep +2024-11-30 13:45:09,935 - api.main - INFO - STDERR: [11/30 13:45:09] DEBUG | Checking for block... +2024-11-30 13:45:12,651 - api.main - INFO - STDERR: [11/30 13:45:12] DEBUG | Like succeed. +2024-11-30 13:45:12,651 - api.main - INFO - STDERR: [11/30 13:45:12] INFO | Back to profile. +2024-11-30 13:45:13,189 - api.main - INFO - STDERR: [11/30 13:45:13] DEBUG | Press back button. +2024-11-30 13:45:13,420 - api.main - INFO - STDERR: [11/30 13:45:13] DEBUG | 1.09s sleep +2024-11-30 13:45:14,520 - api.main - INFO - STDERR: [11/30 13:45:14] INFO | Open post #2 (3 row, 3 column). +2024-11-30 13:45:15,784 - api.main - INFO - STDERR: [11/30 13:45:15] INFO | It's a photo. +2024-11-30 13:45:16,215 - api.main - INFO - STDERR: [11/30 13:45:16] DEBUG | Single click in (1043,1830). Surface: (964-1440,1440-1916) +2024-11-30 13:45:16,844 - api.main - INFO - STDERR: [11/30 13:45:16] DEBUG | 1.84s sleep +2024-11-30 13:45:21,300 - api.main - INFO - STDERR: [11/30 13:45:21] INFO | Watching photo for 3.68s. +2024-11-30 13:45:25,593 - api.main - INFO - STDERR: [11/30 13:45:25] INFO | Liking post. +2024-11-30 13:45:25,783 - api.main - INFO - STDERR: [11/30 13:45:25] DEBUG | Double click in (526,1062) with t=136ms. Surface: (0-1440,476-1916). +2024-11-30 13:45:26,276 - api.main - INFO - STDERR: [11/30 13:45:26] DEBUG | 0.63s sleep +2024-11-30 13:45:28,789 - api.main - INFO - STDERR: [11/30 13:45:28] INFO | Double click failed, clicking on the little heart \u2764\ufe0f. +2024-11-30 13:45:29,163 - api.main - INFO - STDERR: [11/30 13:45:29] DEBUG | Single click in (57,1953). Surface: (21-175,1916-2077) +2024-11-30 13:45:29,836 - api.main - INFO - STDERR: [11/30 13:45:29] DEBUG | 1.03s sleep +2024-11-30 13:45:32,712 - api.main - INFO - STDERR: [11/30 13:45:32] DEBUG | Checking for block... +2024-11-30 13:45:35,576 - api.main - INFO - STDERR: [11/30 13:45:35] DEBUG | Like succeed. +2024-11-30 13:45:35,576 - api.main - INFO - STDERR: [11/30 13:45:35] INFO | Back to profile. +2024-11-30 13:45:36,121 - api.main - INFO - STDERR: [11/30 13:45:36] DEBUG | Press back button. +2024-11-30 13:45:36,322 - api.main - INFO - STDERR: [11/30 13:45:36] DEBUG | 2.11s sleep +2024-11-30 13:45:38,448 - api.main - INFO - STDERR: [11/30 13:45:38] DEBUG | - Total Followed: OK (1/48) +2024-11-30 13:45:38,465 - api.main - INFO - STDERR: [11/30 13:45:38] DEBUG | Whole day mode. +2024-11-30 13:45:38,465 - api.main - INFO - STDERR: [11/30 13:45:38] DEBUG | - Total Likes: OK (4/141) +2024-11-30 13:45:38,465 - api.main - INFO - STDERR: [11/30 13:45:38] DEBUG | - Total Followed: OK (1/48) +2024-11-30 13:45:38,466 - api.main - INFO - STDERR: [11/30 13:45:38] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:45:38,466 - api.main - INFO - STDERR: [11/30 13:45:38] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:45:38,466 - api.main - INFO - STDERR: [11/30 13:45:38] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:45:38,466 - api.main - INFO - STDERR: [11/30 13:45:38] DEBUG | - Total Interactions: OK (20/289) +2024-11-30 13:45:38,467 - api.main - INFO - STDERR: [11/30 13:45:38] DEBUG | - Total Successful Interactions: OK (2/125) +2024-11-30 13:45:38,468 - api.main - INFO - STDERR: [11/30 13:45:38] INFO | Session progress: 4 likes, 0 watched, 0 commented, 0 PM sent, 1 followed, 2 successful interaction(s) for mnaumanndesign. +2024-11-30 13:45:38,468 - api.main - INFO - STDERR: [11/30 13:45:38] INFO | Back to followers list +2024-11-30 13:45:38,469 - api.main - INFO - STDERR: [11/30 13:45:38] DEBUG | Press back button. +2024-11-30 13:45:38,560 - api.main - INFO - STDERR: [11/30 13:45:38] DEBUG | 0.63s sleep +2024-11-30 13:45:40,344 - api.main - INFO - STDERR: [11/30 13:45:40] INFO | @tomododesignandart: already interacted on 2024/11/29 04:29:43. Skip. +2024-11-30 13:45:41,382 - api.main - INFO - STDERR: [11/30 13:45:41] INFO | @jarzyna.artur: interact +2024-11-30 13:45:41,790 - api.main - INFO - STDERR: [11/30 13:45:41] DEBUG | Single click in (381,1720). Surface: (322-562,1675-1732) +2024-11-30 13:45:42,493 - api.main - INFO - STDERR: [11/30 13:45:42] DEBUG | 2.84s sleep +2024-11-30 13:45:45,350 - api.main - INFO - STDERR: [11/30 13:45:45] DEBUG | 3.36s sleep +2024-11-30 13:45:49,108 - api.main - INFO - STDERR: [11/30 13:45:49] DEBUG | Checking profile.. +2024-11-30 13:45:50,055 - api.main - INFO - STDERR: [11/30 13:45:50] DEBUG | Looking for mutual friends tab. +2024-11-30 13:45:56,153 - api.main - INFO - STDERR: [11/30 13:45:56] DEBUG | This account is public. +2024-11-30 13:45:56,153 - api.main - INFO - STDERR: [11/30 13:45:56] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:45:56,153 - api.main - INFO - STDERR: [11/30 13:45:56] INFO | @jarzyna.artur has less than 100 followers, skip. +2024-11-30 13:45:56,165 - api.main - INFO - STDERR: [11/30 13:45:56] DEBUG | Profile checked in 7.06s +2024-11-30 13:45:56,180 - api.main - INFO - STDERR: [11/30 13:45:56] DEBUG | Whole day mode. +2024-11-30 13:45:56,180 - api.main - INFO - STDERR: [11/30 13:45:56] DEBUG | - Total Likes: OK (4/141) +2024-11-30 13:45:56,180 - api.main - INFO - STDERR: [11/30 13:45:56] DEBUG | - Total Followed: OK (1/48) +2024-11-30 13:45:56,181 - api.main - INFO - STDERR: [11/30 13:45:56] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:45:56,181 - api.main - INFO - STDERR: [11/30 13:45:56] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:45:56,181 - api.main - INFO - STDERR: [11/30 13:45:56] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:45:56,182 - api.main - INFO - STDERR: [11/30 13:45:56] DEBUG | - Total Interactions: OK (21/289) +2024-11-30 13:45:56,182 - api.main - INFO - STDERR: [11/30 13:45:56] DEBUG | - Total Successful Interactions: OK (2/125) +2024-11-30 13:45:56,182 - api.main - INFO - STDERR: [11/30 13:45:56] INFO | Back to followers list +2024-11-30 13:45:56,182 - api.main - INFO - STDERR: [11/30 13:45:56] DEBUG | Press back button. +2024-11-30 13:45:56,271 - api.main - INFO - STDERR: [11/30 13:45:56] DEBUG | 2.92s sleep +2024-11-30 13:46:00,345 - api.main - INFO - STDERR: [11/30 13:46:00] INFO | @bl9ckst8r: interact +2024-11-30 13:46:00,808 - api.main - INFO - STDERR: [11/30 13:46:00] DEBUG | Single click in (370,1941). Surface: (322-500,1927-1984) +2024-11-30 13:46:01,524 - api.main - INFO - STDERR: [11/30 13:46:01] DEBUG | 2.61s sleep +2024-11-30 13:46:04,153 - api.main - INFO - STDERR: [11/30 13:46:04] DEBUG | 3.59s sleep +2024-11-30 13:46:08,148 - api.main - INFO - STDERR: [11/30 13:46:08] DEBUG | Checking profile.. +2024-11-30 13:46:09,396 - api.main - INFO - STDERR: [11/30 13:46:09] DEBUG | Looking for mutual friends tab. +2024-11-30 13:46:16,123 - api.main - INFO - STDERR: [11/30 13:46:16] DEBUG | This account is public. +2024-11-30 13:46:16,123 - api.main - INFO - STDERR: [11/30 13:46:16] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:46:16,123 - api.main - INFO - STDERR: [11/30 13:46:16] INFO | @bl9ckst8r's potency ratio is not between 0.1 and 1.5, skip. +2024-11-30 13:46:16,136 - api.main - INFO - STDERR: [11/30 13:46:16] DEBUG | Profile checked in 7.99s +2024-11-30 13:46:16,148 - api.main - INFO - STDERR: [11/30 13:46:16] DEBUG | Whole day mode. +2024-11-30 13:46:16,149 - api.main - INFO - STDERR: [11/30 13:46:16] DEBUG | - Total Likes: OK (4/141) +2024-11-30 13:46:16,149 - api.main - INFO - STDERR: [11/30 13:46:16] DEBUG | - Total Followed: OK (1/48) +2024-11-30 13:46:16,149 - api.main - INFO - STDERR: [11/30 13:46:16] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:46:16,149 - api.main - INFO - STDERR: [11/30 13:46:16] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:46:16,150 - api.main - INFO - STDERR: [11/30 13:46:16] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:46:16,150 - api.main - INFO - STDERR: [11/30 13:46:16] DEBUG | - Total Interactions: OK (22/289) +2024-11-30 13:46:16,151 - api.main - INFO - STDERR: [11/30 13:46:16] DEBUG | - Total Successful Interactions: OK (2/125) +2024-11-30 13:46:16,151 - api.main - INFO - STDERR: [11/30 13:46:16] INFO | Back to followers list +2024-11-30 13:46:16,151 - api.main - INFO - STDERR: [11/30 13:46:16] DEBUG | Press back button. +2024-11-30 13:46:16,267 - api.main - INFO - STDERR: [11/30 13:46:16] DEBUG | 1.23s sleep +2024-11-30 13:46:18,640 - api.main - INFO - STDERR: [11/30 13:46:18] INFO | @myace.jpg: interact +2024-11-30 13:46:19,050 - api.main - INFO - STDERR: [11/30 13:46:19] DEBUG | Single click in (409,2214). Surface: (322-518,2179-2236) +2024-11-30 13:46:19,728 - api.main - INFO - STDERR: [11/30 13:46:19] DEBUG | 2.39s sleep +2024-11-30 13:46:22,133 - api.main - INFO - STDERR: [11/30 13:46:22] DEBUG | 2.38s sleep +2024-11-30 13:46:24,862 - api.main - INFO - STDERR: [11/30 13:46:24] DEBUG | Checking profile.. +2024-11-30 13:46:26,078 - api.main - INFO - STDERR: [11/30 13:46:26] DEBUG | Looking for mutual friends tab. +2024-11-30 13:46:32,605 - api.main - INFO - STDERR: [11/30 13:46:32] DEBUG | This account is public. +2024-11-30 13:46:32,605 - api.main - INFO - STDERR: [11/30 13:46:32] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:46:32,978 - api.main - INFO - STDERR: [11/30 13:46:32] DEBUG | Profile checked in 8.11s +2024-11-30 13:46:32,978 - api.main - INFO - STDERR: [11/30 13:46:32] INFO | - Total Watched: OK (0/121) +2024-11-30 13:46:34,122 - api.main - INFO - STDERR: [11/30 13:46:34] INFO | - Total Likes: OK (4/141) +2024-11-30 13:46:35,632 - api.main - INFO - STDERR: [11/30 13:46:35] INFO | Scrolled down to see more posts. +2024-11-30 13:46:35,632 - api.main - INFO - STDERR: [11/30 13:46:35] DEBUG | Swipe from: (806,1031) to (775,299). +2024-11-30 13:46:36,985 - api.main - INFO - STDERR: [11/30 13:46:36] DEBUG | 0.40s sleep +2024-11-30 13:46:37,400 - api.main - INFO - STDERR: [11/30 13:46:37] INFO | Likes count: 1 +2024-11-30 13:46:39,129 - api.main - INFO - STDERR: [11/30 13:46:39] DEBUG | This is a temporary fix, for avoid bot to crash we have removed the last picture form the list. +2024-11-30 13:46:39,130 - api.main - INFO - STDERR: [11/30 13:46:39] INFO | There are 10 posts fully visible. Calculated in 1.72s +2024-11-30 13:46:39,130 - api.main - INFO - STDERR: [11/30 13:46:39] INFO | Open post #1 (4 row, 1 column). +2024-11-30 13:46:40,432 - api.main - INFO - STDERR: [11/30 13:46:40] INFO | It's a carousel with 2 photo(s) and 0 video(s). +2024-11-30 13:46:40,873 - api.main - INFO - STDERR: [11/30 13:46:40] DEBUG | Single click in (165,2109). Surface: (0-476,1926-2402) +2024-11-30 13:46:41,565 - api.main - INFO - STDERR: [11/30 13:46:41] DEBUG | 1.32s sleep +2024-11-30 13:46:44,989 - api.main - INFO - STDERR: [11/30 13:46:44] INFO | Watching photos/videos in carousel. +2024-11-30 13:46:44,989 - api.main - INFO - STDERR: [11/30 13:46:44] INFO | There are only 2 media(s) in this carousel! +2024-11-30 13:46:45,710 - api.main - INFO - STDERR: [11/30 13:46:45] INFO | Watching video for 33.23s. +2024-11-30 13:47:19,078 - api.main - INFO - STDERR: [11/30 13:47:19] DEBUG | Swipe from: (1125,1406) to (278,1421). +2024-11-30 13:47:20,195 - api.main - INFO - STDERR: [11/30 13:47:20] DEBUG | 0.3s sleep +2024-11-30 13:47:21,230 - api.main - INFO - STDERR: [11/30 13:47:21] INFO | Watching photo for 3.82s. +2024-11-30 13:47:25,580 - api.main - INFO - STDERR: [11/30 13:47:25] INFO | Liking post. +2024-11-30 13:47:25,711 - api.main - INFO - STDERR: [11/30 13:47:25] DEBUG | Double click in (946,1137) with t=70ms. Surface: (0-1440,476-2276). +2024-11-30 13:47:26,070 - api.main - INFO - STDERR: [11/30 13:47:26] DEBUG | 0.98s sleep +2024-11-30 13:47:28,729 - api.main - INFO - STDERR: [11/30 13:47:28] DEBUG | Checking for block... +2024-11-30 13:47:31,327 - api.main - INFO - STDERR: [11/30 13:47:31] DEBUG | Like succeed. +2024-11-30 13:47:31,327 - api.main - INFO - STDERR: [11/30 13:47:31] INFO | Back to profile. +2024-11-30 13:47:31,854 - api.main - INFO - STDERR: [11/30 13:47:31] DEBUG | Press back button. +2024-11-30 13:47:32,086 - api.main - INFO - STDERR: [11/30 13:47:32] DEBUG | 1.37s sleep +2024-11-30 13:47:33,473 - api.main - INFO - STDERR: [11/30 13:47:33] DEBUG | - Total Followed: OK (1/48) +2024-11-30 13:47:33,486 - api.main - INFO - STDERR: [11/30 13:47:33] DEBUG | Whole day mode. +2024-11-30 13:47:33,486 - api.main - INFO - STDERR: [11/30 13:47:33] DEBUG | - Total Likes: OK (5/141) +2024-11-30 13:47:33,486 - api.main - INFO - STDERR: [11/30 13:47:33] DEBUG | - Total Followed: OK (1/48) +2024-11-30 13:47:33,486 - api.main - INFO - STDERR: [11/30 13:47:33] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:47:33,487 - api.main - INFO - STDERR: [11/30 13:47:33] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:47:33,487 - api.main - INFO - STDERR: [11/30 13:47:33] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:47:33,487 - api.main - INFO - STDERR: [11/30 13:47:33] DEBUG | - Total Interactions: OK (23/289) +2024-11-30 13:47:33,488 - api.main - INFO - STDERR: [11/30 13:47:33] DEBUG | - Total Successful Interactions: OK (3/125) +2024-11-30 13:47:33,488 - api.main - INFO - STDERR: [11/30 13:47:33] INFO | Session progress: 5 likes, 0 watched, 0 commented, 0 PM sent, 1 followed, 3 successful interaction(s) for mnaumanndesign. +2024-11-30 13:47:33,489 - api.main - INFO - STDERR: [11/30 13:47:33] INFO | Back to followers list +2024-11-30 13:47:33,489 - api.main - INFO - STDERR: [11/30 13:47:33] DEBUG | Press back button. +2024-11-30 13:47:33,688 - api.main - INFO - STDERR: [11/30 13:47:33] DEBUG | 1.60s sleep +2024-11-30 13:47:36,648 - api.main - INFO - STDERR: [11/30 13:47:36] INFO | @jarzyna.artur: already interacted on 2024/11/30 13:45:56. Skip. +2024-11-30 13:47:38,181 - api.main - INFO - STDERR: [11/30 13:47:38] INFO | Need to scroll now +2024-11-30 13:47:39,414 - api.main - INFO - STDERR: [11/30 13:47:39] INFO | Iterate over visible followers. +2024-11-30 13:47:44,022 - api.main - INFO - STDERR: [11/30 13:47:44] DEBUG | There are 7 users fully visible in that view. +2024-11-30 13:47:45,679 - api.main - INFO - STDERR: [11/30 13:47:45] INFO | @bl9ckst8r: already interacted on 2024/11/30 13:46:16. Skip. +2024-11-30 13:47:46,686 - api.main - INFO - STDERR: [11/30 13:47:46] INFO | @myace.jpg: already interacted on 2024/11/30 13:47:33. Skip. +2024-11-30 13:47:47,792 - api.main - INFO - STDERR: [11/30 13:47:47] INFO | @xcxdan: interact +2024-11-30 13:47:48,186 - api.main - INFO - STDERR: [11/30 13:47:48] DEBUG | Single click in (349,1268). Surface: (322-456,1255-1312) +2024-11-30 13:47:48,903 - api.main - INFO - STDERR: [11/30 13:47:48] DEBUG | 2.06s sleep +2024-11-30 13:47:50,979 - api.main - INFO - STDERR: [11/30 13:47:50] DEBUG | 3.84s sleep +2024-11-30 13:47:55,148 - api.main - INFO - STDERR: [11/30 13:47:55] DEBUG | Checking profile.. +2024-11-30 13:47:56,367 - api.main - INFO - STDERR: [11/30 13:47:56] DEBUG | Looking for mutual friends tab. +2024-11-30 13:48:02,144 - api.main - INFO - STDERR: [11/30 13:48:02] DEBUG | This account is public. +2024-11-30 13:48:02,144 - api.main - INFO - STDERR: [11/30 13:48:02] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:48:02,145 - api.main - INFO - STDERR: [11/30 13:48:02] INFO | @xcxdan doesn't have enough posts (2), skip. +2024-11-30 13:48:02,157 - api.main - INFO - STDERR: [11/30 13:48:02] DEBUG | Profile checked in 7.01s +2024-11-30 13:48:02,169 - api.main - INFO - STDERR: [11/30 13:48:02] DEBUG | Whole day mode. +2024-11-30 13:48:02,170 - api.main - INFO - STDERR: [11/30 13:48:02] DEBUG | - Total Likes: OK (5/141) +2024-11-30 13:48:02,170 - api.main - INFO - STDERR: [11/30 13:48:02] DEBUG | - Total Followed: OK (1/48) +2024-11-30 13:48:02,170 - api.main - INFO - STDERR: [11/30 13:48:02] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:48:02,170 - api.main - INFO - STDERR: [11/30 13:48:02] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:48:02,171 - api.main - INFO - STDERR: [11/30 13:48:02] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:48:02,171 - api.main - INFO - STDERR: [11/30 13:48:02] DEBUG | - Total Interactions: OK (24/289) +2024-11-30 13:48:02,171 - api.main - INFO - STDERR: [11/30 13:48:02] DEBUG | - Total Successful Interactions: OK (3/125) +2024-11-30 13:48:02,172 - api.main - INFO - STDERR: [11/30 13:48:02] INFO | Back to followers list +2024-11-30 13:48:02,172 - api.main - INFO - STDERR: [11/30 13:48:02] DEBUG | Press back button. +2024-11-30 13:48:02,266 - api.main - INFO - STDERR: [11/30 13:48:02] DEBUG | 0.66s sleep +2024-11-30 13:48:04,061 - api.main - INFO - STDERR: [11/30 13:48:04] INFO | @chiefphilosophernight: interact +2024-11-30 13:48:04,400 - api.main - INFO - STDERR: [11/30 13:48:04] DEBUG | Single click in (460,1536). Surface: (322-735,1507-1564) +2024-11-30 13:48:05,156 - api.main - INFO - STDERR: [11/30 13:48:05] DEBUG | 1.52s sleep +2024-11-30 13:48:06,685 - api.main - INFO - STDERR: [11/30 13:48:06] DEBUG | 3.17s sleep +2024-11-30 13:48:10,221 - api.main - INFO - STDERR: [11/30 13:48:10] DEBUG | Checking profile.. +2024-11-30 13:48:11,498 - api.main - INFO - STDERR: [11/30 13:48:11] DEBUG | Looking for mutual friends tab. +2024-11-30 13:48:18,298 - api.main - INFO - STDERR: [11/30 13:48:18] DEBUG | This account is public. +2024-11-30 13:48:18,298 - api.main - INFO - STDERR: [11/30 13:48:18] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:48:18,298 - api.main - INFO - STDERR: [11/30 13:48:18] INFO | @chiefphilosophernight has less than 100 followers, skip. +2024-11-30 13:48:18,311 - api.main - INFO - STDERR: [11/30 13:48:18] DEBUG | Profile checked in 8.09s +2024-11-30 13:48:18,323 - api.main - INFO - STDERR: [11/30 13:48:18] DEBUG | Whole day mode. +2024-11-30 13:48:18,324 - api.main - INFO - STDERR: [11/30 13:48:18] DEBUG | - Total Likes: OK (5/141) +2024-11-30 13:48:18,324 - api.main - INFO - STDERR: [11/30 13:48:18] DEBUG | - Total Followed: OK (1/48) +2024-11-30 13:48:18,324 - api.main - INFO - STDERR: [11/30 13:48:18] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:48:18,324 - api.main - INFO - STDERR: [11/30 13:48:18] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:48:18,324 - api.main - INFO - STDERR: [11/30 13:48:18] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:48:18,325 - api.main - INFO - STDERR: [11/30 13:48:18] DEBUG | - Total Interactions: OK (25/289) +2024-11-30 13:48:18,325 - api.main - INFO - STDERR: [11/30 13:48:18] DEBUG | - Total Successful Interactions: OK (3/125) +2024-11-30 13:48:18,325 - api.main - INFO - STDERR: [11/30 13:48:18] INFO | Back to followers list +2024-11-30 13:48:18,326 - api.main - INFO - STDERR: [11/30 13:48:18] DEBUG | Press back button. +2024-11-30 13:48:18,389 - api.main - INFO - STDERR: [11/30 13:48:18] DEBUG | 1.87s sleep +2024-11-30 13:48:21,534 - api.main - INFO - STDERR: [11/30 13:48:21] INFO | @oleksandrzymnytskyi: interact +2024-11-30 13:48:21,913 - api.main - INFO - STDERR: [11/30 13:48:21] DEBUG | Single click in (562,1789). Surface: (322-719,1759-1816) +2024-11-30 13:48:22,660 - api.main - INFO - STDERR: [11/30 13:48:22] DEBUG | 2.87s sleep +2024-11-30 13:48:25,551 - api.main - INFO - STDERR: [11/30 13:48:25] DEBUG | 2.49s sleep +2024-11-30 13:48:28,423 - api.main - INFO - STDERR: [11/30 13:48:28] DEBUG | Checking profile.. +2024-11-30 13:48:29,472 - api.main - INFO - STDERR: [11/30 13:48:29] DEBUG | Looking for mutual friends tab. +2024-11-30 13:48:35,783 - api.main - INFO - STDERR: [11/30 13:48:35] DEBUG | This account is public. +2024-11-30 13:48:35,783 - api.main - INFO - STDERR: [11/30 13:48:35] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:48:35,783 - api.main - INFO - STDERR: [11/30 13:48:35] INFO | @oleksandrzymnytskyi's potency ratio is not between 0.1 and 1.5, skip. +2024-11-30 13:48:35,796 - api.main - INFO - STDERR: [11/30 13:48:35] DEBUG | Profile checked in 7.37s +2024-11-30 13:48:35,808 - api.main - INFO - STDERR: [11/30 13:48:35] DEBUG | Whole day mode. +2024-11-30 13:48:35,808 - api.main - INFO - STDERR: [11/30 13:48:35] DEBUG | - Total Likes: OK (5/141) +2024-11-30 13:48:35,808 - api.main - INFO - STDERR: [11/30 13:48:35] DEBUG | - Total Followed: OK (1/48) +2024-11-30 13:48:35,809 - api.main - INFO - STDERR: [11/30 13:48:35] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:48:35,809 - api.main - INFO - STDERR: [11/30 13:48:35] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:48:35,809 - api.main - INFO - STDERR: [11/30 13:48:35] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:48:35,809 - api.main - INFO - STDERR: [11/30 13:48:35] DEBUG | - Total Interactions: OK (26/289) +2024-11-30 13:48:35,810 - api.main - INFO - STDERR: [11/30 13:48:35] DEBUG | - Total Successful Interactions: OK (3/125) +2024-11-30 13:48:35,810 - api.main - INFO - STDERR: [11/30 13:48:35] INFO | Back to followers list +2024-11-30 13:48:35,810 - api.main - INFO - STDERR: [11/30 13:48:35] DEBUG | Press back button. +2024-11-30 13:48:35,875 - api.main - INFO - STDERR: [11/30 13:48:35] DEBUG | 0.61s sleep +2024-11-30 13:48:37,688 - api.main - INFO - STDERR: [11/30 13:48:37] INFO | @melicorbeat: interact +2024-11-30 13:48:38,062 - api.main - INFO - STDERR: [11/30 13:48:38] DEBUG | Single click in (377,2041). Surface: (322-549,2011-2068) +2024-11-30 13:48:38,756 - api.main - INFO - STDERR: [11/30 13:48:38] DEBUG | 0.66s sleep +2024-11-30 13:48:39,435 - api.main - INFO - STDERR: [11/30 13:48:39] DEBUG | 3.38s sleep +2024-11-30 13:48:43,136 - api.main - INFO - STDERR: [11/30 13:48:43] DEBUG | Checking profile.. +2024-11-30 13:48:44,242 - api.main - INFO - STDERR: [11/30 13:48:44] DEBUG | Looking for mutual friends tab. +2024-11-30 13:48:50,571 - api.main - INFO - STDERR: [11/30 13:48:50] DEBUG | This account is private. +2024-11-30 13:48:50,571 - api.main - INFO - STDERR: [11/30 13:48:50] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:48:50,571 - api.main - INFO - STDERR: [11/30 13:48:50] INFO | @melicorbeat doesn't have enough posts (2), skip. +2024-11-30 13:48:50,584 - api.main - INFO - STDERR: [11/30 13:48:50] DEBUG | Profile checked in 7.45s +2024-11-30 13:48:50,597 - api.main - INFO - STDERR: [11/30 13:48:50] DEBUG | Whole day mode. +2024-11-30 13:48:50,597 - api.main - INFO - STDERR: [11/30 13:48:50] DEBUG | - Total Likes: OK (5/141) +2024-11-30 13:48:50,597 - api.main - INFO - STDERR: [11/30 13:48:50] DEBUG | - Total Followed: OK (1/48) +2024-11-30 13:48:50,597 - api.main - INFO - STDERR: [11/30 13:48:50] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:48:50,598 - api.main - INFO - STDERR: [11/30 13:48:50] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:48:50,598 - api.main - INFO - STDERR: [11/30 13:48:50] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:48:50,598 - api.main - INFO - STDERR: [11/30 13:48:50] DEBUG | - Total Interactions: OK (27/289) +2024-11-30 13:48:50,598 - api.main - INFO - STDERR: [11/30 13:48:50] DEBUG | - Total Successful Interactions: OK (3/125) +2024-11-30 13:48:50,598 - api.main - INFO - STDERR: [11/30 13:48:50] INFO | Back to followers list +2024-11-30 13:48:50,599 - api.main - INFO - STDERR: [11/30 13:48:50] DEBUG | Press back button. +2024-11-30 13:48:50,701 - api.main - INFO - STDERR: [11/30 13:48:50] DEBUG | 2.82s sleep +2024-11-30 13:48:54,806 - api.main - INFO - STDERR: [11/30 13:48:54] INFO | @tomomicreates: interact +2024-11-30 13:48:55,173 - api.main - INFO - STDERR: [11/30 13:48:55] DEBUG | Single click in (469,2277). Surface: (322-610,2263-2320) +2024-11-30 13:48:55,866 - api.main - INFO - STDERR: [11/30 13:48:55] DEBUG | 1.17s sleep +2024-11-30 13:48:57,043 - api.main - INFO - STDERR: [11/30 13:48:57] DEBUG | 2.90s sleep +2024-11-30 13:49:00,311 - api.main - INFO - STDERR: [11/30 13:49:00] DEBUG | Checking profile.. +2024-11-30 13:49:01,582 - api.main - INFO - STDERR: [11/30 13:49:01] DEBUG | Looking for mutual friends tab. +2024-11-30 13:49:08,237 - api.main - INFO - STDERR: [11/30 13:49:08] DEBUG | This account is public. +2024-11-30 13:49:08,237 - api.main - INFO - STDERR: [11/30 13:49:08] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:49:08,238 - api.main - INFO - STDERR: [11/30 13:49:08] INFO | @tomomicreates has less than 100 followers, skip. +2024-11-30 13:49:08,250 - api.main - INFO - STDERR: [11/30 13:49:08] DEBUG | Profile checked in 7.94s +2024-11-30 13:49:08,262 - api.main - INFO - STDERR: [11/30 13:49:08] DEBUG | Whole day mode. +2024-11-30 13:49:08,263 - api.main - INFO - STDERR: [11/30 13:49:08] DEBUG | - Total Likes: OK (5/141) +2024-11-30 13:49:08,263 - api.main - INFO - STDERR: [11/30 13:49:08] DEBUG | - Total Followed: OK (1/48) +2024-11-30 13:49:08,263 - api.main - INFO - STDERR: [11/30 13:49:08] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:49:08,264 - api.main - INFO - STDERR: [11/30 13:49:08] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:49:08,264 - api.main - INFO - STDERR: [11/30 13:49:08] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:49:08,264 - api.main - INFO - STDERR: [11/30 13:49:08] DEBUG | - Total Interactions: OK (28/289) +2024-11-30 13:49:08,265 - api.main - INFO - STDERR: [11/30 13:49:08] DEBUG | - Total Successful Interactions: OK (3/125) +2024-11-30 13:49:08,265 - api.main - INFO - STDERR: [11/30 13:49:08] INFO | Back to followers list +2024-11-30 13:49:08,265 - api.main - INFO - STDERR: [11/30 13:49:08] DEBUG | Press back button. +2024-11-30 13:49:08,383 - api.main - INFO - STDERR: [11/30 13:49:08] DEBUG | 2.14s sleep +2024-11-30 13:49:12,434 - api.main - INFO - STDERR: [11/30 13:49:12] INFO | Need to scroll now +2024-11-30 13:49:13,679 - api.main - INFO - STDERR: [11/30 13:49:13] INFO | Iterate over visible followers. +2024-11-30 13:49:19,209 - api.main - INFO - STDERR: [11/30 13:49:19] DEBUG | There are 8 users fully visible in that view. +2024-11-30 13:49:20,790 - api.main - INFO - STDERR: [11/30 13:49:20] INFO | @kado_zurek: interact +2024-11-30 13:49:21,157 - api.main - INFO - STDERR: [11/30 13:49:21] DEBUG | Single click in (427,570). Surface: (322-538,554-611) +2024-11-30 13:49:21,848 - api.main - INFO - STDERR: [11/30 13:49:21] DEBUG | 0.64s sleep +2024-11-30 13:49:22,504 - api.main - INFO - STDERR: [11/30 13:49:22] DEBUG | 3.20s sleep +2024-11-30 13:49:26,156 - api.main - INFO - STDERR: [11/30 13:49:26] DEBUG | Checking profile.. +2024-11-30 13:49:27,416 - api.main - INFO - STDERR: [11/30 13:49:27] DEBUG | Looking for mutual friends tab. +2024-11-30 13:49:34,355 - api.main - INFO - STDERR: [11/30 13:49:34] DEBUG | This account is public. +2024-11-30 13:49:34,355 - api.main - INFO - STDERR: [11/30 13:49:34] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:49:34,724 - api.main - INFO - STDERR: [11/30 13:49:34] DEBUG | Profile checked in 8.57s +2024-11-30 13:49:34,724 - api.main - INFO - STDERR: [11/30 13:49:34] INFO | - Total Watched: OK (0/121) +2024-11-30 13:49:35,992 - api.main - INFO - STDERR: [11/30 13:49:35] INFO | - Total Likes: OK (5/141) +2024-11-30 13:49:37,582 - api.main - INFO - STDERR: [11/30 13:49:37] INFO | Scrolled down to see more posts. +2024-11-30 13:49:37,582 - api.main - INFO - STDERR: [11/30 13:49:37] DEBUG | Swipe from: (816,1487) to (649,298). +2024-11-30 13:49:39,200 - api.main - INFO - STDERR: [11/30 13:49:39] DEBUG | 0.3s sleep +2024-11-30 13:49:39,506 - api.main - INFO - STDERR: [11/30 13:49:39] INFO | Likes count: 1 +2024-11-30 13:49:40,913 - api.main - INFO - STDERR: [11/30 13:49:40] INFO | There are 12 posts fully visible. Calculated in 1.41s +2024-11-30 13:49:40,913 - api.main - INFO - STDERR: [11/30 13:49:40] INFO | Open post #1 (1 row, 1 column). +2024-11-30 13:49:42,304 - api.main - INFO - STDERR: [11/30 13:49:42] INFO | It's a carousel with 20 photo(s) and 0 video(s). +2024-11-30 13:49:42,676 - api.main - INFO - STDERR: [11/30 13:49:42] DEBUG | Single click in (91,563). Surface: (0-476,475-951) +2024-11-30 13:49:43,429 - api.main - INFO - STDERR: [11/30 13:49:43] DEBUG | 0.78s sleep +2024-11-30 13:49:46,209 - api.main - INFO - STDERR: [11/30 13:49:46] INFO | Watching photo for 3.25s. +2024-11-30 13:49:50,077 - api.main - INFO - STDERR: [11/30 13:49:50] INFO | Liking post. +2024-11-30 13:49:50,224 - api.main - INFO - STDERR: [11/30 13:49:50] DEBUG | Double click in (565,1074) with t=128ms. Surface: (0-1440,476-1628). +2024-11-30 13:49:50,704 - api.main - INFO - STDERR: [11/30 13:49:50] DEBUG | 2.34s sleep +2024-11-30 13:49:54,692 - api.main - INFO - STDERR: [11/30 13:49:54] DEBUG | Checking for block... +2024-11-30 13:49:57,187 - api.main - INFO - STDERR: [11/30 13:49:57] DEBUG | Like succeed. +2024-11-30 13:49:57,187 - api.main - INFO - STDERR: [11/30 13:49:57] INFO | Back to profile. +2024-11-30 13:49:57,687 - api.main - INFO - STDERR: [11/30 13:49:57] DEBUG | Press back button. +2024-11-30 13:49:57,905 - api.main - INFO - STDERR: [11/30 13:49:57] DEBUG | 1.54s sleep +2024-11-30 13:49:59,461 - api.main - INFO - STDERR: [11/30 13:49:59] DEBUG | - Total Followed: OK (1/48) +2024-11-30 13:49:59,479 - api.main - INFO - STDERR: [11/30 13:49:59] DEBUG | Whole day mode. +2024-11-30 13:49:59,480 - api.main - INFO - STDERR: [11/30 13:49:59] DEBUG | - Total Likes: OK (6/141) +2024-11-30 13:49:59,480 - api.main - INFO - STDERR: [11/30 13:49:59] DEBUG | - Total Followed: OK (1/48) +2024-11-30 13:49:59,480 - api.main - INFO - STDERR: [11/30 13:49:59] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:49:59,481 - api.main - INFO - STDERR: [11/30 13:49:59] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:49:59,481 - api.main - INFO - STDERR: [11/30 13:49:59] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:49:59,481 - api.main - INFO - STDERR: [11/30 13:49:59] DEBUG | - Total Interactions: OK (29/289) +2024-11-30 13:49:59,481 - api.main - INFO - STDERR: [11/30 13:49:59] DEBUG | - Total Successful Interactions: OK (4/125) +2024-11-30 13:49:59,482 - api.main - INFO - STDERR: [11/30 13:49:59] INFO | Session progress: 6 likes, 0 watched, 0 commented, 0 PM sent, 1 followed, 4 successful interaction(s) for mnaumanndesign. +2024-11-30 13:49:59,482 - api.main - INFO - STDERR: [11/30 13:49:59] INFO | Back to followers list +2024-11-30 13:49:59,482 - api.main - INFO - STDERR: [11/30 13:49:59] DEBUG | Press back button. +2024-11-30 13:49:59,585 - api.main - INFO - STDERR: [11/30 13:49:59] DEBUG | 1.70s sleep +2024-11-30 13:50:02,469 - api.main - INFO - STDERR: [11/30 13:50:02] INFO | @vjolhonegro: interact +2024-11-30 13:50:02,863 - api.main - INFO - STDERR: [11/30 13:50:02] DEBUG | Single click in (510,852). Surface: (322-545,806-863) +2024-11-30 13:50:03,581 - api.main - INFO - STDERR: [11/30 13:50:03] DEBUG | 2.61s sleep +2024-11-30 13:50:06,206 - api.main - INFO - STDERR: [11/30 13:50:06] DEBUG | 2.50s sleep +2024-11-30 13:50:09,049 - api.main - INFO - STDERR: [11/30 13:50:09] DEBUG | Checking profile.. +2024-11-30 13:50:10,178 - api.main - INFO - STDERR: [11/30 13:50:10] DEBUG | Looking for mutual friends tab. +2024-11-30 13:50:13,647 - api.main - INFO - STDERR: [11/30 13:50:13] DEBUG | Found "… more" in bio - trying to expand +2024-11-30 13:50:14,470 - api.main - INFO - STDERR: [11/30 13:50:14] DEBUG | Single click in (1195,922). Surface: (56-1384,736-962) +2024-11-30 13:50:14,925 - api.main - INFO - STDERR: [11/30 13:50:14] DEBUG | 1.59s sleep +2024-11-30 13:50:20,571 - api.main - INFO - STDERR: [11/30 13:50:20] DEBUG | This account is public. +2024-11-30 13:50:20,571 - api.main - INFO - STDERR: [11/30 13:50:20] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:50:20,960 - api.main - INFO - STDERR: [11/30 13:50:20] DEBUG | Profile checked in 11.91s +2024-11-30 13:50:20,960 - api.main - INFO - STDERR: [11/30 13:50:20] INFO | - Total Likes: OK (6/141) +2024-11-30 13:50:22,384 - api.main - INFO - STDERR: [11/30 13:50:22] INFO | Scrolled down to see more posts. +2024-11-30 13:50:22,384 - api.main - INFO - STDERR: [11/30 13:50:22] DEBUG | Swipe from: (793,1599) to (727,298). +2024-11-30 13:50:23,366 - api.main - INFO - STDERR: [11/30 13:50:23] DEBUG | 0.3s sleep +2024-11-30 13:50:23,677 - api.main - INFO - STDERR: [11/30 13:50:23] INFO | Likes count: 1 +2024-11-30 13:50:24,979 - api.main - INFO - STDERR: [11/30 13:50:24] INFO | There are 12 posts fully visible. Calculated in 1.30s +2024-11-30 13:50:24,979 - api.main - INFO - STDERR: [11/30 13:50:24] INFO | Open post #1 (4 row, 1 column). +2024-11-30 13:50:26,180 - api.main - INFO - STDERR: [11/30 13:50:26] INFO | It's a photo. +2024-11-30 13:50:26,558 - api.main - INFO - STDERR: [11/30 13:50:26] DEBUG | Single click in (154,2059). Surface: (0-476,1914-2390) +2024-11-30 13:50:27,308 - api.main - INFO - STDERR: [11/30 13:50:27] DEBUG | 1.65s sleep +2024-11-30 13:50:31,425 - api.main - INFO - STDERR: [11/30 13:50:31] INFO | Watching photo for 3.64s. +2024-11-30 13:50:35,693 - api.main - INFO - STDERR: [11/30 13:50:35] INFO | Liking post. +2024-11-30 13:50:35,860 - api.main - INFO - STDERR: [11/30 13:50:35] DEBUG | Double click in (583,1430) with t=104ms. Surface: (0-1440,476-1916). +2024-11-30 13:50:36,328 - api.main - INFO - STDERR: [11/30 13:50:36] DEBUG | 1.78s sleep +2024-11-30 13:50:40,082 - api.main - INFO - STDERR: [11/30 13:50:40] DEBUG | Checking for block... +2024-11-30 13:50:42,859 - api.main - INFO - STDERR: [11/30 13:50:42] DEBUG | Like succeed. +2024-11-30 13:50:42,859 - api.main - INFO - STDERR: [11/30 13:50:42] INFO | Back to profile. +2024-11-30 13:50:43,342 - api.main - INFO - STDERR: [11/30 13:50:43] DEBUG | Press back button. +2024-11-30 13:50:43,554 - api.main - INFO - STDERR: [11/30 13:50:43] DEBUG | 1.44s sleep +2024-11-30 13:50:45,003 - api.main - INFO - STDERR: [11/30 13:50:45] DEBUG | - Total Followed: OK (1/48) +2024-11-30 13:50:45,810 - api.main - INFO - STDERR: [11/30 13:50:45] DEBUG | Swipe from: (737,1412) to (823,2719). +2024-11-30 13:50:47,146 - api.main - INFO - STDERR: [11/30 13:50:47] DEBUG | 0.93s sleep +2024-11-30 13:50:50,204 - api.main - INFO - STDERR: [11/30 13:50:50] DEBUG | Single click in (242,1141). Surface: (43-435,1060-1172) +2024-11-30 13:50:50,660 - api.main - INFO - STDERR: [11/30 13:50:50] DEBUG | 2.64s sleep +2024-11-30 13:50:53,945 - api.main - INFO - STDERR: [11/30 13:50:53] INFO | Followed @vjolhonegro +2024-11-30 13:50:53,945 - api.main - INFO - STDERR: [11/30 13:50:53] DEBUG | Checking for block... +2024-11-30 13:50:56,879 - api.main - INFO - STDERR: [11/30 13:50:56] DEBUG | Whole day mode. +2024-11-30 13:50:56,879 - api.main - INFO - STDERR: [11/30 13:50:56] DEBUG | - Total Likes: OK (7/141) +2024-11-30 13:50:56,879 - api.main - INFO - STDERR: [11/30 13:50:56] DEBUG | - Total Followed: OK (2/48) +2024-11-30 13:50:56,880 - api.main - INFO - STDERR: [11/30 13:50:56] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:50:56,880 - api.main - INFO - STDERR: [11/30 13:50:56] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:50:56,880 - api.main - INFO - STDERR: [11/30 13:50:56] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:50:56,881 - api.main - INFO - STDERR: [11/30 13:50:56] DEBUG | - Total Interactions: OK (30/289) +2024-11-30 13:50:56,881 - api.main - INFO - STDERR: [11/30 13:50:56] DEBUG | - Total Successful Interactions: OK (5/125) +2024-11-30 13:50:56,881 - api.main - INFO - STDERR: [11/30 13:50:56] INFO | Session progress: 7 likes, 0 watched, 0 commented, 0 PM sent, 2 followed, 5 successful interaction(s) for mnaumanndesign. +2024-11-30 13:50:56,882 - api.main - INFO - STDERR: [11/30 13:50:56] INFO | Back to followers list +2024-11-30 13:50:56,882 - api.main - INFO - STDERR: [11/30 13:50:56] DEBUG | Press back button. +2024-11-30 13:50:57,000 - api.main - INFO - STDERR: [11/30 13:50:57] DEBUG | 1.69s sleep +2024-11-30 13:50:59,859 - api.main - INFO - STDERR: [11/30 13:50:59] INFO | @sophia_leyva: interact +2024-11-30 13:51:00,271 - api.main - INFO - STDERR: [11/30 13:51:00] DEBUG | Single click in (384,1067). Surface: (322-566,1058-1115) +2024-11-30 13:51:01,008 - api.main - INFO - STDERR: [11/30 13:51:01] DEBUG | 2.62s sleep +2024-11-30 13:51:03,644 - api.main - INFO - STDERR: [11/30 13:51:03] DEBUG | 2.68s sleep +2024-11-30 13:51:06,630 - api.main - INFO - STDERR: [11/30 13:51:06] DEBUG | Checking profile.. +2024-11-30 13:51:07,833 - api.main - INFO - STDERR: [11/30 13:51:07] DEBUG | Looking for mutual friends tab. +2024-11-30 13:51:14,116 - api.main - INFO - STDERR: [11/30 13:51:14] DEBUG | This account is private. +2024-11-30 13:51:14,116 - api.main - INFO - STDERR: [11/30 13:51:14] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:51:14,485 - api.main - INFO - STDERR: [11/30 13:51:14] DEBUG | Profile checked in 7.85s +2024-11-30 13:51:14,485 - api.main - INFO - STDERR: [11/30 13:51:14] INFO | Private account. +2024-11-30 13:51:14,485 - api.main - INFO - STDERR: [11/30 13:51:14] INFO | follow_private_or_empty is disabled in filters. Skip. +2024-11-30 13:51:14,504 - api.main - INFO - STDERR: [11/30 13:51:14] DEBUG | Whole day mode. +2024-11-30 13:51:14,504 - api.main - INFO - STDERR: [11/30 13:51:14] DEBUG | - Total Likes: OK (7/141) +2024-11-30 13:51:14,504 - api.main - INFO - STDERR: [11/30 13:51:14] DEBUG | - Total Followed: OK (2/48) +2024-11-30 13:51:14,504 - api.main - INFO - STDERR: [11/30 13:51:14] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:51:14,505 - api.main - INFO - STDERR: [11/30 13:51:14] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:51:14,505 - api.main - INFO - STDERR: [11/30 13:51:14] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:51:14,506 - api.main - INFO - STDERR: [11/30 13:51:14] DEBUG | - Total Interactions: OK (31/289) +2024-11-30 13:51:14,506 - api.main - INFO - STDERR: [11/30 13:51:14] DEBUG | - Total Successful Interactions: OK (5/125) +2024-11-30 13:51:14,506 - api.main - INFO - STDERR: [11/30 13:51:14] INFO | Back to followers list +2024-11-30 13:51:14,506 - api.main - INFO - STDERR: [11/30 13:51:14] DEBUG | Press back button. +2024-11-30 13:51:14,590 - api.main - INFO - STDERR: [11/30 13:51:14] DEBUG | 0.87s sleep +2024-11-30 13:51:16,696 - api.main - INFO - STDERR: [11/30 13:51:16] INFO | @rodfons: interact +2024-11-30 13:51:17,113 - api.main - INFO - STDERR: [11/30 13:51:17] DEBUG | Single click in (399,1346). Surface: (322-469,1310-1367) +2024-11-30 13:51:17,661 - api.main - INFO - STDERR: [11/30 13:51:17] DEBUG | 1.15s sleep +2024-11-30 13:51:18,823 - api.main - INFO - STDERR: [11/30 13:51:18] DEBUG | 2.30s sleep +2024-11-30 13:51:21,463 - api.main - INFO - STDERR: [11/30 13:51:21] DEBUG | Checking profile.. +2024-11-30 13:51:22,637 - api.main - INFO - STDERR: [11/30 13:51:22] DEBUG | Looking for mutual friends tab. +2024-11-30 13:51:29,171 - api.main - INFO - STDERR: [11/30 13:51:29] DEBUG | This account is public. +2024-11-30 13:51:29,171 - api.main - INFO - STDERR: [11/30 13:51:29] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:51:29,523 - api.main - INFO - STDERR: [11/30 13:51:29] DEBUG | Profile checked in 8.06s +2024-11-30 13:51:29,523 - api.main - INFO - STDERR: [11/30 13:51:29] INFO | - Total Likes: OK (7/141) +2024-11-30 13:51:30,967 - api.main - INFO - STDERR: [11/30 13:51:30] INFO | Scrolled down to see more posts. +2024-11-30 13:51:30,967 - api.main - INFO - STDERR: [11/30 13:51:30] DEBUG | Swipe from: (742,1488) to (614,298). +2024-11-30 13:51:32,343 - api.main - INFO - STDERR: [11/30 13:51:32] DEBUG | 0.64s sleep +2024-11-30 13:51:32,992 - api.main - INFO - STDERR: [11/30 13:51:32] INFO | Likes count: 1 +2024-11-30 13:51:34,528 - api.main - INFO - STDERR: [11/30 13:51:34] INFO | There are 12 posts fully visible. Calculated in 1.54s +2024-11-30 13:51:34,528 - api.main - INFO - STDERR: [11/30 13:51:34] INFO | Open post #1 (3 row, 2 column). +2024-11-30 13:51:35,759 - api.main - INFO - STDERR: [11/30 13:51:35] INFO | It's a Reel. +2024-11-30 13:51:36,161 - api.main - INFO - STDERR: [11/30 13:51:36] DEBUG | Single click in (645,1652). Surface: (482-958,1432-1908) +2024-11-30 13:51:36,869 - api.main - INFO - STDERR: [11/30 13:51:36] DEBUG | 2.83s sleep +2024-11-30 13:51:43,556 - api.main - INFO - STDERR: [11/30 13:51:43] INFO | Going in full screen. +2024-11-30 13:51:43,797 - api.main - INFO - STDERR: [11/30 13:51:43] DEBUG | Single click in (841,758). Surface: (0-1440,476-1286) +2024-11-30 13:51:44,143 - api.main - INFO - STDERR: [11/30 13:51:44] DEBUG | 1.78s sleep +2024-11-30 13:51:47,084 - api.main - INFO - STDERR: [11/30 13:51:47] INFO | Watching video for 32.4s. +2024-11-30 13:52:20,153 - api.main - INFO - STDERR: [11/30 13:52:20] INFO | Liking video. +2024-11-30 13:52:20,269 - api.main - INFO - STDERR: [11/30 13:52:20] DEBUG | Double click in (598,1483) with t=137ms. Surface: (0-1440,968-1778). +2024-11-30 13:52:20,732 - api.main - INFO - STDERR: [11/30 13:52:20] DEBUG | 1.86s sleep +2024-11-30 13:52:22,595 - api.main - INFO - STDERR: [11/30 13:52:22] DEBUG | Checking for block... +2024-11-30 13:52:25,027 - api.main - INFO - STDERR: [11/30 13:52:25] DEBUG | Showing sidebar... +2024-11-30 13:52:25,140 - api.main - INFO - STDERR: [11/30 13:52:25] DEBUG | Single click in (824,1200). Surface: (0-1440,968-1778) +2024-11-30 13:52:25,498 - api.main - INFO - STDERR: [11/30 13:52:25] DEBUG | 0.61s sleep +2024-11-30 13:52:26,610 - api.main - INFO - STDERR: [11/30 13:52:26] DEBUG | Closing video... +2024-11-30 13:52:26,610 - api.main - INFO - STDERR: [11/30 13:52:26] DEBUG | Press back button. +2024-11-30 13:52:26,762 - api.main - INFO - STDERR: [11/30 13:52:26] DEBUG | 1.16s sleep +2024-11-30 13:52:27,930 - api.main - INFO - STDERR: [11/30 13:52:27] DEBUG | Checking for block... +2024-11-30 13:52:30,399 - api.main - INFO - STDERR: [11/30 13:52:30] DEBUG | Like succeed. +2024-11-30 13:52:30,399 - api.main - INFO - STDERR: [11/30 13:52:30] INFO | Back to profile. +2024-11-30 13:52:30,690 - api.main - INFO - STDERR: [11/30 13:52:30] DEBUG | Press back button. +2024-11-30 13:52:30,906 - api.main - INFO - STDERR: [11/30 13:52:30] DEBUG | 1.33s sleep +2024-11-30 13:52:32,243 - api.main - INFO - STDERR: [11/30 13:52:32] DEBUG | - Total Followed: OK (2/48) +2024-11-30 13:52:33,018 - api.main - INFO - STDERR: [11/30 13:52:33] DEBUG | Swipe from: (761,1412) to (788,2565). +2024-11-30 13:52:34,172 - api.main - INFO - STDERR: [11/30 13:52:34] DEBUG | 0.37s sleep +2024-11-30 13:52:36,310 - api.main - INFO - STDERR: [11/30 13:52:36] DEBUG | Single click in (202,1011). Surface: (43-642,949-1061) +2024-11-30 13:52:36,741 - api.main - INFO - STDERR: [11/30 13:52:36] DEBUG | 0.85s sleep +2024-11-30 13:52:38,090 - api.main - INFO - STDERR: [11/30 13:52:38] INFO | Followed @rodfons +2024-11-30 13:52:38,090 - api.main - INFO - STDERR: [11/30 13:52:38] DEBUG | Checking for block... +2024-11-30 13:52:40,977 - api.main - INFO - STDERR: [11/30 13:52:40] DEBUG | Whole day mode. +2024-11-30 13:52:40,977 - api.main - INFO - STDERR: [11/30 13:52:40] DEBUG | - Total Likes: OK (8/141) +2024-11-30 13:52:40,977 - api.main - INFO - STDERR: [11/30 13:52:40] DEBUG | - Total Followed: OK (3/48) +2024-11-30 13:52:40,977 - api.main - INFO - STDERR: [11/30 13:52:40] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:52:40,978 - api.main - INFO - STDERR: [11/30 13:52:40] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:52:40,978 - api.main - INFO - STDERR: [11/30 13:52:40] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:52:40,978 - api.main - INFO - STDERR: [11/30 13:52:40] DEBUG | - Total Interactions: OK (32/289) +2024-11-30 13:52:40,979 - api.main - INFO - STDERR: [11/30 13:52:40] DEBUG | - Total Successful Interactions: OK (6/125) +2024-11-30 13:52:40,979 - api.main - INFO - STDERR: [11/30 13:52:40] INFO | Session progress: 8 likes, 0 watched, 0 commented, 0 PM sent, 3 followed, 6 successful interaction(s) for mnaumanndesign. +2024-11-30 13:52:40,979 - api.main - INFO - STDERR: [11/30 13:52:40] INFO | Back to followers list +2024-11-30 13:52:40,981 - api.main - INFO - STDERR: [11/30 13:52:40] DEBUG | Press back button. +2024-11-30 13:52:41,104 - api.main - INFO - STDERR: [11/30 13:52:41] DEBUG | 2.63s sleep +2024-11-30 13:52:44,991 - api.main - INFO - STDERR: [11/30 13:52:44] INFO | @adrian_ciszek: interact +2024-11-30 13:52:45,391 - api.main - INFO - STDERR: [11/30 13:52:45] DEBUG | Single click in (492,1583). Surface: (322-581,1562-1619) +2024-11-30 13:52:46,102 - api.main - INFO - STDERR: [11/30 13:52:46] DEBUG | 1.03s sleep +2024-11-30 13:52:47,151 - api.main - INFO - STDERR: [11/30 13:52:47] DEBUG | 2.19s sleep +2024-11-30 13:52:49,660 - api.main - INFO - STDERR: [11/30 13:52:49] DEBUG | Checking profile.. +2024-11-30 13:52:50,938 - api.main - INFO - STDERR: [11/30 13:52:50] DEBUG | Looking for mutual friends tab. +2024-11-30 13:52:56,950 - api.main - INFO - STDERR: [11/30 13:52:56] DEBUG | This account is public. +2024-11-30 13:52:56,950 - api.main - INFO - STDERR: [11/30 13:52:56] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:52:57,324 - api.main - INFO - STDERR: [11/30 13:52:57] DEBUG | Profile checked in 7.66s +2024-11-30 13:52:57,324 - api.main - INFO - STDERR: [11/30 13:52:57] INFO | - Total Watched: OK (0/121) +2024-11-30 13:52:58,501 - api.main - INFO - STDERR: [11/30 13:52:58] INFO | - Total Likes: OK (8/141) +2024-11-30 13:53:00,038 - api.main - INFO - STDERR: [11/30 13:53:00] INFO | Scrolled down to see more posts. +2024-11-30 13:53:00,038 - api.main - INFO - STDERR: [11/30 13:53:00] DEBUG | Swipe from: (735,1488) to (773,288). +2024-11-30 13:53:01,624 - api.main - INFO - STDERR: [11/30 13:53:01] DEBUG | 0.79s sleep +2024-11-30 13:53:02,428 - api.main - INFO - STDERR: [11/30 13:53:02] INFO | Likes count: 1 +2024-11-30 13:53:03,722 - api.main - INFO - STDERR: [11/30 13:53:03] INFO | There are 12 posts fully visible. Calculated in 1.29s +2024-11-30 13:53:03,722 - api.main - INFO - STDERR: [11/30 13:53:03] INFO | Open post #1 (4 row, 3 column). +2024-11-30 13:53:04,797 - api.main - INFO - STDERR: [11/30 13:53:04] INFO | It's a Reel. +2024-11-30 13:53:05,177 - api.main - INFO - STDERR: [11/30 13:53:05] DEBUG | Single click in (1116,2207). Surface: (964-1440,1914-2390) +2024-11-30 13:53:05,859 - api.main - INFO - STDERR: [11/30 13:53:05] DEBUG | 0.71s sleep +2024-11-30 13:53:09,799 - api.main - INFO - STDERR: [11/30 13:53:09] INFO | Going in full screen. +2024-11-30 13:53:09,927 - api.main - INFO - STDERR: [11/30 13:53:09] DEBUG | Single click in (792,1478). Surface: (0-1440,294-2488) +2024-11-30 13:53:10,288 - api.main - INFO - STDERR: [11/30 13:53:10] DEBUG | 1.10s sleep +2024-11-30 13:53:12,345 - api.main - INFO - STDERR: [11/30 13:53:12] INFO | Watching video for 16.66s. +2024-11-30 13:53:29,724 - api.main - INFO - STDERR: [11/30 13:53:29] INFO | Liking video. +2024-11-30 13:53:29,902 - api.main - INFO - STDERR: [11/30 13:53:29] DEBUG | Double click in (638,900) with t=82ms. Surface: (0-1440,98-2649). +2024-11-30 13:53:30,293 - api.main - INFO - STDERR: [11/30 13:53:30] DEBUG | 2.81s sleep +2024-11-30 13:53:33,119 - api.main - INFO - STDERR: [11/30 13:53:33] DEBUG | Checking for block... +2024-11-30 13:53:35,748 - api.main - INFO - STDERR: [11/30 13:53:35] DEBUG | Showing sidebar... +2024-11-30 13:53:35,919 - api.main - INFO - STDERR: [11/30 13:53:35] DEBUG | Single click in (299,1171). Surface: (0-1440,98-2649) +2024-11-30 13:53:36,308 - api.main - INFO - STDERR: [11/30 13:53:36] DEBUG | 2.51s sleep +2024-11-30 13:53:39,382 - api.main - INFO - STDERR: [11/30 13:53:39] DEBUG | Closing video... +2024-11-30 13:53:39,382 - api.main - INFO - STDERR: [11/30 13:53:39] DEBUG | Press back button. +2024-11-30 13:53:39,524 - api.main - INFO - STDERR: [11/30 13:53:39] DEBUG | 1.12s sleep +2024-11-30 13:53:40,666 - api.main - INFO - STDERR: [11/30 13:53:40] DEBUG | Checking for block... +2024-11-30 13:53:43,000 - api.main - INFO - STDERR: [11/30 13:53:43] DEBUG | Like succeed. +2024-11-30 13:53:43,001 - api.main - INFO - STDERR: [11/30 13:53:43] INFO | Back to profile. +2024-11-30 13:53:43,367 - api.main - INFO - STDERR: [11/30 13:53:43] DEBUG | Press back button. +2024-11-30 13:53:43,554 - api.main - INFO - STDERR: [11/30 13:53:43] DEBUG | 2.15s sleep +2024-11-30 13:53:45,723 - api.main - INFO - STDERR: [11/30 13:53:45] DEBUG | - Total Followed: OK (3/48) +2024-11-30 13:53:45,739 - api.main - INFO - STDERR: [11/30 13:53:45] DEBUG | Whole day mode. +2024-11-30 13:53:45,739 - api.main - INFO - STDERR: [11/30 13:53:45] DEBUG | - Total Likes: OK (9/141) +2024-11-30 13:53:45,741 - api.main - INFO - STDERR: [11/30 13:53:45] DEBUG | - Total Followed: OK (3/48) +2024-11-30 13:53:45,741 - api.main - INFO - STDERR: [11/30 13:53:45] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:53:45,741 - api.main - INFO - STDERR: [11/30 13:53:45] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:53:45,741 - api.main - INFO - STDERR: [11/30 13:53:45] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:53:45,741 - api.main - INFO - STDERR: [11/30 13:53:45] DEBUG | - Total Interactions: OK (33/289) +2024-11-30 13:53:45,741 - api.main - INFO - STDERR: [11/30 13:53:45] DEBUG | - Total Successful Interactions: OK (7/125) +2024-11-30 13:53:45,741 - api.main - INFO - STDERR: [11/30 13:53:45] INFO | Session progress: 9 likes, 0 watched, 0 commented, 0 PM sent, 3 followed, 7 successful interaction(s) for mnaumanndesign. +2024-11-30 13:53:45,741 - api.main - INFO - STDERR: [11/30 13:53:45] INFO | Back to followers list +2024-11-30 13:53:45,743 - api.main - INFO - STDERR: [11/30 13:53:45] DEBUG | Press back button. +2024-11-30 13:53:45,898 - api.main - INFO - STDERR: [11/30 13:53:45] DEBUG | 1.97s sleep +2024-11-30 13:53:49,158 - api.main - INFO - STDERR: [11/30 13:53:49] INFO | @_david_lexl_: interact +2024-11-30 13:53:49,567 - api.main - INFO - STDERR: [11/30 13:53:49] DEBUG | Single click in (455,1836). Surface: (322-548,1814-1871) +2024-11-30 13:53:50,297 - api.main - INFO - STDERR: [11/30 13:53:50] DEBUG | 0.68s sleep +2024-11-30 13:53:50,997 - api.main - INFO - STDERR: [11/30 13:53:50] DEBUG | 2.47s sleep +2024-11-30 13:53:53,845 - api.main - INFO - STDERR: [11/30 13:53:53] DEBUG | Checking profile.. +2024-11-30 13:53:55,054 - api.main - INFO - STDERR: [11/30 13:53:55] DEBUG | Looking for mutual friends tab. +2024-11-30 13:54:00,703 - api.main - INFO - STDERR: [11/30 13:54:00] DEBUG | This account is private. +2024-11-30 13:54:00,703 - api.main - INFO - STDERR: [11/30 13:54:00] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:54:00,704 - api.main - INFO - STDERR: [11/30 13:54:00] INFO | @_david_lexl_ has less than 100 followers, skip. +2024-11-30 13:54:00,716 - api.main - INFO - STDERR: [11/30 13:54:00] DEBUG | Profile checked in 6.87s +2024-11-30 13:54:00,729 - api.main - INFO - STDERR: [11/30 13:54:00] DEBUG | Whole day mode. +2024-11-30 13:54:00,729 - api.main - INFO - STDERR: [11/30 13:54:00] DEBUG | - Total Likes: OK (9/141) +2024-11-30 13:54:00,729 - api.main - INFO - STDERR: [11/30 13:54:00] DEBUG | - Total Followed: OK (3/48) +2024-11-30 13:54:00,729 - api.main - INFO - STDERR: [11/30 13:54:00] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:54:00,730 - api.main - INFO - STDERR: [11/30 13:54:00] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:54:00,730 - api.main - INFO - STDERR: [11/30 13:54:00] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:54:00,731 - api.main - INFO - STDERR: [11/30 13:54:00] DEBUG | - Total Interactions: OK (34/289) +2024-11-30 13:54:00,731 - api.main - INFO - STDERR: [11/30 13:54:00] DEBUG | - Total Successful Interactions: OK (7/125) +2024-11-30 13:54:00,731 - api.main - INFO - STDERR: [11/30 13:54:00] INFO | Back to followers list +2024-11-30 13:54:00,731 - api.main - INFO - STDERR: [11/30 13:54:00] DEBUG | Press back button. +2024-11-30 13:54:00,856 - api.main - INFO - STDERR: [11/30 13:54:00] DEBUG | 2.77s sleep +2024-11-30 13:54:04,866 - api.main - INFO - STDERR: [11/30 13:54:04] INFO | @mysticmegan: interact +2024-11-30 13:54:05,266 - api.main - INFO - STDERR: [11/30 13:54:05] DEBUG | Single click in (478,2081). Surface: (322-578,2066-2123) +2024-11-30 13:54:05,960 - api.main - INFO - STDERR: [11/30 13:54:05] DEBUG | 2.30s sleep +2024-11-30 13:54:08,270 - api.main - INFO - STDERR: [11/30 13:54:08] DEBUG | 3.03s sleep +2024-11-30 13:54:11,770 - api.main - INFO - STDERR: [11/30 13:54:11] DEBUG | Checking profile.. +2024-11-30 13:54:13,040 - api.main - INFO - STDERR: [11/30 13:54:13] DEBUG | Looking for mutual friends tab. +2024-11-30 13:54:20,019 - api.main - INFO - STDERR: [11/30 13:54:20] DEBUG | This account is public. +2024-11-30 13:54:20,019 - api.main - INFO - STDERR: [11/30 13:54:20] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:54:20,412 - api.main - INFO - STDERR: [11/30 13:54:20] DEBUG | Profile checked in 8.64s +2024-11-30 13:54:20,412 - api.main - INFO - STDERR: [11/30 13:54:20] INFO | - Total Watched: OK (0/121) +2024-11-30 13:54:21,608 - api.main - INFO - STDERR: [11/30 13:54:21] INFO | - Total Likes: OK (9/141) +2024-11-30 13:54:22,586 - api.main - INFO - STDERR: [11/30 13:54:22] INFO | Scrolled down to see more posts. +2024-11-30 13:54:22,587 - api.main - INFO - STDERR: [11/30 13:54:22] DEBUG | Swipe from: (756,1488) to (638,288). +2024-11-30 13:54:24,056 - api.main - INFO - STDERR: [11/30 13:54:24] DEBUG | 0.3s sleep +2024-11-30 13:54:24,368 - api.main - INFO - STDERR: [11/30 13:54:24] INFO | Likes count: 2 +2024-11-30 13:54:25,525 - api.main - INFO - STDERR: [11/30 13:54:25] INFO | There are 12 posts fully visible. Calculated in 1.16s +2024-11-30 13:54:25,525 - api.main - INFO - STDERR: [11/30 13:54:25] INFO | Open post #1 (3 row, 1 column). +2024-11-30 13:54:26,709 - api.main - INFO - STDERR: [11/30 13:54:26] INFO | It's a Reel. +2024-11-30 13:54:27,081 - api.main - INFO - STDERR: [11/30 13:54:27] DEBUG | Single click in (290,1564). Surface: (0-476,1432-1908) +2024-11-30 13:54:27,773 - api.main - INFO - STDERR: [11/30 13:54:27] DEBUG | 1.33s sleep +2024-11-30 13:54:32,243 - api.main - INFO - STDERR: [11/30 13:54:32] INFO | Going in full screen. +2024-11-30 13:54:32,344 - api.main - INFO - STDERR: [11/30 13:54:32] DEBUG | Single click in (540,905). Surface: (0-1440,294-2488) +2024-11-30 13:54:32,723 - api.main - INFO - STDERR: [11/30 13:54:32] DEBUG | 1.43s sleep +2024-11-30 13:54:35,327 - api.main - INFO - STDERR: [11/30 13:54:35] INFO | Watching video for 28.99s. +2024-11-30 13:55:04,963 - api.main - INFO - STDERR: [11/30 13:55:04] INFO | Liking video. +2024-11-30 13:55:05,083 - api.main - INFO - STDERR: [11/30 13:55:05] DEBUG | Double click in (734,1547) with t=73ms. Surface: (0-1440,98-2649). +2024-11-30 13:55:05,445 - api.main - INFO - STDERR: [11/30 13:55:05] DEBUG | 0.77s sleep +2024-11-30 13:55:06,234 - api.main - INFO - STDERR: [11/30 13:55:06] DEBUG | Checking for block... +2024-11-30 13:55:08,637 - api.main - INFO - STDERR: [11/30 13:55:08] DEBUG | Showing sidebar... +2024-11-30 13:55:08,765 - api.main - INFO - STDERR: [11/30 13:55:08] DEBUG | Single click in (673,1770). Surface: (0-1440,98-2649) +2024-11-30 13:55:09,129 - api.main - INFO - STDERR: [11/30 13:55:09] DEBUG | 2.09s sleep +2024-11-30 13:55:11,932 - api.main - INFO - STDERR: [11/30 13:55:11] DEBUG | Closing video... +2024-11-30 13:55:11,933 - api.main - INFO - STDERR: [11/30 13:55:11] DEBUG | Press back button. +2024-11-30 13:55:12,079 - api.main - INFO - STDERR: [11/30 13:55:12] DEBUG | 1.06s sleep +2024-11-30 13:55:13,142 - api.main - INFO - STDERR: [11/30 13:55:13] DEBUG | Checking for block... +2024-11-30 13:55:15,421 - api.main - INFO - STDERR: [11/30 13:55:15] DEBUG | Like succeed. +2024-11-30 13:55:15,421 - api.main - INFO - STDERR: [11/30 13:55:15] INFO | Back to profile. +2024-11-30 13:55:15,836 - api.main - INFO - STDERR: [11/30 13:55:15] DEBUG | Press back button. +2024-11-30 13:55:16,042 - api.main - INFO - STDERR: [11/30 13:55:16] DEBUG | 1.45s sleep +2024-11-30 13:55:17,497 - api.main - INFO - STDERR: [11/30 13:55:17] INFO | Open post #2 (4 row, 3 column). +2024-11-30 13:55:18,826 - api.main - INFO - STDERR: [11/30 13:55:18] INFO | It's a photo. +2024-11-30 13:55:19,226 - api.main - INFO - STDERR: [11/30 13:55:19] DEBUG | Single click in (1198,2002). Surface: (964-1440,1914-2390) +2024-11-30 13:55:19,926 - api.main - INFO - STDERR: [11/30 13:55:19] DEBUG | 1.78s sleep +2024-11-30 13:55:24,223 - api.main - INFO - STDERR: [11/30 13:55:24] INFO | Watching photo for 3.5s. +2024-11-30 13:55:28,281 - api.main - INFO - STDERR: [11/30 13:55:28] INFO | Liking post. +2024-11-30 13:55:28,429 - api.main - INFO - STDERR: [11/30 13:55:28] DEBUG | Double click in (831,1155) with t=139ms. Surface: (0-1440,476-1916). +2024-11-30 13:55:28,904 - api.main - INFO - STDERR: [11/30 13:55:28] DEBUG | 1.84s sleep +2024-11-30 13:55:32,748 - api.main - INFO - STDERR: [11/30 13:55:32] INFO | Double click failed, clicking on the little heart \u2764\ufe0f. +2024-11-30 13:55:33,111 - api.main - INFO - STDERR: [11/30 13:55:33] DEBUG | Single click in (140,2047). Surface: (21-175,1916-2077) +2024-11-30 13:55:33,785 - api.main - INFO - STDERR: [11/30 13:55:33] DEBUG | 2.78s sleep +2024-11-30 13:55:38,115 - api.main - INFO - STDERR: [11/30 13:55:38] DEBUG | Checking for block... +2024-11-30 13:55:40,763 - api.main - INFO - STDERR: [11/30 13:55:40] DEBUG | Like succeed. +2024-11-30 13:55:40,763 - api.main - INFO - STDERR: [11/30 13:55:40] INFO | Back to profile. +2024-11-30 13:55:41,303 - api.main - INFO - STDERR: [11/30 13:55:41] DEBUG | Press back button. +2024-11-30 13:55:41,534 - api.main - INFO - STDERR: [11/30 13:55:41] DEBUG | 0.89s sleep +2024-11-30 13:55:42,440 - api.main - INFO - STDERR: [11/30 13:55:42] DEBUG | - Total Followed: OK (3/48) +2024-11-30 13:55:43,333 - api.main - INFO - STDERR: [11/30 13:55:43] DEBUG | Swipe from: (666,1412) to (806,2612). +2024-11-30 13:55:44,556 - api.main - INFO - STDERR: [11/30 13:55:44] DEBUG | 0.33s sleep +2024-11-30 13:55:46,833 - api.main - INFO - STDERR: [11/30 13:55:46] DEBUG | Single click in (135,1023). Surface: (43-642,949-1061) +2024-11-30 13:55:47,275 - api.main - INFO - STDERR: [11/30 13:55:47] DEBUG | 0.76s sleep +2024-11-30 13:55:48,465 - api.main - INFO - STDERR: [11/30 13:55:48] INFO | Followed @mysticmegan +2024-11-30 13:55:48,465 - api.main - INFO - STDERR: [11/30 13:55:48] DEBUG | Checking for block... +2024-11-30 13:55:51,198 - api.main - INFO - STDERR: [11/30 13:55:51] DEBUG | Whole day mode. +2024-11-30 13:55:51,200 - api.main - INFO - STDERR: [11/30 13:55:51] DEBUG | - Total Likes: OK (11/141) +2024-11-30 13:55:51,200 - api.main - INFO - STDERR: [11/30 13:55:51] DEBUG | - Total Followed: OK (4/48) +2024-11-30 13:55:51,200 - api.main - INFO - STDERR: [11/30 13:55:51] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:55:51,200 - api.main - INFO - STDERR: [11/30 13:55:51] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:55:51,201 - api.main - INFO - STDERR: [11/30 13:55:51] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:55:51,201 - api.main - INFO - STDERR: [11/30 13:55:51] DEBUG | - Total Interactions: OK (35/289) +2024-11-30 13:55:51,201 - api.main - INFO - STDERR: [11/30 13:55:51] DEBUG | - Total Successful Interactions: OK (8/125) +2024-11-30 13:55:51,202 - api.main - INFO - STDERR: [11/30 13:55:51] INFO | Session progress: 11 likes, 0 watched, 0 commented, 0 PM sent, 4 followed, 8 successful interaction(s) for mnaumanndesign. +2024-11-30 13:55:51,202 - api.main - INFO - STDERR: [11/30 13:55:51] INFO | Back to followers list +2024-11-30 13:55:51,202 - api.main - INFO - STDERR: [11/30 13:55:51] DEBUG | Press back button. +2024-11-30 13:55:51,336 - api.main - INFO - STDERR: [11/30 13:55:51] DEBUG | 1.93s sleep +2024-11-30 13:55:54,176 - api.main - INFO - STDERR: [11/30 13:55:54] INFO | @__siqus: interact +2024-11-30 13:55:54,363 - api.main - INFO - STDERR: [11/30 13:55:54] DEBUG | Single click in (360,2371). Surface: (322-462,2346-2403) +2024-11-30 13:55:55,068 - api.main - INFO - STDERR: [11/30 13:55:55] DEBUG | 1.24s sleep +2024-11-30 13:55:56,322 - api.main - INFO - STDERR: [11/30 13:55:56] DEBUG | 3.13s sleep +2024-11-30 13:55:59,807 - api.main - INFO - STDERR: [11/30 13:55:59] DEBUG | Checking profile.. +2024-11-30 13:56:01,110 - api.main - INFO - STDERR: [11/30 13:56:01] DEBUG | Looking for mutual friends tab. +2024-11-30 13:56:10,626 - api.main - INFO - STDERR: [11/30 13:56:10] DEBUG | This account is public. +2024-11-30 13:56:10,626 - api.main - INFO - STDERR: [11/30 13:56:10] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 13:56:10,627 - api.main - INFO - STDERR: [11/30 13:56:10] INFO | @__siqus has less than 100 followers, skip. +2024-11-30 13:56:10,639 - api.main - INFO - STDERR: [11/30 13:56:10] DEBUG | Profile checked in 10.83s +2024-11-30 13:56:10,651 - api.main - INFO - STDERR: [11/30 13:56:10] DEBUG | Whole day mode. +2024-11-30 13:56:10,651 - api.main - INFO - STDERR: [11/30 13:56:10] DEBUG | - Total Likes: OK (11/141) +2024-11-30 13:56:10,651 - api.main - INFO - STDERR: [11/30 13:56:10] DEBUG | - Total Followed: OK (4/48) +2024-11-30 13:56:10,651 - api.main - INFO - STDERR: [11/30 13:56:10] DEBUG | - Total Watched: OK (0/121) +2024-11-30 13:56:10,653 - api.main - INFO - STDERR: [11/30 13:56:10] DEBUG | - Total PM: OK (0/3) +2024-11-30 13:56:10,653 - api.main - INFO - STDERR: [11/30 13:56:10] DEBUG | - Total Comments: OK (0/45) +2024-11-30 13:56:10,653 - api.main - INFO - STDERR: [11/30 13:56:10] DEBUG | - Total Interactions: OK (36/289) +2024-11-30 13:56:10,653 - api.main - INFO - STDERR: [11/30 13:56:10] DEBUG | - Total Successful Interactions: OK (8/125) +2024-11-30 13:56:10,654 - api.main - INFO - STDERR: [11/30 13:56:10] INFO | Back to followers list +2024-11-30 13:56:10,654 - api.main - INFO - STDERR: [11/30 13:56:10] DEBUG | Press back button. +2024-11-30 13:56:10,758 - api.main - INFO - STDERR: [11/30 13:56:10] DEBUG | 1.22s sleep +2024-11-30 13:56:13,865 - api.main - INFO - STDERR: [11/30 13:56:13] INFO | Need to scroll now +2024-11-30 13:56:15,132 - api.main - INFO - STDERR: [11/30 13:56:15] INFO | Iterate over visible followers. +2024-11-30 13:56:20,667 - api.main - INFO - STDERR: [11/30 13:56:20] DEBUG | There are 8 users fully visible in that view. +2024-11-30 13:56:22,305 - api.main - INFO - STDERR: [11/30 13:56:22] INFO | @user732728d: already interacted on 2024/11/29 04:16:36. Skip. +2024-11-30 13:56:23,309 - api.main - INFO - STDERR: [11/30 13:56:23] INFO | @pakreht: already interacted on 2024/11/29 04:16:18. Skip. +2024-11-30 13:56:24,451 - api.main - INFO - STDERR: [11/30 13:56:24] INFO | @cavalry_playground: already interacted on 2024/11/30 05:31:00. Skip. +2024-11-30 13:56:25,496 - api.main - INFO - STDERR: [11/30 13:56:25] INFO | @gabomarin_designer: already interacted on 2024/11/30 05:31:19. Skip. +2024-11-30 13:56:26,334 - api.main - INFO - STDERR: [11/30 13:56:26] INFO | @lorcan.archive: already interacted on 2024/11/29 01:36:59. Skip. +2024-11-30 13:56:27,136 - api.main - INFO - STDERR: [11/30 13:56:27] INFO | @_motiongrapher_: already interacted on 2024/11/29 04:17:14. Skip. +2024-11-30 13:56:28,258 - api.main - INFO - STDERR: [11/30 13:56:28] INFO | @furkanadiguzel15: already interacted on 2024/11/30 13:34:25. Skip. +2024-11-30 13:56:29,315 - api.main - INFO - STDERR: [11/30 13:56:29] INFO | @heavydirtyday: already interacted on 2024/11/29 04:16:58. Skip. +2024-11-30 13:56:30,874 - api.main - INFO - STDERR: [11/30 13:56:30] INFO | All followers skipped, let's scroll. +2024-11-30 13:56:32,111 - api.main - INFO - STDERR: [11/30 13:56:32] INFO | Iterate over visible followers. +2024-11-30 13:56:37,537 - api.main - INFO - STDERR: [11/30 13:56:37] DEBUG | There are 8 users fully visible in that view. +2024-11-30 13:56:39,105 - api.main - INFO - STDERR: [11/30 13:56:39] INFO | @osm_dsgnr: already interacted on 2024/11/30 05:29:31. Skip. +2024-11-30 13:56:40,129 - api.main - INFO - STDERR: [11/30 13:56:40] INFO | @ddrckdsgn: already interacted on 2024/11/30 05:37:10. Skip. +2024-11-30 13:56:41,169 - api.main - INFO - STDERR: [11/30 13:56:41] INFO | @xyzettgraphix_bfvk: already interacted on 2024/11/29 04:21:20. Skip. +2024-11-30 13:56:42,208 - api.main - INFO - STDERR: [11/30 13:56:42] INFO | @axellle_adr: already interacted on 2024/11/29 04:30:53. Skip. +2024-11-30 13:56:43,356 - api.main - INFO - STDERR: [11/30 13:56:43] INFO | @mmmmmmmeomory: already interacted on 2024/11/29 04:20:13. Skip. +2024-11-30 13:56:44,409 - api.main - INFO - STDERR: [11/30 13:56:44] INFO | @ooook___789: already interacted on 2024/11/29 04:17:52. Skip. +2024-11-30 13:56:45,532 - api.main - INFO - STDERR: [11/30 13:56:45] INFO | @oivtat: already interacted on 2024/11/29 04:17:32. Skip. +2024-11-30 13:56:46,604 - api.main - INFO - STDERR: [11/30 13:56:46] INFO | @motivomine: already interacted on 2024/11/29 04:19:52. Skip. +2024-11-30 13:56:48,123 - api.main - INFO - STDERR: [11/30 13:56:48] INFO | All followers skipped, let's scroll. +2024-11-30 13:56:49,316 - api.main - INFO - STDERR: [11/30 13:56:49] INFO | Iterate over visible followers. +2024-11-30 13:56:53,558 - api.main - INFO - STDERR: [11/30 13:56:53] DEBUG | There are 8 users fully visible in that view. +2024-11-30 13:56:55,155 - api.main - INFO - STDERR: [11/30 13:56:55] INFO | @iwannhs.ferro: already interacted on 2024/11/30 13:35:10. Skip. +2024-11-30 13:56:56,144 - api.main - INFO - STDERR: [11/30 13:56:56] INFO | @king_ofwaters: already interacted on 2024/11/30 13:35:24. Skip. +2024-11-30 13:56:57,049 - api.main - INFO - STDERR: [11/30 13:56:57] INFO | @blissfuldread: already interacted on 2024/11/29 04:22:24. Skip. +2024-11-30 13:56:58,056 - api.main - INFO - STDERR: [11/30 13:56:58] INFO | @bryn_pod: already interacted on 2024/11/29 01:35:49. Skip. +2024-11-30 13:56:59,210 - api.main - INFO - STDERR: [11/30 13:56:59] INFO | @gioph_designs: already interacted on 2024/11/29 04:23:05. Skip. +2024-11-30 13:57:00,229 - api.main - INFO - STDERR: [11/30 13:57:00] INFO | @sammeske: already interacted on 2024/11/29 04:38:40. Skip. +2024-11-30 13:57:01,267 - api.main - INFO - STDERR: [11/30 13:57:01] INFO | @jeejung_gabin: already interacted on 2024/11/29 04:35:39. Skip. +2024-11-30 13:57:02,363 - api.main - INFO - STDERR: [11/30 13:57:02] INFO | @dixitasarchive: already interacted on 2024/11/29 01:37:19. Skip. +2024-11-30 13:57:03,921 - api.main - INFO - STDERR: [11/30 13:57:03] INFO | Skipped all users in list 14 times. Finish. +2024-11-30 13:57:03,922 - api.main - INFO - STDERR: [11/30 13:57:03] DEBUG | Whole day mode. +2024-11-30 13:57:03,922 - api.main - INFO - STDERR: [11/30 13:57:03] INFO | Checking session limits: +2024-11-30 13:57:03,922 - api.main - INFO - STDERR: [11/30 13:57:03] INFO | - Total Likes: OK (11/141) +2024-11-30 13:57:03,923 - api.main - INFO - STDERR: [11/30 13:57:03] INFO | - Total Comments: OK (0/45) +2024-11-30 13:57:03,924 - api.main - INFO - STDERR: [11/30 13:57:03] INFO | - Total PM: OK (0/3) +2024-11-30 13:57:03,924 - api.main - INFO - STDERR: [11/30 13:57:03] INFO | - Total Followed: OK (4/48) +2024-11-30 13:57:03,924 - api.main - INFO - STDERR: [11/30 13:57:03] INFO | - Total Unfollowed: OK (0/43) +2024-11-30 13:57:03,924 - api.main - INFO - STDERR: [11/30 13:57:03] INFO | - Total Watched: OK (0/121) +2024-11-30 13:57:03,925 - api.main - INFO - STDERR: [11/30 13:57:03] INFO | - Total Successful Interactions: OK (8/125) +2024-11-30 13:57:03,925 - api.main - INFO - STDERR: [11/30 13:57:03] INFO | - Total Interactions: OK (36/289) +2024-11-30 13:57:03,925 - api.main - INFO - STDERR: [11/30 13:57:03] INFO | - Total Crashes: OK (0/5) +2024-11-30 13:57:03,926 - api.main - INFO - STDERR: [11/30 13:57:03] INFO | - Total Successful Scraped Users: OK (0/128) +2024-11-30 13:57:04,513 - api.main - INFO - STDERR: [11/30 13:57:04] DEBUG | Not in your main profile. +2024-11-30 13:57:04,513 - api.main - INFO - STDERR: [11/30 13:57:04] DEBUG | Navigate to PROFILE +2024-11-30 13:57:05,668 - api.main - INFO - STDERR: [11/30 13:57:05] DEBUG | Single click in (1319,2740). Surface: (1152-1440,2649-2824) +2024-11-30 13:57:06,140 - api.main - INFO - STDERR: [11/30 13:57:06] DEBUG | 1.13s sleep +2024-11-30 13:57:07,698 - api.main - INFO - STDERR: [11/30 13:57:07] INFO | Current active-job: use-nocodb +2024-11-30 13:57:07,698 - api.main - INFO - STDERR: 2024-11-30 13:57:07,698 - nocodb_operations - INFO - Initializing NocoDB storage... +2024-11-30 13:57:07,698 - api.main - INFO - STDERR: 2024-11-30 13:57:07,698 - nocodb_operations - INFO - Loading NocoDB configuration... +2024-11-30 13:57:07,716 - api.main - INFO - STDERR: 2024-11-30 13:57:07,716 - nocodb_operations - INFO - Testing NocoDB connection... +2024-11-30 13:57:07,743 - api.main - INFO - STDERR: 2024-11-30 13:57:07,743 - nocodb_operations - INFO - Verifying project pvazjom12m1ho5k... +2024-11-30 13:57:07,760 - api.main - INFO - STDERR: 2024-11-30 13:57:07,760 - nocodb_operations - INFO - NocoDB connection successful! +2024-11-30 13:57:07,760 - api.main - INFO - STDERR: 2024-11-30 13:57:07,760 - nocodb_operations - INFO - Initializing tables... +2024-11-30 13:57:07,760 - api.main - INFO - STDERR: 2024-11-30 13:57:07,760 - nocodb_operations - INFO - NocoDB: Initializing tables... +2024-11-30 13:57:07,765 - api.main - INFO - STDERR: 2024-11-30 13:57:07,764 - nocodb_operations - INFO - NocoDB: Project pvazjom12m1ho5k exists +2024-11-30 13:57:07,771 - api.main - INFO - STDERR: 2024-11-30 13:57:07,771 - nocodb_operations - INFO - NocoDB: Table Interacted Users already exists +2024-11-30 13:57:07,772 - api.main - INFO - STDERR: 2024-11-30 13:57:07,771 - nocodb_operations - INFO - NocoDB: Table History Filters Users already exists +2024-11-30 13:57:07,772 - api.main - INFO - STDERR: 2024-11-30 13:57:07,771 - nocodb_operations - INFO - NocoDB: Tables initialized successfully +2024-11-30 13:57:07,772 - api.main - INFO - STDERR: [11/30 13:57:07] INFO | NocoDB reference set in storage +2024-11-30 13:57:07,772 - api.main - INFO - STDERR: 2024-11-30 13:57:07,772 - nocodb_operations - INFO - NocoDB storage initialized successfully! +2024-11-30 13:57:07,772 - api.main - INFO - STDERR: [11/30 13:57:07] DEBUG | Whole day mode. +2024-11-30 13:57:07,773 - api.main - INFO - STDERR: [11/30 13:57:07] INFO | Checking session limits: +2024-11-30 13:57:07,773 - api.main - INFO - STDERR: [11/30 13:57:07] INFO | - Total Likes: OK (11/141) +2024-11-30 13:57:07,773 - api.main - INFO - STDERR: [11/30 13:57:07] INFO | - Total Comments: OK (0/45) +2024-11-30 13:57:07,774 - api.main - INFO - STDERR: [11/30 13:57:07] INFO | - Total PM: OK (0/3) +2024-11-30 13:57:07,774 - api.main - INFO - STDERR: [11/30 13:57:07] INFO | - Total Followed: OK (4/48) +2024-11-30 13:57:07,774 - api.main - INFO - STDERR: [11/30 13:57:07] INFO | - Total Unfollowed: OK (0/43) +2024-11-30 13:57:07,774 - api.main - INFO - STDERR: [11/30 13:57:07] INFO | - Total Watched: OK (0/121) +2024-11-30 13:57:07,775 - api.main - INFO - STDERR: [11/30 13:57:07] INFO | - Total Successful Interactions: OK (8/125) +2024-11-30 13:57:07,775 - api.main - INFO - STDERR: [11/30 13:57:07] INFO | - Total Interactions: OK (36/289) +2024-11-30 13:57:07,775 - api.main - INFO - STDERR: [11/30 13:57:07] INFO | - Total Crashes: OK (0/5) +2024-11-30 13:57:07,775 - api.main - INFO - STDERR: [11/30 13:57:07] INFO | - Total Successful Scraped Users: OK (0/128) +2024-11-30 13:57:08,533 - api.main - INFO - STDERR: [11/30 13:57:08] INFO | Current active-job: init-db +2024-11-30 13:57:08,534 - api.main - INFO - STDERR: [11/30 13:57:08] INFO | ================================================================================ +2024-11-30 13:57:08,534 - api.main - INFO - STDERR: [11/30 13:57:08] INFO | Starting database initialization... +2024-11-30 13:57:08,534 - api.main - INFO - STDERR: [11/30 13:57:08] INFO | Initializing NocoDB tables... +2024-11-30 13:57:08,534 - api.main - INFO - STDERR: 2024-11-30 13:57:08,534 - nocodb_operations - INFO - NocoDB: Initializing tables... +2024-11-30 13:57:08,565 - api.main - INFO - STDERR: 2024-11-30 13:57:08,565 - nocodb_operations - INFO - NocoDB: Project pvazjom12m1ho5k exists +2024-11-30 13:57:08,595 - api.main - INFO - STDERR: 2024-11-30 13:57:08,594 - nocodb_operations - INFO - NocoDB: Table Interacted Users already exists +2024-11-30 13:57:08,595 - api.main - INFO - STDERR: 2024-11-30 13:57:08,595 - nocodb_operations - INFO - NocoDB: Table History Filters Users already exists +2024-11-30 13:57:08,595 - api.main - INFO - STDERR: 2024-11-30 13:57:08,595 - nocodb_operations - INFO - NocoDB: Tables initialized successfully +2024-11-30 13:57:08,595 - api.main - INFO - STDERR: [11/30 13:57:08] INFO | Database tables initialization completed successfully! +2024-11-30 13:57:08,595 - api.main - INFO - STDERR: [11/30 13:57:08] INFO | You can now use NocoDB to store interaction data. +2024-11-30 13:57:08,596 - api.main - INFO - STDERR: [11/30 13:57:08] INFO | ================================================================================ +2024-11-30 13:57:08,616 - api.main - INFO - STDERR: [11/30 13:57:08] INFO | Close Instagram app. +2024-11-30 13:57:08,753 - api.main - INFO - STDERR: [11/30 13:57:08] DEBUG | 5.0s sleep +2024-11-30 13:57:13,973 - api.main - INFO - STDERR: [11/30 13:57:13] INFO | Screen turned off for sleeping time. +2024-11-30 13:57:14,076 - api.main - INFO - STDERR: [11/30 13:57:14] INFO | -------- FINISH: 13:57:08 - 2024/11/30 -------- +2024-11-30 13:57:14,076 - api.main - INFO - STDERR: [11/30 13:57:14] INFO | +2024-11-30 13:57:14,077 - api.main - INFO - STDERR: [11/30 13:57:14] INFO | TOTAL +2024-11-30 13:57:14,077 - api.main - INFO - STDERR: [11/30 13:57:14] INFO | Completed sessions: 1 +2024-11-30 13:57:14,077 - api.main - INFO - STDERR: [11/30 13:57:14] INFO | Total duration: 0:24:02 +2024-11-30 13:57:14,077 - api.main - INFO - STDERR: [11/30 13:57:14] INFO | Total interactions: (36) 36 for mnaumanndesign +2024-11-30 13:57:14,078 - api.main - INFO - STDERR: [11/30 13:57:14] INFO | Successful interactions: (8) 8 for mnaumanndesign +2024-11-30 13:57:14,078 - api.main - INFO - STDERR: [11/30 13:57:14] INFO | Total followed: (4) 4 for mnaumanndesign +2024-11-30 13:57:14,078 - api.main - INFO - STDERR: [11/30 13:57:14] INFO | Total likes: 11 +2024-11-30 13:57:14,078 - api.main - INFO - STDERR: [11/30 13:57:14] INFO | Total comments: 0 +2024-11-30 13:57:14,078 - api.main - INFO - STDERR: [11/30 13:57:14] INFO | Total PM sent: 0 +2024-11-30 13:57:14,078 - api.main - INFO - STDERR: [11/30 13:57:14] INFO | Total watched: 0 +2024-11-30 13:57:14,079 - api.main - INFO - STDERR: [11/30 13:57:14] INFO | Total unfollowed: 0 +2024-11-30 13:57:14,079 - api.main - INFO - STDERR: [11/30 13:57:14] INFO | This bot is backed with love by me for free. If you like using it, consider donating to help keep me motivated: https://www.buymeacoffee.com/mastrolube +2024-11-30 13:57:14,100 - api.main - INFO - STDERR: # clear builtins._ +2024-11-30 13:57:14,100 - api.main - INFO - STDERR: # clear sys.path +2024-11-30 13:57:14,100 - api.main - INFO - STDERR: # clear sys.argv +2024-11-30 13:57:14,100 - api.main - INFO - STDERR: # clear sys.ps1 +2024-11-30 13:57:14,100 - api.main - INFO - STDERR: # clear sys.ps2 +2024-11-30 13:57:14,100 - api.main - INFO - STDERR: # clear sys.last_type +2024-11-30 13:57:14,100 - api.main - INFO - STDERR: # clear sys.last_value +2024-11-30 13:57:14,100 - api.main - INFO - STDERR: # clear sys.last_traceback +2024-11-30 13:57:14,100 - api.main - INFO - STDERR: # clear sys.path_hooks +2024-11-30 13:57:14,100 - api.main - INFO - STDERR: # clear sys.path_importer_cache +2024-11-30 13:57:14,100 - api.main - INFO - STDERR: # clear sys.meta_path +2024-11-30 13:57:14,100 - api.main - INFO - STDERR: # clear sys.__interactivehook__ +2024-11-30 13:57:14,101 - api.main - INFO - STDERR: # restore sys.stdin +2024-11-30 13:57:14,101 - api.main - INFO - STDERR: # restore sys.stdout +2024-11-30 13:57:14,101 - api.main - INFO - STDERR: # restore sys.stderr +2024-11-30 13:57:14,101 - api.main - INFO - STDERR: # cleanup[2] removing sys +2024-11-30 13:57:14,101 - api.main - INFO - STDERR: # cleanup[2] removing builtins +2024-11-30 13:57:14,101 - api.main - INFO - STDERR: # cleanup[2] removing _frozen_importlib +2024-11-30 13:57:14,101 - api.main - INFO - STDERR: # cleanup[2] removing _imp +2024-11-30 13:57:14,101 - api.main - INFO - STDERR: # cleanup[2] removing _thread +2024-11-30 13:57:14,101 - api.main - INFO - STDERR: # cleanup[2] removing _warnings +2024-11-30 13:57:14,101 - api.main - INFO - STDERR: # cleanup[2] removing _weakref +2024-11-30 13:57:14,101 - api.main - INFO - STDERR: # cleanup[2] removing _io +2024-11-30 13:57:14,101 - api.main - INFO - STDERR: # cleanup[2] removing marshal +2024-11-30 13:57:14,101 - api.main - INFO - STDERR: # cleanup[2] removing nt +2024-11-30 13:57:14,101 - api.main - INFO - STDERR: # cleanup[2] removing winreg +2024-11-30 13:57:14,101 - api.main - INFO - STDERR: # cleanup[2] removing _frozen_importlib_external +2024-11-30 13:57:14,101 - api.main - INFO - STDERR: # cleanup[2] removing time +2024-11-30 13:57:14,101 - api.main - INFO - STDERR: # cleanup[2] removing zipimport +2024-11-30 13:57:14,101 - api.main - INFO - STDERR: # cleanup[2] removing _codecs +2024-11-30 13:57:14,101 - api.main - INFO - STDERR: # cleanup[2] removing codecs +2024-11-30 13:57:14,101 - api.main - INFO - STDERR: # cleanup[2] removing encodings.aliases +2024-11-30 13:57:14,101 - api.main - INFO - STDERR: # cleanup[2] removing encodings +2024-11-30 13:57:14,101 - api.main - INFO - STDERR: # cleanup[2] removing encodings.utf_8 +2024-11-30 13:57:14,101 - api.main - INFO - STDERR: # cleanup[2] removing encodings.cp1252 +2024-11-30 13:57:14,103 - api.main - INFO - STDERR: # cleanup[2] removing _signal +2024-11-30 13:57:14,103 - api.main - INFO - STDERR: # cleanup[2] removing encodings.latin_1 +2024-11-30 13:57:14,103 - api.main - INFO - STDERR: # cleanup[2] removing _abc +2024-11-30 13:57:14,103 - api.main - INFO - STDERR: # cleanup[2] removing abc +2024-11-30 13:57:14,103 - api.main - INFO - STDERR: # cleanup[2] removing io +2024-11-30 13:57:14,103 - api.main - INFO - STDERR: # cleanup[2] removing __main__ +2024-11-30 13:57:14,103 - api.main - INFO - STDERR: # destroy __main__ +2024-11-30 13:57:14,103 - api.main - INFO - STDERR: # cleanup[2] removing _stat +2024-11-30 13:57:14,103 - api.main - INFO - STDERR: # cleanup[2] removing stat +2024-11-30 13:57:14,103 - api.main - INFO - STDERR: # cleanup[2] removing _collections_abc +2024-11-30 13:57:14,103 - api.main - INFO - STDERR: # cleanup[2] removing genericpath +2024-11-30 13:57:14,103 - api.main - INFO - STDERR: # cleanup[2] removing ntpath +2024-11-30 13:57:14,103 - api.main - INFO - STDERR: # cleanup[2] removing os.path +2024-11-30 13:57:14,103 - api.main - INFO - STDERR: # cleanup[2] removing os +2024-11-30 13:57:14,104 - api.main - INFO - STDERR: # cleanup[2] removing _sitebuiltins +2024-11-30 13:57:14,104 - api.main - INFO - STDERR: # cleanup[2] removing _locale +2024-11-30 13:57:14,104 - api.main - INFO - STDERR: # cleanup[2] removing _bootlocale +2024-11-30 13:57:14,104 - api.main - INFO - STDERR: # destroy _bootlocale +2024-11-30 13:57:14,104 - api.main - INFO - STDERR: # cleanup[2] removing _distutils_hack +2024-11-30 13:57:14,104 - api.main - INFO - STDERR: # destroy _distutils_hack +2024-11-30 13:57:14,104 - api.main - INFO - STDERR: # cleanup[2] removing site +2024-11-30 13:57:14,104 - api.main - INFO - STDERR: # destroy site +2024-11-30 13:57:14,104 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core +2024-11-30 13:57:14,104 - api.main - INFO - STDERR: # cleanup[2] removing types +2024-11-30 13:57:14,104 - api.main - INFO - STDERR: # cleanup[2] removing enum +2024-11-30 13:57:14,104 - api.main - INFO - STDERR: # cleanup[2] removing _sre +2024-11-30 13:57:14,104 - api.main - INFO - STDERR: # cleanup[2] removing sre_constants +2024-11-30 13:57:14,104 - api.main - INFO - STDERR: # destroy sre_constants +2024-11-30 13:57:14,104 - api.main - INFO - STDERR: # cleanup[2] removing sre_parse +2024-11-30 13:57:14,104 - api.main - INFO - STDERR: # cleanup[2] removing sre_compile +2024-11-30 13:57:14,105 - api.main - INFO - STDERR: # cleanup[2] removing _heapq +2024-11-30 13:57:14,105 - api.main - INFO - STDERR: # cleanup[2] removing heapq +2024-11-30 13:57:14,105 - api.main - INFO - STDERR: # cleanup[2] removing itertools +2024-11-30 13:57:14,105 - api.main - INFO - STDERR: # cleanup[2] removing keyword +2024-11-30 13:57:14,105 - api.main - INFO - STDERR: # cleanup[2] removing _operator +2024-11-30 13:57:14,105 - api.main - INFO - STDERR: # cleanup[2] removing operator +2024-11-30 13:57:14,105 - api.main - INFO - STDERR: # cleanup[2] removing reprlib +2024-11-30 13:57:14,105 - api.main - INFO - STDERR: # cleanup[2] removing _collections +2024-11-30 13:57:14,105 - api.main - INFO - STDERR: # cleanup[2] removing collections +2024-11-30 13:57:14,105 - api.main - INFO - STDERR: # cleanup[2] removing _functools +2024-11-30 13:57:14,105 - api.main - INFO - STDERR: # cleanup[2] removing functools +2024-11-30 13:57:14,105 - api.main - INFO - STDERR: # cleanup[2] removing copyreg +2024-11-30 13:57:14,105 - api.main - INFO - STDERR: # cleanup[2] removing re +2024-11-30 13:57:14,105 - api.main - INFO - STDERR: # cleanup[2] removing token +2024-11-30 13:57:14,105 - api.main - INFO - STDERR: # cleanup[2] removing tokenize +2024-11-30 13:57:14,106 - api.main - INFO - STDERR: # cleanup[2] removing linecache +2024-11-30 13:57:14,106 - api.main - INFO - STDERR: # cleanup[2] removing traceback +2024-11-30 13:57:14,106 - api.main - INFO - STDERR: # cleanup[2] removing warnings +2024-11-30 13:57:14,106 - api.main - INFO - STDERR: # cleanup[2] removing _weakrefset +2024-11-30 13:57:14,106 - api.main - INFO - STDERR: # destroy _weakrefset +2024-11-30 13:57:14,106 - api.main - INFO - STDERR: # cleanup[2] removing weakref +2024-11-30 13:57:14,106 - api.main - INFO - STDERR: # cleanup[2] removing collections.abc +2024-11-30 13:57:14,106 - api.main - INFO - STDERR: # cleanup[2] removing _string +2024-11-30 13:57:14,106 - api.main - INFO - STDERR: # cleanup[2] removing string +2024-11-30 13:57:14,106 - api.main - INFO - STDERR: # cleanup[2] removing threading +2024-11-30 13:57:14,106 - api.main - INFO - STDERR: # cleanup[2] removing atexit +2024-11-30 13:57:14,106 - api.main - INFO - STDERR: # cleanup[2] removing logging +2024-11-30 13:57:14,106 - api.main - INFO - STDERR: # cleanup[2] removing math +2024-11-30 13:57:14,106 - api.main - INFO - STDERR: # cleanup[2] removing _bisect +2024-11-30 13:57:14,106 - api.main - INFO - STDERR: # cleanup[2] removing bisect +2024-11-30 13:57:14,106 - api.main - INFO - STDERR: # cleanup[2] removing _random +2024-11-30 13:57:14,106 - api.main - INFO - STDERR: # cleanup[2] removing _sha512 +2024-11-30 13:57:14,106 - api.main - INFO - STDERR: # cleanup[2] removing random +2024-11-30 13:57:14,106 - api.main - INFO - STDERR: # cleanup[2] removing _datetime +2024-11-30 13:57:14,106 - api.main - INFO - STDERR: # cleanup[2] removing datetime +2024-11-30 13:57:14,106 - api.main - INFO - STDERR: # cleanup[2] removing contextlib +2024-11-30 13:57:14,106 - api.main - INFO - STDERR: # cleanup[2] removing colorama.ansi +2024-11-30 13:57:14,106 - api.main - INFO - STDERR: # cleanup[2] removing _ctypes +2024-11-30 13:57:14,106 - api.main - INFO - STDERR: # cleanup[2] removing _struct +2024-11-30 13:57:14,107 - api.main - INFO - STDERR: # cleanup[2] removing struct +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # cleanup[2] removing ctypes._endian +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # cleanup[2] removing ctypes +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # cleanup[2] removing ctypes.wintypes +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # cleanup[2] removing colorama.win32 +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # cleanup[2] removing colorama.winterm +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # cleanup[2] removing colorama.ansitowin32 +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # cleanup[2] removing colorama.initialise +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # cleanup[2] removing colorama +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # destroy colorama +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # destroy colorama.ansi +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # destroy colorama.winterm +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # destroy colorama.ansitowin32 +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # destroy colorama.initialise +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # cleanup[2] removing typing +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # cleanup[2] removing gettext +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # destroy gettext +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # cleanup[2] removing argparse +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # cleanup[2] removing _json +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # cleanup[2] removing json.scanner +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # cleanup[2] removing json.decoder +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # cleanup[2] removing json.encoder +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # cleanup[2] removing json +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # cleanup[2] removing posixpath +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # cleanup[2] removing fnmatch +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # cleanup[2] removing glob +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # cleanup[2] removing textwrap +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # cleanup[2] removing configargparse +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # cleanup[2] removing yaml.error +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # cleanup[2] removing yaml.tokens +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # cleanup[2] removing yaml.events +2024-11-30 13:57:14,108 - api.main - INFO - STDERR: # cleanup[2] removing yaml.nodes +2024-11-30 13:57:14,110 - api.main - INFO - STDERR: # cleanup[2] removing yaml.reader +2024-11-30 13:57:14,110 - api.main - INFO - STDERR: # cleanup[2] removing yaml.scanner +2024-11-30 13:57:14,110 - api.main - INFO - STDERR: # cleanup[2] removing yaml.parser +2024-11-30 13:57:14,110 - api.main - INFO - STDERR: # cleanup[2] removing yaml.composer +2024-11-30 13:57:14,110 - api.main - INFO - STDERR: # cleanup[2] removing binascii +2024-11-30 13:57:14,110 - api.main - INFO - STDERR: # cleanup[2] removing base64 +2024-11-30 13:57:14,110 - api.main - INFO - STDERR: # cleanup[2] removing yaml.constructor +2024-11-30 13:57:14,110 - api.main - INFO - STDERR: # cleanup[2] removing yaml.resolver +2024-11-30 13:57:14,110 - api.main - INFO - STDERR: # cleanup[2] removing yaml.loader +2024-11-30 13:57:14,110 - api.main - INFO - STDERR: # cleanup[2] removing yaml.emitter +2024-11-30 13:57:14,110 - api.main - INFO - STDERR: # cleanup[2] removing yaml.serializer +2024-11-30 13:57:14,110 - api.main - INFO - STDERR: # cleanup[2] removing yaml.representer +2024-11-30 13:57:14,110 - api.main - INFO - STDERR: # cleanup[2] removing yaml.dumper +2024-11-30 13:57:14,110 - api.main - INFO - STDERR: # cleanup[2] removing cython_runtime +2024-11-30 13:57:14,110 - api.main - INFO - STDERR: # cleanup[2] removing yaml._yaml +2024-11-30 13:57:14,111 - api.main - INFO - STDERR: # cleanup[2] removing yaml.cyaml +2024-11-30 13:57:14,111 - api.main - INFO - STDERR: # cleanup[2] removing yaml +2024-11-30 13:57:14,111 - api.main - INFO - STDERR: # cleanup[2] removing _ast +2024-11-30 13:57:14,111 - api.main - INFO - STDERR: # destroy _ast +2024-11-30 13:57:14,111 - api.main - INFO - STDERR: # cleanup[2] removing ast +2024-11-30 13:57:14,111 - api.main - INFO - STDERR: # cleanup[2] removing _opcode +2024-11-30 13:57:14,111 - api.main - INFO - STDERR: # cleanup[2] removing opcode +2024-11-30 13:57:14,111 - api.main - INFO - STDERR: # destroy opcode +2024-11-30 13:57:14,111 - api.main - INFO - STDERR: # cleanup[2] removing dis +2024-11-30 13:57:14,111 - api.main - INFO - STDERR: # cleanup[2] removing importlib._bootstrap +2024-11-30 13:57:14,111 - api.main - INFO - STDERR: # cleanup[2] removing importlib._bootstrap_external +2024-11-30 13:57:14,111 - api.main - INFO - STDERR: # cleanup[2] removing importlib +2024-11-30 13:57:14,111 - api.main - INFO - STDERR: # cleanup[2] removing importlib.machinery +2024-11-30 13:57:14,111 - api.main - INFO - STDERR: # cleanup[2] removing inspect +2024-11-30 13:57:14,111 - api.main - INFO - STDERR: # cleanup[2] removing importlib.abc +2024-11-30 13:57:14,112 - api.main - INFO - STDERR: # cleanup[2] removing importlib.util +2024-11-30 13:57:14,112 - api.main - INFO - STDERR: # cleanup[2] removing pkgutil +2024-11-30 13:57:14,112 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.plugin_loader +2024-11-30 13:57:14,112 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.config +2024-11-30 13:57:14,112 - api.main - INFO - STDERR: # cleanup[2] removing errno +2024-11-30 13:57:14,112 - api.main - INFO - STDERR: # cleanup[2] removing signal +2024-11-30 13:57:14,112 - api.main - INFO - STDERR: # cleanup[2] removing msvcrt +2024-11-30 13:57:14,112 - api.main - INFO - STDERR: # cleanup[2] removing _winapi +2024-11-30 13:57:14,112 - api.main - INFO - STDERR: # cleanup[2] removing subprocess +2024-11-30 13:57:14,112 - api.main - INFO - STDERR: # cleanup[2] removing __future__ +2024-11-30 13:57:14,112 - api.main - INFO - STDERR: # destroy __future__ +2024-11-30 13:57:14,112 - api.main - INFO - STDERR: # cleanup[2] removing _hashlib +2024-11-30 13:57:14,112 - api.main - INFO - STDERR: # cleanup[2] removing _blake2 +2024-11-30 13:57:14,112 - api.main - INFO - STDERR: # cleanup[2] removing hashlib +2024-11-30 13:57:14,112 - api.main - INFO - STDERR: # cleanup[2] removing zlib +2024-11-30 13:57:14,112 - api.main - INFO - STDERR: # cleanup[2] removing _compression +2024-11-30 13:57:14,113 - api.main - INFO - STDERR: # cleanup[2] removing _bz2 +2024-11-30 13:57:14,113 - api.main - INFO - STDERR: # destroy _bz2 +2024-11-30 13:57:14,113 - api.main - INFO - STDERR: # cleanup[2] removing bz2 +2024-11-30 13:57:14,113 - api.main - INFO - STDERR: # cleanup[2] removing _lzma +2024-11-30 13:57:14,113 - api.main - INFO - STDERR: # cleanup[2] removing lzma +2024-11-30 13:57:14,113 - api.main - INFO - STDERR: # cleanup[2] removing shutil +2024-11-30 13:57:14,113 - api.main - INFO - STDERR: # cleanup[2] removing xml +2024-11-30 13:57:14,113 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.domreg +2024-11-30 13:57:14,113 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom +2024-11-30 13:57:14,113 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.minicompat +2024-11-30 13:57:14,113 - api.main - INFO - STDERR: # cleanup[2] removing copy +2024-11-30 13:57:14,113 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.NodeFilter +2024-11-30 13:57:14,113 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.xmlbuilder +2024-11-30 13:57:14,113 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.minidom +2024-11-30 13:57:14,113 - api.main - INFO - STDERR: # cleanup[2] removing urllib +2024-11-30 13:57:14,114 - api.main - INFO - STDERR: # cleanup[2] removing urllib.parse +2024-11-30 13:57:14,114 - api.main - INFO - STDERR: # cleanup[2] removing pathlib +2024-11-30 13:57:14,114 - api.main - INFO - STDERR: # cleanup[2] removing packaging.__about__ +2024-11-30 13:57:14,114 - api.main - INFO - STDERR: # cleanup[2] removing packaging +2024-11-30 13:57:14,114 - api.main - INFO - STDERR: # cleanup[2] removing packaging._structures +2024-11-30 13:57:14,114 - api.main - INFO - STDERR: # cleanup[2] removing packaging._typing +2024-11-30 13:57:14,114 - api.main - INFO - STDERR: # cleanup[2] removing packaging.version +2024-11-30 13:57:14,114 - api.main - INFO - STDERR: # cleanup[2] removing deprecation +2024-11-30 13:57:14,114 - api.main - INFO - STDERR: # destroy deprecation +2024-11-30 13:57:14,114 - api.main - INFO - STDERR: # cleanup[2] removing _socket +2024-11-30 13:57:14,114 - api.main - INFO - STDERR: # cleanup[2] removing select +2024-11-30 13:57:14,114 - api.main - INFO - STDERR: # cleanup[2] removing selectors +2024-11-30 13:57:14,114 - api.main - INFO - STDERR: # cleanup[2] removing socket +2024-11-30 13:57:14,114 - api.main - INFO - STDERR: # cleanup[2] removing shlex +2024-11-30 13:57:14,114 - api.main - INFO - STDERR: # cleanup[2] removing tempfile +2024-11-30 13:57:14,115 - api.main - INFO - STDERR: # cleanup[2] removing zipfile +2024-11-30 13:57:14,115 - api.main - INFO - STDERR: # cleanup[2] removing whichcraft +2024-11-30 13:57:14,115 - api.main - INFO - STDERR: # cleanup[2] removing xml.parsers +2024-11-30 13:57:14,115 - api.main - INFO - STDERR: # cleanup[2] removing pyexpat.errors +2024-11-30 13:57:14,115 - api.main - INFO - STDERR: # cleanup[2] removing pyexpat.model +2024-11-30 13:57:14,115 - api.main - INFO - STDERR: # cleanup[2] removing pyexpat +2024-11-30 13:57:14,115 - api.main - INFO - STDERR: # cleanup[2] removing xml.parsers.expat.model +2024-11-30 13:57:14,115 - api.main - INFO - STDERR: # cleanup[2] removing xml.parsers.expat.errors +2024-11-30 13:57:14,115 - api.main - INFO - STDERR: # cleanup[2] removing xml.parsers.expat +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax.handler +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax._exceptions +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax.xmlreader +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing email +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing http +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing email.errors +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing email.quoprimime +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing email.base64mime +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing quopri +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing email.encoders +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing email.charset +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing email.header +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing locale +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing calendar +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing email._parseaddr +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing email.utils +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing email._policybase +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing email.feedparser +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing email.parser +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing uu +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing email._encoded_words +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing email.iterators +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing email.message +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing _ssl +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing ssl +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing http.client +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing urllib.response +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing urllib.error +2024-11-30 13:57:14,116 - api.main - INFO - STDERR: # cleanup[2] removing nturl2path +2024-11-30 13:57:14,117 - api.main - INFO - STDERR: # destroy nturl2path +2024-11-30 13:57:14,117 - api.main - INFO - STDERR: # cleanup[2] removing urllib.request +2024-11-30 13:57:14,117 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax.saxutils +2024-11-30 13:57:14,117 - api.main - INFO - STDERR: # cleanup[2] removing platform +2024-11-30 13:57:14,117 - api.main - INFO - STDERR: # cleanup[2] removing xmltodict +2024-11-30 13:57:14,117 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.apkfile +2024-11-30 13:57:14,117 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml +2024-11-30 13:57:14,117 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml.chunk +2024-11-30 13:57:14,118 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml.arscparser +2024-11-30 13:57:14,118 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml.public +2024-11-30 13:57:14,118 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml.axmlparser +2024-11-30 13:57:14,118 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex +2024-11-30 13:57:14,118 - api.main - INFO - STDERR: # cleanup[2] removing array +2024-11-30 13:57:14,118 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.util +2024-11-30 13:57:14,118 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.byteio +2024-11-30 13:57:14,118 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.dalvikformats +2024-11-30 13:57:14,119 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.dalvik +2024-11-30 13:57:14,119 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.dexparser +2024-11-30 13:57:14,119 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.manifest +2024-11-30 13:57:14,119 - api.main - INFO - STDERR: # cleanup[2] removing cigam +2024-11-30 13:57:14,119 - api.main - INFO - STDERR: # destroy cigam +2024-11-30 13:57:14,119 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2 +2024-11-30 13:57:14,119 - api.main - INFO - STDERR: # cleanup[2] removing plistlib +2024-11-30 13:57:14,119 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.util +2024-11-30 13:57:14,119 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.unicode +2024-11-30 13:57:14,119 - api.main - INFO - STDERR: # destroy pyparsing.unicode +2024-11-30 13:57:14,119 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.exceptions +2024-11-30 13:57:14,119 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.actions +2024-11-30 13:57:14,119 - api.main - INFO - STDERR: # cleanup[2] removing pprint +2024-11-30 13:57:14,119 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.results +2024-11-30 13:57:14,119 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.core +2024-11-30 13:57:14,119 - api.main - INFO - STDERR: # cleanup[2] removing html.entities +2024-11-30 13:57:14,119 - api.main - INFO - STDERR: # cleanup[2] removing html +2024-11-30 13:57:14,119 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.helpers +2024-11-30 13:57:14,119 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.testing +2024-11-30 13:57:14,119 - api.main - INFO - STDERR: # destroy pyparsing.testing +2024-11-30 13:57:14,119 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.common +2024-11-30 13:57:14,119 - api.main - INFO - STDERR: # destroy pyparsing.common +2024-11-30 13:57:14,119 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing +2024-11-30 13:57:14,120 - api.main - INFO - STDERR: # destroy pyparsing +2024-11-30 13:57:14,120 - api.main - INFO - STDERR: # cleanup[2] removing packaging._compat +2024-11-30 13:57:14,120 - api.main - INFO - STDERR: # cleanup[2] removing setuptools._distutils +2024-11-30 13:57:14,120 - api.main - INFO - STDERR: # cleanup[2] removing jaraco +2024-11-30 13:57:14,120 - api.main - INFO - STDERR: # destroy jaraco +2024-11-30 13:57:14,120 - api.main - INFO - STDERR: # cleanup[2] removing _queue +2024-11-30 13:57:14,120 - api.main - INFO - STDERR: # cleanup[2] removing queue +2024-11-30 13:57:14,120 - api.main - INFO - STDERR: # cleanup[2] removing more_itertools.recipes +2024-11-30 13:57:14,120 - api.main - INFO - STDERR: # cleanup[2] removing more_itertools.more +2024-11-30 13:57:14,121 - api.main - INFO - STDERR: # cleanup[2] removing more_itertools +2024-11-30 13:57:14,121 - api.main - INFO - STDERR: # cleanup[2] removing jaraco.functools +2024-11-30 13:57:14,121 - api.main - INFO - STDERR: # destroy jaraco.functools +2024-11-30 13:57:14,121 - api.main - INFO - STDERR: # cleanup[2] removing distutils.compat.py38 +2024-11-30 13:57:14,121 - api.main - INFO - STDERR: # cleanup[2] removing distutils.compat +2024-11-30 13:57:14,121 - api.main - INFO - STDERR: # cleanup[2] removing distutils.compat.py39 +2024-11-30 13:57:14,121 - api.main - INFO - STDERR: # cleanup[2] removing distutils.errors +2024-11-30 13:57:14,121 - api.main - INFO - STDERR: # cleanup[2] removing distutils._modified +2024-11-30 13:57:14,121 - api.main - INFO - STDERR: # cleanup[2] removing distutils._log +2024-11-30 13:57:14,121 - api.main - INFO - STDERR: # cleanup[2] removing distutils.file_util +2024-11-30 13:57:14,121 - api.main - INFO - STDERR: # cleanup[2] removing distutils.dir_util +2024-11-30 13:57:14,121 - api.main - INFO - STDERR: # cleanup[2] removing distutils.debug +2024-11-30 13:57:14,121 - api.main - INFO - STDERR: # cleanup[2] removing distutils.spawn +2024-11-30 13:57:14,121 - api.main - INFO - STDERR: # cleanup[2] removing distutils.archive_util +2024-11-30 13:57:14,121 - api.main - INFO - STDERR: # cleanup[2] removing sysconfig +2024-11-30 13:57:14,121 - api.main - INFO - STDERR: # cleanup[2] removing distutils.util +2024-11-30 13:57:14,122 - api.main - INFO - STDERR: # cleanup[2] removing distutils.cmd +2024-11-30 13:57:14,122 - api.main - INFO - STDERR: # cleanup[2] removing distutils +2024-11-30 13:57:14,122 - api.main - INFO - STDERR: # cleanup[2] removing packaging.tags +2024-11-30 13:57:14,122 - api.main - INFO - STDERR: # cleanup[2] removing packaging.utils +2024-11-30 13:57:14,122 - api.main - INFO - STDERR: # cleanup[2] removing packaging.specifiers +2024-11-30 13:57:14,122 - api.main - INFO - STDERR: # cleanup[2] removing packaging.markers +2024-11-30 13:57:14,122 - api.main - INFO - STDERR: # cleanup[2] removing packaging.requirements +2024-11-30 13:57:14,122 - api.main - INFO - STDERR: # cleanup[2] removing importlib._common +2024-11-30 13:57:14,122 - api.main - INFO - STDERR: # cleanup[2] removing importlib.resources +2024-11-30 13:57:14,122 - api.main - INFO - STDERR: # cleanup[2] removing backports +2024-11-30 13:57:14,122 - api.main - INFO - STDERR: # destroy backports +2024-11-30 13:57:14,122 - api.main - INFO - STDERR: # cleanup[2] removing backports.tarfile.compat +2024-11-30 13:57:14,122 - api.main - INFO - STDERR: # cleanup[2] removing backports.tarfile.compat.py38 +2024-11-30 13:57:14,122 - api.main - INFO - STDERR: # cleanup[2] removing backports.tarfile +2024-11-30 13:57:14,122 - api.main - INFO - STDERR: # cleanup[2] removing jaraco.context +2024-11-30 13:57:14,122 - api.main - INFO - STDERR: # destroy jaraco.context +2024-11-30 13:57:14,123 - api.main - INFO - STDERR: # cleanup[2] removing jaraco.text +2024-11-30 13:57:14,123 - api.main - INFO - STDERR: # destroy jaraco.text +2024-11-30 13:57:14,123 - api.main - INFO - STDERR: # cleanup[2] removing platformdirs.api +2024-11-30 13:57:14,123 - api.main - INFO - STDERR: # cleanup[2] removing platformdirs.version +2024-11-30 13:57:14,123 - api.main - INFO - STDERR: # cleanup[2] removing platformdirs.windows +2024-11-30 13:57:14,123 - api.main - INFO - STDERR: # cleanup[2] removing platformdirs +2024-11-30 13:57:14,123 - api.main - INFO - STDERR: # destroy platformdirs +2024-11-30 13:57:14,123 - api.main - INFO - STDERR: # cleanup[2] removing pkg_resources +2024-11-30 13:57:14,123 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._utils +2024-11-30 13:57:14,123 - api.main - INFO - STDERR: # cleanup[2] removing adbutils.errors +2024-11-30 13:57:14,123 - api.main - INFO - STDERR: # cleanup[2] removing dataclasses +2024-11-30 13:57:14,123 - api.main - INFO - STDERR: # destroy dataclasses +2024-11-30 13:57:14,123 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._proto +2024-11-30 13:57:14,123 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._version +2024-11-30 13:57:14,123 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._adb +2024-11-30 13:57:14,124 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages +2024-11-30 13:57:14,124 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six +2024-11-30 13:57:14,124 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six.moves +2024-11-30 13:57:14,124 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six.moves.http_client +2024-11-30 13:57:14,124 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.exceptions +2024-11-30 13:57:14,124 - api.main - INFO - STDERR: # cleanup[2] removing urllib3._version +2024-11-30 13:57:14,124 - api.main - INFO - STDERR: # cleanup[2] removing urllib3._collections +2024-11-30 13:57:14,124 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.contrib +2024-11-30 13:57:14,124 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.contrib._appengine_environ +2024-11-30 13:57:14,124 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.wait +2024-11-30 13:57:14,124 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.connection +2024-11-30 13:57:14,124 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.request +2024-11-30 13:57:14,124 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.response +2024-11-30 13:57:14,124 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.retry +2024-11-30 13:57:14,124 - api.main - INFO - STDERR: # cleanup[2] removing hmac +2024-11-30 13:57:14,124 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.url +2024-11-30 13:57:14,124 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.ssltransport +2024-11-30 13:57:14,124 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.ssl_ +2024-11-30 13:57:14,124 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.timeout +2024-11-30 13:57:14,124 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util +2024-11-30 13:57:14,124 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.proxy +2024-11-30 13:57:14,124 - api.main - INFO - STDERR: # cleanup[2] removing ipaddress +2024-11-30 13:57:14,124 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.ssl_match_hostname +2024-11-30 13:57:14,125 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.connection +2024-11-30 13:57:14,125 - api.main - INFO - STDERR: # cleanup[2] removing mimetypes +2024-11-30 13:57:14,125 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.fields +2024-11-30 13:57:14,125 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.filepost +2024-11-30 13:57:14,125 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six.moves.urllib +2024-11-30 13:57:14,125 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six.moves.urllib.parse +2024-11-30 13:57:14,125 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.request +2024-11-30 13:57:14,125 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.response +2024-11-30 13:57:14,125 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.queue +2024-11-30 13:57:14,125 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.connectionpool +2024-11-30 13:57:14,125 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.poolmanager +2024-11-30 13:57:14,125 - api.main - INFO - STDERR: # cleanup[2] removing urllib3 +2024-11-30 13:57:14,125 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.constant +2024-11-30 13:57:14,125 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.md__mypyc +2024-11-30 13:57:14,125 - api.main - INFO - STDERR: # cleanup[2] removing unicodedata +2024-11-30 13:57:14,126 - api.main - INFO - STDERR: # cleanup[2] removing _multibytecodec +2024-11-30 13:57:14,126 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.utils +2024-11-30 13:57:14,126 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.md +2024-11-30 13:57:14,126 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.models +2024-11-30 13:57:14,126 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.cd +2024-11-30 13:57:14,126 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.api +2024-11-30 13:57:14,126 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.legacy +2024-11-30 13:57:14,126 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.version +2024-11-30 13:57:14,126 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer +2024-11-30 13:57:14,126 - api.main - INFO - STDERR: # cleanup[2] removing http.cookiejar +2024-11-30 13:57:14,126 - api.main - INFO - STDERR: # cleanup[2] removing http.cookies +2024-11-30 13:57:14,126 - api.main - INFO - STDERR: # cleanup[2] removing requests.compat +2024-11-30 13:57:14,126 - api.main - INFO - STDERR: # cleanup[2] removing requests.exceptions +2024-11-30 13:57:14,126 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages +2024-11-30 13:57:14,126 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six +2024-11-30 13:57:14,126 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six.moves +2024-11-30 13:57:14,127 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six.moves.http_client +2024-11-30 13:57:14,127 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.exceptions +2024-11-30 13:57:14,127 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3._version +2024-11-30 13:57:14,127 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3._collections +2024-11-30 13:57:14,127 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.contrib +2024-11-30 13:57:14,127 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.contrib._appengine_environ +2024-11-30 13:57:14,127 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.wait +2024-11-30 13:57:14,127 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.connection +2024-11-30 13:57:14,127 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.request +2024-11-30 13:57:14,127 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.response +2024-11-30 13:57:14,127 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.retry +2024-11-30 13:57:14,127 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.url +2024-11-30 13:57:14,127 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.ssltransport +2024-11-30 13:57:14,127 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.ssl_ +2024-11-30 13:57:14,127 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.timeout +2024-11-30 13:57:14,128 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util +2024-11-30 13:57:14,128 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.proxy +2024-11-30 13:57:14,128 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.ssl_match_hostname +2024-11-30 13:57:14,128 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.connection +2024-11-30 13:57:14,128 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.fields +2024-11-30 13:57:14,128 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.filepost +2024-11-30 13:57:14,128 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six.moves.urllib +2024-11-30 13:57:14,128 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six.moves.urllib.parse +2024-11-30 13:57:14,128 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.request +2024-11-30 13:57:14,128 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.response +2024-11-30 13:57:14,128 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.queue +2024-11-30 13:57:14,128 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.connectionpool +2024-11-30 13:57:14,128 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.poolmanager +2024-11-30 13:57:14,128 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3 +2024-11-30 13:57:14,128 - api.main - INFO - STDERR: # cleanup[2] removing idna.idnadata +2024-11-30 13:57:14,128 - api.main - INFO - STDERR: # cleanup[2] removing idna.intranges +2024-11-30 13:57:14,129 - api.main - INFO - STDERR: # cleanup[2] removing idna.core +2024-11-30 13:57:14,129 - api.main - INFO - STDERR: # cleanup[2] removing idna.package_data +2024-11-30 13:57:14,129 - api.main - INFO - STDERR: # cleanup[2] removing idna +2024-11-30 13:57:14,129 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna.idnadata +2024-11-30 13:57:14,129 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna.intranges +2024-11-30 13:57:14,129 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna.core +2024-11-30 13:57:14,129 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna.package_data +2024-11-30 13:57:14,129 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna +2024-11-30 13:57:14,129 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.chardet +2024-11-30 13:57:14,129 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages +2024-11-30 13:57:14,129 - api.main - INFO - STDERR: # cleanup[2] removing certifi.core +2024-11-30 13:57:14,129 - api.main - INFO - STDERR: # cleanup[2] removing certifi +2024-11-30 13:57:14,129 - api.main - INFO - STDERR: # destroy certifi +2024-11-30 13:57:14,129 - api.main - INFO - STDERR: # destroy certifi.core +2024-11-30 13:57:14,129 - api.main - INFO - STDERR: # cleanup[2] removing requests.certs +2024-11-30 13:57:14,130 - api.main - INFO - STDERR: # cleanup[2] removing requests.__version__ +2024-11-30 13:57:14,130 - api.main - INFO - STDERR: # destroy requests.__version__ +2024-11-30 13:57:14,130 - api.main - INFO - STDERR: # cleanup[2] removing requests._internal_utils +2024-11-30 13:57:14,130 - api.main - INFO - STDERR: # cleanup[2] removing requests.cookies +2024-11-30 13:57:14,130 - api.main - INFO - STDERR: # cleanup[2] removing requests.structures +2024-11-30 13:57:14,130 - api.main - INFO - STDERR: # cleanup[2] removing requests.utils +2024-11-30 13:57:14,130 - api.main - INFO - STDERR: # cleanup[2] removing requests.auth +2024-11-30 13:57:14,131 - api.main - INFO - STDERR: # cleanup[2] removing stringprep +2024-11-30 13:57:14,131 - api.main - INFO - STDERR: # cleanup[2] removing encodings.idna +2024-11-30 13:57:14,131 - api.main - INFO - STDERR: # cleanup[2] removing requests.hooks +2024-11-30 13:57:14,131 - api.main - INFO - STDERR: # cleanup[2] removing requests.status_codes +2024-11-30 13:57:14,131 - api.main - INFO - STDERR: # cleanup[2] removing requests.models +2024-11-30 13:57:14,131 - api.main - INFO - STDERR: # cleanup[2] removing requests.adapters +2024-11-30 13:57:14,131 - api.main - INFO - STDERR: # cleanup[2] removing requests.sessions +2024-11-30 13:57:14,131 - api.main - INFO - STDERR: # cleanup[2] removing requests.api +2024-11-30 13:57:14,131 - api.main - INFO - STDERR: # cleanup[2] removing requests +2024-11-30 13:57:14,131 - api.main - INFO - STDERR: # cleanup[2] removing PIL._version +2024-11-30 13:57:14,131 - api.main - INFO - STDERR: # destroy PIL._version +2024-11-30 13:57:14,131 - api.main - INFO - STDERR: # cleanup[2] removing PIL +2024-11-30 13:57:14,131 - api.main - INFO - STDERR: # destroy PIL +2024-11-30 13:57:14,131 - api.main - INFO - STDERR: # cleanup[2] removing PIL.ExifTags +2024-11-30 13:57:14,131 - api.main - INFO - STDERR: # cleanup[2] removing PIL._deprecate +2024-11-30 13:57:14,131 - api.main - INFO - STDERR: # destroy PIL._deprecate +2024-11-30 13:57:14,132 - api.main - INFO - STDERR: # cleanup[2] removing PIL.ImageMode +2024-11-30 13:57:14,132 - api.main - INFO - STDERR: # cleanup[2] removing PIL.TiffTags +2024-11-30 13:57:14,132 - api.main - INFO - STDERR: # cleanup[2] removing PIL._binary +2024-11-30 13:57:14,132 - api.main - INFO - STDERR: # destroy PIL._binary +2024-11-30 13:57:14,132 - api.main - INFO - STDERR: # cleanup[2] removing typing_extensions +2024-11-30 13:57:14,132 - api.main - INFO - STDERR: # destroy typing_extensions +2024-11-30 13:57:14,132 - api.main - INFO - STDERR: # cleanup[2] removing PIL._typing +2024-11-30 13:57:14,132 - api.main - INFO - STDERR: # destroy PIL._typing +2024-11-30 13:57:14,132 - api.main - INFO - STDERR: # cleanup[2] removing PIL._util +2024-11-30 13:57:14,132 - api.main - INFO - STDERR: # destroy PIL._util +2024-11-30 13:57:14,132 - api.main - INFO - STDERR: # cleanup[2] removing PIL._imaging +2024-11-30 13:57:14,132 - api.main - INFO - STDERR: # cleanup[2] removing PIL.Image +2024-11-30 13:57:14,132 - api.main - INFO - STDERR: # cleanup[2] removing decorator +2024-11-30 13:57:14,132 - api.main - INFO - STDERR: # destroy decorator +2024-11-30 13:57:14,132 - api.main - INFO - STDERR: # cleanup[2] removing retry.compat +2024-11-30 13:57:14,133 - api.main - INFO - STDERR: # cleanup[2] removing retry.api +2024-11-30 13:57:14,133 - api.main - INFO - STDERR: # cleanup[2] removing retry +2024-11-30 13:57:14,133 - api.main - INFO - STDERR: # destroy retry +2024-11-30 13:57:14,133 - api.main - INFO - STDERR: # destroy retry.compat +2024-11-30 13:57:14,133 - api.main - INFO - STDERR: # destroy retry.api +2024-11-30 13:57:14,133 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._device +2024-11-30 13:57:14,133 - api.main - INFO - STDERR: # cleanup[2] removing adbutils +2024-11-30 13:57:14,133 - api.main - INFO - STDERR: # cleanup[2] removing filelock._error +2024-11-30 13:57:14,133 - api.main - INFO - STDERR: # cleanup[2] removing filelock._api +2024-11-30 13:57:14,133 - api.main - INFO - STDERR: # cleanup[2] removing filelock._util +2024-11-30 13:57:14,133 - api.main - INFO - STDERR: # cleanup[2] removing filelock._soft +2024-11-30 13:57:14,133 - api.main - INFO - STDERR: # cleanup[2] removing filelock._unix +2024-11-30 13:57:14,133 - api.main - INFO - STDERR: # cleanup[2] removing filelock._windows +2024-11-30 13:57:14,133 - api.main - INFO - STDERR: # cleanup[2] removing concurrent +2024-11-30 13:57:14,133 - api.main - INFO - STDERR: # cleanup[2] removing concurrent.futures._base +2024-11-30 13:57:14,133 - api.main - INFO - STDERR: # cleanup[2] removing concurrent.futures +2024-11-30 13:57:14,133 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.constants +2024-11-30 13:57:14,133 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.format_helpers +2024-11-30 13:57:14,133 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.base_futures +2024-11-30 13:57:14,133 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.log +2024-11-30 13:57:14,133 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.coroutines +2024-11-30 13:57:14,133 - api.main - INFO - STDERR: # cleanup[2] removing _contextvars +2024-11-30 13:57:14,133 - api.main - INFO - STDERR: # cleanup[2] removing contextvars +2024-11-30 13:57:14,133 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.exceptions +2024-11-30 13:57:14,133 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.base_tasks +2024-11-30 13:57:14,133 - api.main - INFO - STDERR: # cleanup[2] removing _asyncio +2024-11-30 13:57:14,133 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.events +2024-11-30 13:57:14,133 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.futures +2024-11-30 13:57:14,135 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.protocols +2024-11-30 13:57:14,135 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.transports +2024-11-30 13:57:14,135 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.sslproto +2024-11-30 13:57:14,135 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.locks +2024-11-30 13:57:14,135 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.tasks +2024-11-30 13:57:14,135 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.staggered +2024-11-30 13:57:14,135 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.trsock +2024-11-30 13:57:14,135 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.base_events +2024-11-30 13:57:14,135 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.runners +2024-11-30 13:57:14,135 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.queues +2024-11-30 13:57:14,135 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.streams +2024-11-30 13:57:14,135 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.subprocess +2024-11-30 13:57:14,135 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.threads +2024-11-30 13:57:14,135 - api.main - INFO - STDERR: # cleanup[2] removing _overlapped +2024-11-30 13:57:14,135 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.base_subprocess +2024-11-30 13:57:14,135 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.proactor_events +2024-11-30 13:57:14,135 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.selector_events +2024-11-30 13:57:14,135 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.windows_utils +2024-11-30 13:57:14,135 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.windows_events +2024-11-30 13:57:14,135 - api.main - INFO - STDERR: # cleanup[2] removing asyncio +2024-11-30 13:57:14,135 - api.main - INFO - STDERR: # cleanup[2] removing filelock.asyncio +2024-11-30 13:57:14,135 - api.main - INFO - STDERR: # cleanup[2] removing filelock.version +2024-11-30 13:57:14,136 - api.main - INFO - STDERR: # destroy filelock.version +2024-11-30 13:57:14,136 - api.main - INFO - STDERR: # cleanup[2] removing filelock +2024-11-30 13:57:14,136 - api.main - INFO - STDERR: # cleanup[2] removing logzero.colors +2024-11-30 13:57:14,136 - api.main - INFO - STDERR: # cleanup[2] removing logzero.jsonlogger +2024-11-30 13:57:14,136 - api.main - INFO - STDERR: # cleanup[2] removing _compat_pickle +2024-11-30 13:57:14,136 - api.main - INFO - STDERR: # cleanup[2] removing _pickle +2024-11-30 13:57:14,136 - api.main - INFO - STDERR: # cleanup[2] removing pickle +2024-11-30 13:57:14,136 - api.main - INFO - STDERR: # cleanup[2] removing logging.handlers +2024-11-30 13:57:14,136 - api.main - INFO - STDERR: # cleanup[2] removing logzero +2024-11-30 13:57:14,136 - api.main - INFO - STDERR: # cleanup[2] removing six +2024-11-30 13:57:14,136 - api.main - INFO - STDERR: # cleanup[2] removing six.moves +2024-11-30 13:57:14,136 - api.main - INFO - STDERR: # cleanup[2] removing six.moves.urllib +2024-11-30 13:57:14,136 - api.main - INFO - STDERR: # cleanup[2] removing six.moves.urllib.parse +2024-11-30 13:57:14,136 - api.main - INFO - STDERR: # cleanup[2] removing cached_property +2024-11-30 13:57:14,136 - api.main - INFO - STDERR: # destroy cached_property +2024-11-30 13:57:14,136 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.wrappers +2024-11-30 13:57:14,137 - api.main - INFO - STDERR: # cleanup[2] removing wrapt._wrappers +2024-11-30 13:57:14,137 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.__wrapt__ +2024-11-30 13:57:14,137 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.patches +2024-11-30 13:57:14,137 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.weakrefs +2024-11-30 13:57:14,137 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.arguments +2024-11-30 13:57:14,137 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.decorators +2024-11-30 13:57:14,137 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.importer +2024-11-30 13:57:14,137 - api.main - INFO - STDERR: # cleanup[2] removing wrapt +2024-11-30 13:57:14,137 - api.main - INFO - STDERR: # cleanup[2] removing deprecated.classic +2024-11-30 13:57:14,137 - api.main - INFO - STDERR: # cleanup[2] removing deprecated +2024-11-30 13:57:14,137 - api.main - INFO - STDERR: # destroy deprecated +2024-11-30 13:57:14,137 - api.main - INFO - STDERR: # destroy deprecated.classic +2024-11-30 13:57:14,137 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2._proto +2024-11-30 13:57:14,137 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.abcd +2024-11-30 13:57:14,138 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.exceptions +2024-11-30 13:57:14,138 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.utils +2024-11-30 13:57:14,138 - api.main - INFO - STDERR: # cleanup[2] removing lxml +2024-11-30 13:57:14,138 - api.main - INFO - STDERR: # destroy lxml +2024-11-30 13:57:14,138 - api.main - INFO - STDERR: # cleanup[2] removing _cython_3_0_11 +2024-11-30 13:57:14,138 - api.main - INFO - STDERR: # destroy _cython_3_0_11 +2024-11-30 13:57:14,138 - api.main - INFO - STDERR: # cleanup[2] removing gc +2024-11-30 13:57:14,138 - api.main - INFO - STDERR: # cleanup[2] removing lxml._elementpath +2024-11-30 13:57:14,138 - api.main - INFO - STDERR: # cleanup[2] removing gzip +2024-11-30 13:57:14,138 - api.main - INFO - STDERR: # cleanup[2] removing lxml.etree +2024-11-30 13:57:14,138 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.xpath +2024-11-30 13:57:14,138 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2._selector +2024-11-30 13:57:14,138 - api.main - INFO - STDERR: # cleanup[2] removing tarfile +2024-11-30 13:57:14,138 - api.main - INFO - STDERR: # cleanup[2] removing progress +2024-11-30 13:57:14,138 - api.main - INFO - STDERR: # cleanup[2] removing progress.colors +2024-11-30 13:57:14,139 - api.main - INFO - STDERR: # cleanup[2] removing progress.bar +2024-11-30 13:57:14,139 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.version +2024-11-30 13:57:14,139 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.init +2024-11-30 13:57:14,139 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.settings +2024-11-30 13:57:14,139 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.swipe +2024-11-30 13:57:14,139 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.watcher +2024-11-30 13:57:14,139 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2 +2024-11-30 13:57:14,139 - api.main - INFO - STDERR: # cleanup[2] removing emoji.unicode_codes.data_dict +2024-11-30 13:57:14,139 - api.main - INFO - STDERR: # cleanup[2] removing emoji.unicode_codes +2024-11-30 13:57:14,139 - api.main - INFO - STDERR: # cleanup[2] removing emoji.core +2024-11-30 13:57:14,139 - api.main - INFO - STDERR: # cleanup[2] removing emoji +2024-11-30 13:57:14,139 - api.main - INFO - STDERR: # cleanup[2] removing _uuid +2024-11-30 13:57:14,139 - api.main - INFO - STDERR: # cleanup[2] removing uuid +2024-11-30 13:57:14,139 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.log +2024-11-30 13:57:14,139 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.report +2024-11-30 13:57:14,140 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.resources +2024-11-30 13:57:14,140 - api.main - INFO - STDERR: # cleanup[2] removing atomicwrites +2024-11-30 13:57:14,140 - api.main - INFO - STDERR: # destroy atomicwrites +2024-11-30 13:57:14,140 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.storage +2024-11-30 13:57:14,140 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.utils +2024-11-30 13:57:14,140 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.device_facade +2024-11-30 13:57:14,140 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.lang_detect_exception +2024-11-30 13:57:14,140 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.language +2024-11-30 13:57:14,140 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils +2024-11-30 13:57:14,140 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils.messages +2024-11-30 13:57:14,140 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils.unicode_block +2024-11-30 13:57:14,140 - api.main - INFO - STDERR: # cleanup[2] removing encodings.unicode_escape +2024-11-30 13:57:14,140 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils.ngram +2024-11-30 13:57:14,140 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.detector +2024-11-30 13:57:14,140 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils.lang_profile +2024-11-30 13:57:14,140 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.detector_factory +2024-11-30 13:57:14,141 - api.main - INFO - STDERR: # cleanup[2] removing langdetect +2024-11-30 13:57:14,141 - api.main - INFO - STDERR: # destroy langdetect +2024-11-30 13:57:14,141 - api.main - INFO - STDERR: # destroy langdetect.lang_detect_exception +2024-11-30 13:57:14,141 - api.main - INFO - STDERR: # destroy langdetect.language +2024-11-30 13:57:14,141 - api.main - INFO - STDERR: # destroy langdetect.utils +2024-11-30 13:57:14,141 - api.main - INFO - STDERR: # destroy langdetect.utils.unicode_block +2024-11-30 13:57:14,141 - api.main - INFO - STDERR: # destroy langdetect.utils.ngram +2024-11-30 13:57:14,141 - api.main - INFO - STDERR: # destroy langdetect.utils.lang_profile +2024-11-30 13:57:14,141 - api.main - INFO - STDERR: # destroy langdetect.detector +2024-11-30 13:57:14,141 - api.main - INFO - STDERR: # destroy langdetect.detector_factory +2024-11-30 13:57:14,141 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.views +2024-11-30 13:57:14,141 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.filter +2024-11-30 13:57:14,141 - api.main - INFO - STDERR: # cleanup[2] removing spintax.spintax +2024-11-30 13:57:14,141 - api.main - INFO - STDERR: # cleanup[2] removing spintax +2024-11-30 13:57:14,141 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.session_state +2024-11-30 13:57:14,141 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.interaction +2024-11-30 13:57:14,141 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.navigation +2024-11-30 13:57:14,141 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.persistent_list +2024-11-30 13:57:14,141 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.bot_flow +2024-11-30 13:57:14,141 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict +2024-11-30 13:57:14,141 - api.main - INFO - STDERR: # destroy GramAddict +2024-11-30 13:57:14,141 - api.main - INFO - STDERR: # cleanup[2] removing netrc +2024-11-30 13:57:14,141 - api.main - INFO - STDERR: # destroy netrc +2024-11-30 13:57:14,143 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins +2024-11-30 13:57:14,143 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.decorators +2024-11-30 13:57:14,143 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.scroll_end_detector +2024-11-30 13:57:14,143 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.action_unfollow_followers +2024-11-30 13:57:14,143 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.cloned_app +2024-11-30 13:57:14,143 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.core_arguments +2024-11-30 13:57:14,143 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.data_analytics +2024-11-30 13:57:14,143 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.dbinit +2024-11-30 13:57:14,143 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.handle_sources +2024-11-30 13:57:14,143 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_blogger +2024-11-30 13:57:14,143 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_blogger_followers +2024-11-30 13:57:14,143 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_blogger_post_likers +2024-11-30 13:57:14,143 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_feed +2024-11-30 13:57:14,143 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_hashtag_likers +2024-11-30 13:57:14,143 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_hashtag_posts +2024-11-30 13:57:14,143 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_place_likers +2024-11-30 13:57:14,143 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_place_posts +2024-11-30 13:57:14,143 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.like_from_urls +2024-11-30 13:57:14,143 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.nocodb_record_creation_test +2024-11-30 13:57:14,143 - api.main - INFO - STDERR: # cleanup[2] removing jwt.exceptions +2024-11-30 13:57:14,143 - api.main - INFO - STDERR: # cleanup[2] removing jwt.types +2024-11-30 13:57:14,144 - api.main - INFO - STDERR: # cleanup[2] removing jwt.utils +2024-11-30 13:57:14,144 - api.main - INFO - STDERR: # cleanup[2] removing jwt.algorithms +2024-11-30 13:57:14,144 - api.main - INFO - STDERR: # cleanup[2] removing jwt.api_jwk +2024-11-30 13:57:14,144 - api.main - INFO - STDERR: # cleanup[2] removing jwt.warnings +2024-11-30 13:57:14,144 - api.main - INFO - STDERR: # cleanup[2] removing jwt.api_jws +2024-11-30 13:57:14,144 - api.main - INFO - STDERR: # cleanup[2] removing jwt.api_jwt +2024-11-30 13:57:14,144 - api.main - INFO - STDERR: # cleanup[2] removing jwt.jwk_set_cache +2024-11-30 13:57:14,144 - api.main - INFO - STDERR: # cleanup[2] removing jwt.jwks_client +2024-11-30 13:57:14,145 - api.main - INFO - STDERR: # cleanup[2] removing jwt +2024-11-30 13:57:14,145 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.nocodb_storage +2024-11-30 13:57:14,145 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.remove_followers +2024-11-30 13:57:14,145 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.telegram +2024-11-30 13:57:14,145 - api.main - INFO - STDERR: # cleanup[2] removing _strptime +2024-11-30 13:57:14,152 - api.main - INFO - STDERR: # destroy _sitebuiltins +2024-11-30 13:57:14,152 - api.main - INFO - STDERR: # destroy GramAddict.core +2024-11-30 13:57:14,152 - api.main - INFO - STDERR: # destroy GramAddict.core.plugin_loader +2024-11-30 13:57:14,152 - api.main - INFO - STDERR: # destroy GramAddict.core.config +2024-11-30 13:57:14,152 - api.main - INFO - STDERR: # destroy GramAddict.core.log +2024-11-30 13:57:14,152 - api.main - INFO - STDERR: # destroy GramAddict.core.report +2024-11-30 13:57:14,152 - api.main - INFO - STDERR: # destroy GramAddict.core.resources +2024-11-30 13:57:14,152 - api.main - INFO - STDERR: # destroy GramAddict.core.utils +2024-11-30 13:57:14,152 - api.main - INFO - STDERR: # destroy GramAddict.core.device_facade +2024-11-30 13:57:14,152 - api.main - INFO - STDERR: # destroy GramAddict.core.views +2024-11-30 13:57:14,152 - api.main - INFO - STDERR: # destroy GramAddict.core.filter +2024-11-30 13:57:14,152 - api.main - INFO - STDERR: # destroy GramAddict.core.session_state +2024-11-30 13:57:14,152 - api.main - INFO - STDERR: # destroy GramAddict.core.interaction +2024-11-30 13:57:14,152 - api.main - INFO - STDERR: # destroy GramAddict.core.navigation +2024-11-30 13:57:14,153 - api.main - INFO - STDERR: # destroy GramAddict.core.persistent_list +2024-11-30 13:57:14,153 - api.main - INFO - STDERR: # destroy GramAddict.core.bot_flow +2024-11-30 13:57:14,153 - api.main - INFO - STDERR: # destroy GramAddict.core.decorators +2024-11-30 13:57:14,153 - api.main - INFO - STDERR: # destroy GramAddict.core.scroll_end_detector +2024-11-30 13:57:14,153 - api.main - INFO - STDERR: # destroy GramAddict.core.handle_sources +2024-11-30 13:57:14,153 - api.main - INFO - STDERR: # destroy GramAddict.plugins +2024-11-30 13:57:14,153 - api.main - INFO - STDERR: # destroy GramAddict.plugins.action_unfollow_followers +2024-11-30 13:57:14,153 - api.main - INFO - STDERR: # destroy GramAddict.plugins.cloned_app +2024-11-30 13:57:14,153 - api.main - INFO - STDERR: # destroy GramAddict.plugins.core_arguments +2024-11-30 13:57:14,153 - api.main - INFO - STDERR: # destroy GramAddict.plugins.data_analytics +2024-11-30 13:57:14,153 - api.main - INFO - STDERR: # destroy GramAddict.plugins.dbinit +2024-11-30 13:57:14,153 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_blogger +2024-11-30 13:57:14,153 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_blogger_followers +2024-11-30 13:57:14,153 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_blogger_post_likers +2024-11-30 13:57:14,153 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_feed +2024-11-30 13:57:14,153 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_hashtag_likers +2024-11-30 13:57:14,153 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_hashtag_posts +2024-11-30 13:57:14,154 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_place_likers +2024-11-30 13:57:14,154 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_place_posts +2024-11-30 13:57:14,154 - api.main - INFO - STDERR: # destroy GramAddict.plugins.like_from_urls +2024-11-30 13:57:14,154 - api.main - INFO - STDERR: # destroy GramAddict.plugins.nocodb_record_creation_test +2024-11-30 13:57:14,154 - api.main - INFO - STDERR: # destroy GramAddict.plugins.nocodb_storage +2024-11-30 13:57:14,154 - api.main - INFO - STDERR: # destroy GramAddict.plugins.remove_followers +2024-11-30 13:57:14,154 - api.main - INFO - STDERR: # destroy GramAddict.plugins.telegram +2024-11-30 13:57:14,154 - api.main - INFO - STDERR: # destroy pyparsing.util +2024-11-30 13:57:14,154 - api.main - INFO - STDERR: # destroy pyparsing.exceptions +2024-11-30 13:57:14,154 - api.main - INFO - STDERR: # destroy pyparsing.actions +2024-11-30 13:57:14,154 - api.main - INFO - STDERR: # destroy pyparsing.results +2024-11-30 13:57:14,155 - api.main - INFO - STDERR: # destroy pyparsing.core +2024-11-30 13:57:14,155 - api.main - INFO - STDERR: # destroy pyparsing.helpers +2024-11-30 13:57:14,155 - api.main - INFO - STDERR: # destroy langdetect.utils.messages +2024-11-30 13:57:14,155 - api.main - INFO - STDERR: # cleanup[3] wiping _strptime +2024-11-30 13:57:14,155 - api.main - INFO - STDERR: # cleanup[3] wiping jwt +2024-11-30 13:57:14,155 - api.main - INFO - STDERR: # destroy jwt.exceptions +2024-11-30 13:57:14,155 - api.main - INFO - STDERR: # destroy jwt.types +2024-11-30 13:57:14,155 - api.main - INFO - STDERR: # destroy jwt.utils +2024-11-30 13:57:14,155 - api.main - INFO - STDERR: # destroy jwt.algorithms +2024-11-30 13:57:14,155 - api.main - INFO - STDERR: # destroy jwt.api_jwk +2024-11-30 13:57:14,155 - api.main - INFO - STDERR: # destroy jwt.warnings +2024-11-30 13:57:14,155 - api.main - INFO - STDERR: # destroy jwt.api_jwt +2024-11-30 13:57:14,155 - api.main - INFO - STDERR: # destroy jwt.jwk_set_cache +2024-11-30 13:57:14,155 - api.main - INFO - STDERR: # destroy jwt.jwks_client +2024-11-30 13:57:14,155 - api.main - INFO - STDERR: # cleanup[3] wiping jwt.api_jws +2024-11-30 13:57:14,155 - api.main - INFO - STDERR: # cleanup[3] wiping spintax +2024-11-30 13:57:14,156 - api.main - INFO - STDERR: # destroy spintax.spintax +2024-11-30 13:57:14,156 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.unicode_escape +2024-11-30 13:57:14,156 - api.main - INFO - STDERR: # cleanup[3] wiping GramAddict.core.storage +2024-11-30 13:57:14,156 - api.main - INFO - STDERR: # cleanup[3] wiping uuid +2024-11-30 13:57:14,156 - api.main - INFO - STDERR: # cleanup[3] wiping _uuid +2024-11-30 13:57:14,156 - api.main - INFO - STDERR: # destroy _uuid +2024-11-30 13:57:14,156 - api.main - INFO - STDERR: # cleanup[3] wiping emoji +2024-11-30 13:57:14,156 - api.main - INFO - STDERR: # destroy emoji.core +2024-11-30 13:57:14,156 - api.main - INFO - STDERR: # cleanup[3] wiping emoji.unicode_codes +2024-11-30 13:57:14,156 - api.main - INFO - STDERR: # destroy emoji.unicode_codes.data_dict +2024-11-30 13:57:14,156 - api.main - INFO - STDERR: # cleanup[3] wiping uiautomator2 +2024-11-30 13:57:14,156 - api.main - INFO - STDERR: # destroy uiautomator2._proto +2024-11-30 13:57:14,156 - api.main - INFO - STDERR: # destroy uiautomator2._selector +2024-11-30 13:57:14,156 - api.main - INFO - STDERR: # destroy logzero +2024-11-30 13:57:14,156 - api.main - INFO - STDERR: # destroy uiautomator2.abcd +2024-11-30 13:57:14,156 - api.main - INFO - STDERR: # destroy uiautomator2.exceptions +2024-11-30 13:57:14,156 - api.main - INFO - STDERR: # destroy uiautomator2.utils +2024-11-30 13:57:14,156 - api.main - INFO - STDERR: # destroy uiautomator2.xpath +2024-11-30 13:57:14,156 - api.main - INFO - STDERR: # destroy uiautomator2.version +2024-11-30 13:57:14,156 - api.main - INFO - STDERR: # destroy uiautomator2.init +2024-11-30 13:57:14,156 - api.main - INFO - STDERR: # destroy uiautomator2.settings +2024-11-30 13:57:14,156 - api.main - INFO - STDERR: # destroy uiautomator2.swipe +2024-11-30 13:57:14,157 - api.main - INFO - STDERR: # destroy uiautomator2.watcher +2024-11-30 13:57:14,157 - api.main - INFO - STDERR: # cleanup[3] wiping progress.bar +2024-11-30 13:57:14,157 - api.main - INFO - STDERR: # cleanup[3] wiping progress.colors +2024-11-30 13:57:14,157 - api.main - INFO - STDERR: # cleanup[3] wiping progress +2024-11-30 13:57:14,157 - api.main - INFO - STDERR: # destroy progress.colors +2024-11-30 13:57:14,157 - api.main - INFO - STDERR: # destroy progress.bar +2024-11-30 13:57:14,157 - api.main - INFO - STDERR: # cleanup[3] wiping tarfile +2024-11-30 13:57:14,157 - api.main - INFO - STDERR: # cleanup[3] wiping lxml.etree +2024-11-30 13:57:14,157 - api.main - INFO - STDERR: # cleanup[3] wiping gzip +2024-11-30 13:57:14,158 - api.main - INFO - STDERR: # cleanup[3] wiping lxml._elementpath +2024-11-30 13:57:14,158 - api.main - INFO - STDERR: # cleanup[3] wiping gc +2024-11-30 13:57:14,158 - api.main - INFO - STDERR: # cleanup[3] wiping wrapt +2024-11-30 13:57:14,158 - api.main - INFO - STDERR: # destroy wrapt.wrappers +2024-11-30 13:57:14,158 - api.main - INFO - STDERR: # destroy wrapt.__wrapt__ +2024-11-30 13:57:14,158 - api.main - INFO - STDERR: # destroy wrapt.patches +2024-11-30 13:57:14,158 - api.main - INFO - STDERR: # destroy wrapt.weakrefs +2024-11-30 13:57:14,158 - api.main - INFO - STDERR: # destroy wrapt.arguments +2024-11-30 13:57:14,158 - api.main - INFO - STDERR: # destroy wrapt.decorators +2024-11-30 13:57:14,158 - api.main - INFO - STDERR: # destroy wrapt.importer +2024-11-30 13:57:14,158 - api.main - INFO - STDERR: # cleanup[3] wiping wrapt._wrappers +2024-11-30 13:57:14,158 - api.main - INFO - STDERR: # cleanup[3] wiping six.moves.urllib.parse +2024-11-30 13:57:14,158 - api.main - INFO - STDERR: # cleanup[3] wiping six.moves.urllib +2024-11-30 13:57:14,158 - api.main - INFO - STDERR: # cleanup[3] wiping six.moves +2024-11-30 13:57:14,158 - api.main - INFO - STDERR: # cleanup[3] wiping six +2024-11-30 13:57:14,158 - api.main - INFO - STDERR: # destroy six.moves.urllib +2024-11-30 13:57:14,158 - api.main - INFO - STDERR: # destroy six.moves +2024-11-30 13:57:14,158 - api.main - INFO - STDERR: # cleanup[3] wiping logging.handlers +2024-11-30 13:57:14,158 - api.main - INFO - STDERR: # destroy pickle +2024-11-30 13:57:14,158 - api.main - INFO - STDERR: # cleanup[3] wiping _pickle +2024-11-30 13:57:14,158 - api.main - INFO - STDERR: # cleanup[3] wiping _compat_pickle +2024-11-30 13:57:14,158 - api.main - INFO - STDERR: # cleanup[3] wiping logzero.jsonlogger +2024-11-30 13:57:14,158 - api.main - INFO - STDERR: # cleanup[3] wiping logzero.colors +2024-11-30 13:57:14,158 - api.main - INFO - STDERR: # cleanup[3] wiping filelock +2024-11-30 13:57:14,158 - api.main - INFO - STDERR: # destroy filelock._error +2024-11-30 13:57:14,159 - api.main - INFO - STDERR: # destroy filelock._api +2024-11-30 13:57:14,159 - api.main - INFO - STDERR: # destroy filelock._util +2024-11-30 13:57:14,159 - api.main - INFO - STDERR: # destroy filelock._soft +2024-11-30 13:57:14,159 - api.main - INFO - STDERR: # destroy filelock._unix +2024-11-30 13:57:14,159 - api.main - INFO - STDERR: # destroy filelock._windows +2024-11-30 13:57:14,159 - api.main - INFO - STDERR: # destroy filelock.asyncio +2024-11-30 13:57:14,159 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio +2024-11-30 13:57:14,159 - api.main - INFO - STDERR: # destroy asyncio.log +2024-11-30 13:57:14,159 - api.main - INFO - STDERR: # destroy asyncio.runners +2024-11-30 13:57:14,159 - api.main - INFO - STDERR: # destroy asyncio.queues +2024-11-30 13:57:14,159 - api.main - INFO - STDERR: # destroy asyncio.subprocess +2024-11-30 13:57:14,159 - api.main - INFO - STDERR: # destroy asyncio.threads +2024-11-30 13:57:14,159 - api.main - INFO - STDERR: # destroy asyncio.windows_events +2024-11-30 13:57:14,159 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.windows_utils +2024-11-30 13:57:14,159 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.selector_events +2024-11-30 13:57:14,160 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.proactor_events +2024-11-30 13:57:14,160 - api.main - INFO - STDERR: # destroy asyncio.base_events +2024-11-30 13:57:14,160 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.base_subprocess +2024-11-30 13:57:14,160 - api.main - INFO - STDERR: # cleanup[3] wiping _overlapped +2024-11-30 13:57:14,160 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.streams +2024-11-30 13:57:14,160 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.trsock +2024-11-30 13:57:14,160 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.staggered +2024-11-30 13:57:14,160 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.tasks +2024-11-30 13:57:14,160 - api.main - INFO - STDERR: # destroy asyncio.base_tasks +2024-11-30 13:57:14,160 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.locks +2024-11-30 13:57:14,160 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.sslproto +2024-11-30 13:57:14,160 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.transports +2024-11-30 13:57:14,160 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.protocols +2024-11-30 13:57:14,160 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.futures +2024-11-30 13:57:14,160 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.events +2024-11-30 13:57:14,161 - api.main - INFO - STDERR: # cleanup[3] wiping _asyncio +2024-11-30 13:57:14,161 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.exceptions +2024-11-30 13:57:14,161 - api.main - INFO - STDERR: # cleanup[3] wiping contextvars +2024-11-30 13:57:14,161 - api.main - INFO - STDERR: # cleanup[3] wiping _contextvars +2024-11-30 13:57:14,161 - api.main - INFO - STDERR: # destroy _contextvars +2024-11-30 13:57:14,161 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.coroutines +2024-11-30 13:57:14,161 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.base_futures +2024-11-30 13:57:14,161 - api.main - INFO - STDERR: # destroy asyncio.format_helpers +2024-11-30 13:57:14,161 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.constants +2024-11-30 13:57:14,161 - api.main - INFO - STDERR: # cleanup[3] wiping concurrent.futures +2024-11-30 13:57:14,161 - api.main - INFO - STDERR: # destroy concurrent.futures._base +2024-11-30 13:57:14,161 - api.main - INFO - STDERR: # cleanup[3] wiping concurrent +2024-11-30 13:57:14,161 - api.main - INFO - STDERR: # destroy concurrent.futures +2024-11-30 13:57:14,161 - api.main - INFO - STDERR: # cleanup[3] wiping adbutils +2024-11-30 13:57:14,161 - api.main - INFO - STDERR: # destroy adbutils._utils +2024-11-30 13:57:14,162 - api.main - INFO - STDERR: # destroy adbutils._proto +2024-11-30 13:57:14,162 - api.main - INFO - STDERR: # destroy adbutils._version +2024-11-30 13:57:14,162 - api.main - INFO - STDERR: # destroy pkg_resources +2024-11-30 13:57:14,162 - api.main - INFO - STDERR: # destroy adbutils._adb +2024-11-30 13:57:14,162 - api.main - INFO - STDERR: # destroy adbutils._device +2024-11-30 13:57:14,162 - api.main - INFO - STDERR: # destroy adbutils.errors +2024-11-30 13:57:14,162 - api.main - INFO - STDERR: # cleanup[3] wiping PIL.Image +2024-11-30 13:57:14,162 - api.main - INFO - STDERR: # destroy PIL.ExifTags +2024-11-30 13:57:14,162 - api.main - INFO - STDERR: # destroy PIL.ImageMode +2024-11-30 13:57:14,162 - api.main - INFO - STDERR: # destroy PIL.TiffTags +2024-11-30 13:57:14,162 - api.main - INFO - STDERR: # cleanup[3] wiping PIL._imaging +2024-11-30 13:57:14,162 - api.main - INFO - STDERR: # cleanup[3] wiping requests +2024-11-30 13:57:14,162 - api.main - INFO - STDERR: # destroy requests._internal_utils +2024-11-30 13:57:14,162 - api.main - INFO - STDERR: # destroy requests.compat +2024-11-30 13:57:14,162 - api.main - INFO - STDERR: # destroy requests.exceptions +2024-11-30 13:57:14,163 - api.main - INFO - STDERR: # destroy requests.packages +2024-11-30 13:57:14,163 - api.main - INFO - STDERR: # destroy idna +2024-11-30 13:57:14,163 - api.main - INFO - STDERR: # destroy idna.intranges +2024-11-30 13:57:14,163 - api.main - INFO - STDERR: # destroy idna.core +2024-11-30 13:57:14,163 - api.main - INFO - STDERR: # destroy idna.package_data +2024-11-30 13:57:14,163 - api.main - INFO - STDERR: # destroy requests.cookies +2024-11-30 13:57:14,163 - api.main - INFO - STDERR: # destroy requests.structures +2024-11-30 13:57:14,163 - api.main - INFO - STDERR: # destroy requests.utils +2024-11-30 13:57:14,163 - api.main - INFO - STDERR: # destroy requests.auth +2024-11-30 13:57:14,163 - api.main - INFO - STDERR: # destroy requests.hooks +2024-11-30 13:57:14,163 - api.main - INFO - STDERR: # destroy requests.status_codes +2024-11-30 13:57:14,163 - api.main - INFO - STDERR: # destroy requests.models +2024-11-30 13:57:14,163 - api.main - INFO - STDERR: # destroy requests.adapters +2024-11-30 13:57:14,163 - api.main - INFO - STDERR: # destroy requests.api +2024-11-30 13:57:14,163 - api.main - INFO - STDERR: # cleanup[3] wiping requests.sessions +2024-11-30 13:57:14,164 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.idna +2024-11-30 13:57:14,164 - api.main - INFO - STDERR: # destroy stringprep +2024-11-30 13:57:14,164 - api.main - INFO - STDERR: # cleanup[3] wiping requests.certs +2024-11-30 13:57:14,164 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.chardet +2024-11-30 13:57:14,164 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.idna.idnadata +2024-11-30 13:57:14,164 - api.main - INFO - STDERR: # cleanup[3] wiping idna.idnadata +2024-11-30 13:57:14,164 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3 +2024-11-30 13:57:14,165 - api.main - INFO - STDERR: # destroy urllib3._version +2024-11-30 13:57:14,165 - api.main - INFO - STDERR: # destroy urllib3._collections +2024-11-30 13:57:14,165 - api.main - INFO - STDERR: # destroy urllib3.packages +2024-11-30 13:57:14,165 - api.main - INFO - STDERR: # destroy urllib3.exceptions +2024-11-30 13:57:14,165 - api.main - INFO - STDERR: # destroy urllib3.contrib +2024-11-30 13:57:14,165 - api.main - INFO - STDERR: # destroy urllib3.connection +2024-11-30 13:57:14,165 - api.main - INFO - STDERR: # destroy urllib3.fields +2024-11-30 13:57:14,165 - api.main - INFO - STDERR: # destroy urllib3.filepost +2024-11-30 13:57:14,165 - api.main - INFO - STDERR: # destroy urllib3.request +2024-11-30 13:57:14,165 - api.main - INFO - STDERR: # destroy urllib3.response +2024-11-30 13:57:14,165 - api.main - INFO - STDERR: # destroy urllib3.connectionpool +2024-11-30 13:57:14,165 - api.main - INFO - STDERR: # destroy urllib3.poolmanager +2024-11-30 13:57:14,165 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util.queue +2024-11-30 13:57:14,165 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six.moves.urllib.parse +2024-11-30 13:57:14,165 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six.moves.urllib +2024-11-30 13:57:14,165 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util.ssl_match_hostname +2024-11-30 13:57:14,165 - api.main - INFO - STDERR: # destroy ipaddress +2024-11-30 13:57:14,165 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util.proxy +2024-11-30 13:57:14,165 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util +2024-11-30 13:57:14,165 - api.main - INFO - STDERR: # destroy urllib3.util.wait +2024-11-30 13:57:14,165 - api.main - INFO - STDERR: # destroy urllib3.util.request +2024-11-30 13:57:14,165 - api.main - INFO - STDERR: # destroy urllib3.util.response +2024-11-30 13:57:14,165 - api.main - INFO - STDERR: # destroy urllib3.util.retry +2024-11-30 13:57:14,166 - api.main - INFO - STDERR: # destroy urllib3.util.url +2024-11-30 13:57:14,166 - api.main - INFO - STDERR: # destroy urllib3.util.ssltransport +2024-11-30 13:57:14,166 - api.main - INFO - STDERR: # destroy urllib3.util.ssl_ +2024-11-30 13:57:14,166 - api.main - INFO - STDERR: # destroy urllib3.util.timeout +2024-11-30 13:57:14,166 - api.main - INFO - STDERR: # destroy urllib3.util.proxy +2024-11-30 13:57:14,166 - api.main - INFO - STDERR: # destroy urllib3.util.ssl_match_hostname +2024-11-30 13:57:14,166 - api.main - INFO - STDERR: # destroy urllib3.util.queue +2024-11-30 13:57:14,166 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util.connection +2024-11-30 13:57:14,166 - api.main - INFO - STDERR: # destroy urllib3.contrib._appengine_environ +2024-11-30 13:57:14,166 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six.moves.http_client +2024-11-30 13:57:14,166 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six.moves +2024-11-30 13:57:14,166 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six +2024-11-30 13:57:14,166 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib +2024-11-30 13:57:14,166 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves +2024-11-30 13:57:14,166 - api.main - INFO - STDERR: # cleanup[3] wiping http.cookies +2024-11-30 13:57:14,167 - api.main - INFO - STDERR: # cleanup[3] wiping http.cookiejar +2024-11-30 13:57:14,167 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer +2024-11-30 13:57:14,167 - api.main - INFO - STDERR: # destroy charset_normalizer.models +2024-11-30 13:57:14,167 - api.main - INFO - STDERR: # destroy charset_normalizer.cd +2024-11-30 13:57:14,167 - api.main - INFO - STDERR: # destroy charset_normalizer.api +2024-11-30 13:57:14,167 - api.main - INFO - STDERR: # destroy charset_normalizer.legacy +2024-11-30 13:57:14,167 - api.main - INFO - STDERR: # destroy charset_normalizer.version +2024-11-30 13:57:14,167 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer.md +2024-11-30 13:57:14,168 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer.utils +2024-11-30 13:57:14,168 - api.main - INFO - STDERR: # cleanup[3] wiping _multibytecodec +2024-11-30 13:57:14,168 - api.main - INFO - STDERR: # cleanup[3] wiping unicodedata +2024-11-30 13:57:14,168 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer.md__mypyc +2024-11-30 13:57:14,168 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer.constant +2024-11-30 13:57:14,168 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3 +2024-11-30 13:57:14,168 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.packages.six.moves.urllib.parse +2024-11-30 13:57:14,168 - api.main - INFO - STDERR: # cleanup[3] wiping mimetypes +2024-11-30 13:57:14,168 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.util +2024-11-30 13:57:14,168 - api.main - INFO - STDERR: # cleanup[3] wiping hmac +2024-11-30 13:57:14,168 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.util.connection +2024-11-30 13:57:14,168 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.packages.six.moves.http_client +2024-11-30 13:57:14,168 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.packages.six +2024-11-30 13:57:14,168 - api.main - INFO - STDERR: # cleanup[3] wiping platformdirs.windows +2024-11-30 13:57:14,168 - api.main - INFO - STDERR: # cleanup[3] wiping platformdirs.version +2024-11-30 13:57:14,168 - api.main - INFO - STDERR: # cleanup[3] wiping platformdirs.api +2024-11-30 13:57:14,168 - api.main - INFO - STDERR: # cleanup[3] wiping backports.tarfile +2024-11-30 13:57:14,169 - api.main - INFO - STDERR: # destroy backports.tarfile.compat +2024-11-30 13:57:14,169 - api.main - INFO - STDERR: # destroy backports.tarfile.compat.py38 +2024-11-30 13:57:14,169 - api.main - INFO - STDERR: # cleanup[3] wiping importlib.resources +2024-11-30 13:57:14,169 - api.main - INFO - STDERR: # cleanup[3] wiping importlib._common +2024-11-30 13:57:14,169 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.requirements +2024-11-30 13:57:14,169 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.markers +2024-11-30 13:57:14,169 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.specifiers +2024-11-30 13:57:14,169 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.utils +2024-11-30 13:57:14,169 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.tags +2024-11-30 13:57:14,169 - api.main - INFO - STDERR: # cleanup[3] wiping distutils +2024-11-30 13:57:14,169 - api.main - INFO - STDERR: # destroy distutils._log +2024-11-30 13:57:14,169 - api.main - INFO - STDERR: # destroy distutils.compat +2024-11-30 13:57:14,169 - api.main - INFO - STDERR: # destroy distutils.errors +2024-11-30 13:57:14,169 - api.main - INFO - STDERR: # destroy distutils.debug +2024-11-30 13:57:14,169 - api.main - INFO - STDERR: # destroy distutils.spawn +2024-11-30 13:57:14,169 - api.main - INFO - STDERR: # destroy distutils.cmd +2024-11-30 13:57:14,169 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.util +2024-11-30 13:57:14,170 - api.main - INFO - STDERR: # destroy sysconfig +2024-11-30 13:57:14,170 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.archive_util +2024-11-30 13:57:14,170 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.dir_util +2024-11-30 13:57:14,170 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.file_util +2024-11-30 13:57:14,170 - api.main - INFO - STDERR: # cleanup[3] wiping distutils._modified +2024-11-30 13:57:14,170 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.compat.py39 +2024-11-30 13:57:14,170 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.compat.py38 +2024-11-30 13:57:14,170 - api.main - INFO - STDERR: # cleanup[3] wiping more_itertools +2024-11-30 13:57:14,171 - api.main - INFO - STDERR: # destroy more_itertools.recipes +2024-11-30 13:57:14,171 - api.main - INFO - STDERR: # destroy more_itertools.more +2024-11-30 13:57:14,171 - api.main - INFO - STDERR: # cleanup[3] wiping queue +2024-11-30 13:57:14,171 - api.main - INFO - STDERR: # cleanup[3] wiping _queue +2024-11-30 13:57:14,171 - api.main - INFO - STDERR: # cleanup[3] wiping setuptools._distutils +2024-11-30 13:57:14,171 - api.main - INFO - STDERR: # cleanup[3] wiping packaging._compat +2024-11-30 13:57:14,171 - api.main - INFO - STDERR: # cleanup[3] wiping html +2024-11-30 13:57:14,171 - api.main - INFO - STDERR: # destroy html.entities +2024-11-30 13:57:14,171 - api.main - INFO - STDERR: # cleanup[3] wiping pprint +2024-11-30 13:57:14,171 - api.main - INFO - STDERR: # cleanup[3] wiping plistlib +2024-11-30 13:57:14,171 - api.main - INFO - STDERR: # cleanup[3] wiping apkutils2 +2024-11-30 13:57:14,171 - api.main - INFO - STDERR: # destroy apkutils2.apkfile +2024-11-30 13:57:14,171 - api.main - INFO - STDERR: # destroy apkutils2.axml +2024-11-30 13:57:14,171 - api.main - INFO - STDERR: # destroy apkutils2.axml.chunk +2024-11-30 13:57:14,171 - api.main - INFO - STDERR: # destroy apkutils2.axml.arscparser +2024-11-30 13:57:14,171 - api.main - INFO - STDERR: # destroy apkutils2.axml.axmlparser +2024-11-30 13:57:14,171 - api.main - INFO - STDERR: # destroy apkutils2.dex +2024-11-30 13:57:14,171 - api.main - INFO - STDERR: # destroy apkutils2.dex.byteio +2024-11-30 13:57:14,171 - api.main - INFO - STDERR: # destroy apkutils2.dex.dalvik +2024-11-30 13:57:14,171 - api.main - INFO - STDERR: # destroy apkutils2.dex.dexparser +2024-11-30 13:57:14,171 - api.main - INFO - STDERR: # destroy apkutils2.manifest +2024-11-30 13:57:14,171 - api.main - INFO - STDERR: # cleanup[3] wiping apkutils2.dex.dalvikformats +2024-11-30 13:57:14,171 - api.main - INFO - STDERR: # cleanup[3] wiping apkutils2.dex.util +2024-11-30 13:57:14,172 - api.main - INFO - STDERR: # cleanup[3] wiping array +2024-11-30 13:57:14,172 - api.main - INFO - STDERR: # cleanup[3] wiping apkutils2.axml.public +2024-11-30 13:57:14,172 - api.main - INFO - STDERR: # cleanup[3] wiping xmltodict +2024-11-30 13:57:14,172 - api.main - INFO - STDERR: # cleanup[3] wiping platform +2024-11-30 13:57:14,172 - api.main - INFO - STDERR: # cleanup[3] wiping xml.sax.saxutils +2024-11-30 13:57:14,172 - api.main - INFO - STDERR: # cleanup[3] wiping urllib.request +2024-11-30 13:57:14,172 - api.main - INFO - STDERR: # destroy http +2024-11-30 13:57:14,172 - api.main - INFO - STDERR: # cleanup[3] wiping urllib.error +2024-11-30 13:57:14,172 - api.main - INFO - STDERR: # cleanup[3] wiping urllib.response +2024-11-30 13:57:14,172 - api.main - INFO - STDERR: # cleanup[3] wiping http.client +2024-11-30 13:57:14,172 - api.main - INFO - STDERR: # cleanup[3] wiping ssl +2024-11-30 13:57:14,172 - api.main - INFO - STDERR: # cleanup[3] wiping _ssl +2024-11-30 13:57:14,172 - api.main - INFO - STDERR: # cleanup[3] wiping email.message +2024-11-30 13:57:14,173 - api.main - INFO - STDERR: # destroy uu +2024-11-30 13:57:14,173 - api.main - INFO - STDERR: # destroy quopri +2024-11-30 13:57:14,173 - api.main - INFO - STDERR: # cleanup[3] wiping email.iterators +2024-11-30 13:57:14,173 - api.main - INFO - STDERR: # cleanup[3] wiping email._encoded_words +2024-11-30 13:57:14,173 - api.main - INFO - STDERR: # cleanup[3] wiping email.parser +2024-11-30 13:57:14,173 - api.main - INFO - STDERR: # cleanup[3] wiping email.feedparser +2024-11-30 13:57:14,173 - api.main - INFO - STDERR: # cleanup[3] wiping email._policybase +2024-11-30 13:57:14,173 - api.main - INFO - STDERR: # cleanup[3] wiping email.utils +2024-11-30 13:57:14,173 - api.main - INFO - STDERR: # cleanup[3] wiping email._parseaddr +2024-11-30 13:57:14,173 - api.main - INFO - STDERR: # cleanup[3] wiping calendar +2024-11-30 13:57:14,173 - api.main - INFO - STDERR: # destroy locale +2024-11-30 13:57:14,173 - api.main - INFO - STDERR: # cleanup[3] wiping email.header +2024-11-30 13:57:14,173 - api.main - INFO - STDERR: # cleanup[3] wiping email.charset +2024-11-30 13:57:14,173 - api.main - INFO - STDERR: # cleanup[3] wiping email.encoders +2024-11-30 13:57:14,174 - api.main - INFO - STDERR: # cleanup[3] wiping email.base64mime +2024-11-30 13:57:14,174 - api.main - INFO - STDERR: # cleanup[3] wiping email.quoprimime +2024-11-30 13:57:14,174 - api.main - INFO - STDERR: # cleanup[3] wiping email.errors +2024-11-30 13:57:14,174 - api.main - INFO - STDERR: # cleanup[3] wiping email +2024-11-30 13:57:14,174 - api.main - INFO - STDERR: # destroy email._parseaddr +2024-11-30 13:57:14,174 - api.main - INFO - STDERR: # destroy email._policybase +2024-11-30 13:57:14,174 - api.main - INFO - STDERR: # destroy email._encoded_words +2024-11-30 13:57:14,174 - api.main - INFO - STDERR: # destroy email.errors +2024-11-30 13:57:14,174 - api.main - INFO - STDERR: # destroy email.quoprimime +2024-11-30 13:57:14,174 - api.main - INFO - STDERR: # destroy email.base64mime +2024-11-30 13:57:14,174 - api.main - INFO - STDERR: # destroy email.encoders +2024-11-30 13:57:14,174 - api.main - INFO - STDERR: # destroy email.charset +2024-11-30 13:57:14,175 - api.main - INFO - STDERR: # destroy email.header +2024-11-30 13:57:14,175 - api.main - INFO - STDERR: # destroy email.utils +2024-11-30 13:57:14,175 - api.main - INFO - STDERR: # destroy email.feedparser +2024-11-30 13:57:14,175 - api.main - INFO - STDERR: # destroy email.parser +2024-11-30 13:57:14,175 - api.main - INFO - STDERR: # destroy email.iterators +2024-11-30 13:57:14,175 - api.main - INFO - STDERR: # destroy email.message +2024-11-30 13:57:14,176 - api.main - INFO - STDERR: # cleanup[3] wiping xml.sax +2024-11-30 13:57:14,176 - api.main - INFO - STDERR: # destroy xml.sax._exceptions +2024-11-30 13:57:14,176 - api.main - INFO - STDERR: # destroy xml.sax.xmlreader +2024-11-30 13:57:14,176 - api.main - INFO - STDERR: # destroy xml.sax.saxutils +2024-11-30 13:57:14,176 - api.main - INFO - STDERR: # cleanup[3] wiping xml.sax.handler +2024-11-30 13:57:14,176 - api.main - INFO - STDERR: # cleanup[3] wiping xml.parsers.expat +2024-11-30 13:57:14,176 - api.main - INFO - STDERR: # cleanup[3] wiping xml.parsers.expat.errors +2024-11-30 13:57:14,176 - api.main - INFO - STDERR: # cleanup[3] wiping xml.parsers.expat.model +2024-11-30 13:57:14,176 - api.main - INFO - STDERR: # cleanup[3] wiping pyexpat +2024-11-30 13:57:14,176 - api.main - INFO - STDERR: # cleanup[3] wiping pyexpat.model +2024-11-30 13:57:14,176 - api.main - INFO - STDERR: # cleanup[3] wiping pyexpat.errors +2024-11-30 13:57:14,176 - api.main - INFO - STDERR: # cleanup[3] wiping xml.parsers +2024-11-30 13:57:14,176 - api.main - INFO - STDERR: # destroy xml.parsers.expat +2024-11-30 13:57:14,176 - api.main - INFO - STDERR: # cleanup[3] wiping whichcraft +2024-11-30 13:57:14,176 - api.main - INFO - STDERR: # cleanup[3] wiping zipfile +2024-11-30 13:57:14,177 - api.main - INFO - STDERR: # cleanup[3] wiping tempfile +2024-11-30 13:57:14,177 - api.main - INFO - STDERR: # cleanup[3] wiping shlex +2024-11-30 13:57:14,177 - api.main - INFO - STDERR: # cleanup[3] wiping socket +2024-11-30 13:57:14,177 - api.main - INFO - STDERR: # destroy selectors +2024-11-30 13:57:14,177 - api.main - INFO - STDERR: # cleanup[3] wiping select +2024-11-30 13:57:14,177 - api.main - INFO - STDERR: # cleanup[3] wiping _socket +2024-11-30 13:57:14,177 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.version +2024-11-30 13:57:14,177 - api.main - INFO - STDERR: # cleanup[3] wiping packaging._typing +2024-11-30 13:57:14,177 - api.main - INFO - STDERR: # cleanup[3] wiping packaging._structures +2024-11-30 13:57:14,177 - api.main - INFO - STDERR: # cleanup[3] wiping packaging +2024-11-30 13:57:14,177 - api.main - INFO - STDERR: # destroy packaging._structures +2024-11-30 13:57:14,177 - api.main - INFO - STDERR: # destroy packaging._typing +2024-11-30 13:57:14,177 - api.main - INFO - STDERR: # destroy packaging._compat +2024-11-30 13:57:14,177 - api.main - INFO - STDERR: # destroy packaging.__about__ +2024-11-30 13:57:14,177 - api.main - INFO - STDERR: # destroy packaging.tags +2024-11-30 13:57:14,178 - api.main - INFO - STDERR: # destroy packaging.utils +2024-11-30 13:57:14,178 - api.main - INFO - STDERR: # destroy packaging.specifiers +2024-11-30 13:57:14,178 - api.main - INFO - STDERR: # destroy packaging.markers +2024-11-30 13:57:14,178 - api.main - INFO - STDERR: # destroy packaging.requirements +2024-11-30 13:57:14,178 - api.main - INFO - STDERR: # cleanup[3] wiping pathlib +2024-11-30 13:57:14,178 - api.main - INFO - STDERR: # cleanup[3] wiping urllib.parse +2024-11-30 13:57:14,178 - api.main - INFO - STDERR: # cleanup[3] wiping urllib +2024-11-30 13:57:14,178 - api.main - INFO - STDERR: # destroy urllib.parse +2024-11-30 13:57:14,178 - api.main - INFO - STDERR: # destroy urllib.response +2024-11-30 13:57:14,178 - api.main - INFO - STDERR: # destroy urllib.error +2024-11-30 13:57:14,178 - api.main - INFO - STDERR: # destroy urllib.request +2024-11-30 13:57:14,178 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom.minidom +2024-11-30 13:57:14,178 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom.xmlbuilder +2024-11-30 13:57:14,178 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom.NodeFilter +2024-11-30 13:57:14,178 - api.main - INFO - STDERR: # cleanup[3] wiping copy +2024-11-30 13:57:14,178 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom.minicompat +2024-11-30 13:57:14,179 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom +2024-11-30 13:57:14,179 - api.main - INFO - STDERR: # destroy xml.dom.domreg +2024-11-30 13:57:14,179 - api.main - INFO - STDERR: # destroy xml.dom.minicompat +2024-11-30 13:57:14,179 - api.main - INFO - STDERR: # destroy xml.dom.NodeFilter +2024-11-30 13:57:14,179 - api.main - INFO - STDERR: # destroy xml.dom.xmlbuilder +2024-11-30 13:57:14,179 - api.main - INFO - STDERR: # cleanup[3] wiping xml +2024-11-30 13:57:14,179 - api.main - INFO - STDERR: # destroy xml.dom +2024-11-30 13:57:14,179 - api.main - INFO - STDERR: # destroy xml.parsers +2024-11-30 13:57:14,179 - api.main - INFO - STDERR: # destroy xml.sax +2024-11-30 13:57:14,179 - api.main - INFO - STDERR: # cleanup[3] wiping shutil +2024-11-30 13:57:14,179 - api.main - INFO - STDERR: # cleanup[3] wiping lzma +2024-11-30 13:57:14,179 - api.main - INFO - STDERR: # cleanup[3] wiping _lzma +2024-11-30 13:57:14,179 - api.main - INFO - STDERR: # cleanup[3] wiping bz2 +2024-11-30 13:57:14,179 - api.main - INFO - STDERR: # destroy _compression +2024-11-30 13:57:14,179 - api.main - INFO - STDERR: # cleanup[3] wiping zlib +2024-11-30 13:57:14,180 - api.main - INFO - STDERR: # cleanup[3] wiping hashlib +2024-11-30 13:57:14,180 - api.main - INFO - STDERR: # cleanup[3] wiping _blake2 +2024-11-30 13:57:14,180 - api.main - INFO - STDERR: # cleanup[3] wiping _hashlib +2024-11-30 13:57:14,180 - api.main - INFO - STDERR: # cleanup[3] wiping subprocess +2024-11-30 13:57:14,180 - api.main - INFO - STDERR: # destroy signal +2024-11-30 13:57:14,180 - api.main - INFO - STDERR: # cleanup[3] wiping _winapi +2024-11-30 13:57:14,180 - api.main - INFO - STDERR: # cleanup[3] wiping msvcrt +2024-11-30 13:57:14,180 - api.main - INFO - STDERR: # cleanup[3] wiping errno +2024-11-30 13:57:14,180 - api.main - INFO - STDERR: # cleanup[3] wiping pkgutil +2024-11-30 13:57:14,180 - api.main - INFO - STDERR: # cleanup[3] wiping importlib.util +2024-11-30 13:57:14,180 - api.main - INFO - STDERR: # cleanup[3] wiping importlib.abc +2024-11-30 13:57:14,180 - api.main - INFO - STDERR: # cleanup[3] wiping inspect +2024-11-30 13:57:14,180 - api.main - INFO - STDERR: # destroy ast +2024-11-30 13:57:14,180 - api.main - INFO - STDERR: # destroy dis +2024-11-30 13:57:14,180 - api.main - INFO - STDERR: # destroy token +2024-11-30 13:57:14,180 - api.main - INFO - STDERR: # cleanup[3] wiping importlib.machinery +2024-11-30 13:57:14,181 - api.main - INFO - STDERR: # cleanup[3] wiping importlib +2024-11-30 13:57:14,181 - api.main - INFO - STDERR: # destroy importlib._common +2024-11-30 13:57:14,181 - api.main - INFO - STDERR: # destroy importlib.machinery +2024-11-30 13:57:14,181 - api.main - INFO - STDERR: # destroy importlib.abc +2024-11-30 13:57:14,181 - api.main - INFO - STDERR: # destroy importlib.util +2024-11-30 13:57:14,181 - api.main - INFO - STDERR: # destroy importlib.resources +2024-11-30 13:57:14,181 - api.main - INFO - STDERR: # cleanup[3] wiping importlib._bootstrap_external +2024-11-30 13:57:14,181 - api.main - INFO - STDERR: # cleanup[3] wiping importlib._bootstrap +2024-11-30 13:57:14,181 - api.main - INFO - STDERR: # cleanup[3] wiping _opcode +2024-11-30 13:57:14,181 - api.main - INFO - STDERR: # cleanup[3] wiping yaml +2024-11-30 13:57:14,181 - api.main - INFO - STDERR: # destroy yaml.error +2024-11-30 13:57:14,181 - api.main - INFO - STDERR: # destroy yaml.tokens +2024-11-30 13:57:14,181 - api.main - INFO - STDERR: # destroy yaml.events +2024-11-30 13:57:14,181 - api.main - INFO - STDERR: # destroy yaml.nodes +2024-11-30 13:57:14,181 - api.main - INFO - STDERR: # destroy yaml.reader +2024-11-30 13:57:14,182 - api.main - INFO - STDERR: # destroy yaml.scanner +2024-11-30 13:57:14,182 - api.main - INFO - STDERR: # destroy yaml.parser +2024-11-30 13:57:14,182 - api.main - INFO - STDERR: # destroy yaml.composer +2024-11-30 13:57:14,182 - api.main - INFO - STDERR: # destroy yaml.constructor +2024-11-30 13:57:14,182 - api.main - INFO - STDERR: # destroy yaml.resolver +2024-11-30 13:57:14,182 - api.main - INFO - STDERR: # destroy yaml.loader +2024-11-30 13:57:14,182 - api.main - INFO - STDERR: # destroy yaml.emitter +2024-11-30 13:57:14,182 - api.main - INFO - STDERR: # destroy yaml.serializer +2024-11-30 13:57:14,182 - api.main - INFO - STDERR: # destroy yaml.representer +2024-11-30 13:57:14,182 - api.main - INFO - STDERR: # destroy yaml.dumper +2024-11-30 13:57:14,182 - api.main - INFO - STDERR: # destroy yaml.cyaml +2024-11-30 13:57:14,182 - api.main - INFO - STDERR: # cleanup[3] wiping yaml._yaml +2024-11-30 13:57:14,182 - api.main - INFO - STDERR: # cleanup[3] wiping cython_runtime +2024-11-30 13:57:14,182 - api.main - INFO - STDERR: # cleanup[3] wiping base64 +2024-11-30 13:57:14,182 - api.main - INFO - STDERR: # cleanup[3] wiping binascii +2024-11-30 13:57:14,182 - api.main - INFO - STDERR: # cleanup[3] wiping configargparse +2024-11-30 13:57:14,183 - api.main - INFO - STDERR: # destroy argparse +2024-11-30 13:57:14,183 - api.main - INFO - STDERR: # destroy glob +2024-11-30 13:57:14,183 - api.main - INFO - STDERR: # cleanup[3] wiping textwrap +2024-11-30 13:57:14,183 - api.main - INFO - STDERR: # cleanup[3] wiping fnmatch +2024-11-30 13:57:14,183 - api.main - INFO - STDERR: # cleanup[3] wiping posixpath +2024-11-30 13:57:14,183 - api.main - INFO - STDERR: # cleanup[3] wiping json +2024-11-30 13:57:14,183 - api.main - INFO - STDERR: # destroy json.decoder +2024-11-30 13:57:14,183 - api.main - INFO - STDERR: # destroy json.encoder +2024-11-30 13:57:14,183 - api.main - INFO - STDERR: # cleanup[3] wiping json.scanner +2024-11-30 13:57:14,183 - api.main - INFO - STDERR: # cleanup[3] wiping _json +2024-11-30 13:57:14,183 - api.main - INFO - STDERR: # cleanup[3] wiping typing +2024-11-30 13:57:14,183 - api.main - INFO - STDERR: # cleanup[3] wiping colorama.win32 +2024-11-30 13:57:14,183 - api.main - INFO - STDERR: # cleanup[3] wiping ctypes.wintypes +2024-11-30 13:57:14,183 - api.main - INFO - STDERR: # destroy ctypes +2024-11-30 13:57:14,183 - api.main - INFO - STDERR: # cleanup[3] wiping ctypes._endian +2024-11-30 13:57:14,183 - api.main - INFO - STDERR: # cleanup[3] wiping struct +2024-11-30 13:57:14,183 - api.main - INFO - STDERR: # cleanup[3] wiping _struct +2024-11-30 13:57:14,183 - api.main - INFO - STDERR: # cleanup[3] wiping _ctypes +2024-11-30 13:57:14,183 - api.main - INFO - STDERR: # cleanup[3] wiping contextlib +2024-11-30 13:57:14,183 - api.main - INFO - STDERR: # cleanup[3] wiping datetime +2024-11-30 13:57:14,183 - api.main - INFO - STDERR: # cleanup[3] wiping _datetime +2024-11-30 13:57:14,183 - api.main - INFO - STDERR: # cleanup[3] wiping random +2024-11-30 13:57:14,183 - api.main - INFO - STDERR: # cleanup[3] wiping _sha512 +2024-11-30 13:57:14,183 - api.main - INFO - STDERR: # cleanup[3] wiping _random +2024-11-30 13:57:14,184 - api.main - INFO - STDERR: # cleanup[3] wiping bisect +2024-11-30 13:57:14,185 - api.main - INFO - STDERR: # cleanup[3] wiping _bisect +2024-11-30 13:57:14,185 - api.main - INFO - STDERR: # cleanup[3] wiping math +2024-11-30 13:57:14,185 - api.main - INFO - STDERR: # cleanup[3] wiping logging +2024-11-30 13:57:14,185 - api.main - INFO - STDERR: # destroy logging.handlers +2024-11-30 13:57:14,185 - api.main - INFO - STDERR: # cleanup[3] wiping atexit +2024-11-30 13:57:14,185 - api.main - INFO - STDERR: # cleanup[3] wiping threading +2024-11-30 13:57:14,185 - api.main - INFO - STDERR: # cleanup[3] wiping string +2024-11-30 13:57:14,185 - api.main - INFO - STDERR: # cleanup[3] wiping _string +2024-11-30 13:57:14,185 - api.main - INFO - STDERR: # cleanup[3] wiping collections.abc +2024-11-30 13:57:14,185 - api.main - INFO - STDERR: # cleanup[3] wiping weakref +2024-11-30 13:57:14,185 - api.main - INFO - STDERR: # cleanup[3] wiping warnings +2024-11-30 13:57:14,185 - api.main - INFO - STDERR: # cleanup[3] wiping traceback +2024-11-30 13:57:14,185 - api.main - INFO - STDERR: # cleanup[3] wiping linecache +2024-11-30 13:57:14,185 - api.main - INFO - STDERR: # destroy tokenize +2024-11-30 13:57:14,185 - api.main - INFO - STDERR: # cleanup[3] wiping re +2024-11-30 13:57:14,185 - api.main - INFO - STDERR: # destroy sre_compile +2024-11-30 13:57:14,185 - api.main - INFO - STDERR: # cleanup[3] wiping copyreg +2024-11-30 13:57:14,185 - api.main - INFO - STDERR: # cleanup[3] wiping functools +2024-11-30 13:57:14,185 - api.main - INFO - STDERR: # cleanup[3] wiping _functools +2024-11-30 13:57:14,185 - api.main - INFO - STDERR: # cleanup[3] wiping collections +2024-11-30 13:57:14,185 - api.main - INFO - STDERR: # cleanup[3] wiping _collections +2024-11-30 13:57:14,185 - api.main - INFO - STDERR: # destroy _collections +2024-11-30 13:57:14,185 - api.main - INFO - STDERR: # cleanup[3] wiping reprlib +2024-11-30 13:57:14,185 - api.main - INFO - STDERR: # cleanup[3] wiping operator +2024-11-30 13:57:14,186 - api.main - INFO - STDERR: # cleanup[3] wiping _operator +2024-11-30 13:57:14,186 - api.main - INFO - STDERR: # cleanup[3] wiping keyword +2024-11-30 13:57:14,186 - api.main - INFO - STDERR: # cleanup[3] wiping itertools +2024-11-30 13:57:14,186 - api.main - INFO - STDERR: # cleanup[3] wiping heapq +2024-11-30 13:57:14,186 - api.main - INFO - STDERR: # cleanup[3] wiping _heapq +2024-11-30 13:57:14,186 - api.main - INFO - STDERR: # cleanup[3] wiping sre_parse +2024-11-30 13:57:14,186 - api.main - INFO - STDERR: # cleanup[3] wiping _sre +2024-11-30 13:57:14,186 - api.main - INFO - STDERR: # cleanup[3] wiping enum +2024-11-30 13:57:14,186 - api.main - INFO - STDERR: # cleanup[3] wiping types +2024-11-30 13:57:14,186 - api.main - INFO - STDERR: # cleanup[3] wiping _locale +2024-11-30 13:57:14,186 - api.main - INFO - STDERR: # cleanup[3] wiping os +2024-11-30 13:57:14,186 - api.main - INFO - STDERR: # cleanup[3] wiping os.path +2024-11-30 13:57:14,186 - api.main - INFO - STDERR: # destroy genericpath +2024-11-30 13:57:14,186 - api.main - INFO - STDERR: # cleanup[3] wiping ntpath +2024-11-30 13:57:14,186 - api.main - INFO - STDERR: # cleanup[3] wiping _collections_abc +2024-11-30 13:57:14,187 - api.main - INFO - STDERR: # cleanup[3] wiping stat +2024-11-30 13:57:14,187 - api.main - INFO - STDERR: # cleanup[3] wiping _stat +2024-11-30 13:57:14,187 - api.main - INFO - STDERR: # destroy _stat +2024-11-30 13:57:14,187 - api.main - INFO - STDERR: # cleanup[3] wiping io +2024-11-30 13:57:14,187 - api.main - INFO - STDERR: # cleanup[3] wiping abc +2024-11-30 13:57:14,187 - api.main - INFO - STDERR: # cleanup[3] wiping _abc +2024-11-30 13:57:14,187 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.latin_1 +2024-11-30 13:57:14,187 - api.main - INFO - STDERR: # cleanup[3] wiping _signal +2024-11-30 13:57:14,187 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.cp1252 +2024-11-30 13:57:14,187 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.utf_8 +2024-11-30 13:57:14,187 - api.main - INFO - STDERR: # cleanup[3] wiping encodings +2024-11-30 13:57:14,187 - api.main - INFO - STDERR: # destroy encodings.aliases +2024-11-30 13:57:14,187 - api.main - INFO - STDERR: # destroy encodings.utf_8 +2024-11-30 13:57:14,187 - api.main - INFO - STDERR: # destroy encodings.cp1252 +2024-11-30 13:57:14,187 - api.main - INFO - STDERR: # destroy encodings.latin_1 +2024-11-30 13:57:14,187 - api.main - INFO - STDERR: # destroy encodings.idna +2024-11-30 13:57:14,188 - api.main - INFO - STDERR: # destroy encodings.unicode_escape +2024-11-30 13:57:14,188 - api.main - INFO - STDERR: # cleanup[3] wiping codecs +2024-11-30 13:57:14,188 - api.main - INFO - STDERR: # cleanup[3] wiping _codecs +2024-11-30 13:57:14,188 - api.main - INFO - STDERR: # cleanup[3] wiping zipimport +2024-11-30 13:57:14,188 - api.main - INFO - STDERR: # destroy _frozen_importlib_external +2024-11-30 13:57:14,188 - api.main - INFO - STDERR: # cleanup[3] wiping time +2024-11-30 13:57:14,188 - api.main - INFO - STDERR: # cleanup[3] wiping winreg +2024-11-30 13:57:14,188 - api.main - INFO - STDERR: # cleanup[3] wiping nt +2024-11-30 13:57:14,188 - api.main - INFO - STDERR: # cleanup[3] wiping marshal +2024-11-30 13:57:14,188 - api.main - INFO - STDERR: # cleanup[3] wiping _io +2024-11-30 13:57:14,188 - api.main - INFO - STDERR: # cleanup[3] wiping _weakref +2024-11-30 13:57:14,188 - api.main - INFO - STDERR: # cleanup[3] wiping _warnings +2024-11-30 13:57:14,188 - api.main - INFO - STDERR: # cleanup[3] wiping _thread +2024-11-30 13:57:14,188 - api.main - INFO - STDERR: # cleanup[3] wiping _imp +2024-11-30 13:57:14,188 - api.main - INFO - STDERR: # cleanup[3] wiping _frozen_importlib +2024-11-30 13:57:14,189 - api.main - INFO - STDERR: # cleanup[3] wiping sys +2024-11-30 13:57:14,189 - api.main - INFO - STDERR: # cleanup[3] wiping builtins +2024-11-30 13:57:14,189 - api.main - INFO - STDERR: # destroy pyexpat.errors +2024-11-30 13:57:14,189 - api.main - INFO - STDERR: # destroy pyexpat.model +2024-11-30 13:57:14,189 - api.main - INFO - STDERR: # destroy gc +2024-11-30 13:57:14,189 - api.main - INFO - STDERR: # destroy wrapt._wrappers +2024-11-30 13:57:14,189 - api.main - INFO - STDERR: # destroy _asyncio +2024-11-30 13:57:14,189 - api.main - INFO - STDERR: # destroy PIL._imaging +2024-11-30 13:57:14,189 - api.main - INFO - STDERR: # destroy _multibytecodec +2024-11-30 13:57:14,189 - api.main - INFO - STDERR: # destroy charset_normalizer.md__mypyc +2024-11-30 13:57:14,189 - api.main - INFO - STDERR: # destroy _queue +2024-11-30 13:57:14,189 - api.main - INFO - STDERR: # destroy _ssl +2024-11-30 13:57:14,189 - api.main - INFO - STDERR: # destroy pyexpat +2024-11-30 13:57:14,189 - api.main - INFO - STDERR: # destroy _lzma +2024-11-30 13:57:14,189 - api.main - INFO - STDERR: # destroy _blake2 +2024-11-30 13:57:14,190 - api.main - INFO - STDERR: # destroy _datetime +2024-11-30 13:57:14,190 - api.main - INFO - STDERR: # destroy _sha512 +2024-11-30 13:57:14,190 - api.main - INFO - STDERR: # destroy _random +2024-11-30 13:57:14,190 - api.main - INFO - STDERR: # destroy _bisect +2024-11-30 13:57:14,190 - api.main - INFO - STDERR: # destroy _string +2024-11-30 13:57:14,190 - api.main - INFO - STDERR: # destroy winreg +2024-11-30 13:57:14,190 - api.main - INFO - STDERR: # destroy marshal +2024-11-30 13:57:14,190 - api.main - INFO - STDERR: # destroy _sre +2024-11-30 13:57:14,190 - api.main - INFO - STDERR: # destroy sre_parse +2024-11-30 13:57:14,190 - api.main - INFO - STDERR: # destroy charset_normalizer.md +2024-11-30 13:57:14,190 - api.main - INFO - STDERR: # destroy concurrent +2024-11-30 13:57:14,190 - api.main - INFO - STDERR: # destroy asyncio.sslproto +2024-11-30 13:57:14,190 - api.main - INFO - STDERR: # destroy asyncio.staggered +2024-11-30 13:57:14,190 - api.main - INFO - STDERR: # destroy asyncio.transports +2024-11-30 13:57:14,190 - api.main - INFO - STDERR: # destroy asyncio.trsock +2024-11-30 13:57:14,191 - api.main - INFO - STDERR: # destroy reprlib +2024-11-30 13:57:14,191 - api.main - INFO - STDERR: # destroy asyncio.constants +2024-11-30 13:57:14,191 - api.main - INFO - STDERR: # destroy linecache +2024-11-30 13:57:14,191 - api.main - INFO - STDERR: # destroy asyncio.base_futures +2024-11-30 13:57:14,191 - api.main - INFO - STDERR: # destroy asyncio.coroutines +2024-11-30 13:57:14,191 - api.main - INFO - STDERR: # destroy heapq +2024-11-30 13:57:14,191 - api.main - INFO - STDERR: # destroy asyncio.locks +2024-11-30 13:57:14,191 - api.main - INFO - STDERR: # destroy asyncio.protocols +2024-11-30 13:57:14,191 - api.main - INFO - STDERR: # destroy asyncio.streams +2024-11-30 13:57:14,191 - api.main - INFO - STDERR: # destroy contextvars +2024-11-30 13:57:14,191 - api.main - INFO - STDERR: # destroy _overlapped +2024-11-30 13:57:14,191 - api.main - INFO - STDERR: # destroy asyncio.events +2024-11-30 13:57:14,191 - api.main - INFO - STDERR: # destroy asyncio.base_subprocess +2024-11-30 13:57:14,191 - api.main - INFO - STDERR: # destroy asyncio.futures +2024-11-30 13:57:14,191 - api.main - INFO - STDERR: # destroy asyncio.exceptions +2024-11-30 13:57:14,192 - api.main - INFO - STDERR: # destroy asyncio.proactor_events +2024-11-30 13:57:14,192 - api.main - INFO - STDERR: # destroy asyncio.selector_events +2024-11-30 13:57:14,192 - api.main - INFO - STDERR: # destroy asyncio.tasks +2024-11-30 13:57:14,192 - api.main - INFO - STDERR: # destroy asyncio.windows_utils +2024-11-30 13:57:14,192 - api.main - INFO - STDERR: # destroy _compat_pickle +2024-11-30 13:57:14,192 - api.main - INFO - STDERR: # destroy _pickle +2024-11-30 13:57:14,192 - api.main - INFO - STDERR: # destroy _signal +2024-11-30 13:57:14,192 - api.main - INFO - STDERR: # destroy _collections_abc +2024-11-30 13:57:14,192 - api.main - INFO - STDERR: # destroy _locale +2024-11-30 13:57:14,192 - api.main - INFO - STDERR: # destroy _opcode +2024-11-30 13:57:14,192 - api.main - INFO - STDERR: # destroy _winapi +2024-11-30 13:57:14,192 - api.main - INFO - STDERR: # destroy copyreg +2024-11-30 13:57:14,192 - api.main - INFO - STDERR: # destroy logzero.colors +2024-11-30 13:57:14,192 - api.main - INFO - STDERR: # destroy logzero.jsonlogger +2024-11-30 13:57:14,192 - api.main - INFO - STDERR: # destroy enum +2024-11-30 13:57:14,193 - api.main - INFO - STDERR: # destroy packaging.version +2024-11-30 13:57:14,193 - api.main - INFO - STDERR: # destroy whichcraft +2024-11-30 13:57:14,193 - api.main - INFO - STDERR: # destroy colorama.win32 +2024-11-30 13:57:14,193 - api.main - INFO - STDERR: # destroy urllib3 +2024-11-30 13:57:14,193 - api.main - INFO - STDERR: # destroy xml +2024-11-30 13:57:14,193 - api.main - INFO - STDERR: # destroy xmltodict +2024-11-30 13:57:14,193 - api.main - INFO - STDERR: # destroy pprint +2024-11-30 13:57:14,194 - api.main - INFO - STDERR: # destroy json.scanner +2024-11-30 13:57:14,194 - api.main - INFO - STDERR: # destroy _json +2024-11-30 13:57:14,194 - api.main - INFO - STDERR: # destroy keyword +2024-11-30 13:57:14,194 - api.main - INFO - STDERR: # destroy wrapt +2024-11-30 13:57:14,194 - api.main - INFO - STDERR: # destroy shlex +2024-11-30 13:57:14,194 - api.main - INFO - STDERR: # destroy filelock +2024-11-30 13:57:14,194 - api.main - INFO - STDERR: # destroy six +2024-11-30 13:57:14,194 - api.main - INFO - STDERR: # destroy abc +2024-11-30 13:57:14,194 - api.main - INFO - STDERR: # destroy tarfile +2024-11-30 13:57:14,194 - api.main - INFO - STDERR: # destroy adbutils +2024-11-30 13:57:14,194 - api.main - INFO - STDERR: # destroy progress +2024-11-30 13:57:14,194 - api.main - INFO - STDERR: # destroy uiautomator2 +2024-11-30 13:57:14,194 - api.main - INFO - STDERR: # destroy base64 +2024-11-30 13:57:14,194 - api.main - INFO - STDERR: # destroy html +2024-11-30 13:57:14,194 - api.main - INFO - STDERR: # destroy _imp +2024-11-30 13:57:14,194 - api.main - INFO - STDERR: # destroy plistlib +2024-11-30 13:57:14,194 - api.main - INFO - STDERR: # destroy posixpath +2024-11-30 13:57:14,194 - api.main - INFO - STDERR: # destroy zipimport +2024-11-30 13:57:14,194 - api.main - INFO - STDERR: # destroy packaging +2024-11-30 13:57:14,194 - api.main - INFO - STDERR: # destroy msvcrt +2024-11-30 13:57:14,194 - api.main - INFO - STDERR: # destroy _weakref +2024-11-30 13:57:14,194 - api.main - INFO - STDERR: # destroy requests.sessions +2024-11-30 13:57:14,194 - api.main - INFO - STDERR: # destroy six.moves.urllib_parse +2024-11-30 13:57:14,194 - api.main - INFO - STDERR: # destroy six.moves.urllib.error +2024-11-30 13:57:14,195 - api.main - INFO - STDERR: # destroy six.moves.urllib.request +2024-11-30 13:57:14,195 - api.main - INFO - STDERR: # destroy six.moves.urllib.response +2024-11-30 13:57:14,195 - api.main - INFO - STDERR: # destroy six.moves.urllib.robotparser +2024-11-30 13:57:14,195 - api.main - INFO - STDERR: # destroy emoji.unicode_codes +2024-11-30 13:57:14,195 - api.main - INFO - STDERR: # destroy _socket +2024-11-30 13:57:14,195 - api.main - INFO - STDERR: # destroy xml.dom.minidom +2024-11-30 13:57:14,195 - api.main - INFO - STDERR: # destroy apkutils2.axml.public +2024-11-30 13:57:14,195 - api.main - INFO - STDERR: # destroy pathlib +2024-11-30 13:57:14,195 - api.main - INFO - STDERR: # destroy apkutils2 +2024-11-30 13:57:14,195 - api.main - INFO - STDERR: # destroy PIL.Image +2024-11-30 13:57:14,195 - api.main - INFO - STDERR: # destroy calendar +2024-11-30 13:57:14,195 - api.main - INFO - STDERR: # destroy zipfile +2024-11-30 13:57:14,195 - api.main - INFO - STDERR: # destroy requests.certs +2024-11-30 13:57:14,195 - api.main - INFO - STDERR: # destroy hashlib +2024-11-30 13:57:14,195 - api.main - INFO - STDERR: # destroy encodings +2024-11-30 13:57:14,196 - api.main - INFO - STDERR: # destroy charset_normalizer +2024-11-30 13:57:14,196 - api.main - INFO - STDERR: # destroy asyncio +2024-11-30 13:57:14,196 - api.main - INFO - STDERR: # destroy urllib3.util.connection +2024-11-30 13:57:14,196 - api.main - INFO - STDERR: # destroy email +2024-11-30 13:57:14,196 - api.main - INFO - STDERR: # destroy mimetypes +2024-11-30 13:57:14,196 - api.main - INFO - STDERR: # destroy codecs +2024-11-30 13:57:14,196 - api.main - INFO - STDERR: # destroy urllib3.util +2024-11-30 13:57:14,196 - api.main - INFO - STDERR: # destroy queue +2024-11-30 13:57:14,196 - api.main - INFO - STDERR: # destroy configargparse +2024-11-30 13:57:14,196 - api.main - INFO - STDERR: # destroy textwrap +2024-11-30 13:57:14,196 - api.main - INFO - STDERR: # destroy platformdirs.api +2024-11-30 13:57:14,196 - api.main - INFO - STDERR: # destroy platformdirs.version +2024-11-30 13:57:14,196 - api.main - INFO - STDERR: # destroy platformdirs.windows +2024-11-30 13:57:14,196 - api.main - INFO - STDERR: # destroy jwt +2024-11-30 13:57:14,196 - api.main - INFO - STDERR: # destroy xml.sax.handler +2024-11-30 13:57:14,197 - api.main - INFO - STDERR: # destroy atexit +2024-11-30 13:57:14,197 - api.main - INFO - STDERR: # destroy weakref +2024-11-30 13:57:14,197 - api.main - INFO - STDERR: # destroy _thread +2024-11-30 13:57:14,197 - api.main - INFO - STDERR: # destroy errno +2024-11-30 13:57:14,197 - api.main - INFO - STDERR: # destroy select +2024-11-30 13:57:14,197 - api.main - INFO - STDERR: # destroy socket +2024-11-30 13:57:14,197 - api.main - INFO - STDERR: # destroy hmac +2024-11-30 13:57:14,197 - api.main - INFO - STDERR: # destroy urllib3.packages.six +2024-11-30 13:57:14,197 - api.main - INFO - STDERR: # destroy _hashlib +2024-11-30 13:57:14,197 - api.main - INFO - STDERR: # destroy ssl +2024-11-30 13:57:14,197 - api.main - INFO - STDERR: # destroy pkgutil +2024-11-30 13:57:14,198 - api.main - INFO - STDERR: # destroy string +2024-11-30 13:57:14,198 - api.main - INFO - STDERR: # destroy copy +2024-11-30 13:57:14,198 - api.main - INFO - STDERR: # destroy inspect +2024-11-30 13:57:14,198 - api.main - INFO - STDERR: # destroy more_itertools +2024-11-30 13:57:14,198 - api.main - INFO - STDERR: # destroy backports.tarfile +2024-11-30 13:57:14,198 - api.main - INFO - STDERR: # destroy _warnings +2024-11-30 13:57:14,198 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib_parse +2024-11-30 13:57:14,198 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib.error +2024-11-30 13:57:14,198 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib.request +2024-11-30 13:57:14,198 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib.response +2024-11-30 13:57:14,198 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib.robotparser +2024-11-30 13:57:14,198 - api.main - INFO - STDERR: # destroy stat +2024-11-30 13:57:14,198 - api.main - INFO - STDERR: # destroy threading +2024-11-30 13:57:14,198 - api.main - INFO - STDERR: # destroy zlib +2024-11-30 13:57:14,198 - api.main - INFO - STDERR: # destroy bz2 +2024-11-30 13:57:14,198 - api.main - INFO - STDERR: # destroy lzma +2024-11-30 13:57:14,200 - api.main - INFO - STDERR: # destroy distutils.compat.py38 +2024-11-30 13:57:14,200 - api.main - INFO - STDERR: # destroy distutils.compat.py39 +2024-11-30 13:57:14,200 - api.main - INFO - STDERR: # destroy shutil +2024-11-30 13:57:14,200 - api.main - INFO - STDERR: # destroy subprocess +2024-11-30 13:57:14,200 - api.main - INFO - STDERR: # destroy distutils._modified +2024-11-30 13:57:14,200 - api.main - INFO - STDERR: # destroy distutils.archive_util +2024-11-30 13:57:14,200 - api.main - INFO - STDERR: # destroy distutils.dir_util +2024-11-30 13:57:14,200 - api.main - INFO - STDERR: # destroy distutils.file_util +2024-11-30 13:57:14,200 - api.main - INFO - STDERR: # destroy distutils.util +2024-11-30 13:57:14,200 - api.main - INFO - STDERR: # destroy importlib +2024-11-30 13:57:14,200 - api.main - INFO - STDERR: # destroy http.client +2024-11-30 13:57:14,200 - api.main - INFO - STDERR: # destroy http.cookiejar +2024-11-30 13:57:14,200 - api.main - INFO - STDERR: # destroy http.cookies +2024-11-30 13:57:14,200 - api.main - INFO - STDERR: # destroy bisect +2024-11-30 13:57:14,200 - api.main - INFO - STDERR: # destroy unicodedata +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy idna.idnadata +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy fnmatch +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy requests +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy yaml +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy uuid +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy collections +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy struct +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy apkutils2.dex.dalvikformats +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy apkutils2.dex.util +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy array +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy binascii +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy setuptools._distutils +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy contextlib +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy tempfile +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy nt +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy traceback +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy spintax +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy GramAddict.core.storage +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy ntpath +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy operator +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy collections.abc +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy _functools +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy _heapq +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy itertools +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy math +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy _operator +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy urllib +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy datetime +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy platform +2024-11-30 13:57:14,201 - api.main - INFO - STDERR: # destroy emoji +2024-11-30 13:57:14,203 - api.main - INFO - STDERR: # destroy json +2024-11-30 13:57:14,203 - api.main - INFO - STDERR: # destroy jwt.api_jws +2024-11-30 13:57:14,203 - api.main - INFO - STDERR: # destroy time +2024-11-30 13:57:14,203 - api.main - INFO - STDERR: # destroy random +2024-11-30 13:57:14,203 - api.main - INFO - STDERR: # destroy warnings +2024-11-30 13:57:14,203 - api.main - INFO - STDERR: # destroy _frozen_importlib +2024-11-30 13:57:14,203 - api.main - INFO - STDERR: # clear sys.audit hooks +2024-11-30 15:09:04,850 - api.main - INFO - Starting session for account quecreate with config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml +2024-11-30 15:09:04,850 - api.main - INFO - Running command: e:\PROJECTS\instagram automation\virtualinfluencer\venv\Scripts\python.exe -v e:\PROJECTS\instagram automation\virtualinfluencer\run.py --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 15:09:04,850 - api.main - INFO - Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 15:09:04,851 - api.main - INFO - Environment PYTHONPATH: None +2024-11-30 15:09:04,851 - api.main - INFO - Starting process with command: e:\PROJECTS\instagram automation\virtualinfluencer\venv\Scripts\python.exe -v e:\PROJECTS\instagram automation\virtualinfluencer\run.py --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 15:09:04,851 - api.main - INFO - Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 15:09:04,851 - api.main - INFO - PYTHONPATH: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 15:09:04,855 - api.main - INFO - Process started with PID: 30236 +2024-11-30 15:09:04,856 - api.main - INFO - Successfully started session for account: quecreate +2024-11-30 15:09:04,893 - api.main - INFO - STDERR: import _frozen_importlib # frozen +2024-11-30 15:09:04,894 - api.main - INFO - STDERR: import _imp # builtin +2024-11-30 15:09:04,894 - api.main - INFO - STDERR: import '_thread' # +2024-11-30 15:09:04,894 - api.main - INFO - STDERR: import '_warnings' # +2024-11-30 15:09:04,894 - api.main - INFO - STDERR: import '_weakref' # +2024-11-30 15:09:04,894 - api.main - INFO - STDERR: import '_io' # +2024-11-30 15:09:04,894 - api.main - INFO - STDERR: import 'marshal' # +2024-11-30 15:09:04,894 - api.main - INFO - STDERR: import 'nt' # +2024-11-30 15:09:04,894 - api.main - INFO - STDERR: import 'winreg' # +2024-11-30 15:09:04,894 - api.main - INFO - STDERR: import '_frozen_importlib_external' # +2024-11-30 15:09:04,894 - api.main - INFO - STDERR: # installing zipimport hook +2024-11-30 15:09:04,895 - api.main - INFO - STDERR: import 'time' # +2024-11-30 15:09:04,895 - api.main - INFO - STDERR: import 'zipimport' # +2024-11-30 15:09:04,895 - api.main - INFO - STDERR: # installed zipimport hook +2024-11-30 15:09:04,897 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__init__.py +2024-11-30 15:09:04,897 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:04,897 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\codecs.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\codecs.py +2024-11-30 15:09:04,898 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\codecs.cpython-39.pyc' +2024-11-30 15:09:04,898 - api.main - INFO - STDERR: import '_codecs' # +2024-11-30 15:09:04,898 - api.main - INFO - STDERR: import 'codecs' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEE625940> +2024-11-30 15:09:04,900 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\aliases.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\aliases.py +2024-11-30 15:09:04,900 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\aliases.cpython-39.pyc' +2024-11-30 15:09:04,900 - api.main - INFO - STDERR: import 'encodings.aliases' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEE794EB0> +2024-11-30 15:09:04,900 - api.main - INFO - STDERR: import 'encodings' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEE625730> +2024-11-30 15:09:04,900 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\utf_8.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\utf_8.py +2024-11-30 15:09:04,901 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\utf_8.cpython-39.pyc' +2024-11-30 15:09:04,901 - api.main - INFO - STDERR: import 'encodings.utf_8' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEE625790> +2024-11-30 15:09:04,901 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\cp1252.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\cp1252.py +2024-11-30 15:09:04,901 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\cp1252.cpython-39.pyc' +2024-11-30 15:09:04,901 - api.main - INFO - STDERR: import 'encodings.cp1252' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEE794FA0> +2024-11-30 15:09:04,901 - api.main - INFO - STDERR: import '_signal' # +2024-11-30 15:09:04,902 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\latin_1.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\latin_1.py +2024-11-30 15:09:04,902 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\latin_1.cpython-39.pyc' +2024-11-30 15:09:04,902 - api.main - INFO - STDERR: import 'encodings.latin_1' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEE7AC340> +2024-11-30 15:09:04,903 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\io.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\io.py +2024-11-30 15:09:04,903 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\io.cpython-39.pyc' +2024-11-30 15:09:04,904 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\abc.py +2024-11-30 15:09:04,904 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 15:09:04,904 - api.main - INFO - STDERR: import '_abc' # +2024-11-30 15:09:04,904 - api.main - INFO - STDERR: import 'abc' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEE7AC7F0> +2024-11-30 15:09:04,904 - api.main - INFO - STDERR: import 'io' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEE7AC520> +2024-11-30 15:09:04,905 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\site.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\site.py +2024-11-30 15:09:04,905 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\site.cpython-39.pyc' +2024-11-30 15:09:04,905 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\os.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\os.py +2024-11-30 15:09:04,906 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\os.cpython-39.pyc' +2024-11-30 15:09:04,906 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\stat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\stat.py +2024-11-30 15:09:04,906 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\stat.cpython-39.pyc' +2024-11-30 15:09:04,907 - api.main - INFO - STDERR: import '_stat' # +2024-11-30 15:09:04,907 - api.main - INFO - STDERR: import 'stat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEE7CFFA0> +2024-11-30 15:09:04,908 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_collections_abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_collections_abc.py +2024-11-30 15:09:04,908 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_collections_abc.cpython-39.pyc' +2024-11-30 15:09:04,908 - api.main - INFO - STDERR: import '_collections_abc' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEE7D6130> +2024-11-30 15:09:04,909 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ntpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ntpath.py +2024-11-30 15:09:04,909 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ntpath.cpython-39.pyc' +2024-11-30 15:09:04,911 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\genericpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\genericpath.py +2024-11-30 15:09:04,911 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\genericpath.cpython-39.pyc' +2024-11-30 15:09:04,911 - api.main - INFO - STDERR: import 'genericpath' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEE7FF970> +2024-11-30 15:09:04,911 - api.main - INFO - STDERR: import 'ntpath' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEE7D6A60> +2024-11-30 15:09:04,911 - api.main - INFO - STDERR: import 'os' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEE7B57C0> +2024-11-30 15:09:04,913 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_sitebuiltins.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_sitebuiltins.py +2024-11-30 15:09:04,913 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_sitebuiltins.cpython-39.pyc' +2024-11-30 15:09:04,913 - api.main - INFO - STDERR: import '_sitebuiltins' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEE7CF460> +2024-11-30 15:09:04,922 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_bootlocale.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_bootlocale.py +2024-11-30 15:09:04,922 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_bootlocale.cpython-39.pyc' +2024-11-30 15:09:04,922 - api.main - INFO - STDERR: import '_locale' # +2024-11-30 15:09:04,922 - api.main - INFO - STDERR: import '_bootlocale' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEE7FFD90> +2024-11-30 15:09:04,924 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__init__.py +2024-11-30 15:09:04,924 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\_distutils_hack\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:04,924 - api.main - INFO - STDERR: import '_distutils_hack' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEE815B80> +2024-11-30 15:09:04,925 - api.main - INFO - STDERR: import 'site' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEE7AC850> +2024-11-30 15:09:04,933 - api.main - INFO - STDERR: Python 3.9.10 (tags/v3.9.10:f2f3f53, Jan 17 2022, 15:14:21) [MSC v.1929 64 bit (AMD64)] on win32 +2024-11-30 15:09:04,934 - api.main - INFO - STDERR: Type "help", "copyright", "credits" or "license" for more information. +2024-11-30 15:09:04,934 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\__init__.py +2024-11-30 15:09:04,934 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:04,935 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__init__.py +2024-11-30 15:09:04,935 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:04,935 - api.main - INFO - STDERR: import 'GramAddict.core' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEE8245B0> +2024-11-30 15:09:04,936 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\bot_flow.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\bot_flow.py +2024-11-30 15:09:04,936 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\bot_flow.cpython-39.pyc' +2024-11-30 15:09:04,938 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__init__.py +2024-11-30 15:09:04,938 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\logging\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:04,939 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\re.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\re.py +2024-11-30 15:09:04,939 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\re.cpython-39.pyc' +2024-11-30 15:09:04,940 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\enum.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\enum.py +2024-11-30 15:09:04,941 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\enum.cpython-39.pyc' +2024-11-30 15:09:04,941 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\types.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\types.py +2024-11-30 15:09:04,941 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\types.cpython-39.pyc' +2024-11-30 15:09:04,941 - api.main - INFO - STDERR: import 'types' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEA674C0> +2024-11-30 15:09:04,943 - api.main - INFO - STDERR: import 'enum' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEA4EFD0> +2024-11-30 15:09:04,944 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_compile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_compile.py +2024-11-30 15:09:04,944 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_compile.cpython-39.pyc' +2024-11-30 15:09:04,944 - api.main - INFO - STDERR: import '_sre' # +2024-11-30 15:09:04,945 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_parse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_parse.py +2024-11-30 15:09:04,945 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_parse.cpython-39.pyc' +2024-11-30 15:09:04,946 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_constants.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_constants.py +2024-11-30 15:09:04,946 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_constants.cpython-39.pyc' +2024-11-30 15:09:04,947 - api.main - INFO - STDERR: import 'sre_constants' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEA8B2E0> +2024-11-30 15:09:04,948 - api.main - INFO - STDERR: import 'sre_parse' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEA798B0> +2024-11-30 15:09:04,948 - api.main - INFO - STDERR: import 'sre_compile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEA67FD0> +2024-11-30 15:09:04,949 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\functools.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\functools.py +2024-11-30 15:09:04,949 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\functools.cpython-39.pyc' +2024-11-30 15:09:04,950 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__init__.py +2024-11-30 15:09:04,951 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\collections\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:04,952 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\heapq.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\heapq.py +2024-11-30 15:09:04,952 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\heapq.cpython-39.pyc' +2024-11-30 15:09:04,952 - api.main - INFO - STDERR: import '_heapq' # +2024-11-30 15:09:04,952 - api.main - INFO - STDERR: import 'heapq' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEABEA60> +2024-11-30 15:09:04,953 - api.main - INFO - STDERR: import 'itertools' # +2024-11-30 15:09:04,954 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\keyword.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\keyword.py +2024-11-30 15:09:04,954 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\keyword.cpython-39.pyc' +2024-11-30 15:09:04,954 - api.main - INFO - STDERR: import 'keyword' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEABEFD0> +2024-11-30 15:09:04,954 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\operator.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\operator.py +2024-11-30 15:09:04,954 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\operator.cpython-39.pyc' +2024-11-30 15:09:04,955 - api.main - INFO - STDERR: import '_operator' # +2024-11-30 15:09:04,955 - api.main - INFO - STDERR: import 'operator' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEABEF10> +2024-11-30 15:09:04,956 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\reprlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\reprlib.py +2024-11-30 15:09:04,956 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\reprlib.cpython-39.pyc' +2024-11-30 15:09:04,956 - api.main - INFO - STDERR: import 'reprlib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEAD0160> +2024-11-30 15:09:04,956 - api.main - INFO - STDERR: import '_collections' # +2024-11-30 15:09:04,956 - api.main - INFO - STDERR: import 'collections' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEA99EE0> +2024-11-30 15:09:04,956 - api.main - INFO - STDERR: import '_functools' # +2024-11-30 15:09:04,956 - api.main - INFO - STDERR: import 'functools' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEA91790> +2024-11-30 15:09:04,958 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\copyreg.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\copyreg.py +2024-11-30 15:09:04,958 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\copyreg.cpython-39.pyc' +2024-11-30 15:09:04,958 - api.main - INFO - STDERR: import 'copyreg' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEAA6730> +2024-11-30 15:09:04,959 - api.main - INFO - STDERR: import 're' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEA4E580> +2024-11-30 15:09:04,960 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\traceback.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\traceback.py +2024-11-30 15:09:04,960 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\traceback.cpython-39.pyc' +2024-11-30 15:09:04,961 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\linecache.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\linecache.py +2024-11-30 15:09:04,961 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\linecache.cpython-39.pyc' +2024-11-30 15:09:04,962 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tokenize.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tokenize.py +2024-11-30 15:09:04,962 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tokenize.cpython-39.pyc' +2024-11-30 15:09:04,963 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\token.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\token.py +2024-11-30 15:09:04,963 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\token.cpython-39.pyc' +2024-11-30 15:09:04,963 - api.main - INFO - STDERR: import 'token' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEAD3F40> +2024-11-30 15:09:04,965 - api.main - INFO - STDERR: import 'tokenize' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEAD3550> +2024-11-30 15:09:04,965 - api.main - INFO - STDERR: import 'linecache' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEAD0A90> +2024-11-30 15:09:04,965 - api.main - INFO - STDERR: import 'traceback' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEAA6340> +2024-11-30 15:09:04,966 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\warnings.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\warnings.py +2024-11-30 15:09:04,966 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\warnings.cpython-39.pyc' +2024-11-30 15:09:04,966 - api.main - INFO - STDERR: import 'warnings' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEAD0910> +2024-11-30 15:09:04,966 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\weakref.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\weakref.py +2024-11-30 15:09:04,966 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\weakref.cpython-39.pyc' +2024-11-30 15:09:04,967 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_weakrefset.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_weakrefset.py +2024-11-30 15:09:04,968 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_weakrefset.cpython-39.pyc' +2024-11-30 15:09:04,968 - api.main - INFO - STDERR: import '_weakrefset' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEB15D90> +2024-11-30 15:09:04,968 - api.main - INFO - STDERR: import 'weakref' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEAD9760> +2024-11-30 15:09:04,969 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\abc.py +2024-11-30 15:09:04,969 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\collections\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 15:09:04,969 - api.main - INFO - STDERR: import 'collections.abc' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEB1EA30> +2024-11-30 15:09:04,970 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\string.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\string.py +2024-11-30 15:09:04,970 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\string.cpython-39.pyc' +2024-11-30 15:09:04,970 - api.main - INFO - STDERR: import '_string' # +2024-11-30 15:09:04,970 - api.main - INFO - STDERR: import 'string' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEB1EB20> +2024-11-30 15:09:04,972 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\threading.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\threading.py +2024-11-30 15:09:04,972 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\threading.cpython-39.pyc' +2024-11-30 15:09:04,972 - api.main - INFO - STDERR: import 'threading' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEB2A130> +2024-11-30 15:09:04,973 - api.main - INFO - STDERR: import 'atexit' # +2024-11-30 15:09:04,973 - api.main - INFO - STDERR: import 'logging' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEE824190> +2024-11-30 15:09:04,975 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\random.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\random.py +2024-11-30 15:09:04,975 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\random.cpython-39.pyc' +2024-11-30 15:09:04,976 - api.main - INFO - STDERR: import 'math' # +2024-11-30 15:09:04,976 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\bisect.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\bisect.py +2024-11-30 15:09:04,976 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\bisect.cpython-39.pyc' +2024-11-30 15:09:04,977 - api.main - INFO - STDERR: import '_bisect' # +2024-11-30 15:09:04,977 - api.main - INFO - STDERR: import 'bisect' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEB4BF40> +2024-11-30 15:09:04,977 - api.main - INFO - STDERR: import '_random' # +2024-11-30 15:09:04,977 - api.main - INFO - STDERR: import '_sha512' # +2024-11-30 15:09:04,977 - api.main - INFO - STDERR: import 'random' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEE815130> +2024-11-30 15:09:04,977 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\datetime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\datetime.py +2024-11-30 15:09:04,977 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\datetime.cpython-39.pyc' +2024-11-30 15:09:04,978 - api.main - INFO - STDERR: import '_datetime' # +2024-11-30 15:09:04,978 - api.main - INFO - STDERR: import 'datetime' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEB64190> +2024-11-30 15:09:04,979 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__init__.py +2024-11-30 15:09:04,979 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:04,980 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\initialise.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\initialise.py +2024-11-30 15:09:04,980 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\initialise.cpython-39.pyc' +2024-11-30 15:09:04,980 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\contextlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\contextlib.py +2024-11-30 15:09:04,980 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\contextlib.cpython-39.pyc' +2024-11-30 15:09:04,981 - api.main - INFO - STDERR: import 'contextlib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEB8FBB0> +2024-11-30 15:09:04,982 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\ansitowin32.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\ansitowin32.py +2024-11-30 15:09:04,982 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\ansitowin32.cpython-39.pyc' +2024-11-30 15:09:04,982 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\ansi.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\ansi.py +2024-11-30 15:09:04,982 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\ansi.cpython-39.pyc' +2024-11-30 15:09:04,982 - api.main - INFO - STDERR: import 'colorama.ansi' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEB9F730> +2024-11-30 15:09:04,982 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\winterm.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\winterm.py +2024-11-30 15:09:04,982 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\winterm.cpython-39.pyc' +2024-11-30 15:09:04,983 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\win32.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\win32.py +2024-11-30 15:09:04,983 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\win32.cpython-39.pyc' +2024-11-30 15:09:04,984 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__init__.py +2024-11-30 15:09:04,984 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:04,992 - api.main - INFO - STDERR: # extension module '_ctypes' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ctypes.pyd' +2024-11-30 15:09:04,992 - api.main - INFO - STDERR: # extension module '_ctypes' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ctypes.pyd' +2024-11-30 15:09:04,992 - api.main - INFO - STDERR: import '_ctypes' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000023AEEBBF7C0> +2024-11-30 15:09:04,993 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\struct.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\struct.py +2024-11-30 15:09:04,993 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\struct.cpython-39.pyc' +2024-11-30 15:09:04,993 - api.main - INFO - STDERR: import '_struct' # +2024-11-30 15:09:04,993 - api.main - INFO - STDERR: import 'struct' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEBBFCA0> +2024-11-30 15:09:04,996 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\_endian.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\_endian.py +2024-11-30 15:09:04,996 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\_endian.cpython-39.pyc' +2024-11-30 15:09:04,996 - api.main - INFO - STDERR: import 'ctypes._endian' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEBD1A00> +2024-11-30 15:09:04,996 - api.main - INFO - STDERR: import 'ctypes' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEBB4520> +2024-11-30 15:09:04,997 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\wintypes.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\wintypes.py +2024-11-30 15:09:04,997 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\wintypes.cpython-39.pyc' +2024-11-30 15:09:04,997 - api.main - INFO - STDERR: import 'ctypes.wintypes' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEBB4970> +2024-11-30 15:09:04,997 - api.main - INFO - STDERR: import 'colorama.win32' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEB8F2E0> +2024-11-30 15:09:04,997 - api.main - INFO - STDERR: import 'colorama.winterm' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEB9FD30> +2024-11-30 15:09:04,998 - api.main - INFO - STDERR: import 'colorama.ansitowin32' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEB8FF10> +2024-11-30 15:09:04,999 - api.main - INFO - STDERR: import 'colorama.initialise' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEB8F940> +2024-11-30 15:09:04,999 - api.main - INFO - STDERR: import 'colorama' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEB64220> +2024-11-30 15:09:05,000 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\config.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\config.py +2024-11-30 15:09:05,000 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\config.cpython-39.pyc' +2024-11-30 15:09:05,001 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\typing.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\typing.py +2024-11-30 15:09:05,001 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\typing.cpython-39.pyc' +2024-11-30 15:09:05,003 - api.main - INFO - STDERR: import 'typing' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEBD1FA0> +2024-11-30 15:09:05,006 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\configargparse.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\configargparse.py +2024-11-30 15:09:05,006 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\configargparse.cpython-39.pyc' +2024-11-30 15:09:05,008 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\argparse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\argparse.py +2024-11-30 15:09:05,011 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\argparse.cpython-39.pyc' +2024-11-30 15:09:05,012 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\gettext.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\gettext.py +2024-11-30 15:09:05,012 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\gettext.cpython-39.pyc' +2024-11-30 15:09:05,012 - api.main - INFO - STDERR: import 'gettext' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEB64AC0> +2024-11-30 15:09:05,013 - api.main - INFO - STDERR: import 'argparse' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF05C2FD0> +2024-11-30 15:09:05,015 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__init__.py +2024-11-30 15:09:05,015 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,016 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\decoder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\decoder.py +2024-11-30 15:09:05,016 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\decoder.cpython-39.pyc' +2024-11-30 15:09:05,017 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\scanner.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\scanner.py +2024-11-30 15:09:05,017 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\scanner.cpython-39.pyc' +2024-11-30 15:09:05,017 - api.main - INFO - STDERR: import '_json' # +2024-11-30 15:09:05,017 - api.main - INFO - STDERR: import 'json.scanner' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEAD37C0> +2024-11-30 15:09:05,017 - api.main - INFO - STDERR: import 'json.decoder' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEB7E070> +2024-11-30 15:09:05,019 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\encoder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\encoder.py +2024-11-30 15:09:05,019 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\encoder.cpython-39.pyc' +2024-11-30 15:09:05,019 - api.main - INFO - STDERR: import 'json.encoder' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEB7ED60> +2024-11-30 15:09:05,019 - api.main - INFO - STDERR: import 'json' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEB76C40> +2024-11-30 15:09:05,021 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\glob.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\glob.py +2024-11-30 15:09:05,021 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\glob.cpython-39.pyc' +2024-11-30 15:09:05,022 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\fnmatch.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\fnmatch.py +2024-11-30 15:09:05,022 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\fnmatch.cpython-39.pyc' +2024-11-30 15:09:05,023 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\posixpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\posixpath.py +2024-11-30 15:09:05,023 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\posixpath.cpython-39.pyc' +2024-11-30 15:09:05,023 - api.main - INFO - STDERR: import 'posixpath' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0602790> +2024-11-30 15:09:05,023 - api.main - INFO - STDERR: import 'fnmatch' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0602430> +2024-11-30 15:09:05,023 - api.main - INFO - STDERR: import 'glob' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF05DAC10> +2024-11-30 15:09:05,025 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\textwrap.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\textwrap.py +2024-11-30 15:09:05,025 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\textwrap.cpython-39.pyc' +2024-11-30 15:09:05,026 - api.main - INFO - STDERR: import 'textwrap' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF06025E0> +2024-11-30 15:09:05,026 - api.main - INFO - STDERR: import 'configargparse' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEBF18E0> +2024-11-30 15:09:05,027 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__init__.py +2024-11-30 15:09:05,028 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,028 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\error.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\error.py +2024-11-30 15:09:05,028 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\error.cpython-39.pyc' +2024-11-30 15:09:05,028 - api.main - INFO - STDERR: import 'yaml.error' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0615D30> +2024-11-30 15:09:05,028 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\tokens.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\tokens.py +2024-11-30 15:09:05,028 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\tokens.cpython-39.pyc' +2024-11-30 15:09:05,029 - api.main - INFO - STDERR: import 'yaml.tokens' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0615EE0> +2024-11-30 15:09:05,029 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\events.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\events.py +2024-11-30 15:09:05,029 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\events.cpython-39.pyc' +2024-11-30 15:09:05,029 - api.main - INFO - STDERR: import 'yaml.events' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF061D1F0> +2024-11-30 15:09:05,030 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\nodes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\nodes.py +2024-11-30 15:09:05,030 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\nodes.cpython-39.pyc' +2024-11-30 15:09:05,030 - api.main - INFO - STDERR: import 'yaml.nodes' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF061DA00> +2024-11-30 15:09:05,031 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\loader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\loader.py +2024-11-30 15:09:05,031 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\loader.cpython-39.pyc' +2024-11-30 15:09:05,032 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\reader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\reader.py +2024-11-30 15:09:05,032 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\reader.cpython-39.pyc' +2024-11-30 15:09:05,038 - api.main - INFO - STDERR: import 'yaml.reader' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF062C370> +2024-11-30 15:09:05,038 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\scanner.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\scanner.py +2024-11-30 15:09:05,038 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\scanner.cpython-39.pyc' +2024-11-30 15:09:05,038 - api.main - INFO - STDERR: import 'yaml.scanner' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF062C700> +2024-11-30 15:09:05,039 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\parser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\parser.py +2024-11-30 15:09:05,039 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\parser.cpython-39.pyc' +2024-11-30 15:09:05,039 - api.main - INFO - STDERR: import 'yaml.parser' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0636280> +2024-11-30 15:09:05,040 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\composer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\composer.py +2024-11-30 15:09:05,040 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\composer.cpython-39.pyc' +2024-11-30 15:09:05,040 - api.main - INFO - STDERR: import 'yaml.composer' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0636940> +2024-11-30 15:09:05,040 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\constructor.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\constructor.py +2024-11-30 15:09:05,040 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\constructor.cpython-39.pyc' +2024-11-30 15:09:05,041 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\base64.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\base64.py +2024-11-30 15:09:05,041 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\base64.cpython-39.pyc' +2024-11-30 15:09:05,041 - api.main - INFO - STDERR: import 'binascii' # +2024-11-30 15:09:05,041 - api.main - INFO - STDERR: import 'base64' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF064CBB0> +2024-11-30 15:09:05,042 - api.main - INFO - STDERR: import 'yaml.constructor' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0636C10> +2024-11-30 15:09:05,043 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\resolver.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\resolver.py +2024-11-30 15:09:05,043 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\resolver.cpython-39.pyc' +2024-11-30 15:09:05,046 - api.main - INFO - STDERR: import 'yaml.resolver' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF064C8B0> +2024-11-30 15:09:05,046 - api.main - INFO - STDERR: import 'yaml.loader' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF061DF40> +2024-11-30 15:09:05,046 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\dumper.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\dumper.py +2024-11-30 15:09:05,047 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\dumper.cpython-39.pyc' +2024-11-30 15:09:05,047 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\emitter.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\emitter.py +2024-11-30 15:09:05,047 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\emitter.cpython-39.pyc' +2024-11-30 15:09:05,047 - api.main - INFO - STDERR: import 'yaml.emitter' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF065CBB0> +2024-11-30 15:09:05,048 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\serializer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\serializer.py +2024-11-30 15:09:05,048 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\serializer.cpython-39.pyc' +2024-11-30 15:09:05,048 - api.main - INFO - STDERR: import 'yaml.serializer' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF06785B0> +2024-11-30 15:09:05,048 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\representer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\representer.py +2024-11-30 15:09:05,048 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\representer.cpython-39.pyc' +2024-11-30 15:09:05,048 - api.main - INFO - STDERR: import 'yaml.representer' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0678850> +2024-11-30 15:09:05,048 - api.main - INFO - STDERR: import 'yaml.dumper' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF062C160> +2024-11-30 15:09:05,049 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\cyaml.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\cyaml.py +2024-11-30 15:09:05,049 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\cyaml.cpython-39.pyc' +2024-11-30 15:09:05,073 - api.main - INFO - STDERR: # extension module 'yaml._yaml' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\_yaml.cp39-win_amd64.pyd' +2024-11-30 15:09:05,073 - api.main - INFO - STDERR: # extension module 'yaml._yaml' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\_yaml.cp39-win_amd64.pyd' +2024-11-30 15:09:05,073 - api.main - INFO - STDERR: import 'yaml._yaml' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000023AF0689460> +2024-11-30 15:09:05,073 - api.main - INFO - STDERR: import 'yaml.cyaml' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF061D340> +2024-11-30 15:09:05,073 - api.main - INFO - STDERR: import 'yaml' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0602F70> +2024-11-30 15:09:05,075 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\plugin_loader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\plugin_loader.py +2024-11-30 15:09:05,075 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\plugin_loader.cpython-39.pyc' +2024-11-30 15:09:05,076 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\inspect.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\inspect.py +2024-11-30 15:09:05,076 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\inspect.cpython-39.pyc' +2024-11-30 15:09:05,076 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ast.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ast.py +2024-11-30 15:09:05,077 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ast.cpython-39.pyc' +2024-11-30 15:09:05,078 - api.main - INFO - STDERR: import '_ast' # +2024-11-30 15:09:05,078 - api.main - INFO - STDERR: import 'ast' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF06C2AF0> +2024-11-30 15:09:05,079 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\dis.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\dis.py +2024-11-30 15:09:05,079 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\dis.cpython-39.pyc' +2024-11-30 15:09:05,080 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\opcode.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\opcode.py +2024-11-30 15:09:05,080 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\opcode.cpython-39.pyc' +2024-11-30 15:09:05,080 - api.main - INFO - STDERR: import '_opcode' # +2024-11-30 15:09:05,080 - api.main - INFO - STDERR: import 'opcode' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0703E20> +2024-11-30 15:09:05,080 - api.main - INFO - STDERR: import 'dis' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF06CC2E0> +2024-11-30 15:09:05,082 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__init__.py +2024-11-30 15:09:05,082 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,082 - api.main - INFO - STDERR: import 'importlib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0716DF0> +2024-11-30 15:09:05,083 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\machinery.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\machinery.py +2024-11-30 15:09:05,083 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\machinery.cpython-39.pyc' +2024-11-30 15:09:05,083 - api.main - INFO - STDERR: import 'importlib.machinery' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0716C40> +2024-11-30 15:09:05,083 - api.main - INFO - STDERR: import 'inspect' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0689AF0> +2024-11-30 15:09:05,085 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pkgutil.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pkgutil.py +2024-11-30 15:09:05,085 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pkgutil.cpython-39.pyc' +2024-11-30 15:09:05,086 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\util.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\util.py +2024-11-30 15:09:05,086 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\util.cpython-39.pyc' +2024-11-30 15:09:05,086 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\abc.py +2024-11-30 15:09:05,087 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 15:09:05,087 - api.main - INFO - STDERR: import 'importlib.abc' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF07395E0> +2024-11-30 15:09:05,087 - api.main - INFO - STDERR: import 'importlib.util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0729640> +2024-11-30 15:09:05,087 - api.main - INFO - STDERR: import 'pkgutil' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0695B20> +2024-11-30 15:09:05,088 - api.main - INFO - STDERR: import 'GramAddict.core.plugin_loader' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0689190> +2024-11-30 15:09:05,088 - api.main - INFO - STDERR: import 'GramAddict.core.config' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEEB64250> +2024-11-30 15:09:05,088 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\device_facade.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py +2024-11-30 15:09:05,088 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\device_facade.cpython-39.pyc' +2024-11-30 15:09:05,089 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\subprocess.py +2024-11-30 15:09:05,089 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\subprocess.cpython-39.pyc' +2024-11-30 15:09:05,090 - api.main - INFO - STDERR: import 'errno' # +2024-11-30 15:09:05,090 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\signal.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\signal.py +2024-11-30 15:09:05,090 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\signal.cpython-39.pyc' +2024-11-30 15:09:05,091 - api.main - INFO - STDERR: import 'signal' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0766A30> +2024-11-30 15:09:05,092 - api.main - INFO - STDERR: import 'msvcrt' # +2024-11-30 15:09:05,092 - api.main - INFO - STDERR: import '_winapi' # +2024-11-30 15:09:05,092 - api.main - INFO - STDERR: import 'subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0759910> +2024-11-30 15:09:05,093 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py +2024-11-30 15:09:05,093 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,094 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\__future__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__future__.py +2024-11-30 15:09:05,094 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\__future__.cpython-39.pyc' +2024-11-30 15:09:05,094 - api.main - INFO - STDERR: import '__future__' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0796E80> +2024-11-30 15:09:05,095 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\hashlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\hashlib.py +2024-11-30 15:09:05,095 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\hashlib.cpython-39.pyc' +2024-11-30 15:09:05,096 - api.main - INFO - STDERR: # extension module '_hashlib' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_hashlib.pyd' +2024-11-30 15:09:05,096 - api.main - INFO - STDERR: # extension module '_hashlib' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_hashlib.pyd' +2024-11-30 15:09:05,097 - api.main - INFO - STDERR: import '_hashlib' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000023AF07A49A0> +2024-11-30 15:09:05,097 - api.main - INFO - STDERR: import '_blake2' # +2024-11-30 15:09:05,097 - api.main - INFO - STDERR: import 'hashlib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF07A4580> +2024-11-30 15:09:05,097 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\shutil.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\shutil.py +2024-11-30 15:09:05,098 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\shutil.cpython-39.pyc' +2024-11-30 15:09:05,098 - api.main - INFO - STDERR: import 'zlib' # +2024-11-30 15:09:05,098 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\bz2.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\bz2.py +2024-11-30 15:09:05,099 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\bz2.cpython-39.pyc' +2024-11-30 15:09:05,099 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_compression.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_compression.py +2024-11-30 15:09:05,099 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_compression.cpython-39.pyc' +2024-11-30 15:09:05,100 - api.main - INFO - STDERR: import '_compression' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF07D2370> +2024-11-30 15:09:05,101 - api.main - INFO - STDERR: # extension module '_bz2' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_bz2.pyd' +2024-11-30 15:09:05,101 - api.main - INFO - STDERR: # extension module '_bz2' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_bz2.pyd' +2024-11-30 15:09:05,101 - api.main - INFO - STDERR: import '_bz2' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000023AF07D28B0> +2024-11-30 15:09:05,101 - api.main - INFO - STDERR: import 'bz2' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF07C1B20> +2024-11-30 15:09:05,102 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\lzma.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\lzma.py +2024-11-30 15:09:05,102 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\lzma.cpython-39.pyc' +2024-11-30 15:09:05,104 - api.main - INFO - STDERR: # extension module '_lzma' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_lzma.pyd' +2024-11-30 15:09:05,104 - api.main - INFO - STDERR: # extension module '_lzma' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_lzma.pyd' +2024-11-30 15:09:05,104 - api.main - INFO - STDERR: import '_lzma' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000023AF07D2FA0> +2024-11-30 15:09:05,105 - api.main - INFO - STDERR: import 'lzma' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF07D27F0> +2024-11-30 15:09:05,106 - api.main - INFO - STDERR: import 'shutil' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF07A4C70> +2024-11-30 15:09:05,106 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\__init__.py +2024-11-30 15:09:05,107 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,107 - api.main - INFO - STDERR: import 'xml' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF07E0940> +2024-11-30 15:09:05,108 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__init__.py +2024-11-30 15:09:05,108 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,110 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\domreg.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\domreg.py +2024-11-30 15:09:05,110 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\domreg.cpython-39.pyc' +2024-11-30 15:09:05,110 - api.main - INFO - STDERR: import 'xml.dom.domreg' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF07E0EE0> +2024-11-30 15:09:05,110 - api.main - INFO - STDERR: import 'xml.dom' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF07C1040> +2024-11-30 15:09:05,110 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\minidom.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\minidom.py +2024-11-30 15:09:05,111 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\minidom.cpython-39.pyc' +2024-11-30 15:09:05,111 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\minicompat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\minicompat.py +2024-11-30 15:09:05,111 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\minicompat.cpython-39.pyc' +2024-11-30 15:09:05,111 - api.main - INFO - STDERR: import 'xml.dom.minicompat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF08364C0> +2024-11-30 15:09:05,112 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\xmlbuilder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\xmlbuilder.py +2024-11-30 15:09:05,112 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\xmlbuilder.cpython-39.pyc' +2024-11-30 15:09:05,113 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\copy.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\copy.py +2024-11-30 15:09:05,113 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\copy.cpython-39.pyc' +2024-11-30 15:09:05,113 - api.main - INFO - STDERR: import 'copy' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF083ECA0> +2024-11-30 15:09:05,113 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\NodeFilter.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\NodeFilter.py +2024-11-30 15:09:05,113 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\NodeFilter.cpython-39.pyc' +2024-11-30 15:09:05,114 - api.main - INFO - STDERR: import 'xml.dom.NodeFilter' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF083EFD0> +2024-11-30 15:09:05,114 - api.main - INFO - STDERR: import 'xml.dom.xmlbuilder' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0836940> +2024-11-30 15:09:05,114 - api.main - INFO - STDERR: import 'xml.dom.minidom' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF07A4550> +2024-11-30 15:09:05,115 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pathlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pathlib.py +2024-11-30 15:09:05,116 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pathlib.cpython-39.pyc' +2024-11-30 15:09:05,116 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__init__.py +2024-11-30 15:09:05,116 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,116 - api.main - INFO - STDERR: import 'urllib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF086AD00> +2024-11-30 15:09:05,117 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\parse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\parse.py +2024-11-30 15:09:05,117 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\parse.cpython-39.pyc' +2024-11-30 15:09:05,118 - api.main - INFO - STDERR: import 'urllib.parse' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF086AD30> +2024-11-30 15:09:05,118 - api.main - INFO - STDERR: import 'pathlib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF082C400> +2024-11-30 15:09:05,119 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__init__.py +2024-11-30 15:09:05,120 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,121 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\deprecation.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecation.py +2024-11-30 15:09:05,121 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\deprecation.cpython-39.pyc' +2024-11-30 15:09:05,121 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__init__.py +2024-11-30 15:09:05,121 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,122 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\__about__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__about__.py +2024-11-30 15:09:05,122 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\__about__.cpython-39.pyc' +2024-11-30 15:09:05,122 - api.main - INFO - STDERR: import 'packaging.__about__' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF07EF790> +2024-11-30 15:09:05,122 - api.main - INFO - STDERR: import 'packaging' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF07EF520> +2024-11-30 15:09:05,123 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\version.py +2024-11-30 15:09:05,123 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\version.cpython-39.pyc' +2024-11-30 15:09:05,123 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_structures.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_structures.py +2024-11-30 15:09:05,123 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_structures.cpython-39.pyc' +2024-11-30 15:09:05,123 - api.main - INFO - STDERR: import 'packaging._structures' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF089C640> +2024-11-30 15:09:05,123 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_typing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_typing.py +2024-11-30 15:09:05,123 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_typing.cpython-39.pyc' +2024-11-30 15:09:05,123 - api.main - INFO - STDERR: import 'packaging._typing' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF089CF10> +2024-11-30 15:09:05,126 - api.main - INFO - STDERR: import 'packaging.version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF07EF5B0> +2024-11-30 15:09:05,126 - api.main - INFO - STDERR: import 'deprecation' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF07EF100> +2024-11-30 15:09:05,127 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_adb.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_adb.py +2024-11-30 15:09:05,127 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_adb.cpython-39.pyc' +2024-11-30 15:09:05,127 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\socket.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\socket.py +2024-11-30 15:09:05,128 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\socket.cpython-39.pyc' +2024-11-30 15:09:05,130 - api.main - INFO - STDERR: # extension module '_socket' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_socket.pyd' +2024-11-30 15:09:05,130 - api.main - INFO - STDERR: # extension module '_socket' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_socket.pyd' +2024-11-30 15:09:05,130 - api.main - INFO - STDERR: import '_socket' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000023AF08BAC40> +2024-11-30 15:09:05,131 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\selectors.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\selectors.py +2024-11-30 15:09:05,131 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\selectors.cpython-39.pyc' +2024-11-30 15:09:05,132 - api.main - INFO - STDERR: # extension module 'select' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\select.pyd' +2024-11-30 15:09:05,132 - api.main - INFO - STDERR: # extension module 'select' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\select.pyd' +2024-11-30 15:09:05,132 - api.main - INFO - STDERR: import 'select' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000023AF08CDE20> +2024-11-30 15:09:05,132 - api.main - INFO - STDERR: import 'selectors' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF08BAD90> +2024-11-30 15:09:05,132 - api.main - INFO - STDERR: import 'socket' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF08A4F40> +2024-11-30 15:09:05,134 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_utils.py +2024-11-30 15:09:05,134 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_utils.cpython-39.pyc' +2024-11-30 15:09:05,134 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\shlex.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\shlex.py +2024-11-30 15:09:05,134 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\shlex.cpython-39.pyc' +2024-11-30 15:09:05,134 - api.main - INFO - STDERR: import 'shlex' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF08D2D00> +2024-11-30 15:09:05,135 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tempfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tempfile.py +2024-11-30 15:09:05,135 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tempfile.cpython-39.pyc' +2024-11-30 15:09:05,135 - api.main - INFO - STDERR: import 'tempfile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF08DC280> +2024-11-30 15:09:05,136 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\zipfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\zipfile.py +2024-11-30 15:09:05,136 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\zipfile.cpython-39.pyc' +2024-11-30 15:09:05,137 - api.main - INFO - STDERR: import 'zipfile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0906640> +2024-11-30 15:09:05,138 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\whichcraft.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\whichcraft.py +2024-11-30 15:09:05,138 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\whichcraft.cpython-39.pyc' +2024-11-30 15:09:05,138 - api.main - INFO - STDERR: import 'whichcraft' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0915D60> +2024-11-30 15:09:05,139 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__init__.py +2024-11-30 15:09:05,139 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,140 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\xmltodict.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\xmltodict.py +2024-11-30 15:09:05,140 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\xmltodict.cpython-39.pyc' +2024-11-30 15:09:05,141 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__init__.py +2024-11-30 15:09:05,141 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\parsers\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,141 - api.main - INFO - STDERR: import 'xml.parsers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0938790> +2024-11-30 15:09:05,142 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__pycache__\expat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\expat.py +2024-11-30 15:09:05,142 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\parsers\\__pycache__\\expat.cpython-39.pyc' +2024-11-30 15:09:05,144 - api.main - INFO - STDERR: # extension module 'pyexpat' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\pyexpat.pyd' +2024-11-30 15:09:05,144 - api.main - INFO - STDERR: # extension module 'pyexpat' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\pyexpat.pyd' +2024-11-30 15:09:05,144 - api.main - INFO - STDERR: import 'pyexpat' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000023AF0938AF0> +2024-11-30 15:09:05,144 - api.main - INFO - STDERR: import 'xml.parsers.expat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0938910> +2024-11-30 15:09:05,144 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__init__.py +2024-11-30 15:09:05,145 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,145 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\xmlreader.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\xmlreader.py +2024-11-30 15:09:05,145 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\xmlreader.cpython-39.pyc' +2024-11-30 15:09:05,145 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\handler.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\handler.py +2024-11-30 15:09:05,146 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\handler.cpython-39.pyc' +2024-11-30 15:09:05,146 - api.main - INFO - STDERR: import 'xml.sax.handler' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0951B20> +2024-11-30 15:09:05,146 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\_exceptions.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\_exceptions.py +2024-11-30 15:09:05,146 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\_exceptions.cpython-39.pyc' +2024-11-30 15:09:05,146 - api.main - INFO - STDERR: import 'xml.sax._exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0958520> +2024-11-30 15:09:05,146 - api.main - INFO - STDERR: import 'xml.sax.xmlreader' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0938F10> +2024-11-30 15:09:05,147 - api.main - INFO - STDERR: import 'xml.sax' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0938BB0> +2024-11-30 15:09:05,147 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\saxutils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\saxutils.py +2024-11-30 15:09:05,147 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\saxutils.cpython-39.pyc' +2024-11-30 15:09:05,148 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\request.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\request.py +2024-11-30 15:09:05,148 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\request.cpython-39.pyc' +2024-11-30 15:09:05,150 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__init__.py +2024-11-30 15:09:05,150 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,150 - api.main - INFO - STDERR: import 'email' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF09A25B0> +2024-11-30 15:09:05,151 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__init__.py +2024-11-30 15:09:05,151 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,152 - api.main - INFO - STDERR: import 'http' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF09A28B0> +2024-11-30 15:09:05,152 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\client.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\client.py +2024-11-30 15:09:05,153 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\client.cpython-39.pyc' +2024-11-30 15:09:05,153 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\parser.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\parser.py +2024-11-30 15:09:05,154 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\parser.cpython-39.pyc' +2024-11-30 15:09:05,154 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\feedparser.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\feedparser.py +2024-11-30 15:09:05,154 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\feedparser.cpython-39.pyc' +2024-11-30 15:09:05,155 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\errors.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\errors.py +2024-11-30 15:09:05,155 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 15:09:05,155 - api.main - INFO - STDERR: import 'email.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF09C5A00> +2024-11-30 15:09:05,156 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_policybase.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_policybase.py +2024-11-30 15:09:05,156 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_policybase.cpython-39.pyc' +2024-11-30 15:09:05,157 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\header.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\header.py +2024-11-30 15:09:05,157 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\header.cpython-39.pyc' +2024-11-30 15:09:05,157 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\quoprimime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\quoprimime.py +2024-11-30 15:09:05,157 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\quoprimime.cpython-39.pyc' +2024-11-30 15:09:05,157 - api.main - INFO - STDERR: import 'email.quoprimime' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF09E36D0> +2024-11-30 15:09:05,158 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\base64mime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\base64mime.py +2024-11-30 15:09:05,158 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\base64mime.cpython-39.pyc' +2024-11-30 15:09:05,158 - api.main - INFO - STDERR: import 'email.base64mime' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF09E3BB0> +2024-11-30 15:09:05,158 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\charset.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\charset.py +2024-11-30 15:09:05,158 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\charset.cpython-39.pyc' +2024-11-30 15:09:05,158 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\encoders.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\encoders.py +2024-11-30 15:09:05,159 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\encoders.cpython-39.pyc' +2024-11-30 15:09:05,159 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\quopri.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\quopri.py +2024-11-30 15:09:05,159 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\quopri.cpython-39.pyc' +2024-11-30 15:09:05,159 - api.main - INFO - STDERR: import 'quopri' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF09F3790> +2024-11-30 15:09:05,159 - api.main - INFO - STDERR: import 'email.encoders' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF09F33A0> +2024-11-30 15:09:05,160 - api.main - INFO - STDERR: import 'email.charset' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF09E3D90> +2024-11-30 15:09:05,160 - api.main - INFO - STDERR: import 'email.header' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF09D3E20> +2024-11-30 15:09:05,160 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\utils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\utils.py +2024-11-30 15:09:05,161 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 15:09:05,161 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_parseaddr.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_parseaddr.py +2024-11-30 15:09:05,161 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_parseaddr.cpython-39.pyc' +2024-11-30 15:09:05,162 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\calendar.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\calendar.py +2024-11-30 15:09:05,162 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\calendar.cpython-39.pyc' +2024-11-30 15:09:05,163 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\locale.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\locale.py +2024-11-30 15:09:05,163 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\locale.cpython-39.pyc' +2024-11-30 15:09:05,163 - api.main - INFO - STDERR: import 'locale' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0A0DEB0> +2024-11-30 15:09:05,163 - api.main - INFO - STDERR: import 'calendar' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0A056A0> +2024-11-30 15:09:05,163 - api.main - INFO - STDERR: import 'email._parseaddr' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF09F3F70> +2024-11-30 15:09:05,163 - api.main - INFO - STDERR: import 'email.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF09F31F0> +2024-11-30 15:09:05,163 - api.main - INFO - STDERR: import 'email._policybase' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF09C5AF0> +2024-11-30 15:09:05,165 - api.main - INFO - STDERR: import 'email.feedparser' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF09C5280> +2024-11-30 15:09:05,165 - api.main - INFO - STDERR: import 'email.parser' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF09BEB80> +2024-11-30 15:09:05,166 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\message.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\message.py +2024-11-30 15:09:05,166 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\message.cpython-39.pyc' +2024-11-30 15:09:05,167 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\uu.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\uu.py +2024-11-30 15:09:05,167 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\uu.cpython-39.pyc' +2024-11-30 15:09:05,167 - api.main - INFO - STDERR: import 'uu' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0A50A90> +2024-11-30 15:09:05,168 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_encoded_words.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_encoded_words.py +2024-11-30 15:09:05,168 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_encoded_words.cpython-39.pyc' +2024-11-30 15:09:05,168 - api.main - INFO - STDERR: import 'email._encoded_words' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0A50CD0> +2024-11-30 15:09:05,169 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\iterators.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\iterators.py +2024-11-30 15:09:05,170 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\iterators.cpython-39.pyc' +2024-11-30 15:09:05,170 - api.main - INFO - STDERR: import 'email.iterators' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0A5C190> +2024-11-30 15:09:05,170 - api.main - INFO - STDERR: import 'email.message' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF09BEF40> +2024-11-30 15:09:05,171 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ssl.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ssl.py +2024-11-30 15:09:05,171 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ssl.cpython-39.pyc' +2024-11-30 15:09:05,173 - api.main - INFO - STDERR: # extension module '_ssl' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ssl.pyd' +2024-11-30 15:09:05,173 - api.main - INFO - STDERR: # extension module '_ssl' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ssl.pyd' +2024-11-30 15:09:05,174 - api.main - INFO - STDERR: import '_ssl' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000023AF0A75580> +2024-11-30 15:09:05,175 - api.main - INFO - STDERR: import 'ssl' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0A5C460> +2024-11-30 15:09:05,175 - api.main - INFO - STDERR: import 'http.client' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF09A29D0> +2024-11-30 15:09:05,177 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\error.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\error.py +2024-11-30 15:09:05,177 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\error.cpython-39.pyc' +2024-11-30 15:09:05,178 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\response.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\response.py +2024-11-30 15:09:05,178 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\response.cpython-39.pyc' +2024-11-30 15:09:05,178 - api.main - INFO - STDERR: import 'urllib.response' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0ACF460> +2024-11-30 15:09:05,178 - api.main - INFO - STDERR: import 'urllib.error' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF09BE3A0> +2024-11-30 15:09:05,180 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\nturl2path.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\nturl2path.py +2024-11-30 15:09:05,180 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\nturl2path.cpython-39.pyc' +2024-11-30 15:09:05,180 - api.main - INFO - STDERR: import 'nturl2path' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0ACFCD0> +2024-11-30 15:09:05,180 - api.main - INFO - STDERR: import 'urllib.request' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF09678B0> +2024-11-30 15:09:05,180 - api.main - INFO - STDERR: import 'xml.sax.saxutils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0938640> +2024-11-30 15:09:05,181 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\platform.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\platform.py +2024-11-30 15:09:05,181 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\platform.cpython-39.pyc' +2024-11-30 15:09:05,183 - api.main - INFO - STDERR: import 'platform' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF09676D0> +2024-11-30 15:09:05,183 - api.main - INFO - STDERR: import 'xmltodict' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0938220> +2024-11-30 15:09:05,184 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\apkfile.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\apkfile.py +2024-11-30 15:09:05,184 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\apkfile.cpython-39.pyc' +2024-11-30 15:09:05,185 - api.main - INFO - STDERR: import 'apkutils2.apkfile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0938580> +2024-11-30 15:09:05,185 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__init__.py +2024-11-30 15:09:05,185 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,185 - api.main - INFO - STDERR: import 'apkutils2.axml' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0AE89D0> +2024-11-30 15:09:05,186 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\arscparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\arscparser.py +2024-11-30 15:09:05,186 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\arscparser.cpython-39.pyc' +2024-11-30 15:09:05,187 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\chunk.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\chunk.py +2024-11-30 15:09:05,187 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\chunk.cpython-39.pyc' +2024-11-30 15:09:05,187 - api.main - INFO - STDERR: import 'apkutils2.axml.chunk' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0B13580> +2024-11-30 15:09:05,187 - api.main - INFO - STDERR: import 'apkutils2.axml.arscparser' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0AF3E80> +2024-11-30 15:09:05,187 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\axmlparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\axmlparser.py +2024-11-30 15:09:05,188 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\axmlparser.cpython-39.pyc' +2024-11-30 15:09:05,188 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\public.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\public.py +2024-11-30 15:09:05,188 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\public.cpython-39.pyc' +2024-11-30 15:09:05,189 - api.main - INFO - STDERR: import 'apkutils2.axml.public' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0F22820> +2024-11-30 15:09:05,189 - api.main - INFO - STDERR: import 'apkutils2.axml.axmlparser' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0B08A00> +2024-11-30 15:09:05,190 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__init__.py +2024-11-30 15:09:05,190 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,190 - api.main - INFO - STDERR: import 'apkutils2.dex' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0F22910> +2024-11-30 15:09:05,190 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dexparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dexparser.py +2024-11-30 15:09:05,190 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dexparser.cpython-39.pyc' +2024-11-30 15:09:05,190 - api.main - INFO - STDERR: import 'array' # +2024-11-30 15:09:05,191 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\byteio.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\byteio.py +2024-11-30 15:09:05,191 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\byteio.cpython-39.pyc' +2024-11-30 15:09:05,191 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\util.py +2024-11-30 15:09:05,192 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\util.cpython-39.pyc' +2024-11-30 15:09:05,192 - api.main - INFO - STDERR: import 'apkutils2.dex.util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0F76EE0> +2024-11-30 15:09:05,192 - api.main - INFO - STDERR: import 'apkutils2.dex.byteio' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0F76550> +2024-11-30 15:09:05,192 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dalvik.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dalvik.py +2024-11-30 15:09:05,192 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dalvik.cpython-39.pyc' +2024-11-30 15:09:05,193 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dalvikformats.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dalvikformats.py +2024-11-30 15:09:05,193 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dalvikformats.cpython-39.pyc' +2024-11-30 15:09:05,193 - api.main - INFO - STDERR: import 'apkutils2.dex.dalvikformats' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0F81370> +2024-11-30 15:09:05,193 - api.main - INFO - STDERR: import 'apkutils2.dex.dalvik' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0F76FD0> +2024-11-30 15:09:05,193 - api.main - INFO - STDERR: import 'apkutils2.dex.dexparser' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0F22940> +2024-11-30 15:09:05,193 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\manifest.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\manifest.py +2024-11-30 15:09:05,194 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\manifest.cpython-39.pyc' +2024-11-30 15:09:05,194 - api.main - INFO - STDERR: import 'apkutils2.manifest' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0F22E20> +2024-11-30 15:09:05,194 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cigam\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cigam\__init__.py +2024-11-30 15:09:05,195 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\cigam\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,195 - api.main - INFO - STDERR: import 'cigam' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0F815E0> +2024-11-30 15:09:05,195 - api.main - INFO - STDERR: import 'apkutils2' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0929B80> +2024-11-30 15:09:05,196 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pkg_resources\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pkg_resources\__init__.py +2024-11-30 15:09:05,196 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pkg_resources\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,197 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\plistlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\plistlib.py +2024-11-30 15:09:05,197 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\plistlib.cpython-39.pyc' +2024-11-30 15:09:05,198 - api.main - INFO - STDERR: import 'plistlib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0FC56D0> +2024-11-30 15:09:05,198 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\markers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\markers.py +2024-11-30 15:09:05,198 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\markers.cpython-39.pyc' +2024-11-30 15:09:05,200 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__init__.py +2024-11-30 15:09:05,200 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,201 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\util.py +2024-11-30 15:09:05,201 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\util.cpython-39.pyc' +2024-11-30 15:09:05,201 - api.main - INFO - STDERR: import 'pyparsing.util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0FDCC70> +2024-11-30 15:09:05,201 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\exceptions.py +2024-11-30 15:09:05,201 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 15:09:05,201 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\unicode.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\unicode.py +2024-11-30 15:09:05,201 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\unicode.cpython-39.pyc' +2024-11-30 15:09:05,201 - api.main - INFO - STDERR: import 'pyparsing.unicode' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0FED910> +2024-11-30 15:09:05,204 - api.main - INFO - STDERR: import 'pyparsing.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0FE7D00> +2024-11-30 15:09:05,205 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\actions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\actions.py +2024-11-30 15:09:05,205 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\actions.cpython-39.pyc' +2024-11-30 15:09:05,205 - api.main - INFO - STDERR: import 'pyparsing.actions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0FED4F0> +2024-11-30 15:09:05,206 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\core.py +2024-11-30 15:09:05,207 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\core.cpython-39.pyc' +2024-11-30 15:09:05,208 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\results.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\results.py +2024-11-30 15:09:05,208 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\results.cpython-39.pyc' +2024-11-30 15:09:05,209 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pprint.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pprint.py +2024-11-30 15:09:05,209 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pprint.cpython-39.pyc' +2024-11-30 15:09:05,209 - api.main - INFO - STDERR: import 'pprint' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF107C8E0> +2024-11-30 15:09:05,209 - api.main - INFO - STDERR: import 'pyparsing.results' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1070820> +2024-11-30 15:09:05,227 - api.main - INFO - STDERR: import 'pyparsing.core' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF100B2E0> +2024-11-30 15:09:05,227 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\helpers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\helpers.py +2024-11-30 15:09:05,228 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\helpers.cpython-39.pyc' +2024-11-30 15:09:05,229 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__init__.py +2024-11-30 15:09:05,229 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\html\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,230 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__pycache__\entities.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\entities.py +2024-11-30 15:09:05,230 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\html\\__pycache__\\entities.cpython-39.pyc' +2024-11-30 15:09:05,231 - api.main - INFO - STDERR: import 'html.entities' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF116EC10> +2024-11-30 15:09:05,231 - api.main - INFO - STDERR: import 'html' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF116E970> +2024-11-30 15:09:05,234 - api.main - INFO - STDERR: import 'pyparsing.helpers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF100BF10> +2024-11-30 15:09:05,235 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\testing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\testing.py +2024-11-30 15:09:05,235 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\testing.cpython-39.pyc' +2024-11-30 15:09:05,235 - api.main - INFO - STDERR: import 'pyparsing.testing' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1201EB0> +2024-11-30 15:09:05,235 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\common.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\common.py +2024-11-30 15:09:05,235 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\common.cpython-39.pyc' +2024-11-30 15:09:05,240 - api.main - INFO - STDERR: import 'pyparsing.common' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF122D4C0> +2024-11-30 15:09:05,240 - api.main - INFO - STDERR: import 'pyparsing' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0FDC6D0> +2024-11-30 15:09:05,241 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_compat.py +2024-11-30 15:09:05,241 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_compat.cpython-39.pyc' +2024-11-30 15:09:05,241 - api.main - INFO - STDERR: import 'packaging._compat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0FDCEE0> +2024-11-30 15:09:05,241 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\specifiers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\specifiers.py +2024-11-30 15:09:05,241 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\specifiers.cpython-39.pyc' +2024-11-30 15:09:05,243 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\utils.py +2024-11-30 15:09:05,243 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 15:09:05,243 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\tags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\tags.py +2024-11-30 15:09:05,243 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\tags.cpython-39.pyc' +2024-11-30 15:09:05,243 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\__init__.py +2024-11-30 15:09:05,243 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,245 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__pycache__\override.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\override.py +2024-11-30 15:09:05,245 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\_distutils_hack\\__pycache__\\override.cpython-39.pyc' +2024-11-30 15:09:05,246 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__init__.py +2024-11-30 15:09:05,246 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,247 - api.main - INFO - STDERR: import 'setuptools._distutils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF12814C0> +2024-11-30 15:09:05,247 - api.main - INFO - STDERR: import 'distutils' # <_distutils_hack.DistutilsMetaFinder.spec_for_distutils..DistutilsLoader object at 0x0000023AF12812B0> +2024-11-30 15:09:05,248 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\core.py +2024-11-30 15:09:05,248 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\core.cpython-39.pyc' +2024-11-30 15:09:05,249 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\cmd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\cmd.py +2024-11-30 15:09:05,250 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\cmd.cpython-39.pyc' +2024-11-30 15:09:05,250 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\_modified.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\_modified.py +2024-11-30 15:09:05,250 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\_modified.cpython-39.pyc' +2024-11-30 15:09:05,250 - api.main - INFO - STDERR: # possible namespace for e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco +2024-11-30 15:09:05,250 - api.main - INFO - STDERR: import 'jaraco' # <_frozen_importlib_external._NamespaceLoader object at 0x0000023AF12957C0> +2024-11-30 15:09:05,251 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\functools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\functools\__init__.py +2024-11-30 15:09:05,251 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\functools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,253 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__init__.py +2024-11-30 15:09:05,253 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,254 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\more.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\more.py +2024-11-30 15:09:05,254 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\more.cpython-39.pyc' +2024-11-30 15:09:05,255 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\queue.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\queue.py +2024-11-30 15:09:05,255 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\queue.cpython-39.pyc' +2024-11-30 15:09:05,257 - api.main - INFO - STDERR: # extension module '_queue' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_queue.pyd' +2024-11-30 15:09:05,257 - api.main - INFO - STDERR: # extension module '_queue' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_queue.pyd' +2024-11-30 15:09:05,257 - api.main - INFO - STDERR: import '_queue' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000023AF12C99D0> +2024-11-30 15:09:05,257 - api.main - INFO - STDERR: import 'queue' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF12BFD00> +2024-11-30 15:09:05,258 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\recipes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\recipes.py +2024-11-30 15:09:05,258 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\recipes.cpython-39.pyc' +2024-11-30 15:09:05,258 - api.main - INFO - STDERR: import 'more_itertools.recipes' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF12C9940> +2024-11-30 15:09:05,258 - api.main - INFO - STDERR: import 'more_itertools.more' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF129CBE0> +2024-11-30 15:09:05,258 - api.main - INFO - STDERR: import 'more_itertools' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF129C940> +2024-11-30 15:09:05,258 - api.main - INFO - STDERR: import 'jaraco.functools' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF12959D0> +2024-11-30 15:09:05,259 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__init__.py +2024-11-30 15:09:05,259 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,260 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\py38.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\py38.py +2024-11-30 15:09:05,260 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\py38.cpython-39.pyc' +2024-11-30 15:09:05,260 - api.main - INFO - STDERR: import 'distutils.compat.py38' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF12F8370> +2024-11-30 15:09:05,260 - api.main - INFO - STDERR: import 'distutils.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF12D5FD0> +2024-11-30 15:09:05,260 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\py39.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\py39.py +2024-11-30 15:09:05,260 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\py39.cpython-39.pyc' +2024-11-30 15:09:05,284 - api.main - INFO - STDERR: import 'distutils.compat.py39' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF12B4DF0> +2024-11-30 15:09:05,285 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\errors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\errors.py +2024-11-30 15:09:05,285 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 15:09:05,285 - api.main - INFO - STDERR: import 'distutils.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF12F84F0> +2024-11-30 15:09:05,285 - api.main - INFO - STDERR: import 'distutils._modified' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1295370> +2024-11-30 15:09:05,285 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\archive_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\archive_util.py +2024-11-30 15:09:05,285 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\archive_util.cpython-39.pyc' +2024-11-30 15:09:05,286 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\_log.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\_log.py +2024-11-30 15:09:05,286 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\_log.cpython-39.pyc' +2024-11-30 15:09:05,286 - api.main - INFO - STDERR: import 'distutils._log' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF12F8C40> +2024-11-30 15:09:05,286 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\dir_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\dir_util.py +2024-11-30 15:09:05,286 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\dir_util.cpython-39.pyc' +2024-11-30 15:09:05,287 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\file_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\file_util.py +2024-11-30 15:09:05,287 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\file_util.cpython-39.pyc' +2024-11-30 15:09:05,287 - api.main - INFO - STDERR: import 'distutils.file_util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1306340> +2024-11-30 15:09:05,287 - api.main - INFO - STDERR: import 'distutils.dir_util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF12F8CD0> +2024-11-30 15:09:05,288 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\spawn.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\spawn.py +2024-11-30 15:09:05,288 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\spawn.cpython-39.pyc' +2024-11-30 15:09:05,288 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\debug.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\debug.py +2024-11-30 15:09:05,288 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\debug.cpython-39.pyc' +2024-11-30 15:09:05,288 - api.main - INFO - STDERR: import 'distutils.debug' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF13069D0> +2024-11-30 15:09:05,288 - api.main - INFO - STDERR: import 'distutils.spawn' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1306670> +2024-11-30 15:09:05,289 - api.main - INFO - STDERR: import 'distutils.archive_util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1295610> +2024-11-30 15:09:05,290 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\util.py +2024-11-30 15:09:05,290 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\util.cpython-39.pyc' +2024-11-30 15:09:05,291 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sysconfig.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sysconfig.py +2024-11-30 15:09:05,291 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sysconfig.cpython-39.pyc' +2024-11-30 15:09:05,291 - api.main - INFO - STDERR: import 'sysconfig' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1306EB0> +2024-11-30 15:09:05,291 - api.main - INFO - STDERR: import 'distutils.util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF12F8640> +2024-11-30 15:09:05,292 - api.main - INFO - STDERR: import 'distutils.cmd' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1281910> +2024-11-30 15:09:05,292 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\dist.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\dist.py +2024-11-30 15:09:05,292 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\dist.cpython-39.pyc' +2024-11-30 15:09:05,292 - api.main - INFO - STDERR: # destroy distutils.dist +2024-11-30 15:09:05,293 - api.main - INFO - STDERR: # destroy distutils.core +2024-11-30 15:09:05,293 - api.main - INFO - STDERR: # destroy _distutils_hack.override +2024-11-30 15:09:05,293 - api.main - INFO - STDERR: # destroy setuptools +2024-11-30 15:09:05,293 - api.main - INFO - STDERR: import 'distutils' # <_distutils_hack.DistutilsMetaFinder.spec_for_distutils..DistutilsLoader object at 0x0000023AF12812B0> +2024-11-30 15:09:05,294 - api.main - INFO - STDERR: import 'packaging.tags' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1269550> +2024-11-30 15:09:05,294 - api.main - INFO - STDERR: import 'packaging.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF12692B0> +2024-11-30 15:09:05,298 - api.main - INFO - STDERR: import 'packaging.specifiers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1255E50> +2024-11-30 15:09:05,311 - api.main - INFO - STDERR: import 'packaging.markers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0FCBB20> +2024-11-30 15:09:05,312 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\requirements.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\requirements.py +2024-11-30 15:09:05,312 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\requirements.cpython-39.pyc' +2024-11-30 15:09:05,319 - api.main - INFO - STDERR: import 'packaging.requirements' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0FCBD30> +2024-11-30 15:09:05,320 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\text\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\text\__init__.py +2024-11-30 15:09:05,320 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\text\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,321 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\resources.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\resources.py +2024-11-30 15:09:05,321 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\resources.cpython-39.pyc' +2024-11-30 15:09:05,321 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\_common.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\_common.py +2024-11-30 15:09:05,322 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\_common.cpython-39.pyc' +2024-11-30 15:09:05,322 - api.main - INFO - STDERR: import 'importlib._common' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF13714F0> +2024-11-30 15:09:05,322 - api.main - INFO - STDERR: import 'importlib.resources' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1280DF0> +2024-11-30 15:09:05,322 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\__pycache__\context.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\context.py +2024-11-30 15:09:05,322 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\__pycache__\\context.cpython-39.pyc' +2024-11-30 15:09:05,324 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\__init__.py +2024-11-30 15:09:05,324 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,325 - api.main - INFO - STDERR: import 'backports' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF13781C0> +2024-11-30 15:09:05,326 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\__init__.py +2024-11-30 15:09:05,326 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,327 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__init__.py +2024-11-30 15:09:05,327 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\compat\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,327 - api.main - INFO - STDERR: import 'backports.tarfile.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF132D1F0> +2024-11-30 15:09:05,328 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__pycache__\py38.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\py38.py +2024-11-30 15:09:05,328 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\compat\\__pycache__\\py38.cpython-39.pyc' +2024-11-30 15:09:05,328 - api.main - INFO - STDERR: import 'backports.tarfile.compat.py38' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1280100> +2024-11-30 15:09:05,329 - api.main - INFO - STDERR: import 'backports.tarfile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1378340> +2024-11-30 15:09:05,329 - api.main - INFO - STDERR: import 'jaraco.context' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1371A30> +2024-11-30 15:09:05,331 - api.main - INFO - STDERR: import 'jaraco.text' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1281220> +2024-11-30 15:09:05,332 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__init__.py +2024-11-30 15:09:05,333 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,335 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\api.py +2024-11-30 15:09:05,335 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\api.cpython-39.pyc' +2024-11-30 15:09:05,335 - api.main - INFO - STDERR: import 'platformdirs.api' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF13AB7C0> +2024-11-30 15:09:05,336 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\version.py +2024-11-30 15:09:05,337 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\version.cpython-39.pyc' +2024-11-30 15:09:05,337 - api.main - INFO - STDERR: import 'platformdirs.version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF13B3A30> +2024-11-30 15:09:05,337 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\windows.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\windows.py +2024-11-30 15:09:05,338 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\windows.cpython-39.pyc' +2024-11-30 15:09:05,339 - api.main - INFO - STDERR: import 'platformdirs.windows' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF13B3AC0> +2024-11-30 15:09:05,339 - api.main - INFO - STDERR: import 'platformdirs' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF139D790> +2024-11-30 15:09:05,380 - api.main - INFO - STDERR: import 'pkg_resources' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0929970> +2024-11-30 15:09:05,380 - api.main - INFO - STDERR: import 'adbutils._utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF08BA520> +2024-11-30 15:09:05,381 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\errors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\errors.py +2024-11-30 15:09:05,381 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 15:09:05,381 - api.main - INFO - STDERR: import 'adbutils.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF08DC670> +2024-11-30 15:09:05,382 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_proto.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_proto.py +2024-11-30 15:09:05,382 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_proto.cpython-39.pyc' +2024-11-30 15:09:05,382 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\dataclasses.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\dataclasses.py +2024-11-30 15:09:05,382 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\dataclasses.cpython-39.pyc' +2024-11-30 15:09:05,384 - api.main - INFO - STDERR: import 'dataclasses' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0F9A0D0> +2024-11-30 15:09:05,386 - api.main - INFO - STDERR: import 'adbutils._proto' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0F94520> +2024-11-30 15:09:05,388 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_version.py +2024-11-30 15:09:05,388 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 15:09:05,388 - api.main - INFO - STDERR: import 'adbutils._version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0F94700> +2024-11-30 15:09:05,389 - api.main - INFO - STDERR: import 'adbutils._adb' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF07EF370> +2024-11-30 15:09:05,389 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_device.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_device.py +2024-11-30 15:09:05,390 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_device.cpython-39.pyc' +2024-11-30 15:09:05,391 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__init__.py +2024-11-30 15:09:05,391 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,391 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__init__.py +2024-11-30 15:09:05,392 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,392 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\exceptions.py +2024-11-30 15:09:05,392 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 15:09:05,393 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__init__.py +2024-11-30 15:09:05,393 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\packages\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,393 - api.main - INFO - STDERR: import 'urllib3.packages' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF14497C0> +2024-11-30 15:09:05,393 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__pycache__\six.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\six.py +2024-11-30 15:09:05,393 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\packages\\__pycache__\\six.cpython-39.pyc' +2024-11-30 15:09:05,393 - api.main - INFO - STDERR: import 'urllib3.packages.six' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF14497F0> +2024-11-30 15:09:05,395 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves' # +2024-11-30 15:09:05,395 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.http_client' # +2024-11-30 15:09:05,395 - api.main - INFO - STDERR: import 'urllib3.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF143F700> +2024-11-30 15:09:05,396 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\_version.py +2024-11-30 15:09:05,396 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 15:09:05,396 - api.main - INFO - STDERR: import 'urllib3._version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF143F8E0> +2024-11-30 15:09:05,396 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\connectionpool.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\connectionpool.py +2024-11-30 15:09:05,396 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\connectionpool.cpython-39.pyc' +2024-11-30 15:09:05,397 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\_collections.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\_collections.py +2024-11-30 15:09:05,397 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\_collections.cpython-39.pyc' +2024-11-30 15:09:05,397 - api.main - INFO - STDERR: import 'urllib3._collections' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF14556D0> +2024-11-30 15:09:05,397 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\connection.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\connection.py +2024-11-30 15:09:05,397 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\connection.cpython-39.pyc' +2024-11-30 15:09:05,398 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__init__.py +2024-11-30 15:09:05,398 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,398 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\connection.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\connection.py +2024-11-30 15:09:05,398 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\connection.cpython-39.pyc' +2024-11-30 15:09:05,400 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__init__.py +2024-11-30 15:09:05,400 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,400 - api.main - INFO - STDERR: import 'urllib3.contrib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1474F40> +2024-11-30 15:09:05,400 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\_appengine_environ.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\_appengine_environ.py +2024-11-30 15:09:05,400 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\_appengine_environ.cpython-39.pyc' +2024-11-30 15:09:05,400 - api.main - INFO - STDERR: import 'urllib3.contrib._appengine_environ' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1480100> +2024-11-30 15:09:05,401 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\wait.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\wait.py +2024-11-30 15:09:05,401 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\wait.cpython-39.pyc' +2024-11-30 15:09:05,401 - api.main - INFO - STDERR: import 'urllib3.util.wait' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF14802B0> +2024-11-30 15:09:05,403 - api.main - INFO - STDERR: import 'urllib3.util.connection' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1474BB0> +2024-11-30 15:09:05,403 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\request.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\request.py +2024-11-30 15:09:05,404 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\request.cpython-39.pyc' +2024-11-30 15:09:05,405 - api.main - INFO - STDERR: import 'urllib3.util.request' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1474D90> +2024-11-30 15:09:05,405 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\response.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\response.py +2024-11-30 15:09:05,405 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\response.cpython-39.pyc' +2024-11-30 15:09:05,405 - api.main - INFO - STDERR: import 'urllib3.util.response' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF14806D0> +2024-11-30 15:09:05,405 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\retry.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\retry.py +2024-11-30 15:09:05,405 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\retry.cpython-39.pyc' +2024-11-30 15:09:05,406 - api.main - INFO - STDERR: import 'urllib3.util.retry' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF14807C0> +2024-11-30 15:09:05,406 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssl_.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssl_.py +2024-11-30 15:09:05,406 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssl_.cpython-39.pyc' +2024-11-30 15:09:05,407 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\hmac.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\hmac.py +2024-11-30 15:09:05,408 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\hmac.cpython-39.pyc' +2024-11-30 15:09:05,408 - api.main - INFO - STDERR: import 'hmac' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF148A9A0> +2024-11-30 15:09:05,408 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\url.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\url.py +2024-11-30 15:09:05,408 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\url.cpython-39.pyc' +2024-11-30 15:09:05,418 - api.main - INFO - STDERR: import 'urllib3.util.url' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF149A1F0> +2024-11-30 15:09:05,419 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssltransport.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssltransport.py +2024-11-30 15:09:05,419 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssltransport.cpython-39.pyc' +2024-11-30 15:09:05,419 - api.main - INFO - STDERR: import 'urllib3.util.ssltransport' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF149ADC0> +2024-11-30 15:09:05,419 - api.main - INFO - STDERR: import 'urllib3.util.ssl_' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF148A4F0> +2024-11-30 15:09:05,420 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\timeout.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\timeout.py +2024-11-30 15:09:05,420 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\timeout.cpython-39.pyc' +2024-11-30 15:09:05,420 - api.main - INFO - STDERR: import 'urllib3.util.timeout' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF148A790> +2024-11-30 15:09:05,420 - api.main - INFO - STDERR: import 'urllib3.util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF14748B0> +2024-11-30 15:09:05,420 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\proxy.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\proxy.py +2024-11-30 15:09:05,421 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\proxy.cpython-39.pyc' +2024-11-30 15:09:05,421 - api.main - INFO - STDERR: import 'urllib3.util.proxy' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1474910> +2024-11-30 15:09:05,421 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssl_match_hostname.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssl_match_hostname.py +2024-11-30 15:09:05,421 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssl_match_hostname.cpython-39.pyc' +2024-11-30 15:09:05,421 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ipaddress.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ipaddress.py +2024-11-30 15:09:05,422 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ipaddress.cpython-39.pyc' +2024-11-30 15:09:05,422 - api.main - INFO - STDERR: import 'ipaddress' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF14A6850> +2024-11-30 15:09:05,422 - api.main - INFO - STDERR: import 'urllib3.util.ssl_match_hostname' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1474610> +2024-11-30 15:09:05,423 - api.main - INFO - STDERR: import 'urllib3.connection' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1463F70> +2024-11-30 15:09:05,423 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\request.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\request.py +2024-11-30 15:09:05,423 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\request.cpython-39.pyc' +2024-11-30 15:09:05,423 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\filepost.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\filepost.py +2024-11-30 15:09:05,423 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\filepost.cpython-39.pyc' +2024-11-30 15:09:05,425 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\fields.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\fields.py +2024-11-30 15:09:05,425 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\fields.cpython-39.pyc' +2024-11-30 15:09:05,425 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\mimetypes.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\mimetypes.py +2024-11-30 15:09:05,426 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\mimetypes.cpython-39.pyc' +2024-11-30 15:09:05,426 - api.main - INFO - STDERR: import 'mimetypes' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF14E8250> +2024-11-30 15:09:05,426 - api.main - INFO - STDERR: import 'urllib3.fields' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF14E5C70> +2024-11-30 15:09:05,426 - api.main - INFO - STDERR: import 'urllib3.filepost' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF14E5850> +2024-11-30 15:09:05,426 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.urllib' # +2024-11-30 15:09:05,426 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.urllib.parse' # +2024-11-30 15:09:05,426 - api.main - INFO - STDERR: import 'urllib3.request' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1463FD0> +2024-11-30 15:09:05,426 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\response.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\response.py +2024-11-30 15:09:05,426 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\response.cpython-39.pyc' +2024-11-30 15:09:05,427 - api.main - INFO - STDERR: import 'urllib3.response' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF14C0F10> +2024-11-30 15:09:05,428 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\queue.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\queue.py +2024-11-30 15:09:05,428 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\queue.cpython-39.pyc' +2024-11-30 15:09:05,428 - api.main - INFO - STDERR: import 'urllib3.util.queue' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF14E86A0> +2024-11-30 15:09:05,428 - api.main - INFO - STDERR: import 'urllib3.connectionpool' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF143FA30> +2024-11-30 15:09:05,428 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\poolmanager.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\poolmanager.py +2024-11-30 15:09:05,428 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\poolmanager.cpython-39.pyc' +2024-11-30 15:09:05,429 - api.main - INFO - STDERR: import 'urllib3.poolmanager' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF14FA220> +2024-11-30 15:09:05,429 - api.main - INFO - STDERR: import 'urllib3' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF143F1C0> +2024-11-30 15:09:05,430 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\exceptions.py +2024-11-30 15:09:05,430 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 15:09:05,432 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\compat.py +2024-11-30 15:09:05,432 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\compat.cpython-39.pyc' +2024-11-30 15:09:05,433 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__init__.py +2024-11-30 15:09:05,433 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,434 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\api.py +2024-11-30 15:09:05,434 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\api.cpython-39.pyc' +2024-11-30 15:09:05,435 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\cd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\cd.py +2024-11-30 15:09:05,435 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\cd.cpython-39.pyc' +2024-11-30 15:09:05,435 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\constant.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\constant.py +2024-11-30 15:09:05,435 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\constant.cpython-39.pyc' +2024-11-30 15:09:05,436 - api.main - INFO - STDERR: import 'charset_normalizer.constant' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1515700> +2024-11-30 15:09:05,482 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md__mypyc' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md__mypyc.cp39-win_amd64.pyd' +2024-11-30 15:09:05,482 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md__mypyc' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md__mypyc.cp39-win_amd64.pyd' +2024-11-30 15:09:05,482 - api.main - INFO - STDERR: import 'charset_normalizer.md__mypyc' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000023AF1539DF0> +2024-11-30 15:09:05,482 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\utils.py +2024-11-30 15:09:05,483 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 15:09:05,485 - api.main - INFO - STDERR: # extension module 'unicodedata' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\unicodedata.pyd' +2024-11-30 15:09:05,485 - api.main - INFO - STDERR: # extension module 'unicodedata' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\unicodedata.pyd' +2024-11-30 15:09:05,485 - api.main - INFO - STDERR: import 'unicodedata' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000023AF153F6A0> +2024-11-30 15:09:05,485 - api.main - INFO - STDERR: import '_multibytecodec' # +2024-11-30 15:09:05,485 - api.main - INFO - STDERR: import 'charset_normalizer.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1539B20> +2024-11-30 15:09:05,485 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md.cp39-win_amd64.pyd' +2024-11-30 15:09:05,485 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md.cp39-win_amd64.pyd' +2024-11-30 15:09:05,485 - api.main - INFO - STDERR: import 'charset_normalizer.md' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000023AF1539B50> +2024-11-30 15:09:05,486 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\models.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\models.py +2024-11-30 15:09:05,486 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\models.cpython-39.pyc' +2024-11-30 15:09:05,486 - api.main - INFO - STDERR: import 'charset_normalizer.models' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF153FF10> +2024-11-30 15:09:05,486 - api.main - INFO - STDERR: import 'charset_normalizer.cd' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF14FA730> +2024-11-30 15:09:05,487 - api.main - INFO - STDERR: import 'charset_normalizer.api' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF14FAA90> +2024-11-30 15:09:05,487 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\legacy.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\legacy.py +2024-11-30 15:09:05,488 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\legacy.cpython-39.pyc' +2024-11-30 15:09:05,488 - api.main - INFO - STDERR: import 'charset_normalizer.legacy' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF155B2B0> +2024-11-30 15:09:05,488 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\version.py +2024-11-30 15:09:05,489 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\version.cpython-39.pyc' +2024-11-30 15:09:05,489 - api.main - INFO - STDERR: import 'charset_normalizer.version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF155B340> +2024-11-30 15:09:05,489 - api.main - INFO - STDERR: import 'charset_normalizer' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF14FAD30> +2024-11-30 15:09:05,490 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\cookiejar.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\cookiejar.py +2024-11-30 15:09:05,491 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\cookiejar.cpython-39.pyc' +2024-11-30 15:09:05,495 - api.main - INFO - STDERR: import 'http.cookiejar' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF155B370> +2024-11-30 15:09:05,496 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\cookies.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\cookies.py +2024-11-30 15:09:05,496 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\cookies.cpython-39.pyc' +2024-11-30 15:09:05,497 - api.main - INFO - STDERR: import 'http.cookies' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF155BEE0> +2024-11-30 15:09:05,497 - api.main - INFO - STDERR: import 'requests.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF14FAF70> +2024-11-30 15:09:05,497 - api.main - INFO - STDERR: import 'requests.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF15053A0> +2024-11-30 15:09:05,499 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\packages.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\packages.py +2024-11-30 15:09:05,499 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\packages.cpython-39.pyc' +2024-11-30 15:09:05,501 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__init__.py +2024-11-30 15:09:05,501 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,502 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\core.py +2024-11-30 15:09:05,502 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\core.cpython-39.pyc' +2024-11-30 15:09:05,502 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\idnadata.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\idnadata.py +2024-11-30 15:09:05,502 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\idnadata.cpython-39.pyc' +2024-11-30 15:09:05,503 - api.main - INFO - STDERR: import 'idna.idnadata' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF15C47C0> +2024-11-30 15:09:05,504 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\intranges.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\intranges.py +2024-11-30 15:09:05,504 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\intranges.cpython-39.pyc' +2024-11-30 15:09:05,504 - api.main - INFO - STDERR: import 'idna.intranges' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF15C4850> +2024-11-30 15:09:05,505 - api.main - INFO - STDERR: import 'idna.core' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF15A51C0> +2024-11-30 15:09:05,505 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\package_data.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\package_data.py +2024-11-30 15:09:05,505 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\package_data.cpython-39.pyc' +2024-11-30 15:09:05,505 - api.main - INFO - STDERR: import 'idna.package_data' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF15C44F0> +2024-11-30 15:09:05,505 - api.main - INFO - STDERR: import 'idna' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1505070> +2024-11-30 15:09:05,505 - api.main - INFO - STDERR: import 'requests.packages' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1505580> +2024-11-30 15:09:05,506 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\utils.py +2024-11-30 15:09:05,506 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 15:09:05,506 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\certs.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\certs.py +2024-11-30 15:09:05,506 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\certs.cpython-39.pyc' +2024-11-30 15:09:05,507 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__init__.py +2024-11-30 15:09:05,508 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\certifi\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,508 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\core.py +2024-11-30 15:09:05,508 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\certifi\\__pycache__\\core.cpython-39.pyc' +2024-11-30 15:09:05,509 - api.main - INFO - STDERR: import 'certifi.core' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF15EE730> +2024-11-30 15:09:05,509 - api.main - INFO - STDERR: import 'certifi' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF15EE4C0> +2024-11-30 15:09:05,509 - api.main - INFO - STDERR: import 'requests.certs' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF15EE2B0> +2024-11-30 15:09:05,509 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\__version__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__version__.py +2024-11-30 15:09:05,509 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\__version__.cpython-39.pyc' +2024-11-30 15:09:05,509 - api.main - INFO - STDERR: import 'requests.__version__' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF15EE430> +2024-11-30 15:09:05,510 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\_internal_utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\_internal_utils.py +2024-11-30 15:09:05,510 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\_internal_utils.cpython-39.pyc' +2024-11-30 15:09:05,510 - api.main - INFO - STDERR: import 'requests._internal_utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF15EE340> +2024-11-30 15:09:05,511 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\cookies.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\cookies.py +2024-11-30 15:09:05,511 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\cookies.cpython-39.pyc' +2024-11-30 15:09:05,511 - api.main - INFO - STDERR: import 'requests.cookies' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF15EE550> +2024-11-30 15:09:05,512 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\structures.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\structures.py +2024-11-30 15:09:05,512 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\structures.cpython-39.pyc' +2024-11-30 15:09:05,512 - api.main - INFO - STDERR: import 'requests.structures' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1600940> +2024-11-30 15:09:05,512 - api.main - INFO - STDERR: import 'requests.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF15057C0> +2024-11-30 15:09:05,513 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\api.py +2024-11-30 15:09:05,513 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\api.cpython-39.pyc' +2024-11-30 15:09:05,513 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\sessions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\sessions.py +2024-11-30 15:09:05,513 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\sessions.cpython-39.pyc' +2024-11-30 15:09:05,513 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\adapters.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\adapters.py +2024-11-30 15:09:05,513 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\adapters.cpython-39.pyc' +2024-11-30 15:09:05,515 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\auth.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\auth.py +2024-11-30 15:09:05,515 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\auth.cpython-39.pyc' +2024-11-30 15:09:05,515 - api.main - INFO - STDERR: import 'requests.auth' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1619730> +2024-11-30 15:09:05,515 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\models.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\models.py +2024-11-30 15:09:05,515 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\models.cpython-39.pyc' +2024-11-30 15:09:05,516 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\idna.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\idna.py +2024-11-30 15:09:05,517 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\idna.cpython-39.pyc' +2024-11-30 15:09:05,517 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\stringprep.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\stringprep.py +2024-11-30 15:09:05,517 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\stringprep.cpython-39.pyc' +2024-11-30 15:09:05,517 - api.main - INFO - STDERR: import 'stringprep' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1635160> +2024-11-30 15:09:05,517 - api.main - INFO - STDERR: import 'encodings.idna' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1628CD0> +2024-11-30 15:09:05,517 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\hooks.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\hooks.py +2024-11-30 15:09:05,517 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\hooks.cpython-39.pyc' +2024-11-30 15:09:05,517 - api.main - INFO - STDERR: import 'requests.hooks' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1628EE0> +2024-11-30 15:09:05,519 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\status_codes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\status_codes.py +2024-11-30 15:09:05,519 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\status_codes.cpython-39.pyc' +2024-11-30 15:09:05,519 - api.main - INFO - STDERR: import 'requests.status_codes' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1628F70> +2024-11-30 15:09:05,519 - api.main - INFO - STDERR: import 'requests.models' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1619DF0> +2024-11-30 15:09:05,519 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\socks.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\socks.py +2024-11-30 15:09:05,520 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\socks.cpython-39.pyc' +2024-11-30 15:09:05,520 - api.main - INFO - STDERR: # destroy urllib3.contrib.socks +2024-11-30 15:09:05,521 - api.main - INFO - STDERR: import 'requests.adapters' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF160DE20> +2024-11-30 15:09:05,521 - api.main - INFO - STDERR: import 'requests.sessions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF160D3D0> +2024-11-30 15:09:05,521 - api.main - INFO - STDERR: import 'requests.api' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1600F70> +2024-11-30 15:09:05,521 - api.main - INFO - STDERR: import 'requests' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF142FE80> +2024-11-30 15:09:05,522 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__init__.py +2024-11-30 15:09:05,522 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,524 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_version.py +2024-11-30 15:09:05,524 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 15:09:05,524 - api.main - INFO - STDERR: import 'PIL._version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1619550> +2024-11-30 15:09:05,524 - api.main - INFO - STDERR: import 'PIL' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF160D1F0> +2024-11-30 15:09:05,525 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\Image.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\Image.py +2024-11-30 15:09:05,526 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\Image.cpython-39.pyc' +2024-11-30 15:09:05,528 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\ExifTags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\ExifTags.py +2024-11-30 15:09:05,528 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\ExifTags.cpython-39.pyc' +2024-11-30 15:09:05,534 - api.main - INFO - STDERR: import 'PIL.ExifTags' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1679880> +2024-11-30 15:09:05,535 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\ImageMode.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\ImageMode.py +2024-11-30 15:09:05,535 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\ImageMode.cpython-39.pyc' +2024-11-30 15:09:05,535 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_deprecate.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_deprecate.py +2024-11-30 15:09:05,535 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_deprecate.cpython-39.pyc' +2024-11-30 15:09:05,535 - api.main - INFO - STDERR: import 'PIL._deprecate' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1695DF0> +2024-11-30 15:09:05,535 - api.main - INFO - STDERR: import 'PIL.ImageMode' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF16798B0> +2024-11-30 15:09:05,536 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\TiffTags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\TiffTags.py +2024-11-30 15:09:05,537 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\TiffTags.cpython-39.pyc' +2024-11-30 15:09:05,537 - api.main - INFO - STDERR: import 'PIL.TiffTags' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF169B9A0> +2024-11-30 15:09:05,538 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_binary.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_binary.py +2024-11-30 15:09:05,539 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_binary.cpython-39.pyc' +2024-11-30 15:09:05,539 - api.main - INFO - STDERR: import 'PIL._binary' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF169BE80> +2024-11-30 15:09:05,539 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_util.py +2024-11-30 15:09:05,539 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_util.cpython-39.pyc' +2024-11-30 15:09:05,540 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_typing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_typing.py +2024-11-30 15:09:05,540 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_typing.cpython-39.pyc' +2024-11-30 15:09:05,541 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\typing_extensions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\typing_extensions.py +2024-11-30 15:09:05,541 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\typing_extensions.cpython-39.pyc' +2024-11-30 15:09:05,543 - api.main - INFO - STDERR: import 'typing_extensions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF16AFC10> +2024-11-30 15:09:05,543 - api.main - INFO - STDERR: import 'PIL._typing' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF16AF790> +2024-11-30 15:09:05,543 - api.main - INFO - STDERR: import 'PIL._util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF16AF340> +2024-11-30 15:09:05,570 - api.main - INFO - STDERR: # extension module 'PIL._imaging' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\_imaging.cp39-win_amd64.pyd' +2024-11-30 15:09:05,570 - api.main - INFO - STDERR: # extension module 'PIL._imaging' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\_imaging.cp39-win_amd64.pyd' +2024-11-30 15:09:05,570 - api.main - INFO - STDERR: import 'PIL._imaging' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000023AF16AFE20> +2024-11-30 15:09:05,571 - api.main - INFO - STDERR: import 'PIL.Image' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF160DBE0> +2024-11-30 15:09:05,572 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__init__.py +2024-11-30 15:09:05,572 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,572 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py +2024-11-30 15:09:05,573 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\api.cpython-39.pyc' +2024-11-30 15:09:05,573 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\compat.py +2024-11-30 15:09:05,573 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\compat.cpython-39.pyc' +2024-11-30 15:09:05,573 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\decorator.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\decorator.py +2024-11-30 15:09:05,575 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\decorator.cpython-39.pyc' +2024-11-30 15:09:05,575 - api.main - INFO - STDERR: import 'decorator' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF16CC9D0> +2024-11-30 15:09:05,575 - api.main - INFO - STDERR: import 'retry.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF16CC130> +2024-11-30 15:09:05,575 - api.main - INFO - STDERR: import 'retry.api' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF16C4520> +2024-11-30 15:09:05,575 - api.main - INFO - STDERR: import 'retry' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF160D160> +2024-11-30 15:09:05,575 - api.main - INFO - STDERR: import 'adbutils._device' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1419130> +2024-11-30 15:09:05,576 - api.main - INFO - STDERR: import 'adbutils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0848D00> +2024-11-30 15:09:05,577 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__init__.py +2024-11-30 15:09:05,577 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,578 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_api.py +2024-11-30 15:09:05,578 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_api.cpython-39.pyc' +2024-11-30 15:09:05,578 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_error.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_error.py +2024-11-30 15:09:05,578 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_error.cpython-39.pyc' +2024-11-30 15:09:05,578 - api.main - INFO - STDERR: import 'filelock._error' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1883190> +2024-11-30 15:09:05,580 - api.main - INFO - STDERR: import 'filelock._api' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF186A790> +2024-11-30 15:09:05,580 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_soft.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_soft.py +2024-11-30 15:09:05,580 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_soft.cpython-39.pyc' +2024-11-30 15:09:05,581 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_util.py +2024-11-30 15:09:05,581 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_util.cpython-39.pyc' +2024-11-30 15:09:05,581 - api.main - INFO - STDERR: import 'filelock._util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1883FD0> +2024-11-30 15:09:05,581 - api.main - INFO - STDERR: import 'filelock._soft' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1883550> +2024-11-30 15:09:05,581 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_unix.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_unix.py +2024-11-30 15:09:05,581 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_unix.cpython-39.pyc' +2024-11-30 15:09:05,581 - api.main - INFO - STDERR: import 'filelock._unix' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1883F10> +2024-11-30 15:09:05,582 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_windows.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_windows.py +2024-11-30 15:09:05,582 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_windows.cpython-39.pyc' +2024-11-30 15:09:05,582 - api.main - INFO - STDERR: import 'filelock._windows' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1883910> +2024-11-30 15:09:05,582 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\asyncio.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\asyncio.py +2024-11-30 15:09:05,582 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\asyncio.cpython-39.pyc' +2024-11-30 15:09:05,583 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__init__.py +2024-11-30 15:09:05,583 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,584 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_events.py +2024-11-30 15:09:05,585 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_events.cpython-39.pyc' +2024-11-30 15:09:05,586 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\__init__.py +2024-11-30 15:09:05,586 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,586 - api.main - INFO - STDERR: import 'concurrent' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF18AF760> +2024-11-30 15:09:05,587 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__init__.py +2024-11-30 15:09:05,587 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\futures\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,588 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__pycache__\_base.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\_base.py +2024-11-30 15:09:05,588 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\futures\\__pycache__\\_base.cpython-39.pyc' +2024-11-30 15:09:05,589 - api.main - INFO - STDERR: import 'concurrent.futures._base' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF18AFA60> +2024-11-30 15:09:05,589 - api.main - INFO - STDERR: import 'concurrent.futures' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF18AF790> +2024-11-30 15:09:05,589 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\constants.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\constants.py +2024-11-30 15:09:05,590 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\constants.cpython-39.pyc' +2024-11-30 15:09:05,590 - api.main - INFO - STDERR: import 'asyncio.constants' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF18AF850> +2024-11-30 15:09:05,590 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\coroutines.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\coroutines.py +2024-11-30 15:09:05,590 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\coroutines.cpython-39.pyc' +2024-11-30 15:09:05,591 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_futures.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_futures.py +2024-11-30 15:09:05,591 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_futures.cpython-39.pyc' +2024-11-30 15:09:05,592 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\format_helpers.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\format_helpers.py +2024-11-30 15:09:05,592 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\format_helpers.cpython-39.pyc' +2024-11-30 15:09:05,592 - api.main - INFO - STDERR: import 'asyncio.format_helpers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF18BFD00> +2024-11-30 15:09:05,592 - api.main - INFO - STDERR: import 'asyncio.base_futures' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF18BF9A0> +2024-11-30 15:09:05,593 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\log.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\log.py +2024-11-30 15:09:05,593 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\log.cpython-39.pyc' +2024-11-30 15:09:05,593 - api.main - INFO - STDERR: import 'asyncio.log' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF18BFD30> +2024-11-30 15:09:05,593 - api.main - INFO - STDERR: import 'asyncio.coroutines' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF18AF5E0> +2024-11-30 15:09:05,594 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\events.py +2024-11-30 15:09:05,594 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\events.cpython-39.pyc' +2024-11-30 15:09:05,595 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\contextvars.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\contextvars.py +2024-11-30 15:09:05,595 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\contextvars.cpython-39.pyc' +2024-11-30 15:09:05,595 - api.main - INFO - STDERR: import '_contextvars' # +2024-11-30 15:09:05,595 - api.main - INFO - STDERR: import 'contextvars' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF18DD160> +2024-11-30 15:09:05,596 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\exceptions.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\exceptions.py +2024-11-30 15:09:05,596 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 15:09:05,596 - api.main - INFO - STDERR: import 'asyncio.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF18DD730> +2024-11-30 15:09:05,598 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_tasks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_tasks.py +2024-11-30 15:09:05,598 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_tasks.cpython-39.pyc' +2024-11-30 15:09:05,598 - api.main - INFO - STDERR: import 'asyncio.base_tasks' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF18DDB80> +2024-11-30 15:09:05,598 - api.main - INFO - STDERR: # extension module '_asyncio' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_asyncio.pyd' +2024-11-30 15:09:05,598 - api.main - INFO - STDERR: # extension module '_asyncio' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_asyncio.pyd' +2024-11-30 15:09:05,598 - api.main - INFO - STDERR: import '_asyncio' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000023AF18DD4F0> +2024-11-30 15:09:05,598 - api.main - INFO - STDERR: import 'asyncio.events' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF18BF790> +2024-11-30 15:09:05,599 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\futures.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\futures.py +2024-11-30 15:09:05,599 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\futures.cpython-39.pyc' +2024-11-30 15:09:05,599 - api.main - INFO - STDERR: import 'asyncio.futures' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF18DD310> +2024-11-30 15:09:05,600 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\protocols.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\protocols.py +2024-11-30 15:09:05,600 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\protocols.cpython-39.pyc' +2024-11-30 15:09:05,600 - api.main - INFO - STDERR: import 'asyncio.protocols' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF18F0280> +2024-11-30 15:09:05,601 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\sslproto.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\sslproto.py +2024-11-30 15:09:05,602 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\sslproto.cpython-39.pyc' +2024-11-30 15:09:05,602 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\transports.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\transports.py +2024-11-30 15:09:05,602 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\transports.cpython-39.pyc' +2024-11-30 15:09:05,603 - api.main - INFO - STDERR: import 'asyncio.transports' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF18F9940> +2024-11-30 15:09:05,603 - api.main - INFO - STDERR: import 'asyncio.sslproto' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF18F0910> +2024-11-30 15:09:05,604 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\staggered.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\staggered.py +2024-11-30 15:09:05,604 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\staggered.cpython-39.pyc' +2024-11-30 15:09:05,605 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\locks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\locks.py +2024-11-30 15:09:05,605 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\locks.cpython-39.pyc' +2024-11-30 15:09:05,605 - api.main - INFO - STDERR: import 'asyncio.locks' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1915940> +2024-11-30 15:09:05,606 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\tasks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\tasks.py +2024-11-30 15:09:05,606 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\tasks.cpython-39.pyc' +2024-11-30 15:09:05,606 - api.main - INFO - STDERR: import 'asyncio.tasks' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF19224C0> +2024-11-30 15:09:05,606 - api.main - INFO - STDERR: import 'asyncio.staggered' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF18F9700> +2024-11-30 15:09:05,608 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\trsock.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\trsock.py +2024-11-30 15:09:05,608 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\trsock.cpython-39.pyc' +2024-11-30 15:09:05,608 - api.main - INFO - STDERR: import 'asyncio.trsock' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF192C790> +2024-11-30 15:09:05,608 - api.main - INFO - STDERR: import 'asyncio.base_events' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF18873A0> +2024-11-30 15:09:05,608 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\runners.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\runners.py +2024-11-30 15:09:05,608 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\runners.cpython-39.pyc' +2024-11-30 15:09:05,608 - api.main - INFO - STDERR: import 'asyncio.runners' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF18AF4F0> +2024-11-30 15:09:05,609 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\queues.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\queues.py +2024-11-30 15:09:05,609 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\queues.cpython-39.pyc' +2024-11-30 15:09:05,609 - api.main - INFO - STDERR: import 'asyncio.queues' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF18AF3A0> +2024-11-30 15:09:05,610 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\streams.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\streams.py +2024-11-30 15:09:05,610 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\streams.cpython-39.pyc' +2024-11-30 15:09:05,610 - api.main - INFO - STDERR: import 'asyncio.streams' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1935850> +2024-11-30 15:09:05,611 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\subprocess.py +2024-11-30 15:09:05,611 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\subprocess.cpython-39.pyc' +2024-11-30 15:09:05,611 - api.main - INFO - STDERR: import 'asyncio.subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF194B670> +2024-11-30 15:09:05,612 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\threads.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\threads.py +2024-11-30 15:09:05,612 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\threads.cpython-39.pyc' +2024-11-30 15:09:05,612 - api.main - INFO - STDERR: import 'asyncio.threads' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF194BC10> +2024-11-30 15:09:05,612 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\windows_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\windows_events.py +2024-11-30 15:09:05,612 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\windows_events.cpython-39.pyc' +2024-11-30 15:09:05,614 - api.main - INFO - STDERR: # extension module '_overlapped' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_overlapped.pyd' +2024-11-30 15:09:05,614 - api.main - INFO - STDERR: # extension module '_overlapped' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_overlapped.pyd' +2024-11-30 15:09:05,614 - api.main - INFO - STDERR: import '_overlapped' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000023AF19671C0> +2024-11-30 15:09:05,614 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_subprocess.py +2024-11-30 15:09:05,614 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_subprocess.cpython-39.pyc' +2024-11-30 15:09:05,615 - api.main - INFO - STDERR: import 'asyncio.base_subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1967310> +2024-11-30 15:09:05,615 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\proactor_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\proactor_events.py +2024-11-30 15:09:05,616 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\proactor_events.cpython-39.pyc' +2024-11-30 15:09:05,616 - api.main - INFO - STDERR: import 'asyncio.proactor_events' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1967D90> +2024-11-30 15:09:05,616 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\selector_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\selector_events.py +2024-11-30 15:09:05,616 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\selector_events.cpython-39.pyc' +2024-11-30 15:09:05,616 - api.main - INFO - STDERR: import 'asyncio.selector_events' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1981490> +2024-11-30 15:09:05,617 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\windows_utils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\windows_utils.py +2024-11-30 15:09:05,617 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\windows_utils.cpython-39.pyc' +2024-11-30 15:09:05,618 - api.main - INFO - STDERR: import 'asyncio.windows_utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF19A2580> +2024-11-30 15:09:05,618 - api.main - INFO - STDERR: import 'asyncio.windows_events' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF194BCD0> +2024-11-30 15:09:05,618 - api.main - INFO - STDERR: import 'asyncio' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF18872E0> +2024-11-30 15:09:05,619 - api.main - INFO - STDERR: import 'filelock.asyncio' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1883AC0> +2024-11-30 15:09:05,620 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\version.py +2024-11-30 15:09:05,620 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\version.cpython-39.pyc' +2024-11-30 15:09:05,620 - api.main - INFO - STDERR: import 'filelock.version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF19B0B20> +2024-11-30 15:09:05,620 - api.main - INFO - STDERR: import 'filelock' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF186A5B0> +2024-11-30 15:09:05,621 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__init__.py +2024-11-30 15:09:05,621 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,622 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\colors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\colors.py +2024-11-30 15:09:05,622 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\colors.cpython-39.pyc' +2024-11-30 15:09:05,622 - api.main - INFO - STDERR: import 'logzero.colors' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF19B09A0> +2024-11-30 15:09:05,622 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\jsonlogger.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\jsonlogger.py +2024-11-30 15:09:05,622 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\jsonlogger.cpython-39.pyc' +2024-11-30 15:09:05,622 - api.main - INFO - STDERR: import 'logzero.jsonlogger' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF19B0250> +2024-11-30 15:09:05,623 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__pycache__\handlers.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\handlers.py +2024-11-30 15:09:05,623 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\logging\\__pycache__\\handlers.cpython-39.pyc' +2024-11-30 15:09:05,623 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pickle.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pickle.py +2024-11-30 15:09:05,625 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pickle.cpython-39.pyc' +2024-11-30 15:09:05,625 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_compat_pickle.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_compat_pickle.py +2024-11-30 15:09:05,626 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_compat_pickle.cpython-39.pyc' +2024-11-30 15:09:05,626 - api.main - INFO - STDERR: import '_compat_pickle' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF19E96D0> +2024-11-30 15:09:05,626 - api.main - INFO - STDERR: import '_pickle' # +2024-11-30 15:09:05,626 - api.main - INFO - STDERR: import 'pickle' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF19C9BE0> +2024-11-30 15:09:05,627 - api.main - INFO - STDERR: import 'logging.handlers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF19A2D00> +2024-11-30 15:09:05,628 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\curses\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\curses\__init__.py +2024-11-30 15:09:05,628 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\curses\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,628 - api.main - INFO - STDERR: # destroy curses +2024-11-30 15:09:05,628 - api.main - INFO - STDERR: import 'logzero' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1883A90> +2024-11-30 15:09:05,629 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\six.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\six.py +2024-11-30 15:09:05,630 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\six.cpython-39.pyc' +2024-11-30 15:09:05,630 - api.main - INFO - STDERR: import 'six' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF19C9D30> +2024-11-30 15:09:05,630 - api.main - INFO - STDERR: import 'six.moves' # +2024-11-30 15:09:05,630 - api.main - INFO - STDERR: import 'six.moves.urllib' # +2024-11-30 15:09:05,630 - api.main - INFO - STDERR: import 'six.moves.urllib.parse' # +2024-11-30 15:09:05,632 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\cached_property.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cached_property.py +2024-11-30 15:09:05,632 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\cached_property.cpython-39.pyc' +2024-11-30 15:09:05,632 - api.main - INFO - STDERR: import 'cached_property' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF19E9F10> +2024-11-30 15:09:05,633 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__init__.py +2024-11-30 15:09:05,633 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\deprecated\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,633 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__pycache__\classic.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\classic.py +2024-11-30 15:09:05,633 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\deprecated\\__pycache__\\classic.cpython-39.pyc' +2024-11-30 15:09:05,635 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__init__.py +2024-11-30 15:09:05,635 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,636 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\__wrapt__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__wrapt__.py +2024-11-30 15:09:05,636 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\__wrapt__.cpython-39.pyc' +2024-11-30 15:09:05,636 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\wrappers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\wrappers.py +2024-11-30 15:09:05,636 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\wrappers.cpython-39.pyc' +2024-11-30 15:09:05,636 - api.main - INFO - STDERR: import 'wrapt.wrappers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1A179A0> +2024-11-30 15:09:05,658 - api.main - INFO - STDERR: # extension module 'wrapt._wrappers' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\_wrappers.cp39-win_amd64.pyd' +2024-11-30 15:09:05,658 - api.main - INFO - STDERR: # extension module 'wrapt._wrappers' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\_wrappers.cp39-win_amd64.pyd' +2024-11-30 15:09:05,658 - api.main - INFO - STDERR: import 'wrapt._wrappers' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000023AF1A2BA00> +2024-11-30 15:09:05,658 - api.main - INFO - STDERR: import 'wrapt.__wrapt__' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1A17B20> +2024-11-30 15:09:05,659 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\patches.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\patches.py +2024-11-30 15:09:05,659 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\patches.cpython-39.pyc' +2024-11-30 15:09:05,659 - api.main - INFO - STDERR: import 'wrapt.patches' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1A17C10> +2024-11-30 15:09:05,659 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\weakrefs.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\weakrefs.py +2024-11-30 15:09:05,659 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\weakrefs.cpython-39.pyc' +2024-11-30 15:09:05,659 - api.main - INFO - STDERR: import 'wrapt.weakrefs' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1A2BF70> +2024-11-30 15:09:05,660 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\decorators.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\decorators.py +2024-11-30 15:09:05,660 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\decorators.cpython-39.pyc' +2024-11-30 15:09:05,660 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\arguments.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\arguments.py +2024-11-30 15:09:05,660 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\arguments.cpython-39.pyc' +2024-11-30 15:09:05,660 - api.main - INFO - STDERR: import 'wrapt.arguments' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1A40FA0> +2024-11-30 15:09:05,660 - api.main - INFO - STDERR: import 'wrapt.decorators' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1A40250> +2024-11-30 15:09:05,661 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\importer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\importer.py +2024-11-30 15:09:05,661 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\importer.cpython-39.pyc' +2024-11-30 15:09:05,661 - api.main - INFO - STDERR: import 'wrapt.importer' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1A45280> +2024-11-30 15:09:05,661 - api.main - INFO - STDERR: import 'wrapt' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1A17FA0> +2024-11-30 15:09:05,661 - api.main - INFO - STDERR: import 'deprecated.classic' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1A07BE0> +2024-11-30 15:09:05,661 - api.main - INFO - STDERR: import 'deprecated' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1A07700> +2024-11-30 15:09:05,662 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\xpath.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\xpath.py +2024-11-30 15:09:05,662 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\xpath.cpython-39.pyc' +2024-11-30 15:09:05,663 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\_proto.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_proto.py +2024-11-30 15:09:05,663 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\_proto.cpython-39.pyc' +2024-11-30 15:09:05,663 - api.main - INFO - STDERR: import 'uiautomator2._proto' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1A5D910> +2024-11-30 15:09:05,664 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\abcd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\abcd.py +2024-11-30 15:09:05,664 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\abcd.cpython-39.pyc' +2024-11-30 15:09:05,665 - api.main - INFO - STDERR: import 'uiautomator2.abcd' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1A5DA60> +2024-11-30 15:09:05,665 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\exceptions.py +2024-11-30 15:09:05,665 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 15:09:05,666 - api.main - INFO - STDERR: import 'uiautomator2.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1A5DD90> +2024-11-30 15:09:05,666 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\utils.py +2024-11-30 15:09:05,666 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 15:09:05,666 - api.main - INFO - STDERR: import 'uiautomator2.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1A5DEE0> +2024-11-30 15:09:05,667 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\lxml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\lxml\__init__.py +2024-11-30 15:09:05,667 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,667 - api.main - INFO - STDERR: import 'lxml' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1A77E50> +2024-11-30 15:09:05,693 - api.main - INFO - STDERR: # extension module 'lxml.etree' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\etree.cp39-win_amd64.pyd' +2024-11-30 15:09:05,693 - api.main - INFO - STDERR: import 'gc' # +2024-11-30 15:09:05,716 - api.main - INFO - STDERR: # extension module 'lxml._elementpath' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\_elementpath.cp39-win_amd64.pyd' +2024-11-30 15:09:05,718 - api.main - INFO - STDERR: # extension module 'lxml._elementpath' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\_elementpath.cp39-win_amd64.pyd' +2024-11-30 15:09:05,718 - api.main - INFO - STDERR: import 'lxml._elementpath' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000023AF1AD6DF0> +2024-11-30 15:09:05,721 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\gzip.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\gzip.py +2024-11-30 15:09:05,722 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\gzip.cpython-39.pyc' +2024-11-30 15:09:05,722 - api.main - INFO - STDERR: import 'gzip' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1AF78B0> +2024-11-30 15:09:05,723 - api.main - INFO - STDERR: # extension module 'lxml.etree' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\etree.cp39-win_amd64.pyd' +2024-11-30 15:09:05,723 - api.main - INFO - STDERR: import 'lxml.etree' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000023AF1A77F70> +2024-11-30 15:09:05,724 - api.main - INFO - STDERR: import 'uiautomator2.xpath' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1A07760> +2024-11-30 15:09:05,724 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\_selector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_selector.py +2024-11-30 15:09:05,724 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\_selector.cpython-39.pyc' +2024-11-30 15:09:05,725 - api.main - INFO - STDERR: import 'uiautomator2._selector' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1A45910> +2024-11-30 15:09:05,725 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\init.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\init.py +2024-11-30 15:09:05,725 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\init.cpython-39.pyc' +2024-11-30 15:09:05,726 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tarfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tarfile.py +2024-11-30 15:09:05,726 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tarfile.cpython-39.pyc' +2024-11-30 15:09:05,727 - api.main - INFO - STDERR: import 'tarfile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1B3EAF0> +2024-11-30 15:09:05,729 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__init__.py +2024-11-30 15:09:05,729 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,729 - api.main - INFO - STDERR: import 'progress' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1B4BA30> +2024-11-30 15:09:05,730 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\bar.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\bar.py +2024-11-30 15:09:05,730 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\bar.cpython-39.pyc' +2024-11-30 15:09:05,730 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\colors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\colors.py +2024-11-30 15:09:05,730 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\colors.cpython-39.pyc' +2024-11-30 15:09:05,730 - api.main - INFO - STDERR: import 'progress.colors' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1B78280> +2024-11-30 15:09:05,731 - api.main - INFO - STDERR: import 'progress.bar' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1B6AFA0> +2024-11-30 15:09:05,731 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\version.py +2024-11-30 15:09:05,731 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\version.cpython-39.pyc' +2024-11-30 15:09:05,731 - api.main - INFO - STDERR: import 'uiautomator2.version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1B6AF10> +2024-11-30 15:09:05,732 - api.main - INFO - STDERR: import 'uiautomator2.init' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1B3E4C0> +2024-11-30 15:09:05,732 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\settings.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\settings.py +2024-11-30 15:09:05,732 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\settings.cpython-39.pyc' +2024-11-30 15:09:05,732 - api.main - INFO - STDERR: import 'uiautomator2.settings' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1B78A30> +2024-11-30 15:09:05,733 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\swipe.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\swipe.py +2024-11-30 15:09:05,733 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\swipe.cpython-39.pyc' +2024-11-30 15:09:05,733 - api.main - INFO - STDERR: import 'uiautomator2.swipe' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1B78CD0> +2024-11-30 15:09:05,733 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\watcher.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\watcher.py +2024-11-30 15:09:05,733 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\watcher.cpython-39.pyc' +2024-11-30 15:09:05,733 - api.main - INFO - STDERR: import 'uiautomator2.watcher' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1B78E80> +2024-11-30 15:09:05,735 - api.main - INFO - STDERR: import 'uiautomator2' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF0759E80> +2024-11-30 15:09:05,736 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\utils.py +2024-11-30 15:09:05,736 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 15:09:05,736 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__init__.py +2024-11-30 15:09:05,736 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,737 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\core.py +2024-11-30 15:09:05,737 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\__pycache__\\core.cpython-39.pyc' +2024-11-30 15:09:05,738 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__init__.py +2024-11-30 15:09:05,738 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\unicode_codes\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,739 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__pycache__\data_dict.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\data_dict.py +2024-11-30 15:09:05,741 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\unicode_codes\\__pycache__\\data_dict.cpython-39.pyc' +2024-11-30 15:09:05,745 - api.main - INFO - STDERR: import 'emoji.unicode_codes.data_dict' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1BAF8E0> +2024-11-30 15:09:05,755 - api.main - INFO - STDERR: import 'emoji.unicode_codes' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1BAF5B0> +2024-11-30 15:09:05,756 - api.main - INFO - STDERR: import 'emoji.core' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1B9DEE0> +2024-11-30 15:09:05,756 - api.main - INFO - STDERR: import 'emoji' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1B9DC70> +2024-11-30 15:09:05,756 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\log.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\log.py +2024-11-30 15:09:05,757 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\log.cpython-39.pyc' +2024-11-30 15:09:05,758 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\uuid.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\uuid.py +2024-11-30 15:09:05,758 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\uuid.cpython-39.pyc' +2024-11-30 15:09:05,759 - api.main - INFO - STDERR: # extension module '_uuid' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_uuid.pyd' +2024-11-30 15:09:05,759 - api.main - INFO - STDERR: # extension module '_uuid' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_uuid.pyd' +2024-11-30 15:09:05,759 - api.main - INFO - STDERR: import '_uuid' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000023AF2797160> +2024-11-30 15:09:05,759 - api.main - INFO - STDERR: import 'uuid' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1BAFA00> +2024-11-30 15:09:05,759 - api.main - INFO - STDERR: import 'GramAddict.core.log' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1B9DCA0> +2024-11-30 15:09:05,759 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\report.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\report.py +2024-11-30 15:09:05,759 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\report.cpython-39.pyc' +2024-11-30 15:09:05,760 - api.main - INFO - STDERR: import 'GramAddict.core.report' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF1BAF6D0> +2024-11-30 15:09:05,760 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\resources.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\resources.py +2024-11-30 15:09:05,760 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\resources.cpython-39.pyc' +2024-11-30 15:09:05,760 - api.main - INFO - STDERR: import 'GramAddict.core.resources' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF278FF40> +2024-11-30 15:09:05,761 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\storage.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\storage.py +2024-11-30 15:09:05,761 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\storage.cpython-39.pyc' +2024-11-30 15:09:05,762 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\atomicwrites\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\atomicwrites\__init__.py +2024-11-30 15:09:05,762 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\atomicwrites\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,762 - api.main - INFO - STDERR: import 'atomicwrites' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF27977F0> +2024-11-30 15:09:05,763 - api.main - INFO - STDERR: import 'GramAddict.core.storage' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF2797280> +2024-11-30 15:09:05,763 - api.main - INFO - STDERR: import 'GramAddict.core.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF07966D0> +2024-11-30 15:09:05,764 - api.main - INFO - STDERR: import 'GramAddict.core.device_facade' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF06892B0> +2024-11-30 15:09:05,765 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\filter.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\filter.py +2024-11-30 15:09:05,765 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\filter.cpython-39.pyc' +2024-11-30 15:09:05,766 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__init__.py +2024-11-30 15:09:05,766 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,766 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\detector_factory.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\detector_factory.py +2024-11-30 15:09:05,766 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\detector_factory.cpython-39.pyc' +2024-11-30 15:09:05,768 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\detector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\detector.py +2024-11-30 15:09:05,768 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\detector.cpython-39.pyc' +2024-11-30 15:09:05,768 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\lang_detect_exception.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\lang_detect_exception.py +2024-11-30 15:09:05,768 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\lang_detect_exception.cpython-39.pyc' +2024-11-30 15:09:05,769 - api.main - INFO - STDERR: import 'langdetect.lang_detect_exception' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF27C2CD0> +2024-11-30 15:09:05,769 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\language.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\language.py +2024-11-30 15:09:05,770 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\language.cpython-39.pyc' +2024-11-30 15:09:05,770 - api.main - INFO - STDERR: import 'langdetect.language' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF27C2F70> +2024-11-30 15:09:05,771 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__init__.py +2024-11-30 15:09:05,771 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,771 - api.main - INFO - STDERR: import 'langdetect.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF27CA310> +2024-11-30 15:09:05,772 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\ngram.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\ngram.py +2024-11-30 15:09:05,772 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\ngram.cpython-39.pyc' +2024-11-30 15:09:05,773 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\messages.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\messages.py +2024-11-30 15:09:05,773 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\messages.cpython-39.pyc' +2024-11-30 15:09:05,773 - api.main - INFO - STDERR: import 'langdetect.utils.messages' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF27CA640> +2024-11-30 15:09:05,773 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\unicode_block.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\unicode_block.py +2024-11-30 15:09:05,774 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\unicode_block.cpython-39.pyc' +2024-11-30 15:09:05,774 - api.main - INFO - STDERR: import 'langdetect.utils.unicode_block' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF27CA7F0> +2024-11-30 15:09:05,784 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\unicode_escape.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\unicode_escape.py +2024-11-30 15:09:05,784 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\unicode_escape.cpython-39.pyc' +2024-11-30 15:09:05,784 - api.main - INFO - STDERR: import 'encodings.unicode_escape' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF27CA9A0> +2024-11-30 15:09:05,789 - api.main - INFO - STDERR: import 'langdetect.utils.ngram' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF27CA340> +2024-11-30 15:09:05,789 - api.main - INFO - STDERR: import 'langdetect.detector' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF27C2730> +2024-11-30 15:09:05,790 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\lang_profile.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\lang_profile.py +2024-11-30 15:09:05,790 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\lang_profile.cpython-39.pyc' +2024-11-30 15:09:05,790 - api.main - INFO - STDERR: import 'langdetect.utils.lang_profile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF27C2AF0> +2024-11-30 15:09:05,790 - api.main - INFO - STDERR: import 'langdetect.detector_factory' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF27C2220> +2024-11-30 15:09:05,791 - api.main - INFO - STDERR: import 'langdetect' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF27B3F40> +2024-11-30 15:09:05,791 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\views.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py +2024-11-30 15:09:05,791 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\views.cpython-39.pyc' +2024-11-30 15:09:05,793 - api.main - INFO - STDERR: import 'GramAddict.core.views' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF27B3FA0> +2024-11-30 15:09:05,793 - api.main - INFO - STDERR: import 'GramAddict.core.filter' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF07594F0> +2024-11-30 15:09:05,793 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\interaction.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\interaction.py +2024-11-30 15:09:05,794 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\interaction.cpython-39.pyc' +2024-11-30 15:09:05,795 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__init__.py +2024-11-30 15:09:05,795 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\spintax\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:05,795 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__pycache__\spintax.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\spintax.py +2024-11-30 15:09:05,795 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\spintax\\__pycache__\\spintax.cpython-39.pyc' +2024-11-30 15:09:05,795 - api.main - INFO - STDERR: import 'spintax.spintax' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF28B7790> +2024-11-30 15:09:05,795 - api.main - INFO - STDERR: import 'spintax' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF28B7550> +2024-11-30 15:09:05,795 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\session_state.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\session_state.py +2024-11-30 15:09:05,796 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\session_state.cpython-39.pyc' +2024-11-30 15:09:05,796 - api.main - INFO - STDERR: import 'GramAddict.core.session_state' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF28B7850> +2024-11-30 15:09:05,796 - api.main - INFO - STDERR: import 'GramAddict.core.interaction' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF28A5FA0> +2024-11-30 15:09:05,796 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\navigation.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\navigation.py +2024-11-30 15:09:05,797 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\navigation.cpython-39.pyc' +2024-11-30 15:09:05,797 - api.main - INFO - STDERR: import 'GramAddict.core.navigation' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF28B7F70> +2024-11-30 15:09:05,797 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\persistent_list.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\persistent_list.py +2024-11-30 15:09:05,797 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\persistent_list.cpython-39.pyc' +2024-11-30 15:09:05,797 - api.main - INFO - STDERR: import 'GramAddict.core.persistent_list' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF28B7B50> +2024-11-30 15:09:05,797 - api.main - INFO - STDOUT: Python path: ['e:\\PROJECTS\\instagram automation\\virtualinfluencer', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\python39.zip', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer'] +2024-11-30 15:09:05,798 - api.main - INFO - STDERR: import 'GramAddict.core.bot_flow' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEE824670> +2024-11-30 15:09:05,798 - api.main - INFO - STDOUT: Current directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 15:09:05,798 - api.main - INFO - STDERR: import 'GramAddict' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEE824D00> +2024-11-30 15:09:05,798 - api.main - INFO - STDOUT: Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 15:09:05,798 - api.main - INFO - STDERR: e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml has been saved last time at 2024-11-29 01:33:21 +2024-11-30 15:09:05,799 - api.main - INFO - STDOUT: Successfully imported GramAddict +2024-11-30 15:09:05,817 - api.main - INFO - STDERR: [11/30 15:09:05] DEBUG | Initial log file: logs/quecreate.log +2024-11-30 15:09:05,817 - api.main - INFO - STDERR: [11/30 15:09:05] DEBUG | Installed via git, config-examples is in the local folder. +2024-11-30 15:09:05,818 - api.main - INFO - STDERR: [11/30 15:09:05] INFO | Checking for updates... +2024-11-30 15:09:05,819 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\netrc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\netrc.py +2024-11-30 15:09:05,819 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\netrc.cpython-39.pyc' +2024-11-30 15:09:05,819 - api.main - INFO - STDERR: import 'netrc' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF28C6D00> +2024-11-30 15:09:06,104 - api.main - INFO - STDERR: [11/30 15:09:06] INFO | Bot is updated. +2024-11-30 15:09:06,105 - api.main - INFO - STDERR: [11/30 15:09:06] INFO | GramAddict v.3.2.12 +2024-11-30 15:09:06,105 - api.main - INFO - STDERR: [11/30 15:09:06] INFO | Loading plugins . . . +2024-11-30 15:09:06,106 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__init__.py +2024-11-30 15:09:06,106 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:06,106 - api.main - INFO - STDERR: import 'GramAddict.plugins' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF28C6E20> +2024-11-30 15:09:06,108 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\action_unfollow_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\action_unfollow_followers.py +2024-11-30 15:09:06,108 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\action_unfollow_followers.cpython-39.pyc' +2024-11-30 15:09:06,108 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\decorators.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py +2024-11-30 15:09:06,108 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\decorators.cpython-39.pyc' +2024-11-30 15:09:06,108 - api.main - INFO - STDERR: import 'GramAddict.core.decorators' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF28E3E20> +2024-11-30 15:09:06,109 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\scroll_end_detector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\scroll_end_detector.py +2024-11-30 15:09:06,109 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\scroll_end_detector.cpython-39.pyc' +2024-11-30 15:09:06,109 - api.main - INFO - STDERR: import 'GramAddict.core.scroll_end_detector' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF28E3550> +2024-11-30 15:09:06,109 - api.main - INFO - STDERR: import 'GramAddict.plugins.action_unfollow_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF28C6B50> +2024-11-30 15:09:06,109 - api.main - INFO - STDERR: [11/30 15:09:06] INFO | - ActionUnfollowFollowers: Handles the functionality of unfollowing your followers +2024-11-30 15:09:06,110 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\cloned_app.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\cloned_app.py +2024-11-30 15:09:06,110 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\cloned_app.cpython-39.pyc' +2024-11-30 15:09:06,110 - api.main - INFO - STDERR: import 'GramAddict.plugins.cloned_app' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF28E39D0> +2024-11-30 15:09:06,110 - api.main - INFO - STDERR: [11/30 15:09:06] INFO | - ClonedApp: Adds support for cloned apps +2024-11-30 15:09:06,111 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\core_arguments.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\core_arguments.py +2024-11-30 15:09:06,111 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\core_arguments.cpython-39.pyc' +2024-11-30 15:09:06,111 - api.main - INFO - STDERR: import 'GramAddict.plugins.core_arguments' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF28E3B80> +2024-11-30 15:09:06,111 - api.main - INFO - STDERR: [11/30 15:09:06] INFO | - CoreArguments: Simply adds core arguments +2024-11-30 15:09:06,111 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\data_analytics.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\data_analytics.py +2024-11-30 15:09:06,112 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\data_analytics.cpython-39.pyc' +2024-11-30 15:09:06,112 - api.main - INFO - STDERR: import 'GramAddict.plugins.data_analytics' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF28E3F40> +2024-11-30 15:09:06,112 - api.main - INFO - STDERR: [11/30 15:09:06] INFO | - DataAnalytics: Generates a PDF analytics report of current username session data +2024-11-30 15:09:06,112 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\dbinit.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\dbinit.py +2024-11-30 15:09:06,112 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\dbinit.cpython-39.pyc' +2024-11-30 15:09:06,113 - api.main - INFO - STDERR: import 'GramAddict.plugins.dbinit' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEE824E20> +2024-11-30 15:09:06,113 - api.main - INFO - STDERR: [11/30 15:09:06] INFO | - DBInitPlugin: Initialize NocoDB tables at session start +2024-11-30 15:09:06,113 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger.py +2024-11-30 15:09:06,113 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger.cpython-39.pyc' +2024-11-30 15:09:06,114 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\handle_sources.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py +2024-11-30 15:09:06,114 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\handle_sources.cpython-39.pyc' +2024-11-30 15:09:06,114 - api.main - INFO - STDERR: import 'GramAddict.core.handle_sources' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF293E4C0> +2024-11-30 15:09:06,115 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AEE824C70> +2024-11-30 15:09:06,115 - api.main - INFO - STDERR: [11/30 15:09:06] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger +2024-11-30 15:09:06,115 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py +2024-11-30 15:09:06,115 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger_followers.cpython-39.pyc' +2024-11-30 15:09:06,115 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF293E8E0> +2024-11-30 15:09:06,115 - api.main - INFO - STDERR: [11/30 15:09:06] INFO | - InteractBloggerFollowers_Following: Handles the functionality of interacting with a bloggers followers/following +2024-11-30 15:09:06,116 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger_post_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_post_likers.py +2024-11-30 15:09:06,116 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger_post_likers.cpython-39.pyc' +2024-11-30 15:09:06,116 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger_post_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF293EB80> +2024-11-30 15:09:06,116 - api.main - INFO - STDERR: [11/30 15:09:06] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger post likers +2024-11-30 15:09:06,118 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_feed.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_feed.py +2024-11-30 15:09:06,118 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_feed.cpython-39.pyc' +2024-11-30 15:09:06,118 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_feed' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF293EEB0> +2024-11-30 15:09:06,118 - api.main - INFO - STDERR: [11/30 15:09:06] INFO | - InteractOwnFeed: Handles the functionality of interacting with your own feed +2024-11-30 15:09:06,118 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_hashtag_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_hashtag_likers.py +2024-11-30 15:09:06,119 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_hashtag_likers.cpython-39.pyc' +2024-11-30 15:09:06,119 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_hashtag_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF292C250> +2024-11-30 15:09:06,119 - api.main - INFO - STDERR: [11/30 15:09:06] INFO | - InteractHashtagLikers: Handles the functionality of interacting with a hashtags likers +2024-11-30 15:09:06,120 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_hashtag_posts.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_hashtag_posts.py +2024-11-30 15:09:06,120 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_hashtag_posts.cpython-39.pyc' +2024-11-30 15:09:06,120 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_hashtag_posts' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF292C5B0> +2024-11-30 15:09:06,120 - api.main - INFO - STDERR: [11/30 15:09:06] INFO | - InteractHashtagPosts: Handles the functionality of interacting with a hashtags post owners +2024-11-30 15:09:06,121 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_place_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_place_likers.py +2024-11-30 15:09:06,121 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_place_likers.cpython-39.pyc' +2024-11-30 15:09:06,121 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_place_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF292C910> +2024-11-30 15:09:06,121 - api.main - INFO - STDERR: [11/30 15:09:06] INFO | - InteractPlaceLikers: Handles the functionality of interacting with a places likers +2024-11-30 15:09:06,122 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_place_posts.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_place_posts.py +2024-11-30 15:09:06,122 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_place_posts.cpython-39.pyc' +2024-11-30 15:09:06,122 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_place_posts' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF292CCA0> +2024-11-30 15:09:06,122 - api.main - INFO - STDERR: [11/30 15:09:06] INFO | - InteractPlacePosts: Handles the functionality of interacting with a places post owners +2024-11-30 15:09:06,123 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\like_from_urls.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\like_from_urls.py +2024-11-30 15:09:06,123 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\like_from_urls.cpython-39.pyc' +2024-11-30 15:09:06,123 - api.main - INFO - STDERR: import 'GramAddict.plugins.like_from_urls' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF292CFD0> +2024-11-30 15:09:06,123 - api.main - INFO - STDERR: [11/30 15:09:06] INFO | - LikeFromURLs: Likes a post from url. The urls are read from a plaintext file +2024-11-30 15:09:06,124 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\nocodb_record_creation_test.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\nocodb_record_creation_test.py +2024-11-30 15:09:06,124 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\nocodb_record_creation_test.cpython-39.pyc' +2024-11-30 15:09:06,124 - api.main - INFO - STDERR: import 'GramAddict.plugins.nocodb_record_creation_test' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF294F3D0> +2024-11-30 15:09:06,124 - api.main - INFO - STDERR: [11/30 15:09:06] INFO | - NocoDBRecordCreationTest: Test plugin specifically for verifying NocoDB record creation functionality +2024-11-30 15:09:06,125 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\nocodb_storage.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\nocodb_storage.py +2024-11-30 15:09:06,125 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\nocodb_storage.cpython-39.pyc' +2024-11-30 15:09:06,126 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__init__.py +2024-11-30 15:09:06,126 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:09:06,126 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jwk.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jwk.py +2024-11-30 15:09:06,126 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jwk.cpython-39.pyc' +2024-11-30 15:09:06,127 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\algorithms.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\algorithms.py +2024-11-30 15:09:06,127 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\algorithms.cpython-39.pyc' +2024-11-30 15:09:06,127 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\exceptions.py +2024-11-30 15:09:06,127 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 15:09:06,128 - api.main - INFO - STDERR: import 'jwt.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF296B700> +2024-11-30 15:09:06,128 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\types.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\types.py +2024-11-30 15:09:06,128 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\types.cpython-39.pyc' +2024-11-30 15:09:06,128 - api.main - INFO - STDERR: import 'jwt.types' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF296B790> +2024-11-30 15:09:06,129 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\utils.py +2024-11-30 15:09:06,129 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 15:09:06,131 - api.main - INFO - STDERR: import 'jwt.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF296B880> +2024-11-30 15:09:06,131 - api.main - INFO - STDERR: import 'jwt.algorithms' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF2961520> +2024-11-30 15:09:06,131 - api.main - INFO - STDERR: import 'jwt.api_jwk' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF294FD90> +2024-11-30 15:09:06,131 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jws.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jws.py +2024-11-30 15:09:06,132 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jws.cpython-39.pyc' +2024-11-30 15:09:06,133 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\warnings.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\warnings.py +2024-11-30 15:09:06,133 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\warnings.cpython-39.pyc' +2024-11-30 15:09:06,133 - api.main - INFO - STDERR: import 'jwt.warnings' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF296B0D0> +2024-11-30 15:09:06,133 - api.main - INFO - STDERR: import 'jwt.api_jws' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF2961BE0> +2024-11-30 15:09:06,134 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jwt.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jwt.py +2024-11-30 15:09:06,134 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jwt.cpython-39.pyc' +2024-11-30 15:09:06,134 - api.main - INFO - STDERR: import 'jwt.api_jwt' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF296B310> +2024-11-30 15:09:06,134 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\jwks_client.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\jwks_client.py +2024-11-30 15:09:06,134 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\jwks_client.cpython-39.pyc' +2024-11-30 15:09:06,135 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\jwk_set_cache.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\jwk_set_cache.py +2024-11-30 15:09:06,135 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\jwk_set_cache.cpython-39.pyc' +2024-11-30 15:09:06,135 - api.main - INFO - STDERR: import 'jwt.jwk_set_cache' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF2977AC0> +2024-11-30 15:09:06,135 - api.main - INFO - STDERR: import 'jwt.jwks_client' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF29774F0> +2024-11-30 15:09:06,135 - api.main - INFO - STDERR: import 'jwt' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF294FB20> +2024-11-30 15:09:06,136 - api.main - INFO - STDERR: import 'GramAddict.plugins.nocodb_storage' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF294F550> +2024-11-30 15:09:06,136 - api.main - INFO - STDERR: [11/30 15:09:06] INFO | - NocoDBStorage: Store interaction data in NocoDB +2024-11-30 15:09:06,137 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\remove_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\remove_followers.py +2024-11-30 15:09:06,138 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\remove_followers.cpython-39.pyc' +2024-11-30 15:09:06,138 - api.main - INFO - STDERR: import 'GramAddict.plugins.remove_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF2977F70> +2024-11-30 15:09:06,138 - api.main - INFO - STDERR: [11/30 15:09:06] INFO | - RemoveFollowersFromList: Remove account followers from a list of usernames +2024-11-30 15:09:06,138 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\telegram.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\telegram.py +2024-11-30 15:09:06,138 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\telegram.cpython-39.pyc' +2024-11-30 15:09:06,138 - api.main - INFO - STDERR: import 'GramAddict.plugins.telegram' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF2991190> +2024-11-30 15:09:06,138 - api.main - INFO - STDERR: [11/30 15:09:06] INFO | - TelegramReports: Generate reports at the end of the session and send them using telegram +2024-11-30 15:09:06,142 - api.main - INFO - STDERR: [11/30 15:09:06] DEBUG | Arguments used: --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 15:09:06,142 - api.main - INFO - STDERR: [11/30 15:09:06] DEBUG | Config used: {'username': 'quecreate', 'app-id': 'com.instagram.android', 'use-cloned-app': False, 'allow-untested-ig-version': False, 'screen-sleep': True, 'screen-record': False, 'speed-multiplier': 1.0, 'debug': True, 'close-apps': False, 'kill-atx-agent': False, 'restart-atx-agent': False, 'disable-block-detection': False, 'disable-filters': False, 'dont-type': False, 'use-nocodb': True, 'init-db': True, 'total-crashes-limit': 5, 'count-app-crashes': False, 'shuffle-jobs': True, 'truncate-sources': '2-5', 'blogger-followers': ['mnaumanndesign'], 'watch-video-time': '15-35', 'watch-photo-time': '3-4', 'delete-interacted-users': True, 'telegram-reports': False, 'interactions-count': '300-400', 'likes-count': '1-2', 'likes-percentage': 100, 'stories-count': '10-20', 'stories-percentage': '30-40', 'carousel-count': '20-30', 'carousel-percentage': '60-70', 'max-comments-pro-user': '1-2', 'interact-percentage': '30-40', 'follow-percentage': '30-40', 'follow-limit': 50, 'skipped-list-limit': '10-15', 'skipped-posts-limit': 5, 'fling-when-skipped': 0, 'min-following': 10, 'total-likes-limit': '120-150', 'total-follows-limit': '40-50', 'total-unfollows-limit': '40-50', 'total-watches-limit': '120-150', 'total-successful-interactions-limit': '120-150', 'total-interactions-limit': '280-300', 'total-comments-limit': '3-50', 'total-pm-limit': '3-5', 'total-scraped-limit': '100-150', 'end-if-likes-limit-reached': False, 'end-if-follows-limit-reached': False, 'end-if-watches-limit-reached': False, 'end-if-comments-limit-reached': False, 'end-if-pm-limit-reached': False} +2024-11-30 15:09:06,239 - api.main - INFO - STDERR: [11/30 15:09:06] DEBUG | Connected devices via adb: 1. That's ok. +2024-11-30 15:09:06,323 - api.main - INFO - STDERR: [11/30 15:09:06] INFO | Time delta has set to -00:00:00. +2024-11-30 15:09:06,325 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_strptime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_strptime.py +2024-11-30 15:09:06,325 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_strptime.cpython-39.pyc' +2024-11-30 15:09:06,326 - api.main - INFO - STDERR: import '_strptime' # <_frozen_importlib_external.SourceFileLoader object at 0x0000023AF29A3760> +2024-11-30 15:09:06,326 - api.main - INFO - STDERR: [11/30 15:09:06] DEBUG | Whole day mode. +2024-11-30 15:09:06,460 - api.main - INFO - STDERR: [11/30 15:09:06] DEBUG | Phone Name: taimen, SDK Version: 30 +2024-11-30 15:09:06,732 - api.main - INFO - STDERR: [11/30 15:09:06] DEBUG | Screen dimension: 1440x2824 +2024-11-30 15:09:06,906 - api.main - INFO - STDERR: [11/30 15:09:06] DEBUG | Screen resolution: 411x823 +2024-11-30 15:09:06,906 - api.main - INFO - STDERR: [11/30 15:09:06] DEBUG | Device ID: 192.168.50.202:5555 +2024-11-30 15:09:07,055 - api.main - INFO - STDERR: [11/30 15:09:07] INFO | Screen timeout is fine! +2024-11-30 15:09:07,217 - api.main - INFO - STDERR: [11/30 15:09:07] INFO | -------- START: 15:09:06 - 2024/11/30 -------- +2024-11-30 15:09:09,514 - api.main - INFO - STDERR: [11/30 15:09:09] INFO | Device screen ON and unlocked. +2024-11-30 15:09:09,515 - api.main - INFO - STDERR: [11/30 15:09:09] INFO | Open Instagram app. +2024-11-30 15:09:10,193 - api.main - INFO - STDERR: [11/30 15:09:10] DEBUG | Instagram called successfully. +2024-11-30 15:09:10,480 - api.main - INFO - STDERR: [11/30 15:09:10] INFO | Ready for botting!\U0001f92b +2024-11-30 15:09:10,480 - api.main - INFO - STDERR: [11/30 15:09:10] DEBUG | 1.11s sleep +2024-11-30 15:09:11,601 - api.main - INFO - STDERR: [11/30 15:09:11] DEBUG | Setting FastInputIME as default keyboard. +2024-11-30 15:09:11,873 - api.main - INFO - STDERR: [11/30 15:09:11] INFO | FastInputIME is the default keyboard. +2024-11-30 15:09:12,091 - api.main - INFO - STDERR: [11/30 15:09:12] INFO | Instagram version: 300.0.0.29.110 +2024-11-30 15:09:12,548 - api.main - INFO - STDERR: [11/30 15:09:12] DEBUG | Navigating to main account... +2024-11-30 15:09:13,377 - api.main - INFO - STDERR: [11/30 15:09:13] DEBUG | Single click in (1320,2722). Surface: (1244-1349,2684-2789) +2024-11-30 15:09:13,767 - api.main - INFO - STDERR: [11/30 15:09:13] DEBUG | 2.30s sleep +2024-11-30 15:09:16,976 - api.main - INFO - STDERR: [11/30 15:09:16] DEBUG | Checking if app is in English.. +2024-11-30 15:09:19,863 - api.main - INFO - STDERR: [11/30 15:09:19] DEBUG | Instagram in English. +2024-11-30 15:09:20,849 - api.main - INFO - STDERR: [11/30 15:09:20] INFO | You are already logged as quecreate! +2024-11-30 15:09:21,371 - api.main - INFO - STDERR: [11/30 15:09:21] INFO | Refresh account... +2024-11-30 15:09:21,687 - api.main - INFO - STDERR: [11/30 15:09:21] DEBUG | Swipe from: (664,630) to (686,897). +2024-11-30 15:09:22,536 - api.main - INFO - STDERR: [11/30 15:09:22] DEBUG | 0.33s sleep +2024-11-30 15:09:22,878 - api.main - INFO - STDERR: [11/30 15:09:22] DEBUG | 2.88s sleep +2024-11-30 15:09:29,069 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | Hello, @quecreate! You have 1 followers and 55 followings so far. +2024-11-30 15:09:29,070 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | There is/are 3 active-job(s) and 0 unfollow-job(s) scheduled for this session. +2024-11-30 15:09:29,070 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | NocoDB config found - plugin will handle initialization +2024-11-30 15:09:29,081 - api.main - INFO - STDERR: [11/30 15:09:29] WARNING | accounts\quecreate\filters.yml has been saved last time at 2024-11-28 01:20:01 +2024-11-30 15:09:29,097 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | ---------------------------------------------------------------------- +2024-11-30 15:09:29,097 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | Filters recap (no spell check!) Value +2024-11-30 15:09:29,098 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | ---------------------------------------------------------------------- +2024-11-30 15:09:29,098 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | max_following 7500 +2024-11-30 15:09:29,098 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | min_following 10 +2024-11-30 15:09:29,098 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | max_followers 15000 +2024-11-30 15:09:29,099 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | min_followers 100 +2024-11-30 15:09:29,099 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | max_posts 1000 +2024-11-30 15:09:29,100 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | min_posts 3 +2024-11-30 15:09:29,100 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | max_following_to_followers_ratio 2.0 +2024-11-30 15:09:29,100 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | min_following_to_followers_ratio None +2024-11-30 15:09:29,100 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | max_followers_to_following_ratio None +2024-11-30 15:09:29,100 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | min_followers_to_following_ratio None +2024-11-30 15:09:29,101 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | max_potency_ratio 1.5 +2024-11-30 15:09:29,101 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | min_potency_ratio 0.1 +2024-11-30 15:09:29,101 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | biography_language None +2024-11-30 15:09:29,101 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | biography_banned_words [] +2024-11-30 15:09:29,102 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | biography_mandatory_words [] +2024-11-30 15:09:29,102 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | business_category_name [] +2024-11-30 15:09:29,102 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | is_private None +2024-11-30 15:09:29,102 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | is_verified None +2024-11-30 15:09:29,103 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | is_business None +2024-11-30 15:09:29,103 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | is_non_business None +2024-11-30 15:09:29,103 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | blacklist_words [] +2024-11-30 15:09:29,104 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | mandatory_words [] +2024-11-30 15:09:29,104 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | specific_alphabet None +2024-11-30 15:09:29,104 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | min_posts_from_date None +2024-11-30 15:09:29,105 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | posts_from_date None +2024-11-30 15:09:29,105 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | mutual_friends None +2024-11-30 15:09:29,105 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | following_bot None +2024-11-30 15:09:29,105 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | last_post None +2024-11-30 15:09:29,106 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | potency_ratio None +2024-11-30 15:09:29,106 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | has_any_business_category None +2024-11-30 15:09:29,106 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | has_highlights None +2024-11-30 15:09:29,106 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | has_guides None +2024-11-30 15:09:29,106 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | has_external_url None +2024-11-30 15:09:29,106 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | has_business_category_name None +2024-11-30 15:09:29,108 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | has_biography_links None +2024-11-30 15:09:29,108 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | has_igtv None +2024-11-30 15:09:29,108 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | has_linked_facebook None +2024-11-30 15:09:29,108 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | has_story_highlights None +2024-11-30 15:09:29,108 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | has_youtube None +2024-11-30 15:09:29,108 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | has_twitter None +2024-11-30 15:09:29,109 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | has_facebook None +2024-11-30 15:09:29,109 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | has_whatsapp None +2024-11-30 15:09:29,109 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | has_tiktok None +2024-11-30 15:09:29,109 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_link_in_bio False +2024-11-30 15:09:29,109 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_external_url False +2024-11-30 15:09:29,109 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_business False +2024-11-30 15:09:29,111 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_business_categories [] +2024-11-30 15:09:29,111 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_bio_keyword [] +2024-11-30 15:09:29,111 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_bio_keyword [] +2024-11-30 15:09:29,112 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_bio_contains_anything False +2024-11-30 15:09:29,112 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_no_avatar False +2024-11-30 15:09:29,112 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_no_bio False +2024-11-30 15:09:29,112 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_no_posts False +2024-11-30 15:09:29,113 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_no_igtv False +2024-11-30 15:09:29,113 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_no_story_highlights False +2024-11-30 15:09:29,113 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_no_mutual_friends False +2024-11-30 15:09:29,113 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_private False +2024-11-30 15:09:29,113 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_public False +2024-11-30 15:09:29,113 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_verified False +2024-11-30 15:09:29,114 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_non_business False +2024-11-30 15:09:29,114 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_following_bot False +2024-11-30 15:09:29,114 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_following_less_than None +2024-11-30 15:09:29,115 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_followers_less_than None +2024-11-30 15:09:29,115 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_posts_less_than None +2024-11-30 15:09:29,115 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_mutual_friends_less_than None +2024-11-30 15:09:29,116 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_following_more_than None +2024-11-30 15:09:29,116 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_followers_more_than None +2024-11-30 15:09:29,116 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_posts_more_than None +2024-11-30 15:09:29,117 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_mutual_friends_more_than None +2024-11-30 15:09:29,117 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_following_to_followers_ratio_less_than None +2024-11-30 15:09:29,117 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_following_to_followers_ratio_more_than None +2024-11-30 15:09:29,117 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_followers_to_following_ratio_less_than None +2024-11-30 15:09:29,117 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_followers_to_following_ratio_more_than None +2024-11-30 15:09:29,117 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_potency_ratio_less_than None +2024-11-30 15:09:29,118 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | skip_if_potency_ratio_more_than None +2024-11-30 15:09:29,118 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | ---------------------------------------------------------------------- +2024-11-30 15:09:29,119 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | Session ending conditions: Value +2024-11-30 15:09:29,119 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | ---------------------------------------------------------------------- +2024-11-30 15:09:29,119 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | Likes: False +2024-11-30 15:09:29,120 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | Follows: False +2024-11-30 15:09:29,120 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | Watches: False +2024-11-30 15:09:29,120 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | Comments: False +2024-11-30 15:09:29,120 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | PM: False +2024-11-30 15:09:29,120 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | Total actions: True (not mutable) +2024-11-30 15:09:29,120 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | Total successfull actions: True (not mutable) +2024-11-30 15:09:29,121 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | For more info -> https://github.com/GramAddict/docs/blob/main/configuration.md#ending-session-conditions +2024-11-30 15:09:29,121 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | ---------------------------------------------------------------------- +2024-11-30 15:09:29,121 - api.main - INFO - STDERR: [11/30 15:09:29] DEBUG | Whole day mode. +2024-11-30 15:09:29,121 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | Checking session limits: +2024-11-30 15:09:29,122 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | - Total Likes: OK (0/134) +2024-11-30 15:09:29,122 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | - Total Comments: OK (0/31) +2024-11-30 15:09:29,122 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | - Total PM: OK (0/4) +2024-11-30 15:09:29,123 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | - Total Followed: OK (0/45) +2024-11-30 15:09:29,123 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | - Total Unfollowed: OK (0/45) +2024-11-30 15:09:29,123 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | - Total Watched: OK (0/135) +2024-11-30 15:09:29,123 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | - Total Successful Interactions: OK (0/133) +2024-11-30 15:09:29,124 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | - Total Interactions: OK (0/283) +2024-11-30 15:09:29,124 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | - Total Crashes: OK (0/5) +2024-11-30 15:09:29,125 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | - Total Successful Scraped Users: OK (0/127) +2024-11-30 15:09:29,843 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | Current active-job: blogger-followers +2024-11-30 15:09:29,843 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | Source list truncated at 1 item. +2024-11-30 15:09:29,843 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | In this session, that source will be handled: mnaumanndesign +2024-11-30 15:09:29,844 - api.main - INFO - STDERR: [11/30 15:09:29] DEBUG | Checking session limits: +2024-11-30 15:09:29,844 - api.main - INFO - STDERR: [11/30 15:09:29] DEBUG | - Total Likes: OK (0/134) +2024-11-30 15:09:29,844 - api.main - INFO - STDERR: [11/30 15:09:29] DEBUG | - Total Comments: OK (0/31) +2024-11-30 15:09:29,844 - api.main - INFO - STDERR: [11/30 15:09:29] DEBUG | - Total PM: OK (0/4) +2024-11-30 15:09:29,845 - api.main - INFO - STDERR: [11/30 15:09:29] DEBUG | - Total Followed: OK (0/45) +2024-11-30 15:09:29,845 - api.main - INFO - STDERR: [11/30 15:09:29] DEBUG | - Total Unfollowed: OK (0/45) +2024-11-30 15:09:29,845 - api.main - INFO - STDERR: [11/30 15:09:29] DEBUG | - Total Watched: OK (0/135) +2024-11-30 15:09:29,845 - api.main - INFO - STDERR: [11/30 15:09:29] DEBUG | - Total Successful Interactions: OK (0/133) +2024-11-30 15:09:29,846 - api.main - INFO - STDERR: [11/30 15:09:29] DEBUG | - Total Interactions: OK (0/283) +2024-11-30 15:09:29,847 - api.main - INFO - STDERR: [11/30 15:09:29] DEBUG | - Total Crashes: OK (0/5) +2024-11-30 15:09:29,847 - api.main - INFO - STDERR: [11/30 15:09:29] DEBUG | - Total Successful Scraped Users: OK (0/127) +2024-11-30 15:09:29,847 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | Handle mnaumanndesign +2024-11-30 15:09:29,848 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | Interactions count: 359 +2024-11-30 15:09:29,848 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | Chance of watching stories: 35% +2024-11-30 15:09:29,848 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | Chance of liking: 100% +2024-11-30 15:09:29,848 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | Chance of following: 34% +2024-11-30 15:09:29,848 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | Chance of commenting: 0% +2024-11-30 15:09:29,850 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | Chance of interacting: 35% +2024-11-30 15:09:29,850 - api.main - INFO - STDERR: [11/30 15:09:29] INFO | Chance of send PM: 0% +2024-11-30 15:09:29,850 - api.main - INFO - STDERR: [11/30 15:09:29] DEBUG | Navigate to SEARCH +2024-11-30 15:09:30,867 - api.main - INFO - STDERR: [11/30 15:09:30] DEBUG | Single click in (358,2675). Surface: (288-576,2649-2824) +2024-11-30 15:09:31,311 - api.main - INFO - STDERR: [11/30 15:09:31] DEBUG | 1.10s sleep +2024-11-30 15:09:32,507 - api.main - INFO - STDERR: [11/30 15:09:32] DEBUG | Single click in (352,2744). Surface: (288-576,2649-2824) +2024-11-30 15:09:32,848 - api.main - INFO - STDERR: [11/30 15:09:32] DEBUG | 1.74s sleep +2024-11-30 15:09:34,605 - api.main - INFO - STDERR: [11/30 15:09:34] INFO | Navigate to mnaumanndesign +2024-11-30 15:09:34,994 - api.main - INFO - STDERR: [11/30 15:09:34] DEBUG | Pressing on searchbar. +2024-11-30 15:09:35,117 - api.main - INFO - STDERR: [11/30 15:09:35] DEBUG | Single click in (455,216). Surface: (42-1370,146-259) +2024-11-30 15:09:35,546 - api.main - INFO - STDERR: [11/30 15:09:35] DEBUG | 1.93s sleep +2024-11-30 15:09:38,177 - api.main - INFO - STDERR: [11/30 15:09:38] DEBUG | Single click in (375,700). Surface: (322-659,653-710) +2024-11-30 15:09:38,606 - api.main - INFO - STDERR: [11/30 15:09:38] DEBUG | 1.95s sleep +2024-11-30 15:09:40,569 - api.main - INFO - STDERR: [11/30 15:09:40] INFO | mnaumanndesign is in recent history. +2024-11-30 15:09:40,775 - api.main - INFO - STDERR: [11/30 15:09:40] INFO | Open @mnaumanndesign followers. +2024-11-30 15:09:40,775 - api.main - INFO - STDERR: [11/30 15:09:40] INFO | Navigate to followers. +2024-11-30 15:09:41,237 - api.main - INFO - STDERR: [11/30 15:09:41] DEBUG | Single click in (845,492). Surface: (747-1057,322-630) +2024-11-30 15:09:41,593 - api.main - INFO - STDERR: [11/30 15:09:41] DEBUG | 1.24s sleep +2024-11-30 15:09:43,941 - api.main - INFO - STDERR: [11/30 15:09:43] INFO | Iterate over visible followers. +2024-11-30 15:09:48,206 - api.main - INFO - STDERR: [11/30 15:09:48] DEBUG | There are 7 users fully visible in that view. +2024-11-30 15:09:49,345 - api.main - INFO - STDERR: [11/30 15:09:49] INFO | @nigell.design.lab: already interacted on 2024/11/29 01:35:14. Skip. +2024-11-30 15:09:50,271 - api.main - INFO - STDERR: [11/30 15:09:50] INFO | @newness________: already interacted on 2024/11/29 01:35:35. Skip. +2024-11-30 15:09:51,106 - api.main - INFO - STDERR: [11/30 15:09:51] INFO | @personal_day__: already interacted on 2024/11/29 01:37:38. Skip. +2024-11-30 15:09:51,871 - api.main - INFO - STDERR: [11/30 15:09:51] INFO | @northbryan: already interacted on 2024/11/30 05:47:55. Skip. +2024-11-30 15:09:52,855 - api.main - INFO - STDERR: [11/30 15:09:52] INFO | @rafiki7474: already interacted on 2024/11/30 05:29:55. Skip. +2024-11-30 15:09:53,790 - api.main - INFO - STDERR: [11/30 15:09:53] INFO | @simmakkaleem: already interacted on 2024/11/29 04:15:41. Skip. +2024-11-30 15:09:54,852 - api.main - INFO - STDERR: [11/30 15:09:54] INFO | @loathful_fdor: already interacted on 2024/11/30 05:30:33. Skip. +2024-11-30 15:09:56,124 - api.main - INFO - STDERR: [11/30 15:09:56] INFO | All followers skipped, let's scroll. +2024-11-30 15:09:57,372 - api.main - INFO - STDERR: [11/30 15:09:57] INFO | Iterate over visible followers. +2024-11-30 15:10:01,928 - api.main - INFO - STDERR: [11/30 15:10:01] DEBUG | There are 8 users fully visible in that view. +2024-11-30 15:10:03,456 - api.main - INFO - STDERR: [11/30 15:10:03] INFO | @user732728d: already interacted on 2024/11/29 04:16:36. Skip. +2024-11-30 15:10:04,418 - api.main - INFO - STDERR: [11/30 15:10:04] INFO | @pakreht: already interacted on 2024/11/29 04:16:18. Skip. +2024-11-30 15:10:05,311 - api.main - INFO - STDERR: [11/30 15:10:05] INFO | @cavalry_playground: already interacted on 2024/11/30 05:31:00. Skip. +2024-11-30 15:10:06,259 - api.main - INFO - STDERR: [11/30 15:10:06] INFO | @gabomarin_designer: already interacted on 2024/11/30 05:31:19. Skip. +2024-11-30 15:10:07,243 - api.main - INFO - STDERR: [11/30 15:10:07] INFO | @lorcan.archive: already interacted on 2024/11/29 01:36:59. Skip. +2024-11-30 15:10:08,219 - api.main - INFO - STDERR: [11/30 15:10:08] INFO | @_motiongrapher_: already interacted on 2024/11/29 04:17:14. Skip. +2024-11-30 15:10:09,185 - api.main - INFO - STDERR: [11/30 15:10:09] INFO | @furkanadiguzel15: already interacted on 2024/11/30 13:34:25. Skip. +2024-11-30 15:10:10,239 - api.main - INFO - STDERR: [11/30 15:10:10] INFO | @heavydirtyday: already interacted on 2024/11/29 04:16:58. Skip. +2024-11-30 15:10:11,744 - api.main - INFO - STDERR: [11/30 15:10:11] INFO | All followers skipped, let's scroll. +2024-11-30 15:10:12,980 - api.main - INFO - STDERR: [11/30 15:10:12] INFO | Iterate over visible followers. +2024-11-30 15:10:17,970 - api.main - INFO - STDERR: [11/30 15:10:17] DEBUG | There are 8 users fully visible in that view. +2024-11-30 15:10:19,437 - api.main - INFO - STDERR: [11/30 15:10:19] INFO | @kelevra0815: interact +2024-11-30 15:10:19,794 - api.main - INFO - STDERR: [11/30 15:10:19] DEBUG | Single click in (364,610). Surface: (322-555,578-635) +2024-11-30 15:10:20,412 - api.main - INFO - STDERR: [11/30 15:10:20] DEBUG | 1.13s sleep +2024-11-30 15:10:21,552 - api.main - INFO - STDERR: [11/30 15:10:21] DEBUG | 3.30s sleep +2024-11-30 15:10:25,203 - api.main - INFO - STDERR: [11/30 15:10:25] DEBUG | Checking profile.. +2024-11-30 15:10:26,382 - api.main - INFO - STDERR: [11/30 15:10:26] DEBUG | Looking for mutual friends tab. +2024-11-30 15:10:33,191 - api.main - INFO - STDERR: [11/30 15:10:33] DEBUG | This account is public. +2024-11-30 15:10:33,191 - api.main - INFO - STDERR: [11/30 15:10:33] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 15:10:33,192 - api.main - INFO - STDERR: [11/30 15:10:33] INFO | @kelevra0815 has less than 100 followers, skip. +2024-11-30 15:10:33,204 - api.main - INFO - STDERR: [11/30 15:10:33] DEBUG | Profile checked in 8.00s +2024-11-30 15:10:33,217 - api.main - INFO - STDERR: [11/30 15:10:33] DEBUG | Whole day mode. +2024-11-30 15:10:33,217 - api.main - INFO - STDERR: [11/30 15:10:33] DEBUG | - Total Likes: OK (0/134) +2024-11-30 15:10:33,218 - api.main - INFO - STDERR: [11/30 15:10:33] DEBUG | - Total Followed: OK (0/45) +2024-11-30 15:10:33,218 - api.main - INFO - STDERR: [11/30 15:10:33] DEBUG | - Total Watched: OK (0/135) +2024-11-30 15:10:33,219 - api.main - INFO - STDERR: [11/30 15:10:33] DEBUG | - Total PM: OK (0/4) +2024-11-30 15:10:33,219 - api.main - INFO - STDERR: [11/30 15:10:33] DEBUG | - Total Comments: OK (0/31) +2024-11-30 15:10:33,219 - api.main - INFO - STDERR: [11/30 15:10:33] DEBUG | - Total Interactions: OK (1/283) +2024-11-30 15:10:33,219 - api.main - INFO - STDERR: [11/30 15:10:33] DEBUG | - Total Successful Interactions: OK (0/133) +2024-11-30 15:10:33,220 - api.main - INFO - STDERR: [11/30 15:10:33] INFO | Back to followers list +2024-11-30 15:10:33,220 - api.main - INFO - STDERR: [11/30 15:10:33] DEBUG | Press back button. +2024-11-30 15:10:33,298 - api.main - INFO - STDERR: [11/30 15:10:33] DEBUG | 2.45s sleep +2024-11-30 15:10:36,916 - api.main - INFO - STDERR: [11/30 15:10:36] INFO | @ddrckdsgn: already interacted on 2024/11/30 05:37:10. Skip. +2024-11-30 15:10:38,255 - api.main - INFO - STDERR: [11/30 15:10:38] INFO | @xyzettgraphix_bfvk: already interacted on 2024/11/29 04:21:20. Skip. +2024-11-30 15:10:39,660 - api.main - INFO - STDERR: [11/30 15:10:39] INFO | @ooook___789: already interacted on 2024/11/29 04:17:52. Skip. +2024-11-30 15:10:41,215 - api.main - INFO - STDERR: [11/30 15:10:41] INFO | @oivtat: already interacted on 2024/11/29 04:17:32. Skip. +2024-11-30 15:10:42,853 - api.main - INFO - STDERR: [11/30 15:10:42] INFO | @motivomine: already interacted on 2024/11/29 04:19:52. Skip. +2024-11-30 15:10:44,435 - api.main - INFO - STDERR: [11/30 15:10:44] INFO | @iwannhs.ferro: already interacted on 2024/11/30 13:35:10. Skip. +2024-11-30 15:10:46,089 - api.main - INFO - STDERR: [11/30 15:10:46] INFO | @king_ofwaters: already interacted on 2024/11/30 13:35:24. Skip. +2024-11-30 15:10:48,276 - api.main - INFO - STDERR: [11/30 15:10:48] INFO | Need to scroll now +2024-11-30 15:10:49,517 - api.main - INFO - STDERR: [11/30 15:10:49] INFO | Iterate over visible followers. +2024-11-30 15:10:58,530 - api.main - INFO - STDERR: [11/30 15:10:58] DEBUG | There are 8 users fully visible in that view. +2024-11-30 15:11:00,299 - api.main - INFO - STDERR: [11/30 15:11:00] INFO | @user732728d: already interacted on 2024/11/29 04:16:36. Skip. +2024-11-30 15:11:01,470 - api.main - INFO - STDERR: [11/30 15:11:01] INFO | @pakreht: already interacted on 2024/11/29 04:16:18. Skip. +2024-11-30 15:11:02,737 - api.main - INFO - STDERR: [11/30 15:11:02] INFO | @cavalry_playground: already interacted on 2024/11/30 05:31:00. Skip. +2024-11-30 15:11:04,473 - api.main - INFO - STDERR: [11/30 15:11:04] INFO | @gabomarin_designer: already interacted on 2024/11/30 05:31:19. Skip. +2024-11-30 15:11:06,047 - api.main - INFO - STDERR: [11/30 15:11:06] INFO | @lorcan.archive: already interacted on 2024/11/29 01:36:59. Skip. +2024-11-30 15:11:07,671 - api.main - INFO - STDERR: [11/30 15:11:07] INFO | @_motiongrapher_: already interacted on 2024/11/29 04:17:14. Skip. +2024-11-30 15:11:09,693 - api.main - INFO - STDERR: [11/30 15:11:09] INFO | @furkanadiguzel15: already interacted on 2024/11/30 13:34:25. Skip. +2024-11-30 15:11:11,252 - api.main - INFO - STDERR: [11/30 15:11:11] INFO | @heavydirtyday: already interacted on 2024/11/29 04:16:58. Skip. +2024-11-30 15:11:13,025 - api.main - INFO - STDERR: [11/30 15:11:13] INFO | All followers skipped, let's scroll. +2024-11-30 15:11:14,288 - api.main - INFO - STDERR: [11/30 15:11:14] INFO | Iterate over visible followers. +2024-11-30 15:11:20,330 - api.main - INFO - STDERR: [11/30 15:11:20] DEBUG | There are 8 users fully visible in that view. +2024-11-30 15:11:22,338 - api.main - INFO - STDERR: [11/30 15:11:22] INFO | @kelevra0815: already interacted on 2024/11/30 15:10:33. Skip. +2024-11-30 15:11:23,348 - api.main - INFO - STDERR: [11/30 15:11:23] INFO | @ddrckdsgn: already interacted on 2024/11/30 05:37:10. Skip. +2024-11-30 15:11:24,014 - api.main - INFO - STDERR: [11/30 15:11:24] INFO | @xyzettgraphix_bfvk: already interacted on 2024/11/29 04:21:20. Skip. +2024-11-30 15:11:24,788 - api.main - INFO - STDERR: [11/30 15:11:24] INFO | @ooook___789: already interacted on 2024/11/29 04:17:52. Skip. +2024-11-30 15:11:26,355 - api.main - INFO - STDERR: [11/30 15:11:26] INFO | @oivtat: already interacted on 2024/11/29 04:17:32. Skip. +2024-11-30 15:11:28,477 - api.main - INFO - STDERR: [11/30 15:11:28] INFO | @motivomine: already interacted on 2024/11/29 04:19:52. Skip. +2024-11-30 15:11:30,893 - api.main - INFO - STDERR: [11/30 15:11:30] INFO | @iwannhs.ferro: already interacted on 2024/11/30 13:35:10. Skip. +2024-11-30 15:11:33,438 - api.main - INFO - STDERR: [11/30 15:11:33] INFO | @king_ofwaters: already interacted on 2024/11/30 13:35:24. Skip. +2024-11-30 15:11:36,130 - api.main - INFO - STDERR: [11/30 15:11:36] INFO | All followers skipped, let's scroll. +2024-11-30 15:11:37,346 - api.main - INFO - STDERR: [11/30 15:11:37] INFO | Iterate over visible followers. +2024-11-30 15:11:46,183 - api.main - INFO - STDERR: [11/30 15:11:46] DEBUG | There are 8 users fully visible in that view. +2024-11-30 15:11:48,301 - api.main - INFO - STDERR: [11/30 15:11:48] INFO | @sams0nis: already interacted on 2024/11/29 04:22:03. Skip. +2024-11-30 15:11:49,440 - api.main - INFO - STDERR: [11/30 15:11:49] INFO | @tonymolino: already interacted on 2024/11/30 05:48:25. Skip. +2024-11-30 15:11:50,778 - api.main - INFO - STDERR: [11/30 15:11:50] INFO | @blissfuldread: already interacted on 2024/11/29 04:22:24. Skip. +2024-11-30 15:11:52,252 - api.main - INFO - STDERR: [11/30 15:11:52] INFO | @bryn_pod: already interacted on 2024/11/29 01:35:49. Skip. +2024-11-30 15:11:53,854 - api.main - INFO - STDERR: [11/30 15:11:53] INFO | @gioph_designs: already interacted on 2024/11/29 04:23:05. Skip. +2024-11-30 15:11:56,420 - api.main - INFO - STDERR: [11/30 15:11:56] INFO | @sammeske: already interacted on 2024/11/29 04:38:40. Skip. +2024-11-30 15:11:58,592 - api.main - INFO - STDERR: [11/30 15:11:58] INFO | @jeejung_gabin: already interacted on 2024/11/29 04:35:39. Skip. +2024-11-30 15:12:00,489 - api.main - INFO - STDERR: [11/30 15:12:00] INFO | @dixitasarchive: already interacted on 2024/11/29 01:37:19. Skip. +2024-11-30 15:12:02,703 - api.main - INFO - STDERR: [11/30 15:12:02] INFO | All followers skipped, let's scroll. +2024-11-30 15:12:03,960 - api.main - INFO - STDERR: [11/30 15:12:03] INFO | Iterate over visible followers. +2024-11-30 15:12:12,065 - api.main - INFO - STDERR: [11/30 15:12:12] DEBUG | There are 7 users fully visible in that view. +2024-11-30 15:12:14,012 - api.main - INFO - STDERR: [11/30 15:12:14] INFO | @asad_graphic: already interacted on 2024/11/29 04:23:47. Skip. +2024-11-30 15:12:15,148 - api.main - INFO - STDERR: [11/30 15:12:15] INFO | @artreyd: already interacted on 2024/11/29 04:23:29. Skip. +2024-11-30 15:12:16,366 - api.main - INFO - STDERR: [11/30 15:12:16] INFO | @y2knght: already interacted on 2024/11/30 05:49:04. Skip. +2024-11-30 15:12:17,981 - api.main - INFO - STDERR: [11/30 15:12:17] INFO | @rychee_studio: already interacted on 2024/11/29 04:32:11. Skip. +2024-11-30 15:12:19,483 - api.main - INFO - STDERR: [11/30 15:12:19] INFO | @neodigitalbr: already interacted on 2024/11/29 04:24:54. Skip. +2024-11-30 15:12:21,392 - api.main - INFO - STDERR: [11/30 15:12:21] INFO | @claudiatua.0v0: already interacted on 2024/11/29 04:26:30. Skip. +2024-11-30 15:12:23,001 - api.main - INFO - STDERR: [11/30 15:12:23] INFO | @jakub_bukowski: already interacted on 2024/11/30 05:49:26. Skip. +2024-11-30 15:12:24,871 - api.main - INFO - STDERR: [11/30 15:12:24] INFO | All followers skipped, let's scroll. +2024-11-30 15:12:26,128 - api.main - INFO - STDERR: [11/30 15:12:26] INFO | Iterate over visible followers. +2024-11-30 15:12:34,883 - api.main - INFO - STDERR: [11/30 15:12:34] DEBUG | There are 8 users fully visible in that view. +2024-11-30 15:12:36,969 - api.main - INFO - STDERR: [11/30 15:12:36] INFO | @gonepix: already interacted on 2024/11/29 04:27:07. Skip. +2024-11-30 15:12:38,327 - api.main - INFO - STDERR: [11/30 15:12:38] INFO | @audoreaudio: already interacted on 2024/11/29 04:33:46. Skip. +2024-11-30 15:12:39,529 - api.main - INFO - STDERR: [11/30 15:12:39] INFO | @379_pages: already interacted on 2024/11/30 13:37:55. Skip. +2024-11-30 15:12:41,200 - api.main - INFO - STDERR: [11/30 15:12:41] INFO | @jochebread: interact +2024-11-30 15:12:41,811 - api.main - INFO - STDERR: [11/30 15:12:41] DEBUG | Single click in (422,1341). Surface: (322-534,1324-1381) +2024-11-30 15:12:42,620 - api.main - INFO - STDERR: [11/30 15:12:42] DEBUG | 1.25s sleep +2024-11-30 15:12:43,883 - api.main - INFO - STDERR: [11/30 15:12:43] DEBUG | 3.70s sleep +2024-11-30 15:12:47,958 - api.main - INFO - STDERR: [11/30 15:12:47] DEBUG | Checking profile.. +2024-11-30 15:12:48,995 - api.main - INFO - STDERR: [11/30 15:12:48] DEBUG | Looking for mutual friends tab. +2024-11-30 15:12:55,235 - api.main - INFO - STDERR: [11/30 15:12:55] DEBUG | This account is private. +2024-11-30 15:12:55,235 - api.main - INFO - STDERR: [11/30 15:12:55] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 15:12:55,236 - api.main - INFO - STDERR: [11/30 15:12:55] INFO | @jochebread doesn't have enough posts (0), skip. +2024-11-30 15:12:55,248 - api.main - INFO - STDERR: [11/30 15:12:55] DEBUG | Profile checked in 7.29s +2024-11-30 15:12:55,261 - api.main - INFO - STDERR: [11/30 15:12:55] DEBUG | Whole day mode. +2024-11-30 15:12:55,262 - api.main - INFO - STDERR: [11/30 15:12:55] DEBUG | - Total Likes: OK (0/134) +2024-11-30 15:12:55,262 - api.main - INFO - STDERR: [11/30 15:12:55] DEBUG | - Total Followed: OK (0/45) +2024-11-30 15:12:55,262 - api.main - INFO - STDERR: [11/30 15:12:55] DEBUG | - Total Watched: OK (0/135) +2024-11-30 15:12:55,262 - api.main - INFO - STDERR: [11/30 15:12:55] DEBUG | - Total PM: OK (0/4) +2024-11-30 15:12:55,263 - api.main - INFO - STDERR: [11/30 15:12:55] DEBUG | - Total Comments: OK (0/31) +2024-11-30 15:12:55,263 - api.main - INFO - STDERR: [11/30 15:12:55] DEBUG | - Total Interactions: OK (2/283) +2024-11-30 15:12:55,263 - api.main - INFO - STDERR: [11/30 15:12:55] DEBUG | - Total Successful Interactions: OK (0/133) +2024-11-30 15:12:55,263 - api.main - INFO - STDERR: [11/30 15:12:55] INFO | Back to followers list +2024-11-30 15:12:55,263 - api.main - INFO - STDERR: [11/30 15:12:55] DEBUG | Press back button. +2024-11-30 15:12:55,357 - api.main - INFO - STDERR: [11/30 15:12:55] DEBUG | 2.57s sleep +2024-11-30 15:12:59,021 - api.main - INFO - STDERR: [11/30 15:12:59] INFO | @iam_lifeflow2019: already interacted on 2024/11/29 04:36:42. Skip. +2024-11-30 15:12:59,949 - api.main - INFO - STDERR: [11/30 15:12:59] INFO | @iris_orbis: already interacted on 2024/11/29 04:34:19. Skip. +2024-11-30 15:13:00,972 - api.main - INFO - STDERR: [11/30 15:13:00] INFO | @erkunzhao: already interacted on 2024/11/30 13:36:17. Skip. +2024-11-30 15:13:01,933 - api.main - INFO - STDERR: [11/30 15:13:01] INFO | @heshuangjiang1120: already interacted on 2024/11/29 04:36:23. Skip. +2024-11-30 15:13:03,463 - api.main - INFO - STDERR: [11/30 15:13:03] INFO | Need to scroll now +2024-11-30 15:13:04,708 - api.main - INFO - STDERR: [11/30 15:13:04] INFO | Iterate over visible followers. +2024-11-30 15:13:09,971 - api.main - INFO - STDERR: [11/30 15:13:09] DEBUG | There are 8 users fully visible in that view. +2024-11-30 15:13:11,288 - api.main - INFO - STDERR: [11/30 15:13:11] INFO | @wingsvn: already interacted on 2024/11/29 04:34:38. Skip. +2024-11-30 15:13:11,744 - api.main - INFO - STDERR: [11/30 15:13:11] INFO | @lunch_box_notes: already interacted on 2024/11/29 04:37:27. Skip. +2024-11-30 15:13:12,653 - api.main - INFO - STDERR: [11/30 15:13:12] INFO | @marcusw.design: already interacted on 2024/11/29 04:18:37. Skip. +2024-11-30 15:13:13,611 - api.main - INFO - STDERR: [11/30 15:13:13] INFO | @prazdnakasa: already interacted on 2024/11/29 04:15:58. Skip. +2024-11-30 15:13:14,576 - api.main - INFO - STDERR: [11/30 15:13:14] INFO | @creatid.d: already interacted on 2024/11/30 13:37:21. Skip. +2024-11-30 15:13:15,548 - api.main - INFO - STDERR: [11/30 15:13:15] INFO | @77artndesign: already interacted on 2024/11/30 13:37:39. Skip. +2024-11-30 15:13:16,525 - api.main - INFO - STDERR: [11/30 15:13:16] INFO | @weemeeuwkoenraad: already interacted on 2024/11/29 04:21:46. Skip. +2024-11-30 15:13:17,456 - api.main - INFO - STDERR: [11/30 15:13:17] INFO | @emotionworks: already interacted on 2024/11/30 13:38:22. Skip. +2024-11-30 15:13:18,882 - api.main - INFO - STDERR: [11/30 15:13:18] INFO | All followers skipped, let's scroll. +2024-11-30 15:13:20,106 - api.main - INFO - STDERR: [11/30 15:13:20] INFO | Iterate over visible followers. +2024-11-30 15:13:25,156 - api.main - INFO - STDERR: [11/30 15:13:25] DEBUG | There are 8 users fully visible in that view. +2024-11-30 15:13:26,621 - api.main - INFO - STDERR: [11/30 15:13:26] INFO | @usethriv: already interacted on 2024/11/29 04:26:12. Skip. +2024-11-30 15:13:27,556 - api.main - INFO - STDERR: [11/30 15:13:27] INFO | @jtqtianqi: already interacted on 2024/11/29 04:37:08. Skip. +2024-11-30 15:13:28,467 - api.main - INFO - STDERR: [11/30 15:13:28] INFO | @celestinekf0qbe8: already interacted on 2024/11/30 13:38:42. Skip. +2024-11-30 15:13:29,396 - api.main - INFO - STDERR: [11/30 15:13:29] INFO | @albertoroller: already interacted on 2024/11/30 13:38:59. Skip. +2024-11-30 15:13:30,366 - api.main - INFO - STDERR: [11/30 15:13:30] INFO | @ka.tadaa: already interacted on 2024/11/30 13:40:15. Skip. +2024-11-30 15:13:31,308 - api.main - INFO - STDERR: [11/30 15:13:31] INFO | @jiyere2b: already interacted on 2024/11/29 04:37:48. Skip. +2024-11-30 15:13:32,283 - api.main - INFO - STDERR: [11/30 15:13:32] INFO | @dxin.official: already interacted on 2024/11/29 04:36:06. Skip. +2024-11-30 15:13:33,229 - api.main - INFO - STDERR: [11/30 15:13:33] INFO | @kuangxiao118: already interacted on 2024/11/30 13:40:45. Skip. +2024-11-30 15:13:34,704 - api.main - INFO - STDERR: [11/30 15:13:34] INFO | All followers skipped, let's scroll. +2024-11-30 15:13:35,955 - api.main - INFO - STDERR: [11/30 15:13:35] INFO | Iterate over visible followers. +2024-11-30 15:13:40,624 - api.main - INFO - STDERR: [11/30 15:13:40] DEBUG | There are 7 users fully visible in that view. +2024-11-30 15:13:42,094 - api.main - INFO - STDERR: [11/30 15:13:42] INFO | @mryangbin: already interacted on 2024/11/30 13:41:03. Skip. +2024-11-30 15:13:42,995 - api.main - INFO - STDERR: [11/30 15:13:42] INFO | @katjastrophal__: already interacted on 2024/11/30 13:41:18. Skip. +2024-11-30 15:13:43,903 - api.main - INFO - STDERR: [11/30 15:13:43] INFO | @ryan.6338: already interacted on 2024/11/30 13:41:36. Skip. +2024-11-30 15:13:44,836 - api.main - INFO - STDERR: [11/30 15:13:44] INFO | @m.s.a236: already interacted on 2024/11/29 04:39:51. Skip. +2024-11-30 15:13:45,738 - api.main - INFO - STDERR: [11/30 15:13:45] INFO | @___chaithu______7: already interacted on 2024/11/30 13:41:52. Skip. +2024-11-30 15:13:46,726 - api.main - INFO - STDERR: [11/30 15:13:46] INFO | @nosunity: already interacted on 2024/11/30 13:44:34. Skip. +2024-11-30 15:13:47,673 - api.main - INFO - STDERR: [11/30 15:13:47] INFO | @art_and_cigars: already interacted on 2024/11/30 13:45:38. Skip. +2024-11-30 15:13:49,116 - api.main - INFO - STDERR: [11/30 15:13:49] INFO | All followers skipped, let's scroll. +2024-11-30 15:13:50,349 - api.main - INFO - STDERR: [11/30 15:13:50] INFO | Iterate over visible followers. +2024-11-30 15:13:54,405 - api.main - INFO - STDERR: [11/30 15:13:54] DEBUG | There are 7 users fully visible in that view. +2024-11-30 15:13:55,634 - api.main - INFO - STDERR: [11/30 15:13:55] INFO | @art_and_cigars: already interacted on 2024/11/30 13:45:38. Skip. +2024-11-30 15:13:56,541 - api.main - INFO - STDERR: [11/30 15:13:56] INFO | @379_pages: already interacted on 2024/11/30 13:37:55. Skip. +2024-11-30 15:13:57,443 - api.main - INFO - STDERR: [11/30 15:13:57] INFO | @tomododesignandart: already interacted on 2024/11/29 04:29:43. Skip. +2024-11-30 15:13:58,399 - api.main - INFO - STDERR: [11/30 15:13:58] INFO | @jarzyna.artur: already interacted on 2024/11/30 13:45:56. Skip. +2024-11-30 15:13:59,298 - api.main - INFO - STDERR: [11/30 15:13:59] INFO | @studio_sourire: already interacted on 2024/11/29 04:27:43. Skip. +2024-11-30 15:14:00,199 - api.main - INFO - STDERR: [11/30 15:14:00] INFO | @slimreaper7_35: already interacted on 2024/11/29 04:27:25. Skip. +2024-11-30 15:14:01,154 - api.main - INFO - STDERR: [11/30 15:14:01] INFO | @jochebread: already interacted on 2024/11/30 15:12:55. Skip. +2024-11-30 15:14:02,145 - api.main - INFO - STDERR: [11/30 15:14:02] INFO | @__siqus: already interacted on 2024/11/30 13:56:10. Skip. +2024-11-30 15:14:03,578 - api.main - INFO - STDERR: [11/30 15:14:03] INFO | All followers skipped, let's scroll. +2024-11-30 15:14:04,805 - api.main - INFO - STDERR: [11/30 15:14:04] INFO | Iterate over visible followers. +2024-11-30 15:14:09,323 - api.main - INFO - STDERR: [11/30 15:14:09] DEBUG | There are 7 users fully visible in that view. +2024-11-30 15:14:10,777 - api.main - INFO - STDERR: [11/30 15:14:10] INFO | @tomododesignandart: already interacted on 2024/11/29 04:29:43. Skip. +2024-11-30 15:14:11,728 - api.main - INFO - STDERR: [11/30 15:14:11] INFO | @jarzyna.artur: already interacted on 2024/11/30 13:45:56. Skip. +2024-11-30 15:14:12,600 - api.main - INFO - STDERR: [11/30 15:14:12] INFO | @bl9ckst8r: already interacted on 2024/11/30 13:46:16. Skip. +2024-11-30 15:14:13,553 - api.main - INFO - STDERR: [11/30 15:14:13] INFO | @myace.jpg: already interacted on 2024/11/30 13:47:33. Skip. +2024-11-30 15:14:14,475 - api.main - INFO - STDERR: [11/30 15:14:14] INFO | @xcxdan: already interacted on 2024/11/30 13:48:02. Skip. +2024-11-30 15:14:15,453 - api.main - INFO - STDERR: [11/30 15:14:15] INFO | @chiefphilosophernight: already interacted on 2024/11/30 13:48:18. Skip. +2024-11-30 15:14:16,407 - api.main - INFO - STDERR: [11/30 15:14:16] INFO | @oleksandrzymnytskyi: already interacted on 2024/11/30 13:48:35. Skip. +2024-11-30 15:14:17,919 - api.main - INFO - STDERR: [11/30 15:14:17] INFO | All followers skipped, let's scroll. +2024-11-30 15:14:19,130 - api.main - INFO - STDERR: [11/30 15:14:19] INFO | Iterate over visible followers. +2024-11-30 15:14:24,292 - api.main - INFO - STDERR: [11/30 15:14:24] DEBUG | There are 8 users fully visible in that view. +2024-11-30 15:14:25,583 - api.main - INFO - STDERR: [11/30 15:14:25] INFO | @melicorbeat: already interacted on 2024/11/30 13:48:50. Skip. +2024-11-30 15:14:26,533 - api.main - INFO - STDERR: [11/30 15:14:26] INFO | @tomomicreates: already interacted on 2024/11/30 13:49:08. Skip. +2024-11-30 15:14:27,413 - api.main - INFO - STDERR: [11/30 15:14:27] INFO | @kado_zurek: already interacted on 2024/11/30 13:49:59. Skip. +2024-11-30 15:14:28,348 - api.main - INFO - STDERR: [11/30 15:14:28] INFO | @vjolhonegro: already interacted on 2024/11/30 13:50:56. Skip. +2024-11-30 15:14:29,245 - api.main - INFO - STDERR: [11/30 15:14:29] INFO | @sophia_leyva: already interacted on 2024/11/30 13:51:14. Skip. +2024-11-30 15:14:30,253 - api.main - INFO - STDERR: [11/30 15:14:30] INFO | @d0nut.eth: interact +2024-11-30 15:14:30,609 - api.main - INFO - STDERR: [11/30 15:14:30] DEBUG | Single click in (448,1833). Surface: (322-502,1818-1875) +2024-11-30 15:14:31,245 - api.main - INFO - STDERR: [11/30 15:14:31] DEBUG | 1.43s sleep +2024-11-30 15:14:32,685 - api.main - INFO - STDERR: [11/30 15:14:32] DEBUG | 2.92s sleep +2024-11-30 15:14:35,982 - api.main - INFO - STDERR: [11/30 15:14:35] DEBUG | Checking profile.. +2024-11-30 15:14:37,148 - api.main - INFO - STDERR: [11/30 15:14:37] DEBUG | Looking for mutual friends tab. +2024-11-30 15:14:43,574 - api.main - INFO - STDERR: [11/30 15:14:43] DEBUG | This account is private. +2024-11-30 15:14:43,576 - api.main - INFO - STDERR: [11/30 15:14:43] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 15:14:43,576 - api.main - INFO - STDERR: [11/30 15:14:43] INFO | @d0nut.eth has less than 100 followers, skip. +2024-11-30 15:14:43,589 - api.main - INFO - STDERR: [11/30 15:14:43] DEBUG | Profile checked in 7.61s +2024-11-30 15:14:43,601 - api.main - INFO - STDERR: [11/30 15:14:43] DEBUG | Whole day mode. +2024-11-30 15:14:43,602 - api.main - INFO - STDERR: [11/30 15:14:43] DEBUG | - Total Likes: OK (0/134) +2024-11-30 15:14:43,603 - api.main - INFO - STDERR: [11/30 15:14:43] DEBUG | - Total Followed: OK (0/45) +2024-11-30 15:14:43,603 - api.main - INFO - STDERR: [11/30 15:14:43] DEBUG | - Total Watched: OK (0/135) +2024-11-30 15:14:43,603 - api.main - INFO - STDERR: [11/30 15:14:43] DEBUG | - Total PM: OK (0/4) +2024-11-30 15:14:43,603 - api.main - INFO - STDERR: [11/30 15:14:43] DEBUG | - Total Comments: OK (0/31) +2024-11-30 15:14:43,604 - api.main - INFO - STDERR: [11/30 15:14:43] DEBUG | - Total Interactions: OK (3/283) +2024-11-30 15:14:43,604 - api.main - INFO - STDERR: [11/30 15:14:43] DEBUG | - Total Successful Interactions: OK (0/133) +2024-11-30 15:14:43,604 - api.main - INFO - STDERR: [11/30 15:14:43] INFO | Back to followers list +2024-11-30 15:14:43,605 - api.main - INFO - STDERR: [11/30 15:14:43] DEBUG | Press back button. +2024-11-30 15:14:43,684 - api.main - INFO - STDERR: [11/30 15:14:43] DEBUG | 1.92s sleep +2024-11-30 15:14:46,837 - api.main - INFO - STDERR: [11/30 15:14:46] INFO | @rodfons: already interacted on 2024/11/30 13:52:40. Skip. +2024-11-30 15:14:47,871 - api.main - INFO - STDERR: [11/30 15:14:47] INFO | @adrian_ciszek: already interacted on 2024/11/30 13:53:45. Skip. +2024-11-30 15:14:49,386 - api.main - INFO - STDERR: [11/30 15:14:49] INFO | Need to scroll now +2024-11-30 15:14:50,593 - api.main - INFO - STDERR: [11/30 15:14:50] INFO | Iterate over visible followers. +2024-11-30 15:14:55,943 - api.main - INFO - STDERR: [11/30 15:14:55] DEBUG | There are 8 users fully visible in that view. +2024-11-30 15:14:57,491 - api.main - INFO - STDERR: [11/30 15:14:57] INFO | @_david_lexl_: already interacted on 2024/11/30 13:54:00. Skip. +2024-11-30 15:14:58,372 - api.main - INFO - STDERR: [11/30 15:14:58] INFO | @mysticmegan: already interacted on 2024/11/30 13:55:51. Skip. +2024-11-30 15:14:59,229 - api.main - INFO - STDERR: [11/30 15:14:59] INFO | @erek_alvgard: interact +2024-11-30 15:14:59,584 - api.main - INFO - STDERR: [11/30 15:14:59] DEBUG | Single click in (401,1168). Surface: (322-564,1123-1180) +2024-11-30 15:15:00,164 - api.main - INFO - STDERR: [11/30 15:15:00] DEBUG | 1.84s sleep +2024-11-30 15:15:02,011 - api.main - INFO - STDERR: [11/30 15:15:02] DEBUG | 3.87s sleep +2024-11-30 15:15:06,325 - api.main - INFO - STDERR: [11/30 15:15:06] DEBUG | Checking profile.. +2024-11-30 15:15:07,630 - api.main - INFO - STDERR: [11/30 15:15:07] DEBUG | Looking for mutual friends tab. +2024-11-30 15:15:12,016 - api.main - INFO - STDERR: [11/30 15:15:12] DEBUG | This account is public. +2024-11-30 15:15:12,016 - api.main - INFO - STDERR: [11/30 15:15:12] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 15:15:12,284 - api.main - INFO - STDERR: [11/30 15:15:12] DEBUG | Profile checked in 5.96s +2024-11-30 15:15:12,284 - api.main - INFO - STDERR: [11/30 15:15:12] INFO | - Total Watched: OK (0/135) +2024-11-30 15:15:13,407 - api.main - INFO - STDERR: [11/30 15:15:13] INFO | - Total Likes: OK (0/134) +2024-11-30 15:15:14,878 - api.main - INFO - STDERR: [11/30 15:15:14] INFO | Scrolled down to see more posts. +2024-11-30 15:15:14,879 - api.main - INFO - STDERR: [11/30 15:15:14] DEBUG | Swipe from: (750,1483) to (620,294). +2024-11-30 15:15:16,138 - api.main - INFO - STDERR: [11/30 15:15:16] DEBUG | 0.3s sleep +2024-11-30 15:15:16,446 - api.main - INFO - STDERR: [11/30 15:15:16] INFO | Likes count: 1 +2024-11-30 15:15:17,897 - api.main - INFO - STDERR: [11/30 15:15:17] INFO | There are 12 posts fully visible. Calculated in 1.45s +2024-11-30 15:15:17,897 - api.main - INFO - STDERR: [11/30 15:15:17] INFO | Open post #1 (2 row, 3 column). +2024-11-30 15:15:19,166 - api.main - INFO - STDERR: [11/30 15:15:19] INFO | It's a photo. +2024-11-30 15:15:19,439 - api.main - INFO - STDERR: [11/30 15:15:19] DEBUG | Single click in (1263,1319). Surface: (964-1440,950-1426) +2024-11-30 15:15:19,936 - api.main - INFO - STDERR: [11/30 15:15:19] DEBUG | 2.53s sleep +2024-11-30 15:15:24,665 - api.main - INFO - STDERR: [11/30 15:15:24] INFO | Watching photo for 3.67s. +2024-11-30 15:15:28,837 - api.main - INFO - STDERR: [11/30 15:15:28] INFO | Liking post. +2024-11-30 15:15:28,955 - api.main - INFO - STDERR: [11/30 15:15:28] DEBUG | Double click in (809,1227) with t=109ms. Surface: (0-1440,477-1917). +2024-11-30 15:15:29,388 - api.main - INFO - STDERR: [11/30 15:15:29] DEBUG | 0.61s sleep +2024-11-30 15:15:31,554 - api.main - INFO - STDERR: [11/30 15:15:31] DEBUG | Checking for block... +2024-11-30 15:15:34,066 - api.main - INFO - STDERR: [11/30 15:15:34] DEBUG | Like succeed. +2024-11-30 15:15:34,066 - api.main - INFO - STDERR: [11/30 15:15:34] INFO | Back to profile. +2024-11-30 15:15:34,588 - api.main - INFO - STDERR: [11/30 15:15:34] DEBUG | Press back button. +2024-11-30 15:15:34,798 - api.main - INFO - STDERR: [11/30 15:15:34] DEBUG | 1.58s sleep +2024-11-30 15:15:36,383 - api.main - INFO - STDERR: [11/30 15:15:36] DEBUG | - Total Followed: OK (0/45) +2024-11-30 15:15:36,400 - api.main - INFO - STDERR: [11/30 15:15:36] DEBUG | Whole day mode. +2024-11-30 15:15:36,401 - api.main - INFO - STDERR: [11/30 15:15:36] DEBUG | - Total Likes: OK (1/134) +2024-11-30 15:15:36,401 - api.main - INFO - STDERR: [11/30 15:15:36] DEBUG | - Total Followed: OK (0/45) +2024-11-30 15:15:36,401 - api.main - INFO - STDERR: [11/30 15:15:36] DEBUG | - Total Watched: OK (0/135) +2024-11-30 15:15:36,401 - api.main - INFO - STDERR: [11/30 15:15:36] DEBUG | - Total PM: OK (0/4) +2024-11-30 15:15:36,402 - api.main - INFO - STDERR: [11/30 15:15:36] DEBUG | - Total Comments: OK (0/31) +2024-11-30 15:15:36,402 - api.main - INFO - STDERR: [11/30 15:15:36] DEBUG | - Total Interactions: OK (4/283) +2024-11-30 15:15:36,402 - api.main - INFO - STDERR: [11/30 15:15:36] DEBUG | - Total Successful Interactions: OK (1/133) +2024-11-30 15:15:36,402 - api.main - INFO - STDERR: [11/30 15:15:36] INFO | Session progress: 1 likes, 0 watched, 0 commented, 0 PM sent, 0 followed, 1 successful interaction(s) for mnaumanndesign. +2024-11-30 15:15:36,403 - api.main - INFO - STDERR: [11/30 15:15:36] INFO | Back to followers list +2024-11-30 15:15:36,403 - api.main - INFO - STDERR: [11/30 15:15:36] DEBUG | Press back button. +2024-11-30 15:15:36,523 - api.main - INFO - STDERR: [11/30 15:15:36] DEBUG | 1.59s sleep +2024-11-30 15:15:39,176 - api.main - INFO - STDERR: [11/30 15:15:39] INFO | @richie.hoffmann: interact +2024-11-30 15:15:39,532 - api.main - INFO - STDERR: [11/30 15:15:39] DEBUG | Single click in (479,1402). Surface: (322-622,1375-1432) +2024-11-30 15:15:40,171 - api.main - INFO - STDERR: [11/30 15:15:40] DEBUG | 1.56s sleep +2024-11-30 15:15:41,741 - api.main - INFO - STDERR: [11/30 15:15:41] DEBUG | 2.30s sleep +2024-11-30 15:15:44,401 - api.main - INFO - STDERR: [11/30 15:15:44] DEBUG | Checking profile.. +2024-11-30 15:15:45,671 - api.main - INFO - STDERR: [11/30 15:15:45] DEBUG | Looking for mutual friends tab. +2024-11-30 15:15:52,040 - api.main - INFO - STDERR: [11/30 15:15:52] DEBUG | This account is public. +2024-11-30 15:15:52,040 - api.main - INFO - STDERR: [11/30 15:15:52] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 15:15:52,435 - api.main - INFO - STDERR: [11/30 15:15:52] DEBUG | Profile checked in 8.03s +2024-11-30 15:15:52,435 - api.main - INFO - STDERR: [11/30 15:15:52] INFO | - Total Likes: OK (1/134) +2024-11-30 15:15:52,435 - api.main - INFO - STDERR: [11/30 15:15:52] DEBUG | We don't need to scroll, there is/are only 3 post(s). +2024-11-30 15:15:52,436 - api.main - INFO - STDERR: [11/30 15:15:52] INFO | Likes count: 2 +2024-11-30 15:15:53,532 - api.main - INFO - STDERR: [11/30 15:15:53] DEBUG | This is a temporary fix, for avoid bot to crash we have removed the last picture form the list. +2024-11-30 15:15:53,532 - api.main - INFO - STDERR: [11/30 15:15:53] INFO | There are 2 posts fully visible. Calculated in 1.10s +2024-11-30 15:15:53,532 - api.main - INFO - STDERR: [11/30 15:15:53] INFO | Open post #1 (1 row, 1 column). +2024-11-30 15:15:54,759 - api.main - INFO - STDERR: [11/30 15:15:54] INFO | It's a photo. +2024-11-30 15:15:55,085 - api.main - INFO - STDERR: [11/30 15:15:55] DEBUG | Single click in (114,1778). Surface: (0-476,1601-2077) +2024-11-30 15:15:55,772 - api.main - INFO - STDERR: [11/30 15:15:55] DEBUG | 1.35s sleep +2024-11-30 15:15:59,573 - api.main - INFO - STDERR: [11/30 15:15:59] INFO | Watching photo for 3.41s. +2024-11-30 15:16:03,589 - api.main - INFO - STDERR: [11/30 15:16:03] INFO | Liking post. +2024-11-30 15:16:03,589 - api.main - INFO - STDERR: [11/30 15:16:03] INFO | Post has tags, better going with a single click on the little heart \u2764\ufe0f. +2024-11-30 15:16:05,317 - api.main - INFO - STDERR: [11/30 15:16:05] DEBUG | Single click in (117,1962). Surface: (21-175,1916-2077) +2024-11-30 15:16:05,875 - api.main - INFO - STDERR: [11/30 15:16:05] DEBUG | 1.78s sleep +2024-11-30 15:16:09,470 - api.main - INFO - STDERR: [11/30 15:16:09] DEBUG | Checking for block... +2024-11-30 15:16:12,272 - api.main - INFO - STDERR: [11/30 15:16:12] DEBUG | Like succeed. +2024-11-30 15:16:12,273 - api.main - INFO - STDERR: [11/30 15:16:12] INFO | Back to profile. +2024-11-30 15:23:30,949 - api.main - INFO - API startup complete +2024-11-30 15:23:43,975 - api.main - INFO - Starting session for account test_account with config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\test_account\config.yml +2024-11-30 15:23:43,975 - api.main - ERROR - Configuration not found for account: test_account at path: e:\PROJECTS\instagram automation\virtualinfluencer\accounts\test_account\config.yml +2024-11-30 15:23:43,975 - api.main - ERROR - Error starting session: 404: Configuration not found for account: test_account at path: e:\PROJECTS\instagram automation\virtualinfluencer\accounts\test_account\config.yml +2024-11-30 15:24:52,061 - api.main - INFO - Starting session for account quecreate with config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml +2024-11-30 15:24:52,061 - api.main - INFO - Running command: e:\PROJECTS\instagram automation\virtualinfluencer\venv\Scripts\python.exe -v e:\PROJECTS\instagram automation\virtualinfluencer\run.py --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 15:24:52,061 - api.main - INFO - Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 15:24:52,061 - api.main - INFO - Environment PYTHONPATH: None +2024-11-30 15:24:52,061 - api.main - INFO - Starting process with command: e:\PROJECTS\instagram automation\virtualinfluencer\venv\Scripts\python.exe -v e:\PROJECTS\instagram automation\virtualinfluencer\run.py --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 15:24:52,061 - api.main - INFO - Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 15:24:52,061 - api.main - INFO - PYTHONPATH: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 15:24:52,119 - api.main - INFO - Process started with PID: 31360 +2024-11-30 15:24:52,119 - api.main - INFO - Successfully started session for account: quecreate +2024-11-30 15:24:52,157 - api.main - INFO - STDERR: import _frozen_importlib # frozen +2024-11-30 15:24:52,157 - api.main - INFO - STDERR: import _imp # builtin +2024-11-30 15:24:52,157 - api.main - INFO - STDERR: import '_thread' # +2024-11-30 15:24:52,157 - api.main - INFO - STDERR: import '_warnings' # +2024-11-30 15:24:52,158 - api.main - INFO - STDERR: import '_weakref' # +2024-11-30 15:24:52,158 - api.main - INFO - STDERR: import '_io' # +2024-11-30 15:24:52,158 - api.main - INFO - STDERR: import 'marshal' # +2024-11-30 15:24:52,158 - api.main - INFO - STDERR: import 'nt' # +2024-11-30 15:24:52,158 - api.main - INFO - STDERR: import 'winreg' # +2024-11-30 15:24:52,158 - api.main - INFO - STDERR: import '_frozen_importlib_external' # +2024-11-30 15:24:52,158 - api.main - INFO - STDERR: # installing zipimport hook +2024-11-30 15:24:52,159 - api.main - INFO - STDERR: import 'time' # +2024-11-30 15:24:52,159 - api.main - INFO - STDERR: import 'zipimport' # +2024-11-30 15:24:52,159 - api.main - INFO - STDERR: # installed zipimport hook +2024-11-30 15:24:52,161 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__init__.py +2024-11-30 15:24:52,162 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,162 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\codecs.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\codecs.py +2024-11-30 15:24:52,162 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\codecs.cpython-39.pyc' +2024-11-30 15:24:52,163 - api.main - INFO - STDERR: import '_codecs' # +2024-11-30 15:24:52,163 - api.main - INFO - STDERR: import 'codecs' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196743A5940> +2024-11-30 15:24:52,163 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\aliases.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\aliases.py +2024-11-30 15:24:52,165 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\aliases.cpython-39.pyc' +2024-11-30 15:24:52,165 - api.main - INFO - STDERR: import 'encodings.aliases' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019674514EB0> +2024-11-30 15:24:52,165 - api.main - INFO - STDERR: import 'encodings' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196743A5730> +2024-11-30 15:24:52,165 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\utf_8.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\utf_8.py +2024-11-30 15:24:52,165 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\utf_8.cpython-39.pyc' +2024-11-30 15:24:52,165 - api.main - INFO - STDERR: import 'encodings.utf_8' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196743A5790> +2024-11-30 15:24:52,165 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\cp1252.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\cp1252.py +2024-11-30 15:24:52,195 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\cp1252.cpython-39.pyc' +2024-11-30 15:24:52,195 - api.main - INFO - STDERR: import 'encodings.cp1252' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019674514FA0> +2024-11-30 15:24:52,195 - api.main - INFO - STDERR: import '_signal' # +2024-11-30 15:24:52,195 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\latin_1.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\latin_1.py +2024-11-30 15:24:52,195 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\latin_1.cpython-39.pyc' +2024-11-30 15:24:52,195 - api.main - INFO - STDERR: import 'encodings.latin_1' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967452C340> +2024-11-30 15:24:52,195 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\io.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\io.py +2024-11-30 15:24:52,195 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\io.cpython-39.pyc' +2024-11-30 15:24:52,195 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\abc.py +2024-11-30 15:24:52,195 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 15:24:52,195 - api.main - INFO - STDERR: import '_abc' # +2024-11-30 15:24:52,196 - api.main - INFO - STDERR: import 'abc' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967452C7F0> +2024-11-30 15:24:52,196 - api.main - INFO - STDERR: import 'io' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967452C520> +2024-11-30 15:24:52,196 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\site.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\site.py +2024-11-30 15:24:52,196 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\site.cpython-39.pyc' +2024-11-30 15:24:52,196 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\os.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\os.py +2024-11-30 15:24:52,196 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\os.cpython-39.pyc' +2024-11-30 15:24:52,196 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\stat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\stat.py +2024-11-30 15:24:52,196 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\stat.cpython-39.pyc' +2024-11-30 15:24:52,196 - api.main - INFO - STDERR: import '_stat' # +2024-11-30 15:24:52,196 - api.main - INFO - STDERR: import 'stat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967454FFA0> +2024-11-30 15:24:52,196 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_collections_abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_collections_abc.py +2024-11-30 15:24:52,228 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_collections_abc.cpython-39.pyc' +2024-11-30 15:24:52,228 - api.main - INFO - STDERR: import '_collections_abc' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019674556130> +2024-11-30 15:24:52,228 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ntpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ntpath.py +2024-11-30 15:24:52,228 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ntpath.cpython-39.pyc' +2024-11-30 15:24:52,228 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\genericpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\genericpath.py +2024-11-30 15:24:52,228 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\genericpath.cpython-39.pyc' +2024-11-30 15:24:52,228 - api.main - INFO - STDERR: import 'genericpath' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967457F970> +2024-11-30 15:24:52,228 - api.main - INFO - STDERR: import 'ntpath' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019674556A60> +2024-11-30 15:24:52,229 - api.main - INFO - STDERR: import 'os' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196745357C0> +2024-11-30 15:24:52,229 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_sitebuiltins.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_sitebuiltins.py +2024-11-30 15:24:52,229 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_sitebuiltins.cpython-39.pyc' +2024-11-30 15:24:52,229 - api.main - INFO - STDERR: import '_sitebuiltins' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967454F460> +2024-11-30 15:24:52,229 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_bootlocale.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_bootlocale.py +2024-11-30 15:24:52,229 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_bootlocale.cpython-39.pyc' +2024-11-30 15:24:52,229 - api.main - INFO - STDERR: import '_locale' # +2024-11-30 15:24:52,229 - api.main - INFO - STDERR: import '_bootlocale' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967457FD90> +2024-11-30 15:24:52,229 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__init__.py +2024-11-30 15:24:52,229 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\_distutils_hack\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,230 - api.main - INFO - STDERR: import '_distutils_hack' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019674595B80> +2024-11-30 15:24:52,230 - api.main - INFO - STDERR: import 'site' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967452C850> +2024-11-30 15:24:52,230 - api.main - INFO - STDERR: Python 3.9.10 (tags/v3.9.10:f2f3f53, Jan 17 2022, 15:14:21) [MSC v.1929 64 bit (AMD64)] on win32 +2024-11-30 15:24:52,230 - api.main - INFO - STDERR: Type "help", "copyright", "credits" or "license" for more information. +2024-11-30 15:24:52,230 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\__init__.py +2024-11-30 15:24:52,230 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,230 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__init__.py +2024-11-30 15:24:52,230 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,230 - api.main - INFO - STDERR: import 'GramAddict.core' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196745A45B0> +2024-11-30 15:24:52,230 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\bot_flow.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\bot_flow.py +2024-11-30 15:24:52,230 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\bot_flow.cpython-39.pyc' +2024-11-30 15:24:52,230 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__init__.py +2024-11-30 15:24:52,230 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\logging\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,231 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\re.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\re.py +2024-11-30 15:24:52,231 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\re.cpython-39.pyc' +2024-11-30 15:24:52,231 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\enum.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\enum.py +2024-11-30 15:24:52,231 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\enum.cpython-39.pyc' +2024-11-30 15:24:52,231 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\types.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\types.py +2024-11-30 15:24:52,231 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\types.cpython-39.pyc' +2024-11-30 15:24:52,231 - api.main - INFO - STDERR: import 'types' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196747E74C0> +2024-11-30 15:24:52,231 - api.main - INFO - STDERR: import 'enum' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196747CEFD0> +2024-11-30 15:24:52,231 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_compile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_compile.py +2024-11-30 15:24:52,231 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_compile.cpython-39.pyc' +2024-11-30 15:24:52,231 - api.main - INFO - STDERR: import '_sre' # +2024-11-30 15:24:52,231 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_parse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_parse.py +2024-11-30 15:24:52,231 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_parse.cpython-39.pyc' +2024-11-30 15:24:52,231 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_constants.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_constants.py +2024-11-30 15:24:52,232 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_constants.cpython-39.pyc' +2024-11-30 15:24:52,232 - api.main - INFO - STDERR: import 'sre_constants' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967480B2E0> +2024-11-30 15:24:52,232 - api.main - INFO - STDERR: import 'sre_parse' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196747F98B0> +2024-11-30 15:24:52,232 - api.main - INFO - STDERR: import 'sre_compile' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196747E7FD0> +2024-11-30 15:24:52,233 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\functools.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\functools.py +2024-11-30 15:24:52,233 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\functools.cpython-39.pyc' +2024-11-30 15:24:52,233 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__init__.py +2024-11-30 15:24:52,234 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\collections\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,234 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\heapq.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\heapq.py +2024-11-30 15:24:52,234 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\heapq.cpython-39.pyc' +2024-11-30 15:24:52,235 - api.main - INFO - STDERR: import '_heapq' # +2024-11-30 15:24:52,235 - api.main - INFO - STDERR: import 'heapq' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967483EA60> +2024-11-30 15:24:52,235 - api.main - INFO - STDERR: import 'itertools' # +2024-11-30 15:24:52,236 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\keyword.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\keyword.py +2024-11-30 15:24:52,236 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\keyword.cpython-39.pyc' +2024-11-30 15:24:52,236 - api.main - INFO - STDERR: import 'keyword' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967483EFD0> +2024-11-30 15:24:52,237 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\operator.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\operator.py +2024-11-30 15:24:52,237 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\operator.cpython-39.pyc' +2024-11-30 15:24:52,237 - api.main - INFO - STDERR: import '_operator' # +2024-11-30 15:24:52,237 - api.main - INFO - STDERR: import 'operator' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967483EF10> +2024-11-30 15:24:52,238 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\reprlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\reprlib.py +2024-11-30 15:24:52,238 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\reprlib.cpython-39.pyc' +2024-11-30 15:24:52,238 - api.main - INFO - STDERR: import 'reprlib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019674850160> +2024-11-30 15:24:52,238 - api.main - INFO - STDERR: import '_collections' # +2024-11-30 15:24:52,238 - api.main - INFO - STDERR: import 'collections' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019674819EE0> +2024-11-30 15:24:52,238 - api.main - INFO - STDERR: import '_functools' # +2024-11-30 15:24:52,238 - api.main - INFO - STDERR: import 'functools' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019674811790> +2024-11-30 15:24:52,240 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\copyreg.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\copyreg.py +2024-11-30 15:24:52,240 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\copyreg.cpython-39.pyc' +2024-11-30 15:24:52,241 - api.main - INFO - STDERR: import 'copyreg' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019674826730> +2024-11-30 15:24:52,241 - api.main - INFO - STDERR: import 're' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196747CE580> +2024-11-30 15:24:52,241 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\traceback.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\traceback.py +2024-11-30 15:24:52,241 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\traceback.cpython-39.pyc' +2024-11-30 15:24:52,241 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\linecache.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\linecache.py +2024-11-30 15:24:52,241 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\linecache.cpython-39.pyc' +2024-11-30 15:24:52,243 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tokenize.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tokenize.py +2024-11-30 15:24:52,243 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tokenize.cpython-39.pyc' +2024-11-30 15:24:52,244 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\token.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\token.py +2024-11-30 15:24:52,244 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\token.cpython-39.pyc' +2024-11-30 15:24:52,244 - api.main - INFO - STDERR: import 'token' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019674853F40> +2024-11-30 15:24:52,245 - api.main - INFO - STDERR: import 'tokenize' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019674853550> +2024-11-30 15:24:52,245 - api.main - INFO - STDERR: import 'linecache' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019674850A90> +2024-11-30 15:24:52,245 - api.main - INFO - STDERR: import 'traceback' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019674826340> +2024-11-30 15:24:52,246 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\warnings.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\warnings.py +2024-11-30 15:24:52,246 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\warnings.cpython-39.pyc' +2024-11-30 15:24:52,246 - api.main - INFO - STDERR: import 'warnings' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019674850910> +2024-11-30 15:24:52,247 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\weakref.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\weakref.py +2024-11-30 15:24:52,247 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\weakref.cpython-39.pyc' +2024-11-30 15:24:52,248 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_weakrefset.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_weakrefset.py +2024-11-30 15:24:52,248 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_weakrefset.cpython-39.pyc' +2024-11-30 15:24:52,248 - api.main - INFO - STDERR: import '_weakrefset' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019674895D90> +2024-11-30 15:24:52,249 - api.main - INFO - STDERR: import 'weakref' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019674859760> +2024-11-30 15:24:52,249 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\abc.py +2024-11-30 15:24:52,249 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\collections\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 15:24:52,249 - api.main - INFO - STDERR: import 'collections.abc' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967489EA30> +2024-11-30 15:24:52,250 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\string.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\string.py +2024-11-30 15:24:52,250 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\string.cpython-39.pyc' +2024-11-30 15:24:52,250 - api.main - INFO - STDERR: import '_string' # +2024-11-30 15:24:52,251 - api.main - INFO - STDERR: import 'string' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967489EB20> +2024-11-30 15:24:52,251 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\threading.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\threading.py +2024-11-30 15:24:52,251 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\threading.cpython-39.pyc' +2024-11-30 15:24:52,252 - api.main - INFO - STDERR: import 'threading' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196748AA130> +2024-11-30 15:24:52,253 - api.main - INFO - STDERR: import 'atexit' # +2024-11-30 15:24:52,253 - api.main - INFO - STDERR: import 'logging' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196745A4190> +2024-11-30 15:24:52,254 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\random.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\random.py +2024-11-30 15:24:52,254 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\random.cpython-39.pyc' +2024-11-30 15:24:52,254 - api.main - INFO - STDERR: import 'math' # +2024-11-30 15:24:52,255 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\bisect.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\bisect.py +2024-11-30 15:24:52,255 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\bisect.cpython-39.pyc' +2024-11-30 15:24:52,255 - api.main - INFO - STDERR: import '_bisect' # +2024-11-30 15:24:52,255 - api.main - INFO - STDERR: import 'bisect' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196748CBF40> +2024-11-30 15:24:52,255 - api.main - INFO - STDERR: import '_random' # +2024-11-30 15:24:52,255 - api.main - INFO - STDERR: import '_sha512' # +2024-11-30 15:24:52,255 - api.main - INFO - STDERR: import 'random' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019674595130> +2024-11-30 15:24:52,256 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\datetime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\datetime.py +2024-11-30 15:24:52,256 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\datetime.cpython-39.pyc' +2024-11-30 15:24:52,257 - api.main - INFO - STDERR: import '_datetime' # +2024-11-30 15:24:52,257 - api.main - INFO - STDERR: import 'datetime' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196748E4190> +2024-11-30 15:24:52,258 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__init__.py +2024-11-30 15:24:52,258 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,259 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\initialise.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\initialise.py +2024-11-30 15:24:52,259 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\initialise.cpython-39.pyc' +2024-11-30 15:24:52,259 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\contextlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\contextlib.py +2024-11-30 15:24:52,259 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\contextlib.cpython-39.pyc' +2024-11-30 15:24:52,260 - api.main - INFO - STDERR: import 'contextlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967490FBB0> +2024-11-30 15:24:52,261 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\ansitowin32.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\ansitowin32.py +2024-11-30 15:24:52,261 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\ansitowin32.cpython-39.pyc' +2024-11-30 15:24:52,261 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\ansi.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\ansi.py +2024-11-30 15:24:52,261 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\ansi.cpython-39.pyc' +2024-11-30 15:24:52,261 - api.main - INFO - STDERR: import 'colorama.ansi' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967491F730> +2024-11-30 15:24:52,262 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\winterm.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\winterm.py +2024-11-30 15:24:52,262 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\winterm.cpython-39.pyc' +2024-11-30 15:24:52,262 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\win32.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\win32.py +2024-11-30 15:24:52,262 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\win32.cpython-39.pyc' +2024-11-30 15:24:52,263 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__init__.py +2024-11-30 15:24:52,263 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,268 - api.main - INFO - STDERR: # extension module '_ctypes' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ctypes.pyd' +2024-11-30 15:24:52,269 - api.main - INFO - STDERR: # extension module '_ctypes' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ctypes.pyd' +2024-11-30 15:24:52,269 - api.main - INFO - STDERR: import '_ctypes' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001967493F7C0> +2024-11-30 15:24:52,270 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\struct.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\struct.py +2024-11-30 15:24:52,270 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\struct.cpython-39.pyc' +2024-11-30 15:24:52,270 - api.main - INFO - STDERR: import '_struct' # +2024-11-30 15:24:52,270 - api.main - INFO - STDERR: import 'struct' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967493FCA0> +2024-11-30 15:24:52,272 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\_endian.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\_endian.py +2024-11-30 15:24:52,272 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\_endian.cpython-39.pyc' +2024-11-30 15:24:52,272 - api.main - INFO - STDERR: import 'ctypes._endian' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019674951A00> +2024-11-30 15:24:52,272 - api.main - INFO - STDERR: import 'ctypes' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019674934520> +2024-11-30 15:24:52,273 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\wintypes.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\wintypes.py +2024-11-30 15:24:52,273 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\wintypes.cpython-39.pyc' +2024-11-30 15:24:52,273 - api.main - INFO - STDERR: import 'ctypes.wintypes' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019674934970> +2024-11-30 15:24:52,273 - api.main - INFO - STDERR: import 'colorama.win32' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967490F2E0> +2024-11-30 15:24:52,273 - api.main - INFO - STDERR: import 'colorama.winterm' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967491FD30> +2024-11-30 15:24:52,274 - api.main - INFO - STDERR: import 'colorama.ansitowin32' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967490FF10> +2024-11-30 15:24:52,275 - api.main - INFO - STDERR: import 'colorama.initialise' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967490F940> +2024-11-30 15:24:52,275 - api.main - INFO - STDERR: import 'colorama' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196748E4220> +2024-11-30 15:24:52,276 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\config.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\config.py +2024-11-30 15:24:52,276 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\config.cpython-39.pyc' +2024-11-30 15:24:52,277 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\typing.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\typing.py +2024-11-30 15:24:52,277 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\typing.cpython-39.pyc' +2024-11-30 15:24:52,278 - api.main - INFO - STDERR: import 'typing' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019674951FA0> +2024-11-30 15:24:52,279 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\configargparse.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\configargparse.py +2024-11-30 15:24:52,279 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\configargparse.cpython-39.pyc' +2024-11-30 15:24:52,280 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\argparse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\argparse.py +2024-11-30 15:24:52,282 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\argparse.cpython-39.pyc' +2024-11-30 15:24:52,283 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\gettext.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\gettext.py +2024-11-30 15:24:52,283 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\gettext.cpython-39.pyc' +2024-11-30 15:24:52,284 - api.main - INFO - STDERR: import 'gettext' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196748E4AC0> +2024-11-30 15:24:52,284 - api.main - INFO - STDERR: import 'argparse' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676152FD0> +2024-11-30 15:24:52,285 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__init__.py +2024-11-30 15:24:52,285 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,286 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\decoder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\decoder.py +2024-11-30 15:24:52,286 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\decoder.cpython-39.pyc' +2024-11-30 15:24:52,287 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\scanner.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\scanner.py +2024-11-30 15:24:52,287 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\scanner.cpython-39.pyc' +2024-11-30 15:24:52,287 - api.main - INFO - STDERR: import '_json' # +2024-11-30 15:24:52,287 - api.main - INFO - STDERR: import 'json.scanner' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196748537C0> +2024-11-30 15:24:52,287 - api.main - INFO - STDERR: import 'json.decoder' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196748FF070> +2024-11-30 15:24:52,288 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\encoder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\encoder.py +2024-11-30 15:24:52,288 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\encoder.cpython-39.pyc' +2024-11-30 15:24:52,288 - api.main - INFO - STDERR: import 'json.encoder' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196748FFD60> +2024-11-30 15:24:52,289 - api.main - INFO - STDERR: import 'json' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196748F6C40> +2024-11-30 15:24:52,290 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\glob.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\glob.py +2024-11-30 15:24:52,291 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\glob.cpython-39.pyc' +2024-11-30 15:24:52,292 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\fnmatch.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\fnmatch.py +2024-11-30 15:24:52,292 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\fnmatch.cpython-39.pyc' +2024-11-30 15:24:52,292 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\posixpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\posixpath.py +2024-11-30 15:24:52,293 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\posixpath.cpython-39.pyc' +2024-11-30 15:24:52,293 - api.main - INFO - STDERR: import 'posixpath' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676192790> +2024-11-30 15:24:52,293 - api.main - INFO - STDERR: import 'fnmatch' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676192430> +2024-11-30 15:24:52,293 - api.main - INFO - STDERR: import 'glob' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967616AC10> +2024-11-30 15:24:52,293 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\textwrap.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\textwrap.py +2024-11-30 15:24:52,294 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\textwrap.cpython-39.pyc' +2024-11-30 15:24:52,294 - api.main - INFO - STDERR: import 'textwrap' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196761925E0> +2024-11-30 15:24:52,295 - api.main - INFO - STDERR: import 'configargparse' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196749728E0> +2024-11-30 15:24:52,295 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__init__.py +2024-11-30 15:24:52,296 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,296 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\error.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\error.py +2024-11-30 15:24:52,296 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\error.cpython-39.pyc' +2024-11-30 15:24:52,296 - api.main - INFO - STDERR: import 'yaml.error' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196761A5D30> +2024-11-30 15:24:52,297 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\tokens.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\tokens.py +2024-11-30 15:24:52,297 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\tokens.cpython-39.pyc' +2024-11-30 15:24:52,297 - api.main - INFO - STDERR: import 'yaml.tokens' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196761A5EE0> +2024-11-30 15:24:52,297 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\events.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\events.py +2024-11-30 15:24:52,298 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\events.cpython-39.pyc' +2024-11-30 15:24:52,298 - api.main - INFO - STDERR: import 'yaml.events' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196761AD1F0> +2024-11-30 15:24:52,299 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\nodes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\nodes.py +2024-11-30 15:24:52,299 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\nodes.cpython-39.pyc' +2024-11-30 15:24:52,299 - api.main - INFO - STDERR: import 'yaml.nodes' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196761ADA00> +2024-11-30 15:24:52,299 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\loader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\loader.py +2024-11-30 15:24:52,299 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\loader.cpython-39.pyc' +2024-11-30 15:24:52,299 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\reader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\reader.py +2024-11-30 15:24:52,299 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\reader.cpython-39.pyc' +2024-11-30 15:24:52,304 - api.main - INFO - STDERR: import 'yaml.reader' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196763BC370> +2024-11-30 15:24:52,305 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\scanner.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\scanner.py +2024-11-30 15:24:52,305 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\scanner.cpython-39.pyc' +2024-11-30 15:24:52,305 - api.main - INFO - STDERR: import 'yaml.scanner' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196763BC700> +2024-11-30 15:24:52,306 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\parser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\parser.py +2024-11-30 15:24:52,306 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\parser.cpython-39.pyc' +2024-11-30 15:24:52,306 - api.main - INFO - STDERR: import 'yaml.parser' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196763C6280> +2024-11-30 15:24:52,306 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\composer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\composer.py +2024-11-30 15:24:52,306 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\composer.cpython-39.pyc' +2024-11-30 15:24:52,306 - api.main - INFO - STDERR: import 'yaml.composer' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196763C6940> +2024-11-30 15:24:52,307 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\constructor.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\constructor.py +2024-11-30 15:24:52,307 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\constructor.cpython-39.pyc' +2024-11-30 15:24:52,308 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\base64.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\base64.py +2024-11-30 15:24:52,309 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\base64.cpython-39.pyc' +2024-11-30 15:24:52,309 - api.main - INFO - STDERR: import 'binascii' # +2024-11-30 15:24:52,309 - api.main - INFO - STDERR: import 'base64' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196763DCBB0> +2024-11-30 15:24:52,309 - api.main - INFO - STDERR: import 'yaml.constructor' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196763C6C10> +2024-11-30 15:24:52,310 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\resolver.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\resolver.py +2024-11-30 15:24:52,310 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\resolver.cpython-39.pyc' +2024-11-30 15:24:52,312 - api.main - INFO - STDERR: import 'yaml.resolver' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196763DC8B0> +2024-11-30 15:24:52,312 - api.main - INFO - STDERR: import 'yaml.loader' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196761ADF40> +2024-11-30 15:24:52,313 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\dumper.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\dumper.py +2024-11-30 15:24:52,313 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\dumper.cpython-39.pyc' +2024-11-30 15:24:52,313 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\emitter.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\emitter.py +2024-11-30 15:24:52,314 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\emitter.cpython-39.pyc' +2024-11-30 15:24:52,314 - api.main - INFO - STDERR: import 'yaml.emitter' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196763ECBB0> +2024-11-30 15:24:52,314 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\serializer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\serializer.py +2024-11-30 15:24:52,314 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\serializer.cpython-39.pyc' +2024-11-30 15:24:52,314 - api.main - INFO - STDERR: import 'yaml.serializer' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196764085B0> +2024-11-30 15:24:52,315 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\representer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\representer.py +2024-11-30 15:24:52,315 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\representer.cpython-39.pyc' +2024-11-30 15:24:52,315 - api.main - INFO - STDERR: import 'yaml.representer' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676408850> +2024-11-30 15:24:52,315 - api.main - INFO - STDERR: import 'yaml.dumper' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196763BC160> +2024-11-30 15:24:52,315 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\cyaml.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\cyaml.py +2024-11-30 15:24:52,315 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\cyaml.cpython-39.pyc' +2024-11-30 15:24:52,343 - api.main - INFO - STDERR: # extension module 'yaml._yaml' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\_yaml.cp39-win_amd64.pyd' +2024-11-30 15:24:52,343 - api.main - INFO - STDERR: # extension module 'yaml._yaml' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\_yaml.cp39-win_amd64.pyd' +2024-11-30 15:24:52,343 - api.main - INFO - STDERR: import 'yaml._yaml' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000019676419460> +2024-11-30 15:24:52,343 - api.main - INFO - STDERR: import 'yaml.cyaml' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196761AD340> +2024-11-30 15:24:52,343 - api.main - INFO - STDERR: import 'yaml' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676192F70> +2024-11-30 15:24:52,344 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\plugin_loader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\plugin_loader.py +2024-11-30 15:24:52,344 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\plugin_loader.cpython-39.pyc' +2024-11-30 15:24:52,345 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\inspect.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\inspect.py +2024-11-30 15:24:52,346 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\inspect.cpython-39.pyc' +2024-11-30 15:24:52,346 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ast.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ast.py +2024-11-30 15:24:52,347 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ast.cpython-39.pyc' +2024-11-30 15:24:52,347 - api.main - INFO - STDERR: import '_ast' # +2024-11-30 15:24:52,348 - api.main - INFO - STDERR: import 'ast' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676452AF0> +2024-11-30 15:24:52,349 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\dis.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\dis.py +2024-11-30 15:24:52,349 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\dis.cpython-39.pyc' +2024-11-30 15:24:52,349 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\opcode.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\opcode.py +2024-11-30 15:24:52,350 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\opcode.cpython-39.pyc' +2024-11-30 15:24:52,350 - api.main - INFO - STDERR: import '_opcode' # +2024-11-30 15:24:52,350 - api.main - INFO - STDERR: import 'opcode' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676493E20> +2024-11-30 15:24:52,350 - api.main - INFO - STDERR: import 'dis' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967645C2E0> +2024-11-30 15:24:52,351 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__init__.py +2024-11-30 15:24:52,351 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,351 - api.main - INFO - STDERR: import 'importlib' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196764A6DF0> +2024-11-30 15:24:52,352 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\machinery.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\machinery.py +2024-11-30 15:24:52,352 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\machinery.cpython-39.pyc' +2024-11-30 15:24:52,353 - api.main - INFO - STDERR: import 'importlib.machinery' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196764A6C40> +2024-11-30 15:24:52,353 - api.main - INFO - STDERR: import 'inspect' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676419AF0> +2024-11-30 15:24:52,354 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pkgutil.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pkgutil.py +2024-11-30 15:24:52,354 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pkgutil.cpython-39.pyc' +2024-11-30 15:24:52,355 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\util.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\util.py +2024-11-30 15:24:52,355 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\util.cpython-39.pyc' +2024-11-30 15:24:52,355 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\abc.py +2024-11-30 15:24:52,355 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 15:24:52,356 - api.main - INFO - STDERR: import 'importlib.abc' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196764C95E0> +2024-11-30 15:24:52,356 - api.main - INFO - STDERR: import 'importlib.util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196764BA640> +2024-11-30 15:24:52,356 - api.main - INFO - STDERR: import 'pkgutil' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676425B20> +2024-11-30 15:24:52,356 - api.main - INFO - STDERR: import 'GramAddict.core.plugin_loader' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676419190> +2024-11-30 15:24:52,356 - api.main - INFO - STDERR: import 'GramAddict.core.config' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196748E4250> +2024-11-30 15:24:52,357 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\device_facade.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py +2024-11-30 15:24:52,357 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\device_facade.cpython-39.pyc' +2024-11-30 15:24:52,358 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\subprocess.py +2024-11-30 15:24:52,358 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\subprocess.cpython-39.pyc' +2024-11-30 15:24:52,359 - api.main - INFO - STDERR: import 'errno' # +2024-11-30 15:24:52,360 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\signal.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\signal.py +2024-11-30 15:24:52,360 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\signal.cpython-39.pyc' +2024-11-30 15:24:52,360 - api.main - INFO - STDERR: import 'signal' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196764F6A30> +2024-11-30 15:24:52,361 - api.main - INFO - STDERR: import 'msvcrt' # +2024-11-30 15:24:52,361 - api.main - INFO - STDERR: import '_winapi' # +2024-11-30 15:24:52,362 - api.main - INFO - STDERR: import 'subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196764E9910> +2024-11-30 15:24:52,362 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py +2024-11-30 15:24:52,362 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,363 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\__future__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__future__.py +2024-11-30 15:24:52,363 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\__future__.cpython-39.pyc' +2024-11-30 15:24:52,363 - api.main - INFO - STDERR: import '__future__' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676526E80> +2024-11-30 15:24:52,364 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\hashlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\hashlib.py +2024-11-30 15:24:52,364 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\hashlib.cpython-39.pyc' +2024-11-30 15:24:52,366 - api.main - INFO - STDERR: # extension module '_hashlib' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_hashlib.pyd' +2024-11-30 15:24:52,366 - api.main - INFO - STDERR: # extension module '_hashlib' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_hashlib.pyd' +2024-11-30 15:24:52,366 - api.main - INFO - STDERR: import '_hashlib' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000196765339A0> +2024-11-30 15:24:52,366 - api.main - INFO - STDERR: import '_blake2' # +2024-11-30 15:24:52,366 - api.main - INFO - STDERR: import 'hashlib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676533580> +2024-11-30 15:24:52,367 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\shutil.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\shutil.py +2024-11-30 15:24:52,367 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\shutil.cpython-39.pyc' +2024-11-30 15:24:52,367 - api.main - INFO - STDERR: import 'zlib' # +2024-11-30 15:24:52,368 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\bz2.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\bz2.py +2024-11-30 15:24:52,368 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\bz2.cpython-39.pyc' +2024-11-30 15:24:52,369 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_compression.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_compression.py +2024-11-30 15:24:52,369 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_compression.cpython-39.pyc' +2024-11-30 15:24:52,370 - api.main - INFO - STDERR: import '_compression' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676563370> +2024-11-30 15:24:52,371 - api.main - INFO - STDERR: # extension module '_bz2' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_bz2.pyd' +2024-11-30 15:24:52,371 - api.main - INFO - STDERR: # extension module '_bz2' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_bz2.pyd' +2024-11-30 15:24:52,371 - api.main - INFO - STDERR: import '_bz2' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000196765638B0> +2024-11-30 15:24:52,371 - api.main - INFO - STDERR: import 'bz2' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676551B20> +2024-11-30 15:24:52,371 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\lzma.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\lzma.py +2024-11-30 15:24:52,372 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\lzma.cpython-39.pyc' +2024-11-30 15:24:52,373 - api.main - INFO - STDERR: # extension module '_lzma' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_lzma.pyd' +2024-11-30 15:24:52,374 - api.main - INFO - STDERR: # extension module '_lzma' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_lzma.pyd' +2024-11-30 15:24:52,374 - api.main - INFO - STDERR: import '_lzma' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000019676563FA0> +2024-11-30 15:24:52,374 - api.main - INFO - STDERR: import 'lzma' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196765637F0> +2024-11-30 15:24:52,375 - api.main - INFO - STDERR: import 'shutil' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676533C70> +2024-11-30 15:24:52,376 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\__init__.py +2024-11-30 15:24:52,376 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,376 - api.main - INFO - STDERR: import 'xml' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676570940> +2024-11-30 15:24:52,377 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__init__.py +2024-11-30 15:24:52,377 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,378 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\domreg.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\domreg.py +2024-11-30 15:24:52,378 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\domreg.cpython-39.pyc' +2024-11-30 15:24:52,378 - api.main - INFO - STDERR: import 'xml.dom.domreg' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676570EE0> +2024-11-30 15:24:52,378 - api.main - INFO - STDERR: import 'xml.dom' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676551040> +2024-11-30 15:24:52,378 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\minidom.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\minidom.py +2024-11-30 15:24:52,379 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\minidom.cpython-39.pyc' +2024-11-30 15:24:52,380 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\minicompat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\minicompat.py +2024-11-30 15:24:52,380 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\minicompat.cpython-39.pyc' +2024-11-30 15:24:52,380 - api.main - INFO - STDERR: import 'xml.dom.minicompat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196765C64C0> +2024-11-30 15:24:52,380 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\xmlbuilder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\xmlbuilder.py +2024-11-30 15:24:52,380 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\xmlbuilder.cpython-39.pyc' +2024-11-30 15:24:52,381 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\copy.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\copy.py +2024-11-30 15:24:52,381 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\copy.cpython-39.pyc' +2024-11-30 15:24:52,382 - api.main - INFO - STDERR: import 'copy' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196765CECA0> +2024-11-30 15:24:52,382 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\NodeFilter.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\NodeFilter.py +2024-11-30 15:24:52,382 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\NodeFilter.cpython-39.pyc' +2024-11-30 15:24:52,382 - api.main - INFO - STDERR: import 'xml.dom.NodeFilter' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196765CEFD0> +2024-11-30 15:24:52,382 - api.main - INFO - STDERR: import 'xml.dom.xmlbuilder' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196765C6940> +2024-11-30 15:24:52,383 - api.main - INFO - STDERR: import 'xml.dom.minidom' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676533550> +2024-11-30 15:24:52,383 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pathlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pathlib.py +2024-11-30 15:24:52,383 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pathlib.cpython-39.pyc' +2024-11-30 15:24:52,384 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__init__.py +2024-11-30 15:24:52,384 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,384 - api.main - INFO - STDERR: import 'urllib' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196765FAD00> +2024-11-30 15:24:52,384 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\parse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\parse.py +2024-11-30 15:24:52,385 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\parse.cpython-39.pyc' +2024-11-30 15:24:52,386 - api.main - INFO - STDERR: import 'urllib.parse' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196765FAD30> +2024-11-30 15:24:52,386 - api.main - INFO - STDERR: import 'pathlib' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196765BC400> +2024-11-30 15:24:52,387 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__init__.py +2024-11-30 15:24:52,387 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,388 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\deprecation.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecation.py +2024-11-30 15:24:52,388 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\deprecation.cpython-39.pyc' +2024-11-30 15:24:52,389 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__init__.py +2024-11-30 15:24:52,390 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,390 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\__about__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__about__.py +2024-11-30 15:24:52,390 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\__about__.cpython-39.pyc' +2024-11-30 15:24:52,390 - api.main - INFO - STDERR: import 'packaging.__about__' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967657F790> +2024-11-30 15:24:52,391 - api.main - INFO - STDERR: import 'packaging' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967657F520> +2024-11-30 15:24:52,391 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\version.py +2024-11-30 15:24:52,391 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\version.cpython-39.pyc' +2024-11-30 15:24:52,391 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_structures.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_structures.py +2024-11-30 15:24:52,392 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_structures.cpython-39.pyc' +2024-11-30 15:24:52,392 - api.main - INFO - STDERR: import 'packaging._structures' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967662D640> +2024-11-30 15:24:52,392 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_typing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_typing.py +2024-11-30 15:24:52,392 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_typing.cpython-39.pyc' +2024-11-30 15:24:52,392 - api.main - INFO - STDERR: import 'packaging._typing' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967662DF10> +2024-11-30 15:24:52,395 - api.main - INFO - STDERR: import 'packaging.version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967657F5B0> +2024-11-30 15:24:52,395 - api.main - INFO - STDERR: import 'deprecation' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967657F100> +2024-11-30 15:24:52,396 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_adb.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_adb.py +2024-11-30 15:24:52,396 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_adb.cpython-39.pyc' +2024-11-30 15:24:52,398 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\socket.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\socket.py +2024-11-30 15:24:52,398 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\socket.cpython-39.pyc' +2024-11-30 15:24:52,401 - api.main - INFO - STDERR: # extension module '_socket' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_socket.pyd' +2024-11-30 15:24:52,401 - api.main - INFO - STDERR: # extension module '_socket' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_socket.pyd' +2024-11-30 15:24:52,401 - api.main - INFO - STDERR: import '_socket' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001967664AC40> +2024-11-30 15:24:52,402 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\selectors.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\selectors.py +2024-11-30 15:24:52,402 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\selectors.cpython-39.pyc' +2024-11-30 15:24:52,403 - api.main - INFO - STDERR: # extension module 'select' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\select.pyd' +2024-11-30 15:24:52,403 - api.main - INFO - STDERR: # extension module 'select' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\select.pyd' +2024-11-30 15:24:52,403 - api.main - INFO - STDERR: import 'select' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001967665DE20> +2024-11-30 15:24:52,403 - api.main - INFO - STDERR: import 'selectors' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967664AD90> +2024-11-30 15:24:52,405 - api.main - INFO - STDERR: import 'socket' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676634F40> +2024-11-30 15:24:52,405 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_utils.py +2024-11-30 15:24:52,406 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_utils.cpython-39.pyc' +2024-11-30 15:24:52,407 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\shlex.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\shlex.py +2024-11-30 15:24:52,407 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\shlex.cpython-39.pyc' +2024-11-30 15:24:52,407 - api.main - INFO - STDERR: import 'shlex' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676663D00> +2024-11-30 15:24:52,408 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tempfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tempfile.py +2024-11-30 15:24:52,408 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tempfile.cpython-39.pyc' +2024-11-30 15:24:52,408 - api.main - INFO - STDERR: import 'tempfile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967666C280> +2024-11-30 15:24:52,409 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\zipfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\zipfile.py +2024-11-30 15:24:52,410 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\zipfile.cpython-39.pyc' +2024-11-30 15:24:52,410 - api.main - INFO - STDERR: import 'zipfile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676696640> +2024-11-30 15:24:52,412 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\whichcraft.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\whichcraft.py +2024-11-30 15:24:52,412 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\whichcraft.cpython-39.pyc' +2024-11-30 15:24:52,412 - api.main - INFO - STDERR: import 'whichcraft' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196766A5D60> +2024-11-30 15:24:52,413 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__init__.py +2024-11-30 15:24:52,413 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,414 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\xmltodict.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\xmltodict.py +2024-11-30 15:24:52,414 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\xmltodict.cpython-39.pyc' +2024-11-30 15:24:52,415 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__init__.py +2024-11-30 15:24:52,415 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\parsers\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,415 - api.main - INFO - STDERR: import 'xml.parsers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196766C8790> +2024-11-30 15:24:52,416 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__pycache__\expat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\expat.py +2024-11-30 15:24:52,416 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\parsers\\__pycache__\\expat.cpython-39.pyc' +2024-11-30 15:24:52,417 - api.main - INFO - STDERR: # extension module 'pyexpat' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\pyexpat.pyd' +2024-11-30 15:24:52,418 - api.main - INFO - STDERR: # extension module 'pyexpat' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\pyexpat.pyd' +2024-11-30 15:24:52,418 - api.main - INFO - STDERR: import 'pyexpat' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000196766C8AF0> +2024-11-30 15:24:52,418 - api.main - INFO - STDERR: import 'xml.parsers.expat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196766C8910> +2024-11-30 15:24:52,419 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__init__.py +2024-11-30 15:24:52,419 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,420 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\xmlreader.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\xmlreader.py +2024-11-30 15:24:52,420 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\xmlreader.cpython-39.pyc' +2024-11-30 15:24:52,421 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\handler.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\handler.py +2024-11-30 15:24:52,421 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\handler.cpython-39.pyc' +2024-11-30 15:24:52,421 - api.main - INFO - STDERR: import 'xml.sax.handler' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196766E1B20> +2024-11-30 15:24:52,421 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\_exceptions.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\_exceptions.py +2024-11-30 15:24:52,422 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\_exceptions.cpython-39.pyc' +2024-11-30 15:24:52,422 - api.main - INFO - STDERR: import 'xml.sax._exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196766E8520> +2024-11-30 15:24:52,422 - api.main - INFO - STDERR: import 'xml.sax.xmlreader' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196766C8F10> +2024-11-30 15:24:52,422 - api.main - INFO - STDERR: import 'xml.sax' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196766C8BB0> +2024-11-30 15:24:52,423 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\saxutils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\saxutils.py +2024-11-30 15:24:52,423 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\saxutils.cpython-39.pyc' +2024-11-30 15:24:52,424 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\request.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\request.py +2024-11-30 15:24:52,424 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\request.cpython-39.pyc' +2024-11-30 15:24:52,426 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__init__.py +2024-11-30 15:24:52,426 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,427 - api.main - INFO - STDERR: import 'email' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196767325B0> +2024-11-30 15:24:52,428 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__init__.py +2024-11-30 15:24:52,428 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,429 - api.main - INFO - STDERR: import 'http' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196767328B0> +2024-11-30 15:24:52,429 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\client.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\client.py +2024-11-30 15:24:52,429 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\client.cpython-39.pyc' +2024-11-30 15:24:52,430 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\parser.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\parser.py +2024-11-30 15:24:52,430 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\parser.cpython-39.pyc' +2024-11-30 15:24:52,431 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\feedparser.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\feedparser.py +2024-11-30 15:24:52,431 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\feedparser.cpython-39.pyc' +2024-11-30 15:24:52,432 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\errors.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\errors.py +2024-11-30 15:24:52,432 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 15:24:52,432 - api.main - INFO - STDERR: import 'email.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676755A00> +2024-11-30 15:24:52,433 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_policybase.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_policybase.py +2024-11-30 15:24:52,433 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_policybase.cpython-39.pyc' +2024-11-30 15:24:52,433 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\header.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\header.py +2024-11-30 15:24:52,433 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\header.cpython-39.pyc' +2024-11-30 15:24:52,433 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\quoprimime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\quoprimime.py +2024-11-30 15:24:52,433 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\quoprimime.cpython-39.pyc' +2024-11-30 15:24:52,433 - api.main - INFO - STDERR: import 'email.quoprimime' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196767746D0> +2024-11-30 15:24:52,435 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\base64mime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\base64mime.py +2024-11-30 15:24:52,435 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\base64mime.cpython-39.pyc' +2024-11-30 15:24:52,435 - api.main - INFO - STDERR: import 'email.base64mime' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676774BB0> +2024-11-30 15:24:52,435 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\charset.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\charset.py +2024-11-30 15:24:52,436 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\charset.cpython-39.pyc' +2024-11-30 15:24:52,436 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\encoders.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\encoders.py +2024-11-30 15:24:52,436 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\encoders.cpython-39.pyc' +2024-11-30 15:24:52,437 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\quopri.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\quopri.py +2024-11-30 15:24:52,437 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\quopri.cpython-39.pyc' +2024-11-30 15:24:52,437 - api.main - INFO - STDERR: import 'quopri' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676783790> +2024-11-30 15:24:52,437 - api.main - INFO - STDERR: import 'email.encoders' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196767833A0> +2024-11-30 15:24:52,437 - api.main - INFO - STDERR: import 'email.charset' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676774D90> +2024-11-30 15:24:52,438 - api.main - INFO - STDERR: import 'email.header' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676764E20> +2024-11-30 15:24:52,438 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\utils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\utils.py +2024-11-30 15:24:52,438 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 15:24:52,440 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_parseaddr.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_parseaddr.py +2024-11-30 15:24:52,440 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_parseaddr.cpython-39.pyc' +2024-11-30 15:24:52,441 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\calendar.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\calendar.py +2024-11-30 15:24:52,441 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\calendar.cpython-39.pyc' +2024-11-30 15:24:52,442 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\locale.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\locale.py +2024-11-30 15:24:52,442 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\locale.cpython-39.pyc' +2024-11-30 15:24:52,443 - api.main - INFO - STDERR: import 'locale' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967679DEB0> +2024-11-30 15:24:52,443 - api.main - INFO - STDERR: import 'calendar' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196767956A0> +2024-11-30 15:24:52,443 - api.main - INFO - STDERR: import 'email._parseaddr' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676783F70> +2024-11-30 15:24:52,443 - api.main - INFO - STDERR: import 'email.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196767831F0> +2024-11-30 15:24:52,443 - api.main - INFO - STDERR: import 'email._policybase' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676755AF0> +2024-11-30 15:24:52,445 - api.main - INFO - STDERR: import 'email.feedparser' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676755280> +2024-11-30 15:24:52,445 - api.main - INFO - STDERR: import 'email.parser' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967674EB80> +2024-11-30 15:24:52,446 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\message.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\message.py +2024-11-30 15:24:52,447 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\message.cpython-39.pyc' +2024-11-30 15:24:52,447 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\uu.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\uu.py +2024-11-30 15:24:52,448 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\uu.cpython-39.pyc' +2024-11-30 15:24:52,448 - api.main - INFO - STDERR: import 'uu' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196767E0A90> +2024-11-30 15:24:52,448 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_encoded_words.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_encoded_words.py +2024-11-30 15:24:52,448 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_encoded_words.cpython-39.pyc' +2024-11-30 15:24:52,448 - api.main - INFO - STDERR: import 'email._encoded_words' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196767E0CD0> +2024-11-30 15:24:52,449 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\iterators.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\iterators.py +2024-11-30 15:24:52,449 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\iterators.cpython-39.pyc' +2024-11-30 15:24:52,449 - api.main - INFO - STDERR: import 'email.iterators' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196767EC190> +2024-11-30 15:24:52,449 - api.main - INFO - STDERR: import 'email.message' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967674EF40> +2024-11-30 15:24:52,451 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ssl.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ssl.py +2024-11-30 15:24:52,451 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ssl.cpython-39.pyc' +2024-11-30 15:24:52,454 - api.main - INFO - STDERR: # extension module '_ssl' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ssl.pyd' +2024-11-30 15:24:52,454 - api.main - INFO - STDERR: # extension module '_ssl' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ssl.pyd' +2024-11-30 15:24:52,454 - api.main - INFO - STDERR: import '_ssl' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000019676805580> +2024-11-30 15:24:52,457 - api.main - INFO - STDERR: import 'ssl' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196767EC460> +2024-11-30 15:24:52,457 - api.main - INFO - STDERR: import 'http.client' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196767329D0> +2024-11-30 15:24:52,458 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\error.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\error.py +2024-11-30 15:24:52,458 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\error.cpython-39.pyc' +2024-11-30 15:24:52,459 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\response.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\response.py +2024-11-30 15:24:52,459 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\response.cpython-39.pyc' +2024-11-30 15:24:52,459 - api.main - INFO - STDERR: import 'urllib.response' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967685F460> +2024-11-30 15:24:52,459 - api.main - INFO - STDERR: import 'urllib.error' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967674E3A0> +2024-11-30 15:24:52,462 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\nturl2path.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\nturl2path.py +2024-11-30 15:24:52,462 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\nturl2path.cpython-39.pyc' +2024-11-30 15:24:52,462 - api.main - INFO - STDERR: import 'nturl2path' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967685FCD0> +2024-11-30 15:24:52,462 - api.main - INFO - STDERR: import 'urllib.request' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196766F78B0> +2024-11-30 15:24:52,462 - api.main - INFO - STDERR: import 'xml.sax.saxutils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196766C8640> +2024-11-30 15:24:52,463 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\platform.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\platform.py +2024-11-30 15:24:52,463 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\platform.cpython-39.pyc' +2024-11-30 15:24:52,465 - api.main - INFO - STDERR: import 'platform' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196766F76D0> +2024-11-30 15:24:52,465 - api.main - INFO - STDERR: import 'xmltodict' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196766C8220> +2024-11-30 15:24:52,466 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\apkfile.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\apkfile.py +2024-11-30 15:24:52,466 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\apkfile.cpython-39.pyc' +2024-11-30 15:24:52,466 - api.main - INFO - STDERR: import 'apkutils2.apkfile' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196766C8580> +2024-11-30 15:24:52,467 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__init__.py +2024-11-30 15:24:52,467 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,467 - api.main - INFO - STDERR: import 'apkutils2.axml' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676C799D0> +2024-11-30 15:24:52,468 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\arscparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\arscparser.py +2024-11-30 15:24:52,469 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\arscparser.cpython-39.pyc' +2024-11-30 15:24:52,471 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\chunk.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\chunk.py +2024-11-30 15:24:52,471 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\chunk.cpython-39.pyc' +2024-11-30 15:24:52,471 - api.main - INFO - STDERR: import 'apkutils2.axml.chunk' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676CA3580> +2024-11-30 15:24:52,471 - api.main - INFO - STDERR: import 'apkutils2.axml.arscparser' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676C83E80> +2024-11-30 15:24:52,473 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\axmlparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\axmlparser.py +2024-11-30 15:24:52,474 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\axmlparser.cpython-39.pyc' +2024-11-30 15:24:52,476 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\public.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\public.py +2024-11-30 15:24:52,477 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\public.cpython-39.pyc' +2024-11-30 15:24:52,479 - api.main - INFO - STDERR: import 'apkutils2.axml.public' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676CB2820> +2024-11-30 15:24:52,479 - api.main - INFO - STDERR: import 'apkutils2.axml.axmlparser' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676C98A00> +2024-11-30 15:24:52,481 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__init__.py +2024-11-30 15:24:52,482 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,482 - api.main - INFO - STDERR: import 'apkutils2.dex' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676CB2910> +2024-11-30 15:24:52,483 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dexparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dexparser.py +2024-11-30 15:24:52,483 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dexparser.cpython-39.pyc' +2024-11-30 15:24:52,484 - api.main - INFO - STDERR: import 'array' # +2024-11-30 15:24:52,485 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\byteio.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\byteio.py +2024-11-30 15:24:52,485 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\byteio.cpython-39.pyc' +2024-11-30 15:24:52,486 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\util.py +2024-11-30 15:24:52,487 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\util.cpython-39.pyc' +2024-11-30 15:24:52,487 - api.main - INFO - STDERR: import 'apkutils2.dex.util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676D06EE0> +2024-11-30 15:24:52,487 - api.main - INFO - STDERR: import 'apkutils2.dex.byteio' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676D06550> +2024-11-30 15:24:52,489 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dalvik.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dalvik.py +2024-11-30 15:24:52,489 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dalvik.cpython-39.pyc' +2024-11-30 15:24:52,501 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dalvikformats.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dalvikformats.py +2024-11-30 15:24:52,502 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dalvikformats.cpython-39.pyc' +2024-11-30 15:24:52,503 - api.main - INFO - STDERR: import 'apkutils2.dex.dalvikformats' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676D12370> +2024-11-30 15:24:52,503 - api.main - INFO - STDERR: import 'apkutils2.dex.dalvik' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676D06FD0> +2024-11-30 15:24:52,503 - api.main - INFO - STDERR: import 'apkutils2.dex.dexparser' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676CB2940> +2024-11-30 15:24:52,512 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\manifest.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\manifest.py +2024-11-30 15:24:52,512 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\manifest.cpython-39.pyc' +2024-11-30 15:24:52,513 - api.main - INFO - STDERR: import 'apkutils2.manifest' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676CB2E20> +2024-11-30 15:24:52,536 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cigam\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cigam\__init__.py +2024-11-30 15:24:52,537 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\cigam\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,537 - api.main - INFO - STDERR: import 'cigam' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676D125E0> +2024-11-30 15:24:52,537 - api.main - INFO - STDERR: import 'apkutils2' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196766B8B80> +2024-11-30 15:24:52,539 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pkg_resources\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pkg_resources\__init__.py +2024-11-30 15:24:52,540 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pkg_resources\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,542 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\plistlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\plistlib.py +2024-11-30 15:24:52,542 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\plistlib.cpython-39.pyc' +2024-11-30 15:24:52,543 - api.main - INFO - STDERR: import 'plistlib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676D566D0> +2024-11-30 15:24:52,544 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\markers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\markers.py +2024-11-30 15:24:52,544 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\markers.cpython-39.pyc' +2024-11-30 15:24:52,546 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__init__.py +2024-11-30 15:24:52,546 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,547 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\util.py +2024-11-30 15:24:52,547 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\util.cpython-39.pyc' +2024-11-30 15:24:52,547 - api.main - INFO - STDERR: import 'pyparsing.util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676D6CC70> +2024-11-30 15:24:52,548 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\exceptions.py +2024-11-30 15:24:52,548 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 15:24:52,549 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\unicode.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\unicode.py +2024-11-30 15:24:52,549 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\unicode.cpython-39.pyc' +2024-11-30 15:24:52,550 - api.main - INFO - STDERR: import 'pyparsing.unicode' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676D7D910> +2024-11-30 15:24:52,552 - api.main - INFO - STDERR: import 'pyparsing.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676D77D00> +2024-11-30 15:24:52,552 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\actions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\actions.py +2024-11-30 15:24:52,553 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\actions.cpython-39.pyc' +2024-11-30 15:24:52,553 - api.main - INFO - STDERR: import 'pyparsing.actions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676D7D4F0> +2024-11-30 15:24:52,553 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\core.py +2024-11-30 15:24:52,555 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\core.cpython-39.pyc' +2024-11-30 15:24:52,557 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\results.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\results.py +2024-11-30 15:24:52,557 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\results.cpython-39.pyc' +2024-11-30 15:24:52,558 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pprint.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pprint.py +2024-11-30 15:24:52,558 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pprint.cpython-39.pyc' +2024-11-30 15:24:52,558 - api.main - INFO - STDERR: import 'pprint' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676E0C8E0> +2024-11-30 15:24:52,558 - api.main - INFO - STDERR: import 'pyparsing.results' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676E00820> +2024-11-30 15:24:52,581 - api.main - INFO - STDERR: import 'pyparsing.core' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676D9B2E0> +2024-11-30 15:24:52,582 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\helpers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\helpers.py +2024-11-30 15:24:52,582 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\helpers.cpython-39.pyc' +2024-11-30 15:24:52,583 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__init__.py +2024-11-30 15:24:52,583 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\html\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,584 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__pycache__\entities.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\entities.py +2024-11-30 15:24:52,584 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\html\\__pycache__\\entities.cpython-39.pyc' +2024-11-30 15:24:52,585 - api.main - INFO - STDERR: import 'html.entities' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676EFEC10> +2024-11-30 15:24:52,585 - api.main - INFO - STDERR: import 'html' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676EFE970> +2024-11-30 15:24:52,588 - api.main - INFO - STDERR: import 'pyparsing.helpers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676D9BF10> +2024-11-30 15:24:52,589 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\testing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\testing.py +2024-11-30 15:24:52,589 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\testing.cpython-39.pyc' +2024-11-30 15:24:52,589 - api.main - INFO - STDERR: import 'pyparsing.testing' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676F92EB0> +2024-11-30 15:24:52,589 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\common.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\common.py +2024-11-30 15:24:52,590 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\common.cpython-39.pyc' +2024-11-30 15:24:52,595 - api.main - INFO - STDERR: import 'pyparsing.common' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676FBE4C0> +2024-11-30 15:24:52,596 - api.main - INFO - STDERR: import 'pyparsing' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676D6C6D0> +2024-11-30 15:24:52,596 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_compat.py +2024-11-30 15:24:52,596 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_compat.cpython-39.pyc' +2024-11-30 15:24:52,596 - api.main - INFO - STDERR: import 'packaging._compat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676D6CEE0> +2024-11-30 15:24:52,596 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\specifiers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\specifiers.py +2024-11-30 15:24:52,597 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\specifiers.cpython-39.pyc' +2024-11-30 15:24:52,597 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\utils.py +2024-11-30 15:24:52,597 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 15:24:52,598 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\tags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\tags.py +2024-11-30 15:24:52,598 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\tags.cpython-39.pyc' +2024-11-30 15:24:52,599 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\__init__.py +2024-11-30 15:24:52,600 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,600 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__pycache__\override.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\override.py +2024-11-30 15:24:52,600 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\_distutils_hack\\__pycache__\\override.cpython-39.pyc' +2024-11-30 15:24:52,600 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__init__.py +2024-11-30 15:24:52,600 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,601 - api.main - INFO - STDERR: import 'setuptools._distutils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196770114C0> +2024-11-30 15:24:52,601 - api.main - INFO - STDERR: import 'distutils' # <_distutils_hack.DistutilsMetaFinder.spec_for_distutils..DistutilsLoader object at 0x00000196770112B0> +2024-11-30 15:24:52,601 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\core.py +2024-11-30 15:24:52,601 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\core.cpython-39.pyc' +2024-11-30 15:24:52,603 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\cmd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\cmd.py +2024-11-30 15:24:52,603 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\cmd.cpython-39.pyc' +2024-11-30 15:24:52,603 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\_modified.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\_modified.py +2024-11-30 15:24:52,603 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\_modified.cpython-39.pyc' +2024-11-30 15:24:52,604 - api.main - INFO - STDERR: # possible namespace for e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco +2024-11-30 15:24:52,604 - api.main - INFO - STDERR: import 'jaraco' # <_frozen_importlib_external._NamespaceLoader object at 0x00000196770267C0> +2024-11-30 15:24:52,605 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\functools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\functools\__init__.py +2024-11-30 15:24:52,605 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\functools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,606 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__init__.py +2024-11-30 15:24:52,606 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,606 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\more.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\more.py +2024-11-30 15:24:52,608 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\more.cpython-39.pyc' +2024-11-30 15:24:52,608 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\queue.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\queue.py +2024-11-30 15:24:52,609 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\queue.cpython-39.pyc' +2024-11-30 15:24:52,609 - api.main - INFO - STDERR: # extension module '_queue' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_queue.pyd' +2024-11-30 15:24:52,609 - api.main - INFO - STDERR: # extension module '_queue' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_queue.pyd' +2024-11-30 15:24:52,609 - api.main - INFO - STDERR: import '_queue' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001967705A9D0> +2024-11-30 15:24:52,609 - api.main - INFO - STDERR: import 'queue' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677050D00> +2024-11-30 15:24:52,611 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\recipes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\recipes.py +2024-11-30 15:24:52,611 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\recipes.cpython-39.pyc' +2024-11-30 15:24:52,611 - api.main - INFO - STDERR: import 'more_itertools.recipes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967705A940> +2024-11-30 15:24:52,611 - api.main - INFO - STDERR: import 'more_itertools.more' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967702DBE0> +2024-11-30 15:24:52,611 - api.main - INFO - STDERR: import 'more_itertools' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967702D940> +2024-11-30 15:24:52,611 - api.main - INFO - STDERR: import 'jaraco.functools' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196770269D0> +2024-11-30 15:24:52,612 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__init__.py +2024-11-30 15:24:52,612 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,613 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\py38.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\py38.py +2024-11-30 15:24:52,613 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\py38.cpython-39.pyc' +2024-11-30 15:24:52,613 - api.main - INFO - STDERR: import 'distutils.compat.py38' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677088370> +2024-11-30 15:24:52,613 - api.main - INFO - STDERR: import 'distutils.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677066FD0> +2024-11-30 15:24:52,613 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\py39.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\py39.py +2024-11-30 15:24:52,613 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\py39.cpython-39.pyc' +2024-11-30 15:24:52,648 - api.main - INFO - STDERR: import 'distutils.compat.py39' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677045DF0> +2024-11-30 15:24:52,650 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\errors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\errors.py +2024-11-30 15:24:52,650 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 15:24:52,650 - api.main - INFO - STDERR: import 'distutils.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196770884F0> +2024-11-30 15:24:52,650 - api.main - INFO - STDERR: import 'distutils._modified' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677026370> +2024-11-30 15:24:52,651 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\archive_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\archive_util.py +2024-11-30 15:24:52,651 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\archive_util.cpython-39.pyc' +2024-11-30 15:24:52,651 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\_log.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\_log.py +2024-11-30 15:24:52,651 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\_log.cpython-39.pyc' +2024-11-30 15:24:52,652 - api.main - INFO - STDERR: import 'distutils._log' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677088C40> +2024-11-30 15:24:52,652 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\dir_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\dir_util.py +2024-11-30 15:24:52,652 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\dir_util.cpython-39.pyc' +2024-11-30 15:24:52,652 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\file_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\file_util.py +2024-11-30 15:24:52,652 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\file_util.cpython-39.pyc' +2024-11-30 15:24:52,652 - api.main - INFO - STDERR: import 'distutils.file_util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677097340> +2024-11-30 15:24:52,653 - api.main - INFO - STDERR: import 'distutils.dir_util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677088CD0> +2024-11-30 15:24:52,653 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\spawn.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\spawn.py +2024-11-30 15:24:52,653 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\spawn.cpython-39.pyc' +2024-11-30 15:24:52,653 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\debug.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\debug.py +2024-11-30 15:24:52,653 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\debug.cpython-39.pyc' +2024-11-30 15:24:52,654 - api.main - INFO - STDERR: import 'distutils.debug' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196770979D0> +2024-11-30 15:24:52,654 - api.main - INFO - STDERR: import 'distutils.spawn' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677097670> +2024-11-30 15:24:52,654 - api.main - INFO - STDERR: import 'distutils.archive_util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677026610> +2024-11-30 15:24:52,655 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\util.py +2024-11-30 15:24:52,655 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\util.cpython-39.pyc' +2024-11-30 15:24:52,656 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sysconfig.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sysconfig.py +2024-11-30 15:24:52,656 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sysconfig.cpython-39.pyc' +2024-11-30 15:24:52,656 - api.main - INFO - STDERR: import 'sysconfig' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677097EB0> +2024-11-30 15:24:52,657 - api.main - INFO - STDERR: import 'distutils.util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677088640> +2024-11-30 15:24:52,657 - api.main - INFO - STDERR: import 'distutils.cmd' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677011910> +2024-11-30 15:24:52,658 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\dist.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\dist.py +2024-11-30 15:24:52,658 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\dist.cpython-39.pyc' +2024-11-30 15:24:52,658 - api.main - INFO - STDERR: # destroy distutils.dist +2024-11-30 15:24:52,658 - api.main - INFO - STDERR: # destroy distutils.core +2024-11-30 15:24:52,658 - api.main - INFO - STDERR: # destroy _distutils_hack.override +2024-11-30 15:24:52,658 - api.main - INFO - STDERR: # destroy setuptools +2024-11-30 15:24:52,659 - api.main - INFO - STDERR: import 'distutils' # <_distutils_hack.DistutilsMetaFinder.spec_for_distutils..DistutilsLoader object at 0x00000196770112B0> +2024-11-30 15:24:52,659 - api.main - INFO - STDERR: import 'packaging.tags' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676FF9550> +2024-11-30 15:24:52,659 - api.main - INFO - STDERR: import 'packaging.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676FF92B0> +2024-11-30 15:24:52,664 - api.main - INFO - STDERR: import 'packaging.specifiers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676FE5E50> +2024-11-30 15:24:52,677 - api.main - INFO - STDERR: import 'packaging.markers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676D5BB20> +2024-11-30 15:24:52,678 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\requirements.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\requirements.py +2024-11-30 15:24:52,678 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\requirements.cpython-39.pyc' +2024-11-30 15:24:52,686 - api.main - INFO - STDERR: import 'packaging.requirements' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676D5BD30> +2024-11-30 15:24:52,687 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\text\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\text\__init__.py +2024-11-30 15:24:52,687 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\text\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,688 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\resources.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\resources.py +2024-11-30 15:24:52,688 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\resources.cpython-39.pyc' +2024-11-30 15:24:52,690 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\_common.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\_common.py +2024-11-30 15:24:52,690 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\_common.cpython-39.pyc' +2024-11-30 15:24:52,690 - api.main - INFO - STDERR: import 'importlib._common' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196771014F0> +2024-11-30 15:24:52,690 - api.main - INFO - STDERR: import 'importlib.resources' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677010DF0> +2024-11-30 15:24:52,691 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\__pycache__\context.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\context.py +2024-11-30 15:24:52,692 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\__pycache__\\context.cpython-39.pyc' +2024-11-30 15:24:52,693 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\__init__.py +2024-11-30 15:24:52,693 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,694 - api.main - INFO - STDERR: import 'backports' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196771081C0> +2024-11-30 15:24:52,694 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\__init__.py +2024-11-30 15:24:52,695 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,695 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__init__.py +2024-11-30 15:24:52,696 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\compat\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,696 - api.main - INFO - STDERR: import 'backports.tarfile.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196770BE1F0> +2024-11-30 15:24:52,696 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__pycache__\py38.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\py38.py +2024-11-30 15:24:52,696 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\compat\\__pycache__\\py38.cpython-39.pyc' +2024-11-30 15:24:52,696 - api.main - INFO - STDERR: import 'backports.tarfile.compat.py38' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677010100> +2024-11-30 15:24:52,697 - api.main - INFO - STDERR: import 'backports.tarfile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677108340> +2024-11-30 15:24:52,698 - api.main - INFO - STDERR: import 'jaraco.context' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677101A30> +2024-11-30 15:24:52,709 - api.main - INFO - STDERR: import 'jaraco.text' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677011220> +2024-11-30 15:24:52,711 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__init__.py +2024-11-30 15:24:52,712 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,712 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\api.py +2024-11-30 15:24:52,712 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\api.cpython-39.pyc' +2024-11-30 15:24:52,713 - api.main - INFO - STDERR: import 'platformdirs.api' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967713C7C0> +2024-11-30 15:24:52,713 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\version.py +2024-11-30 15:24:52,714 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\version.cpython-39.pyc' +2024-11-30 15:24:52,714 - api.main - INFO - STDERR: import 'platformdirs.version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677143A30> +2024-11-30 15:24:52,714 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\windows.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\windows.py +2024-11-30 15:24:52,714 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\windows.cpython-39.pyc' +2024-11-30 15:24:52,714 - api.main - INFO - STDERR: import 'platformdirs.windows' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677143AC0> +2024-11-30 15:24:52,714 - api.main - INFO - STDERR: import 'platformdirs' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967712D790> +2024-11-30 15:24:52,748 - api.main - INFO - STDERR: import 'pkg_resources' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196766B8970> +2024-11-30 15:24:52,748 - api.main - INFO - STDERR: import 'adbutils._utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967664A520> +2024-11-30 15:24:52,749 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\errors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\errors.py +2024-11-30 15:24:52,749 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 15:24:52,749 - api.main - INFO - STDERR: import 'adbutils.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967666C670> +2024-11-30 15:24:52,750 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_proto.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_proto.py +2024-11-30 15:24:52,750 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_proto.cpython-39.pyc' +2024-11-30 15:24:52,750 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\dataclasses.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\dataclasses.py +2024-11-30 15:24:52,751 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\dataclasses.cpython-39.pyc' +2024-11-30 15:24:52,751 - api.main - INFO - STDERR: import 'dataclasses' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676D2A0D0> +2024-11-30 15:24:52,753 - api.main - INFO - STDERR: import 'adbutils._proto' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676D24520> +2024-11-30 15:24:52,753 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_version.py +2024-11-30 15:24:52,753 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 15:24:52,754 - api.main - INFO - STDERR: import 'adbutils._version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019676D24700> +2024-11-30 15:24:52,754 - api.main - INFO - STDERR: import 'adbutils._adb' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967657F370> +2024-11-30 15:24:52,754 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_device.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_device.py +2024-11-30 15:24:52,755 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_device.cpython-39.pyc' +2024-11-30 15:24:52,756 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__init__.py +2024-11-30 15:24:52,756 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,758 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__init__.py +2024-11-30 15:24:52,758 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,758 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\exceptions.py +2024-11-30 15:24:52,758 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 15:24:52,760 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__init__.py +2024-11-30 15:24:52,760 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\packages\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,760 - api.main - INFO - STDERR: import 'urllib3.packages' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196771D97C0> +2024-11-30 15:24:52,760 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__pycache__\six.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\six.py +2024-11-30 15:24:52,760 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\packages\\__pycache__\\six.cpython-39.pyc' +2024-11-30 15:24:52,761 - api.main - INFO - STDERR: import 'urllib3.packages.six' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196771D97F0> +2024-11-30 15:24:52,761 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves' # +2024-11-30 15:24:52,761 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.http_client' # +2024-11-30 15:24:52,761 - api.main - INFO - STDERR: import 'urllib3.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196771D0700> +2024-11-30 15:24:52,761 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\_version.py +2024-11-30 15:24:52,762 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 15:24:52,762 - api.main - INFO - STDERR: import 'urllib3._version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196771D08E0> +2024-11-30 15:24:52,762 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\connectionpool.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\connectionpool.py +2024-11-30 15:24:52,762 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\connectionpool.cpython-39.pyc' +2024-11-30 15:24:52,763 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\_collections.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\_collections.py +2024-11-30 15:24:52,763 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\_collections.cpython-39.pyc' +2024-11-30 15:24:52,763 - api.main - INFO - STDERR: import 'urllib3._collections' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196771E56D0> +2024-11-30 15:24:52,763 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\connection.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\connection.py +2024-11-30 15:24:52,763 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\connection.cpython-39.pyc' +2024-11-30 15:24:52,765 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__init__.py +2024-11-30 15:24:52,765 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,765 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\connection.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\connection.py +2024-11-30 15:24:52,765 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\connection.cpython-39.pyc' +2024-11-30 15:24:52,765 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__init__.py +2024-11-30 15:24:52,765 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,765 - api.main - INFO - STDERR: import 'urllib3.contrib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677204F40> +2024-11-30 15:24:52,766 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\_appengine_environ.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\_appengine_environ.py +2024-11-30 15:24:52,766 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\_appengine_environ.cpython-39.pyc' +2024-11-30 15:24:52,766 - api.main - INFO - STDERR: import 'urllib3.contrib._appengine_environ' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677210100> +2024-11-30 15:24:52,766 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\wait.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\wait.py +2024-11-30 15:24:52,766 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\wait.cpython-39.pyc' +2024-11-30 15:24:52,766 - api.main - INFO - STDERR: import 'urllib3.util.wait' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196772102B0> +2024-11-30 15:24:52,768 - api.main - INFO - STDERR: import 'urllib3.util.connection' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677204BB0> +2024-11-30 15:24:52,769 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\request.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\request.py +2024-11-30 15:24:52,769 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\request.cpython-39.pyc' +2024-11-30 15:24:52,770 - api.main - INFO - STDERR: import 'urllib3.util.request' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677204D90> +2024-11-30 15:24:52,770 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\response.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\response.py +2024-11-30 15:24:52,770 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\response.cpython-39.pyc' +2024-11-30 15:24:52,770 - api.main - INFO - STDERR: import 'urllib3.util.response' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196772106D0> +2024-11-30 15:24:52,770 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\retry.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\retry.py +2024-11-30 15:24:52,771 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\retry.cpython-39.pyc' +2024-11-30 15:24:52,771 - api.main - INFO - STDERR: import 'urllib3.util.retry' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196772107C0> +2024-11-30 15:24:52,771 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssl_.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssl_.py +2024-11-30 15:24:52,771 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssl_.cpython-39.pyc' +2024-11-30 15:24:52,772 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\hmac.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\hmac.py +2024-11-30 15:24:52,772 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\hmac.cpython-39.pyc' +2024-11-30 15:24:52,773 - api.main - INFO - STDERR: import 'hmac' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967721B9A0> +2024-11-30 15:24:52,773 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\url.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\url.py +2024-11-30 15:24:52,773 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\url.cpython-39.pyc' +2024-11-30 15:24:52,783 - api.main - INFO - STDERR: import 'urllib3.util.url' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967722B1F0> +2024-11-30 15:24:52,784 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssltransport.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssltransport.py +2024-11-30 15:24:52,784 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssltransport.cpython-39.pyc' +2024-11-30 15:24:52,784 - api.main - INFO - STDERR: import 'urllib3.util.ssltransport' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967722BDC0> +2024-11-30 15:24:52,784 - api.main - INFO - STDERR: import 'urllib3.util.ssl_' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967721B4F0> +2024-11-30 15:24:52,785 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\timeout.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\timeout.py +2024-11-30 15:24:52,785 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\timeout.cpython-39.pyc' +2024-11-30 15:24:52,785 - api.main - INFO - STDERR: import 'urllib3.util.timeout' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967721B790> +2024-11-30 15:24:52,785 - api.main - INFO - STDERR: import 'urllib3.util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196772048B0> +2024-11-30 15:24:52,785 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\proxy.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\proxy.py +2024-11-30 15:24:52,785 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\proxy.cpython-39.pyc' +2024-11-30 15:24:52,785 - api.main - INFO - STDERR: import 'urllib3.util.proxy' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677204910> +2024-11-30 15:24:52,786 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssl_match_hostname.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssl_match_hostname.py +2024-11-30 15:24:52,786 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssl_match_hostname.cpython-39.pyc' +2024-11-30 15:24:52,786 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ipaddress.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ipaddress.py +2024-11-30 15:24:52,787 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ipaddress.cpython-39.pyc' +2024-11-30 15:24:52,787 - api.main - INFO - STDERR: import 'ipaddress' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196772418B0> +2024-11-30 15:24:52,787 - api.main - INFO - STDERR: import 'urllib3.util.ssl_match_hostname' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677204610> +2024-11-30 15:24:52,788 - api.main - INFO - STDERR: import 'urllib3.connection' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196771F4F70> +2024-11-30 15:24:52,788 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\request.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\request.py +2024-11-30 15:24:52,788 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\request.cpython-39.pyc' +2024-11-30 15:24:52,789 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\filepost.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\filepost.py +2024-11-30 15:24:52,789 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\filepost.cpython-39.pyc' +2024-11-30 15:24:52,789 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\fields.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\fields.py +2024-11-30 15:24:52,789 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\fields.cpython-39.pyc' +2024-11-30 15:24:52,791 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\mimetypes.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\mimetypes.py +2024-11-30 15:24:52,791 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\mimetypes.cpython-39.pyc' +2024-11-30 15:24:52,791 - api.main - INFO - STDERR: import 'mimetypes' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677279250> +2024-11-30 15:24:52,792 - api.main - INFO - STDERR: import 'urllib3.fields' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677276C70> +2024-11-30 15:24:52,792 - api.main - INFO - STDERR: import 'urllib3.filepost' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677276850> +2024-11-30 15:24:52,792 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.urllib' # +2024-11-30 15:24:52,792 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.urllib.parse' # +2024-11-30 15:24:52,792 - api.main - INFO - STDERR: import 'urllib3.request' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196771F4FD0> +2024-11-30 15:24:52,793 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\response.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\response.py +2024-11-30 15:24:52,793 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\response.cpython-39.pyc' +2024-11-30 15:24:52,794 - api.main - INFO - STDERR: import 'urllib3.response' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677250F10> +2024-11-30 15:24:52,795 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\queue.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\queue.py +2024-11-30 15:24:52,795 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\queue.cpython-39.pyc' +2024-11-30 15:24:52,795 - api.main - INFO - STDERR: import 'urllib3.util.queue' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196772796A0> +2024-11-30 15:24:52,795 - api.main - INFO - STDERR: import 'urllib3.connectionpool' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196771D0A30> +2024-11-30 15:24:52,796 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\poolmanager.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\poolmanager.py +2024-11-30 15:24:52,796 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\poolmanager.cpython-39.pyc' +2024-11-30 15:24:52,796 - api.main - INFO - STDERR: import 'urllib3.poolmanager' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967728A220> +2024-11-30 15:24:52,797 - api.main - INFO - STDERR: import 'urllib3' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196771D01C0> +2024-11-30 15:24:52,797 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\exceptions.py +2024-11-30 15:24:52,797 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 15:24:52,798 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\compat.py +2024-11-30 15:24:52,798 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\compat.cpython-39.pyc' +2024-11-30 15:24:52,799 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__init__.py +2024-11-30 15:24:52,799 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,800 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\api.py +2024-11-30 15:24:52,800 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\api.cpython-39.pyc' +2024-11-30 15:24:52,800 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\cd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\cd.py +2024-11-30 15:24:52,800 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\cd.cpython-39.pyc' +2024-11-30 15:24:52,801 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\constant.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\constant.py +2024-11-30 15:24:52,801 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\constant.cpython-39.pyc' +2024-11-30 15:24:52,802 - api.main - INFO - STDERR: import 'charset_normalizer.constant' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196772A5700> +2024-11-30 15:24:52,849 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md__mypyc' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md__mypyc.cp39-win_amd64.pyd' +2024-11-30 15:24:52,849 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md__mypyc' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md__mypyc.cp39-win_amd64.pyd' +2024-11-30 15:24:52,849 - api.main - INFO - STDERR: import 'charset_normalizer.md__mypyc' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000196772C9DF0> +2024-11-30 15:24:52,850 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\utils.py +2024-11-30 15:24:52,850 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 15:24:52,852 - api.main - INFO - STDERR: # extension module 'unicodedata' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\unicodedata.pyd' +2024-11-30 15:24:52,852 - api.main - INFO - STDERR: # extension module 'unicodedata' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\unicodedata.pyd' +2024-11-30 15:24:52,852 - api.main - INFO - STDERR: import 'unicodedata' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000196772CF6A0> +2024-11-30 15:24:52,852 - api.main - INFO - STDERR: import '_multibytecodec' # +2024-11-30 15:24:52,852 - api.main - INFO - STDERR: import 'charset_normalizer.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196772C9B20> +2024-11-30 15:24:52,852 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md.cp39-win_amd64.pyd' +2024-11-30 15:24:52,852 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md.cp39-win_amd64.pyd' +2024-11-30 15:24:52,852 - api.main - INFO - STDERR: import 'charset_normalizer.md' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000196772C9B50> +2024-11-30 15:24:52,852 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\models.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\models.py +2024-11-30 15:24:52,852 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\models.cpython-39.pyc' +2024-11-30 15:24:52,853 - api.main - INFO - STDERR: import 'charset_normalizer.models' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196772CFF10> +2024-11-30 15:24:52,853 - api.main - INFO - STDERR: import 'charset_normalizer.cd' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967728A730> +2024-11-30 15:24:52,853 - api.main - INFO - STDERR: import 'charset_normalizer.api' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967728AA90> +2024-11-30 15:24:52,855 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\legacy.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\legacy.py +2024-11-30 15:24:52,855 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\legacy.cpython-39.pyc' +2024-11-30 15:24:52,855 - api.main - INFO - STDERR: import 'charset_normalizer.legacy' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196772E22B0> +2024-11-30 15:24:52,855 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\version.py +2024-11-30 15:24:52,855 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\version.cpython-39.pyc' +2024-11-30 15:24:52,856 - api.main - INFO - STDERR: import 'charset_normalizer.version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196772E2340> +2024-11-30 15:24:52,856 - api.main - INFO - STDERR: import 'charset_normalizer' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967728AD30> +2024-11-30 15:24:52,856 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\cookiejar.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\cookiejar.py +2024-11-30 15:24:52,857 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\cookiejar.cpython-39.pyc' +2024-11-30 15:24:52,861 - api.main - INFO - STDERR: import 'http.cookiejar' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196772E2370> +2024-11-30 15:24:52,862 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\cookies.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\cookies.py +2024-11-30 15:24:52,862 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\cookies.cpython-39.pyc' +2024-11-30 15:24:52,863 - api.main - INFO - STDERR: import 'http.cookies' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196772E2EE0> +2024-11-30 15:24:52,863 - api.main - INFO - STDERR: import 'requests.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967728AF70> +2024-11-30 15:24:52,863 - api.main - INFO - STDERR: import 'requests.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196772963A0> +2024-11-30 15:24:52,865 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\packages.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\packages.py +2024-11-30 15:24:52,865 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\packages.cpython-39.pyc' +2024-11-30 15:24:52,867 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__init__.py +2024-11-30 15:24:52,867 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,868 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\core.py +2024-11-30 15:24:52,868 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\core.cpython-39.pyc' +2024-11-30 15:24:52,869 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\idnadata.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\idnadata.py +2024-11-30 15:24:52,869 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\idnadata.cpython-39.pyc' +2024-11-30 15:24:52,869 - api.main - INFO - STDERR: import 'idna.idnadata' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196773547C0> +2024-11-30 15:24:52,869 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\intranges.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\intranges.py +2024-11-30 15:24:52,870 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\intranges.cpython-39.pyc' +2024-11-30 15:24:52,870 - api.main - INFO - STDERR: import 'idna.intranges' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677354850> +2024-11-30 15:24:52,870 - api.main - INFO - STDERR: import 'idna.core' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196773361C0> +2024-11-30 15:24:52,871 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\package_data.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\package_data.py +2024-11-30 15:24:52,871 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\package_data.cpython-39.pyc' +2024-11-30 15:24:52,871 - api.main - INFO - STDERR: import 'idna.package_data' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196773544F0> +2024-11-30 15:24:52,871 - api.main - INFO - STDERR: import 'idna' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677296070> +2024-11-30 15:24:52,871 - api.main - INFO - STDERR: import 'requests.packages' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677296580> +2024-11-30 15:24:52,871 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\utils.py +2024-11-30 15:24:52,871 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 15:24:52,872 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\certs.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\certs.py +2024-11-30 15:24:52,872 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\certs.cpython-39.pyc' +2024-11-30 15:24:52,873 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__init__.py +2024-11-30 15:24:52,873 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\certifi\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,874 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\core.py +2024-11-30 15:24:52,874 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\certifi\\__pycache__\\core.cpython-39.pyc' +2024-11-30 15:24:52,874 - api.main - INFO - STDERR: import 'certifi.core' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967737F730> +2024-11-30 15:24:52,874 - api.main - INFO - STDERR: import 'certifi' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967737F4C0> +2024-11-30 15:24:52,875 - api.main - INFO - STDERR: import 'requests.certs' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967737F2B0> +2024-11-30 15:24:52,875 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\__version__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__version__.py +2024-11-30 15:24:52,875 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\__version__.cpython-39.pyc' +2024-11-30 15:24:52,875 - api.main - INFO - STDERR: import 'requests.__version__' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967737F430> +2024-11-30 15:24:52,876 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\_internal_utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\_internal_utils.py +2024-11-30 15:24:52,876 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\_internal_utils.cpython-39.pyc' +2024-11-30 15:24:52,876 - api.main - INFO - STDERR: import 'requests._internal_utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967737F340> +2024-11-30 15:24:52,876 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\cookies.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\cookies.py +2024-11-30 15:24:52,877 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\cookies.cpython-39.pyc' +2024-11-30 15:24:52,877 - api.main - INFO - STDERR: import 'requests.cookies' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967737F550> +2024-11-30 15:24:52,877 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\structures.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\structures.py +2024-11-30 15:24:52,877 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\structures.cpython-39.pyc' +2024-11-30 15:24:52,877 - api.main - INFO - STDERR: import 'requests.structures' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677391940> +2024-11-30 15:24:52,877 - api.main - INFO - STDERR: import 'requests.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196772967C0> +2024-11-30 15:24:52,878 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\api.py +2024-11-30 15:24:52,878 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\api.cpython-39.pyc' +2024-11-30 15:24:52,878 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\sessions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\sessions.py +2024-11-30 15:24:52,879 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\sessions.cpython-39.pyc' +2024-11-30 15:24:52,879 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\adapters.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\adapters.py +2024-11-30 15:24:52,879 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\adapters.cpython-39.pyc' +2024-11-30 15:24:52,879 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\auth.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\auth.py +2024-11-30 15:24:52,880 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\auth.cpython-39.pyc' +2024-11-30 15:24:52,880 - api.main - INFO - STDERR: import 'requests.auth' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196773A9730> +2024-11-30 15:24:52,880 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\models.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\models.py +2024-11-30 15:24:52,880 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\models.cpython-39.pyc' +2024-11-30 15:24:52,881 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\idna.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\idna.py +2024-11-30 15:24:52,881 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\idna.cpython-39.pyc' +2024-11-30 15:24:52,882 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\stringprep.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\stringprep.py +2024-11-30 15:24:52,882 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\stringprep.cpython-39.pyc' +2024-11-30 15:24:52,882 - api.main - INFO - STDERR: import 'stringprep' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196773C6160> +2024-11-30 15:24:52,882 - api.main - INFO - STDERR: import 'encodings.idna' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196773B8CD0> +2024-11-30 15:24:52,883 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\hooks.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\hooks.py +2024-11-30 15:24:52,883 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\hooks.cpython-39.pyc' +2024-11-30 15:24:52,883 - api.main - INFO - STDERR: import 'requests.hooks' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196773B8EE0> +2024-11-30 15:24:52,883 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\status_codes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\status_codes.py +2024-11-30 15:24:52,883 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\status_codes.cpython-39.pyc' +2024-11-30 15:24:52,884 - api.main - INFO - STDERR: import 'requests.status_codes' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196773B8F70> +2024-11-30 15:24:52,884 - api.main - INFO - STDERR: import 'requests.models' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196773A9DF0> +2024-11-30 15:24:52,884 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\socks.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\socks.py +2024-11-30 15:24:52,884 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\socks.cpython-39.pyc' +2024-11-30 15:24:52,885 - api.main - INFO - STDERR: # destroy urllib3.contrib.socks +2024-11-30 15:24:52,885 - api.main - INFO - STDERR: import 'requests.adapters' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967739DE20> +2024-11-30 15:24:52,886 - api.main - INFO - STDERR: import 'requests.sessions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967739D3D0> +2024-11-30 15:24:52,886 - api.main - INFO - STDERR: import 'requests.api' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677391F70> +2024-11-30 15:24:52,886 - api.main - INFO - STDERR: import 'requests' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196771BFE80> +2024-11-30 15:24:52,887 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__init__.py +2024-11-30 15:24:52,887 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,887 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_version.py +2024-11-30 15:24:52,887 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 15:24:52,887 - api.main - INFO - STDERR: import 'PIL._version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196773A9550> +2024-11-30 15:24:52,887 - api.main - INFO - STDERR: import 'PIL' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967739D1F0> +2024-11-30 15:24:52,887 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\Image.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\Image.py +2024-11-30 15:24:52,889 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\Image.cpython-39.pyc' +2024-11-30 15:24:52,891 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\ExifTags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\ExifTags.py +2024-11-30 15:24:52,891 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\ExifTags.cpython-39.pyc' +2024-11-30 15:24:52,898 - api.main - INFO - STDERR: import 'PIL.ExifTags' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677409880> +2024-11-30 15:24:52,899 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\ImageMode.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\ImageMode.py +2024-11-30 15:24:52,899 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\ImageMode.cpython-39.pyc' +2024-11-30 15:24:52,899 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_deprecate.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_deprecate.py +2024-11-30 15:24:52,899 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_deprecate.cpython-39.pyc' +2024-11-30 15:24:52,900 - api.main - INFO - STDERR: import 'PIL._deprecate' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677424DF0> +2024-11-30 15:24:52,900 - api.main - INFO - STDERR: import 'PIL.ImageMode' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196774098B0> +2024-11-30 15:24:52,900 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\TiffTags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\TiffTags.py +2024-11-30 15:24:52,901 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\TiffTags.cpython-39.pyc' +2024-11-30 15:24:52,901 - api.main - INFO - STDERR: import 'PIL.TiffTags' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967742A9A0> +2024-11-30 15:24:52,902 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_binary.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_binary.py +2024-11-30 15:24:52,902 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_binary.cpython-39.pyc' +2024-11-30 15:24:52,902 - api.main - INFO - STDERR: import 'PIL._binary' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967742AE80> +2024-11-30 15:24:52,903 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_util.py +2024-11-30 15:24:52,903 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_util.cpython-39.pyc' +2024-11-30 15:24:52,903 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_typing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_typing.py +2024-11-30 15:24:52,903 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_typing.cpython-39.pyc' +2024-11-30 15:24:52,904 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\typing_extensions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\typing_extensions.py +2024-11-30 15:24:52,905 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\typing_extensions.cpython-39.pyc' +2024-11-30 15:24:52,906 - api.main - INFO - STDERR: import 'typing_extensions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967743FC10> +2024-11-30 15:24:52,907 - api.main - INFO - STDERR: import 'PIL._typing' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967743F790> +2024-11-30 15:24:52,907 - api.main - INFO - STDERR: import 'PIL._util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967743F340> +2024-11-30 15:24:52,943 - api.main - INFO - STDERR: # extension module 'PIL._imaging' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\_imaging.cp39-win_amd64.pyd' +2024-11-30 15:24:52,944 - api.main - INFO - STDERR: # extension module 'PIL._imaging' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\_imaging.cp39-win_amd64.pyd' +2024-11-30 15:24:52,944 - api.main - INFO - STDERR: import 'PIL._imaging' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001967743FE20> +2024-11-30 15:24:52,944 - api.main - INFO - STDERR: import 'PIL.Image' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967739DBE0> +2024-11-30 15:24:52,946 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__init__.py +2024-11-30 15:24:52,946 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,948 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py +2024-11-30 15:24:52,948 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\api.cpython-39.pyc' +2024-11-30 15:24:52,949 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\compat.py +2024-11-30 15:24:52,949 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\compat.cpython-39.pyc' +2024-11-30 15:24:52,949 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\decorator.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\decorator.py +2024-11-30 15:24:52,950 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\decorator.cpython-39.pyc' +2024-11-30 15:24:52,950 - api.main - INFO - STDERR: import 'decorator' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967745B9D0> +2024-11-30 15:24:52,950 - api.main - INFO - STDERR: import 'retry.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967745B130> +2024-11-30 15:24:52,950 - api.main - INFO - STDERR: import 'retry.api' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677454520> +2024-11-30 15:24:52,950 - api.main - INFO - STDERR: import 'retry' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967739D160> +2024-11-30 15:24:52,951 - api.main - INFO - STDERR: import 'adbutils._device' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196771A9130> +2024-11-30 15:24:52,951 - api.main - INFO - STDERR: import 'adbutils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196765D8D00> +2024-11-30 15:24:52,952 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__init__.py +2024-11-30 15:24:52,952 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,953 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_api.py +2024-11-30 15:24:52,953 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_api.cpython-39.pyc' +2024-11-30 15:24:52,954 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_error.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_error.py +2024-11-30 15:24:52,954 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_error.cpython-39.pyc' +2024-11-30 15:24:52,954 - api.main - INFO - STDERR: import 'filelock._error' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677613190> +2024-11-30 15:24:52,955 - api.main - INFO - STDERR: import 'filelock._api' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196775F9790> +2024-11-30 15:24:52,955 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_soft.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_soft.py +2024-11-30 15:24:52,955 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_soft.cpython-39.pyc' +2024-11-30 15:24:52,956 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_util.py +2024-11-30 15:24:52,956 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_util.cpython-39.pyc' +2024-11-30 15:24:52,956 - api.main - INFO - STDERR: import 'filelock._util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677613FD0> +2024-11-30 15:24:52,956 - api.main - INFO - STDERR: import 'filelock._soft' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677613550> +2024-11-30 15:24:52,957 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_unix.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_unix.py +2024-11-30 15:24:52,957 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_unix.cpython-39.pyc' +2024-11-30 15:24:52,957 - api.main - INFO - STDERR: import 'filelock._unix' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677613F10> +2024-11-30 15:24:52,958 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_windows.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_windows.py +2024-11-30 15:24:52,958 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_windows.cpython-39.pyc' +2024-11-30 15:24:52,958 - api.main - INFO - STDERR: import 'filelock._windows' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677613910> +2024-11-30 15:24:52,958 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\asyncio.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\asyncio.py +2024-11-30 15:24:52,958 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\asyncio.cpython-39.pyc' +2024-11-30 15:24:52,959 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__init__.py +2024-11-30 15:24:52,959 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,960 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_events.py +2024-11-30 15:24:52,960 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_events.cpython-39.pyc' +2024-11-30 15:24:52,962 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\__init__.py +2024-11-30 15:24:52,962 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,962 - api.main - INFO - STDERR: import 'concurrent' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967763E760> +2024-11-30 15:24:52,962 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__init__.py +2024-11-30 15:24:52,962 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\futures\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,963 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__pycache__\_base.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\_base.py +2024-11-30 15:24:52,963 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\futures\\__pycache__\\_base.cpython-39.pyc' +2024-11-30 15:24:52,963 - api.main - INFO - STDERR: import 'concurrent.futures._base' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967763EA60> +2024-11-30 15:24:52,963 - api.main - INFO - STDERR: import 'concurrent.futures' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967763E790> +2024-11-30 15:24:52,964 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\constants.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\constants.py +2024-11-30 15:24:52,965 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\constants.cpython-39.pyc' +2024-11-30 15:24:52,965 - api.main - INFO - STDERR: import 'asyncio.constants' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967763E850> +2024-11-30 15:24:52,965 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\coroutines.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\coroutines.py +2024-11-30 15:24:52,965 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\coroutines.cpython-39.pyc' +2024-11-30 15:24:52,966 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_futures.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_futures.py +2024-11-30 15:24:52,966 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_futures.cpython-39.pyc' +2024-11-30 15:24:52,967 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\format_helpers.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\format_helpers.py +2024-11-30 15:24:52,967 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\format_helpers.cpython-39.pyc' +2024-11-30 15:24:52,967 - api.main - INFO - STDERR: import 'asyncio.format_helpers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967764FD00> +2024-11-30 15:24:52,967 - api.main - INFO - STDERR: import 'asyncio.base_futures' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967764F9A0> +2024-11-30 15:24:52,968 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\log.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\log.py +2024-11-30 15:24:52,968 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\log.cpython-39.pyc' +2024-11-30 15:24:52,968 - api.main - INFO - STDERR: import 'asyncio.log' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967764FD30> +2024-11-30 15:24:52,968 - api.main - INFO - STDERR: import 'asyncio.coroutines' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967763E5E0> +2024-11-30 15:24:52,969 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\events.py +2024-11-30 15:24:52,969 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\events.cpython-39.pyc' +2024-11-30 15:24:52,970 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\contextvars.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\contextvars.py +2024-11-30 15:24:52,970 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\contextvars.cpython-39.pyc' +2024-11-30 15:24:52,970 - api.main - INFO - STDERR: import '_contextvars' # +2024-11-30 15:24:52,970 - api.main - INFO - STDERR: import 'contextvars' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967766D160> +2024-11-30 15:24:52,973 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\exceptions.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\exceptions.py +2024-11-30 15:24:52,973 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 15:24:52,973 - api.main - INFO - STDERR: import 'asyncio.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967766D730> +2024-11-30 15:24:52,973 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_tasks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_tasks.py +2024-11-30 15:24:52,973 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_tasks.cpython-39.pyc' +2024-11-30 15:24:52,973 - api.main - INFO - STDERR: import 'asyncio.base_tasks' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967766DB80> +2024-11-30 15:24:52,973 - api.main - INFO - STDERR: # extension module '_asyncio' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_asyncio.pyd' +2024-11-30 15:24:52,973 - api.main - INFO - STDERR: # extension module '_asyncio' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_asyncio.pyd' +2024-11-30 15:24:52,974 - api.main - INFO - STDERR: import '_asyncio' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001967766D4F0> +2024-11-30 15:24:52,974 - api.main - INFO - STDERR: import 'asyncio.events' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967764F790> +2024-11-30 15:24:52,975 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\futures.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\futures.py +2024-11-30 15:24:52,975 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\futures.cpython-39.pyc' +2024-11-30 15:24:52,975 - api.main - INFO - STDERR: import 'asyncio.futures' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967766D310> +2024-11-30 15:24:52,976 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\protocols.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\protocols.py +2024-11-30 15:24:52,976 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\protocols.cpython-39.pyc' +2024-11-30 15:24:52,976 - api.main - INFO - STDERR: import 'asyncio.protocols' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967767F280> +2024-11-30 15:24:52,977 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\sslproto.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\sslproto.py +2024-11-30 15:24:52,977 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\sslproto.cpython-39.pyc' +2024-11-30 15:24:52,977 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\transports.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\transports.py +2024-11-30 15:24:52,977 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\transports.cpython-39.pyc' +2024-11-30 15:24:52,977 - api.main - INFO - STDERR: import 'asyncio.transports' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677688940> +2024-11-30 15:24:52,978 - api.main - INFO - STDERR: import 'asyncio.sslproto' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967767F910> +2024-11-30 15:24:52,978 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\staggered.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\staggered.py +2024-11-30 15:24:52,978 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\staggered.cpython-39.pyc' +2024-11-30 15:24:52,979 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\locks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\locks.py +2024-11-30 15:24:52,979 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\locks.cpython-39.pyc' +2024-11-30 15:24:52,979 - api.main - INFO - STDERR: import 'asyncio.locks' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196776A5940> +2024-11-30 15:24:52,979 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\tasks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\tasks.py +2024-11-30 15:24:52,979 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\tasks.cpython-39.pyc' +2024-11-30 15:24:52,980 - api.main - INFO - STDERR: import 'asyncio.tasks' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196776B14C0> +2024-11-30 15:24:52,980 - api.main - INFO - STDERR: import 'asyncio.staggered' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677688700> +2024-11-30 15:24:52,980 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\trsock.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\trsock.py +2024-11-30 15:24:52,980 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\trsock.cpython-39.pyc' +2024-11-30 15:24:52,980 - api.main - INFO - STDERR: import 'asyncio.trsock' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196776BB790> +2024-11-30 15:24:52,980 - api.main - INFO - STDERR: import 'asyncio.base_events' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196776163A0> +2024-11-30 15:24:52,981 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\runners.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\runners.py +2024-11-30 15:24:52,981 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\runners.cpython-39.pyc' +2024-11-30 15:24:52,982 - api.main - INFO - STDERR: import 'asyncio.runners' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967763E4F0> +2024-11-30 15:24:52,982 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\queues.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\queues.py +2024-11-30 15:24:52,982 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\queues.cpython-39.pyc' +2024-11-30 15:24:52,982 - api.main - INFO - STDERR: import 'asyncio.queues' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967763E3A0> +2024-11-30 15:24:52,982 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\streams.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\streams.py +2024-11-30 15:24:52,983 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\streams.cpython-39.pyc' +2024-11-30 15:24:52,983 - api.main - INFO - STDERR: import 'asyncio.streams' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196776C4850> +2024-11-30 15:24:52,983 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\subprocess.py +2024-11-30 15:24:52,983 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\subprocess.cpython-39.pyc' +2024-11-30 15:24:52,983 - api.main - INFO - STDERR: import 'asyncio.subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196776DB670> +2024-11-30 15:24:52,984 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\threads.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\threads.py +2024-11-30 15:24:52,984 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\threads.cpython-39.pyc' +2024-11-30 15:24:52,984 - api.main - INFO - STDERR: import 'asyncio.threads' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196776DBC10> +2024-11-30 15:24:52,984 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\windows_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\windows_events.py +2024-11-30 15:24:52,985 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\windows_events.cpython-39.pyc' +2024-11-30 15:24:52,986 - api.main - INFO - STDERR: # extension module '_overlapped' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_overlapped.pyd' +2024-11-30 15:24:52,986 - api.main - INFO - STDERR: # extension module '_overlapped' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_overlapped.pyd' +2024-11-30 15:24:52,986 - api.main - INFO - STDERR: import '_overlapped' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000196776F61C0> +2024-11-30 15:24:52,986 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_subprocess.py +2024-11-30 15:24:52,987 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_subprocess.cpython-39.pyc' +2024-11-30 15:24:52,987 - api.main - INFO - STDERR: import 'asyncio.base_subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196776F6310> +2024-11-30 15:24:52,987 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\proactor_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\proactor_events.py +2024-11-30 15:24:52,987 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\proactor_events.cpython-39.pyc' +2024-11-30 15:24:52,987 - api.main - INFO - STDERR: import 'asyncio.proactor_events' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196776F6D90> +2024-11-30 15:24:52,988 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\selector_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\selector_events.py +2024-11-30 15:24:52,989 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\selector_events.cpython-39.pyc' +2024-11-30 15:24:52,989 - api.main - INFO - STDERR: import 'asyncio.selector_events' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677711490> +2024-11-30 15:24:52,989 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\windows_utils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\windows_utils.py +2024-11-30 15:24:52,990 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\windows_utils.cpython-39.pyc' +2024-11-30 15:24:52,990 - api.main - INFO - STDERR: import 'asyncio.windows_utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677732580> +2024-11-30 15:24:52,991 - api.main - INFO - STDERR: import 'asyncio.windows_events' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196776DBCD0> +2024-11-30 15:24:52,991 - api.main - INFO - STDERR: import 'asyncio' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196776162E0> +2024-11-30 15:24:52,991 - api.main - INFO - STDERR: import 'filelock.asyncio' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677613AC0> +2024-11-30 15:24:52,992 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\version.py +2024-11-30 15:24:52,992 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\version.cpython-39.pyc' +2024-11-30 15:24:52,992 - api.main - INFO - STDERR: import 'filelock.version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677740B20> +2024-11-30 15:24:52,992 - api.main - INFO - STDERR: import 'filelock' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196775F95B0> +2024-11-30 15:24:52,993 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__init__.py +2024-11-30 15:24:52,993 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:52,994 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\colors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\colors.py +2024-11-30 15:24:52,994 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\colors.cpython-39.pyc' +2024-11-30 15:24:52,994 - api.main - INFO - STDERR: import 'logzero.colors' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196777409A0> +2024-11-30 15:24:52,994 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\jsonlogger.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\jsonlogger.py +2024-11-30 15:24:52,994 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\jsonlogger.cpython-39.pyc' +2024-11-30 15:24:52,994 - api.main - INFO - STDERR: import 'logzero.jsonlogger' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677740250> +2024-11-30 15:24:52,996 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__pycache__\handlers.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\handlers.py +2024-11-30 15:24:52,996 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\logging\\__pycache__\\handlers.cpython-39.pyc' +2024-11-30 15:24:52,996 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pickle.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pickle.py +2024-11-30 15:24:52,997 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pickle.cpython-39.pyc' +2024-11-30 15:24:52,997 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_compat_pickle.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_compat_pickle.py +2024-11-30 15:24:52,998 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_compat_pickle.cpython-39.pyc' +2024-11-30 15:24:52,998 - api.main - INFO - STDERR: import '_compat_pickle' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196777796D0> +2024-11-30 15:24:52,998 - api.main - INFO - STDERR: import '_pickle' # +2024-11-30 15:24:52,999 - api.main - INFO - STDERR: import 'pickle' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677759BE0> +2024-11-30 15:24:52,999 - api.main - INFO - STDERR: import 'logging.handlers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677732D00> +2024-11-30 15:24:53,000 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\curses\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\curses\__init__.py +2024-11-30 15:24:53,000 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\curses\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:53,001 - api.main - INFO - STDERR: # destroy curses +2024-11-30 15:24:53,001 - api.main - INFO - STDERR: import 'logzero' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677613A90> +2024-11-30 15:24:53,002 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\six.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\six.py +2024-11-30 15:24:53,002 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\six.cpython-39.pyc' +2024-11-30 15:24:53,002 - api.main - INFO - STDERR: import 'six' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677759D30> +2024-11-30 15:24:53,002 - api.main - INFO - STDERR: import 'six.moves' # +2024-11-30 15:24:53,002 - api.main - INFO - STDERR: import 'six.moves.urllib' # +2024-11-30 15:24:53,003 - api.main - INFO - STDERR: import 'six.moves.urllib.parse' # +2024-11-30 15:24:53,003 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\cached_property.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cached_property.py +2024-11-30 15:24:53,003 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\cached_property.cpython-39.pyc' +2024-11-30 15:24:53,003 - api.main - INFO - STDERR: import 'cached_property' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677779F10> +2024-11-30 15:24:53,004 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__init__.py +2024-11-30 15:24:53,004 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\deprecated\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:53,004 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__pycache__\classic.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\classic.py +2024-11-30 15:24:53,005 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\deprecated\\__pycache__\\classic.cpython-39.pyc' +2024-11-30 15:24:53,005 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__init__.py +2024-11-30 15:24:53,005 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:53,006 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\__wrapt__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__wrapt__.py +2024-11-30 15:24:53,007 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\__wrapt__.cpython-39.pyc' +2024-11-30 15:24:53,008 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\wrappers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\wrappers.py +2024-11-30 15:24:53,008 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\wrappers.cpython-39.pyc' +2024-11-30 15:24:53,009 - api.main - INFO - STDERR: import 'wrapt.wrappers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196777A69A0> +2024-11-30 15:24:53,031 - api.main - INFO - STDERR: # extension module 'wrapt._wrappers' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\_wrappers.cp39-win_amd64.pyd' +2024-11-30 15:24:53,031 - api.main - INFO - STDERR: # extension module 'wrapt._wrappers' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\_wrappers.cp39-win_amd64.pyd' +2024-11-30 15:24:53,031 - api.main - INFO - STDERR: import 'wrapt._wrappers' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000196777BBA00> +2024-11-30 15:24:53,031 - api.main - INFO - STDERR: import 'wrapt.__wrapt__' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196777A6B20> +2024-11-30 15:24:53,031 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\patches.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\patches.py +2024-11-30 15:24:53,031 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\patches.cpython-39.pyc' +2024-11-30 15:24:53,032 - api.main - INFO - STDERR: import 'wrapt.patches' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196777A6C10> +2024-11-30 15:24:53,032 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\weakrefs.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\weakrefs.py +2024-11-30 15:24:53,032 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\weakrefs.cpython-39.pyc' +2024-11-30 15:24:53,032 - api.main - INFO - STDERR: import 'wrapt.weakrefs' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196777BBF70> +2024-11-30 15:24:53,033 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\decorators.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\decorators.py +2024-11-30 15:24:53,033 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\decorators.cpython-39.pyc' +2024-11-30 15:24:53,033 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\arguments.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\arguments.py +2024-11-30 15:24:53,033 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\arguments.cpython-39.pyc' +2024-11-30 15:24:53,033 - api.main - INFO - STDERR: import 'wrapt.arguments' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196777CEFA0> +2024-11-30 15:24:53,033 - api.main - INFO - STDERR: import 'wrapt.decorators' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196777CE250> +2024-11-30 15:24:53,034 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\importer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\importer.py +2024-11-30 15:24:53,034 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\importer.cpython-39.pyc' +2024-11-30 15:24:53,034 - api.main - INFO - STDERR: import 'wrapt.importer' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196777D5280> +2024-11-30 15:24:53,034 - api.main - INFO - STDERR: import 'wrapt' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196777A6FA0> +2024-11-30 15:24:53,034 - api.main - INFO - STDERR: import 'deprecated.classic' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677796BE0> +2024-11-30 15:24:53,034 - api.main - INFO - STDERR: import 'deprecated' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677796700> +2024-11-30 15:24:53,034 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\xpath.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\xpath.py +2024-11-30 15:24:53,035 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\xpath.cpython-39.pyc' +2024-11-30 15:24:53,036 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\_proto.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_proto.py +2024-11-30 15:24:53,036 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\_proto.cpython-39.pyc' +2024-11-30 15:24:53,036 - api.main - INFO - STDERR: import 'uiautomator2._proto' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196777ED910> +2024-11-30 15:24:53,036 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\abcd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\abcd.py +2024-11-30 15:24:53,036 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\abcd.cpython-39.pyc' +2024-11-30 15:24:53,037 - api.main - INFO - STDERR: import 'uiautomator2.abcd' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196777EDA60> +2024-11-30 15:24:53,037 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\exceptions.py +2024-11-30 15:24:53,037 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 15:24:53,037 - api.main - INFO - STDERR: import 'uiautomator2.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196777EDD90> +2024-11-30 15:24:53,038 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\utils.py +2024-11-30 15:24:53,038 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 15:24:53,038 - api.main - INFO - STDERR: import 'uiautomator2.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196777EDEE0> +2024-11-30 15:24:53,039 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\lxml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\lxml\__init__.py +2024-11-30 15:24:53,039 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:53,039 - api.main - INFO - STDERR: import 'lxml' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677806E50> +2024-11-30 15:24:53,072 - api.main - INFO - STDERR: # extension module 'lxml.etree' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\etree.cp39-win_amd64.pyd' +2024-11-30 15:24:53,073 - api.main - INFO - STDERR: import 'gc' # +2024-11-30 15:24:53,098 - api.main - INFO - STDERR: # extension module 'lxml._elementpath' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\_elementpath.cp39-win_amd64.pyd' +2024-11-30 15:24:53,099 - api.main - INFO - STDERR: # extension module 'lxml._elementpath' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\_elementpath.cp39-win_amd64.pyd' +2024-11-30 15:24:53,100 - api.main - INFO - STDERR: import 'lxml._elementpath' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000019677866DF0> +2024-11-30 15:24:53,103 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\gzip.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\gzip.py +2024-11-30 15:24:53,103 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\gzip.cpython-39.pyc' +2024-11-30 15:24:53,103 - api.main - INFO - STDERR: import 'gzip' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196778878B0> +2024-11-30 15:24:53,104 - api.main - INFO - STDERR: # extension module 'lxml.etree' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\etree.cp39-win_amd64.pyd' +2024-11-30 15:24:53,104 - api.main - INFO - STDERR: import 'lxml.etree' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000019677806F70> +2024-11-30 15:24:53,105 - api.main - INFO - STDERR: import 'uiautomator2.xpath' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677796760> +2024-11-30 15:24:53,105 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\_selector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_selector.py +2024-11-30 15:24:53,105 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\_selector.cpython-39.pyc' +2024-11-30 15:24:53,106 - api.main - INFO - STDERR: import 'uiautomator2._selector' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196777D5910> +2024-11-30 15:24:53,106 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\init.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\init.py +2024-11-30 15:24:53,106 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\init.cpython-39.pyc' +2024-11-30 15:24:53,107 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tarfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tarfile.py +2024-11-30 15:24:53,108 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tarfile.cpython-39.pyc' +2024-11-30 15:24:53,109 - api.main - INFO - STDERR: import 'tarfile' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196778CEAF0> +2024-11-30 15:24:53,110 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__init__.py +2024-11-30 15:24:53,110 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:53,111 - api.main - INFO - STDERR: import 'progress' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196778DBA30> +2024-11-30 15:24:53,112 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\bar.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\bar.py +2024-11-30 15:24:53,112 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\bar.cpython-39.pyc' +2024-11-30 15:24:53,112 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\colors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\colors.py +2024-11-30 15:24:53,112 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\colors.cpython-39.pyc' +2024-11-30 15:24:53,112 - api.main - INFO - STDERR: import 'progress.colors' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677907280> +2024-11-30 15:24:53,112 - api.main - INFO - STDERR: import 'progress.bar' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196778FAFA0> +2024-11-30 15:24:53,113 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\version.py +2024-11-30 15:24:53,113 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\version.cpython-39.pyc' +2024-11-30 15:24:53,113 - api.main - INFO - STDERR: import 'uiautomator2.version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196778FAF10> +2024-11-30 15:24:53,113 - api.main - INFO - STDERR: import 'uiautomator2.init' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196778CE4C0> +2024-11-30 15:24:53,114 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\settings.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\settings.py +2024-11-30 15:24:53,114 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\settings.cpython-39.pyc' +2024-11-30 15:24:53,114 - api.main - INFO - STDERR: import 'uiautomator2.settings' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677907A00> +2024-11-30 15:24:53,114 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\swipe.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\swipe.py +2024-11-30 15:24:53,115 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\swipe.cpython-39.pyc' +2024-11-30 15:24:53,115 - api.main - INFO - STDERR: import 'uiautomator2.swipe' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677907CA0> +2024-11-30 15:24:53,115 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\watcher.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\watcher.py +2024-11-30 15:24:53,115 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\watcher.cpython-39.pyc' +2024-11-30 15:24:53,115 - api.main - INFO - STDERR: import 'uiautomator2.watcher' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019677907E50> +2024-11-30 15:24:53,116 - api.main - INFO - STDERR: import 'uiautomator2' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196764E9E80> +2024-11-30 15:24:53,117 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\utils.py +2024-11-30 15:24:53,117 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 15:24:53,118 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__init__.py +2024-11-30 15:24:53,118 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:53,119 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\core.py +2024-11-30 15:24:53,119 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\__pycache__\\core.cpython-39.pyc' +2024-11-30 15:24:53,119 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__init__.py +2024-11-30 15:24:53,119 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\unicode_codes\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:53,120 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__pycache__\data_dict.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\data_dict.py +2024-11-30 15:24:53,123 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\unicode_codes\\__pycache__\\data_dict.cpython-39.pyc' +2024-11-30 15:24:53,128 - api.main - INFO - STDERR: import 'emoji.unicode_codes.data_dict' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967793F8E0> +2024-11-30 15:24:53,141 - api.main - INFO - STDERR: import 'emoji.unicode_codes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967793F5B0> +2024-11-30 15:24:53,142 - api.main - INFO - STDERR: import 'emoji.core' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967792DEE0> +2024-11-30 15:24:53,142 - api.main - INFO - STDERR: import 'emoji' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967792DC70> +2024-11-30 15:24:53,142 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\log.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\log.py +2024-11-30 15:24:53,142 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\log.cpython-39.pyc' +2024-11-30 15:24:53,143 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\uuid.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\uuid.py +2024-11-30 15:24:53,143 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\uuid.cpython-39.pyc' +2024-11-30 15:24:53,145 - api.main - INFO - STDERR: # extension module '_uuid' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_uuid.pyd' +2024-11-30 15:24:53,145 - api.main - INFO - STDERR: # extension module '_uuid' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_uuid.pyd' +2024-11-30 15:24:53,145 - api.main - INFO - STDERR: import '_uuid' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000019678527160> +2024-11-30 15:24:53,145 - api.main - INFO - STDERR: import 'uuid' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967793FA00> +2024-11-30 15:24:53,145 - api.main - INFO - STDERR: import 'GramAddict.core.log' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967792DCA0> +2024-11-30 15:24:53,146 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\report.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\report.py +2024-11-30 15:24:53,146 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\report.cpython-39.pyc' +2024-11-30 15:24:53,146 - api.main - INFO - STDERR: import 'GramAddict.core.report' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967793F6D0> +2024-11-30 15:24:53,147 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\resources.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\resources.py +2024-11-30 15:24:53,147 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\resources.cpython-39.pyc' +2024-11-30 15:24:53,147 - api.main - INFO - STDERR: import 'GramAddict.core.resources' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967851EF40> +2024-11-30 15:24:53,147 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\storage.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\storage.py +2024-11-30 15:24:53,147 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\storage.cpython-39.pyc' +2024-11-30 15:24:53,148 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\atomicwrites\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\atomicwrites\__init__.py +2024-11-30 15:24:53,148 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\atomicwrites\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:53,149 - api.main - INFO - STDERR: import 'atomicwrites' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196785277F0> +2024-11-30 15:24:53,149 - api.main - INFO - STDERR: import 'GramAddict.core.storage' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019678527280> +2024-11-30 15:24:53,149 - api.main - INFO - STDERR: import 'GramAddict.core.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196765266D0> +2024-11-30 15:24:53,150 - api.main - INFO - STDERR: import 'GramAddict.core.device_facade' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196764192B0> +2024-11-30 15:24:53,150 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\filter.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\filter.py +2024-11-30 15:24:53,150 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\filter.cpython-39.pyc' +2024-11-30 15:24:53,151 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__init__.py +2024-11-30 15:24:53,151 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:53,152 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\detector_factory.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\detector_factory.py +2024-11-30 15:24:53,152 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\detector_factory.cpython-39.pyc' +2024-11-30 15:24:53,153 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\detector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\detector.py +2024-11-30 15:24:53,153 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\detector.cpython-39.pyc' +2024-11-30 15:24:53,153 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\lang_detect_exception.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\lang_detect_exception.py +2024-11-30 15:24:53,153 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\lang_detect_exception.cpython-39.pyc' +2024-11-30 15:24:53,153 - api.main - INFO - STDERR: import 'langdetect.lang_detect_exception' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019678552CD0> +2024-11-30 15:24:53,154 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\language.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\language.py +2024-11-30 15:24:53,154 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\language.cpython-39.pyc' +2024-11-30 15:24:53,154 - api.main - INFO - STDERR: import 'langdetect.language' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019678552F70> +2024-11-30 15:24:53,155 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__init__.py +2024-11-30 15:24:53,155 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:53,155 - api.main - INFO - STDERR: import 'langdetect.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967855A310> +2024-11-30 15:24:53,155 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\ngram.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\ngram.py +2024-11-30 15:24:53,155 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\ngram.cpython-39.pyc' +2024-11-30 15:24:53,156 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\messages.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\messages.py +2024-11-30 15:24:53,156 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\messages.cpython-39.pyc' +2024-11-30 15:24:53,156 - api.main - INFO - STDERR: import 'langdetect.utils.messages' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967855A640> +2024-11-30 15:24:53,157 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\unicode_block.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\unicode_block.py +2024-11-30 15:24:53,157 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\unicode_block.cpython-39.pyc' +2024-11-30 15:24:53,157 - api.main - INFO - STDERR: import 'langdetect.utils.unicode_block' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967855A7F0> +2024-11-30 15:24:53,166 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\unicode_escape.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\unicode_escape.py +2024-11-30 15:24:53,166 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\unicode_escape.cpython-39.pyc' +2024-11-30 15:24:53,166 - api.main - INFO - STDERR: import 'encodings.unicode_escape' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967855A9A0> +2024-11-30 15:24:53,168 - api.main - INFO - STDERR: import 'langdetect.utils.ngram' # <_frozen_importlib_external.SourceFileLoader object at 0x000001967855A340> +2024-11-30 15:24:53,169 - api.main - INFO - STDERR: import 'langdetect.detector' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019678552730> +2024-11-30 15:24:53,170 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\lang_profile.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\lang_profile.py +2024-11-30 15:24:53,170 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\lang_profile.cpython-39.pyc' +2024-11-30 15:24:53,170 - api.main - INFO - STDERR: import 'langdetect.utils.lang_profile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019678552AF0> +2024-11-30 15:24:53,170 - api.main - INFO - STDERR: import 'langdetect.detector_factory' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019678552220> +2024-11-30 15:24:53,170 - api.main - INFO - STDERR: import 'langdetect' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019678542F40> +2024-11-30 15:24:53,171 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\views.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py +2024-11-30 15:24:53,172 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\views.cpython-39.pyc' +2024-11-30 15:24:53,173 - api.main - INFO - STDERR: import 'GramAddict.core.views' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019678542FA0> +2024-11-30 15:24:53,173 - api.main - INFO - STDERR: import 'GramAddict.core.filter' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196764E94F0> +2024-11-30 15:24:53,174 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\interaction.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\interaction.py +2024-11-30 15:24:53,174 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\interaction.cpython-39.pyc' +2024-11-30 15:24:53,175 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__init__.py +2024-11-30 15:24:53,175 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\spintax\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:53,176 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__pycache__\spintax.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\spintax.py +2024-11-30 15:24:53,176 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\spintax\\__pycache__\\spintax.cpython-39.pyc' +2024-11-30 15:24:53,176 - api.main - INFO - STDERR: import 'spintax.spintax' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019678647790> +2024-11-30 15:24:53,176 - api.main - INFO - STDERR: import 'spintax' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019678647550> +2024-11-30 15:24:53,176 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\session_state.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\session_state.py +2024-11-30 15:24:53,176 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\session_state.cpython-39.pyc' +2024-11-30 15:24:53,177 - api.main - INFO - STDERR: import 'GramAddict.core.session_state' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019678647850> +2024-11-30 15:24:53,177 - api.main - INFO - STDERR: import 'GramAddict.core.interaction' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019678635FA0> +2024-11-30 15:24:53,178 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\navigation.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\navigation.py +2024-11-30 15:24:53,178 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\navigation.cpython-39.pyc' +2024-11-30 15:24:53,178 - api.main - INFO - STDERR: import 'GramAddict.core.navigation' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019678647F70> +2024-11-30 15:24:53,178 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\persistent_list.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\persistent_list.py +2024-11-30 15:24:53,178 - api.main - INFO - STDOUT: Python path: ['e:\\PROJECTS\\instagram automation\\virtualinfluencer', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\python39.zip', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer'] +2024-11-30 15:24:53,179 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\persistent_list.cpython-39.pyc' +2024-11-30 15:24:53,179 - api.main - INFO - STDOUT: Current directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 15:24:53,179 - api.main - INFO - STDERR: import 'GramAddict.core.persistent_list' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019678647B50> +2024-11-30 15:24:53,179 - api.main - INFO - STDOUT: Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 15:24:53,179 - api.main - INFO - STDERR: import 'GramAddict.core.bot_flow' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196745A4670> +2024-11-30 15:24:53,179 - api.main - INFO - STDOUT: Successfully imported GramAddict +2024-11-30 15:24:53,180 - api.main - INFO - STDERR: import 'GramAddict' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196745A4D00> +2024-11-30 15:24:53,180 - api.main - INFO - STDERR: e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml has been saved last time at 2024-11-29 01:33:21 +2024-11-30 15:24:53,201 - api.main - INFO - STDERR: [11/30 15:24:53] DEBUG | Initial log file: logs/quecreate.log +2024-11-30 15:24:53,201 - api.main - INFO - STDERR: [11/30 15:24:53] DEBUG | Installed via git, config-examples is in the local folder. +2024-11-30 15:24:53,201 - api.main - INFO - STDERR: [11/30 15:24:53] INFO | Checking for updates... +2024-11-30 15:24:53,203 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\netrc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\netrc.py +2024-11-30 15:24:53,204 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\netrc.cpython-39.pyc' +2024-11-30 15:24:53,204 - api.main - INFO - STDERR: import 'netrc' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019678656D00> +2024-11-30 15:24:53,461 - api.main - INFO - STDERR: [11/30 15:24:53] INFO | Bot is updated. +2024-11-30 15:24:53,462 - api.main - INFO - STDERR: [11/30 15:24:53] INFO | GramAddict v.3.2.12 +2024-11-30 15:24:53,462 - api.main - INFO - STDERR: [11/30 15:24:53] INFO | Loading plugins . . . +2024-11-30 15:24:53,464 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__init__.py +2024-11-30 15:24:53,464 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:53,464 - api.main - INFO - STDERR: import 'GramAddict.plugins' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019678656E20> +2024-11-30 15:24:53,465 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\action_unfollow_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\action_unfollow_followers.py +2024-11-30 15:24:53,465 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\action_unfollow_followers.cpython-39.pyc' +2024-11-30 15:24:53,465 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\decorators.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py +2024-11-30 15:24:53,465 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\decorators.cpython-39.pyc' +2024-11-30 15:24:53,465 - api.main - INFO - STDERR: import 'GramAddict.core.decorators' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019678673E20> +2024-11-30 15:24:53,466 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\scroll_end_detector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\scroll_end_detector.py +2024-11-30 15:24:53,466 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\scroll_end_detector.cpython-39.pyc' +2024-11-30 15:24:53,466 - api.main - INFO - STDERR: import 'GramAddict.core.scroll_end_detector' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019678673550> +2024-11-30 15:24:53,466 - api.main - INFO - STDERR: import 'GramAddict.plugins.action_unfollow_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019678656B50> +2024-11-30 15:24:53,466 - api.main - INFO - STDERR: [11/30 15:24:53] INFO | - ActionUnfollowFollowers: Handles the functionality of unfollowing your followers +2024-11-30 15:24:53,467 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\cloned_app.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\cloned_app.py +2024-11-30 15:24:53,467 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\cloned_app.cpython-39.pyc' +2024-11-30 15:24:53,468 - api.main - INFO - STDERR: import 'GramAddict.plugins.cloned_app' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196786739D0> +2024-11-30 15:24:53,468 - api.main - INFO - STDERR: [11/30 15:24:53] INFO | - ClonedApp: Adds support for cloned apps +2024-11-30 15:24:53,469 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\core_arguments.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\core_arguments.py +2024-11-30 15:24:53,469 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\core_arguments.cpython-39.pyc' +2024-11-30 15:24:53,469 - api.main - INFO - STDERR: import 'GramAddict.plugins.core_arguments' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019678673B80> +2024-11-30 15:24:53,469 - api.main - INFO - STDERR: [11/30 15:24:53] INFO | - CoreArguments: Simply adds core arguments +2024-11-30 15:24:53,470 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\data_analytics.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\data_analytics.py +2024-11-30 15:24:53,470 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\data_analytics.cpython-39.pyc' +2024-11-30 15:24:53,470 - api.main - INFO - STDERR: import 'GramAddict.plugins.data_analytics' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019678673F40> +2024-11-30 15:24:53,470 - api.main - INFO - STDERR: [11/30 15:24:53] INFO | - DataAnalytics: Generates a PDF analytics report of current username session data +2024-11-30 15:24:53,471 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\dbinit.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\dbinit.py +2024-11-30 15:24:53,472 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\dbinit.cpython-39.pyc' +2024-11-30 15:24:53,472 - api.main - INFO - STDERR: import 'GramAddict.plugins.dbinit' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196745A4E20> +2024-11-30 15:24:53,472 - api.main - INFO - STDERR: [11/30 15:24:53] INFO | - DBInitPlugin: Initialize NocoDB tables at session start +2024-11-30 15:24:53,472 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger.py +2024-11-30 15:24:53,473 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger.cpython-39.pyc' +2024-11-30 15:24:53,473 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\handle_sources.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py +2024-11-30 15:24:53,473 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\handle_sources.cpython-39.pyc' +2024-11-30 15:24:53,473 - api.main - INFO - STDERR: import 'GramAddict.core.handle_sources' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196786CE4C0> +2024-11-30 15:24:53,473 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196745A4C70> +2024-11-30 15:24:53,474 - api.main - INFO - STDERR: [11/30 15:24:53] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger +2024-11-30 15:24:53,475 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py +2024-11-30 15:24:53,475 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger_followers.cpython-39.pyc' +2024-11-30 15:24:53,475 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196786CE8E0> +2024-11-30 15:24:53,476 - api.main - INFO - STDERR: [11/30 15:24:53] INFO | - InteractBloggerFollowers_Following: Handles the functionality of interacting with a bloggers followers/following +2024-11-30 15:24:53,477 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger_post_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_post_likers.py +2024-11-30 15:24:53,477 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger_post_likers.cpython-39.pyc' +2024-11-30 15:24:53,477 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger_post_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196786CEB80> +2024-11-30 15:24:53,477 - api.main - INFO - STDERR: [11/30 15:24:53] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger post likers +2024-11-30 15:24:53,479 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_feed.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_feed.py +2024-11-30 15:24:53,479 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_feed.cpython-39.pyc' +2024-11-30 15:24:53,479 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_feed' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196786CEEB0> +2024-11-30 15:24:53,479 - api.main - INFO - STDERR: [11/30 15:24:53] INFO | - InteractOwnFeed: Handles the functionality of interacting with your own feed +2024-11-30 15:24:53,480 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_hashtag_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_hashtag_likers.py +2024-11-30 15:24:53,480 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_hashtag_likers.cpython-39.pyc' +2024-11-30 15:24:53,480 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_hashtag_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196786B8250> +2024-11-30 15:24:53,480 - api.main - INFO - STDERR: [11/30 15:24:53] INFO | - InteractHashtagLikers: Handles the functionality of interacting with a hashtags likers +2024-11-30 15:24:53,481 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_hashtag_posts.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_hashtag_posts.py +2024-11-30 15:24:53,481 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_hashtag_posts.cpython-39.pyc' +2024-11-30 15:24:53,481 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_hashtag_posts' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196786B85B0> +2024-11-30 15:24:53,481 - api.main - INFO - STDERR: [11/30 15:24:53] INFO | - InteractHashtagPosts: Handles the functionality of interacting with a hashtags post owners +2024-11-30 15:24:53,482 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_place_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_place_likers.py +2024-11-30 15:24:53,482 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_place_likers.cpython-39.pyc' +2024-11-30 15:24:53,482 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_place_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196786B8910> +2024-11-30 15:24:53,483 - api.main - INFO - STDERR: [11/30 15:24:53] INFO | - InteractPlaceLikers: Handles the functionality of interacting with a places likers +2024-11-30 15:24:53,483 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_place_posts.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_place_posts.py +2024-11-30 15:24:53,483 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_place_posts.cpython-39.pyc' +2024-11-30 15:24:53,483 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_place_posts' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196786B8CA0> +2024-11-30 15:24:53,484 - api.main - INFO - STDERR: [11/30 15:24:53] INFO | - InteractPlacePosts: Handles the functionality of interacting with a places post owners +2024-11-30 15:24:53,484 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\like_from_urls.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\like_from_urls.py +2024-11-30 15:24:53,484 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\like_from_urls.cpython-39.pyc' +2024-11-30 15:24:53,484 - api.main - INFO - STDERR: import 'GramAddict.plugins.like_from_urls' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196786B8FD0> +2024-11-30 15:24:53,485 - api.main - INFO - STDERR: [11/30 15:24:53] INFO | - LikeFromURLs: Likes a post from url. The urls are read from a plaintext file +2024-11-30 15:24:53,485 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\nocodb_record_creation_test.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\nocodb_record_creation_test.py +2024-11-30 15:24:53,485 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\nocodb_record_creation_test.cpython-39.pyc' +2024-11-30 15:24:53,485 - api.main - INFO - STDERR: import 'GramAddict.plugins.nocodb_record_creation_test' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196786DF3D0> +2024-11-30 15:24:53,486 - api.main - INFO - STDERR: [11/30 15:24:53] INFO | - NocoDBRecordCreationTest: Test plugin specifically for verifying NocoDB record creation functionality +2024-11-30 15:24:53,486 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\nocodb_storage.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\nocodb_storage.py +2024-11-30 15:24:53,486 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\nocodb_storage.cpython-39.pyc' +2024-11-30 15:24:53,487 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__init__.py +2024-11-30 15:24:53,488 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:24:53,488 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jwk.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jwk.py +2024-11-30 15:24:53,488 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jwk.cpython-39.pyc' +2024-11-30 15:24:53,489 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\algorithms.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\algorithms.py +2024-11-30 15:24:53,489 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\algorithms.cpython-39.pyc' +2024-11-30 15:24:53,490 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\exceptions.py +2024-11-30 15:24:53,490 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 15:24:53,490 - api.main - INFO - STDERR: import 'jwt.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196786FB700> +2024-11-30 15:24:53,491 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\types.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\types.py +2024-11-30 15:24:53,491 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\types.cpython-39.pyc' +2024-11-30 15:24:53,491 - api.main - INFO - STDERR: import 'jwt.types' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196786FB790> +2024-11-30 15:24:53,491 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\utils.py +2024-11-30 15:24:53,492 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 15:24:53,493 - api.main - INFO - STDERR: import 'jwt.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196786FB880> +2024-11-30 15:24:53,494 - api.main - INFO - STDERR: import 'jwt.algorithms' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196786F1520> +2024-11-30 15:24:53,494 - api.main - INFO - STDERR: import 'jwt.api_jwk' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196786DFD90> +2024-11-30 15:24:53,495 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jws.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jws.py +2024-11-30 15:24:53,495 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jws.cpython-39.pyc' +2024-11-30 15:24:53,495 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\warnings.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\warnings.py +2024-11-30 15:24:53,496 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\warnings.cpython-39.pyc' +2024-11-30 15:24:53,496 - api.main - INFO - STDERR: import 'jwt.warnings' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196786FB0D0> +2024-11-30 15:24:53,496 - api.main - INFO - STDERR: import 'jwt.api_jws' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196786F1BE0> +2024-11-30 15:24:53,496 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jwt.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jwt.py +2024-11-30 15:24:53,496 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jwt.cpython-39.pyc' +2024-11-30 15:24:53,496 - api.main - INFO - STDERR: import 'jwt.api_jwt' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196786FB310> +2024-11-30 15:24:53,497 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\jwks_client.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\jwks_client.py +2024-11-30 15:24:53,497 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\jwks_client.cpython-39.pyc' +2024-11-30 15:24:53,497 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\jwk_set_cache.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\jwk_set_cache.py +2024-11-30 15:24:53,498 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\jwk_set_cache.cpython-39.pyc' +2024-11-30 15:24:53,498 - api.main - INFO - STDERR: import 'jwt.jwk_set_cache' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019678707AC0> +2024-11-30 15:24:53,498 - api.main - INFO - STDERR: import 'jwt.jwks_client' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196787074F0> +2024-11-30 15:24:53,498 - api.main - INFO - STDERR: import 'jwt' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196786DFB20> +2024-11-30 15:24:53,498 - api.main - INFO - STDERR: import 'GramAddict.plugins.nocodb_storage' # <_frozen_importlib_external.SourceFileLoader object at 0x00000196786DF550> +2024-11-30 15:24:53,498 - api.main - INFO - STDERR: [11/30 15:24:53] INFO | - NocoDBStorage: Store interaction data in NocoDB +2024-11-30 15:24:53,500 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\remove_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\remove_followers.py +2024-11-30 15:24:53,500 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\remove_followers.cpython-39.pyc' +2024-11-30 15:24:53,500 - api.main - INFO - STDERR: import 'GramAddict.plugins.remove_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019678707F70> +2024-11-30 15:24:53,500 - api.main - INFO - STDERR: [11/30 15:24:53] INFO | - RemoveFollowersFromList: Remove account followers from a list of usernames +2024-11-30 15:24:53,501 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\telegram.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\telegram.py +2024-11-30 15:24:53,501 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\telegram.cpython-39.pyc' +2024-11-30 15:24:53,501 - api.main - INFO - STDERR: import 'GramAddict.plugins.telegram' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019678721190> +2024-11-30 15:24:53,501 - api.main - INFO - STDERR: [11/30 15:24:53] INFO | - TelegramReports: Generate reports at the end of the session and send them using telegram +2024-11-30 15:24:53,504 - api.main - INFO - STDERR: [11/30 15:24:53] DEBUG | Arguments used: --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 15:24:53,504 - api.main - INFO - STDERR: [11/30 15:24:53] DEBUG | Config used: {'username': 'quecreate', 'app-id': 'com.instagram.android', 'use-cloned-app': False, 'allow-untested-ig-version': False, 'screen-sleep': True, 'screen-record': False, 'speed-multiplier': 1.0, 'debug': True, 'close-apps': False, 'kill-atx-agent': False, 'restart-atx-agent': False, 'disable-block-detection': False, 'disable-filters': False, 'dont-type': False, 'use-nocodb': True, 'init-db': True, 'total-crashes-limit': 5, 'count-app-crashes': False, 'shuffle-jobs': True, 'truncate-sources': '2-5', 'blogger-followers': ['mnaumanndesign'], 'watch-video-time': '15-35', 'watch-photo-time': '3-4', 'delete-interacted-users': True, 'telegram-reports': False, 'interactions-count': '300-400', 'likes-count': '1-2', 'likes-percentage': 100, 'stories-count': '10-20', 'stories-percentage': '30-40', 'carousel-count': '20-30', 'carousel-percentage': '60-70', 'max-comments-pro-user': '1-2', 'interact-percentage': '30-40', 'follow-percentage': '30-40', 'follow-limit': 50, 'skipped-list-limit': '10-15', 'skipped-posts-limit': 5, 'fling-when-skipped': 0, 'min-following': 10, 'total-likes-limit': '120-150', 'total-follows-limit': '40-50', 'total-unfollows-limit': '40-50', 'total-watches-limit': '120-150', 'total-successful-interactions-limit': '120-150', 'total-interactions-limit': '280-300', 'total-comments-limit': '3-50', 'total-pm-limit': '3-5', 'total-scraped-limit': '100-150', 'end-if-likes-limit-reached': False, 'end-if-follows-limit-reached': False, 'end-if-watches-limit-reached': False, 'end-if-comments-limit-reached': False, 'end-if-pm-limit-reached': False} +2024-11-30 15:24:53,632 - api.main - INFO - STDERR: [11/30 15:24:53] DEBUG | Connected devices via adb: 1. That's ok. +2024-11-30 15:24:53,709 - api.main - INFO - STDERR: [11/30 15:24:53] INFO | Time delta has set to 00:00:30. +2024-11-30 15:24:53,712 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_strptime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_strptime.py +2024-11-30 15:24:53,712 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_strptime.cpython-39.pyc' +2024-11-30 15:24:53,713 - api.main - INFO - STDERR: import '_strptime' # <_frozen_importlib_external.SourceFileLoader object at 0x0000019678733760> +2024-11-30 15:24:53,714 - api.main - INFO - STDERR: [11/30 15:24:53] DEBUG | Whole day mode. +2024-11-30 15:24:53,845 - api.main - INFO - STDERR: [11/30 15:24:53] DEBUG | Phone Name: taimen, SDK Version: 30 +2024-11-30 15:24:54,076 - api.main - INFO - STDERR: [11/30 15:24:54] DEBUG | Screen dimension: 1440x2824 +2024-11-30 15:24:54,231 - api.main - INFO - STDERR: [11/30 15:24:54] DEBUG | Screen resolution: 411x823 +2024-11-30 15:24:54,232 - api.main - INFO - STDERR: [11/30 15:24:54] DEBUG | Device ID: 192.168.50.202:5555 +2024-11-30 15:24:54,348 - api.main - INFO - STDERR: [11/30 15:24:54] INFO | Screen timeout is fine! +2024-11-30 15:24:54,528 - api.main - INFO - STDERR: [11/30 15:24:54] INFO | -------- START: 15:24:54 - 2024/11/30 -------- +2024-11-30 15:24:56,996 - api.main - INFO - STDERR: [11/30 15:24:56] INFO | Device screen ON and unlocked. +2024-11-30 15:24:56,997 - api.main - INFO - STDERR: [11/30 15:24:56] INFO | Open Instagram app. +2024-11-30 15:24:57,389 - api.main - INFO - STDERR: [11/30 15:24:57] DEBUG | Instagram called successfully. +2024-11-30 15:24:57,937 - api.main - INFO - STDERR: [11/30 15:24:57] INFO | Ready for botting!\U0001f92b +2024-11-30 15:24:57,937 - api.main - INFO - STDERR: [11/30 15:24:57] DEBUG | 1.52s sleep +2024-11-30 15:24:59,473 - api.main - INFO - STDERR: [11/30 15:24:59] DEBUG | Setting FastInputIME as default keyboard. +2024-11-30 15:24:59,876 - api.main - INFO - STDERR: [11/30 15:24:59] INFO | FastInputIME is the default keyboard. +2024-11-30 15:25:00,004 - api.main - INFO - STDERR: [11/30 15:25:00] INFO | Instagram version: 300.0.0.29.110 +2024-11-30 15:25:00,570 - api.main - INFO - STDERR: [11/30 15:25:00] DEBUG | Navigating to main account... +2024-11-30 15:25:02,028 - api.main - INFO - STDERR: [11/30 15:25:02] DEBUG | Single click in (1317,2700). Surface: (1244-1349,2684-2789) +2024-11-30 15:25:02,467 - api.main - INFO - STDERR: [11/30 15:25:02] DEBUG | 0.56s sleep +2024-11-30 15:25:03,935 - api.main - INFO - STDERR: [11/30 15:25:03] DEBUG | Checking if app is in English.. +2024-11-30 15:25:04,894 - api.main - INFO - Retrieving session status for account: quecreate +2024-11-30 15:25:06,958 - api.main - INFO - STDERR: [11/30 15:25:06] DEBUG | Instagram in English. +2024-11-30 15:25:08,025 - api.main - INFO - STDERR: [11/30 15:25:08] INFO | You are already logged as quecreate! +2024-11-30 15:25:08,485 - api.main - INFO - STDERR: [11/30 15:25:08] INFO | Refresh account... +2024-11-30 15:25:08,843 - api.main - INFO - STDERR: [11/30 15:25:08] DEBUG | Swipe from: (737,630) to (779,912). +2024-11-30 15:25:10,584 - api.main - INFO - STDERR: [11/30 15:25:10] DEBUG | 0.92s sleep +2024-11-30 15:25:11,526 - api.main - INFO - STDERR: [11/30 15:25:11] DEBUG | 1.82s sleep +2024-11-30 15:25:15,380 - api.main - INFO - Attempting to stop session for account: quecreate +2024-11-30 15:25:15,381 - api.main - INFO - Successfully stopped session for account: quecreate +2024-11-30 15:25:16,798 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | Hello, @quecreate! You have 1 followers and 55 followings so far. +2024-11-30 15:25:16,799 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | There is/are 3 active-job(s) and 0 unfollow-job(s) scheduled for this session. +2024-11-30 15:25:16,799 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | NocoDB config found - plugin will handle initialization +2024-11-30 15:25:16,829 - api.main - INFO - STDERR: [11/30 15:25:16] WARNING | accounts\quecreate\filters.yml has been saved last time at 2024-11-28 01:20:01 +2024-11-30 15:25:16,845 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | ---------------------------------------------------------------------- +2024-11-30 15:25:16,846 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | Filters recap (no spell check!) Value +2024-11-30 15:25:16,846 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | ---------------------------------------------------------------------- +2024-11-30 15:25:16,847 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | max_following 7500 +2024-11-30 15:25:16,847 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | min_following 10 +2024-11-30 15:25:16,847 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | max_followers 15000 +2024-11-30 15:25:16,848 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | min_followers 100 +2024-11-30 15:25:16,848 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | max_posts 1000 +2024-11-30 15:25:16,848 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | min_posts 3 +2024-11-30 15:25:16,848 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | max_following_to_followers_ratio 2.0 +2024-11-30 15:25:16,849 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | min_following_to_followers_ratio None +2024-11-30 15:25:16,849 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | max_followers_to_following_ratio None +2024-11-30 15:25:16,849 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | min_followers_to_following_ratio None +2024-11-30 15:25:16,850 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | max_potency_ratio 1.5 +2024-11-30 15:25:16,850 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | min_potency_ratio 0.1 +2024-11-30 15:25:16,850 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | biography_language None +2024-11-30 15:25:16,851 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | biography_banned_words [] +2024-11-30 15:25:16,851 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | biography_mandatory_words [] +2024-11-30 15:25:16,851 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | business_category_name [] +2024-11-30 15:25:16,852 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | is_private None +2024-11-30 15:25:16,852 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | is_verified None +2024-11-30 15:25:16,852 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | is_business None +2024-11-30 15:25:16,853 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | is_non_business None +2024-11-30 15:25:16,853 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | blacklist_words [] +2024-11-30 15:25:16,854 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | mandatory_words [] +2024-11-30 15:25:16,854 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | specific_alphabet None +2024-11-30 15:25:16,854 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | min_posts_from_date None +2024-11-30 15:25:16,855 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | posts_from_date None +2024-11-30 15:25:16,855 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | mutual_friends None +2024-11-30 15:25:16,856 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | following_bot None +2024-11-30 15:25:16,857 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | last_post None +2024-11-30 15:25:16,857 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | potency_ratio None +2024-11-30 15:25:16,857 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | has_any_business_category None +2024-11-30 15:25:16,858 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | has_highlights None +2024-11-30 15:25:16,858 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | has_guides None +2024-11-30 15:25:16,858 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | has_external_url None +2024-11-30 15:25:16,859 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | has_business_category_name None +2024-11-30 15:25:16,859 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | has_biography_links None +2024-11-30 15:25:16,859 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | has_igtv None +2024-11-30 15:25:16,859 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | has_linked_facebook None +2024-11-30 15:25:16,859 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | has_story_highlights None +2024-11-30 15:25:16,860 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | has_youtube None +2024-11-30 15:25:16,860 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | has_twitter None +2024-11-30 15:25:16,860 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | has_facebook None +2024-11-30 15:25:16,860 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | has_whatsapp None +2024-11-30 15:25:16,861 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | has_tiktok None +2024-11-30 15:25:16,861 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_link_in_bio False +2024-11-30 15:25:16,862 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_external_url False +2024-11-30 15:25:16,862 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_business False +2024-11-30 15:25:16,862 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_business_categories [] +2024-11-30 15:25:16,863 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_bio_keyword [] +2024-11-30 15:25:16,863 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_bio_keyword [] +2024-11-30 15:25:16,863 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_bio_contains_anything False +2024-11-30 15:25:16,863 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_no_avatar False +2024-11-30 15:25:16,864 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_no_bio False +2024-11-30 15:25:16,864 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_no_posts False +2024-11-30 15:25:16,864 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_no_igtv False +2024-11-30 15:25:16,864 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_no_story_highlights False +2024-11-30 15:25:16,865 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_no_mutual_friends False +2024-11-30 15:25:16,865 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_private False +2024-11-30 15:25:16,865 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_public False +2024-11-30 15:25:16,866 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_verified False +2024-11-30 15:25:16,866 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_non_business False +2024-11-30 15:25:16,866 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_following_bot False +2024-11-30 15:25:16,866 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_following_less_than None +2024-11-30 15:25:16,867 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_followers_less_than None +2024-11-30 15:25:16,867 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_posts_less_than None +2024-11-30 15:25:16,868 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_mutual_friends_less_than None +2024-11-30 15:25:16,868 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_following_more_than None +2024-11-30 15:25:16,868 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_followers_more_than None +2024-11-30 15:25:16,868 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_posts_more_than None +2024-11-30 15:25:16,869 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_mutual_friends_more_than None +2024-11-30 15:25:16,869 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_following_to_followers_ratio_less_than None +2024-11-30 15:25:16,869 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_following_to_followers_ratio_more_than None +2024-11-30 15:25:16,870 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_followers_to_following_ratio_less_than None +2024-11-30 15:25:16,870 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_followers_to_following_ratio_more_than None +2024-11-30 15:25:16,870 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_potency_ratio_less_than None +2024-11-30 15:25:16,870 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | skip_if_potency_ratio_more_than None +2024-11-30 15:25:16,871 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | ---------------------------------------------------------------------- +2024-11-30 15:25:16,871 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | Session ending conditions: Value +2024-11-30 15:25:16,871 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | ---------------------------------------------------------------------- +2024-11-30 15:25:16,871 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | Likes: False +2024-11-30 15:25:16,871 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | Follows: False +2024-11-30 15:25:16,872 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | Watches: False +2024-11-30 15:25:16,872 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | Comments: False +2024-11-30 15:25:16,873 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | PM: False +2024-11-30 15:25:16,873 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | Total actions: True (not mutable) +2024-11-30 15:25:16,873 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | Total successfull actions: True (not mutable) +2024-11-30 15:25:16,874 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | For more info -> https://github.com/GramAddict/docs/blob/main/configuration.md#ending-session-conditions +2024-11-30 15:25:16,874 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | ---------------------------------------------------------------------- +2024-11-30 15:25:16,874 - api.main - INFO - STDERR: [11/30 15:25:16] DEBUG | Whole day mode. +2024-11-30 15:25:16,875 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | Checking session limits: +2024-11-30 15:25:16,875 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | - Total Likes: OK (0/125) +2024-11-30 15:25:16,875 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | - Total Comments: OK (0/50) +2024-11-30 15:25:16,876 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | - Total PM: OK (0/5) +2024-11-30 15:25:16,876 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | - Total Followed: OK (0/48) +2024-11-30 15:25:16,876 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | - Total Unfollowed: OK (0/40) +2024-11-30 15:25:16,876 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | - Total Watched: OK (0/129) +2024-11-30 15:25:16,877 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | - Total Successful Interactions: OK (0/138) +2024-11-30 15:25:16,877 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | - Total Interactions: OK (0/285) +2024-11-30 15:25:16,882 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | - Total Crashes: OK (0/5) +2024-11-30 15:25:16,883 - api.main - INFO - STDERR: [11/30 15:25:16] INFO | - Total Successful Scraped Users: OK (0/108) +2024-11-30 15:25:17,593 - api.main - INFO - STDERR: [11/30 15:25:17] INFO | Current active-job: blogger-followers +2024-11-30 15:25:17,594 - api.main - INFO - STDERR: [11/30 15:25:17] INFO | Source list truncated at 1 item. +2024-11-30 15:25:17,596 - api.main - INFO - STDERR: [11/30 15:25:17] INFO | In this session, that source will be handled: mnaumanndesign +2024-11-30 15:25:17,596 - api.main - INFO - STDERR: [11/30 15:25:17] DEBUG | Checking session limits: +2024-11-30 15:25:17,597 - api.main - INFO - STDERR: [11/30 15:25:17] DEBUG | - Total Likes: OK (0/125) +2024-11-30 15:25:17,597 - api.main - INFO - STDERR: [11/30 15:25:17] DEBUG | - Total Comments: OK (0/50) +2024-11-30 15:25:17,598 - api.main - INFO - STDERR: [11/30 15:25:17] DEBUG | - Total PM: OK (0/5) +2024-11-30 15:25:17,598 - api.main - INFO - STDERR: [11/30 15:25:17] DEBUG | - Total Followed: OK (0/48) +2024-11-30 15:25:17,598 - api.main - INFO - STDERR: [11/30 15:25:17] DEBUG | - Total Unfollowed: OK (0/40) +2024-11-30 15:25:17,598 - api.main - INFO - STDERR: [11/30 15:25:17] DEBUG | - Total Watched: OK (0/129) +2024-11-30 15:25:17,599 - api.main - INFO - STDERR: [11/30 15:25:17] DEBUG | - Total Successful Interactions: OK (0/138) +2024-11-30 15:25:17,599 - api.main - INFO - STDERR: [11/30 15:25:17] DEBUG | - Total Interactions: OK (0/285) +2024-11-30 15:25:17,599 - api.main - INFO - STDERR: [11/30 15:25:17] DEBUG | - Total Crashes: OK (0/5) +2024-11-30 15:25:17,599 - api.main - INFO - STDERR: [11/30 15:25:17] DEBUG | - Total Successful Scraped Users: OK (0/108) +2024-11-30 15:25:17,600 - api.main - INFO - STDERR: [11/30 15:25:17] INFO | Handle mnaumanndesign +2024-11-30 15:25:17,600 - api.main - INFO - STDERR: [11/30 15:25:17] INFO | Interactions count: 347 +2024-11-30 15:25:17,600 - api.main - INFO - STDERR: [11/30 15:25:17] INFO | Chance of watching stories: 30% +2024-11-30 15:25:17,600 - api.main - INFO - STDERR: [11/30 15:25:17] INFO | Chance of liking: 100% +2024-11-30 15:25:17,601 - api.main - INFO - STDERR: [11/30 15:25:17] INFO | Chance of following: 32% +2024-11-30 15:25:17,601 - api.main - INFO - STDERR: [11/30 15:25:17] INFO | Chance of commenting: 0% +2024-11-30 15:25:17,601 - api.main - INFO - STDERR: [11/30 15:25:17] INFO | Chance of interacting: 36% +2024-11-30 15:25:17,601 - api.main - INFO - STDERR: [11/30 15:25:17] INFO | Chance of send PM: 0% +2024-11-30 15:25:17,602 - api.main - INFO - STDERR: [11/30 15:25:17] DEBUG | Navigate to SEARCH +2024-11-30 15:25:18,763 - api.main - INFO - STDERR: [11/30 15:25:18] DEBUG | Single click in (333,2713). Surface: (288-576,2649-2824) +2024-11-30 15:25:19,263 - api.main - INFO - STDERR: [11/30 15:25:19] DEBUG | 1.00s sleep +2024-11-30 15:25:20,463 - api.main - INFO - STDERR: [11/30 15:25:20] DEBUG | Single click in (435,2791). Surface: (288-576,2649-2824) +2024-11-30 15:25:21,034 - api.main - INFO - STDERR: [11/30 15:25:21] DEBUG | 1.54s sleep +2024-11-30 15:25:22,580 - api.main - INFO - STDERR: [11/30 15:25:22] INFO | Navigate to mnaumanndesign +2024-11-30 15:25:22,966 - api.main - INFO - STDERR: [11/30 15:25:22] DEBUG | Pressing on searchbar. +2024-11-30 15:25:23,071 - api.main - INFO - STDERR: [11/30 15:25:23] DEBUG | Single click in (482,227). Surface: (42-1370,146-259) +2024-11-30 15:25:23,450 - api.main - INFO - STDERR: [11/30 15:25:23] DEBUG | 1.41s sleep +2024-11-30 15:25:25,574 - api.main - INFO - STDERR: [11/30 15:25:25] DEBUG | Single click in (496,670). Surface: (322-659,653-710) +2024-11-30 15:25:25,996 - api.main - INFO - STDERR: [11/30 15:25:25] DEBUG | 1.34s sleep +2024-11-30 15:25:27,354 - api.main - INFO - STDERR: [11/30 15:25:27] INFO | mnaumanndesign is in recent history. +2024-11-30 15:25:27,595 - api.main - INFO - STDERR: [11/30 15:25:27] INFO | Open @mnaumanndesign followers. +2024-11-30 15:25:27,596 - api.main - INFO - STDERR: [11/30 15:25:27] INFO | Navigate to followers. +2024-11-30 15:25:28,057 - api.main - INFO - STDERR: [11/30 15:25:28] DEBUG | Single click in (916,529). Surface: (747-1057,322-630) +2024-11-30 15:25:28,433 - api.main - INFO - STDERR: [11/30 15:25:28] DEBUG | 1.29s sleep +2024-11-30 15:25:31,031 - api.main - INFO - STDERR: [11/30 15:25:31] INFO | Iterate over visible followers. +2024-11-30 15:25:32,041 - api.main - INFO - Retrieving session status for account: quecreate +2024-11-30 15:25:35,136 - api.main - INFO - STDERR: [11/30 15:25:35] DEBUG | There are 7 users fully visible in that view. +2024-11-30 15:25:36,260 - api.main - INFO - STDERR: [11/30 15:25:36] INFO | @nigell.design.lab: already interacted on 2024/11/29 01:35:14. Skip. +2024-11-30 15:25:37,210 - api.main - INFO - STDERR: [11/30 15:25:37] INFO | @newness________: already interacted on 2024/11/29 01:35:35. Skip. +2024-11-30 15:25:38,174 - api.main - INFO - STDERR: [11/30 15:25:38] INFO | @personal_day__: already interacted on 2024/11/29 01:37:38. Skip. +2024-11-30 15:25:38,740 - api.main - INFO - STDERR: [11/30 15:25:38] INFO | @northbryan: already interacted on 2024/11/30 05:47:55. Skip. +2024-11-30 15:25:39,542 - api.main - INFO - STDERR: [11/30 15:25:39] INFO | @mmmmmmmeomory: already interacted on 2024/11/29 04:20:13. Skip. +2024-11-30 15:25:40,482 - api.main - INFO - STDERR: [11/30 15:25:40] INFO | @irfanul_gani: interact +2024-11-30 15:25:40,862 - api.main - INFO - STDERR: [11/30 15:25:40] DEBUG | Single click in (482,2001). Surface: (322-544,1981-2038) +2024-11-30 15:25:41,536 - api.main - INFO - STDERR: [11/30 15:25:41] DEBUG | 2.12s sleep +2024-11-30 15:25:43,666 - api.main - INFO - STDERR: [11/30 15:25:43] DEBUG | 2.90s sleep +2024-11-30 15:25:46,905 - api.main - INFO - STDERR: [11/30 15:25:46] DEBUG | Checking profile.. +2024-11-30 15:25:48,006 - api.main - INFO - STDERR: [11/30 15:25:48] DEBUG | Looking for mutual friends tab. +2024-11-30 15:25:53,791 - api.main - INFO - STDERR: [11/30 15:25:53] DEBUG | This account is public. +2024-11-30 15:25:53,791 - api.main - INFO - STDERR: [11/30 15:25:53] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 15:25:53,791 - api.main - INFO - STDERR: [11/30 15:25:53] INFO | @irfanul_gani has less than 100 followers, skip. +2024-11-30 15:25:53,806 - api.main - INFO - STDERR: [11/30 15:25:53] DEBUG | Profile checked in 6.90s +2024-11-30 15:25:53,820 - api.main - INFO - STDERR: [11/30 15:25:53] DEBUG | Whole day mode. +2024-11-30 15:25:53,820 - api.main - INFO - STDERR: [11/30 15:25:53] DEBUG | - Total Likes: OK (0/125) +2024-11-30 15:25:53,820 - api.main - INFO - STDERR: [11/30 15:25:53] DEBUG | - Total Followed: OK (0/48) +2024-11-30 15:25:53,821 - api.main - INFO - STDERR: [11/30 15:25:53] DEBUG | - Total Watched: OK (0/129) +2024-11-30 15:25:53,821 - api.main - INFO - STDERR: [11/30 15:25:53] DEBUG | - Total PM: OK (0/5) +2024-11-30 15:25:53,821 - api.main - INFO - STDERR: [11/30 15:25:53] DEBUG | - Total Comments: OK (0/50) +2024-11-30 15:25:53,822 - api.main - INFO - STDERR: [11/30 15:25:53] DEBUG | - Total Interactions: OK (1/285) +2024-11-30 15:25:53,822 - api.main - INFO - STDERR: [11/30 15:25:53] DEBUG | - Total Successful Interactions: OK (0/138) +2024-11-30 15:25:53,822 - api.main - INFO - STDERR: [11/30 15:25:53] INFO | Back to followers list +2024-11-30 15:25:53,823 - api.main - INFO - STDERR: [11/30 15:25:53] DEBUG | Press back button. +2024-11-30 15:25:53,936 - api.main - INFO - STDERR: [11/30 15:25:53] DEBUG | 1.05s sleep +2024-11-30 15:25:55,592 - api.main - INFO - STDERR: [11/30 15:25:55] INFO | @osm_dsgnr: already interacted on 2024/11/30 05:29:31. Skip. +2024-11-30 15:25:57,108 - api.main - INFO - STDERR: [11/30 15:25:57] INFO | Need to scroll now +2024-11-30 15:25:58,379 - api.main - INFO - STDERR: [11/30 15:25:58] INFO | Iterate over visible followers. +2024-11-30 15:26:03,508 - api.main - INFO - STDERR: [11/30 15:26:03] DEBUG | There are 8 users fully visible in that view. +2024-11-30 15:26:04,933 - api.main - INFO - STDERR: [11/30 15:26:04] INFO | @tovoii: already interacted on 2024/11/29 04:15:14. Skip. +2024-11-30 15:26:05,800 - api.main - INFO - STDERR: [11/30 15:26:05] INFO | @rafiki7474: already interacted on 2024/11/30 05:29:55. Skip. +2024-11-30 15:26:06,717 - api.main - INFO - STDERR: [11/30 15:26:06] INFO | @simmakkaleem: already interacted on 2024/11/29 04:15:41. Skip. +2024-11-30 15:26:07,668 - api.main - INFO - STDERR: [11/30 15:26:07] INFO | @loathful_fdor: already interacted on 2024/11/30 05:30:33. Skip. +2024-11-30 15:26:08,615 - api.main - INFO - STDERR: [11/30 15:26:08] INFO | @user732728d: already interacted on 2024/11/29 04:16:36. Skip. +2024-11-30 15:26:09,562 - api.main - INFO - STDERR: [11/30 15:26:09] INFO | @pakreht: already interacted on 2024/11/29 04:16:18. Skip. +2024-11-30 15:26:10,545 - api.main - INFO - STDERR: [11/30 15:26:10] INFO | @cavalry_playground: already interacted on 2024/11/30 05:31:00. Skip. +2024-11-30 15:26:11,532 - api.main - INFO - STDERR: [11/30 15:26:11] INFO | @gabomarin_designer: already interacted on 2024/11/30 05:31:19. Skip. +2024-11-30 15:26:13,061 - api.main - INFO - STDERR: [11/30 15:26:13] INFO | All followers skipped, let's scroll. +2024-11-30 15:26:14,289 - api.main - INFO - STDERR: [11/30 15:26:14] INFO | Iterate over visible followers. +2024-11-30 15:26:19,632 - api.main - INFO - STDERR: [11/30 15:26:19] DEBUG | There are 8 users fully visible in that view. +2024-11-30 15:26:21,097 - api.main - INFO - STDERR: [11/30 15:26:21] INFO | @lorcan.archive: already interacted on 2024/11/29 01:36:59. Skip. +2024-11-30 15:26:22,008 - api.main - INFO - STDERR: [11/30 15:26:22] INFO | @_motiongrapher_: already interacted on 2024/11/29 04:17:14. Skip. +2024-11-30 15:26:22,861 - api.main - INFO - STDERR: [11/30 15:26:22] INFO | @furkanadiguzel15: already interacted on 2024/11/30 13:34:25. Skip. +2024-11-30 15:26:23,847 - api.main - INFO - STDERR: [11/30 15:26:23] INFO | @heavydirtyday: already interacted on 2024/11/29 04:16:58. Skip. +2024-11-30 15:26:24,740 - api.main - INFO - STDERR: [11/30 15:26:24] INFO | @kelevra0815: already interacted on 2024/11/30 15:10:33. Skip. +2024-11-30 15:26:25,580 - api.main - INFO - STDERR: [11/30 15:26:25] INFO | @ddrckdsgn: already interacted on 2024/11/30 05:37:10. Skip. +2024-11-30 15:26:26,510 - api.main - INFO - STDERR: [11/30 15:26:26] INFO | @xyzettgraphix_bfvk: already interacted on 2024/11/29 04:21:20. Skip. +2024-11-30 15:26:27,515 - api.main - INFO - STDERR: [11/30 15:26:27] INFO | @ooook___789: already interacted on 2024/11/29 04:17:52. Skip. +2024-11-30 15:26:29,012 - api.main - INFO - STDERR: [11/30 15:26:29] INFO | All followers skipped, let's scroll. +2024-11-30 15:26:30,258 - api.main - INFO - STDERR: [11/30 15:26:30] INFO | Iterate over visible followers. +2024-11-30 15:26:34,741 - api.main - INFO - STDERR: [11/30 15:26:34] DEBUG | There are 7 users fully visible in that view. +2024-11-30 15:26:36,026 - api.main - INFO - STDERR: [11/30 15:26:36] INFO | @oivtat: already interacted on 2024/11/29 04:17:32. Skip. +2024-11-30 15:26:36,945 - api.main - INFO - STDERR: [11/30 15:26:36] INFO | @motivomine: already interacted on 2024/11/29 04:19:52. Skip. +2024-11-30 15:26:37,916 - api.main - INFO - STDERR: [11/30 15:26:37] INFO | @379_pages: already interacted on 2024/11/30 13:37:55. Skip. +2024-11-30 15:26:38,867 - api.main - INFO - STDERR: [11/30 15:26:38] INFO | @blissfuldread: already interacted on 2024/11/29 04:22:24. Skip. +2024-11-30 15:26:39,793 - api.main - INFO - STDERR: [11/30 15:26:39] INFO | @gioph_designs: already interacted on 2024/11/29 04:23:05. Skip. +2024-11-30 15:26:40,734 - api.main - INFO - STDERR: [11/30 15:26:40] INFO | @sammeske: already interacted on 2024/11/29 04:38:40. Skip. +2024-11-30 15:26:41,684 - api.main - INFO - STDERR: [11/30 15:26:41] INFO | @jeejung_gabin: already interacted on 2024/11/29 04:35:39. Skip. +2024-11-30 15:26:43,053 - api.main - INFO - STDERR: [11/30 15:26:43] INFO | All followers skipped, let's scroll. +2024-11-30 15:26:44,263 - api.main - INFO - STDERR: [11/30 15:26:44] INFO | Iterate over visible followers. +2024-11-30 15:26:48,621 - api.main - INFO - STDERR: [11/30 15:26:48] DEBUG | There are 7 users fully visible in that view. +2024-11-30 15:26:49,793 - api.main - INFO - STDERR: [11/30 15:26:49] INFO | @artreyd: already interacted on 2024/11/29 04:23:29. Skip. +2024-11-30 15:26:50,735 - api.main - INFO - STDERR: [11/30 15:26:50] INFO | @y2knght: already interacted on 2024/11/30 05:49:04. Skip. +2024-11-30 15:26:51,580 - api.main - INFO - STDERR: [11/30 15:26:51] INFO | @neodigitalbr: already interacted on 2024/11/29 04:24:54. Skip. +2024-11-30 15:26:52,363 - api.main - INFO - STDERR: [11/30 15:26:52] INFO | @claudiatua.0v0: already interacted on 2024/11/29 04:26:30. Skip. +2024-11-30 15:26:53,340 - api.main - INFO - STDERR: [11/30 15:26:53] INFO | @jakub_bukowski: already interacted on 2024/11/30 05:49:26. Skip. +2024-11-30 15:26:54,254 - api.main - INFO - STDERR: [11/30 15:26:54] INFO | @gonepix: already interacted on 2024/11/29 04:27:07. Skip. +2024-11-30 15:26:55,081 - api.main - INFO - STDERR: [11/30 15:26:55] INFO | @audoreaudio: already interacted on 2024/11/29 04:33:46. Skip. +2024-11-30 15:26:56,443 - api.main - INFO - STDERR: [11/30 15:26:56] INFO | All followers skipped, let's scroll. +2024-11-30 15:26:57,687 - api.main - INFO - STDERR: [11/30 15:26:57] INFO | Iterate over visible followers. +2024-11-30 15:27:02,960 - api.main - INFO - STDERR: [11/30 15:27:02] DEBUG | There are 8 users fully visible in that view. +2024-11-30 15:27:04,483 - api.main - INFO - STDERR: [11/30 15:27:04] INFO | @studio_sourire: already interacted on 2024/11/29 04:27:43. Skip. +2024-11-30 15:27:05,397 - api.main - INFO - STDERR: [11/30 15:27:05] INFO | @iam_lifeflow2019: already interacted on 2024/11/29 04:36:42. Skip. +2024-11-30 15:27:06,256 - api.main - INFO - STDERR: [11/30 15:27:06] INFO | @iris_orbis: already interacted on 2024/11/29 04:34:19. Skip. +2024-11-30 15:27:07,176 - api.main - INFO - STDERR: [11/30 15:27:07] INFO | @my.sile: interact +2024-11-30 15:27:07,575 - api.main - INFO - STDERR: [11/30 15:27:07] DEBUG | Single click in (400,1356). Surface: (322-455,1315-1372) +2024-11-30 15:27:08,197 - api.main - INFO - STDERR: [11/30 15:27:08] DEBUG | 0.71s sleep +2024-11-30 15:27:08,927 - api.main - INFO - STDERR: [11/30 15:27:08] DEBUG | 2.10s sleep +2024-11-30 15:27:10,584 - api.main - INFO - STDERR: [11/30 15:27:10] INFO | CTRL-C detected . . . +2024-11-30 15:27:10,584 - api.main - INFO - STDERR: [11/30 15:27:10] INFO | -------- PAUSED: 15:27:10 -------- +2024-11-30 15:27:10,585 - api.main - INFO - STDERR: [11/30 15:27:10] INFO | NOTE: This is a rudimentary pause. It will restart the action, while retaining session data. +2024-11-30 15:27:10,585 - api.main - INFO - STDERR: [11/30 15:27:10] INFO | Press RETURN to resume or CTRL-C again to Quit: +2024-11-30 15:27:10,586 - api.main - INFO - STDERR: Error running GramAddict: EOF when reading a line +2024-11-30 15:27:10,586 - api.main - INFO - STDERR: Traceback (most recent call last): +2024-11-30 15:27:10,587 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py", line 31, in wrapper +2024-11-30 15:27:10,588 - api.main - INFO - STDERR: func(*args, **kwargs) +2024-11-30 15:27:10,588 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 109, in job +2024-11-30 15:27:10,588 - api.main - INFO - STDERR: self.handle_blogger( +2024-11-30 15:27:10,588 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 185, in handle_blogger +2024-11-30 15:27:10,588 - api.main - INFO - STDERR: handle_followers( +2024-11-30 15:27:10,588 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py", line 677, in handle_followers +2024-11-30 15:27:10,588 - api.main - INFO - STDERR: iterate_over_followers( +2024-11-30 15:27:10,588 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py", line 770, in iterate_over_followers +2024-11-30 15:27:10,588 - api.main - INFO - STDERR: element_opened = user_name_view.click_retry() +2024-11-30 15:27:10,588 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 497, in click_retry +2024-11-30 15:27:10,588 - api.main - INFO - STDERR: random_sleep(2, 4, modulable=False) +2024-11-30 15:27:10,588 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\utils.py", line 468, in random_sleep +2024-11-30 15:27:10,601 - api.main - INFO - STDERR: sleep(delay) +2024-11-30 15:27:10,601 - api.main - INFO - STDERR: KeyboardInterrupt +2024-11-30 15:27:10,601 - api.main - INFO - STDERR: During handling of the above exception, another exception occurred: +2024-11-30 15:27:10,601 - api.main - INFO - STDERR: Traceback (most recent call last): +2024-11-30 15:27:10,602 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\run.py", line 14, in +2024-11-30 15:27:10,602 - api.main - INFO - STDERR: GramAddict.run() +2024-11-30 15:27:10,602 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\__init__.py", line 10, in run +2024-11-30 15:27:10,602 - api.main - INFO - STDERR: start_bot(**kwargs) +2024-11-30 15:27:10,602 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\bot_flow.py", line 329, in start_bot +2024-11-30 15:27:10,602 - api.main - INFO - STDERR: configs.actions[plugin].run( +2024-11-30 15:27:10,602 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 126, in run +2024-11-30 15:27:10,602 - api.main - INFO - STDERR: job() +2024-11-30 15:27:10,602 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py", line 52, in wrapper +2024-11-30 15:27:10,602 - api.main - INFO - STDERR: input("") +2024-11-30 15:27:10,602 - api.main - INFO - STDERR: EOFError: EOF when reading a line +2024-11-30 15:27:10,617 - api.main - INFO - STDERR: # clear builtins._ +2024-11-30 15:27:10,617 - api.main - INFO - STDERR: # clear sys.path +2024-11-30 15:27:10,617 - api.main - INFO - STDERR: # clear sys.argv +2024-11-30 15:27:10,617 - api.main - INFO - STDERR: # clear sys.ps1 +2024-11-30 15:27:10,617 - api.main - INFO - STDERR: # clear sys.ps2 +2024-11-30 15:27:10,617 - api.main - INFO - STDERR: # clear sys.last_type +2024-11-30 15:27:10,617 - api.main - INFO - STDERR: # clear sys.last_value +2024-11-30 15:27:10,617 - api.main - INFO - STDERR: # clear sys.last_traceback +2024-11-30 15:27:10,617 - api.main - INFO - STDERR: # clear sys.path_hooks +2024-11-30 15:27:10,617 - api.main - INFO - STDERR: # clear sys.path_importer_cache +2024-11-30 15:27:10,617 - api.main - INFO - STDERR: # clear sys.meta_path +2024-11-30 15:27:10,617 - api.main - INFO - STDERR: # clear sys.__interactivehook__ +2024-11-30 15:27:10,617 - api.main - INFO - STDERR: # restore sys.stdin +2024-11-30 15:27:10,617 - api.main - INFO - STDERR: # restore sys.stdout +2024-11-30 15:27:10,651 - api.main - INFO - STDERR: # restore sys.stderr +2024-11-30 15:27:10,651 - api.main - INFO - STDERR: # cleanup[2] removing sys +2024-11-30 15:27:10,651 - api.main - INFO - STDERR: # cleanup[2] removing builtins +2024-11-30 15:27:10,651 - api.main - INFO - STDERR: # cleanup[2] removing _frozen_importlib +2024-11-30 15:27:10,651 - api.main - INFO - STDERR: # cleanup[2] removing _imp +2024-11-30 15:27:10,651 - api.main - INFO - STDERR: # cleanup[2] removing _thread +2024-11-30 15:27:10,651 - api.main - INFO - STDERR: # cleanup[2] removing _warnings +2024-11-30 15:27:10,651 - api.main - INFO - STDERR: # cleanup[2] removing _weakref +2024-11-30 15:27:10,651 - api.main - INFO - STDERR: # cleanup[2] removing _io +2024-11-30 15:27:10,651 - api.main - INFO - STDERR: # cleanup[2] removing marshal +2024-11-30 15:27:10,653 - api.main - INFO - STDERR: # cleanup[2] removing nt +2024-11-30 15:27:10,653 - api.main - INFO - STDERR: # cleanup[2] removing winreg +2024-11-30 15:27:10,653 - api.main - INFO - STDERR: # cleanup[2] removing _frozen_importlib_external +2024-11-30 15:27:10,653 - api.main - INFO - STDERR: # cleanup[2] removing time +2024-11-30 15:27:10,653 - api.main - INFO - STDERR: # cleanup[2] removing zipimport +2024-11-30 15:27:10,653 - api.main - INFO - STDERR: # cleanup[2] removing _codecs +2024-11-30 15:27:10,653 - api.main - INFO - STDERR: # cleanup[2] removing codecs +2024-11-30 15:27:10,653 - api.main - INFO - STDERR: # cleanup[2] removing encodings.aliases +2024-11-30 15:27:10,653 - api.main - INFO - STDERR: # cleanup[2] removing encodings +2024-11-30 15:27:10,653 - api.main - INFO - STDERR: # cleanup[2] removing encodings.utf_8 +2024-11-30 15:27:10,653 - api.main - INFO - STDERR: # cleanup[2] removing encodings.cp1252 +2024-11-30 15:27:10,653 - api.main - INFO - STDERR: # cleanup[2] removing _signal +2024-11-30 15:27:10,653 - api.main - INFO - STDERR: # cleanup[2] removing encodings.latin_1 +2024-11-30 15:27:10,653 - api.main - INFO - STDERR: # cleanup[2] removing _abc +2024-11-30 15:27:10,654 - api.main - INFO - STDERR: # cleanup[2] removing abc +2024-11-30 15:27:10,654 - api.main - INFO - STDERR: # cleanup[2] removing io +2024-11-30 15:27:10,654 - api.main - INFO - STDERR: # cleanup[2] removing __main__ +2024-11-30 15:27:10,654 - api.main - INFO - STDERR: # destroy __main__ +2024-11-30 15:27:10,654 - api.main - INFO - STDERR: # cleanup[2] removing _stat +2024-11-30 15:27:10,654 - api.main - INFO - STDERR: # cleanup[2] removing stat +2024-11-30 15:27:10,654 - api.main - INFO - STDERR: # cleanup[2] removing _collections_abc +2024-11-30 15:27:10,688 - api.main - INFO - STDERR: # cleanup[2] removing genericpath +2024-11-30 15:27:10,688 - api.main - INFO - STDERR: # cleanup[2] removing ntpath +2024-11-30 15:27:10,688 - api.main - INFO - STDERR: # cleanup[2] removing os.path +2024-11-30 15:27:10,688 - api.main - INFO - STDERR: # cleanup[2] removing os +2024-11-30 15:27:10,688 - api.main - INFO - STDERR: # cleanup[2] removing _sitebuiltins +2024-11-30 15:27:10,688 - api.main - INFO - STDERR: # cleanup[2] removing _locale +2024-11-30 15:27:10,688 - api.main - INFO - STDERR: # cleanup[2] removing _bootlocale +2024-11-30 15:27:10,689 - api.main - INFO - STDERR: # destroy _bootlocale +2024-11-30 15:27:10,689 - api.main - INFO - STDERR: # cleanup[2] removing _distutils_hack +2024-11-30 15:27:10,689 - api.main - INFO - STDERR: # destroy _distutils_hack +2024-11-30 15:27:10,689 - api.main - INFO - STDERR: # cleanup[2] removing site +2024-11-30 15:27:10,689 - api.main - INFO - STDERR: # destroy site +2024-11-30 15:27:10,689 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core +2024-11-30 15:27:10,689 - api.main - INFO - STDERR: # cleanup[2] removing types +2024-11-30 15:27:10,690 - api.main - INFO - STDERR: # cleanup[2] removing enum +2024-11-30 15:27:10,690 - api.main - INFO - STDERR: # cleanup[2] removing _sre +2024-11-30 15:27:10,690 - api.main - INFO - STDERR: # cleanup[2] removing sre_constants +2024-11-30 15:27:10,690 - api.main - INFO - STDERR: # destroy sre_constants +2024-11-30 15:27:10,690 - api.main - INFO - STDERR: # cleanup[2] removing sre_parse +2024-11-30 15:27:10,690 - api.main - INFO - STDERR: # cleanup[2] removing sre_compile +2024-11-30 15:27:10,690 - api.main - INFO - STDERR: # cleanup[2] removing _heapq +2024-11-30 15:27:10,690 - api.main - INFO - STDERR: # cleanup[2] removing heapq +2024-11-30 15:27:10,690 - api.main - INFO - STDERR: # cleanup[2] removing itertools +2024-11-30 15:27:10,690 - api.main - INFO - STDERR: # cleanup[2] removing keyword +2024-11-30 15:27:10,690 - api.main - INFO - STDERR: # cleanup[2] removing _operator +2024-11-30 15:27:10,690 - api.main - INFO - STDERR: # cleanup[2] removing operator +2024-11-30 15:27:10,690 - api.main - INFO - STDERR: # cleanup[2] removing reprlib +2024-11-30 15:27:10,690 - api.main - INFO - STDERR: # cleanup[2] removing _collections +2024-11-30 15:27:10,690 - api.main - INFO - STDERR: # cleanup[2] removing collections +2024-11-30 15:27:10,691 - api.main - INFO - STDERR: # cleanup[2] removing _functools +2024-11-30 15:27:10,691 - api.main - INFO - STDERR: # cleanup[2] removing functools +2024-11-30 15:27:10,691 - api.main - INFO - STDERR: # cleanup[2] removing copyreg +2024-11-30 15:27:10,691 - api.main - INFO - STDERR: # cleanup[2] removing re +2024-11-30 15:27:10,691 - api.main - INFO - STDERR: # cleanup[2] removing token +2024-11-30 15:27:10,691 - api.main - INFO - STDERR: # cleanup[2] removing tokenize +2024-11-30 15:27:10,691 - api.main - INFO - STDERR: # cleanup[2] removing linecache +2024-11-30 15:27:10,691 - api.main - INFO - STDERR: # cleanup[2] removing traceback +2024-11-30 15:27:10,691 - api.main - INFO - STDERR: # cleanup[2] removing warnings +2024-11-30 15:27:10,691 - api.main - INFO - STDERR: # cleanup[2] removing _weakrefset +2024-11-30 15:27:10,691 - api.main - INFO - STDERR: # destroy _weakrefset +2024-11-30 15:27:10,691 - api.main - INFO - STDERR: # cleanup[2] removing weakref +2024-11-30 15:27:10,691 - api.main - INFO - STDERR: # cleanup[2] removing collections.abc +2024-11-30 15:27:10,691 - api.main - INFO - STDERR: # cleanup[2] removing _string +2024-11-30 15:27:10,691 - api.main - INFO - STDERR: # cleanup[2] removing string +2024-11-30 15:27:10,691 - api.main - INFO - STDERR: # cleanup[2] removing threading +2024-11-30 15:27:10,691 - api.main - INFO - STDERR: # cleanup[2] removing atexit +2024-11-30 15:27:10,691 - api.main - INFO - STDERR: # cleanup[2] removing logging +2024-11-30 15:27:10,691 - api.main - INFO - STDERR: # cleanup[2] removing math +2024-11-30 15:27:10,691 - api.main - INFO - STDERR: # cleanup[2] removing _bisect +2024-11-30 15:27:10,703 - api.main - INFO - STDERR: # cleanup[2] removing bisect +2024-11-30 15:27:10,704 - api.main - INFO - STDERR: # cleanup[2] removing _random +2024-11-30 15:27:10,704 - api.main - INFO - STDERR: # cleanup[2] removing _sha512 +2024-11-30 15:27:10,704 - api.main - INFO - STDERR: # cleanup[2] removing random +2024-11-30 15:27:10,704 - api.main - INFO - STDERR: # cleanup[2] removing _datetime +2024-11-30 15:27:10,705 - api.main - INFO - STDERR: # cleanup[2] removing datetime +2024-11-30 15:27:10,705 - api.main - INFO - STDERR: # cleanup[2] removing contextlib +2024-11-30 15:27:10,705 - api.main - INFO - STDERR: # cleanup[2] removing colorama.ansi +2024-11-30 15:27:10,705 - api.main - INFO - STDERR: # cleanup[2] removing _ctypes +2024-11-30 15:27:10,705 - api.main - INFO - STDERR: # cleanup[2] removing _struct +2024-11-30 15:27:10,706 - api.main - INFO - STDERR: # cleanup[2] removing struct +2024-11-30 15:27:10,706 - api.main - INFO - STDERR: # cleanup[2] removing ctypes._endian +2024-11-30 15:27:10,706 - api.main - INFO - STDERR: # cleanup[2] removing ctypes +2024-11-30 15:27:10,706 - api.main - INFO - STDERR: # cleanup[2] removing ctypes.wintypes +2024-11-30 15:27:10,706 - api.main - INFO - STDERR: # cleanup[2] removing colorama.win32 +2024-11-30 15:27:10,706 - api.main - INFO - STDERR: # cleanup[2] removing colorama.winterm +2024-11-30 15:27:10,707 - api.main - INFO - STDERR: # cleanup[2] removing colorama.ansitowin32 +2024-11-30 15:27:10,707 - api.main - INFO - STDERR: # cleanup[2] removing colorama.initialise +2024-11-30 15:27:10,707 - api.main - INFO - STDERR: # cleanup[2] removing colorama +2024-11-30 15:27:10,707 - api.main - INFO - STDERR: # destroy colorama +2024-11-30 15:27:10,707 - api.main - INFO - STDERR: # destroy colorama.ansi +2024-11-30 15:27:10,707 - api.main - INFO - STDERR: # destroy colorama.winterm +2024-11-30 15:27:10,707 - api.main - INFO - STDERR: # destroy colorama.ansitowin32 +2024-11-30 15:27:10,707 - api.main - INFO - STDERR: # destroy colorama.initialise +2024-11-30 15:27:10,708 - api.main - INFO - STDERR: # cleanup[2] removing typing +2024-11-30 15:27:10,708 - api.main - INFO - STDERR: # cleanup[2] removing gettext +2024-11-30 15:27:10,708 - api.main - INFO - STDERR: # destroy gettext +2024-11-30 15:27:10,709 - api.main - INFO - STDERR: # cleanup[2] removing argparse +2024-11-30 15:27:10,710 - api.main - INFO - STDERR: # cleanup[2] removing _json +2024-11-30 15:27:10,711 - api.main - INFO - STDERR: # cleanup[2] removing json.scanner +2024-11-30 15:27:10,711 - api.main - INFO - STDERR: # cleanup[2] removing json.decoder +2024-11-30 15:27:10,711 - api.main - INFO - STDERR: # cleanup[2] removing json.encoder +2024-11-30 15:27:10,711 - api.main - INFO - STDERR: # cleanup[2] removing json +2024-11-30 15:27:10,711 - api.main - INFO - STDERR: # cleanup[2] removing posixpath +2024-11-30 15:27:10,711 - api.main - INFO - STDERR: # cleanup[2] removing fnmatch +2024-11-30 15:27:10,712 - api.main - INFO - STDERR: # cleanup[2] removing glob +2024-11-30 15:27:10,712 - api.main - INFO - STDERR: # cleanup[2] removing textwrap +2024-11-30 15:27:10,712 - api.main - INFO - STDERR: # cleanup[2] removing configargparse +2024-11-30 15:27:10,712 - api.main - INFO - STDERR: # cleanup[2] removing yaml.error +2024-11-30 15:27:10,712 - api.main - INFO - STDERR: # cleanup[2] removing yaml.tokens +2024-11-30 15:27:10,713 - api.main - INFO - STDERR: # cleanup[2] removing yaml.events +2024-11-30 15:27:10,713 - api.main - INFO - STDERR: # cleanup[2] removing yaml.nodes +2024-11-30 15:27:10,713 - api.main - INFO - STDERR: # cleanup[2] removing yaml.reader +2024-11-30 15:27:10,713 - api.main - INFO - STDERR: # cleanup[2] removing yaml.scanner +2024-11-30 15:27:10,714 - api.main - INFO - STDERR: # cleanup[2] removing yaml.parser +2024-11-30 15:27:10,714 - api.main - INFO - STDERR: # cleanup[2] removing yaml.composer +2024-11-30 15:27:10,714 - api.main - INFO - STDERR: # cleanup[2] removing binascii +2024-11-30 15:27:10,734 - api.main - INFO - STDERR: # cleanup[2] removing base64 +2024-11-30 15:27:10,735 - api.main - INFO - STDERR: # cleanup[2] removing yaml.constructor +2024-11-30 15:27:10,735 - api.main - INFO - STDERR: # cleanup[2] removing yaml.resolver +2024-11-30 15:27:10,735 - api.main - INFO - STDERR: # cleanup[2] removing yaml.loader +2024-11-30 15:27:10,735 - api.main - INFO - STDERR: # cleanup[2] removing yaml.emitter +2024-11-30 15:27:10,736 - api.main - INFO - STDERR: # cleanup[2] removing yaml.serializer +2024-11-30 15:27:10,736 - api.main - INFO - STDERR: # cleanup[2] removing yaml.representer +2024-11-30 15:27:10,736 - api.main - INFO - STDERR: # cleanup[2] removing yaml.dumper +2024-11-30 15:27:10,736 - api.main - INFO - STDERR: # cleanup[2] removing cython_runtime +2024-11-30 15:27:10,736 - api.main - INFO - STDERR: # cleanup[2] removing yaml._yaml +2024-11-30 15:27:10,736 - api.main - INFO - STDERR: # cleanup[2] removing yaml.cyaml +2024-11-30 15:27:10,737 - api.main - INFO - STDERR: # cleanup[2] removing yaml +2024-11-30 15:27:10,737 - api.main - INFO - STDERR: # cleanup[2] removing _ast +2024-11-30 15:27:10,737 - api.main - INFO - STDERR: # destroy _ast +2024-11-30 15:27:10,737 - api.main - INFO - STDERR: # cleanup[2] removing ast +2024-11-30 15:27:10,737 - api.main - INFO - STDERR: # cleanup[2] removing _opcode +2024-11-30 15:27:10,737 - api.main - INFO - STDERR: # cleanup[2] removing opcode +2024-11-30 15:27:10,737 - api.main - INFO - STDERR: # destroy opcode +2024-11-30 15:27:10,737 - api.main - INFO - STDERR: # cleanup[2] removing dis +2024-11-30 15:27:10,737 - api.main - INFO - STDERR: # cleanup[2] removing importlib._bootstrap +2024-11-30 15:27:10,737 - api.main - INFO - STDERR: # cleanup[2] removing importlib._bootstrap_external +2024-11-30 15:27:10,737 - api.main - INFO - STDERR: # cleanup[2] removing importlib +2024-11-30 15:27:10,737 - api.main - INFO - STDERR: # cleanup[2] removing importlib.machinery +2024-11-30 15:27:10,738 - api.main - INFO - STDERR: # cleanup[2] removing inspect +2024-11-30 15:27:10,738 - api.main - INFO - STDERR: # cleanup[2] removing importlib.abc +2024-11-30 15:27:10,738 - api.main - INFO - STDERR: # cleanup[2] removing importlib.util +2024-11-30 15:27:10,738 - api.main - INFO - STDERR: # cleanup[2] removing pkgutil +2024-11-30 15:27:10,738 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.plugin_loader +2024-11-30 15:27:10,738 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.config +2024-11-30 15:27:10,739 - api.main - INFO - STDERR: # cleanup[2] removing errno +2024-11-30 15:27:10,739 - api.main - INFO - STDERR: # cleanup[2] removing signal +2024-11-30 15:27:10,739 - api.main - INFO - STDERR: # cleanup[2] removing msvcrt +2024-11-30 15:27:10,739 - api.main - INFO - STDERR: # cleanup[2] removing _winapi +2024-11-30 15:27:10,740 - api.main - INFO - STDERR: # cleanup[2] removing subprocess +2024-11-30 15:27:10,740 - api.main - INFO - STDERR: # cleanup[2] removing __future__ +2024-11-30 15:27:10,740 - api.main - INFO - STDERR: # destroy __future__ +2024-11-30 15:27:10,740 - api.main - INFO - STDERR: # cleanup[2] removing _hashlib +2024-11-30 15:27:10,740 - api.main - INFO - STDERR: # cleanup[2] removing _blake2 +2024-11-30 15:27:10,741 - api.main - INFO - STDERR: # cleanup[2] removing hashlib +2024-11-30 15:27:10,741 - api.main - INFO - STDERR: # cleanup[2] removing zlib +2024-11-30 15:27:10,741 - api.main - INFO - STDERR: # cleanup[2] removing _compression +2024-11-30 15:27:10,741 - api.main - INFO - STDERR: # cleanup[2] removing _bz2 +2024-11-30 15:27:10,741 - api.main - INFO - STDERR: # destroy _bz2 +2024-11-30 15:27:10,742 - api.main - INFO - STDERR: # cleanup[2] removing bz2 +2024-11-30 15:27:10,742 - api.main - INFO - STDERR: # cleanup[2] removing _lzma +2024-11-30 15:27:10,742 - api.main - INFO - STDERR: # cleanup[2] removing lzma +2024-11-30 15:27:10,743 - api.main - INFO - STDERR: # cleanup[2] removing shutil +2024-11-30 15:27:10,743 - api.main - INFO - STDERR: # cleanup[2] removing xml +2024-11-30 15:27:10,771 - api.main - INFO - All tasks cleaned up. +2024-11-30 15:27:10,780 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.domreg +2024-11-30 15:27:10,783 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom +2024-11-30 15:27:10,783 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.minicompat +2024-11-30 15:27:10,784 - api.main - INFO - STDERR: # cleanup[2] removing copy +2024-11-30 15:27:10,785 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.NodeFilter +2024-11-30 15:27:10,786 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.xmlbuilder +2024-11-30 15:27:10,786 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.minidom +2024-11-30 15:27:10,787 - api.main - INFO - STDERR: # cleanup[2] removing urllib +2024-11-30 15:27:10,787 - api.main - INFO - STDERR: # cleanup[2] removing urllib.parse +2024-11-30 15:27:10,787 - api.main - INFO - STDERR: # cleanup[2] removing pathlib +2024-11-30 15:27:13,190 - api.main - INFO - API startup complete +2024-11-30 15:28:29,061 - api.main - INFO - All tasks cleaned up. +2024-11-30 15:28:30,020 - api.main - INFO - API startup complete +2024-11-30 15:28:41,855 - api.main - INFO - API startup complete +2024-11-30 15:29:36,210 - api.main - INFO - Starting session for account quecreate with config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml +2024-11-30 15:29:36,211 - api.main - INFO - Running command: e:\PROJECTS\instagram automation\virtualinfluencer\venv\Scripts\python.exe -v e:\PROJECTS\instagram automation\virtualinfluencer\run.py --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 15:29:36,211 - api.main - INFO - Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 15:29:36,211 - api.main - INFO - Environment PYTHONPATH: None +2024-11-30 15:29:36,211 - api.main - INFO - Starting process with command: e:\PROJECTS\instagram automation\virtualinfluencer\venv\Scripts\python.exe -v e:\PROJECTS\instagram automation\virtualinfluencer\run.py --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 15:29:36,211 - api.main - INFO - Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 15:29:36,211 - api.main - INFO - PYTHONPATH: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 15:29:36,218 - api.main - INFO - Process started with PID: 28076 +2024-11-30 15:29:36,218 - api.main - INFO - Successfully started session for account: quecreate +2024-11-30 15:29:36,236 - api.main - INFO - STDERR: import _frozen_importlib # frozen +2024-11-30 15:29:36,237 - api.main - INFO - STDERR: import _imp # builtin +2024-11-30 15:29:36,237 - api.main - INFO - STDERR: import '_thread' # +2024-11-30 15:29:36,237 - api.main - INFO - STDERR: import '_warnings' # +2024-11-30 15:29:36,237 - api.main - INFO - STDERR: import '_weakref' # +2024-11-30 15:29:36,237 - api.main - INFO - STDERR: import '_io' # +2024-11-30 15:29:36,237 - api.main - INFO - STDERR: import 'marshal' # +2024-11-30 15:29:36,237 - api.main - INFO - STDERR: import 'nt' # +2024-11-30 15:29:36,237 - api.main - INFO - STDERR: import 'winreg' # +2024-11-30 15:29:36,237 - api.main - INFO - STDERR: import '_frozen_importlib_external' # +2024-11-30 15:29:36,237 - api.main - INFO - STDERR: # installing zipimport hook +2024-11-30 15:29:36,238 - api.main - INFO - STDERR: import 'time' # +2024-11-30 15:29:36,238 - api.main - INFO - STDERR: import 'zipimport' # +2024-11-30 15:29:36,238 - api.main - INFO - STDERR: # installed zipimport hook +2024-11-30 15:29:36,240 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__init__.py +2024-11-30 15:29:36,240 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,241 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\codecs.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\codecs.py +2024-11-30 15:29:36,241 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\codecs.cpython-39.pyc' +2024-11-30 15:29:36,241 - api.main - INFO - STDERR: import '_codecs' # +2024-11-30 15:29:36,241 - api.main - INFO - STDERR: import 'codecs' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3765940> +2024-11-30 15:29:36,242 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\aliases.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\aliases.py +2024-11-30 15:29:36,242 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\aliases.cpython-39.pyc' +2024-11-30 15:29:36,243 - api.main - INFO - STDERR: import 'encodings.aliases' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F38D4EB0> +2024-11-30 15:29:36,243 - api.main - INFO - STDERR: import 'encodings' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3765730> +2024-11-30 15:29:36,243 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\utf_8.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\utf_8.py +2024-11-30 15:29:36,243 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\utf_8.cpython-39.pyc' +2024-11-30 15:29:36,243 - api.main - INFO - STDERR: import 'encodings.utf_8' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3765790> +2024-11-30 15:29:36,244 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\cp1252.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\cp1252.py +2024-11-30 15:29:36,244 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\cp1252.cpython-39.pyc' +2024-11-30 15:29:36,244 - api.main - INFO - STDERR: import 'encodings.cp1252' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F38D4FA0> +2024-11-30 15:29:36,244 - api.main - INFO - STDERR: import '_signal' # +2024-11-30 15:29:36,245 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\latin_1.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\latin_1.py +2024-11-30 15:29:36,245 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\latin_1.cpython-39.pyc' +2024-11-30 15:29:36,245 - api.main - INFO - STDERR: import 'encodings.latin_1' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F38EC340> +2024-11-30 15:29:36,245 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\io.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\io.py +2024-11-30 15:29:36,245 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\io.cpython-39.pyc' +2024-11-30 15:29:36,246 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\abc.py +2024-11-30 15:29:36,246 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 15:29:36,246 - api.main - INFO - STDERR: import '_abc' # +2024-11-30 15:29:36,246 - api.main - INFO - STDERR: import 'abc' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F38EC7F0> +2024-11-30 15:29:36,246 - api.main - INFO - STDERR: import 'io' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F38EC520> +2024-11-30 15:29:36,247 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\site.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\site.py +2024-11-30 15:29:36,247 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\site.cpython-39.pyc' +2024-11-30 15:29:36,247 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\os.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\os.py +2024-11-30 15:29:36,248 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\os.cpython-39.pyc' +2024-11-30 15:29:36,248 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\stat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\stat.py +2024-11-30 15:29:36,248 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\stat.cpython-39.pyc' +2024-11-30 15:29:36,248 - api.main - INFO - STDERR: import '_stat' # +2024-11-30 15:29:36,248 - api.main - INFO - STDERR: import 'stat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F390FFA0> +2024-11-30 15:29:36,249 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_collections_abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_collections_abc.py +2024-11-30 15:29:36,249 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_collections_abc.cpython-39.pyc' +2024-11-30 15:29:36,250 - api.main - INFO - STDERR: import '_collections_abc' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3916130> +2024-11-30 15:29:36,251 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ntpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ntpath.py +2024-11-30 15:29:36,251 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ntpath.cpython-39.pyc' +2024-11-30 15:29:36,252 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\genericpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\genericpath.py +2024-11-30 15:29:36,252 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\genericpath.cpython-39.pyc' +2024-11-30 15:29:36,252 - api.main - INFO - STDERR: import 'genericpath' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F393F970> +2024-11-30 15:29:36,252 - api.main - INFO - STDERR: import 'ntpath' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3916A60> +2024-11-30 15:29:36,252 - api.main - INFO - STDERR: import 'os' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F38F57C0> +2024-11-30 15:29:36,253 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_sitebuiltins.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_sitebuiltins.py +2024-11-30 15:29:36,254 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_sitebuiltins.cpython-39.pyc' +2024-11-30 15:29:36,254 - api.main - INFO - STDERR: import '_sitebuiltins' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F390F460> +2024-11-30 15:29:36,255 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_bootlocale.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_bootlocale.py +2024-11-30 15:29:36,255 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_bootlocale.cpython-39.pyc' +2024-11-30 15:29:36,255 - api.main - INFO - STDERR: import '_locale' # +2024-11-30 15:29:36,256 - api.main - INFO - STDERR: import '_bootlocale' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F393FD90> +2024-11-30 15:29:36,257 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__init__.py +2024-11-30 15:29:36,257 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\_distutils_hack\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,257 - api.main - INFO - STDERR: import '_distutils_hack' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3955B80> +2024-11-30 15:29:36,258 - api.main - INFO - STDERR: import 'site' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F38EC850> +2024-11-30 15:29:36,259 - api.main - INFO - STDERR: Python 3.9.10 (tags/v3.9.10:f2f3f53, Jan 17 2022, 15:14:21) [MSC v.1929 64 bit (AMD64)] on win32 +2024-11-30 15:29:36,259 - api.main - INFO - STDERR: Type "help", "copyright", "credits" or "license" for more information. +2024-11-30 15:29:36,261 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\__init__.py +2024-11-30 15:29:36,261 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,261 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__init__.py +2024-11-30 15:29:36,261 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,261 - api.main - INFO - STDERR: import 'GramAddict.core' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F39645B0> +2024-11-30 15:29:36,262 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\bot_flow.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\bot_flow.py +2024-11-30 15:29:36,262 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\bot_flow.cpython-39.pyc' +2024-11-30 15:29:36,263 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__init__.py +2024-11-30 15:29:36,264 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\logging\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,264 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\re.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\re.py +2024-11-30 15:29:36,264 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\re.cpython-39.pyc' +2024-11-30 15:29:36,266 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\enum.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\enum.py +2024-11-30 15:29:36,266 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\enum.cpython-39.pyc' +2024-11-30 15:29:36,267 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\types.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\types.py +2024-11-30 15:29:36,267 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\types.cpython-39.pyc' +2024-11-30 15:29:36,267 - api.main - INFO - STDERR: import 'types' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3BA74C0> +2024-11-30 15:29:36,267 - api.main - INFO - STDERR: import 'enum' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3B8EFD0> +2024-11-30 15:29:36,268 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_compile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_compile.py +2024-11-30 15:29:36,269 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_compile.cpython-39.pyc' +2024-11-30 15:29:36,269 - api.main - INFO - STDERR: import '_sre' # +2024-11-30 15:29:36,269 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_parse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_parse.py +2024-11-30 15:29:36,269 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_parse.cpython-39.pyc' +2024-11-30 15:29:36,271 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_constants.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_constants.py +2024-11-30 15:29:36,271 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_constants.cpython-39.pyc' +2024-11-30 15:29:36,272 - api.main - INFO - STDERR: import 'sre_constants' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3BCB2E0> +2024-11-30 15:29:36,272 - api.main - INFO - STDERR: import 'sre_parse' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3BB98B0> +2024-11-30 15:29:36,272 - api.main - INFO - STDERR: import 'sre_compile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3BA7FD0> +2024-11-30 15:29:36,273 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\functools.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\functools.py +2024-11-30 15:29:36,273 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\functools.cpython-39.pyc' +2024-11-30 15:29:36,273 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__init__.py +2024-11-30 15:29:36,274 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\collections\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,274 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\heapq.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\heapq.py +2024-11-30 15:29:36,275 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\heapq.cpython-39.pyc' +2024-11-30 15:29:36,275 - api.main - INFO - STDERR: import '_heapq' # +2024-11-30 15:29:36,275 - api.main - INFO - STDERR: import 'heapq' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3BFEA60> +2024-11-30 15:29:36,275 - api.main - INFO - STDERR: import 'itertools' # +2024-11-30 15:29:36,276 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\keyword.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\keyword.py +2024-11-30 15:29:36,276 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\keyword.cpython-39.pyc' +2024-11-30 15:29:36,276 - api.main - INFO - STDERR: import 'keyword' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3BFEFD0> +2024-11-30 15:29:36,277 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\operator.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\operator.py +2024-11-30 15:29:36,277 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\operator.cpython-39.pyc' +2024-11-30 15:29:36,277 - api.main - INFO - STDERR: import '_operator' # +2024-11-30 15:29:36,277 - api.main - INFO - STDERR: import 'operator' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3BFEF10> +2024-11-30 15:29:36,278 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\reprlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\reprlib.py +2024-11-30 15:29:36,278 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\reprlib.cpython-39.pyc' +2024-11-30 15:29:36,278 - api.main - INFO - STDERR: import 'reprlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3C10160> +2024-11-30 15:29:36,278 - api.main - INFO - STDERR: import '_collections' # +2024-11-30 15:29:36,278 - api.main - INFO - STDERR: import 'collections' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3BD9EE0> +2024-11-30 15:29:36,278 - api.main - INFO - STDERR: import '_functools' # +2024-11-30 15:29:36,278 - api.main - INFO - STDERR: import 'functools' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3BD1790> +2024-11-30 15:29:36,280 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\copyreg.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\copyreg.py +2024-11-30 15:29:36,280 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\copyreg.cpython-39.pyc' +2024-11-30 15:29:36,280 - api.main - INFO - STDERR: import 'copyreg' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3BE6730> +2024-11-30 15:29:36,280 - api.main - INFO - STDERR: import 're' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3B8E580> +2024-11-30 15:29:36,281 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\traceback.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\traceback.py +2024-11-30 15:29:36,281 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\traceback.cpython-39.pyc' +2024-11-30 15:29:36,282 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\linecache.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\linecache.py +2024-11-30 15:29:36,282 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\linecache.cpython-39.pyc' +2024-11-30 15:29:36,283 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tokenize.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tokenize.py +2024-11-30 15:29:36,283 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tokenize.cpython-39.pyc' +2024-11-30 15:29:36,284 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\token.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\token.py +2024-11-30 15:29:36,284 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\token.cpython-39.pyc' +2024-11-30 15:29:36,284 - api.main - INFO - STDERR: import 'token' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3C13F40> +2024-11-30 15:29:36,285 - api.main - INFO - STDERR: import 'tokenize' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3C13550> +2024-11-30 15:29:36,285 - api.main - INFO - STDERR: import 'linecache' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3C10A90> +2024-11-30 15:29:36,285 - api.main - INFO - STDERR: import 'traceback' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3BE6340> +2024-11-30 15:29:36,286 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\warnings.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\warnings.py +2024-11-30 15:29:36,286 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\warnings.cpython-39.pyc' +2024-11-30 15:29:36,286 - api.main - INFO - STDERR: import 'warnings' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3C10910> +2024-11-30 15:29:36,287 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\weakref.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\weakref.py +2024-11-30 15:29:36,288 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\weakref.cpython-39.pyc' +2024-11-30 15:29:36,289 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_weakrefset.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_weakrefset.py +2024-11-30 15:29:36,289 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_weakrefset.cpython-39.pyc' +2024-11-30 15:29:36,289 - api.main - INFO - STDERR: import '_weakrefset' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3C55D90> +2024-11-30 15:29:36,289 - api.main - INFO - STDERR: import 'weakref' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3C19760> +2024-11-30 15:29:36,290 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\abc.py +2024-11-30 15:29:36,290 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\collections\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 15:29:36,290 - api.main - INFO - STDERR: import 'collections.abc' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3C5FA30> +2024-11-30 15:29:36,291 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\string.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\string.py +2024-11-30 15:29:36,291 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\string.cpython-39.pyc' +2024-11-30 15:29:36,291 - api.main - INFO - STDERR: import '_string' # +2024-11-30 15:29:36,291 - api.main - INFO - STDERR: import 'string' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3C5FB20> +2024-11-30 15:29:36,292 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\threading.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\threading.py +2024-11-30 15:29:36,292 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\threading.cpython-39.pyc' +2024-11-30 15:29:36,292 - api.main - INFO - STDERR: import 'threading' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3C6A130> +2024-11-30 15:29:36,293 - api.main - INFO - STDERR: import 'atexit' # +2024-11-30 15:29:36,293 - api.main - INFO - STDERR: import 'logging' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3964190> +2024-11-30 15:29:36,294 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\random.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\random.py +2024-11-30 15:29:36,294 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\random.cpython-39.pyc' +2024-11-30 15:29:36,294 - api.main - INFO - STDERR: import 'math' # +2024-11-30 15:29:36,296 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\bisect.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\bisect.py +2024-11-30 15:29:36,296 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\bisect.cpython-39.pyc' +2024-11-30 15:29:36,296 - api.main - INFO - STDERR: import '_bisect' # +2024-11-30 15:29:36,296 - api.main - INFO - STDERR: import 'bisect' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3C8CF40> +2024-11-30 15:29:36,296 - api.main - INFO - STDERR: import '_random' # +2024-11-30 15:29:36,296 - api.main - INFO - STDERR: import '_sha512' # +2024-11-30 15:29:36,296 - api.main - INFO - STDERR: import 'random' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3955130> +2024-11-30 15:29:36,296 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\datetime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\datetime.py +2024-11-30 15:29:36,296 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\datetime.cpython-39.pyc' +2024-11-30 15:29:36,298 - api.main - INFO - STDERR: import '_datetime' # +2024-11-30 15:29:36,298 - api.main - INFO - STDERR: import 'datetime' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3CA4190> +2024-11-30 15:29:36,298 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__init__.py +2024-11-30 15:29:36,298 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,299 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\initialise.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\initialise.py +2024-11-30 15:29:36,299 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\initialise.cpython-39.pyc' +2024-11-30 15:29:36,300 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\contextlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\contextlib.py +2024-11-30 15:29:36,300 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\contextlib.cpython-39.pyc' +2024-11-30 15:29:36,300 - api.main - INFO - STDERR: import 'contextlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3CCFBB0> +2024-11-30 15:29:36,300 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\ansitowin32.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\ansitowin32.py +2024-11-30 15:29:36,300 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\ansitowin32.cpython-39.pyc' +2024-11-30 15:29:36,301 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\ansi.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\ansi.py +2024-11-30 15:29:36,301 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\ansi.cpython-39.pyc' +2024-11-30 15:29:36,301 - api.main - INFO - STDERR: import 'colorama.ansi' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3CDF730> +2024-11-30 15:29:36,301 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\winterm.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\winterm.py +2024-11-30 15:29:36,301 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\winterm.cpython-39.pyc' +2024-11-30 15:29:36,302 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\win32.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\win32.py +2024-11-30 15:29:36,302 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\win32.cpython-39.pyc' +2024-11-30 15:29:36,302 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__init__.py +2024-11-30 15:29:36,302 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,308 - api.main - INFO - STDERR: # extension module '_ctypes' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ctypes.pyd' +2024-11-30 15:29:36,308 - api.main - INFO - STDERR: # extension module '_ctypes' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ctypes.pyd' +2024-11-30 15:29:36,309 - api.main - INFO - STDERR: import '_ctypes' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001F5F3D007C0> +2024-11-30 15:29:36,309 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\struct.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\struct.py +2024-11-30 15:29:36,309 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\struct.cpython-39.pyc' +2024-11-30 15:29:36,309 - api.main - INFO - STDERR: import '_struct' # +2024-11-30 15:29:36,309 - api.main - INFO - STDERR: import 'struct' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3D00CA0> +2024-11-30 15:29:36,310 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\_endian.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\_endian.py +2024-11-30 15:29:36,310 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\_endian.cpython-39.pyc' +2024-11-30 15:29:36,310 - api.main - INFO - STDERR: import 'ctypes._endian' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3D11A00> +2024-11-30 15:29:36,310 - api.main - INFO - STDERR: import 'ctypes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3CF4520> +2024-11-30 15:29:36,310 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\wintypes.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\wintypes.py +2024-11-30 15:29:36,310 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\wintypes.cpython-39.pyc' +2024-11-30 15:29:36,312 - api.main - INFO - STDERR: import 'ctypes.wintypes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3CF4970> +2024-11-30 15:29:36,312 - api.main - INFO - STDERR: import 'colorama.win32' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3CCF2E0> +2024-11-30 15:29:36,312 - api.main - INFO - STDERR: import 'colorama.winterm' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3CDFD30> +2024-11-30 15:29:36,312 - api.main - INFO - STDERR: import 'colorama.ansitowin32' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3CCFF10> +2024-11-30 15:29:36,312 - api.main - INFO - STDERR: import 'colorama.initialise' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3CCF940> +2024-11-30 15:29:36,312 - api.main - INFO - STDERR: import 'colorama' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3CA4220> +2024-11-30 15:29:36,313 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\config.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\config.py +2024-11-30 15:29:36,313 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\config.cpython-39.pyc' +2024-11-30 15:29:36,314 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\typing.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\typing.py +2024-11-30 15:29:36,315 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\typing.cpython-39.pyc' +2024-11-30 15:29:36,316 - api.main - INFO - STDERR: import 'typing' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3D11FA0> +2024-11-30 15:29:36,316 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\configargparse.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\configargparse.py +2024-11-30 15:29:36,317 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\configargparse.cpython-39.pyc' +2024-11-30 15:29:36,318 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\argparse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\argparse.py +2024-11-30 15:29:36,319 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\argparse.cpython-39.pyc' +2024-11-30 15:29:36,319 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\gettext.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\gettext.py +2024-11-30 15:29:36,319 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\gettext.cpython-39.pyc' +2024-11-30 15:29:36,321 - api.main - INFO - STDERR: import 'gettext' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3CA4AC0> +2024-11-30 15:29:36,321 - api.main - INFO - STDERR: import 'argparse' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5712FD0> +2024-11-30 15:29:36,322 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__init__.py +2024-11-30 15:29:36,322 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,323 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\decoder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\decoder.py +2024-11-30 15:29:36,323 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\decoder.cpython-39.pyc' +2024-11-30 15:29:36,323 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\scanner.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\scanner.py +2024-11-30 15:29:36,323 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\scanner.cpython-39.pyc' +2024-11-30 15:29:36,323 - api.main - INFO - STDERR: import '_json' # +2024-11-30 15:29:36,324 - api.main - INFO - STDERR: import 'json.scanner' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3C137C0> +2024-11-30 15:29:36,324 - api.main - INFO - STDERR: import 'json.decoder' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3CBF070> +2024-11-30 15:29:36,325 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\encoder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\encoder.py +2024-11-30 15:29:36,325 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\encoder.cpython-39.pyc' +2024-11-30 15:29:36,325 - api.main - INFO - STDERR: import 'json.encoder' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3CBFD60> +2024-11-30 15:29:36,325 - api.main - INFO - STDERR: import 'json' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3CB6C40> +2024-11-30 15:29:36,327 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\glob.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\glob.py +2024-11-30 15:29:36,327 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\glob.cpython-39.pyc' +2024-11-30 15:29:36,328 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\fnmatch.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\fnmatch.py +2024-11-30 15:29:36,328 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\fnmatch.cpython-39.pyc' +2024-11-30 15:29:36,328 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\posixpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\posixpath.py +2024-11-30 15:29:36,328 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\posixpath.cpython-39.pyc' +2024-11-30 15:29:36,328 - api.main - INFO - STDERR: import 'posixpath' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5752790> +2024-11-30 15:29:36,329 - api.main - INFO - STDERR: import 'fnmatch' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5752430> +2024-11-30 15:29:36,329 - api.main - INFO - STDERR: import 'glob' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F572AC10> +2024-11-30 15:29:36,330 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\textwrap.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\textwrap.py +2024-11-30 15:29:36,331 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\textwrap.cpython-39.pyc' +2024-11-30 15:29:36,331 - api.main - INFO - STDERR: import 'textwrap' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F57525E0> +2024-11-30 15:29:36,331 - api.main - INFO - STDERR: import 'configargparse' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3D328E0> +2024-11-30 15:29:36,333 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__init__.py +2024-11-30 15:29:36,333 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,333 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\error.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\error.py +2024-11-30 15:29:36,334 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\error.cpython-39.pyc' +2024-11-30 15:29:36,334 - api.main - INFO - STDERR: import 'yaml.error' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5765D30> +2024-11-30 15:29:36,334 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\tokens.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\tokens.py +2024-11-30 15:29:36,334 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\tokens.cpython-39.pyc' +2024-11-30 15:29:36,334 - api.main - INFO - STDERR: import 'yaml.tokens' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5765EE0> +2024-11-30 15:29:36,334 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\events.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\events.py +2024-11-30 15:29:36,334 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\events.cpython-39.pyc' +2024-11-30 15:29:36,334 - api.main - INFO - STDERR: import 'yaml.events' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F576D1F0> +2024-11-30 15:29:36,335 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\nodes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\nodes.py +2024-11-30 15:29:36,335 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\nodes.cpython-39.pyc' +2024-11-30 15:29:36,335 - api.main - INFO - STDERR: import 'yaml.nodes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F576DA00> +2024-11-30 15:29:36,336 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\loader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\loader.py +2024-11-30 15:29:36,336 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\loader.cpython-39.pyc' +2024-11-30 15:29:36,336 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\reader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\reader.py +2024-11-30 15:29:36,336 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\reader.cpython-39.pyc' +2024-11-30 15:29:36,340 - api.main - INFO - STDERR: import 'yaml.reader' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F577C370> +2024-11-30 15:29:36,342 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\scanner.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\scanner.py +2024-11-30 15:29:36,343 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\scanner.cpython-39.pyc' +2024-11-30 15:29:36,343 - api.main - INFO - STDERR: import 'yaml.scanner' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F577C700> +2024-11-30 15:29:36,343 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\parser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\parser.py +2024-11-30 15:29:36,344 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\parser.cpython-39.pyc' +2024-11-30 15:29:36,344 - api.main - INFO - STDERR: import 'yaml.parser' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5786280> +2024-11-30 15:29:36,344 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\composer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\composer.py +2024-11-30 15:29:36,344 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\composer.cpython-39.pyc' +2024-11-30 15:29:36,344 - api.main - INFO - STDERR: import 'yaml.composer' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5786940> +2024-11-30 15:29:36,344 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\constructor.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\constructor.py +2024-11-30 15:29:36,345 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\constructor.cpython-39.pyc' +2024-11-30 15:29:36,347 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\base64.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\base64.py +2024-11-30 15:29:36,347 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\base64.cpython-39.pyc' +2024-11-30 15:29:36,347 - api.main - INFO - STDERR: import 'binascii' # +2024-11-30 15:29:36,347 - api.main - INFO - STDERR: import 'base64' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F579DBB0> +2024-11-30 15:29:36,348 - api.main - INFO - STDERR: import 'yaml.constructor' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5786C10> +2024-11-30 15:29:36,350 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\resolver.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\resolver.py +2024-11-30 15:29:36,350 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\resolver.cpython-39.pyc' +2024-11-30 15:29:36,352 - api.main - INFO - STDERR: import 'yaml.resolver' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F579D8B0> +2024-11-30 15:29:36,352 - api.main - INFO - STDERR: import 'yaml.loader' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F576DF40> +2024-11-30 15:29:36,354 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\dumper.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\dumper.py +2024-11-30 15:29:36,354 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\dumper.cpython-39.pyc' +2024-11-30 15:29:36,355 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\emitter.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\emitter.py +2024-11-30 15:29:36,355 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\emitter.cpython-39.pyc' +2024-11-30 15:29:36,356 - api.main - INFO - STDERR: import 'yaml.emitter' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F57ACBB0> +2024-11-30 15:29:36,356 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\serializer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\serializer.py +2024-11-30 15:29:36,356 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\serializer.cpython-39.pyc' +2024-11-30 15:29:36,356 - api.main - INFO - STDERR: import 'yaml.serializer' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F57C85B0> +2024-11-30 15:29:36,357 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\representer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\representer.py +2024-11-30 15:29:36,357 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\representer.cpython-39.pyc' +2024-11-30 15:29:36,357 - api.main - INFO - STDERR: import 'yaml.representer' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F57C8850> +2024-11-30 15:29:36,357 - api.main - INFO - STDERR: import 'yaml.dumper' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F577C160> +2024-11-30 15:29:36,358 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\cyaml.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\cyaml.py +2024-11-30 15:29:36,358 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\cyaml.cpython-39.pyc' +2024-11-30 15:29:36,358 - api.main - INFO - STDERR: # extension module 'yaml._yaml' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\_yaml.cp39-win_amd64.pyd' +2024-11-30 15:29:36,359 - api.main - INFO - STDERR: # extension module 'yaml._yaml' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\_yaml.cp39-win_amd64.pyd' +2024-11-30 15:29:36,359 - api.main - INFO - STDERR: import 'yaml._yaml' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001F5F57D9460> +2024-11-30 15:29:36,359 - api.main - INFO - STDERR: import 'yaml.cyaml' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F576D340> +2024-11-30 15:29:36,359 - api.main - INFO - STDERR: import 'yaml' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5752F70> +2024-11-30 15:29:36,360 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\plugin_loader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\plugin_loader.py +2024-11-30 15:29:36,360 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\plugin_loader.cpython-39.pyc' +2024-11-30 15:29:36,361 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\inspect.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\inspect.py +2024-11-30 15:29:36,361 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\inspect.cpython-39.pyc' +2024-11-30 15:29:36,363 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ast.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ast.py +2024-11-30 15:29:36,363 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ast.cpython-39.pyc' +2024-11-30 15:29:36,364 - api.main - INFO - STDERR: import '_ast' # +2024-11-30 15:29:36,365 - api.main - INFO - STDERR: import 'ast' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5812AF0> +2024-11-30 15:29:36,366 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\dis.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\dis.py +2024-11-30 15:29:36,366 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\dis.cpython-39.pyc' +2024-11-30 15:29:36,366 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\opcode.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\opcode.py +2024-11-30 15:29:36,366 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\opcode.cpython-39.pyc' +2024-11-30 15:29:36,367 - api.main - INFO - STDERR: import '_opcode' # +2024-11-30 15:29:36,367 - api.main - INFO - STDERR: import 'opcode' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5853E20> +2024-11-30 15:29:36,367 - api.main - INFO - STDERR: import 'dis' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F581C2E0> +2024-11-30 15:29:36,368 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__init__.py +2024-11-30 15:29:36,368 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,368 - api.main - INFO - STDERR: import 'importlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5866DF0> +2024-11-30 15:29:36,369 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\machinery.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\machinery.py +2024-11-30 15:29:36,369 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\machinery.cpython-39.pyc' +2024-11-30 15:29:36,369 - api.main - INFO - STDERR: import 'importlib.machinery' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5866C40> +2024-11-30 15:29:36,370 - api.main - INFO - STDERR: import 'inspect' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F57D9AF0> +2024-11-30 15:29:36,370 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pkgutil.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pkgutil.py +2024-11-30 15:29:36,371 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pkgutil.cpython-39.pyc' +2024-11-30 15:29:36,372 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\util.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\util.py +2024-11-30 15:29:36,372 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\util.cpython-39.pyc' +2024-11-30 15:29:36,372 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\abc.py +2024-11-30 15:29:36,372 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 15:29:36,372 - api.main - INFO - STDERR: import 'importlib.abc' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F58895E0> +2024-11-30 15:29:36,373 - api.main - INFO - STDERR: import 'importlib.util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F587A640> +2024-11-30 15:29:36,373 - api.main - INFO - STDERR: import 'pkgutil' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F57E5B20> +2024-11-30 15:29:36,373 - api.main - INFO - STDERR: import 'GramAddict.core.plugin_loader' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F57D9190> +2024-11-30 15:29:36,373 - api.main - INFO - STDERR: import 'GramAddict.core.config' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3CA4250> +2024-11-30 15:29:36,374 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\device_facade.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py +2024-11-30 15:29:36,374 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\device_facade.cpython-39.pyc' +2024-11-30 15:29:36,374 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\subprocess.py +2024-11-30 15:29:36,375 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\subprocess.cpython-39.pyc' +2024-11-30 15:29:36,375 - api.main - INFO - STDERR: import 'errno' # +2024-11-30 15:29:36,376 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\signal.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\signal.py +2024-11-30 15:29:36,376 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\signal.cpython-39.pyc' +2024-11-30 15:29:36,376 - api.main - INFO - STDERR: import 'signal' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F58B6A30> +2024-11-30 15:29:36,377 - api.main - INFO - STDERR: import 'msvcrt' # +2024-11-30 15:29:36,378 - api.main - INFO - STDERR: import '_winapi' # +2024-11-30 15:29:36,378 - api.main - INFO - STDERR: import 'subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F58A9910> +2024-11-30 15:29:36,379 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py +2024-11-30 15:29:36,379 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,380 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\__future__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__future__.py +2024-11-30 15:29:36,380 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\__future__.cpython-39.pyc' +2024-11-30 15:29:36,380 - api.main - INFO - STDERR: import '__future__' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F58E6E80> +2024-11-30 15:29:36,381 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\hashlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\hashlib.py +2024-11-30 15:29:36,381 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\hashlib.cpython-39.pyc' +2024-11-30 15:29:36,383 - api.main - INFO - STDERR: # extension module '_hashlib' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_hashlib.pyd' +2024-11-30 15:29:36,383 - api.main - INFO - STDERR: # extension module '_hashlib' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_hashlib.pyd' +2024-11-30 15:29:36,383 - api.main - INFO - STDERR: import '_hashlib' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001F5F58F49A0> +2024-11-30 15:29:36,383 - api.main - INFO - STDERR: import '_blake2' # +2024-11-30 15:29:36,383 - api.main - INFO - STDERR: import 'hashlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F58F4580> +2024-11-30 15:29:36,383 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\shutil.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\shutil.py +2024-11-30 15:29:36,384 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\shutil.cpython-39.pyc' +2024-11-30 15:29:36,384 - api.main - INFO - STDERR: import 'zlib' # +2024-11-30 15:29:36,384 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\bz2.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\bz2.py +2024-11-30 15:29:36,384 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\bz2.cpython-39.pyc' +2024-11-30 15:29:36,385 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_compression.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_compression.py +2024-11-30 15:29:36,385 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_compression.cpython-39.pyc' +2024-11-30 15:29:36,386 - api.main - INFO - STDERR: import '_compression' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5923370> +2024-11-30 15:29:36,387 - api.main - INFO - STDERR: # extension module '_bz2' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_bz2.pyd' +2024-11-30 15:29:36,387 - api.main - INFO - STDERR: # extension module '_bz2' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_bz2.pyd' +2024-11-30 15:29:36,387 - api.main - INFO - STDERR: import '_bz2' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001F5F59238B0> +2024-11-30 15:29:36,387 - api.main - INFO - STDERR: import 'bz2' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5911B20> +2024-11-30 15:29:36,388 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\lzma.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\lzma.py +2024-11-30 15:29:36,388 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\lzma.cpython-39.pyc' +2024-11-30 15:29:36,390 - api.main - INFO - STDERR: # extension module '_lzma' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_lzma.pyd' +2024-11-30 15:29:36,390 - api.main - INFO - STDERR: # extension module '_lzma' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_lzma.pyd' +2024-11-30 15:29:36,390 - api.main - INFO - STDERR: import '_lzma' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001F5F5923FA0> +2024-11-30 15:29:36,390 - api.main - INFO - STDERR: import 'lzma' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F59237F0> +2024-11-30 15:29:36,391 - api.main - INFO - STDERR: import 'shutil' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F58F4C70> +2024-11-30 15:29:36,392 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\__init__.py +2024-11-30 15:29:36,392 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,392 - api.main - INFO - STDERR: import 'xml' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5930940> +2024-11-30 15:29:36,394 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__init__.py +2024-11-30 15:29:36,394 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,395 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\domreg.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\domreg.py +2024-11-30 15:29:36,395 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\domreg.cpython-39.pyc' +2024-11-30 15:29:36,395 - api.main - INFO - STDERR: import 'xml.dom.domreg' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5930EE0> +2024-11-30 15:29:36,395 - api.main - INFO - STDERR: import 'xml.dom' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5911040> +2024-11-30 15:29:36,395 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\minidom.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\minidom.py +2024-11-30 15:29:36,396 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\minidom.cpython-39.pyc' +2024-11-30 15:29:36,396 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\minicompat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\minicompat.py +2024-11-30 15:29:36,396 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\minicompat.cpython-39.pyc' +2024-11-30 15:29:36,396 - api.main - INFO - STDERR: import 'xml.dom.minicompat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F59864C0> +2024-11-30 15:29:36,397 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\xmlbuilder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\xmlbuilder.py +2024-11-30 15:29:36,397 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\xmlbuilder.cpython-39.pyc' +2024-11-30 15:29:36,398 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\copy.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\copy.py +2024-11-30 15:29:36,398 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\copy.cpython-39.pyc' +2024-11-30 15:29:36,398 - api.main - INFO - STDERR: import 'copy' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F598ECA0> +2024-11-30 15:29:36,399 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\NodeFilter.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\NodeFilter.py +2024-11-30 15:29:36,399 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\NodeFilter.cpython-39.pyc' +2024-11-30 15:29:36,399 - api.main - INFO - STDERR: import 'xml.dom.NodeFilter' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F598EFD0> +2024-11-30 15:29:36,399 - api.main - INFO - STDERR: import 'xml.dom.xmlbuilder' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5986940> +2024-11-30 15:29:36,399 - api.main - INFO - STDERR: import 'xml.dom.minidom' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F58F4550> +2024-11-30 15:29:36,400 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pathlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pathlib.py +2024-11-30 15:29:36,400 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pathlib.cpython-39.pyc' +2024-11-30 15:29:36,401 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__init__.py +2024-11-30 15:29:36,401 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,401 - api.main - INFO - STDERR: import 'urllib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F59BAD00> +2024-11-30 15:29:36,402 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\parse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\parse.py +2024-11-30 15:29:36,402 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\parse.cpython-39.pyc' +2024-11-30 15:29:36,403 - api.main - INFO - STDERR: import 'urllib.parse' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F59BAD30> +2024-11-30 15:29:36,404 - api.main - INFO - STDERR: import 'pathlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F597C400> +2024-11-30 15:29:36,405 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__init__.py +2024-11-30 15:29:36,405 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,405 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\deprecation.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecation.py +2024-11-30 15:29:36,405 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\deprecation.cpython-39.pyc' +2024-11-30 15:29:36,407 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__init__.py +2024-11-30 15:29:36,407 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,407 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\__about__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__about__.py +2024-11-30 15:29:36,407 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\__about__.cpython-39.pyc' +2024-11-30 15:29:36,407 - api.main - INFO - STDERR: import 'packaging.__about__' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F593F790> +2024-11-30 15:29:36,407 - api.main - INFO - STDERR: import 'packaging' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F593F520> +2024-11-30 15:29:36,408 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\version.py +2024-11-30 15:29:36,408 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\version.cpython-39.pyc' +2024-11-30 15:29:36,408 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_structures.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_structures.py +2024-11-30 15:29:36,408 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_structures.cpython-39.pyc' +2024-11-30 15:29:36,408 - api.main - INFO - STDERR: import 'packaging._structures' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F59ED640> +2024-11-30 15:29:36,409 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_typing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_typing.py +2024-11-30 15:29:36,409 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_typing.cpython-39.pyc' +2024-11-30 15:29:36,409 - api.main - INFO - STDERR: import 'packaging._typing' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F59EDF10> +2024-11-30 15:29:36,411 - api.main - INFO - STDERR: import 'packaging.version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F593F5B0> +2024-11-30 15:29:36,411 - api.main - INFO - STDERR: import 'deprecation' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F593F100> +2024-11-30 15:29:36,411 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_adb.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_adb.py +2024-11-30 15:29:36,411 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_adb.cpython-39.pyc' +2024-11-30 15:29:36,413 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\socket.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\socket.py +2024-11-30 15:29:36,413 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\socket.cpython-39.pyc' +2024-11-30 15:29:36,414 - api.main - INFO - STDERR: # extension module '_socket' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_socket.pyd' +2024-11-30 15:29:36,414 - api.main - INFO - STDERR: # extension module '_socket' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_socket.pyd' +2024-11-30 15:29:36,414 - api.main - INFO - STDERR: import '_socket' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001F5F5A0AC40> +2024-11-30 15:29:36,416 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\selectors.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\selectors.py +2024-11-30 15:29:36,416 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\selectors.cpython-39.pyc' +2024-11-30 15:29:36,417 - api.main - INFO - STDERR: # extension module 'select' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\select.pyd' +2024-11-30 15:29:36,417 - api.main - INFO - STDERR: # extension module 'select' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\select.pyd' +2024-11-30 15:29:36,417 - api.main - INFO - STDERR: import 'select' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001F5F5A1DE20> +2024-11-30 15:29:36,417 - api.main - INFO - STDERR: import 'selectors' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5A0AD90> +2024-11-30 15:29:36,417 - api.main - INFO - STDERR: import 'socket' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F59F4F40> +2024-11-30 15:29:36,418 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_utils.py +2024-11-30 15:29:36,418 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_utils.cpython-39.pyc' +2024-11-30 15:29:36,419 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\shlex.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\shlex.py +2024-11-30 15:29:36,419 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\shlex.cpython-39.pyc' +2024-11-30 15:29:36,419 - api.main - INFO - STDERR: import 'shlex' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5A22D00> +2024-11-30 15:29:36,420 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tempfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tempfile.py +2024-11-30 15:29:36,421 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tempfile.cpython-39.pyc' +2024-11-30 15:29:36,421 - api.main - INFO - STDERR: import 'tempfile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5A2C280> +2024-11-30 15:29:36,421 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\zipfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\zipfile.py +2024-11-30 15:29:36,421 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\zipfile.cpython-39.pyc' +2024-11-30 15:29:36,422 - api.main - INFO - STDERR: import 'zipfile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5A56640> +2024-11-30 15:29:36,423 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\whichcraft.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\whichcraft.py +2024-11-30 15:29:36,423 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\whichcraft.cpython-39.pyc' +2024-11-30 15:29:36,423 - api.main - INFO - STDERR: import 'whichcraft' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5A65D60> +2024-11-30 15:29:36,424 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__init__.py +2024-11-30 15:29:36,424 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,424 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\xmltodict.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\xmltodict.py +2024-11-30 15:29:36,424 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\xmltodict.cpython-39.pyc' +2024-11-30 15:29:36,425 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__init__.py +2024-11-30 15:29:36,425 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\parsers\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,425 - api.main - INFO - STDERR: import 'xml.parsers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5A88790> +2024-11-30 15:29:36,426 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__pycache__\expat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\expat.py +2024-11-30 15:29:36,426 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\parsers\\__pycache__\\expat.cpython-39.pyc' +2024-11-30 15:29:36,427 - api.main - INFO - STDERR: # extension module 'pyexpat' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\pyexpat.pyd' +2024-11-30 15:29:36,427 - api.main - INFO - STDERR: # extension module 'pyexpat' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\pyexpat.pyd' +2024-11-30 15:29:36,428 - api.main - INFO - STDERR: import 'pyexpat' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001F5F5A88AF0> +2024-11-30 15:29:36,428 - api.main - INFO - STDERR: import 'xml.parsers.expat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5A88910> +2024-11-30 15:29:36,428 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__init__.py +2024-11-30 15:29:36,428 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,429 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\xmlreader.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\xmlreader.py +2024-11-30 15:29:36,429 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\xmlreader.cpython-39.pyc' +2024-11-30 15:29:36,430 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\handler.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\handler.py +2024-11-30 15:29:36,430 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\handler.cpython-39.pyc' +2024-11-30 15:29:36,431 - api.main - INFO - STDERR: import 'xml.sax.handler' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5AA1B20> +2024-11-30 15:29:36,431 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\_exceptions.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\_exceptions.py +2024-11-30 15:29:36,431 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\_exceptions.cpython-39.pyc' +2024-11-30 15:29:36,431 - api.main - INFO - STDERR: import 'xml.sax._exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5AA8520> +2024-11-30 15:29:36,431 - api.main - INFO - STDERR: import 'xml.sax.xmlreader' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5A88F10> +2024-11-30 15:29:36,431 - api.main - INFO - STDERR: import 'xml.sax' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5A88BB0> +2024-11-30 15:29:36,431 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\saxutils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\saxutils.py +2024-11-30 15:29:36,432 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\saxutils.cpython-39.pyc' +2024-11-30 15:29:36,433 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\request.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\request.py +2024-11-30 15:29:36,433 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\request.cpython-39.pyc' +2024-11-30 15:29:36,434 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__init__.py +2024-11-30 15:29:36,434 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,434 - api.main - INFO - STDERR: import 'email' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5AF25B0> +2024-11-30 15:29:36,435 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__init__.py +2024-11-30 15:29:36,435 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,436 - api.main - INFO - STDERR: import 'http' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5AF28B0> +2024-11-30 15:29:36,437 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\client.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\client.py +2024-11-30 15:29:36,437 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\client.cpython-39.pyc' +2024-11-30 15:29:36,438 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\parser.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\parser.py +2024-11-30 15:29:36,438 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\parser.cpython-39.pyc' +2024-11-30 15:29:36,438 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\feedparser.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\feedparser.py +2024-11-30 15:29:36,438 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\feedparser.cpython-39.pyc' +2024-11-30 15:29:36,439 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\errors.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\errors.py +2024-11-30 15:29:36,439 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 15:29:36,439 - api.main - INFO - STDERR: import 'email.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5B14A00> +2024-11-30 15:29:36,440 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_policybase.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_policybase.py +2024-11-30 15:29:36,440 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_policybase.cpython-39.pyc' +2024-11-30 15:29:36,440 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\header.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\header.py +2024-11-30 15:29:36,441 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\header.cpython-39.pyc' +2024-11-30 15:29:36,441 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\quoprimime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\quoprimime.py +2024-11-30 15:29:36,441 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\quoprimime.cpython-39.pyc' +2024-11-30 15:29:36,441 - api.main - INFO - STDERR: import 'email.quoprimime' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5B336D0> +2024-11-30 15:29:36,441 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\base64mime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\base64mime.py +2024-11-30 15:29:36,441 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\base64mime.cpython-39.pyc' +2024-11-30 15:29:36,441 - api.main - INFO - STDERR: import 'email.base64mime' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5B33BB0> +2024-11-30 15:29:36,443 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\charset.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\charset.py +2024-11-30 15:29:36,443 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\charset.cpython-39.pyc' +2024-11-30 15:29:36,444 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\encoders.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\encoders.py +2024-11-30 15:29:36,444 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\encoders.cpython-39.pyc' +2024-11-30 15:29:36,444 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\quopri.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\quopri.py +2024-11-30 15:29:36,444 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\quopri.cpython-39.pyc' +2024-11-30 15:29:36,444 - api.main - INFO - STDERR: import 'quopri' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5B43790> +2024-11-30 15:29:36,444 - api.main - INFO - STDERR: import 'email.encoders' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5B433A0> +2024-11-30 15:29:36,444 - api.main - INFO - STDERR: import 'email.charset' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5B33D90> +2024-11-30 15:29:36,445 - api.main - INFO - STDERR: import 'email.header' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5B25E20> +2024-11-30 15:29:36,445 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\utils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\utils.py +2024-11-30 15:29:36,445 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 15:29:36,446 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_parseaddr.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_parseaddr.py +2024-11-30 15:29:36,446 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_parseaddr.cpython-39.pyc' +2024-11-30 15:29:36,447 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\calendar.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\calendar.py +2024-11-30 15:29:36,447 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\calendar.cpython-39.pyc' +2024-11-30 15:29:36,448 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\locale.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\locale.py +2024-11-30 15:29:36,448 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\locale.cpython-39.pyc' +2024-11-30 15:29:36,449 - api.main - INFO - STDERR: import 'locale' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5B5DEB0> +2024-11-30 15:29:36,449 - api.main - INFO - STDERR: import 'calendar' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5B556A0> +2024-11-30 15:29:36,449 - api.main - INFO - STDERR: import 'email._parseaddr' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5B43F70> +2024-11-30 15:29:36,449 - api.main - INFO - STDERR: import 'email.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5B431F0> +2024-11-30 15:29:36,449 - api.main - INFO - STDERR: import 'email._policybase' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5B14AF0> +2024-11-30 15:29:36,450 - api.main - INFO - STDERR: import 'email.feedparser' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5B14280> +2024-11-30 15:29:36,450 - api.main - INFO - STDERR: import 'email.parser' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5B0EB80> +2024-11-30 15:29:36,451 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\message.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\message.py +2024-11-30 15:29:36,451 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\message.cpython-39.pyc' +2024-11-30 15:29:36,453 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\uu.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\uu.py +2024-11-30 15:29:36,453 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\uu.cpython-39.pyc' +2024-11-30 15:29:36,453 - api.main - INFO - STDERR: import 'uu' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5BA0A90> +2024-11-30 15:29:36,454 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_encoded_words.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_encoded_words.py +2024-11-30 15:29:36,454 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_encoded_words.cpython-39.pyc' +2024-11-30 15:29:36,454 - api.main - INFO - STDERR: import 'email._encoded_words' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5BA0CD0> +2024-11-30 15:29:36,455 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\iterators.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\iterators.py +2024-11-30 15:29:36,455 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\iterators.cpython-39.pyc' +2024-11-30 15:29:36,455 - api.main - INFO - STDERR: import 'email.iterators' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5BAC190> +2024-11-30 15:29:36,455 - api.main - INFO - STDERR: import 'email.message' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5B0EF40> +2024-11-30 15:29:36,456 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ssl.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ssl.py +2024-11-30 15:29:36,456 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ssl.cpython-39.pyc' +2024-11-30 15:29:36,460 - api.main - INFO - STDERR: # extension module '_ssl' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ssl.pyd' +2024-11-30 15:29:36,460 - api.main - INFO - STDERR: # extension module '_ssl' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ssl.pyd' +2024-11-30 15:29:36,460 - api.main - INFO - STDERR: import '_ssl' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001F5F5BC5580> +2024-11-30 15:29:36,462 - api.main - INFO - STDERR: import 'ssl' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5BAC460> +2024-11-30 15:29:36,462 - api.main - INFO - STDERR: import 'http.client' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5AF29D0> +2024-11-30 15:29:36,464 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\error.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\error.py +2024-11-30 15:29:36,464 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\error.cpython-39.pyc' +2024-11-30 15:29:36,464 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\response.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\response.py +2024-11-30 15:29:36,464 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\response.cpython-39.pyc' +2024-11-30 15:29:36,464 - api.main - INFO - STDERR: import 'urllib.response' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5C1F460> +2024-11-30 15:29:36,464 - api.main - INFO - STDERR: import 'urllib.error' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5B0E3A0> +2024-11-30 15:29:36,466 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\nturl2path.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\nturl2path.py +2024-11-30 15:29:36,466 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\nturl2path.cpython-39.pyc' +2024-11-30 15:29:36,466 - api.main - INFO - STDERR: import 'nturl2path' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5C1FCD0> +2024-11-30 15:29:36,466 - api.main - INFO - STDERR: import 'urllib.request' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5AB78B0> +2024-11-30 15:29:36,466 - api.main - INFO - STDERR: import 'xml.sax.saxutils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5A88640> +2024-11-30 15:29:36,466 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\platform.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\platform.py +2024-11-30 15:29:36,467 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\platform.cpython-39.pyc' +2024-11-30 15:29:36,469 - api.main - INFO - STDERR: import 'platform' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5AB76D0> +2024-11-30 15:29:36,469 - api.main - INFO - STDERR: import 'xmltodict' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5A88220> +2024-11-30 15:29:36,469 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\apkfile.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\apkfile.py +2024-11-30 15:29:36,469 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\apkfile.cpython-39.pyc' +2024-11-30 15:29:36,471 - api.main - INFO - STDERR: import 'apkutils2.apkfile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5A88580> +2024-11-30 15:29:36,471 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__init__.py +2024-11-30 15:29:36,472 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,472 - api.main - INFO - STDERR: import 'apkutils2.axml' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5C389D0> +2024-11-30 15:29:36,472 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\arscparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\arscparser.py +2024-11-30 15:29:36,472 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\arscparser.cpython-39.pyc' +2024-11-30 15:29:36,473 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\chunk.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\chunk.py +2024-11-30 15:29:36,473 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\chunk.cpython-39.pyc' +2024-11-30 15:29:36,473 - api.main - INFO - STDERR: import 'apkutils2.axml.chunk' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5C63580> +2024-11-30 15:29:36,473 - api.main - INFO - STDERR: import 'apkutils2.axml.arscparser' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5C43E80> +2024-11-30 15:29:36,473 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\axmlparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\axmlparser.py +2024-11-30 15:29:36,473 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\axmlparser.cpython-39.pyc' +2024-11-30 15:29:36,474 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\public.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\public.py +2024-11-30 15:29:36,474 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\public.cpython-39.pyc' +2024-11-30 15:29:36,474 - api.main - INFO - STDERR: import 'apkutils2.axml.public' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6072820> +2024-11-30 15:29:36,474 - api.main - INFO - STDERR: import 'apkutils2.axml.axmlparser' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5C58A00> +2024-11-30 15:29:36,474 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__init__.py +2024-11-30 15:29:36,475 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,475 - api.main - INFO - STDERR: import 'apkutils2.dex' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6072910> +2024-11-30 15:29:36,475 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dexparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dexparser.py +2024-11-30 15:29:36,475 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dexparser.cpython-39.pyc' +2024-11-30 15:29:36,475 - api.main - INFO - STDERR: import 'array' # +2024-11-30 15:29:36,475 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\byteio.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\byteio.py +2024-11-30 15:29:36,476 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\byteio.cpython-39.pyc' +2024-11-30 15:29:36,477 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\util.py +2024-11-30 15:29:36,477 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\util.cpython-39.pyc' +2024-11-30 15:29:36,477 - api.main - INFO - STDERR: import 'apkutils2.dex.util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F60C7EE0> +2024-11-30 15:29:36,477 - api.main - INFO - STDERR: import 'apkutils2.dex.byteio' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F60C7550> +2024-11-30 15:29:36,477 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dalvik.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dalvik.py +2024-11-30 15:29:36,477 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dalvik.cpython-39.pyc' +2024-11-30 15:29:36,477 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dalvikformats.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dalvikformats.py +2024-11-30 15:29:36,477 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dalvikformats.cpython-39.pyc' +2024-11-30 15:29:36,477 - api.main - INFO - STDERR: import 'apkutils2.dex.dalvikformats' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F60D2370> +2024-11-30 15:29:36,478 - api.main - INFO - STDERR: import 'apkutils2.dex.dalvik' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F60C7FD0> +2024-11-30 15:29:36,478 - api.main - INFO - STDERR: import 'apkutils2.dex.dexparser' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6072940> +2024-11-30 15:29:36,478 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\manifest.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\manifest.py +2024-11-30 15:29:36,478 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\manifest.cpython-39.pyc' +2024-11-30 15:29:36,478 - api.main - INFO - STDERR: import 'apkutils2.manifest' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6072E20> +2024-11-30 15:29:36,479 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cigam\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cigam\__init__.py +2024-11-30 15:29:36,479 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\cigam\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,479 - api.main - INFO - STDERR: import 'cigam' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F60D25E0> +2024-11-30 15:29:36,479 - api.main - INFO - STDERR: import 'apkutils2' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5A79B80> +2024-11-30 15:29:36,480 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pkg_resources\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pkg_resources\__init__.py +2024-11-30 15:29:36,480 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pkg_resources\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,481 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\plistlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\plistlib.py +2024-11-30 15:29:36,481 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\plistlib.cpython-39.pyc' +2024-11-30 15:29:36,482 - api.main - INFO - STDERR: import 'plistlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F61156D0> +2024-11-30 15:29:36,483 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\markers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\markers.py +2024-11-30 15:29:36,483 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\markers.cpython-39.pyc' +2024-11-30 15:29:36,484 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__init__.py +2024-11-30 15:29:36,484 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,485 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\util.py +2024-11-30 15:29:36,485 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\util.cpython-39.pyc' +2024-11-30 15:29:36,485 - api.main - INFO - STDERR: import 'pyparsing.util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F612CC70> +2024-11-30 15:29:36,485 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\exceptions.py +2024-11-30 15:29:36,485 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 15:29:36,486 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\unicode.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\unicode.py +2024-11-30 15:29:36,486 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\unicode.cpython-39.pyc' +2024-11-30 15:29:36,487 - api.main - INFO - STDERR: import 'pyparsing.unicode' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F613D910> +2024-11-30 15:29:36,489 - api.main - INFO - STDERR: import 'pyparsing.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6137D00> +2024-11-30 15:29:36,489 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\actions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\actions.py +2024-11-30 15:29:36,489 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\actions.cpython-39.pyc' +2024-11-30 15:29:36,489 - api.main - INFO - STDERR: import 'pyparsing.actions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F613D4F0> +2024-11-30 15:29:36,490 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\core.py +2024-11-30 15:29:36,491 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\core.cpython-39.pyc' +2024-11-30 15:29:36,491 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\results.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\results.py +2024-11-30 15:29:36,492 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\results.cpython-39.pyc' +2024-11-30 15:29:36,492 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pprint.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pprint.py +2024-11-30 15:29:36,493 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pprint.cpython-39.pyc' +2024-11-30 15:29:36,493 - api.main - INFO - STDERR: import 'pprint' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F61CC8E0> +2024-11-30 15:29:36,493 - api.main - INFO - STDERR: import 'pyparsing.results' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F61C1820> +2024-11-30 15:29:36,501 - api.main - INFO - STDERR: import 'pyparsing.core' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F615B2E0> +2024-11-30 15:29:36,501 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\helpers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\helpers.py +2024-11-30 15:29:36,501 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\helpers.cpython-39.pyc' +2024-11-30 15:29:36,502 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__init__.py +2024-11-30 15:29:36,503 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\html\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,504 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__pycache__\entities.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\entities.py +2024-11-30 15:29:36,505 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\html\\__pycache__\\entities.cpython-39.pyc' +2024-11-30 15:29:36,505 - api.main - INFO - STDERR: import 'html.entities' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F62BEC10> +2024-11-30 15:29:36,505 - api.main - INFO - STDERR: import 'html' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F62BE970> +2024-11-30 15:29:36,508 - api.main - INFO - STDERR: import 'pyparsing.helpers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F615BF10> +2024-11-30 15:29:36,508 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\testing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\testing.py +2024-11-30 15:29:36,509 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\testing.cpython-39.pyc' +2024-11-30 15:29:36,510 - api.main - INFO - STDERR: import 'pyparsing.testing' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6351EB0> +2024-11-30 15:29:36,510 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\common.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\common.py +2024-11-30 15:29:36,510 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\common.cpython-39.pyc' +2024-11-30 15:29:36,514 - api.main - INFO - STDERR: import 'pyparsing.common' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F637E4C0> +2024-11-30 15:29:36,514 - api.main - INFO - STDERR: import 'pyparsing' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F612C6D0> +2024-11-30 15:29:36,515 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_compat.py +2024-11-30 15:29:36,515 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_compat.cpython-39.pyc' +2024-11-30 15:29:36,515 - api.main - INFO - STDERR: import 'packaging._compat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F612CEE0> +2024-11-30 15:29:36,515 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\specifiers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\specifiers.py +2024-11-30 15:29:36,515 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\specifiers.cpython-39.pyc' +2024-11-30 15:29:36,516 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\utils.py +2024-11-30 15:29:36,516 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 15:29:36,516 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\tags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\tags.py +2024-11-30 15:29:36,516 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\tags.cpython-39.pyc' +2024-11-30 15:29:36,517 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\__init__.py +2024-11-30 15:29:36,517 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,518 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__pycache__\override.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\override.py +2024-11-30 15:29:36,518 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\_distutils_hack\\__pycache__\\override.cpython-39.pyc' +2024-11-30 15:29:36,518 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__init__.py +2024-11-30 15:29:36,518 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,519 - api.main - INFO - STDERR: import 'setuptools._distutils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F63D14C0> +2024-11-30 15:29:36,519 - api.main - INFO - STDERR: import 'distutils' # <_distutils_hack.DistutilsMetaFinder.spec_for_distutils..DistutilsLoader object at 0x000001F5F63D12B0> +2024-11-30 15:29:36,520 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\core.py +2024-11-30 15:29:36,520 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\core.cpython-39.pyc' +2024-11-30 15:29:36,520 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\cmd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\cmd.py +2024-11-30 15:29:36,520 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\cmd.cpython-39.pyc' +2024-11-30 15:29:36,521 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\_modified.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\_modified.py +2024-11-30 15:29:36,521 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\_modified.cpython-39.pyc' +2024-11-30 15:29:36,522 - api.main - INFO - STDERR: # possible namespace for e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco +2024-11-30 15:29:36,522 - api.main - INFO - STDERR: import 'jaraco' # <_frozen_importlib_external._NamespaceLoader object at 0x000001F5F63E67C0> +2024-11-30 15:29:36,522 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\functools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\functools\__init__.py +2024-11-30 15:29:36,522 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\functools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,523 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__init__.py +2024-11-30 15:29:36,523 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,524 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\more.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\more.py +2024-11-30 15:29:36,525 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\more.cpython-39.pyc' +2024-11-30 15:29:36,526 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\queue.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\queue.py +2024-11-30 15:29:36,526 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\queue.cpython-39.pyc' +2024-11-30 15:29:36,527 - api.main - INFO - STDERR: # extension module '_queue' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_queue.pyd' +2024-11-30 15:29:36,527 - api.main - INFO - STDERR: # extension module '_queue' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_queue.pyd' +2024-11-30 15:29:36,527 - api.main - INFO - STDERR: import '_queue' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001F5F641B9D0> +2024-11-30 15:29:36,527 - api.main - INFO - STDERR: import 'queue' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F640FD00> +2024-11-30 15:29:36,528 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\recipes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\recipes.py +2024-11-30 15:29:36,528 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\recipes.cpython-39.pyc' +2024-11-30 15:29:36,528 - api.main - INFO - STDERR: import 'more_itertools.recipes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F641B940> +2024-11-30 15:29:36,528 - api.main - INFO - STDERR: import 'more_itertools.more' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F63ECBE0> +2024-11-30 15:29:36,528 - api.main - INFO - STDERR: import 'more_itertools' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F63EC940> +2024-11-30 15:29:36,528 - api.main - INFO - STDERR: import 'jaraco.functools' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F63E69D0> +2024-11-30 15:29:36,529 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__init__.py +2024-11-30 15:29:36,529 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,529 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\py38.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\py38.py +2024-11-30 15:29:36,529 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\py38.cpython-39.pyc' +2024-11-30 15:29:36,529 - api.main - INFO - STDERR: import 'distutils.compat.py38' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6448370> +2024-11-30 15:29:36,529 - api.main - INFO - STDERR: import 'distutils.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6427FD0> +2024-11-30 15:29:36,530 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\py39.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\py39.py +2024-11-30 15:29:36,530 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\py39.cpython-39.pyc' +2024-11-30 15:29:36,544 - api.main - INFO - STDERR: import 'distutils.compat.py39' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6405DF0> +2024-11-30 15:29:36,544 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\errors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\errors.py +2024-11-30 15:29:36,544 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 15:29:36,544 - api.main - INFO - STDERR: import 'distutils.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F64484F0> +2024-11-30 15:29:36,546 - api.main - INFO - STDERR: import 'distutils._modified' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F63E6370> +2024-11-30 15:29:36,546 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\archive_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\archive_util.py +2024-11-30 15:29:36,546 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\archive_util.cpython-39.pyc' +2024-11-30 15:29:36,546 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\_log.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\_log.py +2024-11-30 15:29:36,546 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\_log.cpython-39.pyc' +2024-11-30 15:29:36,546 - api.main - INFO - STDERR: import 'distutils._log' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6448C40> +2024-11-30 15:29:36,546 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\dir_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\dir_util.py +2024-11-30 15:29:36,546 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\dir_util.cpython-39.pyc' +2024-11-30 15:29:36,547 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\file_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\file_util.py +2024-11-30 15:29:36,547 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\file_util.cpython-39.pyc' +2024-11-30 15:29:36,547 - api.main - INFO - STDERR: import 'distutils.file_util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6456340> +2024-11-30 15:29:36,547 - api.main - INFO - STDERR: import 'distutils.dir_util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6448CD0> +2024-11-30 15:29:36,547 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\spawn.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\spawn.py +2024-11-30 15:29:36,547 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\spawn.cpython-39.pyc' +2024-11-30 15:29:36,547 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\debug.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\debug.py +2024-11-30 15:29:36,548 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\debug.cpython-39.pyc' +2024-11-30 15:29:36,548 - api.main - INFO - STDERR: import 'distutils.debug' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F64569D0> +2024-11-30 15:29:36,548 - api.main - INFO - STDERR: import 'distutils.spawn' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6456670> +2024-11-30 15:29:36,549 - api.main - INFO - STDERR: import 'distutils.archive_util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F63E6610> +2024-11-30 15:29:36,549 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\util.py +2024-11-30 15:29:36,549 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\util.cpython-39.pyc' +2024-11-30 15:29:36,550 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sysconfig.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sysconfig.py +2024-11-30 15:29:36,550 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sysconfig.cpython-39.pyc' +2024-11-30 15:29:36,551 - api.main - INFO - STDERR: import 'sysconfig' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6456EB0> +2024-11-30 15:29:36,551 - api.main - INFO - STDERR: import 'distutils.util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6448640> +2024-11-30 15:29:36,551 - api.main - INFO - STDERR: import 'distutils.cmd' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F63D1910> +2024-11-30 15:29:36,552 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\dist.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\dist.py +2024-11-30 15:29:36,552 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\dist.cpython-39.pyc' +2024-11-30 15:29:36,552 - api.main - INFO - STDERR: # destroy distutils.dist +2024-11-30 15:29:36,552 - api.main - INFO - STDERR: # destroy distutils.core +2024-11-30 15:29:36,552 - api.main - INFO - STDERR: # destroy _distutils_hack.override +2024-11-30 15:29:36,552 - api.main - INFO - STDERR: # destroy setuptools +2024-11-30 15:29:36,554 - api.main - INFO - STDERR: import 'distutils' # <_distutils_hack.DistutilsMetaFinder.spec_for_distutils..DistutilsLoader object at 0x000001F5F63D12B0> +2024-11-30 15:29:36,554 - api.main - INFO - STDERR: import 'packaging.tags' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F63BA550> +2024-11-30 15:29:36,554 - api.main - INFO - STDERR: import 'packaging.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F63BA2B0> +2024-11-30 15:29:36,560 - api.main - INFO - STDERR: import 'packaging.specifiers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F63A5E50> +2024-11-30 15:29:36,563 - api.main - INFO - STDERR: import 'packaging.markers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F611CB20> +2024-11-30 15:29:36,563 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\requirements.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\requirements.py +2024-11-30 15:29:36,563 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\requirements.cpython-39.pyc' +2024-11-30 15:29:36,571 - api.main - INFO - STDERR: import 'packaging.requirements' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F611CD30> +2024-11-30 15:29:36,573 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\text\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\text\__init__.py +2024-11-30 15:29:36,573 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\text\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,573 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\resources.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\resources.py +2024-11-30 15:29:36,573 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\resources.cpython-39.pyc' +2024-11-30 15:29:36,574 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\_common.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\_common.py +2024-11-30 15:29:36,574 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\_common.cpython-39.pyc' +2024-11-30 15:29:36,574 - api.main - INFO - STDERR: import 'importlib._common' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F64C14F0> +2024-11-30 15:29:36,574 - api.main - INFO - STDERR: import 'importlib.resources' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F63D0DF0> +2024-11-30 15:29:36,574 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\__pycache__\context.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\context.py +2024-11-30 15:29:36,574 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\__pycache__\\context.cpython-39.pyc' +2024-11-30 15:29:36,575 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\__init__.py +2024-11-30 15:29:36,575 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,576 - api.main - INFO - STDERR: import 'backports' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F64C81C0> +2024-11-30 15:29:36,577 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\__init__.py +2024-11-30 15:29:36,577 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,578 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__init__.py +2024-11-30 15:29:36,578 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\compat\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,578 - api.main - INFO - STDERR: import 'backports.tarfile.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F647D1F0> +2024-11-30 15:29:36,578 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__pycache__\py38.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\py38.py +2024-11-30 15:29:36,578 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\compat\\__pycache__\\py38.cpython-39.pyc' +2024-11-30 15:29:36,578 - api.main - INFO - STDERR: import 'backports.tarfile.compat.py38' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F63D0100> +2024-11-30 15:29:36,580 - api.main - INFO - STDERR: import 'backports.tarfile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F64C8340> +2024-11-30 15:29:36,580 - api.main - INFO - STDERR: import 'jaraco.context' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F64C1A30> +2024-11-30 15:29:36,581 - api.main - INFO - STDERR: import 'jaraco.text' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F63D1220> +2024-11-30 15:29:36,581 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__init__.py +2024-11-30 15:29:36,581 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,582 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\api.py +2024-11-30 15:29:36,582 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\api.cpython-39.pyc' +2024-11-30 15:29:36,582 - api.main - INFO - STDERR: import 'platformdirs.api' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F64FB7C0> +2024-11-30 15:29:36,582 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\version.py +2024-11-30 15:29:36,582 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\version.cpython-39.pyc' +2024-11-30 15:29:36,582 - api.main - INFO - STDERR: import 'platformdirs.version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6503A30> +2024-11-30 15:29:36,583 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\windows.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\windows.py +2024-11-30 15:29:36,583 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\windows.cpython-39.pyc' +2024-11-30 15:29:36,583 - api.main - INFO - STDERR: import 'platformdirs.windows' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6503AC0> +2024-11-30 15:29:36,583 - api.main - INFO - STDERR: import 'platformdirs' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F64EE790> +2024-11-30 15:29:36,623 - api.main - INFO - STDERR: import 'pkg_resources' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5A79970> +2024-11-30 15:29:36,623 - api.main - INFO - STDERR: import 'adbutils._utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5A0A520> +2024-11-30 15:29:36,623 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\errors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\errors.py +2024-11-30 15:29:36,623 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 15:29:36,623 - api.main - INFO - STDERR: import 'adbutils.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5A2C670> +2024-11-30 15:29:36,623 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_proto.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_proto.py +2024-11-30 15:29:36,623 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_proto.cpython-39.pyc' +2024-11-30 15:29:36,624 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\dataclasses.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\dataclasses.py +2024-11-30 15:29:36,624 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\dataclasses.cpython-39.pyc' +2024-11-30 15:29:36,625 - api.main - INFO - STDERR: import 'dataclasses' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F60EA0D0> +2024-11-30 15:29:36,628 - api.main - INFO - STDERR: import 'adbutils._proto' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F60E4520> +2024-11-30 15:29:36,628 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_version.py +2024-11-30 15:29:36,628 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 15:29:36,628 - api.main - INFO - STDERR: import 'adbutils._version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F60E4700> +2024-11-30 15:29:36,629 - api.main - INFO - STDERR: import 'adbutils._adb' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F593F370> +2024-11-30 15:29:36,629 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_device.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_device.py +2024-11-30 15:29:36,630 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_device.cpython-39.pyc' +2024-11-30 15:29:36,630 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__init__.py +2024-11-30 15:29:36,630 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,632 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__init__.py +2024-11-30 15:29:36,632 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,632 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\exceptions.py +2024-11-30 15:29:36,632 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 15:29:36,632 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__init__.py +2024-11-30 15:29:36,632 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\packages\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,632 - api.main - INFO - STDERR: import 'urllib3.packages' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6599850> +2024-11-30 15:29:36,633 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__pycache__\six.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\six.py +2024-11-30 15:29:36,633 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\packages\\__pycache__\\six.cpython-39.pyc' +2024-11-30 15:29:36,634 - api.main - INFO - STDERR: import 'urllib3.packages.six' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6599880> +2024-11-30 15:29:36,634 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves' # +2024-11-30 15:29:36,634 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.http_client' # +2024-11-30 15:29:36,634 - api.main - INFO - STDERR: import 'urllib3.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6590790> +2024-11-30 15:29:36,634 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\_version.py +2024-11-30 15:29:36,635 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 15:29:36,635 - api.main - INFO - STDERR: import 'urllib3._version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6590970> +2024-11-30 15:29:36,635 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\connectionpool.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\connectionpool.py +2024-11-30 15:29:36,635 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\connectionpool.cpython-39.pyc' +2024-11-30 15:29:36,636 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\_collections.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\_collections.py +2024-11-30 15:29:36,636 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\_collections.cpython-39.pyc' +2024-11-30 15:29:36,636 - api.main - INFO - STDERR: import 'urllib3._collections' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F65A5760> +2024-11-30 15:29:36,636 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\connection.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\connection.py +2024-11-30 15:29:36,636 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\connection.cpython-39.pyc' +2024-11-30 15:29:36,637 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__init__.py +2024-11-30 15:29:36,637 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,637 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\connection.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\connection.py +2024-11-30 15:29:36,638 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\connection.cpython-39.pyc' +2024-11-30 15:29:36,638 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__init__.py +2024-11-30 15:29:36,638 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,638 - api.main - INFO - STDERR: import 'urllib3.contrib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F65C4FD0> +2024-11-30 15:29:36,638 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\_appengine_environ.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\_appengine_environ.py +2024-11-30 15:29:36,638 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\_appengine_environ.cpython-39.pyc' +2024-11-30 15:29:36,639 - api.main - INFO - STDERR: import 'urllib3.contrib._appengine_environ' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F65D0190> +2024-11-30 15:29:36,639 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\wait.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\wait.py +2024-11-30 15:29:36,639 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\wait.cpython-39.pyc' +2024-11-30 15:29:36,639 - api.main - INFO - STDERR: import 'urllib3.util.wait' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F65D0340> +2024-11-30 15:29:36,640 - api.main - INFO - STDERR: import 'urllib3.util.connection' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F65C4C40> +2024-11-30 15:29:36,641 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\request.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\request.py +2024-11-30 15:29:36,641 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\request.cpython-39.pyc' +2024-11-30 15:29:36,642 - api.main - INFO - STDERR: import 'urllib3.util.request' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F65C4E20> +2024-11-30 15:29:36,642 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\response.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\response.py +2024-11-30 15:29:36,643 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\response.cpython-39.pyc' +2024-11-30 15:29:36,643 - api.main - INFO - STDERR: import 'urllib3.util.response' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F65D0760> +2024-11-30 15:29:36,643 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\retry.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\retry.py +2024-11-30 15:29:36,643 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\retry.cpython-39.pyc' +2024-11-30 15:29:36,643 - api.main - INFO - STDERR: import 'urllib3.util.retry' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F65D0850> +2024-11-30 15:29:36,644 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssl_.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssl_.py +2024-11-30 15:29:36,644 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssl_.cpython-39.pyc' +2024-11-30 15:29:36,644 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\hmac.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\hmac.py +2024-11-30 15:29:36,645 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\hmac.cpython-39.pyc' +2024-11-30 15:29:36,645 - api.main - INFO - STDERR: import 'hmac' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F65DCA30> +2024-11-30 15:29:36,645 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\url.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\url.py +2024-11-30 15:29:36,646 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\url.cpython-39.pyc' +2024-11-30 15:29:36,655 - api.main - INFO - STDERR: import 'urllib3.util.url' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F65EA280> +2024-11-30 15:29:36,655 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssltransport.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssltransport.py +2024-11-30 15:29:36,655 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssltransport.cpython-39.pyc' +2024-11-30 15:29:36,655 - api.main - INFO - STDERR: import 'urllib3.util.ssltransport' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F65EADC0> +2024-11-30 15:29:36,656 - api.main - INFO - STDERR: import 'urllib3.util.ssl_' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F65DC520> +2024-11-30 15:29:36,656 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\timeout.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\timeout.py +2024-11-30 15:29:36,656 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\timeout.cpython-39.pyc' +2024-11-30 15:29:36,656 - api.main - INFO - STDERR: import 'urllib3.util.timeout' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F65DC820> +2024-11-30 15:29:36,656 - api.main - INFO - STDERR: import 'urllib3.util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F65C4940> +2024-11-30 15:29:36,656 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\proxy.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\proxy.py +2024-11-30 15:29:36,656 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\proxy.cpython-39.pyc' +2024-11-30 15:29:36,656 - api.main - INFO - STDERR: import 'urllib3.util.proxy' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F65C49A0> +2024-11-30 15:29:36,656 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssl_match_hostname.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssl_match_hostname.py +2024-11-30 15:29:36,656 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssl_match_hostname.cpython-39.pyc' +2024-11-30 15:29:36,658 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ipaddress.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ipaddress.py +2024-11-30 15:29:36,658 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ipaddress.cpython-39.pyc' +2024-11-30 15:29:36,658 - api.main - INFO - STDERR: import 'ipaddress' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F65FF8E0> +2024-11-30 15:29:36,658 - api.main - INFO - STDERR: import 'urllib3.util.ssl_match_hostname' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F65C46A0> +2024-11-30 15:29:36,659 - api.main - INFO - STDERR: import 'urllib3.connection' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F65B45B0> +2024-11-30 15:29:36,660 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\request.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\request.py +2024-11-30 15:29:36,660 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\request.cpython-39.pyc' +2024-11-30 15:29:36,660 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\filepost.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\filepost.py +2024-11-30 15:29:36,660 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\filepost.cpython-39.pyc' +2024-11-30 15:29:36,660 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\fields.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\fields.py +2024-11-30 15:29:36,660 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\fields.cpython-39.pyc' +2024-11-30 15:29:36,660 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\mimetypes.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\mimetypes.py +2024-11-30 15:29:36,660 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\mimetypes.cpython-39.pyc' +2024-11-30 15:29:36,660 - api.main - INFO - STDERR: import 'mimetypes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F663A2E0> +2024-11-30 15:29:36,660 - api.main - INFO - STDERR: import 'urllib3.fields' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6636D00> +2024-11-30 15:29:36,660 - api.main - INFO - STDERR: import 'urllib3.filepost' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F66368E0> +2024-11-30 15:29:36,660 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.urllib' # +2024-11-30 15:29:36,660 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.urllib.parse' # +2024-11-30 15:29:36,662 - api.main - INFO - STDERR: import 'urllib3.request' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F65C4610> +2024-11-30 15:29:36,662 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\response.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\response.py +2024-11-30 15:29:36,662 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\response.cpython-39.pyc' +2024-11-30 15:29:36,663 - api.main - INFO - STDERR: import 'urllib3.response' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6610FA0> +2024-11-30 15:29:36,664 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\queue.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\queue.py +2024-11-30 15:29:36,664 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\queue.cpython-39.pyc' +2024-11-30 15:29:36,664 - api.main - INFO - STDERR: import 'urllib3.util.queue' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F663A730> +2024-11-30 15:29:36,664 - api.main - INFO - STDERR: import 'urllib3.connectionpool' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6590AC0> +2024-11-30 15:29:36,664 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\poolmanager.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\poolmanager.py +2024-11-30 15:29:36,664 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\poolmanager.cpython-39.pyc' +2024-11-30 15:29:36,665 - api.main - INFO - STDERR: import 'urllib3.poolmanager' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F664B2B0> +2024-11-30 15:29:36,666 - api.main - INFO - STDERR: import 'urllib3' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6590250> +2024-11-30 15:29:36,667 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\exceptions.py +2024-11-30 15:29:36,667 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 15:29:36,668 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\compat.py +2024-11-30 15:29:36,668 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\compat.cpython-39.pyc' +2024-11-30 15:29:36,669 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__init__.py +2024-11-30 15:29:36,669 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,671 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\api.py +2024-11-30 15:29:36,671 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\api.cpython-39.pyc' +2024-11-30 15:29:36,671 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\cd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\cd.py +2024-11-30 15:29:36,671 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\cd.cpython-39.pyc' +2024-11-30 15:29:36,672 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\constant.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\constant.py +2024-11-30 15:29:36,672 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\constant.cpython-39.pyc' +2024-11-30 15:29:36,673 - api.main - INFO - STDERR: import 'charset_normalizer.constant' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6665790> +2024-11-30 15:29:36,674 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md__mypyc' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md__mypyc.cp39-win_amd64.pyd' +2024-11-30 15:29:36,674 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md__mypyc' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md__mypyc.cp39-win_amd64.pyd' +2024-11-30 15:29:36,674 - api.main - INFO - STDERR: import 'charset_normalizer.md__mypyc' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001F5F6689E80> +2024-11-30 15:29:36,674 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\utils.py +2024-11-30 15:29:36,674 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 15:29:36,676 - api.main - INFO - STDERR: # extension module 'unicodedata' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\unicodedata.pyd' +2024-11-30 15:29:36,676 - api.main - INFO - STDERR: # extension module 'unicodedata' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\unicodedata.pyd' +2024-11-30 15:29:36,677 - api.main - INFO - STDERR: import 'unicodedata' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001F5F6690730> +2024-11-30 15:29:36,677 - api.main - INFO - STDERR: import '_multibytecodec' # +2024-11-30 15:29:36,677 - api.main - INFO - STDERR: import 'charset_normalizer.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6689BB0> +2024-11-30 15:29:36,677 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md.cp39-win_amd64.pyd' +2024-11-30 15:29:36,677 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md.cp39-win_amd64.pyd' +2024-11-30 15:29:36,677 - api.main - INFO - STDERR: import 'charset_normalizer.md' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001F5F6689BE0> +2024-11-30 15:29:36,677 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\models.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\models.py +2024-11-30 15:29:36,677 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\models.cpython-39.pyc' +2024-11-30 15:29:36,678 - api.main - INFO - STDERR: import 'charset_normalizer.models' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6690FA0> +2024-11-30 15:29:36,678 - api.main - INFO - STDERR: import 'charset_normalizer.cd' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6665100> +2024-11-30 15:29:36,678 - api.main - INFO - STDERR: import 'charset_normalizer.api' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F664BA90> +2024-11-30 15:29:36,678 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\legacy.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\legacy.py +2024-11-30 15:29:36,679 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\legacy.cpython-39.pyc' +2024-11-30 15:29:36,679 - api.main - INFO - STDERR: import 'charset_normalizer.legacy' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F66A2340> +2024-11-30 15:29:36,679 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\version.py +2024-11-30 15:29:36,679 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\version.cpython-39.pyc' +2024-11-30 15:29:36,679 - api.main - INFO - STDERR: import 'charset_normalizer.version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F66A23D0> +2024-11-30 15:29:36,679 - api.main - INFO - STDERR: import 'charset_normalizer' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F664BD30> +2024-11-30 15:29:36,680 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\cookiejar.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\cookiejar.py +2024-11-30 15:29:36,680 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\cookiejar.cpython-39.pyc' +2024-11-30 15:29:36,683 - api.main - INFO - STDERR: import 'http.cookiejar' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F66A2400> +2024-11-30 15:29:36,684 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\cookies.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\cookies.py +2024-11-30 15:29:36,684 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\cookies.cpython-39.pyc' +2024-11-30 15:29:36,686 - api.main - INFO - STDERR: import 'http.cookies' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F66F55B0> +2024-11-30 15:29:36,686 - api.main - INFO - STDERR: import 'requests.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F664BEE0> +2024-11-30 15:29:36,686 - api.main - INFO - STDERR: import 'requests.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F66563D0> +2024-11-30 15:29:36,688 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\packages.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\packages.py +2024-11-30 15:29:36,688 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\packages.cpython-39.pyc' +2024-11-30 15:29:36,690 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__init__.py +2024-11-30 15:29:36,690 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,690 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\core.py +2024-11-30 15:29:36,691 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\core.cpython-39.pyc' +2024-11-30 15:29:36,691 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\idnadata.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\idnadata.py +2024-11-30 15:29:36,691 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\idnadata.cpython-39.pyc' +2024-11-30 15:29:36,691 - api.main - INFO - STDERR: import 'idna.idnadata' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6711850> +2024-11-30 15:29:36,691 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\intranges.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\intranges.py +2024-11-30 15:29:36,691 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\intranges.cpython-39.pyc' +2024-11-30 15:29:36,692 - api.main - INFO - STDERR: import 'idna.intranges' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F67118E0> +2024-11-30 15:29:36,692 - api.main - INFO - STDERR: import 'idna.core' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6711100> +2024-11-30 15:29:36,692 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\package_data.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\package_data.py +2024-11-30 15:29:36,692 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\package_data.cpython-39.pyc' +2024-11-30 15:29:36,693 - api.main - INFO - STDERR: import 'idna.package_data' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6711580> +2024-11-30 15:29:36,693 - api.main - INFO - STDERR: import 'idna' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F66560A0> +2024-11-30 15:29:36,693 - api.main - INFO - STDERR: import 'requests.packages' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F66565B0> +2024-11-30 15:29:36,693 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\utils.py +2024-11-30 15:29:36,693 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 15:29:36,693 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\certs.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\certs.py +2024-11-30 15:29:36,693 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\certs.cpython-39.pyc' +2024-11-30 15:29:36,694 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__init__.py +2024-11-30 15:29:36,694 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\certifi\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,694 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\core.py +2024-11-30 15:29:36,695 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\certifi\\__pycache__\\core.cpython-39.pyc' +2024-11-30 15:29:36,695 - api.main - INFO - STDERR: import 'certifi.core' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F67497C0> +2024-11-30 15:29:36,695 - api.main - INFO - STDERR: import 'certifi' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6749550> +2024-11-30 15:29:36,695 - api.main - INFO - STDERR: import 'requests.certs' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6749340> +2024-11-30 15:29:36,695 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\__version__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__version__.py +2024-11-30 15:29:36,695 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\__version__.cpython-39.pyc' +2024-11-30 15:29:36,696 - api.main - INFO - STDERR: import 'requests.__version__' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F67494C0> +2024-11-30 15:29:36,696 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\_internal_utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\_internal_utils.py +2024-11-30 15:29:36,696 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\_internal_utils.cpython-39.pyc' +2024-11-30 15:29:36,696 - api.main - INFO - STDERR: import 'requests._internal_utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F67493D0> +2024-11-30 15:29:36,696 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\cookies.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\cookies.py +2024-11-30 15:29:36,696 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\cookies.cpython-39.pyc' +2024-11-30 15:29:36,696 - api.main - INFO - STDERR: import 'requests.cookies' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F67495E0> +2024-11-30 15:29:36,697 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\structures.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\structures.py +2024-11-30 15:29:36,697 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\structures.cpython-39.pyc' +2024-11-30 15:29:36,697 - api.main - INFO - STDERR: import 'requests.structures' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F67519D0> +2024-11-30 15:29:36,697 - api.main - INFO - STDERR: import 'requests.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F66567F0> +2024-11-30 15:29:36,697 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\api.py +2024-11-30 15:29:36,697 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\api.cpython-39.pyc' +2024-11-30 15:29:36,698 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\sessions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\sessions.py +2024-11-30 15:29:36,698 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\sessions.cpython-39.pyc' +2024-11-30 15:29:36,698 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\adapters.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\adapters.py +2024-11-30 15:29:36,698 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\adapters.cpython-39.pyc' +2024-11-30 15:29:36,699 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\auth.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\auth.py +2024-11-30 15:29:36,699 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\auth.cpython-39.pyc' +2024-11-30 15:29:36,699 - api.main - INFO - STDERR: import 'requests.auth' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F67697C0> +2024-11-30 15:29:36,699 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\models.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\models.py +2024-11-30 15:29:36,699 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\models.cpython-39.pyc' +2024-11-30 15:29:36,700 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\idna.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\idna.py +2024-11-30 15:29:36,700 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\idna.cpython-39.pyc' +2024-11-30 15:29:36,701 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\stringprep.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\stringprep.py +2024-11-30 15:29:36,701 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\stringprep.cpython-39.pyc' +2024-11-30 15:29:36,701 - api.main - INFO - STDERR: import 'stringprep' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F67851F0> +2024-11-30 15:29:36,701 - api.main - INFO - STDERR: import 'encodings.idna' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6779D60> +2024-11-30 15:29:36,702 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\hooks.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\hooks.py +2024-11-30 15:29:36,702 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\hooks.cpython-39.pyc' +2024-11-30 15:29:36,702 - api.main - INFO - STDERR: import 'requests.hooks' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6779F70> +2024-11-30 15:29:36,702 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\status_codes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\status_codes.py +2024-11-30 15:29:36,702 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\status_codes.cpython-39.pyc' +2024-11-30 15:29:36,702 - api.main - INFO - STDERR: import 'requests.status_codes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6785820> +2024-11-30 15:29:36,702 - api.main - INFO - STDERR: import 'requests.models' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6769E80> +2024-11-30 15:29:36,703 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\socks.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\socks.py +2024-11-30 15:29:36,703 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\socks.cpython-39.pyc' +2024-11-30 15:29:36,704 - api.main - INFO - STDERR: # destroy urllib3.contrib.socks +2024-11-30 15:29:36,705 - api.main - INFO - STDERR: import 'requests.adapters' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F675DEB0> +2024-11-30 15:29:36,705 - api.main - INFO - STDERR: import 'requests.sessions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F675D460> +2024-11-30 15:29:36,705 - api.main - INFO - STDERR: import 'requests.api' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F675D100> +2024-11-30 15:29:36,705 - api.main - INFO - STDERR: import 'requests' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F657EF10> +2024-11-30 15:29:36,705 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__init__.py +2024-11-30 15:29:36,705 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,706 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_version.py +2024-11-30 15:29:36,706 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 15:29:36,706 - api.main - INFO - STDERR: import 'PIL._version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F67695E0> +2024-11-30 15:29:36,706 - api.main - INFO - STDERR: import 'PIL' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F675D280> +2024-11-30 15:29:36,706 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\Image.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\Image.py +2024-11-30 15:29:36,707 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\Image.cpython-39.pyc' +2024-11-30 15:29:36,709 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\ExifTags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\ExifTags.py +2024-11-30 15:29:36,709 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\ExifTags.cpython-39.pyc' +2024-11-30 15:29:36,723 - api.main - INFO - STDERR: import 'PIL.ExifTags' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F67C9910> +2024-11-30 15:29:36,724 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\ImageMode.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\ImageMode.py +2024-11-30 15:29:36,724 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\ImageMode.cpython-39.pyc' +2024-11-30 15:29:36,724 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_deprecate.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_deprecate.py +2024-11-30 15:29:36,724 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_deprecate.cpython-39.pyc' +2024-11-30 15:29:36,724 - api.main - INFO - STDERR: import 'PIL._deprecate' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F67E6E80> +2024-11-30 15:29:36,725 - api.main - INFO - STDERR: import 'PIL.ImageMode' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F67C9940> +2024-11-30 15:29:36,726 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\TiffTags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\TiffTags.py +2024-11-30 15:29:36,727 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\TiffTags.cpython-39.pyc' +2024-11-30 15:29:36,728 - api.main - INFO - STDERR: import 'PIL.TiffTags' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F67ECA30> +2024-11-30 15:29:36,728 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_binary.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_binary.py +2024-11-30 15:29:36,728 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_binary.cpython-39.pyc' +2024-11-30 15:29:36,728 - api.main - INFO - STDERR: import 'PIL._binary' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F67ECDC0> +2024-11-30 15:29:36,728 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_util.py +2024-11-30 15:29:36,729 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_util.cpython-39.pyc' +2024-11-30 15:29:36,729 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_typing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_typing.py +2024-11-30 15:29:36,729 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_typing.cpython-39.pyc' +2024-11-30 15:29:36,729 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\typing_extensions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\typing_extensions.py +2024-11-30 15:29:36,731 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\typing_extensions.cpython-39.pyc' +2024-11-30 15:29:36,733 - api.main - INFO - STDERR: import 'typing_extensions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F67FFCA0> +2024-11-30 15:29:36,733 - api.main - INFO - STDERR: import 'PIL._typing' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F67FF820> +2024-11-30 15:29:36,734 - api.main - INFO - STDERR: import 'PIL._util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F67FF3D0> +2024-11-30 15:29:36,736 - api.main - INFO - STDERR: # extension module 'PIL._imaging' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\_imaging.cp39-win_amd64.pyd' +2024-11-30 15:29:36,736 - api.main - INFO - STDERR: # extension module 'PIL._imaging' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\_imaging.cp39-win_amd64.pyd' +2024-11-30 15:29:36,736 - api.main - INFO - STDERR: import 'PIL._imaging' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001F5F67FFEB0> +2024-11-30 15:29:36,737 - api.main - INFO - STDERR: import 'PIL.Image' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F675DC70> +2024-11-30 15:29:36,739 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__init__.py +2024-11-30 15:29:36,739 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,740 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py +2024-11-30 15:29:36,740 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\api.cpython-39.pyc' +2024-11-30 15:29:36,740 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\compat.py +2024-11-30 15:29:36,740 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\compat.cpython-39.pyc' +2024-11-30 15:29:36,741 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\decorator.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\decorator.py +2024-11-30 15:29:36,741 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\decorator.cpython-39.pyc' +2024-11-30 15:29:36,742 - api.main - INFO - STDERR: import 'decorator' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F681CA60> +2024-11-30 15:29:36,742 - api.main - INFO - STDERR: import 'retry.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F681C1C0> +2024-11-30 15:29:36,742 - api.main - INFO - STDERR: import 'retry.api' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F68135B0> +2024-11-30 15:29:36,742 - api.main - INFO - STDERR: import 'retry' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F675D1F0> +2024-11-30 15:29:36,744 - api.main - INFO - STDERR: import 'adbutils._device' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6569B50> +2024-11-30 15:29:36,744 - api.main - INFO - STDERR: import 'adbutils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F5998D00> +2024-11-30 15:29:36,745 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__init__.py +2024-11-30 15:29:36,746 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,746 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_api.py +2024-11-30 15:29:36,746 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_api.cpython-39.pyc' +2024-11-30 15:29:36,746 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_error.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_error.py +2024-11-30 15:29:36,746 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_error.cpython-39.pyc' +2024-11-30 15:29:36,746 - api.main - INFO - STDERR: import 'filelock._error' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F69D3220> +2024-11-30 15:29:36,748 - api.main - INFO - STDERR: import 'filelock._api' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F69BA820> +2024-11-30 15:29:36,748 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_soft.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_soft.py +2024-11-30 15:29:36,748 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_soft.cpython-39.pyc' +2024-11-30 15:29:36,748 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_util.py +2024-11-30 15:29:36,749 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_util.cpython-39.pyc' +2024-11-30 15:29:36,749 - api.main - INFO - STDERR: import 'filelock._util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F69D3FD0> +2024-11-30 15:29:36,749 - api.main - INFO - STDERR: import 'filelock._soft' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F69D35E0> +2024-11-30 15:29:36,749 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_unix.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_unix.py +2024-11-30 15:29:36,749 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_unix.cpython-39.pyc' +2024-11-30 15:29:36,749 - api.main - INFO - STDERR: import 'filelock._unix' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F69D3F10> +2024-11-30 15:29:36,750 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_windows.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_windows.py +2024-11-30 15:29:36,750 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_windows.cpython-39.pyc' +2024-11-30 15:29:36,750 - api.main - INFO - STDERR: import 'filelock._windows' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F69D39A0> +2024-11-30 15:29:36,750 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\asyncio.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\asyncio.py +2024-11-30 15:29:36,750 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\asyncio.cpython-39.pyc' +2024-11-30 15:29:36,751 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__init__.py +2024-11-30 15:29:36,752 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,753 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_events.py +2024-11-30 15:29:36,753 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_events.cpython-39.pyc' +2024-11-30 15:29:36,755 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\__init__.py +2024-11-30 15:29:36,755 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,756 - api.main - INFO - STDERR: import 'concurrent' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F69FD7F0> +2024-11-30 15:29:36,757 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__init__.py +2024-11-30 15:29:36,757 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\futures\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,757 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__pycache__\_base.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\_base.py +2024-11-30 15:29:36,757 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\futures\\__pycache__\\_base.cpython-39.pyc' +2024-11-30 15:29:36,758 - api.main - INFO - STDERR: import 'concurrent.futures._base' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F69FDAF0> +2024-11-30 15:29:36,758 - api.main - INFO - STDERR: import 'concurrent.futures' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F69FD820> +2024-11-30 15:29:36,759 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\constants.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\constants.py +2024-11-30 15:29:36,759 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\constants.cpython-39.pyc' +2024-11-30 15:29:36,759 - api.main - INFO - STDERR: import 'asyncio.constants' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F69FD8E0> +2024-11-30 15:29:36,760 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\coroutines.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\coroutines.py +2024-11-30 15:29:36,760 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\coroutines.cpython-39.pyc' +2024-11-30 15:29:36,760 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_futures.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_futures.py +2024-11-30 15:29:36,760 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_futures.cpython-39.pyc' +2024-11-30 15:29:36,762 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\format_helpers.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\format_helpers.py +2024-11-30 15:29:36,763 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\format_helpers.cpython-39.pyc' +2024-11-30 15:29:36,763 - api.main - INFO - STDERR: import 'asyncio.format_helpers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6A16D90> +2024-11-30 15:29:36,763 - api.main - INFO - STDERR: import 'asyncio.base_futures' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6A16A30> +2024-11-30 15:29:36,764 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\log.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\log.py +2024-11-30 15:29:36,764 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\log.cpython-39.pyc' +2024-11-30 15:29:36,765 - api.main - INFO - STDERR: import 'asyncio.log' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6A16DC0> +2024-11-30 15:29:36,765 - api.main - INFO - STDERR: import 'asyncio.coroutines' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F69FD670> +2024-11-30 15:29:36,768 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\events.py +2024-11-30 15:29:36,768 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\events.cpython-39.pyc' +2024-11-30 15:29:36,770 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\contextvars.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\contextvars.py +2024-11-30 15:29:36,770 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\contextvars.cpython-39.pyc' +2024-11-30 15:29:36,770 - api.main - INFO - STDERR: import '_contextvars' # +2024-11-30 15:29:36,770 - api.main - INFO - STDERR: import 'contextvars' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6A2E1F0> +2024-11-30 15:29:36,775 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\exceptions.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\exceptions.py +2024-11-30 15:29:36,775 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 15:29:36,775 - api.main - INFO - STDERR: import 'asyncio.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6A2E7C0> +2024-11-30 15:29:36,776 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_tasks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_tasks.py +2024-11-30 15:29:36,776 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_tasks.cpython-39.pyc' +2024-11-30 15:29:36,776 - api.main - INFO - STDERR: import 'asyncio.base_tasks' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6A2EC10> +2024-11-30 15:29:36,776 - api.main - INFO - STDERR: # extension module '_asyncio' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_asyncio.pyd' +2024-11-30 15:29:36,776 - api.main - INFO - STDERR: # extension module '_asyncio' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_asyncio.pyd' +2024-11-30 15:29:36,776 - api.main - INFO - STDERR: import '_asyncio' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001F5F6A2E580> +2024-11-30 15:29:36,776 - api.main - INFO - STDERR: import 'asyncio.events' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6A16820> +2024-11-30 15:29:36,778 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\futures.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\futures.py +2024-11-30 15:29:36,778 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\futures.cpython-39.pyc' +2024-11-30 15:29:36,778 - api.main - INFO - STDERR: import 'asyncio.futures' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6A2E3A0> +2024-11-30 15:29:36,779 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\protocols.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\protocols.py +2024-11-30 15:29:36,780 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\protocols.cpython-39.pyc' +2024-11-30 15:29:36,780 - api.main - INFO - STDERR: import 'asyncio.protocols' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6A40310> +2024-11-30 15:29:36,781 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\sslproto.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\sslproto.py +2024-11-30 15:29:36,781 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\sslproto.cpython-39.pyc' +2024-11-30 15:29:36,781 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\transports.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\transports.py +2024-11-30 15:29:36,781 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\transports.cpython-39.pyc' +2024-11-30 15:29:36,781 - api.main - INFO - STDERR: import 'asyncio.transports' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6A4A9D0> +2024-11-30 15:29:36,782 - api.main - INFO - STDERR: import 'asyncio.sslproto' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6A409A0> +2024-11-30 15:29:36,783 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\staggered.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\staggered.py +2024-11-30 15:29:36,783 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\staggered.cpython-39.pyc' +2024-11-30 15:29:36,783 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\locks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\locks.py +2024-11-30 15:29:36,784 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\locks.cpython-39.pyc' +2024-11-30 15:29:36,784 - api.main - INFO - STDERR: import 'asyncio.locks' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6A659D0> +2024-11-30 15:29:36,784 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\tasks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\tasks.py +2024-11-30 15:29:36,784 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\tasks.cpython-39.pyc' +2024-11-30 15:29:36,784 - api.main - INFO - STDERR: import 'asyncio.tasks' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6A73550> +2024-11-30 15:29:36,785 - api.main - INFO - STDERR: import 'asyncio.staggered' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6A4A790> +2024-11-30 15:29:36,786 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\trsock.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\trsock.py +2024-11-30 15:29:36,786 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\trsock.cpython-39.pyc' +2024-11-30 15:29:36,786 - api.main - INFO - STDERR: import 'asyncio.trsock' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6A7C820> +2024-11-30 15:29:36,786 - api.main - INFO - STDERR: import 'asyncio.base_events' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F69D8F70> +2024-11-30 15:29:36,786 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\runners.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\runners.py +2024-11-30 15:29:36,786 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\runners.cpython-39.pyc' +2024-11-30 15:29:36,786 - api.main - INFO - STDERR: import 'asyncio.runners' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F69FD580> +2024-11-30 15:29:36,787 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\queues.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\queues.py +2024-11-30 15:29:36,788 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\queues.cpython-39.pyc' +2024-11-30 15:29:36,788 - api.main - INFO - STDERR: import 'asyncio.queues' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F69FD430> +2024-11-30 15:29:36,789 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\streams.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\streams.py +2024-11-30 15:29:36,789 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\streams.cpython-39.pyc' +2024-11-30 15:29:36,789 - api.main - INFO - STDERR: import 'asyncio.streams' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6A858E0> +2024-11-30 15:29:36,790 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\subprocess.py +2024-11-30 15:29:36,791 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\subprocess.cpython-39.pyc' +2024-11-30 15:29:36,791 - api.main - INFO - STDERR: import 'asyncio.subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6A9B700> +2024-11-30 15:29:36,791 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\threads.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\threads.py +2024-11-30 15:29:36,791 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\threads.cpython-39.pyc' +2024-11-30 15:29:36,791 - api.main - INFO - STDERR: import 'asyncio.threads' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6A9BCA0> +2024-11-30 15:29:36,792 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\windows_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\windows_events.py +2024-11-30 15:29:36,792 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\windows_events.cpython-39.pyc' +2024-11-30 15:29:36,793 - api.main - INFO - STDERR: # extension module '_overlapped' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_overlapped.pyd' +2024-11-30 15:29:36,793 - api.main - INFO - STDERR: # extension module '_overlapped' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_overlapped.pyd' +2024-11-30 15:29:36,793 - api.main - INFO - STDERR: import '_overlapped' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001F5F6AB7250> +2024-11-30 15:29:36,794 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_subprocess.py +2024-11-30 15:29:36,794 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_subprocess.cpython-39.pyc' +2024-11-30 15:29:36,794 - api.main - INFO - STDERR: import 'asyncio.base_subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6AB73A0> +2024-11-30 15:29:36,795 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\proactor_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\proactor_events.py +2024-11-30 15:29:36,796 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\proactor_events.cpython-39.pyc' +2024-11-30 15:29:36,796 - api.main - INFO - STDERR: import 'asyncio.proactor_events' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6AB7E20> +2024-11-30 15:29:36,798 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\selector_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\selector_events.py +2024-11-30 15:29:36,798 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\selector_events.cpython-39.pyc' +2024-11-30 15:29:36,799 - api.main - INFO - STDERR: import 'asyncio.selector_events' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6AD2520> +2024-11-30 15:29:36,800 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\windows_utils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\windows_utils.py +2024-11-30 15:29:36,800 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\windows_utils.cpython-39.pyc' +2024-11-30 15:29:36,801 - api.main - INFO - STDERR: import 'asyncio.windows_utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6AF2610> +2024-11-30 15:29:36,802 - api.main - INFO - STDERR: import 'asyncio.windows_events' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6A9BD60> +2024-11-30 15:29:36,802 - api.main - INFO - STDERR: import 'asyncio' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F69D8370> +2024-11-30 15:29:36,803 - api.main - INFO - STDERR: import 'filelock.asyncio' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F69D3B50> +2024-11-30 15:29:36,804 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\version.py +2024-11-30 15:29:36,804 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\version.cpython-39.pyc' +2024-11-30 15:29:36,804 - api.main - INFO - STDERR: import 'filelock.version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6B00B80> +2024-11-30 15:29:36,804 - api.main - INFO - STDERR: import 'filelock' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F69BA640> +2024-11-30 15:29:36,806 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__init__.py +2024-11-30 15:29:36,806 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,806 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\colors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\colors.py +2024-11-30 15:29:36,806 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\colors.cpython-39.pyc' +2024-11-30 15:29:36,807 - api.main - INFO - STDERR: import 'logzero.colors' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6B009D0> +2024-11-30 15:29:36,807 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\jsonlogger.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\jsonlogger.py +2024-11-30 15:29:36,807 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\jsonlogger.cpython-39.pyc' +2024-11-30 15:29:36,807 - api.main - INFO - STDERR: import 'logzero.jsonlogger' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6B00280> +2024-11-30 15:29:36,808 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__pycache__\handlers.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\handlers.py +2024-11-30 15:29:36,808 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\logging\\__pycache__\\handlers.cpython-39.pyc' +2024-11-30 15:29:36,810 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pickle.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pickle.py +2024-11-30 15:29:36,810 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pickle.cpython-39.pyc' +2024-11-30 15:29:36,811 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_compat_pickle.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_compat_pickle.py +2024-11-30 15:29:36,811 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_compat_pickle.cpython-39.pyc' +2024-11-30 15:29:36,811 - api.main - INFO - STDERR: import '_compat_pickle' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6B39760> +2024-11-30 15:29:36,811 - api.main - INFO - STDERR: import '_pickle' # +2024-11-30 15:29:36,813 - api.main - INFO - STDERR: import 'pickle' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6B1AC70> +2024-11-30 15:29:36,813 - api.main - INFO - STDERR: import 'logging.handlers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6AF2D60> +2024-11-30 15:29:36,813 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\curses\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\curses\__init__.py +2024-11-30 15:29:36,814 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\curses\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,814 - api.main - INFO - STDERR: # destroy curses +2024-11-30 15:29:36,814 - api.main - INFO - STDERR: import 'logzero' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F69D3B20> +2024-11-30 15:29:36,814 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\six.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\six.py +2024-11-30 15:29:36,816 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\six.cpython-39.pyc' +2024-11-30 15:29:36,816 - api.main - INFO - STDERR: import 'six' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6B1ADC0> +2024-11-30 15:29:36,816 - api.main - INFO - STDERR: import 'six.moves' # +2024-11-30 15:29:36,816 - api.main - INFO - STDERR: import 'six.moves.urllib' # +2024-11-30 15:29:36,816 - api.main - INFO - STDERR: import 'six.moves.urllib.parse' # +2024-11-30 15:29:36,816 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\cached_property.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cached_property.py +2024-11-30 15:29:36,816 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\cached_property.cpython-39.pyc' +2024-11-30 15:29:36,816 - api.main - INFO - STDERR: import 'cached_property' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6B39FA0> +2024-11-30 15:29:36,818 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__init__.py +2024-11-30 15:29:36,818 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\deprecated\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,818 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__pycache__\classic.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\classic.py +2024-11-30 15:29:36,818 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\deprecated\\__pycache__\\classic.cpython-39.pyc' +2024-11-30 15:29:36,819 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__init__.py +2024-11-30 15:29:36,819 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,820 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\__wrapt__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__wrapt__.py +2024-11-30 15:29:36,820 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\__wrapt__.cpython-39.pyc' +2024-11-30 15:29:36,820 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\wrappers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\wrappers.py +2024-11-30 15:29:36,820 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\wrappers.cpython-39.pyc' +2024-11-30 15:29:36,821 - api.main - INFO - STDERR: import 'wrapt.wrappers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6B72100> +2024-11-30 15:29:36,825 - api.main - INFO - STDERR: # extension module 'wrapt._wrappers' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\_wrappers.cp39-win_amd64.pyd' +2024-11-30 15:29:36,825 - api.main - INFO - STDERR: # extension module 'wrapt._wrappers' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\_wrappers.cp39-win_amd64.pyd' +2024-11-30 15:29:36,825 - api.main - INFO - STDERR: import 'wrapt._wrappers' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001F5F6B7BA90> +2024-11-30 15:29:36,825 - api.main - INFO - STDERR: import 'wrapt.__wrapt__' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6B67B20> +2024-11-30 15:29:36,826 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\patches.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\patches.py +2024-11-30 15:29:36,826 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\patches.cpython-39.pyc' +2024-11-30 15:29:36,826 - api.main - INFO - STDERR: import 'wrapt.patches' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6B67C10> +2024-11-30 15:29:36,827 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\weakrefs.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\weakrefs.py +2024-11-30 15:29:36,827 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\weakrefs.cpython-39.pyc' +2024-11-30 15:29:36,827 - api.main - INFO - STDERR: import 'wrapt.weakrefs' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6B7BFD0> +2024-11-30 15:29:36,828 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\decorators.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\decorators.py +2024-11-30 15:29:36,828 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\decorators.cpython-39.pyc' +2024-11-30 15:29:36,829 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\arguments.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\arguments.py +2024-11-30 15:29:36,829 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\arguments.cpython-39.pyc' +2024-11-30 15:29:36,829 - api.main - INFO - STDERR: import 'wrapt.arguments' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6B95130> +2024-11-30 15:29:36,829 - api.main - INFO - STDERR: import 'wrapt.decorators' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6B902E0> +2024-11-30 15:29:36,829 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\importer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\importer.py +2024-11-30 15:29:36,829 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\importer.cpython-39.pyc' +2024-11-30 15:29:36,829 - api.main - INFO - STDERR: import 'wrapt.importer' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6B95310> +2024-11-30 15:29:36,829 - api.main - INFO - STDERR: import 'wrapt' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6B67FA0> +2024-11-30 15:29:36,829 - api.main - INFO - STDERR: import 'deprecated.classic' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6B56C70> +2024-11-30 15:29:36,829 - api.main - INFO - STDERR: import 'deprecated' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6B56790> +2024-11-30 15:29:36,831 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\xpath.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\xpath.py +2024-11-30 15:29:36,832 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\xpath.cpython-39.pyc' +2024-11-30 15:29:36,832 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\_proto.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_proto.py +2024-11-30 15:29:36,832 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\_proto.cpython-39.pyc' +2024-11-30 15:29:36,832 - api.main - INFO - STDERR: import 'uiautomator2._proto' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6BAD9A0> +2024-11-30 15:29:36,832 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\abcd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\abcd.py +2024-11-30 15:29:36,832 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\abcd.cpython-39.pyc' +2024-11-30 15:29:36,832 - api.main - INFO - STDERR: import 'uiautomator2.abcd' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6BADAF0> +2024-11-30 15:29:36,834 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\exceptions.py +2024-11-30 15:29:36,834 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 15:29:36,834 - api.main - INFO - STDERR: import 'uiautomator2.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6BADE20> +2024-11-30 15:29:36,834 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\utils.py +2024-11-30 15:29:36,834 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 15:29:36,834 - api.main - INFO - STDERR: import 'uiautomator2.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6BADF70> +2024-11-30 15:29:36,836 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\lxml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\lxml\__init__.py +2024-11-30 15:29:36,836 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,836 - api.main - INFO - STDERR: import 'lxml' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6BC7EE0> +2024-11-30 15:29:36,837 - api.main - INFO - STDERR: # extension module 'lxml.etree' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\etree.cp39-win_amd64.pyd' +2024-11-30 15:29:36,838 - api.main - INFO - STDERR: import 'gc' # +2024-11-30 15:29:36,841 - api.main - INFO - STDERR: # extension module 'lxml._elementpath' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\_elementpath.cp39-win_amd64.pyd' +2024-11-30 15:29:36,842 - api.main - INFO - STDERR: # extension module 'lxml._elementpath' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\_elementpath.cp39-win_amd64.pyd' +2024-11-30 15:29:36,842 - api.main - INFO - STDERR: import 'lxml._elementpath' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001F5F6C26DC0> +2024-11-30 15:29:36,846 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\gzip.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\gzip.py +2024-11-30 15:29:36,846 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\gzip.cpython-39.pyc' +2024-11-30 15:29:36,847 - api.main - INFO - STDERR: import 'gzip' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6C49940> +2024-11-30 15:29:36,848 - api.main - INFO - STDERR: # extension module 'lxml.etree' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\etree.cp39-win_amd64.pyd' +2024-11-30 15:29:36,848 - api.main - INFO - STDERR: import 'lxml.etree' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001F5F6BC7EB0> +2024-11-30 15:29:36,849 - api.main - INFO - STDERR: import 'uiautomator2.xpath' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6B567F0> +2024-11-30 15:29:36,849 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\_selector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_selector.py +2024-11-30 15:29:36,849 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\_selector.cpython-39.pyc' +2024-11-30 15:29:36,849 - api.main - INFO - STDERR: import 'uiautomator2._selector' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6B959A0> +2024-11-30 15:29:36,849 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\init.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\init.py +2024-11-30 15:29:36,850 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\init.cpython-39.pyc' +2024-11-30 15:29:36,850 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tarfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tarfile.py +2024-11-30 15:29:36,851 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tarfile.cpython-39.pyc' +2024-11-30 15:29:36,852 - api.main - INFO - STDERR: import 'tarfile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6C8EB80> +2024-11-30 15:29:36,853 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__init__.py +2024-11-30 15:29:36,853 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,853 - api.main - INFO - STDERR: import 'progress' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6C9BAC0> +2024-11-30 15:29:36,853 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\bar.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\bar.py +2024-11-30 15:29:36,854 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\bar.cpython-39.pyc' +2024-11-30 15:29:36,854 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\colors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\colors.py +2024-11-30 15:29:36,854 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\colors.cpython-39.pyc' +2024-11-30 15:29:36,854 - api.main - INFO - STDERR: import 'progress.colors' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6CC7310> +2024-11-30 15:29:36,855 - api.main - INFO - STDERR: import 'progress.bar' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6C8EF70> +2024-11-30 15:29:36,855 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\version.py +2024-11-30 15:29:36,855 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\version.cpython-39.pyc' +2024-11-30 15:29:36,856 - api.main - INFO - STDERR: import 'uiautomator2.version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6CC7130> +2024-11-30 15:29:36,856 - api.main - INFO - STDERR: import 'uiautomator2.init' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6C8E550> +2024-11-30 15:29:36,857 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\settings.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\settings.py +2024-11-30 15:29:36,857 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\settings.cpython-39.pyc' +2024-11-30 15:29:36,857 - api.main - INFO - STDERR: import 'uiautomator2.settings' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6CC7AC0> +2024-11-30 15:29:36,857 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\swipe.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\swipe.py +2024-11-30 15:29:36,857 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\swipe.cpython-39.pyc' +2024-11-30 15:29:36,857 - api.main - INFO - STDERR: import 'uiautomator2.swipe' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6CC7D60> +2024-11-30 15:29:36,857 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\watcher.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\watcher.py +2024-11-30 15:29:36,857 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\watcher.cpython-39.pyc' +2024-11-30 15:29:36,857 - api.main - INFO - STDERR: import 'uiautomator2.watcher' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6CC7F10> +2024-11-30 15:29:36,858 - api.main - INFO - STDERR: import 'uiautomator2' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F58A9E80> +2024-11-30 15:29:36,859 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\utils.py +2024-11-30 15:29:36,859 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 15:29:36,860 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__init__.py +2024-11-30 15:29:36,860 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,861 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\core.py +2024-11-30 15:29:36,861 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\__pycache__\\core.cpython-39.pyc' +2024-11-30 15:29:36,861 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__init__.py +2024-11-30 15:29:36,861 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\unicode_codes\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,862 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__pycache__\data_dict.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\data_dict.py +2024-11-30 15:29:36,864 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\unicode_codes\\__pycache__\\data_dict.cpython-39.pyc' +2024-11-30 15:29:36,868 - api.main - INFO - STDERR: import 'emoji.unicode_codes.data_dict' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6CFF970> +2024-11-30 15:29:36,880 - api.main - INFO - STDERR: import 'emoji.unicode_codes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6CFF640> +2024-11-30 15:29:36,880 - api.main - INFO - STDERR: import 'emoji.core' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6CEFF70> +2024-11-30 15:29:36,880 - api.main - INFO - STDERR: import 'emoji' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6CEFD00> +2024-11-30 15:29:36,881 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\log.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\log.py +2024-11-30 15:29:36,881 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\log.cpython-39.pyc' +2024-11-30 15:29:36,882 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\uuid.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\uuid.py +2024-11-30 15:29:36,882 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\uuid.cpython-39.pyc' +2024-11-30 15:29:36,882 - api.main - INFO - STDERR: # extension module '_uuid' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_uuid.pyd' +2024-11-30 15:29:36,882 - api.main - INFO - STDERR: # extension module '_uuid' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_uuid.pyd' +2024-11-30 15:29:36,882 - api.main - INFO - STDERR: import '_uuid' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001F5F78E91F0> +2024-11-30 15:29:36,882 - api.main - INFO - STDERR: import 'uuid' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6CFFA90> +2024-11-30 15:29:36,882 - api.main - INFO - STDERR: import 'GramAddict.core.log' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6CEFD30> +2024-11-30 15:29:36,884 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\report.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\report.py +2024-11-30 15:29:36,884 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\report.cpython-39.pyc' +2024-11-30 15:29:36,884 - api.main - INFO - STDERR: import 'GramAddict.core.report' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F6CFF760> +2024-11-30 15:29:36,884 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\resources.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\resources.py +2024-11-30 15:29:36,884 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\resources.cpython-39.pyc' +2024-11-30 15:29:36,885 - api.main - INFO - STDERR: import 'GramAddict.core.resources' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F78E9160> +2024-11-30 15:29:36,885 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\storage.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\storage.py +2024-11-30 15:29:36,886 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\storage.cpython-39.pyc' +2024-11-30 15:29:36,886 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\atomicwrites\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\atomicwrites\__init__.py +2024-11-30 15:29:36,886 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\atomicwrites\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,886 - api.main - INFO - STDERR: import 'atomicwrites' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F78E9880> +2024-11-30 15:29:36,887 - api.main - INFO - STDERR: import 'GramAddict.core.storage' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F78E9310> +2024-11-30 15:29:36,887 - api.main - INFO - STDERR: import 'GramAddict.core.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F58E66D0> +2024-11-30 15:29:36,888 - api.main - INFO - STDERR: import 'GramAddict.core.device_facade' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F57D92B0> +2024-11-30 15:29:36,889 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\filter.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\filter.py +2024-11-30 15:29:36,889 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\filter.cpython-39.pyc' +2024-11-30 15:29:36,890 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__init__.py +2024-11-30 15:29:36,890 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,890 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\detector_factory.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\detector_factory.py +2024-11-30 15:29:36,890 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\detector_factory.cpython-39.pyc' +2024-11-30 15:29:36,891 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\detector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\detector.py +2024-11-30 15:29:36,891 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\detector.cpython-39.pyc' +2024-11-30 15:29:36,891 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\lang_detect_exception.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\lang_detect_exception.py +2024-11-30 15:29:36,891 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\lang_detect_exception.cpython-39.pyc' +2024-11-30 15:29:36,892 - api.main - INFO - STDERR: import 'langdetect.lang_detect_exception' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7912D60> +2024-11-30 15:29:36,892 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\language.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\language.py +2024-11-30 15:29:36,892 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\language.cpython-39.pyc' +2024-11-30 15:29:36,892 - api.main - INFO - STDERR: import 'langdetect.language' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7912FD0> +2024-11-30 15:29:36,892 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__init__.py +2024-11-30 15:29:36,892 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,892 - api.main - INFO - STDERR: import 'langdetect.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F791A3A0> +2024-11-30 15:29:36,892 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\ngram.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\ngram.py +2024-11-30 15:29:36,892 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\ngram.cpython-39.pyc' +2024-11-30 15:29:36,893 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\messages.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\messages.py +2024-11-30 15:29:36,893 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\messages.cpython-39.pyc' +2024-11-30 15:29:36,893 - api.main - INFO - STDERR: import 'langdetect.utils.messages' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F791A6D0> +2024-11-30 15:29:36,893 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\unicode_block.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\unicode_block.py +2024-11-30 15:29:36,893 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\unicode_block.cpython-39.pyc' +2024-11-30 15:29:36,893 - api.main - INFO - STDERR: import 'langdetect.utils.unicode_block' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F791A880> +2024-11-30 15:29:36,894 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\unicode_escape.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\unicode_escape.py +2024-11-30 15:29:36,895 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\unicode_escape.cpython-39.pyc' +2024-11-30 15:29:36,895 - api.main - INFO - STDERR: import 'encodings.unicode_escape' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F791AA30> +2024-11-30 15:29:36,896 - api.main - INFO - STDERR: import 'langdetect.utils.ngram' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F791A3D0> +2024-11-30 15:29:36,897 - api.main - INFO - STDERR: import 'langdetect.detector' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F79127C0> +2024-11-30 15:29:36,897 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\lang_profile.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\lang_profile.py +2024-11-30 15:29:36,897 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\lang_profile.cpython-39.pyc' +2024-11-30 15:29:36,897 - api.main - INFO - STDERR: import 'langdetect.utils.lang_profile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7912B80> +2024-11-30 15:29:36,897 - api.main - INFO - STDERR: import 'langdetect.detector_factory' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F79122B0> +2024-11-30 15:29:36,897 - api.main - INFO - STDERR: import 'langdetect' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F78FFFD0> +2024-11-30 15:29:36,898 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\views.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py +2024-11-30 15:29:36,898 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\views.cpython-39.pyc' +2024-11-30 15:29:36,900 - api.main - INFO - STDERR: import 'GramAddict.core.views' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7912550> +2024-11-30 15:29:36,900 - api.main - INFO - STDERR: import 'GramAddict.core.filter' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F58A94F0> +2024-11-30 15:29:36,901 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\interaction.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\interaction.py +2024-11-30 15:29:36,901 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\interaction.cpython-39.pyc' +2024-11-30 15:29:36,902 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__init__.py +2024-11-30 15:29:36,902 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\spintax\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:36,902 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__pycache__\spintax.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\spintax.py +2024-11-30 15:29:36,902 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\spintax\\__pycache__\\spintax.cpython-39.pyc' +2024-11-30 15:29:36,902 - api.main - INFO - STDERR: import 'spintax.spintax' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7A07820> +2024-11-30 15:29:36,902 - api.main - INFO - STDERR: import 'spintax' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7A075E0> +2024-11-30 15:29:36,903 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\session_state.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\session_state.py +2024-11-30 15:29:36,903 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\session_state.cpython-39.pyc' +2024-11-30 15:29:36,903 - api.main - INFO - STDERR: import 'GramAddict.core.session_state' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7A078E0> +2024-11-30 15:29:36,903 - api.main - INFO - STDERR: import 'GramAddict.core.interaction' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7A07100> +2024-11-30 15:29:36,904 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\navigation.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\navigation.py +2024-11-30 15:29:36,904 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\navigation.cpython-39.pyc' +2024-11-30 15:29:36,904 - api.main - INFO - STDERR: import 'GramAddict.core.navigation' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7A07FD0> +2024-11-30 15:29:36,905 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\persistent_list.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\persistent_list.py +2024-11-30 15:29:36,905 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\persistent_list.cpython-39.pyc' +2024-11-30 15:29:36,905 - api.main - INFO - STDERR: import 'GramAddict.core.persistent_list' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7A160D0> +2024-11-30 15:29:36,905 - api.main - INFO - STDOUT: Python path: ['e:\\PROJECTS\\instagram automation\\virtualinfluencer', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\python39.zip', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer'] +2024-11-30 15:29:36,905 - api.main - INFO - STDERR: import 'GramAddict.core.bot_flow' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3964670> +2024-11-30 15:29:36,905 - api.main - INFO - STDOUT: Current directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 15:29:36,905 - api.main - INFO - STDERR: import 'GramAddict' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3964D00> +2024-11-30 15:29:36,905 - api.main - INFO - STDOUT: Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 15:29:36,905 - api.main - INFO - STDERR: e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml has been saved last time at 2024-11-29 01:33:21 +2024-11-30 15:29:36,905 - api.main - INFO - STDOUT: Successfully imported GramAddict +2024-11-30 15:29:36,917 - api.main - INFO - STDERR: [11/30 15:29:36] DEBUG | Initial log file: logs/quecreate.log +2024-11-30 15:29:36,917 - api.main - INFO - STDERR: [11/30 15:29:36] DEBUG | Installed via git, config-examples is in the local folder. +2024-11-30 15:29:36,917 - api.main - INFO - STDERR: [11/30 15:29:36] INFO | Checking for updates... +2024-11-30 15:29:36,919 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\netrc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\netrc.py +2024-11-30 15:29:36,919 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\netrc.cpython-39.pyc' +2024-11-30 15:29:36,919 - api.main - INFO - STDERR: import 'netrc' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7A16F10> +2024-11-30 15:29:37,164 - api.main - INFO - STDERR: [11/30 15:29:37] INFO | Bot is updated. +2024-11-30 15:29:37,164 - api.main - INFO - STDERR: [11/30 15:29:37] INFO | GramAddict v.3.2.12 +2024-11-30 15:29:37,165 - api.main - INFO - STDERR: [11/30 15:29:37] INFO | Loading plugins . . . +2024-11-30 15:29:37,166 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__init__.py +2024-11-30 15:29:37,166 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:37,166 - api.main - INFO - STDERR: import 'GramAddict.plugins' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7A16EB0> +2024-11-30 15:29:37,168 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\action_unfollow_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\action_unfollow_followers.py +2024-11-30 15:29:37,168 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\action_unfollow_followers.cpython-39.pyc' +2024-11-30 15:29:37,168 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\decorators.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py +2024-11-30 15:29:37,168 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\decorators.cpython-39.pyc' +2024-11-30 15:29:37,168 - api.main - INFO - STDERR: import 'GramAddict.core.decorators' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7A33EB0> +2024-11-30 15:29:37,170 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\scroll_end_detector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\scroll_end_detector.py +2024-11-30 15:29:37,170 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\scroll_end_detector.cpython-39.pyc' +2024-11-30 15:29:37,170 - api.main - INFO - STDERR: import 'GramAddict.core.scroll_end_detector' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7A335E0> +2024-11-30 15:29:37,170 - api.main - INFO - STDERR: import 'GramAddict.plugins.action_unfollow_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7A16BE0> +2024-11-30 15:29:37,170 - api.main - INFO - STDERR: [11/30 15:29:37] INFO | - ActionUnfollowFollowers: Handles the functionality of unfollowing your followers +2024-11-30 15:29:37,171 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\cloned_app.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\cloned_app.py +2024-11-30 15:29:37,171 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\cloned_app.cpython-39.pyc' +2024-11-30 15:29:37,171 - api.main - INFO - STDERR: import 'GramAddict.plugins.cloned_app' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7A33A60> +2024-11-30 15:29:37,171 - api.main - INFO - STDERR: [11/30 15:29:37] INFO | - ClonedApp: Adds support for cloned apps +2024-11-30 15:29:37,171 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\core_arguments.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\core_arguments.py +2024-11-30 15:29:37,171 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\core_arguments.cpython-39.pyc' +2024-11-30 15:29:37,173 - api.main - INFO - STDERR: import 'GramAddict.plugins.core_arguments' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7A33C10> +2024-11-30 15:29:37,173 - api.main - INFO - STDERR: [11/30 15:29:37] INFO | - CoreArguments: Simply adds core arguments +2024-11-30 15:29:37,174 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\data_analytics.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\data_analytics.py +2024-11-30 15:29:37,174 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\data_analytics.cpython-39.pyc' +2024-11-30 15:29:37,174 - api.main - INFO - STDERR: import 'GramAddict.plugins.data_analytics' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7A33F10> +2024-11-30 15:29:37,174 - api.main - INFO - STDERR: [11/30 15:29:37] INFO | - DataAnalytics: Generates a PDF analytics report of current username session data +2024-11-30 15:29:37,174 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\dbinit.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\dbinit.py +2024-11-30 15:29:37,174 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\dbinit.cpython-39.pyc' +2024-11-30 15:29:37,174 - api.main - INFO - STDERR: import 'GramAddict.plugins.dbinit' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F3964EB0> +2024-11-30 15:29:37,174 - api.main - INFO - STDERR: [11/30 15:29:37] INFO | - DBInitPlugin: Initialize NocoDB tables at session start +2024-11-30 15:29:37,176 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger.py +2024-11-30 15:29:37,176 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger.cpython-39.pyc' +2024-11-30 15:29:37,177 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\handle_sources.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py +2024-11-30 15:29:37,177 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\handle_sources.cpython-39.pyc' +2024-11-30 15:29:37,177 - api.main - INFO - STDERR: import 'GramAddict.core.handle_sources' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7A92550> +2024-11-30 15:29:37,177 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F39643A0> +2024-11-30 15:29:37,177 - api.main - INFO - STDERR: [11/30 15:29:37] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger +2024-11-30 15:29:37,178 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py +2024-11-30 15:29:37,178 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger_followers.cpython-39.pyc' +2024-11-30 15:29:37,178 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7A92970> +2024-11-30 15:29:37,178 - api.main - INFO - STDERR: [11/30 15:29:37] INFO | - InteractBloggerFollowers_Following: Handles the functionality of interacting with a bloggers followers/following +2024-11-30 15:29:37,179 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger_post_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_post_likers.py +2024-11-30 15:29:37,179 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger_post_likers.cpython-39.pyc' +2024-11-30 15:29:37,179 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger_post_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7A92C10> +2024-11-30 15:29:37,179 - api.main - INFO - STDERR: [11/30 15:29:37] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger post likers +2024-11-30 15:29:37,181 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_feed.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_feed.py +2024-11-30 15:29:37,181 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_feed.cpython-39.pyc' +2024-11-30 15:29:37,181 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_feed' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7A92F40> +2024-11-30 15:29:37,182 - api.main - INFO - STDERR: [11/30 15:29:37] INFO | - InteractOwnFeed: Handles the functionality of interacting with your own feed +2024-11-30 15:29:37,182 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_hashtag_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_hashtag_likers.py +2024-11-30 15:29:37,182 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_hashtag_likers.cpython-39.pyc' +2024-11-30 15:29:37,182 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_hashtag_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7A7E2E0> +2024-11-30 15:29:37,182 - api.main - INFO - STDERR: [11/30 15:29:37] INFO | - InteractHashtagLikers: Handles the functionality of interacting with a hashtags likers +2024-11-30 15:29:37,183 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_hashtag_posts.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_hashtag_posts.py +2024-11-30 15:29:37,183 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_hashtag_posts.cpython-39.pyc' +2024-11-30 15:29:37,184 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_hashtag_posts' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7A7E640> +2024-11-30 15:29:37,184 - api.main - INFO - STDERR: [11/30 15:29:37] INFO | - InteractHashtagPosts: Handles the functionality of interacting with a hashtags post owners +2024-11-30 15:29:37,185 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_place_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_place_likers.py +2024-11-30 15:29:37,185 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_place_likers.cpython-39.pyc' +2024-11-30 15:29:37,185 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_place_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7A7E9A0> +2024-11-30 15:29:37,185 - api.main - INFO - STDERR: [11/30 15:29:37] INFO | - InteractPlaceLikers: Handles the functionality of interacting with a places likers +2024-11-30 15:29:37,186 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_place_posts.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_place_posts.py +2024-11-30 15:29:37,186 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_place_posts.cpython-39.pyc' +2024-11-30 15:29:37,186 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_place_posts' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7A7ED30> +2024-11-30 15:29:37,186 - api.main - INFO - STDERR: [11/30 15:29:37] INFO | - InteractPlacePosts: Handles the functionality of interacting with a places post owners +2024-11-30 15:29:37,188 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\like_from_urls.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\like_from_urls.py +2024-11-30 15:29:37,188 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\like_from_urls.cpython-39.pyc' +2024-11-30 15:29:37,189 - api.main - INFO - STDERR: import 'GramAddict.plugins.like_from_urls' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7A7EFA0> +2024-11-30 15:29:37,189 - api.main - INFO - STDERR: [11/30 15:29:37] INFO | - LikeFromURLs: Likes a post from url. The urls are read from a plaintext file +2024-11-30 15:29:37,190 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\nocodb_record_creation_test.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\nocodb_record_creation_test.py +2024-11-30 15:29:37,190 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\nocodb_record_creation_test.cpython-39.pyc' +2024-11-30 15:29:37,190 - api.main - INFO - STDERR: import 'GramAddict.plugins.nocodb_record_creation_test' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7A9E460> +2024-11-30 15:29:37,190 - api.main - INFO - STDERR: [11/30 15:29:37] INFO | - NocoDBRecordCreationTest: Test plugin specifically for verifying NocoDB record creation functionality +2024-11-30 15:29:37,191 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\nocodb_storage.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\nocodb_storage.py +2024-11-30 15:29:37,191 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\nocodb_storage.cpython-39.pyc' +2024-11-30 15:29:37,192 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__init__.py +2024-11-30 15:29:37,192 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:29:37,193 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jwk.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jwk.py +2024-11-30 15:29:37,193 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jwk.cpython-39.pyc' +2024-11-30 15:29:37,193 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\algorithms.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\algorithms.py +2024-11-30 15:29:37,193 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\algorithms.cpython-39.pyc' +2024-11-30 15:29:37,193 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\exceptions.py +2024-11-30 15:29:37,194 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 15:29:37,194 - api.main - INFO - STDERR: import 'jwt.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7ABC790> +2024-11-30 15:29:37,194 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\types.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\types.py +2024-11-30 15:29:37,194 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\types.cpython-39.pyc' +2024-11-30 15:29:37,194 - api.main - INFO - STDERR: import 'jwt.types' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7ABC820> +2024-11-30 15:29:37,195 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\utils.py +2024-11-30 15:29:37,195 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 15:29:37,196 - api.main - INFO - STDERR: import 'jwt.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7ABC910> +2024-11-30 15:29:37,196 - api.main - INFO - STDERR: import 'jwt.algorithms' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7AB05B0> +2024-11-30 15:29:37,197 - api.main - INFO - STDERR: import 'jwt.api_jwk' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7A9EE20> +2024-11-30 15:29:37,197 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jws.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jws.py +2024-11-30 15:29:37,197 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jws.cpython-39.pyc' +2024-11-30 15:29:37,197 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\warnings.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\warnings.py +2024-11-30 15:29:37,197 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\warnings.cpython-39.pyc' +2024-11-30 15:29:37,197 - api.main - INFO - STDERR: import 'jwt.warnings' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7ABC160> +2024-11-30 15:29:37,198 - api.main - INFO - STDERR: import 'jwt.api_jws' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7AB0C70> +2024-11-30 15:29:37,198 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jwt.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jwt.py +2024-11-30 15:29:37,198 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jwt.cpython-39.pyc' +2024-11-30 15:29:37,198 - api.main - INFO - STDERR: import 'jwt.api_jwt' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7ABC3A0> +2024-11-30 15:29:37,198 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\jwks_client.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\jwks_client.py +2024-11-30 15:29:37,198 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\jwks_client.cpython-39.pyc' +2024-11-30 15:29:37,199 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\jwk_set_cache.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\jwk_set_cache.py +2024-11-30 15:29:37,199 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\jwk_set_cache.cpython-39.pyc' +2024-11-30 15:29:37,199 - api.main - INFO - STDERR: import 'jwt.jwk_set_cache' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7AC7B50> +2024-11-30 15:29:37,199 - api.main - INFO - STDERR: import 'jwt.jwks_client' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7AC7580> +2024-11-30 15:29:37,199 - api.main - INFO - STDERR: import 'jwt' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7A9EBB0> +2024-11-30 15:29:37,200 - api.main - INFO - STDERR: import 'GramAddict.plugins.nocodb_storage' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7A9E5E0> +2024-11-30 15:29:37,200 - api.main - INFO - STDERR: [11/30 15:29:37] INFO | - NocoDBStorage: Store interaction data in NocoDB +2024-11-30 15:29:37,201 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\remove_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\remove_followers.py +2024-11-30 15:29:37,201 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\remove_followers.cpython-39.pyc' +2024-11-30 15:29:37,201 - api.main - INFO - STDERR: import 'GramAddict.plugins.remove_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7AC7FD0> +2024-11-30 15:29:37,202 - api.main - INFO - STDERR: [11/30 15:29:37] INFO | - RemoveFollowersFromList: Remove account followers from a list of usernames +2024-11-30 15:29:37,202 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\telegram.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\telegram.py +2024-11-30 15:29:37,202 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\telegram.cpython-39.pyc' +2024-11-30 15:29:37,203 - api.main - INFO - STDERR: import 'GramAddict.plugins.telegram' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7AE1220> +2024-11-30 15:29:37,203 - api.main - INFO - STDERR: [11/30 15:29:37] INFO | - TelegramReports: Generate reports at the end of the session and send them using telegram +2024-11-30 15:29:37,206 - api.main - INFO - STDERR: [11/30 15:29:37] DEBUG | Arguments used: --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 15:29:37,206 - api.main - INFO - STDERR: [11/30 15:29:37] DEBUG | Config used: {'username': 'quecreate', 'app-id': 'com.instagram.android', 'use-cloned-app': False, 'allow-untested-ig-version': False, 'screen-sleep': True, 'screen-record': False, 'speed-multiplier': 1.0, 'debug': True, 'close-apps': False, 'kill-atx-agent': False, 'restart-atx-agent': False, 'disable-block-detection': False, 'disable-filters': False, 'dont-type': False, 'use-nocodb': True, 'init-db': True, 'total-crashes-limit': 5, 'count-app-crashes': False, 'shuffle-jobs': True, 'truncate-sources': '2-5', 'blogger-followers': ['mnaumanndesign'], 'watch-video-time': '15-35', 'watch-photo-time': '3-4', 'delete-interacted-users': True, 'telegram-reports': False, 'interactions-count': '300-400', 'likes-count': '1-2', 'likes-percentage': 100, 'stories-count': '10-20', 'stories-percentage': '30-40', 'carousel-count': '20-30', 'carousel-percentage': '60-70', 'max-comments-pro-user': '1-2', 'interact-percentage': '30-40', 'follow-percentage': '30-40', 'follow-limit': 50, 'skipped-list-limit': '10-15', 'skipped-posts-limit': 5, 'fling-when-skipped': 0, 'min-following': 10, 'total-likes-limit': '120-150', 'total-follows-limit': '40-50', 'total-unfollows-limit': '40-50', 'total-watches-limit': '120-150', 'total-successful-interactions-limit': '120-150', 'total-interactions-limit': '280-300', 'total-comments-limit': '3-50', 'total-pm-limit': '3-5', 'total-scraped-limit': '100-150', 'end-if-likes-limit-reached': False, 'end-if-follows-limit-reached': False, 'end-if-watches-limit-reached': False, 'end-if-comments-limit-reached': False, 'end-if-pm-limit-reached': False} +2024-11-30 15:29:37,292 - api.main - INFO - STDERR: [11/30 15:29:37] DEBUG | Connected devices via adb: 1. That's ok. +2024-11-30 15:29:37,356 - api.main - INFO - STDERR: [11/30 15:29:37] INFO | Time delta has set to 00:00:46. +2024-11-30 15:29:37,357 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_strptime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_strptime.py +2024-11-30 15:29:37,357 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_strptime.cpython-39.pyc' +2024-11-30 15:29:37,358 - api.main - INFO - STDERR: import '_strptime' # <_frozen_importlib_external.SourceFileLoader object at 0x000001F5F7AF37F0> +2024-11-30 15:29:37,358 - api.main - INFO - STDERR: [11/30 15:29:37] DEBUG | Whole day mode. +2024-11-30 15:29:37,479 - api.main - INFO - STDERR: [11/30 15:29:37] DEBUG | Phone Name: taimen, SDK Version: 30 +2024-11-30 15:29:37,750 - api.main - INFO - STDERR: [11/30 15:29:37] DEBUG | Screen dimension: 1440x2824 +2024-11-30 15:29:37,912 - api.main - INFO - STDERR: [11/30 15:29:37] DEBUG | Screen resolution: 411x823 +2024-11-30 15:29:37,912 - api.main - INFO - STDERR: [11/30 15:29:37] DEBUG | Device ID: 192.168.50.202:5555 +2024-11-30 15:29:38,042 - api.main - INFO - STDERR: [11/30 15:29:38] INFO | Screen timeout is fine! +2024-11-30 15:29:38,193 - api.main - INFO - STDERR: [11/30 15:29:38] INFO | -------- START: 15:29:37 - 2024/11/30 -------- +2024-11-30 15:29:40,637 - api.main - INFO - STDERR: [11/30 15:29:40] INFO | Device screen ON and unlocked. +2024-11-30 15:29:40,637 - api.main - INFO - STDERR: [11/30 15:29:40] INFO | Open Instagram app. +2024-11-30 15:29:41,013 - api.main - INFO - STDERR: [11/30 15:29:41] DEBUG | Instagram called successfully. +2024-11-30 15:29:41,331 - api.main - INFO - STDERR: [11/30 15:29:41] INFO | Ready for botting!\U0001f92b +2024-11-30 15:29:41,332 - api.main - INFO - STDERR: [11/30 15:29:41] DEBUG | 1.56s sleep +2024-11-30 15:29:42,915 - api.main - INFO - STDERR: [11/30 15:29:42] DEBUG | Setting FastInputIME as default keyboard. +2024-11-30 15:29:43,250 - api.main - INFO - STDERR: [11/30 15:29:43] INFO | FastInputIME is the default keyboard. +2024-11-30 15:29:43,424 - api.main - INFO - STDERR: [11/30 15:29:43] INFO | Instagram version: 300.0.0.29.110 +2024-11-30 15:29:44,054 - api.main - INFO - STDERR: [11/30 15:29:44] DEBUG | Navigating to main account... +2024-11-30 15:29:45,462 - api.main - INFO - STDERR: [11/30 15:29:45] DEBUG | Single click in (1309,2767). Surface: (1244-1349,2684-2789) +2024-11-30 15:29:45,917 - api.main - INFO - STDERR: [11/30 15:29:45] DEBUG | 0.76s sleep +2024-11-30 15:29:47,602 - api.main - INFO - STDERR: [11/30 15:29:47] DEBUG | Checking if app is in English.. +2024-11-30 15:29:50,443 - api.main - INFO - STDERR: [11/30 15:29:50] DEBUG | Instagram in English. +2024-11-30 15:29:51,687 - api.main - INFO - STDERR: [11/30 15:29:51] INFO | You are already logged as quecreate! +2024-11-30 15:29:52,230 - api.main - INFO - Retrieving session status for account: quecreate +2024-11-30 15:29:52,261 - api.main - INFO - STDERR: [11/30 15:29:52] INFO | Refresh account... +2024-11-30 15:29:52,586 - api.main - INFO - STDERR: [11/30 15:29:52] DEBUG | Swipe from: (624,630) to (687,907). +2024-11-30 15:29:54,121 - api.main - INFO - STDERR: [11/30 15:29:54] DEBUG | 0.69s sleep +2024-11-30 15:29:54,829 - api.main - INFO - STDERR: [11/30 15:29:54] DEBUG | 0.70s sleep +2024-11-30 15:29:58,982 - api.main - INFO - STDERR: [11/30 15:29:58] INFO | Hello, @quecreate! You have 1 followers and 55 followings so far. +2024-11-30 15:29:58,982 - api.main - INFO - STDERR: [11/30 15:29:58] INFO | There is/are 3 active-job(s) and 0 unfollow-job(s) scheduled for this session. +2024-11-30 15:29:58,982 - api.main - INFO - STDERR: [11/30 15:29:58] INFO | NocoDB config found - plugin will handle initialization +2024-11-30 15:29:58,986 - api.main - INFO - STDERR: [11/30 15:29:58] WARNING | accounts\quecreate\filters.yml has been saved last time at 2024-11-28 01:20:01 +2024-11-30 15:29:58,995 - api.main - INFO - STDERR: [11/30 15:29:58] INFO | ---------------------------------------------------------------------- +2024-11-30 15:29:58,995 - api.main - INFO - STDERR: [11/30 15:29:58] INFO | Filters recap (no spell check!) Value +2024-11-30 15:29:58,995 - api.main - INFO - STDERR: [11/30 15:29:58] INFO | ---------------------------------------------------------------------- +2024-11-30 15:29:58,996 - api.main - INFO - STDERR: [11/30 15:29:58] INFO | max_following 7500 +2024-11-30 15:29:58,996 - api.main - INFO - STDERR: [11/30 15:29:58] INFO | min_following 10 +2024-11-30 15:29:58,996 - api.main - INFO - STDERR: [11/30 15:29:58] INFO | max_followers 15000 +2024-11-30 15:29:58,996 - api.main - INFO - STDERR: [11/30 15:29:58] INFO | min_followers 100 +2024-11-30 15:29:58,996 - api.main - INFO - STDERR: [11/30 15:29:58] INFO | max_posts 1000 +2024-11-30 15:29:58,997 - api.main - INFO - STDERR: [11/30 15:29:58] INFO | min_posts 3 +2024-11-30 15:29:58,997 - api.main - INFO - STDERR: [11/30 15:29:58] INFO | max_following_to_followers_ratio 2.0 +2024-11-30 15:29:58,997 - api.main - INFO - STDERR: [11/30 15:29:58] INFO | min_following_to_followers_ratio None +2024-11-30 15:29:58,997 - api.main - INFO - STDERR: [11/30 15:29:58] INFO | max_followers_to_following_ratio None +2024-11-30 15:29:58,998 - api.main - INFO - STDERR: [11/30 15:29:58] INFO | min_followers_to_following_ratio None +2024-11-30 15:29:58,998 - api.main - INFO - STDERR: [11/30 15:29:58] INFO | max_potency_ratio 1.5 +2024-11-30 15:29:58,998 - api.main - INFO - STDERR: [11/30 15:29:58] INFO | min_potency_ratio 0.1 +2024-11-30 15:29:58,999 - api.main - INFO - STDERR: [11/30 15:29:58] INFO | biography_language None +2024-11-30 15:29:58,999 - api.main - INFO - STDERR: [11/30 15:29:58] INFO | biography_banned_words [] +2024-11-30 15:29:58,999 - api.main - INFO - STDERR: [11/30 15:29:58] INFO | biography_mandatory_words [] +2024-11-30 15:29:58,999 - api.main - INFO - STDERR: [11/30 15:29:58] INFO | business_category_name [] +2024-11-30 15:29:59,000 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | is_private None +2024-11-30 15:29:59,000 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | is_verified None +2024-11-30 15:29:59,000 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | is_business None +2024-11-30 15:29:59,001 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | is_non_business None +2024-11-30 15:29:59,001 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | blacklist_words [] +2024-11-30 15:29:59,001 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | mandatory_words [] +2024-11-30 15:29:59,001 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | specific_alphabet None +2024-11-30 15:29:59,002 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | min_posts_from_date None +2024-11-30 15:29:59,002 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | posts_from_date None +2024-11-30 15:29:59,002 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | mutual_friends None +2024-11-30 15:29:59,002 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | following_bot None +2024-11-30 15:29:59,003 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | last_post None +2024-11-30 15:29:59,004 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | potency_ratio None +2024-11-30 15:29:59,004 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | has_any_business_category None +2024-11-30 15:29:59,004 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | has_highlights None +2024-11-30 15:29:59,004 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | has_guides None +2024-11-30 15:29:59,005 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | has_external_url None +2024-11-30 15:29:59,005 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | has_business_category_name None +2024-11-30 15:29:59,005 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | has_biography_links None +2024-11-30 15:29:59,006 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | has_igtv None +2024-11-30 15:29:59,006 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | has_linked_facebook None +2024-11-30 15:29:59,006 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | has_story_highlights None +2024-11-30 15:29:59,006 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | has_youtube None +2024-11-30 15:29:59,007 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | has_twitter None +2024-11-30 15:29:59,007 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | has_facebook None +2024-11-30 15:29:59,007 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | has_whatsapp None +2024-11-30 15:29:59,008 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | has_tiktok None +2024-11-30 15:29:59,008 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_link_in_bio False +2024-11-30 15:29:59,008 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_external_url False +2024-11-30 15:29:59,008 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_business False +2024-11-30 15:29:59,008 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_business_categories [] +2024-11-30 15:29:59,008 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_bio_keyword [] +2024-11-30 15:29:59,009 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_bio_keyword [] +2024-11-30 15:29:59,009 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_bio_contains_anything False +2024-11-30 15:29:59,009 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_no_avatar False +2024-11-30 15:29:59,009 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_no_bio False +2024-11-30 15:29:59,009 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_no_posts False +2024-11-30 15:29:59,011 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_no_igtv False +2024-11-30 15:29:59,011 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_no_story_highlights False +2024-11-30 15:29:59,011 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_no_mutual_friends False +2024-11-30 15:29:59,012 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_private False +2024-11-30 15:29:59,012 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_public False +2024-11-30 15:29:59,012 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_verified False +2024-11-30 15:29:59,013 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_non_business False +2024-11-30 15:29:59,013 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_following_bot False +2024-11-30 15:29:59,013 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_following_less_than None +2024-11-30 15:29:59,014 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_followers_less_than None +2024-11-30 15:29:59,014 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_posts_less_than None +2024-11-30 15:29:59,014 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_mutual_friends_less_than None +2024-11-30 15:29:59,014 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_following_more_than None +2024-11-30 15:29:59,015 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_followers_more_than None +2024-11-30 15:29:59,015 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_posts_more_than None +2024-11-30 15:29:59,015 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_mutual_friends_more_than None +2024-11-30 15:29:59,016 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_following_to_followers_ratio_less_than None +2024-11-30 15:29:59,016 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_following_to_followers_ratio_more_than None +2024-11-30 15:29:59,017 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_followers_to_following_ratio_less_than None +2024-11-30 15:29:59,017 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_followers_to_following_ratio_more_than None +2024-11-30 15:29:59,017 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_potency_ratio_less_than None +2024-11-30 15:29:59,017 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | skip_if_potency_ratio_more_than None +2024-11-30 15:29:59,017 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | ---------------------------------------------------------------------- +2024-11-30 15:29:59,018 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | Session ending conditions: Value +2024-11-30 15:29:59,018 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | ---------------------------------------------------------------------- +2024-11-30 15:29:59,018 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | Likes: False +2024-11-30 15:29:59,018 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | Follows: False +2024-11-30 15:29:59,019 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | Watches: False +2024-11-30 15:29:59,019 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | Comments: False +2024-11-30 15:29:59,020 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | PM: False +2024-11-30 15:29:59,020 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | Total actions: True (not mutable) +2024-11-30 15:29:59,020 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | Total successfull actions: True (not mutable) +2024-11-30 15:29:59,020 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | For more info -> https://github.com/GramAddict/docs/blob/main/configuration.md#ending-session-conditions +2024-11-30 15:29:59,021 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | ---------------------------------------------------------------------- +2024-11-30 15:29:59,022 - api.main - INFO - STDERR: [11/30 15:29:59] DEBUG | Whole day mode. +2024-11-30 15:29:59,022 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | Checking session limits: +2024-11-30 15:29:59,023 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | - Total Likes: OK (0/130) +2024-11-30 15:29:59,023 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | - Total Comments: OK (0/43) +2024-11-30 15:29:59,023 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | - Total PM: OK (0/4) +2024-11-30 15:29:59,024 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | - Total Followed: OK (0/49) +2024-11-30 15:29:59,024 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | - Total Unfollowed: OK (0/47) +2024-11-30 15:29:59,024 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | - Total Watched: OK (0/147) +2024-11-30 15:29:59,024 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | - Total Successful Interactions: OK (0/126) +2024-11-30 15:29:59,024 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | - Total Interactions: OK (0/297) +2024-11-30 15:29:59,025 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | - Total Crashes: OK (0/5) +2024-11-30 15:29:59,025 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | - Total Successful Scraped Users: OK (0/122) +2024-11-30 15:29:59,692 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | Current active-job: blogger-followers +2024-11-30 15:29:59,692 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | Source list truncated at 1 item. +2024-11-30 15:29:59,693 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | In this session, that source will be handled: mnaumanndesign +2024-11-30 15:29:59,693 - api.main - INFO - STDERR: [11/30 15:29:59] DEBUG | Checking session limits: +2024-11-30 15:29:59,693 - api.main - INFO - STDERR: [11/30 15:29:59] DEBUG | - Total Likes: OK (0/130) +2024-11-30 15:29:59,694 - api.main - INFO - STDERR: [11/30 15:29:59] DEBUG | - Total Comments: OK (0/43) +2024-11-30 15:29:59,694 - api.main - INFO - STDERR: [11/30 15:29:59] DEBUG | - Total PM: OK (0/4) +2024-11-30 15:29:59,694 - api.main - INFO - STDERR: [11/30 15:29:59] DEBUG | - Total Followed: OK (0/49) +2024-11-30 15:29:59,694 - api.main - INFO - STDERR: [11/30 15:29:59] DEBUG | - Total Unfollowed: OK (0/47) +2024-11-30 15:29:59,695 - api.main - INFO - STDERR: [11/30 15:29:59] DEBUG | - Total Watched: OK (0/147) +2024-11-30 15:29:59,695 - api.main - INFO - STDERR: [11/30 15:29:59] DEBUG | - Total Successful Interactions: OK (0/126) +2024-11-30 15:29:59,695 - api.main - INFO - STDERR: [11/30 15:29:59] DEBUG | - Total Interactions: OK (0/297) +2024-11-30 15:29:59,695 - api.main - INFO - STDERR: [11/30 15:29:59] DEBUG | - Total Crashes: OK (0/5) +2024-11-30 15:29:59,695 - api.main - INFO - STDERR: [11/30 15:29:59] DEBUG | - Total Successful Scraped Users: OK (0/122) +2024-11-30 15:29:59,695 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | Handle mnaumanndesign +2024-11-30 15:29:59,697 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | Interactions count: 346 +2024-11-30 15:29:59,697 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | Chance of watching stories: 33% +2024-11-30 15:29:59,697 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | Chance of liking: 100% +2024-11-30 15:29:59,697 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | Chance of following: 36% +2024-11-30 15:29:59,698 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | Chance of commenting: 0% +2024-11-30 15:29:59,698 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | Chance of interacting: 32% +2024-11-30 15:29:59,698 - api.main - INFO - STDERR: [11/30 15:29:59] INFO | Chance of send PM: 0% +2024-11-30 15:29:59,699 - api.main - INFO - STDERR: [11/30 15:29:59] DEBUG | Navigate to SEARCH +2024-11-30 15:30:00,691 - api.main - INFO - STDERR: [11/30 15:30:00] DEBUG | Single click in (402,2783). Surface: (288-576,2649-2824) +2024-11-30 15:30:01,233 - api.main - INFO - STDERR: [11/30 15:30:01] DEBUG | 1.70s sleep +2024-11-30 15:30:03,207 - api.main - INFO - STDERR: [11/30 15:30:03] DEBUG | Single click in (450,2782). Surface: (288-576,2649-2824) +2024-11-30 15:30:03,782 - api.main - INFO - STDERR: [11/30 15:30:03] DEBUG | 1.85s sleep +2024-11-30 15:30:05,645 - api.main - INFO - STDERR: [11/30 15:30:05] INFO | Navigate to mnaumanndesign +2024-11-30 15:30:05,967 - api.main - INFO - STDERR: [11/30 15:30:05] DEBUG | Pressing on searchbar. +2024-11-30 15:30:06,068 - api.main - INFO - STDERR: [11/30 15:30:06] DEBUG | Single click in (1154,221). Surface: (42-1370,146-259) +2024-11-30 15:30:06,459 - api.main - INFO - STDERR: [11/30 15:30:06] DEBUG | 1.78s sleep +2024-11-30 15:30:07,205 - api.main - INFO - Attempting to stop session for account: quecreate +2024-11-30 15:30:07,280 - api.main - INFO - Successfully stopped session for account: quecreate +2024-11-30 15:30:17,889 - api.main - INFO - Retrieving session status for account: quecreate +2024-11-30 15:31:54,178 - api.main - INFO - API startup complete +2024-11-30 15:35:04,808 - api.main - INFO - All tasks cleaned up. +2024-11-30 15:35:05,826 - api.main - ERROR - Error during startup: 'PluginLoader' object has no attribute 'load_plugins' +2024-11-30 15:36:39,575 - api.main - ERROR - Error during startup: 'PluginLoader' object has no attribute 'load_plugins' +2024-11-30 15:36:54,947 - api.main - INFO - API startup complete +2024-11-30 15:36:55,153 - api.main - INFO - API startup complete +2024-11-30 15:37:09,851 - api.main - INFO - API startup complete +2024-11-30 15:37:25,288 - api.main - INFO - Starting session for account quecreate with config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml +2024-11-30 15:37:25,288 - api.main - INFO - Running command: e:\PROJECTS\instagram automation\virtualinfluencer\venv\Scripts\python.exe -v e:\PROJECTS\instagram automation\virtualinfluencer\run.py --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 15:37:25,289 - api.main - INFO - Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 15:37:25,289 - api.main - INFO - Environment PYTHONPATH: None +2024-11-30 15:37:25,289 - api.main - INFO - Starting process with command: e:\PROJECTS\instagram automation\virtualinfluencer\venv\Scripts\python.exe -v e:\PROJECTS\instagram automation\virtualinfluencer\run.py --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 15:37:25,289 - api.main - INFO - Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 15:37:25,289 - api.main - INFO - PYTHONPATH: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 15:37:25,295 - api.main - INFO - Process started with PID: 38764 +2024-11-30 15:37:25,296 - api.main - INFO - Successfully started session for account: quecreate +2024-11-30 15:37:25,314 - api.main - INFO - STDERR: import _frozen_importlib # frozen +2024-11-30 15:37:25,315 - api.main - INFO - STDERR: import _imp # builtin +2024-11-30 15:37:25,315 - api.main - INFO - STDERR: import '_thread' # +2024-11-30 15:37:25,315 - api.main - INFO - STDERR: import '_warnings' # +2024-11-30 15:37:25,315 - api.main - INFO - STDERR: import '_weakref' # +2024-11-30 15:37:25,315 - api.main - INFO - STDERR: import '_io' # +2024-11-30 15:37:25,315 - api.main - INFO - STDERR: import 'marshal' # +2024-11-30 15:37:25,316 - api.main - INFO - STDERR: import 'nt' # +2024-11-30 15:37:25,316 - api.main - INFO - STDERR: import 'winreg' # +2024-11-30 15:37:25,316 - api.main - INFO - STDERR: import '_frozen_importlib_external' # +2024-11-30 15:37:25,316 - api.main - INFO - STDERR: # installing zipimport hook +2024-11-30 15:37:25,317 - api.main - INFO - STDERR: import 'time' # +2024-11-30 15:37:25,317 - api.main - INFO - STDERR: import 'zipimport' # +2024-11-30 15:37:25,317 - api.main - INFO - STDERR: # installed zipimport hook +2024-11-30 15:37:25,320 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__init__.py +2024-11-30 15:37:25,320 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,321 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\codecs.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\codecs.py +2024-11-30 15:37:25,321 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\codecs.cpython-39.pyc' +2024-11-30 15:37:25,321 - api.main - INFO - STDERR: import '_codecs' # +2024-11-30 15:37:25,321 - api.main - INFO - STDERR: import 'codecs' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE175940> +2024-11-30 15:37:25,324 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\aliases.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\aliases.py +2024-11-30 15:37:25,325 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\aliases.cpython-39.pyc' +2024-11-30 15:37:25,325 - api.main - INFO - STDERR: import 'encodings.aliases' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE2E4EB0> +2024-11-30 15:37:25,325 - api.main - INFO - STDERR: import 'encodings' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE175730> +2024-11-30 15:37:25,326 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\utf_8.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\utf_8.py +2024-11-30 15:37:25,326 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\utf_8.cpython-39.pyc' +2024-11-30 15:37:25,326 - api.main - INFO - STDERR: import 'encodings.utf_8' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE175790> +2024-11-30 15:37:25,327 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\cp1252.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\cp1252.py +2024-11-30 15:37:25,327 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\cp1252.cpython-39.pyc' +2024-11-30 15:37:25,327 - api.main - INFO - STDERR: import 'encodings.cp1252' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE2E4FA0> +2024-11-30 15:37:25,327 - api.main - INFO - STDERR: import '_signal' # +2024-11-30 15:37:25,328 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\latin_1.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\latin_1.py +2024-11-30 15:37:25,328 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\latin_1.cpython-39.pyc' +2024-11-30 15:37:25,329 - api.main - INFO - STDERR: import 'encodings.latin_1' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE2FC340> +2024-11-30 15:37:25,329 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\io.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\io.py +2024-11-30 15:37:25,329 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\io.cpython-39.pyc' +2024-11-30 15:37:25,330 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\abc.py +2024-11-30 15:37:25,330 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 15:37:25,330 - api.main - INFO - STDERR: import '_abc' # +2024-11-30 15:37:25,330 - api.main - INFO - STDERR: import 'abc' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE2FC7F0> +2024-11-30 15:37:25,330 - api.main - INFO - STDERR: import 'io' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE2FC520> +2024-11-30 15:37:25,332 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\site.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\site.py +2024-11-30 15:37:25,332 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\site.cpython-39.pyc' +2024-11-30 15:37:25,332 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\os.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\os.py +2024-11-30 15:37:25,332 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\os.cpython-39.pyc' +2024-11-30 15:37:25,334 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\stat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\stat.py +2024-11-30 15:37:25,334 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\stat.cpython-39.pyc' +2024-11-30 15:37:25,334 - api.main - INFO - STDERR: import '_stat' # +2024-11-30 15:37:25,334 - api.main - INFO - STDERR: import 'stat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE31FFA0> +2024-11-30 15:37:25,336 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_collections_abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_collections_abc.py +2024-11-30 15:37:25,336 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_collections_abc.cpython-39.pyc' +2024-11-30 15:37:25,337 - api.main - INFO - STDERR: import '_collections_abc' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE326130> +2024-11-30 15:37:25,337 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ntpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ntpath.py +2024-11-30 15:37:25,337 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ntpath.cpython-39.pyc' +2024-11-30 15:37:25,339 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\genericpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\genericpath.py +2024-11-30 15:37:25,339 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\genericpath.cpython-39.pyc' +2024-11-30 15:37:25,339 - api.main - INFO - STDERR: import 'genericpath' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE34F970> +2024-11-30 15:37:25,339 - api.main - INFO - STDERR: import 'ntpath' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE326A60> +2024-11-30 15:37:25,339 - api.main - INFO - STDERR: import 'os' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE3057C0> +2024-11-30 15:37:25,340 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_sitebuiltins.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_sitebuiltins.py +2024-11-30 15:37:25,340 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_sitebuiltins.cpython-39.pyc' +2024-11-30 15:37:25,341 - api.main - INFO - STDERR: import '_sitebuiltins' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE31F460> +2024-11-30 15:37:25,343 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_bootlocale.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_bootlocale.py +2024-11-30 15:37:25,343 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_bootlocale.cpython-39.pyc' +2024-11-30 15:37:25,343 - api.main - INFO - STDERR: import '_locale' # +2024-11-30 15:37:25,343 - api.main - INFO - STDERR: import '_bootlocale' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE34FD90> +2024-11-30 15:37:25,345 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__init__.py +2024-11-30 15:37:25,345 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\_distutils_hack\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,345 - api.main - INFO - STDERR: import '_distutils_hack' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE365B80> +2024-11-30 15:37:25,346 - api.main - INFO - STDERR: import 'site' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE2FC850> +2024-11-30 15:37:25,347 - api.main - INFO - STDERR: Python 3.9.10 (tags/v3.9.10:f2f3f53, Jan 17 2022, 15:14:21) [MSC v.1929 64 bit (AMD64)] on win32 +2024-11-30 15:37:25,347 - api.main - INFO - STDERR: Type "help", "copyright", "credits" or "license" for more information. +2024-11-30 15:37:25,348 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\__init__.py +2024-11-30 15:37:25,348 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,349 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__init__.py +2024-11-30 15:37:25,349 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,349 - api.main - INFO - STDERR: import 'GramAddict.core' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE3745B0> +2024-11-30 15:37:25,350 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\bot_flow.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\bot_flow.py +2024-11-30 15:37:25,350 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\bot_flow.cpython-39.pyc' +2024-11-30 15:37:25,351 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__init__.py +2024-11-30 15:37:25,351 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\logging\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,352 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\re.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\re.py +2024-11-30 15:37:25,352 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\re.cpython-39.pyc' +2024-11-30 15:37:25,353 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\enum.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\enum.py +2024-11-30 15:37:25,353 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\enum.cpython-39.pyc' +2024-11-30 15:37:25,354 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\types.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\types.py +2024-11-30 15:37:25,354 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\types.cpython-39.pyc' +2024-11-30 15:37:25,354 - api.main - INFO - STDERR: import 'types' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE5B74C0> +2024-11-30 15:37:25,354 - api.main - INFO - STDERR: import 'enum' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE59EFD0> +2024-11-30 15:37:25,356 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_compile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_compile.py +2024-11-30 15:37:25,356 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_compile.cpython-39.pyc' +2024-11-30 15:37:25,356 - api.main - INFO - STDERR: import '_sre' # +2024-11-30 15:37:25,357 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_parse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_parse.py +2024-11-30 15:37:25,357 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_parse.cpython-39.pyc' +2024-11-30 15:37:25,357 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_constants.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_constants.py +2024-11-30 15:37:25,357 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_constants.cpython-39.pyc' +2024-11-30 15:37:25,358 - api.main - INFO - STDERR: import 'sre_constants' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE5DB2E0> +2024-11-30 15:37:25,358 - api.main - INFO - STDERR: import 'sre_parse' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE5C98B0> +2024-11-30 15:37:25,358 - api.main - INFO - STDERR: import 'sre_compile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE5B7FD0> +2024-11-30 15:37:25,359 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\functools.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\functools.py +2024-11-30 15:37:25,359 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\functools.cpython-39.pyc' +2024-11-30 15:37:25,361 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__init__.py +2024-11-30 15:37:25,361 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\collections\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,362 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\heapq.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\heapq.py +2024-11-30 15:37:25,362 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\heapq.cpython-39.pyc' +2024-11-30 15:37:25,362 - api.main - INFO - STDERR: import '_heapq' # +2024-11-30 15:37:25,362 - api.main - INFO - STDERR: import 'heapq' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE60EA60> +2024-11-30 15:37:25,362 - api.main - INFO - STDERR: import 'itertools' # +2024-11-30 15:37:25,362 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\keyword.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\keyword.py +2024-11-30 15:37:25,362 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\keyword.cpython-39.pyc' +2024-11-30 15:37:25,362 - api.main - INFO - STDERR: import 'keyword' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE60EFD0> +2024-11-30 15:37:25,364 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\operator.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\operator.py +2024-11-30 15:37:25,364 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\operator.cpython-39.pyc' +2024-11-30 15:37:25,364 - api.main - INFO - STDERR: import '_operator' # +2024-11-30 15:37:25,365 - api.main - INFO - STDERR: import 'operator' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE60EF10> +2024-11-30 15:37:25,366 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\reprlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\reprlib.py +2024-11-30 15:37:25,366 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\reprlib.cpython-39.pyc' +2024-11-30 15:37:25,366 - api.main - INFO - STDERR: import 'reprlib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE620160> +2024-11-30 15:37:25,366 - api.main - INFO - STDERR: import '_collections' # +2024-11-30 15:37:25,366 - api.main - INFO - STDERR: import 'collections' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE5E9EE0> +2024-11-30 15:37:25,366 - api.main - INFO - STDERR: import '_functools' # +2024-11-30 15:37:25,366 - api.main - INFO - STDERR: import 'functools' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE5E1790> +2024-11-30 15:37:25,369 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\copyreg.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\copyreg.py +2024-11-30 15:37:25,369 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\copyreg.cpython-39.pyc' +2024-11-30 15:37:25,369 - api.main - INFO - STDERR: import 'copyreg' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE5F6730> +2024-11-30 15:37:25,369 - api.main - INFO - STDERR: import 're' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE59E580> +2024-11-30 15:37:25,371 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\traceback.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\traceback.py +2024-11-30 15:37:25,371 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\traceback.cpython-39.pyc' +2024-11-30 15:37:25,373 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\linecache.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\linecache.py +2024-11-30 15:37:25,373 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\linecache.cpython-39.pyc' +2024-11-30 15:37:25,373 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tokenize.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tokenize.py +2024-11-30 15:37:25,374 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tokenize.cpython-39.pyc' +2024-11-30 15:37:25,375 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\token.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\token.py +2024-11-30 15:37:25,375 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\token.cpython-39.pyc' +2024-11-30 15:37:25,375 - api.main - INFO - STDERR: import 'token' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE623F40> +2024-11-30 15:37:25,376 - api.main - INFO - STDERR: import 'tokenize' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE623550> +2024-11-30 15:37:25,376 - api.main - INFO - STDERR: import 'linecache' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE620A90> +2024-11-30 15:37:25,376 - api.main - INFO - STDERR: import 'traceback' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE5F6340> +2024-11-30 15:37:25,378 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\warnings.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\warnings.py +2024-11-30 15:37:25,378 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\warnings.cpython-39.pyc' +2024-11-30 15:37:25,378 - api.main - INFO - STDERR: import 'warnings' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE620910> +2024-11-30 15:37:25,379 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\weakref.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\weakref.py +2024-11-30 15:37:25,379 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\weakref.cpython-39.pyc' +2024-11-30 15:37:25,380 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_weakrefset.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_weakrefset.py +2024-11-30 15:37:25,380 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_weakrefset.cpython-39.pyc' +2024-11-30 15:37:25,380 - api.main - INFO - STDERR: import '_weakrefset' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE665D90> +2024-11-30 15:37:25,381 - api.main - INFO - STDERR: import 'weakref' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE629760> +2024-11-30 15:37:25,382 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\abc.py +2024-11-30 15:37:25,382 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\collections\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 15:37:25,382 - api.main - INFO - STDERR: import 'collections.abc' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE66EA30> +2024-11-30 15:37:25,383 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\string.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\string.py +2024-11-30 15:37:25,383 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\string.cpython-39.pyc' +2024-11-30 15:37:25,383 - api.main - INFO - STDERR: import '_string' # +2024-11-30 15:37:25,383 - api.main - INFO - STDERR: import 'string' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE66EB20> +2024-11-30 15:37:25,385 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\threading.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\threading.py +2024-11-30 15:37:25,385 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\threading.cpython-39.pyc' +2024-11-30 15:37:25,385 - api.main - INFO - STDERR: import 'threading' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE67A130> +2024-11-30 15:37:25,387 - api.main - INFO - STDERR: import 'atexit' # +2024-11-30 15:37:25,387 - api.main - INFO - STDERR: import 'logging' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE374190> +2024-11-30 15:37:25,388 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\random.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\random.py +2024-11-30 15:37:25,388 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\random.cpython-39.pyc' +2024-11-30 15:37:25,389 - api.main - INFO - STDERR: import 'math' # +2024-11-30 15:37:25,389 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\bisect.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\bisect.py +2024-11-30 15:37:25,389 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\bisect.cpython-39.pyc' +2024-11-30 15:37:25,389 - api.main - INFO - STDERR: import '_bisect' # +2024-11-30 15:37:25,390 - api.main - INFO - STDERR: import 'bisect' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE69BF40> +2024-11-30 15:37:25,390 - api.main - INFO - STDERR: import '_random' # +2024-11-30 15:37:25,390 - api.main - INFO - STDERR: import '_sha512' # +2024-11-30 15:37:25,390 - api.main - INFO - STDERR: import 'random' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE365130> +2024-11-30 15:37:25,390 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\datetime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\datetime.py +2024-11-30 15:37:25,391 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\datetime.cpython-39.pyc' +2024-11-30 15:37:25,391 - api.main - INFO - STDERR: import '_datetime' # +2024-11-30 15:37:25,391 - api.main - INFO - STDERR: import 'datetime' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE6B4190> +2024-11-30 15:37:25,393 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__init__.py +2024-11-30 15:37:25,393 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,393 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\initialise.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\initialise.py +2024-11-30 15:37:25,393 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\initialise.cpython-39.pyc' +2024-11-30 15:37:25,394 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\contextlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\contextlib.py +2024-11-30 15:37:25,394 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\contextlib.cpython-39.pyc' +2024-11-30 15:37:25,394 - api.main - INFO - STDERR: import 'contextlib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE6DFBB0> +2024-11-30 15:37:25,395 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\ansitowin32.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\ansitowin32.py +2024-11-30 15:37:25,395 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\ansitowin32.cpython-39.pyc' +2024-11-30 15:37:25,395 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\ansi.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\ansi.py +2024-11-30 15:37:25,395 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\ansi.cpython-39.pyc' +2024-11-30 15:37:25,395 - api.main - INFO - STDERR: import 'colorama.ansi' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE6EF730> +2024-11-30 15:37:25,396 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\winterm.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\winterm.py +2024-11-30 15:37:25,396 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\winterm.cpython-39.pyc' +2024-11-30 15:37:25,396 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\win32.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\win32.py +2024-11-30 15:37:25,396 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\win32.cpython-39.pyc' +2024-11-30 15:37:25,397 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__init__.py +2024-11-30 15:37:25,397 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,404 - api.main - INFO - STDERR: # extension module '_ctypes' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ctypes.pyd' +2024-11-30 15:37:25,404 - api.main - INFO - STDERR: # extension module '_ctypes' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ctypes.pyd' +2024-11-30 15:37:25,404 - api.main - INFO - STDERR: import '_ctypes' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000021AFE7107C0> +2024-11-30 15:37:25,405 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\struct.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\struct.py +2024-11-30 15:37:25,405 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\struct.cpython-39.pyc' +2024-11-30 15:37:25,405 - api.main - INFO - STDERR: import '_struct' # +2024-11-30 15:37:25,405 - api.main - INFO - STDERR: import 'struct' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE710CA0> +2024-11-30 15:37:25,407 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\_endian.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\_endian.py +2024-11-30 15:37:25,407 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\_endian.cpython-39.pyc' +2024-11-30 15:37:25,407 - api.main - INFO - STDERR: import 'ctypes._endian' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE721A00> +2024-11-30 15:37:25,407 - api.main - INFO - STDERR: import 'ctypes' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE704520> +2024-11-30 15:37:25,407 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\wintypes.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\wintypes.py +2024-11-30 15:37:25,407 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\wintypes.cpython-39.pyc' +2024-11-30 15:37:25,408 - api.main - INFO - STDERR: import 'ctypes.wintypes' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE704970> +2024-11-30 15:37:25,408 - api.main - INFO - STDERR: import 'colorama.win32' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE6DF2E0> +2024-11-30 15:37:25,408 - api.main - INFO - STDERR: import 'colorama.winterm' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE6EFD30> +2024-11-30 15:37:25,408 - api.main - INFO - STDERR: import 'colorama.ansitowin32' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE6DFF10> +2024-11-30 15:37:25,408 - api.main - INFO - STDERR: import 'colorama.initialise' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE6DF940> +2024-11-30 15:37:25,408 - api.main - INFO - STDERR: import 'colorama' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE6B4220> +2024-11-30 15:37:25,409 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\config.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\config.py +2024-11-30 15:37:25,409 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\config.cpython-39.pyc' +2024-11-30 15:37:25,409 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\typing.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\typing.py +2024-11-30 15:37:25,410 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\typing.cpython-39.pyc' +2024-11-30 15:37:25,411 - api.main - INFO - STDERR: import 'typing' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE721FA0> +2024-11-30 15:37:25,411 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\configargparse.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\configargparse.py +2024-11-30 15:37:25,412 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\configargparse.cpython-39.pyc' +2024-11-30 15:37:25,412 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\argparse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\argparse.py +2024-11-30 15:37:25,413 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\argparse.cpython-39.pyc' +2024-11-30 15:37:25,414 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\gettext.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\gettext.py +2024-11-30 15:37:25,414 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\gettext.cpython-39.pyc' +2024-11-30 15:37:25,416 - api.main - INFO - STDERR: import 'gettext' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE6B4AC0> +2024-11-30 15:37:25,416 - api.main - INFO - STDERR: import 'argparse' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFFF12FD0> +2024-11-30 15:37:25,416 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__init__.py +2024-11-30 15:37:25,416 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,417 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\decoder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\decoder.py +2024-11-30 15:37:25,417 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\decoder.cpython-39.pyc' +2024-11-30 15:37:25,418 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\scanner.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\scanner.py +2024-11-30 15:37:25,418 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\scanner.cpython-39.pyc' +2024-11-30 15:37:25,418 - api.main - INFO - STDERR: import '_json' # +2024-11-30 15:37:25,419 - api.main - INFO - STDERR: import 'json.scanner' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE6237C0> +2024-11-30 15:37:25,419 - api.main - INFO - STDERR: import 'json.decoder' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE6CE070> +2024-11-30 15:37:25,420 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\encoder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\encoder.py +2024-11-30 15:37:25,420 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\encoder.cpython-39.pyc' +2024-11-30 15:37:25,421 - api.main - INFO - STDERR: import 'json.encoder' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE6CED60> +2024-11-30 15:37:25,421 - api.main - INFO - STDERR: import 'json' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE6C6C40> +2024-11-30 15:37:25,421 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\glob.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\glob.py +2024-11-30 15:37:25,421 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\glob.cpython-39.pyc' +2024-11-30 15:37:25,422 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\fnmatch.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\fnmatch.py +2024-11-30 15:37:25,422 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\fnmatch.cpython-39.pyc' +2024-11-30 15:37:25,423 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\posixpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\posixpath.py +2024-11-30 15:37:25,423 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\posixpath.cpython-39.pyc' +2024-11-30 15:37:25,423 - api.main - INFO - STDERR: import 'posixpath' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFFF52790> +2024-11-30 15:37:25,423 - api.main - INFO - STDERR: import 'fnmatch' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFFF52430> +2024-11-30 15:37:25,423 - api.main - INFO - STDERR: import 'glob' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFFF2AC10> +2024-11-30 15:37:25,425 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\textwrap.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\textwrap.py +2024-11-30 15:37:25,425 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\textwrap.cpython-39.pyc' +2024-11-30 15:37:25,426 - api.main - INFO - STDERR: import 'textwrap' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFFF525E0> +2024-11-30 15:37:25,426 - api.main - INFO - STDERR: import 'configargparse' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE7428E0> +2024-11-30 15:37:25,426 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__init__.py +2024-11-30 15:37:25,426 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,427 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\error.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\error.py +2024-11-30 15:37:25,427 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\error.cpython-39.pyc' +2024-11-30 15:37:25,427 - api.main - INFO - STDERR: import 'yaml.error' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFFF65D30> +2024-11-30 15:37:25,427 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\tokens.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\tokens.py +2024-11-30 15:37:25,427 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\tokens.cpython-39.pyc' +2024-11-30 15:37:25,428 - api.main - INFO - STDERR: import 'yaml.tokens' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFFF65EE0> +2024-11-30 15:37:25,428 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\events.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\events.py +2024-11-30 15:37:25,428 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\events.cpython-39.pyc' +2024-11-30 15:37:25,428 - api.main - INFO - STDERR: import 'yaml.events' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFFF6D1F0> +2024-11-30 15:37:25,428 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\nodes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\nodes.py +2024-11-30 15:37:25,429 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\nodes.cpython-39.pyc' +2024-11-30 15:37:25,429 - api.main - INFO - STDERR: import 'yaml.nodes' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFFF6DA00> +2024-11-30 15:37:25,429 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\loader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\loader.py +2024-11-30 15:37:25,429 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\loader.cpython-39.pyc' +2024-11-30 15:37:25,429 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\reader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\reader.py +2024-11-30 15:37:25,429 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\reader.cpython-39.pyc' +2024-11-30 15:37:25,434 - api.main - INFO - STDERR: import 'yaml.reader' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFFF7D370> +2024-11-30 15:37:25,434 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\scanner.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\scanner.py +2024-11-30 15:37:25,435 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\scanner.cpython-39.pyc' +2024-11-30 15:37:25,435 - api.main - INFO - STDERR: import 'yaml.scanner' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFFF7D700> +2024-11-30 15:37:25,435 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\parser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\parser.py +2024-11-30 15:37:25,435 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\parser.cpython-39.pyc' +2024-11-30 15:37:25,435 - api.main - INFO - STDERR: import 'yaml.parser' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFFF86280> +2024-11-30 15:37:25,435 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\composer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\composer.py +2024-11-30 15:37:25,435 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\composer.cpython-39.pyc' +2024-11-30 15:37:25,435 - api.main - INFO - STDERR: import 'yaml.composer' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFFF86940> +2024-11-30 15:37:25,435 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\constructor.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\constructor.py +2024-11-30 15:37:25,437 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\constructor.cpython-39.pyc' +2024-11-30 15:37:25,438 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\base64.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\base64.py +2024-11-30 15:37:25,438 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\base64.cpython-39.pyc' +2024-11-30 15:37:25,438 - api.main - INFO - STDERR: import 'binascii' # +2024-11-30 15:37:25,438 - api.main - INFO - STDERR: import 'base64' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFFF9DBB0> +2024-11-30 15:37:25,439 - api.main - INFO - STDERR: import 'yaml.constructor' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFFF86C10> +2024-11-30 15:37:25,439 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\resolver.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\resolver.py +2024-11-30 15:37:25,440 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\resolver.cpython-39.pyc' +2024-11-30 15:37:25,442 - api.main - INFO - STDERR: import 'yaml.resolver' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFFF9D8B0> +2024-11-30 15:37:25,442 - api.main - INFO - STDERR: import 'yaml.loader' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFFF6DF40> +2024-11-30 15:37:25,442 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\dumper.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\dumper.py +2024-11-30 15:37:25,442 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\dumper.cpython-39.pyc' +2024-11-30 15:37:25,442 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\emitter.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\emitter.py +2024-11-30 15:37:25,442 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\emitter.cpython-39.pyc' +2024-11-30 15:37:25,442 - api.main - INFO - STDERR: import 'yaml.emitter' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFFFACBB0> +2024-11-30 15:37:25,443 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\serializer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\serializer.py +2024-11-30 15:37:25,443 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\serializer.cpython-39.pyc' +2024-11-30 15:37:25,443 - api.main - INFO - STDERR: import 'yaml.serializer' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFFFC85B0> +2024-11-30 15:37:25,443 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\representer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\representer.py +2024-11-30 15:37:25,443 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\representer.cpython-39.pyc' +2024-11-30 15:37:25,443 - api.main - INFO - STDERR: import 'yaml.representer' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFFFC8850> +2024-11-30 15:37:25,443 - api.main - INFO - STDERR: import 'yaml.dumper' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFFF7D160> +2024-11-30 15:37:25,444 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\cyaml.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\cyaml.py +2024-11-30 15:37:25,444 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\cyaml.cpython-39.pyc' +2024-11-30 15:37:25,444 - api.main - INFO - STDERR: # extension module 'yaml._yaml' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\_yaml.cp39-win_amd64.pyd' +2024-11-30 15:37:25,445 - api.main - INFO - STDERR: # extension module 'yaml._yaml' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\_yaml.cp39-win_amd64.pyd' +2024-11-30 15:37:25,445 - api.main - INFO - STDERR: import 'yaml._yaml' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000021AFFFD9460> +2024-11-30 15:37:25,445 - api.main - INFO - STDERR: import 'yaml.cyaml' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFFF6D340> +2024-11-30 15:37:25,445 - api.main - INFO - STDERR: import 'yaml' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFFF52F70> +2024-11-30 15:37:25,446 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\plugin_loader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\plugin_loader.py +2024-11-30 15:37:25,446 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\plugin_loader.cpython-39.pyc' +2024-11-30 15:37:25,447 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\inspect.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\inspect.py +2024-11-30 15:37:25,447 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\inspect.cpython-39.pyc' +2024-11-30 15:37:25,448 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ast.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ast.py +2024-11-30 15:37:25,448 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ast.cpython-39.pyc' +2024-11-30 15:37:25,449 - api.main - INFO - STDERR: import '_ast' # +2024-11-30 15:37:25,450 - api.main - INFO - STDERR: import 'ast' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80212AF0> +2024-11-30 15:37:25,450 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\dis.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\dis.py +2024-11-30 15:37:25,451 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\dis.cpython-39.pyc' +2024-11-30 15:37:25,452 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\opcode.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\opcode.py +2024-11-30 15:37:25,452 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\opcode.cpython-39.pyc' +2024-11-30 15:37:25,452 - api.main - INFO - STDERR: import '_opcode' # +2024-11-30 15:37:25,452 - api.main - INFO - STDERR: import 'opcode' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80253E20> +2024-11-30 15:37:25,453 - api.main - INFO - STDERR: import 'dis' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8021C2E0> +2024-11-30 15:37:25,454 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__init__.py +2024-11-30 15:37:25,454 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,456 - api.main - INFO - STDERR: import 'importlib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80266DF0> +2024-11-30 15:37:25,456 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\machinery.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\machinery.py +2024-11-30 15:37:25,456 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\machinery.cpython-39.pyc' +2024-11-30 15:37:25,457 - api.main - INFO - STDERR: import 'importlib.machinery' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80266C40> +2024-11-30 15:37:25,458 - api.main - INFO - STDERR: import 'inspect' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFFFD9AF0> +2024-11-30 15:37:25,464 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pkgutil.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pkgutil.py +2024-11-30 15:37:25,464 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pkgutil.cpython-39.pyc' +2024-11-30 15:37:25,466 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\util.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\util.py +2024-11-30 15:37:25,467 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\util.cpython-39.pyc' +2024-11-30 15:37:25,469 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\abc.py +2024-11-30 15:37:25,469 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 15:37:25,470 - api.main - INFO - STDERR: import 'importlib.abc' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A802895E0> +2024-11-30 15:37:25,470 - api.main - INFO - STDERR: import 'importlib.util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8027A640> +2024-11-30 15:37:25,472 - api.main - INFO - STDERR: import 'pkgutil' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFFFE5B20> +2024-11-30 15:37:25,472 - api.main - INFO - STDERR: import 'GramAddict.core.plugin_loader' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFFFD9190> +2024-11-30 15:37:25,472 - api.main - INFO - STDERR: import 'GramAddict.core.config' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE6B4250> +2024-11-30 15:37:25,475 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\device_facade.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py +2024-11-30 15:37:25,475 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\device_facade.cpython-39.pyc' +2024-11-30 15:37:25,478 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\subprocess.py +2024-11-30 15:37:25,479 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\subprocess.cpython-39.pyc' +2024-11-30 15:37:25,480 - api.main - INFO - STDERR: import 'errno' # +2024-11-30 15:37:25,483 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\signal.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\signal.py +2024-11-30 15:37:25,483 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\signal.cpython-39.pyc' +2024-11-30 15:37:25,483 - api.main - INFO - STDERR: import 'signal' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A802B6A30> +2024-11-30 15:37:25,502 - api.main - INFO - STDERR: import 'msvcrt' # +2024-11-30 15:37:25,504 - api.main - INFO - STDERR: import '_winapi' # +2024-11-30 15:37:25,504 - api.main - INFO - STDERR: import 'subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A802A9910> +2024-11-30 15:37:25,505 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py +2024-11-30 15:37:25,507 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,510 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\__future__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__future__.py +2024-11-30 15:37:25,511 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\__future__.cpython-39.pyc' +2024-11-30 15:37:25,511 - api.main - INFO - STDERR: import '__future__' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A802E6E80> +2024-11-30 15:37:25,513 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\hashlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\hashlib.py +2024-11-30 15:37:25,514 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\hashlib.cpython-39.pyc' +2024-11-30 15:37:25,518 - api.main - INFO - STDERR: # extension module '_hashlib' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_hashlib.pyd' +2024-11-30 15:37:25,519 - api.main - INFO - STDERR: # extension module '_hashlib' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_hashlib.pyd' +2024-11-30 15:37:25,519 - api.main - INFO - STDERR: import '_hashlib' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000021A802F49A0> +2024-11-30 15:37:25,519 - api.main - INFO - STDERR: import '_blake2' # +2024-11-30 15:37:25,520 - api.main - INFO - STDERR: import 'hashlib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A802F4580> +2024-11-30 15:37:25,523 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\shutil.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\shutil.py +2024-11-30 15:37:25,523 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\shutil.cpython-39.pyc' +2024-11-30 15:37:25,524 - api.main - INFO - STDERR: import 'zlib' # +2024-11-30 15:37:25,526 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\bz2.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\bz2.py +2024-11-30 15:37:25,526 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\bz2.cpython-39.pyc' +2024-11-30 15:37:25,528 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_compression.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_compression.py +2024-11-30 15:37:25,528 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_compression.cpython-39.pyc' +2024-11-30 15:37:25,530 - api.main - INFO - STDERR: import '_compression' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80323370> +2024-11-30 15:37:25,533 - api.main - INFO - STDERR: # extension module '_bz2' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_bz2.pyd' +2024-11-30 15:37:25,534 - api.main - INFO - STDERR: # extension module '_bz2' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_bz2.pyd' +2024-11-30 15:37:25,534 - api.main - INFO - STDERR: import '_bz2' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000021A803238B0> +2024-11-30 15:37:25,534 - api.main - INFO - STDERR: import 'bz2' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80311B20> +2024-11-30 15:37:25,536 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\lzma.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\lzma.py +2024-11-30 15:37:25,537 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\lzma.cpython-39.pyc' +2024-11-30 15:37:25,539 - api.main - INFO - STDERR: # extension module '_lzma' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_lzma.pyd' +2024-11-30 15:37:25,539 - api.main - INFO - STDERR: # extension module '_lzma' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_lzma.pyd' +2024-11-30 15:37:25,539 - api.main - INFO - STDERR: import '_lzma' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000021A80323FA0> +2024-11-30 15:37:25,539 - api.main - INFO - STDERR: import 'lzma' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A803237F0> +2024-11-30 15:37:25,541 - api.main - INFO - STDERR: import 'shutil' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A802F4C70> +2024-11-30 15:37:25,542 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\__init__.py +2024-11-30 15:37:25,542 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,542 - api.main - INFO - STDERR: import 'xml' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80330940> +2024-11-30 15:37:25,543 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__init__.py +2024-11-30 15:37:25,543 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,545 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\domreg.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\domreg.py +2024-11-30 15:37:25,545 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\domreg.cpython-39.pyc' +2024-11-30 15:37:25,545 - api.main - INFO - STDERR: import 'xml.dom.domreg' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80330EE0> +2024-11-30 15:37:25,545 - api.main - INFO - STDERR: import 'xml.dom' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80311040> +2024-11-30 15:37:25,546 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\minidom.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\minidom.py +2024-11-30 15:37:25,546 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\minidom.cpython-39.pyc' +2024-11-30 15:37:25,546 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\minicompat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\minicompat.py +2024-11-30 15:37:25,546 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\minicompat.cpython-39.pyc' +2024-11-30 15:37:25,546 - api.main - INFO - STDERR: import 'xml.dom.minicompat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A803864C0> +2024-11-30 15:37:25,547 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\xmlbuilder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\xmlbuilder.py +2024-11-30 15:37:25,548 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\xmlbuilder.cpython-39.pyc' +2024-11-30 15:37:25,548 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\copy.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\copy.py +2024-11-30 15:37:25,548 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\copy.cpython-39.pyc' +2024-11-30 15:37:25,549 - api.main - INFO - STDERR: import 'copy' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8038ECA0> +2024-11-30 15:37:25,550 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\NodeFilter.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\NodeFilter.py +2024-11-30 15:37:25,550 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\NodeFilter.cpython-39.pyc' +2024-11-30 15:37:25,550 - api.main - INFO - STDERR: import 'xml.dom.NodeFilter' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8038EFD0> +2024-11-30 15:37:25,550 - api.main - INFO - STDERR: import 'xml.dom.xmlbuilder' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80386940> +2024-11-30 15:37:25,550 - api.main - INFO - STDERR: import 'xml.dom.minidom' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A802F4550> +2024-11-30 15:37:25,551 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pathlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pathlib.py +2024-11-30 15:37:25,552 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pathlib.cpython-39.pyc' +2024-11-30 15:37:25,553 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__init__.py +2024-11-30 15:37:25,553 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,554 - api.main - INFO - STDERR: import 'urllib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A803BAD00> +2024-11-30 15:37:25,554 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\parse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\parse.py +2024-11-30 15:37:25,555 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\parse.cpython-39.pyc' +2024-11-30 15:37:25,555 - api.main - INFO - STDERR: import 'urllib.parse' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A803BAD30> +2024-11-30 15:37:25,556 - api.main - INFO - STDERR: import 'pathlib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8037C400> +2024-11-30 15:37:25,557 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__init__.py +2024-11-30 15:37:25,558 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,558 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\deprecation.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecation.py +2024-11-30 15:37:25,558 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\deprecation.cpython-39.pyc' +2024-11-30 15:37:25,559 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__init__.py +2024-11-30 15:37:25,559 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,560 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\__about__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__about__.py +2024-11-30 15:37:25,560 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\__about__.cpython-39.pyc' +2024-11-30 15:37:25,560 - api.main - INFO - STDERR: import 'packaging.__about__' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8033F790> +2024-11-30 15:37:25,560 - api.main - INFO - STDERR: import 'packaging' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8033F520> +2024-11-30 15:37:25,560 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\version.py +2024-11-30 15:37:25,560 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\version.cpython-39.pyc' +2024-11-30 15:37:25,560 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_structures.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_structures.py +2024-11-30 15:37:25,560 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_structures.cpython-39.pyc' +2024-11-30 15:37:25,561 - api.main - INFO - STDERR: import 'packaging._structures' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A803ED640> +2024-11-30 15:37:25,561 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_typing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_typing.py +2024-11-30 15:37:25,561 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_typing.cpython-39.pyc' +2024-11-30 15:37:25,561 - api.main - INFO - STDERR: import 'packaging._typing' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A803EDF10> +2024-11-30 15:37:25,563 - api.main - INFO - STDERR: import 'packaging.version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8033F5B0> +2024-11-30 15:37:25,563 - api.main - INFO - STDERR: import 'deprecation' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8033F100> +2024-11-30 15:37:25,564 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_adb.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_adb.py +2024-11-30 15:37:25,564 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_adb.cpython-39.pyc' +2024-11-30 15:37:25,564 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\socket.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\socket.py +2024-11-30 15:37:25,565 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\socket.cpython-39.pyc' +2024-11-30 15:37:25,567 - api.main - INFO - STDERR: # extension module '_socket' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_socket.pyd' +2024-11-30 15:37:25,567 - api.main - INFO - STDERR: # extension module '_socket' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_socket.pyd' +2024-11-30 15:37:25,567 - api.main - INFO - STDERR: import '_socket' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000021A8040AC40> +2024-11-30 15:37:25,569 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\selectors.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\selectors.py +2024-11-30 15:37:25,569 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\selectors.cpython-39.pyc' +2024-11-30 15:37:25,570 - api.main - INFO - STDERR: # extension module 'select' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\select.pyd' +2024-11-30 15:37:25,570 - api.main - INFO - STDERR: # extension module 'select' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\select.pyd' +2024-11-30 15:37:25,570 - api.main - INFO - STDERR: import 'select' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000021A8041DE20> +2024-11-30 15:37:25,570 - api.main - INFO - STDERR: import 'selectors' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8040AD90> +2024-11-30 15:37:25,572 - api.main - INFO - STDERR: import 'socket' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A803F4F40> +2024-11-30 15:37:25,572 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_utils.py +2024-11-30 15:37:25,573 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_utils.cpython-39.pyc' +2024-11-30 15:37:25,573 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\shlex.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\shlex.py +2024-11-30 15:37:25,573 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\shlex.cpython-39.pyc' +2024-11-30 15:37:25,574 - api.main - INFO - STDERR: import 'shlex' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80423D00> +2024-11-30 15:37:25,575 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tempfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tempfile.py +2024-11-30 15:37:25,575 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tempfile.cpython-39.pyc' +2024-11-30 15:37:25,575 - api.main - INFO - STDERR: import 'tempfile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8042D280> +2024-11-30 15:37:25,576 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\zipfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\zipfile.py +2024-11-30 15:37:25,576 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\zipfile.cpython-39.pyc' +2024-11-30 15:37:25,577 - api.main - INFO - STDERR: import 'zipfile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80456640> +2024-11-30 15:37:25,578 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\whichcraft.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\whichcraft.py +2024-11-30 15:37:25,578 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\whichcraft.cpython-39.pyc' +2024-11-30 15:37:25,578 - api.main - INFO - STDERR: import 'whichcraft' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80466D60> +2024-11-30 15:37:25,579 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__init__.py +2024-11-30 15:37:25,579 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,580 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\xmltodict.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\xmltodict.py +2024-11-30 15:37:25,580 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\xmltodict.cpython-39.pyc' +2024-11-30 15:37:25,581 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__init__.py +2024-11-30 15:37:25,581 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\parsers\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,581 - api.main - INFO - STDERR: import 'xml.parsers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80488790> +2024-11-30 15:37:25,581 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__pycache__\expat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\expat.py +2024-11-30 15:37:25,581 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\parsers\\__pycache__\\expat.cpython-39.pyc' +2024-11-30 15:37:25,583 - api.main - INFO - STDERR: # extension module 'pyexpat' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\pyexpat.pyd' +2024-11-30 15:37:25,583 - api.main - INFO - STDERR: # extension module 'pyexpat' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\pyexpat.pyd' +2024-11-30 15:37:25,583 - api.main - INFO - STDERR: import 'pyexpat' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000021A80488AF0> +2024-11-30 15:37:25,583 - api.main - INFO - STDERR: import 'xml.parsers.expat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80488910> +2024-11-30 15:37:25,584 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__init__.py +2024-11-30 15:37:25,584 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,585 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\xmlreader.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\xmlreader.py +2024-11-30 15:37:25,585 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\xmlreader.cpython-39.pyc' +2024-11-30 15:37:25,586 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\handler.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\handler.py +2024-11-30 15:37:25,586 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\handler.cpython-39.pyc' +2024-11-30 15:37:25,586 - api.main - INFO - STDERR: import 'xml.sax.handler' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A804A2B20> +2024-11-30 15:37:25,587 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\_exceptions.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\_exceptions.py +2024-11-30 15:37:25,587 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\_exceptions.cpython-39.pyc' +2024-11-30 15:37:25,587 - api.main - INFO - STDERR: import 'xml.sax._exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A804A8520> +2024-11-30 15:37:25,587 - api.main - INFO - STDERR: import 'xml.sax.xmlreader' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80488F10> +2024-11-30 15:37:25,587 - api.main - INFO - STDERR: import 'xml.sax' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80488BB0> +2024-11-30 15:37:25,587 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\saxutils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\saxutils.py +2024-11-30 15:37:25,587 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\saxutils.cpython-39.pyc' +2024-11-30 15:37:25,588 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\request.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\request.py +2024-11-30 15:37:25,588 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\request.cpython-39.pyc' +2024-11-30 15:37:25,589 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__init__.py +2024-11-30 15:37:25,590 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,590 - api.main - INFO - STDERR: import 'email' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A804F25B0> +2024-11-30 15:37:25,590 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__init__.py +2024-11-30 15:37:25,590 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,591 - api.main - INFO - STDERR: import 'http' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A804F28B0> +2024-11-30 15:37:25,592 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\client.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\client.py +2024-11-30 15:37:25,592 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\client.cpython-39.pyc' +2024-11-30 15:37:25,593 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\parser.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\parser.py +2024-11-30 15:37:25,593 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\parser.cpython-39.pyc' +2024-11-30 15:37:25,594 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\feedparser.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\feedparser.py +2024-11-30 15:37:25,594 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\feedparser.cpython-39.pyc' +2024-11-30 15:37:25,595 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\errors.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\errors.py +2024-11-30 15:37:25,595 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 15:37:25,595 - api.main - INFO - STDERR: import 'email.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80515A00> +2024-11-30 15:37:25,595 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_policybase.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_policybase.py +2024-11-30 15:37:25,596 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_policybase.cpython-39.pyc' +2024-11-30 15:37:25,596 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\header.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\header.py +2024-11-30 15:37:25,596 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\header.cpython-39.pyc' +2024-11-30 15:37:25,597 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\quoprimime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\quoprimime.py +2024-11-30 15:37:25,597 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\quoprimime.cpython-39.pyc' +2024-11-30 15:37:25,597 - api.main - INFO - STDERR: import 'email.quoprimime' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A805336D0> +2024-11-30 15:37:25,597 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\base64mime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\base64mime.py +2024-11-30 15:37:25,597 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\base64mime.cpython-39.pyc' +2024-11-30 15:37:25,598 - api.main - INFO - STDERR: import 'email.base64mime' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80533BB0> +2024-11-30 15:37:25,598 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\charset.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\charset.py +2024-11-30 15:37:25,598 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\charset.cpython-39.pyc' +2024-11-30 15:37:25,599 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\encoders.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\encoders.py +2024-11-30 15:37:25,599 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\encoders.cpython-39.pyc' +2024-11-30 15:37:25,599 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\quopri.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\quopri.py +2024-11-30 15:37:25,599 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\quopri.cpython-39.pyc' +2024-11-30 15:37:25,599 - api.main - INFO - STDERR: import 'quopri' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80544790> +2024-11-30 15:37:25,600 - api.main - INFO - STDERR: import 'email.encoders' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A805443A0> +2024-11-30 15:37:25,600 - api.main - INFO - STDERR: import 'email.charset' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80533D90> +2024-11-30 15:37:25,600 - api.main - INFO - STDERR: import 'email.header' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80524E20> +2024-11-30 15:37:25,601 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\utils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\utils.py +2024-11-30 15:37:25,601 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 15:37:25,601 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_parseaddr.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_parseaddr.py +2024-11-30 15:37:25,601 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_parseaddr.cpython-39.pyc' +2024-11-30 15:37:25,602 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\calendar.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\calendar.py +2024-11-30 15:37:25,602 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\calendar.cpython-39.pyc' +2024-11-30 15:37:25,603 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\locale.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\locale.py +2024-11-30 15:37:25,603 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\locale.cpython-39.pyc' +2024-11-30 15:37:25,604 - api.main - INFO - STDERR: import 'locale' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8055DEB0> +2024-11-30 15:37:25,604 - api.main - INFO - STDERR: import 'calendar' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A805556A0> +2024-11-30 15:37:25,604 - api.main - INFO - STDERR: import 'email._parseaddr' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80544F70> +2024-11-30 15:37:25,604 - api.main - INFO - STDERR: import 'email.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A805441F0> +2024-11-30 15:37:25,604 - api.main - INFO - STDERR: import 'email._policybase' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80515AF0> +2024-11-30 15:37:25,607 - api.main - INFO - STDERR: import 'email.feedparser' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80515280> +2024-11-30 15:37:25,607 - api.main - INFO - STDERR: import 'email.parser' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8050EB80> +2024-11-30 15:37:25,607 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\message.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\message.py +2024-11-30 15:37:25,608 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\message.cpython-39.pyc' +2024-11-30 15:37:25,608 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\uu.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\uu.py +2024-11-30 15:37:25,608 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\uu.cpython-39.pyc' +2024-11-30 15:37:25,608 - api.main - INFO - STDERR: import 'uu' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A805A0A90> +2024-11-30 15:37:25,609 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_encoded_words.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_encoded_words.py +2024-11-30 15:37:25,609 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_encoded_words.cpython-39.pyc' +2024-11-30 15:37:25,609 - api.main - INFO - STDERR: import 'email._encoded_words' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A805A0CD0> +2024-11-30 15:37:25,609 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\iterators.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\iterators.py +2024-11-30 15:37:25,609 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\iterators.cpython-39.pyc' +2024-11-30 15:37:25,609 - api.main - INFO - STDERR: import 'email.iterators' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A805AC190> +2024-11-30 15:37:25,609 - api.main - INFO - STDERR: import 'email.message' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8050EF40> +2024-11-30 15:37:25,610 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ssl.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ssl.py +2024-11-30 15:37:25,611 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ssl.cpython-39.pyc' +2024-11-30 15:37:25,612 - api.main - INFO - STDERR: # extension module '_ssl' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ssl.pyd' +2024-11-30 15:37:25,613 - api.main - INFO - STDERR: # extension module '_ssl' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ssl.pyd' +2024-11-30 15:37:25,613 - api.main - INFO - STDERR: import '_ssl' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000021A805C5580> +2024-11-30 15:37:25,615 - api.main - INFO - STDERR: import 'ssl' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A805AC460> +2024-11-30 15:37:25,616 - api.main - INFO - STDERR: import 'http.client' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A804F29D0> +2024-11-30 15:37:25,616 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\error.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\error.py +2024-11-30 15:37:25,616 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\error.cpython-39.pyc' +2024-11-30 15:37:25,617 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\response.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\response.py +2024-11-30 15:37:25,617 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\response.cpython-39.pyc' +2024-11-30 15:37:25,617 - api.main - INFO - STDERR: import 'urllib.response' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8061F460> +2024-11-30 15:37:25,617 - api.main - INFO - STDERR: import 'urllib.error' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8050E3A0> +2024-11-30 15:37:25,618 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\nturl2path.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\nturl2path.py +2024-11-30 15:37:25,618 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\nturl2path.cpython-39.pyc' +2024-11-30 15:37:25,618 - api.main - INFO - STDERR: import 'nturl2path' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8061FCD0> +2024-11-30 15:37:25,618 - api.main - INFO - STDERR: import 'urllib.request' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A804B78B0> +2024-11-30 15:37:25,618 - api.main - INFO - STDERR: import 'xml.sax.saxutils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80488640> +2024-11-30 15:37:25,619 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\platform.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\platform.py +2024-11-30 15:37:25,619 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\platform.cpython-39.pyc' +2024-11-30 15:37:25,621 - api.main - INFO - STDERR: import 'platform' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A804B76D0> +2024-11-30 15:37:25,621 - api.main - INFO - STDERR: import 'xmltodict' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80488220> +2024-11-30 15:37:25,623 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\apkfile.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\apkfile.py +2024-11-30 15:37:25,623 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\apkfile.cpython-39.pyc' +2024-11-30 15:37:25,623 - api.main - INFO - STDERR: import 'apkutils2.apkfile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80488580> +2024-11-30 15:37:25,624 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__init__.py +2024-11-30 15:37:25,624 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,624 - api.main - INFO - STDERR: import 'apkutils2.axml' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A806389D0> +2024-11-30 15:37:25,624 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\arscparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\arscparser.py +2024-11-30 15:37:25,624 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\arscparser.cpython-39.pyc' +2024-11-30 15:37:25,625 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\chunk.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\chunk.py +2024-11-30 15:37:25,625 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\chunk.cpython-39.pyc' +2024-11-30 15:37:25,625 - api.main - INFO - STDERR: import 'apkutils2.axml.chunk' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80663580> +2024-11-30 15:37:25,625 - api.main - INFO - STDERR: import 'apkutils2.axml.arscparser' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80643E80> +2024-11-30 15:37:25,625 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\axmlparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\axmlparser.py +2024-11-30 15:37:25,625 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\axmlparser.cpython-39.pyc' +2024-11-30 15:37:25,626 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\public.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\public.py +2024-11-30 15:37:25,626 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\public.cpython-39.pyc' +2024-11-30 15:37:25,627 - api.main - INFO - STDERR: import 'apkutils2.axml.public' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80A72820> +2024-11-30 15:37:25,627 - api.main - INFO - STDERR: import 'apkutils2.axml.axmlparser' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80658A00> +2024-11-30 15:37:25,627 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__init__.py +2024-11-30 15:37:25,627 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,627 - api.main - INFO - STDERR: import 'apkutils2.dex' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80A72910> +2024-11-30 15:37:25,628 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dexparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dexparser.py +2024-11-30 15:37:25,628 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dexparser.cpython-39.pyc' +2024-11-30 15:37:25,628 - api.main - INFO - STDERR: import 'array' # +2024-11-30 15:37:25,628 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\byteio.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\byteio.py +2024-11-30 15:37:25,628 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\byteio.cpython-39.pyc' +2024-11-30 15:37:25,628 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\util.py +2024-11-30 15:37:25,628 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\util.cpython-39.pyc' +2024-11-30 15:37:25,628 - api.main - INFO - STDERR: import 'apkutils2.dex.util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80AC7EE0> +2024-11-30 15:37:25,628 - api.main - INFO - STDERR: import 'apkutils2.dex.byteio' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80AC7550> +2024-11-30 15:37:25,628 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dalvik.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dalvik.py +2024-11-30 15:37:25,628 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dalvik.cpython-39.pyc' +2024-11-30 15:37:25,629 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dalvikformats.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dalvikformats.py +2024-11-30 15:37:25,629 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dalvikformats.cpython-39.pyc' +2024-11-30 15:37:25,629 - api.main - INFO - STDERR: import 'apkutils2.dex.dalvikformats' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80AD2370> +2024-11-30 15:37:25,629 - api.main - INFO - STDERR: import 'apkutils2.dex.dalvik' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80AC7FD0> +2024-11-30 15:37:25,629 - api.main - INFO - STDERR: import 'apkutils2.dex.dexparser' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80A72940> +2024-11-30 15:37:25,630 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\manifest.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\manifest.py +2024-11-30 15:37:25,630 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\manifest.cpython-39.pyc' +2024-11-30 15:37:25,630 - api.main - INFO - STDERR: import 'apkutils2.manifest' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80A72E20> +2024-11-30 15:37:25,630 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cigam\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cigam\__init__.py +2024-11-30 15:37:25,631 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\cigam\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,631 - api.main - INFO - STDERR: import 'cigam' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80AD25E0> +2024-11-30 15:37:25,631 - api.main - INFO - STDERR: import 'apkutils2' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80479B80> +2024-11-30 15:37:25,631 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pkg_resources\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pkg_resources\__init__.py +2024-11-30 15:37:25,632 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pkg_resources\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,633 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\plistlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\plistlib.py +2024-11-30 15:37:25,633 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\plistlib.cpython-39.pyc' +2024-11-30 15:37:25,634 - api.main - INFO - STDERR: import 'plistlib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80B156D0> +2024-11-30 15:37:25,634 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\markers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\markers.py +2024-11-30 15:37:25,634 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\markers.cpython-39.pyc' +2024-11-30 15:37:25,635 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__init__.py +2024-11-30 15:37:25,635 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,635 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\util.py +2024-11-30 15:37:25,636 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\util.cpython-39.pyc' +2024-11-30 15:37:25,636 - api.main - INFO - STDERR: import 'pyparsing.util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80B2CC70> +2024-11-30 15:37:25,636 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\exceptions.py +2024-11-30 15:37:25,636 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 15:37:25,637 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\unicode.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\unicode.py +2024-11-30 15:37:25,637 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\unicode.cpython-39.pyc' +2024-11-30 15:37:25,637 - api.main - INFO - STDERR: import 'pyparsing.unicode' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80B3D910> +2024-11-30 15:37:25,639 - api.main - INFO - STDERR: import 'pyparsing.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80B37D00> +2024-11-30 15:37:25,639 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\actions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\actions.py +2024-11-30 15:37:25,639 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\actions.cpython-39.pyc' +2024-11-30 15:37:25,639 - api.main - INFO - STDERR: import 'pyparsing.actions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80B3D4F0> +2024-11-30 15:37:25,640 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\core.py +2024-11-30 15:37:25,641 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\core.cpython-39.pyc' +2024-11-30 15:37:25,641 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\results.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\results.py +2024-11-30 15:37:25,641 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\results.cpython-39.pyc' +2024-11-30 15:37:25,643 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pprint.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pprint.py +2024-11-30 15:37:25,643 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pprint.cpython-39.pyc' +2024-11-30 15:37:25,643 - api.main - INFO - STDERR: import 'pprint' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80BCC8E0> +2024-11-30 15:37:25,643 - api.main - INFO - STDERR: import 'pyparsing.results' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80BC0820> +2024-11-30 15:37:25,650 - api.main - INFO - STDERR: import 'pyparsing.core' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80B5B2E0> +2024-11-30 15:37:25,650 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\helpers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\helpers.py +2024-11-30 15:37:25,650 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\helpers.cpython-39.pyc' +2024-11-30 15:37:25,652 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__init__.py +2024-11-30 15:37:25,652 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\html\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,652 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__pycache__\entities.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\entities.py +2024-11-30 15:37:25,653 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\html\\__pycache__\\entities.cpython-39.pyc' +2024-11-30 15:37:25,653 - api.main - INFO - STDERR: import 'html.entities' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80CBEC10> +2024-11-30 15:37:25,653 - api.main - INFO - STDERR: import 'html' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80CBE970> +2024-11-30 15:37:25,657 - api.main - INFO - STDERR: import 'pyparsing.helpers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80B5BF10> +2024-11-30 15:37:25,657 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\testing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\testing.py +2024-11-30 15:37:25,657 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\testing.cpython-39.pyc' +2024-11-30 15:37:25,657 - api.main - INFO - STDERR: import 'pyparsing.testing' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80D51EB0> +2024-11-30 15:37:25,658 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\common.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\common.py +2024-11-30 15:37:25,658 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\common.cpython-39.pyc' +2024-11-30 15:37:25,662 - api.main - INFO - STDERR: import 'pyparsing.common' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80D7E4C0> +2024-11-30 15:37:25,662 - api.main - INFO - STDERR: import 'pyparsing' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80B2C6D0> +2024-11-30 15:37:25,662 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_compat.py +2024-11-30 15:37:25,662 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_compat.cpython-39.pyc' +2024-11-30 15:37:25,662 - api.main - INFO - STDERR: import 'packaging._compat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80B2CEE0> +2024-11-30 15:37:25,662 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\specifiers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\specifiers.py +2024-11-30 15:37:25,662 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\specifiers.cpython-39.pyc' +2024-11-30 15:37:25,663 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\utils.py +2024-11-30 15:37:25,663 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 15:37:25,663 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\tags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\tags.py +2024-11-30 15:37:25,663 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\tags.cpython-39.pyc' +2024-11-30 15:37:25,664 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\__init__.py +2024-11-30 15:37:25,664 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,664 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__pycache__\override.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\override.py +2024-11-30 15:37:25,664 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\_distutils_hack\\__pycache__\\override.cpython-39.pyc' +2024-11-30 15:37:25,666 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__init__.py +2024-11-30 15:37:25,666 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,666 - api.main - INFO - STDERR: import 'setuptools._distutils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80DD14C0> +2024-11-30 15:37:25,666 - api.main - INFO - STDERR: import 'distutils' # <_distutils_hack.DistutilsMetaFinder.spec_for_distutils..DistutilsLoader object at 0x0000021A80DD12B0> +2024-11-30 15:37:25,666 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\core.py +2024-11-30 15:37:25,668 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\core.cpython-39.pyc' +2024-11-30 15:37:25,668 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\cmd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\cmd.py +2024-11-30 15:37:25,668 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\cmd.cpython-39.pyc' +2024-11-30 15:37:25,668 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\_modified.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\_modified.py +2024-11-30 15:37:25,668 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\_modified.cpython-39.pyc' +2024-11-30 15:37:25,669 - api.main - INFO - STDERR: # possible namespace for e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco +2024-11-30 15:37:25,669 - api.main - INFO - STDERR: import 'jaraco' # <_frozen_importlib_external._NamespaceLoader object at 0x0000021A80DE67C0> +2024-11-30 15:37:25,669 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\functools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\functools\__init__.py +2024-11-30 15:37:25,669 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\functools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,671 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__init__.py +2024-11-30 15:37:25,671 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,671 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\more.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\more.py +2024-11-30 15:37:25,672 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\more.cpython-39.pyc' +2024-11-30 15:37:25,673 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\queue.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\queue.py +2024-11-30 15:37:25,673 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\queue.cpython-39.pyc' +2024-11-30 15:37:25,674 - api.main - INFO - STDERR: # extension module '_queue' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_queue.pyd' +2024-11-30 15:37:25,674 - api.main - INFO - STDERR: # extension module '_queue' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_queue.pyd' +2024-11-30 15:37:25,674 - api.main - INFO - STDERR: import '_queue' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000021A80E1A9D0> +2024-11-30 15:37:25,674 - api.main - INFO - STDERR: import 'queue' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80E0FD00> +2024-11-30 15:37:25,675 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\recipes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\recipes.py +2024-11-30 15:37:25,675 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\recipes.cpython-39.pyc' +2024-11-30 15:37:25,675 - api.main - INFO - STDERR: import 'more_itertools.recipes' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80E1A940> +2024-11-30 15:37:25,675 - api.main - INFO - STDERR: import 'more_itertools.more' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80DEDBE0> +2024-11-30 15:37:25,675 - api.main - INFO - STDERR: import 'more_itertools' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80DED940> +2024-11-30 15:37:25,675 - api.main - INFO - STDERR: import 'jaraco.functools' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80DE69D0> +2024-11-30 15:37:25,676 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__init__.py +2024-11-30 15:37:25,676 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,676 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\py38.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\py38.py +2024-11-30 15:37:25,676 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\py38.cpython-39.pyc' +2024-11-30 15:37:25,676 - api.main - INFO - STDERR: import 'distutils.compat.py38' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80E48370> +2024-11-30 15:37:25,676 - api.main - INFO - STDERR: import 'distutils.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80E27FD0> +2024-11-30 15:37:25,676 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\py39.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\py39.py +2024-11-30 15:37:25,676 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\py39.cpython-39.pyc' +2024-11-30 15:37:25,692 - api.main - INFO - STDERR: import 'distutils.compat.py39' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80E05DF0> +2024-11-30 15:37:25,692 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\errors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\errors.py +2024-11-30 15:37:25,692 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 15:37:25,692 - api.main - INFO - STDERR: import 'distutils.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80E484F0> +2024-11-30 15:37:25,692 - api.main - INFO - STDERR: import 'distutils._modified' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80DE6370> +2024-11-30 15:37:25,692 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\archive_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\archive_util.py +2024-11-30 15:37:25,692 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\archive_util.cpython-39.pyc' +2024-11-30 15:37:25,693 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\_log.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\_log.py +2024-11-30 15:37:25,693 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\_log.cpython-39.pyc' +2024-11-30 15:37:25,693 - api.main - INFO - STDERR: import 'distutils._log' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80E48C40> +2024-11-30 15:37:25,693 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\dir_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\dir_util.py +2024-11-30 15:37:25,693 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\dir_util.cpython-39.pyc' +2024-11-30 15:37:25,693 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\file_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\file_util.py +2024-11-30 15:37:25,693 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\file_util.cpython-39.pyc' +2024-11-30 15:37:25,694 - api.main - INFO - STDERR: import 'distutils.file_util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80E56340> +2024-11-30 15:37:25,694 - api.main - INFO - STDERR: import 'distutils.dir_util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80E48CD0> +2024-11-30 15:37:25,694 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\spawn.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\spawn.py +2024-11-30 15:37:25,694 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\spawn.cpython-39.pyc' +2024-11-30 15:37:25,694 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\debug.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\debug.py +2024-11-30 15:37:25,694 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\debug.cpython-39.pyc' +2024-11-30 15:37:25,694 - api.main - INFO - STDERR: import 'distutils.debug' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80E569D0> +2024-11-30 15:37:25,694 - api.main - INFO - STDERR: import 'distutils.spawn' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80E56670> +2024-11-30 15:37:25,695 - api.main - INFO - STDERR: import 'distutils.archive_util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80DE6610> +2024-11-30 15:37:25,695 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\util.py +2024-11-30 15:37:25,695 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\util.cpython-39.pyc' +2024-11-30 15:37:25,697 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sysconfig.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sysconfig.py +2024-11-30 15:37:25,697 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sysconfig.cpython-39.pyc' +2024-11-30 15:37:25,698 - api.main - INFO - STDERR: import 'sysconfig' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80E56EB0> +2024-11-30 15:37:25,698 - api.main - INFO - STDERR: import 'distutils.util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80E48640> +2024-11-30 15:37:25,698 - api.main - INFO - STDERR: import 'distutils.cmd' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80DD1910> +2024-11-30 15:37:25,698 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\dist.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\dist.py +2024-11-30 15:37:25,699 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\dist.cpython-39.pyc' +2024-11-30 15:37:25,699 - api.main - INFO - STDERR: # destroy distutils.dist +2024-11-30 15:37:25,699 - api.main - INFO - STDERR: # destroy distutils.core +2024-11-30 15:37:25,699 - api.main - INFO - STDERR: # destroy _distutils_hack.override +2024-11-30 15:37:25,699 - api.main - INFO - STDERR: # destroy setuptools +2024-11-30 15:37:25,699 - api.main - INFO - STDERR: import 'distutils' # <_distutils_hack.DistutilsMetaFinder.spec_for_distutils..DistutilsLoader object at 0x0000021A80DD12B0> +2024-11-30 15:37:25,699 - api.main - INFO - STDERR: import 'packaging.tags' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80DB9550> +2024-11-30 15:37:25,700 - api.main - INFO - STDERR: import 'packaging.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80DB92B0> +2024-11-30 15:37:25,704 - api.main - INFO - STDERR: import 'packaging.specifiers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80DA5E50> +2024-11-30 15:37:25,706 - api.main - INFO - STDERR: import 'packaging.markers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80B1CB20> +2024-11-30 15:37:25,706 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\requirements.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\requirements.py +2024-11-30 15:37:25,706 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\requirements.cpython-39.pyc' +2024-11-30 15:37:25,713 - api.main - INFO - STDERR: import 'packaging.requirements' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80B1CD30> +2024-11-30 15:37:25,714 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\text\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\text\__init__.py +2024-11-30 15:37:25,714 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\text\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,714 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\resources.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\resources.py +2024-11-30 15:37:25,714 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\resources.cpython-39.pyc' +2024-11-30 15:37:25,716 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\_common.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\_common.py +2024-11-30 15:37:25,716 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\_common.cpython-39.pyc' +2024-11-30 15:37:25,716 - api.main - INFO - STDERR: import 'importlib._common' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80EC14F0> +2024-11-30 15:37:25,716 - api.main - INFO - STDERR: import 'importlib.resources' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80DD0DF0> +2024-11-30 15:37:25,716 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\__pycache__\context.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\context.py +2024-11-30 15:37:25,717 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\__pycache__\\context.cpython-39.pyc' +2024-11-30 15:37:25,717 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\__init__.py +2024-11-30 15:37:25,717 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,718 - api.main - INFO - STDERR: import 'backports' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80EC81C0> +2024-11-30 15:37:25,718 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\__init__.py +2024-11-30 15:37:25,719 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,720 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__init__.py +2024-11-30 15:37:25,720 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\compat\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,720 - api.main - INFO - STDERR: import 'backports.tarfile.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80E7D1F0> +2024-11-30 15:37:25,720 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__pycache__\py38.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\py38.py +2024-11-30 15:37:25,720 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\compat\\__pycache__\\py38.cpython-39.pyc' +2024-11-30 15:37:25,720 - api.main - INFO - STDERR: import 'backports.tarfile.compat.py38' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80DD0100> +2024-11-30 15:37:25,721 - api.main - INFO - STDERR: import 'backports.tarfile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80EC8340> +2024-11-30 15:37:25,721 - api.main - INFO - STDERR: import 'jaraco.context' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80EC1A30> +2024-11-30 15:37:25,723 - api.main - INFO - STDERR: import 'jaraco.text' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80DD1220> +2024-11-30 15:37:25,724 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__init__.py +2024-11-30 15:37:25,724 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,724 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\api.py +2024-11-30 15:37:25,724 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\api.cpython-39.pyc' +2024-11-30 15:37:25,724 - api.main - INFO - STDERR: import 'platformdirs.api' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80EFB7C0> +2024-11-30 15:37:25,725 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\version.py +2024-11-30 15:37:25,725 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\version.cpython-39.pyc' +2024-11-30 15:37:25,725 - api.main - INFO - STDERR: import 'platformdirs.version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80F02A30> +2024-11-30 15:37:25,725 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\windows.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\windows.py +2024-11-30 15:37:25,725 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\windows.cpython-39.pyc' +2024-11-30 15:37:25,725 - api.main - INFO - STDERR: import 'platformdirs.windows' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80F02AC0> +2024-11-30 15:37:25,726 - api.main - INFO - STDERR: import 'platformdirs' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80EEE790> +2024-11-30 15:37:25,765 - api.main - INFO - STDERR: import 'pkg_resources' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80479970> +2024-11-30 15:37:25,765 - api.main - INFO - STDERR: import 'adbutils._utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8040A520> +2024-11-30 15:37:25,766 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\errors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\errors.py +2024-11-30 15:37:25,766 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 15:37:25,766 - api.main - INFO - STDERR: import 'adbutils.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8042D670> +2024-11-30 15:37:25,766 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_proto.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_proto.py +2024-11-30 15:37:25,766 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_proto.cpython-39.pyc' +2024-11-30 15:37:25,767 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\dataclasses.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\dataclasses.py +2024-11-30 15:37:25,767 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\dataclasses.cpython-39.pyc' +2024-11-30 15:37:25,768 - api.main - INFO - STDERR: import 'dataclasses' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80AEA0D0> +2024-11-30 15:37:25,770 - api.main - INFO - STDERR: import 'adbutils._proto' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80AE4520> +2024-11-30 15:37:25,770 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_version.py +2024-11-30 15:37:25,771 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 15:37:25,772 - api.main - INFO - STDERR: import 'adbutils._version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80AE4700> +2024-11-30 15:37:25,772 - api.main - INFO - STDERR: import 'adbutils._adb' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8033F370> +2024-11-30 15:37:25,772 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_device.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_device.py +2024-11-30 15:37:25,773 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_device.cpython-39.pyc' +2024-11-30 15:37:25,773 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__init__.py +2024-11-30 15:37:25,774 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,774 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__init__.py +2024-11-30 15:37:25,774 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,775 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\exceptions.py +2024-11-30 15:37:25,775 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 15:37:25,775 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__init__.py +2024-11-30 15:37:25,775 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\packages\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,775 - api.main - INFO - STDERR: import 'urllib3.packages' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80F99820> +2024-11-30 15:37:25,776 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__pycache__\six.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\six.py +2024-11-30 15:37:25,776 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\packages\\__pycache__\\six.cpython-39.pyc' +2024-11-30 15:37:25,776 - api.main - INFO - STDERR: import 'urllib3.packages.six' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80F99850> +2024-11-30 15:37:25,776 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves' # +2024-11-30 15:37:25,776 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.http_client' # +2024-11-30 15:37:25,776 - api.main - INFO - STDERR: import 'urllib3.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80F90760> +2024-11-30 15:37:25,777 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\_version.py +2024-11-30 15:37:25,777 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 15:37:25,777 - api.main - INFO - STDERR: import 'urllib3._version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80F90940> +2024-11-30 15:37:25,778 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\connectionpool.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\connectionpool.py +2024-11-30 15:37:25,778 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\connectionpool.cpython-39.pyc' +2024-11-30 15:37:25,778 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\_collections.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\_collections.py +2024-11-30 15:37:25,778 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\_collections.cpython-39.pyc' +2024-11-30 15:37:25,778 - api.main - INFO - STDERR: import 'urllib3._collections' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80FA4760> +2024-11-30 15:37:25,779 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\connection.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\connection.py +2024-11-30 15:37:25,779 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\connection.cpython-39.pyc' +2024-11-30 15:37:25,779 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__init__.py +2024-11-30 15:37:25,779 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,780 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\connection.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\connection.py +2024-11-30 15:37:25,780 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\connection.cpython-39.pyc' +2024-11-30 15:37:25,780 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__init__.py +2024-11-30 15:37:25,780 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,780 - api.main - INFO - STDERR: import 'urllib3.contrib' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80FC4FD0> +2024-11-30 15:37:25,780 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\_appengine_environ.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\_appengine_environ.py +2024-11-30 15:37:25,780 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\_appengine_environ.cpython-39.pyc' +2024-11-30 15:37:25,781 - api.main - INFO - STDERR: import 'urllib3.contrib._appengine_environ' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80FD0190> +2024-11-30 15:37:25,781 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\wait.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\wait.py +2024-11-30 15:37:25,781 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\wait.cpython-39.pyc' +2024-11-30 15:37:25,781 - api.main - INFO - STDERR: import 'urllib3.util.wait' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80FD0340> +2024-11-30 15:37:25,782 - api.main - INFO - STDERR: import 'urllib3.util.connection' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80FC4C40> +2024-11-30 15:37:25,782 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\request.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\request.py +2024-11-30 15:37:25,782 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\request.cpython-39.pyc' +2024-11-30 15:37:25,783 - api.main - INFO - STDERR: import 'urllib3.util.request' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80FC4E20> +2024-11-30 15:37:25,783 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\response.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\response.py +2024-11-30 15:37:25,783 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\response.cpython-39.pyc' +2024-11-30 15:37:25,783 - api.main - INFO - STDERR: import 'urllib3.util.response' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80FD0760> +2024-11-30 15:37:25,783 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\retry.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\retry.py +2024-11-30 15:37:25,783 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\retry.cpython-39.pyc' +2024-11-30 15:37:25,784 - api.main - INFO - STDERR: import 'urllib3.util.retry' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80FD0850> +2024-11-30 15:37:25,784 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssl_.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssl_.py +2024-11-30 15:37:25,784 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssl_.cpython-39.pyc' +2024-11-30 15:37:25,785 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\hmac.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\hmac.py +2024-11-30 15:37:25,785 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\hmac.cpython-39.pyc' +2024-11-30 15:37:25,785 - api.main - INFO - STDERR: import 'hmac' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80FDCA30> +2024-11-30 15:37:25,786 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\url.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\url.py +2024-11-30 15:37:25,786 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\url.cpython-39.pyc' +2024-11-30 15:37:25,795 - api.main - INFO - STDERR: import 'urllib3.util.url' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80FEA280> +2024-11-30 15:37:25,795 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssltransport.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssltransport.py +2024-11-30 15:37:25,795 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssltransport.cpython-39.pyc' +2024-11-30 15:37:25,795 - api.main - INFO - STDERR: import 'urllib3.util.ssltransport' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80FEADC0> +2024-11-30 15:37:25,795 - api.main - INFO - STDERR: import 'urllib3.util.ssl_' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80FDC520> +2024-11-30 15:37:25,795 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\timeout.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\timeout.py +2024-11-30 15:37:25,795 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\timeout.cpython-39.pyc' +2024-11-30 15:37:25,795 - api.main - INFO - STDERR: import 'urllib3.util.timeout' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80FDC820> +2024-11-30 15:37:25,795 - api.main - INFO - STDERR: import 'urllib3.util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80FC4940> +2024-11-30 15:37:25,797 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\proxy.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\proxy.py +2024-11-30 15:37:25,797 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\proxy.cpython-39.pyc' +2024-11-30 15:37:25,797 - api.main - INFO - STDERR: import 'urllib3.util.proxy' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80FC49A0> +2024-11-30 15:37:25,797 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssl_match_hostname.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssl_match_hostname.py +2024-11-30 15:37:25,797 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssl_match_hostname.cpython-39.pyc' +2024-11-30 15:37:25,798 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ipaddress.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ipaddress.py +2024-11-30 15:37:25,798 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ipaddress.cpython-39.pyc' +2024-11-30 15:37:25,798 - api.main - INFO - STDERR: import 'ipaddress' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A810008B0> +2024-11-30 15:37:25,798 - api.main - INFO - STDERR: import 'urllib3.util.ssl_match_hostname' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80FC46A0> +2024-11-30 15:37:25,800 - api.main - INFO - STDERR: import 'urllib3.connection' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80FB45B0> +2024-11-30 15:37:25,800 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\request.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\request.py +2024-11-30 15:37:25,800 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\request.cpython-39.pyc' +2024-11-30 15:37:25,800 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\filepost.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\filepost.py +2024-11-30 15:37:25,800 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\filepost.cpython-39.pyc' +2024-11-30 15:37:25,800 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\fields.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\fields.py +2024-11-30 15:37:25,800 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\fields.cpython-39.pyc' +2024-11-30 15:37:25,801 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\mimetypes.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\mimetypes.py +2024-11-30 15:37:25,801 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\mimetypes.cpython-39.pyc' +2024-11-30 15:37:25,801 - api.main - INFO - STDERR: import 'mimetypes' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8103A2E0> +2024-11-30 15:37:25,801 - api.main - INFO - STDERR: import 'urllib3.fields' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81036D00> +2024-11-30 15:37:25,801 - api.main - INFO - STDERR: import 'urllib3.filepost' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A810368E0> +2024-11-30 15:37:25,801 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.urllib' # +2024-11-30 15:37:25,801 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.urllib.parse' # +2024-11-30 15:37:25,801 - api.main - INFO - STDERR: import 'urllib3.request' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80FC4610> +2024-11-30 15:37:25,801 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\response.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\response.py +2024-11-30 15:37:25,802 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\response.cpython-39.pyc' +2024-11-30 15:37:25,803 - api.main - INFO - STDERR: import 'urllib3.response' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81010FA0> +2024-11-30 15:37:25,804 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\queue.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\queue.py +2024-11-30 15:37:25,804 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\queue.cpython-39.pyc' +2024-11-30 15:37:25,804 - api.main - INFO - STDERR: import 'urllib3.util.queue' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8103A730> +2024-11-30 15:37:25,804 - api.main - INFO - STDERR: import 'urllib3.connectionpool' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80F90A90> +2024-11-30 15:37:25,804 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\poolmanager.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\poolmanager.py +2024-11-30 15:37:25,804 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\poolmanager.cpython-39.pyc' +2024-11-30 15:37:25,804 - api.main - INFO - STDERR: import 'urllib3.poolmanager' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8104B2B0> +2024-11-30 15:37:25,806 - api.main - INFO - STDERR: import 'urllib3' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80F90220> +2024-11-30 15:37:25,806 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\exceptions.py +2024-11-30 15:37:25,806 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 15:37:25,807 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\compat.py +2024-11-30 15:37:25,807 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\compat.cpython-39.pyc' +2024-11-30 15:37:25,808 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__init__.py +2024-11-30 15:37:25,808 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,808 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\api.py +2024-11-30 15:37:25,808 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\api.cpython-39.pyc' +2024-11-30 15:37:25,809 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\cd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\cd.py +2024-11-30 15:37:25,809 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\cd.cpython-39.pyc' +2024-11-30 15:37:25,809 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\constant.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\constant.py +2024-11-30 15:37:25,809 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\constant.cpython-39.pyc' +2024-11-30 15:37:25,809 - api.main - INFO - STDERR: import 'charset_normalizer.constant' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81065790> +2024-11-30 15:37:25,812 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md__mypyc' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md__mypyc.cp39-win_amd64.pyd' +2024-11-30 15:37:25,812 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md__mypyc' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md__mypyc.cp39-win_amd64.pyd' +2024-11-30 15:37:25,812 - api.main - INFO - STDERR: import 'charset_normalizer.md__mypyc' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000021A81089E80> +2024-11-30 15:37:25,813 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\utils.py +2024-11-30 15:37:25,813 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 15:37:25,814 - api.main - INFO - STDERR: # extension module 'unicodedata' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\unicodedata.pyd' +2024-11-30 15:37:25,814 - api.main - INFO - STDERR: # extension module 'unicodedata' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\unicodedata.pyd' +2024-11-30 15:37:25,814 - api.main - INFO - STDERR: import 'unicodedata' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000021A8108E730> +2024-11-30 15:37:25,814 - api.main - INFO - STDERR: import '_multibytecodec' # +2024-11-30 15:37:25,814 - api.main - INFO - STDERR: import 'charset_normalizer.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81089BB0> +2024-11-30 15:37:25,814 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md.cp39-win_amd64.pyd' +2024-11-30 15:37:25,814 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md.cp39-win_amd64.pyd' +2024-11-30 15:37:25,815 - api.main - INFO - STDERR: import 'charset_normalizer.md' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000021A81089BE0> +2024-11-30 15:37:25,815 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\models.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\models.py +2024-11-30 15:37:25,815 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\models.cpython-39.pyc' +2024-11-30 15:37:25,815 - api.main - INFO - STDERR: import 'charset_normalizer.models' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8108EFA0> +2024-11-30 15:37:25,815 - api.main - INFO - STDERR: import 'charset_normalizer.cd' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81065100> +2024-11-30 15:37:25,815 - api.main - INFO - STDERR: import 'charset_normalizer.api' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8104BA90> +2024-11-30 15:37:25,816 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\legacy.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\legacy.py +2024-11-30 15:37:25,816 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\legacy.cpython-39.pyc' +2024-11-30 15:37:25,816 - api.main - INFO - STDERR: import 'charset_normalizer.legacy' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A810A2340> +2024-11-30 15:37:25,816 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\version.py +2024-11-30 15:37:25,816 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\version.cpython-39.pyc' +2024-11-30 15:37:25,816 - api.main - INFO - STDERR: import 'charset_normalizer.version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A810A23D0> +2024-11-30 15:37:25,816 - api.main - INFO - STDERR: import 'charset_normalizer' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8104BD30> +2024-11-30 15:37:25,817 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\cookiejar.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\cookiejar.py +2024-11-30 15:37:25,817 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\cookiejar.cpython-39.pyc' +2024-11-30 15:37:25,819 - api.main - INFO - STDERR: import 'http.cookiejar' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A810A2400> +2024-11-30 15:37:25,821 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\cookies.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\cookies.py +2024-11-30 15:37:25,821 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\cookies.cpython-39.pyc' +2024-11-30 15:37:25,823 - api.main - INFO - STDERR: import 'http.cookies' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A810F55B0> +2024-11-30 15:37:25,823 - api.main - INFO - STDERR: import 'requests.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8104BEE0> +2024-11-30 15:37:25,823 - api.main - INFO - STDERR: import 'requests.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A810563D0> +2024-11-30 15:37:25,824 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\packages.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\packages.py +2024-11-30 15:37:25,824 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\packages.cpython-39.pyc' +2024-11-30 15:37:25,826 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__init__.py +2024-11-30 15:37:25,826 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,826 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\core.py +2024-11-30 15:37:25,826 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\core.cpython-39.pyc' +2024-11-30 15:37:25,826 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\idnadata.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\idnadata.py +2024-11-30 15:37:25,826 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\idnadata.cpython-39.pyc' +2024-11-30 15:37:25,827 - api.main - INFO - STDERR: import 'idna.idnadata' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81111850> +2024-11-30 15:37:25,827 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\intranges.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\intranges.py +2024-11-30 15:37:25,827 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\intranges.cpython-39.pyc' +2024-11-30 15:37:25,827 - api.main - INFO - STDERR: import 'idna.intranges' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A811118E0> +2024-11-30 15:37:25,827 - api.main - INFO - STDERR: import 'idna.core' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81111100> +2024-11-30 15:37:25,828 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\package_data.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\package_data.py +2024-11-30 15:37:25,828 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\package_data.cpython-39.pyc' +2024-11-30 15:37:25,828 - api.main - INFO - STDERR: import 'idna.package_data' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81111580> +2024-11-30 15:37:25,828 - api.main - INFO - STDERR: import 'idna' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A810560A0> +2024-11-30 15:37:25,828 - api.main - INFO - STDERR: import 'requests.packages' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A810565B0> +2024-11-30 15:37:25,829 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\utils.py +2024-11-30 15:37:25,829 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 15:37:25,829 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\certs.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\certs.py +2024-11-30 15:37:25,829 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\certs.cpython-39.pyc' +2024-11-30 15:37:25,829 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__init__.py +2024-11-30 15:37:25,829 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\certifi\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,830 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\core.py +2024-11-30 15:37:25,830 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\certifi\\__pycache__\\core.cpython-39.pyc' +2024-11-30 15:37:25,830 - api.main - INFO - STDERR: import 'certifi.core' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A811497C0> +2024-11-30 15:37:25,830 - api.main - INFO - STDERR: import 'certifi' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81149550> +2024-11-30 15:37:25,830 - api.main - INFO - STDERR: import 'requests.certs' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81149340> +2024-11-30 15:37:25,830 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\__version__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__version__.py +2024-11-30 15:37:25,830 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\__version__.cpython-39.pyc' +2024-11-30 15:37:25,830 - api.main - INFO - STDERR: import 'requests.__version__' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A811494C0> +2024-11-30 15:37:25,830 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\_internal_utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\_internal_utils.py +2024-11-30 15:37:25,831 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\_internal_utils.cpython-39.pyc' +2024-11-30 15:37:25,831 - api.main - INFO - STDERR: import 'requests._internal_utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A811493D0> +2024-11-30 15:37:25,831 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\cookies.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\cookies.py +2024-11-30 15:37:25,831 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\cookies.cpython-39.pyc' +2024-11-30 15:37:25,831 - api.main - INFO - STDERR: import 'requests.cookies' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A811495E0> +2024-11-30 15:37:25,832 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\structures.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\structures.py +2024-11-30 15:37:25,832 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\structures.cpython-39.pyc' +2024-11-30 15:37:25,832 - api.main - INFO - STDERR: import 'requests.structures' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A811519D0> +2024-11-30 15:37:25,832 - api.main - INFO - STDERR: import 'requests.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A810567F0> +2024-11-30 15:37:25,832 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\api.py +2024-11-30 15:37:25,833 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\api.cpython-39.pyc' +2024-11-30 15:37:25,833 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\sessions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\sessions.py +2024-11-30 15:37:25,833 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\sessions.cpython-39.pyc' +2024-11-30 15:37:25,833 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\adapters.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\adapters.py +2024-11-30 15:37:25,833 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\adapters.cpython-39.pyc' +2024-11-30 15:37:25,833 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\auth.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\auth.py +2024-11-30 15:37:25,834 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\auth.cpython-39.pyc' +2024-11-30 15:37:25,834 - api.main - INFO - STDERR: import 'requests.auth' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A811697C0> +2024-11-30 15:37:25,834 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\models.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\models.py +2024-11-30 15:37:25,834 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\models.cpython-39.pyc' +2024-11-30 15:37:25,835 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\idna.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\idna.py +2024-11-30 15:37:25,835 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\idna.cpython-39.pyc' +2024-11-30 15:37:25,837 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\stringprep.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\stringprep.py +2024-11-30 15:37:25,837 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\stringprep.cpython-39.pyc' +2024-11-30 15:37:25,837 - api.main - INFO - STDERR: import 'stringprep' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A811851F0> +2024-11-30 15:37:25,837 - api.main - INFO - STDERR: import 'encodings.idna' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81179D60> +2024-11-30 15:37:25,837 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\hooks.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\hooks.py +2024-11-30 15:37:25,837 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\hooks.cpython-39.pyc' +2024-11-30 15:37:25,837 - api.main - INFO - STDERR: import 'requests.hooks' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81179F70> +2024-11-30 15:37:25,837 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\status_codes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\status_codes.py +2024-11-30 15:37:25,837 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\status_codes.cpython-39.pyc' +2024-11-30 15:37:25,838 - api.main - INFO - STDERR: import 'requests.status_codes' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81185820> +2024-11-30 15:37:25,838 - api.main - INFO - STDERR: import 'requests.models' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81169E80> +2024-11-30 15:37:25,838 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\socks.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\socks.py +2024-11-30 15:37:25,838 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\socks.cpython-39.pyc' +2024-11-30 15:37:25,839 - api.main - INFO - STDERR: # destroy urllib3.contrib.socks +2024-11-30 15:37:25,839 - api.main - INFO - STDERR: import 'requests.adapters' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8115DEB0> +2024-11-30 15:37:25,839 - api.main - INFO - STDERR: import 'requests.sessions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8115D460> +2024-11-30 15:37:25,839 - api.main - INFO - STDERR: import 'requests.api' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8115D100> +2024-11-30 15:37:25,839 - api.main - INFO - STDERR: import 'requests' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80F7FEE0> +2024-11-30 15:37:25,840 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__init__.py +2024-11-30 15:37:25,840 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,840 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_version.py +2024-11-30 15:37:25,841 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 15:37:25,841 - api.main - INFO - STDERR: import 'PIL._version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A811695E0> +2024-11-30 15:37:25,841 - api.main - INFO - STDERR: import 'PIL' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8115D280> +2024-11-30 15:37:25,841 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\Image.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\Image.py +2024-11-30 15:37:25,841 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\Image.cpython-39.pyc' +2024-11-30 15:37:25,843 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\ExifTags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\ExifTags.py +2024-11-30 15:37:25,843 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\ExifTags.cpython-39.pyc' +2024-11-30 15:37:25,849 - api.main - INFO - STDERR: import 'PIL.ExifTags' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A811C9910> +2024-11-30 15:37:25,850 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\ImageMode.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\ImageMode.py +2024-11-30 15:37:25,850 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\ImageMode.cpython-39.pyc' +2024-11-30 15:37:25,850 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_deprecate.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_deprecate.py +2024-11-30 15:37:25,850 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_deprecate.cpython-39.pyc' +2024-11-30 15:37:25,850 - api.main - INFO - STDERR: import 'PIL._deprecate' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A811E5E80> +2024-11-30 15:37:25,850 - api.main - INFO - STDERR: import 'PIL.ImageMode' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A811C9940> +2024-11-30 15:37:25,850 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\TiffTags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\TiffTags.py +2024-11-30 15:37:25,852 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\TiffTags.cpython-39.pyc' +2024-11-30 15:37:25,853 - api.main - INFO - STDERR: import 'PIL.TiffTags' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A811ECA30> +2024-11-30 15:37:25,853 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_binary.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_binary.py +2024-11-30 15:37:25,853 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_binary.cpython-39.pyc' +2024-11-30 15:37:25,853 - api.main - INFO - STDERR: import 'PIL._binary' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A811ECDC0> +2024-11-30 15:37:25,854 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_util.py +2024-11-30 15:37:25,854 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_util.cpython-39.pyc' +2024-11-30 15:37:25,854 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_typing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_typing.py +2024-11-30 15:37:25,854 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_typing.cpython-39.pyc' +2024-11-30 15:37:25,854 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\typing_extensions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\typing_extensions.py +2024-11-30 15:37:25,856 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\typing_extensions.cpython-39.pyc' +2024-11-30 15:37:25,858 - api.main - INFO - STDERR: import 'typing_extensions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A811FFCA0> +2024-11-30 15:37:25,858 - api.main - INFO - STDERR: import 'PIL._typing' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A811FF820> +2024-11-30 15:37:25,858 - api.main - INFO - STDERR: import 'PIL._util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A811FF3D0> +2024-11-30 15:37:25,859 - api.main - INFO - STDERR: # extension module 'PIL._imaging' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\_imaging.cp39-win_amd64.pyd' +2024-11-30 15:37:25,859 - api.main - INFO - STDERR: # extension module 'PIL._imaging' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\_imaging.cp39-win_amd64.pyd' +2024-11-30 15:37:25,860 - api.main - INFO - STDERR: import 'PIL._imaging' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000021A811FFEB0> +2024-11-30 15:37:25,861 - api.main - INFO - STDERR: import 'PIL.Image' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8115DC70> +2024-11-30 15:37:25,861 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__init__.py +2024-11-30 15:37:25,861 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,862 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py +2024-11-30 15:37:25,862 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\api.cpython-39.pyc' +2024-11-30 15:37:25,862 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\compat.py +2024-11-30 15:37:25,862 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\compat.cpython-39.pyc' +2024-11-30 15:37:25,863 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\decorator.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\decorator.py +2024-11-30 15:37:25,864 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\decorator.cpython-39.pyc' +2024-11-30 15:37:25,864 - api.main - INFO - STDERR: import 'decorator' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8121DA60> +2024-11-30 15:37:25,864 - api.main - INFO - STDERR: import 'retry.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8121D1C0> +2024-11-30 15:37:25,864 - api.main - INFO - STDERR: import 'retry.api' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A812135B0> +2024-11-30 15:37:25,864 - api.main - INFO - STDERR: import 'retry' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8115D1F0> +2024-11-30 15:37:25,865 - api.main - INFO - STDERR: import 'adbutils._device' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80F691C0> +2024-11-30 15:37:25,865 - api.main - INFO - STDERR: import 'adbutils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A80398D00> +2024-11-30 15:37:25,866 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__init__.py +2024-11-30 15:37:25,866 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,866 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_api.py +2024-11-30 15:37:25,866 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_api.cpython-39.pyc' +2024-11-30 15:37:25,866 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_error.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_error.py +2024-11-30 15:37:25,866 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_error.cpython-39.pyc' +2024-11-30 15:37:25,866 - api.main - INFO - STDERR: import 'filelock._error' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A813D3220> +2024-11-30 15:37:25,867 - api.main - INFO - STDERR: import 'filelock._api' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A813BA820> +2024-11-30 15:37:25,868 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_soft.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_soft.py +2024-11-30 15:37:25,868 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_soft.cpython-39.pyc' +2024-11-30 15:37:25,868 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_util.py +2024-11-30 15:37:25,868 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_util.cpython-39.pyc' +2024-11-30 15:37:25,868 - api.main - INFO - STDERR: import 'filelock._util' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A813D3FD0> +2024-11-30 15:37:25,868 - api.main - INFO - STDERR: import 'filelock._soft' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A813D35E0> +2024-11-30 15:37:25,868 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_unix.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_unix.py +2024-11-30 15:37:25,869 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_unix.cpython-39.pyc' +2024-11-30 15:37:25,869 - api.main - INFO - STDERR: import 'filelock._unix' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A813D3F10> +2024-11-30 15:37:25,869 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_windows.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_windows.py +2024-11-30 15:37:25,869 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_windows.cpython-39.pyc' +2024-11-30 15:37:25,869 - api.main - INFO - STDERR: import 'filelock._windows' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A813D39A0> +2024-11-30 15:37:25,869 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\asyncio.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\asyncio.py +2024-11-30 15:37:25,869 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\asyncio.cpython-39.pyc' +2024-11-30 15:37:25,871 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__init__.py +2024-11-30 15:37:25,871 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,871 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_events.py +2024-11-30 15:37:25,872 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_events.cpython-39.pyc' +2024-11-30 15:37:25,873 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\__init__.py +2024-11-30 15:37:25,873 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,873 - api.main - INFO - STDERR: import 'concurrent' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A813FC7F0> +2024-11-30 15:37:25,873 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__init__.py +2024-11-30 15:37:25,873 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\futures\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,874 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__pycache__\_base.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\_base.py +2024-11-30 15:37:25,874 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\futures\\__pycache__\\_base.cpython-39.pyc' +2024-11-30 15:37:25,875 - api.main - INFO - STDERR: import 'concurrent.futures._base' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A813FCAF0> +2024-11-30 15:37:25,875 - api.main - INFO - STDERR: import 'concurrent.futures' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A813FC820> +2024-11-30 15:37:25,875 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\constants.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\constants.py +2024-11-30 15:37:25,875 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\constants.cpython-39.pyc' +2024-11-30 15:37:25,875 - api.main - INFO - STDERR: import 'asyncio.constants' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A813FC8E0> +2024-11-30 15:37:25,876 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\coroutines.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\coroutines.py +2024-11-30 15:37:25,876 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\coroutines.cpython-39.pyc' +2024-11-30 15:37:25,877 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_futures.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_futures.py +2024-11-30 15:37:25,877 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_futures.cpython-39.pyc' +2024-11-30 15:37:25,878 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\format_helpers.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\format_helpers.py +2024-11-30 15:37:25,878 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\format_helpers.cpython-39.pyc' +2024-11-30 15:37:25,878 - api.main - INFO - STDERR: import 'asyncio.format_helpers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81416D90> +2024-11-30 15:37:25,878 - api.main - INFO - STDERR: import 'asyncio.base_futures' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81416A30> +2024-11-30 15:37:25,878 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\log.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\log.py +2024-11-30 15:37:25,878 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\log.cpython-39.pyc' +2024-11-30 15:37:25,878 - api.main - INFO - STDERR: import 'asyncio.log' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81416DC0> +2024-11-30 15:37:25,879 - api.main - INFO - STDERR: import 'asyncio.coroutines' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A813FC670> +2024-11-30 15:37:25,879 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\events.py +2024-11-30 15:37:25,879 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\events.cpython-39.pyc' +2024-11-30 15:37:25,880 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\contextvars.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\contextvars.py +2024-11-30 15:37:25,880 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\contextvars.cpython-39.pyc' +2024-11-30 15:37:25,880 - api.main - INFO - STDERR: import '_contextvars' # +2024-11-30 15:37:25,880 - api.main - INFO - STDERR: import 'contextvars' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8142E1F0> +2024-11-30 15:37:25,881 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\exceptions.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\exceptions.py +2024-11-30 15:37:25,881 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 15:37:25,881 - api.main - INFO - STDERR: import 'asyncio.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8142E7C0> +2024-11-30 15:37:25,881 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_tasks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_tasks.py +2024-11-30 15:37:25,881 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_tasks.cpython-39.pyc' +2024-11-30 15:37:25,882 - api.main - INFO - STDERR: import 'asyncio.base_tasks' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8142EC10> +2024-11-30 15:37:25,882 - api.main - INFO - STDERR: # extension module '_asyncio' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_asyncio.pyd' +2024-11-30 15:37:25,882 - api.main - INFO - STDERR: # extension module '_asyncio' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_asyncio.pyd' +2024-11-30 15:37:25,882 - api.main - INFO - STDERR: import '_asyncio' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000021A8142E580> +2024-11-30 15:37:25,882 - api.main - INFO - STDERR: import 'asyncio.events' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81416820> +2024-11-30 15:37:25,882 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\futures.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\futures.py +2024-11-30 15:37:25,882 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\futures.cpython-39.pyc' +2024-11-30 15:37:25,882 - api.main - INFO - STDERR: import 'asyncio.futures' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8142E3A0> +2024-11-30 15:37:25,883 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\protocols.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\protocols.py +2024-11-30 15:37:25,883 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\protocols.cpython-39.pyc' +2024-11-30 15:37:25,883 - api.main - INFO - STDERR: import 'asyncio.protocols' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8143F310> +2024-11-30 15:37:25,883 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\sslproto.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\sslproto.py +2024-11-30 15:37:25,884 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\sslproto.cpython-39.pyc' +2024-11-30 15:37:25,885 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\transports.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\transports.py +2024-11-30 15:37:25,885 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\transports.cpython-39.pyc' +2024-11-30 15:37:25,885 - api.main - INFO - STDERR: import 'asyncio.transports' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A814499D0> +2024-11-30 15:37:25,885 - api.main - INFO - STDERR: import 'asyncio.sslproto' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8143F9A0> +2024-11-30 15:37:25,886 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\staggered.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\staggered.py +2024-11-30 15:37:25,886 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\staggered.cpython-39.pyc' +2024-11-30 15:37:25,887 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\locks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\locks.py +2024-11-30 15:37:25,887 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\locks.cpython-39.pyc' +2024-11-30 15:37:25,888 - api.main - INFO - STDERR: import 'asyncio.locks' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A814659D0> +2024-11-30 15:37:25,888 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\tasks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\tasks.py +2024-11-30 15:37:25,888 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\tasks.cpython-39.pyc' +2024-11-30 15:37:25,888 - api.main - INFO - STDERR: import 'asyncio.tasks' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81472550> +2024-11-30 15:37:25,889 - api.main - INFO - STDERR: import 'asyncio.staggered' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81449790> +2024-11-30 15:37:25,889 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\trsock.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\trsock.py +2024-11-30 15:37:25,889 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\trsock.cpython-39.pyc' +2024-11-30 15:37:25,889 - api.main - INFO - STDERR: import 'asyncio.trsock' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8147B820> +2024-11-30 15:37:25,889 - api.main - INFO - STDERR: import 'asyncio.base_events' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A813D7F70> +2024-11-30 15:37:25,890 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\runners.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\runners.py +2024-11-30 15:37:25,890 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\runners.cpython-39.pyc' +2024-11-30 15:37:25,890 - api.main - INFO - STDERR: import 'asyncio.runners' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A813FC580> +2024-11-30 15:37:25,890 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\queues.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\queues.py +2024-11-30 15:37:25,890 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\queues.cpython-39.pyc' +2024-11-30 15:37:25,891 - api.main - INFO - STDERR: import 'asyncio.queues' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A813FC430> +2024-11-30 15:37:25,891 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\streams.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\streams.py +2024-11-30 15:37:25,891 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\streams.cpython-39.pyc' +2024-11-30 15:37:25,891 - api.main - INFO - STDERR: import 'asyncio.streams' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A814848E0> +2024-11-30 15:37:25,891 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\subprocess.py +2024-11-30 15:37:25,893 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\subprocess.cpython-39.pyc' +2024-11-30 15:37:25,893 - api.main - INFO - STDERR: import 'asyncio.subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8149B700> +2024-11-30 15:37:25,893 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\threads.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\threads.py +2024-11-30 15:37:25,893 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\threads.cpython-39.pyc' +2024-11-30 15:37:25,893 - api.main - INFO - STDERR: import 'asyncio.threads' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8149BCA0> +2024-11-30 15:37:25,894 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\windows_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\windows_events.py +2024-11-30 15:37:25,894 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\windows_events.cpython-39.pyc' +2024-11-30 15:37:25,895 - api.main - INFO - STDERR: # extension module '_overlapped' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_overlapped.pyd' +2024-11-30 15:37:25,895 - api.main - INFO - STDERR: # extension module '_overlapped' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_overlapped.pyd' +2024-11-30 15:37:25,895 - api.main - INFO - STDERR: import '_overlapped' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000021A814B7250> +2024-11-30 15:37:25,895 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_subprocess.py +2024-11-30 15:37:25,895 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_subprocess.cpython-39.pyc' +2024-11-30 15:37:25,895 - api.main - INFO - STDERR: import 'asyncio.base_subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A814B73A0> +2024-11-30 15:37:25,897 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\proactor_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\proactor_events.py +2024-11-30 15:37:25,897 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\proactor_events.cpython-39.pyc' +2024-11-30 15:37:25,897 - api.main - INFO - STDERR: import 'asyncio.proactor_events' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A814B7E20> +2024-11-30 15:37:25,897 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\selector_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\selector_events.py +2024-11-30 15:37:25,898 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\selector_events.cpython-39.pyc' +2024-11-30 15:37:25,898 - api.main - INFO - STDERR: import 'asyncio.selector_events' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A814D2520> +2024-11-30 15:37:25,898 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\windows_utils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\windows_utils.py +2024-11-30 15:37:25,898 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\windows_utils.cpython-39.pyc' +2024-11-30 15:37:25,899 - api.main - INFO - STDERR: import 'asyncio.windows_utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A814F1610> +2024-11-30 15:37:25,900 - api.main - INFO - STDERR: import 'asyncio.windows_events' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8149BD60> +2024-11-30 15:37:25,900 - api.main - INFO - STDERR: import 'asyncio' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A813D7370> +2024-11-30 15:37:25,900 - api.main - INFO - STDERR: import 'filelock.asyncio' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A813D3B50> +2024-11-30 15:37:25,900 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\version.py +2024-11-30 15:37:25,900 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\version.cpython-39.pyc' +2024-11-30 15:37:25,900 - api.main - INFO - STDERR: import 'filelock.version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81500B80> +2024-11-30 15:37:25,901 - api.main - INFO - STDERR: import 'filelock' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A813BA640> +2024-11-30 15:37:25,901 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__init__.py +2024-11-30 15:37:25,901 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,902 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\colors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\colors.py +2024-11-30 15:37:25,902 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\colors.cpython-39.pyc' +2024-11-30 15:37:25,902 - api.main - INFO - STDERR: import 'logzero.colors' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A815009D0> +2024-11-30 15:37:25,902 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\jsonlogger.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\jsonlogger.py +2024-11-30 15:37:25,902 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\jsonlogger.cpython-39.pyc' +2024-11-30 15:37:25,902 - api.main - INFO - STDERR: import 'logzero.jsonlogger' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81500280> +2024-11-30 15:37:25,903 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__pycache__\handlers.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\handlers.py +2024-11-30 15:37:25,903 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\logging\\__pycache__\\handlers.cpython-39.pyc' +2024-11-30 15:37:25,906 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pickle.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pickle.py +2024-11-30 15:37:25,906 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pickle.cpython-39.pyc' +2024-11-30 15:37:25,907 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_compat_pickle.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_compat_pickle.py +2024-11-30 15:37:25,907 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_compat_pickle.cpython-39.pyc' +2024-11-30 15:37:25,907 - api.main - INFO - STDERR: import '_compat_pickle' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81539760> +2024-11-30 15:37:25,907 - api.main - INFO - STDERR: import '_pickle' # +2024-11-30 15:37:25,908 - api.main - INFO - STDERR: import 'pickle' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81519C70> +2024-11-30 15:37:25,908 - api.main - INFO - STDERR: import 'logging.handlers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A814F1D60> +2024-11-30 15:37:25,909 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\curses\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\curses\__init__.py +2024-11-30 15:37:25,909 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\curses\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,909 - api.main - INFO - STDERR: # destroy curses +2024-11-30 15:37:25,909 - api.main - INFO - STDERR: import 'logzero' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A813D3B20> +2024-11-30 15:37:25,910 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\six.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\six.py +2024-11-30 15:37:25,910 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\six.cpython-39.pyc' +2024-11-30 15:37:25,911 - api.main - INFO - STDERR: import 'six' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81519DC0> +2024-11-30 15:37:25,911 - api.main - INFO - STDERR: import 'six.moves' # +2024-11-30 15:37:25,911 - api.main - INFO - STDERR: import 'six.moves.urllib' # +2024-11-30 15:37:25,911 - api.main - INFO - STDERR: import 'six.moves.urllib.parse' # +2024-11-30 15:37:25,912 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\cached_property.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cached_property.py +2024-11-30 15:37:25,912 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\cached_property.cpython-39.pyc' +2024-11-30 15:37:25,912 - api.main - INFO - STDERR: import 'cached_property' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81539FA0> +2024-11-30 15:37:25,912 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__init__.py +2024-11-30 15:37:25,912 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\deprecated\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,913 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__pycache__\classic.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\classic.py +2024-11-30 15:37:25,913 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\deprecated\\__pycache__\\classic.cpython-39.pyc' +2024-11-30 15:37:25,914 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__init__.py +2024-11-30 15:37:25,914 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,914 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\__wrapt__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__wrapt__.py +2024-11-30 15:37:25,914 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\__wrapt__.cpython-39.pyc' +2024-11-30 15:37:25,914 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\wrappers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\wrappers.py +2024-11-30 15:37:25,914 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\wrappers.cpython-39.pyc' +2024-11-30 15:37:25,914 - api.main - INFO - STDERR: import 'wrapt.wrappers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81572100> +2024-11-30 15:37:25,916 - api.main - INFO - STDERR: # extension module 'wrapt._wrappers' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\_wrappers.cp39-win_amd64.pyd' +2024-11-30 15:37:25,916 - api.main - INFO - STDERR: # extension module 'wrapt._wrappers' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\_wrappers.cp39-win_amd64.pyd' +2024-11-30 15:37:25,916 - api.main - INFO - STDERR: import 'wrapt._wrappers' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000021A8157BA90> +2024-11-30 15:37:25,916 - api.main - INFO - STDERR: import 'wrapt.__wrapt__' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81566B20> +2024-11-30 15:37:25,916 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\patches.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\patches.py +2024-11-30 15:37:25,916 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\patches.cpython-39.pyc' +2024-11-30 15:37:25,916 - api.main - INFO - STDERR: import 'wrapt.patches' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81566C10> +2024-11-30 15:37:25,917 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\weakrefs.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\weakrefs.py +2024-11-30 15:37:25,917 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\weakrefs.cpython-39.pyc' +2024-11-30 15:37:25,917 - api.main - INFO - STDERR: import 'wrapt.weakrefs' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8157BFD0> +2024-11-30 15:37:25,917 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\decorators.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\decorators.py +2024-11-30 15:37:25,917 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\decorators.cpython-39.pyc' +2024-11-30 15:37:25,918 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\arguments.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\arguments.py +2024-11-30 15:37:25,918 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\arguments.cpython-39.pyc' +2024-11-30 15:37:25,918 - api.main - INFO - STDERR: import 'wrapt.arguments' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81595130> +2024-11-30 15:37:25,918 - api.main - INFO - STDERR: import 'wrapt.decorators' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A815902E0> +2024-11-30 15:37:25,918 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\importer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\importer.py +2024-11-30 15:37:25,919 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\importer.cpython-39.pyc' +2024-11-30 15:37:25,919 - api.main - INFO - STDERR: import 'wrapt.importer' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81595310> +2024-11-30 15:37:25,919 - api.main - INFO - STDERR: import 'wrapt' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81566FA0> +2024-11-30 15:37:25,919 - api.main - INFO - STDERR: import 'deprecated.classic' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81556C70> +2024-11-30 15:37:25,919 - api.main - INFO - STDERR: import 'deprecated' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81556790> +2024-11-30 15:37:25,919 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\xpath.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\xpath.py +2024-11-30 15:37:25,919 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\xpath.cpython-39.pyc' +2024-11-30 15:37:25,921 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\_proto.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_proto.py +2024-11-30 15:37:25,921 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\_proto.cpython-39.pyc' +2024-11-30 15:37:25,921 - api.main - INFO - STDERR: import 'uiautomator2._proto' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A815AD9A0> +2024-11-30 15:37:25,921 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\abcd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\abcd.py +2024-11-30 15:37:25,921 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\abcd.cpython-39.pyc' +2024-11-30 15:37:25,921 - api.main - INFO - STDERR: import 'uiautomator2.abcd' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A815ADAF0> +2024-11-30 15:37:25,921 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\exceptions.py +2024-11-30 15:37:25,921 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 15:37:25,921 - api.main - INFO - STDERR: import 'uiautomator2.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A815ADE20> +2024-11-30 15:37:25,922 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\utils.py +2024-11-30 15:37:25,922 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 15:37:25,922 - api.main - INFO - STDERR: import 'uiautomator2.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A815ADF70> +2024-11-30 15:37:25,923 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\lxml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\lxml\__init__.py +2024-11-30 15:37:25,923 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,923 - api.main - INFO - STDERR: import 'lxml' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A815C6EE0> +2024-11-30 15:37:25,924 - api.main - INFO - STDERR: # extension module 'lxml.etree' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\etree.cp39-win_amd64.pyd' +2024-11-30 15:37:25,925 - api.main - INFO - STDERR: import 'gc' # +2024-11-30 15:37:25,928 - api.main - INFO - STDERR: # extension module 'lxml._elementpath' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\_elementpath.cp39-win_amd64.pyd' +2024-11-30 15:37:25,929 - api.main - INFO - STDERR: # extension module 'lxml._elementpath' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\_elementpath.cp39-win_amd64.pyd' +2024-11-30 15:37:25,929 - api.main - INFO - STDERR: import 'lxml._elementpath' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000021A81626DC0> +2024-11-30 15:37:25,932 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\gzip.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\gzip.py +2024-11-30 15:37:25,932 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\gzip.cpython-39.pyc' +2024-11-30 15:37:25,932 - api.main - INFO - STDERR: import 'gzip' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A81647940> +2024-11-30 15:37:25,933 - api.main - INFO - STDERR: # extension module 'lxml.etree' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\etree.cp39-win_amd64.pyd' +2024-11-30 15:37:25,933 - api.main - INFO - STDERR: import 'lxml.etree' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000021A815C6EB0> +2024-11-30 15:37:25,934 - api.main - INFO - STDERR: import 'uiautomator2.xpath' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A815567F0> +2024-11-30 15:37:25,934 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\_selector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_selector.py +2024-11-30 15:37:25,934 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\_selector.cpython-39.pyc' +2024-11-30 15:37:25,935 - api.main - INFO - STDERR: import 'uiautomator2._selector' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A815959A0> +2024-11-30 15:37:25,935 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\init.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\init.py +2024-11-30 15:37:25,935 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\init.cpython-39.pyc' +2024-11-30 15:37:25,936 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tarfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tarfile.py +2024-11-30 15:37:25,937 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tarfile.cpython-39.pyc' +2024-11-30 15:37:25,938 - api.main - INFO - STDERR: import 'tarfile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8168EB80> +2024-11-30 15:37:25,939 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__init__.py +2024-11-30 15:37:25,939 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,939 - api.main - INFO - STDERR: import 'progress' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8169BAC0> +2024-11-30 15:37:25,940 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\bar.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\bar.py +2024-11-30 15:37:25,940 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\bar.cpython-39.pyc' +2024-11-30 15:37:25,940 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\colors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\colors.py +2024-11-30 15:37:25,940 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\colors.cpython-39.pyc' +2024-11-30 15:37:25,940 - api.main - INFO - STDERR: import 'progress.colors' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A816C6310> +2024-11-30 15:37:25,940 - api.main - INFO - STDERR: import 'progress.bar' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8168EF70> +2024-11-30 15:37:25,940 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\version.py +2024-11-30 15:37:25,941 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\version.cpython-39.pyc' +2024-11-30 15:37:25,942 - api.main - INFO - STDERR: import 'uiautomator2.version' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A816C6130> +2024-11-30 15:37:25,942 - api.main - INFO - STDERR: import 'uiautomator2.init' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8168E550> +2024-11-30 15:37:25,942 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\settings.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\settings.py +2024-11-30 15:37:25,942 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\settings.cpython-39.pyc' +2024-11-30 15:37:25,942 - api.main - INFO - STDERR: import 'uiautomator2.settings' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A816C6AC0> +2024-11-30 15:37:25,942 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\swipe.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\swipe.py +2024-11-30 15:37:25,942 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\swipe.cpython-39.pyc' +2024-11-30 15:37:25,942 - api.main - INFO - STDERR: import 'uiautomator2.swipe' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A816C6D60> +2024-11-30 15:37:25,943 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\watcher.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\watcher.py +2024-11-30 15:37:25,943 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\watcher.cpython-39.pyc' +2024-11-30 15:37:25,943 - api.main - INFO - STDERR: import 'uiautomator2.watcher' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A816C6F10> +2024-11-30 15:37:25,944 - api.main - INFO - STDERR: import 'uiautomator2' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A802A9E80> +2024-11-30 15:37:25,944 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\utils.py +2024-11-30 15:37:25,945 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 15:37:25,946 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__init__.py +2024-11-30 15:37:25,946 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,947 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\core.py +2024-11-30 15:37:25,947 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\__pycache__\\core.cpython-39.pyc' +2024-11-30 15:37:25,947 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__init__.py +2024-11-30 15:37:25,948 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\unicode_codes\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,948 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__pycache__\data_dict.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\data_dict.py +2024-11-30 15:37:25,951 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\unicode_codes\\__pycache__\\data_dict.cpython-39.pyc' +2024-11-30 15:37:25,954 - api.main - INFO - STDERR: import 'emoji.unicode_codes.data_dict' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A816FF970> +2024-11-30 15:37:25,966 - api.main - INFO - STDERR: import 'emoji.unicode_codes' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A816FF640> +2024-11-30 15:37:25,966 - api.main - INFO - STDERR: import 'emoji.core' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A816EEF70> +2024-11-30 15:37:25,967 - api.main - INFO - STDERR: import 'emoji' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A816EED00> +2024-11-30 15:37:25,967 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\log.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\log.py +2024-11-30 15:37:25,967 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\log.cpython-39.pyc' +2024-11-30 15:37:25,969 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\uuid.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\uuid.py +2024-11-30 15:37:25,969 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\uuid.cpython-39.pyc' +2024-11-30 15:37:25,970 - api.main - INFO - STDERR: # extension module '_uuid' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_uuid.pyd' +2024-11-30 15:37:25,970 - api.main - INFO - STDERR: # extension module '_uuid' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_uuid.pyd' +2024-11-30 15:37:25,970 - api.main - INFO - STDERR: import '_uuid' # <_frozen_importlib_external.ExtensionFileLoader object at 0x0000021A822E81F0> +2024-11-30 15:37:25,970 - api.main - INFO - STDERR: import 'uuid' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A816FFA90> +2024-11-30 15:37:25,970 - api.main - INFO - STDERR: import 'GramAddict.core.log' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A816EED30> +2024-11-30 15:37:25,971 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\report.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\report.py +2024-11-30 15:37:25,971 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\report.cpython-39.pyc' +2024-11-30 15:37:25,971 - api.main - INFO - STDERR: import 'GramAddict.core.report' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A816FF760> +2024-11-30 15:37:25,971 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\resources.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\resources.py +2024-11-30 15:37:25,971 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\resources.cpython-39.pyc' +2024-11-30 15:37:25,972 - api.main - INFO - STDERR: import 'GramAddict.core.resources' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A822E8160> +2024-11-30 15:37:25,973 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\storage.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\storage.py +2024-11-30 15:37:25,973 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\storage.cpython-39.pyc' +2024-11-30 15:37:25,973 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\atomicwrites\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\atomicwrites\__init__.py +2024-11-30 15:37:25,974 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\atomicwrites\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,974 - api.main - INFO - STDERR: import 'atomicwrites' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A822E8880> +2024-11-30 15:37:25,974 - api.main - INFO - STDERR: import 'GramAddict.core.storage' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A822E8310> +2024-11-30 15:37:25,975 - api.main - INFO - STDERR: import 'GramAddict.core.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A802E66D0> +2024-11-30 15:37:25,975 - api.main - INFO - STDERR: import 'GramAddict.core.device_facade' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFFFD92B0> +2024-11-30 15:37:25,976 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\filter.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\filter.py +2024-11-30 15:37:25,976 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\filter.cpython-39.pyc' +2024-11-30 15:37:25,976 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__init__.py +2024-11-30 15:37:25,976 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,977 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\detector_factory.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\detector_factory.py +2024-11-30 15:37:25,977 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\detector_factory.cpython-39.pyc' +2024-11-30 15:37:25,978 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\detector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\detector.py +2024-11-30 15:37:25,978 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\detector.cpython-39.pyc' +2024-11-30 15:37:25,979 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\lang_detect_exception.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\lang_detect_exception.py +2024-11-30 15:37:25,979 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\lang_detect_exception.cpython-39.pyc' +2024-11-30 15:37:25,979 - api.main - INFO - STDERR: import 'langdetect.lang_detect_exception' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A82312D60> +2024-11-30 15:37:25,979 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\language.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\language.py +2024-11-30 15:37:25,979 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\language.cpython-39.pyc' +2024-11-30 15:37:25,979 - api.main - INFO - STDERR: import 'langdetect.language' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A82312FD0> +2024-11-30 15:37:25,980 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__init__.py +2024-11-30 15:37:25,980 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,980 - api.main - INFO - STDERR: import 'langdetect.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8231A3A0> +2024-11-30 15:37:25,980 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\ngram.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\ngram.py +2024-11-30 15:37:25,980 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\ngram.cpython-39.pyc' +2024-11-30 15:37:25,980 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\messages.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\messages.py +2024-11-30 15:37:25,981 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\messages.cpython-39.pyc' +2024-11-30 15:37:25,981 - api.main - INFO - STDERR: import 'langdetect.utils.messages' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8231A6D0> +2024-11-30 15:37:25,981 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\unicode_block.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\unicode_block.py +2024-11-30 15:37:25,981 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\unicode_block.cpython-39.pyc' +2024-11-30 15:37:25,981 - api.main - INFO - STDERR: import 'langdetect.utils.unicode_block' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8231A880> +2024-11-30 15:37:25,982 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\unicode_escape.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\unicode_escape.py +2024-11-30 15:37:25,982 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\unicode_escape.cpython-39.pyc' +2024-11-30 15:37:25,982 - api.main - INFO - STDERR: import 'encodings.unicode_escape' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8231AA30> +2024-11-30 15:37:25,984 - api.main - INFO - STDERR: import 'langdetect.utils.ngram' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8231A3D0> +2024-11-30 15:37:25,984 - api.main - INFO - STDERR: import 'langdetect.detector' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A823127C0> +2024-11-30 15:37:25,985 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\lang_profile.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\lang_profile.py +2024-11-30 15:37:25,985 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\lang_profile.cpython-39.pyc' +2024-11-30 15:37:25,985 - api.main - INFO - STDERR: import 'langdetect.utils.lang_profile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A82312B80> +2024-11-30 15:37:25,985 - api.main - INFO - STDERR: import 'langdetect.detector_factory' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A823122B0> +2024-11-30 15:37:25,985 - api.main - INFO - STDERR: import 'langdetect' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A822FFFD0> +2024-11-30 15:37:25,987 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\views.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py +2024-11-30 15:37:25,987 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\views.cpython-39.pyc' +2024-11-30 15:37:25,988 - api.main - INFO - STDERR: import 'GramAddict.core.views' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A82312550> +2024-11-30 15:37:25,988 - api.main - INFO - STDERR: import 'GramAddict.core.filter' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A802A94F0> +2024-11-30 15:37:25,989 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\interaction.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\interaction.py +2024-11-30 15:37:25,989 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\interaction.cpython-39.pyc' +2024-11-30 15:37:25,990 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__init__.py +2024-11-30 15:37:25,990 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\spintax\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:25,990 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__pycache__\spintax.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\spintax.py +2024-11-30 15:37:25,990 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\spintax\\__pycache__\\spintax.cpython-39.pyc' +2024-11-30 15:37:25,991 - api.main - INFO - STDERR: import 'spintax.spintax' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A82407820> +2024-11-30 15:37:25,991 - api.main - INFO - STDERR: import 'spintax' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A824075E0> +2024-11-30 15:37:25,991 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\session_state.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\session_state.py +2024-11-30 15:37:25,991 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\session_state.cpython-39.pyc' +2024-11-30 15:37:25,991 - api.main - INFO - STDERR: import 'GramAddict.core.session_state' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A824078E0> +2024-11-30 15:37:25,991 - api.main - INFO - STDERR: import 'GramAddict.core.interaction' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A82407100> +2024-11-30 15:37:25,991 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\navigation.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\navigation.py +2024-11-30 15:37:25,991 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\navigation.cpython-39.pyc' +2024-11-30 15:37:25,993 - api.main - INFO - STDERR: import 'GramAddict.core.navigation' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A82407FD0> +2024-11-30 15:37:25,993 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\persistent_list.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\persistent_list.py +2024-11-30 15:37:25,993 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\persistent_list.cpython-39.pyc' +2024-11-30 15:37:25,993 - api.main - INFO - STDOUT: Python path: ['e:\\PROJECTS\\instagram automation\\virtualinfluencer', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\python39.zip', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer'] +2024-11-30 15:37:25,993 - api.main - INFO - STDERR: import 'GramAddict.core.persistent_list' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A824160D0> +2024-11-30 15:37:25,993 - api.main - INFO - STDOUT: Current directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 15:37:25,993 - api.main - INFO - STDERR: import 'GramAddict.core.bot_flow' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE374670> +2024-11-30 15:37:25,994 - api.main - INFO - STDOUT: Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 15:37:25,994 - api.main - INFO - STDERR: import 'GramAddict' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE374D00> +2024-11-30 15:37:25,994 - api.main - INFO - STDOUT: Successfully imported GramAddict +2024-11-30 15:37:25,994 - api.main - INFO - STDERR: e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml has been saved last time at 2024-11-29 01:33:21 +2024-11-30 15:37:26,003 - api.main - INFO - STDERR: [11/30 15:37:26] DEBUG | Initial log file: logs/quecreate.log +2024-11-30 15:37:26,004 - api.main - INFO - STDERR: [11/30 15:37:26] DEBUG | Installed via git, config-examples is in the local folder. +2024-11-30 15:37:26,004 - api.main - INFO - STDERR: [11/30 15:37:26] INFO | Checking for updates... +2024-11-30 15:37:26,006 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\netrc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\netrc.py +2024-11-30 15:37:26,006 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\netrc.cpython-39.pyc' +2024-11-30 15:37:26,006 - api.main - INFO - STDERR: import 'netrc' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A82416F10> +2024-11-30 15:37:26,219 - api.main - INFO - STDERR: [11/30 15:37:26] INFO | Bot is updated. +2024-11-30 15:37:26,219 - api.main - INFO - STDERR: [11/30 15:37:26] INFO | GramAddict v.3.2.12 +2024-11-30 15:37:26,219 - api.main - INFO - STDERR: [11/30 15:37:26] INFO | Loading plugins . . . +2024-11-30 15:37:26,221 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__init__.py +2024-11-30 15:37:26,221 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:26,221 - api.main - INFO - STDERR: import 'GramAddict.plugins' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A82416EB0> +2024-11-30 15:37:26,223 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\action_unfollow_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\action_unfollow_followers.py +2024-11-30 15:37:26,223 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\action_unfollow_followers.cpython-39.pyc' +2024-11-30 15:37:26,223 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\decorators.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py +2024-11-30 15:37:26,223 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\decorators.cpython-39.pyc' +2024-11-30 15:37:26,223 - api.main - INFO - STDERR: import 'GramAddict.core.decorators' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A82433EB0> +2024-11-30 15:37:26,224 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\scroll_end_detector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\scroll_end_detector.py +2024-11-30 15:37:26,224 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\scroll_end_detector.cpython-39.pyc' +2024-11-30 15:37:26,224 - api.main - INFO - STDERR: import 'GramAddict.core.scroll_end_detector' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A824335E0> +2024-11-30 15:37:26,224 - api.main - INFO - STDERR: import 'GramAddict.plugins.action_unfollow_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A82416BE0> +2024-11-30 15:37:26,224 - api.main - INFO - STDERR: [11/30 15:37:26] INFO | - ActionUnfollowFollowers: Handles the functionality of unfollowing your followers +2024-11-30 15:37:26,225 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\cloned_app.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\cloned_app.py +2024-11-30 15:37:26,225 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\cloned_app.cpython-39.pyc' +2024-11-30 15:37:26,225 - api.main - INFO - STDERR: import 'GramAddict.plugins.cloned_app' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A82433A60> +2024-11-30 15:37:26,226 - api.main - INFO - STDERR: [11/30 15:37:26] INFO | - ClonedApp: Adds support for cloned apps +2024-11-30 15:37:26,226 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\core_arguments.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\core_arguments.py +2024-11-30 15:37:26,226 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\core_arguments.cpython-39.pyc' +2024-11-30 15:37:26,226 - api.main - INFO - STDERR: import 'GramAddict.plugins.core_arguments' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A82433C10> +2024-11-30 15:37:26,226 - api.main - INFO - STDERR: [11/30 15:37:26] INFO | - CoreArguments: Simply adds core arguments +2024-11-30 15:37:26,227 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\data_analytics.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\data_analytics.py +2024-11-30 15:37:26,227 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\data_analytics.cpython-39.pyc' +2024-11-30 15:37:26,227 - api.main - INFO - STDERR: import 'GramAddict.plugins.data_analytics' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A82433F10> +2024-11-30 15:37:26,227 - api.main - INFO - STDERR: [11/30 15:37:26] INFO | - DataAnalytics: Generates a PDF analytics report of current username session data +2024-11-30 15:37:26,228 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\dbinit.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\dbinit.py +2024-11-30 15:37:26,228 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\dbinit.cpython-39.pyc' +2024-11-30 15:37:26,228 - api.main - INFO - STDERR: import 'GramAddict.plugins.dbinit' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE374EB0> +2024-11-30 15:37:26,228 - api.main - INFO - STDERR: [11/30 15:37:26] INFO | - DBInitPlugin: Initialize NocoDB tables at session start +2024-11-30 15:37:26,229 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger.py +2024-11-30 15:37:26,229 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger.cpython-39.pyc' +2024-11-30 15:37:26,230 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\handle_sources.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py +2024-11-30 15:37:26,230 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\handle_sources.cpython-39.pyc' +2024-11-30 15:37:26,230 - api.main - INFO - STDERR: import 'GramAddict.core.handle_sources' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A82491550> +2024-11-30 15:37:26,230 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021AFE3743A0> +2024-11-30 15:37:26,231 - api.main - INFO - STDERR: [11/30 15:37:26] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger +2024-11-30 15:37:26,231 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py +2024-11-30 15:37:26,232 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger_followers.cpython-39.pyc' +2024-11-30 15:37:26,232 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A82491970> +2024-11-30 15:37:26,232 - api.main - INFO - STDERR: [11/30 15:37:26] INFO | - InteractBloggerFollowers_Following: Handles the functionality of interacting with a bloggers followers/following +2024-11-30 15:37:26,232 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger_post_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_post_likers.py +2024-11-30 15:37:26,233 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger_post_likers.cpython-39.pyc' +2024-11-30 15:37:26,233 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger_post_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A82491C10> +2024-11-30 15:37:26,233 - api.main - INFO - STDERR: [11/30 15:37:26] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger post likers +2024-11-30 15:37:26,234 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_feed.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_feed.py +2024-11-30 15:37:26,234 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_feed.cpython-39.pyc' +2024-11-30 15:37:26,234 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_feed' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A82491F40> +2024-11-30 15:37:26,234 - api.main - INFO - STDERR: [11/30 15:37:26] INFO | - InteractOwnFeed: Handles the functionality of interacting with your own feed +2024-11-30 15:37:26,235 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_hashtag_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_hashtag_likers.py +2024-11-30 15:37:26,235 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_hashtag_likers.cpython-39.pyc' +2024-11-30 15:37:26,235 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_hashtag_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8247A2E0> +2024-11-30 15:37:26,235 - api.main - INFO - STDERR: [11/30 15:37:26] INFO | - InteractHashtagLikers: Handles the functionality of interacting with a hashtags likers +2024-11-30 15:37:26,236 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_hashtag_posts.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_hashtag_posts.py +2024-11-30 15:37:26,236 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_hashtag_posts.cpython-39.pyc' +2024-11-30 15:37:26,236 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_hashtag_posts' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8247A640> +2024-11-30 15:37:26,236 - api.main - INFO - STDERR: [11/30 15:37:26] INFO | - InteractHashtagPosts: Handles the functionality of interacting with a hashtags post owners +2024-11-30 15:37:26,237 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_place_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_place_likers.py +2024-11-30 15:37:26,237 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_place_likers.cpython-39.pyc' +2024-11-30 15:37:26,237 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_place_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8247A9A0> +2024-11-30 15:37:26,238 - api.main - INFO - STDERR: [11/30 15:37:26] INFO | - InteractPlaceLikers: Handles the functionality of interacting with a places likers +2024-11-30 15:37:26,238 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_place_posts.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_place_posts.py +2024-11-30 15:37:26,239 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_place_posts.cpython-39.pyc' +2024-11-30 15:37:26,239 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_place_posts' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8247AD30> +2024-11-30 15:37:26,239 - api.main - INFO - STDERR: [11/30 15:37:26] INFO | - InteractPlacePosts: Handles the functionality of interacting with a places post owners +2024-11-30 15:37:26,239 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\like_from_urls.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\like_from_urls.py +2024-11-30 15:37:26,240 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\like_from_urls.cpython-39.pyc' +2024-11-30 15:37:26,240 - api.main - INFO - STDERR: import 'GramAddict.plugins.like_from_urls' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8247AFA0> +2024-11-30 15:37:26,240 - api.main - INFO - STDERR: [11/30 15:37:26] INFO | - LikeFromURLs: Likes a post from url. The urls are read from a plaintext file +2024-11-30 15:37:26,240 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\nocodb_record_creation_test.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\nocodb_record_creation_test.py +2024-11-30 15:37:26,240 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\nocodb_record_creation_test.cpython-39.pyc' +2024-11-30 15:37:26,240 - api.main - INFO - STDERR: import 'GramAddict.plugins.nocodb_record_creation_test' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8249F460> +2024-11-30 15:37:26,240 - api.main - INFO - STDERR: [11/30 15:37:26] INFO | - NocoDBRecordCreationTest: Test plugin specifically for verifying NocoDB record creation functionality +2024-11-30 15:37:26,241 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\nocodb_storage.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\nocodb_storage.py +2024-11-30 15:37:26,241 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\nocodb_storage.cpython-39.pyc' +2024-11-30 15:37:26,242 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__init__.py +2024-11-30 15:37:26,242 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:37:26,244 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jwk.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jwk.py +2024-11-30 15:37:26,244 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jwk.cpython-39.pyc' +2024-11-30 15:37:26,244 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\algorithms.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\algorithms.py +2024-11-30 15:37:26,244 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\algorithms.cpython-39.pyc' +2024-11-30 15:37:26,245 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\exceptions.py +2024-11-30 15:37:26,245 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 15:37:26,245 - api.main - INFO - STDERR: import 'jwt.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A824BC790> +2024-11-30 15:37:26,245 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\types.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\types.py +2024-11-30 15:37:26,246 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\types.cpython-39.pyc' +2024-11-30 15:37:26,246 - api.main - INFO - STDERR: import 'jwt.types' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A824BC820> +2024-11-30 15:37:26,246 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\utils.py +2024-11-30 15:37:26,246 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 15:37:26,248 - api.main - INFO - STDERR: import 'jwt.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A824BC910> +2024-11-30 15:37:26,248 - api.main - INFO - STDERR: import 'jwt.algorithms' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A824B15B0> +2024-11-30 15:37:26,248 - api.main - INFO - STDERR: import 'jwt.api_jwk' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8249FE20> +2024-11-30 15:37:26,249 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jws.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jws.py +2024-11-30 15:37:26,249 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jws.cpython-39.pyc' +2024-11-30 15:37:26,249 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\warnings.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\warnings.py +2024-11-30 15:37:26,250 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\warnings.cpython-39.pyc' +2024-11-30 15:37:26,250 - api.main - INFO - STDERR: import 'jwt.warnings' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A824BC160> +2024-11-30 15:37:26,250 - api.main - INFO - STDERR: import 'jwt.api_jws' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A824B1C70> +2024-11-30 15:37:26,250 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jwt.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jwt.py +2024-11-30 15:37:26,250 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jwt.cpython-39.pyc' +2024-11-30 15:37:26,250 - api.main - INFO - STDERR: import 'jwt.api_jwt' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A824BC3A0> +2024-11-30 15:37:26,250 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\jwks_client.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\jwks_client.py +2024-11-30 15:37:26,250 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\jwks_client.cpython-39.pyc' +2024-11-30 15:37:26,251 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\jwk_set_cache.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\jwk_set_cache.py +2024-11-30 15:37:26,251 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\jwk_set_cache.cpython-39.pyc' +2024-11-30 15:37:26,251 - api.main - INFO - STDERR: import 'jwt.jwk_set_cache' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A824C7B50> +2024-11-30 15:37:26,251 - api.main - INFO - STDERR: import 'jwt.jwks_client' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A824C7580> +2024-11-30 15:37:26,251 - api.main - INFO - STDERR: import 'jwt' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8249FBB0> +2024-11-30 15:37:26,252 - api.main - INFO - STDERR: import 'GramAddict.plugins.nocodb_storage' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A8249F5E0> +2024-11-30 15:37:26,252 - api.main - INFO - STDERR: [11/30 15:37:26] INFO | - NocoDBStorage: Store interaction data in NocoDB +2024-11-30 15:37:26,254 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\remove_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\remove_followers.py +2024-11-30 15:37:26,254 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\remove_followers.cpython-39.pyc' +2024-11-30 15:37:26,254 - api.main - INFO - STDERR: import 'GramAddict.plugins.remove_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A824C7FD0> +2024-11-30 15:37:26,254 - api.main - INFO - STDERR: [11/30 15:37:26] INFO | - RemoveFollowersFromList: Remove account followers from a list of usernames +2024-11-30 15:37:26,255 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\telegram.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\telegram.py +2024-11-30 15:37:26,255 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\telegram.cpython-39.pyc' +2024-11-30 15:37:26,256 - api.main - INFO - STDERR: import 'GramAddict.plugins.telegram' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A824E1220> +2024-11-30 15:37:26,256 - api.main - INFO - STDERR: [11/30 15:37:26] INFO | - TelegramReports: Generate reports at the end of the session and send them using telegram +2024-11-30 15:37:26,259 - api.main - INFO - STDERR: [11/30 15:37:26] DEBUG | Arguments used: --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 15:37:26,259 - api.main - INFO - STDERR: [11/30 15:37:26] DEBUG | Config used: {'username': 'quecreate', 'app-id': 'com.instagram.android', 'use-cloned-app': False, 'allow-untested-ig-version': False, 'screen-sleep': True, 'screen-record': False, 'speed-multiplier': 1.0, 'debug': True, 'close-apps': False, 'kill-atx-agent': False, 'restart-atx-agent': False, 'disable-block-detection': False, 'disable-filters': False, 'dont-type': False, 'use-nocodb': True, 'init-db': True, 'total-crashes-limit': 5, 'count-app-crashes': False, 'shuffle-jobs': True, 'truncate-sources': '2-5', 'blogger-followers': ['mnaumanndesign'], 'watch-video-time': '15-35', 'watch-photo-time': '3-4', 'delete-interacted-users': True, 'telegram-reports': False, 'interactions-count': '300-400', 'likes-count': '1-2', 'likes-percentage': 100, 'stories-count': '10-20', 'stories-percentage': '30-40', 'carousel-count': '20-30', 'carousel-percentage': '60-70', 'max-comments-pro-user': '1-2', 'interact-percentage': '30-40', 'follow-percentage': '30-40', 'follow-limit': 50, 'skipped-list-limit': '10-15', 'skipped-posts-limit': 5, 'fling-when-skipped': 0, 'min-following': 10, 'total-likes-limit': '120-150', 'total-follows-limit': '40-50', 'total-unfollows-limit': '40-50', 'total-watches-limit': '120-150', 'total-successful-interactions-limit': '120-150', 'total-interactions-limit': '280-300', 'total-comments-limit': '3-50', 'total-pm-limit': '3-5', 'total-scraped-limit': '100-150', 'end-if-likes-limit-reached': False, 'end-if-follows-limit-reached': False, 'end-if-watches-limit-reached': False, 'end-if-comments-limit-reached': False, 'end-if-pm-limit-reached': False} +2024-11-30 15:37:26,351 - api.main - INFO - STDERR: [11/30 15:37:26] DEBUG | Connected devices via adb: 1. That's ok. +2024-11-30 15:37:26,443 - api.main - INFO - STDERR: [11/30 15:37:26] INFO | Time delta has set to 00:00:27. +2024-11-30 15:37:26,444 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_strptime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_strptime.py +2024-11-30 15:37:26,444 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_strptime.cpython-39.pyc' +2024-11-30 15:37:26,445 - api.main - INFO - STDERR: import '_strptime' # <_frozen_importlib_external.SourceFileLoader object at 0x0000021A824F37F0> +2024-11-30 15:37:26,445 - api.main - INFO - STDERR: [11/30 15:37:26] DEBUG | Whole day mode. +2024-11-30 15:37:26,577 - api.main - INFO - STDERR: [11/30 15:37:26] DEBUG | Phone Name: taimen, SDK Version: 30 +2024-11-30 15:37:26,812 - api.main - INFO - STDERR: [11/30 15:37:26] DEBUG | Screen dimension: 1440x2824 +2024-11-30 15:37:26,999 - api.main - INFO - STDERR: [11/30 15:37:26] DEBUG | Screen resolution: 411x823 +2024-11-30 15:37:27,000 - api.main - INFO - STDERR: [11/30 15:37:26] DEBUG | Device ID: 192.168.50.202:5555 +2024-11-30 15:37:27,111 - api.main - INFO - STDERR: [11/30 15:37:27] INFO | Screen timeout is fine! +2024-11-30 15:37:27,254 - api.main - INFO - STDERR: [11/30 15:37:27] INFO | -------- START: 15:37:27 - 2024/11/30 -------- +2024-11-30 15:37:29,624 - api.main - INFO - STDERR: [11/30 15:37:29] INFO | Device screen ON and unlocked. +2024-11-30 15:37:29,624 - api.main - INFO - STDERR: [11/30 15:37:29] INFO | Open Instagram app. +2024-11-30 15:37:30,019 - api.main - INFO - STDERR: [11/30 15:37:30] DEBUG | Instagram called successfully. +2024-11-30 15:37:30,558 - api.main - INFO - STDERR: [11/30 15:37:30] INFO | Ready for botting!\U0001f92b +2024-11-30 15:37:30,558 - api.main - INFO - STDERR: [11/30 15:37:30] DEBUG | 0.90s sleep +2024-11-30 15:37:31,473 - api.main - INFO - STDERR: [11/30 15:37:31] DEBUG | Setting FastInputIME as default keyboard. +2024-11-30 15:37:32,029 - api.main - INFO - STDERR: [11/30 15:37:32] INFO | FastInputIME is the default keyboard. +2024-11-30 15:37:32,280 - api.main - INFO - STDERR: [11/30 15:37:32] INFO | Instagram version: 300.0.0.29.110 +2024-11-30 15:37:32,810 - api.main - INFO - STDERR: [11/30 15:37:32] DEBUG | Navigating to main account... +2024-11-30 15:37:34,021 - api.main - INFO - STDERR: [11/30 15:37:34] DEBUG | Single click in (1315,2761). Surface: (1244-1349,2684-2789) +2024-11-30 15:37:34,448 - api.main - INFO - STDERR: [11/30 15:37:34] DEBUG | 2.80s sleep +2024-11-30 15:37:38,098 - api.main - INFO - STDERR: [11/30 15:37:38] DEBUG | Checking if app is in English.. +2024-11-30 15:37:41,060 - api.main - INFO - STDERR: [11/30 15:37:41] DEBUG | Instagram in English. +2024-11-30 15:37:42,106 - api.main - INFO - STDERR: [11/30 15:37:42] INFO | You are already logged as quecreate! +2024-11-30 15:37:42,600 - api.main - INFO - STDERR: [11/30 15:37:42] INFO | Refresh account... +2024-11-30 15:37:42,929 - api.main - INFO - STDERR: [11/30 15:37:42] DEBUG | Swipe from: (744,630) to (773,909). +2024-11-30 15:37:43,864 - api.main - INFO - STDERR: [11/30 15:37:43] DEBUG | 0.95s sleep +2024-11-30 15:37:44,832 - api.main - INFO - STDERR: [11/30 15:37:44] DEBUG | 1.84s sleep +2024-11-30 15:37:50,102 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | Hello, @quecreate! You have 1 followers and 55 followings so far. +2024-11-30 15:37:50,103 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | There is/are 3 active-job(s) and 0 unfollow-job(s) scheduled for this session. +2024-11-30 15:37:50,103 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | NocoDB config found - plugin will handle initialization +2024-11-30 15:37:50,108 - api.main - INFO - STDERR: [11/30 15:37:50] WARNING | accounts\quecreate\filters.yml has been saved last time at 2024-11-28 01:20:01 +2024-11-30 15:37:50,116 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | ---------------------------------------------------------------------- +2024-11-30 15:37:50,116 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | Filters recap (no spell check!) Value +2024-11-30 15:37:50,116 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | ---------------------------------------------------------------------- +2024-11-30 15:37:50,117 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | max_following 7500 +2024-11-30 15:37:50,118 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | min_following 10 +2024-11-30 15:37:50,118 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | max_followers 15000 +2024-11-30 15:37:50,118 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | min_followers 100 +2024-11-30 15:37:50,118 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | max_posts 1000 +2024-11-30 15:37:50,118 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | min_posts 3 +2024-11-30 15:37:50,118 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | max_following_to_followers_ratio 2.0 +2024-11-30 15:37:50,119 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | min_following_to_followers_ratio None +2024-11-30 15:37:50,124 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | max_followers_to_following_ratio None +2024-11-30 15:37:50,124 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | min_followers_to_following_ratio None +2024-11-30 15:37:50,125 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | max_potency_ratio 1.5 +2024-11-30 15:37:50,125 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | min_potency_ratio 0.1 +2024-11-30 15:37:50,125 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | biography_language None +2024-11-30 15:37:50,125 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | biography_banned_words [] +2024-11-30 15:37:50,125 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | biography_mandatory_words [] +2024-11-30 15:37:50,127 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | business_category_name [] +2024-11-30 15:37:50,127 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | is_private None +2024-11-30 15:37:50,127 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | is_verified None +2024-11-30 15:37:50,127 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | is_business None +2024-11-30 15:37:50,128 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | is_non_business None +2024-11-30 15:37:50,128 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | blacklist_words [] +2024-11-30 15:37:50,128 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | mandatory_words [] +2024-11-30 15:37:50,128 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | specific_alphabet None +2024-11-30 15:37:50,128 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | min_posts_from_date None +2024-11-30 15:37:50,128 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | posts_from_date None +2024-11-30 15:37:50,129 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | mutual_friends None +2024-11-30 15:37:50,129 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | following_bot None +2024-11-30 15:37:50,129 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | last_post None +2024-11-30 15:37:50,129 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | potency_ratio None +2024-11-30 15:37:50,130 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | has_any_business_category None +2024-11-30 15:37:50,130 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | has_highlights None +2024-11-30 15:37:50,130 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | has_guides None +2024-11-30 15:37:50,130 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | has_external_url None +2024-11-30 15:37:50,131 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | has_business_category_name None +2024-11-30 15:37:50,131 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | has_biography_links None +2024-11-30 15:37:50,131 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | has_igtv None +2024-11-30 15:37:50,131 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | has_linked_facebook None +2024-11-30 15:37:50,132 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | has_story_highlights None +2024-11-30 15:37:50,132 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | has_youtube None +2024-11-30 15:37:50,132 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | has_twitter None +2024-11-30 15:37:50,132 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | has_facebook None +2024-11-30 15:37:50,133 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | has_whatsapp None +2024-11-30 15:37:50,133 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | has_tiktok None +2024-11-30 15:37:50,133 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_link_in_bio False +2024-11-30 15:37:50,133 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_external_url False +2024-11-30 15:37:50,134 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_business False +2024-11-30 15:37:50,134 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_business_categories [] +2024-11-30 15:37:50,134 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_bio_keyword [] +2024-11-30 15:37:50,134 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_bio_keyword [] +2024-11-30 15:37:50,135 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_bio_contains_anything False +2024-11-30 15:37:50,135 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_no_avatar False +2024-11-30 15:37:50,135 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_no_bio False +2024-11-30 15:37:50,135 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_no_posts False +2024-11-30 15:37:50,136 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_no_igtv False +2024-11-30 15:37:50,136 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_no_story_highlights False +2024-11-30 15:37:50,137 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_no_mutual_friends False +2024-11-30 15:37:50,137 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_private False +2024-11-30 15:37:50,137 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_public False +2024-11-30 15:37:50,137 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_verified False +2024-11-30 15:37:50,138 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_non_business False +2024-11-30 15:37:50,138 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_following_bot False +2024-11-30 15:37:50,139 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_following_less_than None +2024-11-30 15:37:50,139 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_followers_less_than None +2024-11-30 15:37:50,139 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_posts_less_than None +2024-11-30 15:37:50,140 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_mutual_friends_less_than None +2024-11-30 15:37:50,140 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_following_more_than None +2024-11-30 15:37:50,140 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_followers_more_than None +2024-11-30 15:37:50,140 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_posts_more_than None +2024-11-30 15:37:50,140 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_mutual_friends_more_than None +2024-11-30 15:37:50,141 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_following_to_followers_ratio_less_than None +2024-11-30 15:37:50,141 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_following_to_followers_ratio_more_than None +2024-11-30 15:37:50,141 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_followers_to_following_ratio_less_than None +2024-11-30 15:37:50,141 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_followers_to_following_ratio_more_than None +2024-11-30 15:37:50,142 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_potency_ratio_less_than None +2024-11-30 15:37:50,142 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | skip_if_potency_ratio_more_than None +2024-11-30 15:37:50,142 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | ---------------------------------------------------------------------- +2024-11-30 15:37:50,142 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | Session ending conditions: Value +2024-11-30 15:37:50,143 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | ---------------------------------------------------------------------- +2024-11-30 15:37:50,143 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | Likes: False +2024-11-30 15:37:50,143 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | Follows: False +2024-11-30 15:37:50,143 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | Watches: False +2024-11-30 15:37:50,144 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | Comments: False +2024-11-30 15:37:50,144 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | PM: False +2024-11-30 15:37:50,144 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | Total actions: True (not mutable) +2024-11-30 15:37:50,145 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | Total successfull actions: True (not mutable) +2024-11-30 15:37:50,145 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | For more info -> https://github.com/GramAddict/docs/blob/main/configuration.md#ending-session-conditions +2024-11-30 15:37:50,145 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | ---------------------------------------------------------------------- +2024-11-30 15:37:50,145 - api.main - INFO - STDERR: [11/30 15:37:50] DEBUG | Whole day mode. +2024-11-30 15:37:50,145 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | Checking session limits: +2024-11-30 15:37:50,147 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | - Total Likes: OK (0/121) +2024-11-30 15:37:50,147 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | - Total Comments: OK (0/9) +2024-11-30 15:37:50,147 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | - Total PM: OK (0/5) +2024-11-30 15:37:50,147 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | - Total Followed: OK (0/47) +2024-11-30 15:37:50,148 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | - Total Unfollowed: OK (0/40) +2024-11-30 15:37:50,148 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | - Total Watched: OK (0/136) +2024-11-30 15:37:50,148 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | - Total Successful Interactions: OK (0/134) +2024-11-30 15:37:50,148 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | - Total Interactions: OK (0/286) +2024-11-30 15:37:50,148 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | - Total Crashes: OK (0/5) +2024-11-30 15:37:50,149 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | - Total Successful Scraped Users: OK (0/134) +2024-11-30 15:37:50,823 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | Current active-job: use-nocodb +2024-11-30 15:37:50,823 - api.main - INFO - STDERR: 2024-11-30 15:37:50,823 - nocodb_operations - INFO - Initializing NocoDB storage... +2024-11-30 15:37:50,823 - api.main - INFO - STDERR: 2024-11-30 15:37:50,823 - nocodb_operations - INFO - Loading NocoDB configuration... +2024-11-30 15:37:50,840 - api.main - INFO - STDERR: 2024-11-30 15:37:50,840 - nocodb_operations - INFO - Testing NocoDB connection... +2024-11-30 15:37:50,866 - api.main - INFO - STDERR: 2024-11-30 15:37:50,866 - nocodb_operations - INFO - Verifying project pvazjom12m1ho5k... +2024-11-30 15:37:50,895 - api.main - INFO - STDERR: 2024-11-30 15:37:50,895 - nocodb_operations - INFO - NocoDB connection successful! +2024-11-30 15:37:50,895 - api.main - INFO - STDERR: 2024-11-30 15:37:50,895 - nocodb_operations - INFO - Initializing tables... +2024-11-30 15:37:50,895 - api.main - INFO - STDERR: 2024-11-30 15:37:50,895 - nocodb_operations - INFO - NocoDB: Initializing tables... +2024-11-30 15:37:50,941 - api.main - INFO - STDERR: 2024-11-30 15:37:50,940 - nocodb_operations - INFO - NocoDB: Project pvazjom12m1ho5k exists +2024-11-30 15:37:50,960 - api.main - INFO - STDERR: 2024-11-30 15:37:50,959 - nocodb_operations - INFO - NocoDB: Table Interacted Users already exists +2024-11-30 15:37:50,960 - api.main - INFO - STDERR: 2024-11-30 15:37:50,960 - nocodb_operations - INFO - NocoDB: Table History Filters Users already exists +2024-11-30 15:37:50,960 - api.main - INFO - STDERR: 2024-11-30 15:37:50,960 - nocodb_operations - INFO - NocoDB: Tables initialized successfully +2024-11-30 15:37:50,960 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | NocoDB reference set in storage +2024-11-30 15:37:50,960 - api.main - INFO - STDERR: 2024-11-30 15:37:50,960 - nocodb_operations - INFO - NocoDB storage initialized successfully! +2024-11-30 15:37:50,961 - api.main - INFO - STDERR: [11/30 15:37:50] DEBUG | Whole day mode. +2024-11-30 15:37:50,961 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | Checking session limits: +2024-11-30 15:37:50,961 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | - Total Likes: OK (0/121) +2024-11-30 15:37:50,961 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | - Total Comments: OK (0/9) +2024-11-30 15:37:50,962 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | - Total PM: OK (0/5) +2024-11-30 15:37:50,962 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | - Total Followed: OK (0/47) +2024-11-30 15:37:50,962 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | - Total Unfollowed: OK (0/40) +2024-11-30 15:37:50,962 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | - Total Watched: OK (0/136) +2024-11-30 15:37:50,963 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | - Total Successful Interactions: OK (0/134) +2024-11-30 15:37:50,963 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | - Total Interactions: OK (0/286) +2024-11-30 15:37:50,963 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | - Total Crashes: OK (0/5) +2024-11-30 15:37:50,963 - api.main - INFO - STDERR: [11/30 15:37:50] INFO | - Total Successful Scraped Users: OK (0/134) +2024-11-30 15:37:51,719 - api.main - INFO - STDERR: [11/30 15:37:51] INFO | Current active-job: blogger-followers +2024-11-30 15:37:51,721 - api.main - INFO - STDERR: [11/30 15:37:51] INFO | Source list truncated at 1 item. +2024-11-30 15:37:51,721 - api.main - INFO - STDERR: [11/30 15:37:51] INFO | In this session, that source will be handled: mnaumanndesign +2024-11-30 15:37:51,721 - api.main - INFO - STDERR: [11/30 15:37:51] DEBUG | Checking session limits: +2024-11-30 15:37:51,721 - api.main - INFO - STDERR: [11/30 15:37:51] DEBUG | - Total Likes: OK (0/121) +2024-11-30 15:37:51,721 - api.main - INFO - STDERR: [11/30 15:37:51] DEBUG | - Total Comments: OK (0/9) +2024-11-30 15:37:51,722 - api.main - INFO - STDERR: [11/30 15:37:51] DEBUG | - Total PM: OK (0/5) +2024-11-30 15:37:51,722 - api.main - INFO - STDERR: [11/30 15:37:51] DEBUG | - Total Followed: OK (0/47) +2024-11-30 15:37:51,722 - api.main - INFO - STDERR: [11/30 15:37:51] DEBUG | - Total Unfollowed: OK (0/40) +2024-11-30 15:37:51,723 - api.main - INFO - STDERR: [11/30 15:37:51] DEBUG | - Total Watched: OK (0/136) +2024-11-30 15:37:51,723 - api.main - INFO - STDERR: [11/30 15:37:51] DEBUG | - Total Successful Interactions: OK (0/134) +2024-11-30 15:37:51,723 - api.main - INFO - STDERR: [11/30 15:37:51] DEBUG | - Total Interactions: OK (0/286) +2024-11-30 15:37:51,723 - api.main - INFO - STDERR: [11/30 15:37:51] DEBUG | - Total Crashes: OK (0/5) +2024-11-30 15:37:51,724 - api.main - INFO - STDERR: [11/30 15:37:51] DEBUG | - Total Successful Scraped Users: OK (0/134) +2024-11-30 15:37:51,724 - api.main - INFO - STDERR: [11/30 15:37:51] INFO | Handle mnaumanndesign +2024-11-30 15:37:51,724 - api.main - INFO - STDERR: [11/30 15:37:51] INFO | Interactions count: 376 +2024-11-30 15:37:51,725 - api.main - INFO - STDERR: [11/30 15:37:51] INFO | Chance of watching stories: 31% +2024-11-30 15:37:51,725 - api.main - INFO - STDERR: [11/30 15:37:51] INFO | Chance of liking: 100% +2024-11-30 15:37:51,725 - api.main - INFO - STDERR: [11/30 15:37:51] INFO | Chance of following: 31% +2024-11-30 15:37:51,725 - api.main - INFO - STDERR: [11/30 15:37:51] INFO | Chance of commenting: 0% +2024-11-30 15:37:51,725 - api.main - INFO - STDERR: [11/30 15:37:51] INFO | Chance of interacting: 32% +2024-11-30 15:37:51,725 - api.main - INFO - STDERR: [11/30 15:37:51] INFO | Chance of send PM: 0% +2024-11-30 15:37:51,727 - api.main - INFO - STDERR: [11/30 15:37:51] DEBUG | Navigate to SEARCH +2024-11-30 15:37:52,893 - api.main - INFO - STDERR: [11/30 15:37:52] DEBUG | Single click in (455,2790). Surface: (288-576,2649-2824) +2024-11-30 15:37:53,552 - api.main - INFO - STDERR: [11/30 15:37:53] DEBUG | 1.08s sleep +2024-11-30 15:37:54,809 - api.main - INFO - STDERR: [11/30 15:37:54] DEBUG | Single click in (498,2743). Surface: (288-576,2649-2824) +2024-11-30 15:37:55,197 - api.main - INFO - STDERR: [11/30 15:37:55] DEBUG | 1.58s sleep +2024-11-30 15:37:56,788 - api.main - INFO - STDERR: [11/30 15:37:56] INFO | Navigate to mnaumanndesign +2024-11-30 15:37:57,154 - api.main - INFO - STDERR: [11/30 15:37:57] DEBUG | Pressing on searchbar. +2024-11-30 15:37:57,248 - api.main - INFO - STDERR: [11/30 15:37:57] DEBUG | Single click in (767,211). Surface: (42-1370,146-259) +2024-11-30 15:37:57,343 - api.main - INFO - Retrieving detailed session status for account: quecreate +2024-11-30 15:37:57,671 - api.main - INFO - STDERR: [11/30 15:37:57] DEBUG | 1.25s sleep +2024-11-30 15:37:59,595 - api.main - INFO - STDERR: [11/30 15:37:59] DEBUG | Single click in (532,663). Surface: (322-659,653-710) +2024-11-30 15:38:00,007 - api.main - INFO - STDERR: [11/30 15:38:00] DEBUG | 2.90s sleep +2024-11-30 15:38:02,916 - api.main - INFO - STDERR: [11/30 15:38:02] INFO | mnaumanndesign is in recent history. +2024-11-30 15:38:03,274 - api.main - INFO - STDERR: [11/30 15:38:03] INFO | Open @mnaumanndesign followers. +2024-11-30 15:38:03,274 - api.main - INFO - STDERR: [11/30 15:38:03] INFO | Navigate to followers. +2024-11-30 15:38:04,032 - api.main - INFO - STDERR: [11/30 15:38:04] DEBUG | Single click in (915,439). Surface: (747-1057,322-630) +2024-11-30 15:38:04,454 - api.main - INFO - STDERR: [11/30 15:38:04] DEBUG | 2.74s sleep +2024-11-30 15:38:08,636 - api.main - INFO - STDERR: [11/30 15:38:08] INFO | Iterate over visible followers. +2024-11-30 15:38:12,619 - api.main - INFO - STDERR: [11/30 15:38:12] DEBUG | There are 7 users fully visible in that view. +2024-11-30 15:38:13,654 - api.main - INFO - STDERR: [11/30 15:38:13] INFO | @nigell.design.lab: already interacted on 2024/11/29 01:35:14. Skip. +2024-11-30 15:38:14,550 - api.main - INFO - STDERR: [11/30 15:38:14] INFO | @newness________: already interacted on 2024/11/29 01:35:35. Skip. +2024-11-30 15:38:15,464 - api.main - INFO - STDERR: [11/30 15:38:15] INFO | @personal_day__: already interacted on 2024/11/29 01:37:38. Skip. +2024-11-30 15:38:16,420 - api.main - INFO - STDERR: [11/30 15:38:16] INFO | @northbryan: already interacted on 2024/11/30 05:47:55. Skip. +2024-11-30 15:38:17,349 - api.main - INFO - STDERR: [11/30 15:38:17] INFO | @irfanul_gani: already interacted on 2024/11/30 15:25:53. Skip. +2024-11-30 15:38:18,211 - api.main - INFO - STDERR: [11/30 15:38:18] INFO | @rafiki7474: already interacted on 2024/11/30 05:29:55. Skip. +2024-11-30 15:38:19,106 - api.main - INFO - STDERR: [11/30 15:38:19] INFO | @simmakkaleem: already interacted on 2024/11/29 04:15:41. Skip. +2024-11-30 15:38:20,585 - api.main - INFO - STDERR: [11/30 15:38:20] INFO | All followers skipped, let's scroll. +2024-11-30 15:38:21,812 - api.main - INFO - STDERR: [11/30 15:38:21] INFO | Iterate over visible followers. +2024-11-30 15:38:25,369 - api.main - INFO - Attempting to stop session for account: quecreate +2024-11-30 15:38:25,453 - api.main - INFO - Successfully stopped session for account: quecreate +2024-11-30 15:38:38,713 - api.main - INFO - Retrieving detailed session status for account: quecreate +2024-11-30 15:44:18,978 - api.main - INFO - All tasks cleaned up. +2024-11-30 15:44:19,008 - api.main - INFO - All tasks cleaned up. +2024-11-30 15:44:19,791 - api.main - INFO - API startup complete +2024-11-30 15:44:19,796 - api.main - INFO - API startup complete +2024-11-30 15:45:06,150 - api.main - INFO - API startup complete +2024-11-30 15:45:55,109 - api.main - INFO - Attempting to stop session for account: quecreate +2024-11-30 15:45:55,109 - api.main - INFO - Successfully stopped session for account: quecreate +2024-11-30 15:46:55,095 - api.main - INFO - All tasks cleaned up. +2024-11-30 15:46:55,913 - api.main - INFO - API startup complete +2024-11-30 15:47:11,827 - api.main - INFO - API startup complete +2024-11-30 15:47:27,416 - api.main - ERROR - Error getting bot stats for account quecreate: __init__() takes 1 positional argument but 2 were given +2024-11-30 15:48:20,354 - api.main - INFO - All tasks cleaned up. +2024-11-30 15:48:20,370 - api.main - INFO - All tasks cleaned up. +2024-11-30 15:48:20,384 - api.main - INFO - All tasks cleaned up. +2024-11-30 15:48:20,444 - api.main - INFO - All tasks cleaned up. +2024-11-30 15:48:21,271 - api.main - INFO - API startup complete +2024-11-30 15:48:21,301 - api.main - INFO - API startup complete +2024-11-30 15:48:21,406 - api.main - INFO - API startup complete +2024-11-30 15:48:21,437 - api.main - INFO - API startup complete +2024-11-30 15:48:32,217 - api.main - INFO - API startup complete +2024-11-30 15:48:44,065 - api.main - INFO - Starting session for account quecreate with config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml +2024-11-30 15:48:44,066 - api.main - INFO - Running command: e:\PROJECTS\instagram automation\virtualinfluencer\venv\Scripts\python.exe -v e:\PROJECTS\instagram automation\virtualinfluencer\run.py --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 15:48:44,066 - api.main - INFO - Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 15:48:44,066 - api.main - INFO - Environment PYTHONPATH: None +2024-11-30 15:48:44,066 - api.main - INFO - Starting process with command: e:\PROJECTS\instagram automation\virtualinfluencer\venv\Scripts\python.exe -v e:\PROJECTS\instagram automation\virtualinfluencer\run.py --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 15:48:44,066 - api.main - INFO - Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 15:48:44,066 - api.main - INFO - PYTHONPATH: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 15:48:44,074 - api.main - INFO - Process started with PID: 25204 +2024-11-30 15:48:44,074 - api.main - INFO - Successfully started session for account: quecreate +2024-11-30 15:48:44,093 - api.main - INFO - STDERR: import _frozen_importlib # frozen +2024-11-30 15:48:44,094 - api.main - INFO - STDERR: import _imp # builtin +2024-11-30 15:48:44,094 - api.main - INFO - STDERR: import '_thread' # +2024-11-30 15:48:44,094 - api.main - INFO - STDERR: import '_warnings' # +2024-11-30 15:48:44,094 - api.main - INFO - STDERR: import '_weakref' # +2024-11-30 15:48:44,094 - api.main - INFO - STDERR: import '_io' # +2024-11-30 15:48:44,094 - api.main - INFO - STDERR: import 'marshal' # +2024-11-30 15:48:44,094 - api.main - INFO - STDERR: import 'nt' # +2024-11-30 15:48:44,094 - api.main - INFO - STDERR: import 'winreg' # +2024-11-30 15:48:44,094 - api.main - INFO - STDERR: import '_frozen_importlib_external' # +2024-11-30 15:48:44,094 - api.main - INFO - STDERR: # installing zipimport hook +2024-11-30 15:48:44,095 - api.main - INFO - STDERR: import 'time' # +2024-11-30 15:48:44,095 - api.main - INFO - STDERR: import 'zipimport' # +2024-11-30 15:48:44,095 - api.main - INFO - STDERR: # installed zipimport hook +2024-11-30 15:48:44,098 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__init__.py +2024-11-30 15:48:44,098 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:48:44,098 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\codecs.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\codecs.py +2024-11-30 15:48:44,099 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\codecs.cpython-39.pyc' +2024-11-30 15:48:44,099 - api.main - INFO - STDERR: import '_codecs' # +2024-11-30 15:48:44,099 - api.main - INFO - STDERR: import 'codecs' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902485940> +2024-11-30 15:48:44,100 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\aliases.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\aliases.py +2024-11-30 15:48:44,100 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\aliases.cpython-39.pyc' +2024-11-30 15:48:44,100 - api.main - INFO - STDERR: import 'encodings.aliases' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902964EB0> +2024-11-30 15:48:44,100 - api.main - INFO - STDERR: import 'encodings' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902485730> +2024-11-30 15:48:44,100 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\utf_8.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\utf_8.py +2024-11-30 15:48:44,101 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\utf_8.cpython-39.pyc' +2024-11-30 15:48:44,101 - api.main - INFO - STDERR: import 'encodings.utf_8' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902485790> +2024-11-30 15:48:44,101 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\cp1252.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\cp1252.py +2024-11-30 15:48:44,101 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\cp1252.cpython-39.pyc' +2024-11-30 15:48:44,101 - api.main - INFO - STDERR: import 'encodings.cp1252' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902964FA0> +2024-11-30 15:48:44,102 - api.main - INFO - STDERR: import '_signal' # +2024-11-30 15:48:44,102 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\latin_1.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\latin_1.py +2024-11-30 15:48:44,102 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\latin_1.cpython-39.pyc' +2024-11-30 15:48:44,102 - api.main - INFO - STDERR: import 'encodings.latin_1' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D90297C340> +2024-11-30 15:48:44,103 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\io.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\io.py +2024-11-30 15:48:44,103 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\io.cpython-39.pyc' +2024-11-30 15:48:44,103 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\abc.py +2024-11-30 15:48:44,104 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 15:48:44,104 - api.main - INFO - STDERR: import '_abc' # +2024-11-30 15:48:44,104 - api.main - INFO - STDERR: import 'abc' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D90297C7F0> +2024-11-30 15:48:44,104 - api.main - INFO - STDERR: import 'io' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D90297C520> +2024-11-30 15:48:44,105 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\site.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\site.py +2024-11-30 15:48:44,105 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\site.cpython-39.pyc' +2024-11-30 15:48:44,106 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\os.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\os.py +2024-11-30 15:48:44,106 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\os.cpython-39.pyc' +2024-11-30 15:48:44,106 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\stat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\stat.py +2024-11-30 15:48:44,107 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\stat.cpython-39.pyc' +2024-11-30 15:48:44,107 - api.main - INFO - STDERR: import '_stat' # +2024-11-30 15:48:44,107 - api.main - INFO - STDERR: import 'stat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D90299FFA0> +2024-11-30 15:48:44,107 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_collections_abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_collections_abc.py +2024-11-30 15:48:44,107 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_collections_abc.cpython-39.pyc' +2024-11-30 15:48:44,108 - api.main - INFO - STDERR: import '_collections_abc' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9029A6130> +2024-11-30 15:48:44,109 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ntpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ntpath.py +2024-11-30 15:48:44,109 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ntpath.cpython-39.pyc' +2024-11-30 15:48:44,109 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\genericpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\genericpath.py +2024-11-30 15:48:44,109 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\genericpath.cpython-39.pyc' +2024-11-30 15:48:44,109 - api.main - INFO - STDERR: import 'genericpath' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9029CF970> +2024-11-30 15:48:44,110 - api.main - INFO - STDERR: import 'ntpath' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9029A6A60> +2024-11-30 15:48:44,110 - api.main - INFO - STDERR: import 'os' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9029857C0> +2024-11-30 15:48:44,110 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_sitebuiltins.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_sitebuiltins.py +2024-11-30 15:48:44,111 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_sitebuiltins.cpython-39.pyc' +2024-11-30 15:48:44,111 - api.main - INFO - STDERR: import '_sitebuiltins' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D90299F460> +2024-11-30 15:48:44,112 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_bootlocale.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_bootlocale.py +2024-11-30 15:48:44,112 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_bootlocale.cpython-39.pyc' +2024-11-30 15:48:44,112 - api.main - INFO - STDERR: import '_locale' # +2024-11-30 15:48:44,112 - api.main - INFO - STDERR: import '_bootlocale' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9029CFD90> +2024-11-30 15:48:44,113 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__init__.py +2024-11-30 15:48:44,113 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\_distutils_hack\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:48:44,113 - api.main - INFO - STDERR: import '_distutils_hack' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9029E5B80> +2024-11-30 15:48:44,115 - api.main - INFO - STDERR: import 'site' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D90297C850> +2024-11-30 15:48:44,115 - api.main - INFO - STDERR: Python 3.9.10 (tags/v3.9.10:f2f3f53, Jan 17 2022, 15:14:21) [MSC v.1929 64 bit (AMD64)] on win32 +2024-11-30 15:48:44,115 - api.main - INFO - STDERR: Type "help", "copyright", "credits" or "license" for more information. +2024-11-30 15:48:44,116 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\__init__.py +2024-11-30 15:48:44,116 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:48:44,116 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__init__.py +2024-11-30 15:48:44,116 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:48:44,116 - api.main - INFO - STDERR: import 'GramAddict.core' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9029F45B0> +2024-11-30 15:48:44,118 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\bot_flow.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\bot_flow.py +2024-11-30 15:48:44,118 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\bot_flow.cpython-39.pyc' +2024-11-30 15:48:44,119 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__init__.py +2024-11-30 15:48:44,119 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\logging\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:48:44,120 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\re.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\re.py +2024-11-30 15:48:44,121 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\re.cpython-39.pyc' +2024-11-30 15:48:44,121 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\enum.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\enum.py +2024-11-30 15:48:44,122 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\enum.cpython-39.pyc' +2024-11-30 15:48:44,122 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\types.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\types.py +2024-11-30 15:48:44,122 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\types.cpython-39.pyc' +2024-11-30 15:48:44,122 - api.main - INFO - STDERR: import 'types' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902C374C0> +2024-11-30 15:48:44,123 - api.main - INFO - STDERR: import 'enum' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902C1EFD0> +2024-11-30 15:48:44,123 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_compile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_compile.py +2024-11-30 15:48:44,123 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_compile.cpython-39.pyc' +2024-11-30 15:48:44,123 - api.main - INFO - STDERR: import '_sre' # +2024-11-30 15:48:44,125 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_parse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_parse.py +2024-11-30 15:48:44,125 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_parse.cpython-39.pyc' +2024-11-30 15:48:44,126 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_constants.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_constants.py +2024-11-30 15:48:44,126 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_constants.cpython-39.pyc' +2024-11-30 15:48:44,127 - api.main - INFO - STDERR: import 'sre_constants' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902C5B2E0> +2024-11-30 15:48:44,127 - api.main - INFO - STDERR: import 'sre_parse' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902C498B0> +2024-11-30 15:48:44,127 - api.main - INFO - STDERR: import 'sre_compile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902C37FD0> +2024-11-30 15:48:44,128 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\functools.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\functools.py +2024-11-30 15:48:44,128 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\functools.cpython-39.pyc' +2024-11-30 15:48:44,129 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__init__.py +2024-11-30 15:48:44,129 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\collections\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:48:44,130 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\heapq.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\heapq.py +2024-11-30 15:48:44,130 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\heapq.cpython-39.pyc' +2024-11-30 15:48:44,130 - api.main - INFO - STDERR: import '_heapq' # +2024-11-30 15:48:44,130 - api.main - INFO - STDERR: import 'heapq' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902C8EA60> +2024-11-30 15:48:44,130 - api.main - INFO - STDERR: import 'itertools' # +2024-11-30 15:48:44,131 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\keyword.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\keyword.py +2024-11-30 15:48:44,131 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\keyword.cpython-39.pyc' +2024-11-30 15:48:44,131 - api.main - INFO - STDERR: import 'keyword' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902C8EFD0> +2024-11-30 15:48:44,132 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\operator.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\operator.py +2024-11-30 15:48:44,132 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\operator.cpython-39.pyc' +2024-11-30 15:48:44,132 - api.main - INFO - STDERR: import '_operator' # +2024-11-30 15:48:44,132 - api.main - INFO - STDERR: import 'operator' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902C8EF10> +2024-11-30 15:48:44,133 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\reprlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\reprlib.py +2024-11-30 15:48:44,133 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\reprlib.cpython-39.pyc' +2024-11-30 15:48:44,133 - api.main - INFO - STDERR: import 'reprlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902CA0160> +2024-11-30 15:48:44,133 - api.main - INFO - STDERR: import '_collections' # +2024-11-30 15:48:44,133 - api.main - INFO - STDERR: import 'collections' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902C69EE0> +2024-11-30 15:48:44,133 - api.main - INFO - STDERR: import '_functools' # +2024-11-30 15:48:44,133 - api.main - INFO - STDERR: import 'functools' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902C61790> +2024-11-30 15:48:44,135 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\copyreg.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\copyreg.py +2024-11-30 15:48:44,135 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\copyreg.cpython-39.pyc' +2024-11-30 15:48:44,135 - api.main - INFO - STDERR: import 'copyreg' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902C76730> +2024-11-30 15:48:44,135 - api.main - INFO - STDERR: import 're' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902C1E580> +2024-11-30 15:48:44,136 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\traceback.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\traceback.py +2024-11-30 15:48:44,136 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\traceback.cpython-39.pyc' +2024-11-30 15:48:44,137 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\linecache.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\linecache.py +2024-11-30 15:48:44,137 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\linecache.cpython-39.pyc' +2024-11-30 15:48:44,138 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tokenize.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tokenize.py +2024-11-30 15:48:44,138 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tokenize.cpython-39.pyc' +2024-11-30 15:48:44,138 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\token.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\token.py +2024-11-30 15:48:44,139 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\token.cpython-39.pyc' +2024-11-30 15:48:44,139 - api.main - INFO - STDERR: import 'token' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902CA3F40> +2024-11-30 15:48:44,139 - api.main - INFO - STDERR: import 'tokenize' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902CA3550> +2024-11-30 15:48:44,139 - api.main - INFO - STDERR: import 'linecache' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902CA0A90> +2024-11-30 15:48:44,139 - api.main - INFO - STDERR: import 'traceback' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902C76340> +2024-11-30 15:48:44,141 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\warnings.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\warnings.py +2024-11-30 15:48:44,141 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\warnings.cpython-39.pyc' +2024-11-30 15:48:44,141 - api.main - INFO - STDERR: import 'warnings' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902CA0910> +2024-11-30 15:48:44,141 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\weakref.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\weakref.py +2024-11-30 15:48:44,141 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\weakref.cpython-39.pyc' +2024-11-30 15:48:44,143 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_weakrefset.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_weakrefset.py +2024-11-30 15:48:44,143 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_weakrefset.cpython-39.pyc' +2024-11-30 15:48:44,143 - api.main - INFO - STDERR: import '_weakrefset' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902CE5D90> +2024-11-30 15:48:44,143 - api.main - INFO - STDERR: import 'weakref' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902CA9760> +2024-11-30 15:48:44,144 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\abc.py +2024-11-30 15:48:44,144 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\collections\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 15:48:44,144 - api.main - INFO - STDERR: import 'collections.abc' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902CEEA30> +2024-11-30 15:48:44,145 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\string.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\string.py +2024-11-30 15:48:44,145 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\string.cpython-39.pyc' +2024-11-30 15:48:44,145 - api.main - INFO - STDERR: import '_string' # +2024-11-30 15:48:44,145 - api.main - INFO - STDERR: import 'string' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902CEEB20> +2024-11-30 15:48:44,145 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\threading.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\threading.py +2024-11-30 15:48:44,145 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\threading.cpython-39.pyc' +2024-11-30 15:48:44,147 - api.main - INFO - STDERR: import 'threading' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902CFA130> +2024-11-30 15:48:44,148 - api.main - INFO - STDERR: import 'atexit' # +2024-11-30 15:48:44,148 - api.main - INFO - STDERR: import 'logging' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9029F4190> +2024-11-30 15:48:44,148 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\random.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\random.py +2024-11-30 15:48:44,148 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\random.cpython-39.pyc' +2024-11-30 15:48:44,149 - api.main - INFO - STDERR: import 'math' # +2024-11-30 15:48:44,149 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\bisect.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\bisect.py +2024-11-30 15:48:44,149 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\bisect.cpython-39.pyc' +2024-11-30 15:48:44,149 - api.main - INFO - STDERR: import '_bisect' # +2024-11-30 15:48:44,150 - api.main - INFO - STDERR: import 'bisect' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902D1BF40> +2024-11-30 15:48:44,150 - api.main - INFO - STDERR: import '_random' # +2024-11-30 15:48:44,150 - api.main - INFO - STDERR: import '_sha512' # +2024-11-30 15:48:44,150 - api.main - INFO - STDERR: import 'random' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9029E5130> +2024-11-30 15:48:44,150 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\datetime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\datetime.py +2024-11-30 15:48:44,151 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\datetime.cpython-39.pyc' +2024-11-30 15:48:44,151 - api.main - INFO - STDERR: import '_datetime' # +2024-11-30 15:48:44,152 - api.main - INFO - STDERR: import 'datetime' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902D34190> +2024-11-30 15:48:44,152 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__init__.py +2024-11-30 15:48:44,152 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:48:44,153 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\initialise.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\initialise.py +2024-11-30 15:48:44,153 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\initialise.cpython-39.pyc' +2024-11-30 15:48:44,154 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\contextlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\contextlib.py +2024-11-30 15:48:44,154 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\contextlib.cpython-39.pyc' +2024-11-30 15:48:44,154 - api.main - INFO - STDERR: import 'contextlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902D5FBB0> +2024-11-30 15:48:44,155 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\ansitowin32.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\ansitowin32.py +2024-11-30 15:48:44,155 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\ansitowin32.cpython-39.pyc' +2024-11-30 15:48:44,155 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\ansi.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\ansi.py +2024-11-30 15:48:44,155 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\ansi.cpython-39.pyc' +2024-11-30 15:48:44,156 - api.main - INFO - STDERR: import 'colorama.ansi' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902D6F730> +2024-11-30 15:48:44,156 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\winterm.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\winterm.py +2024-11-30 15:48:44,156 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\winterm.cpython-39.pyc' +2024-11-30 15:48:44,156 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\win32.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\win32.py +2024-11-30 15:48:44,156 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\win32.cpython-39.pyc' +2024-11-30 15:48:44,157 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__init__.py +2024-11-30 15:48:44,157 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:48:44,163 - api.main - INFO - STDERR: # extension module '_ctypes' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ctypes.pyd' +2024-11-30 15:48:44,163 - api.main - INFO - STDERR: # extension module '_ctypes' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ctypes.pyd' +2024-11-30 15:48:44,163 - api.main - INFO - STDERR: import '_ctypes' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001D902D907C0> +2024-11-30 15:48:44,164 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\struct.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\struct.py +2024-11-30 15:48:44,165 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\struct.cpython-39.pyc' +2024-11-30 15:48:44,165 - api.main - INFO - STDERR: import '_struct' # +2024-11-30 15:48:44,165 - api.main - INFO - STDERR: import 'struct' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902D90CA0> +2024-11-30 15:48:44,166 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\_endian.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\_endian.py +2024-11-30 15:48:44,166 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\_endian.cpython-39.pyc' +2024-11-30 15:48:44,166 - api.main - INFO - STDERR: import 'ctypes._endian' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902DA1A00> +2024-11-30 15:48:44,166 - api.main - INFO - STDERR: import 'ctypes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902D84520> +2024-11-30 15:48:44,166 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\wintypes.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\wintypes.py +2024-11-30 15:48:44,166 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\wintypes.cpython-39.pyc' +2024-11-30 15:48:44,167 - api.main - INFO - STDERR: import 'ctypes.wintypes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902D84970> +2024-11-30 15:48:44,167 - api.main - INFO - STDERR: import 'colorama.win32' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902D5F2E0> +2024-11-30 15:48:44,167 - api.main - INFO - STDERR: import 'colorama.winterm' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902D6FD30> +2024-11-30 15:48:44,167 - api.main - INFO - STDERR: import 'colorama.ansitowin32' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902D5FF10> +2024-11-30 15:48:44,167 - api.main - INFO - STDERR: import 'colorama.initialise' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902D5F940> +2024-11-30 15:48:44,167 - api.main - INFO - STDERR: import 'colorama' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902D34220> +2024-11-30 15:48:44,168 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\config.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\config.py +2024-11-30 15:48:44,168 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\config.cpython-39.pyc' +2024-11-30 15:48:44,169 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\typing.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\typing.py +2024-11-30 15:48:44,169 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\typing.cpython-39.pyc' +2024-11-30 15:48:44,171 - api.main - INFO - STDERR: import 'typing' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902DA1FA0> +2024-11-30 15:48:44,173 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\configargparse.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\configargparse.py +2024-11-30 15:48:44,173 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\configargparse.cpython-39.pyc' +2024-11-30 15:48:44,174 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\argparse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\argparse.py +2024-11-30 15:48:44,175 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\argparse.cpython-39.pyc' +2024-11-30 15:48:44,176 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\gettext.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\gettext.py +2024-11-30 15:48:44,176 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\gettext.cpython-39.pyc' +2024-11-30 15:48:44,177 - api.main - INFO - STDERR: import 'gettext' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902D34AC0> +2024-11-30 15:48:44,177 - api.main - INFO - STDERR: import 'argparse' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D904792FD0> +2024-11-30 15:48:44,178 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__init__.py +2024-11-30 15:48:44,178 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:48:44,179 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\decoder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\decoder.py +2024-11-30 15:48:44,179 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\decoder.cpython-39.pyc' +2024-11-30 15:48:44,180 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\scanner.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\scanner.py +2024-11-30 15:48:44,180 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\scanner.cpython-39.pyc' +2024-11-30 15:48:44,180 - api.main - INFO - STDERR: import '_json' # +2024-11-30 15:48:44,180 - api.main - INFO - STDERR: import 'json.scanner' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902CA37C0> +2024-11-30 15:48:44,180 - api.main - INFO - STDERR: import 'json.decoder' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902D4F070> +2024-11-30 15:48:44,181 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\encoder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\encoder.py +2024-11-30 15:48:44,181 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\encoder.cpython-39.pyc' +2024-11-30 15:48:44,182 - api.main - INFO - STDERR: import 'json.encoder' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902D4FD60> +2024-11-30 15:48:44,182 - api.main - INFO - STDERR: import 'json' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902D46C40> +2024-11-30 15:48:44,182 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\glob.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\glob.py +2024-11-30 15:48:44,183 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\glob.cpython-39.pyc' +2024-11-30 15:48:44,183 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\fnmatch.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\fnmatch.py +2024-11-30 15:48:44,183 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\fnmatch.cpython-39.pyc' +2024-11-30 15:48:44,185 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\posixpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\posixpath.py +2024-11-30 15:48:44,185 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\posixpath.cpython-39.pyc' +2024-11-30 15:48:44,185 - api.main - INFO - STDERR: import 'posixpath' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9047D2790> +2024-11-30 15:48:44,185 - api.main - INFO - STDERR: import 'fnmatch' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9047D2430> +2024-11-30 15:48:44,185 - api.main - INFO - STDERR: import 'glob' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9047AAC10> +2024-11-30 15:48:44,187 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\textwrap.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\textwrap.py +2024-11-30 15:48:44,187 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\textwrap.cpython-39.pyc' +2024-11-30 15:48:44,188 - api.main - INFO - STDERR: import 'textwrap' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9047D25E0> +2024-11-30 15:48:44,188 - api.main - INFO - STDERR: import 'configargparse' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902DC28E0> +2024-11-30 15:48:44,189 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__init__.py +2024-11-30 15:48:44,189 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:48:44,190 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\error.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\error.py +2024-11-30 15:48:44,190 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\error.cpython-39.pyc' +2024-11-30 15:48:44,190 - api.main - INFO - STDERR: import 'yaml.error' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9047E5D30> +2024-11-30 15:48:44,190 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\tokens.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\tokens.py +2024-11-30 15:48:44,190 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\tokens.cpython-39.pyc' +2024-11-30 15:48:44,191 - api.main - INFO - STDERR: import 'yaml.tokens' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9047E5EE0> +2024-11-30 15:48:44,191 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\events.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\events.py +2024-11-30 15:48:44,191 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\events.cpython-39.pyc' +2024-11-30 15:48:44,191 - api.main - INFO - STDERR: import 'yaml.events' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9047ED1F0> +2024-11-30 15:48:44,191 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\nodes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\nodes.py +2024-11-30 15:48:44,191 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\nodes.cpython-39.pyc' +2024-11-30 15:48:44,192 - api.main - INFO - STDERR: import 'yaml.nodes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9047EDA00> +2024-11-30 15:48:44,192 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\loader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\loader.py +2024-11-30 15:48:44,192 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\loader.cpython-39.pyc' +2024-11-30 15:48:44,192 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\reader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\reader.py +2024-11-30 15:48:44,192 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\reader.cpython-39.pyc' +2024-11-30 15:48:44,198 - api.main - INFO - STDERR: import 'yaml.reader' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9047FD370> +2024-11-30 15:48:44,198 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\scanner.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\scanner.py +2024-11-30 15:48:44,198 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\scanner.cpython-39.pyc' +2024-11-30 15:48:44,199 - api.main - INFO - STDERR: import 'yaml.scanner' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9047FD700> +2024-11-30 15:48:44,199 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\parser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\parser.py +2024-11-30 15:48:44,199 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\parser.cpython-39.pyc' +2024-11-30 15:48:44,199 - api.main - INFO - STDERR: import 'yaml.parser' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D904806280> +2024-11-30 15:48:44,199 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\composer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\composer.py +2024-11-30 15:48:44,199 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\composer.cpython-39.pyc' +2024-11-30 15:48:44,199 - api.main - INFO - STDERR: import 'yaml.composer' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D904806940> +2024-11-30 15:48:44,199 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\constructor.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\constructor.py +2024-11-30 15:48:44,199 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\constructor.cpython-39.pyc' +2024-11-30 15:48:44,202 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\base64.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\base64.py +2024-11-30 15:48:44,202 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\base64.cpython-39.pyc' +2024-11-30 15:48:44,202 - api.main - INFO - STDERR: import 'binascii' # +2024-11-30 15:48:44,202 - api.main - INFO - STDERR: import 'base64' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D90481DBB0> +2024-11-30 15:48:44,203 - api.main - INFO - STDERR: import 'yaml.constructor' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D904806C10> +2024-11-30 15:48:44,204 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\resolver.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\resolver.py +2024-11-30 15:48:44,204 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\resolver.cpython-39.pyc' +2024-11-30 15:48:44,206 - api.main - INFO - STDERR: import 'yaml.resolver' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D90481D8B0> +2024-11-30 15:48:44,206 - api.main - INFO - STDERR: import 'yaml.loader' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9047EDF40> +2024-11-30 15:48:44,206 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\dumper.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\dumper.py +2024-11-30 15:48:44,206 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\dumper.cpython-39.pyc' +2024-11-30 15:48:44,207 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\emitter.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\emitter.py +2024-11-30 15:48:44,207 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\emitter.cpython-39.pyc' +2024-11-30 15:48:44,207 - api.main - INFO - STDERR: import 'yaml.emitter' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D90482CBB0> +2024-11-30 15:48:44,207 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\serializer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\serializer.py +2024-11-30 15:48:44,207 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\serializer.cpython-39.pyc' +2024-11-30 15:48:44,207 - api.main - INFO - STDERR: import 'yaml.serializer' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9048485B0> +2024-11-30 15:48:44,207 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\representer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\representer.py +2024-11-30 15:48:44,207 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\representer.cpython-39.pyc' +2024-11-30 15:48:44,207 - api.main - INFO - STDERR: import 'yaml.representer' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D904848850> +2024-11-30 15:48:44,207 - api.main - INFO - STDERR: import 'yaml.dumper' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9047FD160> +2024-11-30 15:48:44,207 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\cyaml.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\cyaml.py +2024-11-30 15:48:44,207 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\cyaml.cpython-39.pyc' +2024-11-30 15:48:44,209 - api.main - INFO - STDERR: # extension module 'yaml._yaml' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\_yaml.cp39-win_amd64.pyd' +2024-11-30 15:48:44,209 - api.main - INFO - STDERR: # extension module 'yaml._yaml' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\_yaml.cp39-win_amd64.pyd' +2024-11-30 15:48:44,209 - api.main - INFO - STDERR: import 'yaml._yaml' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001D904859460> +2024-11-30 15:48:44,209 - api.main - INFO - STDERR: import 'yaml.cyaml' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9047ED340> +2024-11-30 15:48:44,209 - api.main - INFO - STDERR: import 'yaml' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9047D2F70> +2024-11-30 15:48:44,211 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\plugin_loader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\plugin_loader.py +2024-11-30 15:48:44,211 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\plugin_loader.cpython-39.pyc' +2024-11-30 15:48:44,211 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\inspect.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\inspect.py +2024-11-30 15:48:44,212 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\inspect.cpython-39.pyc' +2024-11-30 15:48:44,213 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ast.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ast.py +2024-11-30 15:48:44,213 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ast.cpython-39.pyc' +2024-11-30 15:48:44,214 - api.main - INFO - STDERR: import '_ast' # +2024-11-30 15:48:44,214 - api.main - INFO - STDERR: import 'ast' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D904882AF0> +2024-11-30 15:48:44,215 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\dis.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\dis.py +2024-11-30 15:48:44,216 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\dis.cpython-39.pyc' +2024-11-30 15:48:44,216 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\opcode.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\opcode.py +2024-11-30 15:48:44,216 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\opcode.cpython-39.pyc' +2024-11-30 15:48:44,216 - api.main - INFO - STDERR: import '_opcode' # +2024-11-30 15:48:44,216 - api.main - INFO - STDERR: import 'opcode' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9048C2E20> +2024-11-30 15:48:44,216 - api.main - INFO - STDERR: import 'dis' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D90488C2E0> +2024-11-30 15:48:44,217 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__init__.py +2024-11-30 15:48:44,217 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:48:44,218 - api.main - INFO - STDERR: import 'importlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9048D6DF0> +2024-11-30 15:48:44,219 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\machinery.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\machinery.py +2024-11-30 15:48:44,219 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\machinery.cpython-39.pyc' +2024-11-30 15:48:44,219 - api.main - INFO - STDERR: import 'importlib.machinery' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9048D6C40> +2024-11-30 15:48:44,220 - api.main - INFO - STDERR: import 'inspect' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D904859AF0> +2024-11-30 15:48:44,221 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pkgutil.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pkgutil.py +2024-11-30 15:48:44,221 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pkgutil.cpython-39.pyc' +2024-11-30 15:48:44,221 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\util.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\util.py +2024-11-30 15:48:44,221 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\util.cpython-39.pyc' +2024-11-30 15:48:44,222 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\abc.py +2024-11-30 15:48:44,222 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 15:48:44,222 - api.main - INFO - STDERR: import 'importlib.abc' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9048F95E0> +2024-11-30 15:48:44,223 - api.main - INFO - STDERR: import 'importlib.util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9048E9640> +2024-11-30 15:48:44,223 - api.main - INFO - STDERR: import 'pkgutil' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D904865B20> +2024-11-30 15:48:44,223 - api.main - INFO - STDERR: import 'GramAddict.core.plugin_loader' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D904859190> +2024-11-30 15:48:44,223 - api.main - INFO - STDERR: import 'GramAddict.core.config' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D902D34250> +2024-11-30 15:48:44,223 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\device_facade.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py +2024-11-30 15:48:44,223 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\device_facade.cpython-39.pyc' +2024-11-30 15:48:44,226 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\subprocess.py +2024-11-30 15:48:44,226 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\subprocess.cpython-39.pyc' +2024-11-30 15:48:44,226 - api.main - INFO - STDERR: import 'errno' # +2024-11-30 15:48:44,227 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\signal.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\signal.py +2024-11-30 15:48:44,227 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\signal.cpython-39.pyc' +2024-11-30 15:48:44,227 - api.main - INFO - STDERR: import 'signal' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D904926A30> +2024-11-30 15:48:44,228 - api.main - INFO - STDERR: import 'msvcrt' # +2024-11-30 15:48:44,228 - api.main - INFO - STDERR: import '_winapi' # +2024-11-30 15:48:44,229 - api.main - INFO - STDERR: import 'subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D904919910> +2024-11-30 15:48:44,229 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py +2024-11-30 15:48:44,231 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:48:44,232 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\__future__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__future__.py +2024-11-30 15:48:44,232 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\__future__.cpython-39.pyc' +2024-11-30 15:48:44,233 - api.main - INFO - STDERR: import '__future__' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D904956E80> +2024-11-30 15:48:44,234 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\hashlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\hashlib.py +2024-11-30 15:48:44,235 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\hashlib.cpython-39.pyc' +2024-11-30 15:48:44,238 - api.main - INFO - STDERR: # extension module '_hashlib' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_hashlib.pyd' +2024-11-30 15:48:44,239 - api.main - INFO - STDERR: # extension module '_hashlib' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_hashlib.pyd' +2024-11-30 15:48:44,239 - api.main - INFO - STDERR: import '_hashlib' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001D9049649A0> +2024-11-30 15:48:44,239 - api.main - INFO - STDERR: import '_blake2' # +2024-11-30 15:48:44,239 - api.main - INFO - STDERR: import 'hashlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D904964580> +2024-11-30 15:48:44,242 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\shutil.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\shutil.py +2024-11-30 15:48:44,243 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\shutil.cpython-39.pyc' +2024-11-30 15:48:44,243 - api.main - INFO - STDERR: import 'zlib' # +2024-11-30 15:48:44,245 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\bz2.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\bz2.py +2024-11-30 15:48:44,245 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\bz2.cpython-39.pyc' +2024-11-30 15:48:44,247 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_compression.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_compression.py +2024-11-30 15:48:44,248 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_compression.cpython-39.pyc' +2024-11-30 15:48:44,248 - api.main - INFO - STDERR: import '_compression' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D904983370> +2024-11-30 15:48:44,249 - api.main - INFO - STDERR: # extension module '_bz2' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_bz2.pyd' +2024-11-30 15:48:44,250 - api.main - INFO - STDERR: # extension module '_bz2' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_bz2.pyd' +2024-11-30 15:48:44,250 - api.main - INFO - STDERR: import '_bz2' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001D9049838B0> +2024-11-30 15:48:44,250 - api.main - INFO - STDERR: import 'bz2' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D904971B20> +2024-11-30 15:48:44,251 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\lzma.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\lzma.py +2024-11-30 15:48:44,251 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\lzma.cpython-39.pyc' +2024-11-30 15:48:44,253 - api.main - INFO - STDERR: # extension module '_lzma' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_lzma.pyd' +2024-11-30 15:48:44,253 - api.main - INFO - STDERR: # extension module '_lzma' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_lzma.pyd' +2024-11-30 15:48:44,253 - api.main - INFO - STDERR: import '_lzma' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001D904983FA0> +2024-11-30 15:48:44,253 - api.main - INFO - STDERR: import 'lzma' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9049837F0> +2024-11-30 15:48:44,254 - api.main - INFO - STDERR: import 'shutil' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D904964C70> +2024-11-30 15:48:44,256 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\__init__.py +2024-11-30 15:48:44,256 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:48:44,256 - api.main - INFO - STDERR: import 'xml' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D904990940> +2024-11-30 15:48:44,257 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__init__.py +2024-11-30 15:48:44,257 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 15:48:44,259 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\domreg.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\domreg.py +2024-11-30 15:48:44,259 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\domreg.cpython-39.pyc' +2024-11-30 15:48:44,259 - api.main - INFO - STDERR: import 'xml.dom.domreg' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D904990EE0> +2024-11-30 15:48:44,259 - api.main - INFO - STDERR: import 'xml.dom' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D904971040> +2024-11-30 15:48:44,260 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\minidom.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\minidom.py +2024-11-30 15:48:44,260 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\minidom.cpython-39.pyc' +2024-11-30 15:48:44,262 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\minicompat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\minicompat.py +2024-11-30 15:48:44,262 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\minicompat.cpython-39.pyc' +2024-11-30 15:48:44,263 - api.main - INFO - STDERR: import 'xml.dom.minicompat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9049E64C0> +2024-11-30 15:48:44,264 - api.main - INFO - All tasks cleaned up. +2024-11-30 15:48:44,264 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\xmlbuilder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\xmlbuilder.py +2024-11-30 15:48:44,265 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\xmlbuilder.cpython-39.pyc' +2024-11-30 15:48:44,266 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\copy.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\copy.py +2024-11-30 15:48:44,266 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\copy.cpython-39.pyc' +2024-11-30 15:48:44,266 - api.main - INFO - STDERR: import 'copy' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9049EECA0> +2024-11-30 15:48:44,267 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\NodeFilter.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\NodeFilter.py +2024-11-30 15:48:44,267 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\NodeFilter.cpython-39.pyc' +2024-11-30 15:48:44,267 - api.main - INFO - STDERR: import 'xml.dom.NodeFilter' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9049EEFD0> +2024-11-30 15:48:44,267 - api.main - INFO - STDERR: import 'xml.dom.xmlbuilder' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D9049E6940> +2024-11-30 15:48:44,267 - api.main - INFO - STDERR: import 'xml.dom.minidom' # <_frozen_importlib_external.SourceFileLoader object at 0x000001D904964550> +2024-11-30 15:48:45,359 - api.main - INFO - API startup complete +2024-11-30 16:00:38,095 - api.main - INFO - Starting session for account quecreate with config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml +2024-11-30 16:00:38,095 - api.main - INFO - Running command: e:\PROJECTS\instagram automation\virtualinfluencer\venv\Scripts\python.exe -v e:\PROJECTS\instagram automation\virtualinfluencer\run.py --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 16:00:38,095 - api.main - INFO - Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 16:00:38,095 - api.main - INFO - Environment PYTHONPATH: None +2024-11-30 16:00:38,096 - api.main - INFO - Starting process with command: e:\PROJECTS\instagram automation\virtualinfluencer\venv\Scripts\python.exe -v e:\PROJECTS\instagram automation\virtualinfluencer\run.py --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 16:00:38,096 - api.main - INFO - Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 16:00:38,096 - api.main - INFO - PYTHONPATH: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 16:00:38,104 - api.main - INFO - Process started with PID: 38548 +2024-11-30 16:00:38,104 - api.main - INFO - Successfully started session for account: quecreate +2024-11-30 16:00:38,124 - api.main - INFO - STDERR: import _frozen_importlib # frozen +2024-11-30 16:00:38,124 - api.main - INFO - STDERR: import _imp # builtin +2024-11-30 16:00:38,124 - api.main - INFO - STDERR: import '_thread' # +2024-11-30 16:00:38,124 - api.main - INFO - STDERR: import '_warnings' # +2024-11-30 16:00:38,124 - api.main - INFO - STDERR: import '_weakref' # +2024-11-30 16:00:38,124 - api.main - INFO - STDERR: import '_io' # +2024-11-30 16:00:38,124 - api.main - INFO - STDERR: import 'marshal' # +2024-11-30 16:00:38,124 - api.main - INFO - STDERR: import 'nt' # +2024-11-30 16:00:38,124 - api.main - INFO - STDERR: import 'winreg' # +2024-11-30 16:00:38,125 - api.main - INFO - STDERR: import '_frozen_importlib_external' # +2024-11-30 16:00:38,125 - api.main - INFO - STDERR: # installing zipimport hook +2024-11-30 16:00:38,125 - api.main - INFO - STDERR: import 'time' # +2024-11-30 16:00:38,126 - api.main - INFO - STDERR: import 'zipimport' # +2024-11-30 16:00:38,126 - api.main - INFO - STDERR: # installed zipimport hook +2024-11-30 16:00:38,128 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__init__.py +2024-11-30 16:00:38,128 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,128 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\codecs.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\codecs.py +2024-11-30 16:00:38,128 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\codecs.cpython-39.pyc' +2024-11-30 16:00:38,128 - api.main - INFO - STDERR: import '_codecs' # +2024-11-30 16:00:38,129 - api.main - INFO - STDERR: import 'codecs' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0455940> +2024-11-30 16:00:38,130 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\aliases.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\aliases.py +2024-11-30 16:00:38,130 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\aliases.cpython-39.pyc' +2024-11-30 16:00:38,130 - api.main - INFO - STDERR: import 'encodings.aliases' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D09E4EB0> +2024-11-30 16:00:38,130 - api.main - INFO - STDERR: import 'encodings' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0455730> +2024-11-30 16:00:38,131 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\utf_8.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\utf_8.py +2024-11-30 16:00:38,131 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\utf_8.cpython-39.pyc' +2024-11-30 16:00:38,131 - api.main - INFO - STDERR: import 'encodings.utf_8' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0455790> +2024-11-30 16:00:38,131 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\cp1252.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\cp1252.py +2024-11-30 16:00:38,131 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\cp1252.cpython-39.pyc' +2024-11-30 16:00:38,131 - api.main - INFO - STDERR: import 'encodings.cp1252' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D09E4FA0> +2024-11-30 16:00:38,132 - api.main - INFO - STDERR: import '_signal' # +2024-11-30 16:00:38,132 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\latin_1.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\latin_1.py +2024-11-30 16:00:38,132 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\latin_1.cpython-39.pyc' +2024-11-30 16:00:38,132 - api.main - INFO - STDERR: import 'encodings.latin_1' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D09FC340> +2024-11-30 16:00:38,133 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\io.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\io.py +2024-11-30 16:00:38,133 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\io.cpython-39.pyc' +2024-11-30 16:00:38,134 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\abc.py +2024-11-30 16:00:38,134 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 16:00:38,134 - api.main - INFO - STDERR: import '_abc' # +2024-11-30 16:00:38,134 - api.main - INFO - STDERR: import 'abc' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D09FC7F0> +2024-11-30 16:00:38,134 - api.main - INFO - STDERR: import 'io' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D09FC520> +2024-11-30 16:00:38,135 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\site.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\site.py +2024-11-30 16:00:38,135 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\site.cpython-39.pyc' +2024-11-30 16:00:38,136 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\os.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\os.py +2024-11-30 16:00:38,136 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\os.cpython-39.pyc' +2024-11-30 16:00:38,137 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\stat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\stat.py +2024-11-30 16:00:38,137 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\stat.cpython-39.pyc' +2024-11-30 16:00:38,137 - api.main - INFO - STDERR: import '_stat' # +2024-11-30 16:00:38,137 - api.main - INFO - STDERR: import 'stat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0A1FFA0> +2024-11-30 16:00:38,138 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_collections_abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_collections_abc.py +2024-11-30 16:00:38,138 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_collections_abc.cpython-39.pyc' +2024-11-30 16:00:38,138 - api.main - INFO - STDERR: import '_collections_abc' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0A26130> +2024-11-30 16:00:38,140 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ntpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ntpath.py +2024-11-30 16:00:38,140 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ntpath.cpython-39.pyc' +2024-11-30 16:00:38,141 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\genericpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\genericpath.py +2024-11-30 16:00:38,141 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\genericpath.cpython-39.pyc' +2024-11-30 16:00:38,141 - api.main - INFO - STDERR: import 'genericpath' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0A4F970> +2024-11-30 16:00:38,141 - api.main - INFO - STDERR: import 'ntpath' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0A26A60> +2024-11-30 16:00:38,141 - api.main - INFO - STDERR: import 'os' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0A057C0> +2024-11-30 16:00:38,142 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_sitebuiltins.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_sitebuiltins.py +2024-11-30 16:00:38,143 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_sitebuiltins.cpython-39.pyc' +2024-11-30 16:00:38,143 - api.main - INFO - STDERR: import '_sitebuiltins' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0A1F460> +2024-11-30 16:00:38,144 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_bootlocale.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_bootlocale.py +2024-11-30 16:00:38,144 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_bootlocale.cpython-39.pyc' +2024-11-30 16:00:38,144 - api.main - INFO - STDERR: import '_locale' # +2024-11-30 16:00:38,144 - api.main - INFO - STDERR: import '_bootlocale' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0A4FD90> +2024-11-30 16:00:38,145 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__init__.py +2024-11-30 16:00:38,145 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\_distutils_hack\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,146 - api.main - INFO - STDERR: import '_distutils_hack' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0A65B80> +2024-11-30 16:00:38,146 - api.main - INFO - STDERR: import 'site' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D09FC850> +2024-11-30 16:00:38,146 - api.main - INFO - STDERR: Python 3.9.10 (tags/v3.9.10:f2f3f53, Jan 17 2022, 15:14:21) [MSC v.1929 64 bit (AMD64)] on win32 +2024-11-30 16:00:38,146 - api.main - INFO - STDERR: Type "help", "copyright", "credits" or "license" for more information. +2024-11-30 16:00:38,147 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\__init__.py +2024-11-30 16:00:38,147 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,148 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__init__.py +2024-11-30 16:00:38,148 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,149 - api.main - INFO - STDERR: import 'GramAddict.core' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0A745B0> +2024-11-30 16:00:38,149 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\bot_flow.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\bot_flow.py +2024-11-30 16:00:38,149 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\bot_flow.cpython-39.pyc' +2024-11-30 16:00:38,150 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__init__.py +2024-11-30 16:00:38,150 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\logging\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,151 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\re.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\re.py +2024-11-30 16:00:38,151 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\re.cpython-39.pyc' +2024-11-30 16:00:38,152 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\enum.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\enum.py +2024-11-30 16:00:38,152 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\enum.cpython-39.pyc' +2024-11-30 16:00:38,153 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\types.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\types.py +2024-11-30 16:00:38,153 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\types.cpython-39.pyc' +2024-11-30 16:00:38,153 - api.main - INFO - STDERR: import 'types' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0CB74C0> +2024-11-30 16:00:38,154 - api.main - INFO - STDERR: import 'enum' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0C9EFD0> +2024-11-30 16:00:38,154 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_compile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_compile.py +2024-11-30 16:00:38,154 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_compile.cpython-39.pyc' +2024-11-30 16:00:38,155 - api.main - INFO - STDERR: import '_sre' # +2024-11-30 16:00:38,155 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_parse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_parse.py +2024-11-30 16:00:38,155 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_parse.cpython-39.pyc' +2024-11-30 16:00:38,156 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_constants.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_constants.py +2024-11-30 16:00:38,156 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_constants.cpython-39.pyc' +2024-11-30 16:00:38,157 - api.main - INFO - STDERR: import 'sre_constants' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0CDB2E0> +2024-11-30 16:00:38,157 - api.main - INFO - STDERR: import 'sre_parse' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0CC98B0> +2024-11-30 16:00:38,157 - api.main - INFO - STDERR: import 'sre_compile' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0CB7FD0> +2024-11-30 16:00:38,158 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\functools.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\functools.py +2024-11-30 16:00:38,158 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\functools.cpython-39.pyc' +2024-11-30 16:00:38,158 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__init__.py +2024-11-30 16:00:38,159 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\collections\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,159 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\heapq.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\heapq.py +2024-11-30 16:00:38,159 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\heapq.cpython-39.pyc' +2024-11-30 16:00:38,159 - api.main - INFO - STDERR: import '_heapq' # +2024-11-30 16:00:38,159 - api.main - INFO - STDERR: import 'heapq' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0D0EA60> +2024-11-30 16:00:38,160 - api.main - INFO - STDERR: import 'itertools' # +2024-11-30 16:00:38,161 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\keyword.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\keyword.py +2024-11-30 16:00:38,161 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\keyword.cpython-39.pyc' +2024-11-30 16:00:38,161 - api.main - INFO - STDERR: import 'keyword' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0D0EFD0> +2024-11-30 16:00:38,161 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\operator.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\operator.py +2024-11-30 16:00:38,161 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\operator.cpython-39.pyc' +2024-11-30 16:00:38,161 - api.main - INFO - STDERR: import '_operator' # +2024-11-30 16:00:38,161 - api.main - INFO - STDERR: import 'operator' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0D0EF10> +2024-11-30 16:00:38,162 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\reprlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\reprlib.py +2024-11-30 16:00:38,163 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\reprlib.cpython-39.pyc' +2024-11-30 16:00:38,163 - api.main - INFO - STDERR: import 'reprlib' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0D20160> +2024-11-30 16:00:38,163 - api.main - INFO - STDERR: import '_collections' # +2024-11-30 16:00:38,163 - api.main - INFO - STDERR: import 'collections' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0CE9EE0> +2024-11-30 16:00:38,163 - api.main - INFO - STDERR: import '_functools' # +2024-11-30 16:00:38,163 - api.main - INFO - STDERR: import 'functools' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0CE1790> +2024-11-30 16:00:38,164 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\copyreg.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\copyreg.py +2024-11-30 16:00:38,164 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\copyreg.cpython-39.pyc' +2024-11-30 16:00:38,164 - api.main - INFO - STDERR: import 'copyreg' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0CF6730> +2024-11-30 16:00:38,165 - api.main - INFO - STDERR: import 're' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0C9E580> +2024-11-30 16:00:38,165 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\traceback.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\traceback.py +2024-11-30 16:00:38,165 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\traceback.cpython-39.pyc' +2024-11-30 16:00:38,166 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\linecache.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\linecache.py +2024-11-30 16:00:38,166 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\linecache.cpython-39.pyc' +2024-11-30 16:00:38,166 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tokenize.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tokenize.py +2024-11-30 16:00:38,167 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tokenize.cpython-39.pyc' +2024-11-30 16:00:38,167 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\token.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\token.py +2024-11-30 16:00:38,167 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\token.cpython-39.pyc' +2024-11-30 16:00:38,168 - api.main - INFO - STDERR: import 'token' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0D23F40> +2024-11-30 16:00:38,168 - api.main - INFO - STDERR: import 'tokenize' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0D23550> +2024-11-30 16:00:38,168 - api.main - INFO - STDERR: import 'linecache' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0D20A90> +2024-11-30 16:00:38,168 - api.main - INFO - STDERR: import 'traceback' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0CF6340> +2024-11-30 16:00:38,170 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\warnings.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\warnings.py +2024-11-30 16:00:38,170 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\warnings.cpython-39.pyc' +2024-11-30 16:00:38,170 - api.main - INFO - STDERR: import 'warnings' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0D20910> +2024-11-30 16:00:38,170 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\weakref.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\weakref.py +2024-11-30 16:00:38,170 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\weakref.cpython-39.pyc' +2024-11-30 16:00:38,171 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_weakrefset.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_weakrefset.py +2024-11-30 16:00:38,171 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_weakrefset.cpython-39.pyc' +2024-11-30 16:00:38,171 - api.main - INFO - STDERR: import '_weakrefset' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0D65D90> +2024-11-30 16:00:38,171 - api.main - INFO - STDERR: import 'weakref' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0D29760> +2024-11-30 16:00:38,172 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\abc.py +2024-11-30 16:00:38,172 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\collections\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 16:00:38,172 - api.main - INFO - STDERR: import 'collections.abc' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0D6EA30> +2024-11-30 16:00:38,173 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\string.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\string.py +2024-11-30 16:00:38,173 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\string.cpython-39.pyc' +2024-11-30 16:00:38,173 - api.main - INFO - STDERR: import '_string' # +2024-11-30 16:00:38,173 - api.main - INFO - STDERR: import 'string' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0D6EB20> +2024-11-30 16:00:38,174 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\threading.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\threading.py +2024-11-30 16:00:38,174 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\threading.cpython-39.pyc' +2024-11-30 16:00:38,174 - api.main - INFO - STDERR: import 'threading' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0D7A130> +2024-11-30 16:00:38,176 - api.main - INFO - STDERR: import 'atexit' # +2024-11-30 16:00:38,176 - api.main - INFO - STDERR: import 'logging' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0A74190> +2024-11-30 16:00:38,177 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\random.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\random.py +2024-11-30 16:00:38,177 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\random.cpython-39.pyc' +2024-11-30 16:00:38,177 - api.main - INFO - STDERR: import 'math' # +2024-11-30 16:00:38,178 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\bisect.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\bisect.py +2024-11-30 16:00:38,178 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\bisect.cpython-39.pyc' +2024-11-30 16:00:38,178 - api.main - INFO - STDERR: import '_bisect' # +2024-11-30 16:00:38,178 - api.main - INFO - STDERR: import 'bisect' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0D9BF40> +2024-11-30 16:00:38,178 - api.main - INFO - STDERR: import '_random' # +2024-11-30 16:00:38,178 - api.main - INFO - STDERR: import '_sha512' # +2024-11-30 16:00:38,179 - api.main - INFO - STDERR: import 'random' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0A65130> +2024-11-30 16:00:38,179 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\datetime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\datetime.py +2024-11-30 16:00:38,179 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\datetime.cpython-39.pyc' +2024-11-30 16:00:38,180 - api.main - INFO - STDERR: import '_datetime' # +2024-11-30 16:00:38,180 - api.main - INFO - STDERR: import 'datetime' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0DB4190> +2024-11-30 16:00:38,181 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__init__.py +2024-11-30 16:00:38,181 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,181 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\initialise.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\initialise.py +2024-11-30 16:00:38,181 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\initialise.cpython-39.pyc' +2024-11-30 16:00:38,182 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\contextlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\contextlib.py +2024-11-30 16:00:38,182 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\contextlib.cpython-39.pyc' +2024-11-30 16:00:38,182 - api.main - INFO - STDERR: import 'contextlib' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0DDFBB0> +2024-11-30 16:00:38,182 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\ansitowin32.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\ansitowin32.py +2024-11-30 16:00:38,182 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\ansitowin32.cpython-39.pyc' +2024-11-30 16:00:38,183 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\ansi.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\ansi.py +2024-11-30 16:00:38,183 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\ansi.cpython-39.pyc' +2024-11-30 16:00:38,183 - api.main - INFO - STDERR: import 'colorama.ansi' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0DEF730> +2024-11-30 16:00:38,183 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\winterm.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\winterm.py +2024-11-30 16:00:38,183 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\winterm.cpython-39.pyc' +2024-11-30 16:00:38,184 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\win32.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\win32.py +2024-11-30 16:00:38,184 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\win32.cpython-39.pyc' +2024-11-30 16:00:38,185 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__init__.py +2024-11-30 16:00:38,185 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,190 - api.main - INFO - STDERR: # extension module '_ctypes' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ctypes.pyd' +2024-11-30 16:00:38,190 - api.main - INFO - STDERR: # extension module '_ctypes' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ctypes.pyd' +2024-11-30 16:00:38,190 - api.main - INFO - STDERR: import '_ctypes' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000254D0E0F7C0> +2024-11-30 16:00:38,191 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\struct.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\struct.py +2024-11-30 16:00:38,191 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\struct.cpython-39.pyc' +2024-11-30 16:00:38,191 - api.main - INFO - STDERR: import '_struct' # +2024-11-30 16:00:38,191 - api.main - INFO - STDERR: import 'struct' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0E0FCA0> +2024-11-30 16:00:38,192 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\_endian.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\_endian.py +2024-11-30 16:00:38,192 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\_endian.cpython-39.pyc' +2024-11-30 16:00:38,192 - api.main - INFO - STDERR: import 'ctypes._endian' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0E21A00> +2024-11-30 16:00:38,192 - api.main - INFO - STDERR: import 'ctypes' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0E04520> +2024-11-30 16:00:38,192 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\wintypes.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\wintypes.py +2024-11-30 16:00:38,192 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\wintypes.cpython-39.pyc' +2024-11-30 16:00:38,193 - api.main - INFO - STDERR: import 'ctypes.wintypes' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0E04970> +2024-11-30 16:00:38,193 - api.main - INFO - STDERR: import 'colorama.win32' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0DDF2E0> +2024-11-30 16:00:38,193 - api.main - INFO - STDERR: import 'colorama.winterm' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0DEFD30> +2024-11-30 16:00:38,193 - api.main - INFO - STDERR: import 'colorama.ansitowin32' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0DDFF10> +2024-11-30 16:00:38,193 - api.main - INFO - STDERR: import 'colorama.initialise' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0DDF940> +2024-11-30 16:00:38,193 - api.main - INFO - STDERR: import 'colorama' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0DB4220> +2024-11-30 16:00:38,195 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\config.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\config.py +2024-11-30 16:00:38,195 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\config.cpython-39.pyc' +2024-11-30 16:00:38,196 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\typing.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\typing.py +2024-11-30 16:00:38,196 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\typing.cpython-39.pyc' +2024-11-30 16:00:38,197 - api.main - INFO - STDERR: import 'typing' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0E21FA0> +2024-11-30 16:00:38,197 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\configargparse.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\configargparse.py +2024-11-30 16:00:38,197 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\configargparse.cpython-39.pyc' +2024-11-30 16:00:38,199 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\argparse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\argparse.py +2024-11-30 16:00:38,199 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\argparse.cpython-39.pyc' +2024-11-30 16:00:38,200 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\gettext.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\gettext.py +2024-11-30 16:00:38,200 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\gettext.cpython-39.pyc' +2024-11-30 16:00:38,201 - api.main - INFO - STDERR: import 'gettext' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0DB4AC0> +2024-11-30 16:00:38,202 - api.main - INFO - STDERR: import 'argparse' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2842FD0> +2024-11-30 16:00:38,202 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__init__.py +2024-11-30 16:00:38,202 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,203 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\decoder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\decoder.py +2024-11-30 16:00:38,203 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\decoder.cpython-39.pyc' +2024-11-30 16:00:38,203 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\scanner.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\scanner.py +2024-11-30 16:00:38,203 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\scanner.cpython-39.pyc' +2024-11-30 16:00:38,203 - api.main - INFO - STDERR: import '_json' # +2024-11-30 16:00:38,204 - api.main - INFO - STDERR: import 'json.scanner' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0D237C0> +2024-11-30 16:00:38,204 - api.main - INFO - STDERR: import 'json.decoder' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0DCE070> +2024-11-30 16:00:38,204 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\encoder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\encoder.py +2024-11-30 16:00:38,204 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\encoder.cpython-39.pyc' +2024-11-30 16:00:38,204 - api.main - INFO - STDERR: import 'json.encoder' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0DCED60> +2024-11-30 16:00:38,204 - api.main - INFO - STDERR: import 'json' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0DC6C40> +2024-11-30 16:00:38,206 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\glob.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\glob.py +2024-11-30 16:00:38,206 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\glob.cpython-39.pyc' +2024-11-30 16:00:38,207 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\fnmatch.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\fnmatch.py +2024-11-30 16:00:38,207 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\fnmatch.cpython-39.pyc' +2024-11-30 16:00:38,207 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\posixpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\posixpath.py +2024-11-30 16:00:38,208 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\posixpath.cpython-39.pyc' +2024-11-30 16:00:38,208 - api.main - INFO - STDERR: import 'posixpath' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2882790> +2024-11-30 16:00:38,208 - api.main - INFO - STDERR: import 'fnmatch' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2882430> +2024-11-30 16:00:38,208 - api.main - INFO - STDERR: import 'glob' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D285AC10> +2024-11-30 16:00:38,208 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\textwrap.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\textwrap.py +2024-11-30 16:00:38,208 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\textwrap.cpython-39.pyc' +2024-11-30 16:00:38,209 - api.main - INFO - STDERR: import 'textwrap' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D28825E0> +2024-11-30 16:00:38,209 - api.main - INFO - STDERR: import 'configargparse' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0E418E0> +2024-11-30 16:00:38,210 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__init__.py +2024-11-30 16:00:38,210 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,210 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\error.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\error.py +2024-11-30 16:00:38,210 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\error.cpython-39.pyc' +2024-11-30 16:00:38,210 - api.main - INFO - STDERR: import 'yaml.error' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2895D30> +2024-11-30 16:00:38,210 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\tokens.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\tokens.py +2024-11-30 16:00:38,210 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\tokens.cpython-39.pyc' +2024-11-30 16:00:38,210 - api.main - INFO - STDERR: import 'yaml.tokens' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2895EE0> +2024-11-30 16:00:38,212 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\events.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\events.py +2024-11-30 16:00:38,212 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\events.cpython-39.pyc' +2024-11-30 16:00:38,212 - api.main - INFO - STDERR: import 'yaml.events' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D289D1F0> +2024-11-30 16:00:38,212 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\nodes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\nodes.py +2024-11-30 16:00:38,212 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\nodes.cpython-39.pyc' +2024-11-30 16:00:38,212 - api.main - INFO - STDERR: import 'yaml.nodes' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D289DA00> +2024-11-30 16:00:38,212 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\loader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\loader.py +2024-11-30 16:00:38,212 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\loader.cpython-39.pyc' +2024-11-30 16:00:38,213 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\reader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\reader.py +2024-11-30 16:00:38,213 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\reader.cpython-39.pyc' +2024-11-30 16:00:38,218 - api.main - INFO - STDERR: import 'yaml.reader' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D28AC370> +2024-11-30 16:00:38,219 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\scanner.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\scanner.py +2024-11-30 16:00:38,219 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\scanner.cpython-39.pyc' +2024-11-30 16:00:38,219 - api.main - INFO - STDERR: import 'yaml.scanner' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D28AC700> +2024-11-30 16:00:38,219 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\parser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\parser.py +2024-11-30 16:00:38,219 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\parser.cpython-39.pyc' +2024-11-30 16:00:38,219 - api.main - INFO - STDERR: import 'yaml.parser' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D28B6280> +2024-11-30 16:00:38,219 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\composer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\composer.py +2024-11-30 16:00:38,219 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\composer.cpython-39.pyc' +2024-11-30 16:00:38,220 - api.main - INFO - STDERR: import 'yaml.composer' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D28B6940> +2024-11-30 16:00:38,220 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\constructor.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\constructor.py +2024-11-30 16:00:38,220 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\constructor.cpython-39.pyc' +2024-11-30 16:00:38,221 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\base64.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\base64.py +2024-11-30 16:00:38,221 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\base64.cpython-39.pyc' +2024-11-30 16:00:38,221 - api.main - INFO - STDERR: import 'binascii' # +2024-11-30 16:00:38,221 - api.main - INFO - STDERR: import 'base64' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D28CCBB0> +2024-11-30 16:00:38,222 - api.main - INFO - STDERR: import 'yaml.constructor' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D28B6C10> +2024-11-30 16:00:38,222 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\resolver.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\resolver.py +2024-11-30 16:00:38,222 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\resolver.cpython-39.pyc' +2024-11-30 16:00:38,224 - api.main - INFO - STDERR: import 'yaml.resolver' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D28CC8B0> +2024-11-30 16:00:38,224 - api.main - INFO - STDERR: import 'yaml.loader' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D289DF40> +2024-11-30 16:00:38,224 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\dumper.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\dumper.py +2024-11-30 16:00:38,224 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\dumper.cpython-39.pyc' +2024-11-30 16:00:38,225 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\emitter.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\emitter.py +2024-11-30 16:00:38,225 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\emitter.cpython-39.pyc' +2024-11-30 16:00:38,225 - api.main - INFO - STDERR: import 'yaml.emitter' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D28DCBB0> +2024-11-30 16:00:38,225 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\serializer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\serializer.py +2024-11-30 16:00:38,225 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\serializer.cpython-39.pyc' +2024-11-30 16:00:38,225 - api.main - INFO - STDERR: import 'yaml.serializer' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D28F85B0> +2024-11-30 16:00:38,225 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\representer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\representer.py +2024-11-30 16:00:38,226 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\representer.cpython-39.pyc' +2024-11-30 16:00:38,226 - api.main - INFO - STDERR: import 'yaml.representer' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D28F8850> +2024-11-30 16:00:38,226 - api.main - INFO - STDERR: import 'yaml.dumper' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D28AC160> +2024-11-30 16:00:38,226 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\cyaml.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\cyaml.py +2024-11-30 16:00:38,226 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\cyaml.cpython-39.pyc' +2024-11-30 16:00:38,227 - api.main - INFO - STDERR: # extension module 'yaml._yaml' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\_yaml.cp39-win_amd64.pyd' +2024-11-30 16:00:38,227 - api.main - INFO - STDERR: # extension module 'yaml._yaml' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\_yaml.cp39-win_amd64.pyd' +2024-11-30 16:00:38,227 - api.main - INFO - STDERR: import 'yaml._yaml' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000254D2909460> +2024-11-30 16:00:38,227 - api.main - INFO - STDERR: import 'yaml.cyaml' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D289D340> +2024-11-30 16:00:38,227 - api.main - INFO - STDERR: import 'yaml' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2882F70> +2024-11-30 16:00:38,228 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\plugin_loader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\plugin_loader.py +2024-11-30 16:00:38,228 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\plugin_loader.cpython-39.pyc' +2024-11-30 16:00:38,228 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\inspect.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\inspect.py +2024-11-30 16:00:38,228 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\inspect.cpython-39.pyc' +2024-11-30 16:00:38,229 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ast.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ast.py +2024-11-30 16:00:38,229 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ast.cpython-39.pyc' +2024-11-30 16:00:38,230 - api.main - INFO - STDERR: import '_ast' # +2024-11-30 16:00:38,230 - api.main - INFO - STDERR: import 'ast' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2942AF0> +2024-11-30 16:00:38,232 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\dis.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\dis.py +2024-11-30 16:00:38,232 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\dis.cpython-39.pyc' +2024-11-30 16:00:38,233 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\opcode.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\opcode.py +2024-11-30 16:00:38,233 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\opcode.cpython-39.pyc' +2024-11-30 16:00:38,233 - api.main - INFO - STDERR: import '_opcode' # +2024-11-30 16:00:38,233 - api.main - INFO - STDERR: import 'opcode' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2983E20> +2024-11-30 16:00:38,233 - api.main - INFO - STDERR: import 'dis' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D294C2E0> +2024-11-30 16:00:38,234 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__init__.py +2024-11-30 16:00:38,234 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,234 - api.main - INFO - STDERR: import 'importlib' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2996DF0> +2024-11-30 16:00:38,235 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\machinery.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\machinery.py +2024-11-30 16:00:38,235 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\machinery.cpython-39.pyc' +2024-11-30 16:00:38,235 - api.main - INFO - STDERR: import 'importlib.machinery' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2996C40> +2024-11-30 16:00:38,235 - api.main - INFO - STDERR: import 'inspect' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2909AF0> +2024-11-30 16:00:38,237 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pkgutil.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pkgutil.py +2024-11-30 16:00:38,237 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pkgutil.cpython-39.pyc' +2024-11-30 16:00:38,237 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\util.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\util.py +2024-11-30 16:00:38,237 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\util.cpython-39.pyc' +2024-11-30 16:00:38,238 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\abc.py +2024-11-30 16:00:38,238 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 16:00:38,238 - api.main - INFO - STDERR: import 'importlib.abc' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D29B95E0> +2024-11-30 16:00:38,238 - api.main - INFO - STDERR: import 'importlib.util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D29AA640> +2024-11-30 16:00:38,239 - api.main - INFO - STDERR: import 'pkgutil' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2915B20> +2024-11-30 16:00:38,239 - api.main - INFO - STDERR: import 'GramAddict.core.plugin_loader' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2909190> +2024-11-30 16:00:38,239 - api.main - INFO - STDERR: import 'GramAddict.core.config' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0DB4250> +2024-11-30 16:00:38,240 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\device_facade.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py +2024-11-30 16:00:38,240 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\device_facade.cpython-39.pyc' +2024-11-30 16:00:38,240 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\subprocess.py +2024-11-30 16:00:38,241 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\subprocess.cpython-39.pyc' +2024-11-30 16:00:38,241 - api.main - INFO - STDERR: import 'errno' # +2024-11-30 16:00:38,242 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\signal.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\signal.py +2024-11-30 16:00:38,242 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\signal.cpython-39.pyc' +2024-11-30 16:00:38,242 - api.main - INFO - STDERR: import 'signal' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D29E6A30> +2024-11-30 16:00:38,243 - api.main - INFO - STDERR: import 'msvcrt' # +2024-11-30 16:00:38,243 - api.main - INFO - STDERR: import '_winapi' # +2024-11-30 16:00:38,243 - api.main - INFO - STDERR: import 'subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D29D9910> +2024-11-30 16:00:38,244 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py +2024-11-30 16:00:38,245 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,245 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\__future__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__future__.py +2024-11-30 16:00:38,245 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\__future__.cpython-39.pyc' +2024-11-30 16:00:38,246 - api.main - INFO - STDERR: import '__future__' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2A16E80> +2024-11-30 16:00:38,246 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\hashlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\hashlib.py +2024-11-30 16:00:38,246 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\hashlib.cpython-39.pyc' +2024-11-30 16:00:38,247 - api.main - INFO - STDERR: # extension module '_hashlib' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_hashlib.pyd' +2024-11-30 16:00:38,247 - api.main - INFO - STDERR: # extension module '_hashlib' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_hashlib.pyd' +2024-11-30 16:00:38,248 - api.main - INFO - STDERR: import '_hashlib' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000254D2A249A0> +2024-11-30 16:00:38,248 - api.main - INFO - STDERR: import '_blake2' # +2024-11-30 16:00:38,248 - api.main - INFO - STDERR: import 'hashlib' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2A24580> +2024-11-30 16:00:38,248 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\shutil.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\shutil.py +2024-11-30 16:00:38,248 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\shutil.cpython-39.pyc' +2024-11-30 16:00:38,249 - api.main - INFO - STDERR: import 'zlib' # +2024-11-30 16:00:38,249 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\bz2.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\bz2.py +2024-11-30 16:00:38,249 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\bz2.cpython-39.pyc' +2024-11-30 16:00:38,250 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_compression.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_compression.py +2024-11-30 16:00:38,250 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_compression.cpython-39.pyc' +2024-11-30 16:00:38,251 - api.main - INFO - STDERR: import '_compression' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2A53370> +2024-11-30 16:00:38,252 - api.main - INFO - STDERR: # extension module '_bz2' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_bz2.pyd' +2024-11-30 16:00:38,253 - api.main - INFO - STDERR: # extension module '_bz2' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_bz2.pyd' +2024-11-30 16:00:38,253 - api.main - INFO - STDERR: import '_bz2' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000254D2A538B0> +2024-11-30 16:00:38,253 - api.main - INFO - STDERR: import 'bz2' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2A41B20> +2024-11-30 16:00:38,253 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\lzma.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\lzma.py +2024-11-30 16:00:38,253 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\lzma.cpython-39.pyc' +2024-11-30 16:00:38,254 - api.main - INFO - STDERR: # extension module '_lzma' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_lzma.pyd' +2024-11-30 16:00:38,254 - api.main - INFO - STDERR: # extension module '_lzma' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_lzma.pyd' +2024-11-30 16:00:38,254 - api.main - INFO - STDERR: import '_lzma' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000254D2A53FA0> +2024-11-30 16:00:38,254 - api.main - INFO - STDERR: import 'lzma' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2A537F0> +2024-11-30 16:00:38,255 - api.main - INFO - STDERR: import 'shutil' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2A24C70> +2024-11-30 16:00:38,257 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\__init__.py +2024-11-30 16:00:38,257 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,257 - api.main - INFO - STDERR: import 'xml' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2A60940> +2024-11-30 16:00:38,257 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__init__.py +2024-11-30 16:00:38,258 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,258 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\domreg.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\domreg.py +2024-11-30 16:00:38,258 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\domreg.cpython-39.pyc' +2024-11-30 16:00:38,259 - api.main - INFO - STDERR: import 'xml.dom.domreg' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2A60EE0> +2024-11-30 16:00:38,259 - api.main - INFO - STDERR: import 'xml.dom' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2A41040> +2024-11-30 16:00:38,259 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\minidom.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\minidom.py +2024-11-30 16:00:38,259 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\minidom.cpython-39.pyc' +2024-11-30 16:00:38,260 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\minicompat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\minicompat.py +2024-11-30 16:00:38,260 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\minicompat.cpython-39.pyc' +2024-11-30 16:00:38,260 - api.main - INFO - STDERR: import 'xml.dom.minicompat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2AB64C0> +2024-11-30 16:00:38,260 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\xmlbuilder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\xmlbuilder.py +2024-11-30 16:00:38,260 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\xmlbuilder.cpython-39.pyc' +2024-11-30 16:00:38,262 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\copy.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\copy.py +2024-11-30 16:00:38,262 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\copy.cpython-39.pyc' +2024-11-30 16:00:38,262 - api.main - INFO - STDERR: import 'copy' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2ABECA0> +2024-11-30 16:00:38,263 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\NodeFilter.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\NodeFilter.py +2024-11-30 16:00:38,263 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\NodeFilter.cpython-39.pyc' +2024-11-30 16:00:38,263 - api.main - INFO - STDERR: import 'xml.dom.NodeFilter' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2ABEFD0> +2024-11-30 16:00:38,263 - api.main - INFO - STDERR: import 'xml.dom.xmlbuilder' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2AB6940> +2024-11-30 16:00:38,263 - api.main - INFO - STDERR: import 'xml.dom.minidom' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2A24550> +2024-11-30 16:00:38,264 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pathlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pathlib.py +2024-11-30 16:00:38,264 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pathlib.cpython-39.pyc' +2024-11-30 16:00:38,265 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__init__.py +2024-11-30 16:00:38,265 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,265 - api.main - INFO - STDERR: import 'urllib' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2AEAD00> +2024-11-30 16:00:38,266 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\parse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\parse.py +2024-11-30 16:00:38,266 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\parse.cpython-39.pyc' +2024-11-30 16:00:38,266 - api.main - INFO - STDERR: import 'urllib.parse' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2AEAD30> +2024-11-30 16:00:38,267 - api.main - INFO - STDERR: import 'pathlib' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2AAC400> +2024-11-30 16:00:38,268 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__init__.py +2024-11-30 16:00:38,268 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,268 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\deprecation.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecation.py +2024-11-30 16:00:38,268 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\deprecation.cpython-39.pyc' +2024-11-30 16:00:38,270 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__init__.py +2024-11-30 16:00:38,270 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,270 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\__about__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__about__.py +2024-11-30 16:00:38,270 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\__about__.cpython-39.pyc' +2024-11-30 16:00:38,270 - api.main - INFO - STDERR: import 'packaging.__about__' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2B13790> +2024-11-30 16:00:38,270 - api.main - INFO - STDERR: import 'packaging' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2B13520> +2024-11-30 16:00:38,270 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\version.py +2024-11-30 16:00:38,270 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\version.cpython-39.pyc' +2024-11-30 16:00:38,271 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_structures.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_structures.py +2024-11-30 16:00:38,271 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_structures.cpython-39.pyc' +2024-11-30 16:00:38,271 - api.main - INFO - STDERR: import 'packaging._structures' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2B1D640> +2024-11-30 16:00:38,271 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_typing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_typing.py +2024-11-30 16:00:38,271 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_typing.cpython-39.pyc' +2024-11-30 16:00:38,272 - api.main - INFO - STDERR: import 'packaging._typing' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2B1DF10> +2024-11-30 16:00:38,274 - api.main - INFO - STDERR: import 'packaging.version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2B135B0> +2024-11-30 16:00:38,274 - api.main - INFO - STDERR: import 'deprecation' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2B13100> +2024-11-30 16:00:38,274 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_adb.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_adb.py +2024-11-30 16:00:38,274 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_adb.cpython-39.pyc' +2024-11-30 16:00:38,275 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\socket.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\socket.py +2024-11-30 16:00:38,275 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\socket.cpython-39.pyc' +2024-11-30 16:00:38,278 - api.main - INFO - STDERR: # extension module '_socket' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_socket.pyd' +2024-11-30 16:00:38,278 - api.main - INFO - STDERR: # extension module '_socket' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_socket.pyd' +2024-11-30 16:00:38,278 - api.main - INFO - STDERR: import '_socket' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000254D2B3AC40> +2024-11-30 16:00:38,279 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\selectors.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\selectors.py +2024-11-30 16:00:38,279 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\selectors.cpython-39.pyc' +2024-11-30 16:00:38,280 - api.main - INFO - STDERR: # extension module 'select' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\select.pyd' +2024-11-30 16:00:38,280 - api.main - INFO - STDERR: # extension module 'select' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\select.pyd' +2024-11-30 16:00:38,280 - api.main - INFO - STDERR: import 'select' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000254D2B4DE20> +2024-11-30 16:00:38,280 - api.main - INFO - STDERR: import 'selectors' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2B3AD90> +2024-11-30 16:00:38,281 - api.main - INFO - STDERR: import 'socket' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2B24F40> +2024-11-30 16:00:38,281 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_utils.py +2024-11-30 16:00:38,282 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_utils.cpython-39.pyc' +2024-11-30 16:00:38,283 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\shlex.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\shlex.py +2024-11-30 16:00:38,283 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\shlex.cpython-39.pyc' +2024-11-30 16:00:38,283 - api.main - INFO - STDERR: import 'shlex' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2B53D00> +2024-11-30 16:00:38,284 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tempfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tempfile.py +2024-11-30 16:00:38,284 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tempfile.cpython-39.pyc' +2024-11-30 16:00:38,284 - api.main - INFO - STDERR: import 'tempfile' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2B5C280> +2024-11-30 16:00:38,285 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\zipfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\zipfile.py +2024-11-30 16:00:38,285 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\zipfile.cpython-39.pyc' +2024-11-30 16:00:38,285 - api.main - INFO - STDERR: import 'zipfile' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2B86640> +2024-11-30 16:00:38,286 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\whichcraft.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\whichcraft.py +2024-11-30 16:00:38,286 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\whichcraft.cpython-39.pyc' +2024-11-30 16:00:38,286 - api.main - INFO - STDERR: import 'whichcraft' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2B96D60> +2024-11-30 16:00:38,287 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__init__.py +2024-11-30 16:00:38,287 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,288 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\xmltodict.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\xmltodict.py +2024-11-30 16:00:38,288 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\xmltodict.cpython-39.pyc' +2024-11-30 16:00:38,288 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__init__.py +2024-11-30 16:00:38,288 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\parsers\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,288 - api.main - INFO - STDERR: import 'xml.parsers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2BB8790> +2024-11-30 16:00:38,289 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__pycache__\expat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\expat.py +2024-11-30 16:00:38,289 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\parsers\\__pycache__\\expat.cpython-39.pyc' +2024-11-30 16:00:38,290 - api.main - INFO - STDERR: # extension module 'pyexpat' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\pyexpat.pyd' +2024-11-30 16:00:38,290 - api.main - INFO - STDERR: # extension module 'pyexpat' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\pyexpat.pyd' +2024-11-30 16:00:38,290 - api.main - INFO - STDERR: import 'pyexpat' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000254D2BB8AF0> +2024-11-30 16:00:38,290 - api.main - INFO - STDERR: import 'xml.parsers.expat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2BB8910> +2024-11-30 16:00:38,290 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__init__.py +2024-11-30 16:00:38,291 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,292 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\xmlreader.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\xmlreader.py +2024-11-30 16:00:38,292 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\xmlreader.cpython-39.pyc' +2024-11-30 16:00:38,292 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\handler.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\handler.py +2024-11-30 16:00:38,292 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\handler.cpython-39.pyc' +2024-11-30 16:00:38,292 - api.main - INFO - STDERR: import 'xml.sax.handler' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2BD2B20> +2024-11-30 16:00:38,292 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\_exceptions.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\_exceptions.py +2024-11-30 16:00:38,292 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\_exceptions.cpython-39.pyc' +2024-11-30 16:00:38,292 - api.main - INFO - STDERR: import 'xml.sax._exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2BDA520> +2024-11-30 16:00:38,293 - api.main - INFO - STDERR: import 'xml.sax.xmlreader' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2BB8F10> +2024-11-30 16:00:38,293 - api.main - INFO - STDERR: import 'xml.sax' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2BB8BB0> +2024-11-30 16:00:38,293 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\saxutils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\saxutils.py +2024-11-30 16:00:38,293 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\saxutils.cpython-39.pyc' +2024-11-30 16:00:38,294 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\request.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\request.py +2024-11-30 16:00:38,294 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\request.cpython-39.pyc' +2024-11-30 16:00:38,295 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__init__.py +2024-11-30 16:00:38,295 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,295 - api.main - INFO - STDERR: import 'email' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2C225B0> +2024-11-30 16:00:38,295 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__init__.py +2024-11-30 16:00:38,295 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,297 - api.main - INFO - STDERR: import 'http' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2C228B0> +2024-11-30 16:00:38,298 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\client.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\client.py +2024-11-30 16:00:38,298 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\client.cpython-39.pyc' +2024-11-30 16:00:38,298 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\parser.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\parser.py +2024-11-30 16:00:38,299 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\parser.cpython-39.pyc' +2024-11-30 16:00:38,299 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\feedparser.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\feedparser.py +2024-11-30 16:00:38,299 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\feedparser.cpython-39.pyc' +2024-11-30 16:00:38,300 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\errors.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\errors.py +2024-11-30 16:00:38,300 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 16:00:38,300 - api.main - INFO - STDERR: import 'email.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2C45A00> +2024-11-30 16:00:38,300 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_policybase.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_policybase.py +2024-11-30 16:00:38,300 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_policybase.cpython-39.pyc' +2024-11-30 16:00:38,302 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\header.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\header.py +2024-11-30 16:00:38,302 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\header.cpython-39.pyc' +2024-11-30 16:00:38,302 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\quoprimime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\quoprimime.py +2024-11-30 16:00:38,302 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\quoprimime.cpython-39.pyc' +2024-11-30 16:00:38,302 - api.main - INFO - STDERR: import 'email.quoprimime' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2C636D0> +2024-11-30 16:00:38,302 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\base64mime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\base64mime.py +2024-11-30 16:00:38,302 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\base64mime.cpython-39.pyc' +2024-11-30 16:00:38,302 - api.main - INFO - STDERR: import 'email.base64mime' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2C63BB0> +2024-11-30 16:00:38,303 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\charset.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\charset.py +2024-11-30 16:00:38,303 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\charset.cpython-39.pyc' +2024-11-30 16:00:38,303 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\encoders.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\encoders.py +2024-11-30 16:00:38,303 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\encoders.cpython-39.pyc' +2024-11-30 16:00:38,304 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\quopri.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\quopri.py +2024-11-30 16:00:38,304 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\quopri.cpython-39.pyc' +2024-11-30 16:00:38,305 - api.main - INFO - STDERR: import 'quopri' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2C73790> +2024-11-30 16:00:38,305 - api.main - INFO - STDERR: import 'email.encoders' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2C733A0> +2024-11-30 16:00:38,305 - api.main - INFO - STDERR: import 'email.charset' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2C63D90> +2024-11-30 16:00:38,305 - api.main - INFO - STDERR: import 'email.header' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2C53E20> +2024-11-30 16:00:38,305 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\utils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\utils.py +2024-11-30 16:00:38,306 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 16:00:38,306 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_parseaddr.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_parseaddr.py +2024-11-30 16:00:38,306 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_parseaddr.cpython-39.pyc' +2024-11-30 16:00:38,307 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\calendar.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\calendar.py +2024-11-30 16:00:38,307 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\calendar.cpython-39.pyc' +2024-11-30 16:00:38,308 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\locale.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\locale.py +2024-11-30 16:00:38,308 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\locale.cpython-39.pyc' +2024-11-30 16:00:38,308 - api.main - INFO - STDERR: import 'locale' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2C8DEB0> +2024-11-30 16:00:38,308 - api.main - INFO - STDERR: import 'calendar' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2C856A0> +2024-11-30 16:00:38,308 - api.main - INFO - STDERR: import 'email._parseaddr' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2C73F70> +2024-11-30 16:00:38,308 - api.main - INFO - STDERR: import 'email.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2C731F0> +2024-11-30 16:00:38,309 - api.main - INFO - STDERR: import 'email._policybase' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2C45AF0> +2024-11-30 16:00:38,309 - api.main - INFO - STDERR: import 'email.feedparser' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2C45280> +2024-11-30 16:00:38,309 - api.main - INFO - STDERR: import 'email.parser' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2C3EB80> +2024-11-30 16:00:38,310 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\message.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\message.py +2024-11-30 16:00:38,310 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\message.cpython-39.pyc' +2024-11-30 16:00:38,310 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\uu.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\uu.py +2024-11-30 16:00:38,310 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\uu.cpython-39.pyc' +2024-11-30 16:00:38,310 - api.main - INFO - STDERR: import 'uu' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2CD0A90> +2024-11-30 16:00:38,312 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_encoded_words.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_encoded_words.py +2024-11-30 16:00:38,312 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_encoded_words.cpython-39.pyc' +2024-11-30 16:00:38,312 - api.main - INFO - STDERR: import 'email._encoded_words' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2CD0CD0> +2024-11-30 16:00:38,312 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\iterators.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\iterators.py +2024-11-30 16:00:38,312 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\iterators.cpython-39.pyc' +2024-11-30 16:00:38,312 - api.main - INFO - STDERR: import 'email.iterators' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2CDC190> +2024-11-30 16:00:38,312 - api.main - INFO - STDERR: import 'email.message' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2C3EF40> +2024-11-30 16:00:38,313 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ssl.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ssl.py +2024-11-30 16:00:38,314 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ssl.cpython-39.pyc' +2024-11-30 16:00:38,316 - api.main - INFO - STDERR: # extension module '_ssl' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ssl.pyd' +2024-11-30 16:00:38,316 - api.main - INFO - STDERR: # extension module '_ssl' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ssl.pyd' +2024-11-30 16:00:38,316 - api.main - INFO - STDERR: import '_ssl' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000254D2CF5580> +2024-11-30 16:00:38,319 - api.main - INFO - STDERR: import 'ssl' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2CDC460> +2024-11-30 16:00:38,319 - api.main - INFO - STDERR: import 'http.client' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2C229D0> +2024-11-30 16:00:38,320 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\error.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\error.py +2024-11-30 16:00:38,320 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\error.cpython-39.pyc' +2024-11-30 16:00:38,320 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\response.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\response.py +2024-11-30 16:00:38,320 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\response.cpython-39.pyc' +2024-11-30 16:00:38,320 - api.main - INFO - STDERR: import 'urllib.response' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2D4F460> +2024-11-30 16:00:38,320 - api.main - INFO - STDERR: import 'urllib.error' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2C3E3A0> +2024-11-30 16:00:38,322 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\nturl2path.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\nturl2path.py +2024-11-30 16:00:38,322 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\nturl2path.cpython-39.pyc' +2024-11-30 16:00:38,322 - api.main - INFO - STDERR: import 'nturl2path' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2D4FCD0> +2024-11-30 16:00:38,322 - api.main - INFO - STDERR: import 'urllib.request' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2BE78B0> +2024-11-30 16:00:38,322 - api.main - INFO - STDERR: import 'xml.sax.saxutils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2BB8640> +2024-11-30 16:00:38,323 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\platform.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\platform.py +2024-11-30 16:00:38,323 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\platform.cpython-39.pyc' +2024-11-30 16:00:38,324 - api.main - INFO - STDERR: import 'platform' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2BE76D0> +2024-11-30 16:00:38,325 - api.main - INFO - STDERR: import 'xmltodict' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2BB8220> +2024-11-30 16:00:38,325 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\apkfile.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\apkfile.py +2024-11-30 16:00:38,325 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\apkfile.cpython-39.pyc' +2024-11-30 16:00:38,326 - api.main - INFO - STDERR: import 'apkutils2.apkfile' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2BB8580> +2024-11-30 16:00:38,326 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__init__.py +2024-11-30 16:00:38,326 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,326 - api.main - INFO - STDERR: import 'apkutils2.axml' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2D699D0> +2024-11-30 16:00:38,326 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\arscparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\arscparser.py +2024-11-30 16:00:38,326 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\arscparser.cpython-39.pyc' +2024-11-30 16:00:38,326 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\chunk.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\chunk.py +2024-11-30 16:00:38,326 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\chunk.cpython-39.pyc' +2024-11-30 16:00:38,328 - api.main - INFO - STDERR: import 'apkutils2.axml.chunk' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2D93580> +2024-11-30 16:00:38,328 - api.main - INFO - STDERR: import 'apkutils2.axml.arscparser' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2D73E80> +2024-11-30 16:00:38,328 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\axmlparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\axmlparser.py +2024-11-30 16:00:38,328 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\axmlparser.cpython-39.pyc' +2024-11-30 16:00:38,328 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\public.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\public.py +2024-11-30 16:00:38,329 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\public.cpython-39.pyc' +2024-11-30 16:00:38,329 - api.main - INFO - STDERR: import 'apkutils2.axml.public' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2DA2820> +2024-11-30 16:00:38,329 - api.main - INFO - STDERR: import 'apkutils2.axml.axmlparser' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2D88A00> +2024-11-30 16:00:38,330 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__init__.py +2024-11-30 16:00:38,330 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,330 - api.main - INFO - STDERR: import 'apkutils2.dex' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2DA2910> +2024-11-30 16:00:38,330 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dexparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dexparser.py +2024-11-30 16:00:38,330 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dexparser.cpython-39.pyc' +2024-11-30 16:00:38,330 - api.main - INFO - STDERR: import 'array' # +2024-11-30 16:00:38,331 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\byteio.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\byteio.py +2024-11-30 16:00:38,331 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\byteio.cpython-39.pyc' +2024-11-30 16:00:38,331 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\util.py +2024-11-30 16:00:38,331 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\util.cpython-39.pyc' +2024-11-30 16:00:38,331 - api.main - INFO - STDERR: import 'apkutils2.dex.util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D31F7EE0> +2024-11-30 16:00:38,331 - api.main - INFO - STDERR: import 'apkutils2.dex.byteio' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D31F7550> +2024-11-30 16:00:38,331 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dalvik.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dalvik.py +2024-11-30 16:00:38,331 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dalvik.cpython-39.pyc' +2024-11-30 16:00:38,332 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dalvikformats.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dalvikformats.py +2024-11-30 16:00:38,332 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dalvikformats.cpython-39.pyc' +2024-11-30 16:00:38,332 - api.main - INFO - STDERR: import 'apkutils2.dex.dalvikformats' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3202370> +2024-11-30 16:00:38,332 - api.main - INFO - STDERR: import 'apkutils2.dex.dalvik' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D31F7FD0> +2024-11-30 16:00:38,332 - api.main - INFO - STDERR: import 'apkutils2.dex.dexparser' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2DA2940> +2024-11-30 16:00:38,332 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\manifest.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\manifest.py +2024-11-30 16:00:38,332 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\manifest.cpython-39.pyc' +2024-11-30 16:00:38,332 - api.main - INFO - STDERR: import 'apkutils2.manifest' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2DA2E20> +2024-11-30 16:00:38,332 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cigam\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cigam\__init__.py +2024-11-30 16:00:38,333 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\cigam\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,333 - api.main - INFO - STDERR: import 'cigam' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D32025E0> +2024-11-30 16:00:38,333 - api.main - INFO - STDERR: import 'apkutils2' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2BA9B80> +2024-11-30 16:00:38,333 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pkg_resources\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pkg_resources\__init__.py +2024-11-30 16:00:38,334 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pkg_resources\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,336 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\plistlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\plistlib.py +2024-11-30 16:00:38,336 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\plistlib.cpython-39.pyc' +2024-11-30 16:00:38,337 - api.main - INFO - STDERR: import 'plistlib' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D32456D0> +2024-11-30 16:00:38,337 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\markers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\markers.py +2024-11-30 16:00:38,337 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\markers.cpython-39.pyc' +2024-11-30 16:00:38,338 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__init__.py +2024-11-30 16:00:38,338 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,339 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\util.py +2024-11-30 16:00:38,339 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\util.cpython-39.pyc' +2024-11-30 16:00:38,339 - api.main - INFO - STDERR: import 'pyparsing.util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D325CC70> +2024-11-30 16:00:38,339 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\exceptions.py +2024-11-30 16:00:38,339 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 16:00:38,340 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\unicode.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\unicode.py +2024-11-30 16:00:38,340 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\unicode.cpython-39.pyc' +2024-11-30 16:00:38,340 - api.main - INFO - STDERR: import 'pyparsing.unicode' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D326D910> +2024-11-30 16:00:38,342 - api.main - INFO - STDERR: import 'pyparsing.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3267D00> +2024-11-30 16:00:38,342 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\actions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\actions.py +2024-11-30 16:00:38,342 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\actions.cpython-39.pyc' +2024-11-30 16:00:38,342 - api.main - INFO - STDERR: import 'pyparsing.actions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D326D4F0> +2024-11-30 16:00:38,343 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\core.py +2024-11-30 16:00:38,345 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\core.cpython-39.pyc' +2024-11-30 16:00:38,345 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\results.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\results.py +2024-11-30 16:00:38,345 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\results.cpython-39.pyc' +2024-11-30 16:00:38,346 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pprint.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pprint.py +2024-11-30 16:00:38,346 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pprint.cpython-39.pyc' +2024-11-30 16:00:38,346 - api.main - INFO - STDERR: import 'pprint' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D32FC8E0> +2024-11-30 16:00:38,346 - api.main - INFO - STDERR: import 'pyparsing.results' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D32F1820> +2024-11-30 16:00:38,354 - api.main - INFO - STDERR: import 'pyparsing.core' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D328B2E0> +2024-11-30 16:00:38,355 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\helpers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\helpers.py +2024-11-30 16:00:38,355 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\helpers.cpython-39.pyc' +2024-11-30 16:00:38,356 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__init__.py +2024-11-30 16:00:38,356 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\html\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,356 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__pycache__\entities.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\entities.py +2024-11-30 16:00:38,356 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\html\\__pycache__\\entities.cpython-39.pyc' +2024-11-30 16:00:38,357 - api.main - INFO - STDERR: import 'html.entities' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D33EEC10> +2024-11-30 16:00:38,358 - api.main - INFO - STDERR: import 'html' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D33EE970> +2024-11-30 16:00:38,359 - api.main - INFO - STDERR: import 'pyparsing.helpers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D328BF10> +2024-11-30 16:00:38,361 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\testing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\testing.py +2024-11-30 16:00:38,361 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\testing.cpython-39.pyc' +2024-11-30 16:00:38,361 - api.main - INFO - STDERR: import 'pyparsing.testing' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3481EB0> +2024-11-30 16:00:38,361 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\common.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\common.py +2024-11-30 16:00:38,361 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\common.cpython-39.pyc' +2024-11-30 16:00:38,366 - api.main - INFO - STDERR: import 'pyparsing.common' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D34AE4C0> +2024-11-30 16:00:38,366 - api.main - INFO - STDERR: import 'pyparsing' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D325C6D0> +2024-11-30 16:00:38,366 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_compat.py +2024-11-30 16:00:38,366 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_compat.cpython-39.pyc' +2024-11-30 16:00:38,366 - api.main - INFO - STDERR: import 'packaging._compat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D325CEE0> +2024-11-30 16:00:38,366 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\specifiers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\specifiers.py +2024-11-30 16:00:38,367 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\specifiers.cpython-39.pyc' +2024-11-30 16:00:38,367 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\utils.py +2024-11-30 16:00:38,367 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 16:00:38,367 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\tags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\tags.py +2024-11-30 16:00:38,367 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\tags.cpython-39.pyc' +2024-11-30 16:00:38,368 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\__init__.py +2024-11-30 16:00:38,368 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,368 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__pycache__\override.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\override.py +2024-11-30 16:00:38,368 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\_distutils_hack\\__pycache__\\override.cpython-39.pyc' +2024-11-30 16:00:38,370 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__init__.py +2024-11-30 16:00:38,370 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,370 - api.main - INFO - STDERR: import 'setuptools._distutils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D35014C0> +2024-11-30 16:00:38,370 - api.main - INFO - STDERR: import 'distutils' # <_distutils_hack.DistutilsMetaFinder.spec_for_distutils..DistutilsLoader object at 0x00000254D35012B0> +2024-11-30 16:00:38,370 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\core.py +2024-11-30 16:00:38,370 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\core.cpython-39.pyc' +2024-11-30 16:00:38,371 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\cmd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\cmd.py +2024-11-30 16:00:38,371 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\cmd.cpython-39.pyc' +2024-11-30 16:00:38,371 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\_modified.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\_modified.py +2024-11-30 16:00:38,371 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\_modified.cpython-39.pyc' +2024-11-30 16:00:38,372 - api.main - INFO - STDERR: # possible namespace for e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco +2024-11-30 16:00:38,372 - api.main - INFO - STDERR: import 'jaraco' # <_frozen_importlib_external._NamespaceLoader object at 0x00000254D35167C0> +2024-11-30 16:00:38,373 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\functools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\functools\__init__.py +2024-11-30 16:00:38,373 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\functools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,374 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__init__.py +2024-11-30 16:00:38,374 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,374 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\more.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\more.py +2024-11-30 16:00:38,375 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\more.cpython-39.pyc' +2024-11-30 16:00:38,375 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\queue.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\queue.py +2024-11-30 16:00:38,375 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\queue.cpython-39.pyc' +2024-11-30 16:00:38,376 - api.main - INFO - STDERR: # extension module '_queue' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_queue.pyd' +2024-11-30 16:00:38,376 - api.main - INFO - STDERR: # extension module '_queue' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_queue.pyd' +2024-11-30 16:00:38,377 - api.main - INFO - STDERR: import '_queue' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000254D354A9D0> +2024-11-30 16:00:38,377 - api.main - INFO - STDERR: import 'queue' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D353FD00> +2024-11-30 16:00:38,377 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\recipes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\recipes.py +2024-11-30 16:00:38,377 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\recipes.cpython-39.pyc' +2024-11-30 16:00:38,377 - api.main - INFO - STDERR: import 'more_itertools.recipes' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D354A940> +2024-11-30 16:00:38,377 - api.main - INFO - STDERR: import 'more_itertools.more' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D351DBE0> +2024-11-30 16:00:38,377 - api.main - INFO - STDERR: import 'more_itertools' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D351D940> +2024-11-30 16:00:38,377 - api.main - INFO - STDERR: import 'jaraco.functools' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D35169D0> +2024-11-30 16:00:38,378 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__init__.py +2024-11-30 16:00:38,378 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,378 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\py38.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\py38.py +2024-11-30 16:00:38,378 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\py38.cpython-39.pyc' +2024-11-30 16:00:38,378 - api.main - INFO - STDERR: import 'distutils.compat.py38' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3578370> +2024-11-30 16:00:38,378 - api.main - INFO - STDERR: import 'distutils.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3556FD0> +2024-11-30 16:00:38,378 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\py39.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\py39.py +2024-11-30 16:00:38,378 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\py39.cpython-39.pyc' +2024-11-30 16:00:38,392 - api.main - INFO - STDERR: import 'distutils.compat.py39' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3535DF0> +2024-11-30 16:00:38,392 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\errors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\errors.py +2024-11-30 16:00:38,392 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 16:00:38,393 - api.main - INFO - STDERR: import 'distutils.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D35784F0> +2024-11-30 16:00:38,393 - api.main - INFO - STDERR: import 'distutils._modified' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3516370> +2024-11-30 16:00:38,393 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\archive_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\archive_util.py +2024-11-30 16:00:38,393 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\archive_util.cpython-39.pyc' +2024-11-30 16:00:38,393 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\_log.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\_log.py +2024-11-30 16:00:38,393 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\_log.cpython-39.pyc' +2024-11-30 16:00:38,393 - api.main - INFO - STDERR: import 'distutils._log' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3578C40> +2024-11-30 16:00:38,394 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\dir_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\dir_util.py +2024-11-30 16:00:38,394 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\dir_util.cpython-39.pyc' +2024-11-30 16:00:38,394 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\file_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\file_util.py +2024-11-30 16:00:38,394 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\file_util.cpython-39.pyc' +2024-11-30 16:00:38,394 - api.main - INFO - STDERR: import 'distutils.file_util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3586340> +2024-11-30 16:00:38,394 - api.main - INFO - STDERR: import 'distutils.dir_util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3578CD0> +2024-11-30 16:00:38,394 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\spawn.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\spawn.py +2024-11-30 16:00:38,395 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\spawn.cpython-39.pyc' +2024-11-30 16:00:38,395 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\debug.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\debug.py +2024-11-30 16:00:38,395 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\debug.cpython-39.pyc' +2024-11-30 16:00:38,395 - api.main - INFO - STDERR: import 'distutils.debug' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D35869D0> +2024-11-30 16:00:38,395 - api.main - INFO - STDERR: import 'distutils.spawn' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3586670> +2024-11-30 16:00:38,395 - api.main - INFO - STDERR: import 'distutils.archive_util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3516610> +2024-11-30 16:00:38,397 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\util.py +2024-11-30 16:00:38,397 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\util.cpython-39.pyc' +2024-11-30 16:00:38,398 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sysconfig.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sysconfig.py +2024-11-30 16:00:38,398 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sysconfig.cpython-39.pyc' +2024-11-30 16:00:38,398 - api.main - INFO - STDERR: import 'sysconfig' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3586EB0> +2024-11-30 16:00:38,398 - api.main - INFO - STDERR: import 'distutils.util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3578640> +2024-11-30 16:00:38,398 - api.main - INFO - STDERR: import 'distutils.cmd' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3501910> +2024-11-30 16:00:38,398 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\dist.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\dist.py +2024-11-30 16:00:38,398 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\dist.cpython-39.pyc' +2024-11-30 16:00:38,399 - api.main - INFO - STDERR: # destroy distutils.dist +2024-11-30 16:00:38,399 - api.main - INFO - STDERR: # destroy distutils.core +2024-11-30 16:00:38,399 - api.main - INFO - STDERR: # destroy _distutils_hack.override +2024-11-30 16:00:38,399 - api.main - INFO - STDERR: # destroy setuptools +2024-11-30 16:00:38,399 - api.main - INFO - STDERR: import 'distutils' # <_distutils_hack.DistutilsMetaFinder.spec_for_distutils..DistutilsLoader object at 0x00000254D35012B0> +2024-11-30 16:00:38,399 - api.main - INFO - STDERR: import 'packaging.tags' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D34E9550> +2024-11-30 16:00:38,400 - api.main - INFO - STDERR: import 'packaging.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D34E92B0> +2024-11-30 16:00:38,404 - api.main - INFO - STDERR: import 'packaging.specifiers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D34D5E50> +2024-11-30 16:00:38,406 - api.main - INFO - STDERR: import 'packaging.markers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D324CB20> +2024-11-30 16:00:38,407 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\requirements.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\requirements.py +2024-11-30 16:00:38,407 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\requirements.cpython-39.pyc' +2024-11-30 16:00:38,414 - api.main - INFO - STDERR: import 'packaging.requirements' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D324CD30> +2024-11-30 16:00:38,414 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\text\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\text\__init__.py +2024-11-30 16:00:38,414 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\text\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,415 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\resources.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\resources.py +2024-11-30 16:00:38,415 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\resources.cpython-39.pyc' +2024-11-30 16:00:38,416 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\_common.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\_common.py +2024-11-30 16:00:38,416 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\_common.cpython-39.pyc' +2024-11-30 16:00:38,416 - api.main - INFO - STDERR: import 'importlib._common' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D35F14F0> +2024-11-30 16:00:38,416 - api.main - INFO - STDERR: import 'importlib.resources' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3500DF0> +2024-11-30 16:00:38,416 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\__pycache__\context.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\context.py +2024-11-30 16:00:38,416 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\__pycache__\\context.cpython-39.pyc' +2024-11-30 16:00:38,417 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\__init__.py +2024-11-30 16:00:38,417 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,417 - api.main - INFO - STDERR: import 'backports' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D35F81C0> +2024-11-30 16:00:38,418 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\__init__.py +2024-11-30 16:00:38,418 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,419 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__init__.py +2024-11-30 16:00:38,419 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\compat\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,419 - api.main - INFO - STDERR: import 'backports.tarfile.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D35AD1F0> +2024-11-30 16:00:38,419 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__pycache__\py38.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\py38.py +2024-11-30 16:00:38,419 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\compat\\__pycache__\\py38.cpython-39.pyc' +2024-11-30 16:00:38,419 - api.main - INFO - STDERR: import 'backports.tarfile.compat.py38' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3500100> +2024-11-30 16:00:38,421 - api.main - INFO - STDERR: import 'backports.tarfile' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D35F8340> +2024-11-30 16:00:38,422 - api.main - INFO - STDERR: import 'jaraco.context' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D35F1A30> +2024-11-30 16:00:38,422 - api.main - INFO - STDERR: import 'jaraco.text' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3501220> +2024-11-30 16:00:38,422 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__init__.py +2024-11-30 16:00:38,423 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,423 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\api.py +2024-11-30 16:00:38,423 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\api.cpython-39.pyc' +2024-11-30 16:00:38,423 - api.main - INFO - STDERR: import 'platformdirs.api' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D362B7C0> +2024-11-30 16:00:38,423 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\version.py +2024-11-30 16:00:38,423 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\version.cpython-39.pyc' +2024-11-30 16:00:38,424 - api.main - INFO - STDERR: import 'platformdirs.version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3633A30> +2024-11-30 16:00:38,424 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\windows.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\windows.py +2024-11-30 16:00:38,424 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\windows.cpython-39.pyc' +2024-11-30 16:00:38,424 - api.main - INFO - STDERR: import 'platformdirs.windows' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3633AC0> +2024-11-30 16:00:38,424 - api.main - INFO - STDERR: import 'platformdirs' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D361E790> +2024-11-30 16:00:38,460 - api.main - INFO - STDERR: import 'pkg_resources' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2BA9970> +2024-11-30 16:00:38,460 - api.main - INFO - STDERR: import 'adbutils._utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2B3A520> +2024-11-30 16:00:38,462 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\errors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\errors.py +2024-11-30 16:00:38,462 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 16:00:38,462 - api.main - INFO - STDERR: import 'adbutils.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2B5C670> +2024-11-30 16:00:38,462 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_proto.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_proto.py +2024-11-30 16:00:38,462 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_proto.cpython-39.pyc' +2024-11-30 16:00:38,463 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\dataclasses.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\dataclasses.py +2024-11-30 16:00:38,463 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\dataclasses.cpython-39.pyc' +2024-11-30 16:00:38,463 - api.main - INFO - STDERR: import 'dataclasses' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D321A0D0> +2024-11-30 16:00:38,465 - api.main - INFO - STDERR: import 'adbutils._proto' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3214520> +2024-11-30 16:00:38,466 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_version.py +2024-11-30 16:00:38,466 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 16:00:38,466 - api.main - INFO - STDERR: import 'adbutils._version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3214700> +2024-11-30 16:00:38,466 - api.main - INFO - STDERR: import 'adbutils._adb' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2B13370> +2024-11-30 16:00:38,466 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_device.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_device.py +2024-11-30 16:00:38,467 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_device.cpython-39.pyc' +2024-11-30 16:00:38,468 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__init__.py +2024-11-30 16:00:38,468 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,468 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__init__.py +2024-11-30 16:00:38,468 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,469 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\exceptions.py +2024-11-30 16:00:38,469 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 16:00:38,469 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__init__.py +2024-11-30 16:00:38,469 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\packages\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,469 - api.main - INFO - STDERR: import 'urllib3.packages' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D36C9850> +2024-11-30 16:00:38,469 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__pycache__\six.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\six.py +2024-11-30 16:00:38,469 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\packages\\__pycache__\\six.cpython-39.pyc' +2024-11-30 16:00:38,471 - api.main - INFO - STDERR: import 'urllib3.packages.six' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D36C9880> +2024-11-30 16:00:38,471 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves' # +2024-11-30 16:00:38,471 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.http_client' # +2024-11-30 16:00:38,471 - api.main - INFO - STDERR: import 'urllib3.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D36C0790> +2024-11-30 16:00:38,472 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\_version.py +2024-11-30 16:00:38,472 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 16:00:38,472 - api.main - INFO - STDERR: import 'urllib3._version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D36C0970> +2024-11-30 16:00:38,472 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\connectionpool.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\connectionpool.py +2024-11-30 16:00:38,472 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\connectionpool.cpython-39.pyc' +2024-11-30 16:00:38,472 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\_collections.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\_collections.py +2024-11-30 16:00:38,472 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\_collections.cpython-39.pyc' +2024-11-30 16:00:38,472 - api.main - INFO - STDERR: import 'urllib3._collections' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D36D5760> +2024-11-30 16:00:38,472 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\connection.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\connection.py +2024-11-30 16:00:38,472 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\connection.cpython-39.pyc' +2024-11-30 16:00:38,473 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__init__.py +2024-11-30 16:00:38,473 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,473 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\connection.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\connection.py +2024-11-30 16:00:38,473 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\connection.cpython-39.pyc' +2024-11-30 16:00:38,475 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__init__.py +2024-11-30 16:00:38,475 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,475 - api.main - INFO - STDERR: import 'urllib3.contrib' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D36F4FD0> +2024-11-30 16:00:38,475 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\_appengine_environ.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\_appengine_environ.py +2024-11-30 16:00:38,475 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\_appengine_environ.cpython-39.pyc' +2024-11-30 16:00:38,475 - api.main - INFO - STDERR: import 'urllib3.contrib._appengine_environ' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3700190> +2024-11-30 16:00:38,475 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\wait.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\wait.py +2024-11-30 16:00:38,475 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\wait.cpython-39.pyc' +2024-11-30 16:00:38,475 - api.main - INFO - STDERR: import 'urllib3.util.wait' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3700340> +2024-11-30 16:00:38,476 - api.main - INFO - STDERR: import 'urllib3.util.connection' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D36F4C40> +2024-11-30 16:00:38,477 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\request.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\request.py +2024-11-30 16:00:38,477 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\request.cpython-39.pyc' +2024-11-30 16:00:38,478 - api.main - INFO - STDERR: import 'urllib3.util.request' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D36F4E20> +2024-11-30 16:00:38,478 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\response.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\response.py +2024-11-30 16:00:38,478 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\response.cpython-39.pyc' +2024-11-30 16:00:38,478 - api.main - INFO - STDERR: import 'urllib3.util.response' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3700760> +2024-11-30 16:00:38,478 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\retry.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\retry.py +2024-11-30 16:00:38,479 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\retry.cpython-39.pyc' +2024-11-30 16:00:38,479 - api.main - INFO - STDERR: import 'urllib3.util.retry' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3700850> +2024-11-30 16:00:38,479 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssl_.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssl_.py +2024-11-30 16:00:38,479 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssl_.cpython-39.pyc' +2024-11-30 16:00:38,481 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\hmac.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\hmac.py +2024-11-30 16:00:38,481 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\hmac.cpython-39.pyc' +2024-11-30 16:00:38,481 - api.main - INFO - STDERR: import 'hmac' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D370BA30> +2024-11-30 16:00:38,481 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\url.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\url.py +2024-11-30 16:00:38,481 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\url.cpython-39.pyc' +2024-11-30 16:00:38,491 - api.main - INFO - STDERR: import 'urllib3.util.url' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3719280> +2024-11-30 16:00:38,491 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssltransport.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssltransport.py +2024-11-30 16:00:38,491 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssltransport.cpython-39.pyc' +2024-11-30 16:00:38,491 - api.main - INFO - STDERR: import 'urllib3.util.ssltransport' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3719DC0> +2024-11-30 16:00:38,491 - api.main - INFO - STDERR: import 'urllib3.util.ssl_' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D370B520> +2024-11-30 16:00:38,492 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\timeout.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\timeout.py +2024-11-30 16:00:38,492 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\timeout.cpython-39.pyc' +2024-11-30 16:00:38,493 - api.main - INFO - STDERR: import 'urllib3.util.timeout' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D370B820> +2024-11-30 16:00:38,493 - api.main - INFO - STDERR: import 'urllib3.util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D36F4940> +2024-11-30 16:00:38,493 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\proxy.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\proxy.py +2024-11-30 16:00:38,493 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\proxy.cpython-39.pyc' +2024-11-30 16:00:38,493 - api.main - INFO - STDERR: import 'urllib3.util.proxy' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D36F49A0> +2024-11-30 16:00:38,493 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssl_match_hostname.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssl_match_hostname.py +2024-11-30 16:00:38,493 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssl_match_hostname.cpython-39.pyc' +2024-11-30 16:00:38,494 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ipaddress.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ipaddress.py +2024-11-30 16:00:38,495 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ipaddress.cpython-39.pyc' +2024-11-30 16:00:38,496 - api.main - INFO - STDERR: import 'ipaddress' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3731940> +2024-11-30 16:00:38,496 - api.main - INFO - STDERR: import 'urllib3.util.ssl_match_hostname' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D36F46A0> +2024-11-30 16:00:38,496 - api.main - INFO - STDERR: import 'urllib3.connection' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D36E45B0> +2024-11-30 16:00:38,496 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\request.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\request.py +2024-11-30 16:00:38,496 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\request.cpython-39.pyc' +2024-11-30 16:00:38,496 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\filepost.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\filepost.py +2024-11-30 16:00:38,496 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\filepost.cpython-39.pyc' +2024-11-30 16:00:38,497 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\fields.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\fields.py +2024-11-30 16:00:38,497 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\fields.cpython-39.pyc' +2024-11-30 16:00:38,498 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\mimetypes.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\mimetypes.py +2024-11-30 16:00:38,498 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\mimetypes.cpython-39.pyc' +2024-11-30 16:00:38,498 - api.main - INFO - STDERR: import 'mimetypes' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D37692E0> +2024-11-30 16:00:38,498 - api.main - INFO - STDERR: import 'urllib3.fields' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3766D00> +2024-11-30 16:00:38,498 - api.main - INFO - STDERR: import 'urllib3.filepost' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D37668E0> +2024-11-30 16:00:38,498 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.urllib' # +2024-11-30 16:00:38,498 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.urllib.parse' # +2024-11-30 16:00:38,498 - api.main - INFO - STDERR: import 'urllib3.request' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D36F4610> +2024-11-30 16:00:38,499 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\response.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\response.py +2024-11-30 16:00:38,499 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\response.cpython-39.pyc' +2024-11-30 16:00:38,500 - api.main - INFO - STDERR: import 'urllib3.response' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D373FFA0> +2024-11-30 16:00:38,500 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\queue.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\queue.py +2024-11-30 16:00:38,500 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\queue.cpython-39.pyc' +2024-11-30 16:00:38,500 - api.main - INFO - STDERR: import 'urllib3.util.queue' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3769730> +2024-11-30 16:00:38,500 - api.main - INFO - STDERR: import 'urllib3.connectionpool' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D36C0AC0> +2024-11-30 16:00:38,501 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\poolmanager.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\poolmanager.py +2024-11-30 16:00:38,501 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\poolmanager.cpython-39.pyc' +2024-11-30 16:00:38,502 - api.main - INFO - STDERR: import 'urllib3.poolmanager' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D377B2B0> +2024-11-30 16:00:38,502 - api.main - INFO - STDERR: import 'urllib3' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D36C0250> +2024-11-30 16:00:38,503 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\exceptions.py +2024-11-30 16:00:38,503 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 16:00:38,503 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\compat.py +2024-11-30 16:00:38,503 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\compat.cpython-39.pyc' +2024-11-30 16:00:38,504 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__init__.py +2024-11-30 16:00:38,504 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,505 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\api.py +2024-11-30 16:00:38,505 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\api.cpython-39.pyc' +2024-11-30 16:00:38,505 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\cd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\cd.py +2024-11-30 16:00:38,505 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\cd.cpython-39.pyc' +2024-11-30 16:00:38,505 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\constant.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\constant.py +2024-11-30 16:00:38,506 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\constant.cpython-39.pyc' +2024-11-30 16:00:38,507 - api.main - INFO - STDERR: import 'charset_normalizer.constant' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3795790> +2024-11-30 16:00:38,508 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md__mypyc' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md__mypyc.cp39-win_amd64.pyd' +2024-11-30 16:00:38,508 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md__mypyc' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md__mypyc.cp39-win_amd64.pyd' +2024-11-30 16:00:38,509 - api.main - INFO - STDERR: import 'charset_normalizer.md__mypyc' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000254D37B9E80> +2024-11-30 16:00:38,509 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\utils.py +2024-11-30 16:00:38,509 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 16:00:38,510 - api.main - INFO - STDERR: # extension module 'unicodedata' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\unicodedata.pyd' +2024-11-30 16:00:38,510 - api.main - INFO - STDERR: # extension module 'unicodedata' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\unicodedata.pyd' +2024-11-30 16:00:38,510 - api.main - INFO - STDERR: import 'unicodedata' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000254D37BF730> +2024-11-30 16:00:38,510 - api.main - INFO - STDERR: import '_multibytecodec' # +2024-11-30 16:00:38,510 - api.main - INFO - STDERR: import 'charset_normalizer.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D37B9BB0> +2024-11-30 16:00:38,510 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md.cp39-win_amd64.pyd' +2024-11-30 16:00:38,510 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md.cp39-win_amd64.pyd' +2024-11-30 16:00:38,510 - api.main - INFO - STDERR: import 'charset_normalizer.md' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000254D37B9BE0> +2024-11-30 16:00:38,510 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\models.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\models.py +2024-11-30 16:00:38,510 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\models.cpython-39.pyc' +2024-11-30 16:00:38,510 - api.main - INFO - STDERR: import 'charset_normalizer.models' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D37BFFA0> +2024-11-30 16:00:38,510 - api.main - INFO - STDERR: import 'charset_normalizer.cd' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3795100> +2024-11-30 16:00:38,510 - api.main - INFO - STDERR: import 'charset_normalizer.api' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D377BA90> +2024-11-30 16:00:38,512 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\legacy.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\legacy.py +2024-11-30 16:00:38,512 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\legacy.cpython-39.pyc' +2024-11-30 16:00:38,512 - api.main - INFO - STDERR: import 'charset_normalizer.legacy' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D37D2340> +2024-11-30 16:00:38,512 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\version.py +2024-11-30 16:00:38,512 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\version.cpython-39.pyc' +2024-11-30 16:00:38,512 - api.main - INFO - STDERR: import 'charset_normalizer.version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D37D23D0> +2024-11-30 16:00:38,512 - api.main - INFO - STDERR: import 'charset_normalizer' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D377BD30> +2024-11-30 16:00:38,513 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\cookiejar.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\cookiejar.py +2024-11-30 16:00:38,514 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\cookiejar.cpython-39.pyc' +2024-11-30 16:00:38,517 - api.main - INFO - STDERR: import 'http.cookiejar' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D37D2400> +2024-11-30 16:00:38,517 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\cookies.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\cookies.py +2024-11-30 16:00:38,517 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\cookies.cpython-39.pyc' +2024-11-30 16:00:38,518 - api.main - INFO - STDERR: import 'http.cookies' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D38265B0> +2024-11-30 16:00:38,519 - api.main - INFO - STDERR: import 'requests.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D377BEE0> +2024-11-30 16:00:38,519 - api.main - INFO - STDERR: import 'requests.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D37863D0> +2024-11-30 16:00:38,520 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\packages.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\packages.py +2024-11-30 16:00:38,520 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\packages.cpython-39.pyc' +2024-11-30 16:00:38,522 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__init__.py +2024-11-30 16:00:38,522 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,522 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\core.py +2024-11-30 16:00:38,522 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\core.cpython-39.pyc' +2024-11-30 16:00:38,522 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\idnadata.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\idnadata.py +2024-11-30 16:00:38,522 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\idnadata.cpython-39.pyc' +2024-11-30 16:00:38,523 - api.main - INFO - STDERR: import 'idna.idnadata' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3842850> +2024-11-30 16:00:38,523 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\intranges.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\intranges.py +2024-11-30 16:00:38,523 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\intranges.cpython-39.pyc' +2024-11-30 16:00:38,523 - api.main - INFO - STDERR: import 'idna.intranges' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D38428E0> +2024-11-30 16:00:38,523 - api.main - INFO - STDERR: import 'idna.core' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3842100> +2024-11-30 16:00:38,524 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\package_data.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\package_data.py +2024-11-30 16:00:38,524 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\package_data.cpython-39.pyc' +2024-11-30 16:00:38,524 - api.main - INFO - STDERR: import 'idna.package_data' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3842580> +2024-11-30 16:00:38,524 - api.main - INFO - STDERR: import 'idna' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D37860A0> +2024-11-30 16:00:38,524 - api.main - INFO - STDERR: import 'requests.packages' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D37865B0> +2024-11-30 16:00:38,524 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\utils.py +2024-11-30 16:00:38,525 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 16:00:38,525 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\certs.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\certs.py +2024-11-30 16:00:38,525 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\certs.cpython-39.pyc' +2024-11-30 16:00:38,526 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__init__.py +2024-11-30 16:00:38,526 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\certifi\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,526 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\core.py +2024-11-30 16:00:38,526 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\certifi\\__pycache__\\core.cpython-39.pyc' +2024-11-30 16:00:38,526 - api.main - INFO - STDERR: import 'certifi.core' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D38797C0> +2024-11-30 16:00:38,526 - api.main - INFO - STDERR: import 'certifi' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3879550> +2024-11-30 16:00:38,526 - api.main - INFO - STDERR: import 'requests.certs' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3879340> +2024-11-30 16:00:38,526 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\__version__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__version__.py +2024-11-30 16:00:38,526 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\__version__.cpython-39.pyc' +2024-11-30 16:00:38,526 - api.main - INFO - STDERR: import 'requests.__version__' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D38794C0> +2024-11-30 16:00:38,526 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\_internal_utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\_internal_utils.py +2024-11-30 16:00:38,526 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\_internal_utils.cpython-39.pyc' +2024-11-30 16:00:38,528 - api.main - INFO - STDERR: import 'requests._internal_utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D38793D0> +2024-11-30 16:00:38,528 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\cookies.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\cookies.py +2024-11-30 16:00:38,528 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\cookies.cpython-39.pyc' +2024-11-30 16:00:38,528 - api.main - INFO - STDERR: import 'requests.cookies' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D38795E0> +2024-11-30 16:00:38,528 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\structures.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\structures.py +2024-11-30 16:00:38,528 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\structures.cpython-39.pyc' +2024-11-30 16:00:38,528 - api.main - INFO - STDERR: import 'requests.structures' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D38819D0> +2024-11-30 16:00:38,529 - api.main - INFO - STDERR: import 'requests.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D37867F0> +2024-11-30 16:00:38,529 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\api.py +2024-11-30 16:00:38,529 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\api.cpython-39.pyc' +2024-11-30 16:00:38,529 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\sessions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\sessions.py +2024-11-30 16:00:38,529 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\sessions.cpython-39.pyc' +2024-11-30 16:00:38,530 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\adapters.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\adapters.py +2024-11-30 16:00:38,530 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\adapters.cpython-39.pyc' +2024-11-30 16:00:38,530 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\auth.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\auth.py +2024-11-30 16:00:38,530 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\auth.cpython-39.pyc' +2024-11-30 16:00:38,530 - api.main - INFO - STDERR: import 'requests.auth' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D38997C0> +2024-11-30 16:00:38,531 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\models.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\models.py +2024-11-30 16:00:38,531 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\models.cpython-39.pyc' +2024-11-30 16:00:38,531 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\idna.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\idna.py +2024-11-30 16:00:38,531 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\idna.cpython-39.pyc' +2024-11-30 16:00:38,532 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\stringprep.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\stringprep.py +2024-11-30 16:00:38,532 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\stringprep.cpython-39.pyc' +2024-11-30 16:00:38,532 - api.main - INFO - STDERR: import 'stringprep' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D38B41F0> +2024-11-30 16:00:38,532 - api.main - INFO - STDERR: import 'encodings.idna' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D38A8D60> +2024-11-30 16:00:38,532 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\hooks.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\hooks.py +2024-11-30 16:00:38,532 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\hooks.cpython-39.pyc' +2024-11-30 16:00:38,532 - api.main - INFO - STDERR: import 'requests.hooks' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D38A8F70> +2024-11-30 16:00:38,532 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\status_codes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\status_codes.py +2024-11-30 16:00:38,533 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\status_codes.cpython-39.pyc' +2024-11-30 16:00:38,533 - api.main - INFO - STDERR: import 'requests.status_codes' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D38B4820> +2024-11-30 16:00:38,533 - api.main - INFO - STDERR: import 'requests.models' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3899E80> +2024-11-30 16:00:38,533 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\socks.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\socks.py +2024-11-30 16:00:38,533 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\socks.cpython-39.pyc' +2024-11-30 16:00:38,534 - api.main - INFO - STDERR: # destroy urllib3.contrib.socks +2024-11-30 16:00:38,534 - api.main - INFO - STDERR: import 'requests.adapters' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D388DEB0> +2024-11-30 16:00:38,534 - api.main - INFO - STDERR: import 'requests.sessions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D388D460> +2024-11-30 16:00:38,534 - api.main - INFO - STDERR: import 'requests.api' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D388D100> +2024-11-30 16:00:38,534 - api.main - INFO - STDERR: import 'requests' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D36AEF10> +2024-11-30 16:00:38,535 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__init__.py +2024-11-30 16:00:38,535 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,535 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_version.py +2024-11-30 16:00:38,536 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 16:00:38,536 - api.main - INFO - STDERR: import 'PIL._version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D38995E0> +2024-11-30 16:00:38,536 - api.main - INFO - STDERR: import 'PIL' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D388D280> +2024-11-30 16:00:38,536 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\Image.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\Image.py +2024-11-30 16:00:38,537 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\Image.cpython-39.pyc' +2024-11-30 16:00:38,538 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\ExifTags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\ExifTags.py +2024-11-30 16:00:38,538 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\ExifTags.cpython-39.pyc' +2024-11-30 16:00:38,544 - api.main - INFO - STDERR: import 'PIL.ExifTags' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D38F9910> +2024-11-30 16:00:38,544 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\ImageMode.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\ImageMode.py +2024-11-30 16:00:38,544 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\ImageMode.cpython-39.pyc' +2024-11-30 16:00:38,544 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_deprecate.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_deprecate.py +2024-11-30 16:00:38,544 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_deprecate.cpython-39.pyc' +2024-11-30 16:00:38,544 - api.main - INFO - STDERR: import 'PIL._deprecate' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3914E80> +2024-11-30 16:00:38,545 - api.main - INFO - STDERR: import 'PIL.ImageMode' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D38F9940> +2024-11-30 16:00:38,545 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\TiffTags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\TiffTags.py +2024-11-30 16:00:38,545 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\TiffTags.cpython-39.pyc' +2024-11-30 16:00:38,545 - api.main - INFO - STDERR: import 'PIL.TiffTags' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D391BA30> +2024-11-30 16:00:38,547 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_binary.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_binary.py +2024-11-30 16:00:38,547 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_binary.cpython-39.pyc' +2024-11-30 16:00:38,547 - api.main - INFO - STDERR: import 'PIL._binary' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D391BDC0> +2024-11-30 16:00:38,547 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_util.py +2024-11-30 16:00:38,547 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_util.cpython-39.pyc' +2024-11-30 16:00:38,548 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_typing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_typing.py +2024-11-30 16:00:38,548 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_typing.cpython-39.pyc' +2024-11-30 16:00:38,548 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\typing_extensions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\typing_extensions.py +2024-11-30 16:00:38,548 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\typing_extensions.cpython-39.pyc' +2024-11-30 16:00:38,549 - api.main - INFO - STDERR: import 'typing_extensions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D392FCA0> +2024-11-30 16:00:38,550 - api.main - INFO - STDERR: import 'PIL._typing' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D392F820> +2024-11-30 16:00:38,550 - api.main - INFO - STDERR: import 'PIL._util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D392F3D0> +2024-11-30 16:00:38,552 - api.main - INFO - STDERR: # extension module 'PIL._imaging' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\_imaging.cp39-win_amd64.pyd' +2024-11-30 16:00:38,552 - api.main - INFO - STDERR: # extension module 'PIL._imaging' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\_imaging.cp39-win_amd64.pyd' +2024-11-30 16:00:38,552 - api.main - INFO - STDERR: import 'PIL._imaging' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000254D392FEB0> +2024-11-30 16:00:38,553 - api.main - INFO - STDERR: import 'PIL.Image' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D388DC70> +2024-11-30 16:00:38,554 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__init__.py +2024-11-30 16:00:38,554 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,554 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py +2024-11-30 16:00:38,554 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\api.cpython-39.pyc' +2024-11-30 16:00:38,554 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\compat.py +2024-11-30 16:00:38,554 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\compat.cpython-39.pyc' +2024-11-30 16:00:38,554 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\decorator.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\decorator.py +2024-11-30 16:00:38,556 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\decorator.cpython-39.pyc' +2024-11-30 16:00:38,556 - api.main - INFO - STDERR: import 'decorator' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D394BA60> +2024-11-30 16:00:38,556 - api.main - INFO - STDERR: import 'retry.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D394B1C0> +2024-11-30 16:00:38,556 - api.main - INFO - STDERR: import 'retry.api' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D39425B0> +2024-11-30 16:00:38,556 - api.main - INFO - STDERR: import 'retry' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D388D1F0> +2024-11-30 16:00:38,557 - api.main - INFO - STDERR: import 'adbutils._device' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3699B50> +2024-11-30 16:00:38,557 - api.main - INFO - STDERR: import 'adbutils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2AC8D00> +2024-11-30 16:00:38,558 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__init__.py +2024-11-30 16:00:38,558 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,558 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_api.py +2024-11-30 16:00:38,558 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_api.cpython-39.pyc' +2024-11-30 16:00:38,558 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_error.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_error.py +2024-11-30 16:00:38,558 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_error.cpython-39.pyc' +2024-11-30 16:00:38,558 - api.main - INFO - STDERR: import 'filelock._error' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B03220> +2024-11-30 16:00:38,559 - api.main - INFO - STDERR: import 'filelock._api' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3AEA820> +2024-11-30 16:00:38,559 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_soft.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_soft.py +2024-11-30 16:00:38,559 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_soft.cpython-39.pyc' +2024-11-30 16:00:38,559 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_util.py +2024-11-30 16:00:38,559 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_util.cpython-39.pyc' +2024-11-30 16:00:38,559 - api.main - INFO - STDERR: import 'filelock._util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B03FD0> +2024-11-30 16:00:38,559 - api.main - INFO - STDERR: import 'filelock._soft' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B035E0> +2024-11-30 16:00:38,560 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_unix.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_unix.py +2024-11-30 16:00:38,560 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_unix.cpython-39.pyc' +2024-11-30 16:00:38,560 - api.main - INFO - STDERR: import 'filelock._unix' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B03F10> +2024-11-30 16:00:38,560 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_windows.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_windows.py +2024-11-30 16:00:38,560 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_windows.cpython-39.pyc' +2024-11-30 16:00:38,560 - api.main - INFO - STDERR: import 'filelock._windows' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B039A0> +2024-11-30 16:00:38,560 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\asyncio.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\asyncio.py +2024-11-30 16:00:38,560 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\asyncio.cpython-39.pyc' +2024-11-30 16:00:38,562 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__init__.py +2024-11-30 16:00:38,562 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,563 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_events.py +2024-11-30 16:00:38,563 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_events.cpython-39.pyc' +2024-11-30 16:00:38,564 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\__init__.py +2024-11-30 16:00:38,564 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,564 - api.main - INFO - STDERR: import 'concurrent' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B2C7F0> +2024-11-30 16:00:38,564 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__init__.py +2024-11-30 16:00:38,564 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\futures\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,565 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__pycache__\_base.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\_base.py +2024-11-30 16:00:38,565 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\futures\\__pycache__\\_base.cpython-39.pyc' +2024-11-30 16:00:38,565 - api.main - INFO - STDERR: import 'concurrent.futures._base' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B2CAF0> +2024-11-30 16:00:38,566 - api.main - INFO - STDERR: import 'concurrent.futures' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B2C820> +2024-11-30 16:00:38,566 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\constants.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\constants.py +2024-11-30 16:00:38,566 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\constants.cpython-39.pyc' +2024-11-30 16:00:38,566 - api.main - INFO - STDERR: import 'asyncio.constants' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B2C8E0> +2024-11-30 16:00:38,567 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\coroutines.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\coroutines.py +2024-11-30 16:00:38,567 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\coroutines.cpython-39.pyc' +2024-11-30 16:00:38,567 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_futures.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_futures.py +2024-11-30 16:00:38,567 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_futures.cpython-39.pyc' +2024-11-30 16:00:38,567 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\format_helpers.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\format_helpers.py +2024-11-30 16:00:38,567 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\format_helpers.cpython-39.pyc' +2024-11-30 16:00:38,568 - api.main - INFO - STDERR: import 'asyncio.format_helpers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B46D90> +2024-11-30 16:00:38,568 - api.main - INFO - STDERR: import 'asyncio.base_futures' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B46A30> +2024-11-30 16:00:38,568 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\log.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\log.py +2024-11-30 16:00:38,568 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\log.cpython-39.pyc' +2024-11-30 16:00:38,568 - api.main - INFO - STDERR: import 'asyncio.log' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B46DC0> +2024-11-30 16:00:38,568 - api.main - INFO - STDERR: import 'asyncio.coroutines' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B2C670> +2024-11-30 16:00:38,568 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\events.py +2024-11-30 16:00:38,569 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\events.cpython-39.pyc' +2024-11-30 16:00:38,569 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\contextvars.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\contextvars.py +2024-11-30 16:00:38,569 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\contextvars.cpython-39.pyc' +2024-11-30 16:00:38,569 - api.main - INFO - STDERR: import '_contextvars' # +2024-11-30 16:00:38,569 - api.main - INFO - STDERR: import 'contextvars' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B5C1F0> +2024-11-30 16:00:38,571 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\exceptions.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\exceptions.py +2024-11-30 16:00:38,571 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 16:00:38,572 - api.main - INFO - STDERR: import 'asyncio.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B5C7C0> +2024-11-30 16:00:38,572 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_tasks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_tasks.py +2024-11-30 16:00:38,572 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_tasks.cpython-39.pyc' +2024-11-30 16:00:38,572 - api.main - INFO - STDERR: import 'asyncio.base_tasks' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B5CC10> +2024-11-30 16:00:38,572 - api.main - INFO - STDERR: # extension module '_asyncio' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_asyncio.pyd' +2024-11-30 16:00:38,572 - api.main - INFO - STDERR: # extension module '_asyncio' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_asyncio.pyd' +2024-11-30 16:00:38,572 - api.main - INFO - STDERR: import '_asyncio' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000254D3B5C580> +2024-11-30 16:00:38,572 - api.main - INFO - STDERR: import 'asyncio.events' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B46820> +2024-11-30 16:00:38,572 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\futures.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\futures.py +2024-11-30 16:00:38,572 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\futures.cpython-39.pyc' +2024-11-30 16:00:38,572 - api.main - INFO - STDERR: import 'asyncio.futures' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B5C3A0> +2024-11-30 16:00:38,573 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\protocols.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\protocols.py +2024-11-30 16:00:38,573 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\protocols.cpython-39.pyc' +2024-11-30 16:00:38,573 - api.main - INFO - STDERR: import 'asyncio.protocols' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B6F310> +2024-11-30 16:00:38,573 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\sslproto.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\sslproto.py +2024-11-30 16:00:38,573 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\sslproto.cpython-39.pyc' +2024-11-30 16:00:38,574 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\transports.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\transports.py +2024-11-30 16:00:38,574 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\transports.cpython-39.pyc' +2024-11-30 16:00:38,574 - api.main - INFO - STDERR: import 'asyncio.transports' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B799D0> +2024-11-30 16:00:38,574 - api.main - INFO - STDERR: import 'asyncio.sslproto' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B6F9A0> +2024-11-30 16:00:38,575 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\staggered.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\staggered.py +2024-11-30 16:00:38,575 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\staggered.cpython-39.pyc' +2024-11-30 16:00:38,576 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\locks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\locks.py +2024-11-30 16:00:38,576 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\locks.cpython-39.pyc' +2024-11-30 16:00:38,576 - api.main - INFO - STDERR: import 'asyncio.locks' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B959D0> +2024-11-30 16:00:38,577 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\tasks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\tasks.py +2024-11-30 16:00:38,577 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\tasks.cpython-39.pyc' +2024-11-30 16:00:38,577 - api.main - INFO - STDERR: import 'asyncio.tasks' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3BA2550> +2024-11-30 16:00:38,577 - api.main - INFO - STDERR: import 'asyncio.staggered' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B79790> +2024-11-30 16:00:38,577 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\trsock.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\trsock.py +2024-11-30 16:00:38,577 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\trsock.cpython-39.pyc' +2024-11-30 16:00:38,578 - api.main - INFO - STDERR: import 'asyncio.trsock' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3BAB820> +2024-11-30 16:00:38,578 - api.main - INFO - STDERR: import 'asyncio.base_events' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B06F70> +2024-11-30 16:00:38,578 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\runners.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\runners.py +2024-11-30 16:00:38,578 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\runners.cpython-39.pyc' +2024-11-30 16:00:38,578 - api.main - INFO - STDERR: import 'asyncio.runners' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B2C580> +2024-11-30 16:00:38,579 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\queues.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\queues.py +2024-11-30 16:00:38,579 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\queues.cpython-39.pyc' +2024-11-30 16:00:38,579 - api.main - INFO - STDERR: import 'asyncio.queues' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B2C430> +2024-11-30 16:00:38,579 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\streams.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\streams.py +2024-11-30 16:00:38,579 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\streams.cpython-39.pyc' +2024-11-30 16:00:38,579 - api.main - INFO - STDERR: import 'asyncio.streams' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3BB48E0> +2024-11-30 16:00:38,580 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\subprocess.py +2024-11-30 16:00:38,580 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\subprocess.cpython-39.pyc' +2024-11-30 16:00:38,580 - api.main - INFO - STDERR: import 'asyncio.subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3BCB700> +2024-11-30 16:00:38,580 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\threads.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\threads.py +2024-11-30 16:00:38,580 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\threads.cpython-39.pyc' +2024-11-30 16:00:38,581 - api.main - INFO - STDERR: import 'asyncio.threads' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3BCBCA0> +2024-11-30 16:00:38,581 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\windows_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\windows_events.py +2024-11-30 16:00:38,582 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\windows_events.cpython-39.pyc' +2024-11-30 16:00:38,583 - api.main - INFO - STDERR: # extension module '_overlapped' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_overlapped.pyd' +2024-11-30 16:00:38,583 - api.main - INFO - STDERR: # extension module '_overlapped' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_overlapped.pyd' +2024-11-30 16:00:38,583 - api.main - INFO - STDERR: import '_overlapped' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000254D3BE7250> +2024-11-30 16:00:38,583 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_subprocess.py +2024-11-30 16:00:38,583 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_subprocess.cpython-39.pyc' +2024-11-30 16:00:38,583 - api.main - INFO - STDERR: import 'asyncio.base_subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3BE73A0> +2024-11-30 16:00:38,584 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\proactor_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\proactor_events.py +2024-11-30 16:00:38,584 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\proactor_events.cpython-39.pyc' +2024-11-30 16:00:38,584 - api.main - INFO - STDERR: import 'asyncio.proactor_events' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3BE7E20> +2024-11-30 16:00:38,585 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\selector_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\selector_events.py +2024-11-30 16:00:38,585 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\selector_events.cpython-39.pyc' +2024-11-30 16:00:38,585 - api.main - INFO - STDERR: import 'asyncio.selector_events' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3C01520> +2024-11-30 16:00:38,586 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\windows_utils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\windows_utils.py +2024-11-30 16:00:38,586 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\windows_utils.cpython-39.pyc' +2024-11-30 16:00:38,586 - api.main - INFO - STDERR: import 'asyncio.windows_utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3C21610> +2024-11-30 16:00:38,587 - api.main - INFO - STDERR: import 'asyncio.windows_events' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3BCBD60> +2024-11-30 16:00:38,587 - api.main - INFO - STDERR: import 'asyncio' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B06370> +2024-11-30 16:00:38,587 - api.main - INFO - STDERR: import 'filelock.asyncio' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B03B50> +2024-11-30 16:00:38,588 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\version.py +2024-11-30 16:00:38,588 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\version.cpython-39.pyc' +2024-11-30 16:00:38,588 - api.main - INFO - STDERR: import 'filelock.version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3C30B80> +2024-11-30 16:00:38,588 - api.main - INFO - STDERR: import 'filelock' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3AEA640> +2024-11-30 16:00:38,589 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__init__.py +2024-11-30 16:00:38,589 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,589 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\colors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\colors.py +2024-11-30 16:00:38,589 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\colors.cpython-39.pyc' +2024-11-30 16:00:38,589 - api.main - INFO - STDERR: import 'logzero.colors' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3C309D0> +2024-11-30 16:00:38,590 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\jsonlogger.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\jsonlogger.py +2024-11-30 16:00:38,590 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\jsonlogger.cpython-39.pyc' +2024-11-30 16:00:38,590 - api.main - INFO - STDERR: import 'logzero.jsonlogger' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3C30280> +2024-11-30 16:00:38,590 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__pycache__\handlers.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\handlers.py +2024-11-30 16:00:38,590 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\logging\\__pycache__\\handlers.cpython-39.pyc' +2024-11-30 16:00:38,591 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pickle.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pickle.py +2024-11-30 16:00:38,592 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pickle.cpython-39.pyc' +2024-11-30 16:00:38,592 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_compat_pickle.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_compat_pickle.py +2024-11-30 16:00:38,592 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_compat_pickle.cpython-39.pyc' +2024-11-30 16:00:38,592 - api.main - INFO - STDERR: import '_compat_pickle' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3C69760> +2024-11-30 16:00:38,592 - api.main - INFO - STDERR: import '_pickle' # +2024-11-30 16:00:38,594 - api.main - INFO - STDERR: import 'pickle' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3C49C70> +2024-11-30 16:00:38,594 - api.main - INFO - STDERR: import 'logging.handlers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3C21D60> +2024-11-30 16:00:38,595 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\curses\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\curses\__init__.py +2024-11-30 16:00:38,595 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\curses\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,596 - api.main - INFO - STDERR: # destroy curses +2024-11-30 16:00:38,596 - api.main - INFO - STDERR: import 'logzero' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3B03B20> +2024-11-30 16:00:38,596 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\six.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\six.py +2024-11-30 16:00:38,596 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\six.cpython-39.pyc' +2024-11-30 16:00:38,597 - api.main - INFO - STDERR: import 'six' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3C49DC0> +2024-11-30 16:00:38,597 - api.main - INFO - STDERR: import 'six.moves' # +2024-11-30 16:00:38,597 - api.main - INFO - STDERR: import 'six.moves.urllib' # +2024-11-30 16:00:38,597 - api.main - INFO - STDERR: import 'six.moves.urllib.parse' # +2024-11-30 16:00:38,598 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\cached_property.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cached_property.py +2024-11-30 16:00:38,598 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\cached_property.cpython-39.pyc' +2024-11-30 16:00:38,598 - api.main - INFO - STDERR: import 'cached_property' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3C69FA0> +2024-11-30 16:00:38,599 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__init__.py +2024-11-30 16:00:38,599 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\deprecated\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,599 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__pycache__\classic.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\classic.py +2024-11-30 16:00:38,599 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\deprecated\\__pycache__\\classic.cpython-39.pyc' +2024-11-30 16:00:38,600 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__init__.py +2024-11-30 16:00:38,600 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,600 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\__wrapt__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__wrapt__.py +2024-11-30 16:00:38,600 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\__wrapt__.cpython-39.pyc' +2024-11-30 16:00:38,600 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\wrappers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\wrappers.py +2024-11-30 16:00:38,600 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\wrappers.cpython-39.pyc' +2024-11-30 16:00:38,601 - api.main - INFO - STDERR: import 'wrapt.wrappers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3CA1100> +2024-11-30 16:00:38,602 - api.main - INFO - STDERR: # extension module 'wrapt._wrappers' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\_wrappers.cp39-win_amd64.pyd' +2024-11-30 16:00:38,602 - api.main - INFO - STDERR: # extension module 'wrapt._wrappers' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\_wrappers.cp39-win_amd64.pyd' +2024-11-30 16:00:38,602 - api.main - INFO - STDERR: import 'wrapt._wrappers' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000254D3CABA90> +2024-11-30 16:00:38,602 - api.main - INFO - STDERR: import 'wrapt.__wrapt__' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3C96B20> +2024-11-30 16:00:38,602 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\patches.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\patches.py +2024-11-30 16:00:38,602 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\patches.cpython-39.pyc' +2024-11-30 16:00:38,602 - api.main - INFO - STDERR: import 'wrapt.patches' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3C96C10> +2024-11-30 16:00:38,603 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\weakrefs.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\weakrefs.py +2024-11-30 16:00:38,603 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\weakrefs.cpython-39.pyc' +2024-11-30 16:00:38,603 - api.main - INFO - STDERR: import 'wrapt.weakrefs' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3CABFD0> +2024-11-30 16:00:38,603 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\decorators.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\decorators.py +2024-11-30 16:00:38,603 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\decorators.cpython-39.pyc' +2024-11-30 16:00:38,603 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\arguments.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\arguments.py +2024-11-30 16:00:38,604 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\arguments.cpython-39.pyc' +2024-11-30 16:00:38,604 - api.main - INFO - STDERR: import 'wrapt.arguments' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3CC5130> +2024-11-30 16:00:38,604 - api.main - INFO - STDERR: import 'wrapt.decorators' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3CBF2E0> +2024-11-30 16:00:38,604 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\importer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\importer.py +2024-11-30 16:00:38,604 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\importer.cpython-39.pyc' +2024-11-30 16:00:38,604 - api.main - INFO - STDERR: import 'wrapt.importer' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3CC5310> +2024-11-30 16:00:38,604 - api.main - INFO - STDERR: import 'wrapt' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3C96FA0> +2024-11-30 16:00:38,604 - api.main - INFO - STDERR: import 'deprecated.classic' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3C85C70> +2024-11-30 16:00:38,604 - api.main - INFO - STDERR: import 'deprecated' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3C85790> +2024-11-30 16:00:38,604 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\xpath.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\xpath.py +2024-11-30 16:00:38,604 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\xpath.cpython-39.pyc' +2024-11-30 16:00:38,604 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\_proto.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_proto.py +2024-11-30 16:00:38,604 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\_proto.cpython-39.pyc' +2024-11-30 16:00:38,606 - api.main - INFO - STDERR: import 'uiautomator2._proto' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3CDD9A0> +2024-11-30 16:00:38,606 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\abcd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\abcd.py +2024-11-30 16:00:38,606 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\abcd.cpython-39.pyc' +2024-11-30 16:00:38,606 - api.main - INFO - STDERR: import 'uiautomator2.abcd' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3CDDAF0> +2024-11-30 16:00:38,606 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\exceptions.py +2024-11-30 16:00:38,606 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 16:00:38,606 - api.main - INFO - STDERR: import 'uiautomator2.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3CDDE20> +2024-11-30 16:00:38,607 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\utils.py +2024-11-30 16:00:38,607 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 16:00:38,607 - api.main - INFO - STDERR: import 'uiautomator2.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3CDDF70> +2024-11-30 16:00:38,608 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\lxml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\lxml\__init__.py +2024-11-30 16:00:38,608 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,608 - api.main - INFO - STDERR: import 'lxml' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3CF6EE0> +2024-11-30 16:00:38,609 - api.main - INFO - STDERR: # extension module 'lxml.etree' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\etree.cp39-win_amd64.pyd' +2024-11-30 16:00:38,609 - api.main - INFO - STDERR: import 'gc' # +2024-11-30 16:00:38,612 - api.main - INFO - STDERR: # extension module 'lxml._elementpath' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\_elementpath.cp39-win_amd64.pyd' +2024-11-30 16:00:38,612 - api.main - INFO - STDERR: # extension module 'lxml._elementpath' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\_elementpath.cp39-win_amd64.pyd' +2024-11-30 16:00:38,612 - api.main - INFO - STDERR: import 'lxml._elementpath' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000254D3D56DC0> +2024-11-30 16:00:38,615 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\gzip.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\gzip.py +2024-11-30 16:00:38,615 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\gzip.cpython-39.pyc' +2024-11-30 16:00:38,615 - api.main - INFO - STDERR: import 'gzip' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3D77940> +2024-11-30 16:00:38,617 - api.main - INFO - STDERR: # extension module 'lxml.etree' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\etree.cp39-win_amd64.pyd' +2024-11-30 16:00:38,617 - api.main - INFO - STDERR: import 'lxml.etree' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000254D3CF6EB0> +2024-11-30 16:00:38,617 - api.main - INFO - STDERR: import 'uiautomator2.xpath' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3C857F0> +2024-11-30 16:00:38,618 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\_selector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_selector.py +2024-11-30 16:00:38,618 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\_selector.cpython-39.pyc' +2024-11-30 16:00:38,618 - api.main - INFO - STDERR: import 'uiautomator2._selector' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3CC59A0> +2024-11-30 16:00:38,618 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\init.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\init.py +2024-11-30 16:00:38,618 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\init.cpython-39.pyc' +2024-11-30 16:00:38,619 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tarfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tarfile.py +2024-11-30 16:00:38,620 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tarfile.cpython-39.pyc' +2024-11-30 16:00:38,622 - api.main - INFO - STDERR: import 'tarfile' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3DBEB80> +2024-11-30 16:00:38,622 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__init__.py +2024-11-30 16:00:38,622 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,622 - api.main - INFO - STDERR: import 'progress' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3DCAAC0> +2024-11-30 16:00:38,622 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\bar.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\bar.py +2024-11-30 16:00:38,622 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\bar.cpython-39.pyc' +2024-11-30 16:00:38,623 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\colors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\colors.py +2024-11-30 16:00:38,623 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\colors.cpython-39.pyc' +2024-11-30 16:00:38,623 - api.main - INFO - STDERR: import 'progress.colors' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3DF6310> +2024-11-30 16:00:38,623 - api.main - INFO - STDERR: import 'progress.bar' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3DBEF70> +2024-11-30 16:00:38,623 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\version.py +2024-11-30 16:00:38,623 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\version.cpython-39.pyc' +2024-11-30 16:00:38,624 - api.main - INFO - STDERR: import 'uiautomator2.version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3DF6130> +2024-11-30 16:00:38,624 - api.main - INFO - STDERR: import 'uiautomator2.init' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3DBE550> +2024-11-30 16:00:38,624 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\settings.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\settings.py +2024-11-30 16:00:38,624 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\settings.cpython-39.pyc' +2024-11-30 16:00:38,624 - api.main - INFO - STDERR: import 'uiautomator2.settings' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3DF6A90> +2024-11-30 16:00:38,625 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\swipe.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\swipe.py +2024-11-30 16:00:38,625 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\swipe.cpython-39.pyc' +2024-11-30 16:00:38,625 - api.main - INFO - STDERR: import 'uiautomator2.swipe' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3DF6D30> +2024-11-30 16:00:38,625 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\watcher.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\watcher.py +2024-11-30 16:00:38,625 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\watcher.cpython-39.pyc' +2024-11-30 16:00:38,625 - api.main - INFO - STDERR: import 'uiautomator2.watcher' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3DF6EE0> +2024-11-30 16:00:38,626 - api.main - INFO - STDERR: import 'uiautomator2' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D29D9E80> +2024-11-30 16:00:38,626 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\utils.py +2024-11-30 16:00:38,626 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 16:00:38,628 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__init__.py +2024-11-30 16:00:38,628 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,629 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\core.py +2024-11-30 16:00:38,629 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\__pycache__\\core.cpython-39.pyc' +2024-11-30 16:00:38,629 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__init__.py +2024-11-30 16:00:38,629 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\unicode_codes\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,630 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__pycache__\data_dict.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\data_dict.py +2024-11-30 16:00:38,633 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\unicode_codes\\__pycache__\\data_dict.cpython-39.pyc' +2024-11-30 16:00:38,636 - api.main - INFO - STDERR: import 'emoji.unicode_codes.data_dict' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3E2F970> +2024-11-30 16:00:38,649 - api.main - INFO - STDERR: import 'emoji.unicode_codes' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3E2F640> +2024-11-30 16:00:38,649 - api.main - INFO - STDERR: import 'emoji.core' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3E1EF70> +2024-11-30 16:00:38,649 - api.main - INFO - STDERR: import 'emoji' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3E1ED00> +2024-11-30 16:00:38,650 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\log.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\log.py +2024-11-30 16:00:38,650 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\log.cpython-39.pyc' +2024-11-30 16:00:38,650 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\uuid.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\uuid.py +2024-11-30 16:00:38,652 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\uuid.cpython-39.pyc' +2024-11-30 16:00:38,653 - api.main - INFO - STDERR: # extension module '_uuid' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_uuid.pyd' +2024-11-30 16:00:38,653 - api.main - INFO - STDERR: # extension module '_uuid' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_uuid.pyd' +2024-11-30 16:00:38,653 - api.main - INFO - STDERR: import '_uuid' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000254D4A171F0> +2024-11-30 16:00:38,653 - api.main - INFO - STDERR: import 'uuid' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3E2FA90> +2024-11-30 16:00:38,653 - api.main - INFO - STDERR: import 'GramAddict.core.log' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3E1ED30> +2024-11-30 16:00:38,653 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\report.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\report.py +2024-11-30 16:00:38,653 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\report.cpython-39.pyc' +2024-11-30 16:00:38,654 - api.main - INFO - STDERR: import 'GramAddict.core.report' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D3E2F760> +2024-11-30 16:00:38,654 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\resources.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\resources.py +2024-11-30 16:00:38,654 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\resources.cpython-39.pyc' +2024-11-30 16:00:38,654 - api.main - INFO - STDERR: import 'GramAddict.core.resources' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4A17160> +2024-11-30 16:00:38,654 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\storage.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\storage.py +2024-11-30 16:00:38,654 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\storage.cpython-39.pyc' +2024-11-30 16:00:38,656 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\atomicwrites\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\atomicwrites\__init__.py +2024-11-30 16:00:38,656 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\atomicwrites\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,657 - api.main - INFO - STDERR: import 'atomicwrites' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4A17880> +2024-11-30 16:00:38,657 - api.main - INFO - STDERR: import 'GramAddict.core.storage' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4A17310> +2024-11-30 16:00:38,657 - api.main - INFO - STDERR: import 'GramAddict.core.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D2A166D0> +2024-11-30 16:00:38,658 - api.main - INFO - STDERR: import 'GramAddict.core.device_facade' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D29092B0> +2024-11-30 16:00:38,658 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\filter.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\filter.py +2024-11-30 16:00:38,658 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\filter.cpython-39.pyc' +2024-11-30 16:00:38,659 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__init__.py +2024-11-30 16:00:38,659 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,659 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\detector_factory.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\detector_factory.py +2024-11-30 16:00:38,659 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\detector_factory.cpython-39.pyc' +2024-11-30 16:00:38,661 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\detector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\detector.py +2024-11-30 16:00:38,661 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\detector.cpython-39.pyc' +2024-11-30 16:00:38,661 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\lang_detect_exception.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\lang_detect_exception.py +2024-11-30 16:00:38,661 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\lang_detect_exception.cpython-39.pyc' +2024-11-30 16:00:38,661 - api.main - INFO - STDERR: import 'langdetect.lang_detect_exception' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4A42D60> +2024-11-30 16:00:38,661 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\language.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\language.py +2024-11-30 16:00:38,661 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\language.cpython-39.pyc' +2024-11-30 16:00:38,661 - api.main - INFO - STDERR: import 'langdetect.language' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4A42FD0> +2024-11-30 16:00:38,662 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__init__.py +2024-11-30 16:00:38,662 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,662 - api.main - INFO - STDERR: import 'langdetect.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4A4A3A0> +2024-11-30 16:00:38,662 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\ngram.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\ngram.py +2024-11-30 16:00:38,662 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\ngram.cpython-39.pyc' +2024-11-30 16:00:38,662 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\messages.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\messages.py +2024-11-30 16:00:38,663 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\messages.cpython-39.pyc' +2024-11-30 16:00:38,663 - api.main - INFO - STDERR: import 'langdetect.utils.messages' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4A4A6D0> +2024-11-30 16:00:38,663 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\unicode_block.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\unicode_block.py +2024-11-30 16:00:38,663 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\unicode_block.cpython-39.pyc' +2024-11-30 16:00:38,663 - api.main - INFO - STDERR: import 'langdetect.utils.unicode_block' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4A4A880> +2024-11-30 16:00:38,664 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\unicode_escape.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\unicode_escape.py +2024-11-30 16:00:38,664 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\unicode_escape.cpython-39.pyc' +2024-11-30 16:00:38,664 - api.main - INFO - STDERR: import 'encodings.unicode_escape' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4A4AA30> +2024-11-30 16:00:38,666 - api.main - INFO - STDERR: import 'langdetect.utils.ngram' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4A4A3D0> +2024-11-30 16:00:38,666 - api.main - INFO - STDERR: import 'langdetect.detector' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4A427C0> +2024-11-30 16:00:38,667 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\lang_profile.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\lang_profile.py +2024-11-30 16:00:38,667 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\lang_profile.cpython-39.pyc' +2024-11-30 16:00:38,667 - api.main - INFO - STDERR: import 'langdetect.utils.lang_profile' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4A42B80> +2024-11-30 16:00:38,667 - api.main - INFO - STDERR: import 'langdetect.detector_factory' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4A422B0> +2024-11-30 16:00:38,667 - api.main - INFO - STDERR: import 'langdetect' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4A2EFD0> +2024-11-30 16:00:38,668 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\views.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py +2024-11-30 16:00:38,668 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\views.cpython-39.pyc' +2024-11-30 16:00:38,669 - api.main - INFO - STDERR: import 'GramAddict.core.views' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4A42550> +2024-11-30 16:00:38,669 - api.main - INFO - STDERR: import 'GramAddict.core.filter' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D29D94F0> +2024-11-30 16:00:38,669 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\interaction.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\interaction.py +2024-11-30 16:00:38,669 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\interaction.cpython-39.pyc' +2024-11-30 16:00:38,671 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__init__.py +2024-11-30 16:00:38,671 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\spintax\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,671 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__pycache__\spintax.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\spintax.py +2024-11-30 16:00:38,671 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\spintax\\__pycache__\\spintax.cpython-39.pyc' +2024-11-30 16:00:38,671 - api.main - INFO - STDERR: import 'spintax.spintax' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4B37820> +2024-11-30 16:00:38,671 - api.main - INFO - STDERR: import 'spintax' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4B375E0> +2024-11-30 16:00:38,672 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\session_state.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\session_state.py +2024-11-30 16:00:38,672 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\session_state.cpython-39.pyc' +2024-11-30 16:00:38,673 - api.main - INFO - STDERR: import 'GramAddict.core.session_state' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4B378E0> +2024-11-30 16:00:38,673 - api.main - INFO - STDERR: import 'GramAddict.core.interaction' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4B37100> +2024-11-30 16:00:38,673 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\navigation.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\navigation.py +2024-11-30 16:00:38,673 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\navigation.cpython-39.pyc' +2024-11-30 16:00:38,673 - api.main - INFO - STDERR: import 'GramAddict.core.navigation' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4B37FD0> +2024-11-30 16:00:38,674 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\persistent_list.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\persistent_list.py +2024-11-30 16:00:38,674 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\persistent_list.cpython-39.pyc' +2024-11-30 16:00:38,674 - api.main - INFO - STDERR: import 'GramAddict.core.persistent_list' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4B460D0> +2024-11-30 16:00:38,674 - api.main - INFO - STDOUT: Python path: ['e:\\PROJECTS\\instagram automation\\virtualinfluencer', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\python39.zip', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer'] +2024-11-30 16:00:38,674 - api.main - INFO - STDERR: import 'GramAddict.core.bot_flow' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0A74670> +2024-11-30 16:00:38,674 - api.main - INFO - STDOUT: Current directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 16:00:38,674 - api.main - INFO - STDERR: import 'GramAddict' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0A74D00> +2024-11-30 16:00:38,675 - api.main - INFO - STDOUT: Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 16:00:38,675 - api.main - INFO - STDERR: e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml has been saved last time at 2024-11-29 01:33:21 +2024-11-30 16:00:38,675 - api.main - INFO - STDOUT: Successfully imported GramAddict +2024-11-30 16:00:38,684 - api.main - INFO - STDERR: [11/30 16:00:38] DEBUG | Initial log file: logs/quecreate.log +2024-11-30 16:00:38,684 - api.main - INFO - STDERR: [11/30 16:00:38] DEBUG | Installed via git, config-examples is in the local folder. +2024-11-30 16:00:38,684 - api.main - INFO - STDERR: [11/30 16:00:38] INFO | Checking for updates... +2024-11-30 16:00:38,685 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\netrc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\netrc.py +2024-11-30 16:00:38,685 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\netrc.cpython-39.pyc' +2024-11-30 16:00:38,686 - api.main - INFO - STDERR: import 'netrc' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4B46F10> +2024-11-30 16:00:38,954 - api.main - INFO - STDERR: [11/30 16:00:38] INFO | Bot is updated. +2024-11-30 16:00:38,955 - api.main - INFO - STDERR: [11/30 16:00:38] INFO | GramAddict v.3.2.12 +2024-11-30 16:00:38,955 - api.main - INFO - STDERR: [11/30 16:00:38] INFO | Loading plugins . . . +2024-11-30 16:00:38,956 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__init__.py +2024-11-30 16:00:38,956 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,956 - api.main - INFO - STDERR: import 'GramAddict.plugins' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4B46EB0> +2024-11-30 16:00:38,957 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\action_unfollow_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\action_unfollow_followers.py +2024-11-30 16:00:38,957 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\action_unfollow_followers.cpython-39.pyc' +2024-11-30 16:00:38,958 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\decorators.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py +2024-11-30 16:00:38,958 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\decorators.cpython-39.pyc' +2024-11-30 16:00:38,958 - api.main - INFO - STDERR: import 'GramAddict.core.decorators' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4B63EB0> +2024-11-30 16:00:38,958 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\scroll_end_detector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\scroll_end_detector.py +2024-11-30 16:00:38,959 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\scroll_end_detector.cpython-39.pyc' +2024-11-30 16:00:38,959 - api.main - INFO - STDERR: import 'GramAddict.core.scroll_end_detector' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4B635E0> +2024-11-30 16:00:38,959 - api.main - INFO - STDERR: import 'GramAddict.plugins.action_unfollow_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4B46BE0> +2024-11-30 16:00:38,959 - api.main - INFO - STDERR: [11/30 16:00:38] INFO | - ActionUnfollowFollowers: Handles the functionality of unfollowing your followers +2024-11-30 16:00:38,959 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\cloned_app.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\cloned_app.py +2024-11-30 16:00:38,959 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\cloned_app.cpython-39.pyc' +2024-11-30 16:00:38,959 - api.main - INFO - STDERR: import 'GramAddict.plugins.cloned_app' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4B63A60> +2024-11-30 16:00:38,959 - api.main - INFO - STDERR: [11/30 16:00:38] INFO | - ClonedApp: Adds support for cloned apps +2024-11-30 16:00:38,960 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\core_arguments.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\core_arguments.py +2024-11-30 16:00:38,960 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\core_arguments.cpython-39.pyc' +2024-11-30 16:00:38,960 - api.main - INFO - STDERR: import 'GramAddict.plugins.core_arguments' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4B63C10> +2024-11-30 16:00:38,960 - api.main - INFO - STDERR: [11/30 16:00:38] INFO | - CoreArguments: Simply adds core arguments +2024-11-30 16:00:38,962 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\data_analytics.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\data_analytics.py +2024-11-30 16:00:38,962 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\data_analytics.cpython-39.pyc' +2024-11-30 16:00:38,962 - api.main - INFO - STDERR: import 'GramAddict.plugins.data_analytics' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4B63F10> +2024-11-30 16:00:38,962 - api.main - INFO - STDERR: [11/30 16:00:38] INFO | - DataAnalytics: Generates a PDF analytics report of current username session data +2024-11-30 16:00:38,962 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\dbinit.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\dbinit.py +2024-11-30 16:00:38,962 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\dbinit.cpython-39.pyc' +2024-11-30 16:00:38,963 - api.main - INFO - STDERR: import 'GramAddict.plugins.dbinit' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0A74EB0> +2024-11-30 16:00:38,963 - api.main - INFO - STDERR: [11/30 16:00:38] INFO | - DBInitPlugin: Initialize NocoDB tables at session start +2024-11-30 16:00:38,963 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger.py +2024-11-30 16:00:38,963 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger.cpython-39.pyc' +2024-11-30 16:00:38,964 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\handle_sources.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py +2024-11-30 16:00:38,964 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\handle_sources.cpython-39.pyc' +2024-11-30 16:00:38,964 - api.main - INFO - STDERR: import 'GramAddict.core.handle_sources' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4BC0550> +2024-11-30 16:00:38,964 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D0A743A0> +2024-11-30 16:00:38,964 - api.main - INFO - STDERR: [11/30 16:00:38] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger +2024-11-30 16:00:38,965 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py +2024-11-30 16:00:38,965 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger_followers.cpython-39.pyc' +2024-11-30 16:00:38,965 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4BC0970> +2024-11-30 16:00:38,965 - api.main - INFO - STDERR: [11/30 16:00:38] INFO | - InteractBloggerFollowers_Following: Handles the functionality of interacting with a bloggers followers/following +2024-11-30 16:00:38,966 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger_post_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_post_likers.py +2024-11-30 16:00:38,966 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger_post_likers.cpython-39.pyc' +2024-11-30 16:00:38,966 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger_post_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4BC0C10> +2024-11-30 16:00:38,966 - api.main - INFO - STDERR: [11/30 16:00:38] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger post likers +2024-11-30 16:00:38,966 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_feed.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_feed.py +2024-11-30 16:00:38,967 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_feed.cpython-39.pyc' +2024-11-30 16:00:38,967 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_feed' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4BC0F40> +2024-11-30 16:00:38,967 - api.main - INFO - STDERR: [11/30 16:00:38] INFO | - InteractOwnFeed: Handles the functionality of interacting with your own feed +2024-11-30 16:00:38,968 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_hashtag_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_hashtag_likers.py +2024-11-30 16:00:38,968 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_hashtag_likers.cpython-39.pyc' +2024-11-30 16:00:38,968 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_hashtag_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4BA92E0> +2024-11-30 16:00:38,969 - api.main - INFO - STDERR: [11/30 16:00:38] INFO | - InteractHashtagLikers: Handles the functionality of interacting with a hashtags likers +2024-11-30 16:00:38,969 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_hashtag_posts.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_hashtag_posts.py +2024-11-30 16:00:38,969 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_hashtag_posts.cpython-39.pyc' +2024-11-30 16:00:38,969 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_hashtag_posts' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4BA9640> +2024-11-30 16:00:38,969 - api.main - INFO - STDERR: [11/30 16:00:38] INFO | - InteractHashtagPosts: Handles the functionality of interacting with a hashtags post owners +2024-11-30 16:00:38,971 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_place_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_place_likers.py +2024-11-30 16:00:38,971 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_place_likers.cpython-39.pyc' +2024-11-30 16:00:38,971 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_place_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4BA99A0> +2024-11-30 16:00:38,971 - api.main - INFO - STDERR: [11/30 16:00:38] INFO | - InteractPlaceLikers: Handles the functionality of interacting with a places likers +2024-11-30 16:00:38,972 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_place_posts.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_place_posts.py +2024-11-30 16:00:38,972 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_place_posts.cpython-39.pyc' +2024-11-30 16:00:38,972 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_place_posts' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4BA9D30> +2024-11-30 16:00:38,972 - api.main - INFO - STDERR: [11/30 16:00:38] INFO | - InteractPlacePosts: Handles the functionality of interacting with a places post owners +2024-11-30 16:00:38,972 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\like_from_urls.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\like_from_urls.py +2024-11-30 16:00:38,972 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\like_from_urls.cpython-39.pyc' +2024-11-30 16:00:38,972 - api.main - INFO - STDERR: import 'GramAddict.plugins.like_from_urls' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4BA9FA0> +2024-11-30 16:00:38,972 - api.main - INFO - STDERR: [11/30 16:00:38] INFO | - LikeFromURLs: Likes a post from url. The urls are read from a plaintext file +2024-11-30 16:00:38,973 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\nocodb_record_creation_test.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\nocodb_record_creation_test.py +2024-11-30 16:00:38,973 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\nocodb_record_creation_test.cpython-39.pyc' +2024-11-30 16:00:38,973 - api.main - INFO - STDERR: import 'GramAddict.plugins.nocodb_record_creation_test' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4BCF460> +2024-11-30 16:00:38,973 - api.main - INFO - STDERR: [11/30 16:00:38] INFO | - NocoDBRecordCreationTest: Test plugin specifically for verifying NocoDB record creation functionality +2024-11-30 16:00:38,974 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\nocodb_storage.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\nocodb_storage.py +2024-11-30 16:00:38,974 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\nocodb_storage.cpython-39.pyc' +2024-11-30 16:00:38,975 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__init__.py +2024-11-30 16:00:38,975 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:00:38,975 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jwk.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jwk.py +2024-11-30 16:00:38,976 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jwk.cpython-39.pyc' +2024-11-30 16:00:38,976 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\algorithms.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\algorithms.py +2024-11-30 16:00:38,976 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\algorithms.cpython-39.pyc' +2024-11-30 16:00:38,976 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\exceptions.py +2024-11-30 16:00:38,976 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 16:00:38,976 - api.main - INFO - STDERR: import 'jwt.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4BEC790> +2024-11-30 16:00:38,976 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\types.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\types.py +2024-11-30 16:00:38,978 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\types.cpython-39.pyc' +2024-11-30 16:00:38,978 - api.main - INFO - STDERR: import 'jwt.types' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4BEC820> +2024-11-30 16:00:38,978 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\utils.py +2024-11-30 16:00:38,978 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 16:00:38,979 - api.main - INFO - STDERR: import 'jwt.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4BEC910> +2024-11-30 16:00:38,979 - api.main - INFO - STDERR: import 'jwt.algorithms' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4BE15B0> +2024-11-30 16:00:38,979 - api.main - INFO - STDERR: import 'jwt.api_jwk' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4BCFE20> +2024-11-30 16:00:38,980 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jws.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jws.py +2024-11-30 16:00:38,981 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jws.cpython-39.pyc' +2024-11-30 16:00:38,981 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\warnings.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\warnings.py +2024-11-30 16:00:38,981 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\warnings.cpython-39.pyc' +2024-11-30 16:00:38,981 - api.main - INFO - STDERR: import 'jwt.warnings' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4BEC160> +2024-11-30 16:00:38,981 - api.main - INFO - STDERR: import 'jwt.api_jws' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4BE1C70> +2024-11-30 16:00:38,981 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jwt.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jwt.py +2024-11-30 16:00:38,981 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jwt.cpython-39.pyc' +2024-11-30 16:00:38,982 - api.main - INFO - STDERR: import 'jwt.api_jwt' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4BEC3A0> +2024-11-30 16:00:38,982 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\jwks_client.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\jwks_client.py +2024-11-30 16:00:38,982 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\jwks_client.cpython-39.pyc' +2024-11-30 16:00:38,982 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\jwk_set_cache.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\jwk_set_cache.py +2024-11-30 16:00:38,982 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\jwk_set_cache.cpython-39.pyc' +2024-11-30 16:00:38,982 - api.main - INFO - STDERR: import 'jwt.jwk_set_cache' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4BF7B50> +2024-11-30 16:00:38,983 - api.main - INFO - STDERR: import 'jwt.jwks_client' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4BF7580> +2024-11-30 16:00:38,983 - api.main - INFO - STDERR: import 'jwt' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4BCFBB0> +2024-11-30 16:00:38,983 - api.main - INFO - STDERR: import 'GramAddict.plugins.nocodb_storage' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4BCF5E0> +2024-11-30 16:00:38,983 - api.main - INFO - STDERR: [11/30 16:00:38] INFO | - NocoDBStorage: Store interaction data in NocoDB +2024-11-30 16:00:38,985 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\remove_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\remove_followers.py +2024-11-30 16:00:38,985 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\remove_followers.cpython-39.pyc' +2024-11-30 16:00:38,985 - api.main - INFO - STDERR: import 'GramAddict.plugins.remove_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4BF7FD0> +2024-11-30 16:00:38,985 - api.main - INFO - STDERR: [11/30 16:00:38] INFO | - RemoveFollowersFromList: Remove account followers from a list of usernames +2024-11-30 16:00:38,985 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\telegram.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\telegram.py +2024-11-30 16:00:38,985 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\telegram.cpython-39.pyc' +2024-11-30 16:00:38,986 - api.main - INFO - STDERR: import 'GramAddict.plugins.telegram' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4C12220> +2024-11-30 16:00:38,986 - api.main - INFO - STDERR: [11/30 16:00:38] INFO | - TelegramReports: Generate reports at the end of the session and send them using telegram +2024-11-30 16:00:38,989 - api.main - INFO - STDERR: [11/30 16:00:38] DEBUG | Arguments used: --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 16:00:38,990 - api.main - INFO - STDERR: [11/30 16:00:38] DEBUG | Config used: {'username': 'quecreate', 'app-id': 'com.instagram.android', 'use-cloned-app': False, 'allow-untested-ig-version': False, 'screen-sleep': True, 'screen-record': False, 'speed-multiplier': 1.0, 'debug': True, 'close-apps': False, 'kill-atx-agent': False, 'restart-atx-agent': False, 'disable-block-detection': False, 'disable-filters': False, 'dont-type': False, 'use-nocodb': True, 'init-db': True, 'total-crashes-limit': 5, 'count-app-crashes': False, 'shuffle-jobs': True, 'truncate-sources': '2-5', 'blogger-followers': ['mnaumanndesign'], 'watch-video-time': '15-35', 'watch-photo-time': '3-4', 'delete-interacted-users': True, 'telegram-reports': False, 'interactions-count': '300-400', 'likes-count': '1-2', 'likes-percentage': 100, 'stories-count': '10-20', 'stories-percentage': '30-40', 'carousel-count': '20-30', 'carousel-percentage': '60-70', 'max-comments-pro-user': '1-2', 'interact-percentage': '30-40', 'follow-percentage': '30-40', 'follow-limit': 50, 'skipped-list-limit': '10-15', 'skipped-posts-limit': 5, 'fling-when-skipped': 0, 'min-following': 10, 'total-likes-limit': '120-150', 'total-follows-limit': '40-50', 'total-unfollows-limit': '40-50', 'total-watches-limit': '120-150', 'total-successful-interactions-limit': '120-150', 'total-interactions-limit': '280-300', 'total-comments-limit': '3-50', 'total-pm-limit': '3-5', 'total-scraped-limit': '100-150', 'end-if-likes-limit-reached': False, 'end-if-follows-limit-reached': False, 'end-if-watches-limit-reached': False, 'end-if-comments-limit-reached': False, 'end-if-pm-limit-reached': False} +2024-11-30 16:00:39,075 - api.main - INFO - STDERR: [11/30 16:00:39] DEBUG | Connected devices via adb: 1. That's ok. +2024-11-30 16:00:39,166 - api.main - INFO - STDERR: [11/30 16:00:39] INFO | Time delta has set to 00:00:44. +2024-11-30 16:00:39,167 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_strptime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_strptime.py +2024-11-30 16:00:39,167 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_strptime.cpython-39.pyc' +2024-11-30 16:00:39,168 - api.main - INFO - STDERR: import '_strptime' # <_frozen_importlib_external.SourceFileLoader object at 0x00000254D4C227F0> +2024-11-30 16:00:39,169 - api.main - INFO - STDERR: [11/30 16:00:39] DEBUG | Whole day mode. +2024-11-30 16:00:39,304 - api.main - INFO - STDERR: [11/30 16:00:39] DEBUG | Phone Name: taimen, SDK Version: 30 +2024-11-30 16:00:39,536 - api.main - INFO - STDERR: [11/30 16:00:39] DEBUG | Screen dimension: 1440x2824 +2024-11-30 16:00:39,702 - api.main - INFO - STDERR: [11/30 16:00:39] DEBUG | Screen resolution: 411x823 +2024-11-30 16:00:39,704 - api.main - INFO - STDERR: [11/30 16:00:39] DEBUG | Device ID: 192.168.50.202:5555 +2024-11-30 16:00:39,837 - api.main - INFO - STDERR: [11/30 16:00:39] INFO | Screen timeout is fine! +2024-11-30 16:00:39,980 - api.main - INFO - STDERR: [11/30 16:00:39] INFO | -------- START: 16:00:39 - 2024/11/30 -------- +2024-11-30 16:00:42,432 - api.main - INFO - STDERR: [11/30 16:00:42] INFO | Device screen ON and unlocked. +2024-11-30 16:00:42,432 - api.main - INFO - STDERR: [11/30 16:00:42] INFO | Open Instagram app. +2024-11-30 16:00:42,806 - api.main - INFO - STDERR: [11/30 16:00:42] DEBUG | Instagram called successfully. +2024-11-30 16:00:43,373 - api.main - INFO - STDERR: [11/30 16:00:43] INFO | Ready for botting!\U0001f92b +2024-11-30 16:00:43,374 - api.main - INFO - STDERR: [11/30 16:00:43] DEBUG | 1.95s sleep +2024-11-30 16:00:45,337 - api.main - INFO - STDERR: [11/30 16:00:45] DEBUG | Setting FastInputIME as default keyboard. +2024-11-30 16:00:45,589 - api.main - INFO - STDERR: [11/30 16:00:45] INFO | FastInputIME is the default keyboard. +2024-11-30 16:00:45,762 - api.main - INFO - STDERR: [11/30 16:00:45] INFO | Instagram version: 300.0.0.29.110 +2024-11-30 16:00:46,322 - api.main - INFO - STDERR: [11/30 16:00:46] DEBUG | Navigating to main account... +2024-11-30 16:00:46,825 - api.main - ERROR - Error getting bot stats for account quecreate: __init__() got an unexpected keyword argument 'account_name' +2024-11-30 16:00:47,762 - api.main - INFO - STDERR: [11/30 16:00:47] DEBUG | Single click in (1280,2713). Surface: (1244-1349,2684-2789) +2024-11-30 16:00:48,220 - api.main - INFO - STDERR: [11/30 16:00:48] DEBUG | 2.74s sleep +2024-11-30 16:00:51,852 - api.main - INFO - STDERR: [11/30 16:00:51] DEBUG | Checking if app is in English.. +2024-11-30 16:00:54,575 - api.main - INFO - STDERR: [11/30 16:00:54] DEBUG | Instagram in English. +2024-11-30 16:00:55,476 - api.main - INFO - STDERR: [11/30 16:00:55] INFO | You are already logged as quecreate! +2024-11-30 16:00:55,867 - api.main - INFO - STDERR: [11/30 16:00:55] INFO | Refresh account... +2024-11-30 16:00:56,182 - api.main - INFO - STDERR: [11/30 16:00:56] DEBUG | Swipe from: (807,630) to (803,926). +2024-11-30 16:00:56,997 - api.main - INFO - STDERR: [11/30 16:00:56] DEBUG | 0.77s sleep +2024-11-30 16:00:57,782 - api.main - INFO - STDERR: [11/30 16:00:57] DEBUG | 1.58s sleep +2024-11-30 16:01:02,380 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | Hello, @quecreate! You have 1 followers and 55 followings so far. +2024-11-30 16:01:02,380 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | There is/are 3 active-job(s) and 0 unfollow-job(s) scheduled for this session. +2024-11-30 16:01:02,380 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | NocoDB config found - plugin will handle initialization +2024-11-30 16:01:02,385 - api.main - INFO - STDERR: [11/30 16:01:02] WARNING | accounts\quecreate\filters.yml has been saved last time at 2024-11-28 01:20:01 +2024-11-30 16:01:02,393 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | ---------------------------------------------------------------------- +2024-11-30 16:01:02,394 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | Filters recap (no spell check!) Value +2024-11-30 16:01:02,394 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | ---------------------------------------------------------------------- +2024-11-30 16:01:02,394 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | max_following 7500 +2024-11-30 16:01:02,395 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | min_following 10 +2024-11-30 16:01:02,395 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | max_followers 15000 +2024-11-30 16:01:02,395 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | min_followers 100 +2024-11-30 16:01:02,395 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | max_posts 1000 +2024-11-30 16:01:02,396 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | min_posts 3 +2024-11-30 16:01:02,396 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | max_following_to_followers_ratio 2.0 +2024-11-30 16:01:02,396 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | min_following_to_followers_ratio None +2024-11-30 16:01:02,396 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | max_followers_to_following_ratio None +2024-11-30 16:01:02,396 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | min_followers_to_following_ratio None +2024-11-30 16:01:02,396 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | max_potency_ratio 1.5 +2024-11-30 16:01:02,397 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | min_potency_ratio 0.1 +2024-11-30 16:01:02,397 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | biography_language None +2024-11-30 16:01:02,397 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | biography_banned_words [] +2024-11-30 16:01:02,398 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | biography_mandatory_words [] +2024-11-30 16:01:02,398 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | business_category_name [] +2024-11-30 16:01:02,398 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | is_private None +2024-11-30 16:01:02,399 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | is_verified None +2024-11-30 16:01:02,399 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | is_business None +2024-11-30 16:01:02,399 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | is_non_business None +2024-11-30 16:01:02,399 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | blacklist_words [] +2024-11-30 16:01:02,400 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | mandatory_words [] +2024-11-30 16:01:02,400 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | specific_alphabet None +2024-11-30 16:01:02,400 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | min_posts_from_date None +2024-11-30 16:01:02,400 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | posts_from_date None +2024-11-30 16:01:02,400 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | mutual_friends None +2024-11-30 16:01:02,400 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | following_bot None +2024-11-30 16:01:02,401 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | last_post None +2024-11-30 16:01:02,401 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | potency_ratio None +2024-11-30 16:01:02,401 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | has_any_business_category None +2024-11-30 16:01:02,402 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | has_highlights None +2024-11-30 16:01:02,402 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | has_guides None +2024-11-30 16:01:02,402 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | has_external_url None +2024-11-30 16:01:02,402 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | has_business_category_name None +2024-11-30 16:01:02,403 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | has_biography_links None +2024-11-30 16:01:02,403 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | has_igtv None +2024-11-30 16:01:02,403 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | has_linked_facebook None +2024-11-30 16:01:02,403 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | has_story_highlights None +2024-11-30 16:01:02,404 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | has_youtube None +2024-11-30 16:01:02,404 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | has_twitter None +2024-11-30 16:01:02,404 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | has_facebook None +2024-11-30 16:01:02,404 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | has_whatsapp None +2024-11-30 16:01:02,404 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | has_tiktok None +2024-11-30 16:01:02,405 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_link_in_bio False +2024-11-30 16:01:02,405 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_external_url False +2024-11-30 16:01:02,406 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_business False +2024-11-30 16:01:02,406 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_business_categories [] +2024-11-30 16:01:02,406 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_bio_keyword [] +2024-11-30 16:01:02,406 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_bio_keyword [] +2024-11-30 16:01:02,406 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_bio_contains_anything False +2024-11-30 16:01:02,407 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_no_avatar False +2024-11-30 16:01:02,407 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_no_bio False +2024-11-30 16:01:02,407 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_no_posts False +2024-11-30 16:01:02,407 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_no_igtv False +2024-11-30 16:01:02,408 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_no_story_highlights False +2024-11-30 16:01:02,408 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_no_mutual_friends False +2024-11-30 16:01:02,408 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_private False +2024-11-30 16:01:02,408 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_public False +2024-11-30 16:01:02,409 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_verified False +2024-11-30 16:01:02,409 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_non_business False +2024-11-30 16:01:02,409 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_following_bot False +2024-11-30 16:01:02,409 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_following_less_than None +2024-11-30 16:01:02,409 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_followers_less_than None +2024-11-30 16:01:02,409 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_posts_less_than None +2024-11-30 16:01:02,409 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_mutual_friends_less_than None +2024-11-30 16:01:02,410 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_following_more_than None +2024-11-30 16:01:02,410 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_followers_more_than None +2024-11-30 16:01:02,410 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_posts_more_than None +2024-11-30 16:01:02,410 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_mutual_friends_more_than None +2024-11-30 16:01:02,411 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_following_to_followers_ratio_less_than None +2024-11-30 16:01:02,411 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_following_to_followers_ratio_more_than None +2024-11-30 16:01:02,411 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_followers_to_following_ratio_less_than None +2024-11-30 16:01:02,411 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_followers_to_following_ratio_more_than None +2024-11-30 16:01:02,413 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_potency_ratio_less_than None +2024-11-30 16:01:02,413 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | skip_if_potency_ratio_more_than None +2024-11-30 16:01:02,413 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | ---------------------------------------------------------------------- +2024-11-30 16:01:02,413 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | Session ending conditions: Value +2024-11-30 16:01:02,413 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | ---------------------------------------------------------------------- +2024-11-30 16:01:02,413 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | Likes: False +2024-11-30 16:01:02,413 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | Follows: False +2024-11-30 16:01:02,414 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | Watches: False +2024-11-30 16:01:02,414 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | Comments: False +2024-11-30 16:01:02,414 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | PM: False +2024-11-30 16:01:02,414 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | Total actions: True (not mutable) +2024-11-30 16:01:02,414 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | Total successfull actions: True (not mutable) +2024-11-30 16:01:02,414 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | For more info -> https://github.com/GramAddict/docs/blob/main/configuration.md#ending-session-conditions +2024-11-30 16:01:02,416 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | ---------------------------------------------------------------------- +2024-11-30 16:01:02,416 - api.main - INFO - STDERR: [11/30 16:01:02] DEBUG | Whole day mode. +2024-11-30 16:01:02,416 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | Checking session limits: +2024-11-30 16:01:02,416 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | - Total Likes: OK (0/136) +2024-11-30 16:01:02,417 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | - Total Comments: OK (0/36) +2024-11-30 16:01:02,417 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | - Total PM: OK (0/5) +2024-11-30 16:01:02,417 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | - Total Followed: OK (0/50) +2024-11-30 16:01:02,417 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | - Total Unfollowed: OK (0/48) +2024-11-30 16:01:02,417 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | - Total Watched: OK (0/145) +2024-11-30 16:01:02,417 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | - Total Successful Interactions: OK (0/125) +2024-11-30 16:01:02,417 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | - Total Interactions: OK (0/298) +2024-11-30 16:01:02,418 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | - Total Crashes: OK (0/5) +2024-11-30 16:01:02,418 - api.main - INFO - STDERR: [11/30 16:01:02] INFO | - Total Successful Scraped Users: OK (0/101) +2024-11-30 16:01:03,023 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | Current active-job: use-nocodb +2024-11-30 16:01:03,023 - api.main - INFO - STDERR: 2024-11-30 16:01:03,023 - nocodb_operations - INFO - Initializing NocoDB storage... +2024-11-30 16:01:03,024 - api.main - INFO - STDERR: 2024-11-30 16:01:03,023 - nocodb_operations - INFO - Loading NocoDB configuration... +2024-11-30 16:01:03,033 - api.main - INFO - STDERR: 2024-11-30 16:01:03,033 - nocodb_operations - INFO - Testing NocoDB connection... +2024-11-30 16:01:03,056 - api.main - INFO - STDERR: 2024-11-30 16:01:03,056 - nocodb_operations - INFO - Verifying project pvazjom12m1ho5k... +2024-11-30 16:01:03,087 - api.main - INFO - STDERR: 2024-11-30 16:01:03,087 - nocodb_operations - INFO - NocoDB connection successful! +2024-11-30 16:01:03,087 - api.main - INFO - STDERR: 2024-11-30 16:01:03,087 - nocodb_operations - INFO - Initializing tables... +2024-11-30 16:01:03,088 - api.main - INFO - STDERR: 2024-11-30 16:01:03,087 - nocodb_operations - INFO - NocoDB: Initializing tables... +2024-11-30 16:01:03,116 - api.main - INFO - STDERR: 2024-11-30 16:01:03,116 - nocodb_operations - INFO - NocoDB: Project pvazjom12m1ho5k exists +2024-11-30 16:01:03,132 - api.main - INFO - STDERR: 2024-11-30 16:01:03,132 - nocodb_operations - INFO - NocoDB: Table Interacted Users already exists +2024-11-30 16:01:03,133 - api.main - INFO - STDERR: 2024-11-30 16:01:03,132 - nocodb_operations - INFO - NocoDB: Table History Filters Users already exists +2024-11-30 16:01:03,133 - api.main - INFO - STDERR: 2024-11-30 16:01:03,132 - nocodb_operations - INFO - NocoDB: Tables initialized successfully +2024-11-30 16:01:03,133 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | NocoDB reference set in storage +2024-11-30 16:01:03,133 - api.main - INFO - STDERR: 2024-11-30 16:01:03,133 - nocodb_operations - INFO - NocoDB storage initialized successfully! +2024-11-30 16:01:03,133 - api.main - INFO - STDERR: [11/30 16:01:03] DEBUG | Whole day mode. +2024-11-30 16:01:03,134 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | Checking session limits: +2024-11-30 16:01:03,134 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | - Total Likes: OK (0/136) +2024-11-30 16:01:03,134 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | - Total Comments: OK (0/36) +2024-11-30 16:01:03,135 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | - Total PM: OK (0/5) +2024-11-30 16:01:03,135 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | - Total Followed: OK (0/50) +2024-11-30 16:01:03,135 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | - Total Unfollowed: OK (0/48) +2024-11-30 16:01:03,136 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | - Total Watched: OK (0/145) +2024-11-30 16:01:03,137 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | - Total Successful Interactions: OK (0/125) +2024-11-30 16:01:03,137 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | - Total Interactions: OK (0/298) +2024-11-30 16:01:03,137 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | - Total Crashes: OK (0/5) +2024-11-30 16:01:03,137 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | - Total Successful Scraped Users: OK (0/101) +2024-11-30 16:01:03,817 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | Current active-job: init-db +2024-11-30 16:01:03,817 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | ================================================================================ +2024-11-30 16:01:03,818 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | Starting database initialization... +2024-11-30 16:01:03,818 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | Initializing NocoDB tables... +2024-11-30 16:01:03,818 - api.main - INFO - STDERR: 2024-11-30 16:01:03,818 - nocodb_operations - INFO - NocoDB: Initializing tables... +2024-11-30 16:01:03,835 - api.main - INFO - STDERR: 2024-11-30 16:01:03,835 - nocodb_operations - INFO - NocoDB: Project pvazjom12m1ho5k exists +2024-11-30 16:01:03,852 - api.main - INFO - STDERR: 2024-11-30 16:01:03,852 - nocodb_operations - INFO - NocoDB: Table Interacted Users already exists +2024-11-30 16:01:03,852 - api.main - INFO - STDERR: 2024-11-30 16:01:03,852 - nocodb_operations - INFO - NocoDB: Table History Filters Users already exists +2024-11-30 16:01:03,852 - api.main - INFO - STDERR: 2024-11-30 16:01:03,852 - nocodb_operations - INFO - NocoDB: Tables initialized successfully +2024-11-30 16:01:03,852 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | Database tables initialization completed successfully! +2024-11-30 16:01:03,852 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | You can now use NocoDB to store interaction data. +2024-11-30 16:01:03,853 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | ================================================================================ +2024-11-30 16:01:03,853 - api.main - INFO - STDERR: [11/30 16:01:03] DEBUG | Whole day mode. +2024-11-30 16:01:03,853 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | Checking session limits: +2024-11-30 16:01:03,853 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | - Total Likes: OK (0/136) +2024-11-30 16:01:03,854 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | - Total Comments: OK (0/36) +2024-11-30 16:01:03,854 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | - Total PM: OK (0/5) +2024-11-30 16:01:03,855 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | - Total Followed: OK (0/50) +2024-11-30 16:01:03,855 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | - Total Unfollowed: OK (0/48) +2024-11-30 16:01:03,855 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | - Total Watched: OK (0/145) +2024-11-30 16:01:03,855 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | - Total Successful Interactions: OK (0/125) +2024-11-30 16:01:03,856 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | - Total Interactions: OK (0/298) +2024-11-30 16:01:03,856 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | - Total Crashes: OK (0/5) +2024-11-30 16:01:03,856 - api.main - INFO - STDERR: [11/30 16:01:03] INFO | - Total Successful Scraped Users: OK (0/101) +2024-11-30 16:01:04,511 - api.main - INFO - STDERR: [11/30 16:01:04] INFO | Current active-job: blogger-followers +2024-11-30 16:01:04,511 - api.main - INFO - STDERR: [11/30 16:01:04] INFO | Source list truncated at 1 item. +2024-11-30 16:01:04,511 - api.main - INFO - STDERR: [11/30 16:01:04] INFO | In this session, that source will be handled: mnaumanndesign +2024-11-30 16:01:04,511 - api.main - INFO - STDERR: [11/30 16:01:04] DEBUG | Checking session limits: +2024-11-30 16:01:04,511 - api.main - INFO - STDERR: [11/30 16:01:04] DEBUG | - Total Likes: OK (0/136) +2024-11-30 16:01:04,511 - api.main - INFO - STDERR: [11/30 16:01:04] DEBUG | - Total Comments: OK (0/36) +2024-11-30 16:01:04,511 - api.main - INFO - STDERR: [11/30 16:01:04] DEBUG | - Total PM: OK (0/5) +2024-11-30 16:01:04,513 - api.main - INFO - STDERR: [11/30 16:01:04] DEBUG | - Total Followed: OK (0/50) +2024-11-30 16:01:04,513 - api.main - INFO - STDERR: [11/30 16:01:04] DEBUG | - Total Unfollowed: OK (0/48) +2024-11-30 16:01:04,513 - api.main - INFO - STDERR: [11/30 16:01:04] DEBUG | - Total Watched: OK (0/145) +2024-11-30 16:01:04,513 - api.main - INFO - STDERR: [11/30 16:01:04] DEBUG | - Total Successful Interactions: OK (0/125) +2024-11-30 16:01:04,514 - api.main - INFO - STDERR: [11/30 16:01:04] DEBUG | - Total Interactions: OK (0/298) +2024-11-30 16:01:04,514 - api.main - INFO - STDERR: [11/30 16:01:04] DEBUG | - Total Crashes: OK (0/5) +2024-11-30 16:01:04,514 - api.main - INFO - STDERR: [11/30 16:01:04] DEBUG | - Total Successful Scraped Users: OK (0/101) +2024-11-30 16:01:04,514 - api.main - INFO - STDERR: [11/30 16:01:04] INFO | Handle mnaumanndesign +2024-11-30 16:01:04,515 - api.main - INFO - STDERR: [11/30 16:01:04] INFO | Interactions count: 391 +2024-11-30 16:01:04,515 - api.main - INFO - STDERR: [11/30 16:01:04] INFO | Chance of watching stories: 37% +2024-11-30 16:01:04,515 - api.main - INFO - STDERR: [11/30 16:01:04] INFO | Chance of liking: 100% +2024-11-30 16:01:04,515 - api.main - INFO - STDERR: [11/30 16:01:04] INFO | Chance of following: 32% +2024-11-30 16:01:04,515 - api.main - INFO - STDERR: [11/30 16:01:04] INFO | Chance of commenting: 0% +2024-11-30 16:01:04,516 - api.main - INFO - STDERR: [11/30 16:01:04] INFO | Chance of interacting: 37% +2024-11-30 16:01:04,516 - api.main - INFO - STDERR: [11/30 16:01:04] INFO | Chance of send PM: 0% +2024-11-30 16:01:04,516 - api.main - INFO - STDERR: [11/30 16:01:04] DEBUG | Navigate to SEARCH +2024-11-30 16:01:05,466 - api.main - INFO - STDERR: [11/30 16:01:05] DEBUG | Single click in (411,2773). Surface: (288-576,2649-2824) +2024-11-30 16:01:06,031 - api.main - INFO - STDERR: [11/30 16:01:06] DEBUG | 1.06s sleep +2024-11-30 16:01:07,371 - api.main - INFO - STDERR: [11/30 16:01:07] DEBUG | Single click in (482,2698). Surface: (288-576,2649-2824) +2024-11-30 16:01:07,784 - api.main - INFO - STDERR: [11/30 16:01:07] DEBUG | 1.72s sleep +2024-11-30 16:01:09,526 - api.main - INFO - STDERR: [11/30 16:01:09] INFO | Navigate to mnaumanndesign +2024-11-30 16:01:09,927 - api.main - INFO - STDERR: [11/30 16:01:09] DEBUG | Pressing on searchbar. +2024-11-30 16:01:10,014 - api.main - INFO - STDERR: [11/30 16:01:10] DEBUG | Single click in (262,182). Surface: (42-1370,146-259) +2024-11-30 16:01:10,447 - api.main - INFO - STDERR: [11/30 16:01:10] DEBUG | 1.74s sleep +2024-11-30 16:01:13,032 - api.main - INFO - STDERR: [11/30 16:01:13] DEBUG | Single click in (434,685). Surface: (322-659,653-710) +2024-11-30 16:01:13,448 - api.main - INFO - STDERR: [11/30 16:01:13] DEBUG | 2.15s sleep +2024-11-30 16:01:15,611 - api.main - INFO - STDERR: [11/30 16:01:15] INFO | mnaumanndesign is in recent history. +2024-11-30 16:01:15,937 - api.main - INFO - STDERR: [11/30 16:01:15] INFO | Open @mnaumanndesign followers. +2024-11-30 16:01:15,938 - api.main - INFO - STDERR: [11/30 16:01:15] INFO | Navigate to followers. +2024-11-30 16:01:16,930 - api.main - INFO - STDERR: [11/30 16:01:16] DEBUG | Single click in (892,523). Surface: (747-1057,322-630) +2024-11-30 16:01:17,309 - api.main - INFO - STDERR: [11/30 16:01:17] DEBUG | 2.42s sleep +2024-11-30 16:01:21,090 - api.main - INFO - STDERR: [11/30 16:01:21] INFO | Iterate over visible followers. +2024-11-30 16:01:25,343 - api.main - INFO - STDERR: [11/30 16:01:25] DEBUG | There are 7 users fully visible in that view. +2024-11-30 16:01:26,466 - api.main - INFO - STDERR: [11/30 16:01:26] INFO | @nigell.design.lab: already interacted on 2024/11/29 01:35:14. Skip. +2024-11-30 16:01:27,434 - api.main - INFO - STDERR: [11/30 16:01:27] INFO | @osm_dsgnr: already interacted on 2024/11/30 05:29:31. Skip. +2024-11-30 16:01:28,360 - api.main - INFO - STDERR: [11/30 16:01:28] INFO | @newness________: already interacted on 2024/11/29 01:35:35. Skip. +2024-11-30 16:01:29,053 - api.main - INFO - STDERR: [11/30 16:01:29] INFO | @northbryan: already interacted on 2024/11/30 05:47:55. Skip. +2024-11-30 16:01:29,726 - api.main - INFO - STDERR: [11/30 16:01:29] INFO | @personal_day__: already interacted on 2024/11/29 01:37:38. Skip. +2024-11-30 16:01:30,686 - api.main - INFO - STDERR: [11/30 16:01:30] INFO | @irfanul_gani: already interacted on 2024/11/30 15:25:53. Skip. +2024-11-30 16:01:31,537 - api.main - INFO - STDERR: [11/30 16:01:31] INFO | @rafiki7474: already interacted on 2024/11/30 05:29:55. Skip. +2024-11-30 16:01:33,031 - api.main - INFO - STDERR: [11/30 16:01:33] INFO | All followers skipped, let's scroll. +2024-11-30 16:01:34,289 - api.main - INFO - STDERR: [11/30 16:01:34] INFO | Iterate over visible followers. +2024-11-30 16:01:39,279 - api.main - INFO - STDERR: [11/30 16:01:39] DEBUG | There are 8 users fully visible in that view. +2024-11-30 16:01:39,499 - api.main - ERROR - Error getting bot stats for account quecreate: __init__() got an unexpected keyword argument 'account_name' +2024-11-30 16:01:40,762 - api.main - INFO - STDERR: [11/30 16:01:40] INFO | @simmakkaleem: already interacted on 2024/11/29 04:15:41. Skip. +2024-11-30 16:01:41,691 - api.main - INFO - STDERR: [11/30 16:01:41] INFO | @loathful_fdor: already interacted on 2024/11/30 05:30:33. Skip. +2024-11-30 16:01:42,631 - api.main - INFO - STDERR: [11/30 16:01:42] INFO | @user732728d: already interacted on 2024/11/29 04:16:36. Skip. +2024-11-30 16:01:43,561 - api.main - INFO - STDERR: [11/30 16:01:43] INFO | @mmmmmmmeomory: already interacted on 2024/11/29 04:20:13. Skip. +2024-11-30 16:01:44,495 - api.main - INFO - STDERR: [11/30 16:01:44] INFO | @tovoii: already interacted on 2024/11/29 04:15:14. Skip. +2024-11-30 16:01:45,433 - api.main - INFO - STDERR: [11/30 16:01:45] INFO | @pakreht: already interacted on 2024/11/29 04:16:18. Skip. +2024-11-30 16:01:46,369 - api.main - INFO - STDERR: [11/30 16:01:46] INFO | @cavalry_playground: already interacted on 2024/11/30 05:31:00. Skip. +2024-11-30 16:01:47,394 - api.main - INFO - STDERR: [11/30 16:01:47] INFO | @gabomarin_designer: already interacted on 2024/11/30 05:31:19. Skip. +2024-11-30 16:01:48,872 - api.main - INFO - STDERR: [11/30 16:01:48] INFO | All followers skipped, let's scroll. +2024-11-30 16:01:50,111 - api.main - INFO - STDERR: [11/30 16:01:50] INFO | Iterate over visible followers. +2024-11-30 16:01:55,034 - api.main - INFO - STDERR: [11/30 16:01:55] DEBUG | There are 8 users fully visible in that view. +2024-11-30 16:01:56,449 - api.main - INFO - STDERR: [11/30 16:01:56] INFO | @lorcan.archive: already interacted on 2024/11/29 01:36:59. Skip. +2024-11-30 16:01:57,397 - api.main - INFO - STDERR: [11/30 16:01:57] INFO | @_motiongrapher_: already interacted on 2024/11/29 04:17:14. Skip. +2024-11-30 16:01:58,368 - api.main - INFO - STDERR: [11/30 16:01:58] INFO | @furkanadiguzel15: already interacted on 2024/11/30 13:34:25. Skip. +2024-11-30 16:01:59,264 - api.main - INFO - STDERR: [11/30 16:01:59] INFO | @heavydirtyday: already interacted on 2024/11/29 04:16:58. Skip. +2024-11-30 16:02:00,198 - api.main - INFO - STDERR: [11/30 16:02:00] INFO | @kelevra0815: already interacted on 2024/11/30 15:10:33. Skip. +2024-11-30 16:02:01,202 - api.main - INFO - STDERR: [11/30 16:02:01] INFO | @ddrckdsgn: already interacted on 2024/11/30 05:37:10. Skip. +2024-11-30 16:02:02,164 - api.main - INFO - STDERR: [11/30 16:02:02] INFO | @xyzettgraphix_bfvk: already interacted on 2024/11/29 04:21:20. Skip. +2024-11-30 16:02:03,106 - api.main - INFO - STDERR: [11/30 16:02:03] INFO | @ooook___789: already interacted on 2024/11/29 04:17:52. Skip. +2024-11-30 16:02:04,599 - api.main - INFO - STDERR: [11/30 16:02:04] INFO | All followers skipped, let's scroll. +2024-11-30 16:02:05,870 - api.main - INFO - STDERR: [11/30 16:02:05] INFO | Iterate over visible followers. +2024-11-30 16:02:11,302 - api.main - INFO - STDERR: [11/30 16:02:11] DEBUG | There are 8 users fully visible in that view. +2024-11-30 16:02:12,778 - api.main - INFO - STDERR: [11/30 16:02:12] INFO | @oivtat: already interacted on 2024/11/29 04:17:32. Skip. +2024-11-30 16:02:13,693 - api.main - INFO - STDERR: [11/30 16:02:13] INFO | @motivomine: already interacted on 2024/11/29 04:19:52. Skip. +2024-11-30 16:02:14,646 - api.main - INFO - STDERR: [11/30 16:02:14] INFO | @blissfuldread: already interacted on 2024/11/29 04:22:24. Skip. +2024-11-30 16:02:15,615 - api.main - INFO - STDERR: [11/30 16:02:15] INFO | @bryn_pod: already interacted on 2024/11/29 01:35:49. Skip. +2024-11-30 16:02:16,622 - api.main - INFO - STDERR: [11/30 16:02:16] INFO | @rychee_studio: already interacted on 2024/11/29 04:32:11. Skip. +2024-11-30 16:02:17,559 - api.main - INFO - STDERR: [11/30 16:02:17] INFO | @sammeske: already interacted on 2024/11/29 04:38:40. Skip. +2024-11-30 16:02:18,476 - api.main - INFO - STDERR: [11/30 16:02:18] INFO | @jeejung_gabin: already interacted on 2024/11/29 04:35:39. Skip. +2024-11-30 16:02:19,474 - api.main - INFO - STDERR: [11/30 16:02:19] INFO | @gioph_designs: already interacted on 2024/11/29 04:23:05. Skip. +2024-11-30 16:02:20,937 - api.main - INFO - STDERR: [11/30 16:02:20] INFO | All followers skipped, let's scroll. +2024-11-30 16:02:22,161 - api.main - INFO - STDERR: [11/30 16:02:22] INFO | Iterate over visible followers. +2024-11-30 16:02:26,958 - api.main - INFO - STDERR: [11/30 16:02:26] DEBUG | There are 7 users fully visible in that view. +2024-11-30 16:02:28,478 - api.main - INFO - STDERR: [11/30 16:02:28] INFO | @dixitasarchive: already interacted on 2024/11/29 01:37:19. Skip. +2024-11-30 16:02:29,425 - api.main - INFO - STDERR: [11/30 16:02:29] INFO | @asad_graphic: already interacted on 2024/11/29 04:23:47. Skip. +2024-11-30 16:02:30,328 - api.main - INFO - STDERR: [11/30 16:02:30] INFO | @artreyd: already interacted on 2024/11/29 04:23:29. Skip. +2024-11-30 16:02:31,301 - api.main - INFO - STDERR: [11/30 16:02:31] INFO | @y2knght: already interacted on 2024/11/30 05:49:04. Skip. +2024-11-30 16:02:32,251 - api.main - INFO - STDERR: [11/30 16:02:32] INFO | @neodigitalbr: already interacted on 2024/11/29 04:24:54. Skip. +2024-11-30 16:02:33,252 - api.main - INFO - STDERR: [11/30 16:02:33] INFO | @claudiatua.0v0: already interacted on 2024/11/29 04:26:30. Skip. +2024-11-30 16:02:34,260 - api.main - INFO - STDERR: [11/30 16:02:34] INFO | @jakub_bukowski: already interacted on 2024/11/30 05:49:26. Skip. +2024-11-30 16:02:35,727 - api.main - INFO - STDERR: [11/30 16:02:35] INFO | All followers skipped, let's scroll. +2024-11-30 16:02:36,954 - api.main - INFO - STDERR: [11/30 16:02:36] INFO | Iterate over visible followers. +2024-11-30 16:02:38,130 - api.main - ERROR - Error getting bot stats for account quecreate: __init__() got an unexpected keyword argument 'account_name' +2024-11-30 16:02:42,263 - api.main - INFO - STDERR: [11/30 16:02:42] DEBUG | There are 8 users fully visible in that view. +2024-11-30 16:02:43,670 - api.main - INFO - STDERR: [11/30 16:02:43] INFO | @gonepix: already interacted on 2024/11/29 04:27:07. Skip. +2024-11-30 16:02:44,611 - api.main - INFO - STDERR: [11/30 16:02:44] INFO | @audoreaudio: already interacted on 2024/11/29 04:33:46. Skip. +2024-11-30 16:02:45,610 - api.main - INFO - STDERR: [11/30 16:02:45] INFO | @iam_lifeflow2019: already interacted on 2024/11/29 04:36:42. Skip. +2024-11-30 16:02:46,549 - api.main - INFO - STDERR: [11/30 16:02:46] INFO | @d0nut.eth: already interacted on 2024/11/30 15:14:43. Skip. +2024-11-30 16:02:47,513 - api.main - INFO - STDERR: [11/30 16:02:47] INFO | @iris_orbis: already interacted on 2024/11/29 04:34:19. Skip. +2024-11-30 16:02:48,480 - api.main - INFO - STDERR: [11/30 16:02:48] INFO | @erkunzhao: already interacted on 2024/11/30 13:36:17. Skip. +2024-11-30 16:02:49,461 - api.main - INFO - STDERR: [11/30 16:02:49] INFO | @heshuangjiang1120: already interacted on 2024/11/29 04:36:23. Skip. +2024-11-30 16:02:50,421 - api.main - INFO - STDERR: [11/30 16:02:50] INFO | @wingsvn: already interacted on 2024/11/29 04:34:38. Skip. +2024-11-30 16:02:51,829 - api.main - INFO - STDERR: [11/30 16:02:51] INFO | All followers skipped, let's scroll. +2024-11-30 16:02:53,076 - api.main - INFO - STDERR: [11/30 16:02:53] INFO | Iterate over visible followers. +2024-11-30 16:02:58,332 - api.main - INFO - STDERR: [11/30 16:02:58] DEBUG | There are 8 users fully visible in that view. +2024-11-30 16:02:59,803 - api.main - INFO - STDERR: [11/30 16:02:59] INFO | @lunch_box_notes: already interacted on 2024/11/29 04:37:27. Skip. +2024-11-30 16:03:00,762 - api.main - INFO - STDERR: [11/30 16:03:00] INFO | @marcusw.design: already interacted on 2024/11/29 04:18:37. Skip. +2024-11-30 16:03:01,676 - api.main - INFO - STDERR: [11/30 16:03:01] INFO | @prazdnakasa: already interacted on 2024/11/29 04:15:58. Skip. +2024-11-30 16:03:02,518 - api.main - INFO - STDERR: [11/30 16:03:02] INFO | @symbolone: interact +2024-11-30 16:03:02,911 - api.main - INFO - STDERR: [11/30 16:03:02] DEBUG | Single click in (386,1416). Surface: (322-530,1405-1462) +2024-11-30 16:03:03,603 - api.main - INFO - STDERR: [11/30 16:03:03] DEBUG | 0.69s sleep +2024-11-30 16:03:04,307 - api.main - INFO - STDERR: [11/30 16:03:04] DEBUG | 2.07s sleep +2024-11-30 16:03:06,780 - api.main - INFO - STDERR: [11/30 16:03:06] DEBUG | Checking profile.. +2024-11-30 16:03:07,841 - api.main - INFO - STDERR: [11/30 16:03:07] DEBUG | Looking for mutual friends tab. +2024-11-30 16:03:14,137 - api.main - INFO - STDERR: [11/30 16:03:14] DEBUG | This account is public. +2024-11-30 16:03:14,137 - api.main - INFO - STDERR: [11/30 16:03:14] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 16:03:14,137 - api.main - INFO - STDERR: [11/30 16:03:14] INFO | @symbolone's potency ratio is not between 0.1 and 1.5, skip. +2024-11-30 16:03:14,151 - api.main - INFO - STDERR: [11/30 16:03:14] INFO | Storing filter data in NocoDB for symbolone +2024-11-30 16:03:14,229 - api.main - INFO - STDERR: 2024-11-30 16:03:14,229 - nocodb_operations - INFO - Successfully stored filtered user data for symbolone +2024-11-30 16:03:14,229 - api.main - INFO - STDERR: [11/30 16:03:14] DEBUG | Profile checked in 7.45s +2024-11-30 16:03:14,245 - api.main - INFO - STDERR: [11/30 16:03:14] DEBUG | Whole day mode. +2024-11-30 16:03:14,245 - api.main - INFO - STDERR: [11/30 16:03:14] DEBUG | - Total Likes: OK (0/136) +2024-11-30 16:03:14,245 - api.main - INFO - STDERR: [11/30 16:03:14] DEBUG | - Total Followed: OK (0/50) +2024-11-30 16:03:14,246 - api.main - INFO - STDERR: [11/30 16:03:14] DEBUG | - Total Watched: OK (0/145) +2024-11-30 16:03:14,246 - api.main - INFO - STDERR: [11/30 16:03:14] DEBUG | - Total PM: OK (0/5) +2024-11-30 16:03:14,246 - api.main - INFO - STDERR: [11/30 16:03:14] DEBUG | - Total Comments: OK (0/36) +2024-11-30 16:03:14,247 - api.main - INFO - STDERR: [11/30 16:03:14] DEBUG | - Total Interactions: OK (1/298) +2024-11-30 16:03:14,248 - api.main - INFO - STDERR: [11/30 16:03:14] DEBUG | - Total Successful Interactions: OK (0/125) +2024-11-30 16:03:14,248 - api.main - INFO - STDERR: [11/30 16:03:14] INFO | Back to followers list +2024-11-30 16:03:14,248 - api.main - INFO - STDERR: [11/30 16:03:14] DEBUG | Press back button. +2024-11-30 16:03:14,346 - api.main - INFO - STDERR: [11/30 16:03:14] DEBUG | 0.66s sleep +2024-11-30 16:03:16,152 - api.main - INFO - STDERR: [11/30 16:03:16] INFO | @lennimation: already interacted on 2024/11/30 13:37:05. Skip. +2024-11-30 16:03:17,079 - api.main - INFO - STDERR: [11/30 16:03:17] INFO | @creatid.d: already interacted on 2024/11/30 13:37:21. Skip. +2024-11-30 16:03:18,099 - api.main - INFO - STDERR: [11/30 16:03:18] INFO | @77artndesign: already interacted on 2024/11/30 13:37:39. Skip. +2024-11-30 16:03:19,012 - api.main - INFO - STDERR: [11/30 16:03:19] INFO | @weemeeuwkoenraad: already interacted on 2024/11/29 04:21:46. Skip. +2024-11-30 16:03:20,473 - api.main - INFO - STDERR: [11/30 16:03:20] INFO | Need to scroll now +2024-11-30 16:03:21,702 - api.main - INFO - STDERR: [11/30 16:03:21] INFO | Iterate over visible followers. +2024-11-30 16:03:26,288 - api.main - INFO - STDERR: [11/30 16:03:26] DEBUG | There are 7 users fully visible in that view. +2024-11-30 16:03:27,789 - api.main - INFO - STDERR: [11/30 16:03:27] INFO | @emotionworks: already interacted on 2024/11/30 13:38:22. Skip. +2024-11-30 16:03:28,704 - api.main - INFO - STDERR: [11/30 16:03:28] INFO | @usethriv: already interacted on 2024/11/29 04:26:12. Skip. +2024-11-30 16:03:29,669 - api.main - INFO - STDERR: [11/30 16:03:29] INFO | @jtqtianqi: already interacted on 2024/11/29 04:37:08. Skip. +2024-11-30 16:03:30,590 - api.main - INFO - STDERR: [11/30 16:03:30] INFO | @celestinekf0qbe8: already interacted on 2024/11/30 13:38:42. Skip. +2024-11-30 16:03:31,520 - api.main - INFO - STDERR: [11/30 16:03:31] INFO | @jochebread: already interacted on 2024/11/30 15:12:55. Skip. +2024-11-30 16:03:32,503 - api.main - INFO - STDERR: [11/30 16:03:32] INFO | @albertoroller: already interacted on 2024/11/30 13:38:59. Skip. +2024-11-30 16:03:33,470 - api.main - INFO - STDERR: [11/30 16:03:33] INFO | @ka.tadaa: already interacted on 2024/11/30 13:40:15. Skip. +2024-11-30 16:03:34,968 - api.main - INFO - STDERR: [11/30 16:03:34] INFO | All followers skipped, let's scroll. +2024-11-30 16:03:36,209 - api.main - INFO - STDERR: [11/30 16:03:36] INFO | Iterate over visible followers. +2024-11-30 16:03:40,745 - api.main - INFO - STDERR: [11/30 16:03:40] DEBUG | There are 8 users fully visible in that view. +2024-11-30 16:03:41,420 - api.main - INFO - STDERR: [11/30 16:03:41] INFO | @jiyere2b: already interacted on 2024/11/29 04:37:48. Skip. +2024-11-30 16:03:41,889 - api.main - INFO - STDERR: [11/30 16:03:41] INFO | @dxin.official: already interacted on 2024/11/29 04:36:06. Skip. +2024-11-30 16:03:42,709 - api.main - INFO - STDERR: [11/30 16:03:42] INFO | @kuangxiao118: already interacted on 2024/11/30 13:40:45. Skip. +2024-11-30 16:03:43,505 - api.main - INFO - STDERR: [11/30 16:03:43] INFO | @mryangbin: already interacted on 2024/11/30 13:41:03. Skip. +2024-11-30 16:03:44,385 - api.main - INFO - STDERR: [11/30 16:03:44] INFO | @katjastrophal__: already interacted on 2024/11/30 13:41:18. Skip. +2024-11-30 16:03:45,308 - api.main - INFO - STDERR: [11/30 16:03:45] INFO | @ryan.6338: already interacted on 2024/11/30 13:41:36. Skip. +2024-11-30 16:03:46,221 - api.main - INFO - STDERR: [11/30 16:03:46] INFO | @m.s.a236: already interacted on 2024/11/29 04:39:51. Skip. +2024-11-30 16:03:47,234 - api.main - INFO - STDERR: [11/30 16:03:47] INFO | @___chaithu______7: already interacted on 2024/11/30 13:41:52. Skip. +2024-11-30 16:03:48,700 - api.main - INFO - STDERR: [11/30 16:03:48] INFO | All followers skipped, let's scroll. +2024-11-30 16:03:49,927 - api.main - INFO - STDERR: [11/30 16:03:49] INFO | Iterate over visible followers. +2024-11-30 16:03:51,907 - api.main - ERROR - Error getting bot stats for account quecreate: __init__() got an unexpected keyword argument 'account_name' +2024-11-30 16:03:53,884 - api.main - INFO - STDERR: [11/30 16:03:53] DEBUG | There are 7 users fully visible in that view. +2024-11-30 16:03:55,298 - api.main - INFO - STDERR: [11/30 16:03:55] INFO | @___chaithu______7: already interacted on 2024/11/30 13:41:52. Skip. +2024-11-30 16:03:56,211 - api.main - INFO - STDERR: [11/30 16:03:56] INFO | @nosunity: already interacted on 2024/11/30 13:44:34. Skip. +2024-11-30 16:03:57,183 - api.main - INFO - STDERR: [11/30 16:03:57] INFO | @art_and_cigars: already interacted on 2024/11/30 13:45:38. Skip. +2024-11-30 16:03:58,137 - api.main - INFO - STDERR: [11/30 16:03:58] INFO | @tomododesignandart: already interacted on 2024/11/29 04:29:43. Skip. +2024-11-30 16:03:59,030 - api.main - INFO - STDERR: [11/30 16:03:59] INFO | @jarzyna.artur: already interacted on 2024/11/30 13:45:56. Skip. +2024-11-30 16:03:59,969 - api.main - INFO - STDERR: [11/30 16:03:59] INFO | @bl9ckst8r: already interacted on 2024/11/30 13:46:16. Skip. +2024-11-30 16:04:00,898 - api.main - INFO - STDERR: [11/30 16:04:00] INFO | @myace.jpg: already interacted on 2024/11/30 13:47:33. Skip. +2024-11-30 16:04:01,877 - api.main - INFO - STDERR: [11/30 16:04:01] INFO | @bl9ckst8r: already interacted on 2024/11/30 13:46:16. Skip. +2024-11-30 16:04:03,462 - api.main - INFO - STDERR: [11/30 16:04:03] INFO | All followers skipped, let's scroll. +2024-11-30 16:04:04,694 - api.main - INFO - STDERR: [11/30 16:04:04] INFO | Iterate over visible followers. +2024-11-30 16:04:09,268 - api.main - INFO - STDERR: [11/30 16:04:09] DEBUG | There are 7 users fully visible in that view. +2024-11-30 16:04:10,753 - api.main - INFO - STDERR: [11/30 16:04:10] INFO | @myace.jpg: already interacted on 2024/11/30 13:47:33. Skip. +2024-11-30 16:04:11,647 - api.main - INFO - STDERR: [11/30 16:04:11] INFO | @ms.sheinman: interact +2024-11-30 16:04:11,990 - api.main - INFO - STDERR: [11/30 16:04:11] DEBUG | Single click in (492,1040). Surface: (322-578,1032-1089) +2024-11-30 16:04:12,599 - api.main - INFO - STDERR: [11/30 16:04:12] DEBUG | 2.72s sleep +2024-11-30 16:04:15,328 - api.main - INFO - STDERR: [11/30 16:04:15] DEBUG | 2.01s sleep +2024-11-30 16:04:17,757 - api.main - INFO - STDERR: [11/30 16:04:17] DEBUG | Checking profile.. +2024-11-30 16:04:19,026 - api.main - INFO - STDERR: [11/30 16:04:19] DEBUG | Looking for mutual friends tab. +2024-11-30 16:04:28,438 - api.main - INFO - STDERR: [11/30 16:04:28] DEBUG | This account is public. +2024-11-30 16:04:28,438 - api.main - INFO - STDERR: [11/30 16:04:28] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 16:04:28,533 - api.main - INFO - STDERR: [11/30 16:04:28] INFO | Storing filter data in NocoDB for ms.sheinman +2024-11-30 16:04:28,590 - api.main - INFO - STDERR: 2024-11-30 16:04:28,590 - nocodb_operations - INFO - Successfully stored filtered user data for ms.sheinman +2024-11-30 16:04:28,922 - api.main - INFO - STDERR: [11/30 16:04:28] DEBUG | Profile checked in 11.16s +2024-11-30 16:04:28,923 - api.main - INFO - STDERR: [11/30 16:04:28] INFO | - Total Likes: OK (0/136) +2024-11-30 16:04:30,359 - api.main - INFO - STDERR: [11/30 16:04:30] INFO | Scrolled down to see more posts. +2024-11-30 16:04:30,359 - api.main - INFO - STDERR: [11/30 16:04:30] DEBUG | Swipe from: (776,1552) to (812,290). +2024-11-30 16:04:31,924 - api.main - INFO - STDERR: [11/30 16:04:31] DEBUG | 0.55s sleep +2024-11-30 16:04:32,489 - api.main - INFO - STDERR: [11/30 16:04:32] INFO | Likes count: 2 +2024-11-30 16:04:34,091 - api.main - INFO - STDERR: [11/30 16:04:34] INFO | There are 12 posts fully visible. Calculated in 1.60s +2024-11-30 16:04:34,091 - api.main - INFO - STDERR: [11/30 16:04:34] INFO | Open post #1 (2 row, 1 column). +2024-11-30 16:04:35,328 - api.main - INFO - STDERR: [11/30 16:04:35] INFO | It's a photo. +2024-11-30 16:04:35,671 - api.main - INFO - STDERR: [11/30 16:04:35] DEBUG | Single click in (158,1346). Surface: (0-476,950-1426) +2024-11-30 16:04:36,316 - api.main - INFO - STDERR: [11/30 16:04:36] DEBUG | 0.66s sleep +2024-11-30 16:04:38,890 - api.main - INFO - STDERR: [11/30 16:04:38] INFO | Watching photo for 3.6s. +2024-11-30 16:04:43,050 - api.main - INFO - STDERR: [11/30 16:04:43] INFO | Liking post. +2024-11-30 16:04:43,184 - api.main - INFO - STDERR: [11/30 16:04:43] DEBUG | Double click in (735,1439) with t=130ms. Surface: (0-1440,476-2108). +2024-11-30 16:04:43,668 - api.main - INFO - STDERR: [11/30 16:04:43] DEBUG | 1.32s sleep +2024-11-30 16:04:46,164 - api.main - ERROR - Error getting bot stats for account quecreate: __init__() got an unexpected keyword argument 'account_name' +2024-11-30 16:04:46,767 - api.main - INFO - STDERR: [11/30 16:04:46] DEBUG | Checking for block... +2024-11-30 16:04:49,564 - api.main - INFO - STDERR: [11/30 16:04:49] DEBUG | Like succeed. +2024-11-30 16:04:49,564 - api.main - INFO - STDERR: [11/30 16:04:49] INFO | Back to profile. +2024-11-30 16:04:50,066 - api.main - INFO - STDERR: [11/30 16:04:50] DEBUG | Press back button. +2024-11-30 16:04:50,283 - api.main - INFO - STDERR: [11/30 16:04:50] DEBUG | 0.78s sleep +2024-11-30 16:04:51,074 - api.main - INFO - STDERR: [11/30 16:04:51] INFO | Open post #2 (2 row, 2 column). +2024-11-30 16:04:52,403 - api.main - INFO - STDERR: [11/30 16:04:52] INFO | It's a photo. +2024-11-30 16:04:52,760 - api.main - INFO - STDERR: [11/30 16:04:52] DEBUG | Single click in (885,1211). Surface: (482-958,950-1426) +2024-11-30 16:04:53,401 - api.main - INFO - STDERR: [11/30 16:04:53] DEBUG | 0.67s sleep +2024-11-30 16:04:56,311 - api.main - INFO - STDERR: [11/30 16:04:56] INFO | Watching photo for 3.63s. +2024-11-30 16:05:00,430 - api.main - INFO - STDERR: [11/30 16:05:00] INFO | Liking post. +2024-11-30 16:05:00,576 - api.main - INFO - STDERR: [11/30 16:05:00] DEBUG | Double click in (708,1003) with t=109ms. Surface: (0-1440,476-1902). +2024-11-30 16:05:01,051 - api.main - INFO - STDERR: [11/30 16:05:01] DEBUG | 0.84s sleep +2024-11-30 16:05:03,740 - api.main - INFO - STDERR: [11/30 16:05:03] DEBUG | Checking for block... +2024-11-30 16:05:06,399 - api.main - INFO - STDERR: [11/30 16:05:06] DEBUG | Like succeed. +2024-11-30 16:05:06,399 - api.main - INFO - STDERR: [11/30 16:05:06] INFO | Back to profile. +2024-11-30 16:05:06,938 - api.main - INFO - STDERR: [11/30 16:05:06] DEBUG | Press back button. +2024-11-30 16:05:07,149 - api.main - INFO - STDERR: [11/30 16:05:07] DEBUG | 1.67s sleep +2024-11-30 16:05:08,828 - api.main - INFO - STDERR: [11/30 16:05:08] DEBUG | - Total Followed: OK (0/50) +2024-11-30 16:05:08,846 - api.main - INFO - STDERR: [11/30 16:05:08] DEBUG | Whole day mode. +2024-11-30 16:05:08,847 - api.main - INFO - STDERR: [11/30 16:05:08] DEBUG | - Total Likes: OK (2/136) +2024-11-30 16:05:08,847 - api.main - INFO - STDERR: [11/30 16:05:08] DEBUG | - Total Followed: OK (0/50) +2024-11-30 16:05:08,847 - api.main - INFO - STDERR: [11/30 16:05:08] DEBUG | - Total Watched: OK (0/145) +2024-11-30 16:05:08,847 - api.main - INFO - STDERR: [11/30 16:05:08] DEBUG | - Total PM: OK (0/5) +2024-11-30 16:05:08,847 - api.main - INFO - STDERR: [11/30 16:05:08] DEBUG | - Total Comments: OK (0/36) +2024-11-30 16:05:08,848 - api.main - INFO - STDERR: [11/30 16:05:08] DEBUG | - Total Interactions: OK (2/298) +2024-11-30 16:05:08,848 - api.main - INFO - STDERR: [11/30 16:05:08] DEBUG | - Total Successful Interactions: OK (1/125) +2024-11-30 16:05:08,848 - api.main - INFO - STDERR: [11/30 16:05:08] INFO | Session progress: 2 likes, 0 watched, 0 commented, 0 PM sent, 0 followed, 1 successful interaction(s) for mnaumanndesign. +2024-11-30 16:05:08,849 - api.main - INFO - STDERR: [11/30 16:05:08] INFO | Back to followers list +2024-11-30 16:05:08,849 - api.main - INFO - STDERR: [11/30 16:05:08] DEBUG | Press back button. +2024-11-30 16:05:09,050 - api.main - INFO - STDERR: [11/30 16:05:09] DEBUG | 1.60s sleep +2024-11-30 16:05:11,729 - api.main - INFO - STDERR: [11/30 16:05:11] INFO | @slimreaper7_35: already interacted on 2024/11/29 04:27:25. Skip. +2024-11-30 16:05:12,688 - api.main - INFO - STDERR: [11/30 16:05:12] INFO | @xcxdan: already interacted on 2024/11/30 13:48:02. Skip. +2024-11-30 16:05:13,614 - api.main - INFO - STDERR: [11/30 16:05:13] INFO | @chiefphilosophernight: already interacted on 2024/11/30 13:48:18. Skip. +2024-11-30 16:05:14,590 - api.main - INFO - STDERR: [11/30 16:05:14] INFO | @__siqus: already interacted on 2024/11/30 13:56:10. Skip. +2024-11-30 16:05:15,567 - api.main - INFO - STDERR: [11/30 16:05:15] INFO | @oleksandrzymnytskyi: already interacted on 2024/11/30 13:48:35. Skip. +2024-11-30 16:05:17,058 - api.main - INFO - STDERR: [11/30 16:05:17] INFO | Need to scroll now +2024-11-30 16:05:18,307 - api.main - INFO - STDERR: [11/30 16:05:18] INFO | Iterate over visible followers. +2024-11-30 16:05:23,074 - api.main - INFO - STDERR: [11/30 16:05:23] DEBUG | There are 8 users fully visible in that view. +2024-11-30 16:05:24,559 - api.main - INFO - STDERR: [11/30 16:05:24] INFO | @melicorbeat: already interacted on 2024/11/30 13:48:50. Skip. +2024-11-30 16:05:25,510 - api.main - INFO - STDERR: [11/30 16:05:25] INFO | @tomomicreates: already interacted on 2024/11/30 13:49:08. Skip. +2024-11-30 16:05:26,442 - api.main - INFO - STDERR: [11/30 16:05:26] INFO | @joe_walkling: interact +2024-11-30 16:05:26,853 - api.main - INFO - STDERR: [11/30 16:05:26] DEBUG | Single click in (452,1086). Surface: (322-555,1077-1134) +2024-11-30 16:05:27,478 - api.main - INFO - STDERR: [11/30 16:05:27] DEBUG | 1.02s sleep +2024-11-30 16:05:28,506 - api.main - INFO - STDERR: [11/30 16:05:28] DEBUG | 3.47s sleep +2024-11-30 16:05:32,341 - api.main - INFO - STDERR: [11/30 16:05:32] DEBUG | Checking profile.. +2024-11-30 16:05:33,613 - api.main - INFO - STDERR: [11/30 16:05:33] DEBUG | Looking for mutual friends tab. +2024-11-30 16:05:39,609 - api.main - INFO - STDERR: [11/30 16:05:39] DEBUG | This account is public. +2024-11-30 16:05:39,609 - api.main - INFO - STDERR: [11/30 16:05:39] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 16:05:39,624 - api.main - INFO - STDERR: [11/30 16:05:39] INFO | Storing filter data in NocoDB for joe_walkling +2024-11-30 16:05:39,685 - api.main - INFO - STDERR: 2024-11-30 16:05:39,685 - nocodb_operations - INFO - Successfully stored filtered user data for joe_walkling +2024-11-30 16:05:40,017 - api.main - INFO - STDERR: [11/30 16:05:40] DEBUG | Profile checked in 7.68s +2024-11-30 16:05:40,017 - api.main - INFO - STDERR: [11/30 16:05:40] INFO | - Total Likes: OK (2/136) +2024-11-30 16:05:41,500 - api.main - INFO - STDERR: [11/30 16:05:41] INFO | Scrolled down to see more posts. +2024-11-30 16:05:41,500 - api.main - INFO - STDERR: [11/30 16:05:41] DEBUG | Swipe from: (824,1597) to (791,288). +2024-11-30 16:05:43,022 - api.main - INFO - STDERR: [11/30 16:05:43] DEBUG | 0.39s sleep +2024-11-30 16:05:43,431 - api.main - INFO - STDERR: [11/30 16:05:43] INFO | Likes count: 1 +2024-11-30 16:05:44,661 - api.main - INFO - STDERR: [11/30 16:05:44] INFO | There are 12 posts fully visible. Calculated in 1.23s +2024-11-30 16:05:44,662 - api.main - INFO - STDERR: [11/30 16:05:44] INFO | Open post #1 (3 row, 1 column). +2024-11-30 16:05:45,776 - api.main - INFO - STDERR: [11/30 16:05:45] INFO | It's a carousel with 3 photo(s) and 2 video(s). +2024-11-30 16:05:46,086 - api.main - INFO - STDERR: [11/30 16:05:46] DEBUG | Single click in (102,1615). Surface: (0-476,1432-1908) +2024-11-30 16:05:46,693 - api.main - INFO - STDERR: [11/30 16:05:46] DEBUG | 2.72s sleep +2024-11-30 16:05:51,184 - api.main - INFO - STDERR: [11/30 16:05:51] INFO | Watching photos/videos in carousel. +2024-11-30 16:05:51,184 - api.main - INFO - STDERR: [11/30 16:05:51] INFO | There are only 5 media(s) in this carousel! +2024-11-30 16:05:51,807 - api.main - INFO - STDERR: [11/30 16:05:51] INFO | Watching video for 33.4s. +2024-11-30 16:06:25,330 - api.main - INFO - STDERR: [11/30 16:06:25] DEBUG | Swipe from: (1038,1085) to (251,1106). +2024-11-30 16:06:26,875 - api.main - INFO - STDERR: [11/30 16:06:26] DEBUG | 0.69s sleep +2024-11-30 16:06:28,344 - api.main - INFO - STDERR: [11/30 16:06:28] INFO | Watching video for 33.27s. +2024-11-30 16:07:01,737 - api.main - INFO - STDERR: [11/30 16:07:01] DEBUG | Swipe from: (1139,1072) to (319,1053). +2024-11-30 16:07:02,979 - api.main - INFO - STDERR: [11/30 16:07:02] DEBUG | 0.78s sleep +2024-11-30 16:07:03,912 - api.main - INFO - STDERR: [11/30 16:07:03] INFO | Watching photo for 3.11s. +2024-11-30 16:07:07,268 - api.main - INFO - STDERR: [11/30 16:07:07] DEBUG | Swipe from: (1166,1350) to (341,1370). +2024-11-30 16:07:08,122 - api.main - INFO - STDERR: [11/30 16:07:08] DEBUG | 0.3s sleep +2024-11-30 16:07:08,595 - api.main - INFO - STDERR: [11/30 16:07:08] INFO | Watching photo for 3.84s. +2024-11-30 16:07:12,683 - api.main - INFO - STDERR: [11/30 16:07:12] DEBUG | Swipe from: (1005,1305) to (227,1280). +2024-11-30 16:07:13,953 - api.main - INFO - STDERR: [11/30 16:07:13] DEBUG | 0.36s sleep +2024-11-30 16:07:14,978 - api.main - INFO - STDERR: [11/30 16:07:14] INFO | Watching photo for 3.35s. +2024-11-30 16:07:18,923 - api.main - INFO - STDERR: [11/30 16:07:18] INFO | Liking post. +2024-11-30 16:07:19,078 - api.main - INFO - STDERR: [11/30 16:07:19] DEBUG | Double click in (599,980) with t=72ms. Surface: (0-1440,476-1916). +2024-11-30 16:07:19,508 - api.main - INFO - STDERR: [11/30 16:07:19] DEBUG | 1.73s sleep +2024-11-30 16:07:22,981 - api.main - INFO - STDERR: [11/30 16:07:22] DEBUG | Checking for block... +2024-11-30 16:07:25,611 - api.main - INFO - STDERR: [11/30 16:07:25] DEBUG | Like succeed. +2024-11-30 16:07:25,611 - api.main - INFO - STDERR: [11/30 16:07:25] INFO | Back to profile. +2024-11-30 16:07:26,147 - api.main - INFO - STDERR: [11/30 16:07:26] DEBUG | Press back button. +2024-11-30 16:07:26,359 - api.main - INFO - STDERR: [11/30 16:07:26] DEBUG | 0.85s sleep +2024-11-30 16:07:27,225 - api.main - INFO - STDERR: [11/30 16:07:27] DEBUG | - Total Followed: OK (0/50) +2024-11-30 16:07:27,243 - api.main - INFO - STDERR: [11/30 16:07:27] DEBUG | Whole day mode. +2024-11-30 16:07:27,243 - api.main - INFO - STDERR: [11/30 16:07:27] DEBUG | - Total Likes: OK (3/136) +2024-11-30 16:07:27,243 - api.main - INFO - STDERR: [11/30 16:07:27] DEBUG | - Total Followed: OK (0/50) +2024-11-30 16:07:27,244 - api.main - INFO - STDERR: [11/30 16:07:27] DEBUG | - Total Watched: OK (0/145) +2024-11-30 16:07:27,244 - api.main - INFO - STDERR: [11/30 16:07:27] DEBUG | - Total PM: OK (0/5) +2024-11-30 16:07:27,244 - api.main - INFO - STDERR: [11/30 16:07:27] DEBUG | - Total Comments: OK (0/36) +2024-11-30 16:07:27,244 - api.main - INFO - STDERR: [11/30 16:07:27] DEBUG | - Total Interactions: OK (3/298) +2024-11-30 16:07:27,245 - api.main - INFO - STDERR: [11/30 16:07:27] DEBUG | - Total Successful Interactions: OK (2/125) +2024-11-30 16:07:27,245 - api.main - INFO - STDERR: [11/30 16:07:27] INFO | Session progress: 3 likes, 0 watched, 0 commented, 0 PM sent, 0 followed, 2 successful interaction(s) for mnaumanndesign. +2024-11-30 16:07:27,245 - api.main - INFO - STDERR: [11/30 16:07:27] INFO | Back to followers list +2024-11-30 16:07:27,245 - api.main - INFO - STDERR: [11/30 16:07:27] DEBUG | Press back button. +2024-11-30 16:07:27,394 - api.main - INFO - STDERR: [11/30 16:07:27] DEBUG | 0.96s sleep +2024-11-30 16:07:29,552 - api.main - INFO - STDERR: [11/30 16:07:29] INFO | @kado_zurek: already interacted on 2024/11/30 13:49:59. Skip. +2024-11-30 16:07:30,479 - api.main - INFO - STDERR: [11/30 16:07:30] INFO | @vjolhonegro: already interacted on 2024/11/30 13:50:56. Skip. +2024-11-30 16:07:31,441 - api.main - INFO - STDERR: [11/30 16:07:31] INFO | @sophia_leyva: already interacted on 2024/11/30 13:51:14. Skip. +2024-11-30 16:07:32,435 - api.main - INFO - STDERR: [11/30 16:07:32] INFO | @danielwakemusic: already interacted on 2024/11/29 04:19:33. Skip. +2024-11-30 16:07:33,409 - api.main - INFO - STDERR: [11/30 16:07:33] INFO | @rodfons: already interacted on 2024/11/30 13:52:40. Skip. +2024-11-30 16:07:34,940 - api.main - INFO - STDERR: [11/30 16:07:34] INFO | Need to scroll now +2024-11-30 16:07:36,173 - api.main - INFO - STDERR: [11/30 16:07:36] INFO | Iterate over visible followers. +2024-11-30 16:07:41,479 - api.main - INFO - STDERR: [11/30 16:07:41] DEBUG | There are 8 users fully visible in that view. +2024-11-30 16:07:42,989 - api.main - INFO - STDERR: [11/30 16:07:42] INFO | @adrian_ciszek: already interacted on 2024/11/30 13:53:45. Skip. +2024-11-30 16:07:43,921 - api.main - INFO - STDERR: [11/30 16:07:43] INFO | @_david_lexl_: already interacted on 2024/11/30 13:54:00. Skip. +2024-11-30 16:07:44,853 - api.main - INFO - STDERR: [11/30 16:07:44] INFO | @alberto.gen_: interact +2024-11-30 16:07:45,231 - api.main - INFO - STDERR: [11/30 16:07:45] DEBUG | Single click in (460,1216). Surface: (322-558,1182-1239) +2024-11-30 16:07:45,868 - api.main - INFO - STDERR: [11/30 16:07:45] DEBUG | 0.94s sleep +2024-11-30 16:07:46,824 - api.main - INFO - STDERR: [11/30 16:07:46] DEBUG | 3.32s sleep +2024-11-30 16:07:50,533 - api.main - INFO - STDERR: [11/30 16:07:50] DEBUG | Checking profile.. +2024-11-30 16:07:51,595 - api.main - INFO - STDERR: [11/30 16:07:51] DEBUG | Looking for mutual friends tab. +2024-11-30 16:07:57,815 - api.main - INFO - STDERR: [11/30 16:07:57] DEBUG | This account is public. +2024-11-30 16:07:57,815 - api.main - INFO - STDERR: [11/30 16:07:57] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 16:07:57,829 - api.main - INFO - STDERR: [11/30 16:07:57] INFO | Storing filter data in NocoDB for alberto.gen_ +2024-11-30 16:07:57,909 - api.main - INFO - STDERR: 2024-11-30 16:07:57,909 - nocodb_operations - INFO - Successfully stored filtered user data for alberto.gen_ +2024-11-30 16:07:58,266 - api.main - INFO - STDERR: [11/30 16:07:58] DEBUG | Profile checked in 7.73s +2024-11-30 16:07:58,266 - api.main - INFO - STDERR: [11/30 16:07:58] INFO | - Total Watched: OK (0/145) +2024-11-30 16:07:59,467 - api.main - INFO - STDERR: [11/30 16:07:59] INFO | - Total Likes: OK (3/136) +2024-11-30 16:08:00,936 - api.main - INFO - STDERR: [11/30 16:08:00] INFO | Scrolled down to see more posts. +2024-11-30 16:08:00,936 - api.main - INFO - STDERR: [11/30 16:08:00] DEBUG | Swipe from: (800,1426) to (742,293). +2024-11-30 16:08:02,019 - api.main - INFO - STDERR: [11/30 16:08:02] DEBUG | 0.96s sleep +2024-11-30 16:08:02,994 - api.main - INFO - STDERR: [11/30 16:08:02] INFO | Likes count: 1 +2024-11-30 16:08:04,758 - api.main - INFO - STDERR: [11/30 16:08:04] DEBUG | This is a temporary fix, for avoid bot to crash we have removed the last picture form the list. +2024-11-30 16:08:04,759 - api.main - INFO - STDERR: [11/30 16:08:04] INFO | There are 10 posts fully visible. Calculated in 1.76s +2024-11-30 16:08:04,759 - api.main - INFO - STDERR: [11/30 16:08:04] INFO | Open post #1 (3 row, 1 column). +2024-11-30 16:08:05,952 - api.main - INFO - STDERR: [11/30 16:08:05] INFO | It's a carousel with 2 photo(s) and 0 video(s). +2024-11-30 16:08:06,338 - api.main - INFO - STDERR: [11/30 16:08:06] DEBUG | Single click in (187,1577). Surface: (0-476,1432-1908) +2024-11-30 16:08:07,023 - api.main - INFO - STDERR: [11/30 16:08:07] DEBUG | 1.76s sleep +2024-11-30 16:08:11,093 - api.main - INFO - STDERR: [11/30 16:08:11] INFO | Watching photos/videos in carousel. +2024-11-30 16:08:11,093 - api.main - INFO - STDERR: [11/30 16:08:11] INFO | There are only 2 media(s) in this carousel! +2024-11-30 16:08:11,614 - api.main - INFO - STDERR: [11/30 16:08:11] INFO | Watching photo for 3.04s. +2024-11-30 16:08:14,847 - api.main - INFO - STDERR: [11/30 16:08:14] DEBUG | Swipe from: (1062,1286) to (216,1300). +2024-11-30 16:08:15,999 - api.main - INFO - STDERR: [11/30 16:08:15] DEBUG | 0.77s sleep +2024-11-30 16:08:17,435 - api.main - INFO - STDERR: [11/30 16:08:17] INFO | Watching photo for 3.65s. +2024-11-30 16:08:21,648 - api.main - INFO - STDERR: [11/30 16:08:21] INFO | Liking post. +2024-11-30 16:08:21,764 - api.main - INFO - STDERR: [11/30 16:08:21] DEBUG | Double click in (802,1658) with t=86ms. Surface: (0-1440,476-2276). +2024-11-30 16:08:22,233 - api.main - INFO - STDERR: [11/30 16:08:22] DEBUG | 2.09s sleep +2024-11-30 16:08:26,079 - api.main - INFO - STDERR: [11/30 16:08:26] DEBUG | Checking for block... +2024-11-30 16:08:28,832 - api.main - INFO - STDERR: [11/30 16:08:28] DEBUG | Like succeed. +2024-11-30 16:08:28,833 - api.main - INFO - STDERR: [11/30 16:08:28] INFO | Back to profile. +2024-11-30 16:08:29,360 - api.main - INFO - STDERR: [11/30 16:08:29] DEBUG | Press back button. +2024-11-30 16:08:29,568 - api.main - INFO - STDERR: [11/30 16:08:29] DEBUG | 1.64s sleep +2024-11-30 16:08:31,223 - api.main - INFO - STDERR: [11/30 16:08:31] DEBUG | - Total Followed: OK (0/50) +2024-11-30 16:08:31,240 - api.main - INFO - STDERR: [11/30 16:08:31] DEBUG | Whole day mode. +2024-11-30 16:08:31,240 - api.main - INFO - STDERR: [11/30 16:08:31] DEBUG | - Total Likes: OK (4/136) +2024-11-30 16:08:31,241 - api.main - INFO - STDERR: [11/30 16:08:31] DEBUG | - Total Followed: OK (0/50) +2024-11-30 16:08:31,242 - api.main - INFO - STDERR: [11/30 16:08:31] DEBUG | - Total Watched: OK (0/145) +2024-11-30 16:08:31,242 - api.main - INFO - STDERR: [11/30 16:08:31] DEBUG | - Total PM: OK (0/5) +2024-11-30 16:08:31,242 - api.main - INFO - STDERR: [11/30 16:08:31] DEBUG | - Total Comments: OK (0/36) +2024-11-30 16:08:31,243 - api.main - INFO - STDERR: [11/30 16:08:31] DEBUG | - Total Interactions: OK (4/298) +2024-11-30 16:08:31,243 - api.main - INFO - STDERR: [11/30 16:08:31] DEBUG | - Total Successful Interactions: OK (3/125) +2024-11-30 16:08:31,243 - api.main - INFO - STDERR: [11/30 16:08:31] INFO | Session progress: 4 likes, 0 watched, 0 commented, 0 PM sent, 0 followed, 3 successful interaction(s) for mnaumanndesign. +2024-11-30 16:08:31,244 - api.main - INFO - STDERR: [11/30 16:08:31] INFO | Back to followers list +2024-11-30 16:08:31,244 - api.main - INFO - STDERR: [11/30 16:08:31] DEBUG | Press back button. +2024-11-30 16:08:31,401 - api.main - INFO - STDERR: [11/30 16:08:31] DEBUG | 0.98s sleep +2024-11-30 16:08:31,541 - api.main - INFO - API startup complete +2024-11-30 16:08:33,449 - api.main - INFO - STDERR: [11/30 16:08:33] INFO | @mysticmegan: already interacted on 2024/11/30 13:55:51. Skip. +2024-11-30 16:08:34,387 - api.main - INFO - STDERR: [11/30 16:08:34] INFO | @erek_alvgard: already interacted on 2024/11/30 15:15:36. Skip. +2024-11-30 16:08:35,379 - api.main - INFO - STDERR: [11/30 16:08:35] INFO | @richie.hoffmann: interact +2024-11-30 16:08:35,762 - api.main - INFO - STDERR: [11/30 16:08:35] DEBUG | Single click in (440,1948). Surface: (322-622,1938-1995) +2024-11-30 16:08:36,424 - api.main - INFO - STDERR: [11/30 16:08:36] DEBUG | 2.12s sleep +2024-11-30 16:08:38,558 - api.main - INFO - STDERR: [11/30 16:08:38] DEBUG | 3.22s sleep +2024-11-30 16:08:42,138 - api.main - INFO - STDERR: [11/30 16:08:42] DEBUG | Checking profile.. +2024-11-30 16:08:43,772 - api.main - INFO - STDERR: [11/30 16:08:43] DEBUG | Looking for mutual friends tab. +2024-11-30 16:08:50,189 - api.main - INFO - STDERR: [11/30 16:08:50] DEBUG | This account is public. +2024-11-30 16:08:50,189 - api.main - INFO - STDERR: [11/30 16:08:50] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 16:08:50,203 - api.main - INFO - STDERR: [11/30 16:08:50] INFO | Storing filter data in NocoDB for richie.hoffmann +2024-11-30 16:08:50,284 - api.main - INFO - STDERR: 2024-11-30 16:08:50,284 - nocodb_operations - INFO - Successfully stored filtered user data for richie.hoffmann +2024-11-30 16:08:50,671 - api.main - INFO - STDERR: [11/30 16:08:50] DEBUG | Profile checked in 8.53s +2024-11-30 16:08:50,671 - api.main - INFO - STDERR: [11/30 16:08:50] INFO | - Total Likes: OK (4/136) +2024-11-30 16:08:50,673 - api.main - INFO - STDERR: [11/30 16:08:50] DEBUG | We don't need to scroll, there is/are only 3 post(s). +2024-11-30 16:08:50,673 - api.main - INFO - STDERR: [11/30 16:08:50] INFO | Likes count: 2 +2024-11-30 16:08:51,881 - api.main - INFO - STDERR: [11/30 16:08:51] DEBUG | This is a temporary fix, for avoid bot to crash we have removed the last picture form the list. +2024-11-30 16:08:51,882 - api.main - INFO - STDERR: [11/30 16:08:51] INFO | There are 2 posts fully visible. Calculated in 1.21s +2024-11-30 16:08:51,882 - api.main - INFO - STDERR: [11/30 16:08:51] INFO | Open post #1 (1 row, 1 column). +2024-11-30 16:08:53,007 - api.main - INFO - STDERR: [11/30 16:08:53] INFO | It's a photo. +2024-11-30 16:08:53,290 - api.main - INFO - STDERR: [11/30 16:08:53] DEBUG | Single click in (190,1806). Surface: (0-476,1601-2077) +2024-11-30 16:08:53,944 - api.main - INFO - STDERR: [11/30 16:08:53] DEBUG | 1.56s sleep +2024-11-30 16:08:56,469 - api.main - INFO - All tasks cleaned up. +2024-11-30 16:08:57,288 - api.main - INFO - API startup complete +2024-11-30 16:08:57,329 - api.main - INFO - STDERR: [11/30 16:08:57] INFO | Post already liked! +2024-11-30 16:08:57,330 - api.main - INFO - STDERR: [11/30 16:08:57] INFO | Back to profile. +2024-11-30 16:08:57,861 - api.main - INFO - STDERR: [11/30 16:08:57] DEBUG | Press back button. +2024-11-30 16:08:58,060 - api.main - INFO - STDERR: [11/30 16:08:58] DEBUG | 2.84s sleep +2024-11-30 16:09:00,912 - api.main - INFO - STDERR: [11/30 16:09:00] INFO | Open post #2 (1 row, 2 column). +2024-11-30 16:09:02,194 - api.main - INFO - STDERR: [11/30 16:09:02] INFO | It's a photo. +2024-11-30 16:09:02,580 - api.main - INFO - STDERR: [11/30 16:09:02] DEBUG | Single click in (799,1823). Surface: (482-958,1601-2077) +2024-11-30 16:09:03,276 - api.main - INFO - STDERR: [11/30 16:09:03] DEBUG | 2.13s sleep +2024-11-30 16:09:06,982 - api.main - INFO - API startup complete +2024-11-30 16:09:07,896 - api.main - INFO - STDERR: [11/30 16:09:07] INFO | Watching photo for 3.11s. +2024-11-30 16:09:11,630 - api.main - INFO - STDERR: [11/30 16:09:11] INFO | Liking post. +2024-11-30 16:09:11,630 - api.main - INFO - STDERR: [11/30 16:09:11] INFO | Post has tags, better going with a single click on the little heart \u2764\ufe0f. +2024-11-30 16:09:13,398 - api.main - INFO - STDERR: [11/30 16:09:13] DEBUG | Single click in (126,1983). Surface: (21-175,1916-2077) +2024-11-30 16:09:14,011 - api.main - INFO - STDERR: [11/30 16:09:14] DEBUG | 2.79s sleep +2024-11-30 16:09:18,722 - api.main - INFO - STDERR: [11/30 16:09:18] DEBUG | Checking for block... +2024-11-30 16:09:21,187 - api.main - INFO - STDERR: [11/30 16:09:21] DEBUG | Like succeed. +2024-11-30 16:09:21,187 - api.main - INFO - STDERR: [11/30 16:09:21] INFO | Back to profile. +2024-11-30 16:09:21,262 - api.main - ERROR - Error getting bot stats for account quecreate: __init__() got an unexpected keyword argument 'account_name' +2024-11-30 16:09:21,550 - api.main - INFO - STDERR: [11/30 16:09:21] DEBUG | Press back button. +2024-11-30 16:09:21,749 - api.main - INFO - STDERR: [11/30 16:09:21] DEBUG | 1.32s sleep +2024-11-30 16:09:23,079 - api.main - INFO - STDERR: [11/30 16:09:23] DEBUG | - Total Followed: OK (0/50) +2024-11-30 16:09:25,315 - api.main - INFO - STDERR: [11/30 16:09:25] DEBUG | Single click in (163,925). Surface: (43-642,887-999) +2024-11-30 16:09:25,739 - api.main - INFO - STDERR: [11/30 16:09:25] DEBUG | 1.16s sleep +2024-11-30 16:09:27,468 - api.main - INFO - STDERR: [11/30 16:09:27] INFO | Followed @richie.hoffmann +2024-11-30 16:09:27,468 - api.main - INFO - STDERR: [11/30 16:09:27] DEBUG | Checking for block... +2024-11-30 16:09:30,251 - api.main - INFO - STDERR: [11/30 16:09:30] DEBUG | Whole day mode. +2024-11-30 16:09:30,252 - api.main - INFO - STDERR: [11/30 16:09:30] DEBUG | - Total Likes: OK (5/136) +2024-11-30 16:09:30,252 - api.main - INFO - STDERR: [11/30 16:09:30] DEBUG | - Total Followed: OK (1/50) +2024-11-30 16:09:30,252 - api.main - INFO - STDERR: [11/30 16:09:30] DEBUG | - Total Watched: OK (0/145) +2024-11-30 16:09:30,253 - api.main - INFO - STDERR: [11/30 16:09:30] DEBUG | - Total PM: OK (0/5) +2024-11-30 16:09:30,253 - api.main - INFO - STDERR: [11/30 16:09:30] DEBUG | - Total Comments: OK (0/36) +2024-11-30 16:09:30,253 - api.main - INFO - STDERR: [11/30 16:09:30] DEBUG | - Total Interactions: OK (5/298) +2024-11-30 16:09:30,254 - api.main - INFO - STDERR: [11/30 16:09:30] DEBUG | - Total Successful Interactions: OK (4/125) +2024-11-30 16:09:30,254 - api.main - INFO - STDERR: [11/30 16:09:30] INFO | Session progress: 5 likes, 0 watched, 0 commented, 0 PM sent, 1 followed, 4 successful interaction(s) for mnaumanndesign. +2024-11-30 16:09:30,254 - api.main - INFO - STDERR: [11/30 16:09:30] INFO | Back to followers list +2024-11-30 16:09:30,254 - api.main - INFO - STDERR: [11/30 16:09:30] DEBUG | Press back button. +2024-11-30 16:09:30,385 - api.main - INFO - STDERR: [11/30 16:09:30] DEBUG | 1.34s sleep +2024-11-30 16:09:32,848 - api.main - INFO - STDERR: [11/30 16:09:32] INFO | @fatemematbouriahi: interact +2024-11-30 16:09:33,220 - api.main - INFO - STDERR: [11/30 16:09:33] DEBUG | Single click in (400,2218). Surface: (322-685,2190-2247) +2024-11-30 16:09:33,900 - api.main - INFO - STDERR: [11/30 16:09:33] DEBUG | 1.39s sleep +2024-11-30 16:09:35,304 - api.main - INFO - STDERR: [11/30 16:09:35] DEBUG | 3.75s sleep +2024-11-30 16:09:39,454 - api.main - INFO - STDERR: [11/30 16:09:39] DEBUG | Checking profile.. +2024-11-30 16:09:40,683 - api.main - INFO - STDERR: [11/30 16:09:40] DEBUG | Looking for mutual friends tab. +2024-11-30 16:09:46,804 - api.main - INFO - All tasks cleaned up. +2024-11-30 16:09:46,866 - api.main - INFO - All tasks cleaned up. +2024-11-30 16:09:47,294 - api.main - INFO - STDERR: [11/30 16:09:47] DEBUG | This account is private. +2024-11-30 16:09:47,294 - api.main - INFO - STDERR: [11/30 16:09:47] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 16:09:47,295 - api.main - INFO - STDERR: [11/30 16:09:47] INFO | @fatemematbouriahi's potency ratio is not between 0.1 and 1.5, skip. +2024-11-30 16:09:47,309 - api.main - INFO - STDERR: [11/30 16:09:47] INFO | Storing filter data in NocoDB for fatemematbouriahi +2024-11-30 16:09:47,404 - api.main - INFO - STDERR: 2024-11-30 16:09:47,404 - nocodb_operations - INFO - Successfully stored filtered user data for fatemematbouriahi +2024-11-30 16:09:47,404 - api.main - INFO - STDERR: [11/30 16:09:47] DEBUG | Profile checked in 7.95s +2024-11-30 16:09:47,417 - api.main - INFO - STDERR: [11/30 16:09:47] DEBUG | Whole day mode. +2024-11-30 16:09:47,417 - api.main - INFO - STDERR: [11/30 16:09:47] DEBUG | - Total Likes: OK (5/136) +2024-11-30 16:09:47,417 - api.main - INFO - STDERR: [11/30 16:09:47] DEBUG | - Total Followed: OK (1/50) +2024-11-30 16:09:47,418 - api.main - INFO - STDERR: [11/30 16:09:47] DEBUG | - Total Watched: OK (0/145) +2024-11-30 16:09:47,418 - api.main - INFO - STDERR: [11/30 16:09:47] DEBUG | - Total PM: OK (0/5) +2024-11-30 16:09:47,418 - api.main - INFO - STDERR: [11/30 16:09:47] DEBUG | - Total Comments: OK (0/36) +2024-11-30 16:09:47,418 - api.main - INFO - STDERR: [11/30 16:09:47] DEBUG | - Total Interactions: OK (6/298) +2024-11-30 16:09:47,419 - api.main - INFO - STDERR: [11/30 16:09:47] DEBUG | - Total Successful Interactions: OK (4/125) +2024-11-30 16:09:47,419 - api.main - INFO - STDERR: [11/30 16:09:47] INFO | Back to followers list +2024-11-30 16:09:47,419 - api.main - INFO - STDERR: [11/30 16:09:47] DEBUG | Press back button. +2024-11-30 16:09:47,561 - api.main - INFO - STDERR: [11/30 16:09:47] DEBUG | 0.98s sleep +2024-11-30 16:09:47,710 - api.main - INFO - API startup complete +2024-11-30 16:09:47,771 - api.main - INFO - API startup complete +2024-11-30 16:09:49,781 - api.main - INFO - STDERR: [11/30 16:09:49] INFO | @aelmgren: interact +2024-11-30 16:09:50,194 - api.main - INFO - STDERR: [11/30 16:09:50] DEBUG | Single click in (370,2460). Surface: (322-501,2442-2499) +2024-11-30 16:09:50,929 - api.main - INFO - STDERR: [11/30 16:09:50] DEBUG | 2.17s sleep +2024-11-30 16:09:53,119 - api.main - INFO - STDERR: [11/30 16:09:53] DEBUG | 3.69s sleep +2024-11-30 16:09:57,153 - api.main - INFO - STDERR: [11/30 16:09:57] DEBUG | Checking profile.. +2024-11-30 16:09:58,399 - api.main - INFO - STDERR: [11/30 16:09:58] DEBUG | Looking for mutual friends tab. +2024-11-30 16:10:04,530 - api.main - INFO - STDERR: [11/30 16:10:04] DEBUG | This account is private. +2024-11-30 16:10:04,530 - api.main - INFO - STDERR: [11/30 16:10:04] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 16:10:04,530 - api.main - INFO - STDERR: [11/30 16:10:04] INFO | @aelmgren has less than 100 followers, skip. +2024-11-30 16:10:04,545 - api.main - INFO - STDERR: [11/30 16:10:04] INFO | Storing filter data in NocoDB for aelmgren +2024-11-30 16:10:04,639 - api.main - INFO - STDERR: 2024-11-30 16:10:04,639 - nocodb_operations - INFO - Successfully stored filtered user data for aelmgren +2024-11-30 16:10:04,639 - api.main - INFO - STDERR: [11/30 16:10:04] DEBUG | Profile checked in 7.49s +2024-11-30 16:10:04,656 - api.main - INFO - STDERR: [11/30 16:10:04] DEBUG | Whole day mode. +2024-11-30 16:10:04,657 - api.main - INFO - STDERR: [11/30 16:10:04] DEBUG | - Total Likes: OK (5/136) +2024-11-30 16:10:04,657 - api.main - INFO - STDERR: [11/30 16:10:04] DEBUG | - Total Followed: OK (1/50) +2024-11-30 16:10:04,657 - api.main - INFO - STDERR: [11/30 16:10:04] DEBUG | - Total Watched: OK (0/145) +2024-11-30 16:10:04,657 - api.main - INFO - STDERR: [11/30 16:10:04] DEBUG | - Total PM: OK (0/5) +2024-11-30 16:10:04,658 - api.main - INFO - STDERR: [11/30 16:10:04] DEBUG | - Total Comments: OK (0/36) +2024-11-30 16:10:04,659 - api.main - INFO - STDERR: [11/30 16:10:04] DEBUG | - Total Interactions: OK (7/298) +2024-11-30 16:10:04,659 - api.main - INFO - STDERR: [11/30 16:10:04] DEBUG | - Total Successful Interactions: OK (4/125) +2024-11-30 16:10:04,659 - api.main - INFO - STDERR: [11/30 16:10:04] INFO | Back to followers list +2024-11-30 16:10:04,659 - api.main - INFO - STDERR: [11/30 16:10:04] DEBUG | Press back button. +2024-11-30 16:10:04,745 - api.main - INFO - STDERR: [11/30 16:10:04] DEBUG | 1.67s sleep +2024-11-30 16:10:08,010 - api.main - INFO - STDERR: [11/30 16:10:08] INFO | Need to scroll now +2024-11-30 16:10:09,240 - api.main - INFO - STDERR: [11/30 16:10:09] INFO | Iterate over visible followers. +2024-11-30 16:10:13,699 - api.main - INFO - STDERR: [11/30 16:10:13] DEBUG | There are 7 users fully visible in that view. +2024-11-30 16:10:15,173 - api.main - INFO - STDERR: [11/30 16:10:15] INFO | @somexshorty: interact +2024-11-30 16:10:15,498 - api.main - INFO - STDERR: [11/30 16:10:15] DEBUG | Single click in (411,806). Surface: (322-569,776-833) +2024-11-30 16:10:16,125 - api.main - INFO - STDERR: [11/30 16:10:16] DEBUG | 0.93s sleep +2024-11-30 16:10:16,960 - api.main - INFO - All tasks cleaned up. +2024-11-30 16:10:17,006 - api.main - INFO - All tasks cleaned up. +2024-11-30 16:10:17,066 - api.main - INFO - STDERR: [11/30 16:10:17] DEBUG | 3.93s sleep +2024-11-30 16:10:17,920 - api.main - INFO - API startup complete +2024-11-30 16:10:18,345 - api.main - INFO - API startup complete +2024-11-30 16:10:21,340 - api.main - INFO - STDERR: [11/30 16:10:21] DEBUG | Checking profile.. +2024-11-30 16:10:22,578 - api.main - INFO - STDERR: [11/30 16:10:22] DEBUG | Looking for mutual friends tab. +2024-11-30 16:10:31,152 - api.main - INFO - STDERR: [11/30 16:10:31] DEBUG | This account is private. +2024-11-30 16:10:31,152 - api.main - INFO - STDERR: [11/30 16:10:31] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 16:10:31,152 - api.main - INFO - STDERR: [11/30 16:10:31] INFO | @somexshorty doesn't have enough posts (2), skip. +2024-11-30 16:10:31,167 - api.main - INFO - STDERR: [11/30 16:10:31] INFO | Storing filter data in NocoDB for somexshorty +2024-11-30 16:10:31,258 - api.main - INFO - STDERR: 2024-11-30 16:10:31,257 - nocodb_operations - INFO - Successfully stored filtered user data for somexshorty +2024-11-30 16:10:31,258 - api.main - INFO - STDERR: [11/30 16:10:31] DEBUG | Profile checked in 9.92s +2024-11-30 16:10:31,274 - api.main - INFO - STDERR: [11/30 16:10:31] DEBUG | Whole day mode. +2024-11-30 16:10:31,275 - api.main - INFO - STDERR: [11/30 16:10:31] DEBUG | - Total Likes: OK (5/136) +2024-11-30 16:10:31,275 - api.main - INFO - STDERR: [11/30 16:10:31] DEBUG | - Total Followed: OK (1/50) +2024-11-30 16:10:31,275 - api.main - INFO - STDERR: [11/30 16:10:31] DEBUG | - Total Watched: OK (0/145) +2024-11-30 16:10:31,275 - api.main - INFO - STDERR: [11/30 16:10:31] DEBUG | - Total PM: OK (0/5) +2024-11-30 16:10:31,276 - api.main - INFO - STDERR: [11/30 16:10:31] DEBUG | - Total Comments: OK (0/36) +2024-11-30 16:10:31,276 - api.main - INFO - STDERR: [11/30 16:10:31] DEBUG | - Total Interactions: OK (8/298) +2024-11-30 16:10:31,276 - api.main - INFO - STDERR: [11/30 16:10:31] DEBUG | - Total Successful Interactions: OK (4/125) +2024-11-30 16:10:31,276 - api.main - INFO - STDERR: [11/30 16:10:31] INFO | Back to followers list +2024-11-30 16:10:31,277 - api.main - INFO - STDERR: [11/30 16:10:31] DEBUG | Press back button. +2024-11-30 16:10:31,412 - api.main - INFO - STDERR: [11/30 16:10:31] DEBUG | 2.89s sleep +2024-11-30 16:10:35,411 - api.main - INFO - STDERR: [11/30 16:10:35] INFO | @toferlop_: interact +2024-11-30 16:10:35,791 - api.main - INFO - STDERR: [11/30 16:10:35] DEBUG | Single click in (396,1018). Surface: (322-490,1000-1057) +2024-11-30 16:10:36,451 - api.main - INFO - STDERR: [11/30 16:10:36] DEBUG | 2.31s sleep +2024-11-30 16:10:38,768 - api.main - INFO - STDERR: [11/30 16:10:38] DEBUG | 3.68s sleep +2024-11-30 16:10:42,855 - api.main - INFO - STDERR: [11/30 16:10:42] DEBUG | Checking profile.. +2024-11-30 16:10:44,210 - api.main - INFO - STDERR: [11/30 16:10:44] DEBUG | Looking for mutual friends tab. +2024-11-30 16:10:47,777 - api.main - INFO - STDERR: [11/30 16:10:47] DEBUG | Found "… more" in bio - trying to expand +2024-11-30 16:10:48,587 - api.main - INFO - STDERR: [11/30 16:10:48] DEBUG | Single click in (1232,1035). Surface: (56-1384,853-1079) +2024-11-30 16:10:49,054 - api.main - INFO - STDERR: [11/30 16:10:49] DEBUG | 2.76s sleep +2024-11-30 16:10:55,560 - api.main - INFO - STDERR: [11/30 16:10:55] DEBUG | This account is public. +2024-11-30 16:10:55,561 - api.main - INFO - STDERR: [11/30 16:10:55] DEBUG | Checking if account is within follower/following parameters... +2024-11-30 16:10:55,575 - api.main - INFO - STDERR: [11/30 16:10:55] INFO | Storing filter data in NocoDB for toferlop_ +2024-11-30 16:10:55,644 - api.main - INFO - STDERR: 2024-11-30 16:10:55,643 - nocodb_operations - INFO - Successfully stored filtered user data for toferlop_ +2024-11-30 16:10:56,006 - api.main - INFO - STDERR: [11/30 16:10:56] DEBUG | Profile checked in 13.15s +2024-11-30 16:10:56,006 - api.main - INFO - STDERR: [11/30 16:10:56] INFO | - Total Likes: OK (5/136) +2024-11-30 16:10:57,341 - api.main - INFO - STDERR: [11/30 16:10:57] INFO | Scrolled down to see more posts. +2024-11-30 16:10:57,342 - api.main - INFO - STDERR: [11/30 16:10:57] DEBUG | Swipe from: (734,1716) to (749,292). +2024-11-30 16:10:58,495 - api.main - INFO - STDERR: [11/30 16:10:58] DEBUG | 0.3s sleep +2024-11-30 16:10:58,811 - api.main - INFO - STDERR: [11/30 16:10:58] INFO | Likes count: 1 +2024-11-30 16:11:00,191 - api.main - INFO - STDERR: [11/30 16:11:00] INFO | There are 12 posts fully visible. Calculated in 1.38s +2024-11-30 16:11:00,192 - api.main - INFO - STDERR: [11/30 16:11:00] INFO | Open post #1 (3 row, 1 column). +2024-11-30 16:11:42,077 - api.main - INFO - API startup complete +2024-11-30 16:12:19,909 - api.main - INFO - Starting session for account quecreate with config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml +2024-11-30 16:12:19,910 - api.main - INFO - Running command: e:\PROJECTS\instagram automation\virtualinfluencer\venv\Scripts\python.exe -v e:\PROJECTS\instagram automation\virtualinfluencer\run.py --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 16:12:19,910 - api.main - INFO - Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 16:12:19,910 - api.main - INFO - Environment PYTHONPATH: None +2024-11-30 16:12:19,910 - api.main - INFO - Starting process with command: e:\PROJECTS\instagram automation\virtualinfluencer\venv\Scripts\python.exe -v e:\PROJECTS\instagram automation\virtualinfluencer\run.py --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 16:12:19,910 - api.main - INFO - Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 16:12:19,910 - api.main - INFO - PYTHONPATH: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 16:12:19,916 - api.main - INFO - Process started with PID: 21540 +2024-11-30 16:12:19,917 - api.main - INFO - Successfully started session for account: quecreate +2024-11-30 16:12:19,937 - api.main - INFO - STDERR: import _frozen_importlib # frozen +2024-11-30 16:12:19,937 - api.main - INFO - STDERR: import _imp # builtin +2024-11-30 16:12:19,937 - api.main - INFO - STDERR: import '_thread' # +2024-11-30 16:12:19,938 - api.main - INFO - STDERR: import '_warnings' # +2024-11-30 16:12:19,938 - api.main - INFO - STDERR: import '_weakref' # +2024-11-30 16:12:19,938 - api.main - INFO - STDERR: import '_io' # +2024-11-30 16:12:19,938 - api.main - INFO - STDERR: import 'marshal' # +2024-11-30 16:12:19,938 - api.main - INFO - STDERR: import 'nt' # +2024-11-30 16:12:19,939 - api.main - INFO - STDERR: import 'winreg' # +2024-11-30 16:12:19,939 - api.main - INFO - STDERR: import '_frozen_importlib_external' # +2024-11-30 16:12:19,939 - api.main - INFO - STDERR: # installing zipimport hook +2024-11-30 16:12:19,940 - api.main - INFO - STDERR: import 'time' # +2024-11-30 16:12:19,940 - api.main - INFO - STDERR: import 'zipimport' # +2024-11-30 16:12:19,940 - api.main - INFO - STDERR: # installed zipimport hook +2024-11-30 16:12:19,943 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__init__.py +2024-11-30 16:12:19,943 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:19,945 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\codecs.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\codecs.py +2024-11-30 16:12:19,946 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\codecs.cpython-39.pyc' +2024-11-30 16:12:19,946 - api.main - INFO - STDERR: import '_codecs' # +2024-11-30 16:12:19,946 - api.main - INFO - STDERR: import 'codecs' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8EB45940> +2024-11-30 16:12:19,950 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\aliases.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\aliases.py +2024-11-30 16:12:19,950 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\aliases.cpython-39.pyc' +2024-11-30 16:12:19,950 - api.main - INFO - STDERR: import 'encodings.aliases' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F004EB0> +2024-11-30 16:12:19,950 - api.main - INFO - STDERR: import 'encodings' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8EB45730> +2024-11-30 16:12:19,951 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\utf_8.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\utf_8.py +2024-11-30 16:12:19,952 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\utf_8.cpython-39.pyc' +2024-11-30 16:12:19,952 - api.main - INFO - STDERR: import 'encodings.utf_8' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8EB45790> +2024-11-30 16:12:19,953 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\cp1252.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\cp1252.py +2024-11-30 16:12:19,953 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\cp1252.cpython-39.pyc' +2024-11-30 16:12:19,953 - api.main - INFO - STDERR: import 'encodings.cp1252' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F004FA0> +2024-11-30 16:12:19,953 - api.main - INFO - STDERR: import '_signal' # +2024-11-30 16:12:19,954 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\latin_1.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\latin_1.py +2024-11-30 16:12:19,955 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\latin_1.cpython-39.pyc' +2024-11-30 16:12:19,955 - api.main - INFO - STDERR: import 'encodings.latin_1' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F01C340> +2024-11-30 16:12:19,956 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\io.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\io.py +2024-11-30 16:12:19,956 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\io.cpython-39.pyc' +2024-11-30 16:12:19,958 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\abc.py +2024-11-30 16:12:19,959 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 16:12:19,959 - api.main - INFO - STDERR: import '_abc' # +2024-11-30 16:12:19,959 - api.main - INFO - STDERR: import 'abc' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F01C7F0> +2024-11-30 16:12:19,959 - api.main - INFO - STDERR: import 'io' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F01C520> +2024-11-30 16:12:19,960 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\site.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\site.py +2024-11-30 16:12:19,963 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\site.cpython-39.pyc' +2024-11-30 16:12:19,963 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\os.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\os.py +2024-11-30 16:12:19,963 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\os.cpython-39.pyc' +2024-11-30 16:12:19,963 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\stat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\stat.py +2024-11-30 16:12:19,963 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\stat.cpython-39.pyc' +2024-11-30 16:12:19,964 - api.main - INFO - STDERR: import '_stat' # +2024-11-30 16:12:19,964 - api.main - INFO - STDERR: import 'stat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F03FFA0> +2024-11-30 16:12:19,964 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_collections_abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_collections_abc.py +2024-11-30 16:12:19,964 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_collections_abc.cpython-39.pyc' +2024-11-30 16:12:19,964 - api.main - INFO - STDERR: import '_collections_abc' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F046130> +2024-11-30 16:12:19,966 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ntpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ntpath.py +2024-11-30 16:12:19,966 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ntpath.cpython-39.pyc' +2024-11-30 16:12:19,967 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\genericpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\genericpath.py +2024-11-30 16:12:19,967 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\genericpath.cpython-39.pyc' +2024-11-30 16:12:19,967 - api.main - INFO - STDERR: import 'genericpath' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F06F970> +2024-11-30 16:12:19,967 - api.main - INFO - STDERR: import 'ntpath' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F046A60> +2024-11-30 16:12:19,968 - api.main - INFO - STDERR: import 'os' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F0257C0> +2024-11-30 16:12:19,969 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_sitebuiltins.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_sitebuiltins.py +2024-11-30 16:12:19,969 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_sitebuiltins.cpython-39.pyc' +2024-11-30 16:12:19,969 - api.main - INFO - STDERR: import '_sitebuiltins' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F03F460> +2024-11-30 16:12:19,972 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_bootlocale.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_bootlocale.py +2024-11-30 16:12:19,972 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_bootlocale.cpython-39.pyc' +2024-11-30 16:12:19,972 - api.main - INFO - STDERR: import '_locale' # +2024-11-30 16:12:19,972 - api.main - INFO - STDERR: import '_bootlocale' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F06FD90> +2024-11-30 16:12:19,976 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__init__.py +2024-11-30 16:12:19,976 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\_distutils_hack\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:19,976 - api.main - INFO - STDERR: import '_distutils_hack' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F085B80> +2024-11-30 16:12:19,978 - api.main - INFO - STDERR: import 'site' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F01C850> +2024-11-30 16:12:19,979 - api.main - INFO - STDERR: Python 3.9.10 (tags/v3.9.10:f2f3f53, Jan 17 2022, 15:14:21) [MSC v.1929 64 bit (AMD64)] on win32 +2024-11-30 16:12:19,979 - api.main - INFO - STDERR: Type "help", "copyright", "credits" or "license" for more information. +2024-11-30 16:12:19,980 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\__init__.py +2024-11-30 16:12:19,980 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:19,982 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__init__.py +2024-11-30 16:12:19,982 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:19,982 - api.main - INFO - STDERR: import 'GramAddict.core' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F0945B0> +2024-11-30 16:12:19,982 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\bot_flow.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\bot_flow.py +2024-11-30 16:12:19,983 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\bot_flow.cpython-39.pyc' +2024-11-30 16:12:19,984 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__init__.py +2024-11-30 16:12:19,984 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\logging\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:19,986 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\re.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\re.py +2024-11-30 16:12:19,986 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\re.cpython-39.pyc' +2024-11-30 16:12:19,988 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\enum.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\enum.py +2024-11-30 16:12:19,989 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\enum.cpython-39.pyc' +2024-11-30 16:12:19,990 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\types.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\types.py +2024-11-30 16:12:19,991 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\types.cpython-39.pyc' +2024-11-30 16:12:19,991 - api.main - INFO - STDERR: import 'types' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F2D74C0> +2024-11-30 16:12:19,991 - api.main - INFO - STDERR: import 'enum' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F2BEFD0> +2024-11-30 16:12:19,992 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_compile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_compile.py +2024-11-30 16:12:19,992 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_compile.cpython-39.pyc' +2024-11-30 16:12:19,993 - api.main - INFO - STDERR: import '_sre' # +2024-11-30 16:12:19,993 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_parse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_parse.py +2024-11-30 16:12:19,994 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_parse.cpython-39.pyc' +2024-11-30 16:12:19,996 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_constants.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_constants.py +2024-11-30 16:12:19,996 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_constants.cpython-39.pyc' +2024-11-30 16:12:19,997 - api.main - INFO - STDERR: import 'sre_constants' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F2FB2E0> +2024-11-30 16:12:19,998 - api.main - INFO - STDERR: import 'sre_parse' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F2E98B0> +2024-11-30 16:12:19,998 - api.main - INFO - STDERR: import 'sre_compile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F2D7FD0> +2024-11-30 16:12:19,999 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\functools.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\functools.py +2024-11-30 16:12:19,999 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\functools.cpython-39.pyc' +2024-11-30 16:12:20,001 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__init__.py +2024-11-30 16:12:20,002 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\collections\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,005 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\heapq.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\heapq.py +2024-11-30 16:12:20,006 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\heapq.cpython-39.pyc' +2024-11-30 16:12:20,006 - api.main - INFO - STDERR: import '_heapq' # +2024-11-30 16:12:20,007 - api.main - INFO - STDERR: import 'heapq' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F32EA60> +2024-11-30 16:12:20,007 - api.main - INFO - STDERR: import 'itertools' # +2024-11-30 16:12:20,009 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\keyword.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\keyword.py +2024-11-30 16:12:20,009 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\keyword.cpython-39.pyc' +2024-11-30 16:12:20,009 - api.main - INFO - STDERR: import 'keyword' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F32EFD0> +2024-11-30 16:12:20,010 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\operator.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\operator.py +2024-11-30 16:12:20,010 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\operator.cpython-39.pyc' +2024-11-30 16:12:20,011 - api.main - INFO - STDERR: import '_operator' # +2024-11-30 16:12:20,011 - api.main - INFO - STDERR: import 'operator' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F32EF10> +2024-11-30 16:12:20,012 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\reprlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\reprlib.py +2024-11-30 16:12:20,012 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\reprlib.cpython-39.pyc' +2024-11-30 16:12:20,012 - api.main - INFO - STDERR: import 'reprlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F340160> +2024-11-30 16:12:20,012 - api.main - INFO - STDERR: import '_collections' # +2024-11-30 16:12:20,012 - api.main - INFO - STDERR: import 'collections' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F309EE0> +2024-11-30 16:12:20,012 - api.main - INFO - STDERR: import '_functools' # +2024-11-30 16:12:20,013 - api.main - INFO - STDERR: import 'functools' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F301790> +2024-11-30 16:12:20,015 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\copyreg.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\copyreg.py +2024-11-30 16:12:20,015 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\copyreg.cpython-39.pyc' +2024-11-30 16:12:20,016 - api.main - INFO - STDERR: import 'copyreg' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F317730> +2024-11-30 16:12:20,016 - api.main - INFO - STDERR: import 're' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F2BE580> +2024-11-30 16:12:20,017 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\traceback.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\traceback.py +2024-11-30 16:12:20,017 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\traceback.cpython-39.pyc' +2024-11-30 16:12:20,018 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\linecache.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\linecache.py +2024-11-30 16:12:20,019 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\linecache.cpython-39.pyc' +2024-11-30 16:12:20,020 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tokenize.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tokenize.py +2024-11-30 16:12:20,020 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tokenize.cpython-39.pyc' +2024-11-30 16:12:20,021 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\token.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\token.py +2024-11-30 16:12:20,021 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\token.cpython-39.pyc' +2024-11-30 16:12:20,022 - api.main - INFO - STDERR: import 'token' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F343F40> +2024-11-30 16:12:20,022 - api.main - INFO - STDERR: import 'tokenize' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F343550> +2024-11-30 16:12:20,022 - api.main - INFO - STDERR: import 'linecache' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F340A90> +2024-11-30 16:12:20,022 - api.main - INFO - STDERR: import 'traceback' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F317340> +2024-11-30 16:12:20,024 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\warnings.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\warnings.py +2024-11-30 16:12:20,024 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\warnings.cpython-39.pyc' +2024-11-30 16:12:20,024 - api.main - INFO - STDERR: import 'warnings' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F340910> +2024-11-30 16:12:20,025 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\weakref.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\weakref.py +2024-11-30 16:12:20,026 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\weakref.cpython-39.pyc' +2024-11-30 16:12:20,027 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_weakrefset.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_weakrefset.py +2024-11-30 16:12:20,027 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_weakrefset.cpython-39.pyc' +2024-11-30 16:12:20,027 - api.main - INFO - STDERR: import '_weakrefset' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F385D90> +2024-11-30 16:12:20,027 - api.main - INFO - STDERR: import 'weakref' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F349760> +2024-11-30 16:12:20,028 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\abc.py +2024-11-30 16:12:20,029 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\collections\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 16:12:20,029 - api.main - INFO - STDERR: import 'collections.abc' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F38FA30> +2024-11-30 16:12:20,030 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\string.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\string.py +2024-11-30 16:12:20,030 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\string.cpython-39.pyc' +2024-11-30 16:12:20,030 - api.main - INFO - STDERR: import '_string' # +2024-11-30 16:12:20,031 - api.main - INFO - STDERR: import 'string' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F38FB20> +2024-11-30 16:12:20,032 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\threading.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\threading.py +2024-11-30 16:12:20,032 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\threading.cpython-39.pyc' +2024-11-30 16:12:20,032 - api.main - INFO - STDERR: import 'threading' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F39A130> +2024-11-30 16:12:20,033 - api.main - INFO - STDERR: import 'atexit' # +2024-11-30 16:12:20,033 - api.main - INFO - STDERR: import 'logging' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F094190> +2024-11-30 16:12:20,035 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\random.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\random.py +2024-11-30 16:12:20,035 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\random.cpython-39.pyc' +2024-11-30 16:12:20,035 - api.main - INFO - STDERR: import 'math' # +2024-11-30 16:12:20,036 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\bisect.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\bisect.py +2024-11-30 16:12:20,036 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\bisect.cpython-39.pyc' +2024-11-30 16:12:20,036 - api.main - INFO - STDERR: import '_bisect' # +2024-11-30 16:12:20,036 - api.main - INFO - STDERR: import 'bisect' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F3BCF40> +2024-11-30 16:12:20,036 - api.main - INFO - STDERR: import '_random' # +2024-11-30 16:12:20,036 - api.main - INFO - STDERR: import '_sha512' # +2024-11-30 16:12:20,036 - api.main - INFO - STDERR: import 'random' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F085130> +2024-11-30 16:12:20,036 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\datetime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\datetime.py +2024-11-30 16:12:20,037 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\datetime.cpython-39.pyc' +2024-11-30 16:12:20,038 - api.main - INFO - STDERR: import '_datetime' # +2024-11-30 16:12:20,038 - api.main - INFO - STDERR: import 'datetime' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F3D4190> +2024-11-30 16:12:20,039 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__init__.py +2024-11-30 16:12:20,039 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,039 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\initialise.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\initialise.py +2024-11-30 16:12:20,039 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\initialise.cpython-39.pyc' +2024-11-30 16:12:20,040 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\contextlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\contextlib.py +2024-11-30 16:12:20,041 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\contextlib.cpython-39.pyc' +2024-11-30 16:12:20,041 - api.main - INFO - STDERR: import 'contextlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F3FFBB0> +2024-11-30 16:12:20,041 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\ansitowin32.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\ansitowin32.py +2024-11-30 16:12:20,041 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\ansitowin32.cpython-39.pyc' +2024-11-30 16:12:20,042 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\ansi.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\ansi.py +2024-11-30 16:12:20,042 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\ansi.cpython-39.pyc' +2024-11-30 16:12:20,042 - api.main - INFO - STDERR: import 'colorama.ansi' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F40F730> +2024-11-30 16:12:20,042 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\winterm.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\winterm.py +2024-11-30 16:12:20,042 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\winterm.cpython-39.pyc' +2024-11-30 16:12:20,043 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\win32.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\win32.py +2024-11-30 16:12:20,043 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\win32.cpython-39.pyc' +2024-11-30 16:12:20,044 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__init__.py +2024-11-30 16:12:20,044 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,049 - api.main - INFO - STDERR: # extension module '_ctypes' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ctypes.pyd' +2024-11-30 16:12:20,049 - api.main - INFO - STDERR: # extension module '_ctypes' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ctypes.pyd' +2024-11-30 16:12:20,049 - api.main - INFO - STDERR: import '_ctypes' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001EF8F4307C0> +2024-11-30 16:12:20,050 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\struct.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\struct.py +2024-11-30 16:12:20,050 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\struct.cpython-39.pyc' +2024-11-30 16:12:20,050 - api.main - INFO - STDERR: import '_struct' # +2024-11-30 16:12:20,050 - api.main - INFO - STDERR: import 'struct' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F430CA0> +2024-11-30 16:12:20,052 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\_endian.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\_endian.py +2024-11-30 16:12:20,052 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\_endian.cpython-39.pyc' +2024-11-30 16:12:20,052 - api.main - INFO - STDERR: import 'ctypes._endian' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F441A00> +2024-11-30 16:12:20,052 - api.main - INFO - STDERR: import 'ctypes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F424520> +2024-11-30 16:12:20,052 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\wintypes.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\wintypes.py +2024-11-30 16:12:20,053 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\wintypes.cpython-39.pyc' +2024-11-30 16:12:20,053 - api.main - INFO - STDERR: import 'ctypes.wintypes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F424970> +2024-11-30 16:12:20,053 - api.main - INFO - STDERR: import 'colorama.win32' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F3FF2E0> +2024-11-30 16:12:20,053 - api.main - INFO - STDERR: import 'colorama.winterm' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F40FD30> +2024-11-30 16:12:20,054 - api.main - INFO - STDERR: import 'colorama.ansitowin32' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F3FFF10> +2024-11-30 16:12:20,054 - api.main - INFO - STDERR: import 'colorama.initialise' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F3FF940> +2024-11-30 16:12:20,054 - api.main - INFO - STDERR: import 'colorama' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F3D4220> +2024-11-30 16:12:20,054 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\config.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\config.py +2024-11-30 16:12:20,054 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\config.cpython-39.pyc' +2024-11-30 16:12:20,056 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\typing.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\typing.py +2024-11-30 16:12:20,056 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\typing.cpython-39.pyc' +2024-11-30 16:12:20,058 - api.main - INFO - STDERR: import 'typing' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F441FA0> +2024-11-30 16:12:20,058 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\configargparse.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\configargparse.py +2024-11-30 16:12:20,058 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\configargparse.cpython-39.pyc' +2024-11-30 16:12:20,060 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\argparse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\argparse.py +2024-11-30 16:12:20,061 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\argparse.cpython-39.pyc' +2024-11-30 16:12:20,062 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\gettext.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\gettext.py +2024-11-30 16:12:20,062 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\gettext.cpython-39.pyc' +2024-11-30 16:12:20,063 - api.main - INFO - STDERR: import 'gettext' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F3D4AC0> +2024-11-30 16:12:20,064 - api.main - INFO - STDERR: import 'argparse' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90E62FD0> +2024-11-30 16:12:20,065 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__init__.py +2024-11-30 16:12:20,065 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,066 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\decoder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\decoder.py +2024-11-30 16:12:20,066 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\decoder.cpython-39.pyc' +2024-11-30 16:12:20,067 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\scanner.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\scanner.py +2024-11-30 16:12:20,067 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\scanner.cpython-39.pyc' +2024-11-30 16:12:20,067 - api.main - INFO - STDERR: import '_json' # +2024-11-30 16:12:20,067 - api.main - INFO - STDERR: import 'json.scanner' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F3437C0> +2024-11-30 16:12:20,067 - api.main - INFO - STDERR: import 'json.decoder' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F3EE070> +2024-11-30 16:12:20,069 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\encoder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\encoder.py +2024-11-30 16:12:20,069 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\encoder.cpython-39.pyc' +2024-11-30 16:12:20,069 - api.main - INFO - STDERR: import 'json.encoder' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F3EED60> +2024-11-30 16:12:20,069 - api.main - INFO - STDERR: import 'json' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F3E6C40> +2024-11-30 16:12:20,070 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\glob.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\glob.py +2024-11-30 16:12:20,070 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\glob.cpython-39.pyc' +2024-11-30 16:12:20,072 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\fnmatch.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\fnmatch.py +2024-11-30 16:12:20,072 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\fnmatch.cpython-39.pyc' +2024-11-30 16:12:20,073 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\posixpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\posixpath.py +2024-11-30 16:12:20,074 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\posixpath.cpython-39.pyc' +2024-11-30 16:12:20,074 - api.main - INFO - STDERR: import 'posixpath' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90EA2790> +2024-11-30 16:12:20,074 - api.main - INFO - STDERR: import 'fnmatch' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90EA2430> +2024-11-30 16:12:20,074 - api.main - INFO - STDERR: import 'glob' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90E7AC10> +2024-11-30 16:12:20,075 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\textwrap.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\textwrap.py +2024-11-30 16:12:20,076 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\textwrap.cpython-39.pyc' +2024-11-30 16:12:20,076 - api.main - INFO - STDERR: import 'textwrap' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90EA25E0> +2024-11-30 16:12:20,077 - api.main - INFO - STDERR: import 'configargparse' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F4628E0> +2024-11-30 16:12:20,078 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__init__.py +2024-11-30 16:12:20,078 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,079 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\error.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\error.py +2024-11-30 16:12:20,079 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\error.cpython-39.pyc' +2024-11-30 16:12:20,079 - api.main - INFO - STDERR: import 'yaml.error' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90EB5D30> +2024-11-30 16:12:20,079 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\tokens.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\tokens.py +2024-11-30 16:12:20,079 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\tokens.cpython-39.pyc' +2024-11-30 16:12:20,079 - api.main - INFO - STDERR: import 'yaml.tokens' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90EB5EE0> +2024-11-30 16:12:20,080 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\events.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\events.py +2024-11-30 16:12:20,080 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\events.cpython-39.pyc' +2024-11-30 16:12:20,080 - api.main - INFO - STDERR: import 'yaml.events' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90EBD1F0> +2024-11-30 16:12:20,080 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\nodes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\nodes.py +2024-11-30 16:12:20,080 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\nodes.cpython-39.pyc' +2024-11-30 16:12:20,080 - api.main - INFO - STDERR: import 'yaml.nodes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90EBDA00> +2024-11-30 16:12:20,081 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\loader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\loader.py +2024-11-30 16:12:20,081 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\loader.cpython-39.pyc' +2024-11-30 16:12:20,081 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\reader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\reader.py +2024-11-30 16:12:20,081 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\reader.cpython-39.pyc' +2024-11-30 16:12:20,087 - api.main - INFO - STDERR: import 'yaml.reader' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90ECD370> +2024-11-30 16:12:20,088 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\scanner.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\scanner.py +2024-11-30 16:12:20,088 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\scanner.cpython-39.pyc' +2024-11-30 16:12:20,088 - api.main - INFO - STDERR: import 'yaml.scanner' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90ECD700> +2024-11-30 16:12:20,088 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\parser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\parser.py +2024-11-30 16:12:20,089 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\parser.cpython-39.pyc' +2024-11-30 16:12:20,089 - api.main - INFO - STDERR: import 'yaml.parser' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90ED6280> +2024-11-30 16:12:20,089 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\composer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\composer.py +2024-11-30 16:12:20,089 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\composer.cpython-39.pyc' +2024-11-30 16:12:20,089 - api.main - INFO - STDERR: import 'yaml.composer' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90ED6940> +2024-11-30 16:12:20,090 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\constructor.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\constructor.py +2024-11-30 16:12:20,090 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\constructor.cpython-39.pyc' +2024-11-30 16:12:20,091 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\base64.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\base64.py +2024-11-30 16:12:20,091 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\base64.cpython-39.pyc' +2024-11-30 16:12:20,091 - api.main - INFO - STDERR: import 'binascii' # +2024-11-30 16:12:20,091 - api.main - INFO - STDERR: import 'base64' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90EEDBB0> +2024-11-30 16:12:20,092 - api.main - INFO - STDERR: import 'yaml.constructor' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90ED6C10> +2024-11-30 16:12:20,092 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\resolver.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\resolver.py +2024-11-30 16:12:20,092 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\resolver.cpython-39.pyc' +2024-11-30 16:12:20,095 - api.main - INFO - STDERR: import 'yaml.resolver' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90EED8B0> +2024-11-30 16:12:20,095 - api.main - INFO - STDERR: import 'yaml.loader' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90EBDF40> +2024-11-30 16:12:20,096 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\dumper.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\dumper.py +2024-11-30 16:12:20,096 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\dumper.cpython-39.pyc' +2024-11-30 16:12:20,096 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\emitter.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\emitter.py +2024-11-30 16:12:20,096 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\emitter.cpython-39.pyc' +2024-11-30 16:12:20,096 - api.main - INFO - STDERR: import 'yaml.emitter' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90EFCBB0> +2024-11-30 16:12:20,097 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\serializer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\serializer.py +2024-11-30 16:12:20,097 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\serializer.cpython-39.pyc' +2024-11-30 16:12:20,097 - api.main - INFO - STDERR: import 'yaml.serializer' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90F185B0> +2024-11-30 16:12:20,097 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\representer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\representer.py +2024-11-30 16:12:20,097 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\representer.cpython-39.pyc' +2024-11-30 16:12:20,097 - api.main - INFO - STDERR: import 'yaml.representer' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90F18850> +2024-11-30 16:12:20,097 - api.main - INFO - STDERR: import 'yaml.dumper' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90ECD160> +2024-11-30 16:12:20,098 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\cyaml.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\cyaml.py +2024-11-30 16:12:20,098 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\cyaml.cpython-39.pyc' +2024-11-30 16:12:20,099 - api.main - INFO - STDERR: # extension module 'yaml._yaml' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\_yaml.cp39-win_amd64.pyd' +2024-11-30 16:12:20,099 - api.main - INFO - STDERR: # extension module 'yaml._yaml' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\_yaml.cp39-win_amd64.pyd' +2024-11-30 16:12:20,099 - api.main - INFO - STDERR: import 'yaml._yaml' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001EF90F29460> +2024-11-30 16:12:20,099 - api.main - INFO - STDERR: import 'yaml.cyaml' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90EBD340> +2024-11-30 16:12:20,099 - api.main - INFO - STDERR: import 'yaml' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90EA2F70> +2024-11-30 16:12:20,100 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\plugin_loader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\plugin_loader.py +2024-11-30 16:12:20,100 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\plugin_loader.cpython-39.pyc' +2024-11-30 16:12:20,101 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\inspect.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\inspect.py +2024-11-30 16:12:20,102 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\inspect.cpython-39.pyc' +2024-11-30 16:12:20,102 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ast.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ast.py +2024-11-30 16:12:20,103 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ast.cpython-39.pyc' +2024-11-30 16:12:20,103 - api.main - INFO - STDERR: import '_ast' # +2024-11-30 16:12:20,104 - api.main - INFO - STDERR: import 'ast' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90F62AF0> +2024-11-30 16:12:20,105 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\dis.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\dis.py +2024-11-30 16:12:20,106 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\dis.cpython-39.pyc' +2024-11-30 16:12:20,106 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\opcode.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\opcode.py +2024-11-30 16:12:20,106 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\opcode.cpython-39.pyc' +2024-11-30 16:12:20,106 - api.main - INFO - STDERR: import '_opcode' # +2024-11-30 16:12:20,107 - api.main - INFO - STDERR: import 'opcode' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90FA3E20> +2024-11-30 16:12:20,107 - api.main - INFO - STDERR: import 'dis' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90F6C2E0> +2024-11-30 16:12:20,108 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__init__.py +2024-11-30 16:12:20,108 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,108 - api.main - INFO - STDERR: import 'importlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90FB6DF0> +2024-11-30 16:12:20,108 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\machinery.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\machinery.py +2024-11-30 16:12:20,108 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\machinery.cpython-39.pyc' +2024-11-30 16:12:20,108 - api.main - INFO - STDERR: import 'importlib.machinery' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90FB6C40> +2024-11-30 16:12:20,109 - api.main - INFO - STDERR: import 'inspect' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90F29AF0> +2024-11-30 16:12:20,111 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pkgutil.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pkgutil.py +2024-11-30 16:12:20,111 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pkgutil.cpython-39.pyc' +2024-11-30 16:12:20,111 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\util.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\util.py +2024-11-30 16:12:20,111 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\util.cpython-39.pyc' +2024-11-30 16:12:20,112 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\abc.py +2024-11-30 16:12:20,112 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 16:12:20,112 - api.main - INFO - STDERR: import 'importlib.abc' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90FD95E0> +2024-11-30 16:12:20,112 - api.main - INFO - STDERR: import 'importlib.util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90FCA640> +2024-11-30 16:12:20,113 - api.main - INFO - STDERR: import 'pkgutil' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90F35B20> +2024-11-30 16:12:20,113 - api.main - INFO - STDERR: import 'GramAddict.core.plugin_loader' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90F29190> +2024-11-30 16:12:20,113 - api.main - INFO - STDERR: import 'GramAddict.core.config' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F3D4250> +2024-11-30 16:12:20,113 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\device_facade.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py +2024-11-30 16:12:20,114 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\device_facade.cpython-39.pyc' +2024-11-30 16:12:20,114 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\subprocess.py +2024-11-30 16:12:20,115 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\subprocess.cpython-39.pyc' +2024-11-30 16:12:20,115 - api.main - INFO - STDERR: import 'errno' # +2024-11-30 16:12:20,115 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\signal.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\signal.py +2024-11-30 16:12:20,115 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\signal.cpython-39.pyc' +2024-11-30 16:12:20,116 - api.main - INFO - STDERR: import 'signal' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91006A30> +2024-11-30 16:12:20,117 - api.main - INFO - STDERR: import 'msvcrt' # +2024-11-30 16:12:20,117 - api.main - INFO - STDERR: import '_winapi' # +2024-11-30 16:12:20,117 - api.main - INFO - STDERR: import 'subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90FF9910> +2024-11-30 16:12:20,118 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py +2024-11-30 16:12:20,119 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,120 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\__future__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__future__.py +2024-11-30 16:12:20,120 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\__future__.cpython-39.pyc' +2024-11-30 16:12:20,120 - api.main - INFO - STDERR: import '__future__' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91036E80> +2024-11-30 16:12:20,120 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\hashlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\hashlib.py +2024-11-30 16:12:20,120 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\hashlib.cpython-39.pyc' +2024-11-30 16:12:20,122 - api.main - INFO - STDERR: # extension module '_hashlib' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_hashlib.pyd' +2024-11-30 16:12:20,122 - api.main - INFO - STDERR: # extension module '_hashlib' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_hashlib.pyd' +2024-11-30 16:12:20,122 - api.main - INFO - STDERR: import '_hashlib' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001EF910449A0> +2024-11-30 16:12:20,122 - api.main - INFO - STDERR: import '_blake2' # +2024-11-30 16:12:20,122 - api.main - INFO - STDERR: import 'hashlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91044580> +2024-11-30 16:12:20,123 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\shutil.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\shutil.py +2024-11-30 16:12:20,123 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\shutil.cpython-39.pyc' +2024-11-30 16:12:20,123 - api.main - INFO - STDERR: import 'zlib' # +2024-11-30 16:12:20,124 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\bz2.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\bz2.py +2024-11-30 16:12:20,124 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\bz2.cpython-39.pyc' +2024-11-30 16:12:20,124 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_compression.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_compression.py +2024-11-30 16:12:20,124 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_compression.cpython-39.pyc' +2024-11-30 16:12:20,125 - api.main - INFO - STDERR: import '_compression' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91073370> +2024-11-30 16:12:20,126 - api.main - INFO - STDERR: # extension module '_bz2' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_bz2.pyd' +2024-11-30 16:12:20,126 - api.main - INFO - STDERR: # extension module '_bz2' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_bz2.pyd' +2024-11-30 16:12:20,126 - api.main - INFO - STDERR: import '_bz2' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001EF910738B0> +2024-11-30 16:12:20,126 - api.main - INFO - STDERR: import 'bz2' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91061B20> +2024-11-30 16:12:20,128 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\lzma.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\lzma.py +2024-11-30 16:12:20,128 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\lzma.cpython-39.pyc' +2024-11-30 16:12:20,128 - api.main - INFO - STDERR: # extension module '_lzma' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_lzma.pyd' +2024-11-30 16:12:20,128 - api.main - INFO - STDERR: # extension module '_lzma' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_lzma.pyd' +2024-11-30 16:12:20,128 - api.main - INFO - STDERR: import '_lzma' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001EF91073FA0> +2024-11-30 16:12:20,128 - api.main - INFO - STDERR: import 'lzma' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF910737F0> +2024-11-30 16:12:20,130 - api.main - INFO - STDERR: import 'shutil' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91044C70> +2024-11-30 16:12:20,131 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\__init__.py +2024-11-30 16:12:20,131 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,131 - api.main - INFO - STDERR: import 'xml' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91080940> +2024-11-30 16:12:20,132 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__init__.py +2024-11-30 16:12:20,132 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,133 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\domreg.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\domreg.py +2024-11-30 16:12:20,133 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\domreg.cpython-39.pyc' +2024-11-30 16:12:20,133 - api.main - INFO - STDERR: import 'xml.dom.domreg' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91080EE0> +2024-11-30 16:12:20,133 - api.main - INFO - STDERR: import 'xml.dom' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91061040> +2024-11-30 16:12:20,133 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\minidom.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\minidom.py +2024-11-30 16:12:20,134 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\minidom.cpython-39.pyc' +2024-11-30 16:12:20,134 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\minicompat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\minicompat.py +2024-11-30 16:12:20,134 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\minicompat.cpython-39.pyc' +2024-11-30 16:12:20,134 - api.main - INFO - STDERR: import 'xml.dom.minicompat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF910D64C0> +2024-11-30 16:12:20,135 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\xmlbuilder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\xmlbuilder.py +2024-11-30 16:12:20,135 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\xmlbuilder.cpython-39.pyc' +2024-11-30 16:12:20,135 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\copy.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\copy.py +2024-11-30 16:12:20,136 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\copy.cpython-39.pyc' +2024-11-30 16:12:20,137 - api.main - INFO - STDERR: import 'copy' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF910DECA0> +2024-11-30 16:12:20,137 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\NodeFilter.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\NodeFilter.py +2024-11-30 16:12:20,137 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\NodeFilter.cpython-39.pyc' +2024-11-30 16:12:20,137 - api.main - INFO - STDERR: import 'xml.dom.NodeFilter' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF910DEFD0> +2024-11-30 16:12:20,138 - api.main - INFO - STDERR: import 'xml.dom.xmlbuilder' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF910D6940> +2024-11-30 16:12:20,138 - api.main - INFO - STDERR: import 'xml.dom.minidom' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91044550> +2024-11-30 16:12:20,139 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pathlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pathlib.py +2024-11-30 16:12:20,139 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pathlib.cpython-39.pyc' +2024-11-30 16:12:20,140 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__init__.py +2024-11-30 16:12:20,141 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,141 - api.main - INFO - STDERR: import 'urllib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9110AD00> +2024-11-30 16:12:20,141 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\parse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\parse.py +2024-11-30 16:12:20,142 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\parse.cpython-39.pyc' +2024-11-30 16:12:20,142 - api.main - INFO - STDERR: import 'urllib.parse' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9110AD30> +2024-11-30 16:12:20,143 - api.main - INFO - STDERR: import 'pathlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF910CC400> +2024-11-30 16:12:20,144 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__init__.py +2024-11-30 16:12:20,144 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,144 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\deprecation.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecation.py +2024-11-30 16:12:20,144 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\deprecation.cpython-39.pyc' +2024-11-30 16:12:20,145 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__init__.py +2024-11-30 16:12:20,145 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,145 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\__about__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__about__.py +2024-11-30 16:12:20,146 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\__about__.cpython-39.pyc' +2024-11-30 16:12:20,146 - api.main - INFO - STDERR: import 'packaging.__about__' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9108F790> +2024-11-30 16:12:20,146 - api.main - INFO - STDERR: import 'packaging' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9108F520> +2024-11-30 16:12:20,146 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\version.py +2024-11-30 16:12:20,146 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\version.cpython-39.pyc' +2024-11-30 16:12:20,146 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_structures.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_structures.py +2024-11-30 16:12:20,146 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_structures.cpython-39.pyc' +2024-11-30 16:12:20,146 - api.main - INFO - STDERR: import 'packaging._structures' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9113D640> +2024-11-30 16:12:20,147 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_typing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_typing.py +2024-11-30 16:12:20,147 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_typing.cpython-39.pyc' +2024-11-30 16:12:20,147 - api.main - INFO - STDERR: import 'packaging._typing' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9113DF10> +2024-11-30 16:12:20,149 - api.main - INFO - STDERR: import 'packaging.version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9108F5B0> +2024-11-30 16:12:20,149 - api.main - INFO - STDERR: import 'deprecation' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9108F100> +2024-11-30 16:12:20,150 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_adb.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_adb.py +2024-11-30 16:12:20,150 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_adb.cpython-39.pyc' +2024-11-30 16:12:20,151 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\socket.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\socket.py +2024-11-30 16:12:20,151 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\socket.cpython-39.pyc' +2024-11-30 16:12:20,153 - api.main - INFO - STDERR: # extension module '_socket' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_socket.pyd' +2024-11-30 16:12:20,153 - api.main - INFO - STDERR: # extension module '_socket' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_socket.pyd' +2024-11-30 16:12:20,153 - api.main - INFO - STDERR: import '_socket' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001EF9115AC40> +2024-11-30 16:12:20,154 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\selectors.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\selectors.py +2024-11-30 16:12:20,154 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\selectors.cpython-39.pyc' +2024-11-30 16:12:20,155 - api.main - INFO - STDERR: # extension module 'select' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\select.pyd' +2024-11-30 16:12:20,156 - api.main - INFO - STDERR: # extension module 'select' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\select.pyd' +2024-11-30 16:12:20,156 - api.main - INFO - STDERR: import 'select' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001EF9116DE20> +2024-11-30 16:12:20,156 - api.main - INFO - STDERR: import 'selectors' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9115AD90> +2024-11-30 16:12:20,157 - api.main - INFO - STDERR: import 'socket' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91144F40> +2024-11-30 16:12:20,157 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_utils.py +2024-11-30 16:12:20,157 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_utils.cpython-39.pyc' +2024-11-30 16:12:20,158 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\shlex.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\shlex.py +2024-11-30 16:12:20,158 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\shlex.cpython-39.pyc' +2024-11-30 16:12:20,158 - api.main - INFO - STDERR: import 'shlex' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91173D00> +2024-11-30 16:12:20,160 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tempfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tempfile.py +2024-11-30 16:12:20,160 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tempfile.cpython-39.pyc' +2024-11-30 16:12:20,160 - api.main - INFO - STDERR: import 'tempfile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9117C280> +2024-11-30 16:12:20,161 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\zipfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\zipfile.py +2024-11-30 16:12:20,161 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\zipfile.cpython-39.pyc' +2024-11-30 16:12:20,161 - api.main - INFO - STDERR: import 'zipfile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF911A6640> +2024-11-30 16:12:20,162 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\whichcraft.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\whichcraft.py +2024-11-30 16:12:20,162 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\whichcraft.cpython-39.pyc' +2024-11-30 16:12:20,162 - api.main - INFO - STDERR: import 'whichcraft' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF911B6D60> +2024-11-30 16:12:20,163 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__init__.py +2024-11-30 16:12:20,163 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,163 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\xmltodict.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\xmltodict.py +2024-11-30 16:12:20,164 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\xmltodict.cpython-39.pyc' +2024-11-30 16:12:20,164 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__init__.py +2024-11-30 16:12:20,164 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\parsers\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,164 - api.main - INFO - STDERR: import 'xml.parsers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF911D8790> +2024-11-30 16:12:20,165 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__pycache__\expat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\expat.py +2024-11-30 16:12:20,166 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\parsers\\__pycache__\\expat.cpython-39.pyc' +2024-11-30 16:12:20,167 - api.main - INFO - STDERR: # extension module 'pyexpat' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\pyexpat.pyd' +2024-11-30 16:12:20,167 - api.main - INFO - STDERR: # extension module 'pyexpat' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\pyexpat.pyd' +2024-11-30 16:12:20,167 - api.main - INFO - STDERR: import 'pyexpat' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001EF911D8AF0> +2024-11-30 16:12:20,167 - api.main - INFO - STDERR: import 'xml.parsers.expat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF911D8910> +2024-11-30 16:12:20,167 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__init__.py +2024-11-30 16:12:20,167 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,168 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\xmlreader.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\xmlreader.py +2024-11-30 16:12:20,168 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\xmlreader.cpython-39.pyc' +2024-11-30 16:12:20,169 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\handler.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\handler.py +2024-11-30 16:12:20,169 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\handler.cpython-39.pyc' +2024-11-30 16:12:20,169 - api.main - INFO - STDERR: import 'xml.sax.handler' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF911F2B20> +2024-11-30 16:12:20,170 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\_exceptions.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\_exceptions.py +2024-11-30 16:12:20,170 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\_exceptions.cpython-39.pyc' +2024-11-30 16:12:20,170 - api.main - INFO - STDERR: import 'xml.sax._exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF911FA520> +2024-11-30 16:12:20,170 - api.main - INFO - STDERR: import 'xml.sax.xmlreader' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF911D8F10> +2024-11-30 16:12:20,170 - api.main - INFO - STDERR: import 'xml.sax' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF911D8BB0> +2024-11-30 16:12:20,171 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\saxutils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\saxutils.py +2024-11-30 16:12:20,171 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\saxutils.cpython-39.pyc' +2024-11-30 16:12:20,172 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\request.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\request.py +2024-11-30 16:12:20,172 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\request.cpython-39.pyc' +2024-11-30 16:12:20,173 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__init__.py +2024-11-30 16:12:20,173 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,173 - api.main - INFO - STDERR: import 'email' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF912425B0> +2024-11-30 16:12:20,174 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__init__.py +2024-11-30 16:12:20,174 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,175 - api.main - INFO - STDERR: import 'http' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF912428B0> +2024-11-30 16:12:20,175 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\client.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\client.py +2024-11-30 16:12:20,175 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\client.cpython-39.pyc' +2024-11-30 16:12:20,176 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\parser.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\parser.py +2024-11-30 16:12:20,176 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\parser.cpython-39.pyc' +2024-11-30 16:12:20,177 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\feedparser.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\feedparser.py +2024-11-30 16:12:20,177 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\feedparser.cpython-39.pyc' +2024-11-30 16:12:20,177 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\errors.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\errors.py +2024-11-30 16:12:20,177 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 16:12:20,178 - api.main - INFO - STDERR: import 'email.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91265A00> +2024-11-30 16:12:20,179 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_policybase.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_policybase.py +2024-11-30 16:12:20,179 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_policybase.cpython-39.pyc' +2024-11-30 16:12:20,179 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\header.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\header.py +2024-11-30 16:12:20,179 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\header.cpython-39.pyc' +2024-11-30 16:12:20,180 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\quoprimime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\quoprimime.py +2024-11-30 16:12:20,180 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\quoprimime.cpython-39.pyc' +2024-11-30 16:12:20,180 - api.main - INFO - STDERR: import 'email.quoprimime' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF912836D0> +2024-11-30 16:12:20,180 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\base64mime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\base64mime.py +2024-11-30 16:12:20,181 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\base64mime.cpython-39.pyc' +2024-11-30 16:12:20,181 - api.main - INFO - STDERR: import 'email.base64mime' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91283BB0> +2024-11-30 16:12:20,181 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\charset.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\charset.py +2024-11-30 16:12:20,182 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\charset.cpython-39.pyc' +2024-11-30 16:12:20,182 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\encoders.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\encoders.py +2024-11-30 16:12:20,182 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\encoders.cpython-39.pyc' +2024-11-30 16:12:20,183 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\quopri.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\quopri.py +2024-11-30 16:12:20,183 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\quopri.cpython-39.pyc' +2024-11-30 16:12:20,183 - api.main - INFO - STDERR: import 'quopri' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91294790> +2024-11-30 16:12:20,183 - api.main - INFO - STDERR: import 'email.encoders' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF912943A0> +2024-11-30 16:12:20,183 - api.main - INFO - STDERR: import 'email.charset' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91283D90> +2024-11-30 16:12:20,183 - api.main - INFO - STDERR: import 'email.header' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91273E20> +2024-11-30 16:12:20,184 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\utils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\utils.py +2024-11-30 16:12:20,184 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 16:12:20,184 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_parseaddr.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_parseaddr.py +2024-11-30 16:12:20,185 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_parseaddr.cpython-39.pyc' +2024-11-30 16:12:20,185 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\calendar.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\calendar.py +2024-11-30 16:12:20,185 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\calendar.cpython-39.pyc' +2024-11-30 16:12:20,186 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\locale.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\locale.py +2024-11-30 16:12:20,186 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\locale.cpython-39.pyc' +2024-11-30 16:12:20,187 - api.main - INFO - STDERR: import 'locale' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF912ADEB0> +2024-11-30 16:12:20,187 - api.main - INFO - STDERR: import 'calendar' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF912A56A0> +2024-11-30 16:12:20,187 - api.main - INFO - STDERR: import 'email._parseaddr' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91294F70> +2024-11-30 16:12:20,188 - api.main - INFO - STDERR: import 'email.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF912941F0> +2024-11-30 16:12:20,188 - api.main - INFO - STDERR: import 'email._policybase' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91265AF0> +2024-11-30 16:12:20,189 - api.main - INFO - STDERR: import 'email.feedparser' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91265280> +2024-11-30 16:12:20,189 - api.main - INFO - STDERR: import 'email.parser' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9125EB80> +2024-11-30 16:12:20,190 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\message.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\message.py +2024-11-30 16:12:20,190 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\message.cpython-39.pyc' +2024-11-30 16:12:20,191 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\uu.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\uu.py +2024-11-30 16:12:20,191 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\uu.cpython-39.pyc' +2024-11-30 16:12:20,191 - api.main - INFO - STDERR: import 'uu' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF912F0A90> +2024-11-30 16:12:20,192 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_encoded_words.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_encoded_words.py +2024-11-30 16:12:20,192 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_encoded_words.cpython-39.pyc' +2024-11-30 16:12:20,192 - api.main - INFO - STDERR: import 'email._encoded_words' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF912F0CD0> +2024-11-30 16:12:20,193 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\iterators.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\iterators.py +2024-11-30 16:12:20,193 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\iterators.cpython-39.pyc' +2024-11-30 16:12:20,193 - api.main - INFO - STDERR: import 'email.iterators' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF912FC190> +2024-11-30 16:12:20,193 - api.main - INFO - STDERR: import 'email.message' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9125EF40> +2024-11-30 16:12:20,194 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ssl.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ssl.py +2024-11-30 16:12:20,194 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ssl.cpython-39.pyc' +2024-11-30 16:12:20,195 - api.main - INFO - STDERR: # extension module '_ssl' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ssl.pyd' +2024-11-30 16:12:20,197 - api.main - INFO - STDERR: # extension module '_ssl' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ssl.pyd' +2024-11-30 16:12:20,197 - api.main - INFO - STDERR: import '_ssl' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001EF91315580> +2024-11-30 16:12:20,199 - api.main - INFO - STDERR: import 'ssl' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF912FC460> +2024-11-30 16:12:20,199 - api.main - INFO - STDERR: import 'http.client' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF912429D0> +2024-11-30 16:12:20,200 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\error.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\error.py +2024-11-30 16:12:20,200 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\error.cpython-39.pyc' +2024-11-30 16:12:20,200 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\response.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\response.py +2024-11-30 16:12:20,200 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\response.cpython-39.pyc' +2024-11-30 16:12:20,200 - api.main - INFO - STDERR: import 'urllib.response' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9136F460> +2024-11-30 16:12:20,200 - api.main - INFO - STDERR: import 'urllib.error' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9125E3A0> +2024-11-30 16:12:20,202 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\nturl2path.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\nturl2path.py +2024-11-30 16:12:20,202 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\nturl2path.cpython-39.pyc' +2024-11-30 16:12:20,202 - api.main - INFO - STDERR: import 'nturl2path' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9136FCD0> +2024-11-30 16:12:20,203 - api.main - INFO - STDERR: import 'urllib.request' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF912078B0> +2024-11-30 16:12:20,203 - api.main - INFO - STDERR: import 'xml.sax.saxutils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF911D8640> +2024-11-30 16:12:20,203 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\platform.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\platform.py +2024-11-30 16:12:20,203 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\platform.cpython-39.pyc' +2024-11-30 16:12:20,206 - api.main - INFO - STDERR: import 'platform' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF912076D0> +2024-11-30 16:12:20,206 - api.main - INFO - STDERR: import 'xmltodict' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF911D8220> +2024-11-30 16:12:20,206 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\apkfile.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\apkfile.py +2024-11-30 16:12:20,206 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\apkfile.cpython-39.pyc' +2024-11-30 16:12:20,207 - api.main - INFO - STDERR: import 'apkutils2.apkfile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF911D8580> +2024-11-30 16:12:20,207 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__init__.py +2024-11-30 16:12:20,207 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,207 - api.main - INFO - STDERR: import 'apkutils2.axml' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF913889D0> +2024-11-30 16:12:20,207 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\arscparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\arscparser.py +2024-11-30 16:12:20,207 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\arscparser.cpython-39.pyc' +2024-11-30 16:12:20,207 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\chunk.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\chunk.py +2024-11-30 16:12:20,207 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\chunk.cpython-39.pyc' +2024-11-30 16:12:20,207 - api.main - INFO - STDERR: import 'apkutils2.axml.chunk' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF913B3580> +2024-11-30 16:12:20,207 - api.main - INFO - STDERR: import 'apkutils2.axml.arscparser' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91393E80> +2024-11-30 16:12:20,209 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\axmlparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\axmlparser.py +2024-11-30 16:12:20,209 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\axmlparser.cpython-39.pyc' +2024-11-30 16:12:20,210 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\public.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\public.py +2024-11-30 16:12:20,210 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\public.cpython-39.pyc' +2024-11-30 16:12:20,211 - api.main - INFO - STDERR: import 'apkutils2.axml.public' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF917C2820> +2024-11-30 16:12:20,211 - api.main - INFO - STDERR: import 'apkutils2.axml.axmlparser' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF913A8A00> +2024-11-30 16:12:20,211 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__init__.py +2024-11-30 16:12:20,211 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,211 - api.main - INFO - STDERR: import 'apkutils2.dex' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF917C2910> +2024-11-30 16:12:20,212 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dexparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dexparser.py +2024-11-30 16:12:20,212 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dexparser.cpython-39.pyc' +2024-11-30 16:12:20,212 - api.main - INFO - STDERR: import 'array' # +2024-11-30 16:12:20,212 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\byteio.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\byteio.py +2024-11-30 16:12:20,212 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\byteio.cpython-39.pyc' +2024-11-30 16:12:20,212 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\util.py +2024-11-30 16:12:20,212 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\util.cpython-39.pyc' +2024-11-30 16:12:20,212 - api.main - INFO - STDERR: import 'apkutils2.dex.util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91817EE0> +2024-11-30 16:12:20,212 - api.main - INFO - STDERR: import 'apkutils2.dex.byteio' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91817550> +2024-11-30 16:12:20,213 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dalvik.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dalvik.py +2024-11-30 16:12:20,213 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dalvik.cpython-39.pyc' +2024-11-30 16:12:20,213 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dalvikformats.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dalvikformats.py +2024-11-30 16:12:20,214 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dalvikformats.cpython-39.pyc' +2024-11-30 16:12:20,214 - api.main - INFO - STDERR: import 'apkutils2.dex.dalvikformats' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91822370> +2024-11-30 16:12:20,214 - api.main - INFO - STDERR: import 'apkutils2.dex.dalvik' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91817FD0> +2024-11-30 16:12:20,214 - api.main - INFO - STDERR: import 'apkutils2.dex.dexparser' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF917C2940> +2024-11-30 16:12:20,214 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\manifest.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\manifest.py +2024-11-30 16:12:20,214 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\manifest.cpython-39.pyc' +2024-11-30 16:12:20,214 - api.main - INFO - STDERR: import 'apkutils2.manifest' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF917C2E20> +2024-11-30 16:12:20,215 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cigam\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cigam\__init__.py +2024-11-30 16:12:20,215 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\cigam\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,215 - api.main - INFO - STDERR: import 'cigam' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF918225E0> +2024-11-30 16:12:20,215 - api.main - INFO - STDERR: import 'apkutils2' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF911C9B80> +2024-11-30 16:12:20,216 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pkg_resources\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pkg_resources\__init__.py +2024-11-30 16:12:20,216 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pkg_resources\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,217 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\plistlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\plistlib.py +2024-11-30 16:12:20,218 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\plistlib.cpython-39.pyc' +2024-11-30 16:12:20,218 - api.main - INFO - STDERR: import 'plistlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF918656D0> +2024-11-30 16:12:20,219 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\markers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\markers.py +2024-11-30 16:12:20,219 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\markers.cpython-39.pyc' +2024-11-30 16:12:20,220 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__init__.py +2024-11-30 16:12:20,220 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,221 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\util.py +2024-11-30 16:12:20,221 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\util.cpython-39.pyc' +2024-11-30 16:12:20,221 - api.main - INFO - STDERR: import 'pyparsing.util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9187CC70> +2024-11-30 16:12:20,222 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\exceptions.py +2024-11-30 16:12:20,222 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 16:12:20,223 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\unicode.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\unicode.py +2024-11-30 16:12:20,223 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\unicode.cpython-39.pyc' +2024-11-30 16:12:20,223 - api.main - INFO - STDERR: import 'pyparsing.unicode' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9188D910> +2024-11-30 16:12:20,226 - api.main - INFO - STDERR: import 'pyparsing.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91887D00> +2024-11-30 16:12:20,226 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\actions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\actions.py +2024-11-30 16:12:20,226 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\actions.cpython-39.pyc' +2024-11-30 16:12:20,226 - api.main - INFO - STDERR: import 'pyparsing.actions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9188D4F0> +2024-11-30 16:12:20,227 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\core.py +2024-11-30 16:12:20,228 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\core.cpython-39.pyc' +2024-11-30 16:12:20,229 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\results.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\results.py +2024-11-30 16:12:20,229 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\results.cpython-39.pyc' +2024-11-30 16:12:20,230 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pprint.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pprint.py +2024-11-30 16:12:20,230 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pprint.cpython-39.pyc' +2024-11-30 16:12:20,230 - api.main - INFO - STDERR: import 'pprint' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9191C8E0> +2024-11-30 16:12:20,230 - api.main - INFO - STDERR: import 'pyparsing.results' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91910820> +2024-11-30 16:12:20,238 - api.main - INFO - STDERR: import 'pyparsing.core' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF918AB2E0> +2024-11-30 16:12:20,238 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\helpers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\helpers.py +2024-11-30 16:12:20,239 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\helpers.cpython-39.pyc' +2024-11-30 16:12:20,240 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__init__.py +2024-11-30 16:12:20,240 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\html\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,240 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__pycache__\entities.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\entities.py +2024-11-30 16:12:20,241 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\html\\__pycache__\\entities.cpython-39.pyc' +2024-11-30 16:12:20,241 - api.main - INFO - STDERR: import 'html.entities' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91A0EC10> +2024-11-30 16:12:20,242 - api.main - INFO - STDERR: import 'html' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91A0E970> +2024-11-30 16:12:20,245 - api.main - INFO - STDERR: import 'pyparsing.helpers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF918ABF10> +2024-11-30 16:12:20,245 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\testing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\testing.py +2024-11-30 16:12:20,245 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\testing.cpython-39.pyc' +2024-11-30 16:12:20,245 - api.main - INFO - STDERR: import 'pyparsing.testing' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91AA1EB0> +2024-11-30 16:12:20,246 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\common.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\common.py +2024-11-30 16:12:20,246 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\common.cpython-39.pyc' +2024-11-30 16:12:20,250 - api.main - INFO - STDERR: import 'pyparsing.common' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91ACE4C0> +2024-11-30 16:12:20,250 - api.main - INFO - STDERR: import 'pyparsing' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9187C6D0> +2024-11-30 16:12:20,250 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_compat.py +2024-11-30 16:12:20,250 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_compat.cpython-39.pyc' +2024-11-30 16:12:20,250 - api.main - INFO - STDERR: import 'packaging._compat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9187CEE0> +2024-11-30 16:12:20,250 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\specifiers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\specifiers.py +2024-11-30 16:12:20,251 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\specifiers.cpython-39.pyc' +2024-11-30 16:12:20,251 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\utils.py +2024-11-30 16:12:20,251 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 16:12:20,252 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\tags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\tags.py +2024-11-30 16:12:20,252 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\tags.cpython-39.pyc' +2024-11-30 16:12:20,253 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\__init__.py +2024-11-30 16:12:20,253 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,253 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__pycache__\override.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\override.py +2024-11-30 16:12:20,253 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\_distutils_hack\\__pycache__\\override.cpython-39.pyc' +2024-11-30 16:12:20,254 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__init__.py +2024-11-30 16:12:20,255 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,255 - api.main - INFO - STDERR: import 'setuptools._distutils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91B214C0> +2024-11-30 16:12:20,256 - api.main - INFO - STDERR: import 'distutils' # <_distutils_hack.DistutilsMetaFinder.spec_for_distutils..DistutilsLoader object at 0x000001EF91B212B0> +2024-11-30 16:12:20,256 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\core.py +2024-11-30 16:12:20,256 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\core.cpython-39.pyc' +2024-11-30 16:12:20,256 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\cmd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\cmd.py +2024-11-30 16:12:20,256 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\cmd.cpython-39.pyc' +2024-11-30 16:12:20,257 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\_modified.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\_modified.py +2024-11-30 16:12:20,257 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\_modified.cpython-39.pyc' +2024-11-30 16:12:20,258 - api.main - INFO - STDERR: # possible namespace for e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco +2024-11-30 16:12:20,258 - api.main - INFO - STDERR: import 'jaraco' # <_frozen_importlib_external._NamespaceLoader object at 0x000001EF91B367C0> +2024-11-30 16:12:20,258 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\functools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\functools\__init__.py +2024-11-30 16:12:20,258 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\functools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,259 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__init__.py +2024-11-30 16:12:20,259 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,260 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\more.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\more.py +2024-11-30 16:12:20,260 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\more.cpython-39.pyc' +2024-11-30 16:12:20,261 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\queue.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\queue.py +2024-11-30 16:12:20,261 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\queue.cpython-39.pyc' +2024-11-30 16:12:20,262 - api.main - INFO - STDERR: # extension module '_queue' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_queue.pyd' +2024-11-30 16:12:20,262 - api.main - INFO - STDERR: # extension module '_queue' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_queue.pyd' +2024-11-30 16:12:20,262 - api.main - INFO - STDERR: import '_queue' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001EF91B6A9D0> +2024-11-30 16:12:20,262 - api.main - INFO - STDERR: import 'queue' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91B5FD00> +2024-11-30 16:12:20,263 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\recipes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\recipes.py +2024-11-30 16:12:20,263 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\recipes.cpython-39.pyc' +2024-11-30 16:12:20,263 - api.main - INFO - STDERR: import 'more_itertools.recipes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91B6A940> +2024-11-30 16:12:20,263 - api.main - INFO - STDERR: import 'more_itertools.more' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91B3CBE0> +2024-11-30 16:12:20,263 - api.main - INFO - STDERR: import 'more_itertools' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91B3C940> +2024-11-30 16:12:20,263 - api.main - INFO - STDERR: import 'jaraco.functools' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91B369D0> +2024-11-30 16:12:20,263 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__init__.py +2024-11-30 16:12:20,264 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,264 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\py38.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\py38.py +2024-11-30 16:12:20,264 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\py38.cpython-39.pyc' +2024-11-30 16:12:20,264 - api.main - INFO - STDERR: import 'distutils.compat.py38' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91B98370> +2024-11-30 16:12:20,264 - api.main - INFO - STDERR: import 'distutils.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91B77FD0> +2024-11-30 16:12:20,264 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\py39.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\py39.py +2024-11-30 16:12:20,264 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\py39.cpython-39.pyc' +2024-11-30 16:12:20,279 - api.main - INFO - STDERR: import 'distutils.compat.py39' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91B55DF0> +2024-11-30 16:12:20,280 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\errors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\errors.py +2024-11-30 16:12:20,280 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 16:12:20,280 - api.main - INFO - STDERR: import 'distutils.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91B984F0> +2024-11-30 16:12:20,280 - api.main - INFO - STDERR: import 'distutils._modified' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91B36370> +2024-11-30 16:12:20,280 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\archive_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\archive_util.py +2024-11-30 16:12:20,280 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\archive_util.cpython-39.pyc' +2024-11-30 16:12:20,281 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\_log.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\_log.py +2024-11-30 16:12:20,281 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\_log.cpython-39.pyc' +2024-11-30 16:12:20,281 - api.main - INFO - STDERR: import 'distutils._log' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91B98C40> +2024-11-30 16:12:20,281 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\dir_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\dir_util.py +2024-11-30 16:12:20,281 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\dir_util.cpython-39.pyc' +2024-11-30 16:12:20,281 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\file_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\file_util.py +2024-11-30 16:12:20,281 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\file_util.cpython-39.pyc' +2024-11-30 16:12:20,281 - api.main - INFO - STDERR: import 'distutils.file_util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91BA6340> +2024-11-30 16:12:20,281 - api.main - INFO - STDERR: import 'distutils.dir_util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91B98CD0> +2024-11-30 16:12:20,282 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\spawn.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\spawn.py +2024-11-30 16:12:20,282 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\spawn.cpython-39.pyc' +2024-11-30 16:12:20,282 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\debug.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\debug.py +2024-11-30 16:12:20,282 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\debug.cpython-39.pyc' +2024-11-30 16:12:20,283 - api.main - INFO - STDERR: import 'distutils.debug' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91BA69D0> +2024-11-30 16:12:20,283 - api.main - INFO - STDERR: import 'distutils.spawn' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91BA6670> +2024-11-30 16:12:20,284 - api.main - INFO - STDERR: import 'distutils.archive_util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91B36610> +2024-11-30 16:12:20,284 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\util.py +2024-11-30 16:12:20,284 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\util.cpython-39.pyc' +2024-11-30 16:12:20,285 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sysconfig.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sysconfig.py +2024-11-30 16:12:20,285 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sysconfig.cpython-39.pyc' +2024-11-30 16:12:20,286 - api.main - INFO - STDERR: import 'sysconfig' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91BA6EB0> +2024-11-30 16:12:20,286 - api.main - INFO - STDERR: import 'distutils.util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91B98640> +2024-11-30 16:12:20,286 - api.main - INFO - STDERR: import 'distutils.cmd' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91B21910> +2024-11-30 16:12:20,286 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\dist.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\dist.py +2024-11-30 16:12:20,286 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\dist.cpython-39.pyc' +2024-11-30 16:12:20,286 - api.main - INFO - STDERR: # destroy distutils.dist +2024-11-30 16:12:20,287 - api.main - INFO - STDERR: # destroy distutils.core +2024-11-30 16:12:20,287 - api.main - INFO - STDERR: # destroy _distutils_hack.override +2024-11-30 16:12:20,287 - api.main - INFO - STDERR: # destroy setuptools +2024-11-30 16:12:20,287 - api.main - INFO - STDERR: import 'distutils' # <_distutils_hack.DistutilsMetaFinder.spec_for_distutils..DistutilsLoader object at 0x000001EF91B212B0> +2024-11-30 16:12:20,287 - api.main - INFO - STDERR: import 'packaging.tags' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91B09550> +2024-11-30 16:12:20,287 - api.main - INFO - STDERR: import 'packaging.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91B092B0> +2024-11-30 16:12:20,293 - api.main - INFO - STDERR: import 'packaging.specifiers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91AF5E50> +2024-11-30 16:12:20,295 - api.main - INFO - STDERR: import 'packaging.markers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9186CB20> +2024-11-30 16:12:20,295 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\requirements.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\requirements.py +2024-11-30 16:12:20,295 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\requirements.cpython-39.pyc' +2024-11-30 16:12:20,302 - api.main - INFO - STDERR: import 'packaging.requirements' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9186CD30> +2024-11-30 16:12:20,303 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\text\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\text\__init__.py +2024-11-30 16:12:20,303 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\text\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,304 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\resources.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\resources.py +2024-11-30 16:12:20,304 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\resources.cpython-39.pyc' +2024-11-30 16:12:20,305 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\_common.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\_common.py +2024-11-30 16:12:20,305 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\_common.cpython-39.pyc' +2024-11-30 16:12:20,306 - api.main - INFO - STDERR: import 'importlib._common' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91C114F0> +2024-11-30 16:12:20,306 - api.main - INFO - STDERR: import 'importlib.resources' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91B20DF0> +2024-11-30 16:12:20,306 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\__pycache__\context.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\context.py +2024-11-30 16:12:20,306 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\__pycache__\\context.cpython-39.pyc' +2024-11-30 16:12:20,307 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\__init__.py +2024-11-30 16:12:20,307 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,308 - api.main - INFO - STDERR: import 'backports' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91C181C0> +2024-11-30 16:12:20,308 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\__init__.py +2024-11-30 16:12:20,309 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,310 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__init__.py +2024-11-30 16:12:20,310 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\compat\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,310 - api.main - INFO - STDERR: import 'backports.tarfile.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91BCD1F0> +2024-11-30 16:12:20,310 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__pycache__\py38.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\py38.py +2024-11-30 16:12:20,310 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\compat\\__pycache__\\py38.cpython-39.pyc' +2024-11-30 16:12:20,310 - api.main - INFO - STDERR: import 'backports.tarfile.compat.py38' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91B20100> +2024-11-30 16:12:20,311 - api.main - INFO - STDERR: import 'backports.tarfile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91C18340> +2024-11-30 16:12:20,311 - api.main - INFO - STDERR: import 'jaraco.context' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91C11A30> +2024-11-30 16:12:20,312 - api.main - INFO - STDERR: import 'jaraco.text' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91B21220> +2024-11-30 16:12:20,313 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__init__.py +2024-11-30 16:12:20,314 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,314 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\api.py +2024-11-30 16:12:20,314 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\api.cpython-39.pyc' +2024-11-30 16:12:20,314 - api.main - INFO - STDERR: import 'platformdirs.api' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91C4B7C0> +2024-11-30 16:12:20,314 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\version.py +2024-11-30 16:12:20,315 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\version.cpython-39.pyc' +2024-11-30 16:12:20,315 - api.main - INFO - STDERR: import 'platformdirs.version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91C53A30> +2024-11-30 16:12:20,315 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\windows.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\windows.py +2024-11-30 16:12:20,315 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\windows.cpython-39.pyc' +2024-11-30 16:12:20,315 - api.main - INFO - STDERR: import 'platformdirs.windows' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91C53AC0> +2024-11-30 16:12:20,315 - api.main - INFO - STDERR: import 'platformdirs' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91C3E790> +2024-11-30 16:12:20,351 - api.main - INFO - STDERR: import 'pkg_resources' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF911C9970> +2024-11-30 16:12:20,351 - api.main - INFO - STDERR: import 'adbutils._utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9115A520> +2024-11-30 16:12:20,351 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\errors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\errors.py +2024-11-30 16:12:20,351 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 16:12:20,351 - api.main - INFO - STDERR: import 'adbutils.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9117C670> +2024-11-30 16:12:20,352 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_proto.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_proto.py +2024-11-30 16:12:20,352 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_proto.cpython-39.pyc' +2024-11-30 16:12:20,352 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\dataclasses.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\dataclasses.py +2024-11-30 16:12:20,353 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\dataclasses.cpython-39.pyc' +2024-11-30 16:12:20,353 - api.main - INFO - STDERR: import 'dataclasses' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9183A0D0> +2024-11-30 16:12:20,356 - api.main - INFO - STDERR: import 'adbutils._proto' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91834520> +2024-11-30 16:12:20,356 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_version.py +2024-11-30 16:12:20,356 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 16:12:20,357 - api.main - INFO - STDERR: import 'adbutils._version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91834700> +2024-11-30 16:12:20,357 - api.main - INFO - STDERR: import 'adbutils._adb' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9108F370> +2024-11-30 16:12:20,357 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_device.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_device.py +2024-11-30 16:12:20,358 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_device.cpython-39.pyc' +2024-11-30 16:12:20,358 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__init__.py +2024-11-30 16:12:20,358 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,359 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__init__.py +2024-11-30 16:12:20,360 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,360 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\exceptions.py +2024-11-30 16:12:20,360 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 16:12:20,360 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__init__.py +2024-11-30 16:12:20,360 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\packages\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,360 - api.main - INFO - STDERR: import 'urllib3.packages' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91CE9820> +2024-11-30 16:12:20,360 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__pycache__\six.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\six.py +2024-11-30 16:12:20,360 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\packages\\__pycache__\\six.cpython-39.pyc' +2024-11-30 16:12:20,361 - api.main - INFO - STDERR: import 'urllib3.packages.six' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91CE9850> +2024-11-30 16:12:20,361 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves' # +2024-11-30 16:12:20,361 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.http_client' # +2024-11-30 16:12:20,361 - api.main - INFO - STDERR: import 'urllib3.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91CE0760> +2024-11-30 16:12:20,362 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\_version.py +2024-11-30 16:12:20,362 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 16:12:20,362 - api.main - INFO - STDERR: import 'urllib3._version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91CE0940> +2024-11-30 16:12:20,362 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\connectionpool.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\connectionpool.py +2024-11-30 16:12:20,363 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\connectionpool.cpython-39.pyc' +2024-11-30 16:12:20,364 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\_collections.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\_collections.py +2024-11-30 16:12:20,364 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\_collections.cpython-39.pyc' +2024-11-30 16:12:20,364 - api.main - INFO - STDERR: import 'urllib3._collections' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91CF5760> +2024-11-30 16:12:20,364 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\connection.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\connection.py +2024-11-30 16:12:20,364 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\connection.cpython-39.pyc' +2024-11-30 16:12:20,365 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__init__.py +2024-11-30 16:12:20,365 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,365 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\connection.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\connection.py +2024-11-30 16:12:20,365 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\connection.cpython-39.pyc' +2024-11-30 16:12:20,366 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__init__.py +2024-11-30 16:12:20,366 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,366 - api.main - INFO - STDERR: import 'urllib3.contrib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91D14FD0> +2024-11-30 16:12:20,366 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\_appengine_environ.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\_appengine_environ.py +2024-11-30 16:12:20,366 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\_appengine_environ.cpython-39.pyc' +2024-11-30 16:12:20,366 - api.main - INFO - STDERR: import 'urllib3.contrib._appengine_environ' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91D20190> +2024-11-30 16:12:20,366 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\wait.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\wait.py +2024-11-30 16:12:20,366 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\wait.cpython-39.pyc' +2024-11-30 16:12:20,367 - api.main - INFO - STDERR: import 'urllib3.util.wait' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91D20340> +2024-11-30 16:12:20,367 - api.main - INFO - STDERR: import 'urllib3.util.connection' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91D14C40> +2024-11-30 16:12:20,367 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\request.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\request.py +2024-11-30 16:12:20,367 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\request.cpython-39.pyc' +2024-11-30 16:12:20,368 - api.main - INFO - STDERR: import 'urllib3.util.request' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91D14E20> +2024-11-30 16:12:20,369 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\response.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\response.py +2024-11-30 16:12:20,369 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\response.cpython-39.pyc' +2024-11-30 16:12:20,369 - api.main - INFO - STDERR: import 'urllib3.util.response' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91D20760> +2024-11-30 16:12:20,370 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\retry.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\retry.py +2024-11-30 16:12:20,370 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\retry.cpython-39.pyc' +2024-11-30 16:12:20,370 - api.main - INFO - STDERR: import 'urllib3.util.retry' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91D20850> +2024-11-30 16:12:20,370 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssl_.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssl_.py +2024-11-30 16:12:20,371 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssl_.cpython-39.pyc' +2024-11-30 16:12:20,371 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\hmac.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\hmac.py +2024-11-30 16:12:20,371 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\hmac.cpython-39.pyc' +2024-11-30 16:12:20,371 - api.main - INFO - STDERR: import 'hmac' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91D2CA30> +2024-11-30 16:12:20,372 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\url.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\url.py +2024-11-30 16:12:20,372 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\url.cpython-39.pyc' +2024-11-30 16:12:20,383 - api.main - INFO - STDERR: import 'urllib3.util.url' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91D3A280> +2024-11-30 16:12:20,383 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssltransport.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssltransport.py +2024-11-30 16:12:20,383 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssltransport.cpython-39.pyc' +2024-11-30 16:12:20,383 - api.main - INFO - STDERR: import 'urllib3.util.ssltransport' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91D3ADC0> +2024-11-30 16:12:20,383 - api.main - INFO - STDERR: import 'urllib3.util.ssl_' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91D2C520> +2024-11-30 16:12:20,384 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\timeout.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\timeout.py +2024-11-30 16:12:20,384 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\timeout.cpython-39.pyc' +2024-11-30 16:12:20,384 - api.main - INFO - STDERR: import 'urllib3.util.timeout' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91D2C820> +2024-11-30 16:12:20,384 - api.main - INFO - STDERR: import 'urllib3.util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91D14940> +2024-11-30 16:12:20,384 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\proxy.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\proxy.py +2024-11-30 16:12:20,384 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\proxy.cpython-39.pyc' +2024-11-30 16:12:20,384 - api.main - INFO - STDERR: import 'urllib3.util.proxy' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91D149A0> +2024-11-30 16:12:20,384 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssl_match_hostname.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssl_match_hostname.py +2024-11-30 16:12:20,384 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssl_match_hostname.cpython-39.pyc' +2024-11-30 16:12:20,385 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ipaddress.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ipaddress.py +2024-11-30 16:12:20,385 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ipaddress.cpython-39.pyc' +2024-11-30 16:12:20,386 - api.main - INFO - STDERR: import 'ipaddress' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91D52940> +2024-11-30 16:12:20,386 - api.main - INFO - STDERR: import 'urllib3.util.ssl_match_hostname' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91D146A0> +2024-11-30 16:12:20,386 - api.main - INFO - STDERR: import 'urllib3.connection' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91D045B0> +2024-11-30 16:12:20,387 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\request.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\request.py +2024-11-30 16:12:20,387 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\request.cpython-39.pyc' +2024-11-30 16:12:20,388 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\filepost.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\filepost.py +2024-11-30 16:12:20,388 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\filepost.cpython-39.pyc' +2024-11-30 16:12:20,388 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\fields.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\fields.py +2024-11-30 16:12:20,388 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\fields.cpython-39.pyc' +2024-11-30 16:12:20,389 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\mimetypes.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\mimetypes.py +2024-11-30 16:12:20,389 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\mimetypes.cpython-39.pyc' +2024-11-30 16:12:20,389 - api.main - INFO - STDERR: import 'mimetypes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91D8A2E0> +2024-11-30 16:12:20,389 - api.main - INFO - STDERR: import 'urllib3.fields' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91D86D00> +2024-11-30 16:12:20,389 - api.main - INFO - STDERR: import 'urllib3.filepost' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91D868E0> +2024-11-30 16:12:20,390 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.urllib' # +2024-11-30 16:12:20,390 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.urllib.parse' # +2024-11-30 16:12:20,390 - api.main - INFO - STDERR: import 'urllib3.request' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91D14610> +2024-11-30 16:12:20,390 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\response.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\response.py +2024-11-30 16:12:20,390 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\response.cpython-39.pyc' +2024-11-30 16:12:20,391 - api.main - INFO - STDERR: import 'urllib3.response' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91D60FA0> +2024-11-30 16:12:20,392 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\queue.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\queue.py +2024-11-30 16:12:20,392 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\queue.cpython-39.pyc' +2024-11-30 16:12:20,392 - api.main - INFO - STDERR: import 'urllib3.util.queue' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91D8A730> +2024-11-30 16:12:20,392 - api.main - INFO - STDERR: import 'urllib3.connectionpool' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91CE0A90> +2024-11-30 16:12:20,392 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\poolmanager.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\poolmanager.py +2024-11-30 16:12:20,392 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\poolmanager.cpython-39.pyc' +2024-11-30 16:12:20,393 - api.main - INFO - STDERR: import 'urllib3.poolmanager' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91D9B2B0> +2024-11-30 16:12:20,394 - api.main - INFO - STDERR: import 'urllib3' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91CE0220> +2024-11-30 16:12:20,394 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\exceptions.py +2024-11-30 16:12:20,394 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 16:12:20,394 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\compat.py +2024-11-30 16:12:20,395 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\compat.cpython-39.pyc' +2024-11-30 16:12:20,396 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__init__.py +2024-11-30 16:12:20,396 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,396 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\api.py +2024-11-30 16:12:20,396 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\api.cpython-39.pyc' +2024-11-30 16:12:20,397 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\cd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\cd.py +2024-11-30 16:12:20,397 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\cd.cpython-39.pyc' +2024-11-30 16:12:20,397 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\constant.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\constant.py +2024-11-30 16:12:20,398 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\constant.cpython-39.pyc' +2024-11-30 16:12:20,399 - api.main - INFO - STDERR: import 'charset_normalizer.constant' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91DB5790> +2024-11-30 16:12:20,400 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md__mypyc' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md__mypyc.cp39-win_amd64.pyd' +2024-11-30 16:12:20,400 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md__mypyc' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md__mypyc.cp39-win_amd64.pyd' +2024-11-30 16:12:20,401 - api.main - INFO - STDERR: import 'charset_normalizer.md__mypyc' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001EF91DDAE80> +2024-11-30 16:12:20,401 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\utils.py +2024-11-30 16:12:20,401 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 16:12:20,402 - api.main - INFO - STDERR: # extension module 'unicodedata' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\unicodedata.pyd' +2024-11-30 16:12:20,402 - api.main - INFO - STDERR: # extension module 'unicodedata' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\unicodedata.pyd' +2024-11-30 16:12:20,402 - api.main - INFO - STDERR: import 'unicodedata' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001EF91DE0730> +2024-11-30 16:12:20,402 - api.main - INFO - STDERR: import '_multibytecodec' # +2024-11-30 16:12:20,402 - api.main - INFO - STDERR: import 'charset_normalizer.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91DDABB0> +2024-11-30 16:12:20,402 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md.cp39-win_amd64.pyd' +2024-11-30 16:12:20,402 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md.cp39-win_amd64.pyd' +2024-11-30 16:12:20,402 - api.main - INFO - STDERR: import 'charset_normalizer.md' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001EF91DDABE0> +2024-11-30 16:12:20,403 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\models.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\models.py +2024-11-30 16:12:20,403 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\models.cpython-39.pyc' +2024-11-30 16:12:20,403 - api.main - INFO - STDERR: import 'charset_normalizer.models' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91DE0FA0> +2024-11-30 16:12:20,403 - api.main - INFO - STDERR: import 'charset_normalizer.cd' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91DB5100> +2024-11-30 16:12:20,403 - api.main - INFO - STDERR: import 'charset_normalizer.api' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91D9BA90> +2024-11-30 16:12:20,404 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\legacy.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\legacy.py +2024-11-30 16:12:20,404 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\legacy.cpython-39.pyc' +2024-11-30 16:12:20,404 - api.main - INFO - STDERR: import 'charset_normalizer.legacy' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91DF2340> +2024-11-30 16:12:20,405 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\version.py +2024-11-30 16:12:20,405 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\version.cpython-39.pyc' +2024-11-30 16:12:20,405 - api.main - INFO - STDERR: import 'charset_normalizer.version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91DF23D0> +2024-11-30 16:12:20,405 - api.main - INFO - STDERR: import 'charset_normalizer' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91D9BD30> +2024-11-30 16:12:20,406 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\cookiejar.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\cookiejar.py +2024-11-30 16:12:20,406 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\cookiejar.cpython-39.pyc' +2024-11-30 16:12:20,409 - api.main - INFO - STDERR: import 'http.cookiejar' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91DF2400> +2024-11-30 16:12:20,410 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\cookies.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\cookies.py +2024-11-30 16:12:20,410 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\cookies.cpython-39.pyc' +2024-11-30 16:12:20,412 - api.main - INFO - STDERR: import 'http.cookies' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91E465B0> +2024-11-30 16:12:20,412 - api.main - INFO - STDERR: import 'requests.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91D9BEE0> +2024-11-30 16:12:20,412 - api.main - INFO - STDERR: import 'requests.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91DA63D0> +2024-11-30 16:12:20,413 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\packages.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\packages.py +2024-11-30 16:12:20,413 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\packages.cpython-39.pyc' +2024-11-30 16:12:20,415 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__init__.py +2024-11-30 16:12:20,415 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,415 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\core.py +2024-11-30 16:12:20,415 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\core.cpython-39.pyc' +2024-11-30 16:12:20,415 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\idnadata.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\idnadata.py +2024-11-30 16:12:20,415 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\idnadata.cpython-39.pyc' +2024-11-30 16:12:20,415 - api.main - INFO - STDERR: import 'idna.idnadata' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91E62850> +2024-11-30 16:12:20,416 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\intranges.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\intranges.py +2024-11-30 16:12:20,416 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\intranges.cpython-39.pyc' +2024-11-30 16:12:20,416 - api.main - INFO - STDERR: import 'idna.intranges' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91E628E0> +2024-11-30 16:12:20,417 - api.main - INFO - STDERR: import 'idna.core' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91E62100> +2024-11-30 16:12:20,417 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\package_data.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\package_data.py +2024-11-30 16:12:20,417 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\package_data.cpython-39.pyc' +2024-11-30 16:12:20,417 - api.main - INFO - STDERR: import 'idna.package_data' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91E62580> +2024-11-30 16:12:20,417 - api.main - INFO - STDERR: import 'idna' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91DA60A0> +2024-11-30 16:12:20,417 - api.main - INFO - STDERR: import 'requests.packages' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91DA65B0> +2024-11-30 16:12:20,418 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\utils.py +2024-11-30 16:12:20,418 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 16:12:20,418 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\certs.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\certs.py +2024-11-30 16:12:20,418 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\certs.cpython-39.pyc' +2024-11-30 16:12:20,418 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__init__.py +2024-11-30 16:12:20,418 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\certifi\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,420 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\core.py +2024-11-30 16:12:20,420 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\certifi\\__pycache__\\core.cpython-39.pyc' +2024-11-30 16:12:20,420 - api.main - INFO - STDERR: import 'certifi.core' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91E997C0> +2024-11-30 16:12:20,420 - api.main - INFO - STDERR: import 'certifi' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91E99550> +2024-11-30 16:12:20,420 - api.main - INFO - STDERR: import 'requests.certs' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91E99340> +2024-11-30 16:12:20,420 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\__version__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__version__.py +2024-11-30 16:12:20,420 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\__version__.cpython-39.pyc' +2024-11-30 16:12:20,420 - api.main - INFO - STDERR: import 'requests.__version__' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91E994C0> +2024-11-30 16:12:20,420 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\_internal_utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\_internal_utils.py +2024-11-30 16:12:20,420 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\_internal_utils.cpython-39.pyc' +2024-11-30 16:12:20,420 - api.main - INFO - STDERR: import 'requests._internal_utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91E993D0> +2024-11-30 16:12:20,421 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\cookies.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\cookies.py +2024-11-30 16:12:20,421 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\cookies.cpython-39.pyc' +2024-11-30 16:12:20,421 - api.main - INFO - STDERR: import 'requests.cookies' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91E995E0> +2024-11-30 16:12:20,421 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\structures.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\structures.py +2024-11-30 16:12:20,421 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\structures.cpython-39.pyc' +2024-11-30 16:12:20,421 - api.main - INFO - STDERR: import 'requests.structures' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91EA19D0> +2024-11-30 16:12:20,422 - api.main - INFO - STDERR: import 'requests.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91DA67F0> +2024-11-30 16:12:20,422 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\api.py +2024-11-30 16:12:20,422 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\api.cpython-39.pyc' +2024-11-30 16:12:20,423 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\sessions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\sessions.py +2024-11-30 16:12:20,423 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\sessions.cpython-39.pyc' +2024-11-30 16:12:20,423 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\adapters.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\adapters.py +2024-11-30 16:12:20,423 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\adapters.cpython-39.pyc' +2024-11-30 16:12:20,424 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\auth.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\auth.py +2024-11-30 16:12:20,424 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\auth.cpython-39.pyc' +2024-11-30 16:12:20,424 - api.main - INFO - STDERR: import 'requests.auth' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91EB97C0> +2024-11-30 16:12:20,424 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\models.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\models.py +2024-11-30 16:12:20,424 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\models.cpython-39.pyc' +2024-11-30 16:12:20,425 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\idna.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\idna.py +2024-11-30 16:12:20,425 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\idna.cpython-39.pyc' +2024-11-30 16:12:20,426 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\stringprep.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\stringprep.py +2024-11-30 16:12:20,426 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\stringprep.cpython-39.pyc' +2024-11-30 16:12:20,426 - api.main - INFO - STDERR: import 'stringprep' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91ED51F0> +2024-11-30 16:12:20,426 - api.main - INFO - STDERR: import 'encodings.idna' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91EC8D60> +2024-11-30 16:12:20,427 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\hooks.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\hooks.py +2024-11-30 16:12:20,427 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\hooks.cpython-39.pyc' +2024-11-30 16:12:20,427 - api.main - INFO - STDERR: import 'requests.hooks' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91EC8F70> +2024-11-30 16:12:20,427 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\status_codes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\status_codes.py +2024-11-30 16:12:20,427 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\status_codes.cpython-39.pyc' +2024-11-30 16:12:20,427 - api.main - INFO - STDERR: import 'requests.status_codes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91ED5820> +2024-11-30 16:12:20,428 - api.main - INFO - STDERR: import 'requests.models' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91EB9E80> +2024-11-30 16:12:20,428 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\socks.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\socks.py +2024-11-30 16:12:20,428 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\socks.cpython-39.pyc' +2024-11-30 16:12:20,429 - api.main - INFO - STDERR: # destroy urllib3.contrib.socks +2024-11-30 16:12:20,429 - api.main - INFO - STDERR: import 'requests.adapters' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91EADEB0> +2024-11-30 16:12:20,429 - api.main - INFO - STDERR: import 'requests.sessions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91EAD460> +2024-11-30 16:12:20,429 - api.main - INFO - STDERR: import 'requests.api' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91EAD100> +2024-11-30 16:12:20,430 - api.main - INFO - STDERR: import 'requests' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91CCFEE0> +2024-11-30 16:12:20,430 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__init__.py +2024-11-30 16:12:20,430 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,431 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_version.py +2024-11-30 16:12:20,431 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 16:12:20,431 - api.main - INFO - STDERR: import 'PIL._version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91EB95E0> +2024-11-30 16:12:20,431 - api.main - INFO - STDERR: import 'PIL' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91EAD280> +2024-11-30 16:12:20,431 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\Image.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\Image.py +2024-11-30 16:12:20,431 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\Image.cpython-39.pyc' +2024-11-30 16:12:20,433 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\ExifTags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\ExifTags.py +2024-11-30 16:12:20,433 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\ExifTags.cpython-39.pyc' +2024-11-30 16:12:20,439 - api.main - INFO - STDERR: import 'PIL.ExifTags' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91F19910> +2024-11-30 16:12:20,440 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\ImageMode.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\ImageMode.py +2024-11-30 16:12:20,440 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\ImageMode.cpython-39.pyc' +2024-11-30 16:12:20,440 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_deprecate.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_deprecate.py +2024-11-30 16:12:20,440 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_deprecate.cpython-39.pyc' +2024-11-30 16:12:20,440 - api.main - INFO - STDERR: import 'PIL._deprecate' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91F34E80> +2024-11-30 16:12:20,440 - api.main - INFO - STDERR: import 'PIL.ImageMode' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91F19940> +2024-11-30 16:12:20,441 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\TiffTags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\TiffTags.py +2024-11-30 16:12:20,441 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\TiffTags.cpython-39.pyc' +2024-11-30 16:12:20,442 - api.main - INFO - STDERR: import 'PIL.TiffTags' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91F3BA30> +2024-11-30 16:12:20,442 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_binary.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_binary.py +2024-11-30 16:12:20,442 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_binary.cpython-39.pyc' +2024-11-30 16:12:20,442 - api.main - INFO - STDERR: import 'PIL._binary' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91F3BDC0> +2024-11-30 16:12:20,443 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_util.py +2024-11-30 16:12:20,443 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_util.cpython-39.pyc' +2024-11-30 16:12:20,443 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_typing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_typing.py +2024-11-30 16:12:20,444 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_typing.cpython-39.pyc' +2024-11-30 16:12:20,444 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\typing_extensions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\typing_extensions.py +2024-11-30 16:12:20,445 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\typing_extensions.cpython-39.pyc' +2024-11-30 16:12:20,446 - api.main - INFO - STDERR: import 'typing_extensions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91F4FCA0> +2024-11-30 16:12:20,446 - api.main - INFO - STDERR: import 'PIL._typing' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91F4F820> +2024-11-30 16:12:20,446 - api.main - INFO - STDERR: import 'PIL._util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91F4F3D0> +2024-11-30 16:12:20,447 - api.main - INFO - STDERR: # extension module 'PIL._imaging' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\_imaging.cp39-win_amd64.pyd' +2024-11-30 16:12:20,448 - api.main - INFO - STDERR: # extension module 'PIL._imaging' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\_imaging.cp39-win_amd64.pyd' +2024-11-30 16:12:20,448 - api.main - INFO - STDERR: import 'PIL._imaging' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001EF91F4FEB0> +2024-11-30 16:12:20,448 - api.main - INFO - STDERR: import 'PIL.Image' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91EADC70> +2024-11-30 16:12:20,450 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__init__.py +2024-11-30 16:12:20,450 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,450 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py +2024-11-30 16:12:20,450 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\api.cpython-39.pyc' +2024-11-30 16:12:20,450 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\compat.py +2024-11-30 16:12:20,451 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\compat.cpython-39.pyc' +2024-11-30 16:12:20,451 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\decorator.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\decorator.py +2024-11-30 16:12:20,451 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\decorator.cpython-39.pyc' +2024-11-30 16:12:20,452 - api.main - INFO - STDERR: import 'decorator' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91F6BA60> +2024-11-30 16:12:20,452 - api.main - INFO - STDERR: import 'retry.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91F6B1C0> +2024-11-30 16:12:20,452 - api.main - INFO - STDERR: import 'retry.api' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91F635B0> +2024-11-30 16:12:20,452 - api.main - INFO - STDERR: import 'retry' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91EAD1F0> +2024-11-30 16:12:20,453 - api.main - INFO - STDERR: import 'adbutils._device' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF91CB91C0> +2024-11-30 16:12:20,453 - api.main - INFO - STDERR: import 'adbutils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF910E8D00> +2024-11-30 16:12:20,453 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__init__.py +2024-11-30 16:12:20,453 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,454 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_api.py +2024-11-30 16:12:20,455 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_api.cpython-39.pyc' +2024-11-30 16:12:20,455 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_error.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_error.py +2024-11-30 16:12:20,455 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_error.cpython-39.pyc' +2024-11-30 16:12:20,455 - api.main - INFO - STDERR: import 'filelock._error' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92123220> +2024-11-30 16:12:20,456 - api.main - INFO - STDERR: import 'filelock._api' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92109820> +2024-11-30 16:12:20,457 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_soft.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_soft.py +2024-11-30 16:12:20,457 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_soft.cpython-39.pyc' +2024-11-30 16:12:20,457 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_util.py +2024-11-30 16:12:20,457 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_util.cpython-39.pyc' +2024-11-30 16:12:20,457 - api.main - INFO - STDERR: import 'filelock._util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92123FD0> +2024-11-30 16:12:20,457 - api.main - INFO - STDERR: import 'filelock._soft' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF921235E0> +2024-11-30 16:12:20,457 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_unix.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_unix.py +2024-11-30 16:12:20,457 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_unix.cpython-39.pyc' +2024-11-30 16:12:20,458 - api.main - INFO - STDERR: import 'filelock._unix' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92123F10> +2024-11-30 16:12:20,458 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_windows.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_windows.py +2024-11-30 16:12:20,458 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_windows.cpython-39.pyc' +2024-11-30 16:12:20,458 - api.main - INFO - STDERR: import 'filelock._windows' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF921239A0> +2024-11-30 16:12:20,458 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\asyncio.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\asyncio.py +2024-11-30 16:12:20,458 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\asyncio.cpython-39.pyc' +2024-11-30 16:12:20,459 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__init__.py +2024-11-30 16:12:20,459 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,461 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_events.py +2024-11-30 16:12:20,461 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_events.cpython-39.pyc' +2024-11-30 16:12:20,462 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\__init__.py +2024-11-30 16:12:20,462 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,462 - api.main - INFO - STDERR: import 'concurrent' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9214C7F0> +2024-11-30 16:12:20,462 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__init__.py +2024-11-30 16:12:20,462 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\futures\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,463 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__pycache__\_base.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\_base.py +2024-11-30 16:12:20,463 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\futures\\__pycache__\\_base.cpython-39.pyc' +2024-11-30 16:12:20,463 - api.main - INFO - STDERR: import 'concurrent.futures._base' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9214CAF0> +2024-11-30 16:12:20,463 - api.main - INFO - STDERR: import 'concurrent.futures' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9214C820> +2024-11-30 16:12:20,464 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\constants.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\constants.py +2024-11-30 16:12:20,464 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\constants.cpython-39.pyc' +2024-11-30 16:12:20,464 - api.main - INFO - STDERR: import 'asyncio.constants' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9214C8E0> +2024-11-30 16:12:20,464 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\coroutines.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\coroutines.py +2024-11-30 16:12:20,465 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\coroutines.cpython-39.pyc' +2024-11-30 16:12:20,465 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_futures.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_futures.py +2024-11-30 16:12:20,465 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_futures.cpython-39.pyc' +2024-11-30 16:12:20,466 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\format_helpers.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\format_helpers.py +2024-11-30 16:12:20,466 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\format_helpers.cpython-39.pyc' +2024-11-30 16:12:20,466 - api.main - INFO - STDERR: import 'asyncio.format_helpers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92166D90> +2024-11-30 16:12:20,466 - api.main - INFO - STDERR: import 'asyncio.base_futures' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92166A30> +2024-11-30 16:12:20,467 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\log.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\log.py +2024-11-30 16:12:20,467 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\log.cpython-39.pyc' +2024-11-30 16:12:20,467 - api.main - INFO - STDERR: import 'asyncio.log' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92166DC0> +2024-11-30 16:12:20,467 - api.main - INFO - STDERR: import 'asyncio.coroutines' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9214C670> +2024-11-30 16:12:20,467 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\events.py +2024-11-30 16:12:20,467 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\events.cpython-39.pyc' +2024-11-30 16:12:20,468 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\contextvars.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\contextvars.py +2024-11-30 16:12:20,468 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\contextvars.cpython-39.pyc' +2024-11-30 16:12:20,468 - api.main - INFO - STDERR: import '_contextvars' # +2024-11-30 16:12:20,468 - api.main - INFO - STDERR: import 'contextvars' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9217E1F0> +2024-11-30 16:12:20,470 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\exceptions.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\exceptions.py +2024-11-30 16:12:20,470 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 16:12:20,470 - api.main - INFO - STDERR: import 'asyncio.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9217E7C0> +2024-11-30 16:12:20,471 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_tasks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_tasks.py +2024-11-30 16:12:20,472 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_tasks.cpython-39.pyc' +2024-11-30 16:12:20,472 - api.main - INFO - STDERR: import 'asyncio.base_tasks' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9217EC10> +2024-11-30 16:12:20,472 - api.main - INFO - STDERR: # extension module '_asyncio' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_asyncio.pyd' +2024-11-30 16:12:20,472 - api.main - INFO - STDERR: # extension module '_asyncio' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_asyncio.pyd' +2024-11-30 16:12:20,472 - api.main - INFO - STDERR: import '_asyncio' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001EF9217E580> +2024-11-30 16:12:20,472 - api.main - INFO - STDERR: import 'asyncio.events' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92166820> +2024-11-30 16:12:20,473 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\futures.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\futures.py +2024-11-30 16:12:20,473 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\futures.cpython-39.pyc' +2024-11-30 16:12:20,473 - api.main - INFO - STDERR: import 'asyncio.futures' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9217E3A0> +2024-11-30 16:12:20,473 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\protocols.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\protocols.py +2024-11-30 16:12:20,473 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\protocols.cpython-39.pyc' +2024-11-30 16:12:20,473 - api.main - INFO - STDERR: import 'asyncio.protocols' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9218F310> +2024-11-30 16:12:20,474 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\sslproto.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\sslproto.py +2024-11-30 16:12:20,474 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\sslproto.cpython-39.pyc' +2024-11-30 16:12:20,474 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\transports.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\transports.py +2024-11-30 16:12:20,474 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\transports.cpython-39.pyc' +2024-11-30 16:12:20,474 - api.main - INFO - STDERR: import 'asyncio.transports' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF921999D0> +2024-11-30 16:12:20,475 - api.main - INFO - STDERR: import 'asyncio.sslproto' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9218F9A0> +2024-11-30 16:12:20,475 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\staggered.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\staggered.py +2024-11-30 16:12:20,475 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\staggered.cpython-39.pyc' +2024-11-30 16:12:20,476 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\locks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\locks.py +2024-11-30 16:12:20,476 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\locks.cpython-39.pyc' +2024-11-30 16:12:20,476 - api.main - INFO - STDERR: import 'asyncio.locks' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF921B59D0> +2024-11-30 16:12:20,477 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\tasks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\tasks.py +2024-11-30 16:12:20,477 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\tasks.cpython-39.pyc' +2024-11-30 16:12:20,477 - api.main - INFO - STDERR: import 'asyncio.tasks' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF921C2550> +2024-11-30 16:12:20,478 - api.main - INFO - STDERR: import 'asyncio.staggered' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92199790> +2024-11-30 16:12:20,478 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\trsock.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\trsock.py +2024-11-30 16:12:20,478 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\trsock.cpython-39.pyc' +2024-11-30 16:12:20,478 - api.main - INFO - STDERR: import 'asyncio.trsock' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF921CB820> +2024-11-30 16:12:20,478 - api.main - INFO - STDERR: import 'asyncio.base_events' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92126F70> +2024-11-30 16:12:20,478 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\runners.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\runners.py +2024-11-30 16:12:20,479 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\runners.cpython-39.pyc' +2024-11-30 16:12:20,479 - api.main - INFO - STDERR: import 'asyncio.runners' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9214C580> +2024-11-30 16:12:20,479 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\queues.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\queues.py +2024-11-30 16:12:20,479 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\queues.cpython-39.pyc' +2024-11-30 16:12:20,479 - api.main - INFO - STDERR: import 'asyncio.queues' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9214C430> +2024-11-30 16:12:20,480 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\streams.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\streams.py +2024-11-30 16:12:20,480 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\streams.cpython-39.pyc' +2024-11-30 16:12:20,480 - api.main - INFO - STDERR: import 'asyncio.streams' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF921D48E0> +2024-11-30 16:12:20,480 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\subprocess.py +2024-11-30 16:12:20,480 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\subprocess.cpython-39.pyc' +2024-11-30 16:12:20,481 - api.main - INFO - STDERR: import 'asyncio.subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF921EB700> +2024-11-30 16:12:20,481 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\threads.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\threads.py +2024-11-30 16:12:20,481 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\threads.cpython-39.pyc' +2024-11-30 16:12:20,481 - api.main - INFO - STDERR: import 'asyncio.threads' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF921EBCA0> +2024-11-30 16:12:20,481 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\windows_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\windows_events.py +2024-11-30 16:12:20,481 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\windows_events.cpython-39.pyc' +2024-11-30 16:12:20,483 - api.main - INFO - STDERR: # extension module '_overlapped' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_overlapped.pyd' +2024-11-30 16:12:20,483 - api.main - INFO - STDERR: # extension module '_overlapped' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_overlapped.pyd' +2024-11-30 16:12:20,483 - api.main - INFO - STDERR: import '_overlapped' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001EF92207250> +2024-11-30 16:12:20,484 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_subprocess.py +2024-11-30 16:12:20,484 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_subprocess.cpython-39.pyc' +2024-11-30 16:12:20,484 - api.main - INFO - STDERR: import 'asyncio.base_subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF922073A0> +2024-11-30 16:12:20,485 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\proactor_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\proactor_events.py +2024-11-30 16:12:20,485 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\proactor_events.cpython-39.pyc' +2024-11-30 16:12:20,485 - api.main - INFO - STDERR: import 'asyncio.proactor_events' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92207E20> +2024-11-30 16:12:20,486 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\selector_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\selector_events.py +2024-11-30 16:12:20,486 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\selector_events.cpython-39.pyc' +2024-11-30 16:12:20,486 - api.main - INFO - STDERR: import 'asyncio.selector_events' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92222520> +2024-11-30 16:12:20,487 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\windows_utils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\windows_utils.py +2024-11-30 16:12:20,487 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\windows_utils.cpython-39.pyc' +2024-11-30 16:12:20,488 - api.main - INFO - STDERR: import 'asyncio.windows_utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92241610> +2024-11-30 16:12:20,488 - api.main - INFO - STDERR: import 'asyncio.windows_events' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF921EBD60> +2024-11-30 16:12:20,488 - api.main - INFO - STDERR: import 'asyncio' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92126370> +2024-11-30 16:12:20,489 - api.main - INFO - STDERR: import 'filelock.asyncio' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92123B50> +2024-11-30 16:12:20,490 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\version.py +2024-11-30 16:12:20,490 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\version.cpython-39.pyc' +2024-11-30 16:12:20,490 - api.main - INFO - STDERR: import 'filelock.version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92250B80> +2024-11-30 16:12:20,490 - api.main - INFO - STDERR: import 'filelock' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92109640> +2024-11-30 16:12:20,491 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__init__.py +2024-11-30 16:12:20,491 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,492 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\colors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\colors.py +2024-11-30 16:12:20,492 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\colors.cpython-39.pyc' +2024-11-30 16:12:20,492 - api.main - INFO - STDERR: import 'logzero.colors' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF922509D0> +2024-11-30 16:12:20,492 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\jsonlogger.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\jsonlogger.py +2024-11-30 16:12:20,492 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\jsonlogger.cpython-39.pyc' +2024-11-30 16:12:20,492 - api.main - INFO - STDERR: import 'logzero.jsonlogger' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92250280> +2024-11-30 16:12:20,493 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__pycache__\handlers.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\handlers.py +2024-11-30 16:12:20,493 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\logging\\__pycache__\\handlers.cpython-39.pyc' +2024-11-30 16:12:20,494 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pickle.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pickle.py +2024-11-30 16:12:20,494 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pickle.cpython-39.pyc' +2024-11-30 16:12:20,496 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_compat_pickle.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_compat_pickle.py +2024-11-30 16:12:20,496 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_compat_pickle.cpython-39.pyc' +2024-11-30 16:12:20,496 - api.main - INFO - STDERR: import '_compat_pickle' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92289760> +2024-11-30 16:12:20,496 - api.main - INFO - STDERR: import '_pickle' # +2024-11-30 16:12:20,497 - api.main - INFO - STDERR: import 'pickle' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92269C70> +2024-11-30 16:12:20,497 - api.main - INFO - STDERR: import 'logging.handlers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92241D60> +2024-11-30 16:12:20,498 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\curses\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\curses\__init__.py +2024-11-30 16:12:20,498 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\curses\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,499 - api.main - INFO - STDERR: # destroy curses +2024-11-30 16:12:20,499 - api.main - INFO - STDERR: import 'logzero' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92123B20> +2024-11-30 16:12:20,500 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\six.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\six.py +2024-11-30 16:12:20,500 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\six.cpython-39.pyc' +2024-11-30 16:12:20,501 - api.main - INFO - STDERR: import 'six' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92269DC0> +2024-11-30 16:12:20,501 - api.main - INFO - STDERR: import 'six.moves' # +2024-11-30 16:12:20,502 - api.main - INFO - STDERR: import 'six.moves.urllib' # +2024-11-30 16:12:20,502 - api.main - INFO - STDERR: import 'six.moves.urllib.parse' # +2024-11-30 16:12:20,502 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\cached_property.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cached_property.py +2024-11-30 16:12:20,502 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\cached_property.cpython-39.pyc' +2024-11-30 16:12:20,502 - api.main - INFO - STDERR: import 'cached_property' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92289FA0> +2024-11-30 16:12:20,503 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__init__.py +2024-11-30 16:12:20,503 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\deprecated\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,504 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__pycache__\classic.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\classic.py +2024-11-30 16:12:20,504 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\deprecated\\__pycache__\\classic.cpython-39.pyc' +2024-11-30 16:12:20,504 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__init__.py +2024-11-30 16:12:20,505 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,505 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\__wrapt__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__wrapt__.py +2024-11-30 16:12:20,506 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\__wrapt__.cpython-39.pyc' +2024-11-30 16:12:20,506 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\wrappers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\wrappers.py +2024-11-30 16:12:20,506 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\wrappers.cpython-39.pyc' +2024-11-30 16:12:20,506 - api.main - INFO - STDERR: import 'wrapt.wrappers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF922C2100> +2024-11-30 16:12:20,507 - api.main - INFO - STDERR: # extension module 'wrapt._wrappers' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\_wrappers.cp39-win_amd64.pyd' +2024-11-30 16:12:20,507 - api.main - INFO - STDERR: # extension module 'wrapt._wrappers' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\_wrappers.cp39-win_amd64.pyd' +2024-11-30 16:12:20,507 - api.main - INFO - STDERR: import 'wrapt._wrappers' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001EF922CBA90> +2024-11-30 16:12:20,507 - api.main - INFO - STDERR: import 'wrapt.__wrapt__' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF922B6B20> +2024-11-30 16:12:20,508 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\patches.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\patches.py +2024-11-30 16:12:20,508 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\patches.cpython-39.pyc' +2024-11-30 16:12:20,508 - api.main - INFO - STDERR: import 'wrapt.patches' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF922B6C10> +2024-11-30 16:12:20,508 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\weakrefs.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\weakrefs.py +2024-11-30 16:12:20,508 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\weakrefs.cpython-39.pyc' +2024-11-30 16:12:20,508 - api.main - INFO - STDERR: import 'wrapt.weakrefs' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF922CBFD0> +2024-11-30 16:12:20,508 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\decorators.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\decorators.py +2024-11-30 16:12:20,509 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\decorators.cpython-39.pyc' +2024-11-30 16:12:20,509 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\arguments.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\arguments.py +2024-11-30 16:12:20,509 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\arguments.cpython-39.pyc' +2024-11-30 16:12:20,509 - api.main - INFO - STDERR: import 'wrapt.arguments' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF922E5130> +2024-11-30 16:12:20,509 - api.main - INFO - STDERR: import 'wrapt.decorators' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF922DF2E0> +2024-11-30 16:12:20,509 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\importer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\importer.py +2024-11-30 16:12:20,509 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\importer.cpython-39.pyc' +2024-11-30 16:12:20,510 - api.main - INFO - STDERR: import 'wrapt.importer' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF922E5310> +2024-11-30 16:12:20,510 - api.main - INFO - STDERR: import 'wrapt' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF922B6FA0> +2024-11-30 16:12:20,510 - api.main - INFO - STDERR: import 'deprecated.classic' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF922A6C70> +2024-11-30 16:12:20,510 - api.main - INFO - STDERR: import 'deprecated' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF922A6790> +2024-11-30 16:12:20,510 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\xpath.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\xpath.py +2024-11-30 16:12:20,511 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\xpath.cpython-39.pyc' +2024-11-30 16:12:20,511 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\_proto.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_proto.py +2024-11-30 16:12:20,511 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\_proto.cpython-39.pyc' +2024-11-30 16:12:20,511 - api.main - INFO - STDERR: import 'uiautomator2._proto' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF922FD9A0> +2024-11-30 16:12:20,511 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\abcd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\abcd.py +2024-11-30 16:12:20,512 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\abcd.cpython-39.pyc' +2024-11-30 16:12:20,512 - api.main - INFO - STDERR: import 'uiautomator2.abcd' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF922FDAF0> +2024-11-30 16:12:20,512 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\exceptions.py +2024-11-30 16:12:20,512 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 16:12:20,513 - api.main - INFO - STDERR: import 'uiautomator2.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF922FDE20> +2024-11-30 16:12:20,513 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\utils.py +2024-11-30 16:12:20,513 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 16:12:20,513 - api.main - INFO - STDERR: import 'uiautomator2.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF922FDF70> +2024-11-30 16:12:20,514 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\lxml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\lxml\__init__.py +2024-11-30 16:12:20,514 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,514 - api.main - INFO - STDERR: import 'lxml' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92316EE0> +2024-11-30 16:12:20,515 - api.main - INFO - STDERR: # extension module 'lxml.etree' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\etree.cp39-win_amd64.pyd' +2024-11-30 16:12:20,516 - api.main - INFO - STDERR: import 'gc' # +2024-11-30 16:12:20,518 - api.main - INFO - STDERR: # extension module 'lxml._elementpath' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\_elementpath.cp39-win_amd64.pyd' +2024-11-30 16:12:20,519 - api.main - INFO - STDERR: # extension module 'lxml._elementpath' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\_elementpath.cp39-win_amd64.pyd' +2024-11-30 16:12:20,520 - api.main - INFO - STDERR: import 'lxml._elementpath' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001EF92376DC0> +2024-11-30 16:12:20,523 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\gzip.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\gzip.py +2024-11-30 16:12:20,523 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\gzip.cpython-39.pyc' +2024-11-30 16:12:20,523 - api.main - INFO - STDERR: import 'gzip' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92399940> +2024-11-30 16:12:20,525 - api.main - INFO - STDERR: # extension module 'lxml.etree' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\etree.cp39-win_amd64.pyd' +2024-11-30 16:12:20,525 - api.main - INFO - STDERR: import 'lxml.etree' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001EF92316EB0> +2024-11-30 16:12:20,525 - api.main - INFO - STDERR: import 'uiautomator2.xpath' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF922A67F0> +2024-11-30 16:12:20,525 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\_selector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_selector.py +2024-11-30 16:12:20,525 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\_selector.cpython-39.pyc' +2024-11-30 16:12:20,526 - api.main - INFO - STDERR: import 'uiautomator2._selector' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF922E59A0> +2024-11-30 16:12:20,527 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\init.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\init.py +2024-11-30 16:12:20,527 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\init.cpython-39.pyc' +2024-11-30 16:12:20,528 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tarfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tarfile.py +2024-11-30 16:12:20,528 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tarfile.cpython-39.pyc' +2024-11-30 16:12:20,529 - api.main - INFO - STDERR: import 'tarfile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF923DEB80> +2024-11-30 16:12:20,531 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__init__.py +2024-11-30 16:12:20,531 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,531 - api.main - INFO - STDERR: import 'progress' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF923EBAC0> +2024-11-30 16:12:20,532 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\bar.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\bar.py +2024-11-30 16:12:20,532 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\bar.cpython-39.pyc' +2024-11-30 16:12:20,532 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\colors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\colors.py +2024-11-30 16:12:20,532 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\colors.cpython-39.pyc' +2024-11-30 16:12:20,532 - api.main - INFO - STDERR: import 'progress.colors' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92417310> +2024-11-30 16:12:20,532 - api.main - INFO - STDERR: import 'progress.bar' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF923DEF70> +2024-11-30 16:12:20,532 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\version.py +2024-11-30 16:12:20,533 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\version.cpython-39.pyc' +2024-11-30 16:12:20,533 - api.main - INFO - STDERR: import 'uiautomator2.version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92417130> +2024-11-30 16:12:20,533 - api.main - INFO - STDERR: import 'uiautomator2.init' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF923DE550> +2024-11-30 16:12:20,534 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\settings.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\settings.py +2024-11-30 16:12:20,534 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\settings.cpython-39.pyc' +2024-11-30 16:12:20,534 - api.main - INFO - STDERR: import 'uiautomator2.settings' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92417A90> +2024-11-30 16:12:20,534 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\swipe.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\swipe.py +2024-11-30 16:12:20,534 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\swipe.cpython-39.pyc' +2024-11-30 16:12:20,534 - api.main - INFO - STDERR: import 'uiautomator2.swipe' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92417D30> +2024-11-30 16:12:20,535 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\watcher.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\watcher.py +2024-11-30 16:12:20,535 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\watcher.cpython-39.pyc' +2024-11-30 16:12:20,535 - api.main - INFO - STDERR: import 'uiautomator2.watcher' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF92417EE0> +2024-11-30 16:12:20,536 - api.main - INFO - STDERR: import 'uiautomator2' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90FF9E80> +2024-11-30 16:12:20,537 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\utils.py +2024-11-30 16:12:20,537 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 16:12:20,538 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__init__.py +2024-11-30 16:12:20,539 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,539 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\core.py +2024-11-30 16:12:20,539 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\__pycache__\\core.cpython-39.pyc' +2024-11-30 16:12:20,540 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__init__.py +2024-11-30 16:12:20,540 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\unicode_codes\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,541 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__pycache__\data_dict.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\data_dict.py +2024-11-30 16:12:20,544 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\unicode_codes\\__pycache__\\data_dict.cpython-39.pyc' +2024-11-30 16:12:20,547 - api.main - INFO - STDERR: import 'emoji.unicode_codes.data_dict' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9244F970> +2024-11-30 16:12:20,558 - api.main - INFO - STDERR: import 'emoji.unicode_codes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9244F640> +2024-11-30 16:12:20,558 - api.main - INFO - STDERR: import 'emoji.core' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9243EF70> +2024-11-30 16:12:20,558 - api.main - INFO - STDERR: import 'emoji' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9243ED00> +2024-11-30 16:12:20,560 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\log.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\log.py +2024-11-30 16:12:20,560 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\log.cpython-39.pyc' +2024-11-30 16:12:20,560 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\uuid.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\uuid.py +2024-11-30 16:12:20,561 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\uuid.cpython-39.pyc' +2024-11-30 16:12:20,562 - api.main - INFO - STDERR: # extension module '_uuid' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_uuid.pyd' +2024-11-30 16:12:20,562 - api.main - INFO - STDERR: # extension module '_uuid' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_uuid.pyd' +2024-11-30 16:12:20,562 - api.main - INFO - STDERR: import '_uuid' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001EF930391F0> +2024-11-30 16:12:20,562 - api.main - INFO - STDERR: import 'uuid' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9244FA90> +2024-11-30 16:12:20,562 - api.main - INFO - STDERR: import 'GramAddict.core.log' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9243ED30> +2024-11-30 16:12:20,562 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\report.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\report.py +2024-11-30 16:12:20,562 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\report.cpython-39.pyc' +2024-11-30 16:12:20,562 - api.main - INFO - STDERR: import 'GramAddict.core.report' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9244F760> +2024-11-30 16:12:20,563 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\resources.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\resources.py +2024-11-30 16:12:20,563 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\resources.cpython-39.pyc' +2024-11-30 16:12:20,563 - api.main - INFO - STDERR: import 'GramAddict.core.resources' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF93039160> +2024-11-30 16:12:20,564 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\storage.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\storage.py +2024-11-30 16:12:20,564 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\storage.cpython-39.pyc' +2024-11-30 16:12:20,564 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\atomicwrites\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\atomicwrites\__init__.py +2024-11-30 16:12:20,564 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\atomicwrites\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,565 - api.main - INFO - STDERR: import 'atomicwrites' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF93039880> +2024-11-30 16:12:20,566 - api.main - INFO - STDERR: import 'GramAddict.core.storage' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF93039310> +2024-11-30 16:12:20,566 - api.main - INFO - STDERR: import 'GramAddict.core.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF910366D0> +2024-11-30 16:12:20,566 - api.main - INFO - STDERR: import 'GramAddict.core.device_facade' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90F292B0> +2024-11-30 16:12:20,567 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\filter.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\filter.py +2024-11-30 16:12:20,567 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\filter.cpython-39.pyc' +2024-11-30 16:12:20,568 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__init__.py +2024-11-30 16:12:20,568 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,569 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\detector_factory.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\detector_factory.py +2024-11-30 16:12:20,569 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\detector_factory.cpython-39.pyc' +2024-11-30 16:12:20,569 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\detector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\detector.py +2024-11-30 16:12:20,570 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\detector.cpython-39.pyc' +2024-11-30 16:12:20,570 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\lang_detect_exception.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\lang_detect_exception.py +2024-11-30 16:12:20,570 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\lang_detect_exception.cpython-39.pyc' +2024-11-30 16:12:20,570 - api.main - INFO - STDERR: import 'langdetect.lang_detect_exception' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF93062D60> +2024-11-30 16:12:20,570 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\language.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\language.py +2024-11-30 16:12:20,570 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\language.cpython-39.pyc' +2024-11-30 16:12:20,570 - api.main - INFO - STDERR: import 'langdetect.language' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF93062FD0> +2024-11-30 16:12:20,571 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__init__.py +2024-11-30 16:12:20,571 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,571 - api.main - INFO - STDERR: import 'langdetect.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9306A3A0> +2024-11-30 16:12:20,572 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\ngram.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\ngram.py +2024-11-30 16:12:20,572 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\ngram.cpython-39.pyc' +2024-11-30 16:12:20,573 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\messages.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\messages.py +2024-11-30 16:12:20,573 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\messages.cpython-39.pyc' +2024-11-30 16:12:20,573 - api.main - INFO - STDERR: import 'langdetect.utils.messages' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9306A6D0> +2024-11-30 16:12:20,573 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\unicode_block.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\unicode_block.py +2024-11-30 16:12:20,573 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\unicode_block.cpython-39.pyc' +2024-11-30 16:12:20,573 - api.main - INFO - STDERR: import 'langdetect.utils.unicode_block' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9306A880> +2024-11-30 16:12:20,574 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\unicode_escape.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\unicode_escape.py +2024-11-30 16:12:20,574 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\unicode_escape.cpython-39.pyc' +2024-11-30 16:12:20,574 - api.main - INFO - STDERR: import 'encodings.unicode_escape' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9306AA30> +2024-11-30 16:12:20,577 - api.main - INFO - STDERR: import 'langdetect.utils.ngram' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9306A3D0> +2024-11-30 16:12:20,577 - api.main - INFO - STDERR: import 'langdetect.detector' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF930627C0> +2024-11-30 16:12:20,578 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\lang_profile.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\lang_profile.py +2024-11-30 16:12:20,578 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\lang_profile.cpython-39.pyc' +2024-11-30 16:12:20,578 - api.main - INFO - STDERR: import 'langdetect.utils.lang_profile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF93062B80> +2024-11-30 16:12:20,578 - api.main - INFO - STDERR: import 'langdetect.detector_factory' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF930622B0> +2024-11-30 16:12:20,578 - api.main - INFO - STDERR: import 'langdetect' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9304FFD0> +2024-11-30 16:12:20,579 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\views.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py +2024-11-30 16:12:20,579 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\views.cpython-39.pyc' +2024-11-30 16:12:20,580 - api.main - INFO - STDERR: import 'GramAddict.core.views' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF93062550> +2024-11-30 16:12:20,581 - api.main - INFO - STDERR: import 'GramAddict.core.filter' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF90FF94F0> +2024-11-30 16:12:20,581 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\interaction.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\interaction.py +2024-11-30 16:12:20,581 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\interaction.cpython-39.pyc' +2024-11-30 16:12:20,583 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__init__.py +2024-11-30 16:12:20,583 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\spintax\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,583 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__pycache__\spintax.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\spintax.py +2024-11-30 16:12:20,583 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\spintax\\__pycache__\\spintax.cpython-39.pyc' +2024-11-30 16:12:20,583 - api.main - INFO - STDERR: import 'spintax.spintax' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF93157820> +2024-11-30 16:12:20,584 - api.main - INFO - STDERR: import 'spintax' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF931575E0> +2024-11-30 16:12:20,584 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\session_state.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\session_state.py +2024-11-30 16:12:20,584 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\session_state.cpython-39.pyc' +2024-11-30 16:12:20,584 - api.main - INFO - STDERR: import 'GramAddict.core.session_state' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF931578E0> +2024-11-30 16:12:20,584 - api.main - INFO - STDERR: import 'GramAddict.core.interaction' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF93157100> +2024-11-30 16:12:20,585 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\navigation.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\navigation.py +2024-11-30 16:12:20,585 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\navigation.cpython-39.pyc' +2024-11-30 16:12:20,585 - api.main - INFO - STDERR: import 'GramAddict.core.navigation' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF93157FD0> +2024-11-30 16:12:20,586 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\persistent_list.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\persistent_list.py +2024-11-30 16:12:20,586 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\persistent_list.cpython-39.pyc' +2024-11-30 16:12:20,586 - api.main - INFO - STDERR: import 'GramAddict.core.persistent_list' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF931660D0> +2024-11-30 16:12:20,586 - api.main - INFO - STDOUT: Python path: ['e:\\PROJECTS\\instagram automation\\virtualinfluencer', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\python39.zip', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer'] +2024-11-30 16:12:20,586 - api.main - INFO - STDERR: import 'GramAddict.core.bot_flow' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F094670> +2024-11-30 16:12:20,586 - api.main - INFO - STDOUT: Current directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 16:12:20,587 - api.main - INFO - STDERR: import 'GramAddict' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F094D00> +2024-11-30 16:12:20,587 - api.main - INFO - STDOUT: Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 16:12:20,587 - api.main - INFO - STDERR: e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml has been saved last time at 2024-11-29 01:33:21 +2024-11-30 16:12:20,587 - api.main - INFO - STDOUT: Successfully imported GramAddict +2024-11-30 16:12:20,596 - api.main - INFO - STDERR: [11/30 16:12:20] DEBUG | Initial log file: logs/quecreate.log +2024-11-30 16:12:20,596 - api.main - INFO - STDERR: [11/30 16:12:20] DEBUG | Installed via git, config-examples is in the local folder. +2024-11-30 16:12:20,597 - api.main - INFO - STDERR: [11/30 16:12:20] INFO | Checking for updates... +2024-11-30 16:12:20,598 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\netrc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\netrc.py +2024-11-30 16:12:20,599 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\netrc.cpython-39.pyc' +2024-11-30 16:12:20,599 - api.main - INFO - STDERR: import 'netrc' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF93166F10> +2024-11-30 16:12:20,817 - api.main - INFO - STDERR: [11/30 16:12:20] INFO | Bot is updated. +2024-11-30 16:12:20,817 - api.main - INFO - STDERR: [11/30 16:12:20] INFO | GramAddict v.3.2.12 +2024-11-30 16:12:20,818 - api.main - INFO - STDERR: [11/30 16:12:20] INFO | Loading plugins . . . +2024-11-30 16:12:20,818 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__init__.py +2024-11-30 16:12:20,820 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,820 - api.main - INFO - STDERR: import 'GramAddict.plugins' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF93166EB0> +2024-11-30 16:12:20,820 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\action_unfollow_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\action_unfollow_followers.py +2024-11-30 16:12:20,821 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\action_unfollow_followers.cpython-39.pyc' +2024-11-30 16:12:20,821 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\decorators.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py +2024-11-30 16:12:20,821 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\decorators.cpython-39.pyc' +2024-11-30 16:12:20,821 - api.main - INFO - STDERR: import 'GramAddict.core.decorators' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF93184EB0> +2024-11-30 16:12:20,822 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\scroll_end_detector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\scroll_end_detector.py +2024-11-30 16:12:20,822 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\scroll_end_detector.cpython-39.pyc' +2024-11-30 16:12:20,823 - api.main - INFO - STDERR: import 'GramAddict.core.scroll_end_detector' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF931845E0> +2024-11-30 16:12:20,823 - api.main - INFO - STDERR: import 'GramAddict.plugins.action_unfollow_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF93166BE0> +2024-11-30 16:12:20,823 - api.main - INFO - STDERR: [11/30 16:12:20] INFO | - ActionUnfollowFollowers: Handles the functionality of unfollowing your followers +2024-11-30 16:12:20,824 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\cloned_app.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\cloned_app.py +2024-11-30 16:12:20,824 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\cloned_app.cpython-39.pyc' +2024-11-30 16:12:20,824 - api.main - INFO - STDERR: import 'GramAddict.plugins.cloned_app' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF93184A60> +2024-11-30 16:12:20,824 - api.main - INFO - STDERR: [11/30 16:12:20] INFO | - ClonedApp: Adds support for cloned apps +2024-11-30 16:12:20,825 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\core_arguments.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\core_arguments.py +2024-11-30 16:12:20,825 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\core_arguments.cpython-39.pyc' +2024-11-30 16:12:20,825 - api.main - INFO - STDERR: import 'GramAddict.plugins.core_arguments' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF93184C10> +2024-11-30 16:12:20,825 - api.main - INFO - STDERR: [11/30 16:12:20] INFO | - CoreArguments: Simply adds core arguments +2024-11-30 16:12:20,827 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\data_analytics.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\data_analytics.py +2024-11-30 16:12:20,827 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\data_analytics.cpython-39.pyc' +2024-11-30 16:12:20,827 - api.main - INFO - STDERR: import 'GramAddict.plugins.data_analytics' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF93184F10> +2024-11-30 16:12:20,827 - api.main - INFO - STDERR: [11/30 16:12:20] INFO | - DataAnalytics: Generates a PDF analytics report of current username session data +2024-11-30 16:12:20,827 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\dbinit.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\dbinit.py +2024-11-30 16:12:20,828 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\dbinit.cpython-39.pyc' +2024-11-30 16:12:20,828 - api.main - INFO - STDERR: import 'GramAddict.plugins.dbinit' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F094EB0> +2024-11-30 16:12:20,828 - api.main - INFO - STDERR: [11/30 16:12:20] INFO | - DBInitPlugin: Initialize NocoDB tables at session start +2024-11-30 16:12:20,828 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger.py +2024-11-30 16:12:20,828 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger.cpython-39.pyc' +2024-11-30 16:12:20,829 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\handle_sources.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py +2024-11-30 16:12:20,829 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\handle_sources.cpython-39.pyc' +2024-11-30 16:12:20,829 - api.main - INFO - STDERR: import 'GramAddict.core.handle_sources' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF931E0550> +2024-11-30 16:12:20,829 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF8F0943A0> +2024-11-30 16:12:20,829 - api.main - INFO - STDERR: [11/30 16:12:20] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger +2024-11-30 16:12:20,830 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py +2024-11-30 16:12:20,830 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger_followers.cpython-39.pyc' +2024-11-30 16:12:20,830 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF931E0970> +2024-11-30 16:12:20,830 - api.main - INFO - STDERR: [11/30 16:12:20] INFO | - InteractBloggerFollowers_Following: Handles the functionality of interacting with a bloggers followers/following +2024-11-30 16:12:20,831 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger_post_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_post_likers.py +2024-11-30 16:12:20,832 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger_post_likers.cpython-39.pyc' +2024-11-30 16:12:20,832 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger_post_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF931E0C10> +2024-11-30 16:12:20,832 - api.main - INFO - STDERR: [11/30 16:12:20] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger post likers +2024-11-30 16:12:20,833 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_feed.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_feed.py +2024-11-30 16:12:20,833 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_feed.cpython-39.pyc' +2024-11-30 16:12:20,833 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_feed' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF931E0F40> +2024-11-30 16:12:20,833 - api.main - INFO - STDERR: [11/30 16:12:20] INFO | - InteractOwnFeed: Handles the functionality of interacting with your own feed +2024-11-30 16:12:20,834 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_hashtag_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_hashtag_likers.py +2024-11-30 16:12:20,835 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_hashtag_likers.cpython-39.pyc' +2024-11-30 16:12:20,835 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_hashtag_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF931CB2E0> +2024-11-30 16:12:20,835 - api.main - INFO - STDERR: [11/30 16:12:20] INFO | - InteractHashtagLikers: Handles the functionality of interacting with a hashtags likers +2024-11-30 16:12:20,836 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_hashtag_posts.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_hashtag_posts.py +2024-11-30 16:12:20,837 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_hashtag_posts.cpython-39.pyc' +2024-11-30 16:12:20,837 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_hashtag_posts' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF931CB640> +2024-11-30 16:12:20,837 - api.main - INFO - STDERR: [11/30 16:12:20] INFO | - InteractHashtagPosts: Handles the functionality of interacting with a hashtags post owners +2024-11-30 16:12:20,839 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_place_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_place_likers.py +2024-11-30 16:12:20,839 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_place_likers.cpython-39.pyc' +2024-11-30 16:12:20,839 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_place_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF931CB9A0> +2024-11-30 16:12:20,839 - api.main - INFO - STDERR: [11/30 16:12:20] INFO | - InteractPlaceLikers: Handles the functionality of interacting with a places likers +2024-11-30 16:12:20,840 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_place_posts.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_place_posts.py +2024-11-30 16:12:20,841 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_place_posts.cpython-39.pyc' +2024-11-30 16:12:20,841 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_place_posts' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF931CBD30> +2024-11-30 16:12:20,841 - api.main - INFO - STDERR: [11/30 16:12:20] INFO | - InteractPlacePosts: Handles the functionality of interacting with a places post owners +2024-11-30 16:12:20,841 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\like_from_urls.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\like_from_urls.py +2024-11-30 16:12:20,842 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\like_from_urls.cpython-39.pyc' +2024-11-30 16:12:20,842 - api.main - INFO - STDERR: import 'GramAddict.plugins.like_from_urls' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF931CBFA0> +2024-11-30 16:12:20,842 - api.main - INFO - STDERR: [11/30 16:12:20] INFO | - LikeFromURLs: Likes a post from url. The urls are read from a plaintext file +2024-11-30 16:12:20,843 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\nocodb_record_creation_test.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\nocodb_record_creation_test.py +2024-11-30 16:12:20,843 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\nocodb_record_creation_test.cpython-39.pyc' +2024-11-30 16:12:20,843 - api.main - INFO - STDERR: import 'GramAddict.plugins.nocodb_record_creation_test' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF931EF460> +2024-11-30 16:12:20,843 - api.main - INFO - STDERR: [11/30 16:12:20] INFO | - NocoDBRecordCreationTest: Test plugin specifically for verifying NocoDB record creation functionality +2024-11-30 16:12:20,844 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\nocodb_storage.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\nocodb_storage.py +2024-11-30 16:12:20,844 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\nocodb_storage.cpython-39.pyc' +2024-11-30 16:12:20,845 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__init__.py +2024-11-30 16:12:20,845 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:12:20,845 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jwk.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jwk.py +2024-11-30 16:12:20,845 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jwk.cpython-39.pyc' +2024-11-30 16:12:20,845 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\algorithms.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\algorithms.py +2024-11-30 16:12:20,846 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\algorithms.cpython-39.pyc' +2024-11-30 16:12:20,846 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\exceptions.py +2024-11-30 16:12:20,847 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 16:12:20,847 - api.main - INFO - STDERR: import 'jwt.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9320C790> +2024-11-30 16:12:20,847 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\types.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\types.py +2024-11-30 16:12:20,847 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\types.cpython-39.pyc' +2024-11-30 16:12:20,847 - api.main - INFO - STDERR: import 'jwt.types' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9320C820> +2024-11-30 16:12:20,847 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\utils.py +2024-11-30 16:12:20,848 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 16:12:20,849 - api.main - INFO - STDERR: import 'jwt.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9320C910> +2024-11-30 16:12:20,850 - api.main - INFO - STDERR: import 'jwt.algorithms' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF932015B0> +2024-11-30 16:12:20,850 - api.main - INFO - STDERR: import 'jwt.api_jwk' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF931EFE20> +2024-11-30 16:12:20,850 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jws.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jws.py +2024-11-30 16:12:20,851 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jws.cpython-39.pyc' +2024-11-30 16:12:20,851 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\warnings.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\warnings.py +2024-11-30 16:12:20,851 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\warnings.cpython-39.pyc' +2024-11-30 16:12:20,851 - api.main - INFO - STDERR: import 'jwt.warnings' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9320C160> +2024-11-30 16:12:20,851 - api.main - INFO - STDERR: import 'jwt.api_jws' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF93201C70> +2024-11-30 16:12:20,851 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jwt.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jwt.py +2024-11-30 16:12:20,851 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jwt.cpython-39.pyc' +2024-11-30 16:12:20,852 - api.main - INFO - STDERR: import 'jwt.api_jwt' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF9320C3A0> +2024-11-30 16:12:20,852 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\jwks_client.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\jwks_client.py +2024-11-30 16:12:20,852 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\jwks_client.cpython-39.pyc' +2024-11-30 16:12:20,852 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\jwk_set_cache.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\jwk_set_cache.py +2024-11-30 16:12:20,852 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\jwk_set_cache.cpython-39.pyc' +2024-11-30 16:12:20,853 - api.main - INFO - STDERR: import 'jwt.jwk_set_cache' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF93217B50> +2024-11-30 16:12:20,853 - api.main - INFO - STDERR: import 'jwt.jwks_client' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF93217580> +2024-11-30 16:12:20,853 - api.main - INFO - STDERR: import 'jwt' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF931EFBB0> +2024-11-30 16:12:20,853 - api.main - INFO - STDERR: import 'GramAddict.plugins.nocodb_storage' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF931EF5E0> +2024-11-30 16:12:20,854 - api.main - INFO - STDERR: [11/30 16:12:20] INFO | - NocoDBStorage: Store interaction data in NocoDB +2024-11-30 16:12:20,855 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\remove_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\remove_followers.py +2024-11-30 16:12:20,855 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\remove_followers.cpython-39.pyc' +2024-11-30 16:12:20,855 - api.main - INFO - STDERR: import 'GramAddict.plugins.remove_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF93217FD0> +2024-11-30 16:12:20,856 - api.main - INFO - STDERR: [11/30 16:12:20] INFO | - RemoveFollowersFromList: Remove account followers from a list of usernames +2024-11-30 16:12:20,857 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\telegram.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\telegram.py +2024-11-30 16:12:20,857 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\telegram.cpython-39.pyc' +2024-11-30 16:12:20,857 - api.main - INFO - STDERR: import 'GramAddict.plugins.telegram' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF93231220> +2024-11-30 16:12:20,857 - api.main - INFO - STDERR: [11/30 16:12:20] INFO | - TelegramReports: Generate reports at the end of the session and send them using telegram +2024-11-30 16:12:20,860 - api.main - INFO - STDERR: [11/30 16:12:20] DEBUG | Arguments used: --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 16:12:20,861 - api.main - INFO - STDERR: [11/30 16:12:20] DEBUG | Config used: {'username': 'quecreate', 'app-id': 'com.instagram.android', 'use-cloned-app': False, 'allow-untested-ig-version': False, 'screen-sleep': True, 'screen-record': False, 'speed-multiplier': 1.0, 'debug': True, 'close-apps': False, 'kill-atx-agent': False, 'restart-atx-agent': False, 'disable-block-detection': False, 'disable-filters': False, 'dont-type': False, 'use-nocodb': True, 'init-db': True, 'total-crashes-limit': 5, 'count-app-crashes': False, 'shuffle-jobs': True, 'truncate-sources': '2-5', 'blogger-followers': ['mnaumanndesign'], 'watch-video-time': '15-35', 'watch-photo-time': '3-4', 'delete-interacted-users': True, 'telegram-reports': False, 'interactions-count': '300-400', 'likes-count': '1-2', 'likes-percentage': 100, 'stories-count': '10-20', 'stories-percentage': '30-40', 'carousel-count': '20-30', 'carousel-percentage': '60-70', 'max-comments-pro-user': '1-2', 'interact-percentage': '30-40', 'follow-percentage': '30-40', 'follow-limit': 50, 'skipped-list-limit': '10-15', 'skipped-posts-limit': 5, 'fling-when-skipped': 0, 'min-following': 10, 'total-likes-limit': '120-150', 'total-follows-limit': '40-50', 'total-unfollows-limit': '40-50', 'total-watches-limit': '120-150', 'total-successful-interactions-limit': '120-150', 'total-interactions-limit': '280-300', 'total-comments-limit': '3-50', 'total-pm-limit': '3-5', 'total-scraped-limit': '100-150', 'end-if-likes-limit-reached': False, 'end-if-follows-limit-reached': False, 'end-if-watches-limit-reached': False, 'end-if-comments-limit-reached': False, 'end-if-pm-limit-reached': False} +2024-11-30 16:12:20,944 - api.main - INFO - STDERR: [11/30 16:12:20] DEBUG | Connected devices via adb: 1. That's ok. +2024-11-30 16:12:21,017 - api.main - INFO - STDERR: [11/30 16:12:21] INFO | Time delta has set to 00:00:03. +2024-11-30 16:12:21,020 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_strptime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_strptime.py +2024-11-30 16:12:21,020 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_strptime.cpython-39.pyc' +2024-11-30 16:12:21,021 - api.main - INFO - STDERR: import '_strptime' # <_frozen_importlib_external.SourceFileLoader object at 0x000001EF932437F0> +2024-11-30 16:12:21,021 - api.main - INFO - STDERR: [11/30 16:12:21] DEBUG | Whole day mode. +2024-11-30 16:12:21,129 - api.main - INFO - STDERR: [11/30 16:12:21] DEBUG | Phone Name: taimen, SDK Version: 30 +2024-11-30 16:12:21,368 - api.main - INFO - STDERR: [11/30 16:12:21] DEBUG | Screen dimension: 1440x2824 +2024-11-30 16:12:21,514 - api.main - INFO - STDERR: [11/30 16:12:21] DEBUG | Screen resolution: 411x823 +2024-11-30 16:12:21,514 - api.main - INFO - STDERR: [11/30 16:12:21] DEBUG | Device ID: 192.168.50.202:5555 +2024-11-30 16:12:21,630 - api.main - INFO - STDERR: [11/30 16:12:21] INFO | Screen timeout is fine! +2024-11-30 16:12:21,778 - api.main - INFO - STDERR: [11/30 16:12:21] INFO | -------- START: 16:12:21 - 2024/11/30 -------- +2024-11-30 16:12:24,165 - api.main - INFO - STDERR: [11/30 16:12:24] INFO | Device screen ON and unlocked. +2024-11-30 16:12:24,165 - api.main - INFO - STDERR: [11/30 16:12:24] INFO | Open Instagram app. +2024-11-30 16:12:24,601 - api.main - INFO - STDERR: [11/30 16:12:24] DEBUG | Instagram called successfully. +2024-11-30 16:12:25,009 - api.main - INFO - STDERR: [11/30 16:12:25] INFO | Ready for botting!\U0001f92b +2024-11-30 16:12:25,010 - api.main - INFO - STDERR: [11/30 16:12:25] DEBUG | 1.11s sleep +2024-11-30 16:12:26,128 - api.main - INFO - STDERR: [11/30 16:12:26] DEBUG | Setting FastInputIME as default keyboard. +2024-11-30 16:12:26,619 - api.main - INFO - STDERR: [11/30 16:12:26] INFO | FastInputIME is the default keyboard. +2024-11-30 16:12:26,868 - api.main - INFO - STDERR: [11/30 16:12:26] INFO | Instagram version: 300.0.0.29.110 +2024-11-30 16:12:27,356 - api.main - INFO - STDERR: [11/30 16:12:27] DEBUG | Navigating to main account... +2024-11-30 16:12:28,549 - api.main - INFO - STDERR: [11/30 16:12:28] DEBUG | Single click in (1296,2701). Surface: (1244-1349,2684-2789) +2024-11-30 16:12:29,016 - api.main - INFO - STDERR: [11/30 16:12:29] DEBUG | 1.37s sleep +2024-11-30 16:12:31,331 - api.main - INFO - STDERR: [11/30 16:12:31] DEBUG | Checking if app is in English.. +2024-11-30 16:12:33,858 - api.main - INFO - STDERR: [11/30 16:12:33] DEBUG | Instagram in English. +2024-11-30 16:12:34,924 - api.main - INFO - STDERR: [11/30 16:12:34] INFO | You are already logged as quecreate! +2024-11-30 16:12:35,444 - api.main - INFO - STDERR: [11/30 16:12:35] INFO | Refresh account... +2024-11-30 16:12:35,782 - api.main - INFO - STDERR: [11/30 16:12:35] DEBUG | Swipe from: (796,630) to (614,909). +2024-11-30 16:12:37,110 - api.main - INFO - STDERR: [11/30 16:12:37] DEBUG | 0.97s sleep +2024-11-30 16:12:38,094 - api.main - INFO - STDERR: [11/30 16:12:38] DEBUG | 2.56s sleep +2024-11-30 16:12:44,113 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | Hello, @quecreate! You have 1 followers and 56 followings so far. +2024-11-30 16:12:44,113 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | There is/are 3 active-job(s) and 0 unfollow-job(s) scheduled for this session. +2024-11-30 16:12:44,115 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | NocoDB config found - plugin will handle initialization +2024-11-30 16:12:44,119 - api.main - INFO - STDERR: [11/30 16:12:44] WARNING | accounts\quecreate\filters.yml has been saved last time at 2024-11-28 01:20:01 +2024-11-30 16:12:44,127 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | ---------------------------------------------------------------------- +2024-11-30 16:12:44,127 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | Filters recap (no spell check!) Value +2024-11-30 16:12:44,128 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | ---------------------------------------------------------------------- +2024-11-30 16:12:44,128 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | max_following 7500 +2024-11-30 16:12:44,128 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | min_following 10 +2024-11-30 16:12:44,128 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | max_followers 15000 +2024-11-30 16:12:44,129 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | min_followers 100 +2024-11-30 16:12:44,129 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | max_posts 1000 +2024-11-30 16:12:44,129 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | min_posts 3 +2024-11-30 16:12:44,129 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | max_following_to_followers_ratio 2.0 +2024-11-30 16:12:44,130 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | min_following_to_followers_ratio None +2024-11-30 16:12:44,131 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | max_followers_to_following_ratio None +2024-11-30 16:12:44,131 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | min_followers_to_following_ratio None +2024-11-30 16:12:44,131 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | max_potency_ratio 1.5 +2024-11-30 16:12:44,131 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | min_potency_ratio 0.1 +2024-11-30 16:12:44,132 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | biography_language None +2024-11-30 16:12:44,132 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | biography_banned_words [] +2024-11-30 16:12:44,132 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | biography_mandatory_words [] +2024-11-30 16:12:44,132 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | business_category_name [] +2024-11-30 16:12:44,133 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | is_private None +2024-11-30 16:12:44,133 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | is_verified None +2024-11-30 16:12:44,133 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | is_business None +2024-11-30 16:12:44,133 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | is_non_business None +2024-11-30 16:12:44,134 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | blacklist_words [] +2024-11-30 16:12:44,134 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | mandatory_words [] +2024-11-30 16:12:44,134 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | specific_alphabet None +2024-11-30 16:12:44,134 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | min_posts_from_date None +2024-11-30 16:12:44,135 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | posts_from_date None +2024-11-30 16:12:44,135 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | mutual_friends None +2024-11-30 16:12:44,135 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | following_bot None +2024-11-30 16:12:44,135 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | last_post None +2024-11-30 16:12:44,136 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | potency_ratio None +2024-11-30 16:12:44,136 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | has_any_business_category None +2024-11-30 16:12:44,137 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | has_highlights None +2024-11-30 16:12:44,137 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | has_guides None +2024-11-30 16:12:44,137 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | has_external_url None +2024-11-30 16:12:44,137 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | has_business_category_name None +2024-11-30 16:12:44,138 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | has_biography_links None +2024-11-30 16:12:44,138 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | has_igtv None +2024-11-30 16:12:44,138 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | has_linked_facebook None +2024-11-30 16:12:44,138 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | has_story_highlights None +2024-11-30 16:12:44,139 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | has_youtube None +2024-11-30 16:12:44,139 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | has_twitter None +2024-11-30 16:12:44,139 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | has_facebook None +2024-11-30 16:12:44,140 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | has_whatsapp None +2024-11-30 16:12:44,140 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | has_tiktok None +2024-11-30 16:12:44,140 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_link_in_bio False +2024-11-30 16:12:44,141 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_external_url False +2024-11-30 16:12:44,141 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_business False +2024-11-30 16:12:44,141 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_business_categories [] +2024-11-30 16:12:44,141 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_bio_keyword [] +2024-11-30 16:12:44,142 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_bio_keyword [] +2024-11-30 16:12:44,142 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_bio_contains_anything False +2024-11-30 16:12:44,142 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_no_avatar False +2024-11-30 16:12:44,142 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_no_bio False +2024-11-30 16:12:44,143 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_no_posts False +2024-11-30 16:12:44,143 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_no_igtv False +2024-11-30 16:12:44,143 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_no_story_highlights False +2024-11-30 16:12:44,144 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_no_mutual_friends False +2024-11-30 16:12:44,144 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_private False +2024-11-30 16:12:44,144 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_public False +2024-11-30 16:12:44,144 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_verified False +2024-11-30 16:12:44,145 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_non_business False +2024-11-30 16:12:44,145 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_following_bot False +2024-11-30 16:12:44,145 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_following_less_than None +2024-11-30 16:12:44,145 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_followers_less_than None +2024-11-30 16:12:44,146 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_posts_less_than None +2024-11-30 16:12:44,146 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_mutual_friends_less_than None +2024-11-30 16:12:44,147 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_following_more_than None +2024-11-30 16:12:44,147 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_followers_more_than None +2024-11-30 16:12:44,147 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_posts_more_than None +2024-11-30 16:12:44,148 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_mutual_friends_more_than None +2024-11-30 16:12:44,148 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_following_to_followers_ratio_less_than None +2024-11-30 16:12:44,148 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_following_to_followers_ratio_more_than None +2024-11-30 16:12:44,148 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_followers_to_following_ratio_less_than None +2024-11-30 16:12:44,149 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_followers_to_following_ratio_more_than None +2024-11-30 16:12:44,149 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_potency_ratio_less_than None +2024-11-30 16:12:44,149 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | skip_if_potency_ratio_more_than None +2024-11-30 16:12:44,150 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | ---------------------------------------------------------------------- +2024-11-30 16:12:44,150 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | Session ending conditions: Value +2024-11-30 16:12:44,150 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | ---------------------------------------------------------------------- +2024-11-30 16:12:44,151 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | Likes: False +2024-11-30 16:12:44,151 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | Follows: False +2024-11-30 16:12:44,151 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | Watches: False +2024-11-30 16:12:44,151 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | Comments: False +2024-11-30 16:12:44,152 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | PM: False +2024-11-30 16:12:44,152 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | Total actions: True (not mutable) +2024-11-30 16:12:44,153 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | Total successfull actions: True (not mutable) +2024-11-30 16:12:44,153 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | For more info -> https://github.com/GramAddict/docs/blob/main/configuration.md#ending-session-conditions +2024-11-30 16:12:44,153 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | ---------------------------------------------------------------------- +2024-11-30 16:12:44,153 - api.main - INFO - STDERR: [11/30 16:12:44] DEBUG | Whole day mode. +2024-11-30 16:12:44,154 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | Checking session limits: +2024-11-30 16:12:44,154 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | - Total Likes: OK (0/140) +2024-11-30 16:12:44,154 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | - Total Comments: OK (0/23) +2024-11-30 16:12:44,155 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | - Total PM: OK (0/5) +2024-11-30 16:12:44,155 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | - Total Followed: OK (0/47) +2024-11-30 16:12:44,156 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | - Total Unfollowed: OK (0/48) +2024-11-30 16:12:44,156 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | - Total Watched: OK (0/144) +2024-11-30 16:12:44,156 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | - Total Successful Interactions: OK (0/138) +2024-11-30 16:12:44,156 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | - Total Interactions: OK (0/290) +2024-11-30 16:12:44,156 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | - Total Crashes: OK (0/5) +2024-11-30 16:12:44,157 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | - Total Successful Scraped Users: OK (0/123) +2024-11-30 16:12:44,814 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | Current active-job: init-db +2024-11-30 16:12:44,814 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | ================================================================================ +2024-11-30 16:12:44,814 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | Starting database initialization... +2024-11-30 16:12:44,815 - api.main - INFO - STDERR: [11/30 16:12:44] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:12:45,822 - api.main - INFO - STDERR: [11/30 16:12:45] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:12:46,824 - api.main - INFO - STDERR: [11/30 16:12:46] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:12:47,825 - api.main - INFO - STDERR: [11/30 16:12:47] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:12:48,839 - api.main - INFO - STDERR: [11/30 16:12:48] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:12:49,850 - api.main - INFO - STDERR: [11/30 16:12:49] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:12:50,859 - api.main - INFO - STDERR: [11/30 16:12:50] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:12:51,864 - api.main - INFO - STDERR: [11/30 16:12:51] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:12:52,869 - api.main - INFO - STDERR: [11/30 16:12:52] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:12:53,879 - api.main - INFO - STDERR: [11/30 16:12:53] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:12:54,890 - api.main - INFO - STDERR: [11/30 16:12:54] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:12:55,898 - api.main - INFO - STDERR: [11/30 16:12:55] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:12:56,911 - api.main - INFO - STDERR: [11/30 16:12:56] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:12:57,917 - api.main - INFO - STDERR: [11/30 16:12:57] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:12:58,929 - api.main - INFO - STDERR: [11/30 16:12:58] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:12:59,943 - api.main - INFO - STDERR: [11/30 16:12:59] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:13:00,947 - api.main - INFO - STDERR: [11/30 16:13:00] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:13:01,958 - api.main - INFO - STDERR: [11/30 16:13:01] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:13:02,967 - api.main - INFO - STDERR: [11/30 16:13:02] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:13:03,976 - api.main - INFO - STDERR: [11/30 16:13:03] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:13:04,989 - api.main - INFO - STDERR: [11/30 16:13:04] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:13:05,999 - api.main - INFO - STDERR: [11/30 16:13:05] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:13:07,009 - api.main - INFO - STDERR: [11/30 16:13:07] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:13:08,019 - api.main - INFO - STDERR: [11/30 16:13:08] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:13:09,031 - api.main - INFO - STDERR: [11/30 16:13:09] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:13:10,039 - api.main - INFO - STDERR: [11/30 16:13:10] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:13:11,048 - api.main - INFO - STDERR: [11/30 16:13:11] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:13:12,059 - api.main - INFO - STDERR: [11/30 16:13:12] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:13:13,061 - api.main - INFO - STDERR: [11/30 16:13:13] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:13:14,066 - api.main - INFO - STDERR: [11/30 16:13:14] INFO | Waiting for NocoDB plugin to initialize... +2024-11-30 16:13:15,073 - api.main - INFO - STDERR: [11/30 16:13:15] WARNING | NocoDB plugin not found or not enabled. Please enable it with --use-nocodb +2024-11-30 16:13:15,073 - api.main - INFO - STDERR: [11/30 16:13:15] DEBUG | Whole day mode. +2024-11-30 16:13:15,074 - api.main - INFO - STDERR: [11/30 16:13:15] INFO | Checking session limits: +2024-11-30 16:13:15,074 - api.main - INFO - STDERR: [11/30 16:13:15] INFO | - Total Likes: OK (0/140) +2024-11-30 16:13:15,074 - api.main - INFO - STDERR: [11/30 16:13:15] INFO | - Total Comments: OK (0/23) +2024-11-30 16:13:15,075 - api.main - INFO - STDERR: [11/30 16:13:15] INFO | - Total PM: OK (0/5) +2024-11-30 16:13:15,075 - api.main - INFO - STDERR: [11/30 16:13:15] INFO | - Total Followed: OK (0/47) +2024-11-30 16:13:15,075 - api.main - INFO - STDERR: [11/30 16:13:15] INFO | - Total Unfollowed: OK (0/48) +2024-11-30 16:13:15,075 - api.main - INFO - STDERR: [11/30 16:13:15] INFO | - Total Watched: OK (0/144) +2024-11-30 16:13:15,076 - api.main - INFO - STDERR: [11/30 16:13:15] INFO | - Total Successful Interactions: OK (0/138) +2024-11-30 16:13:15,076 - api.main - INFO - STDERR: [11/30 16:13:15] INFO | - Total Interactions: OK (0/290) +2024-11-30 16:13:15,076 - api.main - INFO - STDERR: [11/30 16:13:15] INFO | - Total Crashes: OK (0/5) +2024-11-30 16:13:15,076 - api.main - INFO - STDERR: [11/30 16:13:15] INFO | - Total Successful Scraped Users: OK (0/123) +2024-11-30 16:13:23,971 - api.main - INFO - STDERR: [11/30 16:13:23] ERROR | Unable to find action bar! (The element with the username at top) +2024-11-30 16:13:23,971 - api.main - INFO - STDERR: [11/30 16:13:23] ERROR | Cannot get username. +2024-11-30 16:13:23,971 - api.main - INFO - STDERR: [11/30 16:13:23] DEBUG | Not in your main profile. +2024-11-30 16:13:23,972 - api.main - INFO - STDERR: [11/30 16:13:23] DEBUG | Navigate to PROFILE +2024-11-30 16:13:25,395 - api.main - INFO - STDERR: [11/30 16:13:25] ERROR | Didn't find tab PROFILE in the tab bar... +2024-11-30 16:13:25,769 - api.main - INFO - STDERR: [11/30 16:13:25] INFO | Current active-job: use-nocodb +2024-11-30 16:13:25,769 - api.main - INFO - STDERR: 2024-11-30 16:13:25,769 - nocodb_operations - INFO - Initializing NocoDB storage... +2024-11-30 16:13:25,769 - api.main - INFO - STDERR: 2024-11-30 16:13:25,769 - nocodb_operations - INFO - Loading NocoDB configuration... +2024-11-30 16:13:25,779 - api.main - INFO - STDERR: 2024-11-30 16:13:25,779 - nocodb_operations - INFO - Testing NocoDB connection... +2024-11-30 16:13:25,806 - api.main - INFO - STDERR: 2024-11-30 16:13:25,806 - nocodb_operations - INFO - Verifying project pvazjom12m1ho5k... +2024-11-30 16:13:25,822 - api.main - INFO - STDERR: 2024-11-30 16:13:25,822 - nocodb_operations - INFO - NocoDB connection successful! +2024-11-30 16:13:25,822 - api.main - INFO - STDERR: 2024-11-30 16:13:25,822 - nocodb_operations - INFO - Initializing tables... +2024-11-30 16:13:25,822 - api.main - INFO - STDERR: 2024-11-30 16:13:25,822 - nocodb_operations - INFO - NocoDB: Initializing tables... +2024-11-30 16:13:25,851 - api.main - INFO - STDERR: 2024-11-30 16:13:25,851 - nocodb_operations - INFO - NocoDB: Project pvazjom12m1ho5k exists +2024-11-30 16:13:25,868 - api.main - INFO - STDERR: 2024-11-30 16:13:25,868 - nocodb_operations - INFO - NocoDB: Table Interacted Users already exists +2024-11-30 16:13:25,868 - api.main - INFO - STDERR: 2024-11-30 16:13:25,868 - nocodb_operations - INFO - NocoDB: Table History Filters Users already exists +2024-11-30 16:13:25,871 - api.main - INFO - STDERR: 2024-11-30 16:13:25,868 - nocodb_operations - INFO - NocoDB: Tables initialized successfully +2024-11-30 16:13:25,871 - api.main - INFO - STDERR: [11/30 16:13:25] INFO | NocoDB reference set in storage +2024-11-30 16:13:25,871 - api.main - INFO - STDERR: 2024-11-30 16:13:25,871 - nocodb_operations - INFO - NocoDB storage initialized successfully! +2024-11-30 16:13:25,871 - api.main - INFO - STDERR: [11/30 16:13:25] DEBUG | Whole day mode. +2024-11-30 16:13:25,872 - api.main - INFO - STDERR: [11/30 16:13:25] INFO | Checking session limits: +2024-11-30 16:13:25,872 - api.main - INFO - STDERR: [11/30 16:13:25] INFO | - Total Likes: OK (0/140) +2024-11-30 16:13:25,872 - api.main - INFO - STDERR: [11/30 16:13:25] INFO | - Total Comments: OK (0/23) +2024-11-30 16:13:25,872 - api.main - INFO - STDERR: [11/30 16:13:25] INFO | - Total PM: OK (0/5) +2024-11-30 16:13:25,873 - api.main - INFO - STDERR: [11/30 16:13:25] INFO | - Total Followed: OK (0/47) +2024-11-30 16:13:25,873 - api.main - INFO - STDERR: [11/30 16:13:25] INFO | - Total Unfollowed: OK (0/48) +2024-11-30 16:13:25,874 - api.main - INFO - STDERR: [11/30 16:13:25] INFO | - Total Watched: OK (0/144) +2024-11-30 16:13:25,874 - api.main - INFO - STDERR: [11/30 16:13:25] INFO | - Total Successful Interactions: OK (0/138) +2024-11-30 16:13:25,874 - api.main - INFO - STDERR: [11/30 16:13:25] INFO | - Total Interactions: OK (0/290) +2024-11-30 16:13:25,874 - api.main - INFO - STDERR: [11/30 16:13:25] INFO | - Total Crashes: OK (0/5) +2024-11-30 16:13:25,875 - api.main - INFO - STDERR: [11/30 16:13:25] INFO | - Total Successful Scraped Users: OK (0/123) +2024-11-30 16:13:34,925 - api.main - INFO - STDERR: [11/30 16:13:34] ERROR | Unable to find action bar! (The element with the username at top) +2024-11-30 16:13:34,925 - api.main - INFO - STDERR: [11/30 16:13:34] ERROR | Cannot get username. +2024-11-30 16:13:34,926 - api.main - INFO - STDERR: [11/30 16:13:34] DEBUG | Not in your main profile. +2024-11-30 16:13:34,926 - api.main - INFO - STDERR: [11/30 16:13:34] DEBUG | Navigate to PROFILE +2024-11-30 16:13:36,518 - api.main - INFO - STDERR: [11/30 16:13:36] ERROR | Didn't find tab PROFILE in the tab bar... +2024-11-30 16:13:37,001 - api.main - INFO - STDERR: [11/30 16:13:37] INFO | Current active-job: blogger-followers +2024-11-30 16:13:37,002 - api.main - INFO - STDERR: [11/30 16:13:37] INFO | Source list truncated at 1 item. +2024-11-30 16:13:37,003 - api.main - INFO - STDERR: [11/30 16:13:37] INFO | In this session, that source will be handled: mnaumanndesign +2024-11-30 16:13:37,003 - api.main - INFO - STDERR: [11/30 16:13:37] DEBUG | Checking session limits: +2024-11-30 16:13:37,004 - api.main - INFO - STDERR: [11/30 16:13:37] DEBUG | - Total Likes: OK (0/140) +2024-11-30 16:13:37,004 - api.main - INFO - STDERR: [11/30 16:13:37] DEBUG | - Total Comments: OK (0/23) +2024-11-30 16:13:37,004 - api.main - INFO - STDERR: [11/30 16:13:37] DEBUG | - Total PM: OK (0/5) +2024-11-30 16:13:37,004 - api.main - INFO - STDERR: [11/30 16:13:37] DEBUG | - Total Followed: OK (0/47) +2024-11-30 16:13:37,005 - api.main - INFO - STDERR: [11/30 16:13:37] DEBUG | - Total Unfollowed: OK (0/48) +2024-11-30 16:13:37,005 - api.main - INFO - STDERR: [11/30 16:13:37] DEBUG | - Total Watched: OK (0/144) +2024-11-30 16:13:37,005 - api.main - INFO - STDERR: [11/30 16:13:37] DEBUG | - Total Successful Interactions: OK (0/138) +2024-11-30 16:13:37,005 - api.main - INFO - STDERR: [11/30 16:13:37] DEBUG | - Total Interactions: OK (0/290) +2024-11-30 16:13:37,006 - api.main - INFO - STDERR: [11/30 16:13:37] DEBUG | - Total Crashes: OK (0/5) +2024-11-30 16:13:37,006 - api.main - INFO - STDERR: [11/30 16:13:37] DEBUG | - Total Successful Scraped Users: OK (0/123) +2024-11-30 16:13:37,006 - api.main - INFO - STDERR: [11/30 16:13:37] INFO | Handle mnaumanndesign +2024-11-30 16:13:37,006 - api.main - INFO - STDERR: [11/30 16:13:37] INFO | Interactions count: 364 +2024-11-30 16:13:37,007 - api.main - INFO - STDERR: [11/30 16:13:37] INFO | Chance of watching stories: 35% +2024-11-30 16:13:37,007 - api.main - INFO - STDERR: [11/30 16:13:37] INFO | Chance of liking: 100% +2024-11-30 16:13:37,007 - api.main - INFO - STDERR: [11/30 16:13:37] INFO | Chance of following: 32% +2024-11-30 16:13:37,007 - api.main - INFO - STDERR: [11/30 16:13:37] INFO | Chance of commenting: 0% +2024-11-30 16:13:37,008 - api.main - INFO - STDERR: [11/30 16:13:37] INFO | Chance of interacting: 36% +2024-11-30 16:13:37,008 - api.main - INFO - STDERR: [11/30 16:13:37] INFO | Chance of send PM: 0% +2024-11-30 16:13:37,008 - api.main - INFO - STDERR: [11/30 16:13:37] DEBUG | Navigate to SEARCH +2024-11-30 16:13:37,853 - api.main - INFO - STDERR: [11/30 16:13:37] DEBUG | Didn't find search in the tab bar... +2024-11-30 16:13:37,854 - api.main - INFO - STDERR: [11/30 16:13:37] DEBUG | Navigate to HOME +2024-11-30 16:13:43,716 - api.main - INFO - STDERR: [11/30 16:13:43] ERROR | Didn't find tab HOME in the tab bar... +2024-11-30 16:13:44,078 - api.main - INFO - STDERR: [11/30 16:13:44] DEBUG | Navigate to Search +2024-11-30 16:13:45,518 - api.main - INFO - STDERR: [11/30 16:13:45] ERROR | Traceback (most recent call last): +2024-11-30 16:13:45,518 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 620, in get_bounds +2024-11-30 16:13:45,518 - api.main - INFO - STDERR: return self.viewV2.info["bounds"] +2024-11-30 16:13:45,518 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\decorator.py", line 232, in fun +2024-11-30 16:13:45,518 - api.main - INFO - STDERR: return caller(func, *(extras + args), **kw) +2024-11-30 16:13:45,518 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 73, in retry_decorator +2024-11-30 16:13:45,518 - api.main - INFO - STDERR: return __retry_internal(partial(f, *args, **kwargs), exceptions, tries, delay, max_delay, backoff, jitter, +2024-11-30 16:13:45,519 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 33, in __retry_internal +2024-11-30 16:13:45,519 - api.main - INFO - STDERR: return f() +2024-11-30 16:13:45,519 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_selector.py", line 130, in info +2024-11-30 16:13:45,519 - api.main - INFO - STDERR: return self.jsonrpc.objInfo(self.selector) +2024-11-30 16:13:45,519 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 480, in __call__ +2024-11-30 16:13:45,519 - api.main - INFO - STDERR: return self.server._jsonrpc_retry_call(self.method, params, +2024-11-30 16:13:45,519 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 487, in _jsonrpc_retry_call +2024-11-30 16:13:45,519 - api.main - INFO - STDERR: return self._jsonrpc_call(*args, **kwargs) +2024-11-30 16:13:45,520 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 556, in _jsonrpc_call +2024-11-30 16:13:45,520 - api.main - INFO - STDERR: raise err +2024-11-30 16:13:45,520 - api.main - INFO - STDERR: uiautomator2.exceptions.UiObjectNotFoundError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 16:13:45,520 - api.main - INFO - STDERR: During handling of the above exception, another exception occurred: +2024-11-30 16:13:45,520 - api.main - INFO - STDERR: Traceback (most recent call last): +2024-11-30 16:13:45,520 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py", line 31, in wrapper +2024-11-30 16:13:45,520 - api.main - INFO - STDERR: func(*args, **kwargs) +2024-11-30 16:13:45,520 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 109, in job +2024-11-30 16:13:45,520 - api.main - INFO - STDERR: self.handle_blogger( +2024-11-30 16:13:45,520 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 185, in handle_blogger +2024-11-30 16:13:45,520 - api.main - INFO - STDERR: handle_followers( +2024-11-30 16:13:45,520 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py", line 674, in handle_followers +2024-11-30 16:13:45,520 - api.main - INFO - STDERR: if not nav_to_blogger(device, username, current_job): +2024-11-30 16:13:45,520 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\navigation.py", line 48, in nav_to_blogger +2024-11-30 16:13:45,520 - api.main - INFO - STDERR: search_view = TabBarView(device).navigateToSearch() +2024-11-30 16:13:45,520 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 113, in navigateToSearch +2024-11-30 16:13:45,521 - api.main - INFO - STDERR: self._navigateTo(TabBarTabs.SEARCH) +2024-11-30 16:13:45,521 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 157, in _navigateTo +2024-11-30 16:13:45,521 - api.main - INFO - STDERR: home_view.navigateToSearch() +2024-11-30 16:13:45,521 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 219, in navigateToSearch +2024-11-30 16:13:45,521 - api.main - INFO - STDERR: search_btn.click() +2024-11-30 16:13:45,521 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 464, in click +2024-11-30 16:13:45,521 - api.main - INFO - STDERR: visible_bounds = self.get_bounds() +2024-11-30 16:13:45,521 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 622, in get_bounds +2024-11-30 16:13:45,521 - api.main - INFO - STDERR: raise DeviceFacade.JsonRpcError(e) +2024-11-30 16:13:45,521 - api.main - INFO - STDERR: GramAddict.core.device_facade.DeviceFacade.JsonRpcError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 16:13:46,055 - api.main - INFO - STDERR: [11/30 16:13:46] INFO | Crash saved as crashes\3.2.12_2024-11-30-16-13-45.zip +2024-11-30 16:13:46,055 - api.main - INFO - STDERR: [11/30 16:13:46] INFO | If you want to report this crash, please upload the dump file via a ticket in the #lobby channel on discord +2024-11-30 16:13:46,055 - api.main - INFO - STDERR: [11/30 16:13:46] INFO | https://discord.gg/66zWWCDM7x +2024-11-30 16:13:46,751 - api.main - INFO - STDERR: [11/30 16:13:46] INFO | List of running apps: com.qualcomm.qti.telephonyservice, com.google.android.inputmethod.latin, com.google.android.ext.services, com.android.chrome, com.google.android.apps.nexuslauncher, com.google.android.apps.scone, com.google.android.ims, com.google.android.apps.messaging, com.instagram.android, com.android.se, com.google.android.apps.youtube.music, com.google.android.gms, com.google.android.as, com.google.android.apps.maps, com.google.SSRestartDetector, com.android.systemui, com.android.phone, com.github.uiautomator, com.google.android.providers.media.module, com.breel.wallpapers, com.google.modemservice, org.thoughtcrime.securesms, com.qualcomm.qcrilmsgtunnel, com.android.nfc, com.google.android.tts. +2024-11-30 16:13:46,752 - api.main - INFO - STDERR: [11/30 16:13:46] INFO | - Total Crashes: OK (1/5) +2024-11-30 16:13:46,752 - api.main - INFO - STDERR: [11/30 16:13:46] INFO | Something unexpected happened. Let's try again. +2024-11-30 16:13:46,752 - api.main - INFO - STDERR: [11/30 16:13:46] INFO | Close Instagram app. +2024-11-30 16:13:46,912 - api.main - INFO - STDERR: [11/30 16:13:46] DEBUG | 5.0s sleep +2024-11-30 16:13:52,570 - api.main - INFO - STDERR: [11/30 16:13:52] DEBUG | 1.55s sleep +2024-11-30 16:13:54,136 - api.main - INFO - STDERR: [11/30 16:13:54] INFO | Open Instagram app. +2024-11-30 16:13:54,643 - api.main - INFO - STDERR: [11/30 16:13:54] DEBUG | Instagram called successfully. +2024-11-30 16:13:55,875 - api.main - INFO - STDERR: [11/30 16:13:55] INFO | Ready for botting!\U0001f92b +2024-11-30 16:13:55,876 - api.main - INFO - STDERR: [11/30 16:13:55] DEBUG | 1.70s sleep +2024-11-30 16:13:57,587 - api.main - INFO - STDERR: [11/30 16:13:57] DEBUG | Setting FastInputIME as default keyboard. +2024-11-30 16:13:57,867 - api.main - INFO - STDERR: [11/30 16:13:57] INFO | FastInputIME is the default keyboard. +2024-11-30 16:13:57,867 - api.main - INFO - STDERR: [11/30 16:13:57] DEBUG | Navigate to PROFILE +2024-11-30 16:13:58,841 - api.main - INFO - STDERR: [11/30 16:13:58] ERROR | Didn't find tab PROFILE in the tab bar... +2024-11-30 16:13:59,068 - api.main - INFO - STDERR: [11/30 16:13:59] DEBUG | Navigate to SEARCH +2024-11-30 16:13:59,575 - api.main - INFO - STDERR: [11/30 16:13:59] DEBUG | Didn't find search in the tab bar... +2024-11-30 16:13:59,575 - api.main - INFO - STDERR: [11/30 16:13:59] DEBUG | Navigate to HOME +2024-11-30 16:14:05,350 - api.main - INFO - STDERR: [11/30 16:14:05] ERROR | Didn't find tab HOME in the tab bar... +2024-11-30 16:14:05,768 - api.main - INFO - STDERR: [11/30 16:14:05] DEBUG | Navigate to Search +2024-11-30 16:14:07,128 - api.main - INFO - STDERR: [11/30 16:14:07] ERROR | Traceback (most recent call last): +2024-11-30 16:14:07,130 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 620, in get_bounds +2024-11-30 16:14:07,130 - api.main - INFO - STDERR: return self.viewV2.info["bounds"] +2024-11-30 16:14:07,130 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\decorator.py", line 232, in fun +2024-11-30 16:14:07,130 - api.main - INFO - STDERR: return caller(func, *(extras + args), **kw) +2024-11-30 16:14:07,130 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 73, in retry_decorator +2024-11-30 16:14:07,130 - api.main - INFO - STDERR: return __retry_internal(partial(f, *args, **kwargs), exceptions, tries, delay, max_delay, backoff, jitter, +2024-11-30 16:14:07,130 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 33, in __retry_internal +2024-11-30 16:14:07,130 - api.main - INFO - STDERR: return f() +2024-11-30 16:14:07,130 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_selector.py", line 130, in info +2024-11-30 16:14:07,130 - api.main - INFO - STDERR: return self.jsonrpc.objInfo(self.selector) +2024-11-30 16:14:07,130 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 480, in __call__ +2024-11-30 16:14:07,130 - api.main - INFO - STDERR: return self.server._jsonrpc_retry_call(self.method, params, +2024-11-30 16:14:07,130 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 487, in _jsonrpc_retry_call +2024-11-30 16:14:07,130 - api.main - INFO - STDERR: return self._jsonrpc_call(*args, **kwargs) +2024-11-30 16:14:07,131 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 556, in _jsonrpc_call +2024-11-30 16:14:07,131 - api.main - INFO - STDERR: raise err +2024-11-30 16:14:07,131 - api.main - INFO - STDERR: uiautomator2.exceptions.UiObjectNotFoundError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 16:14:07,131 - api.main - INFO - STDERR: During handling of the above exception, another exception occurred: +2024-11-30 16:14:07,131 - api.main - INFO - STDERR: Traceback (most recent call last): +2024-11-30 16:14:07,131 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py", line 31, in wrapper +2024-11-30 16:14:07,131 - api.main - INFO - STDERR: func(*args, **kwargs) +2024-11-30 16:14:07,131 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 109, in job +2024-11-30 16:14:07,131 - api.main - INFO - STDERR: self.handle_blogger( +2024-11-30 16:14:07,131 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 185, in handle_blogger +2024-11-30 16:14:07,131 - api.main - INFO - STDERR: handle_followers( +2024-11-30 16:14:07,131 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py", line 674, in handle_followers +2024-11-30 16:14:07,132 - api.main - INFO - STDERR: if not nav_to_blogger(device, username, current_job): +2024-11-30 16:14:07,132 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\navigation.py", line 48, in nav_to_blogger +2024-11-30 16:14:07,132 - api.main - INFO - STDERR: search_view = TabBarView(device).navigateToSearch() +2024-11-30 16:14:07,132 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 113, in navigateToSearch +2024-11-30 16:14:07,132 - api.main - INFO - STDERR: self._navigateTo(TabBarTabs.SEARCH) +2024-11-30 16:14:07,132 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 157, in _navigateTo +2024-11-30 16:14:07,132 - api.main - INFO - STDERR: home_view.navigateToSearch() +2024-11-30 16:14:07,132 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 219, in navigateToSearch +2024-11-30 16:14:07,132 - api.main - INFO - STDERR: search_btn.click() +2024-11-30 16:14:07,132 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 464, in click +2024-11-30 16:14:07,132 - api.main - INFO - STDERR: visible_bounds = self.get_bounds() +2024-11-30 16:14:07,132 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 622, in get_bounds +2024-11-30 16:14:07,132 - api.main - INFO - STDERR: raise DeviceFacade.JsonRpcError(e) +2024-11-30 16:14:07,133 - api.main - INFO - STDERR: GramAddict.core.device_facade.DeviceFacade.JsonRpcError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 16:14:07,712 - api.main - INFO - STDERR: [11/30 16:14:07] INFO | Crash saved as crashes\3.2.12_2024-11-30-16-14-07.zip +2024-11-30 16:14:07,712 - api.main - INFO - STDERR: [11/30 16:14:07] INFO | If you want to report this crash, please upload the dump file via a ticket in the #lobby channel on discord +2024-11-30 16:14:07,712 - api.main - INFO - STDERR: [11/30 16:14:07] INFO | https://discord.gg/66zWWCDM7x +2024-11-30 16:14:08,472 - api.main - INFO - STDERR: [11/30 16:14:08] INFO | List of running apps: com.qualcomm.qti.telephonyservice, com.google.android.inputmethod.latin, com.google.android.ext.services, com.android.chrome, com.google.android.apps.nexuslauncher, com.google.android.apps.scone, com.google.android.ims, com.google.android.apps.messaging, com.instagram.android, com.android.se, com.google.android.apps.youtube.music, com.google.android.gms, com.google.android.as, com.google.android.apps.maps, com.google.android.euicc, com.google.SSRestartDetector, com.android.systemui, com.android.phone, com.github.uiautomator, com.google.android.providers.media.module, com.breel.wallpapers, com.google.modemservice, org.thoughtcrime.securesms, com.qualcomm.qcrilmsgtunnel, com.android.nfc, com.google.android.tts. +2024-11-30 16:14:08,472 - api.main - INFO - STDERR: [11/30 16:14:08] INFO | - Total Crashes: OK (2/5) +2024-11-30 16:14:08,472 - api.main - INFO - STDERR: [11/30 16:14:08] INFO | Something unexpected happened. Let's try again. +2024-11-30 16:14:08,473 - api.main - INFO - STDERR: [11/30 16:14:08] INFO | Close Instagram app. +2024-11-30 16:14:08,607 - api.main - INFO - STDERR: [11/30 16:14:08] DEBUG | 5.0s sleep +2024-11-30 16:14:14,282 - api.main - INFO - STDERR: [11/30 16:14:14] DEBUG | 2.27s sleep +2024-11-30 16:14:16,564 - api.main - INFO - STDERR: [11/30 16:14:16] INFO | Open Instagram app. +2024-11-30 16:14:17,000 - api.main - INFO - STDERR: [11/30 16:14:17] DEBUG | Instagram called successfully. +2024-11-30 16:14:18,387 - api.main - INFO - STDERR: [11/30 16:14:18] INFO | Ready for botting!\U0001f92b +2024-11-30 16:14:18,388 - api.main - INFO - STDERR: [11/30 16:14:18] DEBUG | 1.17s sleep +2024-11-30 16:14:19,573 - api.main - INFO - STDERR: [11/30 16:14:19] DEBUG | Setting FastInputIME as default keyboard. +2024-11-30 16:14:19,831 - api.main - INFO - STDERR: [11/30 16:14:19] INFO | FastInputIME is the default keyboard. +2024-11-30 16:14:19,831 - api.main - INFO - STDERR: [11/30 16:14:19] DEBUG | Navigate to PROFILE +2024-11-30 16:14:20,731 - api.main - INFO - STDERR: [11/30 16:14:20] ERROR | Didn't find tab PROFILE in the tab bar... +2024-11-30 16:14:21,026 - api.main - INFO - STDERR: [11/30 16:14:21] DEBUG | Navigate to SEARCH +2024-11-30 16:14:21,582 - api.main - INFO - STDERR: [11/30 16:14:21] DEBUG | Didn't find search in the tab bar... +2024-11-30 16:14:21,583 - api.main - INFO - STDERR: [11/30 16:14:21] DEBUG | Navigate to HOME +2024-11-30 16:14:27,448 - api.main - INFO - STDERR: [11/30 16:14:27] ERROR | Didn't find tab HOME in the tab bar... +2024-11-30 16:14:27,759 - api.main - INFO - STDERR: [11/30 16:14:27] DEBUG | Navigate to Search +2024-11-30 16:14:29,142 - api.main - INFO - STDERR: [11/30 16:14:29] ERROR | Traceback (most recent call last): +2024-11-30 16:14:29,142 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 620, in get_bounds +2024-11-30 16:14:29,142 - api.main - INFO - STDERR: return self.viewV2.info["bounds"] +2024-11-30 16:14:29,142 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\decorator.py", line 232, in fun +2024-11-30 16:14:29,142 - api.main - INFO - STDERR: return caller(func, *(extras + args), **kw) +2024-11-30 16:14:29,142 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 73, in retry_decorator +2024-11-30 16:14:29,143 - api.main - INFO - STDERR: return __retry_internal(partial(f, *args, **kwargs), exceptions, tries, delay, max_delay, backoff, jitter, +2024-11-30 16:14:29,143 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 33, in __retry_internal +2024-11-30 16:14:29,143 - api.main - INFO - STDERR: return f() +2024-11-30 16:14:29,143 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_selector.py", line 130, in info +2024-11-30 16:14:29,143 - api.main - INFO - STDERR: return self.jsonrpc.objInfo(self.selector) +2024-11-30 16:14:29,143 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 480, in __call__ +2024-11-30 16:14:29,143 - api.main - INFO - STDERR: return self.server._jsonrpc_retry_call(self.method, params, +2024-11-30 16:14:29,143 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 487, in _jsonrpc_retry_call +2024-11-30 16:14:29,143 - api.main - INFO - STDERR: return self._jsonrpc_call(*args, **kwargs) +2024-11-30 16:14:29,143 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 556, in _jsonrpc_call +2024-11-30 16:14:29,143 - api.main - INFO - STDERR: raise err +2024-11-30 16:14:29,144 - api.main - INFO - STDERR: uiautomator2.exceptions.UiObjectNotFoundError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 16:14:29,144 - api.main - INFO - STDERR: During handling of the above exception, another exception occurred: +2024-11-30 16:14:29,144 - api.main - INFO - STDERR: Traceback (most recent call last): +2024-11-30 16:14:29,144 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py", line 31, in wrapper +2024-11-30 16:14:29,144 - api.main - INFO - STDERR: func(*args, **kwargs) +2024-11-30 16:14:29,144 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 109, in job +2024-11-30 16:14:29,144 - api.main - INFO - STDERR: self.handle_blogger( +2024-11-30 16:14:29,144 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 185, in handle_blogger +2024-11-30 16:14:29,144 - api.main - INFO - STDERR: handle_followers( +2024-11-30 16:14:29,144 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py", line 674, in handle_followers +2024-11-30 16:14:29,144 - api.main - INFO - STDERR: if not nav_to_blogger(device, username, current_job): +2024-11-30 16:14:29,144 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\navigation.py", line 48, in nav_to_blogger +2024-11-30 16:14:29,144 - api.main - INFO - STDERR: search_view = TabBarView(device).navigateToSearch() +2024-11-30 16:14:29,144 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 113, in navigateToSearch +2024-11-30 16:14:29,144 - api.main - INFO - STDERR: self._navigateTo(TabBarTabs.SEARCH) +2024-11-30 16:14:29,144 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 157, in _navigateTo +2024-11-30 16:14:29,145 - api.main - INFO - STDERR: home_view.navigateToSearch() +2024-11-30 16:14:29,145 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 219, in navigateToSearch +2024-11-30 16:14:29,145 - api.main - INFO - STDERR: search_btn.click() +2024-11-30 16:14:29,145 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 464, in click +2024-11-30 16:14:29,145 - api.main - INFO - STDERR: visible_bounds = self.get_bounds() +2024-11-30 16:14:29,145 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 622, in get_bounds +2024-11-30 16:14:29,145 - api.main - INFO - STDERR: raise DeviceFacade.JsonRpcError(e) +2024-11-30 16:14:29,145 - api.main - INFO - STDERR: GramAddict.core.device_facade.DeviceFacade.JsonRpcError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 16:14:29,664 - api.main - INFO - STDERR: [11/30 16:14:29] INFO | Crash saved as crashes\3.2.12_2024-11-30-16-14-29.zip +2024-11-30 16:14:29,664 - api.main - INFO - STDERR: [11/30 16:14:29] INFO | If you want to report this crash, please upload the dump file via a ticket in the #lobby channel on discord +2024-11-30 16:14:29,665 - api.main - INFO - STDERR: [11/30 16:14:29] INFO | https://discord.gg/66zWWCDM7x +2024-11-30 16:14:30,312 - api.main - INFO - STDERR: [11/30 16:14:30] INFO | List of running apps: com.qualcomm.qti.telephonyservice, com.google.android.inputmethod.latin, com.google.android.ext.services, com.android.chrome, com.google.android.apps.nexuslauncher, com.google.android.apps.scone, com.google.android.ims, com.google.android.apps.messaging, com.instagram.android, com.android.se, com.google.android.apps.youtube.music, com.google.android.gms, com.google.android.as, com.google.android.apps.maps, com.google.android.euicc, com.google.SSRestartDetector, com.android.systemui, com.android.phone, com.github.uiautomator, com.google.android.providers.media.module, com.breel.wallpapers, com.google.modemservice, org.thoughtcrime.securesms, com.qualcomm.qcrilmsgtunnel, com.android.nfc, com.google.android.tts. +2024-11-30 16:14:30,312 - api.main - INFO - STDERR: [11/30 16:14:30] INFO | - Total Crashes: OK (3/5) +2024-11-30 16:14:30,312 - api.main - INFO - STDERR: [11/30 16:14:30] INFO | Something unexpected happened. Let's try again. +2024-11-30 16:14:30,313 - api.main - INFO - STDERR: [11/30 16:14:30] INFO | Close Instagram app. +2024-11-30 16:14:30,435 - api.main - INFO - STDERR: [11/30 16:14:30] DEBUG | 5.0s sleep +2024-11-30 16:14:36,043 - api.main - INFO - STDERR: [11/30 16:14:36] DEBUG | 2.57s sleep +2024-11-30 16:14:38,634 - api.main - INFO - STDERR: [11/30 16:14:38] INFO | Open Instagram app. +2024-11-30 16:14:39,131 - api.main - INFO - STDERR: [11/30 16:14:39] DEBUG | Instagram called successfully. +2024-11-30 16:14:40,517 - api.main - INFO - STDERR: [11/30 16:14:40] INFO | Ready for botting!\U0001f92b +2024-11-30 16:14:40,519 - api.main - INFO - STDERR: [11/30 16:14:40] DEBUG | 1.98s sleep +2024-11-30 16:14:42,502 - api.main - INFO - STDERR: [11/30 16:14:42] DEBUG | Setting FastInputIME as default keyboard. +2024-11-30 16:14:42,883 - api.main - INFO - STDERR: [11/30 16:14:42] INFO | FastInputIME is the default keyboard. +2024-11-30 16:14:42,884 - api.main - INFO - STDERR: [11/30 16:14:42] DEBUG | Navigate to PROFILE +2024-11-30 16:14:43,962 - api.main - INFO - STDERR: [11/30 16:14:43] ERROR | Didn't find tab PROFILE in the tab bar... +2024-11-30 16:14:44,252 - api.main - INFO - STDERR: [11/30 16:14:44] DEBUG | Navigate to SEARCH +2024-11-30 16:14:44,940 - api.main - INFO - STDERR: [11/30 16:14:44] DEBUG | Didn't find search in the tab bar... +2024-11-30 16:14:44,940 - api.main - INFO - STDERR: [11/30 16:14:44] DEBUG | Navigate to HOME +2024-11-30 16:14:50,823 - api.main - INFO - STDERR: [11/30 16:14:50] ERROR | Didn't find tab HOME in the tab bar... +2024-11-30 16:14:51,132 - api.main - INFO - STDERR: [11/30 16:14:51] DEBUG | Navigate to Search +2024-11-30 16:14:52,599 - api.main - INFO - STDERR: [11/30 16:14:52] ERROR | Traceback (most recent call last): +2024-11-30 16:14:52,600 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 620, in get_bounds +2024-11-30 16:14:52,600 - api.main - INFO - STDERR: return self.viewV2.info["bounds"] +2024-11-30 16:14:52,600 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\decorator.py", line 232, in fun +2024-11-30 16:14:52,600 - api.main - INFO - STDERR: return caller(func, *(extras + args), **kw) +2024-11-30 16:14:52,600 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 73, in retry_decorator +2024-11-30 16:14:52,600 - api.main - INFO - STDERR: return __retry_internal(partial(f, *args, **kwargs), exceptions, tries, delay, max_delay, backoff, jitter, +2024-11-30 16:14:52,600 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 33, in __retry_internal +2024-11-30 16:14:52,600 - api.main - INFO - STDERR: return f() +2024-11-30 16:14:52,600 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_selector.py", line 130, in info +2024-11-30 16:14:52,600 - api.main - INFO - STDERR: return self.jsonrpc.objInfo(self.selector) +2024-11-30 16:14:52,600 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 480, in __call__ +2024-11-30 16:14:52,600 - api.main - INFO - STDERR: return self.server._jsonrpc_retry_call(self.method, params, +2024-11-30 16:14:52,600 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 487, in _jsonrpc_retry_call +2024-11-30 16:14:52,600 - api.main - INFO - STDERR: return self._jsonrpc_call(*args, **kwargs) +2024-11-30 16:14:52,600 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 556, in _jsonrpc_call +2024-11-30 16:14:52,600 - api.main - INFO - STDERR: raise err +2024-11-30 16:14:52,600 - api.main - INFO - STDERR: uiautomator2.exceptions.UiObjectNotFoundError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 16:14:52,600 - api.main - INFO - STDERR: During handling of the above exception, another exception occurred: +2024-11-30 16:14:52,600 - api.main - INFO - STDERR: Traceback (most recent call last): +2024-11-30 16:14:52,600 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py", line 31, in wrapper +2024-11-30 16:14:52,600 - api.main - INFO - STDERR: func(*args, **kwargs) +2024-11-30 16:14:52,600 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 109, in job +2024-11-30 16:14:52,600 - api.main - INFO - STDERR: self.handle_blogger( +2024-11-30 16:14:52,601 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 185, in handle_blogger +2024-11-30 16:14:52,601 - api.main - INFO - STDERR: handle_followers( +2024-11-30 16:14:52,601 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py", line 674, in handle_followers +2024-11-30 16:14:52,601 - api.main - INFO - STDERR: if not nav_to_blogger(device, username, current_job): +2024-11-30 16:14:52,601 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\navigation.py", line 48, in nav_to_blogger +2024-11-30 16:14:52,601 - api.main - INFO - STDERR: search_view = TabBarView(device).navigateToSearch() +2024-11-30 16:14:52,601 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 113, in navigateToSearch +2024-11-30 16:14:52,601 - api.main - INFO - STDERR: self._navigateTo(TabBarTabs.SEARCH) +2024-11-30 16:14:52,601 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 157, in _navigateTo +2024-11-30 16:14:52,601 - api.main - INFO - STDERR: home_view.navigateToSearch() +2024-11-30 16:14:52,601 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 219, in navigateToSearch +2024-11-30 16:14:52,601 - api.main - INFO - STDERR: search_btn.click() +2024-11-30 16:14:52,601 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 464, in click +2024-11-30 16:14:52,602 - api.main - INFO - STDERR: visible_bounds = self.get_bounds() +2024-11-30 16:14:52,602 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 622, in get_bounds +2024-11-30 16:14:52,602 - api.main - INFO - STDERR: raise DeviceFacade.JsonRpcError(e) +2024-11-30 16:14:52,602 - api.main - INFO - STDERR: GramAddict.core.device_facade.DeviceFacade.JsonRpcError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 16:14:53,107 - api.main - INFO - STDERR: [11/30 16:14:53] INFO | Crash saved as crashes\3.2.12_2024-11-30-16-14-52.zip +2024-11-30 16:14:53,107 - api.main - INFO - STDERR: [11/30 16:14:53] INFO | If you want to report this crash, please upload the dump file via a ticket in the #lobby channel on discord +2024-11-30 16:14:53,108 - api.main - INFO - STDERR: [11/30 16:14:53] INFO | https://discord.gg/66zWWCDM7x +2024-11-30 16:14:53,891 - api.main - INFO - STDERR: [11/30 16:14:53] INFO | List of running apps: com.qualcomm.qti.telephonyservice, com.google.android.inputmethod.latin, com.google.android.ext.services, com.android.chrome, com.google.android.apps.nexuslauncher, com.google.android.apps.scone, com.google.android.ims, com.google.android.apps.messaging, com.instagram.android, com.android.se, com.google.android.apps.youtube.music, com.google.android.gms, com.google.android.as, com.google.android.apps.maps, com.google.android.euicc, com.google.SSRestartDetector, com.android.systemui, com.android.phone, com.github.uiautomator, com.google.android.providers.media.module, com.breel.wallpapers, com.google.modemservice, org.thoughtcrime.securesms, com.qualcomm.qcrilmsgtunnel, com.android.nfc, com.google.android.tts. +2024-11-30 16:14:53,891 - api.main - INFO - STDERR: [11/30 16:14:53] INFO | - Total Crashes: OK (4/5) +2024-11-30 16:14:53,891 - api.main - INFO - STDERR: [11/30 16:14:53] INFO | Something unexpected happened. Let's try again. +2024-11-30 16:14:53,892 - api.main - INFO - STDERR: [11/30 16:14:53] INFO | Close Instagram app. +2024-11-30 16:14:54,007 - api.main - INFO - STDERR: [11/30 16:14:54] DEBUG | 5.0s sleep +2024-11-30 16:14:59,660 - api.main - INFO - STDERR: [11/30 16:14:59] DEBUG | 1.71s sleep +2024-11-30 16:15:01,381 - api.main - INFO - STDERR: [11/30 16:15:01] INFO | Open Instagram app. +2024-11-30 16:15:01,848 - api.main - INFO - STDERR: [11/30 16:15:01] DEBUG | Instagram called successfully. +2024-11-30 16:15:03,238 - api.main - INFO - STDERR: [11/30 16:15:03] INFO | Ready for botting!\U0001f92b +2024-11-30 16:15:03,238 - api.main - INFO - STDERR: [11/30 16:15:03] DEBUG | 2.36s sleep +2024-11-30 16:15:05,605 - api.main - INFO - STDERR: [11/30 16:15:05] DEBUG | Setting FastInputIME as default keyboard. +2024-11-30 16:15:05,893 - api.main - INFO - STDERR: [11/30 16:15:05] INFO | FastInputIME is the default keyboard. +2024-11-30 16:15:05,893 - api.main - INFO - STDERR: [11/30 16:15:05] DEBUG | Navigate to PROFILE +2024-11-30 16:15:06,704 - api.main - INFO - STDERR: [11/30 16:15:06] ERROR | Didn't find tab PROFILE in the tab bar... +2024-11-30 16:15:07,049 - api.main - INFO - STDERR: [11/30 16:15:07] DEBUG | Navigate to SEARCH +2024-11-30 16:15:07,695 - api.main - INFO - STDERR: [11/30 16:15:07] DEBUG | Didn't find search in the tab bar... +2024-11-30 16:15:07,695 - api.main - INFO - STDERR: [11/30 16:15:07] DEBUG | Navigate to HOME +2024-11-30 16:15:13,433 - api.main - INFO - STDERR: [11/30 16:15:13] ERROR | Didn't find tab HOME in the tab bar... +2024-11-30 16:15:13,798 - api.main - INFO - STDERR: [11/30 16:15:13] DEBUG | Navigate to Search +2024-11-30 16:15:15,235 - api.main - INFO - STDERR: [11/30 16:15:15] ERROR | Traceback (most recent call last): +2024-11-30 16:15:15,235 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 620, in get_bounds +2024-11-30 16:15:15,235 - api.main - INFO - STDERR: return self.viewV2.info["bounds"] +2024-11-30 16:15:15,235 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\decorator.py", line 232, in fun +2024-11-30 16:15:15,235 - api.main - INFO - STDERR: return caller(func, *(extras + args), **kw) +2024-11-30 16:15:15,235 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 73, in retry_decorator +2024-11-30 16:15:15,235 - api.main - INFO - STDERR: return __retry_internal(partial(f, *args, **kwargs), exceptions, tries, delay, max_delay, backoff, jitter, +2024-11-30 16:15:15,235 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py", line 33, in __retry_internal +2024-11-30 16:15:15,235 - api.main - INFO - STDERR: return f() +2024-11-30 16:15:15,236 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_selector.py", line 130, in info +2024-11-30 16:15:15,236 - api.main - INFO - STDERR: return self.jsonrpc.objInfo(self.selector) +2024-11-30 16:15:15,236 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 480, in __call__ +2024-11-30 16:15:15,236 - api.main - INFO - STDERR: return self.server._jsonrpc_retry_call(self.method, params, +2024-11-30 16:15:15,236 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 487, in _jsonrpc_retry_call +2024-11-30 16:15:15,236 - api.main - INFO - STDERR: return self._jsonrpc_call(*args, **kwargs) +2024-11-30 16:15:15,236 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py", line 556, in _jsonrpc_call +2024-11-30 16:15:15,236 - api.main - INFO - STDERR: raise err +2024-11-30 16:15:15,237 - api.main - INFO - STDERR: uiautomator2.exceptions.UiObjectNotFoundError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 16:15:15,237 - api.main - INFO - STDERR: During handling of the above exception, another exception occurred: +2024-11-30 16:15:15,237 - api.main - INFO - STDERR: Traceback (most recent call last): +2024-11-30 16:15:15,237 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py", line 31, in wrapper +2024-11-30 16:15:15,237 - api.main - INFO - STDERR: func(*args, **kwargs) +2024-11-30 16:15:15,237 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 109, in job +2024-11-30 16:15:15,237 - api.main - INFO - STDERR: self.handle_blogger( +2024-11-30 16:15:15,237 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py", line 185, in handle_blogger +2024-11-30 16:15:15,237 - api.main - INFO - STDERR: handle_followers( +2024-11-30 16:15:15,237 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py", line 674, in handle_followers +2024-11-30 16:15:15,237 - api.main - INFO - STDERR: if not nav_to_blogger(device, username, current_job): +2024-11-30 16:15:15,237 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\navigation.py", line 48, in nav_to_blogger +2024-11-30 16:15:15,237 - api.main - INFO - STDERR: search_view = TabBarView(device).navigateToSearch() +2024-11-30 16:15:15,237 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 113, in navigateToSearch +2024-11-30 16:15:15,237 - api.main - INFO - STDERR: self._navigateTo(TabBarTabs.SEARCH) +2024-11-30 16:15:15,237 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 157, in _navigateTo +2024-11-30 16:15:15,238 - api.main - INFO - STDERR: home_view.navigateToSearch() +2024-11-30 16:15:15,238 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py", line 219, in navigateToSearch +2024-11-30 16:15:15,238 - api.main - INFO - STDERR: search_btn.click() +2024-11-30 16:15:15,238 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 464, in click +2024-11-30 16:15:15,238 - api.main - INFO - STDERR: visible_bounds = self.get_bounds() +2024-11-30 16:15:15,238 - api.main - INFO - STDERR: File "e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py", line 622, in get_bounds +2024-11-30 16:15:15,238 - api.main - INFO - STDERR: raise DeviceFacade.JsonRpcError(e) +2024-11-30 16:15:15,238 - api.main - INFO - STDERR: GramAddict.core.device_facade.DeviceFacade.JsonRpcError: -32001 Jsonrpc error: data: UiSelector[CLASS=android.widget.FrameLayout, CHILD=UiSelector[DESCRIPTION_REGEX=(?i)(Search and Explore)], RESOURCE_ID_REGEX=(?i)(com.instagram.android:id/action_bar_container)], method: objInfo +2024-11-30 16:15:15,672 - api.main - INFO - STDERR: [11/30 16:15:15] INFO | Crash saved as crashes\3.2.12_2024-11-30-16-15-15.zip +2024-11-30 16:15:15,672 - api.main - INFO - STDERR: [11/30 16:15:15] INFO | If you want to report this crash, please upload the dump file via a ticket in the #lobby channel on discord +2024-11-30 16:15:15,673 - api.main - INFO - STDERR: [11/30 16:15:15] INFO | https://discord.gg/66zWWCDM7x +2024-11-30 16:15:16,583 - api.main - INFO - STDERR: [11/30 16:15:16] INFO | List of running apps: com.qualcomm.qti.telephonyservice, com.google.android.inputmethod.latin, com.google.android.ext.services, com.android.chrome, com.google.android.apps.nexuslauncher, com.google.android.apps.scone, com.google.android.ims, com.google.android.apps.messaging, com.instagram.android, com.android.se, com.google.android.apps.youtube.music, com.google.android.gms, com.google.android.as, com.google.android.apps.maps, com.google.android.euicc, com.google.SSRestartDetector, com.android.systemui, com.android.phone, com.github.uiautomator, com.google.android.providers.media.module, com.breel.wallpapers, com.google.modemservice, org.thoughtcrime.securesms, com.qualcomm.qcrilmsgtunnel, com.android.nfc, com.google.android.tts. +2024-11-30 16:15:16,584 - api.main - INFO - STDERR: [11/30 16:15:16] INFO | - Total Crashes: Limit Reached (5/5) +2024-11-30 16:15:16,584 - api.main - INFO - STDERR: [11/30 16:15:16] ERROR | Reached crashes limit. Bot has crashed too much! Please check what's going on. +2024-11-30 16:15:16,585 - api.main - INFO - STDERR: [11/30 16:15:16] INFO | Close Instagram app. +2024-11-30 16:15:16,694 - api.main - INFO - STDERR: [11/30 16:15:16] DEBUG | 5.0s sleep +2024-11-30 16:15:21,917 - api.main - INFO - STDERR: [11/30 16:15:21] INFO | -------- FINISH: 16:15:21 -------- +2024-11-30 16:15:21,917 - api.main - INFO - STDERR: [11/30 16:15:21] INFO | +2024-11-30 16:15:21,917 - api.main - INFO - STDERR: [11/30 16:15:21] INFO | TOTAL +2024-11-30 16:15:21,918 - api.main - INFO - STDERR: [11/30 16:15:21] INFO | Completed sessions: 0 +2024-11-30 16:15:21,918 - api.main - INFO - STDERR: [11/30 16:15:21] INFO | Total duration: 0:03:00 +2024-11-30 16:15:21,919 - api.main - INFO - STDERR: [11/30 16:15:21] INFO | Total interactions: (0) 0 +2024-11-30 16:15:21,919 - api.main - INFO - STDERR: [11/30 16:15:21] INFO | Successful interactions: (0) 0 +2024-11-30 16:15:21,919 - api.main - INFO - STDERR: [11/30 16:15:21] INFO | Total followed: (0) 0 +2024-11-30 16:15:21,920 - api.main - INFO - STDERR: [11/30 16:15:21] INFO | Total likes: 0 +2024-11-30 16:15:21,920 - api.main - INFO - STDERR: [11/30 16:15:21] INFO | Total comments: 0 +2024-11-30 16:15:21,920 - api.main - INFO - STDERR: [11/30 16:15:21] INFO | Total PM sent: 0 +2024-11-30 16:15:21,921 - api.main - INFO - STDERR: [11/30 16:15:21] INFO | Total watched: 0 +2024-11-30 16:15:21,921 - api.main - INFO - STDERR: [11/30 16:15:21] INFO | Total unfollowed: 0 +2024-11-30 16:15:21,934 - api.main - INFO - STDERR: [11/30 16:15:21] INFO | This bot is backed with love by me for free. If you like using it, consider donating to help keep me motivated: https://www.buymeacoffee.com/mastrolube +2024-11-30 16:15:21,950 - api.main - INFO - STDERR: # clear builtins._ +2024-11-30 16:15:21,950 - api.main - INFO - STDERR: # clear sys.path +2024-11-30 16:15:21,950 - api.main - INFO - STDERR: # clear sys.argv +2024-11-30 16:15:21,950 - api.main - INFO - STDERR: # clear sys.ps1 +2024-11-30 16:15:21,950 - api.main - INFO - STDERR: # clear sys.ps2 +2024-11-30 16:15:21,950 - api.main - INFO - STDERR: # clear sys.last_type +2024-11-30 16:15:21,950 - api.main - INFO - STDERR: # clear sys.last_value +2024-11-30 16:15:21,951 - api.main - INFO - STDERR: # clear sys.last_traceback +2024-11-30 16:15:21,951 - api.main - INFO - STDERR: # clear sys.path_hooks +2024-11-30 16:15:21,951 - api.main - INFO - STDERR: # clear sys.path_importer_cache +2024-11-30 16:15:21,951 - api.main - INFO - STDERR: # clear sys.meta_path +2024-11-30 16:15:21,951 - api.main - INFO - STDERR: # clear sys.__interactivehook__ +2024-11-30 16:15:21,951 - api.main - INFO - STDERR: # restore sys.stdin +2024-11-30 16:15:21,951 - api.main - INFO - STDERR: # restore sys.stdout +2024-11-30 16:15:21,951 - api.main - INFO - STDERR: # restore sys.stderr +2024-11-30 16:15:21,951 - api.main - INFO - STDERR: # cleanup[2] removing sys +2024-11-30 16:15:21,951 - api.main - INFO - STDERR: # cleanup[2] removing builtins +2024-11-30 16:15:21,951 - api.main - INFO - STDERR: # cleanup[2] removing _frozen_importlib +2024-11-30 16:15:21,951 - api.main - INFO - STDERR: # cleanup[2] removing _imp +2024-11-30 16:15:21,951 - api.main - INFO - STDERR: # cleanup[2] removing _thread +2024-11-30 16:15:21,951 - api.main - INFO - STDERR: # cleanup[2] removing _warnings +2024-11-30 16:15:21,952 - api.main - INFO - STDERR: # cleanup[2] removing _weakref +2024-11-30 16:15:21,952 - api.main - INFO - STDERR: # cleanup[2] removing _io +2024-11-30 16:15:21,952 - api.main - INFO - STDERR: # cleanup[2] removing marshal +2024-11-30 16:15:21,952 - api.main - INFO - STDERR: # cleanup[2] removing nt +2024-11-30 16:15:21,952 - api.main - INFO - STDERR: # cleanup[2] removing winreg +2024-11-30 16:15:21,952 - api.main - INFO - STDERR: # cleanup[2] removing _frozen_importlib_external +2024-11-30 16:15:21,952 - api.main - INFO - STDERR: # cleanup[2] removing time +2024-11-30 16:15:21,952 - api.main - INFO - STDERR: # cleanup[2] removing zipimport +2024-11-30 16:15:21,952 - api.main - INFO - STDERR: # cleanup[2] removing _codecs +2024-11-30 16:15:21,953 - api.main - INFO - STDERR: # cleanup[2] removing codecs +2024-11-30 16:15:21,953 - api.main - INFO - STDERR: # cleanup[2] removing encodings.aliases +2024-11-30 16:15:21,953 - api.main - INFO - STDERR: # cleanup[2] removing encodings +2024-11-30 16:15:21,953 - api.main - INFO - STDERR: # cleanup[2] removing encodings.utf_8 +2024-11-30 16:15:21,953 - api.main - INFO - STDERR: # cleanup[2] removing encodings.cp1252 +2024-11-30 16:15:21,953 - api.main - INFO - STDERR: # cleanup[2] removing _signal +2024-11-30 16:15:21,953 - api.main - INFO - STDERR: # cleanup[2] removing encodings.latin_1 +2024-11-30 16:15:21,953 - api.main - INFO - STDERR: # cleanup[2] removing _abc +2024-11-30 16:15:21,953 - api.main - INFO - STDERR: # cleanup[2] removing abc +2024-11-30 16:15:21,953 - api.main - INFO - STDERR: # cleanup[2] removing io +2024-11-30 16:15:21,953 - api.main - INFO - STDERR: # cleanup[2] removing __main__ +2024-11-30 16:15:21,953 - api.main - INFO - STDERR: # destroy __main__ +2024-11-30 16:15:21,953 - api.main - INFO - STDERR: # cleanup[2] removing _stat +2024-11-30 16:15:21,953 - api.main - INFO - STDERR: # cleanup[2] removing stat +2024-11-30 16:15:21,953 - api.main - INFO - STDERR: # cleanup[2] removing _collections_abc +2024-11-30 16:15:21,953 - api.main - INFO - STDERR: # cleanup[2] removing genericpath +2024-11-30 16:15:21,953 - api.main - INFO - STDERR: # cleanup[2] removing ntpath +2024-11-30 16:15:21,954 - api.main - INFO - STDERR: # cleanup[2] removing os.path +2024-11-30 16:15:21,954 - api.main - INFO - STDERR: # cleanup[2] removing os +2024-11-30 16:15:21,954 - api.main - INFO - STDERR: # cleanup[2] removing _sitebuiltins +2024-11-30 16:15:21,954 - api.main - INFO - STDERR: # cleanup[2] removing _locale +2024-11-30 16:15:21,954 - api.main - INFO - STDERR: # cleanup[2] removing _bootlocale +2024-11-30 16:15:21,954 - api.main - INFO - STDERR: # destroy _bootlocale +2024-11-30 16:15:21,954 - api.main - INFO - STDERR: # cleanup[2] removing _distutils_hack +2024-11-30 16:15:21,954 - api.main - INFO - STDERR: # destroy _distutils_hack +2024-11-30 16:15:21,954 - api.main - INFO - STDERR: # cleanup[2] removing site +2024-11-30 16:15:21,954 - api.main - INFO - STDERR: # destroy site +2024-11-30 16:15:21,954 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core +2024-11-30 16:15:21,954 - api.main - INFO - STDERR: # cleanup[2] removing types +2024-11-30 16:15:21,954 - api.main - INFO - STDERR: # cleanup[2] removing enum +2024-11-30 16:15:21,954 - api.main - INFO - STDERR: # cleanup[2] removing _sre +2024-11-30 16:15:21,954 - api.main - INFO - STDERR: # cleanup[2] removing sre_constants +2024-11-30 16:15:21,954 - api.main - INFO - STDERR: # destroy sre_constants +2024-11-30 16:15:21,954 - api.main - INFO - STDERR: # cleanup[2] removing sre_parse +2024-11-30 16:15:21,954 - api.main - INFO - STDERR: # cleanup[2] removing sre_compile +2024-11-30 16:15:21,955 - api.main - INFO - STDERR: # cleanup[2] removing _heapq +2024-11-30 16:15:21,955 - api.main - INFO - STDERR: # cleanup[2] removing heapq +2024-11-30 16:15:21,955 - api.main - INFO - STDERR: # cleanup[2] removing itertools +2024-11-30 16:15:21,955 - api.main - INFO - STDERR: # cleanup[2] removing keyword +2024-11-30 16:15:21,955 - api.main - INFO - STDERR: # cleanup[2] removing _operator +2024-11-30 16:15:21,955 - api.main - INFO - STDERR: # cleanup[2] removing operator +2024-11-30 16:15:21,955 - api.main - INFO - STDERR: # cleanup[2] removing reprlib +2024-11-30 16:15:21,955 - api.main - INFO - STDERR: # cleanup[2] removing _collections +2024-11-30 16:15:21,956 - api.main - INFO - STDERR: # cleanup[2] removing collections +2024-11-30 16:15:21,956 - api.main - INFO - STDERR: # cleanup[2] removing _functools +2024-11-30 16:15:21,956 - api.main - INFO - STDERR: # cleanup[2] removing functools +2024-11-30 16:15:21,956 - api.main - INFO - STDERR: # cleanup[2] removing copyreg +2024-11-30 16:15:21,956 - api.main - INFO - STDERR: # cleanup[2] removing re +2024-11-30 16:15:21,956 - api.main - INFO - STDERR: # cleanup[2] removing token +2024-11-30 16:15:21,956 - api.main - INFO - STDERR: # cleanup[2] removing tokenize +2024-11-30 16:15:21,956 - api.main - INFO - STDERR: # cleanup[2] removing linecache +2024-11-30 16:15:21,956 - api.main - INFO - STDERR: # cleanup[2] removing traceback +2024-11-30 16:15:21,956 - api.main - INFO - STDERR: # cleanup[2] removing warnings +2024-11-30 16:15:21,956 - api.main - INFO - STDERR: # cleanup[2] removing _weakrefset +2024-11-30 16:15:21,956 - api.main - INFO - STDERR: # destroy _weakrefset +2024-11-30 16:15:21,956 - api.main - INFO - STDERR: # cleanup[2] removing weakref +2024-11-30 16:15:21,956 - api.main - INFO - STDERR: # cleanup[2] removing collections.abc +2024-11-30 16:15:21,956 - api.main - INFO - STDERR: # cleanup[2] removing _string +2024-11-30 16:15:21,956 - api.main - INFO - STDERR: # cleanup[2] removing string +2024-11-30 16:15:21,956 - api.main - INFO - STDERR: # cleanup[2] removing threading +2024-11-30 16:15:21,957 - api.main - INFO - STDERR: # cleanup[2] removing atexit +2024-11-30 16:15:21,957 - api.main - INFO - STDERR: # cleanup[2] removing logging +2024-11-30 16:15:21,957 - api.main - INFO - STDERR: # cleanup[2] removing math +2024-11-30 16:15:21,957 - api.main - INFO - STDERR: # cleanup[2] removing _bisect +2024-11-30 16:15:21,957 - api.main - INFO - STDERR: # cleanup[2] removing bisect +2024-11-30 16:15:21,957 - api.main - INFO - STDERR: # cleanup[2] removing _random +2024-11-30 16:15:21,957 - api.main - INFO - STDERR: # cleanup[2] removing _sha512 +2024-11-30 16:15:21,957 - api.main - INFO - STDERR: # cleanup[2] removing random +2024-11-30 16:15:21,957 - api.main - INFO - STDERR: # cleanup[2] removing _datetime +2024-11-30 16:15:21,957 - api.main - INFO - STDERR: # cleanup[2] removing datetime +2024-11-30 16:15:21,957 - api.main - INFO - STDERR: # cleanup[2] removing contextlib +2024-11-30 16:15:21,957 - api.main - INFO - STDERR: # cleanup[2] removing colorama.ansi +2024-11-30 16:15:21,957 - api.main - INFO - STDERR: # cleanup[2] removing _ctypes +2024-11-30 16:15:21,957 - api.main - INFO - STDERR: # cleanup[2] removing _struct +2024-11-30 16:15:21,957 - api.main - INFO - STDERR: # cleanup[2] removing struct +2024-11-30 16:15:21,957 - api.main - INFO - STDERR: # cleanup[2] removing ctypes._endian +2024-11-30 16:15:21,957 - api.main - INFO - STDERR: # cleanup[2] removing ctypes +2024-11-30 16:15:21,957 - api.main - INFO - STDERR: # cleanup[2] removing ctypes.wintypes +2024-11-30 16:15:21,958 - api.main - INFO - STDERR: # cleanup[2] removing colorama.win32 +2024-11-30 16:15:21,958 - api.main - INFO - STDERR: # cleanup[2] removing colorama.winterm +2024-11-30 16:15:21,958 - api.main - INFO - STDERR: # cleanup[2] removing colorama.ansitowin32 +2024-11-30 16:15:21,958 - api.main - INFO - STDERR: # cleanup[2] removing colorama.initialise +2024-11-30 16:15:21,958 - api.main - INFO - STDERR: # cleanup[2] removing colorama +2024-11-30 16:15:21,958 - api.main - INFO - STDERR: # destroy colorama +2024-11-30 16:15:21,958 - api.main - INFO - STDERR: # destroy colorama.ansi +2024-11-30 16:15:21,958 - api.main - INFO - STDERR: # destroy colorama.winterm +2024-11-30 16:15:21,958 - api.main - INFO - STDERR: # destroy colorama.ansitowin32 +2024-11-30 16:15:21,958 - api.main - INFO - STDERR: # destroy colorama.initialise +2024-11-30 16:15:21,958 - api.main - INFO - STDERR: # cleanup[2] removing typing +2024-11-30 16:15:21,958 - api.main - INFO - STDERR: # cleanup[2] removing gettext +2024-11-30 16:15:21,958 - api.main - INFO - STDERR: # destroy gettext +2024-11-30 16:15:21,958 - api.main - INFO - STDERR: # cleanup[2] removing argparse +2024-11-30 16:15:21,958 - api.main - INFO - STDERR: # cleanup[2] removing _json +2024-11-30 16:15:21,958 - api.main - INFO - STDERR: # cleanup[2] removing json.scanner +2024-11-30 16:15:21,958 - api.main - INFO - STDERR: # cleanup[2] removing json.decoder +2024-11-30 16:15:21,959 - api.main - INFO - STDERR: # cleanup[2] removing json.encoder +2024-11-30 16:15:21,959 - api.main - INFO - STDERR: # cleanup[2] removing json +2024-11-30 16:15:21,959 - api.main - INFO - STDERR: # cleanup[2] removing posixpath +2024-11-30 16:15:21,959 - api.main - INFO - STDERR: # cleanup[2] removing fnmatch +2024-11-30 16:15:21,959 - api.main - INFO - STDERR: # cleanup[2] removing glob +2024-11-30 16:15:21,959 - api.main - INFO - STDERR: # cleanup[2] removing textwrap +2024-11-30 16:15:21,959 - api.main - INFO - STDERR: # cleanup[2] removing configargparse +2024-11-30 16:15:21,959 - api.main - INFO - STDERR: # cleanup[2] removing yaml.error +2024-11-30 16:15:21,959 - api.main - INFO - STDERR: # cleanup[2] removing yaml.tokens +2024-11-30 16:15:21,959 - api.main - INFO - STDERR: # cleanup[2] removing yaml.events +2024-11-30 16:15:21,959 - api.main - INFO - STDERR: # cleanup[2] removing yaml.nodes +2024-11-30 16:15:21,959 - api.main - INFO - STDERR: # cleanup[2] removing yaml.reader +2024-11-30 16:15:21,959 - api.main - INFO - STDERR: # cleanup[2] removing yaml.scanner +2024-11-30 16:15:21,959 - api.main - INFO - STDERR: # cleanup[2] removing yaml.parser +2024-11-30 16:15:21,959 - api.main - INFO - STDERR: # cleanup[2] removing yaml.composer +2024-11-30 16:15:21,960 - api.main - INFO - STDERR: # cleanup[2] removing binascii +2024-11-30 16:15:21,960 - api.main - INFO - STDERR: # cleanup[2] removing base64 +2024-11-30 16:15:21,960 - api.main - INFO - STDERR: # cleanup[2] removing yaml.constructor +2024-11-30 16:15:21,960 - api.main - INFO - STDERR: # cleanup[2] removing yaml.resolver +2024-11-30 16:15:21,960 - api.main - INFO - STDERR: # cleanup[2] removing yaml.loader +2024-11-30 16:15:21,960 - api.main - INFO - STDERR: # cleanup[2] removing yaml.emitter +2024-11-30 16:15:21,960 - api.main - INFO - STDERR: # cleanup[2] removing yaml.serializer +2024-11-30 16:15:21,960 - api.main - INFO - STDERR: # cleanup[2] removing yaml.representer +2024-11-30 16:15:21,960 - api.main - INFO - STDERR: # cleanup[2] removing yaml.dumper +2024-11-30 16:15:21,960 - api.main - INFO - STDERR: # cleanup[2] removing cython_runtime +2024-11-30 16:15:21,960 - api.main - INFO - STDERR: # cleanup[2] removing yaml._yaml +2024-11-30 16:15:21,960 - api.main - INFO - STDERR: # cleanup[2] removing yaml.cyaml +2024-11-30 16:15:21,960 - api.main - INFO - STDERR: # cleanup[2] removing yaml +2024-11-30 16:15:21,960 - api.main - INFO - STDERR: # cleanup[2] removing _ast +2024-11-30 16:15:21,961 - api.main - INFO - STDERR: # destroy _ast +2024-11-30 16:15:21,961 - api.main - INFO - STDERR: # cleanup[2] removing ast +2024-11-30 16:15:21,961 - api.main - INFO - STDERR: # cleanup[2] removing _opcode +2024-11-30 16:15:21,961 - api.main - INFO - STDERR: # cleanup[2] removing opcode +2024-11-30 16:15:21,961 - api.main - INFO - STDERR: # destroy opcode +2024-11-30 16:15:21,961 - api.main - INFO - STDERR: # cleanup[2] removing dis +2024-11-30 16:15:21,961 - api.main - INFO - STDERR: # cleanup[2] removing importlib._bootstrap +2024-11-30 16:15:21,961 - api.main - INFO - STDERR: # cleanup[2] removing importlib._bootstrap_external +2024-11-30 16:15:21,962 - api.main - INFO - STDERR: # cleanup[2] removing importlib +2024-11-30 16:15:21,962 - api.main - INFO - STDERR: # cleanup[2] removing importlib.machinery +2024-11-30 16:15:21,962 - api.main - INFO - STDERR: # cleanup[2] removing inspect +2024-11-30 16:15:21,962 - api.main - INFO - STDERR: # cleanup[2] removing importlib.abc +2024-11-30 16:15:21,962 - api.main - INFO - STDERR: # cleanup[2] removing importlib.util +2024-11-30 16:15:21,962 - api.main - INFO - STDERR: # cleanup[2] removing pkgutil +2024-11-30 16:15:21,962 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.plugin_loader +2024-11-30 16:15:21,962 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.config +2024-11-30 16:15:21,962 - api.main - INFO - STDERR: # cleanup[2] removing errno +2024-11-30 16:15:21,962 - api.main - INFO - STDERR: # cleanup[2] removing signal +2024-11-30 16:15:21,962 - api.main - INFO - STDERR: # cleanup[2] removing msvcrt +2024-11-30 16:15:21,962 - api.main - INFO - STDERR: # cleanup[2] removing _winapi +2024-11-30 16:15:21,962 - api.main - INFO - STDERR: # cleanup[2] removing subprocess +2024-11-30 16:15:21,962 - api.main - INFO - STDERR: # cleanup[2] removing __future__ +2024-11-30 16:15:21,962 - api.main - INFO - STDERR: # destroy __future__ +2024-11-30 16:15:21,962 - api.main - INFO - STDERR: # cleanup[2] removing _hashlib +2024-11-30 16:15:21,963 - api.main - INFO - STDERR: # cleanup[2] removing _blake2 +2024-11-30 16:15:21,963 - api.main - INFO - STDERR: # cleanup[2] removing hashlib +2024-11-30 16:15:21,963 - api.main - INFO - STDERR: # cleanup[2] removing zlib +2024-11-30 16:15:21,963 - api.main - INFO - STDERR: # cleanup[2] removing _compression +2024-11-30 16:15:21,963 - api.main - INFO - STDERR: # cleanup[2] removing _bz2 +2024-11-30 16:15:21,963 - api.main - INFO - STDERR: # destroy _bz2 +2024-11-30 16:15:21,963 - api.main - INFO - STDERR: # cleanup[2] removing bz2 +2024-11-30 16:15:21,963 - api.main - INFO - STDERR: # cleanup[2] removing _lzma +2024-11-30 16:15:21,963 - api.main - INFO - STDERR: # cleanup[2] removing lzma +2024-11-30 16:15:21,963 - api.main - INFO - STDERR: # cleanup[2] removing shutil +2024-11-30 16:15:21,963 - api.main - INFO - STDERR: # cleanup[2] removing xml +2024-11-30 16:15:21,963 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.domreg +2024-11-30 16:15:21,963 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom +2024-11-30 16:15:21,963 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.minicompat +2024-11-30 16:15:21,963 - api.main - INFO - STDERR: # cleanup[2] removing copy +2024-11-30 16:15:21,963 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.NodeFilter +2024-11-30 16:15:21,964 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.xmlbuilder +2024-11-30 16:15:21,964 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.minidom +2024-11-30 16:15:21,964 - api.main - INFO - STDERR: # cleanup[2] removing urllib +2024-11-30 16:15:21,964 - api.main - INFO - STDERR: # cleanup[2] removing urllib.parse +2024-11-30 16:15:21,964 - api.main - INFO - STDERR: # cleanup[2] removing pathlib +2024-11-30 16:15:21,964 - api.main - INFO - STDERR: # cleanup[2] removing packaging.__about__ +2024-11-30 16:15:21,964 - api.main - INFO - STDERR: # cleanup[2] removing packaging +2024-11-30 16:15:21,964 - api.main - INFO - STDERR: # cleanup[2] removing packaging._structures +2024-11-30 16:15:21,964 - api.main - INFO - STDERR: # cleanup[2] removing packaging._typing +2024-11-30 16:15:21,964 - api.main - INFO - STDERR: # cleanup[2] removing packaging.version +2024-11-30 16:15:21,964 - api.main - INFO - STDERR: # cleanup[2] removing deprecation +2024-11-30 16:15:21,964 - api.main - INFO - STDERR: # destroy deprecation +2024-11-30 16:15:21,964 - api.main - INFO - STDERR: # cleanup[2] removing _socket +2024-11-30 16:15:21,964 - api.main - INFO - STDERR: # cleanup[2] removing select +2024-11-30 16:15:21,964 - api.main - INFO - STDERR: # cleanup[2] removing selectors +2024-11-30 16:15:21,964 - api.main - INFO - STDERR: # cleanup[2] removing socket +2024-11-30 16:15:21,964 - api.main - INFO - STDERR: # cleanup[2] removing shlex +2024-11-30 16:15:21,965 - api.main - INFO - STDERR: # cleanup[2] removing tempfile +2024-11-30 16:15:21,965 - api.main - INFO - STDERR: # cleanup[2] removing zipfile +2024-11-30 16:15:21,965 - api.main - INFO - STDERR: # cleanup[2] removing whichcraft +2024-11-30 16:15:21,965 - api.main - INFO - STDERR: # cleanup[2] removing xml.parsers +2024-11-30 16:15:21,965 - api.main - INFO - STDERR: # cleanup[2] removing pyexpat.errors +2024-11-30 16:15:21,965 - api.main - INFO - STDERR: # cleanup[2] removing pyexpat.model +2024-11-30 16:15:21,965 - api.main - INFO - STDERR: # cleanup[2] removing pyexpat +2024-11-30 16:15:21,965 - api.main - INFO - STDERR: # cleanup[2] removing xml.parsers.expat.model +2024-11-30 16:15:21,965 - api.main - INFO - STDERR: # cleanup[2] removing xml.parsers.expat.errors +2024-11-30 16:15:21,965 - api.main - INFO - STDERR: # cleanup[2] removing xml.parsers.expat +2024-11-30 16:15:21,965 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax.handler +2024-11-30 16:15:21,965 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax._exceptions +2024-11-30 16:15:21,965 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax.xmlreader +2024-11-30 16:15:21,965 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax +2024-11-30 16:15:21,965 - api.main - INFO - STDERR: # cleanup[2] removing email +2024-11-30 16:15:21,965 - api.main - INFO - STDERR: # cleanup[2] removing http +2024-11-30 16:15:21,966 - api.main - INFO - STDERR: # cleanup[2] removing email.errors +2024-11-30 16:15:21,966 - api.main - INFO - STDERR: # cleanup[2] removing email.quoprimime +2024-11-30 16:15:21,966 - api.main - INFO - STDERR: # cleanup[2] removing email.base64mime +2024-11-30 16:15:21,966 - api.main - INFO - STDERR: # cleanup[2] removing quopri +2024-11-30 16:15:21,966 - api.main - INFO - STDERR: # cleanup[2] removing email.encoders +2024-11-30 16:15:21,966 - api.main - INFO - STDERR: # cleanup[2] removing email.charset +2024-11-30 16:15:21,966 - api.main - INFO - STDERR: # cleanup[2] removing email.header +2024-11-30 16:15:21,966 - api.main - INFO - STDERR: # cleanup[2] removing locale +2024-11-30 16:15:21,967 - api.main - INFO - STDERR: # cleanup[2] removing calendar +2024-11-30 16:15:21,967 - api.main - INFO - STDERR: # cleanup[2] removing email._parseaddr +2024-11-30 16:15:21,967 - api.main - INFO - STDERR: # cleanup[2] removing email.utils +2024-11-30 16:15:21,967 - api.main - INFO - STDERR: # cleanup[2] removing email._policybase +2024-11-30 16:15:21,967 - api.main - INFO - STDERR: # cleanup[2] removing email.feedparser +2024-11-30 16:15:21,967 - api.main - INFO - STDERR: # cleanup[2] removing email.parser +2024-11-30 16:15:21,967 - api.main - INFO - STDERR: # cleanup[2] removing uu +2024-11-30 16:15:21,967 - api.main - INFO - STDERR: # cleanup[2] removing email._encoded_words +2024-11-30 16:15:21,967 - api.main - INFO - STDERR: # cleanup[2] removing email.iterators +2024-11-30 16:15:21,967 - api.main - INFO - STDERR: # cleanup[2] removing email.message +2024-11-30 16:15:21,967 - api.main - INFO - STDERR: # cleanup[2] removing _ssl +2024-11-30 16:15:21,967 - api.main - INFO - STDERR: # cleanup[2] removing ssl +2024-11-30 16:15:21,967 - api.main - INFO - STDERR: # cleanup[2] removing http.client +2024-11-30 16:15:21,967 - api.main - INFO - STDERR: # cleanup[2] removing urllib.response +2024-11-30 16:15:21,967 - api.main - INFO - STDERR: # cleanup[2] removing urllib.error +2024-11-30 16:15:21,967 - api.main - INFO - STDERR: # cleanup[2] removing nturl2path +2024-11-30 16:15:21,967 - api.main - INFO - STDERR: # destroy nturl2path +2024-11-30 16:15:21,967 - api.main - INFO - STDERR: # cleanup[2] removing urllib.request +2024-11-30 16:15:21,967 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax.saxutils +2024-11-30 16:15:21,968 - api.main - INFO - STDERR: # cleanup[2] removing platform +2024-11-30 16:15:21,968 - api.main - INFO - STDERR: # cleanup[2] removing xmltodict +2024-11-30 16:15:21,968 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.apkfile +2024-11-30 16:15:21,968 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml +2024-11-30 16:15:21,968 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml.chunk +2024-11-30 16:15:21,968 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml.arscparser +2024-11-30 16:15:21,968 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml.public +2024-11-30 16:15:21,968 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml.axmlparser +2024-11-30 16:15:21,968 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex +2024-11-30 16:15:21,968 - api.main - INFO - STDERR: # cleanup[2] removing array +2024-11-30 16:15:21,968 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.util +2024-11-30 16:15:21,968 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.byteio +2024-11-30 16:15:21,969 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.dalvikformats +2024-11-30 16:15:21,969 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.dalvik +2024-11-30 16:15:21,969 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.dexparser +2024-11-30 16:15:21,969 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.manifest +2024-11-30 16:15:21,969 - api.main - INFO - STDERR: # cleanup[2] removing cigam +2024-11-30 16:15:21,969 - api.main - INFO - STDERR: # destroy cigam +2024-11-30 16:15:21,969 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2 +2024-11-30 16:15:21,969 - api.main - INFO - STDERR: # cleanup[2] removing plistlib +2024-11-30 16:15:21,970 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.util +2024-11-30 16:15:21,970 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.unicode +2024-11-30 16:15:21,970 - api.main - INFO - STDERR: # destroy pyparsing.unicode +2024-11-30 16:15:21,970 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.exceptions +2024-11-30 16:15:21,970 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.actions +2024-11-30 16:15:21,970 - api.main - INFO - STDERR: # cleanup[2] removing pprint +2024-11-30 16:15:21,970 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.results +2024-11-30 16:15:21,970 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.core +2024-11-30 16:15:21,970 - api.main - INFO - STDERR: # cleanup[2] removing html.entities +2024-11-30 16:15:21,970 - api.main - INFO - STDERR: # cleanup[2] removing html +2024-11-30 16:15:21,970 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.helpers +2024-11-30 16:15:21,970 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.testing +2024-11-30 16:15:21,970 - api.main - INFO - STDERR: # destroy pyparsing.testing +2024-11-30 16:15:21,970 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.common +2024-11-30 16:15:21,970 - api.main - INFO - STDERR: # destroy pyparsing.common +2024-11-30 16:15:21,970 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing +2024-11-30 16:15:21,970 - api.main - INFO - STDERR: # destroy pyparsing +2024-11-30 16:15:21,971 - api.main - INFO - STDERR: # cleanup[2] removing packaging._compat +2024-11-30 16:15:21,971 - api.main - INFO - STDERR: # cleanup[2] removing setuptools._distutils +2024-11-30 16:15:21,971 - api.main - INFO - STDERR: # cleanup[2] removing jaraco +2024-11-30 16:15:21,971 - api.main - INFO - STDERR: # destroy jaraco +2024-11-30 16:15:21,971 - api.main - INFO - STDERR: # cleanup[2] removing _queue +2024-11-30 16:15:21,971 - api.main - INFO - STDERR: # cleanup[2] removing queue +2024-11-30 16:15:21,971 - api.main - INFO - STDERR: # cleanup[2] removing more_itertools.recipes +2024-11-30 16:15:21,971 - api.main - INFO - STDERR: # cleanup[2] removing more_itertools.more +2024-11-30 16:15:21,971 - api.main - INFO - STDERR: # cleanup[2] removing more_itertools +2024-11-30 16:15:21,971 - api.main - INFO - STDERR: # cleanup[2] removing jaraco.functools +2024-11-30 16:15:21,971 - api.main - INFO - STDERR: # destroy jaraco.functools +2024-11-30 16:15:21,971 - api.main - INFO - STDERR: # cleanup[2] removing distutils.compat.py38 +2024-11-30 16:15:21,971 - api.main - INFO - STDERR: # cleanup[2] removing distutils.compat +2024-11-30 16:15:21,971 - api.main - INFO - STDERR: # cleanup[2] removing distutils.compat.py39 +2024-11-30 16:15:21,971 - api.main - INFO - STDERR: # cleanup[2] removing distutils.errors +2024-11-30 16:15:21,971 - api.main - INFO - STDERR: # cleanup[2] removing distutils._modified +2024-11-30 16:15:21,971 - api.main - INFO - STDERR: # cleanup[2] removing distutils._log +2024-11-30 16:15:21,971 - api.main - INFO - STDERR: # cleanup[2] removing distutils.file_util +2024-11-30 16:15:21,972 - api.main - INFO - STDERR: # cleanup[2] removing distutils.dir_util +2024-11-30 16:15:21,972 - api.main - INFO - STDERR: # cleanup[2] removing distutils.debug +2024-11-30 16:15:21,972 - api.main - INFO - STDERR: # cleanup[2] removing distutils.spawn +2024-11-30 16:15:21,972 - api.main - INFO - STDERR: # cleanup[2] removing distutils.archive_util +2024-11-30 16:15:21,972 - api.main - INFO - STDERR: # cleanup[2] removing sysconfig +2024-11-30 16:15:21,972 - api.main - INFO - STDERR: # cleanup[2] removing distutils.util +2024-11-30 16:15:21,972 - api.main - INFO - STDERR: # cleanup[2] removing distutils.cmd +2024-11-30 16:15:21,972 - api.main - INFO - STDERR: # cleanup[2] removing distutils +2024-11-30 16:15:21,972 - api.main - INFO - STDERR: # cleanup[2] removing packaging.tags +2024-11-30 16:15:21,972 - api.main - INFO - STDERR: # cleanup[2] removing packaging.utils +2024-11-30 16:15:21,972 - api.main - INFO - STDERR: # cleanup[2] removing packaging.specifiers +2024-11-30 16:15:21,972 - api.main - INFO - STDERR: # cleanup[2] removing packaging.markers +2024-11-30 16:15:21,972 - api.main - INFO - STDERR: # cleanup[2] removing packaging.requirements +2024-11-30 16:15:21,972 - api.main - INFO - STDERR: # cleanup[2] removing importlib._common +2024-11-30 16:15:21,972 - api.main - INFO - STDERR: # cleanup[2] removing importlib.resources +2024-11-30 16:15:21,972 - api.main - INFO - STDERR: # cleanup[2] removing backports +2024-11-30 16:15:21,972 - api.main - INFO - STDERR: # destroy backports +2024-11-30 16:15:21,973 - api.main - INFO - STDERR: # cleanup[2] removing backports.tarfile.compat +2024-11-30 16:15:21,973 - api.main - INFO - STDERR: # cleanup[2] removing backports.tarfile.compat.py38 +2024-11-30 16:15:21,973 - api.main - INFO - STDERR: # cleanup[2] removing backports.tarfile +2024-11-30 16:15:21,973 - api.main - INFO - STDERR: # cleanup[2] removing jaraco.context +2024-11-30 16:15:21,973 - api.main - INFO - STDERR: # destroy jaraco.context +2024-11-30 16:15:21,973 - api.main - INFO - STDERR: # cleanup[2] removing jaraco.text +2024-11-30 16:15:21,973 - api.main - INFO - STDERR: # destroy jaraco.text +2024-11-30 16:15:21,973 - api.main - INFO - STDERR: # cleanup[2] removing platformdirs.api +2024-11-30 16:15:21,973 - api.main - INFO - STDERR: # cleanup[2] removing platformdirs.version +2024-11-30 16:15:21,973 - api.main - INFO - STDERR: # cleanup[2] removing platformdirs.windows +2024-11-30 16:15:21,973 - api.main - INFO - STDERR: # cleanup[2] removing platformdirs +2024-11-30 16:15:21,973 - api.main - INFO - STDERR: # destroy platformdirs +2024-11-30 16:15:21,973 - api.main - INFO - STDERR: # cleanup[2] removing pkg_resources +2024-11-30 16:15:21,973 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._utils +2024-11-30 16:15:21,974 - api.main - INFO - STDERR: # cleanup[2] removing adbutils.errors +2024-11-30 16:15:21,974 - api.main - INFO - STDERR: # cleanup[2] removing dataclasses +2024-11-30 16:15:21,974 - api.main - INFO - STDERR: # destroy dataclasses +2024-11-30 16:15:21,974 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._proto +2024-11-30 16:15:21,974 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._version +2024-11-30 16:15:21,974 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._adb +2024-11-30 16:15:21,974 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages +2024-11-30 16:15:21,974 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six +2024-11-30 16:15:21,974 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six.moves +2024-11-30 16:15:21,974 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six.moves.http_client +2024-11-30 16:15:21,974 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.exceptions +2024-11-30 16:15:21,974 - api.main - INFO - STDERR: # cleanup[2] removing urllib3._version +2024-11-30 16:15:21,974 - api.main - INFO - STDERR: # cleanup[2] removing urllib3._collections +2024-11-30 16:15:21,974 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.contrib +2024-11-30 16:15:21,974 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.contrib._appengine_environ +2024-11-30 16:15:21,974 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.wait +2024-11-30 16:15:21,974 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.connection +2024-11-30 16:15:21,974 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.request +2024-11-30 16:15:21,975 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.response +2024-11-30 16:15:21,975 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.retry +2024-11-30 16:15:21,975 - api.main - INFO - STDERR: # cleanup[2] removing hmac +2024-11-30 16:15:21,975 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.url +2024-11-30 16:15:21,975 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.ssltransport +2024-11-30 16:15:21,975 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.ssl_ +2024-11-30 16:15:21,975 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.timeout +2024-11-30 16:15:21,975 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util +2024-11-30 16:15:21,975 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.proxy +2024-11-30 16:15:21,975 - api.main - INFO - STDERR: # cleanup[2] removing ipaddress +2024-11-30 16:15:21,975 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.ssl_match_hostname +2024-11-30 16:15:21,975 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.connection +2024-11-30 16:15:21,975 - api.main - INFO - STDERR: # cleanup[2] removing mimetypes +2024-11-30 16:15:21,975 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.fields +2024-11-30 16:15:21,975 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.filepost +2024-11-30 16:15:21,976 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six.moves.urllib +2024-11-30 16:15:21,976 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six.moves.urllib.parse +2024-11-30 16:15:21,976 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.request +2024-11-30 16:15:21,976 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.response +2024-11-30 16:15:21,976 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.queue +2024-11-30 16:15:21,976 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.connectionpool +2024-11-30 16:15:21,976 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.poolmanager +2024-11-30 16:15:21,976 - api.main - INFO - STDERR: # cleanup[2] removing urllib3 +2024-11-30 16:15:21,976 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.constant +2024-11-30 16:15:21,976 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.md__mypyc +2024-11-30 16:15:21,976 - api.main - INFO - STDERR: # cleanup[2] removing unicodedata +2024-11-30 16:15:21,976 - api.main - INFO - STDERR: # cleanup[2] removing _multibytecodec +2024-11-30 16:15:21,976 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.utils +2024-11-30 16:15:21,976 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.md +2024-11-30 16:15:21,976 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.models +2024-11-30 16:15:21,976 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.cd +2024-11-30 16:15:21,976 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.api +2024-11-30 16:15:21,977 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.legacy +2024-11-30 16:15:21,977 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.version +2024-11-30 16:15:21,977 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer +2024-11-30 16:15:21,977 - api.main - INFO - STDERR: # cleanup[2] removing http.cookiejar +2024-11-30 16:15:21,977 - api.main - INFO - STDERR: # cleanup[2] removing http.cookies +2024-11-30 16:15:21,977 - api.main - INFO - STDERR: # cleanup[2] removing requests.compat +2024-11-30 16:15:21,977 - api.main - INFO - STDERR: # cleanup[2] removing requests.exceptions +2024-11-30 16:15:21,977 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages +2024-11-30 16:15:21,977 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six +2024-11-30 16:15:21,977 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six.moves +2024-11-30 16:15:21,977 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six.moves.http_client +2024-11-30 16:15:21,977 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.exceptions +2024-11-30 16:15:21,977 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3._version +2024-11-30 16:15:21,977 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3._collections +2024-11-30 16:15:21,977 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.contrib +2024-11-30 16:15:21,977 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.contrib._appengine_environ +2024-11-30 16:15:21,978 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.wait +2024-11-30 16:15:21,978 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.connection +2024-11-30 16:15:21,978 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.request +2024-11-30 16:15:21,978 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.response +2024-11-30 16:15:21,978 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.retry +2024-11-30 16:15:21,978 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.url +2024-11-30 16:15:21,978 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.ssltransport +2024-11-30 16:15:21,978 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.ssl_ +2024-11-30 16:15:21,978 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.timeout +2024-11-30 16:15:21,978 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util +2024-11-30 16:15:21,979 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.proxy +2024-11-30 16:15:21,979 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.ssl_match_hostname +2024-11-30 16:15:21,979 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.connection +2024-11-30 16:15:21,979 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.fields +2024-11-30 16:15:21,979 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.filepost +2024-11-30 16:15:21,979 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six.moves.urllib +2024-11-30 16:15:21,979 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six.moves.urllib.parse +2024-11-30 16:15:21,979 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.request +2024-11-30 16:15:21,979 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.response +2024-11-30 16:15:21,979 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.queue +2024-11-30 16:15:21,979 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.connectionpool +2024-11-30 16:15:21,979 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.poolmanager +2024-11-30 16:15:21,979 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3 +2024-11-30 16:15:21,979 - api.main - INFO - STDERR: # cleanup[2] removing idna.idnadata +2024-11-30 16:15:21,979 - api.main - INFO - STDERR: # cleanup[2] removing idna.intranges +2024-11-30 16:15:21,979 - api.main - INFO - STDERR: # cleanup[2] removing idna.core +2024-11-30 16:15:21,980 - api.main - INFO - STDERR: # cleanup[2] removing idna.package_data +2024-11-30 16:15:21,980 - api.main - INFO - STDERR: # cleanup[2] removing idna +2024-11-30 16:15:21,980 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna.idnadata +2024-11-30 16:15:21,980 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna.intranges +2024-11-30 16:15:21,980 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna.core +2024-11-30 16:15:21,980 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna.package_data +2024-11-30 16:15:21,980 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna +2024-11-30 16:15:21,980 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.chardet +2024-11-30 16:15:21,980 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages +2024-11-30 16:15:21,980 - api.main - INFO - STDERR: # cleanup[2] removing certifi.core +2024-11-30 16:15:21,980 - api.main - INFO - STDERR: # cleanup[2] removing certifi +2024-11-30 16:15:21,980 - api.main - INFO - STDERR: # destroy certifi +2024-11-30 16:15:21,980 - api.main - INFO - STDERR: # destroy certifi.core +2024-11-30 16:15:21,980 - api.main - INFO - STDERR: # cleanup[2] removing requests.certs +2024-11-30 16:15:21,980 - api.main - INFO - STDERR: # cleanup[2] removing requests.__version__ +2024-11-30 16:15:21,980 - api.main - INFO - STDERR: # destroy requests.__version__ +2024-11-30 16:15:21,980 - api.main - INFO - STDERR: # cleanup[2] removing requests._internal_utils +2024-11-30 16:15:21,980 - api.main - INFO - STDERR: # cleanup[2] removing requests.cookies +2024-11-30 16:15:21,981 - api.main - INFO - STDERR: # cleanup[2] removing requests.structures +2024-11-30 16:15:21,981 - api.main - INFO - STDERR: # cleanup[2] removing requests.utils +2024-11-30 16:15:21,981 - api.main - INFO - STDERR: # cleanup[2] removing requests.auth +2024-11-30 16:15:21,981 - api.main - INFO - STDERR: # cleanup[2] removing stringprep +2024-11-30 16:15:21,981 - api.main - INFO - STDERR: # cleanup[2] removing encodings.idna +2024-11-30 16:15:21,981 - api.main - INFO - STDERR: # cleanup[2] removing requests.hooks +2024-11-30 16:15:21,981 - api.main - INFO - STDERR: # cleanup[2] removing requests.status_codes +2024-11-30 16:15:21,981 - api.main - INFO - STDERR: # cleanup[2] removing requests.models +2024-11-30 16:15:21,981 - api.main - INFO - STDERR: # cleanup[2] removing requests.adapters +2024-11-30 16:15:21,981 - api.main - INFO - STDERR: # cleanup[2] removing requests.sessions +2024-11-30 16:15:21,981 - api.main - INFO - STDERR: # cleanup[2] removing requests.api +2024-11-30 16:15:21,981 - api.main - INFO - STDERR: # cleanup[2] removing requests +2024-11-30 16:15:21,981 - api.main - INFO - STDERR: # cleanup[2] removing PIL._version +2024-11-30 16:15:21,981 - api.main - INFO - STDERR: # destroy PIL._version +2024-11-30 16:15:21,981 - api.main - INFO - STDERR: # cleanup[2] removing PIL +2024-11-30 16:15:21,981 - api.main - INFO - STDERR: # destroy PIL +2024-11-30 16:15:21,982 - api.main - INFO - STDERR: # cleanup[2] removing PIL.ExifTags +2024-11-30 16:15:21,982 - api.main - INFO - STDERR: # cleanup[2] removing PIL._deprecate +2024-11-30 16:15:21,982 - api.main - INFO - STDERR: # destroy PIL._deprecate +2024-11-30 16:15:21,982 - api.main - INFO - STDERR: # cleanup[2] removing PIL.ImageMode +2024-11-30 16:15:21,982 - api.main - INFO - STDERR: # cleanup[2] removing PIL.TiffTags +2024-11-30 16:15:21,982 - api.main - INFO - STDERR: # cleanup[2] removing PIL._binary +2024-11-30 16:15:21,982 - api.main - INFO - STDERR: # destroy PIL._binary +2024-11-30 16:15:21,982 - api.main - INFO - STDERR: # cleanup[2] removing typing_extensions +2024-11-30 16:15:21,982 - api.main - INFO - STDERR: # destroy typing_extensions +2024-11-30 16:15:21,982 - api.main - INFO - STDERR: # cleanup[2] removing PIL._typing +2024-11-30 16:15:21,982 - api.main - INFO - STDERR: # destroy PIL._typing +2024-11-30 16:15:21,982 - api.main - INFO - STDERR: # cleanup[2] removing PIL._util +2024-11-30 16:15:21,982 - api.main - INFO - STDERR: # destroy PIL._util +2024-11-30 16:15:21,982 - api.main - INFO - STDERR: # cleanup[2] removing PIL._imaging +2024-11-30 16:15:21,982 - api.main - INFO - STDERR: # cleanup[2] removing PIL.Image +2024-11-30 16:15:21,982 - api.main - INFO - STDERR: # cleanup[2] removing decorator +2024-11-30 16:15:21,983 - api.main - INFO - STDERR: # destroy decorator +2024-11-30 16:15:21,983 - api.main - INFO - STDERR: # cleanup[2] removing retry.compat +2024-11-30 16:15:21,983 - api.main - INFO - STDERR: # cleanup[2] removing retry.api +2024-11-30 16:15:21,983 - api.main - INFO - STDERR: # cleanup[2] removing retry +2024-11-30 16:15:21,983 - api.main - INFO - STDERR: # destroy retry +2024-11-30 16:15:21,983 - api.main - INFO - STDERR: # destroy retry.compat +2024-11-30 16:15:21,983 - api.main - INFO - STDERR: # destroy retry.api +2024-11-30 16:15:21,983 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._device +2024-11-30 16:15:21,983 - api.main - INFO - STDERR: # cleanup[2] removing adbutils +2024-11-30 16:15:21,983 - api.main - INFO - STDERR: # cleanup[2] removing filelock._error +2024-11-30 16:15:21,983 - api.main - INFO - STDERR: # cleanup[2] removing filelock._api +2024-11-30 16:15:21,983 - api.main - INFO - STDERR: # cleanup[2] removing filelock._util +2024-11-30 16:15:21,983 - api.main - INFO - STDERR: # cleanup[2] removing filelock._soft +2024-11-30 16:15:21,983 - api.main - INFO - STDERR: # cleanup[2] removing filelock._unix +2024-11-30 16:15:21,983 - api.main - INFO - STDERR: # cleanup[2] removing filelock._windows +2024-11-30 16:15:21,983 - api.main - INFO - STDERR: # cleanup[2] removing concurrent +2024-11-30 16:15:21,983 - api.main - INFO - STDERR: # cleanup[2] removing concurrent.futures._base +2024-11-30 16:15:21,983 - api.main - INFO - STDERR: # cleanup[2] removing concurrent.futures +2024-11-30 16:15:21,983 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.constants +2024-11-30 16:15:21,983 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.format_helpers +2024-11-30 16:15:21,983 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.base_futures +2024-11-30 16:15:21,983 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.log +2024-11-30 16:15:21,983 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.coroutines +2024-11-30 16:15:21,983 - api.main - INFO - STDERR: # cleanup[2] removing _contextvars +2024-11-30 16:15:21,984 - api.main - INFO - STDERR: # cleanup[2] removing contextvars +2024-11-30 16:15:21,984 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.exceptions +2024-11-30 16:15:21,984 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.base_tasks +2024-11-30 16:15:21,984 - api.main - INFO - STDERR: # cleanup[2] removing _asyncio +2024-11-30 16:15:21,984 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.events +2024-11-30 16:15:21,984 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.futures +2024-11-30 16:15:21,984 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.protocols +2024-11-30 16:15:21,984 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.transports +2024-11-30 16:15:21,984 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.sslproto +2024-11-30 16:15:21,984 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.locks +2024-11-30 16:15:21,984 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.tasks +2024-11-30 16:15:21,984 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.staggered +2024-11-30 16:15:21,984 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.trsock +2024-11-30 16:15:21,984 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.base_events +2024-11-30 16:15:21,984 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.runners +2024-11-30 16:15:21,984 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.queues +2024-11-30 16:15:21,984 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.streams +2024-11-30 16:15:21,984 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.subprocess +2024-11-30 16:15:21,984 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.threads +2024-11-30 16:15:21,984 - api.main - INFO - STDERR: # cleanup[2] removing _overlapped +2024-11-30 16:15:21,984 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.base_subprocess +2024-11-30 16:15:21,984 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.proactor_events +2024-11-30 16:15:21,984 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.selector_events +2024-11-30 16:15:21,984 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.windows_utils +2024-11-30 16:15:21,986 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.windows_events +2024-11-30 16:15:21,986 - api.main - INFO - STDERR: # cleanup[2] removing asyncio +2024-11-30 16:15:21,986 - api.main - INFO - STDERR: # cleanup[2] removing filelock.asyncio +2024-11-30 16:15:21,986 - api.main - INFO - STDERR: # cleanup[2] removing filelock.version +2024-11-30 16:15:21,986 - api.main - INFO - STDERR: # destroy filelock.version +2024-11-30 16:15:21,986 - api.main - INFO - STDERR: # cleanup[2] removing filelock +2024-11-30 16:15:21,986 - api.main - INFO - STDERR: # cleanup[2] removing logzero.colors +2024-11-30 16:15:21,986 - api.main - INFO - STDERR: # cleanup[2] removing logzero.jsonlogger +2024-11-30 16:15:21,986 - api.main - INFO - STDERR: # cleanup[2] removing _compat_pickle +2024-11-30 16:15:21,986 - api.main - INFO - STDERR: # cleanup[2] removing _pickle +2024-11-30 16:15:21,986 - api.main - INFO - STDERR: # cleanup[2] removing pickle +2024-11-30 16:15:21,986 - api.main - INFO - STDERR: # cleanup[2] removing logging.handlers +2024-11-30 16:15:21,986 - api.main - INFO - STDERR: # cleanup[2] removing logzero +2024-11-30 16:15:21,986 - api.main - INFO - STDERR: # cleanup[2] removing six +2024-11-30 16:15:21,986 - api.main - INFO - STDERR: # cleanup[2] removing six.moves +2024-11-30 16:15:21,987 - api.main - INFO - STDERR: # cleanup[2] removing six.moves.urllib +2024-11-30 16:15:21,987 - api.main - INFO - STDERR: # cleanup[2] removing six.moves.urllib.parse +2024-11-30 16:15:21,987 - api.main - INFO - STDERR: # cleanup[2] removing cached_property +2024-11-30 16:15:21,987 - api.main - INFO - STDERR: # destroy cached_property +2024-11-30 16:15:21,987 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.wrappers +2024-11-30 16:15:21,987 - api.main - INFO - STDERR: # cleanup[2] removing wrapt._wrappers +2024-11-30 16:15:21,987 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.__wrapt__ +2024-11-30 16:15:21,987 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.patches +2024-11-30 16:15:21,988 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.weakrefs +2024-11-30 16:15:21,988 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.arguments +2024-11-30 16:15:21,988 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.decorators +2024-11-30 16:15:21,988 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.importer +2024-11-30 16:15:21,988 - api.main - INFO - STDERR: # cleanup[2] removing wrapt +2024-11-30 16:15:21,988 - api.main - INFO - STDERR: # cleanup[2] removing deprecated.classic +2024-11-30 16:15:21,988 - api.main - INFO - STDERR: # cleanup[2] removing deprecated +2024-11-30 16:15:21,988 - api.main - INFO - STDERR: # destroy deprecated +2024-11-30 16:15:21,988 - api.main - INFO - STDERR: # destroy deprecated.classic +2024-11-30 16:15:21,988 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2._proto +2024-11-30 16:15:21,988 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.abcd +2024-11-30 16:15:21,988 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.exceptions +2024-11-30 16:15:21,988 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.utils +2024-11-30 16:15:21,988 - api.main - INFO - STDERR: # cleanup[2] removing lxml +2024-11-30 16:15:21,988 - api.main - INFO - STDERR: # destroy lxml +2024-11-30 16:15:21,988 - api.main - INFO - STDERR: # cleanup[2] removing _cython_3_0_11 +2024-11-30 16:15:21,989 - api.main - INFO - STDERR: # destroy _cython_3_0_11 +2024-11-30 16:15:21,989 - api.main - INFO - STDERR: # cleanup[2] removing gc +2024-11-30 16:15:21,989 - api.main - INFO - STDERR: # cleanup[2] removing lxml._elementpath +2024-11-30 16:15:21,989 - api.main - INFO - STDERR: # cleanup[2] removing gzip +2024-11-30 16:15:21,989 - api.main - INFO - STDERR: # cleanup[2] removing lxml.etree +2024-11-30 16:15:21,989 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.xpath +2024-11-30 16:15:21,989 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2._selector +2024-11-30 16:15:21,989 - api.main - INFO - STDERR: # cleanup[2] removing tarfile +2024-11-30 16:15:21,989 - api.main - INFO - STDERR: # cleanup[2] removing progress +2024-11-30 16:15:21,989 - api.main - INFO - STDERR: # cleanup[2] removing progress.colors +2024-11-30 16:15:21,989 - api.main - INFO - STDERR: # cleanup[2] removing progress.bar +2024-11-30 16:15:21,989 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.version +2024-11-30 16:15:21,989 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.init +2024-11-30 16:15:21,989 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.settings +2024-11-30 16:15:21,989 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.swipe +2024-11-30 16:15:21,989 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.watcher +2024-11-30 16:15:21,990 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2 +2024-11-30 16:15:21,990 - api.main - INFO - STDERR: # cleanup[2] removing emoji.unicode_codes.data_dict +2024-11-30 16:15:21,990 - api.main - INFO - STDERR: # cleanup[2] removing emoji.unicode_codes +2024-11-30 16:15:21,990 - api.main - INFO - STDERR: # cleanup[2] removing emoji.core +2024-11-30 16:15:21,990 - api.main - INFO - STDERR: # cleanup[2] removing emoji +2024-11-30 16:15:21,990 - api.main - INFO - STDERR: # cleanup[2] removing _uuid +2024-11-30 16:15:21,990 - api.main - INFO - STDERR: # cleanup[2] removing uuid +2024-11-30 16:15:21,990 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.log +2024-11-30 16:15:21,990 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.report +2024-11-30 16:15:21,990 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.resources +2024-11-30 16:15:21,990 - api.main - INFO - STDERR: # cleanup[2] removing atomicwrites +2024-11-30 16:15:21,990 - api.main - INFO - STDERR: # destroy atomicwrites +2024-11-30 16:15:21,990 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.storage +2024-11-30 16:15:21,990 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.utils +2024-11-30 16:15:21,990 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.device_facade +2024-11-30 16:15:21,990 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.lang_detect_exception +2024-11-30 16:15:21,990 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.language +2024-11-30 16:15:21,991 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils +2024-11-30 16:15:21,991 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils.messages +2024-11-30 16:15:21,991 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils.unicode_block +2024-11-30 16:15:21,991 - api.main - INFO - STDERR: # cleanup[2] removing encodings.unicode_escape +2024-11-30 16:15:21,991 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils.ngram +2024-11-30 16:15:21,991 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.detector +2024-11-30 16:15:21,991 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils.lang_profile +2024-11-30 16:15:21,991 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.detector_factory +2024-11-30 16:15:21,991 - api.main - INFO - STDERR: # cleanup[2] removing langdetect +2024-11-30 16:15:21,991 - api.main - INFO - STDERR: # destroy langdetect +2024-11-30 16:15:21,991 - api.main - INFO - STDERR: # destroy langdetect.lang_detect_exception +2024-11-30 16:15:21,991 - api.main - INFO - STDERR: # destroy langdetect.language +2024-11-30 16:15:21,991 - api.main - INFO - STDERR: # destroy langdetect.utils +2024-11-30 16:15:21,991 - api.main - INFO - STDERR: # destroy langdetect.utils.unicode_block +2024-11-30 16:15:21,991 - api.main - INFO - STDERR: # destroy langdetect.utils.ngram +2024-11-30 16:15:21,992 - api.main - INFO - STDERR: # destroy langdetect.utils.lang_profile +2024-11-30 16:15:21,992 - api.main - INFO - STDERR: # destroy langdetect.detector +2024-11-30 16:15:21,992 - api.main - INFO - STDERR: # destroy langdetect.detector_factory +2024-11-30 16:15:21,992 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.views +2024-11-30 16:15:21,992 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.filter +2024-11-30 16:15:21,992 - api.main - INFO - STDERR: # cleanup[2] removing spintax.spintax +2024-11-30 16:15:21,992 - api.main - INFO - STDERR: # cleanup[2] removing spintax +2024-11-30 16:15:21,992 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.session_state +2024-11-30 16:15:21,992 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.interaction +2024-11-30 16:15:21,992 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.navigation +2024-11-30 16:15:21,992 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.persistent_list +2024-11-30 16:15:21,992 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.bot_flow +2024-11-30 16:15:21,992 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict +2024-11-30 16:15:21,992 - api.main - INFO - STDERR: # destroy GramAddict +2024-11-30 16:15:21,993 - api.main - INFO - STDERR: # cleanup[2] removing netrc +2024-11-30 16:15:21,993 - api.main - INFO - STDERR: # destroy netrc +2024-11-30 16:15:21,993 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins +2024-11-30 16:15:21,993 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.decorators +2024-11-30 16:15:21,993 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.scroll_end_detector +2024-11-30 16:15:21,993 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.action_unfollow_followers +2024-11-30 16:15:21,993 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.cloned_app +2024-11-30 16:15:21,993 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.core_arguments +2024-11-30 16:15:21,993 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.data_analytics +2024-11-30 16:15:21,993 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.dbinit +2024-11-30 16:15:21,993 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.handle_sources +2024-11-30 16:15:21,993 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_blogger +2024-11-30 16:15:21,993 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_blogger_followers +2024-11-30 16:15:21,993 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_blogger_post_likers +2024-11-30 16:15:21,993 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_feed +2024-11-30 16:15:21,993 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_hashtag_likers +2024-11-30 16:15:21,993 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_hashtag_posts +2024-11-30 16:15:21,993 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_place_likers +2024-11-30 16:15:21,993 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_place_posts +2024-11-30 16:15:21,993 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.like_from_urls +2024-11-30 16:15:21,993 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.nocodb_record_creation_test +2024-11-30 16:15:21,993 - api.main - INFO - STDERR: # cleanup[2] removing jwt.exceptions +2024-11-30 16:15:21,993 - api.main - INFO - STDERR: # cleanup[2] removing jwt.types +2024-11-30 16:15:21,993 - api.main - INFO - STDERR: # cleanup[2] removing jwt.utils +2024-11-30 16:15:21,994 - api.main - INFO - STDERR: # cleanup[2] removing jwt.algorithms +2024-11-30 16:15:21,994 - api.main - INFO - STDERR: # cleanup[2] removing jwt.api_jwk +2024-11-30 16:15:21,994 - api.main - INFO - STDERR: # cleanup[2] removing jwt.warnings +2024-11-30 16:15:21,994 - api.main - INFO - STDERR: # cleanup[2] removing jwt.api_jws +2024-11-30 16:15:21,994 - api.main - INFO - STDERR: # cleanup[2] removing jwt.api_jwt +2024-11-30 16:15:21,994 - api.main - INFO - STDERR: # cleanup[2] removing jwt.jwk_set_cache +2024-11-30 16:15:21,994 - api.main - INFO - STDERR: # cleanup[2] removing jwt.jwks_client +2024-11-30 16:15:21,994 - api.main - INFO - STDERR: # cleanup[2] removing jwt +2024-11-30 16:15:21,994 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.nocodb_storage +2024-11-30 16:15:21,994 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.remove_followers +2024-11-30 16:15:21,994 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.telegram +2024-11-30 16:15:21,994 - api.main - INFO - STDERR: # cleanup[2] removing _strptime +2024-11-30 16:15:22,012 - api.main - INFO - STDERR: # destroy _sitebuiltins +2024-11-30 16:15:22,013 - api.main - INFO - STDERR: # destroy GramAddict.core +2024-11-30 16:15:22,013 - api.main - INFO - STDERR: # destroy GramAddict.core.plugin_loader +2024-11-30 16:15:22,013 - api.main - INFO - STDERR: # destroy GramAddict.core.config +2024-11-30 16:15:22,013 - api.main - INFO - STDERR: # destroy GramAddict.core.log +2024-11-30 16:15:22,013 - api.main - INFO - STDERR: # destroy GramAddict.core.report +2024-11-30 16:15:22,013 - api.main - INFO - STDERR: # destroy GramAddict.core.resources +2024-11-30 16:15:22,013 - api.main - INFO - STDERR: # destroy GramAddict.core.utils +2024-11-30 16:15:22,013 - api.main - INFO - STDERR: # destroy GramAddict.core.device_facade +2024-11-30 16:15:22,013 - api.main - INFO - STDERR: # destroy GramAddict.core.views +2024-11-30 16:15:22,013 - api.main - INFO - STDERR: # destroy GramAddict.core.filter +2024-11-30 16:15:22,013 - api.main - INFO - STDERR: # destroy GramAddict.core.session_state +2024-11-30 16:15:22,013 - api.main - INFO - STDERR: # destroy GramAddict.core.interaction +2024-11-30 16:15:22,013 - api.main - INFO - STDERR: # destroy GramAddict.core.navigation +2024-11-30 16:15:22,013 - api.main - INFO - STDERR: # destroy GramAddict.core.persistent_list +2024-11-30 16:15:22,013 - api.main - INFO - STDERR: # destroy GramAddict.core.bot_flow +2024-11-30 16:15:22,014 - api.main - INFO - STDERR: # destroy GramAddict.core.decorators +2024-11-30 16:15:22,014 - api.main - INFO - STDERR: # destroy GramAddict.core.scroll_end_detector +2024-11-30 16:15:22,014 - api.main - INFO - STDERR: # destroy GramAddict.core.handle_sources +2024-11-30 16:15:22,014 - api.main - INFO - STDERR: # destroy GramAddict.plugins +2024-11-30 16:15:22,014 - api.main - INFO - STDERR: # destroy GramAddict.plugins.action_unfollow_followers +2024-11-30 16:15:22,014 - api.main - INFO - STDERR: # destroy GramAddict.plugins.cloned_app +2024-11-30 16:15:22,014 - api.main - INFO - STDERR: # destroy GramAddict.plugins.core_arguments +2024-11-30 16:15:22,014 - api.main - INFO - STDERR: # destroy GramAddict.plugins.data_analytics +2024-11-30 16:15:22,014 - api.main - INFO - STDERR: # destroy GramAddict.plugins.dbinit +2024-11-30 16:15:22,014 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_blogger +2024-11-30 16:15:22,014 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_blogger_followers +2024-11-30 16:15:22,014 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_blogger_post_likers +2024-11-30 16:15:22,014 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_feed +2024-11-30 16:15:22,014 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_hashtag_likers +2024-11-30 16:15:22,014 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_hashtag_posts +2024-11-30 16:15:22,014 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_place_likers +2024-11-30 16:15:22,014 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_place_posts +2024-11-30 16:15:22,015 - api.main - INFO - STDERR: # destroy GramAddict.plugins.like_from_urls +2024-11-30 16:15:22,015 - api.main - INFO - STDERR: # destroy GramAddict.plugins.nocodb_record_creation_test +2024-11-30 16:15:22,015 - api.main - INFO - STDERR: # destroy GramAddict.plugins.nocodb_storage +2024-11-30 16:15:22,016 - api.main - INFO - STDERR: # destroy GramAddict.plugins.remove_followers +2024-11-30 16:15:22,016 - api.main - INFO - STDERR: # destroy GramAddict.plugins.telegram +2024-11-30 16:15:22,016 - api.main - INFO - STDERR: # destroy pyparsing.util +2024-11-30 16:15:22,016 - api.main - INFO - STDERR: # destroy pyparsing.exceptions +2024-11-30 16:15:22,016 - api.main - INFO - STDERR: # destroy pyparsing.actions +2024-11-30 16:15:22,016 - api.main - INFO - STDERR: # destroy pyparsing.results +2024-11-30 16:15:22,016 - api.main - INFO - STDERR: # destroy pyparsing.core +2024-11-30 16:15:22,016 - api.main - INFO - STDERR: # destroy pyparsing.helpers +2024-11-30 16:15:22,016 - api.main - INFO - STDERR: # destroy langdetect.utils.messages +2024-11-30 16:15:22,016 - api.main - INFO - STDERR: # cleanup[3] wiping _strptime +2024-11-30 16:15:22,016 - api.main - INFO - STDERR: # cleanup[3] wiping jwt +2024-11-30 16:15:22,016 - api.main - INFO - STDERR: # destroy jwt.exceptions +2024-11-30 16:15:22,017 - api.main - INFO - STDERR: # destroy jwt.types +2024-11-30 16:15:22,017 - api.main - INFO - STDERR: # destroy jwt.utils +2024-11-30 16:15:22,017 - api.main - INFO - STDERR: # destroy jwt.algorithms +2024-11-30 16:15:22,017 - api.main - INFO - STDERR: # destroy jwt.api_jwk +2024-11-30 16:15:22,017 - api.main - INFO - STDERR: # destroy jwt.warnings +2024-11-30 16:15:22,017 - api.main - INFO - STDERR: # destroy jwt.api_jwt +2024-11-30 16:15:22,017 - api.main - INFO - STDERR: # destroy jwt.jwk_set_cache +2024-11-30 16:15:22,017 - api.main - INFO - STDERR: # destroy jwt.jwks_client +2024-11-30 16:15:22,017 - api.main - INFO - STDERR: # cleanup[3] wiping jwt.api_jws +2024-11-30 16:15:22,017 - api.main - INFO - STDERR: # cleanup[3] wiping spintax +2024-11-30 16:15:22,017 - api.main - INFO - STDERR: # destroy spintax.spintax +2024-11-30 16:15:22,017 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.unicode_escape +2024-11-30 16:15:22,017 - api.main - INFO - STDERR: # cleanup[3] wiping GramAddict.core.storage +2024-11-30 16:15:22,017 - api.main - INFO - STDERR: # cleanup[3] wiping uuid +2024-11-30 16:15:22,017 - api.main - INFO - STDERR: # cleanup[3] wiping _uuid +2024-11-30 16:15:22,017 - api.main - INFO - STDERR: # destroy _uuid +2024-11-30 16:15:22,017 - api.main - INFO - STDERR: # cleanup[3] wiping emoji +2024-11-30 16:15:22,018 - api.main - INFO - STDERR: # destroy emoji.core +2024-11-30 16:15:22,018 - api.main - INFO - STDERR: # cleanup[3] wiping emoji.unicode_codes +2024-11-30 16:15:22,018 - api.main - INFO - STDERR: # destroy emoji.unicode_codes.data_dict +2024-11-30 16:15:22,018 - api.main - INFO - STDERR: # cleanup[3] wiping uiautomator2 +2024-11-30 16:15:22,018 - api.main - INFO - STDERR: # destroy uiautomator2._proto +2024-11-30 16:15:22,019 - api.main - INFO - STDERR: # destroy uiautomator2._selector +2024-11-30 16:15:22,019 - api.main - INFO - STDERR: # destroy logzero +2024-11-30 16:15:22,019 - api.main - INFO - STDERR: # destroy uiautomator2.abcd +2024-11-30 16:15:22,019 - api.main - INFO - STDERR: # destroy uiautomator2.exceptions +2024-11-30 16:15:22,019 - api.main - INFO - STDERR: # destroy uiautomator2.utils +2024-11-30 16:15:22,019 - api.main - INFO - STDERR: # destroy uiautomator2.xpath +2024-11-30 16:15:22,019 - api.main - INFO - STDERR: # destroy uiautomator2.version +2024-11-30 16:15:22,019 - api.main - INFO - STDERR: # destroy uiautomator2.init +2024-11-30 16:15:22,019 - api.main - INFO - STDERR: # destroy uiautomator2.settings +2024-11-30 16:15:22,019 - api.main - INFO - STDERR: # destroy uiautomator2.swipe +2024-11-30 16:15:22,019 - api.main - INFO - STDERR: # destroy uiautomator2.watcher +2024-11-30 16:15:22,019 - api.main - INFO - STDERR: # cleanup[3] wiping progress.bar +2024-11-30 16:15:22,019 - api.main - INFO - STDERR: # cleanup[3] wiping progress.colors +2024-11-30 16:15:22,019 - api.main - INFO - STDERR: # cleanup[3] wiping progress +2024-11-30 16:15:22,020 - api.main - INFO - STDERR: # destroy progress.colors +2024-11-30 16:15:22,020 - api.main - INFO - STDERR: # destroy progress.bar +2024-11-30 16:15:22,020 - api.main - INFO - STDERR: # cleanup[3] wiping tarfile +2024-11-30 16:15:22,020 - api.main - INFO - STDERR: # cleanup[3] wiping lxml.etree +2024-11-30 16:15:22,020 - api.main - INFO - STDERR: # cleanup[3] wiping gzip +2024-11-30 16:15:22,020 - api.main - INFO - STDERR: # cleanup[3] wiping lxml._elementpath +2024-11-30 16:15:22,020 - api.main - INFO - STDERR: # cleanup[3] wiping gc +2024-11-30 16:15:22,020 - api.main - INFO - STDERR: # cleanup[3] wiping wrapt +2024-11-30 16:15:22,020 - api.main - INFO - STDERR: # destroy wrapt.wrappers +2024-11-30 16:15:22,020 - api.main - INFO - STDERR: # destroy wrapt.__wrapt__ +2024-11-30 16:15:22,020 - api.main - INFO - STDERR: # destroy wrapt.patches +2024-11-30 16:15:22,020 - api.main - INFO - STDERR: # destroy wrapt.weakrefs +2024-11-30 16:15:22,020 - api.main - INFO - STDERR: # destroy wrapt.arguments +2024-11-30 16:15:22,020 - api.main - INFO - STDERR: # destroy wrapt.decorators +2024-11-30 16:15:22,020 - api.main - INFO - STDERR: # destroy wrapt.importer +2024-11-30 16:15:22,020 - api.main - INFO - STDERR: # cleanup[3] wiping wrapt._wrappers +2024-11-30 16:15:22,020 - api.main - INFO - STDERR: # cleanup[3] wiping six.moves.urllib.parse +2024-11-30 16:15:22,020 - api.main - INFO - STDERR: # cleanup[3] wiping six.moves.urllib +2024-11-30 16:15:22,021 - api.main - INFO - STDERR: # cleanup[3] wiping six.moves +2024-11-30 16:15:22,021 - api.main - INFO - STDERR: # cleanup[3] wiping six +2024-11-30 16:15:22,021 - api.main - INFO - STDERR: # destroy six.moves.urllib +2024-11-30 16:15:22,021 - api.main - INFO - STDERR: # destroy six.moves +2024-11-30 16:15:22,021 - api.main - INFO - STDERR: # cleanup[3] wiping logging.handlers +2024-11-30 16:15:22,021 - api.main - INFO - STDERR: # destroy pickle +2024-11-30 16:15:22,021 - api.main - INFO - STDERR: # cleanup[3] wiping _pickle +2024-11-30 16:15:22,021 - api.main - INFO - STDERR: # cleanup[3] wiping _compat_pickle +2024-11-30 16:15:22,021 - api.main - INFO - STDERR: # cleanup[3] wiping logzero.jsonlogger +2024-11-30 16:15:22,021 - api.main - INFO - STDERR: # cleanup[3] wiping logzero.colors +2024-11-30 16:15:22,021 - api.main - INFO - STDERR: # cleanup[3] wiping filelock +2024-11-30 16:15:22,021 - api.main - INFO - STDERR: # destroy filelock._error +2024-11-30 16:15:22,021 - api.main - INFO - STDERR: # destroy filelock._api +2024-11-30 16:15:22,021 - api.main - INFO - STDERR: # destroy filelock._util +2024-11-30 16:15:22,021 - api.main - INFO - STDERR: # destroy filelock._soft +2024-11-30 16:15:22,021 - api.main - INFO - STDERR: # destroy filelock._unix +2024-11-30 16:15:22,021 - api.main - INFO - STDERR: # destroy filelock._windows +2024-11-30 16:15:22,022 - api.main - INFO - STDERR: # destroy filelock.asyncio +2024-11-30 16:15:22,022 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio +2024-11-30 16:15:22,022 - api.main - INFO - STDERR: # destroy asyncio.log +2024-11-30 16:15:22,022 - api.main - INFO - STDERR: # destroy asyncio.runners +2024-11-30 16:15:22,022 - api.main - INFO - STDERR: # destroy asyncio.queues +2024-11-30 16:15:22,022 - api.main - INFO - STDERR: # destroy asyncio.subprocess +2024-11-30 16:15:22,022 - api.main - INFO - STDERR: # destroy asyncio.threads +2024-11-30 16:15:22,022 - api.main - INFO - STDERR: # destroy asyncio.windows_events +2024-11-30 16:15:22,022 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.windows_utils +2024-11-30 16:15:22,023 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.selector_events +2024-11-30 16:15:22,023 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.proactor_events +2024-11-30 16:15:22,023 - api.main - INFO - STDERR: # destroy asyncio.base_events +2024-11-30 16:15:22,023 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.base_subprocess +2024-11-30 16:15:22,023 - api.main - INFO - STDERR: # cleanup[3] wiping _overlapped +2024-11-30 16:15:22,023 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.streams +2024-11-30 16:15:22,023 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.trsock +2024-11-30 16:15:22,023 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.staggered +2024-11-30 16:15:22,023 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.tasks +2024-11-30 16:15:22,023 - api.main - INFO - STDERR: # destroy asyncio.base_tasks +2024-11-30 16:15:22,023 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.locks +2024-11-30 16:15:22,023 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.sslproto +2024-11-30 16:15:22,023 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.transports +2024-11-30 16:15:22,023 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.protocols +2024-11-30 16:15:22,023 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.futures +2024-11-30 16:15:22,024 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.events +2024-11-30 16:15:22,024 - api.main - INFO - STDERR: # cleanup[3] wiping _asyncio +2024-11-30 16:15:22,025 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.exceptions +2024-11-30 16:15:22,025 - api.main - INFO - STDERR: # cleanup[3] wiping contextvars +2024-11-30 16:15:22,025 - api.main - INFO - STDERR: # cleanup[3] wiping _contextvars +2024-11-30 16:15:22,025 - api.main - INFO - STDERR: # destroy _contextvars +2024-11-30 16:15:22,025 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.coroutines +2024-11-30 16:15:22,025 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.base_futures +2024-11-30 16:15:22,025 - api.main - INFO - STDERR: # destroy asyncio.format_helpers +2024-11-30 16:15:22,025 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.constants +2024-11-30 16:15:22,025 - api.main - INFO - STDERR: # cleanup[3] wiping concurrent.futures +2024-11-30 16:15:22,025 - api.main - INFO - STDERR: # destroy concurrent.futures._base +2024-11-30 16:15:22,025 - api.main - INFO - STDERR: # cleanup[3] wiping concurrent +2024-11-30 16:15:22,025 - api.main - INFO - STDERR: # destroy concurrent.futures +2024-11-30 16:15:22,025 - api.main - INFO - STDERR: # cleanup[3] wiping adbutils +2024-11-30 16:15:22,025 - api.main - INFO - STDERR: # destroy adbutils._utils +2024-11-30 16:15:22,025 - api.main - INFO - STDERR: # destroy adbutils._proto +2024-11-30 16:15:22,025 - api.main - INFO - STDERR: # destroy adbutils._version +2024-11-30 16:15:22,025 - api.main - INFO - STDERR: # destroy pkg_resources +2024-11-30 16:15:22,025 - api.main - INFO - STDERR: # destroy adbutils._adb +2024-11-30 16:15:22,025 - api.main - INFO - STDERR: # destroy adbutils._device +2024-11-30 16:15:22,025 - api.main - INFO - STDERR: # destroy adbutils.errors +2024-11-30 16:15:22,025 - api.main - INFO - STDERR: # cleanup[3] wiping PIL.Image +2024-11-30 16:15:22,025 - api.main - INFO - STDERR: # destroy PIL.ExifTags +2024-11-30 16:15:22,025 - api.main - INFO - STDERR: # destroy PIL.ImageMode +2024-11-30 16:15:22,025 - api.main - INFO - STDERR: # destroy PIL.TiffTags +2024-11-30 16:15:22,025 - api.main - INFO - STDERR: # cleanup[3] wiping PIL._imaging +2024-11-30 16:15:22,026 - api.main - INFO - STDERR: # cleanup[3] wiping requests +2024-11-30 16:15:22,026 - api.main - INFO - STDERR: # destroy requests._internal_utils +2024-11-30 16:15:22,026 - api.main - INFO - STDERR: # destroy requests.compat +2024-11-30 16:15:22,026 - api.main - INFO - STDERR: # destroy requests.exceptions +2024-11-30 16:15:22,026 - api.main - INFO - STDERR: # destroy requests.packages +2024-11-30 16:15:22,026 - api.main - INFO - STDERR: # destroy idna +2024-11-30 16:15:22,026 - api.main - INFO - STDERR: # destroy idna.intranges +2024-11-30 16:15:22,026 - api.main - INFO - STDERR: # destroy idna.core +2024-11-30 16:15:22,026 - api.main - INFO - STDERR: # destroy idna.package_data +2024-11-30 16:15:22,027 - api.main - INFO - STDERR: # destroy requests.cookies +2024-11-30 16:15:22,027 - api.main - INFO - STDERR: # destroy requests.structures +2024-11-30 16:15:22,027 - api.main - INFO - STDERR: # destroy requests.utils +2024-11-30 16:15:22,027 - api.main - INFO - STDERR: # destroy requests.auth +2024-11-30 16:15:22,027 - api.main - INFO - STDERR: # destroy requests.hooks +2024-11-30 16:15:22,027 - api.main - INFO - STDERR: # destroy requests.status_codes +2024-11-30 16:15:22,027 - api.main - INFO - STDERR: # destroy requests.models +2024-11-30 16:15:22,027 - api.main - INFO - STDERR: # destroy requests.adapters +2024-11-30 16:15:22,027 - api.main - INFO - STDERR: # destroy requests.api +2024-11-30 16:15:22,027 - api.main - INFO - STDERR: # cleanup[3] wiping requests.sessions +2024-11-30 16:15:22,027 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.idna +2024-11-30 16:15:22,027 - api.main - INFO - STDERR: # destroy stringprep +2024-11-30 16:15:22,027 - api.main - INFO - STDERR: # cleanup[3] wiping requests.certs +2024-11-30 16:15:22,027 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.chardet +2024-11-30 16:15:22,027 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.idna.idnadata +2024-11-30 16:15:22,027 - api.main - INFO - STDERR: # cleanup[3] wiping idna.idnadata +2024-11-30 16:15:22,029 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3 +2024-11-30 16:15:22,029 - api.main - INFO - STDERR: # destroy urllib3._version +2024-11-30 16:15:22,029 - api.main - INFO - STDERR: # destroy urllib3._collections +2024-11-30 16:15:22,029 - api.main - INFO - STDERR: # destroy urllib3.packages +2024-11-30 16:15:22,029 - api.main - INFO - STDERR: # destroy urllib3.exceptions +2024-11-30 16:15:22,029 - api.main - INFO - STDERR: # destroy urllib3.contrib +2024-11-30 16:15:22,029 - api.main - INFO - STDERR: # destroy urllib3.connection +2024-11-30 16:15:22,029 - api.main - INFO - STDERR: # destroy urllib3.fields +2024-11-30 16:15:22,029 - api.main - INFO - STDERR: # destroy urllib3.filepost +2024-11-30 16:15:22,030 - api.main - INFO - STDERR: # destroy urllib3.request +2024-11-30 16:15:22,030 - api.main - INFO - STDERR: # destroy urllib3.response +2024-11-30 16:15:22,030 - api.main - INFO - STDERR: # destroy urllib3.connectionpool +2024-11-30 16:15:22,030 - api.main - INFO - STDERR: # destroy urllib3.poolmanager +2024-11-30 16:15:22,030 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util.queue +2024-11-30 16:15:22,030 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six.moves.urllib.parse +2024-11-30 16:15:22,030 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six.moves.urllib +2024-11-30 16:15:22,030 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util.ssl_match_hostname +2024-11-30 16:15:22,030 - api.main - INFO - STDERR: # destroy ipaddress +2024-11-30 16:15:22,030 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util.proxy +2024-11-30 16:15:22,030 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util +2024-11-30 16:15:22,030 - api.main - INFO - STDERR: # destroy urllib3.util.wait +2024-11-30 16:15:22,030 - api.main - INFO - STDERR: # destroy urllib3.util.request +2024-11-30 16:15:22,030 - api.main - INFO - STDERR: # destroy urllib3.util.response +2024-11-30 16:15:22,030 - api.main - INFO - STDERR: # destroy urllib3.util.retry +2024-11-30 16:15:22,030 - api.main - INFO - STDERR: # destroy urllib3.util.url +2024-11-30 16:15:22,030 - api.main - INFO - STDERR: # destroy urllib3.util.ssltransport +2024-11-30 16:15:22,031 - api.main - INFO - STDERR: # destroy urllib3.util.ssl_ +2024-11-30 16:15:22,031 - api.main - INFO - STDERR: # destroy urllib3.util.timeout +2024-11-30 16:15:22,031 - api.main - INFO - STDERR: # destroy urllib3.util.proxy +2024-11-30 16:15:22,031 - api.main - INFO - STDERR: # destroy urllib3.util.ssl_match_hostname +2024-11-30 16:15:22,031 - api.main - INFO - STDERR: # destroy urllib3.util.queue +2024-11-30 16:15:22,031 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util.connection +2024-11-30 16:15:22,031 - api.main - INFO - STDERR: # destroy urllib3.contrib._appengine_environ +2024-11-30 16:15:22,031 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six.moves.http_client +2024-11-30 16:15:22,031 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six.moves +2024-11-30 16:15:22,031 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six +2024-11-30 16:15:22,031 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib +2024-11-30 16:15:22,031 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves +2024-11-30 16:15:22,031 - api.main - INFO - STDERR: # cleanup[3] wiping http.cookies +2024-11-30 16:15:22,031 - api.main - INFO - STDERR: # cleanup[3] wiping http.cookiejar +2024-11-30 16:15:22,031 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer +2024-11-30 16:15:22,031 - api.main - INFO - STDERR: # destroy charset_normalizer.models +2024-11-30 16:15:22,032 - api.main - INFO - STDERR: # destroy charset_normalizer.cd +2024-11-30 16:15:22,038 - api.main - INFO - STDERR: # destroy charset_normalizer.api +2024-11-30 16:15:22,038 - api.main - INFO - STDERR: # destroy charset_normalizer.legacy +2024-11-30 16:15:22,038 - api.main - INFO - STDERR: # destroy charset_normalizer.version +2024-11-30 16:15:22,038 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer.md +2024-11-30 16:15:22,038 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer.utils +2024-11-30 16:15:22,038 - api.main - INFO - STDERR: # cleanup[3] wiping _multibytecodec +2024-11-30 16:15:22,038 - api.main - INFO - STDERR: # cleanup[3] wiping unicodedata +2024-11-30 16:15:22,038 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer.md__mypyc +2024-11-30 16:15:22,038 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer.constant +2024-11-30 16:15:22,038 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3 +2024-11-30 16:15:22,038 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.packages.six.moves.urllib.parse +2024-11-30 16:15:22,038 - api.main - INFO - STDERR: # cleanup[3] wiping mimetypes +2024-11-30 16:15:22,038 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.util +2024-11-30 16:15:22,038 - api.main - INFO - STDERR: # cleanup[3] wiping hmac +2024-11-30 16:15:22,038 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.util.connection +2024-11-30 16:15:22,038 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.packages.six.moves.http_client +2024-11-30 16:15:22,038 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.packages.six +2024-11-30 16:15:22,038 - api.main - INFO - STDERR: # cleanup[3] wiping platformdirs.windows +2024-11-30 16:15:22,038 - api.main - INFO - STDERR: # cleanup[3] wiping platformdirs.version +2024-11-30 16:15:22,038 - api.main - INFO - STDERR: # cleanup[3] wiping platformdirs.api +2024-11-30 16:15:22,038 - api.main - INFO - STDERR: # cleanup[3] wiping backports.tarfile +2024-11-30 16:15:22,040 - api.main - INFO - STDERR: # destroy backports.tarfile.compat +2024-11-30 16:15:22,040 - api.main - INFO - STDERR: # destroy backports.tarfile.compat.py38 +2024-11-30 16:15:22,040 - api.main - INFO - STDERR: # cleanup[3] wiping importlib.resources +2024-11-30 16:15:22,040 - api.main - INFO - STDERR: # cleanup[3] wiping importlib._common +2024-11-30 16:15:22,040 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.requirements +2024-11-30 16:15:22,040 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.markers +2024-11-30 16:15:22,040 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.specifiers +2024-11-30 16:15:22,040 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.utils +2024-11-30 16:15:22,040 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.tags +2024-11-30 16:15:22,040 - api.main - INFO - STDERR: # cleanup[3] wiping distutils +2024-11-30 16:15:22,040 - api.main - INFO - STDERR: # destroy distutils._log +2024-11-30 16:15:22,040 - api.main - INFO - STDERR: # destroy distutils.compat +2024-11-30 16:15:22,040 - api.main - INFO - STDERR: # destroy distutils.errors +2024-11-30 16:15:22,040 - api.main - INFO - STDERR: # destroy distutils.debug +2024-11-30 16:15:22,040 - api.main - INFO - STDERR: # destroy distutils.spawn +2024-11-30 16:15:22,040 - api.main - INFO - STDERR: # destroy distutils.cmd +2024-11-30 16:15:22,040 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.util +2024-11-30 16:15:22,040 - api.main - INFO - STDERR: # destroy sysconfig +2024-11-30 16:15:22,040 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.archive_util +2024-11-30 16:15:22,040 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.dir_util +2024-11-30 16:15:22,040 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.file_util +2024-11-30 16:15:22,040 - api.main - INFO - STDERR: # cleanup[3] wiping distutils._modified +2024-11-30 16:15:22,040 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.compat.py39 +2024-11-30 16:15:22,040 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.compat.py38 +2024-11-30 16:15:22,047 - api.main - INFO - STDERR: # cleanup[3] wiping more_itertools +2024-11-30 16:15:22,047 - api.main - INFO - STDERR: # destroy more_itertools.recipes +2024-11-30 16:15:22,047 - api.main - INFO - STDERR: # destroy more_itertools.more +2024-11-30 16:15:22,047 - api.main - INFO - STDERR: # cleanup[3] wiping queue +2024-11-30 16:15:22,047 - api.main - INFO - STDERR: # cleanup[3] wiping _queue +2024-11-30 16:15:22,047 - api.main - INFO - STDERR: # cleanup[3] wiping setuptools._distutils +2024-11-30 16:15:22,047 - api.main - INFO - STDERR: # cleanup[3] wiping packaging._compat +2024-11-30 16:15:22,047 - api.main - INFO - STDERR: # cleanup[3] wiping html +2024-11-30 16:15:22,047 - api.main - INFO - STDERR: # destroy html.entities +2024-11-30 16:15:22,047 - api.main - INFO - STDERR: # cleanup[3] wiping pprint +2024-11-30 16:15:22,047 - api.main - INFO - STDERR: # cleanup[3] wiping plistlib +2024-11-30 16:15:22,047 - api.main - INFO - STDERR: # cleanup[3] wiping apkutils2 +2024-11-30 16:15:22,047 - api.main - INFO - STDERR: # destroy apkutils2.apkfile +2024-11-30 16:15:22,048 - api.main - INFO - STDERR: # destroy apkutils2.axml +2024-11-30 16:15:22,048 - api.main - INFO - STDERR: # destroy apkutils2.axml.chunk +2024-11-30 16:15:22,048 - api.main - INFO - STDERR: # destroy apkutils2.axml.arscparser +2024-11-30 16:15:22,048 - api.main - INFO - STDERR: # destroy apkutils2.axml.axmlparser +2024-11-30 16:15:22,048 - api.main - INFO - STDERR: # destroy apkutils2.dex +2024-11-30 16:15:22,048 - api.main - INFO - STDERR: # destroy apkutils2.dex.byteio +2024-11-30 16:15:22,048 - api.main - INFO - STDERR: # destroy apkutils2.dex.dalvik +2024-11-30 16:15:22,048 - api.main - INFO - STDERR: # destroy apkutils2.dex.dexparser +2024-11-30 16:15:22,048 - api.main - INFO - STDERR: # destroy apkutils2.manifest +2024-11-30 16:15:22,048 - api.main - INFO - STDERR: # cleanup[3] wiping apkutils2.dex.dalvikformats +2024-11-30 16:15:22,048 - api.main - INFO - STDERR: # cleanup[3] wiping apkutils2.dex.util +2024-11-30 16:15:22,048 - api.main - INFO - STDERR: # cleanup[3] wiping array +2024-11-30 16:15:22,048 - api.main - INFO - STDERR: # cleanup[3] wiping apkutils2.axml.public +2024-11-30 16:15:22,048 - api.main - INFO - STDERR: # cleanup[3] wiping xmltodict +2024-11-30 16:15:22,048 - api.main - INFO - STDERR: # cleanup[3] wiping platform +2024-11-30 16:15:22,048 - api.main - INFO - STDERR: # cleanup[3] wiping xml.sax.saxutils +2024-11-30 16:15:22,048 - api.main - INFO - STDERR: # cleanup[3] wiping urllib.request +2024-11-30 16:15:22,048 - api.main - INFO - STDERR: # destroy http +2024-11-30 16:15:22,049 - api.main - INFO - STDERR: # cleanup[3] wiping urllib.error +2024-11-30 16:15:22,049 - api.main - INFO - STDERR: # cleanup[3] wiping urllib.response +2024-11-30 16:15:22,049 - api.main - INFO - STDERR: # cleanup[3] wiping http.client +2024-11-30 16:15:22,049 - api.main - INFO - STDERR: # cleanup[3] wiping ssl +2024-11-30 16:15:22,049 - api.main - INFO - STDERR: # cleanup[3] wiping _ssl +2024-11-30 16:15:22,049 - api.main - INFO - STDERR: # cleanup[3] wiping email.message +2024-11-30 16:15:22,049 - api.main - INFO - STDERR: # destroy uu +2024-11-30 16:15:22,049 - api.main - INFO - STDERR: # destroy quopri +2024-11-30 16:15:22,049 - api.main - INFO - STDERR: # cleanup[3] wiping email.iterators +2024-11-30 16:15:22,049 - api.main - INFO - STDERR: # cleanup[3] wiping email._encoded_words +2024-11-30 16:15:22,049 - api.main - INFO - STDERR: # cleanup[3] wiping email.parser +2024-11-30 16:15:22,049 - api.main - INFO - STDERR: # cleanup[3] wiping email.feedparser +2024-11-30 16:15:22,049 - api.main - INFO - STDERR: # cleanup[3] wiping email._policybase +2024-11-30 16:15:22,049 - api.main - INFO - STDERR: # cleanup[3] wiping email.utils +2024-11-30 16:15:22,049 - api.main - INFO - STDERR: # cleanup[3] wiping email._parseaddr +2024-11-30 16:15:22,049 - api.main - INFO - STDERR: # cleanup[3] wiping calendar +2024-11-30 16:15:22,050 - api.main - INFO - STDERR: # destroy locale +2024-11-30 16:15:22,050 - api.main - INFO - STDERR: # cleanup[3] wiping email.header +2024-11-30 16:15:22,057 - api.main - INFO - STDERR: # cleanup[3] wiping email.charset +2024-11-30 16:15:22,057 - api.main - INFO - STDERR: # cleanup[3] wiping email.encoders +2024-11-30 16:15:22,057 - api.main - INFO - STDERR: # cleanup[3] wiping email.base64mime +2024-11-30 16:15:22,058 - api.main - INFO - STDERR: # cleanup[3] wiping email.quoprimime +2024-11-30 16:15:22,058 - api.main - INFO - STDERR: # cleanup[3] wiping email.errors +2024-11-30 16:15:22,058 - api.main - INFO - STDERR: # cleanup[3] wiping email +2024-11-30 16:15:22,058 - api.main - INFO - STDERR: # destroy email._parseaddr +2024-11-30 16:15:22,058 - api.main - INFO - STDERR: # destroy email._policybase +2024-11-30 16:15:22,058 - api.main - INFO - STDERR: # destroy email._encoded_words +2024-11-30 16:15:22,058 - api.main - INFO - STDERR: # destroy email.errors +2024-11-30 16:15:22,058 - api.main - INFO - STDERR: # destroy email.quoprimime +2024-11-30 16:15:22,058 - api.main - INFO - STDERR: # destroy email.base64mime +2024-11-30 16:15:22,058 - api.main - INFO - STDERR: # destroy email.encoders +2024-11-30 16:15:22,058 - api.main - INFO - STDERR: # destroy email.charset +2024-11-30 16:15:22,058 - api.main - INFO - STDERR: # destroy email.header +2024-11-30 16:15:22,058 - api.main - INFO - STDERR: # destroy email.utils +2024-11-30 16:15:22,058 - api.main - INFO - STDERR: # destroy email.feedparser +2024-11-30 16:15:22,058 - api.main - INFO - STDERR: # destroy email.parser +2024-11-30 16:15:22,058 - api.main - INFO - STDERR: # destroy email.iterators +2024-11-30 16:15:22,058 - api.main - INFO - STDERR: # destroy email.message +2024-11-30 16:15:22,058 - api.main - INFO - STDERR: # cleanup[3] wiping xml.sax +2024-11-30 16:15:22,058 - api.main - INFO - STDERR: # destroy xml.sax._exceptions +2024-11-30 16:15:22,058 - api.main - INFO - STDERR: # destroy xml.sax.xmlreader +2024-11-30 16:15:22,058 - api.main - INFO - STDERR: # destroy xml.sax.saxutils +2024-11-30 16:15:22,058 - api.main - INFO - STDERR: # cleanup[3] wiping xml.sax.handler +2024-11-30 16:15:22,058 - api.main - INFO - STDERR: # cleanup[3] wiping xml.parsers.expat +2024-11-30 16:15:22,058 - api.main - INFO - STDERR: # cleanup[3] wiping xml.parsers.expat.errors +2024-11-30 16:15:22,058 - api.main - INFO - STDERR: # cleanup[3] wiping xml.parsers.expat.model +2024-11-30 16:15:22,058 - api.main - INFO - STDERR: # cleanup[3] wiping pyexpat +2024-11-30 16:15:22,059 - api.main - INFO - STDERR: # cleanup[3] wiping pyexpat.model +2024-11-30 16:15:22,059 - api.main - INFO - STDERR: # cleanup[3] wiping pyexpat.errors +2024-11-30 16:15:22,059 - api.main - INFO - STDERR: # cleanup[3] wiping xml.parsers +2024-11-30 16:15:22,059 - api.main - INFO - STDERR: # destroy xml.parsers.expat +2024-11-30 16:15:22,059 - api.main - INFO - STDERR: # cleanup[3] wiping whichcraft +2024-11-30 16:15:22,059 - api.main - INFO - STDERR: # cleanup[3] wiping zipfile +2024-11-30 16:15:22,059 - api.main - INFO - STDERR: # cleanup[3] wiping tempfile +2024-11-30 16:15:22,059 - api.main - INFO - STDERR: # cleanup[3] wiping shlex +2024-11-30 16:15:22,059 - api.main - INFO - STDERR: # cleanup[3] wiping socket +2024-11-30 16:15:22,059 - api.main - INFO - STDERR: # destroy selectors +2024-11-30 16:15:22,059 - api.main - INFO - STDERR: # cleanup[3] wiping select +2024-11-30 16:15:22,059 - api.main - INFO - STDERR: # cleanup[3] wiping _socket +2024-11-30 16:15:22,059 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.version +2024-11-30 16:15:22,059 - api.main - INFO - STDERR: # cleanup[3] wiping packaging._typing +2024-11-30 16:15:22,059 - api.main - INFO - STDERR: # cleanup[3] wiping packaging._structures +2024-11-30 16:15:22,059 - api.main - INFO - STDERR: # cleanup[3] wiping packaging +2024-11-30 16:15:22,059 - api.main - INFO - STDERR: # destroy packaging._structures +2024-11-30 16:15:22,059 - api.main - INFO - STDERR: # destroy packaging._typing +2024-11-30 16:15:22,059 - api.main - INFO - STDERR: # destroy packaging._compat +2024-11-30 16:15:22,067 - api.main - INFO - STDERR: # destroy packaging.__about__ +2024-11-30 16:15:22,067 - api.main - INFO - STDERR: # destroy packaging.tags +2024-11-30 16:15:22,067 - api.main - INFO - STDERR: # destroy packaging.utils +2024-11-30 16:15:22,068 - api.main - INFO - STDERR: # destroy packaging.specifiers +2024-11-30 16:15:22,068 - api.main - INFO - STDERR: # destroy packaging.markers +2024-11-30 16:15:22,068 - api.main - INFO - STDERR: # destroy packaging.requirements +2024-11-30 16:15:22,068 - api.main - INFO - STDERR: # cleanup[3] wiping pathlib +2024-11-30 16:15:22,068 - api.main - INFO - STDERR: # cleanup[3] wiping urllib.parse +2024-11-30 16:15:22,068 - api.main - INFO - STDERR: # cleanup[3] wiping urllib +2024-11-30 16:15:22,068 - api.main - INFO - STDERR: # destroy urllib.parse +2024-11-30 16:15:22,068 - api.main - INFO - STDERR: # destroy urllib.response +2024-11-30 16:15:22,068 - api.main - INFO - STDERR: # destroy urllib.error +2024-11-30 16:15:22,068 - api.main - INFO - STDERR: # destroy urllib.request +2024-11-30 16:15:22,068 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom.minidom +2024-11-30 16:15:22,068 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom.xmlbuilder +2024-11-30 16:15:22,068 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom.NodeFilter +2024-11-30 16:15:22,068 - api.main - INFO - STDERR: # cleanup[3] wiping copy +2024-11-30 16:15:22,069 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom.minicompat +2024-11-30 16:15:22,069 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom +2024-11-30 16:15:22,069 - api.main - INFO - STDERR: # destroy xml.dom.domreg +2024-11-30 16:15:22,069 - api.main - INFO - STDERR: # destroy xml.dom.minicompat +2024-11-30 16:15:22,069 - api.main - INFO - STDERR: # destroy xml.dom.NodeFilter +2024-11-30 16:15:22,069 - api.main - INFO - STDERR: # destroy xml.dom.xmlbuilder +2024-11-30 16:15:22,069 - api.main - INFO - STDERR: # cleanup[3] wiping xml +2024-11-30 16:15:22,069 - api.main - INFO - STDERR: # destroy xml.dom +2024-11-30 16:15:22,070 - api.main - INFO - STDERR: # destroy xml.parsers +2024-11-30 16:15:22,070 - api.main - INFO - STDERR: # destroy xml.sax +2024-11-30 16:15:22,070 - api.main - INFO - STDERR: # cleanup[3] wiping shutil +2024-11-30 16:15:22,070 - api.main - INFO - STDERR: # cleanup[3] wiping lzma +2024-11-30 16:15:22,070 - api.main - INFO - STDERR: # cleanup[3] wiping _lzma +2024-11-30 16:15:22,070 - api.main - INFO - STDERR: # cleanup[3] wiping bz2 +2024-11-30 16:15:22,070 - api.main - INFO - STDERR: # destroy _compression +2024-11-30 16:15:22,070 - api.main - INFO - STDERR: # cleanup[3] wiping zlib +2024-11-30 16:15:22,070 - api.main - INFO - STDERR: # cleanup[3] wiping hashlib +2024-11-30 16:15:22,070 - api.main - INFO - STDERR: # cleanup[3] wiping _blake2 +2024-11-30 16:15:22,070 - api.main - INFO - STDERR: # cleanup[3] wiping _hashlib +2024-11-30 16:15:22,071 - api.main - INFO - STDERR: # cleanup[3] wiping subprocess +2024-11-30 16:15:22,071 - api.main - INFO - STDERR: # destroy signal +2024-11-30 16:15:22,071 - api.main - INFO - STDERR: # cleanup[3] wiping _winapi +2024-11-30 16:15:22,071 - api.main - INFO - STDERR: # cleanup[3] wiping msvcrt +2024-11-30 16:15:22,071 - api.main - INFO - STDERR: # cleanup[3] wiping errno +2024-11-30 16:15:22,072 - api.main - INFO - STDERR: # cleanup[3] wiping pkgutil +2024-11-30 16:15:22,072 - api.main - INFO - STDERR: # cleanup[3] wiping importlib.util +2024-11-30 16:15:22,072 - api.main - INFO - STDERR: # cleanup[3] wiping importlib.abc +2024-11-30 16:15:22,072 - api.main - INFO - STDERR: # cleanup[3] wiping inspect +2024-11-30 16:15:22,072 - api.main - INFO - STDERR: # destroy ast +2024-11-30 16:15:22,072 - api.main - INFO - STDERR: # destroy dis +2024-11-30 16:15:22,073 - api.main - INFO - STDERR: # destroy token +2024-11-30 16:15:22,073 - api.main - INFO - STDERR: # cleanup[3] wiping importlib.machinery +2024-11-30 16:15:22,073 - api.main - INFO - STDERR: # cleanup[3] wiping importlib +2024-11-30 16:15:22,073 - api.main - INFO - STDERR: # destroy importlib._common +2024-11-30 16:15:22,084 - api.main - INFO - STDERR: # destroy importlib.machinery +2024-11-30 16:15:22,084 - api.main - INFO - STDERR: # destroy importlib.abc +2024-11-30 16:15:22,084 - api.main - INFO - STDERR: # destroy importlib.util +2024-11-30 16:15:22,084 - api.main - INFO - STDERR: # destroy importlib.resources +2024-11-30 16:15:22,084 - api.main - INFO - STDERR: # cleanup[3] wiping importlib._bootstrap_external +2024-11-30 16:15:22,084 - api.main - INFO - STDERR: # cleanup[3] wiping importlib._bootstrap +2024-11-30 16:15:22,084 - api.main - INFO - STDERR: # cleanup[3] wiping _opcode +2024-11-30 16:15:22,084 - api.main - INFO - STDERR: # cleanup[3] wiping yaml +2024-11-30 16:15:22,084 - api.main - INFO - STDERR: # destroy yaml.error +2024-11-30 16:15:22,084 - api.main - INFO - STDERR: # destroy yaml.tokens +2024-11-30 16:15:22,084 - api.main - INFO - STDERR: # destroy yaml.events +2024-11-30 16:15:22,084 - api.main - INFO - STDERR: # destroy yaml.nodes +2024-11-30 16:15:22,084 - api.main - INFO - STDERR: # destroy yaml.reader +2024-11-30 16:15:22,085 - api.main - INFO - STDERR: # destroy yaml.scanner +2024-11-30 16:15:22,085 - api.main - INFO - STDERR: # destroy yaml.parser +2024-11-30 16:15:22,085 - api.main - INFO - STDERR: # destroy yaml.composer +2024-11-30 16:15:22,085 - api.main - INFO - STDERR: # destroy yaml.constructor +2024-11-30 16:15:22,085 - api.main - INFO - STDERR: # destroy yaml.resolver +2024-11-30 16:15:22,085 - api.main - INFO - STDERR: # destroy yaml.loader +2024-11-30 16:15:22,085 - api.main - INFO - STDERR: # destroy yaml.emitter +2024-11-30 16:15:22,085 - api.main - INFO - STDERR: # destroy yaml.serializer +2024-11-30 16:15:22,085 - api.main - INFO - STDERR: # destroy yaml.representer +2024-11-30 16:15:22,085 - api.main - INFO - STDERR: # destroy yaml.dumper +2024-11-30 16:15:22,085 - api.main - INFO - STDERR: # destroy yaml.cyaml +2024-11-30 16:15:22,085 - api.main - INFO - STDERR: # cleanup[3] wiping yaml._yaml +2024-11-30 16:15:22,086 - api.main - INFO - STDERR: # cleanup[3] wiping cython_runtime +2024-11-30 16:15:22,086 - api.main - INFO - STDERR: # cleanup[3] wiping base64 +2024-11-30 16:15:22,086 - api.main - INFO - STDERR: # cleanup[3] wiping binascii +2024-11-30 16:15:22,086 - api.main - INFO - STDERR: # cleanup[3] wiping configargparse +2024-11-30 16:15:22,087 - api.main - INFO - STDERR: # destroy argparse +2024-11-30 16:15:22,087 - api.main - INFO - STDERR: # destroy glob +2024-11-30 16:15:22,087 - api.main - INFO - STDERR: # cleanup[3] wiping textwrap +2024-11-30 16:15:22,087 - api.main - INFO - STDERR: # cleanup[3] wiping fnmatch +2024-11-30 16:15:22,087 - api.main - INFO - STDERR: # cleanup[3] wiping posixpath +2024-11-30 16:15:22,087 - api.main - INFO - STDERR: # cleanup[3] wiping json +2024-11-30 16:15:22,087 - api.main - INFO - STDERR: # destroy json.decoder +2024-11-30 16:15:22,087 - api.main - INFO - STDERR: # destroy json.encoder +2024-11-30 16:15:22,087 - api.main - INFO - STDERR: # cleanup[3] wiping json.scanner +2024-11-30 16:15:22,087 - api.main - INFO - STDERR: # cleanup[3] wiping _json +2024-11-30 16:15:22,087 - api.main - INFO - STDERR: # cleanup[3] wiping typing +2024-11-30 16:15:22,087 - api.main - INFO - STDERR: # cleanup[3] wiping colorama.win32 +2024-11-30 16:15:22,087 - api.main - INFO - STDERR: # cleanup[3] wiping ctypes.wintypes +2024-11-30 16:15:22,087 - api.main - INFO - STDERR: # destroy ctypes +2024-11-30 16:15:22,087 - api.main - INFO - STDERR: # cleanup[3] wiping ctypes._endian +2024-11-30 16:15:22,087 - api.main - INFO - STDERR: # cleanup[3] wiping struct +2024-11-30 16:15:22,088 - api.main - INFO - STDERR: # cleanup[3] wiping _struct +2024-11-30 16:15:22,088 - api.main - INFO - STDERR: # cleanup[3] wiping _ctypes +2024-11-30 16:15:22,088 - api.main - INFO - STDERR: # cleanup[3] wiping contextlib +2024-11-30 16:15:22,088 - api.main - INFO - STDERR: # cleanup[3] wiping datetime +2024-11-30 16:15:22,088 - api.main - INFO - STDERR: # cleanup[3] wiping _datetime +2024-11-30 16:15:22,088 - api.main - INFO - STDERR: # cleanup[3] wiping random +2024-11-30 16:15:22,110 - api.main - INFO - STDERR: # cleanup[3] wiping _sha512 +2024-11-30 16:15:22,110 - api.main - INFO - STDERR: # cleanup[3] wiping _random +2024-11-30 16:15:22,110 - api.main - INFO - STDERR: # cleanup[3] wiping bisect +2024-11-30 16:15:22,110 - api.main - INFO - STDERR: # cleanup[3] wiping _bisect +2024-11-30 16:15:22,111 - api.main - INFO - STDERR: # cleanup[3] wiping math +2024-11-30 16:15:22,111 - api.main - INFO - STDERR: # cleanup[3] wiping logging +2024-11-30 16:15:22,111 - api.main - INFO - STDERR: # destroy logging.handlers +2024-11-30 16:15:22,111 - api.main - INFO - STDERR: # cleanup[3] wiping atexit +2024-11-30 16:15:22,111 - api.main - INFO - STDERR: # cleanup[3] wiping threading +2024-11-30 16:15:22,111 - api.main - INFO - STDERR: # cleanup[3] wiping string +2024-11-30 16:15:22,111 - api.main - INFO - STDERR: # cleanup[3] wiping _string +2024-11-30 16:15:22,112 - api.main - INFO - STDERR: # cleanup[3] wiping collections.abc +2024-11-30 16:15:22,112 - api.main - INFO - STDERR: # cleanup[3] wiping weakref +2024-11-30 16:15:22,112 - api.main - INFO - STDERR: # cleanup[3] wiping warnings +2024-11-30 16:15:22,112 - api.main - INFO - STDERR: # cleanup[3] wiping traceback +2024-11-30 16:15:22,112 - api.main - INFO - STDERR: # cleanup[3] wiping linecache +2024-11-30 16:15:22,112 - api.main - INFO - STDERR: # destroy tokenize +2024-11-30 16:15:22,112 - api.main - INFO - STDERR: # cleanup[3] wiping re +2024-11-30 16:15:22,112 - api.main - INFO - STDERR: # destroy sre_compile +2024-11-30 16:15:22,112 - api.main - INFO - STDERR: # cleanup[3] wiping copyreg +2024-11-30 16:15:22,113 - api.main - INFO - STDERR: # cleanup[3] wiping functools +2024-11-30 16:15:22,113 - api.main - INFO - STDERR: # cleanup[3] wiping _functools +2024-11-30 16:15:22,113 - api.main - INFO - STDERR: # cleanup[3] wiping collections +2024-11-30 16:15:22,113 - api.main - INFO - STDERR: # cleanup[3] wiping _collections +2024-11-30 16:15:22,113 - api.main - INFO - STDERR: # destroy _collections +2024-11-30 16:15:22,113 - api.main - INFO - STDERR: # cleanup[3] wiping reprlib +2024-11-30 16:15:22,113 - api.main - INFO - STDERR: # cleanup[3] wiping operator +2024-11-30 16:15:22,113 - api.main - INFO - STDERR: # cleanup[3] wiping _operator +2024-11-30 16:15:22,113 - api.main - INFO - STDERR: # cleanup[3] wiping keyword +2024-11-30 16:15:22,114 - api.main - INFO - STDERR: # cleanup[3] wiping itertools +2024-11-30 16:15:22,114 - api.main - INFO - STDERR: # cleanup[3] wiping heapq +2024-11-30 16:15:22,114 - api.main - INFO - STDERR: # cleanup[3] wiping _heapq +2024-11-30 16:15:22,114 - api.main - INFO - STDERR: # cleanup[3] wiping sre_parse +2024-11-30 16:15:22,114 - api.main - INFO - STDERR: # cleanup[3] wiping _sre +2024-11-30 16:15:22,114 - api.main - INFO - STDERR: # cleanup[3] wiping enum +2024-11-30 16:15:22,114 - api.main - INFO - STDERR: # cleanup[3] wiping types +2024-11-30 16:15:22,114 - api.main - INFO - STDERR: # cleanup[3] wiping _locale +2024-11-30 16:15:22,116 - api.main - INFO - STDERR: # cleanup[3] wiping os +2024-11-30 16:15:22,116 - api.main - INFO - STDERR: # cleanup[3] wiping os.path +2024-11-30 16:15:22,116 - api.main - INFO - STDERR: # destroy genericpath +2024-11-30 16:15:22,116 - api.main - INFO - STDERR: # cleanup[3] wiping ntpath +2024-11-30 16:15:22,116 - api.main - INFO - STDERR: # cleanup[3] wiping _collections_abc +2024-11-30 16:15:22,116 - api.main - INFO - STDERR: # cleanup[3] wiping stat +2024-11-30 16:15:22,116 - api.main - INFO - STDERR: # cleanup[3] wiping _stat +2024-11-30 16:15:22,116 - api.main - INFO - STDERR: # destroy _stat +2024-11-30 16:15:22,116 - api.main - INFO - STDERR: # cleanup[3] wiping io +2024-11-30 16:15:22,117 - api.main - INFO - STDERR: # cleanup[3] wiping abc +2024-11-30 16:15:22,117 - api.main - INFO - STDERR: # cleanup[3] wiping _abc +2024-11-30 16:15:22,117 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.latin_1 +2024-11-30 16:15:22,117 - api.main - INFO - STDERR: # cleanup[3] wiping _signal +2024-11-30 16:15:22,117 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.cp1252 +2024-11-30 16:15:22,150 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.utf_8 +2024-11-30 16:15:22,150 - api.main - INFO - STDERR: # cleanup[3] wiping encodings +2024-11-30 16:15:22,150 - api.main - INFO - STDERR: # destroy encodings.aliases +2024-11-30 16:15:22,150 - api.main - INFO - STDERR: # destroy encodings.utf_8 +2024-11-30 16:15:22,151 - api.main - INFO - STDERR: # destroy encodings.cp1252 +2024-11-30 16:15:22,151 - api.main - INFO - STDERR: # destroy encodings.latin_1 +2024-11-30 16:15:22,151 - api.main - INFO - STDERR: # destroy encodings.idna +2024-11-30 16:15:22,151 - api.main - INFO - STDERR: # destroy encodings.unicode_escape +2024-11-30 16:15:22,151 - api.main - INFO - STDERR: # cleanup[3] wiping codecs +2024-11-30 16:15:22,151 - api.main - INFO - STDERR: # cleanup[3] wiping _codecs +2024-11-30 16:15:22,151 - api.main - INFO - STDERR: # cleanup[3] wiping zipimport +2024-11-30 16:15:22,151 - api.main - INFO - STDERR: # destroy _frozen_importlib_external +2024-11-30 16:15:22,151 - api.main - INFO - STDERR: # cleanup[3] wiping time +2024-11-30 16:15:22,151 - api.main - INFO - STDERR: # cleanup[3] wiping winreg +2024-11-30 16:15:22,151 - api.main - INFO - STDERR: # cleanup[3] wiping nt +2024-11-30 16:15:22,151 - api.main - INFO - STDERR: # cleanup[3] wiping marshal +2024-11-30 16:15:22,151 - api.main - INFO - STDERR: # cleanup[3] wiping _io +2024-11-30 16:15:22,151 - api.main - INFO - STDERR: # cleanup[3] wiping _weakref +2024-11-30 16:15:22,152 - api.main - INFO - STDERR: # cleanup[3] wiping _warnings +2024-11-30 16:15:22,152 - api.main - INFO - STDERR: # cleanup[3] wiping _thread +2024-11-30 16:15:22,152 - api.main - INFO - STDERR: # cleanup[3] wiping _imp +2024-11-30 16:15:22,152 - api.main - INFO - STDERR: # cleanup[3] wiping _frozen_importlib +2024-11-30 16:15:22,152 - api.main - INFO - STDERR: # cleanup[3] wiping sys +2024-11-30 16:15:22,152 - api.main - INFO - STDERR: # cleanup[3] wiping builtins +2024-11-30 16:15:22,152 - api.main - INFO - STDERR: # destroy pyexpat.errors +2024-11-30 16:15:22,152 - api.main - INFO - STDERR: # destroy pyexpat.model +2024-11-30 16:15:22,152 - api.main - INFO - STDERR: # destroy gc +2024-11-30 16:15:22,152 - api.main - INFO - STDERR: # destroy wrapt._wrappers +2024-11-30 16:15:22,153 - api.main - INFO - STDERR: # destroy _asyncio +2024-11-30 16:15:22,154 - api.main - INFO - STDERR: # destroy PIL._imaging +2024-11-30 16:15:22,154 - api.main - INFO - STDERR: # destroy _multibytecodec +2024-11-30 16:15:22,154 - api.main - INFO - STDERR: # destroy charset_normalizer.md__mypyc +2024-11-30 16:15:22,154 - api.main - INFO - STDERR: # destroy _queue +2024-11-30 16:15:22,154 - api.main - INFO - STDERR: # destroy _ssl +2024-11-30 16:15:22,154 - api.main - INFO - STDERR: # destroy pyexpat +2024-11-30 16:15:22,154 - api.main - INFO - STDERR: # destroy _lzma +2024-11-30 16:15:22,154 - api.main - INFO - STDERR: # destroy _blake2 +2024-11-30 16:15:22,154 - api.main - INFO - STDERR: # destroy _datetime +2024-11-30 16:15:22,154 - api.main - INFO - STDERR: # destroy _sha512 +2024-11-30 16:15:22,154 - api.main - INFO - STDERR: # destroy _random +2024-11-30 16:15:22,154 - api.main - INFO - STDERR: # destroy _bisect +2024-11-30 16:15:22,154 - api.main - INFO - STDERR: # destroy _string +2024-11-30 16:15:22,154 - api.main - INFO - STDERR: # destroy winreg +2024-11-30 16:15:22,154 - api.main - INFO - STDERR: # destroy marshal +2024-11-30 16:15:22,154 - api.main - INFO - STDERR: # destroy _sre +2024-11-30 16:15:22,154 - api.main - INFO - STDERR: # destroy sre_parse +2024-11-30 16:15:22,154 - api.main - INFO - STDERR: # destroy charset_normalizer.md +2024-11-30 16:15:22,154 - api.main - INFO - STDERR: # destroy concurrent +2024-11-30 16:15:22,154 - api.main - INFO - STDERR: # destroy asyncio.sslproto +2024-11-30 16:15:22,154 - api.main - INFO - STDERR: # destroy asyncio.staggered +2024-11-30 16:15:22,154 - api.main - INFO - STDERR: # destroy asyncio.transports +2024-11-30 16:15:22,154 - api.main - INFO - STDERR: # destroy asyncio.trsock +2024-11-30 16:15:22,177 - api.main - INFO - STDERR: # destroy reprlib +2024-11-30 16:15:22,177 - api.main - INFO - STDERR: # destroy asyncio.constants +2024-11-30 16:15:22,177 - api.main - INFO - STDERR: # destroy linecache +2024-11-30 16:15:22,177 - api.main - INFO - STDERR: # destroy asyncio.base_futures +2024-11-30 16:15:22,177 - api.main - INFO - STDERR: # destroy asyncio.coroutines +2024-11-30 16:15:22,177 - api.main - INFO - STDERR: # destroy heapq +2024-11-30 16:15:22,177 - api.main - INFO - STDERR: # destroy asyncio.locks +2024-11-30 16:15:22,177 - api.main - INFO - STDERR: # destroy asyncio.protocols +2024-11-30 16:15:22,177 - api.main - INFO - STDERR: # destroy asyncio.streams +2024-11-30 16:15:22,178 - api.main - INFO - STDERR: # destroy contextvars +2024-11-30 16:15:22,178 - api.main - INFO - STDERR: # destroy _overlapped +2024-11-30 16:15:22,178 - api.main - INFO - STDERR: # destroy asyncio.events +2024-11-30 16:15:22,178 - api.main - INFO - STDERR: # destroy asyncio.base_subprocess +2024-11-30 16:15:22,178 - api.main - INFO - STDERR: # destroy asyncio.futures +2024-11-30 16:15:22,178 - api.main - INFO - STDERR: # destroy asyncio.exceptions +2024-11-30 16:15:22,178 - api.main - INFO - STDERR: # destroy asyncio.proactor_events +2024-11-30 16:15:22,178 - api.main - INFO - STDERR: # destroy asyncio.selector_events +2024-11-30 16:15:22,178 - api.main - INFO - STDERR: # destroy asyncio.tasks +2024-11-30 16:15:22,178 - api.main - INFO - STDERR: # destroy asyncio.windows_utils +2024-11-30 16:15:22,178 - api.main - INFO - STDERR: # destroy _compat_pickle +2024-11-30 16:15:22,178 - api.main - INFO - STDERR: # destroy _pickle +2024-11-30 16:15:22,178 - api.main - INFO - STDERR: # destroy _signal +2024-11-30 16:15:22,178 - api.main - INFO - STDERR: # destroy _collections_abc +2024-11-30 16:15:22,178 - api.main - INFO - STDERR: # destroy _locale +2024-11-30 16:15:22,178 - api.main - INFO - STDERR: # destroy _opcode +2024-11-30 16:15:22,178 - api.main - INFO - STDERR: # destroy _winapi +2024-11-30 16:15:22,178 - api.main - INFO - STDERR: # destroy copyreg +2024-11-30 16:15:22,178 - api.main - INFO - STDERR: # destroy logzero.colors +2024-11-30 16:15:22,178 - api.main - INFO - STDERR: # destroy logzero.jsonlogger +2024-11-30 16:15:22,178 - api.main - INFO - STDERR: # destroy enum +2024-11-30 16:15:22,178 - api.main - INFO - STDERR: # destroy packaging.version +2024-11-30 16:15:22,179 - api.main - INFO - STDERR: # destroy whichcraft +2024-11-30 16:15:22,179 - api.main - INFO - STDERR: # destroy colorama.win32 +2024-11-30 16:15:22,179 - api.main - INFO - STDERR: # destroy urllib3 +2024-11-30 16:15:22,179 - api.main - INFO - STDERR: # destroy xml +2024-11-30 16:15:22,179 - api.main - INFO - STDERR: # destroy xmltodict +2024-11-30 16:15:22,179 - api.main - INFO - STDERR: # destroy pprint +2024-11-30 16:15:22,179 - api.main - INFO - STDERR: # destroy json.scanner +2024-11-30 16:15:22,179 - api.main - INFO - STDERR: # destroy _json +2024-11-30 16:15:22,179 - api.main - INFO - STDERR: # destroy keyword +2024-11-30 16:15:22,179 - api.main - INFO - STDERR: # destroy wrapt +2024-11-30 16:15:22,179 - api.main - INFO - STDERR: # destroy shlex +2024-11-30 16:15:22,179 - api.main - INFO - STDERR: # destroy filelock +2024-11-30 16:15:22,179 - api.main - INFO - STDERR: # destroy six +2024-11-30 16:15:22,179 - api.main - INFO - STDERR: # destroy abc +2024-11-30 16:15:22,180 - api.main - INFO - STDERR: # destroy tarfile +2024-11-30 16:15:22,180 - api.main - INFO - STDERR: # destroy adbutils +2024-11-30 16:15:22,180 - api.main - INFO - STDERR: # destroy progress +2024-11-30 16:15:22,180 - api.main - INFO - STDERR: # destroy uiautomator2 +2024-11-30 16:15:22,180 - api.main - INFO - STDERR: # destroy base64 +2024-11-30 16:15:22,180 - api.main - INFO - STDERR: # destroy html +2024-11-30 16:15:22,180 - api.main - INFO - STDERR: # destroy _imp +2024-11-30 16:15:22,180 - api.main - INFO - STDERR: # destroy plistlib +2024-11-30 16:15:22,180 - api.main - INFO - STDERR: # destroy posixpath +2024-11-30 16:15:22,194 - api.main - INFO - STDERR: # destroy zipimport +2024-11-30 16:15:22,194 - api.main - INFO - STDERR: # destroy packaging +2024-11-30 16:15:22,194 - api.main - INFO - STDERR: # destroy msvcrt +2024-11-30 16:15:22,196 - api.main - INFO - STDERR: # destroy _weakref +2024-11-30 16:15:22,196 - api.main - INFO - STDERR: # destroy requests.sessions +2024-11-30 16:15:22,196 - api.main - INFO - STDERR: # destroy six.moves.urllib_parse +2024-11-30 16:15:22,196 - api.main - INFO - STDERR: # destroy six.moves.urllib.error +2024-11-30 16:15:22,196 - api.main - INFO - STDERR: # destroy six.moves.urllib.request +2024-11-30 16:15:22,196 - api.main - INFO - STDERR: # destroy six.moves.urllib.response +2024-11-30 16:15:22,196 - api.main - INFO - STDERR: # destroy six.moves.urllib.robotparser +2024-11-30 16:15:22,196 - api.main - INFO - STDERR: # destroy emoji.unicode_codes +2024-11-30 16:15:22,196 - api.main - INFO - STDERR: # destroy _socket +2024-11-30 16:15:22,196 - api.main - INFO - STDERR: # destroy xml.dom.minidom +2024-11-30 16:15:22,196 - api.main - INFO - STDERR: # destroy apkutils2.axml.public +2024-11-30 16:15:22,196 - api.main - INFO - STDERR: # destroy pathlib +2024-11-30 16:15:22,196 - api.main - INFO - STDERR: # destroy apkutils2 +2024-11-30 16:15:22,196 - api.main - INFO - STDERR: # destroy PIL.Image +2024-11-30 16:15:22,196 - api.main - INFO - STDERR: # destroy calendar +2024-11-30 16:15:22,197 - api.main - INFO - STDERR: # destroy zipfile +2024-11-30 16:15:22,197 - api.main - INFO - STDERR: # destroy requests.certs +2024-11-30 16:15:22,197 - api.main - INFO - STDERR: # destroy hashlib +2024-11-30 16:15:22,197 - api.main - INFO - STDERR: # destroy encodings +2024-11-30 16:15:22,197 - api.main - INFO - STDERR: # destroy charset_normalizer +2024-11-30 16:15:22,197 - api.main - INFO - STDERR: # destroy asyncio +2024-11-30 16:15:22,197 - api.main - INFO - STDERR: # destroy urllib3.util.connection +2024-11-30 16:15:22,197 - api.main - INFO - STDERR: # destroy email +2024-11-30 16:15:22,197 - api.main - INFO - STDERR: # destroy mimetypes +2024-11-30 16:15:22,197 - api.main - INFO - STDERR: # destroy codecs +2024-11-30 16:15:22,197 - api.main - INFO - STDERR: # destroy urllib3.util +2024-11-30 16:15:22,197 - api.main - INFO - STDERR: # destroy queue +2024-11-30 16:15:22,197 - api.main - INFO - STDERR: # destroy configargparse +2024-11-30 16:15:22,197 - api.main - INFO - STDERR: # destroy textwrap +2024-11-30 16:15:22,197 - api.main - INFO - STDERR: # destroy platformdirs.api +2024-11-30 16:15:22,197 - api.main - INFO - STDERR: # destroy platformdirs.version +2024-11-30 16:15:22,198 - api.main - INFO - STDERR: # destroy platformdirs.windows +2024-11-30 16:15:22,198 - api.main - INFO - STDERR: # destroy jwt +2024-11-30 16:15:22,198 - api.main - INFO - STDERR: # destroy xml.sax.handler +2024-11-30 16:15:22,198 - api.main - INFO - STDERR: # destroy atexit +2024-11-30 16:15:22,198 - api.main - INFO - STDERR: # destroy weakref +2024-11-30 16:15:22,198 - api.main - INFO - STDERR: # destroy _thread +2024-11-30 16:15:22,198 - api.main - INFO - STDERR: # destroy errno +2024-11-30 16:15:22,199 - api.main - INFO - STDERR: # destroy select +2024-11-30 16:15:22,199 - api.main - INFO - STDERR: # destroy socket +2024-11-30 16:15:22,199 - api.main - INFO - STDERR: # destroy hmac +2024-11-30 16:15:22,199 - api.main - INFO - STDERR: # destroy urllib3.packages.six +2024-11-30 16:15:22,199 - api.main - INFO - STDERR: # destroy _hashlib +2024-11-30 16:15:22,199 - api.main - INFO - STDERR: # destroy ssl +2024-11-30 16:15:22,199 - api.main - INFO - STDERR: # destroy pkgutil +2024-11-30 16:15:22,199 - api.main - INFO - STDERR: # destroy string +2024-11-30 16:15:22,199 - api.main - INFO - STDERR: # destroy copy +2024-11-30 16:15:22,199 - api.main - INFO - STDERR: # destroy inspect +2024-11-30 16:15:22,199 - api.main - INFO - STDERR: # destroy more_itertools +2024-11-30 16:15:22,199 - api.main - INFO - STDERR: # destroy backports.tarfile +2024-11-30 16:15:22,247 - api.main - INFO - STDERR: # destroy _warnings +2024-11-30 16:15:22,248 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib_parse +2024-11-30 16:15:22,248 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib.error +2024-11-30 16:15:22,248 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib.request +2024-11-30 16:15:22,248 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib.response +2024-11-30 16:15:22,248 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib.robotparser +2024-11-30 16:15:22,248 - api.main - INFO - STDERR: # destroy stat +2024-11-30 16:15:22,248 - api.main - INFO - STDERR: # destroy threading +2024-11-30 16:15:22,249 - api.main - INFO - STDERR: # destroy zlib +2024-11-30 16:15:22,249 - api.main - INFO - STDERR: # destroy bz2 +2024-11-30 16:15:22,249 - api.main - INFO - STDERR: # destroy lzma +2024-11-30 16:15:22,249 - api.main - INFO - STDERR: # destroy distutils.compat.py38 +2024-11-30 16:15:22,249 - api.main - INFO - STDERR: # destroy distutils.compat.py39 +2024-11-30 16:15:22,249 - api.main - INFO - STDERR: # destroy shutil +2024-11-30 16:15:22,249 - api.main - INFO - STDERR: # destroy subprocess +2024-11-30 16:15:22,250 - api.main - INFO - STDERR: # destroy distutils._modified +2024-11-30 16:15:22,250 - api.main - INFO - STDERR: # destroy distutils.archive_util +2024-11-30 16:15:22,250 - api.main - INFO - STDERR: # destroy distutils.dir_util +2024-11-30 16:15:22,250 - api.main - INFO - STDERR: # destroy distutils.file_util +2024-11-30 16:15:22,250 - api.main - INFO - STDERR: # destroy distutils.util +2024-11-30 16:15:22,250 - api.main - INFO - STDERR: # destroy importlib +2024-11-30 16:15:22,250 - api.main - INFO - STDERR: # destroy http.client +2024-11-30 16:15:22,250 - api.main - INFO - STDERR: # destroy http.cookiejar +2024-11-30 16:15:22,251 - api.main - INFO - STDERR: # destroy http.cookies +2024-11-30 16:15:22,251 - api.main - INFO - STDERR: # destroy bisect +2024-11-30 16:15:22,251 - api.main - INFO - STDERR: # destroy unicodedata +2024-11-30 16:15:22,251 - api.main - INFO - STDERR: # destroy idna.idnadata +2024-11-30 16:15:22,251 - api.main - INFO - STDERR: # destroy fnmatch +2024-11-30 16:15:22,251 - api.main - INFO - STDERR: # destroy requests +2024-11-30 16:15:22,251 - api.main - INFO - STDERR: # destroy yaml +2024-11-30 16:15:22,251 - api.main - INFO - STDERR: # destroy uuid +2024-11-30 16:15:22,252 - api.main - INFO - STDERR: # destroy collections +2024-11-30 16:15:22,252 - api.main - INFO - STDERR: # destroy struct +2024-11-30 16:15:22,252 - api.main - INFO - STDERR: # destroy apkutils2.dex.dalvikformats +2024-11-30 16:15:22,252 - api.main - INFO - STDERR: # destroy apkutils2.dex.util +2024-11-30 16:15:22,252 - api.main - INFO - STDERR: # destroy array +2024-11-30 16:15:22,253 - api.main - INFO - STDERR: # destroy binascii +2024-11-30 16:15:22,253 - api.main - INFO - STDERR: # destroy setuptools._distutils +2024-11-30 16:15:22,253 - api.main - INFO - STDERR: # destroy contextlib +2024-11-30 16:15:22,253 - api.main - INFO - STDERR: # destroy tempfile +2024-11-30 16:15:22,253 - api.main - INFO - STDERR: # destroy nt +2024-11-30 16:15:22,253 - api.main - INFO - STDERR: # destroy traceback +2024-11-30 16:15:22,253 - api.main - INFO - STDERR: # destroy spintax +2024-11-30 16:15:22,253 - api.main - INFO - STDERR: # destroy GramAddict.core.storage +2024-11-30 16:15:22,254 - api.main - INFO - STDERR: # destroy ntpath +2024-11-30 16:15:22,254 - api.main - INFO - STDERR: # destroy operator +2024-11-30 16:15:22,254 - api.main - INFO - STDERR: # destroy collections.abc +2024-11-30 16:15:22,254 - api.main - INFO - STDERR: # destroy _functools +2024-11-30 16:15:22,254 - api.main - INFO - STDERR: # destroy _heapq +2024-11-30 16:15:22,254 - api.main - INFO - STDERR: # destroy itertools +2024-11-30 16:15:22,254 - api.main - INFO - STDERR: # destroy math +2024-11-30 16:15:22,255 - api.main - INFO - STDERR: # destroy _operator +2024-11-30 16:15:22,255 - api.main - INFO - STDERR: # destroy urllib +2024-11-30 16:15:22,306 - api.main - INFO - STDERR: # destroy datetime +2024-11-30 16:15:22,307 - api.main - INFO - STDERR: # destroy platform +2024-11-30 16:15:22,307 - api.main - INFO - STDERR: # destroy emoji +2024-11-30 16:15:22,307 - api.main - INFO - STDERR: # destroy json +2024-11-30 16:15:22,307 - api.main - INFO - STDERR: # destroy jwt.api_jws +2024-11-30 16:15:22,307 - api.main - INFO - STDERR: # destroy time +2024-11-30 16:15:22,307 - api.main - INFO - STDERR: # destroy random +2024-11-30 16:15:22,307 - api.main - INFO - STDERR: # destroy warnings +2024-11-30 16:15:22,307 - api.main - INFO - STDERR: # destroy _frozen_importlib +2024-11-30 16:15:22,307 - api.main - INFO - STDERR: # clear sys.audit hooks +2024-11-30 16:17:00,721 - api.main - INFO - All tasks cleaned up. +2024-11-30 16:17:01,573 - api.main - INFO - API startup complete +2024-11-30 16:17:20,394 - api.main - INFO - API startup complete +2024-11-30 16:17:31,769 - api.main - ERROR - Error getting interaction limits for account quecreate: 'list' object has no attribute 'get' +2024-11-30 16:18:20,395 - api.main - INFO - All tasks cleaned up. +2024-11-30 16:18:20,456 - api.main - INFO - All tasks cleaned up. +2024-11-30 16:18:21,221 - api.main - INFO - API startup complete +2024-11-30 16:18:21,276 - api.main - INFO - API startup complete +2024-11-30 16:18:31,268 - api.main - INFO - API startup complete +2024-11-30 16:26:40,765 - api.main - INFO - All tasks cleaned up. +2024-11-30 16:26:40,795 - api.main - INFO - All tasks cleaned up. +2024-11-30 16:26:40,856 - api.main - INFO - All tasks cleaned up. +2024-11-30 16:26:41,617 - api.main - INFO - API startup complete +2024-11-30 16:26:41,650 - api.main - INFO - API startup complete +2024-11-30 16:26:41,705 - api.main - INFO - API startup complete +2024-11-30 16:26:50,679 - api.main - INFO - API startup complete +2024-11-30 16:30:48,629 - api.main - INFO - All tasks cleaned up. +2024-11-30 16:30:48,629 - api.main - INFO - All tasks cleaned up. +2024-11-30 16:30:48,675 - api.main - INFO - All tasks cleaned up. +2024-11-30 16:30:48,706 - api.main - INFO - All tasks cleaned up. +2024-11-30 16:30:49,575 - api.main - INFO - API startup complete +2024-11-30 16:30:49,587 - api.main - INFO - API startup complete +2024-11-30 16:30:49,612 - api.main - INFO - API startup complete +2024-11-30 16:30:49,644 - api.main - INFO - API startup complete +2024-11-30 16:31:10,528 - api.main - INFO - API startup complete +2024-11-30 16:31:51,204 - api.main - ERROR - Error getting config for account nonexistent: 404: Configuration file not found for account nonexistent +2024-11-30 16:48:20,789 - api.main - INFO - All tasks cleaned up. +2024-11-30 16:48:20,789 - api.main - INFO - All tasks cleaned up. +2024-11-30 16:48:20,834 - api.main - INFO - All tasks cleaned up. +2024-11-30 16:48:20,850 - api.main - INFO - All tasks cleaned up. +2024-11-30 16:48:20,850 - api.main - INFO - All tasks cleaned up. +2024-11-30 16:48:21,751 - api.main - INFO - API startup complete +2024-11-30 16:48:21,770 - api.main - INFO - API startup complete +2024-11-30 16:48:21,790 - api.main - INFO - API startup complete +2024-11-30 16:48:21,829 - api.main - INFO - API startup complete +2024-11-30 16:48:21,838 - api.main - INFO - API startup complete +2024-11-30 16:48:42,148 - api.main - INFO - API startup complete +2024-11-30 16:53:24,826 - api.main - INFO - Starting session for account quecreate with config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml +2024-11-30 16:53:24,827 - api.main - INFO - Running command: e:\PROJECTS\instagram automation\virtualinfluencer\venv\Scripts\python.exe -v e:\PROJECTS\instagram automation\virtualinfluencer\run.py --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 16:53:24,827 - api.main - INFO - Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 16:53:24,827 - api.main - INFO - Environment PYTHONPATH: None +2024-11-30 16:53:24,827 - api.main - INFO - Starting process with command: e:\PROJECTS\instagram automation\virtualinfluencer\venv\Scripts\python.exe -v e:\PROJECTS\instagram automation\virtualinfluencer\run.py --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 16:53:24,827 - api.main - INFO - Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 16:53:24,827 - api.main - INFO - PYTHONPATH: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 16:53:24,834 - api.main - INFO - Process started with PID: 38264 +2024-11-30 16:53:24,834 - api.main - INFO - Successfully started session for account: quecreate +2024-11-30 16:53:24,867 - api.main - INFO - STDERR: import _frozen_importlib # frozen +2024-11-30 16:53:24,867 - api.main - INFO - STDERR: import _imp # builtin +2024-11-30 16:53:24,867 - api.main - INFO - STDERR: import '_thread' # +2024-11-30 16:53:24,867 - api.main - INFO - STDERR: import '_warnings' # +2024-11-30 16:53:24,867 - api.main - INFO - STDERR: import '_weakref' # +2024-11-30 16:53:24,867 - api.main - INFO - STDERR: import '_io' # +2024-11-30 16:53:24,867 - api.main - INFO - STDERR: import 'marshal' # +2024-11-30 16:53:24,867 - api.main - INFO - STDERR: import 'nt' # +2024-11-30 16:53:24,867 - api.main - INFO - STDERR: import 'winreg' # +2024-11-30 16:53:24,867 - api.main - INFO - STDERR: import '_frozen_importlib_external' # +2024-11-30 16:53:24,868 - api.main - INFO - STDERR: # installing zipimport hook +2024-11-30 16:53:24,868 - api.main - INFO - STDERR: import 'time' # +2024-11-30 16:53:24,868 - api.main - INFO - STDERR: import 'zipimport' # +2024-11-30 16:53:24,868 - api.main - INFO - STDERR: # installed zipimport hook +2024-11-30 16:53:24,871 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__init__.py +2024-11-30 16:53:24,871 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:24,871 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\codecs.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\codecs.py +2024-11-30 16:53:24,872 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\codecs.cpython-39.pyc' +2024-11-30 16:53:24,872 - api.main - INFO - STDERR: import '_codecs' # +2024-11-30 16:53:24,872 - api.main - INFO - STDERR: import 'codecs' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE935B5940> +2024-11-30 16:53:24,873 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\aliases.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\aliases.py +2024-11-30 16:53:24,874 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\aliases.cpython-39.pyc' +2024-11-30 16:53:24,874 - api.main - INFO - STDERR: import 'encodings.aliases' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93B44EB0> +2024-11-30 16:53:24,874 - api.main - INFO - STDERR: import 'encodings' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE935B5730> +2024-11-30 16:53:24,875 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\utf_8.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\utf_8.py +2024-11-30 16:53:24,876 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\utf_8.cpython-39.pyc' +2024-11-30 16:53:24,876 - api.main - INFO - STDERR: import 'encodings.utf_8' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE935B5790> +2024-11-30 16:53:24,877 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\cp1252.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\cp1252.py +2024-11-30 16:53:24,883 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\cp1252.cpython-39.pyc' +2024-11-30 16:53:24,883 - api.main - INFO - STDERR: import 'encodings.cp1252' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93B44FA0> +2024-11-30 16:53:24,883 - api.main - INFO - STDERR: import '_signal' # +2024-11-30 16:53:24,883 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\latin_1.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\latin_1.py +2024-11-30 16:53:24,883 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\latin_1.cpython-39.pyc' +2024-11-30 16:53:24,883 - api.main - INFO - STDERR: import 'encodings.latin_1' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93B5C340> +2024-11-30 16:53:24,883 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\io.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\io.py +2024-11-30 16:53:24,883 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\io.cpython-39.pyc' +2024-11-30 16:53:24,883 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\abc.py +2024-11-30 16:53:24,883 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 16:53:24,883 - api.main - INFO - STDERR: import '_abc' # +2024-11-30 16:53:24,883 - api.main - INFO - STDERR: import 'abc' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93B5C7F0> +2024-11-30 16:53:24,883 - api.main - INFO - STDERR: import 'io' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93B5C520> +2024-11-30 16:53:24,883 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\site.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\site.py +2024-11-30 16:53:24,883 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\site.cpython-39.pyc' +2024-11-30 16:53:24,883 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\os.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\os.py +2024-11-30 16:53:24,883 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\os.cpython-39.pyc' +2024-11-30 16:53:24,883 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\stat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\stat.py +2024-11-30 16:53:24,883 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\stat.cpython-39.pyc' +2024-11-30 16:53:24,883 - api.main - INFO - STDERR: import '_stat' # +2024-11-30 16:53:24,883 - api.main - INFO - STDERR: import 'stat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93B7FFA0> +2024-11-30 16:53:24,883 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_collections_abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_collections_abc.py +2024-11-30 16:53:24,883 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_collections_abc.cpython-39.pyc' +2024-11-30 16:53:24,885 - api.main - INFO - STDERR: import '_collections_abc' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93B86130> +2024-11-30 16:53:24,885 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ntpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ntpath.py +2024-11-30 16:53:24,885 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ntpath.cpython-39.pyc' +2024-11-30 16:53:24,886 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\genericpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\genericpath.py +2024-11-30 16:53:24,886 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\genericpath.cpython-39.pyc' +2024-11-30 16:53:24,886 - api.main - INFO - STDERR: import 'genericpath' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93BAF970> +2024-11-30 16:53:24,886 - api.main - INFO - STDERR: import 'ntpath' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93B86A60> +2024-11-30 16:53:24,886 - api.main - INFO - STDERR: import 'os' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93B657C0> +2024-11-30 16:53:24,888 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_sitebuiltins.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_sitebuiltins.py +2024-11-30 16:53:24,888 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_sitebuiltins.cpython-39.pyc' +2024-11-30 16:53:24,888 - api.main - INFO - STDERR: import '_sitebuiltins' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93B7F460> +2024-11-30 16:53:24,889 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_bootlocale.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_bootlocale.py +2024-11-30 16:53:24,889 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_bootlocale.cpython-39.pyc' +2024-11-30 16:53:24,889 - api.main - INFO - STDERR: import '_locale' # +2024-11-30 16:53:24,889 - api.main - INFO - STDERR: import '_bootlocale' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93BAFD90> +2024-11-30 16:53:24,892 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__init__.py +2024-11-30 16:53:24,892 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\_distutils_hack\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:24,892 - api.main - INFO - STDERR: import '_distutils_hack' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93BC5B80> +2024-11-30 16:53:24,893 - api.main - INFO - STDERR: import 'site' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93B5C850> +2024-11-30 16:53:24,893 - api.main - INFO - STDERR: Python 3.9.10 (tags/v3.9.10:f2f3f53, Jan 17 2022, 15:14:21) [MSC v.1929 64 bit (AMD64)] on win32 +2024-11-30 16:53:24,893 - api.main - INFO - STDERR: Type "help", "copyright", "credits" or "license" for more information. +2024-11-30 16:53:24,894 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\__init__.py +2024-11-30 16:53:24,894 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:24,895 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__init__.py +2024-11-30 16:53:24,895 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:24,895 - api.main - INFO - STDERR: import 'GramAddict.core' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93BD45B0> +2024-11-30 16:53:24,896 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\bot_flow.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\bot_flow.py +2024-11-30 16:53:24,896 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\bot_flow.cpython-39.pyc' +2024-11-30 16:53:24,898 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__init__.py +2024-11-30 16:53:24,898 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\logging\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:24,898 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\re.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\re.py +2024-11-30 16:53:24,898 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\re.cpython-39.pyc' +2024-11-30 16:53:24,899 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\enum.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\enum.py +2024-11-30 16:53:24,899 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\enum.cpython-39.pyc' +2024-11-30 16:53:24,900 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\types.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\types.py +2024-11-30 16:53:24,900 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\types.cpython-39.pyc' +2024-11-30 16:53:24,901 - api.main - INFO - STDERR: import 'types' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93E174C0> +2024-11-30 16:53:24,901 - api.main - INFO - STDERR: import 'enum' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93DFEFD0> +2024-11-30 16:53:24,902 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_compile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_compile.py +2024-11-30 16:53:24,902 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_compile.cpython-39.pyc' +2024-11-30 16:53:24,903 - api.main - INFO - STDERR: import '_sre' # +2024-11-30 16:53:24,903 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_parse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_parse.py +2024-11-30 16:53:24,904 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_parse.cpython-39.pyc' +2024-11-30 16:53:24,904 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_constants.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_constants.py +2024-11-30 16:53:24,904 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_constants.cpython-39.pyc' +2024-11-30 16:53:24,904 - api.main - INFO - STDERR: import 'sre_constants' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93E3B2E0> +2024-11-30 16:53:24,904 - api.main - INFO - STDERR: import 'sre_parse' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93E298B0> +2024-11-30 16:53:24,905 - api.main - INFO - STDERR: import 'sre_compile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93E17FD0> +2024-11-30 16:53:24,906 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\functools.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\functools.py +2024-11-30 16:53:24,906 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\functools.cpython-39.pyc' +2024-11-30 16:53:24,907 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__init__.py +2024-11-30 16:53:24,908 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\collections\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:24,909 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\heapq.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\heapq.py +2024-11-30 16:53:24,909 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\heapq.cpython-39.pyc' +2024-11-30 16:53:24,909 - api.main - INFO - STDERR: import '_heapq' # +2024-11-30 16:53:24,909 - api.main - INFO - STDERR: import 'heapq' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93E6EA60> +2024-11-30 16:53:24,909 - api.main - INFO - STDERR: import 'itertools' # +2024-11-30 16:53:24,910 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\keyword.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\keyword.py +2024-11-30 16:53:24,911 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\keyword.cpython-39.pyc' +2024-11-30 16:53:24,911 - api.main - INFO - STDERR: import 'keyword' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93E6EFD0> +2024-11-30 16:53:24,912 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\operator.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\operator.py +2024-11-30 16:53:24,912 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\operator.cpython-39.pyc' +2024-11-30 16:53:24,912 - api.main - INFO - STDERR: import '_operator' # +2024-11-30 16:53:24,912 - api.main - INFO - STDERR: import 'operator' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93E6EF10> +2024-11-30 16:53:24,913 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\reprlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\reprlib.py +2024-11-30 16:53:24,913 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\reprlib.cpython-39.pyc' +2024-11-30 16:53:24,913 - api.main - INFO - STDERR: import 'reprlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93E80160> +2024-11-30 16:53:24,914 - api.main - INFO - STDERR: import '_collections' # +2024-11-30 16:53:24,914 - api.main - INFO - STDERR: import 'collections' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93E49EE0> +2024-11-30 16:53:24,914 - api.main - INFO - STDERR: import '_functools' # +2024-11-30 16:53:24,914 - api.main - INFO - STDERR: import 'functools' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93E41790> +2024-11-30 16:53:24,915 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\copyreg.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\copyreg.py +2024-11-30 16:53:24,915 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\copyreg.cpython-39.pyc' +2024-11-30 16:53:24,915 - api.main - INFO - STDERR: import 'copyreg' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93E57730> +2024-11-30 16:53:24,915 - api.main - INFO - STDERR: import 're' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93DFE580> +2024-11-30 16:53:24,916 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\traceback.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\traceback.py +2024-11-30 16:53:24,916 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\traceback.cpython-39.pyc' +2024-11-30 16:53:24,917 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\linecache.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\linecache.py +2024-11-30 16:53:24,917 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\linecache.cpython-39.pyc' +2024-11-30 16:53:24,918 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tokenize.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tokenize.py +2024-11-30 16:53:24,918 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tokenize.cpython-39.pyc' +2024-11-30 16:53:24,919 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\token.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\token.py +2024-11-30 16:53:24,919 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\token.cpython-39.pyc' +2024-11-30 16:53:24,919 - api.main - INFO - STDERR: import 'token' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93E83F40> +2024-11-30 16:53:24,919 - api.main - INFO - STDERR: import 'tokenize' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93E83550> +2024-11-30 16:53:24,919 - api.main - INFO - STDERR: import 'linecache' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93E80A90> +2024-11-30 16:53:24,919 - api.main - INFO - STDERR: import 'traceback' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93E57340> +2024-11-30 16:53:24,920 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\warnings.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\warnings.py +2024-11-30 16:53:24,920 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\warnings.cpython-39.pyc' +2024-11-30 16:53:24,920 - api.main - INFO - STDERR: import 'warnings' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93E80910> +2024-11-30 16:53:24,921 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\weakref.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\weakref.py +2024-11-30 16:53:24,921 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\weakref.cpython-39.pyc' +2024-11-30 16:53:24,922 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_weakrefset.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_weakrefset.py +2024-11-30 16:53:24,922 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_weakrefset.cpython-39.pyc' +2024-11-30 16:53:24,922 - api.main - INFO - STDERR: import '_weakrefset' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93EC5D90> +2024-11-30 16:53:24,922 - api.main - INFO - STDERR: import 'weakref' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93E89760> +2024-11-30 16:53:24,923 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\abc.py +2024-11-30 16:53:24,923 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\collections\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 16:53:24,923 - api.main - INFO - STDERR: import 'collections.abc' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93ECEA30> +2024-11-30 16:53:24,925 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\string.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\string.py +2024-11-30 16:53:24,925 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\string.cpython-39.pyc' +2024-11-30 16:53:24,925 - api.main - INFO - STDERR: import '_string' # +2024-11-30 16:53:24,925 - api.main - INFO - STDERR: import 'string' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93ECEB20> +2024-11-30 16:53:24,927 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\threading.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\threading.py +2024-11-30 16:53:24,927 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\threading.cpython-39.pyc' +2024-11-30 16:53:24,927 - api.main - INFO - STDERR: import 'threading' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93EDA130> +2024-11-30 16:53:24,928 - api.main - INFO - STDERR: import 'atexit' # +2024-11-30 16:53:24,928 - api.main - INFO - STDERR: import 'logging' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93BD4190> +2024-11-30 16:53:24,929 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\random.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\random.py +2024-11-30 16:53:24,929 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\random.cpython-39.pyc' +2024-11-30 16:53:24,929 - api.main - INFO - STDERR: import 'math' # +2024-11-30 16:53:24,931 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\bisect.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\bisect.py +2024-11-30 16:53:24,931 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\bisect.cpython-39.pyc' +2024-11-30 16:53:24,931 - api.main - INFO - STDERR: import '_bisect' # +2024-11-30 16:53:24,931 - api.main - INFO - STDERR: import 'bisect' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93EFBF40> +2024-11-30 16:53:24,931 - api.main - INFO - STDERR: import '_random' # +2024-11-30 16:53:24,931 - api.main - INFO - STDERR: import '_sha512' # +2024-11-30 16:53:24,931 - api.main - INFO - STDERR: import 'random' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93BC5130> +2024-11-30 16:53:24,932 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\datetime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\datetime.py +2024-11-30 16:53:24,932 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\datetime.cpython-39.pyc' +2024-11-30 16:53:24,932 - api.main - INFO - STDERR: import '_datetime' # +2024-11-30 16:53:24,932 - api.main - INFO - STDERR: import 'datetime' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93F14190> +2024-11-30 16:53:24,933 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__init__.py +2024-11-30 16:53:24,933 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:24,934 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\initialise.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\initialise.py +2024-11-30 16:53:24,934 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\initialise.cpython-39.pyc' +2024-11-30 16:53:24,934 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\contextlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\contextlib.py +2024-11-30 16:53:24,934 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\contextlib.cpython-39.pyc' +2024-11-30 16:53:24,935 - api.main - INFO - STDERR: import 'contextlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93F3FBB0> +2024-11-30 16:53:24,935 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\ansitowin32.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\ansitowin32.py +2024-11-30 16:53:24,935 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\ansitowin32.cpython-39.pyc' +2024-11-30 16:53:24,935 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\ansi.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\ansi.py +2024-11-30 16:53:24,935 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\ansi.cpython-39.pyc' +2024-11-30 16:53:24,936 - api.main - INFO - STDERR: import 'colorama.ansi' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93F4F730> +2024-11-30 16:53:24,936 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\winterm.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\winterm.py +2024-11-30 16:53:24,936 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\winterm.cpython-39.pyc' +2024-11-30 16:53:24,936 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\win32.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\win32.py +2024-11-30 16:53:24,936 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\win32.cpython-39.pyc' +2024-11-30 16:53:24,938 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__init__.py +2024-11-30 16:53:24,938 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:24,942 - api.main - INFO - STDERR: # extension module '_ctypes' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ctypes.pyd' +2024-11-30 16:53:24,942 - api.main - INFO - STDERR: # extension module '_ctypes' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ctypes.pyd' +2024-11-30 16:53:24,942 - api.main - INFO - STDERR: import '_ctypes' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FE93F6F7C0> +2024-11-30 16:53:24,943 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\struct.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\struct.py +2024-11-30 16:53:24,943 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\struct.cpython-39.pyc' +2024-11-30 16:53:24,943 - api.main - INFO - STDERR: import '_struct' # +2024-11-30 16:53:24,943 - api.main - INFO - STDERR: import 'struct' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93F6FCA0> +2024-11-30 16:53:24,945 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\_endian.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\_endian.py +2024-11-30 16:53:24,945 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\_endian.cpython-39.pyc' +2024-11-30 16:53:24,945 - api.main - INFO - STDERR: import 'ctypes._endian' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93F81A00> +2024-11-30 16:53:24,945 - api.main - INFO - STDERR: import 'ctypes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93F64520> +2024-11-30 16:53:24,946 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\wintypes.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\wintypes.py +2024-11-30 16:53:24,946 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\wintypes.cpython-39.pyc' +2024-11-30 16:53:24,946 - api.main - INFO - STDERR: import 'ctypes.wintypes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93F64970> +2024-11-30 16:53:24,946 - api.main - INFO - STDERR: import 'colorama.win32' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93F3F2E0> +2024-11-30 16:53:24,947 - api.main - INFO - STDERR: import 'colorama.winterm' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93F4FD30> +2024-11-30 16:53:24,947 - api.main - INFO - STDERR: import 'colorama.ansitowin32' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93F3FF10> +2024-11-30 16:53:24,947 - api.main - INFO - STDERR: import 'colorama.initialise' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93F3F940> +2024-11-30 16:53:24,948 - api.main - INFO - STDERR: import 'colorama' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93F14220> +2024-11-30 16:53:24,948 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\config.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\config.py +2024-11-30 16:53:24,948 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\config.cpython-39.pyc' +2024-11-30 16:53:24,949 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\typing.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\typing.py +2024-11-30 16:53:24,950 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\typing.cpython-39.pyc' +2024-11-30 16:53:24,952 - api.main - INFO - STDERR: import 'typing' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93F81FA0> +2024-11-30 16:53:24,952 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\configargparse.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\configargparse.py +2024-11-30 16:53:24,952 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\configargparse.cpython-39.pyc' +2024-11-30 16:53:24,953 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\argparse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\argparse.py +2024-11-30 16:53:24,954 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\argparse.cpython-39.pyc' +2024-11-30 16:53:24,954 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\gettext.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\gettext.py +2024-11-30 16:53:24,955 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\gettext.cpython-39.pyc' +2024-11-30 16:53:24,956 - api.main - INFO - STDERR: import 'gettext' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93F14AC0> +2024-11-30 16:53:24,956 - api.main - INFO - STDERR: import 'argparse' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE959A3FD0> +2024-11-30 16:53:24,957 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__init__.py +2024-11-30 16:53:24,957 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:24,958 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\decoder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\decoder.py +2024-11-30 16:53:24,958 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\decoder.cpython-39.pyc' +2024-11-30 16:53:24,959 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\scanner.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\scanner.py +2024-11-30 16:53:24,959 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\scanner.cpython-39.pyc' +2024-11-30 16:53:24,959 - api.main - INFO - STDERR: import '_json' # +2024-11-30 16:53:24,959 - api.main - INFO - STDERR: import 'json.scanner' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93E837C0> +2024-11-30 16:53:24,959 - api.main - INFO - STDERR: import 'json.decoder' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93F2F070> +2024-11-30 16:53:24,960 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\encoder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\encoder.py +2024-11-30 16:53:24,960 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\encoder.cpython-39.pyc' +2024-11-30 16:53:24,960 - api.main - INFO - STDERR: import 'json.encoder' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93F2FD60> +2024-11-30 16:53:24,960 - api.main - INFO - STDERR: import 'json' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93F26C40> +2024-11-30 16:53:24,961 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\glob.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\glob.py +2024-11-30 16:53:24,961 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\glob.cpython-39.pyc' +2024-11-30 16:53:24,962 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\fnmatch.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\fnmatch.py +2024-11-30 16:53:24,962 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\fnmatch.cpython-39.pyc' +2024-11-30 16:53:24,963 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\posixpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\posixpath.py +2024-11-30 16:53:24,963 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\posixpath.cpython-39.pyc' +2024-11-30 16:53:24,963 - api.main - INFO - STDERR: import 'posixpath' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE959E2790> +2024-11-30 16:53:24,963 - api.main - INFO - STDERR: import 'fnmatch' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE959E2430> +2024-11-30 16:53:24,963 - api.main - INFO - STDERR: import 'glob' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE959BAC10> +2024-11-30 16:53:24,964 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\textwrap.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\textwrap.py +2024-11-30 16:53:24,964 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\textwrap.cpython-39.pyc' +2024-11-30 16:53:24,966 - api.main - INFO - STDERR: import 'textwrap' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE959E25E0> +2024-11-30 16:53:24,966 - api.main - INFO - STDERR: import 'configargparse' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93FA28E0> +2024-11-30 16:53:24,967 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__init__.py +2024-11-30 16:53:24,967 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:24,968 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\error.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\error.py +2024-11-30 16:53:24,968 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\error.cpython-39.pyc' +2024-11-30 16:53:24,968 - api.main - INFO - STDERR: import 'yaml.error' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE959F5D30> +2024-11-30 16:53:24,968 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\tokens.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\tokens.py +2024-11-30 16:53:24,968 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\tokens.cpython-39.pyc' +2024-11-30 16:53:24,968 - api.main - INFO - STDERR: import 'yaml.tokens' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE959F5EE0> +2024-11-30 16:53:24,969 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\events.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\events.py +2024-11-30 16:53:24,969 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\events.cpython-39.pyc' +2024-11-30 16:53:24,969 - api.main - INFO - STDERR: import 'yaml.events' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE959FD1F0> +2024-11-30 16:53:24,969 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\nodes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\nodes.py +2024-11-30 16:53:24,969 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\nodes.cpython-39.pyc' +2024-11-30 16:53:24,969 - api.main - INFO - STDERR: import 'yaml.nodes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE959FDA00> +2024-11-30 16:53:24,970 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\loader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\loader.py +2024-11-30 16:53:24,970 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\loader.cpython-39.pyc' +2024-11-30 16:53:24,970 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\reader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\reader.py +2024-11-30 16:53:24,970 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\reader.cpython-39.pyc' +2024-11-30 16:53:24,975 - api.main - INFO - STDERR: import 'yaml.reader' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95A0C370> +2024-11-30 16:53:24,975 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\scanner.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\scanner.py +2024-11-30 16:53:24,975 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\scanner.cpython-39.pyc' +2024-11-30 16:53:24,976 - api.main - INFO - STDERR: import 'yaml.scanner' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95A0C700> +2024-11-30 16:53:24,976 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\parser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\parser.py +2024-11-30 16:53:24,976 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\parser.cpython-39.pyc' +2024-11-30 16:53:24,976 - api.main - INFO - STDERR: import 'yaml.parser' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95A16280> +2024-11-30 16:53:24,976 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\composer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\composer.py +2024-11-30 16:53:24,976 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\composer.cpython-39.pyc' +2024-11-30 16:53:24,976 - api.main - INFO - STDERR: import 'yaml.composer' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95A16940> +2024-11-30 16:53:24,976 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\constructor.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\constructor.py +2024-11-30 16:53:24,978 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\constructor.cpython-39.pyc' +2024-11-30 16:53:24,979 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\base64.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\base64.py +2024-11-30 16:53:24,979 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\base64.cpython-39.pyc' +2024-11-30 16:53:24,979 - api.main - INFO - STDERR: import 'binascii' # +2024-11-30 16:53:24,980 - api.main - INFO - STDERR: import 'base64' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95A2DBB0> +2024-11-30 16:53:24,980 - api.main - INFO - STDERR: import 'yaml.constructor' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95A16C10> +2024-11-30 16:53:24,981 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\resolver.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\resolver.py +2024-11-30 16:53:24,981 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\resolver.cpython-39.pyc' +2024-11-30 16:53:24,983 - api.main - INFO - STDERR: import 'yaml.resolver' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95A2D8B0> +2024-11-30 16:53:24,983 - api.main - INFO - STDERR: import 'yaml.loader' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE959FDF40> +2024-11-30 16:53:24,983 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\dumper.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\dumper.py +2024-11-30 16:53:24,983 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\dumper.cpython-39.pyc' +2024-11-30 16:53:24,983 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\emitter.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\emitter.py +2024-11-30 16:53:24,983 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\emitter.cpython-39.pyc' +2024-11-30 16:53:24,983 - api.main - INFO - STDERR: import 'yaml.emitter' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95A3CBB0> +2024-11-30 16:53:24,983 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\serializer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\serializer.py +2024-11-30 16:53:24,984 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\serializer.cpython-39.pyc' +2024-11-30 16:53:24,984 - api.main - INFO - STDERR: import 'yaml.serializer' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95A585B0> +2024-11-30 16:53:24,984 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\representer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\representer.py +2024-11-30 16:53:24,984 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\representer.cpython-39.pyc' +2024-11-30 16:53:24,984 - api.main - INFO - STDERR: import 'yaml.representer' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95A58850> +2024-11-30 16:53:24,984 - api.main - INFO - STDERR: import 'yaml.dumper' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95A0C160> +2024-11-30 16:53:24,984 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\cyaml.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\cyaml.py +2024-11-30 16:53:24,984 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\cyaml.cpython-39.pyc' +2024-11-30 16:53:24,986 - api.main - INFO - STDERR: # extension module 'yaml._yaml' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\_yaml.cp39-win_amd64.pyd' +2024-11-30 16:53:24,986 - api.main - INFO - STDERR: # extension module 'yaml._yaml' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\_yaml.cp39-win_amd64.pyd' +2024-11-30 16:53:24,986 - api.main - INFO - STDERR: import 'yaml._yaml' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FE95A69460> +2024-11-30 16:53:24,986 - api.main - INFO - STDERR: import 'yaml.cyaml' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE959FD340> +2024-11-30 16:53:24,986 - api.main - INFO - STDERR: import 'yaml' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE959E2F70> +2024-11-30 16:53:24,987 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\plugin_loader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\plugin_loader.py +2024-11-30 16:53:24,987 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\plugin_loader.cpython-39.pyc' +2024-11-30 16:53:24,988 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\inspect.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\inspect.py +2024-11-30 16:53:24,988 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\inspect.cpython-39.pyc' +2024-11-30 16:53:24,989 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ast.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ast.py +2024-11-30 16:53:24,989 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ast.cpython-39.pyc' +2024-11-30 16:53:24,990 - api.main - INFO - STDERR: import '_ast' # +2024-11-30 16:53:24,990 - api.main - INFO - STDERR: import 'ast' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95AA2AF0> +2024-11-30 16:53:24,992 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\dis.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\dis.py +2024-11-30 16:53:24,992 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\dis.cpython-39.pyc' +2024-11-30 16:53:24,992 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\opcode.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\opcode.py +2024-11-30 16:53:24,994 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\opcode.cpython-39.pyc' +2024-11-30 16:53:24,994 - api.main - INFO - STDERR: import '_opcode' # +2024-11-30 16:53:24,994 - api.main - INFO - STDERR: import 'opcode' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95AE3E20> +2024-11-30 16:53:24,994 - api.main - INFO - STDERR: import 'dis' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95AAC2E0> +2024-11-30 16:53:24,995 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__init__.py +2024-11-30 16:53:24,995 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:24,995 - api.main - INFO - STDERR: import 'importlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95AF6DF0> +2024-11-30 16:53:24,995 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\machinery.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\machinery.py +2024-11-30 16:53:24,995 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\machinery.cpython-39.pyc' +2024-11-30 16:53:24,995 - api.main - INFO - STDERR: import 'importlib.machinery' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95AF6C40> +2024-11-30 16:53:24,997 - api.main - INFO - STDERR: import 'inspect' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95A69AF0> +2024-11-30 16:53:24,998 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pkgutil.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pkgutil.py +2024-11-30 16:53:24,998 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pkgutil.cpython-39.pyc' +2024-11-30 16:53:24,998 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\util.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\util.py +2024-11-30 16:53:24,998 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\util.cpython-39.pyc' +2024-11-30 16:53:24,999 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\abc.py +2024-11-30 16:53:24,999 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 16:53:24,999 - api.main - INFO - STDERR: import 'importlib.abc' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95B195E0> +2024-11-30 16:53:24,999 - api.main - INFO - STDERR: import 'importlib.util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95B09640> +2024-11-30 16:53:25,000 - api.main - INFO - STDERR: import 'pkgutil' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95A75B20> +2024-11-30 16:53:25,000 - api.main - INFO - STDERR: import 'GramAddict.core.plugin_loader' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95A69190> +2024-11-30 16:53:25,000 - api.main - INFO - STDERR: import 'GramAddict.core.config' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93F14250> +2024-11-30 16:53:25,000 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\device_facade.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py +2024-11-30 16:53:25,001 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\device_facade.cpython-39.pyc' +2024-11-30 16:53:25,002 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\subprocess.py +2024-11-30 16:53:25,002 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\subprocess.cpython-39.pyc' +2024-11-30 16:53:25,002 - api.main - INFO - STDERR: import 'errno' # +2024-11-30 16:53:25,003 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\signal.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\signal.py +2024-11-30 16:53:25,003 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\signal.cpython-39.pyc' +2024-11-30 16:53:25,003 - api.main - INFO - STDERR: import 'signal' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95B46A30> +2024-11-30 16:53:25,005 - api.main - INFO - STDERR: import 'msvcrt' # +2024-11-30 16:53:25,005 - api.main - INFO - STDERR: import '_winapi' # +2024-11-30 16:53:25,005 - api.main - INFO - STDERR: import 'subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95B39910> +2024-11-30 16:53:25,006 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py +2024-11-30 16:53:25,006 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,007 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\__future__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__future__.py +2024-11-30 16:53:25,007 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\__future__.cpython-39.pyc' +2024-11-30 16:53:25,007 - api.main - INFO - STDERR: import '__future__' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95B76E80> +2024-11-30 16:53:25,008 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\hashlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\hashlib.py +2024-11-30 16:53:25,008 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\hashlib.cpython-39.pyc' +2024-11-30 16:53:25,010 - api.main - INFO - STDERR: # extension module '_hashlib' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_hashlib.pyd' +2024-11-30 16:53:25,010 - api.main - INFO - STDERR: # extension module '_hashlib' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_hashlib.pyd' +2024-11-30 16:53:25,010 - api.main - INFO - STDERR: import '_hashlib' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FE95B839A0> +2024-11-30 16:53:25,010 - api.main - INFO - STDERR: import '_blake2' # +2024-11-30 16:53:25,010 - api.main - INFO - STDERR: import 'hashlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95B83580> +2024-11-30 16:53:25,011 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\shutil.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\shutil.py +2024-11-30 16:53:25,012 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\shutil.cpython-39.pyc' +2024-11-30 16:53:25,012 - api.main - INFO - STDERR: import 'zlib' # +2024-11-30 16:53:25,013 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\bz2.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\bz2.py +2024-11-30 16:53:25,013 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\bz2.cpython-39.pyc' +2024-11-30 16:53:25,014 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_compression.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_compression.py +2024-11-30 16:53:25,014 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_compression.cpython-39.pyc' +2024-11-30 16:53:25,014 - api.main - INFO - STDERR: import '_compression' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95BB3370> +2024-11-30 16:53:25,015 - api.main - INFO - STDERR: # extension module '_bz2' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_bz2.pyd' +2024-11-30 16:53:25,015 - api.main - INFO - STDERR: # extension module '_bz2' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_bz2.pyd' +2024-11-30 16:53:25,016 - api.main - INFO - STDERR: import '_bz2' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FE95BB38B0> +2024-11-30 16:53:25,016 - api.main - INFO - STDERR: import 'bz2' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95BA1B20> +2024-11-30 16:53:25,017 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\lzma.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\lzma.py +2024-11-30 16:53:25,017 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\lzma.cpython-39.pyc' +2024-11-30 16:53:25,018 - api.main - INFO - STDERR: # extension module '_lzma' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_lzma.pyd' +2024-11-30 16:53:25,018 - api.main - INFO - STDERR: # extension module '_lzma' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_lzma.pyd' +2024-11-30 16:53:25,018 - api.main - INFO - STDERR: import '_lzma' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FE95BB3FA0> +2024-11-30 16:53:25,018 - api.main - INFO - STDERR: import 'lzma' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95BB37F0> +2024-11-30 16:53:25,019 - api.main - INFO - STDERR: import 'shutil' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95B83C70> +2024-11-30 16:53:25,020 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\__init__.py +2024-11-30 16:53:25,020 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,020 - api.main - INFO - STDERR: import 'xml' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95BC0940> +2024-11-30 16:53:25,021 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__init__.py +2024-11-30 16:53:25,021 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,022 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\domreg.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\domreg.py +2024-11-30 16:53:25,022 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\domreg.cpython-39.pyc' +2024-11-30 16:53:25,022 - api.main - INFO - STDERR: import 'xml.dom.domreg' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95BC0EE0> +2024-11-30 16:53:25,022 - api.main - INFO - STDERR: import 'xml.dom' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95BA1040> +2024-11-30 16:53:25,022 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\minidom.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\minidom.py +2024-11-30 16:53:25,023 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\minidom.cpython-39.pyc' +2024-11-30 16:53:25,023 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\minicompat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\minicompat.py +2024-11-30 16:53:25,023 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\minicompat.cpython-39.pyc' +2024-11-30 16:53:25,023 - api.main - INFO - STDERR: import 'xml.dom.minicompat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95C164C0> +2024-11-30 16:53:25,025 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\xmlbuilder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\xmlbuilder.py +2024-11-30 16:53:25,025 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\xmlbuilder.cpython-39.pyc' +2024-11-30 16:53:25,026 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\copy.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\copy.py +2024-11-30 16:53:25,026 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\copy.cpython-39.pyc' +2024-11-30 16:53:25,027 - api.main - INFO - STDERR: import 'copy' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95C1ECA0> +2024-11-30 16:53:25,028 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\NodeFilter.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\NodeFilter.py +2024-11-30 16:53:25,028 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\NodeFilter.cpython-39.pyc' +2024-11-30 16:53:25,028 - api.main - INFO - STDERR: import 'xml.dom.NodeFilter' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95C1EFD0> +2024-11-30 16:53:25,028 - api.main - INFO - STDERR: import 'xml.dom.xmlbuilder' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95C16940> +2024-11-30 16:53:25,029 - api.main - INFO - STDERR: import 'xml.dom.minidom' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95B83550> +2024-11-30 16:53:25,030 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pathlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pathlib.py +2024-11-30 16:53:25,030 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pathlib.cpython-39.pyc' +2024-11-30 16:53:25,031 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__init__.py +2024-11-30 16:53:25,031 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,031 - api.main - INFO - STDERR: import 'urllib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95C4AD00> +2024-11-30 16:53:25,031 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\parse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\parse.py +2024-11-30 16:53:25,032 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\parse.cpython-39.pyc' +2024-11-30 16:53:25,032 - api.main - INFO - STDERR: import 'urllib.parse' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95C4AD30> +2024-11-30 16:53:25,032 - api.main - INFO - STDERR: import 'pathlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95C0C400> +2024-11-30 16:53:25,033 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__init__.py +2024-11-30 16:53:25,033 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,034 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\deprecation.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecation.py +2024-11-30 16:53:25,035 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\deprecation.cpython-39.pyc' +2024-11-30 16:53:25,035 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__init__.py +2024-11-30 16:53:25,035 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,035 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\__about__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__about__.py +2024-11-30 16:53:25,035 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\__about__.cpython-39.pyc' +2024-11-30 16:53:25,035 - api.main - INFO - STDERR: import 'packaging.__about__' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95BCF790> +2024-11-30 16:53:25,035 - api.main - INFO - STDERR: import 'packaging' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95BCF520> +2024-11-30 16:53:25,036 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\version.py +2024-11-30 16:53:25,036 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\version.cpython-39.pyc' +2024-11-30 16:53:25,037 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_structures.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_structures.py +2024-11-30 16:53:25,037 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_structures.cpython-39.pyc' +2024-11-30 16:53:25,037 - api.main - INFO - STDERR: import 'packaging._structures' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95C7D640> +2024-11-30 16:53:25,037 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_typing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_typing.py +2024-11-30 16:53:25,037 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_typing.cpython-39.pyc' +2024-11-30 16:53:25,037 - api.main - INFO - STDERR: import 'packaging._typing' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95C7DF10> +2024-11-30 16:53:25,039 - api.main - INFO - STDERR: import 'packaging.version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95BCF5B0> +2024-11-30 16:53:25,039 - api.main - INFO - STDERR: import 'deprecation' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95BCF100> +2024-11-30 16:53:25,040 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_adb.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_adb.py +2024-11-30 16:53:25,040 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_adb.cpython-39.pyc' +2024-11-30 16:53:25,041 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\socket.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\socket.py +2024-11-30 16:53:25,041 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\socket.cpython-39.pyc' +2024-11-30 16:53:25,045 - api.main - INFO - STDERR: # extension module '_socket' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_socket.pyd' +2024-11-30 16:53:25,045 - api.main - INFO - STDERR: # extension module '_socket' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_socket.pyd' +2024-11-30 16:53:25,045 - api.main - INFO - STDERR: import '_socket' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FE95C9AC40> +2024-11-30 16:53:25,046 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\selectors.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\selectors.py +2024-11-30 16:53:25,046 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\selectors.cpython-39.pyc' +2024-11-30 16:53:25,048 - api.main - INFO - STDERR: # extension module 'select' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\select.pyd' +2024-11-30 16:53:25,048 - api.main - INFO - STDERR: # extension module 'select' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\select.pyd' +2024-11-30 16:53:25,048 - api.main - INFO - STDERR: import 'select' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FE95CADE20> +2024-11-30 16:53:25,048 - api.main - INFO - STDERR: import 'selectors' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95C9AD90> +2024-11-30 16:53:25,048 - api.main - INFO - STDERR: import 'socket' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95C84F40> +2024-11-30 16:53:25,049 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_utils.py +2024-11-30 16:53:25,049 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_utils.cpython-39.pyc' +2024-11-30 16:53:25,050 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\shlex.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\shlex.py +2024-11-30 16:53:25,050 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\shlex.cpython-39.pyc' +2024-11-30 16:53:25,050 - api.main - INFO - STDERR: import 'shlex' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95CB3D00> +2024-11-30 16:53:25,051 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tempfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tempfile.py +2024-11-30 16:53:25,051 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tempfile.cpython-39.pyc' +2024-11-30 16:53:25,051 - api.main - INFO - STDERR: import 'tempfile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95CBC280> +2024-11-30 16:53:25,052 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\zipfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\zipfile.py +2024-11-30 16:53:25,052 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\zipfile.cpython-39.pyc' +2024-11-30 16:53:25,053 - api.main - INFO - STDERR: import 'zipfile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95CE6640> +2024-11-30 16:53:25,053 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\whichcraft.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\whichcraft.py +2024-11-30 16:53:25,054 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\whichcraft.cpython-39.pyc' +2024-11-30 16:53:25,054 - api.main - INFO - STDERR: import 'whichcraft' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95CF5D60> +2024-11-30 16:53:25,054 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__init__.py +2024-11-30 16:53:25,054 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,055 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\xmltodict.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\xmltodict.py +2024-11-30 16:53:25,055 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\xmltodict.cpython-39.pyc' +2024-11-30 16:53:25,056 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__init__.py +2024-11-30 16:53:25,056 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\parsers\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,056 - api.main - INFO - STDERR: import 'xml.parsers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95D18790> +2024-11-30 16:53:25,057 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__pycache__\expat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\expat.py +2024-11-30 16:53:25,057 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\parsers\\__pycache__\\expat.cpython-39.pyc' +2024-11-30 16:53:25,058 - api.main - INFO - STDERR: # extension module 'pyexpat' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\pyexpat.pyd' +2024-11-30 16:53:25,059 - api.main - INFO - STDERR: # extension module 'pyexpat' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\pyexpat.pyd' +2024-11-30 16:53:25,059 - api.main - INFO - STDERR: import 'pyexpat' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FE95D18AF0> +2024-11-30 16:53:25,059 - api.main - INFO - STDERR: import 'xml.parsers.expat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95D18910> +2024-11-30 16:53:25,059 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__init__.py +2024-11-30 16:53:25,059 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,060 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\xmlreader.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\xmlreader.py +2024-11-30 16:53:25,060 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\xmlreader.cpython-39.pyc' +2024-11-30 16:53:25,061 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\handler.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\handler.py +2024-11-30 16:53:25,062 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\handler.cpython-39.pyc' +2024-11-30 16:53:25,062 - api.main - INFO - STDERR: import 'xml.sax.handler' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95D31B20> +2024-11-30 16:53:25,062 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\_exceptions.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\_exceptions.py +2024-11-30 16:53:25,062 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\_exceptions.cpython-39.pyc' +2024-11-30 16:53:25,062 - api.main - INFO - STDERR: import 'xml.sax._exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95D38520> +2024-11-30 16:53:25,062 - api.main - INFO - STDERR: import 'xml.sax.xmlreader' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95D18F10> +2024-11-30 16:53:25,062 - api.main - INFO - STDERR: import 'xml.sax' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95D18BB0> +2024-11-30 16:53:25,063 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\saxutils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\saxutils.py +2024-11-30 16:53:25,063 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\saxutils.cpython-39.pyc' +2024-11-30 16:53:25,064 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\request.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\request.py +2024-11-30 16:53:25,064 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\request.cpython-39.pyc' +2024-11-30 16:53:25,065 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__init__.py +2024-11-30 16:53:25,065 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,065 - api.main - INFO - STDERR: import 'email' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95D825B0> +2024-11-30 16:53:25,067 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__init__.py +2024-11-30 16:53:25,067 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,067 - api.main - INFO - STDERR: import 'http' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95D828B0> +2024-11-30 16:53:25,068 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\client.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\client.py +2024-11-30 16:53:25,068 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\client.cpython-39.pyc' +2024-11-30 16:53:25,069 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\parser.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\parser.py +2024-11-30 16:53:25,069 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\parser.cpython-39.pyc' +2024-11-30 16:53:25,069 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\feedparser.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\feedparser.py +2024-11-30 16:53:25,069 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\feedparser.cpython-39.pyc' +2024-11-30 16:53:25,070 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\errors.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\errors.py +2024-11-30 16:53:25,070 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 16:53:25,070 - api.main - INFO - STDERR: import 'email.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95DA5A00> +2024-11-30 16:53:25,071 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_policybase.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_policybase.py +2024-11-30 16:53:25,071 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_policybase.cpython-39.pyc' +2024-11-30 16:53:25,072 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\header.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\header.py +2024-11-30 16:53:25,072 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\header.cpython-39.pyc' +2024-11-30 16:53:25,072 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\quoprimime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\quoprimime.py +2024-11-30 16:53:25,072 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\quoprimime.cpython-39.pyc' +2024-11-30 16:53:25,072 - api.main - INFO - STDERR: import 'email.quoprimime' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95DC36D0> +2024-11-30 16:53:25,073 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\base64mime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\base64mime.py +2024-11-30 16:53:25,073 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\base64mime.cpython-39.pyc' +2024-11-30 16:53:25,073 - api.main - INFO - STDERR: import 'email.base64mime' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95DC3BB0> +2024-11-30 16:53:25,073 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\charset.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\charset.py +2024-11-30 16:53:25,074 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\charset.cpython-39.pyc' +2024-11-30 16:53:25,075 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\encoders.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\encoders.py +2024-11-30 16:53:25,075 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\encoders.cpython-39.pyc' +2024-11-30 16:53:25,075 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\quopri.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\quopri.py +2024-11-30 16:53:25,077 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\quopri.cpython-39.pyc' +2024-11-30 16:53:25,077 - api.main - INFO - STDERR: import 'quopri' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95DD3790> +2024-11-30 16:53:25,077 - api.main - INFO - STDERR: import 'email.encoders' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95DD33A0> +2024-11-30 16:53:25,077 - api.main - INFO - STDERR: import 'email.charset' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95DC3D90> +2024-11-30 16:53:25,077 - api.main - INFO - STDERR: import 'email.header' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95DB3E20> +2024-11-30 16:53:25,078 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\utils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\utils.py +2024-11-30 16:53:25,078 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 16:53:25,079 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_parseaddr.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_parseaddr.py +2024-11-30 16:53:25,079 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_parseaddr.cpython-39.pyc' +2024-11-30 16:53:25,080 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\calendar.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\calendar.py +2024-11-30 16:53:25,080 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\calendar.cpython-39.pyc' +2024-11-30 16:53:25,081 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\locale.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\locale.py +2024-11-30 16:53:25,082 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\locale.cpython-39.pyc' +2024-11-30 16:53:25,082 - api.main - INFO - STDERR: import 'locale' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95DEDEB0> +2024-11-30 16:53:25,082 - api.main - INFO - STDERR: import 'calendar' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95DE56A0> +2024-11-30 16:53:25,082 - api.main - INFO - STDERR: import 'email._parseaddr' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95DD3F70> +2024-11-30 16:53:25,082 - api.main - INFO - STDERR: import 'email.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95DD31F0> +2024-11-30 16:53:25,083 - api.main - INFO - STDERR: import 'email._policybase' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95DA5AF0> +2024-11-30 16:53:25,084 - api.main - INFO - STDERR: import 'email.feedparser' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95DA5280> +2024-11-30 16:53:25,084 - api.main - INFO - STDERR: import 'email.parser' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95D9EB80> +2024-11-30 16:53:25,085 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\message.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\message.py +2024-11-30 16:53:25,085 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\message.cpython-39.pyc' +2024-11-30 16:53:25,086 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\uu.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\uu.py +2024-11-30 16:53:25,086 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\uu.cpython-39.pyc' +2024-11-30 16:53:25,086 - api.main - INFO - STDERR: import 'uu' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95E30A90> +2024-11-30 16:53:25,087 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_encoded_words.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_encoded_words.py +2024-11-30 16:53:25,087 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_encoded_words.cpython-39.pyc' +2024-11-30 16:53:25,088 - api.main - INFO - STDERR: import 'email._encoded_words' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95E30CD0> +2024-11-30 16:53:25,088 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\iterators.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\iterators.py +2024-11-30 16:53:25,089 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\iterators.cpython-39.pyc' +2024-11-30 16:53:25,089 - api.main - INFO - STDERR: import 'email.iterators' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95E3C190> +2024-11-30 16:53:25,089 - api.main - INFO - STDERR: import 'email.message' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95D9EF40> +2024-11-30 16:53:25,090 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ssl.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ssl.py +2024-11-30 16:53:25,090 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ssl.cpython-39.pyc' +2024-11-30 16:53:25,093 - api.main - INFO - STDERR: # extension module '_ssl' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ssl.pyd' +2024-11-30 16:53:25,093 - api.main - INFO - STDERR: # extension module '_ssl' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ssl.pyd' +2024-11-30 16:53:25,093 - api.main - INFO - STDERR: import '_ssl' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FE95E55580> +2024-11-30 16:53:25,094 - api.main - INFO - STDERR: import 'ssl' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95E3C460> +2024-11-30 16:53:25,095 - api.main - INFO - STDERR: import 'http.client' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95D829D0> +2024-11-30 16:53:25,095 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\error.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\error.py +2024-11-30 16:53:25,095 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\error.cpython-39.pyc' +2024-11-30 16:53:25,097 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\response.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\response.py +2024-11-30 16:53:25,097 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\response.cpython-39.pyc' +2024-11-30 16:53:25,097 - api.main - INFO - STDERR: import 'urllib.response' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95EAF460> +2024-11-30 16:53:25,097 - api.main - INFO - STDERR: import 'urllib.error' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95D9E3A0> +2024-11-30 16:53:25,098 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\nturl2path.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\nturl2path.py +2024-11-30 16:53:25,098 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\nturl2path.cpython-39.pyc' +2024-11-30 16:53:25,098 - api.main - INFO - STDERR: import 'nturl2path' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95EAFCD0> +2024-11-30 16:53:25,098 - api.main - INFO - STDERR: import 'urllib.request' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95D478B0> +2024-11-30 16:53:25,098 - api.main - INFO - STDERR: import 'xml.sax.saxutils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95D18640> +2024-11-30 16:53:25,099 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\platform.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\platform.py +2024-11-30 16:53:25,099 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\platform.cpython-39.pyc' +2024-11-30 16:53:25,101 - api.main - INFO - STDERR: import 'platform' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95D476D0> +2024-11-30 16:53:25,101 - api.main - INFO - STDERR: import 'xmltodict' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95D18220> +2024-11-30 16:53:25,102 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\apkfile.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\apkfile.py +2024-11-30 16:53:25,102 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\apkfile.cpython-39.pyc' +2024-11-30 16:53:25,102 - api.main - INFO - STDERR: import 'apkutils2.apkfile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95D18580> +2024-11-30 16:53:25,103 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__init__.py +2024-11-30 16:53:25,103 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,103 - api.main - INFO - STDERR: import 'apkutils2.axml' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95EC99D0> +2024-11-30 16:53:25,103 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\arscparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\arscparser.py +2024-11-30 16:53:25,104 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\arscparser.cpython-39.pyc' +2024-11-30 16:53:25,104 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\chunk.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\chunk.py +2024-11-30 16:53:25,104 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\chunk.cpython-39.pyc' +2024-11-30 16:53:25,104 - api.main - INFO - STDERR: import 'apkutils2.axml.chunk' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95EF3580> +2024-11-30 16:53:25,104 - api.main - INFO - STDERR: import 'apkutils2.axml.arscparser' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95ED3E80> +2024-11-30 16:53:25,104 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\axmlparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\axmlparser.py +2024-11-30 16:53:25,104 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\axmlparser.cpython-39.pyc' +2024-11-30 16:53:25,104 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\public.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\public.py +2024-11-30 16:53:25,105 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\public.cpython-39.pyc' +2024-11-30 16:53:25,105 - api.main - INFO - STDERR: import 'apkutils2.axml.public' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96302820> +2024-11-30 16:53:25,105 - api.main - INFO - STDERR: import 'apkutils2.axml.axmlparser' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95EE8A00> +2024-11-30 16:53:25,106 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__init__.py +2024-11-30 16:53:25,106 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,106 - api.main - INFO - STDERR: import 'apkutils2.dex' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96302910> +2024-11-30 16:53:25,107 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dexparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dexparser.py +2024-11-30 16:53:25,107 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dexparser.cpython-39.pyc' +2024-11-30 16:53:25,107 - api.main - INFO - STDERR: import 'array' # +2024-11-30 16:53:25,107 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\byteio.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\byteio.py +2024-11-30 16:53:25,107 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\byteio.cpython-39.pyc' +2024-11-30 16:53:25,107 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\util.py +2024-11-30 16:53:25,108 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\util.cpython-39.pyc' +2024-11-30 16:53:25,108 - api.main - INFO - STDERR: import 'apkutils2.dex.util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96357EE0> +2024-11-30 16:53:25,108 - api.main - INFO - STDERR: import 'apkutils2.dex.byteio' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96357550> +2024-11-30 16:53:25,108 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dalvik.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dalvik.py +2024-11-30 16:53:25,108 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dalvik.cpython-39.pyc' +2024-11-30 16:53:25,108 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dalvikformats.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dalvikformats.py +2024-11-30 16:53:25,108 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dalvikformats.cpython-39.pyc' +2024-11-30 16:53:25,108 - api.main - INFO - STDERR: import 'apkutils2.dex.dalvikformats' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96362370> +2024-11-30 16:53:25,108 - api.main - INFO - STDERR: import 'apkutils2.dex.dalvik' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96357FD0> +2024-11-30 16:53:25,108 - api.main - INFO - STDERR: import 'apkutils2.dex.dexparser' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96302940> +2024-11-30 16:53:25,109 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\manifest.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\manifest.py +2024-11-30 16:53:25,109 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\manifest.cpython-39.pyc' +2024-11-30 16:53:25,109 - api.main - INFO - STDERR: import 'apkutils2.manifest' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96302E20> +2024-11-30 16:53:25,109 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cigam\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cigam\__init__.py +2024-11-30 16:53:25,109 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\cigam\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,110 - api.main - INFO - STDERR: import 'cigam' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE963625E0> +2024-11-30 16:53:25,110 - api.main - INFO - STDERR: import 'apkutils2' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95D09B80> +2024-11-30 16:53:25,111 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pkg_resources\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pkg_resources\__init__.py +2024-11-30 16:53:25,111 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pkg_resources\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,112 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\plistlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\plistlib.py +2024-11-30 16:53:25,113 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\plistlib.cpython-39.pyc' +2024-11-30 16:53:25,113 - api.main - INFO - STDERR: import 'plistlib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE963A56D0> +2024-11-30 16:53:25,114 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\markers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\markers.py +2024-11-30 16:53:25,114 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\markers.cpython-39.pyc' +2024-11-30 16:53:25,115 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__init__.py +2024-11-30 16:53:25,115 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,116 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\util.py +2024-11-30 16:53:25,116 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\util.cpython-39.pyc' +2024-11-30 16:53:25,116 - api.main - INFO - STDERR: import 'pyparsing.util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE963BCC70> +2024-11-30 16:53:25,116 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\exceptions.py +2024-11-30 16:53:25,116 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 16:53:25,117 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\unicode.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\unicode.py +2024-11-30 16:53:25,117 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\unicode.cpython-39.pyc' +2024-11-30 16:53:25,117 - api.main - INFO - STDERR: import 'pyparsing.unicode' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE963CD910> +2024-11-30 16:53:25,120 - api.main - INFO - STDERR: import 'pyparsing.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE963C7D00> +2024-11-30 16:53:25,120 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\actions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\actions.py +2024-11-30 16:53:25,120 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\actions.cpython-39.pyc' +2024-11-30 16:53:25,120 - api.main - INFO - STDERR: import 'pyparsing.actions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE963CD4F0> +2024-11-30 16:53:25,120 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\core.py +2024-11-30 16:53:25,121 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\core.cpython-39.pyc' +2024-11-30 16:53:25,122 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\results.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\results.py +2024-11-30 16:53:25,122 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\results.cpython-39.pyc' +2024-11-30 16:53:25,123 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pprint.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pprint.py +2024-11-30 16:53:25,124 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pprint.cpython-39.pyc' +2024-11-30 16:53:25,124 - api.main - INFO - STDERR: import 'pprint' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE9645C8E0> +2024-11-30 16:53:25,124 - api.main - INFO - STDERR: import 'pyparsing.results' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96450820> +2024-11-30 16:53:25,131 - api.main - INFO - STDERR: import 'pyparsing.core' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE963EB2E0> +2024-11-30 16:53:25,132 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\helpers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\helpers.py +2024-11-30 16:53:25,132 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\helpers.cpython-39.pyc' +2024-11-30 16:53:25,133 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__init__.py +2024-11-30 16:53:25,133 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\html\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,134 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__pycache__\entities.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\entities.py +2024-11-30 16:53:25,134 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\html\\__pycache__\\entities.cpython-39.pyc' +2024-11-30 16:53:25,134 - api.main - INFO - STDERR: import 'html.entities' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE9654EC10> +2024-11-30 16:53:25,135 - api.main - INFO - STDERR: import 'html' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE9654E970> +2024-11-30 16:53:25,137 - api.main - INFO - STDERR: import 'pyparsing.helpers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE963EBF10> +2024-11-30 16:53:25,138 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\testing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\testing.py +2024-11-30 16:53:25,138 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\testing.cpython-39.pyc' +2024-11-30 16:53:25,138 - api.main - INFO - STDERR: import 'pyparsing.testing' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE965E1EB0> +2024-11-30 16:53:25,139 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\common.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\common.py +2024-11-30 16:53:25,139 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\common.cpython-39.pyc' +2024-11-30 16:53:25,143 - api.main - INFO - STDERR: import 'pyparsing.common' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE9660E4C0> +2024-11-30 16:53:25,144 - api.main - INFO - STDERR: import 'pyparsing' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE963BC6D0> +2024-11-30 16:53:25,144 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_compat.py +2024-11-30 16:53:25,144 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_compat.cpython-39.pyc' +2024-11-30 16:53:25,144 - api.main - INFO - STDERR: import 'packaging._compat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE963BCEE0> +2024-11-30 16:53:25,144 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\specifiers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\specifiers.py +2024-11-30 16:53:25,144 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\specifiers.cpython-39.pyc' +2024-11-30 16:53:25,145 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\utils.py +2024-11-30 16:53:25,145 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 16:53:25,145 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\tags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\tags.py +2024-11-30 16:53:25,145 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\tags.cpython-39.pyc' +2024-11-30 16:53:25,146 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\__init__.py +2024-11-30 16:53:25,146 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,146 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__pycache__\override.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\override.py +2024-11-30 16:53:25,147 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\_distutils_hack\\__pycache__\\override.cpython-39.pyc' +2024-11-30 16:53:25,148 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__init__.py +2024-11-30 16:53:25,148 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,149 - api.main - INFO - STDERR: import 'setuptools._distutils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE966614C0> +2024-11-30 16:53:25,149 - api.main - INFO - STDERR: import 'distutils' # <_distutils_hack.DistutilsMetaFinder.spec_for_distutils..DistutilsLoader object at 0x000001FE966612B0> +2024-11-30 16:53:25,149 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\core.py +2024-11-30 16:53:25,149 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\core.cpython-39.pyc' +2024-11-30 16:53:25,149 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\cmd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\cmd.py +2024-11-30 16:53:25,150 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\cmd.cpython-39.pyc' +2024-11-30 16:53:25,150 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\_modified.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\_modified.py +2024-11-30 16:53:25,150 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\_modified.cpython-39.pyc' +2024-11-30 16:53:25,152 - api.main - INFO - STDERR: # possible namespace for e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco +2024-11-30 16:53:25,152 - api.main - INFO - STDERR: import 'jaraco' # <_frozen_importlib_external._NamespaceLoader object at 0x000001FE966767C0> +2024-11-30 16:53:25,152 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\functools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\functools\__init__.py +2024-11-30 16:53:25,152 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\functools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,153 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__init__.py +2024-11-30 16:53:25,153 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,154 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\more.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\more.py +2024-11-30 16:53:25,154 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\more.cpython-39.pyc' +2024-11-30 16:53:25,155 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\queue.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\queue.py +2024-11-30 16:53:25,155 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\queue.cpython-39.pyc' +2024-11-30 16:53:25,156 - api.main - INFO - STDERR: # extension module '_queue' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_queue.pyd' +2024-11-30 16:53:25,156 - api.main - INFO - STDERR: # extension module '_queue' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_queue.pyd' +2024-11-30 16:53:25,156 - api.main - INFO - STDERR: import '_queue' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FE966AA9D0> +2024-11-30 16:53:25,156 - api.main - INFO - STDERR: import 'queue' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE9669FD00> +2024-11-30 16:53:25,157 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\recipes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\recipes.py +2024-11-30 16:53:25,157 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\recipes.cpython-39.pyc' +2024-11-30 16:53:25,157 - api.main - INFO - STDERR: import 'more_itertools.recipes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE966AA940> +2024-11-30 16:53:25,157 - api.main - INFO - STDERR: import 'more_itertools.more' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE9667DBE0> +2024-11-30 16:53:25,157 - api.main - INFO - STDERR: import 'more_itertools' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE9667D940> +2024-11-30 16:53:25,157 - api.main - INFO - STDERR: import 'jaraco.functools' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE966769D0> +2024-11-30 16:53:25,158 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__init__.py +2024-11-30 16:53:25,159 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,159 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\py38.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\py38.py +2024-11-30 16:53:25,159 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\py38.cpython-39.pyc' +2024-11-30 16:53:25,159 - api.main - INFO - STDERR: import 'distutils.compat.py38' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE966D8370> +2024-11-30 16:53:25,159 - api.main - INFO - STDERR: import 'distutils.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE966B7FD0> +2024-11-30 16:53:25,159 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\py39.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\py39.py +2024-11-30 16:53:25,159 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\py39.cpython-39.pyc' +2024-11-30 16:53:25,258 - api.main - INFO - STDERR: import 'distutils.compat.py39' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96695DF0> +2024-11-30 16:53:25,258 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\errors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\errors.py +2024-11-30 16:53:25,258 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 16:53:25,258 - api.main - INFO - STDERR: import 'distutils.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE966D84F0> +2024-11-30 16:53:25,259 - api.main - INFO - STDERR: import 'distutils._modified' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96676370> +2024-11-30 16:53:25,260 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\archive_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\archive_util.py +2024-11-30 16:53:25,260 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\archive_util.cpython-39.pyc' +2024-11-30 16:53:25,260 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\_log.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\_log.py +2024-11-30 16:53:25,260 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\_log.cpython-39.pyc' +2024-11-30 16:53:25,260 - api.main - INFO - STDERR: import 'distutils._log' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE966D8C40> +2024-11-30 16:53:25,261 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\dir_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\dir_util.py +2024-11-30 16:53:25,261 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\dir_util.cpython-39.pyc' +2024-11-30 16:53:25,261 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\file_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\file_util.py +2024-11-30 16:53:25,261 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\file_util.cpython-39.pyc' +2024-11-30 16:53:25,262 - api.main - INFO - STDERR: import 'distutils.file_util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE966E7340> +2024-11-30 16:53:25,262 - api.main - INFO - STDERR: import 'distutils.dir_util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE966D8CD0> +2024-11-30 16:53:25,262 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\spawn.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\spawn.py +2024-11-30 16:53:25,262 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\spawn.cpython-39.pyc' +2024-11-30 16:53:25,263 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\debug.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\debug.py +2024-11-30 16:53:25,263 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\debug.cpython-39.pyc' +2024-11-30 16:53:25,263 - api.main - INFO - STDERR: import 'distutils.debug' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE966E79D0> +2024-11-30 16:53:25,263 - api.main - INFO - STDERR: import 'distutils.spawn' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE966E7670> +2024-11-30 16:53:25,266 - api.main - INFO - STDERR: import 'distutils.archive_util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96676610> +2024-11-30 16:53:25,266 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\util.py +2024-11-30 16:53:25,266 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\util.cpython-39.pyc' +2024-11-30 16:53:25,267 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sysconfig.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sysconfig.py +2024-11-30 16:53:25,267 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sysconfig.cpython-39.pyc' +2024-11-30 16:53:25,268 - api.main - INFO - STDERR: import 'sysconfig' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE966E7EB0> +2024-11-30 16:53:25,268 - api.main - INFO - STDERR: import 'distutils.util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE966D8640> +2024-11-30 16:53:25,268 - api.main - INFO - STDERR: import 'distutils.cmd' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96661910> +2024-11-30 16:53:25,269 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\dist.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\dist.py +2024-11-30 16:53:25,269 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\dist.cpython-39.pyc' +2024-11-30 16:53:25,269 - api.main - INFO - STDERR: # destroy distutils.dist +2024-11-30 16:53:25,269 - api.main - INFO - STDERR: # destroy distutils.core +2024-11-30 16:53:25,269 - api.main - INFO - STDERR: # destroy _distutils_hack.override +2024-11-30 16:53:25,269 - api.main - INFO - STDERR: # destroy setuptools +2024-11-30 16:53:25,270 - api.main - INFO - STDERR: import 'distutils' # <_distutils_hack.DistutilsMetaFinder.spec_for_distutils..DistutilsLoader object at 0x000001FE966612B0> +2024-11-30 16:53:25,270 - api.main - INFO - STDERR: import 'packaging.tags' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96649550> +2024-11-30 16:53:25,270 - api.main - INFO - STDERR: import 'packaging.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE966492B0> +2024-11-30 16:53:25,276 - api.main - INFO - STDERR: import 'packaging.specifiers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96635E50> +2024-11-30 16:53:25,279 - api.main - INFO - STDERR: import 'packaging.markers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE963ACB20> +2024-11-30 16:53:25,279 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\requirements.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\requirements.py +2024-11-30 16:53:25,279 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\requirements.cpython-39.pyc' +2024-11-30 16:53:25,289 - api.main - INFO - STDERR: import 'packaging.requirements' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE963ACD30> +2024-11-30 16:53:25,289 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\text\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\text\__init__.py +2024-11-30 16:53:25,289 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\text\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,291 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\resources.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\resources.py +2024-11-30 16:53:25,291 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\resources.cpython-39.pyc' +2024-11-30 16:53:25,292 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\_common.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\_common.py +2024-11-30 16:53:25,292 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\_common.cpython-39.pyc' +2024-11-30 16:53:25,292 - api.main - INFO - STDERR: import 'importlib._common' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE967514F0> +2024-11-30 16:53:25,292 - api.main - INFO - STDERR: import 'importlib.resources' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96660DF0> +2024-11-30 16:53:25,293 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\__pycache__\context.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\context.py +2024-11-30 16:53:25,293 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\__pycache__\\context.cpython-39.pyc' +2024-11-30 16:53:25,295 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\__init__.py +2024-11-30 16:53:25,295 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,296 - api.main - INFO - STDERR: import 'backports' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE967581C0> +2024-11-30 16:53:25,297 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\__init__.py +2024-11-30 16:53:25,298 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,299 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__init__.py +2024-11-30 16:53:25,299 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\compat\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,299 - api.main - INFO - STDERR: import 'backports.tarfile.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE9670D1F0> +2024-11-30 16:53:25,300 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__pycache__\py38.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\py38.py +2024-11-30 16:53:25,300 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\compat\\__pycache__\\py38.cpython-39.pyc' +2024-11-30 16:53:25,300 - api.main - INFO - STDERR: import 'backports.tarfile.compat.py38' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96660100> +2024-11-30 16:53:25,302 - api.main - INFO - STDERR: import 'backports.tarfile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96758340> +2024-11-30 16:53:25,302 - api.main - INFO - STDERR: import 'jaraco.context' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96751A30> +2024-11-30 16:53:25,303 - api.main - INFO - STDERR: import 'jaraco.text' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96661220> +2024-11-30 16:53:25,304 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__init__.py +2024-11-30 16:53:25,304 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,305 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\api.py +2024-11-30 16:53:25,305 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\api.cpython-39.pyc' +2024-11-30 16:53:25,305 - api.main - INFO - STDERR: import 'platformdirs.api' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE9678B7C0> +2024-11-30 16:53:25,305 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\version.py +2024-11-30 16:53:25,306 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\version.cpython-39.pyc' +2024-11-30 16:53:25,306 - api.main - INFO - STDERR: import 'platformdirs.version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96793A30> +2024-11-30 16:53:25,306 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\windows.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\windows.py +2024-11-30 16:53:25,306 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\windows.cpython-39.pyc' +2024-11-30 16:53:25,306 - api.main - INFO - STDERR: import 'platformdirs.windows' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96793AC0> +2024-11-30 16:53:25,306 - api.main - INFO - STDERR: import 'platformdirs' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE9677E790> +2024-11-30 16:53:25,355 - api.main - INFO - STDERR: import 'pkg_resources' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95D09970> +2024-11-30 16:53:25,355 - api.main - INFO - STDERR: import 'adbutils._utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95C9A520> +2024-11-30 16:53:25,356 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\errors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\errors.py +2024-11-30 16:53:25,356 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 16:53:25,356 - api.main - INFO - STDERR: import 'adbutils.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95CBC670> +2024-11-30 16:53:25,356 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_proto.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_proto.py +2024-11-30 16:53:25,356 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_proto.cpython-39.pyc' +2024-11-30 16:53:25,357 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\dataclasses.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\dataclasses.py +2024-11-30 16:53:25,357 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\dataclasses.cpython-39.pyc' +2024-11-30 16:53:25,358 - api.main - INFO - STDERR: import 'dataclasses' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE9637A0D0> +2024-11-30 16:53:25,360 - api.main - INFO - STDERR: import 'adbutils._proto' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96374520> +2024-11-30 16:53:25,360 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_version.py +2024-11-30 16:53:25,360 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 16:53:25,360 - api.main - INFO - STDERR: import 'adbutils._version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96374700> +2024-11-30 16:53:25,362 - api.main - INFO - STDERR: import 'adbutils._adb' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95BCF370> +2024-11-30 16:53:25,362 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_device.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_device.py +2024-11-30 16:53:25,362 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_device.cpython-39.pyc' +2024-11-30 16:53:25,363 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__init__.py +2024-11-30 16:53:25,363 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,365 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__init__.py +2024-11-30 16:53:25,365 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,365 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\exceptions.py +2024-11-30 16:53:25,365 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 16:53:25,365 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__init__.py +2024-11-30 16:53:25,366 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\packages\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,366 - api.main - INFO - STDERR: import 'urllib3.packages' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96829850> +2024-11-30 16:53:25,367 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__pycache__\six.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\six.py +2024-11-30 16:53:25,367 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\packages\\__pycache__\\six.cpython-39.pyc' +2024-11-30 16:53:25,367 - api.main - INFO - STDERR: import 'urllib3.packages.six' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96829880> +2024-11-30 16:53:25,367 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves' # +2024-11-30 16:53:25,367 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.http_client' # +2024-11-30 16:53:25,367 - api.main - INFO - STDERR: import 'urllib3.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96820790> +2024-11-30 16:53:25,368 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\_version.py +2024-11-30 16:53:25,368 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 16:53:25,368 - api.main - INFO - STDERR: import 'urllib3._version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96820970> +2024-11-30 16:53:25,369 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\connectionpool.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\connectionpool.py +2024-11-30 16:53:25,369 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\connectionpool.cpython-39.pyc' +2024-11-30 16:53:25,369 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\_collections.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\_collections.py +2024-11-30 16:53:25,369 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\_collections.cpython-39.pyc' +2024-11-30 16:53:25,370 - api.main - INFO - STDERR: import 'urllib3._collections' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96835760> +2024-11-30 16:53:25,370 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\connection.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\connection.py +2024-11-30 16:53:25,370 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\connection.cpython-39.pyc' +2024-11-30 16:53:25,370 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__init__.py +2024-11-30 16:53:25,371 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,371 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\connection.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\connection.py +2024-11-30 16:53:25,371 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\connection.cpython-39.pyc' +2024-11-30 16:53:25,371 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__init__.py +2024-11-30 16:53:25,371 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,372 - api.main - INFO - STDERR: import 'urllib3.contrib' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96854FD0> +2024-11-30 16:53:25,372 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\_appengine_environ.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\_appengine_environ.py +2024-11-30 16:53:25,372 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\_appengine_environ.cpython-39.pyc' +2024-11-30 16:53:25,373 - api.main - INFO - STDERR: import 'urllib3.contrib._appengine_environ' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96860190> +2024-11-30 16:53:25,373 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\wait.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\wait.py +2024-11-30 16:53:25,373 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\wait.cpython-39.pyc' +2024-11-30 16:53:25,373 - api.main - INFO - STDERR: import 'urllib3.util.wait' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96860340> +2024-11-30 16:53:25,374 - api.main - INFO - STDERR: import 'urllib3.util.connection' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96854C40> +2024-11-30 16:53:25,375 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\request.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\request.py +2024-11-30 16:53:25,375 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\request.cpython-39.pyc' +2024-11-30 16:53:25,377 - api.main - INFO - STDERR: import 'urllib3.util.request' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96854E20> +2024-11-30 16:53:25,377 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\response.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\response.py +2024-11-30 16:53:25,377 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\response.cpython-39.pyc' +2024-11-30 16:53:25,377 - api.main - INFO - STDERR: import 'urllib3.util.response' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96860760> +2024-11-30 16:53:25,378 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\retry.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\retry.py +2024-11-30 16:53:25,378 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\retry.cpython-39.pyc' +2024-11-30 16:53:25,378 - api.main - INFO - STDERR: import 'urllib3.util.retry' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96860850> +2024-11-30 16:53:25,378 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssl_.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssl_.py +2024-11-30 16:53:25,379 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssl_.cpython-39.pyc' +2024-11-30 16:53:25,380 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\hmac.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\hmac.py +2024-11-30 16:53:25,380 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\hmac.cpython-39.pyc' +2024-11-30 16:53:25,380 - api.main - INFO - STDERR: import 'hmac' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE9686CA30> +2024-11-30 16:53:25,380 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\url.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\url.py +2024-11-30 16:53:25,380 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\url.cpython-39.pyc' +2024-11-30 16:53:25,390 - api.main - INFO - STDERR: import 'urllib3.util.url' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE9687A280> +2024-11-30 16:53:25,391 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssltransport.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssltransport.py +2024-11-30 16:53:25,391 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssltransport.cpython-39.pyc' +2024-11-30 16:53:25,391 - api.main - INFO - STDERR: import 'urllib3.util.ssltransport' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE9687ADC0> +2024-11-30 16:53:25,391 - api.main - INFO - STDERR: import 'urllib3.util.ssl_' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE9686C520> +2024-11-30 16:53:25,392 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\timeout.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\timeout.py +2024-11-30 16:53:25,392 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\timeout.cpython-39.pyc' +2024-11-30 16:53:25,392 - api.main - INFO - STDERR: import 'urllib3.util.timeout' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE9686C820> +2024-11-30 16:53:25,392 - api.main - INFO - STDERR: import 'urllib3.util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96854940> +2024-11-30 16:53:25,392 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\proxy.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\proxy.py +2024-11-30 16:53:25,392 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\proxy.cpython-39.pyc' +2024-11-30 16:53:25,393 - api.main - INFO - STDERR: import 'urllib3.util.proxy' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE968549A0> +2024-11-30 16:53:25,393 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssl_match_hostname.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssl_match_hostname.py +2024-11-30 16:53:25,393 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssl_match_hostname.cpython-39.pyc' +2024-11-30 16:53:25,394 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ipaddress.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ipaddress.py +2024-11-30 16:53:25,395 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ipaddress.cpython-39.pyc' +2024-11-30 16:53:25,395 - api.main - INFO - STDERR: import 'ipaddress' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE968908B0> +2024-11-30 16:53:25,396 - api.main - INFO - STDERR: import 'urllib3.util.ssl_match_hostname' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE968546A0> +2024-11-30 16:53:25,396 - api.main - INFO - STDERR: import 'urllib3.connection' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE968445B0> +2024-11-30 16:53:25,396 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\request.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\request.py +2024-11-30 16:53:25,396 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\request.cpython-39.pyc' +2024-11-30 16:53:25,396 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\filepost.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\filepost.py +2024-11-30 16:53:25,397 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\filepost.cpython-39.pyc' +2024-11-30 16:53:25,397 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\fields.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\fields.py +2024-11-30 16:53:25,397 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\fields.cpython-39.pyc' +2024-11-30 16:53:25,398 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\mimetypes.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\mimetypes.py +2024-11-30 16:53:25,398 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\mimetypes.cpython-39.pyc' +2024-11-30 16:53:25,398 - api.main - INFO - STDERR: import 'mimetypes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE968CA2E0> +2024-11-30 16:53:25,398 - api.main - INFO - STDERR: import 'urllib3.fields' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE968C6D00> +2024-11-30 16:53:25,398 - api.main - INFO - STDERR: import 'urllib3.filepost' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE968C68E0> +2024-11-30 16:53:25,398 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.urllib' # +2024-11-30 16:53:25,398 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.urllib.parse' # +2024-11-30 16:53:25,398 - api.main - INFO - STDERR: import 'urllib3.request' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96854610> +2024-11-30 16:53:25,398 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\response.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\response.py +2024-11-30 16:53:25,399 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\response.cpython-39.pyc' +2024-11-30 16:53:25,400 - api.main - INFO - STDERR: import 'urllib3.response' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE968A0FA0> +2024-11-30 16:53:25,401 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\queue.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\queue.py +2024-11-30 16:53:25,401 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\queue.cpython-39.pyc' +2024-11-30 16:53:25,401 - api.main - INFO - STDERR: import 'urllib3.util.queue' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE968CA730> +2024-11-30 16:53:25,401 - api.main - INFO - STDERR: import 'urllib3.connectionpool' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96820AC0> +2024-11-30 16:53:25,401 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\poolmanager.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\poolmanager.py +2024-11-30 16:53:25,401 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\poolmanager.cpython-39.pyc' +2024-11-30 16:53:25,402 - api.main - INFO - STDERR: import 'urllib3.poolmanager' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE968DB2B0> +2024-11-30 16:53:25,402 - api.main - INFO - STDERR: import 'urllib3' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96820250> +2024-11-30 16:53:25,403 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\exceptions.py +2024-11-30 16:53:25,403 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 16:53:25,403 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\compat.py +2024-11-30 16:53:25,403 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\compat.cpython-39.pyc' +2024-11-30 16:53:25,405 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__init__.py +2024-11-30 16:53:25,405 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,406 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\api.py +2024-11-30 16:53:25,406 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\api.cpython-39.pyc' +2024-11-30 16:53:25,406 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\cd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\cd.py +2024-11-30 16:53:25,406 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\cd.cpython-39.pyc' +2024-11-30 16:53:25,406 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\constant.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\constant.py +2024-11-30 16:53:25,407 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\constant.cpython-39.pyc' +2024-11-30 16:53:25,408 - api.main - INFO - STDERR: import 'charset_normalizer.constant' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE968F5790> +2024-11-30 16:53:25,409 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md__mypyc' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md__mypyc.cp39-win_amd64.pyd' +2024-11-30 16:53:25,409 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md__mypyc' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md__mypyc.cp39-win_amd64.pyd' +2024-11-30 16:53:25,409 - api.main - INFO - STDERR: import 'charset_normalizer.md__mypyc' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FE96919E80> +2024-11-30 16:53:25,410 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\utils.py +2024-11-30 16:53:25,410 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 16:53:25,411 - api.main - INFO - STDERR: # extension module 'unicodedata' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\unicodedata.pyd' +2024-11-30 16:53:25,412 - api.main - INFO - STDERR: # extension module 'unicodedata' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\unicodedata.pyd' +2024-11-30 16:53:25,412 - api.main - INFO - STDERR: import 'unicodedata' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FE96920730> +2024-11-30 16:53:25,412 - api.main - INFO - STDERR: import '_multibytecodec' # +2024-11-30 16:53:25,412 - api.main - INFO - STDERR: import 'charset_normalizer.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96919BB0> +2024-11-30 16:53:25,412 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md.cp39-win_amd64.pyd' +2024-11-30 16:53:25,412 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md.cp39-win_amd64.pyd' +2024-11-30 16:53:25,412 - api.main - INFO - STDERR: import 'charset_normalizer.md' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FE96919BE0> +2024-11-30 16:53:25,413 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\models.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\models.py +2024-11-30 16:53:25,413 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\models.cpython-39.pyc' +2024-11-30 16:53:25,413 - api.main - INFO - STDERR: import 'charset_normalizer.models' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96920FA0> +2024-11-30 16:53:25,413 - api.main - INFO - STDERR: import 'charset_normalizer.cd' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE968F5100> +2024-11-30 16:53:25,413 - api.main - INFO - STDERR: import 'charset_normalizer.api' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE968DBA90> +2024-11-30 16:53:25,414 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\legacy.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\legacy.py +2024-11-30 16:53:25,414 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\legacy.cpython-39.pyc' +2024-11-30 16:53:25,414 - api.main - INFO - STDERR: import 'charset_normalizer.legacy' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96932340> +2024-11-30 16:53:25,414 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\version.py +2024-11-30 16:53:25,414 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\version.cpython-39.pyc' +2024-11-30 16:53:25,414 - api.main - INFO - STDERR: import 'charset_normalizer.version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE969323D0> +2024-11-30 16:53:25,414 - api.main - INFO - STDERR: import 'charset_normalizer' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE968DBD30> +2024-11-30 16:53:25,416 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\cookiejar.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\cookiejar.py +2024-11-30 16:53:25,416 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\cookiejar.cpython-39.pyc' +2024-11-30 16:53:25,419 - api.main - INFO - STDERR: import 'http.cookiejar' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96932400> +2024-11-30 16:53:25,420 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\cookies.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\cookies.py +2024-11-30 16:53:25,420 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\cookies.cpython-39.pyc' +2024-11-30 16:53:25,421 - api.main - INFO - STDERR: import 'http.cookies' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE969855B0> +2024-11-30 16:53:25,421 - api.main - INFO - STDERR: import 'requests.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE968DBEE0> +2024-11-30 16:53:25,421 - api.main - INFO - STDERR: import 'requests.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE968E63D0> +2024-11-30 16:53:25,422 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\packages.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\packages.py +2024-11-30 16:53:25,423 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\packages.cpython-39.pyc' +2024-11-30 16:53:25,424 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__init__.py +2024-11-30 16:53:25,424 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,425 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\core.py +2024-11-30 16:53:25,425 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\core.cpython-39.pyc' +2024-11-30 16:53:25,426 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\idnadata.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\idnadata.py +2024-11-30 16:53:25,426 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\idnadata.cpython-39.pyc' +2024-11-30 16:53:25,427 - api.main - INFO - STDERR: import 'idna.idnadata' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE969A1850> +2024-11-30 16:53:25,427 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\intranges.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\intranges.py +2024-11-30 16:53:25,427 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\intranges.cpython-39.pyc' +2024-11-30 16:53:25,427 - api.main - INFO - STDERR: import 'idna.intranges' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE969A18E0> +2024-11-30 16:53:25,428 - api.main - INFO - STDERR: import 'idna.core' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE969A1100> +2024-11-30 16:53:25,428 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\package_data.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\package_data.py +2024-11-30 16:53:25,429 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\package_data.cpython-39.pyc' +2024-11-30 16:53:25,429 - api.main - INFO - STDERR: import 'idna.package_data' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE969A1580> +2024-11-30 16:53:25,429 - api.main - INFO - STDERR: import 'idna' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE968E60A0> +2024-11-30 16:53:25,429 - api.main - INFO - STDERR: import 'requests.packages' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE968E65B0> +2024-11-30 16:53:25,429 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\utils.py +2024-11-30 16:53:25,429 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 16:53:25,430 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\certs.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\certs.py +2024-11-30 16:53:25,430 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\certs.cpython-39.pyc' +2024-11-30 16:53:25,430 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__init__.py +2024-11-30 16:53:25,430 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\certifi\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,430 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\core.py +2024-11-30 16:53:25,431 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\certifi\\__pycache__\\core.cpython-39.pyc' +2024-11-30 16:53:25,431 - api.main - INFO - STDERR: import 'certifi.core' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE969D97C0> +2024-11-30 16:53:25,431 - api.main - INFO - STDERR: import 'certifi' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE969D9550> +2024-11-30 16:53:25,431 - api.main - INFO - STDERR: import 'requests.certs' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE969D9340> +2024-11-30 16:53:25,431 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\__version__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__version__.py +2024-11-30 16:53:25,431 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\__version__.cpython-39.pyc' +2024-11-30 16:53:25,431 - api.main - INFO - STDERR: import 'requests.__version__' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE969D94C0> +2024-11-30 16:53:25,431 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\_internal_utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\_internal_utils.py +2024-11-30 16:53:25,431 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\_internal_utils.cpython-39.pyc' +2024-11-30 16:53:25,432 - api.main - INFO - STDERR: import 'requests._internal_utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE969D93D0> +2024-11-30 16:53:25,432 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\cookies.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\cookies.py +2024-11-30 16:53:25,432 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\cookies.cpython-39.pyc' +2024-11-30 16:53:25,432 - api.main - INFO - STDERR: import 'requests.cookies' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE969D95E0> +2024-11-30 16:53:25,432 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\structures.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\structures.py +2024-11-30 16:53:25,432 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\structures.cpython-39.pyc' +2024-11-30 16:53:25,432 - api.main - INFO - STDERR: import 'requests.structures' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE969E09D0> +2024-11-30 16:53:25,432 - api.main - INFO - STDERR: import 'requests.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE968E67F0> +2024-11-30 16:53:25,434 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\api.py +2024-11-30 16:53:25,434 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\api.cpython-39.pyc' +2024-11-30 16:53:25,434 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\sessions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\sessions.py +2024-11-30 16:53:25,434 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\sessions.cpython-39.pyc' +2024-11-30 16:53:25,434 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\adapters.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\adapters.py +2024-11-30 16:53:25,434 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\adapters.cpython-39.pyc' +2024-11-30 16:53:25,434 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\auth.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\auth.py +2024-11-30 16:53:25,435 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\auth.cpython-39.pyc' +2024-11-30 16:53:25,435 - api.main - INFO - STDERR: import 'requests.auth' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE969F97C0> +2024-11-30 16:53:25,435 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\models.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\models.py +2024-11-30 16:53:25,435 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\models.cpython-39.pyc' +2024-11-30 16:53:25,437 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\idna.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\idna.py +2024-11-30 16:53:25,437 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\idna.cpython-39.pyc' +2024-11-30 16:53:25,437 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\stringprep.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\stringprep.py +2024-11-30 16:53:25,438 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\stringprep.cpython-39.pyc' +2024-11-30 16:53:25,438 - api.main - INFO - STDERR: import 'stringprep' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96A151F0> +2024-11-30 16:53:25,438 - api.main - INFO - STDERR: import 'encodings.idna' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96A09D60> +2024-11-30 16:53:25,438 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\hooks.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\hooks.py +2024-11-30 16:53:25,438 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\hooks.cpython-39.pyc' +2024-11-30 16:53:25,438 - api.main - INFO - STDERR: import 'requests.hooks' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96A09F70> +2024-11-30 16:53:25,439 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\status_codes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\status_codes.py +2024-11-30 16:53:25,439 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\status_codes.cpython-39.pyc' +2024-11-30 16:53:25,439 - api.main - INFO - STDERR: import 'requests.status_codes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96A15820> +2024-11-30 16:53:25,439 - api.main - INFO - STDERR: import 'requests.models' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE969F9E80> +2024-11-30 16:53:25,440 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\socks.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\socks.py +2024-11-30 16:53:25,440 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\socks.cpython-39.pyc' +2024-11-30 16:53:25,440 - api.main - INFO - STDERR: # destroy urllib3.contrib.socks +2024-11-30 16:53:25,440 - api.main - INFO - STDERR: import 'requests.adapters' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE969EDEB0> +2024-11-30 16:53:25,440 - api.main - INFO - STDERR: import 'requests.sessions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE969ED460> +2024-11-30 16:53:25,440 - api.main - INFO - STDERR: import 'requests.api' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE969ED100> +2024-11-30 16:53:25,440 - api.main - INFO - STDERR: import 'requests' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE9680EF10> +2024-11-30 16:53:25,442 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__init__.py +2024-11-30 16:53:25,442 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,442 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_version.py +2024-11-30 16:53:25,442 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 16:53:25,442 - api.main - INFO - STDERR: import 'PIL._version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE969F95E0> +2024-11-30 16:53:25,443 - api.main - INFO - STDERR: import 'PIL' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE969ED280> +2024-11-30 16:53:25,443 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\Image.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\Image.py +2024-11-30 16:53:25,443 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\Image.cpython-39.pyc' +2024-11-30 16:53:25,445 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\ExifTags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\ExifTags.py +2024-11-30 16:53:25,445 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\ExifTags.cpython-39.pyc' +2024-11-30 16:53:25,452 - api.main - INFO - STDERR: import 'PIL.ExifTags' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96A59910> +2024-11-30 16:53:25,452 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\ImageMode.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\ImageMode.py +2024-11-30 16:53:25,452 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\ImageMode.cpython-39.pyc' +2024-11-30 16:53:25,453 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_deprecate.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_deprecate.py +2024-11-30 16:53:25,453 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_deprecate.cpython-39.pyc' +2024-11-30 16:53:25,453 - api.main - INFO - STDERR: import 'PIL._deprecate' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96A75E80> +2024-11-30 16:53:25,453 - api.main - INFO - STDERR: import 'PIL.ImageMode' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96A59940> +2024-11-30 16:53:25,453 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\TiffTags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\TiffTags.py +2024-11-30 16:53:25,455 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\TiffTags.cpython-39.pyc' +2024-11-30 16:53:25,455 - api.main - INFO - STDERR: import 'PIL.TiffTags' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96A7BA30> +2024-11-30 16:53:25,455 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_binary.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_binary.py +2024-11-30 16:53:25,455 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_binary.cpython-39.pyc' +2024-11-30 16:53:25,455 - api.main - INFO - STDERR: import 'PIL._binary' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96A7BDC0> +2024-11-30 16:53:25,456 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_util.py +2024-11-30 16:53:25,456 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_util.cpython-39.pyc' +2024-11-30 16:53:25,456 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_typing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_typing.py +2024-11-30 16:53:25,456 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_typing.cpython-39.pyc' +2024-11-30 16:53:25,457 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\typing_extensions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\typing_extensions.py +2024-11-30 16:53:25,457 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\typing_extensions.cpython-39.pyc' +2024-11-30 16:53:25,459 - api.main - INFO - STDERR: import 'typing_extensions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96A8FCA0> +2024-11-30 16:53:25,459 - api.main - INFO - STDERR: import 'PIL._typing' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96A8F820> +2024-11-30 16:53:25,459 - api.main - INFO - STDERR: import 'PIL._util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96A8F3D0> +2024-11-30 16:53:25,460 - api.main - INFO - STDERR: # extension module 'PIL._imaging' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\_imaging.cp39-win_amd64.pyd' +2024-11-30 16:53:25,460 - api.main - INFO - STDERR: # extension module 'PIL._imaging' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\_imaging.cp39-win_amd64.pyd' +2024-11-30 16:53:25,460 - api.main - INFO - STDERR: import 'PIL._imaging' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FE96A8FEB0> +2024-11-30 16:53:25,461 - api.main - INFO - STDERR: import 'PIL.Image' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE969EDC70> +2024-11-30 16:53:25,463 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__init__.py +2024-11-30 16:53:25,463 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,463 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py +2024-11-30 16:53:25,463 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\api.cpython-39.pyc' +2024-11-30 16:53:25,463 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\compat.py +2024-11-30 16:53:25,464 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\compat.cpython-39.pyc' +2024-11-30 16:53:25,464 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\decorator.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\decorator.py +2024-11-30 16:53:25,464 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\decorator.cpython-39.pyc' +2024-11-30 16:53:25,465 - api.main - INFO - STDERR: import 'decorator' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96AACA60> +2024-11-30 16:53:25,465 - api.main - INFO - STDERR: import 'retry.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96AAC1C0> +2024-11-30 16:53:25,465 - api.main - INFO - STDERR: import 'retry.api' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96AA35B0> +2024-11-30 16:53:25,465 - api.main - INFO - STDERR: import 'retry' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE969ED1F0> +2024-11-30 16:53:25,466 - api.main - INFO - STDERR: import 'adbutils._device' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE967F9B50> +2024-11-30 16:53:25,466 - api.main - INFO - STDERR: import 'adbutils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95C28D00> +2024-11-30 16:53:25,467 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__init__.py +2024-11-30 16:53:25,467 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,468 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_api.py +2024-11-30 16:53:25,468 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_api.cpython-39.pyc' +2024-11-30 16:53:25,468 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_error.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_error.py +2024-11-30 16:53:25,468 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_error.cpython-39.pyc' +2024-11-30 16:53:25,468 - api.main - INFO - STDERR: import 'filelock._error' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96C63220> +2024-11-30 16:53:25,468 - api.main - INFO - STDERR: import 'filelock._api' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96C4A820> +2024-11-30 16:53:25,468 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_soft.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_soft.py +2024-11-30 16:53:25,470 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_soft.cpython-39.pyc' +2024-11-30 16:53:25,470 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_util.py +2024-11-30 16:53:25,470 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_util.cpython-39.pyc' +2024-11-30 16:53:25,470 - api.main - INFO - STDERR: import 'filelock._util' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96C63FD0> +2024-11-30 16:53:25,470 - api.main - INFO - STDERR: import 'filelock._soft' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96C635E0> +2024-11-30 16:53:25,470 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_unix.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_unix.py +2024-11-30 16:53:25,470 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_unix.cpython-39.pyc' +2024-11-30 16:53:25,470 - api.main - INFO - STDERR: import 'filelock._unix' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96C63F10> +2024-11-30 16:53:25,470 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_windows.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_windows.py +2024-11-30 16:53:25,470 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_windows.cpython-39.pyc' +2024-11-30 16:53:25,470 - api.main - INFO - STDERR: import 'filelock._windows' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96C639A0> +2024-11-30 16:53:25,471 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\asyncio.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\asyncio.py +2024-11-30 16:53:25,471 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\asyncio.cpython-39.pyc' +2024-11-30 16:53:25,472 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__init__.py +2024-11-30 16:53:25,472 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,473 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_events.py +2024-11-30 16:53:25,473 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_events.cpython-39.pyc' +2024-11-30 16:53:25,474 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\__init__.py +2024-11-30 16:53:25,474 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,474 - api.main - INFO - STDERR: import 'concurrent' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96C8C7F0> +2024-11-30 16:53:25,475 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__init__.py +2024-11-30 16:53:25,475 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\futures\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,476 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__pycache__\_base.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\_base.py +2024-11-30 16:53:25,476 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\futures\\__pycache__\\_base.cpython-39.pyc' +2024-11-30 16:53:25,477 - api.main - INFO - STDERR: import 'concurrent.futures._base' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96C8CAF0> +2024-11-30 16:53:25,477 - api.main - INFO - STDERR: import 'concurrent.futures' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96C8C820> +2024-11-30 16:53:25,478 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\constants.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\constants.py +2024-11-30 16:53:25,478 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\constants.cpython-39.pyc' +2024-11-30 16:53:25,478 - api.main - INFO - STDERR: import 'asyncio.constants' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96C8C8E0> +2024-11-30 16:53:25,479 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\coroutines.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\coroutines.py +2024-11-30 16:53:25,479 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\coroutines.cpython-39.pyc' +2024-11-30 16:53:25,479 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_futures.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_futures.py +2024-11-30 16:53:25,479 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_futures.cpython-39.pyc' +2024-11-30 16:53:25,480 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\format_helpers.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\format_helpers.py +2024-11-30 16:53:25,480 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\format_helpers.cpython-39.pyc' +2024-11-30 16:53:25,480 - api.main - INFO - STDERR: import 'asyncio.format_helpers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96CA6D90> +2024-11-30 16:53:25,480 - api.main - INFO - STDERR: import 'asyncio.base_futures' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96CA6A30> +2024-11-30 16:53:25,481 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\log.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\log.py +2024-11-30 16:53:25,481 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\log.cpython-39.pyc' +2024-11-30 16:53:25,481 - api.main - INFO - STDERR: import 'asyncio.log' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96CA6DC0> +2024-11-30 16:53:25,481 - api.main - INFO - STDERR: import 'asyncio.coroutines' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96C8C670> +2024-11-30 16:53:25,481 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\events.py +2024-11-30 16:53:25,481 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\events.cpython-39.pyc' +2024-11-30 16:53:25,482 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\contextvars.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\contextvars.py +2024-11-30 16:53:25,482 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\contextvars.cpython-39.pyc' +2024-11-30 16:53:25,482 - api.main - INFO - STDERR: import '_contextvars' # +2024-11-30 16:53:25,482 - api.main - INFO - STDERR: import 'contextvars' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96CBE1F0> +2024-11-30 16:53:25,484 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\exceptions.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\exceptions.py +2024-11-30 16:53:25,484 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 16:53:25,484 - api.main - INFO - STDERR: import 'asyncio.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96CBE7C0> +2024-11-30 16:53:25,485 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_tasks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_tasks.py +2024-11-30 16:53:25,485 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_tasks.cpython-39.pyc' +2024-11-30 16:53:25,485 - api.main - INFO - STDERR: import 'asyncio.base_tasks' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96CBEC10> +2024-11-30 16:53:25,485 - api.main - INFO - STDERR: # extension module '_asyncio' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_asyncio.pyd' +2024-11-30 16:53:25,485 - api.main - INFO - STDERR: # extension module '_asyncio' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_asyncio.pyd' +2024-11-30 16:53:25,485 - api.main - INFO - STDERR: import '_asyncio' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FE96CBE580> +2024-11-30 16:53:25,485 - api.main - INFO - STDERR: import 'asyncio.events' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96CA6820> +2024-11-30 16:53:25,486 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\futures.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\futures.py +2024-11-30 16:53:25,486 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\futures.cpython-39.pyc' +2024-11-30 16:53:25,486 - api.main - INFO - STDERR: import 'asyncio.futures' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96CBE3A0> +2024-11-30 16:53:25,486 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\protocols.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\protocols.py +2024-11-30 16:53:25,486 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\protocols.cpython-39.pyc' +2024-11-30 16:53:25,486 - api.main - INFO - STDERR: import 'asyncio.protocols' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96CCF310> +2024-11-30 16:53:25,487 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\sslproto.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\sslproto.py +2024-11-30 16:53:25,488 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\sslproto.cpython-39.pyc' +2024-11-30 16:53:25,488 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\transports.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\transports.py +2024-11-30 16:53:25,488 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\transports.cpython-39.pyc' +2024-11-30 16:53:25,488 - api.main - INFO - STDERR: import 'asyncio.transports' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96CD99D0> +2024-11-30 16:53:25,488 - api.main - INFO - STDERR: import 'asyncio.sslproto' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96CCF9A0> +2024-11-30 16:53:25,489 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\staggered.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\staggered.py +2024-11-30 16:53:25,489 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\staggered.cpython-39.pyc' +2024-11-30 16:53:25,489 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\locks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\locks.py +2024-11-30 16:53:25,489 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\locks.cpython-39.pyc' +2024-11-30 16:53:25,490 - api.main - INFO - STDERR: import 'asyncio.locks' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96CF59D0> +2024-11-30 16:53:25,490 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\tasks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\tasks.py +2024-11-30 16:53:25,490 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\tasks.cpython-39.pyc' +2024-11-30 16:53:25,490 - api.main - INFO - STDERR: import 'asyncio.tasks' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96D02550> +2024-11-30 16:53:25,490 - api.main - INFO - STDERR: import 'asyncio.staggered' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96CD9790> +2024-11-30 16:53:25,491 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\trsock.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\trsock.py +2024-11-30 16:53:25,491 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\trsock.cpython-39.pyc' +2024-11-30 16:53:25,491 - api.main - INFO - STDERR: import 'asyncio.trsock' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96D0B820> +2024-11-30 16:53:25,491 - api.main - INFO - STDERR: import 'asyncio.base_events' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96C67F70> +2024-11-30 16:53:25,492 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\runners.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\runners.py +2024-11-30 16:53:25,492 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\runners.cpython-39.pyc' +2024-11-30 16:53:25,492 - api.main - INFO - STDERR: import 'asyncio.runners' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96C8C580> +2024-11-30 16:53:25,494 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\queues.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\queues.py +2024-11-30 16:53:25,494 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\queues.cpython-39.pyc' +2024-11-30 16:53:25,494 - api.main - INFO - STDERR: import 'asyncio.queues' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96C8C430> +2024-11-30 16:53:25,494 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\streams.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\streams.py +2024-11-30 16:53:25,495 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\streams.cpython-39.pyc' +2024-11-30 16:53:25,495 - api.main - INFO - STDERR: import 'asyncio.streams' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96D148E0> +2024-11-30 16:53:25,495 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\subprocess.py +2024-11-30 16:53:25,496 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\subprocess.cpython-39.pyc' +2024-11-30 16:53:25,496 - api.main - INFO - STDERR: import 'asyncio.subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96D2B700> +2024-11-30 16:53:25,497 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\threads.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\threads.py +2024-11-30 16:53:25,497 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\threads.cpython-39.pyc' +2024-11-30 16:53:25,497 - api.main - INFO - STDERR: import 'asyncio.threads' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96D2BCA0> +2024-11-30 16:53:25,497 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\windows_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\windows_events.py +2024-11-30 16:53:25,498 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\windows_events.cpython-39.pyc' +2024-11-30 16:53:25,499 - api.main - INFO - STDERR: # extension module '_overlapped' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_overlapped.pyd' +2024-11-30 16:53:25,499 - api.main - INFO - STDERR: # extension module '_overlapped' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_overlapped.pyd' +2024-11-30 16:53:25,499 - api.main - INFO - STDERR: import '_overlapped' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FE96D47250> +2024-11-30 16:53:25,500 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_subprocess.py +2024-11-30 16:53:25,500 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_subprocess.cpython-39.pyc' +2024-11-30 16:53:25,500 - api.main - INFO - STDERR: import 'asyncio.base_subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96D473A0> +2024-11-30 16:53:25,501 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\proactor_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\proactor_events.py +2024-11-30 16:53:25,501 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\proactor_events.cpython-39.pyc' +2024-11-30 16:53:25,501 - api.main - INFO - STDERR: import 'asyncio.proactor_events' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96D47E20> +2024-11-30 16:53:25,502 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\selector_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\selector_events.py +2024-11-30 16:53:25,502 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\selector_events.cpython-39.pyc' +2024-11-30 16:53:25,502 - api.main - INFO - STDERR: import 'asyncio.selector_events' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96D62520> +2024-11-30 16:53:25,502 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\windows_utils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\windows_utils.py +2024-11-30 16:53:25,502 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\windows_utils.cpython-39.pyc' +2024-11-30 16:53:25,503 - api.main - INFO - STDERR: import 'asyncio.windows_utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96D81610> +2024-11-30 16:53:25,503 - api.main - INFO - STDERR: import 'asyncio.windows_events' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96D2BD60> +2024-11-30 16:53:25,503 - api.main - INFO - STDERR: import 'asyncio' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96C67370> +2024-11-30 16:53:25,504 - api.main - INFO - STDERR: import 'filelock.asyncio' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96C63B50> +2024-11-30 16:53:25,504 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\version.py +2024-11-30 16:53:25,504 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\version.cpython-39.pyc' +2024-11-30 16:53:25,504 - api.main - INFO - STDERR: import 'filelock.version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96D90B80> +2024-11-30 16:53:25,504 - api.main - INFO - STDERR: import 'filelock' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96C4A640> +2024-11-30 16:53:25,505 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__init__.py +2024-11-30 16:53:25,505 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,505 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\colors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\colors.py +2024-11-30 16:53:25,505 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\colors.cpython-39.pyc' +2024-11-30 16:53:25,505 - api.main - INFO - STDERR: import 'logzero.colors' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96D909D0> +2024-11-30 16:53:25,507 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\jsonlogger.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\jsonlogger.py +2024-11-30 16:53:25,507 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\jsonlogger.cpython-39.pyc' +2024-11-30 16:53:25,507 - api.main - INFO - STDERR: import 'logzero.jsonlogger' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96D90280> +2024-11-30 16:53:25,508 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__pycache__\handlers.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\handlers.py +2024-11-30 16:53:25,508 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\logging\\__pycache__\\handlers.cpython-39.pyc' +2024-11-30 16:53:25,509 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pickle.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pickle.py +2024-11-30 16:53:25,509 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pickle.cpython-39.pyc' +2024-11-30 16:53:25,510 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_compat_pickle.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_compat_pickle.py +2024-11-30 16:53:25,511 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_compat_pickle.cpython-39.pyc' +2024-11-30 16:53:25,511 - api.main - INFO - STDERR: import '_compat_pickle' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96DC9760> +2024-11-30 16:53:25,511 - api.main - INFO - STDERR: import '_pickle' # +2024-11-30 16:53:25,511 - api.main - INFO - STDERR: import 'pickle' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96DA9C70> +2024-11-30 16:53:25,511 - api.main - INFO - STDERR: import 'logging.handlers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96D81D60> +2024-11-30 16:53:25,513 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\curses\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\curses\__init__.py +2024-11-30 16:53:25,513 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\curses\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,514 - api.main - INFO - STDERR: # destroy curses +2024-11-30 16:53:25,514 - api.main - INFO - STDERR: import 'logzero' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96C63B20> +2024-11-30 16:53:25,514 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\six.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\six.py +2024-11-30 16:53:25,514 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\six.cpython-39.pyc' +2024-11-30 16:53:25,516 - api.main - INFO - STDERR: import 'six' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96DA9DC0> +2024-11-30 16:53:25,516 - api.main - INFO - STDERR: import 'six.moves' # +2024-11-30 16:53:25,516 - api.main - INFO - STDERR: import 'six.moves.urllib' # +2024-11-30 16:53:25,516 - api.main - INFO - STDERR: import 'six.moves.urllib.parse' # +2024-11-30 16:53:25,517 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\cached_property.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cached_property.py +2024-11-30 16:53:25,517 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\cached_property.cpython-39.pyc' +2024-11-30 16:53:25,517 - api.main - INFO - STDERR: import 'cached_property' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96DC9FA0> +2024-11-30 16:53:25,517 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__init__.py +2024-11-30 16:53:25,518 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\deprecated\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,518 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__pycache__\classic.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\classic.py +2024-11-30 16:53:25,518 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\deprecated\\__pycache__\\classic.cpython-39.pyc' +2024-11-30 16:53:25,518 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__init__.py +2024-11-30 16:53:25,518 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,518 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\__wrapt__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__wrapt__.py +2024-11-30 16:53:25,518 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\__wrapt__.cpython-39.pyc' +2024-11-30 16:53:25,520 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\wrappers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\wrappers.py +2024-11-30 16:53:25,520 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\wrappers.cpython-39.pyc' +2024-11-30 16:53:25,520 - api.main - INFO - STDERR: import 'wrapt.wrappers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96E02100> +2024-11-30 16:53:25,521 - api.main - INFO - STDERR: # extension module 'wrapt._wrappers' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\_wrappers.cp39-win_amd64.pyd' +2024-11-30 16:53:25,521 - api.main - INFO - STDERR: # extension module 'wrapt._wrappers' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\_wrappers.cp39-win_amd64.pyd' +2024-11-30 16:53:25,521 - api.main - INFO - STDERR: import 'wrapt._wrappers' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FE96E0BA90> +2024-11-30 16:53:25,521 - api.main - INFO - STDERR: import 'wrapt.__wrapt__' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96DF6B20> +2024-11-30 16:53:25,521 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\patches.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\patches.py +2024-11-30 16:53:25,522 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\patches.cpython-39.pyc' +2024-11-30 16:53:25,522 - api.main - INFO - STDERR: import 'wrapt.patches' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96DF6C10> +2024-11-30 16:53:25,522 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\weakrefs.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\weakrefs.py +2024-11-30 16:53:25,522 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\weakrefs.cpython-39.pyc' +2024-11-30 16:53:25,522 - api.main - INFO - STDERR: import 'wrapt.weakrefs' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96E0BFD0> +2024-11-30 16:53:25,522 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\decorators.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\decorators.py +2024-11-30 16:53:25,522 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\decorators.cpython-39.pyc' +2024-11-30 16:53:25,522 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\arguments.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\arguments.py +2024-11-30 16:53:25,522 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\arguments.cpython-39.pyc' +2024-11-30 16:53:25,522 - api.main - INFO - STDERR: import 'wrapt.arguments' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96E25130> +2024-11-30 16:53:25,522 - api.main - INFO - STDERR: import 'wrapt.decorators' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96E1F2E0> +2024-11-30 16:53:25,522 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\importer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\importer.py +2024-11-30 16:53:25,522 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\importer.cpython-39.pyc' +2024-11-30 16:53:25,522 - api.main - INFO - STDERR: import 'wrapt.importer' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96E25310> +2024-11-30 16:53:25,522 - api.main - INFO - STDERR: import 'wrapt' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96DF6FA0> +2024-11-30 16:53:25,522 - api.main - INFO - STDERR: import 'deprecated.classic' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96DE6C70> +2024-11-30 16:53:25,522 - api.main - INFO - STDERR: import 'deprecated' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96DE6790> +2024-11-30 16:53:25,524 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\xpath.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\xpath.py +2024-11-30 16:53:25,524 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\xpath.cpython-39.pyc' +2024-11-30 16:53:25,525 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\_proto.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_proto.py +2024-11-30 16:53:25,525 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\_proto.cpython-39.pyc' +2024-11-30 16:53:25,526 - api.main - INFO - STDERR: import 'uiautomator2._proto' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96E3D9A0> +2024-11-30 16:53:25,526 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\abcd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\abcd.py +2024-11-30 16:53:25,526 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\abcd.cpython-39.pyc' +2024-11-30 16:53:25,526 - api.main - INFO - STDERR: import 'uiautomator2.abcd' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96E3DAF0> +2024-11-30 16:53:25,526 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\exceptions.py +2024-11-30 16:53:25,527 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 16:53:25,527 - api.main - INFO - STDERR: import 'uiautomator2.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96E3DE20> +2024-11-30 16:53:25,527 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\utils.py +2024-11-30 16:53:25,527 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 16:53:25,527 - api.main - INFO - STDERR: import 'uiautomator2.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96E3DF70> +2024-11-30 16:53:25,528 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\lxml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\lxml\__init__.py +2024-11-30 16:53:25,528 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,528 - api.main - INFO - STDERR: import 'lxml' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96E56EE0> +2024-11-30 16:53:25,530 - api.main - INFO - STDERR: # extension module 'lxml.etree' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\etree.cp39-win_amd64.pyd' +2024-11-30 16:53:25,531 - api.main - INFO - STDERR: import 'gc' # +2024-11-30 16:53:25,532 - api.main - INFO - STDERR: # extension module 'lxml._elementpath' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\_elementpath.cp39-win_amd64.pyd' +2024-11-30 16:53:25,534 - api.main - INFO - STDERR: # extension module 'lxml._elementpath' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\_elementpath.cp39-win_amd64.pyd' +2024-11-30 16:53:25,534 - api.main - INFO - STDERR: import 'lxml._elementpath' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FE96EB6DC0> +2024-11-30 16:53:25,537 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\gzip.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\gzip.py +2024-11-30 16:53:25,537 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\gzip.cpython-39.pyc' +2024-11-30 16:53:25,537 - api.main - INFO - STDERR: import 'gzip' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96ED9940> +2024-11-30 16:53:25,539 - api.main - INFO - STDERR: # extension module 'lxml.etree' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\etree.cp39-win_amd64.pyd' +2024-11-30 16:53:25,539 - api.main - INFO - STDERR: import 'lxml.etree' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FE96E56EB0> +2024-11-30 16:53:25,539 - api.main - INFO - STDERR: import 'uiautomator2.xpath' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96DE67F0> +2024-11-30 16:53:25,539 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\_selector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_selector.py +2024-11-30 16:53:25,539 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\_selector.cpython-39.pyc' +2024-11-30 16:53:25,540 - api.main - INFO - STDERR: import 'uiautomator2._selector' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96E259A0> +2024-11-30 16:53:25,540 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\init.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\init.py +2024-11-30 16:53:25,540 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\init.cpython-39.pyc' +2024-11-30 16:53:25,542 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tarfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tarfile.py +2024-11-30 16:53:25,543 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tarfile.cpython-39.pyc' +2024-11-30 16:53:25,544 - api.main - INFO - STDERR: import 'tarfile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96F1EB80> +2024-11-30 16:53:25,545 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__init__.py +2024-11-30 16:53:25,545 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,545 - api.main - INFO - STDERR: import 'progress' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96F2BAC0> +2024-11-30 16:53:25,546 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\bar.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\bar.py +2024-11-30 16:53:25,546 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\bar.cpython-39.pyc' +2024-11-30 16:53:25,546 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\colors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\colors.py +2024-11-30 16:53:25,546 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\colors.cpython-39.pyc' +2024-11-30 16:53:25,546 - api.main - INFO - STDERR: import 'progress.colors' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96F57310> +2024-11-30 16:53:25,546 - api.main - INFO - STDERR: import 'progress.bar' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96F1EF70> +2024-11-30 16:53:25,547 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\version.py +2024-11-30 16:53:25,547 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\version.cpython-39.pyc' +2024-11-30 16:53:25,547 - api.main - INFO - STDERR: import 'uiautomator2.version' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96F57130> +2024-11-30 16:53:25,547 - api.main - INFO - STDERR: import 'uiautomator2.init' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96F1E550> +2024-11-30 16:53:25,548 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\settings.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\settings.py +2024-11-30 16:53:25,548 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\settings.cpython-39.pyc' +2024-11-30 16:53:25,548 - api.main - INFO - STDERR: import 'uiautomator2.settings' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96F57A90> +2024-11-30 16:53:25,548 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\swipe.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\swipe.py +2024-11-30 16:53:25,548 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\swipe.cpython-39.pyc' +2024-11-30 16:53:25,548 - api.main - INFO - STDERR: import 'uiautomator2.swipe' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96F57D30> +2024-11-30 16:53:25,549 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\watcher.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\watcher.py +2024-11-30 16:53:25,549 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\watcher.cpython-39.pyc' +2024-11-30 16:53:25,549 - api.main - INFO - STDERR: import 'uiautomator2.watcher' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96F57EE0> +2024-11-30 16:53:25,549 - api.main - INFO - STDERR: import 'uiautomator2' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95B39E80> +2024-11-30 16:53:25,551 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\utils.py +2024-11-30 16:53:25,551 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 16:53:25,552 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__init__.py +2024-11-30 16:53:25,552 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,552 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\core.py +2024-11-30 16:53:25,552 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\__pycache__\\core.cpython-39.pyc' +2024-11-30 16:53:25,553 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__init__.py +2024-11-30 16:53:25,553 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\unicode_codes\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,554 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__pycache__\data_dict.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\data_dict.py +2024-11-30 16:53:25,557 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\unicode_codes\\__pycache__\\data_dict.cpython-39.pyc' +2024-11-30 16:53:25,562 - api.main - INFO - STDERR: import 'emoji.unicode_codes.data_dict' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96F8F970> +2024-11-30 16:53:25,573 - api.main - INFO - STDERR: import 'emoji.unicode_codes' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96F8F640> +2024-11-30 16:53:25,574 - api.main - INFO - STDERR: import 'emoji.core' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96F7FF70> +2024-11-30 16:53:25,574 - api.main - INFO - STDERR: import 'emoji' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96F7FD00> +2024-11-30 16:53:25,575 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\log.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\log.py +2024-11-30 16:53:25,575 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\log.cpython-39.pyc' +2024-11-30 16:53:25,576 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\uuid.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\uuid.py +2024-11-30 16:53:25,576 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\uuid.cpython-39.pyc' +2024-11-30 16:53:25,578 - api.main - INFO - STDERR: # extension module '_uuid' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_uuid.pyd' +2024-11-30 16:53:25,578 - api.main - INFO - STDERR: # extension module '_uuid' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_uuid.pyd' +2024-11-30 16:53:25,578 - api.main - INFO - STDERR: import '_uuid' # <_frozen_importlib_external.ExtensionFileLoader object at 0x000001FE97B791F0> +2024-11-30 16:53:25,578 - api.main - INFO - STDERR: import 'uuid' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96F8FA90> +2024-11-30 16:53:25,578 - api.main - INFO - STDERR: import 'GramAddict.core.log' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96F7FD30> +2024-11-30 16:53:25,579 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\report.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\report.py +2024-11-30 16:53:25,579 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\report.cpython-39.pyc' +2024-11-30 16:53:25,579 - api.main - INFO - STDERR: import 'GramAddict.core.report' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE96F8F760> +2024-11-30 16:53:25,579 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\resources.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\resources.py +2024-11-30 16:53:25,579 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\resources.cpython-39.pyc' +2024-11-30 16:53:25,580 - api.main - INFO - STDERR: import 'GramAddict.core.resources' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97B79160> +2024-11-30 16:53:25,580 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\storage.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\storage.py +2024-11-30 16:53:25,580 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\storage.cpython-39.pyc' +2024-11-30 16:53:25,581 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\atomicwrites\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\atomicwrites\__init__.py +2024-11-30 16:53:25,581 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\atomicwrites\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,582 - api.main - INFO - STDERR: import 'atomicwrites' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97B79880> +2024-11-30 16:53:25,582 - api.main - INFO - STDERR: import 'GramAddict.core.storage' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97B79310> +2024-11-30 16:53:25,582 - api.main - INFO - STDERR: import 'GramAddict.core.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95B766D0> +2024-11-30 16:53:25,583 - api.main - INFO - STDERR: import 'GramAddict.core.device_facade' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95A692B0> +2024-11-30 16:53:25,584 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\filter.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\filter.py +2024-11-30 16:53:25,584 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\filter.cpython-39.pyc' +2024-11-30 16:53:25,585 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__init__.py +2024-11-30 16:53:25,585 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,585 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\detector_factory.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\detector_factory.py +2024-11-30 16:53:25,585 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\detector_factory.cpython-39.pyc' +2024-11-30 16:53:25,586 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\detector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\detector.py +2024-11-30 16:53:25,586 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\detector.cpython-39.pyc' +2024-11-30 16:53:25,586 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\lang_detect_exception.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\lang_detect_exception.py +2024-11-30 16:53:25,587 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\lang_detect_exception.cpython-39.pyc' +2024-11-30 16:53:25,587 - api.main - INFO - STDERR: import 'langdetect.lang_detect_exception' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97BA2D60> +2024-11-30 16:53:25,587 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\language.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\language.py +2024-11-30 16:53:25,587 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\language.cpython-39.pyc' +2024-11-30 16:53:25,587 - api.main - INFO - STDERR: import 'langdetect.language' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97BA2FD0> +2024-11-30 16:53:25,588 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__init__.py +2024-11-30 16:53:25,588 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,588 - api.main - INFO - STDERR: import 'langdetect.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97BAA3A0> +2024-11-30 16:53:25,588 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\ngram.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\ngram.py +2024-11-30 16:53:25,588 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\ngram.cpython-39.pyc' +2024-11-30 16:53:25,589 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\messages.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\messages.py +2024-11-30 16:53:25,589 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\messages.cpython-39.pyc' +2024-11-30 16:53:25,589 - api.main - INFO - STDERR: import 'langdetect.utils.messages' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97BAA6D0> +2024-11-30 16:53:25,589 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\unicode_block.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\unicode_block.py +2024-11-30 16:53:25,589 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\unicode_block.cpython-39.pyc' +2024-11-30 16:53:25,589 - api.main - INFO - STDERR: import 'langdetect.utils.unicode_block' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97BAA880> +2024-11-30 16:53:25,590 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\unicode_escape.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\unicode_escape.py +2024-11-30 16:53:25,590 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\unicode_escape.cpython-39.pyc' +2024-11-30 16:53:25,590 - api.main - INFO - STDERR: import 'encodings.unicode_escape' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97BAAA30> +2024-11-30 16:53:25,593 - api.main - INFO - STDERR: import 'langdetect.utils.ngram' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97BAA3D0> +2024-11-30 16:53:25,593 - api.main - INFO - STDERR: import 'langdetect.detector' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97BA27C0> +2024-11-30 16:53:25,594 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\lang_profile.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\lang_profile.py +2024-11-30 16:53:25,594 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\lang_profile.cpython-39.pyc' +2024-11-30 16:53:25,594 - api.main - INFO - STDERR: import 'langdetect.utils.lang_profile' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97BA2B80> +2024-11-30 16:53:25,594 - api.main - INFO - STDERR: import 'langdetect.detector_factory' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97BA22B0> +2024-11-30 16:53:25,594 - api.main - INFO - STDERR: import 'langdetect' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97B8FFD0> +2024-11-30 16:53:25,595 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\views.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py +2024-11-30 16:53:25,595 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\views.cpython-39.pyc' +2024-11-30 16:53:25,596 - api.main - INFO - STDERR: import 'GramAddict.core.views' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97BA2550> +2024-11-30 16:53:25,597 - api.main - INFO - STDERR: import 'GramAddict.core.filter' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE95B394F0> +2024-11-30 16:53:25,598 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\interaction.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\interaction.py +2024-11-30 16:53:25,598 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\interaction.cpython-39.pyc' +2024-11-30 16:53:25,599 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__init__.py +2024-11-30 16:53:25,599 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\spintax\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,599 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__pycache__\spintax.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\spintax.py +2024-11-30 16:53:25,600 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\spintax\\__pycache__\\spintax.cpython-39.pyc' +2024-11-30 16:53:25,600 - api.main - INFO - STDERR: import 'spintax.spintax' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97C97820> +2024-11-30 16:53:25,600 - api.main - INFO - STDERR: import 'spintax' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97C975E0> +2024-11-30 16:53:25,601 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\session_state.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\session_state.py +2024-11-30 16:53:25,601 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\session_state.cpython-39.pyc' +2024-11-30 16:53:25,601 - api.main - INFO - STDERR: import 'GramAddict.core.session_state' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97C978E0> +2024-11-30 16:53:25,602 - api.main - INFO - STDERR: import 'GramAddict.core.interaction' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97C97100> +2024-11-30 16:53:25,602 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\navigation.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\navigation.py +2024-11-30 16:53:25,603 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\navigation.cpython-39.pyc' +2024-11-30 16:53:25,603 - api.main - INFO - STDERR: import 'GramAddict.core.navigation' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97C97FD0> +2024-11-30 16:53:25,603 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\persistent_list.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\persistent_list.py +2024-11-30 16:53:25,604 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\persistent_list.cpython-39.pyc' +2024-11-30 16:53:25,604 - api.main - INFO - STDERR: import 'GramAddict.core.persistent_list' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97CA60D0> +2024-11-30 16:53:25,604 - api.main - INFO - STDERR: import 'GramAddict.core.bot_flow' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93BD4670> +2024-11-30 16:53:25,604 - api.main - INFO - STDERR: import 'GramAddict' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE93BD4D00> +2024-11-30 16:53:25,604 - api.main - INFO - STDOUT: Python path: ['e:\\PROJECTS\\instagram automation\\virtualinfluencer', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\python39.zip', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer'] +2024-11-30 16:53:25,604 - api.main - INFO - STDOUT: Current directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 16:53:25,604 - api.main - INFO - STDERR: e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml has been saved last time at 2024-11-30 16:51:36 +2024-11-30 16:53:25,604 - api.main - INFO - STDOUT: Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 16:53:25,604 - api.main - INFO - STDOUT: Successfully imported GramAddict +2024-11-30 16:53:25,607 - api.main - INFO - STDERR: [11/30 16:53:25] DEBUG | Initial log file: logs/quecreate.log +2024-11-30 16:53:25,609 - api.main - INFO - STDERR: [11/30 16:53:25] DEBUG | Installed via git, config-examples is in the local folder. +2024-11-30 16:53:25,609 - api.main - INFO - STDERR: [11/30 16:53:25] INFO | Checking for updates... +2024-11-30 16:53:25,611 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\netrc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\netrc.py +2024-11-30 16:53:25,611 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\netrc.cpython-39.pyc' +2024-11-30 16:53:25,611 - api.main - INFO - STDERR: import 'netrc' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97CA6D60> +2024-11-30 16:53:25,874 - api.main - INFO - STDERR: [11/30 16:53:25] INFO | Bot is updated. +2024-11-30 16:53:25,874 - api.main - INFO - STDERR: [11/30 16:53:25] INFO | GramAddict v.3.2.12 +2024-11-30 16:53:25,874 - api.main - INFO - STDERR: [11/30 16:53:25] INFO | Loading plugins . . . +2024-11-30 16:53:25,876 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__init__.py +2024-11-30 16:53:25,876 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,877 - api.main - INFO - STDERR: import 'GramAddict.plugins' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97CA6970> +2024-11-30 16:53:25,878 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\action_unfollow_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\action_unfollow_followers.py +2024-11-30 16:53:25,878 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\action_unfollow_followers.cpython-39.pyc' +2024-11-30 16:53:25,879 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\decorators.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py +2024-11-30 16:53:25,879 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\decorators.cpython-39.pyc' +2024-11-30 16:53:25,879 - api.main - INFO - STDERR: import 'GramAddict.core.decorators' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97CBC4F0> +2024-11-30 16:53:25,880 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\scroll_end_detector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\scroll_end_detector.py +2024-11-30 16:53:25,880 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\scroll_end_detector.cpython-39.pyc' +2024-11-30 16:53:25,880 - api.main - INFO - STDERR: import 'GramAddict.core.scroll_end_detector' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97CBC310> +2024-11-30 16:53:25,880 - api.main - INFO - STDERR: import 'GramAddict.plugins.action_unfollow_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97CA6C70> +2024-11-30 16:53:25,880 - api.main - INFO - STDERR: [11/30 16:53:25] INFO | - ActionUnfollowFollowers: Handles the functionality of unfollowing your followers +2024-11-30 16:53:25,881 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\cloned_app.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\cloned_app.py +2024-11-30 16:53:25,881 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\cloned_app.cpython-39.pyc' +2024-11-30 16:53:25,881 - api.main - INFO - STDERR: import 'GramAddict.plugins.cloned_app' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97CBC9D0> +2024-11-30 16:53:25,881 - api.main - INFO - STDERR: [11/30 16:53:25] INFO | - ClonedApp: Adds support for cloned apps +2024-11-30 16:53:25,883 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\core_arguments.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\core_arguments.py +2024-11-30 16:53:25,883 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\core_arguments.cpython-39.pyc' +2024-11-30 16:53:25,883 - api.main - INFO - STDERR: import 'GramAddict.plugins.core_arguments' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97CBCAF0> +2024-11-30 16:53:25,883 - api.main - INFO - STDERR: [11/30 16:53:25] INFO | - CoreArguments: Simply adds core arguments +2024-11-30 16:53:25,884 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\data_analytics.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\data_analytics.py +2024-11-30 16:53:25,884 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\data_analytics.cpython-39.pyc' +2024-11-30 16:53:25,884 - api.main - INFO - STDERR: import 'GramAddict.plugins.data_analytics' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97CBCC10> +2024-11-30 16:53:25,884 - api.main - INFO - STDERR: [11/30 16:53:25] INFO | - DataAnalytics: Generates a PDF analytics report of current username session data +2024-11-30 16:53:25,886 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\dbinit.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\dbinit.py +2024-11-30 16:53:25,886 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\dbinit.cpython-39.pyc' +2024-11-30 16:53:25,886 - api.main - INFO - STDERR: import 'GramAddict.plugins.dbinit' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97CBCDF0> +2024-11-30 16:53:25,886 - api.main - INFO - STDERR: [11/30 16:53:25] INFO | - DBInitPlugin: Initialize NocoDB tables at session start +2024-11-30 16:53:25,887 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger.py +2024-11-30 16:53:25,887 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger.cpython-39.pyc' +2024-11-30 16:53:25,888 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\handle_sources.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py +2024-11-30 16:53:25,888 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\handle_sources.cpython-39.pyc' +2024-11-30 16:53:25,888 - api.main - INFO - STDERR: import 'GramAddict.core.handle_sources' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97D1E520> +2024-11-30 16:53:25,888 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97CBCFA0> +2024-11-30 16:53:25,888 - api.main - INFO - STDERR: [11/30 16:53:25] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger +2024-11-30 16:53:25,889 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py +2024-11-30 16:53:25,890 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger_followers.cpython-39.pyc' +2024-11-30 16:53:25,890 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97D1E940> +2024-11-30 16:53:25,890 - api.main - INFO - STDERR: [11/30 16:53:25] INFO | - InteractBloggerFollowers_Following: Handles the functionality of interacting with a bloggers followers/following +2024-11-30 16:53:25,891 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger_post_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_post_likers.py +2024-11-30 16:53:25,904 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger_post_likers.cpython-39.pyc' +2024-11-30 16:53:25,905 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger_post_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97D1EBE0> +2024-11-30 16:53:25,905 - api.main - INFO - STDERR: [11/30 16:53:25] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger post likers +2024-11-30 16:53:25,906 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_feed.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_feed.py +2024-11-30 16:53:25,906 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_feed.cpython-39.pyc' +2024-11-30 16:53:25,906 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_feed' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97D1EF10> +2024-11-30 16:53:25,906 - api.main - INFO - STDERR: [11/30 16:53:25] INFO | - InteractOwnFeed: Handles the functionality of interacting with your own feed +2024-11-30 16:53:25,908 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_hashtag_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_hashtag_likers.py +2024-11-30 16:53:25,908 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_hashtag_likers.cpython-39.pyc' +2024-11-30 16:53:25,908 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_hashtag_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97D082B0> +2024-11-30 16:53:25,908 - api.main - INFO - STDERR: [11/30 16:53:25] INFO | - InteractHashtagLikers: Handles the functionality of interacting with a hashtags likers +2024-11-30 16:53:25,910 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_hashtag_posts.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_hashtag_posts.py +2024-11-30 16:53:25,910 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_hashtag_posts.cpython-39.pyc' +2024-11-30 16:53:25,910 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_hashtag_posts' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97D08610> +2024-11-30 16:53:25,910 - api.main - INFO - STDERR: [11/30 16:53:25] INFO | - InteractHashtagPosts: Handles the functionality of interacting with a hashtags post owners +2024-11-30 16:53:25,912 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_place_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_place_likers.py +2024-11-30 16:53:25,912 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_place_likers.cpython-39.pyc' +2024-11-30 16:53:25,912 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_place_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97D08970> +2024-11-30 16:53:25,912 - api.main - INFO - STDERR: [11/30 16:53:25] INFO | - InteractPlaceLikers: Handles the functionality of interacting with a places likers +2024-11-30 16:53:25,913 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_place_posts.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_place_posts.py +2024-11-30 16:53:25,914 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_place_posts.cpython-39.pyc' +2024-11-30 16:53:25,914 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_place_posts' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97D08D00> +2024-11-30 16:53:25,914 - api.main - INFO - STDERR: [11/30 16:53:25] INFO | - InteractPlacePosts: Handles the functionality of interacting with a places post owners +2024-11-30 16:53:25,915 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\like_from_urls.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\like_from_urls.py +2024-11-30 16:53:25,915 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\like_from_urls.cpython-39.pyc' +2024-11-30 16:53:25,915 - api.main - INFO - STDERR: import 'GramAddict.plugins.like_from_urls' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97D08FA0> +2024-11-30 16:53:25,915 - api.main - INFO - STDERR: [11/30 16:53:25] INFO | - LikeFromURLs: Likes a post from url. The urls are read from a plaintext file +2024-11-30 16:53:25,917 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\nocodb_record_creation_test.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\nocodb_record_creation_test.py +2024-11-30 16:53:25,917 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\nocodb_record_creation_test.cpython-39.pyc' +2024-11-30 16:53:25,917 - api.main - INFO - STDERR: import 'GramAddict.plugins.nocodb_record_creation_test' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97D2B430> +2024-11-30 16:53:25,917 - api.main - INFO - STDERR: [11/30 16:53:25] INFO | - NocoDBRecordCreationTest: Test plugin specifically for verifying NocoDB record creation functionality +2024-11-30 16:53:25,918 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\nocodb_storage.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\nocodb_storage.py +2024-11-30 16:53:25,918 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\nocodb_storage.cpython-39.pyc' +2024-11-30 16:53:25,919 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__init__.py +2024-11-30 16:53:25,919 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 16:53:25,920 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jwk.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jwk.py +2024-11-30 16:53:25,920 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jwk.cpython-39.pyc' +2024-11-30 16:53:25,920 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\algorithms.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\algorithms.py +2024-11-30 16:53:25,921 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\algorithms.cpython-39.pyc' +2024-11-30 16:53:25,921 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\exceptions.py +2024-11-30 16:53:25,921 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 16:53:25,921 - api.main - INFO - STDERR: import 'jwt.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97D45760> +2024-11-30 16:53:25,922 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\types.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\types.py +2024-11-30 16:53:25,922 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\types.cpython-39.pyc' +2024-11-30 16:53:25,922 - api.main - INFO - STDERR: import 'jwt.types' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97D457F0> +2024-11-30 16:53:25,922 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\utils.py +2024-11-30 16:53:25,922 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 16:53:25,924 - api.main - INFO - STDERR: import 'jwt.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97D458E0> +2024-11-30 16:53:25,925 - api.main - INFO - STDERR: import 'jwt.algorithms' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97D3D580> +2024-11-30 16:53:25,926 - api.main - INFO - STDERR: import 'jwt.api_jwk' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97D2BDF0> +2024-11-30 16:53:25,926 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jws.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jws.py +2024-11-30 16:53:25,926 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jws.cpython-39.pyc' +2024-11-30 16:53:25,927 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\warnings.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\warnings.py +2024-11-30 16:53:25,927 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\warnings.cpython-39.pyc' +2024-11-30 16:53:25,927 - api.main - INFO - STDERR: import 'jwt.warnings' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97D45130> +2024-11-30 16:53:25,927 - api.main - INFO - STDERR: import 'jwt.api_jws' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97D3DC40> +2024-11-30 16:53:25,927 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jwt.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jwt.py +2024-11-30 16:53:25,928 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jwt.cpython-39.pyc' +2024-11-30 16:53:25,928 - api.main - INFO - STDERR: import 'jwt.api_jwt' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97D45370> +2024-11-30 16:53:25,928 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\jwks_client.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\jwks_client.py +2024-11-30 16:53:25,928 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\jwks_client.cpython-39.pyc' +2024-11-30 16:53:25,929 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\jwk_set_cache.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\jwk_set_cache.py +2024-11-30 16:53:25,929 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\jwk_set_cache.cpython-39.pyc' +2024-11-30 16:53:25,929 - api.main - INFO - STDERR: import 'jwt.jwk_set_cache' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97D51B20> +2024-11-30 16:53:25,929 - api.main - INFO - STDERR: import 'jwt.jwks_client' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97D51550> +2024-11-30 16:53:25,929 - api.main - INFO - STDERR: import 'jwt' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97D2BB80> +2024-11-30 16:53:25,930 - api.main - INFO - STDERR: import 'GramAddict.plugins.nocodb_storage' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97D2B5B0> +2024-11-30 16:53:25,930 - api.main - INFO - STDERR: [11/30 16:53:25] INFO | - NocoDBStorage: Store interaction data in NocoDB +2024-11-30 16:53:25,932 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\remove_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\remove_followers.py +2024-11-30 16:53:25,932 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\remove_followers.cpython-39.pyc' +2024-11-30 16:53:25,932 - api.main - INFO - STDERR: import 'GramAddict.plugins.remove_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97D51FD0> +2024-11-30 16:53:25,932 - api.main - INFO - STDERR: [11/30 16:53:25] INFO | - RemoveFollowersFromList: Remove account followers from a list of usernames +2024-11-30 16:53:25,933 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\telegram.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\telegram.py +2024-11-30 16:53:25,933 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\telegram.cpython-39.pyc' +2024-11-30 16:53:25,933 - api.main - INFO - STDERR: import 'GramAddict.plugins.telegram' # <_frozen_importlib_external.SourceFileLoader object at 0x000001FE97D6F1F0> +2024-11-30 16:53:25,933 - api.main - INFO - STDERR: [11/30 16:53:25] INFO | - TelegramReports: Generate reports at the end of the session and send them using telegram +2024-11-30 16:53:25,937 - api.main - INFO - STDERR: [11/30 16:53:25] DEBUG | Arguments used: --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 16:53:25,937 - api.main - INFO - STDERR: [11/30 16:53:25] DEBUG | Config used: {'username': 'quecreate', 'app-id': 'com.instagram.android', 'use-cloned-app': False, 'allow-untested-ig-version': False, 'screen-sleep': True, 'screen-record': False, 'speed-multiplier': 1.0, 'debug': True, 'close-apps': False, 'kill-atx-agent': False, 'restart-atx-agent': False, 'disable-block-detection': False, 'disable-filters': False, 'dont-type': False, 'use-nocodb': True, 'init-db': True, 'total-crashes-limit': 5, 'count-app-crashes': False, 'shuffle-jobs': True, 'truncate-sources': '2-5', 'blogger-followers': ['marioecg'], 'watch-video-time': '15-35', 'watch-photo-time': '3-4', 'delete-interacted-users': True} +2024-11-30 16:53:25,940 - api.main - INFO - STDERR: usage: run.py [-h] [--config CONFIG] [--unfollow 10-20] +2024-11-30 16:53:25,940 - api.main - INFO - STDERR: [--unfollow-non-followers 10-20] +2024-11-30 16:53:25,940 - api.main - INFO - STDERR: [--unfollow-any-non-followers 10-20] +2024-11-30 16:53:25,940 - api.main - INFO - STDERR: [--unfollow-any-followers 10-20] [--unfollow-any 10-20] +2024-11-30 16:53:25,940 - api.main - INFO - STDERR: [--min-following 100] [--sort-followers-newest-to-oldest] +2024-11-30 16:53:25,941 - api.main - INFO - STDERR: [--unfollow-delay 3] [--app-id com.instagram.android] +2024-11-30 16:53:25,941 - api.main - INFO - STDERR: [--use-cloned-app] [--device 2443de990e017ece] +2024-11-30 16:53:25,941 - api.main - INFO - STDERR: [--username justinbieber] [--likes-count 2-4] +2024-11-30 16:53:25,941 - api.main - INFO - STDERR: [--likes-percentage 50-70] [--total-likes-limit 300] +2024-11-30 16:53:25,941 - api.main - INFO - STDERR: [--total-follows-limit 50] [--total-unfollows-limit 50] +2024-11-30 16:53:25,941 - api.main - INFO - STDERR: [--total-watches-limit 50] +2024-11-30 16:53:25,941 - api.main - INFO - STDERR: [--total-successful-interactions-limit 100] +2024-11-30 16:53:25,941 - api.main - INFO - STDERR: [--total-interactions-limit 1000] [--stories-count 2-4] +2024-11-30 16:53:25,941 - api.main - INFO - STDERR: [--stories-percentage 50-70] [--carousel-count 2-4] +2024-11-30 16:53:25,941 - api.main - INFO - STDERR: [--carousel-percentage 10-90] [--watch-video-time 15-30] +2024-11-30 16:53:25,941 - api.main - INFO - STDERR: [--watch-photo-time 3-4] [--interactions-count 60-80] +2024-11-30 16:53:25,941 - api.main - INFO - STDERR: [--interact-percentage 50] [--can-reinteract-after 50] +2024-11-30 16:53:25,941 - api.main - INFO - STDERR: [--repeat 220-300] [--follow-percentage 50] [--follow-limit 0] +2024-11-30 16:53:25,941 - api.main - INFO - STDERR: [--skipped-list-limit 10-15] [--fling-when-skipped 10-12] +2024-11-30 16:53:25,941 - api.main - INFO - STDERR: [--speed-multiplier 1] [--screen-sleep] [--debug] +2024-11-30 16:53:25,941 - api.main - INFO - STDERR: [--screen-record] [--close-apps] [--kill-atx-agent] +2024-11-30 16:53:25,941 - api.main - INFO - STDERR: [--restart-atx-agent] [--interact @username1 [@username2 ...]] +2024-11-30 16:53:25,941 - api.main - INFO - STDERR: [--hashtag-likers hashtag1 [hashtag2 ...]] +2024-11-30 16:53:25,941 - api.main - INFO - STDERR: [--delete-interacted-users] [--scrape-to-file filename] +2024-11-30 16:53:25,941 - api.main - INFO - STDERR: [--total-scraped-limit 5-10] [--comment-percentage 40-60] +2024-11-30 16:53:25,941 - api.main - INFO - STDERR: [--total-comments-limit 5-10] [--pm-percentage 40-60] +2024-11-30 16:53:25,941 - api.main - INFO - STDERR: [--total-pm-limit 5-10] [--max-comments-pro-user 1-2] +2024-11-30 16:53:25,941 - api.main - INFO - STDERR: [--end-if-likes-limit-reached] [--end-if-follows-limit-reached] +2024-11-30 16:53:25,941 - api.main - INFO - STDERR: [--end-if-watches-limit-reached] +2024-11-30 16:53:25,941 - api.main - INFO - STDERR: [--end-if-comments-limit-reached] [--end-if-pm-limit-reached] +2024-11-30 16:53:25,941 - api.main - INFO - STDERR: [--truncate-sources 2-4] [--shuffle-jobs] +2024-11-30 16:53:25,943 - api.main - INFO - STDERR: [--working-hours 10-22 [10-22 ...]] [--time-delta 10-15] +2024-11-30 16:53:25,943 - api.main - INFO - STDERR: [--disable-filters] [--total-crashes-limit 5-10] +2024-11-30 16:53:25,943 - api.main - INFO - STDERR: [--count-app-crashes] [--skipped-posts-limit 5-10] +2024-11-30 16:53:25,943 - api.main - INFO - STDERR: [--uia-version 2] [--total-sessions 1] +2024-11-30 16:53:25,943 - api.main - INFO - STDERR: [--disable-block-detection] [--pre-script ] [--post-script ] +2024-11-30 16:53:25,943 - api.main - INFO - STDERR: [--move-folders-in-accounts] [--dont-type] +2024-11-30 16:53:25,943 - api.main - INFO - STDERR: [--allow-untested-ig-version] [--analytics] [--init-db] +2024-11-30 16:53:25,943 - api.main - INFO - STDERR: [--blogger blogger1 [blogger2 ...]] +2024-11-30 16:53:25,943 - api.main - INFO - STDERR: [--interact-from-file filename1.txt [filename2.txt ...]] +2024-11-30 16:53:25,944 - api.main - INFO - STDERR: [--unfollow-from-file filename1.txt [filename2.txt ...]] +2024-11-30 16:53:25,944 - api.main - INFO - STDERR: [--blogger-followers username1 [username2 ...]] +2024-11-30 16:53:25,944 - api.main - INFO - STDERR: [--blogger-following username1 [username2 ...]] +2024-11-30 16:53:25,944 - api.main - INFO - STDERR: [--blogger-post-likers blogger1 [blogger2 ...]] +2024-11-30 16:53:25,944 - api.main - INFO - STDERR: [--blogger-post-limits 2] [--feed 5-10] +2024-11-30 16:53:25,944 - api.main - INFO - STDERR: [--hashtag-likers-top hashtag1 [hashtag2 ...]] +2024-11-30 16:53:25,944 - api.main - INFO - STDERR: [--hashtag-likers-recent hashtag1 [hashtag2 ...]] +2024-11-30 16:53:25,944 - api.main - INFO - STDERR: [--hashtag-posts-recent hashtag1 [hashtag2 ...]] +2024-11-30 16:53:25,944 - api.main - INFO - STDERR: [--hashtag-posts-top hashtag1 [hashtag2 ...]] +2024-11-30 16:53:25,944 - api.main - INFO - STDERR: [--place-likers-top place1 [place2 ...]] +2024-11-30 16:53:25,944 - api.main - INFO - STDERR: [--place-likers-recent place1 [place2 ...]] +2024-11-30 16:53:25,944 - api.main - INFO - STDERR: [--place-posts-recent place1 [place2 ...]] +2024-11-30 16:53:25,944 - api.main - INFO - STDERR: [--place-posts-top place1 [place2 ...]] +2024-11-30 16:53:25,944 - api.main - INFO - STDERR: [--posts-from-file postlist1.txt [postlist2.txt ...]] +2024-11-30 16:53:25,944 - api.main - INFO - STDERR: [--test-nocodb-records] [--use-nocodb] +2024-11-30 16:53:25,944 - api.main - INFO - STDERR: [--remove-followers-from-file remove1.txt [remove2.txt ...]] +2024-11-30 16:53:25,944 - api.main - INFO - STDERR: [--delete-removed-followers] [--telegram-reports] +2024-11-30 16:53:25,944 - api.main - INFO - STDERR: run.py: error: ambiguous option: --=marioecg could match --help, --config, --unfollow, --unfollow-non-followers, --unfollow-any-non-followers, --unfollow-any-followers, --unfollow-any, --min-following, --sort-followers-newest-to-oldest, --unfollow-delay, --app-id, --use-cloned-app, --device, --username, --likes-count, --likes-percentage, --total-likes-limit, --total-follows-limit, --total-unfollows-limit, --total-watches-limit, --total-successful-interactions-limit, --total-interactions-limit, --stories-count, --stories-percentage, --carousel-count, --carousel-percentage, --watch-video-time, --watch-photo-time, --interactions-count, --interact-percentage, --can-reinteract-after, --repeat, --follow-percentage, --follow-limit, --skipped-list-limit, --fling-when-skipped, --speed-multiplier, --screen-sleep, --debug, --screen-record, --close-apps, --kill-atx-agent, --restart-atx-agent, --interact, --hashtag-likers, --delete-interacted-users, --scrape-to-file, --total-scraped-limit, --comment-percentage, --total-comments-limit, --pm-percentage, --total-pm-limit, --max-comments-pro-user, --end-if-likes-limit-reached, --end-if-follows-limit-reached, --end-if-watches-limit-reached, --end-if-comments-limit-reached, --end-if-pm-limit-reached, --truncate-sources, --shuffle-jobs, --working-hours, --time-delta, --disable-filters, --total-crashes-limit, --count-app-crashes, --skipped-posts-limit, --uia-version, --total-sessions, --disable-block-detection, --pre-script, --post-script, --move-folders-in-accounts, --dont-type, --allow-untested-ig-version, --analytics, --init-db, --blogger, --interact-from-file, --unfollow-from-file, --blogger-followers, --blogger-following, --blogger-post-likers, --blogger-post-limits, --feed, --hashtag-likers-top, --hashtag-likers-recent, --hashtag-posts-recent, --hashtag-posts-top, --place-likers-top, --place-likers-recent, --place-posts-recent, --place-posts-top, --posts-from-file, --test-nocodb-records, --use-nocodb, --remove-followers-from-file, --delete-removed-followers, --telegram-reports +2024-11-30 16:53:25,957 - api.main - INFO - STDERR: # clear builtins._ +2024-11-30 16:53:25,957 - api.main - INFO - STDERR: # clear sys.path +2024-11-30 16:53:25,957 - api.main - INFO - STDERR: # clear sys.argv +2024-11-30 16:53:25,957 - api.main - INFO - STDERR: # clear sys.ps1 +2024-11-30 16:53:25,963 - api.main - INFO - STDERR: # clear sys.ps2 +2024-11-30 16:53:25,963 - api.main - INFO - STDERR: # clear sys.last_type +2024-11-30 16:53:25,963 - api.main - INFO - STDERR: # clear sys.last_value +2024-11-30 16:53:25,963 - api.main - INFO - STDERR: # clear sys.last_traceback +2024-11-30 16:53:25,963 - api.main - INFO - STDERR: # clear sys.path_hooks +2024-11-30 16:53:25,963 - api.main - INFO - STDERR: # clear sys.path_importer_cache +2024-11-30 16:53:25,963 - api.main - INFO - STDERR: # clear sys.meta_path +2024-11-30 16:53:25,963 - api.main - INFO - STDERR: # clear sys.__interactivehook__ +2024-11-30 16:53:25,963 - api.main - INFO - STDERR: # restore sys.stdin +2024-11-30 16:53:25,963 - api.main - INFO - STDERR: # restore sys.stdout +2024-11-30 16:53:25,963 - api.main - INFO - STDERR: # restore sys.stderr +2024-11-30 16:53:25,963 - api.main - INFO - STDERR: # cleanup[2] removing sys +2024-11-30 16:53:25,963 - api.main - INFO - STDERR: # cleanup[2] removing builtins +2024-11-30 16:53:25,963 - api.main - INFO - STDERR: # cleanup[2] removing _frozen_importlib +2024-11-30 16:53:25,964 - api.main - INFO - STDERR: # cleanup[2] removing _imp +2024-11-30 16:53:25,964 - api.main - INFO - STDERR: # cleanup[2] removing _thread +2024-11-30 16:53:25,964 - api.main - INFO - STDERR: # cleanup[2] removing _warnings +2024-11-30 16:53:25,964 - api.main - INFO - STDERR: # cleanup[2] removing _weakref +2024-11-30 16:53:25,964 - api.main - INFO - STDERR: # cleanup[2] removing _io +2024-11-30 16:53:25,964 - api.main - INFO - STDERR: # cleanup[2] removing marshal +2024-11-30 16:53:25,964 - api.main - INFO - STDERR: # cleanup[2] removing nt +2024-11-30 16:53:25,964 - api.main - INFO - STDERR: # cleanup[2] removing winreg +2024-11-30 16:53:25,964 - api.main - INFO - STDERR: # cleanup[2] removing _frozen_importlib_external +2024-11-30 16:53:25,964 - api.main - INFO - STDERR: # cleanup[2] removing time +2024-11-30 16:53:25,964 - api.main - INFO - STDERR: # cleanup[2] removing zipimport +2024-11-30 16:53:25,964 - api.main - INFO - STDERR: # cleanup[2] removing _codecs +2024-11-30 16:53:25,964 - api.main - INFO - STDERR: # cleanup[2] removing codecs +2024-11-30 16:53:25,964 - api.main - INFO - STDERR: # cleanup[2] removing encodings.aliases +2024-11-30 16:53:25,964 - api.main - INFO - STDERR: # cleanup[2] removing encodings +2024-11-30 16:53:25,964 - api.main - INFO - STDERR: # cleanup[2] removing encodings.utf_8 +2024-11-30 16:53:25,964 - api.main - INFO - STDERR: # cleanup[2] removing encodings.cp1252 +2024-11-30 16:53:25,965 - api.main - INFO - STDERR: # cleanup[2] removing _signal +2024-11-30 16:53:25,965 - api.main - INFO - STDERR: # cleanup[2] removing encodings.latin_1 +2024-11-30 16:53:25,965 - api.main - INFO - STDERR: # cleanup[2] removing _abc +2024-11-30 16:53:25,965 - api.main - INFO - STDERR: # cleanup[2] removing abc +2024-11-30 16:53:25,965 - api.main - INFO - STDERR: # cleanup[2] removing io +2024-11-30 16:53:25,965 - api.main - INFO - STDERR: # cleanup[2] removing __main__ +2024-11-30 16:53:25,965 - api.main - INFO - STDERR: # destroy __main__ +2024-11-30 16:53:25,965 - api.main - INFO - STDERR: # cleanup[2] removing _stat +2024-11-30 16:53:25,966 - api.main - INFO - STDERR: # cleanup[2] removing stat +2024-11-30 16:53:25,966 - api.main - INFO - STDERR: # cleanup[2] removing _collections_abc +2024-11-30 16:53:25,966 - api.main - INFO - STDERR: # cleanup[2] removing genericpath +2024-11-30 16:53:25,966 - api.main - INFO - STDERR: # cleanup[2] removing ntpath +2024-11-30 16:53:25,966 - api.main - INFO - STDERR: # cleanup[2] removing os.path +2024-11-30 16:53:25,966 - api.main - INFO - STDERR: # cleanup[2] removing os +2024-11-30 16:53:25,966 - api.main - INFO - STDERR: # cleanup[2] removing _sitebuiltins +2024-11-30 16:53:25,966 - api.main - INFO - STDERR: # cleanup[2] removing _locale +2024-11-30 16:53:25,966 - api.main - INFO - STDERR: # cleanup[2] removing _bootlocale +2024-11-30 16:53:25,966 - api.main - INFO - STDERR: # destroy _bootlocale +2024-11-30 16:53:25,974 - api.main - INFO - STDERR: # cleanup[2] removing _distutils_hack +2024-11-30 16:53:25,974 - api.main - INFO - STDERR: # destroy _distutils_hack +2024-11-30 16:53:25,974 - api.main - INFO - STDERR: # cleanup[2] removing site +2024-11-30 16:53:25,974 - api.main - INFO - STDERR: # destroy site +2024-11-30 16:53:25,974 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core +2024-11-30 16:53:25,974 - api.main - INFO - STDERR: # cleanup[2] removing types +2024-11-30 16:53:25,974 - api.main - INFO - STDERR: # cleanup[2] removing enum +2024-11-30 16:53:25,974 - api.main - INFO - STDERR: # cleanup[2] removing _sre +2024-11-30 16:53:25,974 - api.main - INFO - STDERR: # cleanup[2] removing sre_constants +2024-11-30 16:53:25,974 - api.main - INFO - STDERR: # destroy sre_constants +2024-11-30 16:53:25,974 - api.main - INFO - STDERR: # cleanup[2] removing sre_parse +2024-11-30 16:53:25,974 - api.main - INFO - STDERR: # cleanup[2] removing sre_compile +2024-11-30 16:53:25,974 - api.main - INFO - STDERR: # cleanup[2] removing _heapq +2024-11-30 16:53:25,974 - api.main - INFO - STDERR: # cleanup[2] removing heapq +2024-11-30 16:53:25,974 - api.main - INFO - STDERR: # cleanup[2] removing itertools +2024-11-30 16:53:25,974 - api.main - INFO - STDERR: # cleanup[2] removing keyword +2024-11-30 16:53:25,974 - api.main - INFO - STDERR: # cleanup[2] removing _operator +2024-11-30 16:53:25,974 - api.main - INFO - STDERR: # cleanup[2] removing operator +2024-11-30 16:53:25,974 - api.main - INFO - STDERR: # cleanup[2] removing reprlib +2024-11-30 16:53:25,974 - api.main - INFO - STDERR: # cleanup[2] removing _collections +2024-11-30 16:53:25,974 - api.main - INFO - STDERR: # cleanup[2] removing collections +2024-11-30 16:53:25,974 - api.main - INFO - STDERR: # cleanup[2] removing _functools +2024-11-30 16:53:25,974 - api.main - INFO - STDERR: # cleanup[2] removing functools +2024-11-30 16:53:25,974 - api.main - INFO - STDERR: # cleanup[2] removing copyreg +2024-11-30 16:53:25,974 - api.main - INFO - STDERR: # cleanup[2] removing re +2024-11-30 16:53:25,975 - api.main - INFO - STDERR: # cleanup[2] removing token +2024-11-30 16:53:25,975 - api.main - INFO - STDERR: # cleanup[2] removing tokenize +2024-11-30 16:53:25,975 - api.main - INFO - STDERR: # cleanup[2] removing linecache +2024-11-30 16:53:25,975 - api.main - INFO - STDERR: # cleanup[2] removing traceback +2024-11-30 16:53:25,975 - api.main - INFO - STDERR: # cleanup[2] removing warnings +2024-11-30 16:53:25,975 - api.main - INFO - STDERR: # cleanup[2] removing _weakrefset +2024-11-30 16:53:25,975 - api.main - INFO - STDERR: # destroy _weakrefset +2024-11-30 16:53:25,975 - api.main - INFO - STDERR: # cleanup[2] removing weakref +2024-11-30 16:53:25,975 - api.main - INFO - STDERR: # cleanup[2] removing collections.abc +2024-11-30 16:53:25,975 - api.main - INFO - STDERR: # cleanup[2] removing _string +2024-11-30 16:53:25,975 - api.main - INFO - STDERR: # cleanup[2] removing string +2024-11-30 16:53:25,975 - api.main - INFO - STDERR: # cleanup[2] removing threading +2024-11-30 16:53:25,975 - api.main - INFO - STDERR: # cleanup[2] removing atexit +2024-11-30 16:53:25,975 - api.main - INFO - STDERR: # cleanup[2] removing logging +2024-11-30 16:53:25,975 - api.main - INFO - STDERR: # cleanup[2] removing math +2024-11-30 16:53:25,975 - api.main - INFO - STDERR: # cleanup[2] removing _bisect +2024-11-30 16:53:25,975 - api.main - INFO - STDERR: # cleanup[2] removing bisect +2024-11-30 16:53:25,975 - api.main - INFO - STDERR: # cleanup[2] removing _random +2024-11-30 16:53:25,976 - api.main - INFO - STDERR: # cleanup[2] removing _sha512 +2024-11-30 16:53:25,976 - api.main - INFO - STDERR: # cleanup[2] removing random +2024-11-30 16:53:25,976 - api.main - INFO - STDERR: # cleanup[2] removing _datetime +2024-11-30 16:53:25,976 - api.main - INFO - STDERR: # cleanup[2] removing datetime +2024-11-30 16:53:25,976 - api.main - INFO - STDERR: # cleanup[2] removing contextlib +2024-11-30 16:53:25,976 - api.main - INFO - STDERR: # cleanup[2] removing colorama.ansi +2024-11-30 16:53:25,998 - api.main - INFO - STDERR: # cleanup[2] removing _ctypes +2024-11-30 16:53:25,999 - api.main - INFO - STDERR: # cleanup[2] removing _struct +2024-11-30 16:53:25,999 - api.main - INFO - STDERR: # cleanup[2] removing struct +2024-11-30 16:53:25,999 - api.main - INFO - STDERR: # cleanup[2] removing ctypes._endian +2024-11-30 16:53:25,999 - api.main - INFO - STDERR: # cleanup[2] removing ctypes +2024-11-30 16:53:25,999 - api.main - INFO - STDERR: # cleanup[2] removing ctypes.wintypes +2024-11-30 16:53:25,999 - api.main - INFO - STDERR: # cleanup[2] removing colorama.win32 +2024-11-30 16:53:25,999 - api.main - INFO - STDERR: # cleanup[2] removing colorama.winterm +2024-11-30 16:53:25,999 - api.main - INFO - STDERR: # cleanup[2] removing colorama.ansitowin32 +2024-11-30 16:53:25,999 - api.main - INFO - STDERR: # cleanup[2] removing colorama.initialise +2024-11-30 16:53:25,999 - api.main - INFO - STDERR: # cleanup[2] removing colorama +2024-11-30 16:53:25,999 - api.main - INFO - STDERR: # destroy colorama +2024-11-30 16:53:25,999 - api.main - INFO - STDERR: # destroy colorama.ansi +2024-11-30 16:53:25,999 - api.main - INFO - STDERR: # destroy colorama.winterm +2024-11-30 16:53:25,999 - api.main - INFO - STDERR: # destroy colorama.ansitowin32 +2024-11-30 16:53:25,999 - api.main - INFO - STDERR: # destroy colorama.initialise +2024-11-30 16:53:25,999 - api.main - INFO - STDERR: # cleanup[2] removing typing +2024-11-30 16:53:26,000 - api.main - INFO - STDERR: # cleanup[2] removing gettext +2024-11-30 16:53:26,000 - api.main - INFO - STDERR: # destroy gettext +2024-11-30 16:53:26,000 - api.main - INFO - STDERR: # cleanup[2] removing argparse +2024-11-30 16:53:26,000 - api.main - INFO - STDERR: # cleanup[2] removing _json +2024-11-30 16:53:26,000 - api.main - INFO - STDERR: # cleanup[2] removing json.scanner +2024-11-30 16:53:26,000 - api.main - INFO - STDERR: # cleanup[2] removing json.decoder +2024-11-30 16:53:26,000 - api.main - INFO - STDERR: # cleanup[2] removing json.encoder +2024-11-30 16:53:26,000 - api.main - INFO - STDERR: # cleanup[2] removing json +2024-11-30 16:53:26,000 - api.main - INFO - STDERR: # cleanup[2] removing posixpath +2024-11-30 16:53:26,000 - api.main - INFO - STDERR: # cleanup[2] removing fnmatch +2024-11-30 16:53:26,000 - api.main - INFO - STDERR: # cleanup[2] removing glob +2024-11-30 16:53:26,000 - api.main - INFO - STDERR: # cleanup[2] removing textwrap +2024-11-30 16:53:26,000 - api.main - INFO - STDERR: # cleanup[2] removing configargparse +2024-11-30 16:53:26,000 - api.main - INFO - STDERR: # cleanup[2] removing yaml.error +2024-11-30 16:53:26,000 - api.main - INFO - STDERR: # cleanup[2] removing yaml.tokens +2024-11-30 16:53:26,000 - api.main - INFO - STDERR: # cleanup[2] removing yaml.events +2024-11-30 16:53:26,000 - api.main - INFO - STDERR: # cleanup[2] removing yaml.nodes +2024-11-30 16:53:26,001 - api.main - INFO - STDERR: # cleanup[2] removing yaml.reader +2024-11-30 16:53:26,001 - api.main - INFO - STDERR: # cleanup[2] removing yaml.scanner +2024-11-30 16:53:26,001 - api.main - INFO - STDERR: # cleanup[2] removing yaml.parser +2024-11-30 16:53:26,001 - api.main - INFO - STDERR: # cleanup[2] removing yaml.composer +2024-11-30 16:53:26,001 - api.main - INFO - STDERR: # cleanup[2] removing binascii +2024-11-30 16:53:26,001 - api.main - INFO - STDERR: # cleanup[2] removing base64 +2024-11-30 16:53:26,001 - api.main - INFO - STDERR: # cleanup[2] removing yaml.constructor +2024-11-30 16:53:26,001 - api.main - INFO - STDERR: # cleanup[2] removing yaml.resolver +2024-11-30 16:53:26,001 - api.main - INFO - STDERR: # cleanup[2] removing yaml.loader +2024-11-30 16:53:26,001 - api.main - INFO - STDERR: # cleanup[2] removing yaml.emitter +2024-11-30 16:53:26,001 - api.main - INFO - STDERR: # cleanup[2] removing yaml.serializer +2024-11-30 16:53:26,001 - api.main - INFO - STDERR: # cleanup[2] removing yaml.representer +2024-11-30 16:53:26,001 - api.main - INFO - STDERR: # cleanup[2] removing yaml.dumper +2024-11-30 16:53:26,001 - api.main - INFO - STDERR: # cleanup[2] removing cython_runtime +2024-11-30 16:53:26,024 - api.main - INFO - STDERR: # cleanup[2] removing yaml._yaml +2024-11-30 16:53:26,024 - api.main - INFO - STDERR: # cleanup[2] removing yaml.cyaml +2024-11-30 16:53:26,024 - api.main - INFO - STDERR: # cleanup[2] removing yaml +2024-11-30 16:53:26,024 - api.main - INFO - STDERR: # cleanup[2] removing _ast +2024-11-30 16:53:26,024 - api.main - INFO - STDERR: # destroy _ast +2024-11-30 16:53:26,024 - api.main - INFO - STDERR: # cleanup[2] removing ast +2024-11-30 16:53:26,024 - api.main - INFO - STDERR: # cleanup[2] removing _opcode +2024-11-30 16:53:26,024 - api.main - INFO - STDERR: # cleanup[2] removing opcode +2024-11-30 16:53:26,024 - api.main - INFO - STDERR: # destroy opcode +2024-11-30 16:53:26,024 - api.main - INFO - STDERR: # cleanup[2] removing dis +2024-11-30 16:53:26,024 - api.main - INFO - STDERR: # cleanup[2] removing importlib._bootstrap +2024-11-30 16:53:26,024 - api.main - INFO - STDERR: # cleanup[2] removing importlib._bootstrap_external +2024-11-30 16:53:26,024 - api.main - INFO - STDERR: # cleanup[2] removing importlib +2024-11-30 16:53:26,024 - api.main - INFO - STDERR: # cleanup[2] removing importlib.machinery +2024-11-30 16:53:26,024 - api.main - INFO - STDERR: # cleanup[2] removing inspect +2024-11-30 16:53:26,024 - api.main - INFO - STDERR: # cleanup[2] removing importlib.abc +2024-11-30 16:53:26,024 - api.main - INFO - STDERR: # cleanup[2] removing importlib.util +2024-11-30 16:53:26,025 - api.main - INFO - STDERR: # cleanup[2] removing pkgutil +2024-11-30 16:53:26,025 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.plugin_loader +2024-11-30 16:53:26,025 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.config +2024-11-30 16:53:26,025 - api.main - INFO - STDERR: # cleanup[2] removing errno +2024-11-30 16:53:26,025 - api.main - INFO - STDERR: # cleanup[2] removing signal +2024-11-30 16:53:26,025 - api.main - INFO - STDERR: # cleanup[2] removing msvcrt +2024-11-30 16:53:26,025 - api.main - INFO - STDERR: # cleanup[2] removing _winapi +2024-11-30 16:53:26,025 - api.main - INFO - STDERR: # cleanup[2] removing subprocess +2024-11-30 16:53:26,025 - api.main - INFO - STDERR: # cleanup[2] removing __future__ +2024-11-30 16:53:26,025 - api.main - INFO - STDERR: # destroy __future__ +2024-11-30 16:53:26,025 - api.main - INFO - STDERR: # cleanup[2] removing _hashlib +2024-11-30 16:53:26,025 - api.main - INFO - STDERR: # cleanup[2] removing _blake2 +2024-11-30 16:53:26,025 - api.main - INFO - STDERR: # cleanup[2] removing hashlib +2024-11-30 16:53:26,025 - api.main - INFO - STDERR: # cleanup[2] removing zlib +2024-11-30 16:53:26,025 - api.main - INFO - STDERR: # cleanup[2] removing _compression +2024-11-30 16:53:26,025 - api.main - INFO - STDERR: # cleanup[2] removing _bz2 +2024-11-30 16:53:26,025 - api.main - INFO - STDERR: # destroy _bz2 +2024-11-30 16:53:26,026 - api.main - INFO - STDERR: # cleanup[2] removing bz2 +2024-11-30 16:53:26,026 - api.main - INFO - STDERR: # cleanup[2] removing _lzma +2024-11-30 16:53:26,026 - api.main - INFO - STDERR: # cleanup[2] removing lzma +2024-11-30 16:53:26,026 - api.main - INFO - STDERR: # cleanup[2] removing shutil +2024-11-30 16:53:26,026 - api.main - INFO - STDERR: # cleanup[2] removing xml +2024-11-30 16:53:26,026 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.domreg +2024-11-30 16:53:26,026 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom +2024-11-30 16:53:26,026 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.minicompat +2024-11-30 16:53:26,026 - api.main - INFO - STDERR: # cleanup[2] removing copy +2024-11-30 16:53:26,026 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.NodeFilter +2024-11-30 16:53:26,026 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.xmlbuilder +2024-11-30 16:53:26,026 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.minidom +2024-11-30 16:53:26,026 - api.main - INFO - STDERR: # cleanup[2] removing urllib +2024-11-30 16:53:26,026 - api.main - INFO - STDERR: # cleanup[2] removing urllib.parse +2024-11-30 16:53:26,045 - api.main - INFO - STDERR: # cleanup[2] removing pathlib +2024-11-30 16:53:26,045 - api.main - INFO - STDERR: # cleanup[2] removing packaging.__about__ +2024-11-30 16:53:26,047 - api.main - INFO - STDERR: # cleanup[2] removing packaging +2024-11-30 16:53:26,047 - api.main - INFO - STDERR: # cleanup[2] removing packaging._structures +2024-11-30 16:53:26,047 - api.main - INFO - STDERR: # cleanup[2] removing packaging._typing +2024-11-30 16:53:26,047 - api.main - INFO - STDERR: # cleanup[2] removing packaging.version +2024-11-30 16:53:26,047 - api.main - INFO - STDERR: # cleanup[2] removing deprecation +2024-11-30 16:53:26,047 - api.main - INFO - STDERR: # destroy deprecation +2024-11-30 16:53:26,047 - api.main - INFO - STDERR: # cleanup[2] removing _socket +2024-11-30 16:53:26,047 - api.main - INFO - STDERR: # cleanup[2] removing select +2024-11-30 16:53:26,047 - api.main - INFO - STDERR: # cleanup[2] removing selectors +2024-11-30 16:53:26,047 - api.main - INFO - STDERR: # cleanup[2] removing socket +2024-11-30 16:53:26,047 - api.main - INFO - STDERR: # cleanup[2] removing shlex +2024-11-30 16:53:26,048 - api.main - INFO - STDERR: # cleanup[2] removing tempfile +2024-11-30 16:53:26,048 - api.main - INFO - STDERR: # cleanup[2] removing zipfile +2024-11-30 16:53:26,048 - api.main - INFO - STDERR: # cleanup[2] removing whichcraft +2024-11-30 16:53:26,048 - api.main - INFO - STDERR: # cleanup[2] removing xml.parsers +2024-11-30 16:53:26,048 - api.main - INFO - STDERR: # cleanup[2] removing pyexpat.errors +2024-11-30 16:53:26,048 - api.main - INFO - STDERR: # cleanup[2] removing pyexpat.model +2024-11-30 16:53:26,048 - api.main - INFO - STDERR: # cleanup[2] removing pyexpat +2024-11-30 16:53:26,048 - api.main - INFO - STDERR: # cleanup[2] removing xml.parsers.expat.model +2024-11-30 16:53:26,048 - api.main - INFO - STDERR: # cleanup[2] removing xml.parsers.expat.errors +2024-11-30 16:53:26,048 - api.main - INFO - STDERR: # cleanup[2] removing xml.parsers.expat +2024-11-30 16:53:26,048 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax.handler +2024-11-30 16:53:26,048 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax._exceptions +2024-11-30 16:53:26,048 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax.xmlreader +2024-11-30 16:53:26,048 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax +2024-11-30 16:53:26,048 - api.main - INFO - STDERR: # cleanup[2] removing email +2024-11-30 16:53:26,048 - api.main - INFO - STDERR: # cleanup[2] removing http +2024-11-30 16:53:26,048 - api.main - INFO - STDERR: # cleanup[2] removing email.errors +2024-11-30 16:53:26,049 - api.main - INFO - STDERR: # cleanup[2] removing email.quoprimime +2024-11-30 16:53:26,049 - api.main - INFO - STDERR: # cleanup[2] removing email.base64mime +2024-11-30 16:53:26,049 - api.main - INFO - STDERR: # cleanup[2] removing quopri +2024-11-30 16:53:26,049 - api.main - INFO - STDERR: # cleanup[2] removing email.encoders +2024-11-30 16:53:26,049 - api.main - INFO - STDERR: # cleanup[2] removing email.charset +2024-11-30 16:53:26,049 - api.main - INFO - STDERR: # cleanup[2] removing email.header +2024-11-30 16:53:26,049 - api.main - INFO - STDERR: # cleanup[2] removing locale +2024-11-30 16:53:26,049 - api.main - INFO - STDERR: # cleanup[2] removing calendar +2024-11-30 16:53:26,049 - api.main - INFO - STDERR: # cleanup[2] removing email._parseaddr +2024-11-30 16:53:26,049 - api.main - INFO - STDERR: # cleanup[2] removing email.utils +2024-11-30 16:53:26,049 - api.main - INFO - STDERR: # cleanup[2] removing email._policybase +2024-11-30 16:53:26,049 - api.main - INFO - STDERR: # cleanup[2] removing email.feedparser +2024-11-30 16:53:26,049 - api.main - INFO - STDERR: # cleanup[2] removing email.parser +2024-11-30 16:53:26,049 - api.main - INFO - STDERR: # cleanup[2] removing uu +2024-11-30 16:53:26,049 - api.main - INFO - STDERR: # cleanup[2] removing email._encoded_words +2024-11-30 16:53:26,049 - api.main - INFO - STDERR: # cleanup[2] removing email.iterators +2024-11-30 16:53:26,138 - api.main - INFO - STDERR: # cleanup[2] removing email.message +2024-11-30 16:53:26,138 - api.main - INFO - STDERR: # cleanup[2] removing _ssl +2024-11-30 16:53:26,138 - api.main - INFO - STDERR: # cleanup[2] removing ssl +2024-11-30 16:53:26,138 - api.main - INFO - STDERR: # cleanup[2] removing http.client +2024-11-30 16:53:26,138 - api.main - INFO - STDERR: # cleanup[2] removing urllib.response +2024-11-30 16:53:26,138 - api.main - INFO - STDERR: # cleanup[2] removing urllib.error +2024-11-30 16:53:26,139 - api.main - INFO - STDERR: # cleanup[2] removing nturl2path +2024-11-30 16:53:26,139 - api.main - INFO - STDERR: # destroy nturl2path +2024-11-30 16:53:26,139 - api.main - INFO - STDERR: # cleanup[2] removing urllib.request +2024-11-30 16:53:26,139 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax.saxutils +2024-11-30 16:53:26,139 - api.main - INFO - STDERR: # cleanup[2] removing platform +2024-11-30 16:53:26,139 - api.main - INFO - STDERR: # cleanup[2] removing xmltodict +2024-11-30 16:53:26,139 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.apkfile +2024-11-30 16:53:26,139 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml +2024-11-30 16:53:26,139 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml.chunk +2024-11-30 16:53:26,139 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml.arscparser +2024-11-30 16:53:26,139 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml.public +2024-11-30 16:53:26,139 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml.axmlparser +2024-11-30 16:53:26,139 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex +2024-11-30 16:53:26,139 - api.main - INFO - STDERR: # cleanup[2] removing array +2024-11-30 16:53:26,139 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.util +2024-11-30 16:53:26,139 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.byteio +2024-11-30 16:53:26,139 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.dalvikformats +2024-11-30 16:53:26,139 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.dalvik +2024-11-30 16:53:26,139 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.dexparser +2024-11-30 16:53:26,139 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.manifest +2024-11-30 16:53:26,139 - api.main - INFO - STDERR: # cleanup[2] removing cigam +2024-11-30 16:53:26,140 - api.main - INFO - STDERR: # destroy cigam +2024-11-30 16:53:26,140 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2 +2024-11-30 16:53:26,140 - api.main - INFO - STDERR: # cleanup[2] removing plistlib +2024-11-30 16:53:26,140 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.util +2024-11-30 16:53:26,140 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.unicode +2024-11-30 16:53:26,140 - api.main - INFO - STDERR: # destroy pyparsing.unicode +2024-11-30 16:53:26,140 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.exceptions +2024-11-30 16:53:26,140 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.actions +2024-11-30 16:53:26,140 - api.main - INFO - STDERR: # cleanup[2] removing pprint +2024-11-30 16:53:26,140 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.results +2024-11-30 16:53:26,140 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.core +2024-11-30 16:53:26,140 - api.main - INFO - STDERR: # cleanup[2] removing html.entities +2024-11-30 16:53:26,140 - api.main - INFO - STDERR: # cleanup[2] removing html +2024-11-30 16:53:26,140 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.helpers +2024-11-30 16:53:26,140 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.testing +2024-11-30 16:53:26,140 - api.main - INFO - STDERR: # destroy pyparsing.testing +2024-11-30 16:53:26,140 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.common +2024-11-30 16:53:26,141 - api.main - INFO - STDERR: # destroy pyparsing.common +2024-11-30 16:53:26,149 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing +2024-11-30 16:53:26,149 - api.main - INFO - STDERR: # destroy pyparsing +2024-11-30 16:53:26,149 - api.main - INFO - STDERR: # cleanup[2] removing packaging._compat +2024-11-30 16:53:26,149 - api.main - INFO - STDERR: # cleanup[2] removing setuptools._distutils +2024-11-30 16:53:26,149 - api.main - INFO - STDERR: # cleanup[2] removing jaraco +2024-11-30 16:53:26,149 - api.main - INFO - STDERR: # destroy jaraco +2024-11-30 16:53:26,149 - api.main - INFO - STDERR: # cleanup[2] removing _queue +2024-11-30 16:53:26,149 - api.main - INFO - STDERR: # cleanup[2] removing queue +2024-11-30 16:53:26,149 - api.main - INFO - STDERR: # cleanup[2] removing more_itertools.recipes +2024-11-30 16:53:26,149 - api.main - INFO - STDERR: # cleanup[2] removing more_itertools.more +2024-11-30 16:53:26,149 - api.main - INFO - STDERR: # cleanup[2] removing more_itertools +2024-11-30 16:53:26,150 - api.main - INFO - STDERR: # cleanup[2] removing jaraco.functools +2024-11-30 16:53:26,150 - api.main - INFO - STDERR: # destroy jaraco.functools +2024-11-30 16:53:26,150 - api.main - INFO - STDERR: # cleanup[2] removing distutils.compat.py38 +2024-11-30 16:53:26,150 - api.main - INFO - STDERR: # cleanup[2] removing distutils.compat +2024-11-30 16:53:26,150 - api.main - INFO - STDERR: # cleanup[2] removing distutils.compat.py39 +2024-11-30 16:53:26,150 - api.main - INFO - STDERR: # cleanup[2] removing distutils.errors +2024-11-30 16:53:26,150 - api.main - INFO - STDERR: # cleanup[2] removing distutils._modified +2024-11-30 16:53:26,150 - api.main - INFO - STDERR: # cleanup[2] removing distutils._log +2024-11-30 16:53:26,150 - api.main - INFO - STDERR: # cleanup[2] removing distutils.file_util +2024-11-30 16:53:26,150 - api.main - INFO - STDERR: # cleanup[2] removing distutils.dir_util +2024-11-30 16:53:26,150 - api.main - INFO - STDERR: # cleanup[2] removing distutils.debug +2024-11-30 16:53:26,150 - api.main - INFO - STDERR: # cleanup[2] removing distutils.spawn +2024-11-30 16:53:26,150 - api.main - INFO - STDERR: # cleanup[2] removing distutils.archive_util +2024-11-30 16:53:26,150 - api.main - INFO - STDERR: # cleanup[2] removing sysconfig +2024-11-30 16:53:26,150 - api.main - INFO - STDERR: # cleanup[2] removing distutils.util +2024-11-30 16:53:26,150 - api.main - INFO - STDERR: # cleanup[2] removing distutils.cmd +2024-11-30 16:53:26,151 - api.main - INFO - STDERR: # cleanup[2] removing distutils +2024-11-30 16:53:26,151 - api.main - INFO - STDERR: # cleanup[2] removing packaging.tags +2024-11-30 16:53:26,151 - api.main - INFO - STDERR: # cleanup[2] removing packaging.utils +2024-11-30 16:53:26,151 - api.main - INFO - STDERR: # cleanup[2] removing packaging.specifiers +2024-11-30 16:53:26,151 - api.main - INFO - STDERR: # cleanup[2] removing packaging.markers +2024-11-30 16:53:26,151 - api.main - INFO - STDERR: # cleanup[2] removing packaging.requirements +2024-11-30 16:53:26,151 - api.main - INFO - STDERR: # cleanup[2] removing importlib._common +2024-11-30 16:53:26,151 - api.main - INFO - STDERR: # cleanup[2] removing importlib.resources +2024-11-30 16:53:26,151 - api.main - INFO - STDERR: # cleanup[2] removing backports +2024-11-30 16:53:26,151 - api.main - INFO - STDERR: # destroy backports +2024-11-30 16:53:26,151 - api.main - INFO - STDERR: # cleanup[2] removing backports.tarfile.compat +2024-11-30 16:53:26,151 - api.main - INFO - STDERR: # cleanup[2] removing backports.tarfile.compat.py38 +2024-11-30 16:53:26,151 - api.main - INFO - STDERR: # cleanup[2] removing backports.tarfile +2024-11-30 16:53:26,151 - api.main - INFO - STDERR: # cleanup[2] removing jaraco.context +2024-11-30 16:53:26,151 - api.main - INFO - STDERR: # destroy jaraco.context +2024-11-30 16:53:26,151 - api.main - INFO - STDERR: # cleanup[2] removing jaraco.text +2024-11-30 16:53:26,151 - api.main - INFO - STDERR: # destroy jaraco.text +2024-11-30 16:53:26,152 - api.main - INFO - STDERR: # cleanup[2] removing platformdirs.api +2024-11-30 16:53:26,159 - api.main - INFO - STDERR: # cleanup[2] removing platformdirs.version +2024-11-30 16:53:26,160 - api.main - INFO - STDERR: # cleanup[2] removing platformdirs.windows +2024-11-30 16:53:26,160 - api.main - INFO - STDERR: # cleanup[2] removing platformdirs +2024-11-30 16:53:26,160 - api.main - INFO - STDERR: # destroy platformdirs +2024-11-30 16:53:26,160 - api.main - INFO - STDERR: # cleanup[2] removing pkg_resources +2024-11-30 16:53:26,160 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._utils +2024-11-30 16:53:26,160 - api.main - INFO - STDERR: # cleanup[2] removing adbutils.errors +2024-11-30 16:53:26,160 - api.main - INFO - STDERR: # cleanup[2] removing dataclasses +2024-11-30 16:53:26,160 - api.main - INFO - STDERR: # destroy dataclasses +2024-11-30 16:53:26,160 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._proto +2024-11-30 16:53:26,160 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._version +2024-11-30 16:53:26,160 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._adb +2024-11-30 16:53:26,160 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages +2024-11-30 16:53:26,160 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six +2024-11-30 16:53:26,160 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six.moves +2024-11-30 16:53:26,160 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six.moves.http_client +2024-11-30 16:53:26,161 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.exceptions +2024-11-30 16:53:26,161 - api.main - INFO - STDERR: # cleanup[2] removing urllib3._version +2024-11-30 16:53:26,161 - api.main - INFO - STDERR: # cleanup[2] removing urllib3._collections +2024-11-30 16:53:26,161 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.contrib +2024-11-30 16:53:26,161 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.contrib._appengine_environ +2024-11-30 16:53:26,161 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.wait +2024-11-30 16:53:26,161 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.connection +2024-11-30 16:53:26,161 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.request +2024-11-30 16:53:26,161 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.response +2024-11-30 16:53:26,161 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.retry +2024-11-30 16:53:26,161 - api.main - INFO - STDERR: # cleanup[2] removing hmac +2024-11-30 16:53:26,161 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.url +2024-11-30 16:53:26,161 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.ssltransport +2024-11-30 16:53:26,161 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.ssl_ +2024-11-30 16:53:26,161 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.timeout +2024-11-30 16:53:26,162 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util +2024-11-30 16:53:26,162 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.proxy +2024-11-30 16:53:26,162 - api.main - INFO - STDERR: # cleanup[2] removing ipaddress +2024-11-30 16:53:26,162 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.ssl_match_hostname +2024-11-30 16:53:26,162 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.connection +2024-11-30 16:53:26,162 - api.main - INFO - STDERR: # cleanup[2] removing mimetypes +2024-11-30 16:53:26,162 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.fields +2024-11-30 16:53:26,162 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.filepost +2024-11-30 16:53:26,162 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six.moves.urllib +2024-11-30 16:53:26,162 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six.moves.urllib.parse +2024-11-30 16:53:26,162 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.request +2024-11-30 16:53:26,162 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.response +2024-11-30 16:53:26,169 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.queue +2024-11-30 16:53:26,169 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.connectionpool +2024-11-30 16:53:26,169 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.poolmanager +2024-11-30 16:53:26,169 - api.main - INFO - STDERR: # cleanup[2] removing urllib3 +2024-11-30 16:53:26,169 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.constant +2024-11-30 16:53:26,169 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.md__mypyc +2024-11-30 16:53:26,169 - api.main - INFO - STDERR: # cleanup[2] removing unicodedata +2024-11-30 16:53:26,170 - api.main - INFO - STDERR: # cleanup[2] removing _multibytecodec +2024-11-30 16:53:26,170 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.utils +2024-11-30 16:53:26,170 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.md +2024-11-30 16:53:26,170 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.models +2024-11-30 16:53:26,170 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.cd +2024-11-30 16:53:26,170 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.api +2024-11-30 16:53:26,170 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.legacy +2024-11-30 16:53:26,170 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.version +2024-11-30 16:53:26,170 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer +2024-11-30 16:53:26,170 - api.main - INFO - STDERR: # cleanup[2] removing http.cookiejar +2024-11-30 16:53:26,170 - api.main - INFO - STDERR: # cleanup[2] removing http.cookies +2024-11-30 16:53:26,170 - api.main - INFO - STDERR: # cleanup[2] removing requests.compat +2024-11-30 16:53:26,170 - api.main - INFO - STDERR: # cleanup[2] removing requests.exceptions +2024-11-30 16:53:26,170 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages +2024-11-30 16:53:26,170 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six +2024-11-30 16:53:26,171 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six.moves +2024-11-30 16:53:26,171 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six.moves.http_client +2024-11-30 16:53:26,171 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.exceptions +2024-11-30 16:53:26,171 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3._version +2024-11-30 16:53:26,171 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3._collections +2024-11-30 16:53:26,171 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.contrib +2024-11-30 16:53:26,171 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.contrib._appengine_environ +2024-11-30 16:53:26,171 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.wait +2024-11-30 16:53:26,171 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.connection +2024-11-30 16:53:26,171 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.request +2024-11-30 16:53:26,171 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.response +2024-11-30 16:53:26,171 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.retry +2024-11-30 16:53:26,171 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.url +2024-11-30 16:53:26,171 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.ssltransport +2024-11-30 16:53:26,171 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.ssl_ +2024-11-30 16:53:26,171 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.timeout +2024-11-30 16:53:26,171 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util +2024-11-30 16:53:26,179 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.proxy +2024-11-30 16:53:26,179 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.ssl_match_hostname +2024-11-30 16:53:26,179 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.connection +2024-11-30 16:53:26,179 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.fields +2024-11-30 16:53:26,179 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.filepost +2024-11-30 16:53:26,179 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six.moves.urllib +2024-11-30 16:53:26,180 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six.moves.urllib.parse +2024-11-30 16:53:26,180 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.request +2024-11-30 16:53:26,180 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.response +2024-11-30 16:53:26,180 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.queue +2024-11-30 16:53:26,180 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.connectionpool +2024-11-30 16:53:26,180 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.poolmanager +2024-11-30 16:53:26,180 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3 +2024-11-30 16:53:26,180 - api.main - INFO - STDERR: # cleanup[2] removing idna.idnadata +2024-11-30 16:53:26,180 - api.main - INFO - STDERR: # cleanup[2] removing idna.intranges +2024-11-30 16:53:26,180 - api.main - INFO - STDERR: # cleanup[2] removing idna.core +2024-11-30 16:53:26,180 - api.main - INFO - STDERR: # cleanup[2] removing idna.package_data +2024-11-30 16:53:26,180 - api.main - INFO - STDERR: # cleanup[2] removing idna +2024-11-30 16:53:26,180 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna.idnadata +2024-11-30 16:53:26,180 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna.intranges +2024-11-30 16:53:26,182 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna.core +2024-11-30 16:53:26,182 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna.package_data +2024-11-30 16:53:26,182 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna +2024-11-30 16:53:26,182 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.chardet +2024-11-30 16:53:26,182 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages +2024-11-30 16:53:26,182 - api.main - INFO - STDERR: # cleanup[2] removing certifi.core +2024-11-30 16:53:26,182 - api.main - INFO - STDERR: # cleanup[2] removing certifi +2024-11-30 16:53:26,182 - api.main - INFO - STDERR: # destroy certifi +2024-11-30 16:53:26,182 - api.main - INFO - STDERR: # destroy certifi.core +2024-11-30 16:53:26,182 - api.main - INFO - STDERR: # cleanup[2] removing requests.certs +2024-11-30 16:53:26,183 - api.main - INFO - STDERR: # cleanup[2] removing requests.__version__ +2024-11-30 16:53:26,183 - api.main - INFO - STDERR: # destroy requests.__version__ +2024-11-30 16:53:26,183 - api.main - INFO - STDERR: # cleanup[2] removing requests._internal_utils +2024-11-30 16:53:26,183 - api.main - INFO - STDERR: # cleanup[2] removing requests.cookies +2024-11-30 16:53:26,183 - api.main - INFO - STDERR: # cleanup[2] removing requests.structures +2024-11-30 16:53:26,183 - api.main - INFO - STDERR: # cleanup[2] removing requests.utils +2024-11-30 16:53:26,183 - api.main - INFO - STDERR: # cleanup[2] removing requests.auth +2024-11-30 16:53:26,183 - api.main - INFO - STDERR: # cleanup[2] removing stringprep +2024-11-30 16:53:26,183 - api.main - INFO - STDERR: # cleanup[2] removing encodings.idna +2024-11-30 16:53:26,184 - api.main - INFO - STDERR: # cleanup[2] removing requests.hooks +2024-11-30 16:53:26,184 - api.main - INFO - STDERR: # cleanup[2] removing requests.status_codes +2024-11-30 16:53:26,184 - api.main - INFO - STDERR: # cleanup[2] removing requests.models +2024-11-30 16:53:26,185 - api.main - INFO - STDERR: # cleanup[2] removing requests.adapters +2024-11-30 16:53:26,185 - api.main - INFO - STDERR: # cleanup[2] removing requests.sessions +2024-11-30 16:53:26,185 - api.main - INFO - STDERR: # cleanup[2] removing requests.api +2024-11-30 16:53:26,185 - api.main - INFO - STDERR: # cleanup[2] removing requests +2024-11-30 16:53:26,185 - api.main - INFO - STDERR: # cleanup[2] removing PIL._version +2024-11-30 16:53:26,185 - api.main - INFO - STDERR: # destroy PIL._version +2024-11-30 16:53:26,185 - api.main - INFO - STDERR: # cleanup[2] removing PIL +2024-11-30 16:53:26,185 - api.main - INFO - STDERR: # destroy PIL +2024-11-30 16:53:26,185 - api.main - INFO - STDERR: # cleanup[2] removing PIL.ExifTags +2024-11-30 16:53:26,185 - api.main - INFO - STDERR: # cleanup[2] removing PIL._deprecate +2024-11-30 16:53:26,185 - api.main - INFO - STDERR: # destroy PIL._deprecate +2024-11-30 16:53:26,185 - api.main - INFO - STDERR: # cleanup[2] removing PIL.ImageMode +2024-11-30 16:53:26,185 - api.main - INFO - STDERR: # cleanup[2] removing PIL.TiffTags +2024-11-30 16:53:26,185 - api.main - INFO - STDERR: # cleanup[2] removing PIL._binary +2024-11-30 16:53:26,185 - api.main - INFO - STDERR: # destroy PIL._binary +2024-11-30 16:53:26,186 - api.main - INFO - STDERR: # cleanup[2] removing typing_extensions +2024-11-30 16:53:26,186 - api.main - INFO - STDERR: # destroy typing_extensions +2024-11-30 16:53:26,186 - api.main - INFO - STDERR: # cleanup[2] removing PIL._typing +2024-11-30 16:53:26,186 - api.main - INFO - STDERR: # destroy PIL._typing +2024-11-30 16:53:26,186 - api.main - INFO - STDERR: # cleanup[2] removing PIL._util +2024-11-30 16:53:26,186 - api.main - INFO - STDERR: # destroy PIL._util +2024-11-30 16:53:26,186 - api.main - INFO - STDERR: # cleanup[2] removing PIL._imaging +2024-11-30 16:53:26,186 - api.main - INFO - STDERR: # cleanup[2] removing PIL.Image +2024-11-30 16:53:26,186 - api.main - INFO - STDERR: # cleanup[2] removing decorator +2024-11-30 16:53:26,186 - api.main - INFO - STDERR: # destroy decorator +2024-11-30 16:53:26,186 - api.main - INFO - STDERR: # cleanup[2] removing retry.compat +2024-11-30 16:53:26,186 - api.main - INFO - STDERR: # cleanup[2] removing retry.api +2024-11-30 16:53:26,186 - api.main - INFO - STDERR: # cleanup[2] removing retry +2024-11-30 16:53:26,186 - api.main - INFO - STDERR: # destroy retry +2024-11-30 16:53:26,186 - api.main - INFO - STDERR: # destroy retry.compat +2024-11-30 16:53:26,186 - api.main - INFO - STDERR: # destroy retry.api +2024-11-30 16:53:26,187 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._device +2024-11-30 16:53:26,187 - api.main - INFO - STDERR: # cleanup[2] removing adbutils +2024-11-30 16:53:26,187 - api.main - INFO - STDERR: # cleanup[2] removing filelock._error +2024-11-30 16:53:26,187 - api.main - INFO - STDERR: # cleanup[2] removing filelock._api +2024-11-30 16:53:26,187 - api.main - INFO - STDERR: # cleanup[2] removing filelock._util +2024-11-30 16:53:26,187 - api.main - INFO - STDERR: # cleanup[2] removing filelock._soft +2024-11-30 16:53:26,187 - api.main - INFO - STDERR: # cleanup[2] removing filelock._unix +2024-11-30 16:53:26,187 - api.main - INFO - STDERR: # cleanup[2] removing filelock._windows +2024-11-30 16:53:26,188 - api.main - INFO - STDERR: # cleanup[2] removing concurrent +2024-11-30 16:53:26,188 - api.main - INFO - STDERR: # cleanup[2] removing concurrent.futures._base +2024-11-30 16:53:26,188 - api.main - INFO - STDERR: # cleanup[2] removing concurrent.futures +2024-11-30 16:53:26,188 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.constants +2024-11-30 16:53:26,188 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.format_helpers +2024-11-30 16:53:26,188 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.base_futures +2024-11-30 16:53:26,190 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.log +2024-11-30 16:53:26,190 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.coroutines +2024-11-30 16:53:26,190 - api.main - INFO - STDERR: # cleanup[2] removing _contextvars +2024-11-30 16:53:26,190 - api.main - INFO - STDERR: # cleanup[2] removing contextvars +2024-11-30 16:53:26,190 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.exceptions +2024-11-30 16:53:26,190 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.base_tasks +2024-11-30 16:53:26,190 - api.main - INFO - STDERR: # cleanup[2] removing _asyncio +2024-11-30 16:53:26,190 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.events +2024-11-30 16:53:26,191 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.futures +2024-11-30 16:53:26,191 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.protocols +2024-11-30 16:53:26,191 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.transports +2024-11-30 16:53:26,191 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.sslproto +2024-11-30 16:53:26,191 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.locks +2024-11-30 16:53:26,191 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.tasks +2024-11-30 16:53:26,191 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.staggered +2024-11-30 16:53:26,191 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.trsock +2024-11-30 16:53:26,191 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.base_events +2024-11-30 16:53:26,191 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.runners +2024-11-30 16:53:26,192 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.queues +2024-11-30 16:53:26,192 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.streams +2024-11-30 16:53:26,192 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.subprocess +2024-11-30 16:53:26,192 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.threads +2024-11-30 16:53:26,192 - api.main - INFO - STDERR: # cleanup[2] removing _overlapped +2024-11-30 16:53:26,192 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.base_subprocess +2024-11-30 16:53:26,192 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.proactor_events +2024-11-30 16:53:26,192 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.selector_events +2024-11-30 16:53:26,192 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.windows_utils +2024-11-30 16:53:26,192 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.windows_events +2024-11-30 16:53:26,192 - api.main - INFO - STDERR: # cleanup[2] removing asyncio +2024-11-30 16:53:26,192 - api.main - INFO - STDERR: # cleanup[2] removing filelock.asyncio +2024-11-30 16:53:26,192 - api.main - INFO - STDERR: # cleanup[2] removing filelock.version +2024-11-30 16:53:26,192 - api.main - INFO - STDERR: # destroy filelock.version +2024-11-30 16:53:26,192 - api.main - INFO - STDERR: # cleanup[2] removing filelock +2024-11-30 16:53:26,192 - api.main - INFO - STDERR: # cleanup[2] removing logzero.colors +2024-11-30 16:53:26,192 - api.main - INFO - STDERR: # cleanup[2] removing logzero.jsonlogger +2024-11-30 16:53:26,193 - api.main - INFO - STDERR: # cleanup[2] removing _compat_pickle +2024-11-30 16:53:26,193 - api.main - INFO - STDERR: # cleanup[2] removing _pickle +2024-11-30 16:53:26,193 - api.main - INFO - STDERR: # cleanup[2] removing pickle +2024-11-30 16:53:26,193 - api.main - INFO - STDERR: # cleanup[2] removing logging.handlers +2024-11-30 16:53:26,193 - api.main - INFO - STDERR: # cleanup[2] removing logzero +2024-11-30 16:53:26,193 - api.main - INFO - STDERR: # cleanup[2] removing six +2024-11-30 16:53:26,193 - api.main - INFO - STDERR: # cleanup[2] removing six.moves +2024-11-30 16:53:26,193 - api.main - INFO - STDERR: # cleanup[2] removing six.moves.urllib +2024-11-30 16:53:26,193 - api.main - INFO - STDERR: # cleanup[2] removing six.moves.urllib.parse +2024-11-30 16:53:26,193 - api.main - INFO - STDERR: # cleanup[2] removing cached_property +2024-11-30 16:53:26,199 - api.main - INFO - STDERR: # destroy cached_property +2024-11-30 16:53:26,199 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.wrappers +2024-11-30 16:53:26,199 - api.main - INFO - STDERR: # cleanup[2] removing wrapt._wrappers +2024-11-30 16:53:26,199 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.__wrapt__ +2024-11-30 16:53:26,199 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.patches +2024-11-30 16:53:26,199 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.weakrefs +2024-11-30 16:53:26,199 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.arguments +2024-11-30 16:53:26,200 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.decorators +2024-11-30 16:53:26,200 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.importer +2024-11-30 16:53:26,200 - api.main - INFO - STDERR: # cleanup[2] removing wrapt +2024-11-30 16:53:26,200 - api.main - INFO - STDERR: # cleanup[2] removing deprecated.classic +2024-11-30 16:53:26,200 - api.main - INFO - STDERR: # cleanup[2] removing deprecated +2024-11-30 16:53:26,200 - api.main - INFO - STDERR: # destroy deprecated +2024-11-30 16:53:26,200 - api.main - INFO - STDERR: # destroy deprecated.classic +2024-11-30 16:53:26,200 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2._proto +2024-11-30 16:53:26,200 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.abcd +2024-11-30 16:53:26,200 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.exceptions +2024-11-30 16:53:26,200 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.utils +2024-11-30 16:53:26,200 - api.main - INFO - STDERR: # cleanup[2] removing lxml +2024-11-30 16:53:26,200 - api.main - INFO - STDERR: # destroy lxml +2024-11-30 16:53:26,200 - api.main - INFO - STDERR: # cleanup[2] removing _cython_3_0_11 +2024-11-30 16:53:26,200 - api.main - INFO - STDERR: # destroy _cython_3_0_11 +2024-11-30 16:53:26,200 - api.main - INFO - STDERR: # cleanup[2] removing gc +2024-11-30 16:53:26,200 - api.main - INFO - STDERR: # cleanup[2] removing lxml._elementpath +2024-11-30 16:53:26,200 - api.main - INFO - STDERR: # cleanup[2] removing gzip +2024-11-30 16:53:26,200 - api.main - INFO - STDERR: # cleanup[2] removing lxml.etree +2024-11-30 16:53:26,200 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.xpath +2024-11-30 16:53:26,201 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2._selector +2024-11-30 16:53:26,201 - api.main - INFO - STDERR: # cleanup[2] removing tarfile +2024-11-30 16:53:26,201 - api.main - INFO - STDERR: # cleanup[2] removing progress +2024-11-30 16:53:26,201 - api.main - INFO - STDERR: # cleanup[2] removing progress.colors +2024-11-30 16:53:26,201 - api.main - INFO - STDERR: # cleanup[2] removing progress.bar +2024-11-30 16:53:26,201 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.version +2024-11-30 16:53:26,201 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.init +2024-11-30 16:53:26,201 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.settings +2024-11-30 16:53:26,201 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.swipe +2024-11-30 16:53:26,201 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.watcher +2024-11-30 16:53:26,201 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2 +2024-11-30 16:53:26,201 - api.main - INFO - STDERR: # cleanup[2] removing emoji.unicode_codes.data_dict +2024-11-30 16:53:26,201 - api.main - INFO - STDERR: # cleanup[2] removing emoji.unicode_codes +2024-11-30 16:53:26,201 - api.main - INFO - STDERR: # cleanup[2] removing emoji.core +2024-11-30 16:53:26,201 - api.main - INFO - STDERR: # cleanup[2] removing emoji +2024-11-30 16:53:26,201 - api.main - INFO - STDERR: # cleanup[2] removing _uuid +2024-11-30 16:53:26,201 - api.main - INFO - STDERR: # cleanup[2] removing uuid +2024-11-30 16:53:26,202 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.log +2024-11-30 16:53:26,202 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.report +2024-11-30 16:53:26,206 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.resources +2024-11-30 16:53:26,207 - api.main - INFO - STDERR: # cleanup[2] removing atomicwrites +2024-11-30 16:53:26,207 - api.main - INFO - STDERR: # destroy atomicwrites +2024-11-30 16:53:26,207 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.storage +2024-11-30 16:53:26,207 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.utils +2024-11-30 16:53:26,207 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.device_facade +2024-11-30 16:53:26,207 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.lang_detect_exception +2024-11-30 16:53:26,207 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.language +2024-11-30 16:53:26,207 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils +2024-11-30 16:53:26,207 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils.messages +2024-11-30 16:53:26,207 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils.unicode_block +2024-11-30 16:53:26,207 - api.main - INFO - STDERR: # cleanup[2] removing encodings.unicode_escape +2024-11-30 16:53:26,207 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils.ngram +2024-11-30 16:53:26,207 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.detector +2024-11-30 16:53:26,207 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils.lang_profile +2024-11-30 16:53:26,207 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.detector_factory +2024-11-30 16:53:26,207 - api.main - INFO - STDERR: # cleanup[2] removing langdetect +2024-11-30 16:53:26,207 - api.main - INFO - STDERR: # destroy langdetect +2024-11-30 16:53:26,207 - api.main - INFO - STDERR: # destroy langdetect.lang_detect_exception +2024-11-30 16:53:26,207 - api.main - INFO - STDERR: # destroy langdetect.language +2024-11-30 16:53:26,207 - api.main - INFO - STDERR: # destroy langdetect.utils +2024-11-30 16:53:26,207 - api.main - INFO - STDERR: # destroy langdetect.utils.unicode_block +2024-11-30 16:53:26,209 - api.main - INFO - STDERR: # destroy langdetect.utils.ngram +2024-11-30 16:53:26,209 - api.main - INFO - STDERR: # destroy langdetect.utils.lang_profile +2024-11-30 16:53:26,209 - api.main - INFO - STDERR: # destroy langdetect.detector +2024-11-30 16:53:26,209 - api.main - INFO - STDERR: # destroy langdetect.detector_factory +2024-11-30 16:53:26,209 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.views +2024-11-30 16:53:26,209 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.filter +2024-11-30 16:53:26,209 - api.main - INFO - STDERR: # cleanup[2] removing spintax.spintax +2024-11-30 16:53:26,209 - api.main - INFO - STDERR: # cleanup[2] removing spintax +2024-11-30 16:53:26,209 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.session_state +2024-11-30 16:53:26,209 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.interaction +2024-11-30 16:53:26,209 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.navigation +2024-11-30 16:53:26,209 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.persistent_list +2024-11-30 16:53:26,209 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.bot_flow +2024-11-30 16:53:26,209 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict +2024-11-30 16:53:26,209 - api.main - INFO - STDERR: # destroy GramAddict +2024-11-30 16:53:26,209 - api.main - INFO - STDERR: # cleanup[2] removing netrc +2024-11-30 16:53:26,209 - api.main - INFO - STDERR: # destroy netrc +2024-11-30 16:53:26,209 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins +2024-11-30 16:53:26,209 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.decorators +2024-11-30 16:53:26,209 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.scroll_end_detector +2024-11-30 16:53:26,209 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.action_unfollow_followers +2024-11-30 16:53:26,219 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.cloned_app +2024-11-30 16:53:26,219 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.core_arguments +2024-11-30 16:53:26,219 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.data_analytics +2024-11-30 16:53:26,219 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.dbinit +2024-11-30 16:53:26,219 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.handle_sources +2024-11-30 16:53:26,219 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_blogger +2024-11-30 16:53:26,219 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_blogger_followers +2024-11-30 16:53:26,219 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_blogger_post_likers +2024-11-30 16:53:26,219 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_feed +2024-11-30 16:53:26,219 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_hashtag_likers +2024-11-30 16:53:26,219 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_hashtag_posts +2024-11-30 16:53:26,219 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_place_likers +2024-11-30 16:53:26,219 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_place_posts +2024-11-30 16:53:26,219 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.like_from_urls +2024-11-30 16:53:26,219 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.nocodb_record_creation_test +2024-11-30 16:53:26,220 - api.main - INFO - STDERR: # cleanup[2] removing jwt.exceptions +2024-11-30 16:53:26,220 - api.main - INFO - STDERR: # cleanup[2] removing jwt.types +2024-11-30 16:53:26,220 - api.main - INFO - STDERR: # cleanup[2] removing jwt.utils +2024-11-30 16:53:26,220 - api.main - INFO - STDERR: # cleanup[2] removing jwt.algorithms +2024-11-30 16:53:26,220 - api.main - INFO - STDERR: # cleanup[2] removing jwt.api_jwk +2024-11-30 16:53:26,220 - api.main - INFO - STDERR: # cleanup[2] removing jwt.warnings +2024-11-30 16:53:26,220 - api.main - INFO - STDERR: # cleanup[2] removing jwt.api_jws +2024-11-30 16:53:26,220 - api.main - INFO - STDERR: # cleanup[2] removing jwt.api_jwt +2024-11-30 16:53:26,220 - api.main - INFO - STDERR: # cleanup[2] removing jwt.jwk_set_cache +2024-11-30 16:53:26,220 - api.main - INFO - STDERR: # cleanup[2] removing jwt.jwks_client +2024-11-30 16:53:26,220 - api.main - INFO - STDERR: # cleanup[2] removing jwt +2024-11-30 16:53:26,220 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.nocodb_storage +2024-11-30 16:53:26,220 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.remove_followers +2024-11-30 16:53:26,220 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.telegram +2024-11-30 16:53:26,220 - api.main - INFO - STDERR: # destroy _sitebuiltins +2024-11-30 16:53:26,221 - api.main - INFO - STDERR: # destroy GramAddict.core +2024-11-30 16:53:26,221 - api.main - INFO - STDERR: # destroy GramAddict.core.plugin_loader +2024-11-30 16:53:26,221 - api.main - INFO - STDERR: # destroy GramAddict.core.config +2024-11-30 16:53:26,221 - api.main - INFO - STDERR: # destroy GramAddict.core.log +2024-11-30 16:53:26,221 - api.main - INFO - STDERR: # destroy GramAddict.core.report +2024-11-30 16:53:26,221 - api.main - INFO - STDERR: # destroy GramAddict.core.resources +2024-11-30 16:53:26,221 - api.main - INFO - STDERR: # destroy GramAddict.core.utils +2024-11-30 16:53:26,221 - api.main - INFO - STDERR: # destroy GramAddict.core.device_facade +2024-11-30 16:53:26,221 - api.main - INFO - STDERR: # destroy GramAddict.core.views +2024-11-30 16:53:26,221 - api.main - INFO - STDERR: # destroy GramAddict.core.filter +2024-11-30 16:53:26,221 - api.main - INFO - STDERR: # destroy GramAddict.core.session_state +2024-11-30 16:53:26,221 - api.main - INFO - STDERR: # destroy GramAddict.core.interaction +2024-11-30 16:53:26,228 - api.main - INFO - STDERR: # destroy GramAddict.core.navigation +2024-11-30 16:53:26,228 - api.main - INFO - STDERR: # destroy GramAddict.core.persistent_list +2024-11-30 16:53:26,229 - api.main - INFO - STDERR: # destroy GramAddict.core.bot_flow +2024-11-30 16:53:26,229 - api.main - INFO - STDERR: # destroy GramAddict.core.decorators +2024-11-30 16:53:26,229 - api.main - INFO - STDERR: # destroy GramAddict.core.scroll_end_detector +2024-11-30 16:53:26,229 - api.main - INFO - STDERR: # destroy GramAddict.core.handle_sources +2024-11-30 16:53:26,229 - api.main - INFO - STDERR: # destroy GramAddict.plugins +2024-11-30 16:53:26,229 - api.main - INFO - STDERR: # destroy GramAddict.plugins.action_unfollow_followers +2024-11-30 16:53:26,230 - api.main - INFO - STDERR: # destroy GramAddict.plugins.cloned_app +2024-11-30 16:53:26,230 - api.main - INFO - STDERR: # destroy GramAddict.plugins.core_arguments +2024-11-30 16:53:26,230 - api.main - INFO - STDERR: # destroy GramAddict.plugins.data_analytics +2024-11-30 16:53:26,230 - api.main - INFO - STDERR: # destroy GramAddict.plugins.dbinit +2024-11-30 16:53:26,230 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_blogger +2024-11-30 16:53:26,230 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_blogger_followers +2024-11-30 16:53:26,231 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_blogger_post_likers +2024-11-30 16:53:26,231 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_feed +2024-11-30 16:53:26,231 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_hashtag_likers +2024-11-30 16:53:26,231 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_hashtag_posts +2024-11-30 16:53:26,231 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_place_likers +2024-11-30 16:53:26,231 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_place_posts +2024-11-30 16:53:26,231 - api.main - INFO - STDERR: # destroy GramAddict.plugins.like_from_urls +2024-11-30 16:53:26,231 - api.main - INFO - STDERR: # destroy GramAddict.plugins.nocodb_record_creation_test +2024-11-30 16:53:26,231 - api.main - INFO - STDERR: # destroy GramAddict.plugins.nocodb_storage +2024-11-30 16:53:26,231 - api.main - INFO - STDERR: # destroy GramAddict.plugins.remove_followers +2024-11-30 16:53:26,231 - api.main - INFO - STDERR: # destroy GramAddict.plugins.telegram +2024-11-30 16:53:26,231 - api.main - INFO - STDERR: # destroy pyparsing.util +2024-11-30 16:53:26,231 - api.main - INFO - STDERR: # destroy pyparsing.exceptions +2024-11-30 16:53:26,231 - api.main - INFO - STDERR: # destroy pyparsing.actions +2024-11-30 16:53:26,231 - api.main - INFO - STDERR: # destroy pyparsing.results +2024-11-30 16:53:26,231 - api.main - INFO - STDERR: # destroy pyparsing.core +2024-11-30 16:53:26,231 - api.main - INFO - STDERR: # destroy pyparsing.helpers +2024-11-30 16:53:26,231 - api.main - INFO - STDERR: # destroy langdetect.utils.messages +2024-11-30 16:53:26,231 - api.main - INFO - STDERR: # destroy spintax +2024-11-30 16:53:26,231 - api.main - INFO - STDERR: # destroy spintax.spintax +2024-11-30 16:53:26,232 - api.main - INFO - STDERR: # destroy GramAddict.core.storage +2024-11-30 16:53:26,232 - api.main - INFO - STDERR: # destroy uuid +2024-11-30 16:53:26,232 - api.main - INFO - STDERR: # destroy jwt +2024-11-30 16:53:26,232 - api.main - INFO - STDERR: # destroy jwt.exceptions +2024-11-30 16:53:26,232 - api.main - INFO - STDERR: # destroy jwt.types +2024-11-30 16:53:26,232 - api.main - INFO - STDERR: # destroy jwt.utils +2024-11-30 16:53:26,232 - api.main - INFO - STDERR: # destroy jwt.algorithms +2024-11-30 16:53:26,232 - api.main - INFO - STDERR: # destroy jwt.api_jwk +2024-11-30 16:53:26,232 - api.main - INFO - STDERR: # destroy jwt.warnings +2024-11-30 16:53:26,232 - api.main - INFO - STDERR: # destroy jwt.api_jwt +2024-11-30 16:53:26,232 - api.main - INFO - STDERR: # destroy jwt.jwk_set_cache +2024-11-30 16:53:26,238 - api.main - INFO - STDERR: # destroy jwt.jwks_client +2024-11-30 16:53:26,239 - api.main - INFO - STDERR: # destroy jwt.api_jws +2024-11-30 16:53:26,239 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.unicode_escape +2024-11-30 16:53:26,239 - api.main - INFO - STDERR: # cleanup[3] wiping _uuid +2024-11-30 16:53:26,239 - api.main - INFO - STDERR: # cleanup[3] wiping emoji +2024-11-30 16:53:26,239 - api.main - INFO - STDERR: # destroy emoji.core +2024-11-30 16:53:26,239 - api.main - INFO - STDERR: # cleanup[3] wiping emoji.unicode_codes +2024-11-30 16:53:26,239 - api.main - INFO - STDERR: # destroy emoji.unicode_codes.data_dict +2024-11-30 16:53:26,239 - api.main - INFO - STDERR: # cleanup[3] wiping uiautomator2 +2024-11-30 16:53:26,239 - api.main - INFO - STDERR: # destroy uiautomator2._proto +2024-11-30 16:53:26,239 - api.main - INFO - STDERR: # destroy uiautomator2._selector +2024-11-30 16:53:26,239 - api.main - INFO - STDERR: # destroy logzero +2024-11-30 16:53:26,239 - api.main - INFO - STDERR: # destroy uiautomator2.abcd +2024-11-30 16:53:26,240 - api.main - INFO - STDERR: # destroy uiautomator2.exceptions +2024-11-30 16:53:26,240 - api.main - INFO - STDERR: # destroy uiautomator2.utils +2024-11-30 16:53:26,240 - api.main - INFO - STDERR: # destroy uiautomator2.xpath +2024-11-30 16:53:26,240 - api.main - INFO - STDERR: # destroy uiautomator2.version +2024-11-30 16:53:26,240 - api.main - INFO - STDERR: # destroy uiautomator2.init +2024-11-30 16:53:26,240 - api.main - INFO - STDERR: # destroy uiautomator2.settings +2024-11-30 16:53:26,240 - api.main - INFO - STDERR: # destroy uiautomator2.swipe +2024-11-30 16:53:26,240 - api.main - INFO - STDERR: # destroy uiautomator2.watcher +2024-11-30 16:53:26,240 - api.main - INFO - STDERR: # cleanup[3] wiping progress.bar +2024-11-30 16:53:26,241 - api.main - INFO - STDERR: # cleanup[3] wiping progress.colors +2024-11-30 16:53:26,241 - api.main - INFO - STDERR: # cleanup[3] wiping progress +2024-11-30 16:53:26,241 - api.main - INFO - STDERR: # destroy progress.colors +2024-11-30 16:53:26,241 - api.main - INFO - STDERR: # destroy progress.bar +2024-11-30 16:53:26,241 - api.main - INFO - STDERR: # cleanup[3] wiping tarfile +2024-11-30 16:53:26,241 - api.main - INFO - STDERR: # cleanup[3] wiping lxml.etree +2024-11-30 16:53:26,241 - api.main - INFO - STDERR: # cleanup[3] wiping gzip +2024-11-30 16:53:26,241 - api.main - INFO - STDERR: # cleanup[3] wiping lxml._elementpath +2024-11-30 16:53:26,241 - api.main - INFO - STDERR: # cleanup[3] wiping gc +2024-11-30 16:53:26,241 - api.main - INFO - STDERR: # cleanup[3] wiping wrapt +2024-11-30 16:53:26,241 - api.main - INFO - STDERR: # destroy wrapt.wrappers +2024-11-30 16:53:26,242 - api.main - INFO - STDERR: # destroy wrapt.__wrapt__ +2024-11-30 16:53:26,242 - api.main - INFO - STDERR: # destroy wrapt.patches +2024-11-30 16:53:26,242 - api.main - INFO - STDERR: # destroy wrapt.weakrefs +2024-11-30 16:53:26,242 - api.main - INFO - STDERR: # destroy wrapt.arguments +2024-11-30 16:53:26,242 - api.main - INFO - STDERR: # destroy wrapt.decorators +2024-11-30 16:53:26,242 - api.main - INFO - STDERR: # destroy wrapt.importer +2024-11-30 16:53:26,242 - api.main - INFO - STDERR: # cleanup[3] wiping wrapt._wrappers +2024-11-30 16:53:26,242 - api.main - INFO - STDERR: # cleanup[3] wiping six.moves.urllib.parse +2024-11-30 16:53:26,242 - api.main - INFO - STDERR: # cleanup[3] wiping six.moves.urllib +2024-11-30 16:53:26,242 - api.main - INFO - STDERR: # cleanup[3] wiping six.moves +2024-11-30 16:53:26,242 - api.main - INFO - STDERR: # cleanup[3] wiping six +2024-11-30 16:53:26,242 - api.main - INFO - STDERR: # destroy six.moves.urllib +2024-11-30 16:53:26,243 - api.main - INFO - STDERR: # destroy six.moves +2024-11-30 16:53:26,243 - api.main - INFO - STDERR: # cleanup[3] wiping logging.handlers +2024-11-30 16:53:26,243 - api.main - INFO - STDERR: # destroy pickle +2024-11-30 16:53:26,243 - api.main - INFO - STDERR: # cleanup[3] wiping _pickle +2024-11-30 16:53:26,250 - api.main - INFO - STDERR: # cleanup[3] wiping _compat_pickle +2024-11-30 16:53:26,250 - api.main - INFO - STDERR: # cleanup[3] wiping logzero.jsonlogger +2024-11-30 16:53:26,250 - api.main - INFO - STDERR: # cleanup[3] wiping logzero.colors +2024-11-30 16:53:26,250 - api.main - INFO - STDERR: # cleanup[3] wiping filelock +2024-11-30 16:53:26,250 - api.main - INFO - STDERR: # destroy filelock._error +2024-11-30 16:53:26,250 - api.main - INFO - STDERR: # destroy filelock._api +2024-11-30 16:53:26,250 - api.main - INFO - STDERR: # destroy filelock._util +2024-11-30 16:53:26,250 - api.main - INFO - STDERR: # destroy filelock._soft +2024-11-30 16:53:26,251 - api.main - INFO - STDERR: # destroy filelock._unix +2024-11-30 16:53:26,251 - api.main - INFO - STDERR: # destroy filelock._windows +2024-11-30 16:53:26,251 - api.main - INFO - STDERR: # destroy filelock.asyncio +2024-11-30 16:53:26,251 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio +2024-11-30 16:53:26,251 - api.main - INFO - STDERR: # destroy asyncio.log +2024-11-30 16:53:26,251 - api.main - INFO - STDERR: # destroy asyncio.runners +2024-11-30 16:53:26,251 - api.main - INFO - STDERR: # destroy asyncio.queues +2024-11-30 16:53:26,251 - api.main - INFO - STDERR: # destroy asyncio.subprocess +2024-11-30 16:53:26,251 - api.main - INFO - STDERR: # destroy asyncio.threads +2024-11-30 16:53:26,251 - api.main - INFO - STDERR: # destroy asyncio.windows_events +2024-11-30 16:53:26,251 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.windows_utils +2024-11-30 16:53:26,252 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.selector_events +2024-11-30 16:53:26,252 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.proactor_events +2024-11-30 16:53:26,252 - api.main - INFO - STDERR: # destroy asyncio.base_events +2024-11-30 16:53:26,252 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.base_subprocess +2024-11-30 16:53:26,252 - api.main - INFO - STDERR: # cleanup[3] wiping _overlapped +2024-11-30 16:53:26,252 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.streams +2024-11-30 16:53:26,252 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.trsock +2024-11-30 16:53:26,252 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.staggered +2024-11-30 16:53:26,252 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.tasks +2024-11-30 16:53:26,252 - api.main - INFO - STDERR: # destroy asyncio.base_tasks +2024-11-30 16:53:26,252 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.locks +2024-11-30 16:53:26,253 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.sslproto +2024-11-30 16:53:26,253 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.transports +2024-11-30 16:53:26,253 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.protocols +2024-11-30 16:53:26,253 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.futures +2024-11-30 16:53:26,253 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.events +2024-11-30 16:53:26,253 - api.main - INFO - STDERR: # cleanup[3] wiping _asyncio +2024-11-30 16:53:26,253 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.exceptions +2024-11-30 16:53:26,253 - api.main - INFO - STDERR: # cleanup[3] wiping contextvars +2024-11-30 16:53:26,253 - api.main - INFO - STDERR: # cleanup[3] wiping _contextvars +2024-11-30 16:53:26,253 - api.main - INFO - STDERR: # destroy _contextvars +2024-11-30 16:53:26,254 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.coroutines +2024-11-30 16:53:26,254 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.base_futures +2024-11-30 16:53:26,254 - api.main - INFO - STDERR: # destroy asyncio.format_helpers +2024-11-30 16:53:26,254 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.constants +2024-11-30 16:53:26,254 - api.main - INFO - STDERR: # cleanup[3] wiping concurrent.futures +2024-11-30 16:53:26,254 - api.main - INFO - STDERR: # destroy concurrent.futures._base +2024-11-30 16:53:26,255 - api.main - INFO - STDERR: # cleanup[3] wiping concurrent +2024-11-30 16:53:26,263 - api.main - INFO - STDERR: # destroy concurrent.futures +2024-11-30 16:53:26,263 - api.main - INFO - STDERR: # cleanup[3] wiping adbutils +2024-11-30 16:53:26,263 - api.main - INFO - STDERR: # destroy adbutils._utils +2024-11-30 16:53:26,263 - api.main - INFO - STDERR: # destroy adbutils._proto +2024-11-30 16:53:26,263 - api.main - INFO - STDERR: # destroy adbutils._version +2024-11-30 16:53:26,263 - api.main - INFO - STDERR: # destroy pkg_resources +2024-11-30 16:53:26,263 - api.main - INFO - STDERR: # destroy adbutils._adb +2024-11-30 16:53:26,263 - api.main - INFO - STDERR: # destroy adbutils._device +2024-11-30 16:53:26,264 - api.main - INFO - STDERR: # destroy adbutils.errors +2024-11-30 16:53:26,264 - api.main - INFO - STDERR: # cleanup[3] wiping PIL.Image +2024-11-30 16:53:26,264 - api.main - INFO - STDERR: # destroy PIL.ExifTags +2024-11-30 16:53:26,264 - api.main - INFO - STDERR: # destroy PIL.ImageMode +2024-11-30 16:53:26,264 - api.main - INFO - STDERR: # destroy PIL.TiffTags +2024-11-30 16:53:26,264 - api.main - INFO - STDERR: # cleanup[3] wiping PIL._imaging +2024-11-30 16:53:26,264 - api.main - INFO - STDERR: # cleanup[3] wiping requests +2024-11-30 16:53:26,264 - api.main - INFO - STDERR: # destroy requests._internal_utils +2024-11-30 16:53:26,264 - api.main - INFO - STDERR: # destroy requests.compat +2024-11-30 16:53:26,264 - api.main - INFO - STDERR: # destroy requests.exceptions +2024-11-30 16:53:26,264 - api.main - INFO - STDERR: # destroy requests.packages +2024-11-30 16:53:26,265 - api.main - INFO - STDERR: # destroy idna +2024-11-30 16:53:26,265 - api.main - INFO - STDERR: # destroy idna.intranges +2024-11-30 16:53:26,265 - api.main - INFO - STDERR: # destroy idna.core +2024-11-30 16:53:26,265 - api.main - INFO - STDERR: # destroy idna.package_data +2024-11-30 16:53:26,265 - api.main - INFO - STDERR: # destroy requests.cookies +2024-11-30 16:53:26,265 - api.main - INFO - STDERR: # destroy requests.structures +2024-11-30 16:53:26,265 - api.main - INFO - STDERR: # destroy requests.utils +2024-11-30 16:53:26,265 - api.main - INFO - STDERR: # destroy requests.auth +2024-11-30 16:53:26,265 - api.main - INFO - STDERR: # destroy requests.hooks +2024-11-30 16:53:26,265 - api.main - INFO - STDERR: # destroy requests.status_codes +2024-11-30 16:53:26,265 - api.main - INFO - STDERR: # destroy requests.models +2024-11-30 16:53:26,265 - api.main - INFO - STDERR: # destroy requests.adapters +2024-11-30 16:53:26,266 - api.main - INFO - STDERR: # destroy requests.api +2024-11-30 16:53:26,266 - api.main - INFO - STDERR: # cleanup[3] wiping requests.sessions +2024-11-30 16:53:26,266 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.idna +2024-11-30 16:53:26,266 - api.main - INFO - STDERR: # destroy stringprep +2024-11-30 16:53:26,266 - api.main - INFO - STDERR: # cleanup[3] wiping requests.certs +2024-11-30 16:53:26,266 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.chardet +2024-11-30 16:53:26,266 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.idna.idnadata +2024-11-30 16:53:26,266 - api.main - INFO - STDERR: # cleanup[3] wiping idna.idnadata +2024-11-30 16:53:26,266 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3 +2024-11-30 16:53:26,266 - api.main - INFO - STDERR: # destroy urllib3._version +2024-11-30 16:53:26,266 - api.main - INFO - STDERR: # destroy urllib3._collections +2024-11-30 16:53:26,266 - api.main - INFO - STDERR: # destroy urllib3.packages +2024-11-30 16:53:26,266 - api.main - INFO - STDERR: # destroy urllib3.exceptions +2024-11-30 16:53:26,266 - api.main - INFO - STDERR: # destroy urllib3.contrib +2024-11-30 16:53:26,266 - api.main - INFO - STDERR: # destroy urllib3.connection +2024-11-30 16:53:26,266 - api.main - INFO - STDERR: # destroy urllib3.fields +2024-11-30 16:53:26,266 - api.main - INFO - STDERR: # destroy urllib3.filepost +2024-11-30 16:53:26,266 - api.main - INFO - STDERR: # destroy urllib3.request +2024-11-30 16:53:26,267 - api.main - INFO - STDERR: # destroy urllib3.response +2024-11-30 16:53:26,273 - api.main - INFO - STDERR: # destroy urllib3.connectionpool +2024-11-30 16:53:26,273 - api.main - INFO - STDERR: # destroy urllib3.poolmanager +2024-11-30 16:53:26,273 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util.queue +2024-11-30 16:53:26,273 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six.moves.urllib.parse +2024-11-30 16:53:26,273 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six.moves.urllib +2024-11-30 16:53:26,273 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util.ssl_match_hostname +2024-11-30 16:53:26,273 - api.main - INFO - STDERR: # destroy ipaddress +2024-11-30 16:53:26,273 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util.proxy +2024-11-30 16:53:26,273 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util +2024-11-30 16:53:26,273 - api.main - INFO - STDERR: # destroy urllib3.util.wait +2024-11-30 16:53:26,273 - api.main - INFO - STDERR: # destroy urllib3.util.request +2024-11-30 16:53:26,273 - api.main - INFO - STDERR: # destroy urllib3.util.response +2024-11-30 16:53:26,273 - api.main - INFO - STDERR: # destroy urllib3.util.retry +2024-11-30 16:53:26,273 - api.main - INFO - STDERR: # destroy urllib3.util.url +2024-11-30 16:53:26,273 - api.main - INFO - STDERR: # destroy urllib3.util.ssltransport +2024-11-30 16:53:26,273 - api.main - INFO - STDERR: # destroy urllib3.util.ssl_ +2024-11-30 16:53:26,273 - api.main - INFO - STDERR: # destroy urllib3.util.timeout +2024-11-30 16:53:26,274 - api.main - INFO - STDERR: # destroy urllib3.util.proxy +2024-11-30 16:53:26,274 - api.main - INFO - STDERR: # destroy urllib3.util.ssl_match_hostname +2024-11-30 16:53:26,274 - api.main - INFO - STDERR: # destroy urllib3.util.queue +2024-11-30 16:53:26,274 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util.connection +2024-11-30 16:53:26,274 - api.main - INFO - STDERR: # destroy urllib3.contrib._appengine_environ +2024-11-30 16:53:26,274 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six.moves.http_client +2024-11-30 16:53:26,274 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six.moves +2024-11-30 16:53:26,274 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six +2024-11-30 16:53:26,274 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib +2024-11-30 16:53:26,274 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves +2024-11-30 16:53:26,274 - api.main - INFO - STDERR: # cleanup[3] wiping http.cookies +2024-11-30 16:53:26,275 - api.main - INFO - STDERR: # cleanup[3] wiping http.cookiejar +2024-11-30 16:53:26,275 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer +2024-11-30 16:53:26,275 - api.main - INFO - STDERR: # destroy charset_normalizer.models +2024-11-30 16:53:26,275 - api.main - INFO - STDERR: # destroy charset_normalizer.cd +2024-11-30 16:53:26,276 - api.main - INFO - STDERR: # destroy charset_normalizer.api +2024-11-30 16:53:26,276 - api.main - INFO - STDERR: # destroy charset_normalizer.legacy +2024-11-30 16:53:26,276 - api.main - INFO - STDERR: # destroy charset_normalizer.version +2024-11-30 16:53:26,276 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer.md +2024-11-30 16:53:26,276 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer.utils +2024-11-30 16:53:26,276 - api.main - INFO - STDERR: # cleanup[3] wiping _multibytecodec +2024-11-30 16:53:26,276 - api.main - INFO - STDERR: # cleanup[3] wiping unicodedata +2024-11-30 16:53:26,276 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer.md__mypyc +2024-11-30 16:53:26,276 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer.constant +2024-11-30 16:53:26,276 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3 +2024-11-30 16:53:26,282 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.packages.six.moves.urllib.parse +2024-11-30 16:53:26,282 - api.main - INFO - STDERR: # cleanup[3] wiping mimetypes +2024-11-30 16:53:26,282 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.util +2024-11-30 16:53:26,282 - api.main - INFO - STDERR: # cleanup[3] wiping hmac +2024-11-30 16:53:26,282 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.util.connection +2024-11-30 16:53:26,282 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.packages.six.moves.http_client +2024-11-30 16:53:26,282 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.packages.six +2024-11-30 16:53:26,282 - api.main - INFO - STDERR: # cleanup[3] wiping platformdirs.windows +2024-11-30 16:53:26,282 - api.main - INFO - STDERR: # cleanup[3] wiping platformdirs.version +2024-11-30 16:53:26,282 - api.main - INFO - STDERR: # cleanup[3] wiping platformdirs.api +2024-11-30 16:53:26,282 - api.main - INFO - STDERR: # cleanup[3] wiping backports.tarfile +2024-11-30 16:53:26,282 - api.main - INFO - STDERR: # destroy backports.tarfile.compat +2024-11-30 16:53:26,282 - api.main - INFO - STDERR: # destroy backports.tarfile.compat.py38 +2024-11-30 16:53:26,282 - api.main - INFO - STDERR: # cleanup[3] wiping importlib.resources +2024-11-30 16:53:26,282 - api.main - INFO - STDERR: # cleanup[3] wiping importlib._common +2024-11-30 16:53:26,283 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.requirements +2024-11-30 16:53:26,283 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.markers +2024-11-30 16:53:26,283 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.specifiers +2024-11-30 16:53:26,283 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.utils +2024-11-30 16:53:26,283 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.tags +2024-11-30 16:53:26,283 - api.main - INFO - STDERR: # cleanup[3] wiping distutils +2024-11-30 16:53:26,283 - api.main - INFO - STDERR: # destroy distutils._log +2024-11-30 16:53:26,283 - api.main - INFO - STDERR: # destroy distutils.compat +2024-11-30 16:53:26,283 - api.main - INFO - STDERR: # destroy distutils.errors +2024-11-30 16:53:26,283 - api.main - INFO - STDERR: # destroy distutils.debug +2024-11-30 16:53:26,283 - api.main - INFO - STDERR: # destroy distutils.spawn +2024-11-30 16:53:26,283 - api.main - INFO - STDERR: # destroy distutils.cmd +2024-11-30 16:53:26,283 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.util +2024-11-30 16:53:26,283 - api.main - INFO - STDERR: # destroy sysconfig +2024-11-30 16:53:26,284 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.archive_util +2024-11-30 16:53:26,284 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.dir_util +2024-11-30 16:53:26,284 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.file_util +2024-11-30 16:53:26,284 - api.main - INFO - STDERR: # cleanup[3] wiping distutils._modified +2024-11-30 16:53:26,284 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.compat.py39 +2024-11-30 16:53:26,284 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.compat.py38 +2024-11-30 16:53:26,284 - api.main - INFO - STDERR: # cleanup[3] wiping more_itertools +2024-11-30 16:53:26,284 - api.main - INFO - STDERR: # destroy more_itertools.recipes +2024-11-30 16:53:26,284 - api.main - INFO - STDERR: # destroy more_itertools.more +2024-11-30 16:53:26,284 - api.main - INFO - STDERR: # cleanup[3] wiping queue +2024-11-30 16:53:26,284 - api.main - INFO - STDERR: # cleanup[3] wiping _queue +2024-11-30 16:53:26,284 - api.main - INFO - STDERR: # cleanup[3] wiping setuptools._distutils +2024-11-30 16:53:26,284 - api.main - INFO - STDERR: # cleanup[3] wiping packaging._compat +2024-11-30 16:53:26,284 - api.main - INFO - STDERR: # cleanup[3] wiping html +2024-11-30 16:53:26,284 - api.main - INFO - STDERR: # destroy html.entities +2024-11-30 16:53:26,284 - api.main - INFO - STDERR: # cleanup[3] wiping pprint +2024-11-30 16:53:26,285 - api.main - INFO - STDERR: # cleanup[3] wiping plistlib +2024-11-30 16:53:26,287 - api.main - INFO - STDERR: # cleanup[3] wiping apkutils2 +2024-11-30 16:53:26,287 - api.main - INFO - STDERR: # destroy apkutils2.apkfile +2024-11-30 16:53:26,287 - api.main - INFO - STDERR: # destroy apkutils2.axml +2024-11-30 16:53:26,288 - api.main - INFO - STDERR: # destroy apkutils2.axml.chunk +2024-11-30 16:53:26,288 - api.main - INFO - STDERR: # destroy apkutils2.axml.arscparser +2024-11-30 16:53:26,288 - api.main - INFO - STDERR: # destroy apkutils2.axml.axmlparser +2024-11-30 16:53:26,288 - api.main - INFO - STDERR: # destroy apkutils2.dex +2024-11-30 16:53:26,288 - api.main - INFO - STDERR: # destroy apkutils2.dex.byteio +2024-11-30 16:53:26,288 - api.main - INFO - STDERR: # destroy apkutils2.dex.dalvik +2024-11-30 16:53:26,288 - api.main - INFO - STDERR: # destroy apkutils2.dex.dexparser +2024-11-30 16:53:26,288 - api.main - INFO - STDERR: # destroy apkutils2.manifest +2024-11-30 16:53:26,288 - api.main - INFO - STDERR: # cleanup[3] wiping apkutils2.dex.dalvikformats +2024-11-30 16:53:26,288 - api.main - INFO - STDERR: # cleanup[3] wiping apkutils2.dex.util +2024-11-30 16:53:26,288 - api.main - INFO - STDERR: # cleanup[3] wiping array +2024-11-30 16:53:26,288 - api.main - INFO - STDERR: # cleanup[3] wiping apkutils2.axml.public +2024-11-30 16:53:26,288 - api.main - INFO - STDERR: # cleanup[3] wiping xmltodict +2024-11-30 16:53:26,288 - api.main - INFO - STDERR: # cleanup[3] wiping platform +2024-11-30 16:53:26,289 - api.main - INFO - STDERR: # cleanup[3] wiping xml.sax.saxutils +2024-11-30 16:53:26,289 - api.main - INFO - STDERR: # cleanup[3] wiping urllib.request +2024-11-30 16:53:26,289 - api.main - INFO - STDERR: # destroy http +2024-11-30 16:53:26,289 - api.main - INFO - STDERR: # cleanup[3] wiping urllib.error +2024-11-30 16:53:26,289 - api.main - INFO - STDERR: # cleanup[3] wiping urllib.response +2024-11-30 16:53:26,289 - api.main - INFO - STDERR: # cleanup[3] wiping http.client +2024-11-30 16:53:26,289 - api.main - INFO - STDERR: # cleanup[3] wiping ssl +2024-11-30 16:53:26,289 - api.main - INFO - STDERR: # cleanup[3] wiping _ssl +2024-11-30 16:53:26,289 - api.main - INFO - STDERR: # cleanup[3] wiping email.message +2024-11-30 16:53:26,290 - api.main - INFO - STDERR: # destroy uu +2024-11-30 16:53:26,290 - api.main - INFO - STDERR: # destroy quopri +2024-11-30 16:53:26,290 - api.main - INFO - STDERR: # cleanup[3] wiping email.iterators +2024-11-30 16:53:26,290 - api.main - INFO - STDERR: # cleanup[3] wiping email._encoded_words +2024-11-30 16:53:26,290 - api.main - INFO - STDERR: # cleanup[3] wiping email.parser +2024-11-30 16:53:26,290 - api.main - INFO - STDERR: # cleanup[3] wiping email.feedparser +2024-11-30 16:53:26,290 - api.main - INFO - STDERR: # cleanup[3] wiping email._policybase +2024-11-30 16:53:26,290 - api.main - INFO - STDERR: # cleanup[3] wiping email.utils +2024-11-30 16:53:26,290 - api.main - INFO - STDERR: # cleanup[3] wiping email._parseaddr +2024-11-30 16:53:26,290 - api.main - INFO - STDERR: # cleanup[3] wiping calendar +2024-11-30 16:53:26,290 - api.main - INFO - STDERR: # destroy locale +2024-11-30 16:53:26,290 - api.main - INFO - STDERR: # cleanup[3] wiping email.header +2024-11-30 16:53:26,290 - api.main - INFO - STDERR: # cleanup[3] wiping email.charset +2024-11-30 16:53:26,291 - api.main - INFO - STDERR: # cleanup[3] wiping email.encoders +2024-11-30 16:53:26,291 - api.main - INFO - STDERR: # cleanup[3] wiping email.base64mime +2024-11-30 16:53:26,291 - api.main - INFO - STDERR: # cleanup[3] wiping email.quoprimime +2024-11-30 16:53:26,291 - api.main - INFO - STDERR: # cleanup[3] wiping email.errors +2024-11-30 16:53:26,291 - api.main - INFO - STDERR: # cleanup[3] wiping email +2024-11-30 16:53:26,291 - api.main - INFO - STDERR: # destroy email._parseaddr +2024-11-30 16:53:26,291 - api.main - INFO - STDERR: # destroy email._policybase +2024-11-30 16:53:26,291 - api.main - INFO - STDERR: # destroy email._encoded_words +2024-11-30 16:53:26,291 - api.main - INFO - STDERR: # destroy email.errors +2024-11-30 16:53:26,291 - api.main - INFO - STDERR: # destroy email.quoprimime +2024-11-30 16:53:26,295 - api.main - INFO - STDERR: # destroy email.base64mime +2024-11-30 16:53:26,295 - api.main - INFO - STDERR: # destroy email.encoders +2024-11-30 16:53:26,295 - api.main - INFO - STDERR: # destroy email.charset +2024-11-30 16:53:26,295 - api.main - INFO - STDERR: # destroy email.header +2024-11-30 16:53:26,295 - api.main - INFO - STDERR: # destroy email.utils +2024-11-30 16:53:26,295 - api.main - INFO - STDERR: # destroy email.feedparser +2024-11-30 16:53:26,295 - api.main - INFO - STDERR: # destroy email.parser +2024-11-30 16:53:26,295 - api.main - INFO - STDERR: # destroy email.iterators +2024-11-30 16:53:26,295 - api.main - INFO - STDERR: # destroy email.message +2024-11-30 16:53:26,295 - api.main - INFO - STDERR: # cleanup[3] wiping xml.sax +2024-11-30 16:53:26,295 - api.main - INFO - STDERR: # destroy xml.sax._exceptions +2024-11-30 16:53:26,295 - api.main - INFO - STDERR: # destroy xml.sax.xmlreader +2024-11-30 16:53:26,295 - api.main - INFO - STDERR: # destroy xml.sax.saxutils +2024-11-30 16:53:26,295 - api.main - INFO - STDERR: # cleanup[3] wiping xml.sax.handler +2024-11-30 16:53:26,296 - api.main - INFO - STDERR: # cleanup[3] wiping xml.parsers.expat +2024-11-30 16:53:26,296 - api.main - INFO - STDERR: # cleanup[3] wiping xml.parsers.expat.errors +2024-11-30 16:53:26,296 - api.main - INFO - STDERR: # cleanup[3] wiping xml.parsers.expat.model +2024-11-30 16:53:26,296 - api.main - INFO - STDERR: # cleanup[3] wiping pyexpat +2024-11-30 16:53:26,296 - api.main - INFO - STDERR: # cleanup[3] wiping pyexpat.model +2024-11-30 16:53:26,296 - api.main - INFO - STDERR: # cleanup[3] wiping pyexpat.errors +2024-11-30 16:53:26,296 - api.main - INFO - STDERR: # cleanup[3] wiping xml.parsers +2024-11-30 16:53:26,296 - api.main - INFO - STDERR: # destroy xml.parsers.expat +2024-11-30 16:53:26,296 - api.main - INFO - STDERR: # cleanup[3] wiping whichcraft +2024-11-30 16:53:26,297 - api.main - INFO - STDERR: # cleanup[3] wiping zipfile +2024-11-30 16:53:26,297 - api.main - INFO - STDERR: # cleanup[3] wiping tempfile +2024-11-30 16:53:26,297 - api.main - INFO - STDERR: # cleanup[3] wiping shlex +2024-11-30 16:53:26,297 - api.main - INFO - STDERR: # cleanup[3] wiping socket +2024-11-30 16:53:26,297 - api.main - INFO - STDERR: # destroy selectors +2024-11-30 16:53:26,297 - api.main - INFO - STDERR: # cleanup[3] wiping select +2024-11-30 16:53:26,297 - api.main - INFO - STDERR: # cleanup[3] wiping _socket +2024-11-30 16:53:26,297 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.version +2024-11-30 16:53:26,297 - api.main - INFO - STDERR: # cleanup[3] wiping packaging._typing +2024-11-30 16:53:26,297 - api.main - INFO - STDERR: # cleanup[3] wiping packaging._structures +2024-11-30 16:53:26,297 - api.main - INFO - STDERR: # cleanup[3] wiping packaging +2024-11-30 16:53:26,297 - api.main - INFO - STDERR: # destroy packaging._structures +2024-11-30 16:53:26,297 - api.main - INFO - STDERR: # destroy packaging._typing +2024-11-30 16:53:26,297 - api.main - INFO - STDERR: # destroy packaging._compat +2024-11-30 16:53:26,298 - api.main - INFO - STDERR: # destroy packaging.__about__ +2024-11-30 16:53:26,298 - api.main - INFO - STDERR: # destroy packaging.tags +2024-11-30 16:53:26,298 - api.main - INFO - STDERR: # destroy packaging.utils +2024-11-30 16:53:26,298 - api.main - INFO - STDERR: # destroy packaging.specifiers +2024-11-30 16:53:26,298 - api.main - INFO - STDERR: # destroy packaging.markers +2024-11-30 16:53:26,298 - api.main - INFO - STDERR: # destroy packaging.requirements +2024-11-30 16:53:26,298 - api.main - INFO - STDERR: # cleanup[3] wiping pathlib +2024-11-30 16:53:26,298 - api.main - INFO - STDERR: # cleanup[3] wiping urllib.parse +2024-11-30 16:53:26,298 - api.main - INFO - STDERR: # cleanup[3] wiping urllib +2024-11-30 16:53:26,298 - api.main - INFO - STDERR: # destroy urllib.parse +2024-11-30 16:53:26,298 - api.main - INFO - STDERR: # destroy urllib.response +2024-11-30 16:53:26,298 - api.main - INFO - STDERR: # destroy urllib.error +2024-11-30 16:53:26,302 - api.main - INFO - STDERR: # destroy urllib.request +2024-11-30 16:53:26,302 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom.minidom +2024-11-30 16:53:26,302 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom.xmlbuilder +2024-11-30 16:53:26,302 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom.NodeFilter +2024-11-30 16:53:26,302 - api.main - INFO - STDERR: # cleanup[3] wiping copy +2024-11-30 16:53:26,302 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom.minicompat +2024-11-30 16:53:26,302 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom +2024-11-30 16:53:26,302 - api.main - INFO - STDERR: # destroy xml.dom.domreg +2024-11-30 16:53:26,302 - api.main - INFO - STDERR: # destroy xml.dom.minicompat +2024-11-30 16:53:26,303 - api.main - INFO - STDERR: # destroy xml.dom.NodeFilter +2024-11-30 16:53:26,303 - api.main - INFO - STDERR: # destroy xml.dom.xmlbuilder +2024-11-30 16:53:26,303 - api.main - INFO - STDERR: # cleanup[3] wiping xml +2024-11-30 16:53:26,303 - api.main - INFO - STDERR: # destroy xml.dom +2024-11-30 16:53:26,303 - api.main - INFO - STDERR: # destroy xml.parsers +2024-11-30 16:53:26,303 - api.main - INFO - STDERR: # destroy xml.sax +2024-11-30 16:53:26,303 - api.main - INFO - STDERR: # cleanup[3] wiping shutil +2024-11-30 16:53:26,303 - api.main - INFO - STDERR: # cleanup[3] wiping lzma +2024-11-30 16:53:26,303 - api.main - INFO - STDERR: # cleanup[3] wiping _lzma +2024-11-30 16:53:26,303 - api.main - INFO - STDERR: # cleanup[3] wiping bz2 +2024-11-30 16:53:26,304 - api.main - INFO - STDERR: # destroy _compression +2024-11-30 16:53:26,304 - api.main - INFO - STDERR: # cleanup[3] wiping zlib +2024-11-30 16:53:26,304 - api.main - INFO - STDERR: # cleanup[3] wiping hashlib +2024-11-30 16:53:26,304 - api.main - INFO - STDERR: # cleanup[3] wiping _blake2 +2024-11-30 16:53:26,304 - api.main - INFO - STDERR: # cleanup[3] wiping _hashlib +2024-11-30 16:53:26,304 - api.main - INFO - STDERR: # cleanup[3] wiping subprocess +2024-11-30 16:53:26,304 - api.main - INFO - STDERR: # destroy signal +2024-11-30 16:53:26,304 - api.main - INFO - STDERR: # cleanup[3] wiping _winapi +2024-11-30 16:53:26,304 - api.main - INFO - STDERR: # cleanup[3] wiping msvcrt +2024-11-30 16:53:26,304 - api.main - INFO - STDERR: # cleanup[3] wiping errno +2024-11-30 16:53:26,304 - api.main - INFO - STDERR: # cleanup[3] wiping pkgutil +2024-11-30 16:53:26,304 - api.main - INFO - STDERR: # cleanup[3] wiping importlib.util +2024-11-30 16:53:26,304 - api.main - INFO - STDERR: # cleanup[3] wiping importlib.abc +2024-11-30 16:53:26,304 - api.main - INFO - STDERR: # cleanup[3] wiping inspect +2024-11-30 16:53:26,304 - api.main - INFO - STDERR: # destroy ast +2024-11-30 16:53:26,304 - api.main - INFO - STDERR: # destroy dis +2024-11-30 16:53:26,304 - api.main - INFO - STDERR: # destroy token +2024-11-30 16:53:26,304 - api.main - INFO - STDERR: # cleanup[3] wiping importlib.machinery +2024-11-30 16:53:26,304 - api.main - INFO - STDERR: # cleanup[3] wiping importlib +2024-11-30 16:53:26,304 - api.main - INFO - STDERR: # destroy importlib._common +2024-11-30 16:53:26,304 - api.main - INFO - STDERR: # destroy importlib.machinery +2024-11-30 16:53:26,304 - api.main - INFO - STDERR: # destroy importlib.abc +2024-11-30 16:53:26,304 - api.main - INFO - STDERR: # destroy importlib.util +2024-11-30 16:53:26,304 - api.main - INFO - STDERR: # destroy importlib.resources +2024-11-30 16:53:26,304 - api.main - INFO - STDERR: # cleanup[3] wiping importlib._bootstrap_external +2024-11-30 16:53:26,304 - api.main - INFO - STDERR: # cleanup[3] wiping importlib._bootstrap +2024-11-30 16:53:26,305 - api.main - INFO - STDERR: # cleanup[3] wiping _opcode +2024-11-30 16:53:26,305 - api.main - INFO - STDERR: # cleanup[3] wiping yaml +2024-11-30 16:53:26,305 - api.main - INFO - STDERR: # destroy yaml.error +2024-11-30 16:53:26,305 - api.main - INFO - STDERR: # destroy yaml.tokens +2024-11-30 16:53:26,305 - api.main - INFO - STDERR: # destroy yaml.events +2024-11-30 16:53:26,310 - api.main - INFO - STDERR: # destroy yaml.nodes +2024-11-30 16:53:26,310 - api.main - INFO - STDERR: # destroy yaml.reader +2024-11-30 16:53:26,310 - api.main - INFO - STDERR: # destroy yaml.scanner +2024-11-30 16:53:26,310 - api.main - INFO - STDERR: # destroy yaml.parser +2024-11-30 16:53:26,310 - api.main - INFO - STDERR: # destroy yaml.composer +2024-11-30 16:53:26,311 - api.main - INFO - STDERR: # destroy yaml.constructor +2024-11-30 16:53:26,311 - api.main - INFO - STDERR: # destroy yaml.resolver +2024-11-30 16:53:26,311 - api.main - INFO - STDERR: # destroy yaml.loader +2024-11-30 16:53:26,311 - api.main - INFO - STDERR: # destroy yaml.emitter +2024-11-30 16:53:26,311 - api.main - INFO - STDERR: # destroy yaml.serializer +2024-11-30 16:53:26,311 - api.main - INFO - STDERR: # destroy yaml.representer +2024-11-30 16:53:26,311 - api.main - INFO - STDERR: # destroy yaml.dumper +2024-11-30 16:53:26,311 - api.main - INFO - STDERR: # destroy yaml.cyaml +2024-11-30 16:53:26,311 - api.main - INFO - STDERR: # cleanup[3] wiping yaml._yaml +2024-11-30 16:53:26,311 - api.main - INFO - STDERR: # cleanup[3] wiping cython_runtime +2024-11-30 16:53:26,311 - api.main - INFO - STDERR: # cleanup[3] wiping base64 +2024-11-30 16:53:26,311 - api.main - INFO - STDERR: # cleanup[3] wiping binascii +2024-11-30 16:53:26,311 - api.main - INFO - STDERR: # cleanup[3] wiping configargparse +2024-11-30 16:53:26,311 - api.main - INFO - STDERR: # destroy argparse +2024-11-30 16:53:26,311 - api.main - INFO - STDERR: # destroy glob +2024-11-30 16:53:26,312 - api.main - INFO - STDERR: # cleanup[3] wiping textwrap +2024-11-30 16:53:26,312 - api.main - INFO - STDERR: # cleanup[3] wiping fnmatch +2024-11-30 16:53:26,312 - api.main - INFO - STDERR: # cleanup[3] wiping posixpath +2024-11-30 16:53:26,312 - api.main - INFO - STDERR: # cleanup[3] wiping json +2024-11-30 16:53:26,312 - api.main - INFO - STDERR: # destroy json.decoder +2024-11-30 16:53:26,312 - api.main - INFO - STDERR: # destroy json.encoder +2024-11-30 16:53:26,312 - api.main - INFO - STDERR: # cleanup[3] wiping json.scanner +2024-11-30 16:53:26,312 - api.main - INFO - STDERR: # cleanup[3] wiping _json +2024-11-30 16:53:26,312 - api.main - INFO - STDERR: # cleanup[3] wiping typing +2024-11-30 16:53:26,312 - api.main - INFO - STDERR: # cleanup[3] wiping colorama.win32 +2024-11-30 16:53:26,312 - api.main - INFO - STDERR: # cleanup[3] wiping ctypes.wintypes +2024-11-30 16:53:26,312 - api.main - INFO - STDERR: # destroy ctypes +2024-11-30 16:53:26,312 - api.main - INFO - STDERR: # cleanup[3] wiping ctypes._endian +2024-11-30 16:53:26,312 - api.main - INFO - STDERR: # cleanup[3] wiping struct +2024-11-30 16:53:26,312 - api.main - INFO - STDERR: # cleanup[3] wiping _struct +2024-11-30 16:53:26,312 - api.main - INFO - STDERR: # cleanup[3] wiping _ctypes +2024-11-30 16:53:26,312 - api.main - INFO - STDERR: # cleanup[3] wiping contextlib +2024-11-30 16:53:26,313 - api.main - INFO - STDERR: # cleanup[3] wiping datetime +2024-11-30 16:53:26,313 - api.main - INFO - STDERR: # cleanup[3] wiping _datetime +2024-11-30 16:53:26,313 - api.main - INFO - STDERR: # cleanup[3] wiping random +2024-11-30 16:53:26,313 - api.main - INFO - STDERR: # cleanup[3] wiping _sha512 +2024-11-30 16:53:26,313 - api.main - INFO - STDERR: # cleanup[3] wiping _random +2024-11-30 16:53:26,313 - api.main - INFO - STDERR: # cleanup[3] wiping bisect +2024-11-30 16:53:26,313 - api.main - INFO - STDERR: # cleanup[3] wiping _bisect +2024-11-30 16:53:26,313 - api.main - INFO - STDERR: # cleanup[3] wiping math +2024-11-30 16:53:26,313 - api.main - INFO - STDERR: # cleanup[3] wiping logging +2024-11-30 16:53:26,313 - api.main - INFO - STDERR: # destroy logging.handlers +2024-11-30 16:53:26,313 - api.main - INFO - STDERR: # cleanup[3] wiping atexit +2024-11-30 16:53:26,313 - api.main - INFO - STDERR: # cleanup[3] wiping threading +2024-11-30 16:53:26,313 - api.main - INFO - STDERR: # cleanup[3] wiping string +2024-11-30 16:53:26,313 - api.main - INFO - STDERR: # cleanup[3] wiping _string +2024-11-30 16:53:26,365 - api.main - INFO - STDERR: # cleanup[3] wiping collections.abc +2024-11-30 16:53:26,366 - api.main - INFO - STDERR: # cleanup[3] wiping weakref +2024-11-30 16:53:26,366 - api.main - INFO - STDERR: # cleanup[3] wiping warnings +2024-11-30 16:53:26,366 - api.main - INFO - STDERR: # cleanup[3] wiping traceback +2024-11-30 16:53:26,366 - api.main - INFO - STDERR: # cleanup[3] wiping linecache +2024-11-30 16:53:26,366 - api.main - INFO - STDERR: # destroy tokenize +2024-11-30 16:53:26,366 - api.main - INFO - STDERR: # cleanup[3] wiping re +2024-11-30 16:53:26,366 - api.main - INFO - STDERR: # destroy sre_compile +2024-11-30 16:53:26,366 - api.main - INFO - STDERR: # cleanup[3] wiping copyreg +2024-11-30 16:53:26,366 - api.main - INFO - STDERR: # cleanup[3] wiping functools +2024-11-30 16:53:26,366 - api.main - INFO - STDERR: # cleanup[3] wiping _functools +2024-11-30 16:53:26,366 - api.main - INFO - STDERR: # cleanup[3] wiping collections +2024-11-30 16:53:26,367 - api.main - INFO - STDERR: # cleanup[3] wiping _collections +2024-11-30 16:53:26,367 - api.main - INFO - STDERR: # destroy _collections +2024-11-30 16:53:26,367 - api.main - INFO - STDERR: # cleanup[3] wiping reprlib +2024-11-30 16:53:26,367 - api.main - INFO - STDERR: # cleanup[3] wiping operator +2024-11-30 16:53:26,367 - api.main - INFO - STDERR: # cleanup[3] wiping _operator +2024-11-30 16:53:26,367 - api.main - INFO - STDERR: # cleanup[3] wiping keyword +2024-11-30 16:53:26,367 - api.main - INFO - STDERR: # cleanup[3] wiping itertools +2024-11-30 16:53:26,367 - api.main - INFO - STDERR: # cleanup[3] wiping heapq +2024-11-30 16:53:26,368 - api.main - INFO - STDERR: # cleanup[3] wiping _heapq +2024-11-30 16:53:26,368 - api.main - INFO - STDERR: # cleanup[3] wiping sre_parse +2024-11-30 16:53:26,368 - api.main - INFO - STDERR: # cleanup[3] wiping _sre +2024-11-30 16:53:26,369 - api.main - INFO - STDERR: # cleanup[3] wiping enum +2024-11-30 16:53:26,369 - api.main - INFO - STDERR: # cleanup[3] wiping types +2024-11-30 16:53:26,369 - api.main - INFO - STDERR: # cleanup[3] wiping _locale +2024-11-30 16:53:26,369 - api.main - INFO - STDERR: # cleanup[3] wiping os +2024-11-30 16:53:26,369 - api.main - INFO - STDERR: # cleanup[3] wiping os.path +2024-11-30 16:53:26,369 - api.main - INFO - STDERR: # destroy genericpath +2024-11-30 16:53:26,369 - api.main - INFO - STDERR: # cleanup[3] wiping ntpath +2024-11-30 16:53:26,369 - api.main - INFO - STDERR: # cleanup[3] wiping _collections_abc +2024-11-30 16:53:26,369 - api.main - INFO - STDERR: # cleanup[3] wiping stat +2024-11-30 16:53:26,369 - api.main - INFO - STDERR: # cleanup[3] wiping _stat +2024-11-30 16:53:26,369 - api.main - INFO - STDERR: # destroy _stat +2024-11-30 16:53:26,369 - api.main - INFO - STDERR: # cleanup[3] wiping io +2024-11-30 16:53:26,369 - api.main - INFO - STDERR: # cleanup[3] wiping abc +2024-11-30 16:53:26,369 - api.main - INFO - STDERR: # cleanup[3] wiping _abc +2024-11-30 16:53:26,369 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.latin_1 +2024-11-30 16:53:26,369 - api.main - INFO - STDERR: # cleanup[3] wiping _signal +2024-11-30 16:53:26,369 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.cp1252 +2024-11-30 16:53:26,369 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.utf_8 +2024-11-30 16:53:26,369 - api.main - INFO - STDERR: # cleanup[3] wiping encodings +2024-11-30 16:53:26,369 - api.main - INFO - STDERR: # destroy encodings.aliases +2024-11-30 16:53:26,369 - api.main - INFO - STDERR: # destroy encodings.utf_8 +2024-11-30 16:53:26,369 - api.main - INFO - STDERR: # destroy encodings.cp1252 +2024-11-30 16:53:26,369 - api.main - INFO - STDERR: # destroy encodings.latin_1 +2024-11-30 16:53:26,369 - api.main - INFO - STDERR: # destroy encodings.idna +2024-11-30 16:53:26,371 - api.main - INFO - STDERR: # destroy encodings.unicode_escape +2024-11-30 16:53:26,371 - api.main - INFO - STDERR: # cleanup[3] wiping codecs +2024-11-30 16:53:26,371 - api.main - INFO - STDERR: # cleanup[3] wiping _codecs +2024-11-30 16:53:26,423 - api.main - INFO - STDERR: # cleanup[3] wiping zipimport +2024-11-30 16:53:26,423 - api.main - INFO - STDERR: # destroy _frozen_importlib_external +2024-11-30 16:53:26,423 - api.main - INFO - STDERR: # cleanup[3] wiping time +2024-11-30 16:53:26,423 - api.main - INFO - STDERR: # cleanup[3] wiping winreg +2024-11-30 16:53:26,423 - api.main - INFO - STDERR: # cleanup[3] wiping nt +2024-11-30 16:53:26,423 - api.main - INFO - STDERR: # cleanup[3] wiping marshal +2024-11-30 16:53:26,423 - api.main - INFO - STDERR: # cleanup[3] wiping _io +2024-11-30 16:53:26,423 - api.main - INFO - STDERR: # cleanup[3] wiping _weakref +2024-11-30 16:53:26,424 - api.main - INFO - STDERR: # cleanup[3] wiping _warnings +2024-11-30 16:53:26,424 - api.main - INFO - STDERR: # cleanup[3] wiping _thread +2024-11-30 16:53:26,424 - api.main - INFO - STDERR: # cleanup[3] wiping _imp +2024-11-30 16:53:26,424 - api.main - INFO - STDERR: # cleanup[3] wiping _frozen_importlib +2024-11-30 16:53:26,424 - api.main - INFO - STDERR: # cleanup[3] wiping sys +2024-11-30 16:53:26,424 - api.main - INFO - STDERR: # cleanup[3] wiping builtins +2024-11-30 16:53:26,424 - api.main - INFO - STDERR: # destroy pyexpat.errors +2024-11-30 16:53:26,424 - api.main - INFO - STDERR: # destroy pyexpat.model +2024-11-30 16:53:26,424 - api.main - INFO - STDERR: # destroy gc +2024-11-30 16:53:26,424 - api.main - INFO - STDERR: # destroy wrapt._wrappers +2024-11-30 16:53:26,424 - api.main - INFO - STDERR: # destroy _asyncio +2024-11-30 16:53:26,424 - api.main - INFO - STDERR: # destroy PIL._imaging +2024-11-30 16:53:26,424 - api.main - INFO - STDERR: # destroy _multibytecodec +2024-11-30 16:53:26,424 - api.main - INFO - STDERR: # destroy charset_normalizer.md__mypyc +2024-11-30 16:53:26,425 - api.main - INFO - STDERR: # destroy _queue +2024-11-30 16:53:26,425 - api.main - INFO - STDERR: # destroy _ssl +2024-11-30 16:53:26,425 - api.main - INFO - STDERR: # destroy pyexpat +2024-11-30 16:53:26,425 - api.main - INFO - STDERR: # destroy _lzma +2024-11-30 16:53:26,425 - api.main - INFO - STDERR: # destroy _blake2 +2024-11-30 16:53:26,425 - api.main - INFO - STDERR: # destroy _datetime +2024-11-30 16:53:26,425 - api.main - INFO - STDERR: # destroy _sha512 +2024-11-30 16:53:26,425 - api.main - INFO - STDERR: # destroy _random +2024-11-30 16:53:26,426 - api.main - INFO - STDERR: # destroy _bisect +2024-11-30 16:53:26,426 - api.main - INFO - STDERR: # destroy _string +2024-11-30 16:53:26,426 - api.main - INFO - STDERR: # destroy winreg +2024-11-30 16:53:26,426 - api.main - INFO - STDERR: # destroy marshal +2024-11-30 16:53:26,426 - api.main - INFO - STDERR: # destroy _sre +2024-11-30 16:53:26,426 - api.main - INFO - STDERR: # destroy sre_parse +2024-11-30 16:53:26,426 - api.main - INFO - STDERR: # destroy charset_normalizer.md +2024-11-30 16:53:26,427 - api.main - INFO - STDERR: # destroy concurrent +2024-11-30 16:53:26,427 - api.main - INFO - STDERR: # destroy asyncio.sslproto +2024-11-30 16:53:26,427 - api.main - INFO - STDERR: # destroy asyncio.staggered +2024-11-30 16:53:26,427 - api.main - INFO - STDERR: # destroy asyncio.transports +2024-11-30 16:53:26,427 - api.main - INFO - STDERR: # destroy asyncio.trsock +2024-11-30 16:53:26,427 - api.main - INFO - STDERR: # destroy reprlib +2024-11-30 16:53:26,427 - api.main - INFO - STDERR: # destroy asyncio.constants +2024-11-30 16:53:26,428 - api.main - INFO - STDERR: # destroy linecache +2024-11-30 16:53:26,428 - api.main - INFO - STDERR: # destroy asyncio.base_futures +2024-11-30 16:53:26,428 - api.main - INFO - STDERR: # destroy asyncio.coroutines +2024-11-30 16:53:26,428 - api.main - INFO - STDERR: # destroy heapq +2024-11-30 16:53:26,428 - api.main - INFO - STDERR: # destroy asyncio.locks +2024-11-30 16:53:26,428 - api.main - INFO - STDERR: # destroy asyncio.protocols +2024-11-30 16:53:26,429 - api.main - INFO - STDERR: # destroy asyncio.streams +2024-11-30 16:53:26,429 - api.main - INFO - STDERR: # destroy contextvars +2024-11-30 16:53:26,488 - api.main - INFO - STDERR: # destroy _overlapped +2024-11-30 16:53:26,488 - api.main - INFO - STDERR: # destroy asyncio.events +2024-11-30 16:53:26,488 - api.main - INFO - STDERR: # destroy asyncio.base_subprocess +2024-11-30 16:53:26,489 - api.main - INFO - STDERR: # destroy asyncio.futures +2024-11-30 16:53:26,489 - api.main - INFO - STDERR: # destroy asyncio.exceptions +2024-11-30 16:53:26,489 - api.main - INFO - STDERR: # destroy asyncio.proactor_events +2024-11-30 16:53:26,489 - api.main - INFO - STDERR: # destroy asyncio.selector_events +2024-11-30 16:53:26,489 - api.main - INFO - STDERR: # destroy asyncio.tasks +2024-11-30 16:53:26,489 - api.main - INFO - STDERR: # destroy asyncio.windows_utils +2024-11-30 16:53:26,489 - api.main - INFO - STDERR: # destroy _compat_pickle +2024-11-30 16:53:26,489 - api.main - INFO - STDERR: # destroy _pickle +2024-11-30 16:53:26,489 - api.main - INFO - STDERR: # destroy _signal +2024-11-30 16:53:26,489 - api.main - INFO - STDERR: # destroy _opcode +2024-11-30 16:53:26,489 - api.main - INFO - STDERR: # destroy _winapi +2024-11-30 16:53:26,489 - api.main - INFO - STDERR: # destroy copyreg +2024-11-30 16:53:26,489 - api.main - INFO - STDERR: # destroy logzero.colors +2024-11-30 16:53:26,489 - api.main - INFO - STDERR: # destroy logzero.jsonlogger +2024-11-30 16:53:26,489 - api.main - INFO - STDERR: # destroy enum +2024-11-30 16:53:26,489 - api.main - INFO - STDERR: # destroy packaging.version +2024-11-30 16:53:26,489 - api.main - INFO - STDERR: # destroy whichcraft +2024-11-30 16:53:26,489 - api.main - INFO - STDERR: # destroy colorama.win32 +2024-11-30 16:53:26,489 - api.main - INFO - STDERR: # destroy emoji +2024-11-30 16:53:26,489 - api.main - INFO - STDERR: # destroy urllib3 +2024-11-30 16:53:26,489 - api.main - INFO - STDERR: # destroy _uuid +2024-11-30 16:53:26,490 - api.main - INFO - STDERR: # destroy xml +2024-11-30 16:53:26,490 - api.main - INFO - STDERR: # destroy xmltodict +2024-11-30 16:53:26,490 - api.main - INFO - STDERR: # destroy pprint +2024-11-30 16:53:26,490 - api.main - INFO - STDERR: # destroy json.scanner +2024-11-30 16:53:26,490 - api.main - INFO - STDERR: # destroy _json +2024-11-30 16:53:26,490 - api.main - INFO - STDERR: # destroy keyword +2024-11-30 16:53:26,490 - api.main - INFO - STDERR: # destroy wrapt +2024-11-30 16:53:26,490 - api.main - INFO - STDERR: # destroy random +2024-11-30 16:53:26,490 - api.main - INFO - STDERR: # destroy shlex +2024-11-30 16:53:26,490 - api.main - INFO - STDERR: # destroy filelock +2024-11-30 16:53:26,490 - api.main - INFO - STDERR: # destroy six +2024-11-30 16:53:26,490 - api.main - INFO - STDERR: # destroy abc +2024-11-30 16:53:26,490 - api.main - INFO - STDERR: # destroy tarfile +2024-11-30 16:53:26,490 - api.main - INFO - STDERR: # destroy adbutils +2024-11-30 16:53:26,490 - api.main - INFO - STDERR: # destroy progress +2024-11-30 16:53:26,491 - api.main - INFO - STDERR: # destroy uiautomator2 +2024-11-30 16:53:26,491 - api.main - INFO - STDERR: # destroy base64 +2024-11-30 16:53:26,491 - api.main - INFO - STDERR: # destroy html +2024-11-30 16:53:26,491 - api.main - INFO - STDERR: # destroy _imp +2024-11-30 16:53:26,491 - api.main - INFO - STDERR: # destroy ntpath +2024-11-30 16:53:26,491 - api.main - INFO - STDERR: # destroy plistlib +2024-11-30 16:53:26,491 - api.main - INFO - STDERR: # destroy posixpath +2024-11-30 16:53:26,491 - api.main - INFO - STDERR: # destroy zipimport +2024-11-30 16:53:26,491 - api.main - INFO - STDERR: # destroy nt +2024-11-30 16:53:26,491 - api.main - INFO - STDERR: # destroy packaging +2024-11-30 16:53:26,491 - api.main - INFO - STDERR: # destroy msvcrt +2024-11-30 16:53:26,491 - api.main - INFO - STDERR: # destroy _weakref +2024-11-30 16:53:26,491 - api.main - INFO - STDERR: # destroy requests.sessions +2024-11-30 16:53:26,491 - api.main - INFO - STDERR: # destroy six.moves.urllib_parse +2024-11-30 16:53:26,491 - api.main - INFO - STDERR: # destroy six.moves.urllib.error +2024-11-30 16:53:26,491 - api.main - INFO - STDERR: # destroy six.moves.urllib.request +2024-11-30 16:53:26,503 - api.main - INFO - STDERR: # destroy six.moves.urllib.response +2024-11-30 16:53:26,503 - api.main - INFO - STDERR: # destroy six.moves.urllib.robotparser +2024-11-30 16:53:26,503 - api.main - INFO - STDERR: # destroy emoji.unicode_codes +2024-11-30 16:53:26,503 - api.main - INFO - STDERR: # destroy _socket +2024-11-30 16:53:26,503 - api.main - INFO - STDERR: # destroy xml.dom.minidom +2024-11-30 16:53:26,503 - api.main - INFO - STDERR: # destroy apkutils2.axml.public +2024-11-30 16:53:26,503 - api.main - INFO - STDERR: # destroy pathlib +2024-11-30 16:53:26,503 - api.main - INFO - STDERR: # destroy apkutils2 +2024-11-30 16:53:26,503 - api.main - INFO - STDERR: # destroy requests +2024-11-30 16:53:26,504 - api.main - INFO - STDERR: # destroy PIL.Image +2024-11-30 16:53:26,504 - api.main - INFO - STDERR: # destroy calendar +2024-11-30 16:53:26,504 - api.main - INFO - STDERR: # destroy zipfile +2024-11-30 16:53:26,504 - api.main - INFO - STDERR: # destroy requests.certs +2024-11-30 16:53:26,504 - api.main - INFO - STDERR: # destroy hashlib +2024-11-30 16:53:26,504 - api.main - INFO - STDERR: # destroy charset_normalizer +2024-11-30 16:53:26,504 - api.main - INFO - STDERR: # destroy json +2024-11-30 16:53:26,504 - api.main - INFO - STDERR: # destroy asyncio +2024-11-30 16:53:26,505 - api.main - INFO - STDERR: # destroy datetime +2024-11-30 16:53:26,505 - api.main - INFO - STDERR: # destroy urllib3.util.connection +2024-11-30 16:53:26,505 - api.main - INFO - STDERR: # destroy email +2024-11-30 16:53:26,505 - api.main - INFO - STDERR: # destroy mimetypes +2024-11-30 16:53:26,505 - api.main - INFO - STDERR: # destroy codecs +2024-11-30 16:53:26,505 - api.main - INFO - STDERR: # destroy urllib3.util +2024-11-30 16:53:26,505 - api.main - INFO - STDERR: # destroy queue +2024-11-30 16:53:26,505 - api.main - INFO - STDERR: # destroy configargparse +2024-11-30 16:53:26,505 - api.main - INFO - STDERR: # destroy yaml +2024-11-30 16:53:26,505 - api.main - INFO - STDERR: # destroy textwrap +2024-11-30 16:53:26,505 - api.main - INFO - STDERR: # destroy platformdirs.api +2024-11-30 16:53:26,505 - api.main - INFO - STDERR: # destroy platformdirs.version +2024-11-30 16:53:26,505 - api.main - INFO - STDERR: # destroy platformdirs.windows +2024-11-30 16:53:26,505 - api.main - INFO - STDERR: # destroy xml.sax.handler +2024-11-30 16:53:26,505 - api.main - INFO - STDERR: # destroy atexit +2024-11-30 16:53:26,505 - api.main - INFO - STDERR: # destroy weakref +2024-11-30 16:53:26,506 - api.main - INFO - STDERR: # destroy _thread +2024-11-30 16:53:26,506 - api.main - INFO - STDERR: # destroy errno +2024-11-30 16:53:26,506 - api.main - INFO - STDERR: # destroy select +2024-11-30 16:53:26,506 - api.main - INFO - STDERR: # destroy socket +2024-11-30 16:53:26,506 - api.main - INFO - STDERR: # destroy hmac +2024-11-30 16:53:26,506 - api.main - INFO - STDERR: # destroy urllib3.packages.six +2024-11-30 16:53:26,506 - api.main - INFO - STDERR: # destroy _hashlib +2024-11-30 16:53:26,506 - api.main - INFO - STDERR: # destroy ssl +2024-11-30 16:53:26,506 - api.main - INFO - STDERR: # destroy string +2024-11-30 16:53:26,506 - api.main - INFO - STDERR: # destroy copy +2024-11-30 16:53:26,506 - api.main - INFO - STDERR: # destroy traceback +2024-11-30 16:53:26,506 - api.main - INFO - STDERR: # destroy more_itertools +2024-11-30 16:53:26,506 - api.main - INFO - STDERR: # destroy tempfile +2024-11-30 16:53:26,506 - api.main - INFO - STDERR: # destroy urllib +2024-11-30 16:53:26,506 - api.main - INFO - STDERR: # destroy backports.tarfile +2024-11-30 16:53:26,506 - api.main - INFO - STDERR: # destroy _warnings +2024-11-30 16:53:26,506 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib_parse +2024-11-30 16:53:26,507 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib.error +2024-11-30 16:53:26,507 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib.request +2024-11-30 16:53:26,507 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib.response +2024-11-30 16:53:26,520 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib.robotparser +2024-11-30 16:53:26,520 - api.main - INFO - STDERR: # destroy stat +2024-11-30 16:53:26,521 - api.main - INFO - STDERR: # destroy threading +2024-11-30 16:53:26,521 - api.main - INFO - STDERR: # destroy zlib +2024-11-30 16:53:26,521 - api.main - INFO - STDERR: # destroy bz2 +2024-11-30 16:53:26,521 - api.main - INFO - STDERR: # destroy lzma +2024-11-30 16:53:26,521 - api.main - INFO - STDERR: # destroy distutils.compat.py38 +2024-11-30 16:53:26,521 - api.main - INFO - STDERR: # destroy distutils.compat.py39 +2024-11-30 16:53:26,521 - api.main - INFO - STDERR: # destroy platform +2024-11-30 16:53:26,521 - api.main - INFO - STDERR: # destroy shutil +2024-11-30 16:53:26,522 - api.main - INFO - STDERR: # destroy subprocess +2024-11-30 16:53:26,522 - api.main - INFO - STDERR: # destroy distutils._modified +2024-11-30 16:53:26,522 - api.main - INFO - STDERR: # destroy distutils.archive_util +2024-11-30 16:53:26,522 - api.main - INFO - STDERR: # destroy distutils.dir_util +2024-11-30 16:53:26,522 - api.main - INFO - STDERR: # destroy distutils.file_util +2024-11-30 16:53:26,522 - api.main - INFO - STDERR: # destroy distutils.util +2024-11-30 16:53:26,522 - api.main - INFO - STDERR: # destroy importlib +2024-11-30 16:53:26,522 - api.main - INFO - STDERR: # destroy http.client +2024-11-30 16:53:26,523 - api.main - INFO - STDERR: # destroy http.cookiejar +2024-11-30 16:53:26,523 - api.main - INFO - STDERR: # destroy http.cookies +2024-11-30 16:53:26,523 - api.main - INFO - STDERR: # destroy bisect +2024-11-30 16:53:26,523 - api.main - INFO - STDERR: # destroy unicodedata +2024-11-30 16:53:26,523 - api.main - INFO - STDERR: # destroy idna.idnadata +2024-11-30 16:53:26,523 - api.main - INFO - STDERR: # destroy encodings +2024-11-30 16:53:26,523 - api.main - INFO - STDERR: # destroy _collections_abc +2024-11-30 16:53:26,523 - api.main - INFO - STDERR: # destroy _locale +2024-11-30 16:53:26,523 - api.main - INFO - STDERR: # destroy contextlib +2024-11-30 16:53:26,523 - api.main - INFO - STDERR: # destroy fnmatch +2024-11-30 16:53:26,523 - api.main - INFO - STDERR: # destroy inspect +2024-11-30 16:53:26,523 - api.main - INFO - STDERR: # destroy pkgutil +2024-11-30 16:53:26,523 - api.main - INFO - STDERR: # destroy collections +2024-11-30 16:53:26,523 - api.main - INFO - STDERR: # destroy struct +2024-11-30 16:53:26,523 - api.main - INFO - STDERR: # destroy apkutils2.dex.dalvikformats +2024-11-30 16:53:26,524 - api.main - INFO - STDERR: # destroy apkutils2.dex.util +2024-11-30 16:53:26,524 - api.main - INFO - STDERR: # destroy array +2024-11-30 16:53:26,524 - api.main - INFO - STDERR: # destroy binascii +2024-11-30 16:53:26,524 - api.main - INFO - STDERR: # destroy setuptools._distutils +2024-11-30 16:53:26,524 - api.main - INFO - STDERR: # destroy operator +2024-11-30 16:53:26,524 - api.main - INFO - STDERR: # destroy warnings +2024-11-30 16:53:26,524 - api.main - INFO - STDERR: # destroy collections.abc +2024-11-30 16:53:26,524 - api.main - INFO - STDERR: # destroy _functools +2024-11-30 16:53:26,524 - api.main - INFO - STDERR: # destroy _heapq +2024-11-30 16:53:26,524 - api.main - INFO - STDERR: # destroy itertools +2024-11-30 16:53:26,524 - api.main - INFO - STDERR: # destroy math +2024-11-30 16:53:26,524 - api.main - INFO - STDERR: # destroy _operator +2024-11-30 16:53:26,524 - api.main - INFO - STDERR: # destroy time +2024-11-30 16:53:26,524 - api.main - INFO - STDERR: # destroy _frozen_importlib +2024-11-30 16:53:26,524 - api.main - INFO - STDERR: # clear sys.audit hooks +2024-11-30 16:58:21,962 - api.main - INFO - All tasks cleaned up. +2024-11-30 16:58:21,978 - api.main - INFO - All tasks cleaned up. +2024-11-30 16:58:21,994 - api.main - INFO - All tasks cleaned up. +2024-11-30 16:58:21,994 - api.main - INFO - All tasks cleaned up. +2024-11-30 16:58:22,958 - api.main - INFO - API startup complete +2024-11-30 16:58:23,006 - api.main - INFO - API startup complete +2024-11-30 16:58:23,021 - api.main - INFO - API startup complete +2024-11-30 16:58:23,045 - api.main - INFO - API startup complete +2024-11-30 16:58:23,074 - api.main - INFO - API startup complete +2024-11-30 16:59:10,189 - api.main - INFO - All tasks cleaned up. +2024-11-30 16:59:10,220 - api.main - INFO - All tasks cleaned up. +2024-11-30 16:59:10,251 - api.main - INFO - All tasks cleaned up. +2024-11-30 16:59:10,266 - api.main - INFO - All tasks cleaned up. +2024-11-30 16:59:11,138 - api.main - INFO - API startup complete +2024-11-30 16:59:11,167 - api.main - INFO - API startup complete +2024-11-30 16:59:11,206 - api.main - INFO - API startup complete +2024-11-30 16:59:11,218 - api.main - INFO - API startup complete +2024-11-30 16:59:11,247 - api.main - INFO - API startup complete +2024-11-30 16:59:40,667 - api.main - INFO - API startup complete +2024-11-30 17:02:25,717 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:02:25,732 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:02:25,747 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:02:25,778 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:02:25,793 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:02:26,888 - api.main - INFO - API startup complete +2024-11-30 17:02:26,934 - api.main - INFO - API startup complete +2024-11-30 17:02:26,957 - api.main - INFO - API startup complete +2024-11-30 17:02:27,217 - api.main - INFO - API startup complete +2024-11-30 17:02:27,264 - api.main - INFO - API startup complete +2024-11-30 17:02:27,426 - api.main - INFO - API startup complete +2024-11-30 17:02:32,862 - api.main - INFO - Updated configuration for account quecreate +2024-11-30 17:04:09,119 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:04:09,150 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:04:09,150 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:04:09,181 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:04:09,211 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:04:10,137 - api.main - INFO - API startup complete +2024-11-30 17:04:10,250 - api.main - INFO - API startup complete +2024-11-30 17:04:10,277 - api.main - INFO - API startup complete +2024-11-30 17:04:10,298 - api.main - INFO - API startup complete +2024-11-30 17:04:10,334 - api.main - INFO - API startup complete +2024-11-30 17:04:10,435 - api.main - INFO - API startup complete +2024-11-30 17:04:22,343 - api.main - INFO - Updated configuration for account quecreate +2024-11-30 17:05:40,158 - api.main - INFO - Starting session for account quecreate with config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml +2024-11-30 17:05:40,158 - api.main - INFO - Running command: e:\PROJECTS\instagram automation\virtualinfluencer\venv\Scripts\python.exe -v e:\PROJECTS\instagram automation\virtualinfluencer\run.py --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 17:05:40,158 - api.main - INFO - Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 17:05:40,158 - api.main - INFO - Environment PYTHONPATH: None +2024-11-30 17:05:40,158 - api.main - INFO - Starting process with command: e:\PROJECTS\instagram automation\virtualinfluencer\venv\Scripts\python.exe -v e:\PROJECTS\instagram automation\virtualinfluencer\run.py --config e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml --use-nocodb --debug +2024-11-30 17:05:40,159 - api.main - INFO - Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 17:05:40,159 - api.main - INFO - PYTHONPATH: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 17:05:40,166 - api.main - INFO - Process started with PID: 26124 +2024-11-30 17:05:40,166 - api.main - INFO - Successfully started session for account: quecreate +2024-11-30 17:05:40,189 - api.main - INFO - STDERR: import _frozen_importlib # frozen +2024-11-30 17:05:40,189 - api.main - INFO - STDERR: import _imp # builtin +2024-11-30 17:05:40,189 - api.main - INFO - STDERR: import '_thread' # +2024-11-30 17:05:40,189 - api.main - INFO - STDERR: import '_warnings' # +2024-11-30 17:05:40,190 - api.main - INFO - STDERR: import '_weakref' # +2024-11-30 17:05:40,190 - api.main - INFO - STDERR: import '_io' # +2024-11-30 17:05:40,190 - api.main - INFO - STDERR: import 'marshal' # +2024-11-30 17:05:40,190 - api.main - INFO - STDERR: import 'nt' # +2024-11-30 17:05:40,190 - api.main - INFO - STDERR: import 'winreg' # +2024-11-30 17:05:40,190 - api.main - INFO - STDERR: import '_frozen_importlib_external' # +2024-11-30 17:05:40,190 - api.main - INFO - STDERR: # installing zipimport hook +2024-11-30 17:05:40,190 - api.main - INFO - STDERR: import 'time' # +2024-11-30 17:05:40,190 - api.main - INFO - STDERR: import 'zipimport' # +2024-11-30 17:05:40,190 - api.main - INFO - STDERR: # installed zipimport hook +2024-11-30 17:05:40,193 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__init__.py +2024-11-30 17:05:40,194 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,194 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\codecs.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\codecs.py +2024-11-30 17:05:40,194 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\codecs.cpython-39.pyc' +2024-11-30 17:05:40,194 - api.main - INFO - STDERR: import '_codecs' # +2024-11-30 17:05:40,195 - api.main - INFO - STDERR: import 'codecs' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC0A5940> +2024-11-30 17:05:40,195 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\aliases.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\aliases.py +2024-11-30 17:05:40,195 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\aliases.cpython-39.pyc' +2024-11-30 17:05:40,196 - api.main - INFO - STDERR: import 'encodings.aliases' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC214EB0> +2024-11-30 17:05:40,196 - api.main - INFO - STDERR: import 'encodings' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC0A5730> +2024-11-30 17:05:40,196 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\utf_8.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\utf_8.py +2024-11-30 17:05:40,197 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\utf_8.cpython-39.pyc' +2024-11-30 17:05:40,197 - api.main - INFO - STDERR: import 'encodings.utf_8' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC0A5790> +2024-11-30 17:05:40,197 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\cp1252.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\cp1252.py +2024-11-30 17:05:40,198 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\cp1252.cpython-39.pyc' +2024-11-30 17:05:40,198 - api.main - INFO - STDERR: import 'encodings.cp1252' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC214FA0> +2024-11-30 17:05:40,198 - api.main - INFO - STDERR: import '_signal' # +2024-11-30 17:05:40,198 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\latin_1.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\latin_1.py +2024-11-30 17:05:40,198 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\latin_1.cpython-39.pyc' +2024-11-30 17:05:40,198 - api.main - INFO - STDERR: import 'encodings.latin_1' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC22C340> +2024-11-30 17:05:40,198 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\io.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\io.py +2024-11-30 17:05:40,198 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\io.cpython-39.pyc' +2024-11-30 17:05:40,199 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\abc.py +2024-11-30 17:05:40,199 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 17:05:40,199 - api.main - INFO - STDERR: import '_abc' # +2024-11-30 17:05:40,200 - api.main - INFO - STDERR: import 'abc' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC22C7F0> +2024-11-30 17:05:40,200 - api.main - INFO - STDERR: import 'io' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC22C520> +2024-11-30 17:05:40,201 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\site.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\site.py +2024-11-30 17:05:40,201 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\site.cpython-39.pyc' +2024-11-30 17:05:40,203 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\os.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\os.py +2024-11-30 17:05:40,203 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\os.cpython-39.pyc' +2024-11-30 17:05:40,204 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\stat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\stat.py +2024-11-30 17:05:40,204 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\stat.cpython-39.pyc' +2024-11-30 17:05:40,204 - api.main - INFO - STDERR: import '_stat' # +2024-11-30 17:05:40,204 - api.main - INFO - STDERR: import 'stat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC24FFA0> +2024-11-30 17:05:40,206 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_collections_abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_collections_abc.py +2024-11-30 17:05:40,209 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_collections_abc.cpython-39.pyc' +2024-11-30 17:05:40,209 - api.main - INFO - STDERR: import '_collections_abc' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC256130> +2024-11-30 17:05:40,209 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ntpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ntpath.py +2024-11-30 17:05:40,209 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ntpath.cpython-39.pyc' +2024-11-30 17:05:40,209 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\genericpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\genericpath.py +2024-11-30 17:05:40,209 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\genericpath.cpython-39.pyc' +2024-11-30 17:05:40,209 - api.main - INFO - STDERR: import 'genericpath' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC27F970> +2024-11-30 17:05:40,209 - api.main - INFO - STDERR: import 'ntpath' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC256A60> +2024-11-30 17:05:40,209 - api.main - INFO - STDERR: import 'os' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC2357C0> +2024-11-30 17:05:40,210 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_sitebuiltins.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_sitebuiltins.py +2024-11-30 17:05:40,210 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_sitebuiltins.cpython-39.pyc' +2024-11-30 17:05:40,210 - api.main - INFO - STDERR: import '_sitebuiltins' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC24F460> +2024-11-30 17:05:40,212 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_bootlocale.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_bootlocale.py +2024-11-30 17:05:40,213 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_bootlocale.cpython-39.pyc' +2024-11-30 17:05:40,213 - api.main - INFO - STDERR: import '_locale' # +2024-11-30 17:05:40,213 - api.main - INFO - STDERR: import '_bootlocale' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC27FD90> +2024-11-30 17:05:40,214 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__init__.py +2024-11-30 17:05:40,214 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\_distutils_hack\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,214 - api.main - INFO - STDERR: import '_distutils_hack' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC295B80> +2024-11-30 17:05:40,216 - api.main - INFO - STDERR: import 'site' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC22C850> +2024-11-30 17:05:40,216 - api.main - INFO - STDERR: Python 3.9.10 (tags/v3.9.10:f2f3f53, Jan 17 2022, 15:14:21) [MSC v.1929 64 bit (AMD64)] on win32 +2024-11-30 17:05:40,216 - api.main - INFO - STDERR: Type "help", "copyright", "credits" or "license" for more information. +2024-11-30 17:05:40,218 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\__init__.py +2024-11-30 17:05:40,218 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,220 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__init__.py +2024-11-30 17:05:40,220 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,220 - api.main - INFO - STDERR: import 'GramAddict.core' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC2A45B0> +2024-11-30 17:05:40,220 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\bot_flow.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\bot_flow.py +2024-11-30 17:05:40,221 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\bot_flow.cpython-39.pyc' +2024-11-30 17:05:40,223 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__init__.py +2024-11-30 17:05:40,224 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\logging\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,225 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\re.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\re.py +2024-11-30 17:05:40,225 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\re.cpython-39.pyc' +2024-11-30 17:05:40,226 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\enum.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\enum.py +2024-11-30 17:05:40,226 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\enum.cpython-39.pyc' +2024-11-30 17:05:40,227 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\types.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\types.py +2024-11-30 17:05:40,227 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\types.cpython-39.pyc' +2024-11-30 17:05:40,227 - api.main - INFO - STDERR: import 'types' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC4E74C0> +2024-11-30 17:05:40,228 - api.main - INFO - STDERR: import 'enum' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC4CEFD0> +2024-11-30 17:05:40,229 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_compile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_compile.py +2024-11-30 17:05:40,229 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_compile.cpython-39.pyc' +2024-11-30 17:05:40,229 - api.main - INFO - STDERR: import '_sre' # +2024-11-30 17:05:40,230 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_parse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_parse.py +2024-11-30 17:05:40,230 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_parse.cpython-39.pyc' +2024-11-30 17:05:40,230 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_constants.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_constants.py +2024-11-30 17:05:40,231 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_constants.cpython-39.pyc' +2024-11-30 17:05:40,231 - api.main - INFO - STDERR: import 'sre_constants' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC50B2E0> +2024-11-30 17:05:40,231 - api.main - INFO - STDERR: import 'sre_parse' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC4F98B0> +2024-11-30 17:05:40,231 - api.main - INFO - STDERR: import 'sre_compile' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC4E7FD0> +2024-11-30 17:05:40,233 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\functools.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\functools.py +2024-11-30 17:05:40,234 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\functools.cpython-39.pyc' +2024-11-30 17:05:40,235 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__init__.py +2024-11-30 17:05:40,235 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\collections\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,236 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\heapq.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\heapq.py +2024-11-30 17:05:40,236 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\heapq.cpython-39.pyc' +2024-11-30 17:05:40,236 - api.main - INFO - STDERR: import '_heapq' # +2024-11-30 17:05:40,236 - api.main - INFO - STDERR: import 'heapq' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC53EA60> +2024-11-30 17:05:40,236 - api.main - INFO - STDERR: import 'itertools' # +2024-11-30 17:05:40,237 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\keyword.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\keyword.py +2024-11-30 17:05:40,237 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\keyword.cpython-39.pyc' +2024-11-30 17:05:40,237 - api.main - INFO - STDERR: import 'keyword' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC53EFD0> +2024-11-30 17:05:40,238 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\operator.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\operator.py +2024-11-30 17:05:40,238 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\operator.cpython-39.pyc' +2024-11-30 17:05:40,238 - api.main - INFO - STDERR: import '_operator' # +2024-11-30 17:05:40,239 - api.main - INFO - STDERR: import 'operator' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC53EF10> +2024-11-30 17:05:40,239 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\reprlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\reprlib.py +2024-11-30 17:05:40,239 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\reprlib.cpython-39.pyc' +2024-11-30 17:05:40,239 - api.main - INFO - STDERR: import 'reprlib' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC550160> +2024-11-30 17:05:40,239 - api.main - INFO - STDERR: import '_collections' # +2024-11-30 17:05:40,240 - api.main - INFO - STDERR: import 'collections' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC519EE0> +2024-11-30 17:05:40,240 - api.main - INFO - STDERR: import '_functools' # +2024-11-30 17:05:40,240 - api.main - INFO - STDERR: import 'functools' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC511790> +2024-11-30 17:05:40,242 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\copyreg.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\copyreg.py +2024-11-30 17:05:40,242 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\copyreg.cpython-39.pyc' +2024-11-30 17:05:40,242 - api.main - INFO - STDERR: import 'copyreg' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC527730> +2024-11-30 17:05:40,242 - api.main - INFO - STDERR: import 're' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC4CE580> +2024-11-30 17:05:40,243 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\traceback.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\traceback.py +2024-11-30 17:05:40,243 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\traceback.cpython-39.pyc' +2024-11-30 17:05:40,243 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\linecache.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\linecache.py +2024-11-30 17:05:40,244 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\linecache.cpython-39.pyc' +2024-11-30 17:05:40,244 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tokenize.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tokenize.py +2024-11-30 17:05:40,244 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tokenize.cpython-39.pyc' +2024-11-30 17:05:40,245 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\token.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\token.py +2024-11-30 17:05:40,245 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\token.cpython-39.pyc' +2024-11-30 17:05:40,245 - api.main - INFO - STDERR: import 'token' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC553F40> +2024-11-30 17:05:40,246 - api.main - INFO - STDERR: import 'tokenize' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC553550> +2024-11-30 17:05:40,246 - api.main - INFO - STDERR: import 'linecache' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC550A90> +2024-11-30 17:05:40,246 - api.main - INFO - STDERR: import 'traceback' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC527340> +2024-11-30 17:05:40,247 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\warnings.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\warnings.py +2024-11-30 17:05:40,247 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\warnings.cpython-39.pyc' +2024-11-30 17:05:40,247 - api.main - INFO - STDERR: import 'warnings' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC550910> +2024-11-30 17:05:40,248 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\weakref.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\weakref.py +2024-11-30 17:05:40,248 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\weakref.cpython-39.pyc' +2024-11-30 17:05:40,249 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_weakrefset.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_weakrefset.py +2024-11-30 17:05:40,249 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_weakrefset.cpython-39.pyc' +2024-11-30 17:05:40,250 - api.main - INFO - STDERR: import '_weakrefset' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC595D90> +2024-11-30 17:05:40,250 - api.main - INFO - STDERR: import 'weakref' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC559760> +2024-11-30 17:05:40,250 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\abc.py +2024-11-30 17:05:40,250 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\collections\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 17:05:40,250 - api.main - INFO - STDERR: import 'collections.abc' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC59FA30> +2024-11-30 17:05:40,250 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\string.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\string.py +2024-11-30 17:05:40,250 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\string.cpython-39.pyc' +2024-11-30 17:05:40,251 - api.main - INFO - STDERR: import '_string' # +2024-11-30 17:05:40,251 - api.main - INFO - STDERR: import 'string' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC59FB20> +2024-11-30 17:05:40,252 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\threading.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\threading.py +2024-11-30 17:05:40,252 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\threading.cpython-39.pyc' +2024-11-30 17:05:40,253 - api.main - INFO - STDERR: import 'threading' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC5AA130> +2024-11-30 17:05:40,254 - api.main - INFO - STDERR: import 'atexit' # +2024-11-30 17:05:40,254 - api.main - INFO - STDERR: import 'logging' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC2A4190> +2024-11-30 17:05:40,255 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\random.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\random.py +2024-11-30 17:05:40,256 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\random.cpython-39.pyc' +2024-11-30 17:05:40,256 - api.main - INFO - STDERR: import 'math' # +2024-11-30 17:05:40,257 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\bisect.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\bisect.py +2024-11-30 17:05:40,257 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\bisect.cpython-39.pyc' +2024-11-30 17:05:40,257 - api.main - INFO - STDERR: import '_bisect' # +2024-11-30 17:05:40,257 - api.main - INFO - STDERR: import 'bisect' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC5CCF40> +2024-11-30 17:05:40,257 - api.main - INFO - STDERR: import '_random' # +2024-11-30 17:05:40,257 - api.main - INFO - STDERR: import '_sha512' # +2024-11-30 17:05:40,257 - api.main - INFO - STDERR: import 'random' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC295130> +2024-11-30 17:05:40,263 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\datetime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\datetime.py +2024-11-30 17:05:40,263 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\datetime.cpython-39.pyc' +2024-11-30 17:05:40,263 - api.main - INFO - STDERR: import '_datetime' # +2024-11-30 17:05:40,263 - api.main - INFO - STDERR: import 'datetime' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC5E4190> +2024-11-30 17:05:40,263 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__init__.py +2024-11-30 17:05:40,264 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,264 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\initialise.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\initialise.py +2024-11-30 17:05:40,264 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\initialise.cpython-39.pyc' +2024-11-30 17:05:40,264 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\contextlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\contextlib.py +2024-11-30 17:05:40,264 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\contextlib.cpython-39.pyc' +2024-11-30 17:05:40,264 - api.main - INFO - STDERR: import 'contextlib' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC60FBB0> +2024-11-30 17:05:40,265 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\ansitowin32.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\ansitowin32.py +2024-11-30 17:05:40,265 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\ansitowin32.cpython-39.pyc' +2024-11-30 17:05:40,266 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\ansi.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\ansi.py +2024-11-30 17:05:40,266 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\ansi.cpython-39.pyc' +2024-11-30 17:05:40,266 - api.main - INFO - STDERR: import 'colorama.ansi' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC61F730> +2024-11-30 17:05:40,266 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\winterm.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\winterm.py +2024-11-30 17:05:40,267 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\winterm.cpython-39.pyc' +2024-11-30 17:05:40,267 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\win32.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\win32.py +2024-11-30 17:05:40,302 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\win32.cpython-39.pyc' +2024-11-30 17:05:40,302 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__init__.py +2024-11-30 17:05:40,303 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,303 - api.main - INFO - STDERR: # extension module '_ctypes' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ctypes.pyd' +2024-11-30 17:05:40,303 - api.main - INFO - STDERR: # extension module '_ctypes' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ctypes.pyd' +2024-11-30 17:05:40,303 - api.main - INFO - STDERR: import '_ctypes' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FC6407C0> +2024-11-30 17:05:40,303 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\struct.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\struct.py +2024-11-30 17:05:40,304 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\struct.cpython-39.pyc' +2024-11-30 17:05:40,304 - api.main - INFO - STDERR: import '_struct' # +2024-11-30 17:05:40,304 - api.main - INFO - STDERR: import 'struct' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC640CA0> +2024-11-30 17:05:40,305 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\_endian.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\_endian.py +2024-11-30 17:05:40,305 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\_endian.cpython-39.pyc' +2024-11-30 17:05:40,305 - api.main - INFO - STDERR: import 'ctypes._endian' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC652A00> +2024-11-30 17:05:40,305 - api.main - INFO - STDERR: import 'ctypes' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC634520> +2024-11-30 17:05:40,306 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\wintypes.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\wintypes.py +2024-11-30 17:05:40,306 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\wintypes.cpython-39.pyc' +2024-11-30 17:05:40,306 - api.main - INFO - STDERR: import 'ctypes.wintypes' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC634970> +2024-11-30 17:05:40,307 - api.main - INFO - STDERR: import 'colorama.win32' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC60F2E0> +2024-11-30 17:05:40,307 - api.main - INFO - STDERR: import 'colorama.winterm' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC61FD30> +2024-11-30 17:05:40,307 - api.main - INFO - STDERR: import 'colorama.ansitowin32' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC60FF10> +2024-11-30 17:05:40,307 - api.main - INFO - STDERR: import 'colorama.initialise' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC60F940> +2024-11-30 17:05:40,328 - api.main - INFO - STDERR: import 'colorama' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC5E4220> +2024-11-30 17:05:40,328 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\config.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\config.py +2024-11-30 17:05:40,328 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\config.cpython-39.pyc' +2024-11-30 17:05:40,329 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\typing.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\typing.py +2024-11-30 17:05:40,329 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\typing.cpython-39.pyc' +2024-11-30 17:05:40,330 - api.main - INFO - STDERR: import 'typing' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC652FA0> +2024-11-30 17:05:40,330 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\configargparse.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\configargparse.py +2024-11-30 17:05:40,330 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\configargparse.cpython-39.pyc' +2024-11-30 17:05:40,331 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\argparse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\argparse.py +2024-11-30 17:05:40,331 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\argparse.cpython-39.pyc' +2024-11-30 17:05:40,331 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\gettext.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\gettext.py +2024-11-30 17:05:40,332 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\gettext.cpython-39.pyc' +2024-11-30 17:05:40,332 - api.main - INFO - STDERR: import 'gettext' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC5E4AC0> +2024-11-30 17:05:40,332 - api.main - INFO - STDERR: import 'argparse' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE072FD0> +2024-11-30 17:05:40,332 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__init__.py +2024-11-30 17:05:40,333 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,338 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\decoder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\decoder.py +2024-11-30 17:05:40,339 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\decoder.cpython-39.pyc' +2024-11-30 17:05:40,350 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\scanner.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\scanner.py +2024-11-30 17:05:40,350 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\scanner.cpython-39.pyc' +2024-11-30 17:05:40,356 - api.main - INFO - STDERR: import '_json' # +2024-11-30 17:05:40,356 - api.main - INFO - STDERR: import 'json.scanner' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC5537C0> +2024-11-30 17:05:40,356 - api.main - INFO - STDERR: import 'json.decoder' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC5FE070> +2024-11-30 17:05:40,356 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\encoder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\encoder.py +2024-11-30 17:05:40,357 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\encoder.cpython-39.pyc' +2024-11-30 17:05:40,357 - api.main - INFO - STDERR: import 'json.encoder' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC5FED60> +2024-11-30 17:05:40,357 - api.main - INFO - STDERR: import 'json' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC5F6C40> +2024-11-30 17:05:40,357 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\glob.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\glob.py +2024-11-30 17:05:40,357 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\glob.cpython-39.pyc' +2024-11-30 17:05:40,357 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\fnmatch.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\fnmatch.py +2024-11-30 17:05:40,357 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\fnmatch.cpython-39.pyc' +2024-11-30 17:05:40,358 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\posixpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\posixpath.py +2024-11-30 17:05:40,358 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\posixpath.cpython-39.pyc' +2024-11-30 17:05:40,358 - api.main - INFO - STDERR: import 'posixpath' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0B2790> +2024-11-30 17:05:40,359 - api.main - INFO - STDERR: import 'fnmatch' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0B2430> +2024-11-30 17:05:40,359 - api.main - INFO - STDERR: import 'glob' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE08AC10> +2024-11-30 17:05:40,359 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\textwrap.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\textwrap.py +2024-11-30 17:05:40,360 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\textwrap.cpython-39.pyc' +2024-11-30 17:05:40,361 - api.main - INFO - STDERR: import 'textwrap' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0B25E0> +2024-11-30 17:05:40,361 - api.main - INFO - STDERR: import 'configargparse' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC6728E0> +2024-11-30 17:05:40,362 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__init__.py +2024-11-30 17:05:40,362 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,362 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\error.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\error.py +2024-11-30 17:05:40,362 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\error.cpython-39.pyc' +2024-11-30 17:05:40,363 - api.main - INFO - STDERR: import 'yaml.error' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0C5D30> +2024-11-30 17:05:40,363 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\tokens.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\tokens.py +2024-11-30 17:05:40,363 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\tokens.cpython-39.pyc' +2024-11-30 17:05:40,363 - api.main - INFO - STDERR: import 'yaml.tokens' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0C5EE0> +2024-11-30 17:05:40,363 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\events.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\events.py +2024-11-30 17:05:40,363 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\events.cpython-39.pyc' +2024-11-30 17:05:40,364 - api.main - INFO - STDERR: import 'yaml.events' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0CD1F0> +2024-11-30 17:05:40,364 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\nodes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\nodes.py +2024-11-30 17:05:40,364 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\nodes.cpython-39.pyc' +2024-11-30 17:05:40,364 - api.main - INFO - STDERR: import 'yaml.nodes' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0CDA00> +2024-11-30 17:05:40,364 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\loader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\loader.py +2024-11-30 17:05:40,364 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\loader.cpython-39.pyc' +2024-11-30 17:05:40,365 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\reader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\reader.py +2024-11-30 17:05:40,365 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\reader.cpython-39.pyc' +2024-11-30 17:05:40,371 - api.main - INFO - STDERR: import 'yaml.reader' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0DD370> +2024-11-30 17:05:40,371 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\scanner.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\scanner.py +2024-11-30 17:05:40,372 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\scanner.cpython-39.pyc' +2024-11-30 17:05:40,372 - api.main - INFO - STDERR: import 'yaml.scanner' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0DD700> +2024-11-30 17:05:40,372 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\parser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\parser.py +2024-11-30 17:05:40,372 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\parser.cpython-39.pyc' +2024-11-30 17:05:40,372 - api.main - INFO - STDERR: import 'yaml.parser' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0E6280> +2024-11-30 17:05:40,372 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\composer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\composer.py +2024-11-30 17:05:40,373 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\composer.cpython-39.pyc' +2024-11-30 17:05:40,373 - api.main - INFO - STDERR: import 'yaml.composer' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0E6940> +2024-11-30 17:05:40,373 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\constructor.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\constructor.py +2024-11-30 17:05:40,373 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\constructor.cpython-39.pyc' +2024-11-30 17:05:40,374 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\base64.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\base64.py +2024-11-30 17:05:40,374 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\base64.cpython-39.pyc' +2024-11-30 17:05:40,374 - api.main - INFO - STDERR: import 'binascii' # +2024-11-30 17:05:40,374 - api.main - INFO - STDERR: import 'base64' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0FDBB0> +2024-11-30 17:05:40,375 - api.main - INFO - STDERR: import 'yaml.constructor' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0E6C10> +2024-11-30 17:05:40,376 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\resolver.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\resolver.py +2024-11-30 17:05:40,376 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\resolver.cpython-39.pyc' +2024-11-30 17:05:40,378 - api.main - INFO - STDERR: import 'yaml.resolver' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0FD8B0> +2024-11-30 17:05:40,378 - api.main - INFO - STDERR: import 'yaml.loader' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0CDF40> +2024-11-30 17:05:40,379 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\dumper.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\dumper.py +2024-11-30 17:05:40,379 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\dumper.cpython-39.pyc' +2024-11-30 17:05:40,379 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\emitter.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\emitter.py +2024-11-30 17:05:40,379 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\emitter.cpython-39.pyc' +2024-11-30 17:05:40,379 - api.main - INFO - STDERR: import 'yaml.emitter' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE10CBB0> +2024-11-30 17:05:40,380 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\serializer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\serializer.py +2024-11-30 17:05:40,380 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\serializer.cpython-39.pyc' +2024-11-30 17:05:40,380 - api.main - INFO - STDERR: import 'yaml.serializer' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE1285B0> +2024-11-30 17:05:40,380 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\representer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\representer.py +2024-11-30 17:05:40,380 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\representer.cpython-39.pyc' +2024-11-30 17:05:40,380 - api.main - INFO - STDERR: import 'yaml.representer' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE128850> +2024-11-30 17:05:40,380 - api.main - INFO - STDERR: import 'yaml.dumper' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0DD160> +2024-11-30 17:05:40,380 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\cyaml.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\cyaml.py +2024-11-30 17:05:40,380 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\cyaml.cpython-39.pyc' +2024-11-30 17:05:40,381 - api.main - INFO - STDERR: # extension module 'yaml._yaml' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\_yaml.cp39-win_amd64.pyd' +2024-11-30 17:05:40,381 - api.main - INFO - STDERR: # extension module 'yaml._yaml' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\_yaml.cp39-win_amd64.pyd' +2024-11-30 17:05:40,381 - api.main - INFO - STDERR: import 'yaml._yaml' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FE139460> +2024-11-30 17:05:40,381 - api.main - INFO - STDERR: import 'yaml.cyaml' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0CD340> +2024-11-30 17:05:40,381 - api.main - INFO - STDERR: import 'yaml' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0B2F70> +2024-11-30 17:05:40,383 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\plugin_loader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\plugin_loader.py +2024-11-30 17:05:40,383 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\plugin_loader.cpython-39.pyc' +2024-11-30 17:05:40,384 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\inspect.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\inspect.py +2024-11-30 17:05:40,384 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\inspect.cpython-39.pyc' +2024-11-30 17:05:40,384 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ast.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ast.py +2024-11-30 17:05:40,384 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ast.cpython-39.pyc' +2024-11-30 17:05:40,386 - api.main - INFO - STDERR: import '_ast' # +2024-11-30 17:05:40,387 - api.main - INFO - STDERR: import 'ast' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE172AF0> +2024-11-30 17:05:40,388 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\dis.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\dis.py +2024-11-30 17:05:40,388 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\dis.cpython-39.pyc' +2024-11-30 17:05:40,390 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\opcode.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\opcode.py +2024-11-30 17:05:40,390 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\opcode.cpython-39.pyc' +2024-11-30 17:05:40,390 - api.main - INFO - STDERR: import '_opcode' # +2024-11-30 17:05:40,390 - api.main - INFO - STDERR: import 'opcode' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE1B3E20> +2024-11-30 17:05:40,390 - api.main - INFO - STDERR: import 'dis' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE17C2E0> +2024-11-30 17:05:40,392 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__init__.py +2024-11-30 17:05:40,392 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,392 - api.main - INFO - STDERR: import 'importlib' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE1C6DF0> +2024-11-30 17:05:40,393 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\machinery.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\machinery.py +2024-11-30 17:05:40,393 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\machinery.cpython-39.pyc' +2024-11-30 17:05:40,393 - api.main - INFO - STDERR: import 'importlib.machinery' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE1C6C40> +2024-11-30 17:05:40,394 - api.main - INFO - STDERR: import 'inspect' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE139AF0> +2024-11-30 17:05:40,395 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pkgutil.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pkgutil.py +2024-11-30 17:05:40,395 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pkgutil.cpython-39.pyc' +2024-11-30 17:05:40,395 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\util.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\util.py +2024-11-30 17:05:40,395 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\util.cpython-39.pyc' +2024-11-30 17:05:40,396 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\abc.py +2024-11-30 17:05:40,396 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\abc.cpython-39.pyc' +2024-11-30 17:05:40,396 - api.main - INFO - STDERR: import 'importlib.abc' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE1E95E0> +2024-11-30 17:05:40,397 - api.main - INFO - STDERR: import 'importlib.util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE1D9640> +2024-11-30 17:05:40,397 - api.main - INFO - STDERR: import 'pkgutil' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE145B20> +2024-11-30 17:05:40,397 - api.main - INFO - STDERR: import 'GramAddict.core.plugin_loader' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE139190> +2024-11-30 17:05:40,397 - api.main - INFO - STDERR: import 'GramAddict.core.config' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC5E4250> +2024-11-30 17:05:40,398 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\device_facade.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py +2024-11-30 17:05:40,398 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\device_facade.cpython-39.pyc' +2024-11-30 17:05:40,399 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\subprocess.py +2024-11-30 17:05:40,399 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\subprocess.cpython-39.pyc' +2024-11-30 17:05:40,399 - api.main - INFO - STDERR: import 'errno' # +2024-11-30 17:05:40,400 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\signal.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\signal.py +2024-11-30 17:05:40,400 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\signal.cpython-39.pyc' +2024-11-30 17:05:40,400 - api.main - INFO - STDERR: import 'signal' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE216A30> +2024-11-30 17:05:40,401 - api.main - INFO - STDERR: import 'msvcrt' # +2024-11-30 17:05:40,401 - api.main - INFO - STDERR: import '_winapi' # +2024-11-30 17:05:40,402 - api.main - INFO - STDERR: import 'subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE209910> +2024-11-30 17:05:40,402 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py +2024-11-30 17:05:40,403 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,404 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\__future__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__future__.py +2024-11-30 17:05:40,404 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\__future__.cpython-39.pyc' +2024-11-30 17:05:40,404 - api.main - INFO - STDERR: import '__future__' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE246E80> +2024-11-30 17:05:40,404 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\hashlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\hashlib.py +2024-11-30 17:05:40,405 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\hashlib.cpython-39.pyc' +2024-11-30 17:05:40,407 - api.main - INFO - STDERR: # extension module '_hashlib' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_hashlib.pyd' +2024-11-30 17:05:40,407 - api.main - INFO - STDERR: # extension module '_hashlib' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_hashlib.pyd' +2024-11-30 17:05:40,407 - api.main - INFO - STDERR: import '_hashlib' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FE2549A0> +2024-11-30 17:05:40,407 - api.main - INFO - STDERR: import '_blake2' # +2024-11-30 17:05:40,407 - api.main - INFO - STDERR: import 'hashlib' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE254580> +2024-11-30 17:05:40,407 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\shutil.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\shutil.py +2024-11-30 17:05:40,407 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\shutil.cpython-39.pyc' +2024-11-30 17:05:40,407 - api.main - INFO - STDERR: import 'zlib' # +2024-11-30 17:05:40,409 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\bz2.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\bz2.py +2024-11-30 17:05:40,409 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\bz2.cpython-39.pyc' +2024-11-30 17:05:40,409 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_compression.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_compression.py +2024-11-30 17:05:40,409 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_compression.cpython-39.pyc' +2024-11-30 17:05:40,410 - api.main - INFO - STDERR: import '_compression' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE283370> +2024-11-30 17:05:40,412 - api.main - INFO - STDERR: # extension module '_bz2' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_bz2.pyd' +2024-11-30 17:05:40,412 - api.main - INFO - STDERR: # extension module '_bz2' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_bz2.pyd' +2024-11-30 17:05:40,412 - api.main - INFO - STDERR: import '_bz2' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FE2838B0> +2024-11-30 17:05:40,412 - api.main - INFO - STDERR: import 'bz2' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE271B20> +2024-11-30 17:05:40,413 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\lzma.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\lzma.py +2024-11-30 17:05:40,413 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\lzma.cpython-39.pyc' +2024-11-30 17:05:40,413 - api.main - INFO - STDERR: # extension module '_lzma' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_lzma.pyd' +2024-11-30 17:05:40,413 - api.main - INFO - STDERR: # extension module '_lzma' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_lzma.pyd' +2024-11-30 17:05:40,414 - api.main - INFO - STDERR: import '_lzma' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FE283FA0> +2024-11-30 17:05:40,414 - api.main - INFO - STDERR: import 'lzma' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE2837F0> +2024-11-30 17:05:40,415 - api.main - INFO - STDERR: import 'shutil' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE254C70> +2024-11-30 17:05:40,416 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\__init__.py +2024-11-30 17:05:40,416 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,416 - api.main - INFO - STDERR: import 'xml' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE290940> +2024-11-30 17:05:40,416 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__init__.py +2024-11-30 17:05:40,417 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,417 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\domreg.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\domreg.py +2024-11-30 17:05:40,417 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\domreg.cpython-39.pyc' +2024-11-30 17:05:40,417 - api.main - INFO - STDERR: import 'xml.dom.domreg' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE290EE0> +2024-11-30 17:05:40,417 - api.main - INFO - STDERR: import 'xml.dom' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE271040> +2024-11-30 17:05:40,417 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\minidom.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\minidom.py +2024-11-30 17:05:40,418 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\minidom.cpython-39.pyc' +2024-11-30 17:05:40,418 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\minicompat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\minicompat.py +2024-11-30 17:05:40,418 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\minicompat.cpython-39.pyc' +2024-11-30 17:05:40,418 - api.main - INFO - STDERR: import 'xml.dom.minicompat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE2E64C0> +2024-11-30 17:05:40,419 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\xmlbuilder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\xmlbuilder.py +2024-11-30 17:05:40,419 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\xmlbuilder.cpython-39.pyc' +2024-11-30 17:05:40,419 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\copy.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\copy.py +2024-11-30 17:05:40,421 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\copy.cpython-39.pyc' +2024-11-30 17:05:40,421 - api.main - INFO - STDERR: import 'copy' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE2EECA0> +2024-11-30 17:05:40,421 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\NodeFilter.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\NodeFilter.py +2024-11-30 17:05:40,423 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\NodeFilter.cpython-39.pyc' +2024-11-30 17:05:40,423 - api.main - INFO - STDERR: import 'xml.dom.NodeFilter' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE2EEFD0> +2024-11-30 17:05:40,423 - api.main - INFO - STDERR: import 'xml.dom.xmlbuilder' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE2E6940> +2024-11-30 17:05:40,423 - api.main - INFO - STDERR: import 'xml.dom.minidom' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE254550> +2024-11-30 17:05:40,424 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pathlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pathlib.py +2024-11-30 17:05:40,424 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pathlib.cpython-39.pyc' +2024-11-30 17:05:40,425 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__init__.py +2024-11-30 17:05:40,425 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,425 - api.main - INFO - STDERR: import 'urllib' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE31AD00> +2024-11-30 17:05:40,425 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\parse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\parse.py +2024-11-30 17:05:40,425 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\parse.cpython-39.pyc' +2024-11-30 17:05:40,427 - api.main - INFO - STDERR: import 'urllib.parse' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE31AD30> +2024-11-30 17:05:40,427 - api.main - INFO - STDERR: import 'pathlib' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE2DC400> +2024-11-30 17:05:40,428 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__init__.py +2024-11-30 17:05:40,428 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,428 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\deprecation.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecation.py +2024-11-30 17:05:40,428 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\deprecation.cpython-39.pyc' +2024-11-30 17:05:40,429 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__init__.py +2024-11-30 17:05:40,429 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,430 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\__about__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__about__.py +2024-11-30 17:05:40,430 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\__about__.cpython-39.pyc' +2024-11-30 17:05:40,430 - api.main - INFO - STDERR: import 'packaging.__about__' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE29F790> +2024-11-30 17:05:40,430 - api.main - INFO - STDERR: import 'packaging' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE29F520> +2024-11-30 17:05:40,430 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\version.py +2024-11-30 17:05:40,430 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\version.cpython-39.pyc' +2024-11-30 17:05:40,431 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_structures.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_structures.py +2024-11-30 17:05:40,431 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_structures.cpython-39.pyc' +2024-11-30 17:05:40,431 - api.main - INFO - STDERR: import 'packaging._structures' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE34D640> +2024-11-30 17:05:40,431 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_typing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_typing.py +2024-11-30 17:05:40,431 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_typing.cpython-39.pyc' +2024-11-30 17:05:40,431 - api.main - INFO - STDERR: import 'packaging._typing' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE34DF10> +2024-11-30 17:05:40,432 - api.main - INFO - STDERR: import 'packaging.version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE29F5B0> +2024-11-30 17:05:40,432 - api.main - INFO - STDERR: import 'deprecation' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE29F100> +2024-11-30 17:05:40,433 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_adb.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_adb.py +2024-11-30 17:05:40,433 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_adb.cpython-39.pyc' +2024-11-30 17:05:40,434 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\socket.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\socket.py +2024-11-30 17:05:40,434 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\socket.cpython-39.pyc' +2024-11-30 17:05:40,435 - api.main - INFO - STDERR: # extension module '_socket' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_socket.pyd' +2024-11-30 17:05:40,435 - api.main - INFO - STDERR: # extension module '_socket' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_socket.pyd' +2024-11-30 17:05:40,435 - api.main - INFO - STDERR: import '_socket' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FE36AC40> +2024-11-30 17:05:40,437 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\selectors.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\selectors.py +2024-11-30 17:05:40,437 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\selectors.cpython-39.pyc' +2024-11-30 17:05:40,438 - api.main - INFO - STDERR: # extension module 'select' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\select.pyd' +2024-11-30 17:05:40,438 - api.main - INFO - STDERR: # extension module 'select' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\select.pyd' +2024-11-30 17:05:40,438 - api.main - INFO - STDERR: import 'select' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FE37DE20> +2024-11-30 17:05:40,438 - api.main - INFO - STDERR: import 'selectors' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE36AD90> +2024-11-30 17:05:40,439 - api.main - INFO - STDERR: import 'socket' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE354F40> +2024-11-30 17:05:40,440 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_utils.py +2024-11-30 17:05:40,440 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_utils.cpython-39.pyc' +2024-11-30 17:05:40,440 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\shlex.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\shlex.py +2024-11-30 17:05:40,440 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\shlex.cpython-39.pyc' +2024-11-30 17:05:40,441 - api.main - INFO - STDERR: import 'shlex' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE383D00> +2024-11-30 17:05:40,441 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tempfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tempfile.py +2024-11-30 17:05:40,441 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tempfile.cpython-39.pyc' +2024-11-30 17:05:40,441 - api.main - INFO - STDERR: import 'tempfile' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE38C280> +2024-11-30 17:05:40,442 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\zipfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\zipfile.py +2024-11-30 17:05:40,442 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\zipfile.cpython-39.pyc' +2024-11-30 17:05:40,442 - api.main - INFO - STDERR: import 'zipfile' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE3B6640> +2024-11-30 17:05:40,444 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\whichcraft.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\whichcraft.py +2024-11-30 17:05:40,444 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\whichcraft.cpython-39.pyc' +2024-11-30 17:05:40,444 - api.main - INFO - STDERR: import 'whichcraft' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE3C5D60> +2024-11-30 17:05:40,445 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__init__.py +2024-11-30 17:05:40,445 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,445 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\xmltodict.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\xmltodict.py +2024-11-30 17:05:40,445 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\xmltodict.cpython-39.pyc' +2024-11-30 17:05:40,446 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__init__.py +2024-11-30 17:05:40,446 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\parsers\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,446 - api.main - INFO - STDERR: import 'xml.parsers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE3E8790> +2024-11-30 17:05:40,447 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__pycache__\expat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\expat.py +2024-11-30 17:05:40,447 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\parsers\\__pycache__\\expat.cpython-39.pyc' +2024-11-30 17:05:40,448 - api.main - INFO - STDERR: # extension module 'pyexpat' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\pyexpat.pyd' +2024-11-30 17:05:40,448 - api.main - INFO - STDERR: # extension module 'pyexpat' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\pyexpat.pyd' +2024-11-30 17:05:40,448 - api.main - INFO - STDERR: import 'pyexpat' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FE3E8AF0> +2024-11-30 17:05:40,448 - api.main - INFO - STDERR: import 'xml.parsers.expat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE3E8910> +2024-11-30 17:05:40,449 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__init__.py +2024-11-30 17:05:40,449 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,450 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\xmlreader.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\xmlreader.py +2024-11-30 17:05:40,450 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\xmlreader.cpython-39.pyc' +2024-11-30 17:05:40,451 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\handler.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\handler.py +2024-11-30 17:05:40,451 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\handler.cpython-39.pyc' +2024-11-30 17:05:40,451 - api.main - INFO - STDERR: import 'xml.sax.handler' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE401B20> +2024-11-30 17:05:40,452 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\_exceptions.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\_exceptions.py +2024-11-30 17:05:40,452 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\_exceptions.cpython-39.pyc' +2024-11-30 17:05:40,452 - api.main - INFO - STDERR: import 'xml.sax._exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE408520> +2024-11-30 17:05:40,452 - api.main - INFO - STDERR: import 'xml.sax.xmlreader' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE3E8F10> +2024-11-30 17:05:40,452 - api.main - INFO - STDERR: import 'xml.sax' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE3E8BB0> +2024-11-30 17:05:40,453 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\saxutils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\saxutils.py +2024-11-30 17:05:40,453 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\saxutils.cpython-39.pyc' +2024-11-30 17:05:40,453 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\request.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\request.py +2024-11-30 17:05:40,454 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\request.cpython-39.pyc' +2024-11-30 17:05:40,454 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__init__.py +2024-11-30 17:05:40,454 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,454 - api.main - INFO - STDERR: import 'email' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE4525B0> +2024-11-30 17:05:40,455 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__init__.py +2024-11-30 17:05:40,455 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,456 - api.main - INFO - STDERR: import 'http' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE4528B0> +2024-11-30 17:05:40,457 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\client.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\client.py +2024-11-30 17:05:40,457 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\client.cpython-39.pyc' +2024-11-30 17:05:40,458 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\parser.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\parser.py +2024-11-30 17:05:40,458 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\parser.cpython-39.pyc' +2024-11-30 17:05:40,458 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\feedparser.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\feedparser.py +2024-11-30 17:05:40,459 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\feedparser.cpython-39.pyc' +2024-11-30 17:05:40,459 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\errors.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\errors.py +2024-11-30 17:05:40,459 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 17:05:40,459 - api.main - INFO - STDERR: import 'email.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE475A00> +2024-11-30 17:05:40,460 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_policybase.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_policybase.py +2024-11-30 17:05:40,460 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_policybase.cpython-39.pyc' +2024-11-30 17:05:40,460 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\header.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\header.py +2024-11-30 17:05:40,461 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\header.cpython-39.pyc' +2024-11-30 17:05:40,462 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\quoprimime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\quoprimime.py +2024-11-30 17:05:40,462 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\quoprimime.cpython-39.pyc' +2024-11-30 17:05:40,462 - api.main - INFO - STDERR: import 'email.quoprimime' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE4936D0> +2024-11-30 17:05:40,462 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\base64mime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\base64mime.py +2024-11-30 17:05:40,462 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\base64mime.cpython-39.pyc' +2024-11-30 17:05:40,462 - api.main - INFO - STDERR: import 'email.base64mime' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE493BB0> +2024-11-30 17:05:40,463 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\charset.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\charset.py +2024-11-30 17:05:40,463 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\charset.cpython-39.pyc' +2024-11-30 17:05:40,463 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\encoders.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\encoders.py +2024-11-30 17:05:40,463 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\encoders.cpython-39.pyc' +2024-11-30 17:05:40,464 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\quopri.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\quopri.py +2024-11-30 17:05:40,464 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\quopri.cpython-39.pyc' +2024-11-30 17:05:40,464 - api.main - INFO - STDERR: import 'quopri' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE4A3790> +2024-11-30 17:05:40,464 - api.main - INFO - STDERR: import 'email.encoders' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE4A33A0> +2024-11-30 17:05:40,464 - api.main - INFO - STDERR: import 'email.charset' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE493D90> +2024-11-30 17:05:40,464 - api.main - INFO - STDERR: import 'email.header' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE484E20> +2024-11-30 17:05:40,465 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\utils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\utils.py +2024-11-30 17:05:40,465 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 17:05:40,465 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_parseaddr.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_parseaddr.py +2024-11-30 17:05:40,465 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_parseaddr.cpython-39.pyc' +2024-11-30 17:05:40,466 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\calendar.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\calendar.py +2024-11-30 17:05:40,466 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\calendar.cpython-39.pyc' +2024-11-30 17:05:40,467 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\locale.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\locale.py +2024-11-30 17:05:40,467 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\locale.cpython-39.pyc' +2024-11-30 17:05:40,468 - api.main - INFO - STDERR: import 'locale' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE4BDEB0> +2024-11-30 17:05:40,468 - api.main - INFO - STDERR: import 'calendar' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE4B56A0> +2024-11-30 17:05:40,468 - api.main - INFO - STDERR: import 'email._parseaddr' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE4A3F70> +2024-11-30 17:05:40,468 - api.main - INFO - STDERR: import 'email.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE4A31F0> +2024-11-30 17:05:40,468 - api.main - INFO - STDERR: import 'email._policybase' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE475AF0> +2024-11-30 17:05:40,469 - api.main - INFO - STDERR: import 'email.feedparser' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE475280> +2024-11-30 17:05:40,469 - api.main - INFO - STDERR: import 'email.parser' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE46EB80> +2024-11-30 17:05:40,470 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\message.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\message.py +2024-11-30 17:05:40,470 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\message.cpython-39.pyc' +2024-11-30 17:05:40,471 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\uu.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\uu.py +2024-11-30 17:05:40,471 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\uu.cpython-39.pyc' +2024-11-30 17:05:40,471 - api.main - INFO - STDERR: import 'uu' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE500A90> +2024-11-30 17:05:40,472 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_encoded_words.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_encoded_words.py +2024-11-30 17:05:40,472 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_encoded_words.cpython-39.pyc' +2024-11-30 17:05:40,472 - api.main - INFO - STDERR: import 'email._encoded_words' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE500CD0> +2024-11-30 17:05:40,473 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\iterators.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\iterators.py +2024-11-30 17:05:40,473 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\iterators.cpython-39.pyc' +2024-11-30 17:05:40,473 - api.main - INFO - STDERR: import 'email.iterators' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE50C190> +2024-11-30 17:05:40,473 - api.main - INFO - STDERR: import 'email.message' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE46EF40> +2024-11-30 17:05:40,474 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ssl.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ssl.py +2024-11-30 17:05:40,474 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ssl.cpython-39.pyc' +2024-11-30 17:05:40,476 - api.main - INFO - STDERR: # extension module '_ssl' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ssl.pyd' +2024-11-30 17:05:40,477 - api.main - INFO - STDERR: # extension module '_ssl' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ssl.pyd' +2024-11-30 17:05:40,477 - api.main - INFO - STDERR: import '_ssl' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FE525580> +2024-11-30 17:05:40,479 - api.main - INFO - STDERR: import 'ssl' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE50C460> +2024-11-30 17:05:40,479 - api.main - INFO - STDERR: import 'http.client' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE4529D0> +2024-11-30 17:05:40,480 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\error.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\error.py +2024-11-30 17:05:40,480 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\error.cpython-39.pyc' +2024-11-30 17:05:40,481 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\response.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\response.py +2024-11-30 17:05:40,481 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\response.cpython-39.pyc' +2024-11-30 17:05:40,481 - api.main - INFO - STDERR: import 'urllib.response' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE57F460> +2024-11-30 17:05:40,481 - api.main - INFO - STDERR: import 'urllib.error' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE46E3A0> +2024-11-30 17:05:40,482 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\nturl2path.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\nturl2path.py +2024-11-30 17:05:40,483 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\nturl2path.cpython-39.pyc' +2024-11-30 17:05:40,483 - api.main - INFO - STDERR: import 'nturl2path' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE57FCD0> +2024-11-30 17:05:40,483 - api.main - INFO - STDERR: import 'urllib.request' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE4178B0> +2024-11-30 17:05:40,483 - api.main - INFO - STDERR: import 'xml.sax.saxutils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE3E8640> +2024-11-30 17:05:40,483 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\platform.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\platform.py +2024-11-30 17:05:40,483 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\platform.cpython-39.pyc' +2024-11-30 17:05:40,486 - api.main - INFO - STDERR: import 'platform' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE4176D0> +2024-11-30 17:05:40,486 - api.main - INFO - STDERR: import 'xmltodict' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE3E8220> +2024-11-30 17:05:40,486 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\apkfile.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\apkfile.py +2024-11-30 17:05:40,486 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\apkfile.cpython-39.pyc' +2024-11-30 17:05:40,487 - api.main - INFO - STDERR: import 'apkutils2.apkfile' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE3E8580> +2024-11-30 17:05:40,487 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__init__.py +2024-11-30 17:05:40,487 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,487 - api.main - INFO - STDERR: import 'apkutils2.axml' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE5989D0> +2024-11-30 17:05:40,487 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\arscparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\arscparser.py +2024-11-30 17:05:40,488 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\arscparser.cpython-39.pyc' +2024-11-30 17:05:40,488 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\chunk.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\chunk.py +2024-11-30 17:05:40,488 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\chunk.cpython-39.pyc' +2024-11-30 17:05:40,488 - api.main - INFO - STDERR: import 'apkutils2.axml.chunk' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE5C3580> +2024-11-30 17:05:40,488 - api.main - INFO - STDERR: import 'apkutils2.axml.arscparser' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE5A3E80> +2024-11-30 17:05:40,488 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\axmlparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\axmlparser.py +2024-11-30 17:05:40,488 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\axmlparser.cpython-39.pyc' +2024-11-30 17:05:40,489 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\public.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\public.py +2024-11-30 17:05:40,489 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\public.cpython-39.pyc' +2024-11-30 17:05:40,490 - api.main - INFO - STDERR: import 'apkutils2.axml.public' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE9D2820> +2024-11-30 17:05:40,490 - api.main - INFO - STDERR: import 'apkutils2.axml.axmlparser' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE5B8A00> +2024-11-30 17:05:40,490 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__init__.py +2024-11-30 17:05:40,490 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,490 - api.main - INFO - STDERR: import 'apkutils2.dex' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE9D2910> +2024-11-30 17:05:40,491 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dexparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dexparser.py +2024-11-30 17:05:40,491 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dexparser.cpython-39.pyc' +2024-11-30 17:05:40,491 - api.main - INFO - STDERR: import 'array' # +2024-11-30 17:05:40,491 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\byteio.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\byteio.py +2024-11-30 17:05:40,491 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\byteio.cpython-39.pyc' +2024-11-30 17:05:40,491 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\util.py +2024-11-30 17:05:40,491 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\util.cpython-39.pyc' +2024-11-30 17:05:40,491 - api.main - INFO - STDERR: import 'apkutils2.dex.util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA26EE0> +2024-11-30 17:05:40,491 - api.main - INFO - STDERR: import 'apkutils2.dex.byteio' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA26550> +2024-11-30 17:05:40,491 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dalvik.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dalvik.py +2024-11-30 17:05:40,491 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dalvik.cpython-39.pyc' +2024-11-30 17:05:40,492 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dalvikformats.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dalvikformats.py +2024-11-30 17:05:40,492 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dalvikformats.cpython-39.pyc' +2024-11-30 17:05:40,492 - api.main - INFO - STDERR: import 'apkutils2.dex.dalvikformats' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA31370> +2024-11-30 17:05:40,493 - api.main - INFO - STDERR: import 'apkutils2.dex.dalvik' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA26FD0> +2024-11-30 17:05:40,493 - api.main - INFO - STDERR: import 'apkutils2.dex.dexparser' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE9D2940> +2024-11-30 17:05:40,493 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\manifest.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\manifest.py +2024-11-30 17:05:40,493 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\manifest.cpython-39.pyc' +2024-11-30 17:05:40,493 - api.main - INFO - STDERR: import 'apkutils2.manifest' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE9D2E20> +2024-11-30 17:05:40,493 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cigam\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cigam\__init__.py +2024-11-30 17:05:40,493 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\cigam\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,493 - api.main - INFO - STDERR: import 'cigam' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA315E0> +2024-11-30 17:05:40,493 - api.main - INFO - STDERR: import 'apkutils2' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE3D9B80> +2024-11-30 17:05:40,493 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pkg_resources\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pkg_resources\__init__.py +2024-11-30 17:05:40,495 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pkg_resources\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,496 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\plistlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\plistlib.py +2024-11-30 17:05:40,496 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\plistlib.cpython-39.pyc' +2024-11-30 17:05:40,497 - api.main - INFO - STDERR: import 'plistlib' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA756D0> +2024-11-30 17:05:40,497 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\markers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\markers.py +2024-11-30 17:05:40,497 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\markers.cpython-39.pyc' +2024-11-30 17:05:40,498 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__init__.py +2024-11-30 17:05:40,498 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,501 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\util.py +2024-11-30 17:05:40,501 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\util.cpython-39.pyc' +2024-11-30 17:05:40,501 - api.main - INFO - STDERR: import 'pyparsing.util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA8CC70> +2024-11-30 17:05:40,501 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\exceptions.py +2024-11-30 17:05:40,501 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 17:05:40,501 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\unicode.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\unicode.py +2024-11-30 17:05:40,501 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\unicode.cpython-39.pyc' +2024-11-30 17:05:40,501 - api.main - INFO - STDERR: import 'pyparsing.unicode' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA9D910> +2024-11-30 17:05:40,501 - api.main - INFO - STDERR: import 'pyparsing.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA97D00> +2024-11-30 17:05:40,501 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\actions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\actions.py +2024-11-30 17:05:40,502 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\actions.cpython-39.pyc' +2024-11-30 17:05:40,502 - api.main - INFO - STDERR: import 'pyparsing.actions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA9D4F0> +2024-11-30 17:05:40,502 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\core.py +2024-11-30 17:05:40,504 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\core.cpython-39.pyc' +2024-11-30 17:05:40,504 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\results.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\results.py +2024-11-30 17:05:40,504 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\results.cpython-39.pyc' +2024-11-30 17:05:40,505 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pprint.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pprint.py +2024-11-30 17:05:40,505 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pprint.cpython-39.pyc' +2024-11-30 17:05:40,509 - api.main - INFO - STDERR: import 'pprint' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEB2C8E0> +2024-11-30 17:05:40,510 - api.main - INFO - STDERR: import 'pyparsing.results' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEB20820> +2024-11-30 17:05:40,513 - api.main - INFO - STDERR: import 'pyparsing.core' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEABB2E0> +2024-11-30 17:05:40,514 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\helpers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\helpers.py +2024-11-30 17:05:40,514 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\helpers.cpython-39.pyc' +2024-11-30 17:05:40,515 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__init__.py +2024-11-30 17:05:40,515 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\html\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,516 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__pycache__\entities.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\entities.py +2024-11-30 17:05:40,517 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\html\\__pycache__\\entities.cpython-39.pyc' +2024-11-30 17:05:40,517 - api.main - INFO - STDERR: import 'html.entities' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEC1EC10> +2024-11-30 17:05:40,517 - api.main - INFO - STDERR: import 'html' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEC1E970> +2024-11-30 17:05:40,519 - api.main - INFO - STDERR: import 'pyparsing.helpers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEABBF10> +2024-11-30 17:05:40,519 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\testing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\testing.py +2024-11-30 17:05:40,521 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\testing.cpython-39.pyc' +2024-11-30 17:05:40,521 - api.main - INFO - STDERR: import 'pyparsing.testing' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FECB1EB0> +2024-11-30 17:05:40,521 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\common.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\common.py +2024-11-30 17:05:40,521 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\common.cpython-39.pyc' +2024-11-30 17:05:40,525 - api.main - INFO - STDERR: import 'pyparsing.common' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FECDE4C0> +2024-11-30 17:05:40,526 - api.main - INFO - STDERR: import 'pyparsing' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA8C6D0> +2024-11-30 17:05:40,526 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_compat.py +2024-11-30 17:05:40,527 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_compat.cpython-39.pyc' +2024-11-30 17:05:40,527 - api.main - INFO - STDERR: import 'packaging._compat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA8CEE0> +2024-11-30 17:05:40,527 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\specifiers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\specifiers.py +2024-11-30 17:05:40,527 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\specifiers.cpython-39.pyc' +2024-11-30 17:05:40,527 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\utils.py +2024-11-30 17:05:40,527 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 17:05:40,528 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\tags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\tags.py +2024-11-30 17:05:40,528 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\tags.cpython-39.pyc' +2024-11-30 17:05:40,529 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\__init__.py +2024-11-30 17:05:40,529 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,529 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__pycache__\override.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\override.py +2024-11-30 17:05:40,529 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\_distutils_hack\\__pycache__\\override.cpython-39.pyc' +2024-11-30 17:05:40,530 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__init__.py +2024-11-30 17:05:40,530 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,531 - api.main - INFO - STDERR: import 'setuptools._distutils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED314C0> +2024-11-30 17:05:40,531 - api.main - INFO - STDERR: import 'distutils' # <_distutils_hack.DistutilsMetaFinder.spec_for_distutils..DistutilsLoader object at 0x00000275FED312B0> +2024-11-30 17:05:40,545 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\core.py +2024-11-30 17:05:40,546 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\core.cpython-39.pyc' +2024-11-30 17:05:40,546 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\cmd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\cmd.py +2024-11-30 17:05:40,546 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\cmd.cpython-39.pyc' +2024-11-30 17:05:40,546 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\_modified.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\_modified.py +2024-11-30 17:05:40,546 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\_modified.cpython-39.pyc' +2024-11-30 17:05:40,546 - api.main - INFO - STDERR: # possible namespace for e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco +2024-11-30 17:05:40,546 - api.main - INFO - STDERR: import 'jaraco' # <_frozen_importlib_external._NamespaceLoader object at 0x00000275FED467C0> +2024-11-30 17:05:40,546 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\functools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\functools\__init__.py +2024-11-30 17:05:40,547 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\functools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,547 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__init__.py +2024-11-30 17:05:40,601 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,601 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\more.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\more.py +2024-11-30 17:05:40,602 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\more.cpython-39.pyc' +2024-11-30 17:05:40,602 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\queue.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\queue.py +2024-11-30 17:05:40,602 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\queue.cpython-39.pyc' +2024-11-30 17:05:40,602 - api.main - INFO - STDERR: # extension module '_queue' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_queue.pyd' +2024-11-30 17:05:40,602 - api.main - INFO - STDERR: # extension module '_queue' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_queue.pyd' +2024-11-30 17:05:40,602 - api.main - INFO - STDERR: import '_queue' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FED7A9D0> +2024-11-30 17:05:40,602 - api.main - INFO - STDERR: import 'queue' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED6FD00> +2024-11-30 17:05:40,603 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\recipes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\recipes.py +2024-11-30 17:05:40,603 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\recipes.cpython-39.pyc' +2024-11-30 17:05:40,603 - api.main - INFO - STDERR: import 'more_itertools.recipes' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED7A940> +2024-11-30 17:05:40,603 - api.main - INFO - STDERR: import 'more_itertools.more' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED4DBE0> +2024-11-30 17:05:40,603 - api.main - INFO - STDERR: import 'more_itertools' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED4D940> +2024-11-30 17:05:40,603 - api.main - INFO - STDERR: import 'jaraco.functools' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED469D0> +2024-11-30 17:05:40,603 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__init__.py +2024-11-30 17:05:40,603 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,603 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\py38.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\py38.py +2024-11-30 17:05:40,603 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\py38.cpython-39.pyc' +2024-11-30 17:05:40,773 - api.main - INFO - STDERR: import 'distutils.compat.py38' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEDA8370> +2024-11-30 17:05:40,773 - api.main - INFO - STDERR: import 'distutils.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED87FD0> +2024-11-30 17:05:40,773 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\py39.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\py39.py +2024-11-30 17:05:40,773 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\py39.cpython-39.pyc' +2024-11-30 17:05:40,773 - api.main - INFO - STDERR: import 'distutils.compat.py39' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED65DF0> +2024-11-30 17:05:40,773 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\errors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\errors.py +2024-11-30 17:05:40,774 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 17:05:40,774 - api.main - INFO - STDERR: import 'distutils.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEDA84F0> +2024-11-30 17:05:40,774 - api.main - INFO - STDERR: import 'distutils._modified' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED46370> +2024-11-30 17:05:40,774 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\archive_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\archive_util.py +2024-11-30 17:05:40,774 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\archive_util.cpython-39.pyc' +2024-11-30 17:05:40,774 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\_log.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\_log.py +2024-11-30 17:05:40,774 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\_log.cpython-39.pyc' +2024-11-30 17:05:40,774 - api.main - INFO - STDERR: import 'distutils._log' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEDA8C40> +2024-11-30 17:05:40,774 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\dir_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\dir_util.py +2024-11-30 17:05:40,775 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\dir_util.cpython-39.pyc' +2024-11-30 17:05:40,775 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\file_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\file_util.py +2024-11-30 17:05:40,876 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\file_util.cpython-39.pyc' +2024-11-30 17:05:40,876 - api.main - INFO - STDERR: import 'distutils.file_util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEDB6340> +2024-11-30 17:05:40,877 - api.main - INFO - STDERR: import 'distutils.dir_util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEDA8CD0> +2024-11-30 17:05:40,877 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\spawn.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\spawn.py +2024-11-30 17:05:40,877 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\spawn.cpython-39.pyc' +2024-11-30 17:05:40,877 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\debug.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\debug.py +2024-11-30 17:05:40,877 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\debug.cpython-39.pyc' +2024-11-30 17:05:40,877 - api.main - INFO - STDERR: import 'distutils.debug' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEDB69D0> +2024-11-30 17:05:40,877 - api.main - INFO - STDERR: import 'distutils.spawn' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEDB6670> +2024-11-30 17:05:40,877 - api.main - INFO - STDERR: import 'distutils.archive_util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED46610> +2024-11-30 17:05:40,877 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\util.py +2024-11-30 17:05:40,878 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\util.cpython-39.pyc' +2024-11-30 17:05:40,878 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sysconfig.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sysconfig.py +2024-11-30 17:05:40,878 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sysconfig.cpython-39.pyc' +2024-11-30 17:05:40,878 - api.main - INFO - STDERR: import 'sysconfig' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEDB6EB0> +2024-11-30 17:05:40,878 - api.main - INFO - STDERR: import 'distutils.util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEDA8640> +2024-11-30 17:05:40,878 - api.main - INFO - STDERR: import 'distutils.cmd' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED31910> +2024-11-30 17:05:40,878 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\dist.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\dist.py +2024-11-30 17:05:40,878 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\dist.cpython-39.pyc' +2024-11-30 17:05:40,898 - api.main - INFO - STDERR: # destroy distutils.dist +2024-11-30 17:05:40,898 - api.main - INFO - STDERR: # destroy distutils.core +2024-11-30 17:05:40,898 - api.main - INFO - STDERR: # destroy _distutils_hack.override +2024-11-30 17:05:40,898 - api.main - INFO - STDERR: # destroy setuptools +2024-11-30 17:05:40,898 - api.main - INFO - STDERR: import 'distutils' # <_distutils_hack.DistutilsMetaFinder.spec_for_distutils..DistutilsLoader object at 0x00000275FED312B0> +2024-11-30 17:05:40,898 - api.main - INFO - STDERR: import 'packaging.tags' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED19550> +2024-11-30 17:05:40,898 - api.main - INFO - STDERR: import 'packaging.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED192B0> +2024-11-30 17:05:40,898 - api.main - INFO - STDERR: import 'packaging.specifiers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED05E50> +2024-11-30 17:05:40,898 - api.main - INFO - STDERR: import 'packaging.markers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA7CB20> +2024-11-30 17:05:40,898 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\requirements.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\requirements.py +2024-11-30 17:05:40,898 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\requirements.cpython-39.pyc' +2024-11-30 17:05:40,899 - api.main - INFO - STDERR: import 'packaging.requirements' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA7CD30> +2024-11-30 17:05:40,899 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\text\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\text\__init__.py +2024-11-30 17:05:40,899 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\text\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,899 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\resources.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\resources.py +2024-11-30 17:05:40,899 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\resources.cpython-39.pyc' +2024-11-30 17:05:40,899 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\_common.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\_common.py +2024-11-30 17:05:40,899 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\_common.cpython-39.pyc' +2024-11-30 17:05:40,899 - api.main - INFO - STDERR: import 'importlib._common' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEE214F0> +2024-11-30 17:05:40,899 - api.main - INFO - STDERR: import 'importlib.resources' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED30DF0> +2024-11-30 17:05:40,899 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\__pycache__\context.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\context.py +2024-11-30 17:05:40,899 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\__pycache__\\context.cpython-39.pyc' +2024-11-30 17:05:40,917 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\__init__.py +2024-11-30 17:05:40,917 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,917 - api.main - INFO - STDERR: import 'backports' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEE281C0> +2024-11-30 17:05:40,917 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\__init__.py +2024-11-30 17:05:40,917 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,917 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__init__.py +2024-11-30 17:05:40,917 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\compat\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,917 - api.main - INFO - STDERR: import 'backports.tarfile.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEDDD1F0> +2024-11-30 17:05:40,917 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__pycache__\py38.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\py38.py +2024-11-30 17:05:40,917 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\compat\\__pycache__\\py38.cpython-39.pyc' +2024-11-30 17:05:40,918 - api.main - INFO - STDERR: import 'backports.tarfile.compat.py38' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED30100> +2024-11-30 17:05:40,918 - api.main - INFO - STDERR: import 'backports.tarfile' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEE28340> +2024-11-30 17:05:40,918 - api.main - INFO - STDERR: import 'jaraco.context' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEE21A30> +2024-11-30 17:05:40,918 - api.main - INFO - STDERR: import 'jaraco.text' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED31220> +2024-11-30 17:05:40,918 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__init__.py +2024-11-30 17:05:40,918 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:40,918 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\api.py +2024-11-30 17:05:40,949 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\api.cpython-39.pyc' +2024-11-30 17:05:40,951 - api.main - INFO - STDERR: import 'platformdirs.api' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEE5B7C0> +2024-11-30 17:05:40,951 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\version.py +2024-11-30 17:05:40,951 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\version.cpython-39.pyc' +2024-11-30 17:05:40,951 - api.main - INFO - STDERR: import 'platformdirs.version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEE62A30> +2024-11-30 17:05:40,951 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\windows.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\windows.py +2024-11-30 17:05:40,951 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\windows.cpython-39.pyc' +2024-11-30 17:05:40,951 - api.main - INFO - STDERR: import 'platformdirs.windows' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEE62AC0> +2024-11-30 17:05:40,951 - api.main - INFO - STDERR: import 'platformdirs' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEE4E790> +2024-11-30 17:05:40,951 - api.main - INFO - STDERR: import 'pkg_resources' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE3D9970> +2024-11-30 17:05:40,951 - api.main - INFO - STDERR: import 'adbutils._utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE36A520> +2024-11-30 17:05:40,951 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\errors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\errors.py +2024-11-30 17:05:40,951 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\errors.cpython-39.pyc' +2024-11-30 17:05:40,951 - api.main - INFO - STDERR: import 'adbutils.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE38C670> +2024-11-30 17:05:40,951 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_proto.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_proto.py +2024-11-30 17:05:40,953 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_proto.cpython-39.pyc' +2024-11-30 17:05:40,953 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\dataclasses.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\dataclasses.py +2024-11-30 17:05:40,953 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\dataclasses.cpython-39.pyc' +2024-11-30 17:05:40,953 - api.main - INFO - STDERR: import 'dataclasses' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA4A0D0> +2024-11-30 17:05:41,098 - api.main - INFO - STDERR: import 'adbutils._proto' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA44520> +2024-11-30 17:05:41,098 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_version.py +2024-11-30 17:05:41,098 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 17:05:41,098 - api.main - INFO - STDERR: import 'adbutils._version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA44700> +2024-11-30 17:05:41,098 - api.main - INFO - STDERR: import 'adbutils._adb' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE29F370> +2024-11-30 17:05:41,098 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_device.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_device.py +2024-11-30 17:05:41,099 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_device.cpython-39.pyc' +2024-11-30 17:05:41,099 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__init__.py +2024-11-30 17:05:41,099 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:41,099 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__init__.py +2024-11-30 17:05:41,099 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:41,100 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\exceptions.py +2024-11-30 17:05:41,100 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 17:05:41,100 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__init__.py +2024-11-30 17:05:41,100 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\packages\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:41,100 - api.main - INFO - STDERR: import 'urllib3.packages' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEEF9850> +2024-11-30 17:05:41,100 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__pycache__\six.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\six.py +2024-11-30 17:05:41,100 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\packages\\__pycache__\\six.cpython-39.pyc' +2024-11-30 17:05:41,249 - api.main - INFO - STDERR: import 'urllib3.packages.six' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEEF9880> +2024-11-30 17:05:41,249 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves' # +2024-11-30 17:05:41,249 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.http_client' # +2024-11-30 17:05:41,249 - api.main - INFO - STDERR: import 'urllib3.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEEF0790> +2024-11-30 17:05:41,249 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\_version.py +2024-11-30 17:05:41,249 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 17:05:41,250 - api.main - INFO - STDERR: import 'urllib3._version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEEF0970> +2024-11-30 17:05:41,250 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\connectionpool.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\connectionpool.py +2024-11-30 17:05:41,250 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\connectionpool.cpython-39.pyc' +2024-11-30 17:05:41,251 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\_collections.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\_collections.py +2024-11-30 17:05:41,251 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\_collections.cpython-39.pyc' +2024-11-30 17:05:41,251 - api.main - INFO - STDERR: import 'urllib3._collections' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF04760> +2024-11-30 17:05:41,251 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\connection.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\connection.py +2024-11-30 17:05:41,251 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\connection.cpython-39.pyc' +2024-11-30 17:05:41,251 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__init__.py +2024-11-30 17:05:41,252 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:41,252 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\connection.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\connection.py +2024-11-30 17:05:41,252 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\connection.cpython-39.pyc' +2024-11-30 17:05:41,252 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__init__.py +2024-11-30 17:05:41,257 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:41,257 - api.main - INFO - STDERR: import 'urllib3.contrib' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF24FD0> +2024-11-30 17:05:41,257 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\_appengine_environ.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\_appengine_environ.py +2024-11-30 17:05:41,259 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\_appengine_environ.cpython-39.pyc' +2024-11-30 17:05:41,259 - api.main - INFO - STDERR: import 'urllib3.contrib._appengine_environ' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF30190> +2024-11-30 17:05:41,259 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\wait.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\wait.py +2024-11-30 17:05:41,259 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\wait.cpython-39.pyc' +2024-11-30 17:05:41,259 - api.main - INFO - STDERR: import 'urllib3.util.wait' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF30340> +2024-11-30 17:05:41,259 - api.main - INFO - STDERR: import 'urllib3.util.connection' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF24C40> +2024-11-30 17:05:41,259 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\request.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\request.py +2024-11-30 17:05:41,259 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\request.cpython-39.pyc' +2024-11-30 17:05:41,259 - api.main - INFO - STDERR: import 'urllib3.util.request' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF24E20> +2024-11-30 17:05:41,259 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\response.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\response.py +2024-11-30 17:05:41,259 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\response.cpython-39.pyc' +2024-11-30 17:05:41,259 - api.main - INFO - STDERR: import 'urllib3.util.response' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF30760> +2024-11-30 17:05:41,259 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\retry.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\retry.py +2024-11-30 17:05:41,261 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\retry.cpython-39.pyc' +2024-11-30 17:05:41,261 - api.main - INFO - STDERR: import 'urllib3.util.retry' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF30850> +2024-11-30 17:05:41,262 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssl_.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssl_.py +2024-11-30 17:05:41,262 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssl_.cpython-39.pyc' +2024-11-30 17:05:41,262 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\hmac.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\hmac.py +2024-11-30 17:05:41,262 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\hmac.cpython-39.pyc' +2024-11-30 17:05:41,262 - api.main - INFO - STDERR: import 'hmac' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF3CA30> +2024-11-30 17:05:41,262 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\url.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\url.py +2024-11-30 17:05:41,262 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\url.cpython-39.pyc' +2024-11-30 17:05:41,266 - api.main - INFO - STDERR: import 'urllib3.util.url' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF4A280> +2024-11-30 17:05:41,267 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssltransport.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssltransport.py +2024-11-30 17:05:41,267 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssltransport.cpython-39.pyc' +2024-11-30 17:05:41,267 - api.main - INFO - STDERR: import 'urllib3.util.ssltransport' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF4ADC0> +2024-11-30 17:05:41,267 - api.main - INFO - STDERR: import 'urllib3.util.ssl_' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF3C520> +2024-11-30 17:05:41,267 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\timeout.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\timeout.py +2024-11-30 17:05:41,267 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\timeout.cpython-39.pyc' +2024-11-30 17:05:41,267 - api.main - INFO - STDERR: import 'urllib3.util.timeout' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF3C820> +2024-11-30 17:05:41,267 - api.main - INFO - STDERR: import 'urllib3.util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF24940> +2024-11-30 17:05:41,267 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\proxy.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\proxy.py +2024-11-30 17:05:41,267 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\proxy.cpython-39.pyc' +2024-11-30 17:05:41,267 - api.main - INFO - STDERR: import 'urllib3.util.proxy' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF249A0> +2024-11-30 17:05:41,267 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssl_match_hostname.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssl_match_hostname.py +2024-11-30 17:05:41,268 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssl_match_hostname.cpython-39.pyc' +2024-11-30 17:05:41,269 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ipaddress.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ipaddress.py +2024-11-30 17:05:41,269 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ipaddress.cpython-39.pyc' +2024-11-30 17:05:41,269 - api.main - INFO - STDERR: import 'ipaddress' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF608B0> +2024-11-30 17:05:41,269 - api.main - INFO - STDERR: import 'urllib3.util.ssl_match_hostname' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF246A0> +2024-11-30 17:05:41,269 - api.main - INFO - STDERR: import 'urllib3.connection' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF145B0> +2024-11-30 17:05:41,271 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\request.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\request.py +2024-11-30 17:05:41,271 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\request.cpython-39.pyc' +2024-11-30 17:05:41,271 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\filepost.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\filepost.py +2024-11-30 17:05:41,271 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\filepost.cpython-39.pyc' +2024-11-30 17:05:41,271 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\fields.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\fields.py +2024-11-30 17:05:41,271 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\fields.cpython-39.pyc' +2024-11-30 17:05:41,274 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\mimetypes.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\mimetypes.py +2024-11-30 17:05:41,274 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\mimetypes.cpython-39.pyc' +2024-11-30 17:05:41,274 - api.main - INFO - STDERR: import 'mimetypes' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF992E0> +2024-11-30 17:05:41,274 - api.main - INFO - STDERR: import 'urllib3.fields' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF96D00> +2024-11-30 17:05:41,275 - api.main - INFO - STDERR: import 'urllib3.filepost' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF968E0> +2024-11-30 17:05:41,276 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.urllib' # +2024-11-30 17:05:41,276 - api.main - INFO - STDERR: import 'urllib3.packages.six.moves.urllib.parse' # +2024-11-30 17:05:41,276 - api.main - INFO - STDERR: import 'urllib3.request' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF24610> +2024-11-30 17:05:41,276 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\response.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\response.py +2024-11-30 17:05:41,276 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\response.cpython-39.pyc' +2024-11-30 17:05:41,277 - api.main - INFO - STDERR: import 'urllib3.response' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF70FA0> +2024-11-30 17:05:41,277 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\queue.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\queue.py +2024-11-30 17:05:41,277 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\queue.cpython-39.pyc' +2024-11-30 17:05:41,277 - api.main - INFO - STDERR: import 'urllib3.util.queue' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF99730> +2024-11-30 17:05:41,277 - api.main - INFO - STDERR: import 'urllib3.connectionpool' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEEF0AC0> +2024-11-30 17:05:41,277 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\poolmanager.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\poolmanager.py +2024-11-30 17:05:41,278 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\poolmanager.cpython-39.pyc' +2024-11-30 17:05:41,278 - api.main - INFO - STDERR: import 'urllib3.poolmanager' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEFAB2B0> +2024-11-30 17:05:41,279 - api.main - INFO - STDERR: import 'urllib3' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEEF0250> +2024-11-30 17:05:41,280 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\exceptions.py +2024-11-30 17:05:41,280 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 17:05:41,280 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\compat.py +2024-11-30 17:05:41,280 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\compat.cpython-39.pyc' +2024-11-30 17:05:41,282 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__init__.py +2024-11-30 17:05:41,283 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:41,283 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\api.py +2024-11-30 17:05:41,283 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\api.cpython-39.pyc' +2024-11-30 17:05:41,284 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\cd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\cd.py +2024-11-30 17:05:41,284 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\cd.cpython-39.pyc' +2024-11-30 17:05:41,284 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\constant.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\constant.py +2024-11-30 17:05:41,285 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\constant.cpython-39.pyc' +2024-11-30 17:05:41,285 - api.main - INFO - STDERR: import 'charset_normalizer.constant' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEFC5790> +2024-11-30 17:05:41,288 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md__mypyc' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md__mypyc.cp39-win_amd64.pyd' +2024-11-30 17:05:41,288 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md__mypyc' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md__mypyc.cp39-win_amd64.pyd' +2024-11-30 17:05:41,288 - api.main - INFO - STDERR: import 'charset_normalizer.md__mypyc' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FEFE9E80> +2024-11-30 17:05:41,289 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\utils.py +2024-11-30 17:05:41,289 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 17:05:41,291 - api.main - INFO - STDERR: # extension module 'unicodedata' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\unicodedata.pyd' +2024-11-30 17:05:41,291 - api.main - INFO - STDERR: # extension module 'unicodedata' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\unicodedata.pyd' +2024-11-30 17:05:41,292 - api.main - INFO - STDERR: import 'unicodedata' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FEFF0730> +2024-11-30 17:05:41,292 - api.main - INFO - STDERR: import '_multibytecodec' # +2024-11-30 17:05:41,292 - api.main - INFO - STDERR: import 'charset_normalizer.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEFE9BB0> +2024-11-30 17:05:41,292 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md.cp39-win_amd64.pyd' +2024-11-30 17:05:41,292 - api.main - INFO - STDERR: # extension module 'charset_normalizer.md' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md.cp39-win_amd64.pyd' +2024-11-30 17:05:41,292 - api.main - INFO - STDERR: import 'charset_normalizer.md' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FEFE9BE0> +2024-11-30 17:05:41,292 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\models.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\models.py +2024-11-30 17:05:41,293 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\models.cpython-39.pyc' +2024-11-30 17:05:41,293 - api.main - INFO - STDERR: import 'charset_normalizer.models' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEFF0FA0> +2024-11-30 17:05:41,293 - api.main - INFO - STDERR: import 'charset_normalizer.cd' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEFC5100> +2024-11-30 17:05:41,293 - api.main - INFO - STDERR: import 'charset_normalizer.api' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEFABA90> +2024-11-30 17:05:41,294 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\legacy.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\legacy.py +2024-11-30 17:05:41,294 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\legacy.cpython-39.pyc' +2024-11-30 17:05:41,294 - api.main - INFO - STDERR: import 'charset_normalizer.legacy' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF002340> +2024-11-30 17:05:41,294 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\version.py +2024-11-30 17:05:41,294 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\version.cpython-39.pyc' +2024-11-30 17:05:41,295 - api.main - INFO - STDERR: import 'charset_normalizer.version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0023D0> +2024-11-30 17:05:41,295 - api.main - INFO - STDERR: import 'charset_normalizer' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEFABD30> +2024-11-30 17:05:41,296 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\cookiejar.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\cookiejar.py +2024-11-30 17:05:41,296 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\cookiejar.cpython-39.pyc' +2024-11-30 17:05:41,300 - api.main - INFO - STDERR: import 'http.cookiejar' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF002400> +2024-11-30 17:05:41,302 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\cookies.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\cookies.py +2024-11-30 17:05:41,302 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\cookies.cpython-39.pyc' +2024-11-30 17:05:41,304 - api.main - INFO - STDERR: import 'http.cookies' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0555B0> +2024-11-30 17:05:41,304 - api.main - INFO - STDERR: import 'requests.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEFABEE0> +2024-11-30 17:05:41,304 - api.main - INFO - STDERR: import 'requests.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEFB63D0> +2024-11-30 17:05:41,305 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\packages.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\packages.py +2024-11-30 17:05:41,305 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\packages.cpython-39.pyc' +2024-11-30 17:05:41,308 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__init__.py +2024-11-30 17:05:41,308 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:41,309 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\core.py +2024-11-30 17:05:41,309 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\core.cpython-39.pyc' +2024-11-30 17:05:41,309 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\idnadata.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\idnadata.py +2024-11-30 17:05:41,309 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\idnadata.cpython-39.pyc' +2024-11-30 17:05:41,310 - api.main - INFO - STDERR: import 'idna.idnadata' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF072850> +2024-11-30 17:05:41,310 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\intranges.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\intranges.py +2024-11-30 17:05:41,310 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\intranges.cpython-39.pyc' +2024-11-30 17:05:41,311 - api.main - INFO - STDERR: import 'idna.intranges' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0728E0> +2024-11-30 17:05:41,311 - api.main - INFO - STDERR: import 'idna.core' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF072100> +2024-11-30 17:05:41,311 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\package_data.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\package_data.py +2024-11-30 17:05:41,311 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\package_data.cpython-39.pyc' +2024-11-30 17:05:41,311 - api.main - INFO - STDERR: import 'idna.package_data' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF072580> +2024-11-30 17:05:41,311 - api.main - INFO - STDERR: import 'idna' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEFB60A0> +2024-11-30 17:05:41,312 - api.main - INFO - STDERR: import 'requests.packages' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEFB65B0> +2024-11-30 17:05:41,313 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\utils.py +2024-11-30 17:05:41,313 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 17:05:41,313 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\certs.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\certs.py +2024-11-30 17:05:41,313 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\certs.cpython-39.pyc' +2024-11-30 17:05:41,313 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__init__.py +2024-11-30 17:05:41,315 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\certifi\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:41,315 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\core.py +2024-11-30 17:05:41,315 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\certifi\\__pycache__\\core.cpython-39.pyc' +2024-11-30 17:05:41,315 - api.main - INFO - STDERR: import 'certifi.core' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0A97C0> +2024-11-30 17:05:41,315 - api.main - INFO - STDERR: import 'certifi' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0A9550> +2024-11-30 17:05:41,315 - api.main - INFO - STDERR: import 'requests.certs' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0A9340> +2024-11-30 17:05:41,316 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\__version__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__version__.py +2024-11-30 17:05:41,317 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\__version__.cpython-39.pyc' +2024-11-30 17:05:41,317 - api.main - INFO - STDERR: import 'requests.__version__' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0A94C0> +2024-11-30 17:05:41,317 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\_internal_utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\_internal_utils.py +2024-11-30 17:05:41,317 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\_internal_utils.cpython-39.pyc' +2024-11-30 17:05:41,317 - api.main - INFO - STDERR: import 'requests._internal_utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0A93D0> +2024-11-30 17:05:41,317 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\cookies.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\cookies.py +2024-11-30 17:05:41,317 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\cookies.cpython-39.pyc' +2024-11-30 17:05:41,317 - api.main - INFO - STDERR: import 'requests.cookies' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0A95E0> +2024-11-30 17:05:41,318 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\structures.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\structures.py +2024-11-30 17:05:41,318 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\structures.cpython-39.pyc' +2024-11-30 17:05:41,318 - api.main - INFO - STDERR: import 'requests.structures' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0B09D0> +2024-11-30 17:05:41,318 - api.main - INFO - STDERR: import 'requests.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEFB67F0> +2024-11-30 17:05:41,318 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\api.py +2024-11-30 17:05:41,318 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\api.cpython-39.pyc' +2024-11-30 17:05:41,319 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\sessions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\sessions.py +2024-11-30 17:05:41,319 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\sessions.cpython-39.pyc' +2024-11-30 17:05:41,319 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\adapters.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\adapters.py +2024-11-30 17:05:41,319 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\adapters.cpython-39.pyc' +2024-11-30 17:05:41,325 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\auth.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\auth.py +2024-11-30 17:05:41,325 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\auth.cpython-39.pyc' +2024-11-30 17:05:41,326 - api.main - INFO - STDERR: import 'requests.auth' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0C97C0> +2024-11-30 17:05:41,326 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\models.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\models.py +2024-11-30 17:05:41,327 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\models.cpython-39.pyc' +2024-11-30 17:05:41,327 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\idna.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\idna.py +2024-11-30 17:05:41,327 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\idna.cpython-39.pyc' +2024-11-30 17:05:41,327 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\stringprep.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\stringprep.py +2024-11-30 17:05:41,327 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\stringprep.cpython-39.pyc' +2024-11-30 17:05:41,328 - api.main - INFO - STDERR: import 'stringprep' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0E51F0> +2024-11-30 17:05:41,328 - api.main - INFO - STDERR: import 'encodings.idna' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0D8D60> +2024-11-30 17:05:41,328 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\hooks.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\hooks.py +2024-11-30 17:05:41,328 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\hooks.cpython-39.pyc' +2024-11-30 17:05:41,328 - api.main - INFO - STDERR: import 'requests.hooks' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0D8F70> +2024-11-30 17:05:41,328 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\status_codes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\status_codes.py +2024-11-30 17:05:41,328 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\status_codes.cpython-39.pyc' +2024-11-30 17:05:41,328 - api.main - INFO - STDERR: import 'requests.status_codes' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0E5820> +2024-11-30 17:05:41,329 - api.main - INFO - STDERR: import 'requests.models' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0C9E80> +2024-11-30 17:05:41,329 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\socks.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\socks.py +2024-11-30 17:05:41,329 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\socks.cpython-39.pyc' +2024-11-30 17:05:41,330 - api.main - INFO - STDERR: # destroy urllib3.contrib.socks +2024-11-30 17:05:41,331 - api.main - INFO - STDERR: import 'requests.adapters' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0BDEB0> +2024-11-30 17:05:41,331 - api.main - INFO - STDERR: import 'requests.sessions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0BD460> +2024-11-30 17:05:41,331 - api.main - INFO - STDERR: import 'requests.api' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0BD100> +2024-11-30 17:05:41,331 - api.main - INFO - STDERR: import 'requests' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEEDEF10> +2024-11-30 17:05:41,332 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__init__.py +2024-11-30 17:05:41,332 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:41,332 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_version.py +2024-11-30 17:05:41,332 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_version.cpython-39.pyc' +2024-11-30 17:05:41,332 - api.main - INFO - STDERR: import 'PIL._version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0C95E0> +2024-11-30 17:05:41,332 - api.main - INFO - STDERR: import 'PIL' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0BD280> +2024-11-30 17:05:41,332 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\Image.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\Image.py +2024-11-30 17:05:41,332 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\Image.cpython-39.pyc' +2024-11-30 17:05:41,332 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\ExifTags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\ExifTags.py +2024-11-30 17:05:41,332 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\ExifTags.cpython-39.pyc' +2024-11-30 17:05:41,338 - api.main - INFO - STDERR: import 'PIL.ExifTags' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF129910> +2024-11-30 17:05:41,339 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\ImageMode.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\ImageMode.py +2024-11-30 17:05:41,339 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\ImageMode.cpython-39.pyc' +2024-11-30 17:05:41,340 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_deprecate.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_deprecate.py +2024-11-30 17:05:41,340 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_deprecate.cpython-39.pyc' +2024-11-30 17:05:41,340 - api.main - INFO - STDERR: import 'PIL._deprecate' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF144E80> +2024-11-30 17:05:41,340 - api.main - INFO - STDERR: import 'PIL.ImageMode' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF129940> +2024-11-30 17:05:41,340 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\TiffTags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\TiffTags.py +2024-11-30 17:05:41,341 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\TiffTags.cpython-39.pyc' +2024-11-30 17:05:41,342 - api.main - INFO - STDERR: import 'PIL.TiffTags' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF14BA30> +2024-11-30 17:05:41,343 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_binary.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_binary.py +2024-11-30 17:05:41,343 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_binary.cpython-39.pyc' +2024-11-30 17:05:41,343 - api.main - INFO - STDERR: import 'PIL._binary' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF14BDC0> +2024-11-30 17:05:41,343 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_util.py +2024-11-30 17:05:41,343 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_util.cpython-39.pyc' +2024-11-30 17:05:41,343 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_typing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_typing.py +2024-11-30 17:05:41,343 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_typing.cpython-39.pyc' +2024-11-30 17:05:41,344 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\typing_extensions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\typing_extensions.py +2024-11-30 17:05:41,345 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\typing_extensions.cpython-39.pyc' +2024-11-30 17:05:41,347 - api.main - INFO - STDERR: import 'typing_extensions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF15FCA0> +2024-11-30 17:05:41,347 - api.main - INFO - STDERR: import 'PIL._typing' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF15F820> +2024-11-30 17:05:41,347 - api.main - INFO - STDERR: import 'PIL._util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF15F3D0> +2024-11-30 17:05:41,348 - api.main - INFO - STDERR: # extension module 'PIL._imaging' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\_imaging.cp39-win_amd64.pyd' +2024-11-30 17:05:41,349 - api.main - INFO - STDERR: # extension module 'PIL._imaging' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\_imaging.cp39-win_amd64.pyd' +2024-11-30 17:05:41,349 - api.main - INFO - STDERR: import 'PIL._imaging' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FF15FEB0> +2024-11-30 17:05:41,349 - api.main - INFO - STDERR: import 'PIL.Image' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0BDC70> +2024-11-30 17:05:41,350 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__init__.py +2024-11-30 17:05:41,350 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:41,351 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py +2024-11-30 17:05:41,351 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\api.cpython-39.pyc' +2024-11-30 17:05:41,351 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\compat.py +2024-11-30 17:05:41,351 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\compat.cpython-39.pyc' +2024-11-30 17:05:41,352 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\decorator.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\decorator.py +2024-11-30 17:05:41,352 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\decorator.cpython-39.pyc' +2024-11-30 17:05:41,352 - api.main - INFO - STDERR: import 'decorator' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF17CA60> +2024-11-30 17:05:41,352 - api.main - INFO - STDERR: import 'retry.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF17C1C0> +2024-11-30 17:05:41,352 - api.main - INFO - STDERR: import 'retry.api' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF1725B0> +2024-11-30 17:05:41,352 - api.main - INFO - STDERR: import 'retry' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0BD1F0> +2024-11-30 17:05:41,353 - api.main - INFO - STDERR: import 'adbutils._device' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEEC9B50> +2024-11-30 17:05:41,353 - api.main - INFO - STDERR: import 'adbutils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE2F8D00> +2024-11-30 17:05:41,355 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__init__.py +2024-11-30 17:05:41,355 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:41,355 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_api.py +2024-11-30 17:05:41,355 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_api.cpython-39.pyc' +2024-11-30 17:05:41,356 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_error.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_error.py +2024-11-30 17:05:41,356 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_error.cpython-39.pyc' +2024-11-30 17:05:41,356 - api.main - INFO - STDERR: import 'filelock._error' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF333220> +2024-11-30 17:05:41,356 - api.main - INFO - STDERR: import 'filelock._api' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF31A820> +2024-11-30 17:05:41,357 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_soft.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_soft.py +2024-11-30 17:05:41,357 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_soft.cpython-39.pyc' +2024-11-30 17:05:41,358 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_util.py +2024-11-30 17:05:41,358 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_util.cpython-39.pyc' +2024-11-30 17:05:41,358 - api.main - INFO - STDERR: import 'filelock._util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF333FD0> +2024-11-30 17:05:41,358 - api.main - INFO - STDERR: import 'filelock._soft' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF3335E0> +2024-11-30 17:05:41,358 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_unix.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_unix.py +2024-11-30 17:05:41,358 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_unix.cpython-39.pyc' +2024-11-30 17:05:41,358 - api.main - INFO - STDERR: import 'filelock._unix' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF333F10> +2024-11-30 17:05:41,358 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_windows.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_windows.py +2024-11-30 17:05:41,358 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_windows.cpython-39.pyc' +2024-11-30 17:05:41,359 - api.main - INFO - STDERR: import 'filelock._windows' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF3339A0> +2024-11-30 17:05:41,359 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\asyncio.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\asyncio.py +2024-11-30 17:05:41,359 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\asyncio.cpython-39.pyc' +2024-11-30 17:05:41,360 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__init__.py +2024-11-30 17:05:41,360 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:41,361 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_events.py +2024-11-30 17:05:41,361 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_events.cpython-39.pyc' +2024-11-30 17:05:41,362 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\__init__.py +2024-11-30 17:05:41,362 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:41,363 - api.main - INFO - STDERR: import 'concurrent' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF35C7F0> +2024-11-30 17:05:41,363 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__init__.py +2024-11-30 17:05:41,364 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\futures\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:41,364 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__pycache__\_base.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\_base.py +2024-11-30 17:05:41,364 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\futures\\__pycache__\\_base.cpython-39.pyc' +2024-11-30 17:05:41,364 - api.main - INFO - STDERR: import 'concurrent.futures._base' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF35CAF0> +2024-11-30 17:05:41,365 - api.main - INFO - STDERR: import 'concurrent.futures' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF35C820> +2024-11-30 17:05:41,366 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\constants.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\constants.py +2024-11-30 17:05:41,366 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\constants.cpython-39.pyc' +2024-11-30 17:05:41,366 - api.main - INFO - STDERR: import 'asyncio.constants' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF35C8E0> +2024-11-30 17:05:41,367 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\coroutines.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\coroutines.py +2024-11-30 17:05:41,367 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\coroutines.cpython-39.pyc' +2024-11-30 17:05:41,367 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_futures.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_futures.py +2024-11-30 17:05:41,368 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_futures.cpython-39.pyc' +2024-11-30 17:05:41,369 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\format_helpers.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\format_helpers.py +2024-11-30 17:05:41,369 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\format_helpers.cpython-39.pyc' +2024-11-30 17:05:41,369 - api.main - INFO - STDERR: import 'asyncio.format_helpers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF376D90> +2024-11-30 17:05:41,369 - api.main - INFO - STDERR: import 'asyncio.base_futures' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF376A30> +2024-11-30 17:05:41,369 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\log.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\log.py +2024-11-30 17:05:41,371 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\log.cpython-39.pyc' +2024-11-30 17:05:41,371 - api.main - INFO - STDERR: import 'asyncio.log' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF376DC0> +2024-11-30 17:05:41,371 - api.main - INFO - STDERR: import 'asyncio.coroutines' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF35C670> +2024-11-30 17:05:41,371 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\events.py +2024-11-30 17:05:41,371 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\events.cpython-39.pyc' +2024-11-30 17:05:41,371 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\contextvars.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\contextvars.py +2024-11-30 17:05:41,371 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\contextvars.cpython-39.pyc' +2024-11-30 17:05:41,371 - api.main - INFO - STDERR: import '_contextvars' # +2024-11-30 17:05:41,372 - api.main - INFO - STDERR: import 'contextvars' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF38E1F0> +2024-11-30 17:05:41,375 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\exceptions.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\exceptions.py +2024-11-30 17:05:41,375 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 17:05:41,375 - api.main - INFO - STDERR: import 'asyncio.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF38E7C0> +2024-11-30 17:05:41,376 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_tasks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_tasks.py +2024-11-30 17:05:41,376 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_tasks.cpython-39.pyc' +2024-11-30 17:05:41,376 - api.main - INFO - STDERR: import 'asyncio.base_tasks' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF38EC10> +2024-11-30 17:05:41,376 - api.main - INFO - STDERR: # extension module '_asyncio' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_asyncio.pyd' +2024-11-30 17:05:41,376 - api.main - INFO - STDERR: # extension module '_asyncio' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_asyncio.pyd' +2024-11-30 17:05:41,376 - api.main - INFO - STDERR: import '_asyncio' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FF38E580> +2024-11-30 17:05:41,376 - api.main - INFO - STDERR: import 'asyncio.events' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF376820> +2024-11-30 17:05:41,377 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\futures.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\futures.py +2024-11-30 17:05:41,377 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\futures.cpython-39.pyc' +2024-11-30 17:05:41,377 - api.main - INFO - STDERR: import 'asyncio.futures' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF38E3A0> +2024-11-30 17:05:41,385 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\protocols.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\protocols.py +2024-11-30 17:05:41,385 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\protocols.cpython-39.pyc' +2024-11-30 17:05:41,385 - api.main - INFO - STDERR: import 'asyncio.protocols' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF39F310> +2024-11-30 17:05:41,385 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\sslproto.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\sslproto.py +2024-11-30 17:05:41,385 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\sslproto.cpython-39.pyc' +2024-11-30 17:05:41,385 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\transports.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\transports.py +2024-11-30 17:05:41,385 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\transports.cpython-39.pyc' +2024-11-30 17:05:41,386 - api.main - INFO - STDERR: import 'asyncio.transports' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF3A99D0> +2024-11-30 17:05:41,386 - api.main - INFO - STDERR: import 'asyncio.sslproto' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF39F9A0> +2024-11-30 17:05:41,386 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\staggered.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\staggered.py +2024-11-30 17:05:41,386 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\staggered.cpython-39.pyc' +2024-11-30 17:05:41,386 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\locks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\locks.py +2024-11-30 17:05:41,386 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\locks.cpython-39.pyc' +2024-11-30 17:05:41,386 - api.main - INFO - STDERR: import 'asyncio.locks' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF3C59D0> +2024-11-30 17:05:41,386 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\tasks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\tasks.py +2024-11-30 17:05:41,386 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\tasks.cpython-39.pyc' +2024-11-30 17:05:41,386 - api.main - INFO - STDERR: import 'asyncio.tasks' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF3D2550> +2024-11-30 17:05:41,386 - api.main - INFO - STDERR: import 'asyncio.staggered' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF3A9790> +2024-11-30 17:05:41,387 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\trsock.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\trsock.py +2024-11-30 17:05:41,387 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\trsock.cpython-39.pyc' +2024-11-30 17:05:41,394 - api.main - INFO - STDERR: import 'asyncio.trsock' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF3DB820> +2024-11-30 17:05:41,394 - api.main - INFO - STDERR: import 'asyncio.base_events' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF337F70> +2024-11-30 17:05:41,394 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\runners.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\runners.py +2024-11-30 17:05:41,394 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\runners.cpython-39.pyc' +2024-11-30 17:05:41,394 - api.main - INFO - STDERR: import 'asyncio.runners' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF35C580> +2024-11-30 17:05:41,395 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\queues.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\queues.py +2024-11-30 17:05:41,395 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\queues.cpython-39.pyc' +2024-11-30 17:05:41,395 - api.main - INFO - STDERR: import 'asyncio.queues' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF35C430> +2024-11-30 17:05:41,395 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\streams.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\streams.py +2024-11-30 17:05:41,395 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\streams.cpython-39.pyc' +2024-11-30 17:05:41,395 - api.main - INFO - STDERR: import 'asyncio.streams' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF3E48E0> +2024-11-30 17:05:41,395 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\subprocess.py +2024-11-30 17:05:41,395 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\subprocess.cpython-39.pyc' +2024-11-30 17:05:41,395 - api.main - INFO - STDERR: import 'asyncio.subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF3FB700> +2024-11-30 17:05:41,395 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\threads.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\threads.py +2024-11-30 17:05:41,395 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\threads.cpython-39.pyc' +2024-11-30 17:05:41,395 - api.main - INFO - STDERR: import 'asyncio.threads' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF3FBCA0> +2024-11-30 17:05:41,395 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\windows_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\windows_events.py +2024-11-30 17:05:41,395 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\windows_events.cpython-39.pyc' +2024-11-30 17:05:41,395 - api.main - INFO - STDERR: # extension module '_overlapped' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_overlapped.pyd' +2024-11-30 17:05:41,398 - api.main - INFO - STDERR: # extension module '_overlapped' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_overlapped.pyd' +2024-11-30 17:05:41,398 - api.main - INFO - STDERR: import '_overlapped' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FF417250> +2024-11-30 17:05:41,398 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_subprocess.py +2024-11-30 17:05:41,399 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_subprocess.cpython-39.pyc' +2024-11-30 17:05:41,399 - api.main - INFO - STDERR: import 'asyncio.base_subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF4173A0> +2024-11-30 17:05:41,399 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\proactor_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\proactor_events.py +2024-11-30 17:05:41,399 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\proactor_events.cpython-39.pyc' +2024-11-30 17:05:41,399 - api.main - INFO - STDERR: import 'asyncio.proactor_events' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF417E20> +2024-11-30 17:05:41,399 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\selector_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\selector_events.py +2024-11-30 17:05:41,399 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\selector_events.cpython-39.pyc' +2024-11-30 17:05:41,399 - api.main - INFO - STDERR: import 'asyncio.selector_events' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF432520> +2024-11-30 17:05:41,399 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\windows_utils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\windows_utils.py +2024-11-30 17:05:41,399 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\windows_utils.cpython-39.pyc' +2024-11-30 17:05:41,399 - api.main - INFO - STDERR: import 'asyncio.windows_utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF451610> +2024-11-30 17:05:41,399 - api.main - INFO - STDERR: import 'asyncio.windows_events' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF3FBD60> +2024-11-30 17:05:41,399 - api.main - INFO - STDERR: import 'asyncio' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF337370> +2024-11-30 17:05:41,399 - api.main - INFO - STDERR: import 'filelock.asyncio' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF333B50> +2024-11-30 17:05:41,399 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\version.py +2024-11-30 17:05:41,399 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\version.cpython-39.pyc' +2024-11-30 17:05:41,399 - api.main - INFO - STDERR: import 'filelock.version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF460B80> +2024-11-30 17:05:41,402 - api.main - INFO - STDERR: import 'filelock' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF31A640> +2024-11-30 17:05:41,402 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__init__.py +2024-11-30 17:05:41,402 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:41,402 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\colors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\colors.py +2024-11-30 17:05:41,402 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\colors.cpython-39.pyc' +2024-11-30 17:05:41,402 - api.main - INFO - STDERR: import 'logzero.colors' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF4609D0> +2024-11-30 17:05:41,402 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\jsonlogger.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\jsonlogger.py +2024-11-30 17:05:41,402 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\jsonlogger.cpython-39.pyc' +2024-11-30 17:05:41,402 - api.main - INFO - STDERR: import 'logzero.jsonlogger' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF460280> +2024-11-30 17:05:41,402 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__pycache__\handlers.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\handlers.py +2024-11-30 17:05:41,402 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\logging\\__pycache__\\handlers.cpython-39.pyc' +2024-11-30 17:05:41,402 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pickle.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pickle.py +2024-11-30 17:05:41,402 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pickle.cpython-39.pyc' +2024-11-30 17:05:41,403 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_compat_pickle.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_compat_pickle.py +2024-11-30 17:05:41,403 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_compat_pickle.cpython-39.pyc' +2024-11-30 17:05:41,403 - api.main - INFO - STDERR: import '_compat_pickle' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF499760> +2024-11-30 17:05:41,403 - api.main - INFO - STDERR: import '_pickle' # +2024-11-30 17:05:41,404 - api.main - INFO - STDERR: import 'pickle' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF479C70> +2024-11-30 17:05:41,405 - api.main - INFO - STDERR: import 'logging.handlers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF451D60> +2024-11-30 17:05:41,406 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\curses\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\curses\__init__.py +2024-11-30 17:05:41,406 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\curses\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:41,406 - api.main - INFO - STDERR: # destroy curses +2024-11-30 17:05:41,407 - api.main - INFO - STDERR: import 'logzero' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF333B20> +2024-11-30 17:05:41,408 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\six.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\six.py +2024-11-30 17:05:41,408 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\six.cpython-39.pyc' +2024-11-30 17:05:41,408 - api.main - INFO - STDERR: import 'six' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF479DC0> +2024-11-30 17:05:41,408 - api.main - INFO - STDERR: import 'six.moves' # +2024-11-30 17:05:41,409 - api.main - INFO - STDERR: import 'six.moves.urllib' # +2024-11-30 17:05:41,409 - api.main - INFO - STDERR: import 'six.moves.urllib.parse' # +2024-11-30 17:05:41,409 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\cached_property.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cached_property.py +2024-11-30 17:05:41,409 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\cached_property.cpython-39.pyc' +2024-11-30 17:05:41,409 - api.main - INFO - STDERR: import 'cached_property' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF499FA0> +2024-11-30 17:05:41,410 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__init__.py +2024-11-30 17:05:41,410 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\deprecated\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:41,411 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__pycache__\classic.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\classic.py +2024-11-30 17:05:41,411 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\deprecated\\__pycache__\\classic.cpython-39.pyc' +2024-11-30 17:05:41,411 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__init__.py +2024-11-30 17:05:41,411 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:41,412 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\__wrapt__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__wrapt__.py +2024-11-30 17:05:41,412 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\__wrapt__.cpython-39.pyc' +2024-11-30 17:05:41,412 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\wrappers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\wrappers.py +2024-11-30 17:05:41,412 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\wrappers.cpython-39.pyc' +2024-11-30 17:05:41,413 - api.main - INFO - STDERR: import 'wrapt.wrappers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF4D1100> +2024-11-30 17:05:41,413 - api.main - INFO - STDERR: # extension module 'wrapt._wrappers' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\_wrappers.cp39-win_amd64.pyd' +2024-11-30 17:05:41,413 - api.main - INFO - STDERR: # extension module 'wrapt._wrappers' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\_wrappers.cp39-win_amd64.pyd' +2024-11-30 17:05:41,413 - api.main - INFO - STDERR: import 'wrapt._wrappers' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FF4DBA90> +2024-11-30 17:05:41,413 - api.main - INFO - STDERR: import 'wrapt.__wrapt__' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF4C6B20> +2024-11-30 17:05:41,415 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\patches.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\patches.py +2024-11-30 17:05:41,415 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\patches.cpython-39.pyc' +2024-11-30 17:05:41,415 - api.main - INFO - STDERR: import 'wrapt.patches' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF4C6C10> +2024-11-30 17:05:41,415 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\weakrefs.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\weakrefs.py +2024-11-30 17:05:41,415 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\weakrefs.cpython-39.pyc' +2024-11-30 17:05:41,415 - api.main - INFO - STDERR: import 'wrapt.weakrefs' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF4DBFD0> +2024-11-30 17:05:41,415 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\decorators.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\decorators.py +2024-11-30 17:05:41,416 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\decorators.cpython-39.pyc' +2024-11-30 17:05:41,416 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\arguments.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\arguments.py +2024-11-30 17:05:41,416 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\arguments.cpython-39.pyc' +2024-11-30 17:05:41,416 - api.main - INFO - STDERR: import 'wrapt.arguments' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF4F5130> +2024-11-30 17:05:41,416 - api.main - INFO - STDERR: import 'wrapt.decorators' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF4EF2E0> +2024-11-30 17:05:41,416 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\importer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\importer.py +2024-11-30 17:05:41,416 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\importer.cpython-39.pyc' +2024-11-30 17:05:41,416 - api.main - INFO - STDERR: import 'wrapt.importer' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF4F5310> +2024-11-30 17:05:41,416 - api.main - INFO - STDERR: import 'wrapt' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF4C6FA0> +2024-11-30 17:05:41,417 - api.main - INFO - STDERR: import 'deprecated.classic' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF4B6C70> +2024-11-30 17:05:41,417 - api.main - INFO - STDERR: import 'deprecated' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF4B6790> +2024-11-30 17:05:41,417 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\xpath.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\xpath.py +2024-11-30 17:05:41,417 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\xpath.cpython-39.pyc' +2024-11-30 17:05:41,418 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\_proto.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_proto.py +2024-11-30 17:05:41,418 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\_proto.cpython-39.pyc' +2024-11-30 17:05:41,418 - api.main - INFO - STDERR: import 'uiautomator2._proto' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF50D9A0> +2024-11-30 17:05:41,418 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\abcd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\abcd.py +2024-11-30 17:05:41,418 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\abcd.cpython-39.pyc' +2024-11-30 17:05:41,418 - api.main - INFO - STDERR: import 'uiautomator2.abcd' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF50DAF0> +2024-11-30 17:05:41,418 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\exceptions.py +2024-11-30 17:05:41,418 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 17:05:41,418 - api.main - INFO - STDERR: import 'uiautomator2.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF50DE20> +2024-11-30 17:05:41,418 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\utils.py +2024-11-30 17:05:41,418 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 17:05:41,420 - api.main - INFO - STDERR: import 'uiautomator2.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF50DF70> +2024-11-30 17:05:41,420 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\lxml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\lxml\__init__.py +2024-11-30 17:05:41,420 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:41,421 - api.main - INFO - STDERR: import 'lxml' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF526EE0> +2024-11-30 17:05:41,422 - api.main - INFO - STDERR: # extension module 'lxml.etree' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\etree.cp39-win_amd64.pyd' +2024-11-30 17:05:41,423 - api.main - INFO - STDERR: import 'gc' # +2024-11-30 17:05:41,425 - api.main - INFO - STDERR: # extension module 'lxml._elementpath' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\_elementpath.cp39-win_amd64.pyd' +2024-11-30 17:05:41,427 - api.main - INFO - STDERR: # extension module 'lxml._elementpath' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\_elementpath.cp39-win_amd64.pyd' +2024-11-30 17:05:41,427 - api.main - INFO - STDERR: import 'lxml._elementpath' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FF586DC0> +2024-11-30 17:05:41,430 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\gzip.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\gzip.py +2024-11-30 17:05:41,430 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\gzip.cpython-39.pyc' +2024-11-30 17:05:41,430 - api.main - INFO - STDERR: import 'gzip' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF5A9940> +2024-11-30 17:05:41,431 - api.main - INFO - STDERR: # extension module 'lxml.etree' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\etree.cp39-win_amd64.pyd' +2024-11-30 17:05:41,431 - api.main - INFO - STDERR: import 'lxml.etree' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FF526EB0> +2024-11-30 17:05:41,432 - api.main - INFO - STDERR: import 'uiautomator2.xpath' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF4B67F0> +2024-11-30 17:05:41,433 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\_selector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_selector.py +2024-11-30 17:05:41,433 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\_selector.cpython-39.pyc' +2024-11-30 17:05:41,433 - api.main - INFO - STDERR: import 'uiautomator2._selector' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF4F59A0> +2024-11-30 17:05:41,434 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\init.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\init.py +2024-11-30 17:05:41,434 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\init.cpython-39.pyc' +2024-11-30 17:05:41,435 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tarfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tarfile.py +2024-11-30 17:05:41,435 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tarfile.cpython-39.pyc' +2024-11-30 17:05:41,437 - api.main - INFO - STDERR: import 'tarfile' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF5EEB80> +2024-11-30 17:05:41,437 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__init__.py +2024-11-30 17:05:41,438 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:41,438 - api.main - INFO - STDERR: import 'progress' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF5FAAC0> +2024-11-30 17:05:41,439 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\bar.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\bar.py +2024-11-30 17:05:41,439 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\bar.cpython-39.pyc' +2024-11-30 17:05:41,439 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\colors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\colors.py +2024-11-30 17:05:41,439 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\colors.cpython-39.pyc' +2024-11-30 17:05:41,439 - api.main - INFO - STDERR: import 'progress.colors' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF627310> +2024-11-30 17:05:41,440 - api.main - INFO - STDERR: import 'progress.bar' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF5EEF70> +2024-11-30 17:05:41,440 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\version.py +2024-11-30 17:05:41,440 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\version.cpython-39.pyc' +2024-11-30 17:05:41,441 - api.main - INFO - STDERR: import 'uiautomator2.version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF627130> +2024-11-30 17:05:41,441 - api.main - INFO - STDERR: import 'uiautomator2.init' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF5EE550> +2024-11-30 17:05:41,441 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\settings.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\settings.py +2024-11-30 17:05:41,442 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\settings.cpython-39.pyc' +2024-11-30 17:05:41,442 - api.main - INFO - STDERR: import 'uiautomator2.settings' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF627AC0> +2024-11-30 17:05:41,442 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\swipe.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\swipe.py +2024-11-30 17:05:41,442 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\swipe.cpython-39.pyc' +2024-11-30 17:05:41,442 - api.main - INFO - STDERR: import 'uiautomator2.swipe' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF627D60> +2024-11-30 17:05:41,442 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\watcher.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\watcher.py +2024-11-30 17:05:41,443 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\watcher.cpython-39.pyc' +2024-11-30 17:05:41,443 - api.main - INFO - STDERR: import 'uiautomator2.watcher' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF627F10> +2024-11-30 17:05:41,444 - api.main - INFO - STDERR: import 'uiautomator2' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE209E80> +2024-11-30 17:05:41,445 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\utils.py +2024-11-30 17:05:41,445 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 17:05:41,446 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__init__.py +2024-11-30 17:05:41,446 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:41,446 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\core.py +2024-11-30 17:05:41,446 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\__pycache__\\core.cpython-39.pyc' +2024-11-30 17:05:41,447 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__init__.py +2024-11-30 17:05:41,447 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\unicode_codes\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:41,448 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__pycache__\data_dict.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\data_dict.py +2024-11-30 17:05:41,451 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\unicode_codes\\__pycache__\\data_dict.cpython-39.pyc' +2024-11-30 17:05:41,454 - api.main - INFO - STDERR: import 'emoji.unicode_codes.data_dict' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF65F970> +2024-11-30 17:05:41,465 - api.main - INFO - STDERR: import 'emoji.unicode_codes' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF65F640> +2024-11-30 17:05:41,466 - api.main - INFO - STDERR: import 'emoji.core' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF64EF70> +2024-11-30 17:05:41,466 - api.main - INFO - STDERR: import 'emoji' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF64ED00> +2024-11-30 17:05:41,466 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\log.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\log.py +2024-11-30 17:05:41,467 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\log.cpython-39.pyc' +2024-11-30 17:05:41,467 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\uuid.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\uuid.py +2024-11-30 17:05:41,467 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\uuid.cpython-39.pyc' +2024-11-30 17:05:41,468 - api.main - INFO - STDERR: # extension module '_uuid' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_uuid.pyd' +2024-11-30 17:05:41,468 - api.main - INFO - STDERR: # extension module '_uuid' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_uuid.pyd' +2024-11-30 17:05:41,469 - api.main - INFO - STDERR: import '_uuid' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275802481F0> +2024-11-30 17:05:41,469 - api.main - INFO - STDERR: import 'uuid' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF65FA90> +2024-11-30 17:05:41,469 - api.main - INFO - STDERR: import 'GramAddict.core.log' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF64ED30> +2024-11-30 17:05:41,470 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\report.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\report.py +2024-11-30 17:05:41,470 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\report.cpython-39.pyc' +2024-11-30 17:05:41,470 - api.main - INFO - STDERR: import 'GramAddict.core.report' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF65F760> +2024-11-30 17:05:41,470 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\resources.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\resources.py +2024-11-30 17:05:41,470 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\resources.cpython-39.pyc' +2024-11-30 17:05:41,471 - api.main - INFO - STDERR: import 'GramAddict.core.resources' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580248160> +2024-11-30 17:05:41,471 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\storage.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\storage.py +2024-11-30 17:05:41,471 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\storage.cpython-39.pyc' +2024-11-30 17:05:41,472 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\atomicwrites\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\atomicwrites\__init__.py +2024-11-30 17:05:41,472 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\atomicwrites\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:41,472 - api.main - INFO - STDERR: import 'atomicwrites' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580248880> +2024-11-30 17:05:41,473 - api.main - INFO - STDERR: import 'GramAddict.core.storage' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580248310> +2024-11-30 17:05:41,473 - api.main - INFO - STDERR: import 'GramAddict.core.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE2466D0> +2024-11-30 17:05:41,473 - api.main - INFO - STDERR: import 'GramAddict.core.device_facade' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE1392B0> +2024-11-30 17:05:41,474 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\filter.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\filter.py +2024-11-30 17:05:41,474 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\filter.cpython-39.pyc' +2024-11-30 17:05:41,475 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__init__.py +2024-11-30 17:05:41,475 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:41,476 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\detector_factory.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\detector_factory.py +2024-11-30 17:05:41,476 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\detector_factory.cpython-39.pyc' +2024-11-30 17:05:41,477 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\detector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\detector.py +2024-11-30 17:05:41,477 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\detector.cpython-39.pyc' +2024-11-30 17:05:41,477 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\lang_detect_exception.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\lang_detect_exception.py +2024-11-30 17:05:41,477 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\lang_detect_exception.cpython-39.pyc' +2024-11-30 17:05:41,478 - api.main - INFO - STDERR: import 'langdetect.lang_detect_exception' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580272D60> +2024-11-30 17:05:41,478 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\language.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\language.py +2024-11-30 17:05:41,478 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\language.cpython-39.pyc' +2024-11-30 17:05:41,478 - api.main - INFO - STDERR: import 'langdetect.language' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580272FD0> +2024-11-30 17:05:41,478 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__init__.py +2024-11-30 17:05:41,478 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:41,478 - api.main - INFO - STDERR: import 'langdetect.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000002758027A3A0> +2024-11-30 17:05:41,479 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\ngram.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\ngram.py +2024-11-30 17:05:41,479 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\ngram.cpython-39.pyc' +2024-11-30 17:05:41,479 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\messages.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\messages.py +2024-11-30 17:05:41,479 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\messages.cpython-39.pyc' +2024-11-30 17:05:41,479 - api.main - INFO - STDERR: import 'langdetect.utils.messages' # <_frozen_importlib_external.SourceFileLoader object at 0x000002758027A6D0> +2024-11-30 17:05:41,479 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\unicode_block.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\unicode_block.py +2024-11-30 17:05:41,480 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\unicode_block.cpython-39.pyc' +2024-11-30 17:05:41,480 - api.main - INFO - STDERR: import 'langdetect.utils.unicode_block' # <_frozen_importlib_external.SourceFileLoader object at 0x000002758027A880> +2024-11-30 17:05:41,481 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\unicode_escape.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\unicode_escape.py +2024-11-30 17:05:41,481 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\unicode_escape.cpython-39.pyc' +2024-11-30 17:05:41,481 - api.main - INFO - STDERR: import 'encodings.unicode_escape' # <_frozen_importlib_external.SourceFileLoader object at 0x000002758027AA30> +2024-11-30 17:05:41,487 - api.main - INFO - STDERR: import 'langdetect.utils.ngram' # <_frozen_importlib_external.SourceFileLoader object at 0x000002758027A3D0> +2024-11-30 17:05:41,488 - api.main - INFO - STDERR: import 'langdetect.detector' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275802727C0> +2024-11-30 17:05:41,489 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\lang_profile.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\lang_profile.py +2024-11-30 17:05:41,490 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\lang_profile.cpython-39.pyc' +2024-11-30 17:05:41,491 - api.main - INFO - STDERR: import 'langdetect.utils.lang_profile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580272B80> +2024-11-30 17:05:41,491 - api.main - INFO - STDERR: import 'langdetect.detector_factory' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275802722B0> +2024-11-30 17:05:41,491 - api.main - INFO - STDERR: import 'langdetect' # <_frozen_importlib_external.SourceFileLoader object at 0x000002758025FFD0> +2024-11-30 17:05:41,491 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\views.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py +2024-11-30 17:05:41,492 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\views.cpython-39.pyc' +2024-11-30 17:05:41,494 - api.main - INFO - STDERR: import 'GramAddict.core.views' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580272550> +2024-11-30 17:05:41,495 - api.main - INFO - STDERR: import 'GramAddict.core.filter' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE2094F0> +2024-11-30 17:05:41,496 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\interaction.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\interaction.py +2024-11-30 17:05:41,496 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\interaction.cpython-39.pyc' +2024-11-30 17:05:41,499 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__init__.py +2024-11-30 17:05:41,500 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\spintax\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:41,500 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__pycache__\spintax.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\spintax.py +2024-11-30 17:05:41,501 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\spintax\\__pycache__\\spintax.cpython-39.pyc' +2024-11-30 17:05:41,501 - api.main - INFO - STDERR: import 'spintax.spintax' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580367820> +2024-11-30 17:05:41,501 - api.main - INFO - STDERR: import 'spintax' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275803675E0> +2024-11-30 17:05:41,502 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\session_state.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\session_state.py +2024-11-30 17:05:41,502 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\session_state.cpython-39.pyc' +2024-11-30 17:05:41,502 - api.main - INFO - STDERR: import 'GramAddict.core.session_state' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275803678E0> +2024-11-30 17:05:41,502 - api.main - INFO - STDERR: import 'GramAddict.core.interaction' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580367100> +2024-11-30 17:05:41,505 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\navigation.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\navigation.py +2024-11-30 17:05:41,505 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\navigation.cpython-39.pyc' +2024-11-30 17:05:41,505 - api.main - INFO - STDERR: import 'GramAddict.core.navigation' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580367FD0> +2024-11-30 17:05:41,515 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\persistent_list.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\persistent_list.py +2024-11-30 17:05:41,519 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\persistent_list.cpython-39.pyc' +2024-11-30 17:05:41,520 - api.main - INFO - STDERR: import 'GramAddict.core.persistent_list' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275803760D0> +2024-11-30 17:05:41,520 - api.main - INFO - STDERR: import 'GramAddict.core.bot_flow' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC2A4670> +2024-11-30 17:05:41,520 - api.main - INFO - STDOUT: Python path: ['e:\\PROJECTS\\instagram automation\\virtualinfluencer', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\python39.zip', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer'] +2024-11-30 17:05:41,521 - api.main - INFO - STDERR: import 'GramAddict' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC2A4D00> +2024-11-30 17:05:41,521 - api.main - INFO - STDOUT: Current directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 17:05:41,521 - api.main - INFO - STDERR: e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml has been saved last time at 2024-11-30 17:04:22 +2024-11-30 17:05:41,521 - api.main - INFO - STDOUT: Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +2024-11-30 17:05:41,522 - api.main - INFO - STDOUT: Successfully imported GramAddict +2024-11-30 17:05:41,549 - api.main - INFO - STDERR: [11/30 17:05:41] INFO | Checking for updates... +2024-11-30 17:05:41,552 - api.main - INFO - STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\netrc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\netrc.py +2024-11-30 17:05:41,552 - api.main - INFO - STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\netrc.cpython-39.pyc' +2024-11-30 17:05:41,552 - api.main - INFO - STDERR: import 'netrc' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580376EE0> +2024-11-30 17:05:41,775 - api.main - INFO - STDERR: [11/30 17:05:41] INFO | Bot is updated. +2024-11-30 17:05:41,776 - api.main - INFO - STDERR: [11/30 17:05:41] INFO | GramAddict v.3.2.12 +2024-11-30 17:05:41,776 - api.main - INFO - STDERR: [11/30 17:05:41] INFO | Loading plugins . . . +2024-11-30 17:05:41,778 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__init__.py +2024-11-30 17:05:41,778 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:41,778 - api.main - INFO - STDERR: import 'GramAddict.plugins' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580376C70> +2024-11-30 17:05:41,779 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\action_unfollow_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\action_unfollow_followers.py +2024-11-30 17:05:41,779 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\action_unfollow_followers.cpython-39.pyc' +2024-11-30 17:05:41,780 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\decorators.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py +2024-11-30 17:05:41,780 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\decorators.cpython-39.pyc' +2024-11-30 17:05:41,780 - api.main - INFO - STDERR: import 'GramAddict.core.decorators' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580388B20> +2024-11-30 17:05:41,780 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\scroll_end_detector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\scroll_end_detector.py +2024-11-30 17:05:41,780 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\scroll_end_detector.cpython-39.pyc' +2024-11-30 17:05:41,780 - api.main - INFO - STDERR: import 'GramAddict.core.scroll_end_detector' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580388370> +2024-11-30 17:05:41,780 - api.main - INFO - STDERR: import 'GramAddict.plugins.action_unfollow_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580376B20> +2024-11-30 17:05:41,781 - api.main - INFO - STDERR: [11/30 17:05:41] INFO | - ActionUnfollowFollowers: Handles the functionality of unfollowing your followers +2024-11-30 17:05:41,781 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\cloned_app.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\cloned_app.py +2024-11-30 17:05:41,782 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\cloned_app.cpython-39.pyc' +2024-11-30 17:05:41,782 - api.main - INFO - STDERR: import 'GramAddict.plugins.cloned_app' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580388CA0> +2024-11-30 17:05:41,782 - api.main - INFO - STDERR: [11/30 17:05:41] INFO | - ClonedApp: Adds support for cloned apps +2024-11-30 17:05:41,788 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\core_arguments.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\core_arguments.py +2024-11-30 17:05:41,788 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\core_arguments.cpython-39.pyc' +2024-11-30 17:05:41,788 - api.main - INFO - STDERR: import 'GramAddict.plugins.core_arguments' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580388D60> +2024-11-30 17:05:41,788 - api.main - INFO - STDERR: [11/30 17:05:41] INFO | - CoreArguments: Simply adds core arguments +2024-11-30 17:05:41,789 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\data_analytics.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\data_analytics.py +2024-11-30 17:05:41,789 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\data_analytics.cpython-39.pyc' +2024-11-30 17:05:41,789 - api.main - INFO - STDERR: import 'GramAddict.plugins.data_analytics' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580388D90> +2024-11-30 17:05:41,789 - api.main - INFO - STDERR: [11/30 17:05:41] INFO | - DataAnalytics: Generates a PDF analytics report of current username session data +2024-11-30 17:05:41,791 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\dbinit.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\dbinit.py +2024-11-30 17:05:41,791 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\dbinit.cpython-39.pyc' +2024-11-30 17:05:41,791 - api.main - INFO - STDERR: import 'GramAddict.plugins.dbinit' # <_frozen_importlib_external.SourceFileLoader object at 0x000002758038F160> +2024-11-30 17:05:41,791 - api.main - INFO - STDERR: [11/30 17:05:41] INFO | - DBInitPlugin: Initialize NocoDB tables at session start +2024-11-30 17:05:41,792 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger.py +2024-11-30 17:05:41,792 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger.cpython-39.pyc' +2024-11-30 17:05:41,793 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\handle_sources.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py +2024-11-30 17:05:41,793 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\handle_sources.cpython-39.pyc' +2024-11-30 17:05:41,793 - api.main - INFO - STDERR: import 'GramAddict.core.handle_sources' # <_frozen_importlib_external.SourceFileLoader object at 0x000002758038F820> +2024-11-30 17:05:41,793 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger' # <_frozen_importlib_external.SourceFileLoader object at 0x000002758038F3A0> +2024-11-30 17:05:41,793 - api.main - INFO - STDERR: [11/30 17:05:41] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger +2024-11-30 17:05:41,794 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py +2024-11-30 17:05:41,795 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger_followers.cpython-39.pyc' +2024-11-30 17:05:41,795 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x000002758038FDF0> +2024-11-30 17:05:41,795 - api.main - INFO - STDERR: [11/30 17:05:41] INFO | - InteractBloggerFollowers_Following: Handles the functionality of interacting with a bloggers followers/following +2024-11-30 17:05:41,795 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger_post_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_post_likers.py +2024-11-30 17:05:41,796 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger_post_likers.cpython-39.pyc' +2024-11-30 17:05:41,796 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_blogger_post_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x000002758038FEE0> +2024-11-30 17:05:41,796 - api.main - INFO - STDERR: [11/30 17:05:41] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger post likers +2024-11-30 17:05:41,796 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_feed.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_feed.py +2024-11-30 17:05:41,797 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_feed.cpython-39.pyc' +2024-11-30 17:05:41,797 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_feed' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC2A4CA0> +2024-11-30 17:05:41,797 - api.main - INFO - STDERR: [11/30 17:05:41] INFO | - InteractOwnFeed: Handles the functionality of interacting with your own feed +2024-11-30 17:05:41,798 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_hashtag_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_hashtag_likers.py +2024-11-30 17:05:41,798 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_hashtag_likers.cpython-39.pyc' +2024-11-30 17:05:41,798 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_hashtag_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275803DE2E0> +2024-11-30 17:05:41,798 - api.main - INFO - STDERR: [11/30 17:05:41] INFO | - InteractHashtagLikers: Handles the functionality of interacting with a hashtags likers +2024-11-30 17:05:41,799 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_hashtag_posts.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_hashtag_posts.py +2024-11-30 17:05:41,799 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_hashtag_posts.cpython-39.pyc' +2024-11-30 17:05:41,799 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_hashtag_posts' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275803DE640> +2024-11-30 17:05:41,799 - api.main - INFO - STDERR: [11/30 17:05:41] INFO | - InteractHashtagPosts: Handles the functionality of interacting with a hashtags post owners +2024-11-30 17:05:41,800 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_place_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_place_likers.py +2024-11-30 17:05:41,800 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_place_likers.cpython-39.pyc' +2024-11-30 17:05:41,800 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_place_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275803DE9A0> +2024-11-30 17:05:41,800 - api.main - INFO - STDERR: [11/30 17:05:41] INFO | - InteractPlaceLikers: Handles the functionality of interacting with a places likers +2024-11-30 17:05:41,800 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_place_posts.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_place_posts.py +2024-11-30 17:05:41,800 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_place_posts.cpython-39.pyc' +2024-11-30 17:05:41,800 - api.main - INFO - STDERR: import 'GramAddict.plugins.interact_place_posts' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275803DED30> +2024-11-30 17:05:41,801 - api.main - INFO - STDERR: [11/30 17:05:41] INFO | - InteractPlacePosts: Handles the functionality of interacting with a places post owners +2024-11-30 17:05:41,802 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\like_from_urls.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\like_from_urls.py +2024-11-30 17:05:41,802 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\like_from_urls.cpython-39.pyc' +2024-11-30 17:05:41,802 - api.main - INFO - STDERR: import 'GramAddict.plugins.like_from_urls' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275803DEFA0> +2024-11-30 17:05:41,803 - api.main - INFO - STDERR: [11/30 17:05:41] INFO | - LikeFromURLs: Likes a post from url. The urls are read from a plaintext file +2024-11-30 17:05:41,803 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\nocodb_record_creation_test.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\nocodb_record_creation_test.py +2024-11-30 17:05:41,803 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\nocodb_record_creation_test.cpython-39.pyc' +2024-11-30 17:05:41,803 - api.main - INFO - STDERR: import 'GramAddict.plugins.nocodb_record_creation_test' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275803FE460> +2024-11-30 17:05:41,804 - api.main - INFO - STDERR: [11/30 17:05:41] INFO | - NocoDBRecordCreationTest: Test plugin specifically for verifying NocoDB record creation functionality +2024-11-30 17:05:41,804 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\nocodb_storage.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\nocodb_storage.py +2024-11-30 17:05:41,804 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\nocodb_storage.cpython-39.pyc' +2024-11-30 17:05:41,805 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__init__.py +2024-11-30 17:05:41,806 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\__init__.cpython-39.pyc' +2024-11-30 17:05:41,806 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jwk.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jwk.py +2024-11-30 17:05:41,806 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jwk.cpython-39.pyc' +2024-11-30 17:05:41,806 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\algorithms.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\algorithms.py +2024-11-30 17:05:41,806 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\algorithms.cpython-39.pyc' +2024-11-30 17:05:41,807 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\exceptions.py +2024-11-30 17:05:41,807 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\exceptions.cpython-39.pyc' +2024-11-30 17:05:41,807 - api.main - INFO - STDERR: import 'jwt.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580419790> +2024-11-30 17:05:41,808 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\types.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\types.py +2024-11-30 17:05:41,808 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\types.cpython-39.pyc' +2024-11-30 17:05:41,808 - api.main - INFO - STDERR: import 'jwt.types' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580419820> +2024-11-30 17:05:41,808 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\utils.py +2024-11-30 17:05:41,808 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\utils.cpython-39.pyc' +2024-11-30 17:05:41,809 - api.main - INFO - STDERR: import 'jwt.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580419910> +2024-11-30 17:05:41,810 - api.main - INFO - STDERR: import 'jwt.algorithms' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275804105B0> +2024-11-30 17:05:41,810 - api.main - INFO - STDERR: import 'jwt.api_jwk' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275803FEE20> +2024-11-30 17:05:41,810 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jws.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jws.py +2024-11-30 17:05:41,810 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jws.cpython-39.pyc' +2024-11-30 17:05:41,811 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\warnings.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\warnings.py +2024-11-30 17:05:41,811 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\warnings.cpython-39.pyc' +2024-11-30 17:05:41,811 - api.main - INFO - STDERR: import 'jwt.warnings' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580419160> +2024-11-30 17:05:41,811 - api.main - INFO - STDERR: import 'jwt.api_jws' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580410C70> +2024-11-30 17:05:41,811 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jwt.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jwt.py +2024-11-30 17:05:41,811 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jwt.cpython-39.pyc' +2024-11-30 17:05:41,811 - api.main - INFO - STDERR: import 'jwt.api_jwt' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275804193A0> +2024-11-30 17:05:41,812 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\jwks_client.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\jwks_client.py +2024-11-30 17:05:41,812 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\jwks_client.cpython-39.pyc' +2024-11-30 17:05:41,812 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\jwk_set_cache.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\jwk_set_cache.py +2024-11-30 17:05:41,812 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\jwk_set_cache.cpython-39.pyc' +2024-11-30 17:05:41,812 - api.main - INFO - STDERR: import 'jwt.jwk_set_cache' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580424B50> +2024-11-30 17:05:41,812 - api.main - INFO - STDERR: import 'jwt.jwks_client' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580424580> +2024-11-30 17:05:41,813 - api.main - INFO - STDERR: import 'jwt' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275803FEBB0> +2024-11-30 17:05:41,813 - api.main - INFO - STDERR: import 'GramAddict.plugins.nocodb_storage' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275803FE5E0> +2024-11-30 17:05:41,813 - api.main - INFO - STDERR: [11/30 17:05:41] INFO | - NocoDBStorage: Store interaction data in NocoDB +2024-11-30 17:05:41,814 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\remove_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\remove_followers.py +2024-11-30 17:05:41,816 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\remove_followers.cpython-39.pyc' +2024-11-30 17:05:41,816 - api.main - INFO - STDERR: import 'GramAddict.plugins.remove_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580424FD0> +2024-11-30 17:05:41,816 - api.main - INFO - STDERR: [11/30 17:05:41] INFO | - RemoveFollowersFromList: Remove account followers from a list of usernames +2024-11-30 17:05:41,816 - api.main - INFO - STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\telegram.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\telegram.py +2024-11-30 17:05:41,816 - api.main - INFO - STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\telegram.cpython-39.pyc' +2024-11-30 17:05:41,817 - api.main - INFO - STDERR: import 'GramAddict.plugins.telegram' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580440220> +2024-11-30 17:05:41,817 - api.main - INFO - STDERR: [11/30 17:05:41] INFO | - TelegramReports: Generate reports at the end of the session and send them using telegram +2024-11-30 17:05:41,824 - api.main - INFO - STDERR: usage: run.py [-h] [--config CONFIG] [--unfollow 10-20] +2024-11-30 17:05:41,824 - api.main - INFO - STDERR: [--unfollow-non-followers 10-20] +2024-11-30 17:05:41,824 - api.main - INFO - STDERR: [--unfollow-any-non-followers 10-20] +2024-11-30 17:05:41,824 - api.main - INFO - STDERR: [--unfollow-any-followers 10-20] [--unfollow-any 10-20] +2024-11-30 17:05:41,825 - api.main - INFO - STDERR: [--min-following 100] [--sort-followers-newest-to-oldest] +2024-11-30 17:05:41,825 - api.main - INFO - STDERR: [--unfollow-delay 3] [--app-id com.instagram.android] +2024-11-30 17:05:41,825 - api.main - INFO - STDERR: [--use-cloned-app] [--device 2443de990e017ece] +2024-11-30 17:05:41,825 - api.main - INFO - STDERR: [--username justinbieber] [--likes-count 2-4] +2024-11-30 17:05:41,825 - api.main - INFO - STDERR: [--likes-percentage 50-70] [--total-likes-limit 300] +2024-11-30 17:05:41,825 - api.main - INFO - STDERR: [--total-follows-limit 50] [--total-unfollows-limit 50] +2024-11-30 17:05:41,825 - api.main - INFO - STDERR: [--total-watches-limit 50] +2024-11-30 17:05:41,825 - api.main - INFO - STDERR: [--total-successful-interactions-limit 100] +2024-11-30 17:05:41,825 - api.main - INFO - STDERR: [--total-interactions-limit 1000] [--stories-count 2-4] +2024-11-30 17:05:41,825 - api.main - INFO - STDERR: [--stories-percentage 50-70] [--carousel-count 2-4] +2024-11-30 17:05:41,825 - api.main - INFO - STDERR: [--carousel-percentage 10-90] [--watch-video-time 15-30] +2024-11-30 17:05:41,825 - api.main - INFO - STDERR: [--watch-photo-time 3-4] [--interactions-count 60-80] +2024-11-30 17:05:41,825 - api.main - INFO - STDERR: [--interact-percentage 50] [--can-reinteract-after 50] +2024-11-30 17:05:41,825 - api.main - INFO - STDERR: [--repeat 220-300] [--follow-percentage 50] [--follow-limit 0] +2024-11-30 17:05:41,825 - api.main - INFO - STDERR: [--skipped-list-limit 10-15] [--fling-when-skipped 10-12] +2024-11-30 17:05:41,825 - api.main - INFO - STDERR: [--speed-multiplier 1] [--screen-sleep] [--debug] +2024-11-30 17:05:41,825 - api.main - INFO - STDERR: [--screen-record] [--close-apps] [--kill-atx-agent] +2024-11-30 17:05:41,825 - api.main - INFO - STDERR: [--restart-atx-agent] [--interact @username1 [@username2 ...]] +2024-11-30 17:05:41,825 - api.main - INFO - STDERR: [--hashtag-likers hashtag1 [hashtag2 ...]] +2024-11-30 17:05:41,825 - api.main - INFO - STDERR: [--delete-interacted-users] [--scrape-to-file filename] +2024-11-30 17:05:41,825 - api.main - INFO - STDERR: [--total-scraped-limit 5-10] [--comment-percentage 40-60] +2024-11-30 17:05:41,825 - api.main - INFO - STDERR: [--total-comments-limit 5-10] [--pm-percentage 40-60] +2024-11-30 17:05:41,825 - api.main - INFO - STDERR: [--total-pm-limit 5-10] [--max-comments-pro-user 1-2] +2024-11-30 17:05:41,825 - api.main - INFO - STDERR: [--end-if-likes-limit-reached] [--end-if-follows-limit-reached] +2024-11-30 17:05:41,827 - api.main - INFO - STDERR: [--end-if-watches-limit-reached] +2024-11-30 17:05:41,827 - api.main - INFO - STDERR: [--end-if-comments-limit-reached] [--end-if-pm-limit-reached] +2024-11-30 17:05:41,827 - api.main - INFO - STDERR: [--truncate-sources 2-4] [--shuffle-jobs] +2024-11-30 17:05:41,827 - api.main - INFO - STDERR: [--working-hours 10-22 [10-22 ...]] [--time-delta 10-15] +2024-11-30 17:05:41,827 - api.main - INFO - STDERR: [--disable-filters] [--total-crashes-limit 5-10] +2024-11-30 17:05:41,827 - api.main - INFO - STDERR: [--count-app-crashes] [--skipped-posts-limit 5-10] +2024-11-30 17:05:41,827 - api.main - INFO - STDERR: [--uia-version 2] [--total-sessions 1] +2024-11-30 17:05:41,827 - api.main - INFO - STDERR: [--disable-block-detection] [--pre-script ] [--post-script ] +2024-11-30 17:05:41,827 - api.main - INFO - STDERR: [--move-folders-in-accounts] [--dont-type] +2024-11-30 17:05:41,827 - api.main - INFO - STDERR: [--allow-untested-ig-version] [--analytics] [--init-db] +2024-11-30 17:05:41,827 - api.main - INFO - STDERR: [--blogger blogger1 [blogger2 ...]] +2024-11-30 17:05:41,827 - api.main - INFO - STDERR: [--interact-from-file filename1.txt [filename2.txt ...]] +2024-11-30 17:05:41,827 - api.main - INFO - STDERR: [--unfollow-from-file filename1.txt [filename2.txt ...]] +2024-11-30 17:05:41,827 - api.main - INFO - STDERR: [--blogger-followers username1 [username2 ...]] +2024-11-30 17:05:41,827 - api.main - INFO - STDERR: [--blogger-following username1 [username2 ...]] +2024-11-30 17:05:41,827 - api.main - INFO - STDERR: [--blogger-post-likers blogger1 [blogger2 ...]] +2024-11-30 17:05:41,827 - api.main - INFO - STDERR: [--blogger-post-limits 2] [--feed 5-10] +2024-11-30 17:05:41,827 - api.main - INFO - STDERR: [--hashtag-likers-top hashtag1 [hashtag2 ...]] +2024-11-30 17:05:41,827 - api.main - INFO - STDERR: [--hashtag-likers-recent hashtag1 [hashtag2 ...]] +2024-11-30 17:05:41,827 - api.main - INFO - STDERR: [--hashtag-posts-recent hashtag1 [hashtag2 ...]] +2024-11-30 17:05:41,827 - api.main - INFO - STDERR: [--hashtag-posts-top hashtag1 [hashtag2 ...]] +2024-11-30 17:05:41,827 - api.main - INFO - STDERR: [--place-likers-top place1 [place2 ...]] +2024-11-30 17:05:41,827 - api.main - INFO - STDERR: [--place-likers-recent place1 [place2 ...]] +2024-11-30 17:05:41,827 - api.main - INFO - STDERR: [--place-posts-recent place1 [place2 ...]] +2024-11-30 17:05:41,827 - api.main - INFO - STDERR: [--place-posts-top place1 [place2 ...]] +2024-11-30 17:05:41,828 - api.main - INFO - STDERR: [--posts-from-file postlist1.txt [postlist2.txt ...]] +2024-11-30 17:05:41,828 - api.main - INFO - STDERR: [--test-nocodb-records] [--use-nocodb] +2024-11-30 17:05:41,828 - api.main - INFO - STDERR: [--remove-followers-from-file remove1.txt [remove2.txt ...]] +2024-11-30 17:05:41,828 - api.main - INFO - STDERR: [--delete-removed-followers] [--telegram-reports] +2024-11-30 17:05:41,828 - api.main - INFO - STDERR: run.py: error: ambiguous option: --=ledianaprengaa could match --help, --config, --unfollow, --unfollow-non-followers, --unfollow-any-non-followers, --unfollow-any-followers, --unfollow-any, --min-following, --sort-followers-newest-to-oldest, --unfollow-delay, --app-id, --use-cloned-app, --device, --username, --likes-count, --likes-percentage, --total-likes-limit, --total-follows-limit, --total-unfollows-limit, --total-watches-limit, --total-successful-interactions-limit, --total-interactions-limit, --stories-count, --stories-percentage, --carousel-count, --carousel-percentage, --watch-video-time, --watch-photo-time, --interactions-count, --interact-percentage, --can-reinteract-after, --repeat, --follow-percentage, --follow-limit, --skipped-list-limit, --fling-when-skipped, --speed-multiplier, --screen-sleep, --debug, --screen-record, --close-apps, --kill-atx-agent, --restart-atx-agent, --interact, --hashtag-likers, --delete-interacted-users, --scrape-to-file, --total-scraped-limit, --comment-percentage, --total-comments-limit, --pm-percentage, --total-pm-limit, --max-comments-pro-user, --end-if-likes-limit-reached, --end-if-follows-limit-reached, --end-if-watches-limit-reached, --end-if-comments-limit-reached, --end-if-pm-limit-reached, --truncate-sources, --shuffle-jobs, --working-hours, --time-delta, --disable-filters, --total-crashes-limit, --count-app-crashes, --skipped-posts-limit, --uia-version, --total-sessions, --disable-block-detection, --pre-script, --post-script, --move-folders-in-accounts, --dont-type, --allow-untested-ig-version, --analytics, --init-db, --blogger, --interact-from-file, --unfollow-from-file, --blogger-followers, --blogger-following, --blogger-post-likers, --blogger-post-limits, --feed, --hashtag-likers-top, --hashtag-likers-recent, --hashtag-posts-recent, --hashtag-posts-top, --place-likers-top, --place-likers-recent, --place-posts-recent, --place-posts-top, --posts-from-file, --test-nocodb-records, --use-nocodb, --remove-followers-from-file, --delete-removed-followers, --telegram-reports +2024-11-30 17:05:41,842 - api.main - INFO - STDERR: # clear builtins._ +2024-11-30 17:05:41,842 - api.main - INFO - STDERR: # clear sys.path +2024-11-30 17:05:41,842 - api.main - INFO - STDERR: # clear sys.argv +2024-11-30 17:05:41,842 - api.main - INFO - STDERR: # clear sys.ps1 +2024-11-30 17:05:41,842 - api.main - INFO - STDERR: # clear sys.ps2 +2024-11-30 17:05:41,842 - api.main - INFO - STDERR: # clear sys.last_type +2024-11-30 17:05:41,842 - api.main - INFO - STDERR: # clear sys.last_value +2024-11-30 17:05:41,842 - api.main - INFO - STDERR: # clear sys.last_traceback +2024-11-30 17:05:41,842 - api.main - INFO - STDERR: # clear sys.path_hooks +2024-11-30 17:05:41,842 - api.main - INFO - STDERR: # clear sys.path_importer_cache +2024-11-30 17:05:41,843 - api.main - INFO - STDERR: # clear sys.meta_path +2024-11-30 17:05:41,843 - api.main - INFO - STDERR: # clear sys.__interactivehook__ +2024-11-30 17:05:41,843 - api.main - INFO - STDERR: # restore sys.stdin +2024-11-30 17:05:41,843 - api.main - INFO - STDERR: # restore sys.stdout +2024-11-30 17:05:41,843 - api.main - INFO - STDERR: # restore sys.stderr +2024-11-30 17:05:41,843 - api.main - INFO - STDERR: # cleanup[2] removing sys +2024-11-30 17:05:41,843 - api.main - INFO - STDERR: # cleanup[2] removing builtins +2024-11-30 17:05:41,843 - api.main - INFO - STDERR: # cleanup[2] removing _frozen_importlib +2024-11-30 17:05:41,843 - api.main - INFO - STDERR: # cleanup[2] removing _imp +2024-11-30 17:05:41,843 - api.main - INFO - STDERR: # cleanup[2] removing _thread +2024-11-30 17:05:41,843 - api.main - INFO - STDERR: # cleanup[2] removing _warnings +2024-11-30 17:05:41,843 - api.main - INFO - STDERR: # cleanup[2] removing _weakref +2024-11-30 17:05:41,843 - api.main - INFO - STDERR: # cleanup[2] removing _io +2024-11-30 17:05:41,843 - api.main - INFO - STDERR: # cleanup[2] removing marshal +2024-11-30 17:05:41,843 - api.main - INFO - STDERR: # cleanup[2] removing nt +2024-11-30 17:05:41,843 - api.main - INFO - STDERR: # cleanup[2] removing winreg +2024-11-30 17:05:41,843 - api.main - INFO - STDERR: # cleanup[2] removing _frozen_importlib_external +2024-11-30 17:05:41,843 - api.main - INFO - STDERR: # cleanup[2] removing time +2024-11-30 17:05:41,843 - api.main - INFO - STDERR: # cleanup[2] removing zipimport +2024-11-30 17:05:41,843 - api.main - INFO - STDERR: # cleanup[2] removing _codecs +2024-11-30 17:05:41,843 - api.main - INFO - STDERR: # cleanup[2] removing codecs +2024-11-30 17:05:41,843 - api.main - INFO - STDERR: # cleanup[2] removing encodings.aliases +2024-11-30 17:05:41,843 - api.main - INFO - STDERR: # cleanup[2] removing encodings +2024-11-30 17:05:41,843 - api.main - INFO - STDERR: # cleanup[2] removing encodings.utf_8 +2024-11-30 17:05:41,843 - api.main - INFO - STDERR: # cleanup[2] removing encodings.cp1252 +2024-11-30 17:05:41,844 - api.main - INFO - STDERR: # cleanup[2] removing _signal +2024-11-30 17:05:41,844 - api.main - INFO - STDERR: # cleanup[2] removing encodings.latin_1 +2024-11-30 17:05:41,844 - api.main - INFO - STDERR: # cleanup[2] removing _abc +2024-11-30 17:05:41,844 - api.main - INFO - STDERR: # cleanup[2] removing abc +2024-11-30 17:05:41,844 - api.main - INFO - STDERR: # cleanup[2] removing io +2024-11-30 17:05:41,844 - api.main - INFO - STDERR: # cleanup[2] removing __main__ +2024-11-30 17:05:41,844 - api.main - INFO - STDERR: # destroy __main__ +2024-11-30 17:05:41,844 - api.main - INFO - STDERR: # cleanup[2] removing _stat +2024-11-30 17:05:41,844 - api.main - INFO - STDERR: # cleanup[2] removing stat +2024-11-30 17:05:41,844 - api.main - INFO - STDERR: # cleanup[2] removing _collections_abc +2024-11-30 17:05:41,844 - api.main - INFO - STDERR: # cleanup[2] removing genericpath +2024-11-30 17:05:41,844 - api.main - INFO - STDERR: # cleanup[2] removing ntpath +2024-11-30 17:05:41,844 - api.main - INFO - STDERR: # cleanup[2] removing os.path +2024-11-30 17:05:41,844 - api.main - INFO - STDERR: # cleanup[2] removing os +2024-11-30 17:05:41,844 - api.main - INFO - STDERR: # cleanup[2] removing _sitebuiltins +2024-11-30 17:05:41,844 - api.main - INFO - STDERR: # cleanup[2] removing _locale +2024-11-30 17:05:41,844 - api.main - INFO - STDERR: # cleanup[2] removing _bootlocale +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # destroy _bootlocale +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # cleanup[2] removing _distutils_hack +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # destroy _distutils_hack +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # cleanup[2] removing site +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # destroy site +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # cleanup[2] removing types +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # cleanup[2] removing enum +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # cleanup[2] removing _sre +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # cleanup[2] removing sre_constants +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # destroy sre_constants +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # cleanup[2] removing sre_parse +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # cleanup[2] removing sre_compile +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # cleanup[2] removing _heapq +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # cleanup[2] removing heapq +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # cleanup[2] removing itertools +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # cleanup[2] removing keyword +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # cleanup[2] removing _operator +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # cleanup[2] removing operator +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # cleanup[2] removing reprlib +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # cleanup[2] removing _collections +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # cleanup[2] removing collections +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # cleanup[2] removing _functools +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # cleanup[2] removing functools +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # cleanup[2] removing copyreg +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # cleanup[2] removing re +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # cleanup[2] removing token +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # cleanup[2] removing tokenize +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # cleanup[2] removing linecache +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # cleanup[2] removing traceback +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # cleanup[2] removing warnings +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # cleanup[2] removing _weakrefset +2024-11-30 17:05:41,845 - api.main - INFO - STDERR: # destroy _weakrefset +2024-11-30 17:05:41,847 - api.main - INFO - STDERR: # cleanup[2] removing weakref +2024-11-30 17:05:41,847 - api.main - INFO - STDERR: # cleanup[2] removing collections.abc +2024-11-30 17:05:41,847 - api.main - INFO - STDERR: # cleanup[2] removing _string +2024-11-30 17:05:41,847 - api.main - INFO - STDERR: # cleanup[2] removing string +2024-11-30 17:05:41,847 - api.main - INFO - STDERR: # cleanup[2] removing threading +2024-11-30 17:05:41,847 - api.main - INFO - STDERR: # cleanup[2] removing atexit +2024-11-30 17:05:41,847 - api.main - INFO - STDERR: # cleanup[2] removing logging +2024-11-30 17:05:41,847 - api.main - INFO - STDERR: # cleanup[2] removing math +2024-11-30 17:05:41,847 - api.main - INFO - STDERR: # cleanup[2] removing _bisect +2024-11-30 17:05:41,847 - api.main - INFO - STDERR: # cleanup[2] removing bisect +2024-11-30 17:05:41,847 - api.main - INFO - STDERR: # cleanup[2] removing _random +2024-11-30 17:05:41,848 - api.main - INFO - STDERR: # cleanup[2] removing _sha512 +2024-11-30 17:05:41,848 - api.main - INFO - STDERR: # cleanup[2] removing random +2024-11-30 17:05:41,848 - api.main - INFO - STDERR: # cleanup[2] removing _datetime +2024-11-30 17:05:41,848 - api.main - INFO - STDERR: # cleanup[2] removing datetime +2024-11-30 17:05:41,848 - api.main - INFO - STDERR: # cleanup[2] removing contextlib +2024-11-30 17:05:41,848 - api.main - INFO - STDERR: # cleanup[2] removing colorama.ansi +2024-11-30 17:05:41,848 - api.main - INFO - STDERR: # cleanup[2] removing _ctypes +2024-11-30 17:05:41,848 - api.main - INFO - STDERR: # cleanup[2] removing _struct +2024-11-30 17:05:41,848 - api.main - INFO - STDERR: # cleanup[2] removing struct +2024-11-30 17:05:41,848 - api.main - INFO - STDERR: # cleanup[2] removing ctypes._endian +2024-11-30 17:05:41,848 - api.main - INFO - STDERR: # cleanup[2] removing ctypes +2024-11-30 17:05:41,848 - api.main - INFO - STDERR: # cleanup[2] removing ctypes.wintypes +2024-11-30 17:05:41,848 - api.main - INFO - STDERR: # cleanup[2] removing colorama.win32 +2024-11-30 17:05:41,848 - api.main - INFO - STDERR: # cleanup[2] removing colorama.winterm +2024-11-30 17:05:41,848 - api.main - INFO - STDERR: # cleanup[2] removing colorama.ansitowin32 +2024-11-30 17:05:41,848 - api.main - INFO - STDERR: # cleanup[2] removing colorama.initialise +2024-11-30 17:05:41,848 - api.main - INFO - STDERR: # cleanup[2] removing colorama +2024-11-30 17:05:41,848 - api.main - INFO - STDERR: # destroy colorama +2024-11-30 17:05:41,848 - api.main - INFO - STDERR: # destroy colorama.ansi +2024-11-30 17:05:41,848 - api.main - INFO - STDERR: # destroy colorama.winterm +2024-11-30 17:05:41,848 - api.main - INFO - STDERR: # destroy colorama.ansitowin32 +2024-11-30 17:05:41,848 - api.main - INFO - STDERR: # destroy colorama.initialise +2024-11-30 17:05:41,848 - api.main - INFO - STDERR: # cleanup[2] removing typing +2024-11-30 17:05:41,848 - api.main - INFO - STDERR: # cleanup[2] removing gettext +2024-11-30 17:05:41,848 - api.main - INFO - STDERR: # destroy gettext +2024-11-30 17:05:41,852 - api.main - INFO - STDERR: # cleanup[2] removing argparse +2024-11-30 17:05:41,852 - api.main - INFO - STDERR: # cleanup[2] removing _json +2024-11-30 17:05:41,852 - api.main - INFO - STDERR: # cleanup[2] removing json.scanner +2024-11-30 17:05:41,852 - api.main - INFO - STDERR: # cleanup[2] removing json.decoder +2024-11-30 17:05:41,852 - api.main - INFO - STDERR: # cleanup[2] removing json.encoder +2024-11-30 17:05:41,852 - api.main - INFO - STDERR: # cleanup[2] removing json +2024-11-30 17:05:41,852 - api.main - INFO - STDERR: # cleanup[2] removing posixpath +2024-11-30 17:05:41,852 - api.main - INFO - STDERR: # cleanup[2] removing fnmatch +2024-11-30 17:05:41,853 - api.main - INFO - STDERR: # cleanup[2] removing glob +2024-11-30 17:05:41,853 - api.main - INFO - STDERR: # cleanup[2] removing textwrap +2024-11-30 17:05:41,853 - api.main - INFO - STDERR: # cleanup[2] removing configargparse +2024-11-30 17:05:41,853 - api.main - INFO - STDERR: # cleanup[2] removing yaml.error +2024-11-30 17:05:41,853 - api.main - INFO - STDERR: # cleanup[2] removing yaml.tokens +2024-11-30 17:05:41,853 - api.main - INFO - STDERR: # cleanup[2] removing yaml.events +2024-11-30 17:05:41,853 - api.main - INFO - STDERR: # cleanup[2] removing yaml.nodes +2024-11-30 17:05:41,853 - api.main - INFO - STDERR: # cleanup[2] removing yaml.reader +2024-11-30 17:05:41,854 - api.main - INFO - STDERR: # cleanup[2] removing yaml.scanner +2024-11-30 17:05:41,854 - api.main - INFO - STDERR: # cleanup[2] removing yaml.parser +2024-11-30 17:05:41,854 - api.main - INFO - STDERR: # cleanup[2] removing yaml.composer +2024-11-30 17:05:41,854 - api.main - INFO - STDERR: # cleanup[2] removing binascii +2024-11-30 17:05:41,854 - api.main - INFO - STDERR: # cleanup[2] removing base64 +2024-11-30 17:05:41,854 - api.main - INFO - STDERR: # cleanup[2] removing yaml.constructor +2024-11-30 17:05:41,854 - api.main - INFO - STDERR: # cleanup[2] removing yaml.resolver +2024-11-30 17:05:41,854 - api.main - INFO - STDERR: # cleanup[2] removing yaml.loader +2024-11-30 17:05:41,854 - api.main - INFO - STDERR: # cleanup[2] removing yaml.emitter +2024-11-30 17:05:41,854 - api.main - INFO - STDERR: # cleanup[2] removing yaml.serializer +2024-11-30 17:05:41,854 - api.main - INFO - STDERR: # cleanup[2] removing yaml.representer +2024-11-30 17:05:41,854 - api.main - INFO - STDERR: # cleanup[2] removing yaml.dumper +2024-11-30 17:05:41,854 - api.main - INFO - STDERR: # cleanup[2] removing cython_runtime +2024-11-30 17:05:41,854 - api.main - INFO - STDERR: # cleanup[2] removing yaml._yaml +2024-11-30 17:05:41,854 - api.main - INFO - STDERR: # cleanup[2] removing yaml.cyaml +2024-11-30 17:05:41,854 - api.main - INFO - STDERR: # cleanup[2] removing yaml +2024-11-30 17:05:41,854 - api.main - INFO - STDERR: # cleanup[2] removing _ast +2024-11-30 17:05:41,854 - api.main - INFO - STDERR: # destroy _ast +2024-11-30 17:05:41,854 - api.main - INFO - STDERR: # cleanup[2] removing ast +2024-11-30 17:05:41,854 - api.main - INFO - STDERR: # cleanup[2] removing _opcode +2024-11-30 17:05:41,854 - api.main - INFO - STDERR: # cleanup[2] removing opcode +2024-11-30 17:05:41,854 - api.main - INFO - STDERR: # destroy opcode +2024-11-30 17:05:41,854 - api.main - INFO - STDERR: # cleanup[2] removing dis +2024-11-30 17:05:41,855 - api.main - INFO - STDERR: # cleanup[2] removing importlib._bootstrap +2024-11-30 17:05:41,855 - api.main - INFO - STDERR: # cleanup[2] removing importlib._bootstrap_external +2024-11-30 17:05:41,855 - api.main - INFO - STDERR: # cleanup[2] removing importlib +2024-11-30 17:05:41,855 - api.main - INFO - STDERR: # cleanup[2] removing importlib.machinery +2024-11-30 17:05:41,855 - api.main - INFO - STDERR: # cleanup[2] removing inspect +2024-11-30 17:05:41,855 - api.main - INFO - STDERR: # cleanup[2] removing importlib.abc +2024-11-30 17:05:41,855 - api.main - INFO - STDERR: # cleanup[2] removing importlib.util +2024-11-30 17:05:41,855 - api.main - INFO - STDERR: # cleanup[2] removing pkgutil +2024-11-30 17:05:41,855 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.plugin_loader +2024-11-30 17:05:41,863 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.config +2024-11-30 17:05:41,863 - api.main - INFO - STDERR: # cleanup[2] removing errno +2024-11-30 17:05:41,864 - api.main - INFO - STDERR: # cleanup[2] removing signal +2024-11-30 17:05:41,864 - api.main - INFO - STDERR: # cleanup[2] removing msvcrt +2024-11-30 17:05:41,864 - api.main - INFO - STDERR: # cleanup[2] removing _winapi +2024-11-30 17:05:41,864 - api.main - INFO - STDERR: # cleanup[2] removing subprocess +2024-11-30 17:05:41,864 - api.main - INFO - STDERR: # cleanup[2] removing __future__ +2024-11-30 17:05:41,864 - api.main - INFO - STDERR: # destroy __future__ +2024-11-30 17:05:41,864 - api.main - INFO - STDERR: # cleanup[2] removing _hashlib +2024-11-30 17:05:41,864 - api.main - INFO - STDERR: # cleanup[2] removing _blake2 +2024-11-30 17:05:41,864 - api.main - INFO - STDERR: # cleanup[2] removing hashlib +2024-11-30 17:05:41,864 - api.main - INFO - STDERR: # cleanup[2] removing zlib +2024-11-30 17:05:41,864 - api.main - INFO - STDERR: # cleanup[2] removing _compression +2024-11-30 17:05:41,864 - api.main - INFO - STDERR: # cleanup[2] removing _bz2 +2024-11-30 17:05:41,864 - api.main - INFO - STDERR: # destroy _bz2 +2024-11-30 17:05:41,864 - api.main - INFO - STDERR: # cleanup[2] removing bz2 +2024-11-30 17:05:41,864 - api.main - INFO - STDERR: # cleanup[2] removing _lzma +2024-11-30 17:05:41,864 - api.main - INFO - STDERR: # cleanup[2] removing lzma +2024-11-30 17:05:41,864 - api.main - INFO - STDERR: # cleanup[2] removing shutil +2024-11-30 17:05:41,864 - api.main - INFO - STDERR: # cleanup[2] removing xml +2024-11-30 17:05:41,864 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.domreg +2024-11-30 17:05:41,864 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom +2024-11-30 17:05:41,864 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.minicompat +2024-11-30 17:05:41,864 - api.main - INFO - STDERR: # cleanup[2] removing copy +2024-11-30 17:05:41,864 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.NodeFilter +2024-11-30 17:05:41,864 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.xmlbuilder +2024-11-30 17:05:41,864 - api.main - INFO - STDERR: # cleanup[2] removing xml.dom.minidom +2024-11-30 17:05:41,864 - api.main - INFO - STDERR: # cleanup[2] removing urllib +2024-11-30 17:05:41,864 - api.main - INFO - STDERR: # cleanup[2] removing urllib.parse +2024-11-30 17:05:41,864 - api.main - INFO - STDERR: # cleanup[2] removing pathlib +2024-11-30 17:05:41,865 - api.main - INFO - STDERR: # cleanup[2] removing packaging.__about__ +2024-11-30 17:05:41,866 - api.main - INFO - STDERR: # cleanup[2] removing packaging +2024-11-30 17:05:41,866 - api.main - INFO - STDERR: # cleanup[2] removing packaging._structures +2024-11-30 17:05:41,866 - api.main - INFO - STDERR: # cleanup[2] removing packaging._typing +2024-11-30 17:05:41,866 - api.main - INFO - STDERR: # cleanup[2] removing packaging.version +2024-11-30 17:05:41,866 - api.main - INFO - STDERR: # cleanup[2] removing deprecation +2024-11-30 17:05:41,866 - api.main - INFO - STDERR: # destroy deprecation +2024-11-30 17:05:41,866 - api.main - INFO - STDERR: # cleanup[2] removing _socket +2024-11-30 17:05:41,866 - api.main - INFO - STDERR: # cleanup[2] removing select +2024-11-30 17:05:41,866 - api.main - INFO - STDERR: # cleanup[2] removing selectors +2024-11-30 17:05:41,866 - api.main - INFO - STDERR: # cleanup[2] removing socket +2024-11-30 17:05:41,866 - api.main - INFO - STDERR: # cleanup[2] removing shlex +2024-11-30 17:05:41,866 - api.main - INFO - STDERR: # cleanup[2] removing tempfile +2024-11-30 17:05:41,866 - api.main - INFO - STDERR: # cleanup[2] removing zipfile +2024-11-30 17:05:41,866 - api.main - INFO - STDERR: # cleanup[2] removing whichcraft +2024-11-30 17:05:41,866 - api.main - INFO - STDERR: # cleanup[2] removing xml.parsers +2024-11-30 17:05:41,866 - api.main - INFO - STDERR: # cleanup[2] removing pyexpat.errors +2024-11-30 17:05:41,866 - api.main - INFO - STDERR: # cleanup[2] removing pyexpat.model +2024-11-30 17:05:41,871 - api.main - INFO - STDERR: # cleanup[2] removing pyexpat +2024-11-30 17:05:41,871 - api.main - INFO - STDERR: # cleanup[2] removing xml.parsers.expat.model +2024-11-30 17:05:41,871 - api.main - INFO - STDERR: # cleanup[2] removing xml.parsers.expat.errors +2024-11-30 17:05:41,871 - api.main - INFO - STDERR: # cleanup[2] removing xml.parsers.expat +2024-11-30 17:05:41,871 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax.handler +2024-11-30 17:05:41,871 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax._exceptions +2024-11-30 17:05:41,871 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax.xmlreader +2024-11-30 17:05:41,871 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax +2024-11-30 17:05:41,871 - api.main - INFO - STDERR: # cleanup[2] removing email +2024-11-30 17:05:41,872 - api.main - INFO - STDERR: # cleanup[2] removing http +2024-11-30 17:05:41,872 - api.main - INFO - STDERR: # cleanup[2] removing email.errors +2024-11-30 17:05:41,872 - api.main - INFO - STDERR: # cleanup[2] removing email.quoprimime +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing email.base64mime +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing quopri +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing email.encoders +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing email.charset +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing email.header +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing locale +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing calendar +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing email._parseaddr +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing email.utils +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing email._policybase +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing email.feedparser +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing email.parser +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing uu +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing email._encoded_words +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing email.iterators +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing email.message +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing _ssl +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing ssl +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing http.client +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing urllib.response +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing urllib.error +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing nturl2path +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # destroy nturl2path +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing urllib.request +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing xml.sax.saxutils +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing platform +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing xmltodict +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.apkfile +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml.chunk +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml.arscparser +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml.public +2024-11-30 17:05:41,873 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.axml.axmlparser +2024-11-30 17:05:41,880 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex +2024-11-30 17:05:41,880 - api.main - INFO - STDERR: # cleanup[2] removing array +2024-11-30 17:05:41,880 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.util +2024-11-30 17:05:41,880 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.byteio +2024-11-30 17:05:41,881 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.dalvikformats +2024-11-30 17:05:41,881 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.dalvik +2024-11-30 17:05:41,881 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.dex.dexparser +2024-11-30 17:05:41,881 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2.manifest +2024-11-30 17:05:41,881 - api.main - INFO - STDERR: # cleanup[2] removing cigam +2024-11-30 17:05:41,881 - api.main - INFO - STDERR: # destroy cigam +2024-11-30 17:05:41,881 - api.main - INFO - STDERR: # cleanup[2] removing apkutils2 +2024-11-30 17:05:41,881 - api.main - INFO - STDERR: # cleanup[2] removing plistlib +2024-11-30 17:05:41,881 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.util +2024-11-30 17:05:41,881 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.unicode +2024-11-30 17:05:41,881 - api.main - INFO - STDERR: # destroy pyparsing.unicode +2024-11-30 17:05:41,881 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.exceptions +2024-11-30 17:05:41,881 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.actions +2024-11-30 17:05:41,881 - api.main - INFO - STDERR: # cleanup[2] removing pprint +2024-11-30 17:05:41,881 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.results +2024-11-30 17:05:41,881 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.core +2024-11-30 17:05:41,881 - api.main - INFO - STDERR: # cleanup[2] removing html.entities +2024-11-30 17:05:41,881 - api.main - INFO - STDERR: # cleanup[2] removing html +2024-11-30 17:05:41,881 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.helpers +2024-11-30 17:05:41,881 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.testing +2024-11-30 17:05:41,881 - api.main - INFO - STDERR: # destroy pyparsing.testing +2024-11-30 17:05:41,881 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing.common +2024-11-30 17:05:41,881 - api.main - INFO - STDERR: # destroy pyparsing.common +2024-11-30 17:05:41,883 - api.main - INFO - STDERR: # cleanup[2] removing pyparsing +2024-11-30 17:05:41,883 - api.main - INFO - STDERR: # destroy pyparsing +2024-11-30 17:05:41,883 - api.main - INFO - STDERR: # cleanup[2] removing packaging._compat +2024-11-30 17:05:41,883 - api.main - INFO - STDERR: # cleanup[2] removing setuptools._distutils +2024-11-30 17:05:41,883 - api.main - INFO - STDERR: # cleanup[2] removing jaraco +2024-11-30 17:05:41,883 - api.main - INFO - STDERR: # destroy jaraco +2024-11-30 17:05:41,883 - api.main - INFO - STDERR: # cleanup[2] removing _queue +2024-11-30 17:05:41,883 - api.main - INFO - STDERR: # cleanup[2] removing queue +2024-11-30 17:05:41,883 - api.main - INFO - STDERR: # cleanup[2] removing more_itertools.recipes +2024-11-30 17:05:41,883 - api.main - INFO - STDERR: # cleanup[2] removing more_itertools.more +2024-11-30 17:05:41,883 - api.main - INFO - STDERR: # cleanup[2] removing more_itertools +2024-11-30 17:05:41,883 - api.main - INFO - STDERR: # cleanup[2] removing jaraco.functools +2024-11-30 17:05:41,883 - api.main - INFO - STDERR: # destroy jaraco.functools +2024-11-30 17:05:41,883 - api.main - INFO - STDERR: # cleanup[2] removing distutils.compat.py38 +2024-11-30 17:05:41,883 - api.main - INFO - STDERR: # cleanup[2] removing distutils.compat +2024-11-30 17:05:41,883 - api.main - INFO - STDERR: # cleanup[2] removing distutils.compat.py39 +2024-11-30 17:05:41,883 - api.main - INFO - STDERR: # cleanup[2] removing distutils.errors +2024-11-30 17:05:41,884 - api.main - INFO - STDERR: # cleanup[2] removing distutils._modified +2024-11-30 17:05:41,884 - api.main - INFO - STDERR: # cleanup[2] removing distutils._log +2024-11-30 17:05:41,894 - api.main - INFO - STDERR: # cleanup[2] removing distutils.file_util +2024-11-30 17:05:41,894 - api.main - INFO - STDERR: # cleanup[2] removing distutils.dir_util +2024-11-30 17:05:41,894 - api.main - INFO - STDERR: # cleanup[2] removing distutils.debug +2024-11-30 17:05:41,894 - api.main - INFO - STDERR: # cleanup[2] removing distutils.spawn +2024-11-30 17:05:41,894 - api.main - INFO - STDERR: # cleanup[2] removing distutils.archive_util +2024-11-30 17:05:41,894 - api.main - INFO - STDERR: # cleanup[2] removing sysconfig +2024-11-30 17:05:41,894 - api.main - INFO - STDERR: # cleanup[2] removing distutils.util +2024-11-30 17:05:41,894 - api.main - INFO - STDERR: # cleanup[2] removing distutils.cmd +2024-11-30 17:05:41,894 - api.main - INFO - STDERR: # cleanup[2] removing distutils +2024-11-30 17:05:41,894 - api.main - INFO - STDERR: # cleanup[2] removing packaging.tags +2024-11-30 17:05:41,894 - api.main - INFO - STDERR: # cleanup[2] removing packaging.utils +2024-11-30 17:05:41,894 - api.main - INFO - STDERR: # cleanup[2] removing packaging.specifiers +2024-11-30 17:05:41,894 - api.main - INFO - STDERR: # cleanup[2] removing packaging.markers +2024-11-30 17:05:41,894 - api.main - INFO - STDERR: # cleanup[2] removing packaging.requirements +2024-11-30 17:05:41,895 - api.main - INFO - STDERR: # cleanup[2] removing importlib._common +2024-11-30 17:05:41,895 - api.main - INFO - STDERR: # cleanup[2] removing importlib.resources +2024-11-30 17:05:41,895 - api.main - INFO - STDERR: # cleanup[2] removing backports +2024-11-30 17:05:41,895 - api.main - INFO - STDERR: # destroy backports +2024-11-30 17:05:41,895 - api.main - INFO - STDERR: # cleanup[2] removing backports.tarfile.compat +2024-11-30 17:05:41,895 - api.main - INFO - STDERR: # cleanup[2] removing backports.tarfile.compat.py38 +2024-11-30 17:05:41,895 - api.main - INFO - STDERR: # cleanup[2] removing backports.tarfile +2024-11-30 17:05:41,895 - api.main - INFO - STDERR: # cleanup[2] removing jaraco.context +2024-11-30 17:05:41,895 - api.main - INFO - STDERR: # destroy jaraco.context +2024-11-30 17:05:41,895 - api.main - INFO - STDERR: # cleanup[2] removing jaraco.text +2024-11-30 17:05:41,895 - api.main - INFO - STDERR: # destroy jaraco.text +2024-11-30 17:05:41,896 - api.main - INFO - STDERR: # cleanup[2] removing platformdirs.api +2024-11-30 17:05:41,896 - api.main - INFO - STDERR: # cleanup[2] removing platformdirs.version +2024-11-30 17:05:41,896 - api.main - INFO - STDERR: # cleanup[2] removing platformdirs.windows +2024-11-30 17:05:41,896 - api.main - INFO - STDERR: # cleanup[2] removing platformdirs +2024-11-30 17:05:41,896 - api.main - INFO - STDERR: # destroy platformdirs +2024-11-30 17:05:41,896 - api.main - INFO - STDERR: # cleanup[2] removing pkg_resources +2024-11-30 17:05:41,896 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._utils +2024-11-30 17:05:41,896 - api.main - INFO - STDERR: # cleanup[2] removing adbutils.errors +2024-11-30 17:05:41,896 - api.main - INFO - STDERR: # cleanup[2] removing dataclasses +2024-11-30 17:05:41,896 - api.main - INFO - STDERR: # destroy dataclasses +2024-11-30 17:05:41,896 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._proto +2024-11-30 17:05:41,896 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._version +2024-11-30 17:05:41,896 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._adb +2024-11-30 17:05:41,896 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages +2024-11-30 17:05:41,896 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six +2024-11-30 17:05:41,896 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six.moves +2024-11-30 17:05:41,896 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six.moves.http_client +2024-11-30 17:05:41,896 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.exceptions +2024-11-30 17:05:41,897 - api.main - INFO - STDERR: # cleanup[2] removing urllib3._version +2024-11-30 17:05:41,897 - api.main - INFO - STDERR: # cleanup[2] removing urllib3._collections +2024-11-30 17:05:41,902 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.contrib +2024-11-30 17:05:41,903 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.contrib._appengine_environ +2024-11-30 17:05:41,903 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.wait +2024-11-30 17:05:41,903 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.connection +2024-11-30 17:05:41,903 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.request +2024-11-30 17:05:41,903 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.response +2024-11-30 17:05:41,903 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.retry +2024-11-30 17:05:41,903 - api.main - INFO - STDERR: # cleanup[2] removing hmac +2024-11-30 17:05:41,903 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.url +2024-11-30 17:05:41,903 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.ssltransport +2024-11-30 17:05:41,903 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.ssl_ +2024-11-30 17:05:41,903 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.timeout +2024-11-30 17:05:41,903 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util +2024-11-30 17:05:41,903 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.proxy +2024-11-30 17:05:41,904 - api.main - INFO - STDERR: # cleanup[2] removing ipaddress +2024-11-30 17:05:41,904 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.ssl_match_hostname +2024-11-30 17:05:41,904 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.connection +2024-11-30 17:05:41,904 - api.main - INFO - STDERR: # cleanup[2] removing mimetypes +2024-11-30 17:05:41,904 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.fields +2024-11-30 17:05:41,904 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.filepost +2024-11-30 17:05:41,904 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six.moves.urllib +2024-11-30 17:05:41,904 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.packages.six.moves.urllib.parse +2024-11-30 17:05:41,904 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.request +2024-11-30 17:05:41,904 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.response +2024-11-30 17:05:41,904 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.util.queue +2024-11-30 17:05:41,904 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.connectionpool +2024-11-30 17:05:41,904 - api.main - INFO - STDERR: # cleanup[2] removing urllib3.poolmanager +2024-11-30 17:05:41,904 - api.main - INFO - STDERR: # cleanup[2] removing urllib3 +2024-11-30 17:05:41,905 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.constant +2024-11-30 17:05:41,905 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.md__mypyc +2024-11-30 17:05:41,905 - api.main - INFO - STDERR: # cleanup[2] removing unicodedata +2024-11-30 17:05:41,905 - api.main - INFO - STDERR: # cleanup[2] removing _multibytecodec +2024-11-30 17:05:41,905 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.utils +2024-11-30 17:05:41,905 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.md +2024-11-30 17:05:41,905 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.models +2024-11-30 17:05:41,905 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.cd +2024-11-30 17:05:41,905 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.api +2024-11-30 17:05:41,905 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.legacy +2024-11-30 17:05:41,905 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer.version +2024-11-30 17:05:41,906 - api.main - INFO - STDERR: # cleanup[2] removing charset_normalizer +2024-11-30 17:05:41,906 - api.main - INFO - STDERR: # cleanup[2] removing http.cookiejar +2024-11-30 17:05:41,906 - api.main - INFO - STDERR: # cleanup[2] removing http.cookies +2024-11-30 17:05:41,993 - api.main - INFO - STDERR: # cleanup[2] removing requests.compat +2024-11-30 17:05:41,993 - api.main - INFO - STDERR: # cleanup[2] removing requests.exceptions +2024-11-30 17:05:41,994 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages +2024-11-30 17:05:41,994 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six +2024-11-30 17:05:41,994 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six.moves +2024-11-30 17:05:41,994 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six.moves.http_client +2024-11-30 17:05:41,994 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.exceptions +2024-11-30 17:05:41,994 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3._version +2024-11-30 17:05:41,994 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3._collections +2024-11-30 17:05:41,994 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.contrib +2024-11-30 17:05:41,994 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.contrib._appengine_environ +2024-11-30 17:05:41,994 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.wait +2024-11-30 17:05:41,994 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.connection +2024-11-30 17:05:41,994 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.request +2024-11-30 17:05:41,994 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.response +2024-11-30 17:05:41,994 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.retry +2024-11-30 17:05:41,994 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.url +2024-11-30 17:05:41,994 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.ssltransport +2024-11-30 17:05:41,994 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.ssl_ +2024-11-30 17:05:41,994 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.timeout +2024-11-30 17:05:41,994 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util +2024-11-30 17:05:41,994 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.proxy +2024-11-30 17:05:41,994 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.ssl_match_hostname +2024-11-30 17:05:41,996 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.connection +2024-11-30 17:05:41,996 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.fields +2024-11-30 17:05:41,996 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.filepost +2024-11-30 17:05:41,996 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six.moves.urllib +2024-11-30 17:05:41,996 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six.moves.urllib.parse +2024-11-30 17:05:41,996 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.request +2024-11-30 17:05:41,996 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.response +2024-11-30 17:05:41,996 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.util.queue +2024-11-30 17:05:41,996 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.connectionpool +2024-11-30 17:05:41,996 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3.poolmanager +2024-11-30 17:05:41,996 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.urllib3 +2024-11-30 17:05:41,996 - api.main - INFO - STDERR: # cleanup[2] removing idna.idnadata +2024-11-30 17:05:41,997 - api.main - INFO - STDERR: # cleanup[2] removing idna.intranges +2024-11-30 17:05:41,997 - api.main - INFO - STDERR: # cleanup[2] removing idna.core +2024-11-30 17:05:42,006 - api.main - INFO - STDERR: # cleanup[2] removing idna.package_data +2024-11-30 17:05:42,006 - api.main - INFO - STDERR: # cleanup[2] removing idna +2024-11-30 17:05:42,006 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna.idnadata +2024-11-30 17:05:42,006 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna.intranges +2024-11-30 17:05:42,006 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna.core +2024-11-30 17:05:42,006 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna.package_data +2024-11-30 17:05:42,006 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.idna +2024-11-30 17:05:42,006 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages.chardet +2024-11-30 17:05:42,007 - api.main - INFO - STDERR: # cleanup[2] removing requests.packages +2024-11-30 17:05:42,007 - api.main - INFO - STDERR: # cleanup[2] removing certifi.core +2024-11-30 17:05:42,007 - api.main - INFO - STDERR: # cleanup[2] removing certifi +2024-11-30 17:05:42,007 - api.main - INFO - STDERR: # destroy certifi +2024-11-30 17:05:42,007 - api.main - INFO - STDERR: # destroy certifi.core +2024-11-30 17:05:42,007 - api.main - INFO - STDERR: # cleanup[2] removing requests.certs +2024-11-30 17:05:42,007 - api.main - INFO - STDERR: # cleanup[2] removing requests.__version__ +2024-11-30 17:05:42,007 - api.main - INFO - STDERR: # destroy requests.__version__ +2024-11-30 17:05:42,007 - api.main - INFO - STDERR: # cleanup[2] removing requests._internal_utils +2024-11-30 17:05:42,007 - api.main - INFO - STDERR: # cleanup[2] removing requests.cookies +2024-11-30 17:05:42,008 - api.main - INFO - STDERR: # cleanup[2] removing requests.structures +2024-11-30 17:05:42,008 - api.main - INFO - STDERR: # cleanup[2] removing requests.utils +2024-11-30 17:05:42,008 - api.main - INFO - STDERR: # cleanup[2] removing requests.auth +2024-11-30 17:05:42,008 - api.main - INFO - STDERR: # cleanup[2] removing stringprep +2024-11-30 17:05:42,008 - api.main - INFO - STDERR: # cleanup[2] removing encodings.idna +2024-11-30 17:05:42,008 - api.main - INFO - STDERR: # cleanup[2] removing requests.hooks +2024-11-30 17:05:42,008 - api.main - INFO - STDERR: # cleanup[2] removing requests.status_codes +2024-11-30 17:05:42,008 - api.main - INFO - STDERR: # cleanup[2] removing requests.models +2024-11-30 17:05:42,008 - api.main - INFO - STDERR: # cleanup[2] removing requests.adapters +2024-11-30 17:05:42,008 - api.main - INFO - STDERR: # cleanup[2] removing requests.sessions +2024-11-30 17:05:42,008 - api.main - INFO - STDERR: # cleanup[2] removing requests.api +2024-11-30 17:05:42,008 - api.main - INFO - STDERR: # cleanup[2] removing requests +2024-11-30 17:05:42,009 - api.main - INFO - STDERR: # cleanup[2] removing PIL._version +2024-11-30 17:05:42,009 - api.main - INFO - STDERR: # destroy PIL._version +2024-11-30 17:05:42,009 - api.main - INFO - STDERR: # cleanup[2] removing PIL +2024-11-30 17:05:42,009 - api.main - INFO - STDERR: # destroy PIL +2024-11-30 17:05:42,009 - api.main - INFO - STDERR: # cleanup[2] removing PIL.ExifTags +2024-11-30 17:05:42,010 - api.main - INFO - STDERR: # cleanup[2] removing PIL._deprecate +2024-11-30 17:05:42,010 - api.main - INFO - STDERR: # destroy PIL._deprecate +2024-11-30 17:05:42,010 - api.main - INFO - STDERR: # cleanup[2] removing PIL.ImageMode +2024-11-30 17:05:42,010 - api.main - INFO - STDERR: # cleanup[2] removing PIL.TiffTags +2024-11-30 17:05:42,010 - api.main - INFO - STDERR: # cleanup[2] removing PIL._binary +2024-11-30 17:05:42,010 - api.main - INFO - STDERR: # destroy PIL._binary +2024-11-30 17:05:42,010 - api.main - INFO - STDERR: # cleanup[2] removing typing_extensions +2024-11-30 17:05:42,010 - api.main - INFO - STDERR: # destroy typing_extensions +2024-11-30 17:05:42,010 - api.main - INFO - STDERR: # cleanup[2] removing PIL._typing +2024-11-30 17:05:42,011 - api.main - INFO - STDERR: # destroy PIL._typing +2024-11-30 17:05:42,016 - api.main - INFO - STDERR: # cleanup[2] removing PIL._util +2024-11-30 17:05:42,016 - api.main - INFO - STDERR: # destroy PIL._util +2024-11-30 17:05:42,016 - api.main - INFO - STDERR: # cleanup[2] removing PIL._imaging +2024-11-30 17:05:42,016 - api.main - INFO - STDERR: # cleanup[2] removing PIL.Image +2024-11-30 17:05:42,016 - api.main - INFO - STDERR: # cleanup[2] removing decorator +2024-11-30 17:05:42,016 - api.main - INFO - STDERR: # destroy decorator +2024-11-30 17:05:42,016 - api.main - INFO - STDERR: # cleanup[2] removing retry.compat +2024-11-30 17:05:42,017 - api.main - INFO - STDERR: # cleanup[2] removing retry.api +2024-11-30 17:05:42,017 - api.main - INFO - STDERR: # cleanup[2] removing retry +2024-11-30 17:05:42,017 - api.main - INFO - STDERR: # destroy retry +2024-11-30 17:05:42,017 - api.main - INFO - STDERR: # destroy retry.compat +2024-11-30 17:05:42,017 - api.main - INFO - STDERR: # destroy retry.api +2024-11-30 17:05:42,017 - api.main - INFO - STDERR: # cleanup[2] removing adbutils._device +2024-11-30 17:05:42,017 - api.main - INFO - STDERR: # cleanup[2] removing adbutils +2024-11-30 17:05:42,017 - api.main - INFO - STDERR: # cleanup[2] removing filelock._error +2024-11-30 17:05:42,017 - api.main - INFO - STDERR: # cleanup[2] removing filelock._api +2024-11-30 17:05:42,017 - api.main - INFO - STDERR: # cleanup[2] removing filelock._util +2024-11-30 17:05:42,017 - api.main - INFO - STDERR: # cleanup[2] removing filelock._soft +2024-11-30 17:05:42,017 - api.main - INFO - STDERR: # cleanup[2] removing filelock._unix +2024-11-30 17:05:42,017 - api.main - INFO - STDERR: # cleanup[2] removing filelock._windows +2024-11-30 17:05:42,018 - api.main - INFO - STDERR: # cleanup[2] removing concurrent +2024-11-30 17:05:42,018 - api.main - INFO - STDERR: # cleanup[2] removing concurrent.futures._base +2024-11-30 17:05:42,018 - api.main - INFO - STDERR: # cleanup[2] removing concurrent.futures +2024-11-30 17:05:42,018 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.constants +2024-11-30 17:05:42,018 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.format_helpers +2024-11-30 17:05:42,018 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.base_futures +2024-11-30 17:05:42,018 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.log +2024-11-30 17:05:42,018 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.coroutines +2024-11-30 17:05:42,018 - api.main - INFO - STDERR: # cleanup[2] removing _contextvars +2024-11-30 17:05:42,018 - api.main - INFO - STDERR: # cleanup[2] removing contextvars +2024-11-30 17:05:42,018 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.exceptions +2024-11-30 17:05:42,018 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.base_tasks +2024-11-30 17:05:42,018 - api.main - INFO - STDERR: # cleanup[2] removing _asyncio +2024-11-30 17:05:42,018 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.events +2024-11-30 17:05:42,018 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.futures +2024-11-30 17:05:42,018 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.protocols +2024-11-30 17:05:42,018 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.transports +2024-11-30 17:05:42,018 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.sslproto +2024-11-30 17:05:42,018 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.locks +2024-11-30 17:05:42,018 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.tasks +2024-11-30 17:05:42,018 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.staggered +2024-11-30 17:05:42,018 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.trsock +2024-11-30 17:05:42,018 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.base_events +2024-11-30 17:05:42,018 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.runners +2024-11-30 17:05:42,018 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.queues +2024-11-30 17:05:42,019 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.streams +2024-11-30 17:05:42,026 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.subprocess +2024-11-30 17:05:42,027 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.threads +2024-11-30 17:05:42,027 - api.main - INFO - STDERR: # cleanup[2] removing _overlapped +2024-11-30 17:05:42,027 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.base_subprocess +2024-11-30 17:05:42,027 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.proactor_events +2024-11-30 17:05:42,027 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.selector_events +2024-11-30 17:05:42,027 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.windows_utils +2024-11-30 17:05:42,027 - api.main - INFO - STDERR: # cleanup[2] removing asyncio.windows_events +2024-11-30 17:05:42,027 - api.main - INFO - STDERR: # cleanup[2] removing asyncio +2024-11-30 17:05:42,027 - api.main - INFO - STDERR: # cleanup[2] removing filelock.asyncio +2024-11-30 17:05:42,027 - api.main - INFO - STDERR: # cleanup[2] removing filelock.version +2024-11-30 17:05:42,027 - api.main - INFO - STDERR: # destroy filelock.version +2024-11-30 17:05:42,027 - api.main - INFO - STDERR: # cleanup[2] removing filelock +2024-11-30 17:05:42,027 - api.main - INFO - STDERR: # cleanup[2] removing logzero.colors +2024-11-30 17:05:42,027 - api.main - INFO - STDERR: # cleanup[2] removing logzero.jsonlogger +2024-11-30 17:05:42,028 - api.main - INFO - STDERR: # cleanup[2] removing _compat_pickle +2024-11-30 17:05:42,028 - api.main - INFO - STDERR: # cleanup[2] removing _pickle +2024-11-30 17:05:42,028 - api.main - INFO - STDERR: # cleanup[2] removing pickle +2024-11-30 17:05:42,028 - api.main - INFO - STDERR: # cleanup[2] removing logging.handlers +2024-11-30 17:05:42,028 - api.main - INFO - STDERR: # cleanup[2] removing logzero +2024-11-30 17:05:42,028 - api.main - INFO - STDERR: # cleanup[2] removing six +2024-11-30 17:05:42,028 - api.main - INFO - STDERR: # cleanup[2] removing six.moves +2024-11-30 17:05:42,028 - api.main - INFO - STDERR: # cleanup[2] removing six.moves.urllib +2024-11-30 17:05:42,028 - api.main - INFO - STDERR: # cleanup[2] removing six.moves.urllib.parse +2024-11-30 17:05:42,028 - api.main - INFO - STDERR: # cleanup[2] removing cached_property +2024-11-30 17:05:42,028 - api.main - INFO - STDERR: # destroy cached_property +2024-11-30 17:05:42,028 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.wrappers +2024-11-30 17:05:42,028 - api.main - INFO - STDERR: # cleanup[2] removing wrapt._wrappers +2024-11-30 17:05:42,028 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.__wrapt__ +2024-11-30 17:05:42,028 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.patches +2024-11-30 17:05:42,028 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.weakrefs +2024-11-30 17:05:42,029 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.arguments +2024-11-30 17:05:42,029 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.decorators +2024-11-30 17:05:42,029 - api.main - INFO - STDERR: # cleanup[2] removing wrapt.importer +2024-11-30 17:05:42,029 - api.main - INFO - STDERR: # cleanup[2] removing wrapt +2024-11-30 17:05:42,029 - api.main - INFO - STDERR: # cleanup[2] removing deprecated.classic +2024-11-30 17:05:42,029 - api.main - INFO - STDERR: # cleanup[2] removing deprecated +2024-11-30 17:05:42,029 - api.main - INFO - STDERR: # destroy deprecated +2024-11-30 17:05:42,029 - api.main - INFO - STDERR: # destroy deprecated.classic +2024-11-30 17:05:42,029 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2._proto +2024-11-30 17:05:42,029 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.abcd +2024-11-30 17:05:42,029 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.exceptions +2024-11-30 17:05:42,029 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.utils +2024-11-30 17:05:42,029 - api.main - INFO - STDERR: # cleanup[2] removing lxml +2024-11-30 17:05:42,029 - api.main - INFO - STDERR: # destroy lxml +2024-11-30 17:05:42,034 - api.main - INFO - STDERR: # cleanup[2] removing _cython_3_0_11 +2024-11-30 17:05:42,034 - api.main - INFO - STDERR: # destroy _cython_3_0_11 +2024-11-30 17:05:42,034 - api.main - INFO - STDERR: # cleanup[2] removing gc +2024-11-30 17:05:42,034 - api.main - INFO - STDERR: # cleanup[2] removing lxml._elementpath +2024-11-30 17:05:42,034 - api.main - INFO - STDERR: # cleanup[2] removing gzip +2024-11-30 17:05:42,034 - api.main - INFO - STDERR: # cleanup[2] removing lxml.etree +2024-11-30 17:05:42,034 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.xpath +2024-11-30 17:05:42,034 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2._selector +2024-11-30 17:05:42,034 - api.main - INFO - STDERR: # cleanup[2] removing tarfile +2024-11-30 17:05:42,034 - api.main - INFO - STDERR: # cleanup[2] removing progress +2024-11-30 17:05:42,034 - api.main - INFO - STDERR: # cleanup[2] removing progress.colors +2024-11-30 17:05:42,035 - api.main - INFO - STDERR: # cleanup[2] removing progress.bar +2024-11-30 17:05:42,035 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.version +2024-11-30 17:05:42,035 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.init +2024-11-30 17:05:42,035 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.settings +2024-11-30 17:05:42,035 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.swipe +2024-11-30 17:05:42,035 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2.watcher +2024-11-30 17:05:42,035 - api.main - INFO - STDERR: # cleanup[2] removing uiautomator2 +2024-11-30 17:05:42,035 - api.main - INFO - STDERR: # cleanup[2] removing emoji.unicode_codes.data_dict +2024-11-30 17:05:42,035 - api.main - INFO - STDERR: # cleanup[2] removing emoji.unicode_codes +2024-11-30 17:05:42,035 - api.main - INFO - STDERR: # cleanup[2] removing emoji.core +2024-11-30 17:05:42,035 - api.main - INFO - STDERR: # cleanup[2] removing emoji +2024-11-30 17:05:42,035 - api.main - INFO - STDERR: # cleanup[2] removing _uuid +2024-11-30 17:05:42,035 - api.main - INFO - STDERR: # cleanup[2] removing uuid +2024-11-30 17:05:42,035 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.log +2024-11-30 17:05:42,035 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.report +2024-11-30 17:05:42,035 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.resources +2024-11-30 17:05:42,035 - api.main - INFO - STDERR: # cleanup[2] removing atomicwrites +2024-11-30 17:05:42,035 - api.main - INFO - STDERR: # destroy atomicwrites +2024-11-30 17:05:42,035 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.storage +2024-11-30 17:05:42,036 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.utils +2024-11-30 17:05:42,036 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.device_facade +2024-11-30 17:05:42,036 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.lang_detect_exception +2024-11-30 17:05:42,036 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.language +2024-11-30 17:05:42,036 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils +2024-11-30 17:05:42,036 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils.messages +2024-11-30 17:05:42,036 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils.unicode_block +2024-11-30 17:05:42,036 - api.main - INFO - STDERR: # cleanup[2] removing encodings.unicode_escape +2024-11-30 17:05:42,037 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils.ngram +2024-11-30 17:05:42,037 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.detector +2024-11-30 17:05:42,037 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.utils.lang_profile +2024-11-30 17:05:42,037 - api.main - INFO - STDERR: # cleanup[2] removing langdetect.detector_factory +2024-11-30 17:05:42,037 - api.main - INFO - STDERR: # cleanup[2] removing langdetect +2024-11-30 17:05:42,037 - api.main - INFO - STDERR: # destroy langdetect +2024-11-30 17:05:42,042 - api.main - INFO - STDERR: # destroy langdetect.lang_detect_exception +2024-11-30 17:05:42,043 - api.main - INFO - STDERR: # destroy langdetect.language +2024-11-30 17:05:42,043 - api.main - INFO - STDERR: # destroy langdetect.utils +2024-11-30 17:05:42,043 - api.main - INFO - STDERR: # destroy langdetect.utils.unicode_block +2024-11-30 17:05:42,043 - api.main - INFO - STDERR: # destroy langdetect.utils.ngram +2024-11-30 17:05:42,043 - api.main - INFO - STDERR: # destroy langdetect.utils.lang_profile +2024-11-30 17:05:42,043 - api.main - INFO - STDERR: # destroy langdetect.detector +2024-11-30 17:05:42,043 - api.main - INFO - STDERR: # destroy langdetect.detector_factory +2024-11-30 17:05:42,043 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.views +2024-11-30 17:05:42,043 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.filter +2024-11-30 17:05:42,043 - api.main - INFO - STDERR: # cleanup[2] removing spintax.spintax +2024-11-30 17:05:42,043 - api.main - INFO - STDERR: # cleanup[2] removing spintax +2024-11-30 17:05:42,043 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.session_state +2024-11-30 17:05:42,043 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.interaction +2024-11-30 17:05:42,043 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.navigation +2024-11-30 17:05:42,043 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.persistent_list +2024-11-30 17:05:42,043 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.bot_flow +2024-11-30 17:05:42,043 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict +2024-11-30 17:05:42,043 - api.main - INFO - STDERR: # destroy GramAddict +2024-11-30 17:05:42,043 - api.main - INFO - STDERR: # cleanup[2] removing netrc +2024-11-30 17:05:42,043 - api.main - INFO - STDERR: # destroy netrc +2024-11-30 17:05:42,043 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins +2024-11-30 17:05:42,043 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.decorators +2024-11-30 17:05:42,043 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.scroll_end_detector +2024-11-30 17:05:42,044 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.action_unfollow_followers +2024-11-30 17:05:42,044 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.cloned_app +2024-11-30 17:05:42,044 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.core_arguments +2024-11-30 17:05:42,044 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.data_analytics +2024-11-30 17:05:42,044 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.dbinit +2024-11-30 17:05:42,044 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.core.handle_sources +2024-11-30 17:05:42,044 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_blogger +2024-11-30 17:05:42,044 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_blogger_followers +2024-11-30 17:05:42,044 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_blogger_post_likers +2024-11-30 17:05:42,044 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_feed +2024-11-30 17:05:42,044 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_hashtag_likers +2024-11-30 17:05:42,044 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_hashtag_posts +2024-11-30 17:05:42,044 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_place_likers +2024-11-30 17:05:42,044 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.interact_place_posts +2024-11-30 17:05:42,045 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.like_from_urls +2024-11-30 17:05:42,045 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.nocodb_record_creation_test +2024-11-30 17:05:42,051 - api.main - INFO - STDERR: # cleanup[2] removing jwt.exceptions +2024-11-30 17:05:42,051 - api.main - INFO - STDERR: # cleanup[2] removing jwt.types +2024-11-30 17:05:42,051 - api.main - INFO - STDERR: # cleanup[2] removing jwt.utils +2024-11-30 17:05:42,051 - api.main - INFO - STDERR: # cleanup[2] removing jwt.algorithms +2024-11-30 17:05:42,051 - api.main - INFO - STDERR: # cleanup[2] removing jwt.api_jwk +2024-11-30 17:05:42,051 - api.main - INFO - STDERR: # cleanup[2] removing jwt.warnings +2024-11-30 17:05:42,051 - api.main - INFO - STDERR: # cleanup[2] removing jwt.api_jws +2024-11-30 17:05:42,051 - api.main - INFO - STDERR: # cleanup[2] removing jwt.api_jwt +2024-11-30 17:05:42,051 - api.main - INFO - STDERR: # cleanup[2] removing jwt.jwk_set_cache +2024-11-30 17:05:42,051 - api.main - INFO - STDERR: # cleanup[2] removing jwt.jwks_client +2024-11-30 17:05:42,051 - api.main - INFO - STDERR: # cleanup[2] removing jwt +2024-11-30 17:05:42,053 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.nocodb_storage +2024-11-30 17:05:42,053 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.remove_followers +2024-11-30 17:05:42,053 - api.main - INFO - STDERR: # cleanup[2] removing GramAddict.plugins.telegram +2024-11-30 17:05:42,053 - api.main - INFO - STDERR: # destroy _sitebuiltins +2024-11-30 17:05:42,053 - api.main - INFO - STDERR: # destroy GramAddict.core +2024-11-30 17:05:42,053 - api.main - INFO - STDERR: # destroy GramAddict.core.plugin_loader +2024-11-30 17:05:42,053 - api.main - INFO - STDERR: # destroy GramAddict.core.config +2024-11-30 17:05:42,053 - api.main - INFO - STDERR: # destroy GramAddict.core.log +2024-11-30 17:05:42,053 - api.main - INFO - STDERR: # destroy GramAddict.core.report +2024-11-30 17:05:42,053 - api.main - INFO - STDERR: # destroy GramAddict.core.resources +2024-11-30 17:05:42,053 - api.main - INFO - STDERR: # destroy GramAddict.core.utils +2024-11-30 17:05:42,053 - api.main - INFO - STDERR: # destroy GramAddict.core.device_facade +2024-11-30 17:05:42,053 - api.main - INFO - STDERR: # destroy GramAddict.core.views +2024-11-30 17:05:42,054 - api.main - INFO - STDERR: # destroy GramAddict.core.filter +2024-11-30 17:05:42,054 - api.main - INFO - STDERR: # destroy GramAddict.core.session_state +2024-11-30 17:05:42,054 - api.main - INFO - STDERR: # destroy GramAddict.core.interaction +2024-11-30 17:05:42,054 - api.main - INFO - STDERR: # destroy GramAddict.core.navigation +2024-11-30 17:05:42,054 - api.main - INFO - STDERR: # destroy GramAddict.core.persistent_list +2024-11-30 17:05:42,054 - api.main - INFO - STDERR: # destroy GramAddict.core.bot_flow +2024-11-30 17:05:42,054 - api.main - INFO - STDERR: # destroy GramAddict.core.decorators +2024-11-30 17:05:42,054 - api.main - INFO - STDERR: # destroy GramAddict.core.scroll_end_detector +2024-11-30 17:05:42,054 - api.main - INFO - STDERR: # destroy GramAddict.core.handle_sources +2024-11-30 17:05:42,054 - api.main - INFO - STDERR: # destroy GramAddict.plugins +2024-11-30 17:05:42,054 - api.main - INFO - STDERR: # destroy GramAddict.plugins.action_unfollow_followers +2024-11-30 17:05:42,054 - api.main - INFO - STDERR: # destroy GramAddict.plugins.cloned_app +2024-11-30 17:05:42,054 - api.main - INFO - STDERR: # destroy GramAddict.plugins.core_arguments +2024-11-30 17:05:42,054 - api.main - INFO - STDERR: # destroy GramAddict.plugins.data_analytics +2024-11-30 17:05:42,054 - api.main - INFO - STDERR: # destroy GramAddict.plugins.dbinit +2024-11-30 17:05:42,054 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_blogger +2024-11-30 17:05:42,054 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_blogger_followers +2024-11-30 17:05:42,054 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_blogger_post_likers +2024-11-30 17:05:42,054 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_feed +2024-11-30 17:05:42,054 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_hashtag_likers +2024-11-30 17:05:42,061 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_hashtag_posts +2024-11-30 17:05:42,061 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_place_likers +2024-11-30 17:05:42,061 - api.main - INFO - STDERR: # destroy GramAddict.plugins.interact_place_posts +2024-11-30 17:05:42,061 - api.main - INFO - STDERR: # destroy GramAddict.plugins.like_from_urls +2024-11-30 17:05:42,061 - api.main - INFO - STDERR: # destroy GramAddict.plugins.nocodb_record_creation_test +2024-11-30 17:05:42,061 - api.main - INFO - STDERR: # destroy GramAddict.plugins.nocodb_storage +2024-11-30 17:05:42,061 - api.main - INFO - STDERR: # destroy GramAddict.plugins.remove_followers +2024-11-30 17:05:42,061 - api.main - INFO - STDERR: # destroy GramAddict.plugins.telegram +2024-11-30 17:05:42,061 - api.main - INFO - STDERR: # destroy pyparsing.util +2024-11-30 17:05:42,061 - api.main - INFO - STDERR: # destroy pyparsing.exceptions +2024-11-30 17:05:42,061 - api.main - INFO - STDERR: # destroy pyparsing.actions +2024-11-30 17:05:42,061 - api.main - INFO - STDERR: # destroy pyparsing.results +2024-11-30 17:05:42,061 - api.main - INFO - STDERR: # destroy pyparsing.core +2024-11-30 17:05:42,061 - api.main - INFO - STDERR: # destroy pyparsing.helpers +2024-11-30 17:05:42,061 - api.main - INFO - STDERR: # destroy langdetect.utils.messages +2024-11-30 17:05:42,061 - api.main - INFO - STDERR: # destroy spintax +2024-11-30 17:05:42,061 - api.main - INFO - STDERR: # destroy spintax.spintax +2024-11-30 17:05:42,061 - api.main - INFO - STDERR: # destroy GramAddict.core.storage +2024-11-30 17:05:42,061 - api.main - INFO - STDERR: # destroy uuid +2024-11-30 17:05:42,061 - api.main - INFO - STDERR: # destroy jwt +2024-11-30 17:05:42,062 - api.main - INFO - STDERR: # destroy jwt.exceptions +2024-11-30 17:05:42,062 - api.main - INFO - STDERR: # destroy jwt.types +2024-11-30 17:05:42,062 - api.main - INFO - STDERR: # destroy jwt.utils +2024-11-30 17:05:42,062 - api.main - INFO - STDERR: # destroy jwt.algorithms +2024-11-30 17:05:42,062 - api.main - INFO - STDERR: # destroy jwt.api_jwk +2024-11-30 17:05:42,062 - api.main - INFO - STDERR: # destroy jwt.warnings +2024-11-30 17:05:42,062 - api.main - INFO - STDERR: # destroy jwt.api_jwt +2024-11-30 17:05:42,062 - api.main - INFO - STDERR: # destroy jwt.jwk_set_cache +2024-11-30 17:05:42,062 - api.main - INFO - STDERR: # destroy jwt.jwks_client +2024-11-30 17:05:42,062 - api.main - INFO - STDERR: # destroy jwt.api_jws +2024-11-30 17:05:42,062 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.unicode_escape +2024-11-30 17:05:42,062 - api.main - INFO - STDERR: # cleanup[3] wiping _uuid +2024-11-30 17:05:42,062 - api.main - INFO - STDERR: # cleanup[3] wiping emoji +2024-11-30 17:05:42,062 - api.main - INFO - STDERR: # destroy emoji.core +2024-11-30 17:05:42,062 - api.main - INFO - STDERR: # cleanup[3] wiping emoji.unicode_codes +2024-11-30 17:05:42,062 - api.main - INFO - STDERR: # destroy emoji.unicode_codes.data_dict +2024-11-30 17:05:42,063 - api.main - INFO - STDERR: # cleanup[3] wiping uiautomator2 +2024-11-30 17:05:42,063 - api.main - INFO - STDERR: # destroy uiautomator2._proto +2024-11-30 17:05:42,063 - api.main - INFO - STDERR: # destroy uiautomator2._selector +2024-11-30 17:05:42,063 - api.main - INFO - STDERR: # destroy logzero +2024-11-30 17:05:42,063 - api.main - INFO - STDERR: # destroy uiautomator2.abcd +2024-11-30 17:05:42,063 - api.main - INFO - STDERR: # destroy uiautomator2.exceptions +2024-11-30 17:05:42,063 - api.main - INFO - STDERR: # destroy uiautomator2.utils +2024-11-30 17:05:42,063 - api.main - INFO - STDERR: # destroy uiautomator2.xpath +2024-11-30 17:05:42,063 - api.main - INFO - STDERR: # destroy uiautomator2.version +2024-11-30 17:05:42,063 - api.main - INFO - STDERR: # destroy uiautomator2.init +2024-11-30 17:05:42,063 - api.main - INFO - STDERR: # destroy uiautomator2.settings +2024-11-30 17:05:42,063 - api.main - INFO - STDERR: # destroy uiautomator2.swipe +2024-11-30 17:05:42,067 - api.main - INFO - STDERR: # destroy uiautomator2.watcher +2024-11-30 17:05:42,067 - api.main - INFO - STDERR: # cleanup[3] wiping progress.bar +2024-11-30 17:05:42,067 - api.main - INFO - STDERR: # cleanup[3] wiping progress.colors +2024-11-30 17:05:42,067 - api.main - INFO - STDERR: # cleanup[3] wiping progress +2024-11-30 17:05:42,068 - api.main - INFO - STDERR: # destroy progress.colors +2024-11-30 17:05:42,068 - api.main - INFO - STDERR: # destroy progress.bar +2024-11-30 17:05:42,068 - api.main - INFO - STDERR: # cleanup[3] wiping tarfile +2024-11-30 17:05:42,068 - api.main - INFO - STDERR: # cleanup[3] wiping lxml.etree +2024-11-30 17:05:42,068 - api.main - INFO - STDERR: # cleanup[3] wiping gzip +2024-11-30 17:05:42,068 - api.main - INFO - STDERR: # cleanup[3] wiping lxml._elementpath +2024-11-30 17:05:42,068 - api.main - INFO - STDERR: # cleanup[3] wiping gc +2024-11-30 17:05:42,068 - api.main - INFO - STDERR: # cleanup[3] wiping wrapt +2024-11-30 17:05:42,068 - api.main - INFO - STDERR: # destroy wrapt.wrappers +2024-11-30 17:05:42,069 - api.main - INFO - STDERR: # destroy wrapt.__wrapt__ +2024-11-30 17:05:42,069 - api.main - INFO - STDERR: # destroy wrapt.patches +2024-11-30 17:05:42,069 - api.main - INFO - STDERR: # destroy wrapt.weakrefs +2024-11-30 17:05:42,069 - api.main - INFO - STDERR: # destroy wrapt.arguments +2024-11-30 17:05:42,069 - api.main - INFO - STDERR: # destroy wrapt.decorators +2024-11-30 17:05:42,069 - api.main - INFO - STDERR: # destroy wrapt.importer +2024-11-30 17:05:42,069 - api.main - INFO - STDERR: # cleanup[3] wiping wrapt._wrappers +2024-11-30 17:05:42,069 - api.main - INFO - STDERR: # cleanup[3] wiping six.moves.urllib.parse +2024-11-30 17:05:42,069 - api.main - INFO - STDERR: # cleanup[3] wiping six.moves.urllib +2024-11-30 17:05:42,069 - api.main - INFO - STDERR: # cleanup[3] wiping six.moves +2024-11-30 17:05:42,070 - api.main - INFO - STDERR: # cleanup[3] wiping six +2024-11-30 17:05:42,070 - api.main - INFO - STDERR: # destroy six.moves.urllib +2024-11-30 17:05:42,070 - api.main - INFO - STDERR: # destroy six.moves +2024-11-30 17:05:42,070 - api.main - INFO - STDERR: # cleanup[3] wiping logging.handlers +2024-11-30 17:05:42,070 - api.main - INFO - STDERR: # destroy pickle +2024-11-30 17:05:42,070 - api.main - INFO - STDERR: # cleanup[3] wiping _pickle +2024-11-30 17:05:42,070 - api.main - INFO - STDERR: # cleanup[3] wiping _compat_pickle +2024-11-30 17:05:42,070 - api.main - INFO - STDERR: # cleanup[3] wiping logzero.jsonlogger +2024-11-30 17:05:42,070 - api.main - INFO - STDERR: # cleanup[3] wiping logzero.colors +2024-11-30 17:05:42,070 - api.main - INFO - STDERR: # cleanup[3] wiping filelock +2024-11-30 17:05:42,070 - api.main - INFO - STDERR: # destroy filelock._error +2024-11-30 17:05:42,070 - api.main - INFO - STDERR: # destroy filelock._api +2024-11-30 17:05:42,070 - api.main - INFO - STDERR: # destroy filelock._util +2024-11-30 17:05:42,070 - api.main - INFO - STDERR: # destroy filelock._soft +2024-11-30 17:05:42,070 - api.main - INFO - STDERR: # destroy filelock._unix +2024-11-30 17:05:42,070 - api.main - INFO - STDERR: # destroy filelock._windows +2024-11-30 17:05:42,070 - api.main - INFO - STDERR: # destroy filelock.asyncio +2024-11-30 17:05:42,070 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio +2024-11-30 17:05:42,070 - api.main - INFO - STDERR: # destroy asyncio.log +2024-11-30 17:05:42,070 - api.main - INFO - STDERR: # destroy asyncio.runners +2024-11-30 17:05:42,070 - api.main - INFO - STDERR: # destroy asyncio.queues +2024-11-30 17:05:42,070 - api.main - INFO - STDERR: # destroy asyncio.subprocess +2024-11-30 17:05:42,070 - api.main - INFO - STDERR: # destroy asyncio.threads +2024-11-30 17:05:42,070 - api.main - INFO - STDERR: # destroy asyncio.windows_events +2024-11-30 17:05:42,071 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.windows_utils +2024-11-30 17:05:42,071 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.selector_events +2024-11-30 17:05:42,071 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.proactor_events +2024-11-30 17:05:42,077 - api.main - INFO - STDERR: # destroy asyncio.base_events +2024-11-30 17:05:42,077 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.base_subprocess +2024-11-30 17:05:42,077 - api.main - INFO - STDERR: # cleanup[3] wiping _overlapped +2024-11-30 17:05:42,078 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.streams +2024-11-30 17:05:42,078 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.trsock +2024-11-30 17:05:42,078 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.staggered +2024-11-30 17:05:42,078 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.tasks +2024-11-30 17:05:42,078 - api.main - INFO - STDERR: # destroy asyncio.base_tasks +2024-11-30 17:05:42,078 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.locks +2024-11-30 17:05:42,078 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.sslproto +2024-11-30 17:05:42,078 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.transports +2024-11-30 17:05:42,078 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.protocols +2024-11-30 17:05:42,078 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.futures +2024-11-30 17:05:42,078 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.events +2024-11-30 17:05:42,078 - api.main - INFO - STDERR: # cleanup[3] wiping _asyncio +2024-11-30 17:05:42,078 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.exceptions +2024-11-30 17:05:42,078 - api.main - INFO - STDERR: # cleanup[3] wiping contextvars +2024-11-30 17:05:42,078 - api.main - INFO - STDERR: # cleanup[3] wiping _contextvars +2024-11-30 17:05:42,078 - api.main - INFO - STDERR: # destroy _contextvars +2024-11-30 17:05:42,078 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.coroutines +2024-11-30 17:05:42,078 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.base_futures +2024-11-30 17:05:42,078 - api.main - INFO - STDERR: # destroy asyncio.format_helpers +2024-11-30 17:05:42,078 - api.main - INFO - STDERR: # cleanup[3] wiping asyncio.constants +2024-11-30 17:05:42,078 - api.main - INFO - STDERR: # cleanup[3] wiping concurrent.futures +2024-11-30 17:05:42,078 - api.main - INFO - STDERR: # destroy concurrent.futures._base +2024-11-30 17:05:42,078 - api.main - INFO - STDERR: # cleanup[3] wiping concurrent +2024-11-30 17:05:42,078 - api.main - INFO - STDERR: # destroy concurrent.futures +2024-11-30 17:05:42,079 - api.main - INFO - STDERR: # cleanup[3] wiping adbutils +2024-11-30 17:05:42,079 - api.main - INFO - STDERR: # destroy adbutils._utils +2024-11-30 17:05:42,079 - api.main - INFO - STDERR: # destroy adbutils._proto +2024-11-30 17:05:42,079 - api.main - INFO - STDERR: # destroy adbutils._version +2024-11-30 17:05:42,079 - api.main - INFO - STDERR: # destroy pkg_resources +2024-11-30 17:05:42,079 - api.main - INFO - STDERR: # destroy adbutils._adb +2024-11-30 17:05:42,079 - api.main - INFO - STDERR: # destroy adbutils._device +2024-11-30 17:05:42,079 - api.main - INFO - STDERR: # destroy adbutils.errors +2024-11-30 17:05:42,080 - api.main - INFO - STDERR: # cleanup[3] wiping PIL.Image +2024-11-30 17:05:42,080 - api.main - INFO - STDERR: # destroy PIL.ExifTags +2024-11-30 17:05:42,080 - api.main - INFO - STDERR: # destroy PIL.ImageMode +2024-11-30 17:05:42,080 - api.main - INFO - STDERR: # destroy PIL.TiffTags +2024-11-30 17:05:42,080 - api.main - INFO - STDERR: # cleanup[3] wiping PIL._imaging +2024-11-30 17:05:42,080 - api.main - INFO - STDERR: # cleanup[3] wiping requests +2024-11-30 17:05:42,080 - api.main - INFO - STDERR: # destroy requests._internal_utils +2024-11-30 17:05:42,080 - api.main - INFO - STDERR: # destroy requests.compat +2024-11-30 17:05:42,080 - api.main - INFO - STDERR: # destroy requests.exceptions +2024-11-30 17:05:42,080 - api.main - INFO - STDERR: # destroy requests.packages +2024-11-30 17:05:42,080 - api.main - INFO - STDERR: # destroy idna +2024-11-30 17:05:42,080 - api.main - INFO - STDERR: # destroy idna.intranges +2024-11-30 17:05:42,080 - api.main - INFO - STDERR: # destroy idna.core +2024-11-30 17:05:42,090 - api.main - INFO - STDERR: # destroy idna.package_data +2024-11-30 17:05:42,090 - api.main - INFO - STDERR: # destroy requests.cookies +2024-11-30 17:05:42,090 - api.main - INFO - STDERR: # destroy requests.structures +2024-11-30 17:05:42,091 - api.main - INFO - STDERR: # destroy requests.utils +2024-11-30 17:05:42,091 - api.main - INFO - STDERR: # destroy requests.auth +2024-11-30 17:05:42,091 - api.main - INFO - STDERR: # destroy requests.hooks +2024-11-30 17:05:42,091 - api.main - INFO - STDERR: # destroy requests.status_codes +2024-11-30 17:05:42,091 - api.main - INFO - STDERR: # destroy requests.models +2024-11-30 17:05:42,091 - api.main - INFO - STDERR: # destroy requests.adapters +2024-11-30 17:05:42,091 - api.main - INFO - STDERR: # destroy requests.api +2024-11-30 17:05:42,091 - api.main - INFO - STDERR: # cleanup[3] wiping requests.sessions +2024-11-30 17:05:42,091 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.idna +2024-11-30 17:05:42,091 - api.main - INFO - STDERR: # destroy stringprep +2024-11-30 17:05:42,091 - api.main - INFO - STDERR: # cleanup[3] wiping requests.certs +2024-11-30 17:05:42,091 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.chardet +2024-11-30 17:05:42,091 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.idna.idnadata +2024-11-30 17:05:42,091 - api.main - INFO - STDERR: # cleanup[3] wiping idna.idnadata +2024-11-30 17:05:42,091 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3 +2024-11-30 17:05:42,091 - api.main - INFO - STDERR: # destroy urllib3._version +2024-11-30 17:05:42,091 - api.main - INFO - STDERR: # destroy urllib3._collections +2024-11-30 17:05:42,092 - api.main - INFO - STDERR: # destroy urllib3.packages +2024-11-30 17:05:42,092 - api.main - INFO - STDERR: # destroy urllib3.exceptions +2024-11-30 17:05:42,092 - api.main - INFO - STDERR: # destroy urllib3.contrib +2024-11-30 17:05:42,092 - api.main - INFO - STDERR: # destroy urllib3.connection +2024-11-30 17:05:42,092 - api.main - INFO - STDERR: # destroy urllib3.fields +2024-11-30 17:05:42,092 - api.main - INFO - STDERR: # destroy urllib3.filepost +2024-11-30 17:05:42,092 - api.main - INFO - STDERR: # destroy urllib3.request +2024-11-30 17:05:42,093 - api.main - INFO - STDERR: # destroy urllib3.response +2024-11-30 17:05:42,093 - api.main - INFO - STDERR: # destroy urllib3.connectionpool +2024-11-30 17:05:42,093 - api.main - INFO - STDERR: # destroy urllib3.poolmanager +2024-11-30 17:05:42,093 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util.queue +2024-11-30 17:05:42,093 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six.moves.urllib.parse +2024-11-30 17:05:42,093 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six.moves.urllib +2024-11-30 17:05:42,093 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util.ssl_match_hostname +2024-11-30 17:05:42,093 - api.main - INFO - STDERR: # destroy ipaddress +2024-11-30 17:05:42,093 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util.proxy +2024-11-30 17:05:42,094 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util +2024-11-30 17:05:42,094 - api.main - INFO - STDERR: # destroy urllib3.util.wait +2024-11-30 17:05:42,094 - api.main - INFO - STDERR: # destroy urllib3.util.request +2024-11-30 17:05:42,094 - api.main - INFO - STDERR: # destroy urllib3.util.response +2024-11-30 17:05:42,094 - api.main - INFO - STDERR: # destroy urllib3.util.retry +2024-11-30 17:05:42,094 - api.main - INFO - STDERR: # destroy urllib3.util.url +2024-11-30 17:05:42,094 - api.main - INFO - STDERR: # destroy urllib3.util.ssltransport +2024-11-30 17:05:42,094 - api.main - INFO - STDERR: # destroy urllib3.util.ssl_ +2024-11-30 17:05:42,094 - api.main - INFO - STDERR: # destroy urllib3.util.timeout +2024-11-30 17:05:42,094 - api.main - INFO - STDERR: # destroy urllib3.util.proxy +2024-11-30 17:05:42,100 - api.main - INFO - STDERR: # destroy urllib3.util.ssl_match_hostname +2024-11-30 17:05:42,100 - api.main - INFO - STDERR: # destroy urllib3.util.queue +2024-11-30 17:05:42,100 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.util.connection +2024-11-30 17:05:42,100 - api.main - INFO - STDERR: # destroy urllib3.contrib._appengine_environ +2024-11-30 17:05:42,100 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six.moves.http_client +2024-11-30 17:05:42,100 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six.moves +2024-11-30 17:05:42,101 - api.main - INFO - STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six +2024-11-30 17:05:42,101 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib +2024-11-30 17:05:42,101 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves +2024-11-30 17:05:42,101 - api.main - INFO - STDERR: # cleanup[3] wiping http.cookies +2024-11-30 17:05:42,101 - api.main - INFO - STDERR: # cleanup[3] wiping http.cookiejar +2024-11-30 17:05:42,101 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer +2024-11-30 17:05:42,101 - api.main - INFO - STDERR: # destroy charset_normalizer.models +2024-11-30 17:05:42,101 - api.main - INFO - STDERR: # destroy charset_normalizer.cd +2024-11-30 17:05:42,102 - api.main - INFO - STDERR: # destroy charset_normalizer.api +2024-11-30 17:05:42,102 - api.main - INFO - STDERR: # destroy charset_normalizer.legacy +2024-11-30 17:05:42,102 - api.main - INFO - STDERR: # destroy charset_normalizer.version +2024-11-30 17:05:42,102 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer.md +2024-11-30 17:05:42,102 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer.utils +2024-11-30 17:05:42,102 - api.main - INFO - STDERR: # cleanup[3] wiping _multibytecodec +2024-11-30 17:05:42,102 - api.main - INFO - STDERR: # cleanup[3] wiping unicodedata +2024-11-30 17:05:42,102 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer.md__mypyc +2024-11-30 17:05:42,102 - api.main - INFO - STDERR: # cleanup[3] wiping charset_normalizer.constant +2024-11-30 17:05:42,102 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3 +2024-11-30 17:05:42,102 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.packages.six.moves.urllib.parse +2024-11-30 17:05:42,102 - api.main - INFO - STDERR: # cleanup[3] wiping mimetypes +2024-11-30 17:05:42,102 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.util +2024-11-30 17:05:42,102 - api.main - INFO - STDERR: # cleanup[3] wiping hmac +2024-11-30 17:05:42,102 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.util.connection +2024-11-30 17:05:42,102 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.packages.six.moves.http_client +2024-11-30 17:05:42,103 - api.main - INFO - STDERR: # cleanup[3] wiping urllib3.packages.six +2024-11-30 17:05:42,103 - api.main - INFO - STDERR: # cleanup[3] wiping platformdirs.windows +2024-11-30 17:05:42,103 - api.main - INFO - STDERR: # cleanup[3] wiping platformdirs.version +2024-11-30 17:05:42,103 - api.main - INFO - STDERR: # cleanup[3] wiping platformdirs.api +2024-11-30 17:05:42,103 - api.main - INFO - STDERR: # cleanup[3] wiping backports.tarfile +2024-11-30 17:05:42,103 - api.main - INFO - STDERR: # destroy backports.tarfile.compat +2024-11-30 17:05:42,103 - api.main - INFO - STDERR: # destroy backports.tarfile.compat.py38 +2024-11-30 17:05:42,103 - api.main - INFO - STDERR: # cleanup[3] wiping importlib.resources +2024-11-30 17:05:42,104 - api.main - INFO - STDERR: # cleanup[3] wiping importlib._common +2024-11-30 17:05:42,104 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.requirements +2024-11-30 17:05:42,104 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.markers +2024-11-30 17:05:42,104 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.specifiers +2024-11-30 17:05:42,104 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.utils +2024-11-30 17:05:42,115 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.tags +2024-11-30 17:05:42,115 - api.main - INFO - STDERR: # cleanup[3] wiping distutils +2024-11-30 17:05:42,115 - api.main - INFO - STDERR: # destroy distutils._log +2024-11-30 17:05:42,115 - api.main - INFO - STDERR: # destroy distutils.compat +2024-11-30 17:05:42,115 - api.main - INFO - STDERR: # destroy distutils.errors +2024-11-30 17:05:42,115 - api.main - INFO - STDERR: # destroy distutils.debug +2024-11-30 17:05:42,115 - api.main - INFO - STDERR: # destroy distutils.spawn +2024-11-30 17:05:42,115 - api.main - INFO - STDERR: # destroy distutils.cmd +2024-11-30 17:05:42,115 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.util +2024-11-30 17:05:42,115 - api.main - INFO - STDERR: # destroy sysconfig +2024-11-30 17:05:42,115 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.archive_util +2024-11-30 17:05:42,115 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.dir_util +2024-11-30 17:05:42,116 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.file_util +2024-11-30 17:05:42,116 - api.main - INFO - STDERR: # cleanup[3] wiping distutils._modified +2024-11-30 17:05:42,116 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.compat.py39 +2024-11-30 17:05:42,116 - api.main - INFO - STDERR: # cleanup[3] wiping distutils.compat.py38 +2024-11-30 17:05:42,116 - api.main - INFO - STDERR: # cleanup[3] wiping more_itertools +2024-11-30 17:05:42,116 - api.main - INFO - STDERR: # destroy more_itertools.recipes +2024-11-30 17:05:42,116 - api.main - INFO - STDERR: # destroy more_itertools.more +2024-11-30 17:05:42,116 - api.main - INFO - STDERR: # cleanup[3] wiping queue +2024-11-30 17:05:42,116 - api.main - INFO - STDERR: # cleanup[3] wiping _queue +2024-11-30 17:05:42,116 - api.main - INFO - STDERR: # cleanup[3] wiping setuptools._distutils +2024-11-30 17:05:42,116 - api.main - INFO - STDERR: # cleanup[3] wiping packaging._compat +2024-11-30 17:05:42,116 - api.main - INFO - STDERR: # cleanup[3] wiping html +2024-11-30 17:05:42,116 - api.main - INFO - STDERR: # destroy html.entities +2024-11-30 17:05:42,116 - api.main - INFO - STDERR: # cleanup[3] wiping pprint +2024-11-30 17:05:42,116 - api.main - INFO - STDERR: # cleanup[3] wiping plistlib +2024-11-30 17:05:42,116 - api.main - INFO - STDERR: # cleanup[3] wiping apkutils2 +2024-11-30 17:05:42,116 - api.main - INFO - STDERR: # destroy apkutils2.apkfile +2024-11-30 17:05:42,116 - api.main - INFO - STDERR: # destroy apkutils2.axml +2024-11-30 17:05:42,116 - api.main - INFO - STDERR: # destroy apkutils2.axml.chunk +2024-11-30 17:05:42,117 - api.main - INFO - STDERR: # destroy apkutils2.axml.arscparser +2024-11-30 17:05:42,117 - api.main - INFO - STDERR: # destroy apkutils2.axml.axmlparser +2024-11-30 17:05:42,117 - api.main - INFO - STDERR: # destroy apkutils2.dex +2024-11-30 17:05:42,117 - api.main - INFO - STDERR: # destroy apkutils2.dex.byteio +2024-11-30 17:05:42,117 - api.main - INFO - STDERR: # destroy apkutils2.dex.dalvik +2024-11-30 17:05:42,117 - api.main - INFO - STDERR: # destroy apkutils2.dex.dexparser +2024-11-30 17:05:42,117 - api.main - INFO - STDERR: # destroy apkutils2.manifest +2024-11-30 17:05:42,117 - api.main - INFO - STDERR: # cleanup[3] wiping apkutils2.dex.dalvikformats +2024-11-30 17:05:42,117 - api.main - INFO - STDERR: # cleanup[3] wiping apkutils2.dex.util +2024-11-30 17:05:42,117 - api.main - INFO - STDERR: # cleanup[3] wiping array +2024-11-30 17:05:42,117 - api.main - INFO - STDERR: # cleanup[3] wiping apkutils2.axml.public +2024-11-30 17:05:42,117 - api.main - INFO - STDERR: # cleanup[3] wiping xmltodict +2024-11-30 17:05:42,117 - api.main - INFO - STDERR: # cleanup[3] wiping platform +2024-11-30 17:05:42,117 - api.main - INFO - STDERR: # cleanup[3] wiping xml.sax.saxutils +2024-11-30 17:05:42,117 - api.main - INFO - STDERR: # cleanup[3] wiping urllib.request +2024-11-30 17:05:42,117 - api.main - INFO - STDERR: # destroy http +2024-11-30 17:05:42,117 - api.main - INFO - STDERR: # cleanup[3] wiping urllib.error +2024-11-30 17:05:42,223 - api.main - INFO - STDERR: # cleanup[3] wiping urllib.response +2024-11-30 17:05:42,224 - api.main - INFO - STDERR: # cleanup[3] wiping http.client +2024-11-30 17:05:42,224 - api.main - INFO - STDERR: # cleanup[3] wiping ssl +2024-11-30 17:05:42,224 - api.main - INFO - STDERR: # cleanup[3] wiping _ssl +2024-11-30 17:05:42,224 - api.main - INFO - STDERR: # cleanup[3] wiping email.message +2024-11-30 17:05:42,224 - api.main - INFO - STDERR: # destroy uu +2024-11-30 17:05:42,224 - api.main - INFO - STDERR: # destroy quopri +2024-11-30 17:05:42,224 - api.main - INFO - STDERR: # cleanup[3] wiping email.iterators +2024-11-30 17:05:42,224 - api.main - INFO - STDERR: # cleanup[3] wiping email._encoded_words +2024-11-30 17:05:42,224 - api.main - INFO - STDERR: # cleanup[3] wiping email.parser +2024-11-30 17:05:42,224 - api.main - INFO - STDERR: # cleanup[3] wiping email.feedparser +2024-11-30 17:05:42,224 - api.main - INFO - STDERR: # cleanup[3] wiping email._policybase +2024-11-30 17:05:42,225 - api.main - INFO - STDERR: # cleanup[3] wiping email.utils +2024-11-30 17:05:42,225 - api.main - INFO - STDERR: # cleanup[3] wiping email._parseaddr +2024-11-30 17:05:42,225 - api.main - INFO - STDERR: # cleanup[3] wiping calendar +2024-11-30 17:05:42,225 - api.main - INFO - STDERR: # destroy locale +2024-11-30 17:05:42,225 - api.main - INFO - STDERR: # cleanup[3] wiping email.header +2024-11-30 17:05:42,225 - api.main - INFO - STDERR: # cleanup[3] wiping email.charset +2024-11-30 17:05:42,225 - api.main - INFO - STDERR: # cleanup[3] wiping email.encoders +2024-11-30 17:05:42,225 - api.main - INFO - STDERR: # cleanup[3] wiping email.base64mime +2024-11-30 17:05:42,225 - api.main - INFO - STDERR: # cleanup[3] wiping email.quoprimime +2024-11-30 17:05:42,225 - api.main - INFO - STDERR: # cleanup[3] wiping email.errors +2024-11-30 17:05:42,225 - api.main - INFO - STDERR: # cleanup[3] wiping email +2024-11-30 17:05:42,225 - api.main - INFO - STDERR: # destroy email._parseaddr +2024-11-30 17:05:42,225 - api.main - INFO - STDERR: # destroy email._policybase +2024-11-30 17:05:42,225 - api.main - INFO - STDERR: # destroy email._encoded_words +2024-11-30 17:05:42,226 - api.main - INFO - STDERR: # destroy email.errors +2024-11-30 17:05:42,226 - api.main - INFO - STDERR: # destroy email.quoprimime +2024-11-30 17:05:42,226 - api.main - INFO - STDERR: # destroy email.base64mime +2024-11-30 17:05:42,226 - api.main - INFO - STDERR: # destroy email.encoders +2024-11-30 17:05:42,226 - api.main - INFO - STDERR: # destroy email.charset +2024-11-30 17:05:42,227 - api.main - INFO - STDERR: # destroy email.header +2024-11-30 17:05:42,227 - api.main - INFO - STDERR: # destroy email.utils +2024-11-30 17:05:42,227 - api.main - INFO - STDERR: # destroy email.feedparser +2024-11-30 17:05:42,227 - api.main - INFO - STDERR: # destroy email.parser +2024-11-30 17:05:42,227 - api.main - INFO - STDERR: # destroy email.iterators +2024-11-30 17:05:42,227 - api.main - INFO - STDERR: # destroy email.message +2024-11-30 17:05:42,227 - api.main - INFO - STDERR: # cleanup[3] wiping xml.sax +2024-11-30 17:05:42,227 - api.main - INFO - STDERR: # destroy xml.sax._exceptions +2024-11-30 17:05:42,227 - api.main - INFO - STDERR: # destroy xml.sax.xmlreader +2024-11-30 17:05:42,227 - api.main - INFO - STDERR: # destroy xml.sax.saxutils +2024-11-30 17:05:42,227 - api.main - INFO - STDERR: # cleanup[3] wiping xml.sax.handler +2024-11-30 17:05:42,228 - api.main - INFO - STDERR: # cleanup[3] wiping xml.parsers.expat +2024-11-30 17:05:42,228 - api.main - INFO - STDERR: # cleanup[3] wiping xml.parsers.expat.errors +2024-11-30 17:05:42,228 - api.main - INFO - STDERR: # cleanup[3] wiping xml.parsers.expat.model +2024-11-30 17:05:42,228 - api.main - INFO - STDERR: # cleanup[3] wiping pyexpat +2024-11-30 17:05:42,228 - api.main - INFO - STDERR: # cleanup[3] wiping pyexpat.model +2024-11-30 17:05:42,228 - api.main - INFO - STDERR: # cleanup[3] wiping pyexpat.errors +2024-11-30 17:05:42,228 - api.main - INFO - STDERR: # cleanup[3] wiping xml.parsers +2024-11-30 17:05:42,244 - api.main - INFO - STDERR: # destroy xml.parsers.expat +2024-11-30 17:05:42,244 - api.main - INFO - STDERR: # cleanup[3] wiping whichcraft +2024-11-30 17:05:42,244 - api.main - INFO - STDERR: # cleanup[3] wiping zipfile +2024-11-30 17:05:42,244 - api.main - INFO - STDERR: # cleanup[3] wiping tempfile +2024-11-30 17:05:42,244 - api.main - INFO - STDERR: # cleanup[3] wiping shlex +2024-11-30 17:05:42,244 - api.main - INFO - STDERR: # cleanup[3] wiping socket +2024-11-30 17:05:42,244 - api.main - INFO - STDERR: # destroy selectors +2024-11-30 17:05:42,244 - api.main - INFO - STDERR: # cleanup[3] wiping select +2024-11-30 17:05:42,244 - api.main - INFO - STDERR: # cleanup[3] wiping _socket +2024-11-30 17:05:42,244 - api.main - INFO - STDERR: # cleanup[3] wiping packaging.version +2024-11-30 17:05:42,245 - api.main - INFO - STDERR: # cleanup[3] wiping packaging._typing +2024-11-30 17:05:42,245 - api.main - INFO - STDERR: # cleanup[3] wiping packaging._structures +2024-11-30 17:05:42,245 - api.main - INFO - STDERR: # cleanup[3] wiping packaging +2024-11-30 17:05:42,245 - api.main - INFO - STDERR: # destroy packaging._structures +2024-11-30 17:05:42,245 - api.main - INFO - STDERR: # destroy packaging._typing +2024-11-30 17:05:42,245 - api.main - INFO - STDERR: # destroy packaging._compat +2024-11-30 17:05:42,245 - api.main - INFO - STDERR: # destroy packaging.__about__ +2024-11-30 17:05:42,245 - api.main - INFO - STDERR: # destroy packaging.tags +2024-11-30 17:05:42,246 - api.main - INFO - STDERR: # destroy packaging.utils +2024-11-30 17:05:42,246 - api.main - INFO - STDERR: # destroy packaging.specifiers +2024-11-30 17:05:42,246 - api.main - INFO - STDERR: # destroy packaging.markers +2024-11-30 17:05:42,246 - api.main - INFO - STDERR: # destroy packaging.requirements +2024-11-30 17:05:42,246 - api.main - INFO - STDERR: # cleanup[3] wiping pathlib +2024-11-30 17:05:42,246 - api.main - INFO - STDERR: # cleanup[3] wiping urllib.parse +2024-11-30 17:05:42,246 - api.main - INFO - STDERR: # cleanup[3] wiping urllib +2024-11-30 17:05:42,246 - api.main - INFO - STDERR: # destroy urllib.parse +2024-11-30 17:05:42,246 - api.main - INFO - STDERR: # destroy urllib.response +2024-11-30 17:05:42,246 - api.main - INFO - STDERR: # destroy urllib.error +2024-11-30 17:05:42,247 - api.main - INFO - STDERR: # destroy urllib.request +2024-11-30 17:05:42,247 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom.minidom +2024-11-30 17:05:42,247 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom.xmlbuilder +2024-11-30 17:05:42,247 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom.NodeFilter +2024-11-30 17:05:42,247 - api.main - INFO - STDERR: # cleanup[3] wiping copy +2024-11-30 17:05:42,247 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom.minicompat +2024-11-30 17:05:42,247 - api.main - INFO - STDERR: # cleanup[3] wiping xml.dom +2024-11-30 17:05:42,247 - api.main - INFO - STDERR: # destroy xml.dom.domreg +2024-11-30 17:05:42,247 - api.main - INFO - STDERR: # destroy xml.dom.minicompat +2024-11-30 17:05:42,247 - api.main - INFO - STDERR: # destroy xml.dom.NodeFilter +2024-11-30 17:05:42,247 - api.main - INFO - STDERR: # destroy xml.dom.xmlbuilder +2024-11-30 17:05:42,247 - api.main - INFO - STDERR: # cleanup[3] wiping xml +2024-11-30 17:05:42,247 - api.main - INFO - STDERR: # destroy xml.dom +2024-11-30 17:05:42,247 - api.main - INFO - STDERR: # destroy xml.parsers +2024-11-30 17:05:42,248 - api.main - INFO - STDERR: # destroy xml.sax +2024-11-30 17:05:42,248 - api.main - INFO - STDERR: # cleanup[3] wiping shutil +2024-11-30 17:05:42,248 - api.main - INFO - STDERR: # cleanup[3] wiping lzma +2024-11-30 17:05:42,248 - api.main - INFO - STDERR: # cleanup[3] wiping _lzma +2024-11-30 17:05:42,248 - api.main - INFO - STDERR: # cleanup[3] wiping bz2 +2024-11-30 17:05:42,248 - api.main - INFO - STDERR: # destroy _compression +2024-11-30 17:05:42,248 - api.main - INFO - STDERR: # cleanup[3] wiping zlib +2024-11-30 17:05:42,248 - api.main - INFO - STDERR: # cleanup[3] wiping hashlib +2024-11-30 17:05:42,283 - api.main - INFO - STDERR: # cleanup[3] wiping _blake2 +2024-11-30 17:05:42,283 - api.main - INFO - STDERR: # cleanup[3] wiping _hashlib +2024-11-30 17:05:42,283 - api.main - INFO - STDERR: # cleanup[3] wiping subprocess +2024-11-30 17:05:42,283 - api.main - INFO - STDERR: # destroy signal +2024-11-30 17:05:42,284 - api.main - INFO - STDERR: # cleanup[3] wiping _winapi +2024-11-30 17:05:42,284 - api.main - INFO - STDERR: # cleanup[3] wiping msvcrt +2024-11-30 17:05:42,284 - api.main - INFO - STDERR: # cleanup[3] wiping errno +2024-11-30 17:05:42,284 - api.main - INFO - STDERR: # cleanup[3] wiping pkgutil +2024-11-30 17:05:42,284 - api.main - INFO - STDERR: # cleanup[3] wiping importlib.util +2024-11-30 17:05:42,284 - api.main - INFO - STDERR: # cleanup[3] wiping importlib.abc +2024-11-30 17:05:42,284 - api.main - INFO - STDERR: # cleanup[3] wiping inspect +2024-11-30 17:05:42,284 - api.main - INFO - STDERR: # destroy ast +2024-11-30 17:05:42,284 - api.main - INFO - STDERR: # destroy dis +2024-11-30 17:05:42,285 - api.main - INFO - STDERR: # destroy token +2024-11-30 17:05:42,285 - api.main - INFO - STDERR: # cleanup[3] wiping importlib.machinery +2024-11-30 17:05:42,285 - api.main - INFO - STDERR: # cleanup[3] wiping importlib +2024-11-30 17:05:42,285 - api.main - INFO - STDERR: # destroy importlib._common +2024-11-30 17:05:42,285 - api.main - INFO - STDERR: # destroy importlib.machinery +2024-11-30 17:05:42,285 - api.main - INFO - STDERR: # destroy importlib.abc +2024-11-30 17:05:42,285 - api.main - INFO - STDERR: # destroy importlib.util +2024-11-30 17:05:42,285 - api.main - INFO - STDERR: # destroy importlib.resources +2024-11-30 17:05:42,285 - api.main - INFO - STDERR: # cleanup[3] wiping importlib._bootstrap_external +2024-11-30 17:05:42,285 - api.main - INFO - STDERR: # cleanup[3] wiping importlib._bootstrap +2024-11-30 17:05:42,285 - api.main - INFO - STDERR: # cleanup[3] wiping _opcode +2024-11-30 17:05:42,285 - api.main - INFO - STDERR: # cleanup[3] wiping yaml +2024-11-30 17:05:42,285 - api.main - INFO - STDERR: # destroy yaml.error +2024-11-30 17:05:42,285 - api.main - INFO - STDERR: # destroy yaml.tokens +2024-11-30 17:05:42,285 - api.main - INFO - STDERR: # destroy yaml.events +2024-11-30 17:05:42,286 - api.main - INFO - STDERR: # destroy yaml.nodes +2024-11-30 17:05:42,286 - api.main - INFO - STDERR: # destroy yaml.reader +2024-11-30 17:05:42,286 - api.main - INFO - STDERR: # destroy yaml.scanner +2024-11-30 17:05:42,286 - api.main - INFO - STDERR: # destroy yaml.parser +2024-11-30 17:05:42,287 - api.main - INFO - STDERR: # destroy yaml.composer +2024-11-30 17:05:42,287 - api.main - INFO - STDERR: # destroy yaml.constructor +2024-11-30 17:05:42,287 - api.main - INFO - STDERR: # destroy yaml.resolver +2024-11-30 17:05:42,287 - api.main - INFO - STDERR: # destroy yaml.loader +2024-11-30 17:05:42,287 - api.main - INFO - STDERR: # destroy yaml.emitter +2024-11-30 17:05:42,287 - api.main - INFO - STDERR: # destroy yaml.serializer +2024-11-30 17:05:42,287 - api.main - INFO - STDERR: # destroy yaml.representer +2024-11-30 17:05:42,287 - api.main - INFO - STDERR: # destroy yaml.dumper +2024-11-30 17:05:42,287 - api.main - INFO - STDERR: # destroy yaml.cyaml +2024-11-30 17:05:42,287 - api.main - INFO - STDERR: # cleanup[3] wiping yaml._yaml +2024-11-30 17:05:42,287 - api.main - INFO - STDERR: # cleanup[3] wiping cython_runtime +2024-11-30 17:05:42,287 - api.main - INFO - STDERR: # cleanup[3] wiping base64 +2024-11-30 17:05:42,287 - api.main - INFO - STDERR: # cleanup[3] wiping binascii +2024-11-30 17:05:42,287 - api.main - INFO - STDERR: # cleanup[3] wiping configargparse +2024-11-30 17:05:42,287 - api.main - INFO - STDERR: # destroy argparse +2024-11-30 17:05:42,288 - api.main - INFO - STDERR: # destroy glob +2024-11-30 17:05:42,288 - api.main - INFO - STDERR: # cleanup[3] wiping textwrap +2024-11-30 17:05:42,288 - api.main - INFO - STDERR: # cleanup[3] wiping fnmatch +2024-11-30 17:05:42,288 - api.main - INFO - STDERR: # cleanup[3] wiping posixpath +2024-11-30 17:05:42,298 - api.main - INFO - STDERR: # cleanup[3] wiping json +2024-11-30 17:05:42,299 - api.main - INFO - STDERR: # destroy json.decoder +2024-11-30 17:05:42,299 - api.main - INFO - STDERR: # destroy json.encoder +2024-11-30 17:05:42,299 - api.main - INFO - STDERR: # cleanup[3] wiping json.scanner +2024-11-30 17:05:42,299 - api.main - INFO - STDERR: # cleanup[3] wiping _json +2024-11-30 17:05:42,299 - api.main - INFO - STDERR: # cleanup[3] wiping typing +2024-11-30 17:05:42,299 - api.main - INFO - STDERR: # cleanup[3] wiping colorama.win32 +2024-11-30 17:05:42,299 - api.main - INFO - STDERR: # cleanup[3] wiping ctypes.wintypes +2024-11-30 17:05:42,299 - api.main - INFO - STDERR: # destroy ctypes +2024-11-30 17:05:42,299 - api.main - INFO - STDERR: # cleanup[3] wiping ctypes._endian +2024-11-30 17:05:42,299 - api.main - INFO - STDERR: # cleanup[3] wiping struct +2024-11-30 17:05:42,299 - api.main - INFO - STDERR: # cleanup[3] wiping _struct +2024-11-30 17:05:42,299 - api.main - INFO - STDERR: # cleanup[3] wiping _ctypes +2024-11-30 17:05:42,300 - api.main - INFO - STDERR: # cleanup[3] wiping contextlib +2024-11-30 17:05:42,300 - api.main - INFO - STDERR: # cleanup[3] wiping datetime +2024-11-30 17:05:42,300 - api.main - INFO - STDERR: # cleanup[3] wiping _datetime +2024-11-30 17:05:42,300 - api.main - INFO - STDERR: # cleanup[3] wiping random +2024-11-30 17:05:42,301 - api.main - INFO - STDERR: # cleanup[3] wiping _sha512 +2024-11-30 17:05:42,301 - api.main - INFO - STDERR: # cleanup[3] wiping _random +2024-11-30 17:05:42,301 - api.main - INFO - STDERR: # cleanup[3] wiping bisect +2024-11-30 17:05:42,301 - api.main - INFO - STDERR: # cleanup[3] wiping _bisect +2024-11-30 17:05:42,301 - api.main - INFO - STDERR: # cleanup[3] wiping math +2024-11-30 17:05:42,301 - api.main - INFO - STDERR: # cleanup[3] wiping logging +2024-11-30 17:05:42,301 - api.main - INFO - STDERR: # destroy logging.handlers +2024-11-30 17:05:42,301 - api.main - INFO - STDERR: # cleanup[3] wiping atexit +2024-11-30 17:05:42,301 - api.main - INFO - STDERR: # cleanup[3] wiping threading +2024-11-30 17:05:42,301 - api.main - INFO - STDERR: # cleanup[3] wiping string +2024-11-30 17:05:42,301 - api.main - INFO - STDERR: # cleanup[3] wiping _string +2024-11-30 17:05:42,301 - api.main - INFO - STDERR: # cleanup[3] wiping collections.abc +2024-11-30 17:05:42,301 - api.main - INFO - STDERR: # cleanup[3] wiping weakref +2024-11-30 17:05:42,301 - api.main - INFO - STDERR: # cleanup[3] wiping warnings +2024-11-30 17:05:42,302 - api.main - INFO - STDERR: # cleanup[3] wiping traceback +2024-11-30 17:05:42,302 - api.main - INFO - STDERR: # cleanup[3] wiping linecache +2024-11-30 17:05:42,302 - api.main - INFO - STDERR: # destroy tokenize +2024-11-30 17:05:42,302 - api.main - INFO - STDERR: # cleanup[3] wiping re +2024-11-30 17:05:42,302 - api.main - INFO - STDERR: # destroy sre_compile +2024-11-30 17:05:42,302 - api.main - INFO - STDERR: # cleanup[3] wiping copyreg +2024-11-30 17:05:42,302 - api.main - INFO - STDERR: # cleanup[3] wiping functools +2024-11-30 17:05:42,302 - api.main - INFO - STDERR: # cleanup[3] wiping _functools +2024-11-30 17:05:42,302 - api.main - INFO - STDERR: # cleanup[3] wiping collections +2024-11-30 17:05:42,302 - api.main - INFO - STDERR: # cleanup[3] wiping _collections +2024-11-30 17:05:42,302 - api.main - INFO - STDERR: # destroy _collections +2024-11-30 17:05:42,302 - api.main - INFO - STDERR: # cleanup[3] wiping reprlib +2024-11-30 17:05:42,302 - api.main - INFO - STDERR: # cleanup[3] wiping operator +2024-11-30 17:05:42,302 - api.main - INFO - STDERR: # cleanup[3] wiping _operator +2024-11-30 17:05:42,302 - api.main - INFO - STDERR: # cleanup[3] wiping keyword +2024-11-30 17:05:42,303 - api.main - INFO - STDERR: # cleanup[3] wiping itertools +2024-11-30 17:05:42,303 - api.main - INFO - STDERR: # cleanup[3] wiping heapq +2024-11-30 17:05:42,303 - api.main - INFO - STDERR: # cleanup[3] wiping _heapq +2024-11-30 17:05:42,303 - api.main - INFO - STDERR: # cleanup[3] wiping sre_parse +2024-11-30 17:05:42,303 - api.main - INFO - STDERR: # cleanup[3] wiping _sre +2024-11-30 17:05:42,312 - api.main - INFO - STDERR: # cleanup[3] wiping enum +2024-11-30 17:05:42,312 - api.main - INFO - STDERR: # cleanup[3] wiping types +2024-11-30 17:05:42,312 - api.main - INFO - STDERR: # cleanup[3] wiping _locale +2024-11-30 17:05:42,312 - api.main - INFO - STDERR: # cleanup[3] wiping os +2024-11-30 17:05:42,312 - api.main - INFO - STDERR: # cleanup[3] wiping os.path +2024-11-30 17:05:42,312 - api.main - INFO - STDERR: # destroy genericpath +2024-11-30 17:05:42,312 - api.main - INFO - STDERR: # cleanup[3] wiping ntpath +2024-11-30 17:05:42,312 - api.main - INFO - STDERR: # cleanup[3] wiping _collections_abc +2024-11-30 17:05:42,312 - api.main - INFO - STDERR: # cleanup[3] wiping stat +2024-11-30 17:05:42,313 - api.main - INFO - STDERR: # cleanup[3] wiping _stat +2024-11-30 17:05:42,313 - api.main - INFO - STDERR: # destroy _stat +2024-11-30 17:05:42,313 - api.main - INFO - STDERR: # cleanup[3] wiping io +2024-11-30 17:05:42,313 - api.main - INFO - STDERR: # cleanup[3] wiping abc +2024-11-30 17:05:42,313 - api.main - INFO - STDERR: # cleanup[3] wiping _abc +2024-11-30 17:05:42,313 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.latin_1 +2024-11-30 17:05:42,313 - api.main - INFO - STDERR: # cleanup[3] wiping _signal +2024-11-30 17:05:42,313 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.cp1252 +2024-11-30 17:05:42,313 - api.main - INFO - STDERR: # cleanup[3] wiping encodings.utf_8 +2024-11-30 17:05:42,313 - api.main - INFO - STDERR: # cleanup[3] wiping encodings +2024-11-30 17:05:42,313 - api.main - INFO - STDERR: # destroy encodings.aliases +2024-11-30 17:05:42,313 - api.main - INFO - STDERR: # destroy encodings.utf_8 +2024-11-30 17:05:42,313 - api.main - INFO - STDERR: # destroy encodings.cp1252 +2024-11-30 17:05:42,313 - api.main - INFO - STDERR: # destroy encodings.latin_1 +2024-11-30 17:05:42,314 - api.main - INFO - STDERR: # destroy encodings.idna +2024-11-30 17:05:42,314 - api.main - INFO - STDERR: # destroy encodings.unicode_escape +2024-11-30 17:05:42,314 - api.main - INFO - STDERR: # cleanup[3] wiping codecs +2024-11-30 17:05:42,314 - api.main - INFO - STDERR: # cleanup[3] wiping _codecs +2024-11-30 17:05:42,314 - api.main - INFO - STDERR: # cleanup[3] wiping zipimport +2024-11-30 17:05:42,314 - api.main - INFO - STDERR: # destroy _frozen_importlib_external +2024-11-30 17:05:42,315 - api.main - INFO - STDERR: # cleanup[3] wiping time +2024-11-30 17:05:42,315 - api.main - INFO - STDERR: # cleanup[3] wiping winreg +2024-11-30 17:05:42,315 - api.main - INFO - STDERR: # cleanup[3] wiping nt +2024-11-30 17:05:42,315 - api.main - INFO - STDERR: # cleanup[3] wiping marshal +2024-11-30 17:05:42,315 - api.main - INFO - STDERR: # cleanup[3] wiping _io +2024-11-30 17:05:42,315 - api.main - INFO - STDERR: # cleanup[3] wiping _weakref +2024-11-30 17:05:42,315 - api.main - INFO - STDERR: # cleanup[3] wiping _warnings +2024-11-30 17:05:42,315 - api.main - INFO - STDERR: # cleanup[3] wiping _thread +2024-11-30 17:05:42,315 - api.main - INFO - STDERR: # cleanup[3] wiping _imp +2024-11-30 17:05:42,315 - api.main - INFO - STDERR: # cleanup[3] wiping _frozen_importlib +2024-11-30 17:05:42,315 - api.main - INFO - STDERR: # cleanup[3] wiping sys +2024-11-30 17:05:42,315 - api.main - INFO - STDERR: # cleanup[3] wiping builtins +2024-11-30 17:05:42,315 - api.main - INFO - STDERR: # destroy pyexpat.errors +2024-11-30 17:05:42,316 - api.main - INFO - STDERR: # destroy pyexpat.model +2024-11-30 17:05:42,316 - api.main - INFO - STDERR: # destroy gc +2024-11-30 17:05:42,316 - api.main - INFO - STDERR: # destroy wrapt._wrappers +2024-11-30 17:05:42,316 - api.main - INFO - STDERR: # destroy _asyncio +2024-11-30 17:05:42,316 - api.main - INFO - STDERR: # destroy PIL._imaging +2024-11-30 17:05:42,316 - api.main - INFO - STDERR: # destroy _multibytecodec +2024-11-30 17:05:42,316 - api.main - INFO - STDERR: # destroy charset_normalizer.md__mypyc +2024-11-30 17:05:42,316 - api.main - INFO - STDERR: # destroy _queue +2024-11-30 17:05:42,326 - api.main - INFO - STDERR: # destroy _ssl +2024-11-30 17:05:42,326 - api.main - INFO - STDERR: # destroy pyexpat +2024-11-30 17:05:42,326 - api.main - INFO - STDERR: # destroy _lzma +2024-11-30 17:05:42,326 - api.main - INFO - STDERR: # destroy _blake2 +2024-11-30 17:05:42,326 - api.main - INFO - STDERR: # destroy _datetime +2024-11-30 17:05:42,326 - api.main - INFO - STDERR: # destroy _sha512 +2024-11-30 17:05:42,326 - api.main - INFO - STDERR: # destroy _random +2024-11-30 17:05:42,326 - api.main - INFO - STDERR: # destroy _bisect +2024-11-30 17:05:42,326 - api.main - INFO - STDERR: # destroy _string +2024-11-30 17:05:42,326 - api.main - INFO - STDERR: # destroy winreg +2024-11-30 17:05:42,327 - api.main - INFO - STDERR: # destroy marshal +2024-11-30 17:05:42,327 - api.main - INFO - STDERR: # destroy _sre +2024-11-30 17:05:42,327 - api.main - INFO - STDERR: # destroy sre_parse +2024-11-30 17:05:42,327 - api.main - INFO - STDERR: # destroy charset_normalizer.md +2024-11-30 17:05:42,327 - api.main - INFO - STDERR: # destroy concurrent +2024-11-30 17:05:42,327 - api.main - INFO - STDERR: # destroy asyncio.sslproto +2024-11-30 17:05:42,327 - api.main - INFO - STDERR: # destroy asyncio.staggered +2024-11-30 17:05:42,327 - api.main - INFO - STDERR: # destroy asyncio.transports +2024-11-30 17:05:42,327 - api.main - INFO - STDERR: # destroy asyncio.trsock +2024-11-30 17:05:42,327 - api.main - INFO - STDERR: # destroy reprlib +2024-11-30 17:05:42,327 - api.main - INFO - STDERR: # destroy asyncio.constants +2024-11-30 17:05:42,327 - api.main - INFO - STDERR: # destroy linecache +2024-11-30 17:05:42,327 - api.main - INFO - STDERR: # destroy asyncio.base_futures +2024-11-30 17:05:42,327 - api.main - INFO - STDERR: # destroy asyncio.coroutines +2024-11-30 17:05:42,327 - api.main - INFO - STDERR: # destroy heapq +2024-11-30 17:05:42,328 - api.main - INFO - STDERR: # destroy asyncio.locks +2024-11-30 17:05:42,328 - api.main - INFO - STDERR: # destroy asyncio.protocols +2024-11-30 17:05:42,328 - api.main - INFO - STDERR: # destroy asyncio.streams +2024-11-30 17:05:42,328 - api.main - INFO - STDERR: # destroy contextvars +2024-11-30 17:05:42,328 - api.main - INFO - STDERR: # destroy _overlapped +2024-11-30 17:05:42,328 - api.main - INFO - STDERR: # destroy asyncio.events +2024-11-30 17:05:42,328 - api.main - INFO - STDERR: # destroy asyncio.base_subprocess +2024-11-30 17:05:42,328 - api.main - INFO - STDERR: # destroy asyncio.futures +2024-11-30 17:05:42,329 - api.main - INFO - STDERR: # destroy asyncio.exceptions +2024-11-30 17:05:42,329 - api.main - INFO - STDERR: # destroy asyncio.proactor_events +2024-11-30 17:05:42,329 - api.main - INFO - STDERR: # destroy asyncio.selector_events +2024-11-30 17:05:42,329 - api.main - INFO - STDERR: # destroy asyncio.tasks +2024-11-30 17:05:42,329 - api.main - INFO - STDERR: # destroy asyncio.windows_utils +2024-11-30 17:05:42,329 - api.main - INFO - STDERR: # destroy _compat_pickle +2024-11-30 17:05:42,329 - api.main - INFO - STDERR: # destroy _pickle +2024-11-30 17:05:42,329 - api.main - INFO - STDERR: # destroy _signal +2024-11-30 17:05:42,329 - api.main - INFO - STDERR: # destroy _opcode +2024-11-30 17:05:42,329 - api.main - INFO - STDERR: # destroy _winapi +2024-11-30 17:05:42,329 - api.main - INFO - STDERR: # destroy copyreg +2024-11-30 17:05:42,329 - api.main - INFO - STDERR: # destroy logzero.colors +2024-11-30 17:05:42,329 - api.main - INFO - STDERR: # destroy logzero.jsonlogger +2024-11-30 17:05:42,329 - api.main - INFO - STDERR: # destroy enum +2024-11-30 17:05:42,329 - api.main - INFO - STDERR: # destroy packaging.version +2024-11-30 17:05:42,329 - api.main - INFO - STDERR: # destroy whichcraft +2024-11-30 17:05:42,330 - api.main - INFO - STDERR: # destroy colorama.win32 +2024-11-30 17:05:42,330 - api.main - INFO - STDERR: # destroy emoji +2024-11-30 17:05:42,330 - api.main - INFO - STDERR: # destroy urllib3 +2024-11-30 17:05:42,330 - api.main - INFO - STDERR: # destroy _uuid +2024-11-30 17:05:42,330 - api.main - INFO - STDERR: # destroy xml +2024-11-30 17:05:42,338 - api.main - INFO - STDERR: # destroy xmltodict +2024-11-30 17:05:42,338 - api.main - INFO - STDERR: # destroy pprint +2024-11-30 17:05:42,338 - api.main - INFO - STDERR: # destroy json.scanner +2024-11-30 17:05:42,338 - api.main - INFO - STDERR: # destroy _json +2024-11-30 17:05:42,338 - api.main - INFO - STDERR: # destroy keyword +2024-11-30 17:05:42,338 - api.main - INFO - STDERR: # destroy wrapt +2024-11-30 17:05:42,339 - api.main - INFO - STDERR: # destroy random +2024-11-30 17:05:42,339 - api.main - INFO - STDERR: # destroy shlex +2024-11-30 17:05:42,339 - api.main - INFO - STDERR: # destroy filelock +2024-11-30 17:05:42,339 - api.main - INFO - STDERR: # destroy six +2024-11-30 17:05:42,339 - api.main - INFO - STDERR: # destroy abc +2024-11-30 17:05:42,339 - api.main - INFO - STDERR: # destroy tarfile +2024-11-30 17:05:42,339 - api.main - INFO - STDERR: # destroy adbutils +2024-11-30 17:05:42,339 - api.main - INFO - STDERR: # destroy progress +2024-11-30 17:05:42,339 - api.main - INFO - STDERR: # destroy uiautomator2 +2024-11-30 17:05:42,339 - api.main - INFO - STDERR: # destroy base64 +2024-11-30 17:05:42,339 - api.main - INFO - STDERR: # destroy html +2024-11-30 17:05:42,339 - api.main - INFO - STDERR: # destroy _imp +2024-11-30 17:05:42,339 - api.main - INFO - STDERR: # destroy ntpath +2024-11-30 17:05:42,339 - api.main - INFO - STDERR: # destroy plistlib +2024-11-30 17:05:42,340 - api.main - INFO - STDERR: # destroy posixpath +2024-11-30 17:05:42,340 - api.main - INFO - STDERR: # destroy zipimport +2024-11-30 17:05:42,340 - api.main - INFO - STDERR: # destroy nt +2024-11-30 17:05:42,340 - api.main - INFO - STDERR: # destroy packaging +2024-11-30 17:05:42,340 - api.main - INFO - STDERR: # destroy msvcrt +2024-11-30 17:05:42,340 - api.main - INFO - STDERR: # destroy _weakref +2024-11-30 17:05:42,340 - api.main - INFO - STDERR: # destroy requests.sessions +2024-11-30 17:05:42,341 - api.main - INFO - STDERR: # destroy six.moves.urllib_parse +2024-11-30 17:05:42,341 - api.main - INFO - STDERR: # destroy six.moves.urllib.error +2024-11-30 17:05:42,341 - api.main - INFO - STDERR: # destroy six.moves.urllib.request +2024-11-30 17:05:42,341 - api.main - INFO - STDERR: # destroy six.moves.urllib.response +2024-11-30 17:05:42,341 - api.main - INFO - STDERR: # destroy six.moves.urllib.robotparser +2024-11-30 17:05:42,341 - api.main - INFO - STDERR: # destroy emoji.unicode_codes +2024-11-30 17:05:42,341 - api.main - INFO - STDERR: # destroy _socket +2024-11-30 17:05:42,341 - api.main - INFO - STDERR: # destroy xml.dom.minidom +2024-11-30 17:05:42,341 - api.main - INFO - STDERR: # destroy apkutils2.axml.public +2024-11-30 17:05:42,342 - api.main - INFO - STDERR: # destroy pathlib +2024-11-30 17:05:42,342 - api.main - INFO - STDERR: # destroy apkutils2 +2024-11-30 17:05:42,342 - api.main - INFO - STDERR: # destroy requests +2024-11-30 17:05:42,342 - api.main - INFO - STDERR: # destroy PIL.Image +2024-11-30 17:05:42,342 - api.main - INFO - STDERR: # destroy calendar +2024-11-30 17:05:42,342 - api.main - INFO - STDERR: # destroy zipfile +2024-11-30 17:05:42,342 - api.main - INFO - STDERR: # destroy requests.certs +2024-11-30 17:05:42,342 - api.main - INFO - STDERR: # destroy hashlib +2024-11-30 17:05:42,342 - api.main - INFO - STDERR: # destroy charset_normalizer +2024-11-30 17:05:42,342 - api.main - INFO - STDERR: # destroy json +2024-11-30 17:05:42,343 - api.main - INFO - STDERR: # destroy asyncio +2024-11-30 17:05:42,343 - api.main - INFO - STDERR: # destroy datetime +2024-11-30 17:05:42,343 - api.main - INFO - STDERR: # destroy urllib3.util.connection +2024-11-30 17:05:42,343 - api.main - INFO - STDERR: # destroy email +2024-11-30 17:05:42,343 - api.main - INFO - STDERR: # destroy mimetypes +2024-11-30 17:05:42,343 - api.main - INFO - STDERR: # destroy codecs +2024-11-30 17:05:42,343 - api.main - INFO - STDERR: # destroy urllib3.util +2024-11-30 17:05:42,343 - api.main - INFO - STDERR: # destroy queue +2024-11-30 17:05:42,353 - api.main - INFO - STDERR: # destroy configargparse +2024-11-30 17:05:42,353 - api.main - INFO - STDERR: # destroy yaml +2024-11-30 17:05:42,353 - api.main - INFO - STDERR: # destroy textwrap +2024-11-30 17:05:42,353 - api.main - INFO - STDERR: # destroy platformdirs.api +2024-11-30 17:05:42,354 - api.main - INFO - STDERR: # destroy platformdirs.version +2024-11-30 17:05:42,354 - api.main - INFO - STDERR: # destroy platformdirs.windows +2024-11-30 17:05:42,354 - api.main - INFO - STDERR: # destroy xml.sax.handler +2024-11-30 17:05:42,354 - api.main - INFO - STDERR: # destroy atexit +2024-11-30 17:05:42,354 - api.main - INFO - STDERR: # destroy weakref +2024-11-30 17:05:42,354 - api.main - INFO - STDERR: # destroy _thread +2024-11-30 17:05:42,354 - api.main - INFO - STDERR: # destroy errno +2024-11-30 17:05:42,355 - api.main - INFO - STDERR: # destroy select +2024-11-30 17:05:42,355 - api.main - INFO - STDERR: # destroy socket +2024-11-30 17:05:42,355 - api.main - INFO - STDERR: # destroy hmac +2024-11-30 17:05:42,355 - api.main - INFO - STDERR: # destroy urllib3.packages.six +2024-11-30 17:05:42,356 - api.main - INFO - STDERR: # destroy _hashlib +2024-11-30 17:05:42,356 - api.main - INFO - STDERR: # destroy ssl +2024-11-30 17:05:42,356 - api.main - INFO - STDERR: # destroy string +2024-11-30 17:05:42,356 - api.main - INFO - STDERR: # destroy copy +2024-11-30 17:05:42,356 - api.main - INFO - STDERR: # destroy traceback +2024-11-30 17:05:42,356 - api.main - INFO - STDERR: # destroy more_itertools +2024-11-30 17:05:42,356 - api.main - INFO - STDERR: # destroy tempfile +2024-11-30 17:05:42,357 - api.main - INFO - STDERR: # destroy urllib +2024-11-30 17:05:42,357 - api.main - INFO - STDERR: # destroy backports.tarfile +2024-11-30 17:05:42,357 - api.main - INFO - STDERR: # destroy _warnings +2024-11-30 17:05:42,357 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib_parse +2024-11-30 17:05:42,357 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib.error +2024-11-30 17:05:42,357 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib.request +2024-11-30 17:05:42,357 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib.response +2024-11-30 17:05:42,358 - api.main - INFO - STDERR: # destroy urllib3.packages.six.moves.urllib.robotparser +2024-11-30 17:05:42,358 - api.main - INFO - STDERR: # destroy stat +2024-11-30 17:05:42,358 - api.main - INFO - STDERR: # destroy threading +2024-11-30 17:05:42,358 - api.main - INFO - STDERR: # destroy zlib +2024-11-30 17:05:42,359 - api.main - INFO - STDERR: # destroy bz2 +2024-11-30 17:05:42,359 - api.main - INFO - STDERR: # destroy lzma +2024-11-30 17:05:42,359 - api.main - INFO - STDERR: # destroy distutils.compat.py38 +2024-11-30 17:05:42,359 - api.main - INFO - STDERR: # destroy distutils.compat.py39 +2024-11-30 17:05:42,359 - api.main - INFO - STDERR: # destroy platform +2024-11-30 17:05:42,359 - api.main - INFO - STDERR: # destroy shutil +2024-11-30 17:05:42,359 - api.main - INFO - STDERR: # destroy subprocess +2024-11-30 17:05:42,360 - api.main - INFO - STDERR: # destroy distutils._modified +2024-11-30 17:05:42,360 - api.main - INFO - STDERR: # destroy distutils.archive_util +2024-11-30 17:05:42,360 - api.main - INFO - STDERR: # destroy distutils.dir_util +2024-11-30 17:05:42,360 - api.main - INFO - STDERR: # destroy distutils.file_util +2024-11-30 17:05:42,360 - api.main - INFO - STDERR: # destroy distutils.util +2024-11-30 17:05:42,360 - api.main - INFO - STDERR: # destroy importlib +2024-11-30 17:05:42,360 - api.main - INFO - STDERR: # destroy http.client +2024-11-30 17:05:42,360 - api.main - INFO - STDERR: # destroy http.cookiejar +2024-11-30 17:05:42,360 - api.main - INFO - STDERR: # destroy http.cookies +2024-11-30 17:05:42,360 - api.main - INFO - STDERR: # destroy bisect +2024-11-30 17:05:42,361 - api.main - INFO - STDERR: # destroy unicodedata +2024-11-30 17:05:42,361 - api.main - INFO - STDERR: # destroy idna.idnadata +2024-11-30 17:05:42,376 - api.main - INFO - STDERR: # destroy encodings +2024-11-30 17:05:42,376 - api.main - INFO - STDERR: # destroy _collections_abc +2024-11-30 17:05:42,376 - api.main - INFO - STDERR: # destroy _locale +2024-11-30 17:05:42,377 - api.main - INFO - STDERR: # destroy contextlib +2024-11-30 17:05:42,377 - api.main - INFO - STDERR: # destroy fnmatch +2024-11-30 17:05:42,377 - api.main - INFO - STDERR: # destroy inspect +2024-11-30 17:05:42,377 - api.main - INFO - STDERR: # destroy pkgutil +2024-11-30 17:05:42,377 - api.main - INFO - STDERR: # destroy collections +2024-11-30 17:05:42,377 - api.main - INFO - STDERR: # destroy struct +2024-11-30 17:05:42,377 - api.main - INFO - STDERR: # destroy apkutils2.dex.dalvikformats +2024-11-30 17:05:42,377 - api.main - INFO - STDERR: # destroy apkutils2.dex.util +2024-11-30 17:05:42,377 - api.main - INFO - STDERR: # destroy array +2024-11-30 17:05:42,377 - api.main - INFO - STDERR: # destroy binascii +2024-11-30 17:05:42,378 - api.main - INFO - STDERR: # destroy setuptools._distutils +2024-11-30 17:05:42,378 - api.main - INFO - STDERR: # destroy operator +2024-11-30 17:05:42,378 - api.main - INFO - STDERR: # destroy warnings +2024-11-30 17:05:42,378 - api.main - INFO - STDERR: # destroy collections.abc +2024-11-30 17:05:42,378 - api.main - INFO - STDERR: # destroy _functools +2024-11-30 17:05:42,378 - api.main - INFO - STDERR: # destroy _heapq +2024-11-30 17:05:42,378 - api.main - INFO - STDERR: # destroy itertools +2024-11-30 17:05:42,378 - api.main - INFO - STDERR: # destroy math +2024-11-30 17:05:42,378 - api.main - INFO - STDERR: # destroy _operator +2024-11-30 17:05:42,379 - api.main - INFO - STDERR: # destroy time +2024-11-30 17:05:42,379 - api.main - INFO - STDERR: # destroy _frozen_importlib +2024-11-30 17:05:42,379 - api.main - INFO - STDERR: # clear sys.audit hooks +2024-11-30 17:08:40,787 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:08:40,802 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:08:40,802 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:08:40,832 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:08:40,833 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:08:40,849 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:08:41,785 - api.main - INFO - API startup complete +2024-11-30 17:08:41,794 - api.main - INFO - API startup complete +2024-11-30 17:08:41,795 - api.main - INFO - API startup complete +2024-11-30 17:08:41,825 - api.main - INFO - API startup complete +2024-11-30 17:08:41,868 - api.main - INFO - API startup complete +2024-11-30 17:08:42,037 - api.main - INFO - API startup complete +2024-11-30 17:08:59,664 - api.main - INFO - API startup complete +2024-11-30 17:09:19,154 - api.main - INFO - Added item to array blogger-followers for account quecreate +2024-11-30 17:10:33,635 - api.main - INFO - Added item to array blogger-followers for account quecreate +2024-11-30 17:12:27,570 - api.main - INFO - Added item to array blogger-followers for account quecreate +2024-11-30 17:13:16,899 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:13:16,914 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:13:16,915 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:13:16,930 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:13:16,945 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:13:16,975 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:13:16,991 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:13:17,919 - api.main - INFO - API startup complete +2024-11-30 17:13:17,943 - api.main - INFO - API startup complete +2024-11-30 17:13:18,139 - api.main - INFO - API startup complete +2024-11-30 17:13:18,183 - api.main - INFO - API startup complete +2024-11-30 17:13:18,194 - api.main - INFO - API startup complete +2024-11-30 17:13:18,218 - api.main - INFO - API startup complete +2024-11-30 17:13:18,417 - api.main - INFO - API startup complete +2024-11-30 17:13:25,772 - api.main - INFO - API startup complete +2024-11-30 17:13:34,626 - api.main - INFO - Added item to array blogger-followers for account quecreate +2024-11-30 17:13:50,215 - api.main - INFO - Added configuration entry speed-multiplier for account quecreate +2024-11-30 17:14:33,160 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:14:33,175 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:14:33,191 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:14:33,206 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:14:33,251 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:14:33,252 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:14:34,121 - api.main - INFO - API startup complete +2024-11-30 17:14:34,197 - api.main - INFO - API startup complete +2024-11-30 17:14:34,200 - api.main - INFO - API startup complete +2024-11-30 17:14:34,355 - api.main - INFO - API startup complete +2024-11-30 17:14:34,388 - api.main - INFO - API startup complete +2024-11-30 17:14:34,572 - api.main - INFO - API startup complete +2024-11-30 17:14:34,630 - api.main - INFO - API startup complete +2024-11-30 17:14:34,695 - api.main - INFO - API startup complete +2024-11-30 17:14:42,945 - api.main - INFO - API startup complete +2024-11-30 17:14:57,947 - api.main - INFO - Removed item from array blogger-followers for account quecreate +2024-11-30 17:17:40,771 - api.main - INFO - API startup complete +2024-11-30 17:17:53,571 - api.main - INFO - Added item to array blogger-followers for account quecreate +2024-11-30 17:19:35,014 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:19:36,016 - api.main - INFO - API startup complete +2024-11-30 17:19:54,319 - api.main - INFO - API startup complete +2024-11-30 17:21:15,069 - api.main - INFO - Added item to array blogger-followers for account quecreate +2024-11-30 17:23:29,231 - api.main - INFO - Added item to array blogger-followers for account quecreate +2024-11-30 17:24:03,470 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:24:03,470 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:24:04,459 - api.main - INFO - API startup complete +2024-11-30 17:24:04,482 - api.main - INFO - API startup complete +2024-11-30 17:24:12,569 - api.main - INFO - API startup complete +2024-11-30 17:24:45,589 - api.main - INFO - Added configuration entry speed-multiplier for account quecreate +2024-11-30 17:25:01,530 - api.main - INFO - Added item to array blogger-followers for account quecreate +2024-11-30 17:26:30,453 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:26:30,453 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:26:30,498 - api.main - INFO - All tasks cleaned up. +2024-11-30 17:26:31,594 - api.main - INFO - API startup complete +2024-11-30 17:26:31,632 - api.main - INFO - API startup complete +2024-11-30 17:26:31,641 - api.main - INFO - API startup complete +2024-11-30 17:27:14,291 - api.main - INFO - API startup complete +2024-11-30 17:27:24,458 - api.main - INFO - Removed item from array blogger-followers for account quecreate +2024-11-30 17:28:26,304 - api.main - INFO - Removed item from array blogger-followers for account quecreate +2024-11-30 17:28:34,467 - api.main - INFO - Removed item from array blogger-followers for account quecreate +2024-11-30 17:32:00,693 - api.main - INFO - Added configuration entry working-hours for account quecreate +2024-11-30 17:32:52,493 - api.main - INFO - Added configuration entry working-hours for account quecreate +2024-11-30 17:33:20,606 - api.main - INFO - Added configuration entry time-delta for account quecreate +2024-11-30 17:34:02,125 - api.main - INFO - Added configuration entry repeat for account quecreate +2024-11-30 17:35:24,505 - api.main - INFO - Added configuration entry total-sessions for account quecreate +2024-11-30 17:36:34,744 - api.main - INFO - Added configuration entry working-hours for account quecreate +2024-11-30 17:36:43,621 - api.main - INFO - Added configuration entry time-delta for account quecreate diff --git a/logs/d4110401-14a5-490d-97aa-4dff3088320c.log b/logs/d4110401-14a5-490d-97aa-4dff3088320c.log new file mode 100644 index 00000000..d176c941 --- /dev/null +++ b/logs/d4110401-14a5-490d-97aa-4dff3088320c.log @@ -0,0 +1,26 @@ +[11/28 12:20:00] DEBUG | Initial log file: logs/d4110401-14a5-490d-97aa-4dff3088320c.log (log.py:100) +[11/28 12:20:00] INFO | It's strongly recommend to use a config.yml file. Follow these links for more details: https://docs.gramaddict.org/#/configuration and https://github.com/GramAddict/bot/tree/master/config-examples (bot_flow.py:64) +[11/28 12:20:03] DEBUG | Installed via git, config-examples is in the local folder. (utils.py:139) +[11/28 12:20:03] INFO | Checking for updates... (utils.py:64) +[11/28 12:20:03] INFO | Bot is updated. (utils.py:78) +[11/28 12:20:03] INFO | GramAddict v.3.2.12 (utils.py:81) +[11/28 12:20:03] INFO | Loading plugins . . . (plugin_loader.py:30) +[11/28 12:20:03] INFO | - ActionUnfollowFollowers: Handles the functionality of unfollowing your followers (plugin_loader.py:45) +[11/28 12:20:03] INFO | - ClonedApp: Adds support for cloned apps (plugin_loader.py:45) +[11/28 12:20:03] INFO | - CoreArguments: Simply adds core arguments (plugin_loader.py:45) +[11/28 12:20:03] INFO | - DataAnalytics: Generates a PDF analytics report of current username session data (plugin_loader.py:45) +[11/28 12:20:03] INFO | - DBInitPlugin: Initialize NocoDB tables at session start (plugin_loader.py:45) +[11/28 12:20:03] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger (plugin_loader.py:45) +[11/28 12:20:03] INFO | - InteractBloggerFollowers_Following: Handles the functionality of interacting with a bloggers followers/following (plugin_loader.py:45) +[11/28 12:20:03] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger post likers (plugin_loader.py:45) +[11/28 12:20:03] INFO | - InteractOwnFeed: Handles the functionality of interacting with your own feed (plugin_loader.py:45) +[11/28 12:20:03] INFO | - InteractHashtagLikers: Handles the functionality of interacting with a hashtags likers (plugin_loader.py:45) +[11/28 12:20:03] INFO | - InteractHashtagPosts: Handles the functionality of interacting with a hashtags post owners (plugin_loader.py:45) +[11/28 12:20:03] INFO | - InteractPlaceLikers: Handles the functionality of interacting with a places likers (plugin_loader.py:45) +[11/28 12:20:03] INFO | - InteractPlacePosts: Handles the functionality of interacting with a places post owners (plugin_loader.py:45) +[11/28 12:20:03] INFO | - LikeFromURLs: Likes a post from url. The urls are read from a plaintext file (plugin_loader.py:45) +[11/28 12:20:03] INFO | - NocoDBRecordCreationTest: Test plugin specifically for verifying NocoDB record creation functionality (plugin_loader.py:45) +[11/28 12:20:03] INFO | - NocoDBStorage: Store interaction data in NocoDB (plugin_loader.py:45) +[11/28 12:20:03] INFO | - RemoveFollowersFromList: Remove account followers from a list of usernames (plugin_loader.py:45) +[11/28 12:20:03] INFO | - TelegramReports: Generate reports at the end of the session and send them using telegram (plugin_loader.py:45) +[11/28 12:20:03] DEBUG | Arguments used: (config.py:160) diff --git a/logs/nocodb_operations.log b/logs/nocodb_operations.log new file mode 100644 index 00000000..515ce968 --- /dev/null +++ b/logs/nocodb_operations.log @@ -0,0 +1,35 @@ +2024-11-30 17:37:03,174 - nocodb_operations - DEBUG - NocoDB logger initialized +2024-11-30 17:37:24,861 - nocodb_operations - INFO - Initializing NocoDB storage... +2024-11-30 17:37:24,861 - nocodb_operations - INFO - Loading NocoDB configuration... +2024-11-30 17:37:24,861 - nocodb_operations - DEBUG - Looking for config at: E:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\nocodb.yml +2024-11-30 17:37:24,870 - nocodb_operations - INFO - Testing NocoDB connection... +2024-11-30 17:37:24,871 - nocodb_operations - DEBUG - NocoDB: Making GET request to http://192.168.50.114:8080/api/v1/health +2024-11-30 17:37:24,891 - nocodb_operations - INFO - Verifying project pvazjom12m1ho5k... +2024-11-30 17:37:24,891 - nocodb_operations - DEBUG - NocoDB: Making GET request to http://192.168.50.114:8080/api/v1/db/meta/projects/pvazjom12m1ho5k +2024-11-30 17:37:24,906 - nocodb_operations - INFO - NocoDB connection successful! +2024-11-30 17:37:24,906 - nocodb_operations - INFO - Initializing tables... +2024-11-30 17:37:24,907 - nocodb_operations - INFO - NocoDB: Initializing tables... +2024-11-30 17:37:24,907 - nocodb_operations - DEBUG - NocoDB: Checking project pvazjom12m1ho5k +2024-11-30 17:37:24,907 - nocodb_operations - DEBUG - NocoDB: Making GET request to http://192.168.50.114:8080/api/v1/db/meta/projects/pvazjom12m1ho5k +2024-11-30 17:37:24,937 - nocodb_operations - INFO - NocoDB: Project pvazjom12m1ho5k exists +2024-11-30 17:37:24,937 - nocodb_operations - DEBUG - NocoDB: Getting existing tables +2024-11-30 17:37:24,937 - nocodb_operations - DEBUG - NocoDB: Making GET request to http://192.168.50.114:8080/api/v1/db/meta/projects/pvazjom12m1ho5k/tables +2024-11-30 17:37:24,951 - nocodb_operations - DEBUG - NocoDB: Found existing tables: ['interacted users', 'history filters users'] +2024-11-30 17:37:24,952 - nocodb_operations - DEBUG - NocoDB: Checking table Interacted Users +2024-11-30 17:37:24,952 - nocodb_operations - INFO - NocoDB: Table Interacted Users already exists +2024-11-30 17:37:24,952 - nocodb_operations - DEBUG - NocoDB: Checking table History Filters Users +2024-11-30 17:37:24,952 - nocodb_operations - INFO - NocoDB: Table History Filters Users already exists +2024-11-30 17:37:24,953 - nocodb_operations - INFO - NocoDB: Tables initialized successfully +2024-11-30 17:37:24,954 - nocodb_operations - INFO - NocoDB storage initialized successfully! +2024-11-30 17:37:25,691 - nocodb_operations - INFO - NocoDB: Initializing tables... +2024-11-30 17:37:25,693 - nocodb_operations - DEBUG - NocoDB: Checking project pvazjom12m1ho5k +2024-11-30 17:37:25,693 - nocodb_operations - DEBUG - NocoDB: Making GET request to http://192.168.50.114:8080/api/v1/db/meta/projects/pvazjom12m1ho5k +2024-11-30 17:37:25,716 - nocodb_operations - INFO - NocoDB: Project pvazjom12m1ho5k exists +2024-11-30 17:37:25,717 - nocodb_operations - DEBUG - NocoDB: Getting existing tables +2024-11-30 17:37:25,717 - nocodb_operations - DEBUG - NocoDB: Making GET request to http://192.168.50.114:8080/api/v1/db/meta/projects/pvazjom12m1ho5k/tables +2024-11-30 17:37:25,745 - nocodb_operations - DEBUG - NocoDB: Found existing tables: ['interacted users', 'history filters users'] +2024-11-30 17:37:25,745 - nocodb_operations - DEBUG - NocoDB: Checking table Interacted Users +2024-11-30 17:37:25,745 - nocodb_operations - INFO - NocoDB: Table Interacted Users already exists +2024-11-30 17:37:25,747 - nocodb_operations - DEBUG - NocoDB: Checking table History Filters Users +2024-11-30 17:37:25,747 - nocodb_operations - INFO - NocoDB: Table History Filters Users already exists +2024-11-30 17:37:25,747 - nocodb_operations - INFO - NocoDB: Tables initialized successfully diff --git a/logs/quecreate.log b/logs/quecreate.log new file mode 100644 index 00000000..aa19b2b2 --- /dev/null +++ b/logs/quecreate.log @@ -0,0 +1,3660 @@ +STDERR: import _frozen_importlib # frozen +STDERR: import _imp # builtin +STDERR: import '_thread' # +STDERR: import '_warnings' # +STDERR: import '_weakref' # +STDERR: import '_io' # +STDERR: import 'marshal' # +STDERR: import 'nt' # +STDERR: import 'winreg' # +STDERR: import '_frozen_importlib_external' # +STDERR: # installing zipimport hook +STDERR: import 'time' # +STDERR: import 'zipimport' # +STDERR: # installed zipimport hook +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__init__.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\codecs.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\codecs.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\codecs.cpython-39.pyc' +STDERR: import '_codecs' # +STDERR: import 'codecs' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC0A5940> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\aliases.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\aliases.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\aliases.cpython-39.pyc' +STDERR: import 'encodings.aliases' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC214EB0> +STDERR: import 'encodings' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC0A5730> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\utf_8.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\utf_8.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\utf_8.cpython-39.pyc' +STDERR: import 'encodings.utf_8' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC0A5790> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\cp1252.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\cp1252.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\cp1252.cpython-39.pyc' +STDERR: import 'encodings.cp1252' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC214FA0> +STDERR: import '_signal' # +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\latin_1.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\latin_1.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\latin_1.cpython-39.pyc' +STDERR: import 'encodings.latin_1' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC22C340> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\io.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\io.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\io.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\abc.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\abc.cpython-39.pyc' +STDERR: import '_abc' # +STDERR: import 'abc' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC22C7F0> +STDERR: import 'io' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC22C520> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\site.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\site.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\site.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\os.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\os.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\os.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\stat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\stat.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\stat.cpython-39.pyc' +STDERR: import '_stat' # +STDERR: import 'stat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC24FFA0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_collections_abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_collections_abc.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_collections_abc.cpython-39.pyc' +STDERR: import '_collections_abc' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC256130> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ntpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ntpath.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ntpath.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\genericpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\genericpath.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\genericpath.cpython-39.pyc' +STDERR: import 'genericpath' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC27F970> +STDERR: import 'ntpath' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC256A60> +STDERR: import 'os' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC2357C0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_sitebuiltins.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_sitebuiltins.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_sitebuiltins.cpython-39.pyc' +STDERR: import '_sitebuiltins' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC24F460> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_bootlocale.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_bootlocale.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_bootlocale.cpython-39.pyc' +STDERR: import '_locale' # +STDERR: import '_bootlocale' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC27FD90> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\_distutils_hack\\__pycache__\\__init__.cpython-39.pyc' +STDERR: import '_distutils_hack' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC295B80> +STDERR: import 'site' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC22C850> +STDERR: Python 3.9.10 (tags/v3.9.10:f2f3f53, Jan 17 2022, 15:14:21) [MSC v.1929 64 bit (AMD64)] on win32 +STDERR: Type "help", "copyright", "credits" or "license" for more information. +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\__init__.cpython-39.pyc' +STDERR: import 'GramAddict.core' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC2A45B0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\bot_flow.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\bot_flow.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\bot_flow.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__init__.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\logging\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\re.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\re.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\re.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\enum.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\enum.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\enum.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\types.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\types.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\types.cpython-39.pyc' +STDERR: import 'types' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC4E74C0> +STDERR: import 'enum' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC4CEFD0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_compile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_compile.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_compile.cpython-39.pyc' +STDERR: import '_sre' # +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_parse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_parse.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_parse.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sre_constants.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sre_constants.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sre_constants.cpython-39.pyc' +STDERR: import 'sre_constants' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC50B2E0> +STDERR: import 'sre_parse' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC4F98B0> +STDERR: import 'sre_compile' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC4E7FD0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\functools.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\functools.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\functools.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__init__.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\collections\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\heapq.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\heapq.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\heapq.cpython-39.pyc' +STDERR: import '_heapq' # +STDERR: import 'heapq' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC53EA60> +STDERR: import 'itertools' # +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\keyword.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\keyword.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\keyword.cpython-39.pyc' +STDERR: import 'keyword' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC53EFD0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\operator.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\operator.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\operator.cpython-39.pyc' +STDERR: import '_operator' # +STDERR: import 'operator' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC53EF10> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\reprlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\reprlib.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\reprlib.cpython-39.pyc' +STDERR: import 'reprlib' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC550160> +STDERR: import '_collections' # +STDERR: import 'collections' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC519EE0> +STDERR: import '_functools' # +STDERR: import 'functools' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC511790> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\copyreg.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\copyreg.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\copyreg.cpython-39.pyc' +STDERR: import 'copyreg' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC527730> +STDERR: import 're' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC4CE580> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\traceback.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\traceback.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\traceback.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\linecache.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\linecache.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\linecache.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tokenize.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tokenize.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tokenize.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\token.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\token.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\token.cpython-39.pyc' +STDERR: import 'token' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC553F40> +STDERR: import 'tokenize' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC553550> +STDERR: import 'linecache' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC550A90> +STDERR: import 'traceback' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC527340> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\warnings.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\warnings.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\warnings.cpython-39.pyc' +STDERR: import 'warnings' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC550910> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\weakref.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\weakref.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\weakref.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_weakrefset.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_weakrefset.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_weakrefset.cpython-39.pyc' +STDERR: import '_weakrefset' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC595D90> +STDERR: import 'weakref' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC559760> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\collections\abc.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\collections\\__pycache__\\abc.cpython-39.pyc' +STDERR: import 'collections.abc' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC59FA30> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\string.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\string.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\string.cpython-39.pyc' +STDERR: import '_string' # +STDERR: import 'string' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC59FB20> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\threading.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\threading.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\threading.cpython-39.pyc' +STDERR: import 'threading' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC5AA130> +STDERR: import 'atexit' # +STDERR: import 'logging' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC2A4190> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\random.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\random.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\random.cpython-39.pyc' +STDERR: import 'math' # +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\bisect.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\bisect.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\bisect.cpython-39.pyc' +STDERR: import '_bisect' # +STDERR: import 'bisect' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC5CCF40> +STDERR: import '_random' # +STDERR: import '_sha512' # +STDERR: import 'random' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC295130> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\datetime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\datetime.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\datetime.cpython-39.pyc' +STDERR: import '_datetime' # +STDERR: import 'datetime' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC5E4190> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\initialise.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\initialise.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\initialise.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\contextlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\contextlib.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\contextlib.cpython-39.pyc' +STDERR: import 'contextlib' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC60FBB0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\ansitowin32.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\ansitowin32.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\ansitowin32.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\ansi.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\ansi.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\ansi.cpython-39.pyc' +STDERR: import 'colorama.ansi' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC61F730> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\winterm.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\winterm.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\winterm.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\__pycache__\win32.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\colorama\win32.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\colorama\\__pycache__\\win32.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__init__.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # extension module '_ctypes' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ctypes.pyd' +STDERR: # extension module '_ctypes' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ctypes.pyd' +STDERR: import '_ctypes' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FC6407C0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\struct.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\struct.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\struct.cpython-39.pyc' +STDERR: import '_struct' # +STDERR: import 'struct' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC640CA0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\_endian.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\_endian.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\_endian.cpython-39.pyc' +STDERR: import 'ctypes._endian' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC652A00> +STDERR: import 'ctypes' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC634520> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\__pycache__\wintypes.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ctypes\wintypes.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\ctypes\\__pycache__\\wintypes.cpython-39.pyc' +STDERR: import 'ctypes.wintypes' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC634970> +STDERR: import 'colorama.win32' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC60F2E0> +STDERR: import 'colorama.winterm' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC61FD30> +STDERR: import 'colorama.ansitowin32' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC60FF10> +STDERR: import 'colorama.initialise' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC60F940> +STDERR: import 'colorama' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC5E4220> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\config.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\config.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\config.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\typing.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\typing.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\typing.cpython-39.pyc' +STDERR: import 'typing' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC652FA0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\configargparse.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\configargparse.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\configargparse.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\argparse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\argparse.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\argparse.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\gettext.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\gettext.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\gettext.cpython-39.pyc' +STDERR: import 'gettext' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC5E4AC0> +STDERR: import 'argparse' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE072FD0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__init__.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\decoder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\decoder.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\decoder.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\scanner.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\scanner.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\scanner.cpython-39.pyc' +STDERR: import '_json' # +STDERR: import 'json.scanner' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC5537C0> +STDERR: import 'json.decoder' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC5FE070> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\__pycache__\encoder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\json\encoder.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\json\\__pycache__\\encoder.cpython-39.pyc' +STDERR: import 'json.encoder' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC5FED60> +STDERR: import 'json' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC5F6C40> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\glob.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\glob.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\glob.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\fnmatch.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\fnmatch.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\fnmatch.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\posixpath.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\posixpath.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\posixpath.cpython-39.pyc' +STDERR: import 'posixpath' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0B2790> +STDERR: import 'fnmatch' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0B2430> +STDERR: import 'glob' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE08AC10> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\textwrap.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\textwrap.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\textwrap.cpython-39.pyc' +STDERR: import 'textwrap' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0B25E0> +STDERR: import 'configargparse' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC6728E0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\error.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\error.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\error.cpython-39.pyc' +STDERR: import 'yaml.error' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0C5D30> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\tokens.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\tokens.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\tokens.cpython-39.pyc' +STDERR: import 'yaml.tokens' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0C5EE0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\events.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\events.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\events.cpython-39.pyc' +STDERR: import 'yaml.events' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0CD1F0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\nodes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\nodes.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\nodes.cpython-39.pyc' +STDERR: import 'yaml.nodes' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0CDA00> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\loader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\loader.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\loader.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\reader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\reader.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\reader.cpython-39.pyc' +STDERR: import 'yaml.reader' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0DD370> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\scanner.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\scanner.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\scanner.cpython-39.pyc' +STDERR: import 'yaml.scanner' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0DD700> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\parser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\parser.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\parser.cpython-39.pyc' +STDERR: import 'yaml.parser' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0E6280> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\composer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\composer.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\composer.cpython-39.pyc' +STDERR: import 'yaml.composer' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0E6940> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\constructor.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\constructor.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\constructor.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\base64.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\base64.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\base64.cpython-39.pyc' +STDERR: import 'binascii' # +STDERR: import 'base64' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0FDBB0> +STDERR: import 'yaml.constructor' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0E6C10> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\resolver.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\resolver.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\resolver.cpython-39.pyc' +STDERR: import 'yaml.resolver' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0FD8B0> +STDERR: import 'yaml.loader' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0CDF40> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\dumper.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\dumper.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\dumper.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\emitter.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\emitter.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\emitter.cpython-39.pyc' +STDERR: import 'yaml.emitter' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE10CBB0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\serializer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\serializer.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\serializer.cpython-39.pyc' +STDERR: import 'yaml.serializer' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE1285B0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\representer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\representer.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\representer.cpython-39.pyc' +STDERR: import 'yaml.representer' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE128850> +STDERR: import 'yaml.dumper' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0DD160> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\__pycache__\cyaml.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\yaml\cyaml.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\__pycache__\\cyaml.cpython-39.pyc' +STDERR: # extension module 'yaml._yaml' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\_yaml.cp39-win_amd64.pyd' +STDERR: # extension module 'yaml._yaml' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\yaml\\_yaml.cp39-win_amd64.pyd' +STDERR: import 'yaml._yaml' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FE139460> +STDERR: import 'yaml.cyaml' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0CD340> +STDERR: import 'yaml' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE0B2F70> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\plugin_loader.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\plugin_loader.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\plugin_loader.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\inspect.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\inspect.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\inspect.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ast.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ast.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ast.cpython-39.pyc' +STDERR: import '_ast' # +STDERR: import 'ast' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE172AF0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\dis.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\dis.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\dis.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\opcode.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\opcode.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\opcode.cpython-39.pyc' +STDERR: import '_opcode' # +STDERR: import 'opcode' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE1B3E20> +STDERR: import 'dis' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE17C2E0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__init__.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\__init__.cpython-39.pyc' +STDERR: import 'importlib' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE1C6DF0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\machinery.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\machinery.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\machinery.cpython-39.pyc' +STDERR: import 'importlib.machinery' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE1C6C40> +STDERR: import 'inspect' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE139AF0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pkgutil.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pkgutil.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pkgutil.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\util.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\util.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\util.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\abc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\abc.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\abc.cpython-39.pyc' +STDERR: import 'importlib.abc' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE1E95E0> +STDERR: import 'importlib.util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE1D9640> +STDERR: import 'pkgutil' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE145B20> +STDERR: import 'GramAddict.core.plugin_loader' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE139190> +STDERR: import 'GramAddict.core.config' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC5E4250> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\device_facade.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\device_facade.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\device_facade.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\subprocess.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\subprocess.cpython-39.pyc' +STDERR: import 'errno' # +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\signal.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\signal.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\signal.cpython-39.pyc' +STDERR: import 'signal' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE216A30> +STDERR: import 'msvcrt' # +STDERR: import '_winapi' # +STDERR: import 'subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE209910> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\__future__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__future__.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\__future__.cpython-39.pyc' +STDERR: import '__future__' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE246E80> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\hashlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\hashlib.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\hashlib.cpython-39.pyc' +STDERR: # extension module '_hashlib' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_hashlib.pyd' +STDERR: # extension module '_hashlib' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_hashlib.pyd' +STDERR: import '_hashlib' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FE2549A0> +STDERR: import '_blake2' # +STDERR: import 'hashlib' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE254580> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\shutil.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\shutil.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\shutil.cpython-39.pyc' +STDERR: import 'zlib' # +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\bz2.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\bz2.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\bz2.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_compression.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_compression.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_compression.cpython-39.pyc' +STDERR: import '_compression' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE283370> +STDERR: # extension module '_bz2' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_bz2.pyd' +STDERR: # extension module '_bz2' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_bz2.pyd' +STDERR: import '_bz2' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FE2838B0> +STDERR: import 'bz2' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE271B20> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\lzma.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\lzma.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\lzma.cpython-39.pyc' +STDERR: # extension module '_lzma' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_lzma.pyd' +STDERR: # extension module '_lzma' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_lzma.pyd' +STDERR: import '_lzma' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FE283FA0> +STDERR: import 'lzma' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE2837F0> +STDERR: import 'shutil' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE254C70> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\__init__.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\__pycache__\\__init__.cpython-39.pyc' +STDERR: import 'xml' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE290940> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__init__.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\domreg.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\domreg.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\domreg.cpython-39.pyc' +STDERR: import 'xml.dom.domreg' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE290EE0> +STDERR: import 'xml.dom' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE271040> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\minidom.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\minidom.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\minidom.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\minicompat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\minicompat.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\minicompat.cpython-39.pyc' +STDERR: import 'xml.dom.minicompat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE2E64C0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\xmlbuilder.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\xmlbuilder.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\xmlbuilder.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\copy.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\copy.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\copy.cpython-39.pyc' +STDERR: import 'copy' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE2EECA0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\__pycache__\NodeFilter.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\dom\NodeFilter.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\dom\\__pycache__\\NodeFilter.cpython-39.pyc' +STDERR: import 'xml.dom.NodeFilter' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE2EEFD0> +STDERR: import 'xml.dom.xmlbuilder' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE2E6940> +STDERR: import 'xml.dom.minidom' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE254550> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pathlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pathlib.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pathlib.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__init__.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\__init__.cpython-39.pyc' +STDERR: import 'urllib' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE31AD00> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\parse.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\parse.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\parse.cpython-39.pyc' +STDERR: import 'urllib.parse' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE31AD30> +STDERR: import 'pathlib' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE2DC400> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\deprecation.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecation.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\deprecation.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\__about__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__about__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\__about__.cpython-39.pyc' +STDERR: import 'packaging.__about__' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE29F790> +STDERR: import 'packaging' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE29F520> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\version.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\version.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_structures.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_structures.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_structures.cpython-39.pyc' +STDERR: import 'packaging._structures' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE34D640> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_typing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_typing.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_typing.cpython-39.pyc' +STDERR: import 'packaging._typing' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE34DF10> +STDERR: import 'packaging.version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE29F5B0> +STDERR: import 'deprecation' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE29F100> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_adb.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_adb.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_adb.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\socket.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\socket.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\socket.cpython-39.pyc' +STDERR: # extension module '_socket' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_socket.pyd' +STDERR: # extension module '_socket' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_socket.pyd' +STDERR: import '_socket' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FE36AC40> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\selectors.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\selectors.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\selectors.cpython-39.pyc' +STDERR: # extension module 'select' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\select.pyd' +STDERR: # extension module 'select' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\select.pyd' +STDERR: import 'select' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FE37DE20> +STDERR: import 'selectors' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE36AD90> +STDERR: import 'socket' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE354F40> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_utils.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_utils.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\shlex.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\shlex.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\shlex.cpython-39.pyc' +STDERR: import 'shlex' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE383D00> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tempfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tempfile.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tempfile.cpython-39.pyc' +STDERR: import 'tempfile' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE38C280> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\zipfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\zipfile.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\zipfile.cpython-39.pyc' +STDERR: import 'zipfile' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE3B6640> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\whichcraft.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\whichcraft.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\whichcraft.cpython-39.pyc' +STDERR: import 'whichcraft' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE3C5D60> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\xmltodict.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\xmltodict.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\xmltodict.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__init__.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\parsers\\__pycache__\\__init__.cpython-39.pyc' +STDERR: import 'xml.parsers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE3E8790> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\__pycache__\expat.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\parsers\expat.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\parsers\\__pycache__\\expat.cpython-39.pyc' +STDERR: # extension module 'pyexpat' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\pyexpat.pyd' +STDERR: # extension module 'pyexpat' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\pyexpat.pyd' +STDERR: import 'pyexpat' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FE3E8AF0> +STDERR: import 'xml.parsers.expat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE3E8910> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__init__.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\xmlreader.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\xmlreader.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\xmlreader.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\handler.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\handler.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\handler.cpython-39.pyc' +STDERR: import 'xml.sax.handler' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE401B20> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\_exceptions.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\_exceptions.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\_exceptions.cpython-39.pyc' +STDERR: import 'xml.sax._exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE408520> +STDERR: import 'xml.sax.xmlreader' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE3E8F10> +STDERR: import 'xml.sax' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE3E8BB0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\__pycache__\saxutils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\xml\sax\saxutils.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\xml\\sax\\__pycache__\\saxutils.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\request.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\request.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\request.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__init__.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\__init__.cpython-39.pyc' +STDERR: import 'email' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE4525B0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__init__.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\__init__.cpython-39.pyc' +STDERR: import 'http' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE4528B0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\client.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\client.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\client.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\parser.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\parser.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\parser.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\feedparser.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\feedparser.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\feedparser.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\errors.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\errors.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\errors.cpython-39.pyc' +STDERR: import 'email.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE475A00> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_policybase.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_policybase.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_policybase.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\header.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\header.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\header.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\quoprimime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\quoprimime.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\quoprimime.cpython-39.pyc' +STDERR: import 'email.quoprimime' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE4936D0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\base64mime.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\base64mime.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\base64mime.cpython-39.pyc' +STDERR: import 'email.base64mime' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE493BB0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\charset.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\charset.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\charset.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\encoders.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\encoders.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\encoders.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\quopri.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\quopri.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\quopri.cpython-39.pyc' +STDERR: import 'quopri' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE4A3790> +STDERR: import 'email.encoders' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE4A33A0> +STDERR: import 'email.charset' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE493D90> +STDERR: import 'email.header' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE484E20> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\utils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\utils.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\utils.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_parseaddr.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_parseaddr.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_parseaddr.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\calendar.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\calendar.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\calendar.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\locale.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\locale.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\locale.cpython-39.pyc' +STDERR: import 'locale' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE4BDEB0> +STDERR: import 'calendar' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE4B56A0> +STDERR: import 'email._parseaddr' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE4A3F70> +STDERR: import 'email.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE4A31F0> +STDERR: import 'email._policybase' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE475AF0> +STDERR: import 'email.feedparser' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE475280> +STDERR: import 'email.parser' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE46EB80> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\message.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\message.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\message.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\uu.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\uu.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\uu.cpython-39.pyc' +STDERR: import 'uu' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE500A90> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\_encoded_words.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\_encoded_words.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\_encoded_words.cpython-39.pyc' +STDERR: import 'email._encoded_words' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE500CD0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\__pycache__\iterators.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\email\iterators.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\email\\__pycache__\\iterators.cpython-39.pyc' +STDERR: import 'email.iterators' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE50C190> +STDERR: import 'email.message' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE46EF40> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ssl.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ssl.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ssl.cpython-39.pyc' +STDERR: # extension module '_ssl' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ssl.pyd' +STDERR: # extension module '_ssl' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_ssl.pyd' +STDERR: import '_ssl' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FE525580> +STDERR: import 'ssl' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE50C460> +STDERR: import 'http.client' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE4529D0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\error.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\error.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\error.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\__pycache__\response.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\urllib\response.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\urllib\\__pycache__\\response.cpython-39.pyc' +STDERR: import 'urllib.response' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE57F460> +STDERR: import 'urllib.error' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE46E3A0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\nturl2path.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\nturl2path.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\nturl2path.cpython-39.pyc' +STDERR: import 'nturl2path' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE57FCD0> +STDERR: import 'urllib.request' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE4178B0> +STDERR: import 'xml.sax.saxutils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE3E8640> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\platform.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\platform.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\platform.cpython-39.pyc' +STDERR: import 'platform' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE4176D0> +STDERR: import 'xmltodict' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE3E8220> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\apkfile.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\apkfile.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\apkfile.cpython-39.pyc' +STDERR: import 'apkutils2.apkfile' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE3E8580> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\__init__.cpython-39.pyc' +STDERR: import 'apkutils2.axml' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE5989D0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\arscparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\arscparser.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\arscparser.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\chunk.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\chunk.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\chunk.cpython-39.pyc' +STDERR: import 'apkutils2.axml.chunk' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE5C3580> +STDERR: import 'apkutils2.axml.arscparser' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE5A3E80> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\axmlparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\axmlparser.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\axmlparser.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\__pycache__\public.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\axml\public.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\axml\\__pycache__\\public.cpython-39.pyc' +STDERR: import 'apkutils2.axml.public' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE9D2820> +STDERR: import 'apkutils2.axml.axmlparser' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE5B8A00> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\__init__.cpython-39.pyc' +STDERR: import 'apkutils2.dex' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE9D2910> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dexparser.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dexparser.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dexparser.cpython-39.pyc' +STDERR: import 'array' # +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\byteio.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\byteio.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\byteio.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\util.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\util.cpython-39.pyc' +STDERR: import 'apkutils2.dex.util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA26EE0> +STDERR: import 'apkutils2.dex.byteio' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA26550> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dalvik.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dalvik.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dalvik.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\__pycache__\dalvikformats.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\dex\dalvikformats.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\dex\\__pycache__\\dalvikformats.cpython-39.pyc' +STDERR: import 'apkutils2.dex.dalvikformats' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA31370> +STDERR: import 'apkutils2.dex.dalvik' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA26FD0> +STDERR: import 'apkutils2.dex.dexparser' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE9D2940> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\__pycache__\manifest.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\apkutils2\manifest.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\apkutils2\\__pycache__\\manifest.cpython-39.pyc' +STDERR: import 'apkutils2.manifest' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE9D2E20> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cigam\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cigam\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\cigam\\__pycache__\\__init__.cpython-39.pyc' +STDERR: import 'cigam' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA315E0> +STDERR: import 'apkutils2' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE3D9B80> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pkg_resources\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pkg_resources\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pkg_resources\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\plistlib.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\plistlib.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\plistlib.cpython-39.pyc' +STDERR: import 'plistlib' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA756D0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\markers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\markers.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\markers.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\util.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\util.cpython-39.pyc' +STDERR: import 'pyparsing.util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA8CC70> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\exceptions.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\exceptions.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\unicode.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\unicode.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\unicode.cpython-39.pyc' +STDERR: import 'pyparsing.unicode' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA9D910> +STDERR: import 'pyparsing.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA97D00> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\actions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\actions.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\actions.cpython-39.pyc' +STDERR: import 'pyparsing.actions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA9D4F0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\core.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\core.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\results.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\results.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\results.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pprint.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pprint.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pprint.cpython-39.pyc' +STDERR: import 'pprint' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEB2C8E0> +STDERR: import 'pyparsing.results' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEB20820> +STDERR: import 'pyparsing.core' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEABB2E0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\helpers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\helpers.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\helpers.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__init__.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\html\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\__pycache__\entities.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\html\entities.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\html\\__pycache__\\entities.cpython-39.pyc' +STDERR: import 'html.entities' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEC1EC10> +STDERR: import 'html' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEC1E970> +STDERR: import 'pyparsing.helpers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEABBF10> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\testing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\testing.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\testing.cpython-39.pyc' +STDERR: import 'pyparsing.testing' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FECB1EB0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\__pycache__\common.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\pyparsing\common.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\pyparsing\\__pycache__\\common.cpython-39.pyc' +STDERR: import 'pyparsing.common' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FECDE4C0> +STDERR: import 'pyparsing' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA8C6D0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\_compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\_compat.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\_compat.cpython-39.pyc' +STDERR: import 'packaging._compat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA8CEE0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\specifiers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\specifiers.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\specifiers.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\utils.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\utils.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\tags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\tags.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\tags.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\__pycache__\override.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\_distutils_hack\override.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\_distutils_hack\\__pycache__\\override.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\__init__.cpython-39.pyc' +STDERR: import 'setuptools._distutils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED314C0> +STDERR: import 'distutils' # <_distutils_hack.DistutilsMetaFinder.spec_for_distutils..DistutilsLoader object at 0x00000275FED312B0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\core.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\core.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\cmd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\cmd.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\cmd.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\_modified.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\_modified.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\_modified.cpython-39.pyc' +STDERR: # possible namespace for e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco +STDERR: import 'jaraco' # <_frozen_importlib_external._NamespaceLoader object at 0x00000275FED467C0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\functools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\functools\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\functools\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\more.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\more.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\more.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\queue.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\queue.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\queue.cpython-39.pyc' +STDERR: # extension module '_queue' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_queue.pyd' +STDERR: # extension module '_queue' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_queue.pyd' +STDERR: import '_queue' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FED7A9D0> +STDERR: import 'queue' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED6FD00> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\__pycache__\recipes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\more_itertools\recipes.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\more_itertools\\__pycache__\\recipes.cpython-39.pyc' +STDERR: import 'more_itertools.recipes' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED7A940> +STDERR: import 'more_itertools.more' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED4DBE0> +STDERR: import 'more_itertools' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED4D940> +STDERR: import 'jaraco.functools' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED469D0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\py38.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\py38.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\py38.cpython-39.pyc' +STDERR: import 'distutils.compat.py38' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEDA8370> +STDERR: import 'distutils.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED87FD0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\__pycache__\py39.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\compat\py39.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\compat\\__pycache__\\py39.cpython-39.pyc' +STDERR: import 'distutils.compat.py39' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED65DF0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\errors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\errors.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\errors.cpython-39.pyc' +STDERR: import 'distutils.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEDA84F0> +STDERR: import 'distutils._modified' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED46370> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\archive_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\archive_util.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\archive_util.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\_log.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\_log.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\_log.cpython-39.pyc' +STDERR: import 'distutils._log' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEDA8C40> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\dir_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\dir_util.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\dir_util.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\file_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\file_util.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\file_util.cpython-39.pyc' +STDERR: import 'distutils.file_util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEDB6340> +STDERR: import 'distutils.dir_util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEDA8CD0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\spawn.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\spawn.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\spawn.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\debug.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\debug.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\debug.cpython-39.pyc' +STDERR: import 'distutils.debug' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEDB69D0> +STDERR: import 'distutils.spawn' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEDB6670> +STDERR: import 'distutils.archive_util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED46610> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\util.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\util.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\sysconfig.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\sysconfig.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\sysconfig.cpython-39.pyc' +STDERR: import 'sysconfig' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEDB6EB0> +STDERR: import 'distutils.util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEDA8640> +STDERR: import 'distutils.cmd' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED31910> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\__pycache__\dist.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_distutils\dist.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_distutils\\__pycache__\\dist.cpython-39.pyc' +STDERR: # destroy distutils.dist +STDERR: # destroy distutils.core +STDERR: # destroy _distutils_hack.override +STDERR: # destroy setuptools +STDERR: import 'distutils' # <_distutils_hack.DistutilsMetaFinder.spec_for_distutils..DistutilsLoader object at 0x00000275FED312B0> +STDERR: import 'packaging.tags' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED19550> +STDERR: import 'packaging.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED192B0> +STDERR: import 'packaging.specifiers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED05E50> +STDERR: import 'packaging.markers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA7CB20> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\__pycache__\requirements.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\packaging\requirements.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\packaging\\__pycache__\\requirements.cpython-39.pyc' +STDERR: import 'packaging.requirements' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA7CD30> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\text\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\text\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\text\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\resources.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\resources.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\resources.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\__pycache__\_common.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\importlib\_common.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\importlib\\__pycache__\\_common.cpython-39.pyc' +STDERR: import 'importlib._common' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEE214F0> +STDERR: import 'importlib.resources' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED30DF0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\__pycache__\context.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\jaraco\context.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\jaraco\\__pycache__\\context.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\__pycache__\\__init__.cpython-39.pyc' +STDERR: import 'backports' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEE281C0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\compat\\__pycache__\\__init__.cpython-39.pyc' +STDERR: import 'backports.tarfile.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEDDD1F0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\__pycache__\py38.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\backports\tarfile\compat\py38.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\backports\\tarfile\\compat\\__pycache__\\py38.cpython-39.pyc' +STDERR: import 'backports.tarfile.compat.py38' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED30100> +STDERR: import 'backports.tarfile' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEE28340> +STDERR: import 'jaraco.context' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEE21A30> +STDERR: import 'jaraco.text' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FED31220> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\api.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\api.cpython-39.pyc' +STDERR: import 'platformdirs.api' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEE5B7C0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\version.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\version.cpython-39.pyc' +STDERR: import 'platformdirs.version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEE62A30> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\__pycache__\windows.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\setuptools\_vendor\platformdirs\windows.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\setuptools\\_vendor\\platformdirs\\__pycache__\\windows.cpython-39.pyc' +STDERR: import 'platformdirs.windows' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEE62AC0> +STDERR: import 'platformdirs' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEE4E790> +STDERR: import 'pkg_resources' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE3D9970> +STDERR: import 'adbutils._utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE36A520> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\errors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\errors.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\errors.cpython-39.pyc' +STDERR: import 'adbutils.errors' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE38C670> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_proto.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_proto.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_proto.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\dataclasses.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\dataclasses.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\dataclasses.cpython-39.pyc' +STDERR: import 'dataclasses' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA4A0D0> +STDERR: import 'adbutils._proto' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA44520> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_version.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_version.cpython-39.pyc' +STDERR: import 'adbutils._version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEA44700> +STDERR: import 'adbutils._adb' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE29F370> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\__pycache__\_device.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\adbutils\_device.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\adbutils\\__pycache__\\_device.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\exceptions.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\exceptions.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\packages\\__pycache__\\__init__.cpython-39.pyc' +STDERR: import 'urllib3.packages' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEEF9850> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\__pycache__\six.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\packages\six.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\packages\\__pycache__\\six.cpython-39.pyc' +STDERR: import 'urllib3.packages.six' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEEF9880> +STDERR: import 'urllib3.packages.six.moves' # +STDERR: import 'urllib3.packages.six.moves.http_client' # +STDERR: import 'urllib3.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEEF0790> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\_version.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\_version.cpython-39.pyc' +STDERR: import 'urllib3._version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEEF0970> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\connectionpool.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\connectionpool.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\connectionpool.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\_collections.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\_collections.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\_collections.cpython-39.pyc' +STDERR: import 'urllib3._collections' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF04760> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\connection.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\connection.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\connection.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\connection.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\connection.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\connection.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\__init__.cpython-39.pyc' +STDERR: import 'urllib3.contrib' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF24FD0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\_appengine_environ.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\_appengine_environ.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\_appengine_environ.cpython-39.pyc' +STDERR: import 'urllib3.contrib._appengine_environ' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF30190> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\wait.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\wait.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\wait.cpython-39.pyc' +STDERR: import 'urllib3.util.wait' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF30340> +STDERR: import 'urllib3.util.connection' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF24C40> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\request.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\request.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\request.cpython-39.pyc' +STDERR: import 'urllib3.util.request' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF24E20> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\response.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\response.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\response.cpython-39.pyc' +STDERR: import 'urllib3.util.response' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF30760> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\retry.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\retry.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\retry.cpython-39.pyc' +STDERR: import 'urllib3.util.retry' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF30850> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssl_.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssl_.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssl_.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\hmac.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\hmac.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\hmac.cpython-39.pyc' +STDERR: import 'hmac' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF3CA30> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\url.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\url.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\url.cpython-39.pyc' +STDERR: import 'urllib3.util.url' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF4A280> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssltransport.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssltransport.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssltransport.cpython-39.pyc' +STDERR: import 'urllib3.util.ssltransport' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF4ADC0> +STDERR: import 'urllib3.util.ssl_' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF3C520> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\timeout.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\timeout.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\timeout.cpython-39.pyc' +STDERR: import 'urllib3.util.timeout' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF3C820> +STDERR: import 'urllib3.util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF24940> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\proxy.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\proxy.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\proxy.cpython-39.pyc' +STDERR: import 'urllib3.util.proxy' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF249A0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\ssl_match_hostname.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\ssl_match_hostname.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\ssl_match_hostname.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\ipaddress.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\ipaddress.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\ipaddress.cpython-39.pyc' +STDERR: import 'ipaddress' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF608B0> +STDERR: import 'urllib3.util.ssl_match_hostname' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF246A0> +STDERR: import 'urllib3.connection' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF145B0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\request.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\request.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\request.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\filepost.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\filepost.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\filepost.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\fields.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\fields.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\fields.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\mimetypes.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\mimetypes.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\mimetypes.cpython-39.pyc' +STDERR: import 'mimetypes' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF992E0> +STDERR: import 'urllib3.fields' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF96D00> +STDERR: import 'urllib3.filepost' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF968E0> +STDERR: import 'urllib3.packages.six.moves.urllib' # +STDERR: import 'urllib3.packages.six.moves.urllib.parse' # +STDERR: import 'urllib3.request' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF24610> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\response.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\response.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\response.cpython-39.pyc' +STDERR: import 'urllib3.response' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF70FA0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\__pycache__\queue.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\util\queue.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\util\\__pycache__\\queue.cpython-39.pyc' +STDERR: import 'urllib3.util.queue' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEF99730> +STDERR: import 'urllib3.connectionpool' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEEF0AC0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\__pycache__\poolmanager.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\poolmanager.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\__pycache__\\poolmanager.cpython-39.pyc' +STDERR: import 'urllib3.poolmanager' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEFAB2B0> +STDERR: import 'urllib3' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEEF0250> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\exceptions.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\exceptions.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\compat.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\compat.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\api.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\api.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\cd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\cd.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\cd.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\constant.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\constant.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\constant.cpython-39.pyc' +STDERR: import 'charset_normalizer.constant' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEFC5790> +STDERR: # extension module 'charset_normalizer.md__mypyc' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md__mypyc.cp39-win_amd64.pyd' +STDERR: # extension module 'charset_normalizer.md__mypyc' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md__mypyc.cp39-win_amd64.pyd' +STDERR: import 'charset_normalizer.md__mypyc' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FEFE9E80> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\utils.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\utils.cpython-39.pyc' +STDERR: # extension module 'unicodedata' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\unicodedata.pyd' +STDERR: # extension module 'unicodedata' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\unicodedata.pyd' +STDERR: import 'unicodedata' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FEFF0730> +STDERR: import '_multibytecodec' # +STDERR: import 'charset_normalizer.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEFE9BB0> +STDERR: # extension module 'charset_normalizer.md' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md.cp39-win_amd64.pyd' +STDERR: # extension module 'charset_normalizer.md' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\md.cp39-win_amd64.pyd' +STDERR: import 'charset_normalizer.md' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FEFE9BE0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\models.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\models.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\models.cpython-39.pyc' +STDERR: import 'charset_normalizer.models' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEFF0FA0> +STDERR: import 'charset_normalizer.cd' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEFC5100> +STDERR: import 'charset_normalizer.api' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEFABA90> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\legacy.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\legacy.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\legacy.cpython-39.pyc' +STDERR: import 'charset_normalizer.legacy' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF002340> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\charset_normalizer\version.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\charset_normalizer\\__pycache__\\version.cpython-39.pyc' +STDERR: import 'charset_normalizer.version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0023D0> +STDERR: import 'charset_normalizer' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEFABD30> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\cookiejar.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\cookiejar.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\cookiejar.cpython-39.pyc' +STDERR: import 'http.cookiejar' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF002400> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\__pycache__\cookies.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\http\cookies.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\http\\__pycache__\\cookies.cpython-39.pyc' +STDERR: import 'http.cookies' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0555B0> +STDERR: import 'requests.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEFABEE0> +STDERR: import 'requests.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEFB63D0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\packages.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\packages.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\packages.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\core.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\core.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\idnadata.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\idnadata.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\idnadata.cpython-39.pyc' +STDERR: import 'idna.idnadata' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF072850> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\intranges.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\intranges.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\intranges.cpython-39.pyc' +STDERR: import 'idna.intranges' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0728E0> +STDERR: import 'idna.core' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF072100> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\__pycache__\package_data.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\idna\package_data.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\idna\\__pycache__\\package_data.cpython-39.pyc' +STDERR: import 'idna.package_data' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF072580> +STDERR: import 'idna' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEFB60A0> +STDERR: import 'requests.packages' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEFB65B0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\utils.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\utils.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\certs.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\certs.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\certs.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\certifi\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\certifi\core.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\certifi\\__pycache__\\core.cpython-39.pyc' +STDERR: import 'certifi.core' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0A97C0> +STDERR: import 'certifi' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0A9550> +STDERR: import 'requests.certs' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0A9340> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\__version__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__version__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\__version__.cpython-39.pyc' +STDERR: import 'requests.__version__' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0A94C0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\_internal_utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\_internal_utils.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\_internal_utils.cpython-39.pyc' +STDERR: import 'requests._internal_utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0A93D0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\cookies.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\cookies.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\cookies.cpython-39.pyc' +STDERR: import 'requests.cookies' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0A95E0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\structures.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\structures.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\structures.cpython-39.pyc' +STDERR: import 'requests.structures' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0B09D0> +STDERR: import 'requests.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEFB67F0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\api.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\api.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\sessions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\sessions.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\sessions.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\adapters.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\adapters.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\adapters.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\auth.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\auth.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\auth.cpython-39.pyc' +STDERR: import 'requests.auth' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0C97C0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\models.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\models.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\models.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\idna.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\idna.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\idna.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\stringprep.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\stringprep.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\stringprep.cpython-39.pyc' +STDERR: import 'stringprep' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0E51F0> +STDERR: import 'encodings.idna' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0D8D60> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\hooks.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\hooks.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\hooks.cpython-39.pyc' +STDERR: import 'requests.hooks' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0D8F70> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\__pycache__\status_codes.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\requests\status_codes.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\requests\\__pycache__\\status_codes.cpython-39.pyc' +STDERR: import 'requests.status_codes' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0E5820> +STDERR: import 'requests.models' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0C9E80> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\__pycache__\socks.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\urllib3\contrib\socks.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\urllib3\\contrib\\__pycache__\\socks.cpython-39.pyc' +STDERR: # destroy urllib3.contrib.socks +STDERR: import 'requests.adapters' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0BDEB0> +STDERR: import 'requests.sessions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0BD460> +STDERR: import 'requests.api' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0BD100> +STDERR: import 'requests' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEEDEF10> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_version.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_version.cpython-39.pyc' +STDERR: import 'PIL._version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0C95E0> +STDERR: import 'PIL' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0BD280> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\Image.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\Image.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\Image.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\ExifTags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\ExifTags.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\ExifTags.cpython-39.pyc' +STDERR: import 'PIL.ExifTags' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF129910> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\ImageMode.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\ImageMode.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\ImageMode.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_deprecate.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_deprecate.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_deprecate.cpython-39.pyc' +STDERR: import 'PIL._deprecate' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF144E80> +STDERR: import 'PIL.ImageMode' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF129940> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\TiffTags.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\TiffTags.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\TiffTags.cpython-39.pyc' +STDERR: import 'PIL.TiffTags' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF14BA30> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_binary.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_binary.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_binary.cpython-39.pyc' +STDERR: import 'PIL._binary' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF14BDC0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_util.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_util.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\__pycache__\_typing.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\PIL\_typing.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\__pycache__\\_typing.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\typing_extensions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\typing_extensions.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\typing_extensions.cpython-39.pyc' +STDERR: import 'typing_extensions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF15FCA0> +STDERR: import 'PIL._typing' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF15F820> +STDERR: import 'PIL._util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF15F3D0> +STDERR: # extension module 'PIL._imaging' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\_imaging.cp39-win_amd64.pyd' +STDERR: # extension module 'PIL._imaging' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\PIL\\_imaging.cp39-win_amd64.pyd' +STDERR: import 'PIL._imaging' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FF15FEB0> +STDERR: import 'PIL.Image' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0BDC70> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\api.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\api.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\__pycache__\compat.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\retry\compat.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\retry\\__pycache__\\compat.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\decorator.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\decorator.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\decorator.cpython-39.pyc' +STDERR: import 'decorator' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF17CA60> +STDERR: import 'retry.compat' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF17C1C0> +STDERR: import 'retry.api' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF1725B0> +STDERR: import 'retry' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF0BD1F0> +STDERR: import 'adbutils._device' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FEEC9B50> +STDERR: import 'adbutils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE2F8D00> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_api.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_api.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_api.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_error.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_error.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_error.cpython-39.pyc' +STDERR: import 'filelock._error' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF333220> +STDERR: import 'filelock._api' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF31A820> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_soft.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_soft.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_soft.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_util.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_util.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_util.cpython-39.pyc' +STDERR: import 'filelock._util' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF333FD0> +STDERR: import 'filelock._soft' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF3335E0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_unix.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_unix.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_unix.cpython-39.pyc' +STDERR: import 'filelock._unix' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF333F10> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\_windows.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\_windows.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\_windows.cpython-39.pyc' +STDERR: import 'filelock._windows' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF3339A0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\asyncio.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\asyncio.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\asyncio.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__init__.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_events.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_events.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\__init__.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\__pycache__\\__init__.cpython-39.pyc' +STDERR: import 'concurrent' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF35C7F0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__init__.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\futures\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\__pycache__\_base.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\concurrent\futures\_base.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\concurrent\\futures\\__pycache__\\_base.cpython-39.pyc' +STDERR: import 'concurrent.futures._base' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF35CAF0> +STDERR: import 'concurrent.futures' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF35C820> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\constants.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\constants.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\constants.cpython-39.pyc' +STDERR: import 'asyncio.constants' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF35C8E0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\coroutines.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\coroutines.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\coroutines.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_futures.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_futures.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_futures.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\format_helpers.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\format_helpers.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\format_helpers.cpython-39.pyc' +STDERR: import 'asyncio.format_helpers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF376D90> +STDERR: import 'asyncio.base_futures' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF376A30> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\log.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\log.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\log.cpython-39.pyc' +STDERR: import 'asyncio.log' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF376DC0> +STDERR: import 'asyncio.coroutines' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF35C670> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\events.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\events.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\contextvars.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\contextvars.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\contextvars.cpython-39.pyc' +STDERR: import '_contextvars' # +STDERR: import 'contextvars' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF38E1F0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\exceptions.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\exceptions.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\exceptions.cpython-39.pyc' +STDERR: import 'asyncio.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF38E7C0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_tasks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_tasks.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_tasks.cpython-39.pyc' +STDERR: import 'asyncio.base_tasks' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF38EC10> +STDERR: # extension module '_asyncio' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_asyncio.pyd' +STDERR: # extension module '_asyncio' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_asyncio.pyd' +STDERR: import '_asyncio' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FF38E580> +STDERR: import 'asyncio.events' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF376820> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\futures.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\futures.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\futures.cpython-39.pyc' +STDERR: import 'asyncio.futures' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF38E3A0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\protocols.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\protocols.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\protocols.cpython-39.pyc' +STDERR: import 'asyncio.protocols' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF39F310> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\sslproto.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\sslproto.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\sslproto.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\transports.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\transports.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\transports.cpython-39.pyc' +STDERR: import 'asyncio.transports' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF3A99D0> +STDERR: import 'asyncio.sslproto' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF39F9A0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\staggered.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\staggered.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\staggered.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\locks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\locks.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\locks.cpython-39.pyc' +STDERR: import 'asyncio.locks' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF3C59D0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\tasks.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\tasks.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\tasks.cpython-39.pyc' +STDERR: import 'asyncio.tasks' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF3D2550> +STDERR: import 'asyncio.staggered' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF3A9790> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\trsock.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\trsock.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\trsock.cpython-39.pyc' +STDERR: import 'asyncio.trsock' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF3DB820> +STDERR: import 'asyncio.base_events' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF337F70> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\runners.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\runners.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\runners.cpython-39.pyc' +STDERR: import 'asyncio.runners' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF35C580> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\queues.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\queues.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\queues.cpython-39.pyc' +STDERR: import 'asyncio.queues' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF35C430> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\streams.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\streams.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\streams.cpython-39.pyc' +STDERR: import 'asyncio.streams' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF3E48E0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\subprocess.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\subprocess.cpython-39.pyc' +STDERR: import 'asyncio.subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF3FB700> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\threads.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\threads.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\threads.cpython-39.pyc' +STDERR: import 'asyncio.threads' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF3FBCA0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\windows_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\windows_events.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\windows_events.cpython-39.pyc' +STDERR: # extension module '_overlapped' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_overlapped.pyd' +STDERR: # extension module '_overlapped' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_overlapped.pyd' +STDERR: import '_overlapped' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FF417250> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\base_subprocess.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\base_subprocess.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\base_subprocess.cpython-39.pyc' +STDERR: import 'asyncio.base_subprocess' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF4173A0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\proactor_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\proactor_events.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\proactor_events.cpython-39.pyc' +STDERR: import 'asyncio.proactor_events' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF417E20> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\selector_events.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\selector_events.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\selector_events.cpython-39.pyc' +STDERR: import 'asyncio.selector_events' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF432520> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\__pycache__\windows_utils.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\asyncio\windows_utils.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\asyncio\\__pycache__\\windows_utils.cpython-39.pyc' +STDERR: import 'asyncio.windows_utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF451610> +STDERR: import 'asyncio.windows_events' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF3FBD60> +STDERR: import 'asyncio' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF337370> +STDERR: import 'filelock.asyncio' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF333B50> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\filelock\version.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\filelock\\__pycache__\\version.cpython-39.pyc' +STDERR: import 'filelock.version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF460B80> +STDERR: import 'filelock' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF31A640> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\colors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\colors.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\colors.cpython-39.pyc' +STDERR: import 'logzero.colors' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF4609D0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\__pycache__\jsonlogger.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\logzero\jsonlogger.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\logzero\\__pycache__\\jsonlogger.cpython-39.pyc' +STDERR: import 'logzero.jsonlogger' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF460280> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\__pycache__\handlers.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\logging\handlers.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\logging\\__pycache__\\handlers.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\pickle.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\pickle.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\pickle.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\_compat_pickle.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\_compat_pickle.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\_compat_pickle.cpython-39.pyc' +STDERR: import '_compat_pickle' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF499760> +STDERR: import '_pickle' # +STDERR: import 'pickle' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF479C70> +STDERR: import 'logging.handlers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF451D60> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\curses\__pycache__\__init__.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\curses\__init__.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\curses\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # destroy curses +STDERR: import 'logzero' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF333B20> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\six.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\six.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\six.cpython-39.pyc' +STDERR: import 'six' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF479DC0> +STDERR: import 'six.moves' # +STDERR: import 'six.moves.urllib' # +STDERR: import 'six.moves.urllib.parse' # +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\__pycache__\cached_property.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\cached_property.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\__pycache__\\cached_property.cpython-39.pyc' +STDERR: import 'cached_property' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF499FA0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\deprecated\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\__pycache__\classic.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\deprecated\classic.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\deprecated\\__pycache__\\classic.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\__wrapt__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__wrapt__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\__wrapt__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\wrappers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\wrappers.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\wrappers.cpython-39.pyc' +STDERR: import 'wrapt.wrappers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF4D1100> +STDERR: # extension module 'wrapt._wrappers' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\_wrappers.cp39-win_amd64.pyd' +STDERR: # extension module 'wrapt._wrappers' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\_wrappers.cp39-win_amd64.pyd' +STDERR: import 'wrapt._wrappers' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FF4DBA90> +STDERR: import 'wrapt.__wrapt__' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF4C6B20> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\patches.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\patches.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\patches.cpython-39.pyc' +STDERR: import 'wrapt.patches' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF4C6C10> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\weakrefs.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\weakrefs.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\weakrefs.cpython-39.pyc' +STDERR: import 'wrapt.weakrefs' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF4DBFD0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\decorators.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\decorators.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\decorators.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\arguments.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\arguments.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\arguments.cpython-39.pyc' +STDERR: import 'wrapt.arguments' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF4F5130> +STDERR: import 'wrapt.decorators' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF4EF2E0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\__pycache__\importer.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\wrapt\importer.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\wrapt\\__pycache__\\importer.cpython-39.pyc' +STDERR: import 'wrapt.importer' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF4F5310> +STDERR: import 'wrapt' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF4C6FA0> +STDERR: import 'deprecated.classic' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF4B6C70> +STDERR: import 'deprecated' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF4B6790> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\xpath.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\xpath.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\xpath.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\_proto.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_proto.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\_proto.cpython-39.pyc' +STDERR: import 'uiautomator2._proto' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF50D9A0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\abcd.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\abcd.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\abcd.cpython-39.pyc' +STDERR: import 'uiautomator2.abcd' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF50DAF0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\exceptions.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\exceptions.cpython-39.pyc' +STDERR: import 'uiautomator2.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF50DE20> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\utils.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\utils.cpython-39.pyc' +STDERR: import 'uiautomator2.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF50DF70> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\lxml\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\lxml\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\__pycache__\\__init__.cpython-39.pyc' +STDERR: import 'lxml' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF526EE0> +STDERR: # extension module 'lxml.etree' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\etree.cp39-win_amd64.pyd' +STDERR: import 'gc' # +STDERR: # extension module 'lxml._elementpath' loaded from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\_elementpath.cp39-win_amd64.pyd' +STDERR: # extension module 'lxml._elementpath' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\_elementpath.cp39-win_amd64.pyd' +STDERR: import 'lxml._elementpath' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FF586DC0> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\gzip.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\gzip.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\gzip.cpython-39.pyc' +STDERR: import 'gzip' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF5A9940> +STDERR: # extension module 'lxml.etree' executed from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\lxml\\etree.cp39-win_amd64.pyd' +STDERR: import 'lxml.etree' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275FF526EB0> +STDERR: import 'uiautomator2.xpath' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF4B67F0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\_selector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\_selector.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\_selector.cpython-39.pyc' +STDERR: import 'uiautomator2._selector' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF4F59A0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\init.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\init.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\init.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\tarfile.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\tarfile.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\tarfile.cpython-39.pyc' +STDERR: import 'tarfile' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF5EEB80> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\__init__.cpython-39.pyc' +STDERR: import 'progress' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF5FAAC0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\bar.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\bar.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\bar.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\__pycache__\colors.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\progress\colors.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\progress\\__pycache__\\colors.cpython-39.pyc' +STDERR: import 'progress.colors' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF627310> +STDERR: import 'progress.bar' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF5EEF70> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\version.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\version.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\version.cpython-39.pyc' +STDERR: import 'uiautomator2.version' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF627130> +STDERR: import 'uiautomator2.init' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF5EE550> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\settings.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\settings.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\settings.cpython-39.pyc' +STDERR: import 'uiautomator2.settings' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF627AC0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\swipe.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\swipe.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\swipe.cpython-39.pyc' +STDERR: import 'uiautomator2.swipe' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF627D60> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\__pycache__\watcher.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\uiautomator2\watcher.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\uiautomator2\\__pycache__\\watcher.cpython-39.pyc' +STDERR: import 'uiautomator2.watcher' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF627F10> +STDERR: import 'uiautomator2' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE209E80> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\utils.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\utils.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\__pycache__\core.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\core.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\__pycache__\\core.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\unicode_codes\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\__pycache__\data_dict.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\emoji\unicode_codes\data_dict.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\emoji\\unicode_codes\\__pycache__\\data_dict.cpython-39.pyc' +STDERR: import 'emoji.unicode_codes.data_dict' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF65F970> +STDERR: import 'emoji.unicode_codes' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF65F640> +STDERR: import 'emoji.core' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF64EF70> +STDERR: import 'emoji' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF64ED00> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\log.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\log.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\log.cpython-39.pyc' +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\uuid.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\uuid.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\uuid.cpython-39.pyc' +STDERR: # extension module '_uuid' loaded from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_uuid.pyd' +STDERR: # extension module '_uuid' executed from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs\\_uuid.pyd' +STDERR: import '_uuid' # <_frozen_importlib_external.ExtensionFileLoader object at 0x00000275802481F0> +STDERR: import 'uuid' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF65FA90> +STDERR: import 'GramAddict.core.log' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF64ED30> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\report.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\report.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\report.cpython-39.pyc' +STDERR: import 'GramAddict.core.report' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FF65F760> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\resources.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\resources.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\resources.cpython-39.pyc' +STDERR: import 'GramAddict.core.resources' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580248160> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\storage.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\storage.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\storage.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\atomicwrites\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\atomicwrites\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\atomicwrites\\__pycache__\\__init__.cpython-39.pyc' +STDERR: import 'atomicwrites' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580248880> +STDERR: import 'GramAddict.core.storage' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580248310> +STDERR: import 'GramAddict.core.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE2466D0> +STDERR: import 'GramAddict.core.device_facade' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE1392B0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\filter.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\filter.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\filter.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\detector_factory.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\detector_factory.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\detector_factory.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\detector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\detector.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\detector.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\lang_detect_exception.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\lang_detect_exception.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\lang_detect_exception.cpython-39.pyc' +STDERR: import 'langdetect.lang_detect_exception' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580272D60> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\__pycache__\language.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\language.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\__pycache__\\language.cpython-39.pyc' +STDERR: import 'langdetect.language' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580272FD0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\__init__.cpython-39.pyc' +STDERR: import 'langdetect.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x000002758027A3A0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\ngram.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\ngram.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\ngram.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\messages.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\messages.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\messages.cpython-39.pyc' +STDERR: import 'langdetect.utils.messages' # <_frozen_importlib_external.SourceFileLoader object at 0x000002758027A6D0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\unicode_block.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\unicode_block.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\unicode_block.cpython-39.pyc' +STDERR: import 'langdetect.utils.unicode_block' # <_frozen_importlib_external.SourceFileLoader object at 0x000002758027A880> +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\__pycache__\unicode_escape.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\encodings\unicode_escape.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\encodings\\__pycache__\\unicode_escape.cpython-39.pyc' +STDERR: import 'encodings.unicode_escape' # <_frozen_importlib_external.SourceFileLoader object at 0x000002758027AA30> +STDERR: import 'langdetect.utils.ngram' # <_frozen_importlib_external.SourceFileLoader object at 0x000002758027A3D0> +STDERR: import 'langdetect.detector' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275802727C0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\__pycache__\lang_profile.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\langdetect\utils\lang_profile.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\langdetect\\utils\\__pycache__\\lang_profile.cpython-39.pyc' +STDERR: import 'langdetect.utils.lang_profile' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580272B80> +STDERR: import 'langdetect.detector_factory' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275802722B0> +STDERR: import 'langdetect' # <_frozen_importlib_external.SourceFileLoader object at 0x000002758025FFD0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\views.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\views.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\views.cpython-39.pyc' +STDERR: import 'GramAddict.core.views' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580272550> +STDERR: import 'GramAddict.core.filter' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FE2094F0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\interaction.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\interaction.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\interaction.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\spintax\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\__pycache__\spintax.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\spintax\spintax.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\spintax\\__pycache__\\spintax.cpython-39.pyc' +STDERR: import 'spintax.spintax' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580367820> +STDERR: import 'spintax' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275803675E0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\session_state.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\session_state.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\session_state.cpython-39.pyc' +STDERR: import 'GramAddict.core.session_state' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275803678E0> +STDERR: import 'GramAddict.core.interaction' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580367100> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\navigation.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\navigation.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\navigation.cpython-39.pyc' +STDERR: import 'GramAddict.core.navigation' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580367FD0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\persistent_list.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\persistent_list.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\persistent_list.cpython-39.pyc' +STDERR: import 'GramAddict.core.persistent_list' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275803760D0> +STDERR: import 'GramAddict.core.bot_flow' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC2A4670> +STDOUT: Python path: ['e:\\PROJECTS\\instagram automation\\virtualinfluencer', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\python39.zip', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\DLLs', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib', 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages', 'e:\\PROJECTS\\instagram automation\\virtualinfluencer'] +STDERR: import 'GramAddict' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC2A4D00> +STDOUT: Current directory: e:\PROJECTS\instagram automation\virtualinfluencer +STDERR: e:\PROJECTS\instagram automation\virtualinfluencer\accounts\quecreate\config.yml has been saved last time at 2024-11-30 17:04:22 +STDOUT: Working directory: e:\PROJECTS\instagram automation\virtualinfluencer +STDOUT: Successfully imported GramAddict +STDERR: [11/30 17:05:41] INFO | Checking for updates... +STDERR: # C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\__pycache__\netrc.cpython-39.pyc matches C:\Users\Emmanuel\AppData\Local\Programs\Python\Python39\lib\netrc.py +STDERR: # code object from 'C:\\Users\\Emmanuel\\AppData\\Local\\Programs\\Python\\Python39\\lib\\__pycache__\\netrc.cpython-39.pyc' +STDERR: import 'netrc' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580376EE0> +STDERR: [11/30 17:05:41] INFO | Bot is updated. +STDERR: [11/30 17:05:41] INFO | GramAddict v.3.2.12 +STDERR: [11/30 17:05:41] INFO | Loading plugins . . . +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\__init__.cpython-39.pyc' +STDERR: import 'GramAddict.plugins' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580376C70> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\action_unfollow_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\action_unfollow_followers.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\action_unfollow_followers.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\decorators.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\decorators.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\decorators.cpython-39.pyc' +STDERR: import 'GramAddict.core.decorators' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580388B20> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\scroll_end_detector.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\scroll_end_detector.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\scroll_end_detector.cpython-39.pyc' +STDERR: import 'GramAddict.core.scroll_end_detector' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580388370> +STDERR: import 'GramAddict.plugins.action_unfollow_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580376B20> +STDERR: [11/30 17:05:41] INFO | - ActionUnfollowFollowers: Handles the functionality of unfollowing your followers +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\cloned_app.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\cloned_app.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\cloned_app.cpython-39.pyc' +STDERR: import 'GramAddict.plugins.cloned_app' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580388CA0> +STDERR: [11/30 17:05:41] INFO | - ClonedApp: Adds support for cloned apps +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\core_arguments.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\core_arguments.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\core_arguments.cpython-39.pyc' +STDERR: import 'GramAddict.plugins.core_arguments' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580388D60> +STDERR: [11/30 17:05:41] INFO | - CoreArguments: Simply adds core arguments +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\data_analytics.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\data_analytics.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\data_analytics.cpython-39.pyc' +STDERR: import 'GramAddict.plugins.data_analytics' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580388D90> +STDERR: [11/30 17:05:41] INFO | - DataAnalytics: Generates a PDF analytics report of current username session data +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\dbinit.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\dbinit.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\dbinit.cpython-39.pyc' +STDERR: import 'GramAddict.plugins.dbinit' # <_frozen_importlib_external.SourceFileLoader object at 0x000002758038F160> +STDERR: [11/30 17:05:41] INFO | - DBInitPlugin: Initialize NocoDB tables at session start +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\__pycache__\handle_sources.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\core\handle_sources.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\core\\__pycache__\\handle_sources.cpython-39.pyc' +STDERR: import 'GramAddict.core.handle_sources' # <_frozen_importlib_external.SourceFileLoader object at 0x000002758038F820> +STDERR: import 'GramAddict.plugins.interact_blogger' # <_frozen_importlib_external.SourceFileLoader object at 0x000002758038F3A0> +STDERR: [11/30 17:05:41] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_followers.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger_followers.cpython-39.pyc' +STDERR: import 'GramAddict.plugins.interact_blogger_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x000002758038FDF0> +STDERR: [11/30 17:05:41] INFO | - InteractBloggerFollowers_Following: Handles the functionality of interacting with a bloggers followers/following +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_blogger_post_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_blogger_post_likers.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_blogger_post_likers.cpython-39.pyc' +STDERR: import 'GramAddict.plugins.interact_blogger_post_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x000002758038FEE0> +STDERR: [11/30 17:05:41] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger post likers +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_feed.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_feed.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_feed.cpython-39.pyc' +STDERR: import 'GramAddict.plugins.interact_feed' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275FC2A4CA0> +STDERR: [11/30 17:05:41] INFO | - InteractOwnFeed: Handles the functionality of interacting with your own feed +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_hashtag_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_hashtag_likers.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_hashtag_likers.cpython-39.pyc' +STDERR: import 'GramAddict.plugins.interact_hashtag_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275803DE2E0> +STDERR: [11/30 17:05:41] INFO | - InteractHashtagLikers: Handles the functionality of interacting with a hashtags likers +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_hashtag_posts.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_hashtag_posts.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_hashtag_posts.cpython-39.pyc' +STDERR: import 'GramAddict.plugins.interact_hashtag_posts' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275803DE640> +STDERR: [11/30 17:05:41] INFO | - InteractHashtagPosts: Handles the functionality of interacting with a hashtags post owners +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_place_likers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_place_likers.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_place_likers.cpython-39.pyc' +STDERR: import 'GramAddict.plugins.interact_place_likers' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275803DE9A0> +STDERR: [11/30 17:05:41] INFO | - InteractPlaceLikers: Handles the functionality of interacting with a places likers +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\interact_place_posts.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\interact_place_posts.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\interact_place_posts.cpython-39.pyc' +STDERR: import 'GramAddict.plugins.interact_place_posts' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275803DED30> +STDERR: [11/30 17:05:41] INFO | - InteractPlacePosts: Handles the functionality of interacting with a places post owners +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\like_from_urls.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\like_from_urls.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\like_from_urls.cpython-39.pyc' +STDERR: import 'GramAddict.plugins.like_from_urls' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275803DEFA0> +STDERR: [11/30 17:05:41] INFO | - LikeFromURLs: Likes a post from url. The urls are read from a plaintext file +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\nocodb_record_creation_test.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\nocodb_record_creation_test.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\nocodb_record_creation_test.cpython-39.pyc' +STDERR: import 'GramAddict.plugins.nocodb_record_creation_test' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275803FE460> +STDERR: [11/30 17:05:41] INFO | - NocoDBRecordCreationTest: Test plugin specifically for verifying NocoDB record creation functionality +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\nocodb_storage.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\nocodb_storage.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\nocodb_storage.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\__init__.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__init__.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\__init__.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jwk.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jwk.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jwk.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\algorithms.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\algorithms.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\algorithms.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\exceptions.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\exceptions.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\exceptions.cpython-39.pyc' +STDERR: import 'jwt.exceptions' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580419790> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\types.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\types.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\types.cpython-39.pyc' +STDERR: import 'jwt.types' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580419820> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\utils.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\utils.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\utils.cpython-39.pyc' +STDERR: import 'jwt.utils' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580419910> +STDERR: import 'jwt.algorithms' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275804105B0> +STDERR: import 'jwt.api_jwk' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275803FEE20> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jws.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jws.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jws.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\warnings.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\warnings.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\warnings.cpython-39.pyc' +STDERR: import 'jwt.warnings' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580419160> +STDERR: import 'jwt.api_jws' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580410C70> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\api_jwt.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\api_jwt.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\api_jwt.cpython-39.pyc' +STDERR: import 'jwt.api_jwt' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275804193A0> +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\jwks_client.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\jwks_client.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\jwks_client.cpython-39.pyc' +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\__pycache__\jwk_set_cache.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\venv\lib\site-packages\jwt\jwk_set_cache.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\venv\\lib\\site-packages\\jwt\\__pycache__\\jwk_set_cache.cpython-39.pyc' +STDERR: import 'jwt.jwk_set_cache' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580424B50> +STDERR: import 'jwt.jwks_client' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580424580> +STDERR: import 'jwt' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275803FEBB0> +STDERR: import 'GramAddict.plugins.nocodb_storage' # <_frozen_importlib_external.SourceFileLoader object at 0x00000275803FE5E0> +STDERR: [11/30 17:05:41] INFO | - NocoDBStorage: Store interaction data in NocoDB +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\remove_followers.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\remove_followers.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\remove_followers.cpython-39.pyc' +STDERR: import 'GramAddict.plugins.remove_followers' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580424FD0> +STDERR: [11/30 17:05:41] INFO | - RemoveFollowersFromList: Remove account followers from a list of usernames +STDERR: # e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\__pycache__\telegram.cpython-39.pyc matches e:\PROJECTS\instagram automation\virtualinfluencer\GramAddict\plugins\telegram.py +STDERR: # code object from 'e:\\PROJECTS\\instagram automation\\virtualinfluencer\\GramAddict\\plugins\\__pycache__\\telegram.cpython-39.pyc' +STDERR: import 'GramAddict.plugins.telegram' # <_frozen_importlib_external.SourceFileLoader object at 0x0000027580440220> +STDERR: [11/30 17:05:41] INFO | - TelegramReports: Generate reports at the end of the session and send them using telegram +STDERR: usage: run.py [-h] [--config CONFIG] [--unfollow 10-20] +STDERR: [--unfollow-non-followers 10-20] +STDERR: [--unfollow-any-non-followers 10-20] +STDERR: [--unfollow-any-followers 10-20] [--unfollow-any 10-20] +STDERR: [--min-following 100] [--sort-followers-newest-to-oldest] +STDERR: [--unfollow-delay 3] [--app-id com.instagram.android] +STDERR: [--use-cloned-app] [--device 2443de990e017ece] +STDERR: [--username justinbieber] [--likes-count 2-4] +STDERR: [--likes-percentage 50-70] [--total-likes-limit 300] +STDERR: [--total-follows-limit 50] [--total-unfollows-limit 50] +STDERR: [--total-watches-limit 50] +STDERR: [--total-successful-interactions-limit 100] +STDERR: [--total-interactions-limit 1000] [--stories-count 2-4] +STDERR: [--stories-percentage 50-70] [--carousel-count 2-4] +STDERR: [--carousel-percentage 10-90] [--watch-video-time 15-30] +STDERR: [--watch-photo-time 3-4] [--interactions-count 60-80] +STDERR: [--interact-percentage 50] [--can-reinteract-after 50] +STDERR: [--repeat 220-300] [--follow-percentage 50] [--follow-limit 0] +STDERR: [--skipped-list-limit 10-15] [--fling-when-skipped 10-12] +STDERR: [--speed-multiplier 1] [--screen-sleep] [--debug] +STDERR: [--screen-record] [--close-apps] [--kill-atx-agent] +STDERR: [--restart-atx-agent] [--interact @username1 [@username2 ...]] +STDERR: [--hashtag-likers hashtag1 [hashtag2 ...]] +STDERR: [--delete-interacted-users] [--scrape-to-file filename] +STDERR: [--total-scraped-limit 5-10] [--comment-percentage 40-60] +STDERR: [--total-comments-limit 5-10] [--pm-percentage 40-60] +STDERR: [--total-pm-limit 5-10] [--max-comments-pro-user 1-2] +STDERR: [--end-if-likes-limit-reached] [--end-if-follows-limit-reached] +STDERR: [--end-if-watches-limit-reached] +STDERR: [--end-if-comments-limit-reached] [--end-if-pm-limit-reached] +STDERR: [--truncate-sources 2-4] [--shuffle-jobs] +STDERR: [--working-hours 10-22 [10-22 ...]] [--time-delta 10-15] +STDERR: [--disable-filters] [--total-crashes-limit 5-10] +STDERR: [--count-app-crashes] [--skipped-posts-limit 5-10] +STDERR: [--uia-version 2] [--total-sessions 1] +STDERR: [--disable-block-detection] [--pre-script ] [--post-script ] +STDERR: [--move-folders-in-accounts] [--dont-type] +STDERR: [--allow-untested-ig-version] [--analytics] [--init-db] +STDERR: [--blogger blogger1 [blogger2 ...]] +STDERR: [--interact-from-file filename1.txt [filename2.txt ...]] +STDERR: [--unfollow-from-file filename1.txt [filename2.txt ...]] +STDERR: [--blogger-followers username1 [username2 ...]] +STDERR: [--blogger-following username1 [username2 ...]] +STDERR: [--blogger-post-likers blogger1 [blogger2 ...]] +STDERR: [--blogger-post-limits 2] [--feed 5-10] +STDERR: [--hashtag-likers-top hashtag1 [hashtag2 ...]] +STDERR: [--hashtag-likers-recent hashtag1 [hashtag2 ...]] +STDERR: [--hashtag-posts-recent hashtag1 [hashtag2 ...]] +STDERR: [--hashtag-posts-top hashtag1 [hashtag2 ...]] +STDERR: [--place-likers-top place1 [place2 ...]] +STDERR: [--place-likers-recent place1 [place2 ...]] +STDERR: [--place-posts-recent place1 [place2 ...]] +STDERR: [--place-posts-top place1 [place2 ...]] +STDERR: [--posts-from-file postlist1.txt [postlist2.txt ...]] +STDERR: [--test-nocodb-records] [--use-nocodb] +STDERR: [--remove-followers-from-file remove1.txt [remove2.txt ...]] +STDERR: [--delete-removed-followers] [--telegram-reports] +STDERR: run.py: error: ambiguous option: --=ledianaprengaa could match --help, --config, --unfollow, --unfollow-non-followers, --unfollow-any-non-followers, --unfollow-any-followers, --unfollow-any, --min-following, --sort-followers-newest-to-oldest, --unfollow-delay, --app-id, --use-cloned-app, --device, --username, --likes-count, --likes-percentage, --total-likes-limit, --total-follows-limit, --total-unfollows-limit, --total-watches-limit, --total-successful-interactions-limit, --total-interactions-limit, --stories-count, --stories-percentage, --carousel-count, --carousel-percentage, --watch-video-time, --watch-photo-time, --interactions-count, --interact-percentage, --can-reinteract-after, --repeat, --follow-percentage, --follow-limit, --skipped-list-limit, --fling-when-skipped, --speed-multiplier, --screen-sleep, --debug, --screen-record, --close-apps, --kill-atx-agent, --restart-atx-agent, --interact, --hashtag-likers, --delete-interacted-users, --scrape-to-file, --total-scraped-limit, --comment-percentage, --total-comments-limit, --pm-percentage, --total-pm-limit, --max-comments-pro-user, --end-if-likes-limit-reached, --end-if-follows-limit-reached, --end-if-watches-limit-reached, --end-if-comments-limit-reached, --end-if-pm-limit-reached, --truncate-sources, --shuffle-jobs, --working-hours, --time-delta, --disable-filters, --total-crashes-limit, --count-app-crashes, --skipped-posts-limit, --uia-version, --total-sessions, --disable-block-detection, --pre-script, --post-script, --move-folders-in-accounts, --dont-type, --allow-untested-ig-version, --analytics, --init-db, --blogger, --interact-from-file, --unfollow-from-file, --blogger-followers, --blogger-following, --blogger-post-likers, --blogger-post-limits, --feed, --hashtag-likers-top, --hashtag-likers-recent, --hashtag-posts-recent, --hashtag-posts-top, --place-likers-top, --place-likers-recent, --place-posts-recent, --place-posts-top, --posts-from-file, --test-nocodb-records, --use-nocodb, --remove-followers-from-file, --delete-removed-followers, --telegram-reports +STDERR: # clear builtins._ +STDERR: # clear sys.path +STDERR: # clear sys.argv +STDERR: # clear sys.ps1 +STDERR: # clear sys.ps2 +STDERR: # clear sys.last_type +STDERR: # clear sys.last_value +STDERR: # clear sys.last_traceback +STDERR: # clear sys.path_hooks +STDERR: # clear sys.path_importer_cache +STDERR: # clear sys.meta_path +STDERR: # clear sys.__interactivehook__ +STDERR: # restore sys.stdin +STDERR: # restore sys.stdout +STDERR: # restore sys.stderr +STDERR: # cleanup[2] removing sys +STDERR: # cleanup[2] removing builtins +STDERR: # cleanup[2] removing _frozen_importlib +STDERR: # cleanup[2] removing _imp +STDERR: # cleanup[2] removing _thread +STDERR: # cleanup[2] removing _warnings +STDERR: # cleanup[2] removing _weakref +STDERR: # cleanup[2] removing _io +STDERR: # cleanup[2] removing marshal +STDERR: # cleanup[2] removing nt +STDERR: # cleanup[2] removing winreg +STDERR: # cleanup[2] removing _frozen_importlib_external +STDERR: # cleanup[2] removing time +STDERR: # cleanup[2] removing zipimport +STDERR: # cleanup[2] removing _codecs +STDERR: # cleanup[2] removing codecs +STDERR: # cleanup[2] removing encodings.aliases +STDERR: # cleanup[2] removing encodings +STDERR: # cleanup[2] removing encodings.utf_8 +STDERR: # cleanup[2] removing encodings.cp1252 +STDERR: # cleanup[2] removing _signal +STDERR: # cleanup[2] removing encodings.latin_1 +STDERR: # cleanup[2] removing _abc +STDERR: # cleanup[2] removing abc +STDERR: # cleanup[2] removing io +STDERR: # cleanup[2] removing __main__ +STDERR: # destroy __main__ +STDERR: # cleanup[2] removing _stat +STDERR: # cleanup[2] removing stat +STDERR: # cleanup[2] removing _collections_abc +STDERR: # cleanup[2] removing genericpath +STDERR: # cleanup[2] removing ntpath +STDERR: # cleanup[2] removing os.path +STDERR: # cleanup[2] removing os +STDERR: # cleanup[2] removing _sitebuiltins +STDERR: # cleanup[2] removing _locale +STDERR: # cleanup[2] removing _bootlocale +STDERR: # destroy _bootlocale +STDERR: # cleanup[2] removing _distutils_hack +STDERR: # destroy _distutils_hack +STDERR: # cleanup[2] removing site +STDERR: # destroy site +STDERR: # cleanup[2] removing GramAddict.core +STDERR: # cleanup[2] removing types +STDERR: # cleanup[2] removing enum +STDERR: # cleanup[2] removing _sre +STDERR: # cleanup[2] removing sre_constants +STDERR: # destroy sre_constants +STDERR: # cleanup[2] removing sre_parse +STDERR: # cleanup[2] removing sre_compile +STDERR: # cleanup[2] removing _heapq +STDERR: # cleanup[2] removing heapq +STDERR: # cleanup[2] removing itertools +STDERR: # cleanup[2] removing keyword +STDERR: # cleanup[2] removing _operator +STDERR: # cleanup[2] removing operator +STDERR: # cleanup[2] removing reprlib +STDERR: # cleanup[2] removing _collections +STDERR: # cleanup[2] removing collections +STDERR: # cleanup[2] removing _functools +STDERR: # cleanup[2] removing functools +STDERR: # cleanup[2] removing copyreg +STDERR: # cleanup[2] removing re +STDERR: # cleanup[2] removing token +STDERR: # cleanup[2] removing tokenize +STDERR: # cleanup[2] removing linecache +STDERR: # cleanup[2] removing traceback +STDERR: # cleanup[2] removing warnings +STDERR: # cleanup[2] removing _weakrefset +STDERR: # destroy _weakrefset +STDERR: # cleanup[2] removing weakref +STDERR: # cleanup[2] removing collections.abc +STDERR: # cleanup[2] removing _string +STDERR: # cleanup[2] removing string +STDERR: # cleanup[2] removing threading +STDERR: # cleanup[2] removing atexit +STDERR: # cleanup[2] removing logging +STDERR: # cleanup[2] removing math +STDERR: # cleanup[2] removing _bisect +STDERR: # cleanup[2] removing bisect +STDERR: # cleanup[2] removing _random +STDERR: # cleanup[2] removing _sha512 +STDERR: # cleanup[2] removing random +STDERR: # cleanup[2] removing _datetime +STDERR: # cleanup[2] removing datetime +STDERR: # cleanup[2] removing contextlib +STDERR: # cleanup[2] removing colorama.ansi +STDERR: # cleanup[2] removing _ctypes +STDERR: # cleanup[2] removing _struct +STDERR: # cleanup[2] removing struct +STDERR: # cleanup[2] removing ctypes._endian +STDERR: # cleanup[2] removing ctypes +STDERR: # cleanup[2] removing ctypes.wintypes +STDERR: # cleanup[2] removing colorama.win32 +STDERR: # cleanup[2] removing colorama.winterm +STDERR: # cleanup[2] removing colorama.ansitowin32 +STDERR: # cleanup[2] removing colorama.initialise +STDERR: # cleanup[2] removing colorama +STDERR: # destroy colorama +STDERR: # destroy colorama.ansi +STDERR: # destroy colorama.winterm +STDERR: # destroy colorama.ansitowin32 +STDERR: # destroy colorama.initialise +STDERR: # cleanup[2] removing typing +STDERR: # cleanup[2] removing gettext +STDERR: # destroy gettext +STDERR: # cleanup[2] removing argparse +STDERR: # cleanup[2] removing _json +STDERR: # cleanup[2] removing json.scanner +STDERR: # cleanup[2] removing json.decoder +STDERR: # cleanup[2] removing json.encoder +STDERR: # cleanup[2] removing json +STDERR: # cleanup[2] removing posixpath +STDERR: # cleanup[2] removing fnmatch +STDERR: # cleanup[2] removing glob +STDERR: # cleanup[2] removing textwrap +STDERR: # cleanup[2] removing configargparse +STDERR: # cleanup[2] removing yaml.error +STDERR: # cleanup[2] removing yaml.tokens +STDERR: # cleanup[2] removing yaml.events +STDERR: # cleanup[2] removing yaml.nodes +STDERR: # cleanup[2] removing yaml.reader +STDERR: # cleanup[2] removing yaml.scanner +STDERR: # cleanup[2] removing yaml.parser +STDERR: # cleanup[2] removing yaml.composer +STDERR: # cleanup[2] removing binascii +STDERR: # cleanup[2] removing base64 +STDERR: # cleanup[2] removing yaml.constructor +STDERR: # cleanup[2] removing yaml.resolver +STDERR: # cleanup[2] removing yaml.loader +STDERR: # cleanup[2] removing yaml.emitter +STDERR: # cleanup[2] removing yaml.serializer +STDERR: # cleanup[2] removing yaml.representer +STDERR: # cleanup[2] removing yaml.dumper +STDERR: # cleanup[2] removing cython_runtime +STDERR: # cleanup[2] removing yaml._yaml +STDERR: # cleanup[2] removing yaml.cyaml +STDERR: # cleanup[2] removing yaml +STDERR: # cleanup[2] removing _ast +STDERR: # destroy _ast +STDERR: # cleanup[2] removing ast +STDERR: # cleanup[2] removing _opcode +STDERR: # cleanup[2] removing opcode +STDERR: # destroy opcode +STDERR: # cleanup[2] removing dis +STDERR: # cleanup[2] removing importlib._bootstrap +STDERR: # cleanup[2] removing importlib._bootstrap_external +STDERR: # cleanup[2] removing importlib +STDERR: # cleanup[2] removing importlib.machinery +STDERR: # cleanup[2] removing inspect +STDERR: # cleanup[2] removing importlib.abc +STDERR: # cleanup[2] removing importlib.util +STDERR: # cleanup[2] removing pkgutil +STDERR: # cleanup[2] removing GramAddict.core.plugin_loader +STDERR: # cleanup[2] removing GramAddict.core.config +STDERR: # cleanup[2] removing errno +STDERR: # cleanup[2] removing signal +STDERR: # cleanup[2] removing msvcrt +STDERR: # cleanup[2] removing _winapi +STDERR: # cleanup[2] removing subprocess +STDERR: # cleanup[2] removing __future__ +STDERR: # destroy __future__ +STDERR: # cleanup[2] removing _hashlib +STDERR: # cleanup[2] removing _blake2 +STDERR: # cleanup[2] removing hashlib +STDERR: # cleanup[2] removing zlib +STDERR: # cleanup[2] removing _compression +STDERR: # cleanup[2] removing _bz2 +STDERR: # destroy _bz2 +STDERR: # cleanup[2] removing bz2 +STDERR: # cleanup[2] removing _lzma +STDERR: # cleanup[2] removing lzma +STDERR: # cleanup[2] removing shutil +STDERR: # cleanup[2] removing xml +STDERR: # cleanup[2] removing xml.dom.domreg +STDERR: # cleanup[2] removing xml.dom +STDERR: # cleanup[2] removing xml.dom.minicompat +STDERR: # cleanup[2] removing copy +STDERR: # cleanup[2] removing xml.dom.NodeFilter +STDERR: # cleanup[2] removing xml.dom.xmlbuilder +STDERR: # cleanup[2] removing xml.dom.minidom +STDERR: # cleanup[2] removing urllib +STDERR: # cleanup[2] removing urllib.parse +STDERR: # cleanup[2] removing pathlib +STDERR: # cleanup[2] removing packaging.__about__ +STDERR: # cleanup[2] removing packaging +STDERR: # cleanup[2] removing packaging._structures +STDERR: # cleanup[2] removing packaging._typing +STDERR: # cleanup[2] removing packaging.version +STDERR: # cleanup[2] removing deprecation +STDERR: # destroy deprecation +STDERR: # cleanup[2] removing _socket +STDERR: # cleanup[2] removing select +STDERR: # cleanup[2] removing selectors +STDERR: # cleanup[2] removing socket +STDERR: # cleanup[2] removing shlex +STDERR: # cleanup[2] removing tempfile +STDERR: # cleanup[2] removing zipfile +STDERR: # cleanup[2] removing whichcraft +STDERR: # cleanup[2] removing xml.parsers +STDERR: # cleanup[2] removing pyexpat.errors +STDERR: # cleanup[2] removing pyexpat.model +STDERR: # cleanup[2] removing pyexpat +STDERR: # cleanup[2] removing xml.parsers.expat.model +STDERR: # cleanup[2] removing xml.parsers.expat.errors +STDERR: # cleanup[2] removing xml.parsers.expat +STDERR: # cleanup[2] removing xml.sax.handler +STDERR: # cleanup[2] removing xml.sax._exceptions +STDERR: # cleanup[2] removing xml.sax.xmlreader +STDERR: # cleanup[2] removing xml.sax +STDERR: # cleanup[2] removing email +STDERR: # cleanup[2] removing http +STDERR: # cleanup[2] removing email.errors +STDERR: # cleanup[2] removing email.quoprimime +STDERR: # cleanup[2] removing email.base64mime +STDERR: # cleanup[2] removing quopri +STDERR: # cleanup[2] removing email.encoders +STDERR: # cleanup[2] removing email.charset +STDERR: # cleanup[2] removing email.header +STDERR: # cleanup[2] removing locale +STDERR: # cleanup[2] removing calendar +STDERR: # cleanup[2] removing email._parseaddr +STDERR: # cleanup[2] removing email.utils +STDERR: # cleanup[2] removing email._policybase +STDERR: # cleanup[2] removing email.feedparser +STDERR: # cleanup[2] removing email.parser +STDERR: # cleanup[2] removing uu +STDERR: # cleanup[2] removing email._encoded_words +STDERR: # cleanup[2] removing email.iterators +STDERR: # cleanup[2] removing email.message +STDERR: # cleanup[2] removing _ssl +STDERR: # cleanup[2] removing ssl +STDERR: # cleanup[2] removing http.client +STDERR: # cleanup[2] removing urllib.response +STDERR: # cleanup[2] removing urllib.error +STDERR: # cleanup[2] removing nturl2path +STDERR: # destroy nturl2path +STDERR: # cleanup[2] removing urllib.request +STDERR: # cleanup[2] removing xml.sax.saxutils +STDERR: # cleanup[2] removing platform +STDERR: # cleanup[2] removing xmltodict +STDERR: # cleanup[2] removing apkutils2.apkfile +STDERR: # cleanup[2] removing apkutils2.axml +STDERR: # cleanup[2] removing apkutils2.axml.chunk +STDERR: # cleanup[2] removing apkutils2.axml.arscparser +STDERR: # cleanup[2] removing apkutils2.axml.public +STDERR: # cleanup[2] removing apkutils2.axml.axmlparser +STDERR: # cleanup[2] removing apkutils2.dex +STDERR: # cleanup[2] removing array +STDERR: # cleanup[2] removing apkutils2.dex.util +STDERR: # cleanup[2] removing apkutils2.dex.byteio +STDERR: # cleanup[2] removing apkutils2.dex.dalvikformats +STDERR: # cleanup[2] removing apkutils2.dex.dalvik +STDERR: # cleanup[2] removing apkutils2.dex.dexparser +STDERR: # cleanup[2] removing apkutils2.manifest +STDERR: # cleanup[2] removing cigam +STDERR: # destroy cigam +STDERR: # cleanup[2] removing apkutils2 +STDERR: # cleanup[2] removing plistlib +STDERR: # cleanup[2] removing pyparsing.util +STDERR: # cleanup[2] removing pyparsing.unicode +STDERR: # destroy pyparsing.unicode +STDERR: # cleanup[2] removing pyparsing.exceptions +STDERR: # cleanup[2] removing pyparsing.actions +STDERR: # cleanup[2] removing pprint +STDERR: # cleanup[2] removing pyparsing.results +STDERR: # cleanup[2] removing pyparsing.core +STDERR: # cleanup[2] removing html.entities +STDERR: # cleanup[2] removing html +STDERR: # cleanup[2] removing pyparsing.helpers +STDERR: # cleanup[2] removing pyparsing.testing +STDERR: # destroy pyparsing.testing +STDERR: # cleanup[2] removing pyparsing.common +STDERR: # destroy pyparsing.common +STDERR: # cleanup[2] removing pyparsing +STDERR: # destroy pyparsing +STDERR: # cleanup[2] removing packaging._compat +STDERR: # cleanup[2] removing setuptools._distutils +STDERR: # cleanup[2] removing jaraco +STDERR: # destroy jaraco +STDERR: # cleanup[2] removing _queue +STDERR: # cleanup[2] removing queue +STDERR: # cleanup[2] removing more_itertools.recipes +STDERR: # cleanup[2] removing more_itertools.more +STDERR: # cleanup[2] removing more_itertools +STDERR: # cleanup[2] removing jaraco.functools +STDERR: # destroy jaraco.functools +STDERR: # cleanup[2] removing distutils.compat.py38 +STDERR: # cleanup[2] removing distutils.compat +STDERR: # cleanup[2] removing distutils.compat.py39 +STDERR: # cleanup[2] removing distutils.errors +STDERR: # cleanup[2] removing distutils._modified +STDERR: # cleanup[2] removing distutils._log +STDERR: # cleanup[2] removing distutils.file_util +STDERR: # cleanup[2] removing distutils.dir_util +STDERR: # cleanup[2] removing distutils.debug +STDERR: # cleanup[2] removing distutils.spawn +STDERR: # cleanup[2] removing distutils.archive_util +STDERR: # cleanup[2] removing sysconfig +STDERR: # cleanup[2] removing distutils.util +STDERR: # cleanup[2] removing distutils.cmd +STDERR: # cleanup[2] removing distutils +STDERR: # cleanup[2] removing packaging.tags +STDERR: # cleanup[2] removing packaging.utils +STDERR: # cleanup[2] removing packaging.specifiers +STDERR: # cleanup[2] removing packaging.markers +STDERR: # cleanup[2] removing packaging.requirements +STDERR: # cleanup[2] removing importlib._common +STDERR: # cleanup[2] removing importlib.resources +STDERR: # cleanup[2] removing backports +STDERR: # destroy backports +STDERR: # cleanup[2] removing backports.tarfile.compat +STDERR: # cleanup[2] removing backports.tarfile.compat.py38 +STDERR: # cleanup[2] removing backports.tarfile +STDERR: # cleanup[2] removing jaraco.context +STDERR: # destroy jaraco.context +STDERR: # cleanup[2] removing jaraco.text +STDERR: # destroy jaraco.text +STDERR: # cleanup[2] removing platformdirs.api +STDERR: # cleanup[2] removing platformdirs.version +STDERR: # cleanup[2] removing platformdirs.windows +STDERR: # cleanup[2] removing platformdirs +STDERR: # destroy platformdirs +STDERR: # cleanup[2] removing pkg_resources +STDERR: # cleanup[2] removing adbutils._utils +STDERR: # cleanup[2] removing adbutils.errors +STDERR: # cleanup[2] removing dataclasses +STDERR: # destroy dataclasses +STDERR: # cleanup[2] removing adbutils._proto +STDERR: # cleanup[2] removing adbutils._version +STDERR: # cleanup[2] removing adbutils._adb +STDERR: # cleanup[2] removing urllib3.packages +STDERR: # cleanup[2] removing urllib3.packages.six +STDERR: # cleanup[2] removing urllib3.packages.six.moves +STDERR: # cleanup[2] removing urllib3.packages.six.moves.http_client +STDERR: # cleanup[2] removing urllib3.exceptions +STDERR: # cleanup[2] removing urllib3._version +STDERR: # cleanup[2] removing urllib3._collections +STDERR: # cleanup[2] removing urllib3.contrib +STDERR: # cleanup[2] removing urllib3.contrib._appengine_environ +STDERR: # cleanup[2] removing urllib3.util.wait +STDERR: # cleanup[2] removing urllib3.util.connection +STDERR: # cleanup[2] removing urllib3.util.request +STDERR: # cleanup[2] removing urllib3.util.response +STDERR: # cleanup[2] removing urllib3.util.retry +STDERR: # cleanup[2] removing hmac +STDERR: # cleanup[2] removing urllib3.util.url +STDERR: # cleanup[2] removing urllib3.util.ssltransport +STDERR: # cleanup[2] removing urllib3.util.ssl_ +STDERR: # cleanup[2] removing urllib3.util.timeout +STDERR: # cleanup[2] removing urllib3.util +STDERR: # cleanup[2] removing urllib3.util.proxy +STDERR: # cleanup[2] removing ipaddress +STDERR: # cleanup[2] removing urllib3.util.ssl_match_hostname +STDERR: # cleanup[2] removing urllib3.connection +STDERR: # cleanup[2] removing mimetypes +STDERR: # cleanup[2] removing urllib3.fields +STDERR: # cleanup[2] removing urllib3.filepost +STDERR: # cleanup[2] removing urllib3.packages.six.moves.urllib +STDERR: # cleanup[2] removing urllib3.packages.six.moves.urllib.parse +STDERR: # cleanup[2] removing urllib3.request +STDERR: # cleanup[2] removing urllib3.response +STDERR: # cleanup[2] removing urllib3.util.queue +STDERR: # cleanup[2] removing urllib3.connectionpool +STDERR: # cleanup[2] removing urllib3.poolmanager +STDERR: # cleanup[2] removing urllib3 +STDERR: # cleanup[2] removing charset_normalizer.constant +STDERR: # cleanup[2] removing charset_normalizer.md__mypyc +STDERR: # cleanup[2] removing unicodedata +STDERR: # cleanup[2] removing _multibytecodec +STDERR: # cleanup[2] removing charset_normalizer.utils +STDERR: # cleanup[2] removing charset_normalizer.md +STDERR: # cleanup[2] removing charset_normalizer.models +STDERR: # cleanup[2] removing charset_normalizer.cd +STDERR: # cleanup[2] removing charset_normalizer.api +STDERR: # cleanup[2] removing charset_normalizer.legacy +STDERR: # cleanup[2] removing charset_normalizer.version +STDERR: # cleanup[2] removing charset_normalizer +STDERR: # cleanup[2] removing http.cookiejar +STDERR: # cleanup[2] removing http.cookies +STDERR: # cleanup[2] removing requests.compat +STDERR: # cleanup[2] removing requests.exceptions +STDERR: # cleanup[2] removing requests.packages.urllib3.packages +STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six +STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six.moves +STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six.moves.http_client +STDERR: # cleanup[2] removing requests.packages.urllib3.exceptions +STDERR: # cleanup[2] removing requests.packages.urllib3._version +STDERR: # cleanup[2] removing requests.packages.urllib3._collections +STDERR: # cleanup[2] removing requests.packages.urllib3.contrib +STDERR: # cleanup[2] removing requests.packages.urllib3.contrib._appengine_environ +STDERR: # cleanup[2] removing requests.packages.urllib3.util.wait +STDERR: # cleanup[2] removing requests.packages.urllib3.util.connection +STDERR: # cleanup[2] removing requests.packages.urllib3.util.request +STDERR: # cleanup[2] removing requests.packages.urllib3.util.response +STDERR: # cleanup[2] removing requests.packages.urllib3.util.retry +STDERR: # cleanup[2] removing requests.packages.urllib3.util.url +STDERR: # cleanup[2] removing requests.packages.urllib3.util.ssltransport +STDERR: # cleanup[2] removing requests.packages.urllib3.util.ssl_ +STDERR: # cleanup[2] removing requests.packages.urllib3.util.timeout +STDERR: # cleanup[2] removing requests.packages.urllib3.util +STDERR: # cleanup[2] removing requests.packages.urllib3.util.proxy +STDERR: # cleanup[2] removing requests.packages.urllib3.util.ssl_match_hostname +STDERR: # cleanup[2] removing requests.packages.urllib3.connection +STDERR: # cleanup[2] removing requests.packages.urllib3.fields +STDERR: # cleanup[2] removing requests.packages.urllib3.filepost +STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six.moves.urllib +STDERR: # cleanup[2] removing requests.packages.urllib3.packages.six.moves.urllib.parse +STDERR: # cleanup[2] removing requests.packages.urllib3.request +STDERR: # cleanup[2] removing requests.packages.urllib3.response +STDERR: # cleanup[2] removing requests.packages.urllib3.util.queue +STDERR: # cleanup[2] removing requests.packages.urllib3.connectionpool +STDERR: # cleanup[2] removing requests.packages.urllib3.poolmanager +STDERR: # cleanup[2] removing requests.packages.urllib3 +STDERR: # cleanup[2] removing idna.idnadata +STDERR: # cleanup[2] removing idna.intranges +STDERR: # cleanup[2] removing idna.core +STDERR: # cleanup[2] removing idna.package_data +STDERR: # cleanup[2] removing idna +STDERR: # cleanup[2] removing requests.packages.idna.idnadata +STDERR: # cleanup[2] removing requests.packages.idna.intranges +STDERR: # cleanup[2] removing requests.packages.idna.core +STDERR: # cleanup[2] removing requests.packages.idna.package_data +STDERR: # cleanup[2] removing requests.packages.idna +STDERR: # cleanup[2] removing requests.packages.chardet +STDERR: # cleanup[2] removing requests.packages +STDERR: # cleanup[2] removing certifi.core +STDERR: # cleanup[2] removing certifi +STDERR: # destroy certifi +STDERR: # destroy certifi.core +STDERR: # cleanup[2] removing requests.certs +STDERR: # cleanup[2] removing requests.__version__ +STDERR: # destroy requests.__version__ +STDERR: # cleanup[2] removing requests._internal_utils +STDERR: # cleanup[2] removing requests.cookies +STDERR: # cleanup[2] removing requests.structures +STDERR: # cleanup[2] removing requests.utils +STDERR: # cleanup[2] removing requests.auth +STDERR: # cleanup[2] removing stringprep +STDERR: # cleanup[2] removing encodings.idna +STDERR: # cleanup[2] removing requests.hooks +STDERR: # cleanup[2] removing requests.status_codes +STDERR: # cleanup[2] removing requests.models +STDERR: # cleanup[2] removing requests.adapters +STDERR: # cleanup[2] removing requests.sessions +STDERR: # cleanup[2] removing requests.api +STDERR: # cleanup[2] removing requests +STDERR: # cleanup[2] removing PIL._version +STDERR: # destroy PIL._version +STDERR: # cleanup[2] removing PIL +STDERR: # destroy PIL +STDERR: # cleanup[2] removing PIL.ExifTags +STDERR: # cleanup[2] removing PIL._deprecate +STDERR: # destroy PIL._deprecate +STDERR: # cleanup[2] removing PIL.ImageMode +STDERR: # cleanup[2] removing PIL.TiffTags +STDERR: # cleanup[2] removing PIL._binary +STDERR: # destroy PIL._binary +STDERR: # cleanup[2] removing typing_extensions +STDERR: # destroy typing_extensions +STDERR: # cleanup[2] removing PIL._typing +STDERR: # destroy PIL._typing +STDERR: # cleanup[2] removing PIL._util +STDERR: # destroy PIL._util +STDERR: # cleanup[2] removing PIL._imaging +STDERR: # cleanup[2] removing PIL.Image +STDERR: # cleanup[2] removing decorator +STDERR: # destroy decorator +STDERR: # cleanup[2] removing retry.compat +STDERR: # cleanup[2] removing retry.api +STDERR: # cleanup[2] removing retry +STDERR: # destroy retry +STDERR: # destroy retry.compat +STDERR: # destroy retry.api +STDERR: # cleanup[2] removing adbutils._device +STDERR: # cleanup[2] removing adbutils +STDERR: # cleanup[2] removing filelock._error +STDERR: # cleanup[2] removing filelock._api +STDERR: # cleanup[2] removing filelock._util +STDERR: # cleanup[2] removing filelock._soft +STDERR: # cleanup[2] removing filelock._unix +STDERR: # cleanup[2] removing filelock._windows +STDERR: # cleanup[2] removing concurrent +STDERR: # cleanup[2] removing concurrent.futures._base +STDERR: # cleanup[2] removing concurrent.futures +STDERR: # cleanup[2] removing asyncio.constants +STDERR: # cleanup[2] removing asyncio.format_helpers +STDERR: # cleanup[2] removing asyncio.base_futures +STDERR: # cleanup[2] removing asyncio.log +STDERR: # cleanup[2] removing asyncio.coroutines +STDERR: # cleanup[2] removing _contextvars +STDERR: # cleanup[2] removing contextvars +STDERR: # cleanup[2] removing asyncio.exceptions +STDERR: # cleanup[2] removing asyncio.base_tasks +STDERR: # cleanup[2] removing _asyncio +STDERR: # cleanup[2] removing asyncio.events +STDERR: # cleanup[2] removing asyncio.futures +STDERR: # cleanup[2] removing asyncio.protocols +STDERR: # cleanup[2] removing asyncio.transports +STDERR: # cleanup[2] removing asyncio.sslproto +STDERR: # cleanup[2] removing asyncio.locks +STDERR: # cleanup[2] removing asyncio.tasks +STDERR: # cleanup[2] removing asyncio.staggered +STDERR: # cleanup[2] removing asyncio.trsock +STDERR: # cleanup[2] removing asyncio.base_events +STDERR: # cleanup[2] removing asyncio.runners +STDERR: # cleanup[2] removing asyncio.queues +STDERR: # cleanup[2] removing asyncio.streams +STDERR: # cleanup[2] removing asyncio.subprocess +STDERR: # cleanup[2] removing asyncio.threads +STDERR: # cleanup[2] removing _overlapped +STDERR: # cleanup[2] removing asyncio.base_subprocess +STDERR: # cleanup[2] removing asyncio.proactor_events +STDERR: # cleanup[2] removing asyncio.selector_events +STDERR: # cleanup[2] removing asyncio.windows_utils +STDERR: # cleanup[2] removing asyncio.windows_events +STDERR: # cleanup[2] removing asyncio +STDERR: # cleanup[2] removing filelock.asyncio +STDERR: # cleanup[2] removing filelock.version +STDERR: # destroy filelock.version +STDERR: # cleanup[2] removing filelock +STDERR: # cleanup[2] removing logzero.colors +STDERR: # cleanup[2] removing logzero.jsonlogger +STDERR: # cleanup[2] removing _compat_pickle +STDERR: # cleanup[2] removing _pickle +STDERR: # cleanup[2] removing pickle +STDERR: # cleanup[2] removing logging.handlers +STDERR: # cleanup[2] removing logzero +STDERR: # cleanup[2] removing six +STDERR: # cleanup[2] removing six.moves +STDERR: # cleanup[2] removing six.moves.urllib +STDERR: # cleanup[2] removing six.moves.urllib.parse +STDERR: # cleanup[2] removing cached_property +STDERR: # destroy cached_property +STDERR: # cleanup[2] removing wrapt.wrappers +STDERR: # cleanup[2] removing wrapt._wrappers +STDERR: # cleanup[2] removing wrapt.__wrapt__ +STDERR: # cleanup[2] removing wrapt.patches +STDERR: # cleanup[2] removing wrapt.weakrefs +STDERR: # cleanup[2] removing wrapt.arguments +STDERR: # cleanup[2] removing wrapt.decorators +STDERR: # cleanup[2] removing wrapt.importer +STDERR: # cleanup[2] removing wrapt +STDERR: # cleanup[2] removing deprecated.classic +STDERR: # cleanup[2] removing deprecated +STDERR: # destroy deprecated +STDERR: # destroy deprecated.classic +STDERR: # cleanup[2] removing uiautomator2._proto +STDERR: # cleanup[2] removing uiautomator2.abcd +STDERR: # cleanup[2] removing uiautomator2.exceptions +STDERR: # cleanup[2] removing uiautomator2.utils +STDERR: # cleanup[2] removing lxml +STDERR: # destroy lxml +STDERR: # cleanup[2] removing _cython_3_0_11 +STDERR: # destroy _cython_3_0_11 +STDERR: # cleanup[2] removing gc +STDERR: # cleanup[2] removing lxml._elementpath +STDERR: # cleanup[2] removing gzip +STDERR: # cleanup[2] removing lxml.etree +STDERR: # cleanup[2] removing uiautomator2.xpath +STDERR: # cleanup[2] removing uiautomator2._selector +STDERR: # cleanup[2] removing tarfile +STDERR: # cleanup[2] removing progress +STDERR: # cleanup[2] removing progress.colors +STDERR: # cleanup[2] removing progress.bar +STDERR: # cleanup[2] removing uiautomator2.version +STDERR: # cleanup[2] removing uiautomator2.init +STDERR: # cleanup[2] removing uiautomator2.settings +STDERR: # cleanup[2] removing uiautomator2.swipe +STDERR: # cleanup[2] removing uiautomator2.watcher +STDERR: # cleanup[2] removing uiautomator2 +STDERR: # cleanup[2] removing emoji.unicode_codes.data_dict +STDERR: # cleanup[2] removing emoji.unicode_codes +STDERR: # cleanup[2] removing emoji.core +STDERR: # cleanup[2] removing emoji +STDERR: # cleanup[2] removing _uuid +STDERR: # cleanup[2] removing uuid +STDERR: # cleanup[2] removing GramAddict.core.log +STDERR: # cleanup[2] removing GramAddict.core.report +STDERR: # cleanup[2] removing GramAddict.core.resources +STDERR: # cleanup[2] removing atomicwrites +STDERR: # destroy atomicwrites +STDERR: # cleanup[2] removing GramAddict.core.storage +STDERR: # cleanup[2] removing GramAddict.core.utils +STDERR: # cleanup[2] removing GramAddict.core.device_facade +STDERR: # cleanup[2] removing langdetect.lang_detect_exception +STDERR: # cleanup[2] removing langdetect.language +STDERR: # cleanup[2] removing langdetect.utils +STDERR: # cleanup[2] removing langdetect.utils.messages +STDERR: # cleanup[2] removing langdetect.utils.unicode_block +STDERR: # cleanup[2] removing encodings.unicode_escape +STDERR: # cleanup[2] removing langdetect.utils.ngram +STDERR: # cleanup[2] removing langdetect.detector +STDERR: # cleanup[2] removing langdetect.utils.lang_profile +STDERR: # cleanup[2] removing langdetect.detector_factory +STDERR: # cleanup[2] removing langdetect +STDERR: # destroy langdetect +STDERR: # destroy langdetect.lang_detect_exception +STDERR: # destroy langdetect.language +STDERR: # destroy langdetect.utils +STDERR: # destroy langdetect.utils.unicode_block +STDERR: # destroy langdetect.utils.ngram +STDERR: # destroy langdetect.utils.lang_profile +STDERR: # destroy langdetect.detector +STDERR: # destroy langdetect.detector_factory +STDERR: # cleanup[2] removing GramAddict.core.views +STDERR: # cleanup[2] removing GramAddict.core.filter +STDERR: # cleanup[2] removing spintax.spintax +STDERR: # cleanup[2] removing spintax +STDERR: # cleanup[2] removing GramAddict.core.session_state +STDERR: # cleanup[2] removing GramAddict.core.interaction +STDERR: # cleanup[2] removing GramAddict.core.navigation +STDERR: # cleanup[2] removing GramAddict.core.persistent_list +STDERR: # cleanup[2] removing GramAddict.core.bot_flow +STDERR: # cleanup[2] removing GramAddict +STDERR: # destroy GramAddict +STDERR: # cleanup[2] removing netrc +STDERR: # destroy netrc +STDERR: # cleanup[2] removing GramAddict.plugins +STDERR: # cleanup[2] removing GramAddict.core.decorators +STDERR: # cleanup[2] removing GramAddict.core.scroll_end_detector +STDERR: # cleanup[2] removing GramAddict.plugins.action_unfollow_followers +STDERR: # cleanup[2] removing GramAddict.plugins.cloned_app +STDERR: # cleanup[2] removing GramAddict.plugins.core_arguments +STDERR: # cleanup[2] removing GramAddict.plugins.data_analytics +STDERR: # cleanup[2] removing GramAddict.plugins.dbinit +STDERR: # cleanup[2] removing GramAddict.core.handle_sources +STDERR: # cleanup[2] removing GramAddict.plugins.interact_blogger +STDERR: # cleanup[2] removing GramAddict.plugins.interact_blogger_followers +STDERR: # cleanup[2] removing GramAddict.plugins.interact_blogger_post_likers +STDERR: # cleanup[2] removing GramAddict.plugins.interact_feed +STDERR: # cleanup[2] removing GramAddict.plugins.interact_hashtag_likers +STDERR: # cleanup[2] removing GramAddict.plugins.interact_hashtag_posts +STDERR: # cleanup[2] removing GramAddict.plugins.interact_place_likers +STDERR: # cleanup[2] removing GramAddict.plugins.interact_place_posts +STDERR: # cleanup[2] removing GramAddict.plugins.like_from_urls +STDERR: # cleanup[2] removing GramAddict.plugins.nocodb_record_creation_test +STDERR: # cleanup[2] removing jwt.exceptions +STDERR: # cleanup[2] removing jwt.types +STDERR: # cleanup[2] removing jwt.utils +STDERR: # cleanup[2] removing jwt.algorithms +STDERR: # cleanup[2] removing jwt.api_jwk +STDERR: # cleanup[2] removing jwt.warnings +STDERR: # cleanup[2] removing jwt.api_jws +STDERR: # cleanup[2] removing jwt.api_jwt +STDERR: # cleanup[2] removing jwt.jwk_set_cache +STDERR: # cleanup[2] removing jwt.jwks_client +STDERR: # cleanup[2] removing jwt +STDERR: # cleanup[2] removing GramAddict.plugins.nocodb_storage +STDERR: # cleanup[2] removing GramAddict.plugins.remove_followers +STDERR: # cleanup[2] removing GramAddict.plugins.telegram +STDERR: # destroy _sitebuiltins +STDERR: # destroy GramAddict.core +STDERR: # destroy GramAddict.core.plugin_loader +STDERR: # destroy GramAddict.core.config +STDERR: # destroy GramAddict.core.log +STDERR: # destroy GramAddict.core.report +STDERR: # destroy GramAddict.core.resources +STDERR: # destroy GramAddict.core.utils +STDERR: # destroy GramAddict.core.device_facade +STDERR: # destroy GramAddict.core.views +STDERR: # destroy GramAddict.core.filter +STDERR: # destroy GramAddict.core.session_state +STDERR: # destroy GramAddict.core.interaction +STDERR: # destroy GramAddict.core.navigation +STDERR: # destroy GramAddict.core.persistent_list +STDERR: # destroy GramAddict.core.bot_flow +STDERR: # destroy GramAddict.core.decorators +STDERR: # destroy GramAddict.core.scroll_end_detector +STDERR: # destroy GramAddict.core.handle_sources +STDERR: # destroy GramAddict.plugins +STDERR: # destroy GramAddict.plugins.action_unfollow_followers +STDERR: # destroy GramAddict.plugins.cloned_app +STDERR: # destroy GramAddict.plugins.core_arguments +STDERR: # destroy GramAddict.plugins.data_analytics +STDERR: # destroy GramAddict.plugins.dbinit +STDERR: # destroy GramAddict.plugins.interact_blogger +STDERR: # destroy GramAddict.plugins.interact_blogger_followers +STDERR: # destroy GramAddict.plugins.interact_blogger_post_likers +STDERR: # destroy GramAddict.plugins.interact_feed +STDERR: # destroy GramAddict.plugins.interact_hashtag_likers +STDERR: # destroy GramAddict.plugins.interact_hashtag_posts +STDERR: # destroy GramAddict.plugins.interact_place_likers +STDERR: # destroy GramAddict.plugins.interact_place_posts +STDERR: # destroy GramAddict.plugins.like_from_urls +STDERR: # destroy GramAddict.plugins.nocodb_record_creation_test +STDERR: # destroy GramAddict.plugins.nocodb_storage +STDERR: # destroy GramAddict.plugins.remove_followers +STDERR: # destroy GramAddict.plugins.telegram +STDERR: # destroy pyparsing.util +STDERR: # destroy pyparsing.exceptions +STDERR: # destroy pyparsing.actions +STDERR: # destroy pyparsing.results +STDERR: # destroy pyparsing.core +STDERR: # destroy pyparsing.helpers +STDERR: # destroy langdetect.utils.messages +STDERR: # destroy spintax +STDERR: # destroy spintax.spintax +STDERR: # destroy GramAddict.core.storage +STDERR: # destroy uuid +STDERR: # destroy jwt +STDERR: # destroy jwt.exceptions +STDERR: # destroy jwt.types +STDERR: # destroy jwt.utils +STDERR: # destroy jwt.algorithms +STDERR: # destroy jwt.api_jwk +STDERR: # destroy jwt.warnings +STDERR: # destroy jwt.api_jwt +STDERR: # destroy jwt.jwk_set_cache +STDERR: # destroy jwt.jwks_client +STDERR: # destroy jwt.api_jws +STDERR: # cleanup[3] wiping encodings.unicode_escape +STDERR: # cleanup[3] wiping _uuid +STDERR: # cleanup[3] wiping emoji +STDERR: # destroy emoji.core +STDERR: # cleanup[3] wiping emoji.unicode_codes +STDERR: # destroy emoji.unicode_codes.data_dict +STDERR: # cleanup[3] wiping uiautomator2 +STDERR: # destroy uiautomator2._proto +STDERR: # destroy uiautomator2._selector +STDERR: # destroy logzero +STDERR: # destroy uiautomator2.abcd +STDERR: # destroy uiautomator2.exceptions +STDERR: # destroy uiautomator2.utils +STDERR: # destroy uiautomator2.xpath +STDERR: # destroy uiautomator2.version +STDERR: # destroy uiautomator2.init +STDERR: # destroy uiautomator2.settings +STDERR: # destroy uiautomator2.swipe +STDERR: # destroy uiautomator2.watcher +STDERR: # cleanup[3] wiping progress.bar +STDERR: # cleanup[3] wiping progress.colors +STDERR: # cleanup[3] wiping progress +STDERR: # destroy progress.colors +STDERR: # destroy progress.bar +STDERR: # cleanup[3] wiping tarfile +STDERR: # cleanup[3] wiping lxml.etree +STDERR: # cleanup[3] wiping gzip +STDERR: # cleanup[3] wiping lxml._elementpath +STDERR: # cleanup[3] wiping gc +STDERR: # cleanup[3] wiping wrapt +STDERR: # destroy wrapt.wrappers +STDERR: # destroy wrapt.__wrapt__ +STDERR: # destroy wrapt.patches +STDERR: # destroy wrapt.weakrefs +STDERR: # destroy wrapt.arguments +STDERR: # destroy wrapt.decorators +STDERR: # destroy wrapt.importer +STDERR: # cleanup[3] wiping wrapt._wrappers +STDERR: # cleanup[3] wiping six.moves.urllib.parse +STDERR: # cleanup[3] wiping six.moves.urllib +STDERR: # cleanup[3] wiping six.moves +STDERR: # cleanup[3] wiping six +STDERR: # destroy six.moves.urllib +STDERR: # destroy six.moves +STDERR: # cleanup[3] wiping logging.handlers +STDERR: # destroy pickle +STDERR: # cleanup[3] wiping _pickle +STDERR: # cleanup[3] wiping _compat_pickle +STDERR: # cleanup[3] wiping logzero.jsonlogger +STDERR: # cleanup[3] wiping logzero.colors +STDERR: # cleanup[3] wiping filelock +STDERR: # destroy filelock._error +STDERR: # destroy filelock._api +STDERR: # destroy filelock._util +STDERR: # destroy filelock._soft +STDERR: # destroy filelock._unix +STDERR: # destroy filelock._windows +STDERR: # destroy filelock.asyncio +STDERR: # cleanup[3] wiping asyncio +STDERR: # destroy asyncio.log +STDERR: # destroy asyncio.runners +STDERR: # destroy asyncio.queues +STDERR: # destroy asyncio.subprocess +STDERR: # destroy asyncio.threads +STDERR: # destroy asyncio.windows_events +STDERR: # cleanup[3] wiping asyncio.windows_utils +STDERR: # cleanup[3] wiping asyncio.selector_events +STDERR: # cleanup[3] wiping asyncio.proactor_events +STDERR: # destroy asyncio.base_events +STDERR: # cleanup[3] wiping asyncio.base_subprocess +STDERR: # cleanup[3] wiping _overlapped +STDERR: # cleanup[3] wiping asyncio.streams +STDERR: # cleanup[3] wiping asyncio.trsock +STDERR: # cleanup[3] wiping asyncio.staggered +STDERR: # cleanup[3] wiping asyncio.tasks +STDERR: # destroy asyncio.base_tasks +STDERR: # cleanup[3] wiping asyncio.locks +STDERR: # cleanup[3] wiping asyncio.sslproto +STDERR: # cleanup[3] wiping asyncio.transports +STDERR: # cleanup[3] wiping asyncio.protocols +STDERR: # cleanup[3] wiping asyncio.futures +STDERR: # cleanup[3] wiping asyncio.events +STDERR: # cleanup[3] wiping _asyncio +STDERR: # cleanup[3] wiping asyncio.exceptions +STDERR: # cleanup[3] wiping contextvars +STDERR: # cleanup[3] wiping _contextvars +STDERR: # destroy _contextvars +STDERR: # cleanup[3] wiping asyncio.coroutines +STDERR: # cleanup[3] wiping asyncio.base_futures +STDERR: # destroy asyncio.format_helpers +STDERR: # cleanup[3] wiping asyncio.constants +STDERR: # cleanup[3] wiping concurrent.futures +STDERR: # destroy concurrent.futures._base +STDERR: # cleanup[3] wiping concurrent +STDERR: # destroy concurrent.futures +STDERR: # cleanup[3] wiping adbutils +STDERR: # destroy adbutils._utils +STDERR: # destroy adbutils._proto +STDERR: # destroy adbutils._version +STDERR: # destroy pkg_resources +STDERR: # destroy adbutils._adb +STDERR: # destroy adbutils._device +STDERR: # destroy adbutils.errors +STDERR: # cleanup[3] wiping PIL.Image +STDERR: # destroy PIL.ExifTags +STDERR: # destroy PIL.ImageMode +STDERR: # destroy PIL.TiffTags +STDERR: # cleanup[3] wiping PIL._imaging +STDERR: # cleanup[3] wiping requests +STDERR: # destroy requests._internal_utils +STDERR: # destroy requests.compat +STDERR: # destroy requests.exceptions +STDERR: # destroy requests.packages +STDERR: # destroy idna +STDERR: # destroy idna.intranges +STDERR: # destroy idna.core +STDERR: # destroy idna.package_data +STDERR: # destroy requests.cookies +STDERR: # destroy requests.structures +STDERR: # destroy requests.utils +STDERR: # destroy requests.auth +STDERR: # destroy requests.hooks +STDERR: # destroy requests.status_codes +STDERR: # destroy requests.models +STDERR: # destroy requests.adapters +STDERR: # destroy requests.api +STDERR: # cleanup[3] wiping requests.sessions +STDERR: # cleanup[3] wiping encodings.idna +STDERR: # destroy stringprep +STDERR: # cleanup[3] wiping requests.certs +STDERR: # cleanup[3] wiping requests.packages.chardet +STDERR: # cleanup[3] wiping requests.packages.idna.idnadata +STDERR: # cleanup[3] wiping idna.idnadata +STDERR: # cleanup[3] wiping requests.packages.urllib3 +STDERR: # destroy urllib3._version +STDERR: # destroy urllib3._collections +STDERR: # destroy urllib3.packages +STDERR: # destroy urllib3.exceptions +STDERR: # destroy urllib3.contrib +STDERR: # destroy urllib3.connection +STDERR: # destroy urllib3.fields +STDERR: # destroy urllib3.filepost +STDERR: # destroy urllib3.request +STDERR: # destroy urllib3.response +STDERR: # destroy urllib3.connectionpool +STDERR: # destroy urllib3.poolmanager +STDERR: # cleanup[3] wiping requests.packages.urllib3.util.queue +STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six.moves.urllib.parse +STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six.moves.urllib +STDERR: # cleanup[3] wiping requests.packages.urllib3.util.ssl_match_hostname +STDERR: # destroy ipaddress +STDERR: # cleanup[3] wiping requests.packages.urllib3.util.proxy +STDERR: # cleanup[3] wiping requests.packages.urllib3.util +STDERR: # destroy urllib3.util.wait +STDERR: # destroy urllib3.util.request +STDERR: # destroy urllib3.util.response +STDERR: # destroy urllib3.util.retry +STDERR: # destroy urllib3.util.url +STDERR: # destroy urllib3.util.ssltransport +STDERR: # destroy urllib3.util.ssl_ +STDERR: # destroy urllib3.util.timeout +STDERR: # destroy urllib3.util.proxy +STDERR: # destroy urllib3.util.ssl_match_hostname +STDERR: # destroy urllib3.util.queue +STDERR: # cleanup[3] wiping requests.packages.urllib3.util.connection +STDERR: # destroy urllib3.contrib._appengine_environ +STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six.moves.http_client +STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six.moves +STDERR: # cleanup[3] wiping requests.packages.urllib3.packages.six +STDERR: # destroy urllib3.packages.six.moves.urllib +STDERR: # destroy urllib3.packages.six.moves +STDERR: # cleanup[3] wiping http.cookies +STDERR: # cleanup[3] wiping http.cookiejar +STDERR: # cleanup[3] wiping charset_normalizer +STDERR: # destroy charset_normalizer.models +STDERR: # destroy charset_normalizer.cd +STDERR: # destroy charset_normalizer.api +STDERR: # destroy charset_normalizer.legacy +STDERR: # destroy charset_normalizer.version +STDERR: # cleanup[3] wiping charset_normalizer.md +STDERR: # cleanup[3] wiping charset_normalizer.utils +STDERR: # cleanup[3] wiping _multibytecodec +STDERR: # cleanup[3] wiping unicodedata +STDERR: # cleanup[3] wiping charset_normalizer.md__mypyc +STDERR: # cleanup[3] wiping charset_normalizer.constant +STDERR: # cleanup[3] wiping urllib3 +STDERR: # cleanup[3] wiping urllib3.packages.six.moves.urllib.parse +STDERR: # cleanup[3] wiping mimetypes +STDERR: # cleanup[3] wiping urllib3.util +STDERR: # cleanup[3] wiping hmac +STDERR: # cleanup[3] wiping urllib3.util.connection +STDERR: # cleanup[3] wiping urllib3.packages.six.moves.http_client +STDERR: # cleanup[3] wiping urllib3.packages.six +STDERR: # cleanup[3] wiping platformdirs.windows +STDERR: # cleanup[3] wiping platformdirs.version +STDERR: # cleanup[3] wiping platformdirs.api +STDERR: # cleanup[3] wiping backports.tarfile +STDERR: # destroy backports.tarfile.compat +STDERR: # destroy backports.tarfile.compat.py38 +STDERR: # cleanup[3] wiping importlib.resources +STDERR: # cleanup[3] wiping importlib._common +STDERR: # cleanup[3] wiping packaging.requirements +STDERR: # cleanup[3] wiping packaging.markers +STDERR: # cleanup[3] wiping packaging.specifiers +STDERR: # cleanup[3] wiping packaging.utils +STDERR: # cleanup[3] wiping packaging.tags +STDERR: # cleanup[3] wiping distutils +STDERR: # destroy distutils._log +STDERR: # destroy distutils.compat +STDERR: # destroy distutils.errors +STDERR: # destroy distutils.debug +STDERR: # destroy distutils.spawn +STDERR: # destroy distutils.cmd +STDERR: # cleanup[3] wiping distutils.util +STDERR: # destroy sysconfig +STDERR: # cleanup[3] wiping distutils.archive_util +STDERR: # cleanup[3] wiping distutils.dir_util +STDERR: # cleanup[3] wiping distutils.file_util +STDERR: # cleanup[3] wiping distutils._modified +STDERR: # cleanup[3] wiping distutils.compat.py39 +STDERR: # cleanup[3] wiping distutils.compat.py38 +STDERR: # cleanup[3] wiping more_itertools +STDERR: # destroy more_itertools.recipes +STDERR: # destroy more_itertools.more +STDERR: # cleanup[3] wiping queue +STDERR: # cleanup[3] wiping _queue +STDERR: # cleanup[3] wiping setuptools._distutils +STDERR: # cleanup[3] wiping packaging._compat +STDERR: # cleanup[3] wiping html +STDERR: # destroy html.entities +STDERR: # cleanup[3] wiping pprint +STDERR: # cleanup[3] wiping plistlib +STDERR: # cleanup[3] wiping apkutils2 +STDERR: # destroy apkutils2.apkfile +STDERR: # destroy apkutils2.axml +STDERR: # destroy apkutils2.axml.chunk +STDERR: # destroy apkutils2.axml.arscparser +STDERR: # destroy apkutils2.axml.axmlparser +STDERR: # destroy apkutils2.dex +STDERR: # destroy apkutils2.dex.byteio +STDERR: # destroy apkutils2.dex.dalvik +STDERR: # destroy apkutils2.dex.dexparser +STDERR: # destroy apkutils2.manifest +STDERR: # cleanup[3] wiping apkutils2.dex.dalvikformats +STDERR: # cleanup[3] wiping apkutils2.dex.util +STDERR: # cleanup[3] wiping array +STDERR: # cleanup[3] wiping apkutils2.axml.public +STDERR: # cleanup[3] wiping xmltodict +STDERR: # cleanup[3] wiping platform +STDERR: # cleanup[3] wiping xml.sax.saxutils +STDERR: # cleanup[3] wiping urllib.request +STDERR: # destroy http +STDERR: # cleanup[3] wiping urllib.error +STDERR: # cleanup[3] wiping urllib.response +STDERR: # cleanup[3] wiping http.client +STDERR: # cleanup[3] wiping ssl +STDERR: # cleanup[3] wiping _ssl +STDERR: # cleanup[3] wiping email.message +STDERR: # destroy uu +STDERR: # destroy quopri +STDERR: # cleanup[3] wiping email.iterators +STDERR: # cleanup[3] wiping email._encoded_words +STDERR: # cleanup[3] wiping email.parser +STDERR: # cleanup[3] wiping email.feedparser +STDERR: # cleanup[3] wiping email._policybase +STDERR: # cleanup[3] wiping email.utils +STDERR: # cleanup[3] wiping email._parseaddr +STDERR: # cleanup[3] wiping calendar +STDERR: # destroy locale +STDERR: # cleanup[3] wiping email.header +STDERR: # cleanup[3] wiping email.charset +STDERR: # cleanup[3] wiping email.encoders +STDERR: # cleanup[3] wiping email.base64mime +STDERR: # cleanup[3] wiping email.quoprimime +STDERR: # cleanup[3] wiping email.errors +STDERR: # cleanup[3] wiping email +STDERR: # destroy email._parseaddr +STDERR: # destroy email._policybase +STDERR: # destroy email._encoded_words +STDERR: # destroy email.errors +STDERR: # destroy email.quoprimime +STDERR: # destroy email.base64mime +STDERR: # destroy email.encoders +STDERR: # destroy email.charset +STDERR: # destroy email.header +STDERR: # destroy email.utils +STDERR: # destroy email.feedparser +STDERR: # destroy email.parser +STDERR: # destroy email.iterators +STDERR: # destroy email.message +STDERR: # cleanup[3] wiping xml.sax +STDERR: # destroy xml.sax._exceptions +STDERR: # destroy xml.sax.xmlreader +STDERR: # destroy xml.sax.saxutils +STDERR: # cleanup[3] wiping xml.sax.handler +STDERR: # cleanup[3] wiping xml.parsers.expat +STDERR: # cleanup[3] wiping xml.parsers.expat.errors +STDERR: # cleanup[3] wiping xml.parsers.expat.model +STDERR: # cleanup[3] wiping pyexpat +STDERR: # cleanup[3] wiping pyexpat.model +STDERR: # cleanup[3] wiping pyexpat.errors +STDERR: # cleanup[3] wiping xml.parsers +STDERR: # destroy xml.parsers.expat +STDERR: # cleanup[3] wiping whichcraft +STDERR: # cleanup[3] wiping zipfile +STDERR: # cleanup[3] wiping tempfile +STDERR: # cleanup[3] wiping shlex +STDERR: # cleanup[3] wiping socket +STDERR: # destroy selectors +STDERR: # cleanup[3] wiping select +STDERR: # cleanup[3] wiping _socket +STDERR: # cleanup[3] wiping packaging.version +STDERR: # cleanup[3] wiping packaging._typing +STDERR: # cleanup[3] wiping packaging._structures +STDERR: # cleanup[3] wiping packaging +STDERR: # destroy packaging._structures +STDERR: # destroy packaging._typing +STDERR: # destroy packaging._compat +STDERR: # destroy packaging.__about__ +STDERR: # destroy packaging.tags +STDERR: # destroy packaging.utils +STDERR: # destroy packaging.specifiers +STDERR: # destroy packaging.markers +STDERR: # destroy packaging.requirements +STDERR: # cleanup[3] wiping pathlib +STDERR: # cleanup[3] wiping urllib.parse +STDERR: # cleanup[3] wiping urllib +STDERR: # destroy urllib.parse +STDERR: # destroy urllib.response +STDERR: # destroy urllib.error +STDERR: # destroy urllib.request +STDERR: # cleanup[3] wiping xml.dom.minidom +STDERR: # cleanup[3] wiping xml.dom.xmlbuilder +STDERR: # cleanup[3] wiping xml.dom.NodeFilter +STDERR: # cleanup[3] wiping copy +STDERR: # cleanup[3] wiping xml.dom.minicompat +STDERR: # cleanup[3] wiping xml.dom +STDERR: # destroy xml.dom.domreg +STDERR: # destroy xml.dom.minicompat +STDERR: # destroy xml.dom.NodeFilter +STDERR: # destroy xml.dom.xmlbuilder +STDERR: # cleanup[3] wiping xml +STDERR: # destroy xml.dom +STDERR: # destroy xml.parsers +STDERR: # destroy xml.sax +STDERR: # cleanup[3] wiping shutil +STDERR: # cleanup[3] wiping lzma +STDERR: # cleanup[3] wiping _lzma +STDERR: # cleanup[3] wiping bz2 +STDERR: # destroy _compression +STDERR: # cleanup[3] wiping zlib +STDERR: # cleanup[3] wiping hashlib +STDERR: # cleanup[3] wiping _blake2 +STDERR: # cleanup[3] wiping _hashlib +STDERR: # cleanup[3] wiping subprocess +STDERR: # destroy signal +STDERR: # cleanup[3] wiping _winapi +STDERR: # cleanup[3] wiping msvcrt +STDERR: # cleanup[3] wiping errno +STDERR: # cleanup[3] wiping pkgutil +STDERR: # cleanup[3] wiping importlib.util +STDERR: # cleanup[3] wiping importlib.abc +STDERR: # cleanup[3] wiping inspect +STDERR: # destroy ast +STDERR: # destroy dis +STDERR: # destroy token +STDERR: # cleanup[3] wiping importlib.machinery +STDERR: # cleanup[3] wiping importlib +STDERR: # destroy importlib._common +STDERR: # destroy importlib.machinery +STDERR: # destroy importlib.abc +STDERR: # destroy importlib.util +STDERR: # destroy importlib.resources +STDERR: # cleanup[3] wiping importlib._bootstrap_external +STDERR: # cleanup[3] wiping importlib._bootstrap +STDERR: # cleanup[3] wiping _opcode +STDERR: # cleanup[3] wiping yaml +STDERR: # destroy yaml.error +STDERR: # destroy yaml.tokens +STDERR: # destroy yaml.events +STDERR: # destroy yaml.nodes +STDERR: # destroy yaml.reader +STDERR: # destroy yaml.scanner +STDERR: # destroy yaml.parser +STDERR: # destroy yaml.composer +STDERR: # destroy yaml.constructor +STDERR: # destroy yaml.resolver +STDERR: # destroy yaml.loader +STDERR: # destroy yaml.emitter +STDERR: # destroy yaml.serializer +STDERR: # destroy yaml.representer +STDERR: # destroy yaml.dumper +STDERR: # destroy yaml.cyaml +STDERR: # cleanup[3] wiping yaml._yaml +STDERR: # cleanup[3] wiping cython_runtime +STDERR: # cleanup[3] wiping base64 +STDERR: # cleanup[3] wiping binascii +STDERR: # cleanup[3] wiping configargparse +STDERR: # destroy argparse +STDERR: # destroy glob +STDERR: # cleanup[3] wiping textwrap +STDERR: # cleanup[3] wiping fnmatch +STDERR: # cleanup[3] wiping posixpath +STDERR: # cleanup[3] wiping json +STDERR: # destroy json.decoder +STDERR: # destroy json.encoder +STDERR: # cleanup[3] wiping json.scanner +STDERR: # cleanup[3] wiping _json +STDERR: # cleanup[3] wiping typing +STDERR: # cleanup[3] wiping colorama.win32 +STDERR: # cleanup[3] wiping ctypes.wintypes +STDERR: # destroy ctypes +STDERR: # cleanup[3] wiping ctypes._endian +STDERR: # cleanup[3] wiping struct +STDERR: # cleanup[3] wiping _struct +STDERR: # cleanup[3] wiping _ctypes +STDERR: # cleanup[3] wiping contextlib +STDERR: # cleanup[3] wiping datetime +STDERR: # cleanup[3] wiping _datetime +STDERR: # cleanup[3] wiping random +STDERR: # cleanup[3] wiping _sha512 +STDERR: # cleanup[3] wiping _random +STDERR: # cleanup[3] wiping bisect +STDERR: # cleanup[3] wiping _bisect +STDERR: # cleanup[3] wiping math +STDERR: # cleanup[3] wiping logging +STDERR: # destroy logging.handlers +STDERR: # cleanup[3] wiping atexit +STDERR: # cleanup[3] wiping threading +STDERR: # cleanup[3] wiping string +STDERR: # cleanup[3] wiping _string +STDERR: # cleanup[3] wiping collections.abc +STDERR: # cleanup[3] wiping weakref +STDERR: # cleanup[3] wiping warnings +STDERR: # cleanup[3] wiping traceback +STDERR: # cleanup[3] wiping linecache +STDERR: # destroy tokenize +STDERR: # cleanup[3] wiping re +STDERR: # destroy sre_compile +STDERR: # cleanup[3] wiping copyreg +STDERR: # cleanup[3] wiping functools +STDERR: # cleanup[3] wiping _functools +STDERR: # cleanup[3] wiping collections +STDERR: # cleanup[3] wiping _collections +STDERR: # destroy _collections +STDERR: # cleanup[3] wiping reprlib +STDERR: # cleanup[3] wiping operator +STDERR: # cleanup[3] wiping _operator +STDERR: # cleanup[3] wiping keyword +STDERR: # cleanup[3] wiping itertools +STDERR: # cleanup[3] wiping heapq +STDERR: # cleanup[3] wiping _heapq +STDERR: # cleanup[3] wiping sre_parse +STDERR: # cleanup[3] wiping _sre +STDERR: # cleanup[3] wiping enum +STDERR: # cleanup[3] wiping types +STDERR: # cleanup[3] wiping _locale +STDERR: # cleanup[3] wiping os +STDERR: # cleanup[3] wiping os.path +STDERR: # destroy genericpath +STDERR: # cleanup[3] wiping ntpath +STDERR: # cleanup[3] wiping _collections_abc +STDERR: # cleanup[3] wiping stat +STDERR: # cleanup[3] wiping _stat +STDERR: # destroy _stat +STDERR: # cleanup[3] wiping io +STDERR: # cleanup[3] wiping abc +STDERR: # cleanup[3] wiping _abc +STDERR: # cleanup[3] wiping encodings.latin_1 +STDERR: # cleanup[3] wiping _signal +STDERR: # cleanup[3] wiping encodings.cp1252 +STDERR: # cleanup[3] wiping encodings.utf_8 +STDERR: # cleanup[3] wiping encodings +STDERR: # destroy encodings.aliases +STDERR: # destroy encodings.utf_8 +STDERR: # destroy encodings.cp1252 +STDERR: # destroy encodings.latin_1 +STDERR: # destroy encodings.idna +STDERR: # destroy encodings.unicode_escape +STDERR: # cleanup[3] wiping codecs +STDERR: # cleanup[3] wiping _codecs +STDERR: # cleanup[3] wiping zipimport +STDERR: # destroy _frozen_importlib_external +STDERR: # cleanup[3] wiping time +STDERR: # cleanup[3] wiping winreg +STDERR: # cleanup[3] wiping nt +STDERR: # cleanup[3] wiping marshal +STDERR: # cleanup[3] wiping _io +STDERR: # cleanup[3] wiping _weakref +STDERR: # cleanup[3] wiping _warnings +STDERR: # cleanup[3] wiping _thread +STDERR: # cleanup[3] wiping _imp +STDERR: # cleanup[3] wiping _frozen_importlib +STDERR: # cleanup[3] wiping sys +STDERR: # cleanup[3] wiping builtins +STDERR: # destroy pyexpat.errors +STDERR: # destroy pyexpat.model +STDERR: # destroy gc +STDERR: # destroy wrapt._wrappers +STDERR: # destroy _asyncio +STDERR: # destroy PIL._imaging +STDERR: # destroy _multibytecodec +STDERR: # destroy charset_normalizer.md__mypyc +STDERR: # destroy _queue +STDERR: # destroy _ssl +STDERR: # destroy pyexpat +STDERR: # destroy _lzma +STDERR: # destroy _blake2 +STDERR: # destroy _datetime +STDERR: # destroy _sha512 +STDERR: # destroy _random +STDERR: # destroy _bisect +STDERR: # destroy _string +STDERR: # destroy winreg +STDERR: # destroy marshal +STDERR: # destroy _sre +STDERR: # destroy sre_parse +STDERR: # destroy charset_normalizer.md +STDERR: # destroy concurrent +STDERR: # destroy asyncio.sslproto +STDERR: # destroy asyncio.staggered +STDERR: # destroy asyncio.transports +STDERR: # destroy asyncio.trsock +STDERR: # destroy reprlib +STDERR: # destroy asyncio.constants +STDERR: # destroy linecache +STDERR: # destroy asyncio.base_futures +STDERR: # destroy asyncio.coroutines +STDERR: # destroy heapq +STDERR: # destroy asyncio.locks +STDERR: # destroy asyncio.protocols +STDERR: # destroy asyncio.streams +STDERR: # destroy contextvars +STDERR: # destroy _overlapped +STDERR: # destroy asyncio.events +STDERR: # destroy asyncio.base_subprocess +STDERR: # destroy asyncio.futures +STDERR: # destroy asyncio.exceptions +STDERR: # destroy asyncio.proactor_events +STDERR: # destroy asyncio.selector_events +STDERR: # destroy asyncio.tasks +STDERR: # destroy asyncio.windows_utils +STDERR: # destroy _compat_pickle +STDERR: # destroy _pickle +STDERR: # destroy _signal +STDERR: # destroy _opcode +STDERR: # destroy _winapi +STDERR: # destroy copyreg +STDERR: # destroy logzero.colors +STDERR: # destroy logzero.jsonlogger +STDERR: # destroy enum +STDERR: # destroy packaging.version +STDERR: # destroy whichcraft +STDERR: # destroy colorama.win32 +STDERR: # destroy emoji +STDERR: # destroy urllib3 +STDERR: # destroy _uuid +STDERR: # destroy xml +STDERR: # destroy xmltodict +STDERR: # destroy pprint +STDERR: # destroy json.scanner +STDERR: # destroy _json +STDERR: # destroy keyword +STDERR: # destroy wrapt +STDERR: # destroy random +STDERR: # destroy shlex +STDERR: # destroy filelock +STDERR: # destroy six +STDERR: # destroy abc +STDERR: # destroy tarfile +STDERR: # destroy adbutils +STDERR: # destroy progress +STDERR: # destroy uiautomator2 +STDERR: # destroy base64 +STDERR: # destroy html +STDERR: # destroy _imp +STDERR: # destroy ntpath +STDERR: # destroy plistlib +STDERR: # destroy posixpath +STDERR: # destroy zipimport +STDERR: # destroy nt +STDERR: # destroy packaging +STDERR: # destroy msvcrt +STDERR: # destroy _weakref +STDERR: # destroy requests.sessions +STDERR: # destroy six.moves.urllib_parse +STDERR: # destroy six.moves.urllib.error +STDERR: # destroy six.moves.urllib.request +STDERR: # destroy six.moves.urllib.response +STDERR: # destroy six.moves.urllib.robotparser +STDERR: # destroy emoji.unicode_codes +STDERR: # destroy _socket +STDERR: # destroy xml.dom.minidom +STDERR: # destroy apkutils2.axml.public +STDERR: # destroy pathlib +STDERR: # destroy apkutils2 +STDERR: # destroy requests +STDERR: # destroy PIL.Image +STDERR: # destroy calendar +STDERR: # destroy zipfile +STDERR: # destroy requests.certs +STDERR: # destroy hashlib +STDERR: # destroy charset_normalizer +STDERR: # destroy json +STDERR: # destroy asyncio +STDERR: # destroy datetime +STDERR: # destroy urllib3.util.connection +STDERR: # destroy email +STDERR: # destroy mimetypes +STDERR: # destroy codecs +STDERR: # destroy urllib3.util +STDERR: # destroy queue +STDERR: # destroy configargparse +STDERR: # destroy yaml +STDERR: # destroy textwrap +STDERR: # destroy platformdirs.api +STDERR: # destroy platformdirs.version +STDERR: # destroy platformdirs.windows +STDERR: # destroy xml.sax.handler +STDERR: # destroy atexit +STDERR: # destroy weakref +STDERR: # destroy _thread +STDERR: # destroy errno +STDERR: # destroy select +STDERR: # destroy socket +STDERR: # destroy hmac +STDERR: # destroy urllib3.packages.six +STDERR: # destroy _hashlib +STDERR: # destroy ssl +STDERR: # destroy string +STDERR: # destroy copy +STDERR: # destroy traceback +STDERR: # destroy more_itertools +STDERR: # destroy tempfile +STDERR: # destroy urllib +STDERR: # destroy backports.tarfile +STDERR: # destroy _warnings +STDERR: # destroy urllib3.packages.six.moves.urllib_parse +STDERR: # destroy urllib3.packages.six.moves.urllib.error +STDERR: # destroy urllib3.packages.six.moves.urllib.request +STDERR: # destroy urllib3.packages.six.moves.urllib.response +STDERR: # destroy urllib3.packages.six.moves.urllib.robotparser +STDERR: # destroy stat +STDERR: # destroy threading +STDERR: # destroy zlib +STDERR: # destroy bz2 +STDERR: # destroy lzma +STDERR: # destroy distutils.compat.py38 +STDERR: # destroy distutils.compat.py39 +STDERR: # destroy platform +STDERR: # destroy shutil +STDERR: # destroy subprocess +STDERR: # destroy distutils._modified +STDERR: # destroy distutils.archive_util +STDERR: # destroy distutils.dir_util +STDERR: # destroy distutils.file_util +STDERR: # destroy distutils.util +STDERR: # destroy importlib +STDERR: # destroy http.client +STDERR: # destroy http.cookiejar +STDERR: # destroy http.cookies +STDERR: # destroy bisect +STDERR: # destroy unicodedata +STDERR: # destroy idna.idnadata +STDERR: # destroy encodings +STDERR: # destroy _collections_abc +STDERR: # destroy _locale +STDERR: # destroy contextlib +STDERR: # destroy fnmatch +STDERR: # destroy inspect +STDERR: # destroy pkgutil +STDERR: # destroy collections +STDERR: # destroy struct +STDERR: # destroy apkutils2.dex.dalvikformats +STDERR: # destroy apkutils2.dex.util +STDERR: # destroy array +STDERR: # destroy binascii +STDERR: # destroy setuptools._distutils +STDERR: # destroy operator +STDERR: # destroy warnings +STDERR: # destroy collections.abc +STDERR: # destroy _functools +STDERR: # destroy _heapq +STDERR: # destroy itertools +STDERR: # destroy math +STDERR: # destroy _operator +STDERR: # destroy time +STDERR: # destroy _frozen_importlib +STDERR: # clear sys.audit hooks +[11/30 17:31:14] DEBUG | Initial log file: logs/quecreate.log (log.py:100) +[11/30 17:31:14] DEBUG | Installed via git, config-examples is in the local folder. (utils.py:139) +[11/30 17:31:14] INFO | Checking for updates... (utils.py:64) +[11/30 17:31:15] INFO | Bot is updated. (utils.py:78) +[11/30 17:31:15] INFO | GramAddict v.3.2.12 (utils.py:81) +[11/30 17:31:15] INFO | Loading plugins . . . (plugin_loader.py:30) +[11/30 17:31:15] INFO | - ActionUnfollowFollowers: Handles the functionality of unfollowing your followers (plugin_loader.py:45) +[11/30 17:31:15] INFO | - ClonedApp: Adds support for cloned apps (plugin_loader.py:45) +[11/30 17:31:15] INFO | - CoreArguments: Simply adds core arguments (plugin_loader.py:45) +[11/30 17:31:15] INFO | - DataAnalytics: Generates a PDF analytics report of current username session data (plugin_loader.py:45) +[11/30 17:31:15] INFO | - DBInitPlugin: Initialize NocoDB tables at session start (plugin_loader.py:45) +[11/30 17:31:15] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger (plugin_loader.py:45) +[11/30 17:31:15] INFO | - InteractBloggerFollowers_Following: Handles the functionality of interacting with a bloggers followers/following (plugin_loader.py:45) +[11/30 17:31:15] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger post likers (plugin_loader.py:45) +[11/30 17:31:15] INFO | - InteractOwnFeed: Handles the functionality of interacting with your own feed (plugin_loader.py:45) +[11/30 17:31:15] INFO | - InteractHashtagLikers: Handles the functionality of interacting with a hashtags likers (plugin_loader.py:45) +[11/30 17:31:15] INFO | - InteractHashtagPosts: Handles the functionality of interacting with a hashtags post owners (plugin_loader.py:45) +[11/30 17:31:15] INFO | - InteractPlaceLikers: Handles the functionality of interacting with a places likers (plugin_loader.py:45) +[11/30 17:31:15] INFO | - InteractPlacePosts: Handles the functionality of interacting with a places post owners (plugin_loader.py:45) +[11/30 17:31:15] INFO | - LikeFromURLs: Likes a post from url. The urls are read from a plaintext file (plugin_loader.py:45) +[11/30 17:31:15] INFO | - NocoDBRecordCreationTest: Test plugin specifically for verifying NocoDB record creation functionality (plugin_loader.py:45) +[11/30 17:31:15] INFO | - NocoDBStorage: Store interaction data in NocoDB (plugin_loader.py:45) +[11/30 17:31:15] INFO | - RemoveFollowersFromList: Remove account followers from a list of usernames (plugin_loader.py:45) +[11/30 17:31:15] INFO | - TelegramReports: Generate reports at the end of the session and send them using telegram (plugin_loader.py:45) +[11/30 17:31:15] DEBUG | Arguments used: --config accounts/quecreate/config.yml --use-nocodb (config.py:160) +[11/30 17:31:15] DEBUG | Config used: {'username': 'quecreate', 'app-id': 'com.instagram.android', 'use-cloned-app': False, 'allow-untested-ig-version': False, 'screen-sleep': True, 'screen-record': False, 'speed-multiplier': 2.0, 'debug': True, 'close-apps': False, 'kill-atx-agent': False, 'restart-atx-agent': False, 'disable-block-detection': False, 'disable-filters': False, 'dont-type': False, 'use-nocodb': True, 'init-db': True, 'total-crashes-limit': 5, 'count-app-crashes': False, 'shuffle-jobs': True, 'truncate-sources': '2-5', 'blogger-followers': ['ledianaprengaa'], 'watch-video-time': '15-35', 'watch-photo-time': '3-4', 'delete-interacted-users': True, 'telegram-reports': False, 'interactions-count': '300-400', 'likes-count': '1-2', 'likes-percentage': 100, 'stories-count': '10-20', 'stories-percentage': '30-40', 'carousel-count': '20-30', 'carousel-percentage': '60-70', 'max-comments-pro-user': '1-2', 'interact-percentage': '30-40', 'follow-percentage': '30-40', 'follow-limit': 50, 'skipped-list-limit': '10-15', 'skipped-posts-limit': 5, 'fling-when-skipped': 0, 'min-following': 10, 'total-likes-limit': '120-150', 'total-follows-limit': '40-50', 'total-unfollows-limit': '40-50', 'total-watches-limit': '120-150', 'total-successful-interactions-limit': '120-150', 'total-interactions-limit': '280-300', 'total-comments-limit': '3-50', 'total-pm-limit': '3-5', 'total-scraped-limit': '100-150', 'end-if-likes-limit-reached': False, 'end-if-follows-limit-reached': False, 'end-if-watches-limit-reached': False, 'end-if-comments-limit-reached': False, 'end-if-pm-limit-reached': False} (config.py:162) +[11/30 17:31:15] DEBUG | Connected devices via adb: 1. That's ok. (utils.py:169) +[11/30 17:31:15] INFO | Time delta has set to 00:00:26. (utils.py:719) +[11/30 17:31:15] DEBUG | Whole day mode. (session_state.py:266) +[11/30 17:31:15] DEBUG | Phone Name: taimen, SDK Version: 30 (device_facade.py:29) +[11/30 17:31:16] DEBUG | Screen dimension: 1440x2824 (device_facade.py:34) +[11/30 17:31:16] DEBUG | Screen resolution: 411x823 (device_facade.py:37) +[11/30 17:31:16] DEBUG | Device ID: 192.168.50.202:5555 (device_facade.py:40) +[11/30 17:31:16] INFO | Screen timeout is fine! (utils.py:230) +[11/30 17:31:16] INFO | -------- START: 17:31:16 - 2024/11/30 -------- (bot_flow.py:132) +[11/30 17:31:18] INFO | Device screen ON and unlocked. (bot_flow.py:149) +[11/30 17:31:18] INFO | Open Instagram app. (utils.py:239) +[11/30 17:31:19] DEBUG | Instagram called successfully. (utils.py:252) +[11/30 17:31:19] INFO | Ready for botting!🤫 (utils.py:270) +[11/30 17:31:19] DEBUG | 0.80s sleep (utils.py:467) +[11/30 17:31:20] DEBUG | Setting FastInputIME as default keyboard. (utils.py:277) +[11/30 17:31:20] INFO | FastInputIME is the default keyboard. (utils.py:300) +[11/30 17:31:21] INFO | Instagram version: 300.0.0.29.110 (bot_flow.py:153) +[11/30 17:31:21] DEBUG | Navigating to main account... (views.py:1088) +[11/30 17:31:22] DEBUG | Single click in (1304,2759). Surface: (1244-1349,2684-2789) (device_facade.py:474) +[11/30 17:31:23] DEBUG | 0.80s sleep (utils.py:467) +[11/30 17:31:24] DEBUG | Checking if app is in English.. (navigation.py:21) +[11/30 17:31:26] DEBUG | Instagram in English. (navigation.py:28) +[11/30 17:31:26] INFO | You are already logged as quecreate! (views.py:1100) +[11/30 17:31:27] INFO | Refresh account... (views.py:1144) +[11/30 17:31:27] DEBUG | Swipe from: (672,630) to (644,918). (device_facade.py:306) +[11/30 17:31:29] DEBUG | 0.41s sleep (utils.py:467) +[11/30 17:31:29] DEBUG | 1.87s sleep (utils.py:467) +[11/30 17:31:34] INFO | Hello, @quecreate! You have 1 followers and 56 followings so far. (bot_flow.py:229) +[11/30 17:31:34] INFO | There is/are 3 active-job(s) and 0 unfollow-job(s) scheduled for this session. (bot_flow.py:251) +[11/30 17:31:34] INFO | NocoDB config found - plugin will handle initialization (storage.py:46) +[11/30 17:31:34] WARNING | accounts\quecreate\filters.yml has been saved last time at 2024-11-28 01:20:01 (filter.py:138) +[11/30 17:31:34] INFO | ---------------------------------------------------------------------- (filter.py:160) +[11/30 17:31:34] INFO | Filters recap (no spell check!) Value (filter.py:161) +[11/30 17:31:34] INFO | ---------------------------------------------------------------------- (filter.py:165) +[11/30 17:31:34] INFO | max_following 7500 (filter.py:173) +[11/30 17:31:34] INFO | min_following 10 (filter.py:173) +[11/30 17:31:34] INFO | max_followers 15000 (filter.py:173) +[11/30 17:31:34] INFO | min_followers 100 (filter.py:173) +[11/30 17:31:34] INFO | max_posts 1000 (filter.py:173) +[11/30 17:31:34] INFO | min_posts 3 (filter.py:173) +[11/30 17:31:34] INFO | max_following_to_followers_ratio 2.0 (filter.py:173) +[11/30 17:31:34] INFO | min_following_to_followers_ratio None (filter.py:173) +[11/30 17:31:34] INFO | max_followers_to_following_ratio None (filter.py:173) +[11/30 17:31:34] INFO | min_followers_to_following_ratio None (filter.py:173) +[11/30 17:31:34] INFO | max_potency_ratio 1.5 (filter.py:173) +[11/30 17:31:34] INFO | min_potency_ratio 0.1 (filter.py:173) +[11/30 17:31:34] INFO | biography_language None (filter.py:173) +[11/30 17:31:34] INFO | biography_banned_words [] (filter.py:173) +[11/30 17:31:34] INFO | biography_mandatory_words [] (filter.py:173) +[11/30 17:31:34] INFO | business_category_name [] (filter.py:173) +[11/30 17:31:34] INFO | is_private None (filter.py:173) +[11/30 17:31:34] INFO | is_verified None (filter.py:173) +[11/30 17:31:34] INFO | is_business None (filter.py:173) +[11/30 17:31:34] INFO | is_non_business None (filter.py:173) +[11/30 17:31:34] INFO | blacklist_words [] (filter.py:173) +[11/30 17:31:34] INFO | mandatory_words [] (filter.py:173) +[11/30 17:31:34] INFO | specific_alphabet None (filter.py:173) +[11/30 17:31:34] INFO | min_posts_from_date None (filter.py:173) +[11/30 17:31:34] INFO | posts_from_date None (filter.py:173) +[11/30 17:31:34] INFO | mutual_friends None (filter.py:173) +[11/30 17:31:34] INFO | following_bot None (filter.py:173) +[11/30 17:31:34] INFO | last_post None (filter.py:173) +[11/30 17:31:34] INFO | potency_ratio None (filter.py:173) +[11/30 17:31:34] INFO | has_any_business_category None (filter.py:173) +[11/30 17:31:34] INFO | has_highlights None (filter.py:173) +[11/30 17:31:34] INFO | has_guides None (filter.py:173) +[11/30 17:31:34] INFO | has_external_url None (filter.py:173) +[11/30 17:31:34] INFO | has_business_category_name None (filter.py:173) +[11/30 17:31:34] INFO | has_biography_links None (filter.py:173) +[11/30 17:31:34] INFO | has_igtv None (filter.py:173) +[11/30 17:31:34] INFO | has_linked_facebook None (filter.py:173) +[11/30 17:31:34] INFO | has_story_highlights None (filter.py:173) +[11/30 17:31:34] INFO | has_youtube None (filter.py:173) +[11/30 17:31:34] INFO | has_twitter None (filter.py:173) +[11/30 17:31:34] INFO | has_facebook None (filter.py:173) +[11/30 17:31:34] INFO | has_whatsapp None (filter.py:173) +[11/30 17:31:34] INFO | has_tiktok None (filter.py:173) +[11/30 17:31:34] INFO | skip_if_link_in_bio False (filter.py:168) +[11/30 17:31:34] INFO | skip_if_external_url False (filter.py:168) +[11/30 17:31:34] INFO | skip_if_business False (filter.py:168) +[11/30 17:31:34] INFO | skip_business_categories [] (filter.py:173) +[11/30 17:31:34] INFO | skip_bio_keyword [] (filter.py:173) +[11/30 17:31:34] INFO | skip_if_bio_keyword [] (filter.py:173) +[11/30 17:31:34] INFO | skip_if_bio_contains_anything False (filter.py:168) +[11/30 17:31:34] INFO | skip_if_no_avatar False (filter.py:168) +[11/30 17:31:34] INFO | skip_if_no_bio False (filter.py:168) +[11/30 17:31:34] INFO | skip_if_no_posts False (filter.py:168) +[11/30 17:31:34] INFO | skip_if_no_igtv False (filter.py:168) +[11/30 17:31:34] INFO | skip_if_no_story_highlights False (filter.py:168) +[11/30 17:31:34] INFO | skip_if_no_mutual_friends False (filter.py:168) +[11/30 17:31:34] INFO | skip_if_private False (filter.py:168) +[11/30 17:31:34] INFO | skip_if_public False (filter.py:168) +[11/30 17:31:34] INFO | skip_if_verified False (filter.py:168) +[11/30 17:31:34] INFO | skip_if_non_business False (filter.py:168) +[11/30 17:31:34] INFO | skip_if_following_bot False (filter.py:168) +[11/30 17:31:34] INFO | skip_if_following_less_than None (filter.py:173) +[11/30 17:31:34] INFO | skip_if_followers_less_than None (filter.py:173) +[11/30 17:31:34] INFO | skip_if_posts_less_than None (filter.py:173) +[11/30 17:31:34] INFO | skip_if_mutual_friends_less_than None (filter.py:173) +[11/30 17:31:34] INFO | skip_if_following_more_than None (filter.py:173) +[11/30 17:31:34] INFO | skip_if_followers_more_than None (filter.py:173) +[11/30 17:31:34] INFO | skip_if_posts_more_than None (filter.py:173) +[11/30 17:31:34] INFO | skip_if_mutual_friends_more_than None (filter.py:173) +[11/30 17:31:34] INFO | skip_if_following_to_followers_ratio_less_than None (filter.py:173) +[11/30 17:31:34] INFO | skip_if_following_to_followers_ratio_more_than None (filter.py:173) +[11/30 17:31:34] INFO | skip_if_followers_to_following_ratio_less_than None (filter.py:173) +[11/30 17:31:34] INFO | skip_if_followers_to_following_ratio_more_than None (filter.py:173) +[11/30 17:31:34] INFO | skip_if_potency_ratio_less_than None (filter.py:173) +[11/30 17:31:34] INFO | skip_if_potency_ratio_more_than None (filter.py:173) +[11/30 17:31:34] INFO | ---------------------------------------------------------------------- (utils.py:338) +[11/30 17:31:34] INFO | Session ending conditions: Value (utils.py:342) +[11/30 17:31:34] INFO | ---------------------------------------------------------------------- (utils.py:346) +[11/30 17:31:34] INFO | Likes: False (utils.py:350) +[11/30 17:31:34] INFO | Follows: False (utils.py:354) +[11/30 17:31:34] INFO | Watches: False (utils.py:358) +[11/30 17:31:34] INFO | Comments: False (utils.py:362) +[11/30 17:31:34] INFO | PM: False (utils.py:366) +[11/30 17:31:34] INFO | Total actions: True (not mutable) (utils.py:370) +[11/30 17:31:34] INFO | Total successfull actions: True (not mutable) (utils.py:374) +[11/30 17:31:34] INFO | For more info -> https://github.com/GramAddict/docs/blob/main/configuration.md#ending-session-conditions (utils.py:378) +[11/30 17:31:34] INFO | ---------------------------------------------------------------------- (utils.py:382) +[11/30 17:31:34] DEBUG | Whole day mode. (session_state.py:266) +[11/30 17:31:34] INFO | Checking session limits: (session_state.py:155) +[11/30 17:31:34] INFO | - Total Likes: OK (0/139) (session_state.py:155) +[11/30 17:31:34] INFO | - Total Comments: OK (0/17) (session_state.py:155) +[11/30 17:31:34] INFO | - Total PM: OK (0/4) (session_state.py:155) +[11/30 17:31:34] INFO | - Total Followed: OK (0/42) (session_state.py:155) +[11/30 17:31:34] INFO | - Total Unfollowed: OK (0/41) (session_state.py:155) +[11/30 17:31:34] INFO | - Total Watched: OK (0/121) (session_state.py:155) +[11/30 17:31:34] INFO | - Total Successful Interactions: OK (0/126) (session_state.py:155) +[11/30 17:31:34] INFO | - Total Interactions: OK (0/280) (session_state.py:155) +[11/30 17:31:34] INFO | - Total Crashes: OK (0/5) (session_state.py:155) +[11/30 17:31:34] INFO | - Total Successful Scraped Users: OK (0/135) (session_state.py:155) +[11/30 17:31:35] INFO | Current active-job: use-nocodb (bot_flow.py:321) +[11/30 17:31:35] INFO | NocoDB reference set in storage (nocodb_storage.py:191) +[11/30 17:31:35] DEBUG | Whole day mode. (session_state.py:266) +[11/30 17:31:35] INFO | Checking session limits: (session_state.py:155) +[11/30 17:31:35] INFO | - Total Likes: OK (0/139) (session_state.py:155) +[11/30 17:31:35] INFO | - Total Comments: OK (0/17) (session_state.py:155) +[11/30 17:31:35] INFO | - Total PM: OK (0/4) (session_state.py:155) +[11/30 17:31:35] INFO | - Total Followed: OK (0/42) (session_state.py:155) +[11/30 17:31:35] INFO | - Total Unfollowed: OK (0/41) (session_state.py:155) +[11/30 17:31:35] INFO | - Total Watched: OK (0/121) (session_state.py:155) +[11/30 17:31:35] INFO | - Total Successful Interactions: OK (0/126) (session_state.py:155) +[11/30 17:31:35] INFO | - Total Interactions: OK (0/280) (session_state.py:155) +[11/30 17:31:35] INFO | - Total Crashes: OK (0/5) (session_state.py:155) +[11/30 17:31:35] INFO | - Total Successful Scraped Users: OK (0/135) (session_state.py:155) +[11/30 17:31:35] INFO | Current active-job: init-db (bot_flow.py:321) +[11/30 17:31:35] INFO | ================================================================================ (dbinit.py:26) +[11/30 17:31:35] INFO | Starting database initialization... (dbinit.py:27) +[11/30 17:31:35] INFO | Initializing NocoDB tables... (dbinit.py:55) +[11/30 17:31:36] INFO | Database tables initialization completed successfully! (dbinit.py:59) +[11/30 17:31:36] INFO | You can now use NocoDB to store interaction data. (dbinit.py:60) +[11/30 17:31:36] INFO | ================================================================================ (dbinit.py:61) +[11/30 17:31:36] DEBUG | Whole day mode. (session_state.py:266) +[11/30 17:31:36] INFO | Checking session limits: (session_state.py:155) +[11/30 17:31:36] INFO | - Total Likes: OK (0/139) (session_state.py:155) +[11/30 17:31:36] INFO | - Total Comments: OK (0/17) (session_state.py:155) +[11/30 17:31:36] INFO | - Total PM: OK (0/4) (session_state.py:155) +[11/30 17:31:36] INFO | - Total Followed: OK (0/42) (session_state.py:155) +[11/30 17:31:36] INFO | - Total Unfollowed: OK (0/41) (session_state.py:155) +[11/30 17:31:36] INFO | - Total Watched: OK (0/121) (session_state.py:155) +[11/30 17:31:36] INFO | - Total Successful Interactions: OK (0/126) (session_state.py:155) +[11/30 17:31:36] INFO | - Total Interactions: OK (0/280) (session_state.py:155) +[11/30 17:31:36] INFO | - Total Crashes: OK (0/5) (session_state.py:155) +[11/30 17:31:36] INFO | - Total Successful Scraped Users: OK (0/135) (session_state.py:155) +[11/30 17:31:36] INFO | Current active-job: blogger-followers (bot_flow.py:321) +[11/30 17:31:36] INFO | Source list truncated at 1 item. (utils.py:647) +[11/30 17:31:36] INFO | In this session, that source will be handled: ledianaprengaa (utils.py:650) +[11/30 17:31:36] DEBUG | Checking session limits: (session_state.py:158) +[11/30 17:31:36] DEBUG | - Total Likes: OK (0/139) (session_state.py:158) +[11/30 17:31:36] DEBUG | - Total Comments: OK (0/17) (session_state.py:158) +[11/30 17:31:36] DEBUG | - Total PM: OK (0/4) (session_state.py:158) +[11/30 17:31:36] DEBUG | - Total Followed: OK (0/42) (session_state.py:158) +[11/30 17:31:36] DEBUG | - Total Unfollowed: OK (0/41) (session_state.py:158) +[11/30 17:31:36] DEBUG | - Total Watched: OK (0/121) (session_state.py:158) +[11/30 17:31:36] DEBUG | - Total Successful Interactions: OK (0/126) (session_state.py:158) +[11/30 17:31:36] DEBUG | - Total Interactions: OK (0/280) (session_state.py:158) +[11/30 17:31:36] DEBUG | - Total Crashes: OK (0/5) (session_state.py:158) +[11/30 17:31:36] DEBUG | - Total Successful Scraped Users: OK (0/135) (session_state.py:158) +[11/30 17:31:36] INFO | Handle ledianaprengaa (interact_blogger_followers.py:85) +[11/30 17:31:36] INFO | Interactions count: 353 (utils.py:607) +[11/30 17:31:36] INFO | Chance of watching stories: 39% (utils.py:607) +[11/30 17:31:36] INFO | Chance of liking: 100% (utils.py:607) +[11/30 17:31:36] INFO | Chance of following: 30% (utils.py:607) +[11/30 17:31:36] INFO | Chance of commenting: 0% (utils.py:607) +[11/30 17:31:36] INFO | Chance of interacting: 37% (utils.py:607) +[11/30 17:31:36] INFO | Chance of send PM: 0% (utils.py:607) +[11/30 17:31:36] DEBUG | Navigate to SEARCH (views.py:138) +[11/30 17:31:37] DEBUG | Single click in (336,2779). Surface: (288-576,2649-2824) (device_facade.py:474) +[11/30 17:31:38] DEBUG | 0.66s sleep (utils.py:467) +[11/30 17:31:38] DEBUG | Single click in (473,2734). Surface: (288-576,2649-2824) (device_facade.py:474) +[11/30 17:31:39] DEBUG | 0.52s sleep (utils.py:467) +[11/30 17:31:39] INFO | Navigate to ledianaprengaa (views.py:397) +[11/30 17:31:40] DEBUG | Pressing on searchbar. (views.py:400) +[11/30 17:31:40] DEBUG | Single click in (1031,223). Surface: (42-1370,146-259) (device_facade.py:474) +[11/30 17:31:40] DEBUG | 0.58s sleep (utils.py:467) +[11/30 17:31:41] DEBUG | Single click in (412,953). Surface: (322-610,905-962) (device_facade.py:474) +[11/30 17:31:42] DEBUG | 0.3s sleep (utils.py:467) +[11/30 17:31:42] INFO | ledianaprengaa is in recent history. (views.py:406) +[11/30 17:31:42] INFO | Open @ledianaprengaa followers. (navigation.py:54) +[11/30 17:31:42] INFO | Navigate to followers. (views.py:1796) +[11/30 17:31:43] DEBUG | Single click in (956,571). Surface: (747-1057,322-630) (device_facade.py:474) +[11/30 17:31:43] DEBUG | 1.23s sleep (utils.py:467) +[11/30 17:31:46] INFO | Iterate over visible followers. (handle_sources.py:718) +[11/30 17:31:50] DEBUG | There are 7 users fully visible in that view. (utils.py:752) +[11/30 17:31:51] INFO | @bhuvan_vishkarma: interact (handle_sources.py:767) +[11/30 17:31:51] DEBUG | Single click in (600,748). Surface: (322-675,721-778) (device_facade.py:474) +[11/30 17:31:52] DEBUG | 0.46s sleep (utils.py:467) +[11/30 17:31:52] DEBUG | 3.38s sleep (utils.py:467) +[11/30 17:31:56] DEBUG | Checking profile.. (interaction.py:79) +[11/30 17:31:57] DEBUG | Looking for mutual friends tab. (views.py:1600) +[11/30 17:32:03] DEBUG | This account is private. (filter.py:334) +[11/30 17:32:03] DEBUG | Checking if account is within follower/following parameters... (filter.py:363) +[11/30 17:32:03] INFO | @bhuvan_vishkarma has less than 100 followers, skip. (filter.py:367) +[11/30 17:32:04] INFO | Storing filter data in NocoDB for bhuvan_vishkarma (filter.py:210) +[11/30 17:32:04] DEBUG | Profile checked in 7.61s (interaction.py:97) +[11/30 17:32:04] DEBUG | Whole day mode. (session_state.py:266) +[11/30 17:32:04] DEBUG | - Total Likes: OK (0/139) (session_state.py:179) +[11/30 17:32:04] DEBUG | - Total Followed: OK (0/42) (session_state.py:200) +[11/30 17:32:04] DEBUG | - Total Watched: OK (0/121) (session_state.py:214) +[11/30 17:32:04] DEBUG | - Total PM: OK (0/4) (session_state.py:193) +[11/30 17:32:04] DEBUG | - Total Comments: OK (0/17) (session_state.py:186) +[11/30 17:32:04] DEBUG | - Total Interactions: OK (1/280) (session_state.py:228) +[11/30 17:32:04] DEBUG | - Total Successful Interactions: OK (0/126) (session_state.py:221) +[11/30 17:32:04] INFO | Back to followers list (handle_sources.py:786) +[11/30 17:32:04] DEBUG | Press back button. (device_facade.py:131) +[11/30 17:32:04] DEBUG | 0.77s sleep (utils.py:467) +[11/30 17:32:06] INFO | @jardaniealesandropamoc: interact (handle_sources.py:767) +[11/30 17:32:06] DEBUG | Single click in (419,985). Surface: (322-792,973-1030) (device_facade.py:474) +[11/30 17:32:07] DEBUG | 1.19s sleep (utils.py:467) +[11/30 17:32:08] DEBUG | 2.21s sleep (utils.py:467) +[11/30 17:32:11] DEBUG | Checking profile.. (interaction.py:79) +[11/30 17:32:12] DEBUG | Looking for mutual friends tab. (views.py:1600) +[11/30 17:32:12] INFO | CTRL-C detected . . . (decorators.py:35) +[11/30 17:32:12] INFO | -------- PAUSED: 17:32:12 -------- (decorators.py:39) +[11/30 17:32:12] INFO | NOTE: This is a rudimentary pause. It will restart the action, while retaining session data. (decorators.py:43) +[11/30 17:32:12] INFO | Press RETURN to resume or CTRL-C again to Quit: (decorators.py:47) +[11/30 17:32:14] DEBUG | Initial log file: logs/quecreate.log (log.py:100) +[11/30 17:32:14] DEBUG | Installed via git, config-examples is in the local folder. (utils.py:139) +[11/30 17:32:14] INFO | Checking for updates... (utils.py:64) +[11/30 17:32:14] INFO | Bot is updated. (utils.py:78) +[11/30 17:32:14] INFO | GramAddict v.3.2.12 (utils.py:81) +[11/30 17:32:14] INFO | Loading plugins . . . (plugin_loader.py:30) +[11/30 17:32:14] INFO | - ActionUnfollowFollowers: Handles the functionality of unfollowing your followers (plugin_loader.py:45) +[11/30 17:32:14] INFO | - ClonedApp: Adds support for cloned apps (plugin_loader.py:45) +[11/30 17:32:14] INFO | - CoreArguments: Simply adds core arguments (plugin_loader.py:45) +[11/30 17:32:14] INFO | - DataAnalytics: Generates a PDF analytics report of current username session data (plugin_loader.py:45) +[11/30 17:32:14] INFO | - DBInitPlugin: Initialize NocoDB tables at session start (plugin_loader.py:45) +[11/30 17:32:14] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger (plugin_loader.py:45) +[11/30 17:32:14] INFO | - InteractBloggerFollowers_Following: Handles the functionality of interacting with a bloggers followers/following (plugin_loader.py:45) +[11/30 17:32:14] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger post likers (plugin_loader.py:45) +[11/30 17:32:14] INFO | - InteractOwnFeed: Handles the functionality of interacting with your own feed (plugin_loader.py:45) +[11/30 17:32:14] INFO | - InteractHashtagLikers: Handles the functionality of interacting with a hashtags likers (plugin_loader.py:45) +[11/30 17:32:14] INFO | - InteractHashtagPosts: Handles the functionality of interacting with a hashtags post owners (plugin_loader.py:45) +[11/30 17:32:14] INFO | - InteractPlaceLikers: Handles the functionality of interacting with a places likers (plugin_loader.py:45) +[11/30 17:32:14] INFO | - InteractPlacePosts: Handles the functionality of interacting with a places post owners (plugin_loader.py:45) +[11/30 17:32:14] INFO | - LikeFromURLs: Likes a post from url. The urls are read from a plaintext file (plugin_loader.py:45) +[11/30 17:32:14] INFO | - NocoDBRecordCreationTest: Test plugin specifically for verifying NocoDB record creation functionality (plugin_loader.py:45) +[11/30 17:32:14] INFO | - NocoDBStorage: Store interaction data in NocoDB (plugin_loader.py:45) +[11/30 17:32:14] INFO | - RemoveFollowersFromList: Remove account followers from a list of usernames (plugin_loader.py:45) +[11/30 17:32:14] INFO | - TelegramReports: Generate reports at the end of the session and send them using telegram (plugin_loader.py:45) +[11/30 17:32:14] DEBUG | Arguments used: --config accounts/quecreate/config.yml --use-nocodb (config.py:160) +[11/30 17:32:14] DEBUG | Config used: {'username': 'quecreate', 'app-id': 'com.instagram.android', 'use-cloned-app': False, 'allow-untested-ig-version': False, 'screen-sleep': True, 'screen-record': False, 'speed-multiplier': 2.0, 'debug': True, 'close-apps': False, 'kill-atx-agent': False, 'restart-atx-agent': False, 'disable-block-detection': False, 'disable-filters': False, 'dont-type': False, 'use-nocodb': True, 'init-db': True, 'total-crashes-limit': 5, 'count-app-crashes': False, 'shuffle-jobs': True, 'truncate-sources': '2-5', 'blogger-followers': ['ledianaprengaa'], 'watch-video-time': '15-35', 'watch-photo-time': '3-4', 'delete-interacted-users': True, 'telegram-reports': False, 'interactions-count': '300-400', 'likes-count': '1-2', 'likes-percentage': 100, 'stories-count': '10-20', 'stories-percentage': '30-40', 'carousel-count': '20-30', 'carousel-percentage': '60-70', 'max-comments-pro-user': '1-2', 'interact-percentage': '30-40', 'follow-percentage': '30-40', 'follow-limit': 50, 'skipped-list-limit': '10-15', 'skipped-posts-limit': 5, 'fling-when-skipped': 0, 'min-following': 10, 'total-likes-limit': '120-150', 'total-follows-limit': '40-50', 'total-unfollows-limit': '40-50', 'total-watches-limit': '120-150', 'total-successful-interactions-limit': '120-150', 'total-interactions-limit': '280-300', 'total-comments-limit': '3-50', 'total-pm-limit': '3-5', 'total-scraped-limit': '100-150', 'end-if-likes-limit-reached': False, 'end-if-follows-limit-reached': False, 'end-if-watches-limit-reached': False, 'end-if-comments-limit-reached': False, 'end-if-pm-limit-reached': False, 'working-hours': ['10.15-16.40', '18.15-22.46']} (config.py:162) +[11/30 17:32:15] DEBUG | Connected devices via adb: 1. That's ok. (utils.py:169) +[11/30 17:32:15] INFO | Time delta has set to 00:00:04. (utils.py:719) +[11/30 17:33:01] DEBUG | Initial log file: logs/quecreate.log (log.py:100) +[11/30 17:33:01] DEBUG | Installed via git, config-examples is in the local folder. (utils.py:139) +[11/30 17:33:01] INFO | Checking for updates... (utils.py:64) +[11/30 17:33:01] INFO | Bot is updated. (utils.py:78) +[11/30 17:33:01] INFO | GramAddict v.3.2.12 (utils.py:81) +[11/30 17:33:01] INFO | Loading plugins . . . (plugin_loader.py:30) +[11/30 17:33:01] INFO | - ActionUnfollowFollowers: Handles the functionality of unfollowing your followers (plugin_loader.py:45) +[11/30 17:33:01] INFO | - ClonedApp: Adds support for cloned apps (plugin_loader.py:45) +[11/30 17:33:01] INFO | - CoreArguments: Simply adds core arguments (plugin_loader.py:45) +[11/30 17:33:01] INFO | - DataAnalytics: Generates a PDF analytics report of current username session data (plugin_loader.py:45) +[11/30 17:33:01] INFO | - DBInitPlugin: Initialize NocoDB tables at session start (plugin_loader.py:45) +[11/30 17:33:01] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger (plugin_loader.py:45) +[11/30 17:33:01] INFO | - InteractBloggerFollowers_Following: Handles the functionality of interacting with a bloggers followers/following (plugin_loader.py:45) +[11/30 17:33:01] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger post likers (plugin_loader.py:45) +[11/30 17:33:01] INFO | - InteractOwnFeed: Handles the functionality of interacting with your own feed (plugin_loader.py:45) +[11/30 17:33:01] INFO | - InteractHashtagLikers: Handles the functionality of interacting with a hashtags likers (plugin_loader.py:45) +[11/30 17:33:01] INFO | - InteractHashtagPosts: Handles the functionality of interacting with a hashtags post owners (plugin_loader.py:45) +[11/30 17:33:01] INFO | - InteractPlaceLikers: Handles the functionality of interacting with a places likers (plugin_loader.py:45) +[11/30 17:33:01] INFO | - InteractPlacePosts: Handles the functionality of interacting with a places post owners (plugin_loader.py:45) +[11/30 17:33:01] INFO | - LikeFromURLs: Likes a post from url. The urls are read from a plaintext file (plugin_loader.py:45) +[11/30 17:33:01] INFO | - NocoDBRecordCreationTest: Test plugin specifically for verifying NocoDB record creation functionality (plugin_loader.py:45) +[11/30 17:33:01] INFO | - NocoDBStorage: Store interaction data in NocoDB (plugin_loader.py:45) +[11/30 17:33:01] INFO | - RemoveFollowersFromList: Remove account followers from a list of usernames (plugin_loader.py:45) +[11/30 17:33:01] INFO | - TelegramReports: Generate reports at the end of the session and send them using telegram (plugin_loader.py:45) +[11/30 17:33:01] DEBUG | Arguments used: --config accounts/quecreate/config.yml --use-nocodb (config.py:160) +[11/30 17:33:01] DEBUG | Config used: {'username': 'quecreate', 'app-id': 'com.instagram.android', 'use-cloned-app': False, 'allow-untested-ig-version': False, 'screen-sleep': True, 'screen-record': False, 'speed-multiplier': 2.0, 'debug': True, 'close-apps': False, 'kill-atx-agent': False, 'restart-atx-agent': False, 'disable-block-detection': False, 'disable-filters': False, 'dont-type': False, 'use-nocodb': True, 'init-db': True, 'total-crashes-limit': 5, 'count-app-crashes': False, 'shuffle-jobs': True, 'truncate-sources': '2-5', 'blogger-followers': ['ledianaprengaa'], 'watch-video-time': '15-35', 'watch-photo-time': '3-4', 'delete-interacted-users': True, 'telegram-reports': False, 'interactions-count': '300-400', 'likes-count': '1-2', 'likes-percentage': 100, 'stories-count': '10-20', 'stories-percentage': '30-40', 'carousel-count': '20-30', 'carousel-percentage': '60-70', 'max-comments-pro-user': '1-2', 'interact-percentage': '30-40', 'follow-percentage': '30-40', 'follow-limit': 50, 'skipped-list-limit': '10-15', 'skipped-posts-limit': 5, 'fling-when-skipped': 0, 'min-following': 10, 'total-likes-limit': '120-150', 'total-follows-limit': '40-50', 'total-unfollows-limit': '40-50', 'total-watches-limit': '120-150', 'total-successful-interactions-limit': '120-150', 'total-interactions-limit': '280-300', 'total-comments-limit': '3-50', 'total-pm-limit': '3-5', 'total-scraped-limit': '100-150', 'end-if-likes-limit-reached': False, 'end-if-follows-limit-reached': False, 'end-if-watches-limit-reached': False, 'end-if-comments-limit-reached': False, 'end-if-pm-limit-reached': False, 'working-hours': ['10.15-16.40', '18.15-22.46']} (config.py:162) +[11/30 17:33:01] DEBUG | Connected devices via adb: 1. That's ok. (utils.py:169) +[11/30 17:33:01] INFO | Time delta has set to 00:00:15. (utils.py:719) +[11/30 17:33:01] INFO | Next session will start at: 18:15:15 (2024/11/30). (utils.py:729) +[11/30 17:33:01] INFO | Time left: 00:42:13. (utils.py:733) +[11/30 17:34:57] INFO | Close Instagram app. (utils.py:312) +[11/30 17:34:58] DEBUG | 5.0s sleep (utils.py:467) +[11/30 17:34:59] DEBUG | Initial log file: logs/quecreate.log (log.py:100) +[11/30 17:34:59] DEBUG | Installed via git, config-examples is in the local folder. (utils.py:139) +[11/30 17:34:59] INFO | Checking for updates... (utils.py:64) +[11/30 17:34:59] INFO | Bot is updated. (utils.py:78) +[11/30 17:34:59] INFO | GramAddict v.3.2.12 (utils.py:81) +[11/30 17:34:59] INFO | Loading plugins . . . (plugin_loader.py:30) +[11/30 17:34:59] INFO | - ActionUnfollowFollowers: Handles the functionality of unfollowing your followers (plugin_loader.py:45) +[11/30 17:34:59] INFO | - ClonedApp: Adds support for cloned apps (plugin_loader.py:45) +[11/30 17:34:59] INFO | - CoreArguments: Simply adds core arguments (plugin_loader.py:45) +[11/30 17:34:59] INFO | - DataAnalytics: Generates a PDF analytics report of current username session data (plugin_loader.py:45) +[11/30 17:34:59] INFO | - DBInitPlugin: Initialize NocoDB tables at session start (plugin_loader.py:45) +[11/30 17:34:59] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger (plugin_loader.py:45) +[11/30 17:34:59] INFO | - InteractBloggerFollowers_Following: Handles the functionality of interacting with a bloggers followers/following (plugin_loader.py:45) +[11/30 17:34:59] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger post likers (plugin_loader.py:45) +[11/30 17:34:59] INFO | - InteractOwnFeed: Handles the functionality of interacting with your own feed (plugin_loader.py:45) +[11/30 17:34:59] INFO | - InteractHashtagLikers: Handles the functionality of interacting with a hashtags likers (plugin_loader.py:45) +[11/30 17:34:59] INFO | - InteractHashtagPosts: Handles the functionality of interacting with a hashtags post owners (plugin_loader.py:45) +[11/30 17:34:59] INFO | - InteractPlaceLikers: Handles the functionality of interacting with a places likers (plugin_loader.py:45) +[11/30 17:34:59] INFO | - InteractPlacePosts: Handles the functionality of interacting with a places post owners (plugin_loader.py:45) +[11/30 17:34:59] INFO | - LikeFromURLs: Likes a post from url. The urls are read from a plaintext file (plugin_loader.py:45) +[11/30 17:34:59] INFO | - NocoDBRecordCreationTest: Test plugin specifically for verifying NocoDB record creation functionality (plugin_loader.py:45) +[11/30 17:34:59] INFO | - NocoDBStorage: Store interaction data in NocoDB (plugin_loader.py:45) +[11/30 17:34:59] INFO | - RemoveFollowersFromList: Remove account followers from a list of usernames (plugin_loader.py:45) +[11/30 17:34:59] INFO | - TelegramReports: Generate reports at the end of the session and send them using telegram (plugin_loader.py:45) +[11/30 17:34:59] DEBUG | Arguments used: --config accounts/quecreate/config.yml --use-nocodb (config.py:160) +[11/30 17:34:59] DEBUG | Config used: {'username': 'quecreate', 'app-id': 'com.instagram.android', 'use-cloned-app': False, 'allow-untested-ig-version': False, 'screen-sleep': True, 'screen-record': False, 'speed-multiplier': 2.0, 'debug': True, 'close-apps': False, 'kill-atx-agent': False, 'restart-atx-agent': False, 'disable-block-detection': False, 'disable-filters': False, 'dont-type': False, 'use-nocodb': True, 'init-db': True, 'total-crashes-limit': 5, 'count-app-crashes': False, 'shuffle-jobs': True, 'truncate-sources': '2-5', 'blogger-followers': ['ledianaprengaa'], 'watch-video-time': '15-35', 'watch-photo-time': '3-4', 'delete-interacted-users': True, 'telegram-reports': False, 'interactions-count': '300-400', 'likes-count': '1-2', 'likes-percentage': 100, 'stories-count': '10-20', 'stories-percentage': '30-40', 'carousel-count': '20-30', 'carousel-percentage': '60-70', 'max-comments-pro-user': '1-2', 'interact-percentage': '30-40', 'follow-percentage': '30-40', 'follow-limit': 50, 'skipped-list-limit': '10-15', 'skipped-posts-limit': 5, 'fling-when-skipped': 0, 'min-following': 10, 'total-likes-limit': '120-150', 'total-follows-limit': '40-50', 'total-unfollows-limit': '40-50', 'total-watches-limit': '120-150', 'total-successful-interactions-limit': '120-150', 'total-interactions-limit': '280-300', 'total-comments-limit': '3-50', 'total-pm-limit': '3-5', 'total-scraped-limit': '100-150', 'end-if-likes-limit-reached': False, 'end-if-follows-limit-reached': False, 'end-if-watches-limit-reached': False, 'end-if-comments-limit-reached': False, 'end-if-pm-limit-reached': False, 'working-hours': ['10.15-16.40', '18.15-22.46'], 'time-delta': 4, 'repeat': '280-320'} (config.py:162) +[11/30 17:34:59] DEBUG | Connected devices via adb: 1. That's ok. (utils.py:169) +[11/30 17:35:00] INFO | Time delta has set to 00:04:52. (utils.py:719) +[11/30 17:35:00] INFO | Next session will start at: 18:19:52 (2024/11/30). (utils.py:729) +[11/30 17:35:00] INFO | Time left: 00:44:51. (utils.py:733) +[11/30 17:35:36] INFO | Close Instagram app. (utils.py:312) +[11/30 17:35:36] DEBUG | 5.0s sleep (utils.py:467) +[11/30 17:35:39] DEBUG | Initial log file: logs/quecreate.log (log.py:100) +[11/30 17:35:39] DEBUG | Installed via git, config-examples is in the local folder. (utils.py:139) +[11/30 17:35:39] INFO | Checking for updates... (utils.py:64) +[11/30 17:35:40] INFO | Bot is updated. (utils.py:78) +[11/30 17:35:40] INFO | GramAddict v.3.2.12 (utils.py:81) +[11/30 17:35:40] INFO | Loading plugins . . . (plugin_loader.py:30) +[11/30 17:35:40] INFO | - ActionUnfollowFollowers: Handles the functionality of unfollowing your followers (plugin_loader.py:45) +[11/30 17:35:40] INFO | - ClonedApp: Adds support for cloned apps (plugin_loader.py:45) +[11/30 17:35:40] INFO | - CoreArguments: Simply adds core arguments (plugin_loader.py:45) +[11/30 17:35:40] INFO | - DataAnalytics: Generates a PDF analytics report of current username session data (plugin_loader.py:45) +[11/30 17:35:40] INFO | - DBInitPlugin: Initialize NocoDB tables at session start (plugin_loader.py:45) +[11/30 17:35:40] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger (plugin_loader.py:45) +[11/30 17:35:40] INFO | - InteractBloggerFollowers_Following: Handles the functionality of interacting with a bloggers followers/following (plugin_loader.py:45) +[11/30 17:35:40] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger post likers (plugin_loader.py:45) +[11/30 17:35:40] INFO | - InteractOwnFeed: Handles the functionality of interacting with your own feed (plugin_loader.py:45) +[11/30 17:35:40] INFO | - InteractHashtagLikers: Handles the functionality of interacting with a hashtags likers (plugin_loader.py:45) +[11/30 17:35:40] INFO | - InteractHashtagPosts: Handles the functionality of interacting with a hashtags post owners (plugin_loader.py:45) +[11/30 17:35:40] INFO | - InteractPlaceLikers: Handles the functionality of interacting with a places likers (plugin_loader.py:45) +[11/30 17:35:40] INFO | - InteractPlacePosts: Handles the functionality of interacting with a places post owners (plugin_loader.py:45) +[11/30 17:35:40] INFO | - LikeFromURLs: Likes a post from url. The urls are read from a plaintext file (plugin_loader.py:45) +[11/30 17:35:40] INFO | - NocoDBRecordCreationTest: Test plugin specifically for verifying NocoDB record creation functionality (plugin_loader.py:45) +[11/30 17:35:40] INFO | - NocoDBStorage: Store interaction data in NocoDB (plugin_loader.py:45) +[11/30 17:35:40] INFO | - RemoveFollowersFromList: Remove account followers from a list of usernames (plugin_loader.py:45) +[11/30 17:35:40] INFO | - TelegramReports: Generate reports at the end of the session and send them using telegram (plugin_loader.py:45) +[11/30 17:35:40] DEBUG | Arguments used: --config accounts/quecreate/config.yml --use-nocodb (config.py:160) +[11/30 17:35:40] DEBUG | Config used: {'username': 'quecreate', 'app-id': 'com.instagram.android', 'use-cloned-app': False, 'allow-untested-ig-version': False, 'screen-sleep': True, 'screen-record': False, 'speed-multiplier': 2.0, 'debug': True, 'close-apps': False, 'kill-atx-agent': False, 'restart-atx-agent': False, 'disable-block-detection': False, 'disable-filters': False, 'dont-type': False, 'use-nocodb': True, 'init-db': True, 'total-crashes-limit': 5, 'count-app-crashes': False, 'shuffle-jobs': True, 'truncate-sources': '2-5', 'blogger-followers': ['ledianaprengaa'], 'watch-video-time': '15-35', 'watch-photo-time': '3-4', 'delete-interacted-users': True, 'telegram-reports': False, 'interactions-count': '300-400', 'likes-count': '1-2', 'likes-percentage': 100, 'stories-count': '10-20', 'stories-percentage': '30-40', 'carousel-count': '20-30', 'carousel-percentage': '60-70', 'max-comments-pro-user': '1-2', 'interact-percentage': '30-40', 'follow-percentage': '30-40', 'follow-limit': 50, 'skipped-list-limit': '10-15', 'skipped-posts-limit': 5, 'fling-when-skipped': 0, 'min-following': 10, 'total-likes-limit': '120-150', 'total-follows-limit': '40-50', 'total-unfollows-limit': '40-50', 'total-watches-limit': '120-150', 'total-successful-interactions-limit': '120-150', 'total-interactions-limit': '280-300', 'total-comments-limit': '3-50', 'total-pm-limit': '3-5', 'total-scraped-limit': '100-150', 'end-if-likes-limit-reached': False, 'end-if-follows-limit-reached': False, 'end-if-watches-limit-reached': False, 'end-if-comments-limit-reached': False, 'end-if-pm-limit-reached': False, 'working-hours': ['10.15-16.40', '18.15-22.46'], 'time-delta': 4, 'repeat': '280-320', 'total-sessions': -1} (config.py:162) +[11/30 17:35:40] DEBUG | Connected devices via adb: 1. That's ok. (utils.py:169) +[11/30 17:35:40] INFO | Time delta has set to 00:04:43. (utils.py:719) +[11/30 17:35:40] INFO | Next session will start at: 18:19:43 (2024/11/30). (utils.py:729) +[11/30 17:35:40] INFO | Time left: 00:44:02. (utils.py:733) +[11/30 17:37:01] INFO | Close Instagram app. (utils.py:312) +[11/30 17:37:01] DEBUG | 5.0s sleep (utils.py:467) +[11/30 17:37:02] DEBUG | Initial log file: logs/quecreate.log (log.py:100) +[11/30 17:37:02] DEBUG | Installed via git, config-examples is in the local folder. (utils.py:139) +[11/30 17:37:02] INFO | Checking for updates... (utils.py:64) +[11/30 17:37:03] INFO | Bot is updated. (utils.py:78) +[11/30 17:37:03] INFO | GramAddict v.3.2.12 (utils.py:81) +[11/30 17:37:03] INFO | Loading plugins . . . (plugin_loader.py:30) +[11/30 17:37:03] INFO | - ActionUnfollowFollowers: Handles the functionality of unfollowing your followers (plugin_loader.py:45) +[11/30 17:37:03] INFO | - ClonedApp: Adds support for cloned apps (plugin_loader.py:45) +[11/30 17:37:03] INFO | - CoreArguments: Simply adds core arguments (plugin_loader.py:45) +[11/30 17:37:03] INFO | - DataAnalytics: Generates a PDF analytics report of current username session data (plugin_loader.py:45) +[11/30 17:37:03] INFO | - DBInitPlugin: Initialize NocoDB tables at session start (plugin_loader.py:45) +[11/30 17:37:03] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger (plugin_loader.py:45) +[11/30 17:37:03] INFO | - InteractBloggerFollowers_Following: Handles the functionality of interacting with a bloggers followers/following (plugin_loader.py:45) +[11/30 17:37:03] INFO | - InteractBloggerPostLikers: Handles the functionality of interacting with a blogger post likers (plugin_loader.py:45) +[11/30 17:37:03] INFO | - InteractOwnFeed: Handles the functionality of interacting with your own feed (plugin_loader.py:45) +[11/30 17:37:03] INFO | - InteractHashtagLikers: Handles the functionality of interacting with a hashtags likers (plugin_loader.py:45) +[11/30 17:37:03] INFO | - InteractHashtagPosts: Handles the functionality of interacting with a hashtags post owners (plugin_loader.py:45) +[11/30 17:37:03] INFO | - InteractPlaceLikers: Handles the functionality of interacting with a places likers (plugin_loader.py:45) +[11/30 17:37:03] INFO | - InteractPlacePosts: Handles the functionality of interacting with a places post owners (plugin_loader.py:45) +[11/30 17:37:03] INFO | - LikeFromURLs: Likes a post from url. The urls are read from a plaintext file (plugin_loader.py:45) +[11/30 17:37:03] INFO | - NocoDBRecordCreationTest: Test plugin specifically for verifying NocoDB record creation functionality (plugin_loader.py:45) +[11/30 17:37:03] INFO | - NocoDBStorage: Store interaction data in NocoDB (plugin_loader.py:45) +[11/30 17:37:03] INFO | - RemoveFollowersFromList: Remove account followers from a list of usernames (plugin_loader.py:45) +[11/30 17:37:03] INFO | - TelegramReports: Generate reports at the end of the session and send them using telegram (plugin_loader.py:45) +[11/30 17:37:03] DEBUG | Arguments used: --config accounts/quecreate/config.yml --use-nocodb (config.py:160) +[11/30 17:37:03] DEBUG | Config used: {'username': 'quecreate', 'app-id': 'com.instagram.android', 'use-cloned-app': False, 'allow-untested-ig-version': False, 'screen-sleep': True, 'screen-record': False, 'speed-multiplier': 2.0, 'debug': True, 'close-apps': False, 'kill-atx-agent': False, 'restart-atx-agent': False, 'disable-block-detection': False, 'disable-filters': False, 'dont-type': False, 'use-nocodb': True, 'init-db': True, 'total-crashes-limit': 5, 'count-app-crashes': False, 'shuffle-jobs': True, 'truncate-sources': '2-5', 'blogger-followers': ['ledianaprengaa'], 'watch-video-time': '15-35', 'watch-photo-time': '3-4', 'delete-interacted-users': True, 'telegram-reports': False, 'interactions-count': '300-400', 'likes-count': '1-2', 'likes-percentage': 100, 'stories-count': '10-20', 'stories-percentage': '30-40', 'carousel-count': '20-30', 'carousel-percentage': '60-70', 'max-comments-pro-user': '1-2', 'interact-percentage': '30-40', 'follow-percentage': '30-40', 'follow-limit': 50, 'skipped-list-limit': '10-15', 'skipped-posts-limit': 5, 'fling-when-skipped': 0, 'min-following': 10, 'total-likes-limit': '120-150', 'total-follows-limit': '40-50', 'total-unfollows-limit': '40-50', 'total-watches-limit': '120-150', 'total-successful-interactions-limit': '120-150', 'total-interactions-limit': '280-300', 'total-comments-limit': '3-50', 'total-pm-limit': '3-5', 'total-scraped-limit': '100-150', 'end-if-likes-limit-reached': False, 'end-if-follows-limit-reached': False, 'end-if-watches-limit-reached': False, 'end-if-comments-limit-reached': False, 'end-if-pm-limit-reached': False, 'working-hours': ['17.00-23.00'], 'time-delta': 0, 'repeat': '280-320', 'total-sessions': -1} (config.py:162) +[11/30 17:37:03] DEBUG | Connected devices via adb: 1. That's ok. (utils.py:169) +[11/30 17:37:03] INFO | Time delta has set to 00:00:12. (utils.py:719) +[11/30 17:37:03] DEBUG | Phone Name: taimen, SDK Version: 30 (device_facade.py:29) +[11/30 17:37:03] DEBUG | Screen dimension: 1440x2824 (device_facade.py:34) +[11/30 17:37:03] DEBUG | Screen resolution: 411x823 (device_facade.py:37) +[11/30 17:37:03] DEBUG | Device ID: 192.168.50.202:5555 (device_facade.py:40) +[11/30 17:37:04] INFO | Screen timeout is fine! (utils.py:230) +[11/30 17:37:04] INFO | -------- START: 17:37:03 - 2024/11/30 -------- (bot_flow.py:132) +[11/30 17:37:06] INFO | Device screen ON and unlocked. (bot_flow.py:149) +[11/30 17:37:06] INFO | Open Instagram app. (utils.py:239) +[11/30 17:37:07] DEBUG | Instagram called successfully. (utils.py:252) +[11/30 17:37:07] INFO | Ready for botting!🤫 (utils.py:270) +[11/30 17:37:07] DEBUG | 1.47s sleep (utils.py:467) +[11/30 17:37:08] DEBUG | Setting FastInputIME as default keyboard. (utils.py:277) +[11/30 17:37:09] INFO | FastInputIME is the default keyboard. (utils.py:300) +[11/30 17:37:09] INFO | Instagram version: 300.0.0.29.110 (bot_flow.py:153) +[11/30 17:37:09] DEBUG | Navigating to main account... (views.py:1088) +[11/30 17:37:10] DEBUG | Single click in (1279,2748). Surface: (1244-1349,2684-2789) (device_facade.py:474) +[11/30 17:37:10] DEBUG | 0.40s sleep (utils.py:467) +[11/30 17:37:11] DEBUG | Checking if app is in English.. (navigation.py:21) +[11/30 17:37:14] DEBUG | Instagram in English. (navigation.py:28) +[11/30 17:37:15] INFO | You are already logged as quecreate! (views.py:1100) +[11/30 17:37:15] INFO | Refresh account... (views.py:1144) +[11/30 17:37:15] DEBUG | Swipe from: (699,630) to (801,919). (device_facade.py:306) +[11/30 17:37:16] DEBUG | 0.32s sleep (utils.py:467) +[11/30 17:37:17] DEBUG | 0.61s sleep (utils.py:467) +[11/30 17:37:21] INFO | Hello, @quecreate! You have 1 followers and 56 followings so far. (bot_flow.py:229) +[11/30 17:37:21] INFO | You have infinite session(s) left. You can stop the bot by pressing CTRL+C in console. (bot_flow.py:231) +[11/30 17:37:24] INFO | There is/are 3 active-job(s) and 0 unfollow-job(s) scheduled for this session. (bot_flow.py:251) +[11/30 17:37:24] INFO | NocoDB config found - plugin will handle initialization (storage.py:46) +[11/30 17:37:24] WARNING | accounts\quecreate\filters.yml has been saved last time at 2024-11-28 01:20:01 (filter.py:138) +[11/30 17:37:24] INFO | ---------------------------------------------------------------------- (filter.py:160) +[11/30 17:37:24] INFO | Filters recap (no spell check!) Value (filter.py:161) +[11/30 17:37:24] INFO | ---------------------------------------------------------------------- (filter.py:165) +[11/30 17:37:24] INFO | max_following 7500 (filter.py:173) +[11/30 17:37:24] INFO | min_following 10 (filter.py:173) +[11/30 17:37:24] INFO | max_followers 15000 (filter.py:173) +[11/30 17:37:24] INFO | min_followers 100 (filter.py:173) +[11/30 17:37:24] INFO | max_posts 1000 (filter.py:173) +[11/30 17:37:24] INFO | min_posts 3 (filter.py:173) +[11/30 17:37:24] INFO | max_following_to_followers_ratio 2.0 (filter.py:173) +[11/30 17:37:24] INFO | min_following_to_followers_ratio None (filter.py:173) +[11/30 17:37:24] INFO | max_followers_to_following_ratio None (filter.py:173) +[11/30 17:37:24] INFO | min_followers_to_following_ratio None (filter.py:173) +[11/30 17:37:24] INFO | max_potency_ratio 1.5 (filter.py:173) +[11/30 17:37:24] INFO | min_potency_ratio 0.1 (filter.py:173) +[11/30 17:37:24] INFO | biography_language None (filter.py:173) +[11/30 17:37:24] INFO | biography_banned_words [] (filter.py:173) +[11/30 17:37:24] INFO | biography_mandatory_words [] (filter.py:173) +[11/30 17:37:24] INFO | business_category_name [] (filter.py:173) +[11/30 17:37:24] INFO | is_private None (filter.py:173) +[11/30 17:37:24] INFO | is_verified None (filter.py:173) +[11/30 17:37:24] INFO | is_business None (filter.py:173) +[11/30 17:37:24] INFO | is_non_business None (filter.py:173) +[11/30 17:37:24] INFO | blacklist_words [] (filter.py:173) +[11/30 17:37:24] INFO | mandatory_words [] (filter.py:173) +[11/30 17:37:24] INFO | specific_alphabet None (filter.py:173) +[11/30 17:37:24] INFO | min_posts_from_date None (filter.py:173) +[11/30 17:37:24] INFO | posts_from_date None (filter.py:173) +[11/30 17:37:24] INFO | mutual_friends None (filter.py:173) +[11/30 17:37:24] INFO | following_bot None (filter.py:173) +[11/30 17:37:24] INFO | last_post None (filter.py:173) +[11/30 17:37:24] INFO | potency_ratio None (filter.py:173) +[11/30 17:37:24] INFO | has_any_business_category None (filter.py:173) +[11/30 17:37:24] INFO | has_highlights None (filter.py:173) +[11/30 17:37:24] INFO | has_guides None (filter.py:173) +[11/30 17:37:24] INFO | has_external_url None (filter.py:173) +[11/30 17:37:24] INFO | has_business_category_name None (filter.py:173) +[11/30 17:37:24] INFO | has_biography_links None (filter.py:173) +[11/30 17:37:24] INFO | has_igtv None (filter.py:173) +[11/30 17:37:24] INFO | has_linked_facebook None (filter.py:173) +[11/30 17:37:24] INFO | has_story_highlights None (filter.py:173) +[11/30 17:37:24] INFO | has_youtube None (filter.py:173) +[11/30 17:37:24] INFO | has_twitter None (filter.py:173) +[11/30 17:37:24] INFO | has_facebook None (filter.py:173) +[11/30 17:37:24] INFO | has_whatsapp None (filter.py:173) +[11/30 17:37:24] INFO | has_tiktok None (filter.py:173) +[11/30 17:37:24] INFO | skip_if_link_in_bio False (filter.py:168) +[11/30 17:37:24] INFO | skip_if_external_url False (filter.py:168) +[11/30 17:37:24] INFO | skip_if_business False (filter.py:168) +[11/30 17:37:24] INFO | skip_business_categories [] (filter.py:173) +[11/30 17:37:24] INFO | skip_bio_keyword [] (filter.py:173) +[11/30 17:37:24] INFO | skip_if_bio_keyword [] (filter.py:173) +[11/30 17:37:24] INFO | skip_if_bio_contains_anything False (filter.py:168) +[11/30 17:37:24] INFO | skip_if_no_avatar False (filter.py:168) +[11/30 17:37:24] INFO | skip_if_no_bio False (filter.py:168) +[11/30 17:37:24] INFO | skip_if_no_posts False (filter.py:168) +[11/30 17:37:24] INFO | skip_if_no_igtv False (filter.py:168) +[11/30 17:37:24] INFO | skip_if_no_story_highlights False (filter.py:168) +[11/30 17:37:24] INFO | skip_if_no_mutual_friends False (filter.py:168) +[11/30 17:37:24] INFO | skip_if_private False (filter.py:168) +[11/30 17:37:24] INFO | skip_if_public False (filter.py:168) +[11/30 17:37:24] INFO | skip_if_verified False (filter.py:168) +[11/30 17:37:24] INFO | skip_if_non_business False (filter.py:168) +[11/30 17:37:24] INFO | skip_if_following_bot False (filter.py:168) +[11/30 17:37:24] INFO | skip_if_following_less_than None (filter.py:173) +[11/30 17:37:24] INFO | skip_if_followers_less_than None (filter.py:173) +[11/30 17:37:24] INFO | skip_if_posts_less_than None (filter.py:173) +[11/30 17:37:24] INFO | skip_if_mutual_friends_less_than None (filter.py:173) +[11/30 17:37:24] INFO | skip_if_following_more_than None (filter.py:173) +[11/30 17:37:24] INFO | skip_if_followers_more_than None (filter.py:173) +[11/30 17:37:24] INFO | skip_if_posts_more_than None (filter.py:173) +[11/30 17:37:24] INFO | skip_if_mutual_friends_more_than None (filter.py:173) +[11/30 17:37:24] INFO | skip_if_following_to_followers_ratio_less_than None (filter.py:173) +[11/30 17:37:24] INFO | skip_if_following_to_followers_ratio_more_than None (filter.py:173) +[11/30 17:37:24] INFO | skip_if_followers_to_following_ratio_less_than None (filter.py:173) +[11/30 17:37:24] INFO | skip_if_followers_to_following_ratio_more_than None (filter.py:173) +[11/30 17:37:24] INFO | skip_if_potency_ratio_less_than None (filter.py:173) +[11/30 17:37:24] INFO | skip_if_potency_ratio_more_than None (filter.py:173) +[11/30 17:37:24] INFO | ---------------------------------------------------------------------- (utils.py:338) +[11/30 17:37:24] INFO | Session ending conditions: Value (utils.py:342) +[11/30 17:37:24] INFO | ---------------------------------------------------------------------- (utils.py:346) +[11/30 17:37:24] INFO | Likes: False (utils.py:350) +[11/30 17:37:24] INFO | Follows: False (utils.py:354) +[11/30 17:37:24] INFO | Watches: False (utils.py:358) +[11/30 17:37:24] INFO | Comments: False (utils.py:362) +[11/30 17:37:24] INFO | PM: False (utils.py:366) +[11/30 17:37:24] INFO | Total actions: True (not mutable) (utils.py:370) +[11/30 17:37:24] INFO | Total successfull actions: True (not mutable) (utils.py:374) +[11/30 17:37:24] INFO | For more info -> https://github.com/GramAddict/docs/blob/main/configuration.md#ending-session-conditions (utils.py:378) +[11/30 17:37:24] INFO | ---------------------------------------------------------------------- (utils.py:382) +[11/30 17:37:24] INFO | Checking session limits: (session_state.py:155) +[11/30 17:37:24] INFO | - Total Likes: OK (0/145) (session_state.py:155) +[11/30 17:37:24] INFO | - Total Comments: OK (0/12) (session_state.py:155) +[11/30 17:37:24] INFO | - Total PM: OK (0/3) (session_state.py:155) +[11/30 17:37:24] INFO | - Total Followed: OK (0/48) (session_state.py:155) +[11/30 17:37:24] INFO | - Total Unfollowed: OK (0/46) (session_state.py:155) +[11/30 17:37:24] INFO | - Total Watched: OK (0/133) (session_state.py:155) +[11/30 17:37:24] INFO | - Total Successful Interactions: OK (0/140) (session_state.py:155) +[11/30 17:37:24] INFO | - Total Interactions: OK (0/284) (session_state.py:155) +[11/30 17:37:24] INFO | - Total Crashes: OK (0/5) (session_state.py:155) +[11/30 17:37:24] INFO | - Total Successful Scraped Users: OK (0/145) (session_state.py:155) +[11/30 17:37:24] INFO | Current active-job: use-nocodb (bot_flow.py:321) +[11/30 17:37:24] INFO | NocoDB reference set in storage (nocodb_storage.py:191) +[11/30 17:37:24] INFO | Checking session limits: (session_state.py:155) +[11/30 17:37:24] INFO | - Total Likes: OK (0/145) (session_state.py:155) +[11/30 17:37:24] INFO | - Total Comments: OK (0/12) (session_state.py:155) +[11/30 17:37:24] INFO | - Total PM: OK (0/3) (session_state.py:155) +[11/30 17:37:24] INFO | - Total Followed: OK (0/48) (session_state.py:155) +[11/30 17:37:24] INFO | - Total Unfollowed: OK (0/46) (session_state.py:155) +[11/30 17:37:24] INFO | - Total Watched: OK (0/133) (session_state.py:155) +[11/30 17:37:24] INFO | - Total Successful Interactions: OK (0/140) (session_state.py:155) +[11/30 17:37:24] INFO | - Total Interactions: OK (0/284) (session_state.py:155) +[11/30 17:37:24] INFO | - Total Crashes: OK (0/5) (session_state.py:155) +[11/30 17:37:24] INFO | - Total Successful Scraped Users: OK (0/145) (session_state.py:155) +[11/30 17:37:25] INFO | Current active-job: init-db (bot_flow.py:321) +[11/30 17:37:25] INFO | ================================================================================ (dbinit.py:26) +[11/30 17:37:25] INFO | Starting database initialization... (dbinit.py:27) +[11/30 17:37:25] INFO | Initializing NocoDB tables... (dbinit.py:55) +[11/30 17:37:25] INFO | Database tables initialization completed successfully! (dbinit.py:59) +[11/30 17:37:25] INFO | You can now use NocoDB to store interaction data. (dbinit.py:60) +[11/30 17:37:25] INFO | ================================================================================ (dbinit.py:61) +[11/30 17:37:25] INFO | Checking session limits: (session_state.py:155) +[11/30 17:37:25] INFO | - Total Likes: OK (0/145) (session_state.py:155) +[11/30 17:37:25] INFO | - Total Comments: OK (0/12) (session_state.py:155) +[11/30 17:37:25] INFO | - Total PM: OK (0/3) (session_state.py:155) +[11/30 17:37:25] INFO | - Total Followed: OK (0/48) (session_state.py:155) +[11/30 17:37:25] INFO | - Total Unfollowed: OK (0/46) (session_state.py:155) +[11/30 17:37:25] INFO | - Total Watched: OK (0/133) (session_state.py:155) +[11/30 17:37:25] INFO | - Total Successful Interactions: OK (0/140) (session_state.py:155) +[11/30 17:37:25] INFO | - Total Interactions: OK (0/284) (session_state.py:155) +[11/30 17:37:25] INFO | - Total Crashes: OK (0/5) (session_state.py:155) +[11/30 17:37:25] INFO | - Total Successful Scraped Users: OK (0/145) (session_state.py:155) +[11/30 17:37:26] INFO | Current active-job: blogger-followers (bot_flow.py:321) +[11/30 17:37:26] INFO | Source list truncated at 1 item. (utils.py:647) +[11/30 17:37:26] INFO | In this session, that source will be handled: ledianaprengaa (utils.py:650) +[11/30 17:37:26] DEBUG | Checking session limits: (session_state.py:158) +[11/30 17:37:26] DEBUG | - Total Likes: OK (0/145) (session_state.py:158) +[11/30 17:37:26] DEBUG | - Total Comments: OK (0/12) (session_state.py:158) +[11/30 17:37:26] DEBUG | - Total PM: OK (0/3) (session_state.py:158) +[11/30 17:37:26] DEBUG | - Total Followed: OK (0/48) (session_state.py:158) +[11/30 17:37:26] DEBUG | - Total Unfollowed: OK (0/46) (session_state.py:158) +[11/30 17:37:26] DEBUG | - Total Watched: OK (0/133) (session_state.py:158) +[11/30 17:37:26] DEBUG | - Total Successful Interactions: OK (0/140) (session_state.py:158) +[11/30 17:37:26] DEBUG | - Total Interactions: OK (0/284) (session_state.py:158) +[11/30 17:37:26] DEBUG | - Total Crashes: OK (0/5) (session_state.py:158) +[11/30 17:37:26] DEBUG | - Total Successful Scraped Users: OK (0/145) (session_state.py:158) +[11/30 17:37:26] INFO | Handle ledianaprengaa (interact_blogger_followers.py:85) +[11/30 17:37:26] INFO | Interactions count: 371 (utils.py:607) +[11/30 17:37:26] INFO | Chance of watching stories: 38% (utils.py:607) +[11/30 17:37:26] INFO | Chance of liking: 100% (utils.py:607) +[11/30 17:37:26] INFO | Chance of following: 34% (utils.py:607) +[11/30 17:37:26] INFO | Chance of commenting: 0% (utils.py:607) +[11/30 17:37:26] INFO | Chance of interacting: 35% (utils.py:607) +[11/30 17:37:26] INFO | Chance of send PM: 0% (utils.py:607) +[11/30 17:37:26] DEBUG | Navigate to SEARCH (views.py:138) +[11/30 17:37:27] DEBUG | Single click in (483,2750). Surface: (288-576,2649-2824) (device_facade.py:474) +[11/30 17:37:27] DEBUG | 0.59s sleep (utils.py:467) +[11/30 17:37:28] DEBUG | Single click in (485,2737). Surface: (288-576,2649-2824) (device_facade.py:474) +[11/30 17:37:28] DEBUG | 0.98s sleep (utils.py:467) +[11/30 17:37:29] INFO | Navigate to ledianaprengaa (views.py:397) +[11/30 17:37:30] DEBUG | Pressing on searchbar. (views.py:400) +[11/30 17:37:30] DEBUG | Single click in (1111,239). Surface: (42-1370,146-259) (device_facade.py:474) +[11/30 17:37:30] DEBUG | 0.57s sleep (utils.py:467) +[11/30 17:37:32] DEBUG | Single click in (550,692). Surface: (322-610,653-710) (device_facade.py:474) +[11/30 17:37:32] DEBUG | 0.99s sleep (utils.py:467) +[11/30 17:37:33] INFO | ledianaprengaa is in recent history. (views.py:406) +[11/30 17:37:33] INFO | Open @ledianaprengaa followers. (navigation.py:54) +[11/30 17:37:33] INFO | Navigate to followers. (views.py:1796) +[11/30 17:37:34] DEBUG | Single click in (864,518). Surface: (747-1057,322-630) (device_facade.py:474) +[11/30 17:37:34] DEBUG | 0.49s sleep (utils.py:467) +[11/30 17:37:37] INFO | Iterate over visible followers. (handle_sources.py:718) +[11/30 17:37:41] DEBUG | There are 7 users fully visible in that view. (utils.py:752) +[11/30 17:37:43] INFO | @bhuvan_vishkarma: already interacted on 2024/11/30 17:32:04. Skip. (handle_sources.py:756) +[11/30 17:37:44] INFO | @jardaniealesandropamoc: interact (handle_sources.py:767) +[11/30 17:37:44] DEBUG | Single click in (516,992). Surface: (322-792,973-1030) (device_facade.py:474) +[11/30 17:37:45] DEBUG | 1.49s sleep (utils.py:467) +[11/30 17:37:46] DEBUG | 2.17s sleep (utils.py:467) +[11/30 17:37:49] DEBUG | Checking profile.. (interaction.py:79) +[11/30 17:37:50] INFO | CTRL-C detected . . . (decorators.py:35) +[11/30 17:37:50] INFO | -------- PAUSED: 17:37:50 -------- (decorators.py:39) +[11/30 17:37:50] INFO | NOTE: This is a rudimentary pause. It will restart the action, while retaining session data. (decorators.py:43) +[11/30 17:37:50] INFO | Press RETURN to resume or CTRL-C again to Quit: (decorators.py:47) diff --git a/logs/test_nocodb.log b/logs/test_nocodb.log new file mode 100644 index 00000000..e69de29b diff --git a/requirements.txt b/requirements.txt index 5abe52cb..6e418de5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,11 +1,45 @@ +# Core dependencies +fastapi==0.115.5 +uvicorn==0.32.1 +uiautomator2==2.16.14 +requests==2.31.0 +PyYAML==6.0.1 +pydantic==2.10.2 +psutil==6.1.0 + +# Instagram Bot dependencies +GramAddict==3.2.12 colorama==0.4.4 ConfigArgParse==1.5.3 -PyYAML==6.0.1 -uiautomator2~=2.16.19 -urllib3==1.26.18 emoji==1.6.1 langdetect==1.0.9 atomicwrites==1.4.0 spintax==1.0.4 -requests~=2.31.0 -packaging~=20.9 \ No newline at end of file +adbutils==0.16.2 +apkutils2==1.0.0 + +# API and validation dependencies +starlette==0.41.3 +pydantic-core==2.27.1 +typing-extensions==4.12.2 +annotated-types==0.7.0 + +# Authentication and security +PyJWT==2.10.1 + +# Utility packages +packaging==20.9 +retry==0.9.2 +logzero==1.7.0 +xmltodict==0.14.2 +urllib3==1.26.18 + +# Development dependencies +pillow==11.0.0 +progress==1.6 +six==1.16.0 +sniffio==1.3.1 +anyio==4.6.2.post1 +idna==3.10 +pyparsing==3.2.0 +wrapt==1.17.0 \ No newline at end of file diff --git a/run.py b/run.py index 3435986e..cf9a6467 100644 --- a/run.py +++ b/run.py @@ -1,3 +1,17 @@ -import GramAddict +import sys +import os -GramAddict.run() +# Add the current directory to Python path so it can find GramAddict +current_dir = os.path.dirname(os.path.abspath(__file__)) +sys.path.append(current_dir) +print(f"Python path: {sys.path}") +print(f"Current directory: {current_dir}") +print(f"Working directory: {os.getcwd()}") + +try: + import GramAddict + print("Successfully imported GramAddict") + GramAddict.run() +except Exception as e: + print(f"Error running GramAddict: {str(e)}", file=sys.stderr) + raise diff --git a/test_init_db.py b/test_init_db.py new file mode 100644 index 00000000..6b3a8578 --- /dev/null +++ b/test_init_db.py @@ -0,0 +1,179 @@ +import logging +import os +import requests +import yaml +import traceback +import json + +# Configure logging +logging.basicConfig( + level=logging.DEBUG, + format='%(asctime)s - %(levelname)s - %(message)s', + handlers=[ + logging.StreamHandler() + ] +) +logger = logging.getLogger(__name__) + +def load_config(config_path): + """Load NocoDB configuration from YAML file.""" + try: + if not os.path.exists(config_path): + logger.error(f"NocoDB config file not found: {config_path}") + return None + + with open(config_path, 'r') as f: + config = yaml.safe_load(f) + + # Validate required fields + required_fields = ["base_url", "api_token", "base_id"] + missing_fields = [field for field in required_fields if not config.get(field)] + if missing_fields: + logger.error(f"Missing required fields in nocodb.yml: {missing_fields}") + return None + + return config + + except Exception as e: + logger.error(f"Failed to load NocoDB config: {str(e)}") + return None + +def init_tables(base_url, api_token, base_id, table_schemas): + """Initialize NocoDB tables.""" + logger.info("Initializing NocoDB tables...") + try: + headers = { + "xc-token": api_token, + "accept": "application/json", + "Content-Type": "application/json" + } + + # Test connection first + response = requests.get( + f"{base_url}/api/v1/health", + headers=headers, + timeout=10 + ) + response.raise_for_status() + logger.info("NocoDB connection successful!") + + # Get existing tables using the correct API endpoint + response = requests.get( + f"{base_url}/api/v1/db/meta/projects/{base_id}/tables", + headers=headers + ) + response.raise_for_status() + + # Log the actual response for debugging + response_json = response.json() + logger.info(f"API Response: {json.dumps(response_json, indent=2)}") + + # Handle empty list case and list wrapper + if not response_json or not response_json.get('list'): + existing_tables = set() + else: + existing_tables = {table["title"] for table in response_json.get('list', [])} + + logger.info(f"Existing tables: {existing_tables}") + + # Create missing tables + for schema in table_schemas.values(): + if schema["title"] not in existing_tables: + logger.info(f"Creating table: {schema['title']}") + # Create table + table_data = { + "title": schema["title"], + "table_name": schema["table_name"], + "columns": [ + { + "column_name": col["column_name"], + "title": col["title"], + "uidt": col["uidt"], + "dt": col["dt"] + } + for col in schema["columns"] + ] + } + + # Log request data for debugging + logger.info(f"Creating table with data: {json.dumps(table_data, indent=2)}") + + response = requests.post( + f"{base_url}/api/v1/db/meta/projects/{base_id}/tables", + headers=headers, + json=table_data + ) + response.raise_for_status() + logger.info(f"Created table: {schema['title']}") + + # Log response for debugging + logger.info(f"Table creation response: {json.dumps(response.json(), indent=2)}") + else: + logger.info(f"Table already exists: {schema['title']}") + + logger.info("Table initialization completed!") + return True + + except Exception as e: + logger.error(f"Failed to initialize tables: {str(e)}") + if logger.getEffectiveLevel() == logging.DEBUG: + logger.error(f"Traceback: {traceback.format_exc()}") + return False + +def main(): + try: + # Load NocoDB configuration + config_path = os.path.join('accounts', 'quecreate', 'nocodb.yml') + logger.info("Loading NocoDB configuration...") + config = load_config(config_path) + if not config: + logger.error("Failed to load NocoDB configuration") + return + + # Set up connection parameters + base_url = config["base_url"] + api_token = config["api_token"] + base_id = config["base_id"] + + # Default table schemas if not in config + default_schemas = { + "interacted_users": { + "table_name": "interacted_users", + "title": "Interacted Users", + "columns": [ + {"column_name": "User_Id", "title": "User Id", "uidt": "SingleLineText", "dt": "varchar"}, + {"column_name": "Username", "title": "Username", "uidt": "SingleLineText", "dt": "varchar"}, + {"column_name": "Full_Name", "title": "Full Name", "uidt": "SingleLineText", "dt": "varchar"}, + {"column_name": "Profile_URL", "title": "Profile URL", "uidt": "SingleLineText", "dt": "varchar"}, + {"column_name": "Interaction_Type", "title": "Interaction Type", "uidt": "SingleLineText", "dt": "varchar"}, + {"column_name": "Success", "title": "Success", "uidt": "Checkbox", "dt": "boolean"}, + {"column_name": "Timestamp", "title": "Timestamp", "uidt": "DateTime", "dt": "datetime"} + ] + }, + "history_filters_users": { + "table_name": "history_filters_users", + "title": "History Filters Users", + "columns": [ + {"column_name": "User_Id", "title": "User Id", "uidt": "SingleLineText", "dt": "varchar"}, + {"column_name": "Username", "title": "Username", "uidt": "SingleLineText", "dt": "varchar"}, + {"column_name": "Filtered_At", "title": "Filtered At", "uidt": "DateTime", "dt": "datetime"}, + {"column_name": "Filter_Type", "title": "Filter Type", "uidt": "SingleLineText", "dt": "varchar"} + ] + } + } + + # Load table schemas from config or use defaults + table_schemas = config.get("table_schemas", default_schemas) + + # Initialize tables + logger.info("Initializing tables...") + if init_tables(base_url, api_token, base_id, table_schemas): + logger.info("Tables initialized successfully!") + else: + logger.error("Failed to initialize tables") + + except Exception as e: + logger.error(f"Error: {str(e)}", exc_info=True) + +if __name__ == "__main__": + main() diff --git a/test_nocodb.py b/test_nocodb.py new file mode 100644 index 00000000..aaf07186 --- /dev/null +++ b/test_nocodb.py @@ -0,0 +1,168 @@ +import os +import logging +import uuid +from datetime import datetime +import pytest +import requests +import yaml +from GramAddict.plugins.nocodb_storage import NocoDBStorage +from GramAddict.core.storage import Storage + +# Configure logging +logging.basicConfig( + level=logging.DEBUG, + format='%(asctime)s.%(msecs)03d - %(levelname)s - %(message)s', + datefmt='%Y-%m-%d %H:%M:%S', + handlers=[ + logging.FileHandler('logs/test_nocodb.log'), + logging.StreamHandler() + ] +) +logger = logging.getLogger(__name__) + +class MockDevice: + def __init__(self): + pass + +class Args: + def __init__(self): + self.username = "quecreate" + self.use_nocodb = True + self.init_db = True + self.config = os.path.join('accounts', 'quecreate', 'config.yml') + +class MockConfig: + def __init__(self): + self.args = Args() + self.username = "quecreate" + +def load_config(): + config_path = os.path.join('accounts', 'quecreate', 'config.yml') + with open(config_path, 'r') as f: + return yaml.safe_load(f) + +@pytest.fixture +def storage(): + """Fixture to provide NocoDBStorage instance.""" + storage_instance = NocoDBStorage() + storage_instance.args = Args() + + device = MockDevice() + configs = MockConfig() + storage = Storage("quecreate") # Use Storage class instead of dict + sessions = {} + filters = {} + plugin_name = "nocodb_storage" + + storage_instance.run(device, configs, storage, sessions, filters, plugin_name) + return storage_instance + +def test_api_connection(storage): + """Test API connection to NocoDB.""" + logger.info("Testing API connection...") + try: + url = f"{storage.base_url}/api/v1/db/meta/projects/{storage.base_id}/tables" + response = requests.get(url, headers=storage.headers) + response.raise_for_status() + logger.info("API connection successful!") + assert True + except Exception as e: + logger.error(f"API connection failed: {str(e)}") + assert False + +def test_table_initialization(storage): + """Test table initialization.""" + logger.info("Testing table initialization...") + try: + result = storage.init_tables() + assert result is True + except Exception as e: + logger.error(f"Table initialization failed: {str(e)}") + assert False + +def test_interaction_storage(storage): + """Test storing an interaction.""" + logger.info("Testing interaction storage...") + + interaction_data = { + "User Id": "test_user_123", + "Username": "test_username", + "Full Name": "Test User", + "Profile URL": "https://instagram.com/test_username", + "Interaction Type": "test_interaction", + "Success": True, + "Timestamp": datetime.now().isoformat(), + "Session ID": str(uuid.uuid4()), + "Job Name": "test_job", + "Target": "test_target", + "Session Start Time": datetime.now().isoformat(), + "Session End Time": datetime.now().isoformat() + } + + logger.info(f"Storing interaction for user {interaction_data['Username']}") + try: + storage._store_interaction(interaction_data) + assert True + except Exception as e: + logger.error(f"Failed to store interaction: {str(e)}") + assert False + +def test_filter_storage(storage): + """Test storing filter data.""" + logger.info("Testing filter storage...") + try: + storage._store_filter("test_user_123", "test_username", "test_filter") + assert True + except Exception as e: + logger.error(f"Failed to store filter: {str(e)}") + assert False + +def test_user_interactions(storage): + """Test interaction retrieval for a user.""" + logger.info("Testing user interactions retrieval...") + try: + interactions = storage.get_user_interactions("test_user_123") + assert isinstance(interactions, list) + except Exception as e: + logger.error(f"Failed to get user interactions: {str(e)}") + assert False + +def test_filtered_user(storage): + """Test filter retrieval for a user.""" + logger.info("Testing filtered user retrieval...") + try: + filter_record = storage.get_filtered_user("test_user_123") + assert isinstance(filter_record, dict) or filter_record is None + except Exception as e: + logger.error(f"Failed to get filtered user: {str(e)}") + assert False + +def main(): + """Main test function.""" + logger.info("="*80) + logger.info("Starting NocoDB Storage Tests") + logger.info("="*80) + + # Initialize storage + storage = NocoDBStorage() + storage.args = Args() + + device = MockDevice() + configs = MockConfig() + storage_dict = Storage("quecreate") + sessions = {} + filters = {} + plugin_name = "nocodb_storage" + + storage.run(device, configs, storage_dict, sessions, filters, plugin_name) + + # Run tests + test_api_connection(storage) + test_table_initialization(storage) + test_interaction_storage(storage) + test_filter_storage(storage) + test_user_interactions(storage) + test_filtered_user(storage) + +if __name__ == "__main__": + main() diff --git a/test_nocodb_filter.py b/test_nocodb_filter.py new file mode 100644 index 00000000..0c397d7c --- /dev/null +++ b/test_nocodb_filter.py @@ -0,0 +1,131 @@ +import requests +import yaml +import json +import logging +from urllib.parse import quote + +# Configure logging +logging.basicConfig(level=logging.DEBUG) +logger = logging.getLogger(__name__) + +def load_config(): + with open('accounts/quecreate/nocodb.yml', 'r') as f: + return yaml.safe_load(f) + +def main(): + # Load configuration + config = load_config() + base_url = config['base_url'] + headers = { + 'xc-token': config['api_token'] + } + + # Get table ID from meta API + meta_url = f"{base_url}/api/v1/db/meta/projects/{config['base_id']}/tables" + response = requests.get(meta_url, headers=headers) + tables = response.json()['list'] + + # Print raw response + logger.info("\nRaw response:") + logger.info(json.dumps(tables, indent=2)) + + # Print available tables + logger.info("\nAvailable tables:") + for table in tables: + if isinstance(table, dict): + logger.info(f"- {table.get('title', 'Unknown')} (id: {table.get('id', 'Unknown')}, table_name: {table.get('table_name', 'Unknown')})") + + test_table_id = None + for table in tables: + if isinstance(table, dict) and 'title' in table and table['title'] == 'history_filters_users': + test_table_id = table['id'] + logger.info(f"\nSelected table: {table['title']} (id: {test_table_id})") + break + + if not test_table_id: + logger.error("Test table not found!") + return + + # Get table schema + schema_url = f"{base_url}/api/v2/tables/{test_table_id}/columns" + response = requests.get(schema_url, headers=headers) + logger.info("\nTable schema:") + logger.info(json.dumps(response.json(), indent=2)) + + # First get sample data from the table to understand structure + print("\nFetching sample data to analyze structure...") + sample_url = f"{base_url}/api/v2/tables/{test_table_id}/records?limit=1" + sample_response = requests.get(sample_url, headers=headers) + + if sample_response.status_code == 200: + sample_data = sample_response.json() + if sample_data.get('list') and len(sample_data['list']) > 0: + sample_record = sample_data['list'][0] + print("\nSample record structure:") + for key, value in sample_record.items(): + print(f"- {key}: {value}") + + # Try different filter formats based on actual data + test_filters = [ + { + 'name': 'Query string format', + 'filter': "(User Id,eq,test_user_123)" + }, + { + 'name': 'Multiple conditions query string', + 'filter': "(User Id,eq,test_user_123)~and(Filter Type,eq,test_filter)" + }, + { + 'name': 'LIKE operator', + 'filter': "(User Id,like,test_user%)" + }, + { + 'name': 'IN operator', + 'filter': "(User Id,in,test_user_123,test_user_456)" + } + ] + + for test in test_filters: + print(f"\nTesting filter format: {test['name']}") + filter_url = f"{base_url}/api/v2/tables/{test_table_id}/records" + filter_response = requests.get( + filter_url, + params={'where': test['filter']}, + headers=headers + ) + + print(f"Filter response status: {filter_response.status_code}") + if filter_response.status_code == 200: + print("Filter successful!") + filter_data = filter_response.json() + print(f"Found {len(filter_data.get('list', []))} matching records") + else: + print("Filter failed") + print(f"Response: {filter_response.text}") + print("-" * 50) + + # First try without any filter + logger.info("\nTesting without filter") + url = f"{base_url}/api/v2/tables/{test_table_id}/records" + params = { + 'limit': 25, + 'offset': 0 + } + + response = requests.get(url, headers=headers, params=params) + logger.debug(f"Request URL: {response.url}") + logger.debug(f"Response Status: {response.status_code}") + logger.debug(f"Response Body: {response.text}") + + if response.status_code == 200: + logger.info("\u2705 Successfully retrieved records without filter") + records = response.json() + if records and 'list' in records: + # Get column names from first record + sample_record = records['list'][0] + logger.info(f"\nSample record fields: {list(sample_record.keys())}") + else: + logger.error("\u274c Failed to retrieve records without filter") + +if __name__ == "__main__": + main() diff --git a/test_nocodb_tables.py b/test_nocodb_tables.py new file mode 100644 index 00000000..03a7fd2b --- /dev/null +++ b/test_nocodb_tables.py @@ -0,0 +1,89 @@ +import requests +import yaml +import logging +import os +import json + +# Configure logging +logging.basicConfig(level=logging.DEBUG) +logger = logging.getLogger(__name__) + +def load_config(): + config_path = os.path.join('accounts', 'quecreate', 'nocodb.yml') + with open(config_path, 'r') as f: + return yaml.safe_load(f) + +def create_table(base_url, headers, table_name, columns): + # Convert NocoDB column types to UI types (uidt) + type_mapping = { + 'string': 'SingleLineText', + 'integer': 'Number', + 'boolean': 'Checkbox', + 'datetime': 'DateTime' + } + + # Format columns for NocoDB API + formatted_columns = [] + for col in columns: + formatted_col = { + 'column_name': col['name'], + 'title': col['name'], + 'uidt': type_mapping[col['type']], + 'dt': col['type'].upper() if col['type'] != 'datetime' else 'TIMESTAMP', + } + formatted_columns.append(formatted_col) + + # Prepare table creation payload + payload = { + 'table_name': table_name, + 'title': table_name, + 'columns': formatted_columns + } + + # Use meta API endpoint for table creation + meta_url = base_url.replace('/api/v1/db/data/v1/', '/api/v1/db/meta/projects/') + create_url = f"{meta_url}/tables" + + logger.info(f"Creating table {table_name} at URL: {create_url}") + logger.debug(f"Table creation payload: {json.dumps(payload, indent=2)}") + + try: + response = requests.post(create_url, headers=headers, json=payload) + response.raise_for_status() + logger.info(f"Successfully created table {table_name}") + return True + except requests.exceptions.RequestException as e: + logger.error(f"Failed to create table {table_name}: {str(e)}") + if hasattr(e.response, 'text'): + logger.error(f"Response: {e.response.text}") + return False + +def main(): + # Load configuration + config = load_config() + + # Setup headers + headers = { + 'accept': 'application/json', + 'xc-token': config['api_token'], + 'Content-Type': 'application/json' + } + + # Create each table + for table_config in config['tables'].values(): + table_name = table_config['name'] + columns = table_config['columns'] + + success = create_table( + config['base_url'], + headers, + table_name, + columns + ) + + if not success: + logger.error(f"Failed to create table {table_name}") + return + +if __name__ == '__main__': + main() diff --git a/test_session.py b/test_session.py new file mode 100644 index 00000000..61b7c103 --- /dev/null +++ b/test_session.py @@ -0,0 +1,96 @@ +import os +import logging +import uuid +from datetime import datetime +from GramAddict.plugins.nocodb_storage import NocoDBStorage +from enum import Enum, auto + +# Configure logging +logging.basicConfig( + level=logging.DEBUG, + format='%(asctime)s.%(msecs)03d - %(levelname)s - %(message)s', + datefmt='%Y-%m-%d %H:%M:%S', + handlers=[ + logging.FileHandler('logs/test_session.log'), + logging.StreamHandler() + ] +) +logger = logging.getLogger(__name__) + +class FollowButtonText(Enum): + FOLLOW = auto() + FOLLOWING = auto() + REQUESTED = auto() + +def test_session(): + try: + session_id = str(uuid.uuid4()) + logger.info(f"Starting test session with ID: {session_id}") + + # Initialize NocoDB storage + config_path = os.path.join('accounts', 'quecreate', 'nocodb.yml') + nocodb_storage = NocoDBStorage(config_path) + + # Initialize tables + logger.info("Initializing NocoDB tables...") + if not nocodb_storage._init_tables(): + logger.error("Failed to initialize tables") + return False + + # Test interaction tracking + logger.info("Testing interaction storage...") + interaction_data = { + 'id': session_id, + 'user_id': 'test_user_123', + 'username': 'test_username', + 'interaction_at': datetime.now().isoformat(), + 'session_id': session_id, + 'job_name': 'test_job', + 'target': 'test_target', + 'followed': True, + 'is_requested': False, + 'scraped': False, + 'liked_count': 2, + 'watched_count': 1, + 'commented_count': 0, + 'pm_sent': False, + 'success': True + } + + logger.info(f"Storing interaction for user {interaction_data['username']}") + nocodb_storage._store_interaction(interaction_data) + + # Test filter tracking + logger.info("Testing filter storage...") + user_id = 'test_user_123' + filter_type = 'test_filter' + + logger.info(f"Storing filter for user {user_id}") + nocodb_storage._store_filter(user_id, filter_type) + + # Test data retrieval + logger.info("Testing data retrieval...") + + # Test interaction retrieval + interactions = nocodb_storage.get_user_interactions("test_username") + if interactions: + logger.info(f"Found {len(interactions)} interactions for test_username") + else: + logger.warning("No interactions found for test_username") + + # Test filter retrieval + filters = nocodb_storage.get_filtered_user("test_user_123") + if filters: + logger.info(f"Found {len(filters)} filter records for test_user_123") + else: + logger.warning("No filter records found for test_user_123") + + logger.info("Session test completed successfully!") + return True + + except Exception as e: + logger.error(f"Test session failed: {str(e)}") + return False + +if __name__ == "__main__": + test_session() diff --git a/tests/__pycache__/test_framework.cpython-312-pytest-7.4.3.pyc b/tests/__pycache__/test_framework.cpython-312-pytest-7.4.3.pyc new file mode 100644 index 00000000..e4434b87 Binary files /dev/null and b/tests/__pycache__/test_framework.cpython-312-pytest-7.4.3.pyc differ diff --git a/tests/__pycache__/test_framework.cpython-39-pytest-8.3.3.pyc b/tests/__pycache__/test_framework.cpython-39-pytest-8.3.3.pyc new file mode 100644 index 00000000..d10df066 Binary files /dev/null and b/tests/__pycache__/test_framework.cpython-39-pytest-8.3.3.pyc differ diff --git a/tests/__pycache__/test_nocodb_storage.cpython-312-pytest-7.4.3.pyc b/tests/__pycache__/test_nocodb_storage.cpython-312-pytest-7.4.3.pyc new file mode 100644 index 00000000..ad82dc76 Binary files /dev/null and b/tests/__pycache__/test_nocodb_storage.cpython-312-pytest-7.4.3.pyc differ diff --git a/tests/__pycache__/test_nocodb_storage.cpython-39-pytest-8.3.3.pyc b/tests/__pycache__/test_nocodb_storage.cpython-39-pytest-8.3.3.pyc new file mode 100644 index 00000000..b0d3537c Binary files /dev/null and b/tests/__pycache__/test_nocodb_storage.cpython-39-pytest-8.3.3.pyc differ diff --git a/uiautomator2-2.16.14-py3-none-any.whl b/uiautomator2-2.16.14-py3-none-any.whl new file mode 100644 index 00000000..82b504ab --- /dev/null +++ b/uiautomator2-2.16.14-py3-none-any.whl @@ -0,0 +1,2 @@ + +NoSuchKeyThe specified key does not exist.packages/4e/c8/4e4e4f2e4e4e4f2e4e4e4f2e4e4e4f2e4e4e4f2e4e4e4f2e4e4e4f2e4e4e/uiautomator2-2.16.14-py3-none-any.whl8ZHM52FWNPQYZ1MJ6U6oRDjAmfPHvH2VDVg/C+DMrGz/w4J93IKH+Sk3n97trO/oIgQba5BcdDPtxl/fuLLitCLKXTE= \ No newline at end of file diff --git a/venv/Lib/site-packages/ConfigArgParse-1.5.3.dist-info/INSTALLER b/venv/Lib/site-packages/ConfigArgParse-1.5.3.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/venv/Lib/site-packages/ConfigArgParse-1.5.3.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/Lib/site-packages/ConfigArgParse-1.5.3.dist-info/LICENSE b/venv/Lib/site-packages/ConfigArgParse-1.5.3.dist-info/LICENSE new file mode 100644 index 00000000..c98670d9 --- /dev/null +++ b/venv/Lib/site-packages/ConfigArgParse-1.5.3.dist-info/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015 bw2 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/venv/Lib/site-packages/ConfigArgParse-1.5.3.dist-info/METADATA b/venv/Lib/site-packages/ConfigArgParse-1.5.3.dist-info/METADATA new file mode 100644 index 00000000..3155d316 --- /dev/null +++ b/venv/Lib/site-packages/ConfigArgParse-1.5.3.dist-info/METADATA @@ -0,0 +1,508 @@ +Metadata-Version: 2.1 +Name: ConfigArgParse +Version: 1.5.3 +Summary: A drop-in replacement for argparse that allows options to also be set via config files and/or environment variables. +Home-page: https://github.com/bw2/ConfigArgParse +License: MIT +Keywords: options,argparse,ConfigArgParse,config,environment variables,envvars,ENV,environment,optparse,YAML,INI +Platform: UNKNOWN +Classifier: Development Status :: 4 - Beta +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: MIT License +Classifier: Natural Language :: English +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: Implementation :: CPython +Classifier: Programming Language :: Python :: Implementation :: PyPy +Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.* +Provides-Extra: test +Requires-Dist: mock ; extra == 'test' +Requires-Dist: PyYAML ; extra == 'test' +Requires-Dist: pytest ; extra == 'test' +Provides-Extra: yaml +Requires-Dist: PyYAML ; extra == 'yaml' + +ConfigArgParse +-------------- + +.. image:: https://img.shields.io/pypi/v/ConfigArgParse.svg?style=flat + :alt: PyPI version + :target: https://pypi.python.org/pypi/ConfigArgParse + +.. image:: https://img.shields.io/pypi/pyversions/ConfigArgParse.svg + :alt: Supported Python versions + :target: https://pypi.python.org/pypi/ConfigArgParse + +.. image:: https://travis-ci.org/bw2/ConfigArgParse.svg?branch=master + :alt: Travis CI build + :target: https://travis-ci.org/bw2/ConfigArgParse + +.. image:: https://img.shields.io/badge/-API_Documentation-blue + :alt: API Documentation + :target: https://bw2.github.io/ConfigArgParse/ + +Overview +~~~~~~~~ + +Applications with more than a handful of user-settable options are best +configured through a combination of command line args, config files, +hard-coded defaults, and in some cases, environment variables. + +Python's command line parsing modules such as argparse have very limited +support for config files and environment variables, so this module +extends argparse to add these features. + +Available on PyPI: http://pypi.python.org/pypi/ConfigArgParse + +.. image:: https://travis-ci.org/bw2/ConfigArgParse.svg?branch=master + :target: https://travis-ci.org/bw2/ConfigArgParse + +Features +~~~~~~~~ + +- command-line, config file, env var, and default settings can now be + defined, documented, and parsed in one go using a single API (if a + value is specified in more than one way then: command line > + environment variables > config file values > defaults) +- config files can have .ini or .yaml style syntax (eg. key=value or + key: value) +- user can provide a config file via a normal-looking command line arg + (eg. -c path/to/config.txt) rather than the argparse-style @config.txt +- one or more default config file paths can be specified + (eg. ['/etc/bla.conf', '~/.my_config'] ) +- all argparse functionality is fully supported, so this module can + serve as a drop-in replacement (verified by argparse unittests). +- env vars and config file keys & syntax are automatically documented + in the -h help message +- new method :code:`print_values()` can report keys & values and where + they were set (eg. command line, env var, config file, or default). +- lite-weight (no 3rd-party library dependencies except (optionally) PyYAML) +- extensible (:code:`ConfigFileParser` can be subclassed to define a new + config file format) +- unittested by running the unittests that came with argparse but on + configargparse, and using tox to test with Python 2.7 and Python 3+ + +Example +~~~~~~~ + +*config_test.py*: + +Script that defines 4 options and a positional arg and then parses and prints the values. Also, +it prints out the help message as well as the string produced by :code:`format_values()` to show +what they look like. + +.. code:: py + + import configargparse + + p = configargparse.ArgParser(default_config_files=['/etc/app/conf.d/*.conf', '~/.my_settings']) + p.add('-c', '--my-config', required=True, is_config_file=True, help='config file path') + p.add('--genome', required=True, help='path to genome file') # this option can be set in a config file because it starts with '--' + p.add('-v', help='verbose', action='store_true') + p.add('-d', '--dbsnp', help='known variants .vcf', env_var='DBSNP_PATH') # this option can be set in a config file because it starts with '--' + p.add('vcf', nargs='+', help='variant file(s)') + + options = p.parse_args() + + print(options) + print("----------") + print(p.format_help()) + print("----------") + print(p.format_values()) # useful for logging where different settings came from + + +*config.txt:* + +Since the script above set the config file as required=True, lets create a config file to give it: + +.. code:: py + + # settings for config_test.py + genome = HCMV # cytomegalovirus genome + dbsnp = /data/dbsnp/variants.vcf + + +*command line:* + +Now run the script and pass it the config file: + +.. code:: bash + + DBSNP_PATH=/data/dbsnp/variants_v2.vcf python config_test.py --my-config config.txt f1.vcf f2.vcf + +*output:* + +Here is the result: + +.. code:: bash + + Namespace(dbsnp='/data/dbsnp/variants_v2.vcf', genome='HCMV', my_config='config.txt', v=False, vcf=['f1.vcf', 'f2.vcf']) + ---------- + usage: config_test.py [-h] -c MY_CONFIG --genome GENOME [-v] [-d DBSNP] + vcf [vcf ...] + + Args that start with '--' (eg. --genome) can also be set in a config file + (/etc/app/conf.d/*.conf or ~/.my_settings or specified via -c). Config file + syntax allows: key=value, flag=true, stuff=[a,b,c] (for details, see syntax at + https://goo.gl/R74nmi). If an arg is specified in more than one place, then + commandline values override environment variables which override config file + values which override defaults. + + positional arguments: + vcf variant file(s) + + optional arguments: + -h, --help show this help message and exit + -c MY_CONFIG, --my-config MY_CONFIG + config file path + --genome GENOME path to genome file + -v verbose + -d DBSNP, --dbsnp DBSNP + known variants .vcf [env var: DBSNP_PATH] + + ---------- + Command Line Args: --my-config config.txt f1.vcf f2.vcf + Environment Variables: + DBSNP_PATH: /data/dbsnp/variants_v2.vcf + Config File (config.txt): + genome: HCMV + +Special Values +~~~~~~~~~~~~~~ + +Under the hood, configargparse handles environment variables and config file +values by converting them to their corresponding command line arg. For +example, "key = value" will be processed as if "--key value" was specified +on the command line. + +Also, the following special values (whether in a config file or an environment +variable) are handled in a special way to support booleans and lists: + +- :code:`key = true` is handled as if "--key" was specified on the command line. + In your python code this key must be defined as a boolean flag + (eg. action="store_true" or similar). + +- :code:`key = [value1, value2, ...]` is handled as if "--key value1 --key value2" + etc. was specified on the command line. In your python code this key must + be defined as a list (eg. action="append"). + +Config File Syntax +~~~~~~~~~~~~~~~~~~ + +Only command line args that have a long version (eg. one that starts with '--') +can be set in a config file. For example, "--color" can be set by putting +"color=green" in a config file. The config file syntax depends on the constuctor +arg: :code:`config_file_parser_class` which can be set to one of the provided +classes: :code:`DefaultConfigFileParser`, :code:`YAMLConfigFileParser`, +:code:`ConfigparserConfigFileParser` or to your own subclass of the +:code:`ConfigFileParser` abstract class. + +*DefaultConfigFileParser* - the full range of valid syntax is: + +.. code:: yaml + + # this is a comment + ; this is also a comment (.ini style) + --- # lines that start with --- are ignored (yaml style) + ------------------- + [section] # .ini-style section names are treated as comments + + # how to specify a key-value pair (all of these are equivalent): + name value # key is case sensitive: "Name" isn't "name" + name = value # (.ini style) (white space is ignored, so name = value same as name=value) + name: value # (yaml style) + --name value # (argparse style) + + # how to set a flag arg (eg. arg which has action="store_true") + --name + name + name = True # "True" and "true" are the same + + # how to specify a list arg (eg. arg which has action="append") + fruit = [apple, orange, lemon] + indexes = [1, 12, 35 , 40] + + +*YAMLConfigFileParser* - allows a subset of YAML syntax (http://goo.gl/VgT2DU) + +.. code:: yaml + + # a comment + name1: value + name2: true # "True" and "true" are the same + + fruit: [apple, orange, lemon] + indexes: [1, 12, 35, 40] + +*ConfigparserConfigFileParser* - allows a subset of python's configparser +module syntax (https://docs.python.org/3.7/library/configparser.html). In +particular the following configparser options are set: + +.. code:: py + + config = configparser.ArgParser( + delimiters=("=",":"), + allow_no_value=False, + comment_prefixes=("#",";"), + inline_comment_prefixes=("#",";"), + strict=True, + empty_lines_in_values=False, + ) + +Once configparser parses the config file all section names are removed, thus all +keys must have unique names regardless of which INI section they are defined +under. Also, any keys which have python list syntax are converted to lists by +evaluating them as python code using ast.literal_eval +(https://docs.python.org/3/library/ast.html#ast.literal_eval). To facilitate +this all multi-line values are converted to single-line values. Thus multi-line +string values will have all new-lines converted to spaces. Note, since key-value +pairs that have python dictionary syntax are saved as single-line strings, even +if formatted across multiple lines in the config file, dictionaries can be read +in and converted to valid python dictionaries with PyYAML's safe_load. Example +given below: + +.. code:: py + + # inside your config file (e.g. config.ini) + [section1] # INI sections treated as comments + system1_settings: { # start of multi-line dictionary + 'a':True, + 'b':[2, 4, 8, 16], + 'c':{'start':0, 'stop':1000}, + 'd':'experiment 32 testing simulation with parameter a on' + } # end of multi-line dictionary value + + ....... + + # in your configargparse setup + import configargparse + import yaml + + parser = configargparse.ArgParser( + config_file_parser_class=configargparse.ConfigparserConfigFileParser + ) + parser.add_argument('--system1_settings', type=yaml.safe_load) + + args = parser.parse_args() # now args.system1 is a valid python dict + + +ArgParser Singletons +~~~~~~~~~~~~~~~~~~~~~~~~~ + +To make it easier to configure different modules in an application, +configargparse provides globally-available ArgumentParser instances +via configargparse.get_argument_parser('name') (similar to +logging.getLogger('name')). + +Here is an example of an application with a utils module that also +defines and retrieves its own command-line args. + +*main.py* + +.. code:: py + + import configargparse + import utils + + p = configargparse.get_argument_parser() + p.add_argument("-x", help="Main module setting") + p.add_argument("--m-setting", help="Main module setting") + options = p.parse_known_args() # using p.parse_args() here may raise errors. + +*utils.py* + +.. code:: py + + import configargparse + p = configargparse.get_argument_parser() + p.add_argument("--utils-setting", help="Config-file-settable option for utils") + + if __name__ == "__main__": + options = p.parse_known_args() + +Help Formatters +~~~~~~~~~~~~~~~ + +:code:`ArgumentDefaultsRawHelpFormatter` is a new HelpFormatter that both adds +default values AND disables line-wrapping. It can be passed to the constructor: +:code:`ArgParser(.., formatter_class=ArgumentDefaultsRawHelpFormatter)` + + +Aliases +~~~~~~~ + +The configargparse.ArgumentParser API inherits its class and method +names from argparse and also provides the following shorter names for +convenience: + +- p = configargparse.get_arg_parser() # get global singleton instance +- p = configargparse.get_parser() +- p = configargparse.ArgParser() # create a new instance +- p = configargparse.Parser() +- p.add_arg(..) +- p.add(..) +- options = p.parse(..) + +HelpFormatters: + +- RawFormatter = RawDescriptionHelpFormatter +- DefaultsFormatter = ArgumentDefaultsHelpFormatter +- DefaultsRawFormatter = ArgumentDefaultsRawHelpFormatter + +API Documentation +~~~~~~~~~~~~~~~~~ + +You can review the generated API Documentation for the ``configargparse`` module: `HERE `_ + +Design Notes +~~~~~~~~~~~~ + +Unit tests: + +tests/test_configargparse.py contains custom unittests for features +specific to this module (such as config file and env-var support), as +well as a hook to load and run argparse unittests (see the built-in +test.test_argparse module) but on configargparse in place of argparse. +This ensures that configargparse will work as a drop in replacement for +argparse in all usecases. + +Previously existing modules (PyPI search keywords: config argparse): + +- argparse (built-in module Python v2.7+) + + - Good: + + - fully featured command line parsing + - can read args from files using an easy to understand mechanism + + - Bad: + + - syntax for specifying config file path is unusual (eg. + @file.txt)and not described in the user help message. + - default config file syntax doesn't support comments and is + unintuitive (eg. --namevalue) + - no support for environment variables + +- ConfArgParse v1.0.15 + (https://pypi.python.org/pypi/ConfArgParse) + + - Good: + + - extends argparse with support for config files parsed by + ConfigParser + - clear documentation in README + + - Bad: + + - config file values are processed using + ArgumentParser.set_defaults(..) which means "required" and + "choices" are not handled as expected. For example, if you + specify a required value in a config file, you still have to + specify it again on the command line. + - doesn't work with Python 3 yet + - no unit tests, code not well documented + +- appsettings v0.5 (https://pypi.python.org/pypi/appsettings) + + - Good: + + - supports config file (yaml format) and env_var parsing + - supports config-file-only setting for specifying lists and + dicts + + - Bad: + + - passes in config file and env settings via parse_args + namespace param + - tests not finished and don't work with Python 3 (import + StringIO) + +- argparse_config v0.5.1 + (https://pypi.python.org/pypi/argparse_config) + + - Good: + + - similar features to ConfArgParse v1.0.15 + + - Bad: + + - doesn't work with Python 3 (error during pip install) + +- yconf v0.3.2 - (https://pypi.python.org/pypi/yconf) - features + and interface not that great +- hieropt v0.3 - (https://pypi.python.org/pypi/hieropt) - doesn't + appear to be maintained, couldn't find documentation + +- configurati v0.2.3 - (https://pypi.python.org/pypi/configurati) + + - Good: + + - JSON, YAML, or Python configuration files + - handles rich data structures such as dictionaries + - can group configuration names into sections (like .ini files) + + - Bad: + + - doesn't work with Python 3 + - 2+ years since last release to PyPI + - apparently unmaintained + + +Design choices: + +1. all options must be settable via command line. Having options that + can only be set using config files or env. vars adds complexity to + the API, and is not a useful enough feature since the developer can + split up options into sections and call a section "config file keys", + with command line args that are just "--" plus the config key. +2. config file and env. var settings should be processed by appending + them to the command line (another benefit of #1). This is an + easy-to-implement solution and implicitly takes care of checking that + all "required" args are provied, etc., plus the behavior should be + easy for users to understand. +3. configargparse shouldn't override argparse's + convert_arg_line_to_args method so that all argparse unit tests + can be run on configargparse. +4. in terms of what to allow for config file keys, the "dest" value of + an option can't serve as a valid config key because many options can + have the same dest. Instead, since multiple options can't use the + same long arg (eg. "--long-arg-x"), let the config key be either + "--long-arg-x" or "long-arg-x". This means the developer can allow + only a subset of the command-line args to be specified via config + file (eg. short args like -x would be excluded). Also, that way + config keys are automatically documented whenever the command line + args are documented in the help message. +5. don't force users to put config file settings in the right .ini + [sections]. This doesn't have a clear benefit since all options are + command-line settable, and so have a globally unique key anyway. + Enforcing sections just makes things harder for the user and adds + complexity to the implementation. +6. if necessary, config-file-only args can be added later by + implementing a separate add method and using the namespace arg as in + appsettings_v0.5 + +Relevant sites: + +- http://stackoverflow.com/questions/6133517/parse-config-file-environment-and-command-line-arguments-to-get-a-single-coll +- http://tricksntweaks.blogspot.com/2013_05_01_archive.html +- http://www.youtube.com/watch?v=vvCwqHgZJc8#t=35 + + +.. |Travis CI Status for bw2/ConfigArgParse| image:: https://travis-ci.org/bw2/ConfigArgParse.svg?branch=master + + +Versioning +~~~~~~~~~~ + +This software follows `Semantic Versioning`_ + +.. _Semantic Versioning: http://semver.org/ + + diff --git a/venv/Lib/site-packages/ConfigArgParse-1.5.3.dist-info/RECORD b/venv/Lib/site-packages/ConfigArgParse-1.5.3.dist-info/RECORD new file mode 100644 index 00000000..1afce0fe --- /dev/null +++ b/venv/Lib/site-packages/ConfigArgParse-1.5.3.dist-info/RECORD @@ -0,0 +1,9 @@ +ConfigArgParse-1.5.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +ConfigArgParse-1.5.3.dist-info/LICENSE,sha256=SgGglI5G16lPRP2gQtPgLlMZwqo1E1fNE0ksqCfgHQc,1070 +ConfigArgParse-1.5.3.dist-info/METADATA,sha256=9iKViSRdPemN3uC1WyPvUm8WZqymxbUn6zOB2OTp_p8,18673 +ConfigArgParse-1.5.3.dist-info/RECORD,, +ConfigArgParse-1.5.3.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +ConfigArgParse-1.5.3.dist-info/WHEEL,sha256=g4nMs7d-Xl9-xC9XovUrsDHGXt-FT0E17Yqo92DEfvY,92 +ConfigArgParse-1.5.3.dist-info/top_level.txt,sha256=9IlwMfFOB4CssDRvmNQEL3CYwYgmst_A4F3FdwTQ-NQ,15 +__pycache__/configargparse.cpython-39.pyc,, +configargparse.py,sha256=tK0Mg56O1nbKjAAQxukmmWAJHpNBRyroj-_q9qyWWg8,49875 diff --git a/venv/Lib/site-packages/ConfigArgParse-1.5.3.dist-info/REQUESTED b/venv/Lib/site-packages/ConfigArgParse-1.5.3.dist-info/REQUESTED new file mode 100644 index 00000000..e69de29b diff --git a/venv/Lib/site-packages/ConfigArgParse-1.5.3.dist-info/WHEEL b/venv/Lib/site-packages/ConfigArgParse-1.5.3.dist-info/WHEEL new file mode 100644 index 00000000..b552003f --- /dev/null +++ b/venv/Lib/site-packages/ConfigArgParse-1.5.3.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.34.2) +Root-Is-Purelib: true +Tag: py3-none-any + diff --git a/venv/Lib/site-packages/ConfigArgParse-1.5.3.dist-info/top_level.txt b/venv/Lib/site-packages/ConfigArgParse-1.5.3.dist-info/top_level.txt new file mode 100644 index 00000000..8b0115aa --- /dev/null +++ b/venv/Lib/site-packages/ConfigArgParse-1.5.3.dist-info/top_level.txt @@ -0,0 +1 @@ +configargparse diff --git a/venv/Lib/site-packages/Deprecated-1.2.15.dist-info/INSTALLER b/venv/Lib/site-packages/Deprecated-1.2.15.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/venv/Lib/site-packages/Deprecated-1.2.15.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/Lib/site-packages/Deprecated-1.2.15.dist-info/LICENSE.rst b/venv/Lib/site-packages/Deprecated-1.2.15.dist-info/LICENSE.rst new file mode 100644 index 00000000..191ddaf3 --- /dev/null +++ b/venv/Lib/site-packages/Deprecated-1.2.15.dist-info/LICENSE.rst @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2017 Laurent LAPORTE + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/venv/Lib/site-packages/Deprecated-1.2.15.dist-info/METADATA b/venv/Lib/site-packages/Deprecated-1.2.15.dist-info/METADATA new file mode 100644 index 00000000..2f78ba1b --- /dev/null +++ b/venv/Lib/site-packages/Deprecated-1.2.15.dist-info/METADATA @@ -0,0 +1,183 @@ +Metadata-Version: 2.1 +Name: Deprecated +Version: 1.2.15 +Summary: Python @deprecated decorator to deprecate old python classes, functions or methods. +Home-page: https://github.com/laurent-laporte-pro/deprecated +Author: Laurent LAPORTE +Author-email: laurent.laporte.pro@gmail.com +License: MIT +Project-URL: Documentation, https://deprecated.readthedocs.io/en/latest/ +Project-URL: Source, https://github.com/laurent-laporte-pro/deprecated +Project-URL: Bug Tracker, https://github.com/laurent-laporte-pro/deprecated/issues +Keywords: deprecate,deprecated,deprecation,warning,warn,decorator +Platform: any +Classifier: Development Status :: 5 - Production/Stable +Classifier: Environment :: Web Environment +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: MIT License +Classifier: Operating System :: OS Independent +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.4 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3.12 +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.* +Description-Content-Type: text/x-rst +License-File: LICENSE.rst +Requires-Dist: wrapt <2,>=1.10 +Provides-Extra: dev +Requires-Dist: tox ; extra == 'dev' +Requires-Dist: PyTest ; extra == 'dev' +Requires-Dist: PyTest-Cov ; extra == 'dev' +Requires-Dist: bump2version <1 ; extra == 'dev' +Requires-Dist: sphinx <2 ; extra == 'dev' +Requires-Dist: jinja2 ~=3.0.3 ; extra == 'dev' +Requires-Dist: setuptools ; (python_version >= "3.12") and extra == 'dev' + + +Deprecated Library +------------------ + +Deprecated is Easy to Use +````````````````````````` + +If you need to mark a function or a method as deprecated, +you can use the ``@deprecated`` decorator: + +Save in a hello.py: + +.. code:: python + + from deprecated import deprecated + + + @deprecated(version='1.2.1', reason="You should use another function") + def some_old_function(x, y): + return x + y + + + class SomeClass(object): + @deprecated(version='1.3.0', reason="This method is deprecated") + def some_old_method(self, x, y): + return x + y + + + some_old_function(12, 34) + obj = SomeClass() + obj.some_old_method(5, 8) + + +And Easy to Setup +````````````````` + +And run it: + +.. code:: bash + + $ pip install Deprecated + $ python hello.py + hello.py:15: DeprecationWarning: Call to deprecated function (or staticmethod) some_old_function. + (You should use another function) -- Deprecated since version 1.2.0. + some_old_function(12, 34) + hello.py:17: DeprecationWarning: Call to deprecated method some_old_method. + (This method is deprecated) -- Deprecated since version 1.3.0. + obj.some_old_method(5, 8) + + +You can document your code +`````````````````````````` + +Have you ever wonder how to document that some functions, classes, methods, etc. are deprecated? +This is now possible with the integrated Sphinx directives: + +For instance, in hello_sphinx.py: + +.. code:: python + + from deprecated.sphinx import deprecated + from deprecated.sphinx import versionadded + from deprecated.sphinx import versionchanged + + + @versionadded(version='1.0', reason="This function is new") + def function_one(): + '''This is the function one''' + + + @versionchanged(version='1.0', reason="This function is modified") + def function_two(): + '''This is the function two''' + + + @deprecated(version='1.0', reason="This function will be removed soon") + def function_three(): + '''This is the function three''' + + + function_one() + function_two() + function_three() # warns + + help(function_one) + help(function_two) + help(function_three) + + +The result it immediate +``````````````````````` + +Run it: + +.. code:: bash + + $ python hello_sphinx.py + + hello_sphinx.py:23: DeprecationWarning: Call to deprecated function (or staticmethod) function_three. + (This function will be removed soon) -- Deprecated since version 1.0. + function_three() # warns + + Help on function function_one in module __main__: + + function_one() + This is the function one + + .. versionadded:: 1.0 + This function is new + + Help on function function_two in module __main__: + + function_two() + This is the function two + + .. versionchanged:: 1.0 + This function is modified + + Help on function function_three in module __main__: + + function_three() + This is the function three + + .. deprecated:: 1.0 + This function will be removed soon + + +Links +````` + +* `Python package index (PyPi) `_ +* `GitHub website `_ +* `Read The Docs `_ +* `EBook on Lulu.com `_ +* `StackOverFlow Q&A `_ +* `Development version + `_ + diff --git a/venv/Lib/site-packages/Deprecated-1.2.15.dist-info/RECORD b/venv/Lib/site-packages/Deprecated-1.2.15.dist-info/RECORD new file mode 100644 index 00000000..34995c9f --- /dev/null +++ b/venv/Lib/site-packages/Deprecated-1.2.15.dist-info/RECORD @@ -0,0 +1,12 @@ +Deprecated-1.2.15.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +Deprecated-1.2.15.dist-info/LICENSE.rst,sha256=HoPt0VvkGbXVveNy4yXlJ_9PmRX1SOfHUxS0H2aZ6Dw,1081 +Deprecated-1.2.15.dist-info/METADATA,sha256=bZBDytAsgYpII-P65KLGUu9aYhhj5nML7lGbCS-SUc0,5528 +Deprecated-1.2.15.dist-info/RECORD,, +Deprecated-1.2.15.dist-info/WHEEL,sha256=0VNUDWQJzfRahYI3neAhz2UVbRCtztpN5dPHAGvmGXc,109 +Deprecated-1.2.15.dist-info/top_level.txt,sha256=nHbOYawKPQQE5lQl-toUB1JBRJjUyn_m_Mb8RVJ0RjA,11 +deprecated/__init__.py,sha256=qIT_t3UPc9uH2AESIo6eOeZ7ncu2PJZ-tTJ-QN1Ujl0,351 +deprecated/__pycache__/__init__.cpython-39.pyc,, +deprecated/__pycache__/classic.cpython-39.pyc,, +deprecated/__pycache__/sphinx.cpython-39.pyc,, +deprecated/classic.py,sha256=7WXOt4Vf1NhrUznm8ypjS50CMyAdZwrGT58Lhb8fW14,10609 +deprecated/sphinx.py,sha256=cOKnXbDyFAwDr5O7HBEpgQrx-J-qfp57sfdK_LabDxs,11109 diff --git a/venv/Lib/site-packages/Deprecated-1.2.15.dist-info/WHEEL b/venv/Lib/site-packages/Deprecated-1.2.15.dist-info/WHEEL new file mode 100644 index 00000000..d02d2a26 --- /dev/null +++ b/venv/Lib/site-packages/Deprecated-1.2.15.dist-info/WHEEL @@ -0,0 +1,6 @@ +Wheel-Version: 1.0 +Generator: setuptools (75.5.0) +Root-Is-Purelib: true +Tag: py2-none-any +Tag: py3-none-any + diff --git a/venv/Lib/site-packages/Deprecated-1.2.15.dist-info/top_level.txt b/venv/Lib/site-packages/Deprecated-1.2.15.dist-info/top_level.txt new file mode 100644 index 00000000..9f8d5502 --- /dev/null +++ b/venv/Lib/site-packages/Deprecated-1.2.15.dist-info/top_level.txt @@ -0,0 +1 @@ +deprecated diff --git a/venv/Lib/site-packages/PIL/BdfFontFile.py b/venv/Lib/site-packages/PIL/BdfFontFile.py new file mode 100644 index 00000000..bc1416c7 --- /dev/null +++ b/venv/Lib/site-packages/PIL/BdfFontFile.py @@ -0,0 +1,133 @@ +# +# The Python Imaging Library +# $Id$ +# +# bitmap distribution font (bdf) file parser +# +# history: +# 1996-05-16 fl created (as bdf2pil) +# 1997-08-25 fl converted to FontFile driver +# 2001-05-25 fl removed bogus __init__ call +# 2002-11-20 fl robustification (from Kevin Cazabon, Dmitry Vasiliev) +# 2003-04-22 fl more robustification (from Graham Dumpleton) +# +# Copyright (c) 1997-2003 by Secret Labs AB. +# Copyright (c) 1997-2003 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# + +""" +Parse X Bitmap Distribution Format (BDF) +""" +from __future__ import annotations + +from typing import BinaryIO + +from . import FontFile, Image + +bdf_slant = { + "R": "Roman", + "I": "Italic", + "O": "Oblique", + "RI": "Reverse Italic", + "RO": "Reverse Oblique", + "OT": "Other", +} + +bdf_spacing = {"P": "Proportional", "M": "Monospaced", "C": "Cell"} + + +def bdf_char( + f: BinaryIO, +) -> ( + tuple[ + str, + int, + tuple[tuple[int, int], tuple[int, int, int, int], tuple[int, int, int, int]], + Image.Image, + ] + | None +): + # skip to STARTCHAR + while True: + s = f.readline() + if not s: + return None + if s[:9] == b"STARTCHAR": + break + id = s[9:].strip().decode("ascii") + + # load symbol properties + props = {} + while True: + s = f.readline() + if not s or s[:6] == b"BITMAP": + break + i = s.find(b" ") + props[s[:i].decode("ascii")] = s[i + 1 : -1].decode("ascii") + + # load bitmap + bitmap = bytearray() + while True: + s = f.readline() + if not s or s[:7] == b"ENDCHAR": + break + bitmap += s[:-1] + + # The word BBX + # followed by the width in x (BBw), height in y (BBh), + # and x and y displacement (BBxoff0, BByoff0) + # of the lower left corner from the origin of the character. + width, height, x_disp, y_disp = (int(p) for p in props["BBX"].split()) + + # The word DWIDTH + # followed by the width in x and y of the character in device pixels. + dwx, dwy = (int(p) for p in props["DWIDTH"].split()) + + bbox = ( + (dwx, dwy), + (x_disp, -y_disp - height, width + x_disp, -y_disp), + (0, 0, width, height), + ) + + try: + im = Image.frombytes("1", (width, height), bitmap, "hex", "1") + except ValueError: + # deal with zero-width characters + im = Image.new("1", (width, height)) + + return id, int(props["ENCODING"]), bbox, im + + +class BdfFontFile(FontFile.FontFile): + """Font file plugin for the X11 BDF format.""" + + def __init__(self, fp: BinaryIO) -> None: + super().__init__() + + s = fp.readline() + if s[:13] != b"STARTFONT 2.1": + msg = "not a valid BDF file" + raise SyntaxError(msg) + + props = {} + comments = [] + + while True: + s = fp.readline() + if not s or s[:13] == b"ENDPROPERTIES": + break + i = s.find(b" ") + props[s[:i].decode("ascii")] = s[i + 1 : -1].decode("ascii") + if s[:i] in [b"COMMENT", b"COPYRIGHT"]: + if s.find(b"LogicalFontDescription") < 0: + comments.append(s[i + 1 : -1].decode("ascii")) + + while True: + c = bdf_char(fp) + if not c: + break + id, ch, (xy, dst, src), im = c + if 0 <= ch < len(self.glyph): + self.glyph[ch] = xy, dst, src, im diff --git a/venv/Lib/site-packages/PIL/BlpImagePlugin.py b/venv/Lib/site-packages/PIL/BlpImagePlugin.py new file mode 100644 index 00000000..e5605635 --- /dev/null +++ b/venv/Lib/site-packages/PIL/BlpImagePlugin.py @@ -0,0 +1,493 @@ +""" +Blizzard Mipmap Format (.blp) +Jerome Leclanche + +The contents of this file are hereby released in the public domain (CC0) +Full text of the CC0 license: + https://creativecommons.org/publicdomain/zero/1.0/ + +BLP1 files, used mostly in Warcraft III, are not fully supported. +All types of BLP2 files used in World of Warcraft are supported. + +The BLP file structure consists of a header, up to 16 mipmaps of the +texture + +Texture sizes must be powers of two, though the two dimensions do +not have to be equal; 512x256 is valid, but 512x200 is not. +The first mipmap (mipmap #0) is the full size image; each subsequent +mipmap halves both dimensions. The final mipmap should be 1x1. + +BLP files come in many different flavours: +* JPEG-compressed (type == 0) - only supported for BLP1. +* RAW images (type == 1, encoding == 1). Each mipmap is stored as an + array of 8-bit values, one per pixel, left to right, top to bottom. + Each value is an index to the palette. +* DXT-compressed (type == 1, encoding == 2): +- DXT1 compression is used if alpha_encoding == 0. + - An additional alpha bit is used if alpha_depth == 1. + - DXT3 compression is used if alpha_encoding == 1. + - DXT5 compression is used if alpha_encoding == 7. +""" + +from __future__ import annotations + +import abc +import os +import struct +from enum import IntEnum +from io import BytesIO +from typing import IO + +from . import Image, ImageFile + + +class Format(IntEnum): + JPEG = 0 + + +class Encoding(IntEnum): + UNCOMPRESSED = 1 + DXT = 2 + UNCOMPRESSED_RAW_BGRA = 3 + + +class AlphaEncoding(IntEnum): + DXT1 = 0 + DXT3 = 1 + DXT5 = 7 + + +def unpack_565(i: int) -> tuple[int, int, int]: + return ((i >> 11) & 0x1F) << 3, ((i >> 5) & 0x3F) << 2, (i & 0x1F) << 3 + + +def decode_dxt1( + data: bytes, alpha: bool = False +) -> tuple[bytearray, bytearray, bytearray, bytearray]: + """ + input: one "row" of data (i.e. will produce 4*width pixels) + """ + + blocks = len(data) // 8 # number of blocks in row + ret = (bytearray(), bytearray(), bytearray(), bytearray()) + + for block_index in range(blocks): + # Decode next 8-byte block. + idx = block_index * 8 + color0, color1, bits = struct.unpack_from("> 2 + + a = 0xFF + if control == 0: + r, g, b = r0, g0, b0 + elif control == 1: + r, g, b = r1, g1, b1 + elif control == 2: + if color0 > color1: + r = (2 * r0 + r1) // 3 + g = (2 * g0 + g1) // 3 + b = (2 * b0 + b1) // 3 + else: + r = (r0 + r1) // 2 + g = (g0 + g1) // 2 + b = (b0 + b1) // 2 + elif control == 3: + if color0 > color1: + r = (2 * r1 + r0) // 3 + g = (2 * g1 + g0) // 3 + b = (2 * b1 + b0) // 3 + else: + r, g, b, a = 0, 0, 0, 0 + + if alpha: + ret[j].extend([r, g, b, a]) + else: + ret[j].extend([r, g, b]) + + return ret + + +def decode_dxt3(data: bytes) -> tuple[bytearray, bytearray, bytearray, bytearray]: + """ + input: one "row" of data (i.e. will produce 4*width pixels) + """ + + blocks = len(data) // 16 # number of blocks in row + ret = (bytearray(), bytearray(), bytearray(), bytearray()) + + for block_index in range(blocks): + idx = block_index * 16 + block = data[idx : idx + 16] + # Decode next 16-byte block. + bits = struct.unpack_from("<8B", block) + color0, color1 = struct.unpack_from(">= 4 + else: + high = True + a &= 0xF + a *= 17 # We get a value between 0 and 15 + + color_code = (code >> 2 * (4 * j + i)) & 0x03 + + if color_code == 0: + r, g, b = r0, g0, b0 + elif color_code == 1: + r, g, b = r1, g1, b1 + elif color_code == 2: + r = (2 * r0 + r1) // 3 + g = (2 * g0 + g1) // 3 + b = (2 * b0 + b1) // 3 + elif color_code == 3: + r = (2 * r1 + r0) // 3 + g = (2 * g1 + g0) // 3 + b = (2 * b1 + b0) // 3 + + ret[j].extend([r, g, b, a]) + + return ret + + +def decode_dxt5(data: bytes) -> tuple[bytearray, bytearray, bytearray, bytearray]: + """ + input: one "row" of data (i.e. will produce 4 * width pixels) + """ + + blocks = len(data) // 16 # number of blocks in row + ret = (bytearray(), bytearray(), bytearray(), bytearray()) + + for block_index in range(blocks): + idx = block_index * 16 + block = data[idx : idx + 16] + # Decode next 16-byte block. + a0, a1 = struct.unpack_from("> alphacode_index) & 0x07 + elif alphacode_index == 15: + alphacode = (alphacode2 >> 15) | ((alphacode1 << 1) & 0x06) + else: # alphacode_index >= 18 and alphacode_index <= 45 + alphacode = (alphacode1 >> (alphacode_index - 16)) & 0x07 + + if alphacode == 0: + a = a0 + elif alphacode == 1: + a = a1 + elif a0 > a1: + a = ((8 - alphacode) * a0 + (alphacode - 1) * a1) // 7 + elif alphacode == 6: + a = 0 + elif alphacode == 7: + a = 255 + else: + a = ((6 - alphacode) * a0 + (alphacode - 1) * a1) // 5 + + color_code = (code >> 2 * (4 * j + i)) & 0x03 + + if color_code == 0: + r, g, b = r0, g0, b0 + elif color_code == 1: + r, g, b = r1, g1, b1 + elif color_code == 2: + r = (2 * r0 + r1) // 3 + g = (2 * g0 + g1) // 3 + b = (2 * b0 + b1) // 3 + elif color_code == 3: + r = (2 * r1 + r0) // 3 + g = (2 * g1 + g0) // 3 + b = (2 * b1 + b0) // 3 + + ret[j].extend([r, g, b, a]) + + return ret + + +class BLPFormatError(NotImplementedError): + pass + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] in (b"BLP1", b"BLP2") + + +class BlpImageFile(ImageFile.ImageFile): + """ + Blizzard Mipmap Format + """ + + format = "BLP" + format_description = "Blizzard Mipmap Format" + + def _open(self) -> None: + self.magic = self.fp.read(4) + + self.fp.seek(5, os.SEEK_CUR) + (self._blp_alpha_depth,) = struct.unpack(" tuple[int, int]: + try: + self._read_blp_header() + self._load() + except struct.error as e: + msg = "Truncated BLP file" + raise OSError(msg) from e + return -1, 0 + + @abc.abstractmethod + def _load(self) -> None: + pass + + def _read_blp_header(self) -> None: + assert self.fd is not None + self.fd.seek(4) + (self._blp_compression,) = struct.unpack(" bytes: + assert self.fd is not None + return ImageFile._safe_read(self.fd, length) + + def _read_palette(self) -> list[tuple[int, int, int, int]]: + ret = [] + for i in range(256): + try: + b, g, r, a = struct.unpack("<4B", self._safe_read(4)) + except struct.error: + break + ret.append((b, g, r, a)) + return ret + + def _read_bgra(self, palette: list[tuple[int, int, int, int]]) -> bytearray: + data = bytearray() + _data = BytesIO(self._safe_read(self._blp_lengths[0])) + while True: + try: + (offset,) = struct.unpack(" None: + if self._blp_compression == Format.JPEG: + self._decode_jpeg_stream() + + elif self._blp_compression == 1: + if self._blp_encoding in (4, 5): + palette = self._read_palette() + data = self._read_bgra(palette) + self.set_as_raw(data) + else: + msg = f"Unsupported BLP encoding {repr(self._blp_encoding)}" + raise BLPFormatError(msg) + else: + msg = f"Unsupported BLP compression {repr(self._blp_encoding)}" + raise BLPFormatError(msg) + + def _decode_jpeg_stream(self) -> None: + from .JpegImagePlugin import JpegImageFile + + (jpeg_header_size,) = struct.unpack(" None: + palette = self._read_palette() + + assert self.fd is not None + self.fd.seek(self._blp_offsets[0]) + + if self._blp_compression == 1: + # Uncompressed or DirectX compression + + if self._blp_encoding == Encoding.UNCOMPRESSED: + data = self._read_bgra(palette) + + elif self._blp_encoding == Encoding.DXT: + data = bytearray() + if self._blp_alpha_encoding == AlphaEncoding.DXT1: + linesize = (self.size[0] + 3) // 4 * 8 + for yb in range((self.size[1] + 3) // 4): + for d in decode_dxt1( + self._safe_read(linesize), alpha=bool(self._blp_alpha_depth) + ): + data += d + + elif self._blp_alpha_encoding == AlphaEncoding.DXT3: + linesize = (self.size[0] + 3) // 4 * 16 + for yb in range((self.size[1] + 3) // 4): + for d in decode_dxt3(self._safe_read(linesize)): + data += d + + elif self._blp_alpha_encoding == AlphaEncoding.DXT5: + linesize = (self.size[0] + 3) // 4 * 16 + for yb in range((self.size[1] + 3) // 4): + for d in decode_dxt5(self._safe_read(linesize)): + data += d + else: + msg = f"Unsupported alpha encoding {repr(self._blp_alpha_encoding)}" + raise BLPFormatError(msg) + else: + msg = f"Unknown BLP encoding {repr(self._blp_encoding)}" + raise BLPFormatError(msg) + + else: + msg = f"Unknown BLP compression {repr(self._blp_compression)}" + raise BLPFormatError(msg) + + self.set_as_raw(data) + + +class BLPEncoder(ImageFile.PyEncoder): + _pushes_fd = True + + def _write_palette(self) -> bytes: + data = b"" + assert self.im is not None + palette = self.im.getpalette("RGBA", "RGBA") + for i in range(len(palette) // 4): + r, g, b, a = palette[i * 4 : (i + 1) * 4] + data += struct.pack("<4B", b, g, r, a) + while len(data) < 256 * 4: + data += b"\x00" * 4 + return data + + def encode(self, bufsize: int) -> tuple[int, int, bytes]: + palette_data = self._write_palette() + + offset = 20 + 16 * 4 * 2 + len(palette_data) + data = struct.pack("<16I", offset, *((0,) * 15)) + + assert self.im is not None + w, h = self.im.size + data += struct.pack("<16I", w * h, *((0,) * 15)) + + data += palette_data + + for y in range(h): + for x in range(w): + data += struct.pack(" None: + if im.mode != "P": + msg = "Unsupported BLP image mode" + raise ValueError(msg) + + magic = b"BLP1" if im.encoderinfo.get("blp_version") == "BLP1" else b"BLP2" + fp.write(magic) + + assert im.palette is not None + fp.write(struct.pack(" mode, rawmode + 1: ("P", "P;1"), + 4: ("P", "P;4"), + 8: ("P", "P"), + 16: ("RGB", "BGR;15"), + 24: ("RGB", "BGR"), + 32: ("RGB", "BGRX"), +} + + +def _accept(prefix: bytes) -> bool: + return prefix[:2] == b"BM" + + +def _dib_accept(prefix: bytes) -> bool: + return i32(prefix) in [12, 40, 52, 56, 64, 108, 124] + + +# ============================================================================= +# Image plugin for the Windows BMP format. +# ============================================================================= +class BmpImageFile(ImageFile.ImageFile): + """Image plugin for the Windows Bitmap format (BMP)""" + + # ------------------------------------------------------------- Description + format_description = "Windows Bitmap" + format = "BMP" + + # -------------------------------------------------- BMP Compression values + COMPRESSIONS = {"RAW": 0, "RLE8": 1, "RLE4": 2, "BITFIELDS": 3, "JPEG": 4, "PNG": 5} + for k, v in COMPRESSIONS.items(): + vars()[k] = v + + def _bitmap(self, header: int = 0, offset: int = 0) -> None: + """Read relevant info about the BMP""" + read, seek = self.fp.read, self.fp.seek + if header: + seek(header) + # read bmp header size @offset 14 (this is part of the header size) + file_info: dict[str, bool | int | tuple[int, ...]] = { + "header_size": i32(read(4)), + "direction": -1, + } + + # -------------------- If requested, read header at a specific position + # read the rest of the bmp header, without its size + assert isinstance(file_info["header_size"], int) + header_data = ImageFile._safe_read(self.fp, file_info["header_size"] - 4) + + # ------------------------------- Windows Bitmap v2, IBM OS/2 Bitmap v1 + # ----- This format has different offsets because of width/height types + # 12: BITMAPCOREHEADER/OS21XBITMAPHEADER + if file_info["header_size"] == 12: + file_info["width"] = i16(header_data, 0) + file_info["height"] = i16(header_data, 2) + file_info["planes"] = i16(header_data, 4) + file_info["bits"] = i16(header_data, 6) + file_info["compression"] = self.COMPRESSIONS["RAW"] + file_info["palette_padding"] = 3 + + # --------------------------------------------- Windows Bitmap v3 to v5 + # 40: BITMAPINFOHEADER + # 52: BITMAPV2HEADER + # 56: BITMAPV3HEADER + # 64: BITMAPCOREHEADER2/OS22XBITMAPHEADER + # 108: BITMAPV4HEADER + # 124: BITMAPV5HEADER + elif file_info["header_size"] in (40, 52, 56, 64, 108, 124): + file_info["y_flip"] = header_data[7] == 0xFF + file_info["direction"] = 1 if file_info["y_flip"] else -1 + file_info["width"] = i32(header_data, 0) + file_info["height"] = ( + i32(header_data, 4) + if not file_info["y_flip"] + else 2**32 - i32(header_data, 4) + ) + file_info["planes"] = i16(header_data, 8) + file_info["bits"] = i16(header_data, 10) + file_info["compression"] = i32(header_data, 12) + # byte size of pixel data + file_info["data_size"] = i32(header_data, 16) + file_info["pixels_per_meter"] = ( + i32(header_data, 20), + i32(header_data, 24), + ) + file_info["colors"] = i32(header_data, 28) + file_info["palette_padding"] = 4 + assert isinstance(file_info["pixels_per_meter"], tuple) + self.info["dpi"] = tuple(x / 39.3701 for x in file_info["pixels_per_meter"]) + if file_info["compression"] == self.COMPRESSIONS["BITFIELDS"]: + masks = ["r_mask", "g_mask", "b_mask"] + if len(header_data) >= 48: + if len(header_data) >= 52: + masks.append("a_mask") + else: + file_info["a_mask"] = 0x0 + for idx, mask in enumerate(masks): + file_info[mask] = i32(header_data, 36 + idx * 4) + else: + # 40 byte headers only have the three components in the + # bitfields masks, ref: + # https://msdn.microsoft.com/en-us/library/windows/desktop/dd183376(v=vs.85).aspx + # See also + # https://github.com/python-pillow/Pillow/issues/1293 + # There is a 4th component in the RGBQuad, in the alpha + # location, but it is listed as a reserved component, + # and it is not generally an alpha channel + file_info["a_mask"] = 0x0 + for mask in masks: + file_info[mask] = i32(read(4)) + assert isinstance(file_info["r_mask"], int) + assert isinstance(file_info["g_mask"], int) + assert isinstance(file_info["b_mask"], int) + assert isinstance(file_info["a_mask"], int) + file_info["rgb_mask"] = ( + file_info["r_mask"], + file_info["g_mask"], + file_info["b_mask"], + ) + file_info["rgba_mask"] = ( + file_info["r_mask"], + file_info["g_mask"], + file_info["b_mask"], + file_info["a_mask"], + ) + else: + msg = f"Unsupported BMP header type ({file_info['header_size']})" + raise OSError(msg) + + # ------------------ Special case : header is reported 40, which + # ---------------------- is shorter than real size for bpp >= 16 + assert isinstance(file_info["width"], int) + assert isinstance(file_info["height"], int) + self._size = file_info["width"], file_info["height"] + + # ------- If color count was not found in the header, compute from bits + assert isinstance(file_info["bits"], int) + file_info["colors"] = ( + file_info["colors"] + if file_info.get("colors", 0) + else (1 << file_info["bits"]) + ) + assert isinstance(file_info["colors"], int) + if offset == 14 + file_info["header_size"] and file_info["bits"] <= 8: + offset += 4 * file_info["colors"] + + # ---------------------- Check bit depth for unusual unsupported values + self._mode, raw_mode = BIT2MODE.get(file_info["bits"], ("", "")) + if not self.mode: + msg = f"Unsupported BMP pixel depth ({file_info['bits']})" + raise OSError(msg) + + # ---------------- Process BMP with Bitfields compression (not palette) + decoder_name = "raw" + if file_info["compression"] == self.COMPRESSIONS["BITFIELDS"]: + SUPPORTED: dict[int, list[tuple[int, ...]]] = { + 32: [ + (0xFF0000, 0xFF00, 0xFF, 0x0), + (0xFF000000, 0xFF0000, 0xFF00, 0x0), + (0xFF000000, 0xFF00, 0xFF, 0x0), + (0xFF000000, 0xFF0000, 0xFF00, 0xFF), + (0xFF, 0xFF00, 0xFF0000, 0xFF000000), + (0xFF0000, 0xFF00, 0xFF, 0xFF000000), + (0xFF000000, 0xFF00, 0xFF, 0xFF0000), + (0x0, 0x0, 0x0, 0x0), + ], + 24: [(0xFF0000, 0xFF00, 0xFF)], + 16: [(0xF800, 0x7E0, 0x1F), (0x7C00, 0x3E0, 0x1F)], + } + MASK_MODES = { + (32, (0xFF0000, 0xFF00, 0xFF, 0x0)): "BGRX", + (32, (0xFF000000, 0xFF0000, 0xFF00, 0x0)): "XBGR", + (32, (0xFF000000, 0xFF00, 0xFF, 0x0)): "BGXR", + (32, (0xFF000000, 0xFF0000, 0xFF00, 0xFF)): "ABGR", + (32, (0xFF, 0xFF00, 0xFF0000, 0xFF000000)): "RGBA", + (32, (0xFF0000, 0xFF00, 0xFF, 0xFF000000)): "BGRA", + (32, (0xFF000000, 0xFF00, 0xFF, 0xFF0000)): "BGAR", + (32, (0x0, 0x0, 0x0, 0x0)): "BGRA", + (24, (0xFF0000, 0xFF00, 0xFF)): "BGR", + (16, (0xF800, 0x7E0, 0x1F)): "BGR;16", + (16, (0x7C00, 0x3E0, 0x1F)): "BGR;15", + } + if file_info["bits"] in SUPPORTED: + if ( + file_info["bits"] == 32 + and file_info["rgba_mask"] in SUPPORTED[file_info["bits"]] + ): + assert isinstance(file_info["rgba_mask"], tuple) + raw_mode = MASK_MODES[(file_info["bits"], file_info["rgba_mask"])] + self._mode = "RGBA" if "A" in raw_mode else self.mode + elif ( + file_info["bits"] in (24, 16) + and file_info["rgb_mask"] in SUPPORTED[file_info["bits"]] + ): + assert isinstance(file_info["rgb_mask"], tuple) + raw_mode = MASK_MODES[(file_info["bits"], file_info["rgb_mask"])] + else: + msg = "Unsupported BMP bitfields layout" + raise OSError(msg) + else: + msg = "Unsupported BMP bitfields layout" + raise OSError(msg) + elif file_info["compression"] == self.COMPRESSIONS["RAW"]: + if file_info["bits"] == 32 and header == 22: # 32-bit .cur offset + raw_mode, self._mode = "BGRA", "RGBA" + elif file_info["compression"] in ( + self.COMPRESSIONS["RLE8"], + self.COMPRESSIONS["RLE4"], + ): + decoder_name = "bmp_rle" + else: + msg = f"Unsupported BMP compression ({file_info['compression']})" + raise OSError(msg) + + # --------------- Once the header is processed, process the palette/LUT + if self.mode == "P": # Paletted for 1, 4 and 8 bit images + # ---------------------------------------------------- 1-bit images + if not (0 < file_info["colors"] <= 65536): + msg = f"Unsupported BMP Palette size ({file_info['colors']})" + raise OSError(msg) + else: + assert isinstance(file_info["palette_padding"], int) + padding = file_info["palette_padding"] + palette = read(padding * file_info["colors"]) + grayscale = True + indices = ( + (0, 255) + if file_info["colors"] == 2 + else list(range(file_info["colors"])) + ) + + # ----------------- Check if grayscale and ignore palette if so + for ind, val in enumerate(indices): + rgb = palette[ind * padding : ind * padding + 3] + if rgb != o8(val) * 3: + grayscale = False + + # ------- If all colors are gray, white or black, ditch palette + if grayscale: + self._mode = "1" if file_info["colors"] == 2 else "L" + raw_mode = self.mode + else: + self._mode = "P" + self.palette = ImagePalette.raw( + "BGRX" if padding == 4 else "BGR", palette + ) + + # ---------------------------- Finally set the tile data for the plugin + self.info["compression"] = file_info["compression"] + args: list[Any] = [raw_mode] + if decoder_name == "bmp_rle": + args.append(file_info["compression"] == self.COMPRESSIONS["RLE4"]) + else: + assert isinstance(file_info["width"], int) + args.append(((file_info["width"] * file_info["bits"] + 31) >> 3) & (~3)) + args.append(file_info["direction"]) + self.tile = [ + ImageFile._Tile( + decoder_name, + (0, 0, file_info["width"], file_info["height"]), + offset or self.fp.tell(), + tuple(args), + ) + ] + + def _open(self) -> None: + """Open file, check magic number and read header""" + # read 14 bytes: magic number, filesize, reserved, header final offset + head_data = self.fp.read(14) + # choke if the file does not have the required magic bytes + if not _accept(head_data): + msg = "Not a BMP file" + raise SyntaxError(msg) + # read the start position of the BMP image data (u32) + offset = i32(head_data, 10) + # load bitmap information (offset=raster info) + self._bitmap(offset=offset) + + +class BmpRleDecoder(ImageFile.PyDecoder): + _pulls_fd = True + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + assert self.fd is not None + rle4 = self.args[1] + data = bytearray() + x = 0 + dest_length = self.state.xsize * self.state.ysize + while len(data) < dest_length: + pixels = self.fd.read(1) + byte = self.fd.read(1) + if not pixels or not byte: + break + num_pixels = pixels[0] + if num_pixels: + # encoded mode + if x + num_pixels > self.state.xsize: + # Too much data for row + num_pixels = max(0, self.state.xsize - x) + if rle4: + first_pixel = o8(byte[0] >> 4) + second_pixel = o8(byte[0] & 0x0F) + for index in range(num_pixels): + if index % 2 == 0: + data += first_pixel + else: + data += second_pixel + else: + data += byte * num_pixels + x += num_pixels + else: + if byte[0] == 0: + # end of line + while len(data) % self.state.xsize != 0: + data += b"\x00" + x = 0 + elif byte[0] == 1: + # end of bitmap + break + elif byte[0] == 2: + # delta + bytes_read = self.fd.read(2) + if len(bytes_read) < 2: + break + right, up = self.fd.read(2) + data += b"\x00" * (right + up * self.state.xsize) + x = len(data) % self.state.xsize + else: + # absolute mode + if rle4: + # 2 pixels per byte + byte_count = byte[0] // 2 + bytes_read = self.fd.read(byte_count) + for byte_read in bytes_read: + data += o8(byte_read >> 4) + data += o8(byte_read & 0x0F) + else: + byte_count = byte[0] + bytes_read = self.fd.read(byte_count) + data += bytes_read + if len(bytes_read) < byte_count: + break + x += byte[0] + + # align to 16-bit word boundary + if self.fd.tell() % 2 != 0: + self.fd.seek(1, os.SEEK_CUR) + rawmode = "L" if self.mode == "L" else "P" + self.set_as_raw(bytes(data), rawmode, (0, self.args[-1])) + return -1, 0 + + +# ============================================================================= +# Image plugin for the DIB format (BMP alias) +# ============================================================================= +class DibImageFile(BmpImageFile): + format = "DIB" + format_description = "Windows Bitmap" + + def _open(self) -> None: + self._bitmap() + + +# +# -------------------------------------------------------------------- +# Write BMP file + + +SAVE = { + "1": ("1", 1, 2), + "L": ("L", 8, 256), + "P": ("P", 8, 256), + "RGB": ("BGR", 24, 0), + "RGBA": ("BGRA", 32, 0), +} + + +def _dib_save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + _save(im, fp, filename, False) + + +def _save( + im: Image.Image, fp: IO[bytes], filename: str | bytes, bitmap_header: bool = True +) -> None: + try: + rawmode, bits, colors = SAVE[im.mode] + except KeyError as e: + msg = f"cannot write mode {im.mode} as BMP" + raise OSError(msg) from e + + info = im.encoderinfo + + dpi = info.get("dpi", (96, 96)) + + # 1 meter == 39.3701 inches + ppm = tuple(int(x * 39.3701 + 0.5) for x in dpi) + + stride = ((im.size[0] * bits + 7) // 8 + 3) & (~3) + header = 40 # or 64 for OS/2 version 2 + image = stride * im.size[1] + + if im.mode == "1": + palette = b"".join(o8(i) * 4 for i in (0, 255)) + elif im.mode == "L": + palette = b"".join(o8(i) * 4 for i in range(256)) + elif im.mode == "P": + palette = im.im.getpalette("RGB", "BGRX") + colors = len(palette) // 4 + else: + palette = None + + # bitmap header + if bitmap_header: + offset = 14 + header + colors * 4 + file_size = offset + image + if file_size > 2**32 - 1: + msg = "File size is too large for the BMP format" + raise ValueError(msg) + fp.write( + b"BM" # file type (magic) + + o32(file_size) # file size + + o32(0) # reserved + + o32(offset) # image data offset + ) + + # bitmap info header + fp.write( + o32(header) # info header size + + o32(im.size[0]) # width + + o32(im.size[1]) # height + + o16(1) # planes + + o16(bits) # depth + + o32(0) # compression (0=uncompressed) + + o32(image) # size of bitmap + + o32(ppm[0]) # resolution + + o32(ppm[1]) # resolution + + o32(colors) # colors used + + o32(colors) # colors important + ) + + fp.write(b"\0" * (header - 40)) # padding (for OS/2 format) + + if palette: + fp.write(palette) + + ImageFile._save( + im, fp, [ImageFile._Tile("raw", (0, 0) + im.size, 0, (rawmode, stride, -1))] + ) + + +# +# -------------------------------------------------------------------- +# Registry + + +Image.register_open(BmpImageFile.format, BmpImageFile, _accept) +Image.register_save(BmpImageFile.format, _save) + +Image.register_extension(BmpImageFile.format, ".bmp") + +Image.register_mime(BmpImageFile.format, "image/bmp") + +Image.register_decoder("bmp_rle", BmpRleDecoder) + +Image.register_open(DibImageFile.format, DibImageFile, _dib_accept) +Image.register_save(DibImageFile.format, _dib_save) + +Image.register_extension(DibImageFile.format, ".dib") + +Image.register_mime(DibImageFile.format, "image/bmp") diff --git a/venv/Lib/site-packages/PIL/BufrStubImagePlugin.py b/venv/Lib/site-packages/PIL/BufrStubImagePlugin.py new file mode 100644 index 00000000..0ee2f653 --- /dev/null +++ b/venv/Lib/site-packages/PIL/BufrStubImagePlugin.py @@ -0,0 +1,76 @@ +# +# The Python Imaging Library +# $Id$ +# +# BUFR stub adapter +# +# Copyright (c) 1996-2003 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from typing import IO + +from . import Image, ImageFile + +_handler = None + + +def register_handler(handler: ImageFile.StubHandler | None) -> None: + """ + Install application-specific BUFR image handler. + + :param handler: Handler object. + """ + global _handler + _handler = handler + + +# -------------------------------------------------------------------- +# Image adapter + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] == b"BUFR" or prefix[:4] == b"ZCZC" + + +class BufrStubImageFile(ImageFile.StubImageFile): + format = "BUFR" + format_description = "BUFR" + + def _open(self) -> None: + offset = self.fp.tell() + + if not _accept(self.fp.read(4)): + msg = "Not a BUFR file" + raise SyntaxError(msg) + + self.fp.seek(offset) + + # make something up + self._mode = "F" + self._size = 1, 1 + + loader = self._load() + if loader: + loader.open(self) + + def _load(self) -> ImageFile.StubHandler | None: + return _handler + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if _handler is None or not hasattr(_handler, "save"): + msg = "BUFR save handler not installed" + raise OSError(msg) + _handler.save(im, fp, filename) + + +# -------------------------------------------------------------------- +# Registry + +Image.register_open(BufrStubImageFile.format, BufrStubImageFile, _accept) +Image.register_save(BufrStubImageFile.format, _save) + +Image.register_extension(BufrStubImageFile.format, ".bufr") diff --git a/venv/Lib/site-packages/PIL/ContainerIO.py b/venv/Lib/site-packages/PIL/ContainerIO.py new file mode 100644 index 00000000..ec9e66c7 --- /dev/null +++ b/venv/Lib/site-packages/PIL/ContainerIO.py @@ -0,0 +1,173 @@ +# +# The Python Imaging Library. +# $Id$ +# +# a class to read from a container file +# +# History: +# 1995-06-18 fl Created +# 1995-09-07 fl Added readline(), readlines() +# +# Copyright (c) 1997-2001 by Secret Labs AB +# Copyright (c) 1995 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io +from collections.abc import Iterable +from typing import IO, AnyStr, NoReturn + + +class ContainerIO(IO[AnyStr]): + """ + A file object that provides read access to a part of an existing + file (for example a TAR file). + """ + + def __init__(self, file: IO[AnyStr], offset: int, length: int) -> None: + """ + Create file object. + + :param file: Existing file. + :param offset: Start of region, in bytes. + :param length: Size of region, in bytes. + """ + self.fh: IO[AnyStr] = file + self.pos = 0 + self.offset = offset + self.length = length + self.fh.seek(offset) + + ## + # Always false. + + def isatty(self) -> bool: + return False + + def seekable(self) -> bool: + return True + + def seek(self, offset: int, mode: int = io.SEEK_SET) -> int: + """ + Move file pointer. + + :param offset: Offset in bytes. + :param mode: Starting position. Use 0 for beginning of region, 1 + for current offset, and 2 for end of region. You cannot move + the pointer outside the defined region. + :returns: Offset from start of region, in bytes. + """ + if mode == 1: + self.pos = self.pos + offset + elif mode == 2: + self.pos = self.length + offset + else: + self.pos = offset + # clamp + self.pos = max(0, min(self.pos, self.length)) + self.fh.seek(self.offset + self.pos) + return self.pos + + def tell(self) -> int: + """ + Get current file pointer. + + :returns: Offset from start of region, in bytes. + """ + return self.pos + + def readable(self) -> bool: + return True + + def read(self, n: int = -1) -> AnyStr: + """ + Read data. + + :param n: Number of bytes to read. If omitted, zero or negative, + read until end of region. + :returns: An 8-bit string. + """ + if n > 0: + n = min(n, self.length - self.pos) + else: + n = self.length - self.pos + if n <= 0: # EOF + return b"" if "b" in self.fh.mode else "" # type: ignore[return-value] + self.pos = self.pos + n + return self.fh.read(n) + + def readline(self, n: int = -1) -> AnyStr: + """ + Read a line of text. + + :param n: Number of bytes to read. If omitted, zero or negative, + read until end of line. + :returns: An 8-bit string. + """ + s: AnyStr = b"" if "b" in self.fh.mode else "" # type: ignore[assignment] + newline_character = b"\n" if "b" in self.fh.mode else "\n" + while True: + c = self.read(1) + if not c: + break + s = s + c + if c == newline_character or len(s) == n: + break + return s + + def readlines(self, n: int | None = -1) -> list[AnyStr]: + """ + Read multiple lines of text. + + :param n: Number of lines to read. If omitted, zero, negative or None, + read until end of region. + :returns: A list of 8-bit strings. + """ + lines = [] + while True: + s = self.readline() + if not s: + break + lines.append(s) + if len(lines) == n: + break + return lines + + def writable(self) -> bool: + return False + + def write(self, b: AnyStr) -> NoReturn: + raise NotImplementedError() + + def writelines(self, lines: Iterable[AnyStr]) -> NoReturn: + raise NotImplementedError() + + def truncate(self, size: int | None = None) -> int: + raise NotImplementedError() + + def __enter__(self) -> ContainerIO[AnyStr]: + return self + + def __exit__(self, *args: object) -> None: + self.close() + + def __iter__(self) -> ContainerIO[AnyStr]: + return self + + def __next__(self) -> AnyStr: + line = self.readline() + if not line: + msg = "end of region" + raise StopIteration(msg) + return line + + def fileno(self) -> int: + return self.fh.fileno() + + def flush(self) -> None: + self.fh.flush() + + def close(self) -> None: + self.fh.close() diff --git a/venv/Lib/site-packages/PIL/CurImagePlugin.py b/venv/Lib/site-packages/PIL/CurImagePlugin.py new file mode 100644 index 00000000..c4be0cec --- /dev/null +++ b/venv/Lib/site-packages/PIL/CurImagePlugin.py @@ -0,0 +1,75 @@ +# +# The Python Imaging Library. +# $Id$ +# +# Windows Cursor support for PIL +# +# notes: +# uses BmpImagePlugin.py to read the bitmap data. +# +# history: +# 96-05-27 fl Created +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1996. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from . import BmpImagePlugin, Image, ImageFile +from ._binary import i16le as i16 +from ._binary import i32le as i32 + +# +# -------------------------------------------------------------------- + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] == b"\0\0\2\0" + + +## +# Image plugin for Windows Cursor files. + + +class CurImageFile(BmpImagePlugin.BmpImageFile): + format = "CUR" + format_description = "Windows Cursor" + + def _open(self) -> None: + offset = self.fp.tell() + + # check magic + s = self.fp.read(6) + if not _accept(s): + msg = "not a CUR file" + raise SyntaxError(msg) + + # pick the largest cursor in the file + m = b"" + for i in range(i16(s, 4)): + s = self.fp.read(16) + if not m: + m = s + elif s[0] > m[0] and s[1] > m[1]: + m = s + if not m: + msg = "No cursors were found" + raise TypeError(msg) + + # load as bitmap + self._bitmap(i32(m, 12) + offset) + + # patch up the bitmap height + self._size = self.size[0], self.size[1] // 2 + d, e, o, a = self.tile[0] + self.tile[0] = ImageFile._Tile(d, (0, 0) + self.size, o, a) + + +# +# -------------------------------------------------------------------- + +Image.register_open(CurImageFile.format, CurImageFile, _accept) + +Image.register_extension(CurImageFile.format, ".cur") diff --git a/venv/Lib/site-packages/PIL/DcxImagePlugin.py b/venv/Lib/site-packages/PIL/DcxImagePlugin.py new file mode 100644 index 00000000..f67f27d7 --- /dev/null +++ b/venv/Lib/site-packages/PIL/DcxImagePlugin.py @@ -0,0 +1,80 @@ +# +# The Python Imaging Library. +# $Id$ +# +# DCX file handling +# +# DCX is a container file format defined by Intel, commonly used +# for fax applications. Each DCX file consists of a directory +# (a list of file offsets) followed by a set of (usually 1-bit) +# PCX files. +# +# History: +# 1995-09-09 fl Created +# 1996-03-20 fl Properly derived from PcxImageFile. +# 1998-07-15 fl Renamed offset attribute to avoid name clash +# 2002-07-30 fl Fixed file handling +# +# Copyright (c) 1997-98 by Secret Labs AB. +# Copyright (c) 1995-96 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from . import Image +from ._binary import i32le as i32 +from .PcxImagePlugin import PcxImageFile + +MAGIC = 0x3ADE68B1 # QUIZ: what's this value, then? + + +def _accept(prefix: bytes) -> bool: + return len(prefix) >= 4 and i32(prefix) == MAGIC + + +## +# Image plugin for the Intel DCX format. + + +class DcxImageFile(PcxImageFile): + format = "DCX" + format_description = "Intel DCX" + _close_exclusive_fp_after_loading = False + + def _open(self) -> None: + # Header + s = self.fp.read(4) + if not _accept(s): + msg = "not a DCX file" + raise SyntaxError(msg) + + # Component directory + self._offset = [] + for i in range(1024): + offset = i32(self.fp.read(4)) + if not offset: + break + self._offset.append(offset) + + self._fp = self.fp + self.frame = -1 + self.n_frames = len(self._offset) + self.is_animated = self.n_frames > 1 + self.seek(0) + + def seek(self, frame: int) -> None: + if not self._seek_check(frame): + return + self.frame = frame + self.fp = self._fp + self.fp.seek(self._offset[frame]) + PcxImageFile._open(self) + + def tell(self) -> int: + return self.frame + + +Image.register_open(DcxImageFile.format, DcxImageFile, _accept) + +Image.register_extension(DcxImageFile.format, ".dcx") diff --git a/venv/Lib/site-packages/PIL/DdsImagePlugin.py b/venv/Lib/site-packages/PIL/DdsImagePlugin.py new file mode 100644 index 00000000..1b640823 --- /dev/null +++ b/venv/Lib/site-packages/PIL/DdsImagePlugin.py @@ -0,0 +1,575 @@ +""" +A Pillow loader for .dds files (S3TC-compressed aka DXTC) +Jerome Leclanche + +Documentation: +https://web.archive.org/web/20170802060935/http://oss.sgi.com/projects/ogl-sample/registry/EXT/texture_compression_s3tc.txt + +The contents of this file are hereby released in the public domain (CC0) +Full text of the CC0 license: +https://creativecommons.org/publicdomain/zero/1.0/ +""" + +from __future__ import annotations + +import io +import struct +import sys +from enum import IntEnum, IntFlag +from typing import IO + +from . import Image, ImageFile, ImagePalette +from ._binary import i32le as i32 +from ._binary import o8 +from ._binary import o32le as o32 + +# Magic ("DDS ") +DDS_MAGIC = 0x20534444 + + +# DDS flags +class DDSD(IntFlag): + CAPS = 0x1 + HEIGHT = 0x2 + WIDTH = 0x4 + PITCH = 0x8 + PIXELFORMAT = 0x1000 + MIPMAPCOUNT = 0x20000 + LINEARSIZE = 0x80000 + DEPTH = 0x800000 + + +# DDS caps +class DDSCAPS(IntFlag): + COMPLEX = 0x8 + TEXTURE = 0x1000 + MIPMAP = 0x400000 + + +class DDSCAPS2(IntFlag): + CUBEMAP = 0x200 + CUBEMAP_POSITIVEX = 0x400 + CUBEMAP_NEGATIVEX = 0x800 + CUBEMAP_POSITIVEY = 0x1000 + CUBEMAP_NEGATIVEY = 0x2000 + CUBEMAP_POSITIVEZ = 0x4000 + CUBEMAP_NEGATIVEZ = 0x8000 + VOLUME = 0x200000 + + +# Pixel Format +class DDPF(IntFlag): + ALPHAPIXELS = 0x1 + ALPHA = 0x2 + FOURCC = 0x4 + PALETTEINDEXED8 = 0x20 + RGB = 0x40 + LUMINANCE = 0x20000 + + +# dxgiformat.h +class DXGI_FORMAT(IntEnum): + UNKNOWN = 0 + R32G32B32A32_TYPELESS = 1 + R32G32B32A32_FLOAT = 2 + R32G32B32A32_UINT = 3 + R32G32B32A32_SINT = 4 + R32G32B32_TYPELESS = 5 + R32G32B32_FLOAT = 6 + R32G32B32_UINT = 7 + R32G32B32_SINT = 8 + R16G16B16A16_TYPELESS = 9 + R16G16B16A16_FLOAT = 10 + R16G16B16A16_UNORM = 11 + R16G16B16A16_UINT = 12 + R16G16B16A16_SNORM = 13 + R16G16B16A16_SINT = 14 + R32G32_TYPELESS = 15 + R32G32_FLOAT = 16 + R32G32_UINT = 17 + R32G32_SINT = 18 + R32G8X24_TYPELESS = 19 + D32_FLOAT_S8X24_UINT = 20 + R32_FLOAT_X8X24_TYPELESS = 21 + X32_TYPELESS_G8X24_UINT = 22 + R10G10B10A2_TYPELESS = 23 + R10G10B10A2_UNORM = 24 + R10G10B10A2_UINT = 25 + R11G11B10_FLOAT = 26 + R8G8B8A8_TYPELESS = 27 + R8G8B8A8_UNORM = 28 + R8G8B8A8_UNORM_SRGB = 29 + R8G8B8A8_UINT = 30 + R8G8B8A8_SNORM = 31 + R8G8B8A8_SINT = 32 + R16G16_TYPELESS = 33 + R16G16_FLOAT = 34 + R16G16_UNORM = 35 + R16G16_UINT = 36 + R16G16_SNORM = 37 + R16G16_SINT = 38 + R32_TYPELESS = 39 + D32_FLOAT = 40 + R32_FLOAT = 41 + R32_UINT = 42 + R32_SINT = 43 + R24G8_TYPELESS = 44 + D24_UNORM_S8_UINT = 45 + R24_UNORM_X8_TYPELESS = 46 + X24_TYPELESS_G8_UINT = 47 + R8G8_TYPELESS = 48 + R8G8_UNORM = 49 + R8G8_UINT = 50 + R8G8_SNORM = 51 + R8G8_SINT = 52 + R16_TYPELESS = 53 + R16_FLOAT = 54 + D16_UNORM = 55 + R16_UNORM = 56 + R16_UINT = 57 + R16_SNORM = 58 + R16_SINT = 59 + R8_TYPELESS = 60 + R8_UNORM = 61 + R8_UINT = 62 + R8_SNORM = 63 + R8_SINT = 64 + A8_UNORM = 65 + R1_UNORM = 66 + R9G9B9E5_SHAREDEXP = 67 + R8G8_B8G8_UNORM = 68 + G8R8_G8B8_UNORM = 69 + BC1_TYPELESS = 70 + BC1_UNORM = 71 + BC1_UNORM_SRGB = 72 + BC2_TYPELESS = 73 + BC2_UNORM = 74 + BC2_UNORM_SRGB = 75 + BC3_TYPELESS = 76 + BC3_UNORM = 77 + BC3_UNORM_SRGB = 78 + BC4_TYPELESS = 79 + BC4_UNORM = 80 + BC4_SNORM = 81 + BC5_TYPELESS = 82 + BC5_UNORM = 83 + BC5_SNORM = 84 + B5G6R5_UNORM = 85 + B5G5R5A1_UNORM = 86 + B8G8R8A8_UNORM = 87 + B8G8R8X8_UNORM = 88 + R10G10B10_XR_BIAS_A2_UNORM = 89 + B8G8R8A8_TYPELESS = 90 + B8G8R8A8_UNORM_SRGB = 91 + B8G8R8X8_TYPELESS = 92 + B8G8R8X8_UNORM_SRGB = 93 + BC6H_TYPELESS = 94 + BC6H_UF16 = 95 + BC6H_SF16 = 96 + BC7_TYPELESS = 97 + BC7_UNORM = 98 + BC7_UNORM_SRGB = 99 + AYUV = 100 + Y410 = 101 + Y416 = 102 + NV12 = 103 + P010 = 104 + P016 = 105 + OPAQUE_420 = 106 + YUY2 = 107 + Y210 = 108 + Y216 = 109 + NV11 = 110 + AI44 = 111 + IA44 = 112 + P8 = 113 + A8P8 = 114 + B4G4R4A4_UNORM = 115 + P208 = 130 + V208 = 131 + V408 = 132 + SAMPLER_FEEDBACK_MIN_MIP_OPAQUE = 189 + SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE = 190 + + +class D3DFMT(IntEnum): + UNKNOWN = 0 + R8G8B8 = 20 + A8R8G8B8 = 21 + X8R8G8B8 = 22 + R5G6B5 = 23 + X1R5G5B5 = 24 + A1R5G5B5 = 25 + A4R4G4B4 = 26 + R3G3B2 = 27 + A8 = 28 + A8R3G3B2 = 29 + X4R4G4B4 = 30 + A2B10G10R10 = 31 + A8B8G8R8 = 32 + X8B8G8R8 = 33 + G16R16 = 34 + A2R10G10B10 = 35 + A16B16G16R16 = 36 + A8P8 = 40 + P8 = 41 + L8 = 50 + A8L8 = 51 + A4L4 = 52 + V8U8 = 60 + L6V5U5 = 61 + X8L8V8U8 = 62 + Q8W8V8U8 = 63 + V16U16 = 64 + A2W10V10U10 = 67 + D16_LOCKABLE = 70 + D32 = 71 + D15S1 = 73 + D24S8 = 75 + D24X8 = 77 + D24X4S4 = 79 + D16 = 80 + D32F_LOCKABLE = 82 + D24FS8 = 83 + D32_LOCKABLE = 84 + S8_LOCKABLE = 85 + L16 = 81 + VERTEXDATA = 100 + INDEX16 = 101 + INDEX32 = 102 + Q16W16V16U16 = 110 + R16F = 111 + G16R16F = 112 + A16B16G16R16F = 113 + R32F = 114 + G32R32F = 115 + A32B32G32R32F = 116 + CxV8U8 = 117 + A1 = 118 + A2B10G10R10_XR_BIAS = 119 + BINARYBUFFER = 199 + + UYVY = i32(b"UYVY") + R8G8_B8G8 = i32(b"RGBG") + YUY2 = i32(b"YUY2") + G8R8_G8B8 = i32(b"GRGB") + DXT1 = i32(b"DXT1") + DXT2 = i32(b"DXT2") + DXT3 = i32(b"DXT3") + DXT4 = i32(b"DXT4") + DXT5 = i32(b"DXT5") + DX10 = i32(b"DX10") + BC4S = i32(b"BC4S") + BC4U = i32(b"BC4U") + BC5S = i32(b"BC5S") + BC5U = i32(b"BC5U") + ATI1 = i32(b"ATI1") + ATI2 = i32(b"ATI2") + MULTI2_ARGB8 = i32(b"MET1") + + +# Backward compatibility layer +module = sys.modules[__name__] +for item in DDSD: + assert item.name is not None + setattr(module, f"DDSD_{item.name}", item.value) +for item1 in DDSCAPS: + assert item1.name is not None + setattr(module, f"DDSCAPS_{item1.name}", item1.value) +for item2 in DDSCAPS2: + assert item2.name is not None + setattr(module, f"DDSCAPS2_{item2.name}", item2.value) +for item3 in DDPF: + assert item3.name is not None + setattr(module, f"DDPF_{item3.name}", item3.value) + +DDS_FOURCC = DDPF.FOURCC +DDS_RGB = DDPF.RGB +DDS_RGBA = DDPF.RGB | DDPF.ALPHAPIXELS +DDS_LUMINANCE = DDPF.LUMINANCE +DDS_LUMINANCEA = DDPF.LUMINANCE | DDPF.ALPHAPIXELS +DDS_ALPHA = DDPF.ALPHA +DDS_PAL8 = DDPF.PALETTEINDEXED8 + +DDS_HEADER_FLAGS_TEXTURE = DDSD.CAPS | DDSD.HEIGHT | DDSD.WIDTH | DDSD.PIXELFORMAT +DDS_HEADER_FLAGS_MIPMAP = DDSD.MIPMAPCOUNT +DDS_HEADER_FLAGS_VOLUME = DDSD.DEPTH +DDS_HEADER_FLAGS_PITCH = DDSD.PITCH +DDS_HEADER_FLAGS_LINEARSIZE = DDSD.LINEARSIZE + +DDS_HEIGHT = DDSD.HEIGHT +DDS_WIDTH = DDSD.WIDTH + +DDS_SURFACE_FLAGS_TEXTURE = DDSCAPS.TEXTURE +DDS_SURFACE_FLAGS_MIPMAP = DDSCAPS.COMPLEX | DDSCAPS.MIPMAP +DDS_SURFACE_FLAGS_CUBEMAP = DDSCAPS.COMPLEX + +DDS_CUBEMAP_POSITIVEX = DDSCAPS2.CUBEMAP | DDSCAPS2.CUBEMAP_POSITIVEX +DDS_CUBEMAP_NEGATIVEX = DDSCAPS2.CUBEMAP | DDSCAPS2.CUBEMAP_NEGATIVEX +DDS_CUBEMAP_POSITIVEY = DDSCAPS2.CUBEMAP | DDSCAPS2.CUBEMAP_POSITIVEY +DDS_CUBEMAP_NEGATIVEY = DDSCAPS2.CUBEMAP | DDSCAPS2.CUBEMAP_NEGATIVEY +DDS_CUBEMAP_POSITIVEZ = DDSCAPS2.CUBEMAP | DDSCAPS2.CUBEMAP_POSITIVEZ +DDS_CUBEMAP_NEGATIVEZ = DDSCAPS2.CUBEMAP | DDSCAPS2.CUBEMAP_NEGATIVEZ + +DXT1_FOURCC = D3DFMT.DXT1 +DXT3_FOURCC = D3DFMT.DXT3 +DXT5_FOURCC = D3DFMT.DXT5 + +DXGI_FORMAT_R8G8B8A8_TYPELESS = DXGI_FORMAT.R8G8B8A8_TYPELESS +DXGI_FORMAT_R8G8B8A8_UNORM = DXGI_FORMAT.R8G8B8A8_UNORM +DXGI_FORMAT_R8G8B8A8_UNORM_SRGB = DXGI_FORMAT.R8G8B8A8_UNORM_SRGB +DXGI_FORMAT_BC5_TYPELESS = DXGI_FORMAT.BC5_TYPELESS +DXGI_FORMAT_BC5_UNORM = DXGI_FORMAT.BC5_UNORM +DXGI_FORMAT_BC5_SNORM = DXGI_FORMAT.BC5_SNORM +DXGI_FORMAT_BC6H_UF16 = DXGI_FORMAT.BC6H_UF16 +DXGI_FORMAT_BC6H_SF16 = DXGI_FORMAT.BC6H_SF16 +DXGI_FORMAT_BC7_TYPELESS = DXGI_FORMAT.BC7_TYPELESS +DXGI_FORMAT_BC7_UNORM = DXGI_FORMAT.BC7_UNORM +DXGI_FORMAT_BC7_UNORM_SRGB = DXGI_FORMAT.BC7_UNORM_SRGB + + +class DdsImageFile(ImageFile.ImageFile): + format = "DDS" + format_description = "DirectDraw Surface" + + def _open(self) -> None: + if not _accept(self.fp.read(4)): + msg = "not a DDS file" + raise SyntaxError(msg) + (header_size,) = struct.unpack(" None: + pass + + +class DdsRgbDecoder(ImageFile.PyDecoder): + _pulls_fd = True + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + assert self.fd is not None + bitcount, masks = self.args + + # Some masks will be padded with zeros, e.g. R 0b11 G 0b1100 + # Calculate how many zeros each mask is padded with + mask_offsets = [] + # And the maximum value of each channel without the padding + mask_totals = [] + for mask in masks: + offset = 0 + if mask != 0: + while mask >> (offset + 1) << (offset + 1) == mask: + offset += 1 + mask_offsets.append(offset) + mask_totals.append(mask >> offset) + + data = bytearray() + bytecount = bitcount // 8 + dest_length = self.state.xsize * self.state.ysize * len(masks) + while len(data) < dest_length: + value = int.from_bytes(self.fd.read(bytecount), "little") + for i, mask in enumerate(masks): + masked_value = value & mask + # Remove the zero padding, and scale it to 8 bits + data += o8( + int(((masked_value >> mask_offsets[i]) / mask_totals[i]) * 255) + ) + self.set_as_raw(data) + return -1, 0 + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if im.mode not in ("RGB", "RGBA", "L", "LA"): + msg = f"cannot write mode {im.mode} as DDS" + raise OSError(msg) + + alpha = im.mode[-1] == "A" + if im.mode[0] == "L": + pixel_flags = DDPF.LUMINANCE + rawmode = im.mode + if alpha: + rgba_mask = [0x000000FF, 0x000000FF, 0x000000FF] + else: + rgba_mask = [0xFF000000, 0xFF000000, 0xFF000000] + else: + pixel_flags = DDPF.RGB + rawmode = im.mode[::-1] + rgba_mask = [0x00FF0000, 0x0000FF00, 0x000000FF] + + if alpha: + r, g, b, a = im.split() + im = Image.merge("RGBA", (a, r, g, b)) + if alpha: + pixel_flags |= DDPF.ALPHAPIXELS + rgba_mask.append(0xFF000000 if alpha else 0) + + flags = DDSD.CAPS | DDSD.HEIGHT | DDSD.WIDTH | DDSD.PITCH | DDSD.PIXELFORMAT + bitcount = len(im.getbands()) * 8 + pitch = (im.width * bitcount + 7) // 8 + + fp.write( + o32(DDS_MAGIC) + + struct.pack( + "<7I", + 124, # header size + flags, # flags + im.height, + im.width, + pitch, + 0, # depth + 0, # mipmaps + ) + + struct.pack("11I", *((0,) * 11)) # reserved + # pfsize, pfflags, fourcc, bitcount + + struct.pack("<4I", 32, pixel_flags, 0, bitcount) + + struct.pack("<4I", *rgba_mask) # dwRGBABitMask + + struct.pack("<5I", DDSCAPS.TEXTURE, 0, 0, 0, 0) + ) + ImageFile._save( + im, fp, [ImageFile._Tile("raw", (0, 0) + im.size, 0, (rawmode, 0, 1))] + ) + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] == b"DDS " + + +Image.register_open(DdsImageFile.format, DdsImageFile, _accept) +Image.register_decoder("dds_rgb", DdsRgbDecoder) +Image.register_save(DdsImageFile.format, _save) +Image.register_extension(DdsImageFile.format, ".dds") diff --git a/venv/Lib/site-packages/PIL/EpsImagePlugin.py b/venv/Lib/site-packages/PIL/EpsImagePlugin.py new file mode 100644 index 00000000..fb1e301c --- /dev/null +++ b/venv/Lib/site-packages/PIL/EpsImagePlugin.py @@ -0,0 +1,474 @@ +# +# The Python Imaging Library. +# $Id$ +# +# EPS file handling +# +# History: +# 1995-09-01 fl Created (0.1) +# 1996-05-18 fl Don't choke on "atend" fields, Ghostscript interface (0.2) +# 1996-08-22 fl Don't choke on floating point BoundingBox values +# 1996-08-23 fl Handle files from Macintosh (0.3) +# 2001-02-17 fl Use 're' instead of 'regex' (Python 2.1) (0.4) +# 2003-09-07 fl Check gs.close status (from Federico Di Gregorio) (0.5) +# 2014-05-07 e Handling of EPS with binary preview and fixed resolution +# resizing +# +# Copyright (c) 1997-2003 by Secret Labs AB. +# Copyright (c) 1995-2003 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io +import os +import re +import subprocess +import sys +import tempfile +from typing import IO + +from . import Image, ImageFile +from ._binary import i32le as i32 + +# -------------------------------------------------------------------- + + +split = re.compile(r"^%%([^:]*):[ \t]*(.*)[ \t]*$") +field = re.compile(r"^%[%!\w]([^:]*)[ \t]*$") + +gs_binary: str | bool | None = None +gs_windows_binary = None + + +def has_ghostscript() -> bool: + global gs_binary, gs_windows_binary + if gs_binary is None: + if sys.platform.startswith("win"): + if gs_windows_binary is None: + import shutil + + for binary in ("gswin32c", "gswin64c", "gs"): + if shutil.which(binary) is not None: + gs_windows_binary = binary + break + else: + gs_windows_binary = False + gs_binary = gs_windows_binary + else: + try: + subprocess.check_call(["gs", "--version"], stdout=subprocess.DEVNULL) + gs_binary = "gs" + except OSError: + gs_binary = False + return gs_binary is not False + + +def Ghostscript( + tile: list[ImageFile._Tile], + size: tuple[int, int], + fp: IO[bytes], + scale: int = 1, + transparency: bool = False, +) -> Image.core.ImagingCore: + """Render an image using Ghostscript""" + global gs_binary + if not has_ghostscript(): + msg = "Unable to locate Ghostscript on paths" + raise OSError(msg) + assert isinstance(gs_binary, str) + + # Unpack decoder tile + args = tile[0].args + assert isinstance(args, tuple) + length, bbox = args + + # Hack to support hi-res rendering + scale = int(scale) or 1 + width = size[0] * scale + height = size[1] * scale + # resolution is dependent on bbox and size + res_x = 72.0 * width / (bbox[2] - bbox[0]) + res_y = 72.0 * height / (bbox[3] - bbox[1]) + + out_fd, outfile = tempfile.mkstemp() + os.close(out_fd) + + infile_temp = None + if hasattr(fp, "name") and os.path.exists(fp.name): + infile = fp.name + else: + in_fd, infile_temp = tempfile.mkstemp() + os.close(in_fd) + infile = infile_temp + + # Ignore length and offset! + # Ghostscript can read it + # Copy whole file to read in Ghostscript + with open(infile_temp, "wb") as f: + # fetch length of fp + fp.seek(0, io.SEEK_END) + fsize = fp.tell() + # ensure start position + # go back + fp.seek(0) + lengthfile = fsize + while lengthfile > 0: + s = fp.read(min(lengthfile, 100 * 1024)) + if not s: + break + lengthfile -= len(s) + f.write(s) + + if transparency: + # "RGBA" + device = "pngalpha" + else: + # "pnmraw" automatically chooses between + # PBM ("1"), PGM ("L"), and PPM ("RGB"). + device = "pnmraw" + + # Build Ghostscript command + command = [ + gs_binary, + "-q", # quiet mode + f"-g{width:d}x{height:d}", # set output geometry (pixels) + f"-r{res_x:f}x{res_y:f}", # set input DPI (dots per inch) + "-dBATCH", # exit after processing + "-dNOPAUSE", # don't pause between pages + "-dSAFER", # safe mode + f"-sDEVICE={device}", + f"-sOutputFile={outfile}", # output file + # adjust for image origin + "-c", + f"{-bbox[0]} {-bbox[1]} translate", + "-f", + infile, # input file + # showpage (see https://bugs.ghostscript.com/show_bug.cgi?id=698272) + "-c", + "showpage", + ] + + # push data through Ghostscript + try: + startupinfo = None + if sys.platform.startswith("win"): + startupinfo = subprocess.STARTUPINFO() + startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW + subprocess.check_call(command, startupinfo=startupinfo) + with Image.open(outfile) as out_im: + out_im.load() + return out_im.im.copy() + finally: + try: + os.unlink(outfile) + if infile_temp: + os.unlink(infile_temp) + except OSError: + pass + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] == b"%!PS" or (len(prefix) >= 4 and i32(prefix) == 0xC6D3D0C5) + + +## +# Image plugin for Encapsulated PostScript. This plugin supports only +# a few variants of this format. + + +class EpsImageFile(ImageFile.ImageFile): + """EPS File Parser for the Python Imaging Library""" + + format = "EPS" + format_description = "Encapsulated Postscript" + + mode_map = {1: "L", 2: "LAB", 3: "RGB", 4: "CMYK"} + + def _open(self) -> None: + (length, offset) = self._find_offset(self.fp) + + # go to offset - start of "%!PS" + self.fp.seek(offset) + + self._mode = "RGB" + + # When reading header comments, the first comment is used. + # When reading trailer comments, the last comment is used. + bounding_box: list[int] | None = None + imagedata_size: tuple[int, int] | None = None + + byte_arr = bytearray(255) + bytes_mv = memoryview(byte_arr) + bytes_read = 0 + reading_header_comments = True + reading_trailer_comments = False + trailer_reached = False + + def check_required_header_comments() -> None: + """ + The EPS specification requires that some headers exist. + This should be checked when the header comments formally end, + when image data starts, or when the file ends, whichever comes first. + """ + if "PS-Adobe" not in self.info: + msg = 'EPS header missing "%!PS-Adobe" comment' + raise SyntaxError(msg) + if "BoundingBox" not in self.info: + msg = 'EPS header missing "%%BoundingBox" comment' + raise SyntaxError(msg) + + def read_comment(s: str) -> bool: + nonlocal bounding_box, reading_trailer_comments + try: + m = split.match(s) + except re.error as e: + msg = "not an EPS file" + raise SyntaxError(msg) from e + + if not m: + return False + + k, v = m.group(1, 2) + self.info[k] = v + if k == "BoundingBox": + if v == "(atend)": + reading_trailer_comments = True + elif not bounding_box or (trailer_reached and reading_trailer_comments): + try: + # Note: The DSC spec says that BoundingBox + # fields should be integers, but some drivers + # put floating point values there anyway. + bounding_box = [int(float(i)) for i in v.split()] + except Exception: + pass + return True + + while True: + byte = self.fp.read(1) + if byte == b"": + # if we didn't read a byte we must be at the end of the file + if bytes_read == 0: + if reading_header_comments: + check_required_header_comments() + break + elif byte in b"\r\n": + # if we read a line ending character, ignore it and parse what + # we have already read. if we haven't read any other characters, + # continue reading + if bytes_read == 0: + continue + else: + # ASCII/hexadecimal lines in an EPS file must not exceed + # 255 characters, not including line ending characters + if bytes_read >= 255: + # only enforce this for lines starting with a "%", + # otherwise assume it's binary data + if byte_arr[0] == ord("%"): + msg = "not an EPS file" + raise SyntaxError(msg) + else: + if reading_header_comments: + check_required_header_comments() + reading_header_comments = False + # reset bytes_read so we can keep reading + # data until the end of the line + bytes_read = 0 + byte_arr[bytes_read] = byte[0] + bytes_read += 1 + continue + + if reading_header_comments: + # Load EPS header + + # if this line doesn't start with a "%", + # or does start with "%%EndComments", + # then we've reached the end of the header/comments + if byte_arr[0] != ord("%") or bytes_mv[:13] == b"%%EndComments": + check_required_header_comments() + reading_header_comments = False + continue + + s = str(bytes_mv[:bytes_read], "latin-1") + if not read_comment(s): + m = field.match(s) + if m: + k = m.group(1) + if k[:8] == "PS-Adobe": + self.info["PS-Adobe"] = k[9:] + else: + self.info[k] = "" + elif s[0] == "%": + # handle non-DSC PostScript comments that some + # tools mistakenly put in the Comments section + pass + else: + msg = "bad EPS header" + raise OSError(msg) + elif bytes_mv[:11] == b"%ImageData:": + # Check for an "ImageData" descriptor + # https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/#50577413_pgfId-1035096 + + # If we've already read an "ImageData" descriptor, + # don't read another one. + if imagedata_size: + bytes_read = 0 + continue + + # Values: + # columns + # rows + # bit depth (1 or 8) + # mode (1: L, 2: LAB, 3: RGB, 4: CMYK) + # number of padding channels + # block size (number of bytes per row per channel) + # binary/ascii (1: binary, 2: ascii) + # data start identifier (the image data follows after a single line + # consisting only of this quoted value) + image_data_values = byte_arr[11:bytes_read].split(None, 7) + columns, rows, bit_depth, mode_id = ( + int(value) for value in image_data_values[:4] + ) + + if bit_depth == 1: + self._mode = "1" + elif bit_depth == 8: + try: + self._mode = self.mode_map[mode_id] + except ValueError: + break + else: + break + + # Parse the columns and rows after checking the bit depth and mode + # in case the bit depth and/or mode are invalid. + imagedata_size = columns, rows + elif bytes_mv[:5] == b"%%EOF": + break + elif trailer_reached and reading_trailer_comments: + # Load EPS trailer + s = str(bytes_mv[:bytes_read], "latin-1") + read_comment(s) + elif bytes_mv[:9] == b"%%Trailer": + trailer_reached = True + bytes_read = 0 + + # A "BoundingBox" is always required, + # even if an "ImageData" descriptor size exists. + if not bounding_box: + msg = "cannot determine EPS bounding box" + raise OSError(msg) + + # An "ImageData" size takes precedence over the "BoundingBox". + self._size = imagedata_size or ( + bounding_box[2] - bounding_box[0], + bounding_box[3] - bounding_box[1], + ) + + self.tile = [ + ImageFile._Tile("eps", (0, 0) + self.size, offset, (length, bounding_box)) + ] + + def _find_offset(self, fp: IO[bytes]) -> tuple[int, int]: + s = fp.read(4) + + if s == b"%!PS": + # for HEAD without binary preview + fp.seek(0, io.SEEK_END) + length = fp.tell() + offset = 0 + elif i32(s) == 0xC6D3D0C5: + # FIX for: Some EPS file not handled correctly / issue #302 + # EPS can contain binary data + # or start directly with latin coding + # more info see: + # https://web.archive.org/web/20160528181353/http://partners.adobe.com/public/developer/en/ps/5002.EPSF_Spec.pdf + s = fp.read(8) + offset = i32(s) + length = i32(s, 4) + else: + msg = "not an EPS file" + raise SyntaxError(msg) + + return length, offset + + def load( + self, scale: int = 1, transparency: bool = False + ) -> Image.core.PixelAccess | None: + # Load EPS via Ghostscript + if self.tile: + self.im = Ghostscript(self.tile, self.size, self.fp, scale, transparency) + self._mode = self.im.mode + self._size = self.im.size + self.tile = [] + return Image.Image.load(self) + + def load_seek(self, pos: int) -> None: + # we can't incrementally load, so force ImageFile.parser to + # use our custom load method by defining this method. + pass + + +# -------------------------------------------------------------------- + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes, eps: int = 1) -> None: + """EPS Writer for the Python Imaging Library.""" + + # make sure image data is available + im.load() + + # determine PostScript image mode + if im.mode == "L": + operator = (8, 1, b"image") + elif im.mode == "RGB": + operator = (8, 3, b"false 3 colorimage") + elif im.mode == "CMYK": + operator = (8, 4, b"false 4 colorimage") + else: + msg = "image mode is not supported" + raise ValueError(msg) + + if eps: + # write EPS header + fp.write(b"%!PS-Adobe-3.0 EPSF-3.0\n") + fp.write(b"%%Creator: PIL 0.1 EpsEncode\n") + # fp.write("%%CreationDate: %s"...) + fp.write(b"%%%%BoundingBox: 0 0 %d %d\n" % im.size) + fp.write(b"%%Pages: 1\n") + fp.write(b"%%EndComments\n") + fp.write(b"%%Page: 1 1\n") + fp.write(b"%%ImageData: %d %d " % im.size) + fp.write(b'%d %d 0 1 1 "%s"\n' % operator) + + # image header + fp.write(b"gsave\n") + fp.write(b"10 dict begin\n") + fp.write(b"/buf %d string def\n" % (im.size[0] * operator[1])) + fp.write(b"%d %d scale\n" % im.size) + fp.write(b"%d %d 8\n" % im.size) # <= bits + fp.write(b"[%d 0 0 -%d 0 %d]\n" % (im.size[0], im.size[1], im.size[1])) + fp.write(b"{ currentfile buf readhexstring pop } bind\n") + fp.write(operator[2] + b"\n") + if hasattr(fp, "flush"): + fp.flush() + + ImageFile._save(im, fp, [ImageFile._Tile("eps", (0, 0) + im.size, 0, None)]) + + fp.write(b"\n%%%%EndBinary\n") + fp.write(b"grestore end\n") + if hasattr(fp, "flush"): + fp.flush() + + +# -------------------------------------------------------------------- + + +Image.register_open(EpsImageFile.format, EpsImageFile, _accept) + +Image.register_save(EpsImageFile.format, _save) + +Image.register_extensions(EpsImageFile.format, [".ps", ".eps"]) + +Image.register_mime(EpsImageFile.format, "application/postscript") diff --git a/venv/Lib/site-packages/PIL/ExifTags.py b/venv/Lib/site-packages/PIL/ExifTags.py new file mode 100644 index 00000000..39b4aa55 --- /dev/null +++ b/venv/Lib/site-packages/PIL/ExifTags.py @@ -0,0 +1,381 @@ +# +# The Python Imaging Library. +# $Id$ +# +# EXIF tags +# +# Copyright (c) 2003 by Secret Labs AB +# +# See the README file for information on usage and redistribution. +# + +""" +This module provides constants and clear-text names for various +well-known EXIF tags. +""" +from __future__ import annotations + +from enum import IntEnum + + +class Base(IntEnum): + # possibly incomplete + InteropIndex = 0x0001 + ProcessingSoftware = 0x000B + NewSubfileType = 0x00FE + SubfileType = 0x00FF + ImageWidth = 0x0100 + ImageLength = 0x0101 + BitsPerSample = 0x0102 + Compression = 0x0103 + PhotometricInterpretation = 0x0106 + Thresholding = 0x0107 + CellWidth = 0x0108 + CellLength = 0x0109 + FillOrder = 0x010A + DocumentName = 0x010D + ImageDescription = 0x010E + Make = 0x010F + Model = 0x0110 + StripOffsets = 0x0111 + Orientation = 0x0112 + SamplesPerPixel = 0x0115 + RowsPerStrip = 0x0116 + StripByteCounts = 0x0117 + MinSampleValue = 0x0118 + MaxSampleValue = 0x0119 + XResolution = 0x011A + YResolution = 0x011B + PlanarConfiguration = 0x011C + PageName = 0x011D + FreeOffsets = 0x0120 + FreeByteCounts = 0x0121 + GrayResponseUnit = 0x0122 + GrayResponseCurve = 0x0123 + T4Options = 0x0124 + T6Options = 0x0125 + ResolutionUnit = 0x0128 + PageNumber = 0x0129 + TransferFunction = 0x012D + Software = 0x0131 + DateTime = 0x0132 + Artist = 0x013B + HostComputer = 0x013C + Predictor = 0x013D + WhitePoint = 0x013E + PrimaryChromaticities = 0x013F + ColorMap = 0x0140 + HalftoneHints = 0x0141 + TileWidth = 0x0142 + TileLength = 0x0143 + TileOffsets = 0x0144 + TileByteCounts = 0x0145 + SubIFDs = 0x014A + InkSet = 0x014C + InkNames = 0x014D + NumberOfInks = 0x014E + DotRange = 0x0150 + TargetPrinter = 0x0151 + ExtraSamples = 0x0152 + SampleFormat = 0x0153 + SMinSampleValue = 0x0154 + SMaxSampleValue = 0x0155 + TransferRange = 0x0156 + ClipPath = 0x0157 + XClipPathUnits = 0x0158 + YClipPathUnits = 0x0159 + Indexed = 0x015A + JPEGTables = 0x015B + OPIProxy = 0x015F + JPEGProc = 0x0200 + JpegIFOffset = 0x0201 + JpegIFByteCount = 0x0202 + JpegRestartInterval = 0x0203 + JpegLosslessPredictors = 0x0205 + JpegPointTransforms = 0x0206 + JpegQTables = 0x0207 + JpegDCTables = 0x0208 + JpegACTables = 0x0209 + YCbCrCoefficients = 0x0211 + YCbCrSubSampling = 0x0212 + YCbCrPositioning = 0x0213 + ReferenceBlackWhite = 0x0214 + XMLPacket = 0x02BC + RelatedImageFileFormat = 0x1000 + RelatedImageWidth = 0x1001 + RelatedImageLength = 0x1002 + Rating = 0x4746 + RatingPercent = 0x4749 + ImageID = 0x800D + CFARepeatPatternDim = 0x828D + BatteryLevel = 0x828F + Copyright = 0x8298 + ExposureTime = 0x829A + FNumber = 0x829D + IPTCNAA = 0x83BB + ImageResources = 0x8649 + ExifOffset = 0x8769 + InterColorProfile = 0x8773 + ExposureProgram = 0x8822 + SpectralSensitivity = 0x8824 + GPSInfo = 0x8825 + ISOSpeedRatings = 0x8827 + OECF = 0x8828 + Interlace = 0x8829 + TimeZoneOffset = 0x882A + SelfTimerMode = 0x882B + SensitivityType = 0x8830 + StandardOutputSensitivity = 0x8831 + RecommendedExposureIndex = 0x8832 + ISOSpeed = 0x8833 + ISOSpeedLatitudeyyy = 0x8834 + ISOSpeedLatitudezzz = 0x8835 + ExifVersion = 0x9000 + DateTimeOriginal = 0x9003 + DateTimeDigitized = 0x9004 + OffsetTime = 0x9010 + OffsetTimeOriginal = 0x9011 + OffsetTimeDigitized = 0x9012 + ComponentsConfiguration = 0x9101 + CompressedBitsPerPixel = 0x9102 + ShutterSpeedValue = 0x9201 + ApertureValue = 0x9202 + BrightnessValue = 0x9203 + ExposureBiasValue = 0x9204 + MaxApertureValue = 0x9205 + SubjectDistance = 0x9206 + MeteringMode = 0x9207 + LightSource = 0x9208 + Flash = 0x9209 + FocalLength = 0x920A + Noise = 0x920D + ImageNumber = 0x9211 + SecurityClassification = 0x9212 + ImageHistory = 0x9213 + TIFFEPStandardID = 0x9216 + MakerNote = 0x927C + UserComment = 0x9286 + SubsecTime = 0x9290 + SubsecTimeOriginal = 0x9291 + SubsecTimeDigitized = 0x9292 + AmbientTemperature = 0x9400 + Humidity = 0x9401 + Pressure = 0x9402 + WaterDepth = 0x9403 + Acceleration = 0x9404 + CameraElevationAngle = 0x9405 + XPTitle = 0x9C9B + XPComment = 0x9C9C + XPAuthor = 0x9C9D + XPKeywords = 0x9C9E + XPSubject = 0x9C9F + FlashPixVersion = 0xA000 + ColorSpace = 0xA001 + ExifImageWidth = 0xA002 + ExifImageHeight = 0xA003 + RelatedSoundFile = 0xA004 + ExifInteroperabilityOffset = 0xA005 + FlashEnergy = 0xA20B + SpatialFrequencyResponse = 0xA20C + FocalPlaneXResolution = 0xA20E + FocalPlaneYResolution = 0xA20F + FocalPlaneResolutionUnit = 0xA210 + SubjectLocation = 0xA214 + ExposureIndex = 0xA215 + SensingMethod = 0xA217 + FileSource = 0xA300 + SceneType = 0xA301 + CFAPattern = 0xA302 + CustomRendered = 0xA401 + ExposureMode = 0xA402 + WhiteBalance = 0xA403 + DigitalZoomRatio = 0xA404 + FocalLengthIn35mmFilm = 0xA405 + SceneCaptureType = 0xA406 + GainControl = 0xA407 + Contrast = 0xA408 + Saturation = 0xA409 + Sharpness = 0xA40A + DeviceSettingDescription = 0xA40B + SubjectDistanceRange = 0xA40C + ImageUniqueID = 0xA420 + CameraOwnerName = 0xA430 + BodySerialNumber = 0xA431 + LensSpecification = 0xA432 + LensMake = 0xA433 + LensModel = 0xA434 + LensSerialNumber = 0xA435 + CompositeImage = 0xA460 + CompositeImageCount = 0xA461 + CompositeImageExposureTimes = 0xA462 + Gamma = 0xA500 + PrintImageMatching = 0xC4A5 + DNGVersion = 0xC612 + DNGBackwardVersion = 0xC613 + UniqueCameraModel = 0xC614 + LocalizedCameraModel = 0xC615 + CFAPlaneColor = 0xC616 + CFALayout = 0xC617 + LinearizationTable = 0xC618 + BlackLevelRepeatDim = 0xC619 + BlackLevel = 0xC61A + BlackLevelDeltaH = 0xC61B + BlackLevelDeltaV = 0xC61C + WhiteLevel = 0xC61D + DefaultScale = 0xC61E + DefaultCropOrigin = 0xC61F + DefaultCropSize = 0xC620 + ColorMatrix1 = 0xC621 + ColorMatrix2 = 0xC622 + CameraCalibration1 = 0xC623 + CameraCalibration2 = 0xC624 + ReductionMatrix1 = 0xC625 + ReductionMatrix2 = 0xC626 + AnalogBalance = 0xC627 + AsShotNeutral = 0xC628 + AsShotWhiteXY = 0xC629 + BaselineExposure = 0xC62A + BaselineNoise = 0xC62B + BaselineSharpness = 0xC62C + BayerGreenSplit = 0xC62D + LinearResponseLimit = 0xC62E + CameraSerialNumber = 0xC62F + LensInfo = 0xC630 + ChromaBlurRadius = 0xC631 + AntiAliasStrength = 0xC632 + ShadowScale = 0xC633 + DNGPrivateData = 0xC634 + MakerNoteSafety = 0xC635 + CalibrationIlluminant1 = 0xC65A + CalibrationIlluminant2 = 0xC65B + BestQualityScale = 0xC65C + RawDataUniqueID = 0xC65D + OriginalRawFileName = 0xC68B + OriginalRawFileData = 0xC68C + ActiveArea = 0xC68D + MaskedAreas = 0xC68E + AsShotICCProfile = 0xC68F + AsShotPreProfileMatrix = 0xC690 + CurrentICCProfile = 0xC691 + CurrentPreProfileMatrix = 0xC692 + ColorimetricReference = 0xC6BF + CameraCalibrationSignature = 0xC6F3 + ProfileCalibrationSignature = 0xC6F4 + AsShotProfileName = 0xC6F6 + NoiseReductionApplied = 0xC6F7 + ProfileName = 0xC6F8 + ProfileHueSatMapDims = 0xC6F9 + ProfileHueSatMapData1 = 0xC6FA + ProfileHueSatMapData2 = 0xC6FB + ProfileToneCurve = 0xC6FC + ProfileEmbedPolicy = 0xC6FD + ProfileCopyright = 0xC6FE + ForwardMatrix1 = 0xC714 + ForwardMatrix2 = 0xC715 + PreviewApplicationName = 0xC716 + PreviewApplicationVersion = 0xC717 + PreviewSettingsName = 0xC718 + PreviewSettingsDigest = 0xC719 + PreviewColorSpace = 0xC71A + PreviewDateTime = 0xC71B + RawImageDigest = 0xC71C + OriginalRawFileDigest = 0xC71D + SubTileBlockSize = 0xC71E + RowInterleaveFactor = 0xC71F + ProfileLookTableDims = 0xC725 + ProfileLookTableData = 0xC726 + OpcodeList1 = 0xC740 + OpcodeList2 = 0xC741 + OpcodeList3 = 0xC74E + NoiseProfile = 0xC761 + + +"""Maps EXIF tags to tag names.""" +TAGS = { + **{i.value: i.name for i in Base}, + 0x920C: "SpatialFrequencyResponse", + 0x9214: "SubjectLocation", + 0x9215: "ExposureIndex", + 0x828E: "CFAPattern", + 0x920B: "FlashEnergy", + 0x9216: "TIFF/EPStandardID", +} + + +class GPS(IntEnum): + GPSVersionID = 0 + GPSLatitudeRef = 1 + GPSLatitude = 2 + GPSLongitudeRef = 3 + GPSLongitude = 4 + GPSAltitudeRef = 5 + GPSAltitude = 6 + GPSTimeStamp = 7 + GPSSatellites = 8 + GPSStatus = 9 + GPSMeasureMode = 10 + GPSDOP = 11 + GPSSpeedRef = 12 + GPSSpeed = 13 + GPSTrackRef = 14 + GPSTrack = 15 + GPSImgDirectionRef = 16 + GPSImgDirection = 17 + GPSMapDatum = 18 + GPSDestLatitudeRef = 19 + GPSDestLatitude = 20 + GPSDestLongitudeRef = 21 + GPSDestLongitude = 22 + GPSDestBearingRef = 23 + GPSDestBearing = 24 + GPSDestDistanceRef = 25 + GPSDestDistance = 26 + GPSProcessingMethod = 27 + GPSAreaInformation = 28 + GPSDateStamp = 29 + GPSDifferential = 30 + GPSHPositioningError = 31 + + +"""Maps EXIF GPS tags to tag names.""" +GPSTAGS = {i.value: i.name for i in GPS} + + +class Interop(IntEnum): + InteropIndex = 1 + InteropVersion = 2 + RelatedImageFileFormat = 4096 + RelatedImageWidth = 4097 + RelatedImageHeight = 4098 + + +class IFD(IntEnum): + Exif = 34665 + GPSInfo = 34853 + Makernote = 37500 + Interop = 40965 + IFD1 = -1 + + +class LightSource(IntEnum): + Unknown = 0 + Daylight = 1 + Fluorescent = 2 + Tungsten = 3 + Flash = 4 + Fine = 9 + Cloudy = 10 + Shade = 11 + DaylightFluorescent = 12 + DayWhiteFluorescent = 13 + CoolWhiteFluorescent = 14 + WhiteFluorescent = 15 + StandardLightA = 17 + StandardLightB = 18 + StandardLightC = 19 + D55 = 20 + D65 = 21 + D75 = 22 + D50 = 23 + ISO = 24 + Other = 255 diff --git a/venv/Lib/site-packages/PIL/FitsImagePlugin.py b/venv/Lib/site-packages/PIL/FitsImagePlugin.py new file mode 100644 index 00000000..6bbd2641 --- /dev/null +++ b/venv/Lib/site-packages/PIL/FitsImagePlugin.py @@ -0,0 +1,152 @@ +# +# The Python Imaging Library +# $Id$ +# +# FITS file handling +# +# Copyright (c) 1998-2003 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import gzip +import math + +from . import Image, ImageFile + + +def _accept(prefix: bytes) -> bool: + return prefix[:6] == b"SIMPLE" + + +class FitsImageFile(ImageFile.ImageFile): + format = "FITS" + format_description = "FITS" + + def _open(self) -> None: + assert self.fp is not None + + headers: dict[bytes, bytes] = {} + header_in_progress = False + decoder_name = "" + while True: + header = self.fp.read(80) + if not header: + msg = "Truncated FITS file" + raise OSError(msg) + keyword = header[:8].strip() + if keyword in (b"SIMPLE", b"XTENSION"): + header_in_progress = True + elif headers and not header_in_progress: + # This is now a data unit + break + elif keyword == b"END": + # Seek to the end of the header unit + self.fp.seek(math.ceil(self.fp.tell() / 2880) * 2880) + if not decoder_name: + decoder_name, offset, args = self._parse_headers(headers) + + header_in_progress = False + continue + + if decoder_name: + # Keep going to read past the headers + continue + + value = header[8:].split(b"/")[0].strip() + if value.startswith(b"="): + value = value[1:].strip() + if not headers and (not _accept(keyword) or value != b"T"): + msg = "Not a FITS file" + raise SyntaxError(msg) + headers[keyword] = value + + if not decoder_name: + msg = "No image data" + raise ValueError(msg) + + offset += self.fp.tell() - 80 + self.tile = [ImageFile._Tile(decoder_name, (0, 0) + self.size, offset, args)] + + def _get_size( + self, headers: dict[bytes, bytes], prefix: bytes + ) -> tuple[int, int] | None: + naxis = int(headers[prefix + b"NAXIS"]) + if naxis == 0: + return None + + if naxis == 1: + return 1, int(headers[prefix + b"NAXIS1"]) + else: + return int(headers[prefix + b"NAXIS1"]), int(headers[prefix + b"NAXIS2"]) + + def _parse_headers( + self, headers: dict[bytes, bytes] + ) -> tuple[str, int, tuple[str | int, ...]]: + prefix = b"" + decoder_name = "raw" + offset = 0 + if ( + headers.get(b"XTENSION") == b"'BINTABLE'" + and headers.get(b"ZIMAGE") == b"T" + and headers[b"ZCMPTYPE"] == b"'GZIP_1 '" + ): + no_prefix_size = self._get_size(headers, prefix) or (0, 0) + number_of_bits = int(headers[b"BITPIX"]) + offset = no_prefix_size[0] * no_prefix_size[1] * (number_of_bits // 8) + + prefix = b"Z" + decoder_name = "fits_gzip" + + size = self._get_size(headers, prefix) + if not size: + return "", 0, () + + self._size = size + + number_of_bits = int(headers[prefix + b"BITPIX"]) + if number_of_bits == 8: + self._mode = "L" + elif number_of_bits == 16: + self._mode = "I;16" + elif number_of_bits == 32: + self._mode = "I" + elif number_of_bits in (-32, -64): + self._mode = "F" + + args: tuple[str | int, ...] + if decoder_name == "raw": + args = (self.mode, 0, -1) + else: + args = (number_of_bits,) + return decoder_name, offset, args + + +class FitsGzipDecoder(ImageFile.PyDecoder): + _pulls_fd = True + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + assert self.fd is not None + value = gzip.decompress(self.fd.read()) + + rows = [] + offset = 0 + number_of_bits = min(self.args[0] // 8, 4) + for y in range(self.state.ysize): + row = bytearray() + for x in range(self.state.xsize): + row += value[offset + (4 - number_of_bits) : offset + 4] + offset += 4 + rows.append(row) + self.set_as_raw(bytes([pixel for row in rows[::-1] for pixel in row])) + return -1, 0 + + +# -------------------------------------------------------------------- +# Registry + +Image.register_open(FitsImageFile.format, FitsImageFile, _accept) +Image.register_decoder("fits_gzip", FitsGzipDecoder) + +Image.register_extensions(FitsImageFile.format, [".fit", ".fits"]) diff --git a/venv/Lib/site-packages/PIL/FliImagePlugin.py b/venv/Lib/site-packages/PIL/FliImagePlugin.py new file mode 100644 index 00000000..666390be --- /dev/null +++ b/venv/Lib/site-packages/PIL/FliImagePlugin.py @@ -0,0 +1,175 @@ +# +# The Python Imaging Library. +# $Id$ +# +# FLI/FLC file handling. +# +# History: +# 95-09-01 fl Created +# 97-01-03 fl Fixed parser, setup decoder tile +# 98-07-15 fl Renamed offset attribute to avoid name clash +# +# Copyright (c) Secret Labs AB 1997-98. +# Copyright (c) Fredrik Lundh 1995-97. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import os + +from . import Image, ImageFile, ImagePalette +from ._binary import i16le as i16 +from ._binary import i32le as i32 +from ._binary import o8 + +# +# decoder + + +def _accept(prefix: bytes) -> bool: + return ( + len(prefix) >= 6 + and i16(prefix, 4) in [0xAF11, 0xAF12] + and i16(prefix, 14) in [0, 3] # flags + ) + + +## +# Image plugin for the FLI/FLC animation format. Use the seek +# method to load individual frames. + + +class FliImageFile(ImageFile.ImageFile): + format = "FLI" + format_description = "Autodesk FLI/FLC Animation" + _close_exclusive_fp_after_loading = False + + def _open(self) -> None: + # HEAD + s = self.fp.read(128) + if not (_accept(s) and s[20:22] == b"\x00\x00"): + msg = "not an FLI/FLC file" + raise SyntaxError(msg) + + # frames + self.n_frames = i16(s, 6) + self.is_animated = self.n_frames > 1 + + # image characteristics + self._mode = "P" + self._size = i16(s, 8), i16(s, 10) + + # animation speed + duration = i32(s, 16) + magic = i16(s, 4) + if magic == 0xAF11: + duration = (duration * 1000) // 70 + self.info["duration"] = duration + + # look for palette + palette = [(a, a, a) for a in range(256)] + + s = self.fp.read(16) + + self.__offset = 128 + + if i16(s, 4) == 0xF100: + # prefix chunk; ignore it + self.__offset = self.__offset + i32(s) + self.fp.seek(self.__offset) + s = self.fp.read(16) + + if i16(s, 4) == 0xF1FA: + # look for palette chunk + number_of_subchunks = i16(s, 6) + chunk_size: int | None = None + for _ in range(number_of_subchunks): + if chunk_size is not None: + self.fp.seek(chunk_size - 6, os.SEEK_CUR) + s = self.fp.read(6) + chunk_type = i16(s, 4) + if chunk_type in (4, 11): + self._palette(palette, 2 if chunk_type == 11 else 0) + break + chunk_size = i32(s) + if not chunk_size: + break + + self.palette = ImagePalette.raw( + "RGB", b"".join(o8(r) + o8(g) + o8(b) for (r, g, b) in palette) + ) + + # set things up to decode first frame + self.__frame = -1 + self._fp = self.fp + self.__rewind = self.fp.tell() + self.seek(0) + + def _palette(self, palette: list[tuple[int, int, int]], shift: int) -> None: + # load palette + + i = 0 + for e in range(i16(self.fp.read(2))): + s = self.fp.read(2) + i = i + s[0] + n = s[1] + if n == 0: + n = 256 + s = self.fp.read(n * 3) + for n in range(0, len(s), 3): + r = s[n] << shift + g = s[n + 1] << shift + b = s[n + 2] << shift + palette[i] = (r, g, b) + i += 1 + + def seek(self, frame: int) -> None: + if not self._seek_check(frame): + return + if frame < self.__frame: + self._seek(0) + + for f in range(self.__frame + 1, frame + 1): + self._seek(f) + + def _seek(self, frame: int) -> None: + if frame == 0: + self.__frame = -1 + self._fp.seek(self.__rewind) + self.__offset = 128 + else: + # ensure that the previous frame was loaded + self.load() + + if frame != self.__frame + 1: + msg = f"cannot seek to frame {frame}" + raise ValueError(msg) + self.__frame = frame + + # move to next frame + self.fp = self._fp + self.fp.seek(self.__offset) + + s = self.fp.read(4) + if not s: + msg = "missing frame size" + raise EOFError(msg) + + framesize = i32(s) + + self.decodermaxblock = framesize + self.tile = [ImageFile._Tile("fli", (0, 0) + self.size, self.__offset, None)] + + self.__offset += framesize + + def tell(self) -> int: + return self.__frame + + +# +# registry + +Image.register_open(FliImageFile.format, FliImageFile, _accept) + +Image.register_extensions(FliImageFile.format, [".fli", ".flc"]) diff --git a/venv/Lib/site-packages/PIL/FontFile.py b/venv/Lib/site-packages/PIL/FontFile.py new file mode 100644 index 00000000..1e0c1c16 --- /dev/null +++ b/venv/Lib/site-packages/PIL/FontFile.py @@ -0,0 +1,134 @@ +# +# The Python Imaging Library +# $Id$ +# +# base class for raster font file parsers +# +# history: +# 1997-06-05 fl created +# 1997-08-19 fl restrict image width +# +# Copyright (c) 1997-1998 by Secret Labs AB +# Copyright (c) 1997-1998 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import os +from typing import BinaryIO + +from . import Image, _binary + +WIDTH = 800 + + +def puti16( + fp: BinaryIO, values: tuple[int, int, int, int, int, int, int, int, int, int] +) -> None: + """Write network order (big-endian) 16-bit sequence""" + for v in values: + if v < 0: + v += 65536 + fp.write(_binary.o16be(v)) + + +class FontFile: + """Base class for raster font file handlers.""" + + bitmap: Image.Image | None = None + + def __init__(self) -> None: + self.info: dict[bytes, bytes | int] = {} + self.glyph: list[ + tuple[ + tuple[int, int], + tuple[int, int, int, int], + tuple[int, int, int, int], + Image.Image, + ] + | None + ] = [None] * 256 + + def __getitem__(self, ix: int) -> ( + tuple[ + tuple[int, int], + tuple[int, int, int, int], + tuple[int, int, int, int], + Image.Image, + ] + | None + ): + return self.glyph[ix] + + def compile(self) -> None: + """Create metrics and bitmap""" + + if self.bitmap: + return + + # create bitmap large enough to hold all data + h = w = maxwidth = 0 + lines = 1 + for glyph in self.glyph: + if glyph: + d, dst, src, im = glyph + h = max(h, src[3] - src[1]) + w = w + (src[2] - src[0]) + if w > WIDTH: + lines += 1 + w = src[2] - src[0] + maxwidth = max(maxwidth, w) + + xsize = maxwidth + ysize = lines * h + + if xsize == 0 and ysize == 0: + return + + self.ysize = h + + # paste glyphs into bitmap + self.bitmap = Image.new("1", (xsize, ysize)) + self.metrics: list[ + tuple[tuple[int, int], tuple[int, int, int, int], tuple[int, int, int, int]] + | None + ] = [None] * 256 + x = y = 0 + for i in range(256): + glyph = self[i] + if glyph: + d, dst, src, im = glyph + xx = src[2] - src[0] + x0, y0 = x, y + x = x + xx + if x > WIDTH: + x, y = 0, y + h + x0, y0 = x, y + x = xx + s = src[0] + x0, src[1] + y0, src[2] + x0, src[3] + y0 + self.bitmap.paste(im.crop(src), s) + self.metrics[i] = d, dst, s + + def save(self, filename: str) -> None: + """Save font""" + + self.compile() + + # font data + if not self.bitmap: + msg = "No bitmap created" + raise ValueError(msg) + self.bitmap.save(os.path.splitext(filename)[0] + ".pbm", "PNG") + + # font metrics + with open(os.path.splitext(filename)[0] + ".pil", "wb") as fp: + fp.write(b"PILfont\n") + fp.write(f";;;;;;{self.ysize};\n".encode("ascii")) # HACK!!! + fp.write(b"DATA\n") + for id in range(256): + m = self.metrics[id] + if not m: + puti16(fp, (0,) * 10) + else: + puti16(fp, m[0] + m[1] + m[2]) diff --git a/venv/Lib/site-packages/PIL/FpxImagePlugin.py b/venv/Lib/site-packages/PIL/FpxImagePlugin.py new file mode 100644 index 00000000..8fef5107 --- /dev/null +++ b/venv/Lib/site-packages/PIL/FpxImagePlugin.py @@ -0,0 +1,257 @@ +# +# THIS IS WORK IN PROGRESS +# +# The Python Imaging Library. +# $Id$ +# +# FlashPix support for PIL +# +# History: +# 97-01-25 fl Created (reads uncompressed RGB images only) +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1997. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import olefile + +from . import Image, ImageFile +from ._binary import i32le as i32 + +# we map from colour field tuples to (mode, rawmode) descriptors +MODES = { + # opacity + (0x00007FFE,): ("A", "L"), + # monochrome + (0x00010000,): ("L", "L"), + (0x00018000, 0x00017FFE): ("RGBA", "LA"), + # photo YCC + (0x00020000, 0x00020001, 0x00020002): ("RGB", "YCC;P"), + (0x00028000, 0x00028001, 0x00028002, 0x00027FFE): ("RGBA", "YCCA;P"), + # standard RGB (NIFRGB) + (0x00030000, 0x00030001, 0x00030002): ("RGB", "RGB"), + (0x00038000, 0x00038001, 0x00038002, 0x00037FFE): ("RGBA", "RGBA"), +} + + +# +# -------------------------------------------------------------------- + + +def _accept(prefix: bytes) -> bool: + return prefix[:8] == olefile.MAGIC + + +## +# Image plugin for the FlashPix images. + + +class FpxImageFile(ImageFile.ImageFile): + format = "FPX" + format_description = "FlashPix" + + def _open(self) -> None: + # + # read the OLE directory and see if this is a likely + # to be a FlashPix file + + try: + self.ole = olefile.OleFileIO(self.fp) + except OSError as e: + msg = "not an FPX file; invalid OLE file" + raise SyntaxError(msg) from e + + root = self.ole.root + if not root or root.clsid != "56616700-C154-11CE-8553-00AA00A1F95B": + msg = "not an FPX file; bad root CLSID" + raise SyntaxError(msg) + + self._open_index(1) + + def _open_index(self, index: int = 1) -> None: + # + # get the Image Contents Property Set + + prop = self.ole.getproperties( + [f"Data Object Store {index:06d}", "\005Image Contents"] + ) + + # size (highest resolution) + + assert isinstance(prop[0x1000002], int) + assert isinstance(prop[0x1000003], int) + self._size = prop[0x1000002], prop[0x1000003] + + size = max(self.size) + i = 1 + while size > 64: + size = size // 2 + i += 1 + self.maxid = i - 1 + + # mode. instead of using a single field for this, flashpix + # requires you to specify the mode for each channel in each + # resolution subimage, and leaves it to the decoder to make + # sure that they all match. for now, we'll cheat and assume + # that this is always the case. + + id = self.maxid << 16 + + s = prop[0x2000002 | id] + + if not isinstance(s, bytes) or (bands := i32(s, 4)) > 4: + msg = "Invalid number of bands" + raise OSError(msg) + + # note: for now, we ignore the "uncalibrated" flag + colors = tuple(i32(s, 8 + i * 4) & 0x7FFFFFFF for i in range(bands)) + + self._mode, self.rawmode = MODES[colors] + + # load JPEG tables, if any + self.jpeg = {} + for i in range(256): + id = 0x3000001 | (i << 16) + if id in prop: + self.jpeg[i] = prop[id] + + self._open_subimage(1, self.maxid) + + def _open_subimage(self, index: int = 1, subimage: int = 0) -> None: + # + # setup tile descriptors for a given subimage + + stream = [ + f"Data Object Store {index:06d}", + f"Resolution {subimage:04d}", + "Subimage 0000 Header", + ] + + fp = self.ole.openstream(stream) + + # skip prefix + fp.read(28) + + # header stream + s = fp.read(36) + + size = i32(s, 4), i32(s, 8) + # tilecount = i32(s, 12) + tilesize = i32(s, 16), i32(s, 20) + # channels = i32(s, 24) + offset = i32(s, 28) + length = i32(s, 32) + + if size != self.size: + msg = "subimage mismatch" + raise OSError(msg) + + # get tile descriptors + fp.seek(28 + offset) + s = fp.read(i32(s, 12) * length) + + x = y = 0 + xsize, ysize = size + xtile, ytile = tilesize + self.tile = [] + + for i in range(0, len(s), length): + x1 = min(xsize, x + xtile) + y1 = min(ysize, y + ytile) + + compression = i32(s, i + 8) + + if compression == 0: + self.tile.append( + ImageFile._Tile( + "raw", + (x, y, x1, y1), + i32(s, i) + 28, + (self.rawmode,), + ) + ) + + elif compression == 1: + # FIXME: the fill decoder is not implemented + self.tile.append( + ImageFile._Tile( + "fill", + (x, y, x1, y1), + i32(s, i) + 28, + (self.rawmode, s[12:16]), + ) + ) + + elif compression == 2: + internal_color_conversion = s[14] + jpeg_tables = s[15] + rawmode = self.rawmode + + if internal_color_conversion: + # The image is stored as usual (usually YCbCr). + if rawmode == "RGBA": + # For "RGBA", data is stored as YCbCrA based on + # negative RGB. The following trick works around + # this problem : + jpegmode, rawmode = "YCbCrK", "CMYK" + else: + jpegmode = None # let the decoder decide + + else: + # The image is stored as defined by rawmode + jpegmode = rawmode + + self.tile.append( + ImageFile._Tile( + "jpeg", + (x, y, x1, y1), + i32(s, i) + 28, + (rawmode, jpegmode), + ) + ) + + # FIXME: jpeg tables are tile dependent; the prefix + # data must be placed in the tile descriptor itself! + + if jpeg_tables: + self.tile_prefix = self.jpeg[jpeg_tables] + + else: + msg = "unknown/invalid compression" + raise OSError(msg) + + x = x + xtile + if x >= xsize: + x, y = 0, y + ytile + if y >= ysize: + break # isn't really required + + self.stream = stream + self._fp = self.fp + self.fp = None + + def load(self) -> Image.core.PixelAccess | None: + if not self.fp: + self.fp = self.ole.openstream(self.stream[:2] + ["Subimage 0000 Data"]) + + return ImageFile.ImageFile.load(self) + + def close(self) -> None: + self.ole.close() + super().close() + + def __exit__(self, *args: object) -> None: + self.ole.close() + super().__exit__() + + +# +# -------------------------------------------------------------------- + + +Image.register_open(FpxImageFile.format, FpxImageFile, _accept) + +Image.register_extension(FpxImageFile.format, ".fpx") diff --git a/venv/Lib/site-packages/PIL/FtexImagePlugin.py b/venv/Lib/site-packages/PIL/FtexImagePlugin.py new file mode 100644 index 00000000..ddb469bc --- /dev/null +++ b/venv/Lib/site-packages/PIL/FtexImagePlugin.py @@ -0,0 +1,115 @@ +""" +A Pillow loader for .ftc and .ftu files (FTEX) +Jerome Leclanche + +The contents of this file are hereby released in the public domain (CC0) +Full text of the CC0 license: + https://creativecommons.org/publicdomain/zero/1.0/ + +Independence War 2: Edge Of Chaos - Texture File Format - 16 October 2001 + +The textures used for 3D objects in Independence War 2: Edge Of Chaos are in a +packed custom format called FTEX. This file format uses file extensions FTC +and FTU. +* FTC files are compressed textures (using standard texture compression). +* FTU files are not compressed. +Texture File Format +The FTC and FTU texture files both use the same format. This +has the following structure: +{header} +{format_directory} +{data} +Where: +{header} = { + u32:magic, + u32:version, + u32:width, + u32:height, + u32:mipmap_count, + u32:format_count +} + +* The "magic" number is "FTEX". +* "width" and "height" are the dimensions of the texture. +* "mipmap_count" is the number of mipmaps in the texture. +* "format_count" is the number of texture formats (different versions of the +same texture) in this file. + +{format_directory} = format_count * { u32:format, u32:where } + +The format value is 0 for DXT1 compressed textures and 1 for 24-bit RGB +uncompressed textures. +The texture data for a format starts at the position "where" in the file. + +Each set of texture data in the file has the following structure: +{data} = format_count * { u32:mipmap_size, mipmap_size * { u8 } } +* "mipmap_size" is the number of bytes in that mip level. For compressed +textures this is the size of the texture data compressed with DXT1. For 24 bit +uncompressed textures, this is 3 * width * height. Following this are the image +bytes for that mipmap level. + +Note: All data is stored in little-Endian (Intel) byte order. +""" + +from __future__ import annotations + +import struct +from enum import IntEnum +from io import BytesIO + +from . import Image, ImageFile + +MAGIC = b"FTEX" + + +class Format(IntEnum): + DXT1 = 0 + UNCOMPRESSED = 1 + + +class FtexImageFile(ImageFile.ImageFile): + format = "FTEX" + format_description = "Texture File Format (IW2:EOC)" + + def _open(self) -> None: + if not _accept(self.fp.read(4)): + msg = "not an FTEX file" + raise SyntaxError(msg) + struct.unpack(" None: + pass + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] == MAGIC + + +Image.register_open(FtexImageFile.format, FtexImageFile, _accept) +Image.register_extensions(FtexImageFile.format, [".ftc", ".ftu"]) diff --git a/venv/Lib/site-packages/PIL/GbrImagePlugin.py b/venv/Lib/site-packages/PIL/GbrImagePlugin.py new file mode 100644 index 00000000..f319d7e8 --- /dev/null +++ b/venv/Lib/site-packages/PIL/GbrImagePlugin.py @@ -0,0 +1,103 @@ +# +# The Python Imaging Library +# +# load a GIMP brush file +# +# History: +# 96-03-14 fl Created +# 16-01-08 es Version 2 +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1996. +# Copyright (c) Eric Soroos 2016. +# +# See the README file for information on usage and redistribution. +# +# +# See https://github.com/GNOME/gimp/blob/mainline/devel-docs/gbr.txt for +# format documentation. +# +# This code Interprets version 1 and 2 .gbr files. +# Version 1 files are obsolete, and should not be used for new +# brushes. +# Version 2 files are saved by GIMP v2.8 (at least) +# Version 3 files have a format specifier of 18 for 16bit floats in +# the color depth field. This is currently unsupported by Pillow. +from __future__ import annotations + +from . import Image, ImageFile +from ._binary import i32be as i32 + + +def _accept(prefix: bytes) -> bool: + return len(prefix) >= 8 and i32(prefix, 0) >= 20 and i32(prefix, 4) in (1, 2) + + +## +# Image plugin for the GIMP brush format. + + +class GbrImageFile(ImageFile.ImageFile): + format = "GBR" + format_description = "GIMP brush file" + + def _open(self) -> None: + header_size = i32(self.fp.read(4)) + if header_size < 20: + msg = "not a GIMP brush" + raise SyntaxError(msg) + version = i32(self.fp.read(4)) + if version not in (1, 2): + msg = f"Unsupported GIMP brush version: {version}" + raise SyntaxError(msg) + + width = i32(self.fp.read(4)) + height = i32(self.fp.read(4)) + color_depth = i32(self.fp.read(4)) + if width <= 0 or height <= 0: + msg = "not a GIMP brush" + raise SyntaxError(msg) + if color_depth not in (1, 4): + msg = f"Unsupported GIMP brush color depth: {color_depth}" + raise SyntaxError(msg) + + if version == 1: + comment_length = header_size - 20 + else: + comment_length = header_size - 28 + magic_number = self.fp.read(4) + if magic_number != b"GIMP": + msg = "not a GIMP brush, bad magic number" + raise SyntaxError(msg) + self.info["spacing"] = i32(self.fp.read(4)) + + comment = self.fp.read(comment_length)[:-1] + + if color_depth == 1: + self._mode = "L" + else: + self._mode = "RGBA" + + self._size = width, height + + self.info["comment"] = comment + + # Image might not be small + Image._decompression_bomb_check(self.size) + + # Data is an uncompressed block of w * h * bytes/pixel + self._data_size = width * height * color_depth + + def load(self) -> Image.core.PixelAccess | None: + if self._im is None: + self.im = Image.core.new(self.mode, self.size) + self.frombytes(self.fp.read(self._data_size)) + return Image.Image.load(self) + + +# +# registry + + +Image.register_open(GbrImageFile.format, GbrImageFile, _accept) +Image.register_extension(GbrImageFile.format, ".gbr") diff --git a/venv/Lib/site-packages/PIL/GdImageFile.py b/venv/Lib/site-packages/PIL/GdImageFile.py new file mode 100644 index 00000000..f1b4969f --- /dev/null +++ b/venv/Lib/site-packages/PIL/GdImageFile.py @@ -0,0 +1,102 @@ +# +# The Python Imaging Library. +# $Id$ +# +# GD file handling +# +# History: +# 1996-04-12 fl Created +# +# Copyright (c) 1997 by Secret Labs AB. +# Copyright (c) 1996 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# + + +""" +.. note:: + This format cannot be automatically recognized, so the + class is not registered for use with :py:func:`PIL.Image.open()`. To open a + gd file, use the :py:func:`PIL.GdImageFile.open()` function instead. + +.. warning:: + THE GD FORMAT IS NOT DESIGNED FOR DATA INTERCHANGE. This + implementation is provided for convenience and demonstrational + purposes only. +""" +from __future__ import annotations + +from typing import IO + +from . import ImageFile, ImagePalette, UnidentifiedImageError +from ._binary import i16be as i16 +from ._binary import i32be as i32 +from ._typing import StrOrBytesPath + + +class GdImageFile(ImageFile.ImageFile): + """ + Image plugin for the GD uncompressed format. Note that this format + is not supported by the standard :py:func:`PIL.Image.open()` function. To use + this plugin, you have to import the :py:mod:`PIL.GdImageFile` module and + use the :py:func:`PIL.GdImageFile.open()` function. + """ + + format = "GD" + format_description = "GD uncompressed images" + + def _open(self) -> None: + # Header + assert self.fp is not None + + s = self.fp.read(1037) + + if i16(s) not in [65534, 65535]: + msg = "Not a valid GD 2.x .gd file" + raise SyntaxError(msg) + + self._mode = "L" # FIXME: "P" + self._size = i16(s, 2), i16(s, 4) + + true_color = s[6] + true_color_offset = 2 if true_color else 0 + + # transparency index + tindex = i32(s, 7 + true_color_offset) + if tindex < 256: + self.info["transparency"] = tindex + + self.palette = ImagePalette.raw( + "XBGR", s[7 + true_color_offset + 4 : 7 + true_color_offset + 4 + 256 * 4] + ) + + self.tile = [ + ImageFile._Tile( + "raw", + (0, 0) + self.size, + 7 + true_color_offset + 4 + 256 * 4, + ("L", 0, 1), + ) + ] + + +def open(fp: StrOrBytesPath | IO[bytes], mode: str = "r") -> GdImageFile: + """ + Load texture from a GD image file. + + :param fp: GD file name, or an opened file handle. + :param mode: Optional mode. In this version, if the mode argument + is given, it must be "r". + :returns: An image instance. + :raises OSError: If the image could not be read. + """ + if mode != "r": + msg = "bad mode" + raise ValueError(msg) + + try: + return GdImageFile(fp) + except SyntaxError as e: + msg = "cannot identify this image file" + raise UnidentifiedImageError(msg) from e diff --git a/venv/Lib/site-packages/PIL/GifImagePlugin.py b/venv/Lib/site-packages/PIL/GifImagePlugin.py new file mode 100644 index 00000000..57c29179 --- /dev/null +++ b/venv/Lib/site-packages/PIL/GifImagePlugin.py @@ -0,0 +1,1197 @@ +# +# The Python Imaging Library. +# $Id$ +# +# GIF file handling +# +# History: +# 1995-09-01 fl Created +# 1996-12-14 fl Added interlace support +# 1996-12-30 fl Added animation support +# 1997-01-05 fl Added write support, fixed local colour map bug +# 1997-02-23 fl Make sure to load raster data in getdata() +# 1997-07-05 fl Support external decoder (0.4) +# 1998-07-09 fl Handle all modes when saving (0.5) +# 1998-07-15 fl Renamed offset attribute to avoid name clash +# 2001-04-16 fl Added rewind support (seek to frame 0) (0.6) +# 2001-04-17 fl Added palette optimization (0.7) +# 2002-06-06 fl Added transparency support for save (0.8) +# 2004-02-24 fl Disable interlacing for small images +# +# Copyright (c) 1997-2004 by Secret Labs AB +# Copyright (c) 1995-2004 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import itertools +import math +import os +import subprocess +from enum import IntEnum +from functools import cached_property +from typing import IO, TYPE_CHECKING, Any, Literal, NamedTuple, Union + +from . import ( + Image, + ImageChops, + ImageFile, + ImageMath, + ImageOps, + ImagePalette, + ImageSequence, +) +from ._binary import i16le as i16 +from ._binary import o8 +from ._binary import o16le as o16 + +if TYPE_CHECKING: + from . import _imaging + from ._typing import Buffer + + +class LoadingStrategy(IntEnum): + """.. versionadded:: 9.1.0""" + + RGB_AFTER_FIRST = 0 + RGB_AFTER_DIFFERENT_PALETTE_ONLY = 1 + RGB_ALWAYS = 2 + + +#: .. versionadded:: 9.1.0 +LOADING_STRATEGY = LoadingStrategy.RGB_AFTER_FIRST + +# -------------------------------------------------------------------- +# Identify/read GIF files + + +def _accept(prefix: bytes) -> bool: + return prefix[:6] in [b"GIF87a", b"GIF89a"] + + +## +# Image plugin for GIF images. This plugin supports both GIF87 and +# GIF89 images. + + +class GifImageFile(ImageFile.ImageFile): + format = "GIF" + format_description = "Compuserve GIF" + _close_exclusive_fp_after_loading = False + + global_palette = None + + def data(self) -> bytes | None: + s = self.fp.read(1) + if s and s[0]: + return self.fp.read(s[0]) + return None + + def _is_palette_needed(self, p: bytes) -> bool: + for i in range(0, len(p), 3): + if not (i // 3 == p[i] == p[i + 1] == p[i + 2]): + return True + return False + + def _open(self) -> None: + # Screen + s = self.fp.read(13) + if not _accept(s): + msg = "not a GIF file" + raise SyntaxError(msg) + + self.info["version"] = s[:6] + self._size = i16(s, 6), i16(s, 8) + self.tile = [] + flags = s[10] + bits = (flags & 7) + 1 + + if flags & 128: + # get global palette + self.info["background"] = s[11] + # check if palette contains colour indices + p = self.fp.read(3 << bits) + if self._is_palette_needed(p): + p = ImagePalette.raw("RGB", p) + self.global_palette = self.palette = p + + self._fp = self.fp # FIXME: hack + self.__rewind = self.fp.tell() + self._n_frames: int | None = None + self._seek(0) # get ready to read first frame + + @property + def n_frames(self) -> int: + if self._n_frames is None: + current = self.tell() + try: + while True: + self._seek(self.tell() + 1, False) + except EOFError: + self._n_frames = self.tell() + 1 + self.seek(current) + return self._n_frames + + @cached_property + def is_animated(self) -> bool: + if self._n_frames is not None: + return self._n_frames != 1 + + current = self.tell() + if current: + return True + + try: + self._seek(1, False) + is_animated = True + except EOFError: + is_animated = False + + self.seek(current) + return is_animated + + def seek(self, frame: int) -> None: + if not self._seek_check(frame): + return + if frame < self.__frame: + self._im = None + self._seek(0) + + last_frame = self.__frame + for f in range(self.__frame + 1, frame + 1): + try: + self._seek(f) + except EOFError as e: + self.seek(last_frame) + msg = "no more images in GIF file" + raise EOFError(msg) from e + + def _seek(self, frame: int, update_image: bool = True) -> None: + if frame == 0: + # rewind + self.__offset = 0 + self.dispose: _imaging.ImagingCore | None = None + self.__frame = -1 + self._fp.seek(self.__rewind) + self.disposal_method = 0 + if "comment" in self.info: + del self.info["comment"] + else: + # ensure that the previous frame was loaded + if self.tile and update_image: + self.load() + + if frame != self.__frame + 1: + msg = f"cannot seek to frame {frame}" + raise ValueError(msg) + + self.fp = self._fp + if self.__offset: + # backup to last frame + self.fp.seek(self.__offset) + while self.data(): + pass + self.__offset = 0 + + s = self.fp.read(1) + if not s or s == b";": + msg = "no more images in GIF file" + raise EOFError(msg) + + palette: ImagePalette.ImagePalette | Literal[False] | None = None + + info: dict[str, Any] = {} + frame_transparency = None + interlace = None + frame_dispose_extent = None + while True: + if not s: + s = self.fp.read(1) + if not s or s == b";": + break + + elif s == b"!": + # + # extensions + # + s = self.fp.read(1) + block = self.data() + if s[0] == 249 and block is not None: + # + # graphic control extension + # + flags = block[0] + if flags & 1: + frame_transparency = block[3] + info["duration"] = i16(block, 1) * 10 + + # disposal method - find the value of bits 4 - 6 + dispose_bits = 0b00011100 & flags + dispose_bits = dispose_bits >> 2 + if dispose_bits: + # only set the dispose if it is not + # unspecified. I'm not sure if this is + # correct, but it seems to prevent the last + # frame from looking odd for some animations + self.disposal_method = dispose_bits + elif s[0] == 254: + # + # comment extension + # + comment = b"" + + # Read this comment block + while block: + comment += block + block = self.data() + + if "comment" in info: + # If multiple comment blocks in frame, separate with \n + info["comment"] += b"\n" + comment + else: + info["comment"] = comment + s = None + continue + elif s[0] == 255 and frame == 0 and block is not None: + # + # application extension + # + info["extension"] = block, self.fp.tell() + if block[:11] == b"NETSCAPE2.0": + block = self.data() + if block and len(block) >= 3 and block[0] == 1: + self.info["loop"] = i16(block, 1) + while self.data(): + pass + + elif s == b",": + # + # local image + # + s = self.fp.read(9) + + # extent + x0, y0 = i16(s, 0), i16(s, 2) + x1, y1 = x0 + i16(s, 4), y0 + i16(s, 6) + if (x1 > self.size[0] or y1 > self.size[1]) and update_image: + self._size = max(x1, self.size[0]), max(y1, self.size[1]) + Image._decompression_bomb_check(self._size) + frame_dispose_extent = x0, y0, x1, y1 + flags = s[8] + + interlace = (flags & 64) != 0 + + if flags & 128: + bits = (flags & 7) + 1 + p = self.fp.read(3 << bits) + if self._is_palette_needed(p): + palette = ImagePalette.raw("RGB", p) + else: + palette = False + + # image data + bits = self.fp.read(1)[0] + self.__offset = self.fp.tell() + break + s = None + + if interlace is None: + msg = "image not found in GIF frame" + raise EOFError(msg) + + self.__frame = frame + if not update_image: + return + + self.tile = [] + + if self.dispose: + self.im.paste(self.dispose, self.dispose_extent) + + self._frame_palette = palette if palette is not None else self.global_palette + self._frame_transparency = frame_transparency + if frame == 0: + if self._frame_palette: + if LOADING_STRATEGY == LoadingStrategy.RGB_ALWAYS: + self._mode = "RGBA" if frame_transparency is not None else "RGB" + else: + self._mode = "P" + else: + self._mode = "L" + + if palette: + self.palette = palette + elif self.global_palette: + from copy import copy + + self.palette = copy(self.global_palette) + else: + self.palette = None + else: + if self.mode == "P": + if ( + LOADING_STRATEGY != LoadingStrategy.RGB_AFTER_DIFFERENT_PALETTE_ONLY + or palette + ): + if "transparency" in self.info: + self.im.putpalettealpha(self.info["transparency"], 0) + self.im = self.im.convert("RGBA", Image.Dither.FLOYDSTEINBERG) + self._mode = "RGBA" + del self.info["transparency"] + else: + self._mode = "RGB" + self.im = self.im.convert("RGB", Image.Dither.FLOYDSTEINBERG) + + def _rgb(color: int) -> tuple[int, int, int]: + if self._frame_palette: + if color * 3 + 3 > len(self._frame_palette.palette): + color = 0 + return tuple(self._frame_palette.palette[color * 3 : color * 3 + 3]) + else: + return (color, color, color) + + self.dispose = None + self.dispose_extent = frame_dispose_extent + if self.dispose_extent and self.disposal_method >= 2: + try: + if self.disposal_method == 2: + # replace with background colour + + # only dispose the extent in this frame + x0, y0, x1, y1 = self.dispose_extent + dispose_size = (x1 - x0, y1 - y0) + + Image._decompression_bomb_check(dispose_size) + + # by convention, attempt to use transparency first + dispose_mode = "P" + color = self.info.get("transparency", frame_transparency) + if color is not None: + if self.mode in ("RGB", "RGBA"): + dispose_mode = "RGBA" + color = _rgb(color) + (0,) + else: + color = self.info.get("background", 0) + if self.mode in ("RGB", "RGBA"): + dispose_mode = "RGB" + color = _rgb(color) + self.dispose = Image.core.fill(dispose_mode, dispose_size, color) + else: + # replace with previous contents + if self._im is not None: + # only dispose the extent in this frame + self.dispose = self._crop(self.im, self.dispose_extent) + elif frame_transparency is not None: + x0, y0, x1, y1 = self.dispose_extent + dispose_size = (x1 - x0, y1 - y0) + + Image._decompression_bomb_check(dispose_size) + dispose_mode = "P" + color = frame_transparency + if self.mode in ("RGB", "RGBA"): + dispose_mode = "RGBA" + color = _rgb(frame_transparency) + (0,) + self.dispose = Image.core.fill( + dispose_mode, dispose_size, color + ) + except AttributeError: + pass + + if interlace is not None: + transparency = -1 + if frame_transparency is not None: + if frame == 0: + if LOADING_STRATEGY != LoadingStrategy.RGB_ALWAYS: + self.info["transparency"] = frame_transparency + elif self.mode not in ("RGB", "RGBA"): + transparency = frame_transparency + self.tile = [ + ImageFile._Tile( + "gif", + (x0, y0, x1, y1), + self.__offset, + (bits, interlace, transparency), + ) + ] + + if info.get("comment"): + self.info["comment"] = info["comment"] + for k in ["duration", "extension"]: + if k in info: + self.info[k] = info[k] + elif k in self.info: + del self.info[k] + + def load_prepare(self) -> None: + temp_mode = "P" if self._frame_palette else "L" + self._prev_im = None + if self.__frame == 0: + if self._frame_transparency is not None: + self.im = Image.core.fill( + temp_mode, self.size, self._frame_transparency + ) + elif self.mode in ("RGB", "RGBA"): + self._prev_im = self.im + if self._frame_palette: + self.im = Image.core.fill("P", self.size, self._frame_transparency or 0) + self.im.putpalette("RGB", *self._frame_palette.getdata()) + else: + self._im = None + if not self._prev_im and self._im is not None and self.size != self.im.size: + expanded_im = Image.core.fill(self.im.mode, self.size) + if self._frame_palette: + expanded_im.putpalette("RGB", *self._frame_palette.getdata()) + expanded_im.paste(self.im, (0, 0) + self.im.size) + + self.im = expanded_im + self._mode = temp_mode + self._frame_palette = None + + super().load_prepare() + + def load_end(self) -> None: + if self.__frame == 0: + if self.mode == "P" and LOADING_STRATEGY == LoadingStrategy.RGB_ALWAYS: + if self._frame_transparency is not None: + self.im.putpalettealpha(self._frame_transparency, 0) + self._mode = "RGBA" + else: + self._mode = "RGB" + self.im = self.im.convert(self.mode, Image.Dither.FLOYDSTEINBERG) + return + if not self._prev_im: + return + if self.size != self._prev_im.size: + if self._frame_transparency is not None: + expanded_im = Image.core.fill("RGBA", self.size) + else: + expanded_im = Image.core.fill("P", self.size) + expanded_im.putpalette("RGB", "RGB", self.im.getpalette()) + expanded_im = expanded_im.convert("RGB") + expanded_im.paste(self._prev_im, (0, 0) + self._prev_im.size) + + self._prev_im = expanded_im + assert self._prev_im is not None + if self._frame_transparency is not None: + self.im.putpalettealpha(self._frame_transparency, 0) + frame_im = self.im.convert("RGBA") + else: + frame_im = self.im.convert("RGB") + + assert self.dispose_extent is not None + frame_im = self._crop(frame_im, self.dispose_extent) + + self.im = self._prev_im + self._mode = self.im.mode + if frame_im.mode == "RGBA": + self.im.paste(frame_im, self.dispose_extent, frame_im) + else: + self.im.paste(frame_im, self.dispose_extent) + + def tell(self) -> int: + return self.__frame + + +# -------------------------------------------------------------------- +# Write GIF files + + +RAWMODE = {"1": "L", "L": "L", "P": "P"} + + +def _normalize_mode(im: Image.Image) -> Image.Image: + """ + Takes an image (or frame), returns an image in a mode that is appropriate + for saving in a Gif. + + It may return the original image, or it may return an image converted to + palette or 'L' mode. + + :param im: Image object + :returns: Image object + """ + if im.mode in RAWMODE: + im.load() + return im + if Image.getmodebase(im.mode) == "RGB": + im = im.convert("P", palette=Image.Palette.ADAPTIVE) + assert im.palette is not None + if im.palette.mode == "RGBA": + for rgba in im.palette.colors: + if rgba[3] == 0: + im.info["transparency"] = im.palette.colors[rgba] + break + return im + return im.convert("L") + + +_Palette = Union[bytes, bytearray, list[int], ImagePalette.ImagePalette] + + +def _normalize_palette( + im: Image.Image, palette: _Palette | None, info: dict[str, Any] +) -> Image.Image: + """ + Normalizes the palette for image. + - Sets the palette to the incoming palette, if provided. + - Ensures that there's a palette for L mode images + - Optimizes the palette if necessary/desired. + + :param im: Image object + :param palette: bytes object containing the source palette, or .... + :param info: encoderinfo + :returns: Image object + """ + source_palette = None + if palette: + # a bytes palette + if isinstance(palette, (bytes, bytearray, list)): + source_palette = bytearray(palette[:768]) + if isinstance(palette, ImagePalette.ImagePalette): + source_palette = bytearray(palette.palette) + + if im.mode == "P": + if not source_palette: + im_palette = im.getpalette(None) + assert im_palette is not None + source_palette = bytearray(im_palette) + else: # L-mode + if not source_palette: + source_palette = bytearray(i // 3 for i in range(768)) + im.palette = ImagePalette.ImagePalette("RGB", palette=source_palette) + assert source_palette is not None + + if palette: + used_palette_colors: list[int | None] = [] + assert im.palette is not None + for i in range(0, len(source_palette), 3): + source_color = tuple(source_palette[i : i + 3]) + index = im.palette.colors.get(source_color) + if index in used_palette_colors: + index = None + used_palette_colors.append(index) + for i, index in enumerate(used_palette_colors): + if index is None: + for j in range(len(used_palette_colors)): + if j not in used_palette_colors: + used_palette_colors[i] = j + break + dest_map: list[int] = [] + for index in used_palette_colors: + assert index is not None + dest_map.append(index) + im = im.remap_palette(dest_map) + else: + optimized_palette_colors = _get_optimize(im, info) + if optimized_palette_colors is not None: + im = im.remap_palette(optimized_palette_colors, source_palette) + if "transparency" in info: + try: + info["transparency"] = optimized_palette_colors.index( + info["transparency"] + ) + except ValueError: + del info["transparency"] + return im + + assert im.palette is not None + im.palette.palette = source_palette + return im + + +def _write_single_frame( + im: Image.Image, + fp: IO[bytes], + palette: _Palette | None, +) -> None: + im_out = _normalize_mode(im) + for k, v in im_out.info.items(): + if isinstance(k, str): + im.encoderinfo.setdefault(k, v) + im_out = _normalize_palette(im_out, palette, im.encoderinfo) + + for s in _get_global_header(im_out, im.encoderinfo): + fp.write(s) + + # local image header + flags = 0 + if get_interlace(im): + flags = flags | 64 + _write_local_header(fp, im, (0, 0), flags) + + im_out.encoderconfig = (8, get_interlace(im)) + ImageFile._save( + im_out, fp, [ImageFile._Tile("gif", (0, 0) + im.size, 0, RAWMODE[im_out.mode])] + ) + + fp.write(b"\0") # end of image data + + +def _getbbox( + base_im: Image.Image, im_frame: Image.Image +) -> tuple[Image.Image, tuple[int, int, int, int] | None]: + palette_bytes = [ + bytes(im.palette.palette) if im.palette else b"" for im in (base_im, im_frame) + ] + if palette_bytes[0] != palette_bytes[1]: + im_frame = im_frame.convert("RGBA") + base_im = base_im.convert("RGBA") + delta = ImageChops.subtract_modulo(im_frame, base_im) + return delta, delta.getbbox(alpha_only=False) + + +class _Frame(NamedTuple): + im: Image.Image + bbox: tuple[int, int, int, int] | None + encoderinfo: dict[str, Any] + + +def _write_multiple_frames( + im: Image.Image, fp: IO[bytes], palette: _Palette | None +) -> bool: + duration = im.encoderinfo.get("duration") + disposal = im.encoderinfo.get("disposal", im.info.get("disposal")) + + im_frames: list[_Frame] = [] + previous_im: Image.Image | None = None + frame_count = 0 + background_im = None + for imSequence in itertools.chain([im], im.encoderinfo.get("append_images", [])): + for im_frame in ImageSequence.Iterator(imSequence): + # a copy is required here since seek can still mutate the image + im_frame = _normalize_mode(im_frame.copy()) + if frame_count == 0: + for k, v in im_frame.info.items(): + if k == "transparency": + continue + if isinstance(k, str): + im.encoderinfo.setdefault(k, v) + + encoderinfo = im.encoderinfo.copy() + if "transparency" in im_frame.info: + encoderinfo.setdefault("transparency", im_frame.info["transparency"]) + im_frame = _normalize_palette(im_frame, palette, encoderinfo) + if isinstance(duration, (list, tuple)): + encoderinfo["duration"] = duration[frame_count] + elif duration is None and "duration" in im_frame.info: + encoderinfo["duration"] = im_frame.info["duration"] + if isinstance(disposal, (list, tuple)): + encoderinfo["disposal"] = disposal[frame_count] + frame_count += 1 + + diff_frame = None + if im_frames and previous_im: + # delta frame + delta, bbox = _getbbox(previous_im, im_frame) + if not bbox: + # This frame is identical to the previous frame + if encoderinfo.get("duration"): + im_frames[-1].encoderinfo["duration"] += encoderinfo["duration"] + continue + if im_frames[-1].encoderinfo.get("disposal") == 2: + if background_im is None: + color = im.encoderinfo.get( + "transparency", im.info.get("transparency", (0, 0, 0)) + ) + background = _get_background(im_frame, color) + background_im = Image.new("P", im_frame.size, background) + assert im_frames[0].im.palette is not None + background_im.putpalette(im_frames[0].im.palette) + bbox = _getbbox(background_im, im_frame)[1] + elif encoderinfo.get("optimize") and im_frame.mode != "1": + if "transparency" not in encoderinfo: + assert im_frame.palette is not None + try: + encoderinfo["transparency"] = ( + im_frame.palette._new_color_index(im_frame) + ) + except ValueError: + pass + if "transparency" in encoderinfo: + # When the delta is zero, fill the image with transparency + diff_frame = im_frame.copy() + fill = Image.new("P", delta.size, encoderinfo["transparency"]) + if delta.mode == "RGBA": + r, g, b, a = delta.split() + mask = ImageMath.lambda_eval( + lambda args: args["convert"]( + args["max"]( + args["max"]( + args["max"](args["r"], args["g"]), args["b"] + ), + args["a"], + ) + * 255, + "1", + ), + r=r, + g=g, + b=b, + a=a, + ) + else: + if delta.mode == "P": + # Convert to L without considering palette + delta_l = Image.new("L", delta.size) + delta_l.putdata(delta.getdata()) + delta = delta_l + mask = ImageMath.lambda_eval( + lambda args: args["convert"](args["im"] * 255, "1"), + im=delta, + ) + diff_frame.paste(fill, mask=ImageOps.invert(mask)) + else: + bbox = None + previous_im = im_frame + im_frames.append(_Frame(diff_frame or im_frame, bbox, encoderinfo)) + + if len(im_frames) == 1: + if "duration" in im.encoderinfo: + # Since multiple frames will not be written, use the combined duration + im.encoderinfo["duration"] = im_frames[0].encoderinfo["duration"] + return False + + for frame_data in im_frames: + im_frame = frame_data.im + if not frame_data.bbox: + # global header + for s in _get_global_header(im_frame, frame_data.encoderinfo): + fp.write(s) + offset = (0, 0) + else: + # compress difference + if not palette: + frame_data.encoderinfo["include_color_table"] = True + + im_frame = im_frame.crop(frame_data.bbox) + offset = frame_data.bbox[:2] + _write_frame_data(fp, im_frame, offset, frame_data.encoderinfo) + return True + + +def _save_all(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + _save(im, fp, filename, save_all=True) + + +def _save( + im: Image.Image, fp: IO[bytes], filename: str | bytes, save_all: bool = False +) -> None: + # header + if "palette" in im.encoderinfo or "palette" in im.info: + palette = im.encoderinfo.get("palette", im.info.get("palette")) + else: + palette = None + im.encoderinfo.setdefault("optimize", True) + + if not save_all or not _write_multiple_frames(im, fp, palette): + _write_single_frame(im, fp, palette) + + fp.write(b";") # end of file + + if hasattr(fp, "flush"): + fp.flush() + + +def get_interlace(im: Image.Image) -> int: + interlace = im.encoderinfo.get("interlace", 1) + + # workaround for @PIL153 + if min(im.size) < 16: + interlace = 0 + + return interlace + + +def _write_local_header( + fp: IO[bytes], im: Image.Image, offset: tuple[int, int], flags: int +) -> None: + try: + transparency = im.encoderinfo["transparency"] + except KeyError: + transparency = None + + if "duration" in im.encoderinfo: + duration = int(im.encoderinfo["duration"] / 10) + else: + duration = 0 + + disposal = int(im.encoderinfo.get("disposal", 0)) + + if transparency is not None or duration != 0 or disposal: + packed_flag = 1 if transparency is not None else 0 + packed_flag |= disposal << 2 + + fp.write( + b"!" + + o8(249) # extension intro + + o8(4) # length + + o8(packed_flag) # packed fields + + o16(duration) # duration + + o8(transparency or 0) # transparency index + + o8(0) + ) + + include_color_table = im.encoderinfo.get("include_color_table") + if include_color_table: + palette_bytes = _get_palette_bytes(im) + color_table_size = _get_color_table_size(palette_bytes) + if color_table_size: + flags = flags | 128 # local color table flag + flags = flags | color_table_size + + fp.write( + b"," + + o16(offset[0]) # offset + + o16(offset[1]) + + o16(im.size[0]) # size + + o16(im.size[1]) + + o8(flags) # flags + ) + if include_color_table and color_table_size: + fp.write(_get_header_palette(palette_bytes)) + fp.write(o8(8)) # bits + + +def _save_netpbm(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + # Unused by default. + # To use, uncomment the register_save call at the end of the file. + # + # If you need real GIF compression and/or RGB quantization, you + # can use the external NETPBM/PBMPLUS utilities. See comments + # below for information on how to enable this. + tempfile = im._dump() + + try: + with open(filename, "wb") as f: + if im.mode != "RGB": + subprocess.check_call( + ["ppmtogif", tempfile], stdout=f, stderr=subprocess.DEVNULL + ) + else: + # Pipe ppmquant output into ppmtogif + # "ppmquant 256 %s | ppmtogif > %s" % (tempfile, filename) + quant_cmd = ["ppmquant", "256", tempfile] + togif_cmd = ["ppmtogif"] + quant_proc = subprocess.Popen( + quant_cmd, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL + ) + togif_proc = subprocess.Popen( + togif_cmd, + stdin=quant_proc.stdout, + stdout=f, + stderr=subprocess.DEVNULL, + ) + + # Allow ppmquant to receive SIGPIPE if ppmtogif exits + assert quant_proc.stdout is not None + quant_proc.stdout.close() + + retcode = quant_proc.wait() + if retcode: + raise subprocess.CalledProcessError(retcode, quant_cmd) + + retcode = togif_proc.wait() + if retcode: + raise subprocess.CalledProcessError(retcode, togif_cmd) + finally: + try: + os.unlink(tempfile) + except OSError: + pass + + +# Force optimization so that we can test performance against +# cases where it took lots of memory and time previously. +_FORCE_OPTIMIZE = False + + +def _get_optimize(im: Image.Image, info: dict[str, Any]) -> list[int] | None: + """ + Palette optimization is a potentially expensive operation. + + This function determines if the palette should be optimized using + some heuristics, then returns the list of palette entries in use. + + :param im: Image object + :param info: encoderinfo + :returns: list of indexes of palette entries in use, or None + """ + if im.mode in ("P", "L") and info and info.get("optimize"): + # Potentially expensive operation. + + # The palette saves 3 bytes per color not used, but palette + # lengths are restricted to 3*(2**N) bytes. Max saving would + # be 768 -> 6 bytes if we went all the way down to 2 colors. + # * If we're over 128 colors, we can't save any space. + # * If there aren't any holes, it's not worth collapsing. + # * If we have a 'large' image, the palette is in the noise. + + # create the new palette if not every color is used + optimise = _FORCE_OPTIMIZE or im.mode == "L" + if optimise or im.width * im.height < 512 * 512: + # check which colors are used + used_palette_colors = [] + for i, count in enumerate(im.histogram()): + if count: + used_palette_colors.append(i) + + if optimise or max(used_palette_colors) >= len(used_palette_colors): + return used_palette_colors + + assert im.palette is not None + num_palette_colors = len(im.palette.palette) // Image.getmodebands( + im.palette.mode + ) + current_palette_size = 1 << (num_palette_colors - 1).bit_length() + if ( + # check that the palette would become smaller when saved + len(used_palette_colors) <= current_palette_size // 2 + # check that the palette is not already the smallest possible size + and current_palette_size > 2 + ): + return used_palette_colors + return None + + +def _get_color_table_size(palette_bytes: bytes) -> int: + # calculate the palette size for the header + if not palette_bytes: + return 0 + elif len(palette_bytes) < 9: + return 1 + else: + return math.ceil(math.log(len(palette_bytes) // 3, 2)) - 1 + + +def _get_header_palette(palette_bytes: bytes) -> bytes: + """ + Returns the palette, null padded to the next power of 2 (*3) bytes + suitable for direct inclusion in the GIF header + + :param palette_bytes: Unpadded palette bytes, in RGBRGB form + :returns: Null padded palette + """ + color_table_size = _get_color_table_size(palette_bytes) + + # add the missing amount of bytes + # the palette has to be 2< 0: + palette_bytes += o8(0) * 3 * actual_target_size_diff + return palette_bytes + + +def _get_palette_bytes(im: Image.Image) -> bytes: + """ + Gets the palette for inclusion in the gif header + + :param im: Image object + :returns: Bytes, len<=768 suitable for inclusion in gif header + """ + if not im.palette: + return b"" + + palette = bytes(im.palette.palette) + if im.palette.mode == "RGBA": + palette = b"".join(palette[i * 4 : i * 4 + 3] for i in range(len(palette) // 3)) + return palette + + +def _get_background( + im: Image.Image, + info_background: int | tuple[int, int, int] | tuple[int, int, int, int] | None, +) -> int: + background = 0 + if info_background: + if isinstance(info_background, tuple): + # WebPImagePlugin stores an RGBA value in info["background"] + # So it must be converted to the same format as GifImagePlugin's + # info["background"] - a global color table index + assert im.palette is not None + try: + background = im.palette.getcolor(info_background, im) + except ValueError as e: + if str(e) not in ( + # If all 256 colors are in use, + # then there is no need for the background color + "cannot allocate more than 256 colors", + # Ignore non-opaque WebP background + "cannot add non-opaque RGBA color to RGB palette", + ): + raise + else: + background = info_background + return background + + +def _get_global_header(im: Image.Image, info: dict[str, Any]) -> list[bytes]: + """Return a list of strings representing a GIF header""" + + # Header Block + # https://www.matthewflickinger.com/lab/whatsinagif/bits_and_bytes.asp + + version = b"87a" + if im.info.get("version") == b"89a" or ( + info + and ( + "transparency" in info + or info.get("loop") is not None + or info.get("duration") + or info.get("comment") + ) + ): + version = b"89a" + + background = _get_background(im, info.get("background")) + + palette_bytes = _get_palette_bytes(im) + color_table_size = _get_color_table_size(palette_bytes) + + header = [ + b"GIF" # signature + + version # version + + o16(im.size[0]) # canvas width + + o16(im.size[1]), # canvas height + # Logical Screen Descriptor + # size of global color table + global color table flag + o8(color_table_size + 128), # packed fields + # background + reserved/aspect + o8(background) + o8(0), + # Global Color Table + _get_header_palette(palette_bytes), + ] + if info.get("loop") is not None: + header.append( + b"!" + + o8(255) # extension intro + + o8(11) + + b"NETSCAPE2.0" + + o8(3) + + o8(1) + + o16(info["loop"]) # number of loops + + o8(0) + ) + if info.get("comment"): + comment_block = b"!" + o8(254) # extension intro + + comment = info["comment"] + if isinstance(comment, str): + comment = comment.encode() + for i in range(0, len(comment), 255): + subblock = comment[i : i + 255] + comment_block += o8(len(subblock)) + subblock + + comment_block += o8(0) + header.append(comment_block) + return header + + +def _write_frame_data( + fp: IO[bytes], + im_frame: Image.Image, + offset: tuple[int, int], + params: dict[str, Any], +) -> None: + try: + im_frame.encoderinfo = params + + # local image header + _write_local_header(fp, im_frame, offset, 0) + + ImageFile._save( + im_frame, + fp, + [ImageFile._Tile("gif", (0, 0) + im_frame.size, 0, RAWMODE[im_frame.mode])], + ) + + fp.write(b"\0") # end of image data + finally: + del im_frame.encoderinfo + + +# -------------------------------------------------------------------- +# Legacy GIF utilities + + +def getheader( + im: Image.Image, palette: _Palette | None = None, info: dict[str, Any] | None = None +) -> tuple[list[bytes], list[int] | None]: + """ + Legacy Method to get Gif data from image. + + Warning:: May modify image data. + + :param im: Image object + :param palette: bytes object containing the source palette, or .... + :param info: encoderinfo + :returns: tuple of(list of header items, optimized palette) + + """ + if info is None: + info = {} + + used_palette_colors = _get_optimize(im, info) + + if "background" not in info and "background" in im.info: + info["background"] = im.info["background"] + + im_mod = _normalize_palette(im, palette, info) + im.palette = im_mod.palette + im.im = im_mod.im + header = _get_global_header(im, info) + + return header, used_palette_colors + + +def getdata( + im: Image.Image, offset: tuple[int, int] = (0, 0), **params: Any +) -> list[bytes]: + """ + Legacy Method + + Return a list of strings representing this image. + The first string is a local image header, the rest contains + encoded image data. + + To specify duration, add the time in milliseconds, + e.g. ``getdata(im_frame, duration=1000)`` + + :param im: Image object + :param offset: Tuple of (x, y) pixels. Defaults to (0, 0) + :param \\**params: e.g. duration or other encoder info parameters + :returns: List of bytes containing GIF encoded frame data + + """ + from io import BytesIO + + class Collector(BytesIO): + data = [] + + def write(self, data: Buffer) -> int: + self.data.append(data) + return len(data) + + im.load() # make sure raster data is available + + fp = Collector() + + _write_frame_data(fp, im, offset, params) + + return fp.data + + +# -------------------------------------------------------------------- +# Registry + +Image.register_open(GifImageFile.format, GifImageFile, _accept) +Image.register_save(GifImageFile.format, _save) +Image.register_save_all(GifImageFile.format, _save_all) +Image.register_extension(GifImageFile.format, ".gif") +Image.register_mime(GifImageFile.format, "image/gif") + +# +# Uncomment the following line if you wish to use NETPBM/PBMPLUS +# instead of the built-in "uncompressed" GIF encoder + +# Image.register_save(GifImageFile.format, _save_netpbm) diff --git a/venv/Lib/site-packages/PIL/GimpGradientFile.py b/venv/Lib/site-packages/PIL/GimpGradientFile.py new file mode 100644 index 00000000..220eac57 --- /dev/null +++ b/venv/Lib/site-packages/PIL/GimpGradientFile.py @@ -0,0 +1,149 @@ +# +# Python Imaging Library +# $Id$ +# +# stuff to read (and render) GIMP gradient files +# +# History: +# 97-08-23 fl Created +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1997. +# +# See the README file for information on usage and redistribution. +# + +""" +Stuff to translate curve segments to palette values (derived from +the corresponding code in GIMP, written by Federico Mena Quintero. +See the GIMP distribution for more information.) +""" +from __future__ import annotations + +from math import log, pi, sin, sqrt +from typing import IO, Callable + +from ._binary import o8 + +EPSILON = 1e-10 +"""""" # Enable auto-doc for data member + + +def linear(middle: float, pos: float) -> float: + if pos <= middle: + if middle < EPSILON: + return 0.0 + else: + return 0.5 * pos / middle + else: + pos = pos - middle + middle = 1.0 - middle + if middle < EPSILON: + return 1.0 + else: + return 0.5 + 0.5 * pos / middle + + +def curved(middle: float, pos: float) -> float: + return pos ** (log(0.5) / log(max(middle, EPSILON))) + + +def sine(middle: float, pos: float) -> float: + return (sin((-pi / 2.0) + pi * linear(middle, pos)) + 1.0) / 2.0 + + +def sphere_increasing(middle: float, pos: float) -> float: + return sqrt(1.0 - (linear(middle, pos) - 1.0) ** 2) + + +def sphere_decreasing(middle: float, pos: float) -> float: + return 1.0 - sqrt(1.0 - linear(middle, pos) ** 2) + + +SEGMENTS = [linear, curved, sine, sphere_increasing, sphere_decreasing] +"""""" # Enable auto-doc for data member + + +class GradientFile: + gradient: ( + list[ + tuple[ + float, + float, + float, + list[float], + list[float], + Callable[[float, float], float], + ] + ] + | None + ) = None + + def getpalette(self, entries: int = 256) -> tuple[bytes, str]: + assert self.gradient is not None + palette = [] + + ix = 0 + x0, x1, xm, rgb0, rgb1, segment = self.gradient[ix] + + for i in range(entries): + x = i / (entries - 1) + + while x1 < x: + ix += 1 + x0, x1, xm, rgb0, rgb1, segment = self.gradient[ix] + + w = x1 - x0 + + if w < EPSILON: + scale = segment(0.5, 0.5) + else: + scale = segment((xm - x0) / w, (x - x0) / w) + + # expand to RGBA + r = o8(int(255 * ((rgb1[0] - rgb0[0]) * scale + rgb0[0]) + 0.5)) + g = o8(int(255 * ((rgb1[1] - rgb0[1]) * scale + rgb0[1]) + 0.5)) + b = o8(int(255 * ((rgb1[2] - rgb0[2]) * scale + rgb0[2]) + 0.5)) + a = o8(int(255 * ((rgb1[3] - rgb0[3]) * scale + rgb0[3]) + 0.5)) + + # add to palette + palette.append(r + g + b + a) + + return b"".join(palette), "RGBA" + + +class GimpGradientFile(GradientFile): + """File handler for GIMP's gradient format.""" + + def __init__(self, fp: IO[bytes]) -> None: + if fp.readline()[:13] != b"GIMP Gradient": + msg = "not a GIMP gradient file" + raise SyntaxError(msg) + + line = fp.readline() + + # GIMP 1.2 gradient files don't contain a name, but GIMP 1.3 files do + if line.startswith(b"Name: "): + line = fp.readline().strip() + + count = int(line) + + self.gradient = [] + + for i in range(count): + s = fp.readline().split() + w = [float(x) for x in s[:11]] + + x0, x1 = w[0], w[2] + xm = w[1] + rgb0 = w[3:7] + rgb1 = w[7:11] + + segment = SEGMENTS[int(s[11])] + cspace = int(s[12]) + + if cspace != 0: + msg = "cannot handle HSV colour space" + raise OSError(msg) + + self.gradient.append((x0, x1, xm, rgb0, rgb1, segment)) diff --git a/venv/Lib/site-packages/PIL/GimpPaletteFile.py b/venv/Lib/site-packages/PIL/GimpPaletteFile.py new file mode 100644 index 00000000..4cad0ebe --- /dev/null +++ b/venv/Lib/site-packages/PIL/GimpPaletteFile.py @@ -0,0 +1,58 @@ +# +# Python Imaging Library +# $Id$ +# +# stuff to read GIMP palette files +# +# History: +# 1997-08-23 fl Created +# 2004-09-07 fl Support GIMP 2.0 palette files. +# +# Copyright (c) Secret Labs AB 1997-2004. All rights reserved. +# Copyright (c) Fredrik Lundh 1997-2004. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import re +from typing import IO + +from ._binary import o8 + + +class GimpPaletteFile: + """File handler for GIMP's palette format.""" + + rawmode = "RGB" + + def __init__(self, fp: IO[bytes]) -> None: + palette = [o8(i) * 3 for i in range(256)] + + if fp.readline()[:12] != b"GIMP Palette": + msg = "not a GIMP palette file" + raise SyntaxError(msg) + + for i in range(256): + s = fp.readline() + if not s: + break + + # skip fields and comment lines + if re.match(rb"\w+:|#", s): + continue + if len(s) > 100: + msg = "bad palette file" + raise SyntaxError(msg) + + v = tuple(map(int, s.split()[:3])) + if len(v) != 3: + msg = "bad palette entry" + raise ValueError(msg) + + palette[i] = o8(v[0]) + o8(v[1]) + o8(v[2]) + + self.palette = b"".join(palette) + + def getpalette(self) -> tuple[bytes, str]: + return self.palette, self.rawmode diff --git a/venv/Lib/site-packages/PIL/GribStubImagePlugin.py b/venv/Lib/site-packages/PIL/GribStubImagePlugin.py new file mode 100644 index 00000000..e9aa084b --- /dev/null +++ b/venv/Lib/site-packages/PIL/GribStubImagePlugin.py @@ -0,0 +1,76 @@ +# +# The Python Imaging Library +# $Id$ +# +# GRIB stub adapter +# +# Copyright (c) 1996-2003 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from typing import IO + +from . import Image, ImageFile + +_handler = None + + +def register_handler(handler: ImageFile.StubHandler | None) -> None: + """ + Install application-specific GRIB image handler. + + :param handler: Handler object. + """ + global _handler + _handler = handler + + +# -------------------------------------------------------------------- +# Image adapter + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] == b"GRIB" and prefix[7] == 1 + + +class GribStubImageFile(ImageFile.StubImageFile): + format = "GRIB" + format_description = "GRIB" + + def _open(self) -> None: + offset = self.fp.tell() + + if not _accept(self.fp.read(8)): + msg = "Not a GRIB file" + raise SyntaxError(msg) + + self.fp.seek(offset) + + # make something up + self._mode = "F" + self._size = 1, 1 + + loader = self._load() + if loader: + loader.open(self) + + def _load(self) -> ImageFile.StubHandler | None: + return _handler + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if _handler is None or not hasattr(_handler, "save"): + msg = "GRIB save handler not installed" + raise OSError(msg) + _handler.save(im, fp, filename) + + +# -------------------------------------------------------------------- +# Registry + +Image.register_open(GribStubImageFile.format, GribStubImageFile, _accept) +Image.register_save(GribStubImageFile.format, _save) + +Image.register_extension(GribStubImageFile.format, ".grib") diff --git a/venv/Lib/site-packages/PIL/Hdf5StubImagePlugin.py b/venv/Lib/site-packages/PIL/Hdf5StubImagePlugin.py new file mode 100644 index 00000000..cc9e73de --- /dev/null +++ b/venv/Lib/site-packages/PIL/Hdf5StubImagePlugin.py @@ -0,0 +1,76 @@ +# +# The Python Imaging Library +# $Id$ +# +# HDF5 stub adapter +# +# Copyright (c) 2000-2003 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from typing import IO + +from . import Image, ImageFile + +_handler = None + + +def register_handler(handler: ImageFile.StubHandler | None) -> None: + """ + Install application-specific HDF5 image handler. + + :param handler: Handler object. + """ + global _handler + _handler = handler + + +# -------------------------------------------------------------------- +# Image adapter + + +def _accept(prefix: bytes) -> bool: + return prefix[:8] == b"\x89HDF\r\n\x1a\n" + + +class HDF5StubImageFile(ImageFile.StubImageFile): + format = "HDF5" + format_description = "HDF5" + + def _open(self) -> None: + offset = self.fp.tell() + + if not _accept(self.fp.read(8)): + msg = "Not an HDF file" + raise SyntaxError(msg) + + self.fp.seek(offset) + + # make something up + self._mode = "F" + self._size = 1, 1 + + loader = self._load() + if loader: + loader.open(self) + + def _load(self) -> ImageFile.StubHandler | None: + return _handler + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if _handler is None or not hasattr(_handler, "save"): + msg = "HDF5 save handler not installed" + raise OSError(msg) + _handler.save(im, fp, filename) + + +# -------------------------------------------------------------------- +# Registry + +Image.register_open(HDF5StubImageFile.format, HDF5StubImageFile, _accept) +Image.register_save(HDF5StubImageFile.format, _save) + +Image.register_extensions(HDF5StubImageFile.format, [".h5", ".hdf"]) diff --git a/venv/Lib/site-packages/PIL/IcnsImagePlugin.py b/venv/Lib/site-packages/PIL/IcnsImagePlugin.py new file mode 100644 index 00000000..9757b2b1 --- /dev/null +++ b/venv/Lib/site-packages/PIL/IcnsImagePlugin.py @@ -0,0 +1,412 @@ +# +# The Python Imaging Library. +# $Id$ +# +# macOS icns file decoder, based on icns.py by Bob Ippolito. +# +# history: +# 2004-10-09 fl Turned into a PIL plugin; removed 2.3 dependencies. +# 2020-04-04 Allow saving on all operating systems. +# +# Copyright (c) 2004 by Bob Ippolito. +# Copyright (c) 2004 by Secret Labs. +# Copyright (c) 2004 by Fredrik Lundh. +# Copyright (c) 2014 by Alastair Houghton. +# Copyright (c) 2020 by Pan Jing. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io +import os +import struct +import sys +from typing import IO + +from . import Image, ImageFile, PngImagePlugin, features +from ._deprecate import deprecate + +enable_jpeg2k = features.check_codec("jpg_2000") +if enable_jpeg2k: + from . import Jpeg2KImagePlugin + +MAGIC = b"icns" +HEADERSIZE = 8 + + +def nextheader(fobj: IO[bytes]) -> tuple[bytes, int]: + return struct.unpack(">4sI", fobj.read(HEADERSIZE)) + + +def read_32t( + fobj: IO[bytes], start_length: tuple[int, int], size: tuple[int, int, int] +) -> dict[str, Image.Image]: + # The 128x128 icon seems to have an extra header for some reason. + (start, length) = start_length + fobj.seek(start) + sig = fobj.read(4) + if sig != b"\x00\x00\x00\x00": + msg = "Unknown signature, expecting 0x00000000" + raise SyntaxError(msg) + return read_32(fobj, (start + 4, length - 4), size) + + +def read_32( + fobj: IO[bytes], start_length: tuple[int, int], size: tuple[int, int, int] +) -> dict[str, Image.Image]: + """ + Read a 32bit RGB icon resource. Seems to be either uncompressed or + an RLE packbits-like scheme. + """ + (start, length) = start_length + fobj.seek(start) + pixel_size = (size[0] * size[2], size[1] * size[2]) + sizesq = pixel_size[0] * pixel_size[1] + if length == sizesq * 3: + # uncompressed ("RGBRGBGB") + indata = fobj.read(length) + im = Image.frombuffer("RGB", pixel_size, indata, "raw", "RGB", 0, 1) + else: + # decode image + im = Image.new("RGB", pixel_size, None) + for band_ix in range(3): + data = [] + bytesleft = sizesq + while bytesleft > 0: + byte = fobj.read(1) + if not byte: + break + byte_int = byte[0] + if byte_int & 0x80: + blocksize = byte_int - 125 + byte = fobj.read(1) + for i in range(blocksize): + data.append(byte) + else: + blocksize = byte_int + 1 + data.append(fobj.read(blocksize)) + bytesleft -= blocksize + if bytesleft <= 0: + break + if bytesleft != 0: + msg = f"Error reading channel [{repr(bytesleft)} left]" + raise SyntaxError(msg) + band = Image.frombuffer("L", pixel_size, b"".join(data), "raw", "L", 0, 1) + im.im.putband(band.im, band_ix) + return {"RGB": im} + + +def read_mk( + fobj: IO[bytes], start_length: tuple[int, int], size: tuple[int, int, int] +) -> dict[str, Image.Image]: + # Alpha masks seem to be uncompressed + start = start_length[0] + fobj.seek(start) + pixel_size = (size[0] * size[2], size[1] * size[2]) + sizesq = pixel_size[0] * pixel_size[1] + band = Image.frombuffer("L", pixel_size, fobj.read(sizesq), "raw", "L", 0, 1) + return {"A": band} + + +def read_png_or_jpeg2000( + fobj: IO[bytes], start_length: tuple[int, int], size: tuple[int, int, int] +) -> dict[str, Image.Image]: + (start, length) = start_length + fobj.seek(start) + sig = fobj.read(12) + + im: Image.Image + if sig[:8] == b"\x89PNG\x0d\x0a\x1a\x0a": + fobj.seek(start) + im = PngImagePlugin.PngImageFile(fobj) + Image._decompression_bomb_check(im.size) + return {"RGBA": im} + elif ( + sig[:4] == b"\xff\x4f\xff\x51" + or sig[:4] == b"\x0d\x0a\x87\x0a" + or sig == b"\x00\x00\x00\x0cjP \x0d\x0a\x87\x0a" + ): + if not enable_jpeg2k: + msg = ( + "Unsupported icon subimage format (rebuild PIL " + "with JPEG 2000 support to fix this)" + ) + raise ValueError(msg) + # j2k, jpc or j2c + fobj.seek(start) + jp2kstream = fobj.read(length) + f = io.BytesIO(jp2kstream) + im = Jpeg2KImagePlugin.Jpeg2KImageFile(f) + Image._decompression_bomb_check(im.size) + if im.mode != "RGBA": + im = im.convert("RGBA") + return {"RGBA": im} + else: + msg = "Unsupported icon subimage format" + raise ValueError(msg) + + +class IcnsFile: + SIZES = { + (512, 512, 2): [(b"ic10", read_png_or_jpeg2000)], + (512, 512, 1): [(b"ic09", read_png_or_jpeg2000)], + (256, 256, 2): [(b"ic14", read_png_or_jpeg2000)], + (256, 256, 1): [(b"ic08", read_png_or_jpeg2000)], + (128, 128, 2): [(b"ic13", read_png_or_jpeg2000)], + (128, 128, 1): [ + (b"ic07", read_png_or_jpeg2000), + (b"it32", read_32t), + (b"t8mk", read_mk), + ], + (64, 64, 1): [(b"icp6", read_png_or_jpeg2000)], + (32, 32, 2): [(b"ic12", read_png_or_jpeg2000)], + (48, 48, 1): [(b"ih32", read_32), (b"h8mk", read_mk)], + (32, 32, 1): [ + (b"icp5", read_png_or_jpeg2000), + (b"il32", read_32), + (b"l8mk", read_mk), + ], + (16, 16, 2): [(b"ic11", read_png_or_jpeg2000)], + (16, 16, 1): [ + (b"icp4", read_png_or_jpeg2000), + (b"is32", read_32), + (b"s8mk", read_mk), + ], + } + + def __init__(self, fobj: IO[bytes]) -> None: + """ + fobj is a file-like object as an icns resource + """ + # signature : (start, length) + self.dct = {} + self.fobj = fobj + sig, filesize = nextheader(fobj) + if not _accept(sig): + msg = "not an icns file" + raise SyntaxError(msg) + i = HEADERSIZE + while i < filesize: + sig, blocksize = nextheader(fobj) + if blocksize <= 0: + msg = "invalid block header" + raise SyntaxError(msg) + i += HEADERSIZE + blocksize -= HEADERSIZE + self.dct[sig] = (i, blocksize) + fobj.seek(blocksize, io.SEEK_CUR) + i += blocksize + + def itersizes(self) -> list[tuple[int, int, int]]: + sizes = [] + for size, fmts in self.SIZES.items(): + for fmt, reader in fmts: + if fmt in self.dct: + sizes.append(size) + break + return sizes + + def bestsize(self) -> tuple[int, int, int]: + sizes = self.itersizes() + if not sizes: + msg = "No 32bit icon resources found" + raise SyntaxError(msg) + return max(sizes) + + def dataforsize(self, size: tuple[int, int, int]) -> dict[str, Image.Image]: + """ + Get an icon resource as {channel: array}. Note that + the arrays are bottom-up like windows bitmaps and will likely + need to be flipped or transposed in some way. + """ + dct = {} + for code, reader in self.SIZES[size]: + desc = self.dct.get(code) + if desc is not None: + dct.update(reader(self.fobj, desc, size)) + return dct + + def getimage( + self, size: tuple[int, int] | tuple[int, int, int] | None = None + ) -> Image.Image: + if size is None: + size = self.bestsize() + elif len(size) == 2: + size = (size[0], size[1], 1) + channels = self.dataforsize(size) + + im = channels.get("RGBA") + if im: + return im + + im = channels["RGB"].copy() + try: + im.putalpha(channels["A"]) + except KeyError: + pass + return im + + +## +# Image plugin for Mac OS icons. + + +class IcnsImageFile(ImageFile.ImageFile): + """ + PIL image support for Mac OS .icns files. + Chooses the best resolution, but will possibly load + a different size image if you mutate the size attribute + before calling 'load'. + + The info dictionary has a key 'sizes' that is a list + of sizes that the icns file has. + """ + + format = "ICNS" + format_description = "Mac OS icns resource" + + def _open(self) -> None: + self.icns = IcnsFile(self.fp) + self._mode = "RGBA" + self.info["sizes"] = self.icns.itersizes() + self.best_size = self.icns.bestsize() + self.size = ( + self.best_size[0] * self.best_size[2], + self.best_size[1] * self.best_size[2], + ) + + @property # type: ignore[override] + def size(self) -> tuple[int, int] | tuple[int, int, int]: + return self._size + + @size.setter + def size(self, value: tuple[int, int] | tuple[int, int, int]) -> None: + if len(value) == 3: + deprecate("Setting size to (width, height, scale)", 12, "load(scale)") + if value in self.info["sizes"]: + self._size = value # type: ignore[assignment] + return + else: + # Check that a matching size exists, + # or that there is a scale that would create a size that matches + for size in self.info["sizes"]: + simple_size = size[0] * size[2], size[1] * size[2] + scale = simple_size[0] // value[0] + if simple_size[1] / value[1] == scale: + self._size = value + return + msg = "This is not one of the allowed sizes of this image" + raise ValueError(msg) + + def load(self, scale: int | None = None) -> Image.core.PixelAccess | None: + if scale is not None or len(self.size) == 3: + if scale is None and len(self.size) == 3: + scale = self.size[2] + assert scale is not None + width, height = self.size[:2] + self.size = width * scale, height * scale + self.best_size = width, height, scale + + px = Image.Image.load(self) + if self._im is not None and self.im.size == self.size: + # Already loaded + return px + self.load_prepare() + # This is likely NOT the best way to do it, but whatever. + im = self.icns.getimage(self.best_size) + + # If this is a PNG or JPEG 2000, it won't be loaded yet + px = im.load() + + self.im = im.im + self._mode = im.mode + self.size = im.size + + return px + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + """ + Saves the image as a series of PNG files, + that are then combined into a .icns file. + """ + if hasattr(fp, "flush"): + fp.flush() + + sizes = { + b"ic07": 128, + b"ic08": 256, + b"ic09": 512, + b"ic10": 1024, + b"ic11": 32, + b"ic12": 64, + b"ic13": 256, + b"ic14": 512, + } + provided_images = {im.width: im for im in im.encoderinfo.get("append_images", [])} + size_streams = {} + for size in set(sizes.values()): + image = ( + provided_images[size] + if size in provided_images + else im.resize((size, size)) + ) + + temp = io.BytesIO() + image.save(temp, "png") + size_streams[size] = temp.getvalue() + + entries = [] + for type, size in sizes.items(): + stream = size_streams[size] + entries.append((type, HEADERSIZE + len(stream), stream)) + + # Header + fp.write(MAGIC) + file_length = HEADERSIZE # Header + file_length += HEADERSIZE + 8 * len(entries) # TOC + file_length += sum(entry[1] for entry in entries) + fp.write(struct.pack(">i", file_length)) + + # TOC + fp.write(b"TOC ") + fp.write(struct.pack(">i", HEADERSIZE + len(entries) * HEADERSIZE)) + for entry in entries: + fp.write(entry[0]) + fp.write(struct.pack(">i", entry[1])) + + # Data + for entry in entries: + fp.write(entry[0]) + fp.write(struct.pack(">i", entry[1])) + fp.write(entry[2]) + + if hasattr(fp, "flush"): + fp.flush() + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] == MAGIC + + +Image.register_open(IcnsImageFile.format, IcnsImageFile, _accept) +Image.register_extension(IcnsImageFile.format, ".icns") + +Image.register_save(IcnsImageFile.format, _save) +Image.register_mime(IcnsImageFile.format, "image/icns") + +if __name__ == "__main__": + if len(sys.argv) < 2: + print("Syntax: python3 IcnsImagePlugin.py [file]") + sys.exit() + + with open(sys.argv[1], "rb") as fp: + imf = IcnsImageFile(fp) + for size in imf.info["sizes"]: + width, height, scale = imf.size = size + imf.save(f"out-{width}-{height}-{scale}.png") + with Image.open(sys.argv[1]) as im: + im.save("out.png") + if sys.platform == "windows": + os.startfile("out.png") diff --git a/venv/Lib/site-packages/PIL/IcoImagePlugin.py b/venv/Lib/site-packages/PIL/IcoImagePlugin.py new file mode 100644 index 00000000..e879f180 --- /dev/null +++ b/venv/Lib/site-packages/PIL/IcoImagePlugin.py @@ -0,0 +1,381 @@ +# +# The Python Imaging Library. +# $Id$ +# +# Windows Icon support for PIL +# +# History: +# 96-05-27 fl Created +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1996. +# +# See the README file for information on usage and redistribution. +# + +# This plugin is a refactored version of Win32IconImagePlugin by Bryan Davis +# . +# https://code.google.com/archive/p/casadebender/wikis/Win32IconImagePlugin.wiki +# +# Icon format references: +# * https://en.wikipedia.org/wiki/ICO_(file_format) +# * https://msdn.microsoft.com/en-us/library/ms997538.aspx +from __future__ import annotations + +import warnings +from io import BytesIO +from math import ceil, log +from typing import IO, NamedTuple + +from . import BmpImagePlugin, Image, ImageFile, PngImagePlugin +from ._binary import i16le as i16 +from ._binary import i32le as i32 +from ._binary import o8 +from ._binary import o16le as o16 +from ._binary import o32le as o32 + +# +# -------------------------------------------------------------------- + +_MAGIC = b"\0\0\1\0" + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + fp.write(_MAGIC) # (2+2) + bmp = im.encoderinfo.get("bitmap_format") == "bmp" + sizes = im.encoderinfo.get( + "sizes", + [(16, 16), (24, 24), (32, 32), (48, 48), (64, 64), (128, 128), (256, 256)], + ) + frames = [] + provided_ims = [im] + im.encoderinfo.get("append_images", []) + width, height = im.size + for size in sorted(set(sizes)): + if size[0] > width or size[1] > height or size[0] > 256 or size[1] > 256: + continue + + for provided_im in provided_ims: + if provided_im.size != size: + continue + frames.append(provided_im) + if bmp: + bits = BmpImagePlugin.SAVE[provided_im.mode][1] + bits_used = [bits] + for other_im in provided_ims: + if other_im.size != size: + continue + bits = BmpImagePlugin.SAVE[other_im.mode][1] + if bits not in bits_used: + # Another image has been supplied for this size + # with a different bit depth + frames.append(other_im) + bits_used.append(bits) + break + else: + # TODO: invent a more convenient method for proportional scalings + frame = provided_im.copy() + frame.thumbnail(size, Image.Resampling.LANCZOS, reducing_gap=None) + frames.append(frame) + fp.write(o16(len(frames))) # idCount(2) + offset = fp.tell() + len(frames) * 16 + for frame in frames: + width, height = frame.size + # 0 means 256 + fp.write(o8(width if width < 256 else 0)) # bWidth(1) + fp.write(o8(height if height < 256 else 0)) # bHeight(1) + + bits, colors = BmpImagePlugin.SAVE[frame.mode][1:] if bmp else (32, 0) + fp.write(o8(colors)) # bColorCount(1) + fp.write(b"\0") # bReserved(1) + fp.write(b"\0\0") # wPlanes(2) + fp.write(o16(bits)) # wBitCount(2) + + image_io = BytesIO() + if bmp: + frame.save(image_io, "dib") + + if bits != 32: + and_mask = Image.new("1", size) + ImageFile._save( + and_mask, + image_io, + [ImageFile._Tile("raw", (0, 0) + size, 0, ("1", 0, -1))], + ) + else: + frame.save(image_io, "png") + image_io.seek(0) + image_bytes = image_io.read() + if bmp: + image_bytes = image_bytes[:8] + o32(height * 2) + image_bytes[12:] + bytes_len = len(image_bytes) + fp.write(o32(bytes_len)) # dwBytesInRes(4) + fp.write(o32(offset)) # dwImageOffset(4) + current = fp.tell() + fp.seek(offset) + fp.write(image_bytes) + offset = offset + bytes_len + fp.seek(current) + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] == _MAGIC + + +class IconHeader(NamedTuple): + width: int + height: int + nb_color: int + reserved: int + planes: int + bpp: int + size: int + offset: int + dim: tuple[int, int] + square: int + color_depth: int + + +class IcoFile: + def __init__(self, buf: IO[bytes]) -> None: + """ + Parse image from file-like object containing ico file data + """ + + # check magic + s = buf.read(6) + if not _accept(s): + msg = "not an ICO file" + raise SyntaxError(msg) + + self.buf = buf + self.entry = [] + + # Number of items in file + self.nb_items = i16(s, 4) + + # Get headers for each item + for i in range(self.nb_items): + s = buf.read(16) + + # See Wikipedia + width = s[0] or 256 + height = s[1] or 256 + + # No. of colors in image (0 if >=8bpp) + nb_color = s[2] + bpp = i16(s, 6) + icon_header = IconHeader( + width=width, + height=height, + nb_color=nb_color, + reserved=s[3], + planes=i16(s, 4), + bpp=i16(s, 6), + size=i32(s, 8), + offset=i32(s, 12), + dim=(width, height), + square=width * height, + # See Wikipedia notes about color depth. + # We need this just to differ images with equal sizes + color_depth=bpp or (nb_color != 0 and ceil(log(nb_color, 2))) or 256, + ) + + self.entry.append(icon_header) + + self.entry = sorted(self.entry, key=lambda x: x.color_depth) + # ICO images are usually squares + self.entry = sorted(self.entry, key=lambda x: x.square, reverse=True) + + def sizes(self) -> set[tuple[int, int]]: + """ + Get a set of all available icon sizes and color depths. + """ + return {(h.width, h.height) for h in self.entry} + + def getentryindex(self, size: tuple[int, int], bpp: int | bool = False) -> int: + for i, h in enumerate(self.entry): + if size == h.dim and (bpp is False or bpp == h.color_depth): + return i + return 0 + + def getimage(self, size: tuple[int, int], bpp: int | bool = False) -> Image.Image: + """ + Get an image from the icon + """ + return self.frame(self.getentryindex(size, bpp)) + + def frame(self, idx: int) -> Image.Image: + """ + Get an image from frame idx + """ + + header = self.entry[idx] + + self.buf.seek(header.offset) + data = self.buf.read(8) + self.buf.seek(header.offset) + + im: Image.Image + if data[:8] == PngImagePlugin._MAGIC: + # png frame + im = PngImagePlugin.PngImageFile(self.buf) + Image._decompression_bomb_check(im.size) + else: + # XOR + AND mask bmp frame + im = BmpImagePlugin.DibImageFile(self.buf) + Image._decompression_bomb_check(im.size) + + # change tile dimension to only encompass XOR image + im._size = (im.size[0], int(im.size[1] / 2)) + d, e, o, a = im.tile[0] + im.tile[0] = ImageFile._Tile(d, (0, 0) + im.size, o, a) + + # figure out where AND mask image starts + if header.bpp == 32: + # 32-bit color depth icon image allows semitransparent areas + # PIL's DIB format ignores transparency bits, recover them. + # The DIB is packed in BGRX byte order where X is the alpha + # channel. + + # Back up to start of bmp data + self.buf.seek(o) + # extract every 4th byte (eg. 3,7,11,15,...) + alpha_bytes = self.buf.read(im.size[0] * im.size[1] * 4)[3::4] + + # convert to an 8bpp grayscale image + try: + mask = Image.frombuffer( + "L", # 8bpp + im.size, # (w, h) + alpha_bytes, # source chars + "raw", # raw decoder + ("L", 0, -1), # 8bpp inverted, unpadded, reversed + ) + except ValueError: + if ImageFile.LOAD_TRUNCATED_IMAGES: + mask = None + else: + raise + else: + # get AND image from end of bitmap + w = im.size[0] + if (w % 32) > 0: + # bitmap row data is aligned to word boundaries + w += 32 - (im.size[0] % 32) + + # the total mask data is + # padded row size * height / bits per char + + total_bytes = int((w * im.size[1]) / 8) + and_mask_offset = header.offset + header.size - total_bytes + + self.buf.seek(and_mask_offset) + mask_data = self.buf.read(total_bytes) + + # convert raw data to image + try: + mask = Image.frombuffer( + "1", # 1 bpp + im.size, # (w, h) + mask_data, # source chars + "raw", # raw decoder + ("1;I", int(w / 8), -1), # 1bpp inverted, padded, reversed + ) + except ValueError: + if ImageFile.LOAD_TRUNCATED_IMAGES: + mask = None + else: + raise + + # now we have two images, im is XOR image and mask is AND image + + # apply mask image as alpha channel + if mask: + im = im.convert("RGBA") + im.putalpha(mask) + + return im + + +## +# Image plugin for Windows Icon files. + + +class IcoImageFile(ImageFile.ImageFile): + """ + PIL read-only image support for Microsoft Windows .ico files. + + By default the largest resolution image in the file will be loaded. This + can be changed by altering the 'size' attribute before calling 'load'. + + The info dictionary has a key 'sizes' that is a list of the sizes available + in the icon file. + + Handles classic, XP and Vista icon formats. + + When saving, PNG compression is used. Support for this was only added in + Windows Vista. If you are unable to view the icon in Windows, convert the + image to "RGBA" mode before saving. + + This plugin is a refactored version of Win32IconImagePlugin by Bryan Davis + . + https://code.google.com/archive/p/casadebender/wikis/Win32IconImagePlugin.wiki + """ + + format = "ICO" + format_description = "Windows Icon" + + def _open(self) -> None: + self.ico = IcoFile(self.fp) + self.info["sizes"] = self.ico.sizes() + self.size = self.ico.entry[0].dim + self.load() + + @property + def size(self) -> tuple[int, int]: + return self._size + + @size.setter + def size(self, value: tuple[int, int]) -> None: + if value not in self.info["sizes"]: + msg = "This is not one of the allowed sizes of this image" + raise ValueError(msg) + self._size = value + + def load(self) -> Image.core.PixelAccess | None: + if self._im is not None and self.im.size == self.size: + # Already loaded + return Image.Image.load(self) + im = self.ico.getimage(self.size) + # if tile is PNG, it won't really be loaded yet + im.load() + self.im = im.im + self._mode = im.mode + if im.palette: + self.palette = im.palette + if im.size != self.size: + warnings.warn("Image was not the expected size") + + index = self.ico.getentryindex(self.size) + sizes = list(self.info["sizes"]) + sizes[index] = im.size + self.info["sizes"] = set(sizes) + + self.size = im.size + return None + + def load_seek(self, pos: int) -> None: + # Flag the ImageFile.Parser so that it + # just does all the decode at the end. + pass + + +# +# -------------------------------------------------------------------- + + +Image.register_open(IcoImageFile.format, IcoImageFile, _accept) +Image.register_save(IcoImageFile.format, _save) +Image.register_extension(IcoImageFile.format, ".ico") + +Image.register_mime(IcoImageFile.format, "image/x-icon") diff --git a/venv/Lib/site-packages/PIL/ImImagePlugin.py b/venv/Lib/site-packages/PIL/ImImagePlugin.py new file mode 100644 index 00000000..f9f47348 --- /dev/null +++ b/venv/Lib/site-packages/PIL/ImImagePlugin.py @@ -0,0 +1,386 @@ +# +# The Python Imaging Library. +# $Id$ +# +# IFUNC IM file handling for PIL +# +# history: +# 1995-09-01 fl Created. +# 1997-01-03 fl Save palette images +# 1997-01-08 fl Added sequence support +# 1997-01-23 fl Added P and RGB save support +# 1997-05-31 fl Read floating point images +# 1997-06-22 fl Save floating point images +# 1997-08-27 fl Read and save 1-bit images +# 1998-06-25 fl Added support for RGB+LUT images +# 1998-07-02 fl Added support for YCC images +# 1998-07-15 fl Renamed offset attribute to avoid name clash +# 1998-12-29 fl Added I;16 support +# 2001-02-17 fl Use 're' instead of 'regex' (Python 2.1) (0.7) +# 2003-09-26 fl Added LA/PA support +# +# Copyright (c) 1997-2003 by Secret Labs AB. +# Copyright (c) 1995-2001 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import os +import re +from typing import IO, Any + +from . import Image, ImageFile, ImagePalette + +# -------------------------------------------------------------------- +# Standard tags + +COMMENT = "Comment" +DATE = "Date" +EQUIPMENT = "Digitalization equipment" +FRAMES = "File size (no of images)" +LUT = "Lut" +NAME = "Name" +SCALE = "Scale (x,y)" +SIZE = "Image size (x*y)" +MODE = "Image type" + +TAGS = { + COMMENT: 0, + DATE: 0, + EQUIPMENT: 0, + FRAMES: 0, + LUT: 0, + NAME: 0, + SCALE: 0, + SIZE: 0, + MODE: 0, +} + +OPEN = { + # ifunc93/p3cfunc formats + "0 1 image": ("1", "1"), + "L 1 image": ("1", "1"), + "Greyscale image": ("L", "L"), + "Grayscale image": ("L", "L"), + "RGB image": ("RGB", "RGB;L"), + "RLB image": ("RGB", "RLB"), + "RYB image": ("RGB", "RLB"), + "B1 image": ("1", "1"), + "B2 image": ("P", "P;2"), + "B4 image": ("P", "P;4"), + "X 24 image": ("RGB", "RGB"), + "L 32 S image": ("I", "I;32"), + "L 32 F image": ("F", "F;32"), + # old p3cfunc formats + "RGB3 image": ("RGB", "RGB;T"), + "RYB3 image": ("RGB", "RYB;T"), + # extensions + "LA image": ("LA", "LA;L"), + "PA image": ("LA", "PA;L"), + "RGBA image": ("RGBA", "RGBA;L"), + "RGBX image": ("RGB", "RGBX;L"), + "CMYK image": ("CMYK", "CMYK;L"), + "YCC image": ("YCbCr", "YCbCr;L"), +} + +# ifunc95 extensions +for i in ["8", "8S", "16", "16S", "32", "32F"]: + OPEN[f"L {i} image"] = ("F", f"F;{i}") + OPEN[f"L*{i} image"] = ("F", f"F;{i}") +for i in ["16", "16L", "16B"]: + OPEN[f"L {i} image"] = (f"I;{i}", f"I;{i}") + OPEN[f"L*{i} image"] = (f"I;{i}", f"I;{i}") +for i in ["32S"]: + OPEN[f"L {i} image"] = ("I", f"I;{i}") + OPEN[f"L*{i} image"] = ("I", f"I;{i}") +for j in range(2, 33): + OPEN[f"L*{j} image"] = ("F", f"F;{j}") + + +# -------------------------------------------------------------------- +# Read IM directory + +split = re.compile(rb"^([A-Za-z][^:]*):[ \t]*(.*)[ \t]*$") + + +def number(s: Any) -> float: + try: + return int(s) + except ValueError: + return float(s) + + +## +# Image plugin for the IFUNC IM file format. + + +class ImImageFile(ImageFile.ImageFile): + format = "IM" + format_description = "IFUNC Image Memory" + _close_exclusive_fp_after_loading = False + + def _open(self) -> None: + # Quick rejection: if there's not an LF among the first + # 100 bytes, this is (probably) not a text header. + + if b"\n" not in self.fp.read(100): + msg = "not an IM file" + raise SyntaxError(msg) + self.fp.seek(0) + + n = 0 + + # Default values + self.info[MODE] = "L" + self.info[SIZE] = (512, 512) + self.info[FRAMES] = 1 + + self.rawmode = "L" + + while True: + s = self.fp.read(1) + + # Some versions of IFUNC uses \n\r instead of \r\n... + if s == b"\r": + continue + + if not s or s == b"\0" or s == b"\x1A": + break + + # FIXME: this may read whole file if not a text file + s = s + self.fp.readline() + + if len(s) > 100: + msg = "not an IM file" + raise SyntaxError(msg) + + if s[-2:] == b"\r\n": + s = s[:-2] + elif s[-1:] == b"\n": + s = s[:-1] + + try: + m = split.match(s) + except re.error as e: + msg = "not an IM file" + raise SyntaxError(msg) from e + + if m: + k, v = m.group(1, 2) + + # Don't know if this is the correct encoding, + # but a decent guess (I guess) + k = k.decode("latin-1", "replace") + v = v.decode("latin-1", "replace") + + # Convert value as appropriate + if k in [FRAMES, SCALE, SIZE]: + v = v.replace("*", ",") + v = tuple(map(number, v.split(","))) + if len(v) == 1: + v = v[0] + elif k == MODE and v in OPEN: + v, self.rawmode = OPEN[v] + + # Add to dictionary. Note that COMMENT tags are + # combined into a list of strings. + if k == COMMENT: + if k in self.info: + self.info[k].append(v) + else: + self.info[k] = [v] + else: + self.info[k] = v + + if k in TAGS: + n += 1 + + else: + msg = f"Syntax error in IM header: {s.decode('ascii', 'replace')}" + raise SyntaxError(msg) + + if not n: + msg = "Not an IM file" + raise SyntaxError(msg) + + # Basic attributes + self._size = self.info[SIZE] + self._mode = self.info[MODE] + + # Skip forward to start of image data + while s and s[:1] != b"\x1A": + s = self.fp.read(1) + if not s: + msg = "File truncated" + raise SyntaxError(msg) + + if LUT in self.info: + # convert lookup table to palette or lut attribute + palette = self.fp.read(768) + greyscale = 1 # greyscale palette + linear = 1 # linear greyscale palette + for i in range(256): + if palette[i] == palette[i + 256] == palette[i + 512]: + if palette[i] != i: + linear = 0 + else: + greyscale = 0 + if self.mode in ["L", "LA", "P", "PA"]: + if greyscale: + if not linear: + self.lut = list(palette[:256]) + else: + if self.mode in ["L", "P"]: + self._mode = self.rawmode = "P" + elif self.mode in ["LA", "PA"]: + self._mode = "PA" + self.rawmode = "PA;L" + self.palette = ImagePalette.raw("RGB;L", palette) + elif self.mode == "RGB": + if not greyscale or not linear: + self.lut = list(palette) + + self.frame = 0 + + self.__offset = offs = self.fp.tell() + + self._fp = self.fp # FIXME: hack + + if self.rawmode[:2] == "F;": + # ifunc95 formats + try: + # use bit decoder (if necessary) + bits = int(self.rawmode[2:]) + if bits not in [8, 16, 32]: + self.tile = [ + ImageFile._Tile( + "bit", (0, 0) + self.size, offs, (bits, 8, 3, 0, -1) + ) + ] + return + except ValueError: + pass + + if self.rawmode in ["RGB;T", "RYB;T"]: + # Old LabEye/3PC files. Would be very surprised if anyone + # ever stumbled upon such a file ;-) + size = self.size[0] * self.size[1] + self.tile = [ + ImageFile._Tile("raw", (0, 0) + self.size, offs, ("G", 0, -1)), + ImageFile._Tile("raw", (0, 0) + self.size, offs + size, ("R", 0, -1)), + ImageFile._Tile( + "raw", (0, 0) + self.size, offs + 2 * size, ("B", 0, -1) + ), + ] + else: + # LabEye/IFUNC files + self.tile = [ + ImageFile._Tile("raw", (0, 0) + self.size, offs, (self.rawmode, 0, -1)) + ] + + @property + def n_frames(self) -> int: + return self.info[FRAMES] + + @property + def is_animated(self) -> bool: + return self.info[FRAMES] > 1 + + def seek(self, frame: int) -> None: + if not self._seek_check(frame): + return + + self.frame = frame + + if self.mode == "1": + bits = 1 + else: + bits = 8 * len(self.mode) + + size = ((self.size[0] * bits + 7) // 8) * self.size[1] + offs = self.__offset + frame * size + + self.fp = self._fp + + self.tile = [ + ImageFile._Tile("raw", (0, 0) + self.size, offs, (self.rawmode, 0, -1)) + ] + + def tell(self) -> int: + return self.frame + + +# +# -------------------------------------------------------------------- +# Save IM files + + +SAVE = { + # mode: (im type, raw mode) + "1": ("0 1", "1"), + "L": ("Greyscale", "L"), + "LA": ("LA", "LA;L"), + "P": ("Greyscale", "P"), + "PA": ("LA", "PA;L"), + "I": ("L 32S", "I;32S"), + "I;16": ("L 16", "I;16"), + "I;16L": ("L 16L", "I;16L"), + "I;16B": ("L 16B", "I;16B"), + "F": ("L 32F", "F;32F"), + "RGB": ("RGB", "RGB;L"), + "RGBA": ("RGBA", "RGBA;L"), + "RGBX": ("RGBX", "RGBX;L"), + "CMYK": ("CMYK", "CMYK;L"), + "YCbCr": ("YCC", "YCbCr;L"), +} + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + try: + image_type, rawmode = SAVE[im.mode] + except KeyError as e: + msg = f"Cannot save {im.mode} images as IM" + raise ValueError(msg) from e + + frames = im.encoderinfo.get("frames", 1) + + fp.write(f"Image type: {image_type} image\r\n".encode("ascii")) + if filename: + # Each line must be 100 characters or less, + # or: SyntaxError("not an IM file") + # 8 characters are used for "Name: " and "\r\n" + # Keep just the filename, ditch the potentially overlong path + if isinstance(filename, bytes): + filename = filename.decode("ascii") + name, ext = os.path.splitext(os.path.basename(filename)) + name = "".join([name[: 92 - len(ext)], ext]) + + fp.write(f"Name: {name}\r\n".encode("ascii")) + fp.write(("Image size (x*y): %d*%d\r\n" % im.size).encode("ascii")) + fp.write(f"File size (no of images): {frames}\r\n".encode("ascii")) + if im.mode in ["P", "PA"]: + fp.write(b"Lut: 1\r\n") + fp.write(b"\000" * (511 - fp.tell()) + b"\032") + if im.mode in ["P", "PA"]: + im_palette = im.im.getpalette("RGB", "RGB;L") + colors = len(im_palette) // 3 + palette = b"" + for i in range(3): + palette += im_palette[colors * i : colors * (i + 1)] + palette += b"\x00" * (256 - colors) + fp.write(palette) # 768 bytes + ImageFile._save( + im, fp, [ImageFile._Tile("raw", (0, 0) + im.size, 0, (rawmode, 0, -1))] + ) + + +# +# -------------------------------------------------------------------- +# Registry + + +Image.register_open(ImImageFile.format, ImImageFile) +Image.register_save(ImImageFile.format, _save) + +Image.register_extension(ImImageFile.format, ".im") diff --git a/venv/Lib/site-packages/PIL/Image.py b/venv/Lib/site-packages/PIL/Image.py new file mode 100644 index 00000000..44270392 --- /dev/null +++ b/venv/Lib/site-packages/PIL/Image.py @@ -0,0 +1,4198 @@ +# +# The Python Imaging Library. +# $Id$ +# +# the Image class wrapper +# +# partial release history: +# 1995-09-09 fl Created +# 1996-03-11 fl PIL release 0.0 (proof of concept) +# 1996-04-30 fl PIL release 0.1b1 +# 1999-07-28 fl PIL release 1.0 final +# 2000-06-07 fl PIL release 1.1 +# 2000-10-20 fl PIL release 1.1.1 +# 2001-05-07 fl PIL release 1.1.2 +# 2002-03-15 fl PIL release 1.1.3 +# 2003-05-10 fl PIL release 1.1.4 +# 2005-03-28 fl PIL release 1.1.5 +# 2006-12-02 fl PIL release 1.1.6 +# 2009-11-15 fl PIL release 1.1.7 +# +# Copyright (c) 1997-2009 by Secret Labs AB. All rights reserved. +# Copyright (c) 1995-2009 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# + +from __future__ import annotations + +import abc +import atexit +import builtins +import io +import logging +import math +import os +import re +import struct +import sys +import tempfile +import warnings +from collections.abc import Callable, Iterator, MutableMapping, Sequence +from enum import IntEnum +from types import ModuleType +from typing import ( + IO, + TYPE_CHECKING, + Any, + Literal, + Protocol, + cast, +) + +# VERSION was removed in Pillow 6.0.0. +# PILLOW_VERSION was removed in Pillow 9.0.0. +# Use __version__ instead. +from . import ( + ExifTags, + ImageMode, + TiffTags, + UnidentifiedImageError, + __version__, + _plugins, +) +from ._binary import i32le, o32be, o32le +from ._deprecate import deprecate +from ._util import DeferredError, is_path + +ElementTree: ModuleType | None +try: + from defusedxml import ElementTree +except ImportError: + ElementTree = None + +logger = logging.getLogger(__name__) + + +class DecompressionBombWarning(RuntimeWarning): + pass + + +class DecompressionBombError(Exception): + pass + + +WARN_POSSIBLE_FORMATS: bool = False + +# Limit to around a quarter gigabyte for a 24-bit (3 bpp) image +MAX_IMAGE_PIXELS: int | None = int(1024 * 1024 * 1024 // 4 // 3) + + +try: + # If the _imaging C module is not present, Pillow will not load. + # Note that other modules should not refer to _imaging directly; + # import Image and use the Image.core variable instead. + # Also note that Image.core is not a publicly documented interface, + # and should be considered private and subject to change. + from . import _imaging as core + + if __version__ != getattr(core, "PILLOW_VERSION", None): + msg = ( + "The _imaging extension was built for another version of Pillow or PIL:\n" + f"Core version: {getattr(core, 'PILLOW_VERSION', None)}\n" + f"Pillow version: {__version__}" + ) + raise ImportError(msg) + +except ImportError as v: + core = DeferredError.new(ImportError("The _imaging C module is not installed.")) + # Explanations for ways that we know we might have an import error + if str(v).startswith("Module use of python"): + # The _imaging C module is present, but not compiled for + # the right version (windows only). Print a warning, if + # possible. + warnings.warn( + "The _imaging extension was built for another version of Python.", + RuntimeWarning, + ) + elif str(v).startswith("The _imaging extension"): + warnings.warn(str(v), RuntimeWarning) + # Fail here anyway. Don't let people run with a mostly broken Pillow. + # see docs/porting.rst + raise + + +def isImageType(t: Any) -> TypeGuard[Image]: + """ + Checks if an object is an image object. + + .. warning:: + + This function is for internal use only. + + :param t: object to check if it's an image + :returns: True if the object is an image + """ + deprecate("Image.isImageType(im)", 12, "isinstance(im, Image.Image)") + return hasattr(t, "im") + + +# +# Constants + + +# transpose +class Transpose(IntEnum): + FLIP_LEFT_RIGHT = 0 + FLIP_TOP_BOTTOM = 1 + ROTATE_90 = 2 + ROTATE_180 = 3 + ROTATE_270 = 4 + TRANSPOSE = 5 + TRANSVERSE = 6 + + +# transforms (also defined in Imaging.h) +class Transform(IntEnum): + AFFINE = 0 + EXTENT = 1 + PERSPECTIVE = 2 + QUAD = 3 + MESH = 4 + + +# resampling filters (also defined in Imaging.h) +class Resampling(IntEnum): + NEAREST = 0 + BOX = 4 + BILINEAR = 2 + HAMMING = 5 + BICUBIC = 3 + LANCZOS = 1 + + +_filters_support = { + Resampling.BOX: 0.5, + Resampling.BILINEAR: 1.0, + Resampling.HAMMING: 1.0, + Resampling.BICUBIC: 2.0, + Resampling.LANCZOS: 3.0, +} + + +# dithers +class Dither(IntEnum): + NONE = 0 + ORDERED = 1 # Not yet implemented + RASTERIZE = 2 # Not yet implemented + FLOYDSTEINBERG = 3 # default + + +# palettes/quantizers +class Palette(IntEnum): + WEB = 0 + ADAPTIVE = 1 + + +class Quantize(IntEnum): + MEDIANCUT = 0 + MAXCOVERAGE = 1 + FASTOCTREE = 2 + LIBIMAGEQUANT = 3 + + +module = sys.modules[__name__] +for enum in (Transpose, Transform, Resampling, Dither, Palette, Quantize): + for item in enum: + setattr(module, item.name, item.value) + + +if hasattr(core, "DEFAULT_STRATEGY"): + DEFAULT_STRATEGY = core.DEFAULT_STRATEGY + FILTERED = core.FILTERED + HUFFMAN_ONLY = core.HUFFMAN_ONLY + RLE = core.RLE + FIXED = core.FIXED + + +# -------------------------------------------------------------------- +# Registries + +if TYPE_CHECKING: + import mmap + from xml.etree.ElementTree import Element + + from IPython.lib.pretty import PrettyPrinter + + from . import ImageFile, ImageFilter, ImagePalette, ImageQt, TiffImagePlugin + from ._typing import CapsuleType, NumpyArray, StrOrBytesPath, TypeGuard +ID: list[str] = [] +OPEN: dict[ + str, + tuple[ + Callable[[IO[bytes], str | bytes], ImageFile.ImageFile], + Callable[[bytes], bool | str] | None, + ], +] = {} +MIME: dict[str, str] = {} +SAVE: dict[str, Callable[[Image, IO[bytes], str | bytes], None]] = {} +SAVE_ALL: dict[str, Callable[[Image, IO[bytes], str | bytes], None]] = {} +EXTENSION: dict[str, str] = {} +DECODERS: dict[str, type[ImageFile.PyDecoder]] = {} +ENCODERS: dict[str, type[ImageFile.PyEncoder]] = {} + +# -------------------------------------------------------------------- +# Modes + +_ENDIAN = "<" if sys.byteorder == "little" else ">" + + +def _conv_type_shape(im: Image) -> tuple[tuple[int, ...], str]: + m = ImageMode.getmode(im.mode) + shape: tuple[int, ...] = (im.height, im.width) + extra = len(m.bands) + if extra != 1: + shape += (extra,) + return shape, m.typestr + + +MODES = [ + "1", + "CMYK", + "F", + "HSV", + "I", + "I;16", + "I;16B", + "I;16L", + "I;16N", + "L", + "LA", + "La", + "LAB", + "P", + "PA", + "RGB", + "RGBA", + "RGBa", + "RGBX", + "YCbCr", +] + +# raw modes that may be memory mapped. NOTE: if you change this, you +# may have to modify the stride calculation in map.c too! +_MAPMODES = ("L", "P", "RGBX", "RGBA", "CMYK", "I;16", "I;16L", "I;16B") + + +def getmodebase(mode: str) -> str: + """ + Gets the "base" mode for given mode. This function returns "L" for + images that contain grayscale data, and "RGB" for images that + contain color data. + + :param mode: Input mode. + :returns: "L" or "RGB". + :exception KeyError: If the input mode was not a standard mode. + """ + return ImageMode.getmode(mode).basemode + + +def getmodetype(mode: str) -> str: + """ + Gets the storage type mode. Given a mode, this function returns a + single-layer mode suitable for storing individual bands. + + :param mode: Input mode. + :returns: "L", "I", or "F". + :exception KeyError: If the input mode was not a standard mode. + """ + return ImageMode.getmode(mode).basetype + + +def getmodebandnames(mode: str) -> tuple[str, ...]: + """ + Gets a list of individual band names. Given a mode, this function returns + a tuple containing the names of individual bands (use + :py:method:`~PIL.Image.getmodetype` to get the mode used to store each + individual band. + + :param mode: Input mode. + :returns: A tuple containing band names. The length of the tuple + gives the number of bands in an image of the given mode. + :exception KeyError: If the input mode was not a standard mode. + """ + return ImageMode.getmode(mode).bands + + +def getmodebands(mode: str) -> int: + """ + Gets the number of individual bands for this mode. + + :param mode: Input mode. + :returns: The number of bands in this mode. + :exception KeyError: If the input mode was not a standard mode. + """ + return len(ImageMode.getmode(mode).bands) + + +# -------------------------------------------------------------------- +# Helpers + +_initialized = 0 + + +def preinit() -> None: + """ + Explicitly loads BMP, GIF, JPEG, PPM and PPM file format drivers. + + It is called when opening or saving images. + """ + + global _initialized + if _initialized >= 1: + return + + try: + from . import BmpImagePlugin + + assert BmpImagePlugin + except ImportError: + pass + try: + from . import GifImagePlugin + + assert GifImagePlugin + except ImportError: + pass + try: + from . import JpegImagePlugin + + assert JpegImagePlugin + except ImportError: + pass + try: + from . import PpmImagePlugin + + assert PpmImagePlugin + except ImportError: + pass + try: + from . import PngImagePlugin + + assert PngImagePlugin + except ImportError: + pass + + _initialized = 1 + + +def init() -> bool: + """ + Explicitly initializes the Python Imaging Library. This function + loads all available file format drivers. + + It is called when opening or saving images if :py:meth:`~preinit()` is + insufficient, and by :py:meth:`~PIL.features.pilinfo`. + """ + + global _initialized + if _initialized >= 2: + return False + + parent_name = __name__.rpartition(".")[0] + for plugin in _plugins: + try: + logger.debug("Importing %s", plugin) + __import__(f"{parent_name}.{plugin}", globals(), locals(), []) + except ImportError as e: + logger.debug("Image: failed to import %s: %s", plugin, e) + + if OPEN or SAVE: + _initialized = 2 + return True + return False + + +# -------------------------------------------------------------------- +# Codec factories (used by tobytes/frombytes and ImageFile.load) + + +def _getdecoder( + mode: str, decoder_name: str, args: Any, extra: tuple[Any, ...] = () +) -> core.ImagingDecoder | ImageFile.PyDecoder: + # tweak arguments + if args is None: + args = () + elif not isinstance(args, tuple): + args = (args,) + + try: + decoder = DECODERS[decoder_name] + except KeyError: + pass + else: + return decoder(mode, *args + extra) + + try: + # get decoder + decoder = getattr(core, f"{decoder_name}_decoder") + except AttributeError as e: + msg = f"decoder {decoder_name} not available" + raise OSError(msg) from e + return decoder(mode, *args + extra) + + +def _getencoder( + mode: str, encoder_name: str, args: Any, extra: tuple[Any, ...] = () +) -> core.ImagingEncoder | ImageFile.PyEncoder: + # tweak arguments + if args is None: + args = () + elif not isinstance(args, tuple): + args = (args,) + + try: + encoder = ENCODERS[encoder_name] + except KeyError: + pass + else: + return encoder(mode, *args + extra) + + try: + # get encoder + encoder = getattr(core, f"{encoder_name}_encoder") + except AttributeError as e: + msg = f"encoder {encoder_name} not available" + raise OSError(msg) from e + return encoder(mode, *args + extra) + + +# -------------------------------------------------------------------- +# Simple expression analyzer + + +class ImagePointTransform: + """ + Used with :py:meth:`~PIL.Image.Image.point` for single band images with more than + 8 bits, this represents an affine transformation, where the value is multiplied by + ``scale`` and ``offset`` is added. + """ + + def __init__(self, scale: float, offset: float) -> None: + self.scale = scale + self.offset = offset + + def __neg__(self) -> ImagePointTransform: + return ImagePointTransform(-self.scale, -self.offset) + + def __add__(self, other: ImagePointTransform | float) -> ImagePointTransform: + if isinstance(other, ImagePointTransform): + return ImagePointTransform( + self.scale + other.scale, self.offset + other.offset + ) + return ImagePointTransform(self.scale, self.offset + other) + + __radd__ = __add__ + + def __sub__(self, other: ImagePointTransform | float) -> ImagePointTransform: + return self + -other + + def __rsub__(self, other: ImagePointTransform | float) -> ImagePointTransform: + return other + -self + + def __mul__(self, other: ImagePointTransform | float) -> ImagePointTransform: + if isinstance(other, ImagePointTransform): + return NotImplemented + return ImagePointTransform(self.scale * other, self.offset * other) + + __rmul__ = __mul__ + + def __truediv__(self, other: ImagePointTransform | float) -> ImagePointTransform: + if isinstance(other, ImagePointTransform): + return NotImplemented + return ImagePointTransform(self.scale / other, self.offset / other) + + +def _getscaleoffset( + expr: Callable[[ImagePointTransform], ImagePointTransform | float] +) -> tuple[float, float]: + a = expr(ImagePointTransform(1, 0)) + return (a.scale, a.offset) if isinstance(a, ImagePointTransform) else (0, a) + + +# -------------------------------------------------------------------- +# Implementation wrapper + + +class SupportsGetData(Protocol): + def getdata( + self, + ) -> tuple[Transform, Sequence[int]]: ... + + +class Image: + """ + This class represents an image object. To create + :py:class:`~PIL.Image.Image` objects, use the appropriate factory + functions. There's hardly ever any reason to call the Image constructor + directly. + + * :py:func:`~PIL.Image.open` + * :py:func:`~PIL.Image.new` + * :py:func:`~PIL.Image.frombytes` + """ + + format: str | None = None + format_description: str | None = None + _close_exclusive_fp_after_loading = True + + def __init__(self) -> None: + # FIXME: take "new" parameters / other image? + # FIXME: turn mode and size into delegating properties? + self._im: core.ImagingCore | DeferredError | None = None + self._mode = "" + self._size = (0, 0) + self.palette: ImagePalette.ImagePalette | None = None + self.info: dict[str | tuple[int, int], Any] = {} + self.readonly = 0 + self._exif: Exif | None = None + + @property + def im(self) -> core.ImagingCore: + if isinstance(self._im, DeferredError): + raise self._im.ex + assert self._im is not None + return self._im + + @im.setter + def im(self, im: core.ImagingCore) -> None: + self._im = im + + @property + def width(self) -> int: + return self.size[0] + + @property + def height(self) -> int: + return self.size[1] + + @property + def size(self) -> tuple[int, int]: + return self._size + + @property + def mode(self) -> str: + return self._mode + + def _new(self, im: core.ImagingCore) -> Image: + new = Image() + new.im = im + new._mode = im.mode + new._size = im.size + if im.mode in ("P", "PA"): + if self.palette: + new.palette = self.palette.copy() + else: + from . import ImagePalette + + new.palette = ImagePalette.ImagePalette() + new.info = self.info.copy() + return new + + # Context manager support + def __enter__(self): + return self + + def _close_fp(self): + if getattr(self, "_fp", False): + if self._fp != self.fp: + self._fp.close() + self._fp = DeferredError(ValueError("Operation on closed image")) + if self.fp: + self.fp.close() + + def __exit__(self, *args): + if hasattr(self, "fp"): + if getattr(self, "_exclusive_fp", False): + self._close_fp() + self.fp = None + + def close(self) -> None: + """ + Closes the file pointer, if possible. + + This operation will destroy the image core and release its memory. + The image data will be unusable afterward. + + This function is required to close images that have multiple frames or + have not had their file read and closed by the + :py:meth:`~PIL.Image.Image.load` method. See :ref:`file-handling` for + more information. + """ + if hasattr(self, "fp"): + try: + self._close_fp() + self.fp = None + except Exception as msg: + logger.debug("Error closing: %s", msg) + + if getattr(self, "map", None): + self.map: mmap.mmap | None = None + + # Instead of simply setting to None, we're setting up a + # deferred error that will better explain that the core image + # object is gone. + self._im = DeferredError(ValueError("Operation on closed image")) + + def _copy(self) -> None: + self.load() + self.im = self.im.copy() + self.readonly = 0 + + def _ensure_mutable(self) -> None: + if self.readonly: + self._copy() + else: + self.load() + + def _dump( + self, file: str | None = None, format: str | None = None, **options: Any + ) -> str: + suffix = "" + if format: + suffix = f".{format}" + + if not file: + f, filename = tempfile.mkstemp(suffix) + os.close(f) + else: + filename = file + if not filename.endswith(suffix): + filename = filename + suffix + + self.load() + + if not format or format == "PPM": + self.im.save_ppm(filename) + else: + self.save(filename, format, **options) + + return filename + + def __eq__(self, other: object) -> bool: + if self.__class__ is not other.__class__: + return False + assert isinstance(other, Image) + return ( + self.mode == other.mode + and self.size == other.size + and self.info == other.info + and self.getpalette() == other.getpalette() + and self.tobytes() == other.tobytes() + ) + + def __repr__(self) -> str: + return "<%s.%s image mode=%s size=%dx%d at 0x%X>" % ( + self.__class__.__module__, + self.__class__.__name__, + self.mode, + self.size[0], + self.size[1], + id(self), + ) + + def _repr_pretty_(self, p: PrettyPrinter, cycle: bool) -> None: + """IPython plain text display support""" + + # Same as __repr__ but without unpredictable id(self), + # to keep Jupyter notebook `text/plain` output stable. + p.text( + "<%s.%s image mode=%s size=%dx%d>" + % ( + self.__class__.__module__, + self.__class__.__name__, + self.mode, + self.size[0], + self.size[1], + ) + ) + + def _repr_image(self, image_format: str, **kwargs: Any) -> bytes | None: + """Helper function for iPython display hook. + + :param image_format: Image format. + :returns: image as bytes, saved into the given format. + """ + b = io.BytesIO() + try: + self.save(b, image_format, **kwargs) + except Exception: + return None + return b.getvalue() + + def _repr_png_(self) -> bytes | None: + """iPython display hook support for PNG format. + + :returns: PNG version of the image as bytes + """ + return self._repr_image("PNG", compress_level=1) + + def _repr_jpeg_(self) -> bytes | None: + """iPython display hook support for JPEG format. + + :returns: JPEG version of the image as bytes + """ + return self._repr_image("JPEG") + + @property + def __array_interface__(self) -> dict[str, str | bytes | int | tuple[int, ...]]: + # numpy array interface support + new: dict[str, str | bytes | int | tuple[int, ...]] = {"version": 3} + if self.mode == "1": + # Binary images need to be extended from bits to bytes + # See: https://github.com/python-pillow/Pillow/issues/350 + new["data"] = self.tobytes("raw", "L") + else: + new["data"] = self.tobytes() + new["shape"], new["typestr"] = _conv_type_shape(self) + return new + + def __getstate__(self) -> list[Any]: + im_data = self.tobytes() # load image first + return [self.info, self.mode, self.size, self.getpalette(), im_data] + + def __setstate__(self, state: list[Any]) -> None: + Image.__init__(self) + info, mode, size, palette, data = state + self.info = info + self._mode = mode + self._size = size + self.im = core.new(mode, size) + if mode in ("L", "LA", "P", "PA") and palette: + self.putpalette(palette) + self.frombytes(data) + + def tobytes(self, encoder_name: str = "raw", *args: Any) -> bytes: + """ + Return image as a bytes object. + + .. warning:: + + This method returns the raw image data from the internal + storage. For compressed image data (e.g. PNG, JPEG) use + :meth:`~.save`, with a BytesIO parameter for in-memory + data. + + :param encoder_name: What encoder to use. The default is to + use the standard "raw" encoder. + + A list of C encoders can be seen under + codecs section of the function array in + :file:`_imaging.c`. Python encoders are + registered within the relevant plugins. + :param args: Extra arguments to the encoder. + :returns: A :py:class:`bytes` object. + """ + + encoder_args: Any = args + if len(encoder_args) == 1 and isinstance(encoder_args[0], tuple): + # may pass tuple instead of argument list + encoder_args = encoder_args[0] + + if encoder_name == "raw" and encoder_args == (): + encoder_args = self.mode + + self.load() + + if self.width == 0 or self.height == 0: + return b"" + + # unpack data + e = _getencoder(self.mode, encoder_name, encoder_args) + e.setimage(self.im) + + bufsize = max(65536, self.size[0] * 4) # see RawEncode.c + + output = [] + while True: + bytes_consumed, errcode, data = e.encode(bufsize) + output.append(data) + if errcode: + break + if errcode < 0: + msg = f"encoder error {errcode} in tobytes" + raise RuntimeError(msg) + + return b"".join(output) + + def tobitmap(self, name: str = "image") -> bytes: + """ + Returns the image converted to an X11 bitmap. + + .. note:: This method only works for mode "1" images. + + :param name: The name prefix to use for the bitmap variables. + :returns: A string containing an X11 bitmap. + :raises ValueError: If the mode is not "1" + """ + + self.load() + if self.mode != "1": + msg = "not a bitmap" + raise ValueError(msg) + data = self.tobytes("xbm") + return b"".join( + [ + f"#define {name}_width {self.size[0]}\n".encode("ascii"), + f"#define {name}_height {self.size[1]}\n".encode("ascii"), + f"static char {name}_bits[] = {{\n".encode("ascii"), + data, + b"};", + ] + ) + + def frombytes( + self, + data: bytes | bytearray | SupportsArrayInterface, + decoder_name: str = "raw", + *args: Any, + ) -> None: + """ + Loads this image with pixel data from a bytes object. + + This method is similar to the :py:func:`~PIL.Image.frombytes` function, + but loads data into this image instead of creating a new image object. + """ + + if self.width == 0 or self.height == 0: + return + + decoder_args: Any = args + if len(decoder_args) == 1 and isinstance(decoder_args[0], tuple): + # may pass tuple instead of argument list + decoder_args = decoder_args[0] + + # default format + if decoder_name == "raw" and decoder_args == (): + decoder_args = self.mode + + # unpack data + d = _getdecoder(self.mode, decoder_name, decoder_args) + d.setimage(self.im) + s = d.decode(data) + + if s[0] >= 0: + msg = "not enough image data" + raise ValueError(msg) + if s[1] != 0: + msg = "cannot decode image data" + raise ValueError(msg) + + def load(self) -> core.PixelAccess | None: + """ + Allocates storage for the image and loads the pixel data. In + normal cases, you don't need to call this method, since the + Image class automatically loads an opened image when it is + accessed for the first time. + + If the file associated with the image was opened by Pillow, then this + method will close it. The exception to this is if the image has + multiple frames, in which case the file will be left open for seek + operations. See :ref:`file-handling` for more information. + + :returns: An image access object. + :rtype: :py:class:`.PixelAccess` + """ + if self._im is not None and self.palette and self.palette.dirty: + # realize palette + mode, arr = self.palette.getdata() + self.im.putpalette(self.palette.mode, mode, arr) + self.palette.dirty = 0 + self.palette.rawmode = None + if "transparency" in self.info and mode in ("LA", "PA"): + if isinstance(self.info["transparency"], int): + self.im.putpalettealpha(self.info["transparency"], 0) + else: + self.im.putpalettealphas(self.info["transparency"]) + self.palette.mode = "RGBA" + else: + self.palette.palette = self.im.getpalette( + self.palette.mode, self.palette.mode + ) + + if self._im is not None: + return self.im.pixel_access(self.readonly) + return None + + def verify(self) -> None: + """ + Verifies the contents of a file. For data read from a file, this + method attempts to determine if the file is broken, without + actually decoding the image data. If this method finds any + problems, it raises suitable exceptions. If you need to load + the image after using this method, you must reopen the image + file. + """ + pass + + def convert( + self, + mode: str | None = None, + matrix: tuple[float, ...] | None = None, + dither: Dither | None = None, + palette: Palette = Palette.WEB, + colors: int = 256, + ) -> Image: + """ + Returns a converted copy of this image. For the "P" mode, this + method translates pixels through the palette. If mode is + omitted, a mode is chosen so that all information in the image + and the palette can be represented without a palette. + + This supports all possible conversions between "L", "RGB" and "CMYK". The + ``matrix`` argument only supports "L" and "RGB". + + When translating a color image to grayscale (mode "L"), + the library uses the ITU-R 601-2 luma transform:: + + L = R * 299/1000 + G * 587/1000 + B * 114/1000 + + The default method of converting a grayscale ("L") or "RGB" + image into a bilevel (mode "1") image uses Floyd-Steinberg + dither to approximate the original image luminosity levels. If + dither is ``None``, all values larger than 127 are set to 255 (white), + all other values to 0 (black). To use other thresholds, use the + :py:meth:`~PIL.Image.Image.point` method. + + When converting from "RGBA" to "P" without a ``matrix`` argument, + this passes the operation to :py:meth:`~PIL.Image.Image.quantize`, + and ``dither`` and ``palette`` are ignored. + + When converting from "PA", if an "RGBA" palette is present, the alpha + channel from the image will be used instead of the values from the palette. + + :param mode: The requested mode. See: :ref:`concept-modes`. + :param matrix: An optional conversion matrix. If given, this + should be 4- or 12-tuple containing floating point values. + :param dither: Dithering method, used when converting from + mode "RGB" to "P" or from "RGB" or "L" to "1". + Available methods are :data:`Dither.NONE` or :data:`Dither.FLOYDSTEINBERG` + (default). Note that this is not used when ``matrix`` is supplied. + :param palette: Palette to use when converting from mode "RGB" + to "P". Available palettes are :data:`Palette.WEB` or + :data:`Palette.ADAPTIVE`. + :param colors: Number of colors to use for the :data:`Palette.ADAPTIVE` + palette. Defaults to 256. + :rtype: :py:class:`~PIL.Image.Image` + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + if mode in ("BGR;15", "BGR;16", "BGR;24"): + deprecate(mode, 12) + + self.load() + + has_transparency = "transparency" in self.info + if not mode and self.mode == "P": + # determine default mode + if self.palette: + mode = self.palette.mode + else: + mode = "RGB" + if mode == "RGB" and has_transparency: + mode = "RGBA" + if not mode or (mode == self.mode and not matrix): + return self.copy() + + if matrix: + # matrix conversion + if mode not in ("L", "RGB"): + msg = "illegal conversion" + raise ValueError(msg) + im = self.im.convert_matrix(mode, matrix) + new_im = self._new(im) + if has_transparency and self.im.bands == 3: + transparency = new_im.info["transparency"] + + def convert_transparency( + m: tuple[float, ...], v: tuple[int, int, int] + ) -> int: + value = m[0] * v[0] + m[1] * v[1] + m[2] * v[2] + m[3] * 0.5 + return max(0, min(255, int(value))) + + if mode == "L": + transparency = convert_transparency(matrix, transparency) + elif len(mode) == 3: + transparency = tuple( + convert_transparency(matrix[i * 4 : i * 4 + 4], transparency) + for i in range(0, len(transparency)) + ) + new_im.info["transparency"] = transparency + return new_im + + if mode == "P" and self.mode == "RGBA": + return self.quantize(colors) + + trns = None + delete_trns = False + # transparency handling + if has_transparency: + if (self.mode in ("1", "L", "I", "I;16") and mode in ("LA", "RGBA")) or ( + self.mode == "RGB" and mode in ("La", "LA", "RGBa", "RGBA") + ): + # Use transparent conversion to promote from transparent + # color to an alpha channel. + new_im = self._new( + self.im.convert_transparent(mode, self.info["transparency"]) + ) + del new_im.info["transparency"] + return new_im + elif self.mode in ("L", "RGB", "P") and mode in ("L", "RGB", "P"): + t = self.info["transparency"] + if isinstance(t, bytes): + # Dragons. This can't be represented by a single color + warnings.warn( + "Palette images with Transparency expressed in bytes should be " + "converted to RGBA images" + ) + delete_trns = True + else: + # get the new transparency color. + # use existing conversions + trns_im = new(self.mode, (1, 1)) + if self.mode == "P": + assert self.palette is not None + trns_im.putpalette(self.palette, self.palette.mode) + if isinstance(t, tuple): + err = "Couldn't allocate a palette color for transparency" + assert trns_im.palette is not None + try: + t = trns_im.palette.getcolor(t, self) + except ValueError as e: + if str(e) == "cannot allocate more than 256 colors": + # If all 256 colors are in use, + # then there is no need for transparency + t = None + else: + raise ValueError(err) from e + if t is None: + trns = None + else: + trns_im.putpixel((0, 0), t) + + if mode in ("L", "RGB"): + trns_im = trns_im.convert(mode) + else: + # can't just retrieve the palette number, got to do it + # after quantization. + trns_im = trns_im.convert("RGB") + trns = trns_im.getpixel((0, 0)) + + elif self.mode == "P" and mode in ("LA", "PA", "RGBA"): + t = self.info["transparency"] + delete_trns = True + + if isinstance(t, bytes): + self.im.putpalettealphas(t) + elif isinstance(t, int): + self.im.putpalettealpha(t, 0) + else: + msg = "Transparency for P mode should be bytes or int" + raise ValueError(msg) + + if mode == "P" and palette == Palette.ADAPTIVE: + im = self.im.quantize(colors) + new_im = self._new(im) + from . import ImagePalette + + new_im.palette = ImagePalette.ImagePalette( + "RGB", new_im.im.getpalette("RGB") + ) + if delete_trns: + # This could possibly happen if we requantize to fewer colors. + # The transparency would be totally off in that case. + del new_im.info["transparency"] + if trns is not None: + try: + new_im.info["transparency"] = new_im.palette.getcolor( + cast(tuple[int, ...], trns), # trns was converted to RGB + new_im, + ) + except Exception: + # if we can't make a transparent color, don't leave the old + # transparency hanging around to mess us up. + del new_im.info["transparency"] + warnings.warn("Couldn't allocate palette entry for transparency") + return new_im + + if "LAB" in (self.mode, mode): + im = self + if mode == "LAB": + if im.mode not in ("RGB", "RGBA", "RGBX"): + im = im.convert("RGBA") + other_mode = im.mode + else: + other_mode = mode + if other_mode in ("RGB", "RGBA", "RGBX"): + from . import ImageCms + + srgb = ImageCms.createProfile("sRGB") + lab = ImageCms.createProfile("LAB") + profiles = [lab, srgb] if im.mode == "LAB" else [srgb, lab] + transform = ImageCms.buildTransform( + profiles[0], profiles[1], im.mode, mode + ) + return transform.apply(im) + + # colorspace conversion + if dither is None: + dither = Dither.FLOYDSTEINBERG + + try: + im = self.im.convert(mode, dither) + except ValueError: + try: + # normalize source image and try again + modebase = getmodebase(self.mode) + if modebase == self.mode: + raise + im = self.im.convert(modebase) + im = im.convert(mode, dither) + except KeyError as e: + msg = "illegal conversion" + raise ValueError(msg) from e + + new_im = self._new(im) + if mode == "P" and palette != Palette.ADAPTIVE: + from . import ImagePalette + + new_im.palette = ImagePalette.ImagePalette("RGB", im.getpalette("RGB")) + if delete_trns: + # crash fail if we leave a bytes transparency in an rgb/l mode. + del new_im.info["transparency"] + if trns is not None: + if new_im.mode == "P" and new_im.palette: + try: + new_im.info["transparency"] = new_im.palette.getcolor( + cast(tuple[int, ...], trns), new_im # trns was converted to RGB + ) + except ValueError as e: + del new_im.info["transparency"] + if str(e) != "cannot allocate more than 256 colors": + # If all 256 colors are in use, + # then there is no need for transparency + warnings.warn( + "Couldn't allocate palette entry for transparency" + ) + else: + new_im.info["transparency"] = trns + return new_im + + def quantize( + self, + colors: int = 256, + method: int | None = None, + kmeans: int = 0, + palette: Image | None = None, + dither: Dither = Dither.FLOYDSTEINBERG, + ) -> Image: + """ + Convert the image to 'P' mode with the specified number + of colors. + + :param colors: The desired number of colors, <= 256 + :param method: :data:`Quantize.MEDIANCUT` (median cut), + :data:`Quantize.MAXCOVERAGE` (maximum coverage), + :data:`Quantize.FASTOCTREE` (fast octree), + :data:`Quantize.LIBIMAGEQUANT` (libimagequant; check support + using :py:func:`PIL.features.check_feature` with + ``feature="libimagequant"``). + + By default, :data:`Quantize.MEDIANCUT` will be used. + + The exception to this is RGBA images. :data:`Quantize.MEDIANCUT` + and :data:`Quantize.MAXCOVERAGE` do not support RGBA images, so + :data:`Quantize.FASTOCTREE` is used by default instead. + :param kmeans: Integer greater than or equal to zero. + :param palette: Quantize to the palette of given + :py:class:`PIL.Image.Image`. + :param dither: Dithering method, used when converting from + mode "RGB" to "P" or from "RGB" or "L" to "1". + Available methods are :data:`Dither.NONE` or :data:`Dither.FLOYDSTEINBERG` + (default). + :returns: A new image + """ + + self.load() + + if method is None: + # defaults: + method = Quantize.MEDIANCUT + if self.mode == "RGBA": + method = Quantize.FASTOCTREE + + if self.mode == "RGBA" and method not in ( + Quantize.FASTOCTREE, + Quantize.LIBIMAGEQUANT, + ): + # Caller specified an invalid mode. + msg = ( + "Fast Octree (method == 2) and libimagequant (method == 3) " + "are the only valid methods for quantizing RGBA images" + ) + raise ValueError(msg) + + if palette: + # use palette from reference image + palette.load() + if palette.mode != "P": + msg = "bad mode for palette image" + raise ValueError(msg) + if self.mode not in {"RGB", "L"}: + msg = "only RGB or L mode images can be quantized to a palette" + raise ValueError(msg) + im = self.im.convert("P", dither, palette.im) + new_im = self._new(im) + assert palette.palette is not None + new_im.palette = palette.palette.copy() + return new_im + + if kmeans < 0: + msg = "kmeans must not be negative" + raise ValueError(msg) + + im = self._new(self.im.quantize(colors, method, kmeans)) + + from . import ImagePalette + + mode = im.im.getpalettemode() + palette_data = im.im.getpalette(mode, mode)[: colors * len(mode)] + im.palette = ImagePalette.ImagePalette(mode, palette_data) + + return im + + def copy(self) -> Image: + """ + Copies this image. Use this method if you wish to paste things + into an image, but still retain the original. + + :rtype: :py:class:`~PIL.Image.Image` + :returns: An :py:class:`~PIL.Image.Image` object. + """ + self.load() + return self._new(self.im.copy()) + + __copy__ = copy + + def crop(self, box: tuple[float, float, float, float] | None = None) -> Image: + """ + Returns a rectangular region from this image. The box is a + 4-tuple defining the left, upper, right, and lower pixel + coordinate. See :ref:`coordinate-system`. + + Note: Prior to Pillow 3.4.0, this was a lazy operation. + + :param box: The crop rectangle, as a (left, upper, right, lower)-tuple. + :rtype: :py:class:`~PIL.Image.Image` + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + if box is None: + return self.copy() + + if box[2] < box[0]: + msg = "Coordinate 'right' is less than 'left'" + raise ValueError(msg) + elif box[3] < box[1]: + msg = "Coordinate 'lower' is less than 'upper'" + raise ValueError(msg) + + self.load() + return self._new(self._crop(self.im, box)) + + def _crop( + self, im: core.ImagingCore, box: tuple[float, float, float, float] + ) -> core.ImagingCore: + """ + Returns a rectangular region from the core image object im. + + This is equivalent to calling im.crop((x0, y0, x1, y1)), but + includes additional sanity checks. + + :param im: a core image object + :param box: The crop rectangle, as a (left, upper, right, lower)-tuple. + :returns: A core image object. + """ + + x0, y0, x1, y1 = map(int, map(round, box)) + + absolute_values = (abs(x1 - x0), abs(y1 - y0)) + + _decompression_bomb_check(absolute_values) + + return im.crop((x0, y0, x1, y1)) + + def draft( + self, mode: str | None, size: tuple[int, int] | None + ) -> tuple[str, tuple[int, int, float, float]] | None: + """ + Configures the image file loader so it returns a version of the + image that as closely as possible matches the given mode and + size. For example, you can use this method to convert a color + JPEG to grayscale while loading it. + + If any changes are made, returns a tuple with the chosen ``mode`` and + ``box`` with coordinates of the original image within the altered one. + + Note that this method modifies the :py:class:`~PIL.Image.Image` object + in place. If the image has already been loaded, this method has no + effect. + + Note: This method is not implemented for most images. It is + currently implemented only for JPEG and MPO images. + + :param mode: The requested mode. + :param size: The requested size in pixels, as a 2-tuple: + (width, height). + """ + pass + + def _expand(self, xmargin: int, ymargin: int | None = None) -> Image: + if ymargin is None: + ymargin = xmargin + self.load() + return self._new(self.im.expand(xmargin, ymargin)) + + def filter(self, filter: ImageFilter.Filter | type[ImageFilter.Filter]) -> Image: + """ + Filters this image using the given filter. For a list of + available filters, see the :py:mod:`~PIL.ImageFilter` module. + + :param filter: Filter kernel. + :returns: An :py:class:`~PIL.Image.Image` object.""" + + from . import ImageFilter + + self.load() + + if callable(filter): + filter = filter() + if not hasattr(filter, "filter"): + msg = "filter argument should be ImageFilter.Filter instance or class" + raise TypeError(msg) + + multiband = isinstance(filter, ImageFilter.MultibandFilter) + if self.im.bands == 1 or multiband: + return self._new(filter.filter(self.im)) + + ims = [ + self._new(filter.filter(self.im.getband(c))) for c in range(self.im.bands) + ] + return merge(self.mode, ims) + + def getbands(self) -> tuple[str, ...]: + """ + Returns a tuple containing the name of each band in this image. + For example, ``getbands`` on an RGB image returns ("R", "G", "B"). + + :returns: A tuple containing band names. + :rtype: tuple + """ + return ImageMode.getmode(self.mode).bands + + def getbbox(self, *, alpha_only: bool = True) -> tuple[int, int, int, int] | None: + """ + Calculates the bounding box of the non-zero regions in the + image. + + :param alpha_only: Optional flag, defaulting to ``True``. + If ``True`` and the image has an alpha channel, trim transparent pixels. + Otherwise, trim pixels when all channels are zero. + Keyword-only argument. + :returns: The bounding box is returned as a 4-tuple defining the + left, upper, right, and lower pixel coordinate. See + :ref:`coordinate-system`. If the image is completely empty, this + method returns None. + + """ + + self.load() + return self.im.getbbox(alpha_only) + + def getcolors( + self, maxcolors: int = 256 + ) -> list[tuple[int, tuple[int, ...]]] | list[tuple[int, float]] | None: + """ + Returns a list of colors used in this image. + + The colors will be in the image's mode. For example, an RGB image will + return a tuple of (red, green, blue) color values, and a P image will + return the index of the color in the palette. + + :param maxcolors: Maximum number of colors. If this number is + exceeded, this method returns None. The default limit is + 256 colors. + :returns: An unsorted list of (count, pixel) values. + """ + + self.load() + if self.mode in ("1", "L", "P"): + h = self.im.histogram() + out: list[tuple[int, float]] = [(h[i], i) for i in range(256) if h[i]] + if len(out) > maxcolors: + return None + return out + return self.im.getcolors(maxcolors) + + def getdata(self, band: int | None = None) -> core.ImagingCore: + """ + Returns the contents of this image as a sequence object + containing pixel values. The sequence object is flattened, so + that values for line one follow directly after the values of + line zero, and so on. + + Note that the sequence object returned by this method is an + internal PIL data type, which only supports certain sequence + operations. To convert it to an ordinary sequence (e.g. for + printing), use ``list(im.getdata())``. + + :param band: What band to return. The default is to return + all bands. To return a single band, pass in the index + value (e.g. 0 to get the "R" band from an "RGB" image). + :returns: A sequence-like object. + """ + + self.load() + if band is not None: + return self.im.getband(band) + return self.im # could be abused + + def getextrema(self) -> tuple[float, float] | tuple[tuple[int, int], ...]: + """ + Gets the minimum and maximum pixel values for each band in + the image. + + :returns: For a single-band image, a 2-tuple containing the + minimum and maximum pixel value. For a multi-band image, + a tuple containing one 2-tuple for each band. + """ + + self.load() + if self.im.bands > 1: + return tuple(self.im.getband(i).getextrema() for i in range(self.im.bands)) + return self.im.getextrema() + + def getxmp(self) -> dict[str, Any]: + """ + Returns a dictionary containing the XMP tags. + Requires defusedxml to be installed. + + :returns: XMP tags in a dictionary. + """ + + def get_name(tag: str) -> str: + return re.sub("^{[^}]+}", "", tag) + + def get_value(element: Element) -> str | dict[str, Any] | None: + value: dict[str, Any] = {get_name(k): v for k, v in element.attrib.items()} + children = list(element) + if children: + for child in children: + name = get_name(child.tag) + child_value = get_value(child) + if name in value: + if not isinstance(value[name], list): + value[name] = [value[name]] + value[name].append(child_value) + else: + value[name] = child_value + elif value: + if element.text: + value["text"] = element.text + else: + return element.text + return value + + if ElementTree is None: + warnings.warn("XMP data cannot be read without defusedxml dependency") + return {} + if "xmp" not in self.info: + return {} + root = ElementTree.fromstring(self.info["xmp"].rstrip(b"\x00")) + return {get_name(root.tag): get_value(root)} + + def getexif(self) -> Exif: + """ + Gets EXIF data from the image. + + :returns: an :py:class:`~PIL.Image.Exif` object. + """ + if self._exif is None: + self._exif = Exif() + elif self._exif._loaded: + return self._exif + self._exif._loaded = True + + exif_info = self.info.get("exif") + if exif_info is None: + if "Raw profile type exif" in self.info: + exif_info = bytes.fromhex( + "".join(self.info["Raw profile type exif"].split("\n")[3:]) + ) + elif hasattr(self, "tag_v2"): + self._exif.bigtiff = self.tag_v2._bigtiff + self._exif.endian = self.tag_v2._endian + self._exif.load_from_fp(self.fp, self.tag_v2._offset) + if exif_info is not None: + self._exif.load(exif_info) + + # XMP tags + if ExifTags.Base.Orientation not in self._exif: + xmp_tags = self.info.get("XML:com.adobe.xmp") + if xmp_tags: + match = re.search(r'tiff:Orientation(="|>)([0-9])', xmp_tags) + if match: + self._exif[ExifTags.Base.Orientation] = int(match[2]) + + return self._exif + + def _reload_exif(self) -> None: + if self._exif is None or not self._exif._loaded: + return + self._exif._loaded = False + self.getexif() + + def get_child_images(self) -> list[ImageFile.ImageFile]: + child_images = [] + exif = self.getexif() + ifds = [] + if ExifTags.Base.SubIFDs in exif: + subifd_offsets = exif[ExifTags.Base.SubIFDs] + if subifd_offsets: + if not isinstance(subifd_offsets, tuple): + subifd_offsets = (subifd_offsets,) + for subifd_offset in subifd_offsets: + ifds.append((exif._get_ifd_dict(subifd_offset), subifd_offset)) + ifd1 = exif.get_ifd(ExifTags.IFD.IFD1) + if ifd1 and ifd1.get(513): + assert exif._info is not None + ifds.append((ifd1, exif._info.next)) + + offset = None + for ifd, ifd_offset in ifds: + current_offset = self.fp.tell() + if offset is None: + offset = current_offset + + fp = self.fp + if ifd is not None: + thumbnail_offset = ifd.get(513) + if thumbnail_offset is not None: + thumbnail_offset += getattr(self, "_exif_offset", 0) + self.fp.seek(thumbnail_offset) + data = self.fp.read(ifd.get(514)) + fp = io.BytesIO(data) + + with open(fp) as im: + from . import TiffImagePlugin + + if thumbnail_offset is None and isinstance( + im, TiffImagePlugin.TiffImageFile + ): + im._frame_pos = [ifd_offset] + im._seek(0) + im.load() + child_images.append(im) + + if offset is not None: + self.fp.seek(offset) + return child_images + + def getim(self) -> CapsuleType: + """ + Returns a capsule that points to the internal image memory. + + :returns: A capsule object. + """ + + self.load() + return self.im.ptr + + def getpalette(self, rawmode: str | None = "RGB") -> list[int] | None: + """ + Returns the image palette as a list. + + :param rawmode: The mode in which to return the palette. ``None`` will + return the palette in its current mode. + + .. versionadded:: 9.1.0 + + :returns: A list of color values [r, g, b, ...], or None if the + image has no palette. + """ + + self.load() + try: + mode = self.im.getpalettemode() + except ValueError: + return None # no palette + if rawmode is None: + rawmode = mode + return list(self.im.getpalette(mode, rawmode)) + + @property + def has_transparency_data(self) -> bool: + """ + Determine if an image has transparency data, whether in the form of an + alpha channel, a palette with an alpha channel, or a "transparency" key + in the info dictionary. + + Note the image might still appear solid, if all of the values shown + within are opaque. + + :returns: A boolean. + """ + if ( + self.mode in ("LA", "La", "PA", "RGBA", "RGBa") + or "transparency" in self.info + ): + return True + if self.mode == "P": + assert self.palette is not None + return self.palette.mode.endswith("A") + return False + + def apply_transparency(self) -> None: + """ + If a P mode image has a "transparency" key in the info dictionary, + remove the key and instead apply the transparency to the palette. + Otherwise, the image is unchanged. + """ + if self.mode != "P" or "transparency" not in self.info: + return + + from . import ImagePalette + + palette = self.getpalette("RGBA") + assert palette is not None + transparency = self.info["transparency"] + if isinstance(transparency, bytes): + for i, alpha in enumerate(transparency): + palette[i * 4 + 3] = alpha + else: + palette[transparency * 4 + 3] = 0 + self.palette = ImagePalette.ImagePalette("RGBA", bytes(palette)) + self.palette.dirty = 1 + + del self.info["transparency"] + + def getpixel( + self, xy: tuple[int, int] | list[int] + ) -> float | tuple[int, ...] | None: + """ + Returns the pixel value at a given position. + + :param xy: The coordinate, given as (x, y). See + :ref:`coordinate-system`. + :returns: The pixel value. If the image is a multi-layer image, + this method returns a tuple. + """ + + self.load() + return self.im.getpixel(tuple(xy)) + + def getprojection(self) -> tuple[list[int], list[int]]: + """ + Get projection to x and y axes + + :returns: Two sequences, indicating where there are non-zero + pixels along the X-axis and the Y-axis, respectively. + """ + + self.load() + x, y = self.im.getprojection() + return list(x), list(y) + + def histogram( + self, mask: Image | None = None, extrema: tuple[float, float] | None = None + ) -> list[int]: + """ + Returns a histogram for the image. The histogram is returned as a + list of pixel counts, one for each pixel value in the source + image. Counts are grouped into 256 bins for each band, even if + the image has more than 8 bits per band. If the image has more + than one band, the histograms for all bands are concatenated (for + example, the histogram for an "RGB" image contains 768 values). + + A bilevel image (mode "1") is treated as a grayscale ("L") image + by this method. + + If a mask is provided, the method returns a histogram for those + parts of the image where the mask image is non-zero. The mask + image must have the same size as the image, and be either a + bi-level image (mode "1") or a grayscale image ("L"). + + :param mask: An optional mask. + :param extrema: An optional tuple of manually-specified extrema. + :returns: A list containing pixel counts. + """ + self.load() + if mask: + mask.load() + return self.im.histogram((0, 0), mask.im) + if self.mode in ("I", "F"): + return self.im.histogram( + extrema if extrema is not None else self.getextrema() + ) + return self.im.histogram() + + def entropy( + self, mask: Image | None = None, extrema: tuple[float, float] | None = None + ) -> float: + """ + Calculates and returns the entropy for the image. + + A bilevel image (mode "1") is treated as a grayscale ("L") + image by this method. + + If a mask is provided, the method employs the histogram for + those parts of the image where the mask image is non-zero. + The mask image must have the same size as the image, and be + either a bi-level image (mode "1") or a grayscale image ("L"). + + :param mask: An optional mask. + :param extrema: An optional tuple of manually-specified extrema. + :returns: A float value representing the image entropy + """ + self.load() + if mask: + mask.load() + return self.im.entropy((0, 0), mask.im) + if self.mode in ("I", "F"): + return self.im.entropy( + extrema if extrema is not None else self.getextrema() + ) + return self.im.entropy() + + def paste( + self, + im: Image | str | float | tuple[float, ...], + box: Image | tuple[int, int, int, int] | tuple[int, int] | None = None, + mask: Image | None = None, + ) -> None: + """ + Pastes another image into this image. The box argument is either + a 2-tuple giving the upper left corner, a 4-tuple defining the + left, upper, right, and lower pixel coordinate, or None (same as + (0, 0)). See :ref:`coordinate-system`. If a 4-tuple is given, the size + of the pasted image must match the size of the region. + + If the modes don't match, the pasted image is converted to the mode of + this image (see the :py:meth:`~PIL.Image.Image.convert` method for + details). + + Instead of an image, the source can be a integer or tuple + containing pixel values. The method then fills the region + with the given color. When creating RGB images, you can + also use color strings as supported by the ImageColor module. + + If a mask is given, this method updates only the regions + indicated by the mask. You can use either "1", "L", "LA", "RGBA" + or "RGBa" images (if present, the alpha band is used as mask). + Where the mask is 255, the given image is copied as is. Where + the mask is 0, the current value is preserved. Intermediate + values will mix the two images together, including their alpha + channels if they have them. + + See :py:meth:`~PIL.Image.Image.alpha_composite` if you want to + combine images with respect to their alpha channels. + + :param im: Source image or pixel value (integer, float or tuple). + :param box: An optional 4-tuple giving the region to paste into. + If a 2-tuple is used instead, it's treated as the upper left + corner. If omitted or None, the source is pasted into the + upper left corner. + + If an image is given as the second argument and there is no + third, the box defaults to (0, 0), and the second argument + is interpreted as a mask image. + :param mask: An optional mask image. + """ + + if isinstance(box, Image): + if mask is not None: + msg = "If using second argument as mask, third argument must be None" + raise ValueError(msg) + # abbreviated paste(im, mask) syntax + mask = box + box = None + + if box is None: + box = (0, 0) + + if len(box) == 2: + # upper left corner given; get size from image or mask + if isinstance(im, Image): + size = im.size + elif isinstance(mask, Image): + size = mask.size + else: + # FIXME: use self.size here? + msg = "cannot determine region size; use 4-item box" + raise ValueError(msg) + box += (box[0] + size[0], box[1] + size[1]) + + source: core.ImagingCore | str | float | tuple[float, ...] + if isinstance(im, str): + from . import ImageColor + + source = ImageColor.getcolor(im, self.mode) + elif isinstance(im, Image): + im.load() + if self.mode != im.mode: + if self.mode != "RGB" or im.mode not in ("LA", "RGBA", "RGBa"): + # should use an adapter for this! + im = im.convert(self.mode) + source = im.im + else: + source = im + + self._ensure_mutable() + + if mask: + mask.load() + self.im.paste(source, box, mask.im) + else: + self.im.paste(source, box) + + def alpha_composite( + self, im: Image, dest: Sequence[int] = (0, 0), source: Sequence[int] = (0, 0) + ) -> None: + """'In-place' analog of Image.alpha_composite. Composites an image + onto this image. + + :param im: image to composite over this one + :param dest: Optional 2 tuple (left, top) specifying the upper + left corner in this (destination) image. + :param source: Optional 2 (left, top) tuple for the upper left + corner in the overlay source image, or 4 tuple (left, top, right, + bottom) for the bounds of the source rectangle + + Performance Note: Not currently implemented in-place in the core layer. + """ + + if not isinstance(source, (list, tuple)): + msg = "Source must be a list or tuple" + raise ValueError(msg) + if not isinstance(dest, (list, tuple)): + msg = "Destination must be a list or tuple" + raise ValueError(msg) + + if len(source) == 4: + overlay_crop_box = tuple(source) + elif len(source) == 2: + overlay_crop_box = tuple(source) + im.size + else: + msg = "Source must be a sequence of length 2 or 4" + raise ValueError(msg) + + if not len(dest) == 2: + msg = "Destination must be a sequence of length 2" + raise ValueError(msg) + if min(source) < 0: + msg = "Source must be non-negative" + raise ValueError(msg) + + # over image, crop if it's not the whole image. + if overlay_crop_box == (0, 0) + im.size: + overlay = im + else: + overlay = im.crop(overlay_crop_box) + + # target for the paste + box = tuple(dest) + (dest[0] + overlay.width, dest[1] + overlay.height) + + # destination image. don't copy if we're using the whole image. + if box == (0, 0) + self.size: + background = self + else: + background = self.crop(box) + + result = alpha_composite(background, overlay) + self.paste(result, box) + + def point( + self, + lut: ( + Sequence[float] + | NumpyArray + | Callable[[int], float] + | Callable[[ImagePointTransform], ImagePointTransform | float] + | ImagePointHandler + ), + mode: str | None = None, + ) -> Image: + """ + Maps this image through a lookup table or function. + + :param lut: A lookup table, containing 256 (or 65536 if + self.mode=="I" and mode == "L") values per band in the + image. A function can be used instead, it should take a + single argument. The function is called once for each + possible pixel value, and the resulting table is applied to + all bands of the image. + + It may also be an :py:class:`~PIL.Image.ImagePointHandler` + object:: + + class Example(Image.ImagePointHandler): + def point(self, im: Image) -> Image: + # Return result + :param mode: Output mode (default is same as input). This can only be used if + the source image has mode "L" or "P", and the output has mode "1" or the + source image mode is "I" and the output mode is "L". + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + self.load() + + if isinstance(lut, ImagePointHandler): + return lut.point(self) + + if callable(lut): + # if it isn't a list, it should be a function + if self.mode in ("I", "I;16", "F"): + # check if the function can be used with point_transform + # UNDONE wiredfool -- I think this prevents us from ever doing + # a gamma function point transform on > 8bit images. + scale, offset = _getscaleoffset(lut) # type: ignore[arg-type] + return self._new(self.im.point_transform(scale, offset)) + # for other modes, convert the function to a table + flatLut = [lut(i) for i in range(256)] * self.im.bands # type: ignore[arg-type] + else: + flatLut = lut + + if self.mode == "F": + # FIXME: _imaging returns a confusing error message for this case + msg = "point operation not supported for this mode" + raise ValueError(msg) + + if mode != "F": + flatLut = [round(i) for i in flatLut] + return self._new(self.im.point(flatLut, mode)) + + def putalpha(self, alpha: Image | int) -> None: + """ + Adds or replaces the alpha layer in this image. If the image + does not have an alpha layer, it's converted to "LA" or "RGBA". + The new layer must be either "L" or "1". + + :param alpha: The new alpha layer. This can either be an "L" or "1" + image having the same size as this image, or an integer. + """ + + self._ensure_mutable() + + if self.mode not in ("LA", "PA", "RGBA"): + # attempt to promote self to a matching alpha mode + try: + mode = getmodebase(self.mode) + "A" + try: + self.im.setmode(mode) + except (AttributeError, ValueError) as e: + # do things the hard way + im = self.im.convert(mode) + if im.mode not in ("LA", "PA", "RGBA"): + msg = "alpha channel could not be added" + raise ValueError(msg) from e # sanity check + self.im = im + self._mode = self.im.mode + except KeyError as e: + msg = "illegal image mode" + raise ValueError(msg) from e + + if self.mode in ("LA", "PA"): + band = 1 + else: + band = 3 + + if isinstance(alpha, Image): + # alpha layer + if alpha.mode not in ("1", "L"): + msg = "illegal image mode" + raise ValueError(msg) + alpha.load() + if alpha.mode == "1": + alpha = alpha.convert("L") + else: + # constant alpha + try: + self.im.fillband(band, alpha) + except (AttributeError, ValueError): + # do things the hard way + alpha = new("L", self.size, alpha) + else: + return + + self.im.putband(alpha.im, band) + + def putdata( + self, + data: Sequence[float] | Sequence[Sequence[int]] | core.ImagingCore | NumpyArray, + scale: float = 1.0, + offset: float = 0.0, + ) -> None: + """ + Copies pixel data from a flattened sequence object into the image. The + values should start at the upper left corner (0, 0), continue to the + end of the line, followed directly by the first value of the second + line, and so on. Data will be read until either the image or the + sequence ends. The scale and offset values are used to adjust the + sequence values: **pixel = value*scale + offset**. + + :param data: A flattened sequence object. + :param scale: An optional scale value. The default is 1.0. + :param offset: An optional offset value. The default is 0.0. + """ + + self._ensure_mutable() + + self.im.putdata(data, scale, offset) + + def putpalette( + self, + data: ImagePalette.ImagePalette | bytes | Sequence[int], + rawmode: str = "RGB", + ) -> None: + """ + Attaches a palette to this image. The image must be a "P", "PA", "L" + or "LA" image. + + The palette sequence must contain at most 256 colors, made up of one + integer value for each channel in the raw mode. + For example, if the raw mode is "RGB", then it can contain at most 768 + values, made up of red, green and blue values for the corresponding pixel + index in the 256 colors. + If the raw mode is "RGBA", then it can contain at most 1024 values, + containing red, green, blue and alpha values. + + Alternatively, an 8-bit string may be used instead of an integer sequence. + + :param data: A palette sequence (either a list or a string). + :param rawmode: The raw mode of the palette. Either "RGB", "RGBA", or a mode + that can be transformed to "RGB" or "RGBA" (e.g. "R", "BGR;15", "RGBA;L"). + """ + from . import ImagePalette + + if self.mode not in ("L", "LA", "P", "PA"): + msg = "illegal image mode" + raise ValueError(msg) + if isinstance(data, ImagePalette.ImagePalette): + if data.rawmode is not None: + palette = ImagePalette.raw(data.rawmode, data.palette) + else: + palette = ImagePalette.ImagePalette(palette=data.palette) + palette.dirty = 1 + else: + if not isinstance(data, bytes): + data = bytes(data) + palette = ImagePalette.raw(rawmode, data) + self._mode = "PA" if "A" in self.mode else "P" + self.palette = palette + self.palette.mode = "RGBA" if "A" in rawmode else "RGB" + self.load() # install new palette + + def putpixel( + self, xy: tuple[int, int], value: float | tuple[int, ...] | list[int] + ) -> None: + """ + Modifies the pixel at the given position. The color is given as + a single numerical value for single-band images, and a tuple for + multi-band images. In addition to this, RGB and RGBA tuples are + accepted for P and PA images. + + Note that this method is relatively slow. For more extensive changes, + use :py:meth:`~PIL.Image.Image.paste` or the :py:mod:`~PIL.ImageDraw` + module instead. + + See: + + * :py:meth:`~PIL.Image.Image.paste` + * :py:meth:`~PIL.Image.Image.putdata` + * :py:mod:`~PIL.ImageDraw` + + :param xy: The pixel coordinate, given as (x, y). See + :ref:`coordinate-system`. + :param value: The pixel value. + """ + + if self.readonly: + self._copy() + self.load() + + if ( + self.mode in ("P", "PA") + and isinstance(value, (list, tuple)) + and len(value) in [3, 4] + ): + # RGB or RGBA value for a P or PA image + if self.mode == "PA": + alpha = value[3] if len(value) == 4 else 255 + value = value[:3] + assert self.palette is not None + palette_index = self.palette.getcolor(tuple(value), self) + value = (palette_index, alpha) if self.mode == "PA" else palette_index + return self.im.putpixel(xy, value) + + def remap_palette( + self, dest_map: list[int], source_palette: bytes | bytearray | None = None + ) -> Image: + """ + Rewrites the image to reorder the palette. + + :param dest_map: A list of indexes into the original palette. + e.g. ``[1,0]`` would swap a two item palette, and ``list(range(256))`` + is the identity transform. + :param source_palette: Bytes or None. + :returns: An :py:class:`~PIL.Image.Image` object. + + """ + from . import ImagePalette + + if self.mode not in ("L", "P"): + msg = "illegal image mode" + raise ValueError(msg) + + bands = 3 + palette_mode = "RGB" + if source_palette is None: + if self.mode == "P": + self.load() + palette_mode = self.im.getpalettemode() + if palette_mode == "RGBA": + bands = 4 + source_palette = self.im.getpalette(palette_mode, palette_mode) + else: # L-mode + source_palette = bytearray(i // 3 for i in range(768)) + elif len(source_palette) > 768: + bands = 4 + palette_mode = "RGBA" + + palette_bytes = b"" + new_positions = [0] * 256 + + # pick only the used colors from the palette + for i, oldPosition in enumerate(dest_map): + palette_bytes += source_palette[ + oldPosition * bands : oldPosition * bands + bands + ] + new_positions[oldPosition] = i + + # replace the palette color id of all pixel with the new id + + # Palette images are [0..255], mapped through a 1 or 3 + # byte/color map. We need to remap the whole image + # from palette 1 to palette 2. New_positions is + # an array of indexes into palette 1. Palette 2 is + # palette 1 with any holes removed. + + # We're going to leverage the convert mechanism to use the + # C code to remap the image from palette 1 to palette 2, + # by forcing the source image into 'L' mode and adding a + # mapping 'L' mode palette, then converting back to 'L' + # sans palette thus converting the image bytes, then + # assigning the optimized RGB palette. + + # perf reference, 9500x4000 gif, w/~135 colors + # 14 sec prepatch, 1 sec postpatch with optimization forced. + + mapping_palette = bytearray(new_positions) + + m_im = self.copy() + m_im._mode = "P" + + m_im.palette = ImagePalette.ImagePalette( + palette_mode, palette=mapping_palette * bands + ) + # possibly set palette dirty, then + # m_im.putpalette(mapping_palette, 'L') # converts to 'P' + # or just force it. + # UNDONE -- this is part of the general issue with palettes + m_im.im.putpalette(palette_mode, palette_mode + ";L", m_im.palette.tobytes()) + + m_im = m_im.convert("L") + + m_im.putpalette(palette_bytes, palette_mode) + m_im.palette = ImagePalette.ImagePalette(palette_mode, palette=palette_bytes) + + if "transparency" in self.info: + try: + m_im.info["transparency"] = dest_map.index(self.info["transparency"]) + except ValueError: + if "transparency" in m_im.info: + del m_im.info["transparency"] + + return m_im + + def _get_safe_box( + self, + size: tuple[int, int], + resample: Resampling, + box: tuple[float, float, float, float], + ) -> tuple[int, int, int, int]: + """Expands the box so it includes adjacent pixels + that may be used by resampling with the given resampling filter. + """ + filter_support = _filters_support[resample] - 0.5 + scale_x = (box[2] - box[0]) / size[0] + scale_y = (box[3] - box[1]) / size[1] + support_x = filter_support * scale_x + support_y = filter_support * scale_y + + return ( + max(0, int(box[0] - support_x)), + max(0, int(box[1] - support_y)), + min(self.size[0], math.ceil(box[2] + support_x)), + min(self.size[1], math.ceil(box[3] + support_y)), + ) + + def resize( + self, + size: tuple[int, int] | list[int] | NumpyArray, + resample: int | None = None, + box: tuple[float, float, float, float] | None = None, + reducing_gap: float | None = None, + ) -> Image: + """ + Returns a resized copy of this image. + + :param size: The requested size in pixels, as a tuple or array: + (width, height). + :param resample: An optional resampling filter. This can be + one of :py:data:`Resampling.NEAREST`, :py:data:`Resampling.BOX`, + :py:data:`Resampling.BILINEAR`, :py:data:`Resampling.HAMMING`, + :py:data:`Resampling.BICUBIC` or :py:data:`Resampling.LANCZOS`. + If the image has mode "1" or "P", it is always set to + :py:data:`Resampling.NEAREST`. If the image mode is "BGR;15", + "BGR;16" or "BGR;24", then the default filter is + :py:data:`Resampling.NEAREST`. Otherwise, the default filter is + :py:data:`Resampling.BICUBIC`. See: :ref:`concept-filters`. + :param box: An optional 4-tuple of floats providing + the source image region to be scaled. + The values must be within (0, 0, width, height) rectangle. + If omitted or None, the entire source is used. + :param reducing_gap: Apply optimization by resizing the image + in two steps. First, reducing the image by integer times + using :py:meth:`~PIL.Image.Image.reduce`. + Second, resizing using regular resampling. The last step + changes size no less than by ``reducing_gap`` times. + ``reducing_gap`` may be None (no first step is performed) + or should be greater than 1.0. The bigger ``reducing_gap``, + the closer the result to the fair resampling. + The smaller ``reducing_gap``, the faster resizing. + With ``reducing_gap`` greater or equal to 3.0, the result is + indistinguishable from fair resampling in most cases. + The default value is None (no optimization). + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + if resample is None: + bgr = self.mode.startswith("BGR;") + resample = Resampling.NEAREST if bgr else Resampling.BICUBIC + elif resample not in ( + Resampling.NEAREST, + Resampling.BILINEAR, + Resampling.BICUBIC, + Resampling.LANCZOS, + Resampling.BOX, + Resampling.HAMMING, + ): + msg = f"Unknown resampling filter ({resample})." + + filters = [ + f"{filter[1]} ({filter[0]})" + for filter in ( + (Resampling.NEAREST, "Image.Resampling.NEAREST"), + (Resampling.LANCZOS, "Image.Resampling.LANCZOS"), + (Resampling.BILINEAR, "Image.Resampling.BILINEAR"), + (Resampling.BICUBIC, "Image.Resampling.BICUBIC"), + (Resampling.BOX, "Image.Resampling.BOX"), + (Resampling.HAMMING, "Image.Resampling.HAMMING"), + ) + ] + msg += f" Use {', '.join(filters[:-1])} or {filters[-1]}" + raise ValueError(msg) + + if reducing_gap is not None and reducing_gap < 1.0: + msg = "reducing_gap must be 1.0 or greater" + raise ValueError(msg) + + if box is None: + box = (0, 0) + self.size + + size = tuple(size) + if self.size == size and box == (0, 0) + self.size: + return self.copy() + + if self.mode in ("1", "P"): + resample = Resampling.NEAREST + + if self.mode in ["LA", "RGBA"] and resample != Resampling.NEAREST: + im = self.convert({"LA": "La", "RGBA": "RGBa"}[self.mode]) + im = im.resize(size, resample, box) + return im.convert(self.mode) + + self.load() + + if reducing_gap is not None and resample != Resampling.NEAREST: + factor_x = int((box[2] - box[0]) / size[0] / reducing_gap) or 1 + factor_y = int((box[3] - box[1]) / size[1] / reducing_gap) or 1 + if factor_x > 1 or factor_y > 1: + reduce_box = self._get_safe_box(size, cast(Resampling, resample), box) + factor = (factor_x, factor_y) + self = ( + self.reduce(factor, box=reduce_box) + if callable(self.reduce) + else Image.reduce(self, factor, box=reduce_box) + ) + box = ( + (box[0] - reduce_box[0]) / factor_x, + (box[1] - reduce_box[1]) / factor_y, + (box[2] - reduce_box[0]) / factor_x, + (box[3] - reduce_box[1]) / factor_y, + ) + + return self._new(self.im.resize(size, resample, box)) + + def reduce( + self, + factor: int | tuple[int, int], + box: tuple[int, int, int, int] | None = None, + ) -> Image: + """ + Returns a copy of the image reduced ``factor`` times. + If the size of the image is not dividable by ``factor``, + the resulting size will be rounded up. + + :param factor: A greater than 0 integer or tuple of two integers + for width and height separately. + :param box: An optional 4-tuple of ints providing + the source image region to be reduced. + The values must be within ``(0, 0, width, height)`` rectangle. + If omitted or ``None``, the entire source is used. + """ + if not isinstance(factor, (list, tuple)): + factor = (factor, factor) + + if box is None: + box = (0, 0) + self.size + + if factor == (1, 1) and box == (0, 0) + self.size: + return self.copy() + + if self.mode in ["LA", "RGBA"]: + im = self.convert({"LA": "La", "RGBA": "RGBa"}[self.mode]) + im = im.reduce(factor, box) + return im.convert(self.mode) + + self.load() + + return self._new(self.im.reduce(factor, box)) + + def rotate( + self, + angle: float, + resample: Resampling = Resampling.NEAREST, + expand: int | bool = False, + center: tuple[float, float] | None = None, + translate: tuple[int, int] | None = None, + fillcolor: float | tuple[float, ...] | str | None = None, + ) -> Image: + """ + Returns a rotated copy of this image. This method returns a + copy of this image, rotated the given number of degrees counter + clockwise around its centre. + + :param angle: In degrees counter clockwise. + :param resample: An optional resampling filter. This can be + one of :py:data:`Resampling.NEAREST` (use nearest neighbour), + :py:data:`Resampling.BILINEAR` (linear interpolation in a 2x2 + environment), or :py:data:`Resampling.BICUBIC` (cubic spline + interpolation in a 4x4 environment). If omitted, or if the image has + mode "1" or "P", it is set to :py:data:`Resampling.NEAREST`. + See :ref:`concept-filters`. + :param expand: Optional expansion flag. If true, expands the output + image to make it large enough to hold the entire rotated image. + If false or omitted, make the output image the same size as the + input image. Note that the expand flag assumes rotation around + the center and no translation. + :param center: Optional center of rotation (a 2-tuple). Origin is + the upper left corner. Default is the center of the image. + :param translate: An optional post-rotate translation (a 2-tuple). + :param fillcolor: An optional color for area outside the rotated image. + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + angle = angle % 360.0 + + # Fast paths regardless of filter, as long as we're not + # translating or changing the center. + if not (center or translate): + if angle == 0: + return self.copy() + if angle == 180: + return self.transpose(Transpose.ROTATE_180) + if angle in (90, 270) and (expand or self.width == self.height): + return self.transpose( + Transpose.ROTATE_90 if angle == 90 else Transpose.ROTATE_270 + ) + + # Calculate the affine matrix. Note that this is the reverse + # transformation (from destination image to source) because we + # want to interpolate the (discrete) destination pixel from + # the local area around the (floating) source pixel. + + # The matrix we actually want (note that it operates from the right): + # (1, 0, tx) (1, 0, cx) ( cos a, sin a, 0) (1, 0, -cx) + # (0, 1, ty) * (0, 1, cy) * (-sin a, cos a, 0) * (0, 1, -cy) + # (0, 0, 1) (0, 0, 1) ( 0, 0, 1) (0, 0, 1) + + # The reverse matrix is thus: + # (1, 0, cx) ( cos -a, sin -a, 0) (1, 0, -cx) (1, 0, -tx) + # (0, 1, cy) * (-sin -a, cos -a, 0) * (0, 1, -cy) * (0, 1, -ty) + # (0, 0, 1) ( 0, 0, 1) (0, 0, 1) (0, 0, 1) + + # In any case, the final translation may be updated at the end to + # compensate for the expand flag. + + w, h = self.size + + if translate is None: + post_trans = (0, 0) + else: + post_trans = translate + if center is None: + center = (w / 2, h / 2) + + angle = -math.radians(angle) + matrix = [ + round(math.cos(angle), 15), + round(math.sin(angle), 15), + 0.0, + round(-math.sin(angle), 15), + round(math.cos(angle), 15), + 0.0, + ] + + def transform(x: float, y: float, matrix: list[float]) -> tuple[float, float]: + (a, b, c, d, e, f) = matrix + return a * x + b * y + c, d * x + e * y + f + + matrix[2], matrix[5] = transform( + -center[0] - post_trans[0], -center[1] - post_trans[1], matrix + ) + matrix[2] += center[0] + matrix[5] += center[1] + + if expand: + # calculate output size + xx = [] + yy = [] + for x, y in ((0, 0), (w, 0), (w, h), (0, h)): + transformed_x, transformed_y = transform(x, y, matrix) + xx.append(transformed_x) + yy.append(transformed_y) + nw = math.ceil(max(xx)) - math.floor(min(xx)) + nh = math.ceil(max(yy)) - math.floor(min(yy)) + + # We multiply a translation matrix from the right. Because of its + # special form, this is the same as taking the image of the + # translation vector as new translation vector. + matrix[2], matrix[5] = transform(-(nw - w) / 2.0, -(nh - h) / 2.0, matrix) + w, h = nw, nh + + return self.transform( + (w, h), Transform.AFFINE, matrix, resample, fillcolor=fillcolor + ) + + def save( + self, fp: StrOrBytesPath | IO[bytes], format: str | None = None, **params: Any + ) -> None: + """ + Saves this image under the given filename. If no format is + specified, the format to use is determined from the filename + extension, if possible. + + Keyword options can be used to provide additional instructions + to the writer. If a writer doesn't recognise an option, it is + silently ignored. The available options are described in the + :doc:`image format documentation + <../handbook/image-file-formats>` for each writer. + + You can use a file object instead of a filename. In this case, + you must always specify the format. The file object must + implement the ``seek``, ``tell``, and ``write`` + methods, and be opened in binary mode. + + :param fp: A filename (string), os.PathLike object or file object. + :param format: Optional format override. If omitted, the + format to use is determined from the filename extension. + If a file object was used instead of a filename, this + parameter should always be used. + :param params: Extra parameters to the image writer. + :returns: None + :exception ValueError: If the output format could not be determined + from the file name. Use the format option to solve this. + :exception OSError: If the file could not be written. The file + may have been created, and may contain partial data. + """ + + filename: str | bytes = "" + open_fp = False + if is_path(fp): + filename = os.path.realpath(os.fspath(fp)) + open_fp = True + elif fp == sys.stdout: + try: + fp = sys.stdout.buffer + except AttributeError: + pass + if not filename and hasattr(fp, "name") and is_path(fp.name): + # only set the name for metadata purposes + filename = os.path.realpath(os.fspath(fp.name)) + + # may mutate self! + self._ensure_mutable() + + save_all = params.pop("save_all", False) + self.encoderinfo = params + self.encoderconfig: tuple[Any, ...] = () + + preinit() + + filename_ext = os.path.splitext(filename)[1].lower() + ext = filename_ext.decode() if isinstance(filename_ext, bytes) else filename_ext + + if not format: + if ext not in EXTENSION: + init() + try: + format = EXTENSION[ext] + except KeyError as e: + msg = f"unknown file extension: {ext}" + raise ValueError(msg) from e + + if format.upper() not in SAVE: + init() + if save_all: + save_handler = SAVE_ALL[format.upper()] + else: + save_handler = SAVE[format.upper()] + + created = False + if open_fp: + created = not os.path.exists(filename) + if params.get("append", False): + # Open also for reading ("+"), because TIFF save_all + # writer needs to go back and edit the written data. + fp = builtins.open(filename, "r+b") + else: + fp = builtins.open(filename, "w+b") + else: + fp = cast(IO[bytes], fp) + + try: + save_handler(self, fp, filename) + except Exception: + if open_fp: + fp.close() + if created: + try: + os.remove(filename) + except PermissionError: + pass + raise + if open_fp: + fp.close() + + def seek(self, frame: int) -> None: + """ + Seeks to the given frame in this sequence file. If you seek + beyond the end of the sequence, the method raises an + ``EOFError`` exception. When a sequence file is opened, the + library automatically seeks to frame 0. + + See :py:meth:`~PIL.Image.Image.tell`. + + If defined, :attr:`~PIL.Image.Image.n_frames` refers to the + number of available frames. + + :param frame: Frame number, starting at 0. + :exception EOFError: If the call attempts to seek beyond the end + of the sequence. + """ + + # overridden by file handlers + if frame != 0: + msg = "no more images in file" + raise EOFError(msg) + + def show(self, title: str | None = None) -> None: + """ + Displays this image. This method is mainly intended for debugging purposes. + + This method calls :py:func:`PIL.ImageShow.show` internally. You can use + :py:func:`PIL.ImageShow.register` to override its default behaviour. + + The image is first saved to a temporary file. By default, it will be in + PNG format. + + On Unix, the image is then opened using the **xdg-open**, **display**, + **gm**, **eog** or **xv** utility, depending on which one can be found. + + On macOS, the image is opened with the native Preview application. + + On Windows, the image is opened with the standard PNG display utility. + + :param title: Optional title to use for the image window, where possible. + """ + + _show(self, title=title) + + def split(self) -> tuple[Image, ...]: + """ + Split this image into individual bands. This method returns a + tuple of individual image bands from an image. For example, + splitting an "RGB" image creates three new images each + containing a copy of one of the original bands (red, green, + blue). + + If you need only one band, :py:meth:`~PIL.Image.Image.getchannel` + method can be more convenient and faster. + + :returns: A tuple containing bands. + """ + + self.load() + if self.im.bands == 1: + return (self.copy(),) + return tuple(map(self._new, self.im.split())) + + def getchannel(self, channel: int | str) -> Image: + """ + Returns an image containing a single channel of the source image. + + :param channel: What channel to return. Could be index + (0 for "R" channel of "RGB") or channel name + ("A" for alpha channel of "RGBA"). + :returns: An image in "L" mode. + + .. versionadded:: 4.3.0 + """ + self.load() + + if isinstance(channel, str): + try: + channel = self.getbands().index(channel) + except ValueError as e: + msg = f'The image has no channel "{channel}"' + raise ValueError(msg) from e + + return self._new(self.im.getband(channel)) + + def tell(self) -> int: + """ + Returns the current frame number. See :py:meth:`~PIL.Image.Image.seek`. + + If defined, :attr:`~PIL.Image.Image.n_frames` refers to the + number of available frames. + + :returns: Frame number, starting with 0. + """ + return 0 + + def thumbnail( + self, + size: tuple[float, float], + resample: Resampling = Resampling.BICUBIC, + reducing_gap: float | None = 2.0, + ) -> None: + """ + Make this image into a thumbnail. This method modifies the + image to contain a thumbnail version of itself, no larger than + the given size. This method calculates an appropriate thumbnail + size to preserve the aspect of the image, calls the + :py:meth:`~PIL.Image.Image.draft` method to configure the file reader + (where applicable), and finally resizes the image. + + Note that this function modifies the :py:class:`~PIL.Image.Image` + object in place. If you need to use the full resolution image as well, + apply this method to a :py:meth:`~PIL.Image.Image.copy` of the original + image. + + :param size: The requested size in pixels, as a 2-tuple: + (width, height). + :param resample: Optional resampling filter. This can be one + of :py:data:`Resampling.NEAREST`, :py:data:`Resampling.BOX`, + :py:data:`Resampling.BILINEAR`, :py:data:`Resampling.HAMMING`, + :py:data:`Resampling.BICUBIC` or :py:data:`Resampling.LANCZOS`. + If omitted, it defaults to :py:data:`Resampling.BICUBIC`. + (was :py:data:`Resampling.NEAREST` prior to version 2.5.0). + See: :ref:`concept-filters`. + :param reducing_gap: Apply optimization by resizing the image + in two steps. First, reducing the image by integer times + using :py:meth:`~PIL.Image.Image.reduce` or + :py:meth:`~PIL.Image.Image.draft` for JPEG images. + Second, resizing using regular resampling. The last step + changes size no less than by ``reducing_gap`` times. + ``reducing_gap`` may be None (no first step is performed) + or should be greater than 1.0. The bigger ``reducing_gap``, + the closer the result to the fair resampling. + The smaller ``reducing_gap``, the faster resizing. + With ``reducing_gap`` greater or equal to 3.0, the result is + indistinguishable from fair resampling in most cases. + The default value is 2.0 (very close to fair resampling + while still being faster in many cases). + :returns: None + """ + + provided_size = tuple(map(math.floor, size)) + + def preserve_aspect_ratio() -> tuple[int, int] | None: + def round_aspect(number: float, key: Callable[[int], float]) -> int: + return max(min(math.floor(number), math.ceil(number), key=key), 1) + + x, y = provided_size + if x >= self.width and y >= self.height: + return None + + aspect = self.width / self.height + if x / y >= aspect: + x = round_aspect(y * aspect, key=lambda n: abs(aspect - n / y)) + else: + y = round_aspect( + x / aspect, key=lambda n: 0 if n == 0 else abs(aspect - x / n) + ) + return x, y + + preserved_size = preserve_aspect_ratio() + if preserved_size is None: + return + final_size = preserved_size + + box = None + if reducing_gap is not None: + res = self.draft( + None, (int(size[0] * reducing_gap), int(size[1] * reducing_gap)) + ) + if res is not None: + box = res[1] + + if self.size != final_size: + im = self.resize(final_size, resample, box=box, reducing_gap=reducing_gap) + + self.im = im.im + self._size = final_size + self._mode = self.im.mode + + self.readonly = 0 + + # FIXME: the different transform methods need further explanation + # instead of bloating the method docs, add a separate chapter. + def transform( + self, + size: tuple[int, int], + method: Transform | ImageTransformHandler | SupportsGetData, + data: Sequence[Any] | None = None, + resample: int = Resampling.NEAREST, + fill: int = 1, + fillcolor: float | tuple[float, ...] | str | None = None, + ) -> Image: + """ + Transforms this image. This method creates a new image with the + given size, and the same mode as the original, and copies data + to the new image using the given transform. + + :param size: The output size in pixels, as a 2-tuple: + (width, height). + :param method: The transformation method. This is one of + :py:data:`Transform.EXTENT` (cut out a rectangular subregion), + :py:data:`Transform.AFFINE` (affine transform), + :py:data:`Transform.PERSPECTIVE` (perspective transform), + :py:data:`Transform.QUAD` (map a quadrilateral to a rectangle), or + :py:data:`Transform.MESH` (map a number of source quadrilaterals + in one operation). + + It may also be an :py:class:`~PIL.Image.ImageTransformHandler` + object:: + + class Example(Image.ImageTransformHandler): + def transform(self, size, data, resample, fill=1): + # Return result + + Implementations of :py:class:`~PIL.Image.ImageTransformHandler` + for some of the :py:class:`Transform` methods are provided + in :py:mod:`~PIL.ImageTransform`. + + It may also be an object with a ``method.getdata`` method + that returns a tuple supplying new ``method`` and ``data`` values:: + + class Example: + def getdata(self): + method = Image.Transform.EXTENT + data = (0, 0, 100, 100) + return method, data + :param data: Extra data to the transformation method. + :param resample: Optional resampling filter. It can be one of + :py:data:`Resampling.NEAREST` (use nearest neighbour), + :py:data:`Resampling.BILINEAR` (linear interpolation in a 2x2 + environment), or :py:data:`Resampling.BICUBIC` (cubic spline + interpolation in a 4x4 environment). If omitted, or if the image + has mode "1" or "P", it is set to :py:data:`Resampling.NEAREST`. + See: :ref:`concept-filters`. + :param fill: If ``method`` is an + :py:class:`~PIL.Image.ImageTransformHandler` object, this is one of + the arguments passed to it. Otherwise, it is unused. + :param fillcolor: Optional fill color for the area outside the + transform in the output image. + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + if self.mode in ("LA", "RGBA") and resample != Resampling.NEAREST: + return ( + self.convert({"LA": "La", "RGBA": "RGBa"}[self.mode]) + .transform(size, method, data, resample, fill, fillcolor) + .convert(self.mode) + ) + + if isinstance(method, ImageTransformHandler): + return method.transform(size, self, resample=resample, fill=fill) + + if hasattr(method, "getdata"): + # compatibility w. old-style transform objects + method, data = method.getdata() + + if data is None: + msg = "missing method data" + raise ValueError(msg) + + im = new(self.mode, size, fillcolor) + if self.mode == "P" and self.palette: + im.palette = self.palette.copy() + im.info = self.info.copy() + if method == Transform.MESH: + # list of quads + for box, quad in data: + im.__transformer( + box, self, Transform.QUAD, quad, resample, fillcolor is None + ) + else: + im.__transformer( + (0, 0) + size, self, method, data, resample, fillcolor is None + ) + + return im + + def __transformer( + self, + box: tuple[int, int, int, int], + image: Image, + method: Transform, + data: Sequence[float], + resample: int = Resampling.NEAREST, + fill: bool = True, + ) -> None: + w = box[2] - box[0] + h = box[3] - box[1] + + if method == Transform.AFFINE: + data = data[:6] + + elif method == Transform.EXTENT: + # convert extent to an affine transform + x0, y0, x1, y1 = data + xs = (x1 - x0) / w + ys = (y1 - y0) / h + method = Transform.AFFINE + data = (xs, 0, x0, 0, ys, y0) + + elif method == Transform.PERSPECTIVE: + data = data[:8] + + elif method == Transform.QUAD: + # quadrilateral warp. data specifies the four corners + # given as NW, SW, SE, and NE. + nw = data[:2] + sw = data[2:4] + se = data[4:6] + ne = data[6:8] + x0, y0 = nw + As = 1.0 / w + At = 1.0 / h + data = ( + x0, + (ne[0] - x0) * As, + (sw[0] - x0) * At, + (se[0] - sw[0] - ne[0] + x0) * As * At, + y0, + (ne[1] - y0) * As, + (sw[1] - y0) * At, + (se[1] - sw[1] - ne[1] + y0) * As * At, + ) + + else: + msg = "unknown transformation method" + raise ValueError(msg) + + if resample not in ( + Resampling.NEAREST, + Resampling.BILINEAR, + Resampling.BICUBIC, + ): + if resample in (Resampling.BOX, Resampling.HAMMING, Resampling.LANCZOS): + unusable: dict[int, str] = { + Resampling.BOX: "Image.Resampling.BOX", + Resampling.HAMMING: "Image.Resampling.HAMMING", + Resampling.LANCZOS: "Image.Resampling.LANCZOS", + } + msg = unusable[resample] + f" ({resample}) cannot be used." + else: + msg = f"Unknown resampling filter ({resample})." + + filters = [ + f"{filter[1]} ({filter[0]})" + for filter in ( + (Resampling.NEAREST, "Image.Resampling.NEAREST"), + (Resampling.BILINEAR, "Image.Resampling.BILINEAR"), + (Resampling.BICUBIC, "Image.Resampling.BICUBIC"), + ) + ] + msg += f" Use {', '.join(filters[:-1])} or {filters[-1]}" + raise ValueError(msg) + + image.load() + + self.load() + + if image.mode in ("1", "P"): + resample = Resampling.NEAREST + + self.im.transform(box, image.im, method, data, resample, fill) + + def transpose(self, method: Transpose) -> Image: + """ + Transpose image (flip or rotate in 90 degree steps) + + :param method: One of :py:data:`Transpose.FLIP_LEFT_RIGHT`, + :py:data:`Transpose.FLIP_TOP_BOTTOM`, :py:data:`Transpose.ROTATE_90`, + :py:data:`Transpose.ROTATE_180`, :py:data:`Transpose.ROTATE_270`, + :py:data:`Transpose.TRANSPOSE` or :py:data:`Transpose.TRANSVERSE`. + :returns: Returns a flipped or rotated copy of this image. + """ + + self.load() + return self._new(self.im.transpose(method)) + + def effect_spread(self, distance: int) -> Image: + """ + Randomly spread pixels in an image. + + :param distance: Distance to spread pixels. + """ + self.load() + return self._new(self.im.effect_spread(distance)) + + def toqimage(self) -> ImageQt.ImageQt: + """Returns a QImage copy of this image""" + from . import ImageQt + + if not ImageQt.qt_is_installed: + msg = "Qt bindings are not installed" + raise ImportError(msg) + return ImageQt.toqimage(self) + + def toqpixmap(self) -> ImageQt.QPixmap: + """Returns a QPixmap copy of this image""" + from . import ImageQt + + if not ImageQt.qt_is_installed: + msg = "Qt bindings are not installed" + raise ImportError(msg) + return ImageQt.toqpixmap(self) + + +# -------------------------------------------------------------------- +# Abstract handlers. + + +class ImagePointHandler: + """ + Used as a mixin by point transforms + (for use with :py:meth:`~PIL.Image.Image.point`) + """ + + @abc.abstractmethod + def point(self, im: Image) -> Image: + pass + + +class ImageTransformHandler: + """ + Used as a mixin by geometry transforms + (for use with :py:meth:`~PIL.Image.Image.transform`) + """ + + @abc.abstractmethod + def transform( + self, + size: tuple[int, int], + image: Image, + **options: Any, + ) -> Image: + pass + + +# -------------------------------------------------------------------- +# Factories + +# +# Debugging + + +def _wedge() -> Image: + """Create grayscale wedge (for debugging only)""" + + return Image()._new(core.wedge("L")) + + +def _check_size(size: Any) -> None: + """ + Common check to enforce type and sanity check on size tuples + + :param size: Should be a 2 tuple of (width, height) + :returns: None, or raises a ValueError + """ + + if not isinstance(size, (list, tuple)): + msg = "Size must be a list or tuple" + raise ValueError(msg) + if len(size) != 2: + msg = "Size must be a sequence of length 2" + raise ValueError(msg) + if size[0] < 0 or size[1] < 0: + msg = "Width and height must be >= 0" + raise ValueError(msg) + + +def new( + mode: str, + size: tuple[int, int] | list[int], + color: float | tuple[float, ...] | str | None = 0, +) -> Image: + """ + Creates a new image with the given mode and size. + + :param mode: The mode to use for the new image. See: + :ref:`concept-modes`. + :param size: A 2-tuple, containing (width, height) in pixels. + :param color: What color to use for the image. Default is black. + If given, this should be a single integer or floating point value + for single-band modes, and a tuple for multi-band modes (one value + per band). When creating RGB or HSV images, you can also use color + strings as supported by the ImageColor module. If the color is + None, the image is not initialised. + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + if mode in ("BGR;15", "BGR;16", "BGR;24"): + deprecate(mode, 12) + + _check_size(size) + + if color is None: + # don't initialize + return Image()._new(core.new(mode, size)) + + if isinstance(color, str): + # css3-style specifier + + from . import ImageColor + + color = ImageColor.getcolor(color, mode) + + im = Image() + if ( + mode == "P" + and isinstance(color, (list, tuple)) + and all(isinstance(i, int) for i in color) + ): + color_ints: tuple[int, ...] = cast(tuple[int, ...], tuple(color)) + if len(color_ints) == 3 or len(color_ints) == 4: + # RGB or RGBA value for a P image + from . import ImagePalette + + im.palette = ImagePalette.ImagePalette() + color = im.palette.getcolor(color_ints) + return im._new(core.fill(mode, size, color)) + + +def frombytes( + mode: str, + size: tuple[int, int], + data: bytes | bytearray | SupportsArrayInterface, + decoder_name: str = "raw", + *args: Any, +) -> Image: + """ + Creates a copy of an image memory from pixel data in a buffer. + + In its simplest form, this function takes three arguments + (mode, size, and unpacked pixel data). + + You can also use any pixel decoder supported by PIL. For more + information on available decoders, see the section + :ref:`Writing Your Own File Codec `. + + Note that this function decodes pixel data only, not entire images. + If you have an entire image in a string, wrap it in a + :py:class:`~io.BytesIO` object, and use :py:func:`~PIL.Image.open` to load + it. + + :param mode: The image mode. See: :ref:`concept-modes`. + :param size: The image size. + :param data: A byte buffer containing raw data for the given mode. + :param decoder_name: What decoder to use. + :param args: Additional parameters for the given decoder. + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + _check_size(size) + + im = new(mode, size) + if im.width != 0 and im.height != 0: + decoder_args: Any = args + if len(decoder_args) == 1 and isinstance(decoder_args[0], tuple): + # may pass tuple instead of argument list + decoder_args = decoder_args[0] + + if decoder_name == "raw" and decoder_args == (): + decoder_args = mode + + im.frombytes(data, decoder_name, decoder_args) + return im + + +def frombuffer( + mode: str, + size: tuple[int, int], + data: bytes | SupportsArrayInterface, + decoder_name: str = "raw", + *args: Any, +) -> Image: + """ + Creates an image memory referencing pixel data in a byte buffer. + + This function is similar to :py:func:`~PIL.Image.frombytes`, but uses data + in the byte buffer, where possible. This means that changes to the + original buffer object are reflected in this image). Not all modes can + share memory; supported modes include "L", "RGBX", "RGBA", and "CMYK". + + Note that this function decodes pixel data only, not entire images. + If you have an entire image file in a string, wrap it in a + :py:class:`~io.BytesIO` object, and use :py:func:`~PIL.Image.open` to load it. + + The default parameters used for the "raw" decoder differs from that used for + :py:func:`~PIL.Image.frombytes`. This is a bug, and will probably be fixed in a + future release. The current release issues a warning if you do this; to disable + the warning, you should provide the full set of parameters. See below for details. + + :param mode: The image mode. See: :ref:`concept-modes`. + :param size: The image size. + :param data: A bytes or other buffer object containing raw + data for the given mode. + :param decoder_name: What decoder to use. + :param args: Additional parameters for the given decoder. For the + default encoder ("raw"), it's recommended that you provide the + full set of parameters:: + + frombuffer(mode, size, data, "raw", mode, 0, 1) + + :returns: An :py:class:`~PIL.Image.Image` object. + + .. versionadded:: 1.1.4 + """ + + _check_size(size) + + # may pass tuple instead of argument list + if len(args) == 1 and isinstance(args[0], tuple): + args = args[0] + + if decoder_name == "raw": + if args == (): + args = mode, 0, 1 + if args[0] in _MAPMODES: + im = new(mode, (0, 0)) + im = im._new(core.map_buffer(data, size, decoder_name, 0, args)) + if mode == "P": + from . import ImagePalette + + im.palette = ImagePalette.ImagePalette("RGB", im.im.getpalette("RGB")) + im.readonly = 1 + return im + + return frombytes(mode, size, data, decoder_name, args) + + +class SupportsArrayInterface(Protocol): + """ + An object that has an ``__array_interface__`` dictionary. + """ + + @property + def __array_interface__(self) -> dict[str, Any]: + raise NotImplementedError() + + +def fromarray(obj: SupportsArrayInterface, mode: str | None = None) -> Image: + """ + Creates an image memory from an object exporting the array interface + (using the buffer protocol):: + + from PIL import Image + import numpy as np + a = np.zeros((5, 5)) + im = Image.fromarray(a) + + If ``obj`` is not contiguous, then the ``tobytes`` method is called + and :py:func:`~PIL.Image.frombuffer` is used. + + In the case of NumPy, be aware that Pillow modes do not always correspond + to NumPy dtypes. Pillow modes only offer 1-bit pixels, 8-bit pixels, + 32-bit signed integer pixels, and 32-bit floating point pixels. + + Pillow images can also be converted to arrays:: + + from PIL import Image + import numpy as np + im = Image.open("hopper.jpg") + a = np.asarray(im) + + When converting Pillow images to arrays however, only pixel values are + transferred. This means that P and PA mode images will lose their palette. + + :param obj: Object with array interface + :param mode: Optional mode to use when reading ``obj``. Will be determined from + type if ``None``. + + This will not be used to convert the data after reading, but will be used to + change how the data is read:: + + from PIL import Image + import numpy as np + a = np.full((1, 1), 300) + im = Image.fromarray(a, mode="L") + im.getpixel((0, 0)) # 44 + im = Image.fromarray(a, mode="RGB") + im.getpixel((0, 0)) # (44, 1, 0) + + See: :ref:`concept-modes` for general information about modes. + :returns: An image object. + + .. versionadded:: 1.1.6 + """ + arr = obj.__array_interface__ + shape = arr["shape"] + ndim = len(shape) + strides = arr.get("strides", None) + if mode is None: + try: + typekey = (1, 1) + shape[2:], arr["typestr"] + except KeyError as e: + msg = "Cannot handle this data type" + raise TypeError(msg) from e + try: + mode, rawmode = _fromarray_typemap[typekey] + except KeyError as e: + typekey_shape, typestr = typekey + msg = f"Cannot handle this data type: {typekey_shape}, {typestr}" + raise TypeError(msg) from e + else: + rawmode = mode + if mode in ["1", "L", "I", "P", "F"]: + ndmax = 2 + elif mode == "RGB": + ndmax = 3 + else: + ndmax = 4 + if ndim > ndmax: + msg = f"Too many dimensions: {ndim} > {ndmax}." + raise ValueError(msg) + + size = 1 if ndim == 1 else shape[1], shape[0] + if strides is not None: + if hasattr(obj, "tobytes"): + obj = obj.tobytes() + elif hasattr(obj, "tostring"): + obj = obj.tostring() + else: + msg = "'strides' requires either tobytes() or tostring()" + raise ValueError(msg) + + return frombuffer(mode, size, obj, "raw", rawmode, 0, 1) + + +def fromqimage(im: ImageQt.QImage) -> ImageFile.ImageFile: + """Creates an image instance from a QImage image""" + from . import ImageQt + + if not ImageQt.qt_is_installed: + msg = "Qt bindings are not installed" + raise ImportError(msg) + return ImageQt.fromqimage(im) + + +def fromqpixmap(im: ImageQt.QPixmap) -> ImageFile.ImageFile: + """Creates an image instance from a QPixmap image""" + from . import ImageQt + + if not ImageQt.qt_is_installed: + msg = "Qt bindings are not installed" + raise ImportError(msg) + return ImageQt.fromqpixmap(im) + + +_fromarray_typemap = { + # (shape, typestr) => mode, rawmode + # first two members of shape are set to one + ((1, 1), "|b1"): ("1", "1;8"), + ((1, 1), "|u1"): ("L", "L"), + ((1, 1), "|i1"): ("I", "I;8"), + ((1, 1), "u2"): ("I", "I;16B"), + ((1, 1), "i2"): ("I", "I;16BS"), + ((1, 1), "u4"): ("I", "I;32B"), + ((1, 1), "i4"): ("I", "I;32BS"), + ((1, 1), "f4"): ("F", "F;32BF"), + ((1, 1), "f8"): ("F", "F;64BF"), + ((1, 1, 2), "|u1"): ("LA", "LA"), + ((1, 1, 3), "|u1"): ("RGB", "RGB"), + ((1, 1, 4), "|u1"): ("RGBA", "RGBA"), + # shortcuts: + ((1, 1), f"{_ENDIAN}i4"): ("I", "I"), + ((1, 1), f"{_ENDIAN}f4"): ("F", "F"), +} + + +def _decompression_bomb_check(size: tuple[int, int]) -> None: + if MAX_IMAGE_PIXELS is None: + return + + pixels = max(1, size[0]) * max(1, size[1]) + + if pixels > 2 * MAX_IMAGE_PIXELS: + msg = ( + f"Image size ({pixels} pixels) exceeds limit of {2 * MAX_IMAGE_PIXELS} " + "pixels, could be decompression bomb DOS attack." + ) + raise DecompressionBombError(msg) + + if pixels > MAX_IMAGE_PIXELS: + warnings.warn( + f"Image size ({pixels} pixels) exceeds limit of {MAX_IMAGE_PIXELS} pixels, " + "could be decompression bomb DOS attack.", + DecompressionBombWarning, + ) + + +def open( + fp: StrOrBytesPath | IO[bytes], + mode: Literal["r"] = "r", + formats: list[str] | tuple[str, ...] | None = None, +) -> ImageFile.ImageFile: + """ + Opens and identifies the given image file. + + This is a lazy operation; this function identifies the file, but + the file remains open and the actual image data is not read from + the file until you try to process the data (or call the + :py:meth:`~PIL.Image.Image.load` method). See + :py:func:`~PIL.Image.new`. See :ref:`file-handling`. + + :param fp: A filename (string), os.PathLike object or a file object. + The file object must implement ``file.read``, + ``file.seek``, and ``file.tell`` methods, + and be opened in binary mode. The file object will also seek to zero + before reading. + :param mode: The mode. If given, this argument must be "r". + :param formats: A list or tuple of formats to attempt to load the file in. + This can be used to restrict the set of formats checked. + Pass ``None`` to try all supported formats. You can print the set of + available formats by running ``python3 -m PIL`` or using + the :py:func:`PIL.features.pilinfo` function. + :returns: An :py:class:`~PIL.Image.Image` object. + :exception FileNotFoundError: If the file cannot be found. + :exception PIL.UnidentifiedImageError: If the image cannot be opened and + identified. + :exception ValueError: If the ``mode`` is not "r", or if a ``StringIO`` + instance is used for ``fp``. + :exception TypeError: If ``formats`` is not ``None``, a list or a tuple. + """ + + if mode != "r": + msg = f"bad mode {repr(mode)}" # type: ignore[unreachable] + raise ValueError(msg) + elif isinstance(fp, io.StringIO): + msg = ( # type: ignore[unreachable] + "StringIO cannot be used to open an image. " + "Binary data must be used instead." + ) + raise ValueError(msg) + + if formats is None: + formats = ID + elif not isinstance(formats, (list, tuple)): + msg = "formats must be a list or tuple" # type: ignore[unreachable] + raise TypeError(msg) + + exclusive_fp = False + filename: str | bytes = "" + if is_path(fp): + filename = os.path.realpath(os.fspath(fp)) + + if filename: + fp = builtins.open(filename, "rb") + exclusive_fp = True + else: + fp = cast(IO[bytes], fp) + + try: + fp.seek(0) + except (AttributeError, io.UnsupportedOperation): + fp = io.BytesIO(fp.read()) + exclusive_fp = True + + prefix = fp.read(16) + + preinit() + + warning_messages: list[str] = [] + + def _open_core( + fp: IO[bytes], + filename: str | bytes, + prefix: bytes, + formats: list[str] | tuple[str, ...], + ) -> ImageFile.ImageFile | None: + for i in formats: + i = i.upper() + if i not in OPEN: + init() + try: + factory, accept = OPEN[i] + result = not accept or accept(prefix) + if isinstance(result, str): + warning_messages.append(result) + elif result: + fp.seek(0) + im = factory(fp, filename) + _decompression_bomb_check(im.size) + return im + except (SyntaxError, IndexError, TypeError, struct.error) as e: + if WARN_POSSIBLE_FORMATS: + warning_messages.append(i + " opening failed. " + str(e)) + except BaseException: + if exclusive_fp: + fp.close() + raise + return None + + im = _open_core(fp, filename, prefix, formats) + + if im is None and formats is ID: + checked_formats = ID.copy() + if init(): + im = _open_core( + fp, + filename, + prefix, + tuple(format for format in formats if format not in checked_formats), + ) + + if im: + im._exclusive_fp = exclusive_fp + return im + + if exclusive_fp: + fp.close() + for message in warning_messages: + warnings.warn(message) + msg = "cannot identify image file %r" % (filename if filename else fp) + raise UnidentifiedImageError(msg) + + +# +# Image processing. + + +def alpha_composite(im1: Image, im2: Image) -> Image: + """ + Alpha composite im2 over im1. + + :param im1: The first image. Must have mode RGBA. + :param im2: The second image. Must have mode RGBA, and the same size as + the first image. + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + im1.load() + im2.load() + return im1._new(core.alpha_composite(im1.im, im2.im)) + + +def blend(im1: Image, im2: Image, alpha: float) -> Image: + """ + Creates a new image by interpolating between two input images, using + a constant alpha:: + + out = image1 * (1.0 - alpha) + image2 * alpha + + :param im1: The first image. + :param im2: The second image. Must have the same mode and size as + the first image. + :param alpha: The interpolation alpha factor. If alpha is 0.0, a + copy of the first image is returned. If alpha is 1.0, a copy of + the second image is returned. There are no restrictions on the + alpha value. If necessary, the result is clipped to fit into + the allowed output range. + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + im1.load() + im2.load() + return im1._new(core.blend(im1.im, im2.im, alpha)) + + +def composite(image1: Image, image2: Image, mask: Image) -> Image: + """ + Create composite image by blending images using a transparency mask. + + :param image1: The first image. + :param image2: The second image. Must have the same mode and + size as the first image. + :param mask: A mask image. This image can have mode + "1", "L", or "RGBA", and must have the same size as the + other two images. + """ + + image = image2.copy() + image.paste(image1, None, mask) + return image + + +def eval(image: Image, *args: Callable[[int], float]) -> Image: + """ + Applies the function (which should take one argument) to each pixel + in the given image. If the image has more than one band, the same + function is applied to each band. Note that the function is + evaluated once for each possible pixel value, so you cannot use + random components or other generators. + + :param image: The input image. + :param function: A function object, taking one integer argument. + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + return image.point(args[0]) + + +def merge(mode: str, bands: Sequence[Image]) -> Image: + """ + Merge a set of single band images into a new multiband image. + + :param mode: The mode to use for the output image. See: + :ref:`concept-modes`. + :param bands: A sequence containing one single-band image for + each band in the output image. All bands must have the + same size. + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + if getmodebands(mode) != len(bands) or "*" in mode: + msg = "wrong number of bands" + raise ValueError(msg) + for band in bands[1:]: + if band.mode != getmodetype(mode): + msg = "mode mismatch" + raise ValueError(msg) + if band.size != bands[0].size: + msg = "size mismatch" + raise ValueError(msg) + for band in bands: + band.load() + return bands[0]._new(core.merge(mode, *[b.im for b in bands])) + + +# -------------------------------------------------------------------- +# Plugin registry + + +def register_open( + id: str, + factory: ( + Callable[[IO[bytes], str | bytes], ImageFile.ImageFile] + | type[ImageFile.ImageFile] + ), + accept: Callable[[bytes], bool | str] | None = None, +) -> None: + """ + Register an image file plugin. This function should not be used + in application code. + + :param id: An image format identifier. + :param factory: An image file factory method. + :param accept: An optional function that can be used to quickly + reject images having another format. + """ + id = id.upper() + if id not in ID: + ID.append(id) + OPEN[id] = factory, accept + + +def register_mime(id: str, mimetype: str) -> None: + """ + Registers an image MIME type by populating ``Image.MIME``. This function + should not be used in application code. + + ``Image.MIME`` provides a mapping from image format identifiers to mime + formats, but :py:meth:`~PIL.ImageFile.ImageFile.get_format_mimetype` can + provide a different result for specific images. + + :param id: An image format identifier. + :param mimetype: The image MIME type for this format. + """ + MIME[id.upper()] = mimetype + + +def register_save( + id: str, driver: Callable[[Image, IO[bytes], str | bytes], None] +) -> None: + """ + Registers an image save function. This function should not be + used in application code. + + :param id: An image format identifier. + :param driver: A function to save images in this format. + """ + SAVE[id.upper()] = driver + + +def register_save_all( + id: str, driver: Callable[[Image, IO[bytes], str | bytes], None] +) -> None: + """ + Registers an image function to save all the frames + of a multiframe format. This function should not be + used in application code. + + :param id: An image format identifier. + :param driver: A function to save images in this format. + """ + SAVE_ALL[id.upper()] = driver + + +def register_extension(id: str, extension: str) -> None: + """ + Registers an image extension. This function should not be + used in application code. + + :param id: An image format identifier. + :param extension: An extension used for this format. + """ + EXTENSION[extension.lower()] = id.upper() + + +def register_extensions(id: str, extensions: list[str]) -> None: + """ + Registers image extensions. This function should not be + used in application code. + + :param id: An image format identifier. + :param extensions: A list of extensions used for this format. + """ + for extension in extensions: + register_extension(id, extension) + + +def registered_extensions() -> dict[str, str]: + """ + Returns a dictionary containing all file extensions belonging + to registered plugins + """ + init() + return EXTENSION + + +def register_decoder(name: str, decoder: type[ImageFile.PyDecoder]) -> None: + """ + Registers an image decoder. This function should not be + used in application code. + + :param name: The name of the decoder + :param decoder: An ImageFile.PyDecoder object + + .. versionadded:: 4.1.0 + """ + DECODERS[name] = decoder + + +def register_encoder(name: str, encoder: type[ImageFile.PyEncoder]) -> None: + """ + Registers an image encoder. This function should not be + used in application code. + + :param name: The name of the encoder + :param encoder: An ImageFile.PyEncoder object + + .. versionadded:: 4.1.0 + """ + ENCODERS[name] = encoder + + +# -------------------------------------------------------------------- +# Simple display support. + + +def _show(image: Image, **options: Any) -> None: + from . import ImageShow + + ImageShow.show(image, **options) + + +# -------------------------------------------------------------------- +# Effects + + +def effect_mandelbrot( + size: tuple[int, int], extent: tuple[float, float, float, float], quality: int +) -> Image: + """ + Generate a Mandelbrot set covering the given extent. + + :param size: The requested size in pixels, as a 2-tuple: + (width, height). + :param extent: The extent to cover, as a 4-tuple: + (x0, y0, x1, y1). + :param quality: Quality. + """ + return Image()._new(core.effect_mandelbrot(size, extent, quality)) + + +def effect_noise(size: tuple[int, int], sigma: float) -> Image: + """ + Generate Gaussian noise centered around 128. + + :param size: The requested size in pixels, as a 2-tuple: + (width, height). + :param sigma: Standard deviation of noise. + """ + return Image()._new(core.effect_noise(size, sigma)) + + +def linear_gradient(mode: str) -> Image: + """ + Generate 256x256 linear gradient from black to white, top to bottom. + + :param mode: Input mode. + """ + return Image()._new(core.linear_gradient(mode)) + + +def radial_gradient(mode: str) -> Image: + """ + Generate 256x256 radial gradient from black to white, centre to edge. + + :param mode: Input mode. + """ + return Image()._new(core.radial_gradient(mode)) + + +# -------------------------------------------------------------------- +# Resources + + +def _apply_env_variables(env: dict[str, str] | None = None) -> None: + env_dict = env if env is not None else os.environ + + for var_name, setter in [ + ("PILLOW_ALIGNMENT", core.set_alignment), + ("PILLOW_BLOCK_SIZE", core.set_block_size), + ("PILLOW_BLOCKS_MAX", core.set_blocks_max), + ]: + if var_name not in env_dict: + continue + + var = env_dict[var_name].lower() + + units = 1 + for postfix, mul in [("k", 1024), ("m", 1024 * 1024)]: + if var.endswith(postfix): + units = mul + var = var[: -len(postfix)] + + try: + var_int = int(var) * units + except ValueError: + warnings.warn(f"{var_name} is not int") + continue + + try: + setter(var_int) + except ValueError as e: + warnings.warn(f"{var_name}: {e}") + + +_apply_env_variables() +atexit.register(core.clear_cache) + + +if TYPE_CHECKING: + _ExifBase = MutableMapping[int, Any] +else: + _ExifBase = MutableMapping + + +class Exif(_ExifBase): + """ + This class provides read and write access to EXIF image data:: + + from PIL import Image + im = Image.open("exif.png") + exif = im.getexif() # Returns an instance of this class + + Information can be read and written, iterated over or deleted:: + + print(exif[274]) # 1 + exif[274] = 2 + for k, v in exif.items(): + print("Tag", k, "Value", v) # Tag 274 Value 2 + del exif[274] + + To access information beyond IFD0, :py:meth:`~PIL.Image.Exif.get_ifd` + returns a dictionary:: + + from PIL import ExifTags + im = Image.open("exif_gps.jpg") + exif = im.getexif() + gps_ifd = exif.get_ifd(ExifTags.IFD.GPSInfo) + print(gps_ifd) + + Other IFDs include ``ExifTags.IFD.Exif``, ``ExifTags.IFD.Makernote``, + ``ExifTags.IFD.Interop`` and ``ExifTags.IFD.IFD1``. + + :py:mod:`~PIL.ExifTags` also has enum classes to provide names for data:: + + print(exif[ExifTags.Base.Software]) # PIL + print(gps_ifd[ExifTags.GPS.GPSDateStamp]) # 1999:99:99 99:99:99 + """ + + endian: str | None = None + bigtiff = False + _loaded = False + + def __init__(self) -> None: + self._data: dict[int, Any] = {} + self._hidden_data: dict[int, Any] = {} + self._ifds: dict[int, dict[int, Any]] = {} + self._info: TiffImagePlugin.ImageFileDirectory_v2 | None = None + self._loaded_exif: bytes | None = None + + def _fixup(self, value: Any) -> Any: + try: + if len(value) == 1 and isinstance(value, tuple): + return value[0] + except Exception: + pass + return value + + def _fixup_dict(self, src_dict: dict[int, Any]) -> dict[int, Any]: + # Helper function + # returns a dict with any single item tuples/lists as individual values + return {k: self._fixup(v) for k, v in src_dict.items()} + + def _get_ifd_dict( + self, offset: int, group: int | None = None + ) -> dict[int, Any] | None: + try: + # an offset pointer to the location of the nested embedded IFD. + # It should be a long, but may be corrupted. + self.fp.seek(offset) + except (KeyError, TypeError): + return None + else: + from . import TiffImagePlugin + + info = TiffImagePlugin.ImageFileDirectory_v2(self.head, group=group) + info.load(self.fp) + return self._fixup_dict(dict(info)) + + def _get_head(self) -> bytes: + version = b"\x2B" if self.bigtiff else b"\x2A" + if self.endian == "<": + head = b"II" + version + b"\x00" + o32le(8) + else: + head = b"MM\x00" + version + o32be(8) + if self.bigtiff: + head += o32le(8) if self.endian == "<" else o32be(8) + head += b"\x00\x00\x00\x00" + return head + + def load(self, data: bytes) -> None: + # Extract EXIF information. This is highly experimental, + # and is likely to be replaced with something better in a future + # version. + + # The EXIF record consists of a TIFF file embedded in a JPEG + # application marker (!). + if data == self._loaded_exif: + return + self._loaded_exif = data + self._data.clear() + self._hidden_data.clear() + self._ifds.clear() + while data and data.startswith(b"Exif\x00\x00"): + data = data[6:] + if not data: + self._info = None + return + + self.fp: IO[bytes] = io.BytesIO(data) + self.head = self.fp.read(8) + # process dictionary + from . import TiffImagePlugin + + self._info = TiffImagePlugin.ImageFileDirectory_v2(self.head) + self.endian = self._info._endian + self.fp.seek(self._info.next) + self._info.load(self.fp) + + def load_from_fp(self, fp: IO[bytes], offset: int | None = None) -> None: + self._loaded_exif = None + self._data.clear() + self._hidden_data.clear() + self._ifds.clear() + + # process dictionary + from . import TiffImagePlugin + + self.fp = fp + if offset is not None: + self.head = self._get_head() + else: + self.head = self.fp.read(8) + self._info = TiffImagePlugin.ImageFileDirectory_v2(self.head) + if self.endian is None: + self.endian = self._info._endian + if offset is None: + offset = self._info.next + self.fp.tell() + self.fp.seek(offset) + self._info.load(self.fp) + + def _get_merged_dict(self) -> dict[int, Any]: + merged_dict = dict(self) + + # get EXIF extension + if ExifTags.IFD.Exif in self: + ifd = self._get_ifd_dict(self[ExifTags.IFD.Exif], ExifTags.IFD.Exif) + if ifd: + merged_dict.update(ifd) + + # GPS + if ExifTags.IFD.GPSInfo in self: + merged_dict[ExifTags.IFD.GPSInfo] = self._get_ifd_dict( + self[ExifTags.IFD.GPSInfo], ExifTags.IFD.GPSInfo + ) + + return merged_dict + + def tobytes(self, offset: int = 8) -> bytes: + from . import TiffImagePlugin + + head = self._get_head() + ifd = TiffImagePlugin.ImageFileDirectory_v2(ifh=head) + for tag, value in self.items(): + if tag in [ + ExifTags.IFD.Exif, + ExifTags.IFD.GPSInfo, + ] and not isinstance(value, dict): + value = self.get_ifd(tag) + if ( + tag == ExifTags.IFD.Exif + and ExifTags.IFD.Interop in value + and not isinstance(value[ExifTags.IFD.Interop], dict) + ): + value = value.copy() + value[ExifTags.IFD.Interop] = self.get_ifd(ExifTags.IFD.Interop) + ifd[tag] = value + return b"Exif\x00\x00" + head + ifd.tobytes(offset) + + def get_ifd(self, tag: int) -> dict[int, Any]: + if tag not in self._ifds: + if tag == ExifTags.IFD.IFD1: + if self._info is not None and self._info.next != 0: + ifd = self._get_ifd_dict(self._info.next) + if ifd is not None: + self._ifds[tag] = ifd + elif tag in [ExifTags.IFD.Exif, ExifTags.IFD.GPSInfo]: + offset = self._hidden_data.get(tag, self.get(tag)) + if offset is not None: + ifd = self._get_ifd_dict(offset, tag) + if ifd is not None: + self._ifds[tag] = ifd + elif tag in [ExifTags.IFD.Interop, ExifTags.IFD.Makernote]: + if ExifTags.IFD.Exif not in self._ifds: + self.get_ifd(ExifTags.IFD.Exif) + tag_data = self._ifds[ExifTags.IFD.Exif][tag] + if tag == ExifTags.IFD.Makernote: + from .TiffImagePlugin import ImageFileDirectory_v2 + + if tag_data[:8] == b"FUJIFILM": + ifd_offset = i32le(tag_data, 8) + ifd_data = tag_data[ifd_offset:] + + makernote = {} + for i in range(0, struct.unpack(" 4: + (offset,) = struct.unpack("H", tag_data[:2])[0]): + ifd_tag, typ, count, data = struct.unpack( + ">HHL4s", tag_data[i * 12 + 2 : (i + 1) * 12 + 2] + ) + if ifd_tag == 0x1101: + # CameraInfo + (offset,) = struct.unpack(">L", data) + self.fp.seek(offset) + + camerainfo: dict[str, int | bytes] = { + "ModelID": self.fp.read(4) + } + + self.fp.read(4) + # Seconds since 2000 + camerainfo["TimeStamp"] = i32le(self.fp.read(12)) + + self.fp.read(4) + camerainfo["InternalSerialNumber"] = self.fp.read(4) + + self.fp.read(12) + parallax = self.fp.read(4) + handler = ImageFileDirectory_v2._load_dispatch[ + TiffTags.FLOAT + ][1] + camerainfo["Parallax"] = handler( + ImageFileDirectory_v2(), parallax, False + )[0] + + self.fp.read(4) + camerainfo["Category"] = self.fp.read(2) + + makernote = {0x1101: camerainfo} + self._ifds[tag] = makernote + else: + # Interop + ifd = self._get_ifd_dict(tag_data, tag) + if ifd is not None: + self._ifds[tag] = ifd + ifd = self._ifds.setdefault(tag, {}) + if tag == ExifTags.IFD.Exif and self._hidden_data: + ifd = { + k: v + for (k, v) in ifd.items() + if k not in (ExifTags.IFD.Interop, ExifTags.IFD.Makernote) + } + return ifd + + def hide_offsets(self) -> None: + for tag in (ExifTags.IFD.Exif, ExifTags.IFD.GPSInfo): + if tag in self: + self._hidden_data[tag] = self[tag] + del self[tag] + + def __str__(self) -> str: + if self._info is not None: + # Load all keys into self._data + for tag in self._info: + self[tag] + + return str(self._data) + + def __len__(self) -> int: + keys = set(self._data) + if self._info is not None: + keys.update(self._info) + return len(keys) + + def __getitem__(self, tag: int) -> Any: + if self._info is not None and tag not in self._data and tag in self._info: + self._data[tag] = self._fixup(self._info[tag]) + del self._info[tag] + return self._data[tag] + + def __contains__(self, tag: object) -> bool: + return tag in self._data or (self._info is not None and tag in self._info) + + def __setitem__(self, tag: int, value: Any) -> None: + if self._info is not None and tag in self._info: + del self._info[tag] + self._data[tag] = value + + def __delitem__(self, tag: int) -> None: + if self._info is not None and tag in self._info: + del self._info[tag] + else: + del self._data[tag] + + def __iter__(self) -> Iterator[int]: + keys = set(self._data) + if self._info is not None: + keys.update(self._info) + return iter(keys) diff --git a/venv/Lib/site-packages/PIL/ImageChops.py b/venv/Lib/site-packages/PIL/ImageChops.py new file mode 100644 index 00000000..29a5c995 --- /dev/null +++ b/venv/Lib/site-packages/PIL/ImageChops.py @@ -0,0 +1,311 @@ +# +# The Python Imaging Library. +# $Id$ +# +# standard channel operations +# +# History: +# 1996-03-24 fl Created +# 1996-08-13 fl Added logical operations (for "1" images) +# 2000-10-12 fl Added offset method (from Image.py) +# +# Copyright (c) 1997-2000 by Secret Labs AB +# Copyright (c) 1996-2000 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# + +from __future__ import annotations + +from . import Image + + +def constant(image: Image.Image, value: int) -> Image.Image: + """Fill a channel with a given gray level. + + :rtype: :py:class:`~PIL.Image.Image` + """ + + return Image.new("L", image.size, value) + + +def duplicate(image: Image.Image) -> Image.Image: + """Copy a channel. Alias for :py:meth:`PIL.Image.Image.copy`. + + :rtype: :py:class:`~PIL.Image.Image` + """ + + return image.copy() + + +def invert(image: Image.Image) -> Image.Image: + """ + Invert an image (channel). :: + + out = MAX - image + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image.load() + return image._new(image.im.chop_invert()) + + +def lighter(image1: Image.Image, image2: Image.Image) -> Image.Image: + """ + Compares the two images, pixel by pixel, and returns a new image containing + the lighter values. :: + + out = max(image1, image2) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_lighter(image2.im)) + + +def darker(image1: Image.Image, image2: Image.Image) -> Image.Image: + """ + Compares the two images, pixel by pixel, and returns a new image containing + the darker values. :: + + out = min(image1, image2) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_darker(image2.im)) + + +def difference(image1: Image.Image, image2: Image.Image) -> Image.Image: + """ + Returns the absolute value of the pixel-by-pixel difference between the two + images. :: + + out = abs(image1 - image2) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_difference(image2.im)) + + +def multiply(image1: Image.Image, image2: Image.Image) -> Image.Image: + """ + Superimposes two images on top of each other. + + If you multiply an image with a solid black image, the result is black. If + you multiply with a solid white image, the image is unaffected. :: + + out = image1 * image2 / MAX + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_multiply(image2.im)) + + +def screen(image1: Image.Image, image2: Image.Image) -> Image.Image: + """ + Superimposes two inverted images on top of each other. :: + + out = MAX - ((MAX - image1) * (MAX - image2) / MAX) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_screen(image2.im)) + + +def soft_light(image1: Image.Image, image2: Image.Image) -> Image.Image: + """ + Superimposes two images on top of each other using the Soft Light algorithm + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_soft_light(image2.im)) + + +def hard_light(image1: Image.Image, image2: Image.Image) -> Image.Image: + """ + Superimposes two images on top of each other using the Hard Light algorithm + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_hard_light(image2.im)) + + +def overlay(image1: Image.Image, image2: Image.Image) -> Image.Image: + """ + Superimposes two images on top of each other using the Overlay algorithm + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_overlay(image2.im)) + + +def add( + image1: Image.Image, image2: Image.Image, scale: float = 1.0, offset: float = 0 +) -> Image.Image: + """ + Adds two images, dividing the result by scale and adding the + offset. If omitted, scale defaults to 1.0, and offset to 0.0. :: + + out = ((image1 + image2) / scale + offset) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_add(image2.im, scale, offset)) + + +def subtract( + image1: Image.Image, image2: Image.Image, scale: float = 1.0, offset: float = 0 +) -> Image.Image: + """ + Subtracts two images, dividing the result by scale and adding the offset. + If omitted, scale defaults to 1.0, and offset to 0.0. :: + + out = ((image1 - image2) / scale + offset) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_subtract(image2.im, scale, offset)) + + +def add_modulo(image1: Image.Image, image2: Image.Image) -> Image.Image: + """Add two images, without clipping the result. :: + + out = ((image1 + image2) % MAX) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_add_modulo(image2.im)) + + +def subtract_modulo(image1: Image.Image, image2: Image.Image) -> Image.Image: + """Subtract two images, without clipping the result. :: + + out = ((image1 - image2) % MAX) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_subtract_modulo(image2.im)) + + +def logical_and(image1: Image.Image, image2: Image.Image) -> Image.Image: + """Logical AND between two images. + + Both of the images must have mode "1". If you would like to perform a + logical AND on an image with a mode other than "1", try + :py:meth:`~PIL.ImageChops.multiply` instead, using a black-and-white mask + as the second image. :: + + out = ((image1 and image2) % MAX) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_and(image2.im)) + + +def logical_or(image1: Image.Image, image2: Image.Image) -> Image.Image: + """Logical OR between two images. + + Both of the images must have mode "1". :: + + out = ((image1 or image2) % MAX) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_or(image2.im)) + + +def logical_xor(image1: Image.Image, image2: Image.Image) -> Image.Image: + """Logical XOR between two images. + + Both of the images must have mode "1". :: + + out = ((bool(image1) != bool(image2)) % MAX) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_xor(image2.im)) + + +def blend(image1: Image.Image, image2: Image.Image, alpha: float) -> Image.Image: + """Blend images using constant transparency weight. Alias for + :py:func:`PIL.Image.blend`. + + :rtype: :py:class:`~PIL.Image.Image` + """ + + return Image.blend(image1, image2, alpha) + + +def composite( + image1: Image.Image, image2: Image.Image, mask: Image.Image +) -> Image.Image: + """Create composite using transparency mask. Alias for + :py:func:`PIL.Image.composite`. + + :rtype: :py:class:`~PIL.Image.Image` + """ + + return Image.composite(image1, image2, mask) + + +def offset(image: Image.Image, xoffset: int, yoffset: int | None = None) -> Image.Image: + """Returns a copy of the image where data has been offset by the given + distances. Data wraps around the edges. If ``yoffset`` is omitted, it + is assumed to be equal to ``xoffset``. + + :param image: Input image. + :param xoffset: The horizontal distance. + :param yoffset: The vertical distance. If omitted, both + distances are set to the same value. + :rtype: :py:class:`~PIL.Image.Image` + """ + + if yoffset is None: + yoffset = xoffset + image.load() + return image._new(image.im.offset(xoffset, yoffset)) diff --git a/venv/Lib/site-packages/PIL/ImageCms.py b/venv/Lib/site-packages/PIL/ImageCms.py new file mode 100644 index 00000000..fdfbee78 --- /dev/null +++ b/venv/Lib/site-packages/PIL/ImageCms.py @@ -0,0 +1,1125 @@ +# The Python Imaging Library. +# $Id$ + +# Optional color management support, based on Kevin Cazabon's PyCMS +# library. + +# Originally released under LGPL. Graciously donated to PIL in +# March 2009, for distribution under the standard PIL license + +# History: + +# 2009-03-08 fl Added to PIL. + +# Copyright (C) 2002-2003 Kevin Cazabon +# Copyright (c) 2009 by Fredrik Lundh +# Copyright (c) 2013 by Eric Soroos + +# See the README file for information on usage and redistribution. See +# below for the original description. +from __future__ import annotations + +import operator +import sys +from enum import IntEnum, IntFlag +from functools import reduce +from typing import Any, Literal, SupportsFloat, SupportsInt, Union + +from . import Image, __version__ +from ._deprecate import deprecate +from ._typing import SupportsRead + +try: + from . import _imagingcms as core + + _CmsProfileCompatible = Union[ + str, SupportsRead[bytes], core.CmsProfile, "ImageCmsProfile" + ] +except ImportError as ex: + # Allow error import for doc purposes, but error out when accessing + # anything in core. + from ._util import DeferredError + + core = DeferredError.new(ex) + +_DESCRIPTION = """ +pyCMS + + a Python / PIL interface to the littleCMS ICC Color Management System + Copyright (C) 2002-2003 Kevin Cazabon + kevin@cazabon.com + https://www.cazabon.com + + pyCMS home page: https://www.cazabon.com/pyCMS + littleCMS home page: https://www.littlecms.com + (littleCMS is Copyright (C) 1998-2001 Marti Maria) + + Originally released under LGPL. Graciously donated to PIL in + March 2009, for distribution under the standard PIL license + + The pyCMS.py module provides a "clean" interface between Python/PIL and + pyCMSdll, taking care of some of the more complex handling of the direct + pyCMSdll functions, as well as error-checking and making sure that all + relevant data is kept together. + + While it is possible to call pyCMSdll functions directly, it's not highly + recommended. + + Version History: + + 1.0.0 pil Oct 2013 Port to LCMS 2. + + 0.1.0 pil mod March 10, 2009 + + Renamed display profile to proof profile. The proof + profile is the profile of the device that is being + simulated, not the profile of the device which is + actually used to display/print the final simulation + (that'd be the output profile) - also see LCMSAPI.txt + input colorspace -> using 'renderingIntent' -> proof + colorspace -> using 'proofRenderingIntent' -> output + colorspace + + Added LCMS FLAGS support. + Added FLAGS["SOFTPROOFING"] as default flag for + buildProofTransform (otherwise the proof profile/intent + would be ignored). + + 0.1.0 pil March 2009 - added to PIL, as PIL.ImageCms + + 0.0.2 alpha Jan 6, 2002 + + Added try/except statements around type() checks of + potential CObjects... Python won't let you use type() + on them, and raises a TypeError (stupid, if you ask + me!) + + Added buildProofTransformFromOpenProfiles() function. + Additional fixes in DLL, see DLL code for details. + + 0.0.1 alpha first public release, Dec. 26, 2002 + + Known to-do list with current version (of Python interface, not pyCMSdll): + + none + +""" + +_VERSION = "1.0.0 pil" + + +def __getattr__(name: str) -> Any: + if name == "DESCRIPTION": + deprecate("PIL.ImageCms.DESCRIPTION", 12) + return _DESCRIPTION + elif name == "VERSION": + deprecate("PIL.ImageCms.VERSION", 12) + return _VERSION + elif name == "FLAGS": + deprecate("PIL.ImageCms.FLAGS", 12, "PIL.ImageCms.Flags") + return _FLAGS + msg = f"module '{__name__}' has no attribute '{name}'" + raise AttributeError(msg) + + +# --------------------------------------------------------------------. + + +# +# intent/direction values + + +class Intent(IntEnum): + PERCEPTUAL = 0 + RELATIVE_COLORIMETRIC = 1 + SATURATION = 2 + ABSOLUTE_COLORIMETRIC = 3 + + +class Direction(IntEnum): + INPUT = 0 + OUTPUT = 1 + PROOF = 2 + + +# +# flags + + +class Flags(IntFlag): + """Flags and documentation are taken from ``lcms2.h``.""" + + NONE = 0 + NOCACHE = 0x0040 + """Inhibit 1-pixel cache""" + NOOPTIMIZE = 0x0100 + """Inhibit optimizations""" + NULLTRANSFORM = 0x0200 + """Don't transform anyway""" + GAMUTCHECK = 0x1000 + """Out of Gamut alarm""" + SOFTPROOFING = 0x4000 + """Do softproofing""" + BLACKPOINTCOMPENSATION = 0x2000 + NOWHITEONWHITEFIXUP = 0x0004 + """Don't fix scum dot""" + HIGHRESPRECALC = 0x0400 + """Use more memory to give better accuracy""" + LOWRESPRECALC = 0x0800 + """Use less memory to minimize resources""" + # this should be 8BITS_DEVICELINK, but that is not a valid name in Python: + USE_8BITS_DEVICELINK = 0x0008 + """Create 8 bits devicelinks""" + GUESSDEVICECLASS = 0x0020 + """Guess device class (for ``transform2devicelink``)""" + KEEP_SEQUENCE = 0x0080 + """Keep profile sequence for devicelink creation""" + FORCE_CLUT = 0x0002 + """Force CLUT optimization""" + CLUT_POST_LINEARIZATION = 0x0001 + """create postlinearization tables if possible""" + CLUT_PRE_LINEARIZATION = 0x0010 + """create prelinearization tables if possible""" + NONEGATIVES = 0x8000 + """Prevent negative numbers in floating point transforms""" + COPY_ALPHA = 0x04000000 + """Alpha channels are copied on ``cmsDoTransform()``""" + NODEFAULTRESOURCEDEF = 0x01000000 + + _GRIDPOINTS_1 = 1 << 16 + _GRIDPOINTS_2 = 2 << 16 + _GRIDPOINTS_4 = 4 << 16 + _GRIDPOINTS_8 = 8 << 16 + _GRIDPOINTS_16 = 16 << 16 + _GRIDPOINTS_32 = 32 << 16 + _GRIDPOINTS_64 = 64 << 16 + _GRIDPOINTS_128 = 128 << 16 + + @staticmethod + def GRIDPOINTS(n: int) -> Flags: + """ + Fine-tune control over number of gridpoints + + :param n: :py:class:`int` in range ``0 <= n <= 255`` + """ + return Flags.NONE | ((n & 0xFF) << 16) + + +_MAX_FLAG = reduce(operator.or_, Flags) + + +_FLAGS = { + "MATRIXINPUT": 1, + "MATRIXOUTPUT": 2, + "MATRIXONLY": (1 | 2), + "NOWHITEONWHITEFIXUP": 4, # Don't hot fix scum dot + # Don't create prelinearization tables on precalculated transforms + # (internal use): + "NOPRELINEARIZATION": 16, + "GUESSDEVICECLASS": 32, # Guess device class (for transform2devicelink) + "NOTCACHE": 64, # Inhibit 1-pixel cache + "NOTPRECALC": 256, + "NULLTRANSFORM": 512, # Don't transform anyway + "HIGHRESPRECALC": 1024, # Use more memory to give better accuracy + "LOWRESPRECALC": 2048, # Use less memory to minimize resources + "WHITEBLACKCOMPENSATION": 8192, + "BLACKPOINTCOMPENSATION": 8192, + "GAMUTCHECK": 4096, # Out of Gamut alarm + "SOFTPROOFING": 16384, # Do softproofing + "PRESERVEBLACK": 32768, # Black preservation + "NODEFAULTRESOURCEDEF": 16777216, # CRD special + "GRIDPOINTS": lambda n: (n & 0xFF) << 16, # Gridpoints +} + + +# --------------------------------------------------------------------. +# Experimental PIL-level API +# --------------------------------------------------------------------. + +## +# Profile. + + +class ImageCmsProfile: + def __init__(self, profile: str | SupportsRead[bytes] | core.CmsProfile) -> None: + """ + :param profile: Either a string representing a filename, + a file like object containing a profile or a + low-level profile object + + """ + + if isinstance(profile, str): + if sys.platform == "win32": + profile_bytes_path = profile.encode() + try: + profile_bytes_path.decode("ascii") + except UnicodeDecodeError: + with open(profile, "rb") as f: + self._set(core.profile_frombytes(f.read())) + return + self._set(core.profile_open(profile), profile) + elif hasattr(profile, "read"): + self._set(core.profile_frombytes(profile.read())) + elif isinstance(profile, core.CmsProfile): + self._set(profile) + else: + msg = "Invalid type for Profile" # type: ignore[unreachable] + raise TypeError(msg) + + def _set(self, profile: core.CmsProfile, filename: str | None = None) -> None: + self.profile = profile + self.filename = filename + self.product_name = None # profile.product_name + self.product_info = None # profile.product_info + + def tobytes(self) -> bytes: + """ + Returns the profile in a format suitable for embedding in + saved images. + + :returns: a bytes object containing the ICC profile. + """ + + return core.profile_tobytes(self.profile) + + +class ImageCmsTransform(Image.ImagePointHandler): + """ + Transform. This can be used with the procedural API, or with the standard + :py:func:`~PIL.Image.Image.point` method. + + Will return the output profile in the ``output.info['icc_profile']``. + """ + + def __init__( + self, + input: ImageCmsProfile, + output: ImageCmsProfile, + input_mode: str, + output_mode: str, + intent: Intent = Intent.PERCEPTUAL, + proof: ImageCmsProfile | None = None, + proof_intent: Intent = Intent.ABSOLUTE_COLORIMETRIC, + flags: Flags = Flags.NONE, + ): + supported_modes = ( + "RGB", + "RGBA", + "RGBX", + "CMYK", + "I;16", + "I;16L", + "I;16B", + "YCbCr", + "LAB", + "L", + "1", + ) + for mode in (input_mode, output_mode): + if mode not in supported_modes: + deprecate( + mode, + 12, + { + "L;16": "I;16 or I;16L", + "L:16B": "I;16B", + "YCCA": "YCbCr", + "YCC": "YCbCr", + }.get(mode), + ) + if proof is None: + self.transform = core.buildTransform( + input.profile, output.profile, input_mode, output_mode, intent, flags + ) + else: + self.transform = core.buildProofTransform( + input.profile, + output.profile, + proof.profile, + input_mode, + output_mode, + intent, + proof_intent, + flags, + ) + # Note: inputMode and outputMode are for pyCMS compatibility only + self.input_mode = self.inputMode = input_mode + self.output_mode = self.outputMode = output_mode + + self.output_profile = output + + def point(self, im: Image.Image) -> Image.Image: + return self.apply(im) + + def apply(self, im: Image.Image, imOut: Image.Image | None = None) -> Image.Image: + if imOut is None: + imOut = Image.new(self.output_mode, im.size, None) + self.transform.apply(im.getim(), imOut.getim()) + imOut.info["icc_profile"] = self.output_profile.tobytes() + return imOut + + def apply_in_place(self, im: Image.Image) -> Image.Image: + if im.mode != self.output_mode: + msg = "mode mismatch" + raise ValueError(msg) # wrong output mode + self.transform.apply(im.getim(), im.getim()) + im.info["icc_profile"] = self.output_profile.tobytes() + return im + + +def get_display_profile(handle: SupportsInt | None = None) -> ImageCmsProfile | None: + """ + (experimental) Fetches the profile for the current display device. + + :returns: ``None`` if the profile is not known. + """ + + if sys.platform != "win32": + return None + + from . import ImageWin # type: ignore[unused-ignore, unreachable] + + if isinstance(handle, ImageWin.HDC): + profile = core.get_display_profile_win32(int(handle), 1) + else: + profile = core.get_display_profile_win32(int(handle or 0)) + if profile is None: + return None + return ImageCmsProfile(profile) + + +# --------------------------------------------------------------------. +# pyCMS compatible layer +# --------------------------------------------------------------------. + + +class PyCMSError(Exception): + """(pyCMS) Exception class. + This is used for all errors in the pyCMS API.""" + + pass + + +def profileToProfile( + im: Image.Image, + inputProfile: _CmsProfileCompatible, + outputProfile: _CmsProfileCompatible, + renderingIntent: Intent = Intent.PERCEPTUAL, + outputMode: str | None = None, + inPlace: bool = False, + flags: Flags = Flags.NONE, +) -> Image.Image | None: + """ + (pyCMS) Applies an ICC transformation to a given image, mapping from + ``inputProfile`` to ``outputProfile``. + + If the input or output profiles specified are not valid filenames, a + :exc:`PyCMSError` will be raised. If ``inPlace`` is ``True`` and + ``outputMode != im.mode``, a :exc:`PyCMSError` will be raised. + If an error occurs during application of the profiles, + a :exc:`PyCMSError` will be raised. + If ``outputMode`` is not a mode supported by the ``outputProfile`` (or by pyCMS), + a :exc:`PyCMSError` will be raised. + + This function applies an ICC transformation to im from ``inputProfile``'s + color space to ``outputProfile``'s color space using the specified rendering + intent to decide how to handle out-of-gamut colors. + + ``outputMode`` can be used to specify that a color mode conversion is to + be done using these profiles, but the specified profiles must be able + to handle that mode. I.e., if converting im from RGB to CMYK using + profiles, the input profile must handle RGB data, and the output + profile must handle CMYK data. + + :param im: An open :py:class:`~PIL.Image.Image` object (i.e. Image.new(...) + or Image.open(...), etc.) + :param inputProfile: String, as a valid filename path to the ICC input + profile you wish to use for this image, or a profile object + :param outputProfile: String, as a valid filename path to the ICC output + profile you wish to use for this image, or a profile object + :param renderingIntent: Integer (0-3) specifying the rendering intent you + wish to use for the transform + + ImageCms.Intent.PERCEPTUAL = 0 (DEFAULT) + ImageCms.Intent.RELATIVE_COLORIMETRIC = 1 + ImageCms.Intent.SATURATION = 2 + ImageCms.Intent.ABSOLUTE_COLORIMETRIC = 3 + + see the pyCMS documentation for details on rendering intents and what + they do. + :param outputMode: A valid PIL mode for the output image (i.e. "RGB", + "CMYK", etc.). Note: if rendering the image "inPlace", outputMode + MUST be the same mode as the input, or omitted completely. If + omitted, the outputMode will be the same as the mode of the input + image (im.mode) + :param inPlace: Boolean. If ``True``, the original image is modified in-place, + and ``None`` is returned. If ``False`` (default), a new + :py:class:`~PIL.Image.Image` object is returned with the transform applied. + :param flags: Integer (0-...) specifying additional flags + :returns: Either None or a new :py:class:`~PIL.Image.Image` object, depending on + the value of ``inPlace`` + :exception PyCMSError: + """ + + if outputMode is None: + outputMode = im.mode + + if not isinstance(renderingIntent, int) or not (0 <= renderingIntent <= 3): + msg = "renderingIntent must be an integer between 0 and 3" + raise PyCMSError(msg) + + if not isinstance(flags, int) or not (0 <= flags <= _MAX_FLAG): + msg = f"flags must be an integer between 0 and {_MAX_FLAG}" + raise PyCMSError(msg) + + try: + if not isinstance(inputProfile, ImageCmsProfile): + inputProfile = ImageCmsProfile(inputProfile) + if not isinstance(outputProfile, ImageCmsProfile): + outputProfile = ImageCmsProfile(outputProfile) + transform = ImageCmsTransform( + inputProfile, + outputProfile, + im.mode, + outputMode, + renderingIntent, + flags=flags, + ) + if inPlace: + transform.apply_in_place(im) + imOut = None + else: + imOut = transform.apply(im) + except (OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + return imOut + + +def getOpenProfile( + profileFilename: str | SupportsRead[bytes] | core.CmsProfile, +) -> ImageCmsProfile: + """ + (pyCMS) Opens an ICC profile file. + + The PyCMSProfile object can be passed back into pyCMS for use in creating + transforms and such (as in ImageCms.buildTransformFromOpenProfiles()). + + If ``profileFilename`` is not a valid filename for an ICC profile, + a :exc:`PyCMSError` will be raised. + + :param profileFilename: String, as a valid filename path to the ICC profile + you wish to open, or a file-like object. + :returns: A CmsProfile class object. + :exception PyCMSError: + """ + + try: + return ImageCmsProfile(profileFilename) + except (OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def buildTransform( + inputProfile: _CmsProfileCompatible, + outputProfile: _CmsProfileCompatible, + inMode: str, + outMode: str, + renderingIntent: Intent = Intent.PERCEPTUAL, + flags: Flags = Flags.NONE, +) -> ImageCmsTransform: + """ + (pyCMS) Builds an ICC transform mapping from the ``inputProfile`` to the + ``outputProfile``. Use applyTransform to apply the transform to a given + image. + + If the input or output profiles specified are not valid filenames, a + :exc:`PyCMSError` will be raised. If an error occurs during creation + of the transform, a :exc:`PyCMSError` will be raised. + + If ``inMode`` or ``outMode`` are not a mode supported by the ``outputProfile`` + (or by pyCMS), a :exc:`PyCMSError` will be raised. + + This function builds and returns an ICC transform from the ``inputProfile`` + to the ``outputProfile`` using the ``renderingIntent`` to determine what to do + with out-of-gamut colors. It will ONLY work for converting images that + are in ``inMode`` to images that are in ``outMode`` color format (PIL mode, + i.e. "RGB", "RGBA", "CMYK", etc.). + + Building the transform is a fair part of the overhead in + ImageCms.profileToProfile(), so if you're planning on converting multiple + images using the same input/output settings, this can save you time. + Once you have a transform object, it can be used with + ImageCms.applyProfile() to convert images without the need to re-compute + the lookup table for the transform. + + The reason pyCMS returns a class object rather than a handle directly + to the transform is that it needs to keep track of the PIL input/output + modes that the transform is meant for. These attributes are stored in + the ``inMode`` and ``outMode`` attributes of the object (which can be + manually overridden if you really want to, but I don't know of any + time that would be of use, or would even work). + + :param inputProfile: String, as a valid filename path to the ICC input + profile you wish to use for this transform, or a profile object + :param outputProfile: String, as a valid filename path to the ICC output + profile you wish to use for this transform, or a profile object + :param inMode: String, as a valid PIL mode that the appropriate profile + also supports (i.e. "RGB", "RGBA", "CMYK", etc.) + :param outMode: String, as a valid PIL mode that the appropriate profile + also supports (i.e. "RGB", "RGBA", "CMYK", etc.) + :param renderingIntent: Integer (0-3) specifying the rendering intent you + wish to use for the transform + + ImageCms.Intent.PERCEPTUAL = 0 (DEFAULT) + ImageCms.Intent.RELATIVE_COLORIMETRIC = 1 + ImageCms.Intent.SATURATION = 2 + ImageCms.Intent.ABSOLUTE_COLORIMETRIC = 3 + + see the pyCMS documentation for details on rendering intents and what + they do. + :param flags: Integer (0-...) specifying additional flags + :returns: A CmsTransform class object. + :exception PyCMSError: + """ + + if not isinstance(renderingIntent, int) or not (0 <= renderingIntent <= 3): + msg = "renderingIntent must be an integer between 0 and 3" + raise PyCMSError(msg) + + if not isinstance(flags, int) or not (0 <= flags <= _MAX_FLAG): + msg = f"flags must be an integer between 0 and {_MAX_FLAG}" + raise PyCMSError(msg) + + try: + if not isinstance(inputProfile, ImageCmsProfile): + inputProfile = ImageCmsProfile(inputProfile) + if not isinstance(outputProfile, ImageCmsProfile): + outputProfile = ImageCmsProfile(outputProfile) + return ImageCmsTransform( + inputProfile, outputProfile, inMode, outMode, renderingIntent, flags=flags + ) + except (OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def buildProofTransform( + inputProfile: _CmsProfileCompatible, + outputProfile: _CmsProfileCompatible, + proofProfile: _CmsProfileCompatible, + inMode: str, + outMode: str, + renderingIntent: Intent = Intent.PERCEPTUAL, + proofRenderingIntent: Intent = Intent.ABSOLUTE_COLORIMETRIC, + flags: Flags = Flags.SOFTPROOFING, +) -> ImageCmsTransform: + """ + (pyCMS) Builds an ICC transform mapping from the ``inputProfile`` to the + ``outputProfile``, but tries to simulate the result that would be + obtained on the ``proofProfile`` device. + + If the input, output, or proof profiles specified are not valid + filenames, a :exc:`PyCMSError` will be raised. + + If an error occurs during creation of the transform, + a :exc:`PyCMSError` will be raised. + + If ``inMode`` or ``outMode`` are not a mode supported by the ``outputProfile`` + (or by pyCMS), a :exc:`PyCMSError` will be raised. + + This function builds and returns an ICC transform from the ``inputProfile`` + to the ``outputProfile``, but tries to simulate the result that would be + obtained on the ``proofProfile`` device using ``renderingIntent`` and + ``proofRenderingIntent`` to determine what to do with out-of-gamut + colors. This is known as "soft-proofing". It will ONLY work for + converting images that are in ``inMode`` to images that are in outMode + color format (PIL mode, i.e. "RGB", "RGBA", "CMYK", etc.). + + Usage of the resulting transform object is exactly the same as with + ImageCms.buildTransform(). + + Proof profiling is generally used when using an output device to get a + good idea of what the final printed/displayed image would look like on + the ``proofProfile`` device when it's quicker and easier to use the + output device for judging color. Generally, this means that the + output device is a monitor, or a dye-sub printer (etc.), and the simulated + device is something more expensive, complicated, or time consuming + (making it difficult to make a real print for color judgement purposes). + + Soft-proofing basically functions by adjusting the colors on the + output device to match the colors of the device being simulated. However, + when the simulated device has a much wider gamut than the output + device, you may obtain marginal results. + + :param inputProfile: String, as a valid filename path to the ICC input + profile you wish to use for this transform, or a profile object + :param outputProfile: String, as a valid filename path to the ICC output + (monitor, usually) profile you wish to use for this transform, or a + profile object + :param proofProfile: String, as a valid filename path to the ICC proof + profile you wish to use for this transform, or a profile object + :param inMode: String, as a valid PIL mode that the appropriate profile + also supports (i.e. "RGB", "RGBA", "CMYK", etc.) + :param outMode: String, as a valid PIL mode that the appropriate profile + also supports (i.e. "RGB", "RGBA", "CMYK", etc.) + :param renderingIntent: Integer (0-3) specifying the rendering intent you + wish to use for the input->proof (simulated) transform + + ImageCms.Intent.PERCEPTUAL = 0 (DEFAULT) + ImageCms.Intent.RELATIVE_COLORIMETRIC = 1 + ImageCms.Intent.SATURATION = 2 + ImageCms.Intent.ABSOLUTE_COLORIMETRIC = 3 + + see the pyCMS documentation for details on rendering intents and what + they do. + :param proofRenderingIntent: Integer (0-3) specifying the rendering intent + you wish to use for proof->output transform + + ImageCms.Intent.PERCEPTUAL = 0 (DEFAULT) + ImageCms.Intent.RELATIVE_COLORIMETRIC = 1 + ImageCms.Intent.SATURATION = 2 + ImageCms.Intent.ABSOLUTE_COLORIMETRIC = 3 + + see the pyCMS documentation for details on rendering intents and what + they do. + :param flags: Integer (0-...) specifying additional flags + :returns: A CmsTransform class object. + :exception PyCMSError: + """ + + if not isinstance(renderingIntent, int) or not (0 <= renderingIntent <= 3): + msg = "renderingIntent must be an integer between 0 and 3" + raise PyCMSError(msg) + + if not isinstance(flags, int) or not (0 <= flags <= _MAX_FLAG): + msg = f"flags must be an integer between 0 and {_MAX_FLAG}" + raise PyCMSError(msg) + + try: + if not isinstance(inputProfile, ImageCmsProfile): + inputProfile = ImageCmsProfile(inputProfile) + if not isinstance(outputProfile, ImageCmsProfile): + outputProfile = ImageCmsProfile(outputProfile) + if not isinstance(proofProfile, ImageCmsProfile): + proofProfile = ImageCmsProfile(proofProfile) + return ImageCmsTransform( + inputProfile, + outputProfile, + inMode, + outMode, + renderingIntent, + proofProfile, + proofRenderingIntent, + flags, + ) + except (OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +buildTransformFromOpenProfiles = buildTransform +buildProofTransformFromOpenProfiles = buildProofTransform + + +def applyTransform( + im: Image.Image, transform: ImageCmsTransform, inPlace: bool = False +) -> Image.Image | None: + """ + (pyCMS) Applies a transform to a given image. + + If ``im.mode != transform.input_mode``, a :exc:`PyCMSError` is raised. + + If ``inPlace`` is ``True`` and ``transform.input_mode != transform.output_mode``, a + :exc:`PyCMSError` is raised. + + If ``im.mode``, ``transform.input_mode`` or ``transform.output_mode`` is not + supported by pyCMSdll or the profiles you used for the transform, a + :exc:`PyCMSError` is raised. + + If an error occurs while the transform is being applied, + a :exc:`PyCMSError` is raised. + + This function applies a pre-calculated transform (from + ImageCms.buildTransform() or ImageCms.buildTransformFromOpenProfiles()) + to an image. The transform can be used for multiple images, saving + considerable calculation time if doing the same conversion multiple times. + + If you want to modify im in-place instead of receiving a new image as + the return value, set ``inPlace`` to ``True``. This can only be done if + ``transform.input_mode`` and ``transform.output_mode`` are the same, because we + can't change the mode in-place (the buffer sizes for some modes are + different). The default behavior is to return a new :py:class:`~PIL.Image.Image` + object of the same dimensions in mode ``transform.output_mode``. + + :param im: An :py:class:`~PIL.Image.Image` object, and ``im.mode`` must be the same + as the ``input_mode`` supported by the transform. + :param transform: A valid CmsTransform class object + :param inPlace: Bool. If ``True``, ``im`` is modified in place and ``None`` is + returned, if ``False``, a new :py:class:`~PIL.Image.Image` object with the + transform applied is returned (and ``im`` is not changed). The default is + ``False``. + :returns: Either ``None``, or a new :py:class:`~PIL.Image.Image` object, + depending on the value of ``inPlace``. The profile will be returned in + the image's ``info['icc_profile']``. + :exception PyCMSError: + """ + + try: + if inPlace: + transform.apply_in_place(im) + imOut = None + else: + imOut = transform.apply(im) + except (TypeError, ValueError) as v: + raise PyCMSError(v) from v + + return imOut + + +def createProfile( + colorSpace: Literal["LAB", "XYZ", "sRGB"], colorTemp: SupportsFloat = 0 +) -> core.CmsProfile: + """ + (pyCMS) Creates a profile. + + If colorSpace not in ``["LAB", "XYZ", "sRGB"]``, + a :exc:`PyCMSError` is raised. + + If using LAB and ``colorTemp`` is not a positive integer, + a :exc:`PyCMSError` is raised. + + If an error occurs while creating the profile, + a :exc:`PyCMSError` is raised. + + Use this function to create common profiles on-the-fly instead of + having to supply a profile on disk and knowing the path to it. It + returns a normal CmsProfile object that can be passed to + ImageCms.buildTransformFromOpenProfiles() to create a transform to apply + to images. + + :param colorSpace: String, the color space of the profile you wish to + create. + Currently only "LAB", "XYZ", and "sRGB" are supported. + :param colorTemp: Positive number for the white point for the profile, in + degrees Kelvin (i.e. 5000, 6500, 9600, etc.). The default is for D50 + illuminant if omitted (5000k). colorTemp is ONLY applied to LAB + profiles, and is ignored for XYZ and sRGB. + :returns: A CmsProfile class object + :exception PyCMSError: + """ + + if colorSpace not in ["LAB", "XYZ", "sRGB"]: + msg = ( + f"Color space not supported for on-the-fly profile creation ({colorSpace})" + ) + raise PyCMSError(msg) + + if colorSpace == "LAB": + try: + colorTemp = float(colorTemp) + except (TypeError, ValueError) as e: + msg = f'Color temperature must be numeric, "{colorTemp}" not valid' + raise PyCMSError(msg) from e + + try: + return core.createProfile(colorSpace, colorTemp) + except (TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def getProfileName(profile: _CmsProfileCompatible) -> str: + """ + + (pyCMS) Gets the internal product name for the given profile. + + If ``profile`` isn't a valid CmsProfile object or filename to a profile, + a :exc:`PyCMSError` is raised If an error occurs while trying + to obtain the name tag, a :exc:`PyCMSError` is raised. + + Use this function to obtain the INTERNAL name of the profile (stored + in an ICC tag in the profile itself), usually the one used when the + profile was originally created. Sometimes this tag also contains + additional information supplied by the creator. + + :param profile: EITHER a valid CmsProfile object, OR a string of the + filename of an ICC profile. + :returns: A string containing the internal name of the profile as stored + in an ICC tag. + :exception PyCMSError: + """ + + try: + # add an extra newline to preserve pyCMS compatibility + if not isinstance(profile, ImageCmsProfile): + profile = ImageCmsProfile(profile) + # do it in python, not c. + # // name was "%s - %s" (model, manufacturer) || Description , + # // but if the Model and Manufacturer were the same or the model + # // was long, Just the model, in 1.x + model = profile.profile.model + manufacturer = profile.profile.manufacturer + + if not (model or manufacturer): + return (profile.profile.profile_description or "") + "\n" + if not manufacturer or (model and len(model) > 30): + return f"{model}\n" + return f"{model} - {manufacturer}\n" + + except (AttributeError, OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def getProfileInfo(profile: _CmsProfileCompatible) -> str: + """ + (pyCMS) Gets the internal product information for the given profile. + + If ``profile`` isn't a valid CmsProfile object or filename to a profile, + a :exc:`PyCMSError` is raised. + + If an error occurs while trying to obtain the info tag, + a :exc:`PyCMSError` is raised. + + Use this function to obtain the information stored in the profile's + info tag. This often contains details about the profile, and how it + was created, as supplied by the creator. + + :param profile: EITHER a valid CmsProfile object, OR a string of the + filename of an ICC profile. + :returns: A string containing the internal profile information stored in + an ICC tag. + :exception PyCMSError: + """ + + try: + if not isinstance(profile, ImageCmsProfile): + profile = ImageCmsProfile(profile) + # add an extra newline to preserve pyCMS compatibility + # Python, not C. the white point bits weren't working well, + # so skipping. + # info was description \r\n\r\n copyright \r\n\r\n K007 tag \r\n\r\n whitepoint + description = profile.profile.profile_description + cpright = profile.profile.copyright + elements = [element for element in (description, cpright) if element] + return "\r\n\r\n".join(elements) + "\r\n\r\n" + + except (AttributeError, OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def getProfileCopyright(profile: _CmsProfileCompatible) -> str: + """ + (pyCMS) Gets the copyright for the given profile. + + If ``profile`` isn't a valid CmsProfile object or filename to a profile, a + :exc:`PyCMSError` is raised. + + If an error occurs while trying to obtain the copyright tag, + a :exc:`PyCMSError` is raised. + + Use this function to obtain the information stored in the profile's + copyright tag. + + :param profile: EITHER a valid CmsProfile object, OR a string of the + filename of an ICC profile. + :returns: A string containing the internal profile information stored in + an ICC tag. + :exception PyCMSError: + """ + try: + # add an extra newline to preserve pyCMS compatibility + if not isinstance(profile, ImageCmsProfile): + profile = ImageCmsProfile(profile) + return (profile.profile.copyright or "") + "\n" + except (AttributeError, OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def getProfileManufacturer(profile: _CmsProfileCompatible) -> str: + """ + (pyCMS) Gets the manufacturer for the given profile. + + If ``profile`` isn't a valid CmsProfile object or filename to a profile, a + :exc:`PyCMSError` is raised. + + If an error occurs while trying to obtain the manufacturer tag, a + :exc:`PyCMSError` is raised. + + Use this function to obtain the information stored in the profile's + manufacturer tag. + + :param profile: EITHER a valid CmsProfile object, OR a string of the + filename of an ICC profile. + :returns: A string containing the internal profile information stored in + an ICC tag. + :exception PyCMSError: + """ + try: + # add an extra newline to preserve pyCMS compatibility + if not isinstance(profile, ImageCmsProfile): + profile = ImageCmsProfile(profile) + return (profile.profile.manufacturer or "") + "\n" + except (AttributeError, OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def getProfileModel(profile: _CmsProfileCompatible) -> str: + """ + (pyCMS) Gets the model for the given profile. + + If ``profile`` isn't a valid CmsProfile object or filename to a profile, a + :exc:`PyCMSError` is raised. + + If an error occurs while trying to obtain the model tag, + a :exc:`PyCMSError` is raised. + + Use this function to obtain the information stored in the profile's + model tag. + + :param profile: EITHER a valid CmsProfile object, OR a string of the + filename of an ICC profile. + :returns: A string containing the internal profile information stored in + an ICC tag. + :exception PyCMSError: + """ + + try: + # add an extra newline to preserve pyCMS compatibility + if not isinstance(profile, ImageCmsProfile): + profile = ImageCmsProfile(profile) + return (profile.profile.model or "") + "\n" + except (AttributeError, OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def getProfileDescription(profile: _CmsProfileCompatible) -> str: + """ + (pyCMS) Gets the description for the given profile. + + If ``profile`` isn't a valid CmsProfile object or filename to a profile, a + :exc:`PyCMSError` is raised. + + If an error occurs while trying to obtain the description tag, + a :exc:`PyCMSError` is raised. + + Use this function to obtain the information stored in the profile's + description tag. + + :param profile: EITHER a valid CmsProfile object, OR a string of the + filename of an ICC profile. + :returns: A string containing the internal profile information stored in an + ICC tag. + :exception PyCMSError: + """ + + try: + # add an extra newline to preserve pyCMS compatibility + if not isinstance(profile, ImageCmsProfile): + profile = ImageCmsProfile(profile) + return (profile.profile.profile_description or "") + "\n" + except (AttributeError, OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def getDefaultIntent(profile: _CmsProfileCompatible) -> int: + """ + (pyCMS) Gets the default intent name for the given profile. + + If ``profile`` isn't a valid CmsProfile object or filename to a profile, a + :exc:`PyCMSError` is raised. + + If an error occurs while trying to obtain the default intent, a + :exc:`PyCMSError` is raised. + + Use this function to determine the default (and usually best optimized) + rendering intent for this profile. Most profiles support multiple + rendering intents, but are intended mostly for one type of conversion. + If you wish to use a different intent than returned, use + ImageCms.isIntentSupported() to verify it will work first. + + :param profile: EITHER a valid CmsProfile object, OR a string of the + filename of an ICC profile. + :returns: Integer 0-3 specifying the default rendering intent for this + profile. + + ImageCms.Intent.PERCEPTUAL = 0 (DEFAULT) + ImageCms.Intent.RELATIVE_COLORIMETRIC = 1 + ImageCms.Intent.SATURATION = 2 + ImageCms.Intent.ABSOLUTE_COLORIMETRIC = 3 + + see the pyCMS documentation for details on rendering intents and what + they do. + :exception PyCMSError: + """ + + try: + if not isinstance(profile, ImageCmsProfile): + profile = ImageCmsProfile(profile) + return profile.profile.rendering_intent + except (AttributeError, OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def isIntentSupported( + profile: _CmsProfileCompatible, intent: Intent, direction: Direction +) -> Literal[-1, 1]: + """ + (pyCMS) Checks if a given intent is supported. + + Use this function to verify that you can use your desired + ``intent`` with ``profile``, and that ``profile`` can be used for the + input/output/proof profile as you desire. + + Some profiles are created specifically for one "direction", can cannot + be used for others. Some profiles can only be used for certain + rendering intents, so it's best to either verify this before trying + to create a transform with them (using this function), or catch the + potential :exc:`PyCMSError` that will occur if they don't + support the modes you select. + + :param profile: EITHER a valid CmsProfile object, OR a string of the + filename of an ICC profile. + :param intent: Integer (0-3) specifying the rendering intent you wish to + use with this profile + + ImageCms.Intent.PERCEPTUAL = 0 (DEFAULT) + ImageCms.Intent.RELATIVE_COLORIMETRIC = 1 + ImageCms.Intent.SATURATION = 2 + ImageCms.Intent.ABSOLUTE_COLORIMETRIC = 3 + + see the pyCMS documentation for details on rendering intents and what + they do. + :param direction: Integer specifying if the profile is to be used for + input, output, or proof + + INPUT = 0 (or use ImageCms.Direction.INPUT) + OUTPUT = 1 (or use ImageCms.Direction.OUTPUT) + PROOF = 2 (or use ImageCms.Direction.PROOF) + + :returns: 1 if the intent/direction are supported, -1 if they are not. + :exception PyCMSError: + """ + + try: + if not isinstance(profile, ImageCmsProfile): + profile = ImageCmsProfile(profile) + # FIXME: I get different results for the same data w. different + # compilers. Bug in LittleCMS or in the binding? + if profile.profile.is_intent_supported(intent, direction): + return 1 + else: + return -1 + except (AttributeError, OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def versions() -> tuple[str, str | None, str, str]: + """ + (pyCMS) Fetches versions. + """ + + deprecate( + "PIL.ImageCms.versions()", + 12, + '(PIL.features.version("littlecms2"), sys.version, PIL.__version__)', + ) + return _VERSION, core.littlecms_version, sys.version.split()[0], __version__ diff --git a/venv/Lib/site-packages/PIL/ImageColor.py b/venv/Lib/site-packages/PIL/ImageColor.py new file mode 100644 index 00000000..9a15a8eb --- /dev/null +++ b/venv/Lib/site-packages/PIL/ImageColor.py @@ -0,0 +1,320 @@ +# +# The Python Imaging Library +# $Id$ +# +# map CSS3-style colour description strings to RGB +# +# History: +# 2002-10-24 fl Added support for CSS-style color strings +# 2002-12-15 fl Added RGBA support +# 2004-03-27 fl Fixed remaining int() problems for Python 1.5.2 +# 2004-07-19 fl Fixed gray/grey spelling issues +# 2009-03-05 fl Fixed rounding error in grayscale calculation +# +# Copyright (c) 2002-2004 by Secret Labs AB +# Copyright (c) 2002-2004 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import re +from functools import lru_cache + +from . import Image + + +@lru_cache +def getrgb(color: str) -> tuple[int, int, int] | tuple[int, int, int, int]: + """ + Convert a color string to an RGB or RGBA tuple. If the string cannot be + parsed, this function raises a :py:exc:`ValueError` exception. + + .. versionadded:: 1.1.4 + + :param color: A color string + :return: ``(red, green, blue[, alpha])`` + """ + if len(color) > 100: + msg = "color specifier is too long" + raise ValueError(msg) + color = color.lower() + + rgb = colormap.get(color, None) + if rgb: + if isinstance(rgb, tuple): + return rgb + rgb_tuple = getrgb(rgb) + assert len(rgb_tuple) == 3 + colormap[color] = rgb_tuple + return rgb_tuple + + # check for known string formats + if re.match("#[a-f0-9]{3}$", color): + return int(color[1] * 2, 16), int(color[2] * 2, 16), int(color[3] * 2, 16) + + if re.match("#[a-f0-9]{4}$", color): + return ( + int(color[1] * 2, 16), + int(color[2] * 2, 16), + int(color[3] * 2, 16), + int(color[4] * 2, 16), + ) + + if re.match("#[a-f0-9]{6}$", color): + return int(color[1:3], 16), int(color[3:5], 16), int(color[5:7], 16) + + if re.match("#[a-f0-9]{8}$", color): + return ( + int(color[1:3], 16), + int(color[3:5], 16), + int(color[5:7], 16), + int(color[7:9], 16), + ) + + m = re.match(r"rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$", color) + if m: + return int(m.group(1)), int(m.group(2)), int(m.group(3)) + + m = re.match(r"rgb\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)$", color) + if m: + return ( + int((int(m.group(1)) * 255) / 100.0 + 0.5), + int((int(m.group(2)) * 255) / 100.0 + 0.5), + int((int(m.group(3)) * 255) / 100.0 + 0.5), + ) + + m = re.match( + r"hsl\(\s*(\d+\.?\d*)\s*,\s*(\d+\.?\d*)%\s*,\s*(\d+\.?\d*)%\s*\)$", color + ) + if m: + from colorsys import hls_to_rgb + + rgb_floats = hls_to_rgb( + float(m.group(1)) / 360.0, + float(m.group(3)) / 100.0, + float(m.group(2)) / 100.0, + ) + return ( + int(rgb_floats[0] * 255 + 0.5), + int(rgb_floats[1] * 255 + 0.5), + int(rgb_floats[2] * 255 + 0.5), + ) + + m = re.match( + r"hs[bv]\(\s*(\d+\.?\d*)\s*,\s*(\d+\.?\d*)%\s*,\s*(\d+\.?\d*)%\s*\)$", color + ) + if m: + from colorsys import hsv_to_rgb + + rgb_floats = hsv_to_rgb( + float(m.group(1)) / 360.0, + float(m.group(2)) / 100.0, + float(m.group(3)) / 100.0, + ) + return ( + int(rgb_floats[0] * 255 + 0.5), + int(rgb_floats[1] * 255 + 0.5), + int(rgb_floats[2] * 255 + 0.5), + ) + + m = re.match(r"rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$", color) + if m: + return int(m.group(1)), int(m.group(2)), int(m.group(3)), int(m.group(4)) + msg = f"unknown color specifier: {repr(color)}" + raise ValueError(msg) + + +@lru_cache +def getcolor(color: str, mode: str) -> int | tuple[int, ...]: + """ + Same as :py:func:`~PIL.ImageColor.getrgb` for most modes. However, if + ``mode`` is HSV, converts the RGB value to a HSV value, or if ``mode`` is + not color or a palette image, converts the RGB value to a grayscale value. + If the string cannot be parsed, this function raises a :py:exc:`ValueError` + exception. + + .. versionadded:: 1.1.4 + + :param color: A color string + :param mode: Convert result to this mode + :return: ``graylevel, (graylevel, alpha) or (red, green, blue[, alpha])`` + """ + # same as getrgb, but converts the result to the given mode + rgb, alpha = getrgb(color), 255 + if len(rgb) == 4: + alpha = rgb[3] + rgb = rgb[:3] + + if mode == "HSV": + from colorsys import rgb_to_hsv + + r, g, b = rgb + h, s, v = rgb_to_hsv(r / 255, g / 255, b / 255) + return int(h * 255), int(s * 255), int(v * 255) + elif Image.getmodebase(mode) == "L": + r, g, b = rgb + # ITU-R Recommendation 601-2 for nonlinear RGB + # scaled to 24 bits to match the convert's implementation. + graylevel = (r * 19595 + g * 38470 + b * 7471 + 0x8000) >> 16 + if mode[-1] == "A": + return graylevel, alpha + return graylevel + elif mode[-1] == "A": + return rgb + (alpha,) + return rgb + + +colormap: dict[str, str | tuple[int, int, int]] = { + # X11 colour table from https://drafts.csswg.org/css-color-4/, with + # gray/grey spelling issues fixed. This is a superset of HTML 4.0 + # colour names used in CSS 1. + "aliceblue": "#f0f8ff", + "antiquewhite": "#faebd7", + "aqua": "#00ffff", + "aquamarine": "#7fffd4", + "azure": "#f0ffff", + "beige": "#f5f5dc", + "bisque": "#ffe4c4", + "black": "#000000", + "blanchedalmond": "#ffebcd", + "blue": "#0000ff", + "blueviolet": "#8a2be2", + "brown": "#a52a2a", + "burlywood": "#deb887", + "cadetblue": "#5f9ea0", + "chartreuse": "#7fff00", + "chocolate": "#d2691e", + "coral": "#ff7f50", + "cornflowerblue": "#6495ed", + "cornsilk": "#fff8dc", + "crimson": "#dc143c", + "cyan": "#00ffff", + "darkblue": "#00008b", + "darkcyan": "#008b8b", + "darkgoldenrod": "#b8860b", + "darkgray": "#a9a9a9", + "darkgrey": "#a9a9a9", + "darkgreen": "#006400", + "darkkhaki": "#bdb76b", + "darkmagenta": "#8b008b", + "darkolivegreen": "#556b2f", + "darkorange": "#ff8c00", + "darkorchid": "#9932cc", + "darkred": "#8b0000", + "darksalmon": "#e9967a", + "darkseagreen": "#8fbc8f", + "darkslateblue": "#483d8b", + "darkslategray": "#2f4f4f", + "darkslategrey": "#2f4f4f", + "darkturquoise": "#00ced1", + "darkviolet": "#9400d3", + "deeppink": "#ff1493", + "deepskyblue": "#00bfff", + "dimgray": "#696969", + "dimgrey": "#696969", + "dodgerblue": "#1e90ff", + "firebrick": "#b22222", + "floralwhite": "#fffaf0", + "forestgreen": "#228b22", + "fuchsia": "#ff00ff", + "gainsboro": "#dcdcdc", + "ghostwhite": "#f8f8ff", + "gold": "#ffd700", + "goldenrod": "#daa520", + "gray": "#808080", + "grey": "#808080", + "green": "#008000", + "greenyellow": "#adff2f", + "honeydew": "#f0fff0", + "hotpink": "#ff69b4", + "indianred": "#cd5c5c", + "indigo": "#4b0082", + "ivory": "#fffff0", + "khaki": "#f0e68c", + "lavender": "#e6e6fa", + "lavenderblush": "#fff0f5", + "lawngreen": "#7cfc00", + "lemonchiffon": "#fffacd", + "lightblue": "#add8e6", + "lightcoral": "#f08080", + "lightcyan": "#e0ffff", + "lightgoldenrodyellow": "#fafad2", + "lightgreen": "#90ee90", + "lightgray": "#d3d3d3", + "lightgrey": "#d3d3d3", + "lightpink": "#ffb6c1", + "lightsalmon": "#ffa07a", + "lightseagreen": "#20b2aa", + "lightskyblue": "#87cefa", + "lightslategray": "#778899", + "lightslategrey": "#778899", + "lightsteelblue": "#b0c4de", + "lightyellow": "#ffffe0", + "lime": "#00ff00", + "limegreen": "#32cd32", + "linen": "#faf0e6", + "magenta": "#ff00ff", + "maroon": "#800000", + "mediumaquamarine": "#66cdaa", + "mediumblue": "#0000cd", + "mediumorchid": "#ba55d3", + "mediumpurple": "#9370db", + "mediumseagreen": "#3cb371", + "mediumslateblue": "#7b68ee", + "mediumspringgreen": "#00fa9a", + "mediumturquoise": "#48d1cc", + "mediumvioletred": "#c71585", + "midnightblue": "#191970", + "mintcream": "#f5fffa", + "mistyrose": "#ffe4e1", + "moccasin": "#ffe4b5", + "navajowhite": "#ffdead", + "navy": "#000080", + "oldlace": "#fdf5e6", + "olive": "#808000", + "olivedrab": "#6b8e23", + "orange": "#ffa500", + "orangered": "#ff4500", + "orchid": "#da70d6", + "palegoldenrod": "#eee8aa", + "palegreen": "#98fb98", + "paleturquoise": "#afeeee", + "palevioletred": "#db7093", + "papayawhip": "#ffefd5", + "peachpuff": "#ffdab9", + "peru": "#cd853f", + "pink": "#ffc0cb", + "plum": "#dda0dd", + "powderblue": "#b0e0e6", + "purple": "#800080", + "rebeccapurple": "#663399", + "red": "#ff0000", + "rosybrown": "#bc8f8f", + "royalblue": "#4169e1", + "saddlebrown": "#8b4513", + "salmon": "#fa8072", + "sandybrown": "#f4a460", + "seagreen": "#2e8b57", + "seashell": "#fff5ee", + "sienna": "#a0522d", + "silver": "#c0c0c0", + "skyblue": "#87ceeb", + "slateblue": "#6a5acd", + "slategray": "#708090", + "slategrey": "#708090", + "snow": "#fffafa", + "springgreen": "#00ff7f", + "steelblue": "#4682b4", + "tan": "#d2b48c", + "teal": "#008080", + "thistle": "#d8bfd8", + "tomato": "#ff6347", + "turquoise": "#40e0d0", + "violet": "#ee82ee", + "wheat": "#f5deb3", + "white": "#ffffff", + "whitesmoke": "#f5f5f5", + "yellow": "#ffff00", + "yellowgreen": "#9acd32", +} diff --git a/venv/Lib/site-packages/PIL/ImageDraw.py b/venv/Lib/site-packages/PIL/ImageDraw.py new file mode 100644 index 00000000..d8e4c0c6 --- /dev/null +++ b/venv/Lib/site-packages/PIL/ImageDraw.py @@ -0,0 +1,1218 @@ +# +# The Python Imaging Library +# $Id$ +# +# drawing interface operations +# +# History: +# 1996-04-13 fl Created (experimental) +# 1996-08-07 fl Filled polygons, ellipses. +# 1996-08-13 fl Added text support +# 1998-06-28 fl Handle I and F images +# 1998-12-29 fl Added arc; use arc primitive to draw ellipses +# 1999-01-10 fl Added shape stuff (experimental) +# 1999-02-06 fl Added bitmap support +# 1999-02-11 fl Changed all primitives to take options +# 1999-02-20 fl Fixed backwards compatibility +# 2000-10-12 fl Copy on write, when necessary +# 2001-02-18 fl Use default ink for bitmap/text also in fill mode +# 2002-10-24 fl Added support for CSS-style color strings +# 2002-12-10 fl Added experimental support for RGBA-on-RGB drawing +# 2002-12-11 fl Refactored low-level drawing API (work in progress) +# 2004-08-26 fl Made Draw() a factory function, added getdraw() support +# 2004-09-04 fl Added width support to line primitive +# 2004-09-10 fl Added font mode handling +# 2006-06-19 fl Added font bearing support (getmask2) +# +# Copyright (c) 1997-2006 by Secret Labs AB +# Copyright (c) 1996-2006 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import math +import struct +from collections.abc import Sequence +from types import ModuleType +from typing import TYPE_CHECKING, Any, AnyStr, Callable, Union, cast + +from . import Image, ImageColor +from ._deprecate import deprecate +from ._typing import Coords + +# experimental access to the outline API +Outline: Callable[[], Image.core._Outline] | None +try: + Outline = Image.core.outline +except AttributeError: + Outline = None + +if TYPE_CHECKING: + from . import ImageDraw2, ImageFont + +_Ink = Union[float, tuple[int, ...], str] + +""" +A simple 2D drawing interface for PIL images. +

      +Application code should use the Draw factory, instead of +directly. +""" + + +class ImageDraw: + font: ( + ImageFont.ImageFont | ImageFont.FreeTypeFont | ImageFont.TransposedFont | None + ) = None + + def __init__(self, im: Image.Image, mode: str | None = None) -> None: + """ + Create a drawing instance. + + :param im: The image to draw in. + :param mode: Optional mode to use for color values. For RGB + images, this argument can be RGB or RGBA (to blend the + drawing into the image). For all other modes, this argument + must be the same as the image mode. If omitted, the mode + defaults to the mode of the image. + """ + im.load() + if im.readonly: + im._copy() # make it writeable + blend = 0 + if mode is None: + mode = im.mode + if mode != im.mode: + if mode == "RGBA" and im.mode == "RGB": + blend = 1 + else: + msg = "mode mismatch" + raise ValueError(msg) + if mode == "P": + self.palette = im.palette + else: + self.palette = None + self._image = im + self.im = im.im + self.draw = Image.core.draw(self.im, blend) + self.mode = mode + if mode in ("I", "F"): + self.ink = self.draw.draw_ink(1) + else: + self.ink = self.draw.draw_ink(-1) + if mode in ("1", "P", "I", "F"): + # FIXME: fix Fill2 to properly support matte for I+F images + self.fontmode = "1" + else: + self.fontmode = "L" # aliasing is okay for other modes + self.fill = False + + def getfont( + self, + ) -> ImageFont.ImageFont | ImageFont.FreeTypeFont | ImageFont.TransposedFont: + """ + Get the current default font. + + To set the default font for this ImageDraw instance:: + + from PIL import ImageDraw, ImageFont + draw.font = ImageFont.truetype("Tests/fonts/FreeMono.ttf") + + To set the default font for all future ImageDraw instances:: + + from PIL import ImageDraw, ImageFont + ImageDraw.ImageDraw.font = ImageFont.truetype("Tests/fonts/FreeMono.ttf") + + If the current default font is ``None``, + it is initialized with ``ImageFont.load_default()``. + + :returns: An image font.""" + if not self.font: + # FIXME: should add a font repository + from . import ImageFont + + self.font = ImageFont.load_default() + return self.font + + def _getfont( + self, font_size: float | None + ) -> ImageFont.ImageFont | ImageFont.FreeTypeFont | ImageFont.TransposedFont: + if font_size is not None: + from . import ImageFont + + return ImageFont.load_default(font_size) + else: + return self.getfont() + + def _getink( + self, ink: _Ink | None, fill: _Ink | None = None + ) -> tuple[int | None, int | None]: + result_ink = None + result_fill = None + if ink is None and fill is None: + if self.fill: + result_fill = self.ink + else: + result_ink = self.ink + else: + if ink is not None: + if isinstance(ink, str): + ink = ImageColor.getcolor(ink, self.mode) + if self.palette and isinstance(ink, tuple): + ink = self.palette.getcolor(ink, self._image) + result_ink = self.draw.draw_ink(ink) + if fill is not None: + if isinstance(fill, str): + fill = ImageColor.getcolor(fill, self.mode) + if self.palette and isinstance(fill, tuple): + fill = self.palette.getcolor(fill, self._image) + result_fill = self.draw.draw_ink(fill) + return result_ink, result_fill + + def arc( + self, + xy: Coords, + start: float, + end: float, + fill: _Ink | None = None, + width: int = 1, + ) -> None: + """Draw an arc.""" + ink, fill = self._getink(fill) + if ink is not None: + self.draw.draw_arc(xy, start, end, ink, width) + + def bitmap( + self, xy: Sequence[int], bitmap: Image.Image, fill: _Ink | None = None + ) -> None: + """Draw a bitmap.""" + bitmap.load() + ink, fill = self._getink(fill) + if ink is None: + ink = fill + if ink is not None: + self.draw.draw_bitmap(xy, bitmap.im, ink) + + def chord( + self, + xy: Coords, + start: float, + end: float, + fill: _Ink | None = None, + outline: _Ink | None = None, + width: int = 1, + ) -> None: + """Draw a chord.""" + ink, fill_ink = self._getink(outline, fill) + if fill_ink is not None: + self.draw.draw_chord(xy, start, end, fill_ink, 1) + if ink is not None and ink != fill_ink and width != 0: + self.draw.draw_chord(xy, start, end, ink, 0, width) + + def ellipse( + self, + xy: Coords, + fill: _Ink | None = None, + outline: _Ink | None = None, + width: int = 1, + ) -> None: + """Draw an ellipse.""" + ink, fill_ink = self._getink(outline, fill) + if fill_ink is not None: + self.draw.draw_ellipse(xy, fill_ink, 1) + if ink is not None and ink != fill_ink and width != 0: + self.draw.draw_ellipse(xy, ink, 0, width) + + def circle( + self, + xy: Sequence[float], + radius: float, + fill: _Ink | None = None, + outline: _Ink | None = None, + width: int = 1, + ) -> None: + """Draw a circle given center coordinates and a radius.""" + ellipse_xy = (xy[0] - radius, xy[1] - radius, xy[0] + radius, xy[1] + radius) + self.ellipse(ellipse_xy, fill, outline, width) + + def line( + self, + xy: Coords, + fill: _Ink | None = None, + width: int = 0, + joint: str | None = None, + ) -> None: + """Draw a line, or a connected sequence of line segments.""" + ink = self._getink(fill)[0] + if ink is not None: + self.draw.draw_lines(xy, ink, width) + if joint == "curve" and width > 4: + points: Sequence[Sequence[float]] + if isinstance(xy[0], (list, tuple)): + points = cast(Sequence[Sequence[float]], xy) + else: + points = [ + cast(Sequence[float], tuple(xy[i : i + 2])) + for i in range(0, len(xy), 2) + ] + for i in range(1, len(points) - 1): + point = points[i] + angles = [ + math.degrees(math.atan2(end[0] - start[0], start[1] - end[1])) + % 360 + for start, end in ( + (points[i - 1], point), + (point, points[i + 1]), + ) + ] + if angles[0] == angles[1]: + # This is a straight line, so no joint is required + continue + + def coord_at_angle( + coord: Sequence[float], angle: float + ) -> tuple[float, ...]: + x, y = coord + angle -= 90 + distance = width / 2 - 1 + return tuple( + p + (math.floor(p_d) if p_d > 0 else math.ceil(p_d)) + for p, p_d in ( + (x, distance * math.cos(math.radians(angle))), + (y, distance * math.sin(math.radians(angle))), + ) + ) + + flipped = ( + angles[1] > angles[0] and angles[1] - 180 > angles[0] + ) or (angles[1] < angles[0] and angles[1] + 180 > angles[0]) + coords = [ + (point[0] - width / 2 + 1, point[1] - width / 2 + 1), + (point[0] + width / 2 - 1, point[1] + width / 2 - 1), + ] + if flipped: + start, end = (angles[1] + 90, angles[0] + 90) + else: + start, end = (angles[0] - 90, angles[1] - 90) + self.pieslice(coords, start - 90, end - 90, fill) + + if width > 8: + # Cover potential gaps between the line and the joint + if flipped: + gap_coords = [ + coord_at_angle(point, angles[0] + 90), + point, + coord_at_angle(point, angles[1] + 90), + ] + else: + gap_coords = [ + coord_at_angle(point, angles[0] - 90), + point, + coord_at_angle(point, angles[1] - 90), + ] + self.line(gap_coords, fill, width=3) + + def shape( + self, + shape: Image.core._Outline, + fill: _Ink | None = None, + outline: _Ink | None = None, + ) -> None: + """(Experimental) Draw a shape.""" + shape.close() + ink, fill_ink = self._getink(outline, fill) + if fill_ink is not None: + self.draw.draw_outline(shape, fill_ink, 1) + if ink is not None and ink != fill_ink: + self.draw.draw_outline(shape, ink, 0) + + def pieslice( + self, + xy: Coords, + start: float, + end: float, + fill: _Ink | None = None, + outline: _Ink | None = None, + width: int = 1, + ) -> None: + """Draw a pieslice.""" + ink, fill_ink = self._getink(outline, fill) + if fill_ink is not None: + self.draw.draw_pieslice(xy, start, end, fill_ink, 1) + if ink is not None and ink != fill_ink and width != 0: + self.draw.draw_pieslice(xy, start, end, ink, 0, width) + + def point(self, xy: Coords, fill: _Ink | None = None) -> None: + """Draw one or more individual pixels.""" + ink, fill = self._getink(fill) + if ink is not None: + self.draw.draw_points(xy, ink) + + def polygon( + self, + xy: Coords, + fill: _Ink | None = None, + outline: _Ink | None = None, + width: int = 1, + ) -> None: + """Draw a polygon.""" + ink, fill_ink = self._getink(outline, fill) + if fill_ink is not None: + self.draw.draw_polygon(xy, fill_ink, 1) + if ink is not None and ink != fill_ink and width != 0: + if width == 1: + self.draw.draw_polygon(xy, ink, 0, width) + elif self.im is not None: + # To avoid expanding the polygon outwards, + # use the fill as a mask + mask = Image.new("1", self.im.size) + mask_ink = self._getink(1)[0] + + fill_im = mask.copy() + draw = Draw(fill_im) + draw.draw.draw_polygon(xy, mask_ink, 1) + + ink_im = mask.copy() + draw = Draw(ink_im) + width = width * 2 - 1 + draw.draw.draw_polygon(xy, mask_ink, 0, width) + + mask.paste(ink_im, mask=fill_im) + + im = Image.new(self.mode, self.im.size) + draw = Draw(im) + draw.draw.draw_polygon(xy, ink, 0, width) + self.im.paste(im.im, (0, 0) + im.size, mask.im) + + def regular_polygon( + self, + bounding_circle: Sequence[Sequence[float] | float], + n_sides: int, + rotation: float = 0, + fill: _Ink | None = None, + outline: _Ink | None = None, + width: int = 1, + ) -> None: + """Draw a regular polygon.""" + xy = _compute_regular_polygon_vertices(bounding_circle, n_sides, rotation) + self.polygon(xy, fill, outline, width) + + def rectangle( + self, + xy: Coords, + fill: _Ink | None = None, + outline: _Ink | None = None, + width: int = 1, + ) -> None: + """Draw a rectangle.""" + ink, fill_ink = self._getink(outline, fill) + if fill_ink is not None: + self.draw.draw_rectangle(xy, fill_ink, 1) + if ink is not None and ink != fill_ink and width != 0: + self.draw.draw_rectangle(xy, ink, 0, width) + + def rounded_rectangle( + self, + xy: Coords, + radius: float = 0, + fill: _Ink | None = None, + outline: _Ink | None = None, + width: int = 1, + *, + corners: tuple[bool, bool, bool, bool] | None = None, + ) -> None: + """Draw a rounded rectangle.""" + if isinstance(xy[0], (list, tuple)): + (x0, y0), (x1, y1) = cast(Sequence[Sequence[float]], xy) + else: + x0, y0, x1, y1 = cast(Sequence[float], xy) + if x1 < x0: + msg = "x1 must be greater than or equal to x0" + raise ValueError(msg) + if y1 < y0: + msg = "y1 must be greater than or equal to y0" + raise ValueError(msg) + if corners is None: + corners = (True, True, True, True) + + d = radius * 2 + + x0 = round(x0) + y0 = round(y0) + x1 = round(x1) + y1 = round(y1) + full_x, full_y = False, False + if all(corners): + full_x = d >= x1 - x0 - 1 + if full_x: + # The two left and two right corners are joined + d = x1 - x0 + full_y = d >= y1 - y0 - 1 + if full_y: + # The two top and two bottom corners are joined + d = y1 - y0 + if full_x and full_y: + # If all corners are joined, that is a circle + return self.ellipse(xy, fill, outline, width) + + if d == 0 or not any(corners): + # If the corners have no curve, + # or there are no corners, + # that is a rectangle + return self.rectangle(xy, fill, outline, width) + + r = int(d // 2) + ink, fill_ink = self._getink(outline, fill) + + def draw_corners(pieslice: bool) -> None: + parts: tuple[tuple[tuple[float, float, float, float], int, int], ...] + if full_x: + # Draw top and bottom halves + parts = ( + ((x0, y0, x0 + d, y0 + d), 180, 360), + ((x0, y1 - d, x0 + d, y1), 0, 180), + ) + elif full_y: + # Draw left and right halves + parts = ( + ((x0, y0, x0 + d, y0 + d), 90, 270), + ((x1 - d, y0, x1, y0 + d), 270, 90), + ) + else: + # Draw four separate corners + parts = tuple( + part + for i, part in enumerate( + ( + ((x0, y0, x0 + d, y0 + d), 180, 270), + ((x1 - d, y0, x1, y0 + d), 270, 360), + ((x1 - d, y1 - d, x1, y1), 0, 90), + ((x0, y1 - d, x0 + d, y1), 90, 180), + ) + ) + if corners[i] + ) + for part in parts: + if pieslice: + self.draw.draw_pieslice(*(part + (fill_ink, 1))) + else: + self.draw.draw_arc(*(part + (ink, width))) + + if fill_ink is not None: + draw_corners(True) + + if full_x: + self.draw.draw_rectangle((x0, y0 + r + 1, x1, y1 - r - 1), fill_ink, 1) + elif x1 - r - 1 > x0 + r + 1: + self.draw.draw_rectangle((x0 + r + 1, y0, x1 - r - 1, y1), fill_ink, 1) + if not full_x and not full_y: + left = [x0, y0, x0 + r, y1] + if corners[0]: + left[1] += r + 1 + if corners[3]: + left[3] -= r + 1 + self.draw.draw_rectangle(left, fill_ink, 1) + + right = [x1 - r, y0, x1, y1] + if corners[1]: + right[1] += r + 1 + if corners[2]: + right[3] -= r + 1 + self.draw.draw_rectangle(right, fill_ink, 1) + if ink is not None and ink != fill_ink and width != 0: + draw_corners(False) + + if not full_x: + top = [x0, y0, x1, y0 + width - 1] + if corners[0]: + top[0] += r + 1 + if corners[1]: + top[2] -= r + 1 + self.draw.draw_rectangle(top, ink, 1) + + bottom = [x0, y1 - width + 1, x1, y1] + if corners[3]: + bottom[0] += r + 1 + if corners[2]: + bottom[2] -= r + 1 + self.draw.draw_rectangle(bottom, ink, 1) + if not full_y: + left = [x0, y0, x0 + width - 1, y1] + if corners[0]: + left[1] += r + 1 + if corners[3]: + left[3] -= r + 1 + self.draw.draw_rectangle(left, ink, 1) + + right = [x1 - width + 1, y0, x1, y1] + if corners[1]: + right[1] += r + 1 + if corners[2]: + right[3] -= r + 1 + self.draw.draw_rectangle(right, ink, 1) + + def _multiline_check(self, text: AnyStr) -> bool: + split_character = "\n" if isinstance(text, str) else b"\n" + + return split_character in text + + def _multiline_split(self, text: AnyStr) -> list[AnyStr]: + return text.split("\n" if isinstance(text, str) else b"\n") + + def _multiline_spacing( + self, + font: ImageFont.ImageFont | ImageFont.FreeTypeFont | ImageFont.TransposedFont, + spacing: float, + stroke_width: float, + ) -> float: + return ( + self.textbbox((0, 0), "A", font, stroke_width=stroke_width)[3] + + stroke_width + + spacing + ) + + def text( + self, + xy: tuple[float, float], + text: AnyStr, + fill: _Ink | None = None, + font: ( + ImageFont.ImageFont + | ImageFont.FreeTypeFont + | ImageFont.TransposedFont + | None + ) = None, + anchor: str | None = None, + spacing: float = 4, + align: str = "left", + direction: str | None = None, + features: list[str] | None = None, + language: str | None = None, + stroke_width: float = 0, + stroke_fill: _Ink | None = None, + embedded_color: bool = False, + *args: Any, + **kwargs: Any, + ) -> None: + """Draw text.""" + if embedded_color and self.mode not in ("RGB", "RGBA"): + msg = "Embedded color supported only in RGB and RGBA modes" + raise ValueError(msg) + + if font is None: + font = self._getfont(kwargs.get("font_size")) + + if self._multiline_check(text): + return self.multiline_text( + xy, + text, + fill, + font, + anchor, + spacing, + align, + direction, + features, + language, + stroke_width, + stroke_fill, + embedded_color, + ) + + def getink(fill: _Ink | None) -> int: + ink, fill_ink = self._getink(fill) + if ink is None: + assert fill_ink is not None + return fill_ink + return ink + + def draw_text(ink: int, stroke_width: float = 0) -> None: + mode = self.fontmode + if stroke_width == 0 and embedded_color: + mode = "RGBA" + coord = [] + for i in range(2): + coord.append(int(xy[i])) + start = (math.modf(xy[0])[0], math.modf(xy[1])[0]) + try: + mask, offset = font.getmask2( # type: ignore[union-attr,misc] + text, + mode, + direction=direction, + features=features, + language=language, + stroke_width=stroke_width, + anchor=anchor, + ink=ink, + start=start, + *args, + **kwargs, + ) + coord = [coord[0] + offset[0], coord[1] + offset[1]] + except AttributeError: + try: + mask = font.getmask( # type: ignore[misc] + text, + mode, + direction, + features, + language, + stroke_width, + anchor, + ink, + start=start, + *args, + **kwargs, + ) + except TypeError: + mask = font.getmask(text) + if mode == "RGBA": + # font.getmask2(mode="RGBA") returns color in RGB bands and mask in A + # extract mask and set text alpha + color, mask = mask, mask.getband(3) + ink_alpha = struct.pack("i", ink)[3] + color.fillband(3, ink_alpha) + x, y = coord + if self.im is not None: + self.im.paste( + color, (x, y, x + mask.size[0], y + mask.size[1]), mask + ) + else: + self.draw.draw_bitmap(coord, mask, ink) + + ink = getink(fill) + if ink is not None: + stroke_ink = None + if stroke_width: + stroke_ink = getink(stroke_fill) if stroke_fill is not None else ink + + if stroke_ink is not None: + # Draw stroked text + draw_text(stroke_ink, stroke_width) + + # Draw normal text + draw_text(ink, 0) + else: + # Only draw normal text + draw_text(ink) + + def multiline_text( + self, + xy: tuple[float, float], + text: AnyStr, + fill: _Ink | None = None, + font: ( + ImageFont.ImageFont + | ImageFont.FreeTypeFont + | ImageFont.TransposedFont + | None + ) = None, + anchor: str | None = None, + spacing: float = 4, + align: str = "left", + direction: str | None = None, + features: list[str] | None = None, + language: str | None = None, + stroke_width: float = 0, + stroke_fill: _Ink | None = None, + embedded_color: bool = False, + *, + font_size: float | None = None, + ) -> None: + if direction == "ttb": + msg = "ttb direction is unsupported for multiline text" + raise ValueError(msg) + + if anchor is None: + anchor = "la" + elif len(anchor) != 2: + msg = "anchor must be a 2 character string" + raise ValueError(msg) + elif anchor[1] in "tb": + msg = "anchor not supported for multiline text" + raise ValueError(msg) + + if font is None: + font = self._getfont(font_size) + + widths = [] + max_width: float = 0 + lines = self._multiline_split(text) + line_spacing = self._multiline_spacing(font, spacing, stroke_width) + for line in lines: + line_width = self.textlength( + line, font, direction=direction, features=features, language=language + ) + widths.append(line_width) + max_width = max(max_width, line_width) + + top = xy[1] + if anchor[1] == "m": + top -= (len(lines) - 1) * line_spacing / 2.0 + elif anchor[1] == "d": + top -= (len(lines) - 1) * line_spacing + + for idx, line in enumerate(lines): + left = xy[0] + width_difference = max_width - widths[idx] + + # first align left by anchor + if anchor[0] == "m": + left -= width_difference / 2.0 + elif anchor[0] == "r": + left -= width_difference + + # then align by align parameter + if align == "left": + pass + elif align == "center": + left += width_difference / 2.0 + elif align == "right": + left += width_difference + else: + msg = 'align must be "left", "center" or "right"' + raise ValueError(msg) + + self.text( + (left, top), + line, + fill, + font, + anchor, + direction=direction, + features=features, + language=language, + stroke_width=stroke_width, + stroke_fill=stroke_fill, + embedded_color=embedded_color, + ) + top += line_spacing + + def textlength( + self, + text: AnyStr, + font: ( + ImageFont.ImageFont + | ImageFont.FreeTypeFont + | ImageFont.TransposedFont + | None + ) = None, + direction: str | None = None, + features: list[str] | None = None, + language: str | None = None, + embedded_color: bool = False, + *, + font_size: float | None = None, + ) -> float: + """Get the length of a given string, in pixels with 1/64 precision.""" + if self._multiline_check(text): + msg = "can't measure length of multiline text" + raise ValueError(msg) + if embedded_color and self.mode not in ("RGB", "RGBA"): + msg = "Embedded color supported only in RGB and RGBA modes" + raise ValueError(msg) + + if font is None: + font = self._getfont(font_size) + mode = "RGBA" if embedded_color else self.fontmode + return font.getlength(text, mode, direction, features, language) + + def textbbox( + self, + xy: tuple[float, float], + text: AnyStr, + font: ( + ImageFont.ImageFont + | ImageFont.FreeTypeFont + | ImageFont.TransposedFont + | None + ) = None, + anchor: str | None = None, + spacing: float = 4, + align: str = "left", + direction: str | None = None, + features: list[str] | None = None, + language: str | None = None, + stroke_width: float = 0, + embedded_color: bool = False, + *, + font_size: float | None = None, + ) -> tuple[float, float, float, float]: + """Get the bounding box of a given string, in pixels.""" + if embedded_color and self.mode not in ("RGB", "RGBA"): + msg = "Embedded color supported only in RGB and RGBA modes" + raise ValueError(msg) + + if font is None: + font = self._getfont(font_size) + + if self._multiline_check(text): + return self.multiline_textbbox( + xy, + text, + font, + anchor, + spacing, + align, + direction, + features, + language, + stroke_width, + embedded_color, + ) + + mode = "RGBA" if embedded_color else self.fontmode + bbox = font.getbbox( + text, mode, direction, features, language, stroke_width, anchor + ) + return bbox[0] + xy[0], bbox[1] + xy[1], bbox[2] + xy[0], bbox[3] + xy[1] + + def multiline_textbbox( + self, + xy: tuple[float, float], + text: AnyStr, + font: ( + ImageFont.ImageFont + | ImageFont.FreeTypeFont + | ImageFont.TransposedFont + | None + ) = None, + anchor: str | None = None, + spacing: float = 4, + align: str = "left", + direction: str | None = None, + features: list[str] | None = None, + language: str | None = None, + stroke_width: float = 0, + embedded_color: bool = False, + *, + font_size: float | None = None, + ) -> tuple[float, float, float, float]: + if direction == "ttb": + msg = "ttb direction is unsupported for multiline text" + raise ValueError(msg) + + if anchor is None: + anchor = "la" + elif len(anchor) != 2: + msg = "anchor must be a 2 character string" + raise ValueError(msg) + elif anchor[1] in "tb": + msg = "anchor not supported for multiline text" + raise ValueError(msg) + + if font is None: + font = self._getfont(font_size) + + widths = [] + max_width: float = 0 + lines = self._multiline_split(text) + line_spacing = self._multiline_spacing(font, spacing, stroke_width) + for line in lines: + line_width = self.textlength( + line, + font, + direction=direction, + features=features, + language=language, + embedded_color=embedded_color, + ) + widths.append(line_width) + max_width = max(max_width, line_width) + + top = xy[1] + if anchor[1] == "m": + top -= (len(lines) - 1) * line_spacing / 2.0 + elif anchor[1] == "d": + top -= (len(lines) - 1) * line_spacing + + bbox: tuple[float, float, float, float] | None = None + + for idx, line in enumerate(lines): + left = xy[0] + width_difference = max_width - widths[idx] + + # first align left by anchor + if anchor[0] == "m": + left -= width_difference / 2.0 + elif anchor[0] == "r": + left -= width_difference + + # then align by align parameter + if align == "left": + pass + elif align == "center": + left += width_difference / 2.0 + elif align == "right": + left += width_difference + else: + msg = 'align must be "left", "center" or "right"' + raise ValueError(msg) + + bbox_line = self.textbbox( + (left, top), + line, + font, + anchor, + direction=direction, + features=features, + language=language, + stroke_width=stroke_width, + embedded_color=embedded_color, + ) + if bbox is None: + bbox = bbox_line + else: + bbox = ( + min(bbox[0], bbox_line[0]), + min(bbox[1], bbox_line[1]), + max(bbox[2], bbox_line[2]), + max(bbox[3], bbox_line[3]), + ) + + top += line_spacing + + if bbox is None: + return xy[0], xy[1], xy[0], xy[1] + return bbox + + +def Draw(im: Image.Image, mode: str | None = None) -> ImageDraw: + """ + A simple 2D drawing interface for PIL images. + + :param im: The image to draw in. + :param mode: Optional mode to use for color values. For RGB + images, this argument can be RGB or RGBA (to blend the + drawing into the image). For all other modes, this argument + must be the same as the image mode. If omitted, the mode + defaults to the mode of the image. + """ + try: + return getattr(im, "getdraw")(mode) + except AttributeError: + return ImageDraw(im, mode) + + +def getdraw( + im: Image.Image | None = None, hints: list[str] | None = None +) -> tuple[ImageDraw2.Draw | None, ModuleType]: + """ + :param im: The image to draw in. + :param hints: An optional list of hints. Deprecated. + :returns: A (drawing context, drawing resource factory) tuple. + """ + if hints is not None: + deprecate("'hints' parameter", 12) + from . import ImageDraw2 + + draw = ImageDraw2.Draw(im) if im is not None else None + return draw, ImageDraw2 + + +def floodfill( + image: Image.Image, + xy: tuple[int, int], + value: float | tuple[int, ...], + border: float | tuple[int, ...] | None = None, + thresh: float = 0, +) -> None: + """ + .. warning:: This method is experimental. + + Fills a bounded region with a given color. + + :param image: Target image. + :param xy: Seed position (a 2-item coordinate tuple). See + :ref:`coordinate-system`. + :param value: Fill color. + :param border: Optional border value. If given, the region consists of + pixels with a color different from the border color. If not given, + the region consists of pixels having the same color as the seed + pixel. + :param thresh: Optional threshold value which specifies a maximum + tolerable difference of a pixel value from the 'background' in + order for it to be replaced. Useful for filling regions of + non-homogeneous, but similar, colors. + """ + # based on an implementation by Eric S. Raymond + # amended by yo1995 @20180806 + pixel = image.load() + assert pixel is not None + x, y = xy + try: + background = pixel[x, y] + if _color_diff(value, background) <= thresh: + return # seed point already has fill color + pixel[x, y] = value + except (ValueError, IndexError): + return # seed point outside image + edge = {(x, y)} + # use a set to keep record of current and previous edge pixels + # to reduce memory consumption + full_edge = set() + while edge: + new_edge = set() + for x, y in edge: # 4 adjacent method + for s, t in ((x + 1, y), (x - 1, y), (x, y + 1), (x, y - 1)): + # If already processed, or if a coordinate is negative, skip + if (s, t) in full_edge or s < 0 or t < 0: + continue + try: + p = pixel[s, t] + except (ValueError, IndexError): + pass + else: + full_edge.add((s, t)) + if border is None: + fill = _color_diff(p, background) <= thresh + else: + fill = p not in (value, border) + if fill: + pixel[s, t] = value + new_edge.add((s, t)) + full_edge = edge # discard pixels processed + edge = new_edge + + +def _compute_regular_polygon_vertices( + bounding_circle: Sequence[Sequence[float] | float], n_sides: int, rotation: float +) -> list[tuple[float, float]]: + """ + Generate a list of vertices for a 2D regular polygon. + + :param bounding_circle: The bounding circle is a sequence defined + by a point and radius. The polygon is inscribed in this circle. + (e.g. ``bounding_circle=(x, y, r)`` or ``((x, y), r)``) + :param n_sides: Number of sides + (e.g. ``n_sides=3`` for a triangle, ``6`` for a hexagon) + :param rotation: Apply an arbitrary rotation to the polygon + (e.g. ``rotation=90``, applies a 90 degree rotation) + :return: List of regular polygon vertices + (e.g. ``[(25, 50), (50, 50), (50, 25), (25, 25)]``) + + How are the vertices computed? + 1. Compute the following variables + - theta: Angle between the apothem & the nearest polygon vertex + - side_length: Length of each polygon edge + - centroid: Center of bounding circle (1st, 2nd elements of bounding_circle) + - polygon_radius: Polygon radius (last element of bounding_circle) + - angles: Location of each polygon vertex in polar grid + (e.g. A square with 0 degree rotation => [225.0, 315.0, 45.0, 135.0]) + + 2. For each angle in angles, get the polygon vertex at that angle + The vertex is computed using the equation below. + X= xcos(φ) + ysin(φ) + Y= −xsin(φ) + ycos(φ) + + Note: + φ = angle in degrees + x = 0 + y = polygon_radius + + The formula above assumes rotation around the origin. + In our case, we are rotating around the centroid. + To account for this, we use the formula below + X = xcos(φ) + ysin(φ) + centroid_x + Y = −xsin(φ) + ycos(φ) + centroid_y + """ + # 1. Error Handling + # 1.1 Check `n_sides` has an appropriate value + if not isinstance(n_sides, int): + msg = "n_sides should be an int" # type: ignore[unreachable] + raise TypeError(msg) + if n_sides < 3: + msg = "n_sides should be an int > 2" + raise ValueError(msg) + + # 1.2 Check `bounding_circle` has an appropriate value + if not isinstance(bounding_circle, (list, tuple)): + msg = "bounding_circle should be a sequence" + raise TypeError(msg) + + if len(bounding_circle) == 3: + if not all(isinstance(i, (int, float)) for i in bounding_circle): + msg = "bounding_circle should only contain numeric data" + raise ValueError(msg) + + *centroid, polygon_radius = cast(list[float], list(bounding_circle)) + elif len(bounding_circle) == 2 and isinstance(bounding_circle[0], (list, tuple)): + if not all( + isinstance(i, (int, float)) for i in bounding_circle[0] + ) or not isinstance(bounding_circle[1], (int, float)): + msg = "bounding_circle should only contain numeric data" + raise ValueError(msg) + + if len(bounding_circle[0]) != 2: + msg = "bounding_circle centre should contain 2D coordinates (e.g. (x, y))" + raise ValueError(msg) + + centroid = cast(list[float], list(bounding_circle[0])) + polygon_radius = cast(float, bounding_circle[1]) + else: + msg = ( + "bounding_circle should contain 2D coordinates " + "and a radius (e.g. (x, y, r) or ((x, y), r) )" + ) + raise ValueError(msg) + + if polygon_radius <= 0: + msg = "bounding_circle radius should be > 0" + raise ValueError(msg) + + # 1.3 Check `rotation` has an appropriate value + if not isinstance(rotation, (int, float)): + msg = "rotation should be an int or float" # type: ignore[unreachable] + raise ValueError(msg) + + # 2. Define Helper Functions + def _apply_rotation(point: list[float], degrees: float) -> tuple[float, float]: + return ( + round( + point[0] * math.cos(math.radians(360 - degrees)) + - point[1] * math.sin(math.radians(360 - degrees)) + + centroid[0], + 2, + ), + round( + point[1] * math.cos(math.radians(360 - degrees)) + + point[0] * math.sin(math.radians(360 - degrees)) + + centroid[1], + 2, + ), + ) + + def _compute_polygon_vertex(angle: float) -> tuple[float, float]: + start_point = [polygon_radius, 0] + return _apply_rotation(start_point, angle) + + def _get_angles(n_sides: int, rotation: float) -> list[float]: + angles = [] + degrees = 360 / n_sides + # Start with the bottom left polygon vertex + current_angle = (270 - 0.5 * degrees) + rotation + for _ in range(0, n_sides): + angles.append(current_angle) + current_angle += degrees + if current_angle > 360: + current_angle -= 360 + return angles + + # 3. Variable Declarations + angles = _get_angles(n_sides, rotation) + + # 4. Compute Vertices + return [_compute_polygon_vertex(angle) for angle in angles] + + +def _color_diff( + color1: float | tuple[int, ...], color2: float | tuple[int, ...] +) -> float: + """ + Uses 1-norm distance to calculate difference between two values. + """ + first = color1 if isinstance(color1, tuple) else (color1,) + second = color2 if isinstance(color2, tuple) else (color2,) + + return sum(abs(first[i] - second[i]) for i in range(0, len(second))) diff --git a/venv/Lib/site-packages/PIL/ImageDraw2.py b/venv/Lib/site-packages/PIL/ImageDraw2.py new file mode 100644 index 00000000..3d68658e --- /dev/null +++ b/venv/Lib/site-packages/PIL/ImageDraw2.py @@ -0,0 +1,243 @@ +# +# The Python Imaging Library +# $Id$ +# +# WCK-style drawing interface operations +# +# History: +# 2003-12-07 fl created +# 2005-05-15 fl updated; added to PIL as ImageDraw2 +# 2005-05-15 fl added text support +# 2005-05-20 fl added arc/chord/pieslice support +# +# Copyright (c) 2003-2005 by Secret Labs AB +# Copyright (c) 2003-2005 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# + + +""" +(Experimental) WCK-style drawing interface operations + +.. seealso:: :py:mod:`PIL.ImageDraw` +""" +from __future__ import annotations + +from typing import Any, AnyStr, BinaryIO + +from . import Image, ImageColor, ImageDraw, ImageFont, ImagePath +from ._typing import Coords, StrOrBytesPath + + +class Pen: + """Stores an outline color and width.""" + + def __init__(self, color: str, width: int = 1, opacity: int = 255) -> None: + self.color = ImageColor.getrgb(color) + self.width = width + + +class Brush: + """Stores a fill color""" + + def __init__(self, color: str, opacity: int = 255) -> None: + self.color = ImageColor.getrgb(color) + + +class Font: + """Stores a TrueType font and color""" + + def __init__( + self, color: str, file: StrOrBytesPath | BinaryIO, size: float = 12 + ) -> None: + # FIXME: add support for bitmap fonts + self.color = ImageColor.getrgb(color) + self.font = ImageFont.truetype(file, size) + + +class Draw: + """ + (Experimental) WCK-style drawing interface + """ + + def __init__( + self, + image: Image.Image | str, + size: tuple[int, int] | list[int] | None = None, + color: float | tuple[float, ...] | str | None = None, + ) -> None: + if isinstance(image, str): + if size is None: + msg = "If image argument is mode string, size must be a list or tuple" + raise ValueError(msg) + image = Image.new(image, size, color) + self.draw = ImageDraw.Draw(image) + self.image = image + self.transform: tuple[float, float, float, float, float, float] | None = None + + def flush(self) -> Image.Image: + return self.image + + def render( + self, + op: str, + xy: Coords, + pen: Pen | Brush | None, + brush: Brush | Pen | None = None, + **kwargs: Any, + ) -> None: + # handle color arguments + outline = fill = None + width = 1 + if isinstance(pen, Pen): + outline = pen.color + width = pen.width + elif isinstance(brush, Pen): + outline = brush.color + width = brush.width + if isinstance(brush, Brush): + fill = brush.color + elif isinstance(pen, Brush): + fill = pen.color + # handle transformation + if self.transform: + path = ImagePath.Path(xy) + path.transform(self.transform) + xy = path + # render the item + if op in ("arc", "line"): + kwargs.setdefault("fill", outline) + else: + kwargs.setdefault("fill", fill) + kwargs.setdefault("outline", outline) + if op == "line": + kwargs.setdefault("width", width) + getattr(self.draw, op)(xy, **kwargs) + + def settransform(self, offset: tuple[float, float]) -> None: + """Sets a transformation offset.""" + (xoffset, yoffset) = offset + self.transform = (1, 0, xoffset, 0, 1, yoffset) + + def arc( + self, + xy: Coords, + pen: Pen | Brush | None, + start: float, + end: float, + *options: Any, + ) -> None: + """ + Draws an arc (a portion of a circle outline) between the start and end + angles, inside the given bounding box. + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.arc` + """ + self.render("arc", xy, pen, *options, start=start, end=end) + + def chord( + self, + xy: Coords, + pen: Pen | Brush | None, + start: float, + end: float, + *options: Any, + ) -> None: + """ + Same as :py:meth:`~PIL.ImageDraw2.Draw.arc`, but connects the end points + with a straight line. + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.chord` + """ + self.render("chord", xy, pen, *options, start=start, end=end) + + def ellipse(self, xy: Coords, pen: Pen | Brush | None, *options: Any) -> None: + """ + Draws an ellipse inside the given bounding box. + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.ellipse` + """ + self.render("ellipse", xy, pen, *options) + + def line(self, xy: Coords, pen: Pen | Brush | None, *options: Any) -> None: + """ + Draws a line between the coordinates in the ``xy`` list. + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.line` + """ + self.render("line", xy, pen, *options) + + def pieslice( + self, + xy: Coords, + pen: Pen | Brush | None, + start: float, + end: float, + *options: Any, + ) -> None: + """ + Same as arc, but also draws straight lines between the end points and the + center of the bounding box. + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.pieslice` + """ + self.render("pieslice", xy, pen, *options, start=start, end=end) + + def polygon(self, xy: Coords, pen: Pen | Brush | None, *options: Any) -> None: + """ + Draws a polygon. + + The polygon outline consists of straight lines between the given + coordinates, plus a straight line between the last and the first + coordinate. + + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.polygon` + """ + self.render("polygon", xy, pen, *options) + + def rectangle(self, xy: Coords, pen: Pen | Brush | None, *options: Any) -> None: + """ + Draws a rectangle. + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.rectangle` + """ + self.render("rectangle", xy, pen, *options) + + def text(self, xy: tuple[float, float], text: AnyStr, font: Font) -> None: + """ + Draws the string at the given position. + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.text` + """ + if self.transform: + path = ImagePath.Path(xy) + path.transform(self.transform) + xy = path + self.draw.text(xy, text, font=font.font, fill=font.color) + + def textbbox( + self, xy: tuple[float, float], text: AnyStr, font: Font + ) -> tuple[float, float, float, float]: + """ + Returns bounding box (in pixels) of given text. + + :return: ``(left, top, right, bottom)`` bounding box + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.textbbox` + """ + if self.transform: + path = ImagePath.Path(xy) + path.transform(self.transform) + xy = path + return self.draw.textbbox(xy, text, font=font.font) + + def textlength(self, text: AnyStr, font: Font) -> float: + """ + Returns length (in pixels) of given text. + This is the amount by which following text should be offset. + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.textlength` + """ + return self.draw.textlength(text, font=font.font) diff --git a/venv/Lib/site-packages/PIL/ImageEnhance.py b/venv/Lib/site-packages/PIL/ImageEnhance.py new file mode 100644 index 00000000..0e7e6dd8 --- /dev/null +++ b/venv/Lib/site-packages/PIL/ImageEnhance.py @@ -0,0 +1,113 @@ +# +# The Python Imaging Library. +# $Id$ +# +# image enhancement classes +# +# For a background, see "Image Processing By Interpolation and +# Extrapolation", Paul Haeberli and Douglas Voorhies. Available +# at http://www.graficaobscura.com/interp/index.html +# +# History: +# 1996-03-23 fl Created +# 2009-06-16 fl Fixed mean calculation +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1996. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from . import Image, ImageFilter, ImageStat + + +class _Enhance: + image: Image.Image + degenerate: Image.Image + + def enhance(self, factor: float) -> Image.Image: + """ + Returns an enhanced image. + + :param factor: A floating point value controlling the enhancement. + Factor 1.0 always returns a copy of the original image, + lower factors mean less color (brightness, contrast, + etc), and higher values more. There are no restrictions + on this value. + :rtype: :py:class:`~PIL.Image.Image` + """ + return Image.blend(self.degenerate, self.image, factor) + + +class Color(_Enhance): + """Adjust image color balance. + + This class can be used to adjust the colour balance of an image, in + a manner similar to the controls on a colour TV set. An enhancement + factor of 0.0 gives a black and white image. A factor of 1.0 gives + the original image. + """ + + def __init__(self, image: Image.Image) -> None: + self.image = image + self.intermediate_mode = "L" + if "A" in image.getbands(): + self.intermediate_mode = "LA" + + if self.intermediate_mode != image.mode: + image = image.convert(self.intermediate_mode).convert(image.mode) + self.degenerate = image + + +class Contrast(_Enhance): + """Adjust image contrast. + + This class can be used to control the contrast of an image, similar + to the contrast control on a TV set. An enhancement factor of 0.0 + gives a solid gray image. A factor of 1.0 gives the original image. + """ + + def __init__(self, image: Image.Image) -> None: + self.image = image + if image.mode != "L": + image = image.convert("L") + mean = int(ImageStat.Stat(image).mean[0] + 0.5) + self.degenerate = Image.new("L", image.size, mean) + if self.degenerate.mode != self.image.mode: + self.degenerate = self.degenerate.convert(self.image.mode) + + if "A" in self.image.getbands(): + self.degenerate.putalpha(self.image.getchannel("A")) + + +class Brightness(_Enhance): + """Adjust image brightness. + + This class can be used to control the brightness of an image. An + enhancement factor of 0.0 gives a black image. A factor of 1.0 gives the + original image. + """ + + def __init__(self, image: Image.Image) -> None: + self.image = image + self.degenerate = Image.new(image.mode, image.size, 0) + + if "A" in image.getbands(): + self.degenerate.putalpha(image.getchannel("A")) + + +class Sharpness(_Enhance): + """Adjust image sharpness. + + This class can be used to adjust the sharpness of an image. An + enhancement factor of 0.0 gives a blurred image, a factor of 1.0 gives the + original image, and a factor of 2.0 gives a sharpened image. + """ + + def __init__(self, image: Image.Image) -> None: + self.image = image + self.degenerate = image.filter(ImageFilter.SMOOTH) + + if "A" in image.getbands(): + self.degenerate.putalpha(image.getchannel("A")) diff --git a/venv/Lib/site-packages/PIL/ImageFile.py b/venv/Lib/site-packages/PIL/ImageFile.py new file mode 100644 index 00000000..d69d8456 --- /dev/null +++ b/venv/Lib/site-packages/PIL/ImageFile.py @@ -0,0 +1,832 @@ +# +# The Python Imaging Library. +# $Id$ +# +# base class for image file handlers +# +# history: +# 1995-09-09 fl Created +# 1996-03-11 fl Fixed load mechanism. +# 1996-04-15 fl Added pcx/xbm decoders. +# 1996-04-30 fl Added encoders. +# 1996-12-14 fl Added load helpers +# 1997-01-11 fl Use encode_to_file where possible +# 1997-08-27 fl Flush output in _save +# 1998-03-05 fl Use memory mapping for some modes +# 1999-02-04 fl Use memory mapping also for "I;16" and "I;16B" +# 1999-05-31 fl Added image parser +# 2000-10-12 fl Set readonly flag on memory-mapped images +# 2002-03-20 fl Use better messages for common decoder errors +# 2003-04-21 fl Fall back on mmap/map_buffer if map is not available +# 2003-10-30 fl Added StubImageFile class +# 2004-02-25 fl Made incremental parser more robust +# +# Copyright (c) 1997-2004 by Secret Labs AB +# Copyright (c) 1995-2004 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import abc +import io +import itertools +import os +import struct +import sys +from typing import IO, TYPE_CHECKING, Any, NamedTuple, cast + +from . import Image +from ._deprecate import deprecate +from ._util import is_path + +if TYPE_CHECKING: + from ._typing import StrOrBytesPath + +MAXBLOCK = 65536 + +SAFEBLOCK = 1024 * 1024 + +LOAD_TRUNCATED_IMAGES = False +"""Whether or not to load truncated image files. User code may change this.""" + +ERRORS = { + -1: "image buffer overrun error", + -2: "decoding error", + -3: "unknown error", + -8: "bad configuration", + -9: "out of memory error", +} +""" +Dict of known error codes returned from :meth:`.PyDecoder.decode`, +:meth:`.PyEncoder.encode` :meth:`.PyEncoder.encode_to_pyfd` and +:meth:`.PyEncoder.encode_to_file`. +""" + + +# +# -------------------------------------------------------------------- +# Helpers + + +def _get_oserror(error: int, *, encoder: bool) -> OSError: + try: + msg = Image.core.getcodecstatus(error) + except AttributeError: + msg = ERRORS.get(error) + if not msg: + msg = f"{'encoder' if encoder else 'decoder'} error {error}" + msg += f" when {'writing' if encoder else 'reading'} image file" + return OSError(msg) + + +def raise_oserror(error: int) -> OSError: + deprecate( + "raise_oserror", + 12, + action="It is only useful for translating error codes returned by a codec's " + "decode() method, which ImageFile already does automatically.", + ) + raise _get_oserror(error, encoder=False) + + +def _tilesort(t: _Tile) -> int: + # sort on offset + return t[2] + + +class _Tile(NamedTuple): + codec_name: str + extents: tuple[int, int, int, int] | None + offset: int + args: tuple[Any, ...] | str | None + + +# +# -------------------------------------------------------------------- +# ImageFile base class + + +class ImageFile(Image.Image): + """Base class for image file format handlers.""" + + def __init__( + self, fp: StrOrBytesPath | IO[bytes], filename: str | bytes | None = None + ) -> None: + super().__init__() + + self._min_frame = 0 + + self.custom_mimetype: str | None = None + + self.tile: list[_Tile] = [] + """ A list of tile descriptors, or ``None`` """ + + self.readonly = 1 # until we know better + + self.decoderconfig: tuple[Any, ...] = () + self.decodermaxblock = MAXBLOCK + + if is_path(fp): + # filename + self.fp = open(fp, "rb") + self.filename = os.path.realpath(os.fspath(fp)) + self._exclusive_fp = True + else: + # stream + self.fp = cast(IO[bytes], fp) + self.filename = filename if filename is not None else "" + # can be overridden + self._exclusive_fp = False + + try: + try: + self._open() + except ( + IndexError, # end of data + TypeError, # end of data (ord) + KeyError, # unsupported mode + EOFError, # got header but not the first frame + struct.error, + ) as v: + raise SyntaxError(v) from v + + if not self.mode or self.size[0] <= 0 or self.size[1] <= 0: + msg = "not identified by this driver" + raise SyntaxError(msg) + except BaseException: + # close the file only if we have opened it this constructor + if self._exclusive_fp: + self.fp.close() + raise + + def _open(self) -> None: + pass + + def get_format_mimetype(self) -> str | None: + if self.custom_mimetype: + return self.custom_mimetype + if self.format is not None: + return Image.MIME.get(self.format.upper()) + return None + + def __setstate__(self, state: list[Any]) -> None: + self.tile = [] + super().__setstate__(state) + + def verify(self) -> None: + """Check file integrity""" + + # raise exception if something's wrong. must be called + # directly after open, and closes file when finished. + if self._exclusive_fp: + self.fp.close() + self.fp = None + + def load(self) -> Image.core.PixelAccess | None: + """Load image data based on tile list""" + + if not self.tile and self._im is None: + msg = "cannot load this image" + raise OSError(msg) + + pixel = Image.Image.load(self) + if not self.tile: + return pixel + + self.map: mmap.mmap | None = None + use_mmap = self.filename and len(self.tile) == 1 + # As of pypy 2.1.0, memory mapping was failing here. + use_mmap = use_mmap and not hasattr(sys, "pypy_version_info") + + readonly = 0 + + # look for read/seek overrides + if hasattr(self, "load_read"): + read = self.load_read + # don't use mmap if there are custom read/seek functions + use_mmap = False + else: + read = self.fp.read + + if hasattr(self, "load_seek"): + seek = self.load_seek + use_mmap = False + else: + seek = self.fp.seek + + if use_mmap: + # try memory mapping + decoder_name, extents, offset, args = self.tile[0] + if isinstance(args, str): + args = (args, 0, 1) + if ( + decoder_name == "raw" + and isinstance(args, tuple) + and len(args) >= 3 + and args[0] == self.mode + and args[0] in Image._MAPMODES + ): + try: + # use mmap, if possible + import mmap + + with open(self.filename) as fp: + self.map = mmap.mmap(fp.fileno(), 0, access=mmap.ACCESS_READ) + if offset + self.size[1] * args[1] > self.map.size(): + msg = "buffer is not large enough" + raise OSError(msg) + self.im = Image.core.map_buffer( + self.map, self.size, decoder_name, offset, args + ) + readonly = 1 + # After trashing self.im, + # we might need to reload the palette data. + if self.palette: + self.palette.dirty = 1 + except (AttributeError, OSError, ImportError): + self.map = None + + self.load_prepare() + err_code = -3 # initialize to unknown error + if not self.map: + # sort tiles in file order + self.tile.sort(key=_tilesort) + + # FIXME: This is a hack to handle TIFF's JpegTables tag. + prefix = getattr(self, "tile_prefix", b"") + + # Remove consecutive duplicates that only differ by their offset + self.tile = [ + list(tiles)[-1] + for _, tiles in itertools.groupby( + self.tile, lambda tile: (tile[0], tile[1], tile[3]) + ) + ] + for decoder_name, extents, offset, args in self.tile: + seek(offset) + decoder = Image._getdecoder( + self.mode, decoder_name, args, self.decoderconfig + ) + try: + decoder.setimage(self.im, extents) + if decoder.pulls_fd: + decoder.setfd(self.fp) + err_code = decoder.decode(b"")[1] + else: + b = prefix + while True: + try: + s = read(self.decodermaxblock) + except (IndexError, struct.error) as e: + # truncated png/gif + if LOAD_TRUNCATED_IMAGES: + break + else: + msg = "image file is truncated" + raise OSError(msg) from e + + if not s: # truncated jpeg + if LOAD_TRUNCATED_IMAGES: + break + else: + msg = ( + "image file is truncated " + f"({len(b)} bytes not processed)" + ) + raise OSError(msg) + + b = b + s + n, err_code = decoder.decode(b) + if n < 0: + break + b = b[n:] + finally: + # Need to cleanup here to prevent leaks + decoder.cleanup() + + self.tile = [] + self.readonly = readonly + + self.load_end() + + if self._exclusive_fp and self._close_exclusive_fp_after_loading: + self.fp.close() + self.fp = None + + if not self.map and not LOAD_TRUNCATED_IMAGES and err_code < 0: + # still raised if decoder fails to return anything + raise _get_oserror(err_code, encoder=False) + + return Image.Image.load(self) + + def load_prepare(self) -> None: + # create image memory if necessary + if self._im is None: + self.im = Image.core.new(self.mode, self.size) + # create palette (optional) + if self.mode == "P": + Image.Image.load(self) + + def load_end(self) -> None: + # may be overridden + pass + + # may be defined for contained formats + # def load_seek(self, pos: int) -> None: + # pass + + # may be defined for blocked formats (e.g. PNG) + # def load_read(self, read_bytes: int) -> bytes: + # pass + + def _seek_check(self, frame: int) -> bool: + if ( + frame < self._min_frame + # Only check upper limit on frames if additional seek operations + # are not required to do so + or ( + not (hasattr(self, "_n_frames") and self._n_frames is None) + and frame >= getattr(self, "n_frames") + self._min_frame + ) + ): + msg = "attempt to seek outside sequence" + raise EOFError(msg) + + return self.tell() != frame + + +class StubHandler: + def open(self, im: StubImageFile) -> None: + pass + + @abc.abstractmethod + def load(self, im: StubImageFile) -> Image.Image: + pass + + +class StubImageFile(ImageFile): + """ + Base class for stub image loaders. + + A stub loader is an image loader that can identify files of a + certain format, but relies on external code to load the file. + """ + + def _open(self) -> None: + msg = "StubImageFile subclass must implement _open" + raise NotImplementedError(msg) + + def load(self) -> Image.core.PixelAccess | None: + loader = self._load() + if loader is None: + msg = f"cannot find loader for this {self.format} file" + raise OSError(msg) + image = loader.load(self) + assert image is not None + # become the other object (!) + self.__class__ = image.__class__ # type: ignore[assignment] + self.__dict__ = image.__dict__ + return image.load() + + def _load(self) -> StubHandler | None: + """(Hook) Find actual image loader.""" + msg = "StubImageFile subclass must implement _load" + raise NotImplementedError(msg) + + +class Parser: + """ + Incremental image parser. This class implements the standard + feed/close consumer interface. + """ + + incremental = None + image: Image.Image | None = None + data: bytes | None = None + decoder: Image.core.ImagingDecoder | PyDecoder | None = None + offset = 0 + finished = 0 + + def reset(self) -> None: + """ + (Consumer) Reset the parser. Note that you can only call this + method immediately after you've created a parser; parser + instances cannot be reused. + """ + assert self.data is None, "cannot reuse parsers" + + def feed(self, data: bytes) -> None: + """ + (Consumer) Feed data to the parser. + + :param data: A string buffer. + :exception OSError: If the parser failed to parse the image file. + """ + # collect data + + if self.finished: + return + + if self.data is None: + self.data = data + else: + self.data = self.data + data + + # parse what we have + if self.decoder: + if self.offset > 0: + # skip header + skip = min(len(self.data), self.offset) + self.data = self.data[skip:] + self.offset = self.offset - skip + if self.offset > 0 or not self.data: + return + + n, e = self.decoder.decode(self.data) + + if n < 0: + # end of stream + self.data = None + self.finished = 1 + if e < 0: + # decoding error + self.image = None + raise _get_oserror(e, encoder=False) + else: + # end of image + return + self.data = self.data[n:] + + elif self.image: + # if we end up here with no decoder, this file cannot + # be incrementally parsed. wait until we've gotten all + # available data + pass + + else: + # attempt to open this file + try: + with io.BytesIO(self.data) as fp: + im = Image.open(fp) + except OSError: + pass # not enough data + else: + flag = hasattr(im, "load_seek") or hasattr(im, "load_read") + if flag or len(im.tile) != 1: + # custom load code, or multiple tiles + self.decode = None + else: + # initialize decoder + im.load_prepare() + d, e, o, a = im.tile[0] + im.tile = [] + self.decoder = Image._getdecoder(im.mode, d, a, im.decoderconfig) + self.decoder.setimage(im.im, e) + + # calculate decoder offset + self.offset = o + if self.offset <= len(self.data): + self.data = self.data[self.offset :] + self.offset = 0 + + self.image = im + + def __enter__(self) -> Parser: + return self + + def __exit__(self, *args: object) -> None: + self.close() + + def close(self) -> Image.Image: + """ + (Consumer) Close the stream. + + :returns: An image object. + :exception OSError: If the parser failed to parse the image file either + because it cannot be identified or cannot be + decoded. + """ + # finish decoding + if self.decoder: + # get rid of what's left in the buffers + self.feed(b"") + self.data = self.decoder = None + if not self.finished: + msg = "image was incomplete" + raise OSError(msg) + if not self.image: + msg = "cannot parse this image" + raise OSError(msg) + if self.data: + # incremental parsing not possible; reopen the file + # not that we have all data + with io.BytesIO(self.data) as fp: + try: + self.image = Image.open(fp) + finally: + self.image.load() + return self.image + + +# -------------------------------------------------------------------- + + +def _save(im: Image.Image, fp: IO[bytes], tile: list[_Tile], bufsize: int = 0) -> None: + """Helper to save image based on tile list + + :param im: Image object. + :param fp: File object. + :param tile: Tile list. + :param bufsize: Optional buffer size + """ + + im.load() + if not hasattr(im, "encoderconfig"): + im.encoderconfig = () + tile.sort(key=_tilesort) + # FIXME: make MAXBLOCK a configuration parameter + # It would be great if we could have the encoder specify what it needs + # But, it would need at least the image size in most cases. RawEncode is + # a tricky case. + bufsize = max(MAXBLOCK, bufsize, im.size[0] * 4) # see RawEncode.c + try: + fh = fp.fileno() + fp.flush() + _encode_tile(im, fp, tile, bufsize, fh) + except (AttributeError, io.UnsupportedOperation) as exc: + _encode_tile(im, fp, tile, bufsize, None, exc) + if hasattr(fp, "flush"): + fp.flush() + + +def _encode_tile( + im: Image.Image, + fp: IO[bytes], + tile: list[_Tile], + bufsize: int, + fh: int | None, + exc: BaseException | None = None, +) -> None: + for encoder_name, extents, offset, args in tile: + if offset > 0: + fp.seek(offset) + encoder = Image._getencoder(im.mode, encoder_name, args, im.encoderconfig) + try: + encoder.setimage(im.im, extents) + if encoder.pushes_fd: + encoder.setfd(fp) + errcode = encoder.encode_to_pyfd()[1] + else: + if exc: + # compress to Python file-compatible object + while True: + errcode, data = encoder.encode(bufsize)[1:] + fp.write(data) + if errcode: + break + else: + # slight speedup: compress to real file object + assert fh is not None + errcode = encoder.encode_to_file(fh, bufsize) + if errcode < 0: + raise _get_oserror(errcode, encoder=True) from exc + finally: + encoder.cleanup() + + +def _safe_read(fp: IO[bytes], size: int) -> bytes: + """ + Reads large blocks in a safe way. Unlike fp.read(n), this function + doesn't trust the user. If the requested size is larger than + SAFEBLOCK, the file is read block by block. + + :param fp: File handle. Must implement a read method. + :param size: Number of bytes to read. + :returns: A string containing size bytes of data. + + Raises an OSError if the file is truncated and the read cannot be completed + + """ + if size <= 0: + return b"" + if size <= SAFEBLOCK: + data = fp.read(size) + if len(data) < size: + msg = "Truncated File Read" + raise OSError(msg) + return data + blocks: list[bytes] = [] + remaining_size = size + while remaining_size > 0: + block = fp.read(min(remaining_size, SAFEBLOCK)) + if not block: + break + blocks.append(block) + remaining_size -= len(block) + if sum(len(block) for block in blocks) < size: + msg = "Truncated File Read" + raise OSError(msg) + return b"".join(blocks) + + +class PyCodecState: + def __init__(self) -> None: + self.xsize = 0 + self.ysize = 0 + self.xoff = 0 + self.yoff = 0 + + def extents(self) -> tuple[int, int, int, int]: + return self.xoff, self.yoff, self.xoff + self.xsize, self.yoff + self.ysize + + +class PyCodec: + fd: IO[bytes] | None + + def __init__(self, mode: str, *args: Any) -> None: + self.im: Image.core.ImagingCore | None = None + self.state = PyCodecState() + self.fd = None + self.mode = mode + self.init(args) + + def init(self, args: tuple[Any, ...]) -> None: + """ + Override to perform codec specific initialization + + :param args: Tuple of arg items from the tile entry + :returns: None + """ + self.args = args + + def cleanup(self) -> None: + """ + Override to perform codec specific cleanup + + :returns: None + """ + pass + + def setfd(self, fd: IO[bytes]) -> None: + """ + Called from ImageFile to set the Python file-like object + + :param fd: A Python file-like object + :returns: None + """ + self.fd = fd + + def setimage( + self, + im: Image.core.ImagingCore, + extents: tuple[int, int, int, int] | None = None, + ) -> None: + """ + Called from ImageFile to set the core output image for the codec + + :param im: A core image object + :param extents: a 4 tuple of (x0, y0, x1, y1) defining the rectangle + for this tile + :returns: None + """ + + # following c code + self.im = im + + if extents: + (x0, y0, x1, y1) = extents + else: + (x0, y0, x1, y1) = (0, 0, 0, 0) + + if x0 == 0 and x1 == 0: + self.state.xsize, self.state.ysize = self.im.size + else: + self.state.xoff = x0 + self.state.yoff = y0 + self.state.xsize = x1 - x0 + self.state.ysize = y1 - y0 + + if self.state.xsize <= 0 or self.state.ysize <= 0: + msg = "Size cannot be negative" + raise ValueError(msg) + + if ( + self.state.xsize + self.state.xoff > self.im.size[0] + or self.state.ysize + self.state.yoff > self.im.size[1] + ): + msg = "Tile cannot extend outside image" + raise ValueError(msg) + + +class PyDecoder(PyCodec): + """ + Python implementation of a format decoder. Override this class and + add the decoding logic in the :meth:`decode` method. + + See :ref:`Writing Your Own File Codec in Python` + """ + + _pulls_fd = False + + @property + def pulls_fd(self) -> bool: + return self._pulls_fd + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + """ + Override to perform the decoding process. + + :param buffer: A bytes object with the data to be decoded. + :returns: A tuple of ``(bytes consumed, errcode)``. + If finished with decoding return -1 for the bytes consumed. + Err codes are from :data:`.ImageFile.ERRORS`. + """ + msg = "unavailable in base decoder" + raise NotImplementedError(msg) + + def set_as_raw( + self, data: bytes, rawmode: str | None = None, extra: tuple[Any, ...] = () + ) -> None: + """ + Convenience method to set the internal image from a stream of raw data + + :param data: Bytes to be set + :param rawmode: The rawmode to be used for the decoder. + If not specified, it will default to the mode of the image + :param extra: Extra arguments for the decoder. + :returns: None + """ + + if not rawmode: + rawmode = self.mode + d = Image._getdecoder(self.mode, "raw", rawmode, extra) + assert self.im is not None + d.setimage(self.im, self.state.extents()) + s = d.decode(data) + + if s[0] >= 0: + msg = "not enough image data" + raise ValueError(msg) + if s[1] != 0: + msg = "cannot decode image data" + raise ValueError(msg) + + +class PyEncoder(PyCodec): + """ + Python implementation of a format encoder. Override this class and + add the decoding logic in the :meth:`encode` method. + + See :ref:`Writing Your Own File Codec in Python` + """ + + _pushes_fd = False + + @property + def pushes_fd(self) -> bool: + return self._pushes_fd + + def encode(self, bufsize: int) -> tuple[int, int, bytes]: + """ + Override to perform the encoding process. + + :param bufsize: Buffer size. + :returns: A tuple of ``(bytes encoded, errcode, bytes)``. + If finished with encoding return 1 for the error code. + Err codes are from :data:`.ImageFile.ERRORS`. + """ + msg = "unavailable in base encoder" + raise NotImplementedError(msg) + + def encode_to_pyfd(self) -> tuple[int, int]: + """ + If ``pushes_fd`` is ``True``, then this method will be used, + and ``encode()`` will only be called once. + + :returns: A tuple of ``(bytes consumed, errcode)``. + Err codes are from :data:`.ImageFile.ERRORS`. + """ + if not self.pushes_fd: + return 0, -8 # bad configuration + bytes_consumed, errcode, data = self.encode(0) + if data: + assert self.fd is not None + self.fd.write(data) + return bytes_consumed, errcode + + def encode_to_file(self, fh: int, bufsize: int) -> int: + """ + :param fh: File handle. + :param bufsize: Buffer size. + + :returns: If finished successfully, return 0. + Otherwise, return an error code. Err codes are from + :data:`.ImageFile.ERRORS`. + """ + errcode = 0 + while errcode == 0: + status, errcode, buf = self.encode(bufsize) + if status > 0: + os.write(fh, buf[status:]) + return errcode diff --git a/venv/Lib/site-packages/PIL/ImageFilter.py b/venv/Lib/site-packages/PIL/ImageFilter.py new file mode 100644 index 00000000..8b0974b2 --- /dev/null +++ b/venv/Lib/site-packages/PIL/ImageFilter.py @@ -0,0 +1,605 @@ +# +# The Python Imaging Library. +# $Id$ +# +# standard filters +# +# History: +# 1995-11-27 fl Created +# 2002-06-08 fl Added rank and mode filters +# 2003-09-15 fl Fixed rank calculation in rank filter; added expand call +# +# Copyright (c) 1997-2003 by Secret Labs AB. +# Copyright (c) 1995-2002 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import abc +import functools +from collections.abc import Sequence +from types import ModuleType +from typing import TYPE_CHECKING, Any, Callable, cast + +if TYPE_CHECKING: + from . import _imaging + from ._typing import NumpyArray + + +class Filter: + @abc.abstractmethod + def filter(self, image: _imaging.ImagingCore) -> _imaging.ImagingCore: + pass + + +class MultibandFilter(Filter): + pass + + +class BuiltinFilter(MultibandFilter): + filterargs: tuple[Any, ...] + + def filter(self, image: _imaging.ImagingCore) -> _imaging.ImagingCore: + if image.mode == "P": + msg = "cannot filter palette images" + raise ValueError(msg) + return image.filter(*self.filterargs) + + +class Kernel(BuiltinFilter): + """ + Create a convolution kernel. This only supports 3x3 and 5x5 integer and floating + point kernels. + + Kernels can only be applied to "L" and "RGB" images. + + :param size: Kernel size, given as (width, height). This must be (3,3) or (5,5). + :param kernel: A sequence containing kernel weights. The kernel will be flipped + vertically before being applied to the image. + :param scale: Scale factor. If given, the result for each pixel is divided by this + value. The default is the sum of the kernel weights. + :param offset: Offset. If given, this value is added to the result, after it has + been divided by the scale factor. + """ + + name = "Kernel" + + def __init__( + self, + size: tuple[int, int], + kernel: Sequence[float], + scale: float | None = None, + offset: float = 0, + ) -> None: + if scale is None: + # default scale is sum of kernel + scale = functools.reduce(lambda a, b: a + b, kernel) + if size[0] * size[1] != len(kernel): + msg = "not enough coefficients in kernel" + raise ValueError(msg) + self.filterargs = size, scale, offset, kernel + + +class RankFilter(Filter): + """ + Create a rank filter. The rank filter sorts all pixels in + a window of the given size, and returns the ``rank``'th value. + + :param size: The kernel size, in pixels. + :param rank: What pixel value to pick. Use 0 for a min filter, + ``size * size / 2`` for a median filter, ``size * size - 1`` + for a max filter, etc. + """ + + name = "Rank" + + def __init__(self, size: int, rank: int) -> None: + self.size = size + self.rank = rank + + def filter(self, image: _imaging.ImagingCore) -> _imaging.ImagingCore: + if image.mode == "P": + msg = "cannot filter palette images" + raise ValueError(msg) + image = image.expand(self.size // 2, self.size // 2) + return image.rankfilter(self.size, self.rank) + + +class MedianFilter(RankFilter): + """ + Create a median filter. Picks the median pixel value in a window with the + given size. + + :param size: The kernel size, in pixels. + """ + + name = "Median" + + def __init__(self, size: int = 3) -> None: + self.size = size + self.rank = size * size // 2 + + +class MinFilter(RankFilter): + """ + Create a min filter. Picks the lowest pixel value in a window with the + given size. + + :param size: The kernel size, in pixels. + """ + + name = "Min" + + def __init__(self, size: int = 3) -> None: + self.size = size + self.rank = 0 + + +class MaxFilter(RankFilter): + """ + Create a max filter. Picks the largest pixel value in a window with the + given size. + + :param size: The kernel size, in pixels. + """ + + name = "Max" + + def __init__(self, size: int = 3) -> None: + self.size = size + self.rank = size * size - 1 + + +class ModeFilter(Filter): + """ + Create a mode filter. Picks the most frequent pixel value in a box with the + given size. Pixel values that occur only once or twice are ignored; if no + pixel value occurs more than twice, the original pixel value is preserved. + + :param size: The kernel size, in pixels. + """ + + name = "Mode" + + def __init__(self, size: int = 3) -> None: + self.size = size + + def filter(self, image: _imaging.ImagingCore) -> _imaging.ImagingCore: + return image.modefilter(self.size) + + +class GaussianBlur(MultibandFilter): + """Blurs the image with a sequence of extended box filters, which + approximates a Gaussian kernel. For details on accuracy see + + + :param radius: Standard deviation of the Gaussian kernel. Either a sequence of two + numbers for x and y, or a single number for both. + """ + + name = "GaussianBlur" + + def __init__(self, radius: float | Sequence[float] = 2) -> None: + self.radius = radius + + def filter(self, image: _imaging.ImagingCore) -> _imaging.ImagingCore: + xy = self.radius + if isinstance(xy, (int, float)): + xy = (xy, xy) + if xy == (0, 0): + return image.copy() + return image.gaussian_blur(xy) + + +class BoxBlur(MultibandFilter): + """Blurs the image by setting each pixel to the average value of the pixels + in a square box extending radius pixels in each direction. + Supports float radius of arbitrary size. Uses an optimized implementation + which runs in linear time relative to the size of the image + for any radius value. + + :param radius: Size of the box in a direction. Either a sequence of two numbers for + x and y, or a single number for both. + + Radius 0 does not blur, returns an identical image. + Radius 1 takes 1 pixel in each direction, i.e. 9 pixels in total. + """ + + name = "BoxBlur" + + def __init__(self, radius: float | Sequence[float]) -> None: + xy = radius if isinstance(radius, (tuple, list)) else (radius, radius) + if xy[0] < 0 or xy[1] < 0: + msg = "radius must be >= 0" + raise ValueError(msg) + self.radius = radius + + def filter(self, image: _imaging.ImagingCore) -> _imaging.ImagingCore: + xy = self.radius + if isinstance(xy, (int, float)): + xy = (xy, xy) + if xy == (0, 0): + return image.copy() + return image.box_blur(xy) + + +class UnsharpMask(MultibandFilter): + """Unsharp mask filter. + + See Wikipedia's entry on `digital unsharp masking`_ for an explanation of + the parameters. + + :param radius: Blur Radius + :param percent: Unsharp strength, in percent + :param threshold: Threshold controls the minimum brightness change that + will be sharpened + + .. _digital unsharp masking: https://en.wikipedia.org/wiki/Unsharp_masking#Digital_unsharp_masking + + """ + + name = "UnsharpMask" + + def __init__( + self, radius: float = 2, percent: int = 150, threshold: int = 3 + ) -> None: + self.radius = radius + self.percent = percent + self.threshold = threshold + + def filter(self, image: _imaging.ImagingCore) -> _imaging.ImagingCore: + return image.unsharp_mask(self.radius, self.percent, self.threshold) + + +class BLUR(BuiltinFilter): + name = "Blur" + # fmt: off + filterargs = (5, 5), 16, 0, ( + 1, 1, 1, 1, 1, + 1, 0, 0, 0, 1, + 1, 0, 0, 0, 1, + 1, 0, 0, 0, 1, + 1, 1, 1, 1, 1, + ) + # fmt: on + + +class CONTOUR(BuiltinFilter): + name = "Contour" + # fmt: off + filterargs = (3, 3), 1, 255, ( + -1, -1, -1, + -1, 8, -1, + -1, -1, -1, + ) + # fmt: on + + +class DETAIL(BuiltinFilter): + name = "Detail" + # fmt: off + filterargs = (3, 3), 6, 0, ( + 0, -1, 0, + -1, 10, -1, + 0, -1, 0, + ) + # fmt: on + + +class EDGE_ENHANCE(BuiltinFilter): + name = "Edge-enhance" + # fmt: off + filterargs = (3, 3), 2, 0, ( + -1, -1, -1, + -1, 10, -1, + -1, -1, -1, + ) + # fmt: on + + +class EDGE_ENHANCE_MORE(BuiltinFilter): + name = "Edge-enhance More" + # fmt: off + filterargs = (3, 3), 1, 0, ( + -1, -1, -1, + -1, 9, -1, + -1, -1, -1, + ) + # fmt: on + + +class EMBOSS(BuiltinFilter): + name = "Emboss" + # fmt: off + filterargs = (3, 3), 1, 128, ( + -1, 0, 0, + 0, 1, 0, + 0, 0, 0, + ) + # fmt: on + + +class FIND_EDGES(BuiltinFilter): + name = "Find Edges" + # fmt: off + filterargs = (3, 3), 1, 0, ( + -1, -1, -1, + -1, 8, -1, + -1, -1, -1, + ) + # fmt: on + + +class SHARPEN(BuiltinFilter): + name = "Sharpen" + # fmt: off + filterargs = (3, 3), 16, 0, ( + -2, -2, -2, + -2, 32, -2, + -2, -2, -2, + ) + # fmt: on + + +class SMOOTH(BuiltinFilter): + name = "Smooth" + # fmt: off + filterargs = (3, 3), 13, 0, ( + 1, 1, 1, + 1, 5, 1, + 1, 1, 1, + ) + # fmt: on + + +class SMOOTH_MORE(BuiltinFilter): + name = "Smooth More" + # fmt: off + filterargs = (5, 5), 100, 0, ( + 1, 1, 1, 1, 1, + 1, 5, 5, 5, 1, + 1, 5, 44, 5, 1, + 1, 5, 5, 5, 1, + 1, 1, 1, 1, 1, + ) + # fmt: on + + +class Color3DLUT(MultibandFilter): + """Three-dimensional color lookup table. + + Transforms 3-channel pixels using the values of the channels as coordinates + in the 3D lookup table and interpolating the nearest elements. + + This method allows you to apply almost any color transformation + in constant time by using pre-calculated decimated tables. + + .. versionadded:: 5.2.0 + + :param size: Size of the table. One int or tuple of (int, int, int). + Minimal size in any dimension is 2, maximum is 65. + :param table: Flat lookup table. A list of ``channels * size**3`` + float elements or a list of ``size**3`` channels-sized + tuples with floats. Channels are changed first, + then first dimension, then second, then third. + Value 0.0 corresponds lowest value of output, 1.0 highest. + :param channels: Number of channels in the table. Could be 3 or 4. + Default is 3. + :param target_mode: A mode for the result image. Should have not less + than ``channels`` channels. Default is ``None``, + which means that mode wouldn't be changed. + """ + + name = "Color 3D LUT" + + def __init__( + self, + size: int | tuple[int, int, int], + table: Sequence[float] | Sequence[Sequence[int]] | NumpyArray, + channels: int = 3, + target_mode: str | None = None, + **kwargs: bool, + ) -> None: + if channels not in (3, 4): + msg = "Only 3 or 4 output channels are supported" + raise ValueError(msg) + self.size = size = self._check_size(size) + self.channels = channels + self.mode = target_mode + + # Hidden flag `_copy_table=False` could be used to avoid extra copying + # of the table if the table is specially made for the constructor. + copy_table = kwargs.get("_copy_table", True) + items = size[0] * size[1] * size[2] + wrong_size = False + + numpy: ModuleType | None = None + if hasattr(table, "shape"): + try: + import numpy + except ImportError: + pass + + if numpy and isinstance(table, numpy.ndarray): + numpy_table: NumpyArray = table + if copy_table: + numpy_table = numpy_table.copy() + + if numpy_table.shape in [ + (items * channels,), + (items, channels), + (size[2], size[1], size[0], channels), + ]: + table = numpy_table.reshape(items * channels) + else: + wrong_size = True + + else: + if copy_table: + table = list(table) + + # Convert to a flat list + if table and isinstance(table[0], (list, tuple)): + raw_table = cast(Sequence[Sequence[int]], table) + flat_table: list[int] = [] + for pixel in raw_table: + if len(pixel) != channels: + msg = ( + "The elements of the table should " + f"have a length of {channels}." + ) + raise ValueError(msg) + flat_table.extend(pixel) + table = flat_table + + if wrong_size or len(table) != items * channels: + msg = ( + "The table should have either channels * size**3 float items " + "or size**3 items of channels-sized tuples with floats. " + f"Table should be: {channels}x{size[0]}x{size[1]}x{size[2]}. " + f"Actual length: {len(table)}" + ) + raise ValueError(msg) + self.table = table + + @staticmethod + def _check_size(size: Any) -> tuple[int, int, int]: + try: + _, _, _ = size + except ValueError as e: + msg = "Size should be either an integer or a tuple of three integers." + raise ValueError(msg) from e + except TypeError: + size = (size, size, size) + size = tuple(int(x) for x in size) + for size_1d in size: + if not 2 <= size_1d <= 65: + msg = "Size should be in [2, 65] range." + raise ValueError(msg) + return size + + @classmethod + def generate( + cls, + size: int | tuple[int, int, int], + callback: Callable[[float, float, float], tuple[float, ...]], + channels: int = 3, + target_mode: str | None = None, + ) -> Color3DLUT: + """Generates new LUT using provided callback. + + :param size: Size of the table. Passed to the constructor. + :param callback: Function with three parameters which correspond + three color channels. Will be called ``size**3`` + times with values from 0.0 to 1.0 and should return + a tuple with ``channels`` elements. + :param channels: The number of channels which should return callback. + :param target_mode: Passed to the constructor of the resulting + lookup table. + """ + size_1d, size_2d, size_3d = cls._check_size(size) + if channels not in (3, 4): + msg = "Only 3 or 4 output channels are supported" + raise ValueError(msg) + + table: list[float] = [0] * (size_1d * size_2d * size_3d * channels) + idx_out = 0 + for b in range(size_3d): + for g in range(size_2d): + for r in range(size_1d): + table[idx_out : idx_out + channels] = callback( + r / (size_1d - 1), g / (size_2d - 1), b / (size_3d - 1) + ) + idx_out += channels + + return cls( + (size_1d, size_2d, size_3d), + table, + channels=channels, + target_mode=target_mode, + _copy_table=False, + ) + + def transform( + self, + callback: Callable[..., tuple[float, ...]], + with_normals: bool = False, + channels: int | None = None, + target_mode: str | None = None, + ) -> Color3DLUT: + """Transforms the table values using provided callback and returns + a new LUT with altered values. + + :param callback: A function which takes old lookup table values + and returns a new set of values. The number + of arguments which function should take is + ``self.channels`` or ``3 + self.channels`` + if ``with_normals`` flag is set. + Should return a tuple of ``self.channels`` or + ``channels`` elements if it is set. + :param with_normals: If true, ``callback`` will be called with + coordinates in the color cube as the first + three arguments. Otherwise, ``callback`` + will be called only with actual color values. + :param channels: The number of channels in the resulting lookup table. + :param target_mode: Passed to the constructor of the resulting + lookup table. + """ + if channels not in (None, 3, 4): + msg = "Only 3 or 4 output channels are supported" + raise ValueError(msg) + ch_in = self.channels + ch_out = channels or ch_in + size_1d, size_2d, size_3d = self.size + + table = [0] * (size_1d * size_2d * size_3d * ch_out) + idx_in = 0 + idx_out = 0 + for b in range(size_3d): + for g in range(size_2d): + for r in range(size_1d): + values = self.table[idx_in : idx_in + ch_in] + if with_normals: + values = callback( + r / (size_1d - 1), + g / (size_2d - 1), + b / (size_3d - 1), + *values, + ) + else: + values = callback(*values) + table[idx_out : idx_out + ch_out] = values + idx_in += ch_in + idx_out += ch_out + + return type(self)( + self.size, + table, + channels=ch_out, + target_mode=target_mode or self.mode, + _copy_table=False, + ) + + def __repr__(self) -> str: + r = [ + f"{self.__class__.__name__} from {self.table.__class__.__name__}", + "size={:d}x{:d}x{:d}".format(*self.size), + f"channels={self.channels:d}", + ] + if self.mode: + r.append(f"target_mode={self.mode}") + return "<{}>".format(" ".join(r)) + + def filter(self, image: _imaging.ImagingCore) -> _imaging.ImagingCore: + from . import Image + + return image.color_lut_3d( + self.mode or image.mode, + Image.Resampling.BILINEAR, + self.channels, + self.size[0], + self.size[1], + self.size[2], + self.table, + ) diff --git a/venv/Lib/site-packages/PIL/ImageFont.py b/venv/Lib/site-packages/PIL/ImageFont.py new file mode 100644 index 00000000..b694b817 --- /dev/null +++ b/venv/Lib/site-packages/PIL/ImageFont.py @@ -0,0 +1,1338 @@ +# +# The Python Imaging Library. +# $Id$ +# +# PIL raster font management +# +# History: +# 1996-08-07 fl created (experimental) +# 1997-08-25 fl minor adjustments to handle fonts from pilfont 0.3 +# 1999-02-06 fl rewrote most font management stuff in C +# 1999-03-17 fl take pth files into account in load_path (from Richard Jones) +# 2001-02-17 fl added freetype support +# 2001-05-09 fl added TransposedFont wrapper class +# 2002-03-04 fl make sure we have a "L" or "1" font +# 2002-12-04 fl skip non-directory entries in the system path +# 2003-04-29 fl add embedded default font +# 2003-09-27 fl added support for truetype charmap encodings +# +# Todo: +# Adapt to PILFONT2 format (16-bit fonts, compressed, single file) +# +# Copyright (c) 1997-2003 by Secret Labs AB +# Copyright (c) 1996-2003 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# + +from __future__ import annotations + +import base64 +import os +import sys +import warnings +from enum import IntEnum +from io import BytesIO +from types import ModuleType +from typing import IO, TYPE_CHECKING, Any, BinaryIO, TypedDict, cast + +from . import Image, features +from ._typing import StrOrBytesPath +from ._util import DeferredError, is_path + +if TYPE_CHECKING: + from . import ImageFile + from ._imaging import ImagingFont + from ._imagingft import Font + + +class Axis(TypedDict): + minimum: int | None + default: int | None + maximum: int | None + name: bytes | None + + +class Layout(IntEnum): + BASIC = 0 + RAQM = 1 + + +MAX_STRING_LENGTH = 1_000_000 + + +core: ModuleType | DeferredError +try: + from . import _imagingft as core +except ImportError as ex: + core = DeferredError.new(ex) + + +def _string_length_check(text: str | bytes | bytearray) -> None: + if MAX_STRING_LENGTH is not None and len(text) > MAX_STRING_LENGTH: + msg = "too many characters in string" + raise ValueError(msg) + + +# FIXME: add support for pilfont2 format (see FontFile.py) + +# -------------------------------------------------------------------- +# Font metrics format: +# "PILfont" LF +# fontdescriptor LF +# (optional) key=value... LF +# "DATA" LF +# binary data: 256*10*2 bytes (dx, dy, dstbox, srcbox) +# +# To place a character, cut out srcbox and paste at dstbox, +# relative to the character position. Then move the character +# position according to dx, dy. +# -------------------------------------------------------------------- + + +class ImageFont: + """PIL font wrapper""" + + font: ImagingFont + + def _load_pilfont(self, filename: str) -> None: + with open(filename, "rb") as fp: + image: ImageFile.ImageFile | None = None + root = os.path.splitext(filename)[0] + + for ext in (".png", ".gif", ".pbm"): + if image: + image.close() + try: + fullname = root + ext + image = Image.open(fullname) + except Exception: + pass + else: + if image and image.mode in ("1", "L"): + break + else: + if image: + image.close() + + msg = f"cannot find glyph data file {root}.{{gif|pbm|png}}" + raise OSError(msg) + + self.file = fullname + + self._load_pilfont_data(fp, image) + image.close() + + def _load_pilfont_data(self, file: IO[bytes], image: Image.Image) -> None: + # read PILfont header + if file.readline() != b"PILfont\n": + msg = "Not a PILfont file" + raise SyntaxError(msg) + file.readline().split(b";") + self.info = [] # FIXME: should be a dictionary + while True: + s = file.readline() + if not s or s == b"DATA\n": + break + self.info.append(s) + + # read PILfont metrics + data = file.read(256 * 20) + + # check image + if image.mode not in ("1", "L"): + msg = "invalid font image mode" + raise TypeError(msg) + + image.load() + + self.font = Image.core.font(image.im, data) + + def getmask( + self, text: str | bytes, mode: str = "", *args: Any, **kwargs: Any + ) -> Image.core.ImagingCore: + """ + Create a bitmap for the text. + + If the font uses antialiasing, the bitmap should have mode ``L`` and use a + maximum value of 255. Otherwise, it should have mode ``1``. + + :param text: Text to render. + :param mode: Used by some graphics drivers to indicate what mode the + driver prefers; if empty, the renderer may return either + mode. Note that the mode is always a string, to simplify + C-level implementations. + + .. versionadded:: 1.1.5 + + :return: An internal PIL storage memory instance as defined by the + :py:mod:`PIL.Image.core` interface module. + """ + _string_length_check(text) + Image._decompression_bomb_check(self.font.getsize(text)) + return self.font.getmask(text, mode) + + def getbbox( + self, text: str | bytes | bytearray, *args: Any, **kwargs: Any + ) -> tuple[int, int, int, int]: + """ + Returns bounding box (in pixels) of given text. + + .. versionadded:: 9.2.0 + + :param text: Text to render. + + :return: ``(left, top, right, bottom)`` bounding box + """ + _string_length_check(text) + width, height = self.font.getsize(text) + return 0, 0, width, height + + def getlength( + self, text: str | bytes | bytearray, *args: Any, **kwargs: Any + ) -> int: + """ + Returns length (in pixels) of given text. + This is the amount by which following text should be offset. + + .. versionadded:: 9.2.0 + """ + _string_length_check(text) + width, height = self.font.getsize(text) + return width + + +## +# Wrapper for FreeType fonts. Application code should use the +# truetype factory function to create font objects. + + +class FreeTypeFont: + """FreeType font wrapper (requires _imagingft service)""" + + font: Font + font_bytes: bytes + + def __init__( + self, + font: StrOrBytesPath | BinaryIO, + size: float = 10, + index: int = 0, + encoding: str = "", + layout_engine: Layout | None = None, + ) -> None: + # FIXME: use service provider instead + + if isinstance(core, DeferredError): + raise core.ex + + if size <= 0: + msg = f"font size must be greater than 0, not {size}" + raise ValueError(msg) + + self.path = font + self.size = size + self.index = index + self.encoding = encoding + + try: + from packaging.version import parse as parse_version + except ImportError: + pass + else: + if freetype_version := features.version_module("freetype2"): + if parse_version(freetype_version) < parse_version("2.9.1"): + warnings.warn( + "Support for FreeType 2.9.0 is deprecated and will be removed " + "in Pillow 12 (2025-10-15). Please upgrade to FreeType 2.9.1 " + "or newer, preferably FreeType 2.10.4 which fixes " + "CVE-2020-15999.", + DeprecationWarning, + ) + + if layout_engine not in (Layout.BASIC, Layout.RAQM): + layout_engine = Layout.BASIC + if core.HAVE_RAQM: + layout_engine = Layout.RAQM + elif layout_engine == Layout.RAQM and not core.HAVE_RAQM: + warnings.warn( + "Raqm layout was requested, but Raqm is not available. " + "Falling back to basic layout." + ) + layout_engine = Layout.BASIC + + self.layout_engine = layout_engine + + def load_from_bytes(f: IO[bytes]) -> None: + self.font_bytes = f.read() + self.font = core.getfont( + "", size, index, encoding, self.font_bytes, layout_engine + ) + + if is_path(font): + font = os.path.realpath(os.fspath(font)) + if sys.platform == "win32": + font_bytes_path = font if isinstance(font, bytes) else font.encode() + try: + font_bytes_path.decode("ascii") + except UnicodeDecodeError: + # FreeType cannot load fonts with non-ASCII characters on Windows + # So load it into memory first + with open(font, "rb") as f: + load_from_bytes(f) + return + self.font = core.getfont( + font, size, index, encoding, layout_engine=layout_engine + ) + else: + load_from_bytes(cast(IO[bytes], font)) + + def __getstate__(self) -> list[Any]: + return [self.path, self.size, self.index, self.encoding, self.layout_engine] + + def __setstate__(self, state: list[Any]) -> None: + path, size, index, encoding, layout_engine = state + FreeTypeFont.__init__(self, path, size, index, encoding, layout_engine) + + def getname(self) -> tuple[str | None, str | None]: + """ + :return: A tuple of the font family (e.g. Helvetica) and the font style + (e.g. Bold) + """ + return self.font.family, self.font.style + + def getmetrics(self) -> tuple[int, int]: + """ + :return: A tuple of the font ascent (the distance from the baseline to + the highest outline point) and descent (the distance from the + baseline to the lowest outline point, a negative value) + """ + return self.font.ascent, self.font.descent + + def getlength( + self, + text: str | bytes, + mode: str = "", + direction: str | None = None, + features: list[str] | None = None, + language: str | None = None, + ) -> float: + """ + Returns length (in pixels with 1/64 precision) of given text when rendered + in font with provided direction, features, and language. + + This is the amount by which following text should be offset. + Text bounding box may extend past the length in some fonts, + e.g. when using italics or accents. + + The result is returned as a float; it is a whole number if using basic layout. + + Note that the sum of two lengths may not equal the length of a concatenated + string due to kerning. If you need to adjust for kerning, include the following + character and subtract its length. + + For example, instead of :: + + hello = font.getlength("Hello") + world = font.getlength("World") + hello_world = hello + world # not adjusted for kerning + assert hello_world == font.getlength("HelloWorld") # may fail + + use :: + + hello = font.getlength("HelloW") - font.getlength("W") # adjusted for kerning + world = font.getlength("World") + hello_world = hello + world # adjusted for kerning + assert hello_world == font.getlength("HelloWorld") # True + + or disable kerning with (requires libraqm) :: + + hello = draw.textlength("Hello", font, features=["-kern"]) + world = draw.textlength("World", font, features=["-kern"]) + hello_world = hello + world # kerning is disabled, no need to adjust + assert hello_world == draw.textlength("HelloWorld", font, features=["-kern"]) + + .. versionadded:: 8.0.0 + + :param text: Text to measure. + :param mode: Used by some graphics drivers to indicate what mode the + driver prefers; if empty, the renderer may return either + mode. Note that the mode is always a string, to simplify + C-level implementations. + + :param direction: Direction of the text. It can be 'rtl' (right to + left), 'ltr' (left to right) or 'ttb' (top to bottom). + Requires libraqm. + + :param features: A list of OpenType font features to be used during text + layout. This is usually used to turn on optional + font features that are not enabled by default, + for example 'dlig' or 'ss01', but can be also + used to turn off default font features for + example '-liga' to disable ligatures or '-kern' + to disable kerning. To get all supported + features, see + https://learn.microsoft.com/en-us/typography/opentype/spec/featurelist + Requires libraqm. + + :param language: Language of the text. Different languages may use + different glyph shapes or ligatures. This parameter tells + the font which language the text is in, and to apply the + correct substitutions as appropriate, if available. + It should be a `BCP 47 language code + `_ + Requires libraqm. + + :return: Either width for horizontal text, or height for vertical text. + """ + _string_length_check(text) + return self.font.getlength(text, mode, direction, features, language) / 64 + + def getbbox( + self, + text: str | bytes, + mode: str = "", + direction: str | None = None, + features: list[str] | None = None, + language: str | None = None, + stroke_width: float = 0, + anchor: str | None = None, + ) -> tuple[float, float, float, float]: + """ + Returns bounding box (in pixels) of given text relative to given anchor + when rendered in font with provided direction, features, and language. + + Use :py:meth:`getlength()` to get the offset of following text with + 1/64 pixel precision. The bounding box includes extra margins for + some fonts, e.g. italics or accents. + + .. versionadded:: 8.0.0 + + :param text: Text to render. + :param mode: Used by some graphics drivers to indicate what mode the + driver prefers; if empty, the renderer may return either + mode. Note that the mode is always a string, to simplify + C-level implementations. + + :param direction: Direction of the text. It can be 'rtl' (right to + left), 'ltr' (left to right) or 'ttb' (top to bottom). + Requires libraqm. + + :param features: A list of OpenType font features to be used during text + layout. This is usually used to turn on optional + font features that are not enabled by default, + for example 'dlig' or 'ss01', but can be also + used to turn off default font features for + example '-liga' to disable ligatures or '-kern' + to disable kerning. To get all supported + features, see + https://learn.microsoft.com/en-us/typography/opentype/spec/featurelist + Requires libraqm. + + :param language: Language of the text. Different languages may use + different glyph shapes or ligatures. This parameter tells + the font which language the text is in, and to apply the + correct substitutions as appropriate, if available. + It should be a `BCP 47 language code + `_ + Requires libraqm. + + :param stroke_width: The width of the text stroke. + + :param anchor: The text anchor alignment. Determines the relative location of + the anchor to the text. The default alignment is top left, + specifically ``la`` for horizontal text and ``lt`` for + vertical text. See :ref:`text-anchors` for details. + + :return: ``(left, top, right, bottom)`` bounding box + """ + _string_length_check(text) + size, offset = self.font.getsize( + text, mode, direction, features, language, anchor + ) + left, top = offset[0] - stroke_width, offset[1] - stroke_width + width, height = size[0] + 2 * stroke_width, size[1] + 2 * stroke_width + return left, top, left + width, top + height + + def getmask( + self, + text: str | bytes, + mode: str = "", + direction: str | None = None, + features: list[str] | None = None, + language: str | None = None, + stroke_width: float = 0, + anchor: str | None = None, + ink: int = 0, + start: tuple[float, float] | None = None, + ) -> Image.core.ImagingCore: + """ + Create a bitmap for the text. + + If the font uses antialiasing, the bitmap should have mode ``L`` and use a + maximum value of 255. If the font has embedded color data, the bitmap + should have mode ``RGBA``. Otherwise, it should have mode ``1``. + + :param text: Text to render. + :param mode: Used by some graphics drivers to indicate what mode the + driver prefers; if empty, the renderer may return either + mode. Note that the mode is always a string, to simplify + C-level implementations. + + .. versionadded:: 1.1.5 + + :param direction: Direction of the text. It can be 'rtl' (right to + left), 'ltr' (left to right) or 'ttb' (top to bottom). + Requires libraqm. + + .. versionadded:: 4.2.0 + + :param features: A list of OpenType font features to be used during text + layout. This is usually used to turn on optional + font features that are not enabled by default, + for example 'dlig' or 'ss01', but can be also + used to turn off default font features for + example '-liga' to disable ligatures or '-kern' + to disable kerning. To get all supported + features, see + https://learn.microsoft.com/en-us/typography/opentype/spec/featurelist + Requires libraqm. + + .. versionadded:: 4.2.0 + + :param language: Language of the text. Different languages may use + different glyph shapes or ligatures. This parameter tells + the font which language the text is in, and to apply the + correct substitutions as appropriate, if available. + It should be a `BCP 47 language code + `_ + Requires libraqm. + + .. versionadded:: 6.0.0 + + :param stroke_width: The width of the text stroke. + + .. versionadded:: 6.2.0 + + :param anchor: The text anchor alignment. Determines the relative location of + the anchor to the text. The default alignment is top left, + specifically ``la`` for horizontal text and ``lt`` for + vertical text. See :ref:`text-anchors` for details. + + .. versionadded:: 8.0.0 + + :param ink: Foreground ink for rendering in RGBA mode. + + .. versionadded:: 8.0.0 + + :param start: Tuple of horizontal and vertical offset, as text may render + differently when starting at fractional coordinates. + + .. versionadded:: 9.4.0 + + :return: An internal PIL storage memory instance as defined by the + :py:mod:`PIL.Image.core` interface module. + """ + return self.getmask2( + text, + mode, + direction=direction, + features=features, + language=language, + stroke_width=stroke_width, + anchor=anchor, + ink=ink, + start=start, + )[0] + + def getmask2( + self, + text: str | bytes, + mode: str = "", + direction: str | None = None, + features: list[str] | None = None, + language: str | None = None, + stroke_width: float = 0, + anchor: str | None = None, + ink: int = 0, + start: tuple[float, float] | None = None, + *args: Any, + **kwargs: Any, + ) -> tuple[Image.core.ImagingCore, tuple[int, int]]: + """ + Create a bitmap for the text. + + If the font uses antialiasing, the bitmap should have mode ``L`` and use a + maximum value of 255. If the font has embedded color data, the bitmap + should have mode ``RGBA``. Otherwise, it should have mode ``1``. + + :param text: Text to render. + :param mode: Used by some graphics drivers to indicate what mode the + driver prefers; if empty, the renderer may return either + mode. Note that the mode is always a string, to simplify + C-level implementations. + + .. versionadded:: 1.1.5 + + :param direction: Direction of the text. It can be 'rtl' (right to + left), 'ltr' (left to right) or 'ttb' (top to bottom). + Requires libraqm. + + .. versionadded:: 4.2.0 + + :param features: A list of OpenType font features to be used during text + layout. This is usually used to turn on optional + font features that are not enabled by default, + for example 'dlig' or 'ss01', but can be also + used to turn off default font features for + example '-liga' to disable ligatures or '-kern' + to disable kerning. To get all supported + features, see + https://learn.microsoft.com/en-us/typography/opentype/spec/featurelist + Requires libraqm. + + .. versionadded:: 4.2.0 + + :param language: Language of the text. Different languages may use + different glyph shapes or ligatures. This parameter tells + the font which language the text is in, and to apply the + correct substitutions as appropriate, if available. + It should be a `BCP 47 language code + `_ + Requires libraqm. + + .. versionadded:: 6.0.0 + + :param stroke_width: The width of the text stroke. + + .. versionadded:: 6.2.0 + + :param anchor: The text anchor alignment. Determines the relative location of + the anchor to the text. The default alignment is top left, + specifically ``la`` for horizontal text and ``lt`` for + vertical text. See :ref:`text-anchors` for details. + + .. versionadded:: 8.0.0 + + :param ink: Foreground ink for rendering in RGBA mode. + + .. versionadded:: 8.0.0 + + :param start: Tuple of horizontal and vertical offset, as text may render + differently when starting at fractional coordinates. + + .. versionadded:: 9.4.0 + + :return: A tuple of an internal PIL storage memory instance as defined by the + :py:mod:`PIL.Image.core` interface module, and the text offset, the + gap between the starting coordinate and the first marking + """ + _string_length_check(text) + if start is None: + start = (0, 0) + + def fill(width: int, height: int) -> Image.core.ImagingCore: + size = (width, height) + Image._decompression_bomb_check(size) + return Image.core.fill("RGBA" if mode == "RGBA" else "L", size) + + return self.font.render( + text, + fill, + mode, + direction, + features, + language, + stroke_width, + anchor, + ink, + start[0], + start[1], + ) + + def font_variant( + self, + font: StrOrBytesPath | BinaryIO | None = None, + size: float | None = None, + index: int | None = None, + encoding: str | None = None, + layout_engine: Layout | None = None, + ) -> FreeTypeFont: + """ + Create a copy of this FreeTypeFont object, + using any specified arguments to override the settings. + + Parameters are identical to the parameters used to initialize this + object. + + :return: A FreeTypeFont object. + """ + if font is None: + try: + font = BytesIO(self.font_bytes) + except AttributeError: + font = self.path + return FreeTypeFont( + font=font, + size=self.size if size is None else size, + index=self.index if index is None else index, + encoding=self.encoding if encoding is None else encoding, + layout_engine=layout_engine or self.layout_engine, + ) + + def get_variation_names(self) -> list[bytes]: + """ + :returns: A list of the named styles in a variation font. + :exception OSError: If the font is not a variation font. + """ + try: + names = self.font.getvarnames() + except AttributeError as e: + msg = "FreeType 2.9.1 or greater is required" + raise NotImplementedError(msg) from e + return [name.replace(b"\x00", b"") for name in names] + + def set_variation_by_name(self, name: str | bytes) -> None: + """ + :param name: The name of the style. + :exception OSError: If the font is not a variation font. + """ + names = self.get_variation_names() + if not isinstance(name, bytes): + name = name.encode() + index = names.index(name) + 1 + + if index == getattr(self, "_last_variation_index", None): + # When the same name is set twice in a row, + # there is an 'unknown freetype error' + # https://savannah.nongnu.org/bugs/?56186 + return + self._last_variation_index = index + + self.font.setvarname(index) + + def get_variation_axes(self) -> list[Axis]: + """ + :returns: A list of the axes in a variation font. + :exception OSError: If the font is not a variation font. + """ + try: + axes = self.font.getvaraxes() + except AttributeError as e: + msg = "FreeType 2.9.1 or greater is required" + raise NotImplementedError(msg) from e + for axis in axes: + if axis["name"]: + axis["name"] = axis["name"].replace(b"\x00", b"") + return axes + + def set_variation_by_axes(self, axes: list[float]) -> None: + """ + :param axes: A list of values for each axis. + :exception OSError: If the font is not a variation font. + """ + try: + self.font.setvaraxes(axes) + except AttributeError as e: + msg = "FreeType 2.9.1 or greater is required" + raise NotImplementedError(msg) from e + + +class TransposedFont: + """Wrapper for writing rotated or mirrored text""" + + def __init__( + self, font: ImageFont | FreeTypeFont, orientation: Image.Transpose | None = None + ): + """ + Wrapper that creates a transposed font from any existing font + object. + + :param font: A font object. + :param orientation: An optional orientation. If given, this should + be one of Image.Transpose.FLIP_LEFT_RIGHT, Image.Transpose.FLIP_TOP_BOTTOM, + Image.Transpose.ROTATE_90, Image.Transpose.ROTATE_180, or + Image.Transpose.ROTATE_270. + """ + self.font = font + self.orientation = orientation # any 'transpose' argument, or None + + def getmask( + self, text: str | bytes, mode: str = "", *args: Any, **kwargs: Any + ) -> Image.core.ImagingCore: + im = self.font.getmask(text, mode, *args, **kwargs) + if self.orientation is not None: + return im.transpose(self.orientation) + return im + + def getbbox( + self, text: str | bytes, *args: Any, **kwargs: Any + ) -> tuple[int, int, float, float]: + # TransposedFont doesn't support getmask2, move top-left point to (0, 0) + # this has no effect on ImageFont and simulates anchor="lt" for FreeTypeFont + left, top, right, bottom = self.font.getbbox(text, *args, **kwargs) + width = right - left + height = bottom - top + if self.orientation in (Image.Transpose.ROTATE_90, Image.Transpose.ROTATE_270): + return 0, 0, height, width + return 0, 0, width, height + + def getlength(self, text: str | bytes, *args: Any, **kwargs: Any) -> float: + if self.orientation in (Image.Transpose.ROTATE_90, Image.Transpose.ROTATE_270): + msg = "text length is undefined for text rotated by 90 or 270 degrees" + raise ValueError(msg) + return self.font.getlength(text, *args, **kwargs) + + +def load(filename: str) -> ImageFont: + """ + Load a font file. This function loads a font object from the given + bitmap font file, and returns the corresponding font object. For loading TrueType + or OpenType fonts instead, see :py:func:`~PIL.ImageFont.truetype`. + + :param filename: Name of font file. + :return: A font object. + :exception OSError: If the file could not be read. + """ + f = ImageFont() + f._load_pilfont(filename) + return f + + +def truetype( + font: StrOrBytesPath | BinaryIO, + size: float = 10, + index: int = 0, + encoding: str = "", + layout_engine: Layout | None = None, +) -> FreeTypeFont: + """ + Load a TrueType or OpenType font from a file or file-like object, + and create a font object. This function loads a font object from the given + file or file-like object, and creates a font object for a font of the given + size. For loading bitmap fonts instead, see :py:func:`~PIL.ImageFont.load` + and :py:func:`~PIL.ImageFont.load_path`. + + Pillow uses FreeType to open font files. On Windows, be aware that FreeType + will keep the file open as long as the FreeTypeFont object exists. Windows + limits the number of files that can be open in C at once to 512, so if many + fonts are opened simultaneously and that limit is approached, an + ``OSError`` may be thrown, reporting that FreeType "cannot open resource". + A workaround would be to copy the file(s) into memory, and open that instead. + + This function requires the _imagingft service. + + :param font: A filename or file-like object containing a TrueType font. + If the file is not found in this filename, the loader may also + search in other directories, such as: + + * The :file:`fonts/` directory on Windows, + * :file:`/Library/Fonts/`, :file:`/System/Library/Fonts/` + and :file:`~/Library/Fonts/` on macOS. + * :file:`~/.local/share/fonts`, :file:`/usr/local/share/fonts`, + and :file:`/usr/share/fonts` on Linux; or those specified by + the ``XDG_DATA_HOME`` and ``XDG_DATA_DIRS`` environment variables + for user-installed and system-wide fonts, respectively. + + :param size: The requested size, in pixels. + :param index: Which font face to load (default is first available face). + :param encoding: Which font encoding to use (default is Unicode). Possible + encodings include (see the FreeType documentation for more + information): + + * "unic" (Unicode) + * "symb" (Microsoft Symbol) + * "ADOB" (Adobe Standard) + * "ADBE" (Adobe Expert) + * "ADBC" (Adobe Custom) + * "armn" (Apple Roman) + * "sjis" (Shift JIS) + * "gb " (PRC) + * "big5" + * "wans" (Extended Wansung) + * "joha" (Johab) + * "lat1" (Latin-1) + + This specifies the character set to use. It does not alter the + encoding of any text provided in subsequent operations. + :param layout_engine: Which layout engine to use, if available: + :attr:`.ImageFont.Layout.BASIC` or :attr:`.ImageFont.Layout.RAQM`. + If it is available, Raqm layout will be used by default. + Otherwise, basic layout will be used. + + Raqm layout is recommended for all non-English text. If Raqm layout + is not required, basic layout will have better performance. + + You can check support for Raqm layout using + :py:func:`PIL.features.check_feature` with ``feature="raqm"``. + + .. versionadded:: 4.2.0 + :return: A font object. + :exception OSError: If the file could not be read. + :exception ValueError: If the font size is not greater than zero. + """ + + def freetype(font: StrOrBytesPath | BinaryIO) -> FreeTypeFont: + return FreeTypeFont(font, size, index, encoding, layout_engine) + + try: + return freetype(font) + except OSError: + if not is_path(font): + raise + ttf_filename = os.path.basename(font) + + dirs = [] + if sys.platform == "win32": + # check the windows font repository + # NOTE: must use uppercase WINDIR, to work around bugs in + # 1.5.2's os.environ.get() + windir = os.environ.get("WINDIR") + if windir: + dirs.append(os.path.join(windir, "fonts")) + elif sys.platform in ("linux", "linux2"): + data_home = os.environ.get("XDG_DATA_HOME") + if not data_home: + # The freedesktop spec defines the following default directory for + # when XDG_DATA_HOME is unset or empty. This user-level directory + # takes precedence over system-level directories. + data_home = os.path.expanduser("~/.local/share") + xdg_dirs = [data_home] + + data_dirs = os.environ.get("XDG_DATA_DIRS") + if not data_dirs: + # Similarly, defaults are defined for the system-level directories + data_dirs = "/usr/local/share:/usr/share" + xdg_dirs += data_dirs.split(":") + + dirs += [os.path.join(xdg_dir, "fonts") for xdg_dir in xdg_dirs] + elif sys.platform == "darwin": + dirs += [ + "/Library/Fonts", + "/System/Library/Fonts", + os.path.expanduser("~/Library/Fonts"), + ] + + ext = os.path.splitext(ttf_filename)[1] + first_font_with_a_different_extension = None + for directory in dirs: + for walkroot, walkdir, walkfilenames in os.walk(directory): + for walkfilename in walkfilenames: + if ext and walkfilename == ttf_filename: + return freetype(os.path.join(walkroot, walkfilename)) + elif not ext and os.path.splitext(walkfilename)[0] == ttf_filename: + fontpath = os.path.join(walkroot, walkfilename) + if os.path.splitext(fontpath)[1] == ".ttf": + return freetype(fontpath) + if not ext and first_font_with_a_different_extension is None: + first_font_with_a_different_extension = fontpath + if first_font_with_a_different_extension: + return freetype(first_font_with_a_different_extension) + raise + + +def load_path(filename: str | bytes) -> ImageFont: + """ + Load font file. Same as :py:func:`~PIL.ImageFont.load`, but searches for a + bitmap font along the Python path. + + :param filename: Name of font file. + :return: A font object. + :exception OSError: If the file could not be read. + """ + if not isinstance(filename, str): + filename = filename.decode("utf-8") + for directory in sys.path: + try: + return load(os.path.join(directory, filename)) + except OSError: + pass + msg = f'cannot find font file "{filename}" in sys.path' + if os.path.exists(filename): + msg += f', did you mean ImageFont.load("{filename}") instead?' + + raise OSError(msg) + + +def load_default_imagefont() -> ImageFont: + f = ImageFont() + f._load_pilfont_data( + # courB08 + BytesIO( + base64.b64decode( + b""" +UElMZm9udAo7Ozs7OzsxMDsKREFUQQoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAA//8AAQAAAAAAAAABAAEA +BgAAAAH/+gADAAAAAQAAAAMABgAGAAAAAf/6AAT//QADAAAABgADAAYAAAAA//kABQABAAYAAAAL +AAgABgAAAAD/+AAFAAEACwAAABAACQAGAAAAAP/5AAUAAAAQAAAAFQAHAAYAAP////oABQAAABUA +AAAbAAYABgAAAAH/+QAE//wAGwAAAB4AAwAGAAAAAf/5AAQAAQAeAAAAIQAIAAYAAAAB//kABAAB +ACEAAAAkAAgABgAAAAD/+QAE//0AJAAAACgABAAGAAAAAP/6AAX//wAoAAAALQAFAAYAAAAB//8A +BAACAC0AAAAwAAMABgAAAAD//AAF//0AMAAAADUAAQAGAAAAAf//AAMAAAA1AAAANwABAAYAAAAB +//kABQABADcAAAA7AAgABgAAAAD/+QAFAAAAOwAAAEAABwAGAAAAAP/5AAYAAABAAAAARgAHAAYA +AAAA//kABQAAAEYAAABLAAcABgAAAAD/+QAFAAAASwAAAFAABwAGAAAAAP/5AAYAAABQAAAAVgAH +AAYAAAAA//kABQAAAFYAAABbAAcABgAAAAD/+QAFAAAAWwAAAGAABwAGAAAAAP/5AAUAAABgAAAA +ZQAHAAYAAAAA//kABQAAAGUAAABqAAcABgAAAAD/+QAFAAAAagAAAG8ABwAGAAAAAf/8AAMAAABv +AAAAcQAEAAYAAAAA//wAAwACAHEAAAB0AAYABgAAAAD/+gAE//8AdAAAAHgABQAGAAAAAP/7AAT/ +/gB4AAAAfAADAAYAAAAB//oABf//AHwAAACAAAUABgAAAAD/+gAFAAAAgAAAAIUABgAGAAAAAP/5 +AAYAAQCFAAAAiwAIAAYAAP////oABgAAAIsAAACSAAYABgAA////+gAFAAAAkgAAAJgABgAGAAAA +AP/6AAUAAACYAAAAnQAGAAYAAP////oABQAAAJ0AAACjAAYABgAA////+gAFAAAAowAAAKkABgAG +AAD////6AAUAAACpAAAArwAGAAYAAAAA//oABQAAAK8AAAC0AAYABgAA////+gAGAAAAtAAAALsA +BgAGAAAAAP/6AAQAAAC7AAAAvwAGAAYAAP////oABQAAAL8AAADFAAYABgAA////+gAGAAAAxQAA +AMwABgAGAAD////6AAUAAADMAAAA0gAGAAYAAP////oABQAAANIAAADYAAYABgAA////+gAGAAAA +2AAAAN8ABgAGAAAAAP/6AAUAAADfAAAA5AAGAAYAAP////oABQAAAOQAAADqAAYABgAAAAD/+gAF +AAEA6gAAAO8ABwAGAAD////6AAYAAADvAAAA9gAGAAYAAAAA//oABQAAAPYAAAD7AAYABgAA//// ++gAFAAAA+wAAAQEABgAGAAD////6AAYAAAEBAAABCAAGAAYAAP////oABgAAAQgAAAEPAAYABgAA +////+gAGAAABDwAAARYABgAGAAAAAP/6AAYAAAEWAAABHAAGAAYAAP////oABgAAARwAAAEjAAYA +BgAAAAD/+gAFAAABIwAAASgABgAGAAAAAf/5AAQAAQEoAAABKwAIAAYAAAAA//kABAABASsAAAEv +AAgABgAAAAH/+QAEAAEBLwAAATIACAAGAAAAAP/5AAX//AEyAAABNwADAAYAAAAAAAEABgACATcA +AAE9AAEABgAAAAH/+QAE//wBPQAAAUAAAwAGAAAAAP/7AAYAAAFAAAABRgAFAAYAAP////kABQAA +AUYAAAFMAAcABgAAAAD/+wAFAAABTAAAAVEABQAGAAAAAP/5AAYAAAFRAAABVwAHAAYAAAAA//sA +BQAAAVcAAAFcAAUABgAAAAD/+QAFAAABXAAAAWEABwAGAAAAAP/7AAYAAgFhAAABZwAHAAYAAP// +//kABQAAAWcAAAFtAAcABgAAAAD/+QAGAAABbQAAAXMABwAGAAAAAP/5AAQAAgFzAAABdwAJAAYA +AP////kABgAAAXcAAAF+AAcABgAAAAD/+QAGAAABfgAAAYQABwAGAAD////7AAUAAAGEAAABigAF +AAYAAP////sABQAAAYoAAAGQAAUABgAAAAD/+wAFAAABkAAAAZUABQAGAAD////7AAUAAgGVAAAB +mwAHAAYAAAAA//sABgACAZsAAAGhAAcABgAAAAD/+wAGAAABoQAAAacABQAGAAAAAP/7AAYAAAGn +AAABrQAFAAYAAAAA//kABgAAAa0AAAGzAAcABgAA////+wAGAAABswAAAboABQAGAAD////7AAUA +AAG6AAABwAAFAAYAAP////sABgAAAcAAAAHHAAUABgAAAAD/+wAGAAABxwAAAc0ABQAGAAD////7 +AAYAAgHNAAAB1AAHAAYAAAAA//sABQAAAdQAAAHZAAUABgAAAAH/+QAFAAEB2QAAAd0ACAAGAAAA +Av/6AAMAAQHdAAAB3gAHAAYAAAAA//kABAABAd4AAAHiAAgABgAAAAD/+wAF//0B4gAAAecAAgAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAB +//sAAwACAecAAAHpAAcABgAAAAD/+QAFAAEB6QAAAe4ACAAGAAAAAP/5AAYAAAHuAAAB9AAHAAYA +AAAA//oABf//AfQAAAH5AAUABgAAAAD/+QAGAAAB+QAAAf8ABwAGAAAAAv/5AAMAAgH/AAACAAAJ +AAYAAAAA//kABQABAgAAAAIFAAgABgAAAAH/+gAE//sCBQAAAggAAQAGAAAAAP/5AAYAAAIIAAAC +DgAHAAYAAAAB//kABf/+Ag4AAAISAAUABgAA////+wAGAAACEgAAAhkABQAGAAAAAP/7AAX//gIZ +AAACHgADAAYAAAAA//wABf/9Ah4AAAIjAAEABgAAAAD/+QAHAAACIwAAAioABwAGAAAAAP/6AAT/ ++wIqAAACLgABAAYAAAAA//kABP/8Ai4AAAIyAAMABgAAAAD/+gAFAAACMgAAAjcABgAGAAAAAf/5 +AAT//QI3AAACOgAEAAYAAAAB//kABP/9AjoAAAI9AAQABgAAAAL/+QAE//sCPQAAAj8AAgAGAAD/ +///7AAYAAgI/AAACRgAHAAYAAAAA//kABgABAkYAAAJMAAgABgAAAAH//AAD//0CTAAAAk4AAQAG +AAAAAf//AAQAAgJOAAACUQADAAYAAAAB//kABP/9AlEAAAJUAAQABgAAAAH/+QAF//4CVAAAAlgA +BQAGAAD////7AAYAAAJYAAACXwAFAAYAAP////kABgAAAl8AAAJmAAcABgAA////+QAGAAACZgAA +Am0ABwAGAAD////5AAYAAAJtAAACdAAHAAYAAAAA//sABQACAnQAAAJ5AAcABgAA////9wAGAAAC +eQAAAoAACQAGAAD////3AAYAAAKAAAAChwAJAAYAAP////cABgAAAocAAAKOAAkABgAA////9wAG +AAACjgAAApUACQAGAAD////4AAYAAAKVAAACnAAIAAYAAP////cABgAAApwAAAKjAAkABgAA//// ++gAGAAACowAAAqoABgAGAAAAAP/6AAUAAgKqAAACrwAIAAYAAP////cABQAAAq8AAAK1AAkABgAA +////9wAFAAACtQAAArsACQAGAAD////3AAUAAAK7AAACwQAJAAYAAP////gABQAAAsEAAALHAAgA +BgAAAAD/9wAEAAACxwAAAssACQAGAAAAAP/3AAQAAALLAAACzwAJAAYAAAAA//cABAAAAs8AAALT +AAkABgAAAAD/+AAEAAAC0wAAAtcACAAGAAD////6AAUAAALXAAAC3QAGAAYAAP////cABgAAAt0A +AALkAAkABgAAAAD/9wAFAAAC5AAAAukACQAGAAAAAP/3AAUAAALpAAAC7gAJAAYAAAAA//cABQAA +Au4AAALzAAkABgAAAAD/9wAFAAAC8wAAAvgACQAGAAAAAP/4AAUAAAL4AAAC/QAIAAYAAAAA//oA +Bf//Av0AAAMCAAUABgAA////+gAGAAADAgAAAwkABgAGAAD////3AAYAAAMJAAADEAAJAAYAAP// +//cABgAAAxAAAAMXAAkABgAA////9wAGAAADFwAAAx4ACQAGAAD////4AAYAAAAAAAoABwASAAYA +AP////cABgAAAAcACgAOABMABgAA////+gAFAAAADgAKABQAEAAGAAD////6AAYAAAAUAAoAGwAQ +AAYAAAAA//gABgAAABsACgAhABIABgAAAAD/+AAGAAAAIQAKACcAEgAGAAAAAP/4AAYAAAAnAAoA +LQASAAYAAAAA//gABgAAAC0ACgAzABIABgAAAAD/+QAGAAAAMwAKADkAEQAGAAAAAP/3AAYAAAA5 +AAoAPwATAAYAAP////sABQAAAD8ACgBFAA8ABgAAAAD/+wAFAAIARQAKAEoAEQAGAAAAAP/4AAUA +AABKAAoATwASAAYAAAAA//gABQAAAE8ACgBUABIABgAAAAD/+AAFAAAAVAAKAFkAEgAGAAAAAP/5 +AAUAAABZAAoAXgARAAYAAAAA//gABgAAAF4ACgBkABIABgAAAAD/+AAGAAAAZAAKAGoAEgAGAAAA +AP/4AAYAAABqAAoAcAASAAYAAAAA//kABgAAAHAACgB2ABEABgAAAAD/+AAFAAAAdgAKAHsAEgAG +AAD////4AAYAAAB7AAoAggASAAYAAAAA//gABQAAAIIACgCHABIABgAAAAD/+AAFAAAAhwAKAIwA +EgAGAAAAAP/4AAUAAACMAAoAkQASAAYAAAAA//gABQAAAJEACgCWABIABgAAAAD/+QAFAAAAlgAK +AJsAEQAGAAAAAP/6AAX//wCbAAoAoAAPAAYAAAAA//oABQABAKAACgClABEABgAA////+AAGAAAA +pQAKAKwAEgAGAAD////4AAYAAACsAAoAswASAAYAAP////gABgAAALMACgC6ABIABgAA////+QAG +AAAAugAKAMEAEQAGAAD////4AAYAAgDBAAoAyAAUAAYAAP////kABQACAMgACgDOABMABgAA//// ++QAGAAIAzgAKANUAEw== +""" + ) + ), + Image.open( + BytesIO( + base64.b64decode( + b""" +iVBORw0KGgoAAAANSUhEUgAAAx4AAAAUAQAAAAArMtZoAAAEwElEQVR4nABlAJr/AHVE4czCI/4u +Mc4b7vuds/xzjz5/3/7u/n9vMe7vnfH/9++vPn/xyf5zhxzjt8GHw8+2d83u8x27199/nxuQ6Od9 +M43/5z2I+9n9ZtmDBwMQECDRQw/eQIQohJXxpBCNVE6QCCAAAAD//wBlAJr/AgALyj1t/wINwq0g +LeNZUworuN1cjTPIzrTX6ofHWeo3v336qPzfEwRmBnHTtf95/fglZK5N0PDgfRTslpGBvz7LFc4F +IUXBWQGjQ5MGCx34EDFPwXiY4YbYxavpnhHFrk14CDAAAAD//wBlAJr/AgKqRooH2gAgPeggvUAA +Bu2WfgPoAwzRAABAAAAAAACQgLz/3Uv4Gv+gX7BJgDeeGP6AAAD1NMDzKHD7ANWr3loYbxsAD791 +NAADfcoIDyP44K/jv4Y63/Z+t98Ovt+ub4T48LAAAAD//wBlAJr/AuplMlADJAAAAGuAphWpqhMx +in0A/fRvAYBABPgBwBUgABBQ/sYAyv9g0bCHgOLoGAAAAAAAREAAwI7nr0ArYpow7aX8//9LaP/9 +SjdavWA8ePHeBIKB//81/83ndznOaXx379wAAAD//wBlAJr/AqDxW+D3AABAAbUh/QMnbQag/gAY +AYDAAACgtgD/gOqAAAB5IA/8AAAk+n9w0AAA8AAAmFRJuPo27ciC0cD5oeW4E7KA/wD3ECMAn2tt +y8PgwH8AfAxFzC0JzeAMtratAsC/ffwAAAD//wBlAJr/BGKAyCAA4AAAAvgeYTAwHd1kmQF5chkG +ABoMIHcL5xVpTfQbUqzlAAAErwAQBgAAEOClA5D9il08AEh/tUzdCBsXkbgACED+woQg8Si9VeqY +lODCn7lmF6NhnAEYgAAA/NMIAAAAAAD//2JgjLZgVGBg5Pv/Tvpc8hwGBjYGJADjHDrAwPzAjv/H +/Wf3PzCwtzcwHmBgYGcwbZz8wHaCAQMDOwMDQ8MCBgYOC3W7mp+f0w+wHOYxO3OG+e376hsMZjk3 +AAAAAP//YmCMY2A4wMAIN5e5gQETPD6AZisDAwMDgzSDAAPjByiHcQMDAwMDg1nOze1lByRu5/47 +c4859311AYNZzg0AAAAA//9iYGDBYihOIIMuwIjGL39/fwffA8b//xv/P2BPtzzHwCBjUQAAAAD/ +/yLFBrIBAAAA//9i1HhcwdhizX7u8NZNzyLbvT97bfrMf/QHI8evOwcSqGUJAAAA//9iYBB81iSw +pEE170Qrg5MIYydHqwdDQRMrAwcVrQAAAAD//2J4x7j9AAMDn8Q/BgYLBoaiAwwMjPdvMDBYM1Tv +oJodAAAAAP//Yqo/83+dxePWlxl3npsel9lvLfPcqlE9725C+acfVLMEAAAA//9i+s9gwCoaaGMR +evta/58PTEWzr21hufPjA8N+qlnBwAAAAAD//2JiWLci5v1+HmFXDqcnULE/MxgYGBj+f6CaJQAA +AAD//2Ji2FrkY3iYpYC5qDeGgeEMAwPDvwQBBoYvcTwOVLMEAAAA//9isDBgkP///0EOg9z35v// +Gc/eeW7BwPj5+QGZhANUswMAAAD//2JgqGBgYGBgqEMXlvhMPUsAAAAA//8iYDd1AAAAAP//AwDR +w7IkEbzhVQAAAABJRU5ErkJggg== +""" + ) + ) + ), + ) + return f + + +def load_default(size: float | None = None) -> FreeTypeFont | ImageFont: + """If FreeType support is available, load a version of Aileron Regular, + https://dotcolon.net/font/aileron, with a more limited character set. + + Otherwise, load a "better than nothing" font. + + .. versionadded:: 1.1.4 + + :param size: The font size of Aileron Regular. + + .. versionadded:: 10.1.0 + + :return: A font object. + """ + if isinstance(core, ModuleType) or size is not None: + return truetype( + BytesIO( + base64.b64decode( + b""" +AAEAAAAPAIAAAwBwRkZUTYwDlUAAADFoAAAAHEdERUYAqADnAAAo8AAAACRHUE9ThhmITwAAKfgAA +AduR1NVQnHxefoAACkUAAAA4k9TLzJovoHLAAABeAAAAGBjbWFw5lFQMQAAA6gAAAGqZ2FzcP//AA +MAACjoAAAACGdseWYmRXoPAAAGQAAAHfhoZWFkE18ayQAAAPwAAAA2aGhlYQboArEAAAE0AAAAJGh +tdHjjERZ8AAAB2AAAAdBsb2NhuOexrgAABVQAAADqbWF4cAC7AEYAAAFYAAAAIG5hbWUr+h5lAAAk +OAAAA6Jwb3N0D3oPTQAAJ9wAAAEKAAEAAAABGhxJDqIhXw889QALA+gAAAAA0Bqf2QAAAADhCh2h/ +2r/LgOxAyAAAAAIAAIAAAAAAAAAAQAAA8r/GgAAA7j/av9qA7EAAQAAAAAAAAAAAAAAAAAAAHQAAQ +AAAHQAQwAFAAAAAAACAAAAAQABAAAAQAAAAAAAAAADAfoBkAAFAAgCigJYAAAASwKKAlgAAAFeADI +BPgAAAAAFAAAAAAAAAAAAAAcAAAAAAAAAAAAAAABVS1dOAEAAIPsCAwL/GgDIA8oA5iAAAJMAAAAA +AhICsgAAACAAAwH0AAAAAAAAAU0AAADYAAAA8gA5AVMAVgJEAEYCRAA1AuQAKQKOAEAAsAArATsAZ +AE7AB4CMABVAkQAUADc/+EBEgAgANwAJQEv//sCRAApAkQAggJEADwCRAAtAkQAIQJEADkCRAArAk +QAMgJEACwCRAAxANwAJQDc/+ECRABnAkQAUAJEAEQB8wAjA1QANgJ/AB0CcwBkArsALwLFAGQCSwB +kAjcAZALGAC8C2gBkAQgAZAIgADcCYQBkAj8AZANiAGQCzgBkAuEALwJWAGQC3QAvAmsAZAJJADQC +ZAAiAqoAXgJuACADuAAaAnEAGQJFABMCTwAuATMAYgEv//sBJwAiAkQAUAH0ADIBLAApAhMAJAJjA +EoCEQAeAmcAHgIlAB4BIgAVAmcAHgJRAEoA7gA+AOn/8wIKAEoA9wBGA1cASgJRAEoCSgAeAmMASg +JnAB4BSgBKAcsAGAE5ABQCUABCAgIAAQMRAAEB4v/6AgEAAQHOABQBLwBAAPoAYAEvACECRABNA0Y +AJAItAHgBKgAcAkQAUAEsAHQAygAgAi0AOQD3ADYA9wAWAaEANgGhABYCbAAlAYMAeAGDADkA6/9q +AhsAFAIKABUB/QAVAAAAAwAAAAMAAAAcAAEAAAAAAKQAAwABAAAAHAAEAIgAAAAeABAAAwAOAH4Aq +QCrALEAtAC3ALsgGSAdICYgOiBEISL7Av//AAAAIACpAKsAsAC0ALcAuyAYIBwgJiA5IEQhIvsB// +//4/+5/7j/tP+y/7D/reBR4E/gR+A14CzfTwVxAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAEGAAABAAAAAAAAAAECAAAAAgAAAAAAAAAAAAAAAAAAAAEAAAMEBQYHCAkKCwwNDg8QERIT +FBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMT +U5PUFFSU1RVVldYWVpbXF1eX2BhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAAA +AAAAAAYnFmAAAAAABlAAAAAAAAAAAAAAAAAAAAAAAAAAAAY2htAAAAAAAAAABrbGlqAAAAAHAAbm9 +ycwBnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmACYAJgAmAD4AUgCCAMoBCgFO +AVwBcgGIAaYBvAHKAdYB6AH2AgwCIAJKAogCpgLWAw4DIgNkA5wDugPUA+gD/AQQBEYEogS8BPoFJ +gVSBWoFgAWwBcoF1gX6BhQGJAZMBmgGiga0BuIHGgdUB2YHkAeiB8AH3AfyCAoIHAgqCDoITghcCG +oIogjSCPoJKglYCXwJwgnqCgIKKApACl4Klgq8CtwLDAs8C1YLjAuyC9oL7gwMDCYMSAxgDKAMrAz +qDQoNTA1mDYQNoA2uDcAN2g3oDfYODA4iDkoOXA5sDnoOnA7EDvwAAAAFAAAAAAH0ArwAAwAGAAkA +DAAPAAAxESERAxMhExcRASELARETAfT6qv6syKr+jgFUqsiqArz9RAGLAP/+1P8B/v3VAP8BLP4CA +P8AAgA5//IAuQKyAAMACwAANyMDMwIyFhQGIiY0oE4MZk84JCQ4JLQB/v3AJDgkJDgAAgBWAeUBPA +LfAAMABwAAEyMnMxcjJzOmRgpagkYKWgHl+vr6AAAAAAIARgAAAf4CsgAbAB8AAAEHMxUjByM3Iwc +jNyM1MzcjNTM3MwczNzMHMxUrAQczAZgdZXEvOi9bLzovWmYdZXEvOi9bLzovWp9bHlsBn4w429vb +2ziMONvb29s4jAAAAAMANf+mAg4DDAAfACYALAAAJRQGBxUjNS4BJzMeARcRLgE0Njc1MxUeARcjJ +icVHgEBFBYXNQ4BExU+ATU0Ag5xWDpgcgRcBz41Xl9oVTpVYwpcC1ttXP6cLTQuM5szOrVRZwlOTQ +ZqVzZECAEAGlukZAlOTQdrUG8O7iNlAQgxNhDlCDj+8/YGOjReAAAAAAUAKf/yArsCvAAHAAsAFQA +dACcAABIyFhQGIiY0EyMBMwQiBhUUFjI2NTQSMhYUBiImNDYiBhUUFjI2NTR5iFBQiFCVVwHAV/5c +OiMjOiPmiFBQiFCxOiMjOiMCvFaSVlaS/ZoCsjIzMC80NC8w/uNWklZWkhozMC80NC8wAAAAAgBA/ +/ICbgLAACIALgAAARUjEQYjIiY1NDY3LgE1NDYzMhcVJiMiBhUUFhcWOwE1MxUFFBYzMjc1IyIHDg +ECbmBcYYOOVkg7R4hsQjY4Q0RNRD4SLDxW/pJUXzksPCkUUk0BgUb+zBVUZ0BkDw5RO1huCkULQzp +COAMBcHDHRz0J/AIHRQAAAAEAKwHlAIUC3wADAAATIycze0YKWgHl+gAAAAABAGT/sAEXAwwACQAA +EzMGEBcjLgE0Nt06dXU6OUBAAwzG/jDGVePs4wAAAAEAHv+wANEDDAAJAAATMx4BFAYHIzYQHjo5Q +EA5OnUDDFXj7ONVxgHQAAAAAQBVAFIB2wHbAA4AAAE3FwcXBycHJzcnNxcnMwEtmxOfcTJjYzJxnx +ObCj4BKD07KYolmZkliik7PbMAAQBQAFUB9AIlAAsAAAEjFSM1IzUzNTMVMwH0tTq1tTq1AR/Kyjj +OzgAAAAAB/+H/iACMAGQABAAANwcjNzOMWlFOXVrS3AAAAQAgAP8A8gE3AAMAABMjNTPy0tIA/zgA +AQAl//IApQByAAcAADYyFhQGIiY0STgkJDgkciQ4JCQ4AAAAAf/7/+IBNALQAAMAABcjEzM5Pvs+H +gLuAAAAAAIAKf/yAhsCwAADAAcAABIgECA2IBAgKQHy/g5gATL+zgLA/TJEAkYAAAAAAQCCAAABlg +KyAAgAAAERIxEHNTc2MwGWVr6SIygCsv1OAldxW1sWAAEAPAAAAg4CwAAZAAA3IRUhNRM+ATU0JiM +iDwEjNz4BMzIWFRQGB7kBUv4x+kI2QTt+EAFWAQp8aGVtSl5GRjEA/0RVLzlLmAoKa3FsUkNxXQAA +AAEALf/yAhYCwAAqAAABHgEVFAYjIi8BMxceATMyNjU0KwE1MzI2NTQmIyIGDwEjNz4BMzIWFRQGA +YxBSZJo2RUBVgEHV0JBUaQREUBUQzc5TQcBVgEKfGhfcEMBbxJbQl1x0AoKRkZHPn9GSD80QUVCCg +pfbGBPOlgAAAACACEAAAIkArIACgAPAAAlIxUjNSE1ATMRMyMRBg8BAiRXVv6qAVZWV60dHLCurq4 +rAdn+QgFLMibzAAABADn/8gIZArIAHQAAATIWFRQGIyIvATMXFjMyNjU0JiMiByMTIRUhBzc2ATNv +d5Fl1RQBVgIad0VSTkVhL1IwAYj+vh8rMAHHgGdtgcUKCoFXTU5bYgGRRvAuHQAAAAACACv/8gITA +sAAFwAjAAABMhYVFAYjIhE0NjMyFh8BIycmIyIDNzYTMjY1NCYjIgYVFBYBLmp7imr0l3RZdAgBXA +IYZ5wKJzU6QVNJSz5SUAHSgWltiQFGxcNlVQoKdv7sPiz+ZF1LTmJbU0lhAAAAAQAyAAACGgKyAAY +AAAEVASMBITUCGv6oXAFL/oECsij9dgJsRgAAAAMALP/xAhgCwAAWACAALAAAAR4BFRQGIyImNTQ2 +Ny4BNTQ2MhYVFAYmIgYVFBYyNjU0AzI2NTQmIyIGFRQWAZQ5S5BmbIpPOjA7ecp5P2F8Q0J8RIVJS +0pLTEtOAW0TXTxpZ2ZqPF0SE1A3VWVlVTdQ/UU0N0RENzT9/ko+Ok1NOj1LAAIAMf/yAhkCwAAXAC +MAAAEyERQGIyImLwEzFxYzMhMHBiMiJjU0NhMyNjU0JiMiBhUUFgEl9Jd0WXQIAVwCGGecCic1SWp +7imo+UlBAQVNJAsD+usXDZVUKCnYBFD4sgWltif5kW1NJYV1LTmIAAAACACX/8gClAiAABwAPAAAS +MhYUBiImNBIyFhQGIiY0STgkJDgkJDgkJDgkAiAkOCQkOP52JDgkJDgAAAAC/+H/iAClAiAABwAMA +AASMhYUBiImNBMHIzczSTgkJDgkaFpSTl4CICQ4JCQ4/mba5gAAAQBnAB4B+AH0AAYAAAENARUlNS +UB+P6qAVb+bwGRAbCmpkbJRMkAAAIAUAC7AfQBuwADAAcAAAEhNSERITUhAfT+XAGk/lwBpAGDOP8 +AOAABAEQAHgHVAfQABgAAARUFNS0BNQHV/m8BVv6qAStEyUSmpkYAAAAAAgAj//IB1ALAABgAIAAA +ATIWFRQHDgEHIz4BNz4BNTQmIyIGByM+ARIyFhQGIiY0AQRibmktIAJWBSEqNig+NTlHBFoDezQ4J +CQ4JALAZ1BjaS03JS1DMD5LLDQ/SUVgcv2yJDgkJDgAAAAAAgA2/5gDFgKYADYAQgAAAQMGFRQzMj +Y1NCYjIg4CFRQWMzI2NxcGIyImNTQ+AjMyFhUUBiMiJwcGIyImNTQ2MzIfATcHNzYmIyIGFRQzMjY +Cej8EJjJJlnBAfGQ+oHtAhjUYg5OPx0h2k06Os3xRWQsVLjY5VHtdPBwJETcJDyUoOkZEJz8B0f74 +EQ8kZl6EkTFZjVOLlyknMVm1pmCiaTq4lX6CSCknTVRmmR8wPdYnQzxuSWVGAAIAHQAAAncCsgAHA +AoAACUjByMTMxMjATMDAcj+UVz4dO5d/sjPZPT0ArL9TgE6ATQAAAADAGQAAAJMArIAEAAbACcAAA +EeARUUBgcGKwERMzIXFhUUJRUzMjc2NTQnJiMTPgE1NCcmKwEVMzIBvkdHZkwiNt7LOSGq/oeFHBt +hahIlSTM+cB8Yj5UWAW8QT0VYYgwFArIEF5Fv1eMED2NfDAL93AU+N24PBP0AAAAAAQAv//ICjwLA +ABsAAAEyFh8BIycmIyIGFRQWMzI/ATMHDgEjIiY1NDYBdX+PCwFWAiKiaHx5ZaIiAlYBCpWBk6a0A +sCAagoKpqN/gaOmCgplhcicn8sAAAIAZAAAAp8CsgAMABkAAAEeARUUBgcGKwERMzITPgE1NCYnJi +sBETMyAY59lJp8IzXN0jUVWmdjWRs5d3I4Aq4QqJWUug8EArL9mQ+PeHGHDgX92gAAAAABAGQAAAI +vArIACwAAJRUhESEVIRUhFSEVAi/+NQHB/pUBTf6zRkYCskbwRvAAAAABAGQAAAIlArIACQAAExUh +FSERIxEhFboBQ/69VgHBAmzwRv7KArJGAAAAAAEAL//yAo8CwAAfAAABMxEjNQcGIyImNTQ2MzIWH +wEjJyYjIgYVFBYzMjY1IwGP90wfPnWTprSSf48LAVYCIqJofHllVG+hAU3+s3hARsicn8uAagoKpq +N/gaN1XAAAAAEAZAAAAowCsgALAAABESMRIREjETMRIRECjFb+hFZWAXwCsv1OAS7+0gKy/sQBPAA +AAAABAGQAAAC6ArIAAwAAMyMRM7pWVgKyAAABADf/8gHoArIAEwAAAREUBw4BIyImLwEzFxYzMjc2 +NREB6AIFcGpgbQIBVgIHfXQKAQKy/lYxIltob2EpKYyEFD0BpwAAAAABAGQAAAJ0ArIACwAACQEjA +wcVIxEzEQEzATsBJ3ntQlZWAVVlAWH+nwEnR+ACsv6RAW8AAQBkAAACLwKyAAUAACUVIREzEQIv/j +VWRkYCsv2UAAABAGQAAAMUArIAFAAAAREjETQ3BgcDIwMmJxYVESMRMxsBAxRWAiMxemx8NxsCVo7 +MywKy/U4BY7ZLco7+nAFmoFxLtP6dArL9lwJpAAAAAAEAZAAAAoACsgANAAAhIwEWFREjETMBJjUR +MwKAhP67A1aEAUUDVAJeeov+pwKy/aJ5jAFZAAAAAgAv//ICuwLAAAkAEwAAEiAWFRQGICY1NBIyN +jU0JiIGFRTbATSsrP7MrNrYenrYegLAxaKhxsahov47nIeIm5uIhwACAGQAAAJHArIADgAYAAABHg +EVFAYHBisBESMRMzITNjQnJisBETMyAZRUX2VOHzuAVtY7GlxcGDWIiDUCrgtnVlVpCgT+5gKy/rU +V1BUF/vgAAAACAC//zAK9AsAAEgAcAAAlFhcHJiMiBwYjIiY1NDYgFhUUJRQWMjY1NCYiBgI9PUMx +UDcfKh8omqysATSs/dR62Hp62HpICTg7NgkHxqGixcWitbWHnJyHiJubAAIAZAAAAlgCsgAXACMAA +CUWFyMmJyYnJisBESMRMzIXHgEVFAYHFiUzMjc+ATU0JyYrAQIqDCJfGQwNWhAhglbiOx9QXEY1Tv +6bhDATMj1lGSyMtYgtOXR0BwH+1wKyBApbU0BSESRAAgVAOGoQBAABADT/8gIoAsAAJQAAATIWFyM +uASMiBhUUFhceARUUBiMiJiczHgEzMjY1NCYnLgE1NDYBOmd2ClwGS0E6SUNRdW+HZnKKC1wPWkQ9 +Uk1cZGuEAsBwXUJHNjQ3OhIbZVZZbm5kREo+NT5DFRdYUFdrAAAAAAEAIgAAAmQCsgAHAAABIxEjE +SM1IQJk9lb2AkICbP2UAmxGAAEAXv/yAmQCsgAXAAABERQHDgEiJicmNREzERQXHgEyNjc2NRECZA +IIgfCBCAJWAgZYmlgGAgKy/k0qFFxzc1wUKgGz/lUrEkRQUEQSKwGrAAAAAAEAIAAAAnoCsgAGAAA +hIwMzGwEzAYJ07l3N1FwCsv2PAnEAAAEAGgAAA7ECsgAMAAABAyMLASMDMxsBMxsBA7HAcZyicrZi +kaB0nJkCsv1OAlP9rQKy/ZsCW/2kAmYAAAEAGQAAAm8CsgALAAAhCwEjEwMzGwEzAxMCCsrEY/bkY +re+Y/D6AST+3AFcAVb+5gEa/q3+oQAAAQATAAACUQKyAAgAAAERIxEDMxsBMwFdVvRjwLphARD+8A +EQAaL+sQFPAAABAC4AAAI5ArIACQAAJRUhNQEhNSEVAQI5/fUBof57Aen+YUZGQgIqRkX92QAAAAA +BAGL/sAEFAwwABwAAARUjETMVIxEBBWlpowMMOP0UOANcAAAB//v/4gE0AtAAAwAABSMDMwE0Pvs+ +HgLuAAAAAQAi/7AAxQMMAAcAABcjNTMRIzUzxaNpaaNQOALsOAABAFAA1wH0AmgABgAAJQsBIxMzE +wGwjY1GsESw1wFZ/qcBkf5vAAAAAQAy/6oBwv/iAAMAAAUhNSEBwv5wAZBWOAAAAAEAKQJEALYCsg +ADAAATIycztjhVUAJEbgAAAAACACT/8gHQAiAAHQAlAAAhJwcGIyImNTQ2OwE1NCcmIyIHIz4BMzI +XFh0BFBcnMjY9ASYVFAF6CR0wVUtgkJoiAgdgaQlaBm1Zrg4DCuQ9R+5MOSFQR1tbDiwUUXBUXowf +J8c9SjRORzYSgVwAAAAAAgBK//ICRQLfABEAHgAAATIWFRQGIyImLwEVIxEzETc2EzI2NTQmIyIGH +QEUFgFUcYCVbiNJEyNWVigySElcU01JXmECIJd4i5QTEDRJAt/+3jkq/hRuZV55ZWsdX14AAQAe// +IB9wIgABgAAAEyFhcjJiMiBhUUFjMyNjczDgEjIiY1NDYBF152DFocbEJXU0A1Rw1aE3pbaoKQAiB +oWH5qZm1tPDlaXYuLgZcAAAACAB7/8gIZAt8AEQAeAAABESM1BwYjIiY1NDYzMhYfAREDMjY9ATQm +IyIGFRQWAhlWKDJacYCVbiNJEyOnSV5hQUlcUwLf/SFVOSqXeIuUExA0ARb9VWVrHV9ebmVeeQACA +B7/8gH9AiAAFQAbAAABFAchHgEzMjY3Mw4BIyImNTQ2MzIWJyIGByEmAf0C/oAGUkA1SwlaD4FXbI +WObmt45UBVBwEqDQEYFhNjWD84W16Oh3+akU9aU60AAAEAFQAAARoC8gAWAAATBh0BMxUjESMRIzU +zNTQ3PgEzMhcVJqcDbW1WOTkDB0k8Hx5oAngVITRC/jQBzEIsJRs5PwVHEwAAAAIAHv8uAhkCIAAi +AC8AAAERFAcOASMiLwEzFx4BMzI2NzY9AQcGIyImNTQ2MzIWHwE1AzI2PQE0JiMiBhUUFgIZAQSEd +NwRAVcBBU5DTlUDASgyWnGAlW4jSRMjp0leYUFJXFMCEv5wSh1zeq8KCTI8VU0ZIQk5Kpd4i5QTED +RJ/iJlax1fXm5lXnkAAQBKAAACCgLkABcAAAEWFREjETQnLgEHDgEdASMRMxE3NjMyFgIIAlYCBDs +6RVRWViE5UVViAYUbQP7WASQxGzI7AQJyf+kC5P7TPSxUAAACAD4AAACsAsAABwALAAASMhYUBiIm +NBMjETNeLiAgLiBiVlYCwCAuICAu/WACEgAC//P/LgCnAsAABwAVAAASMhYUBiImNBcRFAcGIyInN +RY3NjURWS4gIC4gYgMLcRwNSgYCAsAgLiAgLo79wCUbZAJGBzMOHgJEAAAAAQBKAAACCALfAAsAAC +EnBxUjETMREzMHEwGTwTJWVvdu9/rgN6kC3/4oAQv6/ugAAQBG//wA3gLfAA8AABMRFBceATcVBiM +iJicmNRGcAQIcIxkkKi4CAQLf/bkhERoSBD4EJC8SNAJKAAAAAQBKAAADEAIgACQAAAEWFREjETQn +JiMiFREjETQnJiMiFREjETMVNzYzMhYXNzYzMhYDCwVWBAxedFYEDF50VlYiJko7ThAvJkpEVAGfI +jn+vAEcQyRZ1v76ARxDJFnW/voCEk08HzYtRB9HAAAAAAEASgAAAgoCIAAWAAABFhURIxE0JyYjIg +YdASMRMxU3NjMyFgIIAlYCCXBEVVZWITlRVWIBhRtA/tYBJDEbbHR/6QISWz0sVAAAAAACAB7/8gI +sAiAABwARAAASIBYUBiAmNBIyNjU0JiIGFRSlAQCHh/8Ah7ieWlqeWgIgn/Cfn/D+s3ZfYHV1YF8A +AgBK/zwCRQIgABEAHgAAATIWFRQGIyImLwERIxEzFTc2EzI2NTQmIyIGHQEUFgFUcYCVbiNJEyNWV +igySElcU01JXmECIJd4i5QTEDT+8wLWVTkq/hRuZV55ZWsdX14AAgAe/zwCGQIgABEAHgAAAREjEQ +cGIyImNTQ2MzIWHwE1AzI2PQE0JiMiBhUUFgIZVigyWnGAlW4jSRMjp0leYUFJXFMCEv0qARk5Kpd +4i5QTEDRJ/iJlax1fXm5lXnkAAQBKAAABPgIeAA0AAAEyFxUmBhURIxEzFTc2ARoWDkdXVlYwIwIe +B0EFVlf+0gISU0cYAAEAGP/yAa0CIAAjAAATMhYXIyYjIgYVFBYXHgEVFAYjIiYnMxYzMjY1NCYnL +gE1NDbkV2MJWhNdKy04PF1XbVhWbgxaE2ktOjlEUllkAiBaS2MrJCUoEBlPQkhOVFZoKCUmLhIWSE +BIUwAAAAEAFP/4ARQCiQAXAAATERQXHgE3FQYjIiYnJjURIzUzNTMVMxWxAQMmMx8qMjMEAUdHVmM +BzP7PGw4mFgY/BSwxDjQBNUJ7e0IAAAABAEL/8gICAhIAFwAAAREjNQcGIyImJyY1ETMRFBceATMy +Nj0BAgJWITlRT2EKBVYEBkA1RFECEv3uWj4qTToiOQE+/tIlJC43c4DpAAAAAAEAAQAAAfwCEgAGA +AABAyMDMxsBAfzJaclfop8CEv3uAhL+LQHTAAABAAEAAAMLAhIADAAAAQMjCwEjAzMbATMbAQMLqW +Z2dmapY3t0a3Z7AhL97gG+/kICEv5AAcD+QwG9AAAB//oAAAHWAhIACwAAARMjJwcjEwMzFzczARq +8ZIuKY763ZoWFYwEO/vLV1QEMAQbNzQAAAQAB/y4B+wISABEAAAEDDgEjIic1FjMyNj8BAzMbAQH7 +2iFZQB8NDRIpNhQH02GenQIS/cFVUAJGASozEwIt/i4B0gABABQAAAGxAg4ACQAAJRUhNQEhNSEVA +QGx/mMBNP7iAYL+zkREQgGIREX+ewAAAAABAED/sAEOAwwALAAAASMiBhUUFxYVFAYHHgEVFAcGFR +QWOwEVIyImNTQ3NjU0JzU2NTQnJjU0NjsBAQ4MKiMLDS4pKS4NCyMqDAtERAwLUlILDERECwLUGBk +WTlsgKzUFBTcrIFtOFhkYOC87GFVMIkUIOAhFIkxVGDsvAAAAAAEAYP84AJoDIAADAAAXIxEzmjo6 +yAPoAAEAIf+wAO8DDAAsAAATFQYVFBcWFRQGKwE1MzI2NTQnJjU0NjcuATU0NzY1NCYrATUzMhYVF +AcGFRTvUgsMREQLDCojCw0uKSkuDQsjKgwLREQMCwF6OAhFIkxVGDsvOBgZFk5bICs1BQU3KyBbTh +YZGDgvOxhVTCJFAAABAE0A3wH2AWQAEwAAATMUIyImJyYjIhUjNDMyFhcWMzIBvjhuGywtQR0xOG4 +bLC1BHTEBZIURGCNMhREYIwAAAwAk/94DIgLoAAcAEQApAAAAIBYQBiAmECQgBhUUFiA2NTQlMhYX +IyYjIgYUFjMyNjczDgEjIiY1NDYBAQFE3d3+vN0CB/7wubkBELn+xVBnD1wSWDo+QTcqOQZcEmZWX +HN2Aujg/rbg4AFKpr+Mjb6+jYxbWEldV5ZZNShLVn5na34AAgB4AFIB9AGeAAUACwAAAQcXIyc3Mw +cXIyc3AUqJiUmJifOJiUmJiQGepqampqampqYAAAIAHAHSAQ4CwAAHAA8AABIyFhQGIiY0NiIGFBY +yNjRgakREakSTNCEhNCECwEJqQkJqCiM4IyM4AAAAAAIAUAAAAfQCCwALAA8AAAEzFSMVIzUjNTM1 +MxMhNSEBP7W1OrW1OrX+XAGkAVs4tLQ4sP31OAAAAQB0AkQBAQKyAAMAABMjNzOsOD1QAkRuAAAAA +AEAIADsAKoBdgAHAAASMhYUBiImNEg6KCg6KAF2KDooKDoAAAIAOQBSAbUBngAFAAsAACUHIzcnMw +UHIzcnMwELiUmJiUkBM4lJiYlJ+KampqampqYAAAABADYB5QDhAt8ABAAAEzczByM2Xk1OXQHv8Po +AAQAWAeUAwQLfAAQAABMHIzczwV5NTl0C1fD6AAIANgHlAYsC3wAEAAkAABM3MwcjPwEzByM2Xk1O +XapeTU5dAe/w+grw+gAAAgAWAeUBawLfAAQACQAAEwcjNzMXByM3M8FeTU5dql5NTl0C1fD6CvD6A +AADACX/8gI1AHIABwAPABcAADYyFhQGIiY0NjIWFAYiJjQ2MhYUBiImNEk4JCQ4JOw4JCQ4JOw4JC +Q4JHIkOCQkOCQkOCQkOCQkOCQkOAAAAAEAeABSAUoBngAFAAABBxcjJzcBSomJSYmJAZ6mpqamAAA +AAAEAOQBSAQsBngAFAAAlByM3JzMBC4lJiYlJ+KampgAAAf9qAAABgQKyAAMAACsBATM/VwHAVwKy +AAAAAAIAFAHIAdwClAAHABQAABMVIxUjNSM1BRUjNwcjJxcjNTMXN9pKMkoByDICKzQqATJLKysCl +CmjoykBy46KiY3Lm5sAAQAVAAABvALyABgAAAERIxEjESMRIzUzNTQ3NjMyFxUmBgcGHQEBvFbCVj +k5AxHHHx5iVgcDAg798gHM/jQBzEIOJRuWBUcIJDAVIRYAAAABABX//AHkAvIAJQAAJR4BNxUGIyI +mJyY1ESYjIgcGHQEzFSMRIxEjNTM1NDc2MzIXERQBowIcIxkkKi4CAR4nXgwDbW1WLy8DEbNdOmYa +EQQ/BCQvEjQCFQZWFSEWQv40AcxCDiUblhP9uSEAAAAAAAAWAQ4AAQAAAAAAAAATACgAAQAAAAAAA +QAHAEwAAQAAAAAAAgAHAGQAAQAAAAAAAwAaAKIAAQAAAAAABAAHAM0AAQAAAAAABQA8AU8AAQAAAA +AABgAPAawAAQAAAAAACAALAdQAAQAAAAAACQALAfgAAQAAAAAACwAXAjQAAQAAAAAADAAXAnwAAwA +BBAkAAAAmAAAAAwABBAkAAQAOADwAAwABBAkAAgAOAFQAAwABBAkAAwA0AGwAAwABBAkABAAOAL0A +AwABBAkABQB4ANUAAwABBAkABgAeAYwAAwABBAkACAAWAbwAAwABBAkACQAWAeAAAwABBAkACwAuA +gQAAwABBAkADAAuAkwATgBvACAAUgBpAGcAaAB0AHMAIABSAGUAcwBlAHIAdgBlAGQALgAATm8gUm +lnaHRzIFJlc2VydmVkLgAAQQBpAGwAZQByAG8AbgAAQWlsZXJvbgAAUgBlAGcAdQBsAGEAcgAAUmV +ndWxhcgAAMQAuADEAMAAyADsAVQBLAFcATgA7AEEAaQBsAGUAcgBvAG4ALQBSAGUAZwB1AGwAYQBy +AAAxLjEwMjtVS1dOO0FpbGVyb24tUmVndWxhcgAAQQBpAGwAZQByAG8AbgAAQWlsZXJvbgAAVgBlA +HIAcwBpAG8AbgAgADEALgAxADAAMgA7AFAAUwAgADAAMAAxAC4AMQAwADIAOwBoAG8AdABjAG8Abg +B2ACAAMQAuADAALgA3ADAAOwBtAGEAawBlAG8AdABmAC4AbABpAGIAMgAuADUALgA1ADgAMwAyADk +AAFZlcnNpb24gMS4xMDI7UFMgMDAxLjEwMjtob3Rjb252IDEuMC43MDttYWtlb3RmLmxpYjIuNS41 +ODMyOQAAQQBpAGwAZQByAG8AbgAtAFIAZQBnAHUAbABhAHIAAEFpbGVyb24tUmVndWxhcgAAUwBvA +HIAYQAgAFMAYQBnAGEAbgBvAABTb3JhIFNhZ2FubwAAUwBvAHIAYQAgAFMAYQBnAGEAbgBvAABTb3 +JhIFNhZ2FubwAAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGQAbwB0AGMAbwBsAG8AbgAuAG4AZQB0AAB +odHRwOi8vd3d3LmRvdGNvbG9uLm5ldAAAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGQAbwB0AGMAbwBs +AG8AbgAuAG4AZQB0AABodHRwOi8vd3d3LmRvdGNvbG9uLm5ldAAAAAACAAAAAAAA/4MAMgAAAAAAA +AAAAAAAAAAAAAAAAAAAAHQAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATAB +QAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAA +xADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0A +TgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAIsAqQCDAJMAjQDDAKoAtgC3A +LQAtQCrAL4AvwC8AIwAwADBAAAAAAAB//8AAgABAAAADAAAABwAAAACAAIAAwBxAAEAcgBzAAIABA +AAAAIAAAABAAAACgBMAGYAAkRGTFQADmxhdG4AGgAEAAAAAP//AAEAAAAWAANDQVQgAB5NT0wgABZ +ST00gABYAAP//AAEAAAAA//8AAgAAAAEAAmxpZ2EADmxvY2wAFAAAAAEAAQAAAAEAAAACAAYAEAAG +AAAAAgASADQABAAAAAEATAADAAAAAgAQABYAAQAcAAAAAQABAE8AAQABAGcAAQABAE8AAwAAAAIAE +AAWAAEAHAAAAAEAAQAvAAEAAQBnAAEAAQAvAAEAGgABAAgAAgAGAAwAcwACAE8AcgACAEwAAQABAE +kAAAABAAAACgBGAGAAAkRGTFQADmxhdG4AHAAEAAAAAP//AAIAAAABABYAA0NBVCAAFk1PTCAAFlJ +PTSAAFgAA//8AAgAAAAEAAmNwc3AADmtlcm4AFAAAAAEAAAAAAAEAAQACAAYADgABAAAAAQASAAIA +AAACAB4ANgABAAoABQAFAAoAAgABACQAPQAAAAEAEgAEAAAAAQAMAAEAOP/nAAEAAQAkAAIGigAEA +AAFJAXKABoAGQAA//gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAD/sv+4/+z/7v/MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAD/xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9T/6AAAAAD/8QAA +ABD/vQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7gAAAAAAAAAAAAAAAAAA//MAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAP/5AAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/gAAD/4AAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//L/9AAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAA/+gAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/zAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/mAAAAAAAAAAAAAAAAAAD +/4gAA//AAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+AAAAAAAAP/OAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/zv/qAAAAAP/0AAAACAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/ZAAD/egAA/1kAAAAA/5D/rgAAAAAAAAAAAA +AAAAAAAAAAAAAAAAD/9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAD/8AAA/7b/8P+wAAD/8P/E/98AAAAA/8P/+P/0//oAAAAAAAAAAAAA//gA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/w//C/9MAAP/SAAD/9wAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAD/yAAA/+kAAAAA//QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9wAAAAD//QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAP/cAAAAAAAAAAAAAAAA/7YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAP/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6AAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAkAFAAEAAAAAQACwAAABcA +BgAAAAAAAAAIAA4AAAAAAAsAEgAAAAAAAAATABkAAwANAAAAAQAJAAAAAAAAAAAAAAAAAAAAGAAAA +AAABwAAAAAAAAAAAAAAFQAFAAAAAAAYABgAAAAUAAAACgAAAAwAAgAPABEAFgAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAEAEQBdAAYAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAcAAAAAAAAABwAAAAAACAAAAAAAAAAAAAcAAAAHAAAAEwAJ +ABUADgAPAAAACwAQAAAAAAAAAAAAAAAAAAUAGAACAAIAAgAAAAIAGAAXAAAAGAAAABYAFgACABYAA +gAWAAAAEQADAAoAFAAMAA0ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEgAGAAEAHgAkAC +YAJwApACoALQAuAC8AMgAzADcAOAA5ADoAPAA9AEUASABOAE8AUgBTAFUAVwBZAFoAWwBcAF0AcwA +AAAAAAQAAAADa3tfFAAAAANAan9kAAAAA4QodoQ== +""" + ) + ), + 10 if size is None else size, + layout_engine=Layout.BASIC, + ) + return load_default_imagefont() diff --git a/venv/Lib/site-packages/PIL/ImageGrab.py b/venv/Lib/site-packages/PIL/ImageGrab.py new file mode 100644 index 00000000..e27ca7e5 --- /dev/null +++ b/venv/Lib/site-packages/PIL/ImageGrab.py @@ -0,0 +1,194 @@ +# +# The Python Imaging Library +# $Id$ +# +# screen grabber +# +# History: +# 2001-04-26 fl created +# 2001-09-17 fl use builtin driver, if present +# 2002-11-19 fl added grabclipboard support +# +# Copyright (c) 2001-2002 by Secret Labs AB +# Copyright (c) 2001-2002 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io +import os +import shutil +import subprocess +import sys +import tempfile + +from . import Image + + +def grab( + bbox: tuple[int, int, int, int] | None = None, + include_layered_windows: bool = False, + all_screens: bool = False, + xdisplay: str | None = None, +) -> Image.Image: + im: Image.Image + if xdisplay is None: + if sys.platform == "darwin": + fh, filepath = tempfile.mkstemp(".png") + os.close(fh) + args = ["screencapture"] + if bbox: + left, top, right, bottom = bbox + args += ["-R", f"{left},{top},{right-left},{bottom-top}"] + subprocess.call(args + ["-x", filepath]) + im = Image.open(filepath) + im.load() + os.unlink(filepath) + if bbox: + im_resized = im.resize((right - left, bottom - top)) + im.close() + return im_resized + return im + elif sys.platform == "win32": + offset, size, data = Image.core.grabscreen_win32( + include_layered_windows, all_screens + ) + im = Image.frombytes( + "RGB", + size, + data, + # RGB, 32-bit line padding, origin lower left corner + "raw", + "BGR", + (size[0] * 3 + 3) & -4, + -1, + ) + if bbox: + x0, y0 = offset + left, top, right, bottom = bbox + im = im.crop((left - x0, top - y0, right - x0, bottom - y0)) + return im + # Cast to Optional[str] needed for Windows and macOS. + display_name: str | None = xdisplay + try: + if not Image.core.HAVE_XCB: + msg = "Pillow was built without XCB support" + raise OSError(msg) + size, data = Image.core.grabscreen_x11(display_name) + except OSError: + if ( + display_name is None + and sys.platform not in ("darwin", "win32") + and shutil.which("gnome-screenshot") + ): + fh, filepath = tempfile.mkstemp(".png") + os.close(fh) + subprocess.call(["gnome-screenshot", "-f", filepath]) + im = Image.open(filepath) + im.load() + os.unlink(filepath) + if bbox: + im_cropped = im.crop(bbox) + im.close() + return im_cropped + return im + else: + raise + else: + im = Image.frombytes("RGB", size, data, "raw", "BGRX", size[0] * 4, 1) + if bbox: + im = im.crop(bbox) + return im + + +def grabclipboard() -> Image.Image | list[str] | None: + if sys.platform == "darwin": + fh, filepath = tempfile.mkstemp(".png") + os.close(fh) + commands = [ + 'set theFile to (open for access POSIX file "' + + filepath + + '" with write permission)', + "try", + " write (the clipboard as «class PNGf») to theFile", + "end try", + "close access theFile", + ] + script = ["osascript"] + for command in commands: + script += ["-e", command] + subprocess.call(script) + + im = None + if os.stat(filepath).st_size != 0: + im = Image.open(filepath) + im.load() + os.unlink(filepath) + return im + elif sys.platform == "win32": + fmt, data = Image.core.grabclipboard_win32() + if fmt == "file": # CF_HDROP + import struct + + o = struct.unpack_from("I", data)[0] + if data[16] != 0: + files = data[o:].decode("utf-16le").split("\0") + else: + files = data[o:].decode("mbcs").split("\0") + return files[: files.index("")] + if isinstance(data, bytes): + data = io.BytesIO(data) + if fmt == "png": + from . import PngImagePlugin + + return PngImagePlugin.PngImageFile(data) + elif fmt == "DIB": + from . import BmpImagePlugin + + return BmpImagePlugin.DibImageFile(data) + return None + else: + if os.getenv("WAYLAND_DISPLAY"): + session_type = "wayland" + elif os.getenv("DISPLAY"): + session_type = "x11" + else: # Session type check failed + session_type = None + + if shutil.which("wl-paste") and session_type in ("wayland", None): + args = ["wl-paste", "-t", "image"] + elif shutil.which("xclip") and session_type in ("x11", None): + args = ["xclip", "-selection", "clipboard", "-t", "image/png", "-o"] + else: + msg = "wl-paste or xclip is required for ImageGrab.grabclipboard() on Linux" + raise NotImplementedError(msg) + + p = subprocess.run(args, capture_output=True) + if p.returncode != 0: + err = p.stderr + for silent_error in [ + # wl-paste, when the clipboard is empty + b"Nothing is copied", + # Ubuntu/Debian wl-paste, when the clipboard is empty + b"No selection", + # Ubuntu/Debian wl-paste, when an image isn't available + b"No suitable type of content copied", + # wl-paste or Ubuntu/Debian xclip, when an image isn't available + b" not available", + # xclip, when an image isn't available + b"cannot convert ", + # xclip, when the clipboard isn't initialized + b"xclip: Error: There is no owner for the ", + ]: + if silent_error in err: + return None + msg = f"{args[0]} error" + if err: + msg += f": {err.strip().decode()}" + raise ChildProcessError(msg) + + data = io.BytesIO(p.stdout) + im = Image.open(data) + im.load() + return im diff --git a/venv/Lib/site-packages/PIL/ImageMath.py b/venv/Lib/site-packages/PIL/ImageMath.py new file mode 100644 index 00000000..484797f9 --- /dev/null +++ b/venv/Lib/site-packages/PIL/ImageMath.py @@ -0,0 +1,368 @@ +# +# The Python Imaging Library +# $Id$ +# +# a simple math add-on for the Python Imaging Library +# +# History: +# 1999-02-15 fl Original PIL Plus release +# 2005-05-05 fl Simplified and cleaned up for PIL 1.1.6 +# 2005-09-12 fl Fixed int() and float() for Python 2.4.1 +# +# Copyright (c) 1999-2005 by Secret Labs AB +# Copyright (c) 2005 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import builtins +from types import CodeType +from typing import Any, Callable + +from . import Image, _imagingmath +from ._deprecate import deprecate + + +class _Operand: + """Wraps an image operand, providing standard operators""" + + def __init__(self, im: Image.Image): + self.im = im + + def __fixup(self, im1: _Operand | float) -> Image.Image: + # convert image to suitable mode + if isinstance(im1, _Operand): + # argument was an image. + if im1.im.mode in ("1", "L"): + return im1.im.convert("I") + elif im1.im.mode in ("I", "F"): + return im1.im + else: + msg = f"unsupported mode: {im1.im.mode}" + raise ValueError(msg) + else: + # argument was a constant + if isinstance(im1, (int, float)) and self.im.mode in ("1", "L", "I"): + return Image.new("I", self.im.size, im1) + else: + return Image.new("F", self.im.size, im1) + + def apply( + self, + op: str, + im1: _Operand | float, + im2: _Operand | float | None = None, + mode: str | None = None, + ) -> _Operand: + im_1 = self.__fixup(im1) + if im2 is None: + # unary operation + out = Image.new(mode or im_1.mode, im_1.size, None) + try: + op = getattr(_imagingmath, f"{op}_{im_1.mode}") + except AttributeError as e: + msg = f"bad operand type for '{op}'" + raise TypeError(msg) from e + _imagingmath.unop(op, out.getim(), im_1.getim()) + else: + # binary operation + im_2 = self.__fixup(im2) + if im_1.mode != im_2.mode: + # convert both arguments to floating point + if im_1.mode != "F": + im_1 = im_1.convert("F") + if im_2.mode != "F": + im_2 = im_2.convert("F") + if im_1.size != im_2.size: + # crop both arguments to a common size + size = ( + min(im_1.size[0], im_2.size[0]), + min(im_1.size[1], im_2.size[1]), + ) + if im_1.size != size: + im_1 = im_1.crop((0, 0) + size) + if im_2.size != size: + im_2 = im_2.crop((0, 0) + size) + out = Image.new(mode or im_1.mode, im_1.size, None) + try: + op = getattr(_imagingmath, f"{op}_{im_1.mode}") + except AttributeError as e: + msg = f"bad operand type for '{op}'" + raise TypeError(msg) from e + _imagingmath.binop(op, out.getim(), im_1.getim(), im_2.getim()) + return _Operand(out) + + # unary operators + def __bool__(self) -> bool: + # an image is "true" if it contains at least one non-zero pixel + return self.im.getbbox() is not None + + def __abs__(self) -> _Operand: + return self.apply("abs", self) + + def __pos__(self) -> _Operand: + return self + + def __neg__(self) -> _Operand: + return self.apply("neg", self) + + # binary operators + def __add__(self, other: _Operand | float) -> _Operand: + return self.apply("add", self, other) + + def __radd__(self, other: _Operand | float) -> _Operand: + return self.apply("add", other, self) + + def __sub__(self, other: _Operand | float) -> _Operand: + return self.apply("sub", self, other) + + def __rsub__(self, other: _Operand | float) -> _Operand: + return self.apply("sub", other, self) + + def __mul__(self, other: _Operand | float) -> _Operand: + return self.apply("mul", self, other) + + def __rmul__(self, other: _Operand | float) -> _Operand: + return self.apply("mul", other, self) + + def __truediv__(self, other: _Operand | float) -> _Operand: + return self.apply("div", self, other) + + def __rtruediv__(self, other: _Operand | float) -> _Operand: + return self.apply("div", other, self) + + def __mod__(self, other: _Operand | float) -> _Operand: + return self.apply("mod", self, other) + + def __rmod__(self, other: _Operand | float) -> _Operand: + return self.apply("mod", other, self) + + def __pow__(self, other: _Operand | float) -> _Operand: + return self.apply("pow", self, other) + + def __rpow__(self, other: _Operand | float) -> _Operand: + return self.apply("pow", other, self) + + # bitwise + def __invert__(self) -> _Operand: + return self.apply("invert", self) + + def __and__(self, other: _Operand | float) -> _Operand: + return self.apply("and", self, other) + + def __rand__(self, other: _Operand | float) -> _Operand: + return self.apply("and", other, self) + + def __or__(self, other: _Operand | float) -> _Operand: + return self.apply("or", self, other) + + def __ror__(self, other: _Operand | float) -> _Operand: + return self.apply("or", other, self) + + def __xor__(self, other: _Operand | float) -> _Operand: + return self.apply("xor", self, other) + + def __rxor__(self, other: _Operand | float) -> _Operand: + return self.apply("xor", other, self) + + def __lshift__(self, other: _Operand | float) -> _Operand: + return self.apply("lshift", self, other) + + def __rshift__(self, other: _Operand | float) -> _Operand: + return self.apply("rshift", self, other) + + # logical + def __eq__(self, other: _Operand | float) -> _Operand: # type: ignore[override] + return self.apply("eq", self, other) + + def __ne__(self, other: _Operand | float) -> _Operand: # type: ignore[override] + return self.apply("ne", self, other) + + def __lt__(self, other: _Operand | float) -> _Operand: + return self.apply("lt", self, other) + + def __le__(self, other: _Operand | float) -> _Operand: + return self.apply("le", self, other) + + def __gt__(self, other: _Operand | float) -> _Operand: + return self.apply("gt", self, other) + + def __ge__(self, other: _Operand | float) -> _Operand: + return self.apply("ge", self, other) + + +# conversions +def imagemath_int(self: _Operand) -> _Operand: + return _Operand(self.im.convert("I")) + + +def imagemath_float(self: _Operand) -> _Operand: + return _Operand(self.im.convert("F")) + + +# logical +def imagemath_equal(self: _Operand, other: _Operand | float | None) -> _Operand: + return self.apply("eq", self, other, mode="I") + + +def imagemath_notequal(self: _Operand, other: _Operand | float | None) -> _Operand: + return self.apply("ne", self, other, mode="I") + + +def imagemath_min(self: _Operand, other: _Operand | float | None) -> _Operand: + return self.apply("min", self, other) + + +def imagemath_max(self: _Operand, other: _Operand | float | None) -> _Operand: + return self.apply("max", self, other) + + +def imagemath_convert(self: _Operand, mode: str) -> _Operand: + return _Operand(self.im.convert(mode)) + + +ops = { + "int": imagemath_int, + "float": imagemath_float, + "equal": imagemath_equal, + "notequal": imagemath_notequal, + "min": imagemath_min, + "max": imagemath_max, + "convert": imagemath_convert, +} + + +def lambda_eval( + expression: Callable[[dict[str, Any]], Any], + options: dict[str, Any] = {}, + **kw: Any, +) -> Any: + """ + Returns the result of an image function. + + :py:mod:`~PIL.ImageMath` only supports single-layer images. To process multi-band + images, use the :py:meth:`~PIL.Image.Image.split` method or + :py:func:`~PIL.Image.merge` function. + + :param expression: A function that receives a dictionary. + :param options: Values to add to the function's dictionary. Deprecated. + You can instead use one or more keyword arguments. + :param **kw: Values to add to the function's dictionary. + :return: The expression result. This is usually an image object, but can + also be an integer, a floating point value, or a pixel tuple, + depending on the expression. + """ + + if options: + deprecate( + "ImageMath.lambda_eval options", + 12, + "ImageMath.lambda_eval keyword arguments", + ) + + args: dict[str, Any] = ops.copy() + args.update(options) + args.update(kw) + for k, v in args.items(): + if isinstance(v, Image.Image): + args[k] = _Operand(v) + + out = expression(args) + try: + return out.im + except AttributeError: + return out + + +def unsafe_eval( + expression: str, + options: dict[str, Any] = {}, + **kw: Any, +) -> Any: + """ + Evaluates an image expression. This uses Python's ``eval()`` function to process + the expression string, and carries the security risks of doing so. It is not + recommended to process expressions without considering this. + :py:meth:`~lambda_eval` is a more secure alternative. + + :py:mod:`~PIL.ImageMath` only supports single-layer images. To process multi-band + images, use the :py:meth:`~PIL.Image.Image.split` method or + :py:func:`~PIL.Image.merge` function. + + :param expression: A string containing a Python-style expression. + :param options: Values to add to the evaluation context. Deprecated. + You can instead use one or more keyword arguments. + :param **kw: Values to add to the evaluation context. + :return: The evaluated expression. This is usually an image object, but can + also be an integer, a floating point value, or a pixel tuple, + depending on the expression. + """ + + if options: + deprecate( + "ImageMath.unsafe_eval options", + 12, + "ImageMath.unsafe_eval keyword arguments", + ) + + # build execution namespace + args: dict[str, Any] = ops.copy() + for k in list(options.keys()) + list(kw.keys()): + if "__" in k or hasattr(builtins, k): + msg = f"'{k}' not allowed" + raise ValueError(msg) + + args.update(options) + args.update(kw) + for k, v in args.items(): + if isinstance(v, Image.Image): + args[k] = _Operand(v) + + compiled_code = compile(expression, "", "eval") + + def scan(code: CodeType) -> None: + for const in code.co_consts: + if type(const) is type(compiled_code): + scan(const) + + for name in code.co_names: + if name not in args and name != "abs": + msg = f"'{name}' not allowed" + raise ValueError(msg) + + scan(compiled_code) + out = builtins.eval(expression, {"__builtins": {"abs": abs}}, args) + try: + return out.im + except AttributeError: + return out + + +def eval( + expression: str, + _dict: dict[str, Any] = {}, + **kw: Any, +) -> Any: + """ + Evaluates an image expression. + + Deprecated. Use lambda_eval() or unsafe_eval() instead. + + :param expression: A string containing a Python-style expression. + :param _dict: Values to add to the evaluation context. You + can either use a dictionary, or one or more keyword + arguments. + :return: The evaluated expression. This is usually an image object, but can + also be an integer, a floating point value, or a pixel tuple, + depending on the expression. + + .. deprecated:: 10.3.0 + """ + + deprecate( + "ImageMath.eval", + 12, + "ImageMath.lambda_eval or ImageMath.unsafe_eval", + ) + return unsafe_eval(expression, _dict, **kw) diff --git a/venv/Lib/site-packages/PIL/ImageMode.py b/venv/Lib/site-packages/PIL/ImageMode.py new file mode 100644 index 00000000..92a08d2c --- /dev/null +++ b/venv/Lib/site-packages/PIL/ImageMode.py @@ -0,0 +1,92 @@ +# +# The Python Imaging Library. +# $Id$ +# +# standard mode descriptors +# +# History: +# 2006-03-20 fl Added +# +# Copyright (c) 2006 by Secret Labs AB. +# Copyright (c) 2006 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import sys +from functools import lru_cache +from typing import NamedTuple + +from ._deprecate import deprecate + + +class ModeDescriptor(NamedTuple): + """Wrapper for mode strings.""" + + mode: str + bands: tuple[str, ...] + basemode: str + basetype: str + typestr: str + + def __str__(self) -> str: + return self.mode + + +@lru_cache +def getmode(mode: str) -> ModeDescriptor: + """Gets a mode descriptor for the given mode.""" + endian = "<" if sys.byteorder == "little" else ">" + + modes = { + # core modes + # Bits need to be extended to bytes + "1": ("L", "L", ("1",), "|b1"), + "L": ("L", "L", ("L",), "|u1"), + "I": ("L", "I", ("I",), f"{endian}i4"), + "F": ("L", "F", ("F",), f"{endian}f4"), + "P": ("P", "L", ("P",), "|u1"), + "RGB": ("RGB", "L", ("R", "G", "B"), "|u1"), + "RGBX": ("RGB", "L", ("R", "G", "B", "X"), "|u1"), + "RGBA": ("RGB", "L", ("R", "G", "B", "A"), "|u1"), + "CMYK": ("RGB", "L", ("C", "M", "Y", "K"), "|u1"), + "YCbCr": ("RGB", "L", ("Y", "Cb", "Cr"), "|u1"), + # UNDONE - unsigned |u1i1i1 + "LAB": ("RGB", "L", ("L", "A", "B"), "|u1"), + "HSV": ("RGB", "L", ("H", "S", "V"), "|u1"), + # extra experimental modes + "RGBa": ("RGB", "L", ("R", "G", "B", "a"), "|u1"), + "BGR;15": ("RGB", "L", ("B", "G", "R"), "|u1"), + "BGR;16": ("RGB", "L", ("B", "G", "R"), "|u1"), + "BGR;24": ("RGB", "L", ("B", "G", "R"), "|u1"), + "LA": ("L", "L", ("L", "A"), "|u1"), + "La": ("L", "L", ("L", "a"), "|u1"), + "PA": ("RGB", "L", ("P", "A"), "|u1"), + } + if mode in modes: + if mode in ("BGR;15", "BGR;16", "BGR;24"): + deprecate(mode, 12) + base_mode, base_type, bands, type_str = modes[mode] + return ModeDescriptor(mode, bands, base_mode, base_type, type_str) + + mapping_modes = { + # I;16 == I;16L, and I;32 == I;32L + "I;16": "u2", + "I;16BS": ">i2", + "I;16N": f"{endian}u2", + "I;16NS": f"{endian}i2", + "I;32": "u4", + "I;32L": "i4", + "I;32LS": " +from __future__ import annotations + +import re + +from . import Image, _imagingmorph + +LUT_SIZE = 1 << 9 + +# fmt: off +ROTATION_MATRIX = [ + 6, 3, 0, + 7, 4, 1, + 8, 5, 2, +] +MIRROR_MATRIX = [ + 2, 1, 0, + 5, 4, 3, + 8, 7, 6, +] +# fmt: on + + +class LutBuilder: + """A class for building a MorphLut from a descriptive language + + The input patterns is a list of a strings sequences like these:: + + 4:(... + .1. + 111)->1 + + (whitespaces including linebreaks are ignored). The option 4 + describes a series of symmetry operations (in this case a + 4-rotation), the pattern is described by: + + - . or X - Ignore + - 1 - Pixel is on + - 0 - Pixel is off + + The result of the operation is described after "->" string. + + The default is to return the current pixel value, which is + returned if no other match is found. + + Operations: + + - 4 - 4 way rotation + - N - Negate + - 1 - Dummy op for no other operation (an op must always be given) + - M - Mirroring + + Example:: + + lb = LutBuilder(patterns = ["4:(... .1. 111)->1"]) + lut = lb.build_lut() + + """ + + def __init__( + self, patterns: list[str] | None = None, op_name: str | None = None + ) -> None: + if patterns is not None: + self.patterns = patterns + else: + self.patterns = [] + self.lut: bytearray | None = None + if op_name is not None: + known_patterns = { + "corner": ["1:(... ... ...)->0", "4:(00. 01. ...)->1"], + "dilation4": ["4:(... .0. .1.)->1"], + "dilation8": ["4:(... .0. .1.)->1", "4:(... .0. ..1)->1"], + "erosion4": ["4:(... .1. .0.)->0"], + "erosion8": ["4:(... .1. .0.)->0", "4:(... .1. ..0)->0"], + "edge": [ + "1:(... ... ...)->0", + "4:(.0. .1. ...)->1", + "4:(01. .1. ...)->1", + ], + } + if op_name not in known_patterns: + msg = f"Unknown pattern {op_name}!" + raise Exception(msg) + + self.patterns = known_patterns[op_name] + + def add_patterns(self, patterns: list[str]) -> None: + self.patterns += patterns + + def build_default_lut(self) -> None: + symbols = [0, 1] + m = 1 << 4 # pos of current pixel + self.lut = bytearray(symbols[(i & m) > 0] for i in range(LUT_SIZE)) + + def get_lut(self) -> bytearray | None: + return self.lut + + def _string_permute(self, pattern: str, permutation: list[int]) -> str: + """string_permute takes a pattern and a permutation and returns the + string permuted according to the permutation list. + """ + assert len(permutation) == 9 + return "".join(pattern[p] for p in permutation) + + def _pattern_permute( + self, basic_pattern: str, options: str, basic_result: int + ) -> list[tuple[str, int]]: + """pattern_permute takes a basic pattern and its result and clones + the pattern according to the modifications described in the $options + parameter. It returns a list of all cloned patterns.""" + patterns = [(basic_pattern, basic_result)] + + # rotations + if "4" in options: + res = patterns[-1][1] + for i in range(4): + patterns.append( + (self._string_permute(patterns[-1][0], ROTATION_MATRIX), res) + ) + # mirror + if "M" in options: + n = len(patterns) + for pattern, res in patterns[:n]: + patterns.append((self._string_permute(pattern, MIRROR_MATRIX), res)) + + # negate + if "N" in options: + n = len(patterns) + for pattern, res in patterns[:n]: + # Swap 0 and 1 + pattern = pattern.replace("0", "Z").replace("1", "0").replace("Z", "1") + res = 1 - int(res) + patterns.append((pattern, res)) + + return patterns + + def build_lut(self) -> bytearray: + """Compile all patterns into a morphology lut. + + TBD :Build based on (file) morphlut:modify_lut + """ + self.build_default_lut() + assert self.lut is not None + patterns = [] + + # Parse and create symmetries of the patterns strings + for p in self.patterns: + m = re.search(r"(\w*):?\s*\((.+?)\)\s*->\s*(\d)", p.replace("\n", "")) + if not m: + msg = 'Syntax error in pattern "' + p + '"' + raise Exception(msg) + options = m.group(1) + pattern = m.group(2) + result = int(m.group(3)) + + # Get rid of spaces + pattern = pattern.replace(" ", "").replace("\n", "") + + patterns += self._pattern_permute(pattern, options, result) + + # compile the patterns into regular expressions for speed + compiled_patterns = [] + for pattern in patterns: + p = pattern[0].replace(".", "X").replace("X", "[01]") + compiled_patterns.append((re.compile(p), pattern[1])) + + # Step through table and find patterns that match. + # Note that all the patterns are searched. The last one + # caught overrides + for i in range(LUT_SIZE): + # Build the bit pattern + bitpattern = bin(i)[2:] + bitpattern = ("0" * (9 - len(bitpattern)) + bitpattern)[::-1] + + for pattern, r in compiled_patterns: + if pattern.match(bitpattern): + self.lut[i] = [0, 1][r] + + return self.lut + + +class MorphOp: + """A class for binary morphological operators""" + + def __init__( + self, + lut: bytearray | None = None, + op_name: str | None = None, + patterns: list[str] | None = None, + ) -> None: + """Create a binary morphological operator""" + self.lut = lut + if op_name is not None: + self.lut = LutBuilder(op_name=op_name).build_lut() + elif patterns is not None: + self.lut = LutBuilder(patterns=patterns).build_lut() + + def apply(self, image: Image.Image) -> tuple[int, Image.Image]: + """Run a single morphological operation on an image + + Returns a tuple of the number of changed pixels and the + morphed image""" + if self.lut is None: + msg = "No operator loaded" + raise Exception(msg) + + if image.mode != "L": + msg = "Image mode must be L" + raise ValueError(msg) + outimage = Image.new(image.mode, image.size, None) + count = _imagingmorph.apply(bytes(self.lut), image.getim(), outimage.getim()) + return count, outimage + + def match(self, image: Image.Image) -> list[tuple[int, int]]: + """Get a list of coordinates matching the morphological operation on + an image. + + Returns a list of tuples of (x,y) coordinates + of all matching pixels. See :ref:`coordinate-system`.""" + if self.lut is None: + msg = "No operator loaded" + raise Exception(msg) + + if image.mode != "L": + msg = "Image mode must be L" + raise ValueError(msg) + return _imagingmorph.match(bytes(self.lut), image.getim()) + + def get_on_pixels(self, image: Image.Image) -> list[tuple[int, int]]: + """Get a list of all turned on pixels in a binary image + + Returns a list of tuples of (x,y) coordinates + of all matching pixels. See :ref:`coordinate-system`.""" + + if image.mode != "L": + msg = "Image mode must be L" + raise ValueError(msg) + return _imagingmorph.get_on_pixels(image.getim()) + + def load_lut(self, filename: str) -> None: + """Load an operator from an mrl file""" + with open(filename, "rb") as f: + self.lut = bytearray(f.read()) + + if len(self.lut) != LUT_SIZE: + self.lut = None + msg = "Wrong size operator file!" + raise Exception(msg) + + def save_lut(self, filename: str) -> None: + """Save an operator to an mrl file""" + if self.lut is None: + msg = "No operator loaded" + raise Exception(msg) + with open(filename, "wb") as f: + f.write(self.lut) + + def set_lut(self, lut: bytearray | None) -> None: + """Set the lut from an external source""" + self.lut = lut diff --git a/venv/Lib/site-packages/PIL/ImageOps.py b/venv/Lib/site-packages/PIL/ImageOps.py new file mode 100644 index 00000000..44aad0c3 --- /dev/null +++ b/venv/Lib/site-packages/PIL/ImageOps.py @@ -0,0 +1,730 @@ +# +# The Python Imaging Library. +# $Id$ +# +# standard image operations +# +# History: +# 2001-10-20 fl Created +# 2001-10-23 fl Added autocontrast operator +# 2001-12-18 fl Added Kevin's fit operator +# 2004-03-14 fl Fixed potential division by zero in equalize +# 2005-05-05 fl Fixed equalize for low number of values +# +# Copyright (c) 2001-2004 by Secret Labs AB +# Copyright (c) 2001-2004 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import functools +import operator +import re +from collections.abc import Sequence +from typing import Protocol, cast + +from . import ExifTags, Image, ImagePalette + +# +# helpers + + +def _border(border: int | tuple[int, ...]) -> tuple[int, int, int, int]: + if isinstance(border, tuple): + if len(border) == 2: + left, top = right, bottom = border + elif len(border) == 4: + left, top, right, bottom = border + else: + left = top = right = bottom = border + return left, top, right, bottom + + +def _color(color: str | int | tuple[int, ...], mode: str) -> int | tuple[int, ...]: + if isinstance(color, str): + from . import ImageColor + + color = ImageColor.getcolor(color, mode) + return color + + +def _lut(image: Image.Image, lut: list[int]) -> Image.Image: + if image.mode == "P": + # FIXME: apply to lookup table, not image data + msg = "mode P support coming soon" + raise NotImplementedError(msg) + elif image.mode in ("L", "RGB"): + if image.mode == "RGB" and len(lut) == 256: + lut = lut + lut + lut + return image.point(lut) + else: + msg = f"not supported for mode {image.mode}" + raise OSError(msg) + + +# +# actions + + +def autocontrast( + image: Image.Image, + cutoff: float | tuple[float, float] = 0, + ignore: int | Sequence[int] | None = None, + mask: Image.Image | None = None, + preserve_tone: bool = False, +) -> Image.Image: + """ + Maximize (normalize) image contrast. This function calculates a + histogram of the input image (or mask region), removes ``cutoff`` percent of the + lightest and darkest pixels from the histogram, and remaps the image + so that the darkest pixel becomes black (0), and the lightest + becomes white (255). + + :param image: The image to process. + :param cutoff: The percent to cut off from the histogram on the low and + high ends. Either a tuple of (low, high), or a single + number for both. + :param ignore: The background pixel value (use None for no background). + :param mask: Histogram used in contrast operation is computed using pixels + within the mask. If no mask is given the entire image is used + for histogram computation. + :param preserve_tone: Preserve image tone in Photoshop-like style autocontrast. + + .. versionadded:: 8.2.0 + + :return: An image. + """ + if preserve_tone: + histogram = image.convert("L").histogram(mask) + else: + histogram = image.histogram(mask) + + lut = [] + for layer in range(0, len(histogram), 256): + h = histogram[layer : layer + 256] + if ignore is not None: + # get rid of outliers + if isinstance(ignore, int): + h[ignore] = 0 + else: + for ix in ignore: + h[ix] = 0 + if cutoff: + # cut off pixels from both ends of the histogram + if not isinstance(cutoff, tuple): + cutoff = (cutoff, cutoff) + # get number of pixels + n = 0 + for ix in range(256): + n = n + h[ix] + # remove cutoff% pixels from the low end + cut = int(n * cutoff[0] // 100) + for lo in range(256): + if cut > h[lo]: + cut = cut - h[lo] + h[lo] = 0 + else: + h[lo] -= cut + cut = 0 + if cut <= 0: + break + # remove cutoff% samples from the high end + cut = int(n * cutoff[1] // 100) + for hi in range(255, -1, -1): + if cut > h[hi]: + cut = cut - h[hi] + h[hi] = 0 + else: + h[hi] -= cut + cut = 0 + if cut <= 0: + break + # find lowest/highest samples after preprocessing + for lo in range(256): + if h[lo]: + break + for hi in range(255, -1, -1): + if h[hi]: + break + if hi <= lo: + # don't bother + lut.extend(list(range(256))) + else: + scale = 255.0 / (hi - lo) + offset = -lo * scale + for ix in range(256): + ix = int(ix * scale + offset) + if ix < 0: + ix = 0 + elif ix > 255: + ix = 255 + lut.append(ix) + return _lut(image, lut) + + +def colorize( + image: Image.Image, + black: str | tuple[int, ...], + white: str | tuple[int, ...], + mid: str | int | tuple[int, ...] | None = None, + blackpoint: int = 0, + whitepoint: int = 255, + midpoint: int = 127, +) -> Image.Image: + """ + Colorize grayscale image. + This function calculates a color wedge which maps all black pixels in + the source image to the first color and all white pixels to the + second color. If ``mid`` is specified, it uses three-color mapping. + The ``black`` and ``white`` arguments should be RGB tuples or color names; + optionally you can use three-color mapping by also specifying ``mid``. + Mapping positions for any of the colors can be specified + (e.g. ``blackpoint``), where these parameters are the integer + value corresponding to where the corresponding color should be mapped. + These parameters must have logical order, such that + ``blackpoint <= midpoint <= whitepoint`` (if ``mid`` is specified). + + :param image: The image to colorize. + :param black: The color to use for black input pixels. + :param white: The color to use for white input pixels. + :param mid: The color to use for midtone input pixels. + :param blackpoint: an int value [0, 255] for the black mapping. + :param whitepoint: an int value [0, 255] for the white mapping. + :param midpoint: an int value [0, 255] for the midtone mapping. + :return: An image. + """ + + # Initial asserts + assert image.mode == "L" + if mid is None: + assert 0 <= blackpoint <= whitepoint <= 255 + else: + assert 0 <= blackpoint <= midpoint <= whitepoint <= 255 + + # Define colors from arguments + rgb_black = cast(Sequence[int], _color(black, "RGB")) + rgb_white = cast(Sequence[int], _color(white, "RGB")) + rgb_mid = cast(Sequence[int], _color(mid, "RGB")) if mid is not None else None + + # Empty lists for the mapping + red = [] + green = [] + blue = [] + + # Create the low-end values + for i in range(0, blackpoint): + red.append(rgb_black[0]) + green.append(rgb_black[1]) + blue.append(rgb_black[2]) + + # Create the mapping (2-color) + if rgb_mid is None: + range_map = range(0, whitepoint - blackpoint) + + for i in range_map: + red.append( + rgb_black[0] + i * (rgb_white[0] - rgb_black[0]) // len(range_map) + ) + green.append( + rgb_black[1] + i * (rgb_white[1] - rgb_black[1]) // len(range_map) + ) + blue.append( + rgb_black[2] + i * (rgb_white[2] - rgb_black[2]) // len(range_map) + ) + + # Create the mapping (3-color) + else: + range_map1 = range(0, midpoint - blackpoint) + range_map2 = range(0, whitepoint - midpoint) + + for i in range_map1: + red.append( + rgb_black[0] + i * (rgb_mid[0] - rgb_black[0]) // len(range_map1) + ) + green.append( + rgb_black[1] + i * (rgb_mid[1] - rgb_black[1]) // len(range_map1) + ) + blue.append( + rgb_black[2] + i * (rgb_mid[2] - rgb_black[2]) // len(range_map1) + ) + for i in range_map2: + red.append(rgb_mid[0] + i * (rgb_white[0] - rgb_mid[0]) // len(range_map2)) + green.append( + rgb_mid[1] + i * (rgb_white[1] - rgb_mid[1]) // len(range_map2) + ) + blue.append(rgb_mid[2] + i * (rgb_white[2] - rgb_mid[2]) // len(range_map2)) + + # Create the high-end values + for i in range(0, 256 - whitepoint): + red.append(rgb_white[0]) + green.append(rgb_white[1]) + blue.append(rgb_white[2]) + + # Return converted image + image = image.convert("RGB") + return _lut(image, red + green + blue) + + +def contain( + image: Image.Image, size: tuple[int, int], method: int = Image.Resampling.BICUBIC +) -> Image.Image: + """ + Returns a resized version of the image, set to the maximum width and height + within the requested size, while maintaining the original aspect ratio. + + :param image: The image to resize. + :param size: The requested output size in pixels, given as a + (width, height) tuple. + :param method: Resampling method to use. Default is + :py:attr:`~PIL.Image.Resampling.BICUBIC`. + See :ref:`concept-filters`. + :return: An image. + """ + + im_ratio = image.width / image.height + dest_ratio = size[0] / size[1] + + if im_ratio != dest_ratio: + if im_ratio > dest_ratio: + new_height = round(image.height / image.width * size[0]) + if new_height != size[1]: + size = (size[0], new_height) + else: + new_width = round(image.width / image.height * size[1]) + if new_width != size[0]: + size = (new_width, size[1]) + return image.resize(size, resample=method) + + +def cover( + image: Image.Image, size: tuple[int, int], method: int = Image.Resampling.BICUBIC +) -> Image.Image: + """ + Returns a resized version of the image, so that the requested size is + covered, while maintaining the original aspect ratio. + + :param image: The image to resize. + :param size: The requested output size in pixels, given as a + (width, height) tuple. + :param method: Resampling method to use. Default is + :py:attr:`~PIL.Image.Resampling.BICUBIC`. + See :ref:`concept-filters`. + :return: An image. + """ + + im_ratio = image.width / image.height + dest_ratio = size[0] / size[1] + + if im_ratio != dest_ratio: + if im_ratio < dest_ratio: + new_height = round(image.height / image.width * size[0]) + if new_height != size[1]: + size = (size[0], new_height) + else: + new_width = round(image.width / image.height * size[1]) + if new_width != size[0]: + size = (new_width, size[1]) + return image.resize(size, resample=method) + + +def pad( + image: Image.Image, + size: tuple[int, int], + method: int = Image.Resampling.BICUBIC, + color: str | int | tuple[int, ...] | None = None, + centering: tuple[float, float] = (0.5, 0.5), +) -> Image.Image: + """ + Returns a resized and padded version of the image, expanded to fill the + requested aspect ratio and size. + + :param image: The image to resize and crop. + :param size: The requested output size in pixels, given as a + (width, height) tuple. + :param method: Resampling method to use. Default is + :py:attr:`~PIL.Image.Resampling.BICUBIC`. + See :ref:`concept-filters`. + :param color: The background color of the padded image. + :param centering: Control the position of the original image within the + padded version. + + (0.5, 0.5) will keep the image centered + (0, 0) will keep the image aligned to the top left + (1, 1) will keep the image aligned to the bottom + right + :return: An image. + """ + + resized = contain(image, size, method) + if resized.size == size: + out = resized + else: + out = Image.new(image.mode, size, color) + if resized.palette: + palette = resized.getpalette() + if palette is not None: + out.putpalette(palette) + if resized.width != size[0]: + x = round((size[0] - resized.width) * max(0, min(centering[0], 1))) + out.paste(resized, (x, 0)) + else: + y = round((size[1] - resized.height) * max(0, min(centering[1], 1))) + out.paste(resized, (0, y)) + return out + + +def crop(image: Image.Image, border: int = 0) -> Image.Image: + """ + Remove border from image. The same amount of pixels are removed + from all four sides. This function works on all image modes. + + .. seealso:: :py:meth:`~PIL.Image.Image.crop` + + :param image: The image to crop. + :param border: The number of pixels to remove. + :return: An image. + """ + left, top, right, bottom = _border(border) + return image.crop((left, top, image.size[0] - right, image.size[1] - bottom)) + + +def scale( + image: Image.Image, factor: float, resample: int = Image.Resampling.BICUBIC +) -> Image.Image: + """ + Returns a rescaled image by a specific factor given in parameter. + A factor greater than 1 expands the image, between 0 and 1 contracts the + image. + + :param image: The image to rescale. + :param factor: The expansion factor, as a float. + :param resample: Resampling method to use. Default is + :py:attr:`~PIL.Image.Resampling.BICUBIC`. + See :ref:`concept-filters`. + :returns: An :py:class:`~PIL.Image.Image` object. + """ + if factor == 1: + return image.copy() + elif factor <= 0: + msg = "the factor must be greater than 0" + raise ValueError(msg) + else: + size = (round(factor * image.width), round(factor * image.height)) + return image.resize(size, resample) + + +class SupportsGetMesh(Protocol): + """ + An object that supports the ``getmesh`` method, taking an image as an + argument, and returning a list of tuples. Each tuple contains two tuples, + the source box as a tuple of 4 integers, and a tuple of 8 integers for the + final quadrilateral, in order of top left, bottom left, bottom right, top + right. + """ + + def getmesh( + self, image: Image.Image + ) -> list[ + tuple[tuple[int, int, int, int], tuple[int, int, int, int, int, int, int, int]] + ]: ... + + +def deform( + image: Image.Image, + deformer: SupportsGetMesh, + resample: int = Image.Resampling.BILINEAR, +) -> Image.Image: + """ + Deform the image. + + :param image: The image to deform. + :param deformer: A deformer object. Any object that implements a + ``getmesh`` method can be used. + :param resample: An optional resampling filter. Same values possible as + in the PIL.Image.transform function. + :return: An image. + """ + return image.transform( + image.size, Image.Transform.MESH, deformer.getmesh(image), resample + ) + + +def equalize(image: Image.Image, mask: Image.Image | None = None) -> Image.Image: + """ + Equalize the image histogram. This function applies a non-linear + mapping to the input image, in order to create a uniform + distribution of grayscale values in the output image. + + :param image: The image to equalize. + :param mask: An optional mask. If given, only the pixels selected by + the mask are included in the analysis. + :return: An image. + """ + if image.mode == "P": + image = image.convert("RGB") + h = image.histogram(mask) + lut = [] + for b in range(0, len(h), 256): + histo = [_f for _f in h[b : b + 256] if _f] + if len(histo) <= 1: + lut.extend(list(range(256))) + else: + step = (functools.reduce(operator.add, histo) - histo[-1]) // 255 + if not step: + lut.extend(list(range(256))) + else: + n = step // 2 + for i in range(256): + lut.append(n // step) + n = n + h[i + b] + return _lut(image, lut) + + +def expand( + image: Image.Image, + border: int | tuple[int, ...] = 0, + fill: str | int | tuple[int, ...] = 0, +) -> Image.Image: + """ + Add border to the image + + :param image: The image to expand. + :param border: Border width, in pixels. + :param fill: Pixel fill value (a color value). Default is 0 (black). + :return: An image. + """ + left, top, right, bottom = _border(border) + width = left + image.size[0] + right + height = top + image.size[1] + bottom + color = _color(fill, image.mode) + if image.palette: + palette = ImagePalette.ImagePalette(palette=image.getpalette()) + if isinstance(color, tuple) and (len(color) == 3 or len(color) == 4): + color = palette.getcolor(color) + else: + palette = None + out = Image.new(image.mode, (width, height), color) + if palette: + out.putpalette(palette.palette) + out.paste(image, (left, top)) + return out + + +def fit( + image: Image.Image, + size: tuple[int, int], + method: int = Image.Resampling.BICUBIC, + bleed: float = 0.0, + centering: tuple[float, float] = (0.5, 0.5), +) -> Image.Image: + """ + Returns a resized and cropped version of the image, cropped to the + requested aspect ratio and size. + + This function was contributed by Kevin Cazabon. + + :param image: The image to resize and crop. + :param size: The requested output size in pixels, given as a + (width, height) tuple. + :param method: Resampling method to use. Default is + :py:attr:`~PIL.Image.Resampling.BICUBIC`. + See :ref:`concept-filters`. + :param bleed: Remove a border around the outside of the image from all + four edges. The value is a decimal percentage (use 0.01 for + one percent). The default value is 0 (no border). + Cannot be greater than or equal to 0.5. + :param centering: Control the cropping position. Use (0.5, 0.5) for + center cropping (e.g. if cropping the width, take 50% off + of the left side, and therefore 50% off the right side). + (0.0, 0.0) will crop from the top left corner (i.e. if + cropping the width, take all of the crop off of the right + side, and if cropping the height, take all of it off the + bottom). (1.0, 0.0) will crop from the bottom left + corner, etc. (i.e. if cropping the width, take all of the + crop off the left side, and if cropping the height take + none from the top, and therefore all off the bottom). + :return: An image. + """ + + # by Kevin Cazabon, Feb 17/2000 + # kevin@cazabon.com + # https://www.cazabon.com + + centering_x, centering_y = centering + + if not 0.0 <= centering_x <= 1.0: + centering_x = 0.5 + if not 0.0 <= centering_y <= 1.0: + centering_y = 0.5 + + if not 0.0 <= bleed < 0.5: + bleed = 0.0 + + # calculate the area to use for resizing and cropping, subtracting + # the 'bleed' around the edges + + # number of pixels to trim off on Top and Bottom, Left and Right + bleed_pixels = (bleed * image.size[0], bleed * image.size[1]) + + live_size = ( + image.size[0] - bleed_pixels[0] * 2, + image.size[1] - bleed_pixels[1] * 2, + ) + + # calculate the aspect ratio of the live_size + live_size_ratio = live_size[0] / live_size[1] + + # calculate the aspect ratio of the output image + output_ratio = size[0] / size[1] + + # figure out if the sides or top/bottom will be cropped off + if live_size_ratio == output_ratio: + # live_size is already the needed ratio + crop_width = live_size[0] + crop_height = live_size[1] + elif live_size_ratio >= output_ratio: + # live_size is wider than what's needed, crop the sides + crop_width = output_ratio * live_size[1] + crop_height = live_size[1] + else: + # live_size is taller than what's needed, crop the top and bottom + crop_width = live_size[0] + crop_height = live_size[0] / output_ratio + + # make the crop + crop_left = bleed_pixels[0] + (live_size[0] - crop_width) * centering_x + crop_top = bleed_pixels[1] + (live_size[1] - crop_height) * centering_y + + crop = (crop_left, crop_top, crop_left + crop_width, crop_top + crop_height) + + # resize the image and return it + return image.resize(size, method, box=crop) + + +def flip(image: Image.Image) -> Image.Image: + """ + Flip the image vertically (top to bottom). + + :param image: The image to flip. + :return: An image. + """ + return image.transpose(Image.Transpose.FLIP_TOP_BOTTOM) + + +def grayscale(image: Image.Image) -> Image.Image: + """ + Convert the image to grayscale. + + :param image: The image to convert. + :return: An image. + """ + return image.convert("L") + + +def invert(image: Image.Image) -> Image.Image: + """ + Invert (negate) the image. + + :param image: The image to invert. + :return: An image. + """ + lut = list(range(255, -1, -1)) + return image.point(lut) if image.mode == "1" else _lut(image, lut) + + +def mirror(image: Image.Image) -> Image.Image: + """ + Flip image horizontally (left to right). + + :param image: The image to mirror. + :return: An image. + """ + return image.transpose(Image.Transpose.FLIP_LEFT_RIGHT) + + +def posterize(image: Image.Image, bits: int) -> Image.Image: + """ + Reduce the number of bits for each color channel. + + :param image: The image to posterize. + :param bits: The number of bits to keep for each channel (1-8). + :return: An image. + """ + mask = ~(2 ** (8 - bits) - 1) + lut = [i & mask for i in range(256)] + return _lut(image, lut) + + +def solarize(image: Image.Image, threshold: int = 128) -> Image.Image: + """ + Invert all pixel values above a threshold. + + :param image: The image to solarize. + :param threshold: All pixels above this grayscale level are inverted. + :return: An image. + """ + lut = [] + for i in range(256): + if i < threshold: + lut.append(i) + else: + lut.append(255 - i) + return _lut(image, lut) + + +def exif_transpose(image: Image.Image, *, in_place: bool = False) -> Image.Image | None: + """ + If an image has an EXIF Orientation tag, other than 1, transpose the image + accordingly, and remove the orientation data. + + :param image: The image to transpose. + :param in_place: Boolean. Keyword-only argument. + If ``True``, the original image is modified in-place, and ``None`` is returned. + If ``False`` (default), a new :py:class:`~PIL.Image.Image` object is returned + with the transposition applied. If there is no transposition, a copy of the + image will be returned. + """ + image.load() + image_exif = image.getexif() + orientation = image_exif.get(ExifTags.Base.Orientation, 1) + method = { + 2: Image.Transpose.FLIP_LEFT_RIGHT, + 3: Image.Transpose.ROTATE_180, + 4: Image.Transpose.FLIP_TOP_BOTTOM, + 5: Image.Transpose.TRANSPOSE, + 6: Image.Transpose.ROTATE_270, + 7: Image.Transpose.TRANSVERSE, + 8: Image.Transpose.ROTATE_90, + }.get(orientation) + if method is not None: + transposed_image = image.transpose(method) + if in_place: + image.im = transposed_image.im + image._size = transposed_image._size + exif_image = image if in_place else transposed_image + + exif = exif_image.getexif() + if ExifTags.Base.Orientation in exif: + del exif[ExifTags.Base.Orientation] + if "exif" in exif_image.info: + exif_image.info["exif"] = exif.tobytes() + elif "Raw profile type exif" in exif_image.info: + exif_image.info["Raw profile type exif"] = exif.tobytes().hex() + for key in ("XML:com.adobe.xmp", "xmp"): + if key in exif_image.info: + for pattern in ( + r'tiff:Orientation="([0-9])"', + r"([0-9])", + ): + value = exif_image.info[key] + exif_image.info[key] = ( + re.sub(pattern, "", value) + if isinstance(value, str) + else re.sub(pattern.encode(), b"", value) + ) + if not in_place: + return transposed_image + elif not in_place: + return image.copy() + return None diff --git a/venv/Lib/site-packages/PIL/ImagePalette.py b/venv/Lib/site-packages/PIL/ImagePalette.py new file mode 100644 index 00000000..183f8552 --- /dev/null +++ b/venv/Lib/site-packages/PIL/ImagePalette.py @@ -0,0 +1,285 @@ +# +# The Python Imaging Library. +# $Id$ +# +# image palette object +# +# History: +# 1996-03-11 fl Rewritten. +# 1997-01-03 fl Up and running. +# 1997-08-23 fl Added load hack +# 2001-04-16 fl Fixed randint shadow bug in random() +# +# Copyright (c) 1997-2001 by Secret Labs AB +# Copyright (c) 1996-1997 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import array +from collections.abc import Sequence +from typing import IO, TYPE_CHECKING + +from . import GimpGradientFile, GimpPaletteFile, ImageColor, PaletteFile + +if TYPE_CHECKING: + from . import Image + + +class ImagePalette: + """ + Color palette for palette mapped images + + :param mode: The mode to use for the palette. See: + :ref:`concept-modes`. Defaults to "RGB" + :param palette: An optional palette. If given, it must be a bytearray, + an array or a list of ints between 0-255. The list must consist of + all channels for one color followed by the next color (e.g. RGBRGBRGB). + Defaults to an empty palette. + """ + + def __init__( + self, + mode: str = "RGB", + palette: Sequence[int] | bytes | bytearray | None = None, + ) -> None: + self.mode = mode + self.rawmode: str | None = None # if set, palette contains raw data + self.palette = palette or bytearray() + self.dirty: int | None = None + + @property + def palette(self) -> Sequence[int] | bytes | bytearray: + return self._palette + + @palette.setter + def palette(self, palette: Sequence[int] | bytes | bytearray) -> None: + self._colors: dict[tuple[int, ...], int] | None = None + self._palette = palette + + @property + def colors(self) -> dict[tuple[int, ...], int]: + if self._colors is None: + mode_len = len(self.mode) + self._colors = {} + for i in range(0, len(self.palette), mode_len): + color = tuple(self.palette[i : i + mode_len]) + if color in self._colors: + continue + self._colors[color] = i // mode_len + return self._colors + + @colors.setter + def colors(self, colors: dict[tuple[int, ...], int]) -> None: + self._colors = colors + + def copy(self) -> ImagePalette: + new = ImagePalette() + + new.mode = self.mode + new.rawmode = self.rawmode + if self.palette is not None: + new.palette = self.palette[:] + new.dirty = self.dirty + + return new + + def getdata(self) -> tuple[str, Sequence[int] | bytes | bytearray]: + """ + Get palette contents in format suitable for the low-level + ``im.putpalette`` primitive. + + .. warning:: This method is experimental. + """ + if self.rawmode: + return self.rawmode, self.palette + return self.mode, self.tobytes() + + def tobytes(self) -> bytes: + """Convert palette to bytes. + + .. warning:: This method is experimental. + """ + if self.rawmode: + msg = "palette contains raw palette data" + raise ValueError(msg) + if isinstance(self.palette, bytes): + return self.palette + arr = array.array("B", self.palette) + return arr.tobytes() + + # Declare tostring as an alias for tobytes + tostring = tobytes + + def _new_color_index( + self, image: Image.Image | None = None, e: Exception | None = None + ) -> int: + if not isinstance(self.palette, bytearray): + self._palette = bytearray(self.palette) + index = len(self.palette) // 3 + special_colors: tuple[int | tuple[int, ...] | None, ...] = () + if image: + special_colors = ( + image.info.get("background"), + image.info.get("transparency"), + ) + while index in special_colors: + index += 1 + if index >= 256: + if image: + # Search for an unused index + for i, count in reversed(list(enumerate(image.histogram()))): + if count == 0 and i not in special_colors: + index = i + break + if index >= 256: + msg = "cannot allocate more than 256 colors" + raise ValueError(msg) from e + return index + + def getcolor( + self, + color: tuple[int, ...], + image: Image.Image | None = None, + ) -> int: + """Given an rgb tuple, allocate palette entry. + + .. warning:: This method is experimental. + """ + if self.rawmode: + msg = "palette contains raw palette data" + raise ValueError(msg) + if isinstance(color, tuple): + if self.mode == "RGB": + if len(color) == 4: + if color[3] != 255: + msg = "cannot add non-opaque RGBA color to RGB palette" + raise ValueError(msg) + color = color[:3] + elif self.mode == "RGBA": + if len(color) == 3: + color += (255,) + try: + return self.colors[color] + except KeyError as e: + # allocate new color slot + index = self._new_color_index(image, e) + assert isinstance(self._palette, bytearray) + self.colors[color] = index + if index * 3 < len(self.palette): + self._palette = ( + self._palette[: index * 3] + + bytes(color) + + self._palette[index * 3 + 3 :] + ) + else: + self._palette += bytes(color) + self.dirty = 1 + return index + else: + msg = f"unknown color specifier: {repr(color)}" # type: ignore[unreachable] + raise ValueError(msg) + + def save(self, fp: str | IO[str]) -> None: + """Save palette to text file. + + .. warning:: This method is experimental. + """ + if self.rawmode: + msg = "palette contains raw palette data" + raise ValueError(msg) + if isinstance(fp, str): + fp = open(fp, "w") + fp.write("# Palette\n") + fp.write(f"# Mode: {self.mode}\n") + for i in range(256): + fp.write(f"{i}") + for j in range(i * len(self.mode), (i + 1) * len(self.mode)): + try: + fp.write(f" {self.palette[j]}") + except IndexError: + fp.write(" 0") + fp.write("\n") + fp.close() + + +# -------------------------------------------------------------------- +# Internal + + +def raw(rawmode: str, data: Sequence[int] | bytes | bytearray) -> ImagePalette: + palette = ImagePalette() + palette.rawmode = rawmode + palette.palette = data + palette.dirty = 1 + return palette + + +# -------------------------------------------------------------------- +# Factories + + +def make_linear_lut(black: int, white: float) -> list[int]: + if black == 0: + return [int(white * i // 255) for i in range(256)] + + msg = "unavailable when black is non-zero" + raise NotImplementedError(msg) # FIXME + + +def make_gamma_lut(exp: float) -> list[int]: + return [int(((i / 255.0) ** exp) * 255.0 + 0.5) for i in range(256)] + + +def negative(mode: str = "RGB") -> ImagePalette: + palette = list(range(256 * len(mode))) + palette.reverse() + return ImagePalette(mode, [i // len(mode) for i in palette]) + + +def random(mode: str = "RGB") -> ImagePalette: + from random import randint + + palette = [randint(0, 255) for _ in range(256 * len(mode))] + return ImagePalette(mode, palette) + + +def sepia(white: str = "#fff0c0") -> ImagePalette: + bands = [make_linear_lut(0, band) for band in ImageColor.getrgb(white)] + return ImagePalette("RGB", [bands[i % 3][i // 3] for i in range(256 * 3)]) + + +def wedge(mode: str = "RGB") -> ImagePalette: + palette = list(range(256 * len(mode))) + return ImagePalette(mode, [i // len(mode) for i in palette]) + + +def load(filename: str) -> tuple[bytes, str]: + # FIXME: supports GIMP gradients only + + with open(filename, "rb") as fp: + paletteHandlers: list[ + type[ + GimpPaletteFile.GimpPaletteFile + | GimpGradientFile.GimpGradientFile + | PaletteFile.PaletteFile + ] + ] = [ + GimpPaletteFile.GimpPaletteFile, + GimpGradientFile.GimpGradientFile, + PaletteFile.PaletteFile, + ] + for paletteHandler in paletteHandlers: + try: + fp.seek(0) + lut = paletteHandler(fp).getpalette() + if lut: + break + except (SyntaxError, ValueError): + pass + else: + msg = "cannot load palette" + raise OSError(msg) + + return lut # data, rawmode diff --git a/venv/Lib/site-packages/PIL/ImagePath.py b/venv/Lib/site-packages/PIL/ImagePath.py new file mode 100644 index 00000000..77e8a609 --- /dev/null +++ b/venv/Lib/site-packages/PIL/ImagePath.py @@ -0,0 +1,20 @@ +# +# The Python Imaging Library +# $Id$ +# +# path interface +# +# History: +# 1996-11-04 fl Created +# 2002-04-14 fl Added documentation stub class +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1996. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from . import Image + +Path = Image.core.path diff --git a/venv/Lib/site-packages/PIL/ImageQt.py b/venv/Lib/site-packages/PIL/ImageQt.py new file mode 100644 index 00000000..a3d64713 --- /dev/null +++ b/venv/Lib/site-packages/PIL/ImageQt.py @@ -0,0 +1,216 @@ +# +# The Python Imaging Library. +# $Id$ +# +# a simple Qt image interface. +# +# history: +# 2006-06-03 fl: created +# 2006-06-04 fl: inherit from QImage instead of wrapping it +# 2006-06-05 fl: removed toimage helper; move string support to ImageQt +# 2013-11-13 fl: add support for Qt5 (aurelien.ballier@cyclonit.com) +# +# Copyright (c) 2006 by Secret Labs AB +# Copyright (c) 2006 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import sys +from io import BytesIO +from typing import TYPE_CHECKING, Any, Callable, Union + +from . import Image +from ._util import is_path + +if TYPE_CHECKING: + import PyQt6 + import PySide6 + + from . import ImageFile + + QBuffer: type + QByteArray = Union[PyQt6.QtCore.QByteArray, PySide6.QtCore.QByteArray] + QIODevice = Union[PyQt6.QtCore.QIODevice, PySide6.QtCore.QIODevice] + QImage = Union[PyQt6.QtGui.QImage, PySide6.QtGui.QImage] + QPixmap = Union[PyQt6.QtGui.QPixmap, PySide6.QtGui.QPixmap] + +qt_version: str | None +qt_versions = [ + ["6", "PyQt6"], + ["side6", "PySide6"], +] + +# If a version has already been imported, attempt it first +qt_versions.sort(key=lambda version: version[1] in sys.modules, reverse=True) +for version, qt_module in qt_versions: + try: + qRgba: Callable[[int, int, int, int], int] + if qt_module == "PyQt6": + from PyQt6.QtCore import QBuffer, QIODevice + from PyQt6.QtGui import QImage, QPixmap, qRgba + elif qt_module == "PySide6": + from PySide6.QtCore import QBuffer, QIODevice + from PySide6.QtGui import QImage, QPixmap, qRgba + except (ImportError, RuntimeError): + continue + qt_is_installed = True + qt_version = version + break +else: + qt_is_installed = False + qt_version = None + + +def rgb(r: int, g: int, b: int, a: int = 255) -> int: + """(Internal) Turns an RGB color into a Qt compatible color integer.""" + # use qRgb to pack the colors, and then turn the resulting long + # into a negative integer with the same bitpattern. + return qRgba(r, g, b, a) & 0xFFFFFFFF + + +def fromqimage(im: QImage | QPixmap) -> ImageFile.ImageFile: + """ + :param im: QImage or PIL ImageQt object + """ + buffer = QBuffer() + qt_openmode: object + if qt_version == "6": + try: + qt_openmode = getattr(QIODevice, "OpenModeFlag") + except AttributeError: + qt_openmode = getattr(QIODevice, "OpenMode") + else: + qt_openmode = QIODevice + buffer.open(getattr(qt_openmode, "ReadWrite")) + # preserve alpha channel with png + # otherwise ppm is more friendly with Image.open + if im.hasAlphaChannel(): + im.save(buffer, "png") + else: + im.save(buffer, "ppm") + + b = BytesIO() + b.write(buffer.data()) + buffer.close() + b.seek(0) + + return Image.open(b) + + +def fromqpixmap(im: QPixmap) -> ImageFile.ImageFile: + return fromqimage(im) + + +def align8to32(bytes: bytes, width: int, mode: str) -> bytes: + """ + converts each scanline of data from 8 bit to 32 bit aligned + """ + + bits_per_pixel = {"1": 1, "L": 8, "P": 8, "I;16": 16}[mode] + + # calculate bytes per line and the extra padding if needed + bits_per_line = bits_per_pixel * width + full_bytes_per_line, remaining_bits_per_line = divmod(bits_per_line, 8) + bytes_per_line = full_bytes_per_line + (1 if remaining_bits_per_line else 0) + + extra_padding = -bytes_per_line % 4 + + # already 32 bit aligned by luck + if not extra_padding: + return bytes + + new_data = [ + bytes[i * bytes_per_line : (i + 1) * bytes_per_line] + b"\x00" * extra_padding + for i in range(len(bytes) // bytes_per_line) + ] + + return b"".join(new_data) + + +def _toqclass_helper(im: Image.Image | str | QByteArray) -> dict[str, Any]: + data = None + colortable = None + exclusive_fp = False + + # handle filename, if given instead of image name + if hasattr(im, "toUtf8"): + # FIXME - is this really the best way to do this? + im = str(im.toUtf8(), "utf-8") + if is_path(im): + im = Image.open(im) + exclusive_fp = True + assert isinstance(im, Image.Image) + + qt_format = getattr(QImage, "Format") if qt_version == "6" else QImage + if im.mode == "1": + format = getattr(qt_format, "Format_Mono") + elif im.mode == "L": + format = getattr(qt_format, "Format_Indexed8") + colortable = [rgb(i, i, i) for i in range(256)] + elif im.mode == "P": + format = getattr(qt_format, "Format_Indexed8") + palette = im.getpalette() + assert palette is not None + colortable = [rgb(*palette[i : i + 3]) for i in range(0, len(palette), 3)] + elif im.mode == "RGB": + # Populate the 4th channel with 255 + im = im.convert("RGBA") + + data = im.tobytes("raw", "BGRA") + format = getattr(qt_format, "Format_RGB32") + elif im.mode == "RGBA": + data = im.tobytes("raw", "BGRA") + format = getattr(qt_format, "Format_ARGB32") + elif im.mode == "I;16": + im = im.point(lambda i: i * 256) + + format = getattr(qt_format, "Format_Grayscale16") + else: + if exclusive_fp: + im.close() + msg = f"unsupported image mode {repr(im.mode)}" + raise ValueError(msg) + + size = im.size + __data = data or align8to32(im.tobytes(), size[0], im.mode) + if exclusive_fp: + im.close() + return {"data": __data, "size": size, "format": format, "colortable": colortable} + + +if qt_is_installed: + + class ImageQt(QImage): # type: ignore[misc] + def __init__(self, im: Image.Image | str | QByteArray) -> None: + """ + An PIL image wrapper for Qt. This is a subclass of PyQt's QImage + class. + + :param im: A PIL Image object, or a file name (given either as + Python string or a PyQt string object). + """ + im_data = _toqclass_helper(im) + # must keep a reference, or Qt will crash! + # All QImage constructors that take data operate on an existing + # buffer, so this buffer has to hang on for the life of the image. + # Fixes https://github.com/python-pillow/Pillow/issues/1370 + self.__data = im_data["data"] + super().__init__( + self.__data, + im_data["size"][0], + im_data["size"][1], + im_data["format"], + ) + if im_data["colortable"]: + self.setColorTable(im_data["colortable"]) + + +def toqimage(im: Image.Image | str | QByteArray) -> ImageQt: + return ImageQt(im) + + +def toqpixmap(im: Image.Image | str | QByteArray) -> QPixmap: + qimage = toqimage(im) + return getattr(QPixmap, "fromImage")(qimage) diff --git a/venv/Lib/site-packages/PIL/ImageSequence.py b/venv/Lib/site-packages/PIL/ImageSequence.py new file mode 100644 index 00000000..a6fc340d --- /dev/null +++ b/venv/Lib/site-packages/PIL/ImageSequence.py @@ -0,0 +1,86 @@ +# +# The Python Imaging Library. +# $Id$ +# +# sequence support classes +# +# history: +# 1997-02-20 fl Created +# +# Copyright (c) 1997 by Secret Labs AB. +# Copyright (c) 1997 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# + +## +from __future__ import annotations + +from typing import Callable + +from . import Image + + +class Iterator: + """ + This class implements an iterator object that can be used to loop + over an image sequence. + + You can use the ``[]`` operator to access elements by index. This operator + will raise an :py:exc:`IndexError` if you try to access a nonexistent + frame. + + :param im: An image object. + """ + + def __init__(self, im: Image.Image) -> None: + if not hasattr(im, "seek"): + msg = "im must have seek method" + raise AttributeError(msg) + self.im = im + self.position = getattr(self.im, "_min_frame", 0) + + def __getitem__(self, ix: int) -> Image.Image: + try: + self.im.seek(ix) + return self.im + except EOFError as e: + msg = "end of sequence" + raise IndexError(msg) from e + + def __iter__(self) -> Iterator: + return self + + def __next__(self) -> Image.Image: + try: + self.im.seek(self.position) + self.position += 1 + return self.im + except EOFError as e: + msg = "end of sequence" + raise StopIteration(msg) from e + + +def all_frames( + im: Image.Image | list[Image.Image], + func: Callable[[Image.Image], Image.Image] | None = None, +) -> list[Image.Image]: + """ + Applies a given function to all frames in an image or a list of images. + The frames are returned as a list of separate images. + + :param im: An image, or a list of images. + :param func: The function to apply to all of the image frames. + :returns: A list of images. + """ + if not isinstance(im, list): + im = [im] + + ims = [] + for imSequence in im: + current = imSequence.tell() + + ims += [im_frame.copy() for im_frame in Iterator(imSequence)] + + imSequence.seek(current) + return [func(im) for im in ims] if func else ims diff --git a/venv/Lib/site-packages/PIL/ImageShow.py b/venv/Lib/site-packages/PIL/ImageShow.py new file mode 100644 index 00000000..d62893d9 --- /dev/null +++ b/venv/Lib/site-packages/PIL/ImageShow.py @@ -0,0 +1,360 @@ +# +# The Python Imaging Library. +# $Id$ +# +# im.show() drivers +# +# History: +# 2008-04-06 fl Created +# +# Copyright (c) Secret Labs AB 2008. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import abc +import os +import shutil +import subprocess +import sys +from shlex import quote +from typing import Any + +from . import Image + +_viewers = [] + + +def register(viewer: type[Viewer] | Viewer, order: int = 1) -> None: + """ + The :py:func:`register` function is used to register additional viewers:: + + from PIL import ImageShow + ImageShow.register(MyViewer()) # MyViewer will be used as a last resort + ImageShow.register(MySecondViewer(), 0) # MySecondViewer will be prioritised + ImageShow.register(ImageShow.XVViewer(), 0) # XVViewer will be prioritised + + :param viewer: The viewer to be registered. + :param order: + Zero or a negative integer to prepend this viewer to the list, + a positive integer to append it. + """ + if isinstance(viewer, type) and issubclass(viewer, Viewer): + viewer = viewer() + if order > 0: + _viewers.append(viewer) + else: + _viewers.insert(0, viewer) + + +def show(image: Image.Image, title: str | None = None, **options: Any) -> bool: + r""" + Display a given image. + + :param image: An image object. + :param title: Optional title. Not all viewers can display the title. + :param \**options: Additional viewer options. + :returns: ``True`` if a suitable viewer was found, ``False`` otherwise. + """ + for viewer in _viewers: + if viewer.show(image, title=title, **options): + return True + return False + + +class Viewer: + """Base class for viewers.""" + + # main api + + def show(self, image: Image.Image, **options: Any) -> int: + """ + The main function for displaying an image. + Converts the given image to the target format and displays it. + """ + + if not ( + image.mode in ("1", "RGBA") + or (self.format == "PNG" and image.mode in ("I;16", "LA")) + ): + base = Image.getmodebase(image.mode) + if image.mode != base: + image = image.convert(base) + + return self.show_image(image, **options) + + # hook methods + + format: str | None = None + """The format to convert the image into.""" + options: dict[str, Any] = {} + """Additional options used to convert the image.""" + + def get_format(self, image: Image.Image) -> str | None: + """Return format name, or ``None`` to save as PGM/PPM.""" + return self.format + + def get_command(self, file: str, **options: Any) -> str: + """ + Returns the command used to display the file. + Not implemented in the base class. + """ + msg = "unavailable in base viewer" + raise NotImplementedError(msg) + + def save_image(self, image: Image.Image) -> str: + """Save to temporary file and return filename.""" + return image._dump(format=self.get_format(image), **self.options) + + def show_image(self, image: Image.Image, **options: Any) -> int: + """Display the given image.""" + return self.show_file(self.save_image(image), **options) + + def show_file(self, path: str, **options: Any) -> int: + """ + Display given file. + """ + if not os.path.exists(path): + raise FileNotFoundError + os.system(self.get_command(path, **options)) # nosec + return 1 + + +# -------------------------------------------------------------------- + + +class WindowsViewer(Viewer): + """The default viewer on Windows is the default system application for PNG files.""" + + format = "PNG" + options = {"compress_level": 1, "save_all": True} + + def get_command(self, file: str, **options: Any) -> str: + return ( + f'start "Pillow" /WAIT "{file}" ' + "&& ping -n 4 127.0.0.1 >NUL " + f'&& del /f "{file}"' + ) + + def show_file(self, path: str, **options: Any) -> int: + """ + Display given file. + """ + if not os.path.exists(path): + raise FileNotFoundError + subprocess.Popen( + self.get_command(path, **options), + shell=True, + creationflags=getattr(subprocess, "CREATE_NO_WINDOW"), + ) # nosec + return 1 + + +if sys.platform == "win32": + register(WindowsViewer) + + +class MacViewer(Viewer): + """The default viewer on macOS using ``Preview.app``.""" + + format = "PNG" + options = {"compress_level": 1, "save_all": True} + + def get_command(self, file: str, **options: Any) -> str: + # on darwin open returns immediately resulting in the temp + # file removal while app is opening + command = "open -a Preview.app" + command = f"({command} {quote(file)}; sleep 20; rm -f {quote(file)})&" + return command + + def show_file(self, path: str, **options: Any) -> int: + """ + Display given file. + """ + if not os.path.exists(path): + raise FileNotFoundError + subprocess.call(["open", "-a", "Preview.app", path]) + executable = sys.executable or shutil.which("python3") + if executable: + subprocess.Popen( + [ + executable, + "-c", + "import os, sys, time; time.sleep(20); os.remove(sys.argv[1])", + path, + ] + ) + return 1 + + +if sys.platform == "darwin": + register(MacViewer) + + +class UnixViewer(Viewer): + format = "PNG" + options = {"compress_level": 1, "save_all": True} + + @abc.abstractmethod + def get_command_ex(self, file: str, **options: Any) -> tuple[str, str]: + pass + + def get_command(self, file: str, **options: Any) -> str: + command = self.get_command_ex(file, **options)[0] + return f"{command} {quote(file)}" + + +class XDGViewer(UnixViewer): + """ + The freedesktop.org ``xdg-open`` command. + """ + + def get_command_ex(self, file: str, **options: Any) -> tuple[str, str]: + command = executable = "xdg-open" + return command, executable + + def show_file(self, path: str, **options: Any) -> int: + """ + Display given file. + """ + if not os.path.exists(path): + raise FileNotFoundError + subprocess.Popen(["xdg-open", path]) + return 1 + + +class DisplayViewer(UnixViewer): + """ + The ImageMagick ``display`` command. + This viewer supports the ``title`` parameter. + """ + + def get_command_ex( + self, file: str, title: str | None = None, **options: Any + ) -> tuple[str, str]: + command = executable = "display" + if title: + command += f" -title {quote(title)}" + return command, executable + + def show_file(self, path: str, **options: Any) -> int: + """ + Display given file. + """ + if not os.path.exists(path): + raise FileNotFoundError + args = ["display"] + title = options.get("title") + if title: + args += ["-title", title] + args.append(path) + + subprocess.Popen(args) + return 1 + + +class GmDisplayViewer(UnixViewer): + """The GraphicsMagick ``gm display`` command.""" + + def get_command_ex(self, file: str, **options: Any) -> tuple[str, str]: + executable = "gm" + command = "gm display" + return command, executable + + def show_file(self, path: str, **options: Any) -> int: + """ + Display given file. + """ + if not os.path.exists(path): + raise FileNotFoundError + subprocess.Popen(["gm", "display", path]) + return 1 + + +class EogViewer(UnixViewer): + """The GNOME Image Viewer ``eog`` command.""" + + def get_command_ex(self, file: str, **options: Any) -> tuple[str, str]: + executable = "eog" + command = "eog -n" + return command, executable + + def show_file(self, path: str, **options: Any) -> int: + """ + Display given file. + """ + if not os.path.exists(path): + raise FileNotFoundError + subprocess.Popen(["eog", "-n", path]) + return 1 + + +class XVViewer(UnixViewer): + """ + The X Viewer ``xv`` command. + This viewer supports the ``title`` parameter. + """ + + def get_command_ex( + self, file: str, title: str | None = None, **options: Any + ) -> tuple[str, str]: + # note: xv is pretty outdated. most modern systems have + # imagemagick's display command instead. + command = executable = "xv" + if title: + command += f" -name {quote(title)}" + return command, executable + + def show_file(self, path: str, **options: Any) -> int: + """ + Display given file. + """ + if not os.path.exists(path): + raise FileNotFoundError + args = ["xv"] + title = options.get("title") + if title: + args += ["-name", title] + args.append(path) + + subprocess.Popen(args) + return 1 + + +if sys.platform not in ("win32", "darwin"): # unixoids + if shutil.which("xdg-open"): + register(XDGViewer) + if shutil.which("display"): + register(DisplayViewer) + if shutil.which("gm"): + register(GmDisplayViewer) + if shutil.which("eog"): + register(EogViewer) + if shutil.which("xv"): + register(XVViewer) + + +class IPythonViewer(Viewer): + """The viewer for IPython frontends.""" + + def show_image(self, image: Image.Image, **options: Any) -> int: + ipython_display(image) + return 1 + + +try: + from IPython.display import display as ipython_display +except ImportError: + pass +else: + register(IPythonViewer) + + +if __name__ == "__main__": + if len(sys.argv) < 2: + print("Syntax: python3 ImageShow.py imagefile [title]") + sys.exit() + + with Image.open(sys.argv[1]) as im: + print(show(im, *sys.argv[2:])) diff --git a/venv/Lib/site-packages/PIL/ImageStat.py b/venv/Lib/site-packages/PIL/ImageStat.py new file mode 100644 index 00000000..8bc50452 --- /dev/null +++ b/venv/Lib/site-packages/PIL/ImageStat.py @@ -0,0 +1,160 @@ +# +# The Python Imaging Library. +# $Id$ +# +# global image statistics +# +# History: +# 1996-04-05 fl Created +# 1997-05-21 fl Added mask; added rms, var, stddev attributes +# 1997-08-05 fl Added median +# 1998-07-05 hk Fixed integer overflow error +# +# Notes: +# This class shows how to implement delayed evaluation of attributes. +# To get a certain value, simply access the corresponding attribute. +# The __getattr__ dispatcher takes care of the rest. +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1996-97. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import math +from functools import cached_property + +from . import Image + + +class Stat: + def __init__( + self, image_or_list: Image.Image | list[int], mask: Image.Image | None = None + ) -> None: + """ + Calculate statistics for the given image. If a mask is included, + only the regions covered by that mask are included in the + statistics. You can also pass in a previously calculated histogram. + + :param image: A PIL image, or a precalculated histogram. + + .. note:: + + For a PIL image, calculations rely on the + :py:meth:`~PIL.Image.Image.histogram` method. The pixel counts are + grouped into 256 bins, even if the image has more than 8 bits per + channel. So ``I`` and ``F`` mode images have a maximum ``mean``, + ``median`` and ``rms`` of 255, and cannot have an ``extrema`` maximum + of more than 255. + + :param mask: An optional mask. + """ + if isinstance(image_or_list, Image.Image): + self.h = image_or_list.histogram(mask) + elif isinstance(image_or_list, list): + self.h = image_or_list + else: + msg = "first argument must be image or list" # type: ignore[unreachable] + raise TypeError(msg) + self.bands = list(range(len(self.h) // 256)) + + @cached_property + def extrema(self) -> list[tuple[int, int]]: + """ + Min/max values for each band in the image. + + .. note:: + This relies on the :py:meth:`~PIL.Image.Image.histogram` method, and + simply returns the low and high bins used. This is correct for + images with 8 bits per channel, but fails for other modes such as + ``I`` or ``F``. Instead, use :py:meth:`~PIL.Image.Image.getextrema` to + return per-band extrema for the image. This is more correct and + efficient because, for non-8-bit modes, the histogram method uses + :py:meth:`~PIL.Image.Image.getextrema` to determine the bins used. + """ + + def minmax(histogram: list[int]) -> tuple[int, int]: + res_min, res_max = 255, 0 + for i in range(256): + if histogram[i]: + res_min = i + break + for i in range(255, -1, -1): + if histogram[i]: + res_max = i + break + return res_min, res_max + + return [minmax(self.h[i:]) for i in range(0, len(self.h), 256)] + + @cached_property + def count(self) -> list[int]: + """Total number of pixels for each band in the image.""" + return [sum(self.h[i : i + 256]) for i in range(0, len(self.h), 256)] + + @cached_property + def sum(self) -> list[float]: + """Sum of all pixels for each band in the image.""" + + v = [] + for i in range(0, len(self.h), 256): + layer_sum = 0.0 + for j in range(256): + layer_sum += j * self.h[i + j] + v.append(layer_sum) + return v + + @cached_property + def sum2(self) -> list[float]: + """Squared sum of all pixels for each band in the image.""" + + v = [] + for i in range(0, len(self.h), 256): + sum2 = 0.0 + for j in range(256): + sum2 += (j**2) * float(self.h[i + j]) + v.append(sum2) + return v + + @cached_property + def mean(self) -> list[float]: + """Average (arithmetic mean) pixel level for each band in the image.""" + return [self.sum[i] / self.count[i] for i in self.bands] + + @cached_property + def median(self) -> list[int]: + """Median pixel level for each band in the image.""" + + v = [] + for i in self.bands: + s = 0 + half = self.count[i] // 2 + b = i * 256 + for j in range(256): + s = s + self.h[b + j] + if s > half: + break + v.append(j) + return v + + @cached_property + def rms(self) -> list[float]: + """RMS (root-mean-square) for each band in the image.""" + return [math.sqrt(self.sum2[i] / self.count[i]) for i in self.bands] + + @cached_property + def var(self) -> list[float]: + """Variance for each band in the image.""" + return [ + (self.sum2[i] - (self.sum[i] ** 2.0) / self.count[i]) / self.count[i] + for i in self.bands + ] + + @cached_property + def stddev(self) -> list[float]: + """Standard deviation for each band in the image.""" + return [math.sqrt(self.var[i]) for i in self.bands] + + +Global = Stat # compatibility diff --git a/venv/Lib/site-packages/PIL/ImageTk.py b/venv/Lib/site-packages/PIL/ImageTk.py new file mode 100644 index 00000000..bf29fdba --- /dev/null +++ b/venv/Lib/site-packages/PIL/ImageTk.py @@ -0,0 +1,290 @@ +# +# The Python Imaging Library. +# $Id$ +# +# a Tk display interface +# +# History: +# 96-04-08 fl Created +# 96-09-06 fl Added getimage method +# 96-11-01 fl Rewritten, removed image attribute and crop method +# 97-05-09 fl Use PyImagingPaste method instead of image type +# 97-05-12 fl Minor tweaks to match the IFUNC95 interface +# 97-05-17 fl Support the "pilbitmap" booster patch +# 97-06-05 fl Added file= and data= argument to image constructors +# 98-03-09 fl Added width and height methods to Image classes +# 98-07-02 fl Use default mode for "P" images without palette attribute +# 98-07-02 fl Explicitly destroy Tkinter image objects +# 99-07-24 fl Support multiple Tk interpreters (from Greg Couch) +# 99-07-26 fl Automatically hook into Tkinter (if possible) +# 99-08-15 fl Hook uses _imagingtk instead of _imaging +# +# Copyright (c) 1997-1999 by Secret Labs AB +# Copyright (c) 1996-1997 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import tkinter +from io import BytesIO +from typing import TYPE_CHECKING, Any, cast + +from . import Image, ImageFile + +if TYPE_CHECKING: + from ._typing import CapsuleType + +# -------------------------------------------------------------------- +# Check for Tkinter interface hooks + + +def _get_image_from_kw(kw: dict[str, Any]) -> ImageFile.ImageFile | None: + source = None + if "file" in kw: + source = kw.pop("file") + elif "data" in kw: + source = BytesIO(kw.pop("data")) + if not source: + return None + return Image.open(source) + + +def _pyimagingtkcall( + command: str, photo: PhotoImage | tkinter.PhotoImage, ptr: CapsuleType +) -> None: + tk = photo.tk + try: + tk.call(command, photo, repr(ptr)) + except tkinter.TclError: + # activate Tkinter hook + # may raise an error if it cannot attach to Tkinter + from . import _imagingtk + + _imagingtk.tkinit(tk.interpaddr()) + tk.call(command, photo, repr(ptr)) + + +# -------------------------------------------------------------------- +# PhotoImage + + +class PhotoImage: + """ + A Tkinter-compatible photo image. This can be used + everywhere Tkinter expects an image object. If the image is an RGBA + image, pixels having alpha 0 are treated as transparent. + + The constructor takes either a PIL image, or a mode and a size. + Alternatively, you can use the ``file`` or ``data`` options to initialize + the photo image object. + + :param image: Either a PIL image, or a mode string. If a mode string is + used, a size must also be given. + :param size: If the first argument is a mode string, this defines the size + of the image. + :keyword file: A filename to load the image from (using + ``Image.open(file)``). + :keyword data: An 8-bit string containing image data (as loaded from an + image file). + """ + + def __init__( + self, + image: Image.Image | str | None = None, + size: tuple[int, int] | None = None, + **kw: Any, + ) -> None: + # Tk compatibility: file or data + if image is None: + image = _get_image_from_kw(kw) + + if image is None: + msg = "Image is required" + raise ValueError(msg) + elif isinstance(image, str): + mode = image + image = None + + if size is None: + msg = "If first argument is mode, size is required" + raise ValueError(msg) + else: + # got an image instead of a mode + mode = image.mode + if mode == "P": + # palette mapped data + image.apply_transparency() + image.load() + mode = image.palette.mode if image.palette else "RGB" + size = image.size + kw["width"], kw["height"] = size + + if mode not in ["1", "L", "RGB", "RGBA"]: + mode = Image.getmodebase(mode) + + self.__mode = mode + self.__size = size + self.__photo = tkinter.PhotoImage(**kw) + self.tk = self.__photo.tk + if image: + self.paste(image) + + def __del__(self) -> None: + try: + name = self.__photo.name + except AttributeError: + return + self.__photo.name = None + try: + self.__photo.tk.call("image", "delete", name) + except Exception: + pass # ignore internal errors + + def __str__(self) -> str: + """ + Get the Tkinter photo image identifier. This method is automatically + called by Tkinter whenever a PhotoImage object is passed to a Tkinter + method. + + :return: A Tkinter photo image identifier (a string). + """ + return str(self.__photo) + + def width(self) -> int: + """ + Get the width of the image. + + :return: The width, in pixels. + """ + return self.__size[0] + + def height(self) -> int: + """ + Get the height of the image. + + :return: The height, in pixels. + """ + return self.__size[1] + + def paste(self, im: Image.Image) -> None: + """ + Paste a PIL image into the photo image. Note that this can + be very slow if the photo image is displayed. + + :param im: A PIL image. The size must match the target region. If the + mode does not match, the image is converted to the mode of + the bitmap image. + """ + # convert to blittable + ptr = im.getim() + image = im.im + if not image.isblock() or im.mode != self.__mode: + block = Image.core.new_block(self.__mode, im.size) + image.convert2(block, image) # convert directly between buffers + ptr = block.ptr + + _pyimagingtkcall("PyImagingPhoto", self.__photo, ptr) + + +# -------------------------------------------------------------------- +# BitmapImage + + +class BitmapImage: + """ + A Tkinter-compatible bitmap image. This can be used everywhere Tkinter + expects an image object. + + The given image must have mode "1". Pixels having value 0 are treated as + transparent. Options, if any, are passed on to Tkinter. The most commonly + used option is ``foreground``, which is used to specify the color for the + non-transparent parts. See the Tkinter documentation for information on + how to specify colours. + + :param image: A PIL image. + """ + + def __init__(self, image: Image.Image | None = None, **kw: Any) -> None: + # Tk compatibility: file or data + if image is None: + image = _get_image_from_kw(kw) + + if image is None: + msg = "Image is required" + raise ValueError(msg) + self.__mode = image.mode + self.__size = image.size + + self.__photo = tkinter.BitmapImage(data=image.tobitmap(), **kw) + + def __del__(self) -> None: + try: + name = self.__photo.name + except AttributeError: + return + self.__photo.name = None + try: + self.__photo.tk.call("image", "delete", name) + except Exception: + pass # ignore internal errors + + def width(self) -> int: + """ + Get the width of the image. + + :return: The width, in pixels. + """ + return self.__size[0] + + def height(self) -> int: + """ + Get the height of the image. + + :return: The height, in pixels. + """ + return self.__size[1] + + def __str__(self) -> str: + """ + Get the Tkinter bitmap image identifier. This method is automatically + called by Tkinter whenever a BitmapImage object is passed to a Tkinter + method. + + :return: A Tkinter bitmap image identifier (a string). + """ + return str(self.__photo) + + +def getimage(photo: PhotoImage) -> Image.Image: + """Copies the contents of a PhotoImage to a PIL image memory.""" + im = Image.new("RGBA", (photo.width(), photo.height())) + + _pyimagingtkcall("PyImagingPhotoGet", photo, im.getim()) + + return im + + +def _show(image: Image.Image, title: str | None) -> None: + """Helper for the Image.show method.""" + + class UI(tkinter.Label): + def __init__(self, master: tkinter.Toplevel, im: Image.Image) -> None: + self.image: BitmapImage | PhotoImage + if im.mode == "1": + self.image = BitmapImage(im, foreground="white", master=master) + else: + self.image = PhotoImage(im, master=master) + if TYPE_CHECKING: + image = cast(tkinter._Image, self.image) + else: + image = self.image + super().__init__(master, image=image, bg="black", bd=0) + + if not getattr(tkinter, "_default_root"): + msg = "tkinter not initialized" + raise OSError(msg) + top = tkinter.Toplevel() + if title: + top.title(title) + UI(top, image).pack() diff --git a/venv/Lib/site-packages/PIL/ImageTransform.py b/venv/Lib/site-packages/PIL/ImageTransform.py new file mode 100644 index 00000000..a3d8f441 --- /dev/null +++ b/venv/Lib/site-packages/PIL/ImageTransform.py @@ -0,0 +1,136 @@ +# +# The Python Imaging Library. +# $Id$ +# +# transform wrappers +# +# History: +# 2002-04-08 fl Created +# +# Copyright (c) 2002 by Secret Labs AB +# Copyright (c) 2002 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from collections.abc import Sequence +from typing import Any + +from . import Image + + +class Transform(Image.ImageTransformHandler): + """Base class for other transforms defined in :py:mod:`~PIL.ImageTransform`.""" + + method: Image.Transform + + def __init__(self, data: Sequence[Any]) -> None: + self.data = data + + def getdata(self) -> tuple[Image.Transform, Sequence[int]]: + return self.method, self.data + + def transform( + self, + size: tuple[int, int], + image: Image.Image, + **options: Any, + ) -> Image.Image: + """Perform the transform. Called from :py:meth:`.Image.transform`.""" + # can be overridden + method, data = self.getdata() + return image.transform(size, method, data, **options) + + +class AffineTransform(Transform): + """ + Define an affine image transform. + + This function takes a 6-tuple (a, b, c, d, e, f) which contain the first + two rows from an affine transform matrix. For each pixel (x, y) in the + output image, the new value is taken from a position (a x + b y + c, + d x + e y + f) in the input image, rounded to nearest pixel. + + This function can be used to scale, translate, rotate, and shear the + original image. + + See :py:meth:`.Image.transform` + + :param matrix: A 6-tuple (a, b, c, d, e, f) containing the first two rows + from an affine transform matrix. + """ + + method = Image.Transform.AFFINE + + +class PerspectiveTransform(Transform): + """ + Define a perspective image transform. + + This function takes an 8-tuple (a, b, c, d, e, f, g, h). For each pixel + (x, y) in the output image, the new value is taken from a position + ((a x + b y + c) / (g x + h y + 1), (d x + e y + f) / (g x + h y + 1)) in + the input image, rounded to nearest pixel. + + This function can be used to scale, translate, rotate, and shear the + original image. + + See :py:meth:`.Image.transform` + + :param matrix: An 8-tuple (a, b, c, d, e, f, g, h). + """ + + method = Image.Transform.PERSPECTIVE + + +class ExtentTransform(Transform): + """ + Define a transform to extract a subregion from an image. + + Maps a rectangle (defined by two corners) from the image to a rectangle of + the given size. The resulting image will contain data sampled from between + the corners, such that (x0, y0) in the input image will end up at (0,0) in + the output image, and (x1, y1) at size. + + This method can be used to crop, stretch, shrink, or mirror an arbitrary + rectangle in the current image. It is slightly slower than crop, but about + as fast as a corresponding resize operation. + + See :py:meth:`.Image.transform` + + :param bbox: A 4-tuple (x0, y0, x1, y1) which specifies two points in the + input image's coordinate system. See :ref:`coordinate-system`. + """ + + method = Image.Transform.EXTENT + + +class QuadTransform(Transform): + """ + Define a quad image transform. + + Maps a quadrilateral (a region defined by four corners) from the image to a + rectangle of the given size. + + See :py:meth:`.Image.transform` + + :param xy: An 8-tuple (x0, y0, x1, y1, x2, y2, x3, y3) which contain the + upper left, lower left, lower right, and upper right corner of the + source quadrilateral. + """ + + method = Image.Transform.QUAD + + +class MeshTransform(Transform): + """ + Define a mesh image transform. A mesh transform consists of one or more + individual quad transforms. + + See :py:meth:`.Image.transform` + + :param data: A list of (bbox, quad) tuples. + """ + + method = Image.Transform.MESH diff --git a/venv/Lib/site-packages/PIL/ImageWin.py b/venv/Lib/site-packages/PIL/ImageWin.py new file mode 100644 index 00000000..98c28f29 --- /dev/null +++ b/venv/Lib/site-packages/PIL/ImageWin.py @@ -0,0 +1,247 @@ +# +# The Python Imaging Library. +# $Id$ +# +# a Windows DIB display interface +# +# History: +# 1996-05-20 fl Created +# 1996-09-20 fl Fixed subregion exposure +# 1997-09-21 fl Added draw primitive (for tzPrint) +# 2003-05-21 fl Added experimental Window/ImageWindow classes +# 2003-09-05 fl Added fromstring/tostring methods +# +# Copyright (c) Secret Labs AB 1997-2003. +# Copyright (c) Fredrik Lundh 1996-2003. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from . import Image + + +class HDC: + """ + Wraps an HDC integer. The resulting object can be passed to the + :py:meth:`~PIL.ImageWin.Dib.draw` and :py:meth:`~PIL.ImageWin.Dib.expose` + methods. + """ + + def __init__(self, dc: int) -> None: + self.dc = dc + + def __int__(self) -> int: + return self.dc + + +class HWND: + """ + Wraps an HWND integer. The resulting object can be passed to the + :py:meth:`~PIL.ImageWin.Dib.draw` and :py:meth:`~PIL.ImageWin.Dib.expose` + methods, instead of a DC. + """ + + def __init__(self, wnd: int) -> None: + self.wnd = wnd + + def __int__(self) -> int: + return self.wnd + + +class Dib: + """ + A Windows bitmap with the given mode and size. The mode can be one of "1", + "L", "P", or "RGB". + + If the display requires a palette, this constructor creates a suitable + palette and associates it with the image. For an "L" image, 128 graylevels + are allocated. For an "RGB" image, a 6x6x6 colour cube is used, together + with 20 graylevels. + + To make sure that palettes work properly under Windows, you must call the + ``palette`` method upon certain events from Windows. + + :param image: Either a PIL image, or a mode string. If a mode string is + used, a size must also be given. The mode can be one of "1", + "L", "P", or "RGB". + :param size: If the first argument is a mode string, this + defines the size of the image. + """ + + def __init__( + self, image: Image.Image | str, size: tuple[int, int] | None = None + ) -> None: + if isinstance(image, str): + mode = image + image = "" + if size is None: + msg = "If first argument is mode, size is required" + raise ValueError(msg) + else: + mode = image.mode + size = image.size + if mode not in ["1", "L", "P", "RGB"]: + mode = Image.getmodebase(mode) + self.image = Image.core.display(mode, size) + self.mode = mode + self.size = size + if image: + assert not isinstance(image, str) + self.paste(image) + + def expose(self, handle: int | HDC | HWND) -> None: + """ + Copy the bitmap contents to a device context. + + :param handle: Device context (HDC), cast to a Python integer, or an + HDC or HWND instance. In PythonWin, you can use + ``CDC.GetHandleAttrib()`` to get a suitable handle. + """ + handle_int = int(handle) + if isinstance(handle, HWND): + dc = self.image.getdc(handle_int) + try: + self.image.expose(dc) + finally: + self.image.releasedc(handle_int, dc) + else: + self.image.expose(handle_int) + + def draw( + self, + handle: int | HDC | HWND, + dst: tuple[int, int, int, int], + src: tuple[int, int, int, int] | None = None, + ) -> None: + """ + Same as expose, but allows you to specify where to draw the image, and + what part of it to draw. + + The destination and source areas are given as 4-tuple rectangles. If + the source is omitted, the entire image is copied. If the source and + the destination have different sizes, the image is resized as + necessary. + """ + if src is None: + src = (0, 0) + self.size + handle_int = int(handle) + if isinstance(handle, HWND): + dc = self.image.getdc(handle_int) + try: + self.image.draw(dc, dst, src) + finally: + self.image.releasedc(handle_int, dc) + else: + self.image.draw(handle_int, dst, src) + + def query_palette(self, handle: int | HDC | HWND) -> int: + """ + Installs the palette associated with the image in the given device + context. + + This method should be called upon **QUERYNEWPALETTE** and + **PALETTECHANGED** events from Windows. If this method returns a + non-zero value, one or more display palette entries were changed, and + the image should be redrawn. + + :param handle: Device context (HDC), cast to a Python integer, or an + HDC or HWND instance. + :return: The number of entries that were changed (if one or more entries, + this indicates that the image should be redrawn). + """ + handle_int = int(handle) + if isinstance(handle, HWND): + handle = self.image.getdc(handle_int) + try: + result = self.image.query_palette(handle) + finally: + self.image.releasedc(handle, handle) + else: + result = self.image.query_palette(handle_int) + return result + + def paste( + self, im: Image.Image, box: tuple[int, int, int, int] | None = None + ) -> None: + """ + Paste a PIL image into the bitmap image. + + :param im: A PIL image. The size must match the target region. + If the mode does not match, the image is converted to the + mode of the bitmap image. + :param box: A 4-tuple defining the left, upper, right, and + lower pixel coordinate. See :ref:`coordinate-system`. If + None is given instead of a tuple, all of the image is + assumed. + """ + im.load() + if self.mode != im.mode: + im = im.convert(self.mode) + if box: + self.image.paste(im.im, box) + else: + self.image.paste(im.im) + + def frombytes(self, buffer: bytes) -> None: + """ + Load display memory contents from byte data. + + :param buffer: A buffer containing display data (usually + data returned from :py:func:`~PIL.ImageWin.Dib.tobytes`) + """ + self.image.frombytes(buffer) + + def tobytes(self) -> bytes: + """ + Copy display memory contents to bytes object. + + :return: A bytes object containing display data. + """ + return self.image.tobytes() + + +class Window: + """Create a Window with the given title size.""" + + def __init__( + self, title: str = "PIL", width: int | None = None, height: int | None = None + ) -> None: + self.hwnd = Image.core.createwindow( + title, self.__dispatcher, width or 0, height or 0 + ) + + def __dispatcher(self, action: str, *args: int) -> None: + getattr(self, f"ui_handle_{action}")(*args) + + def ui_handle_clear(self, dc: int, x0: int, y0: int, x1: int, y1: int) -> None: + pass + + def ui_handle_damage(self, x0: int, y0: int, x1: int, y1: int) -> None: + pass + + def ui_handle_destroy(self) -> None: + pass + + def ui_handle_repair(self, dc: int, x0: int, y0: int, x1: int, y1: int) -> None: + pass + + def ui_handle_resize(self, width: int, height: int) -> None: + pass + + def mainloop(self) -> None: + Image.core.eventloop() + + +class ImageWindow(Window): + """Create an image window which displays the given image.""" + + def __init__(self, image: Image.Image | Dib, title: str = "PIL") -> None: + if not isinstance(image, Dib): + image = Dib(image) + self.image = image + width, height = image.size + super().__init__(title, width=width, height=height) + + def ui_handle_repair(self, dc: int, x0: int, y0: int, x1: int, y1: int) -> None: + self.image.draw(dc, (x0, y0, x1, y1)) diff --git a/venv/Lib/site-packages/PIL/ImtImagePlugin.py b/venv/Lib/site-packages/PIL/ImtImagePlugin.py new file mode 100644 index 00000000..594c5651 --- /dev/null +++ b/venv/Lib/site-packages/PIL/ImtImagePlugin.py @@ -0,0 +1,103 @@ +# +# The Python Imaging Library. +# $Id$ +# +# IM Tools support for PIL +# +# history: +# 1996-05-27 fl Created (read 8-bit images only) +# 2001-02-17 fl Use 're' instead of 'regex' (Python 2.1) (0.2) +# +# Copyright (c) Secret Labs AB 1997-2001. +# Copyright (c) Fredrik Lundh 1996-2001. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import re + +from . import Image, ImageFile + +# +# -------------------------------------------------------------------- + +field = re.compile(rb"([a-z]*) ([^ \r\n]*)") + + +## +# Image plugin for IM Tools images. + + +class ImtImageFile(ImageFile.ImageFile): + format = "IMT" + format_description = "IM Tools" + + def _open(self) -> None: + # Quick rejection: if there's not a LF among the first + # 100 bytes, this is (probably) not a text header. + + assert self.fp is not None + + buffer = self.fp.read(100) + if b"\n" not in buffer: + msg = "not an IM file" + raise SyntaxError(msg) + + xsize = ysize = 0 + + while True: + if buffer: + s = buffer[:1] + buffer = buffer[1:] + else: + s = self.fp.read(1) + if not s: + break + + if s == b"\x0C": + # image data begins + self.tile = [ + ImageFile._Tile( + "raw", + (0, 0) + self.size, + self.fp.tell() - len(buffer), + (self.mode, 0, 1), + ) + ] + + break + + else: + # read key/value pair + if b"\n" not in buffer: + buffer += self.fp.read(100) + lines = buffer.split(b"\n") + s += lines.pop(0) + buffer = b"\n".join(lines) + if len(s) == 1 or len(s) > 100: + break + if s[0] == ord(b"*"): + continue # comment + + m = field.match(s) + if not m: + break + k, v = m.group(1, 2) + if k == b"width": + xsize = int(v) + self._size = xsize, ysize + elif k == b"height": + ysize = int(v) + self._size = xsize, ysize + elif k == b"pixel" and v == b"n8": + self._mode = "L" + + +# +# -------------------------------------------------------------------- + +Image.register_open(ImtImageFile.format, ImtImageFile) + +# +# no extension registered (".im" is simply too common) diff --git a/venv/Lib/site-packages/PIL/IptcImagePlugin.py b/venv/Lib/site-packages/PIL/IptcImagePlugin.py new file mode 100644 index 00000000..60ab7c83 --- /dev/null +++ b/venv/Lib/site-packages/PIL/IptcImagePlugin.py @@ -0,0 +1,249 @@ +# +# The Python Imaging Library. +# $Id$ +# +# IPTC/NAA file handling +# +# history: +# 1995-10-01 fl Created +# 1998-03-09 fl Cleaned up and added to PIL +# 2002-06-18 fl Added getiptcinfo helper +# +# Copyright (c) Secret Labs AB 1997-2002. +# Copyright (c) Fredrik Lundh 1995. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from collections.abc import Sequence +from io import BytesIO +from typing import cast + +from . import Image, ImageFile +from ._binary import i16be as i16 +from ._binary import i32be as i32 +from ._deprecate import deprecate + +COMPRESSION = {1: "raw", 5: "jpeg"} + + +def __getattr__(name: str) -> bytes: + if name == "PAD": + deprecate("IptcImagePlugin.PAD", 12) + return b"\0\0\0\0" + msg = f"module '{__name__}' has no attribute '{name}'" + raise AttributeError(msg) + + +# +# Helpers + + +def _i(c: bytes) -> int: + return i32((b"\0\0\0\0" + c)[-4:]) + + +def _i8(c: int | bytes) -> int: + return c if isinstance(c, int) else c[0] + + +def i(c: bytes) -> int: + """.. deprecated:: 10.2.0""" + deprecate("IptcImagePlugin.i", 12) + return _i(c) + + +def dump(c: Sequence[int | bytes]) -> None: + """.. deprecated:: 10.2.0""" + deprecate("IptcImagePlugin.dump", 12) + for i in c: + print(f"{_i8(i):02x}", end=" ") + print() + + +## +# Image plugin for IPTC/NAA datastreams. To read IPTC/NAA fields +# from TIFF and JPEG files, use the getiptcinfo function. + + +class IptcImageFile(ImageFile.ImageFile): + format = "IPTC" + format_description = "IPTC/NAA" + + def getint(self, key: tuple[int, int]) -> int: + return _i(self.info[key]) + + def field(self) -> tuple[tuple[int, int] | None, int]: + # + # get a IPTC field header + s = self.fp.read(5) + if not s.strip(b"\x00"): + return None, 0 + + tag = s[1], s[2] + + # syntax + if s[0] != 0x1C or tag[0] not in [1, 2, 3, 4, 5, 6, 7, 8, 9, 240]: + msg = "invalid IPTC/NAA file" + raise SyntaxError(msg) + + # field size + size = s[3] + if size > 132: + msg = "illegal field length in IPTC/NAA file" + raise OSError(msg) + elif size == 128: + size = 0 + elif size > 128: + size = _i(self.fp.read(size - 128)) + else: + size = i16(s, 3) + + return tag, size + + def _open(self) -> None: + # load descriptive fields + while True: + offset = self.fp.tell() + tag, size = self.field() + if not tag or tag == (8, 10): + break + if size: + tagdata = self.fp.read(size) + else: + tagdata = None + if tag in self.info: + if isinstance(self.info[tag], list): + self.info[tag].append(tagdata) + else: + self.info[tag] = [self.info[tag], tagdata] + else: + self.info[tag] = tagdata + + # mode + layers = self.info[(3, 60)][0] + component = self.info[(3, 60)][1] + if (3, 65) in self.info: + id = self.info[(3, 65)][0] - 1 + else: + id = 0 + if layers == 1 and not component: + self._mode = "L" + elif layers == 3 and component: + self._mode = "RGB"[id] + elif layers == 4 and component: + self._mode = "CMYK"[id] + + # size + self._size = self.getint((3, 20)), self.getint((3, 30)) + + # compression + try: + compression = COMPRESSION[self.getint((3, 120))] + except KeyError as e: + msg = "Unknown IPTC image compression" + raise OSError(msg) from e + + # tile + if tag == (8, 10): + self.tile = [ + ImageFile._Tile("iptc", (0, 0) + self.size, offset, compression) + ] + + def load(self) -> Image.core.PixelAccess | None: + if len(self.tile) != 1 or self.tile[0][0] != "iptc": + return ImageFile.ImageFile.load(self) + + offset, compression = self.tile[0][2:] + + self.fp.seek(offset) + + # Copy image data to temporary file + o = BytesIO() + if compression == "raw": + # To simplify access to the extracted file, + # prepend a PPM header + o.write(b"P5\n%d %d\n255\n" % self.size) + while True: + type, size = self.field() + if type != (8, 10): + break + while size > 0: + s = self.fp.read(min(size, 8192)) + if not s: + break + o.write(s) + size -= len(s) + + with Image.open(o) as _im: + _im.load() + self.im = _im.im + return None + + +Image.register_open(IptcImageFile.format, IptcImageFile) + +Image.register_extension(IptcImageFile.format, ".iim") + + +def getiptcinfo( + im: ImageFile.ImageFile, +) -> dict[tuple[int, int], bytes | list[bytes]] | None: + """ + Get IPTC information from TIFF, JPEG, or IPTC file. + + :param im: An image containing IPTC data. + :returns: A dictionary containing IPTC information, or None if + no IPTC information block was found. + """ + from . import JpegImagePlugin, TiffImagePlugin + + data = None + + info: dict[tuple[int, int], bytes | list[bytes]] = {} + if isinstance(im, IptcImageFile): + # return info dictionary right away + for k, v in im.info.items(): + if isinstance(k, tuple): + info[k] = v + return info + + elif isinstance(im, JpegImagePlugin.JpegImageFile): + # extract the IPTC/NAA resource + photoshop = im.info.get("photoshop") + if photoshop: + data = photoshop.get(0x0404) + + elif isinstance(im, TiffImagePlugin.TiffImageFile): + # get raw data from the IPTC/NAA tag (PhotoShop tags the data + # as 4-byte integers, so we cannot use the get method...) + try: + data = im.tag_v2[TiffImagePlugin.IPTC_NAA_CHUNK] + except KeyError: + pass + + if data is None: + return None # no properties + + # create an IptcImagePlugin object without initializing it + class FakeImage: + pass + + fake_im = FakeImage() + fake_im.__class__ = IptcImageFile # type: ignore[assignment] + iptc_im = cast(IptcImageFile, fake_im) + + # parse the IPTC information chunk + iptc_im.info = {} + iptc_im.fp = BytesIO(data) + + try: + iptc_im._open() + except (IndexError, KeyError): + pass # expected failure + + for k, v in iptc_im.info.items(): + if isinstance(k, tuple): + info[k] = v + return info diff --git a/venv/Lib/site-packages/PIL/Jpeg2KImagePlugin.py b/venv/Lib/site-packages/PIL/Jpeg2KImagePlugin.py new file mode 100644 index 00000000..b6ebd562 --- /dev/null +++ b/venv/Lib/site-packages/PIL/Jpeg2KImagePlugin.py @@ -0,0 +1,443 @@ +# +# The Python Imaging Library +# $Id$ +# +# JPEG2000 file handling +# +# History: +# 2014-03-12 ajh Created +# 2021-06-30 rogermb Extract dpi information from the 'resc' header box +# +# Copyright (c) 2014 Coriolis Systems Limited +# Copyright (c) 2014 Alastair Houghton +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io +import os +import struct +from collections.abc import Callable +from typing import IO, cast + +from . import Image, ImageFile, ImagePalette, _binary + + +class BoxReader: + """ + A small helper class to read fields stored in JPEG2000 header boxes + and to easily step into and read sub-boxes. + """ + + def __init__(self, fp: IO[bytes], length: int = -1) -> None: + self.fp = fp + self.has_length = length >= 0 + self.length = length + self.remaining_in_box = -1 + + def _can_read(self, num_bytes: int) -> bool: + if self.has_length and self.fp.tell() + num_bytes > self.length: + # Outside box: ensure we don't read past the known file length + return False + if self.remaining_in_box >= 0: + # Inside box contents: ensure read does not go past box boundaries + return num_bytes <= self.remaining_in_box + else: + return True # No length known, just read + + def _read_bytes(self, num_bytes: int) -> bytes: + if not self._can_read(num_bytes): + msg = "Not enough data in header" + raise SyntaxError(msg) + + data = self.fp.read(num_bytes) + if len(data) < num_bytes: + msg = f"Expected to read {num_bytes} bytes but only got {len(data)}." + raise OSError(msg) + + if self.remaining_in_box > 0: + self.remaining_in_box -= num_bytes + return data + + def read_fields(self, field_format: str) -> tuple[int | bytes, ...]: + size = struct.calcsize(field_format) + data = self._read_bytes(size) + return struct.unpack(field_format, data) + + def read_boxes(self) -> BoxReader: + size = self.remaining_in_box + data = self._read_bytes(size) + return BoxReader(io.BytesIO(data), size) + + def has_next_box(self) -> bool: + if self.has_length: + return self.fp.tell() + self.remaining_in_box < self.length + else: + return True + + def next_box_type(self) -> bytes: + # Skip the rest of the box if it has not been read + if self.remaining_in_box > 0: + self.fp.seek(self.remaining_in_box, os.SEEK_CUR) + self.remaining_in_box = -1 + + # Read the length and type of the next box + lbox, tbox = cast(tuple[int, bytes], self.read_fields(">I4s")) + if lbox == 1: + lbox = cast(int, self.read_fields(">Q")[0]) + hlen = 16 + else: + hlen = 8 + + if lbox < hlen or not self._can_read(lbox - hlen): + msg = "Invalid header length" + raise SyntaxError(msg) + + self.remaining_in_box = lbox - hlen + return tbox + + +def _parse_codestream(fp: IO[bytes]) -> tuple[tuple[int, int], str]: + """Parse the JPEG 2000 codestream to extract the size and component + count from the SIZ marker segment, returning a PIL (size, mode) tuple.""" + + hdr = fp.read(2) + lsiz = _binary.i16be(hdr) + siz = hdr + fp.read(lsiz - 2) + lsiz, rsiz, xsiz, ysiz, xosiz, yosiz, _, _, _, _, csiz = struct.unpack_from( + ">HHIIIIIIIIH", siz + ) + + size = (xsiz - xosiz, ysiz - yosiz) + if csiz == 1: + ssiz = struct.unpack_from(">B", siz, 38) + if (ssiz[0] & 0x7F) + 1 > 8: + mode = "I;16" + else: + mode = "L" + elif csiz == 2: + mode = "LA" + elif csiz == 3: + mode = "RGB" + elif csiz == 4: + mode = "RGBA" + else: + msg = "unable to determine J2K image mode" + raise SyntaxError(msg) + + return size, mode + + +def _res_to_dpi(num: int, denom: int, exp: int) -> float | None: + """Convert JPEG2000's (numerator, denominator, exponent-base-10) resolution, + calculated as (num / denom) * 10^exp and stored in dots per meter, + to floating-point dots per inch.""" + if denom == 0: + return None + return (254 * num * (10**exp)) / (10000 * denom) + + +def _parse_jp2_header( + fp: IO[bytes], +) -> tuple[ + tuple[int, int], + str, + str | None, + tuple[float, float] | None, + ImagePalette.ImagePalette | None, +]: + """Parse the JP2 header box to extract size, component count, + color space information, and optionally DPI information, + returning a (size, mode, mimetype, dpi) tuple.""" + + # Find the JP2 header box + reader = BoxReader(fp) + header = None + mimetype = None + while reader.has_next_box(): + tbox = reader.next_box_type() + + if tbox == b"jp2h": + header = reader.read_boxes() + break + elif tbox == b"ftyp": + if reader.read_fields(">4s")[0] == b"jpx ": + mimetype = "image/jpx" + assert header is not None + + size = None + mode = None + bpc = None + nc = None + dpi = None # 2-tuple of DPI info, or None + palette = None + + while header.has_next_box(): + tbox = header.next_box_type() + + if tbox == b"ihdr": + height, width, nc, bpc = header.read_fields(">IIHB") + assert isinstance(height, int) + assert isinstance(width, int) + assert isinstance(bpc, int) + size = (width, height) + if nc == 1 and (bpc & 0x7F) > 8: + mode = "I;16" + elif nc == 1: + mode = "L" + elif nc == 2: + mode = "LA" + elif nc == 3: + mode = "RGB" + elif nc == 4: + mode = "RGBA" + elif tbox == b"colr" and nc == 4: + meth, _, _, enumcs = header.read_fields(">BBBI") + if meth == 1 and enumcs == 12: + mode = "CMYK" + elif tbox == b"pclr" and mode in ("L", "LA"): + ne, npc = header.read_fields(">HB") + assert isinstance(ne, int) + assert isinstance(npc, int) + max_bitdepth = 0 + for bitdepth in header.read_fields(">" + ("B" * npc)): + assert isinstance(bitdepth, int) + if bitdepth > max_bitdepth: + max_bitdepth = bitdepth + if max_bitdepth <= 8: + palette = ImagePalette.ImagePalette("RGBA" if npc == 4 else "RGB") + for i in range(ne): + color: list[int] = [] + for value in header.read_fields(">" + ("B" * npc)): + assert isinstance(value, int) + color.append(value) + palette.getcolor(tuple(color)) + mode = "P" if mode == "L" else "PA" + elif tbox == b"res ": + res = header.read_boxes() + while res.has_next_box(): + tres = res.next_box_type() + if tres == b"resc": + vrcn, vrcd, hrcn, hrcd, vrce, hrce = res.read_fields(">HHHHBB") + assert isinstance(vrcn, int) + assert isinstance(vrcd, int) + assert isinstance(hrcn, int) + assert isinstance(hrcd, int) + assert isinstance(vrce, int) + assert isinstance(hrce, int) + hres = _res_to_dpi(hrcn, hrcd, hrce) + vres = _res_to_dpi(vrcn, vrcd, vrce) + if hres is not None and vres is not None: + dpi = (hres, vres) + break + + if size is None or mode is None: + msg = "Malformed JP2 header" + raise SyntaxError(msg) + + return size, mode, mimetype, dpi, palette + + +## +# Image plugin for JPEG2000 images. + + +class Jpeg2KImageFile(ImageFile.ImageFile): + format = "JPEG2000" + format_description = "JPEG 2000 (ISO 15444)" + + def _open(self) -> None: + sig = self.fp.read(4) + if sig == b"\xff\x4f\xff\x51": + self.codec = "j2k" + self._size, self._mode = _parse_codestream(self.fp) + else: + sig = sig + self.fp.read(8) + + if sig == b"\x00\x00\x00\x0cjP \x0d\x0a\x87\x0a": + self.codec = "jp2" + header = _parse_jp2_header(self.fp) + self._size, self._mode, self.custom_mimetype, dpi, self.palette = header + if dpi is not None: + self.info["dpi"] = dpi + if self.fp.read(12).endswith(b"jp2c\xff\x4f\xff\x51"): + self._parse_comment() + else: + msg = "not a JPEG 2000 file" + raise SyntaxError(msg) + + self._reduce = 0 + self.layers = 0 + + fd = -1 + length = -1 + + try: + fd = self.fp.fileno() + length = os.fstat(fd).st_size + except Exception: + fd = -1 + try: + pos = self.fp.tell() + self.fp.seek(0, io.SEEK_END) + length = self.fp.tell() + self.fp.seek(pos) + except Exception: + length = -1 + + self.tile = [ + ImageFile._Tile( + "jpeg2k", + (0, 0) + self.size, + 0, + (self.codec, self._reduce, self.layers, fd, length), + ) + ] + + def _parse_comment(self) -> None: + hdr = self.fp.read(2) + length = _binary.i16be(hdr) + self.fp.seek(length - 2, os.SEEK_CUR) + + while True: + marker = self.fp.read(2) + if not marker: + break + typ = marker[1] + if typ in (0x90, 0xD9): + # Start of tile or end of codestream + break + hdr = self.fp.read(2) + length = _binary.i16be(hdr) + if typ == 0x64: + # Comment + self.info["comment"] = self.fp.read(length - 2)[2:] + break + else: + self.fp.seek(length - 2, os.SEEK_CUR) + + @property # type: ignore[override] + def reduce( + self, + ) -> ( + Callable[[int | tuple[int, int], tuple[int, int, int, int] | None], Image.Image] + | int + ): + # https://github.com/python-pillow/Pillow/issues/4343 found that the + # new Image 'reduce' method was shadowed by this plugin's 'reduce' + # property. This attempts to allow for both scenarios + return self._reduce or super().reduce + + @reduce.setter + def reduce(self, value: int) -> None: + self._reduce = value + + def load(self) -> Image.core.PixelAccess | None: + if self.tile and self._reduce: + power = 1 << self._reduce + adjust = power >> 1 + self._size = ( + int((self.size[0] + adjust) / power), + int((self.size[1] + adjust) / power), + ) + + # Update the reduce and layers settings + t = self.tile[0] + assert isinstance(t[3], tuple) + t3 = (t[3][0], self._reduce, self.layers, t[3][3], t[3][4]) + self.tile = [ImageFile._Tile(t[0], (0, 0) + self.size, t[2], t3)] + + return ImageFile.ImageFile.load(self) + + +def _accept(prefix: bytes) -> bool: + return ( + prefix[:4] == b"\xff\x4f\xff\x51" + or prefix[:12] == b"\x00\x00\x00\x0cjP \x0d\x0a\x87\x0a" + ) + + +# ------------------------------------------------------------ +# Save support + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + # Get the keyword arguments + info = im.encoderinfo + + if isinstance(filename, str): + filename = filename.encode() + if filename.endswith(b".j2k") or info.get("no_jp2", False): + kind = "j2k" + else: + kind = "jp2" + + offset = info.get("offset", None) + tile_offset = info.get("tile_offset", None) + tile_size = info.get("tile_size", None) + quality_mode = info.get("quality_mode", "rates") + quality_layers = info.get("quality_layers", None) + if quality_layers is not None and not ( + isinstance(quality_layers, (list, tuple)) + and all( + isinstance(quality_layer, (int, float)) for quality_layer in quality_layers + ) + ): + msg = "quality_layers must be a sequence of numbers" + raise ValueError(msg) + + num_resolutions = info.get("num_resolutions", 0) + cblk_size = info.get("codeblock_size", None) + precinct_size = info.get("precinct_size", None) + irreversible = info.get("irreversible", False) + progression = info.get("progression", "LRCP") + cinema_mode = info.get("cinema_mode", "no") + mct = info.get("mct", 0) + signed = info.get("signed", False) + comment = info.get("comment") + if isinstance(comment, str): + comment = comment.encode() + plt = info.get("plt", False) + + fd = -1 + if hasattr(fp, "fileno"): + try: + fd = fp.fileno() + except Exception: + fd = -1 + + im.encoderconfig = ( + offset, + tile_offset, + tile_size, + quality_mode, + quality_layers, + num_resolutions, + cblk_size, + precinct_size, + irreversible, + progression, + cinema_mode, + mct, + signed, + fd, + comment, + plt, + ) + + ImageFile._save(im, fp, [ImageFile._Tile("jpeg2k", (0, 0) + im.size, 0, kind)]) + + +# ------------------------------------------------------------ +# Registry stuff + + +Image.register_open(Jpeg2KImageFile.format, Jpeg2KImageFile, _accept) +Image.register_save(Jpeg2KImageFile.format, _save) + +Image.register_extensions( + Jpeg2KImageFile.format, [".jp2", ".j2k", ".jpc", ".jpf", ".jpx", ".j2c"] +) + +Image.register_mime(Jpeg2KImageFile.format, "image/jp2") diff --git a/venv/Lib/site-packages/PIL/JpegImagePlugin.py b/venv/Lib/site-packages/PIL/JpegImagePlugin.py new file mode 100644 index 00000000..6510e072 --- /dev/null +++ b/venv/Lib/site-packages/PIL/JpegImagePlugin.py @@ -0,0 +1,895 @@ +# +# The Python Imaging Library. +# $Id$ +# +# JPEG (JFIF) file handling +# +# See "Digital Compression and Coding of Continuous-Tone Still Images, +# Part 1, Requirements and Guidelines" (CCITT T.81 / ISO 10918-1) +# +# History: +# 1995-09-09 fl Created +# 1995-09-13 fl Added full parser +# 1996-03-25 fl Added hack to use the IJG command line utilities +# 1996-05-05 fl Workaround Photoshop 2.5 CMYK polarity bug +# 1996-05-28 fl Added draft support, JFIF version (0.1) +# 1996-12-30 fl Added encoder options, added progression property (0.2) +# 1997-08-27 fl Save mode 1 images as BW (0.3) +# 1998-07-12 fl Added YCbCr to draft and save methods (0.4) +# 1998-10-19 fl Don't hang on files using 16-bit DQT's (0.4.1) +# 2001-04-16 fl Extract DPI settings from JFIF files (0.4.2) +# 2002-07-01 fl Skip pad bytes before markers; identify Exif files (0.4.3) +# 2003-04-25 fl Added experimental EXIF decoder (0.5) +# 2003-06-06 fl Added experimental EXIF GPSinfo decoder +# 2003-09-13 fl Extract COM markers +# 2009-09-06 fl Added icc_profile support (from Florian Hoech) +# 2009-03-06 fl Changed CMYK handling; always use Adobe polarity (0.6) +# 2009-03-08 fl Added subsampling support (from Justin Huff). +# +# Copyright (c) 1997-2003 by Secret Labs AB. +# Copyright (c) 1995-1996 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import array +import io +import math +import os +import struct +import subprocess +import sys +import tempfile +import warnings +from typing import IO, TYPE_CHECKING, Any + +from . import Image, ImageFile +from ._binary import i16be as i16 +from ._binary import i32be as i32 +from ._binary import o8 +from ._binary import o16be as o16 +from ._deprecate import deprecate +from .JpegPresets import presets + +if TYPE_CHECKING: + from .MpoImagePlugin import MpoImageFile + +# +# Parser + + +def Skip(self: JpegImageFile, marker: int) -> None: + n = i16(self.fp.read(2)) - 2 + ImageFile._safe_read(self.fp, n) + + +def APP(self: JpegImageFile, marker: int) -> None: + # + # Application marker. Store these in the APP dictionary. + # Also look for well-known application markers. + + n = i16(self.fp.read(2)) - 2 + s = ImageFile._safe_read(self.fp, n) + + app = "APP%d" % (marker & 15) + + self.app[app] = s # compatibility + self.applist.append((app, s)) + + if marker == 0xFFE0 and s[:4] == b"JFIF": + # extract JFIF information + self.info["jfif"] = version = i16(s, 5) # version + self.info["jfif_version"] = divmod(version, 256) + # extract JFIF properties + try: + jfif_unit = s[7] + jfif_density = i16(s, 8), i16(s, 10) + except Exception: + pass + else: + if jfif_unit == 1: + self.info["dpi"] = jfif_density + self.info["jfif_unit"] = jfif_unit + self.info["jfif_density"] = jfif_density + elif marker == 0xFFE1 and s[:6] == b"Exif\0\0": + # extract EXIF information + if "exif" in self.info: + self.info["exif"] += s[6:] + else: + self.info["exif"] = s + self._exif_offset = self.fp.tell() - n + 6 + elif marker == 0xFFE1 and s[:29] == b"http://ns.adobe.com/xap/1.0/\x00": + self.info["xmp"] = s.split(b"\x00", 1)[1] + elif marker == 0xFFE2 and s[:5] == b"FPXR\0": + # extract FlashPix information (incomplete) + self.info["flashpix"] = s # FIXME: value will change + elif marker == 0xFFE2 and s[:12] == b"ICC_PROFILE\0": + # Since an ICC profile can be larger than the maximum size of + # a JPEG marker (64K), we need provisions to split it into + # multiple markers. The format defined by the ICC specifies + # one or more APP2 markers containing the following data: + # Identifying string ASCII "ICC_PROFILE\0" (12 bytes) + # Marker sequence number 1, 2, etc (1 byte) + # Number of markers Total of APP2's used (1 byte) + # Profile data (remainder of APP2 data) + # Decoders should use the marker sequence numbers to + # reassemble the profile, rather than assuming that the APP2 + # markers appear in the correct sequence. + self.icclist.append(s) + elif marker == 0xFFED and s[:14] == b"Photoshop 3.0\x00": + # parse the image resource block + offset = 14 + photoshop = self.info.setdefault("photoshop", {}) + while s[offset : offset + 4] == b"8BIM": + try: + offset += 4 + # resource code + code = i16(s, offset) + offset += 2 + # resource name (usually empty) + name_len = s[offset] + # name = s[offset+1:offset+1+name_len] + offset += 1 + name_len + offset += offset & 1 # align + # resource data block + size = i32(s, offset) + offset += 4 + data = s[offset : offset + size] + if code == 0x03ED: # ResolutionInfo + photoshop[code] = { + "XResolution": i32(data, 0) / 65536, + "DisplayedUnitsX": i16(data, 4), + "YResolution": i32(data, 8) / 65536, + "DisplayedUnitsY": i16(data, 12), + } + else: + photoshop[code] = data + offset += size + offset += offset & 1 # align + except struct.error: + break # insufficient data + + elif marker == 0xFFEE and s[:5] == b"Adobe": + self.info["adobe"] = i16(s, 5) + # extract Adobe custom properties + try: + adobe_transform = s[11] + except IndexError: + pass + else: + self.info["adobe_transform"] = adobe_transform + elif marker == 0xFFE2 and s[:4] == b"MPF\0": + # extract MPO information + self.info["mp"] = s[4:] + # offset is current location minus buffer size + # plus constant header size + self.info["mpoffset"] = self.fp.tell() - n + 4 + + +def COM(self: JpegImageFile, marker: int) -> None: + # + # Comment marker. Store these in the APP dictionary. + n = i16(self.fp.read(2)) - 2 + s = ImageFile._safe_read(self.fp, n) + + self.info["comment"] = s + self.app["COM"] = s # compatibility + self.applist.append(("COM", s)) + + +def SOF(self: JpegImageFile, marker: int) -> None: + # + # Start of frame marker. Defines the size and mode of the + # image. JPEG is colour blind, so we use some simple + # heuristics to map the number of layers to an appropriate + # mode. Note that this could be made a bit brighter, by + # looking for JFIF and Adobe APP markers. + + n = i16(self.fp.read(2)) - 2 + s = ImageFile._safe_read(self.fp, n) + self._size = i16(s, 3), i16(s, 1) + + self.bits = s[0] + if self.bits != 8: + msg = f"cannot handle {self.bits}-bit layers" + raise SyntaxError(msg) + + self.layers = s[5] + if self.layers == 1: + self._mode = "L" + elif self.layers == 3: + self._mode = "RGB" + elif self.layers == 4: + self._mode = "CMYK" + else: + msg = f"cannot handle {self.layers}-layer images" + raise SyntaxError(msg) + + if marker in [0xFFC2, 0xFFC6, 0xFFCA, 0xFFCE]: + self.info["progressive"] = self.info["progression"] = 1 + + if self.icclist: + # fixup icc profile + self.icclist.sort() # sort by sequence number + if self.icclist[0][13] == len(self.icclist): + profile = [p[14:] for p in self.icclist] + icc_profile = b"".join(profile) + else: + icc_profile = None # wrong number of fragments + self.info["icc_profile"] = icc_profile + self.icclist = [] + + for i in range(6, len(s), 3): + t = s[i : i + 3] + # 4-tuples: id, vsamp, hsamp, qtable + self.layer.append((t[0], t[1] // 16, t[1] & 15, t[2])) + + +def DQT(self: JpegImageFile, marker: int) -> None: + # + # Define quantization table. Note that there might be more + # than one table in each marker. + + # FIXME: The quantization tables can be used to estimate the + # compression quality. + + n = i16(self.fp.read(2)) - 2 + s = ImageFile._safe_read(self.fp, n) + while len(s): + v = s[0] + precision = 1 if (v // 16 == 0) else 2 # in bytes + qt_length = 1 + precision * 64 + if len(s) < qt_length: + msg = "bad quantization table marker" + raise SyntaxError(msg) + data = array.array("B" if precision == 1 else "H", s[1:qt_length]) + if sys.byteorder == "little" and precision > 1: + data.byteswap() # the values are always big-endian + self.quantization[v & 15] = [data[i] for i in zigzag_index] + s = s[qt_length:] + + +# +# JPEG marker table + +MARKER = { + 0xFFC0: ("SOF0", "Baseline DCT", SOF), + 0xFFC1: ("SOF1", "Extended Sequential DCT", SOF), + 0xFFC2: ("SOF2", "Progressive DCT", SOF), + 0xFFC3: ("SOF3", "Spatial lossless", SOF), + 0xFFC4: ("DHT", "Define Huffman table", Skip), + 0xFFC5: ("SOF5", "Differential sequential DCT", SOF), + 0xFFC6: ("SOF6", "Differential progressive DCT", SOF), + 0xFFC7: ("SOF7", "Differential spatial", SOF), + 0xFFC8: ("JPG", "Extension", None), + 0xFFC9: ("SOF9", "Extended sequential DCT (AC)", SOF), + 0xFFCA: ("SOF10", "Progressive DCT (AC)", SOF), + 0xFFCB: ("SOF11", "Spatial lossless DCT (AC)", SOF), + 0xFFCC: ("DAC", "Define arithmetic coding conditioning", Skip), + 0xFFCD: ("SOF13", "Differential sequential DCT (AC)", SOF), + 0xFFCE: ("SOF14", "Differential progressive DCT (AC)", SOF), + 0xFFCF: ("SOF15", "Differential spatial (AC)", SOF), + 0xFFD0: ("RST0", "Restart 0", None), + 0xFFD1: ("RST1", "Restart 1", None), + 0xFFD2: ("RST2", "Restart 2", None), + 0xFFD3: ("RST3", "Restart 3", None), + 0xFFD4: ("RST4", "Restart 4", None), + 0xFFD5: ("RST5", "Restart 5", None), + 0xFFD6: ("RST6", "Restart 6", None), + 0xFFD7: ("RST7", "Restart 7", None), + 0xFFD8: ("SOI", "Start of image", None), + 0xFFD9: ("EOI", "End of image", None), + 0xFFDA: ("SOS", "Start of scan", Skip), + 0xFFDB: ("DQT", "Define quantization table", DQT), + 0xFFDC: ("DNL", "Define number of lines", Skip), + 0xFFDD: ("DRI", "Define restart interval", Skip), + 0xFFDE: ("DHP", "Define hierarchical progression", SOF), + 0xFFDF: ("EXP", "Expand reference component", Skip), + 0xFFE0: ("APP0", "Application segment 0", APP), + 0xFFE1: ("APP1", "Application segment 1", APP), + 0xFFE2: ("APP2", "Application segment 2", APP), + 0xFFE3: ("APP3", "Application segment 3", APP), + 0xFFE4: ("APP4", "Application segment 4", APP), + 0xFFE5: ("APP5", "Application segment 5", APP), + 0xFFE6: ("APP6", "Application segment 6", APP), + 0xFFE7: ("APP7", "Application segment 7", APP), + 0xFFE8: ("APP8", "Application segment 8", APP), + 0xFFE9: ("APP9", "Application segment 9", APP), + 0xFFEA: ("APP10", "Application segment 10", APP), + 0xFFEB: ("APP11", "Application segment 11", APP), + 0xFFEC: ("APP12", "Application segment 12", APP), + 0xFFED: ("APP13", "Application segment 13", APP), + 0xFFEE: ("APP14", "Application segment 14", APP), + 0xFFEF: ("APP15", "Application segment 15", APP), + 0xFFF0: ("JPG0", "Extension 0", None), + 0xFFF1: ("JPG1", "Extension 1", None), + 0xFFF2: ("JPG2", "Extension 2", None), + 0xFFF3: ("JPG3", "Extension 3", None), + 0xFFF4: ("JPG4", "Extension 4", None), + 0xFFF5: ("JPG5", "Extension 5", None), + 0xFFF6: ("JPG6", "Extension 6", None), + 0xFFF7: ("JPG7", "Extension 7", None), + 0xFFF8: ("JPG8", "Extension 8", None), + 0xFFF9: ("JPG9", "Extension 9", None), + 0xFFFA: ("JPG10", "Extension 10", None), + 0xFFFB: ("JPG11", "Extension 11", None), + 0xFFFC: ("JPG12", "Extension 12", None), + 0xFFFD: ("JPG13", "Extension 13", None), + 0xFFFE: ("COM", "Comment", COM), +} + + +def _accept(prefix: bytes) -> bool: + # Magic number was taken from https://en.wikipedia.org/wiki/JPEG + return prefix[:3] == b"\xFF\xD8\xFF" + + +## +# Image plugin for JPEG and JFIF images. + + +class JpegImageFile(ImageFile.ImageFile): + format = "JPEG" + format_description = "JPEG (ISO 10918)" + + def _open(self) -> None: + s = self.fp.read(3) + + if not _accept(s): + msg = "not a JPEG file" + raise SyntaxError(msg) + s = b"\xFF" + + # Create attributes + self.bits = self.layers = 0 + self._exif_offset = 0 + + # JPEG specifics (internal) + self.layer: list[tuple[int, int, int, int]] = [] + self._huffman_dc: dict[Any, Any] = {} + self._huffman_ac: dict[Any, Any] = {} + self.quantization: dict[int, list[int]] = {} + self.app: dict[str, bytes] = {} # compatibility + self.applist: list[tuple[str, bytes]] = [] + self.icclist: list[bytes] = [] + + while True: + i = s[0] + if i == 0xFF: + s = s + self.fp.read(1) + i = i16(s) + else: + # Skip non-0xFF junk + s = self.fp.read(1) + continue + + if i in MARKER: + name, description, handler = MARKER[i] + if handler is not None: + handler(self, i) + if i == 0xFFDA: # start of scan + rawmode = self.mode + if self.mode == "CMYK": + rawmode = "CMYK;I" # assume adobe conventions + self.tile = [ + ImageFile._Tile("jpeg", (0, 0) + self.size, 0, (rawmode, "")) + ] + # self.__offset = self.fp.tell() + break + s = self.fp.read(1) + elif i in {0, 0xFFFF}: + # padded marker or junk; move on + s = b"\xff" + elif i == 0xFF00: # Skip extraneous data (escaped 0xFF) + s = self.fp.read(1) + else: + msg = "no marker found" + raise SyntaxError(msg) + + self._read_dpi_from_exif() + + def __getattr__(self, name: str) -> Any: + if name in ("huffman_ac", "huffman_dc"): + deprecate(name, 12) + return getattr(self, "_" + name) + raise AttributeError(name) + + def load_read(self, read_bytes: int) -> bytes: + """ + internal: read more image data + For premature EOF and LOAD_TRUNCATED_IMAGES adds EOI marker + so libjpeg can finish decoding + """ + s = self.fp.read(read_bytes) + + if not s and ImageFile.LOAD_TRUNCATED_IMAGES and not hasattr(self, "_ended"): + # Premature EOF. + # Pretend file is finished adding EOI marker + self._ended = True + return b"\xFF\xD9" + + return s + + def draft( + self, mode: str | None, size: tuple[int, int] | None + ) -> tuple[str, tuple[int, int, float, float]] | None: + if len(self.tile) != 1: + return None + + # Protect from second call + if self.decoderconfig: + return None + + d, e, o, a = self.tile[0] + scale = 1 + original_size = self.size + + assert isinstance(a, tuple) + if a[0] == "RGB" and mode in ["L", "YCbCr"]: + self._mode = mode + a = mode, "" + + if size: + scale = min(self.size[0] // size[0], self.size[1] // size[1]) + for s in [8, 4, 2, 1]: + if scale >= s: + break + assert e is not None + e = ( + e[0], + e[1], + (e[2] - e[0] + s - 1) // s + e[0], + (e[3] - e[1] + s - 1) // s + e[1], + ) + self._size = ((self.size[0] + s - 1) // s, (self.size[1] + s - 1) // s) + scale = s + + self.tile = [ImageFile._Tile(d, e, o, a)] + self.decoderconfig = (scale, 0) + + box = (0, 0, original_size[0] / scale, original_size[1] / scale) + return self.mode, box + + def load_djpeg(self) -> None: + # ALTERNATIVE: handle JPEGs via the IJG command line utilities + + f, path = tempfile.mkstemp() + os.close(f) + if os.path.exists(self.filename): + subprocess.check_call(["djpeg", "-outfile", path, self.filename]) + else: + try: + os.unlink(path) + except OSError: + pass + + msg = "Invalid Filename" + raise ValueError(msg) + + try: + with Image.open(path) as _im: + _im.load() + self.im = _im.im + finally: + try: + os.unlink(path) + except OSError: + pass + + self._mode = self.im.mode + self._size = self.im.size + + self.tile = [] + + def _getexif(self) -> dict[int, Any] | None: + return _getexif(self) + + def _read_dpi_from_exif(self) -> None: + # If DPI isn't in JPEG header, fetch from EXIF + if "dpi" in self.info or "exif" not in self.info: + return + try: + exif = self.getexif() + resolution_unit = exif[0x0128] + x_resolution = exif[0x011A] + try: + dpi = float(x_resolution[0]) / x_resolution[1] + except TypeError: + dpi = x_resolution + if math.isnan(dpi): + msg = "DPI is not a number" + raise ValueError(msg) + if resolution_unit == 3: # cm + # 1 dpcm = 2.54 dpi + dpi *= 2.54 + self.info["dpi"] = dpi, dpi + except ( + struct.error, # truncated EXIF + KeyError, # dpi not included + SyntaxError, # invalid/unreadable EXIF + TypeError, # dpi is an invalid float + ValueError, # dpi is an invalid float + ZeroDivisionError, # invalid dpi rational value + ): + self.info["dpi"] = 72, 72 + + def _getmp(self) -> dict[int, Any] | None: + return _getmp(self) + + +def _getexif(self: JpegImageFile) -> dict[int, Any] | None: + if "exif" not in self.info: + return None + return self.getexif()._get_merged_dict() + + +def _getmp(self: JpegImageFile) -> dict[int, Any] | None: + # Extract MP information. This method was inspired by the "highly + # experimental" _getexif version that's been in use for years now, + # itself based on the ImageFileDirectory class in the TIFF plugin. + + # The MP record essentially consists of a TIFF file embedded in a JPEG + # application marker. + try: + data = self.info["mp"] + except KeyError: + return None + file_contents = io.BytesIO(data) + head = file_contents.read(8) + endianness = ">" if head[:4] == b"\x4d\x4d\x00\x2a" else "<" + # process dictionary + from . import TiffImagePlugin + + try: + info = TiffImagePlugin.ImageFileDirectory_v2(head) + file_contents.seek(info.next) + info.load(file_contents) + mp = dict(info) + except Exception as e: + msg = "malformed MP Index (unreadable directory)" + raise SyntaxError(msg) from e + # it's an error not to have a number of images + try: + quant = mp[0xB001] + except KeyError as e: + msg = "malformed MP Index (no number of images)" + raise SyntaxError(msg) from e + # get MP entries + mpentries = [] + try: + rawmpentries = mp[0xB002] + for entrynum in range(0, quant): + unpackedentry = struct.unpack_from( + f"{endianness}LLLHH", rawmpentries, entrynum * 16 + ) + labels = ("Attribute", "Size", "DataOffset", "EntryNo1", "EntryNo2") + mpentry = dict(zip(labels, unpackedentry)) + mpentryattr = { + "DependentParentImageFlag": bool(mpentry["Attribute"] & (1 << 31)), + "DependentChildImageFlag": bool(mpentry["Attribute"] & (1 << 30)), + "RepresentativeImageFlag": bool(mpentry["Attribute"] & (1 << 29)), + "Reserved": (mpentry["Attribute"] & (3 << 27)) >> 27, + "ImageDataFormat": (mpentry["Attribute"] & (7 << 24)) >> 24, + "MPType": mpentry["Attribute"] & 0x00FFFFFF, + } + if mpentryattr["ImageDataFormat"] == 0: + mpentryattr["ImageDataFormat"] = "JPEG" + else: + msg = "unsupported picture format in MPO" + raise SyntaxError(msg) + mptypemap = { + 0x000000: "Undefined", + 0x010001: "Large Thumbnail (VGA Equivalent)", + 0x010002: "Large Thumbnail (Full HD Equivalent)", + 0x020001: "Multi-Frame Image (Panorama)", + 0x020002: "Multi-Frame Image: (Disparity)", + 0x020003: "Multi-Frame Image: (Multi-Angle)", + 0x030000: "Baseline MP Primary Image", + } + mpentryattr["MPType"] = mptypemap.get(mpentryattr["MPType"], "Unknown") + mpentry["Attribute"] = mpentryattr + mpentries.append(mpentry) + mp[0xB002] = mpentries + except KeyError as e: + msg = "malformed MP Index (bad MP Entry)" + raise SyntaxError(msg) from e + # Next we should try and parse the individual image unique ID list; + # we don't because I've never seen this actually used in a real MPO + # file and so can't test it. + return mp + + +# -------------------------------------------------------------------- +# stuff to save JPEG files + +RAWMODE = { + "1": "L", + "L": "L", + "RGB": "RGB", + "RGBX": "RGB", + "CMYK": "CMYK;I", # assume adobe conventions + "YCbCr": "YCbCr", +} + +# fmt: off +zigzag_index = ( + 0, 1, 5, 6, 14, 15, 27, 28, + 2, 4, 7, 13, 16, 26, 29, 42, + 3, 8, 12, 17, 25, 30, 41, 43, + 9, 11, 18, 24, 31, 40, 44, 53, + 10, 19, 23, 32, 39, 45, 52, 54, + 20, 22, 33, 38, 46, 51, 55, 60, + 21, 34, 37, 47, 50, 56, 59, 61, + 35, 36, 48, 49, 57, 58, 62, 63, +) + +samplings = { + (1, 1, 1, 1, 1, 1): 0, + (2, 1, 1, 1, 1, 1): 1, + (2, 2, 1, 1, 1, 1): 2, +} +# fmt: on + + +def get_sampling(im: Image.Image) -> int: + # There's no subsampling when images have only 1 layer + # (grayscale images) or when they are CMYK (4 layers), + # so set subsampling to the default value. + # + # NOTE: currently Pillow can't encode JPEG to YCCK format. + # If YCCK support is added in the future, subsampling code will have + # to be updated (here and in JpegEncode.c) to deal with 4 layers. + if not isinstance(im, JpegImageFile) or im.layers in (1, 4): + return -1 + sampling = im.layer[0][1:3] + im.layer[1][1:3] + im.layer[2][1:3] + return samplings.get(sampling, -1) + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if im.width == 0 or im.height == 0: + msg = "cannot write empty image as JPEG" + raise ValueError(msg) + + try: + rawmode = RAWMODE[im.mode] + except KeyError as e: + msg = f"cannot write mode {im.mode} as JPEG" + raise OSError(msg) from e + + info = im.encoderinfo + + dpi = [round(x) for x in info.get("dpi", (0, 0))] + + quality = info.get("quality", -1) + subsampling = info.get("subsampling", -1) + qtables = info.get("qtables") + + if quality == "keep": + quality = -1 + subsampling = "keep" + qtables = "keep" + elif quality in presets: + preset = presets[quality] + quality = -1 + subsampling = preset.get("subsampling", -1) + qtables = preset.get("quantization") + elif not isinstance(quality, int): + msg = "Invalid quality setting" + raise ValueError(msg) + else: + if subsampling in presets: + subsampling = presets[subsampling].get("subsampling", -1) + if isinstance(qtables, str) and qtables in presets: + qtables = presets[qtables].get("quantization") + + if subsampling == "4:4:4": + subsampling = 0 + elif subsampling == "4:2:2": + subsampling = 1 + elif subsampling == "4:2:0": + subsampling = 2 + elif subsampling == "4:1:1": + # For compatibility. Before Pillow 4.3, 4:1:1 actually meant 4:2:0. + # Set 4:2:0 if someone is still using that value. + subsampling = 2 + elif subsampling == "keep": + if im.format != "JPEG": + msg = "Cannot use 'keep' when original image is not a JPEG" + raise ValueError(msg) + subsampling = get_sampling(im) + + def validate_qtables( + qtables: ( + str | tuple[list[int], ...] | list[list[int]] | dict[int, list[int]] | None + ) + ) -> list[list[int]] | None: + if qtables is None: + return qtables + if isinstance(qtables, str): + try: + lines = [ + int(num) + for line in qtables.splitlines() + for num in line.split("#", 1)[0].split() + ] + except ValueError as e: + msg = "Invalid quantization table" + raise ValueError(msg) from e + else: + qtables = [lines[s : s + 64] for s in range(0, len(lines), 64)] + if isinstance(qtables, (tuple, list, dict)): + if isinstance(qtables, dict): + qtables = [ + qtables[key] for key in range(len(qtables)) if key in qtables + ] + elif isinstance(qtables, tuple): + qtables = list(qtables) + if not (0 < len(qtables) < 5): + msg = "None or too many quantization tables" + raise ValueError(msg) + for idx, table in enumerate(qtables): + try: + if len(table) != 64: + msg = "Invalid quantization table" + raise TypeError(msg) + table_array = array.array("H", table) + except TypeError as e: + msg = "Invalid quantization table" + raise ValueError(msg) from e + else: + qtables[idx] = list(table_array) + return qtables + + if qtables == "keep": + if im.format != "JPEG": + msg = "Cannot use 'keep' when original image is not a JPEG" + raise ValueError(msg) + qtables = getattr(im, "quantization", None) + qtables = validate_qtables(qtables) + + extra = info.get("extra", b"") + + MAX_BYTES_IN_MARKER = 65533 + xmp = info.get("xmp", im.info.get("xmp")) + if xmp: + overhead_len = 29 # b"http://ns.adobe.com/xap/1.0/\x00" + max_data_bytes_in_marker = MAX_BYTES_IN_MARKER - overhead_len + if len(xmp) > max_data_bytes_in_marker: + msg = "XMP data is too long" + raise ValueError(msg) + size = o16(2 + overhead_len + len(xmp)) + extra += b"\xFF\xE1" + size + b"http://ns.adobe.com/xap/1.0/\x00" + xmp + + icc_profile = info.get("icc_profile") + if icc_profile: + overhead_len = 14 # b"ICC_PROFILE\0" + o8(i) + o8(len(markers)) + max_data_bytes_in_marker = MAX_BYTES_IN_MARKER - overhead_len + markers = [] + while icc_profile: + markers.append(icc_profile[:max_data_bytes_in_marker]) + icc_profile = icc_profile[max_data_bytes_in_marker:] + i = 1 + for marker in markers: + size = o16(2 + overhead_len + len(marker)) + extra += ( + b"\xFF\xE2" + + size + + b"ICC_PROFILE\0" + + o8(i) + + o8(len(markers)) + + marker + ) + i += 1 + + comment = info.get("comment", im.info.get("comment")) + + # "progressive" is the official name, but older documentation + # says "progression" + # FIXME: issue a warning if the wrong form is used (post-1.1.7) + progressive = info.get("progressive", False) or info.get("progression", False) + + optimize = info.get("optimize", False) + + exif = info.get("exif", b"") + if isinstance(exif, Image.Exif): + exif = exif.tobytes() + if len(exif) > MAX_BYTES_IN_MARKER: + msg = "EXIF data is too long" + raise ValueError(msg) + + # get keyword arguments + im.encoderconfig = ( + quality, + progressive, + info.get("smooth", 0), + optimize, + info.get("keep_rgb", False), + info.get("streamtype", 0), + dpi[0], + dpi[1], + subsampling, + info.get("restart_marker_blocks", 0), + info.get("restart_marker_rows", 0), + qtables, + comment, + extra, + exif, + ) + + # if we optimize, libjpeg needs a buffer big enough to hold the whole image + # in a shot. Guessing on the size, at im.size bytes. (raw pixel size is + # channels*size, this is a value that's been used in a django patch. + # https://github.com/matthewwithanm/django-imagekit/issues/50 + bufsize = 0 + if optimize or progressive: + # CMYK can be bigger + if im.mode == "CMYK": + bufsize = 4 * im.size[0] * im.size[1] + # keep sets quality to -1, but the actual value may be high. + elif quality >= 95 or quality == -1: + bufsize = 2 * im.size[0] * im.size[1] + else: + bufsize = im.size[0] * im.size[1] + if exif: + bufsize += len(exif) + 5 + if extra: + bufsize += len(extra) + 1 + else: + # The EXIF info needs to be written as one block, + APP1, + one spare byte. + # Ensure that our buffer is big enough. Same with the icc_profile block. + bufsize = max(bufsize, len(exif) + 5, len(extra) + 1) + + ImageFile._save( + im, fp, [ImageFile._Tile("jpeg", (0, 0) + im.size, 0, rawmode)], bufsize + ) + + +def _save_cjpeg(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + # ALTERNATIVE: handle JPEGs via the IJG command line utilities. + tempfile = im._dump() + subprocess.check_call(["cjpeg", "-outfile", filename, tempfile]) + try: + os.unlink(tempfile) + except OSError: + pass + + +## +# Factory for making JPEG and MPO instances +def jpeg_factory( + fp: IO[bytes], filename: str | bytes | None = None +) -> JpegImageFile | MpoImageFile: + im = JpegImageFile(fp, filename) + try: + mpheader = im._getmp() + if mpheader is not None and mpheader[45057] > 1: + for segment, content in im.applist: + if segment == "APP1" and b' hdrgm:Version="' in content: + # Ultra HDR images are not yet supported + return im + # It's actually an MPO + from .MpoImagePlugin import MpoImageFile + + # Don't reload everything, just convert it. + im = MpoImageFile.adopt(im, mpheader) + except (TypeError, IndexError): + # It is really a JPEG + pass + except SyntaxError: + warnings.warn( + "Image appears to be a malformed MPO file, it will be " + "interpreted as a base JPEG file" + ) + return im + + +# --------------------------------------------------------------------- +# Registry stuff + +Image.register_open(JpegImageFile.format, jpeg_factory, _accept) +Image.register_save(JpegImageFile.format, _save) + +Image.register_extensions(JpegImageFile.format, [".jfif", ".jpe", ".jpg", ".jpeg"]) + +Image.register_mime(JpegImageFile.format, "image/jpeg") diff --git a/venv/Lib/site-packages/PIL/JpegPresets.py b/venv/Lib/site-packages/PIL/JpegPresets.py new file mode 100644 index 00000000..d0e64a35 --- /dev/null +++ b/venv/Lib/site-packages/PIL/JpegPresets.py @@ -0,0 +1,242 @@ +""" +JPEG quality settings equivalent to the Photoshop settings. +Can be used when saving JPEG files. + +The following presets are available by default: +``web_low``, ``web_medium``, ``web_high``, ``web_very_high``, ``web_maximum``, +``low``, ``medium``, ``high``, ``maximum``. +More presets can be added to the :py:data:`presets` dict if needed. + +To apply the preset, specify:: + + quality="preset_name" + +To apply only the quantization table:: + + qtables="preset_name" + +To apply only the subsampling setting:: + + subsampling="preset_name" + +Example:: + + im.save("image_name.jpg", quality="web_high") + +Subsampling +----------- + +Subsampling is the practice of encoding images by implementing less resolution +for chroma information than for luma information. +(ref.: https://en.wikipedia.org/wiki/Chroma_subsampling) + +Possible subsampling values are 0, 1 and 2 that correspond to 4:4:4, 4:2:2 and +4:2:0. + +You can get the subsampling of a JPEG with the +:func:`.JpegImagePlugin.get_sampling` function. + +In JPEG compressed data a JPEG marker is used instead of an EXIF tag. +(ref.: https://exiv2.org/tags.html) + + +Quantization tables +------------------- + +They are values use by the DCT (Discrete cosine transform) to remove +*unnecessary* information from the image (the lossy part of the compression). +(ref.: https://en.wikipedia.org/wiki/Quantization_matrix#Quantization_matrices, +https://en.wikipedia.org/wiki/JPEG#Quantization) + +You can get the quantization tables of a JPEG with:: + + im.quantization + +This will return a dict with a number of lists. You can pass this dict +directly as the qtables argument when saving a JPEG. + +The quantization table format in presets is a list with sublists. These formats +are interchangeable. + +Libjpeg ref.: +https://web.archive.org/web/20120328125543/http://www.jpegcameras.com/libjpeg/libjpeg-3.html + +""" + +from __future__ import annotations + +# fmt: off +presets = { + 'web_low': {'subsampling': 2, # "4:2:0" + 'quantization': [ + [20, 16, 25, 39, 50, 46, 62, 68, + 16, 18, 23, 38, 38, 53, 65, 68, + 25, 23, 31, 38, 53, 65, 68, 68, + 39, 38, 38, 53, 65, 68, 68, 68, + 50, 38, 53, 65, 68, 68, 68, 68, + 46, 53, 65, 68, 68, 68, 68, 68, + 62, 65, 68, 68, 68, 68, 68, 68, + 68, 68, 68, 68, 68, 68, 68, 68], + [21, 25, 32, 38, 54, 68, 68, 68, + 25, 28, 24, 38, 54, 68, 68, 68, + 32, 24, 32, 43, 66, 68, 68, 68, + 38, 38, 43, 53, 68, 68, 68, 68, + 54, 54, 66, 68, 68, 68, 68, 68, + 68, 68, 68, 68, 68, 68, 68, 68, + 68, 68, 68, 68, 68, 68, 68, 68, + 68, 68, 68, 68, 68, 68, 68, 68] + ]}, + 'web_medium': {'subsampling': 2, # "4:2:0" + 'quantization': [ + [16, 11, 11, 16, 23, 27, 31, 30, + 11, 12, 12, 15, 20, 23, 23, 30, + 11, 12, 13, 16, 23, 26, 35, 47, + 16, 15, 16, 23, 26, 37, 47, 64, + 23, 20, 23, 26, 39, 51, 64, 64, + 27, 23, 26, 37, 51, 64, 64, 64, + 31, 23, 35, 47, 64, 64, 64, 64, + 30, 30, 47, 64, 64, 64, 64, 64], + [17, 15, 17, 21, 20, 26, 38, 48, + 15, 19, 18, 17, 20, 26, 35, 43, + 17, 18, 20, 22, 26, 30, 46, 53, + 21, 17, 22, 28, 30, 39, 53, 64, + 20, 20, 26, 30, 39, 48, 64, 64, + 26, 26, 30, 39, 48, 63, 64, 64, + 38, 35, 46, 53, 64, 64, 64, 64, + 48, 43, 53, 64, 64, 64, 64, 64] + ]}, + 'web_high': {'subsampling': 0, # "4:4:4" + 'quantization': [ + [6, 4, 4, 6, 9, 11, 12, 16, + 4, 5, 5, 6, 8, 10, 12, 12, + 4, 5, 5, 6, 10, 12, 14, 19, + 6, 6, 6, 11, 12, 15, 19, 28, + 9, 8, 10, 12, 16, 20, 27, 31, + 11, 10, 12, 15, 20, 27, 31, 31, + 12, 12, 14, 19, 27, 31, 31, 31, + 16, 12, 19, 28, 31, 31, 31, 31], + [7, 7, 13, 24, 26, 31, 31, 31, + 7, 12, 16, 21, 31, 31, 31, 31, + 13, 16, 17, 31, 31, 31, 31, 31, + 24, 21, 31, 31, 31, 31, 31, 31, + 26, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31] + ]}, + 'web_very_high': {'subsampling': 0, # "4:4:4" + 'quantization': [ + [2, 2, 2, 2, 3, 4, 5, 6, + 2, 2, 2, 2, 3, 4, 5, 6, + 2, 2, 2, 2, 4, 5, 7, 9, + 2, 2, 2, 4, 5, 7, 9, 12, + 3, 3, 4, 5, 8, 10, 12, 12, + 4, 4, 5, 7, 10, 12, 12, 12, + 5, 5, 7, 9, 12, 12, 12, 12, + 6, 6, 9, 12, 12, 12, 12, 12], + [3, 3, 5, 9, 13, 15, 15, 15, + 3, 4, 6, 11, 14, 12, 12, 12, + 5, 6, 9, 14, 12, 12, 12, 12, + 9, 11, 14, 12, 12, 12, 12, 12, + 13, 14, 12, 12, 12, 12, 12, 12, + 15, 12, 12, 12, 12, 12, 12, 12, + 15, 12, 12, 12, 12, 12, 12, 12, + 15, 12, 12, 12, 12, 12, 12, 12] + ]}, + 'web_maximum': {'subsampling': 0, # "4:4:4" + 'quantization': [ + [1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 2, + 1, 1, 1, 1, 1, 1, 2, 2, + 1, 1, 1, 1, 1, 2, 2, 3, + 1, 1, 1, 1, 2, 2, 3, 3, + 1, 1, 1, 2, 2, 3, 3, 3, + 1, 1, 2, 2, 3, 3, 3, 3], + [1, 1, 1, 2, 2, 3, 3, 3, + 1, 1, 1, 2, 3, 3, 3, 3, + 1, 1, 1, 3, 3, 3, 3, 3, + 2, 2, 3, 3, 3, 3, 3, 3, + 2, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3] + ]}, + 'low': {'subsampling': 2, # "4:2:0" + 'quantization': [ + [18, 14, 14, 21, 30, 35, 34, 17, + 14, 16, 16, 19, 26, 23, 12, 12, + 14, 16, 17, 21, 23, 12, 12, 12, + 21, 19, 21, 23, 12, 12, 12, 12, + 30, 26, 23, 12, 12, 12, 12, 12, + 35, 23, 12, 12, 12, 12, 12, 12, + 34, 12, 12, 12, 12, 12, 12, 12, + 17, 12, 12, 12, 12, 12, 12, 12], + [20, 19, 22, 27, 20, 20, 17, 17, + 19, 25, 23, 14, 14, 12, 12, 12, + 22, 23, 14, 14, 12, 12, 12, 12, + 27, 14, 14, 12, 12, 12, 12, 12, + 20, 14, 12, 12, 12, 12, 12, 12, + 20, 12, 12, 12, 12, 12, 12, 12, + 17, 12, 12, 12, 12, 12, 12, 12, + 17, 12, 12, 12, 12, 12, 12, 12] + ]}, + 'medium': {'subsampling': 2, # "4:2:0" + 'quantization': [ + [12, 8, 8, 12, 17, 21, 24, 17, + 8, 9, 9, 11, 15, 19, 12, 12, + 8, 9, 10, 12, 19, 12, 12, 12, + 12, 11, 12, 21, 12, 12, 12, 12, + 17, 15, 19, 12, 12, 12, 12, 12, + 21, 19, 12, 12, 12, 12, 12, 12, + 24, 12, 12, 12, 12, 12, 12, 12, + 17, 12, 12, 12, 12, 12, 12, 12], + [13, 11, 13, 16, 20, 20, 17, 17, + 11, 14, 14, 14, 14, 12, 12, 12, + 13, 14, 14, 14, 12, 12, 12, 12, + 16, 14, 14, 12, 12, 12, 12, 12, + 20, 14, 12, 12, 12, 12, 12, 12, + 20, 12, 12, 12, 12, 12, 12, 12, + 17, 12, 12, 12, 12, 12, 12, 12, + 17, 12, 12, 12, 12, 12, 12, 12] + ]}, + 'high': {'subsampling': 0, # "4:4:4" + 'quantization': [ + [6, 4, 4, 6, 9, 11, 12, 16, + 4, 5, 5, 6, 8, 10, 12, 12, + 4, 5, 5, 6, 10, 12, 12, 12, + 6, 6, 6, 11, 12, 12, 12, 12, + 9, 8, 10, 12, 12, 12, 12, 12, + 11, 10, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, + 16, 12, 12, 12, 12, 12, 12, 12], + [7, 7, 13, 24, 20, 20, 17, 17, + 7, 12, 16, 14, 14, 12, 12, 12, + 13, 16, 14, 14, 12, 12, 12, 12, + 24, 14, 14, 12, 12, 12, 12, 12, + 20, 14, 12, 12, 12, 12, 12, 12, + 20, 12, 12, 12, 12, 12, 12, 12, + 17, 12, 12, 12, 12, 12, 12, 12, + 17, 12, 12, 12, 12, 12, 12, 12] + ]}, + 'maximum': {'subsampling': 0, # "4:4:4" + 'quantization': [ + [2, 2, 2, 2, 3, 4, 5, 6, + 2, 2, 2, 2, 3, 4, 5, 6, + 2, 2, 2, 2, 4, 5, 7, 9, + 2, 2, 2, 4, 5, 7, 9, 12, + 3, 3, 4, 5, 8, 10, 12, 12, + 4, 4, 5, 7, 10, 12, 12, 12, + 5, 5, 7, 9, 12, 12, 12, 12, + 6, 6, 9, 12, 12, 12, 12, 12], + [3, 3, 5, 9, 13, 15, 15, 15, + 3, 4, 6, 10, 14, 12, 12, 12, + 5, 6, 9, 14, 12, 12, 12, 12, + 9, 10, 14, 12, 12, 12, 12, 12, + 13, 14, 12, 12, 12, 12, 12, 12, + 15, 12, 12, 12, 12, 12, 12, 12, + 15, 12, 12, 12, 12, 12, 12, 12, + 15, 12, 12, 12, 12, 12, 12, 12] + ]}, +} +# fmt: on diff --git a/venv/Lib/site-packages/PIL/McIdasImagePlugin.py b/venv/Lib/site-packages/PIL/McIdasImagePlugin.py new file mode 100644 index 00000000..5dd031be --- /dev/null +++ b/venv/Lib/site-packages/PIL/McIdasImagePlugin.py @@ -0,0 +1,80 @@ +# +# The Python Imaging Library. +# $Id$ +# +# Basic McIdas support for PIL +# +# History: +# 1997-05-05 fl Created (8-bit images only) +# 2009-03-08 fl Added 16/32-bit support. +# +# Thanks to Richard Jones and Craig Swank for specs and samples. +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1997. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import struct + +from . import Image, ImageFile + + +def _accept(prefix: bytes) -> bool: + return prefix[:8] == b"\x00\x00\x00\x00\x00\x00\x00\x04" + + +## +# Image plugin for McIdas area images. + + +class McIdasImageFile(ImageFile.ImageFile): + format = "MCIDAS" + format_description = "McIdas area file" + + def _open(self) -> None: + # parse area file directory + assert self.fp is not None + + s = self.fp.read(256) + if not _accept(s) or len(s) != 256: + msg = "not an McIdas area file" + raise SyntaxError(msg) + + self.area_descriptor_raw = s + self.area_descriptor = w = [0] + list(struct.unpack("!64i", s)) + + # get mode + if w[11] == 1: + mode = rawmode = "L" + elif w[11] == 2: + # FIXME: add memory map support + mode = "I" + rawmode = "I;16B" + elif w[11] == 4: + # FIXME: add memory map support + mode = "I" + rawmode = "I;32B" + else: + msg = "unsupported McIdas format" + raise SyntaxError(msg) + + self._mode = mode + self._size = w[10], w[9] + + offset = w[34] + w[15] + stride = w[15] + w[10] * w[11] * w[14] + + self.tile = [ + ImageFile._Tile("raw", (0, 0) + self.size, offset, (rawmode, stride, 1)) + ] + + +# -------------------------------------------------------------------- +# registry + +Image.register_open(McIdasImageFile.format, McIdasImageFile, _accept) + +# no default extension diff --git a/venv/Lib/site-packages/PIL/MicImagePlugin.py b/venv/Lib/site-packages/PIL/MicImagePlugin.py new file mode 100644 index 00000000..5f23a34b --- /dev/null +++ b/venv/Lib/site-packages/PIL/MicImagePlugin.py @@ -0,0 +1,107 @@ +# +# The Python Imaging Library. +# $Id$ +# +# Microsoft Image Composer support for PIL +# +# Notes: +# uses TiffImagePlugin.py to read the actual image streams +# +# History: +# 97-01-20 fl Created +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1997. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import olefile + +from . import Image, TiffImagePlugin + +# +# -------------------------------------------------------------------- + + +def _accept(prefix: bytes) -> bool: + return prefix[:8] == olefile.MAGIC + + +## +# Image plugin for Microsoft's Image Composer file format. + + +class MicImageFile(TiffImagePlugin.TiffImageFile): + format = "MIC" + format_description = "Microsoft Image Composer" + _close_exclusive_fp_after_loading = False + + def _open(self) -> None: + # read the OLE directory and see if this is a likely + # to be a Microsoft Image Composer file + + try: + self.ole = olefile.OleFileIO(self.fp) + except OSError as e: + msg = "not an MIC file; invalid OLE file" + raise SyntaxError(msg) from e + + # find ACI subfiles with Image members (maybe not the + # best way to identify MIC files, but what the... ;-) + + self.images = [ + path + for path in self.ole.listdir() + if path[1:] and path[0][-4:] == ".ACI" and path[1] == "Image" + ] + + # if we didn't find any images, this is probably not + # an MIC file. + if not self.images: + msg = "not an MIC file; no image entries" + raise SyntaxError(msg) + + self.frame = -1 + self._n_frames = len(self.images) + self.is_animated = self._n_frames > 1 + + self.__fp = self.fp + self.seek(0) + + def seek(self, frame: int) -> None: + if not self._seek_check(frame): + return + try: + filename = self.images[frame] + except IndexError as e: + msg = "no such frame" + raise EOFError(msg) from e + + self.fp = self.ole.openstream(filename) + + TiffImagePlugin.TiffImageFile._open(self) + + self.frame = frame + + def tell(self) -> int: + return self.frame + + def close(self) -> None: + self.__fp.close() + self.ole.close() + super().close() + + def __exit__(self, *args: object) -> None: + self.__fp.close() + self.ole.close() + super().__exit__() + + +# +# -------------------------------------------------------------------- + +Image.register_open(MicImageFile.format, MicImageFile, _accept) + +Image.register_extension(MicImageFile.format, ".mic") diff --git a/venv/Lib/site-packages/PIL/MpegImagePlugin.py b/venv/Lib/site-packages/PIL/MpegImagePlugin.py new file mode 100644 index 00000000..ad4d3e93 --- /dev/null +++ b/venv/Lib/site-packages/PIL/MpegImagePlugin.py @@ -0,0 +1,88 @@ +# +# The Python Imaging Library. +# $Id$ +# +# MPEG file handling +# +# History: +# 95-09-09 fl Created +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1995. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from . import Image, ImageFile +from ._binary import i8 +from ._typing import SupportsRead + +# +# Bitstream parser + + +class BitStream: + def __init__(self, fp: SupportsRead[bytes]) -> None: + self.fp = fp + self.bits = 0 + self.bitbuffer = 0 + + def next(self) -> int: + return i8(self.fp.read(1)) + + def peek(self, bits: int) -> int: + while self.bits < bits: + c = self.next() + if c < 0: + self.bits = 0 + continue + self.bitbuffer = (self.bitbuffer << 8) + c + self.bits += 8 + return self.bitbuffer >> (self.bits - bits) & (1 << bits) - 1 + + def skip(self, bits: int) -> None: + while self.bits < bits: + self.bitbuffer = (self.bitbuffer << 8) + i8(self.fp.read(1)) + self.bits += 8 + self.bits = self.bits - bits + + def read(self, bits: int) -> int: + v = self.peek(bits) + self.bits = self.bits - bits + return v + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] == b"\x00\x00\x01\xb3" + + +## +# Image plugin for MPEG streams. This plugin can identify a stream, +# but it cannot read it. + + +class MpegImageFile(ImageFile.ImageFile): + format = "MPEG" + format_description = "MPEG" + + def _open(self) -> None: + assert self.fp is not None + + s = BitStream(self.fp) + if s.read(32) != 0x1B3: + msg = "not an MPEG file" + raise SyntaxError(msg) + + self._mode = "RGB" + self._size = s.read(12), s.read(12) + + +# -------------------------------------------------------------------- +# Registry stuff + +Image.register_open(MpegImageFile.format, MpegImageFile, _accept) + +Image.register_extensions(MpegImageFile.format, [".mpg", ".mpeg"]) + +Image.register_mime(MpegImageFile.format, "video/mpeg") diff --git a/venv/Lib/site-packages/PIL/MpoImagePlugin.py b/venv/Lib/site-packages/PIL/MpoImagePlugin.py new file mode 100644 index 00000000..71f89a09 --- /dev/null +++ b/venv/Lib/site-packages/PIL/MpoImagePlugin.py @@ -0,0 +1,190 @@ +# +# The Python Imaging Library. +# $Id$ +# +# MPO file handling +# +# See "Multi-Picture Format" (CIPA DC-007-Translation 2009, Standard of the +# Camera & Imaging Products Association) +# +# The multi-picture object combines multiple JPEG images (with a modified EXIF +# data format) into a single file. While it can theoretically be used much like +# a GIF animation, it is commonly used to represent 3D photographs and is (as +# of this writing) the most commonly used format by 3D cameras. +# +# History: +# 2014-03-13 Feneric Created +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import itertools +import os +import struct +from typing import IO, Any, cast + +from . import ( + Image, + ImageFile, + ImageSequence, + JpegImagePlugin, + TiffImagePlugin, +) +from ._binary import o32le + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + JpegImagePlugin._save(im, fp, filename) + + +def _save_all(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + append_images = im.encoderinfo.get("append_images", []) + if not append_images and not getattr(im, "is_animated", False): + _save(im, fp, filename) + return + + mpf_offset = 28 + offsets: list[int] = [] + for imSequence in itertools.chain([im], append_images): + for im_frame in ImageSequence.Iterator(imSequence): + if not offsets: + # APP2 marker + im_frame.encoderinfo["extra"] = ( + b"\xFF\xE2" + struct.pack(">H", 6 + 82) + b"MPF\0" + b" " * 82 + ) + exif = im_frame.encoderinfo.get("exif") + if isinstance(exif, Image.Exif): + exif = exif.tobytes() + im_frame.encoderinfo["exif"] = exif + if exif: + mpf_offset += 4 + len(exif) + + JpegImagePlugin._save(im_frame, fp, filename) + offsets.append(fp.tell()) + else: + im_frame.save(fp, "JPEG") + offsets.append(fp.tell() - offsets[-1]) + + ifd = TiffImagePlugin.ImageFileDirectory_v2() + ifd[0xB000] = b"0100" + ifd[0xB001] = len(offsets) + + mpentries = b"" + data_offset = 0 + for i, size in enumerate(offsets): + if i == 0: + mptype = 0x030000 # Baseline MP Primary Image + else: + mptype = 0x000000 # Undefined + mpentries += struct.pack(" None: + self.fp.seek(0) # prep the fp in order to pass the JPEG test + JpegImagePlugin.JpegImageFile._open(self) + self._after_jpeg_open() + + def _after_jpeg_open(self, mpheader: dict[int, Any] | None = None) -> None: + self.mpinfo = mpheader if mpheader is not None else self._getmp() + if self.mpinfo is None: + msg = "Image appears to be a malformed MPO file" + raise ValueError(msg) + self.n_frames = self.mpinfo[0xB001] + self.__mpoffsets = [ + mpent["DataOffset"] + self.info["mpoffset"] for mpent in self.mpinfo[0xB002] + ] + self.__mpoffsets[0] = 0 + # Note that the following assertion will only be invalid if something + # gets broken within JpegImagePlugin. + assert self.n_frames == len(self.__mpoffsets) + del self.info["mpoffset"] # no longer needed + self.is_animated = self.n_frames > 1 + self._fp = self.fp # FIXME: hack + self._fp.seek(self.__mpoffsets[0]) # get ready to read first frame + self.__frame = 0 + self.offset = 0 + # for now we can only handle reading and individual frame extraction + self.readonly = 1 + + def load_seek(self, pos: int) -> None: + self._fp.seek(pos) + + def seek(self, frame: int) -> None: + if not self._seek_check(frame): + return + self.fp = self._fp + self.offset = self.__mpoffsets[frame] + + original_exif = self.info.get("exif") + if "exif" in self.info: + del self.info["exif"] + + self.fp.seek(self.offset + 2) # skip SOI marker + if not self.fp.read(2): + msg = "No data found for frame" + raise ValueError(msg) + self.fp.seek(self.offset) + JpegImagePlugin.JpegImageFile._open(self) + if self.info.get("exif") != original_exif: + self._reload_exif() + + self.tile = [ + ImageFile._Tile("jpeg", (0, 0) + self.size, self.offset, self.tile[0][-1]) + ] + self.__frame = frame + + def tell(self) -> int: + return self.__frame + + @staticmethod + def adopt( + jpeg_instance: JpegImagePlugin.JpegImageFile, + mpheader: dict[int, Any] | None = None, + ) -> MpoImageFile: + """ + Transform the instance of JpegImageFile into + an instance of MpoImageFile. + After the call, the JpegImageFile is extended + to be an MpoImageFile. + + This is essentially useful when opening a JPEG + file that reveals itself as an MPO, to avoid + double call to _open. + """ + jpeg_instance.__class__ = MpoImageFile + mpo_instance = cast(MpoImageFile, jpeg_instance) + mpo_instance._after_jpeg_open(mpheader) + return mpo_instance + + +# --------------------------------------------------------------------- +# Registry stuff + +# Note that since MPO shares a factory with JPEG, we do not need to do a +# separate registration for it here. +# Image.register_open(MpoImageFile.format, +# JpegImagePlugin.jpeg_factory, _accept) +Image.register_save(MpoImageFile.format, _save) +Image.register_save_all(MpoImageFile.format, _save_all) + +Image.register_extension(MpoImageFile.format, ".mpo") + +Image.register_mime(MpoImageFile.format, "image/mpo") diff --git a/venv/Lib/site-packages/PIL/MspImagePlugin.py b/venv/Lib/site-packages/PIL/MspImagePlugin.py new file mode 100644 index 00000000..f3460a78 --- /dev/null +++ b/venv/Lib/site-packages/PIL/MspImagePlugin.py @@ -0,0 +1,200 @@ +# +# The Python Imaging Library. +# +# MSP file handling +# +# This is the format used by the Paint program in Windows 1 and 2. +# +# History: +# 95-09-05 fl Created +# 97-01-03 fl Read/write MSP images +# 17-02-21 es Fixed RLE interpretation +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1995-97. +# Copyright (c) Eric Soroos 2017. +# +# See the README file for information on usage and redistribution. +# +# More info on this format: https://archive.org/details/gg243631 +# Page 313: +# Figure 205. Windows Paint Version 1: "DanM" Format +# Figure 206. Windows Paint Version 2: "LinS" Format. Used in Windows V2.03 +# +# See also: https://www.fileformat.info/format/mspaint/egff.htm +from __future__ import annotations + +import io +import struct +from typing import IO + +from . import Image, ImageFile +from ._binary import i16le as i16 +from ._binary import o16le as o16 + +# +# read MSP files + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] in [b"DanM", b"LinS"] + + +## +# Image plugin for Windows MSP images. This plugin supports both +# uncompressed (Windows 1.0). + + +class MspImageFile(ImageFile.ImageFile): + format = "MSP" + format_description = "Windows Paint" + + def _open(self) -> None: + # Header + assert self.fp is not None + + s = self.fp.read(32) + if not _accept(s): + msg = "not an MSP file" + raise SyntaxError(msg) + + # Header checksum + checksum = 0 + for i in range(0, 32, 2): + checksum = checksum ^ i16(s, i) + if checksum != 0: + msg = "bad MSP checksum" + raise SyntaxError(msg) + + self._mode = "1" + self._size = i16(s, 4), i16(s, 6) + + if s[:4] == b"DanM": + self.tile = [ImageFile._Tile("raw", (0, 0) + self.size, 32, ("1", 0, 1))] + else: + self.tile = [ImageFile._Tile("MSP", (0, 0) + self.size, 32, None)] + + +class MspDecoder(ImageFile.PyDecoder): + # The algo for the MSP decoder is from + # https://www.fileformat.info/format/mspaint/egff.htm + # cc-by-attribution -- That page references is taken from the + # Encyclopedia of Graphics File Formats and is licensed by + # O'Reilly under the Creative Common/Attribution license + # + # For RLE encoded files, the 32byte header is followed by a scan + # line map, encoded as one 16bit word of encoded byte length per + # line. + # + # NOTE: the encoded length of the line can be 0. This was not + # handled in the previous version of this encoder, and there's no + # mention of how to handle it in the documentation. From the few + # examples I've seen, I've assumed that it is a fill of the + # background color, in this case, white. + # + # + # Pseudocode of the decoder: + # Read a BYTE value as the RunType + # If the RunType value is zero + # Read next byte as the RunCount + # Read the next byte as the RunValue + # Write the RunValue byte RunCount times + # If the RunType value is non-zero + # Use this value as the RunCount + # Read and write the next RunCount bytes literally + # + # e.g.: + # 0x00 03 ff 05 00 01 02 03 04 + # would yield the bytes: + # 0xff ff ff 00 01 02 03 04 + # + # which are then interpreted as a bit packed mode '1' image + + _pulls_fd = True + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + assert self.fd is not None + + img = io.BytesIO() + blank_line = bytearray((0xFF,) * ((self.state.xsize + 7) // 8)) + try: + self.fd.seek(32) + rowmap = struct.unpack_from( + f"<{self.state.ysize}H", self.fd.read(self.state.ysize * 2) + ) + except struct.error as e: + msg = "Truncated MSP file in row map" + raise OSError(msg) from e + + for x, rowlen in enumerate(rowmap): + try: + if rowlen == 0: + img.write(blank_line) + continue + row = self.fd.read(rowlen) + if len(row) != rowlen: + msg = f"Truncated MSP file, expected {rowlen} bytes on row {x}" + raise OSError(msg) + idx = 0 + while idx < rowlen: + runtype = row[idx] + idx += 1 + if runtype == 0: + (runcount, runval) = struct.unpack_from("Bc", row, idx) + img.write(runval * runcount) + idx += 2 + else: + runcount = runtype + img.write(row[idx : idx + runcount]) + idx += runcount + + except struct.error as e: + msg = f"Corrupted MSP file in row {x}" + raise OSError(msg) from e + + self.set_as_raw(img.getvalue(), "1") + + return -1, 0 + + +Image.register_decoder("MSP", MspDecoder) + + +# +# write MSP files (uncompressed only) + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if im.mode != "1": + msg = f"cannot write mode {im.mode} as MSP" + raise OSError(msg) + + # create MSP header + header = [0] * 16 + + header[0], header[1] = i16(b"Da"), i16(b"nM") # version 1 + header[2], header[3] = im.size + header[4], header[5] = 1, 1 + header[6], header[7] = 1, 1 + header[8], header[9] = im.size + + checksum = 0 + for h in header: + checksum = checksum ^ h + header[12] = checksum # FIXME: is this the right field? + + # header + for h in header: + fp.write(o16(h)) + + # image body + ImageFile._save(im, fp, [ImageFile._Tile("raw", (0, 0) + im.size, 32, ("1", 0, 1))]) + + +# +# registry + +Image.register_open(MspImageFile.format, MspImageFile, _accept) +Image.register_save(MspImageFile.format, _save) + +Image.register_extension(MspImageFile.format, ".msp") diff --git a/venv/Lib/site-packages/PIL/PSDraw.py b/venv/Lib/site-packages/PIL/PSDraw.py new file mode 100644 index 00000000..02939d26 --- /dev/null +++ b/venv/Lib/site-packages/PIL/PSDraw.py @@ -0,0 +1,234 @@ +# +# The Python Imaging Library +# $Id$ +# +# Simple PostScript graphics interface +# +# History: +# 1996-04-20 fl Created +# 1999-01-10 fl Added gsave/grestore to image method +# 2005-05-04 fl Fixed floating point issue in image (from Eric Etheridge) +# +# Copyright (c) 1997-2005 by Secret Labs AB. All rights reserved. +# Copyright (c) 1996 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import sys +from typing import IO, TYPE_CHECKING + +from . import EpsImagePlugin + +## +# Simple PostScript graphics interface. + + +class PSDraw: + """ + Sets up printing to the given file. If ``fp`` is omitted, + ``sys.stdout.buffer`` is assumed. + """ + + def __init__(self, fp: IO[bytes] | None = None) -> None: + if not fp: + fp = sys.stdout.buffer + self.fp = fp + + def begin_document(self, id: str | None = None) -> None: + """Set up printing of a document. (Write PostScript DSC header.)""" + # FIXME: incomplete + self.fp.write( + b"%!PS-Adobe-3.0\n" + b"save\n" + b"/showpage { } def\n" + b"%%EndComments\n" + b"%%BeginDocument\n" + ) + # self.fp.write(ERROR_PS) # debugging! + self.fp.write(EDROFF_PS) + self.fp.write(VDI_PS) + self.fp.write(b"%%EndProlog\n") + self.isofont: dict[bytes, int] = {} + + def end_document(self) -> None: + """Ends printing. (Write PostScript DSC footer.)""" + self.fp.write(b"%%EndDocument\nrestore showpage\n%%End\n") + if hasattr(self.fp, "flush"): + self.fp.flush() + + def setfont(self, font: str, size: int) -> None: + """ + Selects which font to use. + + :param font: A PostScript font name + :param size: Size in points. + """ + font_bytes = bytes(font, "UTF-8") + if font_bytes not in self.isofont: + # reencode font + self.fp.write( + b"/PSDraw-%s ISOLatin1Encoding /%s E\n" % (font_bytes, font_bytes) + ) + self.isofont[font_bytes] = 1 + # rough + self.fp.write(b"/F0 %d /PSDraw-%s F\n" % (size, font_bytes)) + + def line(self, xy0: tuple[int, int], xy1: tuple[int, int]) -> None: + """ + Draws a line between the two points. Coordinates are given in + PostScript point coordinates (72 points per inch, (0, 0) is the lower + left corner of the page). + """ + self.fp.write(b"%d %d %d %d Vl\n" % (*xy0, *xy1)) + + def rectangle(self, box: tuple[int, int, int, int]) -> None: + """ + Draws a rectangle. + + :param box: A tuple of four integers, specifying left, bottom, width and + height. + """ + self.fp.write(b"%d %d M 0 %d %d Vr\n" % box) + + def text(self, xy: tuple[int, int], text: str) -> None: + """ + Draws text at the given position. You must use + :py:meth:`~PIL.PSDraw.PSDraw.setfont` before calling this method. + """ + text_bytes = bytes(text, "UTF-8") + text_bytes = b"\\(".join(text_bytes.split(b"(")) + text_bytes = b"\\)".join(text_bytes.split(b")")) + self.fp.write(b"%d %d M (%s) S\n" % (xy + (text_bytes,))) + + if TYPE_CHECKING: + from . import Image + + def image( + self, box: tuple[int, int, int, int], im: Image.Image, dpi: int | None = None + ) -> None: + """Draw a PIL image, centered in the given box.""" + # default resolution depends on mode + if not dpi: + if im.mode == "1": + dpi = 200 # fax + else: + dpi = 100 # grayscale + # image size (on paper) + x = im.size[0] * 72 / dpi + y = im.size[1] * 72 / dpi + # max allowed size + xmax = float(box[2] - box[0]) + ymax = float(box[3] - box[1]) + if x > xmax: + y = y * xmax / x + x = xmax + if y > ymax: + x = x * ymax / y + y = ymax + dx = (xmax - x) / 2 + box[0] + dy = (ymax - y) / 2 + box[1] + self.fp.write(b"gsave\n%f %f translate\n" % (dx, dy)) + if (x, y) != im.size: + # EpsImagePlugin._save prints the image at (0,0,xsize,ysize) + sx = x / im.size[0] + sy = y / im.size[1] + self.fp.write(b"%f %f scale\n" % (sx, sy)) + EpsImagePlugin._save(im, self.fp, "", 0) + self.fp.write(b"\ngrestore\n") + + +# -------------------------------------------------------------------- +# PostScript driver + +# +# EDROFF.PS -- PostScript driver for Edroff 2 +# +# History: +# 94-01-25 fl: created (edroff 2.04) +# +# Copyright (c) Fredrik Lundh 1994. +# + + +EDROFF_PS = b"""\ +/S { show } bind def +/P { moveto show } bind def +/M { moveto } bind def +/X { 0 rmoveto } bind def +/Y { 0 exch rmoveto } bind def +/E { findfont + dup maxlength dict begin + { + 1 index /FID ne { def } { pop pop } ifelse + } forall + /Encoding exch def + dup /FontName exch def + currentdict end definefont pop +} bind def +/F { findfont exch scalefont dup setfont + [ exch /setfont cvx ] cvx bind def +} bind def +""" + +# +# VDI.PS -- PostScript driver for VDI meta commands +# +# History: +# 94-01-25 fl: created (edroff 2.04) +# +# Copyright (c) Fredrik Lundh 1994. +# + +VDI_PS = b"""\ +/Vm { moveto } bind def +/Va { newpath arcn stroke } bind def +/Vl { moveto lineto stroke } bind def +/Vc { newpath 0 360 arc closepath } bind def +/Vr { exch dup 0 rlineto + exch dup 0 exch rlineto + exch neg 0 rlineto + 0 exch neg rlineto + setgray fill } bind def +/Tm matrix def +/Ve { Tm currentmatrix pop + translate scale newpath 0 0 .5 0 360 arc closepath + Tm setmatrix +} bind def +/Vf { currentgray exch setgray fill setgray } bind def +""" + +# +# ERROR.PS -- Error handler +# +# History: +# 89-11-21 fl: created (pslist 1.10) +# + +ERROR_PS = b"""\ +/landscape false def +/errorBUF 200 string def +/errorNL { currentpoint 10 sub exch pop 72 exch moveto } def +errordict begin /handleerror { + initmatrix /Courier findfont 10 scalefont setfont + newpath 72 720 moveto $error begin /newerror false def + (PostScript Error) show errorNL errorNL + (Error: ) show + /errorname load errorBUF cvs show errorNL errorNL + (Command: ) show + /command load dup type /stringtype ne { errorBUF cvs } if show + errorNL errorNL + (VMstatus: ) show + vmstatus errorBUF cvs show ( bytes available, ) show + errorBUF cvs show ( bytes used at level ) show + errorBUF cvs show errorNL errorNL + (Operand stargck: ) show errorNL /ostargck load { + dup type /stringtype ne { errorBUF cvs } if 72 0 rmoveto show errorNL + } forall errorNL + (Execution stargck: ) show errorNL /estargck load { + dup type /stringtype ne { errorBUF cvs } if 72 0 rmoveto show errorNL + } forall + end showpage +} def end +""" diff --git a/venv/Lib/site-packages/PIL/PaletteFile.py b/venv/Lib/site-packages/PIL/PaletteFile.py new file mode 100644 index 00000000..81652e5e --- /dev/null +++ b/venv/Lib/site-packages/PIL/PaletteFile.py @@ -0,0 +1,54 @@ +# +# Python Imaging Library +# $Id$ +# +# stuff to read simple, teragon-style palette files +# +# History: +# 97-08-23 fl Created +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1997. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from typing import IO + +from ._binary import o8 + + +class PaletteFile: + """File handler for Teragon-style palette files.""" + + rawmode = "RGB" + + def __init__(self, fp: IO[bytes]) -> None: + palette = [o8(i) * 3 for i in range(256)] + + while True: + s = fp.readline() + + if not s: + break + if s[:1] == b"#": + continue + if len(s) > 100: + msg = "bad palette file" + raise SyntaxError(msg) + + v = [int(x) for x in s.split()] + try: + [i, r, g, b] = v + except ValueError: + [i, r] = v + g = b = r + + if 0 <= i <= 255: + palette[i] = o8(r) + o8(g) + o8(b) + + self.palette = b"".join(palette) + + def getpalette(self) -> tuple[bytes, str]: + return self.palette, self.rawmode diff --git a/venv/Lib/site-packages/PIL/PalmImagePlugin.py b/venv/Lib/site-packages/PIL/PalmImagePlugin.py new file mode 100644 index 00000000..b3324537 --- /dev/null +++ b/venv/Lib/site-packages/PIL/PalmImagePlugin.py @@ -0,0 +1,232 @@ +# +# The Python Imaging Library. +# $Id$ +# + +## +# Image plugin for Palm pixmap images (output only). +## +from __future__ import annotations + +from typing import IO + +from . import Image, ImageFile +from ._binary import o8 +from ._binary import o16be as o16b + +# fmt: off +_Palm8BitColormapValues = ( + (255, 255, 255), (255, 204, 255), (255, 153, 255), (255, 102, 255), + (255, 51, 255), (255, 0, 255), (255, 255, 204), (255, 204, 204), + (255, 153, 204), (255, 102, 204), (255, 51, 204), (255, 0, 204), + (255, 255, 153), (255, 204, 153), (255, 153, 153), (255, 102, 153), + (255, 51, 153), (255, 0, 153), (204, 255, 255), (204, 204, 255), + (204, 153, 255), (204, 102, 255), (204, 51, 255), (204, 0, 255), + (204, 255, 204), (204, 204, 204), (204, 153, 204), (204, 102, 204), + (204, 51, 204), (204, 0, 204), (204, 255, 153), (204, 204, 153), + (204, 153, 153), (204, 102, 153), (204, 51, 153), (204, 0, 153), + (153, 255, 255), (153, 204, 255), (153, 153, 255), (153, 102, 255), + (153, 51, 255), (153, 0, 255), (153, 255, 204), (153, 204, 204), + (153, 153, 204), (153, 102, 204), (153, 51, 204), (153, 0, 204), + (153, 255, 153), (153, 204, 153), (153, 153, 153), (153, 102, 153), + (153, 51, 153), (153, 0, 153), (102, 255, 255), (102, 204, 255), + (102, 153, 255), (102, 102, 255), (102, 51, 255), (102, 0, 255), + (102, 255, 204), (102, 204, 204), (102, 153, 204), (102, 102, 204), + (102, 51, 204), (102, 0, 204), (102, 255, 153), (102, 204, 153), + (102, 153, 153), (102, 102, 153), (102, 51, 153), (102, 0, 153), + (51, 255, 255), (51, 204, 255), (51, 153, 255), (51, 102, 255), + (51, 51, 255), (51, 0, 255), (51, 255, 204), (51, 204, 204), + (51, 153, 204), (51, 102, 204), (51, 51, 204), (51, 0, 204), + (51, 255, 153), (51, 204, 153), (51, 153, 153), (51, 102, 153), + (51, 51, 153), (51, 0, 153), (0, 255, 255), (0, 204, 255), + (0, 153, 255), (0, 102, 255), (0, 51, 255), (0, 0, 255), + (0, 255, 204), (0, 204, 204), (0, 153, 204), (0, 102, 204), + (0, 51, 204), (0, 0, 204), (0, 255, 153), (0, 204, 153), + (0, 153, 153), (0, 102, 153), (0, 51, 153), (0, 0, 153), + (255, 255, 102), (255, 204, 102), (255, 153, 102), (255, 102, 102), + (255, 51, 102), (255, 0, 102), (255, 255, 51), (255, 204, 51), + (255, 153, 51), (255, 102, 51), (255, 51, 51), (255, 0, 51), + (255, 255, 0), (255, 204, 0), (255, 153, 0), (255, 102, 0), + (255, 51, 0), (255, 0, 0), (204, 255, 102), (204, 204, 102), + (204, 153, 102), (204, 102, 102), (204, 51, 102), (204, 0, 102), + (204, 255, 51), (204, 204, 51), (204, 153, 51), (204, 102, 51), + (204, 51, 51), (204, 0, 51), (204, 255, 0), (204, 204, 0), + (204, 153, 0), (204, 102, 0), (204, 51, 0), (204, 0, 0), + (153, 255, 102), (153, 204, 102), (153, 153, 102), (153, 102, 102), + (153, 51, 102), (153, 0, 102), (153, 255, 51), (153, 204, 51), + (153, 153, 51), (153, 102, 51), (153, 51, 51), (153, 0, 51), + (153, 255, 0), (153, 204, 0), (153, 153, 0), (153, 102, 0), + (153, 51, 0), (153, 0, 0), (102, 255, 102), (102, 204, 102), + (102, 153, 102), (102, 102, 102), (102, 51, 102), (102, 0, 102), + (102, 255, 51), (102, 204, 51), (102, 153, 51), (102, 102, 51), + (102, 51, 51), (102, 0, 51), (102, 255, 0), (102, 204, 0), + (102, 153, 0), (102, 102, 0), (102, 51, 0), (102, 0, 0), + (51, 255, 102), (51, 204, 102), (51, 153, 102), (51, 102, 102), + (51, 51, 102), (51, 0, 102), (51, 255, 51), (51, 204, 51), + (51, 153, 51), (51, 102, 51), (51, 51, 51), (51, 0, 51), + (51, 255, 0), (51, 204, 0), (51, 153, 0), (51, 102, 0), + (51, 51, 0), (51, 0, 0), (0, 255, 102), (0, 204, 102), + (0, 153, 102), (0, 102, 102), (0, 51, 102), (0, 0, 102), + (0, 255, 51), (0, 204, 51), (0, 153, 51), (0, 102, 51), + (0, 51, 51), (0, 0, 51), (0, 255, 0), (0, 204, 0), + (0, 153, 0), (0, 102, 0), (0, 51, 0), (17, 17, 17), + (34, 34, 34), (68, 68, 68), (85, 85, 85), (119, 119, 119), + (136, 136, 136), (170, 170, 170), (187, 187, 187), (221, 221, 221), + (238, 238, 238), (192, 192, 192), (128, 0, 0), (128, 0, 128), + (0, 128, 0), (0, 128, 128), (0, 0, 0), (0, 0, 0), + (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), + (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), + (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), + (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), + (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), + (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0)) +# fmt: on + + +# so build a prototype image to be used for palette resampling +def build_prototype_image() -> Image.Image: + image = Image.new("L", (1, len(_Palm8BitColormapValues))) + image.putdata(list(range(len(_Palm8BitColormapValues)))) + palettedata: tuple[int, ...] = () + for colormapValue in _Palm8BitColormapValues: + palettedata += colormapValue + palettedata += (0, 0, 0) * (256 - len(_Palm8BitColormapValues)) + image.putpalette(palettedata) + return image + + +Palm8BitColormapImage = build_prototype_image() + +# OK, we now have in Palm8BitColormapImage, +# a "P"-mode image with the right palette +# +# -------------------------------------------------------------------- + +_FLAGS = {"custom-colormap": 0x4000, "is-compressed": 0x8000, "has-transparent": 0x2000} + +_COMPRESSION_TYPES = {"none": 0xFF, "rle": 0x01, "scanline": 0x00} + + +# +# -------------------------------------------------------------------- + +## +# (Internal) Image save plugin for the Palm format. + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if im.mode == "P": + # we assume this is a color Palm image with the standard colormap, + # unless the "info" dict has a "custom-colormap" field + + rawmode = "P" + bpp = 8 + version = 1 + + elif im.mode == "L": + if im.encoderinfo.get("bpp") in (1, 2, 4): + # this is 8-bit grayscale, so we shift it to get the high-order bits, + # and invert it because + # Palm does grayscale from white (0) to black (1) + bpp = im.encoderinfo["bpp"] + maxval = (1 << bpp) - 1 + shift = 8 - bpp + im = im.point(lambda x: maxval - (x >> shift)) + elif im.info.get("bpp") in (1, 2, 4): + # here we assume that even though the inherent mode is 8-bit grayscale, + # only the lower bpp bits are significant. + # We invert them to match the Palm. + bpp = im.info["bpp"] + maxval = (1 << bpp) - 1 + im = im.point(lambda x: maxval - (x & maxval)) + else: + msg = f"cannot write mode {im.mode} as Palm" + raise OSError(msg) + + # we ignore the palette here + im._mode = "P" + rawmode = f"P;{bpp}" + version = 1 + + elif im.mode == "1": + # monochrome -- write it inverted, as is the Palm standard + rawmode = "1;I" + bpp = 1 + version = 0 + + else: + msg = f"cannot write mode {im.mode} as Palm" + raise OSError(msg) + + # + # make sure image data is available + im.load() + + # write header + + cols = im.size[0] + rows = im.size[1] + + rowbytes = int((cols + (16 // bpp - 1)) / (16 // bpp)) * 2 + transparent_index = 0 + compression_type = _COMPRESSION_TYPES["none"] + + flags = 0 + if im.mode == "P" and "custom-colormap" in im.info: + assert im.palette is not None + flags = flags & _FLAGS["custom-colormap"] + colormapsize = 4 * 256 + 2 + colormapmode = im.palette.mode + colormap = im.getdata().getpalette() + else: + colormapsize = 0 + + if "offset" in im.info: + offset = (rowbytes * rows + 16 + 3 + colormapsize) // 4 + else: + offset = 0 + + fp.write(o16b(cols) + o16b(rows) + o16b(rowbytes) + o16b(flags)) + fp.write(o8(bpp)) + fp.write(o8(version)) + fp.write(o16b(offset)) + fp.write(o8(transparent_index)) + fp.write(o8(compression_type)) + fp.write(o16b(0)) # reserved by Palm + + # now write colormap if necessary + + if colormapsize > 0: + fp.write(o16b(256)) + for i in range(256): + fp.write(o8(i)) + if colormapmode == "RGB": + fp.write( + o8(colormap[3 * i]) + + o8(colormap[3 * i + 1]) + + o8(colormap[3 * i + 2]) + ) + elif colormapmode == "RGBA": + fp.write( + o8(colormap[4 * i]) + + o8(colormap[4 * i + 1]) + + o8(colormap[4 * i + 2]) + ) + + # now convert data to raw form + ImageFile._save( + im, fp, [ImageFile._Tile("raw", (0, 0) + im.size, 0, (rawmode, rowbytes, 1))] + ) + + if hasattr(fp, "flush"): + fp.flush() + + +# +# -------------------------------------------------------------------- + +Image.register_save("Palm", _save) + +Image.register_extension("Palm", ".palm") + +Image.register_mime("Palm", "image/palm") diff --git a/venv/Lib/site-packages/PIL/PcdImagePlugin.py b/venv/Lib/site-packages/PIL/PcdImagePlugin.py new file mode 100644 index 00000000..e8ea800a --- /dev/null +++ b/venv/Lib/site-packages/PIL/PcdImagePlugin.py @@ -0,0 +1,64 @@ +# +# The Python Imaging Library. +# $Id$ +# +# PCD file handling +# +# History: +# 96-05-10 fl Created +# 96-05-27 fl Added draft mode (128x192, 256x384) +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1996. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from . import Image, ImageFile + +## +# Image plugin for PhotoCD images. This plugin only reads the 768x512 +# image from the file; higher resolutions are encoded in a proprietary +# encoding. + + +class PcdImageFile(ImageFile.ImageFile): + format = "PCD" + format_description = "Kodak PhotoCD" + + def _open(self) -> None: + # rough + assert self.fp is not None + + self.fp.seek(2048) + s = self.fp.read(2048) + + if s[:4] != b"PCD_": + msg = "not a PCD file" + raise SyntaxError(msg) + + orientation = s[1538] & 3 + self.tile_post_rotate = None + if orientation == 1: + self.tile_post_rotate = 90 + elif orientation == 3: + self.tile_post_rotate = -90 + + self._mode = "RGB" + self._size = 768, 512 # FIXME: not correct for rotated images! + self.tile = [ImageFile._Tile("pcd", (0, 0) + self.size, 96 * 2048, None)] + + def load_end(self) -> None: + if self.tile_post_rotate: + # Handle rotated PCDs + self.im = self.im.rotate(self.tile_post_rotate) + self._size = self.im.size + + +# +# registry + +Image.register_open(PcdImageFile.format, PcdImageFile) + +Image.register_extension(PcdImageFile.format, ".pcd") diff --git a/venv/Lib/site-packages/PIL/PcfFontFile.py b/venv/Lib/site-packages/PIL/PcfFontFile.py new file mode 100644 index 00000000..0d1968b1 --- /dev/null +++ b/venv/Lib/site-packages/PIL/PcfFontFile.py @@ -0,0 +1,254 @@ +# +# THIS IS WORK IN PROGRESS +# +# The Python Imaging Library +# $Id$ +# +# portable compiled font file parser +# +# history: +# 1997-08-19 fl created +# 2003-09-13 fl fixed loading of unicode fonts +# +# Copyright (c) 1997-2003 by Secret Labs AB. +# Copyright (c) 1997-2003 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io +from typing import BinaryIO, Callable + +from . import FontFile, Image +from ._binary import i8 +from ._binary import i16be as b16 +from ._binary import i16le as l16 +from ._binary import i32be as b32 +from ._binary import i32le as l32 + +# -------------------------------------------------------------------- +# declarations + +PCF_MAGIC = 0x70636601 # "\x01fcp" + +PCF_PROPERTIES = 1 << 0 +PCF_ACCELERATORS = 1 << 1 +PCF_METRICS = 1 << 2 +PCF_BITMAPS = 1 << 3 +PCF_INK_METRICS = 1 << 4 +PCF_BDF_ENCODINGS = 1 << 5 +PCF_SWIDTHS = 1 << 6 +PCF_GLYPH_NAMES = 1 << 7 +PCF_BDF_ACCELERATORS = 1 << 8 + +BYTES_PER_ROW: list[Callable[[int], int]] = [ + lambda bits: ((bits + 7) >> 3), + lambda bits: ((bits + 15) >> 3) & ~1, + lambda bits: ((bits + 31) >> 3) & ~3, + lambda bits: ((bits + 63) >> 3) & ~7, +] + + +def sz(s: bytes, o: int) -> bytes: + return s[o : s.index(b"\0", o)] + + +class PcfFontFile(FontFile.FontFile): + """Font file plugin for the X11 PCF format.""" + + name = "name" + + def __init__(self, fp: BinaryIO, charset_encoding: str = "iso8859-1"): + self.charset_encoding = charset_encoding + + magic = l32(fp.read(4)) + if magic != PCF_MAGIC: + msg = "not a PCF file" + raise SyntaxError(msg) + + super().__init__() + + count = l32(fp.read(4)) + self.toc = {} + for i in range(count): + type = l32(fp.read(4)) + self.toc[type] = l32(fp.read(4)), l32(fp.read(4)), l32(fp.read(4)) + + self.fp = fp + + self.info = self._load_properties() + + metrics = self._load_metrics() + bitmaps = self._load_bitmaps(metrics) + encoding = self._load_encoding() + + # + # create glyph structure + + for ch, ix in enumerate(encoding): + if ix is not None: + ( + xsize, + ysize, + left, + right, + width, + ascent, + descent, + attributes, + ) = metrics[ix] + self.glyph[ch] = ( + (width, 0), + (left, descent - ysize, xsize + left, descent), + (0, 0, xsize, ysize), + bitmaps[ix], + ) + + def _getformat( + self, tag: int + ) -> tuple[BinaryIO, int, Callable[[bytes], int], Callable[[bytes], int]]: + format, size, offset = self.toc[tag] + + fp = self.fp + fp.seek(offset) + + format = l32(fp.read(4)) + + if format & 4: + i16, i32 = b16, b32 + else: + i16, i32 = l16, l32 + + return fp, format, i16, i32 + + def _load_properties(self) -> dict[bytes, bytes | int]: + # + # font properties + + properties = {} + + fp, format, i16, i32 = self._getformat(PCF_PROPERTIES) + + nprops = i32(fp.read(4)) + + # read property description + p = [(i32(fp.read(4)), i8(fp.read(1)), i32(fp.read(4))) for _ in range(nprops)] + + if nprops & 3: + fp.seek(4 - (nprops & 3), io.SEEK_CUR) # pad + + data = fp.read(i32(fp.read(4))) + + for k, s, v in p: + property_value: bytes | int = sz(data, v) if s else v + properties[sz(data, k)] = property_value + + return properties + + def _load_metrics(self) -> list[tuple[int, int, int, int, int, int, int, int]]: + # + # font metrics + + metrics: list[tuple[int, int, int, int, int, int, int, int]] = [] + + fp, format, i16, i32 = self._getformat(PCF_METRICS) + + append = metrics.append + + if (format & 0xFF00) == 0x100: + # "compressed" metrics + for i in range(i16(fp.read(2))): + left = i8(fp.read(1)) - 128 + right = i8(fp.read(1)) - 128 + width = i8(fp.read(1)) - 128 + ascent = i8(fp.read(1)) - 128 + descent = i8(fp.read(1)) - 128 + xsize = right - left + ysize = ascent + descent + append((xsize, ysize, left, right, width, ascent, descent, 0)) + + else: + # "jumbo" metrics + for i in range(i32(fp.read(4))): + left = i16(fp.read(2)) + right = i16(fp.read(2)) + width = i16(fp.read(2)) + ascent = i16(fp.read(2)) + descent = i16(fp.read(2)) + attributes = i16(fp.read(2)) + xsize = right - left + ysize = ascent + descent + append((xsize, ysize, left, right, width, ascent, descent, attributes)) + + return metrics + + def _load_bitmaps( + self, metrics: list[tuple[int, int, int, int, int, int, int, int]] + ) -> list[Image.Image]: + # + # bitmap data + + fp, format, i16, i32 = self._getformat(PCF_BITMAPS) + + nbitmaps = i32(fp.read(4)) + + if nbitmaps != len(metrics): + msg = "Wrong number of bitmaps" + raise OSError(msg) + + offsets = [i32(fp.read(4)) for _ in range(nbitmaps)] + + bitmap_sizes = [i32(fp.read(4)) for _ in range(4)] + + # byteorder = format & 4 # non-zero => MSB + bitorder = format & 8 # non-zero => MSB + padindex = format & 3 + + bitmapsize = bitmap_sizes[padindex] + offsets.append(bitmapsize) + + data = fp.read(bitmapsize) + + pad = BYTES_PER_ROW[padindex] + mode = "1;R" + if bitorder: + mode = "1" + + bitmaps = [] + for i in range(nbitmaps): + xsize, ysize = metrics[i][:2] + b, e = offsets[i : i + 2] + bitmaps.append( + Image.frombytes("1", (xsize, ysize), data[b:e], "raw", mode, pad(xsize)) + ) + + return bitmaps + + def _load_encoding(self) -> list[int | None]: + fp, format, i16, i32 = self._getformat(PCF_BDF_ENCODINGS) + + first_col, last_col = i16(fp.read(2)), i16(fp.read(2)) + first_row, last_row = i16(fp.read(2)), i16(fp.read(2)) + + i16(fp.read(2)) # default + + nencoding = (last_col - first_col + 1) * (last_row - first_row + 1) + + # map character code to bitmap index + encoding: list[int | None] = [None] * min(256, nencoding) + + encoding_offsets = [i16(fp.read(2)) for _ in range(nencoding)] + + for i in range(first_col, len(encoding)): + try: + encoding_offset = encoding_offsets[ + ord(bytearray([i]).decode(self.charset_encoding)) + ] + if encoding_offset != 0xFFFF: + encoding[i] = encoding_offset + except UnicodeDecodeError: + # character is not supported in selected encoding + pass + + return encoding diff --git a/venv/Lib/site-packages/PIL/PcxImagePlugin.py b/venv/Lib/site-packages/PIL/PcxImagePlugin.py new file mode 100644 index 00000000..8445d5cc --- /dev/null +++ b/venv/Lib/site-packages/PIL/PcxImagePlugin.py @@ -0,0 +1,229 @@ +# +# The Python Imaging Library. +# $Id$ +# +# PCX file handling +# +# This format was originally used by ZSoft's popular PaintBrush +# program for the IBM PC. It is also supported by many MS-DOS and +# Windows applications, including the Windows PaintBrush program in +# Windows 3. +# +# history: +# 1995-09-01 fl Created +# 1996-05-20 fl Fixed RGB support +# 1997-01-03 fl Fixed 2-bit and 4-bit support +# 1999-02-03 fl Fixed 8-bit support (broken in 1.0b1) +# 1999-02-07 fl Added write support +# 2002-06-09 fl Made 2-bit and 4-bit support a bit more robust +# 2002-07-30 fl Seek from to current position, not beginning of file +# 2003-06-03 fl Extract DPI settings (info["dpi"]) +# +# Copyright (c) 1997-2003 by Secret Labs AB. +# Copyright (c) 1995-2003 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io +import logging +from typing import IO + +from . import Image, ImageFile, ImagePalette +from ._binary import i16le as i16 +from ._binary import o8 +from ._binary import o16le as o16 + +logger = logging.getLogger(__name__) + + +def _accept(prefix: bytes) -> bool: + return prefix[0] == 10 and prefix[1] in [0, 2, 3, 5] + + +## +# Image plugin for Paintbrush images. + + +class PcxImageFile(ImageFile.ImageFile): + format = "PCX" + format_description = "Paintbrush" + + def _open(self) -> None: + # header + assert self.fp is not None + + s = self.fp.read(128) + if not _accept(s): + msg = "not a PCX file" + raise SyntaxError(msg) + + # image + bbox = i16(s, 4), i16(s, 6), i16(s, 8) + 1, i16(s, 10) + 1 + if bbox[2] <= bbox[0] or bbox[3] <= bbox[1]: + msg = "bad PCX image size" + raise SyntaxError(msg) + logger.debug("BBox: %s %s %s %s", *bbox) + + # format + version = s[1] + bits = s[3] + planes = s[65] + provided_stride = i16(s, 66) + logger.debug( + "PCX version %s, bits %s, planes %s, stride %s", + version, + bits, + planes, + provided_stride, + ) + + self.info["dpi"] = i16(s, 12), i16(s, 14) + + if bits == 1 and planes == 1: + mode = rawmode = "1" + + elif bits == 1 and planes in (2, 4): + mode = "P" + rawmode = "P;%dL" % planes + self.palette = ImagePalette.raw("RGB", s[16:64]) + + elif version == 5 and bits == 8 and planes == 1: + mode = rawmode = "L" + # FIXME: hey, this doesn't work with the incremental loader !!! + self.fp.seek(-769, io.SEEK_END) + s = self.fp.read(769) + if len(s) == 769 and s[0] == 12: + # check if the palette is linear grayscale + for i in range(256): + if s[i * 3 + 1 : i * 3 + 4] != o8(i) * 3: + mode = rawmode = "P" + break + if mode == "P": + self.palette = ImagePalette.raw("RGB", s[1:]) + self.fp.seek(128) + + elif version == 5 and bits == 8 and planes == 3: + mode = "RGB" + rawmode = "RGB;L" + + else: + msg = "unknown PCX mode" + raise OSError(msg) + + self._mode = mode + self._size = bbox[2] - bbox[0], bbox[3] - bbox[1] + + # Don't trust the passed in stride. + # Calculate the approximate position for ourselves. + # CVE-2020-35653 + stride = (self._size[0] * bits + 7) // 8 + + # While the specification states that this must be even, + # not all images follow this + if provided_stride != stride: + stride += stride % 2 + + bbox = (0, 0) + self.size + logger.debug("size: %sx%s", *self.size) + + self.tile = [ + ImageFile._Tile("pcx", bbox, self.fp.tell(), (rawmode, planes * stride)) + ] + + +# -------------------------------------------------------------------- +# save PCX files + + +SAVE = { + # mode: (version, bits, planes, raw mode) + "1": (2, 1, 1, "1"), + "L": (5, 8, 1, "L"), + "P": (5, 8, 1, "P"), + "RGB": (5, 8, 3, "RGB;L"), +} + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + try: + version, bits, planes, rawmode = SAVE[im.mode] + except KeyError as e: + msg = f"Cannot save {im.mode} images as PCX" + raise ValueError(msg) from e + + # bytes per plane + stride = (im.size[0] * bits + 7) // 8 + # stride should be even + stride += stride % 2 + # Stride needs to be kept in sync with the PcxEncode.c version. + # Ideally it should be passed in in the state, but the bytes value + # gets overwritten. + + logger.debug( + "PcxImagePlugin._save: xwidth: %d, bits: %d, stride: %d", + im.size[0], + bits, + stride, + ) + + # under windows, we could determine the current screen size with + # "Image.core.display_mode()[1]", but I think that's overkill... + + screen = im.size + + dpi = 100, 100 + + # PCX header + fp.write( + o8(10) + + o8(version) + + o8(1) + + o8(bits) + + o16(0) + + o16(0) + + o16(im.size[0] - 1) + + o16(im.size[1] - 1) + + o16(dpi[0]) + + o16(dpi[1]) + + b"\0" * 24 + + b"\xFF" * 24 + + b"\0" + + o8(planes) + + o16(stride) + + o16(1) + + o16(screen[0]) + + o16(screen[1]) + + b"\0" * 54 + ) + + assert fp.tell() == 128 + + ImageFile._save( + im, fp, [ImageFile._Tile("pcx", (0, 0) + im.size, 0, (rawmode, bits * planes))] + ) + + if im.mode == "P": + # colour palette + fp.write(o8(12)) + palette = im.im.getpalette("RGB", "RGB") + palette += b"\x00" * (768 - len(palette)) + fp.write(palette) # 768 bytes + elif im.mode == "L": + # grayscale palette + fp.write(o8(12)) + for i in range(256): + fp.write(o8(i) * 3) + + +# -------------------------------------------------------------------- +# registry + + +Image.register_open(PcxImageFile.format, PcxImageFile, _accept) +Image.register_save(PcxImageFile.format, _save) + +Image.register_extension(PcxImageFile.format, ".pcx") + +Image.register_mime(PcxImageFile.format, "image/x-pcx") diff --git a/venv/Lib/site-packages/PIL/PdfImagePlugin.py b/venv/Lib/site-packages/PIL/PdfImagePlugin.py new file mode 100644 index 00000000..e9c20ddc --- /dev/null +++ b/venv/Lib/site-packages/PIL/PdfImagePlugin.py @@ -0,0 +1,311 @@ +# +# The Python Imaging Library. +# $Id$ +# +# PDF (Acrobat) file handling +# +# History: +# 1996-07-16 fl Created +# 1997-01-18 fl Fixed header +# 2004-02-21 fl Fixes for 1/L/CMYK images, etc. +# 2004-02-24 fl Fixes for 1 and P images. +# +# Copyright (c) 1997-2004 by Secret Labs AB. All rights reserved. +# Copyright (c) 1996-1997 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# + +## +# Image plugin for PDF images (output only). +## +from __future__ import annotations + +import io +import math +import os +import time +from typing import IO, Any + +from . import Image, ImageFile, ImageSequence, PdfParser, __version__, features + +# +# -------------------------------------------------------------------- + +# object ids: +# 1. catalogue +# 2. pages +# 3. image +# 4. page +# 5. page contents + + +def _save_all(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + _save(im, fp, filename, save_all=True) + + +## +# (Internal) Image save plugin for the PDF format. + + +def _write_image( + im: Image.Image, + filename: str | bytes, + existing_pdf: PdfParser.PdfParser, + image_refs: list[PdfParser.IndirectReference], +) -> tuple[PdfParser.IndirectReference, str]: + # FIXME: Should replace ASCIIHexDecode with RunLengthDecode + # (packbits) or LZWDecode (tiff/lzw compression). Note that + # PDF 1.2 also supports Flatedecode (zip compression). + + params = None + decode = None + + # + # Get image characteristics + + width, height = im.size + + dict_obj: dict[str, Any] = {"BitsPerComponent": 8} + if im.mode == "1": + if features.check("libtiff"): + decode_filter = "CCITTFaxDecode" + dict_obj["BitsPerComponent"] = 1 + params = PdfParser.PdfArray( + [ + PdfParser.PdfDict( + { + "K": -1, + "BlackIs1": True, + "Columns": width, + "Rows": height, + } + ) + ] + ) + else: + decode_filter = "DCTDecode" + dict_obj["ColorSpace"] = PdfParser.PdfName("DeviceGray") + procset = "ImageB" # grayscale + elif im.mode == "L": + decode_filter = "DCTDecode" + # params = f"<< /Predictor 15 /Columns {width-2} >>" + dict_obj["ColorSpace"] = PdfParser.PdfName("DeviceGray") + procset = "ImageB" # grayscale + elif im.mode == "LA": + decode_filter = "JPXDecode" + # params = f"<< /Predictor 15 /Columns {width-2} >>" + procset = "ImageB" # grayscale + dict_obj["SMaskInData"] = 1 + elif im.mode == "P": + decode_filter = "ASCIIHexDecode" + palette = im.getpalette() + assert palette is not None + dict_obj["ColorSpace"] = [ + PdfParser.PdfName("Indexed"), + PdfParser.PdfName("DeviceRGB"), + len(palette) // 3 - 1, + PdfParser.PdfBinary(palette), + ] + procset = "ImageI" # indexed color + + if "transparency" in im.info: + smask = im.convert("LA").getchannel("A") + smask.encoderinfo = {} + + image_ref = _write_image(smask, filename, existing_pdf, image_refs)[0] + dict_obj["SMask"] = image_ref + elif im.mode == "RGB": + decode_filter = "DCTDecode" + dict_obj["ColorSpace"] = PdfParser.PdfName("DeviceRGB") + procset = "ImageC" # color images + elif im.mode == "RGBA": + decode_filter = "JPXDecode" + procset = "ImageC" # color images + dict_obj["SMaskInData"] = 1 + elif im.mode == "CMYK": + decode_filter = "DCTDecode" + dict_obj["ColorSpace"] = PdfParser.PdfName("DeviceCMYK") + procset = "ImageC" # color images + decode = [1, 0, 1, 0, 1, 0, 1, 0] + else: + msg = f"cannot save mode {im.mode}" + raise ValueError(msg) + + # + # image + + op = io.BytesIO() + + if decode_filter == "ASCIIHexDecode": + ImageFile._save(im, op, [ImageFile._Tile("hex", (0, 0) + im.size, 0, im.mode)]) + elif decode_filter == "CCITTFaxDecode": + im.save( + op, + "TIFF", + compression="group4", + # use a single strip + strip_size=math.ceil(width / 8) * height, + ) + elif decode_filter == "DCTDecode": + Image.SAVE["JPEG"](im, op, filename) + elif decode_filter == "JPXDecode": + del dict_obj["BitsPerComponent"] + Image.SAVE["JPEG2000"](im, op, filename) + else: + msg = f"unsupported PDF filter ({decode_filter})" + raise ValueError(msg) + + stream = op.getvalue() + filter: PdfParser.PdfArray | PdfParser.PdfName + if decode_filter == "CCITTFaxDecode": + stream = stream[8:] + filter = PdfParser.PdfArray([PdfParser.PdfName(decode_filter)]) + else: + filter = PdfParser.PdfName(decode_filter) + + image_ref = image_refs.pop(0) + existing_pdf.write_obj( + image_ref, + stream=stream, + Type=PdfParser.PdfName("XObject"), + Subtype=PdfParser.PdfName("Image"), + Width=width, # * 72.0 / x_resolution, + Height=height, # * 72.0 / y_resolution, + Filter=filter, + Decode=decode, + DecodeParms=params, + **dict_obj, + ) + + return image_ref, procset + + +def _save( + im: Image.Image, fp: IO[bytes], filename: str | bytes, save_all: bool = False +) -> None: + is_appending = im.encoderinfo.get("append", False) + filename_str = filename.decode() if isinstance(filename, bytes) else filename + if is_appending: + existing_pdf = PdfParser.PdfParser(f=fp, filename=filename_str, mode="r+b") + else: + existing_pdf = PdfParser.PdfParser(f=fp, filename=filename_str, mode="w+b") + + dpi = im.encoderinfo.get("dpi") + if dpi: + x_resolution = dpi[0] + y_resolution = dpi[1] + else: + x_resolution = y_resolution = im.encoderinfo.get("resolution", 72.0) + + info = { + "title": ( + None if is_appending else os.path.splitext(os.path.basename(filename))[0] + ), + "author": None, + "subject": None, + "keywords": None, + "creator": None, + "producer": None, + "creationDate": None if is_appending else time.gmtime(), + "modDate": None if is_appending else time.gmtime(), + } + for k, default in info.items(): + v = im.encoderinfo.get(k) if k in im.encoderinfo else default + if v: + existing_pdf.info[k[0].upper() + k[1:]] = v + + # + # make sure image data is available + im.load() + + existing_pdf.start_writing() + existing_pdf.write_header() + existing_pdf.write_comment(f"created by Pillow {__version__} PDF driver") + + # + # pages + ims = [im] + if save_all: + append_images = im.encoderinfo.get("append_images", []) + for append_im in append_images: + append_im.encoderinfo = im.encoderinfo.copy() + ims.append(append_im) + number_of_pages = 0 + image_refs = [] + page_refs = [] + contents_refs = [] + for im in ims: + im_number_of_pages = 1 + if save_all: + im_number_of_pages = getattr(im, "n_frames", 1) + number_of_pages += im_number_of_pages + for i in range(im_number_of_pages): + image_refs.append(existing_pdf.next_object_id(0)) + if im.mode == "P" and "transparency" in im.info: + image_refs.append(existing_pdf.next_object_id(0)) + + page_refs.append(existing_pdf.next_object_id(0)) + contents_refs.append(existing_pdf.next_object_id(0)) + existing_pdf.pages.append(page_refs[-1]) + + # + # catalog and list of pages + existing_pdf.write_catalog() + + page_number = 0 + for im_sequence in ims: + im_pages: ImageSequence.Iterator | list[Image.Image] = ( + ImageSequence.Iterator(im_sequence) if save_all else [im_sequence] + ) + for im in im_pages: + image_ref, procset = _write_image(im, filename, existing_pdf, image_refs) + + # + # page + + existing_pdf.write_page( + page_refs[page_number], + Resources=PdfParser.PdfDict( + ProcSet=[PdfParser.PdfName("PDF"), PdfParser.PdfName(procset)], + XObject=PdfParser.PdfDict(image=image_ref), + ), + MediaBox=[ + 0, + 0, + im.width * 72.0 / x_resolution, + im.height * 72.0 / y_resolution, + ], + Contents=contents_refs[page_number], + ) + + # + # page contents + + page_contents = b"q %f 0 0 %f 0 0 cm /image Do Q\n" % ( + im.width * 72.0 / x_resolution, + im.height * 72.0 / y_resolution, + ) + + existing_pdf.write_obj(contents_refs[page_number], stream=page_contents) + + page_number += 1 + + # + # trailer + existing_pdf.write_xref_and_trailer() + if hasattr(fp, "flush"): + fp.flush() + existing_pdf.close() + + +# +# -------------------------------------------------------------------- + + +Image.register_save("PDF", _save) +Image.register_save_all("PDF", _save_all) + +Image.register_extension("PDF", ".pdf") + +Image.register_mime("PDF", "application/pdf") diff --git a/venv/Lib/site-packages/PIL/PdfParser.py b/venv/Lib/site-packages/PIL/PdfParser.py new file mode 100644 index 00000000..7cb2d241 --- /dev/null +++ b/venv/Lib/site-packages/PIL/PdfParser.py @@ -0,0 +1,1073 @@ +from __future__ import annotations + +import calendar +import codecs +import collections +import mmap +import os +import re +import time +import zlib +from typing import IO, TYPE_CHECKING, Any, NamedTuple, Union + + +# see 7.9.2.2 Text String Type on page 86 and D.3 PDFDocEncoding Character Set +# on page 656 +def encode_text(s: str) -> bytes: + return codecs.BOM_UTF16_BE + s.encode("utf_16_be") + + +PDFDocEncoding = { + 0x16: "\u0017", + 0x18: "\u02D8", + 0x19: "\u02C7", + 0x1A: "\u02C6", + 0x1B: "\u02D9", + 0x1C: "\u02DD", + 0x1D: "\u02DB", + 0x1E: "\u02DA", + 0x1F: "\u02DC", + 0x80: "\u2022", + 0x81: "\u2020", + 0x82: "\u2021", + 0x83: "\u2026", + 0x84: "\u2014", + 0x85: "\u2013", + 0x86: "\u0192", + 0x87: "\u2044", + 0x88: "\u2039", + 0x89: "\u203A", + 0x8A: "\u2212", + 0x8B: "\u2030", + 0x8C: "\u201E", + 0x8D: "\u201C", + 0x8E: "\u201D", + 0x8F: "\u2018", + 0x90: "\u2019", + 0x91: "\u201A", + 0x92: "\u2122", + 0x93: "\uFB01", + 0x94: "\uFB02", + 0x95: "\u0141", + 0x96: "\u0152", + 0x97: "\u0160", + 0x98: "\u0178", + 0x99: "\u017D", + 0x9A: "\u0131", + 0x9B: "\u0142", + 0x9C: "\u0153", + 0x9D: "\u0161", + 0x9E: "\u017E", + 0xA0: "\u20AC", +} + + +def decode_text(b: bytes) -> str: + if b[: len(codecs.BOM_UTF16_BE)] == codecs.BOM_UTF16_BE: + return b[len(codecs.BOM_UTF16_BE) :].decode("utf_16_be") + else: + return "".join(PDFDocEncoding.get(byte, chr(byte)) for byte in b) + + +class PdfFormatError(RuntimeError): + """An error that probably indicates a syntactic or semantic error in the + PDF file structure""" + + pass + + +def check_format_condition(condition: bool, error_message: str) -> None: + if not condition: + raise PdfFormatError(error_message) + + +class IndirectReferenceTuple(NamedTuple): + object_id: int + generation: int + + +class IndirectReference(IndirectReferenceTuple): + def __str__(self) -> str: + return f"{self.object_id} {self.generation} R" + + def __bytes__(self) -> bytes: + return self.__str__().encode("us-ascii") + + def __eq__(self, other: object) -> bool: + if self.__class__ is not other.__class__: + return False + assert isinstance(other, IndirectReference) + return other.object_id == self.object_id and other.generation == self.generation + + def __ne__(self, other: object) -> bool: + return not (self == other) + + def __hash__(self) -> int: + return hash((self.object_id, self.generation)) + + +class IndirectObjectDef(IndirectReference): + def __str__(self) -> str: + return f"{self.object_id} {self.generation} obj" + + +class XrefTable: + def __init__(self) -> None: + self.existing_entries: dict[int, tuple[int, int]] = ( + {} + ) # object ID => (offset, generation) + self.new_entries: dict[int, tuple[int, int]] = ( + {} + ) # object ID => (offset, generation) + self.deleted_entries = {0: 65536} # object ID => generation + self.reading_finished = False + + def __setitem__(self, key: int, value: tuple[int, int]) -> None: + if self.reading_finished: + self.new_entries[key] = value + else: + self.existing_entries[key] = value + if key in self.deleted_entries: + del self.deleted_entries[key] + + def __getitem__(self, key: int) -> tuple[int, int]: + try: + return self.new_entries[key] + except KeyError: + return self.existing_entries[key] + + def __delitem__(self, key: int) -> None: + if key in self.new_entries: + generation = self.new_entries[key][1] + 1 + del self.new_entries[key] + self.deleted_entries[key] = generation + elif key in self.existing_entries: + generation = self.existing_entries[key][1] + 1 + self.deleted_entries[key] = generation + elif key in self.deleted_entries: + generation = self.deleted_entries[key] + else: + msg = f"object ID {key} cannot be deleted because it doesn't exist" + raise IndexError(msg) + + def __contains__(self, key: int) -> bool: + return key in self.existing_entries or key in self.new_entries + + def __len__(self) -> int: + return len( + set(self.existing_entries.keys()) + | set(self.new_entries.keys()) + | set(self.deleted_entries.keys()) + ) + + def keys(self) -> set[int]: + return ( + set(self.existing_entries.keys()) - set(self.deleted_entries.keys()) + ) | set(self.new_entries.keys()) + + def write(self, f: IO[bytes]) -> int: + keys = sorted(set(self.new_entries.keys()) | set(self.deleted_entries.keys())) + deleted_keys = sorted(set(self.deleted_entries.keys())) + startxref = f.tell() + f.write(b"xref\n") + while keys: + # find a contiguous sequence of object IDs + prev: int | None = None + for index, key in enumerate(keys): + if prev is None or prev + 1 == key: + prev = key + else: + contiguous_keys = keys[:index] + keys = keys[index:] + break + else: + contiguous_keys = keys + keys = [] + f.write(b"%d %d\n" % (contiguous_keys[0], len(contiguous_keys))) + for object_id in contiguous_keys: + if object_id in self.new_entries: + f.write(b"%010d %05d n \n" % self.new_entries[object_id]) + else: + this_deleted_object_id = deleted_keys.pop(0) + check_format_condition( + object_id == this_deleted_object_id, + f"expected the next deleted object ID to be {object_id}, " + f"instead found {this_deleted_object_id}", + ) + try: + next_in_linked_list = deleted_keys[0] + except IndexError: + next_in_linked_list = 0 + f.write( + b"%010d %05d f \n" + % (next_in_linked_list, self.deleted_entries[object_id]) + ) + return startxref + + +class PdfName: + name: bytes + + def __init__(self, name: PdfName | bytes | str) -> None: + if isinstance(name, PdfName): + self.name = name.name + elif isinstance(name, bytes): + self.name = name + else: + self.name = name.encode("us-ascii") + + def name_as_str(self) -> str: + return self.name.decode("us-ascii") + + def __eq__(self, other: object) -> bool: + return ( + isinstance(other, PdfName) and other.name == self.name + ) or other == self.name + + def __hash__(self) -> int: + return hash(self.name) + + def __repr__(self) -> str: + return f"{self.__class__.__name__}({repr(self.name)})" + + @classmethod + def from_pdf_stream(cls, data: bytes) -> PdfName: + return cls(PdfParser.interpret_name(data)) + + allowed_chars = set(range(33, 127)) - {ord(c) for c in "#%/()<>[]{}"} + + def __bytes__(self) -> bytes: + result = bytearray(b"/") + for b in self.name: + if b in self.allowed_chars: + result.append(b) + else: + result.extend(b"#%02X" % b) + return bytes(result) + + +class PdfArray(list[Any]): + def __bytes__(self) -> bytes: + return b"[ " + b" ".join(pdf_repr(x) for x in self) + b" ]" + + +if TYPE_CHECKING: + _DictBase = collections.UserDict[Union[str, bytes], Any] +else: + _DictBase = collections.UserDict + + +class PdfDict(_DictBase): + def __setattr__(self, key: str, value: Any) -> None: + if key == "data": + collections.UserDict.__setattr__(self, key, value) + else: + self[key.encode("us-ascii")] = value + + def __getattr__(self, key: str) -> str | time.struct_time: + try: + value = self[key.encode("us-ascii")] + except KeyError as e: + raise AttributeError(key) from e + if isinstance(value, bytes): + value = decode_text(value) + if key.endswith("Date"): + if value.startswith("D:"): + value = value[2:] + + relationship = "Z" + if len(value) > 17: + relationship = value[14] + offset = int(value[15:17]) * 60 + if len(value) > 20: + offset += int(value[18:20]) + + format = "%Y%m%d%H%M%S"[: len(value) - 2] + value = time.strptime(value[: len(format) + 2], format) + if relationship in ["+", "-"]: + offset *= 60 + if relationship == "+": + offset *= -1 + value = time.gmtime(calendar.timegm(value) + offset) + return value + + def __bytes__(self) -> bytes: + out = bytearray(b"<<") + for key, value in self.items(): + if value is None: + continue + value = pdf_repr(value) + out.extend(b"\n") + out.extend(bytes(PdfName(key))) + out.extend(b" ") + out.extend(value) + out.extend(b"\n>>") + return bytes(out) + + +class PdfBinary: + def __init__(self, data: list[int] | bytes) -> None: + self.data = data + + def __bytes__(self) -> bytes: + return b"<%s>" % b"".join(b"%02X" % b for b in self.data) + + +class PdfStream: + def __init__(self, dictionary: PdfDict, buf: bytes) -> None: + self.dictionary = dictionary + self.buf = buf + + def decode(self) -> bytes: + try: + filter = self.dictionary[b"Filter"] + except KeyError: + return self.buf + if filter == b"FlateDecode": + try: + expected_length = self.dictionary[b"DL"] + except KeyError: + expected_length = self.dictionary[b"Length"] + return zlib.decompress(self.buf, bufsize=int(expected_length)) + else: + msg = f"stream filter {repr(filter)} unknown/unsupported" + raise NotImplementedError(msg) + + +def pdf_repr(x: Any) -> bytes: + if x is True: + return b"true" + elif x is False: + return b"false" + elif x is None: + return b"null" + elif isinstance(x, (PdfName, PdfDict, PdfArray, PdfBinary)): + return bytes(x) + elif isinstance(x, (int, float)): + return str(x).encode("us-ascii") + elif isinstance(x, time.struct_time): + return b"(D:" + time.strftime("%Y%m%d%H%M%SZ", x).encode("us-ascii") + b")" + elif isinstance(x, dict): + return bytes(PdfDict(x)) + elif isinstance(x, list): + return bytes(PdfArray(x)) + elif isinstance(x, str): + return pdf_repr(encode_text(x)) + elif isinstance(x, bytes): + # XXX escape more chars? handle binary garbage + x = x.replace(b"\\", b"\\\\") + x = x.replace(b"(", b"\\(") + x = x.replace(b")", b"\\)") + return b"(" + x + b")" + else: + return bytes(x) + + +class PdfParser: + """Based on + https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/PDF32000_2008.pdf + Supports PDF up to 1.4 + """ + + def __init__( + self, + filename: str | None = None, + f: IO[bytes] | None = None, + buf: bytes | bytearray | None = None, + start_offset: int = 0, + mode: str = "rb", + ) -> None: + if buf and f: + msg = "specify buf or f or filename, but not both buf and f" + raise RuntimeError(msg) + self.filename = filename + self.buf: bytes | bytearray | mmap.mmap | None = buf + self.f = f + self.start_offset = start_offset + self.should_close_buf = False + self.should_close_file = False + if filename is not None and f is None: + self.f = f = open(filename, mode) + self.should_close_file = True + if f is not None: + self.buf = self.get_buf_from_file(f) + self.should_close_buf = True + if not filename and hasattr(f, "name"): + self.filename = f.name + self.cached_objects: dict[IndirectReference, Any] = {} + self.root_ref: IndirectReference | None + self.info_ref: IndirectReference | None + self.pages_ref: IndirectReference | None + self.last_xref_section_offset: int | None + if self.buf: + self.read_pdf_info() + else: + self.file_size_total = self.file_size_this = 0 + self.root = PdfDict() + self.root_ref = None + self.info = PdfDict() + self.info_ref = None + self.page_tree_root = PdfDict() + self.pages: list[IndirectReference] = [] + self.orig_pages: list[IndirectReference] = [] + self.pages_ref = None + self.last_xref_section_offset = None + self.trailer_dict: dict[bytes, Any] = {} + self.xref_table = XrefTable() + self.xref_table.reading_finished = True + if f: + self.seek_end() + + def __enter__(self) -> PdfParser: + return self + + def __exit__(self, *args: object) -> None: + self.close() + + def start_writing(self) -> None: + self.close_buf() + self.seek_end() + + def close_buf(self) -> None: + if isinstance(self.buf, mmap.mmap): + self.buf.close() + self.buf = None + + def close(self) -> None: + if self.should_close_buf: + self.close_buf() + if self.f is not None and self.should_close_file: + self.f.close() + self.f = None + + def seek_end(self) -> None: + assert self.f is not None + self.f.seek(0, os.SEEK_END) + + def write_header(self) -> None: + assert self.f is not None + self.f.write(b"%PDF-1.4\n") + + def write_comment(self, s: str) -> None: + assert self.f is not None + self.f.write(f"% {s}\n".encode()) + + def write_catalog(self) -> IndirectReference: + assert self.f is not None + self.del_root() + self.root_ref = self.next_object_id(self.f.tell()) + self.pages_ref = self.next_object_id(0) + self.rewrite_pages() + self.write_obj(self.root_ref, Type=PdfName(b"Catalog"), Pages=self.pages_ref) + self.write_obj( + self.pages_ref, + Type=PdfName(b"Pages"), + Count=len(self.pages), + Kids=self.pages, + ) + return self.root_ref + + def rewrite_pages(self) -> None: + pages_tree_nodes_to_delete = [] + for i, page_ref in enumerate(self.orig_pages): + page_info = self.cached_objects[page_ref] + del self.xref_table[page_ref.object_id] + pages_tree_nodes_to_delete.append(page_info[PdfName(b"Parent")]) + if page_ref not in self.pages: + # the page has been deleted + continue + # make dict keys into strings for passing to write_page + stringified_page_info = {} + for key, value in page_info.items(): + # key should be a PdfName + stringified_page_info[key.name_as_str()] = value + stringified_page_info["Parent"] = self.pages_ref + new_page_ref = self.write_page(None, **stringified_page_info) + for j, cur_page_ref in enumerate(self.pages): + if cur_page_ref == page_ref: + # replace the page reference with the new one + self.pages[j] = new_page_ref + # delete redundant Pages tree nodes from xref table + for pages_tree_node_ref in pages_tree_nodes_to_delete: + while pages_tree_node_ref: + pages_tree_node = self.cached_objects[pages_tree_node_ref] + if pages_tree_node_ref.object_id in self.xref_table: + del self.xref_table[pages_tree_node_ref.object_id] + pages_tree_node_ref = pages_tree_node.get(b"Parent", None) + self.orig_pages = [] + + def write_xref_and_trailer( + self, new_root_ref: IndirectReference | None = None + ) -> None: + assert self.f is not None + if new_root_ref: + self.del_root() + self.root_ref = new_root_ref + if self.info: + self.info_ref = self.write_obj(None, self.info) + start_xref = self.xref_table.write(self.f) + num_entries = len(self.xref_table) + trailer_dict: dict[str | bytes, Any] = { + b"Root": self.root_ref, + b"Size": num_entries, + } + if self.last_xref_section_offset is not None: + trailer_dict[b"Prev"] = self.last_xref_section_offset + if self.info: + trailer_dict[b"Info"] = self.info_ref + self.last_xref_section_offset = start_xref + self.f.write( + b"trailer\n" + + bytes(PdfDict(trailer_dict)) + + b"\nstartxref\n%d\n%%%%EOF" % start_xref + ) + + def write_page( + self, ref: int | IndirectReference | None, *objs: Any, **dict_obj: Any + ) -> IndirectReference: + obj_ref = self.pages[ref] if isinstance(ref, int) else ref + if "Type" not in dict_obj: + dict_obj["Type"] = PdfName(b"Page") + if "Parent" not in dict_obj: + dict_obj["Parent"] = self.pages_ref + return self.write_obj(obj_ref, *objs, **dict_obj) + + def write_obj( + self, ref: IndirectReference | None, *objs: Any, **dict_obj: Any + ) -> IndirectReference: + assert self.f is not None + f = self.f + if ref is None: + ref = self.next_object_id(f.tell()) + else: + self.xref_table[ref.object_id] = (f.tell(), ref.generation) + f.write(bytes(IndirectObjectDef(*ref))) + stream = dict_obj.pop("stream", None) + if stream is not None: + dict_obj["Length"] = len(stream) + if dict_obj: + f.write(pdf_repr(dict_obj)) + for obj in objs: + f.write(pdf_repr(obj)) + if stream is not None: + f.write(b"stream\n") + f.write(stream) + f.write(b"\nendstream\n") + f.write(b"endobj\n") + return ref + + def del_root(self) -> None: + if self.root_ref is None: + return + del self.xref_table[self.root_ref.object_id] + del self.xref_table[self.root[b"Pages"].object_id] + + @staticmethod + def get_buf_from_file(f: IO[bytes]) -> bytes | mmap.mmap: + if hasattr(f, "getbuffer"): + return f.getbuffer() + elif hasattr(f, "getvalue"): + return f.getvalue() + else: + try: + return mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ) + except ValueError: # cannot mmap an empty file + return b"" + + def read_pdf_info(self) -> None: + assert self.buf is not None + self.file_size_total = len(self.buf) + self.file_size_this = self.file_size_total - self.start_offset + self.read_trailer() + check_format_condition( + self.trailer_dict.get(b"Root") is not None, "Root is missing" + ) + self.root_ref = self.trailer_dict[b"Root"] + assert self.root_ref is not None + self.info_ref = self.trailer_dict.get(b"Info", None) + self.root = PdfDict(self.read_indirect(self.root_ref)) + if self.info_ref is None: + self.info = PdfDict() + else: + self.info = PdfDict(self.read_indirect(self.info_ref)) + check_format_condition(b"Type" in self.root, "/Type missing in Root") + check_format_condition( + self.root[b"Type"] == b"Catalog", "/Type in Root is not /Catalog" + ) + check_format_condition( + self.root.get(b"Pages") is not None, "/Pages missing in Root" + ) + check_format_condition( + isinstance(self.root[b"Pages"], IndirectReference), + "/Pages in Root is not an indirect reference", + ) + self.pages_ref = self.root[b"Pages"] + assert self.pages_ref is not None + self.page_tree_root = self.read_indirect(self.pages_ref) + self.pages = self.linearize_page_tree(self.page_tree_root) + # save the original list of page references + # in case the user modifies, adds or deletes some pages + # and we need to rewrite the pages and their list + self.orig_pages = self.pages[:] + + def next_object_id(self, offset: int | None = None) -> IndirectReference: + try: + # TODO: support reuse of deleted objects + reference = IndirectReference(max(self.xref_table.keys()) + 1, 0) + except ValueError: + reference = IndirectReference(1, 0) + if offset is not None: + self.xref_table[reference.object_id] = (offset, 0) + return reference + + delimiter = rb"[][()<>{}/%]" + delimiter_or_ws = rb"[][()<>{}/%\000\011\012\014\015\040]" + whitespace = rb"[\000\011\012\014\015\040]" + whitespace_or_hex = rb"[\000\011\012\014\015\0400-9a-fA-F]" + whitespace_optional = whitespace + b"*" + whitespace_mandatory = whitespace + b"+" + # No "\012" aka "\n" or "\015" aka "\r": + whitespace_optional_no_nl = rb"[\000\011\014\040]*" + newline_only = rb"[\r\n]+" + newline = whitespace_optional_no_nl + newline_only + whitespace_optional_no_nl + re_trailer_end = re.compile( + whitespace_mandatory + + rb"trailer" + + whitespace_optional + + rb"<<(.*>>)" + + newline + + rb"startxref" + + newline + + rb"([0-9]+)" + + newline + + rb"%%EOF" + + whitespace_optional + + rb"$", + re.DOTALL, + ) + re_trailer_prev = re.compile( + whitespace_optional + + rb"trailer" + + whitespace_optional + + rb"<<(.*?>>)" + + newline + + rb"startxref" + + newline + + rb"([0-9]+)" + + newline + + rb"%%EOF" + + whitespace_optional, + re.DOTALL, + ) + + def read_trailer(self) -> None: + assert self.buf is not None + search_start_offset = len(self.buf) - 16384 + if search_start_offset < self.start_offset: + search_start_offset = self.start_offset + m = self.re_trailer_end.search(self.buf, search_start_offset) + check_format_condition(m is not None, "trailer end not found") + # make sure we found the LAST trailer + last_match = m + while m: + last_match = m + m = self.re_trailer_end.search(self.buf, m.start() + 16) + if not m: + m = last_match + assert m is not None + trailer_data = m.group(1) + self.last_xref_section_offset = int(m.group(2)) + self.trailer_dict = self.interpret_trailer(trailer_data) + self.xref_table = XrefTable() + self.read_xref_table(xref_section_offset=self.last_xref_section_offset) + if b"Prev" in self.trailer_dict: + self.read_prev_trailer(self.trailer_dict[b"Prev"]) + + def read_prev_trailer(self, xref_section_offset: int) -> None: + assert self.buf is not None + trailer_offset = self.read_xref_table(xref_section_offset=xref_section_offset) + m = self.re_trailer_prev.search( + self.buf[trailer_offset : trailer_offset + 16384] + ) + check_format_condition(m is not None, "previous trailer not found") + assert m is not None + trailer_data = m.group(1) + check_format_condition( + int(m.group(2)) == xref_section_offset, + "xref section offset in previous trailer doesn't match what was expected", + ) + trailer_dict = self.interpret_trailer(trailer_data) + if b"Prev" in trailer_dict: + self.read_prev_trailer(trailer_dict[b"Prev"]) + + re_whitespace_optional = re.compile(whitespace_optional) + re_name = re.compile( + whitespace_optional + + rb"/([!-$&'*-.0-;=?-Z\\^-z|~]+)(?=" + + delimiter_or_ws + + rb")" + ) + re_dict_start = re.compile(whitespace_optional + rb"<<") + re_dict_end = re.compile(whitespace_optional + rb">>" + whitespace_optional) + + @classmethod + def interpret_trailer(cls, trailer_data: bytes) -> dict[bytes, Any]: + trailer = {} + offset = 0 + while True: + m = cls.re_name.match(trailer_data, offset) + if not m: + m = cls.re_dict_end.match(trailer_data, offset) + check_format_condition( + m is not None and m.end() == len(trailer_data), + "name not found in trailer, remaining data: " + + repr(trailer_data[offset:]), + ) + break + key = cls.interpret_name(m.group(1)) + assert isinstance(key, bytes) + value, value_offset = cls.get_value(trailer_data, m.end()) + trailer[key] = value + if value_offset is None: + break + offset = value_offset + check_format_condition( + b"Size" in trailer and isinstance(trailer[b"Size"], int), + "/Size not in trailer or not an integer", + ) + check_format_condition( + b"Root" in trailer and isinstance(trailer[b"Root"], IndirectReference), + "/Root not in trailer or not an indirect reference", + ) + return trailer + + re_hashes_in_name = re.compile(rb"([^#]*)(#([0-9a-fA-F]{2}))?") + + @classmethod + def interpret_name(cls, raw: bytes, as_text: bool = False) -> str | bytes: + name = b"" + for m in cls.re_hashes_in_name.finditer(raw): + if m.group(3): + name += m.group(1) + bytearray.fromhex(m.group(3).decode("us-ascii")) + else: + name += m.group(1) + if as_text: + return name.decode("utf-8") + else: + return bytes(name) + + re_null = re.compile(whitespace_optional + rb"null(?=" + delimiter_or_ws + rb")") + re_true = re.compile(whitespace_optional + rb"true(?=" + delimiter_or_ws + rb")") + re_false = re.compile(whitespace_optional + rb"false(?=" + delimiter_or_ws + rb")") + re_int = re.compile( + whitespace_optional + rb"([-+]?[0-9]+)(?=" + delimiter_or_ws + rb")" + ) + re_real = re.compile( + whitespace_optional + + rb"([-+]?([0-9]+\.[0-9]*|[0-9]*\.[0-9]+))(?=" + + delimiter_or_ws + + rb")" + ) + re_array_start = re.compile(whitespace_optional + rb"\[") + re_array_end = re.compile(whitespace_optional + rb"]") + re_string_hex = re.compile( + whitespace_optional + rb"<(" + whitespace_or_hex + rb"*)>" + ) + re_string_lit = re.compile(whitespace_optional + rb"\(") + re_indirect_reference = re.compile( + whitespace_optional + + rb"([-+]?[0-9]+)" + + whitespace_mandatory + + rb"([-+]?[0-9]+)" + + whitespace_mandatory + + rb"R(?=" + + delimiter_or_ws + + rb")" + ) + re_indirect_def_start = re.compile( + whitespace_optional + + rb"([-+]?[0-9]+)" + + whitespace_mandatory + + rb"([-+]?[0-9]+)" + + whitespace_mandatory + + rb"obj(?=" + + delimiter_or_ws + + rb")" + ) + re_indirect_def_end = re.compile( + whitespace_optional + rb"endobj(?=" + delimiter_or_ws + rb")" + ) + re_comment = re.compile( + rb"(" + whitespace_optional + rb"%[^\r\n]*" + newline + rb")*" + ) + re_stream_start = re.compile(whitespace_optional + rb"stream\r?\n") + re_stream_end = re.compile( + whitespace_optional + rb"endstream(?=" + delimiter_or_ws + rb")" + ) + + @classmethod + def get_value( + cls, + data: bytes | bytearray | mmap.mmap, + offset: int, + expect_indirect: IndirectReference | None = None, + max_nesting: int = -1, + ) -> tuple[Any, int | None]: + if max_nesting == 0: + return None, None + m = cls.re_comment.match(data, offset) + if m: + offset = m.end() + m = cls.re_indirect_def_start.match(data, offset) + if m: + check_format_condition( + int(m.group(1)) > 0, + "indirect object definition: object ID must be greater than 0", + ) + check_format_condition( + int(m.group(2)) >= 0, + "indirect object definition: generation must be non-negative", + ) + check_format_condition( + expect_indirect is None + or expect_indirect + == IndirectReference(int(m.group(1)), int(m.group(2))), + "indirect object definition different than expected", + ) + object, object_offset = cls.get_value( + data, m.end(), max_nesting=max_nesting - 1 + ) + if object_offset is None: + return object, None + m = cls.re_indirect_def_end.match(data, object_offset) + check_format_condition( + m is not None, "indirect object definition end not found" + ) + assert m is not None + return object, m.end() + check_format_condition( + not expect_indirect, "indirect object definition not found" + ) + m = cls.re_indirect_reference.match(data, offset) + if m: + check_format_condition( + int(m.group(1)) > 0, + "indirect object reference: object ID must be greater than 0", + ) + check_format_condition( + int(m.group(2)) >= 0, + "indirect object reference: generation must be non-negative", + ) + return IndirectReference(int(m.group(1)), int(m.group(2))), m.end() + m = cls.re_dict_start.match(data, offset) + if m: + offset = m.end() + result: dict[Any, Any] = {} + m = cls.re_dict_end.match(data, offset) + current_offset: int | None = offset + while not m: + assert current_offset is not None + key, current_offset = cls.get_value( + data, current_offset, max_nesting=max_nesting - 1 + ) + if current_offset is None: + return result, None + value, current_offset = cls.get_value( + data, current_offset, max_nesting=max_nesting - 1 + ) + result[key] = value + if current_offset is None: + return result, None + m = cls.re_dict_end.match(data, current_offset) + current_offset = m.end() + m = cls.re_stream_start.match(data, current_offset) + if m: + stream_len = result.get(b"Length") + if stream_len is None or not isinstance(stream_len, int): + msg = f"bad or missing Length in stream dict ({stream_len})" + raise PdfFormatError(msg) + stream_data = data[m.end() : m.end() + stream_len] + m = cls.re_stream_end.match(data, m.end() + stream_len) + check_format_condition(m is not None, "stream end not found") + assert m is not None + current_offset = m.end() + return PdfStream(PdfDict(result), stream_data), current_offset + return PdfDict(result), current_offset + m = cls.re_array_start.match(data, offset) + if m: + offset = m.end() + results = [] + m = cls.re_array_end.match(data, offset) + current_offset = offset + while not m: + assert current_offset is not None + value, current_offset = cls.get_value( + data, current_offset, max_nesting=max_nesting - 1 + ) + results.append(value) + if current_offset is None: + return results, None + m = cls.re_array_end.match(data, current_offset) + return results, m.end() + m = cls.re_null.match(data, offset) + if m: + return None, m.end() + m = cls.re_true.match(data, offset) + if m: + return True, m.end() + m = cls.re_false.match(data, offset) + if m: + return False, m.end() + m = cls.re_name.match(data, offset) + if m: + return PdfName(cls.interpret_name(m.group(1))), m.end() + m = cls.re_int.match(data, offset) + if m: + return int(m.group(1)), m.end() + m = cls.re_real.match(data, offset) + if m: + # XXX Decimal instead of float??? + return float(m.group(1)), m.end() + m = cls.re_string_hex.match(data, offset) + if m: + # filter out whitespace + hex_string = bytearray( + b for b in m.group(1) if b in b"0123456789abcdefABCDEF" + ) + if len(hex_string) % 2 == 1: + # append a 0 if the length is not even - yes, at the end + hex_string.append(ord(b"0")) + return bytearray.fromhex(hex_string.decode("us-ascii")), m.end() + m = cls.re_string_lit.match(data, offset) + if m: + return cls.get_literal_string(data, m.end()) + # return None, offset # fallback (only for debugging) + msg = f"unrecognized object: {repr(data[offset : offset + 32])}" + raise PdfFormatError(msg) + + re_lit_str_token = re.compile( + rb"(\\[nrtbf()\\])|(\\[0-9]{1,3})|(\\(\r\n|\r|\n))|(\r\n|\r|\n)|(\()|(\))" + ) + escaped_chars = { + b"n": b"\n", + b"r": b"\r", + b"t": b"\t", + b"b": b"\b", + b"f": b"\f", + b"(": b"(", + b")": b")", + b"\\": b"\\", + ord(b"n"): b"\n", + ord(b"r"): b"\r", + ord(b"t"): b"\t", + ord(b"b"): b"\b", + ord(b"f"): b"\f", + ord(b"("): b"(", + ord(b")"): b")", + ord(b"\\"): b"\\", + } + + @classmethod + def get_literal_string( + cls, data: bytes | bytearray | mmap.mmap, offset: int + ) -> tuple[bytes, int]: + nesting_depth = 0 + result = bytearray() + for m in cls.re_lit_str_token.finditer(data, offset): + result.extend(data[offset : m.start()]) + if m.group(1): + result.extend(cls.escaped_chars[m.group(1)[1]]) + elif m.group(2): + result.append(int(m.group(2)[1:], 8)) + elif m.group(3): + pass + elif m.group(5): + result.extend(b"\n") + elif m.group(6): + result.extend(b"(") + nesting_depth += 1 + elif m.group(7): + if nesting_depth == 0: + return bytes(result), m.end() + result.extend(b")") + nesting_depth -= 1 + offset = m.end() + msg = "unfinished literal string" + raise PdfFormatError(msg) + + re_xref_section_start = re.compile(whitespace_optional + rb"xref" + newline) + re_xref_subsection_start = re.compile( + whitespace_optional + + rb"([0-9]+)" + + whitespace_mandatory + + rb"([0-9]+)" + + whitespace_optional + + newline_only + ) + re_xref_entry = re.compile(rb"([0-9]{10}) ([0-9]{5}) ([fn])( \r| \n|\r\n)") + + def read_xref_table(self, xref_section_offset: int) -> int: + assert self.buf is not None + subsection_found = False + m = self.re_xref_section_start.match( + self.buf, xref_section_offset + self.start_offset + ) + check_format_condition(m is not None, "xref section start not found") + assert m is not None + offset = m.end() + while True: + m = self.re_xref_subsection_start.match(self.buf, offset) + if not m: + check_format_condition( + subsection_found, "xref subsection start not found" + ) + break + subsection_found = True + offset = m.end() + first_object = int(m.group(1)) + num_objects = int(m.group(2)) + for i in range(first_object, first_object + num_objects): + m = self.re_xref_entry.match(self.buf, offset) + check_format_condition(m is not None, "xref entry not found") + assert m is not None + offset = m.end() + is_free = m.group(3) == b"f" + if not is_free: + generation = int(m.group(2)) + new_entry = (int(m.group(1)), generation) + if i not in self.xref_table: + self.xref_table[i] = new_entry + return offset + + def read_indirect(self, ref: IndirectReference, max_nesting: int = -1) -> Any: + offset, generation = self.xref_table[ref[0]] + check_format_condition( + generation == ref[1], + f"expected to find generation {ref[1]} for object ID {ref[0]} in xref " + f"table, instead found generation {generation} at offset {offset}", + ) + assert self.buf is not None + value = self.get_value( + self.buf, + offset + self.start_offset, + expect_indirect=IndirectReference(*ref), + max_nesting=max_nesting, + )[0] + self.cached_objects[ref] = value + return value + + def linearize_page_tree( + self, node: PdfDict | None = None + ) -> list[IndirectReference]: + page_node = node if node is not None else self.page_tree_root + check_format_condition( + page_node[b"Type"] == b"Pages", "/Type of page tree node is not /Pages" + ) + pages = [] + for kid in page_node[b"Kids"]: + kid_object = self.read_indirect(kid) + if kid_object[b"Type"] == b"Page": + pages.append(kid) + else: + pages.extend(self.linearize_page_tree(node=kid_object)) + return pages diff --git a/venv/Lib/site-packages/PIL/PixarImagePlugin.py b/venv/Lib/site-packages/PIL/PixarImagePlugin.py new file mode 100644 index 00000000..36f565f1 --- /dev/null +++ b/venv/Lib/site-packages/PIL/PixarImagePlugin.py @@ -0,0 +1,74 @@ +# +# The Python Imaging Library. +# $Id$ +# +# PIXAR raster support for PIL +# +# history: +# 97-01-29 fl Created +# +# notes: +# This is incomplete; it is based on a few samples created with +# Photoshop 2.5 and 3.0, and a summary description provided by +# Greg Coats . Hopefully, "L" and +# "RGBA" support will be added in future versions. +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1997. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from . import Image, ImageFile +from ._binary import i16le as i16 + +# +# helpers + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] == b"\200\350\000\000" + + +## +# Image plugin for PIXAR raster images. + + +class PixarImageFile(ImageFile.ImageFile): + format = "PIXAR" + format_description = "PIXAR raster image" + + def _open(self) -> None: + # assuming a 4-byte magic label + assert self.fp is not None + + s = self.fp.read(4) + if not _accept(s): + msg = "not a PIXAR file" + raise SyntaxError(msg) + + # read rest of header + s = s + self.fp.read(508) + + self._size = i16(s, 418), i16(s, 416) + + # get channel/depth descriptions + mode = i16(s, 424), i16(s, 426) + + if mode == (14, 2): + self._mode = "RGB" + # FIXME: to be continued... + + # create tile descriptor (assuming "dumped") + self.tile = [ + ImageFile._Tile("raw", (0, 0) + self.size, 1024, (self.mode, 0, 1)) + ] + + +# +# -------------------------------------------------------------------- + +Image.register_open(PixarImageFile.format, PixarImageFile, _accept) + +Image.register_extension(PixarImageFile.format, ".pxr") diff --git a/venv/Lib/site-packages/PIL/PngImagePlugin.py b/venv/Lib/site-packages/PIL/PngImagePlugin.py new file mode 100644 index 00000000..4e122720 --- /dev/null +++ b/venv/Lib/site-packages/PIL/PngImagePlugin.py @@ -0,0 +1,1544 @@ +# +# The Python Imaging Library. +# $Id$ +# +# PNG support code +# +# See "PNG (Portable Network Graphics) Specification, version 1.0; +# W3C Recommendation", 1996-10-01, Thomas Boutell (ed.). +# +# history: +# 1996-05-06 fl Created (couldn't resist it) +# 1996-12-14 fl Upgraded, added read and verify support (0.2) +# 1996-12-15 fl Separate PNG stream parser +# 1996-12-29 fl Added write support, added getchunks +# 1996-12-30 fl Eliminated circular references in decoder (0.3) +# 1998-07-12 fl Read/write 16-bit images as mode I (0.4) +# 2001-02-08 fl Added transparency support (from Zircon) (0.5) +# 2001-04-16 fl Don't close data source in "open" method (0.6) +# 2004-02-24 fl Don't even pretend to support interlaced files (0.7) +# 2004-08-31 fl Do basic sanity check on chunk identifiers (0.8) +# 2004-09-20 fl Added PngInfo chunk container +# 2004-12-18 fl Added DPI read support (based on code by Niki Spahiev) +# 2008-08-13 fl Added tRNS support for RGB images +# 2009-03-06 fl Support for preserving ICC profiles (by Florian Hoech) +# 2009-03-08 fl Added zTXT support (from Lowell Alleman) +# 2009-03-29 fl Read interlaced PNG files (from Conrado Porto Lopes Gouvua) +# +# Copyright (c) 1997-2009 by Secret Labs AB +# Copyright (c) 1996 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import itertools +import logging +import re +import struct +import warnings +import zlib +from collections.abc import Callable +from enum import IntEnum +from typing import IO, TYPE_CHECKING, Any, NamedTuple, NoReturn, cast + +from . import Image, ImageChops, ImageFile, ImagePalette, ImageSequence +from ._binary import i16be as i16 +from ._binary import i32be as i32 +from ._binary import o8 +from ._binary import o16be as o16 +from ._binary import o32be as o32 + +if TYPE_CHECKING: + from . import _imaging + +logger = logging.getLogger(__name__) + +is_cid = re.compile(rb"\w\w\w\w").match + + +_MAGIC = b"\211PNG\r\n\032\n" + + +_MODES = { + # supported bits/color combinations, and corresponding modes/rawmodes + # Grayscale + (1, 0): ("1", "1"), + (2, 0): ("L", "L;2"), + (4, 0): ("L", "L;4"), + (8, 0): ("L", "L"), + (16, 0): ("I;16", "I;16B"), + # Truecolour + (8, 2): ("RGB", "RGB"), + (16, 2): ("RGB", "RGB;16B"), + # Indexed-colour + (1, 3): ("P", "P;1"), + (2, 3): ("P", "P;2"), + (4, 3): ("P", "P;4"), + (8, 3): ("P", "P"), + # Grayscale with alpha + (8, 4): ("LA", "LA"), + (16, 4): ("RGBA", "LA;16B"), # LA;16B->LA not yet available + # Truecolour with alpha + (8, 6): ("RGBA", "RGBA"), + (16, 6): ("RGBA", "RGBA;16B"), +} + + +_simple_palette = re.compile(b"^\xff*\x00\xff*$") + +MAX_TEXT_CHUNK = ImageFile.SAFEBLOCK +""" +Maximum decompressed size for a iTXt or zTXt chunk. +Eliminates decompression bombs where compressed chunks can expand 1000x. +See :ref:`Text in PNG File Format`. +""" +MAX_TEXT_MEMORY = 64 * MAX_TEXT_CHUNK +""" +Set the maximum total text chunk size. +See :ref:`Text in PNG File Format`. +""" + + +# APNG frame disposal modes +class Disposal(IntEnum): + OP_NONE = 0 + """ + No disposal is done on this frame before rendering the next frame. + See :ref:`Saving APNG sequences`. + """ + OP_BACKGROUND = 1 + """ + This frame’s modified region is cleared to fully transparent black before rendering + the next frame. + See :ref:`Saving APNG sequences`. + """ + OP_PREVIOUS = 2 + """ + This frame’s modified region is reverted to the previous frame’s contents before + rendering the next frame. + See :ref:`Saving APNG sequences`. + """ + + +# APNG frame blend modes +class Blend(IntEnum): + OP_SOURCE = 0 + """ + All color components of this frame, including alpha, overwrite the previous output + image contents. + See :ref:`Saving APNG sequences`. + """ + OP_OVER = 1 + """ + This frame should be alpha composited with the previous output image contents. + See :ref:`Saving APNG sequences`. + """ + + +def _safe_zlib_decompress(s: bytes) -> bytes: + dobj = zlib.decompressobj() + plaintext = dobj.decompress(s, MAX_TEXT_CHUNK) + if dobj.unconsumed_tail: + msg = "Decompressed data too large for PngImagePlugin.MAX_TEXT_CHUNK" + raise ValueError(msg) + return plaintext + + +def _crc32(data: bytes, seed: int = 0) -> int: + return zlib.crc32(data, seed) & 0xFFFFFFFF + + +# -------------------------------------------------------------------- +# Support classes. Suitable for PNG and related formats like MNG etc. + + +class ChunkStream: + def __init__(self, fp: IO[bytes]) -> None: + self.fp: IO[bytes] | None = fp + self.queue: list[tuple[bytes, int, int]] | None = [] + + def read(self) -> tuple[bytes, int, int]: + """Fetch a new chunk. Returns header information.""" + cid = None + + assert self.fp is not None + if self.queue: + cid, pos, length = self.queue.pop() + self.fp.seek(pos) + else: + s = self.fp.read(8) + cid = s[4:] + pos = self.fp.tell() + length = i32(s) + + if not is_cid(cid): + if not ImageFile.LOAD_TRUNCATED_IMAGES: + msg = f"broken PNG file (chunk {repr(cid)})" + raise SyntaxError(msg) + + return cid, pos, length + + def __enter__(self) -> ChunkStream: + return self + + def __exit__(self, *args: object) -> None: + self.close() + + def close(self) -> None: + self.queue = self.fp = None + + def push(self, cid: bytes, pos: int, length: int) -> None: + assert self.queue is not None + self.queue.append((cid, pos, length)) + + def call(self, cid: bytes, pos: int, length: int) -> bytes: + """Call the appropriate chunk handler""" + + logger.debug("STREAM %r %s %s", cid, pos, length) + return getattr(self, f"chunk_{cid.decode('ascii')}")(pos, length) + + def crc(self, cid: bytes, data: bytes) -> None: + """Read and verify checksum""" + + # Skip CRC checks for ancillary chunks if allowed to load truncated + # images + # 5th byte of first char is 1 [specs, section 5.4] + if ImageFile.LOAD_TRUNCATED_IMAGES and (cid[0] >> 5 & 1): + self.crc_skip(cid, data) + return + + assert self.fp is not None + try: + crc1 = _crc32(data, _crc32(cid)) + crc2 = i32(self.fp.read(4)) + if crc1 != crc2: + msg = f"broken PNG file (bad header checksum in {repr(cid)})" + raise SyntaxError(msg) + except struct.error as e: + msg = f"broken PNG file (incomplete checksum in {repr(cid)})" + raise SyntaxError(msg) from e + + def crc_skip(self, cid: bytes, data: bytes) -> None: + """Read checksum""" + + assert self.fp is not None + self.fp.read(4) + + def verify(self, endchunk: bytes = b"IEND") -> list[bytes]: + # Simple approach; just calculate checksum for all remaining + # blocks. Must be called directly after open. + + cids = [] + + assert self.fp is not None + while True: + try: + cid, pos, length = self.read() + except struct.error as e: + msg = "truncated PNG file" + raise OSError(msg) from e + + if cid == endchunk: + break + self.crc(cid, ImageFile._safe_read(self.fp, length)) + cids.append(cid) + + return cids + + +class iTXt(str): + """ + Subclass of string to allow iTXt chunks to look like strings while + keeping their extra information + + """ + + lang: str | bytes | None + tkey: str | bytes | None + + @staticmethod + def __new__( + cls, text: str, lang: str | None = None, tkey: str | None = None + ) -> iTXt: + """ + :param cls: the class to use when creating the instance + :param text: value for this key + :param lang: language code + :param tkey: UTF-8 version of the key name + """ + + self = str.__new__(cls, text) + self.lang = lang + self.tkey = tkey + return self + + +class PngInfo: + """ + PNG chunk container (for use with save(pnginfo=)) + + """ + + def __init__(self) -> None: + self.chunks: list[tuple[bytes, bytes, bool]] = [] + + def add(self, cid: bytes, data: bytes, after_idat: bool = False) -> None: + """Appends an arbitrary chunk. Use with caution. + + :param cid: a byte string, 4 bytes long. + :param data: a byte string of the encoded data + :param after_idat: for use with private chunks. Whether the chunk + should be written after IDAT + + """ + + self.chunks.append((cid, data, after_idat)) + + def add_itxt( + self, + key: str | bytes, + value: str | bytes, + lang: str | bytes = "", + tkey: str | bytes = "", + zip: bool = False, + ) -> None: + """Appends an iTXt chunk. + + :param key: latin-1 encodable text key name + :param value: value for this key + :param lang: language code + :param tkey: UTF-8 version of the key name + :param zip: compression flag + + """ + + if not isinstance(key, bytes): + key = key.encode("latin-1", "strict") + if not isinstance(value, bytes): + value = value.encode("utf-8", "strict") + if not isinstance(lang, bytes): + lang = lang.encode("utf-8", "strict") + if not isinstance(tkey, bytes): + tkey = tkey.encode("utf-8", "strict") + + if zip: + self.add( + b"iTXt", + key + b"\0\x01\0" + lang + b"\0" + tkey + b"\0" + zlib.compress(value), + ) + else: + self.add(b"iTXt", key + b"\0\0\0" + lang + b"\0" + tkey + b"\0" + value) + + def add_text( + self, key: str | bytes, value: str | bytes | iTXt, zip: bool = False + ) -> None: + """Appends a text chunk. + + :param key: latin-1 encodable text key name + :param value: value for this key, text or an + :py:class:`PIL.PngImagePlugin.iTXt` instance + :param zip: compression flag + + """ + if isinstance(value, iTXt): + return self.add_itxt( + key, + value, + value.lang if value.lang is not None else b"", + value.tkey if value.tkey is not None else b"", + zip=zip, + ) + + # The tEXt chunk stores latin-1 text + if not isinstance(value, bytes): + try: + value = value.encode("latin-1", "strict") + except UnicodeError: + return self.add_itxt(key, value, zip=zip) + + if not isinstance(key, bytes): + key = key.encode("latin-1", "strict") + + if zip: + self.add(b"zTXt", key + b"\0\0" + zlib.compress(value)) + else: + self.add(b"tEXt", key + b"\0" + value) + + +# -------------------------------------------------------------------- +# PNG image stream (IHDR/IEND) + + +class _RewindState(NamedTuple): + info: dict[str | tuple[int, int], Any] + tile: list[ImageFile._Tile] + seq_num: int | None + + +class PngStream(ChunkStream): + def __init__(self, fp: IO[bytes]) -> None: + super().__init__(fp) + + # local copies of Image attributes + self.im_info: dict[str | tuple[int, int], Any] = {} + self.im_text: dict[str, str | iTXt] = {} + self.im_size = (0, 0) + self.im_mode = "" + self.im_tile: list[ImageFile._Tile] = [] + self.im_palette: tuple[str, bytes] | None = None + self.im_custom_mimetype: str | None = None + self.im_n_frames: int | None = None + self._seq_num: int | None = None + self.rewind_state = _RewindState({}, [], None) + + self.text_memory = 0 + + def check_text_memory(self, chunklen: int) -> None: + self.text_memory += chunklen + if self.text_memory > MAX_TEXT_MEMORY: + msg = ( + "Too much memory used in text chunks: " + f"{self.text_memory}>MAX_TEXT_MEMORY" + ) + raise ValueError(msg) + + def save_rewind(self) -> None: + self.rewind_state = _RewindState( + self.im_info.copy(), + self.im_tile, + self._seq_num, + ) + + def rewind(self) -> None: + self.im_info = self.rewind_state.info.copy() + self.im_tile = self.rewind_state.tile + self._seq_num = self.rewind_state.seq_num + + def chunk_iCCP(self, pos: int, length: int) -> bytes: + # ICC profile + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + # according to PNG spec, the iCCP chunk contains: + # Profile name 1-79 bytes (character string) + # Null separator 1 byte (null character) + # Compression method 1 byte (0) + # Compressed profile n bytes (zlib with deflate compression) + i = s.find(b"\0") + logger.debug("iCCP profile name %r", s[:i]) + comp_method = s[i + 1] + logger.debug("Compression method %s", comp_method) + if comp_method != 0: + msg = f"Unknown compression method {comp_method} in iCCP chunk" + raise SyntaxError(msg) + try: + icc_profile = _safe_zlib_decompress(s[i + 2 :]) + except ValueError: + if ImageFile.LOAD_TRUNCATED_IMAGES: + icc_profile = None + else: + raise + except zlib.error: + icc_profile = None # FIXME + self.im_info["icc_profile"] = icc_profile + return s + + def chunk_IHDR(self, pos: int, length: int) -> bytes: + # image header + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + if length < 13: + if ImageFile.LOAD_TRUNCATED_IMAGES: + return s + msg = "Truncated IHDR chunk" + raise ValueError(msg) + self.im_size = i32(s, 0), i32(s, 4) + try: + self.im_mode, self.im_rawmode = _MODES[(s[8], s[9])] + except Exception: + pass + if s[12]: + self.im_info["interlace"] = 1 + if s[11]: + msg = "unknown filter category" + raise SyntaxError(msg) + return s + + def chunk_IDAT(self, pos: int, length: int) -> NoReturn: + # image data + if "bbox" in self.im_info: + tile = [ImageFile._Tile("zip", self.im_info["bbox"], pos, self.im_rawmode)] + else: + if self.im_n_frames is not None: + self.im_info["default_image"] = True + tile = [ImageFile._Tile("zip", (0, 0) + self.im_size, pos, self.im_rawmode)] + self.im_tile = tile + self.im_idat = length + msg = "image data found" + raise EOFError(msg) + + def chunk_IEND(self, pos: int, length: int) -> NoReturn: + msg = "end of PNG image" + raise EOFError(msg) + + def chunk_PLTE(self, pos: int, length: int) -> bytes: + # palette + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + if self.im_mode == "P": + self.im_palette = "RGB", s + return s + + def chunk_tRNS(self, pos: int, length: int) -> bytes: + # transparency + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + if self.im_mode == "P": + if _simple_palette.match(s): + # tRNS contains only one full-transparent entry, + # other entries are full opaque + i = s.find(b"\0") + if i >= 0: + self.im_info["transparency"] = i + else: + # otherwise, we have a byte string with one alpha value + # for each palette entry + self.im_info["transparency"] = s + elif self.im_mode in ("1", "L", "I;16"): + self.im_info["transparency"] = i16(s) + elif self.im_mode == "RGB": + self.im_info["transparency"] = i16(s), i16(s, 2), i16(s, 4) + return s + + def chunk_gAMA(self, pos: int, length: int) -> bytes: + # gamma setting + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + self.im_info["gamma"] = i32(s) / 100000.0 + return s + + def chunk_cHRM(self, pos: int, length: int) -> bytes: + # chromaticity, 8 unsigned ints, actual value is scaled by 100,000 + # WP x,y, Red x,y, Green x,y Blue x,y + + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + raw_vals = struct.unpack(">%dI" % (len(s) // 4), s) + self.im_info["chromaticity"] = tuple(elt / 100000.0 for elt in raw_vals) + return s + + def chunk_sRGB(self, pos: int, length: int) -> bytes: + # srgb rendering intent, 1 byte + # 0 perceptual + # 1 relative colorimetric + # 2 saturation + # 3 absolute colorimetric + + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + if length < 1: + if ImageFile.LOAD_TRUNCATED_IMAGES: + return s + msg = "Truncated sRGB chunk" + raise ValueError(msg) + self.im_info["srgb"] = s[0] + return s + + def chunk_pHYs(self, pos: int, length: int) -> bytes: + # pixels per unit + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + if length < 9: + if ImageFile.LOAD_TRUNCATED_IMAGES: + return s + msg = "Truncated pHYs chunk" + raise ValueError(msg) + px, py = i32(s, 0), i32(s, 4) + unit = s[8] + if unit == 1: # meter + dpi = px * 0.0254, py * 0.0254 + self.im_info["dpi"] = dpi + elif unit == 0: + self.im_info["aspect"] = px, py + return s + + def chunk_tEXt(self, pos: int, length: int) -> bytes: + # text + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + try: + k, v = s.split(b"\0", 1) + except ValueError: + # fallback for broken tEXt tags + k = s + v = b"" + if k: + k_str = k.decode("latin-1", "strict") + v_str = v.decode("latin-1", "replace") + + self.im_info[k_str] = v if k == b"exif" else v_str + self.im_text[k_str] = v_str + self.check_text_memory(len(v_str)) + + return s + + def chunk_zTXt(self, pos: int, length: int) -> bytes: + # compressed text + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + try: + k, v = s.split(b"\0", 1) + except ValueError: + k = s + v = b"" + if v: + comp_method = v[0] + else: + comp_method = 0 + if comp_method != 0: + msg = f"Unknown compression method {comp_method} in zTXt chunk" + raise SyntaxError(msg) + try: + v = _safe_zlib_decompress(v[1:]) + except ValueError: + if ImageFile.LOAD_TRUNCATED_IMAGES: + v = b"" + else: + raise + except zlib.error: + v = b"" + + if k: + k_str = k.decode("latin-1", "strict") + v_str = v.decode("latin-1", "replace") + + self.im_info[k_str] = self.im_text[k_str] = v_str + self.check_text_memory(len(v_str)) + + return s + + def chunk_iTXt(self, pos: int, length: int) -> bytes: + # international text + assert self.fp is not None + r = s = ImageFile._safe_read(self.fp, length) + try: + k, r = r.split(b"\0", 1) + except ValueError: + return s + if len(r) < 2: + return s + cf, cm, r = r[0], r[1], r[2:] + try: + lang, tk, v = r.split(b"\0", 2) + except ValueError: + return s + if cf != 0: + if cm == 0: + try: + v = _safe_zlib_decompress(v) + except ValueError: + if ImageFile.LOAD_TRUNCATED_IMAGES: + return s + else: + raise + except zlib.error: + return s + else: + return s + if k == b"XML:com.adobe.xmp": + self.im_info["xmp"] = v + try: + k_str = k.decode("latin-1", "strict") + lang_str = lang.decode("utf-8", "strict") + tk_str = tk.decode("utf-8", "strict") + v_str = v.decode("utf-8", "strict") + except UnicodeError: + return s + + self.im_info[k_str] = self.im_text[k_str] = iTXt(v_str, lang_str, tk_str) + self.check_text_memory(len(v_str)) + + return s + + def chunk_eXIf(self, pos: int, length: int) -> bytes: + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + self.im_info["exif"] = b"Exif\x00\x00" + s + return s + + # APNG chunks + def chunk_acTL(self, pos: int, length: int) -> bytes: + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + if length < 8: + if ImageFile.LOAD_TRUNCATED_IMAGES: + return s + msg = "APNG contains truncated acTL chunk" + raise ValueError(msg) + if self.im_n_frames is not None: + self.im_n_frames = None + warnings.warn("Invalid APNG, will use default PNG image if possible") + return s + n_frames = i32(s) + if n_frames == 0 or n_frames > 0x80000000: + warnings.warn("Invalid APNG, will use default PNG image if possible") + return s + self.im_n_frames = n_frames + self.im_info["loop"] = i32(s, 4) + self.im_custom_mimetype = "image/apng" + return s + + def chunk_fcTL(self, pos: int, length: int) -> bytes: + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + if length < 26: + if ImageFile.LOAD_TRUNCATED_IMAGES: + return s + msg = "APNG contains truncated fcTL chunk" + raise ValueError(msg) + seq = i32(s) + if (self._seq_num is None and seq != 0) or ( + self._seq_num is not None and self._seq_num != seq - 1 + ): + msg = "APNG contains frame sequence errors" + raise SyntaxError(msg) + self._seq_num = seq + width, height = i32(s, 4), i32(s, 8) + px, py = i32(s, 12), i32(s, 16) + im_w, im_h = self.im_size + if px + width > im_w or py + height > im_h: + msg = "APNG contains invalid frames" + raise SyntaxError(msg) + self.im_info["bbox"] = (px, py, px + width, py + height) + delay_num, delay_den = i16(s, 20), i16(s, 22) + if delay_den == 0: + delay_den = 100 + self.im_info["duration"] = float(delay_num) / float(delay_den) * 1000 + self.im_info["disposal"] = s[24] + self.im_info["blend"] = s[25] + return s + + def chunk_fdAT(self, pos: int, length: int) -> bytes: + assert self.fp is not None + if length < 4: + if ImageFile.LOAD_TRUNCATED_IMAGES: + s = ImageFile._safe_read(self.fp, length) + return s + msg = "APNG contains truncated fDAT chunk" + raise ValueError(msg) + s = ImageFile._safe_read(self.fp, 4) + seq = i32(s) + if self._seq_num != seq - 1: + msg = "APNG contains frame sequence errors" + raise SyntaxError(msg) + self._seq_num = seq + return self.chunk_IDAT(pos + 4, length - 4) + + +# -------------------------------------------------------------------- +# PNG reader + + +def _accept(prefix: bytes) -> bool: + return prefix[:8] == _MAGIC + + +## +# Image plugin for PNG images. + + +class PngImageFile(ImageFile.ImageFile): + format = "PNG" + format_description = "Portable network graphics" + + def _open(self) -> None: + if not _accept(self.fp.read(8)): + msg = "not a PNG file" + raise SyntaxError(msg) + self._fp = self.fp + self.__frame = 0 + + # + # Parse headers up to the first IDAT or fDAT chunk + + self.private_chunks: list[tuple[bytes, bytes] | tuple[bytes, bytes, bool]] = [] + self.png: PngStream | None = PngStream(self.fp) + + while True: + # + # get next chunk + + cid, pos, length = self.png.read() + + try: + s = self.png.call(cid, pos, length) + except EOFError: + break + except AttributeError: + logger.debug("%r %s %s (unknown)", cid, pos, length) + s = ImageFile._safe_read(self.fp, length) + if cid[1:2].islower(): + self.private_chunks.append((cid, s)) + + self.png.crc(cid, s) + + # + # Copy relevant attributes from the PngStream. An alternative + # would be to let the PngStream class modify these attributes + # directly, but that introduces circular references which are + # difficult to break if things go wrong in the decoder... + # (believe me, I've tried ;-) + + self._mode = self.png.im_mode + self._size = self.png.im_size + self.info = self.png.im_info + self._text: dict[str, str | iTXt] | None = None + self.tile = self.png.im_tile + self.custom_mimetype = self.png.im_custom_mimetype + self.n_frames = self.png.im_n_frames or 1 + self.default_image = self.info.get("default_image", False) + + if self.png.im_palette: + rawmode, data = self.png.im_palette + self.palette = ImagePalette.raw(rawmode, data) + + if cid == b"fdAT": + self.__prepare_idat = length - 4 + else: + self.__prepare_idat = length # used by load_prepare() + + if self.png.im_n_frames is not None: + self._close_exclusive_fp_after_loading = False + self.png.save_rewind() + self.__rewind_idat = self.__prepare_idat + self.__rewind = self._fp.tell() + if self.default_image: + # IDAT chunk contains default image and not first animation frame + self.n_frames += 1 + self._seek(0) + self.is_animated = self.n_frames > 1 + + @property + def text(self) -> dict[str, str | iTXt]: + # experimental + if self._text is None: + # iTxt, tEXt and zTXt chunks may appear at the end of the file + # So load the file to ensure that they are read + if self.is_animated: + frame = self.__frame + # for APNG, seek to the final frame before loading + self.seek(self.n_frames - 1) + self.load() + if self.is_animated: + self.seek(frame) + assert self._text is not None + return self._text + + def verify(self) -> None: + """Verify PNG file""" + + if self.fp is None: + msg = "verify must be called directly after open" + raise RuntimeError(msg) + + # back up to beginning of IDAT block + self.fp.seek(self.tile[0][2] - 8) + + assert self.png is not None + self.png.verify() + self.png.close() + + if self._exclusive_fp: + self.fp.close() + self.fp = None + + def seek(self, frame: int) -> None: + if not self._seek_check(frame): + return + if frame < self.__frame: + self._seek(0, True) + + last_frame = self.__frame + for f in range(self.__frame + 1, frame + 1): + try: + self._seek(f) + except EOFError as e: + self.seek(last_frame) + msg = "no more images in APNG file" + raise EOFError(msg) from e + + def _seek(self, frame: int, rewind: bool = False) -> None: + assert self.png is not None + + self.dispose: _imaging.ImagingCore | None + dispose_extent = None + if frame == 0: + if rewind: + self._fp.seek(self.__rewind) + self.png.rewind() + self.__prepare_idat = self.__rewind_idat + self._im = None + self.info = self.png.im_info + self.tile = self.png.im_tile + self.fp = self._fp + self._prev_im = None + self.dispose = None + self.default_image = self.info.get("default_image", False) + self.dispose_op = self.info.get("disposal") + self.blend_op = self.info.get("blend") + dispose_extent = self.info.get("bbox") + self.__frame = 0 + else: + if frame != self.__frame + 1: + msg = f"cannot seek to frame {frame}" + raise ValueError(msg) + + # ensure previous frame was loaded + self.load() + + if self.dispose: + self.im.paste(self.dispose, self.dispose_extent) + self._prev_im = self.im.copy() + + self.fp = self._fp + + # advance to the next frame + if self.__prepare_idat: + ImageFile._safe_read(self.fp, self.__prepare_idat) + self.__prepare_idat = 0 + frame_start = False + while True: + self.fp.read(4) # CRC + + try: + cid, pos, length = self.png.read() + except (struct.error, SyntaxError): + break + + if cid == b"IEND": + msg = "No more images in APNG file" + raise EOFError(msg) + if cid == b"fcTL": + if frame_start: + # there must be at least one fdAT chunk between fcTL chunks + msg = "APNG missing frame data" + raise SyntaxError(msg) + frame_start = True + + try: + self.png.call(cid, pos, length) + except UnicodeDecodeError: + break + except EOFError: + if cid == b"fdAT": + length -= 4 + if frame_start: + self.__prepare_idat = length + break + ImageFile._safe_read(self.fp, length) + except AttributeError: + logger.debug("%r %s %s (unknown)", cid, pos, length) + ImageFile._safe_read(self.fp, length) + + self.__frame = frame + self.tile = self.png.im_tile + self.dispose_op = self.info.get("disposal") + self.blend_op = self.info.get("blend") + dispose_extent = self.info.get("bbox") + + if not self.tile: + msg = "image not found in APNG frame" + raise EOFError(msg) + if dispose_extent: + self.dispose_extent: tuple[float, float, float, float] = dispose_extent + + # setup frame disposal (actual disposal done when needed in the next _seek()) + if self._prev_im is None and self.dispose_op == Disposal.OP_PREVIOUS: + self.dispose_op = Disposal.OP_BACKGROUND + + self.dispose = None + if self.dispose_op == Disposal.OP_PREVIOUS: + if self._prev_im: + self.dispose = self._prev_im.copy() + self.dispose = self._crop(self.dispose, self.dispose_extent) + elif self.dispose_op == Disposal.OP_BACKGROUND: + self.dispose = Image.core.fill(self.mode, self.size) + self.dispose = self._crop(self.dispose, self.dispose_extent) + + def tell(self) -> int: + return self.__frame + + def load_prepare(self) -> None: + """internal: prepare to read PNG file""" + + if self.info.get("interlace"): + self.decoderconfig = self.decoderconfig + (1,) + + self.__idat = self.__prepare_idat # used by load_read() + ImageFile.ImageFile.load_prepare(self) + + def load_read(self, read_bytes: int) -> bytes: + """internal: read more image data""" + + assert self.png is not None + while self.__idat == 0: + # end of chunk, skip forward to next one + + self.fp.read(4) # CRC + + cid, pos, length = self.png.read() + + if cid not in [b"IDAT", b"DDAT", b"fdAT"]: + self.png.push(cid, pos, length) + return b"" + + if cid == b"fdAT": + try: + self.png.call(cid, pos, length) + except EOFError: + pass + self.__idat = length - 4 # sequence_num has already been read + else: + self.__idat = length # empty chunks are allowed + + # read more data from this chunk + if read_bytes <= 0: + read_bytes = self.__idat + else: + read_bytes = min(read_bytes, self.__idat) + + self.__idat = self.__idat - read_bytes + + return self.fp.read(read_bytes) + + def load_end(self) -> None: + """internal: finished reading image data""" + assert self.png is not None + if self.__idat != 0: + self.fp.read(self.__idat) + while True: + self.fp.read(4) # CRC + + try: + cid, pos, length = self.png.read() + except (struct.error, SyntaxError): + break + + if cid == b"IEND": + break + elif cid == b"fcTL" and self.is_animated: + # start of the next frame, stop reading + self.__prepare_idat = 0 + self.png.push(cid, pos, length) + break + + try: + self.png.call(cid, pos, length) + except UnicodeDecodeError: + break + except EOFError: + if cid == b"fdAT": + length -= 4 + try: + ImageFile._safe_read(self.fp, length) + except OSError as e: + if ImageFile.LOAD_TRUNCATED_IMAGES: + break + else: + raise e + except AttributeError: + logger.debug("%r %s %s (unknown)", cid, pos, length) + s = ImageFile._safe_read(self.fp, length) + if cid[1:2].islower(): + self.private_chunks.append((cid, s, True)) + self._text = self.png.im_text + if not self.is_animated: + self.png.close() + self.png = None + else: + if self._prev_im and self.blend_op == Blend.OP_OVER: + updated = self._crop(self.im, self.dispose_extent) + if self.im.mode == "RGB" and "transparency" in self.info: + mask = updated.convert_transparent( + "RGBA", self.info["transparency"] + ) + else: + if self.im.mode == "P" and "transparency" in self.info: + t = self.info["transparency"] + if isinstance(t, bytes): + updated.putpalettealphas(t) + elif isinstance(t, int): + updated.putpalettealpha(t) + mask = updated.convert("RGBA") + self._prev_im.paste(updated, self.dispose_extent, mask) + self.im = self._prev_im + + def _getexif(self) -> dict[int, Any] | None: + if "exif" not in self.info: + self.load() + if "exif" not in self.info and "Raw profile type exif" not in self.info: + return None + return self.getexif()._get_merged_dict() + + def getexif(self) -> Image.Exif: + if "exif" not in self.info: + self.load() + + return super().getexif() + + +# -------------------------------------------------------------------- +# PNG writer + +_OUTMODES = { + # supported PIL modes, and corresponding rawmode, bit depth and color type + "1": ("1", b"\x01", b"\x00"), + "L;1": ("L;1", b"\x01", b"\x00"), + "L;2": ("L;2", b"\x02", b"\x00"), + "L;4": ("L;4", b"\x04", b"\x00"), + "L": ("L", b"\x08", b"\x00"), + "LA": ("LA", b"\x08", b"\x04"), + "I": ("I;16B", b"\x10", b"\x00"), + "I;16": ("I;16B", b"\x10", b"\x00"), + "I;16B": ("I;16B", b"\x10", b"\x00"), + "P;1": ("P;1", b"\x01", b"\x03"), + "P;2": ("P;2", b"\x02", b"\x03"), + "P;4": ("P;4", b"\x04", b"\x03"), + "P": ("P", b"\x08", b"\x03"), + "RGB": ("RGB", b"\x08", b"\x02"), + "RGBA": ("RGBA", b"\x08", b"\x06"), +} + + +def putchunk(fp: IO[bytes], cid: bytes, *data: bytes) -> None: + """Write a PNG chunk (including CRC field)""" + + byte_data = b"".join(data) + + fp.write(o32(len(byte_data)) + cid) + fp.write(byte_data) + crc = _crc32(byte_data, _crc32(cid)) + fp.write(o32(crc)) + + +class _idat: + # wrap output from the encoder in IDAT chunks + + def __init__(self, fp: IO[bytes], chunk: Callable[..., None]) -> None: + self.fp = fp + self.chunk = chunk + + def write(self, data: bytes) -> None: + self.chunk(self.fp, b"IDAT", data) + + +class _fdat: + # wrap encoder output in fdAT chunks + + def __init__(self, fp: IO[bytes], chunk: Callable[..., None], seq_num: int) -> None: + self.fp = fp + self.chunk = chunk + self.seq_num = seq_num + + def write(self, data: bytes) -> None: + self.chunk(self.fp, b"fdAT", o32(self.seq_num), data) + self.seq_num += 1 + + +class _Frame(NamedTuple): + im: Image.Image + bbox: tuple[int, int, int, int] | None + encoderinfo: dict[str, Any] + + +def _write_multiple_frames( + im: Image.Image, + fp: IO[bytes], + chunk: Callable[..., None], + mode: str, + rawmode: str, + default_image: Image.Image | None, + append_images: list[Image.Image], +) -> Image.Image | None: + duration = im.encoderinfo.get("duration") + loop = im.encoderinfo.get("loop", im.info.get("loop", 0)) + disposal = im.encoderinfo.get("disposal", im.info.get("disposal", Disposal.OP_NONE)) + blend = im.encoderinfo.get("blend", im.info.get("blend", Blend.OP_SOURCE)) + + if default_image: + chain = itertools.chain(append_images) + else: + chain = itertools.chain([im], append_images) + + im_frames: list[_Frame] = [] + frame_count = 0 + for im_seq in chain: + for im_frame in ImageSequence.Iterator(im_seq): + if im_frame.mode == mode: + im_frame = im_frame.copy() + else: + im_frame = im_frame.convert(mode) + encoderinfo = im.encoderinfo.copy() + if isinstance(duration, (list, tuple)): + encoderinfo["duration"] = duration[frame_count] + elif duration is None and "duration" in im_frame.info: + encoderinfo["duration"] = im_frame.info["duration"] + if isinstance(disposal, (list, tuple)): + encoderinfo["disposal"] = disposal[frame_count] + if isinstance(blend, (list, tuple)): + encoderinfo["blend"] = blend[frame_count] + frame_count += 1 + + if im_frames: + previous = im_frames[-1] + prev_disposal = previous.encoderinfo.get("disposal") + prev_blend = previous.encoderinfo.get("blend") + if prev_disposal == Disposal.OP_PREVIOUS and len(im_frames) < 2: + prev_disposal = Disposal.OP_BACKGROUND + + if prev_disposal == Disposal.OP_BACKGROUND: + base_im = previous.im.copy() + dispose = Image.core.fill("RGBA", im.size, (0, 0, 0, 0)) + bbox = previous.bbox + if bbox: + dispose = dispose.crop(bbox) + else: + bbox = (0, 0) + im.size + base_im.paste(dispose, bbox) + elif prev_disposal == Disposal.OP_PREVIOUS: + base_im = im_frames[-2].im + else: + base_im = previous.im + delta = ImageChops.subtract_modulo( + im_frame.convert("RGBA"), base_im.convert("RGBA") + ) + bbox = delta.getbbox(alpha_only=False) + if ( + not bbox + and prev_disposal == encoderinfo.get("disposal") + and prev_blend == encoderinfo.get("blend") + and "duration" in encoderinfo + ): + previous.encoderinfo["duration"] += encoderinfo["duration"] + continue + else: + bbox = None + im_frames.append(_Frame(im_frame, bbox, encoderinfo)) + + if len(im_frames) == 1 and not default_image: + return im_frames[0].im + + # animation control + chunk( + fp, + b"acTL", + o32(len(im_frames)), # 0: num_frames + o32(loop), # 4: num_plays + ) + + # default image IDAT (if it exists) + if default_image: + if im.mode != mode: + im = im.convert(mode) + ImageFile._save( + im, + cast(IO[bytes], _idat(fp, chunk)), + [ImageFile._Tile("zip", (0, 0) + im.size, 0, rawmode)], + ) + + seq_num = 0 + for frame, frame_data in enumerate(im_frames): + im_frame = frame_data.im + if not frame_data.bbox: + bbox = (0, 0) + im_frame.size + else: + bbox = frame_data.bbox + im_frame = im_frame.crop(bbox) + size = im_frame.size + encoderinfo = frame_data.encoderinfo + frame_duration = int(round(encoderinfo.get("duration", 0))) + frame_disposal = encoderinfo.get("disposal", disposal) + frame_blend = encoderinfo.get("blend", blend) + # frame control + chunk( + fp, + b"fcTL", + o32(seq_num), # sequence_number + o32(size[0]), # width + o32(size[1]), # height + o32(bbox[0]), # x_offset + o32(bbox[1]), # y_offset + o16(frame_duration), # delay_numerator + o16(1000), # delay_denominator + o8(frame_disposal), # dispose_op + o8(frame_blend), # blend_op + ) + seq_num += 1 + # frame data + if frame == 0 and not default_image: + # first frame must be in IDAT chunks for backwards compatibility + ImageFile._save( + im_frame, + cast(IO[bytes], _idat(fp, chunk)), + [ImageFile._Tile("zip", (0, 0) + im_frame.size, 0, rawmode)], + ) + else: + fdat_chunks = _fdat(fp, chunk, seq_num) + ImageFile._save( + im_frame, + cast(IO[bytes], fdat_chunks), + [ImageFile._Tile("zip", (0, 0) + im_frame.size, 0, rawmode)], + ) + seq_num = fdat_chunks.seq_num + return None + + +def _save_all(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + _save(im, fp, filename, save_all=True) + + +def _save( + im: Image.Image, + fp: IO[bytes], + filename: str | bytes, + chunk: Callable[..., None] = putchunk, + save_all: bool = False, +) -> None: + # save an image to disk (called by the save method) + + if save_all: + default_image = im.encoderinfo.get( + "default_image", im.info.get("default_image") + ) + modes = set() + sizes = set() + append_images = im.encoderinfo.get("append_images", []) + for im_seq in itertools.chain([im], append_images): + for im_frame in ImageSequence.Iterator(im_seq): + modes.add(im_frame.mode) + sizes.add(im_frame.size) + for mode in ("RGBA", "RGB", "P"): + if mode in modes: + break + else: + mode = modes.pop() + size = tuple(max(frame_size[i] for frame_size in sizes) for i in range(2)) + else: + size = im.size + mode = im.mode + + outmode = mode + if mode == "P": + # + # attempt to minimize storage requirements for palette images + if "bits" in im.encoderinfo: + # number of bits specified by user + colors = min(1 << im.encoderinfo["bits"], 256) + else: + # check palette contents + if im.palette: + colors = max(min(len(im.palette.getdata()[1]) // 3, 256), 1) + else: + colors = 256 + + if colors <= 16: + if colors <= 2: + bits = 1 + elif colors <= 4: + bits = 2 + else: + bits = 4 + outmode += f";{bits}" + + # encoder options + im.encoderconfig = ( + im.encoderinfo.get("optimize", False), + im.encoderinfo.get("compress_level", -1), + im.encoderinfo.get("compress_type", -1), + im.encoderinfo.get("dictionary", b""), + ) + + # get the corresponding PNG mode + try: + rawmode, bit_depth, color_type = _OUTMODES[outmode] + except KeyError as e: + msg = f"cannot write mode {mode} as PNG" + raise OSError(msg) from e + + # + # write minimal PNG file + + fp.write(_MAGIC) + + chunk( + fp, + b"IHDR", + o32(size[0]), # 0: size + o32(size[1]), + bit_depth, + color_type, + b"\0", # 10: compression + b"\0", # 11: filter category + b"\0", # 12: interlace flag + ) + + chunks = [b"cHRM", b"gAMA", b"sBIT", b"sRGB", b"tIME"] + + icc = im.encoderinfo.get("icc_profile", im.info.get("icc_profile")) + if icc: + # ICC profile + # according to PNG spec, the iCCP chunk contains: + # Profile name 1-79 bytes (character string) + # Null separator 1 byte (null character) + # Compression method 1 byte (0) + # Compressed profile n bytes (zlib with deflate compression) + name = b"ICC Profile" + data = name + b"\0\0" + zlib.compress(icc) + chunk(fp, b"iCCP", data) + + # You must either have sRGB or iCCP. + # Disallow sRGB chunks when an iCCP-chunk has been emitted. + chunks.remove(b"sRGB") + + info = im.encoderinfo.get("pnginfo") + if info: + chunks_multiple_allowed = [b"sPLT", b"iTXt", b"tEXt", b"zTXt"] + for info_chunk in info.chunks: + cid, data = info_chunk[:2] + if cid in chunks: + chunks.remove(cid) + chunk(fp, cid, data) + elif cid in chunks_multiple_allowed: + chunk(fp, cid, data) + elif cid[1:2].islower(): + # Private chunk + after_idat = len(info_chunk) == 3 and info_chunk[2] + if not after_idat: + chunk(fp, cid, data) + + if im.mode == "P": + palette_byte_number = colors * 3 + palette_bytes = im.im.getpalette("RGB")[:palette_byte_number] + while len(palette_bytes) < palette_byte_number: + palette_bytes += b"\0" + chunk(fp, b"PLTE", palette_bytes) + + transparency = im.encoderinfo.get("transparency", im.info.get("transparency", None)) + + if transparency or transparency == 0: + if im.mode == "P": + # limit to actual palette size + alpha_bytes = colors + if isinstance(transparency, bytes): + chunk(fp, b"tRNS", transparency[:alpha_bytes]) + else: + transparency = max(0, min(255, transparency)) + alpha = b"\xFF" * transparency + b"\0" + chunk(fp, b"tRNS", alpha[:alpha_bytes]) + elif im.mode in ("1", "L", "I", "I;16"): + transparency = max(0, min(65535, transparency)) + chunk(fp, b"tRNS", o16(transparency)) + elif im.mode == "RGB": + red, green, blue = transparency + chunk(fp, b"tRNS", o16(red) + o16(green) + o16(blue)) + else: + if "transparency" in im.encoderinfo: + # don't bother with transparency if it's an RGBA + # and it's in the info dict. It's probably just stale. + msg = "cannot use transparency for this mode" + raise OSError(msg) + else: + if im.mode == "P" and im.im.getpalettemode() == "RGBA": + alpha = im.im.getpalette("RGBA", "A") + alpha_bytes = colors + chunk(fp, b"tRNS", alpha[:alpha_bytes]) + + dpi = im.encoderinfo.get("dpi") + if dpi: + chunk( + fp, + b"pHYs", + o32(int(dpi[0] / 0.0254 + 0.5)), + o32(int(dpi[1] / 0.0254 + 0.5)), + b"\x01", + ) + + if info: + chunks = [b"bKGD", b"hIST"] + for info_chunk in info.chunks: + cid, data = info_chunk[:2] + if cid in chunks: + chunks.remove(cid) + chunk(fp, cid, data) + + exif = im.encoderinfo.get("exif") + if exif: + if isinstance(exif, Image.Exif): + exif = exif.tobytes(8) + if exif.startswith(b"Exif\x00\x00"): + exif = exif[6:] + chunk(fp, b"eXIf", exif) + + single_im: Image.Image | None = im + if save_all: + single_im = _write_multiple_frames( + im, fp, chunk, mode, rawmode, default_image, append_images + ) + if single_im: + ImageFile._save( + single_im, + cast(IO[bytes], _idat(fp, chunk)), + [ImageFile._Tile("zip", (0, 0) + single_im.size, 0, rawmode)], + ) + + if info: + for info_chunk in info.chunks: + cid, data = info_chunk[:2] + if cid[1:2].islower(): + # Private chunk + after_idat = len(info_chunk) == 3 and info_chunk[2] + if after_idat: + chunk(fp, cid, data) + + chunk(fp, b"IEND", b"") + + if hasattr(fp, "flush"): + fp.flush() + + +# -------------------------------------------------------------------- +# PNG chunk converter + + +def getchunks(im: Image.Image, **params: Any) -> list[tuple[bytes, bytes, bytes]]: + """Return a list of PNG chunks representing this image.""" + from io import BytesIO + + chunks = [] + + def append(fp: IO[bytes], cid: bytes, *data: bytes) -> None: + byte_data = b"".join(data) + crc = o32(_crc32(byte_data, _crc32(cid))) + chunks.append((cid, byte_data, crc)) + + fp = BytesIO() + + try: + im.encoderinfo = params + _save(im, fp, "", append) + finally: + del im.encoderinfo + + return chunks + + +# -------------------------------------------------------------------- +# Registry + +Image.register_open(PngImageFile.format, PngImageFile, _accept) +Image.register_save(PngImageFile.format, _save) +Image.register_save_all(PngImageFile.format, _save_all) + +Image.register_extensions(PngImageFile.format, [".png", ".apng"]) + +Image.register_mime(PngImageFile.format, "image/png") diff --git a/venv/Lib/site-packages/PIL/PpmImagePlugin.py b/venv/Lib/site-packages/PIL/PpmImagePlugin.py new file mode 100644 index 00000000..4e779df1 --- /dev/null +++ b/venv/Lib/site-packages/PIL/PpmImagePlugin.py @@ -0,0 +1,375 @@ +# +# The Python Imaging Library. +# $Id$ +# +# PPM support for PIL +# +# History: +# 96-03-24 fl Created +# 98-03-06 fl Write RGBA images (as RGB, that is) +# +# Copyright (c) Secret Labs AB 1997-98. +# Copyright (c) Fredrik Lundh 1996. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import math +from typing import IO + +from . import Image, ImageFile +from ._binary import i16be as i16 +from ._binary import o8 +from ._binary import o32le as o32 + +# +# -------------------------------------------------------------------- + +b_whitespace = b"\x20\x09\x0a\x0b\x0c\x0d" + +MODES = { + # standard + b"P1": "1", + b"P2": "L", + b"P3": "RGB", + b"P4": "1", + b"P5": "L", + b"P6": "RGB", + # extensions + b"P0CMYK": "CMYK", + b"Pf": "F", + # PIL extensions (for test purposes only) + b"PyP": "P", + b"PyRGBA": "RGBA", + b"PyCMYK": "CMYK", +} + + +def _accept(prefix: bytes) -> bool: + return prefix[0:1] == b"P" and prefix[1] in b"0123456fy" + + +## +# Image plugin for PBM, PGM, and PPM images. + + +class PpmImageFile(ImageFile.ImageFile): + format = "PPM" + format_description = "Pbmplus image" + + def _read_magic(self) -> bytes: + assert self.fp is not None + + magic = b"" + # read until whitespace or longest available magic number + for _ in range(6): + c = self.fp.read(1) + if not c or c in b_whitespace: + break + magic += c + return magic + + def _read_token(self) -> bytes: + assert self.fp is not None + + token = b"" + while len(token) <= 10: # read until next whitespace or limit of 10 characters + c = self.fp.read(1) + if not c: + break + elif c in b_whitespace: # token ended + if not token: + # skip whitespace at start + continue + break + elif c == b"#": + # ignores rest of the line; stops at CR, LF or EOF + while self.fp.read(1) not in b"\r\n": + pass + continue + token += c + if not token: + # Token was not even 1 byte + msg = "Reached EOF while reading header" + raise ValueError(msg) + elif len(token) > 10: + msg = f"Token too long in file header: {token.decode()}" + raise ValueError(msg) + return token + + def _open(self) -> None: + assert self.fp is not None + + magic_number = self._read_magic() + try: + mode = MODES[magic_number] + except KeyError: + msg = "not a PPM file" + raise SyntaxError(msg) + self._mode = mode + + if magic_number in (b"P1", b"P4"): + self.custom_mimetype = "image/x-portable-bitmap" + elif magic_number in (b"P2", b"P5"): + self.custom_mimetype = "image/x-portable-graymap" + elif magic_number in (b"P3", b"P6"): + self.custom_mimetype = "image/x-portable-pixmap" + + self._size = int(self._read_token()), int(self._read_token()) + + decoder_name = "raw" + if magic_number in (b"P1", b"P2", b"P3"): + decoder_name = "ppm_plain" + + args: str | tuple[str | int, ...] + if mode == "1": + args = "1;I" + elif mode == "F": + scale = float(self._read_token()) + if scale == 0.0 or not math.isfinite(scale): + msg = "scale must be finite and non-zero" + raise ValueError(msg) + self.info["scale"] = abs(scale) + + rawmode = "F;32F" if scale < 0 else "F;32BF" + args = (rawmode, 0, -1) + else: + maxval = int(self._read_token()) + if not 0 < maxval < 65536: + msg = "maxval must be greater than 0 and less than 65536" + raise ValueError(msg) + if maxval > 255 and mode == "L": + self._mode = "I" + + rawmode = mode + if decoder_name != "ppm_plain": + # If maxval matches a bit depth, use the raw decoder directly + if maxval == 65535 and mode == "L": + rawmode = "I;16B" + elif maxval != 255: + decoder_name = "ppm" + + args = rawmode if decoder_name == "raw" else (rawmode, maxval) + self.tile = [ + ImageFile._Tile(decoder_name, (0, 0) + self.size, self.fp.tell(), args) + ] + + +# +# -------------------------------------------------------------------- + + +class PpmPlainDecoder(ImageFile.PyDecoder): + _pulls_fd = True + _comment_spans: bool + + def _read_block(self) -> bytes: + assert self.fd is not None + + return self.fd.read(ImageFile.SAFEBLOCK) + + def _find_comment_end(self, block: bytes, start: int = 0) -> int: + a = block.find(b"\n", start) + b = block.find(b"\r", start) + return min(a, b) if a * b > 0 else max(a, b) # lowest nonnegative index (or -1) + + def _ignore_comments(self, block: bytes) -> bytes: + if self._comment_spans: + # Finish current comment + while block: + comment_end = self._find_comment_end(block) + if comment_end != -1: + # Comment ends in this block + # Delete tail of comment + block = block[comment_end + 1 :] + break + else: + # Comment spans whole block + # So read the next block, looking for the end + block = self._read_block() + + # Search for any further comments + self._comment_spans = False + while True: + comment_start = block.find(b"#") + if comment_start == -1: + # No comment found + break + comment_end = self._find_comment_end(block, comment_start) + if comment_end != -1: + # Comment ends in this block + # Delete comment + block = block[:comment_start] + block[comment_end + 1 :] + else: + # Comment continues to next block(s) + block = block[:comment_start] + self._comment_spans = True + break + return block + + def _decode_bitonal(self) -> bytearray: + """ + This is a separate method because in the plain PBM format, all data tokens are + exactly one byte, so the inter-token whitespace is optional. + """ + data = bytearray() + total_bytes = self.state.xsize * self.state.ysize + + while len(data) != total_bytes: + block = self._read_block() # read next block + if not block: + # eof + break + + block = self._ignore_comments(block) + + tokens = b"".join(block.split()) + for token in tokens: + if token not in (48, 49): + msg = b"Invalid token for this mode: %s" % bytes([token]) + raise ValueError(msg) + data = (data + tokens)[:total_bytes] + invert = bytes.maketrans(b"01", b"\xFF\x00") + return data.translate(invert) + + def _decode_blocks(self, maxval: int) -> bytearray: + data = bytearray() + max_len = 10 + out_byte_count = 4 if self.mode == "I" else 1 + out_max = 65535 if self.mode == "I" else 255 + bands = Image.getmodebands(self.mode) + total_bytes = self.state.xsize * self.state.ysize * bands * out_byte_count + + half_token = b"" + while len(data) != total_bytes: + block = self._read_block() # read next block + if not block: + if half_token: + block = bytearray(b" ") # flush half_token + else: + # eof + break + + block = self._ignore_comments(block) + + if half_token: + block = half_token + block # stitch half_token to new block + half_token = b"" + + tokens = block.split() + + if block and not block[-1:].isspace(): # block might split token + half_token = tokens.pop() # save half token for later + if len(half_token) > max_len: # prevent buildup of half_token + msg = ( + b"Token too long found in data: %s" % half_token[: max_len + 1] + ) + raise ValueError(msg) + + for token in tokens: + if len(token) > max_len: + msg = b"Token too long found in data: %s" % token[: max_len + 1] + raise ValueError(msg) + value = int(token) + if value < 0: + msg_str = f"Channel value is negative: {value}" + raise ValueError(msg_str) + if value > maxval: + msg_str = f"Channel value too large for this mode: {value}" + raise ValueError(msg_str) + value = round(value / maxval * out_max) + data += o32(value) if self.mode == "I" else o8(value) + if len(data) == total_bytes: # finished! + break + return data + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + self._comment_spans = False + if self.mode == "1": + data = self._decode_bitonal() + rawmode = "1;8" + else: + maxval = self.args[-1] + data = self._decode_blocks(maxval) + rawmode = "I;32" if self.mode == "I" else self.mode + self.set_as_raw(bytes(data), rawmode) + return -1, 0 + + +class PpmDecoder(ImageFile.PyDecoder): + _pulls_fd = True + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + assert self.fd is not None + + data = bytearray() + maxval = self.args[-1] + in_byte_count = 1 if maxval < 256 else 2 + out_byte_count = 4 if self.mode == "I" else 1 + out_max = 65535 if self.mode == "I" else 255 + bands = Image.getmodebands(self.mode) + dest_length = self.state.xsize * self.state.ysize * bands * out_byte_count + while len(data) < dest_length: + pixels = self.fd.read(in_byte_count * bands) + if len(pixels) < in_byte_count * bands: + # eof + break + for b in range(bands): + value = ( + pixels[b] if in_byte_count == 1 else i16(pixels, b * in_byte_count) + ) + value = min(out_max, round(value / maxval * out_max)) + data += o32(value) if self.mode == "I" else o8(value) + rawmode = "I;32" if self.mode == "I" else self.mode + self.set_as_raw(bytes(data), rawmode) + return -1, 0 + + +# +# -------------------------------------------------------------------- + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if im.mode == "1": + rawmode, head = "1;I", b"P4" + elif im.mode == "L": + rawmode, head = "L", b"P5" + elif im.mode in ("I", "I;16"): + rawmode, head = "I;16B", b"P5" + elif im.mode in ("RGB", "RGBA"): + rawmode, head = "RGB", b"P6" + elif im.mode == "F": + rawmode, head = "F;32F", b"Pf" + else: + msg = f"cannot write mode {im.mode} as PPM" + raise OSError(msg) + fp.write(head + b"\n%d %d\n" % im.size) + if head == b"P6": + fp.write(b"255\n") + elif head == b"P5": + if rawmode == "L": + fp.write(b"255\n") + else: + fp.write(b"65535\n") + elif head == b"Pf": + fp.write(b"-1.0\n") + row_order = -1 if im.mode == "F" else 1 + ImageFile._save( + im, fp, [ImageFile._Tile("raw", (0, 0) + im.size, 0, (rawmode, 0, row_order))] + ) + + +# +# -------------------------------------------------------------------- + + +Image.register_open(PpmImageFile.format, PpmImageFile, _accept) +Image.register_save(PpmImageFile.format, _save) + +Image.register_decoder("ppm", PpmDecoder) +Image.register_decoder("ppm_plain", PpmPlainDecoder) + +Image.register_extensions(PpmImageFile.format, [".pbm", ".pgm", ".ppm", ".pnm", ".pfm"]) + +Image.register_mime(PpmImageFile.format, "image/x-portable-anymap") diff --git a/venv/Lib/site-packages/PIL/PsdImagePlugin.py b/venv/Lib/site-packages/PIL/PsdImagePlugin.py new file mode 100644 index 00000000..8ff5e390 --- /dev/null +++ b/venv/Lib/site-packages/PIL/PsdImagePlugin.py @@ -0,0 +1,332 @@ +# +# The Python Imaging Library +# $Id$ +# +# Adobe PSD 2.5/3.0 file handling +# +# History: +# 1995-09-01 fl Created +# 1997-01-03 fl Read most PSD images +# 1997-01-18 fl Fixed P and CMYK support +# 2001-10-21 fl Added seek/tell support (for layers) +# +# Copyright (c) 1997-2001 by Secret Labs AB. +# Copyright (c) 1995-2001 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io +from functools import cached_property +from typing import IO + +from . import Image, ImageFile, ImagePalette +from ._binary import i8 +from ._binary import i16be as i16 +from ._binary import i32be as i32 +from ._binary import si16be as si16 +from ._binary import si32be as si32 + +MODES = { + # (photoshop mode, bits) -> (pil mode, required channels) + (0, 1): ("1", 1), + (0, 8): ("L", 1), + (1, 8): ("L", 1), + (2, 8): ("P", 1), + (3, 8): ("RGB", 3), + (4, 8): ("CMYK", 4), + (7, 8): ("L", 1), # FIXME: multilayer + (8, 8): ("L", 1), # duotone + (9, 8): ("LAB", 3), +} + + +# --------------------------------------------------------------------. +# read PSD images + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] == b"8BPS" + + +## +# Image plugin for Photoshop images. + + +class PsdImageFile(ImageFile.ImageFile): + format = "PSD" + format_description = "Adobe Photoshop" + _close_exclusive_fp_after_loading = False + + def _open(self) -> None: + read = self.fp.read + + # + # header + + s = read(26) + if not _accept(s) or i16(s, 4) != 1: + msg = "not a PSD file" + raise SyntaxError(msg) + + psd_bits = i16(s, 22) + psd_channels = i16(s, 12) + psd_mode = i16(s, 24) + + mode, channels = MODES[(psd_mode, psd_bits)] + + if channels > psd_channels: + msg = "not enough channels" + raise OSError(msg) + if mode == "RGB" and psd_channels == 4: + mode = "RGBA" + channels = 4 + + self._mode = mode + self._size = i32(s, 18), i32(s, 14) + + # + # color mode data + + size = i32(read(4)) + if size: + data = read(size) + if mode == "P" and size == 768: + self.palette = ImagePalette.raw("RGB;L", data) + + # + # image resources + + self.resources = [] + + size = i32(read(4)) + if size: + # load resources + end = self.fp.tell() + size + while self.fp.tell() < end: + read(4) # signature + id = i16(read(2)) + name = read(i8(read(1))) + if not (len(name) & 1): + read(1) # padding + data = read(i32(read(4))) + if len(data) & 1: + read(1) # padding + self.resources.append((id, name, data)) + if id == 1039: # ICC profile + self.info["icc_profile"] = data + + # + # layer and mask information + + self._layers_position = None + + size = i32(read(4)) + if size: + end = self.fp.tell() + size + size = i32(read(4)) + if size: + self._layers_position = self.fp.tell() + self._layers_size = size + self.fp.seek(end) + self._n_frames: int | None = None + + # + # image descriptor + + self.tile = _maketile(self.fp, mode, (0, 0) + self.size, channels) + + # keep the file open + self._fp = self.fp + self.frame = 1 + self._min_frame = 1 + + @cached_property + def layers( + self, + ) -> list[tuple[str, str, tuple[int, int, int, int], list[ImageFile._Tile]]]: + layers = [] + if self._layers_position is not None: + self._fp.seek(self._layers_position) + _layer_data = io.BytesIO(ImageFile._safe_read(self._fp, self._layers_size)) + layers = _layerinfo(_layer_data, self._layers_size) + self._n_frames = len(layers) + return layers + + @property + def n_frames(self) -> int: + if self._n_frames is None: + self._n_frames = len(self.layers) + return self._n_frames + + @property + def is_animated(self) -> bool: + return len(self.layers) > 1 + + def seek(self, layer: int) -> None: + if not self._seek_check(layer): + return + + # seek to given layer (1..max) + try: + _, mode, _, tile = self.layers[layer - 1] + self._mode = mode + self.tile = tile + self.frame = layer + self.fp = self._fp + except IndexError as e: + msg = "no such layer" + raise EOFError(msg) from e + + def tell(self) -> int: + # return layer number (0=image, 1..max=layers) + return self.frame + + +def _layerinfo( + fp: IO[bytes], ct_bytes: int +) -> list[tuple[str, str, tuple[int, int, int, int], list[ImageFile._Tile]]]: + # read layerinfo block + layers = [] + + def read(size: int) -> bytes: + return ImageFile._safe_read(fp, size) + + ct = si16(read(2)) + + # sanity check + if ct_bytes < (abs(ct) * 20): + msg = "Layer block too short for number of layers requested" + raise SyntaxError(msg) + + for _ in range(abs(ct)): + # bounding box + y0 = si32(read(4)) + x0 = si32(read(4)) + y1 = si32(read(4)) + x1 = si32(read(4)) + + # image info + bands = [] + ct_types = i16(read(2)) + if ct_types > 4: + fp.seek(ct_types * 6 + 12, io.SEEK_CUR) + size = i32(read(4)) + fp.seek(size, io.SEEK_CUR) + continue + + for _ in range(ct_types): + type = i16(read(2)) + + if type == 65535: + b = "A" + else: + b = "RGBA"[type] + + bands.append(b) + read(4) # size + + # figure out the image mode + bands.sort() + if bands == ["R"]: + mode = "L" + elif bands == ["B", "G", "R"]: + mode = "RGB" + elif bands == ["A", "B", "G", "R"]: + mode = "RGBA" + else: + mode = "" # unknown + + # skip over blend flags and extra information + read(12) # filler + name = "" + size = i32(read(4)) # length of the extra data field + if size: + data_end = fp.tell() + size + + length = i32(read(4)) + if length: + fp.seek(length - 16, io.SEEK_CUR) + + length = i32(read(4)) + if length: + fp.seek(length, io.SEEK_CUR) + + length = i8(read(1)) + if length: + # Don't know the proper encoding, + # Latin-1 should be a good guess + name = read(length).decode("latin-1", "replace") + + fp.seek(data_end) + layers.append((name, mode, (x0, y0, x1, y1))) + + # get tiles + layerinfo = [] + for i, (name, mode, bbox) in enumerate(layers): + tile = [] + for m in mode: + t = _maketile(fp, m, bbox, 1) + if t: + tile.extend(t) + layerinfo.append((name, mode, bbox, tile)) + + return layerinfo + + +def _maketile( + file: IO[bytes], mode: str, bbox: tuple[int, int, int, int], channels: int +) -> list[ImageFile._Tile]: + tiles = [] + read = file.read + + compression = i16(read(2)) + + xsize = bbox[2] - bbox[0] + ysize = bbox[3] - bbox[1] + + offset = file.tell() + + if compression == 0: + # + # raw compression + for channel in range(channels): + layer = mode[channel] + if mode == "CMYK": + layer += ";I" + tiles.append(ImageFile._Tile("raw", bbox, offset, layer)) + offset = offset + xsize * ysize + + elif compression == 1: + # + # packbits compression + i = 0 + bytecount = read(channels * ysize * 2) + offset = file.tell() + for channel in range(channels): + layer = mode[channel] + if mode == "CMYK": + layer += ";I" + tiles.append(ImageFile._Tile("packbits", bbox, offset, layer)) + for y in range(ysize): + offset = offset + i16(bytecount, i) + i += 2 + + file.seek(offset) + + if offset & 1: + read(1) # padding + + return tiles + + +# -------------------------------------------------------------------- +# registry + + +Image.register_open(PsdImageFile.format, PsdImageFile, _accept) + +Image.register_extension(PsdImageFile.format, ".psd") + +Image.register_mime(PsdImageFile.format, "image/vnd.adobe.photoshop") diff --git a/venv/Lib/site-packages/PIL/QoiImagePlugin.py b/venv/Lib/site-packages/PIL/QoiImagePlugin.py new file mode 100644 index 00000000..010d3f94 --- /dev/null +++ b/venv/Lib/site-packages/PIL/QoiImagePlugin.py @@ -0,0 +1,115 @@ +# +# The Python Imaging Library. +# +# QOI support for PIL +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import os + +from . import Image, ImageFile +from ._binary import i32be as i32 + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] == b"qoif" + + +class QoiImageFile(ImageFile.ImageFile): + format = "QOI" + format_description = "Quite OK Image" + + def _open(self) -> None: + if not _accept(self.fp.read(4)): + msg = "not a QOI file" + raise SyntaxError(msg) + + self._size = i32(self.fp.read(4)), i32(self.fp.read(4)) + + channels = self.fp.read(1)[0] + self._mode = "RGB" if channels == 3 else "RGBA" + + self.fp.seek(1, os.SEEK_CUR) # colorspace + self.tile = [ImageFile._Tile("qoi", (0, 0) + self._size, self.fp.tell(), None)] + + +class QoiDecoder(ImageFile.PyDecoder): + _pulls_fd = True + _previous_pixel: bytes | bytearray | None = None + _previously_seen_pixels: dict[int, bytes | bytearray] = {} + + def _add_to_previous_pixels(self, value: bytes | bytearray) -> None: + self._previous_pixel = value + + r, g, b, a = value + hash_value = (r * 3 + g * 5 + b * 7 + a * 11) % 64 + self._previously_seen_pixels[hash_value] = value + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + assert self.fd is not None + + self._previously_seen_pixels = {} + self._add_to_previous_pixels(bytearray((0, 0, 0, 255))) + + data = bytearray() + bands = Image.getmodebands(self.mode) + dest_length = self.state.xsize * self.state.ysize * bands + while len(data) < dest_length: + byte = self.fd.read(1)[0] + value: bytes | bytearray + if byte == 0b11111110 and self._previous_pixel: # QOI_OP_RGB + value = bytearray(self.fd.read(3)) + self._previous_pixel[3:] + elif byte == 0b11111111: # QOI_OP_RGBA + value = self.fd.read(4) + else: + op = byte >> 6 + if op == 0: # QOI_OP_INDEX + op_index = byte & 0b00111111 + value = self._previously_seen_pixels.get( + op_index, bytearray((0, 0, 0, 0)) + ) + elif op == 1 and self._previous_pixel: # QOI_OP_DIFF + value = bytearray( + ( + (self._previous_pixel[0] + ((byte & 0b00110000) >> 4) - 2) + % 256, + (self._previous_pixel[1] + ((byte & 0b00001100) >> 2) - 2) + % 256, + (self._previous_pixel[2] + (byte & 0b00000011) - 2) % 256, + self._previous_pixel[3], + ) + ) + elif op == 2 and self._previous_pixel: # QOI_OP_LUMA + second_byte = self.fd.read(1)[0] + diff_green = (byte & 0b00111111) - 32 + diff_red = ((second_byte & 0b11110000) >> 4) - 8 + diff_blue = (second_byte & 0b00001111) - 8 + + value = bytearray( + tuple( + (self._previous_pixel[i] + diff_green + diff) % 256 + for i, diff in enumerate((diff_red, 0, diff_blue)) + ) + ) + value += self._previous_pixel[3:] + elif op == 3 and self._previous_pixel: # QOI_OP_RUN + run_length = (byte & 0b00111111) + 1 + value = self._previous_pixel + if bands == 3: + value = value[:3] + data += value * run_length + continue + self._add_to_previous_pixels(value) + + if bands == 3: + value = value[:3] + data += value + self.set_as_raw(data) + return -1, 0 + + +Image.register_open(QoiImageFile.format, QoiImageFile, _accept) +Image.register_decoder("qoi", QoiDecoder) +Image.register_extension(QoiImageFile.format, ".qoi") diff --git a/venv/Lib/site-packages/PIL/SgiImagePlugin.py b/venv/Lib/site-packages/PIL/SgiImagePlugin.py new file mode 100644 index 00000000..44254b7a --- /dev/null +++ b/venv/Lib/site-packages/PIL/SgiImagePlugin.py @@ -0,0 +1,247 @@ +# +# The Python Imaging Library. +# $Id$ +# +# SGI image file handling +# +# See "The SGI Image File Format (Draft version 0.97)", Paul Haeberli. +# +# +# +# History: +# 2017-22-07 mb Add RLE decompression +# 2016-16-10 mb Add save method without compression +# 1995-09-10 fl Created +# +# Copyright (c) 2016 by Mickael Bonfill. +# Copyright (c) 2008 by Karsten Hiddemann. +# Copyright (c) 1997 by Secret Labs AB. +# Copyright (c) 1995 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import os +import struct +from typing import IO + +from . import Image, ImageFile +from ._binary import i16be as i16 +from ._binary import o8 + + +def _accept(prefix: bytes) -> bool: + return len(prefix) >= 2 and i16(prefix) == 474 + + +MODES = { + (1, 1, 1): "L", + (1, 2, 1): "L", + (2, 1, 1): "L;16B", + (2, 2, 1): "L;16B", + (1, 3, 3): "RGB", + (2, 3, 3): "RGB;16B", + (1, 3, 4): "RGBA", + (2, 3, 4): "RGBA;16B", +} + + +## +# Image plugin for SGI images. +class SgiImageFile(ImageFile.ImageFile): + format = "SGI" + format_description = "SGI Image File Format" + + def _open(self) -> None: + # HEAD + assert self.fp is not None + + headlen = 512 + s = self.fp.read(headlen) + + if not _accept(s): + msg = "Not an SGI image file" + raise ValueError(msg) + + # compression : verbatim or RLE + compression = s[2] + + # bpc : 1 or 2 bytes (8bits or 16bits) + bpc = s[3] + + # dimension : 1, 2 or 3 (depending on xsize, ysize and zsize) + dimension = i16(s, 4) + + # xsize : width + xsize = i16(s, 6) + + # ysize : height + ysize = i16(s, 8) + + # zsize : channels count + zsize = i16(s, 10) + + # layout + layout = bpc, dimension, zsize + + # determine mode from bits/zsize + rawmode = "" + try: + rawmode = MODES[layout] + except KeyError: + pass + + if rawmode == "": + msg = "Unsupported SGI image mode" + raise ValueError(msg) + + self._size = xsize, ysize + self._mode = rawmode.split(";")[0] + if self.mode == "RGB": + self.custom_mimetype = "image/rgb" + + # orientation -1 : scanlines begins at the bottom-left corner + orientation = -1 + + # decoder info + if compression == 0: + pagesize = xsize * ysize * bpc + if bpc == 2: + self.tile = [ + ImageFile._Tile( + "SGI16", + (0, 0) + self.size, + headlen, + (self.mode, 0, orientation), + ) + ] + else: + self.tile = [] + offset = headlen + for layer in self.mode: + self.tile.append( + ImageFile._Tile( + "raw", (0, 0) + self.size, offset, (layer, 0, orientation) + ) + ) + offset += pagesize + elif compression == 1: + self.tile = [ + ImageFile._Tile( + "sgi_rle", (0, 0) + self.size, headlen, (rawmode, orientation, bpc) + ) + ] + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if im.mode not in {"RGB", "RGBA", "L"}: + msg = "Unsupported SGI image mode" + raise ValueError(msg) + + # Get the keyword arguments + info = im.encoderinfo + + # Byte-per-pixel precision, 1 = 8bits per pixel + bpc = info.get("bpc", 1) + + if bpc not in (1, 2): + msg = "Unsupported number of bytes per pixel" + raise ValueError(msg) + + # Flip the image, since the origin of SGI file is the bottom-left corner + orientation = -1 + # Define the file as SGI File Format + magic_number = 474 + # Run-Length Encoding Compression - Unsupported at this time + rle = 0 + + # Number of dimensions (x,y,z) + dim = 3 + # X Dimension = width / Y Dimension = height + x, y = im.size + if im.mode == "L" and y == 1: + dim = 1 + elif im.mode == "L": + dim = 2 + # Z Dimension: Number of channels + z = len(im.mode) + + if dim in {1, 2}: + z = 1 + + # assert we've got the right number of bands. + if len(im.getbands()) != z: + msg = f"incorrect number of bands in SGI write: {z} vs {len(im.getbands())}" + raise ValueError(msg) + + # Minimum Byte value + pinmin = 0 + # Maximum Byte value (255 = 8bits per pixel) + pinmax = 255 + # Image name (79 characters max, truncated below in write) + img_name = os.path.splitext(os.path.basename(filename))[0] + if isinstance(img_name, str): + img_name = img_name.encode("ascii", "ignore") + # Standard representation of pixel in the file + colormap = 0 + fp.write(struct.pack(">h", magic_number)) + fp.write(o8(rle)) + fp.write(o8(bpc)) + fp.write(struct.pack(">H", dim)) + fp.write(struct.pack(">H", x)) + fp.write(struct.pack(">H", y)) + fp.write(struct.pack(">H", z)) + fp.write(struct.pack(">l", pinmin)) + fp.write(struct.pack(">l", pinmax)) + fp.write(struct.pack("4s", b"")) # dummy + fp.write(struct.pack("79s", img_name)) # truncates to 79 chars + fp.write(struct.pack("s", b"")) # force null byte after img_name + fp.write(struct.pack(">l", colormap)) + fp.write(struct.pack("404s", b"")) # dummy + + rawmode = "L" + if bpc == 2: + rawmode = "L;16B" + + for channel in im.split(): + fp.write(channel.tobytes("raw", rawmode, 0, orientation)) + + if hasattr(fp, "flush"): + fp.flush() + + +class SGI16Decoder(ImageFile.PyDecoder): + _pulls_fd = True + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + assert self.fd is not None + assert self.im is not None + + rawmode, stride, orientation = self.args + pagesize = self.state.xsize * self.state.ysize + zsize = len(self.mode) + self.fd.seek(512) + + for band in range(zsize): + channel = Image.new("L", (self.state.xsize, self.state.ysize)) + channel.frombytes( + self.fd.read(2 * pagesize), "raw", "L;16B", stride, orientation + ) + self.im.putband(channel.im, band) + + return -1, 0 + + +# +# registry + + +Image.register_decoder("SGI16", SGI16Decoder) +Image.register_open(SgiImageFile.format, SgiImageFile, _accept) +Image.register_save(SgiImageFile.format, _save) +Image.register_mime(SgiImageFile.format, "image/sgi") + +Image.register_extensions(SgiImageFile.format, [".bw", ".rgb", ".rgba", ".sgi"]) + +# End of file diff --git a/venv/Lib/site-packages/PIL/SpiderImagePlugin.py b/venv/Lib/site-packages/PIL/SpiderImagePlugin.py new file mode 100644 index 00000000..075073f9 --- /dev/null +++ b/venv/Lib/site-packages/PIL/SpiderImagePlugin.py @@ -0,0 +1,329 @@ +# +# The Python Imaging Library. +# +# SPIDER image file handling +# +# History: +# 2004-08-02 Created BB +# 2006-03-02 added save method +# 2006-03-13 added support for stack images +# +# Copyright (c) 2004 by Health Research Inc. (HRI) RENSSELAER, NY 12144. +# Copyright (c) 2004 by William Baxter. +# Copyright (c) 2004 by Secret Labs AB. +# Copyright (c) 2004 by Fredrik Lundh. +# + +## +# Image plugin for the Spider image format. This format is used +# by the SPIDER software, in processing image data from electron +# microscopy and tomography. +## + +# +# SpiderImagePlugin.py +# +# The Spider image format is used by SPIDER software, in processing +# image data from electron microscopy and tomography. +# +# Spider home page: +# https://spider.wadsworth.org/spider_doc/spider/docs/spider.html +# +# Details about the Spider image format: +# https://spider.wadsworth.org/spider_doc/spider/docs/image_doc.html +# +from __future__ import annotations + +import os +import struct +import sys +from typing import IO, TYPE_CHECKING, Any, cast + +from . import Image, ImageFile + + +def isInt(f: Any) -> int: + try: + i = int(f) + if f - i == 0: + return 1 + else: + return 0 + except (ValueError, OverflowError): + return 0 + + +iforms = [1, 3, -11, -12, -21, -22] + + +# There is no magic number to identify Spider files, so just check a +# series of header locations to see if they have reasonable values. +# Returns no. of bytes in the header, if it is a valid Spider header, +# otherwise returns 0 + + +def isSpiderHeader(t: tuple[float, ...]) -> int: + h = (99,) + t # add 1 value so can use spider header index start=1 + # header values 1,2,5,12,13,22,23 should be integers + for i in [1, 2, 5, 12, 13, 22, 23]: + if not isInt(h[i]): + return 0 + # check iform + iform = int(h[5]) + if iform not in iforms: + return 0 + # check other header values + labrec = int(h[13]) # no. records in file header + labbyt = int(h[22]) # total no. of bytes in header + lenbyt = int(h[23]) # record length in bytes + if labbyt != (labrec * lenbyt): + return 0 + # looks like a valid header + return labbyt + + +def isSpiderImage(filename: str) -> int: + with open(filename, "rb") as fp: + f = fp.read(92) # read 23 * 4 bytes + t = struct.unpack(">23f", f) # try big-endian first + hdrlen = isSpiderHeader(t) + if hdrlen == 0: + t = struct.unpack("<23f", f) # little-endian + hdrlen = isSpiderHeader(t) + return hdrlen + + +class SpiderImageFile(ImageFile.ImageFile): + format = "SPIDER" + format_description = "Spider 2D image" + _close_exclusive_fp_after_loading = False + + def _open(self) -> None: + # check header + n = 27 * 4 # read 27 float values + f = self.fp.read(n) + + try: + self.bigendian = 1 + t = struct.unpack(">27f", f) # try big-endian first + hdrlen = isSpiderHeader(t) + if hdrlen == 0: + self.bigendian = 0 + t = struct.unpack("<27f", f) # little-endian + hdrlen = isSpiderHeader(t) + if hdrlen == 0: + msg = "not a valid Spider file" + raise SyntaxError(msg) + except struct.error as e: + msg = "not a valid Spider file" + raise SyntaxError(msg) from e + + h = (99,) + t # add 1 value : spider header index starts at 1 + iform = int(h[5]) + if iform != 1: + msg = "not a Spider 2D image" + raise SyntaxError(msg) + + self._size = int(h[12]), int(h[2]) # size in pixels (width, height) + self.istack = int(h[24]) + self.imgnumber = int(h[27]) + + if self.istack == 0 and self.imgnumber == 0: + # stk=0, img=0: a regular 2D image + offset = hdrlen + self._nimages = 1 + elif self.istack > 0 and self.imgnumber == 0: + # stk>0, img=0: Opening the stack for the first time + self.imgbytes = int(h[12]) * int(h[2]) * 4 + self.hdrlen = hdrlen + self._nimages = int(h[26]) + # Point to the first image in the stack + offset = hdrlen * 2 + self.imgnumber = 1 + elif self.istack == 0 and self.imgnumber > 0: + # stk=0, img>0: an image within the stack + offset = hdrlen + self.stkoffset + self.istack = 2 # So Image knows it's still a stack + else: + msg = "inconsistent stack header values" + raise SyntaxError(msg) + + if self.bigendian: + self.rawmode = "F;32BF" + else: + self.rawmode = "F;32F" + self._mode = "F" + + self.tile = [ + ImageFile._Tile("raw", (0, 0) + self.size, offset, (self.rawmode, 0, 1)) + ] + self._fp = self.fp # FIXME: hack + + @property + def n_frames(self) -> int: + return self._nimages + + @property + def is_animated(self) -> bool: + return self._nimages > 1 + + # 1st image index is zero (although SPIDER imgnumber starts at 1) + def tell(self) -> int: + if self.imgnumber < 1: + return 0 + else: + return self.imgnumber - 1 + + def seek(self, frame: int) -> None: + if self.istack == 0: + msg = "attempt to seek in a non-stack file" + raise EOFError(msg) + if not self._seek_check(frame): + return + self.stkoffset = self.hdrlen + frame * (self.hdrlen + self.imgbytes) + self.fp = self._fp + self.fp.seek(self.stkoffset) + self._open() + + # returns a byte image after rescaling to 0..255 + def convert2byte(self, depth: int = 255) -> Image.Image: + extrema = self.getextrema() + assert isinstance(extrema[0], float) + minimum, maximum = cast(tuple[float, float], extrema) + m: float = 1 + if maximum != minimum: + m = depth / (maximum - minimum) + b = -m * minimum + return self.point(lambda i: i * m + b).convert("L") + + if TYPE_CHECKING: + from . import ImageTk + + # returns a ImageTk.PhotoImage object, after rescaling to 0..255 + def tkPhotoImage(self) -> ImageTk.PhotoImage: + from . import ImageTk + + return ImageTk.PhotoImage(self.convert2byte(), palette=256) + + +# -------------------------------------------------------------------- +# Image series + + +# given a list of filenames, return a list of images +def loadImageSeries(filelist: list[str] | None = None) -> list[SpiderImageFile] | None: + """create a list of :py:class:`~PIL.Image.Image` objects for use in a montage""" + if filelist is None or len(filelist) < 1: + return None + + imglist = [] + for img in filelist: + if not os.path.exists(img): + print(f"unable to find {img}") + continue + try: + with Image.open(img) as im: + im = im.convert2byte() + except Exception: + if not isSpiderImage(img): + print(f"{img} is not a Spider image file") + continue + im.info["filename"] = img + imglist.append(im) + return imglist + + +# -------------------------------------------------------------------- +# For saving images in Spider format + + +def makeSpiderHeader(im: Image.Image) -> list[bytes]: + nsam, nrow = im.size + lenbyt = nsam * 4 # There are labrec records in the header + labrec = int(1024 / lenbyt) + if 1024 % lenbyt != 0: + labrec += 1 + labbyt = labrec * lenbyt + nvalues = int(labbyt / 4) + if nvalues < 23: + return [] + + hdr = [0.0] * nvalues + + # NB these are Fortran indices + hdr[1] = 1.0 # nslice (=1 for an image) + hdr[2] = float(nrow) # number of rows per slice + hdr[3] = float(nrow) # number of records in the image + hdr[5] = 1.0 # iform for 2D image + hdr[12] = float(nsam) # number of pixels per line + hdr[13] = float(labrec) # number of records in file header + hdr[22] = float(labbyt) # total number of bytes in header + hdr[23] = float(lenbyt) # record length in bytes + + # adjust for Fortran indexing + hdr = hdr[1:] + hdr.append(0.0) + # pack binary data into a string + return [struct.pack("f", v) for v in hdr] + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if im.mode[0] != "F": + im = im.convert("F") + + hdr = makeSpiderHeader(im) + if len(hdr) < 256: + msg = "Error creating Spider header" + raise OSError(msg) + + # write the SPIDER header + fp.writelines(hdr) + + rawmode = "F;32NF" # 32-bit native floating point + ImageFile._save( + im, fp, [ImageFile._Tile("raw", (0, 0) + im.size, 0, (rawmode, 0, 1))] + ) + + +def _save_spider(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + # get the filename extension and register it with Image + filename_ext = os.path.splitext(filename)[1] + ext = filename_ext.decode() if isinstance(filename_ext, bytes) else filename_ext + Image.register_extension(SpiderImageFile.format, ext) + _save(im, fp, filename) + + +# -------------------------------------------------------------------- + + +Image.register_open(SpiderImageFile.format, SpiderImageFile) +Image.register_save(SpiderImageFile.format, _save_spider) + +if __name__ == "__main__": + if len(sys.argv) < 2: + print("Syntax: python3 SpiderImagePlugin.py [infile] [outfile]") + sys.exit() + + filename = sys.argv[1] + if not isSpiderImage(filename): + print("input image must be in Spider format") + sys.exit() + + with Image.open(filename) as im: + print(f"image: {im}") + print(f"format: {im.format}") + print(f"size: {im.size}") + print(f"mode: {im.mode}") + print("max, min: ", end=" ") + print(im.getextrema()) + + if len(sys.argv) > 2: + outfile = sys.argv[2] + + # perform some image operation + im = im.transpose(Image.Transpose.FLIP_LEFT_RIGHT) + print( + f"saving a flipped version of {os.path.basename(filename)} " + f"as {outfile} " + ) + im.save(outfile, SpiderImageFile.format) diff --git a/venv/Lib/site-packages/PIL/SunImagePlugin.py b/venv/Lib/site-packages/PIL/SunImagePlugin.py new file mode 100644 index 00000000..8912379e --- /dev/null +++ b/venv/Lib/site-packages/PIL/SunImagePlugin.py @@ -0,0 +1,145 @@ +# +# The Python Imaging Library. +# $Id$ +# +# Sun image file handling +# +# History: +# 1995-09-10 fl Created +# 1996-05-28 fl Fixed 32-bit alignment +# 1998-12-29 fl Import ImagePalette module +# 2001-12-18 fl Fixed palette loading (from Jean-Claude Rimbault) +# +# Copyright (c) 1997-2001 by Secret Labs AB +# Copyright (c) 1995-1996 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from . import Image, ImageFile, ImagePalette +from ._binary import i32be as i32 + + +def _accept(prefix: bytes) -> bool: + return len(prefix) >= 4 and i32(prefix) == 0x59A66A95 + + +## +# Image plugin for Sun raster files. + + +class SunImageFile(ImageFile.ImageFile): + format = "SUN" + format_description = "Sun Raster File" + + def _open(self) -> None: + # The Sun Raster file header is 32 bytes in length + # and has the following format: + + # typedef struct _SunRaster + # { + # DWORD MagicNumber; /* Magic (identification) number */ + # DWORD Width; /* Width of image in pixels */ + # DWORD Height; /* Height of image in pixels */ + # DWORD Depth; /* Number of bits per pixel */ + # DWORD Length; /* Size of image data in bytes */ + # DWORD Type; /* Type of raster file */ + # DWORD ColorMapType; /* Type of color map */ + # DWORD ColorMapLength; /* Size of the color map in bytes */ + # } SUNRASTER; + + assert self.fp is not None + + # HEAD + s = self.fp.read(32) + if not _accept(s): + msg = "not an SUN raster file" + raise SyntaxError(msg) + + offset = 32 + + self._size = i32(s, 4), i32(s, 8) + + depth = i32(s, 12) + # data_length = i32(s, 16) # unreliable, ignore. + file_type = i32(s, 20) + palette_type = i32(s, 24) # 0: None, 1: RGB, 2: Raw/arbitrary + palette_length = i32(s, 28) + + if depth == 1: + self._mode, rawmode = "1", "1;I" + elif depth == 4: + self._mode, rawmode = "L", "L;4" + elif depth == 8: + self._mode = rawmode = "L" + elif depth == 24: + if file_type == 3: + self._mode, rawmode = "RGB", "RGB" + else: + self._mode, rawmode = "RGB", "BGR" + elif depth == 32: + if file_type == 3: + self._mode, rawmode = "RGB", "RGBX" + else: + self._mode, rawmode = "RGB", "BGRX" + else: + msg = "Unsupported Mode/Bit Depth" + raise SyntaxError(msg) + + if palette_length: + if palette_length > 1024: + msg = "Unsupported Color Palette Length" + raise SyntaxError(msg) + + if palette_type != 1: + msg = "Unsupported Palette Type" + raise SyntaxError(msg) + + offset = offset + palette_length + self.palette = ImagePalette.raw("RGB;L", self.fp.read(palette_length)) + if self.mode == "L": + self._mode = "P" + rawmode = rawmode.replace("L", "P") + + # 16 bit boundaries on stride + stride = ((self.size[0] * depth + 15) // 16) * 2 + + # file type: Type is the version (or flavor) of the bitmap + # file. The following values are typically found in the Type + # field: + # 0000h Old + # 0001h Standard + # 0002h Byte-encoded + # 0003h RGB format + # 0004h TIFF format + # 0005h IFF format + # FFFFh Experimental + + # Old and standard are the same, except for the length tag. + # byte-encoded is run-length-encoded + # RGB looks similar to standard, but RGB byte order + # TIFF and IFF mean that they were converted from T/IFF + # Experimental means that it's something else. + # (https://www.fileformat.info/format/sunraster/egff.htm) + + if file_type in (0, 1, 3, 4, 5): + self.tile = [ + ImageFile._Tile("raw", (0, 0) + self.size, offset, (rawmode, stride)) + ] + elif file_type == 2: + self.tile = [ + ImageFile._Tile("sun_rle", (0, 0) + self.size, offset, rawmode) + ] + else: + msg = "Unsupported Sun Raster file type" + raise SyntaxError(msg) + + +# +# registry + + +Image.register_open(SunImageFile.format, SunImageFile, _accept) + +Image.register_extension(SunImageFile.format, ".ras") diff --git a/venv/Lib/site-packages/PIL/TarIO.py b/venv/Lib/site-packages/PIL/TarIO.py new file mode 100644 index 00000000..779288b1 --- /dev/null +++ b/venv/Lib/site-packages/PIL/TarIO.py @@ -0,0 +1,57 @@ +# +# The Python Imaging Library. +# $Id$ +# +# read files from within a tar file +# +# History: +# 95-06-18 fl Created +# 96-05-28 fl Open files in binary mode +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1995-96. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io + +from . import ContainerIO + + +class TarIO(ContainerIO.ContainerIO[bytes]): + """A file object that provides read access to a given member of a TAR file.""" + + def __init__(self, tarfile: str, file: str) -> None: + """ + Create file object. + + :param tarfile: Name of TAR file. + :param file: Name of member file. + """ + self.fh = open(tarfile, "rb") + + while True: + s = self.fh.read(512) + if len(s) != 512: + msg = "unexpected end of tar file" + raise OSError(msg) + + name = s[:100].decode("utf-8") + i = name.find("\0") + if i == 0: + msg = "cannot find subfile" + raise OSError(msg) + if i > 0: + name = name[:i] + + size = int(s[124:135], 8) + + if file == name: + break + + self.fh.seek((size + 511) & (~511), io.SEEK_CUR) + + # Open region + super().__init__(self.fh, self.fh.tell(), size) diff --git a/venv/Lib/site-packages/PIL/TgaImagePlugin.py b/venv/Lib/site-packages/PIL/TgaImagePlugin.py new file mode 100644 index 00000000..90d5b5cf --- /dev/null +++ b/venv/Lib/site-packages/PIL/TgaImagePlugin.py @@ -0,0 +1,264 @@ +# +# The Python Imaging Library. +# $Id$ +# +# TGA file handling +# +# History: +# 95-09-01 fl created (reads 24-bit files only) +# 97-01-04 fl support more TGA versions, including compressed images +# 98-07-04 fl fixed orientation and alpha layer bugs +# 98-09-11 fl fixed orientation for runlength decoder +# +# Copyright (c) Secret Labs AB 1997-98. +# Copyright (c) Fredrik Lundh 1995-97. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import warnings +from typing import IO + +from . import Image, ImageFile, ImagePalette +from ._binary import i16le as i16 +from ._binary import o8 +from ._binary import o16le as o16 + +# +# -------------------------------------------------------------------- +# Read RGA file + + +MODES = { + # map imagetype/depth to rawmode + (1, 8): "P", + (3, 1): "1", + (3, 8): "L", + (3, 16): "LA", + (2, 16): "BGRA;15Z", + (2, 24): "BGR", + (2, 32): "BGRA", +} + + +## +# Image plugin for Targa files. + + +class TgaImageFile(ImageFile.ImageFile): + format = "TGA" + format_description = "Targa" + + def _open(self) -> None: + # process header + assert self.fp is not None + + s = self.fp.read(18) + + id_len = s[0] + + colormaptype = s[1] + imagetype = s[2] + + depth = s[16] + + flags = s[17] + + self._size = i16(s, 12), i16(s, 14) + + # validate header fields + if ( + colormaptype not in (0, 1) + or self.size[0] <= 0 + or self.size[1] <= 0 + or depth not in (1, 8, 16, 24, 32) + ): + msg = "not a TGA file" + raise SyntaxError(msg) + + # image mode + if imagetype in (3, 11): + self._mode = "L" + if depth == 1: + self._mode = "1" # ??? + elif depth == 16: + self._mode = "LA" + elif imagetype in (1, 9): + self._mode = "P" if colormaptype else "L" + elif imagetype in (2, 10): + self._mode = "RGB" if depth == 24 else "RGBA" + else: + msg = "unknown TGA mode" + raise SyntaxError(msg) + + # orientation + orientation = flags & 0x30 + self._flip_horizontally = orientation in [0x10, 0x30] + if orientation in [0x20, 0x30]: + orientation = 1 + elif orientation in [0, 0x10]: + orientation = -1 + else: + msg = "unknown TGA orientation" + raise SyntaxError(msg) + + self.info["orientation"] = orientation + + if imagetype & 8: + self.info["compression"] = "tga_rle" + + if id_len: + self.info["id_section"] = self.fp.read(id_len) + + if colormaptype: + # read palette + start, size, mapdepth = i16(s, 3), i16(s, 5), s[7] + if mapdepth == 16: + self.palette = ImagePalette.raw( + "BGRA;15Z", bytes(2 * start) + self.fp.read(2 * size) + ) + self.palette.mode = "RGBA" + elif mapdepth == 24: + self.palette = ImagePalette.raw( + "BGR", bytes(3 * start) + self.fp.read(3 * size) + ) + elif mapdepth == 32: + self.palette = ImagePalette.raw( + "BGRA", bytes(4 * start) + self.fp.read(4 * size) + ) + else: + msg = "unknown TGA map depth" + raise SyntaxError(msg) + + # setup tile descriptor + try: + rawmode = MODES[(imagetype & 7, depth)] + if imagetype & 8: + # compressed + self.tile = [ + ImageFile._Tile( + "tga_rle", + (0, 0) + self.size, + self.fp.tell(), + (rawmode, orientation, depth), + ) + ] + else: + self.tile = [ + ImageFile._Tile( + "raw", + (0, 0) + self.size, + self.fp.tell(), + (rawmode, 0, orientation), + ) + ] + except KeyError: + pass # cannot decode + + def load_end(self) -> None: + if self._flip_horizontally: + self.im = self.im.transpose(Image.Transpose.FLIP_LEFT_RIGHT) + + +# +# -------------------------------------------------------------------- +# Write TGA file + + +SAVE = { + "1": ("1", 1, 0, 3), + "L": ("L", 8, 0, 3), + "LA": ("LA", 16, 0, 3), + "P": ("P", 8, 1, 1), + "RGB": ("BGR", 24, 0, 2), + "RGBA": ("BGRA", 32, 0, 2), +} + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + try: + rawmode, bits, colormaptype, imagetype = SAVE[im.mode] + except KeyError as e: + msg = f"cannot write mode {im.mode} as TGA" + raise OSError(msg) from e + + if "rle" in im.encoderinfo: + rle = im.encoderinfo["rle"] + else: + compression = im.encoderinfo.get("compression", im.info.get("compression")) + rle = compression == "tga_rle" + if rle: + imagetype += 8 + + id_section = im.encoderinfo.get("id_section", im.info.get("id_section", "")) + id_len = len(id_section) + if id_len > 255: + id_len = 255 + id_section = id_section[:255] + warnings.warn("id_section has been trimmed to 255 characters") + + if colormaptype: + palette = im.im.getpalette("RGB", "BGR") + colormaplength, colormapentry = len(palette) // 3, 24 + else: + colormaplength, colormapentry = 0, 0 + + if im.mode in ("LA", "RGBA"): + flags = 8 + else: + flags = 0 + + orientation = im.encoderinfo.get("orientation", im.info.get("orientation", -1)) + if orientation > 0: + flags = flags | 0x20 + + fp.write( + o8(id_len) + + o8(colormaptype) + + o8(imagetype) + + o16(0) # colormapfirst + + o16(colormaplength) + + o8(colormapentry) + + o16(0) + + o16(0) + + o16(im.size[0]) + + o16(im.size[1]) + + o8(bits) + + o8(flags) + ) + + if id_section: + fp.write(id_section) + + if colormaptype: + fp.write(palette) + + if rle: + ImageFile._save( + im, + fp, + [ImageFile._Tile("tga_rle", (0, 0) + im.size, 0, (rawmode, orientation))], + ) + else: + ImageFile._save( + im, + fp, + [ImageFile._Tile("raw", (0, 0) + im.size, 0, (rawmode, 0, orientation))], + ) + + # write targa version 2 footer + fp.write(b"\000" * 8 + b"TRUEVISION-XFILE." + b"\000") + + +# +# -------------------------------------------------------------------- +# Registry + + +Image.register_open(TgaImageFile.format, TgaImageFile) +Image.register_save(TgaImageFile.format, _save) + +Image.register_extensions(TgaImageFile.format, [".tga", ".icb", ".vda", ".vst"]) + +Image.register_mime(TgaImageFile.format, "image/x-tga") diff --git a/venv/Lib/site-packages/PIL/TiffImagePlugin.py b/venv/Lib/site-packages/PIL/TiffImagePlugin.py new file mode 100644 index 00000000..ff5a6f9e --- /dev/null +++ b/venv/Lib/site-packages/PIL/TiffImagePlugin.py @@ -0,0 +1,2271 @@ +# +# The Python Imaging Library. +# $Id$ +# +# TIFF file handling +# +# TIFF is a flexible, if somewhat aged, image file format originally +# defined by Aldus. Although TIFF supports a wide variety of pixel +# layouts and compression methods, the name doesn't really stand for +# "thousands of incompatible file formats," it just feels that way. +# +# To read TIFF data from a stream, the stream must be seekable. For +# progressive decoding, make sure to use TIFF files where the tag +# directory is placed first in the file. +# +# History: +# 1995-09-01 fl Created +# 1996-05-04 fl Handle JPEGTABLES tag +# 1996-05-18 fl Fixed COLORMAP support +# 1997-01-05 fl Fixed PREDICTOR support +# 1997-08-27 fl Added support for rational tags (from Perry Stoll) +# 1998-01-10 fl Fixed seek/tell (from Jan Blom) +# 1998-07-15 fl Use private names for internal variables +# 1999-06-13 fl Rewritten for PIL 1.0 (1.0) +# 2000-10-11 fl Additional fixes for Python 2.0 (1.1) +# 2001-04-17 fl Fixed rewind support (seek to frame 0) (1.2) +# 2001-05-12 fl Added write support for more tags (from Greg Couch) (1.3) +# 2001-12-18 fl Added workaround for broken Matrox library +# 2002-01-18 fl Don't mess up if photometric tag is missing (D. Alan Stewart) +# 2003-05-19 fl Check FILLORDER tag +# 2003-09-26 fl Added RGBa support +# 2004-02-24 fl Added DPI support; fixed rational write support +# 2005-02-07 fl Added workaround for broken Corel Draw 10 files +# 2006-01-09 fl Added support for float/double tags (from Russell Nelson) +# +# Copyright (c) 1997-2006 by Secret Labs AB. All rights reserved. +# Copyright (c) 1995-1997 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io +import itertools +import logging +import math +import os +import struct +import warnings +from collections.abc import Iterator, MutableMapping +from fractions import Fraction +from numbers import Number, Rational +from typing import IO, TYPE_CHECKING, Any, Callable, NoReturn, cast + +from . import ExifTags, Image, ImageFile, ImageOps, ImagePalette, TiffTags +from ._binary import i16be as i16 +from ._binary import i32be as i32 +from ._binary import o8 +from ._deprecate import deprecate +from ._typing import StrOrBytesPath +from ._util import is_path +from .TiffTags import TYPES + +if TYPE_CHECKING: + from ._typing import Buffer, IntegralLike + +logger = logging.getLogger(__name__) + +# Set these to true to force use of libtiff for reading or writing. +READ_LIBTIFF = False +WRITE_LIBTIFF = False +STRIP_SIZE = 65536 + +II = b"II" # little-endian (Intel style) +MM = b"MM" # big-endian (Motorola style) + +# +# -------------------------------------------------------------------- +# Read TIFF files + +# a few tag names, just to make the code below a bit more readable +OSUBFILETYPE = 255 +IMAGEWIDTH = 256 +IMAGELENGTH = 257 +BITSPERSAMPLE = 258 +COMPRESSION = 259 +PHOTOMETRIC_INTERPRETATION = 262 +FILLORDER = 266 +IMAGEDESCRIPTION = 270 +STRIPOFFSETS = 273 +SAMPLESPERPIXEL = 277 +ROWSPERSTRIP = 278 +STRIPBYTECOUNTS = 279 +X_RESOLUTION = 282 +Y_RESOLUTION = 283 +PLANAR_CONFIGURATION = 284 +RESOLUTION_UNIT = 296 +TRANSFERFUNCTION = 301 +SOFTWARE = 305 +DATE_TIME = 306 +ARTIST = 315 +PREDICTOR = 317 +COLORMAP = 320 +TILEWIDTH = 322 +TILELENGTH = 323 +TILEOFFSETS = 324 +TILEBYTECOUNTS = 325 +SUBIFD = 330 +EXTRASAMPLES = 338 +SAMPLEFORMAT = 339 +JPEGTABLES = 347 +YCBCRSUBSAMPLING = 530 +REFERENCEBLACKWHITE = 532 +COPYRIGHT = 33432 +IPTC_NAA_CHUNK = 33723 # newsphoto properties +PHOTOSHOP_CHUNK = 34377 # photoshop properties +ICCPROFILE = 34675 +EXIFIFD = 34665 +XMP = 700 +JPEGQUALITY = 65537 # pseudo-tag by libtiff + +# https://github.com/imagej/ImageJA/blob/master/src/main/java/ij/io/TiffDecoder.java +IMAGEJ_META_DATA_BYTE_COUNTS = 50838 +IMAGEJ_META_DATA = 50839 + +COMPRESSION_INFO = { + # Compression => pil compression name + 1: "raw", + 2: "tiff_ccitt", + 3: "group3", + 4: "group4", + 5: "tiff_lzw", + 6: "tiff_jpeg", # obsolete + 7: "jpeg", + 8: "tiff_adobe_deflate", + 32771: "tiff_raw_16", # 16-bit padding + 32773: "packbits", + 32809: "tiff_thunderscan", + 32946: "tiff_deflate", + 34676: "tiff_sgilog", + 34677: "tiff_sgilog24", + 34925: "lzma", + 50000: "zstd", + 50001: "webp", +} + +COMPRESSION_INFO_REV = {v: k for k, v in COMPRESSION_INFO.items()} + +OPEN_INFO = { + # (ByteOrder, PhotoInterpretation, SampleFormat, FillOrder, BitsPerSample, + # ExtraSamples) => mode, rawmode + (II, 0, (1,), 1, (1,), ()): ("1", "1;I"), + (MM, 0, (1,), 1, (1,), ()): ("1", "1;I"), + (II, 0, (1,), 2, (1,), ()): ("1", "1;IR"), + (MM, 0, (1,), 2, (1,), ()): ("1", "1;IR"), + (II, 1, (1,), 1, (1,), ()): ("1", "1"), + (MM, 1, (1,), 1, (1,), ()): ("1", "1"), + (II, 1, (1,), 2, (1,), ()): ("1", "1;R"), + (MM, 1, (1,), 2, (1,), ()): ("1", "1;R"), + (II, 0, (1,), 1, (2,), ()): ("L", "L;2I"), + (MM, 0, (1,), 1, (2,), ()): ("L", "L;2I"), + (II, 0, (1,), 2, (2,), ()): ("L", "L;2IR"), + (MM, 0, (1,), 2, (2,), ()): ("L", "L;2IR"), + (II, 1, (1,), 1, (2,), ()): ("L", "L;2"), + (MM, 1, (1,), 1, (2,), ()): ("L", "L;2"), + (II, 1, (1,), 2, (2,), ()): ("L", "L;2R"), + (MM, 1, (1,), 2, (2,), ()): ("L", "L;2R"), + (II, 0, (1,), 1, (4,), ()): ("L", "L;4I"), + (MM, 0, (1,), 1, (4,), ()): ("L", "L;4I"), + (II, 0, (1,), 2, (4,), ()): ("L", "L;4IR"), + (MM, 0, (1,), 2, (4,), ()): ("L", "L;4IR"), + (II, 1, (1,), 1, (4,), ()): ("L", "L;4"), + (MM, 1, (1,), 1, (4,), ()): ("L", "L;4"), + (II, 1, (1,), 2, (4,), ()): ("L", "L;4R"), + (MM, 1, (1,), 2, (4,), ()): ("L", "L;4R"), + (II, 0, (1,), 1, (8,), ()): ("L", "L;I"), + (MM, 0, (1,), 1, (8,), ()): ("L", "L;I"), + (II, 0, (1,), 2, (8,), ()): ("L", "L;IR"), + (MM, 0, (1,), 2, (8,), ()): ("L", "L;IR"), + (II, 1, (1,), 1, (8,), ()): ("L", "L"), + (MM, 1, (1,), 1, (8,), ()): ("L", "L"), + (II, 1, (2,), 1, (8,), ()): ("L", "L"), + (MM, 1, (2,), 1, (8,), ()): ("L", "L"), + (II, 1, (1,), 2, (8,), ()): ("L", "L;R"), + (MM, 1, (1,), 2, (8,), ()): ("L", "L;R"), + (II, 1, (1,), 1, (12,), ()): ("I;16", "I;12"), + (II, 0, (1,), 1, (16,), ()): ("I;16", "I;16"), + (II, 1, (1,), 1, (16,), ()): ("I;16", "I;16"), + (MM, 1, (1,), 1, (16,), ()): ("I;16B", "I;16B"), + (II, 1, (1,), 2, (16,), ()): ("I;16", "I;16R"), + (II, 1, (2,), 1, (16,), ()): ("I", "I;16S"), + (MM, 1, (2,), 1, (16,), ()): ("I", "I;16BS"), + (II, 0, (3,), 1, (32,), ()): ("F", "F;32F"), + (MM, 0, (3,), 1, (32,), ()): ("F", "F;32BF"), + (II, 1, (1,), 1, (32,), ()): ("I", "I;32N"), + (II, 1, (2,), 1, (32,), ()): ("I", "I;32S"), + (MM, 1, (2,), 1, (32,), ()): ("I", "I;32BS"), + (II, 1, (3,), 1, (32,), ()): ("F", "F;32F"), + (MM, 1, (3,), 1, (32,), ()): ("F", "F;32BF"), + (II, 1, (1,), 1, (8, 8), (2,)): ("LA", "LA"), + (MM, 1, (1,), 1, (8, 8), (2,)): ("LA", "LA"), + (II, 2, (1,), 1, (8, 8, 8), ()): ("RGB", "RGB"), + (MM, 2, (1,), 1, (8, 8, 8), ()): ("RGB", "RGB"), + (II, 2, (1,), 2, (8, 8, 8), ()): ("RGB", "RGB;R"), + (MM, 2, (1,), 2, (8, 8, 8), ()): ("RGB", "RGB;R"), + (II, 2, (1,), 1, (8, 8, 8, 8), ()): ("RGBA", "RGBA"), # missing ExtraSamples + (MM, 2, (1,), 1, (8, 8, 8, 8), ()): ("RGBA", "RGBA"), # missing ExtraSamples + (II, 2, (1,), 1, (8, 8, 8, 8), (0,)): ("RGB", "RGBX"), + (MM, 2, (1,), 1, (8, 8, 8, 8), (0,)): ("RGB", "RGBX"), + (II, 2, (1,), 1, (8, 8, 8, 8, 8), (0, 0)): ("RGB", "RGBXX"), + (MM, 2, (1,), 1, (8, 8, 8, 8, 8), (0, 0)): ("RGB", "RGBXX"), + (II, 2, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0, 0)): ("RGB", "RGBXXX"), + (MM, 2, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0, 0)): ("RGB", "RGBXXX"), + (II, 2, (1,), 1, (8, 8, 8, 8), (1,)): ("RGBA", "RGBa"), + (MM, 2, (1,), 1, (8, 8, 8, 8), (1,)): ("RGBA", "RGBa"), + (II, 2, (1,), 1, (8, 8, 8, 8, 8), (1, 0)): ("RGBA", "RGBaX"), + (MM, 2, (1,), 1, (8, 8, 8, 8, 8), (1, 0)): ("RGBA", "RGBaX"), + (II, 2, (1,), 1, (8, 8, 8, 8, 8, 8), (1, 0, 0)): ("RGBA", "RGBaXX"), + (MM, 2, (1,), 1, (8, 8, 8, 8, 8, 8), (1, 0, 0)): ("RGBA", "RGBaXX"), + (II, 2, (1,), 1, (8, 8, 8, 8), (2,)): ("RGBA", "RGBA"), + (MM, 2, (1,), 1, (8, 8, 8, 8), (2,)): ("RGBA", "RGBA"), + (II, 2, (1,), 1, (8, 8, 8, 8, 8), (2, 0)): ("RGBA", "RGBAX"), + (MM, 2, (1,), 1, (8, 8, 8, 8, 8), (2, 0)): ("RGBA", "RGBAX"), + (II, 2, (1,), 1, (8, 8, 8, 8, 8, 8), (2, 0, 0)): ("RGBA", "RGBAXX"), + (MM, 2, (1,), 1, (8, 8, 8, 8, 8, 8), (2, 0, 0)): ("RGBA", "RGBAXX"), + (II, 2, (1,), 1, (8, 8, 8, 8), (999,)): ("RGBA", "RGBA"), # Corel Draw 10 + (MM, 2, (1,), 1, (8, 8, 8, 8), (999,)): ("RGBA", "RGBA"), # Corel Draw 10 + (II, 2, (1,), 1, (16, 16, 16), ()): ("RGB", "RGB;16L"), + (MM, 2, (1,), 1, (16, 16, 16), ()): ("RGB", "RGB;16B"), + (II, 2, (1,), 1, (16, 16, 16, 16), ()): ("RGBA", "RGBA;16L"), + (MM, 2, (1,), 1, (16, 16, 16, 16), ()): ("RGBA", "RGBA;16B"), + (II, 2, (1,), 1, (16, 16, 16, 16), (0,)): ("RGB", "RGBX;16L"), + (MM, 2, (1,), 1, (16, 16, 16, 16), (0,)): ("RGB", "RGBX;16B"), + (II, 2, (1,), 1, (16, 16, 16, 16), (1,)): ("RGBA", "RGBa;16L"), + (MM, 2, (1,), 1, (16, 16, 16, 16), (1,)): ("RGBA", "RGBa;16B"), + (II, 2, (1,), 1, (16, 16, 16, 16), (2,)): ("RGBA", "RGBA;16L"), + (MM, 2, (1,), 1, (16, 16, 16, 16), (2,)): ("RGBA", "RGBA;16B"), + (II, 3, (1,), 1, (1,), ()): ("P", "P;1"), + (MM, 3, (1,), 1, (1,), ()): ("P", "P;1"), + (II, 3, (1,), 2, (1,), ()): ("P", "P;1R"), + (MM, 3, (1,), 2, (1,), ()): ("P", "P;1R"), + (II, 3, (1,), 1, (2,), ()): ("P", "P;2"), + (MM, 3, (1,), 1, (2,), ()): ("P", "P;2"), + (II, 3, (1,), 2, (2,), ()): ("P", "P;2R"), + (MM, 3, (1,), 2, (2,), ()): ("P", "P;2R"), + (II, 3, (1,), 1, (4,), ()): ("P", "P;4"), + (MM, 3, (1,), 1, (4,), ()): ("P", "P;4"), + (II, 3, (1,), 2, (4,), ()): ("P", "P;4R"), + (MM, 3, (1,), 2, (4,), ()): ("P", "P;4R"), + (II, 3, (1,), 1, (8,), ()): ("P", "P"), + (MM, 3, (1,), 1, (8,), ()): ("P", "P"), + (II, 3, (1,), 1, (8, 8), (0,)): ("P", "PX"), + (II, 3, (1,), 1, (8, 8), (2,)): ("PA", "PA"), + (MM, 3, (1,), 1, (8, 8), (2,)): ("PA", "PA"), + (II, 3, (1,), 2, (8,), ()): ("P", "P;R"), + (MM, 3, (1,), 2, (8,), ()): ("P", "P;R"), + (II, 5, (1,), 1, (8, 8, 8, 8), ()): ("CMYK", "CMYK"), + (MM, 5, (1,), 1, (8, 8, 8, 8), ()): ("CMYK", "CMYK"), + (II, 5, (1,), 1, (8, 8, 8, 8, 8), (0,)): ("CMYK", "CMYKX"), + (MM, 5, (1,), 1, (8, 8, 8, 8, 8), (0,)): ("CMYK", "CMYKX"), + (II, 5, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0)): ("CMYK", "CMYKXX"), + (MM, 5, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0)): ("CMYK", "CMYKXX"), + (II, 5, (1,), 1, (16, 16, 16, 16), ()): ("CMYK", "CMYK;16L"), + (MM, 5, (1,), 1, (16, 16, 16, 16), ()): ("CMYK", "CMYK;16B"), + (II, 6, (1,), 1, (8,), ()): ("L", "L"), + (MM, 6, (1,), 1, (8,), ()): ("L", "L"), + # JPEG compressed images handled by LibTiff and auto-converted to RGBX + # Minimal Baseline TIFF requires YCbCr images to have 3 SamplesPerPixel + (II, 6, (1,), 1, (8, 8, 8), ()): ("RGB", "RGBX"), + (MM, 6, (1,), 1, (8, 8, 8), ()): ("RGB", "RGBX"), + (II, 8, (1,), 1, (8, 8, 8), ()): ("LAB", "LAB"), + (MM, 8, (1,), 1, (8, 8, 8), ()): ("LAB", "LAB"), +} + +MAX_SAMPLESPERPIXEL = max(len(key_tp[4]) for key_tp in OPEN_INFO) + +PREFIXES = [ + b"MM\x00\x2A", # Valid TIFF header with big-endian byte order + b"II\x2A\x00", # Valid TIFF header with little-endian byte order + b"MM\x2A\x00", # Invalid TIFF header, assume big-endian + b"II\x00\x2A", # Invalid TIFF header, assume little-endian + b"MM\x00\x2B", # BigTIFF with big-endian byte order + b"II\x2B\x00", # BigTIFF with little-endian byte order +] + +if not getattr(Image.core, "libtiff_support_custom_tags", True): + deprecate("Support for LibTIFF earlier than version 4", 12) + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] in PREFIXES + + +def _limit_rational( + val: float | Fraction | IFDRational, max_val: int +) -> tuple[IntegralLike, IntegralLike]: + inv = abs(float(val)) > 1 + n_d = IFDRational(1 / val if inv else val).limit_rational(max_val) + return n_d[::-1] if inv else n_d + + +def _limit_signed_rational( + val: IFDRational, max_val: int, min_val: int +) -> tuple[IntegralLike, IntegralLike]: + frac = Fraction(val) + n_d: tuple[IntegralLike, IntegralLike] = frac.numerator, frac.denominator + + if min(float(i) for i in n_d) < min_val: + n_d = _limit_rational(val, abs(min_val)) + + n_d_float = tuple(float(i) for i in n_d) + if max(n_d_float) > max_val: + n_d = _limit_rational(n_d_float[0] / n_d_float[1], max_val) + + return n_d + + +## +# Wrapper for TIFF IFDs. + +_load_dispatch = {} +_write_dispatch = {} + + +def _delegate(op: str) -> Any: + def delegate( + self: IFDRational, *args: tuple[float, ...] + ) -> bool | float | Fraction: + return getattr(self._val, op)(*args) + + return delegate + + +class IFDRational(Rational): + """Implements a rational class where 0/0 is a legal value to match + the in the wild use of exif rationals. + + e.g., DigitalZoomRatio - 0.00/0.00 indicates that no digital zoom was used + """ + + """ If the denominator is 0, store this as a float('nan'), otherwise store + as a fractions.Fraction(). Delegate as appropriate + + """ + + __slots__ = ("_numerator", "_denominator", "_val") + + def __init__( + self, value: float | Fraction | IFDRational, denominator: int = 1 + ) -> None: + """ + :param value: either an integer numerator, a + float/rational/other number, or an IFDRational + :param denominator: Optional integer denominator + """ + self._val: Fraction | float + if isinstance(value, IFDRational): + self._numerator = value.numerator + self._denominator = value.denominator + self._val = value._val + return + + if isinstance(value, Fraction): + self._numerator = value.numerator + self._denominator = value.denominator + else: + if TYPE_CHECKING: + self._numerator = cast(IntegralLike, value) + else: + self._numerator = value + self._denominator = denominator + + if denominator == 0: + self._val = float("nan") + elif denominator == 1: + self._val = Fraction(value) + elif int(value) == value: + self._val = Fraction(int(value), denominator) + else: + self._val = Fraction(value / denominator) + + @property + def numerator(self) -> IntegralLike: + return self._numerator + + @property + def denominator(self) -> int: + return self._denominator + + def limit_rational(self, max_denominator: int) -> tuple[IntegralLike, int]: + """ + + :param max_denominator: Integer, the maximum denominator value + :returns: Tuple of (numerator, denominator) + """ + + if self.denominator == 0: + return self.numerator, self.denominator + + assert isinstance(self._val, Fraction) + f = self._val.limit_denominator(max_denominator) + return f.numerator, f.denominator + + def __repr__(self) -> str: + return str(float(self._val)) + + def __hash__(self) -> int: + return self._val.__hash__() + + def __eq__(self, other: object) -> bool: + val = self._val + if isinstance(other, IFDRational): + other = other._val + if isinstance(other, float): + val = float(val) + return val == other + + def __getstate__(self) -> list[float | Fraction | IntegralLike]: + return [self._val, self._numerator, self._denominator] + + def __setstate__(self, state: list[float | Fraction | IntegralLike]) -> None: + IFDRational.__init__(self, 0) + _val, _numerator, _denominator = state + assert isinstance(_val, (float, Fraction)) + self._val = _val + if TYPE_CHECKING: + self._numerator = cast(IntegralLike, _numerator) + else: + self._numerator = _numerator + assert isinstance(_denominator, int) + self._denominator = _denominator + + """ a = ['add','radd', 'sub', 'rsub', 'mul', 'rmul', + 'truediv', 'rtruediv', 'floordiv', 'rfloordiv', + 'mod','rmod', 'pow','rpow', 'pos', 'neg', + 'abs', 'trunc', 'lt', 'gt', 'le', 'ge', 'bool', + 'ceil', 'floor', 'round'] + print("\n".join("__%s__ = _delegate('__%s__')" % (s,s) for s in a)) + """ + + __add__ = _delegate("__add__") + __radd__ = _delegate("__radd__") + __sub__ = _delegate("__sub__") + __rsub__ = _delegate("__rsub__") + __mul__ = _delegate("__mul__") + __rmul__ = _delegate("__rmul__") + __truediv__ = _delegate("__truediv__") + __rtruediv__ = _delegate("__rtruediv__") + __floordiv__ = _delegate("__floordiv__") + __rfloordiv__ = _delegate("__rfloordiv__") + __mod__ = _delegate("__mod__") + __rmod__ = _delegate("__rmod__") + __pow__ = _delegate("__pow__") + __rpow__ = _delegate("__rpow__") + __pos__ = _delegate("__pos__") + __neg__ = _delegate("__neg__") + __abs__ = _delegate("__abs__") + __trunc__ = _delegate("__trunc__") + __lt__ = _delegate("__lt__") + __gt__ = _delegate("__gt__") + __le__ = _delegate("__le__") + __ge__ = _delegate("__ge__") + __bool__ = _delegate("__bool__") + __ceil__ = _delegate("__ceil__") + __floor__ = _delegate("__floor__") + __round__ = _delegate("__round__") + # Python >= 3.11 + if hasattr(Fraction, "__int__"): + __int__ = _delegate("__int__") + + +_LoaderFunc = Callable[["ImageFileDirectory_v2", bytes, bool], Any] + + +def _register_loader(idx: int, size: int) -> Callable[[_LoaderFunc], _LoaderFunc]: + def decorator(func: _LoaderFunc) -> _LoaderFunc: + from .TiffTags import TYPES + + if func.__name__.startswith("load_"): + TYPES[idx] = func.__name__[5:].replace("_", " ") + _load_dispatch[idx] = size, func # noqa: F821 + return func + + return decorator + + +def _register_writer(idx: int) -> Callable[[Callable[..., Any]], Callable[..., Any]]: + def decorator(func: Callable[..., Any]) -> Callable[..., Any]: + _write_dispatch[idx] = func # noqa: F821 + return func + + return decorator + + +def _register_basic(idx_fmt_name: tuple[int, str, str]) -> None: + from .TiffTags import TYPES + + idx, fmt, name = idx_fmt_name + TYPES[idx] = name + size = struct.calcsize(f"={fmt}") + + def basic_handler( + self: ImageFileDirectory_v2, data: bytes, legacy_api: bool = True + ) -> tuple[Any, ...]: + return self._unpack(f"{len(data) // size}{fmt}", data) + + _load_dispatch[idx] = size, basic_handler # noqa: F821 + _write_dispatch[idx] = lambda self, *values: ( # noqa: F821 + b"".join(self._pack(fmt, value) for value in values) + ) + + +if TYPE_CHECKING: + _IFDv2Base = MutableMapping[int, Any] +else: + _IFDv2Base = MutableMapping + + +class ImageFileDirectory_v2(_IFDv2Base): + """This class represents a TIFF tag directory. To speed things up, we + don't decode tags unless they're asked for. + + Exposes a dictionary interface of the tags in the directory:: + + ifd = ImageFileDirectory_v2() + ifd[key] = 'Some Data' + ifd.tagtype[key] = TiffTags.ASCII + print(ifd[key]) + 'Some Data' + + Individual values are returned as the strings or numbers, sequences are + returned as tuples of the values. + + The tiff metadata type of each item is stored in a dictionary of + tag types in + :attr:`~PIL.TiffImagePlugin.ImageFileDirectory_v2.tagtype`. The types + are read from a tiff file, guessed from the type added, or added + manually. + + Data Structures: + + * ``self.tagtype = {}`` + + * Key: numerical TIFF tag number + * Value: integer corresponding to the data type from + :py:data:`.TiffTags.TYPES` + + .. versionadded:: 3.0.0 + + 'Internal' data structures: + + * ``self._tags_v2 = {}`` + + * Key: numerical TIFF tag number + * Value: decoded data, as tuple for multiple values + + * ``self._tagdata = {}`` + + * Key: numerical TIFF tag number + * Value: undecoded byte string from file + + * ``self._tags_v1 = {}`` + + * Key: numerical TIFF tag number + * Value: decoded data in the v1 format + + Tags will be found in the private attributes ``self._tagdata``, and in + ``self._tags_v2`` once decoded. + + ``self.legacy_api`` is a value for internal use, and shouldn't be changed + from outside code. In cooperation with + :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v1`, if ``legacy_api`` + is true, then decoded tags will be populated into both ``_tags_v1`` and + ``_tags_v2``. ``_tags_v2`` will be used if this IFD is used in the TIFF + save routine. Tags should be read from ``_tags_v1`` if + ``legacy_api == true``. + + """ + + _load_dispatch: dict[int, tuple[int, _LoaderFunc]] = {} + _write_dispatch: dict[int, Callable[..., Any]] = {} + + def __init__( + self, + ifh: bytes = b"II\052\0\0\0\0\0", + prefix: bytes | None = None, + group: int | None = None, + ) -> None: + """Initialize an ImageFileDirectory. + + To construct an ImageFileDirectory from a real file, pass the 8-byte + magic header to the constructor. To only set the endianness, pass it + as the 'prefix' keyword argument. + + :param ifh: One of the accepted magic headers (cf. PREFIXES); also sets + endianness. + :param prefix: Override the endianness of the file. + """ + if not _accept(ifh): + msg = f"not a TIFF file (header {repr(ifh)} not valid)" + raise SyntaxError(msg) + self._prefix = prefix if prefix is not None else ifh[:2] + if self._prefix == MM: + self._endian = ">" + elif self._prefix == II: + self._endian = "<" + else: + msg = "not a TIFF IFD" + raise SyntaxError(msg) + self._bigtiff = ifh[2] == 43 + self.group = group + self.tagtype: dict[int, int] = {} + """ Dictionary of tag types """ + self.reset() + self.next = ( + self._unpack("Q", ifh[8:])[0] + if self._bigtiff + else self._unpack("L", ifh[4:])[0] + ) + self._legacy_api = False + + prefix = property(lambda self: self._prefix) + offset = property(lambda self: self._offset) + + @property + def legacy_api(self) -> bool: + return self._legacy_api + + @legacy_api.setter + def legacy_api(self, value: bool) -> NoReturn: + msg = "Not allowing setting of legacy api" + raise Exception(msg) + + def reset(self) -> None: + self._tags_v1: dict[int, Any] = {} # will remain empty if legacy_api is false + self._tags_v2: dict[int, Any] = {} # main tag storage + self._tagdata: dict[int, bytes] = {} + self.tagtype = {} # added 2008-06-05 by Florian Hoech + self._next = None + self._offset: int | None = None + + def __str__(self) -> str: + return str(dict(self)) + + def named(self) -> dict[str, Any]: + """ + :returns: dict of name|key: value + + Returns the complete tag dictionary, with named tags where possible. + """ + return { + TiffTags.lookup(code, self.group).name: value + for code, value in self.items() + } + + def __len__(self) -> int: + return len(set(self._tagdata) | set(self._tags_v2)) + + def __getitem__(self, tag: int) -> Any: + if tag not in self._tags_v2: # unpack on the fly + data = self._tagdata[tag] + typ = self.tagtype[tag] + size, handler = self._load_dispatch[typ] + self[tag] = handler(self, data, self.legacy_api) # check type + val = self._tags_v2[tag] + if self.legacy_api and not isinstance(val, (tuple, bytes)): + val = (val,) + return val + + def __contains__(self, tag: object) -> bool: + return tag in self._tags_v2 or tag in self._tagdata + + def __setitem__(self, tag: int, value: Any) -> None: + self._setitem(tag, value, self.legacy_api) + + def _setitem(self, tag: int, value: Any, legacy_api: bool) -> None: + basetypes = (Number, bytes, str) + + info = TiffTags.lookup(tag, self.group) + values = [value] if isinstance(value, basetypes) else value + + if tag not in self.tagtype: + if info.type: + self.tagtype[tag] = info.type + else: + self.tagtype[tag] = TiffTags.UNDEFINED + if all(isinstance(v, IFDRational) for v in values): + self.tagtype[tag] = ( + TiffTags.RATIONAL + if all(v >= 0 for v in values) + else TiffTags.SIGNED_RATIONAL + ) + elif all(isinstance(v, int) for v in values): + if all(0 <= v < 2**16 for v in values): + self.tagtype[tag] = TiffTags.SHORT + elif all(-(2**15) < v < 2**15 for v in values): + self.tagtype[tag] = TiffTags.SIGNED_SHORT + else: + self.tagtype[tag] = ( + TiffTags.LONG + if all(v >= 0 for v in values) + else TiffTags.SIGNED_LONG + ) + elif all(isinstance(v, float) for v in values): + self.tagtype[tag] = TiffTags.DOUBLE + elif all(isinstance(v, str) for v in values): + self.tagtype[tag] = TiffTags.ASCII + elif all(isinstance(v, bytes) for v in values): + self.tagtype[tag] = TiffTags.BYTE + + if self.tagtype[tag] == TiffTags.UNDEFINED: + values = [ + v.encode("ascii", "replace") if isinstance(v, str) else v + for v in values + ] + elif self.tagtype[tag] == TiffTags.RATIONAL: + values = [float(v) if isinstance(v, int) else v for v in values] + + is_ifd = self.tagtype[tag] == TiffTags.LONG and isinstance(values, dict) + if not is_ifd: + values = tuple(info.cvt_enum(value) for value in values) + + dest = self._tags_v1 if legacy_api else self._tags_v2 + + # Three branches: + # Spec'd length == 1, Actual length 1, store as element + # Spec'd length == 1, Actual > 1, Warn and truncate. Formerly barfed. + # No Spec, Actual length 1, Formerly (<4.2) returned a 1 element tuple. + # Don't mess with the legacy api, since it's frozen. + if not is_ifd and ( + (info.length == 1) + or self.tagtype[tag] == TiffTags.BYTE + or (info.length is None and len(values) == 1 and not legacy_api) + ): + # Don't mess with the legacy api, since it's frozen. + if legacy_api and self.tagtype[tag] in [ + TiffTags.RATIONAL, + TiffTags.SIGNED_RATIONAL, + ]: # rationals + values = (values,) + try: + (dest[tag],) = values + except ValueError: + # We've got a builtin tag with 1 expected entry + warnings.warn( + f"Metadata Warning, tag {tag} had too many entries: " + f"{len(values)}, expected 1" + ) + dest[tag] = values[0] + + else: + # Spec'd length > 1 or undefined + # Unspec'd, and length > 1 + dest[tag] = values + + def __delitem__(self, tag: int) -> None: + self._tags_v2.pop(tag, None) + self._tags_v1.pop(tag, None) + self._tagdata.pop(tag, None) + + def __iter__(self) -> Iterator[int]: + return iter(set(self._tagdata) | set(self._tags_v2)) + + def _unpack(self, fmt: str, data: bytes) -> tuple[Any, ...]: + return struct.unpack(self._endian + fmt, data) + + def _pack(self, fmt: str, *values: Any) -> bytes: + return struct.pack(self._endian + fmt, *values) + + list( + map( + _register_basic, + [ + (TiffTags.SHORT, "H", "short"), + (TiffTags.LONG, "L", "long"), + (TiffTags.SIGNED_BYTE, "b", "signed byte"), + (TiffTags.SIGNED_SHORT, "h", "signed short"), + (TiffTags.SIGNED_LONG, "l", "signed long"), + (TiffTags.FLOAT, "f", "float"), + (TiffTags.DOUBLE, "d", "double"), + (TiffTags.IFD, "L", "long"), + (TiffTags.LONG8, "Q", "long8"), + ], + ) + ) + + @_register_loader(1, 1) # Basic type, except for the legacy API. + def load_byte(self, data: bytes, legacy_api: bool = True) -> bytes: + return data + + @_register_writer(1) # Basic type, except for the legacy API. + def write_byte(self, data: bytes | int | IFDRational) -> bytes: + if isinstance(data, IFDRational): + data = int(data) + if isinstance(data, int): + data = bytes((data,)) + return data + + @_register_loader(2, 1) + def load_string(self, data: bytes, legacy_api: bool = True) -> str: + if data.endswith(b"\0"): + data = data[:-1] + return data.decode("latin-1", "replace") + + @_register_writer(2) + def write_string(self, value: str | bytes | int) -> bytes: + # remerge of https://github.com/python-pillow/Pillow/pull/1416 + if isinstance(value, int): + value = str(value) + if not isinstance(value, bytes): + value = value.encode("ascii", "replace") + return value + b"\0" + + @_register_loader(5, 8) + def load_rational( + self, data: bytes, legacy_api: bool = True + ) -> tuple[tuple[int, int] | IFDRational, ...]: + vals = self._unpack(f"{len(data) // 4}L", data) + + def combine(a: int, b: int) -> tuple[int, int] | IFDRational: + return (a, b) if legacy_api else IFDRational(a, b) + + return tuple(combine(num, denom) for num, denom in zip(vals[::2], vals[1::2])) + + @_register_writer(5) + def write_rational(self, *values: IFDRational) -> bytes: + return b"".join( + self._pack("2L", *_limit_rational(frac, 2**32 - 1)) for frac in values + ) + + @_register_loader(7, 1) + def load_undefined(self, data: bytes, legacy_api: bool = True) -> bytes: + return data + + @_register_writer(7) + def write_undefined(self, value: bytes | int | IFDRational) -> bytes: + if isinstance(value, IFDRational): + value = int(value) + if isinstance(value, int): + value = str(value).encode("ascii", "replace") + return value + + @_register_loader(10, 8) + def load_signed_rational( + self, data: bytes, legacy_api: bool = True + ) -> tuple[tuple[int, int] | IFDRational, ...]: + vals = self._unpack(f"{len(data) // 4}l", data) + + def combine(a: int, b: int) -> tuple[int, int] | IFDRational: + return (a, b) if legacy_api else IFDRational(a, b) + + return tuple(combine(num, denom) for num, denom in zip(vals[::2], vals[1::2])) + + @_register_writer(10) + def write_signed_rational(self, *values: IFDRational) -> bytes: + return b"".join( + self._pack("2l", *_limit_signed_rational(frac, 2**31 - 1, -(2**31))) + for frac in values + ) + + def _ensure_read(self, fp: IO[bytes], size: int) -> bytes: + ret = fp.read(size) + if len(ret) != size: + msg = ( + "Corrupt EXIF data. " + f"Expecting to read {size} bytes but only got {len(ret)}. " + ) + raise OSError(msg) + return ret + + def load(self, fp: IO[bytes]) -> None: + self.reset() + self._offset = fp.tell() + + try: + tag_count = ( + self._unpack("Q", self._ensure_read(fp, 8)) + if self._bigtiff + else self._unpack("H", self._ensure_read(fp, 2)) + )[0] + for i in range(tag_count): + tag, typ, count, data = ( + self._unpack("HHQ8s", self._ensure_read(fp, 20)) + if self._bigtiff + else self._unpack("HHL4s", self._ensure_read(fp, 12)) + ) + + tagname = TiffTags.lookup(tag, self.group).name + typname = TYPES.get(typ, "unknown") + msg = f"tag: {tagname} ({tag}) - type: {typname} ({typ})" + + try: + unit_size, handler = self._load_dispatch[typ] + except KeyError: + logger.debug("%s - unsupported type %s", msg, typ) + continue # ignore unsupported type + size = count * unit_size + if size > (8 if self._bigtiff else 4): + here = fp.tell() + (offset,) = self._unpack("Q" if self._bigtiff else "L", data) + msg += f" Tag Location: {here} - Data Location: {offset}" + fp.seek(offset) + data = ImageFile._safe_read(fp, size) + fp.seek(here) + else: + data = data[:size] + + if len(data) != size: + warnings.warn( + "Possibly corrupt EXIF data. " + f"Expecting to read {size} bytes but only got {len(data)}." + f" Skipping tag {tag}" + ) + logger.debug(msg) + continue + + if not data: + logger.debug(msg) + continue + + self._tagdata[tag] = data + self.tagtype[tag] = typ + + msg += " - value: " + ( + "" % size if size > 32 else repr(data) + ) + logger.debug(msg) + + (self.next,) = ( + self._unpack("Q", self._ensure_read(fp, 8)) + if self._bigtiff + else self._unpack("L", self._ensure_read(fp, 4)) + ) + except OSError as msg: + warnings.warn(str(msg)) + return + + def tobytes(self, offset: int = 0) -> bytes: + # FIXME What about tagdata? + result = self._pack("H", len(self._tags_v2)) + + entries: list[tuple[int, int, int, bytes, bytes]] = [] + offset = offset + len(result) + len(self._tags_v2) * 12 + 4 + stripoffsets = None + + # pass 1: convert tags to binary format + # always write tags in ascending order + for tag, value in sorted(self._tags_v2.items()): + if tag == STRIPOFFSETS: + stripoffsets = len(entries) + typ = self.tagtype[tag] + logger.debug("Tag %s, Type: %s, Value: %s", tag, typ, repr(value)) + is_ifd = typ == TiffTags.LONG and isinstance(value, dict) + if is_ifd: + if self._endian == "<": + ifh = b"II\x2A\x00\x08\x00\x00\x00" + else: + ifh = b"MM\x00\x2A\x00\x00\x00\x08" + ifd = ImageFileDirectory_v2(ifh, group=tag) + values = self._tags_v2[tag] + for ifd_tag, ifd_value in values.items(): + ifd[ifd_tag] = ifd_value + data = ifd.tobytes(offset) + else: + values = value if isinstance(value, tuple) else (value,) + data = self._write_dispatch[typ](self, *values) + + tagname = TiffTags.lookup(tag, self.group).name + typname = "ifd" if is_ifd else TYPES.get(typ, "unknown") + msg = f"save: {tagname} ({tag}) - type: {typname} ({typ})" + msg += " - value: " + ( + "" % len(data) if len(data) >= 16 else str(values) + ) + logger.debug(msg) + + # count is sum of lengths for string and arbitrary data + if is_ifd: + count = 1 + elif typ in [TiffTags.BYTE, TiffTags.ASCII, TiffTags.UNDEFINED]: + count = len(data) + else: + count = len(values) + # figure out if data fits into the entry + if len(data) <= 4: + entries.append((tag, typ, count, data.ljust(4, b"\0"), b"")) + else: + entries.append((tag, typ, count, self._pack("L", offset), data)) + offset += (len(data) + 1) // 2 * 2 # pad to word + + # update strip offset data to point beyond auxiliary data + if stripoffsets is not None: + tag, typ, count, value, data = entries[stripoffsets] + if data: + size, handler = self._load_dispatch[typ] + values = [val + offset for val in handler(self, data, self.legacy_api)] + data = self._write_dispatch[typ](self, *values) + else: + value = self._pack("L", self._unpack("L", value)[0] + offset) + entries[stripoffsets] = tag, typ, count, value, data + + # pass 2: write entries to file + for tag, typ, count, value, data in entries: + logger.debug("%s %s %s %s %s", tag, typ, count, repr(value), repr(data)) + result += self._pack("HHL4s", tag, typ, count, value) + + # -- overwrite here for multi-page -- + result += b"\0\0\0\0" # end of entries + + # pass 3: write auxiliary data to file + for tag, typ, count, value, data in entries: + result += data + if len(data) & 1: + result += b"\0" + + return result + + def save(self, fp: IO[bytes]) -> int: + if fp.tell() == 0: # skip TIFF header on subsequent pages + # tiff header -- PIL always starts the first IFD at offset 8 + fp.write(self._prefix + self._pack("HL", 42, 8)) + + offset = fp.tell() + result = self.tobytes(offset) + fp.write(result) + return offset + len(result) + + +ImageFileDirectory_v2._load_dispatch = _load_dispatch +ImageFileDirectory_v2._write_dispatch = _write_dispatch +for idx, name in TYPES.items(): + name = name.replace(" ", "_") + setattr(ImageFileDirectory_v2, f"load_{name}", _load_dispatch[idx][1]) + setattr(ImageFileDirectory_v2, f"write_{name}", _write_dispatch[idx]) +del _load_dispatch, _write_dispatch, idx, name + + +# Legacy ImageFileDirectory support. +class ImageFileDirectory_v1(ImageFileDirectory_v2): + """This class represents the **legacy** interface to a TIFF tag directory. + + Exposes a dictionary interface of the tags in the directory:: + + ifd = ImageFileDirectory_v1() + ifd[key] = 'Some Data' + ifd.tagtype[key] = TiffTags.ASCII + print(ifd[key]) + ('Some Data',) + + Also contains a dictionary of tag types as read from the tiff image file, + :attr:`~PIL.TiffImagePlugin.ImageFileDirectory_v1.tagtype`. + + Values are returned as a tuple. + + .. deprecated:: 3.0.0 + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + self._legacy_api = True + + tags = property(lambda self: self._tags_v1) + tagdata = property(lambda self: self._tagdata) + + # defined in ImageFileDirectory_v2 + tagtype: dict[int, int] + """Dictionary of tag types""" + + @classmethod + def from_v2(cls, original: ImageFileDirectory_v2) -> ImageFileDirectory_v1: + """Returns an + :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v1` + instance with the same data as is contained in the original + :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v2` + instance. + + :returns: :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v1` + + """ + + ifd = cls(prefix=original.prefix) + ifd._tagdata = original._tagdata + ifd.tagtype = original.tagtype + ifd.next = original.next # an indicator for multipage tiffs + return ifd + + def to_v2(self) -> ImageFileDirectory_v2: + """Returns an + :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v2` + instance with the same data as is contained in the original + :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v1` + instance. + + :returns: :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v2` + + """ + + ifd = ImageFileDirectory_v2(prefix=self.prefix) + ifd._tagdata = dict(self._tagdata) + ifd.tagtype = dict(self.tagtype) + ifd._tags_v2 = dict(self._tags_v2) + return ifd + + def __contains__(self, tag: object) -> bool: + return tag in self._tags_v1 or tag in self._tagdata + + def __len__(self) -> int: + return len(set(self._tagdata) | set(self._tags_v1)) + + def __iter__(self) -> Iterator[int]: + return iter(set(self._tagdata) | set(self._tags_v1)) + + def __setitem__(self, tag: int, value: Any) -> None: + for legacy_api in (False, True): + self._setitem(tag, value, legacy_api) + + def __getitem__(self, tag: int) -> Any: + if tag not in self._tags_v1: # unpack on the fly + data = self._tagdata[tag] + typ = self.tagtype[tag] + size, handler = self._load_dispatch[typ] + for legacy in (False, True): + self._setitem(tag, handler(self, data, legacy), legacy) + val = self._tags_v1[tag] + if not isinstance(val, (tuple, bytes)): + val = (val,) + return val + + +# undone -- switch this pointer +ImageFileDirectory = ImageFileDirectory_v1 + + +## +# Image plugin for TIFF files. + + +class TiffImageFile(ImageFile.ImageFile): + format = "TIFF" + format_description = "Adobe TIFF" + _close_exclusive_fp_after_loading = False + + def __init__( + self, + fp: StrOrBytesPath | IO[bytes], + filename: str | bytes | None = None, + ) -> None: + self.tag_v2: ImageFileDirectory_v2 + """ Image file directory (tag dictionary) """ + + self.tag: ImageFileDirectory_v1 + """ Legacy tag entries """ + + super().__init__(fp, filename) + + def _open(self) -> None: + """Open the first image in a TIFF file""" + + # Header + ifh = self.fp.read(8) + if ifh[2] == 43: + ifh += self.fp.read(8) + + self.tag_v2 = ImageFileDirectory_v2(ifh) + + # setup frame pointers + self.__first = self.__next = self.tag_v2.next + self.__frame = -1 + self._fp = self.fp + self._frame_pos: list[int] = [] + self._n_frames: int | None = None + + logger.debug("*** TiffImageFile._open ***") + logger.debug("- __first: %s", self.__first) + logger.debug("- ifh: %s", repr(ifh)) # Use repr to avoid str(bytes) + + # and load the first frame + self._seek(0) + + @property + def n_frames(self) -> int: + current_n_frames = self._n_frames + if current_n_frames is None: + current = self.tell() + self._seek(len(self._frame_pos)) + while self._n_frames is None: + self._seek(self.tell() + 1) + self.seek(current) + assert self._n_frames is not None + return self._n_frames + + def seek(self, frame: int) -> None: + """Select a given frame as current image""" + if not self._seek_check(frame): + return + self._seek(frame) + if self._im is not None and ( + self.im.size != self._tile_size or self.im.mode != self.mode + ): + # The core image will no longer be used + self._im = None + + def _seek(self, frame: int) -> None: + self.fp = self._fp + + # reset buffered io handle in case fp + # was passed to libtiff, invalidating the buffer + self.fp.tell() + + while len(self._frame_pos) <= frame: + if not self.__next: + msg = "no more images in TIFF file" + raise EOFError(msg) + logger.debug( + "Seeking to frame %s, on frame %s, __next %s, location: %s", + frame, + self.__frame, + self.__next, + self.fp.tell(), + ) + if self.__next >= 2**63: + msg = "Unable to seek to frame" + raise ValueError(msg) + self.fp.seek(self.__next) + self._frame_pos.append(self.__next) + logger.debug("Loading tags, location: %s", self.fp.tell()) + self.tag_v2.load(self.fp) + if self.tag_v2.next in self._frame_pos: + # This IFD has already been processed + # Declare this to be the end of the image + self.__next = 0 + else: + self.__next = self.tag_v2.next + if self.__next == 0: + self._n_frames = frame + 1 + if len(self._frame_pos) == 1: + self.is_animated = self.__next != 0 + self.__frame += 1 + self.fp.seek(self._frame_pos[frame]) + self.tag_v2.load(self.fp) + if XMP in self.tag_v2: + self.info["xmp"] = self.tag_v2[XMP] + elif "xmp" in self.info: + del self.info["xmp"] + self._reload_exif() + # fill the legacy tag/ifd entries + self.tag = self.ifd = ImageFileDirectory_v1.from_v2(self.tag_v2) + self.__frame = frame + self._setup() + + def tell(self) -> int: + """Return the current frame number""" + return self.__frame + + def get_photoshop_blocks(self) -> dict[int, dict[str, bytes]]: + """ + Returns a dictionary of Photoshop "Image Resource Blocks". + The keys are the image resource ID. For more information, see + https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/#50577409_pgfId-1037727 + + :returns: Photoshop "Image Resource Blocks" in a dictionary. + """ + blocks = {} + val = self.tag_v2.get(ExifTags.Base.ImageResources) + if val: + while val[:4] == b"8BIM": + id = i16(val[4:6]) + n = math.ceil((val[6] + 1) / 2) * 2 + size = i32(val[6 + n : 10 + n]) + data = val[10 + n : 10 + n + size] + blocks[id] = {"data": data} + + val = val[math.ceil((10 + n + size) / 2) * 2 :] + return blocks + + def load(self) -> Image.core.PixelAccess | None: + if self.tile and self.use_load_libtiff: + return self._load_libtiff() + return super().load() + + def load_prepare(self) -> None: + if self._im is None: + Image._decompression_bomb_check(self._tile_size) + self.im = Image.core.new(self.mode, self._tile_size) + ImageFile.ImageFile.load_prepare(self) + + def load_end(self) -> None: + # allow closing if we're on the first frame, there's no next + # This is the ImageFile.load path only, libtiff specific below. + if not self.is_animated: + self._close_exclusive_fp_after_loading = True + + # reset buffered io handle in case fp + # was passed to libtiff, invalidating the buffer + self.fp.tell() + + # load IFD data from fp before it is closed + exif = self.getexif() + for key in TiffTags.TAGS_V2_GROUPS: + if key not in exif: + continue + exif.get_ifd(key) + + ImageOps.exif_transpose(self, in_place=True) + if ExifTags.Base.Orientation in self.tag_v2: + del self.tag_v2[ExifTags.Base.Orientation] + + def _load_libtiff(self) -> Image.core.PixelAccess | None: + """Overload method triggered when we detect a compressed tiff + Calls out to libtiff""" + + Image.Image.load(self) + + self.load_prepare() + + if not len(self.tile) == 1: + msg = "Not exactly one tile" + raise OSError(msg) + + # (self._compression, (extents tuple), + # 0, (rawmode, self._compression, fp)) + extents = self.tile[0][1] + args = self.tile[0][3] + + # To be nice on memory footprint, if there's a + # file descriptor, use that instead of reading + # into a string in python. + try: + fp = hasattr(self.fp, "fileno") and self.fp.fileno() + # flush the file descriptor, prevents error on pypy 2.4+ + # should also eliminate the need for fp.tell + # in _seek + if hasattr(self.fp, "flush"): + self.fp.flush() + except OSError: + # io.BytesIO have a fileno, but returns an OSError if + # it doesn't use a file descriptor. + fp = False + + if fp: + assert isinstance(args, tuple) + args_list = list(args) + args_list[2] = fp + args = tuple(args_list) + + decoder = Image._getdecoder(self.mode, "libtiff", args, self.decoderconfig) + try: + decoder.setimage(self.im, extents) + except ValueError as e: + msg = "Couldn't set the image" + raise OSError(msg) from e + + close_self_fp = self._exclusive_fp and not self.is_animated + if hasattr(self.fp, "getvalue"): + # We've got a stringio like thing passed in. Yay for all in memory. + # The decoder needs the entire file in one shot, so there's not + # a lot we can do here other than give it the entire file. + # unless we could do something like get the address of the + # underlying string for stringio. + # + # Rearranging for supporting byteio items, since they have a fileno + # that returns an OSError if there's no underlying fp. Easier to + # deal with here by reordering. + logger.debug("have getvalue. just sending in a string from getvalue") + n, err = decoder.decode(self.fp.getvalue()) + elif fp: + # we've got a actual file on disk, pass in the fp. + logger.debug("have fileno, calling fileno version of the decoder.") + if not close_self_fp: + self.fp.seek(0) + # 4 bytes, otherwise the trace might error out + n, err = decoder.decode(b"fpfp") + else: + # we have something else. + logger.debug("don't have fileno or getvalue. just reading") + self.fp.seek(0) + # UNDONE -- so much for that buffer size thing. + n, err = decoder.decode(self.fp.read()) + + self.tile = [] + self.readonly = 0 + + self.load_end() + + if close_self_fp: + self.fp.close() + self.fp = None # might be shared + + if err < 0: + raise OSError(err) + + return Image.Image.load(self) + + def _setup(self) -> None: + """Setup this image object based on current tags""" + + if 0xBC01 in self.tag_v2: + msg = "Windows Media Photo files not yet supported" + raise OSError(msg) + + # extract relevant tags + self._compression = COMPRESSION_INFO[self.tag_v2.get(COMPRESSION, 1)] + self._planar_configuration = self.tag_v2.get(PLANAR_CONFIGURATION, 1) + + # photometric is a required tag, but not everyone is reading + # the specification + photo = self.tag_v2.get(PHOTOMETRIC_INTERPRETATION, 0) + + # old style jpeg compression images most certainly are YCbCr + if self._compression == "tiff_jpeg": + photo = 6 + + fillorder = self.tag_v2.get(FILLORDER, 1) + + logger.debug("*** Summary ***") + logger.debug("- compression: %s", self._compression) + logger.debug("- photometric_interpretation: %s", photo) + logger.debug("- planar_configuration: %s", self._planar_configuration) + logger.debug("- fill_order: %s", fillorder) + logger.debug("- YCbCr subsampling: %s", self.tag_v2.get(YCBCRSUBSAMPLING)) + + # size + xsize = self.tag_v2.get(IMAGEWIDTH) + ysize = self.tag_v2.get(IMAGELENGTH) + if not isinstance(xsize, int) or not isinstance(ysize, int): + msg = "Invalid dimensions" + raise ValueError(msg) + self._tile_size = xsize, ysize + orientation = self.tag_v2.get(ExifTags.Base.Orientation) + if orientation in (5, 6, 7, 8): + self._size = ysize, xsize + else: + self._size = xsize, ysize + + logger.debug("- size: %s", self.size) + + sample_format = self.tag_v2.get(SAMPLEFORMAT, (1,)) + if len(sample_format) > 1 and max(sample_format) == min(sample_format) == 1: + # SAMPLEFORMAT is properly per band, so an RGB image will + # be (1,1,1). But, we don't support per band pixel types, + # and anything more than one band is a uint8. So, just + # take the first element. Revisit this if adding support + # for more exotic images. + sample_format = (1,) + + bps_tuple = self.tag_v2.get(BITSPERSAMPLE, (1,)) + extra_tuple = self.tag_v2.get(EXTRASAMPLES, ()) + if photo in (2, 6, 8): # RGB, YCbCr, LAB + bps_count = 3 + elif photo == 5: # CMYK + bps_count = 4 + else: + bps_count = 1 + bps_count += len(extra_tuple) + bps_actual_count = len(bps_tuple) + samples_per_pixel = self.tag_v2.get( + SAMPLESPERPIXEL, + 3 if self._compression == "tiff_jpeg" and photo in (2, 6) else 1, + ) + + if samples_per_pixel > MAX_SAMPLESPERPIXEL: + # DOS check, samples_per_pixel can be a Long, and we extend the tuple below + logger.error( + "More samples per pixel than can be decoded: %s", samples_per_pixel + ) + msg = "Invalid value for samples per pixel" + raise SyntaxError(msg) + + if samples_per_pixel < bps_actual_count: + # If a file has more values in bps_tuple than expected, + # remove the excess. + bps_tuple = bps_tuple[:samples_per_pixel] + elif samples_per_pixel > bps_actual_count and bps_actual_count == 1: + # If a file has only one value in bps_tuple, when it should have more, + # presume it is the same number of bits for all of the samples. + bps_tuple = bps_tuple * samples_per_pixel + + if len(bps_tuple) != samples_per_pixel: + msg = "unknown data organization" + raise SyntaxError(msg) + + # mode: check photometric interpretation and bits per pixel + key = ( + self.tag_v2.prefix, + photo, + sample_format, + fillorder, + bps_tuple, + extra_tuple, + ) + logger.debug("format key: %s", key) + try: + self._mode, rawmode = OPEN_INFO[key] + except KeyError as e: + logger.debug("- unsupported format") + msg = "unknown pixel mode" + raise SyntaxError(msg) from e + + logger.debug("- raw mode: %s", rawmode) + logger.debug("- pil mode: %s", self.mode) + + self.info["compression"] = self._compression + + xres = self.tag_v2.get(X_RESOLUTION, 1) + yres = self.tag_v2.get(Y_RESOLUTION, 1) + + if xres and yres: + resunit = self.tag_v2.get(RESOLUTION_UNIT) + if resunit == 2: # dots per inch + self.info["dpi"] = (xres, yres) + elif resunit == 3: # dots per centimeter. convert to dpi + self.info["dpi"] = (xres * 2.54, yres * 2.54) + elif resunit is None: # used to default to 1, but now 2) + self.info["dpi"] = (xres, yres) + # For backward compatibility, + # we also preserve the old behavior + self.info["resolution"] = xres, yres + else: # No absolute unit of measurement + self.info["resolution"] = xres, yres + + # build tile descriptors + x = y = layer = 0 + self.tile = [] + self.use_load_libtiff = READ_LIBTIFF or self._compression != "raw" + if self.use_load_libtiff: + # Decoder expects entire file as one tile. + # There's a buffer size limit in load (64k) + # so large g4 images will fail if we use that + # function. + # + # Setup the one tile for the whole image, then + # use the _load_libtiff function. + + # libtiff handles the fillmode for us, so 1;IR should + # actually be 1;I. Including the R double reverses the + # bits, so stripes of the image are reversed. See + # https://github.com/python-pillow/Pillow/issues/279 + if fillorder == 2: + # Replace fillorder with fillorder=1 + key = key[:3] + (1,) + key[4:] + logger.debug("format key: %s", key) + # this should always work, since all the + # fillorder==2 modes have a corresponding + # fillorder=1 mode + self._mode, rawmode = OPEN_INFO[key] + # libtiff always returns the bytes in native order. + # we're expecting image byte order. So, if the rawmode + # contains I;16, we need to convert from native to image + # byte order. + if rawmode == "I;16": + rawmode = "I;16N" + if ";16B" in rawmode: + rawmode = rawmode.replace(";16B", ";16N") + if ";16L" in rawmode: + rawmode = rawmode.replace(";16L", ";16N") + + # YCbCr images with new jpeg compression with pixels in one plane + # unpacked straight into RGB values + if ( + photo == 6 + and self._compression == "jpeg" + and self._planar_configuration == 1 + ): + rawmode = "RGB" + + # Offset in the tile tuple is 0, we go from 0,0 to + # w,h, and we only do this once -- eds + a = (rawmode, self._compression, False, self.tag_v2.offset) + self.tile.append(ImageFile._Tile("libtiff", (0, 0, xsize, ysize), 0, a)) + + elif STRIPOFFSETS in self.tag_v2 or TILEOFFSETS in self.tag_v2: + # striped image + if STRIPOFFSETS in self.tag_v2: + offsets = self.tag_v2[STRIPOFFSETS] + h = self.tag_v2.get(ROWSPERSTRIP, ysize) + w = xsize + else: + # tiled image + offsets = self.tag_v2[TILEOFFSETS] + tilewidth = self.tag_v2.get(TILEWIDTH) + h = self.tag_v2.get(TILELENGTH) + if not isinstance(tilewidth, int) or not isinstance(h, int): + msg = "Invalid tile dimensions" + raise ValueError(msg) + w = tilewidth + + for offset in offsets: + if x + w > xsize: + stride = w * sum(bps_tuple) / 8 # bytes per line + else: + stride = 0 + + tile_rawmode = rawmode + if self._planar_configuration == 2: + # each band on it's own layer + tile_rawmode = rawmode[layer] + # adjust stride width accordingly + stride /= bps_count + + args = (tile_rawmode, int(stride), 1) + self.tile.append( + ImageFile._Tile( + self._compression, + (x, y, min(x + w, xsize), min(y + h, ysize)), + offset, + args, + ) + ) + x = x + w + if x >= xsize: + x, y = 0, y + h + if y >= ysize: + x = y = 0 + layer += 1 + else: + logger.debug("- unsupported data organization") + msg = "unknown data organization" + raise SyntaxError(msg) + + # Fix up info. + if ICCPROFILE in self.tag_v2: + self.info["icc_profile"] = self.tag_v2[ICCPROFILE] + + # fixup palette descriptor + + if self.mode in ["P", "PA"]: + palette = [o8(b // 256) for b in self.tag_v2[COLORMAP]] + self.palette = ImagePalette.raw("RGB;L", b"".join(palette)) + + +# +# -------------------------------------------------------------------- +# Write TIFF files + +# little endian is default except for image modes with +# explicit big endian byte-order + +SAVE_INFO = { + # mode => rawmode, byteorder, photometrics, + # sampleformat, bitspersample, extra + "1": ("1", II, 1, 1, (1,), None), + "L": ("L", II, 1, 1, (8,), None), + "LA": ("LA", II, 1, 1, (8, 8), 2), + "P": ("P", II, 3, 1, (8,), None), + "PA": ("PA", II, 3, 1, (8, 8), 2), + "I": ("I;32S", II, 1, 2, (32,), None), + "I;16": ("I;16", II, 1, 1, (16,), None), + "I;16S": ("I;16S", II, 1, 2, (16,), None), + "F": ("F;32F", II, 1, 3, (32,), None), + "RGB": ("RGB", II, 2, 1, (8, 8, 8), None), + "RGBX": ("RGBX", II, 2, 1, (8, 8, 8, 8), 0), + "RGBA": ("RGBA", II, 2, 1, (8, 8, 8, 8), 2), + "CMYK": ("CMYK", II, 5, 1, (8, 8, 8, 8), None), + "YCbCr": ("YCbCr", II, 6, 1, (8, 8, 8), None), + "LAB": ("LAB", II, 8, 1, (8, 8, 8), None), + "I;32BS": ("I;32BS", MM, 1, 2, (32,), None), + "I;16B": ("I;16B", MM, 1, 1, (16,), None), + "I;16BS": ("I;16BS", MM, 1, 2, (16,), None), + "F;32BF": ("F;32BF", MM, 1, 3, (32,), None), +} + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + try: + rawmode, prefix, photo, format, bits, extra = SAVE_INFO[im.mode] + except KeyError as e: + msg = f"cannot write mode {im.mode} as TIFF" + raise OSError(msg) from e + + ifd = ImageFileDirectory_v2(prefix=prefix) + + encoderinfo = im.encoderinfo + encoderconfig = im.encoderconfig + try: + compression = encoderinfo["compression"] + except KeyError: + compression = im.info.get("compression") + if isinstance(compression, int): + # compression value may be from BMP. Ignore it + compression = None + if compression is None: + compression = "raw" + elif compression == "tiff_jpeg": + # OJPEG is obsolete, so use new-style JPEG compression instead + compression = "jpeg" + elif compression == "tiff_deflate": + compression = "tiff_adobe_deflate" + + libtiff = WRITE_LIBTIFF or compression != "raw" + + # required for color libtiff images + ifd[PLANAR_CONFIGURATION] = 1 + + ifd[IMAGEWIDTH] = im.size[0] + ifd[IMAGELENGTH] = im.size[1] + + # write any arbitrary tags passed in as an ImageFileDirectory + if "tiffinfo" in encoderinfo: + info = encoderinfo["tiffinfo"] + elif "exif" in encoderinfo: + info = encoderinfo["exif"] + if isinstance(info, bytes): + exif = Image.Exif() + exif.load(info) + info = exif + else: + info = {} + logger.debug("Tiffinfo Keys: %s", list(info)) + if isinstance(info, ImageFileDirectory_v1): + info = info.to_v2() + for key in info: + if isinstance(info, Image.Exif) and key in TiffTags.TAGS_V2_GROUPS: + ifd[key] = info.get_ifd(key) + else: + ifd[key] = info.get(key) + try: + ifd.tagtype[key] = info.tagtype[key] + except Exception: + pass # might not be an IFD. Might not have populated type + + legacy_ifd = {} + if hasattr(im, "tag"): + legacy_ifd = im.tag.to_v2() + + supplied_tags = {**legacy_ifd, **getattr(im, "tag_v2", {})} + for tag in ( + # IFD offset that may not be correct in the saved image + EXIFIFD, + # Determined by the image format and should not be copied from legacy_ifd. + SAMPLEFORMAT, + ): + if tag in supplied_tags: + del supplied_tags[tag] + + # additions written by Greg Couch, gregc@cgl.ucsf.edu + # inspired by image-sig posting from Kevin Cazabon, kcazabon@home.com + if hasattr(im, "tag_v2"): + # preserve tags from original TIFF image file + for key in ( + RESOLUTION_UNIT, + X_RESOLUTION, + Y_RESOLUTION, + IPTC_NAA_CHUNK, + PHOTOSHOP_CHUNK, + XMP, + ): + if key in im.tag_v2: + if key == IPTC_NAA_CHUNK and im.tag_v2.tagtype[key] not in ( + TiffTags.BYTE, + TiffTags.UNDEFINED, + ): + del supplied_tags[key] + else: + ifd[key] = im.tag_v2[key] + ifd.tagtype[key] = im.tag_v2.tagtype[key] + + # preserve ICC profile (should also work when saving other formats + # which support profiles as TIFF) -- 2008-06-06 Florian Hoech + icc = encoderinfo.get("icc_profile", im.info.get("icc_profile")) + if icc: + ifd[ICCPROFILE] = icc + + for key, name in [ + (IMAGEDESCRIPTION, "description"), + (X_RESOLUTION, "resolution"), + (Y_RESOLUTION, "resolution"), + (X_RESOLUTION, "x_resolution"), + (Y_RESOLUTION, "y_resolution"), + (RESOLUTION_UNIT, "resolution_unit"), + (SOFTWARE, "software"), + (DATE_TIME, "date_time"), + (ARTIST, "artist"), + (COPYRIGHT, "copyright"), + ]: + if name in encoderinfo: + ifd[key] = encoderinfo[name] + + dpi = encoderinfo.get("dpi") + if dpi: + ifd[RESOLUTION_UNIT] = 2 + ifd[X_RESOLUTION] = dpi[0] + ifd[Y_RESOLUTION] = dpi[1] + + if bits != (1,): + ifd[BITSPERSAMPLE] = bits + if len(bits) != 1: + ifd[SAMPLESPERPIXEL] = len(bits) + if extra is not None: + ifd[EXTRASAMPLES] = extra + if format != 1: + ifd[SAMPLEFORMAT] = format + + if PHOTOMETRIC_INTERPRETATION not in ifd: + ifd[PHOTOMETRIC_INTERPRETATION] = photo + elif im.mode in ("1", "L") and ifd[PHOTOMETRIC_INTERPRETATION] == 0: + if im.mode == "1": + inverted_im = im.copy() + px = inverted_im.load() + if px is not None: + for y in range(inverted_im.height): + for x in range(inverted_im.width): + px[x, y] = 0 if px[x, y] == 255 else 255 + im = inverted_im + else: + im = ImageOps.invert(im) + + if im.mode in ["P", "PA"]: + lut = im.im.getpalette("RGB", "RGB;L") + colormap = [] + colors = len(lut) // 3 + for i in range(3): + colormap += [v * 256 for v in lut[colors * i : colors * (i + 1)]] + colormap += [0] * (256 - colors) + ifd[COLORMAP] = colormap + # data orientation + w, h = ifd[IMAGEWIDTH], ifd[IMAGELENGTH] + stride = len(bits) * ((w * bits[0] + 7) // 8) + if ROWSPERSTRIP not in ifd: + # aim for given strip size (64 KB by default) when using libtiff writer + if libtiff: + im_strip_size = encoderinfo.get("strip_size", STRIP_SIZE) + rows_per_strip = 1 if stride == 0 else min(im_strip_size // stride, h) + # JPEG encoder expects multiple of 8 rows + if compression == "jpeg": + rows_per_strip = min(((rows_per_strip + 7) // 8) * 8, h) + else: + rows_per_strip = h + if rows_per_strip == 0: + rows_per_strip = 1 + ifd[ROWSPERSTRIP] = rows_per_strip + strip_byte_counts = 1 if stride == 0 else stride * ifd[ROWSPERSTRIP] + strips_per_image = (h + ifd[ROWSPERSTRIP] - 1) // ifd[ROWSPERSTRIP] + if strip_byte_counts >= 2**16: + ifd.tagtype[STRIPBYTECOUNTS] = TiffTags.LONG + ifd[STRIPBYTECOUNTS] = (strip_byte_counts,) * (strips_per_image - 1) + ( + stride * h - strip_byte_counts * (strips_per_image - 1), + ) + ifd[STRIPOFFSETS] = tuple( + range(0, strip_byte_counts * strips_per_image, strip_byte_counts) + ) # this is adjusted by IFD writer + # no compression by default: + ifd[COMPRESSION] = COMPRESSION_INFO_REV.get(compression, 1) + + if im.mode == "YCbCr": + for tag, default_value in { + YCBCRSUBSAMPLING: (1, 1), + REFERENCEBLACKWHITE: (0, 255, 128, 255, 128, 255), + }.items(): + ifd.setdefault(tag, default_value) + + blocklist = [TILEWIDTH, TILELENGTH, TILEOFFSETS, TILEBYTECOUNTS] + if libtiff: + if "quality" in encoderinfo: + quality = encoderinfo["quality"] + if not isinstance(quality, int) or quality < 0 or quality > 100: + msg = "Invalid quality setting" + raise ValueError(msg) + if compression != "jpeg": + msg = "quality setting only supported for 'jpeg' compression" + raise ValueError(msg) + ifd[JPEGQUALITY] = quality + + logger.debug("Saving using libtiff encoder") + logger.debug("Items: %s", sorted(ifd.items())) + _fp = 0 + if hasattr(fp, "fileno"): + try: + fp.seek(0) + _fp = fp.fileno() + except io.UnsupportedOperation: + pass + + # optional types for non core tags + types = {} + # STRIPOFFSETS and STRIPBYTECOUNTS are added by the library + # based on the data in the strip. + # OSUBFILETYPE is deprecated. + # The other tags expect arrays with a certain length (fixed or depending on + # BITSPERSAMPLE, etc), passing arrays with a different length will result in + # segfaults. Block these tags until we add extra validation. + # SUBIFD may also cause a segfault. + blocklist += [ + OSUBFILETYPE, + REFERENCEBLACKWHITE, + STRIPBYTECOUNTS, + STRIPOFFSETS, + TRANSFERFUNCTION, + SUBIFD, + ] + + # bits per sample is a single short in the tiff directory, not a list. + atts: dict[int, Any] = {BITSPERSAMPLE: bits[0]} + # Merge the ones that we have with (optional) more bits from + # the original file, e.g x,y resolution so that we can + # save(load('')) == original file. + for tag, value in itertools.chain(ifd.items(), supplied_tags.items()): + # Libtiff can only process certain core items without adding + # them to the custom dictionary. + # Custom items are supported for int, float, unicode, string and byte + # values. Other types and tuples require a tagtype. + if tag not in TiffTags.LIBTIFF_CORE: + if not getattr(Image.core, "libtiff_support_custom_tags", False): + continue + + if tag in ifd.tagtype: + types[tag] = ifd.tagtype[tag] + elif not (isinstance(value, (int, float, str, bytes))): + continue + else: + type = TiffTags.lookup(tag).type + if type: + types[tag] = type + if tag not in atts and tag not in blocklist: + if isinstance(value, str): + atts[tag] = value.encode("ascii", "replace") + b"\0" + elif isinstance(value, IFDRational): + atts[tag] = float(value) + else: + atts[tag] = value + + if SAMPLEFORMAT in atts and len(atts[SAMPLEFORMAT]) == 1: + atts[SAMPLEFORMAT] = atts[SAMPLEFORMAT][0] + + logger.debug("Converted items: %s", sorted(atts.items())) + + # libtiff always expects the bytes in native order. + # we're storing image byte order. So, if the rawmode + # contains I;16, we need to convert from native to image + # byte order. + if im.mode in ("I;16B", "I;16"): + rawmode = "I;16N" + + # Pass tags as sorted list so that the tags are set in a fixed order. + # This is required by libtiff for some tags. For example, the JPEGQUALITY + # pseudo tag requires that the COMPRESS tag was already set. + tags = list(atts.items()) + tags.sort() + a = (rawmode, compression, _fp, filename, tags, types) + encoder = Image._getencoder(im.mode, "libtiff", a, encoderconfig) + encoder.setimage(im.im, (0, 0) + im.size) + while True: + errcode, data = encoder.encode(ImageFile.MAXBLOCK)[1:] + if not _fp: + fp.write(data) + if errcode: + break + if errcode < 0: + msg = f"encoder error {errcode} when writing image file" + raise OSError(msg) + + else: + for tag in blocklist: + del ifd[tag] + offset = ifd.save(fp) + + ImageFile._save( + im, + fp, + [ImageFile._Tile("raw", (0, 0) + im.size, offset, (rawmode, stride, 1))], + ) + + # -- helper for multi-page save -- + if "_debug_multipage" in encoderinfo: + # just to access o32 and o16 (using correct byte order) + setattr(im, "_debug_multipage", ifd) + + +class AppendingTiffWriter(io.BytesIO): + fieldSizes = [ + 0, # None + 1, # byte + 1, # ascii + 2, # short + 4, # long + 8, # rational + 1, # sbyte + 1, # undefined + 2, # sshort + 4, # slong + 8, # srational + 4, # float + 8, # double + 4, # ifd + 2, # unicode + 4, # complex + 8, # long8 + ] + + Tags = { + 273, # StripOffsets + 288, # FreeOffsets + 324, # TileOffsets + 519, # JPEGQTables + 520, # JPEGDCTables + 521, # JPEGACTables + } + + def __init__(self, fn: StrOrBytesPath | IO[bytes], new: bool = False) -> None: + self.f: IO[bytes] + if is_path(fn): + self.name = fn + self.close_fp = True + try: + self.f = open(fn, "w+b" if new else "r+b") + except OSError: + self.f = open(fn, "w+b") + else: + self.f = cast(IO[bytes], fn) + self.close_fp = False + self.beginning = self.f.tell() + self.setup() + + def setup(self) -> None: + # Reset everything. + self.f.seek(self.beginning, os.SEEK_SET) + + self.whereToWriteNewIFDOffset: int | None = None + self.offsetOfNewPage = 0 + + self.IIMM = iimm = self.f.read(4) + if not iimm: + # empty file - first page + self.isFirst = True + return + + self.isFirst = False + if iimm == b"II\x2a\x00": + self.setEndian("<") + elif iimm == b"MM\x00\x2a": + self.setEndian(">") + else: + msg = "Invalid TIFF file header" + raise RuntimeError(msg) + + self.skipIFDs() + self.goToEnd() + + def finalize(self) -> None: + if self.isFirst: + return + + # fix offsets + self.f.seek(self.offsetOfNewPage) + + iimm = self.f.read(4) + if not iimm: + # Make it easy to finish a frame without committing to a new one. + return + + if iimm != self.IIMM: + msg = "IIMM of new page doesn't match IIMM of first page" + raise RuntimeError(msg) + + ifd_offset = self.readLong() + ifd_offset += self.offsetOfNewPage + assert self.whereToWriteNewIFDOffset is not None + self.f.seek(self.whereToWriteNewIFDOffset) + self.writeLong(ifd_offset) + self.f.seek(ifd_offset) + self.fixIFD() + + def newFrame(self) -> None: + # Call this to finish a frame. + self.finalize() + self.setup() + + def __enter__(self) -> AppendingTiffWriter: + return self + + def __exit__(self, *args: object) -> None: + if self.close_fp: + self.close() + + def tell(self) -> int: + return self.f.tell() - self.offsetOfNewPage + + def seek(self, offset: int, whence: int = io.SEEK_SET) -> int: + """ + :param offset: Distance to seek. + :param whence: Whether the distance is relative to the start, + end or current position. + :returns: The resulting position, relative to the start. + """ + if whence == os.SEEK_SET: + offset += self.offsetOfNewPage + + self.f.seek(offset, whence) + return self.tell() + + def goToEnd(self) -> None: + self.f.seek(0, os.SEEK_END) + pos = self.f.tell() + + # pad to 16 byte boundary + pad_bytes = 16 - pos % 16 + if 0 < pad_bytes < 16: + self.f.write(bytes(pad_bytes)) + self.offsetOfNewPage = self.f.tell() + + def setEndian(self, endian: str) -> None: + self.endian = endian + self.longFmt = f"{self.endian}L" + self.shortFmt = f"{self.endian}H" + self.tagFormat = f"{self.endian}HHL" + + def skipIFDs(self) -> None: + while True: + ifd_offset = self.readLong() + if ifd_offset == 0: + self.whereToWriteNewIFDOffset = self.f.tell() - 4 + break + + self.f.seek(ifd_offset) + num_tags = self.readShort() + self.f.seek(num_tags * 12, os.SEEK_CUR) + + def write(self, data: Buffer, /) -> int: + return self.f.write(data) + + def _fmt(self, field_size: int) -> str: + try: + return {2: "H", 4: "L", 8: "Q"}[field_size] + except KeyError: + msg = "offset is not supported" + raise RuntimeError(msg) + + def _read(self, field_size: int) -> int: + (value,) = struct.unpack( + self.endian + self._fmt(field_size), self.f.read(field_size) + ) + return value + + def readShort(self) -> int: + return self._read(2) + + def readLong(self) -> int: + return self._read(4) + + @staticmethod + def _verify_bytes_written(bytes_written: int | None, expected: int) -> None: + if bytes_written is not None and bytes_written != expected: + msg = f"wrote only {bytes_written} bytes but wanted {expected}" + raise RuntimeError(msg) + + def rewriteLastShortToLong(self, value: int) -> None: + self.f.seek(-2, os.SEEK_CUR) + bytes_written = self.f.write(struct.pack(self.longFmt, value)) + self._verify_bytes_written(bytes_written, 4) + + def _rewriteLast(self, value: int, field_size: int) -> None: + self.f.seek(-field_size, os.SEEK_CUR) + bytes_written = self.f.write( + struct.pack(self.endian + self._fmt(field_size), value) + ) + self._verify_bytes_written(bytes_written, field_size) + + def rewriteLastShort(self, value: int) -> None: + return self._rewriteLast(value, 2) + + def rewriteLastLong(self, value: int) -> None: + return self._rewriteLast(value, 4) + + def writeShort(self, value: int) -> None: + bytes_written = self.f.write(struct.pack(self.shortFmt, value)) + self._verify_bytes_written(bytes_written, 2) + + def writeLong(self, value: int) -> None: + bytes_written = self.f.write(struct.pack(self.longFmt, value)) + self._verify_bytes_written(bytes_written, 4) + + def close(self) -> None: + self.finalize() + if self.close_fp: + self.f.close() + + def fixIFD(self) -> None: + num_tags = self.readShort() + + for i in range(num_tags): + tag, field_type, count = struct.unpack(self.tagFormat, self.f.read(8)) + + field_size = self.fieldSizes[field_type] + total_size = field_size * count + is_local = total_size <= 4 + if not is_local: + offset = self.readLong() + self.offsetOfNewPage + self.rewriteLastLong(offset) + + if tag in self.Tags: + cur_pos = self.f.tell() + + if is_local: + self._fixOffsets(count, field_size) + self.f.seek(cur_pos + 4) + else: + self.f.seek(offset) + self._fixOffsets(count, field_size) + self.f.seek(cur_pos) + + elif is_local: + # skip the locally stored value that is not an offset + self.f.seek(4, os.SEEK_CUR) + + def _fixOffsets(self, count: int, field_size: int) -> None: + for i in range(count): + offset = self._read(field_size) + offset += self.offsetOfNewPage + if field_size == 2 and offset >= 65536: + # offset is now too large - we must convert shorts to longs + if count != 1: + msg = "not implemented" + raise RuntimeError(msg) # XXX TODO + + # simple case - the offset is just one and therefore it is + # local (not referenced with another offset) + self.rewriteLastShortToLong(offset) + self.f.seek(-10, os.SEEK_CUR) + self.writeShort(TiffTags.LONG) # rewrite the type to LONG + self.f.seek(8, os.SEEK_CUR) + else: + self._rewriteLast(offset, field_size) + + def fixOffsets( + self, count: int, isShort: bool = False, isLong: bool = False + ) -> None: + if isShort: + field_size = 2 + elif isLong: + field_size = 4 + else: + field_size = 0 + return self._fixOffsets(count, field_size) + + +def _save_all(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + encoderinfo = im.encoderinfo.copy() + encoderconfig = im.encoderconfig + append_images = list(encoderinfo.get("append_images", [])) + if not hasattr(im, "n_frames") and not append_images: + return _save(im, fp, filename) + + cur_idx = im.tell() + try: + with AppendingTiffWriter(fp) as tf: + for ims in [im] + append_images: + ims.encoderinfo = encoderinfo + ims.encoderconfig = encoderconfig + if not hasattr(ims, "n_frames"): + nfr = 1 + else: + nfr = ims.n_frames + + for idx in range(nfr): + ims.seek(idx) + ims.load() + _save(ims, tf, filename) + tf.newFrame() + finally: + im.seek(cur_idx) + + +# +# -------------------------------------------------------------------- +# Register + +Image.register_open(TiffImageFile.format, TiffImageFile, _accept) +Image.register_save(TiffImageFile.format, _save) +Image.register_save_all(TiffImageFile.format, _save_all) + +Image.register_extensions(TiffImageFile.format, [".tif", ".tiff"]) + +Image.register_mime(TiffImageFile.format, "image/tiff") diff --git a/venv/Lib/site-packages/PIL/TiffTags.py b/venv/Lib/site-packages/PIL/TiffTags.py new file mode 100644 index 00000000..86adaa45 --- /dev/null +++ b/venv/Lib/site-packages/PIL/TiffTags.py @@ -0,0 +1,562 @@ +# +# The Python Imaging Library. +# $Id$ +# +# TIFF tags +# +# This module provides clear-text names for various well-known +# TIFF tags. the TIFF codec works just fine without it. +# +# Copyright (c) Secret Labs AB 1999. +# +# See the README file for information on usage and redistribution. +# + +## +# This module provides constants and clear-text names for various +# well-known TIFF tags. +## +from __future__ import annotations + +from typing import NamedTuple + + +class _TagInfo(NamedTuple): + value: int | None + name: str + type: int | None + length: int | None + enum: dict[str, int] + + +class TagInfo(_TagInfo): + __slots__: list[str] = [] + + def __new__( + cls, + value: int | None = None, + name: str = "unknown", + type: int | None = None, + length: int | None = None, + enum: dict[str, int] | None = None, + ) -> TagInfo: + return super().__new__(cls, value, name, type, length, enum or {}) + + def cvt_enum(self, value: str) -> int | str: + # Using get will call hash(value), which can be expensive + # for some types (e.g. Fraction). Since self.enum is rarely + # used, it's usually better to test it first. + return self.enum.get(value, value) if self.enum else value + + +def lookup(tag: int, group: int | None = None) -> TagInfo: + """ + :param tag: Integer tag number + :param group: Which :py:data:`~PIL.TiffTags.TAGS_V2_GROUPS` to look in + + .. versionadded:: 8.3.0 + + :returns: Taginfo namedtuple, From the ``TAGS_V2`` info if possible, + otherwise just populating the value and name from ``TAGS``. + If the tag is not recognized, "unknown" is returned for the name + + """ + + if group is not None: + info = TAGS_V2_GROUPS[group].get(tag) if group in TAGS_V2_GROUPS else None + else: + info = TAGS_V2.get(tag) + return info or TagInfo(tag, TAGS.get(tag, "unknown")) + + +## +# Map tag numbers to tag info. +# +# id: (Name, Type, Length[, enum_values]) +# +# The length here differs from the length in the tiff spec. For +# numbers, the tiff spec is for the number of fields returned. We +# agree here. For string-like types, the tiff spec uses the length of +# field in bytes. In Pillow, we are using the number of expected +# fields, in general 1 for string-like types. + + +BYTE = 1 +ASCII = 2 +SHORT = 3 +LONG = 4 +RATIONAL = 5 +SIGNED_BYTE = 6 +UNDEFINED = 7 +SIGNED_SHORT = 8 +SIGNED_LONG = 9 +SIGNED_RATIONAL = 10 +FLOAT = 11 +DOUBLE = 12 +IFD = 13 +LONG8 = 16 + +_tags_v2: dict[int, tuple[str, int, int] | tuple[str, int, int, dict[str, int]]] = { + 254: ("NewSubfileType", LONG, 1), + 255: ("SubfileType", SHORT, 1), + 256: ("ImageWidth", LONG, 1), + 257: ("ImageLength", LONG, 1), + 258: ("BitsPerSample", SHORT, 0), + 259: ( + "Compression", + SHORT, + 1, + { + "Uncompressed": 1, + "CCITT 1d": 2, + "Group 3 Fax": 3, + "Group 4 Fax": 4, + "LZW": 5, + "JPEG": 6, + "PackBits": 32773, + }, + ), + 262: ( + "PhotometricInterpretation", + SHORT, + 1, + { + "WhiteIsZero": 0, + "BlackIsZero": 1, + "RGB": 2, + "RGB Palette": 3, + "Transparency Mask": 4, + "CMYK": 5, + "YCbCr": 6, + "CieLAB": 8, + "CFA": 32803, # TIFF/EP, Adobe DNG + "LinearRaw": 32892, # Adobe DNG + }, + ), + 263: ("Threshholding", SHORT, 1), + 264: ("CellWidth", SHORT, 1), + 265: ("CellLength", SHORT, 1), + 266: ("FillOrder", SHORT, 1), + 269: ("DocumentName", ASCII, 1), + 270: ("ImageDescription", ASCII, 1), + 271: ("Make", ASCII, 1), + 272: ("Model", ASCII, 1), + 273: ("StripOffsets", LONG, 0), + 274: ("Orientation", SHORT, 1), + 277: ("SamplesPerPixel", SHORT, 1), + 278: ("RowsPerStrip", LONG, 1), + 279: ("StripByteCounts", LONG, 0), + 280: ("MinSampleValue", SHORT, 0), + 281: ("MaxSampleValue", SHORT, 0), + 282: ("XResolution", RATIONAL, 1), + 283: ("YResolution", RATIONAL, 1), + 284: ("PlanarConfiguration", SHORT, 1, {"Contiguous": 1, "Separate": 2}), + 285: ("PageName", ASCII, 1), + 286: ("XPosition", RATIONAL, 1), + 287: ("YPosition", RATIONAL, 1), + 288: ("FreeOffsets", LONG, 1), + 289: ("FreeByteCounts", LONG, 1), + 290: ("GrayResponseUnit", SHORT, 1), + 291: ("GrayResponseCurve", SHORT, 0), + 292: ("T4Options", LONG, 1), + 293: ("T6Options", LONG, 1), + 296: ("ResolutionUnit", SHORT, 1, {"none": 1, "inch": 2, "cm": 3}), + 297: ("PageNumber", SHORT, 2), + 301: ("TransferFunction", SHORT, 0), + 305: ("Software", ASCII, 1), + 306: ("DateTime", ASCII, 1), + 315: ("Artist", ASCII, 1), + 316: ("HostComputer", ASCII, 1), + 317: ("Predictor", SHORT, 1, {"none": 1, "Horizontal Differencing": 2}), + 318: ("WhitePoint", RATIONAL, 2), + 319: ("PrimaryChromaticities", RATIONAL, 6), + 320: ("ColorMap", SHORT, 0), + 321: ("HalftoneHints", SHORT, 2), + 322: ("TileWidth", LONG, 1), + 323: ("TileLength", LONG, 1), + 324: ("TileOffsets", LONG, 0), + 325: ("TileByteCounts", LONG, 0), + 330: ("SubIFDs", LONG, 0), + 332: ("InkSet", SHORT, 1), + 333: ("InkNames", ASCII, 1), + 334: ("NumberOfInks", SHORT, 1), + 336: ("DotRange", SHORT, 0), + 337: ("TargetPrinter", ASCII, 1), + 338: ("ExtraSamples", SHORT, 0), + 339: ("SampleFormat", SHORT, 0), + 340: ("SMinSampleValue", DOUBLE, 0), + 341: ("SMaxSampleValue", DOUBLE, 0), + 342: ("TransferRange", SHORT, 6), + 347: ("JPEGTables", UNDEFINED, 1), + # obsolete JPEG tags + 512: ("JPEGProc", SHORT, 1), + 513: ("JPEGInterchangeFormat", LONG, 1), + 514: ("JPEGInterchangeFormatLength", LONG, 1), + 515: ("JPEGRestartInterval", SHORT, 1), + 517: ("JPEGLosslessPredictors", SHORT, 0), + 518: ("JPEGPointTransforms", SHORT, 0), + 519: ("JPEGQTables", LONG, 0), + 520: ("JPEGDCTables", LONG, 0), + 521: ("JPEGACTables", LONG, 0), + 529: ("YCbCrCoefficients", RATIONAL, 3), + 530: ("YCbCrSubSampling", SHORT, 2), + 531: ("YCbCrPositioning", SHORT, 1), + 532: ("ReferenceBlackWhite", RATIONAL, 6), + 700: ("XMP", BYTE, 0), + 33432: ("Copyright", ASCII, 1), + 33723: ("IptcNaaInfo", UNDEFINED, 1), + 34377: ("PhotoshopInfo", BYTE, 0), + # FIXME add more tags here + 34665: ("ExifIFD", LONG, 1), + 34675: ("ICCProfile", UNDEFINED, 1), + 34853: ("GPSInfoIFD", LONG, 1), + 36864: ("ExifVersion", UNDEFINED, 1), + 37724: ("ImageSourceData", UNDEFINED, 1), + 40965: ("InteroperabilityIFD", LONG, 1), + 41730: ("CFAPattern", UNDEFINED, 1), + # MPInfo + 45056: ("MPFVersion", UNDEFINED, 1), + 45057: ("NumberOfImages", LONG, 1), + 45058: ("MPEntry", UNDEFINED, 1), + 45059: ("ImageUIDList", UNDEFINED, 0), # UNDONE, check + 45060: ("TotalFrames", LONG, 1), + 45313: ("MPIndividualNum", LONG, 1), + 45569: ("PanOrientation", LONG, 1), + 45570: ("PanOverlap_H", RATIONAL, 1), + 45571: ("PanOverlap_V", RATIONAL, 1), + 45572: ("BaseViewpointNum", LONG, 1), + 45573: ("ConvergenceAngle", SIGNED_RATIONAL, 1), + 45574: ("BaselineLength", RATIONAL, 1), + 45575: ("VerticalDivergence", SIGNED_RATIONAL, 1), + 45576: ("AxisDistance_X", SIGNED_RATIONAL, 1), + 45577: ("AxisDistance_Y", SIGNED_RATIONAL, 1), + 45578: ("AxisDistance_Z", SIGNED_RATIONAL, 1), + 45579: ("YawAngle", SIGNED_RATIONAL, 1), + 45580: ("PitchAngle", SIGNED_RATIONAL, 1), + 45581: ("RollAngle", SIGNED_RATIONAL, 1), + 40960: ("FlashPixVersion", UNDEFINED, 1), + 50741: ("MakerNoteSafety", SHORT, 1, {"Unsafe": 0, "Safe": 1}), + 50780: ("BestQualityScale", RATIONAL, 1), + 50838: ("ImageJMetaDataByteCounts", LONG, 0), # Can be more than one + 50839: ("ImageJMetaData", UNDEFINED, 1), # see Issue #2006 +} +_tags_v2_groups = { + # ExifIFD + 34665: { + 36864: ("ExifVersion", UNDEFINED, 1), + 40960: ("FlashPixVersion", UNDEFINED, 1), + 40965: ("InteroperabilityIFD", LONG, 1), + 41730: ("CFAPattern", UNDEFINED, 1), + }, + # GPSInfoIFD + 34853: { + 0: ("GPSVersionID", BYTE, 4), + 1: ("GPSLatitudeRef", ASCII, 2), + 2: ("GPSLatitude", RATIONAL, 3), + 3: ("GPSLongitudeRef", ASCII, 2), + 4: ("GPSLongitude", RATIONAL, 3), + 5: ("GPSAltitudeRef", BYTE, 1), + 6: ("GPSAltitude", RATIONAL, 1), + 7: ("GPSTimeStamp", RATIONAL, 3), + 8: ("GPSSatellites", ASCII, 0), + 9: ("GPSStatus", ASCII, 2), + 10: ("GPSMeasureMode", ASCII, 2), + 11: ("GPSDOP", RATIONAL, 1), + 12: ("GPSSpeedRef", ASCII, 2), + 13: ("GPSSpeed", RATIONAL, 1), + 14: ("GPSTrackRef", ASCII, 2), + 15: ("GPSTrack", RATIONAL, 1), + 16: ("GPSImgDirectionRef", ASCII, 2), + 17: ("GPSImgDirection", RATIONAL, 1), + 18: ("GPSMapDatum", ASCII, 0), + 19: ("GPSDestLatitudeRef", ASCII, 2), + 20: ("GPSDestLatitude", RATIONAL, 3), + 21: ("GPSDestLongitudeRef", ASCII, 2), + 22: ("GPSDestLongitude", RATIONAL, 3), + 23: ("GPSDestBearingRef", ASCII, 2), + 24: ("GPSDestBearing", RATIONAL, 1), + 25: ("GPSDestDistanceRef", ASCII, 2), + 26: ("GPSDestDistance", RATIONAL, 1), + 27: ("GPSProcessingMethod", UNDEFINED, 0), + 28: ("GPSAreaInformation", UNDEFINED, 0), + 29: ("GPSDateStamp", ASCII, 11), + 30: ("GPSDifferential", SHORT, 1), + }, + # InteroperabilityIFD + 40965: {1: ("InteropIndex", ASCII, 1), 2: ("InteropVersion", UNDEFINED, 1)}, +} + +# Legacy Tags structure +# these tags aren't included above, but were in the previous versions +TAGS: dict[int | tuple[int, int], str] = { + 347: "JPEGTables", + 700: "XMP", + # Additional Exif Info + 32932: "Wang Annotation", + 33434: "ExposureTime", + 33437: "FNumber", + 33445: "MD FileTag", + 33446: "MD ScalePixel", + 33447: "MD ColorTable", + 33448: "MD LabName", + 33449: "MD SampleInfo", + 33450: "MD PrepDate", + 33451: "MD PrepTime", + 33452: "MD FileUnits", + 33550: "ModelPixelScaleTag", + 33723: "IptcNaaInfo", + 33918: "INGR Packet Data Tag", + 33919: "INGR Flag Registers", + 33920: "IrasB Transformation Matrix", + 33922: "ModelTiepointTag", + 34264: "ModelTransformationTag", + 34377: "PhotoshopInfo", + 34735: "GeoKeyDirectoryTag", + 34736: "GeoDoubleParamsTag", + 34737: "GeoAsciiParamsTag", + 34850: "ExposureProgram", + 34852: "SpectralSensitivity", + 34855: "ISOSpeedRatings", + 34856: "OECF", + 34864: "SensitivityType", + 34865: "StandardOutputSensitivity", + 34866: "RecommendedExposureIndex", + 34867: "ISOSpeed", + 34868: "ISOSpeedLatitudeyyy", + 34869: "ISOSpeedLatitudezzz", + 34908: "HylaFAX FaxRecvParams", + 34909: "HylaFAX FaxSubAddress", + 34910: "HylaFAX FaxRecvTime", + 36864: "ExifVersion", + 36867: "DateTimeOriginal", + 36868: "DateTimeDigitized", + 37121: "ComponentsConfiguration", + 37122: "CompressedBitsPerPixel", + 37724: "ImageSourceData", + 37377: "ShutterSpeedValue", + 37378: "ApertureValue", + 37379: "BrightnessValue", + 37380: "ExposureBiasValue", + 37381: "MaxApertureValue", + 37382: "SubjectDistance", + 37383: "MeteringMode", + 37384: "LightSource", + 37385: "Flash", + 37386: "FocalLength", + 37396: "SubjectArea", + 37500: "MakerNote", + 37510: "UserComment", + 37520: "SubSec", + 37521: "SubSecTimeOriginal", + 37522: "SubsecTimeDigitized", + 40960: "FlashPixVersion", + 40961: "ColorSpace", + 40962: "PixelXDimension", + 40963: "PixelYDimension", + 40964: "RelatedSoundFile", + 40965: "InteroperabilityIFD", + 41483: "FlashEnergy", + 41484: "SpatialFrequencyResponse", + 41486: "FocalPlaneXResolution", + 41487: "FocalPlaneYResolution", + 41488: "FocalPlaneResolutionUnit", + 41492: "SubjectLocation", + 41493: "ExposureIndex", + 41495: "SensingMethod", + 41728: "FileSource", + 41729: "SceneType", + 41730: "CFAPattern", + 41985: "CustomRendered", + 41986: "ExposureMode", + 41987: "WhiteBalance", + 41988: "DigitalZoomRatio", + 41989: "FocalLengthIn35mmFilm", + 41990: "SceneCaptureType", + 41991: "GainControl", + 41992: "Contrast", + 41993: "Saturation", + 41994: "Sharpness", + 41995: "DeviceSettingDescription", + 41996: "SubjectDistanceRange", + 42016: "ImageUniqueID", + 42032: "CameraOwnerName", + 42033: "BodySerialNumber", + 42034: "LensSpecification", + 42035: "LensMake", + 42036: "LensModel", + 42037: "LensSerialNumber", + 42112: "GDAL_METADATA", + 42113: "GDAL_NODATA", + 42240: "Gamma", + 50215: "Oce Scanjob Description", + 50216: "Oce Application Selector", + 50217: "Oce Identification Number", + 50218: "Oce ImageLogic Characteristics", + # Adobe DNG + 50706: "DNGVersion", + 50707: "DNGBackwardVersion", + 50708: "UniqueCameraModel", + 50709: "LocalizedCameraModel", + 50710: "CFAPlaneColor", + 50711: "CFALayout", + 50712: "LinearizationTable", + 50713: "BlackLevelRepeatDim", + 50714: "BlackLevel", + 50715: "BlackLevelDeltaH", + 50716: "BlackLevelDeltaV", + 50717: "WhiteLevel", + 50718: "DefaultScale", + 50719: "DefaultCropOrigin", + 50720: "DefaultCropSize", + 50721: "ColorMatrix1", + 50722: "ColorMatrix2", + 50723: "CameraCalibration1", + 50724: "CameraCalibration2", + 50725: "ReductionMatrix1", + 50726: "ReductionMatrix2", + 50727: "AnalogBalance", + 50728: "AsShotNeutral", + 50729: "AsShotWhiteXY", + 50730: "BaselineExposure", + 50731: "BaselineNoise", + 50732: "BaselineSharpness", + 50733: "BayerGreenSplit", + 50734: "LinearResponseLimit", + 50735: "CameraSerialNumber", + 50736: "LensInfo", + 50737: "ChromaBlurRadius", + 50738: "AntiAliasStrength", + 50740: "DNGPrivateData", + 50778: "CalibrationIlluminant1", + 50779: "CalibrationIlluminant2", + 50784: "Alias Layer Metadata", +} + +TAGS_V2: dict[int, TagInfo] = {} +TAGS_V2_GROUPS: dict[int, dict[int, TagInfo]] = {} + + +def _populate() -> None: + for k, v in _tags_v2.items(): + # Populate legacy structure. + TAGS[k] = v[0] + if len(v) == 4: + for sk, sv in v[3].items(): + TAGS[(k, sv)] = sk + + TAGS_V2[k] = TagInfo(k, *v) + + for group, tags in _tags_v2_groups.items(): + TAGS_V2_GROUPS[group] = {k: TagInfo(k, *v) for k, v in tags.items()} + + +_populate() +## +# Map type numbers to type names -- defined in ImageFileDirectory. + +TYPES: dict[int, str] = {} + +# +# These tags are handled by default in libtiff, without +# adding to the custom dictionary. From tif_dir.c, searching for +# case TIFFTAG in the _TIFFVSetField function: +# Line: item. +# 148: case TIFFTAG_SUBFILETYPE: +# 151: case TIFFTAG_IMAGEWIDTH: +# 154: case TIFFTAG_IMAGELENGTH: +# 157: case TIFFTAG_BITSPERSAMPLE: +# 181: case TIFFTAG_COMPRESSION: +# 202: case TIFFTAG_PHOTOMETRIC: +# 205: case TIFFTAG_THRESHHOLDING: +# 208: case TIFFTAG_FILLORDER: +# 214: case TIFFTAG_ORIENTATION: +# 221: case TIFFTAG_SAMPLESPERPIXEL: +# 228: case TIFFTAG_ROWSPERSTRIP: +# 238: case TIFFTAG_MINSAMPLEVALUE: +# 241: case TIFFTAG_MAXSAMPLEVALUE: +# 244: case TIFFTAG_SMINSAMPLEVALUE: +# 247: case TIFFTAG_SMAXSAMPLEVALUE: +# 250: case TIFFTAG_XRESOLUTION: +# 256: case TIFFTAG_YRESOLUTION: +# 262: case TIFFTAG_PLANARCONFIG: +# 268: case TIFFTAG_XPOSITION: +# 271: case TIFFTAG_YPOSITION: +# 274: case TIFFTAG_RESOLUTIONUNIT: +# 280: case TIFFTAG_PAGENUMBER: +# 284: case TIFFTAG_HALFTONEHINTS: +# 288: case TIFFTAG_COLORMAP: +# 294: case TIFFTAG_EXTRASAMPLES: +# 298: case TIFFTAG_MATTEING: +# 305: case TIFFTAG_TILEWIDTH: +# 316: case TIFFTAG_TILELENGTH: +# 327: case TIFFTAG_TILEDEPTH: +# 333: case TIFFTAG_DATATYPE: +# 344: case TIFFTAG_SAMPLEFORMAT: +# 361: case TIFFTAG_IMAGEDEPTH: +# 364: case TIFFTAG_SUBIFD: +# 376: case TIFFTAG_YCBCRPOSITIONING: +# 379: case TIFFTAG_YCBCRSUBSAMPLING: +# 383: case TIFFTAG_TRANSFERFUNCTION: +# 389: case TIFFTAG_REFERENCEBLACKWHITE: +# 393: case TIFFTAG_INKNAMES: + +# Following pseudo-tags are also handled by default in libtiff: +# TIFFTAG_JPEGQUALITY 65537 + +# some of these are not in our TAGS_V2 dict and were included from tiff.h + +# This list also exists in encode.c +LIBTIFF_CORE = { + 255, + 256, + 257, + 258, + 259, + 262, + 263, + 266, + 274, + 277, + 278, + 280, + 281, + 340, + 341, + 282, + 283, + 284, + 286, + 287, + 296, + 297, + 321, + 320, + 338, + 32995, + 322, + 323, + 32998, + 32996, + 339, + 32997, + 330, + 531, + 530, + 301, + 532, + 333, + # as above + 269, # this has been in our tests forever, and works + 65537, +} + +LIBTIFF_CORE.remove(255) # We don't have support for subfiletypes +LIBTIFF_CORE.remove(322) # We don't have support for writing tiled images with libtiff +LIBTIFF_CORE.remove(323) # Tiled images +LIBTIFF_CORE.remove(333) # Ink Names either + +# Note to advanced users: There may be combinations of these +# parameters and values that when added properly, will work and +# produce valid tiff images that may work in your application. +# It is safe to add and remove tags from this set from Pillow's point +# of view so long as you test against libtiff. diff --git a/venv/Lib/site-packages/PIL/WalImageFile.py b/venv/Lib/site-packages/PIL/WalImageFile.py new file mode 100644 index 00000000..87e32878 --- /dev/null +++ b/venv/Lib/site-packages/PIL/WalImageFile.py @@ -0,0 +1,127 @@ +# +# The Python Imaging Library. +# $Id$ +# +# WAL file handling +# +# History: +# 2003-04-23 fl created +# +# Copyright (c) 2003 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# + +""" +This reader is based on the specification available from: +https://www.flipcode.com/archives/Quake_2_BSP_File_Format.shtml +and has been tested with a few sample files found using google. + +.. note:: + This format cannot be automatically recognized, so the reader + is not registered for use with :py:func:`PIL.Image.open()`. + To open a WAL file, use the :py:func:`PIL.WalImageFile.open()` function instead. +""" +from __future__ import annotations + +from typing import IO + +from . import Image, ImageFile +from ._binary import i32le as i32 +from ._typing import StrOrBytesPath + + +class WalImageFile(ImageFile.ImageFile): + format = "WAL" + format_description = "Quake2 Texture" + + def _open(self) -> None: + self._mode = "P" + + # read header fields + header = self.fp.read(32 + 24 + 32 + 12) + self._size = i32(header, 32), i32(header, 36) + Image._decompression_bomb_check(self.size) + + # load pixel data + offset = i32(header, 40) + self.fp.seek(offset) + + # strings are null-terminated + self.info["name"] = header[:32].split(b"\0", 1)[0] + next_name = header[56 : 56 + 32].split(b"\0", 1)[0] + if next_name: + self.info["next_name"] = next_name + + def load(self) -> Image.core.PixelAccess | None: + if self._im is None: + self.im = Image.core.new(self.mode, self.size) + self.frombytes(self.fp.read(self.size[0] * self.size[1])) + self.putpalette(quake2palette) + return Image.Image.load(self) + + +def open(filename: StrOrBytesPath | IO[bytes]) -> WalImageFile: + """ + Load texture from a Quake2 WAL texture file. + + By default, a Quake2 standard palette is attached to the texture. + To override the palette, use the :py:func:`PIL.Image.Image.putpalette()` method. + + :param filename: WAL file name, or an opened file handle. + :returns: An image instance. + """ + return WalImageFile(filename) + + +quake2palette = ( + # default palette taken from piffo 0.93 by Hans Häggström + b"\x01\x01\x01\x0b\x0b\x0b\x12\x12\x12\x17\x17\x17\x1b\x1b\x1b\x1e" + b"\x1e\x1e\x22\x22\x22\x26\x26\x26\x29\x29\x29\x2c\x2c\x2c\x2f\x2f" + b"\x2f\x32\x32\x32\x35\x35\x35\x37\x37\x37\x3a\x3a\x3a\x3c\x3c\x3c" + b"\x24\x1e\x13\x22\x1c\x12\x20\x1b\x12\x1f\x1a\x10\x1d\x19\x10\x1b" + b"\x17\x0f\x1a\x16\x0f\x18\x14\x0d\x17\x13\x0d\x16\x12\x0d\x14\x10" + b"\x0b\x13\x0f\x0b\x10\x0d\x0a\x0f\x0b\x0a\x0d\x0b\x07\x0b\x0a\x07" + b"\x23\x23\x26\x22\x22\x25\x22\x20\x23\x21\x1f\x22\x20\x1e\x20\x1f" + b"\x1d\x1e\x1d\x1b\x1c\x1b\x1a\x1a\x1a\x19\x19\x18\x17\x17\x17\x16" + b"\x16\x14\x14\x14\x13\x13\x13\x10\x10\x10\x0f\x0f\x0f\x0d\x0d\x0d" + b"\x2d\x28\x20\x29\x24\x1c\x27\x22\x1a\x25\x1f\x17\x38\x2e\x1e\x31" + b"\x29\x1a\x2c\x25\x17\x26\x20\x14\x3c\x30\x14\x37\x2c\x13\x33\x28" + b"\x12\x2d\x24\x10\x28\x1f\x0f\x22\x1a\x0b\x1b\x14\x0a\x13\x0f\x07" + b"\x31\x1a\x16\x30\x17\x13\x2e\x16\x10\x2c\x14\x0d\x2a\x12\x0b\x27" + b"\x0f\x0a\x25\x0f\x07\x21\x0d\x01\x1e\x0b\x01\x1c\x0b\x01\x1a\x0b" + b"\x01\x18\x0a\x01\x16\x0a\x01\x13\x0a\x01\x10\x07\x01\x0d\x07\x01" + b"\x29\x23\x1e\x27\x21\x1c\x26\x20\x1b\x25\x1f\x1a\x23\x1d\x19\x21" + b"\x1c\x18\x20\x1b\x17\x1e\x19\x16\x1c\x18\x14\x1b\x17\x13\x19\x14" + b"\x10\x17\x13\x0f\x14\x10\x0d\x12\x0f\x0b\x0f\x0b\x0a\x0b\x0a\x07" + b"\x26\x1a\x0f\x23\x19\x0f\x20\x17\x0f\x1c\x16\x0f\x19\x13\x0d\x14" + b"\x10\x0b\x10\x0d\x0a\x0b\x0a\x07\x33\x22\x1f\x35\x29\x26\x37\x2f" + b"\x2d\x39\x35\x34\x37\x39\x3a\x33\x37\x39\x30\x34\x36\x2b\x31\x34" + b"\x27\x2e\x31\x22\x2b\x2f\x1d\x28\x2c\x17\x25\x2a\x0f\x20\x26\x0d" + b"\x1e\x25\x0b\x1c\x22\x0a\x1b\x20\x07\x19\x1e\x07\x17\x1b\x07\x14" + b"\x18\x01\x12\x16\x01\x0f\x12\x01\x0b\x0d\x01\x07\x0a\x01\x01\x01" + b"\x2c\x21\x21\x2a\x1f\x1f\x29\x1d\x1d\x27\x1c\x1c\x26\x1a\x1a\x24" + b"\x18\x18\x22\x17\x17\x21\x16\x16\x1e\x13\x13\x1b\x12\x12\x18\x10" + b"\x10\x16\x0d\x0d\x12\x0b\x0b\x0d\x0a\x0a\x0a\x07\x07\x01\x01\x01" + b"\x2e\x30\x29\x2d\x2e\x27\x2b\x2c\x26\x2a\x2a\x24\x28\x29\x23\x27" + b"\x27\x21\x26\x26\x1f\x24\x24\x1d\x22\x22\x1c\x1f\x1f\x1a\x1c\x1c" + b"\x18\x19\x19\x16\x17\x17\x13\x13\x13\x10\x0f\x0f\x0d\x0b\x0b\x0a" + b"\x30\x1e\x1b\x2d\x1c\x19\x2c\x1a\x17\x2a\x19\x14\x28\x17\x13\x26" + b"\x16\x10\x24\x13\x0f\x21\x12\x0d\x1f\x10\x0b\x1c\x0f\x0a\x19\x0d" + b"\x0a\x16\x0b\x07\x12\x0a\x07\x0f\x07\x01\x0a\x01\x01\x01\x01\x01" + b"\x28\x29\x38\x26\x27\x36\x25\x26\x34\x24\x24\x31\x22\x22\x2f\x20" + b"\x21\x2d\x1e\x1f\x2a\x1d\x1d\x27\x1b\x1b\x25\x19\x19\x21\x17\x17" + b"\x1e\x14\x14\x1b\x13\x12\x17\x10\x0f\x13\x0d\x0b\x0f\x0a\x07\x07" + b"\x2f\x32\x29\x2d\x30\x26\x2b\x2e\x24\x29\x2c\x21\x27\x2a\x1e\x25" + b"\x28\x1c\x23\x26\x1a\x21\x25\x18\x1e\x22\x14\x1b\x1f\x10\x19\x1c" + b"\x0d\x17\x1a\x0a\x13\x17\x07\x10\x13\x01\x0d\x0f\x01\x0a\x0b\x01" + b"\x01\x3f\x01\x13\x3c\x0b\x1b\x39\x10\x20\x35\x14\x23\x31\x17\x23" + b"\x2d\x18\x23\x29\x18\x3f\x3f\x3f\x3f\x3f\x39\x3f\x3f\x31\x3f\x3f" + b"\x2a\x3f\x3f\x20\x3f\x3f\x14\x3f\x3c\x12\x3f\x39\x0f\x3f\x35\x0b" + b"\x3f\x32\x07\x3f\x2d\x01\x3d\x2a\x01\x3b\x26\x01\x39\x21\x01\x37" + b"\x1d\x01\x34\x1a\x01\x32\x16\x01\x2f\x12\x01\x2d\x0f\x01\x2a\x0b" + b"\x01\x27\x07\x01\x23\x01\x01\x1d\x01\x01\x17\x01\x01\x10\x01\x01" + b"\x3d\x01\x01\x19\x19\x3f\x3f\x01\x01\x01\x01\x3f\x16\x16\x13\x10" + b"\x10\x0f\x0d\x0d\x0b\x3c\x2e\x2a\x36\x27\x20\x30\x21\x18\x29\x1b" + b"\x10\x3c\x39\x37\x37\x32\x2f\x31\x2c\x28\x2b\x26\x21\x30\x22\x20" +) diff --git a/venv/Lib/site-packages/PIL/WebPImagePlugin.py b/venv/Lib/site-packages/PIL/WebPImagePlugin.py new file mode 100644 index 00000000..64188f28 --- /dev/null +++ b/venv/Lib/site-packages/PIL/WebPImagePlugin.py @@ -0,0 +1,323 @@ +from __future__ import annotations + +from io import BytesIO +from typing import IO, Any + +from . import Image, ImageFile + +try: + from . import _webp + + SUPPORTED = True +except ImportError: + SUPPORTED = False + + +_VP8_MODES_BY_IDENTIFIER = { + b"VP8 ": "RGB", + b"VP8X": "RGBA", + b"VP8L": "RGBA", # lossless +} + + +def _accept(prefix: bytes) -> bool | str: + is_riff_file_format = prefix[:4] == b"RIFF" + is_webp_file = prefix[8:12] == b"WEBP" + is_valid_vp8_mode = prefix[12:16] in _VP8_MODES_BY_IDENTIFIER + + if is_riff_file_format and is_webp_file and is_valid_vp8_mode: + if not SUPPORTED: + return ( + "image file could not be identified because WEBP support not installed" + ) + return True + return False + + +class WebPImageFile(ImageFile.ImageFile): + format = "WEBP" + format_description = "WebP image" + __loaded = 0 + __logical_frame = 0 + + def _open(self) -> None: + # Use the newer AnimDecoder API to parse the (possibly) animated file, + # and access muxed chunks like ICC/EXIF/XMP. + self._decoder = _webp.WebPAnimDecoder(self.fp.read()) + + # Get info from decoder + width, height, loop_count, bgcolor, frame_count, mode = self._decoder.get_info() + self._size = width, height + self.info["loop"] = loop_count + bg_a, bg_r, bg_g, bg_b = ( + (bgcolor >> 24) & 0xFF, + (bgcolor >> 16) & 0xFF, + (bgcolor >> 8) & 0xFF, + bgcolor & 0xFF, + ) + self.info["background"] = (bg_r, bg_g, bg_b, bg_a) + self.n_frames = frame_count + self.is_animated = self.n_frames > 1 + self._mode = "RGB" if mode == "RGBX" else mode + self.rawmode = mode + self.tile = [] + + # Attempt to read ICC / EXIF / XMP chunks from file + icc_profile = self._decoder.get_chunk("ICCP") + exif = self._decoder.get_chunk("EXIF") + xmp = self._decoder.get_chunk("XMP ") + if icc_profile: + self.info["icc_profile"] = icc_profile + if exif: + self.info["exif"] = exif + if xmp: + self.info["xmp"] = xmp + + # Initialize seek state + self._reset(reset=False) + + def _getexif(self) -> dict[int, Any] | None: + if "exif" not in self.info: + return None + return self.getexif()._get_merged_dict() + + def seek(self, frame: int) -> None: + if not self._seek_check(frame): + return + + # Set logical frame to requested position + self.__logical_frame = frame + + def _reset(self, reset: bool = True) -> None: + if reset: + self._decoder.reset() + self.__physical_frame = 0 + self.__loaded = -1 + self.__timestamp = 0 + + def _get_next(self) -> tuple[bytes, int, int]: + # Get next frame + ret = self._decoder.get_next() + self.__physical_frame += 1 + + # Check if an error occurred + if ret is None: + self._reset() # Reset just to be safe + self.seek(0) + msg = "failed to decode next frame in WebP file" + raise EOFError(msg) + + # Compute duration + data, timestamp = ret + duration = timestamp - self.__timestamp + self.__timestamp = timestamp + + # libwebp gives frame end, adjust to start of frame + timestamp -= duration + return data, timestamp, duration + + def _seek(self, frame: int) -> None: + if self.__physical_frame == frame: + return # Nothing to do + if frame < self.__physical_frame: + self._reset() # Rewind to beginning + while self.__physical_frame < frame: + self._get_next() # Advance to the requested frame + + def load(self) -> Image.core.PixelAccess | None: + if self.__loaded != self.__logical_frame: + self._seek(self.__logical_frame) + + # We need to load the image data for this frame + data, timestamp, duration = self._get_next() + self.info["timestamp"] = timestamp + self.info["duration"] = duration + self.__loaded = self.__logical_frame + + # Set tile + if self.fp and self._exclusive_fp: + self.fp.close() + self.fp = BytesIO(data) + self.tile = [ImageFile._Tile("raw", (0, 0) + self.size, 0, self.rawmode)] + + return super().load() + + def load_seek(self, pos: int) -> None: + pass + + def tell(self) -> int: + return self.__logical_frame + + +def _convert_frame(im: Image.Image) -> Image.Image: + # Make sure image mode is supported + if im.mode not in ("RGBX", "RGBA", "RGB"): + im = im.convert("RGBA" if im.has_transparency_data else "RGB") + return im + + +def _save_all(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + encoderinfo = im.encoderinfo.copy() + append_images = list(encoderinfo.get("append_images", [])) + + # If total frame count is 1, then save using the legacy API, which + # will preserve non-alpha modes + total = 0 + for ims in [im] + append_images: + total += getattr(ims, "n_frames", 1) + if total == 1: + _save(im, fp, filename) + return + + background: int | tuple[int, ...] = (0, 0, 0, 0) + if "background" in encoderinfo: + background = encoderinfo["background"] + elif "background" in im.info: + background = im.info["background"] + if isinstance(background, int): + # GifImagePlugin stores a global color table index in + # info["background"]. So it must be converted to an RGBA value + palette = im.getpalette() + if palette: + r, g, b = palette[background * 3 : (background + 1) * 3] + background = (r, g, b, 255) + else: + background = (background, background, background, 255) + + duration = im.encoderinfo.get("duration", im.info.get("duration", 0)) + loop = im.encoderinfo.get("loop", 0) + minimize_size = im.encoderinfo.get("minimize_size", False) + kmin = im.encoderinfo.get("kmin", None) + kmax = im.encoderinfo.get("kmax", None) + allow_mixed = im.encoderinfo.get("allow_mixed", False) + verbose = False + lossless = im.encoderinfo.get("lossless", False) + quality = im.encoderinfo.get("quality", 80) + alpha_quality = im.encoderinfo.get("alpha_quality", 100) + method = im.encoderinfo.get("method", 0) + icc_profile = im.encoderinfo.get("icc_profile") or "" + exif = im.encoderinfo.get("exif", "") + if isinstance(exif, Image.Exif): + exif = exif.tobytes() + xmp = im.encoderinfo.get("xmp", "") + if allow_mixed: + lossless = False + + # Sensible keyframe defaults are from gif2webp.c script + if kmin is None: + kmin = 9 if lossless else 3 + if kmax is None: + kmax = 17 if lossless else 5 + + # Validate background color + if ( + not isinstance(background, (list, tuple)) + or len(background) != 4 + or not all(0 <= v < 256 for v in background) + ): + msg = f"Background color is not an RGBA tuple clamped to (0-255): {background}" + raise OSError(msg) + + # Convert to packed uint + bg_r, bg_g, bg_b, bg_a = background + background = (bg_a << 24) | (bg_r << 16) | (bg_g << 8) | (bg_b << 0) + + # Setup the WebP animation encoder + enc = _webp.WebPAnimEncoder( + im.size[0], + im.size[1], + background, + loop, + minimize_size, + kmin, + kmax, + allow_mixed, + verbose, + ) + + # Add each frame + frame_idx = 0 + timestamp = 0 + cur_idx = im.tell() + try: + for ims in [im] + append_images: + # Get # of frames in this image + nfr = getattr(ims, "n_frames", 1) + + for idx in range(nfr): + ims.seek(idx) + + frame = _convert_frame(ims) + + # Append the frame to the animation encoder + enc.add( + frame.getim(), + round(timestamp), + lossless, + quality, + alpha_quality, + method, + ) + + # Update timestamp and frame index + if isinstance(duration, (list, tuple)): + timestamp += duration[frame_idx] + else: + timestamp += duration + frame_idx += 1 + + finally: + im.seek(cur_idx) + + # Force encoder to flush frames + enc.add(None, round(timestamp), lossless, quality, alpha_quality, 0) + + # Get the final output from the encoder + data = enc.assemble(icc_profile, exif, xmp) + if data is None: + msg = "cannot write file as WebP (encoder returned None)" + raise OSError(msg) + + fp.write(data) + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + lossless = im.encoderinfo.get("lossless", False) + quality = im.encoderinfo.get("quality", 80) + alpha_quality = im.encoderinfo.get("alpha_quality", 100) + icc_profile = im.encoderinfo.get("icc_profile") or "" + exif = im.encoderinfo.get("exif", b"") + if isinstance(exif, Image.Exif): + exif = exif.tobytes() + if exif.startswith(b"Exif\x00\x00"): + exif = exif[6:] + xmp = im.encoderinfo.get("xmp", "") + method = im.encoderinfo.get("method", 4) + exact = 1 if im.encoderinfo.get("exact") else 0 + + im = _convert_frame(im) + + data = _webp.WebPEncode( + im.getim(), + lossless, + float(quality), + float(alpha_quality), + icc_profile, + method, + exact, + exif, + xmp, + ) + if data is None: + msg = "cannot write file as WebP (encoder returned None)" + raise OSError(msg) + + fp.write(data) + + +Image.register_open(WebPImageFile.format, WebPImageFile, _accept) +if SUPPORTED: + Image.register_save(WebPImageFile.format, _save) + Image.register_save_all(WebPImageFile.format, _save_all) + Image.register_extension(WebPImageFile.format, ".webp") + Image.register_mime(WebPImageFile.format, "image/webp") diff --git a/venv/Lib/site-packages/PIL/WmfImagePlugin.py b/venv/Lib/site-packages/PIL/WmfImagePlugin.py new file mode 100644 index 00000000..68f8a74f --- /dev/null +++ b/venv/Lib/site-packages/PIL/WmfImagePlugin.py @@ -0,0 +1,181 @@ +# +# The Python Imaging Library +# $Id$ +# +# WMF stub codec +# +# history: +# 1996-12-14 fl Created +# 2004-02-22 fl Turned into a stub driver +# 2004-02-23 fl Added EMF support +# +# Copyright (c) Secret Labs AB 1997-2004. All rights reserved. +# Copyright (c) Fredrik Lundh 1996. +# +# See the README file for information on usage and redistribution. +# +# WMF/EMF reference documentation: +# https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/[MS-WMF].pdf +# http://wvware.sourceforge.net/caolan/index.html +# http://wvware.sourceforge.net/caolan/ora-wmf.html +from __future__ import annotations + +from typing import IO + +from . import Image, ImageFile +from ._binary import i16le as word +from ._binary import si16le as short +from ._binary import si32le as _long + +_handler = None + + +def register_handler(handler: ImageFile.StubHandler | None) -> None: + """ + Install application-specific WMF image handler. + + :param handler: Handler object. + """ + global _handler + _handler = handler + + +if hasattr(Image.core, "drawwmf"): + # install default handler (windows only) + + class WmfHandler(ImageFile.StubHandler): + def open(self, im: ImageFile.StubImageFile) -> None: + im._mode = "RGB" + self.bbox = im.info["wmf_bbox"] + + def load(self, im: ImageFile.StubImageFile) -> Image.Image: + im.fp.seek(0) # rewind + return Image.frombytes( + "RGB", + im.size, + Image.core.drawwmf(im.fp.read(), im.size, self.bbox), + "raw", + "BGR", + (im.size[0] * 3 + 3) & -4, + -1, + ) + + register_handler(WmfHandler()) + +# +# -------------------------------------------------------------------- +# Read WMF file + + +def _accept(prefix: bytes) -> bool: + return ( + prefix[:6] == b"\xd7\xcd\xc6\x9a\x00\x00" or prefix[:4] == b"\x01\x00\x00\x00" + ) + + +## +# Image plugin for Windows metafiles. + + +class WmfStubImageFile(ImageFile.StubImageFile): + format = "WMF" + format_description = "Windows Metafile" + + def _open(self) -> None: + self._inch = None + + # check placable header + s = self.fp.read(80) + + if s[:6] == b"\xd7\xcd\xc6\x9a\x00\x00": + # placeable windows metafile + + # get units per inch + self._inch = word(s, 14) + + # get bounding box + x0 = short(s, 6) + y0 = short(s, 8) + x1 = short(s, 10) + y1 = short(s, 12) + + # normalize size to 72 dots per inch + self.info["dpi"] = 72 + size = ( + (x1 - x0) * self.info["dpi"] // self._inch, + (y1 - y0) * self.info["dpi"] // self._inch, + ) + + self.info["wmf_bbox"] = x0, y0, x1, y1 + + # sanity check (standard metafile header) + if s[22:26] != b"\x01\x00\t\x00": + msg = "Unsupported WMF file format" + raise SyntaxError(msg) + + elif s[:4] == b"\x01\x00\x00\x00" and s[40:44] == b" EMF": + # enhanced metafile + + # get bounding box + x0 = _long(s, 8) + y0 = _long(s, 12) + x1 = _long(s, 16) + y1 = _long(s, 20) + + # get frame (in 0.01 millimeter units) + frame = _long(s, 24), _long(s, 28), _long(s, 32), _long(s, 36) + + size = x1 - x0, y1 - y0 + + # calculate dots per inch from bbox and frame + xdpi = 2540.0 * (x1 - y0) / (frame[2] - frame[0]) + ydpi = 2540.0 * (y1 - y0) / (frame[3] - frame[1]) + + self.info["wmf_bbox"] = x0, y0, x1, y1 + + if xdpi == ydpi: + self.info["dpi"] = xdpi + else: + self.info["dpi"] = xdpi, ydpi + + else: + msg = "Unsupported file format" + raise SyntaxError(msg) + + self._mode = "RGB" + self._size = size + + loader = self._load() + if loader: + loader.open(self) + + def _load(self) -> ImageFile.StubHandler | None: + return _handler + + def load(self, dpi: int | None = None) -> Image.core.PixelAccess | None: + if dpi is not None and self._inch is not None: + self.info["dpi"] = dpi + x0, y0, x1, y1 = self.info["wmf_bbox"] + self._size = ( + (x1 - x0) * self.info["dpi"] // self._inch, + (y1 - y0) * self.info["dpi"] // self._inch, + ) + return super().load() + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if _handler is None or not hasattr(_handler, "save"): + msg = "WMF save handler not installed" + raise OSError(msg) + _handler.save(im, fp, filename) + + +# +# -------------------------------------------------------------------- +# Registry stuff + + +Image.register_open(WmfStubImageFile.format, WmfStubImageFile, _accept) +Image.register_save(WmfStubImageFile.format, _save) + +Image.register_extensions(WmfStubImageFile.format, [".wmf", ".emf"]) diff --git a/venv/Lib/site-packages/PIL/XVThumbImagePlugin.py b/venv/Lib/site-packages/PIL/XVThumbImagePlugin.py new file mode 100644 index 00000000..5d1f201a --- /dev/null +++ b/venv/Lib/site-packages/PIL/XVThumbImagePlugin.py @@ -0,0 +1,85 @@ +# +# The Python Imaging Library. +# $Id$ +# +# XV Thumbnail file handler by Charles E. "Gene" Cash +# (gcash@magicnet.net) +# +# see xvcolor.c and xvbrowse.c in the sources to John Bradley's XV, +# available from ftp://ftp.cis.upenn.edu/pub/xv/ +# +# history: +# 98-08-15 cec created (b/w only) +# 98-12-09 cec added color palette +# 98-12-28 fl added to PIL (with only a few very minor modifications) +# +# To do: +# FIXME: make save work (this requires quantization support) +# +from __future__ import annotations + +from . import Image, ImageFile, ImagePalette +from ._binary import o8 + +_MAGIC = b"P7 332" + +# standard color palette for thumbnails (RGB332) +PALETTE = b"" +for r in range(8): + for g in range(8): + for b in range(4): + PALETTE = PALETTE + ( + o8((r * 255) // 7) + o8((g * 255) // 7) + o8((b * 255) // 3) + ) + + +def _accept(prefix: bytes) -> bool: + return prefix[:6] == _MAGIC + + +## +# Image plugin for XV thumbnail images. + + +class XVThumbImageFile(ImageFile.ImageFile): + format = "XVThumb" + format_description = "XV thumbnail image" + + def _open(self) -> None: + # check magic + assert self.fp is not None + + if not _accept(self.fp.read(6)): + msg = "not an XV thumbnail file" + raise SyntaxError(msg) + + # Skip to beginning of next line + self.fp.readline() + + # skip info comments + while True: + s = self.fp.readline() + if not s: + msg = "Unexpected EOF reading XV thumbnail file" + raise SyntaxError(msg) + if s[0] != 35: # ie. when not a comment: '#' + break + + # parse header line (already read) + s = s.strip().split() + + self._mode = "P" + self._size = int(s[0]), int(s[1]) + + self.palette = ImagePalette.raw("RGB", PALETTE) + + self.tile = [ + ImageFile._Tile( + "raw", (0, 0) + self.size, self.fp.tell(), (self.mode, 0, 1) + ) + ] + + +# -------------------------------------------------------------------- + +Image.register_open(XVThumbImageFile.format, XVThumbImageFile, _accept) diff --git a/venv/Lib/site-packages/PIL/XbmImagePlugin.py b/venv/Lib/site-packages/PIL/XbmImagePlugin.py new file mode 100644 index 00000000..f3d490a8 --- /dev/null +++ b/venv/Lib/site-packages/PIL/XbmImagePlugin.py @@ -0,0 +1,98 @@ +# +# The Python Imaging Library. +# $Id$ +# +# XBM File handling +# +# History: +# 1995-09-08 fl Created +# 1996-11-01 fl Added save support +# 1997-07-07 fl Made header parser more tolerant +# 1997-07-22 fl Fixed yet another parser bug +# 2001-02-17 fl Use 're' instead of 'regex' (Python 2.1) (0.4) +# 2001-05-13 fl Added hotspot handling (based on code from Bernhard Herzog) +# 2004-02-24 fl Allow some whitespace before first #define +# +# Copyright (c) 1997-2004 by Secret Labs AB +# Copyright (c) 1996-1997 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import re +from typing import IO + +from . import Image, ImageFile + +# XBM header +xbm_head = re.compile( + rb"\s*#define[ \t]+.*_width[ \t]+(?P[0-9]+)[\r\n]+" + b"#define[ \t]+.*_height[ \t]+(?P[0-9]+)[\r\n]+" + b"(?P" + b"#define[ \t]+[^_]*_x_hot[ \t]+(?P[0-9]+)[\r\n]+" + b"#define[ \t]+[^_]*_y_hot[ \t]+(?P[0-9]+)[\r\n]+" + b")?" + rb"[\000-\377]*_bits\[]" +) + + +def _accept(prefix: bytes) -> bool: + return prefix.lstrip()[:7] == b"#define" + + +## +# Image plugin for X11 bitmaps. + + +class XbmImageFile(ImageFile.ImageFile): + format = "XBM" + format_description = "X11 Bitmap" + + def _open(self) -> None: + assert self.fp is not None + + m = xbm_head.match(self.fp.read(512)) + + if not m: + msg = "not a XBM file" + raise SyntaxError(msg) + + xsize = int(m.group("width")) + ysize = int(m.group("height")) + + if m.group("hotspot"): + self.info["hotspot"] = (int(m.group("xhot")), int(m.group("yhot"))) + + self._mode = "1" + self._size = xsize, ysize + + self.tile = [ImageFile._Tile("xbm", (0, 0) + self.size, m.end(), None)] + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if im.mode != "1": + msg = f"cannot write mode {im.mode} as XBM" + raise OSError(msg) + + fp.write(f"#define im_width {im.size[0]}\n".encode("ascii")) + fp.write(f"#define im_height {im.size[1]}\n".encode("ascii")) + + hotspot = im.encoderinfo.get("hotspot") + if hotspot: + fp.write(f"#define im_x_hot {hotspot[0]}\n".encode("ascii")) + fp.write(f"#define im_y_hot {hotspot[1]}\n".encode("ascii")) + + fp.write(b"static char im_bits[] = {\n") + + ImageFile._save(im, fp, [ImageFile._Tile("xbm", (0, 0) + im.size, 0, None)]) + + fp.write(b"};\n") + + +Image.register_open(XbmImageFile.format, XbmImageFile, _accept) +Image.register_save(XbmImageFile.format, _save) + +Image.register_extension(XbmImageFile.format, ".xbm") + +Image.register_mime(XbmImageFile.format, "image/xbm") diff --git a/venv/Lib/site-packages/PIL/XpmImagePlugin.py b/venv/Lib/site-packages/PIL/XpmImagePlugin.py new file mode 100644 index 00000000..1fc6c0c3 --- /dev/null +++ b/venv/Lib/site-packages/PIL/XpmImagePlugin.py @@ -0,0 +1,127 @@ +# +# The Python Imaging Library. +# $Id$ +# +# XPM File handling +# +# History: +# 1996-12-29 fl Created +# 2001-02-17 fl Use 're' instead of 'regex' (Python 2.1) (0.7) +# +# Copyright (c) Secret Labs AB 1997-2001. +# Copyright (c) Fredrik Lundh 1996-2001. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import re + +from . import Image, ImageFile, ImagePalette +from ._binary import o8 + +# XPM header +xpm_head = re.compile(b'"([0-9]*) ([0-9]*) ([0-9]*) ([0-9]*)') + + +def _accept(prefix: bytes) -> bool: + return prefix[:9] == b"/* XPM */" + + +## +# Image plugin for X11 pixel maps. + + +class XpmImageFile(ImageFile.ImageFile): + format = "XPM" + format_description = "X11 Pixel Map" + + def _open(self) -> None: + if not _accept(self.fp.read(9)): + msg = "not an XPM file" + raise SyntaxError(msg) + + # skip forward to next string + while True: + s = self.fp.readline() + if not s: + msg = "broken XPM file" + raise SyntaxError(msg) + m = xpm_head.match(s) + if m: + break + + self._size = int(m.group(1)), int(m.group(2)) + + pal = int(m.group(3)) + bpp = int(m.group(4)) + + if pal > 256 or bpp != 1: + msg = "cannot read this XPM file" + raise ValueError(msg) + + # + # load palette description + + palette = [b"\0\0\0"] * 256 + + for _ in range(pal): + s = self.fp.readline() + if s[-2:] == b"\r\n": + s = s[:-2] + elif s[-1:] in b"\r\n": + s = s[:-1] + + c = s[1] + s = s[2:-2].split() + + for i in range(0, len(s), 2): + if s[i] == b"c": + # process colour key + rgb = s[i + 1] + if rgb == b"None": + self.info["transparency"] = c + elif rgb[:1] == b"#": + # FIXME: handle colour names (see ImagePalette.py) + rgb = int(rgb[1:], 16) + palette[c] = ( + o8((rgb >> 16) & 255) + o8((rgb >> 8) & 255) + o8(rgb & 255) + ) + else: + # unknown colour + msg = "cannot read this XPM file" + raise ValueError(msg) + break + + else: + # missing colour key + msg = "cannot read this XPM file" + raise ValueError(msg) + + self._mode = "P" + self.palette = ImagePalette.raw("RGB", b"".join(palette)) + + self.tile = [ + ImageFile._Tile("raw", (0, 0) + self.size, self.fp.tell(), ("P", 0, 1)) + ] + + def load_read(self, read_bytes: int) -> bytes: + # + # load all image data in one chunk + + xsize, ysize = self.size + + s = [self.fp.readline()[1 : xsize + 1].ljust(xsize) for i in range(ysize)] + + return b"".join(s) + + +# +# Registry + + +Image.register_open(XpmImageFile.format, XpmImageFile, _accept) + +Image.register_extension(XpmImageFile.format, ".xpm") + +Image.register_mime(XpmImageFile.format, "image/xpm") diff --git a/venv/Lib/site-packages/PIL/__init__.py b/venv/Lib/site-packages/PIL/__init__.py new file mode 100644 index 00000000..09546fe6 --- /dev/null +++ b/venv/Lib/site-packages/PIL/__init__.py @@ -0,0 +1,86 @@ +"""Pillow (Fork of the Python Imaging Library) + +Pillow is the friendly PIL fork by Jeffrey A. Clark and contributors. + https://github.com/python-pillow/Pillow/ + +Pillow is forked from PIL 1.1.7. + +PIL is the Python Imaging Library by Fredrik Lundh and contributors. +Copyright (c) 1999 by Secret Labs AB. + +Use PIL.__version__ for this Pillow version. + +;-) +""" + +from __future__ import annotations + +from . import _version + +# VERSION was removed in Pillow 6.0.0. +# PILLOW_VERSION was removed in Pillow 9.0.0. +# Use __version__ instead. +__version__ = _version.__version__ +del _version + + +_plugins = [ + "BlpImagePlugin", + "BmpImagePlugin", + "BufrStubImagePlugin", + "CurImagePlugin", + "DcxImagePlugin", + "DdsImagePlugin", + "EpsImagePlugin", + "FitsImagePlugin", + "FliImagePlugin", + "FpxImagePlugin", + "FtexImagePlugin", + "GbrImagePlugin", + "GifImagePlugin", + "GribStubImagePlugin", + "Hdf5StubImagePlugin", + "IcnsImagePlugin", + "IcoImagePlugin", + "ImImagePlugin", + "ImtImagePlugin", + "IptcImagePlugin", + "JpegImagePlugin", + "Jpeg2KImagePlugin", + "McIdasImagePlugin", + "MicImagePlugin", + "MpegImagePlugin", + "MpoImagePlugin", + "MspImagePlugin", + "PalmImagePlugin", + "PcdImagePlugin", + "PcxImagePlugin", + "PdfImagePlugin", + "PixarImagePlugin", + "PngImagePlugin", + "PpmImagePlugin", + "PsdImagePlugin", + "QoiImagePlugin", + "SgiImagePlugin", + "SpiderImagePlugin", + "SunImagePlugin", + "TgaImagePlugin", + "TiffImagePlugin", + "WebPImagePlugin", + "WmfImagePlugin", + "XbmImagePlugin", + "XpmImagePlugin", + "XVThumbImagePlugin", +] + + +class UnidentifiedImageError(OSError): + """ + Raised in :py:meth:`PIL.Image.open` if an image cannot be opened and identified. + + If a PNG image raises this error, setting :data:`.ImageFile.LOAD_TRUNCATED_IMAGES` + to true may allow the image to be opened after all. The setting will ignore missing + data and checksum failures. + """ + + pass diff --git a/venv/Lib/site-packages/PIL/__main__.py b/venv/Lib/site-packages/PIL/__main__.py new file mode 100644 index 00000000..043156e8 --- /dev/null +++ b/venv/Lib/site-packages/PIL/__main__.py @@ -0,0 +1,7 @@ +from __future__ import annotations + +import sys + +from .features import pilinfo + +pilinfo(supported_formats="--report" not in sys.argv) diff --git a/venv/Lib/site-packages/PIL/__pycache__/BdfFontFile.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/BdfFontFile.cpython-39.pyc new file mode 100644 index 00000000..235333a0 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/BdfFontFile.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/BlpImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/BlpImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..b8062a10 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/BlpImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/BmpImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/BmpImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..32c3dd32 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/BmpImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/BufrStubImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/BufrStubImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..f695b5c9 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/BufrStubImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/ContainerIO.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/ContainerIO.cpython-39.pyc new file mode 100644 index 00000000..6573c39a Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/ContainerIO.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/CurImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/CurImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..f10ed00a Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/CurImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/DcxImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/DcxImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..e9807fab Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/DcxImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/DdsImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/DdsImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..bb49ba41 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/DdsImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/EpsImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/EpsImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..87946819 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/EpsImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/ExifTags.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/ExifTags.cpython-39.pyc new file mode 100644 index 00000000..6979e256 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/ExifTags.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/FitsImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/FitsImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..9773d34e Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/FitsImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/FliImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/FliImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..4715f52a Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/FliImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/FontFile.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/FontFile.cpython-39.pyc new file mode 100644 index 00000000..71cf3b95 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/FontFile.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/FpxImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/FpxImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..3ff1c2af Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/FpxImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/FtexImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/FtexImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..b3caecbf Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/FtexImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/GbrImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/GbrImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..cb3b9a71 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/GbrImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/GdImageFile.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/GdImageFile.cpython-39.pyc new file mode 100644 index 00000000..982dc155 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/GdImageFile.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/GifImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/GifImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..5285f9a6 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/GifImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/GimpGradientFile.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/GimpGradientFile.cpython-39.pyc new file mode 100644 index 00000000..48e529e2 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/GimpGradientFile.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/GimpPaletteFile.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/GimpPaletteFile.cpython-39.pyc new file mode 100644 index 00000000..9b73ebcd Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/GimpPaletteFile.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/GribStubImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/GribStubImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..8c678b26 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/GribStubImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/Hdf5StubImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/Hdf5StubImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..6d771216 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/Hdf5StubImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/IcnsImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/IcnsImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..0467cbf0 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/IcnsImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/IcoImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/IcoImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..1829cc1f Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/IcoImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/ImImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/ImImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..236e382c Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/ImImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/Image.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/Image.cpython-39.pyc new file mode 100644 index 00000000..d8d6dc8a Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/Image.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/ImageChops.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/ImageChops.cpython-39.pyc new file mode 100644 index 00000000..aaf1987f Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/ImageChops.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/ImageCms.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/ImageCms.cpython-39.pyc new file mode 100644 index 00000000..c4d5bf29 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/ImageCms.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/ImageColor.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/ImageColor.cpython-39.pyc new file mode 100644 index 00000000..f3b954b4 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/ImageColor.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/ImageDraw.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/ImageDraw.cpython-39.pyc new file mode 100644 index 00000000..c4a0d03e Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/ImageDraw.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/ImageDraw2.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/ImageDraw2.cpython-39.pyc new file mode 100644 index 00000000..d7bfae5a Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/ImageDraw2.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/ImageEnhance.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/ImageEnhance.cpython-39.pyc new file mode 100644 index 00000000..01795181 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/ImageEnhance.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/ImageFile.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/ImageFile.cpython-39.pyc new file mode 100644 index 00000000..093e9bc0 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/ImageFile.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/ImageFilter.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/ImageFilter.cpython-39.pyc new file mode 100644 index 00000000..813dbaf9 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/ImageFilter.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/ImageFont.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/ImageFont.cpython-39.pyc new file mode 100644 index 00000000..d12c5d04 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/ImageFont.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/ImageGrab.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/ImageGrab.cpython-39.pyc new file mode 100644 index 00000000..9276b15e Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/ImageGrab.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/ImageMath.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/ImageMath.cpython-39.pyc new file mode 100644 index 00000000..a5619301 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/ImageMath.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/ImageMode.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/ImageMode.cpython-39.pyc new file mode 100644 index 00000000..ec8fca47 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/ImageMode.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/ImageMorph.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/ImageMorph.cpython-39.pyc new file mode 100644 index 00000000..62bc7b6f Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/ImageMorph.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/ImageOps.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/ImageOps.cpython-39.pyc new file mode 100644 index 00000000..73faad11 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/ImageOps.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/ImagePalette.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/ImagePalette.cpython-39.pyc new file mode 100644 index 00000000..9494c401 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/ImagePalette.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/ImagePath.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/ImagePath.cpython-39.pyc new file mode 100644 index 00000000..67cf4a28 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/ImagePath.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/ImageQt.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/ImageQt.cpython-39.pyc new file mode 100644 index 00000000..68681545 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/ImageQt.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/ImageSequence.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/ImageSequence.cpython-39.pyc new file mode 100644 index 00000000..09632e46 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/ImageSequence.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/ImageShow.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/ImageShow.cpython-39.pyc new file mode 100644 index 00000000..1c83b63d Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/ImageShow.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/ImageStat.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/ImageStat.cpython-39.pyc new file mode 100644 index 00000000..c968e51f Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/ImageStat.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/ImageTk.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/ImageTk.cpython-39.pyc new file mode 100644 index 00000000..4bd955b8 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/ImageTk.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/ImageTransform.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/ImageTransform.cpython-39.pyc new file mode 100644 index 00000000..41f68a0a Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/ImageTransform.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/ImageWin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/ImageWin.cpython-39.pyc new file mode 100644 index 00000000..61375dca Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/ImageWin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/ImtImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/ImtImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..4e452e69 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/ImtImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/IptcImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/IptcImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..37332fde Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/IptcImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/Jpeg2KImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/Jpeg2KImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..b260752b Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/Jpeg2KImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/JpegImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/JpegImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..badee473 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/JpegImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/JpegPresets.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/JpegPresets.cpython-39.pyc new file mode 100644 index 00000000..d6205957 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/JpegPresets.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/McIdasImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/McIdasImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..61606aef Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/McIdasImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/MicImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/MicImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..e7014af5 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/MicImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/MpegImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/MpegImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..7fa91240 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/MpegImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/MpoImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/MpoImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..e7e3e98f Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/MpoImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/MspImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/MspImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..1aab075d Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/MspImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/PSDraw.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/PSDraw.cpython-39.pyc new file mode 100644 index 00000000..d6bd7a8f Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/PSDraw.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/PaletteFile.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/PaletteFile.cpython-39.pyc new file mode 100644 index 00000000..d972ef7a Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/PaletteFile.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/PalmImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/PalmImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..18b0a143 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/PalmImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/PcdImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/PcdImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..6c3dd8f1 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/PcdImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/PcfFontFile.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/PcfFontFile.cpython-39.pyc new file mode 100644 index 00000000..d1d09fc9 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/PcfFontFile.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/PcxImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/PcxImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..44a038d2 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/PcxImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/PdfImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/PdfImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..eaf7406d Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/PdfImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/PdfParser.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/PdfParser.cpython-39.pyc new file mode 100644 index 00000000..83ed3607 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/PdfParser.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/PixarImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/PixarImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..c4241a5f Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/PixarImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/PngImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/PngImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..8d5b7bf6 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/PngImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/PpmImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/PpmImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..824c76bc Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/PpmImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/PsdImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/PsdImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..3e04386a Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/PsdImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/QoiImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/QoiImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..c528e913 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/QoiImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/SgiImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/SgiImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..c0efe2cc Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/SgiImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/SpiderImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/SpiderImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..d4748fc6 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/SpiderImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/SunImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/SunImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..452035d8 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/SunImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/TarIO.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/TarIO.cpython-39.pyc new file mode 100644 index 00000000..b2984fac Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/TarIO.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/TgaImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/TgaImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..65fb3154 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/TgaImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/TiffImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/TiffImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..a1955ad7 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/TiffImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/TiffTags.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/TiffTags.cpython-39.pyc new file mode 100644 index 00000000..ed07369f Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/TiffTags.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/WalImageFile.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/WalImageFile.cpython-39.pyc new file mode 100644 index 00000000..1684c043 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/WalImageFile.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/WebPImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/WebPImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..55e54443 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/WebPImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/WmfImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/WmfImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..a535c945 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/WmfImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/XVThumbImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/XVThumbImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..88e15ef3 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/XVThumbImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/XbmImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/XbmImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..dda15468 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/XbmImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/XpmImagePlugin.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/XpmImagePlugin.cpython-39.pyc new file mode 100644 index 00000000..6c324a53 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/XpmImagePlugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/__init__.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..3bb31f72 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/__init__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/__main__.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/__main__.cpython-39.pyc new file mode 100644 index 00000000..cc14f97e Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/__main__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/_binary.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/_binary.cpython-39.pyc new file mode 100644 index 00000000..1d6168da Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/_binary.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/_deprecate.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/_deprecate.cpython-39.pyc new file mode 100644 index 00000000..df39c6a0 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/_deprecate.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/_tkinter_finder.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/_tkinter_finder.cpython-39.pyc new file mode 100644 index 00000000..9c21703f Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/_tkinter_finder.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/_typing.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/_typing.cpython-39.pyc new file mode 100644 index 00000000..d7da4118 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/_typing.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/_util.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/_util.cpython-39.pyc new file mode 100644 index 00000000..efc14fb6 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/_util.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/_version.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/_version.cpython-39.pyc new file mode 100644 index 00000000..028717d3 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/_version.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/features.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/features.cpython-39.pyc new file mode 100644 index 00000000..930d370c Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/features.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/__pycache__/report.cpython-39.pyc b/venv/Lib/site-packages/PIL/__pycache__/report.cpython-39.pyc new file mode 100644 index 00000000..15cc3963 Binary files /dev/null and b/venv/Lib/site-packages/PIL/__pycache__/report.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/PIL/_binary.py b/venv/Lib/site-packages/PIL/_binary.py new file mode 100644 index 00000000..4594ccce --- /dev/null +++ b/venv/Lib/site-packages/PIL/_binary.py @@ -0,0 +1,112 @@ +# +# The Python Imaging Library. +# $Id$ +# +# Binary input/output support routines. +# +# Copyright (c) 1997-2003 by Secret Labs AB +# Copyright (c) 1995-2003 by Fredrik Lundh +# Copyright (c) 2012 by Brian Crowell +# +# See the README file for information on usage and redistribution. +# + + +"""Binary input/output support routines.""" +from __future__ import annotations + +from struct import pack, unpack_from + + +def i8(c: bytes) -> int: + return c[0] + + +def o8(i: int) -> bytes: + return bytes((i & 255,)) + + +# Input, le = little endian, be = big endian +def i16le(c: bytes, o: int = 0) -> int: + """ + Converts a 2-bytes (16 bits) string to an unsigned integer. + + :param c: string containing bytes to convert + :param o: offset of bytes to convert in string + """ + return unpack_from(" int: + """ + Converts a 2-bytes (16 bits) string to a signed integer. + + :param c: string containing bytes to convert + :param o: offset of bytes to convert in string + """ + return unpack_from(" int: + """ + Converts a 2-bytes (16 bits) string to a signed integer, big endian. + + :param c: string containing bytes to convert + :param o: offset of bytes to convert in string + """ + return unpack_from(">h", c, o)[0] + + +def i32le(c: bytes, o: int = 0) -> int: + """ + Converts a 4-bytes (32 bits) string to an unsigned integer. + + :param c: string containing bytes to convert + :param o: offset of bytes to convert in string + """ + return unpack_from(" int: + """ + Converts a 4-bytes (32 bits) string to a signed integer. + + :param c: string containing bytes to convert + :param o: offset of bytes to convert in string + """ + return unpack_from(" int: + """ + Converts a 4-bytes (32 bits) string to a signed integer, big endian. + + :param c: string containing bytes to convert + :param o: offset of bytes to convert in string + """ + return unpack_from(">i", c, o)[0] + + +def i16be(c: bytes, o: int = 0) -> int: + return unpack_from(">H", c, o)[0] + + +def i32be(c: bytes, o: int = 0) -> int: + return unpack_from(">I", c, o)[0] + + +# Output, le = little endian, be = big endian +def o16le(i: int) -> bytes: + return pack(" bytes: + return pack(" bytes: + return pack(">H", i) + + +def o32be(i: int) -> bytes: + return pack(">I", i) diff --git a/venv/Lib/site-packages/PIL/_deprecate.py b/venv/Lib/site-packages/PIL/_deprecate.py new file mode 100644 index 00000000..83952b39 --- /dev/null +++ b/venv/Lib/site-packages/PIL/_deprecate.py @@ -0,0 +1,69 @@ +from __future__ import annotations + +import warnings + +from . import __version__ + + +def deprecate( + deprecated: str, + when: int | None, + replacement: str | None = None, + *, + action: str | None = None, + plural: bool = False, +) -> None: + """ + Deprecations helper. + + :param deprecated: Name of thing to be deprecated. + :param when: Pillow major version to be removed in. + :param replacement: Name of replacement. + :param action: Instead of "replacement", give a custom call to action + e.g. "Upgrade to new thing". + :param plural: if the deprecated thing is plural, needing "are" instead of "is". + + Usually of the form: + + "[deprecated] is deprecated and will be removed in Pillow [when] (yyyy-mm-dd). + Use [replacement] instead." + + You can leave out the replacement sentence: + + "[deprecated] is deprecated and will be removed in Pillow [when] (yyyy-mm-dd)" + + Or with another call to action: + + "[deprecated] is deprecated and will be removed in Pillow [when] (yyyy-mm-dd). + [action]." + """ + + is_ = "are" if plural else "is" + + if when is None: + removed = "a future version" + elif when <= int(__version__.split(".")[0]): + msg = f"{deprecated} {is_} deprecated and should be removed." + raise RuntimeError(msg) + elif when == 12: + removed = "Pillow 12 (2025-10-15)" + else: + msg = f"Unknown removal version: {when}. Update {__name__}?" + raise ValueError(msg) + + if replacement and action: + msg = "Use only one of 'replacement' and 'action'" + raise ValueError(msg) + + if replacement: + action = f". Use {replacement} instead." + elif action: + action = f". {action.rstrip('.')}." + else: + action = "" + + warnings.warn( + f"{deprecated} {is_} deprecated and will be removed in {removed}{action}", + DeprecationWarning, + stacklevel=3, + ) diff --git a/venv/Lib/site-packages/PIL/_imaging.cp39-win_amd64.pyd b/venv/Lib/site-packages/PIL/_imaging.cp39-win_amd64.pyd new file mode 100644 index 00000000..03572704 Binary files /dev/null and b/venv/Lib/site-packages/PIL/_imaging.cp39-win_amd64.pyd differ diff --git a/venv/Lib/site-packages/PIL/_imaging.pyi b/venv/Lib/site-packages/PIL/_imaging.pyi new file mode 100644 index 00000000..998bc52e --- /dev/null +++ b/venv/Lib/site-packages/PIL/_imaging.pyi @@ -0,0 +1,31 @@ +from typing import Any + +class ImagingCore: + def __getitem__(self, index: int) -> float: ... + def __getattr__(self, name: str) -> Any: ... + +class ImagingFont: + def __getattr__(self, name: str) -> Any: ... + +class ImagingDraw: + def __getattr__(self, name: str) -> Any: ... + +class PixelAccess: + def __getitem__(self, xy: tuple[int, int]) -> float | tuple[int, ...]: ... + def __setitem__( + self, xy: tuple[int, int], color: float | tuple[int, ...] + ) -> None: ... + +class ImagingDecoder: + def __getattr__(self, name: str) -> Any: ... + +class ImagingEncoder: + def __getattr__(self, name: str) -> Any: ... + +class _Outline: + def close(self) -> None: ... + def __getattr__(self, name: str) -> Any: ... + +def font(image: ImagingCore, glyphdata: bytes) -> ImagingFont: ... +def outline() -> _Outline: ... +def __getattr__(name: str) -> Any: ... diff --git a/venv/Lib/site-packages/PIL/_imagingcms.cp39-win_amd64.pyd b/venv/Lib/site-packages/PIL/_imagingcms.cp39-win_amd64.pyd new file mode 100644 index 00000000..80ba913e Binary files /dev/null and b/venv/Lib/site-packages/PIL/_imagingcms.cp39-win_amd64.pyd differ diff --git a/venv/Lib/site-packages/PIL/_imagingcms.pyi b/venv/Lib/site-packages/PIL/_imagingcms.pyi new file mode 100644 index 00000000..ddcf93ab --- /dev/null +++ b/venv/Lib/site-packages/PIL/_imagingcms.pyi @@ -0,0 +1,143 @@ +import datetime +import sys +from typing import Literal, SupportsFloat, TypedDict + +from ._typing import CapsuleType + +littlecms_version: str | None + +_Tuple3f = tuple[float, float, float] +_Tuple2x3f = tuple[_Tuple3f, _Tuple3f] +_Tuple3x3f = tuple[_Tuple3f, _Tuple3f, _Tuple3f] + +class _IccMeasurementCondition(TypedDict): + observer: int + backing: _Tuple3f + geo: str + flare: float + illuminant_type: str + +class _IccViewingCondition(TypedDict): + illuminant: _Tuple3f + surround: _Tuple3f + illuminant_type: str + +class CmsProfile: + @property + def rendering_intent(self) -> int: ... + @property + def creation_date(self) -> datetime.datetime | None: ... + @property + def copyright(self) -> str | None: ... + @property + def target(self) -> str | None: ... + @property + def manufacturer(self) -> str | None: ... + @property + def model(self) -> str | None: ... + @property + def profile_description(self) -> str | None: ... + @property + def screening_description(self) -> str | None: ... + @property + def viewing_condition(self) -> str | None: ... + @property + def version(self) -> float: ... + @property + def icc_version(self) -> int: ... + @property + def attributes(self) -> int: ... + @property + def header_flags(self) -> int: ... + @property + def header_manufacturer(self) -> str: ... + @property + def header_model(self) -> str: ... + @property + def device_class(self) -> str: ... + @property + def connection_space(self) -> str: ... + @property + def xcolor_space(self) -> str: ... + @property + def profile_id(self) -> bytes: ... + @property + def is_matrix_shaper(self) -> bool: ... + @property + def technology(self) -> str | None: ... + @property + def colorimetric_intent(self) -> str | None: ... + @property + def perceptual_rendering_intent_gamut(self) -> str | None: ... + @property + def saturation_rendering_intent_gamut(self) -> str | None: ... + @property + def red_colorant(self) -> _Tuple2x3f | None: ... + @property + def green_colorant(self) -> _Tuple2x3f | None: ... + @property + def blue_colorant(self) -> _Tuple2x3f | None: ... + @property + def red_primary(self) -> _Tuple2x3f | None: ... + @property + def green_primary(self) -> _Tuple2x3f | None: ... + @property + def blue_primary(self) -> _Tuple2x3f | None: ... + @property + def media_white_point_temperature(self) -> float | None: ... + @property + def media_white_point(self) -> _Tuple2x3f | None: ... + @property + def media_black_point(self) -> _Tuple2x3f | None: ... + @property + def luminance(self) -> _Tuple2x3f | None: ... + @property + def chromatic_adaptation(self) -> tuple[_Tuple3x3f, _Tuple3x3f] | None: ... + @property + def chromaticity(self) -> _Tuple3x3f | None: ... + @property + def colorant_table(self) -> list[str] | None: ... + @property + def colorant_table_out(self) -> list[str] | None: ... + @property + def intent_supported(self) -> dict[int, tuple[bool, bool, bool]] | None: ... + @property + def clut(self) -> dict[int, tuple[bool, bool, bool]] | None: ... + @property + def icc_measurement_condition(self) -> _IccMeasurementCondition | None: ... + @property + def icc_viewing_condition(self) -> _IccViewingCondition | None: ... + def is_intent_supported(self, intent: int, direction: int, /) -> int: ... + +class CmsTransform: + def apply(self, id_in: CapsuleType, id_out: CapsuleType) -> int: ... + +def profile_open(profile: str, /) -> CmsProfile: ... +def profile_frombytes(profile: bytes, /) -> CmsProfile: ... +def profile_tobytes(profile: CmsProfile, /) -> bytes: ... +def buildTransform( + input_profile: CmsProfile, + output_profile: CmsProfile, + in_mode: str, + out_mode: str, + rendering_intent: int = 0, + cms_flags: int = 0, + /, +) -> CmsTransform: ... +def buildProofTransform( + input_profile: CmsProfile, + output_profile: CmsProfile, + proof_profile: CmsProfile, + in_mode: str, + out_mode: str, + rendering_intent: int = 0, + proof_intent: int = 0, + cms_flags: int = 0, + /, +) -> CmsTransform: ... +def createProfile( + color_space: Literal["LAB", "XYZ", "sRGB"], color_temp: SupportsFloat = 0.0, / +) -> CmsProfile: ... + +if sys.platform == "win32": + def get_display_profile_win32(handle: int = 0, is_dc: int = 0, /) -> str | None: ... diff --git a/venv/Lib/site-packages/PIL/_imagingft.cp39-win_amd64.pyd b/venv/Lib/site-packages/PIL/_imagingft.cp39-win_amd64.pyd new file mode 100644 index 00000000..adb3b14b Binary files /dev/null and b/venv/Lib/site-packages/PIL/_imagingft.cp39-win_amd64.pyd differ diff --git a/venv/Lib/site-packages/PIL/_imagingft.pyi b/venv/Lib/site-packages/PIL/_imagingft.pyi new file mode 100644 index 00000000..9cc9822f --- /dev/null +++ b/venv/Lib/site-packages/PIL/_imagingft.pyi @@ -0,0 +1,69 @@ +from typing import Any, Callable + +from . import ImageFont, _imaging + +class Font: + @property + def family(self) -> str | None: ... + @property + def style(self) -> str | None: ... + @property + def ascent(self) -> int: ... + @property + def descent(self) -> int: ... + @property + def height(self) -> int: ... + @property + def x_ppem(self) -> int: ... + @property + def y_ppem(self) -> int: ... + @property + def glyphs(self) -> int: ... + def render( + self, + string: str | bytes, + fill: Callable[[int, int], _imaging.ImagingCore], + mode: str, + dir: str | None, + features: list[str] | None, + lang: str | None, + stroke_width: float, + anchor: str | None, + foreground_ink_long: int, + x_start: float, + y_start: float, + /, + ) -> tuple[_imaging.ImagingCore, tuple[int, int]]: ... + def getsize( + self, + string: str | bytes | bytearray, + mode: str, + dir: str | None, + features: list[str] | None, + lang: str | None, + anchor: str | None, + /, + ) -> tuple[tuple[int, int], tuple[int, int]]: ... + def getlength( + self, + string: str | bytes, + mode: str, + dir: str | None, + features: list[str] | None, + lang: str | None, + /, + ) -> float: ... + def getvarnames(self) -> list[bytes]: ... + def getvaraxes(self) -> list[ImageFont.Axis]: ... + def setvarname(self, instance_index: int, /) -> None: ... + def setvaraxes(self, axes: list[float], /) -> None: ... + +def getfont( + filename: str | bytes, + size: float, + index: int, + encoding: str, + font_bytes: bytes, + layout_engine: int, +) -> Font: ... +def __getattr__(name: str) -> Any: ... diff --git a/venv/Lib/site-packages/PIL/_imagingmath.cp39-win_amd64.pyd b/venv/Lib/site-packages/PIL/_imagingmath.cp39-win_amd64.pyd new file mode 100644 index 00000000..be98a37a Binary files /dev/null and b/venv/Lib/site-packages/PIL/_imagingmath.cp39-win_amd64.pyd differ diff --git a/venv/Lib/site-packages/PIL/_imagingmath.pyi b/venv/Lib/site-packages/PIL/_imagingmath.pyi new file mode 100644 index 00000000..e27843e5 --- /dev/null +++ b/venv/Lib/site-packages/PIL/_imagingmath.pyi @@ -0,0 +1,3 @@ +from typing import Any + +def __getattr__(name: str) -> Any: ... diff --git a/venv/Lib/site-packages/PIL/_imagingmorph.cp39-win_amd64.pyd b/venv/Lib/site-packages/PIL/_imagingmorph.cp39-win_amd64.pyd new file mode 100644 index 00000000..5480e2fb Binary files /dev/null and b/venv/Lib/site-packages/PIL/_imagingmorph.cp39-win_amd64.pyd differ diff --git a/venv/Lib/site-packages/PIL/_imagingmorph.pyi b/venv/Lib/site-packages/PIL/_imagingmorph.pyi new file mode 100644 index 00000000..e27843e5 --- /dev/null +++ b/venv/Lib/site-packages/PIL/_imagingmorph.pyi @@ -0,0 +1,3 @@ +from typing import Any + +def __getattr__(name: str) -> Any: ... diff --git a/venv/Lib/site-packages/PIL/_imagingtk.cp39-win_amd64.pyd b/venv/Lib/site-packages/PIL/_imagingtk.cp39-win_amd64.pyd new file mode 100644 index 00000000..4ad87650 Binary files /dev/null and b/venv/Lib/site-packages/PIL/_imagingtk.cp39-win_amd64.pyd differ diff --git a/venv/Lib/site-packages/PIL/_imagingtk.pyi b/venv/Lib/site-packages/PIL/_imagingtk.pyi new file mode 100644 index 00000000..e27843e5 --- /dev/null +++ b/venv/Lib/site-packages/PIL/_imagingtk.pyi @@ -0,0 +1,3 @@ +from typing import Any + +def __getattr__(name: str) -> Any: ... diff --git a/venv/Lib/site-packages/PIL/_tkinter_finder.py b/venv/Lib/site-packages/PIL/_tkinter_finder.py new file mode 100644 index 00000000..beddfb06 --- /dev/null +++ b/venv/Lib/site-packages/PIL/_tkinter_finder.py @@ -0,0 +1,21 @@ +""" Find compiled module linking to Tcl / Tk libraries +""" + +from __future__ import annotations + +import sys +import tkinter + +tk = getattr(tkinter, "_tkinter") + +try: + if hasattr(sys, "pypy_find_executable"): + TKINTER_LIB = tk.tklib_cffi.__file__ + else: + TKINTER_LIB = tk.__file__ +except AttributeError: + # _tkinter may be compiled directly into Python, in which case __file__ is + # not available. load_tkinter_funcs will check the binary first in any case. + TKINTER_LIB = None + +tk_version = str(tkinter.TkVersion) diff --git a/venv/Lib/site-packages/PIL/_typing.py b/venv/Lib/site-packages/PIL/_typing.py new file mode 100644 index 00000000..0a7d87cc --- /dev/null +++ b/venv/Lib/site-packages/PIL/_typing.py @@ -0,0 +1,53 @@ +from __future__ import annotations + +import os +import sys +from collections.abc import Sequence +from typing import TYPE_CHECKING, Any, Protocol, TypeVar, Union + +if TYPE_CHECKING: + from numbers import _IntegralLike as IntegralLike + + try: + import numpy.typing as npt + + NumpyArray = npt.NDArray[Any] # requires numpy>=1.21 + except (ImportError, AttributeError): + pass + +if sys.version_info >= (3, 13): + from types import CapsuleType +else: + CapsuleType = object + +if sys.version_info >= (3, 12): + from collections.abc import Buffer +else: + Buffer = Any + +if sys.version_info >= (3, 10): + from typing import TypeGuard +else: + try: + from typing_extensions import TypeGuard + except ImportError: + + class TypeGuard: # type: ignore[no-redef] + def __class_getitem__(cls, item: Any) -> type[bool]: + return bool + + +Coords = Union[Sequence[float], Sequence[Sequence[float]]] + + +_T_co = TypeVar("_T_co", covariant=True) + + +class SupportsRead(Protocol[_T_co]): + def read(self, __length: int = ...) -> _T_co: ... + + +StrOrBytesPath = Union[str, bytes, "os.PathLike[str]", "os.PathLike[bytes]"] + + +__all__ = ["Buffer", "IntegralLike", "StrOrBytesPath", "SupportsRead", "TypeGuard"] diff --git a/venv/Lib/site-packages/PIL/_util.py b/venv/Lib/site-packages/PIL/_util.py new file mode 100644 index 00000000..8ef0d36f --- /dev/null +++ b/venv/Lib/site-packages/PIL/_util.py @@ -0,0 +1,26 @@ +from __future__ import annotations + +import os +from typing import Any, NoReturn + +from ._typing import StrOrBytesPath, TypeGuard + + +def is_path(f: Any) -> TypeGuard[StrOrBytesPath]: + return isinstance(f, (bytes, str, os.PathLike)) + + +class DeferredError: + def __init__(self, ex: BaseException): + self.ex = ex + + def __getattr__(self, elt: str) -> NoReturn: + raise self.ex + + @staticmethod + def new(ex: BaseException) -> Any: + """ + Creates an object that raises the wrapped exception ``ex`` when used, + and casts it to :py:obj:`~typing.Any` type. + """ + return DeferredError(ex) diff --git a/venv/Lib/site-packages/PIL/_version.py b/venv/Lib/site-packages/PIL/_version.py new file mode 100644 index 00000000..963d8c90 --- /dev/null +++ b/venv/Lib/site-packages/PIL/_version.py @@ -0,0 +1,4 @@ +# Master version for Pillow +from __future__ import annotations + +__version__ = "11.0.0" diff --git a/venv/Lib/site-packages/PIL/_webp.cp39-win_amd64.pyd b/venv/Lib/site-packages/PIL/_webp.cp39-win_amd64.pyd new file mode 100644 index 00000000..a79a853b Binary files /dev/null and b/venv/Lib/site-packages/PIL/_webp.cp39-win_amd64.pyd differ diff --git a/venv/Lib/site-packages/PIL/_webp.pyi b/venv/Lib/site-packages/PIL/_webp.pyi new file mode 100644 index 00000000..e27843e5 --- /dev/null +++ b/venv/Lib/site-packages/PIL/_webp.pyi @@ -0,0 +1,3 @@ +from typing import Any + +def __getattr__(name: str) -> Any: ... diff --git a/venv/Lib/site-packages/PIL/features.py b/venv/Lib/site-packages/PIL/features.py new file mode 100644 index 00000000..75d59e01 --- /dev/null +++ b/venv/Lib/site-packages/PIL/features.py @@ -0,0 +1,352 @@ +from __future__ import annotations + +import collections +import os +import sys +import warnings +from typing import IO + +import PIL + +from . import Image +from ._deprecate import deprecate + +modules = { + "pil": ("PIL._imaging", "PILLOW_VERSION"), + "tkinter": ("PIL._tkinter_finder", "tk_version"), + "freetype2": ("PIL._imagingft", "freetype2_version"), + "littlecms2": ("PIL._imagingcms", "littlecms_version"), + "webp": ("PIL._webp", "webpdecoder_version"), +} + + +def check_module(feature: str) -> bool: + """ + Checks if a module is available. + + :param feature: The module to check for. + :returns: ``True`` if available, ``False`` otherwise. + :raises ValueError: If the module is not defined in this version of Pillow. + """ + if feature not in modules: + msg = f"Unknown module {feature}" + raise ValueError(msg) + + module, ver = modules[feature] + + try: + __import__(module) + return True + except ModuleNotFoundError: + return False + except ImportError as ex: + warnings.warn(str(ex)) + return False + + +def version_module(feature: str) -> str | None: + """ + :param feature: The module to check for. + :returns: + The loaded version number as a string, or ``None`` if unknown or not available. + :raises ValueError: If the module is not defined in this version of Pillow. + """ + if not check_module(feature): + return None + + module, ver = modules[feature] + + return getattr(__import__(module, fromlist=[ver]), ver) + + +def get_supported_modules() -> list[str]: + """ + :returns: A list of all supported modules. + """ + return [f for f in modules if check_module(f)] + + +codecs = { + "jpg": ("jpeg", "jpeglib"), + "jpg_2000": ("jpeg2k", "jp2klib"), + "zlib": ("zip", "zlib"), + "libtiff": ("libtiff", "libtiff"), +} + + +def check_codec(feature: str) -> bool: + """ + Checks if a codec is available. + + :param feature: The codec to check for. + :returns: ``True`` if available, ``False`` otherwise. + :raises ValueError: If the codec is not defined in this version of Pillow. + """ + if feature not in codecs: + msg = f"Unknown codec {feature}" + raise ValueError(msg) + + codec, lib = codecs[feature] + + return f"{codec}_encoder" in dir(Image.core) + + +def version_codec(feature: str) -> str | None: + """ + :param feature: The codec to check for. + :returns: + The version number as a string, or ``None`` if not available. + Checked at compile time for ``jpg``, run-time otherwise. + :raises ValueError: If the codec is not defined in this version of Pillow. + """ + if not check_codec(feature): + return None + + codec, lib = codecs[feature] + + version = getattr(Image.core, f"{lib}_version") + + if feature == "libtiff": + return version.split("\n")[0].split("Version ")[1] + + return version + + +def get_supported_codecs() -> list[str]: + """ + :returns: A list of all supported codecs. + """ + return [f for f in codecs if check_codec(f)] + + +features: dict[str, tuple[str, str | bool, str | None]] = { + "webp_anim": ("PIL._webp", True, None), + "webp_mux": ("PIL._webp", True, None), + "transp_webp": ("PIL._webp", True, None), + "raqm": ("PIL._imagingft", "HAVE_RAQM", "raqm_version"), + "fribidi": ("PIL._imagingft", "HAVE_FRIBIDI", "fribidi_version"), + "harfbuzz": ("PIL._imagingft", "HAVE_HARFBUZZ", "harfbuzz_version"), + "libjpeg_turbo": ("PIL._imaging", "HAVE_LIBJPEGTURBO", "libjpeg_turbo_version"), + "libimagequant": ("PIL._imaging", "HAVE_LIBIMAGEQUANT", "imagequant_version"), + "xcb": ("PIL._imaging", "HAVE_XCB", None), +} + + +def check_feature(feature: str) -> bool | None: + """ + Checks if a feature is available. + + :param feature: The feature to check for. + :returns: ``True`` if available, ``False`` if unavailable, ``None`` if unknown. + :raises ValueError: If the feature is not defined in this version of Pillow. + """ + if feature not in features: + msg = f"Unknown feature {feature}" + raise ValueError(msg) + + module, flag, ver = features[feature] + + if isinstance(flag, bool): + deprecate(f'check_feature("{feature}")', 12) + try: + imported_module = __import__(module, fromlist=["PIL"]) + if isinstance(flag, bool): + return flag + return getattr(imported_module, flag) + except ModuleNotFoundError: + return None + except ImportError as ex: + warnings.warn(str(ex)) + return None + + +def version_feature(feature: str) -> str | None: + """ + :param feature: The feature to check for. + :returns: The version number as a string, or ``None`` if not available. + :raises ValueError: If the feature is not defined in this version of Pillow. + """ + if not check_feature(feature): + return None + + module, flag, ver = features[feature] + + if ver is None: + return None + + return getattr(__import__(module, fromlist=[ver]), ver) + + +def get_supported_features() -> list[str]: + """ + :returns: A list of all supported features. + """ + supported_features = [] + for f, (module, flag, _) in features.items(): + if flag is True: + for feature, (feature_module, _) in modules.items(): + if feature_module == module: + if check_module(feature): + supported_features.append(f) + break + elif check_feature(f): + supported_features.append(f) + return supported_features + + +def check(feature: str) -> bool | None: + """ + :param feature: A module, codec, or feature name. + :returns: + ``True`` if the module, codec, or feature is available, + ``False`` or ``None`` otherwise. + """ + + if feature in modules: + return check_module(feature) + if feature in codecs: + return check_codec(feature) + if feature in features: + return check_feature(feature) + warnings.warn(f"Unknown feature '{feature}'.", stacklevel=2) + return False + + +def version(feature: str) -> str | None: + """ + :param feature: + The module, codec, or feature to check for. + :returns: + The version number as a string, or ``None`` if unknown or not available. + """ + if feature in modules: + return version_module(feature) + if feature in codecs: + return version_codec(feature) + if feature in features: + return version_feature(feature) + return None + + +def get_supported() -> list[str]: + """ + :returns: A list of all supported modules, features, and codecs. + """ + + ret = get_supported_modules() + ret.extend(get_supported_features()) + ret.extend(get_supported_codecs()) + return ret + + +def pilinfo(out: IO[str] | None = None, supported_formats: bool = True) -> None: + """ + Prints information about this installation of Pillow. + This function can be called with ``python3 -m PIL``. + It can also be called with ``python3 -m PIL.report`` or ``python3 -m PIL --report`` + to have "supported_formats" set to ``False``, omitting the list of all supported + image file formats. + + :param out: + The output stream to print to. Defaults to ``sys.stdout`` if ``None``. + :param supported_formats: + If ``True``, a list of all supported image file formats will be printed. + """ + + if out is None: + out = sys.stdout + + Image.init() + + print("-" * 68, file=out) + print(f"Pillow {PIL.__version__}", file=out) + py_version_lines = sys.version.splitlines() + print(f"Python {py_version_lines[0].strip()}", file=out) + for py_version in py_version_lines[1:]: + print(f" {py_version.strip()}", file=out) + print("-" * 68, file=out) + print(f"Python executable is {sys.executable or 'unknown'}", file=out) + if sys.prefix != sys.base_prefix: + print(f"Environment Python files loaded from {sys.prefix}", file=out) + print(f"System Python files loaded from {sys.base_prefix}", file=out) + print("-" * 68, file=out) + print( + f"Python Pillow modules loaded from {os.path.dirname(Image.__file__)}", + file=out, + ) + print( + f"Binary Pillow modules loaded from {os.path.dirname(Image.core.__file__)}", + file=out, + ) + print("-" * 68, file=out) + + for name, feature in [ + ("pil", "PIL CORE"), + ("tkinter", "TKINTER"), + ("freetype2", "FREETYPE2"), + ("littlecms2", "LITTLECMS2"), + ("webp", "WEBP"), + ("jpg", "JPEG"), + ("jpg_2000", "OPENJPEG (JPEG2000)"), + ("zlib", "ZLIB (PNG/ZIP)"), + ("libtiff", "LIBTIFF"), + ("raqm", "RAQM (Bidirectional Text)"), + ("libimagequant", "LIBIMAGEQUANT (Quantization method)"), + ("xcb", "XCB (X protocol)"), + ]: + if check(name): + v: str | None = None + if name == "jpg": + libjpeg_turbo_version = version_feature("libjpeg_turbo") + if libjpeg_turbo_version is not None: + v = "libjpeg-turbo " + libjpeg_turbo_version + if v is None: + v = version(name) + if v is not None: + version_static = name in ("pil", "jpg") + if name == "littlecms2": + # this check is also in src/_imagingcms.c:setup_module() + version_static = tuple(int(x) for x in v.split(".")) < (2, 7) + t = "compiled for" if version_static else "loaded" + if name == "raqm": + for f in ("fribidi", "harfbuzz"): + v2 = version_feature(f) + if v2 is not None: + v += f", {f} {v2}" + print("---", feature, "support ok,", t, v, file=out) + else: + print("---", feature, "support ok", file=out) + else: + print("***", feature, "support not installed", file=out) + print("-" * 68, file=out) + + if supported_formats: + extensions = collections.defaultdict(list) + for ext, i in Image.EXTENSION.items(): + extensions[i].append(ext) + + for i in sorted(Image.ID): + line = f"{i}" + if i in Image.MIME: + line = f"{line} {Image.MIME[i]}" + print(line, file=out) + + if i in extensions: + print( + "Extensions: {}".format(", ".join(sorted(extensions[i]))), file=out + ) + + features = [] + if i in Image.OPEN: + features.append("open") + if i in Image.SAVE: + features.append("save") + if i in Image.SAVE_ALL: + features.append("save_all") + if i in Image.DECODERS: + features.append("decode") + if i in Image.ENCODERS: + features.append("encode") + + print("Features: {}".format(", ".join(features)), file=out) + print("-" * 68, file=out) diff --git a/venv/Lib/site-packages/PIL/py.typed b/venv/Lib/site-packages/PIL/py.typed new file mode 100644 index 00000000..e69de29b diff --git a/venv/Lib/site-packages/PIL/report.py b/venv/Lib/site-packages/PIL/report.py new file mode 100644 index 00000000..d2815e84 --- /dev/null +++ b/venv/Lib/site-packages/PIL/report.py @@ -0,0 +1,5 @@ +from __future__ import annotations + +from .features import pilinfo + +pilinfo(supported_formats=False) diff --git a/venv/Lib/site-packages/PyJWT-2.10.1.dist-info/AUTHORS.rst b/venv/Lib/site-packages/PyJWT-2.10.1.dist-info/AUTHORS.rst new file mode 100644 index 00000000..88e2b6ad --- /dev/null +++ b/venv/Lib/site-packages/PyJWT-2.10.1.dist-info/AUTHORS.rst @@ -0,0 +1,7 @@ +Authors +======= + +``pyjwt`` is currently written and maintained by `Jose Padilla `_. +Originally written and maintained by `Jeff Lindsay `_. + +A full list of contributors can be found on GitHub’s `overview `_. diff --git a/venv/Lib/site-packages/PyJWT-2.10.1.dist-info/INSTALLER b/venv/Lib/site-packages/PyJWT-2.10.1.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/venv/Lib/site-packages/PyJWT-2.10.1.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/Lib/site-packages/PyJWT-2.10.1.dist-info/LICENSE b/venv/Lib/site-packages/PyJWT-2.10.1.dist-info/LICENSE new file mode 100644 index 00000000..fd0ecbc8 --- /dev/null +++ b/venv/Lib/site-packages/PyJWT-2.10.1.dist-info/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015-2022 José Padilla + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/venv/Lib/site-packages/PyJWT-2.10.1.dist-info/METADATA b/venv/Lib/site-packages/PyJWT-2.10.1.dist-info/METADATA new file mode 100644 index 00000000..f31b700e --- /dev/null +++ b/venv/Lib/site-packages/PyJWT-2.10.1.dist-info/METADATA @@ -0,0 +1,106 @@ +Metadata-Version: 2.1 +Name: PyJWT +Version: 2.10.1 +Summary: JSON Web Token implementation in Python +Author-email: Jose Padilla +License: MIT +Project-URL: Homepage, https://github.com/jpadilla/pyjwt +Keywords: json,jwt,security,signing,token,web +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: MIT License +Classifier: Natural Language :: English +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3 :: Only +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3.12 +Classifier: Programming Language :: Python :: 3.13 +Classifier: Topic :: Utilities +Requires-Python: >=3.9 +Description-Content-Type: text/x-rst +License-File: LICENSE +License-File: AUTHORS.rst +Provides-Extra: crypto +Requires-Dist: cryptography>=3.4.0; extra == "crypto" +Provides-Extra: dev +Requires-Dist: coverage[toml]==5.0.4; extra == "dev" +Requires-Dist: cryptography>=3.4.0; extra == "dev" +Requires-Dist: pre-commit; extra == "dev" +Requires-Dist: pytest<7.0.0,>=6.0.0; extra == "dev" +Requires-Dist: sphinx; extra == "dev" +Requires-Dist: sphinx-rtd-theme; extra == "dev" +Requires-Dist: zope.interface; extra == "dev" +Provides-Extra: docs +Requires-Dist: sphinx; extra == "docs" +Requires-Dist: sphinx-rtd-theme; extra == "docs" +Requires-Dist: zope.interface; extra == "docs" +Provides-Extra: tests +Requires-Dist: coverage[toml]==5.0.4; extra == "tests" +Requires-Dist: pytest<7.0.0,>=6.0.0; extra == "tests" + +PyJWT +===== + +.. image:: https://github.com/jpadilla/pyjwt/workflows/CI/badge.svg + :target: https://github.com/jpadilla/pyjwt/actions?query=workflow%3ACI + +.. image:: https://img.shields.io/pypi/v/pyjwt.svg + :target: https://pypi.python.org/pypi/pyjwt + +.. image:: https://codecov.io/gh/jpadilla/pyjwt/branch/master/graph/badge.svg + :target: https://codecov.io/gh/jpadilla/pyjwt + +.. image:: https://readthedocs.org/projects/pyjwt/badge/?version=stable + :target: https://pyjwt.readthedocs.io/en/stable/ + +A Python implementation of `RFC 7519 `_. Original implementation was written by `@progrium `_. + +Sponsor +------- + +.. |auth0-logo| image:: https://github.com/user-attachments/assets/ee98379e-ee76-4bcb-943a-e25c4ea6d174 + :width: 160px + ++--------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| |auth0-logo| | If you want to quickly add secure token-based authentication to Python projects, feel free to check Auth0's Python SDK and free plan at `auth0.com/signup `_. | ++--------------+-----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +Installing +---------- + +Install with **pip**: + +.. code-block:: console + + $ pip install PyJWT + + +Usage +----- + +.. code-block:: pycon + + >>> import jwt + >>> encoded = jwt.encode({"some": "payload"}, "secret", algorithm="HS256") + >>> print(encoded) + eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzb21lIjoicGF5bG9hZCJ9.4twFt5NiznN84AWoo1d7KO1T_yoc0Z6XOpOVswacPZg + >>> jwt.decode(encoded, "secret", algorithms=["HS256"]) + {'some': 'payload'} + +Documentation +------------- + +View the full docs online at https://pyjwt.readthedocs.io/en/stable/ + + +Tests +----- + +You can run tests from the project root after cloning with: + +.. code-block:: console + + $ tox diff --git a/venv/Lib/site-packages/PyJWT-2.10.1.dist-info/RECORD b/venv/Lib/site-packages/PyJWT-2.10.1.dist-info/RECORD new file mode 100644 index 00000000..35ab6005 --- /dev/null +++ b/venv/Lib/site-packages/PyJWT-2.10.1.dist-info/RECORD @@ -0,0 +1,33 @@ +PyJWT-2.10.1.dist-info/AUTHORS.rst,sha256=klzkNGECnu2_VY7At89_xLBF3vUSDruXk3xwgUBxzwc,322 +PyJWT-2.10.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +PyJWT-2.10.1.dist-info/LICENSE,sha256=eXp6ICMdTEM-nxkR2xcx0GtYKLmPSZgZoDT3wPVvXOU,1085 +PyJWT-2.10.1.dist-info/METADATA,sha256=EkewF6D6KU8SGaaQzVYfxUUU1P_gs_dp1pYTkoYvAx8,3990 +PyJWT-2.10.1.dist-info/RECORD,, +PyJWT-2.10.1.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +PyJWT-2.10.1.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91 +PyJWT-2.10.1.dist-info/top_level.txt,sha256=RP5DHNyJbMq2ka0FmfTgoSaQzh7e3r5XuCWCO8a00k8,4 +jwt/__init__.py,sha256=VB2vFKuboTjcDGeZ8r-UqK_dz3NsQSQEqySSICby8Xg,1711 +jwt/__pycache__/__init__.cpython-39.pyc,, +jwt/__pycache__/algorithms.cpython-39.pyc,, +jwt/__pycache__/api_jwk.cpython-39.pyc,, +jwt/__pycache__/api_jws.cpython-39.pyc,, +jwt/__pycache__/api_jwt.cpython-39.pyc,, +jwt/__pycache__/exceptions.cpython-39.pyc,, +jwt/__pycache__/help.cpython-39.pyc,, +jwt/__pycache__/jwk_set_cache.cpython-39.pyc,, +jwt/__pycache__/jwks_client.cpython-39.pyc,, +jwt/__pycache__/types.cpython-39.pyc,, +jwt/__pycache__/utils.cpython-39.pyc,, +jwt/__pycache__/warnings.cpython-39.pyc,, +jwt/algorithms.py,sha256=cKr-XEioe0mBtqJMCaHEswqVOA1Z8Purt5Sb3Bi-5BE,30409 +jwt/api_jwk.py,sha256=6F1r7rmm8V5qEnBKA_xMjS9R7VoANe1_BL1oD2FrAjE,4451 +jwt/api_jws.py,sha256=aM8vzqQf6mRrAw7bRy-Moj_pjWsKSVQyYK896AfMjJU,11762 +jwt/api_jwt.py,sha256=OGT4hok1l5A6FH_KdcrU5g6u6EQ8B7em0r9kGM9SYgA,14512 +jwt/exceptions.py,sha256=bUIOJ-v9tjopTLS-FYOTc3kFx5WP5IZt7ksN_HE1G9Q,1211 +jwt/help.py,sha256=vFdNzjQoAch04XCMYpCkyB2blaqHAGAqQrtf9nSPkdk,1808 +jwt/jwk_set_cache.py,sha256=hBKmN-giU7-G37L_XKgc_OZu2ah4wdbj1ZNG_GkoSE8,959 +jwt/jwks_client.py,sha256=p9b-IbQqo2tEge9Zit3oSPBFNePqwho96VLbnUrHUWs,4259 +jwt/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +jwt/types.py,sha256=VnhGv_VFu5a7_mrPoSCB7HaNLrJdhM8Sq1sSfEg0gLU,99 +jwt/utils.py,sha256=hxOjvDBheBYhz-RIPiEz7Q88dSUSTMzEdKE_Ww2VdJw,3640 +jwt/warnings.py,sha256=50XWOnyNsIaqzUJTk6XHNiIDykiL763GYA92MjTKmok,59 diff --git a/venv/Lib/site-packages/PyJWT-2.10.1.dist-info/REQUESTED b/venv/Lib/site-packages/PyJWT-2.10.1.dist-info/REQUESTED new file mode 100644 index 00000000..e69de29b diff --git a/venv/Lib/site-packages/PyJWT-2.10.1.dist-info/WHEEL b/venv/Lib/site-packages/PyJWT-2.10.1.dist-info/WHEEL new file mode 100644 index 00000000..ae527e7d --- /dev/null +++ b/venv/Lib/site-packages/PyJWT-2.10.1.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: setuptools (75.6.0) +Root-Is-Purelib: true +Tag: py3-none-any + diff --git a/venv/Lib/site-packages/PyJWT-2.10.1.dist-info/top_level.txt b/venv/Lib/site-packages/PyJWT-2.10.1.dist-info/top_level.txt new file mode 100644 index 00000000..27ccc9bc --- /dev/null +++ b/venv/Lib/site-packages/PyJWT-2.10.1.dist-info/top_level.txt @@ -0,0 +1 @@ +jwt diff --git a/venv/Lib/site-packages/PyYAML-6.0.1.dist-info/INSTALLER b/venv/Lib/site-packages/PyYAML-6.0.1.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/venv/Lib/site-packages/PyYAML-6.0.1.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/Lib/site-packages/PyYAML-6.0.1.dist-info/LICENSE b/venv/Lib/site-packages/PyYAML-6.0.1.dist-info/LICENSE new file mode 100644 index 00000000..2f1b8e15 --- /dev/null +++ b/venv/Lib/site-packages/PyYAML-6.0.1.dist-info/LICENSE @@ -0,0 +1,20 @@ +Copyright (c) 2017-2021 Ingy döt Net +Copyright (c) 2006-2016 Kirill Simonov + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/venv/Lib/site-packages/PyYAML-6.0.1.dist-info/METADATA b/venv/Lib/site-packages/PyYAML-6.0.1.dist-info/METADATA new file mode 100644 index 00000000..c48bd93f --- /dev/null +++ b/venv/Lib/site-packages/PyYAML-6.0.1.dist-info/METADATA @@ -0,0 +1,47 @@ +Metadata-Version: 2.1 +Name: PyYAML +Version: 6.0.1 +Summary: YAML parser and emitter for Python +Home-page: https://pyyaml.org/ +Author: Kirill Simonov +Author-email: xi@resolvent.net +License: MIT +Download-URL: https://pypi.org/project/PyYAML/ +Project-URL: Bug Tracker, https://github.com/yaml/pyyaml/issues +Project-URL: CI, https://github.com/yaml/pyyaml/actions +Project-URL: Documentation, https://pyyaml.org/wiki/PyYAMLDocumentation +Project-URL: Mailing lists, http://lists.sourceforge.net/lists/listinfo/yaml-core +Project-URL: Source Code, https://github.com/yaml/pyyaml +Platform: Any +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: MIT License +Classifier: Operating System :: OS Independent +Classifier: Programming Language :: Cython +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: Implementation :: CPython +Classifier: Programming Language :: Python :: Implementation :: PyPy +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Classifier: Topic :: Text Processing :: Markup +Requires-Python: >=3.6 +License-File: LICENSE + +YAML is a data serialization format designed for human readability +and interaction with scripting languages. PyYAML is a YAML parser +and emitter for Python. + +PyYAML features a complete YAML 1.1 parser, Unicode support, pickle +support, capable extension API, and sensible error messages. PyYAML +supports standard YAML tags and provides Python-specific tags that +allow to represent an arbitrary Python object. + +PyYAML is applicable for a broad range of tasks from complex +configuration files to object serialization and persistence. + diff --git a/venv/Lib/site-packages/PyYAML-6.0.1.dist-info/RECORD b/venv/Lib/site-packages/PyYAML-6.0.1.dist-info/RECORD new file mode 100644 index 00000000..9047daa2 --- /dev/null +++ b/venv/Lib/site-packages/PyYAML-6.0.1.dist-info/RECORD @@ -0,0 +1,44 @@ +PyYAML-6.0.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +PyYAML-6.0.1.dist-info/LICENSE,sha256=jTko-dxEkP1jVwfLiOsmvXZBAqcoKVQwfT5RZ6V36KQ,1101 +PyYAML-6.0.1.dist-info/METADATA,sha256=9LqpZ7ARc_UDWHhaztw28ggwznRds8xf8oJCGOCT60I,2106 +PyYAML-6.0.1.dist-info/RECORD,, +PyYAML-6.0.1.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +PyYAML-6.0.1.dist-info/WHEEL,sha256=eep6QWEFiQfg2wcclssb_WY-D33AnLYLnEKGA9Rn-VU,100 +PyYAML-6.0.1.dist-info/top_level.txt,sha256=rpj0IVMTisAjh_1vG3Ccf9v5jpCQwAz6cD1IVU5ZdhQ,11 +_yaml/__init__.py,sha256=04Ae_5osxahpJHa3XBZUAf4wi6XX32gR8D6X6p64GEA,1402 +_yaml/__pycache__/__init__.cpython-39.pyc,, +yaml/__init__.py,sha256=bhl05qSeO-1ZxlSRjGrvl2m9nrXb1n9-GQatTN0Mrqc,12311 +yaml/__pycache__/__init__.cpython-39.pyc,, +yaml/__pycache__/composer.cpython-39.pyc,, +yaml/__pycache__/constructor.cpython-39.pyc,, +yaml/__pycache__/cyaml.cpython-39.pyc,, +yaml/__pycache__/dumper.cpython-39.pyc,, +yaml/__pycache__/emitter.cpython-39.pyc,, +yaml/__pycache__/error.cpython-39.pyc,, +yaml/__pycache__/events.cpython-39.pyc,, +yaml/__pycache__/loader.cpython-39.pyc,, +yaml/__pycache__/nodes.cpython-39.pyc,, +yaml/__pycache__/parser.cpython-39.pyc,, +yaml/__pycache__/reader.cpython-39.pyc,, +yaml/__pycache__/representer.cpython-39.pyc,, +yaml/__pycache__/resolver.cpython-39.pyc,, +yaml/__pycache__/scanner.cpython-39.pyc,, +yaml/__pycache__/serializer.cpython-39.pyc,, +yaml/__pycache__/tokens.cpython-39.pyc,, +yaml/_yaml.cp39-win_amd64.pyd,sha256=AULP_23onG6Yy5UUqIe4N5f4szwfM5lkHQ60Ak04FTQ,251904 +yaml/composer.py,sha256=_Ko30Wr6eDWUeUpauUGT3Lcg9QPBnOPVlTnIMRGJ9FM,4883 +yaml/constructor.py,sha256=kNgkfaeLUkwQYY_Q6Ff1Tz2XVw_pG1xVE9Ak7z-viLA,28639 +yaml/cyaml.py,sha256=6ZrAG9fAYvdVe2FK_w0hmXoG7ZYsoYUwapG8CiC72H0,3851 +yaml/dumper.py,sha256=PLctZlYwZLp7XmeUdwRuv4nYOZ2UBnDIUy8-lKfLF-o,2837 +yaml/emitter.py,sha256=jghtaU7eFwg31bG0B7RZea_29Adi9CKmXq_QjgQpCkQ,43006 +yaml/error.py,sha256=Ah9z-toHJUbE9j-M8YpxgSRM5CgLCcwVzJgLLRF2Fxo,2533 +yaml/events.py,sha256=50_TksgQiE4up-lKo_V-nBy-tAIxkIPQxY5qDhKCeHw,2445 +yaml/loader.py,sha256=UVa-zIqmkFSCIYq_PgSGm4NSJttHY2Rf_zQ4_b1fHN0,2061 +yaml/nodes.py,sha256=gPKNj8pKCdh2d4gr3gIYINnPOaOxGhJAUiYhGRnPE84,1440 +yaml/parser.py,sha256=ilWp5vvgoHFGzvOZDItFoGjD6D42nhlZrZyjAwa0oJo,25495 +yaml/reader.py,sha256=0dmzirOiDG4Xo41RnuQS7K9rkY3xjHiVasfDMNTqCNw,6794 +yaml/representer.py,sha256=IuWP-cAW9sHKEnS0gCqSa894k1Bg4cgTxaDwIcbRQ-Y,14190 +yaml/resolver.py,sha256=9L-VYfm4mWHxUD1Vg4X7rjDRK_7VZd6b92wzq7Y2IKY,9004 +yaml/scanner.py,sha256=YEM3iLZSaQwXcQRg2l2R4MdT0zGP2F9eHkKGKnHyWQY,51279 +yaml/serializer.py,sha256=ChuFgmhU01hj4xgI8GaKv6vfM2Bujwa9i7d2FAHj7cA,4165 +yaml/tokens.py,sha256=lTQIzSVw8Mg9wv459-TjiOQe6wVziqaRlqX2_89rp54,2573 diff --git a/venv/Lib/site-packages/PyYAML-6.0.1.dist-info/REQUESTED b/venv/Lib/site-packages/PyYAML-6.0.1.dist-info/REQUESTED new file mode 100644 index 00000000..e69de29b diff --git a/venv/Lib/site-packages/PyYAML-6.0.1.dist-info/WHEEL b/venv/Lib/site-packages/PyYAML-6.0.1.dist-info/WHEEL new file mode 100644 index 00000000..d5ae687e --- /dev/null +++ b/venv/Lib/site-packages/PyYAML-6.0.1.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.40.0) +Root-Is-Purelib: false +Tag: cp39-cp39-win_amd64 + diff --git a/venv/Lib/site-packages/PyYAML-6.0.1.dist-info/top_level.txt b/venv/Lib/site-packages/PyYAML-6.0.1.dist-info/top_level.txt new file mode 100644 index 00000000..e6475e91 --- /dev/null +++ b/venv/Lib/site-packages/PyYAML-6.0.1.dist-info/top_level.txt @@ -0,0 +1,2 @@ +_yaml +yaml diff --git a/venv/Lib/site-packages/__pycache__/cached_property.cpython-39.pyc b/venv/Lib/site-packages/__pycache__/cached_property.cpython-39.pyc new file mode 100644 index 00000000..d5555b16 Binary files /dev/null and b/venv/Lib/site-packages/__pycache__/cached_property.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/__pycache__/configargparse.cpython-39.pyc b/venv/Lib/site-packages/__pycache__/configargparse.cpython-39.pyc new file mode 100644 index 00000000..7e5c757f Binary files /dev/null and b/venv/Lib/site-packages/__pycache__/configargparse.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/__pycache__/decorator.cpython-39.pyc b/venv/Lib/site-packages/__pycache__/decorator.cpython-39.pyc new file mode 100644 index 00000000..3f99cf83 Binary files /dev/null and b/venv/Lib/site-packages/__pycache__/decorator.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/__pycache__/deprecation.cpython-39.pyc b/venv/Lib/site-packages/__pycache__/deprecation.cpython-39.pyc new file mode 100644 index 00000000..cab5be5c Binary files /dev/null and b/venv/Lib/site-packages/__pycache__/deprecation.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/__pycache__/six.cpython-39.pyc b/venv/Lib/site-packages/__pycache__/six.cpython-39.pyc new file mode 100644 index 00000000..92d33d7b Binary files /dev/null and b/venv/Lib/site-packages/__pycache__/six.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/__pycache__/typing_extensions.cpython-39.pyc b/venv/Lib/site-packages/__pycache__/typing_extensions.cpython-39.pyc new file mode 100644 index 00000000..cc8e1e08 Binary files /dev/null and b/venv/Lib/site-packages/__pycache__/typing_extensions.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/__pycache__/whichcraft.cpython-39.pyc b/venv/Lib/site-packages/__pycache__/whichcraft.cpython-39.pyc new file mode 100644 index 00000000..04841f46 Binary files /dev/null and b/venv/Lib/site-packages/__pycache__/whichcraft.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/__pycache__/xmltodict.cpython-39.pyc b/venv/Lib/site-packages/__pycache__/xmltodict.cpython-39.pyc new file mode 100644 index 00000000..937927a2 Binary files /dev/null and b/venv/Lib/site-packages/__pycache__/xmltodict.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/_distutils_hack/__init__.py b/venv/Lib/site-packages/_distutils_hack/__init__.py new file mode 100644 index 00000000..94f71b99 --- /dev/null +++ b/venv/Lib/site-packages/_distutils_hack/__init__.py @@ -0,0 +1,239 @@ +# don't import any costly modules +import os +import sys + +report_url = ( + "https://github.com/pypa/setuptools/issues/new?template=distutils-deprecation.yml" +) + + +def warn_distutils_present(): + if 'distutils' not in sys.modules: + return + import warnings + + warnings.warn( + "Distutils was imported before Setuptools, but importing Setuptools " + "also replaces the `distutils` module in `sys.modules`. This may lead " + "to undesirable behaviors or errors. To avoid these issues, avoid " + "using distutils directly, ensure that setuptools is installed in the " + "traditional way (e.g. not an editable install), and/or make sure " + "that setuptools is always imported before distutils." + ) + + +def clear_distutils(): + if 'distutils' not in sys.modules: + return + import warnings + + warnings.warn( + "Setuptools is replacing distutils. Support for replacing " + "an already imported distutils is deprecated. In the future, " + "this condition will fail. " + f"Register concerns at {report_url}" + ) + mods = [ + name + for name in sys.modules + if name == "distutils" or name.startswith("distutils.") + ] + for name in mods: + del sys.modules[name] + + +def enabled(): + """ + Allow selection of distutils by environment variable. + """ + which = os.environ.get('SETUPTOOLS_USE_DISTUTILS', 'local') + if which == 'stdlib': + import warnings + + warnings.warn( + "Reliance on distutils from stdlib is deprecated. Users " + "must rely on setuptools to provide the distutils module. " + "Avoid importing distutils or import setuptools first, " + "and avoid setting SETUPTOOLS_USE_DISTUTILS=stdlib. " + f"Register concerns at {report_url}" + ) + return which == 'local' + + +def ensure_local_distutils(): + import importlib + + clear_distutils() + + # With the DistutilsMetaFinder in place, + # perform an import to cause distutils to be + # loaded from setuptools._distutils. Ref #2906. + with shim(): + importlib.import_module('distutils') + + # check that submodules load as expected + core = importlib.import_module('distutils.core') + assert '_distutils' in core.__file__, core.__file__ + assert 'setuptools._distutils.log' not in sys.modules + + +def do_override(): + """ + Ensure that the local copy of distutils is preferred over stdlib. + + See https://github.com/pypa/setuptools/issues/417#issuecomment-392298401 + for more motivation. + """ + if enabled(): + warn_distutils_present() + ensure_local_distutils() + + +class _TrivialRe: + def __init__(self, *patterns) -> None: + self._patterns = patterns + + def match(self, string): + return all(pat in string for pat in self._patterns) + + +class DistutilsMetaFinder: + def find_spec(self, fullname, path, target=None): + # optimization: only consider top level modules and those + # found in the CPython test suite. + if path is not None and not fullname.startswith('test.'): + return None + + method_name = 'spec_for_{fullname}'.format(**locals()) + method = getattr(self, method_name, lambda: None) + return method() + + def spec_for_distutils(self): + if self.is_cpython(): + return None + + import importlib + import importlib.abc + import importlib.util + + try: + mod = importlib.import_module('setuptools._distutils') + except Exception: + # There are a couple of cases where setuptools._distutils + # may not be present: + # - An older Setuptools without a local distutils is + # taking precedence. Ref #2957. + # - Path manipulation during sitecustomize removes + # setuptools from the path but only after the hook + # has been loaded. Ref #2980. + # In either case, fall back to stdlib behavior. + return None + + class DistutilsLoader(importlib.abc.Loader): + def create_module(self, spec): + mod.__name__ = 'distutils' + return mod + + def exec_module(self, module): + pass + + return importlib.util.spec_from_loader( + 'distutils', DistutilsLoader(), origin=mod.__file__ + ) + + @staticmethod + def is_cpython(): + """ + Suppress supplying distutils for CPython (build and tests). + Ref #2965 and #3007. + """ + return os.path.isfile('pybuilddir.txt') + + def spec_for_pip(self): + """ + Ensure stdlib distutils when running under pip. + See pypa/pip#8761 for rationale. + """ + if sys.version_info >= (3, 12) or self.pip_imported_during_build(): + return + clear_distutils() + self.spec_for_distutils = lambda: None + + @classmethod + def pip_imported_during_build(cls): + """ + Detect if pip is being imported in a build script. Ref #2355. + """ + import traceback + + return any( + cls.frame_file_is_setup(frame) for frame, line in traceback.walk_stack(None) + ) + + @staticmethod + def frame_file_is_setup(frame): + """ + Return True if the indicated frame suggests a setup.py file. + """ + # some frames may not have __file__ (#2940) + return frame.f_globals.get('__file__', '').endswith('setup.py') + + def spec_for_sensitive_tests(self): + """ + Ensure stdlib distutils when running select tests under CPython. + + python/cpython#91169 + """ + clear_distutils() + self.spec_for_distutils = lambda: None + + sensitive_tests = ( + [ + 'test.test_distutils', + 'test.test_peg_generator', + 'test.test_importlib', + ] + if sys.version_info < (3, 10) + else [ + 'test.test_distutils', + ] + ) + + +for name in DistutilsMetaFinder.sensitive_tests: + setattr( + DistutilsMetaFinder, + f'spec_for_{name}', + DistutilsMetaFinder.spec_for_sensitive_tests, + ) + + +DISTUTILS_FINDER = DistutilsMetaFinder() + + +def add_shim(): + DISTUTILS_FINDER in sys.meta_path or insert_shim() + + +class shim: + def __enter__(self) -> None: + insert_shim() + + def __exit__(self, exc: object, value: object, tb: object) -> None: + _remove_shim() + + +def insert_shim(): + sys.meta_path.insert(0, DISTUTILS_FINDER) + + +def _remove_shim(): + try: + sys.meta_path.remove(DISTUTILS_FINDER) + except ValueError: + pass + + +if sys.version_info < (3, 12): + # DistutilsMetaFinder can only be disabled in Python < 3.12 (PEP 632) + remove_shim = _remove_shim diff --git a/venv/Lib/site-packages/_distutils_hack/__pycache__/__init__.cpython-39.pyc b/venv/Lib/site-packages/_distutils_hack/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..a0fe5dd1 Binary files /dev/null and b/venv/Lib/site-packages/_distutils_hack/__pycache__/__init__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/_distutils_hack/__pycache__/override.cpython-39.pyc b/venv/Lib/site-packages/_distutils_hack/__pycache__/override.cpython-39.pyc new file mode 100644 index 00000000..4e186264 Binary files /dev/null and b/venv/Lib/site-packages/_distutils_hack/__pycache__/override.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/_distutils_hack/override.py b/venv/Lib/site-packages/_distutils_hack/override.py new file mode 100644 index 00000000..2cc433a4 --- /dev/null +++ b/venv/Lib/site-packages/_distutils_hack/override.py @@ -0,0 +1 @@ +__import__('_distutils_hack').do_override() diff --git a/venv/Lib/site-packages/_yaml/__init__.py b/venv/Lib/site-packages/_yaml/__init__.py new file mode 100644 index 00000000..7baa8c4b --- /dev/null +++ b/venv/Lib/site-packages/_yaml/__init__.py @@ -0,0 +1,33 @@ +# This is a stub package designed to roughly emulate the _yaml +# extension module, which previously existed as a standalone module +# and has been moved into the `yaml` package namespace. +# It does not perfectly mimic its old counterpart, but should get +# close enough for anyone who's relying on it even when they shouldn't. +import yaml + +# in some circumstances, the yaml module we imoprted may be from a different version, so we need +# to tread carefully when poking at it here (it may not have the attributes we expect) +if not getattr(yaml, '__with_libyaml__', False): + from sys import version_info + + exc = ModuleNotFoundError if version_info >= (3, 6) else ImportError + raise exc("No module named '_yaml'") +else: + from yaml._yaml import * + import warnings + warnings.warn( + 'The _yaml extension module is now located at yaml._yaml' + ' and its location is subject to change. To use the' + ' LibYAML-based parser and emitter, import from `yaml`:' + ' `from yaml import CLoader as Loader, CDumper as Dumper`.', + DeprecationWarning + ) + del warnings + # Don't `del yaml` here because yaml is actually an existing + # namespace member of _yaml. + +__name__ = '_yaml' +# If the module is top-level (i.e. not a part of any specific package) +# then the attribute should be set to ''. +# https://docs.python.org/3.8/library/types.html +__package__ = '' diff --git a/venv/Lib/site-packages/_yaml/__pycache__/__init__.cpython-39.pyc b/venv/Lib/site-packages/_yaml/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..d39a1872 Binary files /dev/null and b/venv/Lib/site-packages/_yaml/__pycache__/__init__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/adbutils-0.16.2.dist-info/AUTHORS b/venv/Lib/site-packages/adbutils-0.16.2.dist-info/AUTHORS new file mode 100644 index 00000000..91b4ca2a --- /dev/null +++ b/venv/Lib/site-packages/adbutils-0.16.2.dist-info/AUTHORS @@ -0,0 +1,2 @@ +ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com> +codeskyblue diff --git a/venv/Lib/site-packages/adbutils-0.16.2.dist-info/INSTALLER b/venv/Lib/site-packages/adbutils-0.16.2.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/venv/Lib/site-packages/adbutils-0.16.2.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/Lib/site-packages/adbutils-0.16.2.dist-info/LICENSE b/venv/Lib/site-packages/adbutils-0.16.2.dist-info/LICENSE new file mode 100644 index 00000000..5f142c54 --- /dev/null +++ b/venv/Lib/site-packages/adbutils-0.16.2.dist-info/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 openatx + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/venv/Lib/site-packages/adbutils-0.16.2.dist-info/METADATA b/venv/Lib/site-packages/adbutils-0.16.2.dist-info/METADATA new file mode 100644 index 00000000..f3881d4e --- /dev/null +++ b/venv/Lib/site-packages/adbutils-0.16.2.dist-info/METADATA @@ -0,0 +1,30 @@ +Metadata-Version: 2.1 +Name: adbutils +Version: 0.16.2 +Summary: Pure Python Adb Library +Home-page: https://github.com/openatx/adbutils +Author: codeskyblue +Author-email: codeskyblue@gmail.com +License: MIT +Platform: UNKNOWN +Classifier: Development Status :: 4 - Beta +Classifier: Environment :: Console +Classifier: Intended Audience :: Developers +Classifier: Operating System :: POSIX +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Classifier: Topic :: Software Development :: Testing +Requires-Python: >=3.5 +Requires-Dist: whichcraft +Requires-Dist: requests +Requires-Dist: deprecation (<3.0,>=2.0.6) +Requires-Dist: retry (>=0.9) +Requires-Dist: apkutils2 (<2.0,>=1.0.0) +Requires-Dist: Pillow + +UNKNOWN + + diff --git a/venv/Lib/site-packages/adbutils-0.16.2.dist-info/RECORD b/venv/Lib/site-packages/adbutils-0.16.2.dist-info/RECORD new file mode 100644 index 00000000..61bcad71 --- /dev/null +++ b/venv/Lib/site-packages/adbutils-0.16.2.dist-info/RECORD @@ -0,0 +1,30 @@ +adbutils-0.16.2.dist-info/AUTHORS,sha256=sYAYIuVS4Av3rWXJCui-0A26aIJPk7rMOO_Zne-wWhw,102 +adbutils-0.16.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +adbutils-0.16.2.dist-info/LICENSE,sha256=Qm-Wei9CiLH2pQskptXmy7kdATUEKbno1f5b5c6QGs8,1064 +adbutils-0.16.2.dist-info/METADATA,sha256=m1hI1M3u9F6Xa8nTIowzth4w__8RDUuubXS8dVAkvsw,921 +adbutils-0.16.2.dist-info/RECORD,, +adbutils-0.16.2.dist-info/WHEEL,sha256=UCiaBe3DX00GK1uBGd2Ed4v4C6SltzF2vfv3sOVGtO8,96 +adbutils-0.16.2.dist-info/pbr.json,sha256=tnLtxvHBZV3uitj9hrwkHDnhn37FB1t9p5o65ZCJD-E,47 +adbutils-0.16.2.dist-info/top_level.txt,sha256=cQ2Z1d42ZOK-yx34-6ZEYFx4xFAZQki6Mh85q1UEB6s,9 +adbutils/__init__.py,sha256=mJHOvMUzV9GixdtqULN-UKYuiFw9Sdp8HRLbWY0HObs,2948 +adbutils/__main__.py,sha256=hpoIjPGILKpgqOi_6b3UD3K54UFNrnAA2RRaYtVFHDY,11785 +adbutils/__pycache__/__init__.cpython-39.pyc,, +adbutils/__pycache__/__main__.cpython-39.pyc,, +adbutils/__pycache__/_adb.cpython-39.pyc,, +adbutils/__pycache__/_device.cpython-39.pyc,, +adbutils/__pycache__/_proto.cpython-39.pyc,, +adbutils/__pycache__/_utils.cpython-39.pyc,, +adbutils/__pycache__/_version.cpython-39.pyc,, +adbutils/__pycache__/errors.cpython-39.pyc,, +adbutils/__pycache__/pidcat.cpython-39.pyc,, +adbutils/_adb.py,sha256=eHELNQVo98HCe-mtyXkd8NWfOcisBvZRqO9n2kLdQSw,11856 +adbutils/_device.py,sha256=1vut05wOJOtB2e3CI6yNIVDUO3AJyyvhyjQ8vvgrZOA,41402 +adbutils/_proto.py,sha256=v2g9xEx3w0R7kIk7pJ6dQh0-4wbTaM-GoU-HVevTDv8,1333 +adbutils/_utils.py,sha256=faKbcBCN2LMuUbKaXpEfmZNMNKz_O_LCv0yjMGZu9Hg,5152 +adbutils/_version.py,sha256=-XT9etHDm9-tmf6h25IRdWB0oTzrk2HkFT-22WNNVJA,272 +adbutils/binaries/AdbWinApi.dll,sha256=1gEDpembyYiPeG7pFvXW5FSTwyR5cssFODOAPefpXPk,97792 +adbutils/binaries/AdbWinUsbApi.dll,sha256=JSB8UG0pxOjc62G0vVDoZpuiYBKYikP78mqJCx5g_Jc,62976 +adbutils/binaries/README.md,sha256=CoXoKQ81xn-NQinRS1nZI3RArTdH4COgnUT0qwSK5g0,49 +adbutils/binaries/adb.exe,sha256=cNrvXduwO9Wv6Qt1364D-3N0Cd5T_sZve8cYWH6oLrc,5994496 +adbutils/errors.py,sha256=DwDotd07woYxrfwGWAP6gomsXqUW8KHKWS8dwGU8zv4,940 +adbutils/pidcat.py,sha256=19fFH7iW9wLdhffW23BDVDO401gGEXHv8DxMQpd9K2E,12871 diff --git a/venv/Lib/site-packages/adbutils-0.16.2.dist-info/WHEEL b/venv/Lib/site-packages/adbutils-0.16.2.dist-info/WHEEL new file mode 100644 index 00000000..cc6e2f56 --- /dev/null +++ b/venv/Lib/site-packages/adbutils-0.16.2.dist-info/WHEEL @@ -0,0 +1,4 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.37.1) +Root-Is-Purelib: true +Tag: py3-none-win_amd64 \ No newline at end of file diff --git a/venv/Lib/site-packages/adbutils-0.16.2.dist-info/pbr.json b/venv/Lib/site-packages/adbutils-0.16.2.dist-info/pbr.json new file mode 100644 index 00000000..f96c445e --- /dev/null +++ b/venv/Lib/site-packages/adbutils-0.16.2.dist-info/pbr.json @@ -0,0 +1 @@ +{"git_version": "311c985", "is_release": false} \ No newline at end of file diff --git a/venv/Lib/site-packages/adbutils-0.16.2.dist-info/top_level.txt b/venv/Lib/site-packages/adbutils-0.16.2.dist-info/top_level.txt new file mode 100644 index 00000000..96a27578 --- /dev/null +++ b/venv/Lib/site-packages/adbutils-0.16.2.dist-info/top_level.txt @@ -0,0 +1 @@ +adbutils diff --git a/venv/Lib/site-packages/adbutils/__init__.py b/venv/Lib/site-packages/adbutils/__init__.py new file mode 100644 index 00000000..e07465c9 --- /dev/null +++ b/venv/Lib/site-packages/adbutils/__init__.py @@ -0,0 +1,102 @@ +# coding: utf-8 +# + +from __future__ import print_function + +import io +import os +import typing + +from deprecation import deprecated + +from ._adb import AdbConnection +from ._adb import BaseClient as _BaseClient +from ._device import AdbDevice, Sync +from ._proto import * +from ._utils import adb_path +from ._version import __version__ +from .errors import * + + +class AdbClient(_BaseClient): + def sync(self, serial: str) -> Sync: + return Sync(self, serial) + + @deprecated(deprecated_in="0.15.0", + removed_in="1.0.0", + current_version=__version__, + details="use AdbDevice.shell instead") + def shell(self, + serial: str, + command: typing.Union[str, list, tuple], + stream: bool = False, + timeout: typing.Optional[float] = None) -> typing.Union[str, AdbConnection]: + return self.device(serial).shell(command, stream=stream, timeout=timeout) + + def iter_device(self) -> typing.Iterator: + """ + Returns: + iter of AdbDevice + """ + with self._connect() as c: + c.send_command("host:devices") + c.check_okay() + output = c.read_string_block() + for line in output.splitlines(): + parts = line.strip().split("\t") + if len(parts) != 2: + continue + if parts[1] == 'device': + yield AdbDevice(self, serial=parts[0]) + + def device_list(self): + return list(self.iter_device()) + + def device(self, + serial: str = None, + transport_id: int = None) -> 'AdbDevice': + if serial: + return AdbDevice(self, serial=serial) + + if transport_id: + return AdbDevice(self, transport_id=transport_id) + + serial = os.environ.get("ANDROID_SERIAL") + if not serial: + ds = self.device_list() + if len(ds) == 0: + raise RuntimeError("Can't find any android device/emulator") + if len(ds) > 1: + raise RuntimeError( + "more than one device/emulator, please specify the serial number" + ) + return ds[0] + return AdbDevice(self, serial) + + + +adb = AdbClient() +device = adb.device + + +if __name__ == "__main__": + print("server version:", adb.server_version()) + print("devices:", adb.devices()) + d = adb.devices()[0] + + print(d.serial) + for f in adb.sync(d.serial).iter_directory("/data/local/tmp"): + print(f) + + finfo = adb.sync(d.serial).stat("/data/local/tmp") + print(finfo) + import io + sync = adb.sync(d.serial) + filepath = "/data/local/tmp/hi.txt" + sync.push(io.BytesIO(b"hi5a4de5f4qa6we541fq6w1ef5a61f65ew1rf6we"), + filepath, 0o644) + + print("FileInfo", sync.stat(filepath)) + for chunk in sync.iter_content(filepath): + print(chunk) + # sync.pull(filepath) diff --git a/venv/Lib/site-packages/adbutils/__main__.py b/venv/Lib/site-packages/adbutils/__main__.py new file mode 100644 index 00000000..ac07d601 --- /dev/null +++ b/venv/Lib/site-packages/adbutils/__main__.py @@ -0,0 +1,334 @@ +# coding: utf-8 +# +""" +python -m apkutils COMMAND + +Commands: + install Install apk to device +""" + +from __future__ import absolute_import + +import argparse +import datetime +import functools +import json +import os +import re +import shutil +import subprocess +import sys +import zipfile + +import requests + +import adbutils +from adbutils import adb as adbclient +from adbutils._utils import ReadProgress, current_ip, APKReader + + +def _setup_minicap(d: adbutils.AdbDevice): + def cache_download(url, dst): + if os.path.exists(dst): + print("Use cached", dst) + return + print("Download {} from {}".format(dst, url)) + resp = requests.get(url, stream=True) + resp.raise_for_status() + length = int(resp.headers.get("Content-Length", 0)) + r = ReadProgress(resp.raw, length) + with open(dst + ".cached", "wb") as f: + shutil.copyfileobj(r, f) + shutil.move(dst + ".cached", dst) + + def push_zipfile(path: str, + dest: str, + mode=0o755, + zipfile_path: str = "vendor/stf-binaries-master.zip"): + """ push minicap and minitouch from zip """ + with zipfile.ZipFile(zipfile_path) as z: + if path not in z.namelist(): + print("WARNING: stf stuff %s not found", path) + return + with z.open(path) as f: + d.sync.push(f, dest, mode) + + zipfile_path = "stf-binaries.zip" + cache_download("https://github.com/openatx/stf-binaries/archive/0.2.zip", + zipfile_path) + zip_folder = "stf-binaries-0.2" + + sdk = d.getprop("ro.build.version.sdk") # eg 26 + abi = d.getprop('ro.product.cpu.abi') # eg arm64-v8a + abis = (d.getprop('ro.product.cpu.abilist').strip() or abi).split(",") + # return + print("sdk: %s, abi: %s, support-abis: %s" % (sdk, abi, ','.join(abis))) + print("Push minicap+minicap.so to device") + prefix = zip_folder + "/node_modules/minicap-prebuilt/prebuilt/" + push_zipfile(prefix + abi + "/lib/android-" + sdk + "/minicap.so", + "/data/local/tmp/minicap.so", 0o644, zipfile_path) + push_zipfile(prefix + abi + "/bin/minicap", "/data/local/tmp/minicap", + 0o0755, zipfile_path) + + print("Push minitouch to device") + prefix = zip_folder + "/node_modules/minitouch-prebuilt/prebuilt/" + push_zipfile(prefix + abi + "/bin/minitouch", "/data/local/tmp/minitouch", + 0o0755, zipfile_path) + + # check if minicap installed + output = d.shell( + ["LD_LIBRARY_PATH=/data/local/tmp", "/data/local/tmp/minicap", "-i"]) + print(output) + print("If you see JSON output, it means minicap installed successfully") + + +def main(): + parser = argparse.ArgumentParser() + # formatter_class=argparse.ArgumentDefaultsHelpFormatter) + + parser.add_argument("-s", "--serial", help="device serial number") + parser.add_argument("-V", + "--server-version", + action="store_true", + help="show adb server version") + parser.add_argument("-l", + "--list", + action="store_true", + help="list devices") + parser.add_argument("-i", + "--install", + help="install from local apk or url") + parser.add_argument( + "--install-confirm", + action="store_true", + help="auto confirm when install (based on uiautomator2)") + parser.add_argument("-u", "--uninstall", help="uninstall apk") + parser.add_argument("-L", "--launch", action="store_true", help="launch after install") + parser.add_argument("--qrcode", help="show qrcode of the specified file") + parser.add_argument("--parse", type=str, help="parse package info from local file or url") + parser.add_argument("--clear", + action="store_true", + help="clear all data when uninstall") + parser.add_argument("--list-packages", + action="store_true", + help="list packages installed") + parser.add_argument("--current", action="store_true", help="show current package info") + parser.add_argument("-p", + "--package", + help="show package info in json format") + parser.add_argument("--grep", help="filter matched package names") + parser.add_argument("--connect", type=str, help="connect remote device") + parser.add_argument("--shell", + action="store_true", + help="run shell command") + parser.add_argument("--minicap", + action="store_true", + help="install minicap and minitouch to device") + parser.add_argument("--screenshot", type=str, help="take screenshot") + parser.add_argument("-b", "--browser", help="open browser in device") + parser.add_argument( + "--push", + help= + "push local to remote, arg is colon seperated, eg some.txt:/sdcard/s.txt" + ) + parser.add_argument( + "--pull", + help="push local to remote, arg is colon seperated, eg /sdcard/some.txt" + ) + parser.add_argument("--dump-info", action="store_true", help="dump info for developer") + parser.add_argument("--track", action="store_true", help="trace device status") + parser.add_argument("args", nargs="*", help="arguments") + + args = parser.parse_args() + + if args.connect: + adbclient.connect(args.connect) + return + + if args.server_version: + print("ADB Server version: {}".format(adbclient.server_version())) + return + + if args.list: + rows = [] + for d in adbclient.device_list(): + rows.append([d.serial, d.shell("getprop ro.product.model")]) + lens = [] + for col in zip(*rows): + lens.append(max([len(v) for v in col])) + format = " ".join(["{:<" + str(l) + "}" for l in lens]) + for row in rows: + print(format.format(*row)) + return + + if args.qrcode: + from http.server import SimpleHTTPRequestHandler, ThreadingHTTPServer + + filename = args.qrcode + port = 8000 + url = "http://%s:%d/%s" % (current_ip(), port, filename) + print("File URL:", url) + try: + import qrcode + qr = qrcode.QRCode(border=2) + qr.add_data(url) + qr.print_ascii(tty=True) + except ImportError: + print( + "In order to show QRCode, you need install with: pip3 install qrcode" + ) + + httpd = ThreadingHTTPServer(('', port), SimpleHTTPRequestHandler) + httpd.serve_forever() + return + + if args.dump_info: + print("==== ADB Info ====") + print("Path:", adbutils.adb_path()) + print("Server version:", adbclient.server_version()) + print("") + print(">> List of devices attached") + for d in adbclient.device_list(): + print("-", d.serial, d.prop.name, d.prop.model) + return + + if args.track: + for event in adbclient.track_devices(): + asctime = datetime.datetime.now().strftime("%H:%M:%S.%f") + print("{} {} -> {}".format(asctime[:-3], event.serial, event.status)) + return + + elif args.parse: + uri = args.parse + + fp = None + if re.match(r"^https?://", uri): + try: + import httpio + except ImportError: + retcode = subprocess.call([sys.executable, '-m', 'pip', 'install', '-U', 'httpio']) + assert retcode == 0 + import httpio + fp = httpio.open(uri, block_size=-1) + else: + assert os.path.isfile(uri) + fp = open(uri, 'rb') + try: + ar = APKReader(fp) + ar.dump_info() + finally: + fp.close() + return + + ## Device operation + d = adbclient.device(args.serial) + + if args.shell: + output = d.shell(args.args) + print(output) + return + + if args.install: + def _callback(event_name: str, ud): + name = "_INSTALL_" + if event_name == "BEFORE_INSTALL": + print("== Enable popup window watcher") + ud.press("home") + ud.watcher(name).when("å…许").click() + ud.watcher(name).when("继续安装").click() + ud.watcher(name).when("安装").click() + ud.watcher.start() + elif event_name == "FINALLY": + print("== Stop popup window watcher") + ud.watcher.remove(name) + ud.watcher.stop() + + if args.install_confirm: + import uiautomator2 as u2 + ud = u2.connect(args.serial) + _callback = functools.partial(_callback, ud=ud) + else: + _callback = None + + d.install(args.install, uninstall=True, callback=_callback) + + elif args.uninstall: + d.uninstall(args.uninstall) + + elif args.list_packages: + patten = re.compile(args.grep or ".*") + for p in d.list_packages(): + if patten.search(p): + print(p) + + elif args.screenshot: + if args.minicap: + def adb_shell(cmd: list): + print("Run:", " ".join(["adb", "shell"] + cmd)) + return d.shell(cmd).strip() + json_output = adb_shell([ + "LD_LIBRARY_PATH=/data/local/tmp", "/data/local/tmp/minicap", + "-i", "2&>/dev/null" + ]) + if not json_output.startswith("{"): + raise RuntimeError("Invalid json format", json_output) + data = json.loads(json_output) + + w, h, r = data["width"], data["height"], data["rotation"] + d.shell([ + "LD_LIBRARY_PATH=/data/local/tmp", "/data/local/tmp/minicap", + "-P", "{0}x{1}@{0}x{1}/{2}".format(w, h, r), "-s", + ">/sdcard/minicap.jpg" + ]) + d.sync.pull("/sdcard/minicap.jpg", args.screenshot) + else: + remote_tmp_path = "/data/local/tmp/screenshot.png" + d.shell(["rm", remote_tmp_path]) + d.shell(["screencap", "-p", remote_tmp_path]) + d.sync.pull(remote_tmp_path, args.screenshot) + + elif args.minicap: # without args.screenshot + _setup_minicap(d) + + elif args.push: + local, remote = args.push.split(":", 1) + length = os.stat(local).st_size + with open(local, "rb") as fd: + r = ReadProgress(fd, length) + d.sync.push(r, remote, filesize=length) + + elif args.pull: + remote_path = args.pull + target_path = os.path.basename(remote_path) + finfo = d.sync.stat(args.pull) + + if finfo.mode == 0 and finfo.size == 0: + sys.exit(f"remote file '{remote_path}' does not exist") + + bytes_so_far = 0 + for chunk in d.sync.iter_content(remote_path): + bytes_so_far += len(chunk) + percent = bytes_so_far / finfo.size * 100 if finfo.size != 0 else 100.0 + print( + f"\rDownload to {target_path} ... [{bytes_so_far} / {finfo.size}] %.1f %%" + % percent, + end="", + flush=True) + print(f"{remote_path} pulled to {target_path}") + + elif args.browser: + d.open_browser(args.browser) + + elif args.current: + package_name = d.app_current().package + info = d.package_info(package_name) + print(json.dumps(info, indent=4, default=str)) + + elif args.package: + info = d.package_info(args.package) + print(json.dumps(info, indent=4, default=str)) + + + +if __name__ == "__main__": + main() diff --git a/venv/Lib/site-packages/adbutils/__pycache__/__init__.cpython-39.pyc b/venv/Lib/site-packages/adbutils/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..819f9039 Binary files /dev/null and b/venv/Lib/site-packages/adbutils/__pycache__/__init__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/adbutils/__pycache__/__main__.cpython-39.pyc b/venv/Lib/site-packages/adbutils/__pycache__/__main__.cpython-39.pyc new file mode 100644 index 00000000..f9de1b01 Binary files /dev/null and b/venv/Lib/site-packages/adbutils/__pycache__/__main__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/adbutils/__pycache__/_adb.cpython-39.pyc b/venv/Lib/site-packages/adbutils/__pycache__/_adb.cpython-39.pyc new file mode 100644 index 00000000..24e73e8f Binary files /dev/null and b/venv/Lib/site-packages/adbutils/__pycache__/_adb.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/adbutils/__pycache__/_device.cpython-39.pyc b/venv/Lib/site-packages/adbutils/__pycache__/_device.cpython-39.pyc new file mode 100644 index 00000000..ba0dfe87 Binary files /dev/null and b/venv/Lib/site-packages/adbutils/__pycache__/_device.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/adbutils/__pycache__/_proto.cpython-39.pyc b/venv/Lib/site-packages/adbutils/__pycache__/_proto.cpython-39.pyc new file mode 100644 index 00000000..ebf0bc62 Binary files /dev/null and b/venv/Lib/site-packages/adbutils/__pycache__/_proto.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/adbutils/__pycache__/_utils.cpython-39.pyc b/venv/Lib/site-packages/adbutils/__pycache__/_utils.cpython-39.pyc new file mode 100644 index 00000000..52572903 Binary files /dev/null and b/venv/Lib/site-packages/adbutils/__pycache__/_utils.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/adbutils/__pycache__/_version.cpython-39.pyc b/venv/Lib/site-packages/adbutils/__pycache__/_version.cpython-39.pyc new file mode 100644 index 00000000..d742f549 Binary files /dev/null and b/venv/Lib/site-packages/adbutils/__pycache__/_version.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/adbutils/__pycache__/errors.cpython-39.pyc b/venv/Lib/site-packages/adbutils/__pycache__/errors.cpython-39.pyc new file mode 100644 index 00000000..cc4447b9 Binary files /dev/null and b/venv/Lib/site-packages/adbutils/__pycache__/errors.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/adbutils/__pycache__/pidcat.cpython-39.pyc b/venv/Lib/site-packages/adbutils/__pycache__/pidcat.cpython-39.pyc new file mode 100644 index 00000000..d6068a84 Binary files /dev/null and b/venv/Lib/site-packages/adbutils/__pycache__/pidcat.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/adbutils/_adb.py b/venv/Lib/site-packages/adbutils/_adb.py new file mode 100644 index 00000000..98df40a0 --- /dev/null +++ b/venv/Lib/site-packages/adbutils/_adb.py @@ -0,0 +1,390 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +"""Created on Fri May 06 2022 10:58:29 by codeskyblue +""" + +import os +import socket +import subprocess +import typing +import weakref +from typing import Iterator, Union + +from deprecation import deprecated + +from adbutils._utils import adb_path +from adbutils.errors import AdbError, AdbTimeout + +from ._proto import * +from ._utils import list2cmdline +from ._version import __version__ + +_OKAY = "OKAY" +_FAIL = "FAIL" + + +def _check_server(host: str, port: int) -> bool: + """ Returns if server is running """ + s = socket.socket() + try: + s.connect((host, port)) + return True + except socket.error as e: + return False + finally: + s.close() + + + +class AdbConnection(object): + def __init__(self, host: str, port: int): + self.__host = host + self.__port = port + self.__conn = self._safe_connect() + + self._finalizer = weakref.finalize(self, self.conn.close) + + def _create_socket(self): + adb_host = self.__host + adb_port = self.__port + s = socket.socket() + try: + s.connect((adb_host, adb_port)) + return s + except: + s.close() + raise + + def _safe_connect(self): + try: + return self._create_socket() + except ConnectionRefusedError: + subprocess.run([adb_path(), "start-server"], timeout=20.0) # 20s should enough for adb start + return self._create_socket() + + @property + def closed(self) -> bool: + return not self._finalizer.alive + + def close(self): + self._finalizer() + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc, traceback): + self.close() + + @property + def conn(self) -> socket.socket: + return self.__conn + + def send(self, data: bytes) -> int: + return self.conn.send(data) + + def read(self, n: int) -> bytes: + try: + return self._read_fully(n) + except socket.timeout: + raise AdbTimeout("adb read timeout") + + def _read_fully(self, n: int) -> bytes: + t = n + buffer = b'' + while t > 0: + chunk = self.conn.recv(t) + if not chunk: + break + buffer += chunk + t = n - len(buffer) + return buffer + + def send_command(self, cmd: str): + self.conn.send("{:04x}{}".format(len(cmd), cmd).encode("utf-8")) + + def read_string(self, n: int) -> str: + data = self.read(n).decode() + return data + + def read_string_block(self) -> str: + """ + Raises: + AdbError + """ + length = self.read_string(4) + if not length: + raise AdbError("connection closed") + size = int(length, 16) + return self.read_string(size) + + def read_until_close(self) -> str: + content = b"" + while True: + chunk = self.read(4096) + if not chunk: + break + content += chunk + return content.decode('utf-8', errors='ignore') + + def check_okay(self): + data = self.read_string(4) + if data == _FAIL: + raise AdbError(self.read_string_block()) + elif data == _OKAY: + return + raise AdbError("Unknown data: %r" % data) + + +class BaseClient(object): + def __init__(self, host: str = None, port: int = None, socket_timeout: float = None): + """ + Args: + host (str): default value from env:ANDROID_ADB_SERVER_HOST + port (int): default value from env:ANDROID_ADB_SERVER_PORT + """ + if not host: + host = os.environ.get("ANDROID_ADB_SERVER_HOST", "127.0.0.1") + if not port: + port = int(os.environ.get("ANDROID_ADB_SERVER_PORT", 5037)) + self.__host = host + self.__port = port + self.__socket_timeout = socket_timeout + + @property + def host(self) -> str: + return self.__host + + @property + def port(self) -> int: + return self.__port + + def _connect(self, timeout: float = None) -> AdbConnection: + """ connect to adb server + + Raises: + AdbTimeout + """ + timeout = timeout or self.__socket_timeout + try: + _conn = AdbConnection(self.__host, self.__port) + if timeout: + _conn.conn.settimeout(timeout) + return _conn + except TimeoutError: + raise AdbTimeout("connect to adb server timeout") + + def server_version(self): + """ 40 will match 1.0.40 + Returns: + int + """ + with self._connect() as c: + c.send_command("host:version") + c.check_okay() + return int(c.read_string_block(), 16) + + def server_kill(self): + """ + adb kill-server + + Send host:kill if adb-server is alive + """ + if _check_server(self.__host, self.__port): + with self._connect() as c: + c.send_command("host:kill") + c.check_okay() + + def wait_for(self, serial: str = None, transport: str = 'any', state: str = "device", timeout: float=60): + """ Same as wait-for-TRANSPORT-STATE + Args: + serial (str): device serial [default None] + transport (str): {any,usb,local} [default any] + state (str): {device,recovery,rescue,sideload,bootloader,disconnect} [default device] + timeout (float): max wait time [default 60] + + Raises: + AdbError, AdbTimeout + """ + with self._connect(timeout=timeout) as c: + cmds = [] + if serial: + cmds.extend(['host-serial', serial]) + else: + cmds.append('host') + cmds.append("wait-for-" + transport + "-" + state) + c.send_command(":".join(cmds)) + c.check_okay() + c.check_okay() + + # def reconnect(self, addr: str, timeout: float=None) -> str: + # """ this function is not same as adb reconnect + # actually the behavior is same as + # - adb disconnect x.x.x.x + # - adb connect x.x.x.x + # """ + # self.disconnect(addr) + # return self.connect(addr, timeout=timeout) + + def connect(self, addr: str, timeout: float=None) -> str: + """ adb connect $addr + Args: + addr (str): adb remote address [eg: 191.168.0.1:5555] + timeout (float): connect timeout + + Returns: + content adb server returns + + Raises: + AdbTimeout + + Example returns: + - "already connected to 192.168.190.101:5555" + - "unable to connect to 192.168.190.101:5551" + - "failed to connect to '1.2.3.4:4567': Operation timed out" + """ + with self._connect(timeout=timeout) as c: + c.send_command("host:connect:" + addr) + c.check_okay() + return c.read_string_block() + + def disconnect(self, addr: str, raise_error: bool=False) -> str: + """ adb disconnect $addr + Returns: + content adb server returns + + Raises: + when raise_error set to True + AdbError("error: no such device '1.2.3.4:5678') + + Example returns: + - "disconnected 192.168.190.101:5555" + """ + try: + with self._connect() as c: + c.send_command("host:disconnect:" + addr) + c.check_okay() + return c.read_string_block() + except AdbError: + if raise_error: + raise + + def track_devices(self) -> Iterator[DeviceEvent]: + """ + Report device state when changes + + Args: + limit_status: eg, ['device', 'offline'], empty means all status + + Returns: + Iterator[DeviceEvent], DeviceEvent.status can be one of ['device', 'offline', 'unauthorized', 'absent'] + + Raises: + AdbError when adb-server was killed + """ + orig_devices = [] + + with self._connect() as c: + c.send_command("host:track-devices") + c.check_okay() + while True: + output = c.read_string_block() + curr_devices = self._output2devices(output) + for event in self._diff_devices(orig_devices, curr_devices): + yield event + orig_devices = curr_devices + + def _output2devices(self, output: str): + devices = [] + for line in output.splitlines(): + fields = line.strip().split("\t", maxsplit=1) + if len(fields) != 2: + continue + serial, status = fields + devices.append(DeviceEvent(None, serial, status)) + return devices + + def _diff_devices(self, orig: typing.List[DeviceEvent], curr: typing.List[DeviceEvent]): + for d in set(orig).difference(curr): + yield DeviceEvent(False, d.serial, 'absent') + for d in set(curr).difference(orig): + yield DeviceEvent(True, d.serial, d.status) + + @deprecated(deprecated_in="0.15.0", + removed_in="1.0.0", + current_version=__version__) + def forward_list(self, serial: Union[None, str] = None): + with self._connect() as c: + list_cmd = "host:list-forward" + if serial: + list_cmd = "host-serial:{}:list-forward".format(serial) + c.send_command(list_cmd) + c.check_okay() + content = c.read_string_block() + for line in content.splitlines(): + parts = line.split() + if len(parts) != 3: + continue + if serial and parts[0] != serial: + continue + yield ForwardItem(*parts) + + @deprecated(deprecated_in="0.15.0", + removed_in="1.0.0", + current_version=__version__) + def forward(self, serial, local, remote, norebind=False): + """ + Args: + serial (str): device serial + local, remote (str): tcp: or localabstract: + norebind (bool): fail if already forwarded when set to true + + Raises: + AdbError + """ + with self._connect() as c: + cmds = ["host-serial", serial, "forward"] + if norebind: + cmds.append("norebind") + cmds.append(local + ";" + remote) + c.send_command(":".join(cmds)) + c.check_okay() + + @deprecated(deprecated_in="0.15.0", + removed_in="1.0.0", + current_version=__version__) + def reverse(self, serial, remote, local, norebind=False): + """ + Args: + serial (str): device serial + remote, local (str): tcp: or localabstract: + norebind (bool): fail if already reversed when set to true + + Raises: + AdbError + """ + with self._connect() as c: + c.send_command("host:transport:" + serial) + c.check_okay() + cmds = ['reverse:forward', remote + ";" + local] + c.send_command(":".join(cmds)) + c.check_okay() + + @deprecated(deprecated_in="0.15.0", + removed_in="1.0.0", + current_version=__version__) + def reverse_list(self, serial: Union[None, str] = None): + with self._connect() as c: + c.send_command("host:transport:" + serial) + c.check_okay() + c.send_command("reverse:list-forward") + c.check_okay() + content = c.read_string_block() + for line in content.splitlines(): + parts = line.split() + if len(parts) != 3: + continue + yield ReverseItem(*parts[1:]) + + + diff --git a/venv/Lib/site-packages/adbutils/_device.py b/venv/Lib/site-packages/adbutils/_device.py new file mode 100644 index 00000000..bfc86484 --- /dev/null +++ b/venv/Lib/site-packages/adbutils/_device.py @@ -0,0 +1,1227 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +"""Created on Fri May 06 2022 10:33:39 by codeskyblue +""" + +import datetime +import io +import json +import os +import pathlib +import re +import socket +import stat +import struct +import subprocess +import tempfile +import textwrap +import threading +import time +import typing +import warnings +from contextlib import contextmanager +from dataclasses import asdict +from typing import Optional, Union + +import apkutils2 +import requests +from deprecation import deprecated +from PIL import Image, UnidentifiedImageError +from retry import retry + +from ._adb import AdbConnection, BaseClient +from ._proto import * +from ._utils import (APKReader, ReadProgress, adb_path, get_free_port, + humanize, list2cmdline) +from ._version import __version__ +from .errors import AdbError, AdbInstallError + +_DISPLAY_RE = re.compile( + r'.*DisplayViewport{.*?valid=true, .*?orientation=(?P\d+), .*?deviceWidth=(?P\d+), deviceHeight=(?P\d+).*' +) + + +class BaseDevice: + """ Basic operation for a device """ + def __init__(self, client: BaseClient, serial: str = None, transport_id: int = None): + self._client = client + self._serial = serial + self._transport_id: int = transport_id + self._properties = {} # store properties data + + if not serial and not transport_id: + raise AdbError("serial, transport_id must set atleast one") + + @property + def serial(self) -> str: + return self._serial + + def open_transport(self, command: str = None, timeout: float = None) -> AdbConnection: + # connect has it own timeout + c = self._client._connect() + if timeout: + c.conn.settimeout(timeout) + + if command: + if self._transport_id: + c.send_command(f"host-transport-id:{self._transport_id}:{command}") + elif self._serial: + c.send_command(f"host-serial:{self._serial}:{command}") + else: + raise RuntimeError + c.check_okay() + else: + if self._transport_id: + c.send_command(f"host:transport-id:{self._transport_id}") + elif self._serial: + # host:tport:serial:xxx is also fine, but receive 12 bytes + # recv: 4f 4b 41 59 14 00 00 00 00 00 00 00 OKAY........ + # so here use host:transport + c.send_command(f"host:transport:{self._serial}") + else: + raise RuntimeError + c.check_okay() + return c + + def _get_with_command(self, cmd: str) -> str: + c = self.open_transport(cmd) + return c.read_string_block() + + def get_state(self) -> str: + """ return device state {offline,bootloader,device} """ + return self._get_with_command("get-state") + + def get_serialno(self) -> str: + """ return the real device id, not the connect serial """ + return self._get_with_command("get-serialno") + + def get_devpath(self) -> str: + """ example return: usb:12345678Y """ + return self._get_with_command("get-devpath") + + def get_features(self) -> str: + """ + Return example: + 'abb_exec,fixed_push_symlink_timestamp,abb,stat_v2,apex,shell_v2,fixed_push_mkdir,cmd' + """ + return self._get_with_command("features") + + @property + def info(self) -> dict: + return { + "serialno": self.get_serialno(), + "devpath": self.get_devpath(), + "state": self.get_state(), + } + + def __repr__(self): + return "AdbDevice(serial={})".format(self.serial) + + @property + def sync(self) -> 'Sync': + return Sync(self._client, self.serial) + + @property + def prop(self) -> "Property": + return Property(self) + + def adb_output(self, *args, **kwargs): + """Run adb command use subprocess and get its content + + Returns: + string of output + + Raises: + EnvironmentError + """ + cmds = [adb_path(), '-s', self._serial + ] if self._serial else [adb_path()] + cmds.extend(args) + cmdline = list2cmdline(map(str, cmds)) + try: + return subprocess.check_output(cmdline, + stdin=subprocess.DEVNULL, + stderr=subprocess.STDOUT, + shell=True).decode('utf-8') + except subprocess.CalledProcessError as e: + if kwargs.get('raise_error', True): + raise EnvironmentError( + "subprocess", cmdline, + e.output.decode('utf-8', errors='ignore')) + + def shell(self, + cmdargs: Union[str, list, tuple], + stream: bool = False, + timeout: Optional[float] = None, + rstrip=True) -> typing.Union[AdbConnection, str]: + """Run shell inside device and get it's content + + Args: + rstrip (bool): strip the last empty line (Default: True) + stream (bool): return stream instead of string output (Default: False) + timeout (float): set shell timeout + + Returns: + string of output when stream is False + AdbConnection when stream is True + + Raises: + AdbTimeout + + Examples: + shell("ls -l") + shell(["ls", "-l"]) + shell("ls | grep data") + """ + if isinstance(cmdargs, (list, tuple)): + cmdargs = list2cmdline(cmdargs) + if stream: + timeout = None + c = self.open_transport(timeout=timeout) + c.send_command("shell:" + cmdargs) + c.check_okay() + if stream: + return c + output = c.read_until_close() + return output.rstrip() if rstrip else output + + def shell2(self, + cmdargs: Union[str, list, tuple], + timeout: Optional[float] = None, + rstrip=True) -> ShellReturn: + """ + Run shell command with detail output + + Returns: + ShellOutput + + Raises: + AdbTimeout + """ + if isinstance(cmdargs, (list, tuple)): + cmdargs = list2cmdline(cmdargs) + assert isinstance(cmdargs, str) + MAGIC = "X4EXIT:" + newcmd = cmdargs + f"; echo {MAGIC}$?" + output = self.shell(newcmd, timeout=timeout, rstrip=rstrip) + rindex = output.rfind(MAGIC) + if rindex == -1: # normally will not possible + raise AdbError("shell output invalid", output) + returncoode = int(output[rindex + len(MAGIC):]) + return ShellReturn(command=cmdargs, + returncode=returncoode, + output=output[:rindex]) + + def forward(self, local: str, remote: str, norebind: bool = False): + args = ["forward"] + if norebind: + args.append("norebind") + args.append(local+";" + remote) + self.open_transport(":".join(args)) + + def forward_port(self, remote: Union[int, str]) -> int: + """ forward remote port to local random port """ + if isinstance(remote, int): + remote = "tcp:" + str(remote) + for f in self.forward_list(): + if f.serial == self._serial and f.remote == remote and f.local.startswith("tcp:"): + return int(f.local[len("tcp:"):]) + local_port = get_free_port() + self.forward("tcp:" + str(local_port), remote) + return local_port + + def forward_list(self): + c = self.open_transport("list-forward") + content = c.read_string_block() + for line in content.splitlines(): + parts = line.split() + if len(parts) != 3: + continue + yield ForwardItem(*parts) + return self._client.forward_list(self._serial) + + def reverse(self, remote: str, local: str, norebind: bool = False): + """ + Args: + serial (str): device serial + remote, local (str): + - tcp: + - localabstract: + - localreserved: + - localfilesystem: + norebind (bool): fail if already reversed when set to true + + Raises: + AdbError + """ + args = ["forward"] + if norebind: + args.append("norebind") + args.append(local+";" + remote) + self.open_transport(":".join(args)) + + def reverse_list(self): + c = self.open_transport() + c.send_command("reverse:list-forward") + c.check_okay() + content = c.read_string_block() + for line in content.splitlines(): + parts = line.split() + if len(parts) != 3: + continue + yield ReverseItem(*parts[1:]) + + def push(self, local: str, remote: str): + self.adb_output("push", local, remote) + + def create_connection(self, network: Network, address: Union[int, str]) -> socket.socket: + """ + Used to connect a socket (unix of tcp) on the device + + Returns: + socket object + + Raises: + AssertionError, ValueError + """ + c = self.open_transport() + if network == Network.TCP: + assert isinstance(address, int) + c.send_command("tcp:" + str(address)) + c.check_okay() + elif network in [Network.UNIX, Network.LOCAL_ABSTRACT]: + assert isinstance(address, str) + c.send_command("localabstract:" + address) + c.check_okay() + elif network in [Network.LOCAL_FILESYSTEM, Network.LOCAL, Network.DEV, Network.LOCAL_RESERVED]: + c.send_command(network + ":" + address) + c.check_okay() + else: + raise ValueError("Unsupported network type", network) + c._finalizer.detach() + return c.conn + + def root(self): + """ restart adbd as root + + Return example: + cannot run as root in production builds + """ + # Ref: https://github.com/Swind/pure-python-adb/blob/master/ppadb/command/transport/__init__.py#L179 + c = self.open_transport() + c.send_command("root:") + c.check_okay() + return c.read_string_block() + + def tcpip(self, port: int): + """ restart adbd listening on TCP on PORT + + Return example: + restarting in TCP mode port: 5555 + """ + c = self.open_transport() + c.send_command("tcpip:" + str(port)) + c.check_okay() + return c.read_until_close() + + +class Property(): + def __init__(self, d: BaseDevice): + self._d = d + + def __str__(self): + return f"product:{self.name} model:{self.model} device:{self.device}" + + def get(self, name: str, cache=True) -> str: + if cache and name in self._d._properties: + return self._d._properties[name] + value = self._d._properties[name] = self._d.shell(['getprop', name]).strip() + return value + + @property + def name(self): + return self.get("ro.product.name", cache=True) + + @property + def model(self): + return self.get("ro.product.model", cache=True) + + @property + def device(self): + return self.get("ro.product.device", cache=True) + + +_OKAY = "OKAY" +_FAIL = "FAIL" +_DENT = "DENT" # Directory Entity +_DONE = "DONE" +_DATA = "DATA" + + +class Sync(): + def __init__(self, adbclient: BaseClient, serial: str): + self._adbclient = adbclient + self._serial = serial + + @contextmanager + def _prepare_sync(self, path: str, cmd: str): + c = self._adbclient._connect() + try: + c.send_command(":".join(["host", "transport", self._serial])) + c.check_okay() + c.send_command("sync:") + c.check_okay() + # {COMMAND}{LittleEndianPathLength}{Path} + c.conn.send( + cmd.encode("utf-8") + struct.pack(" bool: + finfo = self.stat(path) + return finfo.mtime is not None + + def stat(self, path: str) -> FileInfo: + with self._prepare_sync(path, "STAT") as c: + assert "STAT" == c.read_string(4) + mode, size, mtime = struct.unpack(" typing.List[str]: + return list(self.iter_directory(path)) + + def push(self, + src: typing.Union[pathlib.Path, str, bytes, bytearray, typing.BinaryIO], + dst: typing.Union[pathlib.Path, str], + mode: int = 0o755, + check: bool = False) -> int: + # IFREG: File Regular + # IFDIR: File Directory + if isinstance(src, pathlib.Path): + src = src.open("rb") + elif isinstance(src, str): + src = pathlib.Path(src).open("rb") + elif isinstance(src, (bytes, bytearray)): + src = io.BytesIO(src) + else: + if not hasattr(src, "read"): + raise TypeError("Invalid src type: %s" % type(src)) + + if isinstance(dst, pathlib.Path): + dst = dst.as_posix() + path = dst + "," + str(stat.S_IFREG | mode) + total_size = 0 + with self._prepare_sync(path, "SEND") as c: + r = src if hasattr(src, "read") else open(src, "rb") + try: + while True: + chunk = r.read(4096) + if not chunk: + mtime = int(datetime.datetime.now().timestamp()) + c.conn.send(b"DONE" + struct.pack(" typing.Iterator[bytes]: + with self._prepare_sync(path, "RECV") as c: + while True: + cmd = c.read_string(4) + if cmd == _FAIL: + str_size = struct.unpack(" bytes: + return b''.join(self.iter_content(path)) + + def read_text(self, path: str, encoding: str = 'utf-8') -> str: + """ read content of a file """ + return self.read_bytes(path).decode(encoding=encoding) + + def pull(self, src: str, dst: typing.Union[str, pathlib.Path]) -> int: + """ + Pull file from device:src to local:dst + + Returns: + file size + """ + if isinstance(dst, str): + dst = pathlib.Path(dst) + with dst.open("wb") as f: + size = 0 + for chunk in self.iter_content(src): + f.write(chunk) + size += len(chunk) + return size + + +class AdbDevice(BaseDevice): + """ provide custom functions for some complex operations """ + + def screenshot(self) -> Image.Image: + """ not thread safe """ + try: + inner_tmp_path = "/sdcard/tmp001.png" + self.shell(['rm', inner_tmp_path]) + self.shell(["screencap", "-p", inner_tmp_path]) + + with tempfile.TemporaryDirectory() as tmpdir: + target_path = os.path.join(tmpdir, "tmp001.png") + self.sync.pull(inner_tmp_path, target_path) + im = Image.open(target_path) + im.load() + self._width, self._height = im.size + return im.convert("RGB") + except UnidentifiedImageError: + w, h = self.window_size() + return Image.new("RGB", (w, h), (220, 120, 100)) + + def switch_screen(self, status: bool): + """ + turn screen on/off + + Args: + status (bool) + """ + _key_dict = { + True: '224', + False: '223', + } + return self.keyevent(_key_dict[status]) + + def switch_airplane(self, status: bool): + """ + turn airplane-mode on/off + + Args: + status (bool) + """ + base_setting_cmd = ["settings", "put", "global", "airplane_mode_on"] + base_am_cmd = [ + "am", "broadcast", "-a", "android.intent.action.AIRPLANE_MODE", + "--ez", "state" + ] + if status: + base_setting_cmd += ['1'] + base_am_cmd += ['true'] + else: + base_setting_cmd += ['0'] + base_am_cmd += ['false'] + + # TODO better idea about return value? + self.shell(base_setting_cmd) + return self.shell(base_am_cmd) + + def switch_wifi(self, status: bool) -> str: + """ + turn WiFi on/off + + Args: + status (bool) + """ + arglast = 'enable' if status else 'disable' + cmdargs = ['svc', 'wifi', arglast] + return self.shell(cmdargs) + + def keyevent(self, key_code: typing.Union[int, str]) -> str: + """ adb _run input keyevent KEY_CODE """ + return self.shell(['input', 'keyevent', str(key_code)]) + + def click(self, x, y): + """ + simulate android tap + + Args: + x, y: int + """ + x, y = map(str, [x, y]) + return self.shell(['input', 'tap', x, y]) + + def swipe(self, sx, sy, ex, ey, duration: float = 1.0): + """ + swipe from start point to end point + + Args: + sx, sy: start point(x, y) + ex, ey: end point(x, y) + """ + x1, y1, x2, y2 = map(str, [sx, sy, ex, ey]) + return self.shell( + ['input', 'swipe', x1, y1, x2, y2, + str(int(duration * 1000))]) + + def send_keys(self, text: str): + """ + Type a given text + + Args: + text: text to be type + """ + escaped_text = self._escape_special_characters(text) + return self.shell(['input', 'text', escaped_text]) + + @staticmethod + def _escape_special_characters(text): + """ + A helper that escape special characters + + Args: + text: str + """ + escaped = text.translate( + str.maketrans({ + "-": r"\-", + "+": r"\+", + "[": r"\[", + "]": r"\]", + "(": r"\(", + ")": r"\)", + "{": r"\{", + "}": r"\}", + "\\": r"\\\\", + "^": r"\^", + "$": r"\$", + "*": r"\*", + ".": r"\.", + ",": r"\,", + ":": r"\:", + "~": r"\~", + ";": r"\;", + ">": r"\>", + "<": r"\<", + "%": r"\%", + "#": r"\#", + "\'": r"\\'", + "\"": r'\\"', + "`": r"\`", + "!": r"\!", + "?": r"\?", + "|": r"\|", + "=": r"\=", + "@": r"\@", + "/": r"\/", + "_": r"\_", + " ": r"%s", # special + "&": r"\&" + })) + return escaped + + def wlan_ip(self) -> str: + """ + get device wlan ip + + Raises: + AdbError + """ + result = self.shell(['ifconfig', 'wlan0']) + m = re.search(r'inet\s*addr:(.*?)\s', result, re.DOTALL) + if m: + return m.group(1) + + # Huawei P30, has no ifconfig + result = self.shell(['ip', 'addr', 'show', 'dev', 'wlan0']) + m = re.search(r'inet (\d+.*?)/\d+', result) + if m: + return m.group(1) + + # On VirtualDevice, might use eth0 + result = self.shell(['ifconfig', 'eth0']) + m = re.search(r'inet\s*addr:(.*?)\s', result, re.DOTALL) + if m: + return m.group(1) + + raise AdbError("fail to parse wlan ip") + + + @retry(BrokenPipeError, delay=5.0, jitter=[3, 5], tries=3) + def install(self, + path_or_url: str, + nolaunch: bool = False, + uninstall: bool = False, + silent: bool = False, + callback: typing.Callable[[str], None] = None): + """ + Install APK to device + + Args: + path_or_url: local path or http url + nolaunch: do not launch app after install + uninstall: uninstall app before install + silent: disable log message print + callback: only two event now: <"BEFORE_INSTALL" | "FINALLY"> + + Raises: + AdbInstallError, BrokenPipeError + """ + if re.match(r"^https?://", path_or_url): + resp = requests.get(path_or_url, stream=True) + resp.raise_for_status() + length = int(resp.headers.get("Content-Length", 0)) + r = ReadProgress(resp.raw, length) + print("tmpfile path:", r.filepath()) + else: + length = os.stat(path_or_url).st_size + fd = open(path_or_url, "rb") + r = ReadProgress(fd, length, source_path=path_or_url) + + def _dprint(*args): + if not silent: + print(*args) + + dst = "/data/local/tmp/tmp-%d.apk" % (int(time.time() * 1000)) + _dprint("push to %s" % dst) + + start = time.time() + self.sync.push(r, dst) + + # parse apk package-name + apk = apkutils2.APK(r.filepath()) + package_name = apk.manifest.package_name + main_activity = apk.manifest.main_activity + if main_activity and main_activity.find(".") == -1: + main_activity = "." + main_activity + + version_name = apk.manifest.version_name + _dprint("packageName:", package_name) + _dprint("mainActivity:", main_activity) + _dprint("apkVersion: {}".format(version_name)) + _dprint("Success pushed, time used %d seconds" % (time.time() - start)) + + new_dst = "/data/local/tmp/{}-{}.apk".format(package_name, + version_name) + self.shell(["mv", dst, new_dst]) + + dst = new_dst + info = self.sync.stat(dst) + print("verify pushed apk, md5: %s, size: %s" % + (r._hash, humanize(info.size))) + assert info.size == r.copied + + if uninstall: + _dprint("Uninstall app first") + self.uninstall(package_name) + + _dprint("install to android system ...") + try: + start = time.time() + if callback: + callback("BEFORE_INSTALL") + + self.install_remote(dst, clean=True) + _dprint("Success installed, time used %d seconds" % + (time.time() - start)) + if not nolaunch: + _dprint("Launch app: %s/%s" % (package_name, main_activity)) + self.app_start(package_name, main_activity) + + except AdbInstallError as e: + if e.reason in [ + "INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE", + "INSTALL_FAILED_UPDATE_INCOMPATIBLE", + "INSTALL_FAILED_VERSION_DOWNGRADE" + ]: + _dprint("uninstall %s because %s" % (package_name, e.reason)) + self.uninstall(package_name) + self.install_remote(dst, clean=True) + _dprint("Success installed, time used %d seconds" % + (time.time() - start)) + if not nolaunch: + _dprint("Launch app: %s/%s" % + (package_name, main_activity)) + self.app_start(package_name, main_activity) + # self.shell([ + # 'am', 'start', '-n', package_name + "/" + main_activity + # ]) + elif e.reason == "INSTALL_FAILED_CANCELLED_BY_USER": + _dprint("Catch error %s, reinstall" % e.reason) + self.install_remote(dst, clean=True) + _dprint("Success installed, time used %d seconds" % + (time.time() - start)) + else: + # print to console + print( + "Failure " + e.reason + "\n" + + "Remote apk is not removed. Manually install command:\n\t" + + "adb shell pm install -r -t " + dst) + raise + finally: + if callback: + callback("FINALLY") + + def install_remote(self, + remote_path: str, + clean: bool = False, + flags: list = ["-r", "-t"]): + """ + Args: + remote_path: remote package path + clean(bool): remove when installed, default(False) + flags (list): default ["-r", "-t"] + + Raises: + AdbInstallError + """ + args = ["pm", "install"] + flags + [remote_path] + output = self.shell(args) + if "Success" not in output: + raise AdbInstallError(output) + if clean: + self.shell(["rm", remote_path]) + + def uninstall(self, pkg_name: str): + """ + Uninstall app by package name + + Args: + pkg_name (str): package name + """ + return self.shell(["pm", "uninstall", pkg_name]) + + def getprop(self, prop: str) -> str: + return self.shell(['getprop', prop]).strip() + + def list_packages(self) -> typing.List[str]: + """ + Returns: + list of package names + """ + result = [] + output = self.shell(["pm", "list", "packages"]) + for m in re.finditer(r'^package:([^\s]+)\r?$', output, re.M): + result.append(m.group(1)) + return list(sorted(result)) + + def package_info(self, package_name: str) -> typing.Union[dict, None]: + """ + version_code might be empty + + Returns: + None or dict(version_name, version_code, signature) + """ + output = self.shell(['dumpsys', 'package', package_name]) + m = re.compile(r'versionName=(?P[\w.]+)').search(output) + version_name = m.group('name') if m else "" + m = re.compile(r'versionCode=(?P\d+)').search(output) + version_code = m.group('code') if m else "" + if version_code == "0": + version_code = "" + m = re.search(r'PackageSignatures\{.*?\[(.*)\]\}', output) + signature = m.group(1) if m else None + if not version_name and signature is None: + return None + m = re.compile(r"pkgFlags=\[\s*(.*)\s*\]").search(output) + pkgflags = m.group(1) if m else "" + pkgflags = pkgflags.split() + + time_regex = r"[-\d]+\s+[:\d]+" + m = re.compile(f"firstInstallTime=({time_regex})").search(output) + first_install_time = datetime.datetime.strptime( + m.group(1), "%Y-%m-%d %H:%M:%S") if m else None + + m = re.compile(f"lastUpdateTime=({time_regex})").search(output) + last_update_time = datetime.datetime.strptime( + m.group(1).strip(), "%Y-%m-%d %H:%M:%S") if m else None + + return dict(package_name=package_name, + version_name=version_name, + version_code=version_code, + flags=pkgflags, + first_install_time=first_install_time, + last_update_time=last_update_time, + signature=signature) + + def rotation(self) -> int: + """ + Returns: + int [0, 1, 2, 3] + """ + for line in self.shell('dumpsys display').splitlines(): + m = _DISPLAY_RE.search(line, 0) + if not m: + continue + o = int(m.group('orientation')) + return int(o) + + output = self.shell( + 'LD_LIBRARY_PATH=/data/local/tmp /data/local/tmp/minicap -i') + try: + if output.startswith('INFO:'): + output = output[output.index('{'):] + data = json.loads(output) + return data['rotation'] / 90 + except ValueError: + pass + + raise AdbError("rotation get failed") + + def _raw_window_size(self) -> WindowSize: + output = self.shell("wm size") + o = re.search(r"Override size: (\d+)x(\d+)", output) + m = re.search(r"Physical size: (\d+)x(\d+)", output) + if o: + w, h = o.group(1), o.group(2) + return WindowSize(int(w), int(h)) + elif m: + w, h = m.group(1), m.group(2) + return WindowSize(int(w), int(h)) + + for line in self.shell('dumpsys display').splitlines(): + m = _DISPLAY_RE.search(line, 0) + if not m: + continue + w = int(m.group('width')) + h = int(m.group('height')) + return WindowSize(w, h) + raise AdbError("get window size failed") + + def window_size(self) -> WindowSize: + """ + Return screen (width, height) + + Virtual keyborad may get small d.info['displayHeight'] + """ + w, h = self._raw_window_size() + s, l = min(w, h), max(w, h) + horizontal = self.rotation() % 2 == 1 + return WindowSize(l, s) if horizontal else WindowSize(s, l) + + def app_start(self, package_name: str, activity: str = None): + """ start app with "am start" or "monkey" + """ + if activity: + self.shell(['am', 'start', '-n', package_name + "/" + activity]) + else: + self.shell([ + "monkey", "-p", package_name, "-c", + "android.intent.category.LAUNCHER", "1" + ]) + + def app_stop(self, package_name: str): + """ stop app with "am force-stop" + """ + self.shell(['am', 'force-stop', package_name]) + + def app_clear(self, package_name: str): + self.shell(["pm", "clear", package_name]) + + def is_screen_on(self): + output = self.shell(["dumpsys", "power"]) + return 'mHoldingDisplaySuspendBlocker=true' in output + + def open_browser(self, url: str): + if not re.match("^https?://", url): + url = "https://" + url + self.shell( + ['am', 'start', '-a', 'android.intent.action.VIEW', '-d', url]) + + def dump_hierarchy(self) -> str: + """ + uiautomator dump + + Returns: + content of xml + + Raises: + AdbError + """ + output = self.shell( + 'uiautomator dump /data/local/tmp/uidump.xml && echo success') + if "success" not in output: + raise AdbError("uiautomator dump failed", output) + + buf = b'' + for chunk in self.sync.iter_content("/data/local/tmp/uidump.xml"): + buf += chunk + return buf.decode("utf-8") + + @deprecated(deprecated_in="0.15.0", + removed_in="1.0.0", + current_version=__version__, + details="Use app_current instead") + def current_app(self) -> dict: + """ + Returns: + dict(package, activity, pid?) + + Raises: + AdbError + """ + info = self.app_current() + return asdict(info) + + @retry(AdbError, delay=.5, tries=3, jitter=.1) + def app_current(self) -> RunningAppInfo: + """ + Returns: + RunningAppInfo(package, activity, pid?) pid can be 0 + + Raises: + AdbError + """ + # Related issue: https://github.com/openatx/uiautomator2/issues/200 + # $ adb shell dumpsys window windows + # Example output: + # mCurrentFocus=Window{41b37570 u0 com.incall.apps.launcher/com.incall.apps.launcher.Launcher} + # mFocusedApp=AppWindowToken{422df168 token=Token{422def98 ActivityRecord{422dee38 u0 com.example/.UI.play.PlayActivity t14}}} + # Regexp + # r'mFocusedApp=.*ActivityRecord{\w+ \w+ (?P.*)/(?P.*) .*' + # r'mCurrentFocus=Window{\w+ \w+ (?P.*)/(?P.*)\}') + _focusedRE = re.compile( + r'mCurrentFocus=Window{.*\s+(?P[^\s]+)/(?P[^\s]+)\}' + ) + m = _focusedRE.search(self.shell(['dumpsys', 'window', 'windows'])) + if m: + return RunningAppInfo(package=m.group('package'), + activity=m.group('activity')) + + # search mResumedActivity + # https://stackoverflow.com/questions/13193592/adb-android-getting-the-name-of-the-current-activity + package = None + output = self.shell(['dumpsys', 'activity', 'activities']) + _recordRE = re.compile(r'mResumedActivity: ActivityRecord\{.*?\s+(?P[^\s]+)/(?P[^\s]+)\s.*?\}') + m = _recordRE.search(output) + if m: + package = m.group("package") + + # try: adb shell dumpsys activity top + _activityRE = re.compile( + r'ACTIVITY (?P[^\s]+)/(?P[^/\s]+) \w+ pid=(?P\d+)' + ) + output = self.shell(['dumpsys', 'activity', 'top']) + ms = _activityRE.finditer(output) + ret = None + for m in ms: + ret = RunningAppInfo(package=m.group('package'), + activity=m.group('activity'), + pid=int(m.group('pid'))) + if ret.package == package: + return ret + + if ret: # get last result + return ret + raise AdbError("Couldn't get focused app") + + def remove(self, path: str): + """ rm device file """ + self.shell(["rm", path]) + + + def screenrecord(self, remote_path=None, no_autostart=False): + """ + Args: + remote_path: device video path + no_autostart: do not start screenrecord, when call this method + """ + if self.shell2("which screenrecord").returncode != 0: + raise AdbError("screenrecord command not found") + return _ScreenRecord(self, remote_path, autostart=not no_autostart) + + def _start_recording(self, h264_filename: str): + """ start video recording """ + return self._scrcpy.start_recording(h264_filename) + + def _stop_recording(self): + """ stop video recording """ + return self._scrcpy.stop_recording() + + def _is_recording(self) -> bool: + return self._scrcpy.running + + @property + def _scrcpy(self) -> "ScrcpyClient": + return ScrcpyClient.get_instance(self) + + +class ScrcpyClient: + """ + # -y overwrite output files + ffmpeg -i "output.h264" -c:v copy -f mp4 -y "video.mp4" + + é—留问题:秒表视频,转化åŽçš„视频时长ä¸å¯¹å•Šï¼ˆæœ¬æ¥5s的,转化åŽå˜æˆäº†20s) + + https://stackoverflow.com/questions/21263064/how-to-wrap-h264-into-a-mp4-container + """ + __instances = {} + + def __init__(self, d: AdbDevice, h264_filename: str = None): + self._d = d + self._filename = h264_filename + self._conn: AdbConnection = None + self._done_event = threading.Event() + + @classmethod + def get_instance(cls, d: AdbDevice) -> "ScrcpyClient": + if d in cls.__instances: + return cls.__instances[d] + c = cls.__instances[d] = ScrcpyClient(d) + return c + + @property + def running(self) -> bool: + return self._conn and not self._conn.closed + + def start_recording(self, h264_filename: str): + if self.running: + raise RuntimeError("already running") + self._filename = h264_filename + self._start() + + def stop_recording(self): + if not self.running: + raise RuntimeError("already stopped") + self._stop() + + def _start(self): + curdir = pathlib.Path(__file__).absolute().parent + device_jar_path = "/data/local/tmp/scrcpy-server.jar" + scrcpy_server_jar_path = curdir.joinpath("binaries/scrcpy-server-1.24.jar") + + self._d.sync.push(scrcpy_server_jar_path, device_jar_path) + + opts = [ + 'control=false', 'bit_rate=8000000', 'tunnel_forward=true', + 'lock_video_orientation=-1', 'send_dummy_byte=false', + "send_device_meta=false", "send_frame_meta=true", "downsize_on_error=true" + ] + cmd = [ + 'CLASSPATH=' + device_jar_path, 'app_process', '/', + '--nice-name=scrcpy-server', 'com.genymobile.scrcpy.Server', '1.24' + ] + opts + _c = self._d.shell(cmd, stream=True) + c: AdbConnection = _c + del(_c) + message = c.conn.recv(100).decode('utf-8') + print("Scrcpy:", message) + self._conn = c + threading.Thread(name="scrcpy_main", target=self._copy2null, args=(c.conn,), daemon=True).start() + time.sleep(0.1) + stream_sock = self._safe_dial_scrcpy() + fh = pathlib.Path(self._filename).open("wb") + threading.Thread(name="socket_copy", target=self._copy2file, args=(stream_sock, fh), daemon=True).start() + + @retry(AdbError, tries=10, delay=0.1, jitter=0.01) + def _safe_dial_scrcpy(self) -> socket.socket: + return self._d.create_connection(Network.LOCAL_ABSTRACT, "scrcpy") + + def _copy2null(self, s: socket.socket): + while True: + try: + chunk = s.recv(1024) + if chunk == b"": + print("O:", chunk.decode('utf-8')) + break + except: + break + print("Scrcpy mainThread stopped") + + def _copy2file(self, s: socket.socket, fh: typing.BinaryIO): + while True: + chunk = s.recv(1<<16) + if not chunk: + break + fh.write(chunk) + fh.close() + print("Copy h264 stream finished", flush=True) + self._done_event.set() + + def _stop(self) -> bool: + self._conn.close() + self._done_event.wait(timeout=3.0) + time.sleep(1) + self._done_event.clear() + + +class _ScreenRecord(): + def __init__(self, d: AdbDevice, remote_path=None, autostart=False): + """ The maxium record time is 3 minutes """ + self._d = d + if not remote_path: + remote_path = "/sdcard/video-%d.mp4" % int(time.time() * 1000) + self._remote_path = remote_path + self._stream = None + self._stopped = False + self._started = False + + if autostart: + self.start() + + def start(self): + """ start recording """ + if self._started: + warnings.warn("screenrecord already started", UserWarning) + return + # end first line with \ to avoid the empty line! + script_content = textwrap.dedent("""\ + #!/system/bin/sh + # generate by adbutils + screenrecord "$1" & + PID=$! + read ANY + kill -INT $PID + wait + """).encode('utf-8') + self._d.sync.push(script_content, "/sdcard/adbutils-screenrecord.sh") + self._stream: AdbConnection = self._d.shell(["sh", "/sdcard/adbutils-screenrecord.sh", self._remote_path], + stream=True) + self._started = True + + def stop(self): + """ stop recording """ + if not self._started: + raise RuntimeError("screenrecord is not started") + + if self._stopped: + return + self._stream.send(b"\n") + self._stream.read_until_close() + self._stream.close() + self._stopped = True + + def stop_and_pull(self, path: typing.Union[str, pathlib.Path]): + """ pull remote to local and remove remote file """ + if isinstance(path, pathlib.Path): + path = path.as_posix() + self.stop() + self._d.sync.pull(self._remote_path, path) + self._d.remove(self._remote_path) \ No newline at end of file diff --git a/venv/Lib/site-packages/adbutils/_proto.py b/venv/Lib/site-packages/adbutils/_proto.py new file mode 100644 index 00000000..8c054a83 --- /dev/null +++ b/venv/Lib/site-packages/adbutils/_proto.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +"""Created on Fri May 06 2022 11:39:40 by codeskyblue +""" + +__all__ = [ + "Network", "DeviceEvent", "ForwardItem", "ReverseItem", "FileInfo", + "WindowSize", "RunningAppInfo", "ShellReturn" +] + +import enum +import datetime +import typing +from dataclasses import dataclass + + +class Network(str, enum.Enum): + TCP = "tcp" + UNIX = "unix" + + DEV = "dev" + LOCAL = "local" + LOCAL_RESERVED = "localreserved" + LOCAL_FILESYSTEM = "localfilesystem" + LOCAL_ABSTRACT = "localabstract" # same as UNIX + + +class DeviceEvent(typing.NamedTuple): + present: bool + serial: str + status: str + + +class ForwardItem(typing.NamedTuple): + serial: str + local: str + remote: str + + +class ReverseItem(typing.NamedTuple): + remote: str + local: str + + +class FileInfo(typing.NamedTuple): + mode: int + size: int + mtime: datetime.datetime + path: str + + +class WindowSize(typing.NamedTuple): + width: int + height: int + + +@dataclass +class RunningAppInfo: + package: str + activity: str + pid: int = 0 + + +@dataclass +class ShellReturn: + """ + Attributes: + command: The str command passed to run(). + returncode: The exit code of the process, negative for signals. + output: the output + """ + command: str + returncode: int + output: str diff --git a/venv/Lib/site-packages/adbutils/_utils.py b/venv/Lib/site-packages/adbutils/_utils.py new file mode 100644 index 00000000..d27e2313 --- /dev/null +++ b/venv/Lib/site-packages/adbutils/_utils.py @@ -0,0 +1,177 @@ +import hashlib +import os +import shlex +import socket +import subprocess +import sys +import tempfile +import time +import typing +import zipfile + +import whichcraft +from apkutils2.axml.axmlparser import AXML +from apkutils2.manifest import Manifest +from pkg_resources import resource_filename + +MB = 1024 * 1024 + +def humanize(n: int) -> str: + return '%.1f MB' % (float(n) / MB) + + +def get_free_port(): + s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + s.bind(('127.0.0.1', 0)) + try: + return s.getsockname()[1] + finally: + s.close() + + +def list2cmdline(args: typing.Union[list, tuple]): + """ do not use subprocess.list2cmdline, use this instead """ + return ' '.join(map(shlex.quote, args)) + + +def current_ip(): + s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + try: + s.connect(("8.8.8.8", 80)) + ip = s.getsockname()[0] + return ip + except OSError: + return "127.0.0.1" + finally: + s.close() + +def adb_path(): + # 0. check env: ADBUTILS_ADB_PATH + if os.getenv("ADBUTILS_ADB_PATH"): + return os.getenv("ADBUTILS_ADB_PATH") + + # 1. find in $PATH + exe = whichcraft.which("adb") + if exe and _is_valid_exe(exe): + return exe + + # 2. use buildin adb + bin_dir = resource_filename("adbutils", "binaries") + exe = os.path.join(bin_dir, "adb.exe" if os.name == 'nt' else 'adb') + if os.path.isfile(exe) and _is_valid_exe(exe): + return exe + + raise RuntimeError("No adb exe could be found. Install adb on your system") + + +def _popen_kwargs(prevent_sigint=False): + startupinfo = None + preexec_fn = None + creationflags = 0 + if sys.platform.startswith("win"): + # Stops executable from flashing on Windows (see imageio/imageio-ffmpeg#22) + startupinfo = subprocess.STARTUPINFO() + startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW + if prevent_sigint: + # Prevent propagation of sigint (see imageio/imageio-ffmpeg#4) + # https://stackoverflow.com/questions/5045771 + if sys.platform.startswith("win"): + creationflags = 0x00000200 + else: + preexec_fn = os.setpgrp # the _pre_exec does not seem to work + return { + "startupinfo": startupinfo, + "creationflags": creationflags, + "preexec_fn": preexec_fn, + } + + +def _is_valid_exe(exe: str): + cmd = [exe, "version"] + try: + subprocess.check_call( + cmd, stdin=subprocess.DEVNULL, stdout=subprocess.DEVNULL, + stderr=subprocess.STDOUT, **_popen_kwargs() + ) + return True + except (OSError, ValueError, subprocess.CalledProcessError): + return False + + +class ReadProgress(): + def __init__(self, r, total_size: int, source_path=None): + """ + Args: + source_path (str): store read content to filepath + """ + self.r = r + self.total = total_size + self.copied = 0 + self.start_time = time.time() + self.update_time = time.time() + self.m = hashlib.md5() + self._chunk_size = 0 + self._hash = '' + self._tmpfd = None if source_path else tempfile.NamedTemporaryFile(suffix=".apk") + self._filepath = source_path + + def update(self, chunk: bytes): + chunk_size = len(chunk) + self.m.update(chunk) + if chunk_size == 0: + self._hash = self.m.hexdigest() + self.copied += chunk_size + self._chunk_size += chunk_size + + if self.total: + percent = float(self.copied) / self.total * 100 + else: + percent = 0.0 if chunk_size else 100.0 + + p = int(percent) + duration = time.time() - self.update_time + if p == 100.0 or duration > 1.0: + if duration: + speed = humanize(self._chunk_size / duration) + "/s" + else: + copytime = max(0.1, time.time() - self.start_time) + speed = humanize(self.copied / copytime) + "/s" + + self.update_time = time.time() + self._chunk_size = 0 + + copysize = humanize(self.copied) + totalsize = humanize(self.total) + print("{:.1f}%\t{} [{}/{}]".format(percent, speed, copysize, + totalsize)) + + def read(self, n: int) -> bytes: + chunk = self.r.read(n) + self.update(chunk) + if self._tmpfd: + self._tmpfd.write(chunk) + return chunk + + def filepath(self): + if self._filepath: + return self._filepath + self._tmpfd.seek(0) + return self._tmpfd.name + + +class APKReader: + def __init__(self, fp: typing.BinaryIO): + self._fp = fp + + def dump_info(self): + zf = zipfile.ZipFile(self._fp) + raw_manifest = zf.read("AndroidManifest.xml") + axml = AXML(raw_manifest) + if not axml.is_valid: + print("axml is invalid") + return + am = Manifest(axml.get_xml()) + print("package:", am.package_name) + print("main-activity:", am.main_activity) + print("version-name:", am.version_name) + print("version-code:", am.version_code) diff --git a/venv/Lib/site-packages/adbutils/_version.py b/venv/Lib/site-packages/adbutils/_version.py new file mode 100644 index 00000000..303ec908 --- /dev/null +++ b/venv/Lib/site-packages/adbutils/_version.py @@ -0,0 +1,13 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +"""Created on Fri May 06 2022 10:54:04 by codeskyblue +""" + +import pkg_resources + + +try: + __version__ = pkg_resources.get_distribution("adbutils").version +except pkg_resources.DistributionNotFound: + __version__ = "0.0.1" \ No newline at end of file diff --git a/venv/Lib/site-packages/adbutils/binaries/AdbWinApi.dll b/venv/Lib/site-packages/adbutils/binaries/AdbWinApi.dll new file mode 100644 index 00000000..7abe26cf Binary files /dev/null and b/venv/Lib/site-packages/adbutils/binaries/AdbWinApi.dll differ diff --git a/venv/Lib/site-packages/adbutils/binaries/AdbWinUsbApi.dll b/venv/Lib/site-packages/adbutils/binaries/AdbWinUsbApi.dll new file mode 100644 index 00000000..e7a6de12 Binary files /dev/null and b/venv/Lib/site-packages/adbutils/binaries/AdbWinUsbApi.dll differ diff --git a/venv/Lib/site-packages/adbutils/binaries/README.md b/venv/Lib/site-packages/adbutils/binaries/README.md new file mode 100644 index 00000000..de8df424 --- /dev/null +++ b/venv/Lib/site-packages/adbutils/binaries/README.md @@ -0,0 +1 @@ +Binaries are dropped here by the release script. diff --git a/venv/Lib/site-packages/adbutils/binaries/adb.exe b/venv/Lib/site-packages/adbutils/binaries/adb.exe new file mode 100644 index 00000000..847b92d6 Binary files /dev/null and b/venv/Lib/site-packages/adbutils/binaries/adb.exe differ diff --git a/venv/Lib/site-packages/adbutils/errors.py b/venv/Lib/site-packages/adbutils/errors.py new file mode 100644 index 00000000..81ad7832 --- /dev/null +++ b/venv/Lib/site-packages/adbutils/errors.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +"""Created on Fri May 06 2022 19:04:40 by codeskyblue +""" + +__all__ = ['AdbError', 'AdbTimeout', 'AdbInstallError'] + +import re + + +class AdbError(Exception): + """ adb error """ + + +class AdbTimeout(AdbError): + """ timeout when communicate to adb-server """ + + +class AdbInstallError(AdbError): + def __init__(self, output: str): + """ + Errors examples: + Failure [INSTALL_FAILED_ALREADY_EXISTS: Attempt to re-install io.appium.android.apis without first uninstalling.] + Error: Failed to parse APK file: android.content.pm.PackageParser$PackageParserException: Failed to parse /data/local/tmp/tmp-29649242.apk + + Reference: https://github.com/mzlogin/awesome-adb + """ + m = re.search(r"Failure \[([\w_]+)", output) + self.reason = m.group(1) if m else "Unknown" + self.output = output + + def __str__(self): + return self.output \ No newline at end of file diff --git a/venv/Lib/site-packages/adbutils/pidcat.py b/venv/Lib/site-packages/adbutils/pidcat.py new file mode 100644 index 00000000..b7baaa12 --- /dev/null +++ b/venv/Lib/site-packages/adbutils/pidcat.py @@ -0,0 +1,361 @@ +#!/usr/bin/python -u +''' +Copyright 2009, The Android Open Source Project + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +''' + +# Script to highlight adb logcat output for console +# Originally written by Jeff Sharkey, http://jsharkey.org/ +# Piping detection and popen() added by other Android team members +# Package filtering and output improvements by Jake Wharton, http://jakewharton.com + +import argparse +import sys +import re +import subprocess +from subprocess import PIPE + +import adbutils + +__version__ = '2.1.0' + +# yapf: disable +LOG_LEVELS = 'VDIWEF' +LOG_LEVELS_MAP = dict([(LOG_LEVELS[i], i) for i in range(len(LOG_LEVELS))]) +parser = argparse.ArgumentParser(description='Filter logcat by package name') +parser.add_argument('package', nargs='*', help='Application package name(s)') +parser.add_argument('-w', '--tag-width', metavar='N', dest='tag_width', type=int, default=23, help='Width of log tag') +parser.add_argument('-l', '--min-level', dest='min_level', type=str, choices=LOG_LEVELS+LOG_LEVELS.lower(), default='V', help='Minimum level to be displayed [default: V]') +parser.add_argument('--color-gc', dest='color_gc', action='store_true', help='Color garbage collection') +parser.add_argument('--always-display-tags', dest='always_tags', action='store_true',help='Always display the tag name') +parser.add_argument('--current', dest='current_app', action='store_true',help='Filter logcat by current running app') +parser.add_argument('-s', '--serial', dest='device_serial', help='Device serial number (adb -s option)') +parser.add_argument('-d', '--device', dest='use_device', action='store_true', help='Use first device for log input (adb -d option)') +parser.add_argument('-e', '--emulator', dest='use_emulator', action='store_true', help='Use first emulator for log input (adb -e option)') +parser.add_argument('-c', '--clear', dest='clear_logcat', action='store_true', help='Clear the entire log before running') +parser.add_argument('-t', '--tag', dest='tag', action='append', help='Filter output by specified tag(s)') +parser.add_argument('-i', '--ignore-tag', dest='ignored_tag', action='append', help='Filter output by ignoring specified tag(s)') +parser.add_argument('-v', '--version', action='version', version='%(prog)s ' + __version__, help='Print the version number and exit') +parser.add_argument('-a', '--all', dest='all', action='store_true', default=False, help='Print all log messages') +# yapf: enable + +args = parser.parse_args() +min_level = LOG_LEVELS_MAP[args.min_level.upper()] + +package = args.package +adb_device = adbutils.adb.device(args.device_serial) + + +if args.current_app: + system_dump = adb_device.shell(["dumpsys", "activity", "activities"]) + running_package_name = re.search(".*TaskRecord.*A[= ]([^ ^}]*)", + system_dump).group(1) + print("Current package:", running_package_name) + package.append(running_package_name) + +if len(package) == 0: + args.all = True + +# Store the names of packages for which to match all processes. +catchall_package = list( + filter(lambda package: package.find(":") == -1, package)) +# Store the name of processes to match exactly. +named_processes = list(filter(lambda package: package.find(":") != -1, + package)) +# Convert default process names from : (cli notation) to (android notation) in the exact names match group. +named_processes = list( + map( + lambda package: package + if package.find(":") != len(package) - 1 else package[:-1], + named_processes)) + +header_size = args.tag_width + 1 + 3 + 1 # space, level, space + +width = -1 +try: + # Get the current terminal width + import fcntl, termios, struct + h, width = struct.unpack( + 'hh', fcntl.ioctl(0, termios.TIOCGWINSZ, struct.pack('hh', 0, 0))) +except: + pass + +BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE = range(8) + +RESET = '\033[0m' + + +def termcolor(fg=None, bg=None): + codes = [] + if fg is not None: codes.append('3%d' % fg) + if bg is not None: codes.append('10%d' % bg) + return '\033[%sm' % ';'.join(codes) if codes else '' + + +def colorize(message, fg=None, bg=None): + return termcolor(fg, bg) + message + RESET + + +def indent_wrap(message): + if width == -1: + return message + message = message.replace('\t', ' ') + wrap_area = width - header_size + messagebuf = '' + current = 0 + while current < len(message): + next = min(current + wrap_area, len(message)) + messagebuf += message[current:next] + if next < len(message): + messagebuf += '\n' + messagebuf += ' ' * header_size + current = next + return messagebuf + + +LAST_USED = [RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN] +KNOWN_TAGS = { + 'dalvikvm': WHITE, + 'Process': WHITE, + 'ActivityManager': WHITE, + 'ActivityThread': WHITE, + 'AndroidRuntime': CYAN, + 'jdwp': WHITE, + 'StrictMode': WHITE, + 'DEBUG': YELLOW, +} + + +def allocate_color(tag): + # this will allocate a unique format for the given tag + # since we dont have very many colors, we always keep track of the LRU + if tag not in KNOWN_TAGS: + KNOWN_TAGS[tag] = LAST_USED[0] + color = KNOWN_TAGS[tag] + if color in LAST_USED: + LAST_USED.remove(color) + LAST_USED.append(color) + return color + + +RULES = { + # StrictMode policy violation; ~duration=319 ms: android.os.StrictMode$StrictModeDiskWriteViolation: policy=31 violation=1 + re.compile(r'^(StrictMode policy violation)(; ~duration=)(\d+ ms)'): + r'%s\1%s\2%s\3%s' % (termcolor(RED), RESET, termcolor(YELLOW), RESET), +} + +# Only enable GC coloring if the user opted-in +if args.color_gc: + # GC_CONCURRENT freed 3617K, 29% free 20525K/28648K, paused 4ms+5ms, total 85ms + key = re.compile( + r'^(GC_(?:CONCURRENT|FOR_M?ALLOC|EXTERNAL_ALLOC|EXPLICIT) )(freed >>>> ([a-zA-Z0-9._:]+) \[ userId:0 \| appId:(\d+) \]$') +PID_KILL = re.compile(r'^Killing (\d+):([a-zA-Z0-9._:]+)/[^:]+: (.*)$') +PID_LEAVE = re.compile(r'^No longer want ([a-zA-Z0-9._:]+) \(pid (\d+)\): .*$') +PID_DEATH = re.compile(r'^Process ([a-zA-Z0-9._:]+) \(pid (\d+)\) has died.?$') +LOG_LINE = re.compile(r'^([A-Z])/(.+?)\( *(\d+)\): (.*?)$') +BUG_LINE = re.compile(r'.*nativeGetEnabledTags.*') +BACKTRACE_LINE = re.compile(r'^#(.*?)pc\s(.*?)$') +# yapf: enable + + +adb_command = ["logcat", "-v", "brief"] + +# Clear log before starting logcat +if args.clear_logcat: + adb_clear_command = list(adb_command) + adb_clear_command.append('-c') + adb_device.shell(adb_clear_command) + + +if sys.stdin.isatty(): + stream = adb_device.shell(adb_command, stream=True) + adb_stdout = stream.conn.makefile("r", encoding="utf-8", errors="replace") +else: + adb_stdout = sys.stdin +pids = set() +last_tag = None +app_pid = None + + +def match_packages(token): + if len(package) == 0: + return True + if token in named_processes: + return True + index = token.find(':') + return (token in catchall_package) if index == -1 else ( + token[:index] in catchall_package) + + +def parse_death(tag, message): + if tag != 'ActivityManager': + return None, None + kill = PID_KILL.match(message) + if kill: + pid = kill.group(1) + package_line = kill.group(2) + if match_packages(package_line) and pid in pids: + return pid, package_line + leave = PID_LEAVE.match(message) + if leave: + pid = leave.group(2) + package_line = leave.group(1) + if match_packages(package_line) and pid in pids: + return pid, package_line + death = PID_DEATH.match(message) + if death: + pid = death.group(2) + package_line = death.group(1) + if match_packages(package_line) and pid in pids: + return pid, package_line + return None, None + + +def parse_start_proc(line): + start = PID_START_5_1.match(line) + if start is not None: + line_pid, line_package, target = start.groups() + return line_package, target, line_pid, '', '' + start = PID_START.match(line) + if start is not None: + line_package, target, line_pid, line_uid, line_gids = start.groups() + return line_package, target, line_pid, line_uid, line_gids + start = PID_START_DALVIK.match(line) + if start is not None: + line_pid, line_package, line_uid = start.groups() + return line_package, '', line_pid, line_uid, '' + return None + + +def tag_in_tags_regex(tag, tags): + return any(re.match(r'^' + t + r'$', tag) for t in map(str.strip, tags)) + + +ps_pid = adb_device.shell("ps || ps -A") +for line in ps_pid.splitlines(): + pid_match = PID_LINE.match(line) + if pid_match is not None: + pid = pid_match.group(1) + proc = pid_match.group(2) + if proc in catchall_package: + seen_pids = True + pids.add(pid) + + +for line in adb_stdout: + if len(line) == 0: + break + + bug_line = BUG_LINE.match(line) + if bug_line is not None: + continue + + log_line = LOG_LINE.match(line) + if log_line is None: + continue + + level, tag, owner, message = log_line.groups() + tag = tag.strip() + start = parse_start_proc(line) + if start: + line_package, target, line_pid, line_uid, line_gids = start + if match_packages(line_package): + pids.add(line_pid) + + app_pid = line_pid + + linebuf = '\n' + linebuf += colorize(' ' * (header_size - 1), bg=WHITE) + linebuf += indent_wrap(' Process %s created for %s\n' % + (line_package, target)) + linebuf += colorize(' ' * (header_size - 1), bg=WHITE) + linebuf += ' PID: %s UID: %s GIDs: %s' % (line_pid, line_uid, + line_gids) + linebuf += '\n' + print(linebuf) + last_tag = None # Ensure next log gets a tag printed + + dead_pid, dead_pname = parse_death(tag, message) + if dead_pid: + pids.remove(dead_pid) + linebuf = '\n' + linebuf += colorize(' ' * (header_size - 1), bg=RED) + linebuf += ' Process %s (PID: %s) ended' % (dead_pname, dead_pid) + linebuf += '\n' + print(linebuf) + last_tag = None # Ensure next log gets a tag printed + + # Make sure the backtrace is printed after a native crash + if tag == 'DEBUG': + bt_line = BACKTRACE_LINE.match(message.lstrip()) + if bt_line is not None: + message = message.lstrip() + owner = app_pid + + if not args.all and owner not in pids: + continue + if level in LOG_LEVELS_MAP and LOG_LEVELS_MAP[level] < min_level: + continue + if args.ignored_tag and tag_in_tags_regex(tag, args.ignored_tag): + continue + if args.tag and not tag_in_tags_regex(tag, args.tag): + continue + + linebuf = '' + + if args.tag_width > 0: + # right-align tag title and allocate color if needed + if tag != last_tag or args.always_tags: + last_tag = tag + color = allocate_color(tag) + tag = tag[-args.tag_width:].rjust(args.tag_width) + linebuf += colorize(tag, fg=color) + else: + linebuf += ' ' * args.tag_width + linebuf += ' ' + + # write out level colored edge + if level in TAGTYPES: + linebuf += TAGTYPES[level] + else: + linebuf += ' ' + level + ' ' + linebuf += ' ' + + # format tag message using rules + for matcher in RULES: + replace = RULES[matcher] + message = matcher.sub(replace, message) + + linebuf += indent_wrap(message) + print(linebuf) diff --git a/venv/Lib/site-packages/annotated_types-0.7.0.dist-info/INSTALLER b/venv/Lib/site-packages/annotated_types-0.7.0.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/venv/Lib/site-packages/annotated_types-0.7.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/Lib/site-packages/annotated_types-0.7.0.dist-info/METADATA b/venv/Lib/site-packages/annotated_types-0.7.0.dist-info/METADATA new file mode 100644 index 00000000..3ac05cfd --- /dev/null +++ b/venv/Lib/site-packages/annotated_types-0.7.0.dist-info/METADATA @@ -0,0 +1,295 @@ +Metadata-Version: 2.3 +Name: annotated-types +Version: 0.7.0 +Summary: Reusable constraint types to use with typing.Annotated +Project-URL: Homepage, https://github.com/annotated-types/annotated-types +Project-URL: Source, https://github.com/annotated-types/annotated-types +Project-URL: Changelog, https://github.com/annotated-types/annotated-types/releases +Author-email: Adrian Garcia Badaracco <1755071+adriangb@users.noreply.github.com>, Samuel Colvin , Zac Hatfield-Dodds +License-File: LICENSE +Classifier: Development Status :: 4 - Beta +Classifier: Environment :: Console +Classifier: Environment :: MacOS X +Classifier: Intended Audience :: Developers +Classifier: Intended Audience :: Information Technology +Classifier: License :: OSI Approved :: MIT License +Classifier: Operating System :: POSIX :: Linux +Classifier: Operating System :: Unix +Classifier: Programming Language :: Python :: 3 :: Only +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3.12 +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Classifier: Typing :: Typed +Requires-Python: >=3.8 +Requires-Dist: typing-extensions>=4.0.0; python_version < '3.9' +Description-Content-Type: text/markdown + +# annotated-types + +[![CI](https://github.com/annotated-types/annotated-types/workflows/CI/badge.svg?event=push)](https://github.com/annotated-types/annotated-types/actions?query=event%3Apush+branch%3Amain+workflow%3ACI) +[![pypi](https://img.shields.io/pypi/v/annotated-types.svg)](https://pypi.python.org/pypi/annotated-types) +[![versions](https://img.shields.io/pypi/pyversions/annotated-types.svg)](https://github.com/annotated-types/annotated-types) +[![license](https://img.shields.io/github/license/annotated-types/annotated-types.svg)](https://github.com/annotated-types/annotated-types/blob/main/LICENSE) + +[PEP-593](https://peps.python.org/pep-0593/) added `typing.Annotated` as a way of +adding context-specific metadata to existing types, and specifies that +`Annotated[T, x]` _should_ be treated as `T` by any tool or library without special +logic for `x`. + +This package provides metadata objects which can be used to represent common +constraints such as upper and lower bounds on scalar values and collection sizes, +a `Predicate` marker for runtime checks, and +descriptions of how we intend these metadata to be interpreted. In some cases, +we also note alternative representations which do not require this package. + +## Install + +```bash +pip install annotated-types +``` + +## Examples + +```python +from typing import Annotated +from annotated_types import Gt, Len, Predicate + +class MyClass: + age: Annotated[int, Gt(18)] # Valid: 19, 20, ... + # Invalid: 17, 18, "19", 19.0, ... + factors: list[Annotated[int, Predicate(is_prime)]] # Valid: 2, 3, 5, 7, 11, ... + # Invalid: 4, 8, -2, 5.0, "prime", ... + + my_list: Annotated[list[int], Len(0, 10)] # Valid: [], [10, 20, 30, 40, 50] + # Invalid: (1, 2), ["abc"], [0] * 20 +``` + +## Documentation + +_While `annotated-types` avoids runtime checks for performance, users should not +construct invalid combinations such as `MultipleOf("non-numeric")` or `Annotated[int, Len(3)]`. +Downstream implementors may choose to raise an error, emit a warning, silently ignore +a metadata item, etc., if the metadata objects described below are used with an +incompatible type - or for any other reason!_ + +### Gt, Ge, Lt, Le + +Express inclusive and/or exclusive bounds on orderable values - which may be numbers, +dates, times, strings, sets, etc. Note that the boundary value need not be of the +same type that was annotated, so long as they can be compared: `Annotated[int, Gt(1.5)]` +is fine, for example, and implies that the value is an integer x such that `x > 1.5`. + +We suggest that implementors may also interpret `functools.partial(operator.le, 1.5)` +as being equivalent to `Gt(1.5)`, for users who wish to avoid a runtime dependency on +the `annotated-types` package. + +To be explicit, these types have the following meanings: + +* `Gt(x)` - value must be "Greater Than" `x` - equivalent to exclusive minimum +* `Ge(x)` - value must be "Greater than or Equal" to `x` - equivalent to inclusive minimum +* `Lt(x)` - value must be "Less Than" `x` - equivalent to exclusive maximum +* `Le(x)` - value must be "Less than or Equal" to `x` - equivalent to inclusive maximum + +### Interval + +`Interval(gt, ge, lt, le)` allows you to specify an upper and lower bound with a single +metadata object. `None` attributes should be ignored, and non-`None` attributes +treated as per the single bounds above. + +### MultipleOf + +`MultipleOf(multiple_of=x)` might be interpreted in two ways: + +1. Python semantics, implying `value % multiple_of == 0`, or +2. [JSONschema semantics](https://json-schema.org/draft/2020-12/json-schema-validation.html#rfc.section.6.2.1), + where `int(value / multiple_of) == value / multiple_of`. + +We encourage users to be aware of these two common interpretations and their +distinct behaviours, especially since very large or non-integer numbers make +it easy to cause silent data corruption due to floating-point imprecision. + +We encourage libraries to carefully document which interpretation they implement. + +### MinLen, MaxLen, Len + +`Len()` implies that `min_length <= len(value) <= max_length` - lower and upper bounds are inclusive. + +As well as `Len()` which can optionally include upper and lower bounds, we also +provide `MinLen(x)` and `MaxLen(y)` which are equivalent to `Len(min_length=x)` +and `Len(max_length=y)` respectively. + +`Len`, `MinLen`, and `MaxLen` may be used with any type which supports `len(value)`. + +Examples of usage: + +* `Annotated[list, MaxLen(10)]` (or `Annotated[list, Len(max_length=10))`) - list must have a length of 10 or less +* `Annotated[str, MaxLen(10)]` - string must have a length of 10 or less +* `Annotated[list, MinLen(3))` (or `Annotated[list, Len(min_length=3))`) - list must have a length of 3 or more +* `Annotated[list, Len(4, 6)]` - list must have a length of 4, 5, or 6 +* `Annotated[list, Len(8, 8)]` - list must have a length of exactly 8 + +#### Changed in v0.4.0 + +* `min_inclusive` has been renamed to `min_length`, no change in meaning +* `max_exclusive` has been renamed to `max_length`, upper bound is now **inclusive** instead of **exclusive** +* The recommendation that slices are interpreted as `Len` has been removed due to ambiguity and different semantic + meaning of the upper bound in slices vs. `Len` + +See [issue #23](https://github.com/annotated-types/annotated-types/issues/23) for discussion. + +### Timezone + +`Timezone` can be used with a `datetime` or a `time` to express which timezones +are allowed. `Annotated[datetime, Timezone(None)]` must be a naive datetime. +`Timezone[...]` ([literal ellipsis](https://docs.python.org/3/library/constants.html#Ellipsis)) +expresses that any timezone-aware datetime is allowed. You may also pass a specific +timezone string or [`tzinfo`](https://docs.python.org/3/library/datetime.html#tzinfo-objects) +object such as `Timezone(timezone.utc)` or `Timezone("Africa/Abidjan")` to express that you only +allow a specific timezone, though we note that this is often a symptom of fragile design. + +#### Changed in v0.x.x + +* `Timezone` accepts [`tzinfo`](https://docs.python.org/3/library/datetime.html#tzinfo-objects) objects instead of + `timezone`, extending compatibility to [`zoneinfo`](https://docs.python.org/3/library/zoneinfo.html) and third party libraries. + +### Unit + +`Unit(unit: str)` expresses that the annotated numeric value is the magnitude of +a quantity with the specified unit. For example, `Annotated[float, Unit("m/s")]` +would be a float representing a velocity in meters per second. + +Please note that `annotated_types` itself makes no attempt to parse or validate +the unit string in any way. That is left entirely to downstream libraries, +such as [`pint`](https://pint.readthedocs.io) or +[`astropy.units`](https://docs.astropy.org/en/stable/units/). + +An example of how a library might use this metadata: + +```python +from annotated_types import Unit +from typing import Annotated, TypeVar, Callable, Any, get_origin, get_args + +# given a type annotated with a unit: +Meters = Annotated[float, Unit("m")] + + +# you can cast the annotation to a specific unit type with any +# callable that accepts a string and returns the desired type +T = TypeVar("T") +def cast_unit(tp: Any, unit_cls: Callable[[str], T]) -> T | None: + if get_origin(tp) is Annotated: + for arg in get_args(tp): + if isinstance(arg, Unit): + return unit_cls(arg.unit) + return None + + +# using `pint` +import pint +pint_unit = cast_unit(Meters, pint.Unit) + + +# using `astropy.units` +import astropy.units as u +astropy_unit = cast_unit(Meters, u.Unit) +``` + +### Predicate + +`Predicate(func: Callable)` expresses that `func(value)` is truthy for valid values. +Users should prefer the statically inspectable metadata above, but if you need +the full power and flexibility of arbitrary runtime predicates... here it is. + +For some common constraints, we provide generic types: + +* `IsLower = Annotated[T, Predicate(str.islower)]` +* `IsUpper = Annotated[T, Predicate(str.isupper)]` +* `IsDigit = Annotated[T, Predicate(str.isdigit)]` +* `IsFinite = Annotated[T, Predicate(math.isfinite)]` +* `IsNotFinite = Annotated[T, Predicate(Not(math.isfinite))]` +* `IsNan = Annotated[T, Predicate(math.isnan)]` +* `IsNotNan = Annotated[T, Predicate(Not(math.isnan))]` +* `IsInfinite = Annotated[T, Predicate(math.isinf)]` +* `IsNotInfinite = Annotated[T, Predicate(Not(math.isinf))]` + +so that you can write e.g. `x: IsFinite[float] = 2.0` instead of the longer +(but exactly equivalent) `x: Annotated[float, Predicate(math.isfinite)] = 2.0`. + +Some libraries might have special logic to handle known or understandable predicates, +for example by checking for `str.isdigit` and using its presence to both call custom +logic to enforce digit-only strings, and customise some generated external schema. +Users are therefore encouraged to avoid indirection like `lambda s: s.lower()`, in +favor of introspectable methods such as `str.lower` or `re.compile("pattern").search`. + +To enable basic negation of commonly used predicates like `math.isnan` without introducing introspection that makes it impossible for implementers to introspect the predicate we provide a `Not` wrapper that simply negates the predicate in an introspectable manner. Several of the predicates listed above are created in this manner. + +We do not specify what behaviour should be expected for predicates that raise +an exception. For example `Annotated[int, Predicate(str.isdigit)]` might silently +skip invalid constraints, or statically raise an error; or it might try calling it +and then propagate or discard the resulting +`TypeError: descriptor 'isdigit' for 'str' objects doesn't apply to a 'int' object` +exception. We encourage libraries to document the behaviour they choose. + +### Doc + +`doc()` can be used to add documentation information in `Annotated`, for function and method parameters, variables, class attributes, return types, and any place where `Annotated` can be used. + +It expects a value that can be statically analyzed, as the main use case is for static analysis, editors, documentation generators, and similar tools. + +It returns a `DocInfo` class with a single attribute `documentation` containing the value passed to `doc()`. + +This is the early adopter's alternative form of the [`typing-doc` proposal](https://github.com/tiangolo/fastapi/blob/typing-doc/typing_doc.md). + +### Integrating downstream types with `GroupedMetadata` + +Implementers may choose to provide a convenience wrapper that groups multiple pieces of metadata. +This can help reduce verbosity and cognitive overhead for users. +For example, an implementer like Pydantic might provide a `Field` or `Meta` type that accepts keyword arguments and transforms these into low-level metadata: + +```python +from dataclasses import dataclass +from typing import Iterator +from annotated_types import GroupedMetadata, Ge + +@dataclass +class Field(GroupedMetadata): + ge: int | None = None + description: str | None = None + + def __iter__(self) -> Iterator[object]: + # Iterating over a GroupedMetadata object should yield annotated-types + # constraint metadata objects which describe it as fully as possible, + # and may include other unknown objects too. + if self.ge is not None: + yield Ge(self.ge) + if self.description is not None: + yield Description(self.description) +``` + +Libraries consuming annotated-types constraints should check for `GroupedMetadata` and unpack it by iterating over the object and treating the results as if they had been "unpacked" in the `Annotated` type. The same logic should be applied to the [PEP 646 `Unpack` type](https://peps.python.org/pep-0646/), so that `Annotated[T, Field(...)]`, `Annotated[T, Unpack[Field(...)]]` and `Annotated[T, *Field(...)]` are all treated consistently. + +Libraries consuming annotated-types should also ignore any metadata they do not recongize that came from unpacking a `GroupedMetadata`, just like they ignore unrecognized metadata in `Annotated` itself. + +Our own `annotated_types.Interval` class is a `GroupedMetadata` which unpacks itself into `Gt`, `Lt`, etc., so this is not an abstract concern. Similarly, `annotated_types.Len` is a `GroupedMetadata` which unpacks itself into `MinLen` (optionally) and `MaxLen`. + +### Consuming metadata + +We intend to not be prescriptive as to _how_ the metadata and constraints are used, but as an example of how one might parse constraints from types annotations see our [implementation in `test_main.py`](https://github.com/annotated-types/annotated-types/blob/f59cf6d1b5255a0fe359b93896759a180bec30ae/tests/test_main.py#L94-L103). + +It is up to the implementer to determine how this metadata is used. +You could use the metadata for runtime type checking, for generating schemas or to generate example data, amongst other use cases. + +## Design & History + +This package was designed at the PyCon 2022 sprints by the maintainers of Pydantic +and Hypothesis, with the goal of making it as easy as possible for end-users to +provide more informative annotations for use by runtime libraries. + +It is deliberately minimal, and following PEP-593 allows considerable downstream +discretion in what (if anything!) they choose to support. Nonetheless, we expect +that staying simple and covering _only_ the most common use-cases will give users +and maintainers the best experience we can. If you'd like more constraints for your +types - follow our lead, by defining them and documenting them downstream! diff --git a/venv/Lib/site-packages/annotated_types-0.7.0.dist-info/RECORD b/venv/Lib/site-packages/annotated_types-0.7.0.dist-info/RECORD new file mode 100644 index 00000000..56e81a29 --- /dev/null +++ b/venv/Lib/site-packages/annotated_types-0.7.0.dist-info/RECORD @@ -0,0 +1,10 @@ +annotated_types-0.7.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +annotated_types-0.7.0.dist-info/METADATA,sha256=7ltqxksJJ0wCYFGBNIQCWTlWQGeAH0hRFdnK3CB895E,15046 +annotated_types-0.7.0.dist-info/RECORD,, +annotated_types-0.7.0.dist-info/WHEEL,sha256=zEMcRr9Kr03x1ozGwg5v9NQBKn3kndp6LSoSlVg-jhU,87 +annotated_types-0.7.0.dist-info/licenses/LICENSE,sha256=_hBJiEsaDZNCkB6I4H8ykl0ksxIdmXK2poBfuYJLCV0,1083 +annotated_types/__init__.py,sha256=RynLsRKUEGI0KimXydlD1fZEfEzWwDo0Uon3zOKhG1Q,13819 +annotated_types/__pycache__/__init__.cpython-39.pyc,, +annotated_types/__pycache__/test_cases.cpython-39.pyc,, +annotated_types/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +annotated_types/test_cases.py,sha256=zHFX6EpcMbGJ8FzBYDbO56bPwx_DYIVSKbZM-4B3_lg,6421 diff --git a/venv/Lib/site-packages/annotated_types-0.7.0.dist-info/WHEEL b/venv/Lib/site-packages/annotated_types-0.7.0.dist-info/WHEEL new file mode 100644 index 00000000..516596c7 --- /dev/null +++ b/venv/Lib/site-packages/annotated_types-0.7.0.dist-info/WHEEL @@ -0,0 +1,4 @@ +Wheel-Version: 1.0 +Generator: hatchling 1.24.2 +Root-Is-Purelib: true +Tag: py3-none-any diff --git a/venv/Lib/site-packages/annotated_types-0.7.0.dist-info/licenses/LICENSE b/venv/Lib/site-packages/annotated_types-0.7.0.dist-info/licenses/LICENSE new file mode 100644 index 00000000..d99323a9 --- /dev/null +++ b/venv/Lib/site-packages/annotated_types-0.7.0.dist-info/licenses/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2022 the contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/venv/Lib/site-packages/annotated_types/__init__.py b/venv/Lib/site-packages/annotated_types/__init__.py new file mode 100644 index 00000000..74e0deea --- /dev/null +++ b/venv/Lib/site-packages/annotated_types/__init__.py @@ -0,0 +1,432 @@ +import math +import sys +import types +from dataclasses import dataclass +from datetime import tzinfo +from typing import TYPE_CHECKING, Any, Callable, Iterator, Optional, SupportsFloat, SupportsIndex, TypeVar, Union + +if sys.version_info < (3, 8): + from typing_extensions import Protocol, runtime_checkable +else: + from typing import Protocol, runtime_checkable + +if sys.version_info < (3, 9): + from typing_extensions import Annotated, Literal +else: + from typing import Annotated, Literal + +if sys.version_info < (3, 10): + EllipsisType = type(Ellipsis) + KW_ONLY = {} + SLOTS = {} +else: + from types import EllipsisType + + KW_ONLY = {"kw_only": True} + SLOTS = {"slots": True} + + +__all__ = ( + 'BaseMetadata', + 'GroupedMetadata', + 'Gt', + 'Ge', + 'Lt', + 'Le', + 'Interval', + 'MultipleOf', + 'MinLen', + 'MaxLen', + 'Len', + 'Timezone', + 'Predicate', + 'LowerCase', + 'UpperCase', + 'IsDigits', + 'IsFinite', + 'IsNotFinite', + 'IsNan', + 'IsNotNan', + 'IsInfinite', + 'IsNotInfinite', + 'doc', + 'DocInfo', + '__version__', +) + +__version__ = '0.7.0' + + +T = TypeVar('T') + + +# arguments that start with __ are considered +# positional only +# see https://peps.python.org/pep-0484/#positional-only-arguments + + +class SupportsGt(Protocol): + def __gt__(self: T, __other: T) -> bool: + ... + + +class SupportsGe(Protocol): + def __ge__(self: T, __other: T) -> bool: + ... + + +class SupportsLt(Protocol): + def __lt__(self: T, __other: T) -> bool: + ... + + +class SupportsLe(Protocol): + def __le__(self: T, __other: T) -> bool: + ... + + +class SupportsMod(Protocol): + def __mod__(self: T, __other: T) -> T: + ... + + +class SupportsDiv(Protocol): + def __div__(self: T, __other: T) -> T: + ... + + +class BaseMetadata: + """Base class for all metadata. + + This exists mainly so that implementers + can do `isinstance(..., BaseMetadata)` while traversing field annotations. + """ + + __slots__ = () + + +@dataclass(frozen=True, **SLOTS) +class Gt(BaseMetadata): + """Gt(gt=x) implies that the value must be greater than x. + + It can be used with any type that supports the ``>`` operator, + including numbers, dates and times, strings, sets, and so on. + """ + + gt: SupportsGt + + +@dataclass(frozen=True, **SLOTS) +class Ge(BaseMetadata): + """Ge(ge=x) implies that the value must be greater than or equal to x. + + It can be used with any type that supports the ``>=`` operator, + including numbers, dates and times, strings, sets, and so on. + """ + + ge: SupportsGe + + +@dataclass(frozen=True, **SLOTS) +class Lt(BaseMetadata): + """Lt(lt=x) implies that the value must be less than x. + + It can be used with any type that supports the ``<`` operator, + including numbers, dates and times, strings, sets, and so on. + """ + + lt: SupportsLt + + +@dataclass(frozen=True, **SLOTS) +class Le(BaseMetadata): + """Le(le=x) implies that the value must be less than or equal to x. + + It can be used with any type that supports the ``<=`` operator, + including numbers, dates and times, strings, sets, and so on. + """ + + le: SupportsLe + + +@runtime_checkable +class GroupedMetadata(Protocol): + """A grouping of multiple objects, like typing.Unpack. + + `GroupedMetadata` on its own is not metadata and has no meaning. + All of the constraints and metadata should be fully expressable + in terms of the `BaseMetadata`'s returned by `GroupedMetadata.__iter__()`. + + Concrete implementations should override `GroupedMetadata.__iter__()` + to add their own metadata. + For example: + + >>> @dataclass + >>> class Field(GroupedMetadata): + >>> gt: float | None = None + >>> description: str | None = None + ... + >>> def __iter__(self) -> Iterable[object]: + >>> if self.gt is not None: + >>> yield Gt(self.gt) + >>> if self.description is not None: + >>> yield Description(self.gt) + + Also see the implementation of `Interval` below for an example. + + Parsers should recognize this and unpack it so that it can be used + both with and without unpacking: + + - `Annotated[int, Field(...)]` (parser must unpack Field) + - `Annotated[int, *Field(...)]` (PEP-646) + """ # noqa: trailing-whitespace + + @property + def __is_annotated_types_grouped_metadata__(self) -> Literal[True]: + return True + + def __iter__(self) -> Iterator[object]: + ... + + if not TYPE_CHECKING: + __slots__ = () # allow subclasses to use slots + + def __init_subclass__(cls, *args: Any, **kwargs: Any) -> None: + # Basic ABC like functionality without the complexity of an ABC + super().__init_subclass__(*args, **kwargs) + if cls.__iter__ is GroupedMetadata.__iter__: + raise TypeError("Can't subclass GroupedMetadata without implementing __iter__") + + def __iter__(self) -> Iterator[object]: # noqa: F811 + raise NotImplementedError # more helpful than "None has no attribute..." type errors + + +@dataclass(frozen=True, **KW_ONLY, **SLOTS) +class Interval(GroupedMetadata): + """Interval can express inclusive or exclusive bounds with a single object. + + It accepts keyword arguments ``gt``, ``ge``, ``lt``, and/or ``le``, which + are interpreted the same way as the single-bound constraints. + """ + + gt: Union[SupportsGt, None] = None + ge: Union[SupportsGe, None] = None + lt: Union[SupportsLt, None] = None + le: Union[SupportsLe, None] = None + + def __iter__(self) -> Iterator[BaseMetadata]: + """Unpack an Interval into zero or more single-bounds.""" + if self.gt is not None: + yield Gt(self.gt) + if self.ge is not None: + yield Ge(self.ge) + if self.lt is not None: + yield Lt(self.lt) + if self.le is not None: + yield Le(self.le) + + +@dataclass(frozen=True, **SLOTS) +class MultipleOf(BaseMetadata): + """MultipleOf(multiple_of=x) might be interpreted in two ways: + + 1. Python semantics, implying ``value % multiple_of == 0``, or + 2. JSONschema semantics, where ``int(value / multiple_of) == value / multiple_of`` + + We encourage users to be aware of these two common interpretations, + and libraries to carefully document which they implement. + """ + + multiple_of: Union[SupportsDiv, SupportsMod] + + +@dataclass(frozen=True, **SLOTS) +class MinLen(BaseMetadata): + """ + MinLen() implies minimum inclusive length, + e.g. ``len(value) >= min_length``. + """ + + min_length: Annotated[int, Ge(0)] + + +@dataclass(frozen=True, **SLOTS) +class MaxLen(BaseMetadata): + """ + MaxLen() implies maximum inclusive length, + e.g. ``len(value) <= max_length``. + """ + + max_length: Annotated[int, Ge(0)] + + +@dataclass(frozen=True, **SLOTS) +class Len(GroupedMetadata): + """ + Len() implies that ``min_length <= len(value) <= max_length``. + + Upper bound may be omitted or ``None`` to indicate no upper length bound. + """ + + min_length: Annotated[int, Ge(0)] = 0 + max_length: Optional[Annotated[int, Ge(0)]] = None + + def __iter__(self) -> Iterator[BaseMetadata]: + """Unpack a Len into zone or more single-bounds.""" + if self.min_length > 0: + yield MinLen(self.min_length) + if self.max_length is not None: + yield MaxLen(self.max_length) + + +@dataclass(frozen=True, **SLOTS) +class Timezone(BaseMetadata): + """Timezone(tz=...) requires a datetime to be aware (or ``tz=None``, naive). + + ``Annotated[datetime, Timezone(None)]`` must be a naive datetime. + ``Timezone[...]`` (the ellipsis literal) expresses that the datetime must be + tz-aware but any timezone is allowed. + + You may also pass a specific timezone string or tzinfo object such as + ``Timezone(timezone.utc)`` or ``Timezone("Africa/Abidjan")`` to express that + you only allow a specific timezone, though we note that this is often + a symptom of poor design. + """ + + tz: Union[str, tzinfo, EllipsisType, None] + + +@dataclass(frozen=True, **SLOTS) +class Unit(BaseMetadata): + """Indicates that the value is a physical quantity with the specified unit. + + It is intended for usage with numeric types, where the value represents the + magnitude of the quantity. For example, ``distance: Annotated[float, Unit('m')]`` + or ``speed: Annotated[float, Unit('m/s')]``. + + Interpretation of the unit string is left to the discretion of the consumer. + It is suggested to follow conventions established by python libraries that work + with physical quantities, such as + + - ``pint`` : + - ``astropy.units``: + + For indicating a quantity with a certain dimensionality but without a specific unit + it is recommended to use square brackets, e.g. `Annotated[float, Unit('[time]')]`. + Note, however, ``annotated_types`` itself makes no use of the unit string. + """ + + unit: str + + +@dataclass(frozen=True, **SLOTS) +class Predicate(BaseMetadata): + """``Predicate(func: Callable)`` implies `func(value)` is truthy for valid values. + + Users should prefer statically inspectable metadata, but if you need the full + power and flexibility of arbitrary runtime predicates... here it is. + + We provide a few predefined predicates for common string constraints: + ``IsLower = Predicate(str.islower)``, ``IsUpper = Predicate(str.isupper)``, and + ``IsDigits = Predicate(str.isdigit)``. Users are encouraged to use methods which + can be given special handling, and avoid indirection like ``lambda s: s.lower()``. + + Some libraries might have special logic to handle certain predicates, e.g. by + checking for `str.isdigit` and using its presence to both call custom logic to + enforce digit-only strings, and customise some generated external schema. + + We do not specify what behaviour should be expected for predicates that raise + an exception. For example `Annotated[int, Predicate(str.isdigit)]` might silently + skip invalid constraints, or statically raise an error; or it might try calling it + and then propagate or discard the resulting exception. + """ + + func: Callable[[Any], bool] + + def __repr__(self) -> str: + if getattr(self.func, "__name__", "") == "": + return f"{self.__class__.__name__}({self.func!r})" + if isinstance(self.func, (types.MethodType, types.BuiltinMethodType)) and ( + namespace := getattr(self.func.__self__, "__name__", None) + ): + return f"{self.__class__.__name__}({namespace}.{self.func.__name__})" + if isinstance(self.func, type(str.isascii)): # method descriptor + return f"{self.__class__.__name__}({self.func.__qualname__})" + return f"{self.__class__.__name__}({self.func.__name__})" + + +@dataclass +class Not: + func: Callable[[Any], bool] + + def __call__(self, __v: Any) -> bool: + return not self.func(__v) + + +_StrType = TypeVar("_StrType", bound=str) + +LowerCase = Annotated[_StrType, Predicate(str.islower)] +""" +Return True if the string is a lowercase string, False otherwise. + +A string is lowercase if all cased characters in the string are lowercase and there is at least one cased character in the string. +""" # noqa: E501 +UpperCase = Annotated[_StrType, Predicate(str.isupper)] +""" +Return True if the string is an uppercase string, False otherwise. + +A string is uppercase if all cased characters in the string are uppercase and there is at least one cased character in the string. +""" # noqa: E501 +IsDigit = Annotated[_StrType, Predicate(str.isdigit)] +IsDigits = IsDigit # type: ignore # plural for backwards compatibility, see #63 +""" +Return True if the string is a digit string, False otherwise. + +A string is a digit string if all characters in the string are digits and there is at least one character in the string. +""" # noqa: E501 +IsAscii = Annotated[_StrType, Predicate(str.isascii)] +""" +Return True if all characters in the string are ASCII, False otherwise. + +ASCII characters have code points in the range U+0000-U+007F. Empty string is ASCII too. +""" + +_NumericType = TypeVar('_NumericType', bound=Union[SupportsFloat, SupportsIndex]) +IsFinite = Annotated[_NumericType, Predicate(math.isfinite)] +"""Return True if x is neither an infinity nor a NaN, and False otherwise.""" +IsNotFinite = Annotated[_NumericType, Predicate(Not(math.isfinite))] +"""Return True if x is one of infinity or NaN, and False otherwise""" +IsNan = Annotated[_NumericType, Predicate(math.isnan)] +"""Return True if x is a NaN (not a number), and False otherwise.""" +IsNotNan = Annotated[_NumericType, Predicate(Not(math.isnan))] +"""Return True if x is anything but NaN (not a number), and False otherwise.""" +IsInfinite = Annotated[_NumericType, Predicate(math.isinf)] +"""Return True if x is a positive or negative infinity, and False otherwise.""" +IsNotInfinite = Annotated[_NumericType, Predicate(Not(math.isinf))] +"""Return True if x is neither a positive or negative infinity, and False otherwise.""" + +try: + from typing_extensions import DocInfo, doc # type: ignore [attr-defined] +except ImportError: + + @dataclass(frozen=True, **SLOTS) + class DocInfo: # type: ignore [no-redef] + """ " + The return value of doc(), mainly to be used by tools that want to extract the + Annotated documentation at runtime. + """ + + documentation: str + """The documentation string passed to doc().""" + + def doc( + documentation: str, + ) -> DocInfo: + """ + Add documentation to a type annotation inside of Annotated. + + For example: + + >>> def hi(name: Annotated[int, doc("The name of the user")]) -> None: ... + """ + return DocInfo(documentation) diff --git a/venv/Lib/site-packages/annotated_types/__pycache__/__init__.cpython-39.pyc b/venv/Lib/site-packages/annotated_types/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..b6331fef Binary files /dev/null and b/venv/Lib/site-packages/annotated_types/__pycache__/__init__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/annotated_types/__pycache__/test_cases.cpython-39.pyc b/venv/Lib/site-packages/annotated_types/__pycache__/test_cases.cpython-39.pyc new file mode 100644 index 00000000..119c1577 Binary files /dev/null and b/venv/Lib/site-packages/annotated_types/__pycache__/test_cases.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/annotated_types/py.typed b/venv/Lib/site-packages/annotated_types/py.typed new file mode 100644 index 00000000..e69de29b diff --git a/venv/Lib/site-packages/annotated_types/test_cases.py b/venv/Lib/site-packages/annotated_types/test_cases.py new file mode 100644 index 00000000..d9164d68 --- /dev/null +++ b/venv/Lib/site-packages/annotated_types/test_cases.py @@ -0,0 +1,151 @@ +import math +import sys +from datetime import date, datetime, timedelta, timezone +from decimal import Decimal +from typing import Any, Dict, Iterable, Iterator, List, NamedTuple, Set, Tuple + +if sys.version_info < (3, 9): + from typing_extensions import Annotated +else: + from typing import Annotated + +import annotated_types as at + + +class Case(NamedTuple): + """ + A test case for `annotated_types`. + """ + + annotation: Any + valid_cases: Iterable[Any] + invalid_cases: Iterable[Any] + + +def cases() -> Iterable[Case]: + # Gt, Ge, Lt, Le + yield Case(Annotated[int, at.Gt(4)], (5, 6, 1000), (4, 0, -1)) + yield Case(Annotated[float, at.Gt(0.5)], (0.6, 0.7, 0.8, 0.9), (0.5, 0.0, -0.1)) + yield Case( + Annotated[datetime, at.Gt(datetime(2000, 1, 1))], + [datetime(2000, 1, 2), datetime(2000, 1, 3)], + [datetime(2000, 1, 1), datetime(1999, 12, 31)], + ) + yield Case( + Annotated[datetime, at.Gt(date(2000, 1, 1))], + [date(2000, 1, 2), date(2000, 1, 3)], + [date(2000, 1, 1), date(1999, 12, 31)], + ) + yield Case( + Annotated[datetime, at.Gt(Decimal('1.123'))], + [Decimal('1.1231'), Decimal('123')], + [Decimal('1.123'), Decimal('0')], + ) + + yield Case(Annotated[int, at.Ge(4)], (4, 5, 6, 1000, 4), (0, -1)) + yield Case(Annotated[float, at.Ge(0.5)], (0.5, 0.6, 0.7, 0.8, 0.9), (0.4, 0.0, -0.1)) + yield Case( + Annotated[datetime, at.Ge(datetime(2000, 1, 1))], + [datetime(2000, 1, 2), datetime(2000, 1, 3)], + [datetime(1998, 1, 1), datetime(1999, 12, 31)], + ) + + yield Case(Annotated[int, at.Lt(4)], (0, -1), (4, 5, 6, 1000, 4)) + yield Case(Annotated[float, at.Lt(0.5)], (0.4, 0.0, -0.1), (0.5, 0.6, 0.7, 0.8, 0.9)) + yield Case( + Annotated[datetime, at.Lt(datetime(2000, 1, 1))], + [datetime(1999, 12, 31), datetime(1999, 12, 31)], + [datetime(2000, 1, 2), datetime(2000, 1, 3)], + ) + + yield Case(Annotated[int, at.Le(4)], (4, 0, -1), (5, 6, 1000)) + yield Case(Annotated[float, at.Le(0.5)], (0.5, 0.0, -0.1), (0.6, 0.7, 0.8, 0.9)) + yield Case( + Annotated[datetime, at.Le(datetime(2000, 1, 1))], + [datetime(2000, 1, 1), datetime(1999, 12, 31)], + [datetime(2000, 1, 2), datetime(2000, 1, 3)], + ) + + # Interval + yield Case(Annotated[int, at.Interval(gt=4)], (5, 6, 1000), (4, 0, -1)) + yield Case(Annotated[int, at.Interval(gt=4, lt=10)], (5, 6), (4, 10, 1000, 0, -1)) + yield Case(Annotated[float, at.Interval(ge=0.5, le=1)], (0.5, 0.9, 1), (0.49, 1.1)) + yield Case( + Annotated[datetime, at.Interval(gt=datetime(2000, 1, 1), le=datetime(2000, 1, 3))], + [datetime(2000, 1, 2), datetime(2000, 1, 3)], + [datetime(2000, 1, 1), datetime(2000, 1, 4)], + ) + + yield Case(Annotated[int, at.MultipleOf(multiple_of=3)], (0, 3, 9), (1, 2, 4)) + yield Case(Annotated[float, at.MultipleOf(multiple_of=0.5)], (0, 0.5, 1, 1.5), (0.4, 1.1)) + + # lengths + + yield Case(Annotated[str, at.MinLen(3)], ('123', '1234', 'x' * 10), ('', '1', '12')) + yield Case(Annotated[str, at.Len(3)], ('123', '1234', 'x' * 10), ('', '1', '12')) + yield Case(Annotated[List[int], at.MinLen(3)], ([1, 2, 3], [1, 2, 3, 4], [1] * 10), ([], [1], [1, 2])) + yield Case(Annotated[List[int], at.Len(3)], ([1, 2, 3], [1, 2, 3, 4], [1] * 10), ([], [1], [1, 2])) + + yield Case(Annotated[str, at.MaxLen(4)], ('', '1234'), ('12345', 'x' * 10)) + yield Case(Annotated[str, at.Len(0, 4)], ('', '1234'), ('12345', 'x' * 10)) + yield Case(Annotated[List[str], at.MaxLen(4)], ([], ['a', 'bcdef'], ['a', 'b', 'c']), (['a'] * 5, ['b'] * 10)) + yield Case(Annotated[List[str], at.Len(0, 4)], ([], ['a', 'bcdef'], ['a', 'b', 'c']), (['a'] * 5, ['b'] * 10)) + + yield Case(Annotated[str, at.Len(3, 5)], ('123', '12345'), ('', '1', '12', '123456', 'x' * 10)) + yield Case(Annotated[str, at.Len(3, 3)], ('123',), ('12', '1234')) + + yield Case(Annotated[Dict[int, int], at.Len(2, 3)], [{1: 1, 2: 2}], [{}, {1: 1}, {1: 1, 2: 2, 3: 3, 4: 4}]) + yield Case(Annotated[Set[int], at.Len(2, 3)], ({1, 2}, {1, 2, 3}), (set(), {1}, {1, 2, 3, 4})) + yield Case(Annotated[Tuple[int, ...], at.Len(2, 3)], ((1, 2), (1, 2, 3)), ((), (1,), (1, 2, 3, 4))) + + # Timezone + + yield Case( + Annotated[datetime, at.Timezone(None)], [datetime(2000, 1, 1)], [datetime(2000, 1, 1, tzinfo=timezone.utc)] + ) + yield Case( + Annotated[datetime, at.Timezone(...)], [datetime(2000, 1, 1, tzinfo=timezone.utc)], [datetime(2000, 1, 1)] + ) + yield Case( + Annotated[datetime, at.Timezone(timezone.utc)], + [datetime(2000, 1, 1, tzinfo=timezone.utc)], + [datetime(2000, 1, 1), datetime(2000, 1, 1, tzinfo=timezone(timedelta(hours=6)))], + ) + yield Case( + Annotated[datetime, at.Timezone('Europe/London')], + [datetime(2000, 1, 1, tzinfo=timezone(timedelta(0), name='Europe/London'))], + [datetime(2000, 1, 1), datetime(2000, 1, 1, tzinfo=timezone(timedelta(hours=6)))], + ) + + # Quantity + + yield Case(Annotated[float, at.Unit(unit='m')], (5, 4.2), ('5m', '4.2m')) + + # predicate types + + yield Case(at.LowerCase[str], ['abc', 'foobar'], ['', 'A', 'Boom']) + yield Case(at.UpperCase[str], ['ABC', 'DEFO'], ['', 'a', 'abc', 'AbC']) + yield Case(at.IsDigit[str], ['123'], ['', 'ab', 'a1b2']) + yield Case(at.IsAscii[str], ['123', 'foo bar'], ['£100', '😊', 'whatever 👀']) + + yield Case(Annotated[int, at.Predicate(lambda x: x % 2 == 0)], [0, 2, 4], [1, 3, 5]) + + yield Case(at.IsFinite[float], [1.23], [math.nan, math.inf, -math.inf]) + yield Case(at.IsNotFinite[float], [math.nan, math.inf], [1.23]) + yield Case(at.IsNan[float], [math.nan], [1.23, math.inf]) + yield Case(at.IsNotNan[float], [1.23, math.inf], [math.nan]) + yield Case(at.IsInfinite[float], [math.inf], [math.nan, 1.23]) + yield Case(at.IsNotInfinite[float], [math.nan, 1.23], [math.inf]) + + # check stacked predicates + yield Case(at.IsInfinite[Annotated[float, at.Predicate(lambda x: x > 0)]], [math.inf], [-math.inf, 1.23, math.nan]) + + # doc + yield Case(Annotated[int, at.doc("A number")], [1, 2], []) + + # custom GroupedMetadata + class MyCustomGroupedMetadata(at.GroupedMetadata): + def __iter__(self) -> Iterator[at.Predicate]: + yield at.Predicate(lambda x: float(x).is_integer()) + + yield Case(Annotated[float, MyCustomGroupedMetadata()], [0, 2.0], [0.01, 1.5]) diff --git a/venv/Lib/site-packages/anyio-4.6.2.post1.dist-info/INSTALLER b/venv/Lib/site-packages/anyio-4.6.2.post1.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/venv/Lib/site-packages/anyio-4.6.2.post1.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/Lib/site-packages/anyio-4.6.2.post1.dist-info/LICENSE b/venv/Lib/site-packages/anyio-4.6.2.post1.dist-info/LICENSE new file mode 100644 index 00000000..104eebf5 --- /dev/null +++ b/venv/Lib/site-packages/anyio-4.6.2.post1.dist-info/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2018 Alex Grönholm + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/venv/Lib/site-packages/anyio-4.6.2.post1.dist-info/METADATA b/venv/Lib/site-packages/anyio-4.6.2.post1.dist-info/METADATA new file mode 100644 index 00000000..10d7aafc --- /dev/null +++ b/venv/Lib/site-packages/anyio-4.6.2.post1.dist-info/METADATA @@ -0,0 +1,105 @@ +Metadata-Version: 2.1 +Name: anyio +Version: 4.6.2.post1 +Summary: High level compatibility layer for multiple asynchronous event loop implementations +Author-email: Alex Grönholm +License: MIT +Project-URL: Documentation, https://anyio.readthedocs.io/en/latest/ +Project-URL: Changelog, https://anyio.readthedocs.io/en/stable/versionhistory.html +Project-URL: Source code, https://github.com/agronholm/anyio +Project-URL: Issue tracker, https://github.com/agronholm/anyio/issues +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: MIT License +Classifier: Framework :: AnyIO +Classifier: Typing :: Typed +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3.12 +Classifier: Programming Language :: Python :: 3.13 +Requires-Python: >=3.9 +Description-Content-Type: text/x-rst +License-File: LICENSE +Requires-Dist: idna >=2.8 +Requires-Dist: sniffio >=1.1 +Requires-Dist: exceptiongroup >=1.0.2 ; python_version < "3.11" +Requires-Dist: typing-extensions >=4.1 ; python_version < "3.11" +Provides-Extra: doc +Requires-Dist: packaging ; extra == 'doc' +Requires-Dist: Sphinx ~=7.4 ; extra == 'doc' +Requires-Dist: sphinx-rtd-theme ; extra == 'doc' +Requires-Dist: sphinx-autodoc-typehints >=1.2.0 ; extra == 'doc' +Provides-Extra: test +Requires-Dist: anyio[trio] ; extra == 'test' +Requires-Dist: coverage[toml] >=7 ; extra == 'test' +Requires-Dist: exceptiongroup >=1.2.0 ; extra == 'test' +Requires-Dist: hypothesis >=4.0 ; extra == 'test' +Requires-Dist: psutil >=5.9 ; extra == 'test' +Requires-Dist: pytest >=7.0 ; extra == 'test' +Requires-Dist: pytest-mock >=3.6.1 ; extra == 'test' +Requires-Dist: trustme ; extra == 'test' +Requires-Dist: uvloop >=0.21.0b1 ; (platform_python_implementation == "CPython" and platform_system != "Windows") and extra == 'test' +Requires-Dist: truststore >=0.9.1 ; (python_version >= "3.10") and extra == 'test' +Provides-Extra: trio +Requires-Dist: trio >=0.26.1 ; extra == 'trio' + +.. image:: https://github.com/agronholm/anyio/actions/workflows/test.yml/badge.svg + :target: https://github.com/agronholm/anyio/actions/workflows/test.yml + :alt: Build Status +.. image:: https://coveralls.io/repos/github/agronholm/anyio/badge.svg?branch=master + :target: https://coveralls.io/github/agronholm/anyio?branch=master + :alt: Code Coverage +.. image:: https://readthedocs.org/projects/anyio/badge/?version=latest + :target: https://anyio.readthedocs.io/en/latest/?badge=latest + :alt: Documentation +.. image:: https://badges.gitter.im/gitterHQ/gitter.svg + :target: https://gitter.im/python-trio/AnyIO + :alt: Gitter chat + +AnyIO is an asynchronous networking and concurrency library that works on top of either asyncio_ or +trio_. It implements trio-like `structured concurrency`_ (SC) on top of asyncio and works in harmony +with the native SC of trio itself. + +Applications and libraries written against AnyIO's API will run unmodified on either asyncio_ or +trio_. AnyIO can also be adopted into a library or application incrementally – bit by bit, no full +refactoring necessary. It will blend in with the native libraries of your chosen backend. + +Documentation +------------- + +View full documentation at: https://anyio.readthedocs.io/ + +Features +-------- + +AnyIO offers the following functionality: + +* Task groups (nurseries_ in trio terminology) +* High-level networking (TCP, UDP and UNIX sockets) + + * `Happy eyeballs`_ algorithm for TCP connections (more robust than that of asyncio on Python + 3.8) + * async/await style UDP sockets (unlike asyncio where you still have to use Transports and + Protocols) + +* A versatile API for byte streams and object streams +* Inter-task synchronization and communication (locks, conditions, events, semaphores, object + streams) +* Worker threads +* Subprocesses +* Asynchronous file I/O (using worker threads) +* Signal handling + +AnyIO also comes with its own pytest_ plugin which also supports asynchronous fixtures. +It even works with the popular Hypothesis_ library. + +.. _asyncio: https://docs.python.org/3/library/asyncio.html +.. _trio: https://github.com/python-trio/trio +.. _structured concurrency: https://en.wikipedia.org/wiki/Structured_concurrency +.. _nurseries: https://trio.readthedocs.io/en/stable/reference-core.html#nurseries-and-spawning +.. _Happy eyeballs: https://en.wikipedia.org/wiki/Happy_Eyeballs +.. _pytest: https://docs.pytest.org/en/latest/ +.. _Hypothesis: https://hypothesis.works/ diff --git a/venv/Lib/site-packages/anyio-4.6.2.post1.dist-info/RECORD b/venv/Lib/site-packages/anyio-4.6.2.post1.dist-info/RECORD new file mode 100644 index 00000000..4db6e96c --- /dev/null +++ b/venv/Lib/site-packages/anyio-4.6.2.post1.dist-info/RECORD @@ -0,0 +1,82 @@ +anyio-4.6.2.post1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +anyio-4.6.2.post1.dist-info/LICENSE,sha256=U2GsncWPLvX9LpsJxoKXwX8ElQkJu8gCO9uC6s8iwrA,1081 +anyio-4.6.2.post1.dist-info/METADATA,sha256=-tUagL58CG66oT2eLY1593L_yXsIb6xW0oouVCQsE5c,4697 +anyio-4.6.2.post1.dist-info/RECORD,, +anyio-4.6.2.post1.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91 +anyio-4.6.2.post1.dist-info/entry_points.txt,sha256=_d6Yu6uiaZmNe0CydowirE9Cmg7zUL2g08tQpoS3Qvc,39 +anyio-4.6.2.post1.dist-info/top_level.txt,sha256=QglSMiWX8_5dpoVAEIHdEYzvqFMdSYWmCj6tYw2ITkQ,6 +anyio/__init__.py,sha256=myTIdg75VPwA-9L7BpislRQplJUPMeleUBHa4MyIruw,4315 +anyio/__pycache__/__init__.cpython-39.pyc,, +anyio/__pycache__/from_thread.cpython-39.pyc,, +anyio/__pycache__/lowlevel.cpython-39.pyc,, +anyio/__pycache__/pytest_plugin.cpython-39.pyc,, +anyio/__pycache__/to_process.cpython-39.pyc,, +anyio/__pycache__/to_thread.cpython-39.pyc,, +anyio/_backends/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +anyio/_backends/__pycache__/__init__.cpython-39.pyc,, +anyio/_backends/__pycache__/_asyncio.cpython-39.pyc,, +anyio/_backends/__pycache__/_trio.cpython-39.pyc,, +anyio/_backends/_asyncio.py,sha256=H3rMz2wquSxPnV4KIXpXGtBFWXk3jkFljrzvk7KWk4E,91497 +anyio/_backends/_trio.py,sha256=wfgvQ2ut2CAxOjcuDLAdrucfEgc02XXRN9aC3IEBHdY,40311 +anyio/_core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +anyio/_core/__pycache__/__init__.cpython-39.pyc,, +anyio/_core/__pycache__/_eventloop.cpython-39.pyc,, +anyio/_core/__pycache__/_exceptions.cpython-39.pyc,, +anyio/_core/__pycache__/_fileio.cpython-39.pyc,, +anyio/_core/__pycache__/_resources.cpython-39.pyc,, +anyio/_core/__pycache__/_signals.cpython-39.pyc,, +anyio/_core/__pycache__/_sockets.cpython-39.pyc,, +anyio/_core/__pycache__/_streams.cpython-39.pyc,, +anyio/_core/__pycache__/_subprocesses.cpython-39.pyc,, +anyio/_core/__pycache__/_synchronization.cpython-39.pyc,, +anyio/_core/__pycache__/_tasks.cpython-39.pyc,, +anyio/_core/__pycache__/_testing.cpython-39.pyc,, +anyio/_core/__pycache__/_typedattr.cpython-39.pyc,, +anyio/_core/_eventloop.py,sha256=t_tAwBFPjF8jrZGjlJ6bbYy6KA3bjsbZxV9mvh9t1i0,4695 +anyio/_core/_exceptions.py,sha256=NPxECdXkG4nk3NOCUeFmBEAgPhmj7Bzs4vFAKaW_vqw,2481 +anyio/_core/_fileio.py,sha256=lbGk3xq_6DhvbEI8ykdFf2NjYnhuyc8hjXKZTLYkW4k,20961 +anyio/_core/_resources.py,sha256=NbmU5O5UX3xEyACnkmYX28Fmwdl-f-ny0tHym26e0w0,435 +anyio/_core/_signals.py,sha256=vulT1M1xdLYtAR-eY5TamIgaf1WTlOwOrMGwswlTTr8,905 +anyio/_core/_sockets.py,sha256=iM3UeMU68n0PlQjl2U9HyiOpV26rnjqV4KBr_Fo2z1I,24293 +anyio/_core/_streams.py,sha256=OnaKgoDD-FcMSwLvkoAUGP51sG2ZdRvMpxt9q2w1gYA,1804 +anyio/_core/_subprocesses.py,sha256=WquR6sHrnaZofaeqnL8U4Yv___msVW_WqivleLHK4zI,7760 +anyio/_core/_synchronization.py,sha256=UDsbG5f8jWsWkRxYUOKp_WOBWCI9-vBO6wBrsR6WNjA,20121 +anyio/_core/_tasks.py,sha256=pvVEX2Fw159sf0ypAPerukKsZgRRwvFFedVW52nR2Vk,4764 +anyio/_core/_testing.py,sha256=YUGwA5cgFFbUTv4WFd7cv_BSVr4ryTtPp8owQA3JdWE,2118 +anyio/_core/_typedattr.py,sha256=P4ozZikn3-DbpoYcvyghS_FOYAgbmUxeoU8-L_07pZM,2508 +anyio/abc/__init__.py,sha256=U44_s3BglL8BojWQiq0KuokvCqkunIp-ySH3GyRXxAc,2681 +anyio/abc/__pycache__/__init__.cpython-39.pyc,, +anyio/abc/__pycache__/_eventloop.cpython-39.pyc,, +anyio/abc/__pycache__/_resources.cpython-39.pyc,, +anyio/abc/__pycache__/_sockets.cpython-39.pyc,, +anyio/abc/__pycache__/_streams.cpython-39.pyc,, +anyio/abc/__pycache__/_subprocesses.cpython-39.pyc,, +anyio/abc/__pycache__/_tasks.cpython-39.pyc,, +anyio/abc/__pycache__/_testing.cpython-39.pyc,, +anyio/abc/_eventloop.py,sha256=kdkLSnizMk3tPq61K109iPUQ6uXpvp1uNsj5aP1s0N8,9619 +anyio/abc/_resources.py,sha256=DrYvkNN1hH6Uvv5_5uKySvDsnknGVDe8FCKfko0VtN8,783 +anyio/abc/_sockets.py,sha256=KhWtJxan8jpBXKwPaFeQzI4iRXdFaOIn0HXtDZnaO7U,6262 +anyio/abc/_streams.py,sha256=GzST5Q2zQmxVzdrAqtbSyHNxkPlIC9AzeZJg_YyPAXw,6598 +anyio/abc/_subprocesses.py,sha256=cumAPJTktOQtw63IqG0lDpyZqu_l1EElvQHMiwJgL08,2067 +anyio/abc/_tasks.py,sha256=0Jc6oIwUjMIVReehF6knOZyAqlgwDt4TP1NQkx4IQGw,2731 +anyio/abc/_testing.py,sha256=tBJUzkSfOXJw23fe8qSJ03kJlShOYjjaEyFB6k6MYT8,1821 +anyio/from_thread.py,sha256=dbi5TUH45_Sg_jZ8Vv1NJWVohe0WeQ_OaCvXIKveAGg,17478 +anyio/lowlevel.py,sha256=nkgmW--SdxGVp0cmLUYazjkigveRm5HY7-gW8Bpp9oY,4169 +anyio/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +anyio/pytest_plugin.py,sha256=vjGhGRHD31OyMgJRFQrMvExhx3Ea8KbyDqYKmiSDdXA,6712 +anyio/streams/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +anyio/streams/__pycache__/__init__.cpython-39.pyc,, +anyio/streams/__pycache__/buffered.cpython-39.pyc,, +anyio/streams/__pycache__/file.cpython-39.pyc,, +anyio/streams/__pycache__/memory.cpython-39.pyc,, +anyio/streams/__pycache__/stapled.cpython-39.pyc,, +anyio/streams/__pycache__/text.cpython-39.pyc,, +anyio/streams/__pycache__/tls.cpython-39.pyc,, +anyio/streams/buffered.py,sha256=UCldKC168YuLvT7n3HtNPnQ2iWAMSTYQWbZvzLwMwkM,4500 +anyio/streams/file.py,sha256=6uoTNb5KbMoj-6gS3_xrrL8uZN8Q4iIvOS1WtGyFfKw,4383 +anyio/streams/memory.py,sha256=j8AyOExK4-UPaon_Xbhwax25Vqs0DwFg3ZXc-EIiHjY,10550 +anyio/streams/stapled.py,sha256=U09pCrmOw9kkNhe6tKopsm1QIMT1lFTFvtb-A7SIe4k,4302 +anyio/streams/text.py,sha256=6x8w8xlfCZKTUWQoJiMPoMhSSJFUBRKgoBNSBtbd9yg,5094 +anyio/streams/tls.py,sha256=m3AE2LVSpoRHSIwSoSCupiOVL54EvOFoY3CcwTxcZfg,12742 +anyio/to_process.py,sha256=cR4n7TssbbJowE_9cWme49zaeuoBuMzqgZ6cBIs0YIs,9571 +anyio/to_thread.py,sha256=WM2JQ2MbVsd5D5CM08bQiTwzZIvpsGjfH1Fy247KoDQ,2396 diff --git a/venv/Lib/site-packages/anyio-4.6.2.post1.dist-info/WHEEL b/venv/Lib/site-packages/anyio-4.6.2.post1.dist-info/WHEEL new file mode 100644 index 00000000..dcfdc6e3 --- /dev/null +++ b/venv/Lib/site-packages/anyio-4.6.2.post1.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: setuptools (75.1.0) +Root-Is-Purelib: true +Tag: py3-none-any + diff --git a/venv/Lib/site-packages/anyio-4.6.2.post1.dist-info/entry_points.txt b/venv/Lib/site-packages/anyio-4.6.2.post1.dist-info/entry_points.txt new file mode 100644 index 00000000..44dd9bdc --- /dev/null +++ b/venv/Lib/site-packages/anyio-4.6.2.post1.dist-info/entry_points.txt @@ -0,0 +1,2 @@ +[pytest11] +anyio = anyio.pytest_plugin diff --git a/venv/Lib/site-packages/anyio-4.6.2.post1.dist-info/top_level.txt b/venv/Lib/site-packages/anyio-4.6.2.post1.dist-info/top_level.txt new file mode 100644 index 00000000..c77c069e --- /dev/null +++ b/venv/Lib/site-packages/anyio-4.6.2.post1.dist-info/top_level.txt @@ -0,0 +1 @@ +anyio diff --git a/venv/Lib/site-packages/anyio/__init__.py b/venv/Lib/site-packages/anyio/__init__.py new file mode 100644 index 00000000..fd9fe06b --- /dev/null +++ b/venv/Lib/site-packages/anyio/__init__.py @@ -0,0 +1,74 @@ +from __future__ import annotations + +from ._core._eventloop import current_time as current_time +from ._core._eventloop import get_all_backends as get_all_backends +from ._core._eventloop import get_cancelled_exc_class as get_cancelled_exc_class +from ._core._eventloop import run as run +from ._core._eventloop import sleep as sleep +from ._core._eventloop import sleep_forever as sleep_forever +from ._core._eventloop import sleep_until as sleep_until +from ._core._exceptions import BrokenResourceError as BrokenResourceError +from ._core._exceptions import BrokenWorkerProcess as BrokenWorkerProcess +from ._core._exceptions import BusyResourceError as BusyResourceError +from ._core._exceptions import ClosedResourceError as ClosedResourceError +from ._core._exceptions import DelimiterNotFound as DelimiterNotFound +from ._core._exceptions import EndOfStream as EndOfStream +from ._core._exceptions import IncompleteRead as IncompleteRead +from ._core._exceptions import TypedAttributeLookupError as TypedAttributeLookupError +from ._core._exceptions import WouldBlock as WouldBlock +from ._core._fileio import AsyncFile as AsyncFile +from ._core._fileio import Path as Path +from ._core._fileio import open_file as open_file +from ._core._fileio import wrap_file as wrap_file +from ._core._resources import aclose_forcefully as aclose_forcefully +from ._core._signals import open_signal_receiver as open_signal_receiver +from ._core._sockets import connect_tcp as connect_tcp +from ._core._sockets import connect_unix as connect_unix +from ._core._sockets import create_connected_udp_socket as create_connected_udp_socket +from ._core._sockets import ( + create_connected_unix_datagram_socket as create_connected_unix_datagram_socket, +) +from ._core._sockets import create_tcp_listener as create_tcp_listener +from ._core._sockets import create_udp_socket as create_udp_socket +from ._core._sockets import create_unix_datagram_socket as create_unix_datagram_socket +from ._core._sockets import create_unix_listener as create_unix_listener +from ._core._sockets import getaddrinfo as getaddrinfo +from ._core._sockets import getnameinfo as getnameinfo +from ._core._sockets import wait_socket_readable as wait_socket_readable +from ._core._sockets import wait_socket_writable as wait_socket_writable +from ._core._streams import create_memory_object_stream as create_memory_object_stream +from ._core._subprocesses import open_process as open_process +from ._core._subprocesses import run_process as run_process +from ._core._synchronization import CapacityLimiter as CapacityLimiter +from ._core._synchronization import ( + CapacityLimiterStatistics as CapacityLimiterStatistics, +) +from ._core._synchronization import Condition as Condition +from ._core._synchronization import ConditionStatistics as ConditionStatistics +from ._core._synchronization import Event as Event +from ._core._synchronization import EventStatistics as EventStatistics +from ._core._synchronization import Lock as Lock +from ._core._synchronization import LockStatistics as LockStatistics +from ._core._synchronization import ResourceGuard as ResourceGuard +from ._core._synchronization import Semaphore as Semaphore +from ._core._synchronization import SemaphoreStatistics as SemaphoreStatistics +from ._core._tasks import TASK_STATUS_IGNORED as TASK_STATUS_IGNORED +from ._core._tasks import CancelScope as CancelScope +from ._core._tasks import create_task_group as create_task_group +from ._core._tasks import current_effective_deadline as current_effective_deadline +from ._core._tasks import fail_after as fail_after +from ._core._tasks import move_on_after as move_on_after +from ._core._testing import TaskInfo as TaskInfo +from ._core._testing import get_current_task as get_current_task +from ._core._testing import get_running_tasks as get_running_tasks +from ._core._testing import wait_all_tasks_blocked as wait_all_tasks_blocked +from ._core._typedattr import TypedAttributeProvider as TypedAttributeProvider +from ._core._typedattr import TypedAttributeSet as TypedAttributeSet +from ._core._typedattr import typed_attribute as typed_attribute + +# Re-export imports so they look like they live directly in this package +for __value in list(locals().values()): + if getattr(__value, "__module__", "").startswith("anyio."): + __value.__module__ = __name__ + +del __value diff --git a/venv/Lib/site-packages/anyio/__pycache__/__init__.cpython-39.pyc b/venv/Lib/site-packages/anyio/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..8d269325 Binary files /dev/null and b/venv/Lib/site-packages/anyio/__pycache__/__init__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/__pycache__/from_thread.cpython-39.pyc b/venv/Lib/site-packages/anyio/__pycache__/from_thread.cpython-39.pyc new file mode 100644 index 00000000..6b8055ac Binary files /dev/null and b/venv/Lib/site-packages/anyio/__pycache__/from_thread.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/__pycache__/lowlevel.cpython-39.pyc b/venv/Lib/site-packages/anyio/__pycache__/lowlevel.cpython-39.pyc new file mode 100644 index 00000000..83a2384a Binary files /dev/null and b/venv/Lib/site-packages/anyio/__pycache__/lowlevel.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/__pycache__/pytest_plugin.cpython-39.pyc b/venv/Lib/site-packages/anyio/__pycache__/pytest_plugin.cpython-39.pyc new file mode 100644 index 00000000..6e7bbb3d Binary files /dev/null and b/venv/Lib/site-packages/anyio/__pycache__/pytest_plugin.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/__pycache__/to_process.cpython-39.pyc b/venv/Lib/site-packages/anyio/__pycache__/to_process.cpython-39.pyc new file mode 100644 index 00000000..0820bbba Binary files /dev/null and b/venv/Lib/site-packages/anyio/__pycache__/to_process.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/__pycache__/to_thread.cpython-39.pyc b/venv/Lib/site-packages/anyio/__pycache__/to_thread.cpython-39.pyc new file mode 100644 index 00000000..d3eb401f Binary files /dev/null and b/venv/Lib/site-packages/anyio/__pycache__/to_thread.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/_backends/__init__.py b/venv/Lib/site-packages/anyio/_backends/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/venv/Lib/site-packages/anyio/_backends/__pycache__/__init__.cpython-39.pyc b/venv/Lib/site-packages/anyio/_backends/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..fa50377a Binary files /dev/null and b/venv/Lib/site-packages/anyio/_backends/__pycache__/__init__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/_backends/__pycache__/_asyncio.cpython-39.pyc b/venv/Lib/site-packages/anyio/_backends/__pycache__/_asyncio.cpython-39.pyc new file mode 100644 index 00000000..0440ead2 Binary files /dev/null and b/venv/Lib/site-packages/anyio/_backends/__pycache__/_asyncio.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/_backends/__pycache__/_trio.cpython-39.pyc b/venv/Lib/site-packages/anyio/_backends/__pycache__/_trio.cpython-39.pyc new file mode 100644 index 00000000..fcc01a3c Binary files /dev/null and b/venv/Lib/site-packages/anyio/_backends/__pycache__/_trio.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/_backends/_asyncio.py b/venv/Lib/site-packages/anyio/_backends/_asyncio.py new file mode 100644 index 00000000..0a69e7ac --- /dev/null +++ b/venv/Lib/site-packages/anyio/_backends/_asyncio.py @@ -0,0 +1,2771 @@ +from __future__ import annotations + +import array +import asyncio +import concurrent.futures +import math +import os +import socket +import sys +import threading +import weakref +from asyncio import ( + AbstractEventLoop, + CancelledError, + all_tasks, + create_task, + current_task, + get_running_loop, + sleep, +) +from asyncio.base_events import _run_until_complete_cb # type: ignore[attr-defined] +from collections import OrderedDict, deque +from collections.abc import ( + AsyncGenerator, + AsyncIterator, + Awaitable, + Callable, + Collection, + Coroutine, + Iterable, + Sequence, +) +from concurrent.futures import Future +from contextlib import AbstractContextManager, suppress +from contextvars import Context, copy_context +from dataclasses import dataclass +from functools import partial, wraps +from inspect import ( + CORO_RUNNING, + CORO_SUSPENDED, + getcoroutinestate, + iscoroutine, +) +from io import IOBase +from os import PathLike +from queue import Queue +from signal import Signals +from socket import AddressFamily, SocketKind +from threading import Thread +from types import TracebackType +from typing import ( + IO, + Any, + Optional, + TypeVar, + cast, +) +from weakref import WeakKeyDictionary + +import sniffio + +from .. import ( + CapacityLimiterStatistics, + EventStatistics, + LockStatistics, + TaskInfo, + abc, +) +from .._core._eventloop import claim_worker_thread, threadlocals +from .._core._exceptions import ( + BrokenResourceError, + BusyResourceError, + ClosedResourceError, + EndOfStream, + WouldBlock, + iterate_exceptions, +) +from .._core._sockets import convert_ipv6_sockaddr +from .._core._streams import create_memory_object_stream +from .._core._synchronization import ( + CapacityLimiter as BaseCapacityLimiter, +) +from .._core._synchronization import Event as BaseEvent +from .._core._synchronization import Lock as BaseLock +from .._core._synchronization import ( + ResourceGuard, + SemaphoreStatistics, +) +from .._core._synchronization import Semaphore as BaseSemaphore +from .._core._tasks import CancelScope as BaseCancelScope +from ..abc import ( + AsyncBackend, + IPSockAddrType, + SocketListener, + UDPPacketType, + UNIXDatagramPacketType, +) +from ..abc._eventloop import StrOrBytesPath +from ..lowlevel import RunVar +from ..streams.memory import MemoryObjectReceiveStream, MemoryObjectSendStream + +if sys.version_info >= (3, 10): + from typing import ParamSpec +else: + from typing_extensions import ParamSpec + +if sys.version_info >= (3, 11): + from asyncio import Runner + from typing import TypeVarTuple, Unpack +else: + import contextvars + import enum + import signal + from asyncio import coroutines, events, exceptions, tasks + + from exceptiongroup import BaseExceptionGroup + from typing_extensions import TypeVarTuple, Unpack + + class _State(enum.Enum): + CREATED = "created" + INITIALIZED = "initialized" + CLOSED = "closed" + + class Runner: + # Copied from CPython 3.11 + def __init__( + self, + *, + debug: bool | None = None, + loop_factory: Callable[[], AbstractEventLoop] | None = None, + ): + self._state = _State.CREATED + self._debug = debug + self._loop_factory = loop_factory + self._loop: AbstractEventLoop | None = None + self._context = None + self._interrupt_count = 0 + self._set_event_loop = False + + def __enter__(self) -> Runner: + self._lazy_init() + return self + + def __exit__( + self, + exc_type: type[BaseException], + exc_val: BaseException, + exc_tb: TracebackType, + ) -> None: + self.close() + + def close(self) -> None: + """Shutdown and close event loop.""" + if self._state is not _State.INITIALIZED: + return + try: + loop = self._loop + _cancel_all_tasks(loop) + loop.run_until_complete(loop.shutdown_asyncgens()) + if hasattr(loop, "shutdown_default_executor"): + loop.run_until_complete(loop.shutdown_default_executor()) + else: + loop.run_until_complete(_shutdown_default_executor(loop)) + finally: + if self._set_event_loop: + events.set_event_loop(None) + loop.close() + self._loop = None + self._state = _State.CLOSED + + def get_loop(self) -> AbstractEventLoop: + """Return embedded event loop.""" + self._lazy_init() + return self._loop + + def run(self, coro: Coroutine[T_Retval], *, context=None) -> T_Retval: + """Run a coroutine inside the embedded event loop.""" + if not coroutines.iscoroutine(coro): + raise ValueError(f"a coroutine was expected, got {coro!r}") + + if events._get_running_loop() is not None: + # fail fast with short traceback + raise RuntimeError( + "Runner.run() cannot be called from a running event loop" + ) + + self._lazy_init() + + if context is None: + context = self._context + task = context.run(self._loop.create_task, coro) + + if ( + threading.current_thread() is threading.main_thread() + and signal.getsignal(signal.SIGINT) is signal.default_int_handler + ): + sigint_handler = partial(self._on_sigint, main_task=task) + try: + signal.signal(signal.SIGINT, sigint_handler) + except ValueError: + # `signal.signal` may throw if `threading.main_thread` does + # not support signals (e.g. embedded interpreter with signals + # not registered - see gh-91880) + sigint_handler = None + else: + sigint_handler = None + + self._interrupt_count = 0 + try: + return self._loop.run_until_complete(task) + except exceptions.CancelledError: + if self._interrupt_count > 0: + uncancel = getattr(task, "uncancel", None) + if uncancel is not None and uncancel() == 0: + raise KeyboardInterrupt() + raise # CancelledError + finally: + if ( + sigint_handler is not None + and signal.getsignal(signal.SIGINT) is sigint_handler + ): + signal.signal(signal.SIGINT, signal.default_int_handler) + + def _lazy_init(self) -> None: + if self._state is _State.CLOSED: + raise RuntimeError("Runner is closed") + if self._state is _State.INITIALIZED: + return + if self._loop_factory is None: + self._loop = events.new_event_loop() + if not self._set_event_loop: + # Call set_event_loop only once to avoid calling + # attach_loop multiple times on child watchers + events.set_event_loop(self._loop) + self._set_event_loop = True + else: + self._loop = self._loop_factory() + if self._debug is not None: + self._loop.set_debug(self._debug) + self._context = contextvars.copy_context() + self._state = _State.INITIALIZED + + def _on_sigint(self, signum, frame, main_task: asyncio.Task) -> None: + self._interrupt_count += 1 + if self._interrupt_count == 1 and not main_task.done(): + main_task.cancel() + # wakeup loop if it is blocked by select() with long timeout + self._loop.call_soon_threadsafe(lambda: None) + return + raise KeyboardInterrupt() + + def _cancel_all_tasks(loop: AbstractEventLoop) -> None: + to_cancel = tasks.all_tasks(loop) + if not to_cancel: + return + + for task in to_cancel: + task.cancel() + + loop.run_until_complete(tasks.gather(*to_cancel, return_exceptions=True)) + + for task in to_cancel: + if task.cancelled(): + continue + if task.exception() is not None: + loop.call_exception_handler( + { + "message": "unhandled exception during asyncio.run() shutdown", + "exception": task.exception(), + "task": task, + } + ) + + async def _shutdown_default_executor(loop: AbstractEventLoop) -> None: + """Schedule the shutdown of the default executor.""" + + def _do_shutdown(future: asyncio.futures.Future) -> None: + try: + loop._default_executor.shutdown(wait=True) # type: ignore[attr-defined] + loop.call_soon_threadsafe(future.set_result, None) + except Exception as ex: + loop.call_soon_threadsafe(future.set_exception, ex) + + loop._executor_shutdown_called = True + if loop._default_executor is None: + return + future = loop.create_future() + thread = threading.Thread(target=_do_shutdown, args=(future,)) + thread.start() + try: + await future + finally: + thread.join() + + +T_Retval = TypeVar("T_Retval") +T_contra = TypeVar("T_contra", contravariant=True) +PosArgsT = TypeVarTuple("PosArgsT") +P = ParamSpec("P") + +_root_task: RunVar[asyncio.Task | None] = RunVar("_root_task") + + +def find_root_task() -> asyncio.Task: + root_task = _root_task.get(None) + if root_task is not None and not root_task.done(): + return root_task + + # Look for a task that has been started via run_until_complete() + for task in all_tasks(): + if task._callbacks and not task.done(): + callbacks = [cb for cb, context in task._callbacks] + for cb in callbacks: + if ( + cb is _run_until_complete_cb + or getattr(cb, "__module__", None) == "uvloop.loop" + ): + _root_task.set(task) + return task + + # Look up the topmost task in the AnyIO task tree, if possible + task = cast(asyncio.Task, current_task()) + state = _task_states.get(task) + if state: + cancel_scope = state.cancel_scope + while cancel_scope and cancel_scope._parent_scope is not None: + cancel_scope = cancel_scope._parent_scope + + if cancel_scope is not None: + return cast(asyncio.Task, cancel_scope._host_task) + + return task + + +def get_callable_name(func: Callable) -> str: + module = getattr(func, "__module__", None) + qualname = getattr(func, "__qualname__", None) + return ".".join([x for x in (module, qualname) if x]) + + +# +# Event loop +# + +_run_vars: WeakKeyDictionary[asyncio.AbstractEventLoop, Any] = WeakKeyDictionary() + + +def _task_started(task: asyncio.Task) -> bool: + """Return ``True`` if the task has been started and has not finished.""" + try: + return getcoroutinestate(task.get_coro()) in (CORO_RUNNING, CORO_SUSPENDED) + except AttributeError: + # task coro is async_genenerator_asend https://bugs.python.org/issue37771 + raise Exception(f"Cannot determine if task {task} has started or not") from None + + +# +# Timeouts and cancellation +# + + +def is_anyio_cancellation(exc: CancelledError) -> bool: + return ( + bool(exc.args) + and isinstance(exc.args[0], str) + and exc.args[0].startswith("Cancelled by cancel scope ") + ) + + +class CancelScope(BaseCancelScope): + def __new__( + cls, *, deadline: float = math.inf, shield: bool = False + ) -> CancelScope: + return object.__new__(cls) + + def __init__(self, deadline: float = math.inf, shield: bool = False): + self._deadline = deadline + self._shield = shield + self._parent_scope: CancelScope | None = None + self._child_scopes: set[CancelScope] = set() + self._cancel_called = False + self._cancelled_caught = False + self._active = False + self._timeout_handle: asyncio.TimerHandle | None = None + self._cancel_handle: asyncio.Handle | None = None + self._tasks: set[asyncio.Task] = set() + self._host_task: asyncio.Task | None = None + self._cancel_calls: int = 0 + self._cancelling: int | None = None + + def __enter__(self) -> CancelScope: + if self._active: + raise RuntimeError( + "Each CancelScope may only be used for a single 'with' block" + ) + + self._host_task = host_task = cast(asyncio.Task, current_task()) + self._tasks.add(host_task) + try: + task_state = _task_states[host_task] + except KeyError: + task_state = TaskState(None, self) + _task_states[host_task] = task_state + else: + self._parent_scope = task_state.cancel_scope + task_state.cancel_scope = self + if self._parent_scope is not None: + self._parent_scope._child_scopes.add(self) + self._parent_scope._tasks.remove(host_task) + + self._timeout() + self._active = True + if sys.version_info >= (3, 11): + self._cancelling = self._host_task.cancelling() + + # Start cancelling the host task if the scope was cancelled before entering + if self._cancel_called: + self._deliver_cancellation(self) + + return self + + def __exit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> bool | None: + del exc_tb + + if not self._active: + raise RuntimeError("This cancel scope is not active") + if current_task() is not self._host_task: + raise RuntimeError( + "Attempted to exit cancel scope in a different task than it was " + "entered in" + ) + + assert self._host_task is not None + host_task_state = _task_states.get(self._host_task) + if host_task_state is None or host_task_state.cancel_scope is not self: + raise RuntimeError( + "Attempted to exit a cancel scope that isn't the current tasks's " + "current cancel scope" + ) + + try: + self._active = False + if self._timeout_handle: + self._timeout_handle.cancel() + self._timeout_handle = None + + self._tasks.remove(self._host_task) + if self._parent_scope is not None: + self._parent_scope._child_scopes.remove(self) + self._parent_scope._tasks.add(self._host_task) + + host_task_state.cancel_scope = self._parent_scope + + # Undo all cancellations done by this scope + if self._cancelling is not None: + while self._cancel_calls: + self._cancel_calls -= 1 + if self._host_task.uncancel() <= self._cancelling: + break + + # We only swallow the exception iff it was an AnyIO CancelledError, either + # directly as exc_val or inside an exception group and there are no cancelled + # parent cancel scopes visible to us here + not_swallowed_exceptions = 0 + swallow_exception = False + if exc_val is not None: + for exc in iterate_exceptions(exc_val): + if self._cancel_called and isinstance(exc, CancelledError): + if not (swallow_exception := self._uncancel(exc)): + not_swallowed_exceptions += 1 + else: + not_swallowed_exceptions += 1 + + # Restart the cancellation effort in the closest visible, cancelled parent + # scope if necessary + self._restart_cancellation_in_parent() + return swallow_exception and not not_swallowed_exceptions + finally: + self._host_task = None + del exc_val + + @property + def _effectively_cancelled(self) -> bool: + cancel_scope: CancelScope | None = self + while cancel_scope is not None: + if cancel_scope._cancel_called: + return True + + if cancel_scope.shield: + return False + + cancel_scope = cancel_scope._parent_scope + + return False + + @property + def _parent_cancellation_is_visible_to_us(self) -> bool: + return ( + self._parent_scope is not None + and not self.shield + and self._parent_scope._effectively_cancelled + ) + + def _uncancel(self, cancelled_exc: CancelledError) -> bool: + if self._host_task is None: + self._cancel_calls = 0 + return True + + while True: + if is_anyio_cancellation(cancelled_exc): + # Only swallow the cancellation exception if it's an AnyIO cancel + # exception and there are no other cancel scopes down the line pending + # cancellation + self._cancelled_caught = ( + self._effectively_cancelled + and not self._parent_cancellation_is_visible_to_us + ) + return self._cancelled_caught + + # Sometimes third party frameworks catch a CancelledError and raise a new + # one, so as a workaround we have to look at the previous ones in + # __context__ too for a matching cancel message + if isinstance(cancelled_exc.__context__, CancelledError): + cancelled_exc = cancelled_exc.__context__ + continue + + return False + + def _timeout(self) -> None: + if self._deadline != math.inf: + loop = get_running_loop() + if loop.time() >= self._deadline: + self.cancel() + else: + self._timeout_handle = loop.call_at(self._deadline, self._timeout) + + def _deliver_cancellation(self, origin: CancelScope) -> bool: + """ + Deliver cancellation to directly contained tasks and nested cancel scopes. + + Schedule another run at the end if we still have tasks eligible for + cancellation. + + :param origin: the cancel scope that originated the cancellation + :return: ``True`` if the delivery needs to be retried on the next cycle + + """ + should_retry = False + current = current_task() + for task in self._tasks: + should_retry = True + if task._must_cancel: # type: ignore[attr-defined] + continue + + # The task is eligible for cancellation if it has started + if task is not current and (task is self._host_task or _task_started(task)): + waiter = task._fut_waiter # type: ignore[attr-defined] + if not isinstance(waiter, asyncio.Future) or not waiter.done(): + task.cancel(f"Cancelled by cancel scope {id(origin):x}") + if task is origin._host_task: + origin._cancel_calls += 1 + + # Deliver cancellation to child scopes that aren't shielded or running their own + # cancellation callbacks + for scope in self._child_scopes: + if not scope._shield and not scope.cancel_called: + should_retry = scope._deliver_cancellation(origin) or should_retry + + # Schedule another callback if there are still tasks left + if origin is self: + if should_retry: + self._cancel_handle = get_running_loop().call_soon( + self._deliver_cancellation, origin + ) + else: + self._cancel_handle = None + + return should_retry + + def _restart_cancellation_in_parent(self) -> None: + """ + Restart the cancellation effort in the closest directly cancelled parent scope. + + """ + scope = self._parent_scope + while scope is not None: + if scope._cancel_called: + if scope._cancel_handle is None: + scope._deliver_cancellation(scope) + + break + + # No point in looking beyond any shielded scope + if scope._shield: + break + + scope = scope._parent_scope + + def cancel(self) -> None: + if not self._cancel_called: + if self._timeout_handle: + self._timeout_handle.cancel() + self._timeout_handle = None + + self._cancel_called = True + if self._host_task is not None: + self._deliver_cancellation(self) + + @property + def deadline(self) -> float: + return self._deadline + + @deadline.setter + def deadline(self, value: float) -> None: + self._deadline = float(value) + if self._timeout_handle is not None: + self._timeout_handle.cancel() + self._timeout_handle = None + + if self._active and not self._cancel_called: + self._timeout() + + @property + def cancel_called(self) -> bool: + return self._cancel_called + + @property + def cancelled_caught(self) -> bool: + return self._cancelled_caught + + @property + def shield(self) -> bool: + return self._shield + + @shield.setter + def shield(self, value: bool) -> None: + if self._shield != value: + self._shield = value + if not value: + self._restart_cancellation_in_parent() + + +# +# Task states +# + + +class TaskState: + """ + Encapsulates auxiliary task information that cannot be added to the Task instance + itself because there are no guarantees about its implementation. + """ + + __slots__ = "parent_id", "cancel_scope", "__weakref__" + + def __init__(self, parent_id: int | None, cancel_scope: CancelScope | None): + self.parent_id = parent_id + self.cancel_scope = cancel_scope + + +_task_states: WeakKeyDictionary[asyncio.Task, TaskState] = WeakKeyDictionary() + + +# +# Task groups +# + + +class _AsyncioTaskStatus(abc.TaskStatus): + def __init__(self, future: asyncio.Future, parent_id: int): + self._future = future + self._parent_id = parent_id + + def started(self, value: T_contra | None = None) -> None: + try: + self._future.set_result(value) + except asyncio.InvalidStateError: + if not self._future.cancelled(): + raise RuntimeError( + "called 'started' twice on the same task status" + ) from None + + task = cast(asyncio.Task, current_task()) + _task_states[task].parent_id = self._parent_id + + +async def _wait(tasks: Iterable[asyncio.Task[object]]) -> None: + tasks = set(tasks) + waiter = get_running_loop().create_future() + + def on_completion(task: asyncio.Task[object]) -> None: + tasks.discard(task) + if not tasks and not waiter.done(): + waiter.set_result(None) + + for task in tasks: + task.add_done_callback(on_completion) + del task + + try: + await waiter + finally: + while tasks: + tasks.pop().remove_done_callback(on_completion) + + +class TaskGroup(abc.TaskGroup): + def __init__(self) -> None: + self.cancel_scope: CancelScope = CancelScope() + self._active = False + self._exceptions: list[BaseException] = [] + self._tasks: set[asyncio.Task] = set() + + async def __aenter__(self) -> TaskGroup: + self.cancel_scope.__enter__() + self._active = True + return self + + async def __aexit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> bool | None: + try: + if exc_val is not None: + self.cancel_scope.cancel() + if not isinstance(exc_val, CancelledError): + self._exceptions.append(exc_val) + + try: + if self._tasks: + with CancelScope() as wait_scope: + while self._tasks: + try: + await _wait(self._tasks) + except CancelledError as exc: + # Shield the scope against further cancellation attempts, + # as they're not productive (#695) + wait_scope.shield = True + self.cancel_scope.cancel() + + # Set exc_val from the cancellation exception if it was + # previously unset. However, we should not replace a native + # cancellation exception with one raise by a cancel scope. + if exc_val is None or ( + isinstance(exc_val, CancelledError) + and not is_anyio_cancellation(exc) + ): + exc_val = exc + else: + # If there are no child tasks to wait on, run at least one checkpoint + # anyway + await AsyncIOBackend.cancel_shielded_checkpoint() + + self._active = False + if self._exceptions: + raise BaseExceptionGroup( + "unhandled errors in a TaskGroup", self._exceptions + ) + elif exc_val: + raise exc_val + except BaseException as exc: + if self.cancel_scope.__exit__(type(exc), exc, exc.__traceback__): + return True + + raise + + return self.cancel_scope.__exit__(exc_type, exc_val, exc_tb) + finally: + del exc_val, exc_tb, self._exceptions + + def _spawn( + self, + func: Callable[[Unpack[PosArgsT]], Awaitable[Any]], + args: tuple[Unpack[PosArgsT]], + name: object, + task_status_future: asyncio.Future | None = None, + ) -> asyncio.Task: + def task_done(_task: asyncio.Task) -> None: + task_state = _task_states[_task] + assert task_state.cancel_scope is not None + assert _task in task_state.cancel_scope._tasks + task_state.cancel_scope._tasks.remove(_task) + self._tasks.remove(task) + del _task_states[_task] + + try: + exc = _task.exception() + except CancelledError as e: + while isinstance(e.__context__, CancelledError): + e = e.__context__ + + exc = e + + if exc is not None: + # The future can only be in the cancelled state if the host task was + # cancelled, so return immediately instead of adding one more + # CancelledError to the exceptions list + if task_status_future is not None and task_status_future.cancelled(): + return + + if task_status_future is None or task_status_future.done(): + if not isinstance(exc, CancelledError): + self._exceptions.append(exc) + + if not self.cancel_scope._effectively_cancelled: + self.cancel_scope.cancel() + else: + task_status_future.set_exception(exc) + elif task_status_future is not None and not task_status_future.done(): + task_status_future.set_exception( + RuntimeError("Child exited without calling task_status.started()") + ) + + if not self._active: + raise RuntimeError( + "This task group is not active; no new tasks can be started." + ) + + kwargs = {} + if task_status_future: + parent_id = id(current_task()) + kwargs["task_status"] = _AsyncioTaskStatus( + task_status_future, id(self.cancel_scope._host_task) + ) + else: + parent_id = id(self.cancel_scope._host_task) + + coro = func(*args, **kwargs) + if not iscoroutine(coro): + prefix = f"{func.__module__}." if hasattr(func, "__module__") else "" + raise TypeError( + f"Expected {prefix}{func.__qualname__}() to return a coroutine, but " + f"the return value ({coro!r}) is not a coroutine object" + ) + + name = get_callable_name(func) if name is None else str(name) + task = create_task(coro, name=name) + task.add_done_callback(task_done) + + # Make the spawned task inherit the task group's cancel scope + _task_states[task] = TaskState( + parent_id=parent_id, cancel_scope=self.cancel_scope + ) + self.cancel_scope._tasks.add(task) + self._tasks.add(task) + return task + + def start_soon( + self, + func: Callable[[Unpack[PosArgsT]], Awaitable[Any]], + *args: Unpack[PosArgsT], + name: object = None, + ) -> None: + self._spawn(func, args, name) + + async def start( + self, func: Callable[..., Awaitable[Any]], *args: object, name: object = None + ) -> Any: + future: asyncio.Future = asyncio.Future() + task = self._spawn(func, args, name, future) + + # If the task raises an exception after sending a start value without a switch + # point between, the task group is cancelled and this method never proceeds to + # process the completed future. That's why we have to have a shielded cancel + # scope here. + try: + return await future + except CancelledError: + # Cancel the task and wait for it to exit before returning + task.cancel() + with CancelScope(shield=True), suppress(CancelledError): + await task + + raise + + +# +# Threads +# + +_Retval_Queue_Type = tuple[Optional[T_Retval], Optional[BaseException]] + + +class WorkerThread(Thread): + MAX_IDLE_TIME = 10 # seconds + + def __init__( + self, + root_task: asyncio.Task, + workers: set[WorkerThread], + idle_workers: deque[WorkerThread], + ): + super().__init__(name="AnyIO worker thread") + self.root_task = root_task + self.workers = workers + self.idle_workers = idle_workers + self.loop = root_task._loop + self.queue: Queue[ + tuple[Context, Callable, tuple, asyncio.Future, CancelScope] | None + ] = Queue(2) + self.idle_since = AsyncIOBackend.current_time() + self.stopping = False + + def _report_result( + self, future: asyncio.Future, result: Any, exc: BaseException | None + ) -> None: + self.idle_since = AsyncIOBackend.current_time() + if not self.stopping: + self.idle_workers.append(self) + + if not future.cancelled(): + if exc is not None: + if isinstance(exc, StopIteration): + new_exc = RuntimeError("coroutine raised StopIteration") + new_exc.__cause__ = exc + exc = new_exc + + future.set_exception(exc) + else: + future.set_result(result) + + def run(self) -> None: + with claim_worker_thread(AsyncIOBackend, self.loop): + while True: + item = self.queue.get() + if item is None: + # Shutdown command received + return + + context, func, args, future, cancel_scope = item + if not future.cancelled(): + result = None + exception: BaseException | None = None + threadlocals.current_cancel_scope = cancel_scope + try: + result = context.run(func, *args) + except BaseException as exc: + exception = exc + finally: + del threadlocals.current_cancel_scope + + if not self.loop.is_closed(): + self.loop.call_soon_threadsafe( + self._report_result, future, result, exception + ) + + self.queue.task_done() + + def stop(self, f: asyncio.Task | None = None) -> None: + self.stopping = True + self.queue.put_nowait(None) + self.workers.discard(self) + try: + self.idle_workers.remove(self) + except ValueError: + pass + + +_threadpool_idle_workers: RunVar[deque[WorkerThread]] = RunVar( + "_threadpool_idle_workers" +) +_threadpool_workers: RunVar[set[WorkerThread]] = RunVar("_threadpool_workers") + + +class BlockingPortal(abc.BlockingPortal): + def __new__(cls) -> BlockingPortal: + return object.__new__(cls) + + def __init__(self) -> None: + super().__init__() + self._loop = get_running_loop() + + def _spawn_task_from_thread( + self, + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval] | T_Retval], + args: tuple[Unpack[PosArgsT]], + kwargs: dict[str, Any], + name: object, + future: Future[T_Retval], + ) -> None: + AsyncIOBackend.run_sync_from_thread( + partial(self._task_group.start_soon, name=name), + (self._call_func, func, args, kwargs, future), + self._loop, + ) + + +# +# Subprocesses +# + + +@dataclass(eq=False) +class StreamReaderWrapper(abc.ByteReceiveStream): + _stream: asyncio.StreamReader + + async def receive(self, max_bytes: int = 65536) -> bytes: + data = await self._stream.read(max_bytes) + if data: + return data + else: + raise EndOfStream + + async def aclose(self) -> None: + self._stream.set_exception(ClosedResourceError()) + await AsyncIOBackend.checkpoint() + + +@dataclass(eq=False) +class StreamWriterWrapper(abc.ByteSendStream): + _stream: asyncio.StreamWriter + + async def send(self, item: bytes) -> None: + self._stream.write(item) + await self._stream.drain() + + async def aclose(self) -> None: + self._stream.close() + await AsyncIOBackend.checkpoint() + + +@dataclass(eq=False) +class Process(abc.Process): + _process: asyncio.subprocess.Process + _stdin: StreamWriterWrapper | None + _stdout: StreamReaderWrapper | None + _stderr: StreamReaderWrapper | None + + async def aclose(self) -> None: + with CancelScope(shield=True) as scope: + if self._stdin: + await self._stdin.aclose() + if self._stdout: + await self._stdout.aclose() + if self._stderr: + await self._stderr.aclose() + + scope.shield = False + try: + await self.wait() + except BaseException: + scope.shield = True + self.kill() + await self.wait() + raise + + async def wait(self) -> int: + return await self._process.wait() + + def terminate(self) -> None: + self._process.terminate() + + def kill(self) -> None: + self._process.kill() + + def send_signal(self, signal: int) -> None: + self._process.send_signal(signal) + + @property + def pid(self) -> int: + return self._process.pid + + @property + def returncode(self) -> int | None: + return self._process.returncode + + @property + def stdin(self) -> abc.ByteSendStream | None: + return self._stdin + + @property + def stdout(self) -> abc.ByteReceiveStream | None: + return self._stdout + + @property + def stderr(self) -> abc.ByteReceiveStream | None: + return self._stderr + + +def _forcibly_shutdown_process_pool_on_exit( + workers: set[Process], _task: object +) -> None: + """ + Forcibly shuts down worker processes belonging to this event loop.""" + child_watcher: asyncio.AbstractChildWatcher | None = None + if sys.version_info < (3, 12): + try: + child_watcher = asyncio.get_event_loop_policy().get_child_watcher() + except NotImplementedError: + pass + + # Close as much as possible (w/o async/await) to avoid warnings + for process in workers: + if process.returncode is None: + continue + + process._stdin._stream._transport.close() # type: ignore[union-attr] + process._stdout._stream._transport.close() # type: ignore[union-attr] + process._stderr._stream._transport.close() # type: ignore[union-attr] + process.kill() + if child_watcher: + child_watcher.remove_child_handler(process.pid) + + +async def _shutdown_process_pool_on_exit(workers: set[abc.Process]) -> None: + """ + Shuts down worker processes belonging to this event loop. + + NOTE: this only works when the event loop was started using asyncio.run() or + anyio.run(). + + """ + process: abc.Process + try: + await sleep(math.inf) + except asyncio.CancelledError: + for process in workers: + if process.returncode is None: + process.kill() + + for process in workers: + await process.aclose() + + +# +# Sockets and networking +# + + +class StreamProtocol(asyncio.Protocol): + read_queue: deque[bytes] + read_event: asyncio.Event + write_event: asyncio.Event + exception: Exception | None = None + is_at_eof: bool = False + + def connection_made(self, transport: asyncio.BaseTransport) -> None: + self.read_queue = deque() + self.read_event = asyncio.Event() + self.write_event = asyncio.Event() + self.write_event.set() + cast(asyncio.Transport, transport).set_write_buffer_limits(0) + + def connection_lost(self, exc: Exception | None) -> None: + if exc: + self.exception = BrokenResourceError() + self.exception.__cause__ = exc + + self.read_event.set() + self.write_event.set() + + def data_received(self, data: bytes) -> None: + # ProactorEventloop sometimes sends bytearray instead of bytes + self.read_queue.append(bytes(data)) + self.read_event.set() + + def eof_received(self) -> bool | None: + self.is_at_eof = True + self.read_event.set() + return True + + def pause_writing(self) -> None: + self.write_event = asyncio.Event() + + def resume_writing(self) -> None: + self.write_event.set() + + +class DatagramProtocol(asyncio.DatagramProtocol): + read_queue: deque[tuple[bytes, IPSockAddrType]] + read_event: asyncio.Event + write_event: asyncio.Event + exception: Exception | None = None + + def connection_made(self, transport: asyncio.BaseTransport) -> None: + self.read_queue = deque(maxlen=100) # arbitrary value + self.read_event = asyncio.Event() + self.write_event = asyncio.Event() + self.write_event.set() + + def connection_lost(self, exc: Exception | None) -> None: + self.read_event.set() + self.write_event.set() + + def datagram_received(self, data: bytes, addr: IPSockAddrType) -> None: + addr = convert_ipv6_sockaddr(addr) + self.read_queue.append((data, addr)) + self.read_event.set() + + def error_received(self, exc: Exception) -> None: + self.exception = exc + + def pause_writing(self) -> None: + self.write_event.clear() + + def resume_writing(self) -> None: + self.write_event.set() + + +class SocketStream(abc.SocketStream): + def __init__(self, transport: asyncio.Transport, protocol: StreamProtocol): + self._transport = transport + self._protocol = protocol + self._receive_guard = ResourceGuard("reading from") + self._send_guard = ResourceGuard("writing to") + self._closed = False + + @property + def _raw_socket(self) -> socket.socket: + return self._transport.get_extra_info("socket") + + async def receive(self, max_bytes: int = 65536) -> bytes: + with self._receive_guard: + if ( + not self._protocol.read_event.is_set() + and not self._transport.is_closing() + and not self._protocol.is_at_eof + ): + self._transport.resume_reading() + await self._protocol.read_event.wait() + self._transport.pause_reading() + else: + await AsyncIOBackend.checkpoint() + + try: + chunk = self._protocol.read_queue.popleft() + except IndexError: + if self._closed: + raise ClosedResourceError from None + elif self._protocol.exception: + raise self._protocol.exception from None + else: + raise EndOfStream from None + + if len(chunk) > max_bytes: + # Split the oversized chunk + chunk, leftover = chunk[:max_bytes], chunk[max_bytes:] + self._protocol.read_queue.appendleft(leftover) + + # If the read queue is empty, clear the flag so that the next call will + # block until data is available + if not self._protocol.read_queue: + self._protocol.read_event.clear() + + return chunk + + async def send(self, item: bytes) -> None: + with self._send_guard: + await AsyncIOBackend.checkpoint() + + if self._closed: + raise ClosedResourceError + elif self._protocol.exception is not None: + raise self._protocol.exception + + try: + self._transport.write(item) + except RuntimeError as exc: + if self._transport.is_closing(): + raise BrokenResourceError from exc + else: + raise + + await self._protocol.write_event.wait() + + async def send_eof(self) -> None: + try: + self._transport.write_eof() + except OSError: + pass + + async def aclose(self) -> None: + if not self._transport.is_closing(): + self._closed = True + try: + self._transport.write_eof() + except OSError: + pass + + self._transport.close() + await sleep(0) + self._transport.abort() + + +class _RawSocketMixin: + _receive_future: asyncio.Future | None = None + _send_future: asyncio.Future | None = None + _closing = False + + def __init__(self, raw_socket: socket.socket): + self.__raw_socket = raw_socket + self._receive_guard = ResourceGuard("reading from") + self._send_guard = ResourceGuard("writing to") + + @property + def _raw_socket(self) -> socket.socket: + return self.__raw_socket + + def _wait_until_readable(self, loop: asyncio.AbstractEventLoop) -> asyncio.Future: + def callback(f: object) -> None: + del self._receive_future + loop.remove_reader(self.__raw_socket) + + f = self._receive_future = asyncio.Future() + loop.add_reader(self.__raw_socket, f.set_result, None) + f.add_done_callback(callback) + return f + + def _wait_until_writable(self, loop: asyncio.AbstractEventLoop) -> asyncio.Future: + def callback(f: object) -> None: + del self._send_future + loop.remove_writer(self.__raw_socket) + + f = self._send_future = asyncio.Future() + loop.add_writer(self.__raw_socket, f.set_result, None) + f.add_done_callback(callback) + return f + + async def aclose(self) -> None: + if not self._closing: + self._closing = True + if self.__raw_socket.fileno() != -1: + self.__raw_socket.close() + + if self._receive_future: + self._receive_future.set_result(None) + if self._send_future: + self._send_future.set_result(None) + + +class UNIXSocketStream(_RawSocketMixin, abc.UNIXSocketStream): + async def send_eof(self) -> None: + with self._send_guard: + self._raw_socket.shutdown(socket.SHUT_WR) + + async def receive(self, max_bytes: int = 65536) -> bytes: + loop = get_running_loop() + await AsyncIOBackend.checkpoint() + with self._receive_guard: + while True: + try: + data = self._raw_socket.recv(max_bytes) + except BlockingIOError: + await self._wait_until_readable(loop) + except OSError as exc: + if self._closing: + raise ClosedResourceError from None + else: + raise BrokenResourceError from exc + else: + if not data: + raise EndOfStream + + return data + + async def send(self, item: bytes) -> None: + loop = get_running_loop() + await AsyncIOBackend.checkpoint() + with self._send_guard: + view = memoryview(item) + while view: + try: + bytes_sent = self._raw_socket.send(view) + except BlockingIOError: + await self._wait_until_writable(loop) + except OSError as exc: + if self._closing: + raise ClosedResourceError from None + else: + raise BrokenResourceError from exc + else: + view = view[bytes_sent:] + + async def receive_fds(self, msglen: int, maxfds: int) -> tuple[bytes, list[int]]: + if not isinstance(msglen, int) or msglen < 0: + raise ValueError("msglen must be a non-negative integer") + if not isinstance(maxfds, int) or maxfds < 1: + raise ValueError("maxfds must be a positive integer") + + loop = get_running_loop() + fds = array.array("i") + await AsyncIOBackend.checkpoint() + with self._receive_guard: + while True: + try: + message, ancdata, flags, addr = self._raw_socket.recvmsg( + msglen, socket.CMSG_LEN(maxfds * fds.itemsize) + ) + except BlockingIOError: + await self._wait_until_readable(loop) + except OSError as exc: + if self._closing: + raise ClosedResourceError from None + else: + raise BrokenResourceError from exc + else: + if not message and not ancdata: + raise EndOfStream + + break + + for cmsg_level, cmsg_type, cmsg_data in ancdata: + if cmsg_level != socket.SOL_SOCKET or cmsg_type != socket.SCM_RIGHTS: + raise RuntimeError( + f"Received unexpected ancillary data; message = {message!r}, " + f"cmsg_level = {cmsg_level}, cmsg_type = {cmsg_type}" + ) + + fds.frombytes(cmsg_data[: len(cmsg_data) - (len(cmsg_data) % fds.itemsize)]) + + return message, list(fds) + + async def send_fds(self, message: bytes, fds: Collection[int | IOBase]) -> None: + if not message: + raise ValueError("message must not be empty") + if not fds: + raise ValueError("fds must not be empty") + + loop = get_running_loop() + filenos: list[int] = [] + for fd in fds: + if isinstance(fd, int): + filenos.append(fd) + elif isinstance(fd, IOBase): + filenos.append(fd.fileno()) + + fdarray = array.array("i", filenos) + await AsyncIOBackend.checkpoint() + with self._send_guard: + while True: + try: + # The ignore can be removed after mypy picks up + # https://github.com/python/typeshed/pull/5545 + self._raw_socket.sendmsg( + [message], [(socket.SOL_SOCKET, socket.SCM_RIGHTS, fdarray)] + ) + break + except BlockingIOError: + await self._wait_until_writable(loop) + except OSError as exc: + if self._closing: + raise ClosedResourceError from None + else: + raise BrokenResourceError from exc + + +class TCPSocketListener(abc.SocketListener): + _accept_scope: CancelScope | None = None + _closed = False + + def __init__(self, raw_socket: socket.socket): + self.__raw_socket = raw_socket + self._loop = cast(asyncio.BaseEventLoop, get_running_loop()) + self._accept_guard = ResourceGuard("accepting connections from") + + @property + def _raw_socket(self) -> socket.socket: + return self.__raw_socket + + async def accept(self) -> abc.SocketStream: + if self._closed: + raise ClosedResourceError + + with self._accept_guard: + await AsyncIOBackend.checkpoint() + with CancelScope() as self._accept_scope: + try: + client_sock, _addr = await self._loop.sock_accept(self._raw_socket) + except asyncio.CancelledError: + # Workaround for https://bugs.python.org/issue41317 + try: + self._loop.remove_reader(self._raw_socket) + except (ValueError, NotImplementedError): + pass + + if self._closed: + raise ClosedResourceError from None + + raise + finally: + self._accept_scope = None + + client_sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) + transport, protocol = await self._loop.connect_accepted_socket( + StreamProtocol, client_sock + ) + return SocketStream(transport, protocol) + + async def aclose(self) -> None: + if self._closed: + return + + self._closed = True + if self._accept_scope: + # Workaround for https://bugs.python.org/issue41317 + try: + self._loop.remove_reader(self._raw_socket) + except (ValueError, NotImplementedError): + pass + + self._accept_scope.cancel() + await sleep(0) + + self._raw_socket.close() + + +class UNIXSocketListener(abc.SocketListener): + def __init__(self, raw_socket: socket.socket): + self.__raw_socket = raw_socket + self._loop = get_running_loop() + self._accept_guard = ResourceGuard("accepting connections from") + self._closed = False + + async def accept(self) -> abc.SocketStream: + await AsyncIOBackend.checkpoint() + with self._accept_guard: + while True: + try: + client_sock, _ = self.__raw_socket.accept() + client_sock.setblocking(False) + return UNIXSocketStream(client_sock) + except BlockingIOError: + f: asyncio.Future = asyncio.Future() + self._loop.add_reader(self.__raw_socket, f.set_result, None) + f.add_done_callback( + lambda _: self._loop.remove_reader(self.__raw_socket) + ) + await f + except OSError as exc: + if self._closed: + raise ClosedResourceError from None + else: + raise BrokenResourceError from exc + + async def aclose(self) -> None: + self._closed = True + self.__raw_socket.close() + + @property + def _raw_socket(self) -> socket.socket: + return self.__raw_socket + + +class UDPSocket(abc.UDPSocket): + def __init__( + self, transport: asyncio.DatagramTransport, protocol: DatagramProtocol + ): + self._transport = transport + self._protocol = protocol + self._receive_guard = ResourceGuard("reading from") + self._send_guard = ResourceGuard("writing to") + self._closed = False + + @property + def _raw_socket(self) -> socket.socket: + return self._transport.get_extra_info("socket") + + async def aclose(self) -> None: + if not self._transport.is_closing(): + self._closed = True + self._transport.close() + + async def receive(self) -> tuple[bytes, IPSockAddrType]: + with self._receive_guard: + await AsyncIOBackend.checkpoint() + + # If the buffer is empty, ask for more data + if not self._protocol.read_queue and not self._transport.is_closing(): + self._protocol.read_event.clear() + await self._protocol.read_event.wait() + + try: + return self._protocol.read_queue.popleft() + except IndexError: + if self._closed: + raise ClosedResourceError from None + else: + raise BrokenResourceError from None + + async def send(self, item: UDPPacketType) -> None: + with self._send_guard: + await AsyncIOBackend.checkpoint() + await self._protocol.write_event.wait() + if self._closed: + raise ClosedResourceError + elif self._transport.is_closing(): + raise BrokenResourceError + else: + self._transport.sendto(*item) + + +class ConnectedUDPSocket(abc.ConnectedUDPSocket): + def __init__( + self, transport: asyncio.DatagramTransport, protocol: DatagramProtocol + ): + self._transport = transport + self._protocol = protocol + self._receive_guard = ResourceGuard("reading from") + self._send_guard = ResourceGuard("writing to") + self._closed = False + + @property + def _raw_socket(self) -> socket.socket: + return self._transport.get_extra_info("socket") + + async def aclose(self) -> None: + if not self._transport.is_closing(): + self._closed = True + self._transport.close() + + async def receive(self) -> bytes: + with self._receive_guard: + await AsyncIOBackend.checkpoint() + + # If the buffer is empty, ask for more data + if not self._protocol.read_queue and not self._transport.is_closing(): + self._protocol.read_event.clear() + await self._protocol.read_event.wait() + + try: + packet = self._protocol.read_queue.popleft() + except IndexError: + if self._closed: + raise ClosedResourceError from None + else: + raise BrokenResourceError from None + + return packet[0] + + async def send(self, item: bytes) -> None: + with self._send_guard: + await AsyncIOBackend.checkpoint() + await self._protocol.write_event.wait() + if self._closed: + raise ClosedResourceError + elif self._transport.is_closing(): + raise BrokenResourceError + else: + self._transport.sendto(item) + + +class UNIXDatagramSocket(_RawSocketMixin, abc.UNIXDatagramSocket): + async def receive(self) -> UNIXDatagramPacketType: + loop = get_running_loop() + await AsyncIOBackend.checkpoint() + with self._receive_guard: + while True: + try: + data = self._raw_socket.recvfrom(65536) + except BlockingIOError: + await self._wait_until_readable(loop) + except OSError as exc: + if self._closing: + raise ClosedResourceError from None + else: + raise BrokenResourceError from exc + else: + return data + + async def send(self, item: UNIXDatagramPacketType) -> None: + loop = get_running_loop() + await AsyncIOBackend.checkpoint() + with self._send_guard: + while True: + try: + self._raw_socket.sendto(*item) + except BlockingIOError: + await self._wait_until_writable(loop) + except OSError as exc: + if self._closing: + raise ClosedResourceError from None + else: + raise BrokenResourceError from exc + else: + return + + +class ConnectedUNIXDatagramSocket(_RawSocketMixin, abc.ConnectedUNIXDatagramSocket): + async def receive(self) -> bytes: + loop = get_running_loop() + await AsyncIOBackend.checkpoint() + with self._receive_guard: + while True: + try: + data = self._raw_socket.recv(65536) + except BlockingIOError: + await self._wait_until_readable(loop) + except OSError as exc: + if self._closing: + raise ClosedResourceError from None + else: + raise BrokenResourceError from exc + else: + return data + + async def send(self, item: bytes) -> None: + loop = get_running_loop() + await AsyncIOBackend.checkpoint() + with self._send_guard: + while True: + try: + self._raw_socket.send(item) + except BlockingIOError: + await self._wait_until_writable(loop) + except OSError as exc: + if self._closing: + raise ClosedResourceError from None + else: + raise BrokenResourceError from exc + else: + return + + +_read_events: RunVar[dict[Any, asyncio.Event]] = RunVar("read_events") +_write_events: RunVar[dict[Any, asyncio.Event]] = RunVar("write_events") + + +# +# Synchronization +# + + +class Event(BaseEvent): + def __new__(cls) -> Event: + return object.__new__(cls) + + def __init__(self) -> None: + self._event = asyncio.Event() + + def set(self) -> None: + self._event.set() + + def is_set(self) -> bool: + return self._event.is_set() + + async def wait(self) -> None: + if self.is_set(): + await AsyncIOBackend.checkpoint() + else: + await self._event.wait() + + def statistics(self) -> EventStatistics: + return EventStatistics(len(self._event._waiters)) + + +class Lock(BaseLock): + def __new__(cls, *, fast_acquire: bool = False) -> Lock: + return object.__new__(cls) + + def __init__(self, *, fast_acquire: bool = False) -> None: + self._fast_acquire = fast_acquire + self._owner_task: asyncio.Task | None = None + self._waiters: deque[tuple[asyncio.Task, asyncio.Future]] = deque() + + async def acquire(self) -> None: + task = cast(asyncio.Task, current_task()) + if self._owner_task is None and not self._waiters: + await AsyncIOBackend.checkpoint_if_cancelled() + self._owner_task = task + + # Unless on the "fast path", yield control of the event loop so that other + # tasks can run too + if not self._fast_acquire: + try: + await AsyncIOBackend.cancel_shielded_checkpoint() + except CancelledError: + self.release() + raise + + return + + if self._owner_task == task: + raise RuntimeError("Attempted to acquire an already held Lock") + + fut: asyncio.Future[None] = asyncio.Future() + item = task, fut + self._waiters.append(item) + try: + await fut + except CancelledError: + self._waiters.remove(item) + if self._owner_task is task: + self.release() + + raise + + self._waiters.remove(item) + + def acquire_nowait(self) -> None: + task = cast(asyncio.Task, current_task()) + if self._owner_task is None and not self._waiters: + self._owner_task = task + return + + if self._owner_task is task: + raise RuntimeError("Attempted to acquire an already held Lock") + + raise WouldBlock + + def locked(self) -> bool: + return self._owner_task is not None + + def release(self) -> None: + if self._owner_task != current_task(): + raise RuntimeError("The current task is not holding this lock") + + for task, fut in self._waiters: + if not fut.cancelled(): + self._owner_task = task + fut.set_result(None) + return + + self._owner_task = None + + def statistics(self) -> LockStatistics: + task_info = AsyncIOTaskInfo(self._owner_task) if self._owner_task else None + return LockStatistics(self.locked(), task_info, len(self._waiters)) + + +class Semaphore(BaseSemaphore): + def __new__( + cls, + initial_value: int, + *, + max_value: int | None = None, + fast_acquire: bool = False, + ) -> Semaphore: + return object.__new__(cls) + + def __init__( + self, + initial_value: int, + *, + max_value: int | None = None, + fast_acquire: bool = False, + ): + super().__init__(initial_value, max_value=max_value) + self._value = initial_value + self._max_value = max_value + self._fast_acquire = fast_acquire + self._waiters: deque[asyncio.Future[None]] = deque() + + async def acquire(self) -> None: + if self._value > 0 and not self._waiters: + await AsyncIOBackend.checkpoint_if_cancelled() + self._value -= 1 + + # Unless on the "fast path", yield control of the event loop so that other + # tasks can run too + if not self._fast_acquire: + try: + await AsyncIOBackend.cancel_shielded_checkpoint() + except CancelledError: + self.release() + raise + + return + + fut: asyncio.Future[None] = asyncio.Future() + self._waiters.append(fut) + try: + await fut + except CancelledError: + try: + self._waiters.remove(fut) + except ValueError: + self.release() + + raise + + def acquire_nowait(self) -> None: + if self._value == 0: + raise WouldBlock + + self._value -= 1 + + def release(self) -> None: + if self._max_value is not None and self._value == self._max_value: + raise ValueError("semaphore released too many times") + + for fut in self._waiters: + if not fut.cancelled(): + fut.set_result(None) + self._waiters.remove(fut) + return + + self._value += 1 + + @property + def value(self) -> int: + return self._value + + @property + def max_value(self) -> int | None: + return self._max_value + + def statistics(self) -> SemaphoreStatistics: + return SemaphoreStatistics(len(self._waiters)) + + +class CapacityLimiter(BaseCapacityLimiter): + _total_tokens: float = 0 + + def __new__(cls, total_tokens: float) -> CapacityLimiter: + return object.__new__(cls) + + def __init__(self, total_tokens: float): + self._borrowers: set[Any] = set() + self._wait_queue: OrderedDict[Any, asyncio.Event] = OrderedDict() + self.total_tokens = total_tokens + + async def __aenter__(self) -> None: + await self.acquire() + + async def __aexit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> None: + self.release() + + @property + def total_tokens(self) -> float: + return self._total_tokens + + @total_tokens.setter + def total_tokens(self, value: float) -> None: + if not isinstance(value, int) and not math.isinf(value): + raise TypeError("total_tokens must be an int or math.inf") + if value < 1: + raise ValueError("total_tokens must be >= 1") + + waiters_to_notify = max(value - self._total_tokens, 0) + self._total_tokens = value + + # Notify waiting tasks that they have acquired the limiter + while self._wait_queue and waiters_to_notify: + event = self._wait_queue.popitem(last=False)[1] + event.set() + waiters_to_notify -= 1 + + @property + def borrowed_tokens(self) -> int: + return len(self._borrowers) + + @property + def available_tokens(self) -> float: + return self._total_tokens - len(self._borrowers) + + def acquire_nowait(self) -> None: + self.acquire_on_behalf_of_nowait(current_task()) + + def acquire_on_behalf_of_nowait(self, borrower: object) -> None: + if borrower in self._borrowers: + raise RuntimeError( + "this borrower is already holding one of this CapacityLimiter's " + "tokens" + ) + + if self._wait_queue or len(self._borrowers) >= self._total_tokens: + raise WouldBlock + + self._borrowers.add(borrower) + + async def acquire(self) -> None: + return await self.acquire_on_behalf_of(current_task()) + + async def acquire_on_behalf_of(self, borrower: object) -> None: + await AsyncIOBackend.checkpoint_if_cancelled() + try: + self.acquire_on_behalf_of_nowait(borrower) + except WouldBlock: + event = asyncio.Event() + self._wait_queue[borrower] = event + try: + await event.wait() + except BaseException: + self._wait_queue.pop(borrower, None) + raise + + self._borrowers.add(borrower) + else: + try: + await AsyncIOBackend.cancel_shielded_checkpoint() + except BaseException: + self.release() + raise + + def release(self) -> None: + self.release_on_behalf_of(current_task()) + + def release_on_behalf_of(self, borrower: object) -> None: + try: + self._borrowers.remove(borrower) + except KeyError: + raise RuntimeError( + "this borrower isn't holding any of this CapacityLimiter's tokens" + ) from None + + # Notify the next task in line if this limiter has free capacity now + if self._wait_queue and len(self._borrowers) < self._total_tokens: + event = self._wait_queue.popitem(last=False)[1] + event.set() + + def statistics(self) -> CapacityLimiterStatistics: + return CapacityLimiterStatistics( + self.borrowed_tokens, + self.total_tokens, + tuple(self._borrowers), + len(self._wait_queue), + ) + + +_default_thread_limiter: RunVar[CapacityLimiter] = RunVar("_default_thread_limiter") + + +# +# Operating system signals +# + + +class _SignalReceiver: + def __init__(self, signals: tuple[Signals, ...]): + self._signals = signals + self._loop = get_running_loop() + self._signal_queue: deque[Signals] = deque() + self._future: asyncio.Future = asyncio.Future() + self._handled_signals: set[Signals] = set() + + def _deliver(self, signum: Signals) -> None: + self._signal_queue.append(signum) + if not self._future.done(): + self._future.set_result(None) + + def __enter__(self) -> _SignalReceiver: + for sig in set(self._signals): + self._loop.add_signal_handler(sig, self._deliver, sig) + self._handled_signals.add(sig) + + return self + + def __exit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> bool | None: + for sig in self._handled_signals: + self._loop.remove_signal_handler(sig) + return None + + def __aiter__(self) -> _SignalReceiver: + return self + + async def __anext__(self) -> Signals: + await AsyncIOBackend.checkpoint() + if not self._signal_queue: + self._future = asyncio.Future() + await self._future + + return self._signal_queue.popleft() + + +# +# Testing and debugging +# + + +class AsyncIOTaskInfo(TaskInfo): + def __init__(self, task: asyncio.Task): + task_state = _task_states.get(task) + if task_state is None: + parent_id = None + else: + parent_id = task_state.parent_id + + super().__init__(id(task), parent_id, task.get_name(), task.get_coro()) + self._task = weakref.ref(task) + + def has_pending_cancellation(self) -> bool: + if not (task := self._task()): + # If the task isn't around anymore, it won't have a pending cancellation + return False + + if sys.version_info >= (3, 11): + if task.cancelling(): + return True + elif ( + isinstance(task._fut_waiter, asyncio.Future) + and task._fut_waiter.cancelled() + ): + return True + + if task_state := _task_states.get(task): + if cancel_scope := task_state.cancel_scope: + return cancel_scope._effectively_cancelled + + return False + + +class TestRunner(abc.TestRunner): + _send_stream: MemoryObjectSendStream[tuple[Awaitable[Any], asyncio.Future[Any]]] + + def __init__( + self, + *, + debug: bool | None = None, + use_uvloop: bool = False, + loop_factory: Callable[[], AbstractEventLoop] | None = None, + ) -> None: + if use_uvloop and loop_factory is None: + import uvloop + + loop_factory = uvloop.new_event_loop + + self._runner = Runner(debug=debug, loop_factory=loop_factory) + self._exceptions: list[BaseException] = [] + self._runner_task: asyncio.Task | None = None + + def __enter__(self) -> TestRunner: + self._runner.__enter__() + self.get_loop().set_exception_handler(self._exception_handler) + return self + + def __exit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> None: + self._runner.__exit__(exc_type, exc_val, exc_tb) + + def get_loop(self) -> AbstractEventLoop: + return self._runner.get_loop() + + def _exception_handler( + self, loop: asyncio.AbstractEventLoop, context: dict[str, Any] + ) -> None: + if isinstance(context.get("exception"), Exception): + self._exceptions.append(context["exception"]) + else: + loop.default_exception_handler(context) + + def _raise_async_exceptions(self) -> None: + # Re-raise any exceptions raised in asynchronous callbacks + if self._exceptions: + exceptions, self._exceptions = self._exceptions, [] + if len(exceptions) == 1: + raise exceptions[0] + elif exceptions: + raise BaseExceptionGroup( + "Multiple exceptions occurred in asynchronous callbacks", exceptions + ) + + async def _run_tests_and_fixtures( + self, + receive_stream: MemoryObjectReceiveStream[ + tuple[Awaitable[T_Retval], asyncio.Future[T_Retval]] + ], + ) -> None: + from _pytest.outcomes import OutcomeException + + with receive_stream, self._send_stream: + async for coro, future in receive_stream: + try: + retval = await coro + except CancelledError as exc: + if not future.cancelled(): + future.cancel(*exc.args) + + raise + except BaseException as exc: + if not future.cancelled(): + future.set_exception(exc) + + if not isinstance(exc, (Exception, OutcomeException)): + raise + else: + if not future.cancelled(): + future.set_result(retval) + + async def _call_in_runner_task( + self, + func: Callable[P, Awaitable[T_Retval]], + *args: P.args, + **kwargs: P.kwargs, + ) -> T_Retval: + if not self._runner_task: + self._send_stream, receive_stream = create_memory_object_stream[ + tuple[Awaitable[Any], asyncio.Future] + ](1) + self._runner_task = self.get_loop().create_task( + self._run_tests_and_fixtures(receive_stream) + ) + + coro = func(*args, **kwargs) + future: asyncio.Future[T_Retval] = self.get_loop().create_future() + self._send_stream.send_nowait((coro, future)) + return await future + + def run_asyncgen_fixture( + self, + fixture_func: Callable[..., AsyncGenerator[T_Retval, Any]], + kwargs: dict[str, Any], + ) -> Iterable[T_Retval]: + asyncgen = fixture_func(**kwargs) + fixturevalue: T_Retval = self.get_loop().run_until_complete( + self._call_in_runner_task(asyncgen.asend, None) + ) + self._raise_async_exceptions() + + yield fixturevalue + + try: + self.get_loop().run_until_complete( + self._call_in_runner_task(asyncgen.asend, None) + ) + except StopAsyncIteration: + self._raise_async_exceptions() + else: + self.get_loop().run_until_complete(asyncgen.aclose()) + raise RuntimeError("Async generator fixture did not stop") + + def run_fixture( + self, + fixture_func: Callable[..., Coroutine[Any, Any, T_Retval]], + kwargs: dict[str, Any], + ) -> T_Retval: + retval = self.get_loop().run_until_complete( + self._call_in_runner_task(fixture_func, **kwargs) + ) + self._raise_async_exceptions() + return retval + + def run_test( + self, test_func: Callable[..., Coroutine[Any, Any, Any]], kwargs: dict[str, Any] + ) -> None: + try: + self.get_loop().run_until_complete( + self._call_in_runner_task(test_func, **kwargs) + ) + except Exception as exc: + self._exceptions.append(exc) + + self._raise_async_exceptions() + + +class AsyncIOBackend(AsyncBackend): + @classmethod + def run( + cls, + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], + args: tuple[Unpack[PosArgsT]], + kwargs: dict[str, Any], + options: dict[str, Any], + ) -> T_Retval: + @wraps(func) + async def wrapper() -> T_Retval: + task = cast(asyncio.Task, current_task()) + task.set_name(get_callable_name(func)) + _task_states[task] = TaskState(None, None) + + try: + return await func(*args) + finally: + del _task_states[task] + + debug = options.get("debug", None) + loop_factory = options.get("loop_factory", None) + if loop_factory is None and options.get("use_uvloop", False): + import uvloop + + loop_factory = uvloop.new_event_loop + + with Runner(debug=debug, loop_factory=loop_factory) as runner: + return runner.run(wrapper()) + + @classmethod + def current_token(cls) -> object: + return get_running_loop() + + @classmethod + def current_time(cls) -> float: + return get_running_loop().time() + + @classmethod + def cancelled_exception_class(cls) -> type[BaseException]: + return CancelledError + + @classmethod + async def checkpoint(cls) -> None: + await sleep(0) + + @classmethod + async def checkpoint_if_cancelled(cls) -> None: + task = current_task() + if task is None: + return + + try: + cancel_scope = _task_states[task].cancel_scope + except KeyError: + return + + while cancel_scope: + if cancel_scope.cancel_called: + await sleep(0) + elif cancel_scope.shield: + break + else: + cancel_scope = cancel_scope._parent_scope + + @classmethod + async def cancel_shielded_checkpoint(cls) -> None: + with CancelScope(shield=True): + await sleep(0) + + @classmethod + async def sleep(cls, delay: float) -> None: + await sleep(delay) + + @classmethod + def create_cancel_scope( + cls, *, deadline: float = math.inf, shield: bool = False + ) -> CancelScope: + return CancelScope(deadline=deadline, shield=shield) + + @classmethod + def current_effective_deadline(cls) -> float: + try: + cancel_scope = _task_states[ + current_task() # type: ignore[index] + ].cancel_scope + except KeyError: + return math.inf + + deadline = math.inf + while cancel_scope: + deadline = min(deadline, cancel_scope.deadline) + if cancel_scope._cancel_called: + deadline = -math.inf + break + elif cancel_scope.shield: + break + else: + cancel_scope = cancel_scope._parent_scope + + return deadline + + @classmethod + def create_task_group(cls) -> abc.TaskGroup: + return TaskGroup() + + @classmethod + def create_event(cls) -> abc.Event: + return Event() + + @classmethod + def create_lock(cls, *, fast_acquire: bool) -> abc.Lock: + return Lock(fast_acquire=fast_acquire) + + @classmethod + def create_semaphore( + cls, + initial_value: int, + *, + max_value: int | None = None, + fast_acquire: bool = False, + ) -> abc.Semaphore: + return Semaphore(initial_value, max_value=max_value, fast_acquire=fast_acquire) + + @classmethod + def create_capacity_limiter(cls, total_tokens: float) -> abc.CapacityLimiter: + return CapacityLimiter(total_tokens) + + @classmethod + async def run_sync_in_worker_thread( + cls, + func: Callable[[Unpack[PosArgsT]], T_Retval], + args: tuple[Unpack[PosArgsT]], + abandon_on_cancel: bool = False, + limiter: abc.CapacityLimiter | None = None, + ) -> T_Retval: + await cls.checkpoint() + + # If this is the first run in this event loop thread, set up the necessary + # variables + try: + idle_workers = _threadpool_idle_workers.get() + workers = _threadpool_workers.get() + except LookupError: + idle_workers = deque() + workers = set() + _threadpool_idle_workers.set(idle_workers) + _threadpool_workers.set(workers) + + async with limiter or cls.current_default_thread_limiter(): + with CancelScope(shield=not abandon_on_cancel) as scope: + future: asyncio.Future = asyncio.Future() + root_task = find_root_task() + if not idle_workers: + worker = WorkerThread(root_task, workers, idle_workers) + worker.start() + workers.add(worker) + root_task.add_done_callback(worker.stop) + else: + worker = idle_workers.pop() + + # Prune any other workers that have been idle for MAX_IDLE_TIME + # seconds or longer + now = cls.current_time() + while idle_workers: + if ( + now - idle_workers[0].idle_since + < WorkerThread.MAX_IDLE_TIME + ): + break + + expired_worker = idle_workers.popleft() + expired_worker.root_task.remove_done_callback( + expired_worker.stop + ) + expired_worker.stop() + + context = copy_context() + context.run(sniffio.current_async_library_cvar.set, None) + if abandon_on_cancel or scope._parent_scope is None: + worker_scope = scope + else: + worker_scope = scope._parent_scope + + worker.queue.put_nowait((context, func, args, future, worker_scope)) + return await future + + @classmethod + def check_cancelled(cls) -> None: + scope: CancelScope | None = threadlocals.current_cancel_scope + while scope is not None: + if scope.cancel_called: + raise CancelledError(f"Cancelled by cancel scope {id(scope):x}") + + if scope.shield: + return + + scope = scope._parent_scope + + @classmethod + def run_async_from_thread( + cls, + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], + args: tuple[Unpack[PosArgsT]], + token: object, + ) -> T_Retval: + async def task_wrapper(scope: CancelScope) -> T_Retval: + __tracebackhide__ = True + task = cast(asyncio.Task, current_task()) + _task_states[task] = TaskState(None, scope) + scope._tasks.add(task) + try: + return await func(*args) + except CancelledError as exc: + raise concurrent.futures.CancelledError(str(exc)) from None + finally: + scope._tasks.discard(task) + + loop = cast(AbstractEventLoop, token) + context = copy_context() + context.run(sniffio.current_async_library_cvar.set, "asyncio") + wrapper = task_wrapper(threadlocals.current_cancel_scope) + f: concurrent.futures.Future[T_Retval] = context.run( + asyncio.run_coroutine_threadsafe, wrapper, loop + ) + return f.result() + + @classmethod + def run_sync_from_thread( + cls, + func: Callable[[Unpack[PosArgsT]], T_Retval], + args: tuple[Unpack[PosArgsT]], + token: object, + ) -> T_Retval: + @wraps(func) + def wrapper() -> None: + try: + sniffio.current_async_library_cvar.set("asyncio") + f.set_result(func(*args)) + except BaseException as exc: + f.set_exception(exc) + if not isinstance(exc, Exception): + raise + + f: concurrent.futures.Future[T_Retval] = Future() + loop = cast(AbstractEventLoop, token) + loop.call_soon_threadsafe(wrapper) + return f.result() + + @classmethod + def create_blocking_portal(cls) -> abc.BlockingPortal: + return BlockingPortal() + + @classmethod + async def open_process( + cls, + command: StrOrBytesPath | Sequence[StrOrBytesPath], + *, + stdin: int | IO[Any] | None, + stdout: int | IO[Any] | None, + stderr: int | IO[Any] | None, + **kwargs: Any, + ) -> Process: + await cls.checkpoint() + if isinstance(command, PathLike): + command = os.fspath(command) + + if isinstance(command, (str, bytes)): + process = await asyncio.create_subprocess_shell( + command, + stdin=stdin, + stdout=stdout, + stderr=stderr, + **kwargs, + ) + else: + process = await asyncio.create_subprocess_exec( + *command, + stdin=stdin, + stdout=stdout, + stderr=stderr, + **kwargs, + ) + + stdin_stream = StreamWriterWrapper(process.stdin) if process.stdin else None + stdout_stream = StreamReaderWrapper(process.stdout) if process.stdout else None + stderr_stream = StreamReaderWrapper(process.stderr) if process.stderr else None + return Process(process, stdin_stream, stdout_stream, stderr_stream) + + @classmethod + def setup_process_pool_exit_at_shutdown(cls, workers: set[abc.Process]) -> None: + create_task( + _shutdown_process_pool_on_exit(workers), + name="AnyIO process pool shutdown task", + ) + find_root_task().add_done_callback( + partial(_forcibly_shutdown_process_pool_on_exit, workers) # type:ignore[arg-type] + ) + + @classmethod + async def connect_tcp( + cls, host: str, port: int, local_address: IPSockAddrType | None = None + ) -> abc.SocketStream: + transport, protocol = cast( + tuple[asyncio.Transport, StreamProtocol], + await get_running_loop().create_connection( + StreamProtocol, host, port, local_addr=local_address + ), + ) + transport.pause_reading() + return SocketStream(transport, protocol) + + @classmethod + async def connect_unix(cls, path: str | bytes) -> abc.UNIXSocketStream: + await cls.checkpoint() + loop = get_running_loop() + raw_socket = socket.socket(socket.AF_UNIX) + raw_socket.setblocking(False) + while True: + try: + raw_socket.connect(path) + except BlockingIOError: + f: asyncio.Future = asyncio.Future() + loop.add_writer(raw_socket, f.set_result, None) + f.add_done_callback(lambda _: loop.remove_writer(raw_socket)) + await f + except BaseException: + raw_socket.close() + raise + else: + return UNIXSocketStream(raw_socket) + + @classmethod + def create_tcp_listener(cls, sock: socket.socket) -> SocketListener: + return TCPSocketListener(sock) + + @classmethod + def create_unix_listener(cls, sock: socket.socket) -> SocketListener: + return UNIXSocketListener(sock) + + @classmethod + async def create_udp_socket( + cls, + family: AddressFamily, + local_address: IPSockAddrType | None, + remote_address: IPSockAddrType | None, + reuse_port: bool, + ) -> UDPSocket | ConnectedUDPSocket: + transport, protocol = await get_running_loop().create_datagram_endpoint( + DatagramProtocol, + local_addr=local_address, + remote_addr=remote_address, + family=family, + reuse_port=reuse_port, + ) + if protocol.exception: + transport.close() + raise protocol.exception + + if not remote_address: + return UDPSocket(transport, protocol) + else: + return ConnectedUDPSocket(transport, protocol) + + @classmethod + async def create_unix_datagram_socket( # type: ignore[override] + cls, raw_socket: socket.socket, remote_path: str | bytes | None + ) -> abc.UNIXDatagramSocket | abc.ConnectedUNIXDatagramSocket: + await cls.checkpoint() + loop = get_running_loop() + + if remote_path: + while True: + try: + raw_socket.connect(remote_path) + except BlockingIOError: + f: asyncio.Future = asyncio.Future() + loop.add_writer(raw_socket, f.set_result, None) + f.add_done_callback(lambda _: loop.remove_writer(raw_socket)) + await f + except BaseException: + raw_socket.close() + raise + else: + return ConnectedUNIXDatagramSocket(raw_socket) + else: + return UNIXDatagramSocket(raw_socket) + + @classmethod + async def getaddrinfo( + cls, + host: bytes | str | None, + port: str | int | None, + *, + family: int | AddressFamily = 0, + type: int | SocketKind = 0, + proto: int = 0, + flags: int = 0, + ) -> list[ + tuple[ + AddressFamily, + SocketKind, + int, + str, + tuple[str, int] | tuple[str, int, int, int], + ] + ]: + return await get_running_loop().getaddrinfo( + host, port, family=family, type=type, proto=proto, flags=flags + ) + + @classmethod + async def getnameinfo( + cls, sockaddr: IPSockAddrType, flags: int = 0 + ) -> tuple[str, str]: + return await get_running_loop().getnameinfo(sockaddr, flags) + + @classmethod + async def wait_socket_readable(cls, sock: socket.socket) -> None: + await cls.checkpoint() + try: + read_events = _read_events.get() + except LookupError: + read_events = {} + _read_events.set(read_events) + + if read_events.get(sock): + raise BusyResourceError("reading from") from None + + loop = get_running_loop() + event = read_events[sock] = asyncio.Event() + loop.add_reader(sock, event.set) + try: + await event.wait() + finally: + if read_events.pop(sock, None) is not None: + loop.remove_reader(sock) + readable = True + else: + readable = False + + if not readable: + raise ClosedResourceError + + @classmethod + async def wait_socket_writable(cls, sock: socket.socket) -> None: + await cls.checkpoint() + try: + write_events = _write_events.get() + except LookupError: + write_events = {} + _write_events.set(write_events) + + if write_events.get(sock): + raise BusyResourceError("writing to") from None + + loop = get_running_loop() + event = write_events[sock] = asyncio.Event() + loop.add_writer(sock.fileno(), event.set) + try: + await event.wait() + finally: + if write_events.pop(sock, None) is not None: + loop.remove_writer(sock) + writable = True + else: + writable = False + + if not writable: + raise ClosedResourceError + + @classmethod + def current_default_thread_limiter(cls) -> CapacityLimiter: + try: + return _default_thread_limiter.get() + except LookupError: + limiter = CapacityLimiter(40) + _default_thread_limiter.set(limiter) + return limiter + + @classmethod + def open_signal_receiver( + cls, *signals: Signals + ) -> AbstractContextManager[AsyncIterator[Signals]]: + return _SignalReceiver(signals) + + @classmethod + def get_current_task(cls) -> TaskInfo: + return AsyncIOTaskInfo(current_task()) # type: ignore[arg-type] + + @classmethod + def get_running_tasks(cls) -> Sequence[TaskInfo]: + return [AsyncIOTaskInfo(task) for task in all_tasks() if not task.done()] + + @classmethod + async def wait_all_tasks_blocked(cls) -> None: + await cls.checkpoint() + this_task = current_task() + while True: + for task in all_tasks(): + if task is this_task: + continue + + waiter = task._fut_waiter # type: ignore[attr-defined] + if waiter is None or waiter.done(): + await sleep(0.1) + break + else: + return + + @classmethod + def create_test_runner(cls, options: dict[str, Any]) -> TestRunner: + return TestRunner(**options) + + +backend_class = AsyncIOBackend diff --git a/venv/Lib/site-packages/anyio/_backends/_trio.py b/venv/Lib/site-packages/anyio/_backends/_trio.py new file mode 100644 index 00000000..24dcd744 --- /dev/null +++ b/venv/Lib/site-packages/anyio/_backends/_trio.py @@ -0,0 +1,1330 @@ +from __future__ import annotations + +import array +import math +import os +import socket +import sys +import types +import weakref +from collections.abc import ( + AsyncGenerator, + AsyncIterator, + Awaitable, + Callable, + Collection, + Coroutine, + Iterable, + Sequence, +) +from concurrent.futures import Future +from contextlib import AbstractContextManager +from dataclasses import dataclass +from functools import partial +from io import IOBase +from os import PathLike +from signal import Signals +from socket import AddressFamily, SocketKind +from types import TracebackType +from typing import ( + IO, + Any, + Generic, + NoReturn, + TypeVar, + cast, + overload, +) + +import trio.from_thread +import trio.lowlevel +from outcome import Error, Outcome, Value +from trio.lowlevel import ( + current_root_task, + current_task, + wait_readable, + wait_writable, +) +from trio.socket import SocketType as TrioSocketType +from trio.to_thread import run_sync + +from .. import ( + CapacityLimiterStatistics, + EventStatistics, + LockStatistics, + TaskInfo, + WouldBlock, + abc, +) +from .._core._eventloop import claim_worker_thread +from .._core._exceptions import ( + BrokenResourceError, + BusyResourceError, + ClosedResourceError, + EndOfStream, +) +from .._core._sockets import convert_ipv6_sockaddr +from .._core._streams import create_memory_object_stream +from .._core._synchronization import ( + CapacityLimiter as BaseCapacityLimiter, +) +from .._core._synchronization import Event as BaseEvent +from .._core._synchronization import Lock as BaseLock +from .._core._synchronization import ( + ResourceGuard, + SemaphoreStatistics, +) +from .._core._synchronization import Semaphore as BaseSemaphore +from .._core._tasks import CancelScope as BaseCancelScope +from ..abc import IPSockAddrType, UDPPacketType, UNIXDatagramPacketType +from ..abc._eventloop import AsyncBackend, StrOrBytesPath +from ..streams.memory import MemoryObjectSendStream + +if sys.version_info >= (3, 10): + from typing import ParamSpec +else: + from typing_extensions import ParamSpec + +if sys.version_info >= (3, 11): + from typing import TypeVarTuple, Unpack +else: + from exceptiongroup import BaseExceptionGroup + from typing_extensions import TypeVarTuple, Unpack + +T = TypeVar("T") +T_Retval = TypeVar("T_Retval") +T_SockAddr = TypeVar("T_SockAddr", str, IPSockAddrType) +PosArgsT = TypeVarTuple("PosArgsT") +P = ParamSpec("P") + + +# +# Event loop +# + +RunVar = trio.lowlevel.RunVar + + +# +# Timeouts and cancellation +# + + +class CancelScope(BaseCancelScope): + def __new__( + cls, original: trio.CancelScope | None = None, **kwargs: object + ) -> CancelScope: + return object.__new__(cls) + + def __init__(self, original: trio.CancelScope | None = None, **kwargs: Any) -> None: + self.__original = original or trio.CancelScope(**kwargs) + + def __enter__(self) -> CancelScope: + self.__original.__enter__() + return self + + def __exit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> bool | None: + # https://github.com/python-trio/trio-typing/pull/79 + return self.__original.__exit__(exc_type, exc_val, exc_tb) + + def cancel(self) -> None: + self.__original.cancel() + + @property + def deadline(self) -> float: + return self.__original.deadline + + @deadline.setter + def deadline(self, value: float) -> None: + self.__original.deadline = value + + @property + def cancel_called(self) -> bool: + return self.__original.cancel_called + + @property + def cancelled_caught(self) -> bool: + return self.__original.cancelled_caught + + @property + def shield(self) -> bool: + return self.__original.shield + + @shield.setter + def shield(self, value: bool) -> None: + self.__original.shield = value + + +# +# Task groups +# + + +class TaskGroup(abc.TaskGroup): + def __init__(self) -> None: + self._active = False + self._nursery_manager = trio.open_nursery(strict_exception_groups=True) + self.cancel_scope = None # type: ignore[assignment] + + async def __aenter__(self) -> TaskGroup: + self._active = True + self._nursery = await self._nursery_manager.__aenter__() + self.cancel_scope = CancelScope(self._nursery.cancel_scope) + return self + + async def __aexit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> bool | None: + try: + return await self._nursery_manager.__aexit__(exc_type, exc_val, exc_tb) + except BaseExceptionGroup as exc: + if not exc.split(trio.Cancelled)[1]: + raise trio.Cancelled._create() from exc + + raise + finally: + del exc_val, exc_tb + self._active = False + + def start_soon( + self, + func: Callable[[Unpack[PosArgsT]], Awaitable[Any]], + *args: Unpack[PosArgsT], + name: object = None, + ) -> None: + if not self._active: + raise RuntimeError( + "This task group is not active; no new tasks can be started." + ) + + self._nursery.start_soon(func, *args, name=name) + + async def start( + self, func: Callable[..., Awaitable[Any]], *args: object, name: object = None + ) -> Any: + if not self._active: + raise RuntimeError( + "This task group is not active; no new tasks can be started." + ) + + return await self._nursery.start(func, *args, name=name) + + +# +# Threads +# + + +class BlockingPortal(abc.BlockingPortal): + def __new__(cls) -> BlockingPortal: + return object.__new__(cls) + + def __init__(self) -> None: + super().__init__() + self._token = trio.lowlevel.current_trio_token() + + def _spawn_task_from_thread( + self, + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval] | T_Retval], + args: tuple[Unpack[PosArgsT]], + kwargs: dict[str, Any], + name: object, + future: Future[T_Retval], + ) -> None: + trio.from_thread.run_sync( + partial(self._task_group.start_soon, name=name), + self._call_func, + func, + args, + kwargs, + future, + trio_token=self._token, + ) + + +# +# Subprocesses +# + + +@dataclass(eq=False) +class ReceiveStreamWrapper(abc.ByteReceiveStream): + _stream: trio.abc.ReceiveStream + + async def receive(self, max_bytes: int | None = None) -> bytes: + try: + data = await self._stream.receive_some(max_bytes) + except trio.ClosedResourceError as exc: + raise ClosedResourceError from exc.__cause__ + except trio.BrokenResourceError as exc: + raise BrokenResourceError from exc.__cause__ + + if data: + return data + else: + raise EndOfStream + + async def aclose(self) -> None: + await self._stream.aclose() + + +@dataclass(eq=False) +class SendStreamWrapper(abc.ByteSendStream): + _stream: trio.abc.SendStream + + async def send(self, item: bytes) -> None: + try: + await self._stream.send_all(item) + except trio.ClosedResourceError as exc: + raise ClosedResourceError from exc.__cause__ + except trio.BrokenResourceError as exc: + raise BrokenResourceError from exc.__cause__ + + async def aclose(self) -> None: + await self._stream.aclose() + + +@dataclass(eq=False) +class Process(abc.Process): + _process: trio.Process + _stdin: abc.ByteSendStream | None + _stdout: abc.ByteReceiveStream | None + _stderr: abc.ByteReceiveStream | None + + async def aclose(self) -> None: + with CancelScope(shield=True): + if self._stdin: + await self._stdin.aclose() + if self._stdout: + await self._stdout.aclose() + if self._stderr: + await self._stderr.aclose() + + try: + await self.wait() + except BaseException: + self.kill() + with CancelScope(shield=True): + await self.wait() + raise + + async def wait(self) -> int: + return await self._process.wait() + + def terminate(self) -> None: + self._process.terminate() + + def kill(self) -> None: + self._process.kill() + + def send_signal(self, signal: Signals) -> None: + self._process.send_signal(signal) + + @property + def pid(self) -> int: + return self._process.pid + + @property + def returncode(self) -> int | None: + return self._process.returncode + + @property + def stdin(self) -> abc.ByteSendStream | None: + return self._stdin + + @property + def stdout(self) -> abc.ByteReceiveStream | None: + return self._stdout + + @property + def stderr(self) -> abc.ByteReceiveStream | None: + return self._stderr + + +class _ProcessPoolShutdownInstrument(trio.abc.Instrument): + def after_run(self) -> None: + super().after_run() + + +current_default_worker_process_limiter: trio.lowlevel.RunVar = RunVar( + "current_default_worker_process_limiter" +) + + +async def _shutdown_process_pool(workers: set[abc.Process]) -> None: + try: + await trio.sleep(math.inf) + except trio.Cancelled: + for process in workers: + if process.returncode is None: + process.kill() + + with CancelScope(shield=True): + for process in workers: + await process.aclose() + + +# +# Sockets and networking +# + + +class _TrioSocketMixin(Generic[T_SockAddr]): + def __init__(self, trio_socket: TrioSocketType) -> None: + self._trio_socket = trio_socket + self._closed = False + + def _check_closed(self) -> None: + if self._closed: + raise ClosedResourceError + if self._trio_socket.fileno() < 0: + raise BrokenResourceError + + @property + def _raw_socket(self) -> socket.socket: + return self._trio_socket._sock # type: ignore[attr-defined] + + async def aclose(self) -> None: + if self._trio_socket.fileno() >= 0: + self._closed = True + self._trio_socket.close() + + def _convert_socket_error(self, exc: BaseException) -> NoReturn: + if isinstance(exc, trio.ClosedResourceError): + raise ClosedResourceError from exc + elif self._trio_socket.fileno() < 0 and self._closed: + raise ClosedResourceError from None + elif isinstance(exc, OSError): + raise BrokenResourceError from exc + else: + raise exc + + +class SocketStream(_TrioSocketMixin, abc.SocketStream): + def __init__(self, trio_socket: TrioSocketType) -> None: + super().__init__(trio_socket) + self._receive_guard = ResourceGuard("reading from") + self._send_guard = ResourceGuard("writing to") + + async def receive(self, max_bytes: int = 65536) -> bytes: + with self._receive_guard: + try: + data = await self._trio_socket.recv(max_bytes) + except BaseException as exc: + self._convert_socket_error(exc) + + if data: + return data + else: + raise EndOfStream + + async def send(self, item: bytes) -> None: + with self._send_guard: + view = memoryview(item) + while view: + try: + bytes_sent = await self._trio_socket.send(view) + except BaseException as exc: + self._convert_socket_error(exc) + + view = view[bytes_sent:] + + async def send_eof(self) -> None: + self._trio_socket.shutdown(socket.SHUT_WR) + + +class UNIXSocketStream(SocketStream, abc.UNIXSocketStream): + async def receive_fds(self, msglen: int, maxfds: int) -> tuple[bytes, list[int]]: + if not isinstance(msglen, int) or msglen < 0: + raise ValueError("msglen must be a non-negative integer") + if not isinstance(maxfds, int) or maxfds < 1: + raise ValueError("maxfds must be a positive integer") + + fds = array.array("i") + await trio.lowlevel.checkpoint() + with self._receive_guard: + while True: + try: + message, ancdata, flags, addr = await self._trio_socket.recvmsg( + msglen, socket.CMSG_LEN(maxfds * fds.itemsize) + ) + except BaseException as exc: + self._convert_socket_error(exc) + else: + if not message and not ancdata: + raise EndOfStream + + break + + for cmsg_level, cmsg_type, cmsg_data in ancdata: + if cmsg_level != socket.SOL_SOCKET or cmsg_type != socket.SCM_RIGHTS: + raise RuntimeError( + f"Received unexpected ancillary data; message = {message!r}, " + f"cmsg_level = {cmsg_level}, cmsg_type = {cmsg_type}" + ) + + fds.frombytes(cmsg_data[: len(cmsg_data) - (len(cmsg_data) % fds.itemsize)]) + + return message, list(fds) + + async def send_fds(self, message: bytes, fds: Collection[int | IOBase]) -> None: + if not message: + raise ValueError("message must not be empty") + if not fds: + raise ValueError("fds must not be empty") + + filenos: list[int] = [] + for fd in fds: + if isinstance(fd, int): + filenos.append(fd) + elif isinstance(fd, IOBase): + filenos.append(fd.fileno()) + + fdarray = array.array("i", filenos) + await trio.lowlevel.checkpoint() + with self._send_guard: + while True: + try: + await self._trio_socket.sendmsg( + [message], + [ + ( + socket.SOL_SOCKET, + socket.SCM_RIGHTS, + fdarray, + ) + ], + ) + break + except BaseException as exc: + self._convert_socket_error(exc) + + +class TCPSocketListener(_TrioSocketMixin, abc.SocketListener): + def __init__(self, raw_socket: socket.socket): + super().__init__(trio.socket.from_stdlib_socket(raw_socket)) + self._accept_guard = ResourceGuard("accepting connections from") + + async def accept(self) -> SocketStream: + with self._accept_guard: + try: + trio_socket, _addr = await self._trio_socket.accept() + except BaseException as exc: + self._convert_socket_error(exc) + + trio_socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) + return SocketStream(trio_socket) + + +class UNIXSocketListener(_TrioSocketMixin, abc.SocketListener): + def __init__(self, raw_socket: socket.socket): + super().__init__(trio.socket.from_stdlib_socket(raw_socket)) + self._accept_guard = ResourceGuard("accepting connections from") + + async def accept(self) -> UNIXSocketStream: + with self._accept_guard: + try: + trio_socket, _addr = await self._trio_socket.accept() + except BaseException as exc: + self._convert_socket_error(exc) + + return UNIXSocketStream(trio_socket) + + +class UDPSocket(_TrioSocketMixin[IPSockAddrType], abc.UDPSocket): + def __init__(self, trio_socket: TrioSocketType) -> None: + super().__init__(trio_socket) + self._receive_guard = ResourceGuard("reading from") + self._send_guard = ResourceGuard("writing to") + + async def receive(self) -> tuple[bytes, IPSockAddrType]: + with self._receive_guard: + try: + data, addr = await self._trio_socket.recvfrom(65536) + return data, convert_ipv6_sockaddr(addr) + except BaseException as exc: + self._convert_socket_error(exc) + + async def send(self, item: UDPPacketType) -> None: + with self._send_guard: + try: + await self._trio_socket.sendto(*item) + except BaseException as exc: + self._convert_socket_error(exc) + + +class ConnectedUDPSocket(_TrioSocketMixin[IPSockAddrType], abc.ConnectedUDPSocket): + def __init__(self, trio_socket: TrioSocketType) -> None: + super().__init__(trio_socket) + self._receive_guard = ResourceGuard("reading from") + self._send_guard = ResourceGuard("writing to") + + async def receive(self) -> bytes: + with self._receive_guard: + try: + return await self._trio_socket.recv(65536) + except BaseException as exc: + self._convert_socket_error(exc) + + async def send(self, item: bytes) -> None: + with self._send_guard: + try: + await self._trio_socket.send(item) + except BaseException as exc: + self._convert_socket_error(exc) + + +class UNIXDatagramSocket(_TrioSocketMixin[str], abc.UNIXDatagramSocket): + def __init__(self, trio_socket: TrioSocketType) -> None: + super().__init__(trio_socket) + self._receive_guard = ResourceGuard("reading from") + self._send_guard = ResourceGuard("writing to") + + async def receive(self) -> UNIXDatagramPacketType: + with self._receive_guard: + try: + data, addr = await self._trio_socket.recvfrom(65536) + return data, addr + except BaseException as exc: + self._convert_socket_error(exc) + + async def send(self, item: UNIXDatagramPacketType) -> None: + with self._send_guard: + try: + await self._trio_socket.sendto(*item) + except BaseException as exc: + self._convert_socket_error(exc) + + +class ConnectedUNIXDatagramSocket( + _TrioSocketMixin[str], abc.ConnectedUNIXDatagramSocket +): + def __init__(self, trio_socket: TrioSocketType) -> None: + super().__init__(trio_socket) + self._receive_guard = ResourceGuard("reading from") + self._send_guard = ResourceGuard("writing to") + + async def receive(self) -> bytes: + with self._receive_guard: + try: + return await self._trio_socket.recv(65536) + except BaseException as exc: + self._convert_socket_error(exc) + + async def send(self, item: bytes) -> None: + with self._send_guard: + try: + await self._trio_socket.send(item) + except BaseException as exc: + self._convert_socket_error(exc) + + +# +# Synchronization +# + + +class Event(BaseEvent): + def __new__(cls) -> Event: + return object.__new__(cls) + + def __init__(self) -> None: + self.__original = trio.Event() + + def is_set(self) -> bool: + return self.__original.is_set() + + async def wait(self) -> None: + return await self.__original.wait() + + def statistics(self) -> EventStatistics: + orig_statistics = self.__original.statistics() + return EventStatistics(tasks_waiting=orig_statistics.tasks_waiting) + + def set(self) -> None: + self.__original.set() + + +class Lock(BaseLock): + def __new__(cls, *, fast_acquire: bool = False) -> Lock: + return object.__new__(cls) + + def __init__(self, *, fast_acquire: bool = False) -> None: + self._fast_acquire = fast_acquire + self.__original = trio.Lock() + + @staticmethod + def _convert_runtime_error_msg(exc: RuntimeError) -> None: + if exc.args == ("attempt to re-acquire an already held Lock",): + exc.args = ("Attempted to acquire an already held Lock",) + + async def acquire(self) -> None: + if not self._fast_acquire: + try: + await self.__original.acquire() + except RuntimeError as exc: + self._convert_runtime_error_msg(exc) + raise + + return + + # This is the "fast path" where we don't let other tasks run + await trio.lowlevel.checkpoint_if_cancelled() + try: + self.__original.acquire_nowait() + except trio.WouldBlock: + await self.__original._lot.park() + except RuntimeError as exc: + self._convert_runtime_error_msg(exc) + raise + + def acquire_nowait(self) -> None: + try: + self.__original.acquire_nowait() + except trio.WouldBlock: + raise WouldBlock from None + except RuntimeError as exc: + self._convert_runtime_error_msg(exc) + raise + + def locked(self) -> bool: + return self.__original.locked() + + def release(self) -> None: + self.__original.release() + + def statistics(self) -> LockStatistics: + orig_statistics = self.__original.statistics() + owner = TrioTaskInfo(orig_statistics.owner) if orig_statistics.owner else None + return LockStatistics( + orig_statistics.locked, owner, orig_statistics.tasks_waiting + ) + + +class Semaphore(BaseSemaphore): + def __new__( + cls, + initial_value: int, + *, + max_value: int | None = None, + fast_acquire: bool = False, + ) -> Semaphore: + return object.__new__(cls) + + def __init__( + self, + initial_value: int, + *, + max_value: int | None = None, + fast_acquire: bool = False, + ) -> None: + super().__init__(initial_value, max_value=max_value, fast_acquire=fast_acquire) + self.__original = trio.Semaphore(initial_value, max_value=max_value) + + async def acquire(self) -> None: + if not self._fast_acquire: + await self.__original.acquire() + return + + # This is the "fast path" where we don't let other tasks run + await trio.lowlevel.checkpoint_if_cancelled() + try: + self.__original.acquire_nowait() + except trio.WouldBlock: + await self.__original._lot.park() + + def acquire_nowait(self) -> None: + try: + self.__original.acquire_nowait() + except trio.WouldBlock: + raise WouldBlock from None + + @property + def max_value(self) -> int | None: + return self.__original.max_value + + @property + def value(self) -> int: + return self.__original.value + + def release(self) -> None: + self.__original.release() + + def statistics(self) -> SemaphoreStatistics: + orig_statistics = self.__original.statistics() + return SemaphoreStatistics(orig_statistics.tasks_waiting) + + +class CapacityLimiter(BaseCapacityLimiter): + def __new__( + cls, + total_tokens: float | None = None, + *, + original: trio.CapacityLimiter | None = None, + ) -> CapacityLimiter: + return object.__new__(cls) + + def __init__( + self, + total_tokens: float | None = None, + *, + original: trio.CapacityLimiter | None = None, + ) -> None: + if original is not None: + self.__original = original + else: + assert total_tokens is not None + self.__original = trio.CapacityLimiter(total_tokens) + + async def __aenter__(self) -> None: + return await self.__original.__aenter__() + + async def __aexit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> None: + await self.__original.__aexit__(exc_type, exc_val, exc_tb) + + @property + def total_tokens(self) -> float: + return self.__original.total_tokens + + @total_tokens.setter + def total_tokens(self, value: float) -> None: + self.__original.total_tokens = value + + @property + def borrowed_tokens(self) -> int: + return self.__original.borrowed_tokens + + @property + def available_tokens(self) -> float: + return self.__original.available_tokens + + def acquire_nowait(self) -> None: + self.__original.acquire_nowait() + + def acquire_on_behalf_of_nowait(self, borrower: object) -> None: + self.__original.acquire_on_behalf_of_nowait(borrower) + + async def acquire(self) -> None: + await self.__original.acquire() + + async def acquire_on_behalf_of(self, borrower: object) -> None: + await self.__original.acquire_on_behalf_of(borrower) + + def release(self) -> None: + return self.__original.release() + + def release_on_behalf_of(self, borrower: object) -> None: + return self.__original.release_on_behalf_of(borrower) + + def statistics(self) -> CapacityLimiterStatistics: + orig = self.__original.statistics() + return CapacityLimiterStatistics( + borrowed_tokens=orig.borrowed_tokens, + total_tokens=orig.total_tokens, + borrowers=tuple(orig.borrowers), + tasks_waiting=orig.tasks_waiting, + ) + + +_capacity_limiter_wrapper: trio.lowlevel.RunVar = RunVar("_capacity_limiter_wrapper") + + +# +# Signal handling +# + + +class _SignalReceiver: + _iterator: AsyncIterator[int] + + def __init__(self, signals: tuple[Signals, ...]): + self._signals = signals + + def __enter__(self) -> _SignalReceiver: + self._cm = trio.open_signal_receiver(*self._signals) + self._iterator = self._cm.__enter__() + return self + + def __exit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> bool | None: + return self._cm.__exit__(exc_type, exc_val, exc_tb) + + def __aiter__(self) -> _SignalReceiver: + return self + + async def __anext__(self) -> Signals: + signum = await self._iterator.__anext__() + return Signals(signum) + + +# +# Testing and debugging +# + + +class TestRunner(abc.TestRunner): + def __init__(self, **options: Any) -> None: + from queue import Queue + + self._call_queue: Queue[Callable[[], object]] = Queue() + self._send_stream: MemoryObjectSendStream | None = None + self._options = options + + def __exit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: types.TracebackType | None, + ) -> None: + if self._send_stream: + self._send_stream.close() + while self._send_stream is not None: + self._call_queue.get()() + + async def _run_tests_and_fixtures(self) -> None: + self._send_stream, receive_stream = create_memory_object_stream(1) + with receive_stream: + async for coro, outcome_holder in receive_stream: + try: + retval = await coro + except BaseException as exc: + outcome_holder.append(Error(exc)) + else: + outcome_holder.append(Value(retval)) + + def _main_task_finished(self, outcome: object) -> None: + self._send_stream = None + + def _call_in_runner_task( + self, + func: Callable[P, Awaitable[T_Retval]], + *args: P.args, + **kwargs: P.kwargs, + ) -> T_Retval: + if self._send_stream is None: + trio.lowlevel.start_guest_run( + self._run_tests_and_fixtures, + run_sync_soon_threadsafe=self._call_queue.put, + done_callback=self._main_task_finished, + **self._options, + ) + while self._send_stream is None: + self._call_queue.get()() + + outcome_holder: list[Outcome] = [] + self._send_stream.send_nowait((func(*args, **kwargs), outcome_holder)) + while not outcome_holder: + self._call_queue.get()() + + return outcome_holder[0].unwrap() + + def run_asyncgen_fixture( + self, + fixture_func: Callable[..., AsyncGenerator[T_Retval, Any]], + kwargs: dict[str, Any], + ) -> Iterable[T_Retval]: + asyncgen = fixture_func(**kwargs) + fixturevalue: T_Retval = self._call_in_runner_task(asyncgen.asend, None) + + yield fixturevalue + + try: + self._call_in_runner_task(asyncgen.asend, None) + except StopAsyncIteration: + pass + else: + self._call_in_runner_task(asyncgen.aclose) + raise RuntimeError("Async generator fixture did not stop") + + def run_fixture( + self, + fixture_func: Callable[..., Coroutine[Any, Any, T_Retval]], + kwargs: dict[str, Any], + ) -> T_Retval: + return self._call_in_runner_task(fixture_func, **kwargs) + + def run_test( + self, test_func: Callable[..., Coroutine[Any, Any, Any]], kwargs: dict[str, Any] + ) -> None: + self._call_in_runner_task(test_func, **kwargs) + + +class TrioTaskInfo(TaskInfo): + def __init__(self, task: trio.lowlevel.Task): + parent_id = None + if task.parent_nursery and task.parent_nursery.parent_task: + parent_id = id(task.parent_nursery.parent_task) + + super().__init__(id(task), parent_id, task.name, task.coro) + self._task = weakref.proxy(task) + + def has_pending_cancellation(self) -> bool: + try: + return self._task._cancel_status.effectively_cancelled + except ReferenceError: + # If the task is no longer around, it surely doesn't have a cancellation + # pending + return False + + +class TrioBackend(AsyncBackend): + @classmethod + def run( + cls, + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], + args: tuple[Unpack[PosArgsT]], + kwargs: dict[str, Any], + options: dict[str, Any], + ) -> T_Retval: + return trio.run(func, *args) + + @classmethod + def current_token(cls) -> object: + return trio.lowlevel.current_trio_token() + + @classmethod + def current_time(cls) -> float: + return trio.current_time() + + @classmethod + def cancelled_exception_class(cls) -> type[BaseException]: + return trio.Cancelled + + @classmethod + async def checkpoint(cls) -> None: + await trio.lowlevel.checkpoint() + + @classmethod + async def checkpoint_if_cancelled(cls) -> None: + await trio.lowlevel.checkpoint_if_cancelled() + + @classmethod + async def cancel_shielded_checkpoint(cls) -> None: + await trio.lowlevel.cancel_shielded_checkpoint() + + @classmethod + async def sleep(cls, delay: float) -> None: + await trio.sleep(delay) + + @classmethod + def create_cancel_scope( + cls, *, deadline: float = math.inf, shield: bool = False + ) -> abc.CancelScope: + return CancelScope(deadline=deadline, shield=shield) + + @classmethod + def current_effective_deadline(cls) -> float: + return trio.current_effective_deadline() + + @classmethod + def create_task_group(cls) -> abc.TaskGroup: + return TaskGroup() + + @classmethod + def create_event(cls) -> abc.Event: + return Event() + + @classmethod + def create_lock(cls, *, fast_acquire: bool) -> Lock: + return Lock(fast_acquire=fast_acquire) + + @classmethod + def create_semaphore( + cls, + initial_value: int, + *, + max_value: int | None = None, + fast_acquire: bool = False, + ) -> abc.Semaphore: + return Semaphore(initial_value, max_value=max_value, fast_acquire=fast_acquire) + + @classmethod + def create_capacity_limiter(cls, total_tokens: float) -> CapacityLimiter: + return CapacityLimiter(total_tokens) + + @classmethod + async def run_sync_in_worker_thread( + cls, + func: Callable[[Unpack[PosArgsT]], T_Retval], + args: tuple[Unpack[PosArgsT]], + abandon_on_cancel: bool = False, + limiter: abc.CapacityLimiter | None = None, + ) -> T_Retval: + def wrapper() -> T_Retval: + with claim_worker_thread(TrioBackend, token): + return func(*args) + + token = TrioBackend.current_token() + return await run_sync( + wrapper, + abandon_on_cancel=abandon_on_cancel, + limiter=cast(trio.CapacityLimiter, limiter), + ) + + @classmethod + def check_cancelled(cls) -> None: + trio.from_thread.check_cancelled() + + @classmethod + def run_async_from_thread( + cls, + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], + args: tuple[Unpack[PosArgsT]], + token: object, + ) -> T_Retval: + return trio.from_thread.run(func, *args) + + @classmethod + def run_sync_from_thread( + cls, + func: Callable[[Unpack[PosArgsT]], T_Retval], + args: tuple[Unpack[PosArgsT]], + token: object, + ) -> T_Retval: + return trio.from_thread.run_sync(func, *args) + + @classmethod + def create_blocking_portal(cls) -> abc.BlockingPortal: + return BlockingPortal() + + @classmethod + async def open_process( + cls, + command: StrOrBytesPath | Sequence[StrOrBytesPath], + *, + stdin: int | IO[Any] | None, + stdout: int | IO[Any] | None, + stderr: int | IO[Any] | None, + **kwargs: Any, + ) -> Process: + def convert_item(item: StrOrBytesPath) -> str: + str_or_bytes = os.fspath(item) + if isinstance(str_or_bytes, str): + return str_or_bytes + else: + return os.fsdecode(str_or_bytes) + + if isinstance(command, (str, bytes, PathLike)): + process = await trio.lowlevel.open_process( + convert_item(command), + stdin=stdin, + stdout=stdout, + stderr=stderr, + shell=True, + **kwargs, + ) + else: + process = await trio.lowlevel.open_process( + [convert_item(item) for item in command], + stdin=stdin, + stdout=stdout, + stderr=stderr, + shell=False, + **kwargs, + ) + + stdin_stream = SendStreamWrapper(process.stdin) if process.stdin else None + stdout_stream = ReceiveStreamWrapper(process.stdout) if process.stdout else None + stderr_stream = ReceiveStreamWrapper(process.stderr) if process.stderr else None + return Process(process, stdin_stream, stdout_stream, stderr_stream) + + @classmethod + def setup_process_pool_exit_at_shutdown(cls, workers: set[abc.Process]) -> None: + trio.lowlevel.spawn_system_task(_shutdown_process_pool, workers) + + @classmethod + async def connect_tcp( + cls, host: str, port: int, local_address: IPSockAddrType | None = None + ) -> SocketStream: + family = socket.AF_INET6 if ":" in host else socket.AF_INET + trio_socket = trio.socket.socket(family) + trio_socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) + if local_address: + await trio_socket.bind(local_address) + + try: + await trio_socket.connect((host, port)) + except BaseException: + trio_socket.close() + raise + + return SocketStream(trio_socket) + + @classmethod + async def connect_unix(cls, path: str | bytes) -> abc.UNIXSocketStream: + trio_socket = trio.socket.socket(socket.AF_UNIX) + try: + await trio_socket.connect(path) + except BaseException: + trio_socket.close() + raise + + return UNIXSocketStream(trio_socket) + + @classmethod + def create_tcp_listener(cls, sock: socket.socket) -> abc.SocketListener: + return TCPSocketListener(sock) + + @classmethod + def create_unix_listener(cls, sock: socket.socket) -> abc.SocketListener: + return UNIXSocketListener(sock) + + @classmethod + async def create_udp_socket( + cls, + family: socket.AddressFamily, + local_address: IPSockAddrType | None, + remote_address: IPSockAddrType | None, + reuse_port: bool, + ) -> UDPSocket | ConnectedUDPSocket: + trio_socket = trio.socket.socket(family=family, type=socket.SOCK_DGRAM) + + if reuse_port: + trio_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) + + if local_address: + await trio_socket.bind(local_address) + + if remote_address: + await trio_socket.connect(remote_address) + return ConnectedUDPSocket(trio_socket) + else: + return UDPSocket(trio_socket) + + @classmethod + @overload + async def create_unix_datagram_socket( + cls, raw_socket: socket.socket, remote_path: None + ) -> abc.UNIXDatagramSocket: ... + + @classmethod + @overload + async def create_unix_datagram_socket( + cls, raw_socket: socket.socket, remote_path: str | bytes + ) -> abc.ConnectedUNIXDatagramSocket: ... + + @classmethod + async def create_unix_datagram_socket( + cls, raw_socket: socket.socket, remote_path: str | bytes | None + ) -> abc.UNIXDatagramSocket | abc.ConnectedUNIXDatagramSocket: + trio_socket = trio.socket.from_stdlib_socket(raw_socket) + + if remote_path: + await trio_socket.connect(remote_path) + return ConnectedUNIXDatagramSocket(trio_socket) + else: + return UNIXDatagramSocket(trio_socket) + + @classmethod + async def getaddrinfo( + cls, + host: bytes | str | None, + port: str | int | None, + *, + family: int | AddressFamily = 0, + type: int | SocketKind = 0, + proto: int = 0, + flags: int = 0, + ) -> list[ + tuple[ + AddressFamily, + SocketKind, + int, + str, + tuple[str, int] | tuple[str, int, int, int], + ] + ]: + return await trio.socket.getaddrinfo(host, port, family, type, proto, flags) + + @classmethod + async def getnameinfo( + cls, sockaddr: IPSockAddrType, flags: int = 0 + ) -> tuple[str, str]: + return await trio.socket.getnameinfo(sockaddr, flags) + + @classmethod + async def wait_socket_readable(cls, sock: socket.socket) -> None: + try: + await wait_readable(sock) + except trio.ClosedResourceError as exc: + raise ClosedResourceError().with_traceback(exc.__traceback__) from None + except trio.BusyResourceError: + raise BusyResourceError("reading from") from None + + @classmethod + async def wait_socket_writable(cls, sock: socket.socket) -> None: + try: + await wait_writable(sock) + except trio.ClosedResourceError as exc: + raise ClosedResourceError().with_traceback(exc.__traceback__) from None + except trio.BusyResourceError: + raise BusyResourceError("writing to") from None + + @classmethod + def current_default_thread_limiter(cls) -> CapacityLimiter: + try: + return _capacity_limiter_wrapper.get() + except LookupError: + limiter = CapacityLimiter( + original=trio.to_thread.current_default_thread_limiter() + ) + _capacity_limiter_wrapper.set(limiter) + return limiter + + @classmethod + def open_signal_receiver( + cls, *signals: Signals + ) -> AbstractContextManager[AsyncIterator[Signals]]: + return _SignalReceiver(signals) + + @classmethod + def get_current_task(cls) -> TaskInfo: + task = current_task() + return TrioTaskInfo(task) + + @classmethod + def get_running_tasks(cls) -> Sequence[TaskInfo]: + root_task = current_root_task() + assert root_task + task_infos = [TrioTaskInfo(root_task)] + nurseries = root_task.child_nurseries + while nurseries: + new_nurseries: list[trio.Nursery] = [] + for nursery in nurseries: + for task in nursery.child_tasks: + task_infos.append(TrioTaskInfo(task)) + new_nurseries.extend(task.child_nurseries) + + nurseries = new_nurseries + + return task_infos + + @classmethod + async def wait_all_tasks_blocked(cls) -> None: + from trio.testing import wait_all_tasks_blocked + + await wait_all_tasks_blocked() + + @classmethod + def create_test_runner(cls, options: dict[str, Any]) -> TestRunner: + return TestRunner(**options) + + +backend_class = TrioBackend diff --git a/venv/Lib/site-packages/anyio/_core/__init__.py b/venv/Lib/site-packages/anyio/_core/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/venv/Lib/site-packages/anyio/_core/__pycache__/__init__.cpython-39.pyc b/venv/Lib/site-packages/anyio/_core/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..4aa86176 Binary files /dev/null and b/venv/Lib/site-packages/anyio/_core/__pycache__/__init__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/_core/__pycache__/_eventloop.cpython-39.pyc b/venv/Lib/site-packages/anyio/_core/__pycache__/_eventloop.cpython-39.pyc new file mode 100644 index 00000000..2983bea7 Binary files /dev/null and b/venv/Lib/site-packages/anyio/_core/__pycache__/_eventloop.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/_core/__pycache__/_exceptions.cpython-39.pyc b/venv/Lib/site-packages/anyio/_core/__pycache__/_exceptions.cpython-39.pyc new file mode 100644 index 00000000..7fd7cb64 Binary files /dev/null and b/venv/Lib/site-packages/anyio/_core/__pycache__/_exceptions.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/_core/__pycache__/_fileio.cpython-39.pyc b/venv/Lib/site-packages/anyio/_core/__pycache__/_fileio.cpython-39.pyc new file mode 100644 index 00000000..48d466d3 Binary files /dev/null and b/venv/Lib/site-packages/anyio/_core/__pycache__/_fileio.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/_core/__pycache__/_resources.cpython-39.pyc b/venv/Lib/site-packages/anyio/_core/__pycache__/_resources.cpython-39.pyc new file mode 100644 index 00000000..dc538da3 Binary files /dev/null and b/venv/Lib/site-packages/anyio/_core/__pycache__/_resources.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/_core/__pycache__/_signals.cpython-39.pyc b/venv/Lib/site-packages/anyio/_core/__pycache__/_signals.cpython-39.pyc new file mode 100644 index 00000000..f5ece352 Binary files /dev/null and b/venv/Lib/site-packages/anyio/_core/__pycache__/_signals.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/_core/__pycache__/_sockets.cpython-39.pyc b/venv/Lib/site-packages/anyio/_core/__pycache__/_sockets.cpython-39.pyc new file mode 100644 index 00000000..fdd22ff1 Binary files /dev/null and b/venv/Lib/site-packages/anyio/_core/__pycache__/_sockets.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/_core/__pycache__/_streams.cpython-39.pyc b/venv/Lib/site-packages/anyio/_core/__pycache__/_streams.cpython-39.pyc new file mode 100644 index 00000000..7ef849f4 Binary files /dev/null and b/venv/Lib/site-packages/anyio/_core/__pycache__/_streams.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/_core/__pycache__/_subprocesses.cpython-39.pyc b/venv/Lib/site-packages/anyio/_core/__pycache__/_subprocesses.cpython-39.pyc new file mode 100644 index 00000000..d6fcb2e7 Binary files /dev/null and b/venv/Lib/site-packages/anyio/_core/__pycache__/_subprocesses.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/_core/__pycache__/_synchronization.cpython-39.pyc b/venv/Lib/site-packages/anyio/_core/__pycache__/_synchronization.cpython-39.pyc new file mode 100644 index 00000000..6998d4a2 Binary files /dev/null and b/venv/Lib/site-packages/anyio/_core/__pycache__/_synchronization.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/_core/__pycache__/_tasks.cpython-39.pyc b/venv/Lib/site-packages/anyio/_core/__pycache__/_tasks.cpython-39.pyc new file mode 100644 index 00000000..d05cef3c Binary files /dev/null and b/venv/Lib/site-packages/anyio/_core/__pycache__/_tasks.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/_core/__pycache__/_testing.cpython-39.pyc b/venv/Lib/site-packages/anyio/_core/__pycache__/_testing.cpython-39.pyc new file mode 100644 index 00000000..01231df5 Binary files /dev/null and b/venv/Lib/site-packages/anyio/_core/__pycache__/_testing.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/_core/__pycache__/_typedattr.cpython-39.pyc b/venv/Lib/site-packages/anyio/_core/__pycache__/_typedattr.cpython-39.pyc new file mode 100644 index 00000000..30c05299 Binary files /dev/null and b/venv/Lib/site-packages/anyio/_core/__pycache__/_typedattr.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/_core/_eventloop.py b/venv/Lib/site-packages/anyio/_core/_eventloop.py new file mode 100644 index 00000000..6dcb4589 --- /dev/null +++ b/venv/Lib/site-packages/anyio/_core/_eventloop.py @@ -0,0 +1,166 @@ +from __future__ import annotations + +import math +import sys +import threading +from collections.abc import Awaitable, Callable, Generator +from contextlib import contextmanager +from importlib import import_module +from typing import TYPE_CHECKING, Any, TypeVar + +import sniffio + +if sys.version_info >= (3, 11): + from typing import TypeVarTuple, Unpack +else: + from typing_extensions import TypeVarTuple, Unpack + +if TYPE_CHECKING: + from ..abc import AsyncBackend + +# This must be updated when new backends are introduced +BACKENDS = "asyncio", "trio" + +T_Retval = TypeVar("T_Retval") +PosArgsT = TypeVarTuple("PosArgsT") + +threadlocals = threading.local() +loaded_backends: dict[str, type[AsyncBackend]] = {} + + +def run( + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], + *args: Unpack[PosArgsT], + backend: str = "asyncio", + backend_options: dict[str, Any] | None = None, +) -> T_Retval: + """ + Run the given coroutine function in an asynchronous event loop. + + The current thread must not be already running an event loop. + + :param func: a coroutine function + :param args: positional arguments to ``func`` + :param backend: name of the asynchronous event loop implementation – currently + either ``asyncio`` or ``trio`` + :param backend_options: keyword arguments to call the backend ``run()`` + implementation with (documented :ref:`here `) + :return: the return value of the coroutine function + :raises RuntimeError: if an asynchronous event loop is already running in this + thread + :raises LookupError: if the named backend is not found + + """ + try: + asynclib_name = sniffio.current_async_library() + except sniffio.AsyncLibraryNotFoundError: + pass + else: + raise RuntimeError(f"Already running {asynclib_name} in this thread") + + try: + async_backend = get_async_backend(backend) + except ImportError as exc: + raise LookupError(f"No such backend: {backend}") from exc + + token = None + if sniffio.current_async_library_cvar.get(None) is None: + # Since we're in control of the event loop, we can cache the name of the async + # library + token = sniffio.current_async_library_cvar.set(backend) + + try: + backend_options = backend_options or {} + return async_backend.run(func, args, {}, backend_options) + finally: + if token: + sniffio.current_async_library_cvar.reset(token) + + +async def sleep(delay: float) -> None: + """ + Pause the current task for the specified duration. + + :param delay: the duration, in seconds + + """ + return await get_async_backend().sleep(delay) + + +async def sleep_forever() -> None: + """ + Pause the current task until it's cancelled. + + This is a shortcut for ``sleep(math.inf)``. + + .. versionadded:: 3.1 + + """ + await sleep(math.inf) + + +async def sleep_until(deadline: float) -> None: + """ + Pause the current task until the given time. + + :param deadline: the absolute time to wake up at (according to the internal + monotonic clock of the event loop) + + .. versionadded:: 3.1 + + """ + now = current_time() + await sleep(max(deadline - now, 0)) + + +def current_time() -> float: + """ + Return the current value of the event loop's internal clock. + + :return: the clock value (seconds) + + """ + return get_async_backend().current_time() + + +def get_all_backends() -> tuple[str, ...]: + """Return a tuple of the names of all built-in backends.""" + return BACKENDS + + +def get_cancelled_exc_class() -> type[BaseException]: + """Return the current async library's cancellation exception class.""" + return get_async_backend().cancelled_exception_class() + + +# +# Private API +# + + +@contextmanager +def claim_worker_thread( + backend_class: type[AsyncBackend], token: object +) -> Generator[Any, None, None]: + threadlocals.current_async_backend = backend_class + threadlocals.current_token = token + try: + yield + finally: + del threadlocals.current_async_backend + del threadlocals.current_token + + +def get_async_backend(asynclib_name: str | None = None) -> type[AsyncBackend]: + if asynclib_name is None: + asynclib_name = sniffio.current_async_library() + + # We use our own dict instead of sys.modules to get the already imported back-end + # class because the appropriate modules in sys.modules could potentially be only + # partially initialized + try: + return loaded_backends[asynclib_name] + except KeyError: + module = import_module(f"anyio._backends._{asynclib_name}") + loaded_backends[asynclib_name] = module.backend_class + return module.backend_class diff --git a/venv/Lib/site-packages/anyio/_core/_exceptions.py b/venv/Lib/site-packages/anyio/_core/_exceptions.py new file mode 100644 index 00000000..6e3f8ccc --- /dev/null +++ b/venv/Lib/site-packages/anyio/_core/_exceptions.py @@ -0,0 +1,89 @@ +from __future__ import annotations + +import sys +from collections.abc import Generator + +if sys.version_info < (3, 11): + from exceptiongroup import BaseExceptionGroup + + +class BrokenResourceError(Exception): + """ + Raised when trying to use a resource that has been rendered unusable due to external + causes (e.g. a send stream whose peer has disconnected). + """ + + +class BrokenWorkerProcess(Exception): + """ + Raised by :func:`run_sync_in_process` if the worker process terminates abruptly or + otherwise misbehaves. + """ + + +class BusyResourceError(Exception): + """ + Raised when two tasks are trying to read from or write to the same resource + concurrently. + """ + + def __init__(self, action: str): + super().__init__(f"Another task is already {action} this resource") + + +class ClosedResourceError(Exception): + """Raised when trying to use a resource that has been closed.""" + + +class DelimiterNotFound(Exception): + """ + Raised during + :meth:`~anyio.streams.buffered.BufferedByteReceiveStream.receive_until` if the + maximum number of bytes has been read without the delimiter being found. + """ + + def __init__(self, max_bytes: int) -> None: + super().__init__( + f"The delimiter was not found among the first {max_bytes} bytes" + ) + + +class EndOfStream(Exception): + """ + Raised when trying to read from a stream that has been closed from the other end. + """ + + +class IncompleteRead(Exception): + """ + Raised during + :meth:`~anyio.streams.buffered.BufferedByteReceiveStream.receive_exactly` or + :meth:`~anyio.streams.buffered.BufferedByteReceiveStream.receive_until` if the + connection is closed before the requested amount of bytes has been read. + """ + + def __init__(self) -> None: + super().__init__( + "The stream was closed before the read operation could be completed" + ) + + +class TypedAttributeLookupError(LookupError): + """ + Raised by :meth:`~anyio.TypedAttributeProvider.extra` when the given typed attribute + is not found and no default value has been given. + """ + + +class WouldBlock(Exception): + """Raised by ``X_nowait`` functions if ``X()`` would block.""" + + +def iterate_exceptions( + exception: BaseException, +) -> Generator[BaseException, None, None]: + if isinstance(exception, BaseExceptionGroup): + for exc in exception.exceptions: + yield from iterate_exceptions(exc) + else: + yield exception diff --git a/venv/Lib/site-packages/anyio/_core/_fileio.py b/venv/Lib/site-packages/anyio/_core/_fileio.py new file mode 100644 index 00000000..53d3288c --- /dev/null +++ b/venv/Lib/site-packages/anyio/_core/_fileio.py @@ -0,0 +1,674 @@ +from __future__ import annotations + +import os +import pathlib +import sys +from collections.abc import AsyncIterator, Callable, Iterable, Iterator, Sequence +from dataclasses import dataclass +from functools import partial +from os import PathLike +from typing import ( + IO, + TYPE_CHECKING, + Any, + AnyStr, + Final, + Generic, + overload, +) + +from .. import to_thread +from ..abc import AsyncResource + +if TYPE_CHECKING: + from _typeshed import OpenBinaryMode, OpenTextMode, ReadableBuffer, WriteableBuffer +else: + ReadableBuffer = OpenBinaryMode = OpenTextMode = WriteableBuffer = object + + +class AsyncFile(AsyncResource, Generic[AnyStr]): + """ + An asynchronous file object. + + This class wraps a standard file object and provides async friendly versions of the + following blocking methods (where available on the original file object): + + * read + * read1 + * readline + * readlines + * readinto + * readinto1 + * write + * writelines + * truncate + * seek + * tell + * flush + + All other methods are directly passed through. + + This class supports the asynchronous context manager protocol which closes the + underlying file at the end of the context block. + + This class also supports asynchronous iteration:: + + async with await open_file(...) as f: + async for line in f: + print(line) + """ + + def __init__(self, fp: IO[AnyStr]) -> None: + self._fp: Any = fp + + def __getattr__(self, name: str) -> object: + return getattr(self._fp, name) + + @property + def wrapped(self) -> IO[AnyStr]: + """The wrapped file object.""" + return self._fp + + async def __aiter__(self) -> AsyncIterator[AnyStr]: + while True: + line = await self.readline() + if line: + yield line + else: + break + + async def aclose(self) -> None: + return await to_thread.run_sync(self._fp.close) + + async def read(self, size: int = -1) -> AnyStr: + return await to_thread.run_sync(self._fp.read, size) + + async def read1(self: AsyncFile[bytes], size: int = -1) -> bytes: + return await to_thread.run_sync(self._fp.read1, size) + + async def readline(self) -> AnyStr: + return await to_thread.run_sync(self._fp.readline) + + async def readlines(self) -> list[AnyStr]: + return await to_thread.run_sync(self._fp.readlines) + + async def readinto(self: AsyncFile[bytes], b: WriteableBuffer) -> bytes: + return await to_thread.run_sync(self._fp.readinto, b) + + async def readinto1(self: AsyncFile[bytes], b: WriteableBuffer) -> bytes: + return await to_thread.run_sync(self._fp.readinto1, b) + + @overload + async def write(self: AsyncFile[bytes], b: ReadableBuffer) -> int: ... + + @overload + async def write(self: AsyncFile[str], b: str) -> int: ... + + async def write(self, b: ReadableBuffer | str) -> int: + return await to_thread.run_sync(self._fp.write, b) + + @overload + async def writelines( + self: AsyncFile[bytes], lines: Iterable[ReadableBuffer] + ) -> None: ... + + @overload + async def writelines(self: AsyncFile[str], lines: Iterable[str]) -> None: ... + + async def writelines(self, lines: Iterable[ReadableBuffer] | Iterable[str]) -> None: + return await to_thread.run_sync(self._fp.writelines, lines) + + async def truncate(self, size: int | None = None) -> int: + return await to_thread.run_sync(self._fp.truncate, size) + + async def seek(self, offset: int, whence: int | None = os.SEEK_SET) -> int: + return await to_thread.run_sync(self._fp.seek, offset, whence) + + async def tell(self) -> int: + return await to_thread.run_sync(self._fp.tell) + + async def flush(self) -> None: + return await to_thread.run_sync(self._fp.flush) + + +@overload +async def open_file( + file: str | PathLike[str] | int, + mode: OpenBinaryMode, + buffering: int = ..., + encoding: str | None = ..., + errors: str | None = ..., + newline: str | None = ..., + closefd: bool = ..., + opener: Callable[[str, int], int] | None = ..., +) -> AsyncFile[bytes]: ... + + +@overload +async def open_file( + file: str | PathLike[str] | int, + mode: OpenTextMode = ..., + buffering: int = ..., + encoding: str | None = ..., + errors: str | None = ..., + newline: str | None = ..., + closefd: bool = ..., + opener: Callable[[str, int], int] | None = ..., +) -> AsyncFile[str]: ... + + +async def open_file( + file: str | PathLike[str] | int, + mode: str = "r", + buffering: int = -1, + encoding: str | None = None, + errors: str | None = None, + newline: str | None = None, + closefd: bool = True, + opener: Callable[[str, int], int] | None = None, +) -> AsyncFile[Any]: + """ + Open a file asynchronously. + + The arguments are exactly the same as for the builtin :func:`open`. + + :return: an asynchronous file object + + """ + fp = await to_thread.run_sync( + open, file, mode, buffering, encoding, errors, newline, closefd, opener + ) + return AsyncFile(fp) + + +def wrap_file(file: IO[AnyStr]) -> AsyncFile[AnyStr]: + """ + Wrap an existing file as an asynchronous file. + + :param file: an existing file-like object + :return: an asynchronous file object + + """ + return AsyncFile(file) + + +@dataclass(eq=False) +class _PathIterator(AsyncIterator["Path"]): + iterator: Iterator[PathLike[str]] + + async def __anext__(self) -> Path: + nextval = await to_thread.run_sync( + next, self.iterator, None, abandon_on_cancel=True + ) + if nextval is None: + raise StopAsyncIteration from None + + return Path(nextval) + + +class Path: + """ + An asynchronous version of :class:`pathlib.Path`. + + This class cannot be substituted for :class:`pathlib.Path` or + :class:`pathlib.PurePath`, but it is compatible with the :class:`os.PathLike` + interface. + + It implements the Python 3.10 version of :class:`pathlib.Path` interface, except for + the deprecated :meth:`~pathlib.Path.link_to` method. + + Some methods may be unavailable or have limited functionality, based on the Python + version: + + * :meth:`~pathlib.Path.from_uri` (available on Python 3.13 or later) + * :meth:`~pathlib.Path.full_match` (available on Python 3.13 or later) + * :meth:`~pathlib.Path.is_junction` (available on Python 3.12 or later) + * :meth:`~pathlib.Path.match` (the ``case_sensitive`` paramater is only available on + Python 3.13 or later) + * :meth:`~pathlib.Path.relative_to` (the ``walk_up`` parameter is only available on + Python 3.12 or later) + * :meth:`~pathlib.Path.walk` (available on Python 3.12 or later) + + Any methods that do disk I/O need to be awaited on. These methods are: + + * :meth:`~pathlib.Path.absolute` + * :meth:`~pathlib.Path.chmod` + * :meth:`~pathlib.Path.cwd` + * :meth:`~pathlib.Path.exists` + * :meth:`~pathlib.Path.expanduser` + * :meth:`~pathlib.Path.group` + * :meth:`~pathlib.Path.hardlink_to` + * :meth:`~pathlib.Path.home` + * :meth:`~pathlib.Path.is_block_device` + * :meth:`~pathlib.Path.is_char_device` + * :meth:`~pathlib.Path.is_dir` + * :meth:`~pathlib.Path.is_fifo` + * :meth:`~pathlib.Path.is_file` + * :meth:`~pathlib.Path.is_junction` + * :meth:`~pathlib.Path.is_mount` + * :meth:`~pathlib.Path.is_socket` + * :meth:`~pathlib.Path.is_symlink` + * :meth:`~pathlib.Path.lchmod` + * :meth:`~pathlib.Path.lstat` + * :meth:`~pathlib.Path.mkdir` + * :meth:`~pathlib.Path.open` + * :meth:`~pathlib.Path.owner` + * :meth:`~pathlib.Path.read_bytes` + * :meth:`~pathlib.Path.read_text` + * :meth:`~pathlib.Path.readlink` + * :meth:`~pathlib.Path.rename` + * :meth:`~pathlib.Path.replace` + * :meth:`~pathlib.Path.resolve` + * :meth:`~pathlib.Path.rmdir` + * :meth:`~pathlib.Path.samefile` + * :meth:`~pathlib.Path.stat` + * :meth:`~pathlib.Path.symlink_to` + * :meth:`~pathlib.Path.touch` + * :meth:`~pathlib.Path.unlink` + * :meth:`~pathlib.Path.walk` + * :meth:`~pathlib.Path.write_bytes` + * :meth:`~pathlib.Path.write_text` + + Additionally, the following methods return an async iterator yielding + :class:`~.Path` objects: + + * :meth:`~pathlib.Path.glob` + * :meth:`~pathlib.Path.iterdir` + * :meth:`~pathlib.Path.rglob` + """ + + __slots__ = "_path", "__weakref__" + + __weakref__: Any + + def __init__(self, *args: str | PathLike[str]) -> None: + self._path: Final[pathlib.Path] = pathlib.Path(*args) + + def __fspath__(self) -> str: + return self._path.__fspath__() + + def __str__(self) -> str: + return self._path.__str__() + + def __repr__(self) -> str: + return f"{self.__class__.__name__}({self.as_posix()!r})" + + def __bytes__(self) -> bytes: + return self._path.__bytes__() + + def __hash__(self) -> int: + return self._path.__hash__() + + def __eq__(self, other: object) -> bool: + target = other._path if isinstance(other, Path) else other + return self._path.__eq__(target) + + def __lt__(self, other: pathlib.PurePath | Path) -> bool: + target = other._path if isinstance(other, Path) else other + return self._path.__lt__(target) + + def __le__(self, other: pathlib.PurePath | Path) -> bool: + target = other._path if isinstance(other, Path) else other + return self._path.__le__(target) + + def __gt__(self, other: pathlib.PurePath | Path) -> bool: + target = other._path if isinstance(other, Path) else other + return self._path.__gt__(target) + + def __ge__(self, other: pathlib.PurePath | Path) -> bool: + target = other._path if isinstance(other, Path) else other + return self._path.__ge__(target) + + def __truediv__(self, other: str | PathLike[str]) -> Path: + return Path(self._path / other) + + def __rtruediv__(self, other: str | PathLike[str]) -> Path: + return Path(other) / self + + @property + def parts(self) -> tuple[str, ...]: + return self._path.parts + + @property + def drive(self) -> str: + return self._path.drive + + @property + def root(self) -> str: + return self._path.root + + @property + def anchor(self) -> str: + return self._path.anchor + + @property + def parents(self) -> Sequence[Path]: + return tuple(Path(p) for p in self._path.parents) + + @property + def parent(self) -> Path: + return Path(self._path.parent) + + @property + def name(self) -> str: + return self._path.name + + @property + def suffix(self) -> str: + return self._path.suffix + + @property + def suffixes(self) -> list[str]: + return self._path.suffixes + + @property + def stem(self) -> str: + return self._path.stem + + async def absolute(self) -> Path: + path = await to_thread.run_sync(self._path.absolute) + return Path(path) + + def as_posix(self) -> str: + return self._path.as_posix() + + def as_uri(self) -> str: + return self._path.as_uri() + + if sys.version_info >= (3, 13): + parser = pathlib.Path.parser + + @classmethod + def from_uri(cls, uri: str) -> Path: + return Path(pathlib.Path.from_uri(uri)) + + def full_match( + self, path_pattern: str, *, case_sensitive: bool | None = None + ) -> bool: + return self._path.full_match(path_pattern, case_sensitive=case_sensitive) + + def match( + self, path_pattern: str, *, case_sensitive: bool | None = None + ) -> bool: + return self._path.match(path_pattern, case_sensitive=case_sensitive) + else: + + def match(self, path_pattern: str) -> bool: + return self._path.match(path_pattern) + + def is_relative_to(self, other: str | PathLike[str]) -> bool: + try: + self.relative_to(other) + return True + except ValueError: + return False + + async def chmod(self, mode: int, *, follow_symlinks: bool = True) -> None: + func = partial(os.chmod, follow_symlinks=follow_symlinks) + return await to_thread.run_sync(func, self._path, mode) + + @classmethod + async def cwd(cls) -> Path: + path = await to_thread.run_sync(pathlib.Path.cwd) + return cls(path) + + async def exists(self) -> bool: + return await to_thread.run_sync(self._path.exists, abandon_on_cancel=True) + + async def expanduser(self) -> Path: + return Path( + await to_thread.run_sync(self._path.expanduser, abandon_on_cancel=True) + ) + + def glob(self, pattern: str) -> AsyncIterator[Path]: + gen = self._path.glob(pattern) + return _PathIterator(gen) + + async def group(self) -> str: + return await to_thread.run_sync(self._path.group, abandon_on_cancel=True) + + async def hardlink_to( + self, target: str | bytes | PathLike[str] | PathLike[bytes] + ) -> None: + if isinstance(target, Path): + target = target._path + + await to_thread.run_sync(os.link, target, self) + + @classmethod + async def home(cls) -> Path: + home_path = await to_thread.run_sync(pathlib.Path.home) + return cls(home_path) + + def is_absolute(self) -> bool: + return self._path.is_absolute() + + async def is_block_device(self) -> bool: + return await to_thread.run_sync( + self._path.is_block_device, abandon_on_cancel=True + ) + + async def is_char_device(self) -> bool: + return await to_thread.run_sync( + self._path.is_char_device, abandon_on_cancel=True + ) + + async def is_dir(self) -> bool: + return await to_thread.run_sync(self._path.is_dir, abandon_on_cancel=True) + + async def is_fifo(self) -> bool: + return await to_thread.run_sync(self._path.is_fifo, abandon_on_cancel=True) + + async def is_file(self) -> bool: + return await to_thread.run_sync(self._path.is_file, abandon_on_cancel=True) + + if sys.version_info >= (3, 12): + + async def is_junction(self) -> bool: + return await to_thread.run_sync(self._path.is_junction) + + async def is_mount(self) -> bool: + return await to_thread.run_sync( + os.path.ismount, self._path, abandon_on_cancel=True + ) + + def is_reserved(self) -> bool: + return self._path.is_reserved() + + async def is_socket(self) -> bool: + return await to_thread.run_sync(self._path.is_socket, abandon_on_cancel=True) + + async def is_symlink(self) -> bool: + return await to_thread.run_sync(self._path.is_symlink, abandon_on_cancel=True) + + def iterdir(self) -> AsyncIterator[Path]: + gen = self._path.iterdir() + return _PathIterator(gen) + + def joinpath(self, *args: str | PathLike[str]) -> Path: + return Path(self._path.joinpath(*args)) + + async def lchmod(self, mode: int) -> None: + await to_thread.run_sync(self._path.lchmod, mode) + + async def lstat(self) -> os.stat_result: + return await to_thread.run_sync(self._path.lstat, abandon_on_cancel=True) + + async def mkdir( + self, mode: int = 0o777, parents: bool = False, exist_ok: bool = False + ) -> None: + await to_thread.run_sync(self._path.mkdir, mode, parents, exist_ok) + + @overload + async def open( + self, + mode: OpenBinaryMode, + buffering: int = ..., + encoding: str | None = ..., + errors: str | None = ..., + newline: str | None = ..., + ) -> AsyncFile[bytes]: ... + + @overload + async def open( + self, + mode: OpenTextMode = ..., + buffering: int = ..., + encoding: str | None = ..., + errors: str | None = ..., + newline: str | None = ..., + ) -> AsyncFile[str]: ... + + async def open( + self, + mode: str = "r", + buffering: int = -1, + encoding: str | None = None, + errors: str | None = None, + newline: str | None = None, + ) -> AsyncFile[Any]: + fp = await to_thread.run_sync( + self._path.open, mode, buffering, encoding, errors, newline + ) + return AsyncFile(fp) + + async def owner(self) -> str: + return await to_thread.run_sync(self._path.owner, abandon_on_cancel=True) + + async def read_bytes(self) -> bytes: + return await to_thread.run_sync(self._path.read_bytes) + + async def read_text( + self, encoding: str | None = None, errors: str | None = None + ) -> str: + return await to_thread.run_sync(self._path.read_text, encoding, errors) + + if sys.version_info >= (3, 12): + + def relative_to( + self, *other: str | PathLike[str], walk_up: bool = False + ) -> Path: + return Path(self._path.relative_to(*other, walk_up=walk_up)) + + else: + + def relative_to(self, *other: str | PathLike[str]) -> Path: + return Path(self._path.relative_to(*other)) + + async def readlink(self) -> Path: + target = await to_thread.run_sync(os.readlink, self._path) + return Path(target) + + async def rename(self, target: str | pathlib.PurePath | Path) -> Path: + if isinstance(target, Path): + target = target._path + + await to_thread.run_sync(self._path.rename, target) + return Path(target) + + async def replace(self, target: str | pathlib.PurePath | Path) -> Path: + if isinstance(target, Path): + target = target._path + + await to_thread.run_sync(self._path.replace, target) + return Path(target) + + async def resolve(self, strict: bool = False) -> Path: + func = partial(self._path.resolve, strict=strict) + return Path(await to_thread.run_sync(func, abandon_on_cancel=True)) + + def rglob(self, pattern: str) -> AsyncIterator[Path]: + gen = self._path.rglob(pattern) + return _PathIterator(gen) + + async def rmdir(self) -> None: + await to_thread.run_sync(self._path.rmdir) + + async def samefile(self, other_path: str | PathLike[str]) -> bool: + if isinstance(other_path, Path): + other_path = other_path._path + + return await to_thread.run_sync( + self._path.samefile, other_path, abandon_on_cancel=True + ) + + async def stat(self, *, follow_symlinks: bool = True) -> os.stat_result: + func = partial(os.stat, follow_symlinks=follow_symlinks) + return await to_thread.run_sync(func, self._path, abandon_on_cancel=True) + + async def symlink_to( + self, + target: str | bytes | PathLike[str] | PathLike[bytes], + target_is_directory: bool = False, + ) -> None: + if isinstance(target, Path): + target = target._path + + await to_thread.run_sync(self._path.symlink_to, target, target_is_directory) + + async def touch(self, mode: int = 0o666, exist_ok: bool = True) -> None: + await to_thread.run_sync(self._path.touch, mode, exist_ok) + + async def unlink(self, missing_ok: bool = False) -> None: + try: + await to_thread.run_sync(self._path.unlink) + except FileNotFoundError: + if not missing_ok: + raise + + if sys.version_info >= (3, 12): + + async def walk( + self, + top_down: bool = True, + on_error: Callable[[OSError], object] | None = None, + follow_symlinks: bool = False, + ) -> AsyncIterator[tuple[Path, list[str], list[str]]]: + def get_next_value() -> tuple[pathlib.Path, list[str], list[str]] | None: + try: + return next(gen) + except StopIteration: + return None + + gen = self._path.walk(top_down, on_error, follow_symlinks) + while True: + value = await to_thread.run_sync(get_next_value) + if value is None: + return + + root, dirs, paths = value + yield Path(root), dirs, paths + + def with_name(self, name: str) -> Path: + return Path(self._path.with_name(name)) + + def with_stem(self, stem: str) -> Path: + return Path(self._path.with_name(stem + self._path.suffix)) + + def with_suffix(self, suffix: str) -> Path: + return Path(self._path.with_suffix(suffix)) + + def with_segments(self, *pathsegments: str | PathLike[str]) -> Path: + return Path(*pathsegments) + + async def write_bytes(self, data: bytes) -> int: + return await to_thread.run_sync(self._path.write_bytes, data) + + async def write_text( + self, + data: str, + encoding: str | None = None, + errors: str | None = None, + newline: str | None = None, + ) -> int: + # Path.write_text() does not support the "newline" parameter before Python 3.10 + def sync_write_text() -> int: + with self._path.open( + "w", encoding=encoding, errors=errors, newline=newline + ) as fp: + return fp.write(data) + + return await to_thread.run_sync(sync_write_text) + + +PathLike.register(Path) diff --git a/venv/Lib/site-packages/anyio/_core/_resources.py b/venv/Lib/site-packages/anyio/_core/_resources.py new file mode 100644 index 00000000..b9a5344a --- /dev/null +++ b/venv/Lib/site-packages/anyio/_core/_resources.py @@ -0,0 +1,18 @@ +from __future__ import annotations + +from ..abc import AsyncResource +from ._tasks import CancelScope + + +async def aclose_forcefully(resource: AsyncResource) -> None: + """ + Close an asynchronous resource in a cancelled scope. + + Doing this closes the resource without waiting on anything. + + :param resource: the resource to close + + """ + with CancelScope() as scope: + scope.cancel() + await resource.aclose() diff --git a/venv/Lib/site-packages/anyio/_core/_signals.py b/venv/Lib/site-packages/anyio/_core/_signals.py new file mode 100644 index 00000000..f3451d30 --- /dev/null +++ b/venv/Lib/site-packages/anyio/_core/_signals.py @@ -0,0 +1,27 @@ +from __future__ import annotations + +from collections.abc import AsyncIterator +from contextlib import AbstractContextManager +from signal import Signals + +from ._eventloop import get_async_backend + + +def open_signal_receiver( + *signals: Signals, +) -> AbstractContextManager[AsyncIterator[Signals]]: + """ + Start receiving operating system signals. + + :param signals: signals to receive (e.g. ``signal.SIGINT``) + :return: an asynchronous context manager for an asynchronous iterator which yields + signal numbers + + .. warning:: Windows does not support signals natively so it is best to avoid + relying on this in cross-platform applications. + + .. warning:: On asyncio, this permanently replaces any previous signal handler for + the given signals, as set via :meth:`~asyncio.loop.add_signal_handler`. + + """ + return get_async_backend().open_signal_receiver(*signals) diff --git a/venv/Lib/site-packages/anyio/_core/_sockets.py b/venv/Lib/site-packages/anyio/_core/_sockets.py new file mode 100644 index 00000000..6070c647 --- /dev/null +++ b/venv/Lib/site-packages/anyio/_core/_sockets.py @@ -0,0 +1,718 @@ +from __future__ import annotations + +import errno +import os +import socket +import ssl +import stat +import sys +from collections.abc import Awaitable +from ipaddress import IPv6Address, ip_address +from os import PathLike, chmod +from socket import AddressFamily, SocketKind +from typing import Any, Literal, cast, overload + +from .. import to_thread +from ..abc import ( + ConnectedUDPSocket, + ConnectedUNIXDatagramSocket, + IPAddressType, + IPSockAddrType, + SocketListener, + SocketStream, + UDPSocket, + UNIXDatagramSocket, + UNIXSocketStream, +) +from ..streams.stapled import MultiListener +from ..streams.tls import TLSStream +from ._eventloop import get_async_backend +from ._resources import aclose_forcefully +from ._synchronization import Event +from ._tasks import create_task_group, move_on_after + +if sys.version_info < (3, 11): + from exceptiongroup import ExceptionGroup + +IPPROTO_IPV6 = getattr(socket, "IPPROTO_IPV6", 41) # https://bugs.python.org/issue29515 + +AnyIPAddressFamily = Literal[ + AddressFamily.AF_UNSPEC, AddressFamily.AF_INET, AddressFamily.AF_INET6 +] +IPAddressFamily = Literal[AddressFamily.AF_INET, AddressFamily.AF_INET6] + + +# tls_hostname given +@overload +async def connect_tcp( + remote_host: IPAddressType, + remote_port: int, + *, + local_host: IPAddressType | None = ..., + ssl_context: ssl.SSLContext | None = ..., + tls_standard_compatible: bool = ..., + tls_hostname: str, + happy_eyeballs_delay: float = ..., +) -> TLSStream: ... + + +# ssl_context given +@overload +async def connect_tcp( + remote_host: IPAddressType, + remote_port: int, + *, + local_host: IPAddressType | None = ..., + ssl_context: ssl.SSLContext, + tls_standard_compatible: bool = ..., + tls_hostname: str | None = ..., + happy_eyeballs_delay: float = ..., +) -> TLSStream: ... + + +# tls=True +@overload +async def connect_tcp( + remote_host: IPAddressType, + remote_port: int, + *, + local_host: IPAddressType | None = ..., + tls: Literal[True], + ssl_context: ssl.SSLContext | None = ..., + tls_standard_compatible: bool = ..., + tls_hostname: str | None = ..., + happy_eyeballs_delay: float = ..., +) -> TLSStream: ... + + +# tls=False +@overload +async def connect_tcp( + remote_host: IPAddressType, + remote_port: int, + *, + local_host: IPAddressType | None = ..., + tls: Literal[False], + ssl_context: ssl.SSLContext | None = ..., + tls_standard_compatible: bool = ..., + tls_hostname: str | None = ..., + happy_eyeballs_delay: float = ..., +) -> SocketStream: ... + + +# No TLS arguments +@overload +async def connect_tcp( + remote_host: IPAddressType, + remote_port: int, + *, + local_host: IPAddressType | None = ..., + happy_eyeballs_delay: float = ..., +) -> SocketStream: ... + + +async def connect_tcp( + remote_host: IPAddressType, + remote_port: int, + *, + local_host: IPAddressType | None = None, + tls: bool = False, + ssl_context: ssl.SSLContext | None = None, + tls_standard_compatible: bool = True, + tls_hostname: str | None = None, + happy_eyeballs_delay: float = 0.25, +) -> SocketStream | TLSStream: + """ + Connect to a host using the TCP protocol. + + This function implements the stateless version of the Happy Eyeballs algorithm (RFC + 6555). If ``remote_host`` is a host name that resolves to multiple IP addresses, + each one is tried until one connection attempt succeeds. If the first attempt does + not connected within 250 milliseconds, a second attempt is started using the next + address in the list, and so on. On IPv6 enabled systems, an IPv6 address (if + available) is tried first. + + When the connection has been established, a TLS handshake will be done if either + ``ssl_context`` or ``tls_hostname`` is not ``None``, or if ``tls`` is ``True``. + + :param remote_host: the IP address or host name to connect to + :param remote_port: port on the target host to connect to + :param local_host: the interface address or name to bind the socket to before + connecting + :param tls: ``True`` to do a TLS handshake with the connected stream and return a + :class:`~anyio.streams.tls.TLSStream` instead + :param ssl_context: the SSL context object to use (if omitted, a default context is + created) + :param tls_standard_compatible: If ``True``, performs the TLS shutdown handshake + before closing the stream and requires that the server does this as well. + Otherwise, :exc:`~ssl.SSLEOFError` may be raised during reads from the stream. + Some protocols, such as HTTP, require this option to be ``False``. + See :meth:`~ssl.SSLContext.wrap_socket` for details. + :param tls_hostname: host name to check the server certificate against (defaults to + the value of ``remote_host``) + :param happy_eyeballs_delay: delay (in seconds) before starting the next connection + attempt + :return: a socket stream object if no TLS handshake was done, otherwise a TLS stream + :raises OSError: if the connection attempt fails + + """ + # Placed here due to https://github.com/python/mypy/issues/7057 + connected_stream: SocketStream | None = None + + async def try_connect(remote_host: str, event: Event) -> None: + nonlocal connected_stream + try: + stream = await asynclib.connect_tcp(remote_host, remote_port, local_address) + except OSError as exc: + oserrors.append(exc) + return + else: + if connected_stream is None: + connected_stream = stream + tg.cancel_scope.cancel() + else: + await stream.aclose() + finally: + event.set() + + asynclib = get_async_backend() + local_address: IPSockAddrType | None = None + family = socket.AF_UNSPEC + if local_host: + gai_res = await getaddrinfo(str(local_host), None) + family, *_, local_address = gai_res[0] + + target_host = str(remote_host) + try: + addr_obj = ip_address(remote_host) + except ValueError: + # getaddrinfo() will raise an exception if name resolution fails + gai_res = await getaddrinfo( + target_host, remote_port, family=family, type=socket.SOCK_STREAM + ) + + # Organize the list so that the first address is an IPv6 address (if available) + # and the second one is an IPv4 addresses. The rest can be in whatever order. + v6_found = v4_found = False + target_addrs: list[tuple[socket.AddressFamily, str]] = [] + for af, *rest, sa in gai_res: + if af == socket.AF_INET6 and not v6_found: + v6_found = True + target_addrs.insert(0, (af, sa[0])) + elif af == socket.AF_INET and not v4_found and v6_found: + v4_found = True + target_addrs.insert(1, (af, sa[0])) + else: + target_addrs.append((af, sa[0])) + else: + if isinstance(addr_obj, IPv6Address): + target_addrs = [(socket.AF_INET6, addr_obj.compressed)] + else: + target_addrs = [(socket.AF_INET, addr_obj.compressed)] + + oserrors: list[OSError] = [] + async with create_task_group() as tg: + for i, (af, addr) in enumerate(target_addrs): + event = Event() + tg.start_soon(try_connect, addr, event) + with move_on_after(happy_eyeballs_delay): + await event.wait() + + if connected_stream is None: + cause = ( + oserrors[0] + if len(oserrors) == 1 + else ExceptionGroup("multiple connection attempts failed", oserrors) + ) + raise OSError("All connection attempts failed") from cause + + if tls or tls_hostname or ssl_context: + try: + return await TLSStream.wrap( + connected_stream, + server_side=False, + hostname=tls_hostname or str(remote_host), + ssl_context=ssl_context, + standard_compatible=tls_standard_compatible, + ) + except BaseException: + await aclose_forcefully(connected_stream) + raise + + return connected_stream + + +async def connect_unix(path: str | bytes | PathLike[Any]) -> UNIXSocketStream: + """ + Connect to the given UNIX socket. + + Not available on Windows. + + :param path: path to the socket + :return: a socket stream object + + """ + path = os.fspath(path) + return await get_async_backend().connect_unix(path) + + +async def create_tcp_listener( + *, + local_host: IPAddressType | None = None, + local_port: int = 0, + family: AnyIPAddressFamily = socket.AddressFamily.AF_UNSPEC, + backlog: int = 65536, + reuse_port: bool = False, +) -> MultiListener[SocketStream]: + """ + Create a TCP socket listener. + + :param local_port: port number to listen on + :param local_host: IP address of the interface to listen on. If omitted, listen on + all IPv4 and IPv6 interfaces. To listen on all interfaces on a specific address + family, use ``0.0.0.0`` for IPv4 or ``::`` for IPv6. + :param family: address family (used if ``local_host`` was omitted) + :param backlog: maximum number of queued incoming connections (up to a maximum of + 2**16, or 65536) + :param reuse_port: ``True`` to allow multiple sockets to bind to the same + address/port (not supported on Windows) + :return: a list of listener objects + + """ + asynclib = get_async_backend() + backlog = min(backlog, 65536) + local_host = str(local_host) if local_host is not None else None + gai_res = await getaddrinfo( + local_host, + local_port, + family=family, + type=socket.SocketKind.SOCK_STREAM if sys.platform == "win32" else 0, + flags=socket.AI_PASSIVE | socket.AI_ADDRCONFIG, + ) + listeners: list[SocketListener] = [] + try: + # The set() is here to work around a glibc bug: + # https://sourceware.org/bugzilla/show_bug.cgi?id=14969 + sockaddr: tuple[str, int] | tuple[str, int, int, int] + for fam, kind, *_, sockaddr in sorted(set(gai_res)): + # Workaround for an uvloop bug where we don't get the correct scope ID for + # IPv6 link-local addresses when passing type=socket.SOCK_STREAM to + # getaddrinfo(): https://github.com/MagicStack/uvloop/issues/539 + if sys.platform != "win32" and kind is not SocketKind.SOCK_STREAM: + continue + + raw_socket = socket.socket(fam) + raw_socket.setblocking(False) + + # For Windows, enable exclusive address use. For others, enable address + # reuse. + if sys.platform == "win32": + raw_socket.setsockopt(socket.SOL_SOCKET, socket.SO_EXCLUSIVEADDRUSE, 1) + else: + raw_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) + + if reuse_port: + raw_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) + + # If only IPv6 was requested, disable dual stack operation + if fam == socket.AF_INET6: + raw_socket.setsockopt(IPPROTO_IPV6, socket.IPV6_V6ONLY, 1) + + # Workaround for #554 + if "%" in sockaddr[0]: + addr, scope_id = sockaddr[0].split("%", 1) + sockaddr = (addr, sockaddr[1], 0, int(scope_id)) + + raw_socket.bind(sockaddr) + raw_socket.listen(backlog) + listener = asynclib.create_tcp_listener(raw_socket) + listeners.append(listener) + except BaseException: + for listener in listeners: + await listener.aclose() + + raise + + return MultiListener(listeners) + + +async def create_unix_listener( + path: str | bytes | PathLike[Any], + *, + mode: int | None = None, + backlog: int = 65536, +) -> SocketListener: + """ + Create a UNIX socket listener. + + Not available on Windows. + + :param path: path of the socket + :param mode: permissions to set on the socket + :param backlog: maximum number of queued incoming connections (up to a maximum of + 2**16, or 65536) + :return: a listener object + + .. versionchanged:: 3.0 + If a socket already exists on the file system in the given path, it will be + removed first. + + """ + backlog = min(backlog, 65536) + raw_socket = await setup_unix_local_socket(path, mode, socket.SOCK_STREAM) + try: + raw_socket.listen(backlog) + return get_async_backend().create_unix_listener(raw_socket) + except BaseException: + raw_socket.close() + raise + + +async def create_udp_socket( + family: AnyIPAddressFamily = AddressFamily.AF_UNSPEC, + *, + local_host: IPAddressType | None = None, + local_port: int = 0, + reuse_port: bool = False, +) -> UDPSocket: + """ + Create a UDP socket. + + If ``port`` has been given, the socket will be bound to this port on the local + machine, making this socket suitable for providing UDP based services. + + :param family: address family (``AF_INET`` or ``AF_INET6``) – automatically + determined from ``local_host`` if omitted + :param local_host: IP address or host name of the local interface to bind to + :param local_port: local port to bind to + :param reuse_port: ``True`` to allow multiple sockets to bind to the same + address/port (not supported on Windows) + :return: a UDP socket + + """ + if family is AddressFamily.AF_UNSPEC and not local_host: + raise ValueError('Either "family" or "local_host" must be given') + + if local_host: + gai_res = await getaddrinfo( + str(local_host), + local_port, + family=family, + type=socket.SOCK_DGRAM, + flags=socket.AI_PASSIVE | socket.AI_ADDRCONFIG, + ) + family = cast(AnyIPAddressFamily, gai_res[0][0]) + local_address = gai_res[0][-1] + elif family is AddressFamily.AF_INET6: + local_address = ("::", 0) + else: + local_address = ("0.0.0.0", 0) + + sock = await get_async_backend().create_udp_socket( + family, local_address, None, reuse_port + ) + return cast(UDPSocket, sock) + + +async def create_connected_udp_socket( + remote_host: IPAddressType, + remote_port: int, + *, + family: AnyIPAddressFamily = AddressFamily.AF_UNSPEC, + local_host: IPAddressType | None = None, + local_port: int = 0, + reuse_port: bool = False, +) -> ConnectedUDPSocket: + """ + Create a connected UDP socket. + + Connected UDP sockets can only communicate with the specified remote host/port, an + any packets sent from other sources are dropped. + + :param remote_host: remote host to set as the default target + :param remote_port: port on the remote host to set as the default target + :param family: address family (``AF_INET`` or ``AF_INET6``) – automatically + determined from ``local_host`` or ``remote_host`` if omitted + :param local_host: IP address or host name of the local interface to bind to + :param local_port: local port to bind to + :param reuse_port: ``True`` to allow multiple sockets to bind to the same + address/port (not supported on Windows) + :return: a connected UDP socket + + """ + local_address = None + if local_host: + gai_res = await getaddrinfo( + str(local_host), + local_port, + family=family, + type=socket.SOCK_DGRAM, + flags=socket.AI_PASSIVE | socket.AI_ADDRCONFIG, + ) + family = cast(AnyIPAddressFamily, gai_res[0][0]) + local_address = gai_res[0][-1] + + gai_res = await getaddrinfo( + str(remote_host), remote_port, family=family, type=socket.SOCK_DGRAM + ) + family = cast(AnyIPAddressFamily, gai_res[0][0]) + remote_address = gai_res[0][-1] + + sock = await get_async_backend().create_udp_socket( + family, local_address, remote_address, reuse_port + ) + return cast(ConnectedUDPSocket, sock) + + +async def create_unix_datagram_socket( + *, + local_path: None | str | bytes | PathLike[Any] = None, + local_mode: int | None = None, +) -> UNIXDatagramSocket: + """ + Create a UNIX datagram socket. + + Not available on Windows. + + If ``local_path`` has been given, the socket will be bound to this path, making this + socket suitable for receiving datagrams from other processes. Other processes can + send datagrams to this socket only if ``local_path`` is set. + + If a socket already exists on the file system in the ``local_path``, it will be + removed first. + + :param local_path: the path on which to bind to + :param local_mode: permissions to set on the local socket + :return: a UNIX datagram socket + + """ + raw_socket = await setup_unix_local_socket( + local_path, local_mode, socket.SOCK_DGRAM + ) + return await get_async_backend().create_unix_datagram_socket(raw_socket, None) + + +async def create_connected_unix_datagram_socket( + remote_path: str | bytes | PathLike[Any], + *, + local_path: None | str | bytes | PathLike[Any] = None, + local_mode: int | None = None, +) -> ConnectedUNIXDatagramSocket: + """ + Create a connected UNIX datagram socket. + + Connected datagram sockets can only communicate with the specified remote path. + + If ``local_path`` has been given, the socket will be bound to this path, making + this socket suitable for receiving datagrams from other processes. Other processes + can send datagrams to this socket only if ``local_path`` is set. + + If a socket already exists on the file system in the ``local_path``, it will be + removed first. + + :param remote_path: the path to set as the default target + :param local_path: the path on which to bind to + :param local_mode: permissions to set on the local socket + :return: a connected UNIX datagram socket + + """ + remote_path = os.fspath(remote_path) + raw_socket = await setup_unix_local_socket( + local_path, local_mode, socket.SOCK_DGRAM + ) + return await get_async_backend().create_unix_datagram_socket( + raw_socket, remote_path + ) + + +async def getaddrinfo( + host: bytes | str | None, + port: str | int | None, + *, + family: int | AddressFamily = 0, + type: int | SocketKind = 0, + proto: int = 0, + flags: int = 0, +) -> list[tuple[AddressFamily, SocketKind, int, str, tuple[str, int]]]: + """ + Look up a numeric IP address given a host name. + + Internationalized domain names are translated according to the (non-transitional) + IDNA 2008 standard. + + .. note:: 4-tuple IPv6 socket addresses are automatically converted to 2-tuples of + (host, port), unlike what :func:`socket.getaddrinfo` does. + + :param host: host name + :param port: port number + :param family: socket family (`'AF_INET``, ...) + :param type: socket type (``SOCK_STREAM``, ...) + :param proto: protocol number + :param flags: flags to pass to upstream ``getaddrinfo()`` + :return: list of tuples containing (family, type, proto, canonname, sockaddr) + + .. seealso:: :func:`socket.getaddrinfo` + + """ + # Handle unicode hostnames + if isinstance(host, str): + try: + encoded_host: bytes | None = host.encode("ascii") + except UnicodeEncodeError: + import idna + + encoded_host = idna.encode(host, uts46=True) + else: + encoded_host = host + + gai_res = await get_async_backend().getaddrinfo( + encoded_host, port, family=family, type=type, proto=proto, flags=flags + ) + return [ + (family, type, proto, canonname, convert_ipv6_sockaddr(sockaddr)) + for family, type, proto, canonname, sockaddr in gai_res + ] + + +def getnameinfo(sockaddr: IPSockAddrType, flags: int = 0) -> Awaitable[tuple[str, str]]: + """ + Look up the host name of an IP address. + + :param sockaddr: socket address (e.g. (ipaddress, port) for IPv4) + :param flags: flags to pass to upstream ``getnameinfo()`` + :return: a tuple of (host name, service name) + + .. seealso:: :func:`socket.getnameinfo` + + """ + return get_async_backend().getnameinfo(sockaddr, flags) + + +def wait_socket_readable(sock: socket.socket) -> Awaitable[None]: + """ + Wait until the given socket has data to be read. + + This does **NOT** work on Windows when using the asyncio backend with a proactor + event loop (default on py3.8+). + + .. warning:: Only use this on raw sockets that have not been wrapped by any higher + level constructs like socket streams! + + :param sock: a socket object + :raises ~anyio.ClosedResourceError: if the socket was closed while waiting for the + socket to become readable + :raises ~anyio.BusyResourceError: if another task is already waiting for the socket + to become readable + + """ + return get_async_backend().wait_socket_readable(sock) + + +def wait_socket_writable(sock: socket.socket) -> Awaitable[None]: + """ + Wait until the given socket can be written to. + + This does **NOT** work on Windows when using the asyncio backend with a proactor + event loop (default on py3.8+). + + .. warning:: Only use this on raw sockets that have not been wrapped by any higher + level constructs like socket streams! + + :param sock: a socket object + :raises ~anyio.ClosedResourceError: if the socket was closed while waiting for the + socket to become writable + :raises ~anyio.BusyResourceError: if another task is already waiting for the socket + to become writable + + """ + return get_async_backend().wait_socket_writable(sock) + + +# +# Private API +# + + +def convert_ipv6_sockaddr( + sockaddr: tuple[str, int, int, int] | tuple[str, int], +) -> tuple[str, int]: + """ + Convert a 4-tuple IPv6 socket address to a 2-tuple (address, port) format. + + If the scope ID is nonzero, it is added to the address, separated with ``%``. + Otherwise the flow id and scope id are simply cut off from the tuple. + Any other kinds of socket addresses are returned as-is. + + :param sockaddr: the result of :meth:`~socket.socket.getsockname` + :return: the converted socket address + + """ + # This is more complicated than it should be because of MyPy + if isinstance(sockaddr, tuple) and len(sockaddr) == 4: + host, port, flowinfo, scope_id = sockaddr + if scope_id: + # PyPy (as of v7.3.11) leaves the interface name in the result, so + # we discard it and only get the scope ID from the end + # (https://foss.heptapod.net/pypy/pypy/-/issues/3938) + host = host.split("%")[0] + + # Add scope_id to the address + return f"{host}%{scope_id}", port + else: + return host, port + else: + return sockaddr + + +async def setup_unix_local_socket( + path: None | str | bytes | PathLike[Any], + mode: int | None, + socktype: int, +) -> socket.socket: + """ + Create a UNIX local socket object, deleting the socket at the given path if it + exists. + + Not available on Windows. + + :param path: path of the socket + :param mode: permissions to set on the socket + :param socktype: socket.SOCK_STREAM or socket.SOCK_DGRAM + + """ + path_str: str | None + if path is not None: + path_str = os.fsdecode(path) + + # Linux abstract namespace sockets aren't backed by a concrete file so skip stat call + if not path_str.startswith("\0"): + # Copied from pathlib... + try: + stat_result = os.stat(path) + except OSError as e: + if e.errno not in ( + errno.ENOENT, + errno.ENOTDIR, + errno.EBADF, + errno.ELOOP, + ): + raise + else: + if stat.S_ISSOCK(stat_result.st_mode): + os.unlink(path) + else: + path_str = None + + raw_socket = socket.socket(socket.AF_UNIX, socktype) + raw_socket.setblocking(False) + + if path_str is not None: + try: + await to_thread.run_sync(raw_socket.bind, path_str, abandon_on_cancel=True) + if mode is not None: + await to_thread.run_sync(chmod, path_str, mode, abandon_on_cancel=True) + except BaseException: + raw_socket.close() + raise + + return raw_socket diff --git a/venv/Lib/site-packages/anyio/_core/_streams.py b/venv/Lib/site-packages/anyio/_core/_streams.py new file mode 100644 index 00000000..6a9814e5 --- /dev/null +++ b/venv/Lib/site-packages/anyio/_core/_streams.py @@ -0,0 +1,52 @@ +from __future__ import annotations + +import math +from typing import TypeVar +from warnings import warn + +from ..streams.memory import ( + MemoryObjectReceiveStream, + MemoryObjectSendStream, + MemoryObjectStreamState, +) + +T_Item = TypeVar("T_Item") + + +class create_memory_object_stream( + tuple[MemoryObjectSendStream[T_Item], MemoryObjectReceiveStream[T_Item]], +): + """ + Create a memory object stream. + + The stream's item type can be annotated like + :func:`create_memory_object_stream[T_Item]`. + + :param max_buffer_size: number of items held in the buffer until ``send()`` starts + blocking + :param item_type: old way of marking the streams with the right generic type for + static typing (does nothing on AnyIO 4) + + .. deprecated:: 4.0 + Use ``create_memory_object_stream[YourItemType](...)`` instead. + :return: a tuple of (send stream, receive stream) + + """ + + def __new__( # type: ignore[misc] + cls, max_buffer_size: float = 0, item_type: object = None + ) -> tuple[MemoryObjectSendStream[T_Item], MemoryObjectReceiveStream[T_Item]]: + if max_buffer_size != math.inf and not isinstance(max_buffer_size, int): + raise ValueError("max_buffer_size must be either an integer or math.inf") + if max_buffer_size < 0: + raise ValueError("max_buffer_size cannot be negative") + if item_type is not None: + warn( + "The item_type argument has been deprecated in AnyIO 4.0. " + "Use create_memory_object_stream[YourItemType](...) instead.", + DeprecationWarning, + stacklevel=2, + ) + + state = MemoryObjectStreamState[T_Item](max_buffer_size) + return (MemoryObjectSendStream(state), MemoryObjectReceiveStream(state)) diff --git a/venv/Lib/site-packages/anyio/_core/_subprocesses.py b/venv/Lib/site-packages/anyio/_core/_subprocesses.py new file mode 100644 index 00000000..7ba41a5b --- /dev/null +++ b/venv/Lib/site-packages/anyio/_core/_subprocesses.py @@ -0,0 +1,196 @@ +from __future__ import annotations + +import sys +from collections.abc import AsyncIterable, Iterable, Mapping, Sequence +from io import BytesIO +from os import PathLike +from subprocess import DEVNULL, PIPE, CalledProcessError, CompletedProcess +from typing import IO, Any, Union, cast + +from ..abc import Process +from ._eventloop import get_async_backend +from ._tasks import create_task_group + +if sys.version_info >= (3, 10): + from typing import TypeAlias +else: + from typing_extensions import TypeAlias + +StrOrBytesPath: TypeAlias = Union[str, bytes, "PathLike[str]", "PathLike[bytes]"] + + +async def run_process( + command: StrOrBytesPath | Sequence[StrOrBytesPath], + *, + input: bytes | None = None, + stdout: int | IO[Any] | None = PIPE, + stderr: int | IO[Any] | None = PIPE, + check: bool = True, + cwd: StrOrBytesPath | None = None, + env: Mapping[str, str] | None = None, + startupinfo: Any = None, + creationflags: int = 0, + start_new_session: bool = False, + pass_fds: Sequence[int] = (), + user: str | int | None = None, + group: str | int | None = None, + extra_groups: Iterable[str | int] | None = None, + umask: int = -1, +) -> CompletedProcess[bytes]: + """ + Run an external command in a subprocess and wait until it completes. + + .. seealso:: :func:`subprocess.run` + + :param command: either a string to pass to the shell, or an iterable of strings + containing the executable name or path and its arguments + :param input: bytes passed to the standard input of the subprocess + :param stdout: one of :data:`subprocess.PIPE`, :data:`subprocess.DEVNULL`, + a file-like object, or `None` + :param stderr: one of :data:`subprocess.PIPE`, :data:`subprocess.DEVNULL`, + :data:`subprocess.STDOUT`, a file-like object, or `None` + :param check: if ``True``, raise :exc:`~subprocess.CalledProcessError` if the + process terminates with a return code other than 0 + :param cwd: If not ``None``, change the working directory to this before running the + command + :param env: if not ``None``, this mapping replaces the inherited environment + variables from the parent process + :param startupinfo: an instance of :class:`subprocess.STARTUPINFO` that can be used + to specify process startup parameters (Windows only) + :param creationflags: flags that can be used to control the creation of the + subprocess (see :class:`subprocess.Popen` for the specifics) + :param start_new_session: if ``true`` the setsid() system call will be made in the + child process prior to the execution of the subprocess. (POSIX only) + :param pass_fds: sequence of file descriptors to keep open between the parent and + child processes. (POSIX only) + :param user: effective user to run the process as (Python >= 3.9, POSIX only) + :param group: effective group to run the process as (Python >= 3.9, POSIX only) + :param extra_groups: supplementary groups to set in the subprocess (Python >= 3.9, + POSIX only) + :param umask: if not negative, this umask is applied in the child process before + running the given command (Python >= 3.9, POSIX only) + :return: an object representing the completed process + :raises ~subprocess.CalledProcessError: if ``check`` is ``True`` and the process + exits with a nonzero return code + + """ + + async def drain_stream(stream: AsyncIterable[bytes], index: int) -> None: + buffer = BytesIO() + async for chunk in stream: + buffer.write(chunk) + + stream_contents[index] = buffer.getvalue() + + async with await open_process( + command, + stdin=PIPE if input else DEVNULL, + stdout=stdout, + stderr=stderr, + cwd=cwd, + env=env, + startupinfo=startupinfo, + creationflags=creationflags, + start_new_session=start_new_session, + pass_fds=pass_fds, + user=user, + group=group, + extra_groups=extra_groups, + umask=umask, + ) as process: + stream_contents: list[bytes | None] = [None, None] + async with create_task_group() as tg: + if process.stdout: + tg.start_soon(drain_stream, process.stdout, 0) + + if process.stderr: + tg.start_soon(drain_stream, process.stderr, 1) + + if process.stdin and input: + await process.stdin.send(input) + await process.stdin.aclose() + + await process.wait() + + output, errors = stream_contents + if check and process.returncode != 0: + raise CalledProcessError(cast(int, process.returncode), command, output, errors) + + return CompletedProcess(command, cast(int, process.returncode), output, errors) + + +async def open_process( + command: StrOrBytesPath | Sequence[StrOrBytesPath], + *, + stdin: int | IO[Any] | None = PIPE, + stdout: int | IO[Any] | None = PIPE, + stderr: int | IO[Any] | None = PIPE, + cwd: StrOrBytesPath | None = None, + env: Mapping[str, str] | None = None, + startupinfo: Any = None, + creationflags: int = 0, + start_new_session: bool = False, + pass_fds: Sequence[int] = (), + user: str | int | None = None, + group: str | int | None = None, + extra_groups: Iterable[str | int] | None = None, + umask: int = -1, +) -> Process: + """ + Start an external command in a subprocess. + + .. seealso:: :class:`subprocess.Popen` + + :param command: either a string to pass to the shell, or an iterable of strings + containing the executable name or path and its arguments + :param stdin: one of :data:`subprocess.PIPE`, :data:`subprocess.DEVNULL`, a + file-like object, or ``None`` + :param stdout: one of :data:`subprocess.PIPE`, :data:`subprocess.DEVNULL`, + a file-like object, or ``None`` + :param stderr: one of :data:`subprocess.PIPE`, :data:`subprocess.DEVNULL`, + :data:`subprocess.STDOUT`, a file-like object, or ``None`` + :param cwd: If not ``None``, the working directory is changed before executing + :param env: If env is not ``None``, it must be a mapping that defines the + environment variables for the new process + :param creationflags: flags that can be used to control the creation of the + subprocess (see :class:`subprocess.Popen` for the specifics) + :param startupinfo: an instance of :class:`subprocess.STARTUPINFO` that can be used + to specify process startup parameters (Windows only) + :param start_new_session: if ``true`` the setsid() system call will be made in the + child process prior to the execution of the subprocess. (POSIX only) + :param pass_fds: sequence of file descriptors to keep open between the parent and + child processes. (POSIX only) + :param user: effective user to run the process as (POSIX only) + :param group: effective group to run the process as (POSIX only) + :param extra_groups: supplementary groups to set in the subprocess (POSIX only) + :param umask: if not negative, this umask is applied in the child process before + running the given command (POSIX only) + :return: an asynchronous process object + + """ + kwargs: dict[str, Any] = {} + if user is not None: + kwargs["user"] = user + + if group is not None: + kwargs["group"] = group + + if extra_groups is not None: + kwargs["extra_groups"] = group + + if umask >= 0: + kwargs["umask"] = umask + + return await get_async_backend().open_process( + command, + stdin=stdin, + stdout=stdout, + stderr=stderr, + cwd=cwd, + env=env, + startupinfo=startupinfo, + creationflags=creationflags, + start_new_session=start_new_session, + pass_fds=pass_fds, + **kwargs, + ) diff --git a/venv/Lib/site-packages/anyio/_core/_synchronization.py b/venv/Lib/site-packages/anyio/_core/_synchronization.py new file mode 100644 index 00000000..023ab733 --- /dev/null +++ b/venv/Lib/site-packages/anyio/_core/_synchronization.py @@ -0,0 +1,724 @@ +from __future__ import annotations + +import math +from collections import deque +from dataclasses import dataclass +from types import TracebackType + +from sniffio import AsyncLibraryNotFoundError + +from ..lowlevel import checkpoint +from ._eventloop import get_async_backend +from ._exceptions import BusyResourceError +from ._tasks import CancelScope +from ._testing import TaskInfo, get_current_task + + +@dataclass(frozen=True) +class EventStatistics: + """ + :ivar int tasks_waiting: number of tasks waiting on :meth:`~.Event.wait` + """ + + tasks_waiting: int + + +@dataclass(frozen=True) +class CapacityLimiterStatistics: + """ + :ivar int borrowed_tokens: number of tokens currently borrowed by tasks + :ivar float total_tokens: total number of available tokens + :ivar tuple borrowers: tasks or other objects currently holding tokens borrowed from + this limiter + :ivar int tasks_waiting: number of tasks waiting on + :meth:`~.CapacityLimiter.acquire` or + :meth:`~.CapacityLimiter.acquire_on_behalf_of` + """ + + borrowed_tokens: int + total_tokens: float + borrowers: tuple[object, ...] + tasks_waiting: int + + +@dataclass(frozen=True) +class LockStatistics: + """ + :ivar bool locked: flag indicating if this lock is locked or not + :ivar ~anyio.TaskInfo owner: task currently holding the lock (or ``None`` if the + lock is not held by any task) + :ivar int tasks_waiting: number of tasks waiting on :meth:`~.Lock.acquire` + """ + + locked: bool + owner: TaskInfo | None + tasks_waiting: int + + +@dataclass(frozen=True) +class ConditionStatistics: + """ + :ivar int tasks_waiting: number of tasks blocked on :meth:`~.Condition.wait` + :ivar ~anyio.LockStatistics lock_statistics: statistics of the underlying + :class:`~.Lock` + """ + + tasks_waiting: int + lock_statistics: LockStatistics + + +@dataclass(frozen=True) +class SemaphoreStatistics: + """ + :ivar int tasks_waiting: number of tasks waiting on :meth:`~.Semaphore.acquire` + + """ + + tasks_waiting: int + + +class Event: + def __new__(cls) -> Event: + try: + return get_async_backend().create_event() + except AsyncLibraryNotFoundError: + return EventAdapter() + + def set(self) -> None: + """Set the flag, notifying all listeners.""" + raise NotImplementedError + + def is_set(self) -> bool: + """Return ``True`` if the flag is set, ``False`` if not.""" + raise NotImplementedError + + async def wait(self) -> None: + """ + Wait until the flag has been set. + + If the flag has already been set when this method is called, it returns + immediately. + + """ + raise NotImplementedError + + def statistics(self) -> EventStatistics: + """Return statistics about the current state of this event.""" + raise NotImplementedError + + +class EventAdapter(Event): + _internal_event: Event | None = None + + def __new__(cls) -> EventAdapter: + return object.__new__(cls) + + @property + def _event(self) -> Event: + if self._internal_event is None: + self._internal_event = get_async_backend().create_event() + + return self._internal_event + + def set(self) -> None: + self._event.set() + + def is_set(self) -> bool: + return self._internal_event is not None and self._internal_event.is_set() + + async def wait(self) -> None: + await self._event.wait() + + def statistics(self) -> EventStatistics: + if self._internal_event is None: + return EventStatistics(tasks_waiting=0) + + return self._internal_event.statistics() + + +class Lock: + def __new__(cls, *, fast_acquire: bool = False) -> Lock: + try: + return get_async_backend().create_lock(fast_acquire=fast_acquire) + except AsyncLibraryNotFoundError: + return LockAdapter(fast_acquire=fast_acquire) + + async def __aenter__(self) -> None: + await self.acquire() + + async def __aexit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> None: + self.release() + + async def acquire(self) -> None: + """Acquire the lock.""" + raise NotImplementedError + + def acquire_nowait(self) -> None: + """ + Acquire the lock, without blocking. + + :raises ~anyio.WouldBlock: if the operation would block + + """ + raise NotImplementedError + + def release(self) -> None: + """Release the lock.""" + raise NotImplementedError + + def locked(self) -> bool: + """Return True if the lock is currently held.""" + raise NotImplementedError + + def statistics(self) -> LockStatistics: + """ + Return statistics about the current state of this lock. + + .. versionadded:: 3.0 + """ + raise NotImplementedError + + +class LockAdapter(Lock): + _internal_lock: Lock | None = None + + def __new__(cls, *, fast_acquire: bool = False) -> LockAdapter: + return object.__new__(cls) + + def __init__(self, *, fast_acquire: bool = False): + self._fast_acquire = fast_acquire + + @property + def _lock(self) -> Lock: + if self._internal_lock is None: + self._internal_lock = get_async_backend().create_lock( + fast_acquire=self._fast_acquire + ) + + return self._internal_lock + + async def __aenter__(self) -> None: + await self._lock.acquire() + + async def __aexit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> None: + if self._internal_lock is not None: + self._internal_lock.release() + + async def acquire(self) -> None: + """Acquire the lock.""" + await self._lock.acquire() + + def acquire_nowait(self) -> None: + """ + Acquire the lock, without blocking. + + :raises ~anyio.WouldBlock: if the operation would block + + """ + self._lock.acquire_nowait() + + def release(self) -> None: + """Release the lock.""" + self._lock.release() + + def locked(self) -> bool: + """Return True if the lock is currently held.""" + return self._lock.locked() + + def statistics(self) -> LockStatistics: + """ + Return statistics about the current state of this lock. + + .. versionadded:: 3.0 + + """ + if self._internal_lock is None: + return LockStatistics(False, None, 0) + + return self._internal_lock.statistics() + + +class Condition: + _owner_task: TaskInfo | None = None + + def __init__(self, lock: Lock | None = None): + self._lock = lock or Lock() + self._waiters: deque[Event] = deque() + + async def __aenter__(self) -> None: + await self.acquire() + + async def __aexit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> None: + self.release() + + def _check_acquired(self) -> None: + if self._owner_task != get_current_task(): + raise RuntimeError("The current task is not holding the underlying lock") + + async def acquire(self) -> None: + """Acquire the underlying lock.""" + await self._lock.acquire() + self._owner_task = get_current_task() + + def acquire_nowait(self) -> None: + """ + Acquire the underlying lock, without blocking. + + :raises ~anyio.WouldBlock: if the operation would block + + """ + self._lock.acquire_nowait() + self._owner_task = get_current_task() + + def release(self) -> None: + """Release the underlying lock.""" + self._lock.release() + + def locked(self) -> bool: + """Return True if the lock is set.""" + return self._lock.locked() + + def notify(self, n: int = 1) -> None: + """Notify exactly n listeners.""" + self._check_acquired() + for _ in range(n): + try: + event = self._waiters.popleft() + except IndexError: + break + + event.set() + + def notify_all(self) -> None: + """Notify all the listeners.""" + self._check_acquired() + for event in self._waiters: + event.set() + + self._waiters.clear() + + async def wait(self) -> None: + """Wait for a notification.""" + await checkpoint() + event = Event() + self._waiters.append(event) + self.release() + try: + await event.wait() + except BaseException: + if not event.is_set(): + self._waiters.remove(event) + + raise + finally: + with CancelScope(shield=True): + await self.acquire() + + def statistics(self) -> ConditionStatistics: + """ + Return statistics about the current state of this condition. + + .. versionadded:: 3.0 + """ + return ConditionStatistics(len(self._waiters), self._lock.statistics()) + + +class Semaphore: + def __new__( + cls, + initial_value: int, + *, + max_value: int | None = None, + fast_acquire: bool = False, + ) -> Semaphore: + try: + return get_async_backend().create_semaphore( + initial_value, max_value=max_value, fast_acquire=fast_acquire + ) + except AsyncLibraryNotFoundError: + return SemaphoreAdapter(initial_value, max_value=max_value) + + def __init__( + self, + initial_value: int, + *, + max_value: int | None = None, + fast_acquire: bool = False, + ): + if not isinstance(initial_value, int): + raise TypeError("initial_value must be an integer") + if initial_value < 0: + raise ValueError("initial_value must be >= 0") + if max_value is not None: + if not isinstance(max_value, int): + raise TypeError("max_value must be an integer or None") + if max_value < initial_value: + raise ValueError( + "max_value must be equal to or higher than initial_value" + ) + + self._fast_acquire = fast_acquire + + async def __aenter__(self) -> Semaphore: + await self.acquire() + return self + + async def __aexit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> None: + self.release() + + async def acquire(self) -> None: + """Decrement the semaphore value, blocking if necessary.""" + raise NotImplementedError + + def acquire_nowait(self) -> None: + """ + Acquire the underlying lock, without blocking. + + :raises ~anyio.WouldBlock: if the operation would block + + """ + raise NotImplementedError + + def release(self) -> None: + """Increment the semaphore value.""" + raise NotImplementedError + + @property + def value(self) -> int: + """The current value of the semaphore.""" + raise NotImplementedError + + @property + def max_value(self) -> int | None: + """The maximum value of the semaphore.""" + raise NotImplementedError + + def statistics(self) -> SemaphoreStatistics: + """ + Return statistics about the current state of this semaphore. + + .. versionadded:: 3.0 + """ + raise NotImplementedError + + +class SemaphoreAdapter(Semaphore): + _internal_semaphore: Semaphore | None = None + + def __new__( + cls, + initial_value: int, + *, + max_value: int | None = None, + fast_acquire: bool = False, + ) -> SemaphoreAdapter: + return object.__new__(cls) + + def __init__( + self, + initial_value: int, + *, + max_value: int | None = None, + fast_acquire: bool = False, + ) -> None: + super().__init__(initial_value, max_value=max_value, fast_acquire=fast_acquire) + self._initial_value = initial_value + self._max_value = max_value + + @property + def _semaphore(self) -> Semaphore: + if self._internal_semaphore is None: + self._internal_semaphore = get_async_backend().create_semaphore( + self._initial_value, max_value=self._max_value + ) + + return self._internal_semaphore + + async def acquire(self) -> None: + await self._semaphore.acquire() + + def acquire_nowait(self) -> None: + self._semaphore.acquire_nowait() + + def release(self) -> None: + self._semaphore.release() + + @property + def value(self) -> int: + if self._internal_semaphore is None: + return self._initial_value + + return self._semaphore.value + + @property + def max_value(self) -> int | None: + return self._max_value + + def statistics(self) -> SemaphoreStatistics: + if self._internal_semaphore is None: + return SemaphoreStatistics(tasks_waiting=0) + + return self._semaphore.statistics() + + +class CapacityLimiter: + def __new__(cls, total_tokens: float) -> CapacityLimiter: + try: + return get_async_backend().create_capacity_limiter(total_tokens) + except AsyncLibraryNotFoundError: + return CapacityLimiterAdapter(total_tokens) + + async def __aenter__(self) -> None: + raise NotImplementedError + + async def __aexit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> bool | None: + raise NotImplementedError + + @property + def total_tokens(self) -> float: + """ + The total number of tokens available for borrowing. + + This is a read-write property. If the total number of tokens is increased, the + proportionate number of tasks waiting on this limiter will be granted their + tokens. + + .. versionchanged:: 3.0 + The property is now writable. + + """ + raise NotImplementedError + + @total_tokens.setter + def total_tokens(self, value: float) -> None: + raise NotImplementedError + + @property + def borrowed_tokens(self) -> int: + """The number of tokens that have currently been borrowed.""" + raise NotImplementedError + + @property + def available_tokens(self) -> float: + """The number of tokens currently available to be borrowed""" + raise NotImplementedError + + def acquire_nowait(self) -> None: + """ + Acquire a token for the current task without waiting for one to become + available. + + :raises ~anyio.WouldBlock: if there are no tokens available for borrowing + + """ + raise NotImplementedError + + def acquire_on_behalf_of_nowait(self, borrower: object) -> None: + """ + Acquire a token without waiting for one to become available. + + :param borrower: the entity borrowing a token + :raises ~anyio.WouldBlock: if there are no tokens available for borrowing + + """ + raise NotImplementedError + + async def acquire(self) -> None: + """ + Acquire a token for the current task, waiting if necessary for one to become + available. + + """ + raise NotImplementedError + + async def acquire_on_behalf_of(self, borrower: object) -> None: + """ + Acquire a token, waiting if necessary for one to become available. + + :param borrower: the entity borrowing a token + + """ + raise NotImplementedError + + def release(self) -> None: + """ + Release the token held by the current task. + + :raises RuntimeError: if the current task has not borrowed a token from this + limiter. + + """ + raise NotImplementedError + + def release_on_behalf_of(self, borrower: object) -> None: + """ + Release the token held by the given borrower. + + :raises RuntimeError: if the borrower has not borrowed a token from this + limiter. + + """ + raise NotImplementedError + + def statistics(self) -> CapacityLimiterStatistics: + """ + Return statistics about the current state of this limiter. + + .. versionadded:: 3.0 + + """ + raise NotImplementedError + + +class CapacityLimiterAdapter(CapacityLimiter): + _internal_limiter: CapacityLimiter | None = None + + def __new__(cls, total_tokens: float) -> CapacityLimiterAdapter: + return object.__new__(cls) + + def __init__(self, total_tokens: float) -> None: + self.total_tokens = total_tokens + + @property + def _limiter(self) -> CapacityLimiter: + if self._internal_limiter is None: + self._internal_limiter = get_async_backend().create_capacity_limiter( + self._total_tokens + ) + + return self._internal_limiter + + async def __aenter__(self) -> None: + await self._limiter.__aenter__() + + async def __aexit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> bool | None: + return await self._limiter.__aexit__(exc_type, exc_val, exc_tb) + + @property + def total_tokens(self) -> float: + if self._internal_limiter is None: + return self._total_tokens + + return self._internal_limiter.total_tokens + + @total_tokens.setter + def total_tokens(self, value: float) -> None: + if not isinstance(value, int) and value is not math.inf: + raise TypeError("total_tokens must be an int or math.inf") + elif value < 1: + raise ValueError("total_tokens must be >= 1") + + if self._internal_limiter is None: + self._total_tokens = value + return + + self._limiter.total_tokens = value + + @property + def borrowed_tokens(self) -> int: + if self._internal_limiter is None: + return 0 + + return self._internal_limiter.borrowed_tokens + + @property + def available_tokens(self) -> float: + if self._internal_limiter is None: + return self._total_tokens + + return self._internal_limiter.available_tokens + + def acquire_nowait(self) -> None: + self._limiter.acquire_nowait() + + def acquire_on_behalf_of_nowait(self, borrower: object) -> None: + self._limiter.acquire_on_behalf_of_nowait(borrower) + + async def acquire(self) -> None: + await self._limiter.acquire() + + async def acquire_on_behalf_of(self, borrower: object) -> None: + await self._limiter.acquire_on_behalf_of(borrower) + + def release(self) -> None: + self._limiter.release() + + def release_on_behalf_of(self, borrower: object) -> None: + self._limiter.release_on_behalf_of(borrower) + + def statistics(self) -> CapacityLimiterStatistics: + if self._internal_limiter is None: + return CapacityLimiterStatistics( + borrowed_tokens=0, + total_tokens=self.total_tokens, + borrowers=(), + tasks_waiting=0, + ) + + return self._internal_limiter.statistics() + + +class ResourceGuard: + """ + A context manager for ensuring that a resource is only used by a single task at a + time. + + Entering this context manager while the previous has not exited it yet will trigger + :exc:`BusyResourceError`. + + :param action: the action to guard against (visible in the :exc:`BusyResourceError` + when triggered, e.g. "Another task is already {action} this resource") + + .. versionadded:: 4.1 + """ + + __slots__ = "action", "_guarded" + + def __init__(self, action: str = "using"): + self.action: str = action + self._guarded = False + + def __enter__(self) -> None: + if self._guarded: + raise BusyResourceError(self.action) + + self._guarded = True + + def __exit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> bool | None: + self._guarded = False + return None diff --git a/venv/Lib/site-packages/anyio/_core/_tasks.py b/venv/Lib/site-packages/anyio/_core/_tasks.py new file mode 100644 index 00000000..2f21ea20 --- /dev/null +++ b/venv/Lib/site-packages/anyio/_core/_tasks.py @@ -0,0 +1,158 @@ +from __future__ import annotations + +import math +from collections.abc import Generator +from contextlib import contextmanager +from types import TracebackType + +from ..abc._tasks import TaskGroup, TaskStatus +from ._eventloop import get_async_backend + + +class _IgnoredTaskStatus(TaskStatus[object]): + def started(self, value: object = None) -> None: + pass + + +TASK_STATUS_IGNORED = _IgnoredTaskStatus() + + +class CancelScope: + """ + Wraps a unit of work that can be made separately cancellable. + + :param deadline: The time (clock value) when this scope is cancelled automatically + :param shield: ``True`` to shield the cancel scope from external cancellation + """ + + def __new__( + cls, *, deadline: float = math.inf, shield: bool = False + ) -> CancelScope: + return get_async_backend().create_cancel_scope(shield=shield, deadline=deadline) + + def cancel(self) -> None: + """Cancel this scope immediately.""" + raise NotImplementedError + + @property + def deadline(self) -> float: + """ + The time (clock value) when this scope is cancelled automatically. + + Will be ``float('inf')`` if no timeout has been set. + + """ + raise NotImplementedError + + @deadline.setter + def deadline(self, value: float) -> None: + raise NotImplementedError + + @property + def cancel_called(self) -> bool: + """``True`` if :meth:`cancel` has been called.""" + raise NotImplementedError + + @property + def cancelled_caught(self) -> bool: + """ + ``True`` if this scope suppressed a cancellation exception it itself raised. + + This is typically used to check if any work was interrupted, or to see if the + scope was cancelled due to its deadline being reached. The value will, however, + only be ``True`` if the cancellation was triggered by the scope itself (and not + an outer scope). + + """ + raise NotImplementedError + + @property + def shield(self) -> bool: + """ + ``True`` if this scope is shielded from external cancellation. + + While a scope is shielded, it will not receive cancellations from outside. + + """ + raise NotImplementedError + + @shield.setter + def shield(self, value: bool) -> None: + raise NotImplementedError + + def __enter__(self) -> CancelScope: + raise NotImplementedError + + def __exit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> bool | None: + raise NotImplementedError + + +@contextmanager +def fail_after( + delay: float | None, shield: bool = False +) -> Generator[CancelScope, None, None]: + """ + Create a context manager which raises a :class:`TimeoutError` if does not finish in + time. + + :param delay: maximum allowed time (in seconds) before raising the exception, or + ``None`` to disable the timeout + :param shield: ``True`` to shield the cancel scope from external cancellation + :return: a context manager that yields a cancel scope + :rtype: :class:`~typing.ContextManager`\\[:class:`~anyio.CancelScope`\\] + + """ + current_time = get_async_backend().current_time + deadline = (current_time() + delay) if delay is not None else math.inf + with get_async_backend().create_cancel_scope( + deadline=deadline, shield=shield + ) as cancel_scope: + yield cancel_scope + + if cancel_scope.cancelled_caught and current_time() >= cancel_scope.deadline: + raise TimeoutError + + +def move_on_after(delay: float | None, shield: bool = False) -> CancelScope: + """ + Create a cancel scope with a deadline that expires after the given delay. + + :param delay: maximum allowed time (in seconds) before exiting the context block, or + ``None`` to disable the timeout + :param shield: ``True`` to shield the cancel scope from external cancellation + :return: a cancel scope + + """ + deadline = ( + (get_async_backend().current_time() + delay) if delay is not None else math.inf + ) + return get_async_backend().create_cancel_scope(deadline=deadline, shield=shield) + + +def current_effective_deadline() -> float: + """ + Return the nearest deadline among all the cancel scopes effective for the current + task. + + :return: a clock value from the event loop's internal clock (or ``float('inf')`` if + there is no deadline in effect, or ``float('-inf')`` if the current scope has + been cancelled) + :rtype: float + + """ + return get_async_backend().current_effective_deadline() + + +def create_task_group() -> TaskGroup: + """ + Create a task group. + + :return: a task group + + """ + return get_async_backend().create_task_group() diff --git a/venv/Lib/site-packages/anyio/_core/_testing.py b/venv/Lib/site-packages/anyio/_core/_testing.py new file mode 100644 index 00000000..9e28b227 --- /dev/null +++ b/venv/Lib/site-packages/anyio/_core/_testing.py @@ -0,0 +1,78 @@ +from __future__ import annotations + +from collections.abc import Awaitable, Generator +from typing import Any, cast + +from ._eventloop import get_async_backend + + +class TaskInfo: + """ + Represents an asynchronous task. + + :ivar int id: the unique identifier of the task + :ivar parent_id: the identifier of the parent task, if any + :vartype parent_id: Optional[int] + :ivar str name: the description of the task (if any) + :ivar ~collections.abc.Coroutine coro: the coroutine object of the task + """ + + __slots__ = "_name", "id", "parent_id", "name", "coro" + + def __init__( + self, + id: int, + parent_id: int | None, + name: str | None, + coro: Generator[Any, Any, Any] | Awaitable[Any], + ): + func = get_current_task + self._name = f"{func.__module__}.{func.__qualname__}" + self.id: int = id + self.parent_id: int | None = parent_id + self.name: str | None = name + self.coro: Generator[Any, Any, Any] | Awaitable[Any] = coro + + def __eq__(self, other: object) -> bool: + if isinstance(other, TaskInfo): + return self.id == other.id + + return NotImplemented + + def __hash__(self) -> int: + return hash(self.id) + + def __repr__(self) -> str: + return f"{self.__class__.__name__}(id={self.id!r}, name={self.name!r})" + + def has_pending_cancellation(self) -> bool: + """ + Return ``True`` if the task has a cancellation pending, ``False`` otherwise. + + """ + return False + + +def get_current_task() -> TaskInfo: + """ + Return the current task. + + :return: a representation of the current task + + """ + return get_async_backend().get_current_task() + + +def get_running_tasks() -> list[TaskInfo]: + """ + Return a list of running tasks in the current event loop. + + :return: a list of task info objects + + """ + return cast("list[TaskInfo]", get_async_backend().get_running_tasks()) + + +async def wait_all_tasks_blocked() -> None: + """Wait until all other tasks are waiting for something.""" + await get_async_backend().wait_all_tasks_blocked() diff --git a/venv/Lib/site-packages/anyio/_core/_typedattr.py b/venv/Lib/site-packages/anyio/_core/_typedattr.py new file mode 100644 index 00000000..f358a448 --- /dev/null +++ b/venv/Lib/site-packages/anyio/_core/_typedattr.py @@ -0,0 +1,81 @@ +from __future__ import annotations + +from collections.abc import Callable, Mapping +from typing import Any, TypeVar, final, overload + +from ._exceptions import TypedAttributeLookupError + +T_Attr = TypeVar("T_Attr") +T_Default = TypeVar("T_Default") +undefined = object() + + +def typed_attribute() -> Any: + """Return a unique object, used to mark typed attributes.""" + return object() + + +class TypedAttributeSet: + """ + Superclass for typed attribute collections. + + Checks that every public attribute of every subclass has a type annotation. + """ + + def __init_subclass__(cls) -> None: + annotations: dict[str, Any] = getattr(cls, "__annotations__", {}) + for attrname in dir(cls): + if not attrname.startswith("_") and attrname not in annotations: + raise TypeError( + f"Attribute {attrname!r} is missing its type annotation" + ) + + super().__init_subclass__() + + +class TypedAttributeProvider: + """Base class for classes that wish to provide typed extra attributes.""" + + @property + def extra_attributes(self) -> Mapping[T_Attr, Callable[[], T_Attr]]: + """ + A mapping of the extra attributes to callables that return the corresponding + values. + + If the provider wraps another provider, the attributes from that wrapper should + also be included in the returned mapping (but the wrapper may override the + callables from the wrapped instance). + + """ + return {} + + @overload + def extra(self, attribute: T_Attr) -> T_Attr: ... + + @overload + def extra(self, attribute: T_Attr, default: T_Default) -> T_Attr | T_Default: ... + + @final + def extra(self, attribute: Any, default: object = undefined) -> object: + """ + extra(attribute, default=undefined) + + Return the value of the given typed extra attribute. + + :param attribute: the attribute (member of a :class:`~TypedAttributeSet`) to + look for + :param default: the value that should be returned if no value is found for the + attribute + :raises ~anyio.TypedAttributeLookupError: if the search failed and no default + value was given + + """ + try: + getter = self.extra_attributes[attribute] + except KeyError: + if default is undefined: + raise TypedAttributeLookupError("Attribute not found") from None + else: + return default + + return getter() diff --git a/venv/Lib/site-packages/anyio/abc/__init__.py b/venv/Lib/site-packages/anyio/abc/__init__.py new file mode 100644 index 00000000..1ca0fcf7 --- /dev/null +++ b/venv/Lib/site-packages/anyio/abc/__init__.py @@ -0,0 +1,57 @@ +from __future__ import annotations + +from typing import Any + +from ._eventloop import AsyncBackend as AsyncBackend +from ._resources import AsyncResource as AsyncResource +from ._sockets import ConnectedUDPSocket as ConnectedUDPSocket +from ._sockets import ConnectedUNIXDatagramSocket as ConnectedUNIXDatagramSocket +from ._sockets import IPAddressType as IPAddressType +from ._sockets import IPSockAddrType as IPSockAddrType +from ._sockets import SocketAttribute as SocketAttribute +from ._sockets import SocketListener as SocketListener +from ._sockets import SocketStream as SocketStream +from ._sockets import UDPPacketType as UDPPacketType +from ._sockets import UDPSocket as UDPSocket +from ._sockets import UNIXDatagramPacketType as UNIXDatagramPacketType +from ._sockets import UNIXDatagramSocket as UNIXDatagramSocket +from ._sockets import UNIXSocketStream as UNIXSocketStream +from ._streams import AnyByteReceiveStream as AnyByteReceiveStream +from ._streams import AnyByteSendStream as AnyByteSendStream +from ._streams import AnyByteStream as AnyByteStream +from ._streams import AnyUnreliableByteReceiveStream as AnyUnreliableByteReceiveStream +from ._streams import AnyUnreliableByteSendStream as AnyUnreliableByteSendStream +from ._streams import AnyUnreliableByteStream as AnyUnreliableByteStream +from ._streams import ByteReceiveStream as ByteReceiveStream +from ._streams import ByteSendStream as ByteSendStream +from ._streams import ByteStream as ByteStream +from ._streams import Listener as Listener +from ._streams import ObjectReceiveStream as ObjectReceiveStream +from ._streams import ObjectSendStream as ObjectSendStream +from ._streams import ObjectStream as ObjectStream +from ._streams import UnreliableObjectReceiveStream as UnreliableObjectReceiveStream +from ._streams import UnreliableObjectSendStream as UnreliableObjectSendStream +from ._streams import UnreliableObjectStream as UnreliableObjectStream +from ._subprocesses import Process as Process +from ._tasks import TaskGroup as TaskGroup +from ._tasks import TaskStatus as TaskStatus +from ._testing import TestRunner as TestRunner + +# Re-exported here, for backwards compatibility +# isort: off +from .._core._synchronization import ( + CapacityLimiter as CapacityLimiter, + Condition as Condition, + Event as Event, + Lock as Lock, + Semaphore as Semaphore, +) +from .._core._tasks import CancelScope as CancelScope +from ..from_thread import BlockingPortal as BlockingPortal + +# Re-export imports so they look like they live directly in this package +key: str +value: Any +for key, value in list(locals().items()): + if getattr(value, "__module__", "").startswith("anyio.abc."): + value.__module__ = __name__ diff --git a/venv/Lib/site-packages/anyio/abc/__pycache__/__init__.cpython-39.pyc b/venv/Lib/site-packages/anyio/abc/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..4cb2d1a2 Binary files /dev/null and b/venv/Lib/site-packages/anyio/abc/__pycache__/__init__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/abc/__pycache__/_eventloop.cpython-39.pyc b/venv/Lib/site-packages/anyio/abc/__pycache__/_eventloop.cpython-39.pyc new file mode 100644 index 00000000..c6501b4c Binary files /dev/null and b/venv/Lib/site-packages/anyio/abc/__pycache__/_eventloop.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/abc/__pycache__/_resources.cpython-39.pyc b/venv/Lib/site-packages/anyio/abc/__pycache__/_resources.cpython-39.pyc new file mode 100644 index 00000000..ec1d6e89 Binary files /dev/null and b/venv/Lib/site-packages/anyio/abc/__pycache__/_resources.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/abc/__pycache__/_sockets.cpython-39.pyc b/venv/Lib/site-packages/anyio/abc/__pycache__/_sockets.cpython-39.pyc new file mode 100644 index 00000000..7ecef404 Binary files /dev/null and b/venv/Lib/site-packages/anyio/abc/__pycache__/_sockets.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/abc/__pycache__/_streams.cpython-39.pyc b/venv/Lib/site-packages/anyio/abc/__pycache__/_streams.cpython-39.pyc new file mode 100644 index 00000000..68dcc199 Binary files /dev/null and b/venv/Lib/site-packages/anyio/abc/__pycache__/_streams.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/abc/__pycache__/_subprocesses.cpython-39.pyc b/venv/Lib/site-packages/anyio/abc/__pycache__/_subprocesses.cpython-39.pyc new file mode 100644 index 00000000..bf39667a Binary files /dev/null and b/venv/Lib/site-packages/anyio/abc/__pycache__/_subprocesses.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/abc/__pycache__/_tasks.cpython-39.pyc b/venv/Lib/site-packages/anyio/abc/__pycache__/_tasks.cpython-39.pyc new file mode 100644 index 00000000..09744ed9 Binary files /dev/null and b/venv/Lib/site-packages/anyio/abc/__pycache__/_tasks.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/abc/__pycache__/_testing.cpython-39.pyc b/venv/Lib/site-packages/anyio/abc/__pycache__/_testing.cpython-39.pyc new file mode 100644 index 00000000..86c40c79 Binary files /dev/null and b/venv/Lib/site-packages/anyio/abc/__pycache__/_testing.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/abc/_eventloop.py b/venv/Lib/site-packages/anyio/abc/_eventloop.py new file mode 100644 index 00000000..93d0e9d2 --- /dev/null +++ b/venv/Lib/site-packages/anyio/abc/_eventloop.py @@ -0,0 +1,374 @@ +from __future__ import annotations + +import math +import sys +from abc import ABCMeta, abstractmethod +from collections.abc import AsyncIterator, Awaitable, Callable, Sequence +from contextlib import AbstractContextManager +from os import PathLike +from signal import Signals +from socket import AddressFamily, SocketKind, socket +from typing import ( + IO, + TYPE_CHECKING, + Any, + TypeVar, + Union, + overload, +) + +if sys.version_info >= (3, 11): + from typing import TypeVarTuple, Unpack +else: + from typing_extensions import TypeVarTuple, Unpack + +if sys.version_info >= (3, 10): + from typing import TypeAlias +else: + from typing_extensions import TypeAlias + +if TYPE_CHECKING: + from .._core._synchronization import CapacityLimiter, Event, Lock, Semaphore + from .._core._tasks import CancelScope + from .._core._testing import TaskInfo + from ..from_thread import BlockingPortal + from ._sockets import ( + ConnectedUDPSocket, + ConnectedUNIXDatagramSocket, + IPSockAddrType, + SocketListener, + SocketStream, + UDPSocket, + UNIXDatagramSocket, + UNIXSocketStream, + ) + from ._subprocesses import Process + from ._tasks import TaskGroup + from ._testing import TestRunner + +T_Retval = TypeVar("T_Retval") +PosArgsT = TypeVarTuple("PosArgsT") +StrOrBytesPath: TypeAlias = Union[str, bytes, "PathLike[str]", "PathLike[bytes]"] + + +class AsyncBackend(metaclass=ABCMeta): + @classmethod + @abstractmethod + def run( + cls, + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], + args: tuple[Unpack[PosArgsT]], + kwargs: dict[str, Any], + options: dict[str, Any], + ) -> T_Retval: + """ + Run the given coroutine function in an asynchronous event loop. + + The current thread must not be already running an event loop. + + :param func: a coroutine function + :param args: positional arguments to ``func`` + :param kwargs: positional arguments to ``func`` + :param options: keyword arguments to call the backend ``run()`` implementation + with + :return: the return value of the coroutine function + """ + + @classmethod + @abstractmethod + def current_token(cls) -> object: + """ + + :return: + """ + + @classmethod + @abstractmethod + def current_time(cls) -> float: + """ + Return the current value of the event loop's internal clock. + + :return: the clock value (seconds) + """ + + @classmethod + @abstractmethod + def cancelled_exception_class(cls) -> type[BaseException]: + """Return the exception class that is raised in a task if it's cancelled.""" + + @classmethod + @abstractmethod + async def checkpoint(cls) -> None: + """ + Check if the task has been cancelled, and allow rescheduling of other tasks. + + This is effectively the same as running :meth:`checkpoint_if_cancelled` and then + :meth:`cancel_shielded_checkpoint`. + """ + + @classmethod + async def checkpoint_if_cancelled(cls) -> None: + """ + Check if the current task group has been cancelled. + + This will check if the task has been cancelled, but will not allow other tasks + to be scheduled if not. + + """ + if cls.current_effective_deadline() == -math.inf: + await cls.checkpoint() + + @classmethod + async def cancel_shielded_checkpoint(cls) -> None: + """ + Allow the rescheduling of other tasks. + + This will give other tasks the opportunity to run, but without checking if the + current task group has been cancelled, unlike with :meth:`checkpoint`. + + """ + with cls.create_cancel_scope(shield=True): + await cls.sleep(0) + + @classmethod + @abstractmethod + async def sleep(cls, delay: float) -> None: + """ + Pause the current task for the specified duration. + + :param delay: the duration, in seconds + """ + + @classmethod + @abstractmethod + def create_cancel_scope( + cls, *, deadline: float = math.inf, shield: bool = False + ) -> CancelScope: + pass + + @classmethod + @abstractmethod + def current_effective_deadline(cls) -> float: + """ + Return the nearest deadline among all the cancel scopes effective for the + current task. + + :return: + - a clock value from the event loop's internal clock + - ``inf`` if there is no deadline in effect + - ``-inf`` if the current scope has been cancelled + :rtype: float + """ + + @classmethod + @abstractmethod + def create_task_group(cls) -> TaskGroup: + pass + + @classmethod + @abstractmethod + def create_event(cls) -> Event: + pass + + @classmethod + @abstractmethod + def create_lock(cls, *, fast_acquire: bool) -> Lock: + pass + + @classmethod + @abstractmethod + def create_semaphore( + cls, + initial_value: int, + *, + max_value: int | None = None, + fast_acquire: bool = False, + ) -> Semaphore: + pass + + @classmethod + @abstractmethod + def create_capacity_limiter(cls, total_tokens: float) -> CapacityLimiter: + pass + + @classmethod + @abstractmethod + async def run_sync_in_worker_thread( + cls, + func: Callable[[Unpack[PosArgsT]], T_Retval], + args: tuple[Unpack[PosArgsT]], + abandon_on_cancel: bool = False, + limiter: CapacityLimiter | None = None, + ) -> T_Retval: + pass + + @classmethod + @abstractmethod + def check_cancelled(cls) -> None: + pass + + @classmethod + @abstractmethod + def run_async_from_thread( + cls, + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], + args: tuple[Unpack[PosArgsT]], + token: object, + ) -> T_Retval: + pass + + @classmethod + @abstractmethod + def run_sync_from_thread( + cls, + func: Callable[[Unpack[PosArgsT]], T_Retval], + args: tuple[Unpack[PosArgsT]], + token: object, + ) -> T_Retval: + pass + + @classmethod + @abstractmethod + def create_blocking_portal(cls) -> BlockingPortal: + pass + + @classmethod + @abstractmethod + async def open_process( + cls, + command: StrOrBytesPath | Sequence[StrOrBytesPath], + *, + stdin: int | IO[Any] | None, + stdout: int | IO[Any] | None, + stderr: int | IO[Any] | None, + **kwargs: Any, + ) -> Process: + pass + + @classmethod + @abstractmethod + def setup_process_pool_exit_at_shutdown(cls, workers: set[Process]) -> None: + pass + + @classmethod + @abstractmethod + async def connect_tcp( + cls, host: str, port: int, local_address: IPSockAddrType | None = None + ) -> SocketStream: + pass + + @classmethod + @abstractmethod + async def connect_unix(cls, path: str | bytes) -> UNIXSocketStream: + pass + + @classmethod + @abstractmethod + def create_tcp_listener(cls, sock: socket) -> SocketListener: + pass + + @classmethod + @abstractmethod + def create_unix_listener(cls, sock: socket) -> SocketListener: + pass + + @classmethod + @abstractmethod + async def create_udp_socket( + cls, + family: AddressFamily, + local_address: IPSockAddrType | None, + remote_address: IPSockAddrType | None, + reuse_port: bool, + ) -> UDPSocket | ConnectedUDPSocket: + pass + + @classmethod + @overload + async def create_unix_datagram_socket( + cls, raw_socket: socket, remote_path: None + ) -> UNIXDatagramSocket: ... + + @classmethod + @overload + async def create_unix_datagram_socket( + cls, raw_socket: socket, remote_path: str | bytes + ) -> ConnectedUNIXDatagramSocket: ... + + @classmethod + @abstractmethod + async def create_unix_datagram_socket( + cls, raw_socket: socket, remote_path: str | bytes | None + ) -> UNIXDatagramSocket | ConnectedUNIXDatagramSocket: + pass + + @classmethod + @abstractmethod + async def getaddrinfo( + cls, + host: bytes | str | None, + port: str | int | None, + *, + family: int | AddressFamily = 0, + type: int | SocketKind = 0, + proto: int = 0, + flags: int = 0, + ) -> list[ + tuple[ + AddressFamily, + SocketKind, + int, + str, + tuple[str, int] | tuple[str, int, int, int], + ] + ]: + pass + + @classmethod + @abstractmethod + async def getnameinfo( + cls, sockaddr: IPSockAddrType, flags: int = 0 + ) -> tuple[str, str]: + pass + + @classmethod + @abstractmethod + async def wait_socket_readable(cls, sock: socket) -> None: + pass + + @classmethod + @abstractmethod + async def wait_socket_writable(cls, sock: socket) -> None: + pass + + @classmethod + @abstractmethod + def current_default_thread_limiter(cls) -> CapacityLimiter: + pass + + @classmethod + @abstractmethod + def open_signal_receiver( + cls, *signals: Signals + ) -> AbstractContextManager[AsyncIterator[Signals]]: + pass + + @classmethod + @abstractmethod + def get_current_task(cls) -> TaskInfo: + pass + + @classmethod + @abstractmethod + def get_running_tasks(cls) -> Sequence[TaskInfo]: + pass + + @classmethod + @abstractmethod + async def wait_all_tasks_blocked(cls) -> None: + pass + + @classmethod + @abstractmethod + def create_test_runner(cls, options: dict[str, Any]) -> TestRunner: + pass diff --git a/venv/Lib/site-packages/anyio/abc/_resources.py b/venv/Lib/site-packages/anyio/abc/_resources.py new file mode 100644 index 00000000..10df115a --- /dev/null +++ b/venv/Lib/site-packages/anyio/abc/_resources.py @@ -0,0 +1,33 @@ +from __future__ import annotations + +from abc import ABCMeta, abstractmethod +from types import TracebackType +from typing import TypeVar + +T = TypeVar("T") + + +class AsyncResource(metaclass=ABCMeta): + """ + Abstract base class for all closeable asynchronous resources. + + Works as an asynchronous context manager which returns the instance itself on enter, + and calls :meth:`aclose` on exit. + """ + + __slots__ = () + + async def __aenter__(self: T) -> T: + return self + + async def __aexit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> None: + await self.aclose() + + @abstractmethod + async def aclose(self) -> None: + """Close the resource.""" diff --git a/venv/Lib/site-packages/anyio/abc/_sockets.py b/venv/Lib/site-packages/anyio/abc/_sockets.py new file mode 100644 index 00000000..1c6a450c --- /dev/null +++ b/venv/Lib/site-packages/anyio/abc/_sockets.py @@ -0,0 +1,194 @@ +from __future__ import annotations + +import socket +from abc import abstractmethod +from collections.abc import Callable, Collection, Mapping +from contextlib import AsyncExitStack +from io import IOBase +from ipaddress import IPv4Address, IPv6Address +from socket import AddressFamily +from types import TracebackType +from typing import Any, TypeVar, Union + +from .._core._typedattr import ( + TypedAttributeProvider, + TypedAttributeSet, + typed_attribute, +) +from ._streams import ByteStream, Listener, UnreliableObjectStream +from ._tasks import TaskGroup + +IPAddressType = Union[str, IPv4Address, IPv6Address] +IPSockAddrType = tuple[str, int] +SockAddrType = Union[IPSockAddrType, str] +UDPPacketType = tuple[bytes, IPSockAddrType] +UNIXDatagramPacketType = tuple[bytes, str] +T_Retval = TypeVar("T_Retval") + + +class _NullAsyncContextManager: + async def __aenter__(self) -> None: + pass + + async def __aexit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> bool | None: + return None + + +class SocketAttribute(TypedAttributeSet): + #: the address family of the underlying socket + family: AddressFamily = typed_attribute() + #: the local socket address of the underlying socket + local_address: SockAddrType = typed_attribute() + #: for IP addresses, the local port the underlying socket is bound to + local_port: int = typed_attribute() + #: the underlying stdlib socket object + raw_socket: socket.socket = typed_attribute() + #: the remote address the underlying socket is connected to + remote_address: SockAddrType = typed_attribute() + #: for IP addresses, the remote port the underlying socket is connected to + remote_port: int = typed_attribute() + + +class _SocketProvider(TypedAttributeProvider): + @property + def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: + from .._core._sockets import convert_ipv6_sockaddr as convert + + attributes: dict[Any, Callable[[], Any]] = { + SocketAttribute.family: lambda: self._raw_socket.family, + SocketAttribute.local_address: lambda: convert( + self._raw_socket.getsockname() + ), + SocketAttribute.raw_socket: lambda: self._raw_socket, + } + try: + peername: tuple[str, int] | None = convert(self._raw_socket.getpeername()) + except OSError: + peername = None + + # Provide the remote address for connected sockets + if peername is not None: + attributes[SocketAttribute.remote_address] = lambda: peername + + # Provide local and remote ports for IP based sockets + if self._raw_socket.family in (AddressFamily.AF_INET, AddressFamily.AF_INET6): + attributes[SocketAttribute.local_port] = ( + lambda: self._raw_socket.getsockname()[1] + ) + if peername is not None: + remote_port = peername[1] + attributes[SocketAttribute.remote_port] = lambda: remote_port + + return attributes + + @property + @abstractmethod + def _raw_socket(self) -> socket.socket: + pass + + +class SocketStream(ByteStream, _SocketProvider): + """ + Transports bytes over a socket. + + Supports all relevant extra attributes from :class:`~SocketAttribute`. + """ + + +class UNIXSocketStream(SocketStream): + @abstractmethod + async def send_fds(self, message: bytes, fds: Collection[int | IOBase]) -> None: + """ + Send file descriptors along with a message to the peer. + + :param message: a non-empty bytestring + :param fds: a collection of files (either numeric file descriptors or open file + or socket objects) + """ + + @abstractmethod + async def receive_fds(self, msglen: int, maxfds: int) -> tuple[bytes, list[int]]: + """ + Receive file descriptors along with a message from the peer. + + :param msglen: length of the message to expect from the peer + :param maxfds: maximum number of file descriptors to expect from the peer + :return: a tuple of (message, file descriptors) + """ + + +class SocketListener(Listener[SocketStream], _SocketProvider): + """ + Listens to incoming socket connections. + + Supports all relevant extra attributes from :class:`~SocketAttribute`. + """ + + @abstractmethod + async def accept(self) -> SocketStream: + """Accept an incoming connection.""" + + async def serve( + self, + handler: Callable[[SocketStream], Any], + task_group: TaskGroup | None = None, + ) -> None: + from .. import create_task_group + + async with AsyncExitStack() as stack: + if task_group is None: + task_group = await stack.enter_async_context(create_task_group()) + + while True: + stream = await self.accept() + task_group.start_soon(handler, stream) + + +class UDPSocket(UnreliableObjectStream[UDPPacketType], _SocketProvider): + """ + Represents an unconnected UDP socket. + + Supports all relevant extra attributes from :class:`~SocketAttribute`. + """ + + async def sendto(self, data: bytes, host: str, port: int) -> None: + """ + Alias for :meth:`~.UnreliableObjectSendStream.send` ((data, (host, port))). + + """ + return await self.send((data, (host, port))) + + +class ConnectedUDPSocket(UnreliableObjectStream[bytes], _SocketProvider): + """ + Represents an connected UDP socket. + + Supports all relevant extra attributes from :class:`~SocketAttribute`. + """ + + +class UNIXDatagramSocket( + UnreliableObjectStream[UNIXDatagramPacketType], _SocketProvider +): + """ + Represents an unconnected Unix datagram socket. + + Supports all relevant extra attributes from :class:`~SocketAttribute`. + """ + + async def sendto(self, data: bytes, path: str) -> None: + """Alias for :meth:`~.UnreliableObjectSendStream.send` ((data, path)).""" + return await self.send((data, path)) + + +class ConnectedUNIXDatagramSocket(UnreliableObjectStream[bytes], _SocketProvider): + """ + Represents a connected Unix datagram socket. + + Supports all relevant extra attributes from :class:`~SocketAttribute`. + """ diff --git a/venv/Lib/site-packages/anyio/abc/_streams.py b/venv/Lib/site-packages/anyio/abc/_streams.py new file mode 100644 index 00000000..8c638683 --- /dev/null +++ b/venv/Lib/site-packages/anyio/abc/_streams.py @@ -0,0 +1,203 @@ +from __future__ import annotations + +from abc import abstractmethod +from collections.abc import Callable +from typing import Any, Generic, TypeVar, Union + +from .._core._exceptions import EndOfStream +from .._core._typedattr import TypedAttributeProvider +from ._resources import AsyncResource +from ._tasks import TaskGroup + +T_Item = TypeVar("T_Item") +T_co = TypeVar("T_co", covariant=True) +T_contra = TypeVar("T_contra", contravariant=True) + + +class UnreliableObjectReceiveStream( + Generic[T_co], AsyncResource, TypedAttributeProvider +): + """ + An interface for receiving objects. + + This interface makes no guarantees that the received messages arrive in the order in + which they were sent, or that no messages are missed. + + Asynchronously iterating over objects of this type will yield objects matching the + given type parameter. + """ + + def __aiter__(self) -> UnreliableObjectReceiveStream[T_co]: + return self + + async def __anext__(self) -> T_co: + try: + return await self.receive() + except EndOfStream: + raise StopAsyncIteration + + @abstractmethod + async def receive(self) -> T_co: + """ + Receive the next item. + + :raises ~anyio.ClosedResourceError: if the receive stream has been explicitly + closed + :raises ~anyio.EndOfStream: if this stream has been closed from the other end + :raises ~anyio.BrokenResourceError: if this stream has been rendered unusable + due to external causes + """ + + +class UnreliableObjectSendStream( + Generic[T_contra], AsyncResource, TypedAttributeProvider +): + """ + An interface for sending objects. + + This interface makes no guarantees that the messages sent will reach the + recipient(s) in the same order in which they were sent, or at all. + """ + + @abstractmethod + async def send(self, item: T_contra) -> None: + """ + Send an item to the peer(s). + + :param item: the item to send + :raises ~anyio.ClosedResourceError: if the send stream has been explicitly + closed + :raises ~anyio.BrokenResourceError: if this stream has been rendered unusable + due to external causes + """ + + +class UnreliableObjectStream( + UnreliableObjectReceiveStream[T_Item], UnreliableObjectSendStream[T_Item] +): + """ + A bidirectional message stream which does not guarantee the order or reliability of + message delivery. + """ + + +class ObjectReceiveStream(UnreliableObjectReceiveStream[T_co]): + """ + A receive message stream which guarantees that messages are received in the same + order in which they were sent, and that no messages are missed. + """ + + +class ObjectSendStream(UnreliableObjectSendStream[T_contra]): + """ + A send message stream which guarantees that messages are delivered in the same order + in which they were sent, without missing any messages in the middle. + """ + + +class ObjectStream( + ObjectReceiveStream[T_Item], + ObjectSendStream[T_Item], + UnreliableObjectStream[T_Item], +): + """ + A bidirectional message stream which guarantees the order and reliability of message + delivery. + """ + + @abstractmethod + async def send_eof(self) -> None: + """ + Send an end-of-file indication to the peer. + + You should not try to send any further data to this stream after calling this + method. This method is idempotent (does nothing on successive calls). + """ + + +class ByteReceiveStream(AsyncResource, TypedAttributeProvider): + """ + An interface for receiving bytes from a single peer. + + Iterating this byte stream will yield a byte string of arbitrary length, but no more + than 65536 bytes. + """ + + def __aiter__(self) -> ByteReceiveStream: + return self + + async def __anext__(self) -> bytes: + try: + return await self.receive() + except EndOfStream: + raise StopAsyncIteration + + @abstractmethod + async def receive(self, max_bytes: int = 65536) -> bytes: + """ + Receive at most ``max_bytes`` bytes from the peer. + + .. note:: Implementors of this interface should not return an empty + :class:`bytes` object, and users should ignore them. + + :param max_bytes: maximum number of bytes to receive + :return: the received bytes + :raises ~anyio.EndOfStream: if this stream has been closed from the other end + """ + + +class ByteSendStream(AsyncResource, TypedAttributeProvider): + """An interface for sending bytes to a single peer.""" + + @abstractmethod + async def send(self, item: bytes) -> None: + """ + Send the given bytes to the peer. + + :param item: the bytes to send + """ + + +class ByteStream(ByteReceiveStream, ByteSendStream): + """A bidirectional byte stream.""" + + @abstractmethod + async def send_eof(self) -> None: + """ + Send an end-of-file indication to the peer. + + You should not try to send any further data to this stream after calling this + method. This method is idempotent (does nothing on successive calls). + """ + + +#: Type alias for all unreliable bytes-oriented receive streams. +AnyUnreliableByteReceiveStream = Union[ + UnreliableObjectReceiveStream[bytes], ByteReceiveStream +] +#: Type alias for all unreliable bytes-oriented send streams. +AnyUnreliableByteSendStream = Union[UnreliableObjectSendStream[bytes], ByteSendStream] +#: Type alias for all unreliable bytes-oriented streams. +AnyUnreliableByteStream = Union[UnreliableObjectStream[bytes], ByteStream] +#: Type alias for all bytes-oriented receive streams. +AnyByteReceiveStream = Union[ObjectReceiveStream[bytes], ByteReceiveStream] +#: Type alias for all bytes-oriented send streams. +AnyByteSendStream = Union[ObjectSendStream[bytes], ByteSendStream] +#: Type alias for all bytes-oriented streams. +AnyByteStream = Union[ObjectStream[bytes], ByteStream] + + +class Listener(Generic[T_co], AsyncResource, TypedAttributeProvider): + """An interface for objects that let you accept incoming connections.""" + + @abstractmethod + async def serve( + self, handler: Callable[[T_co], Any], task_group: TaskGroup | None = None + ) -> None: + """ + Accept incoming connections as they come in and start tasks to handle them. + + :param handler: a callable that will be used to handle each accepted connection + :param task_group: the task group that will be used to start tasks for handling + each accepted connection (if omitted, an ad-hoc task group will be created) + """ diff --git a/venv/Lib/site-packages/anyio/abc/_subprocesses.py b/venv/Lib/site-packages/anyio/abc/_subprocesses.py new file mode 100644 index 00000000..ce0564ce --- /dev/null +++ b/venv/Lib/site-packages/anyio/abc/_subprocesses.py @@ -0,0 +1,79 @@ +from __future__ import annotations + +from abc import abstractmethod +from signal import Signals + +from ._resources import AsyncResource +from ._streams import ByteReceiveStream, ByteSendStream + + +class Process(AsyncResource): + """An asynchronous version of :class:`subprocess.Popen`.""" + + @abstractmethod + async def wait(self) -> int: + """ + Wait until the process exits. + + :return: the exit code of the process + """ + + @abstractmethod + def terminate(self) -> None: + """ + Terminates the process, gracefully if possible. + + On Windows, this calls ``TerminateProcess()``. + On POSIX systems, this sends ``SIGTERM`` to the process. + + .. seealso:: :meth:`subprocess.Popen.terminate` + """ + + @abstractmethod + def kill(self) -> None: + """ + Kills the process. + + On Windows, this calls ``TerminateProcess()``. + On POSIX systems, this sends ``SIGKILL`` to the process. + + .. seealso:: :meth:`subprocess.Popen.kill` + """ + + @abstractmethod + def send_signal(self, signal: Signals) -> None: + """ + Send a signal to the subprocess. + + .. seealso:: :meth:`subprocess.Popen.send_signal` + + :param signal: the signal number (e.g. :data:`signal.SIGHUP`) + """ + + @property + @abstractmethod + def pid(self) -> int: + """The process ID of the process.""" + + @property + @abstractmethod + def returncode(self) -> int | None: + """ + The return code of the process. If the process has not yet terminated, this will + be ``None``. + """ + + @property + @abstractmethod + def stdin(self) -> ByteSendStream | None: + """The stream for the standard input of the process.""" + + @property + @abstractmethod + def stdout(self) -> ByteReceiveStream | None: + """The stream for the standard output of the process.""" + + @property + @abstractmethod + def stderr(self) -> ByteReceiveStream | None: + """The stream for the standard error output of the process.""" diff --git a/venv/Lib/site-packages/anyio/abc/_tasks.py b/venv/Lib/site-packages/anyio/abc/_tasks.py new file mode 100644 index 00000000..88aecf38 --- /dev/null +++ b/venv/Lib/site-packages/anyio/abc/_tasks.py @@ -0,0 +1,95 @@ +from __future__ import annotations + +import sys +from abc import ABCMeta, abstractmethod +from collections.abc import Awaitable, Callable +from types import TracebackType +from typing import TYPE_CHECKING, Any, Protocol, TypeVar, overload + +if sys.version_info >= (3, 11): + from typing import TypeVarTuple, Unpack +else: + from typing_extensions import TypeVarTuple, Unpack + +if TYPE_CHECKING: + from .._core._tasks import CancelScope + +T_Retval = TypeVar("T_Retval") +T_contra = TypeVar("T_contra", contravariant=True) +PosArgsT = TypeVarTuple("PosArgsT") + + +class TaskStatus(Protocol[T_contra]): + @overload + def started(self: TaskStatus[None]) -> None: ... + + @overload + def started(self, value: T_contra) -> None: ... + + def started(self, value: T_contra | None = None) -> None: + """ + Signal that the task has started. + + :param value: object passed back to the starter of the task + """ + + +class TaskGroup(metaclass=ABCMeta): + """ + Groups several asynchronous tasks together. + + :ivar cancel_scope: the cancel scope inherited by all child tasks + :vartype cancel_scope: CancelScope + """ + + cancel_scope: CancelScope + + @abstractmethod + def start_soon( + self, + func: Callable[[Unpack[PosArgsT]], Awaitable[Any]], + *args: Unpack[PosArgsT], + name: object = None, + ) -> None: + """ + Start a new task in this task group. + + :param func: a coroutine function + :param args: positional arguments to call the function with + :param name: name of the task, for the purposes of introspection and debugging + + .. versionadded:: 3.0 + """ + + @abstractmethod + async def start( + self, + func: Callable[..., Awaitable[Any]], + *args: object, + name: object = None, + ) -> Any: + """ + Start a new task and wait until it signals for readiness. + + :param func: a coroutine function + :param args: positional arguments to call the function with + :param name: name of the task, for the purposes of introspection and debugging + :return: the value passed to ``task_status.started()`` + :raises RuntimeError: if the task finishes without calling + ``task_status.started()`` + + .. versionadded:: 3.0 + """ + + @abstractmethod + async def __aenter__(self) -> TaskGroup: + """Enter the task group context and allow starting new tasks.""" + + @abstractmethod + async def __aexit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> bool | None: + """Exit the task group context waiting for all tasks to finish.""" diff --git a/venv/Lib/site-packages/anyio/abc/_testing.py b/venv/Lib/site-packages/anyio/abc/_testing.py new file mode 100644 index 00000000..7c50ed76 --- /dev/null +++ b/venv/Lib/site-packages/anyio/abc/_testing.py @@ -0,0 +1,65 @@ +from __future__ import annotations + +import types +from abc import ABCMeta, abstractmethod +from collections.abc import AsyncGenerator, Callable, Coroutine, Iterable +from typing import Any, TypeVar + +_T = TypeVar("_T") + + +class TestRunner(metaclass=ABCMeta): + """ + Encapsulates a running event loop. Every call made through this object will use the + same event loop. + """ + + def __enter__(self) -> TestRunner: + return self + + @abstractmethod + def __exit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: types.TracebackType | None, + ) -> bool | None: ... + + @abstractmethod + def run_asyncgen_fixture( + self, + fixture_func: Callable[..., AsyncGenerator[_T, Any]], + kwargs: dict[str, Any], + ) -> Iterable[_T]: + """ + Run an async generator fixture. + + :param fixture_func: the fixture function + :param kwargs: keyword arguments to call the fixture function with + :return: an iterator yielding the value yielded from the async generator + """ + + @abstractmethod + def run_fixture( + self, + fixture_func: Callable[..., Coroutine[Any, Any, _T]], + kwargs: dict[str, Any], + ) -> _T: + """ + Run an async fixture. + + :param fixture_func: the fixture function + :param kwargs: keyword arguments to call the fixture function with + :return: the return value of the fixture function + """ + + @abstractmethod + def run_test( + self, test_func: Callable[..., Coroutine[Any, Any, Any]], kwargs: dict[str, Any] + ) -> None: + """ + Run an async test function. + + :param test_func: the test function + :param kwargs: keyword arguments to call the test function with + """ diff --git a/venv/Lib/site-packages/anyio/from_thread.py b/venv/Lib/site-packages/anyio/from_thread.py new file mode 100644 index 00000000..93a4cfe8 --- /dev/null +++ b/venv/Lib/site-packages/anyio/from_thread.py @@ -0,0 +1,527 @@ +from __future__ import annotations + +import sys +from collections.abc import Awaitable, Callable, Generator +from concurrent.futures import Future +from contextlib import ( + AbstractAsyncContextManager, + AbstractContextManager, + contextmanager, +) +from dataclasses import dataclass, field +from inspect import isawaitable +from threading import Lock, Thread, get_ident +from types import TracebackType +from typing import ( + Any, + Generic, + TypeVar, + cast, + overload, +) + +from ._core import _eventloop +from ._core._eventloop import get_async_backend, get_cancelled_exc_class, threadlocals +from ._core._synchronization import Event +from ._core._tasks import CancelScope, create_task_group +from .abc import AsyncBackend +from .abc._tasks import TaskStatus + +if sys.version_info >= (3, 11): + from typing import TypeVarTuple, Unpack +else: + from typing_extensions import TypeVarTuple, Unpack + +T_Retval = TypeVar("T_Retval") +T_co = TypeVar("T_co", covariant=True) +PosArgsT = TypeVarTuple("PosArgsT") + + +def run( + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], *args: Unpack[PosArgsT] +) -> T_Retval: + """ + Call a coroutine function from a worker thread. + + :param func: a coroutine function + :param args: positional arguments for the callable + :return: the return value of the coroutine function + + """ + try: + async_backend = threadlocals.current_async_backend + token = threadlocals.current_token + except AttributeError: + raise RuntimeError( + "This function can only be run from an AnyIO worker thread" + ) from None + + return async_backend.run_async_from_thread(func, args, token=token) + + +def run_sync( + func: Callable[[Unpack[PosArgsT]], T_Retval], *args: Unpack[PosArgsT] +) -> T_Retval: + """ + Call a function in the event loop thread from a worker thread. + + :param func: a callable + :param args: positional arguments for the callable + :return: the return value of the callable + + """ + try: + async_backend = threadlocals.current_async_backend + token = threadlocals.current_token + except AttributeError: + raise RuntimeError( + "This function can only be run from an AnyIO worker thread" + ) from None + + return async_backend.run_sync_from_thread(func, args, token=token) + + +class _BlockingAsyncContextManager(Generic[T_co], AbstractContextManager): + _enter_future: Future[T_co] + _exit_future: Future[bool | None] + _exit_event: Event + _exit_exc_info: tuple[ + type[BaseException] | None, BaseException | None, TracebackType | None + ] = (None, None, None) + + def __init__( + self, async_cm: AbstractAsyncContextManager[T_co], portal: BlockingPortal + ): + self._async_cm = async_cm + self._portal = portal + + async def run_async_cm(self) -> bool | None: + try: + self._exit_event = Event() + value = await self._async_cm.__aenter__() + except BaseException as exc: + self._enter_future.set_exception(exc) + raise + else: + self._enter_future.set_result(value) + + try: + # Wait for the sync context manager to exit. + # This next statement can raise `get_cancelled_exc_class()` if + # something went wrong in a task group in this async context + # manager. + await self._exit_event.wait() + finally: + # In case of cancellation, it could be that we end up here before + # `_BlockingAsyncContextManager.__exit__` is called, and an + # `_exit_exc_info` has been set. + result = await self._async_cm.__aexit__(*self._exit_exc_info) + return result + + def __enter__(self) -> T_co: + self._enter_future = Future() + self._exit_future = self._portal.start_task_soon(self.run_async_cm) + return self._enter_future.result() + + def __exit__( + self, + __exc_type: type[BaseException] | None, + __exc_value: BaseException | None, + __traceback: TracebackType | None, + ) -> bool | None: + self._exit_exc_info = __exc_type, __exc_value, __traceback + self._portal.call(self._exit_event.set) + return self._exit_future.result() + + +class _BlockingPortalTaskStatus(TaskStatus): + def __init__(self, future: Future): + self._future = future + + def started(self, value: object = None) -> None: + self._future.set_result(value) + + +class BlockingPortal: + """An object that lets external threads run code in an asynchronous event loop.""" + + def __new__(cls) -> BlockingPortal: + return get_async_backend().create_blocking_portal() + + def __init__(self) -> None: + self._event_loop_thread_id: int | None = get_ident() + self._stop_event = Event() + self._task_group = create_task_group() + self._cancelled_exc_class = get_cancelled_exc_class() + + async def __aenter__(self) -> BlockingPortal: + await self._task_group.__aenter__() + return self + + async def __aexit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> bool | None: + await self.stop() + return await self._task_group.__aexit__(exc_type, exc_val, exc_tb) + + def _check_running(self) -> None: + if self._event_loop_thread_id is None: + raise RuntimeError("This portal is not running") + if self._event_loop_thread_id == get_ident(): + raise RuntimeError( + "This method cannot be called from the event loop thread" + ) + + async def sleep_until_stopped(self) -> None: + """Sleep until :meth:`stop` is called.""" + await self._stop_event.wait() + + async def stop(self, cancel_remaining: bool = False) -> None: + """ + Signal the portal to shut down. + + This marks the portal as no longer accepting new calls and exits from + :meth:`sleep_until_stopped`. + + :param cancel_remaining: ``True`` to cancel all the remaining tasks, ``False`` + to let them finish before returning + + """ + self._event_loop_thread_id = None + self._stop_event.set() + if cancel_remaining: + self._task_group.cancel_scope.cancel() + + async def _call_func( + self, + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval] | T_Retval], + args: tuple[Unpack[PosArgsT]], + kwargs: dict[str, Any], + future: Future[T_Retval], + ) -> None: + def callback(f: Future[T_Retval]) -> None: + if f.cancelled() and self._event_loop_thread_id not in ( + None, + get_ident(), + ): + self.call(scope.cancel) + + try: + retval_or_awaitable = func(*args, **kwargs) + if isawaitable(retval_or_awaitable): + with CancelScope() as scope: + if future.cancelled(): + scope.cancel() + else: + future.add_done_callback(callback) + + retval = await retval_or_awaitable + else: + retval = retval_or_awaitable + except self._cancelled_exc_class: + future.cancel() + future.set_running_or_notify_cancel() + except BaseException as exc: + if not future.cancelled(): + future.set_exception(exc) + + # Let base exceptions fall through + if not isinstance(exc, Exception): + raise + else: + if not future.cancelled(): + future.set_result(retval) + finally: + scope = None # type: ignore[assignment] + + def _spawn_task_from_thread( + self, + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval] | T_Retval], + args: tuple[Unpack[PosArgsT]], + kwargs: dict[str, Any], + name: object, + future: Future[T_Retval], + ) -> None: + """ + Spawn a new task using the given callable. + + Implementors must ensure that the future is resolved when the task finishes. + + :param func: a callable + :param args: positional arguments to be passed to the callable + :param kwargs: keyword arguments to be passed to the callable + :param name: name of the task (will be coerced to a string if not ``None``) + :param future: a future that will resolve to the return value of the callable, + or the exception raised during its execution + + """ + raise NotImplementedError + + @overload + def call( + self, + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], + *args: Unpack[PosArgsT], + ) -> T_Retval: ... + + @overload + def call( + self, func: Callable[[Unpack[PosArgsT]], T_Retval], *args: Unpack[PosArgsT] + ) -> T_Retval: ... + + def call( + self, + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval] | T_Retval], + *args: Unpack[PosArgsT], + ) -> T_Retval: + """ + Call the given function in the event loop thread. + + If the callable returns a coroutine object, it is awaited on. + + :param func: any callable + :raises RuntimeError: if the portal is not running or if this method is called + from within the event loop thread + + """ + return cast(T_Retval, self.start_task_soon(func, *args).result()) + + @overload + def start_task_soon( + self, + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]], + *args: Unpack[PosArgsT], + name: object = None, + ) -> Future[T_Retval]: ... + + @overload + def start_task_soon( + self, + func: Callable[[Unpack[PosArgsT]], T_Retval], + *args: Unpack[PosArgsT], + name: object = None, + ) -> Future[T_Retval]: ... + + def start_task_soon( + self, + func: Callable[[Unpack[PosArgsT]], Awaitable[T_Retval] | T_Retval], + *args: Unpack[PosArgsT], + name: object = None, + ) -> Future[T_Retval]: + """ + Start a task in the portal's task group. + + The task will be run inside a cancel scope which can be cancelled by cancelling + the returned future. + + :param func: the target function + :param args: positional arguments passed to ``func`` + :param name: name of the task (will be coerced to a string if not ``None``) + :return: a future that resolves with the return value of the callable if the + task completes successfully, or with the exception raised in the task + :raises RuntimeError: if the portal is not running or if this method is called + from within the event loop thread + :rtype: concurrent.futures.Future[T_Retval] + + .. versionadded:: 3.0 + + """ + self._check_running() + f: Future[T_Retval] = Future() + self._spawn_task_from_thread(func, args, {}, name, f) + return f + + def start_task( + self, + func: Callable[..., Awaitable[T_Retval]], + *args: object, + name: object = None, + ) -> tuple[Future[T_Retval], Any]: + """ + Start a task in the portal's task group and wait until it signals for readiness. + + This method works the same way as :meth:`.abc.TaskGroup.start`. + + :param func: the target function + :param args: positional arguments passed to ``func`` + :param name: name of the task (will be coerced to a string if not ``None``) + :return: a tuple of (future, task_status_value) where the ``task_status_value`` + is the value passed to ``task_status.started()`` from within the target + function + :rtype: tuple[concurrent.futures.Future[T_Retval], Any] + + .. versionadded:: 3.0 + + """ + + def task_done(future: Future[T_Retval]) -> None: + if not task_status_future.done(): + if future.cancelled(): + task_status_future.cancel() + elif future.exception(): + task_status_future.set_exception(future.exception()) + else: + exc = RuntimeError( + "Task exited without calling task_status.started()" + ) + task_status_future.set_exception(exc) + + self._check_running() + task_status_future: Future = Future() + task_status = _BlockingPortalTaskStatus(task_status_future) + f: Future = Future() + f.add_done_callback(task_done) + self._spawn_task_from_thread(func, args, {"task_status": task_status}, name, f) + return f, task_status_future.result() + + def wrap_async_context_manager( + self, cm: AbstractAsyncContextManager[T_co] + ) -> AbstractContextManager[T_co]: + """ + Wrap an async context manager as a synchronous context manager via this portal. + + Spawns a task that will call both ``__aenter__()`` and ``__aexit__()``, stopping + in the middle until the synchronous context manager exits. + + :param cm: an asynchronous context manager + :return: a synchronous context manager + + .. versionadded:: 2.1 + + """ + return _BlockingAsyncContextManager(cm, self) + + +@dataclass +class BlockingPortalProvider: + """ + A manager for a blocking portal. Used as a context manager. The first thread to + enter this context manager causes a blocking portal to be started with the specific + parameters, and the last thread to exit causes the portal to be shut down. Thus, + there will be exactly one blocking portal running in this context as long as at + least one thread has entered this context manager. + + The parameters are the same as for :func:`~anyio.run`. + + :param backend: name of the backend + :param backend_options: backend options + + .. versionadded:: 4.4 + """ + + backend: str = "asyncio" + backend_options: dict[str, Any] | None = None + _lock: Lock = field(init=False, default_factory=Lock) + _leases: int = field(init=False, default=0) + _portal: BlockingPortal = field(init=False) + _portal_cm: AbstractContextManager[BlockingPortal] | None = field( + init=False, default=None + ) + + def __enter__(self) -> BlockingPortal: + with self._lock: + if self._portal_cm is None: + self._portal_cm = start_blocking_portal( + self.backend, self.backend_options + ) + self._portal = self._portal_cm.__enter__() + + self._leases += 1 + return self._portal + + def __exit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> None: + portal_cm: AbstractContextManager[BlockingPortal] | None = None + with self._lock: + assert self._portal_cm + assert self._leases > 0 + self._leases -= 1 + if not self._leases: + portal_cm = self._portal_cm + self._portal_cm = None + del self._portal + + if portal_cm: + portal_cm.__exit__(None, None, None) + + +@contextmanager +def start_blocking_portal( + backend: str = "asyncio", backend_options: dict[str, Any] | None = None +) -> Generator[BlockingPortal, Any, None]: + """ + Start a new event loop in a new thread and run a blocking portal in its main task. + + The parameters are the same as for :func:`~anyio.run`. + + :param backend: name of the backend + :param backend_options: backend options + :return: a context manager that yields a blocking portal + + .. versionchanged:: 3.0 + Usage as a context manager is now required. + + """ + + async def run_portal() -> None: + async with BlockingPortal() as portal_: + future.set_result(portal_) + await portal_.sleep_until_stopped() + + def run_blocking_portal() -> None: + if future.set_running_or_notify_cancel(): + try: + _eventloop.run( + run_portal, backend=backend, backend_options=backend_options + ) + except BaseException as exc: + if not future.done(): + future.set_exception(exc) + + future: Future[BlockingPortal] = Future() + thread = Thread(target=run_blocking_portal, daemon=True) + thread.start() + try: + cancel_remaining_tasks = False + portal = future.result() + try: + yield portal + except BaseException: + cancel_remaining_tasks = True + raise + finally: + try: + portal.call(portal.stop, cancel_remaining_tasks) + except RuntimeError: + pass + finally: + thread.join() + + +def check_cancelled() -> None: + """ + Check if the cancel scope of the host task's running the current worker thread has + been cancelled. + + If the host task's current cancel scope has indeed been cancelled, the + backend-specific cancellation exception will be raised. + + :raises RuntimeError: if the current thread was not spawned by + :func:`.to_thread.run_sync` + + """ + try: + async_backend: AsyncBackend = threadlocals.current_async_backend + except AttributeError: + raise RuntimeError( + "This function can only be run from an AnyIO worker thread" + ) from None + + async_backend.check_cancelled() diff --git a/venv/Lib/site-packages/anyio/lowlevel.py b/venv/Lib/site-packages/anyio/lowlevel.py new file mode 100644 index 00000000..14c7668c --- /dev/null +++ b/venv/Lib/site-packages/anyio/lowlevel.py @@ -0,0 +1,161 @@ +from __future__ import annotations + +import enum +from dataclasses import dataclass +from typing import Any, Generic, Literal, TypeVar, overload +from weakref import WeakKeyDictionary + +from ._core._eventloop import get_async_backend + +T = TypeVar("T") +D = TypeVar("D") + + +async def checkpoint() -> None: + """ + Check for cancellation and allow the scheduler to switch to another task. + + Equivalent to (but more efficient than):: + + await checkpoint_if_cancelled() + await cancel_shielded_checkpoint() + + + .. versionadded:: 3.0 + + """ + await get_async_backend().checkpoint() + + +async def checkpoint_if_cancelled() -> None: + """ + Enter a checkpoint if the enclosing cancel scope has been cancelled. + + This does not allow the scheduler to switch to a different task. + + .. versionadded:: 3.0 + + """ + await get_async_backend().checkpoint_if_cancelled() + + +async def cancel_shielded_checkpoint() -> None: + """ + Allow the scheduler to switch to another task but without checking for cancellation. + + Equivalent to (but potentially more efficient than):: + + with CancelScope(shield=True): + await checkpoint() + + + .. versionadded:: 3.0 + + """ + await get_async_backend().cancel_shielded_checkpoint() + + +def current_token() -> object: + """ + Return a backend specific token object that can be used to get back to the event + loop. + + """ + return get_async_backend().current_token() + + +_run_vars: WeakKeyDictionary[Any, dict[str, Any]] = WeakKeyDictionary() +_token_wrappers: dict[Any, _TokenWrapper] = {} + + +@dataclass(frozen=True) +class _TokenWrapper: + __slots__ = "_token", "__weakref__" + _token: object + + +class _NoValueSet(enum.Enum): + NO_VALUE_SET = enum.auto() + + +class RunvarToken(Generic[T]): + __slots__ = "_var", "_value", "_redeemed" + + def __init__(self, var: RunVar[T], value: T | Literal[_NoValueSet.NO_VALUE_SET]): + self._var = var + self._value: T | Literal[_NoValueSet.NO_VALUE_SET] = value + self._redeemed = False + + +class RunVar(Generic[T]): + """ + Like a :class:`~contextvars.ContextVar`, except scoped to the running event loop. + """ + + __slots__ = "_name", "_default" + + NO_VALUE_SET: Literal[_NoValueSet.NO_VALUE_SET] = _NoValueSet.NO_VALUE_SET + + _token_wrappers: set[_TokenWrapper] = set() + + def __init__( + self, name: str, default: T | Literal[_NoValueSet.NO_VALUE_SET] = NO_VALUE_SET + ): + self._name = name + self._default = default + + @property + def _current_vars(self) -> dict[str, T]: + token = current_token() + try: + return _run_vars[token] + except KeyError: + run_vars = _run_vars[token] = {} + return run_vars + + @overload + def get(self, default: D) -> T | D: ... + + @overload + def get(self) -> T: ... + + def get( + self, default: D | Literal[_NoValueSet.NO_VALUE_SET] = NO_VALUE_SET + ) -> T | D: + try: + return self._current_vars[self._name] + except KeyError: + if default is not RunVar.NO_VALUE_SET: + return default + elif self._default is not RunVar.NO_VALUE_SET: + return self._default + + raise LookupError( + f'Run variable "{self._name}" has no value and no default set' + ) + + def set(self, value: T) -> RunvarToken[T]: + current_vars = self._current_vars + token = RunvarToken(self, current_vars.get(self._name, RunVar.NO_VALUE_SET)) + current_vars[self._name] = value + return token + + def reset(self, token: RunvarToken[T]) -> None: + if token._var is not self: + raise ValueError("This token does not belong to this RunVar") + + if token._redeemed: + raise ValueError("This token has already been used") + + if token._value is _NoValueSet.NO_VALUE_SET: + try: + del self._current_vars[self._name] + except KeyError: + pass + else: + self._current_vars[self._name] = token._value + + token._redeemed = True + + def __repr__(self) -> str: + return f"" diff --git a/venv/Lib/site-packages/anyio/py.typed b/venv/Lib/site-packages/anyio/py.typed new file mode 100644 index 00000000..e69de29b diff --git a/venv/Lib/site-packages/anyio/pytest_plugin.py b/venv/Lib/site-packages/anyio/pytest_plugin.py new file mode 100644 index 00000000..4a0d59dd --- /dev/null +++ b/venv/Lib/site-packages/anyio/pytest_plugin.py @@ -0,0 +1,191 @@ +from __future__ import annotations + +import sys +from collections.abc import Generator, Iterator +from contextlib import ExitStack, contextmanager +from inspect import isasyncgenfunction, iscoroutinefunction, ismethod +from typing import Any, cast + +import pytest +import sniffio +from _pytest.fixtures import SubRequest +from _pytest.outcomes import Exit + +from ._core._eventloop import get_all_backends, get_async_backend +from ._core._exceptions import iterate_exceptions +from .abc import TestRunner + +if sys.version_info < (3, 11): + from exceptiongroup import ExceptionGroup + +_current_runner: TestRunner | None = None +_runner_stack: ExitStack | None = None +_runner_leases = 0 + + +def extract_backend_and_options(backend: object) -> tuple[str, dict[str, Any]]: + if isinstance(backend, str): + return backend, {} + elif isinstance(backend, tuple) and len(backend) == 2: + if isinstance(backend[0], str) and isinstance(backend[1], dict): + return cast(tuple[str, dict[str, Any]], backend) + + raise TypeError("anyio_backend must be either a string or tuple of (string, dict)") + + +@contextmanager +def get_runner( + backend_name: str, backend_options: dict[str, Any] +) -> Iterator[TestRunner]: + global _current_runner, _runner_leases, _runner_stack + if _current_runner is None: + asynclib = get_async_backend(backend_name) + _runner_stack = ExitStack() + if sniffio.current_async_library_cvar.get(None) is None: + # Since we're in control of the event loop, we can cache the name of the + # async library + token = sniffio.current_async_library_cvar.set(backend_name) + _runner_stack.callback(sniffio.current_async_library_cvar.reset, token) + + backend_options = backend_options or {} + _current_runner = _runner_stack.enter_context( + asynclib.create_test_runner(backend_options) + ) + + _runner_leases += 1 + try: + yield _current_runner + finally: + _runner_leases -= 1 + if not _runner_leases: + assert _runner_stack is not None + _runner_stack.close() + _runner_stack = _current_runner = None + + +def pytest_configure(config: Any) -> None: + config.addinivalue_line( + "markers", + "anyio: mark the (coroutine function) test to be run " + "asynchronously via anyio.", + ) + + +@pytest.hookimpl(hookwrapper=True) +def pytest_fixture_setup(fixturedef: Any, request: Any) -> Generator[Any]: + def wrapper( + *args: Any, anyio_backend: Any, request: SubRequest, **kwargs: Any + ) -> Any: + # Rebind any fixture methods to the request instance + if ( + request.instance + and ismethod(func) + and type(func.__self__) is type(request.instance) + ): + local_func = func.__func__.__get__(request.instance) + else: + local_func = func + + backend_name, backend_options = extract_backend_and_options(anyio_backend) + if has_backend_arg: + kwargs["anyio_backend"] = anyio_backend + + if has_request_arg: + kwargs["request"] = request + + with get_runner(backend_name, backend_options) as runner: + if isasyncgenfunction(local_func): + yield from runner.run_asyncgen_fixture(local_func, kwargs) + else: + yield runner.run_fixture(local_func, kwargs) + + # Only apply this to coroutine functions and async generator functions in requests + # that involve the anyio_backend fixture + func = fixturedef.func + if isasyncgenfunction(func) or iscoroutinefunction(func): + if "anyio_backend" in request.fixturenames: + fixturedef.func = wrapper + original_argname = fixturedef.argnames + + if not (has_backend_arg := "anyio_backend" in fixturedef.argnames): + fixturedef.argnames += ("anyio_backend",) + + if not (has_request_arg := "request" in fixturedef.argnames): + fixturedef.argnames += ("request",) + + try: + return (yield) + finally: + fixturedef.func = func + fixturedef.argnames = original_argname + + return (yield) + + +@pytest.hookimpl(tryfirst=True) +def pytest_pycollect_makeitem(collector: Any, name: Any, obj: Any) -> None: + if collector.istestfunction(obj, name): + inner_func = obj.hypothesis.inner_test if hasattr(obj, "hypothesis") else obj + if iscoroutinefunction(inner_func): + marker = collector.get_closest_marker("anyio") + own_markers = getattr(obj, "pytestmark", ()) + if marker or any(marker.name == "anyio" for marker in own_markers): + pytest.mark.usefixtures("anyio_backend")(obj) + + +@pytest.hookimpl(tryfirst=True) +def pytest_pyfunc_call(pyfuncitem: Any) -> bool | None: + def run_with_hypothesis(**kwargs: Any) -> None: + with get_runner(backend_name, backend_options) as runner: + runner.run_test(original_func, kwargs) + + backend = pyfuncitem.funcargs.get("anyio_backend") + if backend: + backend_name, backend_options = extract_backend_and_options(backend) + + if hasattr(pyfuncitem.obj, "hypothesis"): + # Wrap the inner test function unless it's already wrapped + original_func = pyfuncitem.obj.hypothesis.inner_test + if original_func.__qualname__ != run_with_hypothesis.__qualname__: + if iscoroutinefunction(original_func): + pyfuncitem.obj.hypothesis.inner_test = run_with_hypothesis + + return None + + if iscoroutinefunction(pyfuncitem.obj): + funcargs = pyfuncitem.funcargs + testargs = {arg: funcargs[arg] for arg in pyfuncitem._fixtureinfo.argnames} + with get_runner(backend_name, backend_options) as runner: + try: + runner.run_test(pyfuncitem.obj, testargs) + except ExceptionGroup as excgrp: + for exc in iterate_exceptions(excgrp): + if isinstance(exc, (Exit, KeyboardInterrupt, SystemExit)): + raise exc from excgrp + + raise + + return True + + return None + + +@pytest.fixture(scope="module", params=get_all_backends()) +def anyio_backend(request: Any) -> Any: + return request.param + + +@pytest.fixture +def anyio_backend_name(anyio_backend: Any) -> str: + if isinstance(anyio_backend, str): + return anyio_backend + else: + return anyio_backend[0] + + +@pytest.fixture +def anyio_backend_options(anyio_backend: Any) -> dict[str, Any]: + if isinstance(anyio_backend, str): + return {} + else: + return anyio_backend[1] diff --git a/venv/Lib/site-packages/anyio/streams/__init__.py b/venv/Lib/site-packages/anyio/streams/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/venv/Lib/site-packages/anyio/streams/__pycache__/__init__.cpython-39.pyc b/venv/Lib/site-packages/anyio/streams/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..98c9ef5f Binary files /dev/null and b/venv/Lib/site-packages/anyio/streams/__pycache__/__init__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/streams/__pycache__/buffered.cpython-39.pyc b/venv/Lib/site-packages/anyio/streams/__pycache__/buffered.cpython-39.pyc new file mode 100644 index 00000000..941ec3cb Binary files /dev/null and b/venv/Lib/site-packages/anyio/streams/__pycache__/buffered.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/streams/__pycache__/file.cpython-39.pyc b/venv/Lib/site-packages/anyio/streams/__pycache__/file.cpython-39.pyc new file mode 100644 index 00000000..f7a19e50 Binary files /dev/null and b/venv/Lib/site-packages/anyio/streams/__pycache__/file.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/streams/__pycache__/memory.cpython-39.pyc b/venv/Lib/site-packages/anyio/streams/__pycache__/memory.cpython-39.pyc new file mode 100644 index 00000000..ea4e6655 Binary files /dev/null and b/venv/Lib/site-packages/anyio/streams/__pycache__/memory.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/streams/__pycache__/stapled.cpython-39.pyc b/venv/Lib/site-packages/anyio/streams/__pycache__/stapled.cpython-39.pyc new file mode 100644 index 00000000..6306e103 Binary files /dev/null and b/venv/Lib/site-packages/anyio/streams/__pycache__/stapled.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/streams/__pycache__/text.cpython-39.pyc b/venv/Lib/site-packages/anyio/streams/__pycache__/text.cpython-39.pyc new file mode 100644 index 00000000..dc48b90b Binary files /dev/null and b/venv/Lib/site-packages/anyio/streams/__pycache__/text.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/streams/__pycache__/tls.cpython-39.pyc b/venv/Lib/site-packages/anyio/streams/__pycache__/tls.cpython-39.pyc new file mode 100644 index 00000000..0c94b2bd Binary files /dev/null and b/venv/Lib/site-packages/anyio/streams/__pycache__/tls.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/anyio/streams/buffered.py b/venv/Lib/site-packages/anyio/streams/buffered.py new file mode 100644 index 00000000..f5d5e836 --- /dev/null +++ b/venv/Lib/site-packages/anyio/streams/buffered.py @@ -0,0 +1,119 @@ +from __future__ import annotations + +from collections.abc import Callable, Mapping +from dataclasses import dataclass, field +from typing import Any + +from .. import ClosedResourceError, DelimiterNotFound, EndOfStream, IncompleteRead +from ..abc import AnyByteReceiveStream, ByteReceiveStream + + +@dataclass(eq=False) +class BufferedByteReceiveStream(ByteReceiveStream): + """ + Wraps any bytes-based receive stream and uses a buffer to provide sophisticated + receiving capabilities in the form of a byte stream. + """ + + receive_stream: AnyByteReceiveStream + _buffer: bytearray = field(init=False, default_factory=bytearray) + _closed: bool = field(init=False, default=False) + + async def aclose(self) -> None: + await self.receive_stream.aclose() + self._closed = True + + @property + def buffer(self) -> bytes: + """The bytes currently in the buffer.""" + return bytes(self._buffer) + + @property + def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: + return self.receive_stream.extra_attributes + + async def receive(self, max_bytes: int = 65536) -> bytes: + if self._closed: + raise ClosedResourceError + + if self._buffer: + chunk = bytes(self._buffer[:max_bytes]) + del self._buffer[:max_bytes] + return chunk + elif isinstance(self.receive_stream, ByteReceiveStream): + return await self.receive_stream.receive(max_bytes) + else: + # With a bytes-oriented object stream, we need to handle any surplus bytes + # we get from the receive() call + chunk = await self.receive_stream.receive() + if len(chunk) > max_bytes: + # Save the surplus bytes in the buffer + self._buffer.extend(chunk[max_bytes:]) + return chunk[:max_bytes] + else: + return chunk + + async def receive_exactly(self, nbytes: int) -> bytes: + """ + Read exactly the given amount of bytes from the stream. + + :param nbytes: the number of bytes to read + :return: the bytes read + :raises ~anyio.IncompleteRead: if the stream was closed before the requested + amount of bytes could be read from the stream + + """ + while True: + remaining = nbytes - len(self._buffer) + if remaining <= 0: + retval = self._buffer[:nbytes] + del self._buffer[:nbytes] + return bytes(retval) + + try: + if isinstance(self.receive_stream, ByteReceiveStream): + chunk = await self.receive_stream.receive(remaining) + else: + chunk = await self.receive_stream.receive() + except EndOfStream as exc: + raise IncompleteRead from exc + + self._buffer.extend(chunk) + + async def receive_until(self, delimiter: bytes, max_bytes: int) -> bytes: + """ + Read from the stream until the delimiter is found or max_bytes have been read. + + :param delimiter: the marker to look for in the stream + :param max_bytes: maximum number of bytes that will be read before raising + :exc:`~anyio.DelimiterNotFound` + :return: the bytes read (not including the delimiter) + :raises ~anyio.IncompleteRead: if the stream was closed before the delimiter + was found + :raises ~anyio.DelimiterNotFound: if the delimiter is not found within the + bytes read up to the maximum allowed + + """ + delimiter_size = len(delimiter) + offset = 0 + while True: + # Check if the delimiter can be found in the current buffer + index = self._buffer.find(delimiter, offset) + if index >= 0: + found = self._buffer[:index] + del self._buffer[: index + len(delimiter) :] + return bytes(found) + + # Check if the buffer is already at or over the limit + if len(self._buffer) >= max_bytes: + raise DelimiterNotFound(max_bytes) + + # Read more data into the buffer from the socket + try: + data = await self.receive_stream.receive() + except EndOfStream as exc: + raise IncompleteRead from exc + + # Move the offset forward and add the new data to the buffer + offset = max(len(self._buffer) - delimiter_size + 1, 0) + self._buffer.extend(data) diff --git a/venv/Lib/site-packages/anyio/streams/file.py b/venv/Lib/site-packages/anyio/streams/file.py new file mode 100644 index 00000000..f4924642 --- /dev/null +++ b/venv/Lib/site-packages/anyio/streams/file.py @@ -0,0 +1,148 @@ +from __future__ import annotations + +from collections.abc import Callable, Mapping +from io import SEEK_SET, UnsupportedOperation +from os import PathLike +from pathlib import Path +from typing import Any, BinaryIO, cast + +from .. import ( + BrokenResourceError, + ClosedResourceError, + EndOfStream, + TypedAttributeSet, + to_thread, + typed_attribute, +) +from ..abc import ByteReceiveStream, ByteSendStream + + +class FileStreamAttribute(TypedAttributeSet): + #: the open file descriptor + file: BinaryIO = typed_attribute() + #: the path of the file on the file system, if available (file must be a real file) + path: Path = typed_attribute() + #: the file number, if available (file must be a real file or a TTY) + fileno: int = typed_attribute() + + +class _BaseFileStream: + def __init__(self, file: BinaryIO): + self._file = file + + async def aclose(self) -> None: + await to_thread.run_sync(self._file.close) + + @property + def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: + attributes: dict[Any, Callable[[], Any]] = { + FileStreamAttribute.file: lambda: self._file, + } + + if hasattr(self._file, "name"): + attributes[FileStreamAttribute.path] = lambda: Path(self._file.name) + + try: + self._file.fileno() + except UnsupportedOperation: + pass + else: + attributes[FileStreamAttribute.fileno] = lambda: self._file.fileno() + + return attributes + + +class FileReadStream(_BaseFileStream, ByteReceiveStream): + """ + A byte stream that reads from a file in the file system. + + :param file: a file that has been opened for reading in binary mode + + .. versionadded:: 3.0 + """ + + @classmethod + async def from_path(cls, path: str | PathLike[str]) -> FileReadStream: + """ + Create a file read stream by opening the given file. + + :param path: path of the file to read from + + """ + file = await to_thread.run_sync(Path(path).open, "rb") + return cls(cast(BinaryIO, file)) + + async def receive(self, max_bytes: int = 65536) -> bytes: + try: + data = await to_thread.run_sync(self._file.read, max_bytes) + except ValueError: + raise ClosedResourceError from None + except OSError as exc: + raise BrokenResourceError from exc + + if data: + return data + else: + raise EndOfStream + + async def seek(self, position: int, whence: int = SEEK_SET) -> int: + """ + Seek the file to the given position. + + .. seealso:: :meth:`io.IOBase.seek` + + .. note:: Not all file descriptors are seekable. + + :param position: position to seek the file to + :param whence: controls how ``position`` is interpreted + :return: the new absolute position + :raises OSError: if the file is not seekable + + """ + return await to_thread.run_sync(self._file.seek, position, whence) + + async def tell(self) -> int: + """ + Return the current stream position. + + .. note:: Not all file descriptors are seekable. + + :return: the current absolute position + :raises OSError: if the file is not seekable + + """ + return await to_thread.run_sync(self._file.tell) + + +class FileWriteStream(_BaseFileStream, ByteSendStream): + """ + A byte stream that writes to a file in the file system. + + :param file: a file that has been opened for writing in binary mode + + .. versionadded:: 3.0 + """ + + @classmethod + async def from_path( + cls, path: str | PathLike[str], append: bool = False + ) -> FileWriteStream: + """ + Create a file write stream by opening the given file for writing. + + :param path: path of the file to write to + :param append: if ``True``, open the file for appending; if ``False``, any + existing file at the given path will be truncated + + """ + mode = "ab" if append else "wb" + file = await to_thread.run_sync(Path(path).open, mode) + return cls(cast(BinaryIO, file)) + + async def send(self, item: bytes) -> None: + try: + await to_thread.run_sync(self._file.write, item) + except ValueError: + raise ClosedResourceError from None + except OSError as exc: + raise BrokenResourceError from exc diff --git a/venv/Lib/site-packages/anyio/streams/memory.py b/venv/Lib/site-packages/anyio/streams/memory.py new file mode 100644 index 00000000..b547aa6a --- /dev/null +++ b/venv/Lib/site-packages/anyio/streams/memory.py @@ -0,0 +1,317 @@ +from __future__ import annotations + +import warnings +from collections import OrderedDict, deque +from dataclasses import dataclass, field +from types import TracebackType +from typing import Generic, NamedTuple, TypeVar + +from .. import ( + BrokenResourceError, + ClosedResourceError, + EndOfStream, + WouldBlock, +) +from .._core._testing import TaskInfo, get_current_task +from ..abc import Event, ObjectReceiveStream, ObjectSendStream +from ..lowlevel import checkpoint + +T_Item = TypeVar("T_Item") +T_co = TypeVar("T_co", covariant=True) +T_contra = TypeVar("T_contra", contravariant=True) + + +class MemoryObjectStreamStatistics(NamedTuple): + current_buffer_used: int #: number of items stored in the buffer + #: maximum number of items that can be stored on this stream (or :data:`math.inf`) + max_buffer_size: float + open_send_streams: int #: number of unclosed clones of the send stream + open_receive_streams: int #: number of unclosed clones of the receive stream + #: number of tasks blocked on :meth:`MemoryObjectSendStream.send` + tasks_waiting_send: int + #: number of tasks blocked on :meth:`MemoryObjectReceiveStream.receive` + tasks_waiting_receive: int + + +@dataclass(eq=False) +class MemoryObjectItemReceiver(Generic[T_Item]): + task_info: TaskInfo = field(init=False, default_factory=get_current_task) + item: T_Item = field(init=False) + + def __repr__(self) -> str: + # When item is not defined, we get following error with default __repr__: + # AttributeError: 'MemoryObjectItemReceiver' object has no attribute 'item' + item = getattr(self, "item", None) + return f"{self.__class__.__name__}(task_info={self.task_info}, item={item!r})" + + +@dataclass(eq=False) +class MemoryObjectStreamState(Generic[T_Item]): + max_buffer_size: float = field() + buffer: deque[T_Item] = field(init=False, default_factory=deque) + open_send_channels: int = field(init=False, default=0) + open_receive_channels: int = field(init=False, default=0) + waiting_receivers: OrderedDict[Event, MemoryObjectItemReceiver[T_Item]] = field( + init=False, default_factory=OrderedDict + ) + waiting_senders: OrderedDict[Event, T_Item] = field( + init=False, default_factory=OrderedDict + ) + + def statistics(self) -> MemoryObjectStreamStatistics: + return MemoryObjectStreamStatistics( + len(self.buffer), + self.max_buffer_size, + self.open_send_channels, + self.open_receive_channels, + len(self.waiting_senders), + len(self.waiting_receivers), + ) + + +@dataclass(eq=False) +class MemoryObjectReceiveStream(Generic[T_co], ObjectReceiveStream[T_co]): + _state: MemoryObjectStreamState[T_co] + _closed: bool = field(init=False, default=False) + + def __post_init__(self) -> None: + self._state.open_receive_channels += 1 + + def receive_nowait(self) -> T_co: + """ + Receive the next item if it can be done without waiting. + + :return: the received item + :raises ~anyio.ClosedResourceError: if this send stream has been closed + :raises ~anyio.EndOfStream: if the buffer is empty and this stream has been + closed from the sending end + :raises ~anyio.WouldBlock: if there are no items in the buffer and no tasks + waiting to send + + """ + if self._closed: + raise ClosedResourceError + + if self._state.waiting_senders: + # Get the item from the next sender + send_event, item = self._state.waiting_senders.popitem(last=False) + self._state.buffer.append(item) + send_event.set() + + if self._state.buffer: + return self._state.buffer.popleft() + elif not self._state.open_send_channels: + raise EndOfStream + + raise WouldBlock + + async def receive(self) -> T_co: + await checkpoint() + try: + return self.receive_nowait() + except WouldBlock: + # Add ourselves in the queue + receive_event = Event() + receiver = MemoryObjectItemReceiver[T_co]() + self._state.waiting_receivers[receive_event] = receiver + + try: + await receive_event.wait() + finally: + self._state.waiting_receivers.pop(receive_event, None) + + try: + return receiver.item + except AttributeError: + raise EndOfStream + + def clone(self) -> MemoryObjectReceiveStream[T_co]: + """ + Create a clone of this receive stream. + + Each clone can be closed separately. Only when all clones have been closed will + the receiving end of the memory stream be considered closed by the sending ends. + + :return: the cloned stream + + """ + if self._closed: + raise ClosedResourceError + + return MemoryObjectReceiveStream(_state=self._state) + + def close(self) -> None: + """ + Close the stream. + + This works the exact same way as :meth:`aclose`, but is provided as a special + case for the benefit of synchronous callbacks. + + """ + if not self._closed: + self._closed = True + self._state.open_receive_channels -= 1 + if self._state.open_receive_channels == 0: + send_events = list(self._state.waiting_senders.keys()) + for event in send_events: + event.set() + + async def aclose(self) -> None: + self.close() + + def statistics(self) -> MemoryObjectStreamStatistics: + """ + Return statistics about the current state of this stream. + + .. versionadded:: 3.0 + """ + return self._state.statistics() + + def __enter__(self) -> MemoryObjectReceiveStream[T_co]: + return self + + def __exit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> None: + self.close() + + def __del__(self) -> None: + if not self._closed: + warnings.warn( + f"Unclosed <{self.__class__.__name__} at {id(self):x}>", + ResourceWarning, + source=self, + ) + + +@dataclass(eq=False) +class MemoryObjectSendStream(Generic[T_contra], ObjectSendStream[T_contra]): + _state: MemoryObjectStreamState[T_contra] + _closed: bool = field(init=False, default=False) + + def __post_init__(self) -> None: + self._state.open_send_channels += 1 + + def send_nowait(self, item: T_contra) -> None: + """ + Send an item immediately if it can be done without waiting. + + :param item: the item to send + :raises ~anyio.ClosedResourceError: if this send stream has been closed + :raises ~anyio.BrokenResourceError: if the stream has been closed from the + receiving end + :raises ~anyio.WouldBlock: if the buffer is full and there are no tasks waiting + to receive + + """ + if self._closed: + raise ClosedResourceError + if not self._state.open_receive_channels: + raise BrokenResourceError + + while self._state.waiting_receivers: + receive_event, receiver = self._state.waiting_receivers.popitem(last=False) + if not receiver.task_info.has_pending_cancellation(): + receiver.item = item + receive_event.set() + return + + if len(self._state.buffer) < self._state.max_buffer_size: + self._state.buffer.append(item) + else: + raise WouldBlock + + async def send(self, item: T_contra) -> None: + """ + Send an item to the stream. + + If the buffer is full, this method blocks until there is again room in the + buffer or the item can be sent directly to a receiver. + + :param item: the item to send + :raises ~anyio.ClosedResourceError: if this send stream has been closed + :raises ~anyio.BrokenResourceError: if the stream has been closed from the + receiving end + + """ + await checkpoint() + try: + self.send_nowait(item) + except WouldBlock: + # Wait until there's someone on the receiving end + send_event = Event() + self._state.waiting_senders[send_event] = item + try: + await send_event.wait() + except BaseException: + self._state.waiting_senders.pop(send_event, None) + raise + + if send_event in self._state.waiting_senders: + del self._state.waiting_senders[send_event] + raise BrokenResourceError from None + + def clone(self) -> MemoryObjectSendStream[T_contra]: + """ + Create a clone of this send stream. + + Each clone can be closed separately. Only when all clones have been closed will + the sending end of the memory stream be considered closed by the receiving ends. + + :return: the cloned stream + + """ + if self._closed: + raise ClosedResourceError + + return MemoryObjectSendStream(_state=self._state) + + def close(self) -> None: + """ + Close the stream. + + This works the exact same way as :meth:`aclose`, but is provided as a special + case for the benefit of synchronous callbacks. + + """ + if not self._closed: + self._closed = True + self._state.open_send_channels -= 1 + if self._state.open_send_channels == 0: + receive_events = list(self._state.waiting_receivers.keys()) + self._state.waiting_receivers.clear() + for event in receive_events: + event.set() + + async def aclose(self) -> None: + self.close() + + def statistics(self) -> MemoryObjectStreamStatistics: + """ + Return statistics about the current state of this stream. + + .. versionadded:: 3.0 + """ + return self._state.statistics() + + def __enter__(self) -> MemoryObjectSendStream[T_contra]: + return self + + def __exit__( + self, + exc_type: type[BaseException] | None, + exc_val: BaseException | None, + exc_tb: TracebackType | None, + ) -> None: + self.close() + + def __del__(self) -> None: + if not self._closed: + warnings.warn( + f"Unclosed <{self.__class__.__name__} at {id(self):x}>", + ResourceWarning, + source=self, + ) diff --git a/venv/Lib/site-packages/anyio/streams/stapled.py b/venv/Lib/site-packages/anyio/streams/stapled.py new file mode 100644 index 00000000..80f64a2e --- /dev/null +++ b/venv/Lib/site-packages/anyio/streams/stapled.py @@ -0,0 +1,141 @@ +from __future__ import annotations + +from collections.abc import Callable, Mapping, Sequence +from dataclasses import dataclass +from typing import Any, Generic, TypeVar + +from ..abc import ( + ByteReceiveStream, + ByteSendStream, + ByteStream, + Listener, + ObjectReceiveStream, + ObjectSendStream, + ObjectStream, + TaskGroup, +) + +T_Item = TypeVar("T_Item") +T_Stream = TypeVar("T_Stream") + + +@dataclass(eq=False) +class StapledByteStream(ByteStream): + """ + Combines two byte streams into a single, bidirectional byte stream. + + Extra attributes will be provided from both streams, with the receive stream + providing the values in case of a conflict. + + :param ByteSendStream send_stream: the sending byte stream + :param ByteReceiveStream receive_stream: the receiving byte stream + """ + + send_stream: ByteSendStream + receive_stream: ByteReceiveStream + + async def receive(self, max_bytes: int = 65536) -> bytes: + return await self.receive_stream.receive(max_bytes) + + async def send(self, item: bytes) -> None: + await self.send_stream.send(item) + + async def send_eof(self) -> None: + await self.send_stream.aclose() + + async def aclose(self) -> None: + await self.send_stream.aclose() + await self.receive_stream.aclose() + + @property + def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: + return { + **self.send_stream.extra_attributes, + **self.receive_stream.extra_attributes, + } + + +@dataclass(eq=False) +class StapledObjectStream(Generic[T_Item], ObjectStream[T_Item]): + """ + Combines two object streams into a single, bidirectional object stream. + + Extra attributes will be provided from both streams, with the receive stream + providing the values in case of a conflict. + + :param ObjectSendStream send_stream: the sending object stream + :param ObjectReceiveStream receive_stream: the receiving object stream + """ + + send_stream: ObjectSendStream[T_Item] + receive_stream: ObjectReceiveStream[T_Item] + + async def receive(self) -> T_Item: + return await self.receive_stream.receive() + + async def send(self, item: T_Item) -> None: + await self.send_stream.send(item) + + async def send_eof(self) -> None: + await self.send_stream.aclose() + + async def aclose(self) -> None: + await self.send_stream.aclose() + await self.receive_stream.aclose() + + @property + def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: + return { + **self.send_stream.extra_attributes, + **self.receive_stream.extra_attributes, + } + + +@dataclass(eq=False) +class MultiListener(Generic[T_Stream], Listener[T_Stream]): + """ + Combines multiple listeners into one, serving connections from all of them at once. + + Any MultiListeners in the given collection of listeners will have their listeners + moved into this one. + + Extra attributes are provided from each listener, with each successive listener + overriding any conflicting attributes from the previous one. + + :param listeners: listeners to serve + :type listeners: Sequence[Listener[T_Stream]] + """ + + listeners: Sequence[Listener[T_Stream]] + + def __post_init__(self) -> None: + listeners: list[Listener[T_Stream]] = [] + for listener in self.listeners: + if isinstance(listener, MultiListener): + listeners.extend(listener.listeners) + del listener.listeners[:] # type: ignore[attr-defined] + else: + listeners.append(listener) + + self.listeners = listeners + + async def serve( + self, handler: Callable[[T_Stream], Any], task_group: TaskGroup | None = None + ) -> None: + from .. import create_task_group + + async with create_task_group() as tg: + for listener in self.listeners: + tg.start_soon(listener.serve, handler, task_group) + + async def aclose(self) -> None: + for listener in self.listeners: + await listener.aclose() + + @property + def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: + attributes: dict = {} + for listener in self.listeners: + attributes.update(listener.extra_attributes) + + return attributes diff --git a/venv/Lib/site-packages/anyio/streams/text.py b/venv/Lib/site-packages/anyio/streams/text.py new file mode 100644 index 00000000..f1a11278 --- /dev/null +++ b/venv/Lib/site-packages/anyio/streams/text.py @@ -0,0 +1,147 @@ +from __future__ import annotations + +import codecs +from collections.abc import Callable, Mapping +from dataclasses import InitVar, dataclass, field +from typing import Any + +from ..abc import ( + AnyByteReceiveStream, + AnyByteSendStream, + AnyByteStream, + ObjectReceiveStream, + ObjectSendStream, + ObjectStream, +) + + +@dataclass(eq=False) +class TextReceiveStream(ObjectReceiveStream[str]): + """ + Stream wrapper that decodes bytes to strings using the given encoding. + + Decoding is done using :class:`~codecs.IncrementalDecoder` which returns any + completely received unicode characters as soon as they come in. + + :param transport_stream: any bytes-based receive stream + :param encoding: character encoding to use for decoding bytes to strings (defaults + to ``utf-8``) + :param errors: handling scheme for decoding errors (defaults to ``strict``; see the + `codecs module documentation`_ for a comprehensive list of options) + + .. _codecs module documentation: + https://docs.python.org/3/library/codecs.html#codec-objects + """ + + transport_stream: AnyByteReceiveStream + encoding: InitVar[str] = "utf-8" + errors: InitVar[str] = "strict" + _decoder: codecs.IncrementalDecoder = field(init=False) + + def __post_init__(self, encoding: str, errors: str) -> None: + decoder_class = codecs.getincrementaldecoder(encoding) + self._decoder = decoder_class(errors=errors) + + async def receive(self) -> str: + while True: + chunk = await self.transport_stream.receive() + decoded = self._decoder.decode(chunk) + if decoded: + return decoded + + async def aclose(self) -> None: + await self.transport_stream.aclose() + self._decoder.reset() + + @property + def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: + return self.transport_stream.extra_attributes + + +@dataclass(eq=False) +class TextSendStream(ObjectSendStream[str]): + """ + Sends strings to the wrapped stream as bytes using the given encoding. + + :param AnyByteSendStream transport_stream: any bytes-based send stream + :param str encoding: character encoding to use for encoding strings to bytes + (defaults to ``utf-8``) + :param str errors: handling scheme for encoding errors (defaults to ``strict``; see + the `codecs module documentation`_ for a comprehensive list of options) + + .. _codecs module documentation: + https://docs.python.org/3/library/codecs.html#codec-objects + """ + + transport_stream: AnyByteSendStream + encoding: InitVar[str] = "utf-8" + errors: str = "strict" + _encoder: Callable[..., tuple[bytes, int]] = field(init=False) + + def __post_init__(self, encoding: str) -> None: + self._encoder = codecs.getencoder(encoding) + + async def send(self, item: str) -> None: + encoded = self._encoder(item, self.errors)[0] + await self.transport_stream.send(encoded) + + async def aclose(self) -> None: + await self.transport_stream.aclose() + + @property + def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: + return self.transport_stream.extra_attributes + + +@dataclass(eq=False) +class TextStream(ObjectStream[str]): + """ + A bidirectional stream that decodes bytes to strings on receive and encodes strings + to bytes on send. + + Extra attributes will be provided from both streams, with the receive stream + providing the values in case of a conflict. + + :param AnyByteStream transport_stream: any bytes-based stream + :param str encoding: character encoding to use for encoding/decoding strings to/from + bytes (defaults to ``utf-8``) + :param str errors: handling scheme for encoding errors (defaults to ``strict``; see + the `codecs module documentation`_ for a comprehensive list of options) + + .. _codecs module documentation: + https://docs.python.org/3/library/codecs.html#codec-objects + """ + + transport_stream: AnyByteStream + encoding: InitVar[str] = "utf-8" + errors: InitVar[str] = "strict" + _receive_stream: TextReceiveStream = field(init=False) + _send_stream: TextSendStream = field(init=False) + + def __post_init__(self, encoding: str, errors: str) -> None: + self._receive_stream = TextReceiveStream( + self.transport_stream, encoding=encoding, errors=errors + ) + self._send_stream = TextSendStream( + self.transport_stream, encoding=encoding, errors=errors + ) + + async def receive(self) -> str: + return await self._receive_stream.receive() + + async def send(self, item: str) -> None: + await self._send_stream.send(item) + + async def send_eof(self) -> None: + await self.transport_stream.send_eof() + + async def aclose(self) -> None: + await self._send_stream.aclose() + await self._receive_stream.aclose() + + @property + def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: + return { + **self._send_stream.extra_attributes, + **self._receive_stream.extra_attributes, + } diff --git a/venv/Lib/site-packages/anyio/streams/tls.py b/venv/Lib/site-packages/anyio/streams/tls.py new file mode 100644 index 00000000..b6961bee --- /dev/null +++ b/venv/Lib/site-packages/anyio/streams/tls.py @@ -0,0 +1,337 @@ +from __future__ import annotations + +import logging +import re +import ssl +import sys +from collections.abc import Callable, Mapping +from dataclasses import dataclass +from functools import wraps +from typing import Any, TypeVar + +from .. import ( + BrokenResourceError, + EndOfStream, + aclose_forcefully, + get_cancelled_exc_class, +) +from .._core._typedattr import TypedAttributeSet, typed_attribute +from ..abc import AnyByteStream, ByteStream, Listener, TaskGroup + +if sys.version_info >= (3, 11): + from typing import TypeVarTuple, Unpack +else: + from typing_extensions import TypeVarTuple, Unpack + +T_Retval = TypeVar("T_Retval") +PosArgsT = TypeVarTuple("PosArgsT") +_PCTRTT = tuple[tuple[str, str], ...] +_PCTRTTT = tuple[_PCTRTT, ...] + + +class TLSAttribute(TypedAttributeSet): + """Contains Transport Layer Security related attributes.""" + + #: the selected ALPN protocol + alpn_protocol: str | None = typed_attribute() + #: the channel binding for type ``tls-unique`` + channel_binding_tls_unique: bytes = typed_attribute() + #: the selected cipher + cipher: tuple[str, str, int] = typed_attribute() + #: the peer certificate in dictionary form (see :meth:`ssl.SSLSocket.getpeercert` + # for more information) + peer_certificate: None | (dict[str, str | _PCTRTTT | _PCTRTT]) = typed_attribute() + #: the peer certificate in binary form + peer_certificate_binary: bytes | None = typed_attribute() + #: ``True`` if this is the server side of the connection + server_side: bool = typed_attribute() + #: ciphers shared by the client during the TLS handshake (``None`` if this is the + #: client side) + shared_ciphers: list[tuple[str, str, int]] | None = typed_attribute() + #: the :class:`~ssl.SSLObject` used for encryption + ssl_object: ssl.SSLObject = typed_attribute() + #: ``True`` if this stream does (and expects) a closing TLS handshake when the + #: stream is being closed + standard_compatible: bool = typed_attribute() + #: the TLS protocol version (e.g. ``TLSv1.2``) + tls_version: str = typed_attribute() + + +@dataclass(eq=False) +class TLSStream(ByteStream): + """ + A stream wrapper that encrypts all sent data and decrypts received data. + + This class has no public initializer; use :meth:`wrap` instead. + All extra attributes from :class:`~TLSAttribute` are supported. + + :var AnyByteStream transport_stream: the wrapped stream + + """ + + transport_stream: AnyByteStream + standard_compatible: bool + _ssl_object: ssl.SSLObject + _read_bio: ssl.MemoryBIO + _write_bio: ssl.MemoryBIO + + @classmethod + async def wrap( + cls, + transport_stream: AnyByteStream, + *, + server_side: bool | None = None, + hostname: str | None = None, + ssl_context: ssl.SSLContext | None = None, + standard_compatible: bool = True, + ) -> TLSStream: + """ + Wrap an existing stream with Transport Layer Security. + + This performs a TLS handshake with the peer. + + :param transport_stream: a bytes-transporting stream to wrap + :param server_side: ``True`` if this is the server side of the connection, + ``False`` if this is the client side (if omitted, will be set to ``False`` + if ``hostname`` has been provided, ``False`` otherwise). Used only to create + a default context when an explicit context has not been provided. + :param hostname: host name of the peer (if host name checking is desired) + :param ssl_context: the SSLContext object to use (if not provided, a secure + default will be created) + :param standard_compatible: if ``False``, skip the closing handshake when + closing the connection, and don't raise an exception if the peer does the + same + :raises ~ssl.SSLError: if the TLS handshake fails + + """ + if server_side is None: + server_side = not hostname + + if not ssl_context: + purpose = ( + ssl.Purpose.CLIENT_AUTH if server_side else ssl.Purpose.SERVER_AUTH + ) + ssl_context = ssl.create_default_context(purpose) + + # Re-enable detection of unexpected EOFs if it was disabled by Python + if hasattr(ssl, "OP_IGNORE_UNEXPECTED_EOF"): + ssl_context.options &= ~ssl.OP_IGNORE_UNEXPECTED_EOF + + bio_in = ssl.MemoryBIO() + bio_out = ssl.MemoryBIO() + ssl_object = ssl_context.wrap_bio( + bio_in, bio_out, server_side=server_side, server_hostname=hostname + ) + wrapper = cls( + transport_stream=transport_stream, + standard_compatible=standard_compatible, + _ssl_object=ssl_object, + _read_bio=bio_in, + _write_bio=bio_out, + ) + await wrapper._call_sslobject_method(ssl_object.do_handshake) + return wrapper + + async def _call_sslobject_method( + self, func: Callable[[Unpack[PosArgsT]], T_Retval], *args: Unpack[PosArgsT] + ) -> T_Retval: + while True: + try: + result = func(*args) + except ssl.SSLWantReadError: + try: + # Flush any pending writes first + if self._write_bio.pending: + await self.transport_stream.send(self._write_bio.read()) + + data = await self.transport_stream.receive() + except EndOfStream: + self._read_bio.write_eof() + except OSError as exc: + self._read_bio.write_eof() + self._write_bio.write_eof() + raise BrokenResourceError from exc + else: + self._read_bio.write(data) + except ssl.SSLWantWriteError: + await self.transport_stream.send(self._write_bio.read()) + except ssl.SSLSyscallError as exc: + self._read_bio.write_eof() + self._write_bio.write_eof() + raise BrokenResourceError from exc + except ssl.SSLError as exc: + self._read_bio.write_eof() + self._write_bio.write_eof() + if isinstance(exc, ssl.SSLEOFError) or ( + exc.strerror and "UNEXPECTED_EOF_WHILE_READING" in exc.strerror + ): + if self.standard_compatible: + raise BrokenResourceError from exc + else: + raise EndOfStream from None + + raise + else: + # Flush any pending writes first + if self._write_bio.pending: + await self.transport_stream.send(self._write_bio.read()) + + return result + + async def unwrap(self) -> tuple[AnyByteStream, bytes]: + """ + Does the TLS closing handshake. + + :return: a tuple of (wrapped byte stream, bytes left in the read buffer) + + """ + await self._call_sslobject_method(self._ssl_object.unwrap) + self._read_bio.write_eof() + self._write_bio.write_eof() + return self.transport_stream, self._read_bio.read() + + async def aclose(self) -> None: + if self.standard_compatible: + try: + await self.unwrap() + except BaseException: + await aclose_forcefully(self.transport_stream) + raise + + await self.transport_stream.aclose() + + async def receive(self, max_bytes: int = 65536) -> bytes: + data = await self._call_sslobject_method(self._ssl_object.read, max_bytes) + if not data: + raise EndOfStream + + return data + + async def send(self, item: bytes) -> None: + await self._call_sslobject_method(self._ssl_object.write, item) + + async def send_eof(self) -> None: + tls_version = self.extra(TLSAttribute.tls_version) + match = re.match(r"TLSv(\d+)(?:\.(\d+))?", tls_version) + if match: + major, minor = int(match.group(1)), int(match.group(2) or 0) + if (major, minor) < (1, 3): + raise NotImplementedError( + f"send_eof() requires at least TLSv1.3; current " + f"session uses {tls_version}" + ) + + raise NotImplementedError( + "send_eof() has not yet been implemented for TLS streams" + ) + + @property + def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: + return { + **self.transport_stream.extra_attributes, + TLSAttribute.alpn_protocol: self._ssl_object.selected_alpn_protocol, + TLSAttribute.channel_binding_tls_unique: ( + self._ssl_object.get_channel_binding + ), + TLSAttribute.cipher: self._ssl_object.cipher, + TLSAttribute.peer_certificate: lambda: self._ssl_object.getpeercert(False), + TLSAttribute.peer_certificate_binary: lambda: self._ssl_object.getpeercert( + True + ), + TLSAttribute.server_side: lambda: self._ssl_object.server_side, + TLSAttribute.shared_ciphers: lambda: self._ssl_object.shared_ciphers() + if self._ssl_object.server_side + else None, + TLSAttribute.standard_compatible: lambda: self.standard_compatible, + TLSAttribute.ssl_object: lambda: self._ssl_object, + TLSAttribute.tls_version: self._ssl_object.version, + } + + +@dataclass(eq=False) +class TLSListener(Listener[TLSStream]): + """ + A convenience listener that wraps another listener and auto-negotiates a TLS session + on every accepted connection. + + If the TLS handshake times out or raises an exception, + :meth:`handle_handshake_error` is called to do whatever post-mortem processing is + deemed necessary. + + Supports only the :attr:`~TLSAttribute.standard_compatible` extra attribute. + + :param Listener listener: the listener to wrap + :param ssl_context: the SSL context object + :param standard_compatible: a flag passed through to :meth:`TLSStream.wrap` + :param handshake_timeout: time limit for the TLS handshake + (passed to :func:`~anyio.fail_after`) + """ + + listener: Listener[Any] + ssl_context: ssl.SSLContext + standard_compatible: bool = True + handshake_timeout: float = 30 + + @staticmethod + async def handle_handshake_error(exc: BaseException, stream: AnyByteStream) -> None: + """ + Handle an exception raised during the TLS handshake. + + This method does 3 things: + + #. Forcefully closes the original stream + #. Logs the exception (unless it was a cancellation exception) using the + ``anyio.streams.tls`` logger + #. Reraises the exception if it was a base exception or a cancellation exception + + :param exc: the exception + :param stream: the original stream + + """ + await aclose_forcefully(stream) + + # Log all except cancellation exceptions + if not isinstance(exc, get_cancelled_exc_class()): + # CPython (as of 3.11.5) returns incorrect `sys.exc_info()` here when using + # any asyncio implementation, so we explicitly pass the exception to log + # (https://github.com/python/cpython/issues/108668). Trio does not have this + # issue because it works around the CPython bug. + logging.getLogger(__name__).exception( + "Error during TLS handshake", exc_info=exc + ) + + # Only reraise base exceptions and cancellation exceptions + if not isinstance(exc, Exception) or isinstance(exc, get_cancelled_exc_class()): + raise + + async def serve( + self, + handler: Callable[[TLSStream], Any], + task_group: TaskGroup | None = None, + ) -> None: + @wraps(handler) + async def handler_wrapper(stream: AnyByteStream) -> None: + from .. import fail_after + + try: + with fail_after(self.handshake_timeout): + wrapped_stream = await TLSStream.wrap( + stream, + ssl_context=self.ssl_context, + standard_compatible=self.standard_compatible, + ) + except BaseException as exc: + await self.handle_handshake_error(exc, stream) + else: + await handler(wrapped_stream) + + await self.listener.serve(handler_wrapper, task_group) + + async def aclose(self) -> None: + await self.listener.aclose() + + @property + def extra_attributes(self) -> Mapping[Any, Callable[[], Any]]: + return { + TLSAttribute.standard_compatible: lambda: self.standard_compatible, + } diff --git a/venv/Lib/site-packages/anyio/to_process.py b/venv/Lib/site-packages/anyio/to_process.py new file mode 100644 index 00000000..5050dee2 --- /dev/null +++ b/venv/Lib/site-packages/anyio/to_process.py @@ -0,0 +1,258 @@ +from __future__ import annotations + +import os +import pickle +import subprocess +import sys +from collections import deque +from collections.abc import Callable +from importlib.util import module_from_spec, spec_from_file_location +from typing import TypeVar, cast + +from ._core._eventloop import current_time, get_async_backend, get_cancelled_exc_class +from ._core._exceptions import BrokenWorkerProcess +from ._core._subprocesses import open_process +from ._core._synchronization import CapacityLimiter +from ._core._tasks import CancelScope, fail_after +from .abc import ByteReceiveStream, ByteSendStream, Process +from .lowlevel import RunVar, checkpoint_if_cancelled +from .streams.buffered import BufferedByteReceiveStream + +if sys.version_info >= (3, 11): + from typing import TypeVarTuple, Unpack +else: + from typing_extensions import TypeVarTuple, Unpack + +WORKER_MAX_IDLE_TIME = 300 # 5 minutes + +T_Retval = TypeVar("T_Retval") +PosArgsT = TypeVarTuple("PosArgsT") + +_process_pool_workers: RunVar[set[Process]] = RunVar("_process_pool_workers") +_process_pool_idle_workers: RunVar[deque[tuple[Process, float]]] = RunVar( + "_process_pool_idle_workers" +) +_default_process_limiter: RunVar[CapacityLimiter] = RunVar("_default_process_limiter") + + +async def run_sync( + func: Callable[[Unpack[PosArgsT]], T_Retval], + *args: Unpack[PosArgsT], + cancellable: bool = False, + limiter: CapacityLimiter | None = None, +) -> T_Retval: + """ + Call the given function with the given arguments in a worker process. + + If the ``cancellable`` option is enabled and the task waiting for its completion is + cancelled, the worker process running it will be abruptly terminated using SIGKILL + (or ``terminateProcess()`` on Windows). + + :param func: a callable + :param args: positional arguments for the callable + :param cancellable: ``True`` to allow cancellation of the operation while it's + running + :param limiter: capacity limiter to use to limit the total amount of processes + running (if omitted, the default limiter is used) + :return: an awaitable that yields the return value of the function. + + """ + + async def send_raw_command(pickled_cmd: bytes) -> object: + try: + await stdin.send(pickled_cmd) + response = await buffered.receive_until(b"\n", 50) + status, length = response.split(b" ") + if status not in (b"RETURN", b"EXCEPTION"): + raise RuntimeError( + f"Worker process returned unexpected response: {response!r}" + ) + + pickled_response = await buffered.receive_exactly(int(length)) + except BaseException as exc: + workers.discard(process) + try: + process.kill() + with CancelScope(shield=True): + await process.aclose() + except ProcessLookupError: + pass + + if isinstance(exc, get_cancelled_exc_class()): + raise + else: + raise BrokenWorkerProcess from exc + + retval = pickle.loads(pickled_response) + if status == b"EXCEPTION": + assert isinstance(retval, BaseException) + raise retval + else: + return retval + + # First pickle the request before trying to reserve a worker process + await checkpoint_if_cancelled() + request = pickle.dumps(("run", func, args), protocol=pickle.HIGHEST_PROTOCOL) + + # If this is the first run in this event loop thread, set up the necessary variables + try: + workers = _process_pool_workers.get() + idle_workers = _process_pool_idle_workers.get() + except LookupError: + workers = set() + idle_workers = deque() + _process_pool_workers.set(workers) + _process_pool_idle_workers.set(idle_workers) + get_async_backend().setup_process_pool_exit_at_shutdown(workers) + + async with limiter or current_default_process_limiter(): + # Pop processes from the pool (starting from the most recently used) until we + # find one that hasn't exited yet + process: Process + while idle_workers: + process, idle_since = idle_workers.pop() + if process.returncode is None: + stdin = cast(ByteSendStream, process.stdin) + buffered = BufferedByteReceiveStream( + cast(ByteReceiveStream, process.stdout) + ) + + # Prune any other workers that have been idle for WORKER_MAX_IDLE_TIME + # seconds or longer + now = current_time() + killed_processes: list[Process] = [] + while idle_workers: + if now - idle_workers[0][1] < WORKER_MAX_IDLE_TIME: + break + + process_to_kill, idle_since = idle_workers.popleft() + process_to_kill.kill() + workers.remove(process_to_kill) + killed_processes.append(process_to_kill) + + with CancelScope(shield=True): + for killed_process in killed_processes: + await killed_process.aclose() + + break + + workers.remove(process) + else: + command = [sys.executable, "-u", "-m", __name__] + process = await open_process( + command, stdin=subprocess.PIPE, stdout=subprocess.PIPE + ) + try: + stdin = cast(ByteSendStream, process.stdin) + buffered = BufferedByteReceiveStream( + cast(ByteReceiveStream, process.stdout) + ) + with fail_after(20): + message = await buffered.receive(6) + + if message != b"READY\n": + raise BrokenWorkerProcess( + f"Worker process returned unexpected response: {message!r}" + ) + + main_module_path = getattr(sys.modules["__main__"], "__file__", None) + pickled = pickle.dumps( + ("init", sys.path, main_module_path), + protocol=pickle.HIGHEST_PROTOCOL, + ) + await send_raw_command(pickled) + except (BrokenWorkerProcess, get_cancelled_exc_class()): + raise + except BaseException as exc: + process.kill() + raise BrokenWorkerProcess( + "Error during worker process initialization" + ) from exc + + workers.add(process) + + with CancelScope(shield=not cancellable): + try: + return cast(T_Retval, await send_raw_command(request)) + finally: + if process in workers: + idle_workers.append((process, current_time())) + + +def current_default_process_limiter() -> CapacityLimiter: + """ + Return the capacity limiter that is used by default to limit the number of worker + processes. + + :return: a capacity limiter object + + """ + try: + return _default_process_limiter.get() + except LookupError: + limiter = CapacityLimiter(os.cpu_count() or 2) + _default_process_limiter.set(limiter) + return limiter + + +def process_worker() -> None: + # Redirect standard streams to os.devnull so that user code won't interfere with the + # parent-worker communication + stdin = sys.stdin + stdout = sys.stdout + sys.stdin = open(os.devnull) + sys.stdout = open(os.devnull, "w") + + stdout.buffer.write(b"READY\n") + while True: + retval = exception = None + try: + command, *args = pickle.load(stdin.buffer) + except EOFError: + return + except BaseException as exc: + exception = exc + else: + if command == "run": + func, args = args + try: + retval = func(*args) + except BaseException as exc: + exception = exc + elif command == "init": + main_module_path: str | None + sys.path, main_module_path = args + del sys.modules["__main__"] + if main_module_path and os.path.isfile(main_module_path): + # Load the parent's main module but as __mp_main__ instead of + # __main__ (like multiprocessing does) to avoid infinite recursion + try: + spec = spec_from_file_location("__mp_main__", main_module_path) + if spec and spec.loader: + main = module_from_spec(spec) + spec.loader.exec_module(main) + sys.modules["__main__"] = main + except BaseException as exc: + exception = exc + try: + if exception is not None: + status = b"EXCEPTION" + pickled = pickle.dumps(exception, pickle.HIGHEST_PROTOCOL) + else: + status = b"RETURN" + pickled = pickle.dumps(retval, pickle.HIGHEST_PROTOCOL) + except BaseException as exc: + exception = exc + status = b"EXCEPTION" + pickled = pickle.dumps(exc, pickle.HIGHEST_PROTOCOL) + + stdout.buffer.write(b"%s %d\n" % (status, len(pickled))) + stdout.buffer.write(pickled) + + # Respect SIGTERM + if isinstance(exception, SystemExit): + raise exception + + +if __name__ == "__main__": + process_worker() diff --git a/venv/Lib/site-packages/anyio/to_thread.py b/venv/Lib/site-packages/anyio/to_thread.py new file mode 100644 index 00000000..5070516e --- /dev/null +++ b/venv/Lib/site-packages/anyio/to_thread.py @@ -0,0 +1,69 @@ +from __future__ import annotations + +import sys +from collections.abc import Callable +from typing import TypeVar +from warnings import warn + +from ._core._eventloop import get_async_backend +from .abc import CapacityLimiter + +if sys.version_info >= (3, 11): + from typing import TypeVarTuple, Unpack +else: + from typing_extensions import TypeVarTuple, Unpack + +T_Retval = TypeVar("T_Retval") +PosArgsT = TypeVarTuple("PosArgsT") + + +async def run_sync( + func: Callable[[Unpack[PosArgsT]], T_Retval], + *args: Unpack[PosArgsT], + abandon_on_cancel: bool = False, + cancellable: bool | None = None, + limiter: CapacityLimiter | None = None, +) -> T_Retval: + """ + Call the given function with the given arguments in a worker thread. + + If the ``cancellable`` option is enabled and the task waiting for its completion is + cancelled, the thread will still run its course but its return value (or any raised + exception) will be ignored. + + :param func: a callable + :param args: positional arguments for the callable + :param abandon_on_cancel: ``True`` to abandon the thread (leaving it to run + unchecked on own) if the host task is cancelled, ``False`` to ignore + cancellations in the host task until the operation has completed in the worker + thread + :param cancellable: deprecated alias of ``abandon_on_cancel``; will override + ``abandon_on_cancel`` if both parameters are passed + :param limiter: capacity limiter to use to limit the total amount of threads running + (if omitted, the default limiter is used) + :return: an awaitable that yields the return value of the function. + + """ + if cancellable is not None: + abandon_on_cancel = cancellable + warn( + "The `cancellable=` keyword argument to `anyio.to_thread.run_sync` is " + "deprecated since AnyIO 4.1.0; use `abandon_on_cancel=` instead", + DeprecationWarning, + stacklevel=2, + ) + + return await get_async_backend().run_sync_in_worker_thread( + func, args, abandon_on_cancel=abandon_on_cancel, limiter=limiter + ) + + +def current_default_thread_limiter() -> CapacityLimiter: + """ + Return the capacity limiter that is used by default to limit the number of + concurrent threads. + + :return: a capacity limiter object + + """ + return get_async_backend().current_default_thread_limiter() diff --git a/venv/Lib/site-packages/apkutils2-1.0.0.dist-info/INSTALLER b/venv/Lib/site-packages/apkutils2-1.0.0.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/venv/Lib/site-packages/apkutils2-1.0.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/Lib/site-packages/apkutils2-1.0.0.dist-info/METADATA b/venv/Lib/site-packages/apkutils2-1.0.0.dist-info/METADATA new file mode 100644 index 00000000..83f20647 --- /dev/null +++ b/venv/Lib/site-packages/apkutils2-1.0.0.dist-info/METADATA @@ -0,0 +1,17 @@ +Metadata-Version: 2.1 +Name: apkutils2 +Version: 1.0.0 +Summary: Utils for parsing apk. +Home-page: https://github.com/codeskyblue/apkutils2 +Author: mikusjelly, codeskyblue +Author-email: mikusjelly@gmail.com, codeskyblue@gmail.com +License: MIT +Keywords: apk dex axml +Classifier: Development Status :: 4 - Beta +Classifier: Topic :: Utilities +Classifier: License :: OSI Approved :: MIT License +Classifier: Programming Language :: Python :: 3 :: Only +Requires-Dist: pyelftools +Requires-Dist: cigam +Requires-Dist: xmltodict + diff --git a/venv/Lib/site-packages/apkutils2-1.0.0.dist-info/RECORD b/venv/Lib/site-packages/apkutils2-1.0.0.dist-info/RECORD new file mode 100644 index 00000000..dbebda29 --- /dev/null +++ b/venv/Lib/site-packages/apkutils2-1.0.0.dist-info/RECORD @@ -0,0 +1,51 @@ +apkutils2-1.0.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +apkutils2-1.0.0.dist-info/METADATA,sha256=4OpMQpEfWPb_S_34WmYSkB2SdNPcqxp8Pd1DEhok60M,534 +apkutils2-1.0.0.dist-info/RECORD,, +apkutils2-1.0.0.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91 +apkutils2-1.0.0.dist-info/top_level.txt,sha256=y2fludO1wQ1owLXkQA18S1fsK2OwuUAMDGHIHa9PMWE,10 +apkutils2/__init__.py,sha256=5M7FhI5UqMzbhUzbEyE5DiOtlp2Il-QefvWmVYASGTI,10461 +apkutils2/__main__.py,sha256=awXqAB-iGCBuHQ79kVVW5oZaERLzPyTCcqupJKZi17s,1359 +apkutils2/__pycache__/__init__.cpython-39.pyc,, +apkutils2/__pycache__/__main__.cpython-39.pyc,, +apkutils2/__pycache__/apkfile.cpython-39.pyc,, +apkutils2/__pycache__/cert.cpython-39.pyc,, +apkutils2/__pycache__/manifest.cpython-39.pyc,, +apkutils2/apkfile.py,sha256=HlxwR3omawFPyVxgn3Y3dGiJ51uEqMm7dKlsgICybSM,72741 +apkutils2/axml/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +apkutils2/axml/__pycache__/__init__.cpython-39.pyc,, +apkutils2/axml/__pycache__/arscparser.cpython-39.pyc,, +apkutils2/axml/__pycache__/axmlparser.cpython-39.pyc,, +apkutils2/axml/__pycache__/chunk.cpython-39.pyc,, +apkutils2/axml/__pycache__/public.cpython-39.pyc,, +apkutils2/axml/arscparser.py,sha256=p5THERlySywBbbQvb-MTnhWDA5nyfqQk92RnaWRzcsQ,31228 +apkutils2/axml/axmlparser.py,sha256=zeJc9ATZfXWxzibEgLgZcAYVuX4QXweK-fiIjwNvNd8,14746 +apkutils2/axml/chunk.py,sha256=CmzUeewEjhLVxrZd5PADO45CBtHf3XgyrpOsFFxDB-U,7707 +apkutils2/axml/public.py,sha256=m-q3GF_F2WCxRygIGD7gOrB4I4LMYZMPRhDTEGpDSTY,87031 +apkutils2/cert.py,sha256=t0eroI2_mSW0NB9qpuk2uVB0kJsnHZ7YV3FLl5Frlp4,1043 +apkutils2/dex/__init__.py,sha256=abBqhqqPP10jK6pNCEt5VDVZfYK0u0fQugTp2AC0K4k,596 +apkutils2/dex/__pycache__/__init__.cpython-39.pyc,, +apkutils2/dex/__pycache__/byteio.cpython-39.pyc,, +apkutils2/dex/__pycache__/dalvik.cpython-39.pyc,, +apkutils2/dex/__pycache__/dalvikformats.cpython-39.pyc,, +apkutils2/dex/__pycache__/dexparser.cpython-39.pyc,, +apkutils2/dex/__pycache__/flags.cpython-39.pyc,, +apkutils2/dex/__pycache__/mutf8.cpython-39.pyc,, +apkutils2/dex/__pycache__/treelist.cpython-39.pyc,, +apkutils2/dex/__pycache__/util.cpython-39.pyc,, +apkutils2/dex/byteio.py,sha256=pRAq3-yz-fPP_mR4_WSTvgIui5VXAdeeNT3PBe-cxp4,2789 +apkutils2/dex/dalvik.py,sha256=LYqhEtw1r7TazJQMiptjINYP9a800bKVinXQBvcmwwA,7064 +apkutils2/dex/dalvikformats.py,sha256=2wLf8iY0Dnu1G5PGsiK2IMdL_HtpY-KaeQurjAgIXAE,4166 +apkutils2/dex/dexparser.py,sha256=Rhxoi0kavYF7bC35Uml3rFBeoOfPQSSobDZ_Wq8YwI8,11929 +apkutils2/dex/flags.py,sha256=lne2-QxRGO2DTqIrRW8kesFikUzxpLXGhfK9KXzRGH4,1541 +apkutils2/dex/mutf8.py,sha256=Fr4P9O6-pl4S-KQredu8g8VdaIL5z96lCbd8gF08tOI,1760 +apkutils2/dex/treelist.py,sha256=ZD7UlER4i1-g3Df6uYzFImVuqmLehOMnRAOUspx7Jg4,4022 +apkutils2/dex/util.py,sha256=enJ2Y-CgTuf_9iMb8v87WthMNsP6Fzgs-KjPvxgeDog,1151 +apkutils2/elf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +apkutils2/elf/__pycache__/__init__.cpython-39.pyc,, +apkutils2/elf/__pycache__/elfparser.cpython-39.pyc,, +apkutils2/elf/elfparser.py,sha256=qePx0dGlsW_WZ8bI_haFKbxyTA-m-xjXOpf_OvzzbdU,6655 +apkutils2/gui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +apkutils2/gui/__main__.py,sha256=1RrQK9Z1bdYgVyUhfXI7zs5lZT-DMSvKt-c1TPqOTPY,3397 +apkutils2/gui/__pycache__/__init__.cpython-39.pyc,, +apkutils2/gui/__pycache__/__main__.cpython-39.pyc,, +apkutils2/manifest.py,sha256=39MR6FiyVsSPux9TRRTcH2MerydCOFcn6yUnPFd799M,2202 diff --git a/venv/Lib/site-packages/apkutils2-1.0.0.dist-info/WHEEL b/venv/Lib/site-packages/apkutils2-1.0.0.dist-info/WHEEL new file mode 100644 index 00000000..da25d7b4 --- /dev/null +++ b/venv/Lib/site-packages/apkutils2-1.0.0.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: setuptools (75.2.0) +Root-Is-Purelib: true +Tag: py3-none-any + diff --git a/venv/Lib/site-packages/apkutils2-1.0.0.dist-info/top_level.txt b/venv/Lib/site-packages/apkutils2-1.0.0.dist-info/top_level.txt new file mode 100644 index 00000000..cdae0e8c --- /dev/null +++ b/venv/Lib/site-packages/apkutils2-1.0.0.dist-info/top_level.txt @@ -0,0 +1 @@ +apkutils2 diff --git a/venv/Lib/site-packages/apkutils2/__init__.py b/venv/Lib/site-packages/apkutils2/__init__.py new file mode 100644 index 00000000..9374cced --- /dev/null +++ b/venv/Lib/site-packages/apkutils2/__init__.py @@ -0,0 +1,310 @@ +# coding: utf-8 +import binascii +import re +import xml +import zipfile + +import xmltodict +from apkutils2 import apkfile +from apkutils2.axml.arscparser import ARSCParser +from apkutils2.axml.axmlparser import AXML +from apkutils2.dex.dexparser import DexFile +from apkutils2.manifest import Manifest +from cigam import Magic + +__VERSION__ = '0.5.3' + + +class APK: + def __init__(self, apk_path): + self.apk_path = apk_path + self.dex_files = None + self.children = None + self.org_manifest = None + self.strings = None + self.org_strings = None + self.opcodes = None + self.certs = [] + self.arsc = None + self.strings_refx = None + self.app_icon = None + self._manifest = None + + def get_app_icon(self): + if self.app_icon: + return self.app_icon + self._init_app_icon() + return self.app_icon + + def _init_app_icon(self): + files = self.get_files() + result = re.search(r':icon="@(.*?)"', self.get_org_manifest()) + ids = '0x' + result.groups()[0].lower() + try: + with apkfile.ZipFile(self.apk_path, 'r') as z: + data = z.read('resources.arsc') + self.arscobj = ARSCParser(data) + self.package = self.arscobj.get_packages_names()[0] + datas = xmltodict.parse( + self.arscobj.get_public_resources(self.package)) + for item in datas['resources']['public']: + if ids != item['@id']: + continue + for f in files: + name = f['name'] + if item['@type'] in name and item['@name'] in name: + self.app_icon = name + except Exception as ex: + raise ex + + def _init_strings_refx(self): + if not self.dex_files: + self._init_dex_files() + + self.strings_refx = {} + for dex_file in self.dex_files: + for dexClass in dex_file.classes: + try: + dexClass.parseData() + except IndexError: + continue + + for method in dexClass.data.methods: + if not method.code: + continue + + for bc in method.code.bytecode: + # 1A const-string + # 1B const-string-jumbo + if bc.opcode not in {26, 27}: + continue + + clsname = method.id.cname.decode() + mtdname = method.id.name.decode() + dexstr = dex_file.string(bc.args[1]) + if clsname in self.strings_refx: + if mtdname in self.strings_refx[clsname]: + self.strings_refx[clsname][mtdname].add(dexstr) + else: + self.strings_refx[clsname][mtdname] = set() + self.strings_refx[clsname][mtdname].add(dexstr) + else: + self.strings_refx[clsname] = {} + self.strings_refx[clsname][mtdname] = set() + self.strings_refx[clsname][mtdname].add(dexstr) + + def get_strings_refx(self): + """获å–字符串索引,å³å­—ç¬¦ä¸²è¢«é‚£äº›ç±»ã€æ–¹æ³•使用了。 + + :return: 字符串索引 + :rtype: [dict] + """ + if self.strings_refx is None: + self._init_strings_refx() + return self.strings_refx + + def get_dex_files(self): + if not self.dex_files: + self._init_dex_files() + return self.dex_files + + def _init_dex_files(self): + self.dex_files = [] + try: + with apkfile.ZipFile(self.apk_path, 'r') as z: + for name in z.namelist(): + data = z.read(name) + if name.startswith('classes') and name.endswith('.dex') \ + and Magic(data).get_type() == 'dex': + dex_file = DexFile(data) + self.dex_files.append(dex_file) + except Exception as ex: + raise ex + + def get_strings(self): + if not self.strings: + self._init_strings() + return self.strings + + def get_org_strings(self): + if not self.org_strings: + self._init_strings() + return self.org_strings + + def _init_strings(self): + if not self.dex_files: + self._init_dex_files() + + str_set = set() + org_str_set = set() + for dex_file in self.dex_files: + for i in range(dex_file.string_ids.size): + ostr = dex_file.string(i) + org_str_set.add(ostr) + str_set.add(binascii.hexlify(ostr).decode()) + + self.strings = list(str_set) + self.org_strings = list(org_str_set) + + def get_files(self): + if not self.children: + self._init_children() + return self.children + + def _init_children(self): + self.children = [] + try: + with apkfile.ZipFile(self.apk_path, mode="r") as zf: + for name in zf.namelist(): + try: + data = zf.read(name) + mine = Magic(data).get_type() + info = zf.getinfo(name) + except Exception as ex: + print(name, ex) + continue + item = {} + item["name"] = name + item["type"] = mine + item["time"] = "%d%02d%02d%02d%02d%02d" % info.date_time + crc = str(hex(info.CRC)).upper()[2:] + crc = '0' * (8 - len(crc)) + crc + item["crc"] = crc + # item["sha1"] = "" + self.children.append(item) + except Exception as e: + raise e + + def get_org_manifest(self): + if not self.org_manifest: + self._init_manifest() + return self.org_manifest + + @property + def resources(self): + with zipfile.ZipFile(self.apk_path, mode="r") as zf: + data = zf.read('resources.arsc') + return ARSCParser(data) + + def _init_org_manifest(self): + ANDROID_MANIFEST = "AndroidManifest.xml" + try: + with apkfile.ZipFile(self.apk_path, mode="r") as zf: + if ANDROID_MANIFEST in zf.namelist(): + data = zf.read(ANDROID_MANIFEST) + try: + axml = AXML(data) + if axml.is_valid: + self.org_manifest = axml.get_xml() + except Exception as e: + raise e + except Exception as e: + raise e + + def get_manifest(self): + if not self._manifest: + self._init_manifest() + return self._manifest + + @property + def manifest(self): + return Manifest(self.get_org_manifest()) + + def _init_manifest(self): + if not self.org_manifest: + self._init_org_manifest() + + if self.org_manifest: + try: + self._manifest = xmltodict.parse(self.org_manifest, + False)['manifest'] + except xml.parsers.expat.ExpatError as e: + pass + except Exception as e: + raise e + + def _init_arsc(self): + ARSC_NAME = 'resources.arsc' + try: + with apkfile.ZipFile(self.apk_path, mode="r") as zf: + if ARSC_NAME in zf.namelist(): + data = zf.read(ARSC_NAME) + self.arsc = ARSCParser(data) + except Exception as e: + raise e + + def get_arsc(self): + if not self.arsc: + self._init_arsc() + + return self.arsc + + def get_certs(self): + if not self.certs: + self._init_certs() + return self.certs + + def _init_certs(self): + try: + with apkfile.ZipFile(self.apk_path, mode="r") as zf: + for name in zf.namelist(): + if 'META-INF' in name: + data = zf.read(name) + mine = Magic(data).get_type() + if mine != 'txt': + from apkutils2.cert import Certificate + cert = Certificate(data) + self.certs = cert.get() + except Exception as e: + raise e + + def get_opcodes(self): + if not self.dex_files: + self._init_opcodes() + return self.opcodes + + def _init_opcodes(self): + if not self.dex_files: + self._init_dex_files() + + self.opcodes = [] + for dex_file in self.dex_files: + for dexClass in dex_file.classes: + try: + dexClass.parseData() + except IndexError: + continue + + for method in dexClass.data.methods: + opcodes = "" + if method.code: + for bc in method.code.bytecode: + opcode = str(hex(bc.opcode)).upper()[2:] + if len(opcode) == 2: + opcodes = opcodes + opcode + else: + opcodes = opcodes + "0" + opcode + + proto = self.get_proto_string(method.id.return_type, + method.id.param_types) + + item = {} + item['super_class'] = dexClass.super.decode() + item['class_name'] = method.id.cname.decode() + item['method_name'] = method.id.name.decode() + item['method_desc'] = method.id.desc.decode() + item['proto'] = proto + item['opcodes'] = opcodes + self.opcodes.append(item) + + @staticmethod + def get_proto_string(return_type, param_types): + proto = return_type.decode() + if len(proto) > 1: + proto = 'L' + + for item in param_types: + param_type = item.decode() + proto += 'L' if len(param_type) > 1 else param_type + + return proto diff --git a/venv/Lib/site-packages/apkutils2/__main__.py b/venv/Lib/site-packages/apkutils2/__main__.py new file mode 100644 index 00000000..2540907c --- /dev/null +++ b/venv/Lib/site-packages/apkutils2/__main__.py @@ -0,0 +1,46 @@ +import argparse +import binascii + +from apkutils2 import __VERSION__, APK + + +def main(args): + apk = APK(args.p) + + if args.m: + import json + if apk.get_manifest(): + print(json.dumps(apk.get_manifest(), indent=1)) + elif apk.get_org_manifest(): + print(apk.get_org_manifest()) + + elif args.s: + for item in apk.get_strings(): + print(binascii.unhexlify(item).decode(errors='ignore')) + + elif args.f: + for item in apk.get_files(): + print(item) + + elif args.c: + for item in apk.get_certs(): + print(item) + + +if __name__ == '__main__': + + _parser = argparse.ArgumentParser(prog='apkutils2', description=None) + _parser.add_argument('p', help='path') + _parser.add_argument('-m', action='store_true', + help='Show manifest', required=False) + _parser.add_argument('-s', action='store_true', + help='Show strings', required=False) + _parser.add_argument('-f', action='store_true', + help='Show files', required=False) + _parser.add_argument('-c', action='store_true', + help='Show certs', required=False) + _parser.add_argument('-V', '--version', action='version', + version=__VERSION__) + + _args = _parser.parse_args() + main(_args) diff --git a/venv/Lib/site-packages/apkutils2/__pycache__/__init__.cpython-39.pyc b/venv/Lib/site-packages/apkutils2/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..83373be3 Binary files /dev/null and b/venv/Lib/site-packages/apkutils2/__pycache__/__init__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/apkutils2/__pycache__/__main__.cpython-39.pyc b/venv/Lib/site-packages/apkutils2/__pycache__/__main__.cpython-39.pyc new file mode 100644 index 00000000..90dbda2f Binary files /dev/null and b/venv/Lib/site-packages/apkutils2/__pycache__/__main__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/apkutils2/__pycache__/apkfile.cpython-39.pyc b/venv/Lib/site-packages/apkutils2/__pycache__/apkfile.cpython-39.pyc new file mode 100644 index 00000000..41706dce Binary files /dev/null and b/venv/Lib/site-packages/apkutils2/__pycache__/apkfile.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/apkutils2/__pycache__/cert.cpython-39.pyc b/venv/Lib/site-packages/apkutils2/__pycache__/cert.cpython-39.pyc new file mode 100644 index 00000000..bd2ee1ad Binary files /dev/null and b/venv/Lib/site-packages/apkutils2/__pycache__/cert.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/apkutils2/__pycache__/manifest.cpython-39.pyc b/venv/Lib/site-packages/apkutils2/__pycache__/manifest.cpython-39.pyc new file mode 100644 index 00000000..488f7cb0 Binary files /dev/null and b/venv/Lib/site-packages/apkutils2/__pycache__/manifest.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/apkutils2/apkfile.py b/venv/Lib/site-packages/apkutils2/apkfile.py new file mode 100644 index 00000000..39744761 --- /dev/null +++ b/venv/Lib/site-packages/apkutils2/apkfile.py @@ -0,0 +1,1961 @@ +""" +from https://github.com/python/cpython/tree/3.6/Lib/zipfile.py + +Read and write APK files. + +XXX references to utf-8 need further investigation. +""" +import binascii +import importlib.util +import io +import os +import re +import shutil +import stat +import struct +import sys +import time + +try: + import threading +except ImportError: + import dummy_threading as threading + +try: + import zlib # We may need its compression method + crc32 = zlib.crc32 +except ImportError: + zlib = None + crc32 = binascii.crc32 + +try: + import bz2 # We may need its compression method +except ImportError: + bz2 = None + +try: + import lzma # We may need its compression method +except ImportError: + lzma = None + +__all__ = ["BadZipFile", "BadZipfile", "error", + "ZIP_STORED", "ZIP_DEFLATED", "ZIP_BZIP2", "ZIP_LZMA", + "is_zipfile", "ZipInfo", "ZipFile", "PyZipFile", "LargeZipFile"] + + +class BadZipFile(Exception): + pass + + +class LargeZipFile(Exception): + """ + Raised when writing a zipfile, the zipfile requires ZIP64 extensions + and those extensions are disabled. + """ + + +error = BadZipfile = BadZipFile # Pre-3.2 compatibility names + + +ZIP64_LIMIT = (1 << 31) - 1 +ZIP_FILECOUNT_LIMIT = (1 << 16) - 1 +ZIP_MAX_COMMENT = (1 << 16) - 1 + +# constants for Zip file compression methods +ZIP_STORED = 0 +ZIP_DEFLATED = 8 +ZIP_BZIP2 = 12 +ZIP_LZMA = 14 +# Other ZIP compression methods not supported + +DEFAULT_VERSION = 20 +ZIP64_VERSION = 45 +BZIP2_VERSION = 46 +LZMA_VERSION = 63 +# we recognize (but not necessarily support) all features up to that version +MAX_EXTRACT_VERSION = 63 + +# Below are some formats and associated data for reading/writing headers using +# the struct module. The names and structures of headers/records are those used +# in the PKWARE description of the ZIP file format: +# http://www.pkware.com/documents/casestudies/APPNOTE.TXT +# (URL valid as of January 2008) + +# The "end of central directory" structure, magic number, size, and indices +# (section V.I in the format document) +structEndArchive = b"<4s4H2LH" +stringEndArchive = b"PK\005\006" +sizeEndCentDir = struct.calcsize(structEndArchive) + +_ECD_SIGNATURE = 0 +_ECD_DISK_NUMBER = 1 +_ECD_DISK_START = 2 +_ECD_ENTRIES_THIS_DISK = 3 +_ECD_ENTRIES_TOTAL = 4 +_ECD_SIZE = 5 +_ECD_OFFSET = 6 +_ECD_COMMENT_SIZE = 7 +# These last two indices are not part of the structure as defined in the +# spec, but they are used internally by this module as a convenience +_ECD_COMMENT = 8 +_ECD_LOCATION = 9 + +# The "central directory" structure, magic number, size, and indices +# of entries in the structure (section V.F in the format document) +structCentralDir = "<4s4B4HL2L5H2L" +stringCentralDir = b"PK\001\002" +sizeCentralDir = struct.calcsize(structCentralDir) + +# indexes of entries in the central directory structure +_CD_SIGNATURE = 0 +_CD_CREATE_VERSION = 1 +_CD_CREATE_SYSTEM = 2 +_CD_EXTRACT_VERSION = 3 +_CD_EXTRACT_SYSTEM = 4 +_CD_FLAG_BITS = 5 +_CD_COMPRESS_TYPE = 6 +_CD_TIME = 7 +_CD_DATE = 8 +_CD_CRC = 9 +_CD_COMPRESSED_SIZE = 10 +_CD_UNCOMPRESSED_SIZE = 11 +_CD_FILENAME_LENGTH = 12 +_CD_EXTRA_FIELD_LENGTH = 13 +_CD_COMMENT_LENGTH = 14 +_CD_DISK_NUMBER_START = 15 +_CD_INTERNAL_FILE_ATTRIBUTES = 16 +_CD_EXTERNAL_FILE_ATTRIBUTES = 17 +_CD_LOCAL_HEADER_OFFSET = 18 + +# The "local file header" structure, magic number, size, and indices +# (section V.A in the format document) +structFileHeader = "<4s2B4HL2L2H" +stringFileHeader = b"PK\003\004" +sizeFileHeader = struct.calcsize(structFileHeader) + +_FH_SIGNATURE = 0 +_FH_EXTRACT_VERSION = 1 +_FH_EXTRACT_SYSTEM = 2 +_FH_GENERAL_PURPOSE_FLAG_BITS = 3 +_FH_COMPRESSION_METHOD = 4 +_FH_LAST_MOD_TIME = 5 +_FH_LAST_MOD_DATE = 6 +_FH_CRC = 7 +_FH_COMPRESSED_SIZE = 8 +_FH_UNCOMPRESSED_SIZE = 9 +_FH_FILENAME_LENGTH = 10 +_FH_EXTRA_FIELD_LENGTH = 11 + +# The "Zip64 end of central directory locator" structure, magic number, +# and size +structEndArchive64Locator = "<4sLQL" +stringEndArchive64Locator = b"PK\x06\x07" +sizeEndCentDir64Locator = struct.calcsize(structEndArchive64Locator) + +# The "Zip64 end of central directory" record, magic number, size, and indices +# (section V.G in the format document) +structEndArchive64 = "<4sQ2H2L4Q" +stringEndArchive64 = b"PK\x06\x06" +sizeEndCentDir64 = struct.calcsize(structEndArchive64) + +_CD64_SIGNATURE = 0 +_CD64_DIRECTORY_RECSIZE = 1 +_CD64_CREATE_VERSION = 2 +_CD64_EXTRACT_VERSION = 3 +_CD64_DISK_NUMBER = 4 +_CD64_DISK_NUMBER_START = 5 +_CD64_NUMBER_ENTRIES_THIS_DISK = 6 +_CD64_NUMBER_ENTRIES_TOTAL = 7 +_CD64_DIRECTORY_SIZE = 8 +_CD64_OFFSET_START_CENTDIR = 9 + + +def _check_zipfile(fp): + try: + if _EndRecData(fp): + return True # file has correct magic number + except OSError: + pass + return False + + +def is_zipfile(filename): + """Quickly see if a file is a ZIP file by checking the magic number. + + The filename argument may be a file or file-like object too. + """ + result = False + try: + if hasattr(filename, "read"): + result = _check_zipfile(fp=filename) + else: + with open(filename, "rb") as fp: + result = _check_zipfile(fp) + except OSError: + pass + return result + + +def _EndRecData64(fpin, offset, endrec): + """ + Read the ZIP64 end-of-archive records and use that to update endrec + """ + try: + fpin.seek(offset - sizeEndCentDir64Locator, 2) + except OSError: + # If the seek fails, the file is not large enough to contain a ZIP64 + # end-of-archive record, so just return the end record we were given. + return endrec + + data = fpin.read(sizeEndCentDir64Locator) + if len(data) != sizeEndCentDir64Locator: + return endrec + sig, diskno, reloff, disks = struct.unpack(structEndArchive64Locator, data) + if sig != stringEndArchive64Locator: + return endrec + + if diskno != 0 or disks != 1: + raise BadZipFile("zipfiles that span multiple disks are not supported") + + # Assume no 'zip64 extensible data' + fpin.seek(offset - sizeEndCentDir64Locator - sizeEndCentDir64, 2) + data = fpin.read(sizeEndCentDir64) + if len(data) != sizeEndCentDir64: + return endrec + sig, sz, create_version, read_version, disk_num, disk_dir, \ + dircount, dircount2, dirsize, diroffset = \ + struct.unpack(structEndArchive64, data) + if sig != stringEndArchive64: + return endrec + + # Update the original endrec using data from the ZIP64 record + endrec[_ECD_SIGNATURE] = sig + endrec[_ECD_DISK_NUMBER] = disk_num + endrec[_ECD_DISK_START] = disk_dir + endrec[_ECD_ENTRIES_THIS_DISK] = dircount + endrec[_ECD_ENTRIES_TOTAL] = dircount2 + endrec[_ECD_SIZE] = dirsize + endrec[_ECD_OFFSET] = diroffset + return endrec + + +def _EndRecData(fpin): + """Return data from the "End of Central Directory" record, or None. + + The data is a list of the nine items in the ZIP "End of central dir" + record followed by a tenth item, the file seek offset of this record.""" + + # Determine file size。 + fpin.seek(0, 2) + filesize = fpin.tell() + + # Check to see if this is ZIP file with no archive comment (the + # "end of central directory" structure should be the last item in the + # file if this is the case). + try: + fpin.seek(-sizeEndCentDir, 2) + except OSError: + return None + data = fpin.read() + if (len(data) == sizeEndCentDir and + data[0:4] == stringEndArchive and + data[-2:] == b"\000\000"): + # the signature is correct and there's no comment, unpack structure + endrec = struct.unpack(structEndArchive, data) + endrec = list(endrec) + + # Append a blank comment and record start offset + endrec.append(b"") + endrec.append(filesize - sizeEndCentDir) + + # Try to read the "Zip64 end of central directory" structure + return _EndRecData64(fpin, -sizeEndCentDir, endrec) + + # Either this is not a ZIP file, or it is a ZIP file with an archive + # comment. Search the end of the file for the "end of central directory" + # record signature. The comment is the last item in the ZIP file and may be + # up to 64K long. It is assumed that the "end of central directory" magic + # number does not appear in the comment. + maxCommentStart = max(filesize - (1 << 16) - sizeEndCentDir, 0) + fpin.seek(maxCommentStart, 0) + data = fpin.read() + start = data.rfind(stringEndArchive) + if start >= 0: + # found the magic number; attempt to unpack and interpret + recData = data[start:start + sizeEndCentDir] + if len(recData) != sizeEndCentDir: + # Zip file is corrupted. + return None + endrec = list(struct.unpack(structEndArchive, recData)) + commentSize = endrec[_ECD_COMMENT_SIZE] # as claimed by the zip file + comment = data[start + sizeEndCentDir:start + + sizeEndCentDir + commentSize] + endrec.append(comment) + endrec.append(maxCommentStart + start) + + # Try to read the "Zip64 end of central directory" structure + return _EndRecData64(fpin, maxCommentStart + start - filesize, + endrec) + + # Unable to find a valid end of central directory structure + return None + + +class ZipInfo (object): + """Class with attributes describing each file in the ZIP archive.""" + + __slots__ = ( + 'orig_filename', + 'filename', + 'date_time', + 'compress_type', + 'comment', + 'extra', + 'create_system', + 'create_version', + 'extract_version', + 'reserved', + 'flag_bits', + 'volume', + 'internal_attr', + 'external_attr', + 'header_offset', + 'CRC', + 'compress_size', + 'file_size', + '_raw_time', + ) + + def __init__(self, filename="NoName", date_time=(1980, 1, 1, 0, 0, 0)): + self.orig_filename = filename # Original file name in archive + + # Terminate the file name at the first null byte. Null bytes in file + # names are used as tricks by viruses in archives. + null_byte = filename.find(chr(0)) + if null_byte >= 0: + filename = filename[0:null_byte] + # This is used to ensure paths in generated ZIP files always use + # forward slashes as the directory separator, as required by the + # ZIP format specification. + if os.sep != "/" and os.sep in filename: + filename = filename.replace(os.sep, "/") + + self.filename = filename # Normalized file name + self.date_time = date_time # year, month, day, hour, min, sec + + if date_time[0] < 1980: + raise ValueError('ZIP does not support timestamps before 1980') + + # Standard values: + self.compress_type = ZIP_STORED # Type of compression for the file + self.comment = b"" # Comment for each file + self.extra = b"" # ZIP extra data + if sys.platform == 'win32': + self.create_system = 0 # System which created ZIP archive + else: + # Assume everything else is unix-y + self.create_system = 3 # System which created ZIP archive + self.create_version = DEFAULT_VERSION # Version which created ZIP archive + self.extract_version = DEFAULT_VERSION # Version needed to extract archive + self.reserved = 0 # Must be zero + self.flag_bits = 0 # ZIP flag bits + self.volume = 0 # Volume number of file header + self.internal_attr = 0 # Internal attributes + self.external_attr = 0 # External file attributes + # Other attributes are set by class ZipFile: + # header_offset Byte offset to the file header + # CRC CRC-32 of the uncompressed file + # compress_size Size of the compressed file + # file_size Size of the uncompressed file + + def __repr__(self): + result = ['<%s filename=%r' % (self.__class__.__name__, self.filename)] + if self.compress_type != ZIP_STORED: + result.append(' compress_type=%s' % + compressor_names.get(self.compress_type, + self.compress_type)) + hi = self.external_attr >> 16 + lo = self.external_attr & 0xFFFF + if hi: + result.append(' filemode=%r' % stat.filemode(hi)) + if lo: + result.append(' external_attr=%#x' % lo) + isdir = self.filename[-1:] == '/' + if not isdir or self.file_size: + result.append(' file_size=%r' % self.file_size) + if ((not isdir or self.compress_size) and + (self.compress_type != ZIP_STORED or + self.file_size != self.compress_size)): + result.append(' compress_size=%r' % self.compress_size) + result.append('>') + return ''.join(result) + + def FileHeader(self, zip64=None): + """Return the per-file header as a string.""" + dt = self.date_time + dosdate = (dt[0] - 1980) << 9 | dt[1] << 5 | dt[2] + dostime = dt[3] << 11 | dt[4] << 5 | (dt[5] // 2) + if self.flag_bits & 0x08: + # Set these to zero because we write them after the file data + CRC = compress_size = file_size = 0 + else: + CRC = self.CRC + compress_size = self.compress_size + file_size = self.file_size + + extra = self.extra + + min_version = 0 + if zip64 is None: + zip64 = file_size > ZIP64_LIMIT or compress_size > ZIP64_LIMIT + if zip64: + fmt = ' ZIP64_LIMIT or compress_size > ZIP64_LIMIT: + if not zip64: + raise LargeZipFile("Filesize would require ZIP64 extensions") + # File is larger than what fits into a 4 byte integer, + # fall back to the ZIP64 extension + file_size = 0xffffffff + compress_size = 0xffffffff + min_version = ZIP64_VERSION + + if self.compress_type == ZIP_BZIP2: + min_version = max(BZIP2_VERSION, min_version) + elif self.compress_type == ZIP_LZMA: + min_version = max(LZMA_VERSION, min_version) + + self.extract_version = max(min_version, self.extract_version) + self.create_version = max(min_version, self.create_version) + filename, flag_bits = self._encodeFilenameFlags() + header = struct.pack(structFileHeader, stringFileHeader, + self.extract_version, self.reserved, flag_bits, + self.compress_type, dostime, dosdate, CRC, + compress_size, file_size, + len(filename), len(extra)) + return header + filename + extra + + def _encodeFilenameFlags(self): + try: + return self.filename.encode('ascii'), self.flag_bits + except UnicodeEncodeError: + return self.filename.encode('utf-8'), self.flag_bits | 0x800 + + def _decodeExtra(self): + # Try to decode the extra field. + extra = self.extra + unpack = struct.unpack + while len(extra) >= 4: + tp, ln = unpack('= 24: + counts = unpack('> 1) & 0x7FFFFFFF) ^ poly + else: + crc = ((crc >> 1) & 0x7FFFFFFF) + table[i] = crc + return table + crctable = None + + def _crc32(self, ch, crc): + """Compute the CRC32 primitive on one byte.""" + return ((crc >> 8) & 0xffffff) ^ self.crctable[(crc ^ ch) & 0xff] + + def __init__(self, pwd): + if _ZipDecrypter.crctable is None: + _ZipDecrypter.crctable = _ZipDecrypter._GenerateCRCTable() + self.key0 = 305419896 + self.key1 = 591751049 + self.key2 = 878082192 + for p in pwd: + self._UpdateKeys(p) + + def _UpdateKeys(self, c): + self.key0 = self._crc32(c, self.key0) + self.key1 = (self.key1 + (self.key0 & 255)) & 4294967295 + self.key1 = (self.key1 * 134775813 + 1) & 4294967295 + self.key2 = self._crc32((self.key1 >> 24) & 255, self.key2) + + def __call__(self, c): + """Decrypt a single character.""" + assert isinstance(c, int) + k = self.key2 | 2 + c = c ^ (((k * (k ^ 1)) >> 8) & 255) + self._UpdateKeys(c) + return c + + +class LZMACompressor: + + def __init__(self): + self._comp = None + + def _init(self): + props = lzma._encode_filter_properties({'id': lzma.FILTER_LZMA1}) + self._comp = lzma.LZMACompressor(lzma.FORMAT_RAW, filters=[ + lzma._decode_filter_properties(lzma.FILTER_LZMA1, props) + ]) + return struct.pack('[^\r\n]+)|(?P\n|\r\n?)') + + def __init__(self, fileobj, mode, zipinfo, decrypter=None, + close_fileobj=False): + self._fileobj = fileobj + self._close_fileobj = close_fileobj + + self._compress_type = zipinfo.compress_type + self._compress_left = zipinfo.compress_size + self._left = zipinfo.file_size + + self._decompressor = _get_decompressor(self._compress_type) + + self._eof = False + self._readbuffer = b'' + self._offset = 0 + + self._universal = 'U' in mode + self.newlines = None + + self.mode = mode + self.name = zipinfo.filename + + def __repr__(self): + result = ['<%s.%s' % (self.__class__.__module__, + self.__class__.__qualname__)] + if not self.closed: + result.append(' name=%r mode=%r' % (self.name, self.mode)) + if self._compress_type != ZIP_STORED: + result.append(' compress_type=%s' % + compressor_names.get(self._compress_type, + self._compress_type)) + else: + result.append(' [closed]') + result.append('>') + return ''.join(result) + + def readline(self, limit=-1): + """Read and return a line from the stream. + + If limit is specified, at most limit bytes will be read. + """ + + if not self._universal and limit < 0: + # Shortcut common case - newline found in buffer. + i = self._readbuffer.find(b'\n', self._offset) + 1 + if i > 0: + line = self._readbuffer[self._offset: i] + self._offset = i + return line + + if not self._universal: + return io.BufferedIOBase.readline(self, limit) + + line = b'' + while limit < 0 or len(line) < limit: + readahead = self.peek(2) + if readahead == b'': + return line + + # + # Search for universal newlines or line chunks. + # + # The pattern returns either a line chunk or a newline, but not + # both. Combined with peek(2), we are assured that the sequence + # '\r\n' is always retrieved completely and never split into + # separate newlines - '\r', '\n' due to coincidental readaheads. + # + match = self.PATTERN.search(readahead) + newline = match.group('newline') + if newline is not None: + if self.newlines is None: + self.newlines = [] + if newline not in self.newlines: + self.newlines.append(newline) + self._offset += len(newline) + return line + b'\n' + + chunk = match.group('chunk') + if limit >= 0: + chunk = chunk[: limit - len(line)] + + self._offset += len(chunk) + line += chunk + + return line + + def peek(self, n=1): + """Returns buffered bytes without advancing the position.""" + if n > len(self._readbuffer) - self._offset: + chunk = self.read(n) + if len(chunk) > self._offset: + self._readbuffer = chunk + self._readbuffer[self._offset:] + self._offset = 0 + else: + self._offset -= len(chunk) + + # Return up to 512 bytes to reduce allocation overhead for tight loops. + return self._readbuffer[self._offset: self._offset + 512] + + def readable(self): + return True + + def read(self, n=-1): + """Read and return up to n bytes. + If the argument is omitted, None, or negative, data is read and returned until EOF is reached.. + """ + if n is None or n < 0: + buf = self._readbuffer[self._offset:] + self._readbuffer = b'' + self._offset = 0 + while not self._eof: + buf += self._read1(self.MAX_N) + return buf + + end = n + self._offset + if end < len(self._readbuffer): + buf = self._readbuffer[self._offset:end] + self._offset = end + return buf + + n = end - len(self._readbuffer) + buf = self._readbuffer[self._offset:] + self._readbuffer = b'' + self._offset = 0 + while n > 0 and not self._eof: + data = self._read1(n) + if n < len(data): + self._readbuffer = data + self._offset = n + buf += data[:n] + break + buf += data + n -= len(data) + return buf + + def _update_crc(self, newdata): + # Update the CRC using the given data. + if self._expected_crc is None: + # No need to compute the CRC if we don't have a reference value + return + self._running_crc = crc32(newdata, self._running_crc) & 0xffffffff + # Check the CRC if we're at the end of the file + # 因为Androidå¹¶ä¸éªŒè¯CRC + # 部分APK把CRC抹掉,解æžçš„æ—¶å€™ï¼Œä¸éªŒè¯CRC + # if self._eof and self._running_crc != self._expected_crc: + # raise BadZipFile("Bad CRC-32 for file %r" % self.name) + + def read1(self, n): + """Read up to n bytes with at most one read() system call.""" + + if n is None or n < 0: + buf = self._readbuffer[self._offset:] + self._readbuffer = b'' + self._offset = 0 + while not self._eof: + data = self._read1(self.MAX_N) + if data: + buf += data + break + return buf + + end = n + self._offset + if end < len(self._readbuffer): + buf = self._readbuffer[self._offset:end] + self._offset = end + return buf + + n = end - len(self._readbuffer) + buf = self._readbuffer[self._offset:] + self._readbuffer = b'' + self._offset = 0 + if n > 0: + while not self._eof: + data = self._read1(n) + if n < len(data): + self._readbuffer = data + self._offset = n + buf += data[:n] + break + if data: + buf += data + break + return buf + + def _read1(self, n): + # Read up to n compressed bytes with at most one read() system call, + # decrypt and decompress them. + if self._eof or n <= 0: + return b'' + + # Read from file. + if self._compress_type == ZIP_DEFLATED: + # Handle unconsumed data. + data = self._decompressor.unconsumed_tail + if n > len(data): + data += self._read2(n - len(data)) + else: + data = self._read2(n) + + if self._compress_type == ZIP_STORED: + self._eof = self._compress_left <= 0 + elif self._compress_type == ZIP_DEFLATED: + n = max(n, self.MIN_READ_SIZE) + data = self._decompressor.decompress(data, n) + self._eof = (self._decompressor.eof or + self._compress_left <= 0 and + not self._decompressor.unconsumed_tail) + if self._eof: + data += self._decompressor.flush() + else: + data = self._decompressor.decompress(data) + self._eof = self._decompressor.eof or self._compress_left <= 0 + + data = data[:self._left] + self._left -= len(data) + if self._left <= 0: + self._eof = True + # self._update_crc(data) + return data + + def _read2(self, n): + if self._compress_left <= 0: + return b'' + + n = max(n, self.MIN_READ_SIZE) + n = min(n, self._compress_left) + + data = self._fileobj.read(n) + self._compress_left -= len(data) + if not data: + raise EOFError + + return data + + def close(self): + try: + if self._close_fileobj: + self._fileobj.close() + finally: + super().close() + + +class ZipFile: + """ Class with methods to open, read, write, close, list zip files. + + z = ZipFile(file, mode="r", compression=ZIP_STORED, allowZip64=True) + + file: Either the path to the file, or a file-like object. + If it is a path, the file will be opened and closed by ZipFile. + mode: The mode can be either read 'r', write 'w', exclusive create 'x', + or append 'a'. + compression: ZIP_STORED (no compression), ZIP_DEFLATED (requires zlib), + ZIP_BZIP2 (requires bz2) or ZIP_LZMA (requires lzma). + allowZip64: if True ZipFile will create files with ZIP64 extensions when + needed, otherwise it will raise an exception when this would + be necessary. + + """ + + fp = None # Set here since __del__ checks it + _windows_illegal_name_trans_table = None + + def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True): + """Open the ZIP file with mode read 'r', write 'w', exclusive create 'x', + or append 'a'.""" + if mode not in ('r', 'w', 'x', 'a'): + raise RuntimeError("ZipFile requires mode 'r', 'w', 'x', or 'a'") + + _check_compression(compression) + + self._allowZip64 = allowZip64 + self._didModify = False + self.debug = 0 # Level of printing: 0 through 3 + self.NameToInfo = {} # Find file info given name + self.filelist = [] # List of ZipInfo instances for archive + self.compression = compression # Method of compression + self.mode = mode + self.pwd = None + self._comment = b'' + + # Check if we were passed a file-like object + if isinstance(file, str): + # No, it's a filename + self._filePassed = 0 + self.filename = file + modeDict = {'r': 'rb', 'w': 'w+b', 'x': 'x+b', 'a': 'r+b', + 'r+b': 'w+b', 'w+b': 'wb', 'x+b': 'xb'} + filemode = modeDict[mode] + while True: + try: + self.fp = io.open(file, filemode) + except OSError: + if filemode in modeDict: + filemode = modeDict[filemode] + continue + raise + break + else: + self._filePassed = 1 + self.fp = file + self.filename = getattr(file, 'name', None) + self._fileRefCnt = 1 + self._lock = threading.RLock() + self._seekable = True + + try: + if mode == 'r': + self._RealGetContents() + elif mode in ('w', 'x'): + # set the modified flag so central directory gets written + # even if no files are added to the archive + self._didModify = True + try: + self.start_dir = self.fp.tell() + except (AttributeError, OSError): + self.fp = _Tellable(self.fp) + self.start_dir = 0 + self._seekable = False + else: + # Some file-like objects can provide tell() but not seek() + try: + self.fp.seek(self.start_dir) + except (AttributeError, OSError): + self._seekable = False + elif mode == 'a': + try: + # See if file is a zip file + self._RealGetContents() + # seek to start of directory and overwrite + self.fp.seek(self.start_dir) + except BadZipFile: + # file is not a zip file, just append + self.fp.seek(0, 2) + + # set the modified flag so central directory gets written + # even if no files are added to the archive + self._didModify = True + self.start_dir = self.fp.tell() + else: + raise RuntimeError("Mode must be 'r', 'w', 'x', or 'a'") + except Exception as ignore: + fp = self.fp + self.fp = None + self._fpclose(fp) + raise + + def __enter__(self): + return self + + def __exit__(self, type, value, traceback): + self.close() + + def __repr__(self): + result = ['<%s.%s' % (self.__class__.__module__, + self.__class__.__qualname__)] + if self.fp is not None: + if self._filePassed: + result.append(' file=%r' % self.fp) + elif self.filename is not None: + result.append(' filename=%r' % self.filename) + result.append(' mode=%r' % self.mode) + else: + result.append(' [closed]') + result.append('>') + return ''.join(result) + + def _RealGetContents(self): + """Read in the table of contents for the ZIP file.""" + fp = self.fp + try: + endrec = _EndRecData(fp) + except OSError: + raise BadZipFile("File is not a zip file") + if not endrec: + raise BadZipFile("File is not a zip file") + if self.debug > 1: + print(endrec) + size_cd = endrec[_ECD_SIZE] # bytes in central directory + offset_cd = endrec[_ECD_OFFSET] # offset of central directory + self._comment = endrec[_ECD_COMMENT] # archive comment + + # ---> APKæ–‡ä»¶åªæœ‰ä¸€ä¸ªï¼Œä¸å¯èƒ½å­˜åœ¨é¢å¤–æ•°æ®ã€‚ + # "concat" is zero, unless zip was concatenated to another file + # concat = endrec[_ECD_LOCATION] - size_cd - offset_cd + # if endrec[_ECD_SIGNATURE] == stringEndArchive64: + # # If Zip64 extension structures are present, account for them + # concat -= (sizeEndCentDir64 + sizeEndCentDir64Locator) + concat = 0 + + if self.debug > 2: + inferred = concat + offset_cd + print("given, inferred, offset", offset_cd, inferred, concat) + # self.start_dir: Position of start of central directory + self.start_dir = offset_cd + concat + fp.seek(self.start_dir, 0) + data = fp.read(size_cd) + fp = io.BytesIO(data) + total = 0 + while total < size_cd: + centdir = fp.read(sizeCentralDir) + if len(centdir) != sizeCentralDir: + raise BadZipFile("Truncated central directory") + centdir = struct.unpack(structCentralDir, centdir) + if centdir[_CD_SIGNATURE] != stringCentralDir: + raise BadZipFile("Bad magic number for central directory") + if self.debug > 2: + print(centdir) + filename = fp.read(centdir[_CD_FILENAME_LENGTH]) + flags = centdir[5] + if flags & 0x800: + # UTF-8 file names extension + filename = filename.decode('utf-8') + else: + # Historical ZIP filename encoding + filename = filename.decode('cp437') + # Create ZipInfo instance to store file information + x = ZipInfo(filename) + x.extra = fp.read(centdir[_CD_EXTRA_FIELD_LENGTH]) + x.comment = fp.read(centdir[_CD_COMMENT_LENGTH]) + x.header_offset = centdir[_CD_LOCAL_HEADER_OFFSET] + (x.create_version, x.create_system, x.extract_version, x.reserved, + x.flag_bits, x.compress_type, t, d, + x.CRC, x.compress_size, x.file_size) = centdir[1:12] + if x.extract_version > MAX_EXTRACT_VERSION: + raise NotImplementedError("zip file version %.1f" % + (x.extract_version / 10)) + x.volume, x.internal_attr, x.external_attr = centdir[15:18] + # Convert date/time code to (year, month, day, hour, min, sec) + x._raw_time = t + x.date_time = ((d >> 9) + 1980, (d >> 5) & 0xF, d & 0x1F, + t >> 11, (t >> 5) & 0x3F, (t & 0x1F) * 2) + + x._decodeExtra() + # x.header_offset = x.header_offset + concat + self.filelist.append(x) + self.NameToInfo[x.filename] = x + + # update total bytes read from central directory + total = total + sizeCentralDir + \ + centdir[_CD_FILENAME_LENGTH] + \ + centdir[_CD_EXTRA_FIELD_LENGTH] + centdir[_CD_COMMENT_LENGTH] + + def namelist(self): + """Return a list of file names in the archive.""" + return [data.filename for data in self.filelist] + + def infolist(self): + """Return a list of class ZipInfo instances for files in the + archive.""" + return self.filelist + + def printdir(self, file=None): + """Print a table of contents for the zip file.""" + print("%-46s %19s %12s" % ("File Name", "Modified ", "Size"), + file=file) + for zinfo in self.filelist: + date = "%d-%02d-%02d %02d:%02d:%02d" % zinfo.date_time[:6] + print("%-46s %s %12d" % (zinfo.filename, date, zinfo.file_size), + file=file) + + def testzip(self): + """Read all the files and check the CRC.""" + chunk_size = 2 ** 20 + for zinfo in self.filelist: + try: + # Read by chunks, to avoid an OverflowError or a + # MemoryError with very large embedded files. + with self.open(zinfo.filename, "r") as f: + while f.read(chunk_size): # Check CRC-32 + pass + except BadZipFile: + return zinfo.filename + + def getinfo(self, name): + """Return the instance of ZipInfo given 'name'.""" + info = self.NameToInfo.get(name) + if info is None: + raise KeyError( + 'There is no item named %r in the archive' % name) + + return info + + def setpassword(self, pwd): + """Set default password for encrypted files.""" + if pwd and not isinstance(pwd, bytes): + raise TypeError("pwd: expected bytes, got %s" % type(pwd)) + if pwd: + self.pwd = pwd + else: + self.pwd = None + + @property + def comment(self): + """The comment text associated with the ZIP file.""" + return self._comment + + @comment.setter + def comment(self, comment): + if not isinstance(comment, bytes): + raise TypeError("comment: expected bytes, got %s" % type(comment)) + # check for valid comment length + if len(comment) > ZIP_MAX_COMMENT: + import warnings + warnings.warn('Archive comment is too long; truncating to %d bytes' + % ZIP_MAX_COMMENT, stacklevel=2) + comment = comment[:ZIP_MAX_COMMENT] + self._comment = comment + self._didModify = True + + def read(self, name, pwd=None): + """Return file bytes (as a string) for name.""" + with self.open(name, "r", pwd) as fp: + return fp.read() + + def open(self, name, mode="r", pwd=None): + """Return file-like object for 'name'.""" + if mode not in ("r", "U", "rU"): + raise RuntimeError('open() requires mode "r", "U", or "rU"') + if 'U' in mode: + import warnings + warnings.warn("'U' mode is deprecated", + DeprecationWarning, 2) + if pwd and not isinstance(pwd, bytes): + raise TypeError("pwd: expected bytes, got %s" % type(pwd)) + if not self.fp: + raise RuntimeError( + "Attempt to read ZIP archive that was already closed") + + # Make sure we have an info object + if isinstance(name, ZipInfo): + # 'name' is already an info object + zinfo = name + else: + # Get info object for name + zinfo = self.getinfo(name) + + self._fileRefCnt += 1 + + zef_file = _SharedFile( + self.fp, zinfo.header_offset, self._fpclose, self._lock) + + try: + # Skip the file header: + fheader = zef_file.read(sizeFileHeader) + + if len(fheader) != sizeFileHeader: + raise BadZipFile("Truncated file header") + + fheader = struct.unpack(structFileHeader, fheader) + # print(fheader) + + if fheader[_FH_SIGNATURE] != stringFileHeader: + raise BadZipFile("Bad magic number for file header") + + # 注æ„:头部的文件长度å¯èƒ½ä¼šè¢«ä¿®æ”¹ + len_fname = fheader[_FH_FILENAME_LENGTH] + if len_fname > 256: + # 自动修正文件å长度,但是,ä¸èƒ½ä¿è¯è§£åŽ‹æˆåŠŸ + len_fname = len(zinfo.orig_filename) + + fname = zef_file.read(len_fname) + + if fheader[_FH_EXTRA_FIELD_LENGTH]: + zef_file.read(fheader[_FH_EXTRA_FIELD_LENGTH]) + + # zinfo.flag_bits ^= zinfo.flag_bits % 2 + + if zinfo.flag_bits & 0x20: + # Zip 2.7: compressed patched data + raise NotImplementedError( + "compressed patched data (flag bit 5)") + + if zinfo.flag_bits & 0x40: + # strong encryption + raise NotImplementedError("strong encryption (flag bit 6)") + + if zinfo.flag_bits & 0x800: + # UTF-8 filename + fname_str = fname.decode("utf-8") + else: + fname_str = fname.decode("cp437") + + if fname_str != zinfo.orig_filename: + raise BadZipFile( + 'File name in directory %r and header %r differ.' + % (zinfo.orig_filename, fname)) + + return ZipExtFile(zef_file, mode, zinfo, None, True) + except Exception as ignore: + zef_file.close() + raise + + def extract(self, member, path=None, pwd=None): + """Extract a member from the archive to the current working directory, + using its full name. Its file information is extracted as accurately + as possible. `member' may be a filename or a ZipInfo object. You can + specify a different directory using `path'. + """ + if not isinstance(member, ZipInfo): + member = self.getinfo(member) + + if path is None: + path = os.getcwd() + + return self._extract_member(member, path, pwd) + + def extractall(self, path=None, members=None, pwd=None): + """Extract all members from the archive to the current working + directory. `path' specifies a different directory to extract to. + `members' is optional and must be a subset of the list returned + by namelist(). + """ + if members is None: + members = self.namelist() + + for zipinfo in members: + self.extract(zipinfo, path, pwd) + + @classmethod + def _sanitize_windows_name(cls, arcname, pathsep): + """Replace bad characters and remove trailing dots from parts.""" + table = cls._windows_illegal_name_trans_table + if not table: + illegal = ':<>|"?*' + table = str.maketrans(illegal, '_' * len(illegal)) + cls._windows_illegal_name_trans_table = table + arcname = arcname.translate(table) + # remove trailing dots + arcname = (x.rstrip('.') for x in arcname.split(pathsep)) + # rejoin, removing empty parts. + arcname = pathsep.join(x for x in arcname if x) + return arcname + + def _extract_member(self, member, targetpath, pwd): + """Extract the ZipInfo object 'member' to a physical + file on the path targetpath. + """ + # build the destination pathname, replacing + # forward slashes to platform specific separators. + arcname = member.filename.replace('/', os.path.sep) + + if os.path.altsep: + arcname = arcname.replace(os.path.altsep, os.path.sep) + # interpret absolute pathname as relative, remove drive letter or + # UNC path, redundant separators, "." and ".." components. + arcname = os.path.splitdrive(arcname)[1] + invalid_path_parts = ('', os.path.curdir, os.path.pardir) + arcname = os.path.sep.join(x for x in arcname.split(os.path.sep) + if x not in invalid_path_parts) + if os.path.sep == '\\': + # filter illegal characters on Windows + arcname = self._sanitize_windows_name(arcname, os.path.sep) + + targetpath = os.path.join(targetpath, arcname) + targetpath = os.path.normpath(targetpath) + + # Create all upper directories if necessary. + upperdirs = os.path.dirname(targetpath) + if upperdirs and not os.path.exists(upperdirs): + os.makedirs(upperdirs) + + if member.filename[-1] == '/': + if not os.path.isdir(targetpath): + os.mkdir(targetpath) + return targetpath + + with self.open(member, pwd=pwd) as source, \ + open(targetpath, "wb") as target: + shutil.copyfileobj(source, target) + + return targetpath + + def _writecheck(self, zinfo): + """Check for errors before writing a file to the archive.""" + if zinfo.filename in self.NameToInfo: + import warnings + warnings.warn('Duplicate name: %r' % zinfo.filename, stacklevel=3) + if self.mode not in ('w', 'x', 'a'): + raise RuntimeError("write() requires mode 'w', 'x', or 'a'") + if not self.fp: + raise RuntimeError( + "Attempt to write ZIP archive that was already closed") + _check_compression(zinfo.compress_type) + if not self._allowZip64: + requires_zip64 = None + if len(self.filelist) >= ZIP_FILECOUNT_LIMIT: + requires_zip64 = "Files count" + elif zinfo.file_size > ZIP64_LIMIT: + requires_zip64 = "Filesize" + elif zinfo.header_offset > ZIP64_LIMIT: + requires_zip64 = "Zipfile size" + if requires_zip64: + raise LargeZipFile(requires_zip64 + + " would require ZIP64 extensions") + + def write(self, filename, arcname=None, compress_type=None): + """Put the bytes from filename into the archive under the name + arcname.""" + if not self.fp: + raise RuntimeError( + "Attempt to write to ZIP archive that was already closed") + + st = os.stat(filename) + isdir = stat.S_ISDIR(st.st_mode) + mtime = time.localtime(st.st_mtime) + date_time = mtime[0:6] + # Create ZipInfo instance to store file information + if arcname is None: + arcname = filename + arcname = os.path.normpath(os.path.splitdrive(arcname)[1]) + while arcname[0] in (os.sep, os.altsep): + arcname = arcname[1:] + if isdir: + arcname += '/' + zinfo = ZipInfo(arcname, date_time) + zinfo.external_attr = (st[0] & 0xFFFF) << 16 # Unix attributes + if compress_type is None: + zinfo.compress_type = self.compression + else: + zinfo.compress_type = compress_type + + zinfo.file_size = st.st_size + zinfo.flag_bits = 0x00 + with self._lock: + if self._seekable: + self.fp.seek(self.start_dir) + zinfo.header_offset = self.fp.tell() # Start of header bytes + if zinfo.compress_type == ZIP_LZMA: + # Compressed data includes an end-of-stream (EOS) marker + zinfo.flag_bits |= 0x02 + + self._writecheck(zinfo) + self._didModify = True + + if isdir: + zinfo.file_size = 0 + zinfo.compress_size = 0 + zinfo.CRC = 0 + zinfo.external_attr |= 0x10 # MS-DOS directory flag + self.filelist.append(zinfo) + self.NameToInfo[zinfo.filename] = zinfo + self.fp.write(zinfo.FileHeader(False)) + self.start_dir = self.fp.tell() + return + + cmpr = _get_compressor(zinfo.compress_type) + if not self._seekable: + zinfo.flag_bits |= 0x08 + with open(filename, "rb") as fp: + # Must overwrite CRC and sizes with correct data later + zinfo.CRC = CRC = 0 + zinfo.compress_size = compress_size = 0 + # Compressed size can be larger than uncompressed size + zip64 = self._allowZip64 and \ + zinfo.file_size * 1.05 > ZIP64_LIMIT + self.fp.write(zinfo.FileHeader(zip64)) + file_size = 0 + while 1: + buf = fp.read(1024 * 8) + if not buf: + break + file_size = file_size + len(buf) + CRC = crc32(buf, CRC) & 0xffffffff + if cmpr: + buf = cmpr.compress(buf) + compress_size = compress_size + len(buf) + self.fp.write(buf) + if cmpr: + buf = cmpr.flush() + compress_size = compress_size + len(buf) + self.fp.write(buf) + zinfo.compress_size = compress_size + else: + zinfo.compress_size = file_size + zinfo.CRC = CRC + zinfo.file_size = file_size + if zinfo.flag_bits & 0x08: + # Write CRC and file sizes after the file data + fmt = ' ZIP64_LIMIT: + raise RuntimeError( + 'File size has increased during compressing') + if compress_size > ZIP64_LIMIT: + raise RuntimeError( + 'Compressed size larger than uncompressed size') + # Seek backwards and write file header (which will now include + # correct CRC and file sizes) + self.start_dir = self.fp.tell() # Preserve current position in file + self.fp.seek(zinfo.header_offset) + self.fp.write(zinfo.FileHeader(zip64)) + self.fp.seek(self.start_dir) + self.filelist.append(zinfo) + self.NameToInfo[zinfo.filename] = zinfo + + def writestr(self, zinfo_or_arcname, data, compress_type=None): + """Write a file into the archive. The contents is 'data', which + may be either a 'str' or a 'bytes' instance; if it is a 'str', + it is encoded as UTF-8 first. + 'zinfo_or_arcname' is either a ZipInfo instance or + the name of the file in the archive.""" + if isinstance(data, str): + data = data.encode("utf-8") + if not isinstance(zinfo_or_arcname, ZipInfo): + zinfo = ZipInfo(filename=zinfo_or_arcname, + date_time=time.localtime(time.time())[:6]) + zinfo.compress_type = self.compression + if zinfo.filename[-1] == '/': + zinfo.external_attr = 0o40775 << 16 # drwxrwxr-x + zinfo.external_attr |= 0x10 # MS-DOS directory flag + else: + zinfo.external_attr = 0o600 << 16 # ?rw------- + else: + zinfo = zinfo_or_arcname + + if not self.fp: + raise RuntimeError( + "Attempt to write to ZIP archive that was already closed") + + zinfo.file_size = len(data) # Uncompressed size + with self._lock: + if self._seekable: + self.fp.seek(self.start_dir) + zinfo.header_offset = self.fp.tell() # Start of header data + if compress_type is not None: + zinfo.compress_type = compress_type + zinfo.header_offset = self.fp.tell() # Start of header data + if compress_type is not None: + zinfo.compress_type = compress_type + if zinfo.compress_type == ZIP_LZMA: + # Compressed data includes an end-of-stream (EOS) marker + zinfo.flag_bits |= 0x02 + + self._writecheck(zinfo) + self._didModify = True + zinfo.CRC = crc32(data) & 0xffffffff # CRC-32 checksum + co = _get_compressor(zinfo.compress_type) + if co: + data = co.compress(data) + co.flush() + zinfo.compress_size = len(data) # Compressed size + else: + zinfo.compress_size = zinfo.file_size + zip64 = zinfo.file_size > ZIP64_LIMIT or \ + zinfo.compress_size > ZIP64_LIMIT + if zip64 and not self._allowZip64: + raise LargeZipFile("Filesize would require ZIP64 extensions") + self.fp.write(zinfo.FileHeader(zip64)) + self.fp.write(data) + if zinfo.flag_bits & 0x08: + # Write CRC and file sizes after the file data + fmt = ' ZIP64_LIMIT \ + or zinfo.compress_size > ZIP64_LIMIT: + extra.append(zinfo.file_size) + extra.append(zinfo.compress_size) + file_size = 0xffffffff + compress_size = 0xffffffff + else: + file_size = zinfo.file_size + compress_size = zinfo.compress_size + + if zinfo.header_offset > ZIP64_LIMIT: + extra.append(zinfo.header_offset) + header_offset = 0xffffffff + else: + header_offset = zinfo.header_offset + + extra_data = zinfo.extra + min_version = 0 + if extra: + # Append a ZIP64 field to the extra's + extra_data = struct.pack( + ' ZIP_FILECOUNT_LIMIT: + requires_zip64 = "Files count" + elif centDirOffset > ZIP64_LIMIT: + requires_zip64 = "Central directory offset" + elif centDirSize > ZIP64_LIMIT: + requires_zip64 = "Central directory size" + if requires_zip64: + # Need to write the ZIP64 end-of-archive records + if not self._allowZip64: + raise LargeZipFile(requires_zip64 + + " would require ZIP64 extensions") + zip64endrec = struct.pack( + structEndArchive64, stringEndArchive64, + 44, 45, 45, 0, 0, centDirCount, centDirCount, + centDirSize, centDirOffset) + self.fp.write(zip64endrec) + + zip64locrec = struct.pack( + structEndArchive64Locator, + stringEndArchive64Locator, 0, pos2, 1) + self.fp.write(zip64locrec) + centDirCount = min(centDirCount, 0xFFFF) + centDirSize = min(centDirSize, 0xFFFFFFFF) + centDirOffset = min(centDirOffset, 0xFFFFFFFF) + + endrec = struct.pack(structEndArchive, stringEndArchive, + 0, 0, centDirCount, centDirCount, + centDirSize, centDirOffset, len(self._comment)) + self.fp.write(endrec) + self.fp.write(self._comment) + self.fp.flush() + + def _fpclose(self, fp): + assert self._fileRefCnt > 0 + self._fileRefCnt -= 1 + if not self._fileRefCnt and not self._filePassed: + fp.close() + + +class PyZipFile(ZipFile): + """Class to create ZIP archives with Python library files and packages.""" + + def __init__(self, file, mode="r", compression=ZIP_STORED, + allowZip64=True, optimize=-1): + ZipFile.__init__(self, file, mode=mode, compression=compression, + allowZip64=allowZip64) + self._optimize = optimize + + def writepy(self, pathname, basename="", filterfunc=None): + """Add all files from "pathname" to the ZIP archive. + + If pathname is a package directory, search the directory and + all package subdirectories recursively for all *.py and enter + the modules into the archive. If pathname is a plain + directory, listdir *.py and enter all modules. Else, pathname + must be a Python *.py file and the module will be put into the + archive. Added modules are always module.pyc. + This method will compile the module.py into module.pyc if + necessary. + If filterfunc(pathname) is given, it is called with every argument. + When it is False, the file or directory is skipped. + """ + if filterfunc and not filterfunc(pathname): + if self.debug: + label = 'path' if os.path.isdir(pathname) else 'file' + print('%s "%s" skipped by filterfunc' % (label, pathname)) + return + dir, name = os.path.split(pathname) + if os.path.isdir(pathname): + initname = os.path.join(pathname, "__init__.py") + if os.path.isfile(initname): + # This is a package directory, add it + if basename: + basename = "%s/%s" % (basename, name) + else: + basename = name + if self.debug: + print("Adding package in", pathname, "as", basename) + fname, arcname = self._get_codename(initname[0:-3], basename) + if self.debug: + print("Adding", arcname) + self.write(fname, arcname) + dirlist = os.listdir(pathname) + dirlist.remove("__init__.py") + # Add all *.py files and package subdirectories + for filename in dirlist: + path = os.path.join(pathname, filename) + root, ext = os.path.splitext(filename) + if os.path.isdir(path): + if os.path.isfile(os.path.join(path, "__init__.py")): + # This is a package directory, add it + self.writepy(path, basename, + filterfunc=filterfunc) # Recursive call + elif ext == ".py": + if filterfunc and not filterfunc(path): + if self.debug: + print('file "%s" skipped by filterfunc' % path) + continue + fname, arcname = self._get_codename(path[0:-3], + basename) + if self.debug: + print("Adding", arcname) + self.write(fname, arcname) + else: + # This is NOT a package directory, add its files at top level + if self.debug: + print("Adding files from directory", pathname) + for filename in os.listdir(pathname): + path = os.path.join(pathname, filename) + root, ext = os.path.splitext(filename) + if ext == ".py": + if filterfunc and not filterfunc(path): + if self.debug: + print('file "%s" skipped by filterfunc' % path) + continue + fname, arcname = self._get_codename(path[0:-3], + basename) + if self.debug: + print("Adding", arcname) + self.write(fname, arcname) + else: + if pathname[-3:] != ".py": + raise RuntimeError( + 'Files added with writepy() must end with ".py"') + fname, arcname = self._get_codename(pathname[0:-3], basename) + if self.debug: + print("Adding file", arcname) + self.write(fname, arcname) + + def _get_codename(self, pathname, basename): + """Return (filename, archivename) for the path. + + Given a module name path, return the correct file path and + archive name, compiling if necessary. For example, given + /python/lib/string, return (/python/lib/string.pyc, string). + """ + def _compile(file, optimize=-1): + import py_compile + if self.debug: + print("Compiling", file) + try: + py_compile.compile(file, doraise=True, optimize=optimize) + except py_compile.PyCompileError as err: + print(err.msg) + return False + return True + + file_py = pathname + ".py" + file_pyc = pathname + ".pyc" + pycache_opt0 = importlib.util.cache_from_source( + file_py, optimization='') + pycache_opt1 = importlib.util.cache_from_source( + file_py, optimization=1) + pycache_opt2 = importlib.util.cache_from_source( + file_py, optimization=2) + if self._optimize == -1: + # legacy mode: use whatever file is present + if (os.path.isfile(file_pyc) and + os.stat(file_pyc).st_mtime >= os.stat(file_py).st_mtime): + # Use .pyc file. + arcname = fname = file_pyc + elif (os.path.isfile(pycache_opt0) and + os.stat(pycache_opt0).st_mtime >= os.stat(file_py).st_mtime): + # Use the __pycache__/*.pyc file, but write it to the legacy pyc + # file name in the archive. + fname = pycache_opt0 + arcname = file_pyc + elif (os.path.isfile(pycache_opt1) and + os.stat(pycache_opt1).st_mtime >= os.stat(file_py).st_mtime): + # Use the __pycache__/*.pyc file, but write it to the legacy pyc + # file name in the archive. + fname = pycache_opt1 + arcname = file_pyc + elif (os.path.isfile(pycache_opt2) and + os.stat(pycache_opt2).st_mtime >= os.stat(file_py).st_mtime): + # Use the __pycache__/*.pyc file, but write it to the legacy pyc + # file name in the archive. + fname = pycache_opt2 + arcname = file_pyc + else: + # Compile py into PEP 3147 pyc file. + if _compile(file_py): + if sys.flags.optimize == 0: + fname = pycache_opt0 + elif sys.flags.optimize == 1: + fname = pycache_opt1 + else: + fname = pycache_opt2 + arcname = file_pyc + else: + fname = arcname = file_py + else: + # new mode: use given optimization level + if self._optimize == 0: + fname = pycache_opt0 + arcname = file_pyc + else: + arcname = file_pyc + if self._optimize == 1: + fname = pycache_opt1 + elif self._optimize == 2: + fname = pycache_opt2 + else: + msg = "invalid value for 'optimize': {!r}".format( + self._optimize) + raise ValueError(msg) + if not (os.path.isfile(fname) and + os.stat(fname).st_mtime >= os.stat(file_py).st_mtime): + if not _compile(file_py, optimize=self._optimize): + fname = arcname = file_py + archivename = os.path.split(arcname)[1] + if basename: + archivename = "%s/%s" % (basename, archivename) + return (fname, archivename) + + +def main(args=None): + import textwrap + USAGE = textwrap.dedent("""\ + Usage: + zipfile.py -l zipfile.zip # Show listing of a zipfile + zipfile.py -t zipfile.zip # Test if a zipfile is valid + zipfile.py -e zipfile.zip target # Extract zipfile into target dir + zipfile.py -c zipfile.zip src ... # Create zipfile from sources + """) + if args is None: + args = sys.argv[1:] + + if not args or args[0] not in ('-l', '-c', '-e', '-t'): + print(USAGE) + sys.exit(1) + + if args[0] == '-l': + if len(args) != 2: + print(USAGE) + sys.exit(1) + with ZipFile(args[1], 'r') as zf: + zf.printdir() + + elif args[0] == '-t': + if len(args) != 2: + print(USAGE) + sys.exit(1) + with ZipFile(args[1], 'r') as zf: + badfile = zf.testzip() + if badfile: + print( + "The following enclosed file is corrupted: {!r}".format(badfile)) + print("Done testing") + + elif args[0] == '-e': + if len(args) != 3: + print(USAGE) + sys.exit(1) + + with ZipFile(args[1], 'r') as zf: + zf.extractall(args[2]) + + elif args[0] == '-c': + if len(args) < 3: + print(USAGE) + sys.exit(1) + + def addToZip(zf, path, zippath): + if os.path.isfile(path): + zf.write(path, zippath, ZIP_DEFLATED) + elif os.path.isdir(path): + if zippath: + zf.write(path, zippath) + for nm in os.listdir(path): + addToZip(zf, + os.path.join(path, nm), os.path.join(zippath, nm)) + # else: ignore + + with ZipFile(args[1], 'w') as zf: + for path in args[2:]: + zippath = os.path.basename(path) + if not zippath: + zippath = os.path.basename(os.path.dirname(path)) + if zippath in ('', os.curdir, os.pardir): + zippath = '' + addToZip(zf, path, zippath) + + +if __name__ == "__main__": + main() diff --git a/venv/Lib/site-packages/apkutils2/axml/__init__.py b/venv/Lib/site-packages/apkutils2/axml/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/venv/Lib/site-packages/apkutils2/axml/__pycache__/__init__.cpython-39.pyc b/venv/Lib/site-packages/apkutils2/axml/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..30b49560 Binary files /dev/null and b/venv/Lib/site-packages/apkutils2/axml/__pycache__/__init__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/apkutils2/axml/__pycache__/arscparser.cpython-39.pyc b/venv/Lib/site-packages/apkutils2/axml/__pycache__/arscparser.cpython-39.pyc new file mode 100644 index 00000000..962e1762 Binary files /dev/null and b/venv/Lib/site-packages/apkutils2/axml/__pycache__/arscparser.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/apkutils2/axml/__pycache__/axmlparser.cpython-39.pyc b/venv/Lib/site-packages/apkutils2/axml/__pycache__/axmlparser.cpython-39.pyc new file mode 100644 index 00000000..6d138c13 Binary files /dev/null and b/venv/Lib/site-packages/apkutils2/axml/__pycache__/axmlparser.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/apkutils2/axml/__pycache__/chunk.cpython-39.pyc b/venv/Lib/site-packages/apkutils2/axml/__pycache__/chunk.cpython-39.pyc new file mode 100644 index 00000000..952ba123 Binary files /dev/null and b/venv/Lib/site-packages/apkutils2/axml/__pycache__/chunk.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/apkutils2/axml/__pycache__/public.cpython-39.pyc b/venv/Lib/site-packages/apkutils2/axml/__pycache__/public.cpython-39.pyc new file mode 100644 index 00000000..bb9622c1 Binary files /dev/null and b/venv/Lib/site-packages/apkutils2/axml/__pycache__/public.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/apkutils2/axml/arscparser.py b/venv/Lib/site-packages/apkutils2/axml/arscparser.py new file mode 100644 index 00000000..13b45353 --- /dev/null +++ b/venv/Lib/site-packages/apkutils2/axml/arscparser.py @@ -0,0 +1,914 @@ +from struct import pack, unpack +import collections + +from apkutils2.axml.chunk import BuffHandle, StringPoolChunk + +# RES_NULL_TYPE = 0x0000 +# RES_STRING_POOL_TYPE = 0x0001 +# RES_TABLE_TYPE = 0x0002 +# RES_XML_TYPE = 0x0003 +# +# # Chunk types in RES_XML_TYPE +# RES_XML_FIRST_CHUNK_TYPE = 0x0100 +# RES_XML_START_NAMESPACE_TYPE = 0x0100 +# RES_XML_END_NAMESPACE_TYPE = 0x0101 +# RES_XML_START_ELEMENT_TYPE = 0x0102 +# RES_XML_END_ELEMENT_TYPE = 0x0103 +# RES_XML_CDATA_TYPE = 0x0104 +# RES_XML_LAST_CHUNK_TYPE = 0x017f +# +# # This contains a uint32_t array mapping strings in the string +# # pool back to resource identifiers. It is optional. +# RES_XML_RESOURCE_MAP_TYPE = 0x0180 +# +# Chunk types in RES_TABLE_TYPE +RES_TABLE_PACKAGE_TYPE = 0x0200 +RES_TABLE_TYPE_TYPE = 0x0201 +RES_TABLE_TYPE_SPEC_TYPE = 0x0202 + +TYPE_ATTRIBUTE = 2 +TYPE_DIMENSION = 5 +TYPE_FIRST_COLOR_INT = 28 +TYPE_FIRST_INT = 16 +TYPE_FLOAT = 4 +TYPE_FRACTION = 6 +TYPE_INT_BOOLEAN = 18 +TYPE_INT_COLOR_ARGB4 = 30 +TYPE_INT_COLOR_ARGB8 = 28 +TYPE_INT_COLOR_RGB4 = 31 +TYPE_INT_COLOR_RGB8 = 29 +TYPE_INT_DEC = 16 +TYPE_INT_HEX = 17 +TYPE_LAST_COLOR_INT = 31 +TYPE_LAST_INT = 31 +TYPE_NULL = 0 +TYPE_REFERENCE = 1 +TYPE_STRING = 3 + +TYPE_TABLE = { + TYPE_ATTRIBUTE: "attribute", + TYPE_DIMENSION: "dimension", + TYPE_FLOAT: "float", + TYPE_FRACTION: "fraction", + TYPE_INT_BOOLEAN: "int_boolean", + TYPE_INT_COLOR_ARGB4: "int_color_argb4", + TYPE_INT_COLOR_ARGB8: "int_color_argb8", + TYPE_INT_COLOR_RGB4: "int_color_rgb4", + TYPE_INT_COLOR_RGB8: "int_color_rgb8", + TYPE_INT_DEC: "int_dec", + TYPE_INT_HEX: "int_hex", + TYPE_NULL: "null", + TYPE_REFERENCE: "reference", + TYPE_STRING: "string", +} + + +def getPackage(i): + if i >> 24 == 1: + return "android:" + return "" + + +def format_value(_type, _data, lookup_string=lambda ix: ""): + if _type == TYPE_STRING: + return lookup_string(_data) + + elif _type == TYPE_ATTRIBUTE: + return "?%s%08X" % (getPackage(_data), _data) + + elif _type == TYPE_REFERENCE: + return "@%s%08X" % (getPackage(_data), _data) + + elif _type == TYPE_FLOAT: + return "%f" % unpack("=f", pack("=L", _data))[0] + + elif _type == TYPE_INT_HEX: + return "0x%08X" % _data + + elif _type == TYPE_INT_BOOLEAN: + if _data == 0: + return "false" + return "true" + + elif _type == TYPE_DIMENSION: + return "%f%s" % (complexToFloat(_data), + DIMENSION_UNITS[_data & COMPLEX_UNIT_MASK]) + + elif _type == TYPE_FRACTION: + return "%f%s" % (complexToFloat(_data) * 100, + FRACTION_UNITS[_data & COMPLEX_UNIT_MASK]) + + elif _type >= TYPE_FIRST_COLOR_INT and _type <= TYPE_LAST_COLOR_INT: + return "#%08X" % _data + + elif _type >= TYPE_FIRST_INT and _type <= TYPE_LAST_INT: + return "%d" % int(_data) + + return "<0x%X, type 0x%02X>" % (_data, _type) + + +RADIX_MULTS = [0.00390625, 3.051758E-005, 1.192093E-007, 4.656613E-010] +DIMENSION_UNITS = ["px", "dip", "sp", "pt", "in", "mm"] +FRACTION_UNITS = ["%", "%p"] + +COMPLEX_UNIT_MASK = 15 + + +def complexToFloat(xcomplex): + return (float)(xcomplex & 0xFFFFFF00) * RADIX_MULTS[(xcomplex >> 4) & 3] + + +class ARSCParser(object): + def __init__(self, raw_buff): + self.analyzed = False + self._resolved_strings = None + self.buff = BuffHandle(raw_buff) + + self.header = ARSCHeader(self.buff) + self.packageCount = unpack('> 24) & 0xFF), ((entry_data >> 16) & 0xFF), + ((entry_data >> 8) & 0xFF), (entry_data & 0xFF)) + ] + + def get_resource_dimen(self, ate): + try: + return [ + ate.get_value(), + "%s%s" % + (complexToFloat(ate.key.get_data()), + DIMENSION_UNITS[ate.key.get_data() & COMPLEX_UNIT_MASK]) + ] + except IndexError: + return [ate.get_value(), ate.key.get_data()] + + # FIXME + def get_resource_style(self, ate): + return ["", ""] + + def get_packages_names(self): + return list(self.packages.keys()) + + def get_locales(self, package_name): + self._analyse() + return list(self.values[package_name].keys()) + + def get_types(self, package_name, locale): + self._analyse() + return list(self.values[package_name][locale].keys()) + + def get_public_resources(self, package_name, locale='\x00\x00'): + self._analyse() + + buff = '\n' + buff += '\n' + + try: + for i in self.values[package_name][locale]["public"]: + buff += '\n' % ( + i[0], i[1], i[2]) + except KeyError: + pass + + buff += '\n' + + return buff.encode('utf-8') + + def get_string_resources(self, package_name, locale='\x00\x00'): + + self._analyse() + + res = [] + + buff = '\n' + buff += '\n' + + try: + import binascii + for i in self.values[package_name][locale]["string"]: + item = {} + item['name'], item['value'] = i[0], binascii.hexlify( + i[1].encode('utf-8')).decode() + res.append(item) + except KeyError: + pass + + return res + + def get_strings_resources(self): + self._analyse() + + buff = '\n' + + buff += "\n" + for package_name in self.get_packages_names(): + buff += "\n" % package_name + + for locale in self.get_locales(package_name): + buff += "\n" % repr(locale) + + buff += '\n' + try: + for i in self.values[package_name][locale]["string"]: + buff += '%s\n' % (i[0], + i[1]) + except KeyError: + pass + + buff += '\n' + buff += '\n' + + buff += "\n" + + buff += "\n" + + return buff.encode('utf-8') + + def get_id_resources(self, package_name, locale='\x00\x00'): + self._analyse() + + buff = '\n' + buff += '\n' + + try: + for i in self.values[package_name][locale]["id"]: + if len(i) == 1: + buff += '\n' % (i[0]) + else: + buff += '%s\n' % (i[0], + i[1]) + except KeyError: + pass + + buff += '\n' + + return buff.encode('utf-8') + + def get_bool_resources(self, package_name, locale='\x00\x00'): + self._analyse() + + buff = '\n' + buff += '\n' + + try: + for i in self.values[package_name][locale]["bool"]: + buff += '%s\n' % (i[0], i[1]) + except KeyError: + pass + + buff += '\n' + + return buff.encode('utf-8') + + def get_integer_resources(self, package_name, locale='\x00\x00'): + self._analyse() + + buff = '\n' + buff += '\n' + + try: + for i in self.values[package_name][locale]["integer"]: + buff += '%s\n' % (i[0], i[1]) + except KeyError: + pass + + buff += '\n' + + return buff.encode('utf-8') + + def get_color_resources(self, package_name, locale='\x00\x00'): + self._analyse() + + buff = '\n' + buff += '\n' + + try: + for i in self.values[package_name][locale]["color"]: + buff += '%s\n' % (i[0], i[1]) + except KeyError: + pass + + buff += '\n' + + return buff.encode('utf-8') + + def get_dimen_resources(self, package_name, locale='\x00\x00'): + self._analyse() + + buff = '\n' + buff += '\n' + + try: + for i in self.values[package_name][locale]["dimen"]: + buff += '%s\n' % (i[0], i[1]) + except KeyError: + pass + + buff += '\n' + + return buff.encode('utf-8') + + def get_id(self, package_name, rid, locale='\x00\x00'): + self._analyse() + + try: + for i in self.values[package_name][locale]["public"]: + if i[2] == rid: + return i + except KeyError: + return None + + class ResourceResolver(object): + def __init__(self, android_resources, config=None): + self.resources = android_resources + self.wanted_config = config + + def resolve(self, res_id): + result = [] + self._resolve_into_result(result, res_id, self.wanted_config) + return result + + def _resolve_into_result(self, result, res_id, config): + configs = self.resources.get_res_configs(res_id, config) + if configs: + for config, ate in configs: + self.put_ate_value(result, ate, config) + + def put_ate_value(self, result, ate, config): + if ate.is_complex(): + complex_array = [] + result.append(config, complex_array) + for _, item in ate.item.items: + self.put_item_value(complex_array, + item, + config, + complex_=True) + else: + self.put_item_value(result, ate.key, config, complex_=False) + + def put_item_value(self, result, item, config, complex_): + if item.is_reference(): + res_id = item.get_data() + if res_id: + self._resolve_into_result(result, item.get_data(), + self.wanted_config) + else: + if complex_: + result.append(item.format_value()) + else: + result.append((config, item.format_value())) + + def get_resolved_res_configs(self, rid, config=None): + resolver = ARSCParser.ResourceResolver(self, config) + return resolver.resolve(rid) + + def get_resolved_strings(self): + self._analyse() + if self._resolved_strings: + return self._resolved_strings + + r = {} + for package_name in self.get_packages_names(): + r[package_name] = {} + k = {} + + for locale in self.values[package_name]: + v_locale = locale + if v_locale == '\x00\x00': + v_locale = 'DEFAULT' + + r[package_name][v_locale] = {} + + try: + for i in self.values[package_name][locale]["public"]: + if i[0] == 'string': + r[package_name][v_locale][i[2]] = None + k[i[1]] = i[2] + except KeyError: + pass + + try: + for i in self.values[package_name][locale]["string"]: + if i[0] in k: + r[package_name][v_locale][k[i[0]]] = i[1] + except KeyError: + pass + + self._resolved_strings = r + return r + + def get_res_configs(self, rid, config=None): + self._analyse() + + if not rid: + raise ValueError("'rid' should be set") + + try: + res_options = self.resource_values[rid] + if len(res_options) > 1 and config: + return [(config, res_options[config])] + else: + return list(res_options.items()) + + except KeyError: + return [] + + def get_string(self, package_name, name, locale='\x00\x00'): + self._analyse() + + try: + for i in self.values[package_name][locale]["string"]: + if i[0] == name: + return i + except KeyError: + return None + + def get_res_id_by_key(self, package_name, resource_type, key): + try: + return self.resource_keys[package_name][resource_type][key] + except KeyError: + return None + + def get_items(self, package_name): + self._analyse() + return self.packages[package_name] + + def get_type_configs(self, package_name, type_name=None): + if package_name is None: + package_name = self.get_packages_names()[0] + result = collections.defaultdict(list) + + for res_type, configs in list( + self.resource_configs[package_name].items()): + if res_type.get_package_name() == package_name and ( + type_name is None or res_type.get_type() == type_name): + result[res_type.get_type()].extend(configs) + + return result + + +class PackageContext(object): + def __init__(self, current_package, stringpool_main, mTableStrings, + mKeyStrings): + self.stringpool_main = stringpool_main + self.mTableStrings = mTableStrings + self.mKeyStrings = mKeyStrings + self.current_package = current_package + + def get_mResId(self): + return self.current_package.mResId + + def set_mResId(self, mResId): + self.current_package.mResId = mResId + + def get_package_name(self): + return self.current_package.get_name() + + +class ARSCHeader(object): + def __init__(self, buff): + self.start = buff.get_idx() + # è§£æžString Pool时,有å¯èƒ½å°‘è§£æž4byte + self.type = -1 + while True: + if self.type > -1: + break + tmp = buff.read(2) + self.type = unpack('= 32: + self.screenConfig = unpack('= 36: + self.screenSizeDp = unpack(' 0: + self.padding = buff.read(self.exceedingSize) + else: + self.start = 0 + self.size = 0 + self.imsi = \ + ((kwargs.pop('mcc', 0) & 0xffff) << 0) + \ + ((kwargs.pop('mnc', 0) & 0xffff) << 16) + + self.locale = 0 + for char_ix, char in kwargs.pop('locale', "")[0:4]: + self.locale += (ord(char) << (char_ix * 8)) + + self.screenType = \ + ((kwargs.pop('orientation', 0) & 0xff) << 0) + \ + ((kwargs.pop('touchscreen', 0) & 0xff) << 8) + \ + ((kwargs.pop('density', 0) & 0xffff) << 16) + + self.input = \ + ((kwargs.pop('keyboard', 0) & 0xff) << 0) + \ + ((kwargs.pop('navigation', 0) & 0xff) << 8) + \ + ((kwargs.pop('inputFlags', 0) & 0xff) << 16) + \ + ((kwargs.pop('inputPad0', 0) & 0xff) << 24) + + self.screenSize = \ + ((kwargs.pop('screenWidth', 0) & 0xffff) << 0) + \ + ((kwargs.pop('screenHeight', 0) & 0xffff) << 16) + + self.version = \ + ((kwargs.pop('sdkVersion', 0) & 0xffff) << 0) + \ + ((kwargs.pop('minorVersion', 0) & 0xffff) << 16) + + self.screenConfig = \ + ((kwargs.pop('screenLayout', 0) & 0xff) << 0) + \ + ((kwargs.pop('uiMode', 0) & 0xff) << 8) + \ + ((kwargs.pop('smallestScreenWidthDp', 0) & 0xffff) << 16) + + self.screenSizeDp = \ + ((kwargs.pop('screenWidthDp', 0) & 0xffff) << 0) + \ + ((kwargs.pop('screenHeightDp', 0) & 0xffff) << 16) + + self.exceedingSize = 0 + + def get_language(self): + x = self.locale & 0x0000ffff + return chr(x & 0x00ff) + chr((x & 0xff00) >> 8) + + def get_country(self): + x = (self.locale & 0xffff0000) >> 16 + return chr(x & 0x00ff) + chr((x & 0xff00) >> 8) + + def get_density(self): + x = ((self.screenType >> 16) & 0xffff) + return x + + def _get_tuple(self): + return ( + self.imsi, + self.locale, + self.screenType, + self.input, + self.screenSize, + self.version, + self.screenConfig, + self.screenSizeDp, + ) + + def __hash__(self): + return hash(self._get_tuple()) + + def __eq__(self, other): + return self._get_tuple() == other._get_tuple() + + def __repr__(self): + return repr(self._get_tuple()) + + +class ARSCResTableEntry(object): + def __init__(self, buff, mResId, parent=None): + self.start = buff.get_idx() + self.mResId = mResId + self.parent = parent + self.size = unpack('= MAGIC_NUMBER_MIN and magic_number <= MAGIC_NUMBER_MAX: + self.file_size = unpack(' CHUNK_XML_LAST: + break + + # Fake START_DOCUMENT event. + if chunkType == CHUNK_XML_START_TAG and event == -1: + self.m_event = START_DOCUMENT + break + + self.buff.read(4) # /*chunkSize*/ + lineNumber = unpack('> 16) - 1 + attributeCount = attributeCount & 0xFFFF + self.m_classAttribute = unpack('> 16) - 1 + + self.m_classAttribute = (self.m_classAttribute & 0xFFFF) - 1 + + for i in range(0, attributeCount * ATTRIBUTE_LENGHT): + self.m_attributes.append( + unpack('> 24 + + self.m_event = START_TAG + break + + if chunkType == CHUNK_XML_END_TAG: + self.m_namespaceUri = unpack('= len(self.m_attributes): + print("Invalid attribute index") + + return offset + + def get_attribute_count(self): + if self.m_event != START_TAG: + return -1 + + return len(self.m_attributes) / ATTRIBUTE_LENGHT + + def get_attribute_prefix(self, index): + offset = self.get_attribute_offset(index) + uri = self.m_attributes[offset + ATTRIBUTE_IX_NAMESPACE_URI] + + prefix = self.get_prefix_by_uri(uri) + + if prefix == -1: + return "" + + return self.sb.getString(prefix) + + def get_attribute_name(self, index): + offset = self.get_attribute_offset(index) + name = self.m_attributes[offset + ATTRIBUTE_IX_NAME] + + if name == -1: + return "" + + res = self.sb.getString(name) + if not res: + attr = self.m_resourceIDs[name] + if attr in public.SYSTEM_RESOURCES['attributes']['inverse']: + res = 'android:' + public.SYSTEM_RESOURCES['attributes']['inverse'][ + attr + ] + + return res + + def get_attribute_valueType(self, index): + offset = self.get_attribute_offset(index) + return self.m_attributes[offset + ATTRIBUTE_IX_VALUE_TYPE] + + def get_attribute_value_data(self, index): + offset = self.get_attribute_offset(index) + return self.m_attributes[offset + ATTRIBUTE_IX_VALUE_DATA] + + def get_attribute_value(self, index): + offset = self.get_attribute_offset(index) + valueType = self.m_attributes[offset + ATTRIBUTE_IX_VALUE_TYPE] + if valueType == TYPE_STRING: + valueString = self.m_attributes[offset + ATTRIBUTE_IX_VALUE_STRING] + return self.sb.getString(valueString) + # WIP + return "" + + +START_DOCUMENT = 0 +END_DOCUMENT = 1 +START_TAG = 2 +END_TAG = 3 +TEXT = 4 + +TYPE_ATTRIBUTE = 2 +TYPE_DIMENSION = 5 +TYPE_FIRST_COLOR_INT = 28 +TYPE_FIRST_INT = 16 +TYPE_FLOAT = 4 +TYPE_FRACTION = 6 +TYPE_INT_BOOLEAN = 18 +TYPE_INT_COLOR_ARGB4 = 30 +TYPE_INT_COLOR_ARGB8 = 28 +TYPE_INT_COLOR_RGB4 = 31 +TYPE_INT_COLOR_RGB8 = 29 +TYPE_INT_DEC = 16 +TYPE_INT_HEX = 17 +TYPE_LAST_COLOR_INT = 31 +TYPE_LAST_INT = 31 +TYPE_NULL = 0 +TYPE_REFERENCE = 1 +TYPE_STRING = 3 + +RADIX_MULTS = [0.00390625, 3.051758E-005, 1.192093E-007, 4.656613E-010] +DIMENSION_UNITS = ["px", "dip", "sp", "pt", "in", "mm", "", ""] +FRACTION_UNITS = ["%", "%p", "", "", "", "", "", ""] + +COMPLEX_UNIT_MASK = 15 + + +class AXML: + + def __init__(self, raw_buff): + self.parser = AXMLParser(raw_buff) + self.xmlns = False + # 存放解æžåŽçš„XML + self.buff = '' + + self.is_valid = True + if self.parser.is_valid(): + self.parse() + else: + self.is_valid = False + + def parse(self): + tag = "notag" + while True: + _type = next(self.parser) + # 异常类型直接退出 + if _type == -1: + break + + if "" in self.buff: + break + + if _type == START_DOCUMENT: + self.buff += '''\n''' + elif _type == START_TAG: + prefix = self.get_prefix( + self.parser.get_prefix()) + self.parser.get_name() + + if len(prefix) == 0: + tag = "notag" + + self.buff += '<' + prefix + '\n' + self.buff += self.parser.get_xmlns() + + # tag = prefix + for i in range(0, int(self.parser.get_attribute_count())): + + self.buff += "%s%s=\"%s\"\n" % ( + self.get_prefix(self.parser.get_attribute_prefix(i)), + self.parser.get_attribute_name(i), + self._escape(self.get_attribute_value(i))) + + self.buff += '>\n' + + elif _type == END_TAG: + prefix = self.get_prefix( + self.parser.get_prefix()) + self.parser.get_name() + if len(prefix) == 0: + prefix = "notag" + self.buff += "\n" % (prefix) + + elif _type == TEXT: + self.buff += "%s\n" % self.parser.get_text() + + elif _type == END_DOCUMENT: + break + + # pleed patch + def _escape(self, s): + s = s.replace("&", "&") + s = s.replace('"', """) + s = s.replace("'", "'") + s = s.replace("<", "<") + s = s.replace(">", ">") + return escape(s) + + def get_buff(self): + return self.buff + + def get_xml(self): + return self.buff.replace('\0', '') + + def _format_xml(self): + tmp = minidom.parseString(self.get_buff()).toprettyxml() + A = str(tmp).replace('\t', '').replace('\n', '') + return minidom.parseString(A).toprettyxml() + + def get_xml_obj(self): + return minidom.parseString(self.get_buff()) + + def get_prefix(self, prefix): + """ + å¤„ç†æ²¡æœ‰å‰ç¼€çš„æƒ…况 + + 有一部分异常的节点,需è¦ç‰¹æ®Šå¤„ç†ã€‚ + """ + if prefix is None or len(prefix) == 0: + return '' + + return prefix + ':' + + def get_attribute_value(self, index): + _type = self.parser.get_attribute_valueType(index) + _data = self.parser.get_attribute_value_data(index) + + if _type == TYPE_STRING: + return self.parser.get_attribute_value(index) + + elif _type == TYPE_ATTRIBUTE: + return "?%s%08X" % (self.get_package(_data), _data) + + elif _type == TYPE_REFERENCE: + return "@%s%08X" % (self.get_package(_data), _data) + + elif _type == TYPE_FLOAT: + return "%f" % unpack("=f", pack("=L", _data))[0] + + elif _type == TYPE_INT_HEX: + return "0x%08X" % _data + + elif _type == TYPE_INT_BOOLEAN: + if _data == 0: + return "false" + return "true" + + elif _type == TYPE_DIMENSION: + return "%f%s" % (self.complexToFloat(_data), DIMENSION_UNITS[_data & COMPLEX_UNIT_MASK]) + + elif _type == TYPE_FRACTION: + return "%f%s" % (self.complexToFloat(_data), FRACTION_UNITS[_data & COMPLEX_UNIT_MASK]) + + elif _type >= TYPE_FIRST_COLOR_INT and _type <= TYPE_LAST_COLOR_INT: + return "#%08X" % _data + + elif _type >= TYPE_FIRST_INT and _type <= TYPE_LAST_INT: + return "%d" % int(_data) + + return "<0x%X, type 0x%02X>" % (_data, _type) + + def complexToFloat(self, xcomplex): + return (float)(xcomplex & 0xFFFFFF00) * RADIX_MULTS[(xcomplex >> 4) & 3] + + def get_package(self, id): + if id >> 24 == 1: + return "android:" + return "" + + def get_content(self): + return self.content diff --git a/venv/Lib/site-packages/apkutils2/axml/chunk.py b/venv/Lib/site-packages/apkutils2/axml/chunk.py new file mode 100644 index 00000000..9ec4b7c1 --- /dev/null +++ b/venv/Lib/site-packages/apkutils2/axml/chunk.py @@ -0,0 +1,274 @@ +from struct import pack, unpack + +# NS_ANDROID_URI = 'http://schemas.android.com/apk/res/android' + +# AXML FORMAT ######################################## +# Translated from +# http://code.google.com/p/android4me/source/browse/src/android/content/res/AXmlResourceParser.java + +UTF8_FLAG = 0x00000100 +CHUNK_STRINGPOOL_TYPE = 0x001C0001 +CHUNK_NULL_TYPE = 0x00000000 + + +class StringPoolChunk(object): + ''' + è§£æžString Pool Chunk + ''' + + def __init__(self, buff): + self.size_of_buff = buff.size() + self.start = buff.get_idx() + self._cache = {} + self.header_size, self.header = self.skipNullPadding(buff) + + # å—å¤§å° + self.chunkSize = unpack(' buff.size(): + self.stylesStart = 0 + + # 字符串å移数组 + self.m_stringIndices = [] + # style å移数组 + self.m_styleIndices = [] + # 字符串池 + self.m_charbuff = "" + # style pan æ±  + self.m_styles = [] + + for _ in range(0, self.stringCount): + tmp = buff.read(4) + self.m_stringIndices.append(unpack('> 8, header & 0xFF + + def getString(self, idx): + if idx in self._cache: + return self._cache[idx] + + if idx < 0 or not self.m_stringIndices or idx >= len( + self.m_stringIndices): + return "" + + offset = self.m_stringIndices[idx] + + if self.m_isUTF8: + self._cache[idx] = self.decode8(offset) + else: + self._cache[idx] = self.decode16(offset) + + return self._cache[idx] + + def getStyle(self, idx): + return self.m_styles[idx] + + def decode8(self, offset): + str_len, skip = self.decodeLength(offset, 1) + offset += skip + + encoded_bytes, skip = self.decodeLength(offset, 1) + offset += skip + + data = self.m_charbuff[offset: offset + encoded_bytes] + + return self.decode_bytes(data, 'utf-8', str_len) + + def decode16(self, offset): + str_len, skip = self.decodeLength(offset, 2) + offset += skip + + encoded_bytes = str_len * 2 + + data = self.m_charbuff[offset: offset + encoded_bytes] + + return self.decode_bytes(data, 'utf-16', str_len) + + def decode_bytes(self, data, encoding, str_len): + string = data.decode(encoding, 'replace') + if len(string) != str_len: + raise Exception("invalid decoded string length") + return string + + def decodeLength(self, offset, sizeof_char): + length = self.m_charbuff[offset] + + sizeof_2chars = sizeof_char << 1 + fmt_chr = 'B' if sizeof_char == 1 else 'H' + fmt = "<2" + fmt_chr + + length1, length2 = unpack( + fmt, self.m_charbuff[offset:(offset + sizeof_2chars)]) + + highbit = 0x80 << (8 * (sizeof_char - 1)) + + if (length & highbit) != 0: + return ((length1 & ~highbit) << (8 * sizeof_char)) | length2, sizeof_2chars + return length1, sizeof_char + + def show(self, flag=False): + print("String Pool Chunk:") + print(" - start:", self.start) + print(" - header Size:", self.header_size) + print(" - chunkSize:", self.chunkSize) + print(" - stringCount:", self.stringCount) + print(" - styleCount:", self.styleCount) + print(" - stringsStart:", self.stringsStart) + print(" - stylesStart:", self.stylesStart) + print(" - flags:", self.flags) + print(" - size_of_buff:", self.size_of_buff) + if not flag: + return + for i in range(0, len(self.m_stringIndices)): + print((i, repr(self.getString(i)))) + + +CHUNK_RESOURCEIDS_TYPE = 0x00080180 + + +class ResourceIDChunk(object): + pass + + +class SV(object): + + def __init__(self, size, buff): + self.__size = size + self.__value = unpack(self.__size, buff)[0] + + def _get(self): + return pack(self.__size, self.__value) + + def __str__(self): + return "0x%x" % self.__value + + def __int__(self): + return self.__value + + def get_value_buff(self): + return self._get() + + def get_value(self): + return self.__value + + def set_value(self, attr): + self.__value = attr + + +class BuffHandle(object): + + def __init__(self, buff): + self.__buff = buff + self.__idx = 0 + + def size(self): + return len(self.__buff) + + def set_idx(self, idx): + self.__idx = idx + + def get_idx(self): + return self.__idx + + def readNullString(self, size): + data = self.read(size) + return data + + def read_b(self, size): + return self.__buff[self.__idx:self.__idx + size] + + def read_at(self, offset, size): + return self.__buff[offset:offset + size] + + def read(self, size): + if isinstance(size, SV): + size = size.value + + buff = self.__buff[self.__idx:self.__idx + size] + self.__idx += size + + return buff + + def end(self): + return self.__idx == len(self.__buff) + + +# ATTRIBUTE_IX_NAMESPACE_URI = 0 +# ATTRIBUTE_IX_NAME = 1 +# ATTRIBUTE_IX_VALUE_STRING = 2 +# ATTRIBUTE_IX_VALUE_TYPE = 3 +# ATTRIBUTE_IX_VALUE_DATA = 4 +# ATTRIBUTE_LENGHT = 5 +# +# CHUNK_AXML_FILE = 0x00080003 +# CHUNK_XML_FIRST = 0x00100100 +# CHUNK_XML_START_NAMESPACE = 0x00100100 +# CHUNK_XML_END_NAMESPACE = 0x00100101 +# CHUNK_XML_START_TAG = 0x00100102 +# CHUNK_XML_END_TAG = 0x00100103 +# CHUNK_XML_TEXT = 0x00100104 +# CHUNK_XML_LAST = 0x00100104 +# +# START_DOCUMENT = 0 +# END_DOCUMENT = 1 +# START_TAG = 2 +# END_TAG = 3 +# TEXT = 4 +# +# RADIX_MULTS = [0.00390625, 3.051758E-005, 1.192093E-007, 4.656613E-010] +# DIMENSION_UNITS = ["px", "dip", "sp", "pt", "in", "mm"] +# FRACTION_UNITS = ["%", "%p"] +# +# COMPLEX_UNIT_MASK = 15 diff --git a/venv/Lib/site-packages/apkutils2/axml/public.py b/venv/Lib/site-packages/apkutils2/axml/public.py new file mode 100644 index 00000000..07c14ec1 --- /dev/null +++ b/venv/Lib/site-packages/apkutils2/axml/public.py @@ -0,0 +1,1935 @@ +resources = { + 'style': { + 'Animation': 16973824, + 'Animation.Activity': 16973825, + 'Animation.Dialog': 16973826, + 'Animation.InputMethod': 16973910, + 'Animation.Toast': 16973828, + 'Animation.Translucent': 16973827, + 'DeviceDefault.ButtonBar': 16974287, + 'DeviceDefault.ButtonBar.AlertDialog': 16974288, + 'DeviceDefault.Light.ButtonBar': 16974290, + 'DeviceDefault.Light.ButtonBar.AlertDialog': 16974291, + 'DeviceDefault.Light.SegmentedButton': 16974292, + 'DeviceDefault.SegmentedButton': 16974289, + 'Holo.ButtonBar': 16974053, + 'Holo.ButtonBar.AlertDialog': 16974055, + 'Holo.Light.ButtonBar': 16974054, + 'Holo.Light.ButtonBar.AlertDialog': 16974056, + 'Holo.Light.SegmentedButton': 16974058, + 'Holo.SegmentedButton': 16974057, + 'MediaButton': 16973879, + 'MediaButton.Ffwd': 16973883, + 'MediaButton.Next': 16973881, + 'MediaButton.Pause': 16973885, + 'MediaButton.Play': 16973882, + 'MediaButton.Previous': 16973880, + 'MediaButton.Rew': 16973884, + 'TextAppearance': 16973886, + 'TextAppearance.DeviceDefault': 16974253, + 'TextAppearance.DeviceDefault.DialogWindowTitle': 16974264, + 'TextAppearance.DeviceDefault.Inverse': 16974254, + 'TextAppearance.DeviceDefault.Large': 16974255, + 'TextAppearance.DeviceDefault.Large.Inverse': 16974256, + 'TextAppearance.DeviceDefault.Medium': 16974257, + 'TextAppearance.DeviceDefault.Medium.Inverse': 16974258, + 'TextAppearance.DeviceDefault.SearchResult.Subtitle': 16974262, + 'TextAppearance.DeviceDefault.SearchResult.Title': 16974261, + 'TextAppearance.DeviceDefault.Small': 16974259, + 'TextAppearance.DeviceDefault.Small.Inverse': 16974260, + 'TextAppearance.DeviceDefault.Widget': 16974265, + 'TextAppearance.DeviceDefault.Widget.ActionBar.Menu': 16974286, + 'TextAppearance.DeviceDefault.Widget.ActionBar.Subtitle': 16974279, + 'TextAppearance.DeviceDefault.Widget.ActionBar.Subtitle.Inverse': 16974283, + 'TextAppearance.DeviceDefault.Widget.ActionBar.Title': 16974278, + 'TextAppearance.DeviceDefault.Widget.ActionBar.Title.Inverse': 16974282, + 'TextAppearance.DeviceDefault.Widget.ActionMode.Subtitle': 16974281, + 'TextAppearance.DeviceDefault.Widget.ActionMode.Subtitle.Inverse': 16974285, + 'TextAppearance.DeviceDefault.Widget.ActionMode.Title': 16974280, + 'TextAppearance.DeviceDefault.Widget.ActionMode.Title.Inverse': 16974284, + 'TextAppearance.DeviceDefault.Widget.Button': 16974266, + 'TextAppearance.DeviceDefault.Widget.DropDownHint': 16974271, + 'TextAppearance.DeviceDefault.Widget.DropDownItem': 16974272, + 'TextAppearance.DeviceDefault.Widget.EditText': 16974274, + 'TextAppearance.DeviceDefault.Widget.IconMenu.Item': 16974267, + 'TextAppearance.DeviceDefault.Widget.PopupMenu': 16974275, + 'TextAppearance.DeviceDefault.Widget.PopupMenu.Large': 16974276, + 'TextAppearance.DeviceDefault.Widget.PopupMenu.Small': 16974277, + 'TextAppearance.DeviceDefault.Widget.TabWidget': 16974268, + 'TextAppearance.DeviceDefault.Widget.TextView': 16974269, + 'TextAppearance.DeviceDefault.Widget.TextView.PopupMenu': 16974270, + 'TextAppearance.DeviceDefault.Widget.TextView.SpinnerItem': 16974273, + 'TextAppearance.DeviceDefault.WindowTitle': 16974263, + 'TextAppearance.DialogWindowTitle': 16973889, + 'TextAppearance.Holo': 16974075, + 'TextAppearance.Holo.DialogWindowTitle': 16974103, + 'TextAppearance.Holo.Inverse': 16974076, + 'TextAppearance.Holo.Large': 16974077, + 'TextAppearance.Holo.Large.Inverse': 16974078, + 'TextAppearance.Holo.Medium': 16974079, + 'TextAppearance.Holo.Medium.Inverse': 16974080, + 'TextAppearance.Holo.SearchResult.Subtitle': 16974084, + 'TextAppearance.Holo.SearchResult.Title': 16974083, + 'TextAppearance.Holo.Small': 16974081, + 'TextAppearance.Holo.Small.Inverse': 16974082, + 'TextAppearance.Holo.Widget': 16974085, + 'TextAppearance.Holo.Widget.ActionBar.Menu': 16974112, + 'TextAppearance.Holo.Widget.ActionBar.Subtitle': 16974099, + 'TextAppearance.Holo.Widget.ActionBar.Subtitle.Inverse': 16974109, + 'TextAppearance.Holo.Widget.ActionBar.Title': 16974098, + 'TextAppearance.Holo.Widget.ActionBar.Title.Inverse': 16974108, + 'TextAppearance.Holo.Widget.ActionMode.Subtitle': 16974101, + 'TextAppearance.Holo.Widget.ActionMode.Subtitle.Inverse': 16974111, + 'TextAppearance.Holo.Widget.ActionMode.Title': 16974100, + 'TextAppearance.Holo.Widget.ActionMode.Title.Inverse': 16974110, + 'TextAppearance.Holo.Widget.Button': 16974086, + 'TextAppearance.Holo.Widget.DropDownHint': 16974091, + 'TextAppearance.Holo.Widget.DropDownItem': 16974092, + 'TextAppearance.Holo.Widget.EditText': 16974094, + 'TextAppearance.Holo.Widget.IconMenu.Item': 16974087, + 'TextAppearance.Holo.Widget.PopupMenu': 16974095, + 'TextAppearance.Holo.Widget.PopupMenu.Large': 16974096, + 'TextAppearance.Holo.Widget.PopupMenu.Small': 16974097, + 'TextAppearance.Holo.Widget.TabWidget': 16974088, + 'TextAppearance.Holo.Widget.TextView': 16974089, + 'TextAppearance.Holo.Widget.TextView.PopupMenu': 16974090, + 'TextAppearance.Holo.Widget.TextView.SpinnerItem': 16974093, + 'TextAppearance.Holo.WindowTitle': 16974102, + 'TextAppearance.Inverse': 16973887, + 'TextAppearance.Large': 16973890, + 'TextAppearance.Large.Inverse': 16973891, + 'TextAppearance.Material': 16974317, + 'TextAppearance.Material.Body1': 16974320, + 'TextAppearance.Material.Body2': 16974319, + 'TextAppearance.Material.Button': 16974318, + 'TextAppearance.Material.Caption': 16974321, + 'TextAppearance.Material.DialogWindowTitle': 16974322, + 'TextAppearance.Material.Display1': 16974326, + 'TextAppearance.Material.Display2': 16974325, + 'TextAppearance.Material.Display3': 16974324, + 'TextAppearance.Material.Display4': 16974323, + 'TextAppearance.Material.Headline': 16974327, + 'TextAppearance.Material.Inverse': 16974328, + 'TextAppearance.Material.Large': 16974329, + 'TextAppearance.Material.Large.Inverse': 16974330, + 'TextAppearance.Material.Medium': 16974331, + 'TextAppearance.Material.Medium.Inverse': 16974332, + 'TextAppearance.Material.Menu': 16974333, + 'TextAppearance.Material.Notification': 16974334, + 'TextAppearance.Material.Notification.Emphasis': 16974335, + 'TextAppearance.Material.Notification.Info': 16974336, + 'TextAppearance.Material.Notification.Line2': 16974337, + 'TextAppearance.Material.Notification.Time': 16974338, + 'TextAppearance.Material.Notification.Title': 16974339, + 'TextAppearance.Material.SearchResult.Subtitle': 16974340, + 'TextAppearance.Material.SearchResult.Title': 16974341, + 'TextAppearance.Material.Small': 16974342, + 'TextAppearance.Material.Small.Inverse': 16974343, + 'TextAppearance.Material.Subhead': 16974344, + 'TextAppearance.Material.Title': 16974345, + 'TextAppearance.Material.Widget': 16974347, + 'TextAppearance.Material.Widget.ActionBar.Menu': 16974348, + 'TextAppearance.Material.Widget.ActionBar.Subtitle': 16974349, + 'TextAppearance.Material.Widget.ActionBar.Subtitle.Inverse': 16974350, + 'TextAppearance.Material.Widget.ActionBar.Title': 16974351, + 'TextAppearance.Material.Widget.ActionBar.Title.Inverse': 16974352, + 'TextAppearance.Material.Widget.ActionMode.Subtitle': 16974353, + 'TextAppearance.Material.Widget.ActionMode.Subtitle.Inverse': 16974354, + 'TextAppearance.Material.Widget.ActionMode.Title': 16974355, + 'TextAppearance.Material.Widget.ActionMode.Title.Inverse': 16974356, + 'TextAppearance.Material.Widget.Button': 16974357, + 'TextAppearance.Material.Widget.DropDownHint': 16974358, + 'TextAppearance.Material.Widget.DropDownItem': 16974359, + 'TextAppearance.Material.Widget.EditText': 16974360, + 'TextAppearance.Material.Widget.IconMenu.Item': 16974361, + 'TextAppearance.Material.Widget.PopupMenu': 16974362, + 'TextAppearance.Material.Widget.PopupMenu.Large': 16974363, + 'TextAppearance.Material.Widget.PopupMenu.Small': 16974364, + 'TextAppearance.Material.Widget.TabWidget': 16974365, + 'TextAppearance.Material.Widget.TextView': 16974366, + 'TextAppearance.Material.Widget.TextView.PopupMenu': 16974367, + 'TextAppearance.Material.Widget.TextView.SpinnerItem': 16974368, + 'TextAppearance.Material.Widget.Toolbar.Subtitle': 16974369, + 'TextAppearance.Material.Widget.Toolbar.Title': 16974370, + 'TextAppearance.Material.WindowTitle': 16974346, + 'TextAppearance.Medium': 16973892, + 'TextAppearance.Medium.Inverse': 16973893, + 'TextAppearance.Small': 16973894, + 'TextAppearance.Small.Inverse': 16973895, + 'TextAppearance.StatusBar.EventContent': 16973927, + 'TextAppearance.StatusBar.EventContent.Title': 16973928, + 'TextAppearance.StatusBar.Icon': 16973926, + 'TextAppearance.StatusBar.Title': 16973925, + 'TextAppearance.SuggestionHighlight': 16974104, + 'TextAppearance.Theme': 16973888, + 'TextAppearance.Theme.Dialog': 16973896, + 'TextAppearance.Widget': 16973897, + 'TextAppearance.Widget.Button': 16973898, + 'TextAppearance.Widget.DropDownHint': 16973904, + 'TextAppearance.Widget.DropDownItem': 16973905, + 'TextAppearance.Widget.EditText': 16973900, + 'TextAppearance.Widget.IconMenu.Item': 16973899, + 'TextAppearance.Widget.PopupMenu.Large': 16973952, + 'TextAppearance.Widget.PopupMenu.Small': 16973953, + 'TextAppearance.Widget.TabWidget': 16973901, + 'TextAppearance.Widget.TextView': 16973902, + 'TextAppearance.Widget.TextView.PopupMenu': 16973903, + 'TextAppearance.Widget.TextView.SpinnerItem': 16973906, + 'TextAppearance.WindowTitle': 16973907, + 'Theme': 16973829, + 'ThemeOverlay': 16974407, + 'ThemeOverlay.Material': 16974408, + 'ThemeOverlay.Material.ActionBar': 16974409, + 'ThemeOverlay.Material.Dark': 16974411, + 'ThemeOverlay.Material.Dark.ActionBar': 16974412, + 'ThemeOverlay.Material.Light': 16974410, + 'Theme.Black': 16973832, + 'Theme.Black.NoTitleBar': 16973833, + 'Theme.Black.NoTitleBar.Fullscreen': 16973834, + 'Theme.DeviceDefault': 16974120, + 'Theme.DeviceDefault.Dialog': 16974126, + 'Theme.DeviceDefault.DialogWhenLarge': 16974134, + 'Theme.DeviceDefault.DialogWhenLarge.NoActionBar': 16974135, + 'Theme.DeviceDefault.Dialog.MinWidth': 16974127, + 'Theme.DeviceDefault.Dialog.NoActionBar': 16974128, + 'Theme.DeviceDefault.Dialog.NoActionBar.MinWidth': 16974129, + 'Theme.DeviceDefault.InputMethod': 16974142, + 'Theme.DeviceDefault.Light': 16974123, + 'Theme.DeviceDefault.Light.DarkActionBar': 16974143, + 'Theme.DeviceDefault.Light.Dialog': 16974130, + 'Theme.DeviceDefault.Light.DialogWhenLarge': 16974136, + 'Theme.DeviceDefault.Light.DialogWhenLarge.NoActionBar': 16974137, + 'Theme.DeviceDefault.Light.Dialog.MinWidth': 16974131, + 'Theme.DeviceDefault.Light.Dialog.NoActionBar': 16974132, + 'Theme.DeviceDefault.Light.Dialog.NoActionBar.MinWidth': 16974133, + 'Theme.DeviceDefault.Light.NoActionBar': 16974124, + 'Theme.DeviceDefault.Light.NoActionBar.Fullscreen': 16974125, + 'Theme.DeviceDefault.Light.NoActionBar.Overscan': 16974304, + 'Theme.DeviceDefault.Light.NoActionBar.TranslucentDecor': 16974308, + 'Theme.DeviceDefault.Light.Panel': 16974139, + 'Theme.DeviceDefault.NoActionBar': 16974121, + 'Theme.DeviceDefault.NoActionBar.Fullscreen': 16974122, + 'Theme.DeviceDefault.NoActionBar.Overscan': 16974303, + 'Theme.DeviceDefault.NoActionBar.TranslucentDecor': 16974307, + 'Theme.DeviceDefault.Panel': 16974138, + 'Theme.DeviceDefault.Settings': 16974371, + 'Theme.DeviceDefault.Wallpaper': 16974140, + 'Theme.DeviceDefault.Wallpaper.NoTitleBar': 16974141, + 'Theme.Dialog': 16973835, + 'Theme.Holo': 16973931, + 'Theme.Holo.Dialog': 16973935, + 'Theme.Holo.DialogWhenLarge': 16973943, + 'Theme.Holo.DialogWhenLarge.NoActionBar': 16973944, + 'Theme.Holo.Dialog.MinWidth': 16973936, + 'Theme.Holo.Dialog.NoActionBar': 16973937, + 'Theme.Holo.Dialog.NoActionBar.MinWidth': 16973938, + 'Theme.Holo.InputMethod': 16973951, + 'Theme.Holo.Light': 16973934, + 'Theme.Holo.Light.DarkActionBar': 16974105, + 'Theme.Holo.Light.Dialog': 16973939, + 'Theme.Holo.Light.DialogWhenLarge': 16973945, + 'Theme.Holo.Light.DialogWhenLarge.NoActionBar': 16973946, + 'Theme.Holo.Light.Dialog.MinWidth': 16973940, + 'Theme.Holo.Light.Dialog.NoActionBar': 16973941, + 'Theme.Holo.Light.Dialog.NoActionBar.MinWidth': 16973942, + 'Theme.Holo.Light.NoActionBar': 16974064, + 'Theme.Holo.Light.NoActionBar.Fullscreen': 16974065, + 'Theme.Holo.Light.NoActionBar.Overscan': 16974302, + 'Theme.Holo.Light.NoActionBar.TranslucentDecor': 16974306, + 'Theme.Holo.Light.Panel': 16973948, + 'Theme.Holo.NoActionBar': 16973932, + 'Theme.Holo.NoActionBar.Fullscreen': 16973933, + 'Theme.Holo.NoActionBar.Overscan': 16974301, + 'Theme.Holo.NoActionBar.TranslucentDecor': 16974305, + 'Theme.Holo.Panel': 16973947, + 'Theme.Holo.Wallpaper': 16973949, + 'Theme.Holo.Wallpaper.NoTitleBar': 16973950, + 'Theme.InputMethod': 16973908, + 'Theme.Light': 16973836, + 'Theme.Light.NoTitleBar': 16973837, + 'Theme.Light.NoTitleBar.Fullscreen': 16973838, + 'Theme.Light.Panel': 16973914, + 'Theme.Light.WallpaperSettings': 16973922, + 'Theme.Material': 16974372, + 'Theme.Material.Dialog': 16974373, + 'Theme.Material.DialogWhenLarge': 16974379, + 'Theme.Material.DialogWhenLarge.NoActionBar': 16974380, + 'Theme.Material.Dialog.Alert': 16974374, + 'Theme.Material.Dialog.MinWidth': 16974375, + 'Theme.Material.Dialog.NoActionBar': 16974376, + 'Theme.Material.Dialog.NoActionBar.MinWidth': 16974377, + 'Theme.Material.Dialog.Presentation': 16974378, + 'Theme.Material.InputMethod': 16974381, + 'Theme.Material.Light': 16974391, + 'Theme.Material.Light.DarkActionBar': 16974392, + 'Theme.Material.Light.Dialog': 16974393, + 'Theme.Material.Light.DialogWhenLarge': 16974399, + 'Theme.Material.Light.DialogWhenLarge.NoActionBar': 16974400, + 'Theme.Material.Light.Dialog.Alert': 16974394, + 'Theme.Material.Light.Dialog.MinWidth': 16974395, + 'Theme.Material.Light.Dialog.NoActionBar': 16974396, + 'Theme.Material.Light.Dialog.NoActionBar.MinWidth': 16974397, + 'Theme.Material.Light.Dialog.Presentation': 16974398, + 'Theme.Material.Light.NoActionBar': 16974401, + 'Theme.Material.Light.NoActionBar.Fullscreen': 16974402, + 'Theme.Material.Light.NoActionBar.Overscan': 16974403, + 'Theme.Material.Light.NoActionBar.TranslucentDecor': 16974404, + 'Theme.Material.Light.Panel': 16974405, + 'Theme.Material.Light.Voice': 16974406, + 'Theme.Material.NoActionBar': 16974382, + 'Theme.Material.NoActionBar.Fullscreen': 16974383, + 'Theme.Material.NoActionBar.Overscan': 16974384, + 'Theme.Material.NoActionBar.TranslucentDecor': 16974385, + 'Theme.Material.Panel': 16974386, + 'Theme.Material.Settings': 16974387, + 'Theme.Material.Voice': 16974388, + 'Theme.Material.Wallpaper': 16974389, + 'Theme.Material.Wallpaper.NoTitleBar': 16974390, + 'Theme.NoDisplay': 16973909, + 'Theme.NoTitleBar': 16973830, + 'Theme.NoTitleBar.Fullscreen': 16973831, + 'Theme.NoTitleBar.OverlayActionModes': 16973930, + 'Theme.Panel': 16973913, + 'Theme.Translucent': 16973839, + 'Theme.Translucent.NoTitleBar': 16973840, + 'Theme.Translucent.NoTitleBar.Fullscreen': 16973841, + 'Theme.Wallpaper': 16973918, + 'Theme.WallpaperSettings': 16973921, + 'Theme.Wallpaper.NoTitleBar': 16973919, + 'Theme.Wallpaper.NoTitleBar.Fullscreen': 16973920, + 'Theme.WithActionBar': 16973929, + 'Widget': 16973842, + 'Widget.AbsListView': 16973843, + 'Widget.ActionBar': 16973954, + 'Widget.ActionBar.TabBar': 16974068, + 'Widget.ActionBar.TabText': 16974067, + 'Widget.ActionBar.TabView': 16974066, + 'Widget.ActionButton': 16973956, + 'Widget.ActionButton.CloseMode': 16973960, + 'Widget.ActionButton.Overflow': 16973959, + 'Widget.AutoCompleteTextView': 16973863, + 'Widget.Button': 16973844, + 'Widget.Button.Inset': 16973845, + 'Widget.Button.Small': 16973846, + 'Widget.Button.Toggle': 16973847, + 'Widget.CalendarView': 16974059, + 'Widget.CompoundButton': 16973848, + 'Widget.CompoundButton.CheckBox': 16973849, + 'Widget.CompoundButton.RadioButton': 16973850, + 'Widget.CompoundButton.Star': 16973851, + 'Widget.DatePicker': 16974062, + 'Widget.DeviceDefault': 16974144, + 'Widget.DeviceDefault.ActionBar': 16974187, + 'Widget.DeviceDefault.ActionBar.Solid': 16974195, + 'Widget.DeviceDefault.ActionBar.TabBar': 16974194, + 'Widget.DeviceDefault.ActionBar.TabText': 16974193, + 'Widget.DeviceDefault.ActionBar.TabView': 16974192, + 'Widget.DeviceDefault.ActionButton': 16974182, + 'Widget.DeviceDefault.ActionButton.CloseMode': 16974186, + 'Widget.DeviceDefault.ActionButton.Overflow': 16974183, + 'Widget.DeviceDefault.ActionButton.TextButton': 16974184, + 'Widget.DeviceDefault.ActionMode': 16974185, + 'Widget.DeviceDefault.AutoCompleteTextView': 16974151, + 'Widget.DeviceDefault.Button': 16974145, + 'Widget.DeviceDefault.Button.Borderless': 16974188, + 'Widget.DeviceDefault.Button.Borderless.Small': 16974149, + 'Widget.DeviceDefault.Button.Inset': 16974147, + 'Widget.DeviceDefault.Button.Small': 16974146, + 'Widget.DeviceDefault.Button.Toggle': 16974148, + 'Widget.DeviceDefault.CalendarView': 16974190, + 'Widget.DeviceDefault.CheckedTextView': 16974299, + 'Widget.DeviceDefault.CompoundButton.CheckBox': 16974152, + 'Widget.DeviceDefault.CompoundButton.RadioButton': 16974169, + 'Widget.DeviceDefault.CompoundButton.Star': 16974173, + 'Widget.DeviceDefault.DatePicker': 16974191, + 'Widget.DeviceDefault.DropDownItem': 16974177, + 'Widget.DeviceDefault.DropDownItem.Spinner': 16974178, + 'Widget.DeviceDefault.EditText': 16974154, + 'Widget.DeviceDefault.ExpandableListView': 16974155, + 'Widget.DeviceDefault.FastScroll': 16974313, + 'Widget.DeviceDefault.GridView': 16974156, + 'Widget.DeviceDefault.HorizontalScrollView': 16974171, + 'Widget.DeviceDefault.ImageButton': 16974157, + 'Widget.DeviceDefault.Light': 16974196, + 'Widget.DeviceDefault.Light.ActionBar': 16974243, + 'Widget.DeviceDefault.Light.ActionBar.Solid': 16974247, + 'Widget.DeviceDefault.Light.ActionBar.Solid.Inverse': 16974248, + 'Widget.DeviceDefault.Light.ActionBar.TabBar': 16974246, + 'Widget.DeviceDefault.Light.ActionBar.TabBar.Inverse': 16974249, + 'Widget.DeviceDefault.Light.ActionBar.TabText': 16974245, + 'Widget.DeviceDefault.Light.ActionBar.TabText.Inverse': 16974251, + 'Widget.DeviceDefault.Light.ActionBar.TabView': 16974244, + 'Widget.DeviceDefault.Light.ActionBar.TabView.Inverse': 16974250, + 'Widget.DeviceDefault.Light.ActionButton': 16974239, + 'Widget.DeviceDefault.Light.ActionButton.CloseMode': 16974242, + 'Widget.DeviceDefault.Light.ActionButton.Overflow': 16974240, + 'Widget.DeviceDefault.Light.ActionMode': 16974241, + 'Widget.DeviceDefault.Light.ActionMode.Inverse': 16974252, + 'Widget.DeviceDefault.Light.AutoCompleteTextView': 16974203, + 'Widget.DeviceDefault.Light.Button': 16974197, + 'Widget.DeviceDefault.Light.Button.Borderless.Small': 16974201, + 'Widget.DeviceDefault.Light.Button.Inset': 16974199, + 'Widget.DeviceDefault.Light.Button.Small': 16974198, + 'Widget.DeviceDefault.Light.Button.Toggle': 16974200, + 'Widget.DeviceDefault.Light.CalendarView': 16974238, + 'Widget.DeviceDefault.Light.CheckedTextView': 16974300, + 'Widget.DeviceDefault.Light.CompoundButton.CheckBox': 16974204, + 'Widget.DeviceDefault.Light.CompoundButton.RadioButton': 16974224, + 'Widget.DeviceDefault.Light.CompoundButton.Star': 16974228, + 'Widget.DeviceDefault.Light.DropDownItem': 16974232, + 'Widget.DeviceDefault.Light.DropDownItem.Spinner': 16974233, + 'Widget.DeviceDefault.Light.EditText': 16974206, + 'Widget.DeviceDefault.Light.ExpandableListView': 16974207, + 'Widget.DeviceDefault.Light.FastScroll': 16974315, + 'Widget.DeviceDefault.Light.GridView': 16974208, + 'Widget.DeviceDefault.Light.HorizontalScrollView': 16974226, + 'Widget.DeviceDefault.Light.ImageButton': 16974209, + 'Widget.DeviceDefault.Light.ListPopupWindow': 16974235, + 'Widget.DeviceDefault.Light.ListView': 16974210, + 'Widget.DeviceDefault.Light.ListView.DropDown': 16974205, + 'Widget.DeviceDefault.Light.MediaRouteButton': 16974296, + 'Widget.DeviceDefault.Light.PopupMenu': 16974236, + 'Widget.DeviceDefault.Light.PopupWindow': 16974211, + 'Widget.DeviceDefault.Light.ProgressBar': 16974212, + 'Widget.DeviceDefault.Light.ProgressBar.Horizontal': 16974213, + 'Widget.DeviceDefault.Light.ProgressBar.Inverse': 16974217, + 'Widget.DeviceDefault.Light.ProgressBar.Large': 16974216, + 'Widget.DeviceDefault.Light.ProgressBar.Large.Inverse': 16974219, + 'Widget.DeviceDefault.Light.ProgressBar.Small': 16974214, + 'Widget.DeviceDefault.Light.ProgressBar.Small.Inverse': 16974218, + 'Widget.DeviceDefault.Light.ProgressBar.Small.Title': 16974215, + 'Widget.DeviceDefault.Light.RatingBar': 16974221, + 'Widget.DeviceDefault.Light.RatingBar.Indicator': 16974222, + 'Widget.DeviceDefault.Light.RatingBar.Small': 16974223, + 'Widget.DeviceDefault.Light.ScrollView': 16974225, + 'Widget.DeviceDefault.Light.SeekBar': 16974220, + 'Widget.DeviceDefault.Light.Spinner': 16974227, + 'Widget.DeviceDefault.Light.StackView': 16974316, + 'Widget.DeviceDefault.Light.Tab': 16974237, + 'Widget.DeviceDefault.Light.TabWidget': 16974229, + 'Widget.DeviceDefault.Light.TextView': 16974202, + 'Widget.DeviceDefault.Light.TextView.SpinnerItem': 16974234, + 'Widget.DeviceDefault.Light.WebTextView': 16974230, + 'Widget.DeviceDefault.Light.WebView': 16974231, + 'Widget.DeviceDefault.ListPopupWindow': 16974180, + 'Widget.DeviceDefault.ListView': 16974158, + 'Widget.DeviceDefault.ListView.DropDown': 16974153, + 'Widget.DeviceDefault.MediaRouteButton': 16974295, + 'Widget.DeviceDefault.PopupMenu': 16974181, + 'Widget.DeviceDefault.PopupWindow': 16974159, + 'Widget.DeviceDefault.ProgressBar': 16974160, + 'Widget.DeviceDefault.ProgressBar.Horizontal': 16974161, + 'Widget.DeviceDefault.ProgressBar.Large': 16974164, + 'Widget.DeviceDefault.ProgressBar.Small': 16974162, + 'Widget.DeviceDefault.ProgressBar.Small.Title': 16974163, + 'Widget.DeviceDefault.RatingBar': 16974166, + 'Widget.DeviceDefault.RatingBar.Indicator': 16974167, + 'Widget.DeviceDefault.RatingBar.Small': 16974168, + 'Widget.DeviceDefault.ScrollView': 16974170, + 'Widget.DeviceDefault.SeekBar': 16974165, + 'Widget.DeviceDefault.Spinner': 16974172, + 'Widget.DeviceDefault.StackView': 16974314, + 'Widget.DeviceDefault.Tab': 16974189, + 'Widget.DeviceDefault.TabWidget': 16974174, + 'Widget.DeviceDefault.TextView': 16974150, + 'Widget.DeviceDefault.TextView.SpinnerItem': 16974179, + 'Widget.DeviceDefault.WebTextView': 16974175, + 'Widget.DeviceDefault.WebView': 16974176, + 'Widget.DropDownItem': 16973867, + 'Widget.DropDownItem.Spinner': 16973868, + 'Widget.EditText': 16973859, + 'Widget.ExpandableListView': 16973860, + 'Widget.FastScroll': 16974309, + 'Widget.FragmentBreadCrumbs': 16973961, + 'Widget.Gallery': 16973877, + 'Widget.GridView': 16973874, + 'Widget.Holo': 16973962, + 'Widget.Holo.ActionBar': 16974004, + 'Widget.Holo.ActionBar.Solid': 16974113, + 'Widget.Holo.ActionBar.TabBar': 16974071, + 'Widget.Holo.ActionBar.TabText': 16974070, + 'Widget.Holo.ActionBar.TabView': 16974069, + 'Widget.Holo.ActionButton': 16973999, + 'Widget.Holo.ActionButton.CloseMode': 16974003, + 'Widget.Holo.ActionButton.Overflow': 16974000, + 'Widget.Holo.ActionButton.TextButton': 16974001, + 'Widget.Holo.ActionMode': 16974002, + 'Widget.Holo.AutoCompleteTextView': 16973968, + 'Widget.Holo.Button': 16973963, + 'Widget.Holo.Button.Borderless': 16974050, + 'Widget.Holo.Button.Borderless.Small': 16974106, + 'Widget.Holo.Button.Inset': 16973965, + 'Widget.Holo.Button.Small': 16973964, + 'Widget.Holo.Button.Toggle': 16973966, + 'Widget.Holo.CalendarView': 16974060, + 'Widget.Holo.CheckedTextView': 16974297, + 'Widget.Holo.CompoundButton.CheckBox': 16973969, + 'Widget.Holo.CompoundButton.RadioButton': 16973986, + 'Widget.Holo.CompoundButton.Star': 16973990, + 'Widget.Holo.DatePicker': 16974063, + 'Widget.Holo.DropDownItem': 16973994, + 'Widget.Holo.DropDownItem.Spinner': 16973995, + 'Widget.Holo.EditText': 16973971, + 'Widget.Holo.ExpandableListView': 16973972, + 'Widget.Holo.GridView': 16973973, + 'Widget.Holo.HorizontalScrollView': 16973988, + 'Widget.Holo.ImageButton': 16973974, + 'Widget.Holo.Light': 16974005, + 'Widget.Holo.Light.ActionBar': 16974049, + 'Widget.Holo.Light.ActionBar.Solid': 16974114, + 'Widget.Holo.Light.ActionBar.Solid.Inverse': 16974115, + 'Widget.Holo.Light.ActionBar.TabBar': 16974074, + 'Widget.Holo.Light.ActionBar.TabBar.Inverse': 16974116, + 'Widget.Holo.Light.ActionBar.TabText': 16974073, + 'Widget.Holo.Light.ActionBar.TabText.Inverse': 16974118, + 'Widget.Holo.Light.ActionBar.TabView': 16974072, + 'Widget.Holo.Light.ActionBar.TabView.Inverse': 16974117, + 'Widget.Holo.Light.ActionButton': 16974045, + 'Widget.Holo.Light.ActionButton.CloseMode': 16974048, + 'Widget.Holo.Light.ActionButton.Overflow': 16974046, + 'Widget.Holo.Light.ActionMode': 16974047, + 'Widget.Holo.Light.ActionMode.Inverse': 16974119, + 'Widget.Holo.Light.AutoCompleteTextView': 16974011, + 'Widget.Holo.Light.Button': 16974006, + 'Widget.Holo.Light.Button.Borderless.Small': 16974107, + 'Widget.Holo.Light.Button.Inset': 16974008, + 'Widget.Holo.Light.Button.Small': 16974007, + 'Widget.Holo.Light.Button.Toggle': 16974009, + 'Widget.Holo.Light.CalendarView': 16974061, + 'Widget.Holo.Light.CheckedTextView': 16974298, + 'Widget.Holo.Light.CompoundButton.CheckBox': 16974012, + 'Widget.Holo.Light.CompoundButton.RadioButton': 16974032, + 'Widget.Holo.Light.CompoundButton.Star': 16974036, + 'Widget.Holo.Light.DropDownItem': 16974040, + 'Widget.Holo.Light.DropDownItem.Spinner': 16974041, + 'Widget.Holo.Light.EditText': 16974014, + 'Widget.Holo.Light.ExpandableListView': 16974015, + 'Widget.Holo.Light.GridView': 16974016, + 'Widget.Holo.Light.HorizontalScrollView': 16974034, + 'Widget.Holo.Light.ImageButton': 16974017, + 'Widget.Holo.Light.ListPopupWindow': 16974043, + 'Widget.Holo.Light.ListView': 16974018, + 'Widget.Holo.Light.ListView.DropDown': 16974013, + 'Widget.Holo.Light.MediaRouteButton': 16974294, + 'Widget.Holo.Light.PopupMenu': 16974044, + 'Widget.Holo.Light.PopupWindow': 16974019, + 'Widget.Holo.Light.ProgressBar': 16974020, + 'Widget.Holo.Light.ProgressBar.Horizontal': 16974021, + 'Widget.Holo.Light.ProgressBar.Inverse': 16974025, + 'Widget.Holo.Light.ProgressBar.Large': 16974024, + 'Widget.Holo.Light.ProgressBar.Large.Inverse': 16974027, + 'Widget.Holo.Light.ProgressBar.Small': 16974022, + 'Widget.Holo.Light.ProgressBar.Small.Inverse': 16974026, + 'Widget.Holo.Light.ProgressBar.Small.Title': 16974023, + 'Widget.Holo.Light.RatingBar': 16974029, + 'Widget.Holo.Light.RatingBar.Indicator': 16974030, + 'Widget.Holo.Light.RatingBar.Small': 16974031, + 'Widget.Holo.Light.ScrollView': 16974033, + 'Widget.Holo.Light.SeekBar': 16974028, + 'Widget.Holo.Light.Spinner': 16974035, + 'Widget.Holo.Light.Tab': 16974052, + 'Widget.Holo.Light.TabWidget': 16974037, + 'Widget.Holo.Light.TextView': 16974010, + 'Widget.Holo.Light.TextView.SpinnerItem': 16974042, + 'Widget.Holo.Light.WebTextView': 16974038, + 'Widget.Holo.Light.WebView': 16974039, + 'Widget.Holo.ListPopupWindow': 16973997, + 'Widget.Holo.ListView': 16973975, + 'Widget.Holo.ListView.DropDown': 16973970, + 'Widget.Holo.MediaRouteButton': 16974293, + 'Widget.Holo.PopupMenu': 16973998, + 'Widget.Holo.PopupWindow': 16973976, + 'Widget.Holo.ProgressBar': 16973977, + 'Widget.Holo.ProgressBar.Horizontal': 16973978, + 'Widget.Holo.ProgressBar.Large': 16973981, + 'Widget.Holo.ProgressBar.Small': 16973979, + 'Widget.Holo.ProgressBar.Small.Title': 16973980, + 'Widget.Holo.RatingBar': 16973983, + 'Widget.Holo.RatingBar.Indicator': 16973984, + 'Widget.Holo.RatingBar.Small': 16973985, + 'Widget.Holo.ScrollView': 16973987, + 'Widget.Holo.SeekBar': 16973982, + 'Widget.Holo.Spinner': 16973989, + 'Widget.Holo.Tab': 16974051, + 'Widget.Holo.TabWidget': 16973991, + 'Widget.Holo.TextView': 16973967, + 'Widget.Holo.TextView.SpinnerItem': 16973996, + 'Widget.Holo.WebTextView': 16973992, + 'Widget.Holo.WebView': 16973993, + 'Widget.ImageButton': 16973862, + 'Widget.ImageWell': 16973861, + 'Widget.KeyboardView': 16973911, + 'Widget.ListPopupWindow': 16973957, + 'Widget.ListView': 16973870, + 'Widget.ListView.DropDown': 16973872, + 'Widget.ListView.Menu': 16973873, + 'Widget.ListView.White': 16973871, + 'Widget.Material': 16974413, + 'Widget.Material.ActionBar': 16974414, + 'Widget.Material.ActionBar.Solid': 16974415, + 'Widget.Material.ActionBar.TabBar': 16974416, + 'Widget.Material.ActionBar.TabText': 16974417, + 'Widget.Material.ActionBar.TabView': 16974418, + 'Widget.Material.ActionButton': 16974419, + 'Widget.Material.ActionButton.CloseMode': 16974420, + 'Widget.Material.ActionButton.Overflow': 16974421, + 'Widget.Material.ActionMode': 16974422, + 'Widget.Material.AutoCompleteTextView': 16974423, + 'Widget.Material.Button': 16974424, + 'Widget.Material.ButtonBar': 16974431, + 'Widget.Material.ButtonBar.AlertDialog': 16974432, + 'Widget.Material.Button.Borderless': 16974425, + 'Widget.Material.Button.Borderless.Colored': 16974426, + 'Widget.Material.Button.Borderless.Small': 16974427, + 'Widget.Material.Button.Inset': 16974428, + 'Widget.Material.Button.Small': 16974429, + 'Widget.Material.Button.Toggle': 16974430, + 'Widget.Material.CalendarView': 16974433, + 'Widget.Material.CheckedTextView': 16974434, + 'Widget.Material.CompoundButton.CheckBox': 16974435, + 'Widget.Material.CompoundButton.RadioButton': 16974436, + 'Widget.Material.CompoundButton.Star': 16974437, + 'Widget.Material.DatePicker': 16974438, + 'Widget.Material.DropDownItem': 16974439, + 'Widget.Material.DropDownItem.Spinner': 16974440, + 'Widget.Material.EditText': 16974441, + 'Widget.Material.ExpandableListView': 16974442, + 'Widget.Material.FastScroll': 16974443, + 'Widget.Material.GridView': 16974444, + 'Widget.Material.HorizontalScrollView': 16974445, + 'Widget.Material.ImageButton': 16974446, + 'Widget.Material.Light': 16974478, + 'Widget.Material.Light.ActionBar': 16974479, + 'Widget.Material.Light.ActionBar.Solid': 16974480, + 'Widget.Material.Light.ActionBar.TabBar': 16974481, + 'Widget.Material.Light.ActionBar.TabText': 16974482, + 'Widget.Material.Light.ActionBar.TabView': 16974483, + 'Widget.Material.Light.ActionButton': 16974484, + 'Widget.Material.Light.ActionButton.CloseMode': 16974485, + 'Widget.Material.Light.ActionButton.Overflow': 16974486, + 'Widget.Material.Light.ActionMode': 16974487, + 'Widget.Material.Light.AutoCompleteTextView': 16974488, + 'Widget.Material.Light.Button': 16974489, + 'Widget.Material.Light.ButtonBar': 16974496, + 'Widget.Material.Light.ButtonBar.AlertDialog': 16974497, + 'Widget.Material.Light.Button.Borderless': 16974490, + 'Widget.Material.Light.Button.Borderless.Colored': 16974491, + 'Widget.Material.Light.Button.Borderless.Small': 16974492, + 'Widget.Material.Light.Button.Inset': 16974493, + 'Widget.Material.Light.Button.Small': 16974494, + 'Widget.Material.Light.Button.Toggle': 16974495, + 'Widget.Material.Light.CalendarView': 16974498, + 'Widget.Material.Light.CheckedTextView': 16974499, + 'Widget.Material.Light.CompoundButton.CheckBox': 16974500, + 'Widget.Material.Light.CompoundButton.RadioButton': 16974501, + 'Widget.Material.Light.CompoundButton.Star': 16974502, + 'Widget.Material.Light.DatePicker': 16974503, + 'Widget.Material.Light.DropDownItem': 16974504, + 'Widget.Material.Light.DropDownItem.Spinner': 16974505, + 'Widget.Material.Light.EditText': 16974506, + 'Widget.Material.Light.ExpandableListView': 16974507, + 'Widget.Material.Light.FastScroll': 16974508, + 'Widget.Material.Light.GridView': 16974509, + 'Widget.Material.Light.HorizontalScrollView': 16974510, + 'Widget.Material.Light.ImageButton': 16974511, + 'Widget.Material.Light.ListPopupWindow': 16974512, + 'Widget.Material.Light.ListView': 16974513, + 'Widget.Material.Light.ListView.DropDown': 16974514, + 'Widget.Material.Light.MediaRouteButton': 16974515, + 'Widget.Material.Light.PopupMenu': 16974516, + 'Widget.Material.Light.PopupMenu.Overflow': 16974517, + 'Widget.Material.Light.PopupWindow': 16974518, + 'Widget.Material.Light.ProgressBar': 16974519, + 'Widget.Material.Light.ProgressBar.Horizontal': 16974520, + 'Widget.Material.Light.ProgressBar.Inverse': 16974521, + 'Widget.Material.Light.ProgressBar.Large': 16974522, + 'Widget.Material.Light.ProgressBar.Large.Inverse': 16974523, + 'Widget.Material.Light.ProgressBar.Small': 16974524, + 'Widget.Material.Light.ProgressBar.Small.Inverse': 16974525, + 'Widget.Material.Light.ProgressBar.Small.Title': 16974526, + 'Widget.Material.Light.RatingBar': 16974527, + 'Widget.Material.Light.RatingBar.Indicator': 16974528, + 'Widget.Material.Light.RatingBar.Small': 16974529, + 'Widget.Material.Light.ScrollView': 16974530, + 'Widget.Material.Light.SearchView': 16974531, + 'Widget.Material.Light.SeekBar': 16974532, + 'Widget.Material.Light.SegmentedButton': 16974533, + 'Widget.Material.Light.Spinner': 16974535, + 'Widget.Material.Light.Spinner.Underlined': 16974536, + 'Widget.Material.Light.StackView': 16974534, + 'Widget.Material.Light.Tab': 16974537, + 'Widget.Material.Light.TabWidget': 16974538, + 'Widget.Material.Light.TextView': 16974539, + 'Widget.Material.Light.TextView.SpinnerItem': 16974540, + 'Widget.Material.Light.TimePicker': 16974541, + 'Widget.Material.Light.WebTextView': 16974542, + 'Widget.Material.Light.WebView': 16974543, + 'Widget.Material.ListPopupWindow': 16974447, + 'Widget.Material.ListView': 16974448, + 'Widget.Material.ListView.DropDown': 16974449, + 'Widget.Material.MediaRouteButton': 16974450, + 'Widget.Material.PopupMenu': 16974451, + 'Widget.Material.PopupMenu.Overflow': 16974452, + 'Widget.Material.PopupWindow': 16974453, + 'Widget.Material.ProgressBar': 16974454, + 'Widget.Material.ProgressBar.Horizontal': 16974455, + 'Widget.Material.ProgressBar.Large': 16974456, + 'Widget.Material.ProgressBar.Small': 16974457, + 'Widget.Material.ProgressBar.Small.Title': 16974458, + 'Widget.Material.RatingBar': 16974459, + 'Widget.Material.RatingBar.Indicator': 16974460, + 'Widget.Material.RatingBar.Small': 16974461, + 'Widget.Material.ScrollView': 16974462, + 'Widget.Material.SearchView': 16974463, + 'Widget.Material.SeekBar': 16974464, + 'Widget.Material.SegmentedButton': 16974465, + 'Widget.Material.Spinner': 16974467, + 'Widget.Material.Spinner.Underlined': 16974468, + 'Widget.Material.StackView': 16974466, + 'Widget.Material.Tab': 16974469, + 'Widget.Material.TabWidget': 16974470, + 'Widget.Material.TextView': 16974471, + 'Widget.Material.TextView.SpinnerItem': 16974472, + 'Widget.Material.TimePicker': 16974473, + 'Widget.Material.Toolbar': 16974474, + 'Widget.Material.Toolbar.Button.Navigation': 16974475, + 'Widget.Material.WebTextView': 16974476, + 'Widget.Material.WebView': 16974477, + 'Widget.PopupMenu': 16973958, + 'Widget.PopupWindow': 16973878, + 'Widget.ProgressBar': 16973852, + 'Widget.ProgressBar.Horizontal': 16973855, + 'Widget.ProgressBar.Inverse': 16973915, + 'Widget.ProgressBar.Large': 16973853, + 'Widget.ProgressBar.Large.Inverse': 16973916, + 'Widget.ProgressBar.Small': 16973854, + 'Widget.ProgressBar.Small.Inverse': 16973917, + 'Widget.RatingBar': 16973857, + 'Widget.ScrollView': 16973869, + 'Widget.SeekBar': 16973856, + 'Widget.Spinner': 16973864, + 'Widget.Spinner.DropDown': 16973955, + 'Widget.StackView': 16974310, + 'Widget.TabWidget': 16973876, + 'Widget.TextView': 16973858, + 'Widget.TextView.PopupMenu': 16973865, + 'Widget.TextView.SpinnerItem': 16973866, + 'Widget.Toolbar': 16974311, + 'Widget.Toolbar.Button.Navigation': 16974312, + 'Widget.WebView': 16973875, + }, + 'attr': { + 'theme': 16842752, + 'label': 16842753, + 'icon': 16842754, + 'name': 16842755, + 'manageSpaceActivity': 16842756, + 'allowClearUserData': 16842757, + 'permission': 16842758, + 'readPermission': 16842759, + 'writePermission': 16842760, + 'protectionLevel': 16842761, + 'permissionGroup': 16842762, + 'sharedUserId': 16842763, + 'hasCode': 16842764, + 'persistent': 16842765, + 'enabled': 16842766, + 'debuggable': 16842767, + 'exported': 16842768, + 'process': 16842769, + 'taskAffinity': 16842770, + 'multiprocess': 16842771, + 'finishOnTaskLaunch': 16842772, + 'clearTaskOnLaunch': 16842773, + 'stateNotNeeded': 16842774, + 'excludeFromRecents': 16842775, + 'authorities': 16842776, + 'syncable': 16842777, + 'initOrder': 16842778, + 'grantUriPermissions': 16842779, + 'priority': 16842780, + 'launchMode': 16842781, + 'screenOrientation': 16842782, + 'configChanges': 16842783, + 'description': 16842784, + 'targetPackage': 16842785, + 'handleProfiling': 16842786, + 'functionalTest': 16842787, + 'value': 16842788, + 'resource': 16842789, + 'mimeType': 16842790, + 'scheme': 16842791, + 'host': 16842792, + 'port': 16842793, + 'path': 16842794, + 'pathPrefix': 16842795, + 'pathPattern': 16842796, + 'action': 16842797, + 'data': 16842798, + 'targetClass': 16842799, + 'colorForeground': 16842800, + 'colorBackground': 16842801, + 'backgroundDimAmount': 16842802, + 'disabledAlpha': 16842803, + 'textAppearance': 16842804, + 'textAppearanceInverse': 16842805, + 'textColorPrimary': 16842806, + 'textColorPrimaryDisableOnly': 16842807, + 'textColorSecondary': 16842808, + 'textColorPrimaryInverse': 16842809, + 'textColorSecondaryInverse': 16842810, + 'textColorPrimaryNoDisable': 16842811, + 'textColorSecondaryNoDisable': 16842812, + 'textColorPrimaryInverseNoDisable': 16842813, + 'textColorSecondaryInverseNoDisable': 16842814, + 'textColorHintInverse': 16842815, + 'textAppearanceLarge': 16842816, + 'textAppearanceMedium': 16842817, + 'textAppearanceSmall': 16842818, + 'textAppearanceLargeInverse': 16842819, + 'textAppearanceMediumInverse': 16842820, + 'textAppearanceSmallInverse': 16842821, + 'textCheckMark': 16842822, + 'textCheckMarkInverse': 16842823, + 'buttonStyle': 16842824, + 'buttonStyleSmall': 16842825, + 'buttonStyleInset': 16842826, + 'buttonStyleToggle': 16842827, + 'galleryItemBackground': 16842828, + 'listPreferredItemHeight': 16842829, + 'expandableListPreferredItemPaddingLeft': 16842830, + 'expandableListPreferredChildPaddingLeft': 16842831, + 'expandableListPreferredItemIndicatorLeft': 16842832, + 'expandableListPreferredItemIndicatorRight': 16842833, + 'expandableListPreferredChildIndicatorLeft': 16842834, + 'expandableListPreferredChildIndicatorRight': 16842835, + 'windowBackground': 16842836, + 'windowFrame': 16842837, + 'windowNoTitle': 16842838, + 'windowIsFloating': 16842839, + 'windowIsTranslucent': 16842840, + 'windowContentOverlay': 16842841, + 'windowTitleSize': 16842842, + 'windowTitleStyle': 16842843, + 'windowTitleBackgroundStyle': 16842844, + 'alertDialogStyle': 16842845, + 'panelBackground': 16842846, + 'panelFullBackground': 16842847, + 'panelColorForeground': 16842848, + 'panelColorBackground': 16842849, + 'panelTextAppearance': 16842850, + 'scrollbarSize': 16842851, + 'scrollbarThumbHorizontal': 16842852, + 'scrollbarThumbVertical': 16842853, + 'scrollbarTrackHorizontal': 16842854, + 'scrollbarTrackVertical': 16842855, + 'scrollbarAlwaysDrawHorizontalTrack': 16842856, + 'scrollbarAlwaysDrawVerticalTrack': 16842857, + 'absListViewStyle': 16842858, + 'autoCompleteTextViewStyle': 16842859, + 'checkboxStyle': 16842860, + 'dropDownListViewStyle': 16842861, + 'editTextStyle': 16842862, + 'expandableListViewStyle': 16842863, + 'galleryStyle': 16842864, + 'gridViewStyle': 16842865, + 'imageButtonStyle': 16842866, + 'imageWellStyle': 16842867, + 'listViewStyle': 16842868, + 'listViewWhiteStyle': 16842869, + 'popupWindowStyle': 16842870, + 'progressBarStyle': 16842871, + 'progressBarStyleHorizontal': 16842872, + 'progressBarStyleSmall': 16842873, + 'progressBarStyleLarge': 16842874, + 'seekBarStyle': 16842875, + 'ratingBarStyle': 16842876, + 'ratingBarStyleSmall': 16842877, + 'radioButtonStyle': 16842878, + 'scrollbarStyle': 16842879, + 'scrollViewStyle': 16842880, + 'spinnerStyle': 16842881, + 'starStyle': 16842882, + 'tabWidgetStyle': 16842883, + 'textViewStyle': 16842884, + 'webViewStyle': 16842885, + 'dropDownItemStyle': 16842886, + 'spinnerDropDownItemStyle': 16842887, + 'dropDownHintAppearance': 16842888, + 'spinnerItemStyle': 16842889, + 'mapViewStyle': 16842890, + 'preferenceScreenStyle': 16842891, + 'preferenceCategoryStyle': 16842892, + 'preferenceInformationStyle': 16842893, + 'preferenceStyle': 16842894, + 'checkBoxPreferenceStyle': 16842895, + 'yesNoPreferenceStyle': 16842896, + 'dialogPreferenceStyle': 16842897, + 'editTextPreferenceStyle': 16842898, + 'ringtonePreferenceStyle': 16842899, + 'preferenceLayoutChild': 16842900, + 'textSize': 16842901, + 'typeface': 16842902, + 'textStyle': 16842903, + 'textColor': 16842904, + 'textColorHighlight': 16842905, + 'textColorHint': 16842906, + 'textColorLink': 16842907, + 'state_focused': 16842908, + 'state_window_focused': 16842909, + 'state_enabled': 16842910, + 'state_checkable': 16842911, + 'state_checked': 16842912, + 'state_selected': 16842913, + 'state_active': 16842914, + 'state_single': 16842915, + 'state_first': 16842916, + 'state_middle': 16842917, + 'state_last': 16842918, + 'state_pressed': 16842919, + 'state_expanded': 16842920, + 'state_empty': 16842921, + 'state_above_anchor': 16842922, + 'ellipsize': 16842923, + 'x': 16842924, + 'y': 16842925, + 'windowAnimationStyle': 16842926, + 'gravity': 16842927, + 'autoLink': 16842928, + 'linksClickable': 16842929, + 'entries': 16842930, + 'layout_gravity': 16842931, + 'windowEnterAnimation': 16842932, + 'windowExitAnimation': 16842933, + 'windowShowAnimation': 16842934, + 'windowHideAnimation': 16842935, + 'activityOpenEnterAnimation': 16842936, + 'activityOpenExitAnimation': 16842937, + 'activityCloseEnterAnimation': 16842938, + 'activityCloseExitAnimation': 16842939, + 'taskOpenEnterAnimation': 16842940, + 'taskOpenExitAnimation': 16842941, + 'taskCloseEnterAnimation': 16842942, + 'taskCloseExitAnimation': 16842943, + 'taskToFrontEnterAnimation': 16842944, + 'taskToFrontExitAnimation': 16842945, + 'taskToBackEnterAnimation': 16842946, + 'taskToBackExitAnimation': 16842947, + 'orientation': 16842948, + 'keycode': 16842949, + 'fullDark': 16842950, + 'topDark': 16842951, + 'centerDark': 16842952, + 'bottomDark': 16842953, + 'fullBright': 16842954, + 'topBright': 16842955, + 'centerBright': 16842956, + 'bottomBright': 16842957, + 'bottomMedium': 16842958, + 'centerMedium': 16842959, + 'id': 16842960, + 'tag': 16842961, + 'scrollX': 16842962, + 'scrollY': 16842963, + 'background': 16842964, + 'padding': 16842965, + 'paddingLeft': 16842966, + 'paddingTop': 16842967, + 'paddingRight': 16842968, + 'paddingBottom': 16842969, + 'focusable': 16842970, + 'focusableInTouchMode': 16842971, + 'visibility': 16842972, + 'fitsSystemWindows': 16842973, + 'scrollbars': 16842974, + 'fadingEdge': 16842975, + 'fadingEdgeLength': 16842976, + 'nextFocusLeft': 16842977, + 'nextFocusRight': 16842978, + 'nextFocusUp': 16842979, + 'nextFocusDown': 16842980, + 'clickable': 16842981, + 'longClickable': 16842982, + 'saveEnabled': 16842983, + 'drawingCacheQuality': 16842984, + 'duplicateParentState': 16842985, + 'clipChildren': 16842986, + 'clipToPadding': 16842987, + 'layoutAnimation': 16842988, + 'animationCache': 16842989, + 'persistentDrawingCache': 16842990, + 'alwaysDrawnWithCache': 16842991, + 'addStatesFromChildren': 16842992, + 'descendantFocusability': 16842993, + 'layout': 16842994, + 'inflatedId': 16842995, + 'layout_width': 16842996, + 'layout_height': 16842997, + 'layout_margin': 16842998, + 'layout_marginLeft': 16842999, + 'layout_marginTop': 16843000, + 'layout_marginRight': 16843001, + 'layout_marginBottom': 16843002, + 'listSelector': 16843003, + 'drawSelectorOnTop': 16843004, + 'stackFromBottom': 16843005, + 'scrollingCache': 16843006, + 'textFilterEnabled': 16843007, + 'transcriptMode': 16843008, + 'cacheColorHint': 16843009, + 'dial': 16843010, + 'hand_hour': 16843011, + 'hand_minute': 16843012, + 'format': 16843013, + 'checked': 16843014, + 'button': 16843015, + 'checkMark': 16843016, + 'foreground': 16843017, + 'measureAllChildren': 16843018, + 'groupIndicator': 16843019, + 'childIndicator': 16843020, + 'indicatorLeft': 16843021, + 'indicatorRight': 16843022, + 'childIndicatorLeft': 16843023, + 'childIndicatorRight': 16843024, + 'childDivider': 16843025, + 'animationDuration': 16843026, + 'spacing': 16843027, + 'horizontalSpacing': 16843028, + 'verticalSpacing': 16843029, + 'stretchMode': 16843030, + 'columnWidth': 16843031, + 'numColumns': 16843032, + 'src': 16843033, + 'antialias': 16843034, + 'filter': 16843035, + 'dither': 16843036, + 'scaleType': 16843037, + 'adjustViewBounds': 16843038, + 'maxWidth': 16843039, + 'maxHeight': 16843040, + 'tint': 16843041, + 'baselineAlignBottom': 16843042, + 'cropToPadding': 16843043, + 'textOn': 16843044, + 'textOff': 16843045, + 'baselineAligned': 16843046, + 'baselineAlignedChildIndex': 16843047, + 'weightSum': 16843048, + 'divider': 16843049, + 'dividerHeight': 16843050, + 'choiceMode': 16843051, + 'itemTextAppearance': 16843052, + 'horizontalDivider': 16843053, + 'verticalDivider': 16843054, + 'headerBackground': 16843055, + 'itemBackground': 16843056, + 'itemIconDisabledAlpha': 16843057, + 'rowHeight': 16843058, + 'maxRows': 16843059, + 'maxItemsPerRow': 16843060, + 'moreIcon': 16843061, + 'max': 16843062, + 'progress': 16843063, + 'secondaryProgress': 16843064, + 'indeterminate': 16843065, + 'indeterminateOnly': 16843066, + 'indeterminateDrawable': 16843067, + 'progressDrawable': 16843068, + 'indeterminateDuration': 16843069, + 'indeterminateBehavior': 16843070, + 'minWidth': 16843071, + 'minHeight': 16843072, + 'interpolator': 16843073, + 'thumb': 16843074, + 'thumbOffset': 16843075, + 'numStars': 16843076, + 'rating': 16843077, + 'stepSize': 16843078, + 'isIndicator': 16843079, + 'checkedButton': 16843080, + 'stretchColumns': 16843081, + 'shrinkColumns': 16843082, + 'collapseColumns': 16843083, + 'layout_column': 16843084, + 'layout_span': 16843085, + 'bufferType': 16843086, + 'text': 16843087, + 'hint': 16843088, + 'textScaleX': 16843089, + 'cursorVisible': 16843090, + 'maxLines': 16843091, + 'lines': 16843092, + 'height': 16843093, + 'minLines': 16843094, + 'maxEms': 16843095, + 'ems': 16843096, + 'width': 16843097, + 'minEms': 16843098, + 'scrollHorizontally': 16843099, + 'password': 16843100, + 'singleLine': 16843101, + 'selectAllOnFocus': 16843102, + 'includeFontPadding': 16843103, + 'maxLength': 16843104, + 'shadowColor': 16843105, + 'shadowDx': 16843106, + 'shadowDy': 16843107, + 'shadowRadius': 16843108, + 'numeric': 16843109, + 'digits': 16843110, + 'phoneNumber': 16843111, + 'inputMethod': 16843112, + 'capitalize': 16843113, + 'autoText': 16843114, + 'editable': 16843115, + 'freezesText': 16843116, + 'drawableTop': 16843117, + 'drawableBottom': 16843118, + 'drawableLeft': 16843119, + 'drawableRight': 16843120, + 'drawablePadding': 16843121, + 'completionHint': 16843122, + 'completionHintView': 16843123, + 'completionThreshold': 16843124, + 'dropDownSelector': 16843125, + 'popupBackground': 16843126, + 'inAnimation': 16843127, + 'outAnimation': 16843128, + 'flipInterval': 16843129, + 'fillViewport': 16843130, + 'prompt': 16843131, + 'startYear': 16843132, + 'endYear': 16843133, + 'mode': 16843134, + 'layout_x': 16843135, + 'layout_y': 16843136, + 'layout_weight': 16843137, + 'layout_toLeftOf': 16843138, + 'layout_toRightOf': 16843139, + 'layout_above': 16843140, + 'layout_below': 16843141, + 'layout_alignBaseline': 16843142, + 'layout_alignLeft': 16843143, + 'layout_alignTop': 16843144, + 'layout_alignRight': 16843145, + 'layout_alignBottom': 16843146, + 'layout_alignParentLeft': 16843147, + 'layout_alignParentTop': 16843148, + 'layout_alignParentRight': 16843149, + 'layout_alignParentBottom': 16843150, + 'layout_centerInParent': 16843151, + 'layout_centerHorizontal': 16843152, + 'layout_centerVertical': 16843153, + 'layout_alignWithParentIfMissing': 16843154, + 'layout_scale': 16843155, + 'visible': 16843156, + 'variablePadding': 16843157, + 'constantSize': 16843158, + 'oneshot': 16843159, + 'duration': 16843160, + 'drawable': 16843161, + 'shape': 16843162, + 'innerRadiusRatio': 16843163, + 'thicknessRatio': 16843164, + 'startColor': 16843165, + 'endColor': 16843166, + 'useLevel': 16843167, + 'angle': 16843168, + 'type': 16843169, + 'centerX': 16843170, + 'centerY': 16843171, + 'gradientRadius': 16843172, + 'color': 16843173, + 'dashWidth': 16843174, + 'dashGap': 16843175, + 'radius': 16843176, + 'topLeftRadius': 16843177, + 'topRightRadius': 16843178, + 'bottomLeftRadius': 16843179, + 'bottomRightRadius': 16843180, + 'left': 16843181, + 'top': 16843182, + 'right': 16843183, + 'bottom': 16843184, + 'minLevel': 16843185, + 'maxLevel': 16843186, + 'fromDegrees': 16843187, + 'toDegrees': 16843188, + 'pivotX': 16843189, + 'pivotY': 16843190, + 'insetLeft': 16843191, + 'insetRight': 16843192, + 'insetTop': 16843193, + 'insetBottom': 16843194, + 'shareInterpolator': 16843195, + 'fillBefore': 16843196, + 'fillAfter': 16843197, + 'startOffset': 16843198, + 'repeatCount': 16843199, + 'repeatMode': 16843200, + 'zAdjustment': 16843201, + 'fromXScale': 16843202, + 'toXScale': 16843203, + 'fromYScale': 16843204, + 'toYScale': 16843205, + 'fromXDelta': 16843206, + 'toXDelta': 16843207, + 'fromYDelta': 16843208, + 'toYDelta': 16843209, + 'fromAlpha': 16843210, + 'toAlpha': 16843211, + 'delay': 16843212, + 'animation': 16843213, + 'animationOrder': 16843214, + 'columnDelay': 16843215, + 'rowDelay': 16843216, + 'direction': 16843217, + 'directionPriority': 16843218, + 'factor': 16843219, + 'cycles': 16843220, + 'searchMode': 16843221, + 'searchSuggestAuthority': 16843222, + 'searchSuggestPath': 16843223, + 'searchSuggestSelection': 16843224, + 'searchSuggestIntentAction': 16843225, + 'searchSuggestIntentData': 16843226, + 'queryActionMsg': 16843227, + 'suggestActionMsg': 16843228, + 'suggestActionMsgColumn': 16843229, + 'menuCategory': 16843230, + 'orderInCategory': 16843231, + 'checkableBehavior': 16843232, + 'title': 16843233, + 'titleCondensed': 16843234, + 'alphabeticShortcut': 16843235, + 'numericShortcut': 16843236, + 'checkable': 16843237, + 'selectable': 16843238, + 'orderingFromXml': 16843239, + 'key': 16843240, + 'summary': 16843241, + 'order': 16843242, + 'widgetLayout': 16843243, + 'dependency': 16843244, + 'defaultValue': 16843245, + 'shouldDisableView': 16843246, + 'summaryOn': 16843247, + 'summaryOff': 16843248, + 'disableDependentsState': 16843249, + 'dialogTitle': 16843250, + 'dialogMessage': 16843251, + 'dialogIcon': 16843252, + 'positiveButtonText': 16843253, + 'negativeButtonText': 16843254, + 'dialogLayout': 16843255, + 'entryValues': 16843256, + 'ringtoneType': 16843257, + 'showDefault': 16843258, + 'showSilent': 16843259, + 'scaleWidth': 16843260, + 'scaleHeight': 16843261, + 'scaleGravity': 16843262, + 'ignoreGravity': 16843263, + 'foregroundGravity': 16843264, + 'tileMode': 16843265, + 'targetActivity': 16843266, + 'alwaysRetainTaskState': 16843267, + 'allowTaskReparenting': 16843268, + 'searchButtonText': 16843269, + 'colorForegroundInverse': 16843270, + 'textAppearanceButton': 16843271, + 'listSeparatorTextViewStyle': 16843272, + 'streamType': 16843273, + 'clipOrientation': 16843274, + 'centerColor': 16843275, + 'minSdkVersion': 16843276, + 'windowFullscreen': 16843277, + 'unselectedAlpha': 16843278, + 'progressBarStyleSmallTitle': 16843279, + 'ratingBarStyleIndicator': 16843280, + 'apiKey': 16843281, + 'textColorTertiary': 16843282, + 'textColorTertiaryInverse': 16843283, + 'listDivider': 16843284, + 'soundEffectsEnabled': 16843285, + 'keepScreenOn': 16843286, + 'lineSpacingExtra': 16843287, + 'lineSpacingMultiplier': 16843288, + 'listChoiceIndicatorSingle': 16843289, + 'listChoiceIndicatorMultiple': 16843290, + 'versionCode': 16843291, + 'versionName': 16843292, + 'marqueeRepeatLimit': 16843293, + 'windowNoDisplay': 16843294, + 'backgroundDimEnabled': 16843295, + 'inputType': 16843296, + 'isDefault': 16843297, + 'windowDisablePreview': 16843298, + 'privateImeOptions': 16843299, + 'editorExtras': 16843300, + 'settingsActivity': 16843301, + 'fastScrollEnabled': 16843302, + 'reqTouchScreen': 16843303, + 'reqKeyboardType': 16843304, + 'reqHardKeyboard': 16843305, + 'reqNavigation': 16843306, + 'windowSoftInputMode': 16843307, + 'imeFullscreenBackground': 16843308, + 'noHistory': 16843309, + 'headerDividersEnabled': 16843310, + 'footerDividersEnabled': 16843311, + 'candidatesTextStyleSpans': 16843312, + 'smoothScrollbar': 16843313, + 'reqFiveWayNav': 16843314, + 'keyBackground': 16843315, + 'keyTextSize': 16843316, + 'labelTextSize': 16843317, + 'keyTextColor': 16843318, + 'keyPreviewLayout': 16843319, + 'keyPreviewOffset': 16843320, + 'keyPreviewHeight': 16843321, + 'verticalCorrection': 16843322, + 'popupLayout': 16843323, + 'state_long_pressable': 16843324, + 'keyWidth': 16843325, + 'keyHeight': 16843326, + 'horizontalGap': 16843327, + 'verticalGap': 16843328, + 'rowEdgeFlags': 16843329, + 'codes': 16843330, + 'popupKeyboard': 16843331, + 'popupCharacters': 16843332, + 'keyEdgeFlags': 16843333, + 'isModifier': 16843334, + 'isSticky': 16843335, + 'isRepeatable': 16843336, + 'iconPreview': 16843337, + 'keyOutputText': 16843338, + 'keyLabel': 16843339, + 'keyIcon': 16843340, + 'keyboardMode': 16843341, + 'isScrollContainer': 16843342, + 'fillEnabled': 16843343, + 'updatePeriodMillis': 16843344, + 'initialLayout': 16843345, + 'voiceSearchMode': 16843346, + 'voiceLanguageModel': 16843347, + 'voicePromptText': 16843348, + 'voiceLanguage': 16843349, + 'voiceMaxResults': 16843350, + 'bottomOffset': 16843351, + 'topOffset': 16843352, + 'allowSingleTap': 16843353, + 'handle': 16843354, + 'content': 16843355, + 'animateOnClick': 16843356, + 'configure': 16843357, + 'hapticFeedbackEnabled': 16843358, + 'innerRadius': 16843359, + 'thickness': 16843360, + 'sharedUserLabel': 16843361, + 'dropDownWidth': 16843362, + 'dropDownAnchor': 16843363, + 'imeOptions': 16843364, + 'imeActionLabel': 16843365, + 'imeActionId': 16843366, + 'imeExtractEnterAnimation': 16843368, + 'imeExtractExitAnimation': 16843369, + 'tension': 16843370, + 'extraTension': 16843371, + 'anyDensity': 16843372, + 'searchSuggestThreshold': 16843373, + 'includeInGlobalSearch': 16843374, + 'onClick': 16843375, + 'targetSdkVersion': 16843376, + 'maxSdkVersion': 16843377, + 'testOnly': 16843378, + 'contentDescription': 16843379, + 'gestureStrokeWidth': 16843380, + 'gestureColor': 16843381, + 'uncertainGestureColor': 16843382, + 'fadeOffset': 16843383, + 'fadeDuration': 16843384, + 'gestureStrokeType': 16843385, + 'gestureStrokeLengthThreshold': 16843386, + 'gestureStrokeSquarenessThreshold': 16843387, + 'gestureStrokeAngleThreshold': 16843388, + 'eventsInterceptionEnabled': 16843389, + 'fadeEnabled': 16843390, + 'backupAgent': 16843391, + 'allowBackup': 16843392, + 'glEsVersion': 16843393, + 'queryAfterZeroResults': 16843394, + 'dropDownHeight': 16843395, + 'smallScreens': 16843396, + 'normalScreens': 16843397, + 'largeScreens': 16843398, + 'progressBarStyleInverse': 16843399, + 'progressBarStyleSmallInverse': 16843400, + 'progressBarStyleLargeInverse': 16843401, + 'searchSettingsDescription': 16843402, + 'textColorPrimaryInverseDisableOnly': 16843403, + 'autoUrlDetect': 16843404, + 'resizeable': 16843405, + 'required': 16843406, + 'accountType': 16843407, + 'contentAuthority': 16843408, + 'userVisible': 16843409, + 'windowShowWallpaper': 16843410, + 'wallpaperOpenEnterAnimation': 16843411, + 'wallpaperOpenExitAnimation': 16843412, + 'wallpaperCloseEnterAnimation': 16843413, + 'wallpaperCloseExitAnimation': 16843414, + 'wallpaperIntraOpenEnterAnimation': 16843415, + 'wallpaperIntraOpenExitAnimation': 16843416, + 'wallpaperIntraCloseEnterAnimation': 16843417, + 'wallpaperIntraCloseExitAnimation': 16843418, + 'supportsUploading': 16843419, + 'killAfterRestore': 16843420, + 'restoreNeedsApplication': 16843421, + 'smallIcon': 16843422, + 'accountPreferences': 16843423, + 'textAppearanceSearchResultSubtitle': 16843424, + 'textAppearanceSearchResultTitle': 16843425, + 'summaryColumn': 16843426, + 'detailColumn': 16843427, + 'detailSocialSummary': 16843428, + 'thumbnail': 16843429, + 'detachWallpaper': 16843430, + 'finishOnCloseSystemDialogs': 16843431, + 'scrollbarFadeDuration': 16843432, + 'scrollbarDefaultDelayBeforeFade': 16843433, + 'fadeScrollbars': 16843434, + 'colorBackgroundCacheHint': 16843435, + 'dropDownHorizontalOffset': 16843436, + 'dropDownVerticalOffset': 16843437, + 'quickContactBadgeStyleWindowSmall': 16843438, + 'quickContactBadgeStyleWindowMedium': 16843439, + 'quickContactBadgeStyleWindowLarge': 16843440, + 'quickContactBadgeStyleSmallWindowSmall': 16843441, + 'quickContactBadgeStyleSmallWindowMedium': 16843442, + 'quickContactBadgeStyleSmallWindowLarge': 16843443, + 'author': 16843444, + 'autoStart': 16843445, + 'expandableListViewWhiteStyle': 16843446, + 'installLocation': 16843447, + 'vmSafeMode': 16843448, + 'webTextViewStyle': 16843449, + 'restoreAnyVersion': 16843450, + 'tabStripLeft': 16843451, + 'tabStripRight': 16843452, + 'tabStripEnabled': 16843453, + 'logo': 16843454, + 'xlargeScreens': 16843455, + 'immersive': 16843456, + 'overScrollMode': 16843457, + 'overScrollHeader': 16843458, + 'overScrollFooter': 16843459, + 'filterTouchesWhenObscured': 16843460, + 'textSelectHandleLeft': 16843461, + 'textSelectHandleRight': 16843462, + 'textSelectHandle': 16843463, + 'textSelectHandleWindowStyle': 16843464, + 'popupAnimationStyle': 16843465, + 'screenSize': 16843466, + 'screenDensity': 16843467, + 'allContactsName': 16843468, + 'windowActionBar': 16843469, + 'actionBarStyle': 16843470, + 'navigationMode': 16843471, + 'displayOptions': 16843472, + 'subtitle': 16843473, + 'customNavigationLayout': 16843474, + 'hardwareAccelerated': 16843475, + 'measureWithLargestChild': 16843476, + 'animateFirstView': 16843477, + 'dropDownSpinnerStyle': 16843478, + 'actionDropDownStyle': 16843479, + 'actionButtonStyle': 16843480, + 'showAsAction': 16843481, + 'previewImage': 16843482, + 'actionModeBackground': 16843483, + 'actionModeCloseDrawable': 16843484, + 'windowActionModeOverlay': 16843485, + 'valueFrom': 16843486, + 'valueTo': 16843487, + 'valueType': 16843488, + 'propertyName': 16843489, + 'ordering': 16843490, + 'fragment': 16843491, + 'windowActionBarOverlay': 16843492, + 'fragmentOpenEnterAnimation': 16843493, + 'fragmentOpenExitAnimation': 16843494, + 'fragmentCloseEnterAnimation': 16843495, + 'fragmentCloseExitAnimation': 16843496, + 'fragmentFadeEnterAnimation': 16843497, + 'fragmentFadeExitAnimation': 16843498, + 'actionBarSize': 16843499, + 'imeSubtypeLocale': 16843500, + 'imeSubtypeMode': 16843501, + 'imeSubtypeExtraValue': 16843502, + 'splitMotionEvents': 16843503, + 'listChoiceBackgroundIndicator': 16843504, + 'spinnerMode': 16843505, + 'animateLayoutChanges': 16843506, + 'actionBarTabStyle': 16843507, + 'actionBarTabBarStyle': 16843508, + 'actionBarTabTextStyle': 16843509, + 'actionOverflowButtonStyle': 16843510, + 'actionModeCloseButtonStyle': 16843511, + 'titleTextStyle': 16843512, + 'subtitleTextStyle': 16843513, + 'iconifiedByDefault': 16843514, + 'actionLayout': 16843515, + 'actionViewClass': 16843516, + 'activatedBackgroundIndicator': 16843517, + 'state_activated': 16843518, + 'listPopupWindowStyle': 16843519, + 'popupMenuStyle': 16843520, + 'textAppearanceLargePopupMenu': 16843521, + 'textAppearanceSmallPopupMenu': 16843522, + 'breadCrumbTitle': 16843523, + 'breadCrumbShortTitle': 16843524, + 'listDividerAlertDialog': 16843525, + 'textColorAlertDialogListItem': 16843526, + 'loopViews': 16843527, + 'dialogTheme': 16843528, + 'alertDialogTheme': 16843529, + 'dividerVertical': 16843530, + 'homeAsUpIndicator': 16843531, + 'enterFadeDuration': 16843532, + 'exitFadeDuration': 16843533, + 'selectableItemBackground': 16843534, + 'autoAdvanceViewId': 16843535, + 'useIntrinsicSizeAsMinimum': 16843536, + 'actionModeCutDrawable': 16843537, + 'actionModeCopyDrawable': 16843538, + 'actionModePasteDrawable': 16843539, + 'textEditPasteWindowLayout': 16843540, + 'textEditNoPasteWindowLayout': 16843541, + 'textIsSelectable': 16843542, + 'windowEnableSplitTouch': 16843543, + 'indeterminateProgressStyle': 16843544, + 'progressBarPadding': 16843545, + 'animationResolution': 16843546, + 'state_accelerated': 16843547, + 'baseline': 16843548, + 'homeLayout': 16843549, + 'opacity': 16843550, + 'alpha': 16843551, + 'transformPivotX': 16843552, + 'transformPivotY': 16843553, + 'translationX': 16843554, + 'translationY': 16843555, + 'scaleX': 16843556, + 'scaleY': 16843557, + 'rotation': 16843558, + 'rotationX': 16843559, + 'rotationY': 16843560, + 'showDividers': 16843561, + 'dividerPadding': 16843562, + 'borderlessButtonStyle': 16843563, + 'dividerHorizontal': 16843564, + 'itemPadding': 16843565, + 'buttonBarStyle': 16843566, + 'buttonBarButtonStyle': 16843567, + 'segmentedButtonStyle': 16843568, + 'staticWallpaperPreview': 16843569, + 'allowParallelSyncs': 16843570, + 'isAlwaysSyncable': 16843571, + 'verticalScrollbarPosition': 16843572, + 'fastScrollAlwaysVisible': 16843573, + 'fastScrollThumbDrawable': 16843574, + 'fastScrollPreviewBackgroundLeft': 16843575, + 'fastScrollPreviewBackgroundRight': 16843576, + 'fastScrollTrackDrawable': 16843577, + 'fastScrollOverlayPosition': 16843578, + 'customTokens': 16843579, + 'nextFocusForward': 16843580, + 'firstDayOfWeek': 16843581, + 'showWeekNumber': 16843582, + 'minDate': 16843583, + 'maxDate': 16843584, + 'shownWeekCount': 16843585, + 'selectedWeekBackgroundColor': 16843586, + 'focusedMonthDateColor': 16843587, + 'unfocusedMonthDateColor': 16843588, + 'weekNumberColor': 16843589, + 'weekSeparatorLineColor': 16843590, + 'selectedDateVerticalBar': 16843591, + 'weekDayTextAppearance': 16843592, + 'dateTextAppearance': 16843593, + 'solidColor': 16843594, + 'spinnersShown': 16843595, + 'calendarViewShown': 16843596, + 'state_multiline': 16843597, + 'detailsElementBackground': 16843598, + 'textColorHighlightInverse': 16843599, + 'textColorLinkInverse': 16843600, + 'editTextColor': 16843601, + 'editTextBackground': 16843602, + 'horizontalScrollViewStyle': 16843603, + 'layerType': 16843604, + 'alertDialogIcon': 16843605, + 'windowMinWidthMajor': 16843606, + 'windowMinWidthMinor': 16843607, + 'queryHint': 16843608, + 'fastScrollTextColor': 16843609, + 'largeHeap': 16843610, + 'windowCloseOnTouchOutside': 16843611, + 'datePickerStyle': 16843612, + 'calendarViewStyle': 16843613, + 'textEditSidePasteWindowLayout': 16843614, + 'textEditSideNoPasteWindowLayout': 16843615, + 'actionMenuTextAppearance': 16843616, + 'actionMenuTextColor': 16843617, + 'textCursorDrawable': 16843618, + 'resizeMode': 16843619, + 'requiresSmallestWidthDp': 16843620, + 'compatibleWidthLimitDp': 16843621, + 'largestWidthLimitDp': 16843622, + 'state_hovered': 16843623, + 'state_drag_can_accept': 16843624, + 'state_drag_hovered': 16843625, + 'stopWithTask': 16843626, + 'switchTextOn': 16843627, + 'switchTextOff': 16843628, + 'switchPreferenceStyle': 16843629, + 'switchTextAppearance': 16843630, + 'track': 16843631, + 'switchMinWidth': 16843632, + 'switchPadding': 16843633, + 'thumbTextPadding': 16843634, + 'textSuggestionsWindowStyle': 16843635, + 'textEditSuggestionItemLayout': 16843636, + 'rowCount': 16843637, + 'rowOrderPreserved': 16843638, + 'columnCount': 16843639, + 'columnOrderPreserved': 16843640, + 'useDefaultMargins': 16843641, + 'alignmentMode': 16843642, + 'layout_row': 16843643, + 'layout_rowSpan': 16843644, + 'layout_columnSpan': 16843645, + 'actionModeSelectAllDrawable': 16843646, + 'isAuxiliary': 16843647, + 'accessibilityEventTypes': 16843648, + 'packageNames': 16843649, + 'accessibilityFeedbackType': 16843650, + 'notificationTimeout': 16843651, + 'accessibilityFlags': 16843652, + 'canRetrieveWindowContent': 16843653, + 'listPreferredItemHeightLarge': 16843654, + 'listPreferredItemHeightSmall': 16843655, + 'actionBarSplitStyle': 16843656, + 'actionProviderClass': 16843657, + 'backgroundStacked': 16843658, + 'backgroundSplit': 16843659, + 'textAllCaps': 16843660, + 'colorPressedHighlight': 16843661, + 'colorLongPressedHighlight': 16843662, + 'colorFocusedHighlight': 16843663, + 'colorActivatedHighlight': 16843664, + 'colorMultiSelectHighlight': 16843665, + 'drawableStart': 16843666, + 'drawableEnd': 16843667, + 'actionModeStyle': 16843668, + 'minResizeWidth': 16843669, + 'minResizeHeight': 16843670, + 'actionBarWidgetTheme': 16843671, + 'uiOptions': 16843672, + 'subtypeLocale': 16843673, + 'subtypeExtraValue': 16843674, + 'actionBarDivider': 16843675, + 'actionBarItemBackground': 16843676, + 'actionModeSplitBackground': 16843677, + 'textAppearanceListItem': 16843678, + 'textAppearanceListItemSmall': 16843679, + 'targetDescriptions': 16843680, + 'directionDescriptions': 16843681, + 'overridesImplicitlyEnabledSubtype': 16843682, + 'listPreferredItemPaddingLeft': 16843683, + 'listPreferredItemPaddingRight': 16843684, + 'requiresFadingEdge': 16843685, + 'publicKey': 16843686, + 'parentActivityName': 16843687, + 'isolatedProcess': 16843689, + 'importantForAccessibility': 16843690, + 'keyboardLayout': 16843691, + 'fontFamily': 16843692, + 'mediaRouteButtonStyle': 16843693, + 'mediaRouteTypes': 16843694, + 'supportsRtl': 16843695, + 'textDirection': 16843696, + 'textAlignment': 16843697, + 'layoutDirection': 16843698, + 'paddingStart': 16843699, + 'paddingEnd': 16843700, + 'layout_marginStart': 16843701, + 'layout_marginEnd': 16843702, + 'layout_toStartOf': 16843703, + 'layout_toEndOf': 16843704, + 'layout_alignStart': 16843705, + 'layout_alignEnd': 16843706, + 'layout_alignParentStart': 16843707, + 'layout_alignParentEnd': 16843708, + 'listPreferredItemPaddingStart': 16843709, + 'listPreferredItemPaddingEnd': 16843710, + 'singleUser': 16843711, + 'presentationTheme': 16843712, + 'subtypeId': 16843713, + 'initialKeyguardLayout': 16843714, + 'widgetCategory': 16843716, + 'permissionGroupFlags': 16843717, + 'labelFor': 16843718, + 'permissionFlags': 16843719, + 'checkedTextViewStyle': 16843720, + 'showOnLockScreen': 16843721, + 'format12Hour': 16843722, + 'format24Hour': 16843723, + 'timeZone': 16843724, + 'mipMap': 16843725, + 'mirrorForRtl': 16843726, + 'windowOverscan': 16843727, + 'requiredForAllUsers': 16843728, + 'indicatorStart': 16843729, + 'indicatorEnd': 16843730, + 'childIndicatorStart': 16843731, + 'childIndicatorEnd': 16843732, + 'restrictedAccountType': 16843733, + 'requiredAccountType': 16843734, + 'canRequestTouchExplorationMode': 16843735, + 'canRequestEnhancedWebAccessibility': 16843736, + 'canRequestFilterKeyEvents': 16843737, + 'layoutMode': 16843738, + 'keySet': 16843739, + 'targetId': 16843740, + 'fromScene': 16843741, + 'toScene': 16843742, + 'transition': 16843743, + 'transitionOrdering': 16843744, + 'fadingMode': 16843745, + 'startDelay': 16843746, + 'ssp': 16843747, + 'sspPrefix': 16843748, + 'sspPattern': 16843749, + 'addPrintersActivity': 16843750, + 'vendor': 16843751, + 'category': 16843752, + 'isAsciiCapable': 16843753, + 'autoMirrored': 16843754, + 'supportsSwitchingToNextInputMethod': 16843755, + 'requireDeviceUnlock': 16843756, + 'apduServiceBanner': 16843757, + 'accessibilityLiveRegion': 16843758, + 'windowTranslucentStatus': 16843759, + 'windowTranslucentNavigation': 16843760, + 'advancedPrintOptionsActivity': 16843761, + 'banner': 16843762, + 'windowSwipeToDismiss': 16843763, + 'isGame': 16843764, + 'allowEmbedded': 16843765, + 'setupActivity': 16843766, + 'fastScrollStyle': 16843767, + 'windowContentTransitions': 16843768, + 'windowContentTransitionManager': 16843769, + 'translationZ': 16843770, + 'tintMode': 16843771, + 'controlX1': 16843772, + 'controlY1': 16843773, + 'controlX2': 16843774, + 'controlY2': 16843775, + 'transitionName': 16843776, + 'transitionGroup': 16843777, + 'viewportWidth': 16843778, + 'viewportHeight': 16843779, + 'fillColor': 16843780, + 'pathData': 16843781, + 'strokeColor': 16843782, + 'strokeWidth': 16843783, + 'trimPathStart': 16843784, + 'trimPathEnd': 16843785, + 'trimPathOffset': 16843786, + 'strokeLineCap': 16843787, + 'strokeLineJoin': 16843788, + 'strokeMiterLimit': 16843789, + 'colorControlNormal': 16843817, + 'colorControlActivated': 16843818, + 'colorButtonNormal': 16843819, + 'colorControlHighlight': 16843820, + 'persistableMode': 16843821, + 'titleTextAppearance': 16843822, + 'subtitleTextAppearance': 16843823, + 'slideEdge': 16843824, + 'actionBarTheme': 16843825, + 'textAppearanceListItemSecondary': 16843826, + 'colorPrimary': 16843827, + 'colorPrimaryDark': 16843828, + 'colorAccent': 16843829, + 'nestedScrollingEnabled': 16843830, + 'windowEnterTransition': 16843831, + 'windowExitTransition': 16843832, + 'windowSharedElementEnterTransition': 16843833, + 'windowSharedElementExitTransition': 16843834, + 'windowAllowReturnTransitionOverlap': 16843835, + 'windowAllowEnterTransitionOverlap': 16843836, + 'sessionService': 16843837, + 'stackViewStyle': 16843838, + 'switchStyle': 16843839, + 'elevation': 16843840, + 'excludeId': 16843841, + 'excludeClass': 16843842, + 'hideOnContentScroll': 16843843, + 'actionOverflowMenuStyle': 16843844, + 'documentLaunchMode': 16843845, + 'maxRecents': 16843846, + 'autoRemoveFromRecents': 16843847, + 'stateListAnimator': 16843848, + 'toId': 16843849, + 'fromId': 16843850, + 'reversible': 16843851, + 'splitTrack': 16843852, + 'targetName': 16843853, + 'excludeName': 16843854, + 'matchOrder': 16843855, + 'windowDrawsSystemBarBackgrounds': 16843856, + 'statusBarColor': 16843857, + 'navigationBarColor': 16843858, + 'contentInsetStart': 16843859, + 'contentInsetEnd': 16843860, + 'contentInsetLeft': 16843861, + 'contentInsetRight': 16843862, + 'paddingMode': 16843863, + 'layout_rowWeight': 16843864, + 'layout_columnWeight': 16843865, + 'translateX': 16843866, + 'translateY': 16843867, + 'selectableItemBackgroundBorderless': 16843868, + 'elegantTextHeight': 16843869, + 'searchKeyphraseId': 16843870, + 'searchKeyphrase': 16843871, + 'searchKeyphraseSupportedLocales': 16843872, + 'windowTransitionBackgroundFadeDuration': 16843873, + 'overlapAnchor': 16843874, + 'progressTint': 16843875, + 'progressTintMode': 16843876, + 'progressBackgroundTint': 16843877, + 'progressBackgroundTintMode': 16843878, + 'secondaryProgressTint': 16843879, + 'secondaryProgressTintMode': 16843880, + 'indeterminateTint': 16843881, + 'indeterminateTintMode': 16843882, + 'backgroundTint': 16843883, + 'backgroundTintMode': 16843884, + 'foregroundTint': 16843885, + 'foregroundTintMode': 16843886, + 'buttonTint': 16843887, + 'buttonTintMode': 16843888, + 'thumbTint': 16843889, + 'thumbTintMode': 16843890, + 'fullBackupOnly': 16843891, + 'propertyXName': 16843892, + 'propertyYName': 16843893, + 'relinquishTaskIdentity': 16843894, + 'tileModeX': 16843895, + 'tileModeY': 16843896, + 'actionModeShareDrawable': 16843897, + 'actionModeFindDrawable': 16843898, + 'actionModeWebSearchDrawable': 16843899, + 'transitionVisibilityMode': 16843900, + 'minimumHorizontalAngle': 16843901, + 'minimumVerticalAngle': 16843902, + 'maximumAngle': 16843903, + 'searchViewStyle': 16843904, + 'closeIcon': 16843905, + 'goIcon': 16843906, + 'searchIcon': 16843907, + 'voiceIcon': 16843908, + 'commitIcon': 16843909, + 'suggestionRowLayout': 16843910, + 'queryBackground': 16843911, + 'submitBackground': 16843912, + 'buttonBarPositiveButtonStyle': 16843913, + 'buttonBarNeutralButtonStyle': 16843914, + 'buttonBarNegativeButtonStyle': 16843915, + 'popupElevation': 16843916, + 'actionBarPopupTheme': 16843917, + 'multiArch': 16843918, + 'touchscreenBlocksFocus': 16843919, + 'windowElevation': 16843920, + 'launchTaskBehindTargetAnimation': 16843921, + 'launchTaskBehindSourceAnimation': 16843922, + 'restrictionType': 16843923, + 'dayOfWeekBackground': 16843924, + 'dayOfWeekTextAppearance': 16843925, + 'headerMonthTextAppearance': 16843926, + 'headerDayOfMonthTextAppearance': 16843927, + 'headerYearTextAppearance': 16843928, + 'yearListItemTextAppearance': 16843929, + 'yearListSelectorColor': 16843930, + 'calendarTextColor': 16843931, + 'recognitionService': 16843932, + 'timePickerStyle': 16843933, + 'timePickerDialogTheme': 16843934, + 'headerTimeTextAppearance': 16843935, + 'headerAmPmTextAppearance': 16843936, + 'numbersTextColor': 16843937, + 'numbersBackgroundColor': 16843938, + 'numbersSelectorColor': 16843939, + 'amPmTextColor': 16843940, + 'amPmBackgroundColor': 16843941, + 'searchKeyphraseRecognitionFlags': 16843942, + 'checkMarkTint': 16843943, + 'checkMarkTintMode': 16843944, + 'popupTheme': 16843945, + 'toolbarStyle': 16843946, + 'windowClipToOutline': 16843947, + 'datePickerDialogTheme': 16843948, + 'showText': 16843949, + 'windowReturnTransition': 16843950, + 'windowReenterTransition': 16843951, + 'windowSharedElementReturnTransition': 16843952, + 'windowSharedElementReenterTransition': 16843953, + 'resumeWhilePausing': 16843954, + 'datePickerMode': 16843955, + 'timePickerMode': 16843956, + 'inset': 16843957, + 'letterSpacing': 16843958, + 'fontFeatureSettings': 16843959, + 'outlineProvider': 16843960, + 'contentAgeHint': 16843961, + 'country': 16843962, + 'windowSharedElementsUseOverlay': 16843963, + 'reparent': 16843964, + 'reparentWithOverlay': 16843965, + 'ambientShadowAlpha': 16843966, + 'spotShadowAlpha': 16843967, + 'navigationIcon': 16843968, + 'navigationContentDescription': 16843969, + 'fragmentExitTransition': 16843970, + 'fragmentEnterTransition': 16843971, + 'fragmentSharedElementEnterTransition': 16843972, + 'fragmentReturnTransition': 16843973, + 'fragmentSharedElementReturnTransition': 16843974, + 'fragmentReenterTransition': 16843975, + 'fragmentAllowEnterTransitionOverlap': 16843976, + 'fragmentAllowReturnTransitionOverlap': 16843977, + 'patternPathData': 16843978, + 'strokeAlpha': 16843979, + 'fillAlpha': 16843980, + 'windowActivityTransitions': 16843981, + 'colorEdgeEffect': 16843982 + } +} + +SYSTEM_RESOURCES = { + "attributes": { + "forward": {k: v for k, v in list(resources['attr'].items())}, + "inverse": {v: k for k, v in list(resources['attr'].items())} + }, + "styles": { + "forward": {k: v for k, v in list(resources['style'].items())}, + "inverse": {v: k for k, v in list(resources['style'].items())} + } +} diff --git a/venv/Lib/site-packages/apkutils2/cert.py b/venv/Lib/site-packages/apkutils2/cert.py new file mode 100644 index 00000000..242fca93 --- /dev/null +++ b/venv/Lib/site-packages/apkutils2/cert.py @@ -0,0 +1,38 @@ + +from OpenSSL import crypto +from OpenSSL.crypto import _lib, _ffi, X509 + + +class Certificate: + + def __init__(self, buff): + self.content = [] + self._parse(buff) + + def get(self): + return self.content + + def _parse(self, buff): + pkcs7 = crypto.load_pkcs7_data(crypto.FILETYPE_ASN1, buff) + + certs_stack = _ffi.NULL + if pkcs7.type_is_signed(): + certs_stack = pkcs7._pkcs7.d.sign.cert + elif pkcs7.type_is_signedAndEnveloped(): + certs_stack = pkcs7._pkcs7.d.signed_and_enveloped.cert + + pycerts = [] + + for i in range(_lib.sk_X509_num(certs_stack)): + tmp = _lib.X509_dup(_lib.sk_X509_value(certs_stack, i)) + pycert = X509._from_raw_x509_ptr(tmp) + pycerts.append(pycert) + + if not pycerts: + return None + + for cert in pycerts: + name = str(cert.get_subject())[19:-2].replace('/', ', ') + md5 = cert.digest('md5').decode().replace(':', '') + + self.content.append((name, md5)) diff --git a/venv/Lib/site-packages/apkutils2/dex/__init__.py b/venv/Lib/site-packages/apkutils2/dex/__init__.py new file mode 100644 index 00000000..e7522b2c --- /dev/null +++ b/venv/Lib/site-packages/apkutils2/dex/__init__.py @@ -0,0 +1,13 @@ +# Copyright 2015 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. diff --git a/venv/Lib/site-packages/apkutils2/dex/__pycache__/__init__.cpython-39.pyc b/venv/Lib/site-packages/apkutils2/dex/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..0ae180bd Binary files /dev/null and b/venv/Lib/site-packages/apkutils2/dex/__pycache__/__init__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/apkutils2/dex/__pycache__/byteio.cpython-39.pyc b/venv/Lib/site-packages/apkutils2/dex/__pycache__/byteio.cpython-39.pyc new file mode 100644 index 00000000..a44f3adb Binary files /dev/null and b/venv/Lib/site-packages/apkutils2/dex/__pycache__/byteio.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/apkutils2/dex/__pycache__/dalvik.cpython-39.pyc b/venv/Lib/site-packages/apkutils2/dex/__pycache__/dalvik.cpython-39.pyc new file mode 100644 index 00000000..c5938108 Binary files /dev/null and b/venv/Lib/site-packages/apkutils2/dex/__pycache__/dalvik.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/apkutils2/dex/__pycache__/dalvikformats.cpython-39.pyc b/venv/Lib/site-packages/apkutils2/dex/__pycache__/dalvikformats.cpython-39.pyc new file mode 100644 index 00000000..6c671fbc Binary files /dev/null and b/venv/Lib/site-packages/apkutils2/dex/__pycache__/dalvikformats.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/apkutils2/dex/__pycache__/dexparser.cpython-39.pyc b/venv/Lib/site-packages/apkutils2/dex/__pycache__/dexparser.cpython-39.pyc new file mode 100644 index 00000000..116616cf Binary files /dev/null and b/venv/Lib/site-packages/apkutils2/dex/__pycache__/dexparser.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/apkutils2/dex/__pycache__/flags.cpython-39.pyc b/venv/Lib/site-packages/apkutils2/dex/__pycache__/flags.cpython-39.pyc new file mode 100644 index 00000000..33c776d6 Binary files /dev/null and b/venv/Lib/site-packages/apkutils2/dex/__pycache__/flags.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/apkutils2/dex/__pycache__/mutf8.cpython-39.pyc b/venv/Lib/site-packages/apkutils2/dex/__pycache__/mutf8.cpython-39.pyc new file mode 100644 index 00000000..5e6ba30f Binary files /dev/null and b/venv/Lib/site-packages/apkutils2/dex/__pycache__/mutf8.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/apkutils2/dex/__pycache__/treelist.cpython-39.pyc b/venv/Lib/site-packages/apkutils2/dex/__pycache__/treelist.cpython-39.pyc new file mode 100644 index 00000000..d245cb34 Binary files /dev/null and b/venv/Lib/site-packages/apkutils2/dex/__pycache__/treelist.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/apkutils2/dex/__pycache__/util.cpython-39.pyc b/venv/Lib/site-packages/apkutils2/dex/__pycache__/util.cpython-39.pyc new file mode 100644 index 00000000..a0dd231a Binary files /dev/null and b/venv/Lib/site-packages/apkutils2/dex/__pycache__/util.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/apkutils2/dex/byteio.py b/venv/Lib/site-packages/apkutils2/dex/byteio.py new file mode 100644 index 00000000..fdc1eb52 --- /dev/null +++ b/venv/Lib/site-packages/apkutils2/dex/byteio.py @@ -0,0 +1,113 @@ +# Copyright 2015 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import struct + +from apkutils2.dex.util import signExtend + + +class Reader: + + def __init__(self, data, pos=0): + self.data = data + self.pos = pos + + def read(self, size): + if not 0 <= size <= len(self.data) - self.pos: + raise IndexError + result = self.data[self.pos: self.pos + size] + self.pos += size + return result + + def _unpack(self, fmt): + fmt = struct.Struct(fmt) + return fmt.unpack_from(self.read(fmt.size))[0] + + def u8(self): + ''' + 1bytes, FF + ''' + return self.read(1)[0] + + def u16(self): + ''' + 2bytes FF FF + ''' + return self._unpack('> 7: + result ^= (self.data[self.pos] & 0x7f) << size + size += 7 + self.pos += 1 + result ^= (self.data[self.pos] & 0x7f) << size + size += 7 + self.pos += 1 + + if signed: + result = signExtend(result, size) + return result + + def uleb128(self): + return self._leb128() + + def sleb128(self): + return self._leb128(signed=True) + + # Maintain strings in binary encoding instead of attempting to decode them + # since the output will be using the same encoding anyway + def readCStr(self): + oldpos, self.pos = self.pos, self.data.find(b'\0', self.pos) + return self.data[oldpos:self.pos] + + +class Writer: + + def __init__(self): + self.buf = bytearray() + + def write(self, s): + self.buf += s + + def _pack(self, fmt, arg): + return self.write(struct.pack(fmt, arg)) + + def u8(self, x): + return self.write(bytes([x])) + + def u16(self, x): + return self._pack('>H', x) + + def u32(self, x): + return self._pack('>I', x) + + def u64(self, x): + return self._pack('>Q', x) + + def toBytes(self): + return bytes(self.buf) diff --git a/venv/Lib/site-packages/apkutils2/dex/dalvik.py b/venv/Lib/site-packages/apkutils2/dex/dalvik.py new file mode 100644 index 00000000..5b55f85a --- /dev/null +++ b/venv/Lib/site-packages/apkutils2/dex/dalvik.py @@ -0,0 +1,223 @@ +# Copyright 2015 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from . import dalvikformats, util + + +class DalvikInstruction: + def __init__(self, type_, pos, newpos, opcode, args): + self.type = type_ + self.pos = pos + self.pos2 = newpos + self.opcode = opcode + self.args = args + + self.implicit_casts = None + self.prev_result = None # for move-result/exception + self.fillarrdata = None + self.switchdata = None + + +_it = iter(range(999)) +Nop = next(_it) +Move = next(_it) +MoveWide = next(_it) +MoveResult = next(_it) +Return = next(_it) +Const32 = next(_it) +Const64 = next(_it) +ConstString = next(_it) +ConstClass = next(_it) +MonitorEnter = next(_it) +MonitorExit = next(_it) +CheckCast = next(_it) +InstanceOf = next(_it) +ArrayLen = next(_it) +NewInstance = next(_it) +NewArray = next(_it) +FilledNewArray = next(_it) +FillArrayData = next(_it) +Throw = next(_it) +Goto = next(_it) +Switch = next(_it) +Cmp = next(_it) +If = next(_it) +IfZ = next(_it) + +ArrayGet = next(_it) +ArrayPut = next(_it) +InstanceGet = next(_it) +InstancePut = next(_it) +StaticGet = next(_it) +StaticPut = next(_it) + +# Invoke = next(_it) +InvokeVirtual = next(_it) +InvokeSuper = next(_it) +InvokeDirect = next(_it) +InvokeStatic = next(_it) +InvokeInterface = next(_it) + +# actual ops for these are defined in jvm/mathops.py +UnaryOp = next(_it) +BinaryOp = next(_it) +BinaryOpConst = next(_it) + +INVOKE_TYPES = InvokeVirtual, InvokeSuper, InvokeDirect, InvokeStatic, InvokeInterface + +# instructions which Dalvik considers to throw +THROW_TYPES = INVOKE_TYPES + (ConstString, ConstClass, MonitorEnter, MonitorExit, CheckCast, InstanceOf, ArrayLen, NewArray, NewInstance, + FilledNewArray, FillArrayData, Throw, ArrayGet, ArrayPut, InstanceGet, InstancePut, StaticGet, StaticPut, BinaryOp, BinaryOpConst) +# last two only if it is int/long div or rem + +# ignore the possiblity of linkage errors (i.e. constants and instanceof can't throw) +# in theory MonitorExit can't throw either due to the structured locking checks, but these are broken and work inconsistently +PRUNED_THROW_TYPES = INVOKE_TYPES + (MonitorEnter, MonitorExit, CheckCast, ArrayLen, NewArray, NewInstance, FilledNewArray, + FillArrayData, Throw, ArrayGet, ArrayPut, InstanceGet, InstancePut, StaticGet, StaticPut, BinaryOp, BinaryOpConst) + +OPCODES = util.keysToRanges({ + 0x00: Nop, + 0x01: Move, + 0x04: MoveWide, + 0x07: Move, + 0x0a: MoveResult, + 0x0e: Return, + 0x12: Const32, + 0x16: Const64, + 0x1a: ConstString, + 0x1c: ConstClass, + 0x1d: MonitorEnter, + 0x1e: MonitorExit, + 0x1f: CheckCast, + 0x20: InstanceOf, + 0x21: ArrayLen, + 0x22: NewInstance, + 0x23: NewArray, + 0x24: FilledNewArray, + 0x26: FillArrayData, + 0x27: Throw, + 0x28: Goto, + 0x2b: Switch, + 0x2d: Cmp, + 0x32: If, + 0x38: IfZ, + 0x3e: Nop, # unused + 0x44: ArrayGet, + 0x4b: ArrayPut, + 0x52: InstanceGet, + 0x59: InstancePut, + 0x60: StaticGet, + 0x67: StaticPut, + 0x6e: InvokeVirtual, + 0x6f: InvokeSuper, + 0x70: InvokeDirect, + 0x71: InvokeStatic, + 0x72: InvokeInterface, + 0x73: Nop, # unused + 0x74: InvokeVirtual, + 0x75: InvokeSuper, + 0x76: InvokeDirect, + 0x77: InvokeStatic, + 0x78: InvokeInterface, + 0x79: Nop, # unused + 0x7b: UnaryOp, + 0x90: BinaryOp, + 0xd0: BinaryOpConst, + 0xe3: Nop, # unused +}, 256) + + +def parseInstruction(dex, insns_start_pos, shorts, pos): + word = shorts[pos] + opcode = word & 0xFF + newpos, args = dalvikformats.decode(shorts, pos, opcode) + + # parse special data instructions + switchdata = None + fillarrdata = None + if word == 0x100 or word == 0x200: # switch + size = shorts[pos + 1] + st = dex.stream(insns_start_pos + pos * 2 + 4) + + if word == 0x100: # packed + first_key = st.u32() + targets = [st.u32() for _ in range(size)] + newpos = pos + 2 + (1 + size) * 2 + switchdata = {(i + first_key): x for i, x in enumerate(targets)} + else: # sparse + keys = [st.u32() for _ in range(size)] + targets = [st.u32() for _ in range(size)] + newpos = pos + 2 + (size + size) * 2 + switchdata = dict(zip(keys, targets)) + + if word == 0x300: + width = shorts[pos + 1] % 16 + size = shorts[pos + 2] ^ (shorts[pos + 3] << 16) + newpos = pos + ((size * width + 1) // 2 + 4) + # get array data + stream = dex.stream(insns_start_pos + pos * 2 + 8) + func = { + 1: stream.u8, + 2: stream.u16, + 4: stream.u32, + 8: stream.u64 + }[width] + fillarrdata = width, [func() for _ in range(size)] + + # warning, this must go below the special data handling that calculates newpos + instruction = DalvikInstruction(OPCODES[opcode], pos, newpos, opcode, args) + instruction.fillarrdata = fillarrdata + instruction.switchdata = switchdata + + return newpos, instruction + + +def parseBytecode(dex, insns_start_pos, shorts, catch_addrs): + ops = [] + pos = 0 + while pos < len(shorts): + pos, op = parseInstruction(dex, insns_start_pos, shorts, pos) + ops.append(op) + + # Fill in data for move-result + for instr, instr2 in zip(ops, ops[1:]): + if not instr2.type == MoveResult: + continue + if instr.type in INVOKE_TYPES: + called_id = dex.method_id(instr.args[0]) + if called_id.return_type != b'V': + instr2.prev_result = called_id.return_type + elif instr.type == FilledNewArray: + instr2.prev_result = dex.type(instr.args[0]) + elif instr2.pos in catch_addrs: + instr2.prev_result = b'Ljava/lang/Throwable;' + # assert 0 not in catch_addrs + + # Fill in implicit cast data + for i, instr in enumerate(ops): + if instr.opcode in (0x38, 0x39): # if-eqz, if-nez + if i > 0 and ops[i - 1].type == InstanceOf: + prev = ops[i - 1] + desc_ind = prev.args[2] + regs = {prev.args[1]} + + if i > 1 and ops[i - 2].type == Move: + prev2 = ops[i - 2] + if prev2.args[0] == prev.args[1]: + regs.add(prev2.args[1]) + # Don't cast result of instanceof if it overwrites the input + regs.discard(prev.args[0]) + if regs: + instr.implicit_casts = desc_ind, sorted(regs) + return ops diff --git a/venv/Lib/site-packages/apkutils2/dex/dalvikformats.py b/venv/Lib/site-packages/apkutils2/dex/dalvikformats.py new file mode 100644 index 00000000..00e2fe9c --- /dev/null +++ b/venv/Lib/site-packages/apkutils2/dex/dalvikformats.py @@ -0,0 +1,163 @@ +# Copyright 2015 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from apkutils2.dex import util + +# Code for parsing the various Dalvik opcode formats +INSTRUCTION_FORMAT = util.keysToRanges({ + 0x00: '10x', + 0x01: '12x', + 0x02: '22x', + 0x03: '32x', + 0x04: '12x', + 0x05: '22x', + 0x06: '32x', + 0x07: '12x', + 0x08: '22x', + 0x09: '32x', + 0x0a: '11x', + 0x0b: '11x', + 0x0c: '11x', + 0x0d: '11x', + 0x0e: '10x', + 0x0f: '11x', + 0x10: '11x', + 0x11: '11x', + 0x12: '11n', + 0x13: '21s', + 0x14: '31i', + 0x15: '21h', + 0x16: '21s', + 0x17: '31i', + 0x18: '51l', + 0x19: '21h', + 0x1a: '21c', + 0x1b: '31c', + 0x1c: '21c', + 0x1d: '11x', + 0x1e: '11x', + 0x1f: '21c', + 0x20: '22c', + 0x21: '12x', + 0x22: '21c', + 0x23: '22c', + 0x24: '35c', + 0x25: '3rc', + 0x26: '31t', + 0x27: '11x', + 0x28: '10t', + 0x29: '20t', + 0x2a: '30t', + 0x2b: '31t', + 0x2c: '31t', + 0x2d: '23x', + 0x32: '22t', + 0x38: '21t', + 0x3e: '10x', + 0x44: '23x', + 0x52: '22c', + 0x60: '21c', + 0x6e: '35c', + 0x73: '10x', + 0x74: '3rc', + 0x79: '10x', + 0x7b: '12x', + 0x90: '23x', + 0xb0: '12x', + 0xd0: '22s', + 0xd8: '22b', + 0xe3: '10x', +}, 256) + +# parsing funcs +def p00op(w): return [] +def pBAop(w): return [(w >> 8) & 0xF, w >> 12] +def pAAop(w): return [w >> 8] +def p00opAAAA(w, w2): return [w2] +def pAAopBBBB(w, w2): return [w >> 8, w2] +def pAAopCCBB(w, w2): return [w >> 8, w2 & 0xFF, w2 >> 8] +def pBAopCCCC(w, w2): return [(w >> 8) & 0xF, w >> 12, w2] +def p00opAAAAAAAA(w, w2, w3): return [w2 ^ (w3 << 16)] +def p00opAAAABBBB(w, w2, w3): return [w2, w3] +def pAAopBBBBBBBB(w, w2, w3): return [w >> 8, w2 ^ (w3 << 16)] + +def pAGopBBBBFEDC(w, w2, w3): + a = w >> 12 + c, d, e, f = (w3) & 0xF, (w3 >> 4) & 0xF, (w3 >> 8) & 0xF, (w3 >> 12) & 0xF + g = (w >> 8) & 0xF + return [w2, [c, d, e, f, g][:a]] + +def pAAopBBBBCCCC(w, w2, w3): + a = w >> 8 + return [w2, range(w3, w3+a)] + +def pAAopBBBBBBBBBBBBBBBB(w, w2, w3, w4, w5): + b = w2 ^ (w3 << 16) ^ (w4 << 32) ^ (w5 << 48) + return [w >> 8, b] + +_FUNC = { + '10x': p00op, + '12x': pBAop, + '11n': pBAop, + '11x': pAAop, + '10t': pAAop, + '20t': p00opAAAA, + '22x': pAAopBBBB, + '21t': pAAopBBBB, + '21s': pAAopBBBB, + '21h': pAAopBBBB, + '21c': pAAopBBBB, + '23x': pAAopCCBB, + '22b': pAAopCCBB, + '22t': pBAopCCCC, + '22s': pBAopCCCC, + '22c': pBAopCCCC, + '30t': p00opAAAAAAAA, + '32x': p00opAAAABBBB, + '31i': pAAopBBBBBBBB, + '31t': pAAopBBBBBBBB, + '31c': pAAopBBBBBBBB, + '35c': pAGopBBBBFEDC, + '3rc': pAAopBBBBCCCC, + '51l': pAAopBBBBBBBBBBBBBBBB, +} + +def sign(x, bits): + if x >= (1 << (bits-1)): + x -= 1 << bits + return x + +def decode(shorts, pos, opcode): + fmt = INSTRUCTION_FORMAT[opcode] + size = int(fmt[0]) + results = _FUNC[fmt](*shorts[pos:pos+size]) + # Check if we need to sign extend + if fmt[2] == 'n': + results[-1] = sign(results[-1], 4) + elif fmt[2] == 'b' or (fmt[2] == 't' and size == 1): + results[-1] = sign(results[-1], 8) + elif fmt[2] == 's' or (fmt[2] == 't' and size == 2): + results[-1] = sign(results[-1], 16) + elif fmt[2] == 't' and size == 3: + results[-1] = sign(results[-1], 32) + + # Hats depend on actual size expected, so we rely on opcode as a hack + if fmt[2] == 'h': + assert(opcode == 0x15 or opcode == 0x19) + results[-1] = results[-1] << (16 if opcode == 0x15 else 48) + + # Convert code offsets to actual code position + if fmt[2] == 't': + results[-1] += pos + return pos + size, results diff --git a/venv/Lib/site-packages/apkutils2/dex/dexparser.py b/venv/Lib/site-packages/apkutils2/dex/dexparser.py new file mode 100644 index 00000000..362462a3 --- /dev/null +++ b/venv/Lib/site-packages/apkutils2/dex/dexparser.py @@ -0,0 +1,360 @@ +# Copyright 2015 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import array + +from apkutils2.dex.byteio import Reader +from apkutils2.dex.dalvik import parseBytecode +from apkutils2.dex.util import signExtend + +NO_INDEX = 0xFFFFFFFF + + +def typeList(dex, off, parseClsDesc=False): + if off == 0: + return [] + # size = dex.u32s[off // 4] + # u16_off = (off // 4 + 1) * 2 + # idxs = dex.u16s[u16_off:u16_off + size] + + st = dex.stream(off) + size = st.u32() + idxs = [st.u16() for _ in range(size)] + + func = dex.clsType if parseClsDesc else dex.type + return list(map(func, idxs)) + + +def encodedValue(dex, stream): + tag = stream.u8() + vtype, varg = tag & 31, tag >> 5 + + if vtype == 0x1c: # ARRAY + size = stream.uleb128() + return [encodedValue(dex, stream) for _ in range(size)] + if vtype == 0x1d: # ANNOTATION + # We don't actually care about annotations but still need to read it to + # find out how much data is taken up + stream.uleb128() + for _ in range(stream.uleb128()): + stream.uleb128() + encodedValue(dex, stream) + return None + if vtype == 0x1e: # NULL + return None + + # For the rest, we just return it as unsigned integers without recording type + # extended to either u32 or u64 depending on int/float or long/double + if vtype == 0x1f: # BOOLEAN + return b'I', varg + # the rest are an int encoded into varg + 1 bytes in some way + size = varg + 1 + val = sum(stream.u8() << (i * 8) for i in range(size)) + + if vtype == 0x00: # BYTE + return b'I', signExtend(val, 8) % (1 << 32) + if vtype == 0x02: # SHORT + return b'I', signExtend(val, 16) % (1 << 32) + if vtype == 0x03: # CHAR + return b'I', val + if vtype == 0x04: # INT + return b'I', val + + if vtype == 0x06: # LONG + return b'J', val + + # floats are 0 extended to the right + if vtype == 0x10: # FLOAT + return b'F', val << (32 - size * 8) + if vtype == 0x11: # DOUBLE + return b'D', val << (64 - size * 8) + + if vtype == 0x17: # STRING + return b'Ljava/lang/String;', dex.string(val) + if vtype == 0x18: # TYPE + return b'Ljava/lang/Class;', dex.clsType(val) + + +class MFIdMixin: + + def triple(self): + return self.cname, self.name, self.desc + + +class FieldId(MFIdMixin): + + def __init__(self, dex, field_idx): + stream = dex.stream(dex.field_ids.off + field_idx * 8) + self.cname = dex.clsType(stream.u16()) + self.desc = dex.type(stream.u16()) + self.name = dex.string(stream.u32()) + + +class Field: + + def __init__(self, dex, field_idx, access): + self.dex = dex + self.id = FieldId(dex, field_idx) + self.access = access + self.constant_value = None # will be set later + + +class MethodId(MFIdMixin): + + def __init__(self, dex, method_idx): + stream = dex.stream(dex.method_ids.off + method_idx * 8) + self.cname = dex.clsType(stream.u16()) + proto_idx = stream.u16() + self.name = dex.string(stream.u32()) + + # off = (dex.proto_ids.off + proto_idx * 12) // 4 + # shorty_idx, return_idx, parameters_off = dex.u32s[off:off + 3] + stream2 = dex.stream(dex.proto_ids.off + proto_idx * 12) + shorty_idx, return_idx, parameters_off = stream2.u32(), stream2.u32(), stream2.u32() + self.return_type = dex.type(return_idx) + self.param_types = typeList(dex, parameters_off) + + # rearrange things to Java format + parts = [b'('] + self.param_types + [b')', self.return_type] + self.desc = b''.join(parts) + + def getSpacedParamTypes(self, isstatic): + results = [] + if not isstatic: + if self.cname.startswith(b'['): + results.append(self.cname) + else: + results.append(b'L' + self.cname + b';') + + for ptype in self.param_types: + results.append(ptype) + if ptype == b'J' or ptype == b'D': + results.append(None) + return results + + +class TryItem: + + def __init__(self, stream): + self.start, self.count, self.handler_off = stream.u32(), stream.u16(), stream.u16() + self.end = self.start + self.count + self.catches = None # to be filled in later + + def finish(self, dex, list_off): + stream = dex.stream(list_off + self.handler_off) + size = stream.sleb128() + self.catches = results = [] + for _ in range(abs(size)): + results.append((dex.clsType(stream.uleb128()), stream.uleb128())) + if size <= 0: + results.append((b'java/lang/Throwable', stream.uleb128())) + + +class CodeItem: + + def __init__(self, dex, offset): + stream = dex.stream(offset) + self.nregs = registers_size = stream.u16() + ins_size = stream.u16() + outs_size = stream.u16() + tries_size = stream.u16() + debug_off = stream.u32() + self.insns_size = stream.u32() + insns_start_pos = stream.pos + insns = [stream.u16() for _ in range(self.insns_size)] + if tries_size and self.insns_size & 1: + stream.u16() # padding + self.tries = [TryItem(stream) for _ in range(tries_size)] + self.list_off = stream.pos + for item in self.tries: + item.finish(dex, self.list_off) + + catch_addrs = set() + for tryi in self.tries: + catch_addrs.update(t[1] for t in tryi.catches) + + self.bytecode = parseBytecode(dex, insns_start_pos, insns, catch_addrs) + + +class Method: + + def __init__(self, dex, method_idx, access, code_off): + self.dex = dex + self.id = MethodId(dex, method_idx) + self.access = access + self.code_off = code_off + self.code = CodeItem(dex, code_off) if code_off else None + + +class ClassData: + + def __init__(self, dex, offset): + self.fields = [] + self.methods = [] + # for offset 0, leave dummy data with no fields or methods + if offset != 0: + self._parse(dex, dex.stream(offset)) + + def _parse(self, dex, stream): + numstatic = stream.uleb128() + numinstance = stream.uleb128() + numdirect = stream.uleb128() + numvirtual = stream.uleb128() + + fields = self.fields + for num in (numstatic, numinstance): + field_idx = 0 + for i in range(num): + field_idx += stream.uleb128() + fields.append(Field(dex, field_idx, stream.uleb128())) + + methods = self.methods + for num in (numdirect, numvirtual): + method_idx = 0 + for i in range(num): + method_idx += stream.uleb128() + methods.append( + Method(dex, method_idx, stream.uleb128(), stream.uleb128())) + # try: + # methods.append( + # Method(dex, method_idx, stream.uleb128(), stream.uleb128())) + # except TypeError as e: + # continue + + +class DexClass: + + def __init__(self, dex, base_off, i): + self.dex = dex + st = dex.stream(base_off + i * 32) + + self.name = dex.clsType(st.u32()) + self.access = st.u32() + super_ = st.u32() + self.super = dex.clsType(super_) if super_ != NO_INDEX else None + self.interfaces = typeList(dex, st.u32(), parseClsDesc=True) + _ = st.u32() + _ = st.u32() + self.data_off = st.u32() + self.data = None # parse data lazily in parseData() + self.constant_values_off = st.u32() + + # offset = base_off // 4 + i * 8 + # words = dex.u32s[offset:offset + 8] + # self.name = dex.clsType(words[0]) + # self.access = words[1] + # self.super = dex.clsType(words[2]) if words[2] != NO_INDEX else None + # self.interfaces = typeList(dex, words[3], parseClsDesc=True) + # # ignore sourcefile for now + # # ignore annotations for now + # self.data_off = words[6] + # self.data = None # parse data lazily in parseData() + # self.constant_values_off = words[7] + + def parseData(self): + if self.data is None: + self.data = ClassData(self.dex, self.data_off) + if self.constant_values_off: + stream = self.dex.stream(self.constant_values_off) + for field in self.data.fields[:stream.uleb128()]: + field.constant_value = encodedValue(self.dex, stream) + # if self.constant_values_off: + # stream = self.dex.stream(self.constant_values_off) + # size = stream.uleb128() + # constant_vals = [encodedValue(self.dex, stream) + # for _ in range(size)] + # for field, val in zip(self.data.fields, constant_vals): + # field.constant_value = val + + +class SizeOff: + + def __init__(self, stream): + self.size = stream.u32() + self.off = stream.u32() + + +class DexFile: + + def __init__(self, data, flag=True): + self.raw = data + self.u16s = array.array('H', data[:len(data) & ~1]) + assert(self.u16s.itemsize == 2) + self.u32s = array.array('I', data[:len(data) & ~3]) + assert(self.u32s.itemsize == 4) + + stream = Reader(data) + + # parse header + # magic = stream.read(4) # magic + # magic_vers = stream.read(4) # magic_vers + # checksum = stream.u32() # adler32 checksum + # import binascii + # sha1 = binascii.b2a_hex(stream.read(20)).decode('utf-8') + stream.read(32) # skip 32(magic, magic_vers, checksum, sha1) + + if stream.u32() != len(self.raw): + print('Warning, unexpected file size!') + + if stream.u32() != 0x70: + print('Warning, unexpected header size!') + + if stream.u32() != 0x12345678: + print('Warning, unexpected endianess tag!') + + self.link = SizeOff(stream) + self.map_off = stream.u32() + self.string_ids = SizeOff(stream) + self.type_ids = SizeOff(stream) + self.proto_ids = SizeOff(stream) + self.field_ids = SizeOff(stream) + self.method_ids = SizeOff(stream) + self.class_defs = SizeOff(stream) + self.data = SizeOff(stream) + + if flag: # parse dex class + defs = self.class_defs + self.classes = [] + for i in range(defs.size): + self.classes.append(DexClass(self, defs.off, i)) + + def stream(self, offset): + return Reader(self.raw, offset) + + def string(self, i): + # data_off = self.u32s[self.string_ids.off // 4 + i] + data_off = self.stream(self.string_ids.off + i * 4).u32() + stream = self.stream(data_off) + stream.uleb128() # ignore decoded length + return stream.readCStr() + + def type(self, i): + if 0 <= i < NO_INDEX: + # return self.string(self.u32s[self.type_ids.off // 4 + i]) + str_idx = self.stream(self.type_ids.off + i * 4).u32() + return self.string(str_idx) + + def clsType(self, i): + # Can be either class _name_ or array _descriptor_ + desc = self.type(i) + if desc.startswith(b'['): + return desc + elif desc.startswith(b'L'): + return desc[1:-1] + + def field_id(self, i): + return FieldId(self, i) + + def method_id(self, i): + return MethodId(self, i) diff --git a/venv/Lib/site-packages/apkutils2/dex/flags.py b/venv/Lib/site-packages/apkutils2/dex/flags.py new file mode 100644 index 00000000..6785e2e0 --- /dev/null +++ b/venv/Lib/site-packages/apkutils2/dex/flags.py @@ -0,0 +1,40 @@ +# Copyright 2015 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +ACC_PUBLIC = 0x1 +ACC_PRIVATE = 0x2 +ACC_PROTECTED = 0x4 +ACC_STATIC = 0x8 +ACC_FINAL = 0x10 +ACC_SYNCHRONIZED = 0x20 +ACC_VOLATILE = 0x40 +ACC_BRIDGE = 0x40 +ACC_TRANSIENT = 0x80 +ACC_VARARGS = 0x80 +ACC_NATIVE = 0x100 +ACC_INTERFACE = 0x200 +ACC_ABSTRACT = 0x400 +ACC_STRICT = 0x800 +ACC_SYNTHETIC = 0x1000 +ACC_ANNOTATION = 0x2000 +ACC_ENUM = 0x4000 +ACC_CONSTRUCTOR = 0x10000 +ACC_DECLARED_SYNCHRONIZED = 0x20000 + +# Might as well include this for completeness even though modern JVMs ignore it +ACC_SUPER = 0x20 + +CLASS_FLAGS = ACC_PUBLIC | ACC_FINAL | ACC_SUPER | ACC_INTERFACE | ACC_ABSTRACT | ACC_SYNTHETIC | ACC_ANNOTATION | ACC_ENUM +FIELD_FLAGS = ACC_PUBLIC | ACC_PRIVATE | ACC_PROTECTED | ACC_STATIC | ACC_FINAL | ACC_VOLATILE | ACC_TRANSIENT | ACC_SYNTHETIC | ACC_ENUM +METHOD_FLAGS = ACC_PUBLIC | ACC_PRIVATE | ACC_PROTECTED | ACC_STATIC | ACC_FINAL | ACC_SYNCHRONIZED | ACC_BRIDGE | ACC_VARARGS | ACC_NATIVE | ACC_ABSTRACT | ACC_STRICT | ACC_SYNTHETIC diff --git a/venv/Lib/site-packages/apkutils2/dex/mutf8.py b/venv/Lib/site-packages/apkutils2/dex/mutf8.py new file mode 100644 index 00000000..cf555496 --- /dev/null +++ b/venv/Lib/site-packages/apkutils2/dex/mutf8.py @@ -0,0 +1,52 @@ +# Copyright 2015 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Unfortunately, there's no easy way to decode Modified UTF8 in Python, so we +# have to write a custom decoder. This one is error tolerant and will decode +# anything resembling mutf8. + +def _decode(b): + # decode arbitrary utf8 codepoints, tolerating surrogate pairs, nonstandard encodings, etc. + for x in b: + if x < 128: + yield x + else: + # figure out how many bytes + extra = 0 + for i in range(6, 0, -1): + if x & (1<= 0) + if i < SIZE: + return self.direct[i] + + i -= SIZE + i, ci = divmod(i, SPLIT) + child = self.children[ci] + + if child is None: + return self.default + return child[i] + + def set(self, i, val): + assert(i >= 0) + if i < SIZE: + if self.direct[i] == val: + return self + + temp = self.direct[:] + temp[i] = val + return _TreeListSub(self.default, temp, self.children) + + i -= SIZE + i, ci = divmod(i, SPLIT) + child = self.children[ci] + + if child is None: + if val == self.default: + return self + child = _TreeListSub(self.default).set(i, val) + else: + if val == child[i]: + return self + child = child.set(i, val) + + temp = self.children[:] + temp[ci] = child + return _TreeListSub(self.default, self.direct, temp) + + @staticmethod + def merge(left, right, func): + # Effectively computes [func(x, y) for x, y in zip(left, right)] + # Assume func(x, x) == x + if left is right: + return left + + if left is None: + left, right = right, left + + default = left.default + merge = _TreeListSub.merge + if right is None: + direct = [func(x, default) for x in left.direct] + children = [merge(child, None, func) for child in left.children] + if direct == left.direct and children == left.children: + return left + return _TreeListSub(default, direct, children) + + direct = [func(x, y) for x, y in zip(left.direct, right.direct)] + children = [merge(c1, c2, func) for c1, c2 in zip(left.children, right.children)] + if direct == left.direct and children == left.children: + return left + if direct == right.direct and children == right.children: + return right + return _TreeListSub(default, direct, children) diff --git a/venv/Lib/site-packages/apkutils2/dex/util.py b/venv/Lib/site-packages/apkutils2/dex/util.py new file mode 100644 index 00000000..9b7cce87 --- /dev/null +++ b/venv/Lib/site-packages/apkutils2/dex/util.py @@ -0,0 +1,43 @@ +# Copyright 2015 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +def keysToRanges(d, limit): + starts = sorted(d) + for s, e in zip(starts, starts[1:] + [limit]): + for k in range(s, e): + d[k] = d[s] + return d + +def signExtend(val, size): + if val & (1 << (size-1)): + val -= (1 << size) + return val + +def s16(val): + val %= 1 << 16 + if val >= 1 << 15: + val -= 1 << 16 + return val + +def s32(val): + val %= 1 << 32 + if val >= 1 << 31: + val -= 1 << 32 + return val + +def s64(val): + val %= 1 << 64 + if val >= 1 << 63: + val -= 1 << 64 + return val diff --git a/venv/Lib/site-packages/apkutils2/elf/__init__.py b/venv/Lib/site-packages/apkutils2/elf/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/venv/Lib/site-packages/apkutils2/elf/__pycache__/__init__.cpython-39.pyc b/venv/Lib/site-packages/apkutils2/elf/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..7c59bb38 Binary files /dev/null and b/venv/Lib/site-packages/apkutils2/elf/__pycache__/__init__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/apkutils2/elf/__pycache__/elfparser.cpython-39.pyc b/venv/Lib/site-packages/apkutils2/elf/__pycache__/elfparser.cpython-39.pyc new file mode 100644 index 00000000..a3c6400a Binary files /dev/null and b/venv/Lib/site-packages/apkutils2/elf/__pycache__/elfparser.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/apkutils2/elf/elfparser.py b/venv/Lib/site-packages/apkutils2/elf/elfparser.py new file mode 100644 index 00000000..f429530a --- /dev/null +++ b/venv/Lib/site-packages/apkutils2/elf/elfparser.py @@ -0,0 +1,218 @@ +import zipfile +import io +import binascii +from elftools.elf.elffile import ELFFile +from elftools.common.exceptions import ELFError +from elftools.common.py3compat import byte2int + +from cigam import Magic + + +class ELF(): + + def __init__(self, file_path): + if Magic(file_path).get_type() != 'elf': + return + + self.elf_data = open(file_path, 'rb') + self.elf_file = ELFFile(self.elf_data) + + def close(self): + self.elf_data.close() + + def get_dynsym_datas(self, skip_import=True): + dynsym_datas = [] + + symbol_table = self.elf_file.get_section_by_name('.dynsym') + for symbol in symbol_table.iter_symbols(): + if skip_import and symbol.entry.st_size == 0 or symbol.entry.st_info.type != 'STT_FUNC': + continue + + self.elf_data.seek(0) + symbol_addr = symbol.entry.st_value & 0xFFFE + self.elf_data.seek(symbol_addr) + symbol_hexs = '' + + size = symbol.entry.st_size + if symbol.entry.st_size > 80: + size = 80 + + for x in self.elf_data.read(size): + op = str(hex(x)).upper()[2:] + if len(op) == 1: + op = '0' + op + symbol_hexs = symbol_hexs + op + + dynsym_datas.append( + (symbol.name, hex(symbol_addr), symbol_hexs)) + + return dynsym_datas + + def get_rodata_strings(self): + try: + return display_string_dump(self.elf_file, '.rodata') + except ELFError as ex: + print('ELF error: %s\n' % ex) + + def display_string_dump(self, section_spec): + """ Display a strings dump of a section. section_spec is either a + section number or a name. + """ + section = _section_from_spec(self.elf_file, section_spec) + if section is None: + print("Section '%s' does not exist in the file!" % section_spec) + return None + + data = section.data() + dataptr = 0 + + strs = [] + while dataptr < len(data): + while dataptr < len(data) and not 32 <= byte2int(data[dataptr]) <= 127: + dataptr += 1 + + if dataptr >= len(data): + break + + endptr = dataptr + while endptr < len(data) and byte2int(data[endptr]) != 0: + endptr += 1 + + strs.append(binascii.b2a_hex( + data[dataptr:endptr]).decode().upper()) + dataptr = endptr + + return strs + + def _section_from_spec(self, spec): + ''' + Retrieve a section given a "spec" (either number or name). + Return None if no such section exists in the file. + ''' + try: + num = int(spec) + if num < self.elf_file.num_sections(): + return self.elf_file.get_section(num) + else: + return None + except ValueError: + # Not a number. Must be a name then + return self.elf_file.get_section_by_name(spec) + + +def get_elf_files(apk_path): + files = list() + if zipfile.is_zipfile(apk_path): + try: + with zipfile.ZipFile(apk_path, mode="r") as zf: + for name in zf.namelist(): + try: + data = zf.read(name) + + mime = Magic(data).get_type() + if mime == 'elf': + elf_data = io.BytesIO(data) + elf_file = ELFFile(elf_data) + files.append((name, elf_data, elf_file)) + except Exception as ex: + continue + + except Exception as ex: + raise ex + + return files + + +def get_dynsym_datas(elf_data, elf_file, skip_import=True): + """ + 获å–符å·/方法的相关信æ¯ï¼ˆç¬¦å·åã€ç¬¦å·æ•°æ®ï¼‰ã€‚ + """ + f = elf_data + dynsym_datas = [] + + symbol_table = elf_file.get_section_by_name('.dynsym') + if symbol_table: + for symbol in symbol_table.iter_symbols(): + if skip_import and symbol.entry.st_size == 0 or symbol.entry.st_info.type != 'STT_FUNC': + continue + + f.seek(0) + symbol_addr = symbol.entry.st_value & 0xFFFE + f.seek(symbol_addr) + symbol_hexs = '' + + size = symbol.entry.st_size + if symbol.entry.st_size > 80: + size = 80 + + for x in f.read(size): + op = str(hex(x)).upper()[2:] + if len(op) == 1: + op = '0' + op + symbol_hexs = symbol_hexs + op + item = {} + item["name"] = symbol.name + item["data"] = symbol_hexs + dynsym_datas.append(item) + + return dynsym_datas + + +def get_rodata_strings(elf_file): + """ + 获å–字符串列表,以hexæ ¼å¼è¡¨ç¤ºï¼Œé¿å…字符编ç é—®é¢˜ã€‚ + """ + try: + return display_string_dump(elf_file, '.rodata') + except ELFError as ex: + import sys + sys.stderr.write('ELF error: %s\n' % ex) + sys.exit(1) + + +def display_string_dump(elf_file, section_spec): + """ Display a strings dump of a section. section_spec is either a + section number or a name. + """ + section = _section_from_spec(elf_file, section_spec) + if section is None: + print("Section '%s' does not exist in the file!" % section_spec) + return None + + data = section.data() + dataptr = 0 + + strs = [] + while dataptr < len(data): + while (dataptr < len(data) and not (32 <= byte2int(data[dataptr]) <= 127)): + dataptr += 1 + + if dataptr >= len(data): + break + + endptr = dataptr + while endptr < len(data) and byte2int(data[endptr]) != 0: + endptr += 1 + + strs.append(binascii.b2a_hex(data[dataptr:endptr]).decode().upper()) + dataptr = endptr + + return strs + + +def _section_from_spec(elf_file, spec): + ''' + Retrieve a section given a "spec" (either number or name). + Return None if no such section exists in the file. + ''' + if isinstance(spec, int): + num = int(spec) + if num < elf_file.num_sections(): + return elf_file.get_section(num) + + # Not a number. Must be a name then + if isinstance(spec, str): + try: + return elf_file.get_section_by_name(spec) + except AttributeError: + return None diff --git a/venv/Lib/site-packages/apkutils2/gui/__init__.py b/venv/Lib/site-packages/apkutils2/gui/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/venv/Lib/site-packages/apkutils2/gui/__main__.py b/venv/Lib/site-packages/apkutils2/gui/__main__.py new file mode 100644 index 00000000..a8a17b75 --- /dev/null +++ b/venv/Lib/site-packages/apkutils2/gui/__main__.py @@ -0,0 +1,101 @@ +# coding: utf-8 +# Author: codeskyblue 2018-06-04 + +import argparse +import ctypes +import os +import pathlib +import sys +import tkinter as tk +import winreg + +import apkutils + + +def _bind_apk_right_menu(): + if not ctypes.windll.shell32.IsUserAnAdmin(): + ctypes.windll.shell32.ShellExecuteW( + None, "runas", sys.executable, __file__ + " --bind", None, 0) + return + + with winreg.OpenKey(winreg.HKEY_CLASSES_ROOT, r"*\shell") as key: + print(key) + with winreg.CreateKeyEx(key, "APK Parser", 0, winreg.KEY_SET_VALUE) as shell_key: + icon_path = str(pathlib.Path(__file__).joinpath( + "../android.ico").resolve()) + winreg.SetValueEx(shell_key, "Icon", 0, winreg.REG_SZ, icon_path) + with winreg.CreateKey(shell_key, "command") as cmd_key: + winreg.SetValue( + cmd_key, "", 1, " ".join( + [sys.executable.replace("python.exe", "pythonw.exe"), os.path.abspath(__file__), "--file", "\"%1\""])) + + +def _unbind_reg(): + if not ctypes.windll.shell32.IsUserAnAdmin(): + ctypes.windll.shell32.ShellExecuteW( + None, "runas", sys.executable, __file__ + " --unbind", None, 0) + return + try: + winreg.DeleteKey(winreg.HKEY_LOCAL_MACHINE, + r"SOFTWARE\Classes\*\shell\APK Parser\command") + winreg.DeleteKey(winreg.HKEY_LOCAL_MACHINE, + r"SOFTWARE\Classes\*\shell\APK Parser") + except FileNotFoundError: + pass + + +class TKList(object): + def __init__(self): + self._row = 0 + + def add_row(self, *widgets): + for (column, widget) in enumerate(widgets): + if isinstance(widget, str): + text = tk.Text(height=1) + text.insert(tk.INSERT, widget) + + # ref: https://tkdocs.com/tutorial/text.html + text.bind("", lambda event: text.tag_add( + tk.SEL, "1.0", "1.end")) + widget = text + widget.grid(row=self._row, column=column) + self._row += 1 + + +def main(path): + root = tk.Tk() + + if path: + apk = apkutils2.APK(path) + mf = apk.manifest + grid = TKList() + grid.add_row(tk.Label(text="Filename"), os.path.basename(path)) + grid.add_row(tk.Label(text="Package Name"), mf.package_name) + grid.add_row(tk.Label(text="Main Activity"), mf.main_activity) + grid.add_row(tk.Label(text="Version Name"), mf.version_name) + grid.add_row(tk.Label(text="Version Code"), mf.version_code) + else: + tk.Button(root, text="Bind to *.apk Right MENU", + command=_bind_apk_right_menu).pack(padx=10, pady=5) + tk.Button(root, text="Unbind", + command=_unbind_reg).pack(padx=10, pady=5, side=tk.LEFT) + + tk._default_root.title("APK Parser") + tk.mainloop() + + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument("--file", type=str, help="parsed file") + parser.add_argument("--bind", action="store_true", + help="Bind right-click menu") + parser.add_argument("--unbind", action="store_true", + help="Unbind right-click menu") + args = parser.parse_args() + + if args.bind: + _bind_apk_right_menu() + elif args.unbind: + _unbind_reg() + else: + main(args.file) diff --git a/venv/Lib/site-packages/apkutils2/gui/__pycache__/__init__.cpython-39.pyc b/venv/Lib/site-packages/apkutils2/gui/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..c2a22da3 Binary files /dev/null and b/venv/Lib/site-packages/apkutils2/gui/__pycache__/__init__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/apkutils2/gui/__pycache__/__main__.cpython-39.pyc b/venv/Lib/site-packages/apkutils2/gui/__pycache__/__main__.cpython-39.pyc new file mode 100644 index 00000000..11ff146c Binary files /dev/null and b/venv/Lib/site-packages/apkutils2/gui/__pycache__/__main__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/apkutils2/manifest.py b/venv/Lib/site-packages/apkutils2/manifest.py new file mode 100644 index 00000000..ea0d0491 --- /dev/null +++ b/venv/Lib/site-packages/apkutils2/manifest.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python +# coding: utf-8 + +import xml +from xml.dom import minidom +import xmltodict + + +class Manifest(object): + def __init__(self, content): + self._xml = content + self._dom = minidom.parseString(content) + self._permissions = None + self._manifest = None + + @property + def package_name(self): + return self._dom.documentElement.getAttribute('package') + + @property + def version_code(self): + return self._dom.documentElement.getAttribute("android:versionCode") + + @property + def version_name(self): + return self._dom.documentElement.getAttribute("android:versionName") + + @property + def permissions(self): + if self._permissions is not None: + return self._permissions + self._permissions = [] + for item in self._dom.getElementsByTagName("uses-permission"): + self._permissions.append(str(item.getAttribute("android:name"))) + return self._permissions + + @property + def main_activity(self): + """ + Returns: + the name of the main activity + """ + x = set() + y = set() + for item in self._dom.getElementsByTagName("activity"): + for sitem in item.getElementsByTagName("action"): + val = sitem.getAttribute("android:name") + if val == "android.intent.action.MAIN": + x.add(item.getAttribute("android:name")) + for sitem in item.getElementsByTagName("category"): + val = sitem.getAttribute("android:name") + if val == "android.intent.category.LAUNCHER": + y.add(item.getAttribute("android:name")) + z = x.intersection(y) + if len(z) > 0: + return z.pop() + return None + + def json(self): + """ + Returns: + None or JSON formated manifest + """ + if self._manifest: + return self._manifest + + try: + self._manifest = xmltodict.parse( + self._xml, False)['manifest'] + except xml.parsers.expat.ExpatError as e: + pass + except Exception as e: + raise e + return self._manifest diff --git a/venv/Lib/site-packages/atomicwrites-1.4.0.dist-info/INSTALLER b/venv/Lib/site-packages/atomicwrites-1.4.0.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/venv/Lib/site-packages/atomicwrites-1.4.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/Lib/site-packages/atomicwrites-1.4.0.dist-info/LICENSE b/venv/Lib/site-packages/atomicwrites-1.4.0.dist-info/LICENSE new file mode 100644 index 00000000..3bbadc3a --- /dev/null +++ b/venv/Lib/site-packages/atomicwrites-1.4.0.dist-info/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2015-2016 Markus Unterwaditzer + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/venv/Lib/site-packages/atomicwrites-1.4.0.dist-info/METADATA b/venv/Lib/site-packages/atomicwrites-1.4.0.dist-info/METADATA new file mode 100644 index 00000000..ca2c8922 --- /dev/null +++ b/venv/Lib/site-packages/atomicwrites-1.4.0.dist-info/METADATA @@ -0,0 +1,145 @@ +Metadata-Version: 2.1 +Name: atomicwrites +Version: 1.4.0 +Summary: Atomic file writes. +Home-page: https://github.com/untitaker/python-atomicwrites +Author: Markus Unterwaditzer +Author-email: markus@unterwaditzer.net +License: MIT +Platform: UNKNOWN +Classifier: License :: OSI Approved :: MIT License +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.4 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: Implementation :: CPython +Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.* + +=================== +python-atomicwrites +=================== + +.. image:: https://travis-ci.org/untitaker/python-atomicwrites.svg?branch=master + :target: https://travis-ci.org/untitaker/python-atomicwrites + +.. image:: https://ci.appveyor.com/api/projects/status/vadc4le3c27to59x/branch/master?svg=true + :target: https://ci.appveyor.com/project/untitaker/python-atomicwrites/branch/master + +Atomic file writes. + +.. code-block:: python + + from atomicwrites import atomic_write + + with atomic_write('foo.txt', overwrite=True) as f: + f.write('Hello world.') + # "foo.txt" doesn't exist yet. + + # Now it does. + + +Features that distinguish it from other similar libraries (see `Alternatives and Credit`_): + +- Race-free assertion that the target file doesn't yet exist. This can be + controlled with the ``overwrite`` parameter. + +- Windows support, although not well-tested. The MSDN resources are not very + explicit about which operations are atomic. I'm basing my assumptions off `a + comment + `_ + by `Doug Crook + `_, who appears + to be a Microsoft employee: + + FAQ: Is MoveFileEx atomic + Frequently asked question: Is MoveFileEx atomic if the existing and new + files are both on the same drive? + + The simple answer is "usually, but in some cases it will silently fall-back + to a non-atomic method, so don't count on it". + + The implementation of MoveFileEx looks something like this: [...] + + The problem is if the rename fails, you might end up with a CopyFile, which + is definitely not atomic. + + If you really need atomic-or-nothing, you can try calling + NtSetInformationFile, which is unsupported but is much more likely to be + atomic. + +- Simple high-level API that wraps a very flexible class-based API. + +- Consistent error handling across platforms. + + +How it works +============ + +It uses a temporary file in the same directory as the given path. This ensures +that the temporary file resides on the same filesystem. + +The temporary file will then be atomically moved to the target location: On +POSIX, it will use ``rename`` if files should be overwritten, otherwise a +combination of ``link`` and ``unlink``. On Windows, it uses MoveFileEx_ through +stdlib's ``ctypes`` with the appropriate flags. + +Note that with ``link`` and ``unlink``, there's a timewindow where the file +might be available under two entries in the filesystem: The name of the +temporary file, and the name of the target file. + +Also note that the permissions of the target file may change this way. In some +situations a ``chmod`` can be issued without any concurrency problems, but +since that is not always the case, this library doesn't do it by itself. + +.. _MoveFileEx: https://msdn.microsoft.com/en-us/library/windows/desktop/aa365240%28v=vs.85%29.aspx + +fsync +----- + +On POSIX, ``fsync`` is invoked on the temporary file after it is written (to +flush file content and metadata), and on the parent directory after the file is +moved (to flush filename). + +``fsync`` does not take care of disks' internal buffers, but there don't seem +to be any standard POSIX APIs for that. On OS X, ``fcntl`` is used with +``F_FULLFSYNC`` instead of ``fsync`` for that reason. + +On Windows, `_commit `_ +is used, but there are no guarantees about disk internal buffers. + +Alternatives and Credit +======================= + +Atomicwrites is directly inspired by the following libraries (and shares a +minimal amount of code): + +- The Trac project's `utility functions + `_, + also used in `Werkzeug `_ and + `mitsuhiko/python-atomicfile + `_. The idea to use + ``ctypes`` instead of ``PyWin32`` originated there. + +- `abarnert/fatomic `_. Windows support + (based on ``PyWin32``) was originally taken from there. + +Other alternatives to atomicwrites include: + +- `sashka/atomicfile `_. Originally I + considered using that, but at the time it was lacking a lot of features I + needed (Windows support, overwrite-parameter, overriding behavior through + subclassing). + +- The `Boltons library collection `_ + features a class for atomic file writes, which seems to have a very similar + ``overwrite`` parameter. It is lacking Windows support though. + +License +======= + +Licensed under the MIT, see ``LICENSE``. + + diff --git a/venv/Lib/site-packages/atomicwrites-1.4.0.dist-info/RECORD b/venv/Lib/site-packages/atomicwrites-1.4.0.dist-info/RECORD new file mode 100644 index 00000000..1c83f83d --- /dev/null +++ b/venv/Lib/site-packages/atomicwrites-1.4.0.dist-info/RECORD @@ -0,0 +1,9 @@ +atomicwrites-1.4.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +atomicwrites-1.4.0.dist-info/LICENSE,sha256=h4Mp8L2HitAVEpzovagvSB6G7C6Agx6QnA1nFx2SLnM,1069 +atomicwrites-1.4.0.dist-info/METADATA,sha256=C0889LUauSNbRgzOwLjcI-RFU-Q7ICAvPPxSk_pFN4Q,5585 +atomicwrites-1.4.0.dist-info/RECORD,, +atomicwrites-1.4.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +atomicwrites-1.4.0.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110 +atomicwrites-1.4.0.dist-info/top_level.txt,sha256=ks64zKVUkrl2ZrrP046CsytXlSGf8gLG-IcoXpNyeoc,13 +atomicwrites/__init__.py,sha256=N_LFjMO0nQ9NXMyGQTod3my4OodSCX-FUshHUThV2_4,6794 +atomicwrites/__pycache__/__init__.cpython-39.pyc,, diff --git a/venv/Lib/site-packages/atomicwrites-1.4.0.dist-info/REQUESTED b/venv/Lib/site-packages/atomicwrites-1.4.0.dist-info/REQUESTED new file mode 100644 index 00000000..e69de29b diff --git a/venv/Lib/site-packages/atomicwrites-1.4.0.dist-info/WHEEL b/venv/Lib/site-packages/atomicwrites-1.4.0.dist-info/WHEEL new file mode 100644 index 00000000..ef99c6cf --- /dev/null +++ b/venv/Lib/site-packages/atomicwrites-1.4.0.dist-info/WHEEL @@ -0,0 +1,6 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.34.2) +Root-Is-Purelib: true +Tag: py2-none-any +Tag: py3-none-any + diff --git a/venv/Lib/site-packages/atomicwrites-1.4.0.dist-info/top_level.txt b/venv/Lib/site-packages/atomicwrites-1.4.0.dist-info/top_level.txt new file mode 100644 index 00000000..5fa5a87d --- /dev/null +++ b/venv/Lib/site-packages/atomicwrites-1.4.0.dist-info/top_level.txt @@ -0,0 +1 @@ +atomicwrites diff --git a/venv/Lib/site-packages/atomicwrites/__init__.py b/venv/Lib/site-packages/atomicwrites/__init__.py new file mode 100644 index 00000000..623826ee --- /dev/null +++ b/venv/Lib/site-packages/atomicwrites/__init__.py @@ -0,0 +1,226 @@ +import contextlib +import io +import os +import sys +import tempfile + +try: + import fcntl +except ImportError: + fcntl = None + +# `fspath` was added in Python 3.6 +try: + from os import fspath +except ImportError: + fspath = None + +__version__ = '1.4.0' + + +PY2 = sys.version_info[0] == 2 + +text_type = unicode if PY2 else str # noqa + + +def _path_to_unicode(x): + if not isinstance(x, text_type): + return x.decode(sys.getfilesystemencoding()) + return x + + +DEFAULT_MODE = "wb" if PY2 else "w" + + +_proper_fsync = os.fsync + + +if sys.platform != 'win32': + if hasattr(fcntl, 'F_FULLFSYNC'): + def _proper_fsync(fd): + # https://lists.apple.com/archives/darwin-dev/2005/Feb/msg00072.html + # https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man2/fsync.2.html + # https://github.com/untitaker/python-atomicwrites/issues/6 + fcntl.fcntl(fd, fcntl.F_FULLFSYNC) + + def _sync_directory(directory): + # Ensure that filenames are written to disk + fd = os.open(directory, 0) + try: + _proper_fsync(fd) + finally: + os.close(fd) + + def _replace_atomic(src, dst): + os.rename(src, dst) + _sync_directory(os.path.normpath(os.path.dirname(dst))) + + def _move_atomic(src, dst): + os.link(src, dst) + os.unlink(src) + + src_dir = os.path.normpath(os.path.dirname(src)) + dst_dir = os.path.normpath(os.path.dirname(dst)) + _sync_directory(dst_dir) + if src_dir != dst_dir: + _sync_directory(src_dir) +else: + from ctypes import windll, WinError + + _MOVEFILE_REPLACE_EXISTING = 0x1 + _MOVEFILE_WRITE_THROUGH = 0x8 + _windows_default_flags = _MOVEFILE_WRITE_THROUGH + + def _handle_errors(rv): + if not rv: + raise WinError() + + def _replace_atomic(src, dst): + _handle_errors(windll.kernel32.MoveFileExW( + _path_to_unicode(src), _path_to_unicode(dst), + _windows_default_flags | _MOVEFILE_REPLACE_EXISTING + )) + + def _move_atomic(src, dst): + _handle_errors(windll.kernel32.MoveFileExW( + _path_to_unicode(src), _path_to_unicode(dst), + _windows_default_flags + )) + + +def replace_atomic(src, dst): + ''' + Move ``src`` to ``dst``. If ``dst`` exists, it will be silently + overwritten. + + Both paths must reside on the same filesystem for the operation to be + atomic. + ''' + return _replace_atomic(src, dst) + + +def move_atomic(src, dst): + ''' + Move ``src`` to ``dst``. There might a timewindow where both filesystem + entries exist. If ``dst`` already exists, :py:exc:`FileExistsError` will be + raised. + + Both paths must reside on the same filesystem for the operation to be + atomic. + ''' + return _move_atomic(src, dst) + + +class AtomicWriter(object): + ''' + A helper class for performing atomic writes. Usage:: + + with AtomicWriter(path).open() as f: + f.write(...) + + :param path: The destination filepath. May or may not exist. + :param mode: The filemode for the temporary file. This defaults to `wb` in + Python 2 and `w` in Python 3. + :param overwrite: If set to false, an error is raised if ``path`` exists. + Errors are only raised after the file has been written to. Either way, + the operation is atomic. + + If you need further control over the exact behavior, you are encouraged to + subclass. + ''' + + def __init__(self, path, mode=DEFAULT_MODE, overwrite=False, + **open_kwargs): + if 'a' in mode: + raise ValueError( + 'Appending to an existing file is not supported, because that ' + 'would involve an expensive `copy`-operation to a temporary ' + 'file. Open the file in normal `w`-mode and copy explicitly ' + 'if that\'s what you\'re after.' + ) + if 'x' in mode: + raise ValueError('Use the `overwrite`-parameter instead.') + if 'w' not in mode: + raise ValueError('AtomicWriters can only be written to.') + + # Attempt to convert `path` to `str` or `bytes` + if fspath is not None: + path = fspath(path) + + self._path = path + self._mode = mode + self._overwrite = overwrite + self._open_kwargs = open_kwargs + + def open(self): + ''' + Open the temporary file. + ''' + return self._open(self.get_fileobject) + + @contextlib.contextmanager + def _open(self, get_fileobject): + f = None # make sure f exists even if get_fileobject() fails + try: + success = False + with get_fileobject(**self._open_kwargs) as f: + yield f + self.sync(f) + self.commit(f) + success = True + finally: + if not success: + try: + self.rollback(f) + except Exception: + pass + + def get_fileobject(self, suffix="", prefix=tempfile.gettempprefix(), + dir=None, **kwargs): + '''Return the temporary file to use.''' + if dir is None: + dir = os.path.normpath(os.path.dirname(self._path)) + descriptor, name = tempfile.mkstemp(suffix=suffix, prefix=prefix, + dir=dir) + # io.open() will take either the descriptor or the name, but we need + # the name later for commit()/replace_atomic() and couldn't find a way + # to get the filename from the descriptor. + os.close(descriptor) + kwargs['mode'] = self._mode + kwargs['file'] = name + return io.open(**kwargs) + + def sync(self, f): + '''responsible for clearing as many file caches as possible before + commit''' + f.flush() + _proper_fsync(f.fileno()) + + def commit(self, f): + '''Move the temporary file to the target location.''' + if self._overwrite: + replace_atomic(f.name, self._path) + else: + move_atomic(f.name, self._path) + + def rollback(self, f): + '''Clean up all temporary resources.''' + os.unlink(f.name) + + +def atomic_write(path, writer_cls=AtomicWriter, **cls_kwargs): + ''' + Simple atomic writes. This wraps :py:class:`AtomicWriter`:: + + with atomic_write(path) as f: + f.write(...) + + :param path: The target path to write to. + :param writer_cls: The writer class to use. This parameter is useful if you + subclassed :py:class:`AtomicWriter` to change some behavior and want to + use that new subclass. + + Additional keyword arguments are passed to the writer class. See + :py:class:`AtomicWriter`. + ''' + return writer_cls(path, **cls_kwargs).open() diff --git a/venv/Lib/site-packages/atomicwrites/__pycache__/__init__.cpython-39.pyc b/venv/Lib/site-packages/atomicwrites/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..d25cc5d3 Binary files /dev/null and b/venv/Lib/site-packages/atomicwrites/__pycache__/__init__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/cached_property-1.5.2.dist-info/AUTHORS.rst b/venv/Lib/site-packages/cached_property-1.5.2.dist-info/AUTHORS.rst new file mode 100644 index 00000000..f8d446dc --- /dev/null +++ b/venv/Lib/site-packages/cached_property-1.5.2.dist-info/AUTHORS.rst @@ -0,0 +1,21 @@ +======= +Credits +======= + +Development Lead +---------------- + +* Daniel Roy Greenfeld (@pydanny) +* Audrey Roy Greenfeld (@audreyr) + +Contributors +------------ + +* Tin Tvrtković +* @bcho +* George Sakkis (@gsakkis) +* Adam Williamson +* Ionel Cristian MărieÈ™ (@ionelmc) +* Malyshev Artem (@proofit404) +* Volker Braun (@vbraun) +* Qudus Oladipo (@stikks) diff --git a/venv/Lib/site-packages/cached_property-1.5.2.dist-info/INSTALLER b/venv/Lib/site-packages/cached_property-1.5.2.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/venv/Lib/site-packages/cached_property-1.5.2.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/Lib/site-packages/cached_property-1.5.2.dist-info/LICENSE b/venv/Lib/site-packages/cached_property-1.5.2.dist-info/LICENSE new file mode 100644 index 00000000..a181761c --- /dev/null +++ b/venv/Lib/site-packages/cached_property-1.5.2.dist-info/LICENSE @@ -0,0 +1,12 @@ +Copyright (c) 2015, Daniel Greenfeld +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +* Neither the name of cached-property nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/venv/Lib/site-packages/cached_property-1.5.2.dist-info/METADATA b/venv/Lib/site-packages/cached_property-1.5.2.dist-info/METADATA new file mode 100644 index 00000000..5ebdfefb --- /dev/null +++ b/venv/Lib/site-packages/cached_property-1.5.2.dist-info/METADATA @@ -0,0 +1,397 @@ +Metadata-Version: 2.1 +Name: cached-property +Version: 1.5.2 +Summary: A decorator for caching properties in classes. +Home-page: https://github.com/pydanny/cached-property +Author: Daniel Greenfeld +Author-email: pydanny@gmail.com +License: BSD +Keywords: cached-property +Platform: UNKNOWN +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: BSD License +Classifier: Natural Language :: English +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Description-Content-Type: text/x-rst + +=============================== +cached-property +=============================== + +.. image:: https://img.shields.io/pypi/v/cached-property.svg + :target: https://pypi.python.org/pypi/cached-property + +.. image:: https://github.com/pydanny/cached-property/workflows/Python%20package/badge.svg + :target: https://github.com/pydanny/cached-property/actions + + +.. image:: https://img.shields.io/badge/code%20style-black-000000.svg + :target: https://github.com/ambv/black + :alt: Code style: black + + +A decorator for caching properties in classes. + +Why? +----- + +* Makes caching of time or computational expensive properties quick and easy. +* Because I got tired of copy/pasting this code from non-web project to non-web project. +* I needed something really simple that worked in Python 2 and 3. + +How to use it +-------------- + +Let's define a class with an expensive property. Every time you stay there the +price goes up by $50! + +.. code-block:: python + + class Monopoly(object): + + def __init__(self): + self.boardwalk_price = 500 + + @property + def boardwalk(self): + # In reality, this might represent a database call or time + # intensive task like calling a third-party API. + self.boardwalk_price += 50 + return self.boardwalk_price + +Now run it: + +.. code-block:: python + + >>> monopoly = Monopoly() + >>> monopoly.boardwalk + 550 + >>> monopoly.boardwalk + 600 + +Let's convert the boardwalk property into a ``cached_property``. + +.. code-block:: python + + from cached_property import cached_property + + class Monopoly(object): + + def __init__(self): + self.boardwalk_price = 500 + + @cached_property + def boardwalk(self): + # Again, this is a silly example. Don't worry about it, this is + # just an example for clarity. + self.boardwalk_price += 50 + return self.boardwalk_price + +Now when we run it the price stays at $550. + +.. code-block:: python + + >>> monopoly = Monopoly() + >>> monopoly.boardwalk + 550 + >>> monopoly.boardwalk + 550 + >>> monopoly.boardwalk + 550 + +Why doesn't the value of ``monopoly.boardwalk`` change? Because it's a **cached property**! + +Invalidating the Cache +---------------------- + +Results of cached functions can be invalidated by outside forces. Let's demonstrate how to force the cache to invalidate: + +.. code-block:: python + + >>> monopoly = Monopoly() + >>> monopoly.boardwalk + 550 + >>> monopoly.boardwalk + 550 + >>> # invalidate the cache + >>> del monopoly.__dict__['boardwalk'] + >>> # request the boardwalk property again + >>> monopoly.boardwalk + 600 + >>> monopoly.boardwalk + 600 + +Working with Threads +--------------------- + +What if a whole bunch of people want to stay at Boardwalk all at once? This means using threads, which +unfortunately causes problems with the standard ``cached_property``. In this case, switch to using the +``threaded_cached_property``: + +.. code-block:: python + + from cached_property import threaded_cached_property + + class Monopoly(object): + + def __init__(self): + self.boardwalk_price = 500 + + @threaded_cached_property + def boardwalk(self): + """threaded_cached_property is really nice for when no one waits + for other people to finish their turn and rudely start rolling + dice and moving their pieces.""" + + sleep(1) + self.boardwalk_price += 50 + return self.boardwalk_price + +Now use it: + +.. code-block:: python + + >>> from threading import Thread + >>> from monopoly import Monopoly + >>> monopoly = Monopoly() + >>> threads = [] + >>> for x in range(10): + >>> thread = Thread(target=lambda: monopoly.boardwalk) + >>> thread.start() + >>> threads.append(thread) + + >>> for thread in threads: + >>> thread.join() + + >>> self.assertEqual(m.boardwalk, 550) + + +Working with async/await (Python 3.5+) +-------------------------------------- + +The cached property can be async, in which case you have to use await +as usual to get the value. Because of the caching, the value is only +computed once and then cached: + +.. code-block:: python + + from cached_property import cached_property + + class Monopoly(object): + + def __init__(self): + self.boardwalk_price = 500 + + @cached_property + async def boardwalk(self): + self.boardwalk_price += 50 + return self.boardwalk_price + +Now use it: + +.. code-block:: python + + >>> async def print_boardwalk(): + ... monopoly = Monopoly() + ... print(await monopoly.boardwalk) + ... print(await monopoly.boardwalk) + ... print(await monopoly.boardwalk) + >>> import asyncio + >>> asyncio.get_event_loop().run_until_complete(print_boardwalk()) + 550 + 550 + 550 + +Note that this does not work with threading either, most asyncio +objects are not thread-safe. And if you run separate event loops in +each thread, the cached version will most likely have the wrong event +loop. To summarize, either use cooperative multitasking (event loop) +or threading, but not both at the same time. + + +Timing out the cache +-------------------- + +Sometimes you want the price of things to reset after a time. Use the ``ttl`` +versions of ``cached_property`` and ``threaded_cached_property``. + +.. code-block:: python + + import random + from cached_property import cached_property_with_ttl + + class Monopoly(object): + + @cached_property_with_ttl(ttl=5) # cache invalidates after 5 seconds + def dice(self): + # I dare the reader to implement a game using this method of 'rolling dice'. + return random.randint(2,12) + +Now use it: + +.. code-block:: python + + >>> monopoly = Monopoly() + >>> monopoly.dice + 10 + >>> monopoly.dice + 10 + >>> from time import sleep + >>> sleep(6) # Sleeps long enough to expire the cache + >>> monopoly.dice + 3 + >>> monopoly.dice + 3 + +**Note:** The ``ttl`` tools do not reliably allow the clearing of the cache. This +is why they are broken out into seperate tools. See https://github.com/pydanny/cached-property/issues/16. + +Credits +-------- + +* Pip, Django, Werkzueg, Bottle, Pyramid, and Zope for having their own implementations. This package originally used an implementation that matched the Bottle version. +* Reinout Van Rees for pointing out the `cached_property` decorator to me. +* My awesome wife `@audreyr`_ who created `cookiecutter`_, which meant rolling this out took me just 15 minutes. +* @tinche for pointing out the threading issue and providing a solution. +* @bcho for providing the time-to-expire feature + +.. _`@audreyr`: https://github.com/audreyr +.. _`cookiecutter`: https://github.com/audreyr/cookiecutter + +Support This Project +--------------------------- + +This project is maintained by volunteers. Support their efforts by spreading the word about: + +Django Crash Course +++++++++++++++++++++++++++++++++++++ + +.. image:: https://cdn.shopify.com/s/files/1/0304/6901/files/Django-Crash-Course-300x436.jpg + :name: Django Crash Course: Covers Django 3.0 and Python 3.8 + :align: center + :alt: Django Crash Course + :target: https://www.roygreenfeld.com/products/django-crash-course + +Django Crash Course for Django 3.0 and Python 3.8 is the best cheese-themed Django reference in the universe! + + + + +History +------- + +1.5.2 (2020-09-21) +++++++++++++++++++ + +* Add formal support for Python 3.8 +* Remove formal support for Python 3.4 +* Switch from Travis to GitHub actions +* Made tests pass flake8 for Python 2.7 + +1.5.1 (2018-08-05) +++++++++++++++++++ + +* Added formal support for Python 3.7 +* Removed formal support for Python 3.3 + +1.4.3 (2018-06-14) ++++++++++++++++++++ + +* Catch SyntaxError from asyncio import on older versions of Python, thanks to @asottile + +1.4.2 (2018-04-08) +++++++++++++++++++ + +* Really fixed tests, thanks to @pydanny + +1.4.1 (2018-04-08) +++++++++++++++++++ + +* Added conftest.py to manifest so tests work properly off the tarball, thanks to @dotlambda +* Ensured new asyncio tests didn't break Python 2.7 builds on Debian, thanks to @pydanny +* Code formatting via black, thanks to @pydanny and @ambv + + +1.4.0 (2018-02-25) +++++++++++++++++++ + +* Added asyncio support, thanks to @vbraun +* Remove Python 2.6 support, whose end of life was 5 years ago, thanks to @pydanny + + +1.3.1 (2017-09-21) +++++++++++++++++++ + +* Validate for Python 3.6 + + +1.3.0 (2015-11-24) +++++++++++++++++++ + +* Drop some non-ASCII characters from HISTORY.rst, thanks to @AdamWill +* Added official support for Python 3.5, thanks to @pydanny and @audreyr +* Removed confusingly placed lock from example, thanks to @ionelmc +* Corrected invalidation cache documentation, thanks to @proofit404 +* Updated to latest Travis-CI environment, thanks to @audreyr + +1.2.0 (2015-04-28) +++++++++++++++++++ + +* Overall code and test refactoring, thanks to @gsakkis +* Allow the del statement for resetting cached properties with ttl instead of del obj._cache[attr], thanks to @gsakkis. +* Uncovered a bug in PyPy, https://bitbucket.org/pypy/pypy/issue/2033/attributeerror-object-attribute-is-read, thanks to @gsakkis +* Fixed threaded_cached_property_with_ttl to actually be thread-safe, thanks to @gsakkis + +1.1.0 (2015-04-04) +++++++++++++++++++ + +* Regression: As the cache was not always clearing, we've broken out the time to expire feature to its own set of specific tools, thanks to @pydanny +* Fixed typo in README, thanks to @zoidbergwill + +1.0.0 (2015-02-13) +++++++++++++++++++ + +* Added timed to expire feature to ``cached_property`` decorator. +* **Backwards incompatiblity**: Changed ``del monopoly.boardwalk`` to ``del monopoly['boardwalk']`` in order to support the new TTL feature. + +0.1.5 (2014-05-20) +++++++++++++++++++ + +* Added threading support with new ``threaded_cached_property`` decorator +* Documented cache invalidation +* Updated credits +* Sourced the bottle implementation + +0.1.4 (2014-05-17) +++++++++++++++++++ + +* Fix the dang-blarged py_modules argument. + +0.1.3 (2014-05-17) +++++++++++++++++++ + +* Removed import of package into ``setup.py`` + +0.1.2 (2014-05-17) +++++++++++++++++++ + +* Documentation fixes. Not opening up a RTFD instance for this because it's so simple to use. + +0.1.1 (2014-05-17) +++++++++++++++++++ + +* setup.py fix. Whoops! + +0.1.0 (2014-05-17) +++++++++++++++++++ + +* First release on PyPI. + + diff --git a/venv/Lib/site-packages/cached_property-1.5.2.dist-info/RECORD b/venv/Lib/site-packages/cached_property-1.5.2.dist-info/RECORD new file mode 100644 index 00000000..918516f2 --- /dev/null +++ b/venv/Lib/site-packages/cached_property-1.5.2.dist-info/RECORD @@ -0,0 +1,9 @@ +__pycache__/cached_property.cpython-39.pyc,, +cached_property-1.5.2.dist-info/AUTHORS.rst,sha256=VC5JgjmbI2HEN-WX8AtEPn2IBqoPUH7Wu3YFWvBJGTk,414 +cached_property-1.5.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +cached_property-1.5.2.dist-info/LICENSE,sha256=ukdWyAObJbZuPEVsxb9jWqUoz0Wbl-4UmdBmhMzYm5o,1479 +cached_property-1.5.2.dist-info/METADATA,sha256=6FMtlBCCSsvJ-l89hPdktYC3ygu1qwpIQitShD-U8Fg,11266 +cached_property-1.5.2.dist-info/RECORD,, +cached_property-1.5.2.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110 +cached_property-1.5.2.dist-info/top_level.txt,sha256=Pst93XQ2enhlPVfCIpc4Kv38f6JXEYuki96hkyh-1JE,16 +cached_property.py,sha256=kER53Kcut7agWD5kUq6JPfTat6UG_yFB0PJw2KUR_2Y,4324 diff --git a/venv/Lib/site-packages/cached_property-1.5.2.dist-info/WHEEL b/venv/Lib/site-packages/cached_property-1.5.2.dist-info/WHEEL new file mode 100644 index 00000000..ef99c6cf --- /dev/null +++ b/venv/Lib/site-packages/cached_property-1.5.2.dist-info/WHEEL @@ -0,0 +1,6 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.34.2) +Root-Is-Purelib: true +Tag: py2-none-any +Tag: py3-none-any + diff --git a/venv/Lib/site-packages/cached_property-1.5.2.dist-info/top_level.txt b/venv/Lib/site-packages/cached_property-1.5.2.dist-info/top_level.txt new file mode 100644 index 00000000..05a34325 --- /dev/null +++ b/venv/Lib/site-packages/cached_property-1.5.2.dist-info/top_level.txt @@ -0,0 +1 @@ +cached_property diff --git a/venv/Lib/site-packages/cached_property.py b/venv/Lib/site-packages/cached_property.py new file mode 100644 index 00000000..3135871b --- /dev/null +++ b/venv/Lib/site-packages/cached_property.py @@ -0,0 +1,153 @@ +# -*- coding: utf-8 -*- + +__author__ = "Daniel Greenfeld" +__email__ = "pydanny@gmail.com" +__version__ = "1.5.2" +__license__ = "BSD" + +from functools import wraps +from time import time +import threading + +try: + import asyncio +except (ImportError, SyntaxError): + asyncio = None + + +class cached_property(object): + """ + A property that is only computed once per instance and then replaces itself + with an ordinary attribute. Deleting the attribute resets the property. + Source: https://github.com/bottlepy/bottle/commit/fa7733e075da0d790d809aa3d2f53071897e6f76 + """ # noqa + + def __init__(self, func): + self.__doc__ = getattr(func, "__doc__") + self.func = func + + def __get__(self, obj, cls): + if obj is None: + return self + + if asyncio and asyncio.iscoroutinefunction(self.func): + return self._wrap_in_coroutine(obj) + + value = obj.__dict__[self.func.__name__] = self.func(obj) + return value + + def _wrap_in_coroutine(self, obj): + @wraps(obj) + @asyncio.coroutine + def wrapper(): + future = asyncio.ensure_future(self.func(obj)) + obj.__dict__[self.func.__name__] = future + return future + + return wrapper() + + +class threaded_cached_property(object): + """ + A cached_property version for use in environments where multiple threads + might concurrently try to access the property. + """ + + def __init__(self, func): + self.__doc__ = getattr(func, "__doc__") + self.func = func + self.lock = threading.RLock() + + def __get__(self, obj, cls): + if obj is None: + return self + + obj_dict = obj.__dict__ + name = self.func.__name__ + with self.lock: + try: + # check if the value was computed before the lock was acquired + return obj_dict[name] + + except KeyError: + # if not, do the calculation and release the lock + return obj_dict.setdefault(name, self.func(obj)) + + +class cached_property_with_ttl(object): + """ + A property that is only computed once per instance and then replaces itself + with an ordinary attribute. Setting the ttl to a number expresses how long + the property will last before being timed out. + """ + + def __init__(self, ttl=None): + if callable(ttl): + func = ttl + ttl = None + else: + func = None + self.ttl = ttl + self._prepare_func(func) + + def __call__(self, func): + self._prepare_func(func) + return self + + def __get__(self, obj, cls): + if obj is None: + return self + + now = time() + obj_dict = obj.__dict__ + name = self.__name__ + try: + value, last_updated = obj_dict[name] + except KeyError: + pass + else: + ttl_expired = self.ttl and self.ttl < now - last_updated + if not ttl_expired: + return value + + value = self.func(obj) + obj_dict[name] = (value, now) + return value + + def __delete__(self, obj): + obj.__dict__.pop(self.__name__, None) + + def __set__(self, obj, value): + obj.__dict__[self.__name__] = (value, time()) + + def _prepare_func(self, func): + self.func = func + if func: + self.__doc__ = func.__doc__ + self.__name__ = func.__name__ + self.__module__ = func.__module__ + + +# Aliases to make cached_property_with_ttl easier to use +cached_property_ttl = cached_property_with_ttl +timed_cached_property = cached_property_with_ttl + + +class threaded_cached_property_with_ttl(cached_property_with_ttl): + """ + A cached_property version for use in environments where multiple threads + might concurrently try to access the property. + """ + + def __init__(self, ttl=None): + super(threaded_cached_property_with_ttl, self).__init__(ttl) + self.lock = threading.RLock() + + def __get__(self, obj, cls): + with self.lock: + return super(threaded_cached_property_with_ttl, self).__get__(obj, cls) + + +# Alias to make threaded_cached_property_with_ttl easier to use +threaded_cached_property_ttl = threaded_cached_property_with_ttl +timed_threaded_cached_property = threaded_cached_property_with_ttl diff --git a/venv/Lib/site-packages/certifi-2024.8.30.dist-info/INSTALLER b/venv/Lib/site-packages/certifi-2024.8.30.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/venv/Lib/site-packages/certifi-2024.8.30.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/Lib/site-packages/certifi-2024.8.30.dist-info/LICENSE b/venv/Lib/site-packages/certifi-2024.8.30.dist-info/LICENSE new file mode 100644 index 00000000..62b076cd --- /dev/null +++ b/venv/Lib/site-packages/certifi-2024.8.30.dist-info/LICENSE @@ -0,0 +1,20 @@ +This package contains a modified version of ca-bundle.crt: + +ca-bundle.crt -- Bundle of CA Root Certificates + +This is a bundle of X.509 certificates of public Certificate Authorities +(CA). These were automatically extracted from Mozilla's root certificates +file (certdata.txt). This file can be found in the mozilla source tree: +https://hg.mozilla.org/mozilla-central/file/tip/security/nss/lib/ckfw/builtins/certdata.txt +It contains the certificates in PEM format and therefore +can be directly used with curl / libcurl / php_curl, or with +an Apache+mod_ssl webserver for SSL client authentication. +Just configure this file as the SSLCACertificateFile.# + +***** BEGIN LICENSE BLOCK ***** +This Source Code Form is subject to the terms of the Mozilla Public License, +v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain +one at http://mozilla.org/MPL/2.0/. + +***** END LICENSE BLOCK ***** +@(#) $RCSfile: certdata.txt,v $ $Revision: 1.80 $ $Date: 2011/11/03 15:11:58 $ diff --git a/venv/Lib/site-packages/certifi-2024.8.30.dist-info/METADATA b/venv/Lib/site-packages/certifi-2024.8.30.dist-info/METADATA new file mode 100644 index 00000000..0a3a772a --- /dev/null +++ b/venv/Lib/site-packages/certifi-2024.8.30.dist-info/METADATA @@ -0,0 +1,67 @@ +Metadata-Version: 2.1 +Name: certifi +Version: 2024.8.30 +Summary: Python package for providing Mozilla's CA Bundle. +Home-page: https://github.com/certifi/python-certifi +Author: Kenneth Reitz +Author-email: me@kennethreitz.com +License: MPL-2.0 +Project-URL: Source, https://github.com/certifi/python-certifi +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0) +Classifier: Natural Language :: English +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3 :: Only +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3.12 +Requires-Python: >=3.6 +License-File: LICENSE + +Certifi: Python SSL Certificates +================================ + +Certifi provides Mozilla's carefully curated collection of Root Certificates for +validating the trustworthiness of SSL certificates while verifying the identity +of TLS hosts. It has been extracted from the `Requests`_ project. + +Installation +------------ + +``certifi`` is available on PyPI. Simply install it with ``pip``:: + + $ pip install certifi + +Usage +----- + +To reference the installed certificate authority (CA) bundle, you can use the +built-in function:: + + >>> import certifi + + >>> certifi.where() + '/usr/local/lib/python3.7/site-packages/certifi/cacert.pem' + +Or from the command line:: + + $ python -m certifi + /usr/local/lib/python3.7/site-packages/certifi/cacert.pem + +Enjoy! + +.. _`Requests`: https://requests.readthedocs.io/en/master/ + +Addition/Removal of Certificates +-------------------------------- + +Certifi does not support any addition/removal or other modification of the +CA trust store content. This project is intended to provide a reliable and +highly portable root of trust to python deployments. Look to upstream projects +for methods to use alternate trust. diff --git a/venv/Lib/site-packages/certifi-2024.8.30.dist-info/RECORD b/venv/Lib/site-packages/certifi-2024.8.30.dist-info/RECORD new file mode 100644 index 00000000..a222b1f0 --- /dev/null +++ b/venv/Lib/site-packages/certifi-2024.8.30.dist-info/RECORD @@ -0,0 +1,14 @@ +certifi-2024.8.30.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +certifi-2024.8.30.dist-info/LICENSE,sha256=6TcW2mucDVpKHfYP5pWzcPBpVgPSH2-D8FPkLPwQyvc,989 +certifi-2024.8.30.dist-info/METADATA,sha256=GhBHRVUN6a4ZdUgE_N5wmukJfyuoE-QyIl8Y3ifNQBM,2222 +certifi-2024.8.30.dist-info/RECORD,, +certifi-2024.8.30.dist-info/WHEEL,sha256=UvcQYKBHoFqaQd6LKyqHw9fxEolWLQnlzP0h_LgJAfI,91 +certifi-2024.8.30.dist-info/top_level.txt,sha256=KMu4vUCfsjLrkPbSNdgdekS-pVJzBAJFO__nI8NF6-U,8 +certifi/__init__.py,sha256=p_GYZrjUwPBUhpLlCZoGb0miKBKSqDAyZC5DvIuqbHQ,94 +certifi/__main__.py,sha256=xBBoj905TUWBLRGANOcf7oi6e-3dMP4cEoG9OyMs11g,243 +certifi/__pycache__/__init__.cpython-39.pyc,, +certifi/__pycache__/__main__.cpython-39.pyc,, +certifi/__pycache__/core.cpython-39.pyc,, +certifi/cacert.pem,sha256=lO3rZukXdPyuk6BWUJFOKQliWaXH6HGh9l1GGrUgG0c,299427 +certifi/core.py,sha256=qRDDFyXVJwTB_EmoGppaXU_R9qCZvhl-EzxPMuV3nTA,4426 +certifi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 diff --git a/venv/Lib/site-packages/certifi-2024.8.30.dist-info/WHEEL b/venv/Lib/site-packages/certifi-2024.8.30.dist-info/WHEEL new file mode 100644 index 00000000..57e56b7e --- /dev/null +++ b/venv/Lib/site-packages/certifi-2024.8.30.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: setuptools (74.0.0) +Root-Is-Purelib: true +Tag: py3-none-any + diff --git a/venv/Lib/site-packages/certifi-2024.8.30.dist-info/top_level.txt b/venv/Lib/site-packages/certifi-2024.8.30.dist-info/top_level.txt new file mode 100644 index 00000000..963eac53 --- /dev/null +++ b/venv/Lib/site-packages/certifi-2024.8.30.dist-info/top_level.txt @@ -0,0 +1 @@ +certifi diff --git a/venv/Lib/site-packages/certifi/__init__.py b/venv/Lib/site-packages/certifi/__init__.py new file mode 100644 index 00000000..f61d77fa --- /dev/null +++ b/venv/Lib/site-packages/certifi/__init__.py @@ -0,0 +1,4 @@ +from .core import contents, where + +__all__ = ["contents", "where"] +__version__ = "2024.08.30" diff --git a/venv/Lib/site-packages/certifi/__main__.py b/venv/Lib/site-packages/certifi/__main__.py new file mode 100644 index 00000000..8945b5da --- /dev/null +++ b/venv/Lib/site-packages/certifi/__main__.py @@ -0,0 +1,12 @@ +import argparse + +from certifi import contents, where + +parser = argparse.ArgumentParser() +parser.add_argument("-c", "--contents", action="store_true") +args = parser.parse_args() + +if args.contents: + print(contents()) +else: + print(where()) diff --git a/venv/Lib/site-packages/certifi/__pycache__/__init__.cpython-39.pyc b/venv/Lib/site-packages/certifi/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..3eefccad Binary files /dev/null and b/venv/Lib/site-packages/certifi/__pycache__/__init__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/certifi/__pycache__/__main__.cpython-39.pyc b/venv/Lib/site-packages/certifi/__pycache__/__main__.cpython-39.pyc new file mode 100644 index 00000000..a209e982 Binary files /dev/null and b/venv/Lib/site-packages/certifi/__pycache__/__main__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/certifi/__pycache__/core.cpython-39.pyc b/venv/Lib/site-packages/certifi/__pycache__/core.cpython-39.pyc new file mode 100644 index 00000000..a4dcd3dd Binary files /dev/null and b/venv/Lib/site-packages/certifi/__pycache__/core.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/certifi/cacert.pem b/venv/Lib/site-packages/certifi/cacert.pem new file mode 100644 index 00000000..3c165a1b --- /dev/null +++ b/venv/Lib/site-packages/certifi/cacert.pem @@ -0,0 +1,4929 @@ + +# Issuer: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA +# Subject: CN=GlobalSign Root CA O=GlobalSign nv-sa OU=Root CA +# Label: "GlobalSign Root CA" +# Serial: 4835703278459707669005204 +# MD5 Fingerprint: 3e:45:52:15:09:51:92:e1:b7:5d:37:9f:b1:87:29:8a +# SHA1 Fingerprint: b1:bc:96:8b:d4:f4:9d:62:2a:a8:9a:81:f2:15:01:52:a4:1d:82:9c +# SHA256 Fingerprint: eb:d4:10:40:e4:bb:3e:c7:42:c9:e3:81:d3:1e:f2:a4:1a:48:b6:68:5c:96:e7:ce:f3:c1:df:6c:d4:33:1c:99 +-----BEGIN CERTIFICATE----- +MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG +A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv +b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw +MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i +YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT +aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ +jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp +xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp +1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG +snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ +U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8 +9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B +AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz +yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE +38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP +AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad +DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME +HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== +-----END CERTIFICATE----- + +# Issuer: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited +# Subject: CN=Entrust.net Certification Authority (2048) O=Entrust.net OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.)/(c) 1999 Entrust.net Limited +# Label: "Entrust.net Premium 2048 Secure Server CA" +# Serial: 946069240 +# MD5 Fingerprint: ee:29:31:bc:32:7e:9a:e6:e8:b5:f7:51:b4:34:71:90 +# SHA1 Fingerprint: 50:30:06:09:1d:97:d4:f5:ae:39:f7:cb:e7:92:7d:7d:65:2d:34:31 +# SHA256 Fingerprint: 6d:c4:71:72:e0:1c:bc:b0:bf:62:58:0d:89:5f:e2:b8:ac:9a:d4:f8:73:80:1e:0c:10:b9:c8:37:d2:1e:b1:77 +-----BEGIN CERTIFICATE----- +MIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML +RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp +bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5 +IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0yOTA3 +MjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3 +LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp +YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG +A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq +K0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQe +sYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuX +MlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVT +XTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/ +HoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH +4QIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV +HQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJKoZIhvcNAQEFBQADggEBADub +j1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPyT/4xmf3IDExo +U8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf +zX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5b +u/8j72gZyxKTJ1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+ +bYQLCIt+jerXmCHG8+c8eS9enNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/Er +fF6adulZkMV8gzURZVE= +-----END CERTIFICATE----- + +# Issuer: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust +# Subject: CN=Baltimore CyberTrust Root O=Baltimore OU=CyberTrust +# Label: "Baltimore CyberTrust Root" +# Serial: 33554617 +# MD5 Fingerprint: ac:b6:94:a5:9c:17:e0:d7:91:52:9b:b1:97:06:a6:e4 +# SHA1 Fingerprint: d4:de:20:d0:5e:66:fc:53:fe:1a:50:88:2c:78:db:28:52:ca:e4:74 +# SHA256 Fingerprint: 16:af:57:a9:f6:76:b0:ab:12:60:95:aa:5e:ba:de:f2:2a:b3:11:19:d6:44:ac:95:cd:4b:93:db:f3:f2:6a:eb +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ +RTESMBAGA1UEChMJQmFsdGltb3JlMRMwEQYDVQQLEwpDeWJlclRydXN0MSIwIAYD +VQQDExlCYWx0aW1vcmUgQ3liZXJUcnVzdCBSb290MB4XDTAwMDUxMjE4NDYwMFoX +DTI1MDUxMjIzNTkwMFowWjELMAkGA1UEBhMCSUUxEjAQBgNVBAoTCUJhbHRpbW9y +ZTETMBEGA1UECxMKQ3liZXJUcnVzdDEiMCAGA1UEAxMZQmFsdGltb3JlIEN5YmVy +VHJ1c3QgUm9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKMEuyKr +mD1X6CZymrV51Cni4eiVgLGw41uOKymaZN+hXe2wCQVt2yguzmKiYv60iNoS6zjr +IZ3AQSsBUnuId9Mcj8e6uYi1agnnc+gRQKfRzMpijS3ljwumUNKoUMMo6vWrJYeK +mpYcqWe4PwzV9/lSEy/CG9VwcPCPwBLKBsua4dnKM3p31vjsufFoREJIE9LAwqSu +XmD+tqYF/LTdB1kC1FkYmGP1pWPgkAx9XbIGevOF6uvUA65ehD5f/xXtabz5OTZy +dc93Uk3zyZAsuT3lySNTPx8kmCFcB5kpvcY67Oduhjprl3RjM71oGDHweI12v/ye +jl0qhqdNkNwnGjkCAwEAAaNFMEMwHQYDVR0OBBYEFOWdWTCCR1jMrPoIVDaGezq1 +BE3wMBIGA1UdEwEB/wQIMAYBAf8CAQMwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3 +DQEBBQUAA4IBAQCFDF2O5G9RaEIFoN27TyclhAO992T9Ldcw46QQF+vaKSm2eT92 +9hkTI7gQCvlYpNRhcL0EYWoSihfVCr3FvDB81ukMJY2GQE/szKN+OMY3EU/t3Wgx +jkzSswF07r51XgdIGn9w/xZchMB5hbgF/X++ZRGjD8ACtPhSNzkE1akxehi/oCr0 +Epn3o0WC4zxe9Z2etciefC7IpJ5OCBRLbf1wbWsaY71k5h+3zvDyny67G7fyUIhz +ksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9HRCwBXbsdtTLS +R9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp +-----END CERTIFICATE----- + +# Issuer: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc. +# Subject: CN=Entrust Root Certification Authority O=Entrust, Inc. OU=www.entrust.net/CPS is incorporated by reference/(c) 2006 Entrust, Inc. +# Label: "Entrust Root Certification Authority" +# Serial: 1164660820 +# MD5 Fingerprint: d6:a5:c3:ed:5d:dd:3e:00:c1:3d:87:92:1f:1d:3f:e4 +# SHA1 Fingerprint: b3:1e:b1:b7:40:e3:6c:84:02:da:dc:37:d4:4d:f5:d4:67:49:52:f9 +# SHA256 Fingerprint: 73:c1:76:43:4f:1b:c6:d5:ad:f4:5b:0e:76:e7:27:28:7c:8d:e5:76:16:c1:e6:e6:14:1a:2b:2c:bc:7d:8e:4c +-----BEGIN CERTIFICATE----- +MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMC +VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0 +Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW +KGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl +cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0MloXDTI2MTEyNzIw +NTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkw +NwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSBy +ZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNV +BAMTJEVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBALaVtkNC+sZtKm9I35RMOVcF7sN5EUFo +Nu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYszA9u3g3s+IIRe7bJWKKf4 +4LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOwwCj0Yzfv9 +KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGI +rb68j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi +94DkZfs0Nw4pgHBNrziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOB +sDCBrTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAi +gA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1MzQyWjAfBgNVHSMEGDAWgBRo +kORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DHhmak8fdLQ/uE +vW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA +A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9t +O1KzKtvn1ISMY/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Zua +AGAT/3B+XxFNSRuzFVJ7yVTav52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP +9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTSW3iDVuycNsMm4hH2Z0kdkquM++v/ +eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0tHuu2guQOHXvgR1m +0vdXcDazv/wor3ElhVsT/h5/WrQ8 +-----END CERTIFICATE----- + +# Issuer: CN=AAA Certificate Services O=Comodo CA Limited +# Subject: CN=AAA Certificate Services O=Comodo CA Limited +# Label: "Comodo AAA Services root" +# Serial: 1 +# MD5 Fingerprint: 49:79:04:b0:eb:87:19:ac:47:b0:bc:11:51:9b:74:d0 +# SHA1 Fingerprint: d1:eb:23:a4:6d:17:d6:8f:d9:25:64:c2:f1:f1:60:17:64:d8:e3:49 +# SHA256 Fingerprint: d7:a7:a0:fb:5d:7e:27:31:d7:71:e9:48:4e:bc:de:f7:1d:5f:0c:3e:0a:29:48:78:2b:c8:3e:e0:ea:69:9e:f4 +-----BEGIN CERTIFICATE----- +MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb +MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow +GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj +YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL +MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE +BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM +GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP +ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua +BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe +3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4 +YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR +rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm +ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU +oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF +MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v +QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t +b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF +AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q +GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz +Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2 +G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi +l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3 +smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg== +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 2 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 2 O=QuoVadis Limited +# Label: "QuoVadis Root CA 2" +# Serial: 1289 +# MD5 Fingerprint: 5e:39:7b:dd:f8:ba:ec:82:e9:ac:62:ba:0c:54:00:2b +# SHA1 Fingerprint: ca:3a:fb:cf:12:40:36:4b:44:b2:16:20:88:80:48:39:19:93:7c:f7 +# SHA256 Fingerprint: 85:a0:dd:7d:d7:20:ad:b7:ff:05:f8:3d:54:2b:20:9d:c7:ff:45:28:f7:d6:77:b1:83:89:fe:a5:e5:c4:9e:86 +-----BEGIN CERTIFICATE----- +MIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x +GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv +b3QgQ0EgMjAeFw0wNjExMjQxODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNV +BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W +YWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCa +GMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6XJxg +Fyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55J +WpzmM+Yklvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bB +rrcCaoF6qUWD4gXmuVbBlDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp ++ARz8un+XJiM9XOva7R+zdRcAitMOeGylZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1 +ksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt66/3FsvbzSUr5R/7mp/i +Ucw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1JdxnwQ5hYIiz +PtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og +/zOhD7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UH +oycR7hYQe7xFSkyyBNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuI +yV77zGHcizN300QyNQliBJIWENieJ0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1Ud +EwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBQahGK8SEwzJQTU7tD2 +A8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGUa6FJpEcwRTEL +MAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT +ElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2f +BluornFdLwUvZ+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzn +g/iN/Ae42l9NLmeyhP3ZRPx3UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2Bl +fF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodmVjB3pjd4M1IQWK4/YY7yarHvGH5K +WWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK+JDSV6IZUaUtl0Ha +B0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrWIozc +hLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPR +TUIZ3Ph1WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWD +mbA4CD/pXvk1B+TJYm5Xf6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0Z +ohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y +4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8VCLAAVBpQ570su9t+Oza +8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 3 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 3 O=QuoVadis Limited +# Label: "QuoVadis Root CA 3" +# Serial: 1478 +# MD5 Fingerprint: 31:85:3c:62:94:97:63:b9:aa:fd:89:4e:af:6f:e0:cf +# SHA1 Fingerprint: 1f:49:14:f7:d8:74:95:1d:dd:ae:02:c0:be:fd:3a:2d:82:75:51:85 +# SHA256 Fingerprint: 18:f1:fc:7f:20:5d:f8:ad:dd:eb:7f:e0:07:dd:57:e3:af:37:5a:9c:4d:8d:73:54:6b:f4:f1:fe:d1:e1:8d:35 +-----BEGIN CERTIFICATE----- +MIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x +GTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv +b3QgQ0EgMzAeFw0wNjExMjQxOTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNV +BAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W +YWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDM +V0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNggDhoB +4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUr +H556VOijKTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd +8lyyBTNvijbO0BNO/79KDDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9Cabwv +vWhDFlaJKjdhkf2mrk7AyxRllDdLkgbvBNDInIjbC3uBr7E9KsRlOni27tyAsdLT +mZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwpp5ijJUMv7/FfJuGITfhe +btfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8nT8KKdjc +T5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDt +WAEXMJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZ +c6tsgLjoC2SToJyMGf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A +4iLItLRkT9a6fUg+qGkM17uGcclzuD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYD +VR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHTBgkrBgEEAb5YAAMwgcUwgZMG +CCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmljYXRlIGNvbnN0 +aXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0 +aWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVu +dC4wLQYIKwYBBQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2Nw +czALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4G +A1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4ywLQoUmkRzBFMQswCQYDVQQGEwJC +TTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UEAxMSUXVvVmFkaXMg +Um9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZVqyM0 +7ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSem +d1o417+shvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd ++LJ2w/w4E6oM3kJpK27zPOuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B +4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadN +t54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp8kokUvd0/bpO5qgdAm6x +DYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBCbjPsMZ57 +k8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6s +zHXug/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0j +Wy10QJLZYxkNc91pvGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeT +mJlglFwjz1onl14LBQaTNx47aTbrqZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK +4SVhM7JZG+Ju1zdXtg2pEto= +-----END CERTIFICATE----- + +# Issuer: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com +# Subject: CN=XRamp Global Certification Authority O=XRamp Security Services Inc OU=www.xrampsecurity.com +# Label: "XRamp Global CA Root" +# Serial: 107108908803651509692980124233745014957 +# MD5 Fingerprint: a1:0b:44:b3:ca:10:d8:00:6e:9d:0f:d8:0f:92:0a:d1 +# SHA1 Fingerprint: b8:01:86:d1:eb:9c:86:a5:41:04:cf:30:54:f3:4c:52:b7:e5:58:c6 +# SHA256 Fingerprint: ce:cd:dc:90:50:99:d8:da:df:c5:b1:d2:09:b7:37:cb:e2:c1:8c:fb:2c:10:c0:ff:0b:cf:0d:32:86:fc:1a:a2 +-----BEGIN CERTIFICATE----- +MIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCB +gjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk +MCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY +UmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQxMTAxMTcx +NDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3 +dy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2Vy +dmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS6 +38eMpSe2OAtp87ZOqCwuIR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCP +KZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMxfoArtYzAQDsRhtDLooY2YKTVMIJt2W7Q +DxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FEzG+gSqmUsE3a56k0enI4 +qEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqsAxcZZPRa +JSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNVi +PvryxS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0P +BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASs +jVy16bYbMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0 +eS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQEwDQYJKoZIhvcNAQEFBQAD +ggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc/Kh4ZzXxHfAR +vbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt +qZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLa +IR9NmXmd4c8nnxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSy +i6mx5O+aGtA9aZnuqCij4Tyz8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQ +O+7ETPTsJ3xCwnR8gooJybQDJbw= +-----END CERTIFICATE----- + +# Issuer: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority +# Subject: O=The Go Daddy Group, Inc. OU=Go Daddy Class 2 Certification Authority +# Label: "Go Daddy Class 2 CA" +# Serial: 0 +# MD5 Fingerprint: 91:de:06:25:ab:da:fd:32:17:0c:bb:25:17:2a:84:67 +# SHA1 Fingerprint: 27:96:ba:e6:3f:18:01:e2:77:26:1b:a0:d7:77:70:02:8f:20:ee:e4 +# SHA256 Fingerprint: c3:84:6b:f2:4b:9e:93:ca:64:27:4c:0e:c6:7c:1e:cc:5e:02:4f:fc:ac:d2:d7:40:19:35:0e:81:fe:54:6a:e4 +-----BEGIN CERTIFICATE----- +MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh +MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE +YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3 +MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo +ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg +MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN +ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA +PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w +wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi +EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY +avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+ +YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE +sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h +/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5 +IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD +ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy +OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P +TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ +HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER +dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf +ReYNnyicsbkqWletNw+vHX/bvZ8= +-----END CERTIFICATE----- + +# Issuer: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority +# Subject: O=Starfield Technologies, Inc. OU=Starfield Class 2 Certification Authority +# Label: "Starfield Class 2 CA" +# Serial: 0 +# MD5 Fingerprint: 32:4a:4b:bb:c8:63:69:9b:be:74:9a:c6:dd:1d:46:24 +# SHA1 Fingerprint: ad:7e:1c:28:b0:64:ef:8f:60:03:40:20:14:c3:d0:e3:37:0e:b5:8a +# SHA256 Fingerprint: 14:65:fa:20:53:97:b8:76:fa:a6:f0:a9:95:8e:55:90:e4:0f:cc:7f:aa:4f:b7:c2:c8:67:75:21:fb:5f:b6:58 +-----BEGIN CERTIFICATE----- +MIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl +MCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp +U3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw +NjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE +ChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp +ZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3 +DQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf +8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN ++lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0 +X9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa +K4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA +1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G +A1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR +zt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0 +YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD +bGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w +DQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3 +L7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D +eruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl +xy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp +VSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY +WQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q= +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Assured ID Root CA O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Assured ID Root CA" +# Serial: 17154717934120587862167794914071425081 +# MD5 Fingerprint: 87:ce:0b:7b:2a:0e:49:00:e1:58:71:9b:37:a8:93:72 +# SHA1 Fingerprint: 05:63:b8:63:0d:62:d7:5a:bb:c8:ab:1e:4b:df:b5:a8:99:b2:4d:43 +# SHA256 Fingerprint: 3e:90:99:b5:01:5e:8f:48:6c:00:bc:ea:9d:11:1e:e7:21:fa:ba:35:5a:89:bc:f1:df:69:56:1e:3d:c6:32:5c +-----BEGIN CERTIFICATE----- +MIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv +b3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl +cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c +JpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP +mDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+ +wRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4 +VYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/ +AUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB +AAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW +BBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun +pyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC +dWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf +fwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm +NW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx +H2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe ++o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g== +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Global Root CA O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Global Root CA" +# Serial: 10944719598952040374951832963794454346 +# MD5 Fingerprint: 79:e4:a9:84:0d:7d:3a:96:d7:c0:4f:e2:43:4c:89:2e +# SHA1 Fingerprint: a8:98:5d:3a:65:e5:e5:c4:b2:d7:d6:6d:40:c6:dd:2f:b1:9c:54:36 +# SHA256 Fingerprint: 43:48:a0:e9:44:4c:78:cb:26:5e:05:8d:5e:89:44:b4:d8:4f:96:62:bd:26:db:25:7f:89:34:a4:43:c7:01:61 +-----BEGIN CERTIFICATE----- +MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD +QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT +MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j +b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB +CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97 +nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt +43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P +T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4 +gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO +BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR +TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw +DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr +hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg +06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF +PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls +YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk +CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4= +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert High Assurance EV Root CA O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert High Assurance EV Root CA" +# Serial: 3553400076410547919724730734378100087 +# MD5 Fingerprint: d4:74:de:57:5c:39:b2:d3:9c:85:83:c5:c0:65:49:8a +# SHA1 Fingerprint: 5f:b7:ee:06:33:e2:59:db:ad:0c:4c:9a:e6:d3:8f:1a:61:c7:dc:25 +# SHA256 Fingerprint: 74:31:e5:f4:c3:c1:ce:46:90:77:4f:0b:61:e0:54:40:88:3b:a9:a0:1e:d0:0b:a6:ab:d7:80:6e:d3:b1:18:cf +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j +ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL +MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3 +LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug +RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm ++9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW +PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM +xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB +Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3 +hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg +EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA +FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec +nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z +eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF +hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2 +Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe +vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep ++OkuE6N36B9K +-----END CERTIFICATE----- + +# Issuer: CN=SwissSign Gold CA - G2 O=SwissSign AG +# Subject: CN=SwissSign Gold CA - G2 O=SwissSign AG +# Label: "SwissSign Gold CA - G2" +# Serial: 13492815561806991280 +# MD5 Fingerprint: 24:77:d9:a8:91:d1:3b:fa:88:2d:c2:ff:f8:cd:33:93 +# SHA1 Fingerprint: d8:c5:38:8a:b7:30:1b:1b:6e:d4:7a:e6:45:25:3a:6f:9f:1a:27:61 +# SHA256 Fingerprint: 62:dd:0b:e9:b9:f5:0a:16:3e:a0:f8:e7:5c:05:3b:1e:ca:57:ea:55:c8:68:8f:64:7c:68:81:f2:c8:35:7b:95 +-----BEGIN CERTIFICATE----- +MIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV +BAYTAkNIMRUwEwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2ln +biBHb2xkIENBIC0gRzIwHhcNMDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBF +MQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dpc3NTaWduIEFHMR8wHQYDVQQDExZT +d2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC +CgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUqt2/8 +76LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+ +bbqBHH5CjCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c +6bM8K8vzARO/Ws/BtQpgvd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqE +emA8atufK+ze3gE/bk3lUIbLtK/tREDFylqM2tIrfKjuvqblCqoOpd8FUrdVxyJd +MmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvRAiTysybUa9oEVeXBCsdt +MDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuendjIj3o02y +MszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69y +FGkOpeUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPi +aG59je883WX0XaxR7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxM +gI93e2CaHt+28kgeDrpOVG2Y4OGiGqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCB +qTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUWyV7 +lqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64OfPAeGZe6Drn +8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov +L3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe6 +45R88a7A3hfm5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczO +UYrHUDFu4Up+GC9pWbY9ZIEr44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5 +O1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOfMke6UiI0HTJ6CVanfCU2qT1L2sCC +bwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6mGu6uLftIdxf+u+yv +GPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxpmo/a +77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCC +hdiDyyJkvC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid3 +92qgQmwLOM7XdVAyksLfKzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEpp +Ld6leNcG2mqeSz53OiATIgHQv2ieY2BrNU0LbbqhPcCT4H8js1WtciVORvnSFu+w +ZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6LqjviOvrv1vA+ACOzB2+htt +Qc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ +-----END CERTIFICATE----- + +# Issuer: CN=SwissSign Silver CA - G2 O=SwissSign AG +# Subject: CN=SwissSign Silver CA - G2 O=SwissSign AG +# Label: "SwissSign Silver CA - G2" +# Serial: 5700383053117599563 +# MD5 Fingerprint: e0:06:a1:c9:7d:cf:c9:fc:0d:c0:56:75:96:d8:62:13 +# SHA1 Fingerprint: 9b:aa:e5:9f:56:ee:21:cb:43:5a:be:25:93:df:a7:f0:40:d1:1d:cb +# SHA256 Fingerprint: be:6c:4d:a2:bb:b9:ba:59:b6:f3:93:97:68:37:42:46:c3:c0:05:99:3f:a9:8f:02:0d:1d:ed:be:d4:8a:81:d5 +-----BEGIN CERTIFICATE----- +MIIFvTCCA6WgAwIBAgIITxvUL1S7L0swDQYJKoZIhvcNAQEFBQAwRzELMAkGA1UE +BhMCQ0gxFTATBgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWdu +IFNpbHZlciBDQSAtIEcyMB4XDTA2MTAyNTA4MzI0NloXDTM2MTAyNTA4MzI0Nlow +RzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMY +U3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A +MIICCgKCAgEAxPGHf9N4Mfc4yfjDmUO8x/e8N+dOcbpLj6VzHVxumK4DV644N0Mv +Fz0fyM5oEMF4rhkDKxD6LHmD9ui5aLlV8gREpzn5/ASLHvGiTSf5YXu6t+WiE7br +YT7QbNHm+/pe7R20nqA1W6GSy/BJkv6FCgU+5tkL4k+73JU3/JHpMjUi0R86TieF +nbAVlDLaYQ1HTWBCrpJH6INaUFjpiou5XaHc3ZlKHzZnu0jkg7Y360g6rw9njxcH +6ATK72oxh9TAtvmUcXtnZLi2kUpCe2UuMGoM9ZDulebyzYLs2aFK7PayS+VFheZt +eJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5hqAaEuSh6XzjZG6k4sIN/ +c8HDO0gqgg8hm7jMqDXDhBuDsz6+pJVpATqJAHgE2cn0mRmrVn5bi4Y5FZGkECwJ +MoBgs5PAKrYYC51+jUnyEEp/+dVGLxmSo5mnJqy7jDzmDrxHB9xzUfFwZC8I+bRH +HTBsROopN4WSaGa8gzj+ezku01DwH/teYLappvonQfGbGHLy9YR0SslnxFSuSGTf +jNFusB3hB48IHpmccelM2KX3RxIfdNFRnobzwqIjQAtz20um53MGjMGg6cFZrEb6 +5i/4z3GcRm25xBWNOHkDRUjvxF3XCO6HOSKGsg0PWEP3calILv3q1h8CAwEAAaOB +rDCBqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU +F6DNweRBtjpbO8tFnb0cwpj6hlgwHwYDVR0jBBgwFoAUF6DNweRBtjpbO8tFnb0c +wpj6hlgwRgYDVR0gBD8wPTA7BglghXQBWQEDAQEwLjAsBggrBgEFBQcCARYgaHR0 +cDovL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIB +AHPGgeAn0i0P4JUw4ppBf1AsX19iYamGamkYDHRJ1l2E6kFSGG9YrVBWIGrGvShp +WJHckRE1qTodvBqlYJ7YH39FkWnZfrt4csEGDyrOj4VwYaygzQu4OSlWhDJOhrs9 +xCrZ1x9y7v5RoSJBsXECYxqCsGKrXlcSH9/L3XWgwF15kIwb4FDm3jH+mHtwX6WQ +2K34ArZv02DdQEsixT2tOnqfGhpHkXkzuoLcMmkDlm4fS/Bx/uNncqCxv1yL5PqZ +IseEuRuNI5c/7SXgz2W79WEE790eslpBIlqhn10s6FvJbakMDHiqYMZWjwFaDGi8 +aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2X +em1ZqSqPe97Dh4kQmUlzeMg9vVE1dCrV8X5pGyq7O70luJpaPXJhkGaH7gzWTdQR +dAtq/gsD/KNVV4n+SsuuWxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/ +OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJDIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+ +hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ubDgEj8Z+7fNzcbBGXJbLy +tGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u +-----END CERTIFICATE----- + +# Issuer: CN=SecureTrust CA O=SecureTrust Corporation +# Subject: CN=SecureTrust CA O=SecureTrust Corporation +# Label: "SecureTrust CA" +# Serial: 17199774589125277788362757014266862032 +# MD5 Fingerprint: dc:32:c3:a7:6d:25:57:c7:68:09:9d:ea:2d:a9:a2:d1 +# SHA1 Fingerprint: 87:82:c6:c3:04:35:3b:cf:d2:96:92:d2:59:3e:7d:44:d9:34:ff:11 +# SHA256 Fingerprint: f1:c1:b5:0a:e5:a2:0d:d8:03:0e:c9:f6:bc:24:82:3d:d3:67:b5:25:57:59:b4:e7:1b:61:fc:e9:f7:37:5d:73 +-----BEGIN CERTIFICATE----- +MIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBI +MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x +FzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIz +MTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENv +cnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCCASIwDQYJKoZIhvcN +AQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQXOZEz +Zum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO +0gMdA+9tDWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIao +wW8xQmxSPmjL8xk037uHGFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj +7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b01k/unK8RCSc43Oz969XL0Imnal0ugBS +8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmHursCAwEAAaOBnTCBmjAT +BgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCeg +JYYjaHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGC +NxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt3 +6Z3q059c4EVlew3KW+JwULKUBRSuSceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/ +3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHfmbx8IVQr5Fiiu1cprp6poxkm +D5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZnMUFdAvnZyPS +CPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR +3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE= +-----END CERTIFICATE----- + +# Issuer: CN=Secure Global CA O=SecureTrust Corporation +# Subject: CN=Secure Global CA O=SecureTrust Corporation +# Label: "Secure Global CA" +# Serial: 9751836167731051554232119481456978597 +# MD5 Fingerprint: cf:f4:27:0d:d4:ed:dc:65:16:49:6d:3d:da:bf:6e:de +# SHA1 Fingerprint: 3a:44:73:5a:e5:81:90:1f:24:86:61:46:1e:3b:9c:c4:5f:f5:3a:1b +# SHA256 Fingerprint: 42:00:f5:04:3a:c8:59:0e:bb:52:7d:20:9e:d1:50:30:29:fb:cb:d4:1c:a1:b5:06:ec:27:f1:5a:de:7d:ac:69 +-----BEGIN CERTIFICATE----- +MIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBK +MQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x +GTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkx +MjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3Qg +Q29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jxYDiJ +iQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa +/FHtaMbQbqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJ +jnIFHovdRIWCQtBJwB1g8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnI +HmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYVHDGA76oYa8J719rO+TMg1fW9ajMtgQT7 +sFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi0XPnj3pDAgMBAAGjgZ0w +gZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCsw +KaAnoCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsG +AQQBgjcVAQQDAgEAMA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0L +URYD7xh8yOOvaliTFGCRsoTciE6+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXO +H0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cnCDpOGR86p1hcF895P4vkp9Mm +I50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/53CYNv6ZHdAbY +iNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc +f8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW +-----END CERTIFICATE----- + +# Issuer: CN=COMODO Certification Authority O=COMODO CA Limited +# Subject: CN=COMODO Certification Authority O=COMODO CA Limited +# Label: "COMODO Certification Authority" +# Serial: 104350513648249232941998508985834464573 +# MD5 Fingerprint: 5c:48:dc:f7:42:72:ec:56:94:6d:1c:cc:71:35:80:75 +# SHA1 Fingerprint: 66:31:bf:9e:f7:4f:9e:b6:c9:d5:a6:0c:ba:6a:be:d1:f7:bd:ef:7b +# SHA256 Fingerprint: 0c:2c:d6:3d:f7:80:6f:a3:99:ed:e8:09:11:6b:57:5b:f8:79:89:f0:65:18:f9:80:8c:86:05:03:17:8b:af:66 +-----BEGIN CERTIFICATE----- +MIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCB +gTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G +A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNV +BAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEyMDEwMDAw +MDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl +YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01P +RE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0 +aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3 +UcEbVASY06m/weaKXTuH+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI +2GqGd0S7WWaXUF601CxwRM/aN5VCaTwwxHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8 +Q5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV4EajcNxo2f8ESIl33rXp ++2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA1KGzqSX+ +DT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5O +nKVIrLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW +/zAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6g +PKA6hjhodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9u +QXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOCAQEAPpiem/Yb6dc5t3iuHXIY +SdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CPOGEIqB6BCsAv +IC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/ +RxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4 +zJVSk/BwJVmcIGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5dd +BA6+C4OmF4O5MBKgxTMVBbkN+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IB +ZQ== +-----END CERTIFICATE----- + +# Issuer: CN=COMODO ECC Certification Authority O=COMODO CA Limited +# Subject: CN=COMODO ECC Certification Authority O=COMODO CA Limited +# Label: "COMODO ECC Certification Authority" +# Serial: 41578283867086692638256921589707938090 +# MD5 Fingerprint: 7c:62:ff:74:9d:31:53:5e:68:4a:d5:78:aa:1e:bf:23 +# SHA1 Fingerprint: 9f:74:4e:9f:2b:4d:ba:ec:0f:31:2c:50:b6:56:3b:8e:2d:93:c3:11 +# SHA256 Fingerprint: 17:93:92:7a:06:14:54:97:89:ad:ce:2f:8f:34:f7:f0:b6:6d:0f:3a:e3:a3:b8:4d:21:ec:15:db:ba:4f:ad:c7 +-----BEGIN CERTIFICATE----- +MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTEL +MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE +BxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMT +IkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwMzA2MDAw +MDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdy +ZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09N +T0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlv +biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSR +FtSrYpn1PlILBs5BAH+X4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0J +cfRK9ChQtP6IHG4/bC8vCVlbpVsLM5niwz2J+Wos77LTBumjQjBAMB0GA1UdDgQW +BBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VGFAkK+qDm +fQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdv +GDeAU/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY= +-----END CERTIFICATE----- + +# Issuer: CN=Certigna O=Dhimyotis +# Subject: CN=Certigna O=Dhimyotis +# Label: "Certigna" +# Serial: 18364802974209362175 +# MD5 Fingerprint: ab:57:a6:5b:7d:42:82:19:b5:d8:58:26:28:5e:fd:ff +# SHA1 Fingerprint: b1:2e:13:63:45:86:a4:6f:1a:b2:60:68:37:58:2d:c4:ac:fd:94:97 +# SHA256 Fingerprint: e3:b6:a2:db:2e:d7:ce:48:84:2f:7a:c5:32:41:c7:b7:1d:54:14:4b:fb:40:c1:1f:3f:1d:0b:42:f5:ee:a1:2d +-----BEGIN CERTIFICATE----- +MIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNV +BAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4X +DTA3MDYyOTE1MTMwNVoXDTI3MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQ +BgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwIQ2VydGlnbmEwggEiMA0GCSqGSIb3 +DQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7qXOEm7RFHYeGifBZ4 +QCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyHGxny +gQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbw +zBfsV1/pogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q +130yGLMLLGq/jj8UEYkgDncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2 +JsglrgVKtOdjLPOMFlN+XPsRGgjBRmKfIrjxwo1p3Po6WAbfAgMBAAGjgbwwgbkw +DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQtCRZvgHyUtVF9lo53BEw +ZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJBgNVBAYT +AkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzj +AQ/JSP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG +9w0BAQUFAAOCAQEAhQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8h +bV6lUmPOEvjvKtpv6zf+EwLHyzs+ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFnc +fca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1kluPBS1xp81HlDQwY9qcEQCYsuu +HWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY1gkIl2PlwS6w +t0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw +WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg== +-----END CERTIFICATE----- + +# Issuer: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority +# Subject: O=Chunghwa Telecom Co., Ltd. OU=ePKI Root Certification Authority +# Label: "ePKI Root Certification Authority" +# Serial: 28956088682735189655030529057352760477 +# MD5 Fingerprint: 1b:2e:00:ca:26:06:90:3d:ad:fe:6f:15:68:d3:6b:b3 +# SHA1 Fingerprint: 67:65:0d:f1:7e:8e:7e:5b:82:40:a4:f4:56:4b:cf:e2:3d:69:c6:f0 +# SHA256 Fingerprint: c0:a6:f4:dc:63:a2:4b:fd:cf:54:ef:2a:6a:08:2a:0a:72:de:35:80:3e:2f:f5:ff:52:7a:e5:d8:72:06:df:d5 +-----BEGIN CERTIFICATE----- +MIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBe +MQswCQYDVQQGEwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0 +ZC4xKjAoBgNVBAsMIWVQS0kgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe +Fw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMxMjdaMF4xCzAJBgNVBAYTAlRXMSMw +IQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEqMCgGA1UECwwhZVBL +SSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAH +SyZbCUNsIZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAh +ijHyl3SJCRImHJ7K2RKilTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3X +DZoTM1PRYfl61dd4s5oz9wCGzh1NlDivqOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1 +TBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX12ruOzjjK9SXDrkb5wdJ +fzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0OWQqraffA +sgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uU +WH1+ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLS +nT0IFaUQAS2zMnaolQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pH +dmX2Os+PYhcZewoozRrSgx4hxyy/vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJip +NiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXiZo1jDiVN1Rmy5nk3pyKdVDEC +AwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/QkqiMAwGA1UdEwQF +MAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH +ClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGB +uvl2ICO1J2B01GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6Yl +PwZpVnPDimZI+ymBV3QGypzqKOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkP +JXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdVxrsStZf0X4OFunHB2WyBEXYKCrC/ +gpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEPNXubrjlpC2JgQCA2 +j6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+rGNm6 +5ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUB +o2M3IUxExJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS +/jQ6fbjpKdx2qcgw+BRxgMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2z +Gp1iro2C6pSe3VkQw63d4k3jMdXH7OjysP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTE +W9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmODBCEIZ43ygknQW/2xzQ+D +hNQ+IIX3Sj0rnP0qCglN6oH4EZw= +-----END CERTIFICATE----- + +# Issuer: O=certSIGN OU=certSIGN ROOT CA +# Subject: O=certSIGN OU=certSIGN ROOT CA +# Label: "certSIGN ROOT CA" +# Serial: 35210227249154 +# MD5 Fingerprint: 18:98:c0:d6:e9:3a:fc:f9:b0:f5:0c:f7:4b:01:44:17 +# SHA1 Fingerprint: fa:b7:ee:36:97:26:62:fb:2d:b0:2a:f6:bf:03:fd:e8:7c:4b:2f:9b +# SHA256 Fingerprint: ea:a9:62:c4:fa:4a:6b:af:eb:e4:15:19:6d:35:1c:cd:88:8d:4f:53:f3:fa:8a:e6:d7:c4:66:a9:4e:60:42:bb +-----BEGIN CERTIFICATE----- +MIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYT +AlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBD +QTAeFw0wNjA3MDQxNzIwMDRaFw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJP +MREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTCC +ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7IJUqOtdu0KBuqV5Do +0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHHrfAQ +UySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5d +RdY4zTW2ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQ +OA7+j0xbm0bqQfWwCHTD0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwv +JoIQ4uNllAoEwF73XVv4EOLQunpL+943AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08C +AwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAcYwHQYDVR0O +BBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IBAQA+0hyJ +LjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecY +MnQ8SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ +44gx+FkagQnIl6Z0x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6I +Jd1hJyMctTEHBDa0GpC9oHRxUIltvBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNw +i/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7NzTogVZ96edhBiIL5VaZVDADlN +9u6wWk5JRFRYX0KD +-----END CERTIFICATE----- + +# Issuer: CN=NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny O=NetLock Kft. OU=Tan\xfas\xedtv\xe1nykiad\xf3k (Certification Services) +# Subject: CN=NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny O=NetLock Kft. OU=Tan\xfas\xedtv\xe1nykiad\xf3k (Certification Services) +# Label: "NetLock Arany (Class Gold) F\u0151tan\xfas\xedtv\xe1ny" +# Serial: 80544274841616 +# MD5 Fingerprint: c5:a1:b7:ff:73:dd:d6:d7:34:32:18:df:fc:3c:ad:88 +# SHA1 Fingerprint: 06:08:3f:59:3f:15:a1:04:a0:69:a4:6b:a9:03:d0:06:b7:97:09:91 +# SHA256 Fingerprint: 6c:61:da:c3:a2:de:f0:31:50:6b:e0:36:d2:a6:fe:40:19:94:fb:d1:3d:f9:c8:d4:66:59:92:74:c4:46:ec:98 +-----BEGIN CERTIFICATE----- +MIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQG +EwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3 +MDUGA1UECwwuVGFuw7pzw610dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNl +cnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBBcmFueSAoQ2xhc3MgR29sZCkgRsWR +dGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgxMjA2MTUwODIxWjCB +pzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxOZXRM +b2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlm +aWNhdGlvbiBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNz +IEdvbGQpIEbFkXRhbsO6c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A +MIIBCgKCAQEAxCRec75LbRTDofTjl5Bu0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrT +lF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw/HpYzY6b7cNGbIRwXdrz +AZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAkH3B5r9s5 +VA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRG +ILdwfzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2 +BJtr+UBdADTHLpl1neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAG +AQH/AgEEMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2M +U9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwWqZw8UQCgwBEIBaeZ5m8BiFRh +bvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTtaYtOUZcTh5m2C ++C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC +bLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2F +uLjbvrW5KfnaNwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2 +XjG4Kvte9nHfRCaexOYNkbQudZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E= +-----END CERTIFICATE----- + +# Issuer: CN=SecureSign RootCA11 O=Japan Certification Services, Inc. +# Subject: CN=SecureSign RootCA11 O=Japan Certification Services, Inc. +# Label: "SecureSign RootCA11" +# Serial: 1 +# MD5 Fingerprint: b7:52:74:e2:92:b4:80:93:f2:75:e4:cc:d7:f2:ea:26 +# SHA1 Fingerprint: 3b:c4:9f:48:f8:f3:73:a0:9c:1e:bd:f8:5b:b1:c3:65:c7:d8:11:b3 +# SHA256 Fingerprint: bf:0f:ee:fb:9e:3a:58:1a:d5:f9:e9:db:75:89:98:57:43:d2:61:08:5c:4d:31:4f:6f:5d:72:59:aa:42:16:12 +-----BEGIN CERTIFICATE----- +MIIDbTCCAlWgAwIBAgIBATANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQGEwJKUDEr +MCkGA1UEChMiSmFwYW4gQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcywgSW5jLjEcMBoG +A1UEAxMTU2VjdXJlU2lnbiBSb290Q0ExMTAeFw0wOTA0MDgwNDU2NDdaFw0yOTA0 +MDgwNDU2NDdaMFgxCzAJBgNVBAYTAkpQMSswKQYDVQQKEyJKYXBhbiBDZXJ0aWZp +Y2F0aW9uIFNlcnZpY2VzLCBJbmMuMRwwGgYDVQQDExNTZWN1cmVTaWduIFJvb3RD +QTExMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA/XeqpRyQBTvLTJsz +i1oURaTnkBbR31fSIRCkF/3frNYfp+TbfPfs37gD2pRY/V1yfIw/XwFndBWW4wI8 +h9uuywGOwvNmxoVF9ALGOrVisq/6nL+k5tSAMJjzDbaTj6nU2DbysPyKyiyhFTOV +MdrAG/LuYpmGYz+/3ZMqg6h2uRMft85OQoWPIucuGvKVCbIFtUROd6EgvanyTgp9 +UK31BQ1FT0Zx/Sg+U/sE2C3XZR1KG/rPO7AxmjVuyIsG0wCR8pQIZUyxNAYAeoni +8McDWc/V1uinMrPmmECGxc0nEovMe863ETxiYAcjPitAbpSACW22s293bzUIUPsC +h8U+iQIDAQABo0IwQDAdBgNVHQ4EFgQUW/hNT7KlhtQ60vFjmqC+CfZXt94wDgYD +VR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEB +AKChOBZmLqdWHyGcBvod7bkixTgm2E5P7KN/ed5GIaGHd48HCJqypMWvDzKYC3xm +KbabfSVSSUOrTC4rbnpwrxYO4wJs+0LmGJ1F2FXI6Dvd5+H0LgscNFxsWEr7jIhQ +X5Ucv+2rIrVls4W6ng+4reV6G4pQOh29Dbx7VFALuUKvVaAYga1lme++5Jy/xIWr +QbJUb9wlze144o4MjQlJ3WN7WmmWAiGovVJZ6X01y8hSyn+B/tlr0/cR7SXf+Of5 +pPpyl4RTDaXQMhhRdlkUbA/r7F+AjHVDg8OFmP9Mni0N5HeDk061lgeLKBObjBmN +QSdJQO7e5iNEOdyhIta6A/I= +-----END CERTIFICATE----- + +# Issuer: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd. +# Subject: CN=Microsec e-Szigno Root CA 2009 O=Microsec Ltd. +# Label: "Microsec e-Szigno Root CA 2009" +# Serial: 14014712776195784473 +# MD5 Fingerprint: f8:49:f4:03:bc:44:2d:83:be:48:69:7d:29:64:fc:b1 +# SHA1 Fingerprint: 89:df:74:fe:5c:f4:0f:4a:80:f9:e3:37:7d:54:da:91:e1:01:31:8e +# SHA256 Fingerprint: 3c:5f:81:fe:a5:fa:b8:2c:64:bf:a2:ea:ec:af:cd:e8:e0:77:fc:86:20:a7:ca:e5:37:16:3d:f3:6e:db:f3:78 +-----BEGIN CERTIFICATE----- +MIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYD +VQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0 +ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0G +CSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTAeFw0wOTA2MTYxMTMwMThaFw0y +OTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3Qx +FjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3pp +Z25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o +dTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvP +kd6mJviZpWNwrZuuyjNAfW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tc +cbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG0IMZfcChEhyVbUr02MelTTMuhTlAdX4U +fIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKApxn1ntxVUwOXewdI/5n7 +N4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm1HxdrtbC +xkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1 ++rUCAwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G +A1UdDgQWBBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPM +Pcu1SCOhGnqmKrs0aDAbBgNVHREEFDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqG +SIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0olZMEyL/azXm4Q5DwpL7v8u8h +mLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfXI/OMn74dseGk +ddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775 +tyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c +2Pm2G2JwCz02yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5t +HMN1Rq41Bab2XD0h7lbwyYIiLXpUq3DDfSJlgnCW +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R3 +# Label: "GlobalSign Root CA - R3" +# Serial: 4835703278459759426209954 +# MD5 Fingerprint: c5:df:b8:49:ca:05:13:55:ee:2d:ba:1a:c3:3e:b0:28 +# SHA1 Fingerprint: d6:9b:56:11:48:f0:1c:77:c5:45:78:c1:09:26:df:5b:85:69:76:ad +# SHA256 Fingerprint: cb:b5:22:d7:b7:f1:27:ad:6a:01:13:86:5b:df:1c:d4:10:2e:7d:07:59:af:63:5a:7c:f4:72:0d:c9:63:c5:3b +-----BEGIN CERTIFICATE----- +MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G +A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp +Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4 +MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG +A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8 +RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT +gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm +KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd +QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ +XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw +DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o +LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU +RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp +jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK +6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX +mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs +Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH +WD9f +-----END CERTIFICATE----- + +# Issuer: CN=Izenpe.com O=IZENPE S.A. +# Subject: CN=Izenpe.com O=IZENPE S.A. +# Label: "Izenpe.com" +# Serial: 917563065490389241595536686991402621 +# MD5 Fingerprint: a6:b0:cd:85:80:da:5c:50:34:a3:39:90:2f:55:67:73 +# SHA1 Fingerprint: 2f:78:3d:25:52:18:a7:4a:65:39:71:b5:2c:a2:9c:45:15:6f:e9:19 +# SHA256 Fingerprint: 25:30:cc:8e:98:32:15:02:ba:d9:6f:9b:1f:ba:1b:09:9e:2d:29:9e:0f:45:48:bb:91:4f:36:3b:c0:d4:53:1f +-----BEGIN CERTIFICATE----- +MIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4 +MQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6 +ZW5wZS5jb20wHhcNMDcxMjEzMTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYD +VQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5j +b20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ03rKDx6sp4boFmVq +scIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAKClaO +xdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6H +LmYRY2xU+zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFX +uaOKmMPsOzTFlUFpfnXCPCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQD +yCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxTOTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+ +JrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbKF7jJeodWLBoBHmy+E60Q +rLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK0GqfvEyN +BjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8L +hij+0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIB +QFqNeb+Lz0vPqhbBleStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+ +HMh3/1uaD7euBUbl8agW7EekFwIDAQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2lu +Zm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+SVpFTlBFIFMuQS4gLSBDSUYg +QTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBGNjIgUzgxQzBB +BgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx +MCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AQYwHQYDVR0OBBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUA +A4ICAQB4pgwWSp9MiDrAyw6lFn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWb +laQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbgakEyrkgPH7UIBzg/YsfqikuFgba56 +awmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8qhT/AQKM6WfxZSzwo +JNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Csg1lw +LDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCT +VyvehQP5aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGk +LhObNA5me0mrZJfQRsN5nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJb +UjWumDqtujWTI6cfSN01RpiyEGjkpTHCClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/ +QnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZoQ0iy2+tzJOeRf1SktoA+ +naM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1ZWrOZyGls +QyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw== +-----END CERTIFICATE----- + +# Issuer: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc. +# Subject: CN=Go Daddy Root Certificate Authority - G2 O=GoDaddy.com, Inc. +# Label: "Go Daddy Root Certificate Authority - G2" +# Serial: 0 +# MD5 Fingerprint: 80:3a:bc:22:c1:e6:fb:8d:9b:3b:27:4a:32:1b:9a:01 +# SHA1 Fingerprint: 47:be:ab:c9:22:ea:e8:0e:78:78:34:62:a7:9f:45:c2:54:fd:e6:8b +# SHA256 Fingerprint: 45:14:0b:32:47:eb:9c:c8:c5:b4:f0:d7:b5:30:91:f7:32:92:08:9e:6e:5a:63:e2:74:9d:d3:ac:a9:19:8e:da +-----BEGIN CERTIFICATE----- +MIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT +EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp +ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIz +NTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH +EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UE +AxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIw +DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKD +E6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH +/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy +DfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVh +GkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGR +tDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEA +AaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE +FDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX +WWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu +9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTr +gIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo +2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO +LPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI +4uJEvlz36hz1 +-----END CERTIFICATE----- + +# Issuer: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc. +# Subject: CN=Starfield Root Certificate Authority - G2 O=Starfield Technologies, Inc. +# Label: "Starfield Root Certificate Authority - G2" +# Serial: 0 +# MD5 Fingerprint: d6:39:81:c6:52:7e:96:69:fc:fc:ca:66:ed:05:f2:96 +# SHA1 Fingerprint: b5:1c:06:7c:ee:2b:0c:3d:f8:55:ab:2d:92:f4:fe:39:d4:e7:0f:0e +# SHA256 Fingerprint: 2c:e1:cb:0b:f9:d2:f9:e1:02:99:3f:be:21:51:52:c3:b2:dd:0c:ab:de:1c:68:e5:31:9b:83:91:54:db:b7:f5 +-----BEGIN CERTIFICATE----- +MIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT +HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVs +ZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAw +MFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6 +b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQgVGVj +aG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZp +Y2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAL3twQP89o/8ArFvW59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMg +nLRJdzIpVv257IzdIvpy3Cdhl+72WoTsbhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1 +HOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNkN3mSwOxGXn/hbVNMYq/N +Hwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7NfZTD4p7dN +dloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0 +HZbUJtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO +BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0G +CSqGSIb3DQEBCwUAA4IBAQARWfolTwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjU +sHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx4mcujJUDJi5DnUox9g61DLu3 +4jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUwF5okxBDgBPfg +8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K +pL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1 +mMpYjn0q7pBZc2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0 +-----END CERTIFICATE----- + +# Issuer: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc. +# Subject: CN=Starfield Services Root Certificate Authority - G2 O=Starfield Technologies, Inc. +# Label: "Starfield Services Root Certificate Authority - G2" +# Serial: 0 +# MD5 Fingerprint: 17:35:74:af:7b:61:1c:eb:f4:f9:3c:e2:ee:40:f9:a2 +# SHA1 Fingerprint: 92:5a:8f:8d:2c:6d:04:e0:66:5f:59:6a:ff:22:d8:63:e8:25:6f:3f +# SHA256 Fingerprint: 56:8d:69:05:a2:c8:87:08:a4:b3:02:51:90:ed:cf:ed:b1:97:4a:60:6a:13:c6:e5:29:0f:cb:2a:e6:3e:da:b5 +-----BEGIN CERTIFICATE----- +MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMx +EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT +HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVs +ZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5 +MDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNVBAYTAlVTMRAwDgYD +VQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFy +ZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2Vy +dmljZXMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20p +OsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm2 +8xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4PahHQUw2eeBGg6345AWh1K +Ts9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLPLJGmpufe +hRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk +6mFBrMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAw +DwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+q +AdcwKziIorhtSpzyEZGDMA0GCSqGSIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMI +bw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPPE95Dz+I0swSdHynVv/heyNXB +ve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTyxQGjhdByPq1z +qwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd +iEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn +0q23KXB56jzaYyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCN +sSi6 +-----END CERTIFICATE----- + +# Issuer: CN=AffirmTrust Commercial O=AffirmTrust +# Subject: CN=AffirmTrust Commercial O=AffirmTrust +# Label: "AffirmTrust Commercial" +# Serial: 8608355977964138876 +# MD5 Fingerprint: 82:92:ba:5b:ef:cd:8a:6f:a6:3d:55:f9:84:f6:d6:b7 +# SHA1 Fingerprint: f9:b5:b6:32:45:5f:9c:be:ec:57:5f:80:dc:e9:6e:2c:c7:b2:78:b7 +# SHA256 Fingerprint: 03:76:ab:1d:54:c5:f9:80:3c:e4:b2:e2:01:a0:ee:7e:ef:7b:57:b6:36:e8:a9:3c:9b:8d:48:60:c9:6f:5f:a7 +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UE +BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz +dCBDb21tZXJjaWFsMB4XDTEwMDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDEL +MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp +cm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6EqdbDuKP +Hx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yr +ba0F8PrVC8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPAL +MeIrJmqbTFeurCA+ukV6BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1 +yHp52UKqK39c/s4mT6NmgTWvRLpUHhwwMmWd5jyTXlBOeuM61G7MGvv50jeuJCqr +VwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNVHQ4EFgQUnZPGU4teyq8/ +nx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ +KoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYG +XUPGhi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNj +vbz4YYCanrHOQnDiqX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivt +Z8SOyUOyXGsViQK8YvxO8rUzqrJv0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9g +N53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0khsUlHRUe072o0EclNmsxZt9YC +nlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8= +-----END CERTIFICATE----- + +# Issuer: CN=AffirmTrust Networking O=AffirmTrust +# Subject: CN=AffirmTrust Networking O=AffirmTrust +# Label: "AffirmTrust Networking" +# Serial: 8957382827206547757 +# MD5 Fingerprint: 42:65:ca:be:01:9a:9a:4c:a9:8c:41:49:cd:c0:d5:7f +# SHA1 Fingerprint: 29:36:21:02:8b:20:ed:02:f5:66:c5:32:d1:d6:ed:90:9f:45:00:2f +# SHA256 Fingerprint: 0a:81:ec:5a:92:97:77:f1:45:90:4a:f3:8d:5d:50:9f:66:b5:e2:c5:8f:cd:b5:31:05:8b:0e:17:f3:f0:b4:1b +-----BEGIN CERTIFICATE----- +MIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UE +BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz +dCBOZXR3b3JraW5nMB4XDTEwMDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDEL +MAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp +cm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC +AQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SEHi3y +YJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbua +kCNrmreIdIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRL +QESxG9fhwoXA3hA/Pe24/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp +6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gbh+0t+nvujArjqWaJGctB+d1ENmHP4ndG +yH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNVHQ4EFgQUBx/S55zawm6i +QLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ +KoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfO +tDIuUFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzu +QY0x2+c06lkh1QF612S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZ +Lgo/bNjR9eUJtGxUAArgFU2HdW23WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4u +olu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9/ZFvgrG+CJPbFEfxojfHRZ48 +x3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s= +-----END CERTIFICATE----- + +# Issuer: CN=AffirmTrust Premium O=AffirmTrust +# Subject: CN=AffirmTrust Premium O=AffirmTrust +# Label: "AffirmTrust Premium" +# Serial: 7893706540734352110 +# MD5 Fingerprint: c4:5d:0e:48:b6:ac:28:30:4e:0a:bc:f9:38:16:87:57 +# SHA1 Fingerprint: d8:a6:33:2c:e0:03:6f:b1:85:f6:63:4f:7d:6a:06:65:26:32:28:27 +# SHA256 Fingerprint: 70:a7:3f:7f:37:6b:60:07:42:48:90:45:34:b1:14:82:d5:bf:0e:69:8e:cc:49:8d:f5:25:77:eb:f2:e9:3b:9a +-----BEGIN CERTIFICATE----- +MIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UE +BhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVz +dCBQcmVtaXVtMB4XDTEwMDEyOTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkG +A1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1U +cnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxBLf +qV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtnBKAQ +JG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ ++jjeRFcV5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrS +s8PhaJyJ+HoAVt70VZVs+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5 +HMQxK9VfvFMSF5yZVylmd2EhMQcuJUmdGPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d7 +70O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5Rp9EixAqnOEhss/n/fauG +V+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NIS+LI+H+S +qHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S +5u046uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4Ia +C1nEWTJ3s7xgaVY5/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TX +OwF0lkLgAOIua+rF7nKsu7/+6qqo+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYE +FJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ +BAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByvMiPIs0laUZx2 +KI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg +Nt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B +8OWycvpEgjNC6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQ +MKSOyARiqcTtNd56l+0OOF6SL5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc +0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK+4w1IX2COPKpVJEZNZOUbWo6xbLQ +u4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmVBtWVyuEklut89pMF +u+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFgIxpH +YoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8 +GKa1qF60g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaO +RtGdFNrHF+QFlozEJLUbzxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6e +KeC2uAloGRwYQw== +-----END CERTIFICATE----- + +# Issuer: CN=AffirmTrust Premium ECC O=AffirmTrust +# Subject: CN=AffirmTrust Premium ECC O=AffirmTrust +# Label: "AffirmTrust Premium ECC" +# Serial: 8401224907861490260 +# MD5 Fingerprint: 64:b0:09:55:cf:b1:d5:99:e2:be:13:ab:a6:5d:ea:4d +# SHA1 Fingerprint: b8:23:6b:00:2f:1d:16:86:53:01:55:6c:11:a4:37:ca:eb:ff:c3:bb +# SHA256 Fingerprint: bd:71:fd:f6:da:97:e4:cf:62:d1:64:7a:dd:25:81:b0:7d:79:ad:f8:39:7e:b4:ec:ba:9c:5e:84:88:82:14:23 +-----BEGIN CERTIFICATE----- +MIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMC +VVMxFDASBgNVBAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQ +cmVtaXVtIEVDQzAeFw0xMDAxMjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJ +BgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1UcnVzdDEgMB4GA1UEAwwXQWZmaXJt +VHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQNMF4bFZ0D +0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQN8O9 +ss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0G +A1UdDgQWBBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4G +A1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/Vs +aobgxCd05DhT1wV/GzTjxi+zygk8N53X57hG8f2h4nECMEJZh0PUUd+60wkyWs6I +flc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKMeQ== +-----END CERTIFICATE----- + +# Issuer: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority +# Subject: CN=Certum Trusted Network CA O=Unizeto Technologies S.A. OU=Certum Certification Authority +# Label: "Certum Trusted Network CA" +# Serial: 279744 +# MD5 Fingerprint: d5:e9:81:40:c5:18:69:fc:46:2c:89:75:62:0f:aa:78 +# SHA1 Fingerprint: 07:e0:32:e0:20:b7:2c:3f:19:2f:06:28:a2:59:3a:19:a7:0f:06:9e +# SHA256 Fingerprint: 5c:58:46:8d:55:f5:8e:49:7e:74:39:82:d2:b5:00:10:b6:d1:65:37:4a:cf:83:a7:d4:a3:2d:b7:68:c4:40:8e +-----BEGIN CERTIFICATE----- +MIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBM +MSIwIAYDVQQKExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5D +ZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBU +cnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIyMTIwNzM3WhcNMjkxMjMxMTIwNzM3 +WjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMg +Uy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSIw +IAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0B +AQEFAAOCAQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rH +UV+rpDKmYYe2bg+G0jACl/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LM +TXPb865Px1bVWqeWifrzq2jUI4ZZJ88JJ7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVU +BBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4fOQtf/WsX+sWn7Et0brM +kUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0cvW0QM8x +AcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNV +HQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15y +sHhE49wcrwn9I0j6vSrEuVUEtRCjjSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfL +I9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1mS1FhIrlQgnXdAIv94nYmem8 +J9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5ajZt3hrvJBW8qY +VoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI +03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw= +-----END CERTIFICATE----- + +# Issuer: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA +# Subject: CN=TWCA Root Certification Authority O=TAIWAN-CA OU=Root CA +# Label: "TWCA Root Certification Authority" +# Serial: 1 +# MD5 Fingerprint: aa:08:8f:f6:f9:7b:b7:f2:b1:a7:1e:9b:ea:ea:bd:79 +# SHA1 Fingerprint: cf:9e:87:6d:d3:eb:fc:42:26:97:a3:b5:a3:7a:a0:76:a9:06:23:48 +# SHA256 Fingerprint: bf:d8:8f:e1:10:1c:41:ae:3e:80:1b:f8:be:56:35:0e:e9:ba:d1:a6:b9:bd:51:5e:dc:5c:6d:5b:87:11:ac:44 +-----BEGIN CERTIFICATE----- +MIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzES +MBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFU +V0NBIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMz +WhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJVEFJV0FO +LUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlm +aWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB +AQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFE +AcK0HMMxQhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HH +K3XLfJ+utdGdIzdjp9xCoi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeX +RfwZVzsrb+RH9JlF/h3x+JejiB03HFyP4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/z +rX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1ry+UPizgN7gr8/g+YnzAx +3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkq +hkiG9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeC +MErJk/9q56YAf4lCmtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdls +XebQ79NqZp4VKIV66IIArB6nCWlWQtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62D +lhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVYT0bf+215WfKEIlKuD8z7fDvn +aspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocnyYh0igzyXxfkZ +YiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw== +-----END CERTIFICATE----- + +# Issuer: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2 +# Subject: O=SECOM Trust Systems CO.,LTD. OU=Security Communication RootCA2 +# Label: "Security Communication RootCA2" +# Serial: 0 +# MD5 Fingerprint: 6c:39:7d:a4:0e:55:59:b2:3f:d6:41:b1:12:50:de:43 +# SHA1 Fingerprint: 5f:3b:8c:f2:f8:10:b3:7d:78:b4:ce:ec:19:19:c3:73:34:b9:c7:74 +# SHA256 Fingerprint: 51:3b:2c:ec:b8:10:d4:cd:e5:dd:85:39:1a:df:c6:c2:dd:60:d8:7b:b7:36:d2:b5:21:48:4a:a4:7a:0e:be:f6 +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDEl +MCMGA1UEChMcU0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMe +U2VjdXJpdHkgQ29tbXVuaWNhdGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoX +DTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRy +dXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3VyaXR5IENvbW11bmlj +YXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANAV +OVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGr +zbl+dp+++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVM +VAX3NuRFg3sUZdbcDE3R3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQ +hNBqyjoGADdH5H5XTz+L62e4iKrFvlNVspHEfbmwhRkGeC7bYRr6hfVKkaHnFtWO +ojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1KEOtOghY6rCcMU/Gt1SSw +awNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8QIH4D5cs +OPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3 +DQEBCwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpF +coJxDjrSzG+ntKEju/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXc +okgfGT+Ok+vx+hfuzU7jBBJV1uXk3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8 +t/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6qtnRGEmyR7jTV7JqR50S+kDFy +1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29mvVXIwAHIRc/ +SjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03 +-----END CERTIFICATE----- + +# Issuer: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967 +# Subject: CN=Actalis Authentication Root CA O=Actalis S.p.A./03358520967 +# Label: "Actalis Authentication Root CA" +# Serial: 6271844772424770508 +# MD5 Fingerprint: 69:c1:0d:4f:07:a3:1b:c3:fe:56:3d:04:bc:11:f6:a6 +# SHA1 Fingerprint: f3:73:b3:87:06:5a:28:84:8a:f2:f3:4a:ce:19:2b:dd:c7:8e:9c:ac +# SHA256 Fingerprint: 55:92:60:84:ec:96:3a:64:b9:6e:2a:be:01:ce:0b:a8:6a:64:fb:fe:bc:c7:aa:b5:af:c1:55:b3:7f:d7:60:66 +-----BEGIN CERTIFICATE----- +MIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UE +BhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8w +MzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290 +IENBMB4XDTExMDkyMjExMjIwMloXDTMwMDkyMjExMjIwMlowazELMAkGA1UEBhMC +SVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1 +ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENB +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNv +UTufClrJwkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX +4ay8IMKx4INRimlNAJZaby/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9 +KK3giq0itFZljoZUj5NDKd45RnijMCO6zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/ +gCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1fYVEiVRvjRuPjPdA1Yprb +rxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2oxgkg4YQ +51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2F +be8lEfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxe +KF+w6D9Fz8+vm2/7hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4F +v6MGn8i1zeQf1xcGDXqVdFUNaBr8EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbn +fpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5jF66CyCU3nuDuP/jVo23Eek7 +jPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLYiDrIn3hm7Ynz +ezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt +ifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAL +e3KHwGCmSUyIWOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70 +jsNjLiNmsGe+b7bAEzlgqqI0JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDz +WochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKxK3JCaKygvU5a2hi/a5iB0P2avl4V +SM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+Xlff1ANATIGk0k9j +pwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC4yyX +X04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+Ok +fcvHlXHo2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7R +K4X9p2jIugErsWx0Hbhzlefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btU +ZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXemOR/qnuOf0GZvBeyqdn6/axag67XH/JJU +LysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9vwGYT7JZVEc+NHt4bVaT +LnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg== +-----END CERTIFICATE----- + +# Issuer: CN=Buypass Class 2 Root CA O=Buypass AS-983163327 +# Subject: CN=Buypass Class 2 Root CA O=Buypass AS-983163327 +# Label: "Buypass Class 2 Root CA" +# Serial: 2 +# MD5 Fingerprint: 46:a7:d2:fe:45:fb:64:5a:a8:59:90:9b:78:44:9b:29 +# SHA1 Fingerprint: 49:0a:75:74:de:87:0a:47:fe:58:ee:f6:c7:6b:eb:c6:0b:12:40:99 +# SHA256 Fingerprint: 9a:11:40:25:19:7c:5b:b9:5d:94:e6:3d:55:cd:43:79:08:47:b6:46:b2:3c:df:11:ad:a4:a0:0e:ff:15:fb:48 +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd +MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg +Q2xhc3MgMiBSb290IENBMB4XDTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1ow +TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw +HgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB +BQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1g1Lr +6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPV +L4O2fuPn9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC91 +1K2GScuVr1QGbNgGE41b/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHx +MlAQTn/0hpPshNOOvEu/XAFOBz3cFIqUCqTqc/sLUegTBxj6DvEr0VQVfTzh97QZ +QmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeffawrbD02TTqigzXsu8lkB +arcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgIzRFo1clr +Us3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLi +FRhnBkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRS +P/TizPJhk9H9Z2vXUq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN +9SG9dKpN6nIDSdvHXx1iY8f93ZHsM+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxP +AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMmAd+BikoL1Rpzz +uvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAU18h +9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s +A20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3t +OluwlN5E40EIosHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo ++fsicdl9sz1Gv7SEr5AcD48Saq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7 +KcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYdDnkM/crqJIByw5c/8nerQyIKx+u2 +DISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWDLfJ6v9r9jv6ly0Us +H8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0oyLQ +I+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK7 +5t98biGCwWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h +3PFaTWwyI0PurKju7koSCTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPz +Y11aWOIv4x3kqdbQCtCev9eBCfHJxyYNrJgWVqA= +-----END CERTIFICATE----- + +# Issuer: CN=Buypass Class 3 Root CA O=Buypass AS-983163327 +# Subject: CN=Buypass Class 3 Root CA O=Buypass AS-983163327 +# Label: "Buypass Class 3 Root CA" +# Serial: 2 +# MD5 Fingerprint: 3d:3b:18:9e:2c:64:5a:e8:d5:88:ce:0e:f9:37:c2:ec +# SHA1 Fingerprint: da:fa:f7:fa:66:84:ec:06:8f:14:50:bd:c7:c2:81:a5:bc:a9:64:57 +# SHA256 Fingerprint: ed:f7:eb:bc:a2:7a:2a:38:4d:38:7b:7d:40:10:c6:66:e2:ed:b4:84:3e:4c:29:b4:ae:1d:5b:93:32:e6:b2:4d +-----BEGIN CERTIFICATE----- +MIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd +MBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg +Q2xhc3MgMyBSb290IENBMB4XDTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFow +TjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw +HgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB +BQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRHsJ8Y +ZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3E +N3coTRiR5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9 +tznDDgFHmV0ST9tD+leh7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX +0DJq1l1sDPGzbjniazEuOQAnFN44wOwZZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c +/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH2xc519woe2v1n/MuwU8X +KhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV/afmiSTY +zIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvS +O1UQRwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D +34xFMFbG02SrZvPAXpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgP +K9Dx2hzLabjKSWJtyNBjYt1gD1iqj6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3 +AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFEe4zf/lb+74suwv +Tg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAACAj +QTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV +cSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXS +IGrs/CIBKM+GuIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2 +HJLw5QY33KbmkJs4j1xrG0aGQ0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsa +O5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8ZORK15FTAaggiG6cX0S5y2CBNOxv +033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2KSb12tjE8nVhz36u +dmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz6MkE +kbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg41 +3OEMXbugUZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvD +u79leNKGef9JOxqDDPDeeOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq +4/g7u9xN12TyUb7mqqta6THuBrxzvxNiCp/HuZc= +-----END CERTIFICATE----- + +# Issuer: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center +# Subject: CN=T-TeleSec GlobalRoot Class 3 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center +# Label: "T-TeleSec GlobalRoot Class 3" +# Serial: 1 +# MD5 Fingerprint: ca:fb:40:a8:4e:39:92:8a:1d:fe:8e:2f:c4:27:ea:ef +# SHA1 Fingerprint: 55:a6:72:3e:cb:f2:ec:cd:c3:23:74:70:19:9d:2a:be:11:e3:81:d1 +# SHA256 Fingerprint: fd:73:da:d3:1c:64:4f:f1:b4:3b:ef:0c:cd:da:96:71:0b:9c:d9:87:5e:ca:7e:31:70:7a:f3:e9:6d:52:2b:bd +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx +KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd +BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl +YyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgxMDAxMTAyOTU2WhcNMzMxMDAxMjM1 +OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy +aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 +ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN +8ELg63iIVl6bmlQdTQyK9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/ +RLyTPWGrTs0NvvAgJ1gORH8EGoel15YUNpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4 +hqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZFiP0Zf3WHHx+xGwpzJFu5 +ZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W0eDrXltM +EnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGj +QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1 +A/d2O2GCahKqGFPrAyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOy +WL6ukK2YJ5f+AbGwUgC4TeQbIXQbfsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ +1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzTucpH9sry9uetuUg/vBa3wW30 +6gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7hP0HHRwA11fXT +91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml +e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4p +TpPDpFQUWw== +-----END CERTIFICATE----- + +# Issuer: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH +# Subject: CN=D-TRUST Root Class 3 CA 2 2009 O=D-Trust GmbH +# Label: "D-TRUST Root Class 3 CA 2 2009" +# Serial: 623603 +# MD5 Fingerprint: cd:e0:25:69:8d:47:ac:9c:89:35:90:f7:fd:51:3d:2f +# SHA1 Fingerprint: 58:e8:ab:b0:36:15:33:fb:80:f7:9b:1b:6d:29:d3:ff:8d:5f:00:f0 +# SHA256 Fingerprint: 49:e7:a4:42:ac:f0:ea:62:87:05:00:54:b5:25:64:b6:50:e4:f4:9e:42:e3:48:d6:aa:38:e0:39:e9:57:b1:c1 +-----BEGIN CERTIFICATE----- +MIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRF +MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBD +bGFzcyAzIENBIDIgMjAwOTAeFw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NTha +ME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMM +HkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIwDQYJKoZIhvcNAQEB +BQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOADER03 +UAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42 +tSHKXzlABF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9R +ySPocq60vFYJfxLLHLGvKZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsM +lFqVlNpQmvH/pStmMaTJOKDfHR+4CS7zp+hnUquVH+BGPtikw8paxTGA6Eian5Rp +/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUCAwEAAaOCARowggEWMA8G +A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ4PGEMA4G +A1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVj +dG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUy +MENBJTIwMiUyMDIwMDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRl +cmV2b2NhdGlvbmxpc3QwQ6BBoD+GPWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3Js +L2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAwOS5jcmwwDQYJKoZIhvcNAQEL +BQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm2H6NMLVwMeni +acfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0 +o3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4K +zCUqNQT4YJEVdT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8 +PIWmawomDeCTmGCufsYkl4phX5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3Y +Johw1+qRzT65ysCQblrGXnRl11z+o+I= +-----END CERTIFICATE----- + +# Issuer: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH +# Subject: CN=D-TRUST Root Class 3 CA 2 EV 2009 O=D-Trust GmbH +# Label: "D-TRUST Root Class 3 CA 2 EV 2009" +# Serial: 623604 +# MD5 Fingerprint: aa:c6:43:2c:5e:2d:cd:c4:34:c0:50:4f:11:02:4f:b6 +# SHA1 Fingerprint: 96:c9:1b:0b:95:b4:10:98:42:fa:d0:d8:22:79:fe:60:fa:b9:16:83 +# SHA256 Fingerprint: ee:c5:49:6b:98:8c:e9:86:25:b9:34:09:2e:ec:29:08:be:d0:b0:f3:16:c2:d4:73:0c:84:ea:f1:f3:d3:48:81 +-----BEGIN CERTIFICATE----- +MIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRF +MRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBD +bGFzcyAzIENBIDIgRVYgMjAwOTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUw +NDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNV +BAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAwOTCCASIwDQYJKoZI +hvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfSegpn +ljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM0 +3TP1YtHhzRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6Z +qQTMFexgaDbtCHu39b+T7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lR +p75mpoo6Kr3HGrHhFPC+Oh25z1uxav60sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8 +HgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure3511H3a6UCAwEAAaOCASQw +ggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyvcop9Ntea +HNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFw +Oi8vZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xh +c3MlMjAzJTIwQ0ElMjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1E +RT9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0MEagRKBChkBodHRwOi8vd3d3LmQt +dHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xhc3NfM19jYV8yX2V2XzIwMDku +Y3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+PPoeUSbrh/Yp +3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05 +nsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNF +CSuGdXzfX2lXANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7na +xpeG0ILD5EJt/rDiZE4OJudANCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqX +KVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVvw9y4AyHqnxbxLFS1 +-----END CERTIFICATE----- + +# Issuer: CN=CA Disig Root R2 O=Disig a.s. +# Subject: CN=CA Disig Root R2 O=Disig a.s. +# Label: "CA Disig Root R2" +# Serial: 10572350602393338211 +# MD5 Fingerprint: 26:01:fb:d8:27:a7:17:9a:45:54:38:1a:43:01:3b:03 +# SHA1 Fingerprint: b5:61:eb:ea:a4:de:e4:25:4b:69:1a:98:a5:57:47:c2:34:c7:d9:71 +# SHA256 Fingerprint: e2:3d:4a:03:6d:7b:70:e9:f5:95:b1:42:20:79:d2:b9:1e:df:bb:1f:b6:51:a0:63:3e:aa:8a:9d:c5:f8:07:03 +-----BEGIN CERTIFICATE----- +MIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNV +BAYTAlNLMRMwEQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMu +MRkwFwYDVQQDExBDQSBEaXNpZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQy +MDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sxEzARBgNVBAcTCkJyYXRpc2xhdmEx +EzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERpc2lnIFJvb3QgUjIw +ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbCw3Oe +NcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNH +PWSb6WiaxswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3I +x2ymrdMxp7zo5eFm1tL7A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbe +QTg06ov80egEFGEtQX6sx3dOy1FU+16SGBsEWmjGycT6txOgmLcRK7fWV8x8nhfR +yyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqVg8NTEQxzHQuyRpDRQjrO +QG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa5Beny912 +H9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJ +QfYEkoopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUD +i/ZnWejBBhG93c+AAk9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORs +nLMOPReisjQS1n6yqEm70XooQL6iFh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1 +rqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud +DwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5uQu0wDQYJKoZI +hvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM +tCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqf +GopTpti72TVVsRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkb +lvdhuDvEK7Z4bLQjb/D907JedR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka ++elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W81k/BfDxujRNt+3vrMNDcTa/F1bal +TFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjxmHHEt38OFdAlab0i +nSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01utI3 +gzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18Dr +G5gPcFw0sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3Os +zMOl6W8KjptlwlCFtaOgUxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8x +L4ysEr3vQCj8KWefshNPZiTEUxnpHikV7+ZtsH8tZ/3zbBt1RqPlShfppNcL +-----END CERTIFICATE----- + +# Issuer: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV +# Subject: CN=ACCVRAIZ1 O=ACCV OU=PKIACCV +# Label: "ACCVRAIZ1" +# Serial: 6828503384748696800 +# MD5 Fingerprint: d0:a0:5a:ee:05:b6:09:94:21:a1:7d:f1:b2:29:82:02 +# SHA1 Fingerprint: 93:05:7a:88:15:c6:4f:ce:88:2f:fa:91:16:52:28:78:bc:53:64:17 +# SHA256 Fingerprint: 9a:6e:c0:12:e1:a7:da:9d:be:34:19:4d:47:8a:d7:c0:db:18:22:fb:07:1d:f1:29:81:49:6e:d1:04:38:41:13 +-----BEGIN CERTIFICATE----- +MIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UE +AwwJQUNDVlJBSVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQsw +CQYDVQQGEwJFUzAeFw0xMTA1MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQ +BgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwHUEtJQUNDVjENMAsGA1UECgwEQUND +VjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCb +qau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gMjmoY +HtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWo +G2ioPej0RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpA +lHPrzg5XPAOBOp0KoVdDaaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhr +IA8wKFSVf+DuzgpmndFALW4ir50awQUZ0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/ +0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDGWuzndN9wrqODJerWx5eH +k6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs78yM2x/47 +4KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMO +m3WR5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpa +cXpkatcnYGMN285J9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPl +uUsXQA+xtrn13k/c4LOsOxFwYIRKQ26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYI +KwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRwOi8vd3d3LmFjY3YuZXMvZmls +ZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEuY3J0MB8GCCsG +AQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2 +VuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeT +VfZW6oHlNsyMHj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIG +CCsGAQUFBwICMIIBFB6CARAAQQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUA +cgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBhAO0AegAgAGQAZQAgAGwAYQAgAEEA +QwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUAYwBuAG8AbABvAGcA +7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBjAHQA +cgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAA +QwBQAFMAIABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUA +czAwBggrBgEFBQcCARYkaHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2Mu +aHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRt +aW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2MV9kZXIuY3JsMA4GA1Ud +DwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZIhvcNAQEF +BQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdp +D70ER9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gU +JyCpZET/LtZ1qmxNYEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+m +AM/EKXMRNt6GGT6d7hmKG9Ww7Y49nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepD +vV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJTS+xJlsndQAJxGJ3KQhfnlms +tn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3sCPdK6jT2iWH +7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h +I6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szA +h1xA2syVP1XgNce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xF +d3+YJ5oyXSrjhO7FmGYvliAd3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2H +pPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3pEfbRD0tVNEYqi4Y7 +-----END CERTIFICATE----- + +# Issuer: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA +# Subject: CN=TWCA Global Root CA O=TAIWAN-CA OU=Root CA +# Label: "TWCA Global Root CA" +# Serial: 3262 +# MD5 Fingerprint: f9:03:7e:cf:e6:9e:3c:73:7a:2a:90:07:69:ff:2b:96 +# SHA1 Fingerprint: 9c:bb:48:53:f6:a4:f6:d3:52:a4:e8:32:52:55:60:13:f5:ad:af:65 +# SHA256 Fingerprint: 59:76:90:07:f7:68:5d:0f:cd:50:87:2f:9f:95:d5:75:5a:5b:2b:45:7d:81:f3:69:2b:61:0a:98:67:2f:0e:1b +-----BEGIN CERTIFICATE----- +MIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcx +EjAQBgNVBAoTCVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMT +VFdDQSBHbG9iYWwgUm9vdCBDQTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5 +NTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExEDAOBgNVBAsT +B1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3QgQ0EwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2CnJfF +10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz +0ALfUPZVr2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfCh +MBwqoJimFb3u/Rk28OKRQ4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbH +zIh1HrtsBv+baz4X7GGqcXzGHaL3SekVtTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc +46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1WKKD+u4ZqyPpcC1jcxkt2 +yKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99sy2sbZCi +laLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYP +oA/pyJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQA +BDzfuBSO6N+pjWxnkjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcE +qYSjMq+u7msXi7Kx/mzhkIyIqJdIzshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm +4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB +/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6gcFGn90xHNcgL +1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn +LhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WF +H6vPNOw/KP4M8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNo +RI2T9GRwoD2dKAXDOXC4Ynsg/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+ +nile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlglPx4mI88k1HtQJAH32RjJMtOcQWh +15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryPA9gK8kxkRr05YuWW +6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3mi4TW +nsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5j +wa19hAM8EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWz +aGHQRiapIVJpLesux+t3zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmy +KwbQBM0= +-----END CERTIFICATE----- + +# Issuer: CN=TeliaSonera Root CA v1 O=TeliaSonera +# Subject: CN=TeliaSonera Root CA v1 O=TeliaSonera +# Label: "TeliaSonera Root CA v1" +# Serial: 199041966741090107964904287217786801558 +# MD5 Fingerprint: 37:41:49:1b:18:56:9a:26:f5:ad:c2:66:fb:40:a5:4c +# SHA1 Fingerprint: 43:13:bb:96:f1:d5:86:9b:c1:4e:6a:92:f6:cf:f6:34:69:87:82:37 +# SHA256 Fingerprint: dd:69:36:fe:21:f8:f0:77:c1:23:a1:a5:21:c1:22:24:f7:22:55:b7:3e:03:a7:26:06:93:e8:a2:4b:0f:a3:89 +-----BEGIN CERTIFICATE----- +MIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAw +NzEUMBIGA1UECgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJv +b3QgQ0EgdjEwHhcNMDcxMDE4MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYD +VQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwWVGVsaWFTb25lcmEgUm9vdCBDQSB2 +MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+6yfwIaPzaSZVfp3F +VRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA3GV1 +7CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+X +Z75Ljo1kB1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+ +/jXh7VB7qTCNGdMJjmhnXb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs +81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxHoLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkm +dtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3F0fUTPHSiXk+TT2YqGHe +Oh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJoWjiUIMu +sDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4 +pgd7gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fs +slESl1MpWtTwEhDcTwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQ +arMCpgKIv7NHfirZ1fpoeDVNAgMBAAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYD +VR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qWDNXr+nuqF+gTEjANBgkqhkiG +9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNmzqjMDfz1mgbl +dxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx +0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1Tj +TQpgcmLNkQfWpb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBed +Y2gea+zDTYa4EzAvXUYNR0PVG6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7 +Q4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpcc41teyWRyu5FrgZLAMzTsVlQ2jqI +OylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOTJsjrDNYmiLbAJM+7 +vVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2qReW +t88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcn +HL/EVlP6Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVx +SK236thZiNSQvxaz2emsWWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY= +-----END CERTIFICATE----- + +# Issuer: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center +# Subject: CN=T-TeleSec GlobalRoot Class 2 O=T-Systems Enterprise Services GmbH OU=T-Systems Trust Center +# Label: "T-TeleSec GlobalRoot Class 2" +# Serial: 1 +# MD5 Fingerprint: 2b:9b:9e:e4:7b:6c:1f:00:72:1a:cc:c1:77:79:df:6a +# SHA1 Fingerprint: 59:0d:2d:7d:88:4f:40:2e:61:7e:a5:62:32:17:65:cf:17:d8:94:e9 +# SHA256 Fingerprint: 91:e2:f5:78:8d:58:10:eb:a7:ba:58:73:7d:e1:54:8a:8e:ca:cd:01:45:98:bc:0b:14:3e:04:1b:17:05:25:52 +-----BEGIN CERTIFICATE----- +MIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx +KzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd +BgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl +YyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgxMDAxMTA0MDE0WhcNMzMxMDAxMjM1 +OTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy +aXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50 +ZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0G +CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUd +AqSzm1nzHoqvNK38DcLZSBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiC +FoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/FvudocP05l03Sx5iRUKrERLMjfTlH6VJi +1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx9702cu+fjOlbpSD8DT6Iavq +jnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGVWOHAD3bZ +wI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGj +QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/ +WSA2AHmgoCJrjNXyYdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhy +NsZt+U2e+iKo4YFWz827n+qrkRk4r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPAC +uvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNfvNoBYimipidx5joifsFvHZVw +IEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR3p1m0IvVVGb6 +g1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN +9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlP +BSeOE6Fuwg== +-----END CERTIFICATE----- + +# Issuer: CN=Atos TrustedRoot 2011 O=Atos +# Subject: CN=Atos TrustedRoot 2011 O=Atos +# Label: "Atos TrustedRoot 2011" +# Serial: 6643877497813316402 +# MD5 Fingerprint: ae:b9:c4:32:4b:ac:7f:5d:66:cc:77:94:bb:2a:77:56 +# SHA1 Fingerprint: 2b:b1:f5:3e:55:0c:1d:c5:f1:d4:e6:b7:6a:46:4b:55:06:02:ac:21 +# SHA256 Fingerprint: f3:56:be:a2:44:b7:a9:1e:b3:5d:53:ca:9a:d7:86:4a:ce:01:8e:2d:35:d5:f8:f9:6d:df:68:a6:f4:1a:a4:74 +-----BEGIN CERTIFICATE----- +MIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UE +AwwVQXRvcyBUcnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQG +EwJERTAeFw0xMTA3MDcxNDU4MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMM +FUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsGA1UECgwEQXRvczELMAkGA1UEBhMC +REUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCVhTuXbyo7LjvPpvMp +Nb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr54rM +VD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+ +SZFhyBH+DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ +4J7sVaE3IqKHBAUsR320HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0L +cp2AMBYHlT8oDv3FdU9T1nSatCQujgKRz3bFmx5VdJx4IbHwLfELn8LVlhgf8FQi +eowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7Rl+lwrrw7GWzbITAPBgNV +HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZbNshMBgG +A1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3 +DQEBCwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8j +vZfza1zv7v1Apt+hk6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kP +DpFrdRbhIfzYJsdHt6bPWHJxfrrhTZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pc +maHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a961qn8FYiqTxlVMYVqL2Gns2D +lmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G3mB/ufNPRJLv +KrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 1 G3 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 1 G3 O=QuoVadis Limited +# Label: "QuoVadis Root CA 1 G3" +# Serial: 687049649626669250736271037606554624078720034195 +# MD5 Fingerprint: a4:bc:5b:3f:fe:37:9a:fa:64:f0:e2:fa:05:3d:0b:ab +# SHA1 Fingerprint: 1b:8e:ea:57:96:29:1a:c9:39:ea:b8:0a:81:1a:73:73:c0:93:79:67 +# SHA256 Fingerprint: 8a:86:6f:d1:b2:76:b5:7e:57:8e:92:1c:65:82:8a:2b:ed:58:e9:f2:f2:88:05:41:34:b7:f1:f4:bf:c9:cc:74 +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQEL +BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc +BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00 +MjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEgRzMwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakEPBtV +wedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWe +rNrwU8lmPNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF341 +68Xfuw6cwI2H44g4hWf6Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh +4Pw5qlPafX7PGglTvF0FBM+hSo+LdoINofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXp +UhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/lg6AnhF4EwfWQvTA9xO+o +abw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV7qJZjqlc +3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/G +KubX9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSt +hfbZxbGL0eUQMk1fiyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KO +Tk0k+17kBL5yG6YnLUlamXrXXAkgt3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOt +zCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZIhvcNAQELBQAD +ggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC +MTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2 +cDMT/uFPpiN3GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUN +qXsCHKnQO18LwIE6PWThv6ctTr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5 +YCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP+V04ikkwj+3x6xn0dxoxGE1nVGwv +b2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh3jRJjehZrJ3ydlo2 +8hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fawx/k +NSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNj +ZgKAvQU6O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhp +q1467HxpvMc7hU6eFbm0FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFt +nh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOVhMJKzRwuJIczYOXD +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 2 G3 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 2 G3 O=QuoVadis Limited +# Label: "QuoVadis Root CA 2 G3" +# Serial: 390156079458959257446133169266079962026824725800 +# MD5 Fingerprint: af:0c:86:6e:bf:40:2d:7f:0b:3e:12:50:ba:12:3d:06 +# SHA1 Fingerprint: 09:3c:61:f3:8b:8b:dc:7d:55:df:75:38:02:05:00:e1:25:f5:c8:36 +# SHA256 Fingerprint: 8f:e4:fb:0a:f9:3a:4d:0d:67:db:0b:eb:b2:3e:37:c7:1b:f3:25:dc:bc:dd:24:0e:a0:4d:af:58:b4:7e:18:40 +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQEL +BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc +BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00 +MjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIgRzMwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFhZiFf +qq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMW +n4rjyduYNM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ym +c5GQYaYDFCDy54ejiK2toIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+ +O7q414AB+6XrW7PFXmAqMaCvN+ggOp+oMiwMzAkd056OXbxMmO7FGmh77FOm6RQ1 +o9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+lV0POKa2Mq1W/xPtbAd0j +IaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZoL1NesNKq +IcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz +8eQQsSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43eh +vNURG3YBZwjgQQvD6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l +7ZizlWNof/k19N+IxWA1ksB8aRxhlRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALG +cC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZIhvcNAQELBQAD +ggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66 +AarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RC +roijQ1h5fq7KpVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0Ga +W/ZZGYjeVYg3UQt4XAoeo0L9x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4n +lv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgzdWqTHBLmYF5vHX/JHyPLhGGfHoJE ++V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6XU/IyAgkwo1jwDQHV +csaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+NwmNtd +dbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNg +KCLjsZWDzYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeM +HVOyToV7BjjHLPj4sHKNJeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4 +WSr2Rz0ZiC3oheGe7IUIarFsNMkd7EgrO3jtZsSOeWmD3n+M +-----END CERTIFICATE----- + +# Issuer: CN=QuoVadis Root CA 3 G3 O=QuoVadis Limited +# Subject: CN=QuoVadis Root CA 3 G3 O=QuoVadis Limited +# Label: "QuoVadis Root CA 3 G3" +# Serial: 268090761170461462463995952157327242137089239581 +# MD5 Fingerprint: df:7d:b9:ad:54:6f:68:a1:df:89:57:03:97:43:b0:d7 +# SHA1 Fingerprint: 48:12:bd:92:3c:a8:c4:39:06:e7:30:6d:27:96:e6:a4:cf:22:2e:7d +# SHA256 Fingerprint: 88:ef:81:de:20:2e:b0:18:45:2e:43:f8:64:72:5c:ea:5f:bd:1f:c2:d9:d2:05:73:07:09:c5:d8:b8:69:0f:46 +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQEL +BQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc +BgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00 +MjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM +aW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMgRzMwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286IxSR +/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNu +FoM7pmRLMon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXR +U7Ox7sWTaYI+FrUoRqHe6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+c +ra1AdHkrAj80//ogaX3T7mH1urPnMNA3I4ZyYUUpSFlob3emLoG+B01vr87ERROR +FHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3UVDmrJqMz6nWB2i3ND0/k +A9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f75li59wzw +eyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634Ryl +sSqiMd5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBp +VzgeAVuNVejH38DMdyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0Q +A4XN8f+MFrXBsj6IbGB/kE+V9/YtrQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+ +ydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +BjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZIhvcNAQELBQAD +ggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px +KGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnI +FUBhynLWcKzSt/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5Wvv +oxXqA/4Ti2Tk08HS6IT7SdEQTXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFg +u/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9DuDcpmvJRPpq3t/O5jrFc/ZSXPsoaP +0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGibIh6BJpsQBJFxwAYf +3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmDhPbl +8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+ +DhcI00iX0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HN +PlopNLk9hM6xZdRZkZFWdSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/ +ywaZWWDYWGWVjUTR939+J399roD1B0y2PpxxVJkES/1Y+Zj0 +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Assured ID Root G2 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Assured ID Root G2 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Assured ID Root G2" +# Serial: 15385348160840213938643033620894905419 +# MD5 Fingerprint: 92:38:b9:f8:63:24:82:65:2c:57:33:e6:fe:81:8f:9d +# SHA1 Fingerprint: a1:4b:48:d9:43:ee:0a:0e:40:90:4f:3c:e0:a4:c0:91:93:51:5d:3f +# SHA256 Fingerprint: 7d:05:eb:b6:82:33:9f:8c:94:51:ee:09:4e:eb:fe:fa:79:53:a1:14:ed:b2:f4:49:49:45:2f:ab:7d:2f:c1:85 +-----BEGIN CERTIFICATE----- +MIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBl +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv +b3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQG +EwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl +cnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwggEi +MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSA +n61UQbVH35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4Htecc +biJVMWWXvdMX0h5i89vqbFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9Hp +EgjAALAcKxHad3A2m67OeYfcgnDmCXRwVWmvo2ifv922ebPynXApVfSr/5Vh88lA +bx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OPYLfykqGxvYmJHzDNw6Yu +YjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+RnlTGNAgMB +AAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQW +BBTOw0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPI +QW5pJ6d1Ee88hjZv0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I +0jJmwYrA8y8678Dj1JGG0VDjA9tzd29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4Gni +lmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAWhsI6yLETcDbYz+70CjTVW0z9 +B5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0MjomZmWzwPDCv +ON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo +IhNzbM8m9Yop5w== +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Assured ID Root G3 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Assured ID Root G3 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Assured ID Root G3" +# Serial: 15459312981008553731928384953135426796 +# MD5 Fingerprint: 7c:7f:65:31:0c:81:df:8d:ba:3e:99:e2:5c:ad:6e:fb +# SHA1 Fingerprint: f5:17:a2:4f:9a:48:c6:c9:f8:a2:00:26:9f:dc:0f:48:2c:ab:30:89 +# SHA256 Fingerprint: 7e:37:cb:8b:4c:47:09:0c:ab:36:55:1b:a6:f4:5d:b8:40:68:0f:ba:16:6a:95:2d:b1:00:71:7f:43:05:3f:c2 +-----BEGIN CERTIFICATE----- +MIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQsw +CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu +ZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3Qg +RzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu +Y29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQBgcq +hkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJf +Zn4f5dwbRXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17Q +RSAPWXYQ1qAk8C3eNvJsKTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/ +BAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgFUaFNN6KDec6NHSrkhDAKBggqhkjOPQQD +AwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5FyYZ5eEJJZVrmDxxDnOOlY +JjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy1vUhZscv +6pZjamVFkpUBtA== +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Global Root G2 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Global Root G2 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Global Root G2" +# Serial: 4293743540046975378534879503202253541 +# MD5 Fingerprint: e4:a6:8a:c8:54:ac:52:42:46:0a:fd:72:48:1b:2a:44 +# SHA1 Fingerprint: df:3c:24:f9:bf:d6:66:76:1b:26:80:73:fe:06:d1:cc:8d:4f:82:a4 +# SHA256 Fingerprint: cb:3c:cb:b7:60:31:e5:e0:13:8f:8d:d3:9a:23:f9:de:47:ff:c3:5e:43:c1:14:4c:ea:27:d4:6a:5a:b1:cb:5f +-----BEGIN CERTIFICATE----- +MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH +MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT +MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j +b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG +9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI +2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx +1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ +q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz +tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ +vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP +BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV +5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY +1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4 +NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG +Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91 +8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe +pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl +MrY= +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Global Root G3 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Global Root G3 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Global Root G3" +# Serial: 7089244469030293291760083333884364146 +# MD5 Fingerprint: f5:5d:a4:50:a5:fb:28:7e:1e:0f:0d:cc:96:57:56:ca +# SHA1 Fingerprint: 7e:04:de:89:6a:3e:66:6d:00:e6:87:d3:3f:fa:d9:3b:e8:3d:34:9e +# SHA256 Fingerprint: 31:ad:66:48:f8:10:41:38:c7:38:f3:9e:a4:32:01:33:39:3e:3a:18:cc:02:29:6e:f9:7c:2a:c9:ef:67:31:d0 +-----BEGIN CERTIFICATE----- +MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQsw +CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu +ZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAe +Fw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVTMRUw +EwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20x +IDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0CAQYF +K4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FG +fp4tn+6OYwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPO +Z9wj/wMco+I+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAd +BgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNpYim8S8YwCgYIKoZIzj0EAwMDaAAwZQIx +AK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y3maTD/HMsQmP3Wyr+mt/ +oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34VOKa5Vt8 +sycX +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert Trusted Root G4 O=DigiCert Inc OU=www.digicert.com +# Subject: CN=DigiCert Trusted Root G4 O=DigiCert Inc OU=www.digicert.com +# Label: "DigiCert Trusted Root G4" +# Serial: 7451500558977370777930084869016614236 +# MD5 Fingerprint: 78:f2:fc:aa:60:1f:2f:b4:eb:c9:37:ba:53:2e:75:49 +# SHA1 Fingerprint: dd:fb:16:cd:49:31:c9:73:a2:03:7d:3f:c8:3a:4d:7d:77:5d:05:e4 +# SHA256 Fingerprint: 55:2f:7b:dc:f1:a7:af:9e:6c:e6:72:01:7f:4f:12:ab:f7:72:40:c7:8e:76:1a:c2:03:d1:d9:d2:0a:c8:99:88 +-----BEGIN CERTIFICATE----- +MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBi +MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3 +d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg +RzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBiMQswCQYDVQQGEwJV +UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu +Y29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3y +ithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1If +xp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDV +ySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfISKhmV1efVFiO +DCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQ +jdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/ +CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCi +EhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADM +fRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QY +uKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXK +chYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t +9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB +hjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD +ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2 +SV1EY+CtnJYYZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd ++SeuMIW59mdNOj6PWTkiU0TryF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWc +fFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy7zBZLq7gcfJW5GqXb5JQbZaNaHqa +sjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iahixTXTBmyUEFxPT9N +cCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN5r5N +0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie +4u1Ki7wb/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mI +r/OSmbaz5mEP0oUA51Aa5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1 +/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tKG48BtieVU+i2iW1bvGjUI+iLUaJW+fCm +gKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP82Z+ +-----END CERTIFICATE----- + +# Issuer: CN=COMODO RSA Certification Authority O=COMODO CA Limited +# Subject: CN=COMODO RSA Certification Authority O=COMODO CA Limited +# Label: "COMODO RSA Certification Authority" +# Serial: 101909084537582093308941363524873193117 +# MD5 Fingerprint: 1b:31:b0:71:40:36:cc:14:36:91:ad:c4:3e:fd:ec:18 +# SHA1 Fingerprint: af:e5:d2:44:a8:d1:19:42:30:ff:47:9f:e2:f8:97:bb:cd:7a:8c:b4 +# SHA256 Fingerprint: 52:f0:e1:c4:e5:8e:c6:29:29:1b:60:31:7f:07:46:71:b8:5d:7e:a8:0d:5b:07:27:34:63:53:4b:32:b4:02:34 +-----BEGIN CERTIFICATE----- +MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCB +hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G +A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV +BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMTE5 +MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgT +EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR +Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNh +dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR +6FSS0gpWsawNJN3Fz0RndJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8X +pz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZFGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC +9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+5eNu/Nio5JIk2kNrYrhV +/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pGx8cgoLEf +Zd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z ++pUX2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7w +qP/0uK3pN/u6uPQLOvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZah +SL0896+1DSJMwBGB7FY79tOi4lu3sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVIC +u9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+CGCe01a60y1Dma/RMhnEw6abf +Fobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5WdYgGq/yapiq +crxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E +FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB +/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvl +wFTPoCWOAvn9sKIN9SCYPBMtrFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM +4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+nq6PK7o9mfjYcwlYRm6mnPTXJ9OV +2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSgtZx8jb8uk2Intzna +FxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwWsRqZ +CuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiK +boHGhfKppC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmcke +jkk9u+UJueBPSZI9FoJAzMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yL +S0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHqZJx64SIDqZxubw5lT2yHh17zbqD5daWb +QOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk527RH89elWsn2/x20Kk4yl +0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7ILaZRfyHB +NVOFBkpdn627G190 +-----END CERTIFICATE----- + +# Issuer: CN=USERTrust RSA Certification Authority O=The USERTRUST Network +# Subject: CN=USERTrust RSA Certification Authority O=The USERTRUST Network +# Label: "USERTrust RSA Certification Authority" +# Serial: 2645093764781058787591871645665788717 +# MD5 Fingerprint: 1b:fe:69:d1:91:b7:19:33:a3:72:a8:0f:e1:55:e5:b5 +# SHA1 Fingerprint: 2b:8f:1b:57:33:0d:bb:a2:d0:7a:6c:51:f7:0e:e9:0d:da:b9:ad:8e +# SHA256 Fingerprint: e7:93:c9:b0:2f:d8:aa:13:e2:1c:31:22:8a:cc:b0:81:19:64:3b:74:9c:89:89:64:b1:74:6d:46:c3:d4:cb:d2 +-----BEGIN CERTIFICATE----- +MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB +iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl +cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV +BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw +MjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV +BAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU +aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy +dGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK +AoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B +3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY +tJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/ +Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2 +VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT +79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6 +c0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT +Yo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l +c6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee +UB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE +Hg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd +BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G +A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF +Up/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO +VWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3 +ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs +8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR +iQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze +Sf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ +XHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/ +qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB +VXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB +L6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG +jjxDah2nGN59PRbxYvnKkKj9 +-----END CERTIFICATE----- + +# Issuer: CN=USERTrust ECC Certification Authority O=The USERTRUST Network +# Subject: CN=USERTrust ECC Certification Authority O=The USERTRUST Network +# Label: "USERTrust ECC Certification Authority" +# Serial: 123013823720199481456569720443997572134 +# MD5 Fingerprint: fa:68:bc:d9:b5:7f:ad:fd:c9:1d:06:83:28:cc:24:c1 +# SHA1 Fingerprint: d1:cb:ca:5d:b2:d5:2a:7f:69:3b:67:4d:e5:f0:5a:1d:0c:95:7d:f0 +# SHA256 Fingerprint: 4f:f4:60:d5:4b:9c:86:da:bf:bc:fc:57:12:e0:40:0d:2b:ed:3f:bc:4d:4f:bd:aa:86:e0:6a:dc:d2:a9:ad:7a +-----BEGIN CERTIFICATE----- +MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDEL +MAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNl +eSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMT +JVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMjAx +MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT +Ck5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVUaGUg +VVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlm +aWNhdGlvbiBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqflo +I+d61SRvU8Za2EurxtW20eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinng +o4N+LZfQYcTxmdwlkWOrfzCjtHDix6EznPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0G +A1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNVHQ8BAf8EBAMCAQYwDwYD +VR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBBHU6+4WMB +zzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbW +RNZu9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg= +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R5 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R5 +# Label: "GlobalSign ECC Root CA - R5" +# Serial: 32785792099990507226680698011560947931244 +# MD5 Fingerprint: 9f:ad:3b:1c:02:1e:8a:ba:17:74:38:81:0c:a2:bc:08 +# SHA1 Fingerprint: 1f:24:c6:30:cd:a4:18:ef:20:69:ff:ad:4f:dd:5f:46:3a:1b:69:aa +# SHA256 Fingerprint: 17:9f:bc:14:8a:3d:d0:0f:d2:4e:a1:34:58:cc:43:bf:a7:f5:9c:81:82:d7:83:a5:13:f6:eb:ec:10:0c:89:24 +-----BEGIN CERTIFICATE----- +MIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEk +MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpH +bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX +DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD +QSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu +MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6SFkc +8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8ke +hOvRnkmSh5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD +VR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYI +KoZIzj0EAwMDaAAwZQIxAOVpEslu28YxuglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg +515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7yFz9SO8NdCKoCOJuxUnO +xwy8p2Fp8fc74SrL+SvzZpA3 +-----END CERTIFICATE----- + +# Issuer: CN=IdenTrust Commercial Root CA 1 O=IdenTrust +# Subject: CN=IdenTrust Commercial Root CA 1 O=IdenTrust +# Label: "IdenTrust Commercial Root CA 1" +# Serial: 13298821034946342390520003877796839426 +# MD5 Fingerprint: b3:3e:77:73:75:ee:a0:d3:e3:7e:49:63:49:59:bb:c7 +# SHA1 Fingerprint: df:71:7e:aa:4a:d9:4e:c9:55:84:99:60:2d:48:de:5f:bc:f0:3a:25 +# SHA256 Fingerprint: 5d:56:49:9b:e4:d2:e0:8b:cf:ca:d0:8a:3e:38:72:3d:50:50:3b:de:70:69:48:e4:2f:55:60:30:19:e5:28:ae +-----BEGIN CERTIFICATE----- +MIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBK +MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVu +VHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQw +MTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScw +JQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ldhNlT +3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU ++ehcCuz/mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gp +S0l4PJNgiCL8mdo2yMKi1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1 +bVoE/c40yiTcdCMbXTMTEl3EASX2MN0CXZ/g1Ue9tOsbobtJSdifWwLziuQkkORi +T0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl3ZBWzvurpWCdxJ35UrCL +vYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzyNeVJSQjK +Vsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZK +dHzVWYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHT +c+XvvqDtMwt0viAgxGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hv +l7yTmvmcEpB4eoCHFddydJxVdHixuuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5N +iGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB +/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZIhvcNAQELBQAD +ggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH +6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwt +LRvM7Kqas6pgghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93 +nAbowacYXVKV7cndJZ5t+qntozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3 ++wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmVYjzlVYA211QC//G5Xc7UI2/YRYRK +W2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUXfeu+h1sXIFRRk0pT +AwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/rokTLq +l1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG +4iZZRHUe2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZ +mUlO+KWA2yUPHGNiiskzZ2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A +7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7RcGzM7vRX+Bi6hG6H +-----END CERTIFICATE----- + +# Issuer: CN=IdenTrust Public Sector Root CA 1 O=IdenTrust +# Subject: CN=IdenTrust Public Sector Root CA 1 O=IdenTrust +# Label: "IdenTrust Public Sector Root CA 1" +# Serial: 13298821034946342390521976156843933698 +# MD5 Fingerprint: 37:06:a5:b0:fc:89:9d:ba:f4:6b:8c:1a:64:cd:d5:ba +# SHA1 Fingerprint: ba:29:41:60:77:98:3f:f4:f3:ef:f2:31:05:3b:2e:ea:6d:4d:45:fd +# SHA256 Fingerprint: 30:d0:89:5a:9a:44:8a:26:20:91:63:55:22:d1:f5:20:10:b5:86:7a:ca:e1:2c:78:ef:95:8f:d4:f4:38:9f:2f +-----BEGIN CERTIFICATE----- +MIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBN +MQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVu +VHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcN +MzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0 +MSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTyP4o7 +ekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGy +RBb06tD6Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlS +bdsHyo+1W/CD80/HLaXIrcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF +/YTLNiCBWS2ab21ISGHKTN9T0a9SvESfqy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R +3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoSmJxZZoY+rfGwyj4GD3vw +EUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFnol57plzy +9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9V +GxyhLrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ +2fjXctscvG29ZV/viDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsV +WaFHVCkugyhfHMKiq3IXAAaOReyL4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gD +W/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMwDQYJKoZIhvcN +AQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj +t2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHV +DRDtfULAj+7AmgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9 +TaDKQGXSc3z1i9kKlT/YPyNtGtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8G +lwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFtm6/n6J91eEyrRjuazr8FGF1NFTwW +mhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMxNRF4eKLg6TCMf4Df +WN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4Mhn5 ++bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJ +tshquDDIajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhA +GaQdp/lLQzfcaFpPz+vCZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv +8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ3Wl9af0AVqW3rLatt8o+Ae+c +-----END CERTIFICATE----- + +# Issuer: CN=Entrust Root Certification Authority - G2 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2009 Entrust, Inc. - for authorized use only +# Subject: CN=Entrust Root Certification Authority - G2 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2009 Entrust, Inc. - for authorized use only +# Label: "Entrust Root Certification Authority - G2" +# Serial: 1246989352 +# MD5 Fingerprint: 4b:e2:c9:91:96:65:0c:f4:0e:5a:93:92:a0:0a:fe:b2 +# SHA1 Fingerprint: 8c:f4:27:fd:79:0c:3a:d1:66:06:8d:e8:1e:57:ef:bb:93:22:72:d4 +# SHA256 Fingerprint: 43:df:57:74:b0:3e:7f:ef:5f:e4:0d:93:1a:7b:ed:f1:bb:2e:6b:42:73:8c:4e:6d:38:41:10:3d:3a:a7:f3:39 +-----BEGIN CERTIFICATE----- +MIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMC +VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50 +cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3Qs +IEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVz +dCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwHhcNMDkwNzA3MTcy +NTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVu +dHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwt +dGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0 +aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmlj +YXRpb24gQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP/vaCeb9zYQYKpSfYs1/T +RU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXzHHfV1IWN +cCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hW +wcKUs/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1 +U1+cPvQXLOZprE4yTGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0 +jaWvYkxN4FisZDQSA/i2jZRjJKRxAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ60B7vfec7aVHUbI2fkBJmqzAN +BgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5ZiXMRrEPR9RP/ +jTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ +Rkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v +1fN2D807iDginWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4R +nAuknZoh8/CbCzB428Hch0P+vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmH +VHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xOe4pIb4tF9g== +-----END CERTIFICATE----- + +# Issuer: CN=Entrust Root Certification Authority - EC1 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2012 Entrust, Inc. - for authorized use only +# Subject: CN=Entrust Root Certification Authority - EC1 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2012 Entrust, Inc. - for authorized use only +# Label: "Entrust Root Certification Authority - EC1" +# Serial: 51543124481930649114116133369 +# MD5 Fingerprint: b6:7e:1d:f0:58:c5:49:6c:24:3b:3d:ed:98:18:ed:bc +# SHA1 Fingerprint: 20:d8:06:40:df:9b:25:f5:12:25:3a:11:ea:f7:59:8a:eb:14:b5:47 +# SHA256 Fingerprint: 02:ed:0e:b2:8c:14:da:45:16:5c:56:67:91:70:0d:64:51:d7:fb:56:f0:b2:ab:1d:3b:8e:b0:70:e5:6e:df:f5 +-----BEGIN CERTIFICATE----- +MIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkG +A1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3 +d3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVu +dHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEzMDEGA1UEAxMq +RW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRUMxMB4XDTEy +MTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYwFAYD +VQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0 +L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0g +Zm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBD +ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEVDMTB2MBAGByqGSM49AgEGBSuBBAAi +A2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHyAsWfoPZb1YsGGYZPUxBt +ByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef9eNi1KlH +Bz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O +BBYEFLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVC +R98crlOZF7ZvHH3hvxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nX +hTcGtXsI/esni0qU+eH6p44mCOh8kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G +-----END CERTIFICATE----- + +# Issuer: CN=CFCA EV ROOT O=China Financial Certification Authority +# Subject: CN=CFCA EV ROOT O=China Financial Certification Authority +# Label: "CFCA EV ROOT" +# Serial: 407555286 +# MD5 Fingerprint: 74:e1:b6:ed:26:7a:7a:44:30:33:94:ab:7b:27:81:30 +# SHA1 Fingerprint: e2:b8:29:4b:55:84:ab:6b:58:c2:90:46:6c:ac:3f:b8:39:8f:84:83 +# SHA256 Fingerprint: 5c:c3:d7:8e:4e:1d:5e:45:54:7a:04:e6:87:3e:64:f9:0c:f9:53:6d:1c:cc:2e:f8:00:f3:55:c4:c5:fd:70:fd +-----BEGIN CERTIFICATE----- +MIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJD +TjEwMC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9y +aXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkx +MjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEwMC4GA1UECgwnQ2hpbmEgRmluYW5j +aWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJP +T1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnVBU03 +sQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpL +TIpTUnrD7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5 +/ZOkVIBMUtRSqy5J35DNuF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp +7hZZLDRJGqgG16iI0gNyejLi6mhNbiyWZXvKWfry4t3uMCz7zEasxGPrb382KzRz +EpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7xzbh72fROdOXW3NiGUgt +hxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9fpy25IGvP +a931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqot +aK8KgWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNg +TnYGmE69g60dWIolhdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfV +PKPtl8MeNPo4+QgO48BdK4PRVmrJtqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hv +cWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAfBgNVHSMEGDAWgBTj/i39KNAL +tbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAd +BgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB +ACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObT +ej/tUxPQ4i9qecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdL +jOztUmCypAbqTuv0axn96/Ua4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBS +ESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sGE5uPhnEFtC+NiWYzKXZUmhH4J/qy +P5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfXBDrDMlI1Dlb4pd19 +xIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjnaH9d +Ci77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN +5mydLIhyPDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe +/v5WOaHIz16eGWRGENoXkbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+Z +AAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3CekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ +5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su +-----END CERTIFICATE----- + +# Issuer: CN=OISTE WISeKey Global Root GB CA O=WISeKey OU=OISTE Foundation Endorsed +# Subject: CN=OISTE WISeKey Global Root GB CA O=WISeKey OU=OISTE Foundation Endorsed +# Label: "OISTE WISeKey Global Root GB CA" +# Serial: 157768595616588414422159278966750757568 +# MD5 Fingerprint: a4:eb:b9:61:28:2e:b7:2f:98:b0:35:26:90:99:51:1d +# SHA1 Fingerprint: 0f:f9:40:76:18:d3:d7:6a:4b:98:f0:a8:35:9e:0c:fd:27:ac:cc:ed +# SHA256 Fingerprint: 6b:9c:08:e8:6e:b0:f7:67:cf:ad:65:cd:98:b6:21:49:e5:49:4a:67:f5:84:5e:7b:d1:ed:01:9f:27:b8:6b:d6 +-----BEGIN CERTIFICATE----- +MIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBt +MQswCQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUg +Rm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9i +YWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAwMzJaFw0zOTEyMDExNTEwMzFaMG0x +CzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBG +b3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2Jh +bCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3 +HEokKtaXscriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGx +WuR51jIjK+FTzJlFXHtPrby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX +1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNk +u7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4oQnc/nSMbsrY9gBQHTC5P +99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvgGUpuuy9r +M2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw +AwEB/zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUB +BAMCAQAwDQYJKoZIhvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrgh +cViXfa43FK8+5/ea4n32cZiZBKpDdHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5 +gSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0VQreUGdNZtGn//3ZwLWoo4rO +ZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEuiHZeeevJuQHHf +aPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic +Nc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM= +-----END CERTIFICATE----- + +# Issuer: CN=SZAFIR ROOT CA2 O=Krajowa Izba Rozliczeniowa S.A. +# Subject: CN=SZAFIR ROOT CA2 O=Krajowa Izba Rozliczeniowa S.A. +# Label: "SZAFIR ROOT CA2" +# Serial: 357043034767186914217277344587386743377558296292 +# MD5 Fingerprint: 11:64:c1:89:b0:24:b1:8c:b1:07:7e:89:9e:51:9e:99 +# SHA1 Fingerprint: e2:52:fa:95:3f:ed:db:24:60:bd:6e:28:f3:9c:cc:cf:5e:b3:3f:de +# SHA256 Fingerprint: a1:33:9d:33:28:1a:0b:56:e5:57:d3:d3:2b:1c:e7:f9:36:7e:b0:94:bd:5f:a7:2a:7e:50:04:c8:de:d7:ca:fe +-----BEGIN CERTIFICATE----- +MIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQEL +BQAwUTELMAkGA1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6 +ZW5pb3dhIFMuQS4xGDAWBgNVBAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkw +NzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJBgNVBAYTAlBMMSgwJgYDVQQKDB9L +cmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYDVQQDDA9TWkFGSVIg +Uk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5QqEvN +QLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT +3PSQ1hNKDJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw +3gAeqDRHu5rr/gsUvTaE2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr6 +3fE9biCloBK0TXC5ztdyO4mTp4CEHCdJckm1/zuVnsHMyAHs6A6KCpbns6aH5db5 +BSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwiieDhZNRnvDF5YTy7ykHN +XGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD +AgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsF +AAOCAQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw +8PRBEew/R40/cof5O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOG +nXkZ7/e7DDWQw4rtTw/1zBLZpD67oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCP +oky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul4+vJhaAlIDf7js4MNIThPIGy +d05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6+/NNIxuZMzSg +LvWpCz/UXeHPhJ/iGcJfitYgHuNztw== +-----END CERTIFICATE----- + +# Issuer: CN=Certum Trusted Network CA 2 O=Unizeto Technologies S.A. OU=Certum Certification Authority +# Subject: CN=Certum Trusted Network CA 2 O=Unizeto Technologies S.A. OU=Certum Certification Authority +# Label: "Certum Trusted Network CA 2" +# Serial: 44979900017204383099463764357512596969 +# MD5 Fingerprint: 6d:46:9e:d9:25:6d:08:23:5b:5e:74:7d:1e:27:db:f2 +# SHA1 Fingerprint: d3:dd:48:3e:2b:bf:4c:05:e8:af:10:f5:fa:76:26:cf:d3:dc:30:92 +# SHA256 Fingerprint: b6:76:f2:ed:da:e8:77:5c:d3:6c:b0:f6:3c:d1:d4:60:39:61:f4:9e:62:65:ba:01:3a:2f:03:07:b6:d0:b8:04 +-----BEGIN CERTIFICATE----- +MIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCB +gDELMAkGA1UEBhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMu +QS4xJzAlBgNVBAsTHkNlcnR1bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIG +A1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29yayBDQSAyMCIYDzIwMTExMDA2MDgz +OTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQTDEiMCAGA1UEChMZ +VW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRp +ZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3 +b3JrIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWA +DGSdhhuWZGc/IjoedQF97/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn +0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+oCgCXhVqqndwpyeI1B+twTUrWwbNWuKFB +OJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40bRr5HMNUuctHFY9rnY3lE +fktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2puTRZCr+E +Sv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1m +o130GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02i +sx7QBlrd9pPPV3WZ9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOW +OZV7bIBaTxNyxtd9KXpEulKkKtVBRgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgez +Tv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pyehizKV/Ma5ciSixqClnrDvFAS +adgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vMBhBgu4M1t15n +3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMC +AQYwDQYJKoZIhvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQ +F/xlhMcQSZDe28cmk4gmb3DWAl45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTf +CVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuAL55MYIR4PSFk1vtBHxgP58l1cb29 +XN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMoclm2q8KMZiYcdywm +djWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tMpkT/ +WjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jb +AoJnwTnbw3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksq +P/ujmv5zMnHCnsZy4YpoJ/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Ko +b7a6bINDd82Kkhehnlt4Fj1F4jNy3eFmypnTycUm/Q1oBEauttmbjL4ZvrHG8hnj +XALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLXis7VmFxWlgPF7ncGNf/P +5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7zAYspsbi +DrW5viSP +-----END CERTIFICATE----- + +# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority +# Subject: CN=Hellenic Academic and Research Institutions RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority +# Label: "Hellenic Academic and Research Institutions RootCA 2015" +# Serial: 0 +# MD5 Fingerprint: ca:ff:e2:db:03:d9:cb:4b:e9:0f:ad:84:fd:7b:18:ce +# SHA1 Fingerprint: 01:0c:06:95:a6:98:19:14:ff:bf:5f:c6:b0:b6:95:ea:29:e9:12:a6 +# SHA256 Fingerprint: a0:40:92:9a:02:ce:53:b4:ac:f4:f2:ff:c6:98:1c:e4:49:6f:75:5e:6d:45:fe:0b:2a:69:2b:cd:52:52:3f:36 +-----BEGIN CERTIFICATE----- +MIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1Ix +DzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5k +IFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMT +N0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9v +dENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAxMTIxWjCBpjELMAkG +A1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNh +ZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkx +QDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1 +dGlvbnMgUm9vdENBIDIwMTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC +AQDC+Kk/G4n8PDwEXT2QNrCROnk8ZlrvbTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA +4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+ehiGsxr/CL0BgzuNtFajT0 +AoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+6PAQZe10 +4S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06C +ojXdFPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV +9Cz82XBST3i4vTwri5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrD +gfgXy5I2XdGj2HUb4Ysn6npIQf1FGQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6 +Y5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2fu/Z8VFRfS0myGlZYeCsargq +NhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9muiNX6hME6wGko +LfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc +Bw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNV +HRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVd +ctA4GGqd83EkVAswDQYJKoZIhvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0I +XtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+D1hYc2Ryx+hFjtyp8iY/xnmMsVMI +M4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrMd/K4kPFox/la/vot +9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+yd+2V +Z5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/ea +j8GsGsVn82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnh +X9izjFk0WaSrT2y7HxjbdavYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQ +l033DlZdwJVqwjbDG2jJ9SrcR5q+ss7FJej6A7na+RZukYT1HCjI/CbM1xyQVqdf +bzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVtJ94Cj8rDtSvK6evIIVM4 +pcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGaJI7ZjnHK +e7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0 +vm9qp/UsQu0yrbYhnr68 +-----END CERTIFICATE----- + +# Issuer: CN=Hellenic Academic and Research Institutions ECC RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority +# Subject: CN=Hellenic Academic and Research Institutions ECC RootCA 2015 O=Hellenic Academic and Research Institutions Cert. Authority +# Label: "Hellenic Academic and Research Institutions ECC RootCA 2015" +# Serial: 0 +# MD5 Fingerprint: 81:e5:b4:17:eb:c2:f5:e1:4b:0d:41:7b:49:92:fe:ef +# SHA1 Fingerprint: 9f:f1:71:8d:92:d5:9a:f3:7d:74:97:b4:bc:6f:84:68:0b:ba:b6:66 +# SHA256 Fingerprint: 44:b5:45:aa:8a:25:e6:5a:73:ca:15:dc:27:fc:36:d2:4c:1c:b9:95:3a:06:65:39:b1:15:82:dc:48:7b:48:33 +-----BEGIN CERTIFICATE----- +MIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzAN +BgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl +c2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hl +bGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgRUNDIFJv +b3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEwMzcxMlowgaoxCzAJ +BgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmljIEFj +YWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5 +MUQwQgYDVQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0 +dXRpb25zIEVDQyBSb290Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKg +QehLgoRc4vgxEZmGZE4JJS+dQS8KrjVPdJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJa +jq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoKVlp8aQuqgAkkbH7BRqNC +MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFLQi +C4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaep +lSTAGiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7Sof +TUwJCA3sS61kFyjndc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR +-----END CERTIFICATE----- + +# Issuer: CN=ISRG Root X1 O=Internet Security Research Group +# Subject: CN=ISRG Root X1 O=Internet Security Research Group +# Label: "ISRG Root X1" +# Serial: 172886928669790476064670243504169061120 +# MD5 Fingerprint: 0c:d2:f9:e0:da:17:73:e9:ed:86:4d:a5:e3:70:e7:4e +# SHA1 Fingerprint: ca:bd:2a:79:a1:07:6a:31:f2:1d:25:36:35:cb:03:9d:43:29:a5:e8 +# SHA256 Fingerprint: 96:bc:ec:06:26:49:76:f3:74:60:77:9a:cf:28:c5:a7:cf:e8:a3:c0:aa:e1:1a:8f:fc:ee:05:c0:bd:df:08:c6 +-----BEGIN CERTIFICATE----- +MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw +TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh +cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4 +WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu +ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY +MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc +h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+ +0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U +A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW +T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH +B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC +B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv +KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn +OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn +jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw +qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI +rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV +HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq +hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL +ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ +3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK +NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5 +ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur +TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC +jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc +oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq +4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA +mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d +emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc= +-----END CERTIFICATE----- + +# Issuer: O=FNMT-RCM OU=AC RAIZ FNMT-RCM +# Subject: O=FNMT-RCM OU=AC RAIZ FNMT-RCM +# Label: "AC RAIZ FNMT-RCM" +# Serial: 485876308206448804701554682760554759 +# MD5 Fingerprint: e2:09:04:b4:d3:bd:d1:a0:14:fd:1a:d2:47:c4:57:1d +# SHA1 Fingerprint: ec:50:35:07:b2:15:c4:95:62:19:e2:a8:9a:5b:42:99:2c:4c:2c:20 +# SHA256 Fingerprint: eb:c5:57:0c:29:01:8c:4d:67:b1:aa:12:7b:af:12:f7:03:b4:61:1e:bc:17:b7:da:b5:57:38:94:17:9b:93:fa +-----BEGIN CERTIFICATE----- +MIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsx +CzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJ +WiBGTk1ULVJDTTAeFw0wODEwMjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJ +BgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBG +Tk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALpxgHpMhm5/ +yBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcfqQgf +BBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAz +WHFctPVrbtQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxF +tBDXaEAUwED653cXeuYLj2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z +374jNUUeAlz+taibmSXaXvMiwzn15Cou08YfxGyqxRxqAQVKL9LFwag0Jl1mpdIC +IfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mwWsXmo8RZZUc1g16p6DUL +mbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnTtOmlcYF7 +wk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peS +MKGJ47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2 +ZSysV4999AeU14ECll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMet +UqIJ5G+GR4of6ygnXYMgrwTJbFaai0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUw +AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFPd9xf3E6Jobd2Sn9R2gzL+H +YJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1odHRwOi8vd3d3 +LmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD +nFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1 +RXxlDPiyN8+sD8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYM +LVN0V2Ue1bLdI4E7pWYjJ2cJj+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf +77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrTQfv6MooqtyuGC2mDOL7Nii4LcK2N +JpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW+YJF1DngoABd15jm +fZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7Ixjp +6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp +1txyM/1d8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B +9kiABdcPUXmsEKvU7ANm5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wok +RqEIr9baRRmW1FMdW4R58MD3R++Lj8UGrp1MYp3/RgT408m2ECVAdf4WqslKYIYv +uu8wd+RU4riEmViAqhOLUTpPSPaLtrM= +-----END CERTIFICATE----- + +# Issuer: CN=Amazon Root CA 1 O=Amazon +# Subject: CN=Amazon Root CA 1 O=Amazon +# Label: "Amazon Root CA 1" +# Serial: 143266978916655856878034712317230054538369994 +# MD5 Fingerprint: 43:c6:bf:ae:ec:fe:ad:2f:18:c6:88:68:30:fc:c8:e6 +# SHA1 Fingerprint: 8d:a7:f9:65:ec:5e:fc:37:91:0f:1c:6e:59:fd:c1:cc:6a:6e:de:16 +# SHA256 Fingerprint: 8e:cd:e6:88:4f:3d:87:b1:12:5b:a3:1a:c3:fc:b1:3d:70:16:de:7f:57:cc:90:4f:e1:cb:97:c6:ae:98:19:6e +-----BEGIN CERTIFICATE----- +MIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF +ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 +b24gUm9vdCBDQSAxMB4XDTE1MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTEL +MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv +b3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJ4gHHKeNXj +ca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgHFzZM +9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qw +IFAGbHrQgLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6 +VOujw5H5SNz/0egwLX0tdHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L +93FcXmn/6pUCyziKrlA4b9v7LWIbxcceVOF34GfID5yHI9Y/QCB/IIDEgEw+OyQm +jgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC +AYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3DQEBCwUA +A4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDI +U5PMCCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUs +N+gDS63pYaACbvXy8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vv +o/ufQJVtMVT8QtPHRh8jrdkPSHCa2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU +5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy +rqXRfboQnoZsG4q5WTP468SQvvG5 +-----END CERTIFICATE----- + +# Issuer: CN=Amazon Root CA 2 O=Amazon +# Subject: CN=Amazon Root CA 2 O=Amazon +# Label: "Amazon Root CA 2" +# Serial: 143266982885963551818349160658925006970653239 +# MD5 Fingerprint: c8:e5:8d:ce:a8:42:e2:7a:c0:2a:5c:7c:9e:26:bf:66 +# SHA1 Fingerprint: 5a:8c:ef:45:d7:a6:98:59:76:7a:8c:8b:44:96:b5:78:cf:47:4b:1a +# SHA256 Fingerprint: 1b:a5:b2:aa:8c:65:40:1a:82:96:01:18:f8:0b:ec:4f:62:30:4d:83:ce:c4:71:3a:19:c3:9c:01:1e:a4:6d:b4 +-----BEGIN CERTIFICATE----- +MIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwF +ADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6 +b24gUm9vdCBDQSAyMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTEL +MAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv +b3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK2Wny2cSkxK +gXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4kHbZ +W0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg +1dKmSYXpN+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K +8nu+NQWpEjTj82R0Yiw9AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r +2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvdfLC6HM783k81ds8P+HgfajZRRidhW+me +z/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAExkv8LV/SasrlX6avvDXbR +8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSSbtqDT6Zj +mUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz +7Mt0Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6 ++XUyo05f7O0oYtlNc/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI +0u1ufm8/0i2BWSlmy5A5lREedCf+3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMB +Af8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSwDPBMMPQFWAJI/TPlUq9LhONm +UjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oAA7CXDpO8Wqj2 +LIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY ++gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kS +k5Nrp+gvU5LEYFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl +7uxMMne0nxrpS10gxdr9HIcWxkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygm +btmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQgj9sAq+uEjonljYE1x2igGOpm/Hl +urR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbWaQbLU8uz/mtBzUF+ +fUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoVYh63 +n749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE +76KlXIx3KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H +9jVlpNMKVv/1F2Rs76giJUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT +4PsJYGw= +-----END CERTIFICATE----- + +# Issuer: CN=Amazon Root CA 3 O=Amazon +# Subject: CN=Amazon Root CA 3 O=Amazon +# Label: "Amazon Root CA 3" +# Serial: 143266986699090766294700635381230934788665930 +# MD5 Fingerprint: a0:d4:ef:0b:f7:b5:d8:49:95:2a:ec:f5:c4:fc:81:87 +# SHA1 Fingerprint: 0d:44:dd:8c:3c:8c:1a:1a:58:75:64:81:e9:0f:2e:2a:ff:b3:d2:6e +# SHA256 Fingerprint: 18:ce:6c:fe:7b:f1:4e:60:b2:e3:47:b8:df:e8:68:cb:31:d0:2e:bb:3a:da:27:15:69:f5:03:43:b4:6d:b3:a4 +-----BEGIN CERTIFICATE----- +MIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5 +MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g +Um9vdCBDQSAzMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG +A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg +Q0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZBf8ANm+gBG1bG8lKl +ui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjrZt6j +QjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSr +ttvXBp43rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkr +BqWTrBqYaGFy+uGh0PsceGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteM +YyRIHN8wfdVoOw== +-----END CERTIFICATE----- + +# Issuer: CN=Amazon Root CA 4 O=Amazon +# Subject: CN=Amazon Root CA 4 O=Amazon +# Label: "Amazon Root CA 4" +# Serial: 143266989758080763974105200630763877849284878 +# MD5 Fingerprint: 89:bc:27:d5:eb:17:8d:06:6a:69:d5:fd:89:47:b4:cd +# SHA1 Fingerprint: f6:10:84:07:d6:f8:bb:67:98:0c:c2:e2:44:c2:eb:ae:1c:ef:63:be +# SHA256 Fingerprint: e3:5d:28:41:9e:d0:20:25:cf:a6:90:38:cd:62:39:62:45:8d:a5:c6:95:fb:de:a3:c2:2b:0b:fb:25:89:70:92 +-----BEGIN CERTIFICATE----- +MIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5 +MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g +Um9vdCBDQSA0MB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG +A1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg +Q0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN/sGKe0uoe0ZLY7Bi +9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri83Bk +M6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB +/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WB +MAoGCCqGSM49BAMDA2gAMGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlw +CkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1AE47xDqUEpHJWEadIRNyp4iciuRMStuW +1KyLa2tJElMzrdfkviT8tQp21KW8EA== +-----END CERTIFICATE----- + +# Issuer: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK OU=Kamu Sertifikasyon Merkezi - Kamu SM +# Subject: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK OU=Kamu Sertifikasyon Merkezi - Kamu SM +# Label: "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" +# Serial: 1 +# MD5 Fingerprint: dc:00:81:dc:69:2f:3e:2f:b0:3b:f6:3d:5a:91:8e:49 +# SHA1 Fingerprint: 31:43:64:9b:ec:ce:27:ec:ed:3a:3f:0b:8f:0d:e4:e8:91:dd:ee:ca +# SHA256 Fingerprint: 46:ed:c3:68:90:46:d5:3a:45:3f:b3:10:4a:b8:0d:ca:ec:65:8b:26:60:ea:16:29:dd:7e:86:79:90:64:87:16 +-----BEGIN CERTIFICATE----- +MIIEYzCCA0ugAwIBAgIBATANBgkqhkiG9w0BAQsFADCB0jELMAkGA1UEBhMCVFIx +GDAWBgNVBAcTD0dlYnplIC0gS29jYWVsaTFCMEAGA1UEChM5VHVya2l5ZSBCaWxp +bXNlbCB2ZSBUZWtub2xvamlrIEFyYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEFLMS0w +KwYDVQQLEyRLYW11IFNlcnRpZmlrYXN5b24gTWVya2V6aSAtIEthbXUgU00xNjA0 +BgNVBAMTLVRVQklUQUsgS2FtdSBTTSBTU0wgS29rIFNlcnRpZmlrYXNpIC0gU3Vy +dW0gMTAeFw0xMzExMjUwODI1NTVaFw00MzEwMjUwODI1NTVaMIHSMQswCQYDVQQG +EwJUUjEYMBYGA1UEBxMPR2ViemUgLSBLb2NhZWxpMUIwQAYDVQQKEzlUdXJraXll +IEJpbGltc2VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSAtIFRVQklU +QUsxLTArBgNVBAsTJEthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppIC0gS2FtdSBT +TTE2MDQGA1UEAxMtVFVCSVRBSyBLYW11IFNNIFNTTCBLb2sgU2VydGlmaWthc2kg +LSBTdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr3UwM6q7 +a9OZLBI3hNmNe5eA027n/5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4t4y86Ij5iySr +LqP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbEz8HdDc72i9z+SqzvBV96I01INr +N3wcwv61A+xXzry0tcXtAA9TNypN9E8Mg/uGz8v+jE69h/mniyFXnHrfA2eJLJ2X +YacQuFWQfw4tJzh03+f92k4S400VIgLI4OD8D62K18lUUMw7D8oWgITQUVbDjlZ/ +iSIzL+aFCr2lqBs23tPcLG07xxO9WSMs5uWk99gL7eqQQESolbuT1dCANLZGeA4f +AJNG4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4EFgQUZT/HiobGPN08VFw1+DrtUgxH +V8gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL +BQADggEBACo/4fEyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2fKifh +AHe+SMg1qIGf5LgsyX8OsNJLN13qudULXjS99HMpw+0mFZx+CFOKWI3QSyjfwbPf +IPP54+M638yclNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4 +lzwDGrpDxpa5RXI4s6ehlj2Re37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c +8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0jq5Rm+K37DwhuJi1/FwcJsoz7UMCf +lo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM= +-----END CERTIFICATE----- + +# Issuer: CN=GDCA TrustAUTH R5 ROOT O=GUANG DONG CERTIFICATE AUTHORITY CO.,LTD. +# Subject: CN=GDCA TrustAUTH R5 ROOT O=GUANG DONG CERTIFICATE AUTHORITY CO.,LTD. +# Label: "GDCA TrustAUTH R5 ROOT" +# Serial: 9009899650740120186 +# MD5 Fingerprint: 63:cc:d9:3d:34:35:5c:6f:53:a3:e2:08:70:48:1f:b4 +# SHA1 Fingerprint: 0f:36:38:5b:81:1a:25:c3:9b:31:4e:83:ca:e9:34:66:70:cc:74:b4 +# SHA256 Fingerprint: bf:ff:8f:d0:44:33:48:7d:6a:8a:a6:0c:1a:29:76:7a:9f:c2:bb:b0:5e:42:0f:71:3a:13:b9:92:89:1d:38:93 +-----BEGIN CERTIFICATE----- +MIIFiDCCA3CgAwIBAgIIfQmX/vBH6nowDQYJKoZIhvcNAQELBQAwYjELMAkGA1UE +BhMCQ04xMjAwBgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZ +IENPLixMVEQuMR8wHQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMB4XDTE0 +MTEyNjA1MTMxNVoXDTQwMTIzMTE1NTk1OVowYjELMAkGA1UEBhMCQ04xMjAwBgNV +BAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZIENPLixMVEQuMR8w +HQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMIICIjANBgkqhkiG9w0BAQEF +AAOCAg8AMIICCgKCAgEA2aMW8Mh0dHeb7zMNOwZ+Vfy1YI92hhJCfVZmPoiC7XJj +Dp6L3TQsAlFRwxn9WVSEyfFrs0yw6ehGXTjGoqcuEVe6ghWinI9tsJlKCvLriXBj +TnnEt1u9ol2x8kECK62pOqPseQrsXzrj/e+APK00mxqriCZ7VqKChh/rNYmDf1+u +KU49tm7srsHwJ5uu4/Ts765/94Y9cnrrpftZTqfrlYwiOXnhLQiPzLyRuEH3FMEj +qcOtmkVEs7LXLM3GKeJQEK5cy4KOFxg2fZfmiJqwTTQJ9Cy5WmYqsBebnh52nUpm +MUHfP/vFBu8btn4aRjb3ZGM74zkYI+dndRTVdVeSN72+ahsmUPI2JgaQxXABZG12 +ZuGR224HwGGALrIuL4xwp9E7PLOR5G62xDtw8mySlwnNR30YwPO7ng/Wi64HtloP +zgsMR6flPri9fcebNaBhlzpBdRfMK5Z3KpIhHtmVdiBnaM8Nvd/WHwlqmuLMc3Gk +L30SgLdTMEZeS1SZD2fJpcjyIMGC7J0R38IC+xo70e0gmu9lZJIQDSri3nDxGGeC +jGHeuLzRL5z7D9Ar7Rt2ueQ5Vfj4oR24qoAATILnsn8JuLwwoC8N9VKejveSswoA +HQBUlwbgsQfZxw9cZX08bVlX5O2ljelAU58VS6Bx9hoh49pwBiFYFIeFd3mqgnkC +AwEAAaNCMEAwHQYDVR0OBBYEFOLJQJ9NzuiaoXzPDj9lxSmIahlRMA8GA1UdEwEB +/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQDRSVfg +p8xoWLoBDysZzY2wYUWsEe1jUGn4H3++Fo/9nesLqjJHdtJnJO29fDMylyrHBYZm +DRd9FBUb1Ov9H5r2XpdptxolpAqzkT9fNqyL7FeoPueBihhXOYV0GkLH6VsTX4/5 +COmSdI31R9KrO9b7eGZONn356ZLpBN79SWP8bfsUcZNnL0dKt7n/HipzcEYwv1ry +L3ml4Y0M2fmyYzeMN2WFcGpcWwlyua1jPLHd+PwyvzeG5LuOmCd+uh8W4XAR8gPf +JWIyJyYYMoSf/wA6E7qaTfRPuBRwIrHKK5DOKcFw9C+df/KQHtZa37dG/OaG+svg +IHZ6uqbL9XzeYqWxi+7egmaKTjowHz+Ay60nugxe19CxVsp3cbK1daFQqUBDF8Io +2c9Si1vIY9RCPqAzekYu9wogRlR+ak8x8YF+QnQ4ZXMn7sZ8uI7XpTrXmKGcjBBV +09tL7ECQ8s1uV9JiDnxXk7Gnbc2dg7sq5+W2O3FYrf3RRbxake5TFW/TRQl1brqQ +XR4EzzffHqhmsYzmIGrv/EhOdJhCrylvLmrH+33RZjEizIYAfmaDDEL0vTSSwxrq +T8p+ck0LcIymSLumoRT2+1hEmRSuqguTaaApJUqlyyvdimYHFngVV3Eb7PVHhPOe +MTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0g== +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com Root Certification Authority RSA O=SSL Corporation +# Subject: CN=SSL.com Root Certification Authority RSA O=SSL Corporation +# Label: "SSL.com Root Certification Authority RSA" +# Serial: 8875640296558310041 +# MD5 Fingerprint: 86:69:12:c0:70:f1:ec:ac:ac:c2:d5:bc:a5:5b:a1:29 +# SHA1 Fingerprint: b7:ab:33:08:d1:ea:44:77:ba:14:80:12:5a:6f:bd:a9:36:49:0c:bb +# SHA256 Fingerprint: 85:66:6a:56:2e:e0:be:5c:e9:25:c1:d8:89:0a:6f:76:a8:7e:c1:6d:4d:7d:5f:29:ea:74:19:cf:20:12:3b:69 +-----BEGIN CERTIFICATE----- +MIIF3TCCA8WgAwIBAgIIeyyb0xaAMpkwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UE +BhMCVVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQK +DA9TU0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMTYwMjEyMTczOTM5WhcNNDEwMjEyMTcz +OTM5WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv +dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv +bSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQTCCAiIwDQYJKoZIhvcN +AQEBBQADggIPADCCAgoCggIBAPkP3aMrfcvQKv7sZ4Wm5y4bunfh4/WvpOz6Sl2R +xFdHaxh3a3by/ZPkPQ/CFp4LZsNWlJ4Xg4XOVu/yFv0AYvUiCVToZRdOQbngT0aX +qhvIuG5iXmmxX9sqAn78bMrzQdjt0Oj8P2FI7bADFB0QDksZ4LtO7IZl/zbzXmcC +C52GVWH9ejjt/uIZALdvoVBidXQ8oPrIJZK0bnoix/geoeOy3ZExqysdBP+lSgQ3 +6YWkMyv94tZVNHwZpEpox7Ko07fKoZOI68GXvIz5HdkihCR0xwQ9aqkpk8zruFvh +/l8lqjRYyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9FwCTyjLrnGfDzrIM/4RJTXq/LrF +YD3ZfBjVsqnTdXgDciLKOsMf7yzlLqn6niy2UUb9rwPW6mBo6oUWNmuF6R7As93E +JNyAKoFBbZQ+yODJgUEAnl6/f8UImKIYLEJAs/lvOCdLToD0PYFH4Ih86hzOtXVc +US4cK38acijnALXRdMbX5J+tB5O2UzU1/Dfkw/ZdFr4hc96SCvigY2q8lpJqPvi8 +ZVWb3vUNiSYE/CUapiVpy8JtynziWV+XrOvvLsi81xtZPCvM8hnIk2snYxnP/Okm ++Mpxm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRWCk4sbE6x/c+cCbqi +M+2HAgMBAAGjYzBhMB0GA1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJQ2mWTAPBgNV +HRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXuOIAlDaZZMA4G +A1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAIBgRlCn7Jp0cHh5wYfGV +cpNxJK1ok1iOMq8bs3AD/CUrdIWQPXhq9LmLpZc7tRiRux6n+UBbkflVma8eEdBc +Hadm47GUBwwyOabqG7B52B2ccETjit3E+ZUfijhDPwGFpUenPUayvOUiaPd7nNgs +PgohyC0zrL/FgZkxdMF1ccW+sfAjRfSda/wZY52jvATGGAslu1OJD7OAUN5F7kR/ +q5R4ZJjT9ijdh9hwZXT7DrkT66cPYakylszeu+1jTBi7qUD3oFRuIIhxdRjqerQ0 +cuAjJ3dctpDqhiVAq+8zD8ufgr6iIPv2tS0a5sKFsXQP+8hlAqRSAUfdSSLBv9jr +a6x+3uxjMxW3IwiPxg+NQVrdjsW5j+VFP3jbutIbQLH+cU0/4IGiul607BXgk90I +H37hVZkLId6Tngr75qNJvTYw/ud3sqB1l7UtgYgXZSD32pAAn8lSzDLKNXz1PQ/Y +K9f1JmzJBjSWFupwWRoyeXkLtoh/D1JIPb9s2KJELtFOt3JY04kTlf5Eq/jXixtu +nLwsoFvVagCvXzfh1foQC5ichucmj87w7G6KVwuA406ywKBjYZC6VWg3dGq2ktuf +oYYitmUnDuy2n0Jg5GfCtdpBC8TTi2EbvPofkSvXRAdeuims2cXp71NIWuuA8ShY +Ic2wBlX7Jz9TkHCpBB5XJ7k= +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com Root Certification Authority ECC O=SSL Corporation +# Subject: CN=SSL.com Root Certification Authority ECC O=SSL Corporation +# Label: "SSL.com Root Certification Authority ECC" +# Serial: 8495723813297216424 +# MD5 Fingerprint: 2e:da:e4:39:7f:9c:8f:37:d1:70:9f:26:17:51:3a:8e +# SHA1 Fingerprint: c3:19:7c:39:24:e6:54:af:1b:c4:ab:20:95:7a:e2:c3:0e:13:02:6a +# SHA256 Fingerprint: 34:17:bb:06:cc:60:07:da:1b:96:1c:92:0b:8a:b4:ce:3f:ad:82:0e:4a:a3:0b:9a:cb:c4:a7:4e:bd:ce:bc:65 +-----BEGIN CERTIFICATE----- +MIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMC +VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T +U0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0 +aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNDAzWhcNNDEwMjEyMTgxNDAz +WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0 +b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNvbSBS +b290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB +BAAiA2IABEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI +7Z4INcgn64mMU1jrYor+8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPg +CemB+vNH06NjMGEwHQYDVR0OBBYEFILRhXMw5zUE044CkvvlpNHEIejNMA8GA1Ud +EwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTTjgKS++Wk0cQh6M0wDgYD +VR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCWe+0F+S8T +kdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+ +gA0z5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5Wpl +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com EV Root Certification Authority RSA R2 O=SSL Corporation +# Subject: CN=SSL.com EV Root Certification Authority RSA R2 O=SSL Corporation +# Label: "SSL.com EV Root Certification Authority RSA R2" +# Serial: 6248227494352943350 +# MD5 Fingerprint: e1:1e:31:58:1a:ae:54:53:02:f6:17:6a:11:7b:4d:95 +# SHA1 Fingerprint: 74:3a:f0:52:9b:d0:32:a0:f4:4a:83:cd:d4:ba:a9:7b:7c:2e:c4:9a +# SHA256 Fingerprint: 2e:7b:f1:6c:c2:24:85:a7:bb:e2:aa:86:96:75:07:61:b0:ae:39:be:3b:2f:e9:d0:cc:6d:4e:f7:34:91:42:5c +-----BEGIN CERTIFICATE----- +MIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNV +BAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UE +CgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2Vy +dGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMB4XDTE3MDUzMTE4MTQzN1oXDTQy +MDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4G +A1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQD +DC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvq +M0fNTPl9fb69LT3w23jhhqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssuf +OePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7wcXHswxzpY6IXFJ3vG2fThVUCAtZJycxa +4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTOZw+oz12WGQvE43LrrdF9 +HSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+B6KjBSYR +aZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcA +b9ZhCBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQ +Gp8hLH94t2S42Oim9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQV +PWKchjgGAGYS5Fl2WlPAApiiECtoRHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMO +pgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+SlmJuwgUHfbSguPvuUCYHBBXtSu +UDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48+qvWBkofZ6aY +MBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV +HSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa4 +9QaAJadz20ZpqJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBW +s47LCp1Jjr+kxJG7ZhcFUZh1++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5 +Sm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nxY/hoLVUE0fKNsKTPvDxeH3jnpaAg +cLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2GguDKBAdRUNf/ktUM +79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDzOFSz +/bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXt +ll9ldDz7CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEm +Kf7GUmG6sXP/wwyc5WxqlD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKK +QbNmC1r7fSOl8hqw/96bg5Qu0T/fkreRrwU7ZcegbLHNYhLDkBvjJc40vG93drEQ +w/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1hlMYegouCRw2n5H9gooi +S9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX9hwJ1C07 +mKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w== +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com EV Root Certification Authority ECC O=SSL Corporation +# Subject: CN=SSL.com EV Root Certification Authority ECC O=SSL Corporation +# Label: "SSL.com EV Root Certification Authority ECC" +# Serial: 3182246526754555285 +# MD5 Fingerprint: 59:53:22:65:83:42:01:54:c0:ce:42:b9:5a:7c:f2:90 +# SHA1 Fingerprint: 4c:dd:51:a3:d1:f5:20:32:14:b0:c6:c5:32:23:03:91:c7:46:42:6d +# SHA256 Fingerprint: 22:a2:c1:f7:bd:ed:70:4c:c1:e7:01:b5:f4:08:c3:10:88:0f:e9:56:b5:de:2a:4a:44:f9:9c:87:3a:25:a7:c8 +-----BEGIN CERTIFICATE----- +MIIClDCCAhqgAwIBAgIILCmcWxbtBZUwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMC +VVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T +U0wgQ29ycG9yYXRpb24xNDAyBgNVBAMMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNTIzWhcNNDEwMjEyMTgx +NTIzWjB/MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv +dXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE0MDIGA1UEAwwrU1NMLmNv +bSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49 +AgEGBSuBBAAiA2IABKoSR5CYG/vvw0AHgyBO8TCCogbR8pKGYfL2IWjKAMTH6kMA +VIbc/R/fALhBYlzccBYy3h+Z1MzFB8gIH2EWB1E9fVwHU+M1OIzfzZ/ZLg1Kthku +WnBaBu2+8KGwytAJKaNjMGEwHQYDVR0OBBYEFFvKXuXe0oGqzagtZFG22XKbl+ZP +MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUW8pe5d7SgarNqC1kUbbZcpuX +5k8wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2gAMGUCMQCK5kCJN+vp1RPZ +ytRrJPOwPYdGWBrssd9v+1a6cGvHOMzosYxPD/fxZ3YOg9AeUY8CMD32IygmTMZg +h5Mmm7I1HrrW9zzRHM76JTymGoEVW/MSD2zuZYrJh6j5B+BimoxcSg== +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R6 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign Root CA - R6 +# Label: "GlobalSign Root CA - R6" +# Serial: 1417766617973444989252670301619537 +# MD5 Fingerprint: 4f:dd:07:e4:d4:22:64:39:1e:0c:37:42:ea:d1:c6:ae +# SHA1 Fingerprint: 80:94:64:0e:b5:a7:a1:ca:11:9c:1f:dd:d5:9f:81:02:63:a7:fb:d1 +# SHA256 Fingerprint: 2c:ab:ea:fe:37:d0:6c:a2:2a:ba:73:91:c0:03:3d:25:98:29:52:c4:53:64:73:49:76:3a:3a:b5:ad:6c:cf:69 +-----BEGIN CERTIFICATE----- +MIIFgzCCA2ugAwIBAgIORea7A4Mzw4VlSOb/RVEwDQYJKoZIhvcNAQEMBQAwTDEg +MB4GA1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2Jh +bFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTQxMjEwMDAwMDAwWhcNMzQx +MjEwMDAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSNjET +MBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCAiIwDQYJ +KoZIhvcNAQEBBQADggIPADCCAgoCggIBAJUH6HPKZvnsFMp7PPcNCPG0RQssgrRI +xutbPK6DuEGSMxSkb3/pKszGsIhrxbaJ0cay/xTOURQh7ErdG1rG1ofuTToVBu1k +ZguSgMpE3nOUTvOniX9PeGMIyBJQbUJmL025eShNUhqKGoC3GYEOfsSKvGRMIRxD +aNc9PIrFsmbVkJq3MQbFvuJtMgamHvm566qjuL++gmNQ0PAYid/kD3n16qIfKtJw +LnvnvJO7bVPiSHyMEAc4/2ayd2F+4OqMPKq0pPbzlUoSB239jLKJz9CgYXfIWHSw +1CM69106yqLbnQneXUQtkPGBzVeS+n68UARjNN9rkxi+azayOeSsJDa38O+2HBNX +k7besvjihbdzorg1qkXy4J02oW9UivFyVm4uiMVRQkQVlO6jxTiWm05OWgtH8wY2 +SXcwvHE35absIQh1/OZhFj931dmRl4QKbNQCTXTAFO39OfuD8l4UoQSwC+n+7o/h +bguyCLNhZglqsQY6ZZZZwPA1/cnaKI0aEYdwgQqomnUdnjqGBQCe24DWJfncBZ4n +WUx2OVvq+aWh2IMP0f/fMBH5hc8zSPXKbWQULHpYT9NLCEnFlWQaYw55PfWzjMpY +rZxCRXluDocZXFSxZba/jJvcE+kNb7gu3GduyYsRtYQUigAZcIN5kZeR1Bonvzce +MgfYFGM8KEyvAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTAD +AQH/MB0GA1UdDgQWBBSubAWjkxPioufi1xzWx/B/yGdToDAfBgNVHSMEGDAWgBSu +bAWjkxPioufi1xzWx/B/yGdToDANBgkqhkiG9w0BAQwFAAOCAgEAgyXt6NH9lVLN +nsAEoJFp5lzQhN7craJP6Ed41mWYqVuoPId8AorRbrcWc+ZfwFSY1XS+wc3iEZGt +Ixg93eFyRJa0lV7Ae46ZeBZDE1ZXs6KzO7V33EByrKPrmzU+sQghoefEQzd5Mr61 +55wsTLxDKZmOMNOsIeDjHfrYBzN2VAAiKrlNIC5waNrlU/yDXNOd8v9EDERm8tLj +vUYAGm0CuiVdjaExUd1URhxN25mW7xocBFymFe944Hn+Xds+qkxV/ZoVqW/hpvvf +cDDpw+5CRu3CkwWJ+n1jez/QcYF8AOiYrg54NMMl+68KnyBr3TsTjxKM4kEaSHpz +oHdpx7Zcf4LIHv5YGygrqGytXm3ABdJ7t+uA/iU3/gKbaKxCXcPu9czc8FB10jZp +nOZ7BN9uBmm23goJSFmH63sUYHpkqmlD75HHTOwY3WzvUy2MmeFe8nI+z1TIvWfs +pA9MRf/TuTAjB0yPEL+GltmZWrSZVxykzLsViVO6LAUP5MSeGbEYNNVMnbrt9x+v +JJUEeKgDu+6B5dpffItKoZB0JaezPkvILFa9x8jvOOJckvB595yEunQtYQEgfn7R +8k8HWV+LLUNS60YMlOH1Zkd5d9VUWx+tJDfLRVpOoERIyNiwmcUVhAn21klJwGW4 +5hpxbqCo8YLoRT5s1gLXCmeDBVrJpBA= +-----END CERTIFICATE----- + +# Issuer: CN=OISTE WISeKey Global Root GC CA O=WISeKey OU=OISTE Foundation Endorsed +# Subject: CN=OISTE WISeKey Global Root GC CA O=WISeKey OU=OISTE Foundation Endorsed +# Label: "OISTE WISeKey Global Root GC CA" +# Serial: 44084345621038548146064804565436152554 +# MD5 Fingerprint: a9:d6:b9:2d:2f:93:64:f8:a5:69:ca:91:e9:68:07:23 +# SHA1 Fingerprint: e0:11:84:5e:34:de:be:88:81:b9:9c:f6:16:26:d1:96:1f:c3:b9:31 +# SHA256 Fingerprint: 85:60:f9:1c:36:24:da:ba:95:70:b5:fe:a0:db:e3:6f:f1:1a:83:23:be:94:86:85:4f:b3:f3:4a:55:71:19:8d +-----BEGIN CERTIFICATE----- +MIICaTCCAe+gAwIBAgIQISpWDK7aDKtARb8roi066jAKBggqhkjOPQQDAzBtMQsw +CQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91 +bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwg +Um9vdCBHQyBDQTAeFw0xNzA1MDkwOTQ4MzRaFw00MjA1MDkwOTU4MzNaMG0xCzAJ +BgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBGb3Vu +ZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2JhbCBS +b290IEdDIENBMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAETOlQwMYPchi82PG6s4ni +eUqjFqdrVCTbUf/q9Akkwwsin8tqJ4KBDdLArzHkdIJuyiXZjHWd8dvQmqJLIX4W +p2OQ0jnUsYd4XxiWD1AbNTcPasbc2RNNpI6QN+a9WzGRo1QwUjAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUSIcUrOPDnpBgOtfKie7T +rYy0UGYwEAYJKwYBBAGCNxUBBAMCAQAwCgYIKoZIzj0EAwMDaAAwZQIwJsdpW9zV +57LnyAyMjMPdeYwbY9XJUpROTYJKcx6ygISpJcBMWm1JKWB4E+J+SOtkAjEA2zQg +Mgj/mkkCtojeFK9dbJlxjRo/i9fgojaGHAeCOnZT/cKi7e97sIBPWA9LUzm9 +-----END CERTIFICATE----- + +# Issuer: CN=UCA Global G2 Root O=UniTrust +# Subject: CN=UCA Global G2 Root O=UniTrust +# Label: "UCA Global G2 Root" +# Serial: 124779693093741543919145257850076631279 +# MD5 Fingerprint: 80:fe:f0:c4:4a:f0:5c:62:32:9f:1c:ba:78:a9:50:f8 +# SHA1 Fingerprint: 28:f9:78:16:19:7a:ff:18:25:18:aa:44:fe:c1:a0:ce:5c:b6:4c:8a +# SHA256 Fingerprint: 9b:ea:11:c9:76:fe:01:47:64:c1:be:56:a6:f9:14:b5:a5:60:31:7a:bd:99:88:39:33:82:e5:16:1a:a0:49:3c +-----BEGIN CERTIFICATE----- +MIIFRjCCAy6gAwIBAgIQXd+x2lqj7V2+WmUgZQOQ7zANBgkqhkiG9w0BAQsFADA9 +MQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxGzAZBgNVBAMMElVDQSBH +bG9iYWwgRzIgUm9vdDAeFw0xNjAzMTEwMDAwMDBaFw00MDEyMzEwMDAwMDBaMD0x +CzAJBgNVBAYTAkNOMREwDwYDVQQKDAhVbmlUcnVzdDEbMBkGA1UEAwwSVUNBIEds +b2JhbCBHMiBSb290MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxeYr +b3zvJgUno4Ek2m/LAfmZmqkywiKHYUGRO8vDaBsGxUypK8FnFyIdK+35KYmToni9 +kmugow2ifsqTs6bRjDXVdfkX9s9FxeV67HeToI8jrg4aA3++1NDtLnurRiNb/yzm +VHqUwCoV8MmNsHo7JOHXaOIxPAYzRrZUEaalLyJUKlgNAQLx+hVRZ2zA+te2G3/R +VogvGjqNO7uCEeBHANBSh6v7hn4PJGtAnTRnvI3HLYZveT6OqTwXS3+wmeOwcWDc +C/Vkw85DvG1xudLeJ1uK6NjGruFZfc8oLTW4lVYa8bJYS7cSN8h8s+1LgOGN+jIj +tm+3SJUIsUROhYw6AlQgL9+/V087OpAh18EmNVQg7Mc/R+zvWr9LesGtOxdQXGLY +D0tK3Cv6brxzks3sx1DoQZbXqX5t2Okdj4q1uViSukqSKwxW/YDrCPBeKW4bHAyv +j5OJrdu9o54hyokZ7N+1wxrrFv54NkzWbtA+FxyQF2smuvt6L78RHBgOLXMDj6Dl +NaBa4kx1HXHhOThTeEDMg5PXCp6dW4+K5OXgSORIskfNTip1KnvyIvbJvgmRlld6 +iIis7nCs+dwp4wwcOxJORNanTrAmyPPZGpeRaOrvjUYG0lZFWJo8DA+DuAUlwznP +O6Q0ibd5Ei9Hxeepl2n8pndntd978XplFeRhVmUCAwEAAaNCMEAwDgYDVR0PAQH/ +BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFIHEjMz15DD/pQwIX4wV +ZyF0Ad/fMA0GCSqGSIb3DQEBCwUAA4ICAQATZSL1jiutROTL/7lo5sOASD0Ee/oj +L3rtNtqyzm325p7lX1iPyzcyochltq44PTUbPrw7tgTQvPlJ9Zv3hcU2tsu8+Mg5 +1eRfB70VVJd0ysrtT7q6ZHafgbiERUlMjW+i67HM0cOU2kTC5uLqGOiiHycFutfl +1qnN3e92mI0ADs0b+gO3joBYDic/UvuUospeZcnWhNq5NXHzJsBPd+aBJ9J3O5oU +b3n09tDh05S60FdRvScFDcH9yBIw7m+NESsIndTUv4BFFJqIRNow6rSn4+7vW4LV +PtateJLbXDzz2K36uGt/xDYotgIVilQsnLAXc47QN6MUPJiVAAwpBVueSUmxX8fj +y88nZY41F7dXyDDZQVu5FLbowg+UMaeUmMxq67XhJ/UQqAHojhJi6IjMtX9Gl8Cb +EGY4GjZGXyJoPd/JxhMnq1MGrKI8hgZlb7F+sSlEmqO6SWkoaY/X5V+tBIZkbxqg +DMUIYs6Ao9Dz7GjevjPHF1t/gMRMTLGmhIrDO7gJzRSBuhjjVFc2/tsvfEehOjPI ++Vg7RE+xygKJBJYoaMVLuCaJu9YzL1DV/pqJuhgyklTGW+Cd+V7lDSKb9triyCGy +YiGqhkCyLmTTX8jjfhFnRR8F/uOi77Oos/N9j/gMHyIfLXC0uAE0djAA5SN4p1bX +UB+K+wb1whnw0A== +-----END CERTIFICATE----- + +# Issuer: CN=UCA Extended Validation Root O=UniTrust +# Subject: CN=UCA Extended Validation Root O=UniTrust +# Label: "UCA Extended Validation Root" +# Serial: 106100277556486529736699587978573607008 +# MD5 Fingerprint: a1:f3:5f:43:c6:34:9b:da:bf:8c:7e:05:53:ad:96:e2 +# SHA1 Fingerprint: a3:a1:b0:6f:24:61:23:4a:e3:36:a5:c2:37:fc:a6:ff:dd:f0:d7:3a +# SHA256 Fingerprint: d4:3a:f9:b3:54:73:75:5c:96:84:fc:06:d7:d8:cb:70:ee:5c:28:e7:73:fb:29:4e:b4:1e:e7:17:22:92:4d:24 +-----BEGIN CERTIFICATE----- +MIIFWjCCA0KgAwIBAgIQT9Irj/VkyDOeTzRYZiNwYDANBgkqhkiG9w0BAQsFADBH +MQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBF +eHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwHhcNMTUwMzEzMDAwMDAwWhcNMzgxMjMx +MDAwMDAwWjBHMQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNV +BAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQCpCQcoEwKwmeBkqh5DFnpzsZGgdT6o+uM4AHrsiWog +D4vFsJszA1qGxliG1cGFu0/GnEBNyr7uaZa4rYEwmnySBesFK5pI0Lh2PpbIILvS +sPGP2KxFRv+qZ2C0d35qHzwaUnoEPQc8hQ2E0B92CvdqFN9y4zR8V05WAT558aop +O2z6+I9tTcg1367r3CTueUWnhbYFiN6IXSV8l2RnCdm/WhUFhvMJHuxYMjMR83dk +sHYf5BA1FxvyDrFspCqjc/wJHx4yGVMR59mzLC52LqGj3n5qiAno8geK+LLNEOfi +c0CTuwjRP+H8C5SzJe98ptfRr5//lpr1kXuYC3fUfugH0mK1lTnj8/FtDw5lhIpj +VMWAtuCeS31HJqcBCF3RiJ7XwzJE+oJKCmhUfzhTA8ykADNkUVkLo4KRel7sFsLz +KuZi2irbWWIQJUoqgQtHB0MGcIfS+pMRKXpITeuUx3BNr2fVUbGAIAEBtHoIppB/ +TuDvB0GHr2qlXov7z1CymlSvw4m6WC31MJixNnI5fkkE/SmnTHnkBVfblLkWU41G +sx2VYVdWf6/wFlthWG82UBEL2KwrlRYaDh8IzTY0ZRBiZtWAXxQgXy0MoHgKaNYs +1+lvK9JKBZP8nm9rZ/+I8U6laUpSNwXqxhaN0sSZ0YIrO7o1dfdRUVjzyAfd5LQD +fwIDAQABo0IwQDAdBgNVHQ4EFgQU2XQ65DA9DfcS3H5aBZ8eNJr34RQwDwYDVR0T +AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBADaN +l8xCFWQpN5smLNb7rhVpLGsaGvdftvkHTFnq88nIua7Mui563MD1sC3AO6+fcAUR +ap8lTwEpcOPlDOHqWnzcSbvBHiqB9RZLcpHIojG5qtr8nR/zXUACE/xOHAbKsxSQ +VBcZEhrxH9cMaVr2cXj0lH2RC47skFSOvG+hTKv8dGT9cZr4QQehzZHkPJrgmzI5 +c6sq1WnIeJEmMX3ixzDx/BR4dxIOE/TdFpS/S2d7cFOFyrC78zhNLJA5wA3CXWvp +4uXViI3WLL+rG761KIcSF3Ru/H38j9CHJrAb+7lsq+KePRXBOy5nAliRn+/4Qh8s +t2j1da3Ptfb/EX3C8CSlrdP6oDyp+l3cpaDvRKS+1ujl5BOWF3sGPjLtx7dCvHaj +2GU4Kzg1USEODm8uNBNA4StnDG1KQTAYI1oyVZnJF+A83vbsea0rWBmirSwiGpWO +vpaQXUJXxPkUAzUrHC1RVwinOt4/5Mi0A3PCwSaAuwtCH60NryZy2sy+s6ODWA2C +xR9GUeOcGMyNm43sSet1UNWMKFnKdDTajAshqx7qG+XH/RU+wBeq+yNuJkbL+vmx +cmtpzyKEC2IPrNkZAJSidjzULZrtBJ4tBmIQN1IchXIbJ+XMxjHsN+xjWZsLHXbM +fjKaiJUINlK73nZfdklJrX+9ZSCyycErdhh2n1ax +-----END CERTIFICATE----- + +# Issuer: CN=Certigna Root CA O=Dhimyotis OU=0002 48146308100036 +# Subject: CN=Certigna Root CA O=Dhimyotis OU=0002 48146308100036 +# Label: "Certigna Root CA" +# Serial: 269714418870597844693661054334862075617 +# MD5 Fingerprint: 0e:5c:30:62:27:eb:5b:bc:d7:ae:62:ba:e9:d5:df:77 +# SHA1 Fingerprint: 2d:0d:52:14:ff:9e:ad:99:24:01:74:20:47:6e:6c:85:27:27:f5:43 +# SHA256 Fingerprint: d4:8d:3d:23:ee:db:50:a4:59:e5:51:97:60:1c:27:77:4b:9d:7b:18:c9:4d:5a:05:95:11:a1:02:50:b9:31:68 +-----BEGIN CERTIFICATE----- +MIIGWzCCBEOgAwIBAgIRAMrpG4nxVQMNo+ZBbcTjpuEwDQYJKoZIhvcNAQELBQAw +WjELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczEcMBoGA1UECwwTMDAw +MiA0ODE0NjMwODEwMDAzNjEZMBcGA1UEAwwQQ2VydGlnbmEgUm9vdCBDQTAeFw0x +MzEwMDEwODMyMjdaFw0zMzEwMDEwODMyMjdaMFoxCzAJBgNVBAYTAkZSMRIwEAYD +VQQKDAlEaGlteW90aXMxHDAaBgNVBAsMEzAwMDIgNDgxNDYzMDgxMDAwMzYxGTAX +BgNVBAMMEENlcnRpZ25hIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw +ggIKAoICAQDNGDllGlmx6mQWDoyUJJV8g9PFOSbcDO8WV43X2KyjQn+Cyu3NW9sO +ty3tRQgXstmzy9YXUnIo245Onoq2C/mehJpNdt4iKVzSs9IGPjA5qXSjklYcoW9M +CiBtnyN6tMbaLOQdLNyzKNAT8kxOAkmhVECe5uUFoC2EyP+YbNDrihqECB63aCPu +I9Vwzm1RaRDuoXrC0SIxwoKF0vJVdlB8JXrJhFwLrN1CTivngqIkicuQstDuI7pm +TLtipPlTWmR7fJj6o0ieD5Wupxj0auwuA0Wv8HT4Ks16XdG+RCYyKfHx9WzMfgIh +C59vpD++nVPiz32pLHxYGpfhPTc3GGYo0kDFUYqMwy3OU4gkWGQwFsWq4NYKpkDf +ePb1BHxpE4S80dGnBs8B92jAqFe7OmGtBIyT46388NtEbVncSVmurJqZNjBBe3Yz +IoejwpKGbvlw7q6Hh5UbxHq9MfPU0uWZ/75I7HX1eBYdpnDBfzwboZL7z8g81sWT +Co/1VTp2lc5ZmIoJlXcymoO6LAQ6l73UL77XbJuiyn1tJslV1c/DeVIICZkHJC1k +JWumIWmbat10TWuXekG9qxf5kBdIjzb5LdXF2+6qhUVB+s06RbFo5jZMm5BX7CO5 +hwjCxAnxl4YqKE3idMDaxIzb3+KhF1nOJFl0Mdp//TBt2dzhauH8XwIDAQABo4IB +GjCCARYwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE +FBiHVuBud+4kNTxOc5of1uHieX4rMB8GA1UdIwQYMBaAFBiHVuBud+4kNTxOc5of +1uHieX4rMEQGA1UdIAQ9MDswOQYEVR0gADAxMC8GCCsGAQUFBwIBFiNodHRwczov +L3d3d3cuY2VydGlnbmEuZnIvYXV0b3JpdGVzLzBtBgNVHR8EZjBkMC+gLaArhilo +dHRwOi8vY3JsLmNlcnRpZ25hLmZyL2NlcnRpZ25hcm9vdGNhLmNybDAxoC+gLYYr +aHR0cDovL2NybC5kaGlteW90aXMuY29tL2NlcnRpZ25hcm9vdGNhLmNybDANBgkq +hkiG9w0BAQsFAAOCAgEAlLieT/DjlQgi581oQfccVdV8AOItOoldaDgvUSILSo3L +6btdPrtcPbEo/uRTVRPPoZAbAh1fZkYJMyjhDSSXcNMQH+pkV5a7XdrnxIxPTGRG +HVyH41neQtGbqH6mid2PHMkwgu07nM3A6RngatgCdTer9zQoKJHyBApPNeNgJgH6 +0BGM+RFq7q89w1DTj18zeTyGqHNFkIwgtnJzFyO+B2XleJINugHA64wcZr+shncB +lA2c5uk5jR+mUYyZDDl34bSb+hxnV29qao6pK0xXeXpXIs/NX2NGjVxZOob4Mkdi +o2cNGJHc+6Zr9UhhcyNZjgKnvETq9Emd8VRY+WCv2hikLyhF3HqgiIZd8zvn/yk1 +gPxkQ5Tm4xxvvq0OKmOZK8l+hfZx6AYDlf7ej0gcWtSS6Cvu5zHbugRqh5jnxV/v +faci9wHYTfmJ0A6aBVmknpjZbyvKcL5kwlWj9Omvw5Ip3IgWJJk8jSaYtlu3zM63 +Nwf9JtmYhST/WSMDmu2dnajkXjjO11INb9I/bbEFa0nOipFGc/T2L/Coc3cOZayh +jWZSaX5LaAzHHjcng6WMxwLkFM1JAbBzs/3GkDpv0mztO+7skb6iQ12LAEpmJURw +3kAP+HwV96LOPNdeE4yBFxgX0b3xdxA61GU5wSesVywlVP+i2k+KYTlerj1KjL0= +-----END CERTIFICATE----- + +# Issuer: CN=emSign Root CA - G1 O=eMudhra Technologies Limited OU=emSign PKI +# Subject: CN=emSign Root CA - G1 O=eMudhra Technologies Limited OU=emSign PKI +# Label: "emSign Root CA - G1" +# Serial: 235931866688319308814040 +# MD5 Fingerprint: 9c:42:84:57:dd:cb:0b:a7:2e:95:ad:b6:f3:da:bc:ac +# SHA1 Fingerprint: 8a:c7:ad:8f:73:ac:4e:c1:b5:75:4d:a5:40:f4:fc:cf:7c:b5:8e:8c +# SHA256 Fingerprint: 40:f6:af:03:46:a9:9a:a1:cd:1d:55:5a:4e:9c:ce:62:c7:f9:63:46:03:ee:40:66:15:83:3d:c8:c8:d0:03:67 +-----BEGIN CERTIFICATE----- +MIIDlDCCAnygAwIBAgIKMfXkYgxsWO3W2DANBgkqhkiG9w0BAQsFADBnMQswCQYD +VQQGEwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBU +ZWNobm9sb2dpZXMgTGltaXRlZDEcMBoGA1UEAxMTZW1TaWduIFJvb3QgQ0EgLSBH +MTAeFw0xODAyMTgxODMwMDBaFw00MzAyMTgxODMwMDBaMGcxCzAJBgNVBAYTAklO +MRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xv +Z2llcyBMaW1pdGVkMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEcxMIIBIjAN +BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk0u76WaK7p1b1TST0Bsew+eeuGQz +f2N4aLTNLnF115sgxk0pvLZoYIr3IZpWNVrzdr3YzZr/k1ZLpVkGoZM0Kd0WNHVO +8oG0x5ZOrRkVUkr+PHB1cM2vK6sVmjM8qrOLqs1D/fXqcP/tzxE7lM5OMhbTI0Aq +d7OvPAEsbO2ZLIvZTmmYsvePQbAyeGHWDV/D+qJAkh1cF+ZwPjXnorfCYuKrpDhM +tTk1b+oDafo6VGiFbdbyL0NVHpENDtjVaqSW0RM8LHhQ6DqS0hdW5TUaQBw+jSzt +Od9C4INBdN+jzcKGYEho42kLVACL5HZpIQ15TjQIXhTCzLG3rdd8cIrHhQIDAQAB +o0IwQDAdBgNVHQ4EFgQU++8Nhp6w492pufEhF38+/PB3KxowDgYDVR0PAQH/BAQD +AgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFn/8oz1h31x +PaOfG1vR2vjTnGs2vZupYeveFix0PZ7mddrXuqe8QhfnPZHr5X3dPpzxz5KsbEjM +wiI/aTvFthUvozXGaCocV685743QNcMYDHsAVhzNixl03r4PEuDQqqE/AjSxcM6d +GNYIAwlG7mDgfrbESQRRfXBgvKqy/3lyeqYdPV8q+Mri/Tm3R7nrft8EI6/6nAYH +6ftjk4BAtcZsCjEozgyfz7MjNYBBjWzEN3uBL4ChQEKF6dk4jeihU80Bv2noWgby +RQuQ+q7hv53yrlc8pa6yVvSLZUDp/TGBLPQ5Cdjua6e0ph0VpZj3AYHYhX3zUVxx +iN66zB+Afko= +-----END CERTIFICATE----- + +# Issuer: CN=emSign ECC Root CA - G3 O=eMudhra Technologies Limited OU=emSign PKI +# Subject: CN=emSign ECC Root CA - G3 O=eMudhra Technologies Limited OU=emSign PKI +# Label: "emSign ECC Root CA - G3" +# Serial: 287880440101571086945156 +# MD5 Fingerprint: ce:0b:72:d1:9f:88:8e:d0:50:03:e8:e3:b8:8b:67:40 +# SHA1 Fingerprint: 30:43:fa:4f:f2:57:dc:a0:c3:80:ee:2e:58:ea:78:b2:3f:e6:bb:c1 +# SHA256 Fingerprint: 86:a1:ec:ba:08:9c:4a:8d:3b:be:27:34:c6:12:ba:34:1d:81:3e:04:3c:f9:e8:a8:62:cd:5c:57:a3:6b:be:6b +-----BEGIN CERTIFICATE----- +MIICTjCCAdOgAwIBAgIKPPYHqWhwDtqLhDAKBggqhkjOPQQDAzBrMQswCQYDVQQG +EwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNo +bm9sb2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0g +RzMwHhcNMTgwMjE4MTgzMDAwWhcNNDMwMjE4MTgzMDAwWjBrMQswCQYDVQQGEwJJ +TjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9s +b2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0gRzMw +djAQBgcqhkjOPQIBBgUrgQQAIgNiAAQjpQy4LRL1KPOxst3iAhKAnjlfSU2fySU0 +WXTsuwYc58Byr+iuL+FBVIcUqEqy6HyC5ltqtdyzdc6LBtCGI79G1Y4PPwT01xyS +fvalY8L1X44uT6EYGQIrMgqCZH0Wk9GjQjBAMB0GA1UdDgQWBBR8XQKEE9TMipuB +zhccLikenEhjQjAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggq +hkjOPQQDAwNpADBmAjEAvvNhzwIQHWSVB7gYboiFBS+DCBeQyh+KTOgNG3qxrdWB +CUfvO6wIBHxcmbHtRwfSAjEAnbpV/KlK6O3t5nYBQnvI+GDZjVGLVTv7jHvrZQnD ++JbNR6iC8hZVdyR+EhCVBCyj +-----END CERTIFICATE----- + +# Issuer: CN=emSign Root CA - C1 O=eMudhra Inc OU=emSign PKI +# Subject: CN=emSign Root CA - C1 O=eMudhra Inc OU=emSign PKI +# Label: "emSign Root CA - C1" +# Serial: 825510296613316004955058 +# MD5 Fingerprint: d8:e3:5d:01:21:fa:78:5a:b0:df:ba:d2:ee:2a:5f:68 +# SHA1 Fingerprint: e7:2e:f1:df:fc:b2:09:28:cf:5d:d4:d5:67:37:b1:51:cb:86:4f:01 +# SHA256 Fingerprint: 12:56:09:aa:30:1d:a0:a2:49:b9:7a:82:39:cb:6a:34:21:6f:44:dc:ac:9f:39:54:b1:42:92:f2:e8:c8:60:8f +-----BEGIN CERTIFICATE----- +MIIDczCCAlugAwIBAgILAK7PALrEzzL4Q7IwDQYJKoZIhvcNAQELBQAwVjELMAkG +A1UEBhMCVVMxEzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEg +SW5jMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEMxMB4XDTE4MDIxODE4MzAw +MFoXDTQzMDIxODE4MzAwMFowVjELMAkGA1UEBhMCVVMxEzARBgNVBAsTCmVtU2ln +biBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMRwwGgYDVQQDExNlbVNpZ24gUm9v +dCBDQSAtIEMxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz+upufGZ +BczYKCFK83M0UYRWEPWgTywS4/oTmifQz/l5GnRfHXk5/Fv4cI7gklL35CX5VIPZ +HdPIWoU/Xse2B+4+wM6ar6xWQio5JXDWv7V7Nq2s9nPczdcdioOl+yuQFTdrHCZH +3DspVpNqs8FqOp099cGXOFgFixwR4+S0uF2FHYP+eF8LRWgYSKVGczQ7/g/IdrvH +GPMF0Ybzhe3nudkyrVWIzqa2kbBPrH4VI5b2P/AgNBbeCsbEBEV5f6f9vtKppa+c +xSMq9zwhbL2vj07FOrLzNBL834AaSaTUqZX3noleoomslMuoaJuvimUnzYnu3Yy1 +aylwQ6BpC+S5DwIDAQABo0IwQDAdBgNVHQ4EFgQU/qHgcB4qAzlSWkK+XJGFehiq +TbUwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL +BQADggEBAMJKVvoVIXsoounlHfv4LcQ5lkFMOycsxGwYFYDGrK9HWS8mC+M2sO87 +/kOXSTKZEhVb3xEp/6tT+LvBeA+snFOvV71ojD1pM/CjoCNjO2RnIkSt1XHLVip4 +kqNPEjE2NuLe/gDEo2APJ62gsIq1NnpSob0n9CAnYuhNlCQT5AoE6TyrLshDCUrG +YQTlSTR+08TI9Q/Aqum6VF7zYytPT1DU/rl7mYw9wC68AivTxEDkigcxHpvOJpkT ++xHqmiIMERnHXhuBUDDIlhJu58tBf5E7oke3VIAb3ADMmpDqw8NQBmIMMMAVSKeo +WXzhriKi4gp6D/piq1JM4fHfyr6DDUI= +-----END CERTIFICATE----- + +# Issuer: CN=emSign ECC Root CA - C3 O=eMudhra Inc OU=emSign PKI +# Subject: CN=emSign ECC Root CA - C3 O=eMudhra Inc OU=emSign PKI +# Label: "emSign ECC Root CA - C3" +# Serial: 582948710642506000014504 +# MD5 Fingerprint: 3e:53:b3:a3:81:ee:d7:10:f8:d3:b0:1d:17:92:f5:d5 +# SHA1 Fingerprint: b6:af:43:c2:9b:81:53:7d:f6:ef:6b:c3:1f:1f:60:15:0c:ee:48:66 +# SHA256 Fingerprint: bc:4d:80:9b:15:18:9d:78:db:3e:1d:8c:f4:f9:72:6a:79:5d:a1:64:3c:a5:f1:35:8e:1d:db:0e:dc:0d:7e:b3 +-----BEGIN CERTIFICATE----- +MIICKzCCAbGgAwIBAgIKe3G2gla4EnycqDAKBggqhkjOPQQDAzBaMQswCQYDVQQG +EwJVUzETMBEGA1UECxMKZW1TaWduIFBLSTEUMBIGA1UEChMLZU11ZGhyYSBJbmMx +IDAeBgNVBAMTF2VtU2lnbiBFQ0MgUm9vdCBDQSAtIEMzMB4XDTE4MDIxODE4MzAw +MFoXDTQzMDIxODE4MzAwMFowWjELMAkGA1UEBhMCVVMxEzARBgNVBAsTCmVtU2ln +biBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMSAwHgYDVQQDExdlbVNpZ24gRUND +IFJvb3QgQ0EgLSBDMzB2MBAGByqGSM49AgEGBSuBBAAiA2IABP2lYa57JhAd6bci +MK4G9IGzsUJxlTm801Ljr6/58pc1kjZGDoeVjbk5Wum739D+yAdBPLtVb4Ojavti +sIGJAnB9SMVK4+kiVCJNk7tCDK93nCOmfddhEc5lx/h//vXyqaNCMEAwHQYDVR0O +BBYEFPtaSNCAIEDyqOkAB2kZd6fmw/TPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB +Af8EBTADAQH/MAoGCCqGSM49BAMDA2gAMGUCMQC02C8Cif22TGK6Q04ThHK1rt0c +3ta13FaPWEBaLd4gTCKDypOofu4SQMfWh0/434UCMBwUZOR8loMRnLDRWmFLpg9J +0wD8ofzkpf9/rdcw0Md3f76BB1UwUCAU9Vc4CqgxUQ== +-----END CERTIFICATE----- + +# Issuer: CN=Hongkong Post Root CA 3 O=Hongkong Post +# Subject: CN=Hongkong Post Root CA 3 O=Hongkong Post +# Label: "Hongkong Post Root CA 3" +# Serial: 46170865288971385588281144162979347873371282084 +# MD5 Fingerprint: 11:fc:9f:bd:73:30:02:8a:fd:3f:f3:58:b9:cb:20:f0 +# SHA1 Fingerprint: 58:a2:d0:ec:20:52:81:5b:c1:f3:f8:64:02:24:4e:c2:8e:02:4b:02 +# SHA256 Fingerprint: 5a:2f:c0:3f:0c:83:b0:90:bb:fa:40:60:4b:09:88:44:6c:76:36:18:3d:f9:84:6e:17:10:1a:44:7f:b8:ef:d6 +-----BEGIN CERTIFICATE----- +MIIFzzCCA7egAwIBAgIUCBZfikyl7ADJk0DfxMauI7gcWqQwDQYJKoZIhvcNAQEL +BQAwbzELMAkGA1UEBhMCSEsxEjAQBgNVBAgTCUhvbmcgS29uZzESMBAGA1UEBxMJ +SG9uZyBLb25nMRYwFAYDVQQKEw1Ib25na29uZyBQb3N0MSAwHgYDVQQDExdIb25n +a29uZyBQb3N0IFJvb3QgQ0EgMzAeFw0xNzA2MDMwMjI5NDZaFw00MjA2MDMwMjI5 +NDZaMG8xCzAJBgNVBAYTAkhLMRIwEAYDVQQIEwlIb25nIEtvbmcxEjAQBgNVBAcT +CUhvbmcgS29uZzEWMBQGA1UEChMNSG9uZ2tvbmcgUG9zdDEgMB4GA1UEAxMXSG9u +Z2tvbmcgUG9zdCBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK +AoICAQCziNfqzg8gTr7m1gNt7ln8wlffKWihgw4+aMdoWJwcYEuJQwy51BWy7sFO +dem1p+/l6TWZ5Mwc50tfjTMwIDNT2aa71T4Tjukfh0mtUC1Qyhi+AViiE3CWu4mI +VoBc+L0sPOFMV4i707mV78vH9toxdCim5lSJ9UExyuUmGs2C4HDaOym71QP1mbpV +9WTRYA6ziUm4ii8F0oRFKHyPaFASePwLtVPLwpgchKOesL4jpNrcyCse2m5FHomY +2vkALgbpDDtw1VAliJnLzXNg99X/NWfFobxeq81KuEXryGgeDQ0URhLj0mRiikKY +vLTGCAj4/ahMZJx2Ab0vqWwzD9g/KLg8aQFChn5pwckGyuV6RmXpwtZQQS4/t+Tt +bNe/JgERohYpSms0BpDsE9K2+2p20jzt8NYt3eEV7KObLyzJPivkaTv/ciWxNoZb +x39ri1UbSsUgYT2uy1DhCDq+sI9jQVMwCFk8mB13umOResoQUGC/8Ne8lYePl8X+ +l2oBlKN8W4UdKjk60FSh0Tlxnf0h+bV78OLgAo9uliQlLKAeLKjEiafv7ZkGL7YK +TE/bosw3Gq9HhS2KX8Q0NEwA/RiTZxPRN+ZItIsGxVd7GYYKecsAyVKvQv83j+Gj +Hno9UKtjBucVtT+2RTeUN7F+8kjDf8V1/peNRY8apxpyKBpADwIDAQABo2MwYTAP +BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQXnc0e +i9Y5K3DTXNSguB+wAPzFYTAdBgNVHQ4EFgQUF53NHovWOStw01zUoLgfsAD8xWEw +DQYJKoZIhvcNAQELBQADggIBAFbVe27mIgHSQpsY1Q7XZiNc4/6gx5LS6ZStS6LG +7BJ8dNVI0lkUmcDrudHr9EgwW62nV3OZqdPlt9EuWSRY3GguLmLYauRwCy0gUCCk +MpXRAJi70/33MvJJrsZ64Ee+bs7Lo3I6LWldy8joRTnU+kLBEUx3XZL7av9YROXr +gZ6voJmtvqkBZss4HTzfQx/0TW60uhdG/H39h4F5ag0zD/ov+BS5gLNdTaqX4fnk +GMX41TiMJjz98iji7lpJiCzfeT2OnpA8vUFKOt1b9pq0zj8lMH8yfaIDlNDceqFS +3m6TjRgm/VWsvY+b0s+v54Ysyx8Jb6NvqYTUc79NoXQbTiNg8swOqn+knEwlqLJm +Ozj/2ZQw9nKEvmhVEA/GcywWaZMH/rFF7buiVWqw2rVKAiUnhde3t4ZEFolsgCs+ +l6mc1X5VTMbeRRAc6uk7nwNT7u56AQIWeNTowr5GdogTPyK7SBIdUgC0An4hGh6c +JfTzPV4e0hz5sy229zdcxsshTrD3mUcYhcErulWuBurQB7Lcq9CClnXO0lD+mefP +L5/ndtFhKvshuzHQqp9HpLIiyhY6UFfEW0NnxWViA0kB60PZ2Pierc+xYw5F9KBa +LJstxabArahH9CdMOA0uG0k7UvToiIMrVCjU8jVStDKDYmlkDJGcn5fqdBb9HxEG +mpv0 +-----END CERTIFICATE----- + +# Issuer: CN=Entrust Root Certification Authority - G4 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2015 Entrust, Inc. - for authorized use only +# Subject: CN=Entrust Root Certification Authority - G4 O=Entrust, Inc. OU=See www.entrust.net/legal-terms/(c) 2015 Entrust, Inc. - for authorized use only +# Label: "Entrust Root Certification Authority - G4" +# Serial: 289383649854506086828220374796556676440 +# MD5 Fingerprint: 89:53:f1:83:23:b7:7c:8e:05:f1:8c:71:38:4e:1f:88 +# SHA1 Fingerprint: 14:88:4e:86:26:37:b0:26:af:59:62:5c:40:77:ec:35:29:ba:96:01 +# SHA256 Fingerprint: db:35:17:d1:f6:73:2a:2d:5a:b9:7c:53:3e:c7:07:79:ee:32:70:a6:2f:b4:ac:42:38:37:24:60:e6:f0:1e:88 +-----BEGIN CERTIFICATE----- +MIIGSzCCBDOgAwIBAgIRANm1Q3+vqTkPAAAAAFVlrVgwDQYJKoZIhvcNAQELBQAw +gb4xCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQL +Ex9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykg +MjAxNSBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMjAw +BgNVBAMTKUVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEc0 +MB4XDTE1MDUyNzExMTExNloXDTM3MTIyNzExNDExNlowgb4xCzAJBgNVBAYTAlVT +MRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1 +c3QubmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxNSBFbnRydXN0LCBJ +bmMuIC0gZm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMjAwBgNVBAMTKUVudHJ1c3Qg +Um9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEc0MIICIjANBgkqhkiG9w0B +AQEFAAOCAg8AMIICCgKCAgEAsewsQu7i0TD/pZJH4i3DumSXbcr3DbVZwbPLqGgZ +2K+EbTBwXX7zLtJTmeH+H17ZSK9dE43b/2MzTdMAArzE+NEGCJR5WIoV3imz/f3E +T+iq4qA7ec2/a0My3dl0ELn39GjUu9CH1apLiipvKgS1sqbHoHrmSKvS0VnM1n4j +5pds8ELl3FFLFUHtSUrJ3hCX1nbB76W1NhSXNdh4IjVS70O92yfbYVaCNNzLiGAM +C1rlLAHGVK/XqsEQe9IFWrhAnoanw5CGAlZSCXqc0ieCU0plUmr1POeo8pyvi73T +DtTUXm6Hnmo9RR3RXRv06QqsYJn7ibT/mCzPfB3pAqoEmh643IhuJbNsZvc8kPNX +wbMv9W3y+8qh+CmdRouzavbmZwe+LGcKKh9asj5XxNMhIWNlUpEbsZmOeX7m640A +2Vqq6nPopIICR5b+W45UYaPrL0swsIsjdXJ8ITzI9vF01Bx7owVV7rtNOzK+mndm +nqxpkCIHH2E6lr7lmk/MBTwoWdPBDFSoWWG9yHJM6Nyfh3+9nEg2XpWjDrk4JFX8 +dWbrAuMINClKxuMrLzOg2qOGpRKX/YAr2hRC45K9PvJdXmd0LhyIRyk0X+IyqJwl +N4y6mACXi0mWHv0liqzc2thddG5msP9E36EYxr5ILzeUePiVSj9/E15dWf10hkNj +c0kCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD +VR0OBBYEFJ84xFYjwznooHFs6FRM5Og6sb9nMA0GCSqGSIb3DQEBCwUAA4ICAQAS +5UKme4sPDORGpbZgQIeMJX6tuGguW8ZAdjwD+MlZ9POrYs4QjbRaZIxowLByQzTS +Gwv2LFPSypBLhmb8qoMi9IsabyZIrHZ3CL/FmFz0Jomee8O5ZDIBf9PD3Vht7LGr +hFV0d4QEJ1JrhkzO3bll/9bGXp+aEJlLdWr+aumXIOTkdnrG0CSqkM0gkLpHZPt/ +B7NTeLUKYvJzQ85BK4FqLoUWlFPUa19yIqtRLULVAJyZv967lDtX/Zr1hstWO1uI +AeV8KEsD+UmDfLJ/fOPtjqF/YFOOVZ1QNBIPt5d7bIdKROf1beyAN/BYGW5KaHbw +H5Lk6rWS02FREAutp9lfx1/cH6NcjKF+m7ee01ZvZl4HliDtC3T7Zk6LERXpgUl+ +b7DUUH8i119lAg2m9IUe2K4GS0qn0jFmwvjO5QimpAKWRGhXxNUzzxkvFMSUHHuk +2fCfDrGA4tGeEWSpiBE6doLlYsKA2KSD7ZPvfC+QsDJMlhVoSFLUmQjAJOgc47Ol +IQ6SwJAfzyBfyjs4x7dtOvPmRLgOMWuIjnDrnBdSqEGULoe256YSxXXfW8AKbnuk +5F6G+TaU33fD6Q3AOfF5u0aOq0NZJ7cguyPpVkAh7DE9ZapD8j3fcEThuk0mEDuY +n/PIjhs4ViFqUZPTkcpG2om3PVODLAgfi49T3f+sHw== +-----END CERTIFICATE----- + +# Issuer: CN=Microsoft ECC Root Certificate Authority 2017 O=Microsoft Corporation +# Subject: CN=Microsoft ECC Root Certificate Authority 2017 O=Microsoft Corporation +# Label: "Microsoft ECC Root Certificate Authority 2017" +# Serial: 136839042543790627607696632466672567020 +# MD5 Fingerprint: dd:a1:03:e6:4a:93:10:d1:bf:f0:19:42:cb:fe:ed:67 +# SHA1 Fingerprint: 99:9a:64:c3:7f:f4:7d:9f:ab:95:f1:47:69:89:14:60:ee:c4:c3:c5 +# SHA256 Fingerprint: 35:8d:f3:9d:76:4a:f9:e1:b7:66:e9:c9:72:df:35:2e:e1:5c:fa:c2:27:af:6a:d1:d7:0e:8e:4a:6e:dc:ba:02 +-----BEGIN CERTIFICATE----- +MIICWTCCAd+gAwIBAgIQZvI9r4fei7FK6gxXMQHC7DAKBggqhkjOPQQDAzBlMQsw +CQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYD +VQQDEy1NaWNyb3NvZnQgRUNDIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIw +MTcwHhcNMTkxMjE4MjMwNjQ1WhcNNDIwNzE4MjMxNjA0WjBlMQswCQYDVQQGEwJV +UzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1NaWNy +b3NvZnQgRUNDIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwdjAQBgcq +hkjOPQIBBgUrgQQAIgNiAATUvD0CQnVBEyPNgASGAlEvaqiBYgtlzPbKnR5vSmZR +ogPZnZH6thaxjG7efM3beaYvzrvOcS/lpaso7GMEZpn4+vKTEAXhgShC48Zo9OYb +hGBKia/teQ87zvH2RPUBeMCjVDBSMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8E +BTADAQH/MB0GA1UdDgQWBBTIy5lycFIM+Oa+sgRXKSrPQhDtNTAQBgkrBgEEAYI3 +FQEEAwIBADAKBggqhkjOPQQDAwNoADBlAjBY8k3qDPlfXu5gKcs68tvWMoQZP3zV +L8KxzJOuULsJMsbG7X7JNpQS5GiFBqIb0C8CMQCZ6Ra0DvpWSNSkMBaReNtUjGUB +iudQZsIxtzm6uBoiB078a1QWIP8rtedMDE2mT3M= +-----END CERTIFICATE----- + +# Issuer: CN=Microsoft RSA Root Certificate Authority 2017 O=Microsoft Corporation +# Subject: CN=Microsoft RSA Root Certificate Authority 2017 O=Microsoft Corporation +# Label: "Microsoft RSA Root Certificate Authority 2017" +# Serial: 40975477897264996090493496164228220339 +# MD5 Fingerprint: 10:ff:00:ff:cf:c9:f8:c7:7a:c0:ee:35:8e:c9:0f:47 +# SHA1 Fingerprint: 73:a5:e6:4a:3b:ff:83:16:ff:0e:dc:cc:61:8a:90:6e:4e:ae:4d:74 +# SHA256 Fingerprint: c7:41:f7:0f:4b:2a:8d:88:bf:2e:71:c1:41:22:ef:53:ef:10:eb:a0:cf:a5:e6:4c:fa:20:f4:18:85:30:73:e0 +-----BEGIN CERTIFICATE----- +MIIFqDCCA5CgAwIBAgIQHtOXCV/YtLNHcB6qvn9FszANBgkqhkiG9w0BAQwFADBl +MQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYw +NAYDVQQDEy1NaWNyb3NvZnQgUlNBIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 +IDIwMTcwHhcNMTkxMjE4MjI1MTIyWhcNNDIwNzE4MjMwMDIzWjBlMQswCQYDVQQG +EwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1N +aWNyb3NvZnQgUlNBIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKW76UM4wplZEWCpW9R2LBifOZ +Nt9GkMml7Xhqb0eRaPgnZ1AzHaGm++DlQ6OEAlcBXZxIQIJTELy/xztokLaCLeX0 +ZdDMbRnMlfl7rEqUrQ7eS0MdhweSE5CAg2Q1OQT85elss7YfUJQ4ZVBcF0a5toW1 +HLUX6NZFndiyJrDKxHBKrmCk3bPZ7Pw71VdyvD/IybLeS2v4I2wDwAW9lcfNcztm +gGTjGqwu+UcF8ga2m3P1eDNbx6H7JyqhtJqRjJHTOoI+dkC0zVJhUXAoP8XFWvLJ +jEm7FFtNyP9nTUwSlq31/niol4fX/V4ggNyhSyL71Imtus5Hl0dVe49FyGcohJUc +aDDv70ngNXtk55iwlNpNhTs+VcQor1fznhPbRiefHqJeRIOkpcrVE7NLP8TjwuaG +YaRSMLl6IE9vDzhTyzMMEyuP1pq9KsgtsRx9S1HKR9FIJ3Jdh+vVReZIZZ2vUpC6 +W6IYZVcSn2i51BVrlMRpIpj0M+Dt+VGOQVDJNE92kKz8OMHY4Xu54+OU4UZpyw4K +UGsTuqwPN1q3ErWQgR5WrlcihtnJ0tHXUeOrO8ZV/R4O03QK0dqq6mm4lyiPSMQH ++FJDOvTKVTUssKZqwJz58oHhEmrARdlns87/I6KJClTUFLkqqNfs+avNJVgyeY+Q +W5g5xAgGwax/Dj0ApQIDAQABo1QwUjAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/ +BAUwAwEB/zAdBgNVHQ4EFgQUCctZf4aycI8awznjwNnpv7tNsiMwEAYJKwYBBAGC +NxUBBAMCAQAwDQYJKoZIhvcNAQEMBQADggIBAKyvPl3CEZaJjqPnktaXFbgToqZC +LgLNFgVZJ8og6Lq46BrsTaiXVq5lQ7GPAJtSzVXNUzltYkyLDVt8LkS/gxCP81OC +gMNPOsduET/m4xaRhPtthH80dK2Jp86519efhGSSvpWhrQlTM93uCupKUY5vVau6 +tZRGrox/2KJQJWVggEbbMwSubLWYdFQl3JPk+ONVFT24bcMKpBLBaYVu32TxU5nh +SnUgnZUP5NbcA/FZGOhHibJXWpS2qdgXKxdJ5XbLwVaZOjex/2kskZGT4d9Mozd2 +TaGf+G0eHdP67Pv0RR0Tbc/3WeUiJ3IrhvNXuzDtJE3cfVa7o7P4NHmJweDyAmH3 +pvwPuxwXC65B2Xy9J6P9LjrRk5Sxcx0ki69bIImtt2dmefU6xqaWM/5TkshGsRGR +xpl/j8nWZjEgQRCHLQzWwa80mMpkg/sTV9HB8Dx6jKXB/ZUhoHHBk2dxEuqPiApp +GWSZI1b7rCoucL5mxAyE7+WL85MB+GqQk2dLsmijtWKP6T+MejteD+eMuMZ87zf9 +dOLITzNy4ZQ5bb0Sr74MTnB8G2+NszKTc0QWbej09+CVgI+WXTik9KveCjCHk9hN +AHFiRSdLOkKEW39lt2c0Ui2cFmuqqNh7o0JMcccMyj6D5KbvtwEwXlGjefVwaaZB +RA+GsCyRxj3qrg+E +-----END CERTIFICATE----- + +# Issuer: CN=e-Szigno Root CA 2017 O=Microsec Ltd. +# Subject: CN=e-Szigno Root CA 2017 O=Microsec Ltd. +# Label: "e-Szigno Root CA 2017" +# Serial: 411379200276854331539784714 +# MD5 Fingerprint: de:1f:f6:9e:84:ae:a7:b4:21:ce:1e:58:7d:d1:84:98 +# SHA1 Fingerprint: 89:d4:83:03:4f:9e:9a:48:80:5f:72:37:d4:a9:a6:ef:cb:7c:1f:d1 +# SHA256 Fingerprint: be:b0:0b:30:83:9b:9b:c3:2c:32:e4:44:79:05:95:06:41:f2:64:21:b1:5e:d0:89:19:8b:51:8a:e2:ea:1b:99 +-----BEGIN CERTIFICATE----- +MIICQDCCAeWgAwIBAgIMAVRI7yH9l1kN9QQKMAoGCCqGSM49BAMCMHExCzAJBgNV +BAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UECgwNTWljcm9zZWMgTHRk +LjEXMBUGA1UEYQwOVkFUSFUtMjM1ODQ0OTcxHjAcBgNVBAMMFWUtU3ppZ25vIFJv +b3QgQ0EgMjAxNzAeFw0xNzA4MjIxMjA3MDZaFw00MjA4MjIxMjA3MDZaMHExCzAJ +BgNVBAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UECgwNTWljcm9zZWMg +THRkLjEXMBUGA1UEYQwOVkFUSFUtMjM1ODQ0OTcxHjAcBgNVBAMMFWUtU3ppZ25v +IFJvb3QgQ0EgMjAxNzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJbcPYrYsHtv +xie+RJCxs1YVe45DJH0ahFnuY2iyxl6H0BVIHqiQrb1TotreOpCmYF9oMrWGQd+H +Wyx7xf58etqjYzBhMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G +A1UdDgQWBBSHERUI0arBeAyxr87GyZDvvzAEwDAfBgNVHSMEGDAWgBSHERUI0arB +eAyxr87GyZDvvzAEwDAKBggqhkjOPQQDAgNJADBGAiEAtVfd14pVCzbhhkT61Nlo +jbjcI4qKDdQvfepz7L9NbKgCIQDLpbQS+ue16M9+k/zzNY9vTlp8tLxOsvxyqltZ ++efcMQ== +-----END CERTIFICATE----- + +# Issuer: O=CERTSIGN SA OU=certSIGN ROOT CA G2 +# Subject: O=CERTSIGN SA OU=certSIGN ROOT CA G2 +# Label: "certSIGN Root CA G2" +# Serial: 313609486401300475190 +# MD5 Fingerprint: 8c:f1:75:8a:c6:19:cf:94:b7:f7:65:20:87:c3:97:c7 +# SHA1 Fingerprint: 26:f9:93:b4:ed:3d:28:27:b0:b9:4b:a7:e9:15:1d:a3:8d:92:e5:32 +# SHA256 Fingerprint: 65:7c:fe:2f:a7:3f:aa:38:46:25:71:f3:32:a2:36:3a:46:fc:e7:02:09:51:71:07:02:cd:fb:b6:ee:da:33:05 +-----BEGIN CERTIFICATE----- +MIIFRzCCAy+gAwIBAgIJEQA0tk7GNi02MA0GCSqGSIb3DQEBCwUAMEExCzAJBgNV +BAYTAlJPMRQwEgYDVQQKEwtDRVJUU0lHTiBTQTEcMBoGA1UECxMTY2VydFNJR04g +Uk9PVCBDQSBHMjAeFw0xNzAyMDYwOTI3MzVaFw00MjAyMDYwOTI3MzVaMEExCzAJ +BgNVBAYTAlJPMRQwEgYDVQQKEwtDRVJUU0lHTiBTQTEcMBoGA1UECxMTY2VydFNJ +R04gUk9PVCBDQSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDF +dRmRfUR0dIf+DjuW3NgBFszuY5HnC2/OOwppGnzC46+CjobXXo9X69MhWf05N0Iw +vlDqtg+piNguLWkh59E3GE59kdUWX2tbAMI5Qw02hVK5U2UPHULlj88F0+7cDBrZ +uIt4ImfkabBoxTzkbFpG583H+u/E7Eu9aqSs/cwoUe+StCmrqzWaTOTECMYmzPhp +n+Sc8CnTXPnGFiWeI8MgwT0PPzhAsP6CRDiqWhqKa2NYOLQV07YRaXseVO6MGiKs +cpc/I1mbySKEwQdPzH/iV8oScLumZfNpdWO9lfsbl83kqK/20U6o2YpxJM02PbyW +xPFsqa7lzw1uKA2wDrXKUXt4FMMgL3/7FFXhEZn91QqhngLjYl/rNUssuHLoPj1P +rCy7Lobio3aP5ZMqz6WryFyNSwb/EkaseMsUBzXgqd+L6a8VTxaJW732jcZZroiF +DsGJ6x9nxUWO/203Nit4ZoORUSs9/1F3dmKh7Gc+PoGD4FapUB8fepmrY7+EF3fx +DTvf95xhszWYijqy7DwaNz9+j5LP2RIUZNoQAhVB/0/E6xyjyfqZ90bp4RjZsbgy +LcsUDFDYg2WD7rlcz8sFWkz6GZdr1l0T08JcVLwyc6B49fFtHsufpaafItzRUZ6C +eWRgKRM+o/1Pcmqr4tTluCRVLERLiohEnMqE0yo7AgMBAAGjQjBAMA8GA1UdEwEB +/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSCIS1mxteg4BXrzkwJ +d8RgnlRuAzANBgkqhkiG9w0BAQsFAAOCAgEAYN4auOfyYILVAzOBywaK8SJJ6ejq +kX/GM15oGQOGO0MBzwdw5AgeZYWR5hEit/UCI46uuR59H35s5r0l1ZUa8gWmr4UC +b6741jH/JclKyMeKqdmfS0mbEVeZkkMR3rYzpMzXjWR91M08KCy0mpbqTfXERMQl +qiCA2ClV9+BB/AYm/7k29UMUA2Z44RGx2iBfRgB4ACGlHgAoYXhvqAEBj500mv/0 +OJD7uNGzcgbJceaBxXntC6Z58hMLnPddDnskk7RI24Zf3lCGeOdA5jGokHZwYa+c +NywRtYK3qq4kNFtyDGkNzVmf9nGvnAvRCjj5BiKDUyUM/FHE5r7iOZULJK2v0ZXk +ltd0ZGtxTgI8qoXzIKNDOXZbbFD+mpwUHmUUihW9o4JFWklWatKcsWMy5WHgUyIO +pwpJ6st+H6jiYoD2EEVSmAYY3qXNL3+q1Ok+CHLsIwMCPKaq2LxndD0UF/tUSxfj +03k9bWtJySgOLnRQvwzZRjoQhsmnP+mg7H/rpXdYaXHmgwo38oZJar55CJD2AhZk +PuXaTH4MNMn5X7azKFGnpyuqSfqNZSlO42sTp5SjLVFteAxEy9/eCG/Oo2Sr05WE +1LlSVHJ7liXMvGnjSG4N0MedJ5qq+BOS3R7fY581qRY27Iy4g/Q9iY/NtBde17MX +QRBdJ3NghVdJIgc= +-----END CERTIFICATE----- + +# Issuer: CN=Trustwave Global Certification Authority O=Trustwave Holdings, Inc. +# Subject: CN=Trustwave Global Certification Authority O=Trustwave Holdings, Inc. +# Label: "Trustwave Global Certification Authority" +# Serial: 1846098327275375458322922162 +# MD5 Fingerprint: f8:1c:18:2d:2f:ba:5f:6d:a1:6c:bc:c7:ab:91:c7:0e +# SHA1 Fingerprint: 2f:8f:36:4f:e1:58:97:44:21:59:87:a5:2a:9a:d0:69:95:26:7f:b5 +# SHA256 Fingerprint: 97:55:20:15:f5:dd:fc:3c:87:88:c0:06:94:45:55:40:88:94:45:00:84:f1:00:86:70:86:bc:1a:2b:b5:8d:c8 +-----BEGIN CERTIFICATE----- +MIIF2jCCA8KgAwIBAgIMBfcOhtpJ80Y1LrqyMA0GCSqGSIb3DQEBCwUAMIGIMQsw +CQYDVQQGEwJVUzERMA8GA1UECAwISWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28x +ITAfBgNVBAoMGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1 +c3R3YXZlIEdsb2JhbCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MjMx +OTM0MTJaFw00MjA4MjMxOTM0MTJaMIGIMQswCQYDVQQGEwJVUzERMA8GA1UECAwI +SWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28xITAfBgNVBAoMGFRydXN0d2F2ZSBI +b2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1c3R3YXZlIEdsb2JhbCBDZXJ0aWZp +Y2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB +ALldUShLPDeS0YLOvR29zd24q88KPuFd5dyqCblXAj7mY2Hf8g+CY66j96xz0Xzn +swuvCAAJWX/NKSqIk4cXGIDtiLK0thAfLdZfVaITXdHG6wZWiYj+rDKd/VzDBcdu +7oaJuogDnXIhhpCujwOl3J+IKMujkkkP7NAP4m1ET4BqstTnoApTAbqOl5F2brz8 +1Ws25kCI1nsvXwXoLG0R8+eyvpJETNKXpP7ScoFDB5zpET71ixpZfR9oWN0EACyW +80OzfpgZdNmcc9kYvkHHNHnZ9GLCQ7mzJ7Aiy/k9UscwR7PJPrhq4ufogXBeQotP +JqX+OsIgbrv4Fo7NDKm0G2x2EOFYeUY+VM6AqFcJNykbmROPDMjWLBz7BegIlT1l +RtzuzWniTY+HKE40Cz7PFNm73bZQmq131BnW2hqIyE4bJ3XYsgjxroMwuREOzYfw +hI0Vcnyh78zyiGG69Gm7DIwLdVcEuE4qFC49DxweMqZiNu5m4iK4BUBjECLzMx10 +coos9TkpoNPnG4CELcU9402x/RpvumUHO1jsQkUm+9jaJXLE9gCxInm943xZYkqc +BW89zubWR2OZxiRvchLIrH+QtAuRcOi35hYQcRfO3gZPSEF9NUqjifLJS3tBEW1n +twiYTOURGa5CgNz7kAXU+FDKvuStx8KU1xad5hePrzb7AgMBAAGjQjBAMA8GA1Ud +EwEB/wQFMAMBAf8wHQYDVR0OBBYEFJngGWcNYtt2s9o9uFvo/ULSMQ6HMA4GA1Ud +DwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAmHNw4rDT7TnsTGDZqRKGFx6W +0OhUKDtkLSGm+J1WE2pIPU/HPinbbViDVD2HfSMF1OQc3Og4ZYbFdada2zUFvXfe +uyk3QAUHw5RSn8pk3fEbK9xGChACMf1KaA0HZJDmHvUqoai7PF35owgLEQzxPy0Q +lG/+4jSHg9bP5Rs1bdID4bANqKCqRieCNqcVtgimQlRXtpla4gt5kNdXElE1GYhB +aCXUNxeEFfsBctyV3lImIJgm4nb1J2/6ADtKYdkNy1GTKv0WBpanI5ojSP5RvbbE +sLFUzt5sQa0WZ37b/TjNuThOssFgy50X31ieemKyJo90lZvkWx3SD92YHJtZuSPT +MaCm/zjdzyBP6VhWOmfD0faZmZ26NraAL4hHT4a/RDqA5Dccprrql5gR0IRiR2Qe +qu5AvzSxnI9O4fKSTx+O856X3vOmeWqJcU9LJxdI/uz0UA9PSX3MReO9ekDFQdxh +VicGaeVyQYHTtgGJoC86cnn+OjC/QezHYj6RS8fZMXZC+fc8Y+wmjHMMfRod6qh8 +h6jCJ3zhM0EPz8/8AKAigJ5Kp28AsEFFtyLKaEjFQqKu3R3y4G5OBVixwJAWKqQ9 +EEC+j2Jjg6mcgn0tAumDMHzLJ8n9HmYAsC7TIS+OMxZsmO0QqAfWzJPP29FpHOTK +yeC2nOnOcXHebD8WpHk= +-----END CERTIFICATE----- + +# Issuer: CN=Trustwave Global ECC P256 Certification Authority O=Trustwave Holdings, Inc. +# Subject: CN=Trustwave Global ECC P256 Certification Authority O=Trustwave Holdings, Inc. +# Label: "Trustwave Global ECC P256 Certification Authority" +# Serial: 4151900041497450638097112925 +# MD5 Fingerprint: 5b:44:e3:8d:5d:36:86:26:e8:0d:05:d2:59:a7:83:54 +# SHA1 Fingerprint: b4:90:82:dd:45:0c:be:8b:5b:b1:66:d3:e2:a4:08:26:cd:ed:42:cf +# SHA256 Fingerprint: 94:5b:bc:82:5e:a5:54:f4:89:d1:fd:51:a7:3d:df:2e:a6:24:ac:70:19:a0:52:05:22:5c:22:a7:8c:cf:a8:b4 +-----BEGIN CERTIFICATE----- +MIICYDCCAgegAwIBAgIMDWpfCD8oXD5Rld9dMAoGCCqGSM49BAMCMIGRMQswCQYD +VQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAf +BgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3 +YXZlIEdsb2JhbCBFQ0MgUDI1NiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0x +NzA4MjMxOTM1MTBaFw00MjA4MjMxOTM1MTBaMIGRMQswCQYDVQQGEwJVUzERMA8G +A1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0 +d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBF +Q0MgUDI1NiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTBZMBMGByqGSM49AgEGCCqG +SM49AwEHA0IABH77bOYj43MyCMpg5lOcunSNGLB4kFKA3TjASh3RqMyTpJcGOMoN +FWLGjgEqZZ2q3zSRLoHB5DOSMcT9CTqmP62jQzBBMA8GA1UdEwEB/wQFMAMBAf8w +DwYDVR0PAQH/BAUDAwcGADAdBgNVHQ4EFgQUo0EGrJBt0UrrdaVKEJmzsaGLSvcw +CgYIKoZIzj0EAwIDRwAwRAIgB+ZU2g6gWrKuEZ+Hxbb/ad4lvvigtwjzRM4q3wgh +DDcCIC0mA6AFvWvR9lz4ZcyGbbOcNEhjhAnFjXca4syc4XR7 +-----END CERTIFICATE----- + +# Issuer: CN=Trustwave Global ECC P384 Certification Authority O=Trustwave Holdings, Inc. +# Subject: CN=Trustwave Global ECC P384 Certification Authority O=Trustwave Holdings, Inc. +# Label: "Trustwave Global ECC P384 Certification Authority" +# Serial: 2704997926503831671788816187 +# MD5 Fingerprint: ea:cf:60:c4:3b:b9:15:29:40:a1:97:ed:78:27:93:d6 +# SHA1 Fingerprint: e7:f3:a3:c8:cf:6f:c3:04:2e:6d:0e:67:32:c5:9e:68:95:0d:5e:d2 +# SHA256 Fingerprint: 55:90:38:59:c8:c0:c3:eb:b8:75:9e:ce:4e:25:57:22:5f:f5:75:8b:bd:38:eb:d4:82:76:60:1e:1b:d5:80:97 +-----BEGIN CERTIFICATE----- +MIICnTCCAiSgAwIBAgIMCL2Fl2yZJ6SAaEc7MAoGCCqGSM49BAMDMIGRMQswCQYD +VQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAf +BgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3 +YXZlIEdsb2JhbCBFQ0MgUDM4NCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0x +NzA4MjMxOTM2NDNaFw00MjA4MjMxOTM2NDNaMIGRMQswCQYDVQQGEwJVUzERMA8G +A1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0 +d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBF +Q0MgUDM4NCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTB2MBAGByqGSM49AgEGBSuB +BAAiA2IABGvaDXU1CDFHBa5FmVXxERMuSvgQMSOjfoPTfygIOiYaOs+Xgh+AtycJ +j9GOMMQKmw6sWASr9zZ9lCOkmwqKi6vr/TklZvFe/oyujUF5nQlgziip04pt89ZF +1PKYhDhloKNDMEEwDwYDVR0TAQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwYAMB0G +A1UdDgQWBBRVqYSJ0sEyvRjLbKYHTsjnnb6CkDAKBggqhkjOPQQDAwNnADBkAjA3 +AZKXRRJ+oPM+rRk6ct30UJMDEr5E0k9BpIycnR+j9sKS50gU/k6bpZFXrsY3crsC +MGclCrEMXu6pY5Jv5ZAL/mYiykf9ijH3g/56vxC+GCsej/YpHpRZ744hN8tRmKVu +Sw== +-----END CERTIFICATE----- + +# Issuer: CN=NAVER Global Root Certification Authority O=NAVER BUSINESS PLATFORM Corp. +# Subject: CN=NAVER Global Root Certification Authority O=NAVER BUSINESS PLATFORM Corp. +# Label: "NAVER Global Root Certification Authority" +# Serial: 9013692873798656336226253319739695165984492813 +# MD5 Fingerprint: c8:7e:41:f6:25:3b:f5:09:b3:17:e8:46:3d:bf:d0:9b +# SHA1 Fingerprint: 8f:6b:f2:a9:27:4a:da:14:a0:c4:f4:8e:61:27:f9:c0:1e:78:5d:d1 +# SHA256 Fingerprint: 88:f4:38:dc:f8:ff:d1:fa:8f:42:91:15:ff:e5:f8:2a:e1:e0:6e:0c:70:c3:75:fa:ad:71:7b:34:a4:9e:72:65 +-----BEGIN CERTIFICATE----- +MIIFojCCA4qgAwIBAgIUAZQwHqIL3fXFMyqxQ0Rx+NZQTQ0wDQYJKoZIhvcNAQEM +BQAwaTELMAkGA1UEBhMCS1IxJjAkBgNVBAoMHU5BVkVSIEJVU0lORVNTIFBMQVRG +T1JNIENvcnAuMTIwMAYDVQQDDClOQVZFUiBHbG9iYWwgUm9vdCBDZXJ0aWZpY2F0 +aW9uIEF1dGhvcml0eTAeFw0xNzA4MTgwODU4NDJaFw0zNzA4MTgyMzU5NTlaMGkx +CzAJBgNVBAYTAktSMSYwJAYDVQQKDB1OQVZFUiBCVVNJTkVTUyBQTEFURk9STSBD +b3JwLjEyMDAGA1UEAwwpTkFWRVIgR2xvYmFsIFJvb3QgQ2VydGlmaWNhdGlvbiBB +dXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC21PGTXLVA +iQqrDZBbUGOukJR0F0Vy1ntlWilLp1agS7gvQnXp2XskWjFlqxcX0TM62RHcQDaH +38dq6SZeWYp34+hInDEW+j6RscrJo+KfziFTowI2MMtSAuXaMl3Dxeb57hHHi8lE +HoSTGEq0n+USZGnQJoViAbbJAh2+g1G7XNr4rRVqmfeSVPc0W+m/6imBEtRTkZaz +kVrd/pBzKPswRrXKCAfHcXLJZtM0l/aM9BhK4dA9WkW2aacp+yPOiNgSnABIqKYP +szuSjXEOdMWLyEz59JuOuDxp7W87UC9Y7cSw0BwbagzivESq2M0UXZR4Yb8Obtoq +vC8MC3GmsxY/nOb5zJ9TNeIDoKAYv7vxvvTWjIcNQvcGufFt7QSUqP620wbGQGHf +nZ3zVHbOUzoBppJB7ASjjw2i1QnK1sua8e9DXcCrpUHPXFNwcMmIpi3Ua2FzUCaG +YQ5fG8Ir4ozVu53BA0K6lNpfqbDKzE0K70dpAy8i+/Eozr9dUGWokG2zdLAIx6yo +0es+nPxdGoMuK8u180SdOqcXYZaicdNwlhVNt0xz7hlcxVs+Qf6sdWA7G2POAN3a +CJBitOUt7kinaxeZVL6HSuOpXgRM6xBtVNbv8ejyYhbLgGvtPe31HzClrkvJE+2K +AQHJuFFYwGY6sWZLxNUxAmLpdIQM201GLQIDAQABo0IwQDAdBgNVHQ4EFgQU0p+I +36HNLL3s9TsBAZMzJ7LrYEswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMB +Af8wDQYJKoZIhvcNAQEMBQADggIBADLKgLOdPVQG3dLSLvCkASELZ0jKbY7gyKoN +qo0hV4/GPnrK21HUUrPUloSlWGB/5QuOH/XcChWB5Tu2tyIvCZwTFrFsDDUIbatj +cu3cvuzHV+YwIHHW1xDBE1UBjCpD5EHxzzp6U5LOogMFDTjfArsQLtk70pt6wKGm ++LUx5vR1yblTmXVHIloUFcd4G7ad6Qz4G3bxhYTeodoS76TiEJd6eN4MUZeoIUCL +hr0N8F5OSza7OyAfikJW4Qsav3vQIkMsRIz75Sq0bBwcupTgE34h5prCy8VCZLQe +lHsIJchxzIdFV4XTnyliIoNRlwAYl3dqmJLJfGBs32x9SuRwTMKeuB330DTHD8z7 +p/8Dvq1wkNoL3chtl1+afwkyQf3NosxabUzyqkn+Zvjp2DXrDige7kgvOtB5CTh8 +piKCk5XQA76+AqAF3SAi428diDRgxuYKuQl1C/AH6GmWNcf7I4GOODm4RStDeKLR +LBT/DShycpWbXgnbiUSYqqFJu3FS8r/2/yehNq+4tneI3TqkbZs0kNwUXTC/t+sX +5Ie3cdCh13cV1ELX8vMxmV2b3RZtP+oGI/hGoiLtk/bdmuYqh7GYVPEi92tF4+KO +dh2ajcQGjTa3FPOdVGm3jjzVpG2Tgbet9r1ke8LJaDmgkpzNNIaRkPpkUZ3+/uul +9XXeifdy +-----END CERTIFICATE----- + +# Issuer: CN=AC RAIZ FNMT-RCM SERVIDORES SEGUROS O=FNMT-RCM OU=Ceres +# Subject: CN=AC RAIZ FNMT-RCM SERVIDORES SEGUROS O=FNMT-RCM OU=Ceres +# Label: "AC RAIZ FNMT-RCM SERVIDORES SEGUROS" +# Serial: 131542671362353147877283741781055151509 +# MD5 Fingerprint: 19:36:9c:52:03:2f:d2:d1:bb:23:cc:dd:1e:12:55:bb +# SHA1 Fingerprint: 62:ff:d9:9e:c0:65:0d:03:ce:75:93:d2:ed:3f:2d:32:c9:e3:e5:4a +# SHA256 Fingerprint: 55:41:53:b1:3d:2c:f9:dd:b7:53:bf:be:1a:4e:0a:e0:8d:0a:a4:18:70:58:fe:60:a2:b8:62:b2:e4:b8:7b:cb +-----BEGIN CERTIFICATE----- +MIICbjCCAfOgAwIBAgIQYvYybOXE42hcG2LdnC6dlTAKBggqhkjOPQQDAzB4MQsw +CQYDVQQGEwJFUzERMA8GA1UECgwIRk5NVC1SQ00xDjAMBgNVBAsMBUNlcmVzMRgw +FgYDVQRhDA9WQVRFUy1RMjgyNjAwNEoxLDAqBgNVBAMMI0FDIFJBSVogRk5NVC1S +Q00gU0VSVklET1JFUyBTRUdVUk9TMB4XDTE4MTIyMDA5MzczM1oXDTQzMTIyMDA5 +MzczM1oweDELMAkGA1UEBhMCRVMxETAPBgNVBAoMCEZOTVQtUkNNMQ4wDAYDVQQL +DAVDZXJlczEYMBYGA1UEYQwPVkFURVMtUTI4MjYwMDRKMSwwKgYDVQQDDCNBQyBS +QUlaIEZOTVQtUkNNIFNFUlZJRE9SRVMgU0VHVVJPUzB2MBAGByqGSM49AgEGBSuB +BAAiA2IABPa6V1PIyqvfNkpSIeSX0oNnnvBlUdBeh8dHsVnyV0ebAAKTRBdp20LH +sbI6GA60XYyzZl2hNPk2LEnb80b8s0RpRBNm/dfF/a82Tc4DTQdxz69qBdKiQ1oK +Um8BA06Oi6NCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD +VR0OBBYEFAG5L++/EYZg8k/QQW6rcx/n0m5JMAoGCCqGSM49BAMDA2kAMGYCMQCu +SuMrQMN0EfKVrRYj3k4MGuZdpSRea0R7/DjiT8ucRRcRTBQnJlU5dUoDzBOQn5IC +MQD6SmxgiHPz7riYYqnOK8LZiqZwMR2vsJRM60/G49HzYqc8/5MuB1xJAWdpEgJy +v+c= +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign Root R46 O=GlobalSign nv-sa +# Subject: CN=GlobalSign Root R46 O=GlobalSign nv-sa +# Label: "GlobalSign Root R46" +# Serial: 1552617688466950547958867513931858518042577 +# MD5 Fingerprint: c4:14:30:e4:fa:66:43:94:2a:6a:1b:24:5f:19:d0:ef +# SHA1 Fingerprint: 53:a2:b0:4b:ca:6b:d6:45:e6:39:8a:8e:c4:0d:d2:bf:77:c3:a2:90 +# SHA256 Fingerprint: 4f:a3:12:6d:8d:3a:11:d1:c4:85:5a:4f:80:7c:ba:d6:cf:91:9d:3a:5a:88:b0:3b:ea:2c:63:72:d9:3c:40:c9 +-----BEGIN CERTIFICATE----- +MIIFWjCCA0KgAwIBAgISEdK7udcjGJ5AXwqdLdDfJWfRMA0GCSqGSIb3DQEBDAUA +MEYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYD +VQQDExNHbG9iYWxTaWduIFJvb3QgUjQ2MB4XDTE5MDMyMDAwMDAwMFoXDTQ2MDMy +MDAwMDAwMFowRjELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYt +c2ExHDAaBgNVBAMTE0dsb2JhbFNpZ24gUm9vdCBSNDYwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQCsrHQy6LNl5brtQyYdpokNRbopiLKkHWPd08EsCVeJ +OaFV6Wc0dwxu5FUdUiXSE2te4R2pt32JMl8Nnp8semNgQB+msLZ4j5lUlghYruQG +vGIFAha/r6gjA7aUD7xubMLL1aa7DOn2wQL7Id5m3RerdELv8HQvJfTqa1VbkNud +316HCkD7rRlr+/fKYIje2sGP1q7Vf9Q8g+7XFkyDRTNrJ9CG0Bwta/OrffGFqfUo +0q3v84RLHIf8E6M6cqJaESvWJ3En7YEtbWaBkoe0G1h6zD8K+kZPTXhc+CtI4wSE +y132tGqzZfxCnlEmIyDLPRT5ge1lFgBPGmSXZgjPjHvjK8Cd+RTyG/FWaha/LIWF +zXg4mutCagI0GIMXTpRW+LaCtfOW3T3zvn8gdz57GSNrLNRyc0NXfeD412lPFzYE ++cCQYDdF3uYM2HSNrpyibXRdQr4G9dlkbgIQrImwTDsHTUB+JMWKmIJ5jqSngiCN +I/onccnfxkF0oE32kRbcRoxfKWMxWXEM2G/CtjJ9++ZdU6Z+Ffy7dXxd7Pj2Fxzs +x2sZy/N78CsHpdlseVR2bJ0cpm4O6XkMqCNqo98bMDGfsVR7/mrLZqrcZdCinkqa +ByFrgY/bxFn63iLABJzjqls2k+g9vXqhnQt2sQvHnf3PmKgGwvgqo6GDoLclcqUC +4wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV +HQ4EFgQUA1yrc4GHqMywptWU4jaWSf8FmSwwDQYJKoZIhvcNAQEMBQADggIBAHx4 +7PYCLLtbfpIrXTncvtgdokIzTfnvpCo7RGkerNlFo048p9gkUbJUHJNOxO97k4Vg +JuoJSOD1u8fpaNK7ajFxzHmuEajwmf3lH7wvqMxX63bEIaZHU1VNaL8FpO7XJqti +2kM3S+LGteWygxk6x9PbTZ4IevPuzz5i+6zoYMzRx6Fcg0XERczzF2sUyQQCPtIk +pnnpHs6i58FZFZ8d4kuaPp92CC1r2LpXFNqD6v6MVenQTqnMdzGxRBF6XLE+0xRF +FRhiJBPSy03OXIPBNvIQtQ6IbbjhVp+J3pZmOUdkLG5NrmJ7v2B0GbhWrJKsFjLt +rWhV/pi60zTe9Mlhww6G9kuEYO4Ne7UyWHmRVSyBQ7N0H3qqJZ4d16GLuc1CLgSk +ZoNNiTW2bKg2SnkheCLQQrzRQDGQob4Ez8pn7fXwgNNgyYMqIgXQBztSvwyeqiv5 +u+YfjyW6hY0XHgL+XVAEV8/+LbzvXMAaq7afJMbfc2hIkCwU9D9SGuTSyxTDYWnP +4vkYxboznxSjBF25cfe1lNj2M8FawTSLfJvdkzrnE6JwYZ+vj+vYxXX4M2bUdGc6 +N3ec592kD3ZDZopD8p/7DEJ4Y9HiD2971KE9dJeFt0g5QdYg/NA6s/rob8SKunE3 +vouXsXgxT7PntgMTzlSdriVZzH81Xwj3QEUxeCp6 +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign Root E46 O=GlobalSign nv-sa +# Subject: CN=GlobalSign Root E46 O=GlobalSign nv-sa +# Label: "GlobalSign Root E46" +# Serial: 1552617690338932563915843282459653771421763 +# MD5 Fingerprint: b5:b8:66:ed:de:08:83:e3:c9:e2:01:34:06:ac:51:6f +# SHA1 Fingerprint: 39:b4:6c:d5:fe:80:06:eb:e2:2f:4a:bb:08:33:a0:af:db:b9:dd:84 +# SHA256 Fingerprint: cb:b9:c4:4d:84:b8:04:3e:10:50:ea:31:a6:9f:51:49:55:d7:bf:d2:e2:c6:b4:93:01:01:9a:d6:1d:9f:50:58 +-----BEGIN CERTIFICATE----- +MIICCzCCAZGgAwIBAgISEdK7ujNu1LzmJGjFDYQdmOhDMAoGCCqGSM49BAMDMEYx +CzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQD +ExNHbG9iYWxTaWduIFJvb3QgRTQ2MB4XDTE5MDMyMDAwMDAwMFoXDTQ2MDMyMDAw +MDAwMFowRjELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2Ex +HDAaBgNVBAMTE0dsb2JhbFNpZ24gUm9vdCBFNDYwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAAScDrHPt+ieUnd1NPqlRqetMhkytAepJ8qUuwzSChDH2omwlwxwEwkBjtjq +R+q+soArzfwoDdusvKSGN+1wCAB16pMLey5SnCNoIwZD7JIvU4Tb+0cUB+hflGdd +yXqBPCCjQjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud +DgQWBBQxCpCPtsad0kRLgLWi5h+xEk8blTAKBggqhkjOPQQDAwNoADBlAjEA31SQ +7Zvvi5QCkxeCmb6zniz2C5GMn0oUsfZkvLtoURMMA/cVi4RguYv/Uo7njLwcAjA8 ++RHUjE7AwWHCFUyqqx0LMV87HOIAl0Qx5v5zli/altP+CAezNIm8BZ/3Hobui3A= +-----END CERTIFICATE----- + +# Issuer: CN=ANF Secure Server Root CA O=ANF Autoridad de Certificacion OU=ANF CA Raiz +# Subject: CN=ANF Secure Server Root CA O=ANF Autoridad de Certificacion OU=ANF CA Raiz +# Label: "ANF Secure Server Root CA" +# Serial: 996390341000653745 +# MD5 Fingerprint: 26:a6:44:5a:d9:af:4e:2f:b2:1d:b6:65:b0:4e:e8:96 +# SHA1 Fingerprint: 5b:6e:68:d0:cc:15:b6:a0:5f:1e:c1:5f:ae:02:fc:6b:2f:5d:6f:74 +# SHA256 Fingerprint: fb:8f:ec:75:91:69:b9:10:6b:1e:51:16:44:c6:18:c5:13:04:37:3f:6c:06:43:08:8d:8b:ef:fd:1b:99:75:99 +-----BEGIN CERTIFICATE----- +MIIF7zCCA9egAwIBAgIIDdPjvGz5a7EwDQYJKoZIhvcNAQELBQAwgYQxEjAQBgNV +BAUTCUc2MzI4NzUxMDELMAkGA1UEBhMCRVMxJzAlBgNVBAoTHkFORiBBdXRvcmlk +YWQgZGUgQ2VydGlmaWNhY2lvbjEUMBIGA1UECxMLQU5GIENBIFJhaXoxIjAgBgNV +BAMTGUFORiBTZWN1cmUgU2VydmVyIFJvb3QgQ0EwHhcNMTkwOTA0MTAwMDM4WhcN +MzkwODMwMTAwMDM4WjCBhDESMBAGA1UEBRMJRzYzMjg3NTEwMQswCQYDVQQGEwJF +UzEnMCUGA1UEChMeQU5GIEF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uMRQwEgYD +VQQLEwtBTkYgQ0EgUmFpejEiMCAGA1UEAxMZQU5GIFNlY3VyZSBTZXJ2ZXIgUm9v +dCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANvrayvmZFSVgpCj +cqQZAZ2cC4Ffc0m6p6zzBE57lgvsEeBbphzOG9INgxwruJ4dfkUyYA8H6XdYfp9q +yGFOtibBTI3/TO80sh9l2Ll49a2pcbnvT1gdpd50IJeh7WhM3pIXS7yr/2WanvtH +2Vdy8wmhrnZEE26cLUQ5vPnHO6RYPUG9tMJJo8gN0pcvB2VSAKduyK9o7PQUlrZX +H1bDOZ8rbeTzPvY1ZNoMHKGESy9LS+IsJJ1tk0DrtSOOMspvRdOoiXsezx76W0OL +zc2oD2rKDF65nkeP8Nm2CgtYZRczuSPkdxl9y0oukntPLxB3sY0vaJxizOBQ+OyR +p1RMVwnVdmPF6GUe7m1qzwmd+nxPrWAI/VaZDxUse6mAq4xhj0oHdkLePfTdsiQz +W7i1o0TJrH93PB0j7IKppuLIBkwC/qxcmZkLLxCKpvR/1Yd0DVlJRfbwcVw5Kda/ +SiOL9V8BY9KHcyi1Swr1+KuCLH5zJTIdC2MKF4EA/7Z2Xue0sUDKIbvVgFHlSFJn +LNJhiQcND85Cd8BEc5xEUKDbEAotlRyBr+Qc5RQe8TZBAQIvfXOn3kLMTOmJDVb3 +n5HUA8ZsyY/b2BzgQJhdZpmYgG4t/wHFzstGH6wCxkPmrqKEPMVOHj1tyRRM4y5B +u8o5vzY8KhmqQYdOpc5LMnndkEl/AgMBAAGjYzBhMB8GA1UdIwQYMBaAFJxf0Gxj +o1+TypOYCK2Mh6UsXME3MB0GA1UdDgQWBBScX9BsY6Nfk8qTmAitjIelLFzBNzAO +BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC +AgEATh65isagmD9uw2nAalxJUqzLK114OMHVVISfk/CHGT0sZonrDUL8zPB1hT+L +9IBdeeUXZ701guLyPI59WzbLWoAAKfLOKyzxj6ptBZNscsdW699QIyjlRRA96Gej +rw5VD5AJYu9LWaL2U/HANeQvwSS9eS9OICI7/RogsKQOLHDtdD+4E5UGUcjohybK +pFtqFiGS3XNgnhAY3jyB6ugYw3yJ8otQPr0R4hUDqDZ9MwFsSBXXiJCZBMXM5gf0 +vPSQ7RPi6ovDj6MzD8EpTBNO2hVWcXNyglD2mjN8orGoGjR0ZVzO0eurU+AagNjq +OknkJjCb5RyKqKkVMoaZkgoQI1YS4PbOTOK7vtuNknMBZi9iPrJyJ0U27U1W45eZ +/zo1PqVUSlJZS2Db7v54EX9K3BR5YLZrZAPbFYPhor72I5dQ8AkzNqdxliXzuUJ9 +2zg/LFis6ELhDtjTO0wugumDLmsx2d1Hhk9tl5EuT+IocTUW0fJz/iUrB0ckYyfI ++PbZa/wSMVYIwFNCr5zQM378BvAxRAMU8Vjq8moNqRGyg77FGr8H6lnco4g175x2 +MjxNBiLOFeXdntiP2t7SxDnlF4HPOEfrf4htWRvfn0IUrn7PqLBmZdo3r5+qPeoo +tt7VMVgWglvquxl1AnMaykgaIZOQCo6ThKd9OyMYkomgjaw= +-----END CERTIFICATE----- + +# Issuer: CN=Certum EC-384 CA O=Asseco Data Systems S.A. OU=Certum Certification Authority +# Subject: CN=Certum EC-384 CA O=Asseco Data Systems S.A. OU=Certum Certification Authority +# Label: "Certum EC-384 CA" +# Serial: 160250656287871593594747141429395092468 +# MD5 Fingerprint: b6:65:b3:96:60:97:12:a1:ec:4e:e1:3d:a3:c6:c9:f1 +# SHA1 Fingerprint: f3:3e:78:3c:ac:df:f4:a2:cc:ac:67:55:69:56:d7:e5:16:3c:e1:ed +# SHA256 Fingerprint: 6b:32:80:85:62:53:18:aa:50:d1:73:c9:8d:8b:da:09:d5:7e:27:41:3d:11:4c:f7:87:a0:f5:d0:6c:03:0c:f6 +-----BEGIN CERTIFICATE----- +MIICZTCCAeugAwIBAgIQeI8nXIESUiClBNAt3bpz9DAKBggqhkjOPQQDAzB0MQsw +CQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERhdGEgU3lzdGVtcyBTLkEuMScw +JQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxGTAXBgNVBAMT +EENlcnR1bSBFQy0zODQgQ0EwHhcNMTgwMzI2MDcyNDU0WhcNNDMwMzI2MDcyNDU0 +WjB0MQswCQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERhdGEgU3lzdGVtcyBT +LkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxGTAX +BgNVBAMTEENlcnR1bSBFQy0zODQgQ0EwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATE +KI6rGFtqvm5kN2PkzeyrOvfMobgOgknXhimfoZTy42B4mIF4Bk3y7JoOV2CDn7Tm +Fy8as10CW4kjPMIRBSqniBMY81CE1700LCeJVf/OTOffph8oxPBUw7l8t1Ot68Kj +QjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI0GZnQkdjrzife81r1HfS+8 +EF9LMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNoADBlAjADVS2m5hjEfO/J +UG7BJw+ch69u1RsIGL2SKcHvlJF40jocVYli5RsJHrpka/F2tNQCMQC0QoSZ/6vn +nvuRlydd3LBbMHHOXjgaatkl5+r3YZJW+OraNsKHZZYuciUvf9/DE8k= +-----END CERTIFICATE----- + +# Issuer: CN=Certum Trusted Root CA O=Asseco Data Systems S.A. OU=Certum Certification Authority +# Subject: CN=Certum Trusted Root CA O=Asseco Data Systems S.A. OU=Certum Certification Authority +# Label: "Certum Trusted Root CA" +# Serial: 40870380103424195783807378461123655149 +# MD5 Fingerprint: 51:e1:c2:e7:fe:4c:84:af:59:0e:2f:f4:54:6f:ea:29 +# SHA1 Fingerprint: c8:83:44:c0:18:ae:9f:cc:f1:87:b7:8f:22:d1:c5:d7:45:84:ba:e5 +# SHA256 Fingerprint: fe:76:96:57:38:55:77:3e:37:a9:5e:7a:d4:d9:cc:96:c3:01:57:c1:5d:31:76:5b:a9:b1:57:04:e1:ae:78:fd +-----BEGIN CERTIFICATE----- +MIIFwDCCA6igAwIBAgIQHr9ZULjJgDdMBvfrVU+17TANBgkqhkiG9w0BAQ0FADB6 +MQswCQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERhdGEgU3lzdGVtcyBTLkEu +MScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxHzAdBgNV +BAMTFkNlcnR1bSBUcnVzdGVkIFJvb3QgQ0EwHhcNMTgwMzE2MTIxMDEzWhcNNDMw +MzE2MTIxMDEzWjB6MQswCQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERhdGEg +U3lzdGVtcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRo +b3JpdHkxHzAdBgNVBAMTFkNlcnR1bSBUcnVzdGVkIFJvb3QgQ0EwggIiMA0GCSqG +SIb3DQEBAQUAA4ICDwAwggIKAoICAQDRLY67tzbqbTeRn06TpwXkKQMlzhyC93yZ +n0EGze2jusDbCSzBfN8pfktlL5On1AFrAygYo9idBcEq2EXxkd7fO9CAAozPOA/q +p1x4EaTByIVcJdPTsuclzxFUl6s1wB52HO8AU5853BSlLCIls3Jy/I2z5T4IHhQq +NwuIPMqw9MjCoa68wb4pZ1Xi/K1ZXP69VyywkI3C7Te2fJmItdUDmj0VDT06qKhF +8JVOJVkdzZhpu9PMMsmN74H+rX2Ju7pgE8pllWeg8xn2A1bUatMn4qGtg/BKEiJ3 +HAVz4hlxQsDsdUaakFjgao4rpUYwBI4Zshfjvqm6f1bxJAPXsiEodg42MEx51UGa +mqi4NboMOvJEGyCI98Ul1z3G4z5D3Yf+xOr1Uz5MZf87Sst4WmsXXw3Hw09Omiqi +7VdNIuJGmj8PkTQkfVXjjJU30xrwCSss0smNtA0Aq2cpKNgB9RkEth2+dv5yXMSF +ytKAQd8FqKPVhJBPC/PgP5sZ0jeJP/J7UhyM9uH3PAeXjA6iWYEMspA90+NZRu0P +qafegGtaqge2Gcu8V/OXIXoMsSt0Puvap2ctTMSYnjYJdmZm/Bo/6khUHL4wvYBQ +v3y1zgD2DGHZ5yQD4OMBgQ692IU0iL2yNqh7XAjlRICMb/gv1SHKHRzQ+8S1h9E6 +Tsd2tTVItQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSM+xx1 +vALTn04uSNn5YFSqxLNP+jAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQENBQAD +ggIBAEii1QALLtA/vBzVtVRJHlpr9OTy4EA34MwUe7nJ+jW1dReTagVphZzNTxl4 +WxmB82M+w85bj/UvXgF2Ez8sALnNllI5SW0ETsXpD4YN4fqzX4IS8TrOZgYkNCvo +zMrnadyHncI013nR03e4qllY/p0m+jiGPp2Kh2RX5Rc64vmNueMzeMGQ2Ljdt4NR +5MTMI9UGfOZR0800McD2RrsLrfw9EAUqO0qRJe6M1ISHgCq8CYyqOhNf6DR5UMEQ +GfnTKB7U0VEwKbOukGfWHwpjscWpxkIxYxeU72nLL/qMFH3EQxiJ2fAyQOaA4kZf +5ePBAFmo+eggvIksDkc0C+pXwlM2/KfUrzHN/gLldfq5Jwn58/U7yn2fqSLLiMmq +0Uc9NneoWWRrJ8/vJ8HjJLWG965+Mk2weWjROeiQWMODvA8s1pfrzgzhIMfatz7D +P78v3DSk+yshzWePS/Tj6tQ/50+6uaWTRRxmHyH6ZF5v4HaUMst19W7l9o/HuKTM +qJZ9ZPskWkoDbGs4xugDQ5r3V7mzKWmTOPQD8rv7gmsHINFSH5pkAnuYZttcTVoP +0ISVoDwUQwbKytu4QTbaakRnh6+v40URFWkIsr4WOZckbxJF0WddCajJFdr60qZf +E2Efv4WstK2tBZQIgx51F9NxO5NQI1mg7TyRVJ12AMXDuDjb +-----END CERTIFICATE----- + +# Issuer: CN=TunTrust Root CA O=Agence Nationale de Certification Electronique +# Subject: CN=TunTrust Root CA O=Agence Nationale de Certification Electronique +# Label: "TunTrust Root CA" +# Serial: 108534058042236574382096126452369648152337120275 +# MD5 Fingerprint: 85:13:b9:90:5b:36:5c:b6:5e:b8:5a:f8:e0:31:57:b4 +# SHA1 Fingerprint: cf:e9:70:84:0f:e0:73:0f:9d:f6:0c:7f:2c:4b:ee:20:46:34:9c:bb +# SHA256 Fingerprint: 2e:44:10:2a:b5:8c:b8:54:19:45:1c:8e:19:d9:ac:f3:66:2c:af:bc:61:4b:6a:53:96:0a:30:f7:d0:e2:eb:41 +-----BEGIN CERTIFICATE----- +MIIFszCCA5ugAwIBAgIUEwLV4kBMkkaGFmddtLu7sms+/BMwDQYJKoZIhvcNAQEL +BQAwYTELMAkGA1UEBhMCVE4xNzA1BgNVBAoMLkFnZW5jZSBOYXRpb25hbGUgZGUg +Q2VydGlmaWNhdGlvbiBFbGVjdHJvbmlxdWUxGTAXBgNVBAMMEFR1blRydXN0IFJv +b3QgQ0EwHhcNMTkwNDI2MDg1NzU2WhcNNDQwNDI2MDg1NzU2WjBhMQswCQYDVQQG +EwJUTjE3MDUGA1UECgwuQWdlbmNlIE5hdGlvbmFsZSBkZSBDZXJ0aWZpY2F0aW9u +IEVsZWN0cm9uaXF1ZTEZMBcGA1UEAwwQVHVuVHJ1c3QgUm9vdCBDQTCCAiIwDQYJ +KoZIhvcNAQEBBQADggIPADCCAgoCggIBAMPN0/y9BFPdDCA61YguBUtB9YOCfvdZ +n56eY+hz2vYGqU8ftPkLHzmMmiDQfgbU7DTZhrx1W4eI8NLZ1KMKsmwb60ksPqxd +2JQDoOw05TDENX37Jk0bbjBU2PWARZw5rZzJJQRNmpA+TkBuimvNKWfGzC3gdOgF +VwpIUPp6Q9p+7FuaDmJ2/uqdHYVy7BG7NegfJ7/Boce7SBbdVtfMTqDhuazb1YMZ +GoXRlJfXyqNlC/M4+QKu3fZnz8k/9YosRxqZbwUN/dAdgjH8KcwAWJeRTIAAHDOF +li/LQcKLEITDCSSJH7UP2dl3RxiSlGBcx5kDPP73lad9UKGAwqmDrViWVSHbhlnU +r8a83YFuB9tgYv7sEG7aaAH0gxupPqJbI9dkxt/con3YS7qC0lH4Zr8GRuR5KiY2 +eY8fTpkdso8MDhz/yV3A/ZAQprE38806JG60hZC/gLkMjNWb1sjxVj8agIl6qeIb +MlEsPvLfe/ZdeikZjuXIvTZxi11Mwh0/rViizz1wTaZQmCXcI/m4WEEIcb9PuISg +jwBUFfyRbVinljvrS5YnzWuioYasDXxU5mZMZl+QviGaAkYt5IPCgLnPSz7ofzwB +7I9ezX/SKEIBlYrilz0QIX32nRzFNKHsLA4KUiwSVXAkPcvCFDVDXSdOvsC9qnyW +5/yeYa1E0wCXAgMBAAGjYzBhMB0GA1UdDgQWBBQGmpsfU33x9aTI04Y+oXNZtPdE +ITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFAaamx9TffH1pMjThj6hc1m0 +90QhMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAqgVutt0Vyb+z +xiD2BkewhpMl0425yAA/l/VSJ4hxyXT968pk21vvHl26v9Hr7lxpuhbI87mP0zYu +QEkHDVneixCwSQXi/5E/S7fdAo74gShczNxtr18UnH1YeA32gAm56Q6XKRm4t+v4 +FstVEuTGfbvE7Pi1HE4+Z7/FXxttbUcoqgRYYdZ2vyJ/0Adqp2RT8JeNnYA/u8EH +22Wv5psymsNUk8QcCMNE+3tjEUPRahphanltkE8pjkcFwRJpadbGNjHh/PqAulxP +xOu3Mqz4dWEX1xAZufHSCe96Qp1bWgvUxpVOKs7/B9dPfhgGiPEZtdmYu65xxBzn +dFlY7wyJz4sfdZMaBBSSSFCp61cpABbjNhzI+L/wM9VBD8TMPN3pM0MBkRArHtG5 +Xc0yGYuPjCB31yLEQtyEFpslbei0VXF/sHyz03FJuc9SpAQ/3D2gu68zngowYI7b +nV2UqL1g52KAdoGDDIzMMEZJ4gzSqK/rYXHv5yJiqfdcZGyfFoxnNidF9Ql7v/YQ +CvGwjVRDjAS6oz/v4jXH+XTgbzRB0L9zZVcg+ZtnemZoJE6AZb0QmQZZ8mWvuMZH +u/2QeItBcy6vVR/cO5JyboTT0GFMDcx2V+IthSIVNg3rAZ3r2OvEhJn7wAzMMujj +d9qDRIueVSjAi1jTkD5OGwDxFa2DK5o= +-----END CERTIFICATE----- + +# Issuer: CN=HARICA TLS RSA Root CA 2021 O=Hellenic Academic and Research Institutions CA +# Subject: CN=HARICA TLS RSA Root CA 2021 O=Hellenic Academic and Research Institutions CA +# Label: "HARICA TLS RSA Root CA 2021" +# Serial: 76817823531813593706434026085292783742 +# MD5 Fingerprint: 65:47:9b:58:86:dd:2c:f0:fc:a2:84:1f:1e:96:c4:91 +# SHA1 Fingerprint: 02:2d:05:82:fa:88:ce:14:0c:06:79:de:7f:14:10:e9:45:d7:a5:6d +# SHA256 Fingerprint: d9:5d:0e:8e:da:79:52:5b:f9:be:b1:1b:14:d2:10:0d:32:94:98:5f:0c:62:d9:fa:bd:9c:d9:99:ec:cb:7b:1d +-----BEGIN CERTIFICATE----- +MIIFpDCCA4ygAwIBAgIQOcqTHO9D88aOk8f0ZIk4fjANBgkqhkiG9w0BAQsFADBs +MQswCQYDVQQGEwJHUjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl +c2VhcmNoIEluc3RpdHV0aW9ucyBDQTEkMCIGA1UEAwwbSEFSSUNBIFRMUyBSU0Eg +Um9vdCBDQSAyMDIxMB4XDTIxMDIxOTEwNTUzOFoXDTQ1MDIxMzEwNTUzN1owbDEL +MAkGA1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNl +YXJjaCBJbnN0aXR1dGlvbnMgQ0ExJDAiBgNVBAMMG0hBUklDQSBUTFMgUlNBIFJv +b3QgQ0EgMjAyMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAIvC569l +mwVnlskNJLnQDmT8zuIkGCyEf3dRywQRNrhe7Wlxp57kJQmXZ8FHws+RFjZiPTgE +4VGC/6zStGndLuwRo0Xua2s7TL+MjaQenRG56Tj5eg4MmOIjHdFOY9TnuEFE+2uv +a9of08WRiFukiZLRgeaMOVig1mlDqa2YUlhu2wr7a89o+uOkXjpFc5gH6l8Cct4M +pbOfrqkdtx2z/IpZ525yZa31MJQjB/OCFks1mJxTuy/K5FrZx40d/JiZ+yykgmvw +Kh+OC19xXFyuQnspiYHLA6OZyoieC0AJQTPb5lh6/a6ZcMBaD9YThnEvdmn8kN3b +LW7R8pv1GmuebxWMevBLKKAiOIAkbDakO/IwkfN4E8/BPzWr8R0RI7VDIp4BkrcY +AuUR0YLbFQDMYTfBKnya4dC6s1BG7oKsnTH4+yPiAwBIcKMJJnkVU2DzOFytOOqB +AGMUuTNe3QvboEUHGjMJ+E20pwKmafTCWQWIZYVWrkvL4N48fS0ayOn7H6NhStYq +E613TBoYm5EPWNgGVMWX+Ko/IIqmhaZ39qb8HOLubpQzKoNQhArlT4b4UEV4AIHr +W2jjJo3Me1xR9BQsQL4aYB16cmEdH2MtiKrOokWQCPxrvrNQKlr9qEgYRtaQQJKQ +CoReaDH46+0N0x3GfZkYVVYnZS6NRcUk7M7jAgMBAAGjQjBAMA8GA1UdEwEB/wQF +MAMBAf8wHQYDVR0OBBYEFApII6ZgpJIKM+qTW8VX6iVNvRLuMA4GA1UdDwEB/wQE +AwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAPpBIqm5iFSVmewzVjIuJndftTgfvnNAU +X15QvWiWkKQUEapobQk1OUAJ2vQJLDSle1mESSmXdMgHHkdt8s4cUCbjnj1AUz/3 +f5Z2EMVGpdAgS1D0NTsY9FVqQRtHBmg8uwkIYtlfVUKqrFOFrJVWNlar5AWMxaja +H6NpvVMPxP/cyuN+8kyIhkdGGvMA9YCRotxDQpSbIPDRzbLrLFPCU3hKTwSUQZqP +JzLB5UkZv/HywouoCjkxKLR9YjYsTewfM7Z+d21+UPCfDtcRj88YxeMn/ibvBZ3P +zzfF0HvaO7AWhAw6k9a+F9sPPg4ZeAnHqQJyIkv3N3a6dcSFA1pj1bF1BcK5vZSt +jBWZp5N99sXzqnTPBIWUmAD04vnKJGW/4GKvyMX6ssmeVkjaef2WdhW+o45WxLM0 +/L5H9MG0qPzVMIho7suuyWPEdr6sOBjhXlzPrjoiUevRi7PzKzMHVIf6tLITe7pT +BGIBnfHAT+7hOtSLIBD6Alfm78ELt5BGnBkpjNxvoEppaZS3JGWg/6w/zgH7IS79 +aPib8qXPMThcFarmlwDB31qlpzmq6YR/PFGoOtmUW4y/Twhx5duoXNTSpv4Ao8YW +xw/ogM4cKGR0GQjTQuPOAF1/sdwTsOEFy9EgqoZ0njnnkf3/W9b3raYvAwtt41dU +63ZTGI0RmLo= +-----END CERTIFICATE----- + +# Issuer: CN=HARICA TLS ECC Root CA 2021 O=Hellenic Academic and Research Institutions CA +# Subject: CN=HARICA TLS ECC Root CA 2021 O=Hellenic Academic and Research Institutions CA +# Label: "HARICA TLS ECC Root CA 2021" +# Serial: 137515985548005187474074462014555733966 +# MD5 Fingerprint: ae:f7:4c:e5:66:35:d1:b7:9b:8c:22:93:74:d3:4b:b0 +# SHA1 Fingerprint: bc:b0:c1:9d:e9:98:92:70:19:38:57:e9:8d:a7:b4:5d:6e:ee:01:48 +# SHA256 Fingerprint: 3f:99:cc:47:4a:cf:ce:4d:fe:d5:87:94:66:5e:47:8d:15:47:73:9f:2e:78:0f:1b:b4:ca:9b:13:30:97:d4:01 +-----BEGIN CERTIFICATE----- +MIICVDCCAdugAwIBAgIQZ3SdjXfYO2rbIvT/WeK/zjAKBggqhkjOPQQDAzBsMQsw +CQYDVQQGEwJHUjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2Vh +cmNoIEluc3RpdHV0aW9ucyBDQTEkMCIGA1UEAwwbSEFSSUNBIFRMUyBFQ0MgUm9v +dCBDQSAyMDIxMB4XDTIxMDIxOTExMDExMFoXDTQ1MDIxMzExMDEwOVowbDELMAkG +A1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJj +aCBJbnN0aXR1dGlvbnMgQ0ExJDAiBgNVBAMMG0hBUklDQSBUTFMgRUNDIFJvb3Qg +Q0EgMjAyMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABDgI/rGgltJ6rK9JOtDA4MM7 +KKrxcm1lAEeIhPyaJmuqS7psBAqIXhfyVYf8MLA04jRYVxqEU+kw2anylnTDUR9Y +STHMmE5gEYd103KUkE+bECUqqHgtvpBBWJAVcqeht6NCMEAwDwYDVR0TAQH/BAUw +AwEB/zAdBgNVHQ4EFgQUyRtTgRL+BNUW0aq8mm+3oJUZbsowDgYDVR0PAQH/BAQD +AgGGMAoGCCqGSM49BAMDA2cAMGQCMBHervjcToiwqfAircJRQO9gcS3ujwLEXQNw +SaSS6sUUiHCm0w2wqsosQJz76YJumgIwK0eaB8bRwoF8yguWGEEbo/QwCZ61IygN +nxS2PFOiTAZpffpskcYqSUXm7LcT4Tps +-----END CERTIFICATE----- + +# Issuer: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068 +# Subject: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068 +# Label: "Autoridad de Certificacion Firmaprofesional CIF A62634068" +# Serial: 1977337328857672817 +# MD5 Fingerprint: 4e:6e:9b:54:4c:ca:b7:fa:48:e4:90:b1:15:4b:1c:a3 +# SHA1 Fingerprint: 0b:be:c2:27:22:49:cb:39:aa:db:35:5c:53:e3:8c:ae:78:ff:b6:fe +# SHA256 Fingerprint: 57:de:05:83:ef:d2:b2:6e:03:61:da:99:da:9d:f4:64:8d:ef:7e:e8:44:1c:3b:72:8a:fa:9b:cd:e0:f9:b2:6a +-----BEGIN CERTIFICATE----- +MIIGFDCCA/ygAwIBAgIIG3Dp0v+ubHEwDQYJKoZIhvcNAQELBQAwUTELMAkGA1UE +BhMCRVMxQjBABgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1h +cHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODAeFw0xNDA5MjMxNTIyMDdaFw0zNjA1 +MDUxNTIyMDdaMFExCzAJBgNVBAYTAkVTMUIwQAYDVQQDDDlBdXRvcmlkYWQgZGUg +Q2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBBNjI2MzQwNjgwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDDUtd9 +thDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQM +cas9UX4PB99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefG +L9ItWY16Ck6WaVICqjaY7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15i +NA9wBj4gGFrO93IbJWyTdBSTo3OxDqqHECNZXyAFGUftaI6SEspd/NYrspI8IM/h +X68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyIplD9amML9ZMWGxmPsu2b +m8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctXMbScyJCy +Z/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirja +EbsXLZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/T +KI8xWVvTyQKmtFLKbpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF +6NkBiDkal4ZkQdU7hwxu+g/GvUgUvzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVh +OSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMB0GA1UdDgQWBBRlzeurNR4APn7VdMAc +tHNHDhpkLzASBgNVHRMBAf8ECDAGAQH/AgEBMIGmBgNVHSAEgZ4wgZswgZgGBFUd +IAAwgY8wLwYIKwYBBQUHAgEWI2h0dHA6Ly93d3cuZmlybWFwcm9mZXNpb25hbC5j +b20vY3BzMFwGCCsGAQUFBwICMFAeTgBQAGEAcwBlAG8AIABkAGUAIABsAGEAIABC +AG8AbgBhAG4AbwB2AGEAIAA0ADcAIABCAGEAcgBjAGUAbABvAG4AYQAgADAAOAAw +ADEANzAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQELBQADggIBAHSHKAIrdx9m +iWTtj3QuRhy7qPj4Cx2Dtjqn6EWKB7fgPiDL4QjbEwj4KKE1soCzC1HA01aajTNF +Sa9J8OA9B3pFE1r/yJfY0xgsfZb43aJlQ3CTkBW6kN/oGbDbLIpgD7dvlAceHabJ +hfa9NPhAeGIQcDq+fUs5gakQ1JZBu/hfHAsdCPKxsIl68veg4MSPi3i1O1ilI45P +Vf42O+AMt8oqMEEgtIDNrvx2ZnOorm7hfNoD6JQg5iKj0B+QXSBTFCZX2lSX3xZE +EAEeiGaPcjiT3SC3NL7X8e5jjkd5KAb881lFJWAiMxujX6i6KtoaPc1A6ozuBRWV +1aUsIC+nmCjuRfzxuIgALI9C2lHVnOUTaHFFQ4ueCyE8S1wF3BqfmI7avSKecs2t +CsvMo2ebKHTEm9caPARYpoKdrcd7b/+Alun4jWq9GJAd/0kakFI3ky88Al2CdgtR +5xbHV/g4+afNmyJU72OwFW1TZQNKXkqgsqeOSQBZONXH9IBk9W6VULgRfhVwOEqw +f9DEMnDAGf/JOC0ULGb0QkTmVXYbgBVX/8Cnp6o5qtjTcNAuuuuUavpfNIbnYrX9 +ivAwhZTJryQCL2/W3Wf+47BVTwSYT6RBVuKT0Gro1vP7ZeDOdcQxWQzugsgMYDNK +GbqEZycPvEJdvSRUDewdcAZfpLz6IHxV +-----END CERTIFICATE----- + +# Issuer: CN=vTrus ECC Root CA O=iTrusChina Co.,Ltd. +# Subject: CN=vTrus ECC Root CA O=iTrusChina Co.,Ltd. +# Label: "vTrus ECC Root CA" +# Serial: 630369271402956006249506845124680065938238527194 +# MD5 Fingerprint: de:4b:c1:f5:52:8c:9b:43:e1:3e:8f:55:54:17:8d:85 +# SHA1 Fingerprint: f6:9c:db:b0:fc:f6:02:13:b6:52:32:a6:a3:91:3f:16:70:da:c3:e1 +# SHA256 Fingerprint: 30:fb:ba:2c:32:23:8e:2a:98:54:7a:f9:79:31:e5:50:42:8b:9b:3f:1c:8e:eb:66:33:dc:fa:86:c5:b2:7d:d3 +-----BEGIN CERTIFICATE----- +MIICDzCCAZWgAwIBAgIUbmq8WapTvpg5Z6LSa6Q75m0c1towCgYIKoZIzj0EAwMw +RzELMAkGA1UEBhMCQ04xHDAaBgNVBAoTE2lUcnVzQ2hpbmEgQ28uLEx0ZC4xGjAY +BgNVBAMTEXZUcnVzIEVDQyBSb290IENBMB4XDTE4MDczMTA3MjY0NFoXDTQzMDcz +MTA3MjY0NFowRzELMAkGA1UEBhMCQ04xHDAaBgNVBAoTE2lUcnVzQ2hpbmEgQ28u +LEx0ZC4xGjAYBgNVBAMTEXZUcnVzIEVDQyBSb290IENBMHYwEAYHKoZIzj0CAQYF +K4EEACIDYgAEZVBKrox5lkqqHAjDo6LN/llWQXf9JpRCux3NCNtzslt188+cToL0 +v/hhJoVs1oVbcnDS/dtitN9Ti72xRFhiQgnH+n9bEOf+QP3A2MMrMudwpremIFUd +e4BdS49nTPEQo0IwQDAdBgNVHQ4EFgQUmDnNvtiyjPeyq+GtJK97fKHbH88wDwYD +VR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwCgYIKoZIzj0EAwMDaAAwZQIw +V53dVvHH4+m4SVBrm2nDb+zDfSXkV5UTQJtS0zvzQBm8JsctBp61ezaf9SXUY2sA +AjEA6dPGnlaaKsyh2j/IZivTWJwghfqrkYpwcBE4YGQLYgmRWAD5Tfs0aNoJrSEG +GJTO +-----END CERTIFICATE----- + +# Issuer: CN=vTrus Root CA O=iTrusChina Co.,Ltd. +# Subject: CN=vTrus Root CA O=iTrusChina Co.,Ltd. +# Label: "vTrus Root CA" +# Serial: 387574501246983434957692974888460947164905180485 +# MD5 Fingerprint: b8:c9:37:df:fa:6b:31:84:64:c5:ea:11:6a:1b:75:fc +# SHA1 Fingerprint: 84:1a:69:fb:f5:cd:1a:25:34:13:3d:e3:f8:fc:b8:99:d0:c9:14:b7 +# SHA256 Fingerprint: 8a:71:de:65:59:33:6f:42:6c:26:e5:38:80:d0:0d:88:a1:8d:a4:c6:a9:1f:0d:cb:61:94:e2:06:c5:c9:63:87 +-----BEGIN CERTIFICATE----- +MIIFVjCCAz6gAwIBAgIUQ+NxE9izWRRdt86M/TX9b7wFjUUwDQYJKoZIhvcNAQEL +BQAwQzELMAkGA1UEBhMCQ04xHDAaBgNVBAoTE2lUcnVzQ2hpbmEgQ28uLEx0ZC4x +FjAUBgNVBAMTDXZUcnVzIFJvb3QgQ0EwHhcNMTgwNzMxMDcyNDA1WhcNNDMwNzMx +MDcyNDA1WjBDMQswCQYDVQQGEwJDTjEcMBoGA1UEChMTaVRydXNDaGluYSBDby4s +THRkLjEWMBQGA1UEAxMNdlRydXMgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQAD +ggIPADCCAgoCggIBAL1VfGHTuB0EYgWgrmy3cLRB6ksDXhA/kFocizuwZotsSKYc +IrrVQJLuM7IjWcmOvFjai57QGfIvWcaMY1q6n6MLsLOaXLoRuBLpDLvPbmyAhykU +AyyNJJrIZIO1aqwTLDPxn9wsYTwaP3BVm60AUn/PBLn+NvqcwBauYv6WTEN+VRS+ +GrPSbcKvdmaVayqwlHeFXgQPYh1jdfdr58tbmnDsPmcF8P4HCIDPKNsFxhQnL4Z9 +8Cfe/+Z+M0jnCx5Y0ScrUw5XSmXX+6KAYPxMvDVTAWqXcoKv8R1w6Jz1717CbMdH +flqUhSZNO7rrTOiwCcJlwp2dCZtOtZcFrPUGoPc2BX70kLJrxLT5ZOrpGgrIDajt +J8nU57O5q4IikCc9Kuh8kO+8T/3iCiSn3mUkpF3qwHYw03dQ+A0Em5Q2AXPKBlim +0zvc+gRGE1WKyURHuFE5Gi7oNOJ5y1lKCn+8pu8fA2dqWSslYpPZUxlmPCdiKYZN +pGvu/9ROutW04o5IWgAZCfEF2c6Rsffr6TlP9m8EQ5pV9T4FFL2/s1m02I4zhKOQ +UqqzApVg+QxMaPnu1RcN+HFXtSXkKe5lXa/R7jwXC1pDxaWG6iSe4gUH3DRCEpHW +OXSuTEGC2/KmSNGzm/MzqvOmwMVO9fSddmPmAsYiS8GVP1BkLFTltvA8Kc9XAgMB +AAGjQjBAMB0GA1UdDgQWBBRUYnBj8XWEQ1iO0RYgscasGrz2iTAPBgNVHRMBAf8E +BTADAQH/MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAKbqSSaet +8PFww+SX8J+pJdVrnjT+5hpk9jprUrIQeBqfTNqK2uwcN1LgQkv7bHbKJAs5EhWd +nxEt/Hlk3ODg9d3gV8mlsnZwUKT+twpw1aA08XXXTUm6EdGz2OyC/+sOxL9kLX1j +bhd47F18iMjrjld22VkE+rxSH0Ws8HqA7Oxvdq6R2xCOBNyS36D25q5J08FsEhvM +Kar5CKXiNxTKsbhm7xqC5PD48acWabfbqWE8n/Uxy+QARsIvdLGx14HuqCaVvIiv +TDUHKgLKeBRtRytAVunLKmChZwOgzoy8sHJnxDHO2zTlJQNgJXtxmOTAGytfdELS +S8VZCAeHvsXDf+eW2eHcKJfWjwXj9ZtOyh1QRwVTsMo554WgicEFOwE30z9J4nfr +I8iIZjs9OXYhRvHsXyO466JmdXTBQPfYaJqT4i2pLr0cox7IdMakLXogqzu4sEb9 +b91fUlV1YvCXoHzXOP0l382gmxDPi7g4Xl7FtKYCNqEeXxzP4padKar9mK5S4fNB +UvupLnKWnyfjqnN9+BojZns7q2WwMgFLFT49ok8MKzWixtlnEjUwzXYuFrOZnk1P +Ti07NEPhmg4NpGaXutIcSkwsKouLgU9xGqndXHt7CMUADTdA43x7VF8vhV929ven +sBxXVsFy6K2ir40zSbofitzmdHxghm+Hl3s= +-----END CERTIFICATE----- + +# Issuer: CN=ISRG Root X2 O=Internet Security Research Group +# Subject: CN=ISRG Root X2 O=Internet Security Research Group +# Label: "ISRG Root X2" +# Serial: 87493402998870891108772069816698636114 +# MD5 Fingerprint: d3:9e:c4:1e:23:3c:a6:df:cf:a3:7e:6d:e0:14:e6:e5 +# SHA1 Fingerprint: bd:b1:b9:3c:d5:97:8d:45:c6:26:14:55:f8:db:95:c7:5a:d1:53:af +# SHA256 Fingerprint: 69:72:9b:8e:15:a8:6e:fc:17:7a:57:af:b7:17:1d:fc:64:ad:d2:8c:2f:ca:8c:f1:50:7e:34:45:3c:cb:14:70 +-----BEGIN CERTIFICATE----- +MIICGzCCAaGgAwIBAgIQQdKd0XLq7qeAwSxs6S+HUjAKBggqhkjOPQQDAzBPMQsw +CQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2gg +R3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMjAeFw0yMDA5MDQwMDAwMDBaFw00 +MDA5MTcxNjAwMDBaME8xCzAJBgNVBAYTAlVTMSkwJwYDVQQKEyBJbnRlcm5ldCBT +ZWN1cml0eSBSZXNlYXJjaCBHcm91cDEVMBMGA1UEAxMMSVNSRyBSb290IFgyMHYw +EAYHKoZIzj0CAQYFK4EEACIDYgAEzZvVn4CDCuwJSvMWSj5cz3es3mcFDR0HttwW ++1qLFNvicWDEukWVEYmO6gbf9yoWHKS5xcUy4APgHoIYOIvXRdgKam7mAHf7AlF9 +ItgKbppbd9/w+kHsOdx1ymgHDB/qo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0T +AQH/BAUwAwEB/zAdBgNVHQ4EFgQUfEKWrt5LSDv6kviejM9ti6lyN5UwCgYIKoZI +zj0EAwMDaAAwZQIwe3lORlCEwkSHRhtFcP9Ymd70/aTSVaYgLXTWNLxBo1BfASdW +tL4ndQavEi51mI38AjEAi/V3bNTIZargCyzuFJ0nN6T5U6VR5CmD1/iQMVtCnwr1 +/q4AaOeMSQ+2b1tbFfLn +-----END CERTIFICATE----- + +# Issuer: CN=HiPKI Root CA - G1 O=Chunghwa Telecom Co., Ltd. +# Subject: CN=HiPKI Root CA - G1 O=Chunghwa Telecom Co., Ltd. +# Label: "HiPKI Root CA - G1" +# Serial: 60966262342023497858655262305426234976 +# MD5 Fingerprint: 69:45:df:16:65:4b:e8:68:9a:8f:76:5f:ff:80:9e:d3 +# SHA1 Fingerprint: 6a:92:e4:a8:ee:1b:ec:96:45:37:e3:29:57:49:cd:96:e3:e5:d2:60 +# SHA256 Fingerprint: f0:15:ce:3c:c2:39:bf:ef:06:4b:e9:f1:d2:c4:17:e1:a0:26:4a:0a:94:be:1f:0c:8d:12:18:64:eb:69:49:cc +-----BEGIN CERTIFICATE----- +MIIFajCCA1KgAwIBAgIQLd2szmKXlKFD6LDNdmpeYDANBgkqhkiG9w0BAQsFADBP +MQswCQYDVQQGEwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0 +ZC4xGzAZBgNVBAMMEkhpUEtJIFJvb3QgQ0EgLSBHMTAeFw0xOTAyMjIwOTQ2MDRa +Fw0zNzEyMzExNTU5NTlaME8xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3 +YSBUZWxlY29tIENvLiwgTHRkLjEbMBkGA1UEAwwSSGlQS0kgUm9vdCBDQSAtIEcx +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA9B5/UnMyDHPkvRN0o9Qw +qNCuS9i233VHZvR85zkEHmpwINJaR3JnVfSl6J3VHiGh8Ge6zCFovkRTv4354twv +Vcg3Px+kwJyz5HdcoEb+d/oaoDjq7Zpy3iu9lFc6uux55199QmQ5eiY29yTw1S+6 +lZgRZq2XNdZ1AYDgr/SEYYwNHl98h5ZeQa/rh+r4XfEuiAU+TCK72h8q3VJGZDnz +Qs7ZngyzsHeXZJzA9KMuH5UHsBffMNsAGJZMoYFL3QRtU6M9/Aes1MU3guvklQgZ +KILSQjqj2FPseYlgSGDIcpJQ3AOPgz+yQlda22rpEZfdhSi8MEyr48KxRURHH+CK +FgeW0iEPU8DtqX7UTuybCeyvQqww1r/REEXgphaypcXTT3OUM3ECoWqj1jOXTyFj +HluP2cFeRXF3D4FdXyGarYPM+l7WjSNfGz1BryB1ZlpK9p/7qxj3ccC2HTHsOyDr +y+K49a6SsvfhhEvyovKTmiKe0xRvNlS9H15ZFblzqMF8b3ti6RZsR1pl8w4Rm0bZ +/W3c1pzAtH2lsN0/Vm+h+fbkEkj9Bn8SV7apI09bA8PgcSojt/ewsTu8mL3WmKgM +a/aOEmem8rJY5AIJEzypuxC00jBF8ez3ABHfZfjcK0NVvxaXxA/VLGGEqnKG/uY6 +fsI/fe78LxQ+5oXdUG+3Se0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNV +HQ4EFgQU8ncX+l6o/vY9cdVouslGDDjYr7AwDgYDVR0PAQH/BAQDAgGGMA0GCSqG +SIb3DQEBCwUAA4ICAQBQUfB13HAE4/+qddRxosuej6ip0691x1TPOhwEmSKsxBHi +7zNKpiMdDg1H2DfHb680f0+BazVP6XKlMeJ45/dOlBhbQH3PayFUhuaVevvGyuqc +SE5XCV0vrPSltJczWNWseanMX/mF+lLFjfiRFOs6DRfQUsJ748JzjkZ4Bjgs6Fza +ZsT0pPBWGTMpWmWSBUdGSquEwx4noR8RkpkndZMPvDY7l1ePJlsMu5wP1G4wB9Tc +XzZoZjmDlicmisjEOf6aIW/Vcobpf2Lll07QJNBAsNB1CI69aO4I1258EHBGG3zg +iLKecoaZAeO/n0kZtCW+VmWuF2PlHt/o/0elv+EmBYTksMCv5wiZqAxeJoBF1Pho +L5aPruJKHJwWDBNvOIf2u8g0X5IDUXlwpt/L9ZlNec1OvFefQ05rLisY+GpzjLrF +Ne85akEez3GoorKGB1s6yeHvP2UEgEcyRHCVTjFnanRbEEV16rCf0OY1/k6fi8wr +kkVbbiVghUbN0aqwdmaTd5a+g744tiROJgvM7XpWGuDpWsZkrUx6AEhEL7lAuxM+ +vhV4nYWBSipX3tUZQ9rbyltHhoMLP7YNdnhzeSJesYAfz77RP1YQmCuVh6EfnWQU +YDksswBVLuT1sw5XxJFBAJw/6KXf6vb/yPCtbVKoF6ubYfwSUTXkJf2vqmqGOQ== +-----END CERTIFICATE----- + +# Issuer: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R4 +# Subject: CN=GlobalSign O=GlobalSign OU=GlobalSign ECC Root CA - R4 +# Label: "GlobalSign ECC Root CA - R4" +# Serial: 159662223612894884239637590694 +# MD5 Fingerprint: 26:29:f8:6d:e1:88:bf:a2:65:7f:aa:c4:cd:0f:7f:fc +# SHA1 Fingerprint: 6b:a0:b0:98:e1:71:ef:5a:ad:fe:48:15:80:77:10:f4:bd:6f:0b:28 +# SHA256 Fingerprint: b0:85:d7:0b:96:4f:19:1a:73:e4:af:0d:54:ae:7a:0e:07:aa:fd:af:9b:71:dd:08:62:13:8a:b7:32:5a:24:a2 +-----BEGIN CERTIFICATE----- +MIIB3DCCAYOgAwIBAgINAgPlfvU/k/2lCSGypjAKBggqhkjOPQQDAjBQMSQwIgYD +VQQLExtHbG9iYWxTaWduIEVDQyBSb290IENBIC0gUjQxEzARBgNVBAoTCkdsb2Jh +bFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTIxMTEzMDAwMDAwWhcNMzgw +MTE5MDMxNDA3WjBQMSQwIgYDVQQLExtHbG9iYWxTaWduIEVDQyBSb290IENBIC0g +UjQxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wWTAT +BgcqhkjOPQIBBggqhkjOPQMBBwNCAAS4xnnTj2wlDp8uORkcA6SumuU5BwkWymOx +uYb4ilfBV85C+nOh92VC/x7BALJucw7/xyHlGKSq2XE/qNS5zowdo0IwQDAOBgNV +HQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVLB7rUW44kB/ ++wpu+74zyTyjhNUwCgYIKoZIzj0EAwIDRwAwRAIgIk90crlgr/HmnKAWBVBfw147 +bmF0774BxL4YSFlhgjICICadVGNA3jdgUM/I2O2dgq43mLyjj0xMqTQrbO/7lZsm +-----END CERTIFICATE----- + +# Issuer: CN=GTS Root R1 O=Google Trust Services LLC +# Subject: CN=GTS Root R1 O=Google Trust Services LLC +# Label: "GTS Root R1" +# Serial: 159662320309726417404178440727 +# MD5 Fingerprint: 05:fe:d0:bf:71:a8:a3:76:63:da:01:e0:d8:52:dc:40 +# SHA1 Fingerprint: e5:8c:1c:c4:91:3b:38:63:4b:e9:10:6e:e3:ad:8e:6b:9d:d9:81:4a +# SHA256 Fingerprint: d9:47:43:2a:bd:e7:b7:fa:90:fc:2e:6b:59:10:1b:12:80:e0:e1:c7:e4:e4:0f:a3:c6:88:7f:ff:57:a7:f4:cf +-----BEGIN CERTIFICATE----- +MIIFVzCCAz+gAwIBAgINAgPlk28xsBNJiGuiFzANBgkqhkiG9w0BAQwFADBHMQsw +CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU +MBIGA1UEAxMLR1RTIFJvb3QgUjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw +MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp +Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEBAQUA +A4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx9vaMf/vo +27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vXmX7w +Cl7raKb0xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7zUjw +TcLCeoiKu7rPWRnWr4+wB7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0Pfybl +qAj+lug8aJRT7oM6iCsVlgmy4HqMLnXWnOunVmSPlk9orj2XwoSPwLxAwAtcvfaH +szVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly4cpk9+aCEI3oncKKiPo4Zor8 +Y/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr06zqkUspzBmk +MiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOORc92 +wO1AK/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYWk70p +aDPvOmbsB4om3xPXV2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+DVrN +VjzRlwW5y0vtOUucxD/SVRNuJLDWcfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgFlQID +AQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E +FgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEMBQADggIBAJ+qQibb +C5u+/x6Wki4+omVKapi6Ist9wTrYggoGxval3sBOh2Z5ofmmWJyq+bXmYOfg6LEe +QkEzCzc9zolwFcq1JKjPa7XSQCGYzyI0zzvFIoTgxQ6KfF2I5DUkzps+GlQebtuy +h6f88/qBVRRiClmpIgUxPoLW7ttXNLwzldMXG+gnoot7TiYaelpkttGsN/H9oPM4 +7HLwEXWdyzRSjeZ2axfG34arJ45JK3VmgRAhpuo+9K4l/3wV3s6MJT/KYnAK9y8J +ZgfIPxz88NtFMN9iiMG1D53Dn0reWVlHxYciNuaCp+0KueIHoI17eko8cdLiA6Ef +MgfdG+RCzgwARWGAtQsgWSl4vflVy2PFPEz0tv/bal8xa5meLMFrUKTX5hgUvYU/ +Z6tGn6D/Qqc6f1zLXbBwHSs09dR2CQzreExZBfMzQsNhFRAbd03OIozUhfJFfbdT +6u9AWpQKXCBfTkBdYiJ23//OYb2MI3jSNwLgjt7RETeJ9r/tSQdirpLsQBqvFAnZ +0E6yove+7u7Y/9waLd64NnHi/Hm3lCXRSHNboTXns5lndcEZOitHTtNCjv0xyBZm +2tIMPNuzjsmhDYAPexZ3FL//2wmUspO8IFgV6dtxQ/PeEMMA3KgqlbbC1j+Qa3bb +bP6MvPJwNQzcmRk13NfIRmPVNnGuV/u3gm3c +-----END CERTIFICATE----- + +# Issuer: CN=GTS Root R2 O=Google Trust Services LLC +# Subject: CN=GTS Root R2 O=Google Trust Services LLC +# Label: "GTS Root R2" +# Serial: 159662449406622349769042896298 +# MD5 Fingerprint: 1e:39:c0:53:e6:1e:29:82:0b:ca:52:55:36:5d:57:dc +# SHA1 Fingerprint: 9a:44:49:76:32:db:de:fa:d0:bc:fb:5a:7b:17:bd:9e:56:09:24:94 +# SHA256 Fingerprint: 8d:25:cd:97:22:9d:bf:70:35:6b:da:4e:b3:cc:73:40:31:e2:4c:f0:0f:af:cf:d3:2d:c7:6e:b5:84:1c:7e:a8 +-----BEGIN CERTIFICATE----- +MIIFVzCCAz+gAwIBAgINAgPlrsWNBCUaqxElqjANBgkqhkiG9w0BAQwFADBHMQsw +CQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU +MBIGA1UEAxMLR1RTIFJvb3QgUjIwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw +MDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp +Y2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEBAQUA +A4ICDwAwggIKAoICAQDO3v2m++zsFDQ8BwZabFn3GTXd98GdVarTzTukk3LvCvpt +nfbwhYBboUhSnznFt+4orO/LdmgUud+tAWyZH8QiHZ/+cnfgLFuv5AS/T3KgGjSY +6Dlo7JUle3ah5mm5hRm9iYz+re026nO8/4Piy33B0s5Ks40FnotJk9/BW9BuXvAu +MC6C/Pq8tBcKSOWIm8Wba96wyrQD8Nr0kLhlZPdcTK3ofmZemde4wj7I0BOdre7k +RXuJVfeKH2JShBKzwkCX44ofR5GmdFrS+LFjKBC4swm4VndAoiaYecb+3yXuPuWg +f9RhD1FLPD+M2uFwdNjCaKH5wQzpoeJ/u1U8dgbuak7MkogwTZq9TwtImoS1mKPV ++3PBV2HdKFZ1E66HjucMUQkQdYhMvI35ezzUIkgfKtzra7tEscszcTJGr61K8Yzo +dDqs5xoic4DSMPclQsciOzsSrZYuxsN2B6ogtzVJV+mSSeh2FnIxZyuWfoqjx5RW +Ir9qS34BIbIjMt/kmkRtWVtd9QCgHJvGeJeNkP+byKq0rxFROV7Z+2et1VsRnTKa +G73VululycslaVNVJ1zgyjbLiGH7HrfQy+4W+9OmTN6SpdTi3/UGVN4unUu0kzCq +gc7dGtxRcw1PcOnlthYhGXmy5okLdWTK1au8CcEYof/UVKGFPP0UJAOyh9OktwID +AQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E +FgQUu//KjiOfT5nK2+JopqUVJxce2Q4wDQYJKoZIhvcNAQEMBQADggIBAB/Kzt3H +vqGf2SdMC9wXmBFqiN495nFWcrKeGk6c1SuYJF2ba3uwM4IJvd8lRuqYnrYb/oM8 +0mJhwQTtzuDFycgTE1XnqGOtjHsB/ncw4c5omwX4Eu55MaBBRTUoCnGkJE+M3DyC +B19m3H0Q/gxhswWV7uGugQ+o+MePTagjAiZrHYNSVc61LwDKgEDg4XSsYPWHgJ2u +NmSRXbBoGOqKYcl3qJfEycel/FVL8/B/uWU9J2jQzGv6U53hkRrJXRqWbTKH7QMg +yALOWr7Z6v2yTcQvG99fevX4i8buMTolUVVnjWQye+mew4K6Ki3pHrTgSAai/Gev +HyICc/sgCq+dVEuhzf9gR7A/Xe8bVr2XIZYtCtFenTgCR2y59PYjJbigapordwj6 +xLEokCZYCDzifqrXPW+6MYgKBesntaFJ7qBFVHvmJ2WZICGoo7z7GJa7Um8M7YNR +TOlZ4iBgxcJlkoKM8xAfDoqXvneCbT+PHV28SSe9zE8P4c52hgQjxcCMElv924Sg +JPFI/2R80L5cFtHvma3AH/vLrrw4IgYmZNralw4/KBVEqE8AyvCazM90arQ+POuV +7LXTWtiBmelDGDfrs7vRWGJB82bSj6p4lVQgw1oudCvV0b4YacCs1aTPObpRhANl +6WLAYv7YTVWW4tAR+kg0Eeye7QUd5MjWHYbL +-----END CERTIFICATE----- + +# Issuer: CN=GTS Root R3 O=Google Trust Services LLC +# Subject: CN=GTS Root R3 O=Google Trust Services LLC +# Label: "GTS Root R3" +# Serial: 159662495401136852707857743206 +# MD5 Fingerprint: 3e:e7:9d:58:02:94:46:51:94:e5:e0:22:4a:8b:e7:73 +# SHA1 Fingerprint: ed:e5:71:80:2b:c8:92:b9:5b:83:3c:d2:32:68:3f:09:cd:a0:1e:46 +# SHA256 Fingerprint: 34:d8:a7:3e:e2:08:d9:bc:db:0d:95:65:20:93:4b:4e:40:e6:94:82:59:6e:8b:6f:73:c8:42:6b:01:0a:6f:48 +-----BEGIN CERTIFICATE----- +MIICCTCCAY6gAwIBAgINAgPluILrIPglJ209ZjAKBggqhkjOPQQDAzBHMQswCQYD +VQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIG +A1UEAxMLR1RTIFJvb3QgUjMwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAw +WjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2Vz +IExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMwdjAQBgcqhkjOPQIBBgUrgQQAIgNi +AAQfTzOHMymKoYTey8chWEGJ6ladK0uFxh1MJ7x/JlFyb+Kf1qPKzEUURout736G +jOyxfi//qXGdGIRFBEFVbivqJn+7kAHjSxm65FSWRQmx1WyRRK2EE46ajA2ADDL2 +4CejQjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW +BBTB8Sa6oC2uhYHP0/EqEr24Cmf9vDAKBggqhkjOPQQDAwNpADBmAjEA9uEglRR7 +VKOQFhG/hMjqb2sXnh5GmCCbn9MN2azTL818+FsuVbu/3ZL3pAzcMeGiAjEA/Jdm +ZuVDFhOD3cffL74UOO0BzrEXGhF16b0DjyZ+hOXJYKaV11RZt+cRLInUue4X +-----END CERTIFICATE----- + +# Issuer: CN=GTS Root R4 O=Google Trust Services LLC +# Subject: CN=GTS Root R4 O=Google Trust Services LLC +# Label: "GTS Root R4" +# Serial: 159662532700760215368942768210 +# MD5 Fingerprint: 43:96:83:77:19:4d:76:b3:9d:65:52:e4:1d:22:a5:e8 +# SHA1 Fingerprint: 77:d3:03:67:b5:e0:0c:15:f6:0c:38:61:df:7c:e1:3b:92:46:4d:47 +# SHA256 Fingerprint: 34:9d:fa:40:58:c5:e2:63:12:3b:39:8a:e7:95:57:3c:4e:13:13:c8:3f:e6:8f:93:55:6c:d5:e8:03:1b:3c:7d +-----BEGIN CERTIFICATE----- +MIICCTCCAY6gAwIBAgINAgPlwGjvYxqccpBQUjAKBggqhkjOPQQDAzBHMQswCQYD +VQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIG +A1UEAxMLR1RTIFJvb3QgUjQwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAw +WjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2Vz +IExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQwdjAQBgcqhkjOPQIBBgUrgQQAIgNi +AATzdHOnaItgrkO4NcWBMHtLSZ37wWHO5t5GvWvVYRg1rkDdc/eJkTBa6zzuhXyi +QHY7qca4R9gq55KRanPpsXI5nymfopjTX15YhmUPoYRlBtHci8nHc8iMai/lxKvR +HYqjQjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW +BBSATNbrdP9JNqPV2Py1PsVq8JQdjDAKBggqhkjOPQQDAwNpADBmAjEA6ED/g94D +9J+uHXqnLrmvT/aDHQ4thQEd0dlq7A/Cr8deVl5c1RxYIigL9zC2L7F8AjEA8GE8 +p/SgguMh1YQdc4acLa/KNJvxn7kjNuK8YAOdgLOaVsjh4rsUecrNIdSUtUlD +-----END CERTIFICATE----- + +# Issuer: CN=Telia Root CA v2 O=Telia Finland Oyj +# Subject: CN=Telia Root CA v2 O=Telia Finland Oyj +# Label: "Telia Root CA v2" +# Serial: 7288924052977061235122729490515358 +# MD5 Fingerprint: 0e:8f:ac:aa:82:df:85:b1:f4:dc:10:1c:fc:99:d9:48 +# SHA1 Fingerprint: b9:99:cd:d1:73:50:8a:c4:47:05:08:9c:8c:88:fb:be:a0:2b:40:cd +# SHA256 Fingerprint: 24:2b:69:74:2f:cb:1e:5b:2a:bf:98:89:8b:94:57:21:87:54:4e:5b:4d:99:11:78:65:73:62:1f:6a:74:b8:2c +-----BEGIN CERTIFICATE----- +MIIFdDCCA1ygAwIBAgIPAWdfJ9b+euPkrL4JWwWeMA0GCSqGSIb3DQEBCwUAMEQx +CzAJBgNVBAYTAkZJMRowGAYDVQQKDBFUZWxpYSBGaW5sYW5kIE95ajEZMBcGA1UE +AwwQVGVsaWEgUm9vdCBDQSB2MjAeFw0xODExMjkxMTU1NTRaFw00MzExMjkxMTU1 +NTRaMEQxCzAJBgNVBAYTAkZJMRowGAYDVQQKDBFUZWxpYSBGaW5sYW5kIE95ajEZ +MBcGA1UEAwwQVGVsaWEgUm9vdCBDQSB2MjCCAiIwDQYJKoZIhvcNAQEBBQADggIP +ADCCAgoCggIBALLQPwe84nvQa5n44ndp586dpAO8gm2h/oFlH0wnrI4AuhZ76zBq +AMCzdGh+sq/H1WKzej9Qyow2RCRj0jbpDIX2Q3bVTKFgcmfiKDOlyzG4OiIjNLh9 +vVYiQJ3q9HsDrWj8soFPmNB06o3lfc1jw6P23pLCWBnglrvFxKk9pXSW/q/5iaq9 +lRdU2HhE8Qx3FZLgmEKnpNaqIJLNwaCzlrI6hEKNfdWV5Nbb6WLEWLN5xYzTNTOD +n3WhUidhOPFZPY5Q4L15POdslv5e2QJltI5c0BE0312/UqeBAMN/mUWZFdUXyApT +7GPzmX3MaRKGwhfwAZ6/hLzRUssbkmbOpFPlob/E2wnW5olWK8jjfN7j/4nlNW4o +6GwLI1GpJQXrSPjdscr6bAhR77cYbETKJuFzxokGgeWKrLDiKca5JLNrRBH0pUPC +TEPlcDaMtjNXepUugqD0XBCzYYP2AgWGLnwtbNwDRm41k9V6lS/eINhbfpSQBGq6 +WT0EBXWdN6IOLj3rwaRSg/7Qa9RmjtzG6RJOHSpXqhC8fF6CfaamyfItufUXJ63R +DolUK5X6wK0dmBR4M0KGCqlztft0DbcbMBnEWg4cJ7faGND/isgFuvGqHKI3t+ZI +pEYslOqodmJHixBTB0hXbOKSTbauBcvcwUpej6w9GU7C7WB1K9vBykLVAgMBAAGj +YzBhMB8GA1UdIwQYMBaAFHKs5DN5qkWH9v2sHZ7Wxy+G2CQ5MB0GA1UdDgQWBBRy +rOQzeapFh/b9rB2e1scvhtgkOTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw +AwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAoDtZpwmUPjaE0n4vOaWWl/oRrfxn83EJ +8rKJhGdEr7nv7ZbsnGTbMjBvZ5qsfl+yqwE2foH65IRe0qw24GtixX1LDoJt0nZi +0f6X+J8wfBj5tFJ3gh1229MdqfDBmgC9bXXYfef6xzijnHDoRnkDry5023X4blMM +A8iZGok1GTzTyVR8qPAs5m4HeW9q4ebqkYJpCh3DflminmtGFZhb069GHWLIzoBS +SRE/yQQSwxN8PzuKlts8oB4KtItUsiRnDe+Cy748fdHif64W1lZYudogsYMVoe+K +TTJvQS8TUoKU1xrBeKJR3Stwbbca+few4GeXVtt8YVMJAygCQMez2P2ccGrGKMOF +6eLtGpOg3kuYooQ+BXcBlj37tCAPnHICehIv1aO6UXivKitEZU61/Qrowc15h2Er +3oBXRb9n8ZuRXqWk7FlIEA04x7D6w0RtBPV4UBySllva9bguulvP5fBqnUsvWHMt +Ty3EHD70sz+rFQ47GUGKpMFXEmZxTPpT41frYpUJnlTd0cI8Vzy9OK2YZLe4A5pT +VmBds9hCG1xLEooc6+t9xnppxyd/pPiL8uSUZodL6ZQHCRJ5irLrdATczvREWeAW +ysUsWNc8e89ihmpQfTU2Zqf7N+cox9jQraVplI/owd8k+BsHMYeB2F326CjYSlKA +rBPuUBQemMc= +-----END CERTIFICATE----- + +# Issuer: CN=D-TRUST BR Root CA 1 2020 O=D-Trust GmbH +# Subject: CN=D-TRUST BR Root CA 1 2020 O=D-Trust GmbH +# Label: "D-TRUST BR Root CA 1 2020" +# Serial: 165870826978392376648679885835942448534 +# MD5 Fingerprint: b5:aa:4b:d5:ed:f7:e3:55:2e:8f:72:0a:f3:75:b8:ed +# SHA1 Fingerprint: 1f:5b:98:f0:e3:b5:f7:74:3c:ed:e6:b0:36:7d:32:cd:f4:09:41:67 +# SHA256 Fingerprint: e5:9a:aa:81:60:09:c2:2b:ff:5b:25:ba:d3:7d:f3:06:f0:49:79:7c:1f:81:d8:5a:b0:89:e6:57:bd:8f:00:44 +-----BEGIN CERTIFICATE----- +MIIC2zCCAmCgAwIBAgIQfMmPK4TX3+oPyWWa00tNljAKBggqhkjOPQQDAzBIMQsw +CQYDVQQGEwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlELVRS +VVNUIEJSIFJvb3QgQ0EgMSAyMDIwMB4XDTIwMDIxMTA5NDUwMFoXDTM1MDIxMTA5 +NDQ1OVowSDELMAkGA1UEBhMCREUxFTATBgNVBAoTDEQtVHJ1c3QgR21iSDEiMCAG +A1UEAxMZRC1UUlVTVCBCUiBSb290IENBIDEgMjAyMDB2MBAGByqGSM49AgEGBSuB +BAAiA2IABMbLxyjR+4T1mu9CFCDhQ2tuda38KwOE1HaTJddZO0Flax7mNCq7dPYS +zuht56vkPE4/RAiLzRZxy7+SmfSk1zxQVFKQhYN4lGdnoxwJGT11NIXe7WB9xwy0 +QVK5buXuQqOCAQ0wggEJMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFHOREKv/ +VbNafAkl1bK6CKBrqx9tMA4GA1UdDwEB/wQEAwIBBjCBxgYDVR0fBIG+MIG7MD6g +PKA6hjhodHRwOi8vY3JsLmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X2JyX3Jvb3Rf +Y2FfMV8yMDIwLmNybDB5oHegdYZzbGRhcDovL2RpcmVjdG9yeS5kLXRydXN0Lm5l +dC9DTj1ELVRSVVNUJTIwQlIlMjBSb290JTIwQ0ElMjAxJTIwMjAyMCxPPUQtVHJ1 +c3QlMjBHbWJILEM9REU/Y2VydGlmaWNhdGVyZXZvY2F0aW9ubGlzdDAKBggqhkjO +PQQDAwNpADBmAjEAlJAtE/rhY/hhY+ithXhUkZy4kzg+GkHaQBZTQgjKL47xPoFW +wKrY7RjEsK70PvomAjEA8yjixtsrmfu3Ubgko6SUeho/5jbiA1czijDLgsfWFBHV +dWNbFJWcHwHP2NVypw87 +-----END CERTIFICATE----- + +# Issuer: CN=D-TRUST EV Root CA 1 2020 O=D-Trust GmbH +# Subject: CN=D-TRUST EV Root CA 1 2020 O=D-Trust GmbH +# Label: "D-TRUST EV Root CA 1 2020" +# Serial: 126288379621884218666039612629459926992 +# MD5 Fingerprint: 8c:2d:9d:70:9f:48:99:11:06:11:fb:e9:cb:30:c0:6e +# SHA1 Fingerprint: 61:db:8c:21:59:69:03:90:d8:7c:9c:12:86:54:cf:9d:3d:f4:dd:07 +# SHA256 Fingerprint: 08:17:0d:1a:a3:64:53:90:1a:2f:95:92:45:e3:47:db:0c:8d:37:ab:aa:bc:56:b8:1a:a1:00:dc:95:89:70:db +-----BEGIN CERTIFICATE----- +MIIC2zCCAmCgAwIBAgIQXwJB13qHfEwDo6yWjfv/0DAKBggqhkjOPQQDAzBIMQsw +CQYDVQQGEwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlELVRS +VVNUIEVWIFJvb3QgQ0EgMSAyMDIwMB4XDTIwMDIxMTEwMDAwMFoXDTM1MDIxMTA5 +NTk1OVowSDELMAkGA1UEBhMCREUxFTATBgNVBAoTDEQtVHJ1c3QgR21iSDEiMCAG +A1UEAxMZRC1UUlVTVCBFViBSb290IENBIDEgMjAyMDB2MBAGByqGSM49AgEGBSuB +BAAiA2IABPEL3YZDIBnfl4XoIkqbz52Yv7QFJsnL46bSj8WeeHsxiamJrSc8ZRCC +/N/DnU7wMyPE0jL1HLDfMxddxfCxivnvubcUyilKwg+pf3VlSSowZ/Rk99Yad9rD +wpdhQntJraOCAQ0wggEJMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFH8QARY3 +OqQo5FD4pPfsazK2/umLMA4GA1UdDwEB/wQEAwIBBjCBxgYDVR0fBIG+MIG7MD6g +PKA6hjhodHRwOi8vY3JsLmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X2V2X3Jvb3Rf +Y2FfMV8yMDIwLmNybDB5oHegdYZzbGRhcDovL2RpcmVjdG9yeS5kLXRydXN0Lm5l +dC9DTj1ELVRSVVNUJTIwRVYlMjBSb290JTIwQ0ElMjAxJTIwMjAyMCxPPUQtVHJ1 +c3QlMjBHbWJILEM9REU/Y2VydGlmaWNhdGVyZXZvY2F0aW9ubGlzdDAKBggqhkjO +PQQDAwNpADBmAjEAyjzGKnXCXnViOTYAYFqLwZOZzNnbQTs7h5kXO9XMT8oi96CA +y/m0sRtW9XLS/BnRAjEAkfcwkz8QRitxpNA7RJvAKQIFskF3UfN5Wp6OFKBOQtJb +gfM0agPnIjhQW+0ZT0MW +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert TLS ECC P384 Root G5 O=DigiCert, Inc. +# Subject: CN=DigiCert TLS ECC P384 Root G5 O=DigiCert, Inc. +# Label: "DigiCert TLS ECC P384 Root G5" +# Serial: 13129116028163249804115411775095713523 +# MD5 Fingerprint: d3:71:04:6a:43:1c:db:a6:59:e1:a8:a3:aa:c5:71:ed +# SHA1 Fingerprint: 17:f3:de:5e:9f:0f:19:e9:8e:f6:1f:32:26:6e:20:c4:07:ae:30:ee +# SHA256 Fingerprint: 01:8e:13:f0:77:25:32:cf:80:9b:d1:b1:72:81:86:72:83:fc:48:c6:e1:3b:e9:c6:98:12:85:4a:49:0c:1b:05 +-----BEGIN CERTIFICATE----- +MIICGTCCAZ+gAwIBAgIQCeCTZaz32ci5PhwLBCou8zAKBggqhkjOPQQDAzBOMQsw +CQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJjAkBgNVBAMTHURp +Z2lDZXJ0IFRMUyBFQ0MgUDM4NCBSb290IEc1MB4XDTIxMDExNTAwMDAwMFoXDTQ2 +MDExNDIzNTk1OVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJ +bmMuMSYwJAYDVQQDEx1EaWdpQ2VydCBUTFMgRUNDIFAzODQgUm9vdCBHNTB2MBAG +ByqGSM49AgEGBSuBBAAiA2IABMFEoc8Rl1Ca3iOCNQfN0MsYndLxf3c1TzvdlHJS +7cI7+Oz6e2tYIOyZrsn8aLN1udsJ7MgT9U7GCh1mMEy7H0cKPGEQQil8pQgO4CLp +0zVozptjn4S1mU1YoI71VOeVyaNCMEAwHQYDVR0OBBYEFMFRRVBZqz7nLFr6ICIS +B4CIfBFqMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49 +BAMDA2gAMGUCMQCJao1H5+z8blUD2WdsJk6Dxv3J+ysTvLd6jLRl0mlpYxNjOyZQ +LgGheQaRnUi/wr4CMEfDFXuxoJGZSZOoPHzoRgaLLPIxAJSdYsiJvRmEFOml+wG4 +DXZDjC5Ty3zfDBeWUA== +-----END CERTIFICATE----- + +# Issuer: CN=DigiCert TLS RSA4096 Root G5 O=DigiCert, Inc. +# Subject: CN=DigiCert TLS RSA4096 Root G5 O=DigiCert, Inc. +# Label: "DigiCert TLS RSA4096 Root G5" +# Serial: 11930366277458970227240571539258396554 +# MD5 Fingerprint: ac:fe:f7:34:96:a9:f2:b3:b4:12:4b:e4:27:41:6f:e1 +# SHA1 Fingerprint: a7:88:49:dc:5d:7c:75:8c:8c:de:39:98:56:b3:aa:d0:b2:a5:71:35 +# SHA256 Fingerprint: 37:1a:00:dc:05:33:b3:72:1a:7e:eb:40:e8:41:9e:70:79:9d:2b:0a:0f:2c:1d:80:69:31:65:f7:ce:c4:ad:75 +-----BEGIN CERTIFICATE----- +MIIFZjCCA06gAwIBAgIQCPm0eKj6ftpqMzeJ3nzPijANBgkqhkiG9w0BAQwFADBN +MQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJTAjBgNVBAMT +HERpZ2lDZXJ0IFRMUyBSU0E0MDk2IFJvb3QgRzUwHhcNMjEwMTE1MDAwMDAwWhcN +NDYwMTE0MjM1OTU5WjBNMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQs +IEluYy4xJTAjBgNVBAMTHERpZ2lDZXJ0IFRMUyBSU0E0MDk2IFJvb3QgRzUwggIi +MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCz0PTJeRGd/fxmgefM1eS87IE+ +ajWOLrfn3q/5B03PMJ3qCQuZvWxX2hhKuHisOjmopkisLnLlvevxGs3npAOpPxG0 +2C+JFvuUAT27L/gTBaF4HI4o4EXgg/RZG5Wzrn4DReW+wkL+7vI8toUTmDKdFqgp +wgscONyfMXdcvyej/Cestyu9dJsXLfKB2l2w4SMXPohKEiPQ6s+d3gMXsUJKoBZM +pG2T6T867jp8nVid9E6P/DsjyG244gXazOvswzH016cpVIDPRFtMbzCe88zdH5RD +nU1/cHAN1DrRN/BsnZvAFJNY781BOHW8EwOVfH/jXOnVDdXifBBiqmvwPXbzP6Po +sMH976pXTayGpxi0KcEsDr9kvimM2AItzVwv8n/vFfQMFawKsPHTDU9qTXeXAaDx +Zre3zu/O7Oyldcqs4+Fj97ihBMi8ez9dLRYiVu1ISf6nL3kwJZu6ay0/nTvEF+cd +Lvvyz6b84xQslpghjLSR6Rlgg/IwKwZzUNWYOwbpx4oMYIwo+FKbbuH2TbsGJJvX +KyY//SovcfXWJL5/MZ4PbeiPT02jP/816t9JXkGPhvnxd3lLG7SjXi/7RgLQZhNe +XoVPzthwiHvOAbWWl9fNff2C+MIkwcoBOU+NosEUQB+cZtUMCUbW8tDRSHZWOkPL +tgoRObqME2wGtZ7P6wIDAQABo0IwQDAdBgNVHQ4EFgQUUTMc7TZArxfTJc1paPKv +TiM+s0EwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcN +AQEMBQADggIBAGCmr1tfV9qJ20tQqcQjNSH/0GEwhJG3PxDPJY7Jv0Y02cEhJhxw +GXIeo8mH/qlDZJY6yFMECrZBu8RHANmfGBg7sg7zNOok992vIGCukihfNudd5N7H +PNtQOa27PShNlnx2xlv0wdsUpasZYgcYQF+Xkdycx6u1UQ3maVNVzDl92sURVXLF +O4uJ+DQtpBflF+aZfTCIITfNMBc9uPK8qHWgQ9w+iUuQrm0D4ByjoJYJu32jtyoQ +REtGBzRj7TG5BO6jm5qu5jF49OokYTurWGT/u4cnYiWB39yhL/btp/96j1EuMPik +AdKFOV8BmZZvWltwGUb+hmA+rYAQCd05JS9Yf7vSdPD3Rh9GOUrYU9DzLjtxpdRv +/PNn5AeP3SYZ4Y1b+qOTEZvpyDrDVWiakuFSdjjo4bq9+0/V77PnSIMx8IIh47a+ +p6tv75/fTM8BuGJqIz3nCU2AG3swpMPdB380vqQmsvZB6Akd4yCYqjdP//fx4ilw +MUc/dNAUFvohigLVigmUdy7yWSiLfFCSCmZ4OIN1xLVaqBHG5cGdZlXPU8Sv13WF +qUITVuwhd4GTWgzqltlJyqEI8pc7bZsEGCREjnwB8twl2F6GmrE52/WRMmrRpnCK +ovfepEWFJqgejF0pW8hL2JpqA15w8oVPbEtoL8pU9ozaMv7Da4M/OMZ+ +-----END CERTIFICATE----- + +# Issuer: CN=Certainly Root R1 O=Certainly +# Subject: CN=Certainly Root R1 O=Certainly +# Label: "Certainly Root R1" +# Serial: 188833316161142517227353805653483829216 +# MD5 Fingerprint: 07:70:d4:3e:82:87:a0:fa:33:36:13:f4:fa:33:e7:12 +# SHA1 Fingerprint: a0:50:ee:0f:28:71:f4:27:b2:12:6d:6f:50:96:25:ba:cc:86:42:af +# SHA256 Fingerprint: 77:b8:2c:d8:64:4c:43:05:f7:ac:c5:cb:15:6b:45:67:50:04:03:3d:51:c6:0c:62:02:a8:e0:c3:34:67:d3:a0 +-----BEGIN CERTIFICATE----- +MIIFRzCCAy+gAwIBAgIRAI4P+UuQcWhlM1T01EQ5t+AwDQYJKoZIhvcNAQELBQAw +PTELMAkGA1UEBhMCVVMxEjAQBgNVBAoTCUNlcnRhaW5seTEaMBgGA1UEAxMRQ2Vy +dGFpbmx5IFJvb3QgUjEwHhcNMjEwNDAxMDAwMDAwWhcNNDYwNDAxMDAwMDAwWjA9 +MQswCQYDVQQGEwJVUzESMBAGA1UEChMJQ2VydGFpbmx5MRowGAYDVQQDExFDZXJ0 +YWlubHkgUm9vdCBSMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANA2 +1B/q3avk0bbm+yLA3RMNansiExyXPGhjZjKcA7WNpIGD2ngwEc/csiu+kr+O5MQT +vqRoTNoCaBZ0vrLdBORrKt03H2As2/X3oXyVtwxwhi7xOu9S98zTm/mLvg7fMbed +aFySpvXl8wo0tf97ouSHocavFwDvA5HtqRxOcT3Si2yJ9HiG5mpJoM610rCrm/b0 +1C7jcvk2xusVtyWMOvwlDbMicyF0yEqWYZL1LwsYpfSt4u5BvQF5+paMjRcCMLT5 +r3gajLQ2EBAHBXDQ9DGQilHFhiZ5shGIXsXwClTNSaa/ApzSRKft43jvRl5tcdF5 +cBxGX1HpyTfcX35pe0HfNEXgO4T0oYoKNp43zGJS4YkNKPl6I7ENPT2a/Z2B7yyQ +wHtETrtJ4A5KVpK8y7XdeReJkd5hiXSSqOMyhb5OhaRLWcsrxXiOcVTQAjeZjOVJ +6uBUcqQRBi8LjMFbvrWhsFNunLhgkR9Za/kt9JQKl7XsxXYDVBtlUrpMklZRNaBA +2CnbrlJ2Oy0wQJuK0EJWtLeIAaSHO1OWzaMWj/Nmqhexx2DgwUMFDO6bW2BvBlyH +Wyf5QBGenDPBt+U1VwV/J84XIIwc/PH72jEpSe31C4SnT8H2TsIonPru4K8H+zMR +eiFPCyEQtkA6qyI6BJyLm4SGcprSp6XEtHWRqSsjAgMBAAGjQjBAMA4GA1UdDwEB +/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTgqj8ljZ9EXME66C6u +d0yEPmcM9DANBgkqhkiG9w0BAQsFAAOCAgEAuVevuBLaV4OPaAszHQNTVfSVcOQr +PbA56/qJYv331hgELyE03fFo8NWWWt7CgKPBjcZq91l3rhVkz1t5BXdm6ozTaw3d +8VkswTOlMIAVRQdFGjEitpIAq5lNOo93r6kiyi9jyhXWx8bwPWz8HA2YEGGeEaIi +1wrykXprOQ4vMMM2SZ/g6Q8CRFA3lFV96p/2O7qUpUzpvD5RtOjKkjZUbVwlKNrd +rRT90+7iIgXr0PK3aBLXWopBGsaSpVo7Y0VPv+E6dyIvXL9G+VoDhRNCX8reU9di +taY1BMJH/5n9hN9czulegChB8n3nHpDYT3Y+gjwN/KUD+nsa2UUeYNrEjvn8K8l7 +lcUq/6qJ34IxD3L/DCfXCh5WAFAeDJDBlrXYFIW7pw0WwfgHJBu6haEaBQmAupVj +yTrsJZ9/nbqkRxWbRHDxakvWOF5D8xh+UG7pWijmZeZ3Gzr9Hb4DJqPb1OG7fpYn +Kx3upPvaJVQTA945xsMfTZDsjxtK0hzthZU4UHlG1sGQUDGpXJpuHfUzVounmdLy +yCwzk5Iwx06MZTMQZBf9JBeW0Y3COmor6xOLRPIh80oat3df1+2IpHLlOR+Vnb5n +wXARPbv0+Em34yaXOp/SX3z7wJl8OSngex2/DaeP0ik0biQVy96QXr8axGbqwua6 +OV+KmalBWQewLK8= +-----END CERTIFICATE----- + +# Issuer: CN=Certainly Root E1 O=Certainly +# Subject: CN=Certainly Root E1 O=Certainly +# Label: "Certainly Root E1" +# Serial: 8168531406727139161245376702891150584 +# MD5 Fingerprint: 0a:9e:ca:cd:3e:52:50:c6:36:f3:4b:a3:ed:a7:53:e9 +# SHA1 Fingerprint: f9:e1:6d:dc:01:89:cf:d5:82:45:63:3e:c5:37:7d:c2:eb:93:6f:2b +# SHA256 Fingerprint: b4:58:5f:22:e4:ac:75:6a:4e:86:12:a1:36:1c:5d:9d:03:1a:93:fd:84:fe:bb:77:8f:a3:06:8b:0f:c4:2d:c2 +-----BEGIN CERTIFICATE----- +MIIB9zCCAX2gAwIBAgIQBiUzsUcDMydc+Y2aub/M+DAKBggqhkjOPQQDAzA9MQsw +CQYDVQQGEwJVUzESMBAGA1UEChMJQ2VydGFpbmx5MRowGAYDVQQDExFDZXJ0YWlu +bHkgUm9vdCBFMTAeFw0yMTA0MDEwMDAwMDBaFw00NjA0MDEwMDAwMDBaMD0xCzAJ +BgNVBAYTAlVTMRIwEAYDVQQKEwlDZXJ0YWlubHkxGjAYBgNVBAMTEUNlcnRhaW5s +eSBSb290IEUxMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE3m/4fxzf7flHh4axpMCK ++IKXgOqPyEpeKn2IaKcBYhSRJHpcnqMXfYqGITQYUBsQ3tA3SybHGWCA6TS9YBk2 +QNYphwk8kXr2vBMj3VlOBF7PyAIcGFPBMdjaIOlEjeR2o0IwQDAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU8ygYy2R17ikq6+2uI1g4 +hevIIgcwCgYIKoZIzj0EAwMDaAAwZQIxALGOWiDDshliTd6wT99u0nCK8Z9+aozm +ut6Dacpps6kFtZaSF4fC0urQe87YQVt8rgIwRt7qy12a7DLCZRawTDBcMPPaTnOG +BtjOiQRINzf43TNRnXCve1XYAS59BWQOhriR +-----END CERTIFICATE----- + +# Issuer: CN=Security Communication RootCA3 O=SECOM Trust Systems CO.,LTD. +# Subject: CN=Security Communication RootCA3 O=SECOM Trust Systems CO.,LTD. +# Label: "Security Communication RootCA3" +# Serial: 16247922307909811815 +# MD5 Fingerprint: 1c:9a:16:ff:9e:5c:e0:4d:8a:14:01:f4:35:5d:29:26 +# SHA1 Fingerprint: c3:03:c8:22:74:92:e5:61:a2:9c:5f:79:91:2b:1e:44:13:91:30:3a +# SHA256 Fingerprint: 24:a5:5c:2a:b0:51:44:2d:06:17:76:65:41:23:9a:4a:d0:32:d7:c5:51:75:aa:34:ff:de:2f:bc:4f:5c:52:94 +-----BEGIN CERTIFICATE----- +MIIFfzCCA2egAwIBAgIJAOF8N0D9G/5nMA0GCSqGSIb3DQEBDAUAMF0xCzAJBgNV +BAYTAkpQMSUwIwYDVQQKExxTRUNPTSBUcnVzdCBTeXN0ZW1zIENPLixMVEQuMScw +JQYDVQQDEx5TZWN1cml0eSBDb21tdW5pY2F0aW9uIFJvb3RDQTMwHhcNMTYwNjE2 +MDYxNzE2WhcNMzgwMTE4MDYxNzE2WjBdMQswCQYDVQQGEwJKUDElMCMGA1UEChMc +U0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UEAxMeU2VjdXJpdHkg +Q29tbXVuaWNhdGlvbiBSb290Q0EzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC +CgKCAgEA48lySfcw3gl8qUCBWNO0Ot26YQ+TUG5pPDXC7ltzkBtnTCHsXzW7OT4r +CmDvu20rhvtxosis5FaU+cmvsXLUIKx00rgVrVH+hXShuRD+BYD5UpOzQD11EKzA +lrenfna84xtSGc4RHwsENPXY9Wk8d/Nk9A2qhd7gCVAEF5aEt8iKvE1y/By7z/MG +TfmfZPd+pmaGNXHIEYBMwXFAWB6+oHP2/D5Q4eAvJj1+XCO1eXDe+uDRpdYMQXF7 +9+qMHIjH7Iv10S9VlkZ8WjtYO/u62C21Jdp6Ts9EriGmnpjKIG58u4iFW/vAEGK7 +8vknR+/RiTlDxN/e4UG/VHMgly1s2vPUB6PmudhvrvyMGS7TZ2crldtYXLVqAvO4 +g160a75BflcJdURQVc1aEWEhCmHCqYj9E7wtiS/NYeCVvsq1e+F7NGcLH7YMx3we +GVPKp7FKFSBWFHA9K4IsD50VHUeAR/94mQ4xr28+j+2GaR57GIgUssL8gjMunEst ++3A7caoreyYn8xrC3PsXuKHqy6C0rtOUfnrQq8PsOC0RLoi/1D+tEjtCrI8Cbn3M +0V9hvqG8OmpI6iZVIhZdXw3/JzOfGAN0iltSIEdrRU0id4xVJ/CvHozJgyJUt5rQ +T9nO/NkuHJYosQLTA70lUhw0Zk8jq/R3gpYd0VcwCBEF/VfR2ccCAwEAAaNCMEAw +HQYDVR0OBBYEFGQUfPxYchamCik0FW8qy7z8r6irMA4GA1UdDwEB/wQEAwIBBjAP +BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBDAUAA4ICAQDcAiMI4u8hOscNtybS +YpOnpSNyByCCYN8Y11StaSWSntkUz5m5UoHPrmyKO1o5yGwBQ8IibQLwYs1OY0PA +FNr0Y/Dq9HHuTofjcan0yVflLl8cebsjqodEV+m9NU1Bu0soo5iyG9kLFwfl9+qd +9XbXv8S2gVj/yP9kaWJ5rW4OH3/uHWnlt3Jxs/6lATWUVCvAUm2PVcTJ0rjLyjQI +UYWg9by0F1jqClx6vWPGOi//lkkZhOpn2ASxYfQAW0q3nHE3GYV5v4GwxxMOdnE+ +OoAGrgYWp421wsTL/0ClXI2lyTrtcoHKXJg80jQDdwj98ClZXSEIx2C/pHF7uNke +gr4Jr2VvKKu/S7XuPghHJ6APbw+LP6yVGPO5DtxnVW5inkYO0QR4ynKudtml+LLf +iAlhi+8kTtFZP1rUPcmTPCtk9YENFpb3ksP+MW/oKjJ0DvRMmEoYDjBU1cXrvMUV +nuiZIesnKwkK2/HmcBhWuwzkvvnoEKQTkrgc4NtnHVMDpCKn3F2SEDzq//wbEBrD +2NCcnWXL0CsnMQMeNuE9dnUM/0Umud1RvCPHX9jYhxBAEg09ODfnRDwYwFMJZI// +1ZqmfHAuc1Uh6N//g7kdPjIe1qZ9LPFm6Vwdp6POXiUyK+OVrCoHzrQoeIY8Laad +TdJ0MN1kURXbg4NR16/9M51NZg== +-----END CERTIFICATE----- + +# Issuer: CN=Security Communication ECC RootCA1 O=SECOM Trust Systems CO.,LTD. +# Subject: CN=Security Communication ECC RootCA1 O=SECOM Trust Systems CO.,LTD. +# Label: "Security Communication ECC RootCA1" +# Serial: 15446673492073852651 +# MD5 Fingerprint: 7e:43:b0:92:68:ec:05:43:4c:98:ab:5d:35:2e:7e:86 +# SHA1 Fingerprint: b8:0e:26:a9:bf:d2:b2:3b:c0:ef:46:c9:ba:c7:bb:f6:1d:0d:41:41 +# SHA256 Fingerprint: e7:4f:bd:a5:5b:d5:64:c4:73:a3:6b:44:1a:a7:99:c8:a6:8e:07:74:40:e8:28:8b:9f:a1:e5:0e:4b:ba:ca:11 +-----BEGIN CERTIFICATE----- +MIICODCCAb6gAwIBAgIJANZdm7N4gS7rMAoGCCqGSM49BAMDMGExCzAJBgNVBAYT +AkpQMSUwIwYDVQQKExxTRUNPTSBUcnVzdCBTeXN0ZW1zIENPLixMVEQuMSswKQYD +VQQDEyJTZWN1cml0eSBDb21tdW5pY2F0aW9uIEVDQyBSb290Q0ExMB4XDTE2MDYx +NjA1MTUyOFoXDTM4MDExODA1MTUyOFowYTELMAkGA1UEBhMCSlAxJTAjBgNVBAoT +HFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xKzApBgNVBAMTIlNlY3VyaXR5 +IENvbW11bmljYXRpb24gRUNDIFJvb3RDQTEwdjAQBgcqhkjOPQIBBgUrgQQAIgNi +AASkpW9gAwPDvTH00xecK4R1rOX9PVdu12O/5gSJko6BnOPpR27KkBLIE+Cnnfdl +dB9sELLo5OnvbYUymUSxXv3MdhDYW72ixvnWQuRXdtyQwjWpS4g8EkdtXP9JTxpK +ULGjQjBAMB0GA1UdDgQWBBSGHOf+LaVKiwj+KBH6vqNm+GBZLzAOBgNVHQ8BAf8E +BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjAVXUI9/Lbu +9zuxNuie9sRGKEkz0FhDKmMpzE2xtHqiuQ04pV1IKv3LsnNdo4gIxwwCMQDAqy0O +be0YottT6SXbVQjgUMzfRGEWgqtJsLKB7HOHeLRMsmIbEvoWTSVLY70eN9k= +-----END CERTIFICATE----- + +# Issuer: CN=BJCA Global Root CA1 O=BEIJING CERTIFICATE AUTHORITY +# Subject: CN=BJCA Global Root CA1 O=BEIJING CERTIFICATE AUTHORITY +# Label: "BJCA Global Root CA1" +# Serial: 113562791157148395269083148143378328608 +# MD5 Fingerprint: 42:32:99:76:43:33:36:24:35:07:82:9b:28:f9:d0:90 +# SHA1 Fingerprint: d5:ec:8d:7b:4c:ba:79:f4:e7:e8:cb:9d:6b:ae:77:83:10:03:21:6a +# SHA256 Fingerprint: f3:89:6f:88:fe:7c:0a:88:27:66:a7:fa:6a:d2:74:9f:b5:7a:7f:3e:98:fb:76:9c:1f:a7:b0:9c:2c:44:d5:ae +-----BEGIN CERTIFICATE----- +MIIFdDCCA1ygAwIBAgIQVW9l47TZkGobCdFsPsBsIDANBgkqhkiG9w0BAQsFADBU +MQswCQYDVQQGEwJDTjEmMCQGA1UECgwdQkVJSklORyBDRVJUSUZJQ0FURSBBVVRI +T1JJVFkxHTAbBgNVBAMMFEJKQ0EgR2xvYmFsIFJvb3QgQ0ExMB4XDTE5MTIxOTAz +MTYxN1oXDTQ0MTIxMjAzMTYxN1owVDELMAkGA1UEBhMCQ04xJjAkBgNVBAoMHUJF +SUpJTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZMR0wGwYDVQQDDBRCSkNBIEdsb2Jh +bCBSb290IENBMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAPFmCL3Z +xRVhy4QEQaVpN3cdwbB7+sN3SJATcmTRuHyQNZ0YeYjjlwE8R4HyDqKYDZ4/N+AZ +spDyRhySsTphzvq3Rp4Dhtczbu33RYx2N95ulpH3134rhxfVizXuhJFyV9xgw8O5 +58dnJCNPYwpj9mZ9S1WnP3hkSWkSl+BMDdMJoDIwOvqfwPKcxRIqLhy1BDPapDgR +at7GGPZHOiJBhyL8xIkoVNiMpTAK+BcWyqw3/XmnkRd4OJmtWO2y3syJfQOcs4ll +5+M7sSKGjwZteAf9kRJ/sGsciQ35uMt0WwfCyPQ10WRjeulumijWML3mG90Vr4Tq +nMfK9Q7q8l0ph49pczm+LiRvRSGsxdRpJQaDrXpIhRMsDQa4bHlW/KNnMoH1V6XK +V0Jp6VwkYe/iMBhORJhVb3rCk9gZtt58R4oRTklH2yiUAguUSiz5EtBP6DF+bHq/ +pj+bOT0CFqMYs2esWz8sgytnOYFcuX6U1WTdno9uruh8W7TXakdI136z1C2OVnZO +z2nxbkRs1CTqjSShGL+9V/6pmTW12xB3uD1IutbB5/EjPtffhZ0nPNRAvQoMvfXn +jSXWgXSHRtQpdaJCbPdzied9v3pKH9MiyRVVz99vfFXQpIsHETdfg6YmV6YBW37+ +WGgHqel62bno/1Afq8K0wM7o6v0PvY1NuLxxAgMBAAGjQjBAMB0GA1UdDgQWBBTF +7+3M2I0hxkjk49cULqcWk+WYATAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE +AwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAUoKsITQfI/Ki2Pm4rzc2IInRNwPWaZ+4 +YRC6ojGYWUfo0Q0lHhVBDOAqVdVXUsv45Mdpox1NcQJeXyFFYEhcCY5JEMEE3Kli +awLwQ8hOnThJdMkycFRtwUf8jrQ2ntScvd0g1lPJGKm1Vrl2i5VnZu69mP6u775u ++2D2/VnGKhs/I0qUJDAnyIm860Qkmss9vk/Ves6OF8tiwdneHg56/0OGNFK8YT88 +X7vZdrRTvJez/opMEi4r89fO4aL/3Xtw+zuhTaRjAv04l5U/BXCga99igUOLtFkN +SoxUnMW7gZ/NfaXvCyUeOiDbHPwfmGcCCtRzRBPbUYQaVQNW4AB+dAb/OMRyHdOo +P2gxXdMJxy6MW2Pg6Nwe0uxhHvLe5e/2mXZgLR6UcnHGCyoyx5JO1UbXHfmpGQrI ++pXObSOYqgs4rZpWDW+N8TEAiMEXnM0ZNjX+VVOg4DwzX5Ze4jLp3zO7Bkqp2IRz +znfSxqxx4VyjHQy7Ct9f4qNx2No3WqB4K/TUfet27fJhcKVlmtOJNBir+3I+17Q9 +eVzYH6Eze9mCUAyTF6ps3MKCuwJXNq+YJyo5UOGwifUll35HaBC07HPKs5fRJNz2 +YqAo07WjuGS3iGJCz51TzZm+ZGiPTx4SSPfSKcOYKMryMguTjClPPGAyzQWWYezy +r/6zcCwupvI= +-----END CERTIFICATE----- + +# Issuer: CN=BJCA Global Root CA2 O=BEIJING CERTIFICATE AUTHORITY +# Subject: CN=BJCA Global Root CA2 O=BEIJING CERTIFICATE AUTHORITY +# Label: "BJCA Global Root CA2" +# Serial: 58605626836079930195615843123109055211 +# MD5 Fingerprint: 5e:0a:f6:47:5f:a6:14:e8:11:01:95:3f:4d:01:eb:3c +# SHA1 Fingerprint: f4:27:86:eb:6e:b8:6d:88:31:67:02:fb:ba:66:a4:53:00:aa:7a:a6 +# SHA256 Fingerprint: 57:4d:f6:93:1e:27:80:39:66:7b:72:0a:fd:c1:60:0f:c2:7e:b6:6d:d3:09:29:79:fb:73:85:64:87:21:28:82 +-----BEGIN CERTIFICATE----- +MIICJTCCAaugAwIBAgIQLBcIfWQqwP6FGFkGz7RK6zAKBggqhkjOPQQDAzBUMQsw +CQYDVQQGEwJDTjEmMCQGA1UECgwdQkVJSklORyBDRVJUSUZJQ0FURSBBVVRIT1JJ +VFkxHTAbBgNVBAMMFEJKQ0EgR2xvYmFsIFJvb3QgQ0EyMB4XDTE5MTIxOTAzMTgy +MVoXDTQ0MTIxMjAzMTgyMVowVDELMAkGA1UEBhMCQ04xJjAkBgNVBAoMHUJFSUpJ +TkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZMR0wGwYDVQQDDBRCSkNBIEdsb2JhbCBS +b290IENBMjB2MBAGByqGSM49AgEGBSuBBAAiA2IABJ3LgJGNU2e1uVCxA/jlSR9B +IgmwUVJY1is0j8USRhTFiy8shP8sbqjV8QnjAyEUxEM9fMEsxEtqSs3ph+B99iK+ ++kpRuDCK/eHeGBIK9ke35xe/J4rUQUyWPGCWwf0VHKNCMEAwHQYDVR0OBBYEFNJK +sVF/BvDRgh9Obl+rg/xI1LCRMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD +AgEGMAoGCCqGSM49BAMDA2gAMGUCMBq8W9f+qdJUDkpd0m2xQNz0Q9XSSpkZElaA +94M04TVOSG0ED1cxMDAtsaqdAzjbBgIxAMvMh1PLet8gUXOQwKhbYdDFUDn9hf7B +43j4ptZLvZuHjw/l1lOWqzzIQNph91Oj9w== +-----END CERTIFICATE----- + +# Issuer: CN=Sectigo Public Server Authentication Root E46 O=Sectigo Limited +# Subject: CN=Sectigo Public Server Authentication Root E46 O=Sectigo Limited +# Label: "Sectigo Public Server Authentication Root E46" +# Serial: 88989738453351742415770396670917916916 +# MD5 Fingerprint: 28:23:f8:b2:98:5c:37:16:3b:3e:46:13:4e:b0:b3:01 +# SHA1 Fingerprint: ec:8a:39:6c:40:f0:2e:bc:42:75:d4:9f:ab:1c:1a:5b:67:be:d2:9a +# SHA256 Fingerprint: c9:0f:26:f0:fb:1b:40:18:b2:22:27:51:9b:5c:a2:b5:3e:2c:a5:b3:be:5c:f1:8e:fe:1b:ef:47:38:0c:53:83 +-----BEGIN CERTIFICATE----- +MIICOjCCAcGgAwIBAgIQQvLM2htpN0RfFf51KBC49DAKBggqhkjOPQQDAzBfMQsw +CQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1T +ZWN0aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBFNDYwHhcN +MjEwMzIyMDAwMDAwWhcNNDYwMzIxMjM1OTU5WjBfMQswCQYDVQQGEwJHQjEYMBYG +A1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1TZWN0aWdvIFB1YmxpYyBT +ZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBFNDYwdjAQBgcqhkjOPQIBBgUrgQQA +IgNiAAR2+pmpbiDt+dd34wc7qNs9Xzjoq1WmVk/WSOrsfy2qw7LFeeyZYX8QeccC +WvkEN/U0NSt3zn8gj1KjAIns1aeibVvjS5KToID1AZTc8GgHHs3u/iVStSBDHBv+ +6xnOQ6OjQjBAMB0GA1UdDgQWBBTRItpMWfFLXyY4qp3W7usNw/upYTAOBgNVHQ8B +Af8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNnADBkAjAn7qRa +qCG76UeXlImldCBteU/IvZNeWBj7LRoAasm4PdCkT0RHlAFWovgzJQxC36oCMB3q +4S6ILuH5px0CMk7yn2xVdOOurvulGu7t0vzCAxHrRVxgED1cf5kDW21USAGKcw== +-----END CERTIFICATE----- + +# Issuer: CN=Sectigo Public Server Authentication Root R46 O=Sectigo Limited +# Subject: CN=Sectigo Public Server Authentication Root R46 O=Sectigo Limited +# Label: "Sectigo Public Server Authentication Root R46" +# Serial: 156256931880233212765902055439220583700 +# MD5 Fingerprint: 32:10:09:52:00:d5:7e:6c:43:df:15:c0:b1:16:93:e5 +# SHA1 Fingerprint: ad:98:f9:f3:e4:7d:75:3b:65:d4:82:b3:a4:52:17:bb:6e:f5:e4:38 +# SHA256 Fingerprint: 7b:b6:47:a6:2a:ee:ac:88:bf:25:7a:a5:22:d0:1f:fe:a3:95:e0:ab:45:c7:3f:93:f6:56:54:ec:38:f2:5a:06 +-----BEGIN CERTIFICATE----- +MIIFijCCA3KgAwIBAgIQdY39i658BwD6qSWn4cetFDANBgkqhkiG9w0BAQwFADBf +MQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQD +Ey1TZWN0aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBSNDYw +HhcNMjEwMzIyMDAwMDAwWhcNNDYwMzIxMjM1OTU5WjBfMQswCQYDVQQGEwJHQjEY +MBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1TZWN0aWdvIFB1Ymxp +YyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBSNDYwggIiMA0GCSqGSIb3DQEB +AQUAA4ICDwAwggIKAoICAQCTvtU2UnXYASOgHEdCSe5jtrch/cSV1UgrJnwUUxDa +ef0rty2k1Cz66jLdScK5vQ9IPXtamFSvnl0xdE8H/FAh3aTPaE8bEmNtJZlMKpnz +SDBh+oF8HqcIStw+KxwfGExxqjWMrfhu6DtK2eWUAtaJhBOqbchPM8xQljeSM9xf +iOefVNlI8JhD1mb9nxc4Q8UBUQvX4yMPFF1bFOdLvt30yNoDN9HWOaEhUTCDsG3X +ME6WW5HwcCSrv0WBZEMNvSE6Lzzpng3LILVCJ8zab5vuZDCQOc2TZYEhMbUjUDM3 +IuM47fgxMMxF/mL50V0yeUKH32rMVhlATc6qu/m1dkmU8Sf4kaWD5QazYw6A3OAS +VYCmO2a0OYctyPDQ0RTp5A1NDvZdV3LFOxxHVp3i1fuBYYzMTYCQNFu31xR13NgE +SJ/AwSiItOkcyqex8Va3e0lMWeUgFaiEAin6OJRpmkkGj80feRQXEgyDet4fsZfu ++Zd4KKTIRJLpfSYFplhym3kT2BFfrsU4YjRosoYwjviQYZ4ybPUHNs2iTG7sijbt +8uaZFURww3y8nDnAtOFr94MlI1fZEoDlSfB1D++N6xybVCi0ITz8fAr/73trdf+L +HaAZBav6+CuBQug4urv7qv094PPK306Xlynt8xhW6aWWrL3DkJiy4Pmi1KZHQ3xt +zwIDAQABo0IwQDAdBgNVHQ4EFgQUVnNYZJX5khqwEioEYnmhQBWIIUkwDgYDVR0P +AQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAC9c +mTz8Bl6MlC5w6tIyMY208FHVvArzZJ8HXtXBc2hkeqK5Duj5XYUtqDdFqij0lgVQ +YKlJfp/imTYpE0RHap1VIDzYm/EDMrraQKFz6oOht0SmDpkBm+S8f74TlH7Kph52 +gDY9hAaLMyZlbcp+nv4fjFg4exqDsQ+8FxG75gbMY/qB8oFM2gsQa6H61SilzwZA +Fv97fRheORKkU55+MkIQpiGRqRxOF3yEvJ+M0ejf5lG5Nkc/kLnHvALcWxxPDkjB +JYOcCj+esQMzEhonrPcibCTRAUH4WAP+JWgiH5paPHxsnnVI84HxZmduTILA7rpX +DhjvLpr3Etiga+kFpaHpaPi8TD8SHkXoUsCjvxInebnMMTzD9joiFgOgyY9mpFui +TdaBJQbpdqQACj7LzTWb4OE4y2BThihCQRxEV+ioratF4yUQvNs+ZUH7G6aXD+u5 +dHn5HrwdVw1Hr8Mvn4dGp+smWg9WY7ViYG4A++MnESLn/pmPNPW56MORcr3Ywx65 +LvKRRFHQV80MNNVIIb/bE/FmJUNS0nAiNs2fxBx1IK1jcmMGDw4nztJqDby1ORrp +0XZ60Vzk50lJLVU3aPAaOpg+VBeHVOmmJ1CJeyAvP/+/oYtKR5j/K3tJPsMpRmAY +QqszKbrAKbkTidOIijlBO8n9pu0f9GBj39ItVQGL +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com TLS RSA Root CA 2022 O=SSL Corporation +# Subject: CN=SSL.com TLS RSA Root CA 2022 O=SSL Corporation +# Label: "SSL.com TLS RSA Root CA 2022" +# Serial: 148535279242832292258835760425842727825 +# MD5 Fingerprint: d8:4e:c6:59:30:d8:fe:a0:d6:7a:5a:2c:2c:69:78:da +# SHA1 Fingerprint: ec:2c:83:40:72:af:26:95:10:ff:0e:f2:03:ee:31:70:f6:78:9d:ca +# SHA256 Fingerprint: 8f:af:7d:2e:2c:b4:70:9b:b8:e0:b3:36:66:bf:75:a5:dd:45:b5:de:48:0f:8e:a8:d4:bf:e6:be:bc:17:f2:ed +-----BEGIN CERTIFICATE----- +MIIFiTCCA3GgAwIBAgIQb77arXO9CEDii02+1PdbkTANBgkqhkiG9w0BAQsFADBO +MQswCQYDVQQGEwJVUzEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMSUwIwYDVQQD +DBxTU0wuY29tIFRMUyBSU0EgUm9vdCBDQSAyMDIyMB4XDTIyMDgyNTE2MzQyMloX +DTQ2MDgxOTE2MzQyMVowTjELMAkGA1UEBhMCVVMxGDAWBgNVBAoMD1NTTCBDb3Jw +b3JhdGlvbjElMCMGA1UEAwwcU1NMLmNvbSBUTFMgUlNBIFJvb3QgQ0EgMjAyMjCC +AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANCkCXJPQIgSYT41I57u9nTP +L3tYPc48DRAokC+X94xI2KDYJbFMsBFMF3NQ0CJKY7uB0ylu1bUJPiYYf7ISf5OY +t6/wNr/y7hienDtSxUcZXXTzZGbVXcdotL8bHAajvI9AI7YexoS9UcQbOcGV0ins +S657Lb85/bRi3pZ7QcacoOAGcvvwB5cJOYF0r/c0WRFXCsJbwST0MXMwgsadugL3 +PnxEX4MN8/HdIGkWCVDi1FW24IBydm5MR7d1VVm0U3TZlMZBrViKMWYPHqIbKUBO +L9975hYsLfy/7PO0+r4Y9ptJ1O4Fbtk085zx7AGL0SDGD6C1vBdOSHtRwvzpXGk3 +R2azaPgVKPC506QVzFpPulJwoxJF3ca6TvvC0PeoUidtbnm1jPx7jMEWTO6Af77w +dr5BUxIzrlo4QqvXDz5BjXYHMtWrifZOZ9mxQnUjbvPNQrL8VfVThxc7wDNY8VLS ++YCk8OjwO4s4zKTGkH8PnP2L0aPP2oOnaclQNtVcBdIKQXTbYxE3waWglksejBYS +d66UNHsef8JmAOSqg+qKkK3ONkRN0VHpvB/zagX9wHQfJRlAUW7qglFA35u5CCoG +AtUjHBPW6dvbxrB6y3snm/vg1UYk7RBLY0ulBY+6uB0rpvqR4pJSvezrZ5dtmi2f +gTIFZzL7SAg/2SW4BCUvAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j +BBgwFoAU+y437uOEeicuzRk1sTN8/9REQrkwHQYDVR0OBBYEFPsuN+7jhHonLs0Z +NbEzfP/UREK5MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAjYlt +hEUY8U+zoO9opMAdrDC8Z2awms22qyIZZtM7QbUQnRC6cm4pJCAcAZli05bg4vsM +QtfhWsSWTVTNj8pDU/0quOr4ZcoBwq1gaAafORpR2eCNJvkLTqVTJXojpBzOCBvf +R4iyrT7gJ4eLSYwfqUdYe5byiB0YrrPRpgqU+tvT5TgKa3kSM/tKWTcWQA673vWJ +DPFs0/dRa1419dvAJuoSc06pkZCmF8NsLzjUo3KUQyxi4U5cMj29TH0ZR6LDSeeW +P4+a0zvkEdiLA9z2tmBVGKaBUfPhqBVq6+AL8BQx1rmMRTqoENjwuSfr98t67wVy +lrXEj5ZzxOhWc5y8aVFjvO9nHEMaX3cZHxj4HCUp+UmZKbaSPaKDN7EgkaibMOlq +bLQjk2UEqxHzDh1TJElTHaE/nUiSEeJ9DU/1172iWD54nR4fK/4huxoTtrEoZP2w +AgDHbICivRZQIA9ygV/MlP+7mea6kMvq+cYMwq7FGc4zoWtcu358NFcXrfA/rs3q +r5nsLFR+jM4uElZI7xc7P0peYNLcdDa8pUNjyw9bowJWCZ4kLOGGgYz+qxcs+sji +Mho6/4UIyYOf8kpIEFR3N+2ivEC+5BB09+Rbu7nzifmPQdjH5FCQNYA+HLhNkNPU +98OwoX6EyneSMSy4kLGCenROmxMmtNVQZlR4rmA= +-----END CERTIFICATE----- + +# Issuer: CN=SSL.com TLS ECC Root CA 2022 O=SSL Corporation +# Subject: CN=SSL.com TLS ECC Root CA 2022 O=SSL Corporation +# Label: "SSL.com TLS ECC Root CA 2022" +# Serial: 26605119622390491762507526719404364228 +# MD5 Fingerprint: 99:d7:5c:f1:51:36:cc:e9:ce:d9:19:2e:77:71:56:c5 +# SHA1 Fingerprint: 9f:5f:d9:1a:54:6d:f5:0c:71:f0:ee:7a:bd:17:49:98:84:73:e2:39 +# SHA256 Fingerprint: c3:2f:fd:9f:46:f9:36:d1:6c:36:73:99:09:59:43:4b:9a:d6:0a:af:bb:9e:7c:f3:36:54:f1:44:cc:1b:a1:43 +-----BEGIN CERTIFICATE----- +MIICOjCCAcCgAwIBAgIQFAP1q/s3ixdAW+JDsqXRxDAKBggqhkjOPQQDAzBOMQsw +CQYDVQQGEwJVUzEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMSUwIwYDVQQDDBxT +U0wuY29tIFRMUyBFQ0MgUm9vdCBDQSAyMDIyMB4XDTIyMDgyNTE2MzM0OFoXDTQ2 +MDgxOTE2MzM0N1owTjELMAkGA1UEBhMCVVMxGDAWBgNVBAoMD1NTTCBDb3Jwb3Jh +dGlvbjElMCMGA1UEAwwcU1NMLmNvbSBUTFMgRUNDIFJvb3QgQ0EgMjAyMjB2MBAG +ByqGSM49AgEGBSuBBAAiA2IABEUpNXP6wrgjzhR9qLFNoFs27iosU8NgCTWyJGYm +acCzldZdkkAZDsalE3D07xJRKF3nzL35PIXBz5SQySvOkkJYWWf9lCcQZIxPBLFN +SeR7T5v15wj4A4j3p8OSSxlUgaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSME +GDAWgBSJjy+j6CugFFR781a4Jl9nOAuc0DAdBgNVHQ4EFgQUiY8vo+groBRUe/NW +uCZfZzgLnNAwDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMDA2gAMGUCMFXjIlbp +15IkWE8elDIPDAI2wv2sdDJO4fscgIijzPvX6yv/N33w7deedWo1dlJF4AIxAMeN +b0Igj762TVntd00pxCAgRWSGOlDGxK0tk/UYfXLtqc/ErFc2KAhl3zx5Zn6g6g== +-----END CERTIFICATE----- + +# Issuer: CN=Atos TrustedRoot Root CA ECC TLS 2021 O=Atos +# Subject: CN=Atos TrustedRoot Root CA ECC TLS 2021 O=Atos +# Label: "Atos TrustedRoot Root CA ECC TLS 2021" +# Serial: 81873346711060652204712539181482831616 +# MD5 Fingerprint: 16:9f:ad:f1:70:ad:79:d6:ed:29:b4:d1:c5:79:70:a8 +# SHA1 Fingerprint: 9e:bc:75:10:42:b3:02:f3:81:f4:f7:30:62:d4:8f:c3:a7:51:b2:dd +# SHA256 Fingerprint: b2:fa:e5:3e:14:cc:d7:ab:92:12:06:47:01:ae:27:9c:1d:89:88:fa:cb:77:5f:a8:a0:08:91:4e:66:39:88:a8 +-----BEGIN CERTIFICATE----- +MIICFTCCAZugAwIBAgIQPZg7pmY9kGP3fiZXOATvADAKBggqhkjOPQQDAzBMMS4w +LAYDVQQDDCVBdG9zIFRydXN0ZWRSb290IFJvb3QgQ0EgRUNDIFRMUyAyMDIxMQ0w +CwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0yMTA0MjIwOTI2MjNaFw00MTA0 +MTcwOTI2MjJaMEwxLjAsBgNVBAMMJUF0b3MgVHJ1c3RlZFJvb3QgUm9vdCBDQSBF +Q0MgVExTIDIwMjExDTALBgNVBAoMBEF0b3MxCzAJBgNVBAYTAkRFMHYwEAYHKoZI +zj0CAQYFK4EEACIDYgAEloZYKDcKZ9Cg3iQZGeHkBQcfl+3oZIK59sRxUM6KDP/X +tXa7oWyTbIOiaG6l2b4siJVBzV3dscqDY4PMwL502eCdpO5KTlbgmClBk1IQ1SQ4 +AjJn8ZQSb+/Xxd4u/RmAo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR2 +KCXWfeBmmnoJsmo7jjPXNtNPojAOBgNVHQ8BAf8EBAMCAYYwCgYIKoZIzj0EAwMD +aAAwZQIwW5kp85wxtolrbNa9d+F851F+uDrNozZffPc8dz7kUK2o59JZDCaOMDtu +CCrCp1rIAjEAmeMM56PDr9NJLkaCI2ZdyQAUEv049OGYa3cpetskz2VAv9LcjBHo +9H1/IISpQuQo +-----END CERTIFICATE----- + +# Issuer: CN=Atos TrustedRoot Root CA RSA TLS 2021 O=Atos +# Subject: CN=Atos TrustedRoot Root CA RSA TLS 2021 O=Atos +# Label: "Atos TrustedRoot Root CA RSA TLS 2021" +# Serial: 111436099570196163832749341232207667876 +# MD5 Fingerprint: d4:d3:46:b8:9a:c0:9c:76:5d:9e:3a:c3:b9:99:31:d2 +# SHA1 Fingerprint: 18:52:3b:0d:06:37:e4:d6:3a:df:23:e4:98:fb:5b:16:fb:86:74:48 +# SHA256 Fingerprint: 81:a9:08:8e:a5:9f:b3:64:c5:48:a6:f8:55:59:09:9b:6f:04:05:ef:bf:18:e5:32:4e:c9:f4:57:ba:00:11:2f +-----BEGIN CERTIFICATE----- +MIIFZDCCA0ygAwIBAgIQU9XP5hmTC/srBRLYwiqipDANBgkqhkiG9w0BAQwFADBM +MS4wLAYDVQQDDCVBdG9zIFRydXN0ZWRSb290IFJvb3QgQ0EgUlNBIFRMUyAyMDIx +MQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0yMTA0MjIwOTIxMTBaFw00 +MTA0MTcwOTIxMDlaMEwxLjAsBgNVBAMMJUF0b3MgVHJ1c3RlZFJvb3QgUm9vdCBD +QSBSU0EgVExTIDIwMjExDTALBgNVBAoMBEF0b3MxCzAJBgNVBAYTAkRFMIICIjAN +BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtoAOxHm9BYx9sKOdTSJNy/BBl01Z +4NH+VoyX8te9j2y3I49f1cTYQcvyAh5x5en2XssIKl4w8i1mx4QbZFc4nXUtVsYv +Ye+W/CBGvevUez8/fEc4BKkbqlLfEzfTFRVOvV98r61jx3ncCHvVoOX3W3WsgFWZ +kmGbzSoXfduP9LVq6hdKZChmFSlsAvFr1bqjM9xaZ6cF4r9lthawEO3NUDPJcFDs +GY6wx/J0W2tExn2WuZgIWWbeKQGb9Cpt0xU6kGpn8bRrZtkh68rZYnxGEFzedUln +nkL5/nWpo63/dgpnQOPF943HhZpZnmKaau1Fh5hnstVKPNe0OwANwI8f4UDErmwh +3El+fsqyjW22v5MvoVw+j8rtgI5Y4dtXz4U2OLJxpAmMkokIiEjxQGMYsluMWuPD +0xeqqxmjLBvk1cbiZnrXghmmOxYsL3GHX0WelXOTwkKBIROW1527k2gV+p2kHYzy +geBYBr3JtuP2iV2J+axEoctr+hbxx1A9JNr3w+SH1VbxT5Aw+kUJWdo0zuATHAR8 +ANSbhqRAvNncTFd+rrcztl524WWLZt+NyteYr842mIycg5kDcPOvdO3GDjbnvezB +c6eUWsuSZIKmAMFwoW4sKeFYV+xafJlrJaSQOoD0IJ2azsct+bJLKZWD6TWNp0lI +pw9MGZHQ9b8Q4HECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU +dEmZ0f+0emhFdcN+tNzMzjkz2ggwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB +DAUAA4ICAQAjQ1MkYlxt/T7Cz1UAbMVWiLkO3TriJQ2VSpfKgInuKs1l+NsW4AmS +4BjHeJi78+xCUvuppILXTdiK/ORO/auQxDh1MoSf/7OwKwIzNsAQkG8dnK/haZPs +o0UvFJ/1TCplQ3IM98P4lYsU84UgYt1UU90s3BiVaU+DR3BAM1h3Egyi61IxHkzJ +qM7F78PRreBrAwA0JrRUITWXAdxfG/F851X6LWh3e9NpzNMOa7pNdkTWwhWaJuyw +xfW70Xp0wmzNxbVe9kzmWy2B27O3Opee7c9GslA9hGCZcbUztVdF5kJHdWoOsAgM +rr3e97sPWD2PAzHoPYJQyi9eDF20l74gNAf0xBLh7tew2VktafcxBPTy+av5EzH4 +AXcOPUIjJsyacmdRIXrMPIWo6iFqO9taPKU0nprALN+AnCng33eU0aKAQv9qTFsR +0PXNor6uzFFcw9VUewyu1rkGd4Di7wcaaMxZUa1+XGdrudviB0JbuAEFWDlN5LuY +o7Ey7Nmj1m+UI/87tyll5gfp77YZ6ufCOB0yiJA8EytuzO+rdwY0d4RPcuSBhPm5 +dDTedk+SKlOxJTnbPP/lPqYO5Wue/9vsL3SD3460s6neFE3/MaNFcyT6lSnMEpcE +oji2jbDwN/zIIX8/syQbPYtuzE2wFg2WHYMfRsCbvUOZ58SWLs5fyQ== +-----END CERTIFICATE----- + +# Issuer: CN=TrustAsia Global Root CA G3 O=TrustAsia Technologies, Inc. +# Subject: CN=TrustAsia Global Root CA G3 O=TrustAsia Technologies, Inc. +# Label: "TrustAsia Global Root CA G3" +# Serial: 576386314500428537169965010905813481816650257167 +# MD5 Fingerprint: 30:42:1b:b7:bb:81:75:35:e4:16:4f:53:d2:94:de:04 +# SHA1 Fingerprint: 63:cf:b6:c1:27:2b:56:e4:88:8e:1c:23:9a:b6:2e:81:47:24:c3:c7 +# SHA256 Fingerprint: e0:d3:22:6a:eb:11:63:c2:e4:8f:f9:be:3b:50:b4:c6:43:1b:e7:bb:1e:ac:c5:c3:6b:5d:5e:c5:09:03:9a:08 +-----BEGIN CERTIFICATE----- +MIIFpTCCA42gAwIBAgIUZPYOZXdhaqs7tOqFhLuxibhxkw8wDQYJKoZIhvcNAQEM +BQAwWjELMAkGA1UEBhMCQ04xJTAjBgNVBAoMHFRydXN0QXNpYSBUZWNobm9sb2dp +ZXMsIEluYy4xJDAiBgNVBAMMG1RydXN0QXNpYSBHbG9iYWwgUm9vdCBDQSBHMzAe +Fw0yMTA1MjAwMjEwMTlaFw00NjA1MTkwMjEwMTlaMFoxCzAJBgNVBAYTAkNOMSUw +IwYDVQQKDBxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSQwIgYDVQQDDBtU +cnVzdEFzaWEgR2xvYmFsIFJvb3QgQ0EgRzMwggIiMA0GCSqGSIb3DQEBAQUAA4IC +DwAwggIKAoICAQDAMYJhkuSUGwoqZdC+BqmHO1ES6nBBruL7dOoKjbmzTNyPtxNS +T1QY4SxzlZHFZjtqz6xjbYdT8PfxObegQ2OwxANdV6nnRM7EoYNl9lA+sX4WuDqK +AtCWHwDNBSHvBm3dIZwZQ0WhxeiAysKtQGIXBsaqvPPW5vxQfmZCHzyLpnl5hkA1 +nyDvP+uLRx+PjsXUjrYsyUQE49RDdT/VP68czH5GX6zfZBCK70bwkPAPLfSIC7Ep +qq+FqklYqL9joDiR5rPmd2jE+SoZhLsO4fWvieylL1AgdB4SQXMeJNnKziyhWTXA +yB1GJ2Faj/lN03J5Zh6fFZAhLf3ti1ZwA0pJPn9pMRJpxx5cynoTi+jm9WAPzJMs +hH/x/Gr8m0ed262IPfN2dTPXS6TIi/n1Q1hPy8gDVI+lhXgEGvNz8teHHUGf59gX +zhqcD0r83ERoVGjiQTz+LISGNzzNPy+i2+f3VANfWdP3kXjHi3dqFuVJhZBFcnAv +kV34PmVACxmZySYgWmjBNb9Pp1Hx2BErW+Canig7CjoKH8GB5S7wprlppYiU5msT +f9FkPz2ccEblooV7WIQn3MSAPmeamseaMQ4w7OYXQJXZRe0Blqq/DPNL0WP3E1jA +uPP6Z92bfW1K/zJMtSU7/xxnD4UiWQWRkUF3gdCFTIcQcf+eQxuulXUtgQIDAQAB +o2MwYTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFEDk5PIj7zjKsK5Xf/Ih +MBY027ySMB0GA1UdDgQWBBRA5OTyI+84yrCuV3/yITAWNNu8kjAOBgNVHQ8BAf8E +BAMCAQYwDQYJKoZIhvcNAQEMBQADggIBACY7UeFNOPMyGLS0XuFlXsSUT9SnYaP4 +wM8zAQLpw6o1D/GUE3d3NZ4tVlFEbuHGLige/9rsR82XRBf34EzC4Xx8MnpmyFq2 +XFNFV1pF1AWZLy4jVe5jaN/TG3inEpQGAHUNcoTpLrxaatXeL1nHo+zSh2bbt1S1 +JKv0Q3jbSwTEb93mPmY+KfJLaHEih6D4sTNjduMNhXJEIlU/HHzp/LgV6FL6qj6j +ITk1dImmasI5+njPtqzn59ZW/yOSLlALqbUHM/Q4X6RJpstlcHboCoWASzY9M/eV +VHUl2qzEc4Jl6VL1XP04lQJqaTDFHApXB64ipCz5xUG3uOyfT0gA+QEEVcys+TIx +xHWVBqB/0Y0n3bOppHKH/lmLmnp0Ft0WpWIp6zqW3IunaFnT63eROfjXy9mPX1on +AX1daBli2MjN9LdyR75bl87yraKZk62Uy5P2EgmVtqvXO9A/EcswFi55gORngS1d +7XB4tmBZrOFdRWOPyN9yaFvqHbgB8X7754qz41SgOAngPN5C8sLtLpvzHzW2Ntjj +gKGLzZlkD8Kqq7HK9W+eQ42EVJmzbsASZthwEPEGNTNDqJwuuhQxzhB/HIbjj9LV ++Hfsm6vxL2PZQl/gZ4FkkfGXL/xuJvYz+NO1+MRiqzFRJQJ6+N1rZdVtTTDIZbpo +FGWsJwt0ivKH +-----END CERTIFICATE----- + +# Issuer: CN=TrustAsia Global Root CA G4 O=TrustAsia Technologies, Inc. +# Subject: CN=TrustAsia Global Root CA G4 O=TrustAsia Technologies, Inc. +# Label: "TrustAsia Global Root CA G4" +# Serial: 451799571007117016466790293371524403291602933463 +# MD5 Fingerprint: 54:dd:b2:d7:5f:d8:3e:ed:7c:e0:0b:2e:cc:ed:eb:eb +# SHA1 Fingerprint: 57:73:a5:61:5d:80:b2:e6:ac:38:82:fc:68:07:31:ac:9f:b5:92:5a +# SHA256 Fingerprint: be:4b:56:cb:50:56:c0:13:6a:52:6d:f4:44:50:8d:aa:36:a0:b5:4f:42:e4:ac:38:f7:2a:f4:70:e4:79:65:4c +-----BEGIN CERTIFICATE----- +MIICVTCCAdygAwIBAgIUTyNkuI6XY57GU4HBdk7LKnQV1tcwCgYIKoZIzj0EAwMw +WjELMAkGA1UEBhMCQ04xJTAjBgNVBAoMHFRydXN0QXNpYSBUZWNobm9sb2dpZXMs +IEluYy4xJDAiBgNVBAMMG1RydXN0QXNpYSBHbG9iYWwgUm9vdCBDQSBHNDAeFw0y +MTA1MjAwMjEwMjJaFw00NjA1MTkwMjEwMjJaMFoxCzAJBgNVBAYTAkNOMSUwIwYD +VQQKDBxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSQwIgYDVQQDDBtUcnVz +dEFzaWEgR2xvYmFsIFJvb3QgQ0EgRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATx +s8045CVD5d4ZCbuBeaIVXxVjAd7Cq92zphtnS4CDr5nLrBfbK5bKfFJV4hrhPVbw +LxYI+hW8m7tH5j/uqOFMjPXTNvk4XatwmkcN4oFBButJ+bAp3TPsUKV/eSm4IJij +YzBhMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUpbtKl86zK3+kMd6Xg1mD +pm9xy94wHQYDVR0OBBYEFKW7SpfOsyt/pDHel4NZg6ZvccveMA4GA1UdDwEB/wQE +AwIBBjAKBggqhkjOPQQDAwNnADBkAjBe8usGzEkxn0AAbbd+NvBNEU/zy4k6LHiR +UKNbwMp1JvK/kF0LgoxgKJ/GcJpo5PECMFxYDlZ2z1jD1xCMuo6u47xkdUfFVZDj +/bpV6wfEU6s3qe4hsiFbYI89MvHVI5TWWA== +-----END CERTIFICATE----- + +# Issuer: CN=CommScope Public Trust ECC Root-01 O=CommScope +# Subject: CN=CommScope Public Trust ECC Root-01 O=CommScope +# Label: "CommScope Public Trust ECC Root-01" +# Serial: 385011430473757362783587124273108818652468453534 +# MD5 Fingerprint: 3a:40:a7:fc:03:8c:9c:38:79:2f:3a:a2:6c:b6:0a:16 +# SHA1 Fingerprint: 07:86:c0:d8:dd:8e:c0:80:98:06:98:d0:58:7a:ef:de:a6:cc:a2:5d +# SHA256 Fingerprint: 11:43:7c:da:7b:b4:5e:41:36:5f:45:b3:9a:38:98:6b:0d:e0:0d:ef:34:8e:0c:7b:b0:87:36:33:80:0b:c3:8b +-----BEGIN CERTIFICATE----- +MIICHTCCAaOgAwIBAgIUQ3CCd89NXTTxyq4yLzf39H91oJ4wCgYIKoZIzj0EAwMw +TjELMAkGA1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwiQ29t +bVNjb3BlIFB1YmxpYyBUcnVzdCBFQ0MgUm9vdC0wMTAeFw0yMTA0MjgxNzM1NDNa +Fw00NjA0MjgxNzM1NDJaME4xCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21tU2Nv +cGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3QgRUNDIFJvb3QtMDEw +djAQBgcqhkjOPQIBBgUrgQQAIgNiAARLNumuV16ocNfQj3Rid8NeeqrltqLxeP0C +flfdkXmcbLlSiFS8LwS+uM32ENEp7LXQoMPwiXAZu1FlxUOcw5tjnSCDPgYLpkJE +hRGnSjot6dZoL0hOUysHP029uax3OVejQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD +VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSOB2LAUN3GGQYARnQE9/OufXVNMDAKBggq +hkjOPQQDAwNoADBlAjEAnDPfQeMjqEI2Jpc1XHvr20v4qotzVRVcrHgpD7oh2MSg +2NED3W3ROT3Ek2DS43KyAjB8xX6I01D1HiXo+k515liWpDVfG2XqYZpwI7UNo5uS +Um9poIyNStDuiw7LR47QjRE= +-----END CERTIFICATE----- + +# Issuer: CN=CommScope Public Trust ECC Root-02 O=CommScope +# Subject: CN=CommScope Public Trust ECC Root-02 O=CommScope +# Label: "CommScope Public Trust ECC Root-02" +# Serial: 234015080301808452132356021271193974922492992893 +# MD5 Fingerprint: 59:b0:44:d5:65:4d:b8:5c:55:19:92:02:b6:d1:94:b2 +# SHA1 Fingerprint: 3c:3f:ef:57:0f:fe:65:93:86:9e:a0:fe:b0:f6:ed:8e:d1:13:c7:e5 +# SHA256 Fingerprint: 2f:fb:7f:81:3b:bb:b3:c8:9a:b4:e8:16:2d:0f:16:d7:15:09:a8:30:cc:9d:73:c2:62:e5:14:08:75:d1:ad:4a +-----BEGIN CERTIFICATE----- +MIICHDCCAaOgAwIBAgIUKP2ZYEFHpgE6yhR7H+/5aAiDXX0wCgYIKoZIzj0EAwMw +TjELMAkGA1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwiQ29t +bVNjb3BlIFB1YmxpYyBUcnVzdCBFQ0MgUm9vdC0wMjAeFw0yMTA0MjgxNzQ0NTRa +Fw00NjA0MjgxNzQ0NTNaME4xCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21tU2Nv +cGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3QgRUNDIFJvb3QtMDIw +djAQBgcqhkjOPQIBBgUrgQQAIgNiAAR4MIHoYx7l63FRD/cHB8o5mXxO1Q/MMDAL +j2aTPs+9xYa9+bG3tD60B8jzljHz7aRP+KNOjSkVWLjVb3/ubCK1sK9IRQq9qEmU +v4RDsNuESgMjGWdqb8FuvAY5N9GIIvejQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD +VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTmGHX/72DehKT1RsfeSlXjMjZ59TAKBggq +hkjOPQQDAwNnADBkAjAmc0l6tqvmSfR9Uj/UQQSugEODZXW5hYA4O9Zv5JOGq4/n +ich/m35rChJVYaoR4HkCMHfoMXGsPHED1oQmHhS48zs73u1Z/GtMMH9ZzkXpc2AV +mkzw5l4lIhVtwodZ0LKOag== +-----END CERTIFICATE----- + +# Issuer: CN=CommScope Public Trust RSA Root-01 O=CommScope +# Subject: CN=CommScope Public Trust RSA Root-01 O=CommScope +# Label: "CommScope Public Trust RSA Root-01" +# Serial: 354030733275608256394402989253558293562031411421 +# MD5 Fingerprint: 0e:b4:15:bc:87:63:5d:5d:02:73:d4:26:38:68:73:d8 +# SHA1 Fingerprint: 6d:0a:5f:f7:b4:23:06:b4:85:b3:b7:97:64:fc:ac:75:f5:33:f2:93 +# SHA256 Fingerprint: 02:bd:f9:6e:2a:45:dd:9b:f1:8f:c7:e1:db:df:21:a0:37:9b:a3:c9:c2:61:03:44:cf:d8:d6:06:fe:c1:ed:81 +-----BEGIN CERTIFICATE----- +MIIFbDCCA1SgAwIBAgIUPgNJgXUWdDGOTKvVxZAplsU5EN0wDQYJKoZIhvcNAQEL +BQAwTjELMAkGA1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwi +Q29tbVNjb3BlIFB1YmxpYyBUcnVzdCBSU0EgUm9vdC0wMTAeFw0yMTA0MjgxNjQ1 +NTRaFw00NjA0MjgxNjQ1NTNaME4xCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21t +U2NvcGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3QgUlNBIFJvb3Qt +MDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwSGWjDR1C45FtnYSk +YZYSwu3D2iM0GXb26v1VWvZVAVMP8syMl0+5UMuzAURWlv2bKOx7dAvnQmtVzslh +suitQDy6uUEKBU8bJoWPQ7VAtYXR1HHcg0Hz9kXHgKKEUJdGzqAMxGBWBB0HW0al +DrJLpA6lfO741GIDuZNqihS4cPgugkY4Iw50x2tBt9Apo52AsH53k2NC+zSDO3Oj +WiE260f6GBfZumbCk6SP/F2krfxQapWsvCQz0b2If4b19bJzKo98rwjyGpg/qYFl +P8GMicWWMJoKz/TUyDTtnS+8jTiGU+6Xn6myY5QXjQ/cZip8UlF1y5mO6D1cv547 +KI2DAg+pn3LiLCuz3GaXAEDQpFSOm117RTYm1nJD68/A6g3czhLmfTifBSeolz7p +UcZsBSjBAg/pGG3svZwG1KdJ9FQFa2ww8esD1eo9anbCyxooSU1/ZOD6K9pzg4H/ +kQO9lLvkuI6cMmPNn7togbGEW682v3fuHX/3SZtS7NJ3Wn2RnU3COS3kuoL4b/JO +Hg9O5j9ZpSPcPYeoKFgo0fEbNttPxP/hjFtyjMcmAyejOQoBqsCyMWCDIqFPEgkB +Ea801M/XrmLTBQe0MXXgDW1XT2mH+VepuhX2yFJtocucH+X8eKg1mp9BFM6ltM6U +CBwJrVbl2rZJmkrqYxhTnCwuwwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G +A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUN12mmnQywsL5x6YVEFm45P3luG0wDQYJ +KoZIhvcNAQELBQADggIBAK+nz97/4L1CjU3lIpbfaOp9TSp90K09FlxD533Ahuh6 +NWPxzIHIxgvoLlI1pKZJkGNRrDSsBTtXAOnTYtPZKdVUvhwQkZyybf5Z/Xn36lbQ +nmhUQo8mUuJM3y+Xpi/SB5io82BdS5pYV4jvguX6r2yBS5KPQJqTRlnLX3gWsWc+ +QgvfKNmwrZggvkN80V4aCRckjXtdlemrwWCrWxhkgPut4AZ9HcpZuPN4KWfGVh2v +trV0KnahP/t1MJ+UXjulYPPLXAziDslg+MkfFoom3ecnf+slpoq9uC02EJqxWE2a +aE9gVOX2RhOOiKy8IUISrcZKiX2bwdgt6ZYD9KJ0DLwAHb/WNyVntHKLr4W96ioD +j8z7PEQkguIBpQtZtjSNMgsSDesnwv1B10A8ckYpwIzqug/xBpMu95yo9GA+o/E4 +Xo4TwbM6l4c/ksp4qRyv0LAbJh6+cOx69TOY6lz/KwsETkPdY34Op054A5U+1C0w +lREQKC6/oAI+/15Z0wUOlV9TRe9rh9VIzRamloPh37MG88EU26fsHItdkJANclHn +YfkUyq+Dj7+vsQpZXdxc1+SWrVtgHdqul7I52Qb1dgAT+GhMIbA1xNxVssnBQVoc +icCMb3SgazNNtQEo/a2tiRc7ppqEvOuM6sRxJKi6KfkIsidWNTJf6jn7MZrVGczw +-----END CERTIFICATE----- + +# Issuer: CN=CommScope Public Trust RSA Root-02 O=CommScope +# Subject: CN=CommScope Public Trust RSA Root-02 O=CommScope +# Label: "CommScope Public Trust RSA Root-02" +# Serial: 480062499834624527752716769107743131258796508494 +# MD5 Fingerprint: e1:29:f9:62:7b:76:e2:96:6d:f3:d4:d7:0f:ae:1f:aa +# SHA1 Fingerprint: ea:b0:e2:52:1b:89:93:4c:11:68:f2:d8:9a:ac:22:4c:a3:8a:57:ae +# SHA256 Fingerprint: ff:e9:43:d7:93:42:4b:4f:7c:44:0c:1c:3d:64:8d:53:63:f3:4b:82:dc:87:aa:7a:9f:11:8f:c5:de:e1:01:f1 +-----BEGIN CERTIFICATE----- +MIIFbDCCA1SgAwIBAgIUVBa/O345lXGN0aoApYYNK496BU4wDQYJKoZIhvcNAQEL +BQAwTjELMAkGA1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwi +Q29tbVNjb3BlIFB1YmxpYyBUcnVzdCBSU0EgUm9vdC0wMjAeFw0yMTA0MjgxNzE2 +NDNaFw00NjA0MjgxNzE2NDJaME4xCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21t +U2NvcGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3QgUlNBIFJvb3Qt +MDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDh+g77aAASyE3VrCLE +NQE7xVTlWXZjpX/rwcRqmL0yjReA61260WI9JSMZNRTpf4mnG2I81lDnNJUDMrG0 +kyI9p+Kx7eZ7Ti6Hmw0zdQreqjXnfuU2mKKuJZ6VszKWpCtYHu8//mI0SFHRtI1C +rWDaSWqVcN3SAOLMV2MCe5bdSZdbkk6V0/nLKR8YSvgBKtJjCW4k6YnS5cciTNxz +hkcAqg2Ijq6FfUrpuzNPDlJwnZXjfG2WWy09X6GDRl224yW4fKcZgBzqZUPckXk2 +LHR88mcGyYnJ27/aaL8j7dxrrSiDeS/sOKUNNwFnJ5rpM9kzXzehxfCrPfp4sOcs +n/Y+n2Dg70jpkEUeBVF4GiwSLFworA2iI540jwXmojPOEXcT1A6kHkIfhs1w/tku +FT0du7jyU1fbzMZ0KZwYszZ1OC4PVKH4kh+Jlk+71O6d6Ts2QrUKOyrUZHk2EOH5 +kQMreyBUzQ0ZGshBMjTRsJnhkB4BQDa1t/qp5Xd1pCKBXbCL5CcSD1SIxtuFdOa3 +wNemKfrb3vOTlycEVS8KbzfFPROvCgCpLIscgSjX74Yxqa7ybrjKaixUR9gqiC6v +wQcQeKwRoi9C8DfF8rhW3Q5iLc4tVn5V8qdE9isy9COoR+jUKgF4z2rDN6ieZdIs +5fq6M8EGRPbmz6UNp2YINIos8wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G +A1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUR9DnsSL/nSz12Vdgs7GxcJXvYXowDQYJ +KoZIhvcNAQELBQADggIBAIZpsU0v6Z9PIpNojuQhmaPORVMbc0RTAIFhzTHjCLqB +KCh6krm2qMhDnscTJk3C2OVVnJJdUNjCK9v+5qiXz1I6JMNlZFxHMaNlNRPDk7n3 ++VGXu6TwYofF1gbTl4MgqX67tiHCpQ2EAOHyJxCDut0DgdXdaMNmEMjRdrSzbyme +APnCKfWxkxlSaRosTKCL4BWaMS/TiJVZbuXEs1DIFAhKm4sTg7GkcrI7djNB3Nyq +pgdvHSQSn8h2vS/ZjvQs7rfSOBAkNlEv41xdgSGn2rtO/+YHqP65DSdsu3BaVXoT +6fEqSWnHX4dXTEN5bTpl6TBcQe7rd6VzEojov32u5cSoHw2OHG1QAk8mGEPej1WF +sQs3BWDJVTkSBKEqz3EWnzZRSb9wO55nnPt7eck5HHisd5FUmrh1CoFSl+NmYWvt +PjgelmFV4ZFUjO2MJB+ByRCac5krFk5yAD9UG/iNuovnFNa2RU9g7Jauwy8CTl2d +lklyALKrdVwPaFsdZcJfMw8eD/A7hvWwTruc9+olBdytoptLFwG+Qt81IR2tq670 +v64fG9PiO/yzcnMcmyiQiRM9HcEARwmWmjgb3bHPDcK0RPOWlc4yOo80nOAXx17O +rg3bhzjlP1v9mxnhMUF6cKojawHhRUzNlM47ni3niAIi9G7oyOzWPPO5std3eqx7 +-----END CERTIFICATE----- + +# Issuer: CN=Telekom Security TLS ECC Root 2020 O=Deutsche Telekom Security GmbH +# Subject: CN=Telekom Security TLS ECC Root 2020 O=Deutsche Telekom Security GmbH +# Label: "Telekom Security TLS ECC Root 2020" +# Serial: 72082518505882327255703894282316633856 +# MD5 Fingerprint: c1:ab:fe:6a:10:2c:03:8d:bc:1c:22:32:c0:85:a7:fd +# SHA1 Fingerprint: c0:f8:96:c5:a9:3b:01:06:21:07:da:18:42:48:bc:e9:9d:88:d5:ec +# SHA256 Fingerprint: 57:8a:f4:de:d0:85:3f:4e:59:98:db:4a:ea:f9:cb:ea:8d:94:5f:60:b6:20:a3:8d:1a:3c:13:b2:bc:7b:a8:e1 +-----BEGIN CERTIFICATE----- +MIICQjCCAcmgAwIBAgIQNjqWjMlcsljN0AFdxeVXADAKBggqhkjOPQQDAzBjMQsw +CQYDVQQGEwJERTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0eSBH +bWJIMSswKQYDVQQDDCJUZWxla29tIFNlY3VyaXR5IFRMUyBFQ0MgUm9vdCAyMDIw +MB4XDTIwMDgyNTA3NDgyMFoXDTQ1MDgyNTIzNTk1OVowYzELMAkGA1UEBhMCREUx +JzAlBgNVBAoMHkRldXRzY2hlIFRlbGVrb20gU2VjdXJpdHkgR21iSDErMCkGA1UE +AwwiVGVsZWtvbSBTZWN1cml0eSBUTFMgRUNDIFJvb3QgMjAyMDB2MBAGByqGSM49 +AgEGBSuBBAAiA2IABM6//leov9Wq9xCazbzREaK9Z0LMkOsVGJDZos0MKiXrPk/O +tdKPD/M12kOLAoC+b1EkHQ9rK8qfwm9QMuU3ILYg/4gND21Ju9sGpIeQkpT0CdDP +f8iAC8GXs7s1J8nCG6NCMEAwHQYDVR0OBBYEFONyzG6VmUex5rNhTNHLq+O6zd6f +MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2cA +MGQCMHVSi7ekEE+uShCLsoRbQuHmKjYC2qBuGT8lv9pZMo7k+5Dck2TOrbRBR2Di +z6fLHgIwN0GMZt9Ba9aDAEH9L1r3ULRn0SyocddDypwnJJGDSA3PzfdUga/sf+Rn +27iQ7t0l +-----END CERTIFICATE----- + +# Issuer: CN=Telekom Security TLS RSA Root 2023 O=Deutsche Telekom Security GmbH +# Subject: CN=Telekom Security TLS RSA Root 2023 O=Deutsche Telekom Security GmbH +# Label: "Telekom Security TLS RSA Root 2023" +# Serial: 44676229530606711399881795178081572759 +# MD5 Fingerprint: bf:5b:eb:54:40:cd:48:71:c4:20:8d:7d:de:0a:42:f2 +# SHA1 Fingerprint: 54:d3:ac:b3:bd:57:56:f6:85:9d:ce:e5:c3:21:e2:d4:ad:83:d0:93 +# SHA256 Fingerprint: ef:c6:5c:ad:bb:59:ad:b6:ef:e8:4d:a2:23:11:b3:56:24:b7:1b:3b:1e:a0:da:8b:66:55:17:4e:c8:97:86:46 +-----BEGIN CERTIFICATE----- +MIIFszCCA5ugAwIBAgIQIZxULej27HF3+k7ow3BXlzANBgkqhkiG9w0BAQwFADBj +MQswCQYDVQQGEwJERTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0 +eSBHbWJIMSswKQYDVQQDDCJUZWxla29tIFNlY3VyaXR5IFRMUyBSU0EgUm9vdCAy +MDIzMB4XDTIzMDMyODEyMTY0NVoXDTQ4MDMyNzIzNTk1OVowYzELMAkGA1UEBhMC +REUxJzAlBgNVBAoMHkRldXRzY2hlIFRlbGVrb20gU2VjdXJpdHkgR21iSDErMCkG +A1UEAwwiVGVsZWtvbSBTZWN1cml0eSBUTFMgUlNBIFJvb3QgMjAyMzCCAiIwDQYJ +KoZIhvcNAQEBBQADggIPADCCAgoCggIBAO01oYGA88tKaVvC+1GDrib94W7zgRJ9 +cUD/h3VCKSHtgVIs3xLBGYSJwb3FKNXVS2xE1kzbB5ZKVXrKNoIENqil/Cf2SfHV +cp6R+SPWcHu79ZvB7JPPGeplfohwoHP89v+1VmLhc2o0mD6CuKyVU/QBoCcHcqMA +U6DksquDOFczJZSfvkgdmOGjup5czQRxUX11eKvzWarE4GC+j4NSuHUaQTXtvPM6 +Y+mpFEXX5lLRbtLevOP1Czvm4MS9Q2QTps70mDdsipWol8hHD/BeEIvnHRz+sTug +BTNoBUGCwQMrAcjnj02r6LX2zWtEtefdi+zqJbQAIldNsLGyMcEWzv/9FIS3R/qy +8XDe24tsNlikfLMR0cN3f1+2JeANxdKz+bi4d9s3cXFH42AYTyS2dTd4uaNir73J +co4vzLuu2+QVUhkHM/tqty1LkCiCc/4YizWN26cEar7qwU02OxY2kTLvtkCJkUPg +8qKrBC7m8kwOFjQgrIfBLX7JZkcXFBGk8/ehJImr2BrIoVyxo/eMbcgByU/J7MT8 +rFEz0ciD0cmfHdRHNCk+y7AO+oMLKFjlKdw/fKifybYKu6boRhYPluV75Gp6SG12 +mAWl3G0eQh5C2hrgUve1g8Aae3g1LDj1H/1Joy7SWWO/gLCMk3PLNaaZlSJhZQNg ++y+TS/qanIA7AgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUtqeX +gj10hZv3PJ+TmpV5dVKMbUcwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS2 +p5eCPXSFm/c8n5OalXl1UoxtRzANBgkqhkiG9w0BAQwFAAOCAgEAqMxhpr51nhVQ +pGv7qHBFfLp+sVr8WyP6Cnf4mHGCDG3gXkaqk/QeoMPhk9tLrbKmXauw1GLLXrtm +9S3ul0A8Yute1hTWjOKWi0FpkzXmuZlrYrShF2Y0pmtjxrlO8iLpWA1WQdH6DErw +M807u20hOq6OcrXDSvvpfeWxm4bu4uB9tPcy/SKE8YXJN3nptT+/XOR0so8RYgDd +GGah2XsjX/GO1WfoVNpbOms2b/mBsTNHM3dA+VKq3dSDz4V4mZqTuXNnQkYRIer+ +CqkbGmVps4+uFrb2S1ayLfmlyOw7YqPta9BO1UAJpB+Y1zqlklkg5LB9zVtzaL1t +xKITDmcZuI1CfmwMmm6gJC3VRRvcxAIU/oVbZZfKTpBQCHpCNfnqwmbU+AGuHrS+ +w6jv/naaoqYfRvaE7fzbzsQCzndILIyy7MMAo+wsVRjBfhnu4S/yrYObnqsZ38aK +L4x35bcF7DvB7L6Gs4a8wPfc5+pbrrLMtTWGS9DiP7bY+A4A7l3j941Y/8+LN+lj +X273CXE2whJdV/LItM3z7gLfEdxquVeEHVlNjM7IDiPCtyaaEBRx/pOyiriA8A4Q +ntOoUAw3gi/q4Iqd4Sw5/7W0cwDk90imc6y/st53BIe0o82bNSQ3+pCTE4FCxpgm +dTdmQRCsu/WU48IxK63nI1bMNSWSs1A= +-----END CERTIFICATE----- + +# Issuer: CN=FIRMAPROFESIONAL CA ROOT-A WEB O=Firmaprofesional SA +# Subject: CN=FIRMAPROFESIONAL CA ROOT-A WEB O=Firmaprofesional SA +# Label: "FIRMAPROFESIONAL CA ROOT-A WEB" +# Serial: 65916896770016886708751106294915943533 +# MD5 Fingerprint: 82:b2:ad:45:00:82:b0:66:63:f8:5f:c3:67:4e:ce:a3 +# SHA1 Fingerprint: a8:31:11:74:a6:14:15:0d:ca:77:dd:0e:e4:0c:5d:58:fc:a0:72:a5 +# SHA256 Fingerprint: be:f2:56:da:f2:6e:9c:69:bd:ec:16:02:35:97:98:f3:ca:f7:18:21:a0:3e:01:82:57:c5:3c:65:61:7f:3d:4a +-----BEGIN CERTIFICATE----- +MIICejCCAgCgAwIBAgIQMZch7a+JQn81QYehZ1ZMbTAKBggqhkjOPQQDAzBuMQsw +CQYDVQQGEwJFUzEcMBoGA1UECgwTRmlybWFwcm9mZXNpb25hbCBTQTEYMBYGA1UE +YQwPVkFURVMtQTYyNjM0MDY4MScwJQYDVQQDDB5GSVJNQVBST0ZFU0lPTkFMIENB +IFJPT1QtQSBXRUIwHhcNMjIwNDA2MDkwMTM2WhcNNDcwMzMxMDkwMTM2WjBuMQsw +CQYDVQQGEwJFUzEcMBoGA1UECgwTRmlybWFwcm9mZXNpb25hbCBTQTEYMBYGA1UE +YQwPVkFURVMtQTYyNjM0MDY4MScwJQYDVQQDDB5GSVJNQVBST0ZFU0lPTkFMIENB +IFJPT1QtQSBXRUIwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARHU+osEaR3xyrq89Zf +e9MEkVz6iMYiuYMQYneEMy3pA4jU4DP37XcsSmDq5G+tbbT4TIqk5B/K6k84Si6C +cyvHZpsKjECcfIr28jlgst7L7Ljkb+qbXbdTkBgyVcUgt5SjYzBhMA8GA1UdEwEB +/wQFMAMBAf8wHwYDVR0jBBgwFoAUk+FDY1w8ndYn81LsF7Kpryz3dvgwHQYDVR0O +BBYEFJPhQ2NcPJ3WJ/NS7Beyqa8s93b4MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjO +PQQDAwNoADBlAjAdfKR7w4l1M+E7qUW/Runpod3JIha3RxEL2Jq68cgLcFBTApFw +hVmpHqTm6iMxoAACMQD94vizrxa5HnPEluPBMBnYfubDl94cT7iJLzPrSA8Z94dG +XSaQpYXFuXqUPoeovQA= +-----END CERTIFICATE----- + +# Issuer: CN=TWCA CYBER Root CA O=TAIWAN-CA OU=Root CA +# Subject: CN=TWCA CYBER Root CA O=TAIWAN-CA OU=Root CA +# Label: "TWCA CYBER Root CA" +# Serial: 85076849864375384482682434040119489222 +# MD5 Fingerprint: 0b:33:a0:97:52:95:d4:a9:fd:bb:db:6e:a3:55:5b:51 +# SHA1 Fingerprint: f6:b1:1c:1a:83:38:e9:7b:db:b3:a8:c8:33:24:e0:2d:9c:7f:26:66 +# SHA256 Fingerprint: 3f:63:bb:28:14:be:17:4e:c8:b6:43:9c:f0:8d:6d:56:f0:b7:c4:05:88:3a:56:48:a3:34:42:4d:6b:3e:c5:58 +-----BEGIN CERTIFICATE----- +MIIFjTCCA3WgAwIBAgIQQAE0jMIAAAAAAAAAATzyxjANBgkqhkiG9w0BAQwFADBQ +MQswCQYDVQQGEwJUVzESMBAGA1UEChMJVEFJV0FOLUNBMRAwDgYDVQQLEwdSb290 +IENBMRswGQYDVQQDExJUV0NBIENZQkVSIFJvb3QgQ0EwHhcNMjIxMTIyMDY1NDI5 +WhcNNDcxMTIyMTU1OTU5WjBQMQswCQYDVQQGEwJUVzESMBAGA1UEChMJVEFJV0FO +LUNBMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJUV0NBIENZQkVSIFJvb3Qg +Q0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDG+Moe2Qkgfh1sTs6P +40czRJzHyWmqOlt47nDSkvgEs1JSHWdyKKHfi12VCv7qze33Kc7wb3+szT3vsxxF +avcokPFhV8UMxKNQXd7UtcsZyoC5dc4pztKFIuwCY8xEMCDa6pFbVuYdHNWdZsc/ +34bKS1PE2Y2yHer43CdTo0fhYcx9tbD47nORxc5zb87uEB8aBs/pJ2DFTxnk684i +JkXXYJndzk834H/nY62wuFm40AZoNWDTNq5xQwTxaWV4fPMf88oon1oglWa0zbfu +j3ikRRjpJi+NmykosaS3Om251Bw4ckVYsV7r8Cibt4LK/c/WMw+f+5eesRycnupf +Xtuq3VTpMCEobY5583WSjCb+3MX2w7DfRFlDo7YDKPYIMKoNM+HvnKkHIuNZW0CP +2oi3aQiotyMuRAlZN1vH4xfyIutuOVLF3lSnmMlLIJXcRolftBL5hSmO68gnFSDA +S9TMfAxsNAwmmyYxpjyn9tnQS6Jk/zuZQXLB4HCX8SS7K8R0IrGsayIyJNN4KsDA +oS/xUgXJP+92ZuJF2A09rZXIx4kmyA+upwMu+8Ff+iDhcK2wZSA3M2Cw1a/XDBzC +kHDXShi8fgGwsOsVHkQGzaRP6AzRwyAQ4VRlnrZR0Bp2a0JaWHY06rc3Ga4udfmW +5cFZ95RXKSWNOkyrTZpB0F8mAwIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAQYwDwYD +VR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBSdhWEUfMFib5do5E83QOGt4A1WNzAd +BgNVHQ4EFgQUnYVhFHzBYm+XaORPN0DhreANVjcwDQYJKoZIhvcNAQEMBQADggIB +AGSPesRiDrWIzLjHhg6hShbNcAu3p4ULs3a2D6f/CIsLJc+o1IN1KriWiLb73y0t +tGlTITVX1olNc79pj3CjYcya2x6a4CD4bLubIp1dhDGaLIrdaqHXKGnK/nZVekZn +68xDiBaiA9a5F/gZbG0jAn/xX9AKKSM70aoK7akXJlQKTcKlTfjF/biBzysseKNn +TKkHmvPfXvt89YnNdJdhEGoHK4Fa0o635yDRIG4kqIQnoVesqlVYL9zZyvpoBJ7t +RCT5dEA7IzOrg1oYJkK2bVS1FmAwbLGg+LhBoF1JSdJlBTrq/p1hvIbZv97Tujqx +f36SNI7JAG7cmL3c7IAFrQI932XtCwP39xaEBDG6k5TY8hL4iuO/Qq+n1M0RFxbI +Qh0UqEL20kCGoE8jypZFVmAGzbdVAaYBlGX+bgUJurSkquLvWL69J1bY73NxW0Qz +8ppy6rBePm6pUlvscG21h483XjyMnM7k8M4MZ0HMzvaAq07MTFb1wWFZk7Q+ptq4 +NxKfKjLji7gh7MMrZQzvIt6IKTtM1/r+t+FHvpw+PoP7UV31aPcuIYXcv/Fa4nzX +xeSDwWrruoBa3lwtcHb4yOWHh8qgnaHlIhInD0Q9HWzq1MKLL295q39QpsQZp6F6 +t5b5wR9iWqJDB0BeJsas7a5wFsWqynKKTbDPAYsDP27X +-----END CERTIFICATE----- + +# Issuer: CN=SecureSign Root CA12 O=Cybertrust Japan Co., Ltd. +# Subject: CN=SecureSign Root CA12 O=Cybertrust Japan Co., Ltd. +# Label: "SecureSign Root CA12" +# Serial: 587887345431707215246142177076162061960426065942 +# MD5 Fingerprint: c6:89:ca:64:42:9b:62:08:49:0b:1e:7f:e9:07:3d:e8 +# SHA1 Fingerprint: 7a:22:1e:3d:de:1b:06:ac:9e:c8:47:70:16:8e:3c:e5:f7:6b:06:f4 +# SHA256 Fingerprint: 3f:03:4b:b5:70:4d:44:b2:d0:85:45:a0:20:57:de:93:eb:f3:90:5f:ce:72:1a:cb:c7:30:c0:6d:da:ee:90:4e +-----BEGIN CERTIFICATE----- +MIIDcjCCAlqgAwIBAgIUZvnHwa/swlG07VOX5uaCwysckBYwDQYJKoZIhvcNAQEL +BQAwUTELMAkGA1UEBhMCSlAxIzAhBgNVBAoTGkN5YmVydHJ1c3QgSmFwYW4gQ28u +LCBMdGQuMR0wGwYDVQQDExRTZWN1cmVTaWduIFJvb3QgQ0ExMjAeFw0yMDA0MDgw +NTM2NDZaFw00MDA0MDgwNTM2NDZaMFExCzAJBgNVBAYTAkpQMSMwIQYDVQQKExpD +eWJlcnRydXN0IEphcGFuIENvLiwgTHRkLjEdMBsGA1UEAxMUU2VjdXJlU2lnbiBS +b290IENBMTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6OcE3emhF +KxS06+QT61d1I02PJC0W6K6OyX2kVzsqdiUzg2zqMoqUm048luT9Ub+ZyZN+v/mt +p7JIKwccJ/VMvHASd6SFVLX9kHrko+RRWAPNEHl57muTH2SOa2SroxPjcf59q5zd +J1M3s6oYwlkm7Fsf0uZlfO+TvdhYXAvA42VvPMfKWeP+bl+sg779XSVOKik71gur +FzJ4pOE+lEa+Ym6b3kaosRbnhW70CEBFEaCeVESE99g2zvVQR9wsMJvuwPWW0v4J +hscGWa5Pro4RmHvzC1KqYiaqId+OJTN5lxZJjfU+1UefNzFJM3IFTQy2VYzxV4+K +h9GtxRESOaCtAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD +AgEGMB0GA1UdDgQWBBRXNPN0zwRL1SXm8UC2LEzZLemgrTANBgkqhkiG9w0BAQsF +AAOCAQEAPrvbFxbS8hQBICw4g0utvsqFepq2m2um4fylOqyttCg6r9cBg0krY6Ld +mmQOmFxv3Y67ilQiLUoT865AQ9tPkbeGGuwAtEGBpE/6aouIs3YIcipJQMPTw4WJ +mBClnW8Zt7vPemVV2zfrPIpyMpcemik+rY3moxtt9XUa5rBouVui7mlHJzWhhpmA +8zNL4WukJsPvdFlseqJkth5Ew1DgDzk9qTPxpfPSvWKErI4cqc1avTc7bgoitPQV +55FYxTpE05Uo2cBl6XLK0A+9H7MV2anjpEcJnuDLN/v9vZfVvhgaaaI5gdka9at/ +yOPiZwud9AzqVN/Ssq+xIvEg37xEHA== +-----END CERTIFICATE----- + +# Issuer: CN=SecureSign Root CA14 O=Cybertrust Japan Co., Ltd. +# Subject: CN=SecureSign Root CA14 O=Cybertrust Japan Co., Ltd. +# Label: "SecureSign Root CA14" +# Serial: 575790784512929437950770173562378038616896959179 +# MD5 Fingerprint: 71:0d:72:fa:92:19:65:5e:89:04:ac:16:33:f0:bc:d5 +# SHA1 Fingerprint: dd:50:c0:f7:79:b3:64:2e:74:a2:b8:9d:9f:d3:40:dd:bb:f0:f2:4f +# SHA256 Fingerprint: 4b:00:9c:10:34:49:4f:9a:b5:6b:ba:3b:a1:d6:27:31:fc:4d:20:d8:95:5a:dc:ec:10:a9:25:60:72:61:e3:38 +-----BEGIN CERTIFICATE----- +MIIFcjCCA1qgAwIBAgIUZNtaDCBO6Ncpd8hQJ6JaJ90t8sswDQYJKoZIhvcNAQEM +BQAwUTELMAkGA1UEBhMCSlAxIzAhBgNVBAoTGkN5YmVydHJ1c3QgSmFwYW4gQ28u +LCBMdGQuMR0wGwYDVQQDExRTZWN1cmVTaWduIFJvb3QgQ0ExNDAeFw0yMDA0MDgw +NzA2MTlaFw00NTA0MDgwNzA2MTlaMFExCzAJBgNVBAYTAkpQMSMwIQYDVQQKExpD +eWJlcnRydXN0IEphcGFuIENvLiwgTHRkLjEdMBsGA1UEAxMUU2VjdXJlU2lnbiBS +b290IENBMTQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDF0nqh1oq/ +FjHQmNE6lPxauG4iwWL3pwon71D2LrGeaBLwbCRjOfHw3xDG3rdSINVSW0KZnvOg +vlIfX8xnbacuUKLBl422+JX1sLrcneC+y9/3OPJH9aaakpUqYllQC6KxNedlsmGy +6pJxaeQp8E+BgQQ8sqVb1MWoWWd7VRxJq3qdwudzTe/NCcLEVxLbAQ4jeQkHO6Lo +/IrPj8BGJJw4J+CDnRugv3gVEOuGTgpa/d/aLIJ+7sr2KeH6caH3iGicnPCNvg9J +kdjqOvn90Ghx2+m1K06Ckm9mH+Dw3EzsytHqunQG+bOEkJTRX45zGRBdAuVwpcAQ +0BB8b8VYSbSwbprafZX1zNoCr7gsfXmPvkPx+SgojQlD+Ajda8iLLCSxjVIHvXib +y8posqTdDEx5YMaZ0ZPxMBoH064iwurO8YQJzOAUbn8/ftKChazcqRZOhaBgy/ac +18izju3Gm5h1DVXoX+WViwKkrkMpKBGk5hIwAUt1ax5mnXkvpXYvHUC0bcl9eQjs +0Wq2XSqypWa9a4X0dFbD9ed1Uigspf9mR6XU/v6eVL9lfgHWMI+lNpyiUBzuOIAB +SMbHdPTGrMNASRZhdCyvjG817XsYAFs2PJxQDcqSMxDxJklt33UkN4Ii1+iW/RVL +ApY+B3KVfqs9TC7XyvDf4Fg/LS8EmjijAQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD +AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUBpOjCl4oaTeqYR3r6/wtbyPk +86AwDQYJKoZIhvcNAQEMBQADggIBAJaAcgkGfpzMkwQWu6A6jZJOtxEaCnFxEM0E +rX+lRVAQZk5KQaID2RFPeje5S+LGjzJmdSX7684/AykmjbgWHfYfM25I5uj4V7Ib +ed87hwriZLoAymzvftAj63iP/2SbNDefNWWipAA9EiOWWF3KY4fGoweITedpdopT +zfFP7ELyk+OZpDc8h7hi2/DsHzc/N19DzFGdtfCXwreFamgLRB7lUe6TzktuhsHS +DCRZNhqfLJGP4xjblJUK7ZGqDpncllPjYYPGFrojutzdfhrGe0K22VoF3Jpf1d+4 +2kd92jjbrDnVHmtsKheMYc2xbXIBw8MgAGJoFjHVdqqGuw6qnsb58Nn4DSEC5MUo +FlkRudlpcyqSeLiSV5sI8jrlL5WwWLdrIBRtFO8KvH7YVdiI2i/6GaX7i+B/OfVy +K4XELKzvGUWSTLNhB9xNH27SgRNcmvMSZ4PPmz+Ln52kuaiWA3rF7iDeM9ovnhp6 +dB7h7sxaOgTdsxoEqBRjrLdHEoOabPXm6RUVkRqEGQ6UROcSjiVbgGcZ3GOTEAtl +Lor6CZpO2oYofaphNdgOpygau1LgePhsumywbrmHXumZNTfxPWQrqaA0k89jL9WB +365jJ6UeTo3cKXhZ+PmhIIynJkBugnLNeLLIjzwec+fBH7/PzqUqm9tEZDKgu39c +JRNItX+S +-----END CERTIFICATE----- + +# Issuer: CN=SecureSign Root CA15 O=Cybertrust Japan Co., Ltd. +# Subject: CN=SecureSign Root CA15 O=Cybertrust Japan Co., Ltd. +# Label: "SecureSign Root CA15" +# Serial: 126083514594751269499665114766174399806381178503 +# MD5 Fingerprint: 13:30:fc:c4:62:a6:a9:de:b5:c1:68:af:b5:d2:31:47 +# SHA1 Fingerprint: cb:ba:83:c8:c1:5a:5d:f1:f9:73:6f:ca:d7:ef:28:13:06:4a:07:7d +# SHA256 Fingerprint: e7:78:f0:f0:95:fe:84:37:29:cd:1a:00:82:17:9e:53:14:a9:c2:91:44:28:05:e1:fb:1d:8f:b6:b8:88:6c:3a +-----BEGIN CERTIFICATE----- +MIICIzCCAamgAwIBAgIUFhXHw9hJp75pDIqI7fBw+d23PocwCgYIKoZIzj0EAwMw +UTELMAkGA1UEBhMCSlAxIzAhBgNVBAoTGkN5YmVydHJ1c3QgSmFwYW4gQ28uLCBM +dGQuMR0wGwYDVQQDExRTZWN1cmVTaWduIFJvb3QgQ0ExNTAeFw0yMDA0MDgwODMy +NTZaFw00NTA0MDgwODMyNTZaMFExCzAJBgNVBAYTAkpQMSMwIQYDVQQKExpDeWJl +cnRydXN0IEphcGFuIENvLiwgTHRkLjEdMBsGA1UEAxMUU2VjdXJlU2lnbiBSb290 +IENBMTUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQLUHSNZDKZmbPSYAi4Io5GdCx4 +wCtELW1fHcmuS1Iggz24FG1Th2CeX2yF2wYUleDHKP+dX+Sq8bOLbe1PL0vJSpSR +ZHX+AezB2Ot6lHhWGENfa4HL9rzatAy2KZMIaY+jQjBAMA8GA1UdEwEB/wQFMAMB +Af8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTrQciu/NWeUUj1vYv0hyCTQSvT +9DAKBggqhkjOPQQDAwNoADBlAjEA2S6Jfl5OpBEHvVnCB96rMjhTKkZEBhd6zlHp +4P9mLQlO4E/0BdGF9jVg3PVys0Z9AjBEmEYagoUeYWmJSwdLZrWeqrqgHkHZAXQ6 +bkU6iYAZezKYVWOr62Nuk22rGwlgMU4= +-----END CERTIFICATE----- diff --git a/venv/Lib/site-packages/certifi/core.py b/venv/Lib/site-packages/certifi/core.py new file mode 100644 index 00000000..91f538bb --- /dev/null +++ b/venv/Lib/site-packages/certifi/core.py @@ -0,0 +1,114 @@ +""" +certifi.py +~~~~~~~~~~ + +This module returns the installation location of cacert.pem or its contents. +""" +import sys +import atexit + +def exit_cacert_ctx() -> None: + _CACERT_CTX.__exit__(None, None, None) # type: ignore[union-attr] + + +if sys.version_info >= (3, 11): + + from importlib.resources import as_file, files + + _CACERT_CTX = None + _CACERT_PATH = None + + def where() -> str: + # This is slightly terrible, but we want to delay extracting the file + # in cases where we're inside of a zipimport situation until someone + # actually calls where(), but we don't want to re-extract the file + # on every call of where(), so we'll do it once then store it in a + # global variable. + global _CACERT_CTX + global _CACERT_PATH + if _CACERT_PATH is None: + # This is slightly janky, the importlib.resources API wants you to + # manage the cleanup of this file, so it doesn't actually return a + # path, it returns a context manager that will give you the path + # when you enter it and will do any cleanup when you leave it. In + # the common case of not needing a temporary file, it will just + # return the file system location and the __exit__() is a no-op. + # + # We also have to hold onto the actual context manager, because + # it will do the cleanup whenever it gets garbage collected, so + # we will also store that at the global level as well. + _CACERT_CTX = as_file(files("certifi").joinpath("cacert.pem")) + _CACERT_PATH = str(_CACERT_CTX.__enter__()) + atexit.register(exit_cacert_ctx) + + return _CACERT_PATH + + def contents() -> str: + return files("certifi").joinpath("cacert.pem").read_text(encoding="ascii") + +elif sys.version_info >= (3, 7): + + from importlib.resources import path as get_path, read_text + + _CACERT_CTX = None + _CACERT_PATH = None + + def where() -> str: + # This is slightly terrible, but we want to delay extracting the + # file in cases where we're inside of a zipimport situation until + # someone actually calls where(), but we don't want to re-extract + # the file on every call of where(), so we'll do it once then store + # it in a global variable. + global _CACERT_CTX + global _CACERT_PATH + if _CACERT_PATH is None: + # This is slightly janky, the importlib.resources API wants you + # to manage the cleanup of this file, so it doesn't actually + # return a path, it returns a context manager that will give + # you the path when you enter it and will do any cleanup when + # you leave it. In the common case of not needing a temporary + # file, it will just return the file system location and the + # __exit__() is a no-op. + # + # We also have to hold onto the actual context manager, because + # it will do the cleanup whenever it gets garbage collected, so + # we will also store that at the global level as well. + _CACERT_CTX = get_path("certifi", "cacert.pem") + _CACERT_PATH = str(_CACERT_CTX.__enter__()) + atexit.register(exit_cacert_ctx) + + return _CACERT_PATH + + def contents() -> str: + return read_text("certifi", "cacert.pem", encoding="ascii") + +else: + import os + import types + from typing import Union + + Package = Union[types.ModuleType, str] + Resource = Union[str, "os.PathLike"] + + # This fallback will work for Python versions prior to 3.7 that lack the + # importlib.resources module but relies on the existing `where` function + # so won't address issues with environments like PyOxidizer that don't set + # __file__ on modules. + def read_text( + package: Package, + resource: Resource, + encoding: str = 'utf-8', + errors: str = 'strict' + ) -> str: + with open(where(), encoding=encoding) as data: + return data.read() + + # If we don't have importlib.resources, then we will just do the old logic + # of assuming we're on the filesystem and munge the path directly. + def where() -> str: + f = os.path.dirname(__file__) + + return os.path.join(f, "cacert.pem") + + def contents() -> str: + return read_text("certifi", "cacert.pem", encoding="ascii") diff --git a/venv/Lib/site-packages/certifi/py.typed b/venv/Lib/site-packages/certifi/py.typed new file mode 100644 index 00000000..e69de29b diff --git a/venv/Lib/site-packages/charset_normalizer-3.4.0.dist-info/INSTALLER b/venv/Lib/site-packages/charset_normalizer-3.4.0.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/venv/Lib/site-packages/charset_normalizer-3.4.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/Lib/site-packages/charset_normalizer-3.4.0.dist-info/LICENSE b/venv/Lib/site-packages/charset_normalizer-3.4.0.dist-info/LICENSE new file mode 100644 index 00000000..ad82355b --- /dev/null +++ b/venv/Lib/site-packages/charset_normalizer-3.4.0.dist-info/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 TAHRI Ahmed R. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/venv/Lib/site-packages/charset_normalizer-3.4.0.dist-info/METADATA b/venv/Lib/site-packages/charset_normalizer-3.4.0.dist-info/METADATA new file mode 100644 index 00000000..b19096b1 --- /dev/null +++ b/venv/Lib/site-packages/charset_normalizer-3.4.0.dist-info/METADATA @@ -0,0 +1,695 @@ +Metadata-Version: 2.1 +Name: charset-normalizer +Version: 3.4.0 +Summary: The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet. +Home-page: https://github.com/Ousret/charset_normalizer +Author: Ahmed TAHRI +Author-email: tahri.ahmed@proton.me +License: MIT +Project-URL: Bug Reports, https://github.com/Ousret/charset_normalizer/issues +Project-URL: Documentation, https://charset-normalizer.readthedocs.io/en/latest +Keywords: encoding,charset,charset-detector,detector,normalization,unicode,chardet,detect +Classifier: Development Status :: 5 - Production/Stable +Classifier: License :: OSI Approved :: MIT License +Classifier: Intended Audience :: Developers +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Classifier: Operating System :: OS Independent +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3.12 +Classifier: Programming Language :: Python :: 3.13 +Classifier: Programming Language :: Python :: Implementation :: PyPy +Classifier: Topic :: Text Processing :: Linguistic +Classifier: Topic :: Utilities +Classifier: Typing :: Typed +Requires-Python: >=3.7.0 +Description-Content-Type: text/markdown +License-File: LICENSE +Provides-Extra: unicode_backport + +

      Charset Detection, for Everyone 👋

      + +

      + The Real First Universal Charset Detector
      +
      + + + + Download Count Total + + + + +

      +

      + Featured Packages
      + + Static Badge + + + Static Badge + +

      +

      + In other language (unofficial port - by the community)
      + + Static Badge + +

      + +> A library that helps you read text from an unknown charset encoding.
      Motivated by `chardet`, +> I'm trying to resolve the issue by taking a new approach. +> All IANA character set names for which the Python core library provides codecs are supported. + +

      + >>>>> 👉 Try Me Online Now, Then Adopt Me 👈 <<<<< +

      + +This project offers you an alternative to **Universal Charset Encoding Detector**, also known as **Chardet**. + +| Feature | [Chardet](https://github.com/chardet/chardet) | Charset Normalizer | [cChardet](https://github.com/PyYoshi/cChardet) | +|--------------------------------------------------|:---------------------------------------------:|:--------------------------------------------------------------------------------------------------:|:-----------------------------------------------:| +| `Fast` | ⌠| ✅ | ✅ | +| `Universal**` | ⌠| ✅ | ⌠| +| `Reliable` **without** distinguishable standards | ⌠| ✅ | ✅ | +| `Reliable` **with** distinguishable standards | ✅ | ✅ | ✅ | +| `License` | LGPL-2.1
      _restrictive_ | MIT | MPL-1.1
      _restrictive_ | +| `Native Python` | ✅ | ✅ | ⌠| +| `Detect spoken language` | ⌠| ✅ | N/A | +| `UnicodeDecodeError Safety` | ⌠| ✅ | ⌠| +| `Whl Size (min)` | 193.6 kB | 42 kB | ~200 kB | +| `Supported Encoding` | 33 | 🎉 [99](https://charset-normalizer.readthedocs.io/en/latest/user/support.html#supported-encodings) | 40 | + +

      +Reading Normalized TextCat Reading Text +

      + +*\*\* : They are clearly using specific code for a specific encoding even if covering most of used one*
      +Did you got there because of the logs? See [https://charset-normalizer.readthedocs.io/en/latest/user/miscellaneous.html](https://charset-normalizer.readthedocs.io/en/latest/user/miscellaneous.html) + +## âš¡ Performance + +This package offer better performance than its counterpart Chardet. Here are some numbers. + +| Package | Accuracy | Mean per file (ms) | File per sec (est) | +|-----------------------------------------------|:--------:|:------------------:|:------------------:| +| [chardet](https://github.com/chardet/chardet) | 86 % | 200 ms | 5 file/sec | +| charset-normalizer | **98 %** | **10 ms** | 100 file/sec | + +| Package | 99th percentile | 95th percentile | 50th percentile | +|-----------------------------------------------|:---------------:|:---------------:|:---------------:| +| [chardet](https://github.com/chardet/chardet) | 1200 ms | 287 ms | 23 ms | +| charset-normalizer | 100 ms | 50 ms | 5 ms | + +Chardet's performance on larger file (1MB+) are very poor. Expect huge difference on large payload. + +> Stats are generated using 400+ files using default parameters. More details on used files, see GHA workflows. +> And yes, these results might change at any time. The dataset can be updated to include more files. +> The actual delays heavily depends on your CPU capabilities. The factors should remain the same. +> Keep in mind that the stats are generous and that Chardet accuracy vs our is measured using Chardet initial capability +> (eg. Supported Encoding) Challenge-them if you want. + +## ✨ Installation + +Using pip: + +```sh +pip install charset-normalizer -U +``` + +## 🚀 Basic Usage + +### CLI +This package comes with a CLI. + +``` +usage: normalizer [-h] [-v] [-a] [-n] [-m] [-r] [-f] [-t THRESHOLD] + file [file ...] + +The Real First Universal Charset Detector. Discover originating encoding used +on text file. Normalize text to unicode. + +positional arguments: + files File(s) to be analysed + +optional arguments: + -h, --help show this help message and exit + -v, --verbose Display complementary information about file if any. + Stdout will contain logs about the detection process. + -a, --with-alternative + Output complementary possibilities if any. Top-level + JSON WILL be a list. + -n, --normalize Permit to normalize input file. If not set, program + does not write anything. + -m, --minimal Only output the charset detected to STDOUT. Disabling + JSON output. + -r, --replace Replace file when trying to normalize it instead of + creating a new one. + -f, --force Replace file without asking if you are sure, use this + flag with caution. + -t THRESHOLD, --threshold THRESHOLD + Define a custom maximum amount of chaos allowed in + decoded content. 0. <= chaos <= 1. + --version Show version information and exit. +``` + +```bash +normalizer ./data/sample.1.fr.srt +``` + +or + +```bash +python -m charset_normalizer ./data/sample.1.fr.srt +``` + +🎉 Since version 1.4.0 the CLI produce easily usable stdout result in JSON format. + +```json +{ + "path": "/home/default/projects/charset_normalizer/data/sample.1.fr.srt", + "encoding": "cp1252", + "encoding_aliases": [ + "1252", + "windows_1252" + ], + "alternative_encodings": [ + "cp1254", + "cp1256", + "cp1258", + "iso8859_14", + "iso8859_15", + "iso8859_16", + "iso8859_3", + "iso8859_9", + "latin_1", + "mbcs" + ], + "language": "French", + "alphabets": [ + "Basic Latin", + "Latin-1 Supplement" + ], + "has_sig_or_bom": false, + "chaos": 0.149, + "coherence": 97.152, + "unicode_path": null, + "is_preferred": true +} +``` + +### Python +*Just print out normalized text* +```python +from charset_normalizer import from_path + +results = from_path('./my_subtitle.srt') + +print(str(results.best())) +``` + +*Upgrade your code without effort* +```python +from charset_normalizer import detect +``` + +The above code will behave the same as **chardet**. We ensure that we offer the best (reasonable) BC result possible. + +See the docs for advanced usage : [readthedocs.io](https://charset-normalizer.readthedocs.io/en/latest/) + +## 😇 Why + +When I started using Chardet, I noticed that it was not suited to my expectations, and I wanted to propose a +reliable alternative using a completely different method. Also! I never back down on a good challenge! + +I **don't care** about the **originating charset** encoding, because **two different tables** can +produce **two identical rendered string.** +What I want is to get readable text, the best I can. + +In a way, **I'm brute forcing text decoding.** How cool is that ? 😎 + +Don't confuse package **ftfy** with charset-normalizer or chardet. ftfy goal is to repair unicode string whereas charset-normalizer to convert raw file in unknown encoding to unicode. + +## 🰠How + + - Discard all charset encoding table that could not fit the binary content. + - Measure noise, or the mess once opened (by chunks) with a corresponding charset encoding. + - Extract matches with the lowest mess detected. + - Additionally, we measure coherence / probe for a language. + +**Wait a minute**, what is noise/mess and coherence according to **YOU ?** + +*Noise :* I opened hundred of text files, **written by humans**, with the wrong encoding table. **I observed**, then +**I established** some ground rules about **what is obvious** when **it seems like** a mess. + I know that my interpretation of what is noise is probably incomplete, feel free to contribute in order to + improve or rewrite it. + +*Coherence :* For each language there is on earth, we have computed ranked letter appearance occurrences (the best we can). So I thought +that intel is worth something here. So I use those records against decoded text to check if I can detect intelligent design. + +## âš¡ Known limitations + + - Language detection is unreliable when text contains two or more languages sharing identical letters. (eg. HTML (english tags) + Turkish content (Sharing Latin characters)) + - Every charset detector heavily depends on sufficient content. In common cases, do not bother run detection on very tiny content. + +## âš ï¸ About Python EOLs + +**If you are running:** + +- Python >=2.7,<3.5: Unsupported +- Python 3.5: charset-normalizer < 2.1 +- Python 3.6: charset-normalizer < 3.1 +- Python 3.7: charset-normalizer < 4.0 + +Upgrade your Python interpreter as soon as possible. + +## 👤 Contributing + +Contributions, issues and feature requests are very much welcome.
      +Feel free to check [issues page](https://github.com/ousret/charset_normalizer/issues) if you want to contribute. + +## 📠License + +Copyright © [Ahmed TAHRI @Ousret](https://github.com/Ousret).
      +This project is [MIT](https://github.com/Ousret/charset_normalizer/blob/master/LICENSE) licensed. + +Characters frequencies used in this project © 2012 [Denny VrandeÄić](http://simia.net/letters/) + +## 💼 For Enterprise + +Professional support for charset-normalizer is available as part of the [Tidelift +Subscription][1]. Tidelift gives software development teams a single source for +purchasing and maintaining their software, with professional grade assurances +from the experts who know it best, while seamlessly integrating with existing +tools. + +[1]: https://tidelift.com/subscription/pkg/pypi-charset-normalizer?utm_source=pypi-charset-normalizer&utm_medium=readme + +# Changelog +All notable changes to charset-normalizer will be documented in this file. This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). + +## [3.4.0](https://github.com/Ousret/charset_normalizer/compare/3.3.2...3.4.0) (2024-10-08) + +### Added +- Argument `--no-preemptive` in the CLI to prevent the detector to search for hints. +- Support for Python 3.13 (#512) + +### Fixed +- Relax the TypeError exception thrown when trying to compare a CharsetMatch with anything else than a CharsetMatch. +- Improved the general reliability of the detector based on user feedbacks. (#520) (#509) (#498) (#407) (#537) +- Declared charset in content (preemptive detection) not changed when converting to utf-8 bytes. (#381) + +## [3.3.2](https://github.com/Ousret/charset_normalizer/compare/3.3.1...3.3.2) (2023-10-31) + +### Fixed +- Unintentional memory usage regression when using large payload that match several encoding (#376) +- Regression on some detection case showcased in the documentation (#371) + +### Added +- Noise (md) probe that identify malformed arabic representation due to the presence of letters in isolated form (credit to my wife) + +## [3.3.1](https://github.com/Ousret/charset_normalizer/compare/3.3.0...3.3.1) (2023-10-22) + +### Changed +- Optional mypyc compilation upgraded to version 1.6.1 for Python >= 3.8 +- Improved the general detection reliability based on reports from the community + +## [3.3.0](https://github.com/Ousret/charset_normalizer/compare/3.2.0...3.3.0) (2023-09-30) + +### Added +- Allow to execute the CLI (e.g. normalizer) through `python -m charset_normalizer.cli` or `python -m charset_normalizer` +- Support for 9 forgotten encoding that are supported by Python but unlisted in `encoding.aliases` as they have no alias (#323) + +### Removed +- (internal) Redundant utils.is_ascii function and unused function is_private_use_only +- (internal) charset_normalizer.assets is moved inside charset_normalizer.constant + +### Changed +- (internal) Unicode code blocks in constants are updated using the latest v15.0.0 definition to improve detection +- Optional mypyc compilation upgraded to version 1.5.1 for Python >= 3.8 + +### Fixed +- Unable to properly sort CharsetMatch when both chaos/noise and coherence were close due to an unreachable condition in \_\_lt\_\_ (#350) + +## [3.2.0](https://github.com/Ousret/charset_normalizer/compare/3.1.0...3.2.0) (2023-06-07) + +### Changed +- Typehint for function `from_path` no longer enforce `PathLike` as its first argument +- Minor improvement over the global detection reliability + +### Added +- Introduce function `is_binary` that relies on main capabilities, and optimized to detect binaries +- Propagate `enable_fallback` argument throughout `from_bytes`, `from_path`, and `from_fp` that allow a deeper control over the detection (default True) +- Explicit support for Python 3.12 + +### Fixed +- Edge case detection failure where a file would contain 'very-long' camel cased word (Issue #289) + +## [3.1.0](https://github.com/Ousret/charset_normalizer/compare/3.0.1...3.1.0) (2023-03-06) + +### Added +- Argument `should_rename_legacy` for legacy function `detect` and disregard any new arguments without errors (PR #262) + +### Removed +- Support for Python 3.6 (PR #260) + +### Changed +- Optional speedup provided by mypy/c 1.0.1 + +## [3.0.1](https://github.com/Ousret/charset_normalizer/compare/3.0.0...3.0.1) (2022-11-18) + +### Fixed +- Multi-bytes cutter/chunk generator did not always cut correctly (PR #233) + +### Changed +- Speedup provided by mypy/c 0.990 on Python >= 3.7 + +## [3.0.0](https://github.com/Ousret/charset_normalizer/compare/2.1.1...3.0.0) (2022-10-20) + +### Added +- Extend the capability of explain=True when cp_isolation contains at most two entries (min one), will log in details of the Mess-detector results +- Support for alternative language frequency set in charset_normalizer.assets.FREQUENCIES +- Add parameter `language_threshold` in `from_bytes`, `from_path` and `from_fp` to adjust the minimum expected coherence ratio +- `normalizer --version` now specify if current version provide extra speedup (meaning mypyc compilation whl) + +### Changed +- Build with static metadata using 'build' frontend +- Make the language detection stricter +- Optional: Module `md.py` can be compiled using Mypyc to provide an extra speedup up to 4x faster than v2.1 + +### Fixed +- CLI with opt --normalize fail when using full path for files +- TooManyAccentuatedPlugin induce false positive on the mess detection when too few alpha character have been fed to it +- Sphinx warnings when generating the documentation + +### Removed +- Coherence detector no longer return 'Simple English' instead return 'English' +- Coherence detector no longer return 'Classical Chinese' instead return 'Chinese' +- Breaking: Method `first()` and `best()` from CharsetMatch +- UTF-7 will no longer appear as "detected" without a recognized SIG/mark (is unreliable/conflict with ASCII) +- Breaking: Class aliases CharsetDetector, CharsetDoctor, CharsetNormalizerMatch and CharsetNormalizerMatches +- Breaking: Top-level function `normalize` +- Breaking: Properties `chaos_secondary_pass`, `coherence_non_latin` and `w_counter` from CharsetMatch +- Support for the backport `unicodedata2` + +## [3.0.0rc1](https://github.com/Ousret/charset_normalizer/compare/3.0.0b2...3.0.0rc1) (2022-10-18) + +### Added +- Extend the capability of explain=True when cp_isolation contains at most two entries (min one), will log in details of the Mess-detector results +- Support for alternative language frequency set in charset_normalizer.assets.FREQUENCIES +- Add parameter `language_threshold` in `from_bytes`, `from_path` and `from_fp` to adjust the minimum expected coherence ratio + +### Changed +- Build with static metadata using 'build' frontend +- Make the language detection stricter + +### Fixed +- CLI with opt --normalize fail when using full path for files +- TooManyAccentuatedPlugin induce false positive on the mess detection when too few alpha character have been fed to it + +### Removed +- Coherence detector no longer return 'Simple English' instead return 'English' +- Coherence detector no longer return 'Classical Chinese' instead return 'Chinese' + +## [3.0.0b2](https://github.com/Ousret/charset_normalizer/compare/3.0.0b1...3.0.0b2) (2022-08-21) + +### Added +- `normalizer --version` now specify if current version provide extra speedup (meaning mypyc compilation whl) + +### Removed +- Breaking: Method `first()` and `best()` from CharsetMatch +- UTF-7 will no longer appear as "detected" without a recognized SIG/mark (is unreliable/conflict with ASCII) + +### Fixed +- Sphinx warnings when generating the documentation + +## [3.0.0b1](https://github.com/Ousret/charset_normalizer/compare/2.1.0...3.0.0b1) (2022-08-15) + +### Changed +- Optional: Module `md.py` can be compiled using Mypyc to provide an extra speedup up to 4x faster than v2.1 + +### Removed +- Breaking: Class aliases CharsetDetector, CharsetDoctor, CharsetNormalizerMatch and CharsetNormalizerMatches +- Breaking: Top-level function `normalize` +- Breaking: Properties `chaos_secondary_pass`, `coherence_non_latin` and `w_counter` from CharsetMatch +- Support for the backport `unicodedata2` + +## [2.1.1](https://github.com/Ousret/charset_normalizer/compare/2.1.0...2.1.1) (2022-08-19) + +### Deprecated +- Function `normalize` scheduled for removal in 3.0 + +### Changed +- Removed useless call to decode in fn is_unprintable (#206) + +### Fixed +- Third-party library (i18n xgettext) crashing not recognizing utf_8 (PEP 263) with underscore from [@aleksandernovikov](https://github.com/aleksandernovikov) (#204) + +## [2.1.0](https://github.com/Ousret/charset_normalizer/compare/2.0.12...2.1.0) (2022-06-19) + +### Added +- Output the Unicode table version when running the CLI with `--version` (PR #194) + +### Changed +- Re-use decoded buffer for single byte character sets from [@nijel](https://github.com/nijel) (PR #175) +- Fixing some performance bottlenecks from [@deedy5](https://github.com/deedy5) (PR #183) + +### Fixed +- Workaround potential bug in cpython with Zero Width No-Break Space located in Arabic Presentation Forms-B, Unicode 1.1 not acknowledged as space (PR #175) +- CLI default threshold aligned with the API threshold from [@oleksandr-kuzmenko](https://github.com/oleksandr-kuzmenko) (PR #181) + +### Removed +- Support for Python 3.5 (PR #192) + +### Deprecated +- Use of backport unicodedata from `unicodedata2` as Python is quickly catching up, scheduled for removal in 3.0 (PR #194) + +## [2.0.12](https://github.com/Ousret/charset_normalizer/compare/2.0.11...2.0.12) (2022-02-12) + +### Fixed +- ASCII miss-detection on rare cases (PR #170) + +## [2.0.11](https://github.com/Ousret/charset_normalizer/compare/2.0.10...2.0.11) (2022-01-30) + +### Added +- Explicit support for Python 3.11 (PR #164) + +### Changed +- The logging behavior have been completely reviewed, now using only TRACE and DEBUG levels (PR #163 #165) + +## [2.0.10](https://github.com/Ousret/charset_normalizer/compare/2.0.9...2.0.10) (2022-01-04) + +### Fixed +- Fallback match entries might lead to UnicodeDecodeError for large bytes sequence (PR #154) + +### Changed +- Skipping the language-detection (CD) on ASCII (PR #155) + +## [2.0.9](https://github.com/Ousret/charset_normalizer/compare/2.0.8...2.0.9) (2021-12-03) + +### Changed +- Moderating the logging impact (since 2.0.8) for specific environments (PR #147) + +### Fixed +- Wrong logging level applied when setting kwarg `explain` to True (PR #146) + +## [2.0.8](https://github.com/Ousret/charset_normalizer/compare/2.0.7...2.0.8) (2021-11-24) +### Changed +- Improvement over Vietnamese detection (PR #126) +- MD improvement on trailing data and long foreign (non-pure latin) data (PR #124) +- Efficiency improvements in cd/alphabet_languages from [@adbar](https://github.com/adbar) (PR #122) +- call sum() without an intermediary list following PEP 289 recommendations from [@adbar](https://github.com/adbar) (PR #129) +- Code style as refactored by Sourcery-AI (PR #131) +- Minor adjustment on the MD around european words (PR #133) +- Remove and replace SRTs from assets / tests (PR #139) +- Initialize the library logger with a `NullHandler` by default from [@nmaynes](https://github.com/nmaynes) (PR #135) +- Setting kwarg `explain` to True will add provisionally (bounded to function lifespan) a specific stream handler (PR #135) + +### Fixed +- Fix large (misleading) sequence giving UnicodeDecodeError (PR #137) +- Avoid using too insignificant chunk (PR #137) + +### Added +- Add and expose function `set_logging_handler` to configure a specific StreamHandler from [@nmaynes](https://github.com/nmaynes) (PR #135) +- Add `CHANGELOG.md` entries, format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) (PR #141) + +## [2.0.7](https://github.com/Ousret/charset_normalizer/compare/2.0.6...2.0.7) (2021-10-11) +### Added +- Add support for Kazakh (Cyrillic) language detection (PR #109) + +### Changed +- Further, improve inferring the language from a given single-byte code page (PR #112) +- Vainly trying to leverage PEP263 when PEP3120 is not supported (PR #116) +- Refactoring for potential performance improvements in loops from [@adbar](https://github.com/adbar) (PR #113) +- Various detection improvement (MD+CD) (PR #117) + +### Removed +- Remove redundant logging entry about detected language(s) (PR #115) + +### Fixed +- Fix a minor inconsistency between Python 3.5 and other versions regarding language detection (PR #117 #102) + +## [2.0.6](https://github.com/Ousret/charset_normalizer/compare/2.0.5...2.0.6) (2021-09-18) +### Fixed +- Unforeseen regression with the loss of the backward-compatibility with some older minor of Python 3.5.x (PR #100) +- Fix CLI crash when using --minimal output in certain cases (PR #103) + +### Changed +- Minor improvement to the detection efficiency (less than 1%) (PR #106 #101) + +## [2.0.5](https://github.com/Ousret/charset_normalizer/compare/2.0.4...2.0.5) (2021-09-14) +### Changed +- The project now comply with: flake8, mypy, isort and black to ensure a better overall quality (PR #81) +- The BC-support with v1.x was improved, the old staticmethods are restored (PR #82) +- The Unicode detection is slightly improved (PR #93) +- Add syntax sugar \_\_bool\_\_ for results CharsetMatches list-container (PR #91) + +### Removed +- The project no longer raise warning on tiny content given for detection, will be simply logged as warning instead (PR #92) + +### Fixed +- In some rare case, the chunks extractor could cut in the middle of a multi-byte character and could mislead the mess detection (PR #95) +- Some rare 'space' characters could trip up the UnprintablePlugin/Mess detection (PR #96) +- The MANIFEST.in was not exhaustive (PR #78) + +## [2.0.4](https://github.com/Ousret/charset_normalizer/compare/2.0.3...2.0.4) (2021-07-30) +### Fixed +- The CLI no longer raise an unexpected exception when no encoding has been found (PR #70) +- Fix accessing the 'alphabets' property when the payload contains surrogate characters (PR #68) +- The logger could mislead (explain=True) on detected languages and the impact of one MBCS match (PR #72) +- Submatch factoring could be wrong in rare edge cases (PR #72) +- Multiple files given to the CLI were ignored when publishing results to STDOUT. (After the first path) (PR #72) +- Fix line endings from CRLF to LF for certain project files (PR #67) + +### Changed +- Adjust the MD to lower the sensitivity, thus improving the global detection reliability (PR #69 #76) +- Allow fallback on specified encoding if any (PR #71) + +## [2.0.3](https://github.com/Ousret/charset_normalizer/compare/2.0.2...2.0.3) (2021-07-16) +### Changed +- Part of the detection mechanism has been improved to be less sensitive, resulting in more accurate detection results. Especially ASCII. (PR #63) +- According to the community wishes, the detection will fall back on ASCII or UTF-8 in a last-resort case. (PR #64) + +## [2.0.2](https://github.com/Ousret/charset_normalizer/compare/2.0.1...2.0.2) (2021-07-15) +### Fixed +- Empty/Too small JSON payload miss-detection fixed. Report from [@tseaver](https://github.com/tseaver) (PR #59) + +### Changed +- Don't inject unicodedata2 into sys.modules from [@akx](https://github.com/akx) (PR #57) + +## [2.0.1](https://github.com/Ousret/charset_normalizer/compare/2.0.0...2.0.1) (2021-07-13) +### Fixed +- Make it work where there isn't a filesystem available, dropping assets frequencies.json. Report from [@sethmlarson](https://github.com/sethmlarson). (PR #55) +- Using explain=False permanently disable the verbose output in the current runtime (PR #47) +- One log entry (language target preemptive) was not show in logs when using explain=True (PR #47) +- Fix undesired exception (ValueError) on getitem of instance CharsetMatches (PR #52) + +### Changed +- Public function normalize default args values were not aligned with from_bytes (PR #53) + +### Added +- You may now use charset aliases in cp_isolation and cp_exclusion arguments (PR #47) + +## [2.0.0](https://github.com/Ousret/charset_normalizer/compare/1.4.1...2.0.0) (2021-07-02) +### Changed +- 4x to 5 times faster than the previous 1.4.0 release. At least 2x faster than Chardet. +- Accent has been made on UTF-8 detection, should perform rather instantaneous. +- The backward compatibility with Chardet has been greatly improved. The legacy detect function returns an identical charset name whenever possible. +- The detection mechanism has been slightly improved, now Turkish content is detected correctly (most of the time) +- The program has been rewritten to ease the readability and maintainability. (+Using static typing)+ +- utf_7 detection has been reinstated. + +### Removed +- This package no longer require anything when used with Python 3.5 (Dropped cached_property) +- Removed support for these languages: Catalan, Esperanto, Kazakh, Baque, Volapük, Azeri, Galician, Nynorsk, Macedonian, and Serbocroatian. +- The exception hook on UnicodeDecodeError has been removed. + +### Deprecated +- Methods coherence_non_latin, w_counter, chaos_secondary_pass of the class CharsetMatch are now deprecated and scheduled for removal in v3.0 + +### Fixed +- The CLI output used the relative path of the file(s). Should be absolute. + +## [1.4.1](https://github.com/Ousret/charset_normalizer/compare/1.4.0...1.4.1) (2021-05-28) +### Fixed +- Logger configuration/usage no longer conflict with others (PR #44) + +## [1.4.0](https://github.com/Ousret/charset_normalizer/compare/1.3.9...1.4.0) (2021-05-21) +### Removed +- Using standard logging instead of using the package loguru. +- Dropping nose test framework in favor of the maintained pytest. +- Choose to not use dragonmapper package to help with gibberish Chinese/CJK text. +- Require cached_property only for Python 3.5 due to constraint. Dropping for every other interpreter version. +- Stop support for UTF-7 that does not contain a SIG. +- Dropping PrettyTable, replaced with pure JSON output in CLI. + +### Fixed +- BOM marker in a CharsetNormalizerMatch instance could be False in rare cases even if obviously present. Due to the sub-match factoring process. +- Not searching properly for the BOM when trying utf32/16 parent codec. + +### Changed +- Improving the package final size by compressing frequencies.json. +- Huge improvement over the larges payload. + +### Added +- CLI now produces JSON consumable output. +- Return ASCII if given sequences fit. Given reasonable confidence. + +## [1.3.9](https://github.com/Ousret/charset_normalizer/compare/1.3.8...1.3.9) (2021-05-13) + +### Fixed +- In some very rare cases, you may end up getting encode/decode errors due to a bad bytes payload (PR #40) + +## [1.3.8](https://github.com/Ousret/charset_normalizer/compare/1.3.7...1.3.8) (2021-05-12) + +### Fixed +- Empty given payload for detection may cause an exception if trying to access the `alphabets` property. (PR #39) + +## [1.3.7](https://github.com/Ousret/charset_normalizer/compare/1.3.6...1.3.7) (2021-05-12) + +### Fixed +- The legacy detect function should return UTF-8-SIG if sig is present in the payload. (PR #38) + +## [1.3.6](https://github.com/Ousret/charset_normalizer/compare/1.3.5...1.3.6) (2021-02-09) + +### Changed +- Amend the previous release to allow prettytable 2.0 (PR #35) + +## [1.3.5](https://github.com/Ousret/charset_normalizer/compare/1.3.4...1.3.5) (2021-02-08) + +### Fixed +- Fix error while using the package with a python pre-release interpreter (PR #33) + +### Changed +- Dependencies refactoring, constraints revised. + +### Added +- Add python 3.9 and 3.10 to the supported interpreters + +MIT License + +Copyright (c) 2019 TAHRI Ahmed R. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/venv/Lib/site-packages/charset_normalizer-3.4.0.dist-info/RECORD b/venv/Lib/site-packages/charset_normalizer-3.4.0.dist-info/RECORD new file mode 100644 index 00000000..65400ac9 --- /dev/null +++ b/venv/Lib/site-packages/charset_normalizer-3.4.0.dist-info/RECORD @@ -0,0 +1,35 @@ +../../Scripts/normalizer.exe,sha256=6j7FMpLePoZD0yfh9cvDhE6EAg8JvUUYKs9cyOYXPt8,106399 +charset_normalizer-3.4.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +charset_normalizer-3.4.0.dist-info/LICENSE,sha256=znnj1Var_lZ-hzOvD5W50wcQDp9qls3SD2xIau88ufc,1090 +charset_normalizer-3.4.0.dist-info/METADATA,sha256=2QS4C4DhTVUvM6D7xbkbYXoqvcMOB1pC3VhZwLLTK5U,34854 +charset_normalizer-3.4.0.dist-info/RECORD,, +charset_normalizer-3.4.0.dist-info/WHEEL,sha256=vq7bX_I37ZJK2gZz_HGA8eCPjBDKQSfb_9FNjesTNkk,99 +charset_normalizer-3.4.0.dist-info/entry_points.txt,sha256=ADSTKrkXZ3hhdOVFi6DcUEHQRS0xfxDIE_pEz4wLIXA,65 +charset_normalizer-3.4.0.dist-info/top_level.txt,sha256=7ASyzePr8_xuZWJsnqJjIBtyV8vhEo0wBCv1MPRRi3Q,19 +charset_normalizer/__init__.py,sha256=m1cUEsb9K5v831m9P_lv2JlUEKD7MhxL7fxw3hn75o4,1623 +charset_normalizer/__main__.py,sha256=nVnMo31hTPN2Yy045GJIvHj3dKDJz4dAQR3cUSdvYyc,77 +charset_normalizer/__pycache__/__init__.cpython-39.pyc,, +charset_normalizer/__pycache__/__main__.cpython-39.pyc,, +charset_normalizer/__pycache__/api.cpython-39.pyc,, +charset_normalizer/__pycache__/cd.cpython-39.pyc,, +charset_normalizer/__pycache__/constant.cpython-39.pyc,, +charset_normalizer/__pycache__/legacy.cpython-39.pyc,, +charset_normalizer/__pycache__/md.cpython-39.pyc,, +charset_normalizer/__pycache__/models.cpython-39.pyc,, +charset_normalizer/__pycache__/utils.cpython-39.pyc,, +charset_normalizer/__pycache__/version.cpython-39.pyc,, +charset_normalizer/api.py,sha256=UTUEjC-tSRJidpK_EtoKUyz0ZCSGo48c0Y4kQQk3mRU,23227 +charset_normalizer/cd.py,sha256=Yfk3sbee0Xqo1-vmQYbOqM51-SajXPLzFVG89nTsZzc,12955 +charset_normalizer/cli/__init__.py,sha256=COwP8fK2qbuldMem2lL81JieY-PIA2G2GZ5IdAPMPFA,106 +charset_normalizer/cli/__main__.py,sha256=kjtGg9jjjstm6n-Krwl9RHRLUuqt3TBhj2HTANgHeoA,10731 +charset_normalizer/cli/__pycache__/__init__.cpython-39.pyc,, +charset_normalizer/cli/__pycache__/__main__.cpython-39.pyc,, +charset_normalizer/constant.py,sha256=Me7a2oelmsWf1Qxxx5plYiBAGTi80Rsno5vY5J8KCPA,42496 +charset_normalizer/legacy.py,sha256=4GdkmwaDlS1ZIjaviydyNLGy6NBGn8ls2EOclmqty7Q,2392 +charset_normalizer/md.cp39-win_amd64.pyd,sha256=y2c0WFzbUgxgEPiry-2xP3UNXHYipHVkPmyE_pl1vW4,10752 +charset_normalizer/md.py,sha256=Cowcdx3IZsA0JvV78T54mT0G_v5fgV0ru2v_FPEHHhw,20766 +charset_normalizer/md__mypyc.cp39-win_amd64.pyd,sha256=k3tVzMOd4QPeWXqyHSJvY5X7DIy5wUya99r6DhnBkcA,122368 +charset_normalizer/models.py,sha256=VK66OdSgzOeU5_FYUU20g_luLd4euUS1ht4xt70P4XU,12784 +charset_normalizer/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +charset_normalizer/utils.py,sha256=jjvfSXHJD6QPgxcxIx4utsOFx3PxFssWef1IYxA3uKs,12315 +charset_normalizer/version.py,sha256=xn34_xESX5WRojjgDI7kfulQHYH443JYyR18Ns1DM8c,85 diff --git a/venv/Lib/site-packages/charset_normalizer-3.4.0.dist-info/WHEEL b/venv/Lib/site-packages/charset_normalizer-3.4.0.dist-info/WHEEL new file mode 100644 index 00000000..a5614cb5 --- /dev/null +++ b/venv/Lib/site-packages/charset_normalizer-3.4.0.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: setuptools (75.1.0) +Root-Is-Purelib: false +Tag: cp39-cp39-win_amd64 + diff --git a/venv/Lib/site-packages/charset_normalizer-3.4.0.dist-info/entry_points.txt b/venv/Lib/site-packages/charset_normalizer-3.4.0.dist-info/entry_points.txt new file mode 100644 index 00000000..65619e73 --- /dev/null +++ b/venv/Lib/site-packages/charset_normalizer-3.4.0.dist-info/entry_points.txt @@ -0,0 +1,2 @@ +[console_scripts] +normalizer = charset_normalizer.cli:cli_detect diff --git a/venv/Lib/site-packages/charset_normalizer-3.4.0.dist-info/top_level.txt b/venv/Lib/site-packages/charset_normalizer-3.4.0.dist-info/top_level.txt new file mode 100644 index 00000000..66958f0a --- /dev/null +++ b/venv/Lib/site-packages/charset_normalizer-3.4.0.dist-info/top_level.txt @@ -0,0 +1 @@ +charset_normalizer diff --git a/venv/Lib/site-packages/charset_normalizer/__init__.py b/venv/Lib/site-packages/charset_normalizer/__init__.py new file mode 100644 index 00000000..55991fc3 --- /dev/null +++ b/venv/Lib/site-packages/charset_normalizer/__init__.py @@ -0,0 +1,46 @@ +# -*- coding: utf-8 -*- +""" +Charset-Normalizer +~~~~~~~~~~~~~~ +The Real First Universal Charset Detector. +A library that helps you read text from an unknown charset encoding. +Motivated by chardet, This package is trying to resolve the issue by taking a new approach. +All IANA character set names for which the Python core library provides codecs are supported. + +Basic usage: + >>> from charset_normalizer import from_bytes + >>> results = from_bytes('BÑеки човек има право на образование. Oбразованието!'.encode('utf_8')) + >>> best_guess = results.best() + >>> str(best_guess) + 'BÑеки човек има право на образование. Oбразованието!' + +Others methods and usages are available - see the full documentation +at . +:copyright: (c) 2021 by Ahmed TAHRI +:license: MIT, see LICENSE for more details. +""" +import logging + +from .api import from_bytes, from_fp, from_path, is_binary +from .legacy import detect +from .models import CharsetMatch, CharsetMatches +from .utils import set_logging_handler +from .version import VERSION, __version__ + +__all__ = ( + "from_fp", + "from_path", + "from_bytes", + "is_binary", + "detect", + "CharsetMatch", + "CharsetMatches", + "__version__", + "VERSION", + "set_logging_handler", +) + +# Attach a NullHandler to the top level logger by default +# https://docs.python.org/3.3/howto/logging.html#configuring-logging-for-a-library + +logging.getLogger("charset_normalizer").addHandler(logging.NullHandler()) diff --git a/venv/Lib/site-packages/charset_normalizer/__main__.py b/venv/Lib/site-packages/charset_normalizer/__main__.py new file mode 100644 index 00000000..beae2ef7 --- /dev/null +++ b/venv/Lib/site-packages/charset_normalizer/__main__.py @@ -0,0 +1,4 @@ +from .cli import cli_detect + +if __name__ == "__main__": + cli_detect() diff --git a/venv/Lib/site-packages/charset_normalizer/__pycache__/__init__.cpython-39.pyc b/venv/Lib/site-packages/charset_normalizer/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..c742732f Binary files /dev/null and b/venv/Lib/site-packages/charset_normalizer/__pycache__/__init__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/charset_normalizer/__pycache__/__main__.cpython-39.pyc b/venv/Lib/site-packages/charset_normalizer/__pycache__/__main__.cpython-39.pyc new file mode 100644 index 00000000..8b065246 Binary files /dev/null and b/venv/Lib/site-packages/charset_normalizer/__pycache__/__main__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/charset_normalizer/__pycache__/api.cpython-39.pyc b/venv/Lib/site-packages/charset_normalizer/__pycache__/api.cpython-39.pyc new file mode 100644 index 00000000..e84db55c Binary files /dev/null and b/venv/Lib/site-packages/charset_normalizer/__pycache__/api.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/charset_normalizer/__pycache__/cd.cpython-39.pyc b/venv/Lib/site-packages/charset_normalizer/__pycache__/cd.cpython-39.pyc new file mode 100644 index 00000000..b563a44c Binary files /dev/null and b/venv/Lib/site-packages/charset_normalizer/__pycache__/cd.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/charset_normalizer/__pycache__/constant.cpython-39.pyc b/venv/Lib/site-packages/charset_normalizer/__pycache__/constant.cpython-39.pyc new file mode 100644 index 00000000..3311e687 Binary files /dev/null and b/venv/Lib/site-packages/charset_normalizer/__pycache__/constant.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/charset_normalizer/__pycache__/legacy.cpython-39.pyc b/venv/Lib/site-packages/charset_normalizer/__pycache__/legacy.cpython-39.pyc new file mode 100644 index 00000000..4eb2d6dd Binary files /dev/null and b/venv/Lib/site-packages/charset_normalizer/__pycache__/legacy.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/charset_normalizer/__pycache__/md.cpython-39.pyc b/venv/Lib/site-packages/charset_normalizer/__pycache__/md.cpython-39.pyc new file mode 100644 index 00000000..08b69f55 Binary files /dev/null and b/venv/Lib/site-packages/charset_normalizer/__pycache__/md.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/charset_normalizer/__pycache__/models.cpython-39.pyc b/venv/Lib/site-packages/charset_normalizer/__pycache__/models.cpython-39.pyc new file mode 100644 index 00000000..e1b7f665 Binary files /dev/null and b/venv/Lib/site-packages/charset_normalizer/__pycache__/models.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/charset_normalizer/__pycache__/utils.cpython-39.pyc b/venv/Lib/site-packages/charset_normalizer/__pycache__/utils.cpython-39.pyc new file mode 100644 index 00000000..5843b418 Binary files /dev/null and b/venv/Lib/site-packages/charset_normalizer/__pycache__/utils.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/charset_normalizer/__pycache__/version.cpython-39.pyc b/venv/Lib/site-packages/charset_normalizer/__pycache__/version.cpython-39.pyc new file mode 100644 index 00000000..a622c56f Binary files /dev/null and b/venv/Lib/site-packages/charset_normalizer/__pycache__/version.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/charset_normalizer/api.py b/venv/Lib/site-packages/charset_normalizer/api.py new file mode 100644 index 00000000..e3f2283b --- /dev/null +++ b/venv/Lib/site-packages/charset_normalizer/api.py @@ -0,0 +1,668 @@ +import logging +from os import PathLike +from typing import BinaryIO, List, Optional, Set, Union + +from .cd import ( + coherence_ratio, + encoding_languages, + mb_encoding_languages, + merge_coherence_ratios, +) +from .constant import IANA_SUPPORTED, TOO_BIG_SEQUENCE, TOO_SMALL_SEQUENCE, TRACE +from .md import mess_ratio +from .models import CharsetMatch, CharsetMatches +from .utils import ( + any_specified_encoding, + cut_sequence_chunks, + iana_name, + identify_sig_or_bom, + is_cp_similar, + is_multi_byte_encoding, + should_strip_sig_or_bom, +) + +# Will most likely be controversial +# logging.addLevelName(TRACE, "TRACE") +logger = logging.getLogger("charset_normalizer") +explain_handler = logging.StreamHandler() +explain_handler.setFormatter( + logging.Formatter("%(asctime)s | %(levelname)s | %(message)s") +) + + +def from_bytes( + sequences: Union[bytes, bytearray], + steps: int = 5, + chunk_size: int = 512, + threshold: float = 0.2, + cp_isolation: Optional[List[str]] = None, + cp_exclusion: Optional[List[str]] = None, + preemptive_behaviour: bool = True, + explain: bool = False, + language_threshold: float = 0.1, + enable_fallback: bool = True, +) -> CharsetMatches: + """ + Given a raw bytes sequence, return the best possibles charset usable to render str objects. + If there is no results, it is a strong indicator that the source is binary/not text. + By default, the process will extract 5 blocks of 512o each to assess the mess and coherence of a given sequence. + And will give up a particular code page after 20% of measured mess. Those criteria are customizable at will. + + The preemptive behavior DOES NOT replace the traditional detection workflow, it prioritize a particular code page + but never take it for granted. Can improve the performance. + + You may want to focus your attention to some code page or/and not others, use cp_isolation and cp_exclusion for that + purpose. + + This function will strip the SIG in the payload/sequence every time except on UTF-16, UTF-32. + By default the library does not setup any handler other than the NullHandler, if you choose to set the 'explain' + toggle to True it will alter the logger configuration to add a StreamHandler that is suitable for debugging. + Custom logging format and handler can be set manually. + """ + + if not isinstance(sequences, (bytearray, bytes)): + raise TypeError( + "Expected object of type bytes or bytearray, got: {0}".format( + type(sequences) + ) + ) + + if explain: + previous_logger_level: int = logger.level + logger.addHandler(explain_handler) + logger.setLevel(TRACE) + + length: int = len(sequences) + + if length == 0: + logger.debug("Encoding detection on empty bytes, assuming utf_8 intention.") + if explain: + logger.removeHandler(explain_handler) + logger.setLevel(previous_logger_level or logging.WARNING) + return CharsetMatches([CharsetMatch(sequences, "utf_8", 0.0, False, [], "")]) + + if cp_isolation is not None: + logger.log( + TRACE, + "cp_isolation is set. use this flag for debugging purpose. " + "limited list of encoding allowed : %s.", + ", ".join(cp_isolation), + ) + cp_isolation = [iana_name(cp, False) for cp in cp_isolation] + else: + cp_isolation = [] + + if cp_exclusion is not None: + logger.log( + TRACE, + "cp_exclusion is set. use this flag for debugging purpose. " + "limited list of encoding excluded : %s.", + ", ".join(cp_exclusion), + ) + cp_exclusion = [iana_name(cp, False) for cp in cp_exclusion] + else: + cp_exclusion = [] + + if length <= (chunk_size * steps): + logger.log( + TRACE, + "override steps (%i) and chunk_size (%i) as content does not fit (%i byte(s) given) parameters.", + steps, + chunk_size, + length, + ) + steps = 1 + chunk_size = length + + if steps > 1 and length / steps < chunk_size: + chunk_size = int(length / steps) + + is_too_small_sequence: bool = len(sequences) < TOO_SMALL_SEQUENCE + is_too_large_sequence: bool = len(sequences) >= TOO_BIG_SEQUENCE + + if is_too_small_sequence: + logger.log( + TRACE, + "Trying to detect encoding from a tiny portion of ({}) byte(s).".format( + length + ), + ) + elif is_too_large_sequence: + logger.log( + TRACE, + "Using lazy str decoding because the payload is quite large, ({}) byte(s).".format( + length + ), + ) + + prioritized_encodings: List[str] = [] + + specified_encoding: Optional[str] = ( + any_specified_encoding(sequences) if preemptive_behaviour else None + ) + + if specified_encoding is not None: + prioritized_encodings.append(specified_encoding) + logger.log( + TRACE, + "Detected declarative mark in sequence. Priority +1 given for %s.", + specified_encoding, + ) + + tested: Set[str] = set() + tested_but_hard_failure: List[str] = [] + tested_but_soft_failure: List[str] = [] + + fallback_ascii: Optional[CharsetMatch] = None + fallback_u8: Optional[CharsetMatch] = None + fallback_specified: Optional[CharsetMatch] = None + + results: CharsetMatches = CharsetMatches() + + early_stop_results: CharsetMatches = CharsetMatches() + + sig_encoding, sig_payload = identify_sig_or_bom(sequences) + + if sig_encoding is not None: + prioritized_encodings.append(sig_encoding) + logger.log( + TRACE, + "Detected a SIG or BOM mark on first %i byte(s). Priority +1 given for %s.", + len(sig_payload), + sig_encoding, + ) + + prioritized_encodings.append("ascii") + + if "utf_8" not in prioritized_encodings: + prioritized_encodings.append("utf_8") + + for encoding_iana in prioritized_encodings + IANA_SUPPORTED: + if cp_isolation and encoding_iana not in cp_isolation: + continue + + if cp_exclusion and encoding_iana in cp_exclusion: + continue + + if encoding_iana in tested: + continue + + tested.add(encoding_iana) + + decoded_payload: Optional[str] = None + bom_or_sig_available: bool = sig_encoding == encoding_iana + strip_sig_or_bom: bool = bom_or_sig_available and should_strip_sig_or_bom( + encoding_iana + ) + + if encoding_iana in {"utf_16", "utf_32"} and not bom_or_sig_available: + logger.log( + TRACE, + "Encoding %s won't be tested as-is because it require a BOM. Will try some sub-encoder LE/BE.", + encoding_iana, + ) + continue + if encoding_iana in {"utf_7"} and not bom_or_sig_available: + logger.log( + TRACE, + "Encoding %s won't be tested as-is because detection is unreliable without BOM/SIG.", + encoding_iana, + ) + continue + + try: + is_multi_byte_decoder: bool = is_multi_byte_encoding(encoding_iana) + except (ModuleNotFoundError, ImportError): + logger.log( + TRACE, + "Encoding %s does not provide an IncrementalDecoder", + encoding_iana, + ) + continue + + try: + if is_too_large_sequence and is_multi_byte_decoder is False: + str( + ( + sequences[: int(50e4)] + if strip_sig_or_bom is False + else sequences[len(sig_payload) : int(50e4)] + ), + encoding=encoding_iana, + ) + else: + decoded_payload = str( + ( + sequences + if strip_sig_or_bom is False + else sequences[len(sig_payload) :] + ), + encoding=encoding_iana, + ) + except (UnicodeDecodeError, LookupError) as e: + if not isinstance(e, LookupError): + logger.log( + TRACE, + "Code page %s does not fit given bytes sequence at ALL. %s", + encoding_iana, + str(e), + ) + tested_but_hard_failure.append(encoding_iana) + continue + + similar_soft_failure_test: bool = False + + for encoding_soft_failed in tested_but_soft_failure: + if is_cp_similar(encoding_iana, encoding_soft_failed): + similar_soft_failure_test = True + break + + if similar_soft_failure_test: + logger.log( + TRACE, + "%s is deemed too similar to code page %s and was consider unsuited already. Continuing!", + encoding_iana, + encoding_soft_failed, + ) + continue + + r_ = range( + 0 if not bom_or_sig_available else len(sig_payload), + length, + int(length / steps), + ) + + multi_byte_bonus: bool = ( + is_multi_byte_decoder + and decoded_payload is not None + and len(decoded_payload) < length + ) + + if multi_byte_bonus: + logger.log( + TRACE, + "Code page %s is a multi byte encoding table and it appear that at least one character " + "was encoded using n-bytes.", + encoding_iana, + ) + + max_chunk_gave_up: int = int(len(r_) / 4) + + max_chunk_gave_up = max(max_chunk_gave_up, 2) + early_stop_count: int = 0 + lazy_str_hard_failure = False + + md_chunks: List[str] = [] + md_ratios = [] + + try: + for chunk in cut_sequence_chunks( + sequences, + encoding_iana, + r_, + chunk_size, + bom_or_sig_available, + strip_sig_or_bom, + sig_payload, + is_multi_byte_decoder, + decoded_payload, + ): + md_chunks.append(chunk) + + md_ratios.append( + mess_ratio( + chunk, + threshold, + explain is True and 1 <= len(cp_isolation) <= 2, + ) + ) + + if md_ratios[-1] >= threshold: + early_stop_count += 1 + + if (early_stop_count >= max_chunk_gave_up) or ( + bom_or_sig_available and strip_sig_or_bom is False + ): + break + except ( + UnicodeDecodeError + ) as e: # Lazy str loading may have missed something there + logger.log( + TRACE, + "LazyStr Loading: After MD chunk decode, code page %s does not fit given bytes sequence at ALL. %s", + encoding_iana, + str(e), + ) + early_stop_count = max_chunk_gave_up + lazy_str_hard_failure = True + + # We might want to check the sequence again with the whole content + # Only if initial MD tests passes + if ( + not lazy_str_hard_failure + and is_too_large_sequence + and not is_multi_byte_decoder + ): + try: + sequences[int(50e3) :].decode(encoding_iana, errors="strict") + except UnicodeDecodeError as e: + logger.log( + TRACE, + "LazyStr Loading: After final lookup, code page %s does not fit given bytes sequence at ALL. %s", + encoding_iana, + str(e), + ) + tested_but_hard_failure.append(encoding_iana) + continue + + mean_mess_ratio: float = sum(md_ratios) / len(md_ratios) if md_ratios else 0.0 + if mean_mess_ratio >= threshold or early_stop_count >= max_chunk_gave_up: + tested_but_soft_failure.append(encoding_iana) + logger.log( + TRACE, + "%s was excluded because of initial chaos probing. Gave up %i time(s). " + "Computed mean chaos is %f %%.", + encoding_iana, + early_stop_count, + round(mean_mess_ratio * 100, ndigits=3), + ) + # Preparing those fallbacks in case we got nothing. + if ( + enable_fallback + and encoding_iana in ["ascii", "utf_8", specified_encoding] + and not lazy_str_hard_failure + ): + fallback_entry = CharsetMatch( + sequences, + encoding_iana, + threshold, + False, + [], + decoded_payload, + preemptive_declaration=specified_encoding, + ) + if encoding_iana == specified_encoding: + fallback_specified = fallback_entry + elif encoding_iana == "ascii": + fallback_ascii = fallback_entry + else: + fallback_u8 = fallback_entry + continue + + logger.log( + TRACE, + "%s passed initial chaos probing. Mean measured chaos is %f %%", + encoding_iana, + round(mean_mess_ratio * 100, ndigits=3), + ) + + if not is_multi_byte_decoder: + target_languages: List[str] = encoding_languages(encoding_iana) + else: + target_languages = mb_encoding_languages(encoding_iana) + + if target_languages: + logger.log( + TRACE, + "{} should target any language(s) of {}".format( + encoding_iana, str(target_languages) + ), + ) + + cd_ratios = [] + + # We shall skip the CD when its about ASCII + # Most of the time its not relevant to run "language-detection" on it. + if encoding_iana != "ascii": + for chunk in md_chunks: + chunk_languages = coherence_ratio( + chunk, + language_threshold, + ",".join(target_languages) if target_languages else None, + ) + + cd_ratios.append(chunk_languages) + + cd_ratios_merged = merge_coherence_ratios(cd_ratios) + + if cd_ratios_merged: + logger.log( + TRACE, + "We detected language {} using {}".format( + cd_ratios_merged, encoding_iana + ), + ) + + current_match = CharsetMatch( + sequences, + encoding_iana, + mean_mess_ratio, + bom_or_sig_available, + cd_ratios_merged, + ( + decoded_payload + if ( + is_too_large_sequence is False + or encoding_iana in [specified_encoding, "ascii", "utf_8"] + ) + else None + ), + preemptive_declaration=specified_encoding, + ) + + results.append(current_match) + + if ( + encoding_iana in [specified_encoding, "ascii", "utf_8"] + and mean_mess_ratio < 0.1 + ): + # If md says nothing to worry about, then... stop immediately! + if mean_mess_ratio == 0.0: + logger.debug( + "Encoding detection: %s is most likely the one.", + current_match.encoding, + ) + if explain: + logger.removeHandler(explain_handler) + logger.setLevel(previous_logger_level) + return CharsetMatches([current_match]) + + early_stop_results.append(current_match) + + if ( + len(early_stop_results) + and (specified_encoding is None or specified_encoding in tested) + and "ascii" in tested + and "utf_8" in tested + ): + probable_result: CharsetMatch = early_stop_results.best() # type: ignore[assignment] + logger.debug( + "Encoding detection: %s is most likely the one.", + probable_result.encoding, + ) + if explain: + logger.removeHandler(explain_handler) + logger.setLevel(previous_logger_level) + + return CharsetMatches([probable_result]) + + if encoding_iana == sig_encoding: + logger.debug( + "Encoding detection: %s is most likely the one as we detected a BOM or SIG within " + "the beginning of the sequence.", + encoding_iana, + ) + if explain: + logger.removeHandler(explain_handler) + logger.setLevel(previous_logger_level) + return CharsetMatches([results[encoding_iana]]) + + if len(results) == 0: + if fallback_u8 or fallback_ascii or fallback_specified: + logger.log( + TRACE, + "Nothing got out of the detection process. Using ASCII/UTF-8/Specified fallback.", + ) + + if fallback_specified: + logger.debug( + "Encoding detection: %s will be used as a fallback match", + fallback_specified.encoding, + ) + results.append(fallback_specified) + elif ( + (fallback_u8 and fallback_ascii is None) + or ( + fallback_u8 + and fallback_ascii + and fallback_u8.fingerprint != fallback_ascii.fingerprint + ) + or (fallback_u8 is not None) + ): + logger.debug("Encoding detection: utf_8 will be used as a fallback match") + results.append(fallback_u8) + elif fallback_ascii: + logger.debug("Encoding detection: ascii will be used as a fallback match") + results.append(fallback_ascii) + + if results: + logger.debug( + "Encoding detection: Found %s as plausible (best-candidate) for content. With %i alternatives.", + results.best().encoding, # type: ignore + len(results) - 1, + ) + else: + logger.debug("Encoding detection: Unable to determine any suitable charset.") + + if explain: + logger.removeHandler(explain_handler) + logger.setLevel(previous_logger_level) + + return results + + +def from_fp( + fp: BinaryIO, + steps: int = 5, + chunk_size: int = 512, + threshold: float = 0.20, + cp_isolation: Optional[List[str]] = None, + cp_exclusion: Optional[List[str]] = None, + preemptive_behaviour: bool = True, + explain: bool = False, + language_threshold: float = 0.1, + enable_fallback: bool = True, +) -> CharsetMatches: + """ + Same thing than the function from_bytes but using a file pointer that is already ready. + Will not close the file pointer. + """ + return from_bytes( + fp.read(), + steps, + chunk_size, + threshold, + cp_isolation, + cp_exclusion, + preemptive_behaviour, + explain, + language_threshold, + enable_fallback, + ) + + +def from_path( + path: Union[str, bytes, PathLike], # type: ignore[type-arg] + steps: int = 5, + chunk_size: int = 512, + threshold: float = 0.20, + cp_isolation: Optional[List[str]] = None, + cp_exclusion: Optional[List[str]] = None, + preemptive_behaviour: bool = True, + explain: bool = False, + language_threshold: float = 0.1, + enable_fallback: bool = True, +) -> CharsetMatches: + """ + Same thing than the function from_bytes but with one extra step. Opening and reading given file path in binary mode. + Can raise IOError. + """ + with open(path, "rb") as fp: + return from_fp( + fp, + steps, + chunk_size, + threshold, + cp_isolation, + cp_exclusion, + preemptive_behaviour, + explain, + language_threshold, + enable_fallback, + ) + + +def is_binary( + fp_or_path_or_payload: Union[PathLike, str, BinaryIO, bytes], # type: ignore[type-arg] + steps: int = 5, + chunk_size: int = 512, + threshold: float = 0.20, + cp_isolation: Optional[List[str]] = None, + cp_exclusion: Optional[List[str]] = None, + preemptive_behaviour: bool = True, + explain: bool = False, + language_threshold: float = 0.1, + enable_fallback: bool = False, +) -> bool: + """ + Detect if the given input (file, bytes, or path) points to a binary file. aka. not a string. + Based on the same main heuristic algorithms and default kwargs at the sole exception that fallbacks match + are disabled to be stricter around ASCII-compatible but unlikely to be a string. + """ + if isinstance(fp_or_path_or_payload, (str, PathLike)): + guesses = from_path( + fp_or_path_or_payload, + steps=steps, + chunk_size=chunk_size, + threshold=threshold, + cp_isolation=cp_isolation, + cp_exclusion=cp_exclusion, + preemptive_behaviour=preemptive_behaviour, + explain=explain, + language_threshold=language_threshold, + enable_fallback=enable_fallback, + ) + elif isinstance( + fp_or_path_or_payload, + ( + bytes, + bytearray, + ), + ): + guesses = from_bytes( + fp_or_path_or_payload, + steps=steps, + chunk_size=chunk_size, + threshold=threshold, + cp_isolation=cp_isolation, + cp_exclusion=cp_exclusion, + preemptive_behaviour=preemptive_behaviour, + explain=explain, + language_threshold=language_threshold, + enable_fallback=enable_fallback, + ) + else: + guesses = from_fp( + fp_or_path_or_payload, + steps=steps, + chunk_size=chunk_size, + threshold=threshold, + cp_isolation=cp_isolation, + cp_exclusion=cp_exclusion, + preemptive_behaviour=preemptive_behaviour, + explain=explain, + language_threshold=language_threshold, + enable_fallback=enable_fallback, + ) + + return not guesses diff --git a/venv/Lib/site-packages/charset_normalizer/cd.py b/venv/Lib/site-packages/charset_normalizer/cd.py new file mode 100644 index 00000000..4ea6760c --- /dev/null +++ b/venv/Lib/site-packages/charset_normalizer/cd.py @@ -0,0 +1,395 @@ +import importlib +from codecs import IncrementalDecoder +from collections import Counter +from functools import lru_cache +from typing import Counter as TypeCounter, Dict, List, Optional, Tuple + +from .constant import ( + FREQUENCIES, + KO_NAMES, + LANGUAGE_SUPPORTED_COUNT, + TOO_SMALL_SEQUENCE, + ZH_NAMES, +) +from .md import is_suspiciously_successive_range +from .models import CoherenceMatches +from .utils import ( + is_accentuated, + is_latin, + is_multi_byte_encoding, + is_unicode_range_secondary, + unicode_range, +) + + +def encoding_unicode_range(iana_name: str) -> List[str]: + """ + Return associated unicode ranges in a single byte code page. + """ + if is_multi_byte_encoding(iana_name): + raise IOError("Function not supported on multi-byte code page") + + decoder = importlib.import_module( + "encodings.{}".format(iana_name) + ).IncrementalDecoder + + p: IncrementalDecoder = decoder(errors="ignore") + seen_ranges: Dict[str, int] = {} + character_count: int = 0 + + for i in range(0x40, 0xFF): + chunk: str = p.decode(bytes([i])) + + if chunk: + character_range: Optional[str] = unicode_range(chunk) + + if character_range is None: + continue + + if is_unicode_range_secondary(character_range) is False: + if character_range not in seen_ranges: + seen_ranges[character_range] = 0 + seen_ranges[character_range] += 1 + character_count += 1 + + return sorted( + [ + character_range + for character_range in seen_ranges + if seen_ranges[character_range] / character_count >= 0.15 + ] + ) + + +def unicode_range_languages(primary_range: str) -> List[str]: + """ + Return inferred languages used with a unicode range. + """ + languages: List[str] = [] + + for language, characters in FREQUENCIES.items(): + for character in characters: + if unicode_range(character) == primary_range: + languages.append(language) + break + + return languages + + +@lru_cache() +def encoding_languages(iana_name: str) -> List[str]: + """ + Single-byte encoding language association. Some code page are heavily linked to particular language(s). + This function does the correspondence. + """ + unicode_ranges: List[str] = encoding_unicode_range(iana_name) + primary_range: Optional[str] = None + + for specified_range in unicode_ranges: + if "Latin" not in specified_range: + primary_range = specified_range + break + + if primary_range is None: + return ["Latin Based"] + + return unicode_range_languages(primary_range) + + +@lru_cache() +def mb_encoding_languages(iana_name: str) -> List[str]: + """ + Multi-byte encoding language association. Some code page are heavily linked to particular language(s). + This function does the correspondence. + """ + if ( + iana_name.startswith("shift_") + or iana_name.startswith("iso2022_jp") + or iana_name.startswith("euc_j") + or iana_name == "cp932" + ): + return ["Japanese"] + if iana_name.startswith("gb") or iana_name in ZH_NAMES: + return ["Chinese"] + if iana_name.startswith("iso2022_kr") or iana_name in KO_NAMES: + return ["Korean"] + + return [] + + +@lru_cache(maxsize=LANGUAGE_SUPPORTED_COUNT) +def get_target_features(language: str) -> Tuple[bool, bool]: + """ + Determine main aspects from a supported language if it contains accents and if is pure Latin. + """ + target_have_accents: bool = False + target_pure_latin: bool = True + + for character in FREQUENCIES[language]: + if not target_have_accents and is_accentuated(character): + target_have_accents = True + if target_pure_latin and is_latin(character) is False: + target_pure_latin = False + + return target_have_accents, target_pure_latin + + +def alphabet_languages( + characters: List[str], ignore_non_latin: bool = False +) -> List[str]: + """ + Return associated languages associated to given characters. + """ + languages: List[Tuple[str, float]] = [] + + source_have_accents = any(is_accentuated(character) for character in characters) + + for language, language_characters in FREQUENCIES.items(): + target_have_accents, target_pure_latin = get_target_features(language) + + if ignore_non_latin and target_pure_latin is False: + continue + + if target_have_accents is False and source_have_accents: + continue + + character_count: int = len(language_characters) + + character_match_count: int = len( + [c for c in language_characters if c in characters] + ) + + ratio: float = character_match_count / character_count + + if ratio >= 0.2: + languages.append((language, ratio)) + + languages = sorted(languages, key=lambda x: x[1], reverse=True) + + return [compatible_language[0] for compatible_language in languages] + + +def characters_popularity_compare( + language: str, ordered_characters: List[str] +) -> float: + """ + Determine if a ordered characters list (by occurrence from most appearance to rarest) match a particular language. + The result is a ratio between 0. (absolutely no correspondence) and 1. (near perfect fit). + Beware that is function is not strict on the match in order to ease the detection. (Meaning close match is 1.) + """ + if language not in FREQUENCIES: + raise ValueError("{} not available".format(language)) + + character_approved_count: int = 0 + FREQUENCIES_language_set = set(FREQUENCIES[language]) + + ordered_characters_count: int = len(ordered_characters) + target_language_characters_count: int = len(FREQUENCIES[language]) + + large_alphabet: bool = target_language_characters_count > 26 + + for character, character_rank in zip( + ordered_characters, range(0, ordered_characters_count) + ): + if character not in FREQUENCIES_language_set: + continue + + character_rank_in_language: int = FREQUENCIES[language].index(character) + expected_projection_ratio: float = ( + target_language_characters_count / ordered_characters_count + ) + character_rank_projection: int = int(character_rank * expected_projection_ratio) + + if ( + large_alphabet is False + and abs(character_rank_projection - character_rank_in_language) > 4 + ): + continue + + if ( + large_alphabet is True + and abs(character_rank_projection - character_rank_in_language) + < target_language_characters_count / 3 + ): + character_approved_count += 1 + continue + + characters_before_source: List[str] = FREQUENCIES[language][ + 0:character_rank_in_language + ] + characters_after_source: List[str] = FREQUENCIES[language][ + character_rank_in_language: + ] + characters_before: List[str] = ordered_characters[0:character_rank] + characters_after: List[str] = ordered_characters[character_rank:] + + before_match_count: int = len( + set(characters_before) & set(characters_before_source) + ) + + after_match_count: int = len( + set(characters_after) & set(characters_after_source) + ) + + if len(characters_before_source) == 0 and before_match_count <= 4: + character_approved_count += 1 + continue + + if len(characters_after_source) == 0 and after_match_count <= 4: + character_approved_count += 1 + continue + + if ( + before_match_count / len(characters_before_source) >= 0.4 + or after_match_count / len(characters_after_source) >= 0.4 + ): + character_approved_count += 1 + continue + + return character_approved_count / len(ordered_characters) + + +def alpha_unicode_split(decoded_sequence: str) -> List[str]: + """ + Given a decoded text sequence, return a list of str. Unicode range / alphabet separation. + Ex. a text containing English/Latin with a bit a Hebrew will return two items in the resulting list; + One containing the latin letters and the other hebrew. + """ + layers: Dict[str, str] = {} + + for character in decoded_sequence: + if character.isalpha() is False: + continue + + character_range: Optional[str] = unicode_range(character) + + if character_range is None: + continue + + layer_target_range: Optional[str] = None + + for discovered_range in layers: + if ( + is_suspiciously_successive_range(discovered_range, character_range) + is False + ): + layer_target_range = discovered_range + break + + if layer_target_range is None: + layer_target_range = character_range + + if layer_target_range not in layers: + layers[layer_target_range] = character.lower() + continue + + layers[layer_target_range] += character.lower() + + return list(layers.values()) + + +def merge_coherence_ratios(results: List[CoherenceMatches]) -> CoherenceMatches: + """ + This function merge results previously given by the function coherence_ratio. + The return type is the same as coherence_ratio. + """ + per_language_ratios: Dict[str, List[float]] = {} + for result in results: + for sub_result in result: + language, ratio = sub_result + if language not in per_language_ratios: + per_language_ratios[language] = [ratio] + continue + per_language_ratios[language].append(ratio) + + merge = [ + ( + language, + round( + sum(per_language_ratios[language]) / len(per_language_ratios[language]), + 4, + ), + ) + for language in per_language_ratios + ] + + return sorted(merge, key=lambda x: x[1], reverse=True) + + +def filter_alt_coherence_matches(results: CoherenceMatches) -> CoherenceMatches: + """ + We shall NOT return "English—" in CoherenceMatches because it is an alternative + of "English". This function only keeps the best match and remove the em-dash in it. + """ + index_results: Dict[str, List[float]] = dict() + + for result in results: + language, ratio = result + no_em_name: str = language.replace("—", "") + + if no_em_name not in index_results: + index_results[no_em_name] = [] + + index_results[no_em_name].append(ratio) + + if any(len(index_results[e]) > 1 for e in index_results): + filtered_results: CoherenceMatches = [] + + for language in index_results: + filtered_results.append((language, max(index_results[language]))) + + return filtered_results + + return results + + +@lru_cache(maxsize=2048) +def coherence_ratio( + decoded_sequence: str, threshold: float = 0.1, lg_inclusion: Optional[str] = None +) -> CoherenceMatches: + """ + Detect ANY language that can be identified in given sequence. The sequence will be analysed by layers. + A layer = Character extraction by alphabets/ranges. + """ + + results: List[Tuple[str, float]] = [] + ignore_non_latin: bool = False + + sufficient_match_count: int = 0 + + lg_inclusion_list = lg_inclusion.split(",") if lg_inclusion is not None else [] + if "Latin Based" in lg_inclusion_list: + ignore_non_latin = True + lg_inclusion_list.remove("Latin Based") + + for layer in alpha_unicode_split(decoded_sequence): + sequence_frequencies: TypeCounter[str] = Counter(layer) + most_common = sequence_frequencies.most_common() + + character_count: int = sum(o for c, o in most_common) + + if character_count <= TOO_SMALL_SEQUENCE: + continue + + popular_character_ordered: List[str] = [c for c, o in most_common] + + for language in lg_inclusion_list or alphabet_languages( + popular_character_ordered, ignore_non_latin + ): + ratio: float = characters_popularity_compare( + language, popular_character_ordered + ) + + if ratio < threshold: + continue + elif ratio >= 0.8: + sufficient_match_count += 1 + + results.append((language, round(ratio, 4))) + + if sufficient_match_count >= 3: + break + + return sorted( + filter_alt_coherence_matches(results), key=lambda x: x[1], reverse=True + ) diff --git a/venv/Lib/site-packages/charset_normalizer/cli/__init__.py b/venv/Lib/site-packages/charset_normalizer/cli/__init__.py new file mode 100644 index 00000000..d95fedfe --- /dev/null +++ b/venv/Lib/site-packages/charset_normalizer/cli/__init__.py @@ -0,0 +1,6 @@ +from .__main__ import cli_detect, query_yes_no + +__all__ = ( + "cli_detect", + "query_yes_no", +) diff --git a/venv/Lib/site-packages/charset_normalizer/cli/__main__.py b/venv/Lib/site-packages/charset_normalizer/cli/__main__.py new file mode 100644 index 00000000..e7edd0fc --- /dev/null +++ b/venv/Lib/site-packages/charset_normalizer/cli/__main__.py @@ -0,0 +1,320 @@ +import argparse +import sys +from json import dumps +from os.path import abspath, basename, dirname, join, realpath +from platform import python_version +from typing import List, Optional +from unicodedata import unidata_version + +import charset_normalizer.md as md_module +from charset_normalizer import from_fp +from charset_normalizer.models import CliDetectionResult +from charset_normalizer.version import __version__ + + +def query_yes_no(question: str, default: str = "yes") -> bool: + """Ask a yes/no question via input() and return their answer. + + "question" is a string that is presented to the user. + "default" is the presumed answer if the user just hits . + It must be "yes" (the default), "no" or None (meaning + an answer is required of the user). + + The "answer" return value is True for "yes" or False for "no". + + Credit goes to (c) https://stackoverflow.com/questions/3041986/apt-command-line-interface-like-yes-no-input + """ + valid = {"yes": True, "y": True, "ye": True, "no": False, "n": False} + if default is None: + prompt = " [y/n] " + elif default == "yes": + prompt = " [Y/n] " + elif default == "no": + prompt = " [y/N] " + else: + raise ValueError("invalid default answer: '%s'" % default) + + while True: + sys.stdout.write(question + prompt) + choice = input().lower() + if default is not None and choice == "": + return valid[default] + elif choice in valid: + return valid[choice] + else: + sys.stdout.write("Please respond with 'yes' or 'no' " "(or 'y' or 'n').\n") + + +def cli_detect(argv: Optional[List[str]] = None) -> int: + """ + CLI assistant using ARGV and ArgumentParser + :param argv: + :return: 0 if everything is fine, anything else equal trouble + """ + parser = argparse.ArgumentParser( + description="The Real First Universal Charset Detector. " + "Discover originating encoding used on text file. " + "Normalize text to unicode." + ) + + parser.add_argument( + "files", type=argparse.FileType("rb"), nargs="+", help="File(s) to be analysed" + ) + parser.add_argument( + "-v", + "--verbose", + action="store_true", + default=False, + dest="verbose", + help="Display complementary information about file if any. " + "Stdout will contain logs about the detection process.", + ) + parser.add_argument( + "-a", + "--with-alternative", + action="store_true", + default=False, + dest="alternatives", + help="Output complementary possibilities if any. Top-level JSON WILL be a list.", + ) + parser.add_argument( + "-n", + "--normalize", + action="store_true", + default=False, + dest="normalize", + help="Permit to normalize input file. If not set, program does not write anything.", + ) + parser.add_argument( + "-m", + "--minimal", + action="store_true", + default=False, + dest="minimal", + help="Only output the charset detected to STDOUT. Disabling JSON output.", + ) + parser.add_argument( + "-r", + "--replace", + action="store_true", + default=False, + dest="replace", + help="Replace file when trying to normalize it instead of creating a new one.", + ) + parser.add_argument( + "-f", + "--force", + action="store_true", + default=False, + dest="force", + help="Replace file without asking if you are sure, use this flag with caution.", + ) + parser.add_argument( + "-i", + "--no-preemptive", + action="store_true", + default=False, + dest="no_preemptive", + help="Disable looking at a charset declaration to hint the detector.", + ) + parser.add_argument( + "-t", + "--threshold", + action="store", + default=0.2, + type=float, + dest="threshold", + help="Define a custom maximum amount of chaos allowed in decoded content. 0. <= chaos <= 1.", + ) + parser.add_argument( + "--version", + action="version", + version="Charset-Normalizer {} - Python {} - Unicode {} - SpeedUp {}".format( + __version__, + python_version(), + unidata_version, + "OFF" if md_module.__file__.lower().endswith(".py") else "ON", + ), + help="Show version information and exit.", + ) + + args = parser.parse_args(argv) + + if args.replace is True and args.normalize is False: + if args.files: + for my_file in args.files: + my_file.close() + print("Use --replace in addition of --normalize only.", file=sys.stderr) + return 1 + + if args.force is True and args.replace is False: + if args.files: + for my_file in args.files: + my_file.close() + print("Use --force in addition of --replace only.", file=sys.stderr) + return 1 + + if args.threshold < 0.0 or args.threshold > 1.0: + if args.files: + for my_file in args.files: + my_file.close() + print("--threshold VALUE should be between 0. AND 1.", file=sys.stderr) + return 1 + + x_ = [] + + for my_file in args.files: + matches = from_fp( + my_file, + threshold=args.threshold, + explain=args.verbose, + preemptive_behaviour=args.no_preemptive is False, + ) + + best_guess = matches.best() + + if best_guess is None: + print( + 'Unable to identify originating encoding for "{}". {}'.format( + my_file.name, + ( + "Maybe try increasing maximum amount of chaos." + if args.threshold < 1.0 + else "" + ), + ), + file=sys.stderr, + ) + x_.append( + CliDetectionResult( + abspath(my_file.name), + None, + [], + [], + "Unknown", + [], + False, + 1.0, + 0.0, + None, + True, + ) + ) + else: + x_.append( + CliDetectionResult( + abspath(my_file.name), + best_guess.encoding, + best_guess.encoding_aliases, + [ + cp + for cp in best_guess.could_be_from_charset + if cp != best_guess.encoding + ], + best_guess.language, + best_guess.alphabets, + best_guess.bom, + best_guess.percent_chaos, + best_guess.percent_coherence, + None, + True, + ) + ) + + if len(matches) > 1 and args.alternatives: + for el in matches: + if el != best_guess: + x_.append( + CliDetectionResult( + abspath(my_file.name), + el.encoding, + el.encoding_aliases, + [ + cp + for cp in el.could_be_from_charset + if cp != el.encoding + ], + el.language, + el.alphabets, + el.bom, + el.percent_chaos, + el.percent_coherence, + None, + False, + ) + ) + + if args.normalize is True: + if best_guess.encoding.startswith("utf") is True: + print( + '"{}" file does not need to be normalized, as it already came from unicode.'.format( + my_file.name + ), + file=sys.stderr, + ) + if my_file.closed is False: + my_file.close() + continue + + dir_path = dirname(realpath(my_file.name)) + file_name = basename(realpath(my_file.name)) + + o_: List[str] = file_name.split(".") + + if args.replace is False: + o_.insert(-1, best_guess.encoding) + if my_file.closed is False: + my_file.close() + elif ( + args.force is False + and query_yes_no( + 'Are you sure to normalize "{}" by replacing it ?'.format( + my_file.name + ), + "no", + ) + is False + ): + if my_file.closed is False: + my_file.close() + continue + + try: + x_[0].unicode_path = join(dir_path, ".".join(o_)) + + with open(x_[0].unicode_path, "wb") as fp: + fp.write(best_guess.output()) + except IOError as e: + print(str(e), file=sys.stderr) + if my_file.closed is False: + my_file.close() + return 2 + + if my_file.closed is False: + my_file.close() + + if args.minimal is False: + print( + dumps( + [el.__dict__ for el in x_] if len(x_) > 1 else x_[0].__dict__, + ensure_ascii=True, + indent=4, + ) + ) + else: + for my_file in args.files: + print( + ", ".join( + [ + el.encoding or "undefined" + for el in x_ + if el.path == abspath(my_file.name) + ] + ) + ) + + return 0 + + +if __name__ == "__main__": + cli_detect() diff --git a/venv/Lib/site-packages/charset_normalizer/cli/__pycache__/__init__.cpython-39.pyc b/venv/Lib/site-packages/charset_normalizer/cli/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..4f99dd61 Binary files /dev/null and b/venv/Lib/site-packages/charset_normalizer/cli/__pycache__/__init__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/charset_normalizer/cli/__pycache__/__main__.cpython-39.pyc b/venv/Lib/site-packages/charset_normalizer/cli/__pycache__/__main__.cpython-39.pyc new file mode 100644 index 00000000..85d54006 Binary files /dev/null and b/venv/Lib/site-packages/charset_normalizer/cli/__pycache__/__main__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/charset_normalizer/constant.py b/venv/Lib/site-packages/charset_normalizer/constant.py new file mode 100644 index 00000000..f8f2a811 --- /dev/null +++ b/venv/Lib/site-packages/charset_normalizer/constant.py @@ -0,0 +1,1997 @@ +# -*- coding: utf-8 -*- +from codecs import BOM_UTF8, BOM_UTF16_BE, BOM_UTF16_LE, BOM_UTF32_BE, BOM_UTF32_LE +from encodings.aliases import aliases +from re import IGNORECASE, compile as re_compile +from typing import Dict, List, Set, Union + +# Contain for each eligible encoding a list of/item bytes SIG/BOM +ENCODING_MARKS: Dict[str, Union[bytes, List[bytes]]] = { + "utf_8": BOM_UTF8, + "utf_7": [ + b"\x2b\x2f\x76\x38", + b"\x2b\x2f\x76\x39", + b"\x2b\x2f\x76\x2b", + b"\x2b\x2f\x76\x2f", + b"\x2b\x2f\x76\x38\x2d", + ], + "gb18030": b"\x84\x31\x95\x33", + "utf_32": [BOM_UTF32_BE, BOM_UTF32_LE], + "utf_16": [BOM_UTF16_BE, BOM_UTF16_LE], +} + +TOO_SMALL_SEQUENCE: int = 32 +TOO_BIG_SEQUENCE: int = int(10e6) + +UTF8_MAXIMAL_ALLOCATION: int = 1_112_064 + +# Up-to-date Unicode ucd/15.0.0 +UNICODE_RANGES_COMBINED: Dict[str, range] = { + "Control character": range(32), + "Basic Latin": range(32, 128), + "Latin-1 Supplement": range(128, 256), + "Latin Extended-A": range(256, 384), + "Latin Extended-B": range(384, 592), + "IPA Extensions": range(592, 688), + "Spacing Modifier Letters": range(688, 768), + "Combining Diacritical Marks": range(768, 880), + "Greek and Coptic": range(880, 1024), + "Cyrillic": range(1024, 1280), + "Cyrillic Supplement": range(1280, 1328), + "Armenian": range(1328, 1424), + "Hebrew": range(1424, 1536), + "Arabic": range(1536, 1792), + "Syriac": range(1792, 1872), + "Arabic Supplement": range(1872, 1920), + "Thaana": range(1920, 1984), + "NKo": range(1984, 2048), + "Samaritan": range(2048, 2112), + "Mandaic": range(2112, 2144), + "Syriac Supplement": range(2144, 2160), + "Arabic Extended-B": range(2160, 2208), + "Arabic Extended-A": range(2208, 2304), + "Devanagari": range(2304, 2432), + "Bengali": range(2432, 2560), + "Gurmukhi": range(2560, 2688), + "Gujarati": range(2688, 2816), + "Oriya": range(2816, 2944), + "Tamil": range(2944, 3072), + "Telugu": range(3072, 3200), + "Kannada": range(3200, 3328), + "Malayalam": range(3328, 3456), + "Sinhala": range(3456, 3584), + "Thai": range(3584, 3712), + "Lao": range(3712, 3840), + "Tibetan": range(3840, 4096), + "Myanmar": range(4096, 4256), + "Georgian": range(4256, 4352), + "Hangul Jamo": range(4352, 4608), + "Ethiopic": range(4608, 4992), + "Ethiopic Supplement": range(4992, 5024), + "Cherokee": range(5024, 5120), + "Unified Canadian Aboriginal Syllabics": range(5120, 5760), + "Ogham": range(5760, 5792), + "Runic": range(5792, 5888), + "Tagalog": range(5888, 5920), + "Hanunoo": range(5920, 5952), + "Buhid": range(5952, 5984), + "Tagbanwa": range(5984, 6016), + "Khmer": range(6016, 6144), + "Mongolian": range(6144, 6320), + "Unified Canadian Aboriginal Syllabics Extended": range(6320, 6400), + "Limbu": range(6400, 6480), + "Tai Le": range(6480, 6528), + "New Tai Lue": range(6528, 6624), + "Khmer Symbols": range(6624, 6656), + "Buginese": range(6656, 6688), + "Tai Tham": range(6688, 6832), + "Combining Diacritical Marks Extended": range(6832, 6912), + "Balinese": range(6912, 7040), + "Sundanese": range(7040, 7104), + "Batak": range(7104, 7168), + "Lepcha": range(7168, 7248), + "Ol Chiki": range(7248, 7296), + "Cyrillic Extended-C": range(7296, 7312), + "Georgian Extended": range(7312, 7360), + "Sundanese Supplement": range(7360, 7376), + "Vedic Extensions": range(7376, 7424), + "Phonetic Extensions": range(7424, 7552), + "Phonetic Extensions Supplement": range(7552, 7616), + "Combining Diacritical Marks Supplement": range(7616, 7680), + "Latin Extended Additional": range(7680, 7936), + "Greek Extended": range(7936, 8192), + "General Punctuation": range(8192, 8304), + "Superscripts and Subscripts": range(8304, 8352), + "Currency Symbols": range(8352, 8400), + "Combining Diacritical Marks for Symbols": range(8400, 8448), + "Letterlike Symbols": range(8448, 8528), + "Number Forms": range(8528, 8592), + "Arrows": range(8592, 8704), + "Mathematical Operators": range(8704, 8960), + "Miscellaneous Technical": range(8960, 9216), + "Control Pictures": range(9216, 9280), + "Optical Character Recognition": range(9280, 9312), + "Enclosed Alphanumerics": range(9312, 9472), + "Box Drawing": range(9472, 9600), + "Block Elements": range(9600, 9632), + "Geometric Shapes": range(9632, 9728), + "Miscellaneous Symbols": range(9728, 9984), + "Dingbats": range(9984, 10176), + "Miscellaneous Mathematical Symbols-A": range(10176, 10224), + "Supplemental Arrows-A": range(10224, 10240), + "Braille Patterns": range(10240, 10496), + "Supplemental Arrows-B": range(10496, 10624), + "Miscellaneous Mathematical Symbols-B": range(10624, 10752), + "Supplemental Mathematical Operators": range(10752, 11008), + "Miscellaneous Symbols and Arrows": range(11008, 11264), + "Glagolitic": range(11264, 11360), + "Latin Extended-C": range(11360, 11392), + "Coptic": range(11392, 11520), + "Georgian Supplement": range(11520, 11568), + "Tifinagh": range(11568, 11648), + "Ethiopic Extended": range(11648, 11744), + "Cyrillic Extended-A": range(11744, 11776), + "Supplemental Punctuation": range(11776, 11904), + "CJK Radicals Supplement": range(11904, 12032), + "Kangxi Radicals": range(12032, 12256), + "Ideographic Description Characters": range(12272, 12288), + "CJK Symbols and Punctuation": range(12288, 12352), + "Hiragana": range(12352, 12448), + "Katakana": range(12448, 12544), + "Bopomofo": range(12544, 12592), + "Hangul Compatibility Jamo": range(12592, 12688), + "Kanbun": range(12688, 12704), + "Bopomofo Extended": range(12704, 12736), + "CJK Strokes": range(12736, 12784), + "Katakana Phonetic Extensions": range(12784, 12800), + "Enclosed CJK Letters and Months": range(12800, 13056), + "CJK Compatibility": range(13056, 13312), + "CJK Unified Ideographs Extension A": range(13312, 19904), + "Yijing Hexagram Symbols": range(19904, 19968), + "CJK Unified Ideographs": range(19968, 40960), + "Yi Syllables": range(40960, 42128), + "Yi Radicals": range(42128, 42192), + "Lisu": range(42192, 42240), + "Vai": range(42240, 42560), + "Cyrillic Extended-B": range(42560, 42656), + "Bamum": range(42656, 42752), + "Modifier Tone Letters": range(42752, 42784), + "Latin Extended-D": range(42784, 43008), + "Syloti Nagri": range(43008, 43056), + "Common Indic Number Forms": range(43056, 43072), + "Phags-pa": range(43072, 43136), + "Saurashtra": range(43136, 43232), + "Devanagari Extended": range(43232, 43264), + "Kayah Li": range(43264, 43312), + "Rejang": range(43312, 43360), + "Hangul Jamo Extended-A": range(43360, 43392), + "Javanese": range(43392, 43488), + "Myanmar Extended-B": range(43488, 43520), + "Cham": range(43520, 43616), + "Myanmar Extended-A": range(43616, 43648), + "Tai Viet": range(43648, 43744), + "Meetei Mayek Extensions": range(43744, 43776), + "Ethiopic Extended-A": range(43776, 43824), + "Latin Extended-E": range(43824, 43888), + "Cherokee Supplement": range(43888, 43968), + "Meetei Mayek": range(43968, 44032), + "Hangul Syllables": range(44032, 55216), + "Hangul Jamo Extended-B": range(55216, 55296), + "High Surrogates": range(55296, 56192), + "High Private Use Surrogates": range(56192, 56320), + "Low Surrogates": range(56320, 57344), + "Private Use Area": range(57344, 63744), + "CJK Compatibility Ideographs": range(63744, 64256), + "Alphabetic Presentation Forms": range(64256, 64336), + "Arabic Presentation Forms-A": range(64336, 65024), + "Variation Selectors": range(65024, 65040), + "Vertical Forms": range(65040, 65056), + "Combining Half Marks": range(65056, 65072), + "CJK Compatibility Forms": range(65072, 65104), + "Small Form Variants": range(65104, 65136), + "Arabic Presentation Forms-B": range(65136, 65280), + "Halfwidth and Fullwidth Forms": range(65280, 65520), + "Specials": range(65520, 65536), + "Linear B Syllabary": range(65536, 65664), + "Linear B Ideograms": range(65664, 65792), + "Aegean Numbers": range(65792, 65856), + "Ancient Greek Numbers": range(65856, 65936), + "Ancient Symbols": range(65936, 66000), + "Phaistos Disc": range(66000, 66048), + "Lycian": range(66176, 66208), + "Carian": range(66208, 66272), + "Coptic Epact Numbers": range(66272, 66304), + "Old Italic": range(66304, 66352), + "Gothic": range(66352, 66384), + "Old Permic": range(66384, 66432), + "Ugaritic": range(66432, 66464), + "Old Persian": range(66464, 66528), + "Deseret": range(66560, 66640), + "Shavian": range(66640, 66688), + "Osmanya": range(66688, 66736), + "Osage": range(66736, 66816), + "Elbasan": range(66816, 66864), + "Caucasian Albanian": range(66864, 66928), + "Vithkuqi": range(66928, 67008), + "Linear A": range(67072, 67456), + "Latin Extended-F": range(67456, 67520), + "Cypriot Syllabary": range(67584, 67648), + "Imperial Aramaic": range(67648, 67680), + "Palmyrene": range(67680, 67712), + "Nabataean": range(67712, 67760), + "Hatran": range(67808, 67840), + "Phoenician": range(67840, 67872), + "Lydian": range(67872, 67904), + "Meroitic Hieroglyphs": range(67968, 68000), + "Meroitic Cursive": range(68000, 68096), + "Kharoshthi": range(68096, 68192), + "Old South Arabian": range(68192, 68224), + "Old North Arabian": range(68224, 68256), + "Manichaean": range(68288, 68352), + "Avestan": range(68352, 68416), + "Inscriptional Parthian": range(68416, 68448), + "Inscriptional Pahlavi": range(68448, 68480), + "Psalter Pahlavi": range(68480, 68528), + "Old Turkic": range(68608, 68688), + "Old Hungarian": range(68736, 68864), + "Hanifi Rohingya": range(68864, 68928), + "Rumi Numeral Symbols": range(69216, 69248), + "Yezidi": range(69248, 69312), + "Arabic Extended-C": range(69312, 69376), + "Old Sogdian": range(69376, 69424), + "Sogdian": range(69424, 69488), + "Old Uyghur": range(69488, 69552), + "Chorasmian": range(69552, 69600), + "Elymaic": range(69600, 69632), + "Brahmi": range(69632, 69760), + "Kaithi": range(69760, 69840), + "Sora Sompeng": range(69840, 69888), + "Chakma": range(69888, 69968), + "Mahajani": range(69968, 70016), + "Sharada": range(70016, 70112), + "Sinhala Archaic Numbers": range(70112, 70144), + "Khojki": range(70144, 70224), + "Multani": range(70272, 70320), + "Khudawadi": range(70320, 70400), + "Grantha": range(70400, 70528), + "Newa": range(70656, 70784), + "Tirhuta": range(70784, 70880), + "Siddham": range(71040, 71168), + "Modi": range(71168, 71264), + "Mongolian Supplement": range(71264, 71296), + "Takri": range(71296, 71376), + "Ahom": range(71424, 71504), + "Dogra": range(71680, 71760), + "Warang Citi": range(71840, 71936), + "Dives Akuru": range(71936, 72032), + "Nandinagari": range(72096, 72192), + "Zanabazar Square": range(72192, 72272), + "Soyombo": range(72272, 72368), + "Unified Canadian Aboriginal Syllabics Extended-A": range(72368, 72384), + "Pau Cin Hau": range(72384, 72448), + "Devanagari Extended-A": range(72448, 72544), + "Bhaiksuki": range(72704, 72816), + "Marchen": range(72816, 72896), + "Masaram Gondi": range(72960, 73056), + "Gunjala Gondi": range(73056, 73136), + "Makasar": range(73440, 73472), + "Kawi": range(73472, 73568), + "Lisu Supplement": range(73648, 73664), + "Tamil Supplement": range(73664, 73728), + "Cuneiform": range(73728, 74752), + "Cuneiform Numbers and Punctuation": range(74752, 74880), + "Early Dynastic Cuneiform": range(74880, 75088), + "Cypro-Minoan": range(77712, 77824), + "Egyptian Hieroglyphs": range(77824, 78896), + "Egyptian Hieroglyph Format Controls": range(78896, 78944), + "Anatolian Hieroglyphs": range(82944, 83584), + "Bamum Supplement": range(92160, 92736), + "Mro": range(92736, 92784), + "Tangsa": range(92784, 92880), + "Bassa Vah": range(92880, 92928), + "Pahawh Hmong": range(92928, 93072), + "Medefaidrin": range(93760, 93856), + "Miao": range(93952, 94112), + "Ideographic Symbols and Punctuation": range(94176, 94208), + "Tangut": range(94208, 100352), + "Tangut Components": range(100352, 101120), + "Khitan Small Script": range(101120, 101632), + "Tangut Supplement": range(101632, 101760), + "Kana Extended-B": range(110576, 110592), + "Kana Supplement": range(110592, 110848), + "Kana Extended-A": range(110848, 110896), + "Small Kana Extension": range(110896, 110960), + "Nushu": range(110960, 111360), + "Duployan": range(113664, 113824), + "Shorthand Format Controls": range(113824, 113840), + "Znamenny Musical Notation": range(118528, 118736), + "Byzantine Musical Symbols": range(118784, 119040), + "Musical Symbols": range(119040, 119296), + "Ancient Greek Musical Notation": range(119296, 119376), + "Kaktovik Numerals": range(119488, 119520), + "Mayan Numerals": range(119520, 119552), + "Tai Xuan Jing Symbols": range(119552, 119648), + "Counting Rod Numerals": range(119648, 119680), + "Mathematical Alphanumeric Symbols": range(119808, 120832), + "Sutton SignWriting": range(120832, 121520), + "Latin Extended-G": range(122624, 122880), + "Glagolitic Supplement": range(122880, 122928), + "Cyrillic Extended-D": range(122928, 123024), + "Nyiakeng Puachue Hmong": range(123136, 123216), + "Toto": range(123536, 123584), + "Wancho": range(123584, 123648), + "Nag Mundari": range(124112, 124160), + "Ethiopic Extended-B": range(124896, 124928), + "Mende Kikakui": range(124928, 125152), + "Adlam": range(125184, 125280), + "Indic Siyaq Numbers": range(126064, 126144), + "Ottoman Siyaq Numbers": range(126208, 126288), + "Arabic Mathematical Alphabetic Symbols": range(126464, 126720), + "Mahjong Tiles": range(126976, 127024), + "Domino Tiles": range(127024, 127136), + "Playing Cards": range(127136, 127232), + "Enclosed Alphanumeric Supplement": range(127232, 127488), + "Enclosed Ideographic Supplement": range(127488, 127744), + "Miscellaneous Symbols and Pictographs": range(127744, 128512), + "Emoticons range(Emoji)": range(128512, 128592), + "Ornamental Dingbats": range(128592, 128640), + "Transport and Map Symbols": range(128640, 128768), + "Alchemical Symbols": range(128768, 128896), + "Geometric Shapes Extended": range(128896, 129024), + "Supplemental Arrows-C": range(129024, 129280), + "Supplemental Symbols and Pictographs": range(129280, 129536), + "Chess Symbols": range(129536, 129648), + "Symbols and Pictographs Extended-A": range(129648, 129792), + "Symbols for Legacy Computing": range(129792, 130048), + "CJK Unified Ideographs Extension B": range(131072, 173792), + "CJK Unified Ideographs Extension C": range(173824, 177984), + "CJK Unified Ideographs Extension D": range(177984, 178208), + "CJK Unified Ideographs Extension E": range(178208, 183984), + "CJK Unified Ideographs Extension F": range(183984, 191472), + "CJK Compatibility Ideographs Supplement": range(194560, 195104), + "CJK Unified Ideographs Extension G": range(196608, 201552), + "CJK Unified Ideographs Extension H": range(201552, 205744), + "Tags": range(917504, 917632), + "Variation Selectors Supplement": range(917760, 918000), + "Supplementary Private Use Area-A": range(983040, 1048576), + "Supplementary Private Use Area-B": range(1048576, 1114112), +} + + +UNICODE_SECONDARY_RANGE_KEYWORD: List[str] = [ + "Supplement", + "Extended", + "Extensions", + "Modifier", + "Marks", + "Punctuation", + "Symbols", + "Forms", + "Operators", + "Miscellaneous", + "Drawing", + "Block", + "Shapes", + "Supplemental", + "Tags", +] + +RE_POSSIBLE_ENCODING_INDICATION = re_compile( + r"(?:(?:encoding)|(?:charset)|(?:coding))(?:[\:= ]{1,10})(?:[\"\']?)([a-zA-Z0-9\-_]+)(?:[\"\']?)", + IGNORECASE, +) + +IANA_NO_ALIASES = [ + "cp720", + "cp737", + "cp856", + "cp874", + "cp875", + "cp1006", + "koi8_r", + "koi8_t", + "koi8_u", +] + +IANA_SUPPORTED: List[str] = sorted( + filter( + lambda x: x.endswith("_codec") is False + and x not in {"rot_13", "tactis", "mbcs"}, + list(set(aliases.values())) + IANA_NO_ALIASES, + ) +) + +IANA_SUPPORTED_COUNT: int = len(IANA_SUPPORTED) + +# pre-computed code page that are similar using the function cp_similarity. +IANA_SUPPORTED_SIMILAR: Dict[str, List[str]] = { + "cp037": ["cp1026", "cp1140", "cp273", "cp500"], + "cp1026": ["cp037", "cp1140", "cp273", "cp500"], + "cp1125": ["cp866"], + "cp1140": ["cp037", "cp1026", "cp273", "cp500"], + "cp1250": ["iso8859_2"], + "cp1251": ["kz1048", "ptcp154"], + "cp1252": ["iso8859_15", "iso8859_9", "latin_1"], + "cp1253": ["iso8859_7"], + "cp1254": ["iso8859_15", "iso8859_9", "latin_1"], + "cp1257": ["iso8859_13"], + "cp273": ["cp037", "cp1026", "cp1140", "cp500"], + "cp437": ["cp850", "cp858", "cp860", "cp861", "cp862", "cp863", "cp865"], + "cp500": ["cp037", "cp1026", "cp1140", "cp273"], + "cp850": ["cp437", "cp857", "cp858", "cp865"], + "cp857": ["cp850", "cp858", "cp865"], + "cp858": ["cp437", "cp850", "cp857", "cp865"], + "cp860": ["cp437", "cp861", "cp862", "cp863", "cp865"], + "cp861": ["cp437", "cp860", "cp862", "cp863", "cp865"], + "cp862": ["cp437", "cp860", "cp861", "cp863", "cp865"], + "cp863": ["cp437", "cp860", "cp861", "cp862", "cp865"], + "cp865": ["cp437", "cp850", "cp857", "cp858", "cp860", "cp861", "cp862", "cp863"], + "cp866": ["cp1125"], + "iso8859_10": ["iso8859_14", "iso8859_15", "iso8859_4", "iso8859_9", "latin_1"], + "iso8859_11": ["tis_620"], + "iso8859_13": ["cp1257"], + "iso8859_14": [ + "iso8859_10", + "iso8859_15", + "iso8859_16", + "iso8859_3", + "iso8859_9", + "latin_1", + ], + "iso8859_15": [ + "cp1252", + "cp1254", + "iso8859_10", + "iso8859_14", + "iso8859_16", + "iso8859_3", + "iso8859_9", + "latin_1", + ], + "iso8859_16": [ + "iso8859_14", + "iso8859_15", + "iso8859_2", + "iso8859_3", + "iso8859_9", + "latin_1", + ], + "iso8859_2": ["cp1250", "iso8859_16", "iso8859_4"], + "iso8859_3": ["iso8859_14", "iso8859_15", "iso8859_16", "iso8859_9", "latin_1"], + "iso8859_4": ["iso8859_10", "iso8859_2", "iso8859_9", "latin_1"], + "iso8859_7": ["cp1253"], + "iso8859_9": [ + "cp1252", + "cp1254", + "cp1258", + "iso8859_10", + "iso8859_14", + "iso8859_15", + "iso8859_16", + "iso8859_3", + "iso8859_4", + "latin_1", + ], + "kz1048": ["cp1251", "ptcp154"], + "latin_1": [ + "cp1252", + "cp1254", + "cp1258", + "iso8859_10", + "iso8859_14", + "iso8859_15", + "iso8859_16", + "iso8859_3", + "iso8859_4", + "iso8859_9", + ], + "mac_iceland": ["mac_roman", "mac_turkish"], + "mac_roman": ["mac_iceland", "mac_turkish"], + "mac_turkish": ["mac_iceland", "mac_roman"], + "ptcp154": ["cp1251", "kz1048"], + "tis_620": ["iso8859_11"], +} + + +CHARDET_CORRESPONDENCE: Dict[str, str] = { + "iso2022_kr": "ISO-2022-KR", + "iso2022_jp": "ISO-2022-JP", + "euc_kr": "EUC-KR", + "tis_620": "TIS-620", + "utf_32": "UTF-32", + "euc_jp": "EUC-JP", + "koi8_r": "KOI8-R", + "iso8859_1": "ISO-8859-1", + "iso8859_2": "ISO-8859-2", + "iso8859_5": "ISO-8859-5", + "iso8859_6": "ISO-8859-6", + "iso8859_7": "ISO-8859-7", + "iso8859_8": "ISO-8859-8", + "utf_16": "UTF-16", + "cp855": "IBM855", + "mac_cyrillic": "MacCyrillic", + "gb2312": "GB2312", + "gb18030": "GB18030", + "cp932": "CP932", + "cp866": "IBM866", + "utf_8": "utf-8", + "utf_8_sig": "UTF-8-SIG", + "shift_jis": "SHIFT_JIS", + "big5": "Big5", + "cp1250": "windows-1250", + "cp1251": "windows-1251", + "cp1252": "Windows-1252", + "cp1253": "windows-1253", + "cp1255": "windows-1255", + "cp1256": "windows-1256", + "cp1254": "Windows-1254", + "cp949": "CP949", +} + + +COMMON_SAFE_ASCII_CHARACTERS: Set[str] = { + "<", + ">", + "=", + ":", + "/", + "&", + ";", + "{", + "}", + "[", + "]", + ",", + "|", + '"', + "-", + "(", + ")", +} + + +KO_NAMES: Set[str] = {"johab", "cp949", "euc_kr"} +ZH_NAMES: Set[str] = {"big5", "cp950", "big5hkscs", "hz"} + +# Logging LEVEL below DEBUG +TRACE: int = 5 + + +# Language label that contain the em dash "—" +# character are to be considered alternative seq to origin +FREQUENCIES: Dict[str, List[str]] = { + "English": [ + "e", + "a", + "t", + "i", + "o", + "n", + "s", + "r", + "h", + "l", + "d", + "c", + "u", + "m", + "f", + "p", + "g", + "w", + "y", + "b", + "v", + "k", + "x", + "j", + "z", + "q", + ], + "English—": [ + "e", + "a", + "t", + "i", + "o", + "n", + "s", + "r", + "h", + "l", + "d", + "c", + "m", + "u", + "f", + "p", + "g", + "w", + "b", + "y", + "v", + "k", + "j", + "x", + "z", + "q", + ], + "German": [ + "e", + "n", + "i", + "r", + "s", + "t", + "a", + "d", + "h", + "u", + "l", + "g", + "o", + "c", + "m", + "b", + "f", + "k", + "w", + "z", + "p", + "v", + "ü", + "ä", + "ö", + "j", + ], + "French": [ + "e", + "a", + "s", + "n", + "i", + "t", + "r", + "l", + "u", + "o", + "d", + "c", + "p", + "m", + "é", + "v", + "g", + "f", + "b", + "h", + "q", + "à", + "x", + "è", + "y", + "j", + ], + "Dutch": [ + "e", + "n", + "a", + "i", + "r", + "t", + "o", + "d", + "s", + "l", + "g", + "h", + "v", + "m", + "u", + "k", + "c", + "p", + "b", + "w", + "j", + "z", + "f", + "y", + "x", + "ë", + ], + "Italian": [ + "e", + "i", + "a", + "o", + "n", + "l", + "t", + "r", + "s", + "c", + "d", + "u", + "p", + "m", + "g", + "v", + "f", + "b", + "z", + "h", + "q", + "è", + "à", + "k", + "y", + "ò", + ], + "Polish": [ + "a", + "i", + "o", + "e", + "n", + "r", + "z", + "w", + "s", + "c", + "t", + "k", + "y", + "d", + "p", + "m", + "u", + "l", + "j", + "Å‚", + "g", + "b", + "h", + "Ä…", + "Ä™", + "ó", + ], + "Spanish": [ + "e", + "a", + "o", + "n", + "s", + "r", + "i", + "l", + "d", + "t", + "c", + "u", + "m", + "p", + "b", + "g", + "v", + "f", + "y", + "ó", + "h", + "q", + "í", + "j", + "z", + "á", + ], + "Russian": [ + "о", + "а", + "е", + "и", + "н", + "Ñ", + "Ñ‚", + "Ñ€", + "в", + "л", + "к", + "м", + "д", + "п", + "у", + "г", + "Ñ", + "Ñ‹", + "з", + "б", + "й", + "ÑŒ", + "ч", + "Ñ…", + "ж", + "ц", + ], + # Jap-Kanji + "Japanese": [ + "人", + "一", + "大", + "亅", + "ä¸", + "丨", + "竹", + "笑", + "å£", + "æ—¥", + "今", + "二", + "å½³", + "行", + "å", + "土", + "丶", + "寸", + "寺", + "時", + "ä¹™", + "丿", + "乂", + "æ°”", + "æ°—", + "冂", + "å·¾", + "亠", + "市", + "ç›®", + "å„¿", + "見", + "å…«", + "å°", + "凵", + "県", + "月", + "å½", + "é–€", + "é–“", + "木", + "æ±", + "å±±", + "出", + "本", + "中", + "刀", + "分", + "耳", + "åˆ", + "å–", + "最", + "言", + "ç”°", + "心", + "æ€", + "刂", + "å‰", + "京", + "å°¹", + "事", + "生", + "厶", + "云", + "会", + "未", + "æ¥", + "白", + "冫", + "楽", + "ç¬", + "馬", + "å°¸", + "å°º", + "é§…", + "明", + "耂", + "者", + "了", + "é˜", + "都", + "高", + "åœ", + "å ", + "厂", + "广", + "店", + "å­", + "申", + "奄", + "亻", + "俺", + "上", + "æ–¹", + "冖", + "å­¦", + "è¡£", + "艮", + "食", + "自", + ], + # Jap-Katakana + "Japanese—": [ + "ー", + "ン", + "ス", + "・", + "ル", + "ト", + "リ", + "イ", + "ã‚¢", + "ラ", + "ッ", + "ク", + "ド", + "ã‚·", + "レ", + "ジ", + "ã‚¿", + "フ", + "ロ", + "ã‚«", + "テ", + "マ", + "ã‚£", + "ã‚°", + "ãƒ", + "ム", + "プ", + "オ", + "コ", + "デ", + "ニ", + "ウ", + "メ", + "サ", + "ビ", + "ナ", + "ブ", + "ャ", + "エ", + "ュ", + "ãƒ", + "ã‚­", + "ズ", + "ダ", + "パ", + "ミ", + "ã‚§", + "ョ", + "ãƒ", + "ã‚»", + "ベ", + "ガ", + "モ", + "ツ", + "ãƒ", + "ボ", + "ソ", + "ノ", + "ã‚¡", + "ヴ", + "ワ", + "ãƒ", + "ペ", + "ピ", + "ケ", + "ã‚´", + "ã‚®", + "ã‚¶", + "ホ", + "ゲ", + "ã‚©", + "ヤ", + "ヒ", + "ユ", + "ヨ", + "ヘ", + "ゼ", + "ヌ", + "ã‚¥", + "ゾ", + "ヶ", + "ヂ", + "ヲ", + "ヅ", + "ヵ", + "ヱ", + "ヰ", + "ヮ", + "ヽ", + "ã‚ ", + "ヾ", + "ヷ", + "ヿ", + "ヸ", + "ヹ", + "ヺ", + ], + # Jap-Hiragana + "Japanese——": [ + "ã®", + "ã«", + "ã‚‹", + "ãŸ", + "ã¨", + "ã¯", + "ã—", + "ã„", + "ã‚’", + "ã§", + "ã¦", + "ãŒ", + "ãª", + "れ", + "ã‹", + "ら", + "ã•", + "ã£", + "り", + "ã™", + "ã‚", + "ã‚‚", + "ã“", + "ã¾", + "ã†", + "ã", + "よ", + "ã", + "ã‚“", + "ã‚", + "ãŠ", + "ã‘", + "ã", + "ã¤", + "ã ", + "ã‚„", + "ãˆ", + "ã©", + "ã‚", + "ã¡", + "ã¿", + "ã›", + "ã˜", + "ã°", + "ã¸", + "ã³", + "ãš", + "ã‚", + "ã»", + "ã’", + "ã‚€", + "ã¹", + "ã²", + "ょ", + "ゆ", + "ã¶", + "ã”", + "ゃ", + "ã­", + "ãµ", + "ã", + "ãŽ", + "ã¼", + "ã‚…", + "ã¥", + "ã–", + "ãž", + "ã¬", + "ãœ", + "ã±", + "ã½", + "ã·", + "ã´", + "ãƒ", + "ã", + "ã‡", + "ãº", + "ゞ", + "ã¢", + "ã‰", + "ã…", + "ã‚", + "ã‚", + "ã‚‘", + "ã‚›", + "゜", + "ゎ", + "ã‚”", + "゚", + "ゟ", + "ã‚™", + "ã‚•", + "ã‚–", + ], + "Portuguese": [ + "a", + "e", + "o", + "s", + "i", + "r", + "d", + "n", + "t", + "m", + "u", + "c", + "l", + "p", + "g", + "v", + "b", + "f", + "h", + "ã", + "q", + "é", + "ç", + "á", + "z", + "í", + ], + "Swedish": [ + "e", + "a", + "n", + "r", + "t", + "s", + "i", + "l", + "d", + "o", + "m", + "k", + "g", + "v", + "h", + "f", + "u", + "p", + "ä", + "c", + "b", + "ö", + "Ã¥", + "y", + "j", + "x", + ], + "Chinese": [ + "çš„", + "一", + "是", + "ä¸", + "了", + "在", + "人", + "有", + "我", + "ä»–", + "è¿™", + "个", + "们", + "中", + "æ¥", + "上", + "大", + "为", + "å’Œ", + "国", + "地", + "到", + "以", + "说", + "æ—¶", + "è¦", + "å°±", + "出", + "会", + "å¯", + "也", + "ä½ ", + "对", + "生", + "能", + "而", + "å­", + "é‚£", + "å¾—", + "于", + "ç€", + "下", + "自", + "之", + "å¹´", + "过", + "å‘", + "åŽ", + "作", + "里", + "用", + "é“", + "行", + "所", + "ç„¶", + "å®¶", + "ç§", + "事", + "æˆ", + "æ–¹", + "多", + "ç»", + "么", + "去", + "法", + "å­¦", + "如", + "都", + "åŒ", + "现", + "当", + "没", + "动", + "é¢", + "èµ·", + "看", + "定", + "天", + "分", + "还", + "è¿›", + "好", + "å°", + "部", + "å…¶", + "些", + "主", + "æ ·", + "ç†", + "心", + "她", + "本", + "å‰", + "å¼€", + "但", + "å› ", + "åª", + "从", + "想", + "实", + ], + "Ukrainian": [ + "о", + "а", + "н", + "Ñ–", + "и", + "Ñ€", + "в", + "Ñ‚", + "е", + "Ñ", + "к", + "л", + "у", + "д", + "м", + "п", + "з", + "Ñ", + "ÑŒ", + "б", + "г", + "й", + "ч", + "Ñ…", + "ц", + "Ñ—", + ], + "Norwegian": [ + "e", + "r", + "n", + "t", + "a", + "s", + "i", + "o", + "l", + "d", + "g", + "k", + "m", + "v", + "f", + "p", + "u", + "b", + "h", + "Ã¥", + "y", + "j", + "ø", + "c", + "æ", + "w", + ], + "Finnish": [ + "a", + "i", + "n", + "t", + "e", + "s", + "l", + "o", + "u", + "k", + "ä", + "m", + "r", + "v", + "j", + "h", + "p", + "y", + "d", + "ö", + "g", + "c", + "b", + "f", + "w", + "z", + ], + "Vietnamese": [ + "n", + "h", + "t", + "i", + "c", + "g", + "a", + "o", + "u", + "m", + "l", + "r", + "à", + "Ä‘", + "s", + "e", + "v", + "p", + "b", + "y", + "ư", + "d", + "á", + "k", + "á»™", + "ế", + ], + "Czech": [ + "o", + "e", + "a", + "n", + "t", + "s", + "i", + "l", + "v", + "r", + "k", + "d", + "u", + "m", + "p", + "í", + "c", + "h", + "z", + "á", + "y", + "j", + "b", + "Ä›", + "é", + "Å™", + ], + "Hungarian": [ + "e", + "a", + "t", + "l", + "s", + "n", + "k", + "r", + "i", + "o", + "z", + "á", + "é", + "g", + "m", + "b", + "y", + "v", + "d", + "h", + "u", + "p", + "j", + "ö", + "f", + "c", + ], + "Korean": [ + "ì´", + "다", + "ì—", + "ì˜", + "는", + "로", + "하", + "ì„", + "ê°€", + "ê³ ", + "ì§€", + "서", + "한", + "ì€", + "기", + "으", + "ë…„", + "대", + "사", + "시", + "를", + "리", + "ë„", + "ì¸", + "스", + "ì¼", + ], + "Indonesian": [ + "a", + "n", + "e", + "i", + "r", + "t", + "u", + "s", + "d", + "k", + "m", + "l", + "g", + "p", + "b", + "o", + "h", + "y", + "j", + "c", + "w", + "f", + "v", + "z", + "x", + "q", + ], + "Turkish": [ + "a", + "e", + "i", + "n", + "r", + "l", + "ı", + "k", + "d", + "t", + "s", + "m", + "y", + "u", + "o", + "b", + "ü", + "ÅŸ", + "v", + "g", + "z", + "h", + "c", + "p", + "ç", + "ÄŸ", + ], + "Romanian": [ + "e", + "i", + "a", + "r", + "n", + "t", + "u", + "l", + "o", + "c", + "s", + "d", + "p", + "m", + "ă", + "f", + "v", + "î", + "g", + "b", + "È™", + "È›", + "z", + "h", + "â", + "j", + ], + "Farsi": [ + "ا", + "ÛŒ", + "ر", + "د", + "Ù†", + "Ù‡", + "Ùˆ", + "Ù…", + "ت", + "ب", + "س", + "Ù„", + "Ú©", + "Ø´", + "ز", + "Ù", + "Ú¯", + "ع", + "Ø®", + "Ù‚", + "ج", + "Ø¢", + "Ù¾", + "Ø­", + "Ø·", + "ص", + ], + "Arabic": [ + "ا", + "Ù„", + "ÙŠ", + "Ù…", + "Ùˆ", + "Ù†", + "ر", + "ت", + "ب", + "Ø©", + "ع", + "د", + "س", + "Ù", + "Ù‡", + "Ùƒ", + "Ù‚", + "Ø£", + "Ø­", + "ج", + "Ø´", + "Ø·", + "ص", + "Ù‰", + "Ø®", + "Ø¥", + ], + "Danish": [ + "e", + "r", + "n", + "t", + "a", + "i", + "s", + "d", + "l", + "o", + "g", + "m", + "k", + "f", + "v", + "u", + "b", + "h", + "p", + "Ã¥", + "y", + "ø", + "æ", + "c", + "j", + "w", + ], + "Serbian": [ + "а", + "и", + "о", + "е", + "н", + "Ñ€", + "Ñ", + "у", + "Ñ‚", + "к", + "ј", + "в", + "д", + "м", + "п", + "л", + "г", + "з", + "б", + "a", + "i", + "e", + "o", + "n", + "ц", + "ш", + ], + "Lithuanian": [ + "i", + "a", + "s", + "o", + "r", + "e", + "t", + "n", + "u", + "k", + "m", + "l", + "p", + "v", + "d", + "j", + "g", + "Ä—", + "b", + "y", + "ų", + "Å¡", + "ž", + "c", + "Ä…", + "į", + ], + "Slovene": [ + "e", + "a", + "i", + "o", + "n", + "r", + "s", + "l", + "t", + "j", + "v", + "k", + "d", + "p", + "m", + "u", + "z", + "b", + "g", + "h", + "Ä", + "c", + "Å¡", + "ž", + "f", + "y", + ], + "Slovak": [ + "o", + "a", + "e", + "n", + "i", + "r", + "v", + "t", + "s", + "l", + "k", + "d", + "m", + "p", + "u", + "c", + "h", + "j", + "b", + "z", + "á", + "y", + "ý", + "í", + "Ä", + "é", + ], + "Hebrew": [ + "×™", + "ו", + "×”", + "ל", + "ר", + "ב", + "ת", + "מ", + "×", + "ש", + "× ", + "×¢", + "×", + "ד", + "×§", + "×—", + "פ", + "ס", + "×›", + "×’", + "ט", + "צ", + "ן", + "×–", + "ך", + ], + "Bulgarian": [ + "а", + "и", + "о", + "е", + "н", + "Ñ‚", + "Ñ€", + "Ñ", + "в", + "л", + "к", + "д", + "п", + "м", + "з", + "г", + "Ñ", + "ÑŠ", + "у", + "б", + "ч", + "ц", + "й", + "ж", + "щ", + "Ñ…", + ], + "Croatian": [ + "a", + "i", + "o", + "e", + "n", + "r", + "j", + "s", + "t", + "u", + "k", + "l", + "v", + "d", + "m", + "p", + "g", + "z", + "b", + "c", + "Ä", + "h", + "Å¡", + "ž", + "ć", + "f", + ], + "Hindi": [ + "क", + "र", + "स", + "न", + "त", + "म", + "ह", + "प", + "य", + "ल", + "व", + "ज", + "द", + "ग", + "ब", + "श", + "ट", + "अ", + "à¤", + "थ", + "भ", + "ड", + "च", + "ध", + "ष", + "इ", + ], + "Estonian": [ + "a", + "i", + "e", + "s", + "t", + "l", + "u", + "n", + "o", + "k", + "r", + "d", + "m", + "v", + "g", + "p", + "j", + "h", + "ä", + "b", + "õ", + "ü", + "f", + "c", + "ö", + "y", + ], + "Thai": [ + "า", + "น", + "ร", + "อ", + "à¸", + "เ", + "ง", + "ม", + "ย", + "ล", + "ว", + "ด", + "ท", + "ส", + "ต", + "ะ", + "ป", + "บ", + "ค", + "ห", + "à¹", + "จ", + "พ", + "ช", + "ข", + "ใ", + ], + "Greek": [ + "α", + "Ï„", + "ο", + "ι", + "ε", + "ν", + "Ï", + "σ", + "κ", + "η", + "Ï€", + "Ï‚", + "Ï…", + "μ", + "λ", + "ί", + "ÏŒ", + "ά", + "γ", + "έ", + "δ", + "ή", + "ω", + "χ", + "θ", + "Ï", + ], + "Tamil": [ + "க", + "த", + "ப", + "ட", + "à®°", + "à®®", + "ல", + "ன", + "வ", + "à®±", + "ய", + "ள", + "ச", + "ந", + "இ", + "ண", + "à®…", + "ஆ", + "à®´", + "à®™", + "எ", + "உ", + "à®’", + "ஸ", + ], + "Kazakh": [ + "а", + "Ñ‹", + "е", + "н", + "Ñ‚", + "Ñ€", + "л", + "Ñ–", + "д", + "Ñ", + "м", + "Ò›", + "к", + "о", + "б", + "и", + "у", + "Ò“", + "ж", + "Ò£", + "з", + "ш", + "й", + "п", + "г", + "Ó©", + ], +} + +LANGUAGE_SUPPORTED_COUNT: int = len(FREQUENCIES) diff --git a/venv/Lib/site-packages/charset_normalizer/legacy.py b/venv/Lib/site-packages/charset_normalizer/legacy.py new file mode 100644 index 00000000..3f6d4907 --- /dev/null +++ b/venv/Lib/site-packages/charset_normalizer/legacy.py @@ -0,0 +1,65 @@ +from __future__ import annotations + +from typing import TYPE_CHECKING, Any, Optional +from warnings import warn + +from .api import from_bytes +from .constant import CHARDET_CORRESPONDENCE + +# TODO: remove this check when dropping Python 3.7 support +if TYPE_CHECKING: + from typing_extensions import TypedDict + + class ResultDict(TypedDict): + encoding: Optional[str] + language: str + confidence: Optional[float] + + +def detect( + byte_str: bytes, should_rename_legacy: bool = False, **kwargs: Any +) -> ResultDict: + """ + chardet legacy method + Detect the encoding of the given byte string. It should be mostly backward-compatible. + Encoding name will match Chardet own writing whenever possible. (Not on encoding name unsupported by it) + This function is deprecated and should be used to migrate your project easily, consult the documentation for + further information. Not planned for removal. + + :param byte_str: The byte sequence to examine. + :param should_rename_legacy: Should we rename legacy encodings + to their more modern equivalents? + """ + if len(kwargs): + warn( + f"charset-normalizer disregard arguments '{','.join(list(kwargs.keys()))}' in legacy function detect()" + ) + + if not isinstance(byte_str, (bytearray, bytes)): + raise TypeError( # pragma: nocover + "Expected object of type bytes or bytearray, got: " + "{0}".format(type(byte_str)) + ) + + if isinstance(byte_str, bytearray): + byte_str = bytes(byte_str) + + r = from_bytes(byte_str).best() + + encoding = r.encoding if r is not None else None + language = r.language if r is not None and r.language != "Unknown" else "" + confidence = 1.0 - r.chaos if r is not None else None + + # Note: CharsetNormalizer does not return 'UTF-8-SIG' as the sig get stripped in the detection/normalization process + # but chardet does return 'utf-8-sig' and it is a valid codec name. + if r is not None and encoding == "utf_8" and r.bom: + encoding += "_sig" + + if should_rename_legacy is False and encoding in CHARDET_CORRESPONDENCE: + encoding = CHARDET_CORRESPONDENCE[encoding] + + return { + "encoding": encoding, + "language": language, + "confidence": confidence, + } diff --git a/venv/Lib/site-packages/charset_normalizer/md.cp39-win_amd64.pyd b/venv/Lib/site-packages/charset_normalizer/md.cp39-win_amd64.pyd new file mode 100644 index 00000000..d6dcd25b Binary files /dev/null and b/venv/Lib/site-packages/charset_normalizer/md.cp39-win_amd64.pyd differ diff --git a/venv/Lib/site-packages/charset_normalizer/md.py b/venv/Lib/site-packages/charset_normalizer/md.py new file mode 100644 index 00000000..d834db0e --- /dev/null +++ b/venv/Lib/site-packages/charset_normalizer/md.py @@ -0,0 +1,628 @@ +from functools import lru_cache +from logging import getLogger +from typing import List, Optional + +from .constant import ( + COMMON_SAFE_ASCII_CHARACTERS, + TRACE, + UNICODE_SECONDARY_RANGE_KEYWORD, +) +from .utils import ( + is_accentuated, + is_arabic, + is_arabic_isolated_form, + is_case_variable, + is_cjk, + is_emoticon, + is_hangul, + is_hiragana, + is_katakana, + is_latin, + is_punctuation, + is_separator, + is_symbol, + is_thai, + is_unprintable, + remove_accent, + unicode_range, +) + + +class MessDetectorPlugin: + """ + Base abstract class used for mess detection plugins. + All detectors MUST extend and implement given methods. + """ + + def eligible(self, character: str) -> bool: + """ + Determine if given character should be fed in. + """ + raise NotImplementedError # pragma: nocover + + def feed(self, character: str) -> None: + """ + The main routine to be executed upon character. + Insert the logic in witch the text would be considered chaotic. + """ + raise NotImplementedError # pragma: nocover + + def reset(self) -> None: # pragma: no cover + """ + Permit to reset the plugin to the initial state. + """ + raise NotImplementedError + + @property + def ratio(self) -> float: + """ + Compute the chaos ratio based on what your feed() has seen. + Must NOT be lower than 0.; No restriction gt 0. + """ + raise NotImplementedError # pragma: nocover + + +class TooManySymbolOrPunctuationPlugin(MessDetectorPlugin): + def __init__(self) -> None: + self._punctuation_count: int = 0 + self._symbol_count: int = 0 + self._character_count: int = 0 + + self._last_printable_char: Optional[str] = None + self._frenzy_symbol_in_word: bool = False + + def eligible(self, character: str) -> bool: + return character.isprintable() + + def feed(self, character: str) -> None: + self._character_count += 1 + + if ( + character != self._last_printable_char + and character not in COMMON_SAFE_ASCII_CHARACTERS + ): + if is_punctuation(character): + self._punctuation_count += 1 + elif ( + character.isdigit() is False + and is_symbol(character) + and is_emoticon(character) is False + ): + self._symbol_count += 2 + + self._last_printable_char = character + + def reset(self) -> None: # pragma: no cover + self._punctuation_count = 0 + self._character_count = 0 + self._symbol_count = 0 + + @property + def ratio(self) -> float: + if self._character_count == 0: + return 0.0 + + ratio_of_punctuation: float = ( + self._punctuation_count + self._symbol_count + ) / self._character_count + + return ratio_of_punctuation if ratio_of_punctuation >= 0.3 else 0.0 + + +class TooManyAccentuatedPlugin(MessDetectorPlugin): + def __init__(self) -> None: + self._character_count: int = 0 + self._accentuated_count: int = 0 + + def eligible(self, character: str) -> bool: + return character.isalpha() + + def feed(self, character: str) -> None: + self._character_count += 1 + + if is_accentuated(character): + self._accentuated_count += 1 + + def reset(self) -> None: # pragma: no cover + self._character_count = 0 + self._accentuated_count = 0 + + @property + def ratio(self) -> float: + if self._character_count < 8: + return 0.0 + + ratio_of_accentuation: float = self._accentuated_count / self._character_count + return ratio_of_accentuation if ratio_of_accentuation >= 0.35 else 0.0 + + +class UnprintablePlugin(MessDetectorPlugin): + def __init__(self) -> None: + self._unprintable_count: int = 0 + self._character_count: int = 0 + + def eligible(self, character: str) -> bool: + return True + + def feed(self, character: str) -> None: + if is_unprintable(character): + self._unprintable_count += 1 + self._character_count += 1 + + def reset(self) -> None: # pragma: no cover + self._unprintable_count = 0 + + @property + def ratio(self) -> float: + if self._character_count == 0: + return 0.0 + + return (self._unprintable_count * 8) / self._character_count + + +class SuspiciousDuplicateAccentPlugin(MessDetectorPlugin): + def __init__(self) -> None: + self._successive_count: int = 0 + self._character_count: int = 0 + + self._last_latin_character: Optional[str] = None + + def eligible(self, character: str) -> bool: + return character.isalpha() and is_latin(character) + + def feed(self, character: str) -> None: + self._character_count += 1 + if ( + self._last_latin_character is not None + and is_accentuated(character) + and is_accentuated(self._last_latin_character) + ): + if character.isupper() and self._last_latin_character.isupper(): + self._successive_count += 1 + # Worse if its the same char duplicated with different accent. + if remove_accent(character) == remove_accent(self._last_latin_character): + self._successive_count += 1 + self._last_latin_character = character + + def reset(self) -> None: # pragma: no cover + self._successive_count = 0 + self._character_count = 0 + self._last_latin_character = None + + @property + def ratio(self) -> float: + if self._character_count == 0: + return 0.0 + + return (self._successive_count * 2) / self._character_count + + +class SuspiciousRange(MessDetectorPlugin): + def __init__(self) -> None: + self._suspicious_successive_range_count: int = 0 + self._character_count: int = 0 + self._last_printable_seen: Optional[str] = None + + def eligible(self, character: str) -> bool: + return character.isprintable() + + def feed(self, character: str) -> None: + self._character_count += 1 + + if ( + character.isspace() + or is_punctuation(character) + or character in COMMON_SAFE_ASCII_CHARACTERS + ): + self._last_printable_seen = None + return + + if self._last_printable_seen is None: + self._last_printable_seen = character + return + + unicode_range_a: Optional[str] = unicode_range(self._last_printable_seen) + unicode_range_b: Optional[str] = unicode_range(character) + + if is_suspiciously_successive_range(unicode_range_a, unicode_range_b): + self._suspicious_successive_range_count += 1 + + self._last_printable_seen = character + + def reset(self) -> None: # pragma: no cover + self._character_count = 0 + self._suspicious_successive_range_count = 0 + self._last_printable_seen = None + + @property + def ratio(self) -> float: + if self._character_count <= 13: + return 0.0 + + ratio_of_suspicious_range_usage: float = ( + self._suspicious_successive_range_count * 2 + ) / self._character_count + + return ratio_of_suspicious_range_usage + + +class SuperWeirdWordPlugin(MessDetectorPlugin): + def __init__(self) -> None: + self._word_count: int = 0 + self._bad_word_count: int = 0 + self._foreign_long_count: int = 0 + + self._is_current_word_bad: bool = False + self._foreign_long_watch: bool = False + + self._character_count: int = 0 + self._bad_character_count: int = 0 + + self._buffer: str = "" + self._buffer_accent_count: int = 0 + self._buffer_glyph_count: int = 0 + + def eligible(self, character: str) -> bool: + return True + + def feed(self, character: str) -> None: + if character.isalpha(): + self._buffer += character + if is_accentuated(character): + self._buffer_accent_count += 1 + if ( + self._foreign_long_watch is False + and (is_latin(character) is False or is_accentuated(character)) + and is_cjk(character) is False + and is_hangul(character) is False + and is_katakana(character) is False + and is_hiragana(character) is False + and is_thai(character) is False + ): + self._foreign_long_watch = True + if ( + is_cjk(character) + or is_hangul(character) + or is_katakana(character) + or is_hiragana(character) + or is_thai(character) + ): + self._buffer_glyph_count += 1 + return + if not self._buffer: + return + if ( + character.isspace() or is_punctuation(character) or is_separator(character) + ) and self._buffer: + self._word_count += 1 + buffer_length: int = len(self._buffer) + + self._character_count += buffer_length + + if buffer_length >= 4: + if self._buffer_accent_count / buffer_length >= 0.5: + self._is_current_word_bad = True + # Word/Buffer ending with an upper case accentuated letter are so rare, + # that we will consider them all as suspicious. Same weight as foreign_long suspicious. + elif ( + is_accentuated(self._buffer[-1]) + and self._buffer[-1].isupper() + and all(_.isupper() for _ in self._buffer) is False + ): + self._foreign_long_count += 1 + self._is_current_word_bad = True + elif self._buffer_glyph_count == 1: + self._is_current_word_bad = True + self._foreign_long_count += 1 + if buffer_length >= 24 and self._foreign_long_watch: + camel_case_dst = [ + i + for c, i in zip(self._buffer, range(0, buffer_length)) + if c.isupper() + ] + probable_camel_cased: bool = False + + if camel_case_dst and (len(camel_case_dst) / buffer_length <= 0.3): + probable_camel_cased = True + + if not probable_camel_cased: + self._foreign_long_count += 1 + self._is_current_word_bad = True + + if self._is_current_word_bad: + self._bad_word_count += 1 + self._bad_character_count += len(self._buffer) + self._is_current_word_bad = False + + self._foreign_long_watch = False + self._buffer = "" + self._buffer_accent_count = 0 + self._buffer_glyph_count = 0 + elif ( + character not in {"<", ">", "-", "=", "~", "|", "_"} + and character.isdigit() is False + and is_symbol(character) + ): + self._is_current_word_bad = True + self._buffer += character + + def reset(self) -> None: # pragma: no cover + self._buffer = "" + self._is_current_word_bad = False + self._foreign_long_watch = False + self._bad_word_count = 0 + self._word_count = 0 + self._character_count = 0 + self._bad_character_count = 0 + self._foreign_long_count = 0 + + @property + def ratio(self) -> float: + if self._word_count <= 10 and self._foreign_long_count == 0: + return 0.0 + + return self._bad_character_count / self._character_count + + +class CjkInvalidStopPlugin(MessDetectorPlugin): + """ + GB(Chinese) based encoding often render the stop incorrectly when the content does not fit and + can be easily detected. Searching for the overuse of '丅' and '丄'. + """ + + def __init__(self) -> None: + self._wrong_stop_count: int = 0 + self._cjk_character_count: int = 0 + + def eligible(self, character: str) -> bool: + return True + + def feed(self, character: str) -> None: + if character in {"丅", "丄"}: + self._wrong_stop_count += 1 + return + if is_cjk(character): + self._cjk_character_count += 1 + + def reset(self) -> None: # pragma: no cover + self._wrong_stop_count = 0 + self._cjk_character_count = 0 + + @property + def ratio(self) -> float: + if self._cjk_character_count < 16: + return 0.0 + return self._wrong_stop_count / self._cjk_character_count + + +class ArchaicUpperLowerPlugin(MessDetectorPlugin): + def __init__(self) -> None: + self._buf: bool = False + + self._character_count_since_last_sep: int = 0 + + self._successive_upper_lower_count: int = 0 + self._successive_upper_lower_count_final: int = 0 + + self._character_count: int = 0 + + self._last_alpha_seen: Optional[str] = None + self._current_ascii_only: bool = True + + def eligible(self, character: str) -> bool: + return True + + def feed(self, character: str) -> None: + is_concerned = character.isalpha() and is_case_variable(character) + chunk_sep = is_concerned is False + + if chunk_sep and self._character_count_since_last_sep > 0: + if ( + self._character_count_since_last_sep <= 64 + and character.isdigit() is False + and self._current_ascii_only is False + ): + self._successive_upper_lower_count_final += ( + self._successive_upper_lower_count + ) + + self._successive_upper_lower_count = 0 + self._character_count_since_last_sep = 0 + self._last_alpha_seen = None + self._buf = False + self._character_count += 1 + self._current_ascii_only = True + + return + + if self._current_ascii_only is True and character.isascii() is False: + self._current_ascii_only = False + + if self._last_alpha_seen is not None: + if (character.isupper() and self._last_alpha_seen.islower()) or ( + character.islower() and self._last_alpha_seen.isupper() + ): + if self._buf is True: + self._successive_upper_lower_count += 2 + self._buf = False + else: + self._buf = True + else: + self._buf = False + + self._character_count += 1 + self._character_count_since_last_sep += 1 + self._last_alpha_seen = character + + def reset(self) -> None: # pragma: no cover + self._character_count = 0 + self._character_count_since_last_sep = 0 + self._successive_upper_lower_count = 0 + self._successive_upper_lower_count_final = 0 + self._last_alpha_seen = None + self._buf = False + self._current_ascii_only = True + + @property + def ratio(self) -> float: + if self._character_count == 0: + return 0.0 + + return self._successive_upper_lower_count_final / self._character_count + + +class ArabicIsolatedFormPlugin(MessDetectorPlugin): + def __init__(self) -> None: + self._character_count: int = 0 + self._isolated_form_count: int = 0 + + def reset(self) -> None: # pragma: no cover + self._character_count = 0 + self._isolated_form_count = 0 + + def eligible(self, character: str) -> bool: + return is_arabic(character) + + def feed(self, character: str) -> None: + self._character_count += 1 + + if is_arabic_isolated_form(character): + self._isolated_form_count += 1 + + @property + def ratio(self) -> float: + if self._character_count < 8: + return 0.0 + + isolated_form_usage: float = self._isolated_form_count / self._character_count + + return isolated_form_usage + + +@lru_cache(maxsize=1024) +def is_suspiciously_successive_range( + unicode_range_a: Optional[str], unicode_range_b: Optional[str] +) -> bool: + """ + Determine if two Unicode range seen next to each other can be considered as suspicious. + """ + if unicode_range_a is None or unicode_range_b is None: + return True + + if unicode_range_a == unicode_range_b: + return False + + if "Latin" in unicode_range_a and "Latin" in unicode_range_b: + return False + + if "Emoticons" in unicode_range_a or "Emoticons" in unicode_range_b: + return False + + # Latin characters can be accompanied with a combining diacritical mark + # eg. Vietnamese. + if ("Latin" in unicode_range_a or "Latin" in unicode_range_b) and ( + "Combining" in unicode_range_a or "Combining" in unicode_range_b + ): + return False + + keywords_range_a, keywords_range_b = unicode_range_a.split( + " " + ), unicode_range_b.split(" ") + + for el in keywords_range_a: + if el in UNICODE_SECONDARY_RANGE_KEYWORD: + continue + if el in keywords_range_b: + return False + + # Japanese Exception + range_a_jp_chars, range_b_jp_chars = ( + unicode_range_a + in ( + "Hiragana", + "Katakana", + ), + unicode_range_b in ("Hiragana", "Katakana"), + ) + if (range_a_jp_chars or range_b_jp_chars) and ( + "CJK" in unicode_range_a or "CJK" in unicode_range_b + ): + return False + if range_a_jp_chars and range_b_jp_chars: + return False + + if "Hangul" in unicode_range_a or "Hangul" in unicode_range_b: + if "CJK" in unicode_range_a or "CJK" in unicode_range_b: + return False + if unicode_range_a == "Basic Latin" or unicode_range_b == "Basic Latin": + return False + + # Chinese/Japanese use dedicated range for punctuation and/or separators. + if ("CJK" in unicode_range_a or "CJK" in unicode_range_b) or ( + unicode_range_a in ["Katakana", "Hiragana"] + and unicode_range_b in ["Katakana", "Hiragana"] + ): + if "Punctuation" in unicode_range_a or "Punctuation" in unicode_range_b: + return False + if "Forms" in unicode_range_a or "Forms" in unicode_range_b: + return False + if unicode_range_a == "Basic Latin" or unicode_range_b == "Basic Latin": + return False + + return True + + +@lru_cache(maxsize=2048) +def mess_ratio( + decoded_sequence: str, maximum_threshold: float = 0.2, debug: bool = False +) -> float: + """ + Compute a mess ratio given a decoded bytes sequence. The maximum threshold does stop the computation earlier. + """ + + detectors: List[MessDetectorPlugin] = [ + md_class() for md_class in MessDetectorPlugin.__subclasses__() + ] + + length: int = len(decoded_sequence) + 1 + + mean_mess_ratio: float = 0.0 + + if length < 512: + intermediary_mean_mess_ratio_calc: int = 32 + elif length <= 1024: + intermediary_mean_mess_ratio_calc = 64 + else: + intermediary_mean_mess_ratio_calc = 128 + + for character, index in zip(decoded_sequence + "\n", range(length)): + for detector in detectors: + if detector.eligible(character): + detector.feed(character) + + if ( + index > 0 and index % intermediary_mean_mess_ratio_calc == 0 + ) or index == length - 1: + mean_mess_ratio = sum(dt.ratio for dt in detectors) + + if mean_mess_ratio >= maximum_threshold: + break + + if debug: + logger = getLogger("charset_normalizer") + + logger.log( + TRACE, + "Mess-detector extended-analysis start. " + f"intermediary_mean_mess_ratio_calc={intermediary_mean_mess_ratio_calc} mean_mess_ratio={mean_mess_ratio} " + f"maximum_threshold={maximum_threshold}", + ) + + if len(decoded_sequence) > 16: + logger.log(TRACE, f"Starting with: {decoded_sequence[:16]}") + logger.log(TRACE, f"Ending with: {decoded_sequence[-16::]}") + + for dt in detectors: # pragma: nocover + logger.log(TRACE, f"{dt.__class__}: {dt.ratio}") + + return round(mean_mess_ratio, 3) diff --git a/venv/Lib/site-packages/charset_normalizer/md__mypyc.cp39-win_amd64.pyd b/venv/Lib/site-packages/charset_normalizer/md__mypyc.cp39-win_amd64.pyd new file mode 100644 index 00000000..3a923f50 Binary files /dev/null and b/venv/Lib/site-packages/charset_normalizer/md__mypyc.cp39-win_amd64.pyd differ diff --git a/venv/Lib/site-packages/charset_normalizer/models.py b/venv/Lib/site-packages/charset_normalizer/models.py new file mode 100644 index 00000000..6f6b86b3 --- /dev/null +++ b/venv/Lib/site-packages/charset_normalizer/models.py @@ -0,0 +1,359 @@ +from encodings.aliases import aliases +from hashlib import sha256 +from json import dumps +from re import sub +from typing import Any, Dict, Iterator, List, Optional, Tuple, Union + +from .constant import RE_POSSIBLE_ENCODING_INDICATION, TOO_BIG_SEQUENCE +from .utils import iana_name, is_multi_byte_encoding, unicode_range + + +class CharsetMatch: + def __init__( + self, + payload: bytes, + guessed_encoding: str, + mean_mess_ratio: float, + has_sig_or_bom: bool, + languages: "CoherenceMatches", + decoded_payload: Optional[str] = None, + preemptive_declaration: Optional[str] = None, + ): + self._payload: bytes = payload + + self._encoding: str = guessed_encoding + self._mean_mess_ratio: float = mean_mess_ratio + self._languages: CoherenceMatches = languages + self._has_sig_or_bom: bool = has_sig_or_bom + self._unicode_ranges: Optional[List[str]] = None + + self._leaves: List[CharsetMatch] = [] + self._mean_coherence_ratio: float = 0.0 + + self._output_payload: Optional[bytes] = None + self._output_encoding: Optional[str] = None + + self._string: Optional[str] = decoded_payload + + self._preemptive_declaration: Optional[str] = preemptive_declaration + + def __eq__(self, other: object) -> bool: + if not isinstance(other, CharsetMatch): + if isinstance(other, str): + return iana_name(other) == self.encoding + return False + return self.encoding == other.encoding and self.fingerprint == other.fingerprint + + def __lt__(self, other: object) -> bool: + """ + Implemented to make sorted available upon CharsetMatches items. + """ + if not isinstance(other, CharsetMatch): + raise ValueError + + chaos_difference: float = abs(self.chaos - other.chaos) + coherence_difference: float = abs(self.coherence - other.coherence) + + # Below 1% difference --> Use Coherence + if chaos_difference < 0.01 and coherence_difference > 0.02: + return self.coherence > other.coherence + elif chaos_difference < 0.01 and coherence_difference <= 0.02: + # When having a difficult decision, use the result that decoded as many multi-byte as possible. + # preserve RAM usage! + if len(self._payload) >= TOO_BIG_SEQUENCE: + return self.chaos < other.chaos + return self.multi_byte_usage > other.multi_byte_usage + + return self.chaos < other.chaos + + @property + def multi_byte_usage(self) -> float: + return 1.0 - (len(str(self)) / len(self.raw)) + + def __str__(self) -> str: + # Lazy Str Loading + if self._string is None: + self._string = str(self._payload, self._encoding, "strict") + return self._string + + def __repr__(self) -> str: + return "".format(self.encoding, self.fingerprint) + + def add_submatch(self, other: "CharsetMatch") -> None: + if not isinstance(other, CharsetMatch) or other == self: + raise ValueError( + "Unable to add instance <{}> as a submatch of a CharsetMatch".format( + other.__class__ + ) + ) + + other._string = None # Unload RAM usage; dirty trick. + self._leaves.append(other) + + @property + def encoding(self) -> str: + return self._encoding + + @property + def encoding_aliases(self) -> List[str]: + """ + Encoding name are known by many name, using this could help when searching for IBM855 when it's listed as CP855. + """ + also_known_as: List[str] = [] + for u, p in aliases.items(): + if self.encoding == u: + also_known_as.append(p) + elif self.encoding == p: + also_known_as.append(u) + return also_known_as + + @property + def bom(self) -> bool: + return self._has_sig_or_bom + + @property + def byte_order_mark(self) -> bool: + return self._has_sig_or_bom + + @property + def languages(self) -> List[str]: + """ + Return the complete list of possible languages found in decoded sequence. + Usually not really useful. Returned list may be empty even if 'language' property return something != 'Unknown'. + """ + return [e[0] for e in self._languages] + + @property + def language(self) -> str: + """ + Most probable language found in decoded sequence. If none were detected or inferred, the property will return + "Unknown". + """ + if not self._languages: + # Trying to infer the language based on the given encoding + # Its either English or we should not pronounce ourselves in certain cases. + if "ascii" in self.could_be_from_charset: + return "English" + + # doing it there to avoid circular import + from charset_normalizer.cd import encoding_languages, mb_encoding_languages + + languages = ( + mb_encoding_languages(self.encoding) + if is_multi_byte_encoding(self.encoding) + else encoding_languages(self.encoding) + ) + + if len(languages) == 0 or "Latin Based" in languages: + return "Unknown" + + return languages[0] + + return self._languages[0][0] + + @property + def chaos(self) -> float: + return self._mean_mess_ratio + + @property + def coherence(self) -> float: + if not self._languages: + return 0.0 + return self._languages[0][1] + + @property + def percent_chaos(self) -> float: + return round(self.chaos * 100, ndigits=3) + + @property + def percent_coherence(self) -> float: + return round(self.coherence * 100, ndigits=3) + + @property + def raw(self) -> bytes: + """ + Original untouched bytes. + """ + return self._payload + + @property + def submatch(self) -> List["CharsetMatch"]: + return self._leaves + + @property + def has_submatch(self) -> bool: + return len(self._leaves) > 0 + + @property + def alphabets(self) -> List[str]: + if self._unicode_ranges is not None: + return self._unicode_ranges + # list detected ranges + detected_ranges: List[Optional[str]] = [ + unicode_range(char) for char in str(self) + ] + # filter and sort + self._unicode_ranges = sorted(list({r for r in detected_ranges if r})) + return self._unicode_ranges + + @property + def could_be_from_charset(self) -> List[str]: + """ + The complete list of encoding that output the exact SAME str result and therefore could be the originating + encoding. + This list does include the encoding available in property 'encoding'. + """ + return [self._encoding] + [m.encoding for m in self._leaves] + + def output(self, encoding: str = "utf_8") -> bytes: + """ + Method to get re-encoded bytes payload using given target encoding. Default to UTF-8. + Any errors will be simply ignored by the encoder NOT replaced. + """ + if self._output_encoding is None or self._output_encoding != encoding: + self._output_encoding = encoding + decoded_string = str(self) + if ( + self._preemptive_declaration is not None + and self._preemptive_declaration.lower() + not in ["utf-8", "utf8", "utf_8"] + ): + patched_header = sub( + RE_POSSIBLE_ENCODING_INDICATION, + lambda m: m.string[m.span()[0] : m.span()[1]].replace( + m.groups()[0], iana_name(self._output_encoding) # type: ignore[arg-type] + ), + decoded_string[:8192], + 1, + ) + + decoded_string = patched_header + decoded_string[8192:] + + self._output_payload = decoded_string.encode(encoding, "replace") + + return self._output_payload # type: ignore + + @property + def fingerprint(self) -> str: + """ + Retrieve the unique SHA256 computed using the transformed (re-encoded) payload. Not the original one. + """ + return sha256(self.output()).hexdigest() + + +class CharsetMatches: + """ + Container with every CharsetMatch items ordered by default from most probable to the less one. + Act like a list(iterable) but does not implements all related methods. + """ + + def __init__(self, results: Optional[List[CharsetMatch]] = None): + self._results: List[CharsetMatch] = sorted(results) if results else [] + + def __iter__(self) -> Iterator[CharsetMatch]: + yield from self._results + + def __getitem__(self, item: Union[int, str]) -> CharsetMatch: + """ + Retrieve a single item either by its position or encoding name (alias may be used here). + Raise KeyError upon invalid index or encoding not present in results. + """ + if isinstance(item, int): + return self._results[item] + if isinstance(item, str): + item = iana_name(item, False) + for result in self._results: + if item in result.could_be_from_charset: + return result + raise KeyError + + def __len__(self) -> int: + return len(self._results) + + def __bool__(self) -> bool: + return len(self._results) > 0 + + def append(self, item: CharsetMatch) -> None: + """ + Insert a single match. Will be inserted accordingly to preserve sort. + Can be inserted as a submatch. + """ + if not isinstance(item, CharsetMatch): + raise ValueError( + "Cannot append instance '{}' to CharsetMatches".format( + str(item.__class__) + ) + ) + # We should disable the submatch factoring when the input file is too heavy (conserve RAM usage) + if len(item.raw) < TOO_BIG_SEQUENCE: + for match in self._results: + if match.fingerprint == item.fingerprint and match.chaos == item.chaos: + match.add_submatch(item) + return + self._results.append(item) + self._results = sorted(self._results) + + def best(self) -> Optional["CharsetMatch"]: + """ + Simply return the first match. Strict equivalent to matches[0]. + """ + if not self._results: + return None + return self._results[0] + + def first(self) -> Optional["CharsetMatch"]: + """ + Redundant method, call the method best(). Kept for BC reasons. + """ + return self.best() + + +CoherenceMatch = Tuple[str, float] +CoherenceMatches = List[CoherenceMatch] + + +class CliDetectionResult: + def __init__( + self, + path: str, + encoding: Optional[str], + encoding_aliases: List[str], + alternative_encodings: List[str], + language: str, + alphabets: List[str], + has_sig_or_bom: bool, + chaos: float, + coherence: float, + unicode_path: Optional[str], + is_preferred: bool, + ): + self.path: str = path + self.unicode_path: Optional[str] = unicode_path + self.encoding: Optional[str] = encoding + self.encoding_aliases: List[str] = encoding_aliases + self.alternative_encodings: List[str] = alternative_encodings + self.language: str = language + self.alphabets: List[str] = alphabets + self.has_sig_or_bom: bool = has_sig_or_bom + self.chaos: float = chaos + self.coherence: float = coherence + self.is_preferred: bool = is_preferred + + @property + def __dict__(self) -> Dict[str, Any]: # type: ignore + return { + "path": self.path, + "encoding": self.encoding, + "encoding_aliases": self.encoding_aliases, + "alternative_encodings": self.alternative_encodings, + "language": self.language, + "alphabets": self.alphabets, + "has_sig_or_bom": self.has_sig_or_bom, + "chaos": self.chaos, + "coherence": self.coherence, + "unicode_path": self.unicode_path, + "is_preferred": self.is_preferred, + } + + def to_json(self) -> str: + return dumps(self.__dict__, ensure_ascii=True, indent=4) diff --git a/venv/Lib/site-packages/charset_normalizer/py.typed b/venv/Lib/site-packages/charset_normalizer/py.typed new file mode 100644 index 00000000..e69de29b diff --git a/venv/Lib/site-packages/charset_normalizer/utils.py b/venv/Lib/site-packages/charset_normalizer/utils.py new file mode 100644 index 00000000..e5cbbf4c --- /dev/null +++ b/venv/Lib/site-packages/charset_normalizer/utils.py @@ -0,0 +1,421 @@ +import importlib +import logging +import unicodedata +from codecs import IncrementalDecoder +from encodings.aliases import aliases +from functools import lru_cache +from re import findall +from typing import Generator, List, Optional, Set, Tuple, Union + +from _multibytecodec import MultibyteIncrementalDecoder + +from .constant import ( + ENCODING_MARKS, + IANA_SUPPORTED_SIMILAR, + RE_POSSIBLE_ENCODING_INDICATION, + UNICODE_RANGES_COMBINED, + UNICODE_SECONDARY_RANGE_KEYWORD, + UTF8_MAXIMAL_ALLOCATION, +) + + +@lru_cache(maxsize=UTF8_MAXIMAL_ALLOCATION) +def is_accentuated(character: str) -> bool: + try: + description: str = unicodedata.name(character) + except ValueError: + return False + return ( + "WITH GRAVE" in description + or "WITH ACUTE" in description + or "WITH CEDILLA" in description + or "WITH DIAERESIS" in description + or "WITH CIRCUMFLEX" in description + or "WITH TILDE" in description + or "WITH MACRON" in description + or "WITH RING ABOVE" in description + ) + + +@lru_cache(maxsize=UTF8_MAXIMAL_ALLOCATION) +def remove_accent(character: str) -> str: + decomposed: str = unicodedata.decomposition(character) + if not decomposed: + return character + + codes: List[str] = decomposed.split(" ") + + return chr(int(codes[0], 16)) + + +@lru_cache(maxsize=UTF8_MAXIMAL_ALLOCATION) +def unicode_range(character: str) -> Optional[str]: + """ + Retrieve the Unicode range official name from a single character. + """ + character_ord: int = ord(character) + + for range_name, ord_range in UNICODE_RANGES_COMBINED.items(): + if character_ord in ord_range: + return range_name + + return None + + +@lru_cache(maxsize=UTF8_MAXIMAL_ALLOCATION) +def is_latin(character: str) -> bool: + try: + description: str = unicodedata.name(character) + except ValueError: + return False + return "LATIN" in description + + +@lru_cache(maxsize=UTF8_MAXIMAL_ALLOCATION) +def is_punctuation(character: str) -> bool: + character_category: str = unicodedata.category(character) + + if "P" in character_category: + return True + + character_range: Optional[str] = unicode_range(character) + + if character_range is None: + return False + + return "Punctuation" in character_range + + +@lru_cache(maxsize=UTF8_MAXIMAL_ALLOCATION) +def is_symbol(character: str) -> bool: + character_category: str = unicodedata.category(character) + + if "S" in character_category or "N" in character_category: + return True + + character_range: Optional[str] = unicode_range(character) + + if character_range is None: + return False + + return "Forms" in character_range and character_category != "Lo" + + +@lru_cache(maxsize=UTF8_MAXIMAL_ALLOCATION) +def is_emoticon(character: str) -> bool: + character_range: Optional[str] = unicode_range(character) + + if character_range is None: + return False + + return "Emoticons" in character_range or "Pictographs" in character_range + + +@lru_cache(maxsize=UTF8_MAXIMAL_ALLOCATION) +def is_separator(character: str) -> bool: + if character.isspace() or character in {"|", "+", "<", ">"}: + return True + + character_category: str = unicodedata.category(character) + + return "Z" in character_category or character_category in {"Po", "Pd", "Pc"} + + +@lru_cache(maxsize=UTF8_MAXIMAL_ALLOCATION) +def is_case_variable(character: str) -> bool: + return character.islower() != character.isupper() + + +@lru_cache(maxsize=UTF8_MAXIMAL_ALLOCATION) +def is_cjk(character: str) -> bool: + try: + character_name = unicodedata.name(character) + except ValueError: + return False + + return "CJK" in character_name + + +@lru_cache(maxsize=UTF8_MAXIMAL_ALLOCATION) +def is_hiragana(character: str) -> bool: + try: + character_name = unicodedata.name(character) + except ValueError: + return False + + return "HIRAGANA" in character_name + + +@lru_cache(maxsize=UTF8_MAXIMAL_ALLOCATION) +def is_katakana(character: str) -> bool: + try: + character_name = unicodedata.name(character) + except ValueError: + return False + + return "KATAKANA" in character_name + + +@lru_cache(maxsize=UTF8_MAXIMAL_ALLOCATION) +def is_hangul(character: str) -> bool: + try: + character_name = unicodedata.name(character) + except ValueError: + return False + + return "HANGUL" in character_name + + +@lru_cache(maxsize=UTF8_MAXIMAL_ALLOCATION) +def is_thai(character: str) -> bool: + try: + character_name = unicodedata.name(character) + except ValueError: + return False + + return "THAI" in character_name + + +@lru_cache(maxsize=UTF8_MAXIMAL_ALLOCATION) +def is_arabic(character: str) -> bool: + try: + character_name = unicodedata.name(character) + except ValueError: + return False + + return "ARABIC" in character_name + + +@lru_cache(maxsize=UTF8_MAXIMAL_ALLOCATION) +def is_arabic_isolated_form(character: str) -> bool: + try: + character_name = unicodedata.name(character) + except ValueError: + return False + + return "ARABIC" in character_name and "ISOLATED FORM" in character_name + + +@lru_cache(maxsize=len(UNICODE_RANGES_COMBINED)) +def is_unicode_range_secondary(range_name: str) -> bool: + return any(keyword in range_name for keyword in UNICODE_SECONDARY_RANGE_KEYWORD) + + +@lru_cache(maxsize=UTF8_MAXIMAL_ALLOCATION) +def is_unprintable(character: str) -> bool: + return ( + character.isspace() is False # includes \n \t \r \v + and character.isprintable() is False + and character != "\x1A" # Why? Its the ASCII substitute character. + and character != "\ufeff" # bug discovered in Python, + # Zero Width No-Break Space located in Arabic Presentation Forms-B, Unicode 1.1 not acknowledged as space. + ) + + +def any_specified_encoding(sequence: bytes, search_zone: int = 8192) -> Optional[str]: + """ + Extract using ASCII-only decoder any specified encoding in the first n-bytes. + """ + if not isinstance(sequence, bytes): + raise TypeError + + seq_len: int = len(sequence) + + results: List[str] = findall( + RE_POSSIBLE_ENCODING_INDICATION, + sequence[: min(seq_len, search_zone)].decode("ascii", errors="ignore"), + ) + + if len(results) == 0: + return None + + for specified_encoding in results: + specified_encoding = specified_encoding.lower().replace("-", "_") + + encoding_alias: str + encoding_iana: str + + for encoding_alias, encoding_iana in aliases.items(): + if encoding_alias == specified_encoding: + return encoding_iana + if encoding_iana == specified_encoding: + return encoding_iana + + return None + + +@lru_cache(maxsize=128) +def is_multi_byte_encoding(name: str) -> bool: + """ + Verify is a specific encoding is a multi byte one based on it IANA name + """ + return name in { + "utf_8", + "utf_8_sig", + "utf_16", + "utf_16_be", + "utf_16_le", + "utf_32", + "utf_32_le", + "utf_32_be", + "utf_7", + } or issubclass( + importlib.import_module("encodings.{}".format(name)).IncrementalDecoder, + MultibyteIncrementalDecoder, + ) + + +def identify_sig_or_bom(sequence: bytes) -> Tuple[Optional[str], bytes]: + """ + Identify and extract SIG/BOM in given sequence. + """ + + for iana_encoding in ENCODING_MARKS: + marks: Union[bytes, List[bytes]] = ENCODING_MARKS[iana_encoding] + + if isinstance(marks, bytes): + marks = [marks] + + for mark in marks: + if sequence.startswith(mark): + return iana_encoding, mark + + return None, b"" + + +def should_strip_sig_or_bom(iana_encoding: str) -> bool: + return iana_encoding not in {"utf_16", "utf_32"} + + +def iana_name(cp_name: str, strict: bool = True) -> str: + cp_name = cp_name.lower().replace("-", "_") + + encoding_alias: str + encoding_iana: str + + for encoding_alias, encoding_iana in aliases.items(): + if cp_name in [encoding_alias, encoding_iana]: + return encoding_iana + + if strict: + raise ValueError("Unable to retrieve IANA for '{}'".format(cp_name)) + + return cp_name + + +def range_scan(decoded_sequence: str) -> List[str]: + ranges: Set[str] = set() + + for character in decoded_sequence: + character_range: Optional[str] = unicode_range(character) + + if character_range is None: + continue + + ranges.add(character_range) + + return list(ranges) + + +def cp_similarity(iana_name_a: str, iana_name_b: str) -> float: + if is_multi_byte_encoding(iana_name_a) or is_multi_byte_encoding(iana_name_b): + return 0.0 + + decoder_a = importlib.import_module( + "encodings.{}".format(iana_name_a) + ).IncrementalDecoder + decoder_b = importlib.import_module( + "encodings.{}".format(iana_name_b) + ).IncrementalDecoder + + id_a: IncrementalDecoder = decoder_a(errors="ignore") + id_b: IncrementalDecoder = decoder_b(errors="ignore") + + character_match_count: int = 0 + + for i in range(255): + to_be_decoded: bytes = bytes([i]) + if id_a.decode(to_be_decoded) == id_b.decode(to_be_decoded): + character_match_count += 1 + + return character_match_count / 254 + + +def is_cp_similar(iana_name_a: str, iana_name_b: str) -> bool: + """ + Determine if two code page are at least 80% similar. IANA_SUPPORTED_SIMILAR dict was generated using + the function cp_similarity. + """ + return ( + iana_name_a in IANA_SUPPORTED_SIMILAR + and iana_name_b in IANA_SUPPORTED_SIMILAR[iana_name_a] + ) + + +def set_logging_handler( + name: str = "charset_normalizer", + level: int = logging.INFO, + format_string: str = "%(asctime)s | %(levelname)s | %(message)s", +) -> None: + logger = logging.getLogger(name) + logger.setLevel(level) + + handler = logging.StreamHandler() + handler.setFormatter(logging.Formatter(format_string)) + logger.addHandler(handler) + + +def cut_sequence_chunks( + sequences: bytes, + encoding_iana: str, + offsets: range, + chunk_size: int, + bom_or_sig_available: bool, + strip_sig_or_bom: bool, + sig_payload: bytes, + is_multi_byte_decoder: bool, + decoded_payload: Optional[str] = None, +) -> Generator[str, None, None]: + if decoded_payload and is_multi_byte_decoder is False: + for i in offsets: + chunk = decoded_payload[i : i + chunk_size] + if not chunk: + break + yield chunk + else: + for i in offsets: + chunk_end = i + chunk_size + if chunk_end > len(sequences) + 8: + continue + + cut_sequence = sequences[i : i + chunk_size] + + if bom_or_sig_available and strip_sig_or_bom is False: + cut_sequence = sig_payload + cut_sequence + + chunk = cut_sequence.decode( + encoding_iana, + errors="ignore" if is_multi_byte_decoder else "strict", + ) + + # multi-byte bad cutting detector and adjustment + # not the cleanest way to perform that fix but clever enough for now. + if is_multi_byte_decoder and i > 0: + chunk_partial_size_chk: int = min(chunk_size, 16) + + if ( + decoded_payload + and chunk[:chunk_partial_size_chk] not in decoded_payload + ): + for j in range(i, i - 4, -1): + cut_sequence = sequences[j:chunk_end] + + if bom_or_sig_available and strip_sig_or_bom is False: + cut_sequence = sig_payload + cut_sequence + + chunk = cut_sequence.decode(encoding_iana, errors="ignore") + + if chunk[:chunk_partial_size_chk] in decoded_payload: + break + + yield chunk diff --git a/venv/Lib/site-packages/charset_normalizer/version.py b/venv/Lib/site-packages/charset_normalizer/version.py new file mode 100644 index 00000000..699990ee --- /dev/null +++ b/venv/Lib/site-packages/charset_normalizer/version.py @@ -0,0 +1,6 @@ +""" +Expose version +""" + +__version__ = "3.4.0" +VERSION = __version__.split(".") diff --git a/venv/Lib/site-packages/cigam-0.0.3.dist-info/DESCRIPTION.rst b/venv/Lib/site-packages/cigam-0.0.3.dist-info/DESCRIPTION.rst new file mode 100644 index 00000000..e1187231 --- /dev/null +++ b/venv/Lib/site-packages/cigam-0.0.3.dist-info/DESCRIPTION.rst @@ -0,0 +1,3 @@ +UNKNOWN + + diff --git a/venv/Lib/site-packages/cigam-0.0.3.dist-info/INSTALLER b/venv/Lib/site-packages/cigam-0.0.3.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/venv/Lib/site-packages/cigam-0.0.3.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/Lib/site-packages/cigam-0.0.3.dist-info/METADATA b/venv/Lib/site-packages/cigam-0.0.3.dist-info/METADATA new file mode 100644 index 00000000..08180b9e --- /dev/null +++ b/venv/Lib/site-packages/cigam-0.0.3.dist-info/METADATA @@ -0,0 +1,18 @@ +Metadata-Version: 2.0 +Name: cigam +Version: 0.0.3 +Summary: magic +Home-page: https://github.com/mikusjelly/cigam +Author: mikusjelly +Author-email: mikusjelly@gmail.com +License: MIT +Keywords: file type,file magic +Platform: UNKNOWN +Classifier: Development Status :: 4 - Beta +Classifier: License :: OSI Approved :: MIT License +Classifier: Programming Language :: Python :: 3 :: Only +Classifier: Topic :: Utilities + +UNKNOWN + + diff --git a/venv/Lib/site-packages/cigam-0.0.3.dist-info/RECORD b/venv/Lib/site-packages/cigam-0.0.3.dist-info/RECORD new file mode 100644 index 00000000..0a27edfa --- /dev/null +++ b/venv/Lib/site-packages/cigam-0.0.3.dist-info/RECORD @@ -0,0 +1,11 @@ +cigam-0.0.3.dist-info/DESCRIPTION.rst,sha256=OCTuuN6LcWulhHS3d5rfjdsQtW22n7HENFRh6jC6ego,10 +cigam-0.0.3.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +cigam-0.0.3.dist-info/METADATA,sha256=EQ3QbhpqA58gCgm_8qf9AT8CckkNcdd2T7v5Pg7vR_4,419 +cigam-0.0.3.dist-info/RECORD,, +cigam-0.0.3.dist-info/WHEEL,sha256=rNo05PbNqwnXiIHFsYm0m22u4Zm6YJtugFG2THx4w3g,92 +cigam-0.0.3.dist-info/metadata.json,sha256=yXXJPfFqgUB2cr_Y44bNwnz3sW8YCta5ENrRcWouy7Q,592 +cigam-0.0.3.dist-info/top_level.txt,sha256=uzZF61AhTHwt1CldeWtDYtdQa5vPsOo1bAO-EbNDN9o,6 +cigam/__init__.py,sha256=nnwhO0KS_uWCWii_ELOEFsbvCBBCDs0CBXk9RHX_I1E,5281 +cigam/__main__.py,sha256=DnpxRRAWrkg6NhLYOhTfzf-OceVI8-Twjrtpd3dcJu0,416 +cigam/__pycache__/__init__.cpython-39.pyc,, +cigam/__pycache__/__main__.cpython-39.pyc,, diff --git a/venv/Lib/site-packages/cigam-0.0.3.dist-info/WHEEL b/venv/Lib/site-packages/cigam-0.0.3.dist-info/WHEEL new file mode 100644 index 00000000..bb7f7dba --- /dev/null +++ b/venv/Lib/site-packages/cigam-0.0.3.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.29.0) +Root-Is-Purelib: true +Tag: py3-none-any + diff --git a/venv/Lib/site-packages/cigam-0.0.3.dist-info/metadata.json b/venv/Lib/site-packages/cigam-0.0.3.dist-info/metadata.json new file mode 100644 index 00000000..1c2500de --- /dev/null +++ b/venv/Lib/site-packages/cigam-0.0.3.dist-info/metadata.json @@ -0,0 +1 @@ +{"classifiers": ["Development Status :: 4 - Beta", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3 :: Only", "Topic :: Utilities"], "extensions": {"python.details": {"contacts": [{"email": "mikusjelly@gmail.com", "name": "mikusjelly", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}, "project_urls": {"Home": "https://github.com/mikusjelly/cigam"}}}, "generator": "bdist_wheel (0.29.0)", "keywords": ["file", "type", "file", "magic"], "license": "MIT", "metadata_version": "2.0", "name": "cigam", "summary": "magic", "version": "0.0.3"} \ No newline at end of file diff --git a/venv/Lib/site-packages/cigam-0.0.3.dist-info/top_level.txt b/venv/Lib/site-packages/cigam-0.0.3.dist-info/top_level.txt new file mode 100644 index 00000000..d55f9077 --- /dev/null +++ b/venv/Lib/site-packages/cigam-0.0.3.dist-info/top_level.txt @@ -0,0 +1 @@ +cigam diff --git a/venv/Lib/site-packages/cigam/__init__.py b/venv/Lib/site-packages/cigam/__init__.py new file mode 100644 index 00000000..c76516c5 --- /dev/null +++ b/venv/Lib/site-packages/cigam/__init__.py @@ -0,0 +1,166 @@ +import binascii + + +class Match(object): + + def __init__(self, data): + self.data = data + + def is_apk(self): + zip_magic = b'504b0304' + if zip_magic not in binascii.hexlify(self.data[:4]): + return None + + # AndroidManifest.xml + manifest_bytes = b'416e64726f69644d616e69666573742e786d6c' + contains_manifest = manifest_bytes in binascii.hexlify(self.data) + + # classes + classes_bytes = b'636c6173736573' + contains_classes = classes_bytes in binascii.hexlify(self.data) + + if contains_manifest and contains_classes: + return ('.apk', 'apk', '', 'Android application package') + elif contains_classes: + return ('.apk', 'apk', '', 'Android application packag, without AndroidManifest.xml') + elif contains_manifest: + return ('.apk', 'apk', '', 'Android application packag, without classes.dex') + else: + return ('.zip', 'zip', 'application/zip', 'ZIP archive') + + def is_axml(self): + magic = binascii.hexlify(self.data[:4]) + if b'03000800' == magic: + return ('.xml', 'axml', '', 'Android binary XML') + elif b'00000800' == magic: + return ('.xml', 'axml', '', 'Android binary XML with modified') + return None + + def is_arsc(self): + if b'02000c00' == binascii.hexlify(self.data[:4]): + return ('.arsc', 'arsc', '', 'Android resources') + return None + + def is_elf(self): + if b'7f454c46' == binascii.hexlify(self.data[:4]): + return ('.so', 'elf', '', 'Executable and Linkable Format') + return None + + def is_dex(self): + if b'6465780a' == binascii.hexlify(self.data[:4]): + return ('.dex', 'dex', '', 'Android Dalvik Executable format') + return None + + def is_sqlite(self): + if b'53514c69746520666f726d617420' == binascii.hexlify(self.data[:14]): + return ('.db', 'sqlite', '', 'SQlite format') + return None + + def is_odex(self): + if b'6465790a' == binascii.hexlify(self.data[:4]): + return ('.odex', 'odex', '', 'Android Optimized Dalvik EXecutable') + return None + + def is_tar(self): + if b'66697874' == binascii.hexlify(self.data[:4]): + return ('.tar', 'tar', 'application/x-tar', 'Tape Archive (TAR)') + return None + + def is_jpg(self): + if b'ffd8ff' != binascii.hexlify(self.data[:3]): + return None + bytes = binascii.hexlify(self.data[6:10]) + if b'45786966' == bytes: + return ('.jpg', 'jpg', 'image/jpeg, Exif', 'JPEG images') + if b'4a464946' == bytes: + return ('.jpg', 'jpg', 'image/jpeg, JFIF', 'JPEG images') + return ('.jpg', 'jpg', 'image/jpeg', 'JPEG images') + + def is_png(self): + if b'89504e47' == binascii.hexlify(self.data[:4]): + return ('.png', 'png', 'image/png', '') + return None + + def is_ico(self): + if b'00000100' == binascii.hexlify(self.data[:4]): + return ('.ico', 'icon', 'image/ico', 'MS Windows icon resource') + return None + + def is_gif(self): + if b'47494638' == binascii.hexlify(self.data[:4]): + return ('.gif', 'gif', 'image/gif', 'Graphics Interchange Format (GIF)') + return None + + def is_ogg(self): + if b'4f676753' == binascii.hexlify(self.data[:4]): + return ('.ogg', 'ogg', 'audio/ogg', 'OGG audio') + return None + + def is_p7b(self): + if b'3082' == binascii.hexlify(self.data[:2]): + return ('.p7b', 'p7b', 'cert/p7b', 'PKCS7 File') + return None + +class Magic(object): + + def __init__(self, param): + if isinstance(param, bytes): + self.data = param + else: + with open(param, mode='rb') as f: + self.data = f.read() + + self.extension = 'Unknown' + self.type = 'Unknown' + self.mime = 'Unknown' + self.desc = 'Unknown' + + if self.istext(self.data): + if '=3.7 +Description-Content-Type: text/x-rst +License-File: LICENSE.rst +Requires-Dist: colorama ; platform_system == "Windows" +Requires-Dist: importlib-metadata ; python_version < "3.8" + +\$ click\_ +========== + +Click is a Python package for creating beautiful command line interfaces +in a composable way with as little code as necessary. It's the "Command +Line Interface Creation Kit". It's highly configurable but comes with +sensible defaults out of the box. + +It aims to make the process of writing command line tools quick and fun +while also preventing any frustration caused by the inability to +implement an intended CLI API. + +Click in three points: + +- Arbitrary nesting of commands +- Automatic help page generation +- Supports lazy loading of subcommands at runtime + + +Installing +---------- + +Install and update using `pip`_: + +.. code-block:: text + + $ pip install -U click + +.. _pip: https://pip.pypa.io/en/stable/getting-started/ + + +A Simple Example +---------------- + +.. code-block:: python + + import click + + @click.command() + @click.option("--count", default=1, help="Number of greetings.") + @click.option("--name", prompt="Your name", help="The person to greet.") + def hello(count, name): + """Simple program that greets NAME for a total of COUNT times.""" + for _ in range(count): + click.echo(f"Hello, {name}!") + + if __name__ == '__main__': + hello() + +.. code-block:: text + + $ python hello.py --count=3 + Your name: Click + Hello, Click! + Hello, Click! + Hello, Click! + + +Donate +------ + +The Pallets organization develops and supports Click and other popular +packages. In order to grow the community of contributors and users, and +allow the maintainers to devote more time to the projects, `please +donate today`_. + +.. _please donate today: https://palletsprojects.com/donate + + +Links +----- + +- Documentation: https://click.palletsprojects.com/ +- Changes: https://click.palletsprojects.com/changes/ +- PyPI Releases: https://pypi.org/project/click/ +- Source Code: https://github.com/pallets/click +- Issue Tracker: https://github.com/pallets/click/issues +- Chat: https://discord.gg/pallets diff --git a/venv/Lib/site-packages/click-8.1.7.dist-info/RECORD b/venv/Lib/site-packages/click-8.1.7.dist-info/RECORD new file mode 100644 index 00000000..3880de5b --- /dev/null +++ b/venv/Lib/site-packages/click-8.1.7.dist-info/RECORD @@ -0,0 +1,39 @@ +click-8.1.7.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +click-8.1.7.dist-info/LICENSE.rst,sha256=morRBqOU6FO_4h9C9OctWSgZoigF2ZG18ydQKSkrZY0,1475 +click-8.1.7.dist-info/METADATA,sha256=qIMevCxGA9yEmJOM_4WHuUJCwWpsIEVbCPOhs45YPN4,3014 +click-8.1.7.dist-info/RECORD,, +click-8.1.7.dist-info/WHEEL,sha256=5sUXSg9e4bi7lTLOHcm6QEYwO5TIF1TNbTSVFVjcJcc,92 +click-8.1.7.dist-info/top_level.txt,sha256=J1ZQogalYS4pphY_lPECoNMfw0HzTSrZglC4Yfwo4xA,6 +click/__init__.py,sha256=YDDbjm406dTOA0V8bTtdGnhN7zj5j-_dFRewZF_pLvw,3138 +click/__pycache__/__init__.cpython-39.pyc,, +click/__pycache__/_compat.cpython-39.pyc,, +click/__pycache__/_termui_impl.cpython-39.pyc,, +click/__pycache__/_textwrap.cpython-39.pyc,, +click/__pycache__/_winconsole.cpython-39.pyc,, +click/__pycache__/core.cpython-39.pyc,, +click/__pycache__/decorators.cpython-39.pyc,, +click/__pycache__/exceptions.cpython-39.pyc,, +click/__pycache__/formatting.cpython-39.pyc,, +click/__pycache__/globals.cpython-39.pyc,, +click/__pycache__/parser.cpython-39.pyc,, +click/__pycache__/shell_completion.cpython-39.pyc,, +click/__pycache__/termui.cpython-39.pyc,, +click/__pycache__/testing.cpython-39.pyc,, +click/__pycache__/types.cpython-39.pyc,, +click/__pycache__/utils.cpython-39.pyc,, +click/_compat.py,sha256=5318agQpbt4kroKsbqDOYpTSWzL_YCZVUQiTT04yXmc,18744 +click/_termui_impl.py,sha256=3dFYv4445Nw-rFvZOTBMBPYwB1bxnmNk9Du6Dm_oBSU,24069 +click/_textwrap.py,sha256=10fQ64OcBUMuK7mFvh8363_uoOxPlRItZBmKzRJDgoY,1353 +click/_winconsole.py,sha256=5ju3jQkcZD0W27WEMGqmEP4y_crUVzPCqsX_FYb7BO0,7860 +click/core.py,sha256=j6oEWtGgGna8JarD6WxhXmNnxLnfRjwXglbBc-8jr7U,114086 +click/decorators.py,sha256=-ZlbGYgV-oI8jr_oH4RpuL1PFS-5QmeuEAsLDAYgxtw,18719 +click/exceptions.py,sha256=fyROO-47HWFDjt2qupo7A3J32VlpM-ovJnfowu92K3s,9273 +click/formatting.py,sha256=Frf0-5W33-loyY_i9qrwXR8-STnW3m5gvyxLVUdyxyk,9706 +click/globals.py,sha256=TP-qM88STzc7f127h35TD_v920FgfOD2EwzqA0oE8XU,1961 +click/parser.py,sha256=LKyYQE9ZLj5KgIDXkrcTHQRXIggfoivX14_UVIn56YA,19067 +click/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +click/shell_completion.py,sha256=Ty3VM_ts0sQhj6u7eFTiLwHPoTgcXTGEAUg2OpLqYKw,18460 +click/termui.py,sha256=H7Q8FpmPelhJ2ovOhfCRhjMtCpNyjFXryAMLZODqsdc,28324 +click/testing.py,sha256=1Qd4kS5bucn1hsNIRryd0WtTMuCpkA93grkWxT8POsU,16084 +click/types.py,sha256=TZvz3hKvBztf-Hpa2enOmP4eznSPLzijjig5b_0XMxE,36391 +click/utils.py,sha256=1476UduUNY6UePGU4m18uzVHLt1sKM2PP3yWsQhbItM,20298 diff --git a/venv/Lib/site-packages/click-8.1.7.dist-info/WHEEL b/venv/Lib/site-packages/click-8.1.7.dist-info/WHEEL new file mode 100644 index 00000000..2c08da08 --- /dev/null +++ b/venv/Lib/site-packages/click-8.1.7.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.41.1) +Root-Is-Purelib: true +Tag: py3-none-any + diff --git a/venv/Lib/site-packages/click-8.1.7.dist-info/top_level.txt b/venv/Lib/site-packages/click-8.1.7.dist-info/top_level.txt new file mode 100644 index 00000000..dca9a909 --- /dev/null +++ b/venv/Lib/site-packages/click-8.1.7.dist-info/top_level.txt @@ -0,0 +1 @@ +click diff --git a/venv/Lib/site-packages/click/__init__.py b/venv/Lib/site-packages/click/__init__.py new file mode 100644 index 00000000..9a1dab04 --- /dev/null +++ b/venv/Lib/site-packages/click/__init__.py @@ -0,0 +1,73 @@ +""" +Click is a simple Python module inspired by the stdlib optparse to make +writing command line scripts fun. Unlike other modules, it's based +around a simple API that does not come with too much magic and is +composable. +""" +from .core import Argument as Argument +from .core import BaseCommand as BaseCommand +from .core import Command as Command +from .core import CommandCollection as CommandCollection +from .core import Context as Context +from .core import Group as Group +from .core import MultiCommand as MultiCommand +from .core import Option as Option +from .core import Parameter as Parameter +from .decorators import argument as argument +from .decorators import command as command +from .decorators import confirmation_option as confirmation_option +from .decorators import group as group +from .decorators import help_option as help_option +from .decorators import make_pass_decorator as make_pass_decorator +from .decorators import option as option +from .decorators import pass_context as pass_context +from .decorators import pass_obj as pass_obj +from .decorators import password_option as password_option +from .decorators import version_option as version_option +from .exceptions import Abort as Abort +from .exceptions import BadArgumentUsage as BadArgumentUsage +from .exceptions import BadOptionUsage as BadOptionUsage +from .exceptions import BadParameter as BadParameter +from .exceptions import ClickException as ClickException +from .exceptions import FileError as FileError +from .exceptions import MissingParameter as MissingParameter +from .exceptions import NoSuchOption as NoSuchOption +from .exceptions import UsageError as UsageError +from .formatting import HelpFormatter as HelpFormatter +from .formatting import wrap_text as wrap_text +from .globals import get_current_context as get_current_context +from .parser import OptionParser as OptionParser +from .termui import clear as clear +from .termui import confirm as confirm +from .termui import echo_via_pager as echo_via_pager +from .termui import edit as edit +from .termui import getchar as getchar +from .termui import launch as launch +from .termui import pause as pause +from .termui import progressbar as progressbar +from .termui import prompt as prompt +from .termui import secho as secho +from .termui import style as style +from .termui import unstyle as unstyle +from .types import BOOL as BOOL +from .types import Choice as Choice +from .types import DateTime as DateTime +from .types import File as File +from .types import FLOAT as FLOAT +from .types import FloatRange as FloatRange +from .types import INT as INT +from .types import IntRange as IntRange +from .types import ParamType as ParamType +from .types import Path as Path +from .types import STRING as STRING +from .types import Tuple as Tuple +from .types import UNPROCESSED as UNPROCESSED +from .types import UUID as UUID +from .utils import echo as echo +from .utils import format_filename as format_filename +from .utils import get_app_dir as get_app_dir +from .utils import get_binary_stream as get_binary_stream +from .utils import get_text_stream as get_text_stream +from .utils import open_file as open_file + +__version__ = "8.1.7" diff --git a/venv/Lib/site-packages/click/__pycache__/__init__.cpython-39.pyc b/venv/Lib/site-packages/click/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..8e54c270 Binary files /dev/null and b/venv/Lib/site-packages/click/__pycache__/__init__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/click/__pycache__/_compat.cpython-39.pyc b/venv/Lib/site-packages/click/__pycache__/_compat.cpython-39.pyc new file mode 100644 index 00000000..03d9606a Binary files /dev/null and b/venv/Lib/site-packages/click/__pycache__/_compat.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/click/__pycache__/_termui_impl.cpython-39.pyc b/venv/Lib/site-packages/click/__pycache__/_termui_impl.cpython-39.pyc new file mode 100644 index 00000000..3d43cb64 Binary files /dev/null and b/venv/Lib/site-packages/click/__pycache__/_termui_impl.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/click/__pycache__/_textwrap.cpython-39.pyc b/venv/Lib/site-packages/click/__pycache__/_textwrap.cpython-39.pyc new file mode 100644 index 00000000..e26bf70c Binary files /dev/null and b/venv/Lib/site-packages/click/__pycache__/_textwrap.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/click/__pycache__/_winconsole.cpython-39.pyc b/venv/Lib/site-packages/click/__pycache__/_winconsole.cpython-39.pyc new file mode 100644 index 00000000..d7c442e6 Binary files /dev/null and b/venv/Lib/site-packages/click/__pycache__/_winconsole.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/click/__pycache__/core.cpython-39.pyc b/venv/Lib/site-packages/click/__pycache__/core.cpython-39.pyc new file mode 100644 index 00000000..aca3200a Binary files /dev/null and b/venv/Lib/site-packages/click/__pycache__/core.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/click/__pycache__/decorators.cpython-39.pyc b/venv/Lib/site-packages/click/__pycache__/decorators.cpython-39.pyc new file mode 100644 index 00000000..d14253a7 Binary files /dev/null and b/venv/Lib/site-packages/click/__pycache__/decorators.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/click/__pycache__/exceptions.cpython-39.pyc b/venv/Lib/site-packages/click/__pycache__/exceptions.cpython-39.pyc new file mode 100644 index 00000000..0d61de38 Binary files /dev/null and b/venv/Lib/site-packages/click/__pycache__/exceptions.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/click/__pycache__/formatting.cpython-39.pyc b/venv/Lib/site-packages/click/__pycache__/formatting.cpython-39.pyc new file mode 100644 index 00000000..65c0b494 Binary files /dev/null and b/venv/Lib/site-packages/click/__pycache__/formatting.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/click/__pycache__/globals.cpython-39.pyc b/venv/Lib/site-packages/click/__pycache__/globals.cpython-39.pyc new file mode 100644 index 00000000..31614d49 Binary files /dev/null and b/venv/Lib/site-packages/click/__pycache__/globals.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/click/__pycache__/parser.cpython-39.pyc b/venv/Lib/site-packages/click/__pycache__/parser.cpython-39.pyc new file mode 100644 index 00000000..ab430965 Binary files /dev/null and b/venv/Lib/site-packages/click/__pycache__/parser.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/click/__pycache__/shell_completion.cpython-39.pyc b/venv/Lib/site-packages/click/__pycache__/shell_completion.cpython-39.pyc new file mode 100644 index 00000000..aa410ff7 Binary files /dev/null and b/venv/Lib/site-packages/click/__pycache__/shell_completion.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/click/__pycache__/termui.cpython-39.pyc b/venv/Lib/site-packages/click/__pycache__/termui.cpython-39.pyc new file mode 100644 index 00000000..e2413da4 Binary files /dev/null and b/venv/Lib/site-packages/click/__pycache__/termui.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/click/__pycache__/testing.cpython-39.pyc b/venv/Lib/site-packages/click/__pycache__/testing.cpython-39.pyc new file mode 100644 index 00000000..4f4f4f04 Binary files /dev/null and b/venv/Lib/site-packages/click/__pycache__/testing.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/click/__pycache__/types.cpython-39.pyc b/venv/Lib/site-packages/click/__pycache__/types.cpython-39.pyc new file mode 100644 index 00000000..f904bf69 Binary files /dev/null and b/venv/Lib/site-packages/click/__pycache__/types.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/click/__pycache__/utils.cpython-39.pyc b/venv/Lib/site-packages/click/__pycache__/utils.cpython-39.pyc new file mode 100644 index 00000000..90a99042 Binary files /dev/null and b/venv/Lib/site-packages/click/__pycache__/utils.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/click/_compat.py b/venv/Lib/site-packages/click/_compat.py new file mode 100644 index 00000000..23f88665 --- /dev/null +++ b/venv/Lib/site-packages/click/_compat.py @@ -0,0 +1,623 @@ +import codecs +import io +import os +import re +import sys +import typing as t +from weakref import WeakKeyDictionary + +CYGWIN = sys.platform.startswith("cygwin") +WIN = sys.platform.startswith("win") +auto_wrap_for_ansi: t.Optional[t.Callable[[t.TextIO], t.TextIO]] = None +_ansi_re = re.compile(r"\033\[[;?0-9]*[a-zA-Z]") + + +def _make_text_stream( + stream: t.BinaryIO, + encoding: t.Optional[str], + errors: t.Optional[str], + force_readable: bool = False, + force_writable: bool = False, +) -> t.TextIO: + if encoding is None: + encoding = get_best_encoding(stream) + if errors is None: + errors = "replace" + return _NonClosingTextIOWrapper( + stream, + encoding, + errors, + line_buffering=True, + force_readable=force_readable, + force_writable=force_writable, + ) + + +def is_ascii_encoding(encoding: str) -> bool: + """Checks if a given encoding is ascii.""" + try: + return codecs.lookup(encoding).name == "ascii" + except LookupError: + return False + + +def get_best_encoding(stream: t.IO[t.Any]) -> str: + """Returns the default stream encoding if not found.""" + rv = getattr(stream, "encoding", None) or sys.getdefaultencoding() + if is_ascii_encoding(rv): + return "utf-8" + return rv + + +class _NonClosingTextIOWrapper(io.TextIOWrapper): + def __init__( + self, + stream: t.BinaryIO, + encoding: t.Optional[str], + errors: t.Optional[str], + force_readable: bool = False, + force_writable: bool = False, + **extra: t.Any, + ) -> None: + self._stream = stream = t.cast( + t.BinaryIO, _FixupStream(stream, force_readable, force_writable) + ) + super().__init__(stream, encoding, errors, **extra) + + def __del__(self) -> None: + try: + self.detach() + except Exception: + pass + + def isatty(self) -> bool: + # https://bitbucket.org/pypy/pypy/issue/1803 + return self._stream.isatty() + + +class _FixupStream: + """The new io interface needs more from streams than streams + traditionally implement. As such, this fix-up code is necessary in + some circumstances. + + The forcing of readable and writable flags are there because some tools + put badly patched objects on sys (one such offender are certain version + of jupyter notebook). + """ + + def __init__( + self, + stream: t.BinaryIO, + force_readable: bool = False, + force_writable: bool = False, + ): + self._stream = stream + self._force_readable = force_readable + self._force_writable = force_writable + + def __getattr__(self, name: str) -> t.Any: + return getattr(self._stream, name) + + def read1(self, size: int) -> bytes: + f = getattr(self._stream, "read1", None) + + if f is not None: + return t.cast(bytes, f(size)) + + return self._stream.read(size) + + def readable(self) -> bool: + if self._force_readable: + return True + x = getattr(self._stream, "readable", None) + if x is not None: + return t.cast(bool, x()) + try: + self._stream.read(0) + except Exception: + return False + return True + + def writable(self) -> bool: + if self._force_writable: + return True + x = getattr(self._stream, "writable", None) + if x is not None: + return t.cast(bool, x()) + try: + self._stream.write("") # type: ignore + except Exception: + try: + self._stream.write(b"") + except Exception: + return False + return True + + def seekable(self) -> bool: + x = getattr(self._stream, "seekable", None) + if x is not None: + return t.cast(bool, x()) + try: + self._stream.seek(self._stream.tell()) + except Exception: + return False + return True + + +def _is_binary_reader(stream: t.IO[t.Any], default: bool = False) -> bool: + try: + return isinstance(stream.read(0), bytes) + except Exception: + return default + # This happens in some cases where the stream was already + # closed. In this case, we assume the default. + + +def _is_binary_writer(stream: t.IO[t.Any], default: bool = False) -> bool: + try: + stream.write(b"") + except Exception: + try: + stream.write("") + return False + except Exception: + pass + return default + return True + + +def _find_binary_reader(stream: t.IO[t.Any]) -> t.Optional[t.BinaryIO]: + # We need to figure out if the given stream is already binary. + # This can happen because the official docs recommend detaching + # the streams to get binary streams. Some code might do this, so + # we need to deal with this case explicitly. + if _is_binary_reader(stream, False): + return t.cast(t.BinaryIO, stream) + + buf = getattr(stream, "buffer", None) + + # Same situation here; this time we assume that the buffer is + # actually binary in case it's closed. + if buf is not None and _is_binary_reader(buf, True): + return t.cast(t.BinaryIO, buf) + + return None + + +def _find_binary_writer(stream: t.IO[t.Any]) -> t.Optional[t.BinaryIO]: + # We need to figure out if the given stream is already binary. + # This can happen because the official docs recommend detaching + # the streams to get binary streams. Some code might do this, so + # we need to deal with this case explicitly. + if _is_binary_writer(stream, False): + return t.cast(t.BinaryIO, stream) + + buf = getattr(stream, "buffer", None) + + # Same situation here; this time we assume that the buffer is + # actually binary in case it's closed. + if buf is not None and _is_binary_writer(buf, True): + return t.cast(t.BinaryIO, buf) + + return None + + +def _stream_is_misconfigured(stream: t.TextIO) -> bool: + """A stream is misconfigured if its encoding is ASCII.""" + # If the stream does not have an encoding set, we assume it's set + # to ASCII. This appears to happen in certain unittest + # environments. It's not quite clear what the correct behavior is + # but this at least will force Click to recover somehow. + return is_ascii_encoding(getattr(stream, "encoding", None) or "ascii") + + +def _is_compat_stream_attr(stream: t.TextIO, attr: str, value: t.Optional[str]) -> bool: + """A stream attribute is compatible if it is equal to the + desired value or the desired value is unset and the attribute + has a value. + """ + stream_value = getattr(stream, attr, None) + return stream_value == value or (value is None and stream_value is not None) + + +def _is_compatible_text_stream( + stream: t.TextIO, encoding: t.Optional[str], errors: t.Optional[str] +) -> bool: + """Check if a stream's encoding and errors attributes are + compatible with the desired values. + """ + return _is_compat_stream_attr( + stream, "encoding", encoding + ) and _is_compat_stream_attr(stream, "errors", errors) + + +def _force_correct_text_stream( + text_stream: t.IO[t.Any], + encoding: t.Optional[str], + errors: t.Optional[str], + is_binary: t.Callable[[t.IO[t.Any], bool], bool], + find_binary: t.Callable[[t.IO[t.Any]], t.Optional[t.BinaryIO]], + force_readable: bool = False, + force_writable: bool = False, +) -> t.TextIO: + if is_binary(text_stream, False): + binary_reader = t.cast(t.BinaryIO, text_stream) + else: + text_stream = t.cast(t.TextIO, text_stream) + # If the stream looks compatible, and won't default to a + # misconfigured ascii encoding, return it as-is. + if _is_compatible_text_stream(text_stream, encoding, errors) and not ( + encoding is None and _stream_is_misconfigured(text_stream) + ): + return text_stream + + # Otherwise, get the underlying binary reader. + possible_binary_reader = find_binary(text_stream) + + # If that's not possible, silently use the original reader + # and get mojibake instead of exceptions. + if possible_binary_reader is None: + return text_stream + + binary_reader = possible_binary_reader + + # Default errors to replace instead of strict in order to get + # something that works. + if errors is None: + errors = "replace" + + # Wrap the binary stream in a text stream with the correct + # encoding parameters. + return _make_text_stream( + binary_reader, + encoding, + errors, + force_readable=force_readable, + force_writable=force_writable, + ) + + +def _force_correct_text_reader( + text_reader: t.IO[t.Any], + encoding: t.Optional[str], + errors: t.Optional[str], + force_readable: bool = False, +) -> t.TextIO: + return _force_correct_text_stream( + text_reader, + encoding, + errors, + _is_binary_reader, + _find_binary_reader, + force_readable=force_readable, + ) + + +def _force_correct_text_writer( + text_writer: t.IO[t.Any], + encoding: t.Optional[str], + errors: t.Optional[str], + force_writable: bool = False, +) -> t.TextIO: + return _force_correct_text_stream( + text_writer, + encoding, + errors, + _is_binary_writer, + _find_binary_writer, + force_writable=force_writable, + ) + + +def get_binary_stdin() -> t.BinaryIO: + reader = _find_binary_reader(sys.stdin) + if reader is None: + raise RuntimeError("Was not able to determine binary stream for sys.stdin.") + return reader + + +def get_binary_stdout() -> t.BinaryIO: + writer = _find_binary_writer(sys.stdout) + if writer is None: + raise RuntimeError("Was not able to determine binary stream for sys.stdout.") + return writer + + +def get_binary_stderr() -> t.BinaryIO: + writer = _find_binary_writer(sys.stderr) + if writer is None: + raise RuntimeError("Was not able to determine binary stream for sys.stderr.") + return writer + + +def get_text_stdin( + encoding: t.Optional[str] = None, errors: t.Optional[str] = None +) -> t.TextIO: + rv = _get_windows_console_stream(sys.stdin, encoding, errors) + if rv is not None: + return rv + return _force_correct_text_reader(sys.stdin, encoding, errors, force_readable=True) + + +def get_text_stdout( + encoding: t.Optional[str] = None, errors: t.Optional[str] = None +) -> t.TextIO: + rv = _get_windows_console_stream(sys.stdout, encoding, errors) + if rv is not None: + return rv + return _force_correct_text_writer(sys.stdout, encoding, errors, force_writable=True) + + +def get_text_stderr( + encoding: t.Optional[str] = None, errors: t.Optional[str] = None +) -> t.TextIO: + rv = _get_windows_console_stream(sys.stderr, encoding, errors) + if rv is not None: + return rv + return _force_correct_text_writer(sys.stderr, encoding, errors, force_writable=True) + + +def _wrap_io_open( + file: t.Union[str, "os.PathLike[str]", int], + mode: str, + encoding: t.Optional[str], + errors: t.Optional[str], +) -> t.IO[t.Any]: + """Handles not passing ``encoding`` and ``errors`` in binary mode.""" + if "b" in mode: + return open(file, mode) + + return open(file, mode, encoding=encoding, errors=errors) + + +def open_stream( + filename: "t.Union[str, os.PathLike[str]]", + mode: str = "r", + encoding: t.Optional[str] = None, + errors: t.Optional[str] = "strict", + atomic: bool = False, +) -> t.Tuple[t.IO[t.Any], bool]: + binary = "b" in mode + filename = os.fspath(filename) + + # Standard streams first. These are simple because they ignore the + # atomic flag. Use fsdecode to handle Path("-"). + if os.fsdecode(filename) == "-": + if any(m in mode for m in ["w", "a", "x"]): + if binary: + return get_binary_stdout(), False + return get_text_stdout(encoding=encoding, errors=errors), False + if binary: + return get_binary_stdin(), False + return get_text_stdin(encoding=encoding, errors=errors), False + + # Non-atomic writes directly go out through the regular open functions. + if not atomic: + return _wrap_io_open(filename, mode, encoding, errors), True + + # Some usability stuff for atomic writes + if "a" in mode: + raise ValueError( + "Appending to an existing file is not supported, because that" + " would involve an expensive `copy`-operation to a temporary" + " file. Open the file in normal `w`-mode and copy explicitly" + " if that's what you're after." + ) + if "x" in mode: + raise ValueError("Use the `overwrite`-parameter instead.") + if "w" not in mode: + raise ValueError("Atomic writes only make sense with `w`-mode.") + + # Atomic writes are more complicated. They work by opening a file + # as a proxy in the same folder and then using the fdopen + # functionality to wrap it in a Python file. Then we wrap it in an + # atomic file that moves the file over on close. + import errno + import random + + try: + perm: t.Optional[int] = os.stat(filename).st_mode + except OSError: + perm = None + + flags = os.O_RDWR | os.O_CREAT | os.O_EXCL + + if binary: + flags |= getattr(os, "O_BINARY", 0) + + while True: + tmp_filename = os.path.join( + os.path.dirname(filename), + f".__atomic-write{random.randrange(1 << 32):08x}", + ) + try: + fd = os.open(tmp_filename, flags, 0o666 if perm is None else perm) + break + except OSError as e: + if e.errno == errno.EEXIST or ( + os.name == "nt" + and e.errno == errno.EACCES + and os.path.isdir(e.filename) + and os.access(e.filename, os.W_OK) + ): + continue + raise + + if perm is not None: + os.chmod(tmp_filename, perm) # in case perm includes bits in umask + + f = _wrap_io_open(fd, mode, encoding, errors) + af = _AtomicFile(f, tmp_filename, os.path.realpath(filename)) + return t.cast(t.IO[t.Any], af), True + + +class _AtomicFile: + def __init__(self, f: t.IO[t.Any], tmp_filename: str, real_filename: str) -> None: + self._f = f + self._tmp_filename = tmp_filename + self._real_filename = real_filename + self.closed = False + + @property + def name(self) -> str: + return self._real_filename + + def close(self, delete: bool = False) -> None: + if self.closed: + return + self._f.close() + os.replace(self._tmp_filename, self._real_filename) + self.closed = True + + def __getattr__(self, name: str) -> t.Any: + return getattr(self._f, name) + + def __enter__(self) -> "_AtomicFile": + return self + + def __exit__(self, exc_type: t.Optional[t.Type[BaseException]], *_: t.Any) -> None: + self.close(delete=exc_type is not None) + + def __repr__(self) -> str: + return repr(self._f) + + +def strip_ansi(value: str) -> str: + return _ansi_re.sub("", value) + + +def _is_jupyter_kernel_output(stream: t.IO[t.Any]) -> bool: + while isinstance(stream, (_FixupStream, _NonClosingTextIOWrapper)): + stream = stream._stream + + return stream.__class__.__module__.startswith("ipykernel.") + + +def should_strip_ansi( + stream: t.Optional[t.IO[t.Any]] = None, color: t.Optional[bool] = None +) -> bool: + if color is None: + if stream is None: + stream = sys.stdin + return not isatty(stream) and not _is_jupyter_kernel_output(stream) + return not color + + +# On Windows, wrap the output streams with colorama to support ANSI +# color codes. +# NOTE: double check is needed so mypy does not analyze this on Linux +if sys.platform.startswith("win") and WIN: + from ._winconsole import _get_windows_console_stream + + def _get_argv_encoding() -> str: + import locale + + return locale.getpreferredencoding() + + _ansi_stream_wrappers: t.MutableMapping[t.TextIO, t.TextIO] = WeakKeyDictionary() + + def auto_wrap_for_ansi( # noqa: F811 + stream: t.TextIO, color: t.Optional[bool] = None + ) -> t.TextIO: + """Support ANSI color and style codes on Windows by wrapping a + stream with colorama. + """ + try: + cached = _ansi_stream_wrappers.get(stream) + except Exception: + cached = None + + if cached is not None: + return cached + + import colorama + + strip = should_strip_ansi(stream, color) + ansi_wrapper = colorama.AnsiToWin32(stream, strip=strip) + rv = t.cast(t.TextIO, ansi_wrapper.stream) + _write = rv.write + + def _safe_write(s): + try: + return _write(s) + except BaseException: + ansi_wrapper.reset_all() + raise + + rv.write = _safe_write + + try: + _ansi_stream_wrappers[stream] = rv + except Exception: + pass + + return rv + +else: + + def _get_argv_encoding() -> str: + return getattr(sys.stdin, "encoding", None) or sys.getfilesystemencoding() + + def _get_windows_console_stream( + f: t.TextIO, encoding: t.Optional[str], errors: t.Optional[str] + ) -> t.Optional[t.TextIO]: + return None + + +def term_len(x: str) -> int: + return len(strip_ansi(x)) + + +def isatty(stream: t.IO[t.Any]) -> bool: + try: + return stream.isatty() + except Exception: + return False + + +def _make_cached_stream_func( + src_func: t.Callable[[], t.Optional[t.TextIO]], + wrapper_func: t.Callable[[], t.TextIO], +) -> t.Callable[[], t.Optional[t.TextIO]]: + cache: t.MutableMapping[t.TextIO, t.TextIO] = WeakKeyDictionary() + + def func() -> t.Optional[t.TextIO]: + stream = src_func() + + if stream is None: + return None + + try: + rv = cache.get(stream) + except Exception: + rv = None + if rv is not None: + return rv + rv = wrapper_func() + try: + cache[stream] = rv + except Exception: + pass + return rv + + return func + + +_default_text_stdin = _make_cached_stream_func(lambda: sys.stdin, get_text_stdin) +_default_text_stdout = _make_cached_stream_func(lambda: sys.stdout, get_text_stdout) +_default_text_stderr = _make_cached_stream_func(lambda: sys.stderr, get_text_stderr) + + +binary_streams: t.Mapping[str, t.Callable[[], t.BinaryIO]] = { + "stdin": get_binary_stdin, + "stdout": get_binary_stdout, + "stderr": get_binary_stderr, +} + +text_streams: t.Mapping[ + str, t.Callable[[t.Optional[str], t.Optional[str]], t.TextIO] +] = { + "stdin": get_text_stdin, + "stdout": get_text_stdout, + "stderr": get_text_stderr, +} diff --git a/venv/Lib/site-packages/click/_termui_impl.py b/venv/Lib/site-packages/click/_termui_impl.py new file mode 100644 index 00000000..f7446577 --- /dev/null +++ b/venv/Lib/site-packages/click/_termui_impl.py @@ -0,0 +1,739 @@ +""" +This module contains implementations for the termui module. To keep the +import time of Click down, some infrequently used functionality is +placed in this module and only imported as needed. +""" +import contextlib +import math +import os +import sys +import time +import typing as t +from gettext import gettext as _ +from io import StringIO +from types import TracebackType + +from ._compat import _default_text_stdout +from ._compat import CYGWIN +from ._compat import get_best_encoding +from ._compat import isatty +from ._compat import open_stream +from ._compat import strip_ansi +from ._compat import term_len +from ._compat import WIN +from .exceptions import ClickException +from .utils import echo + +V = t.TypeVar("V") + +if os.name == "nt": + BEFORE_BAR = "\r" + AFTER_BAR = "\n" +else: + BEFORE_BAR = "\r\033[?25l" + AFTER_BAR = "\033[?25h\n" + + +class ProgressBar(t.Generic[V]): + def __init__( + self, + iterable: t.Optional[t.Iterable[V]], + length: t.Optional[int] = None, + fill_char: str = "#", + empty_char: str = " ", + bar_template: str = "%(bar)s", + info_sep: str = " ", + show_eta: bool = True, + show_percent: t.Optional[bool] = None, + show_pos: bool = False, + item_show_func: t.Optional[t.Callable[[t.Optional[V]], t.Optional[str]]] = None, + label: t.Optional[str] = None, + file: t.Optional[t.TextIO] = None, + color: t.Optional[bool] = None, + update_min_steps: int = 1, + width: int = 30, + ) -> None: + self.fill_char = fill_char + self.empty_char = empty_char + self.bar_template = bar_template + self.info_sep = info_sep + self.show_eta = show_eta + self.show_percent = show_percent + self.show_pos = show_pos + self.item_show_func = item_show_func + self.label: str = label or "" + + if file is None: + file = _default_text_stdout() + + # There are no standard streams attached to write to. For example, + # pythonw on Windows. + if file is None: + file = StringIO() + + self.file = file + self.color = color + self.update_min_steps = update_min_steps + self._completed_intervals = 0 + self.width: int = width + self.autowidth: bool = width == 0 + + if length is None: + from operator import length_hint + + length = length_hint(iterable, -1) + + if length == -1: + length = None + if iterable is None: + if length is None: + raise TypeError("iterable or length is required") + iterable = t.cast(t.Iterable[V], range(length)) + self.iter: t.Iterable[V] = iter(iterable) + self.length = length + self.pos = 0 + self.avg: t.List[float] = [] + self.last_eta: float + self.start: float + self.start = self.last_eta = time.time() + self.eta_known: bool = False + self.finished: bool = False + self.max_width: t.Optional[int] = None + self.entered: bool = False + self.current_item: t.Optional[V] = None + self.is_hidden: bool = not isatty(self.file) + self._last_line: t.Optional[str] = None + + def __enter__(self) -> "ProgressBar[V]": + self.entered = True + self.render_progress() + return self + + def __exit__( + self, + exc_type: t.Optional[t.Type[BaseException]], + exc_value: t.Optional[BaseException], + tb: t.Optional[TracebackType], + ) -> None: + self.render_finish() + + def __iter__(self) -> t.Iterator[V]: + if not self.entered: + raise RuntimeError("You need to use progress bars in a with block.") + self.render_progress() + return self.generator() + + def __next__(self) -> V: + # Iteration is defined in terms of a generator function, + # returned by iter(self); use that to define next(). This works + # because `self.iter` is an iterable consumed by that generator, + # so it is re-entry safe. Calling `next(self.generator())` + # twice works and does "what you want". + return next(iter(self)) + + def render_finish(self) -> None: + if self.is_hidden: + return + self.file.write(AFTER_BAR) + self.file.flush() + + @property + def pct(self) -> float: + if self.finished: + return 1.0 + return min(self.pos / (float(self.length or 1) or 1), 1.0) + + @property + def time_per_iteration(self) -> float: + if not self.avg: + return 0.0 + return sum(self.avg) / float(len(self.avg)) + + @property + def eta(self) -> float: + if self.length is not None and not self.finished: + return self.time_per_iteration * (self.length - self.pos) + return 0.0 + + def format_eta(self) -> str: + if self.eta_known: + t = int(self.eta) + seconds = t % 60 + t //= 60 + minutes = t % 60 + t //= 60 + hours = t % 24 + t //= 24 + if t > 0: + return f"{t}d {hours:02}:{minutes:02}:{seconds:02}" + else: + return f"{hours:02}:{minutes:02}:{seconds:02}" + return "" + + def format_pos(self) -> str: + pos = str(self.pos) + if self.length is not None: + pos += f"/{self.length}" + return pos + + def format_pct(self) -> str: + return f"{int(self.pct * 100): 4}%"[1:] + + def format_bar(self) -> str: + if self.length is not None: + bar_length = int(self.pct * self.width) + bar = self.fill_char * bar_length + bar += self.empty_char * (self.width - bar_length) + elif self.finished: + bar = self.fill_char * self.width + else: + chars = list(self.empty_char * (self.width or 1)) + if self.time_per_iteration != 0: + chars[ + int( + (math.cos(self.pos * self.time_per_iteration) / 2.0 + 0.5) + * self.width + ) + ] = self.fill_char + bar = "".join(chars) + return bar + + def format_progress_line(self) -> str: + show_percent = self.show_percent + + info_bits = [] + if self.length is not None and show_percent is None: + show_percent = not self.show_pos + + if self.show_pos: + info_bits.append(self.format_pos()) + if show_percent: + info_bits.append(self.format_pct()) + if self.show_eta and self.eta_known and not self.finished: + info_bits.append(self.format_eta()) + if self.item_show_func is not None: + item_info = self.item_show_func(self.current_item) + if item_info is not None: + info_bits.append(item_info) + + return ( + self.bar_template + % { + "label": self.label, + "bar": self.format_bar(), + "info": self.info_sep.join(info_bits), + } + ).rstrip() + + def render_progress(self) -> None: + import shutil + + if self.is_hidden: + # Only output the label as it changes if the output is not a + # TTY. Use file=stderr if you expect to be piping stdout. + if self._last_line != self.label: + self._last_line = self.label + echo(self.label, file=self.file, color=self.color) + + return + + buf = [] + # Update width in case the terminal has been resized + if self.autowidth: + old_width = self.width + self.width = 0 + clutter_length = term_len(self.format_progress_line()) + new_width = max(0, shutil.get_terminal_size().columns - clutter_length) + if new_width < old_width: + buf.append(BEFORE_BAR) + buf.append(" " * self.max_width) # type: ignore + self.max_width = new_width + self.width = new_width + + clear_width = self.width + if self.max_width is not None: + clear_width = self.max_width + + buf.append(BEFORE_BAR) + line = self.format_progress_line() + line_len = term_len(line) + if self.max_width is None or self.max_width < line_len: + self.max_width = line_len + + buf.append(line) + buf.append(" " * (clear_width - line_len)) + line = "".join(buf) + # Render the line only if it changed. + + if line != self._last_line: + self._last_line = line + echo(line, file=self.file, color=self.color, nl=False) + self.file.flush() + + def make_step(self, n_steps: int) -> None: + self.pos += n_steps + if self.length is not None and self.pos >= self.length: + self.finished = True + + if (time.time() - self.last_eta) < 1.0: + return + + self.last_eta = time.time() + + # self.avg is a rolling list of length <= 7 of steps where steps are + # defined as time elapsed divided by the total progress through + # self.length. + if self.pos: + step = (time.time() - self.start) / self.pos + else: + step = time.time() - self.start + + self.avg = self.avg[-6:] + [step] + + self.eta_known = self.length is not None + + def update(self, n_steps: int, current_item: t.Optional[V] = None) -> None: + """Update the progress bar by advancing a specified number of + steps, and optionally set the ``current_item`` for this new + position. + + :param n_steps: Number of steps to advance. + :param current_item: Optional item to set as ``current_item`` + for the updated position. + + .. versionchanged:: 8.0 + Added the ``current_item`` optional parameter. + + .. versionchanged:: 8.0 + Only render when the number of steps meets the + ``update_min_steps`` threshold. + """ + if current_item is not None: + self.current_item = current_item + + self._completed_intervals += n_steps + + if self._completed_intervals >= self.update_min_steps: + self.make_step(self._completed_intervals) + self.render_progress() + self._completed_intervals = 0 + + def finish(self) -> None: + self.eta_known = False + self.current_item = None + self.finished = True + + def generator(self) -> t.Iterator[V]: + """Return a generator which yields the items added to the bar + during construction, and updates the progress bar *after* the + yielded block returns. + """ + # WARNING: the iterator interface for `ProgressBar` relies on + # this and only works because this is a simple generator which + # doesn't create or manage additional state. If this function + # changes, the impact should be evaluated both against + # `iter(bar)` and `next(bar)`. `next()` in particular may call + # `self.generator()` repeatedly, and this must remain safe in + # order for that interface to work. + if not self.entered: + raise RuntimeError("You need to use progress bars in a with block.") + + if self.is_hidden: + yield from self.iter + else: + for rv in self.iter: + self.current_item = rv + + # This allows show_item_func to be updated before the + # item is processed. Only trigger at the beginning of + # the update interval. + if self._completed_intervals == 0: + self.render_progress() + + yield rv + self.update(1) + + self.finish() + self.render_progress() + + +def pager(generator: t.Iterable[str], color: t.Optional[bool] = None) -> None: + """Decide what method to use for paging through text.""" + stdout = _default_text_stdout() + + # There are no standard streams attached to write to. For example, + # pythonw on Windows. + if stdout is None: + stdout = StringIO() + + if not isatty(sys.stdin) or not isatty(stdout): + return _nullpager(stdout, generator, color) + pager_cmd = (os.environ.get("PAGER", None) or "").strip() + if pager_cmd: + if WIN: + return _tempfilepager(generator, pager_cmd, color) + return _pipepager(generator, pager_cmd, color) + if os.environ.get("TERM") in ("dumb", "emacs"): + return _nullpager(stdout, generator, color) + if WIN or sys.platform.startswith("os2"): + return _tempfilepager(generator, "more <", color) + if hasattr(os, "system") and os.system("(less) 2>/dev/null") == 0: + return _pipepager(generator, "less", color) + + import tempfile + + fd, filename = tempfile.mkstemp() + os.close(fd) + try: + if hasattr(os, "system") and os.system(f'more "{filename}"') == 0: + return _pipepager(generator, "more", color) + return _nullpager(stdout, generator, color) + finally: + os.unlink(filename) + + +def _pipepager(generator: t.Iterable[str], cmd: str, color: t.Optional[bool]) -> None: + """Page through text by feeding it to another program. Invoking a + pager through this might support colors. + """ + import subprocess + + env = dict(os.environ) + + # If we're piping to less we might support colors under the + # condition that + cmd_detail = cmd.rsplit("/", 1)[-1].split() + if color is None and cmd_detail[0] == "less": + less_flags = f"{os.environ.get('LESS', '')}{' '.join(cmd_detail[1:])}" + if not less_flags: + env["LESS"] = "-R" + color = True + elif "r" in less_flags or "R" in less_flags: + color = True + + c = subprocess.Popen(cmd, shell=True, stdin=subprocess.PIPE, env=env) + stdin = t.cast(t.BinaryIO, c.stdin) + encoding = get_best_encoding(stdin) + try: + for text in generator: + if not color: + text = strip_ansi(text) + + stdin.write(text.encode(encoding, "replace")) + except (OSError, KeyboardInterrupt): + pass + else: + stdin.close() + + # Less doesn't respect ^C, but catches it for its own UI purposes (aborting + # search or other commands inside less). + # + # That means when the user hits ^C, the parent process (click) terminates, + # but less is still alive, paging the output and messing up the terminal. + # + # If the user wants to make the pager exit on ^C, they should set + # `LESS='-K'`. It's not our decision to make. + while True: + try: + c.wait() + except KeyboardInterrupt: + pass + else: + break + + +def _tempfilepager( + generator: t.Iterable[str], cmd: str, color: t.Optional[bool] +) -> None: + """Page through text by invoking a program on a temporary file.""" + import tempfile + + fd, filename = tempfile.mkstemp() + # TODO: This never terminates if the passed generator never terminates. + text = "".join(generator) + if not color: + text = strip_ansi(text) + encoding = get_best_encoding(sys.stdout) + with open_stream(filename, "wb")[0] as f: + f.write(text.encode(encoding)) + try: + os.system(f'{cmd} "{filename}"') + finally: + os.close(fd) + os.unlink(filename) + + +def _nullpager( + stream: t.TextIO, generator: t.Iterable[str], color: t.Optional[bool] +) -> None: + """Simply print unformatted text. This is the ultimate fallback.""" + for text in generator: + if not color: + text = strip_ansi(text) + stream.write(text) + + +class Editor: + def __init__( + self, + editor: t.Optional[str] = None, + env: t.Optional[t.Mapping[str, str]] = None, + require_save: bool = True, + extension: str = ".txt", + ) -> None: + self.editor = editor + self.env = env + self.require_save = require_save + self.extension = extension + + def get_editor(self) -> str: + if self.editor is not None: + return self.editor + for key in "VISUAL", "EDITOR": + rv = os.environ.get(key) + if rv: + return rv + if WIN: + return "notepad" + for editor in "sensible-editor", "vim", "nano": + if os.system(f"which {editor} >/dev/null 2>&1") == 0: + return editor + return "vi" + + def edit_file(self, filename: str) -> None: + import subprocess + + editor = self.get_editor() + environ: t.Optional[t.Dict[str, str]] = None + + if self.env: + environ = os.environ.copy() + environ.update(self.env) + + try: + c = subprocess.Popen(f'{editor} "{filename}"', env=environ, shell=True) + exit_code = c.wait() + if exit_code != 0: + raise ClickException( + _("{editor}: Editing failed").format(editor=editor) + ) + except OSError as e: + raise ClickException( + _("{editor}: Editing failed: {e}").format(editor=editor, e=e) + ) from e + + def edit(self, text: t.Optional[t.AnyStr]) -> t.Optional[t.AnyStr]: + import tempfile + + if not text: + data = b"" + elif isinstance(text, (bytes, bytearray)): + data = text + else: + if text and not text.endswith("\n"): + text += "\n" + + if WIN: + data = text.replace("\n", "\r\n").encode("utf-8-sig") + else: + data = text.encode("utf-8") + + fd, name = tempfile.mkstemp(prefix="editor-", suffix=self.extension) + f: t.BinaryIO + + try: + with os.fdopen(fd, "wb") as f: + f.write(data) + + # If the filesystem resolution is 1 second, like Mac OS + # 10.12 Extended, or 2 seconds, like FAT32, and the editor + # closes very fast, require_save can fail. Set the modified + # time to be 2 seconds in the past to work around this. + os.utime(name, (os.path.getatime(name), os.path.getmtime(name) - 2)) + # Depending on the resolution, the exact value might not be + # recorded, so get the new recorded value. + timestamp = os.path.getmtime(name) + + self.edit_file(name) + + if self.require_save and os.path.getmtime(name) == timestamp: + return None + + with open(name, "rb") as f: + rv = f.read() + + if isinstance(text, (bytes, bytearray)): + return rv + + return rv.decode("utf-8-sig").replace("\r\n", "\n") # type: ignore + finally: + os.unlink(name) + + +def open_url(url: str, wait: bool = False, locate: bool = False) -> int: + import subprocess + + def _unquote_file(url: str) -> str: + from urllib.parse import unquote + + if url.startswith("file://"): + url = unquote(url[7:]) + + return url + + if sys.platform == "darwin": + args = ["open"] + if wait: + args.append("-W") + if locate: + args.append("-R") + args.append(_unquote_file(url)) + null = open("/dev/null", "w") + try: + return subprocess.Popen(args, stderr=null).wait() + finally: + null.close() + elif WIN: + if locate: + url = _unquote_file(url.replace('"', "")) + args = f'explorer /select,"{url}"' + else: + url = url.replace('"', "") + wait_str = "/WAIT" if wait else "" + args = f'start {wait_str} "" "{url}"' + return os.system(args) + elif CYGWIN: + if locate: + url = os.path.dirname(_unquote_file(url).replace('"', "")) + args = f'cygstart "{url}"' + else: + url = url.replace('"', "") + wait_str = "-w" if wait else "" + args = f'cygstart {wait_str} "{url}"' + return os.system(args) + + try: + if locate: + url = os.path.dirname(_unquote_file(url)) or "." + else: + url = _unquote_file(url) + c = subprocess.Popen(["xdg-open", url]) + if wait: + return c.wait() + return 0 + except OSError: + if url.startswith(("http://", "https://")) and not locate and not wait: + import webbrowser + + webbrowser.open(url) + return 0 + return 1 + + +def _translate_ch_to_exc(ch: str) -> t.Optional[BaseException]: + if ch == "\x03": + raise KeyboardInterrupt() + + if ch == "\x04" and not WIN: # Unix-like, Ctrl+D + raise EOFError() + + if ch == "\x1a" and WIN: # Windows, Ctrl+Z + raise EOFError() + + return None + + +if WIN: + import msvcrt + + @contextlib.contextmanager + def raw_terminal() -> t.Iterator[int]: + yield -1 + + def getchar(echo: bool) -> str: + # The function `getch` will return a bytes object corresponding to + # the pressed character. Since Windows 10 build 1803, it will also + # return \x00 when called a second time after pressing a regular key. + # + # `getwch` does not share this probably-bugged behavior. Moreover, it + # returns a Unicode object by default, which is what we want. + # + # Either of these functions will return \x00 or \xe0 to indicate + # a special key, and you need to call the same function again to get + # the "rest" of the code. The fun part is that \u00e0 is + # "latin small letter a with grave", so if you type that on a French + # keyboard, you _also_ get a \xe0. + # E.g., consider the Up arrow. This returns \xe0 and then \x48. The + # resulting Unicode string reads as "a with grave" + "capital H". + # This is indistinguishable from when the user actually types + # "a with grave" and then "capital H". + # + # When \xe0 is returned, we assume it's part of a special-key sequence + # and call `getwch` again, but that means that when the user types + # the \u00e0 character, `getchar` doesn't return until a second + # character is typed. + # The alternative is returning immediately, but that would mess up + # cross-platform handling of arrow keys and others that start with + # \xe0. Another option is using `getch`, but then we can't reliably + # read non-ASCII characters, because return values of `getch` are + # limited to the current 8-bit codepage. + # + # Anyway, Click doesn't claim to do this Right(tm), and using `getwch` + # is doing the right thing in more situations than with `getch`. + func: t.Callable[[], str] + + if echo: + func = msvcrt.getwche # type: ignore + else: + func = msvcrt.getwch # type: ignore + + rv = func() + + if rv in ("\x00", "\xe0"): + # \x00 and \xe0 are control characters that indicate special key, + # see above. + rv += func() + + _translate_ch_to_exc(rv) + return rv + +else: + import tty + import termios + + @contextlib.contextmanager + def raw_terminal() -> t.Iterator[int]: + f: t.Optional[t.TextIO] + fd: int + + if not isatty(sys.stdin): + f = open("/dev/tty") + fd = f.fileno() + else: + fd = sys.stdin.fileno() + f = None + + try: + old_settings = termios.tcgetattr(fd) + + try: + tty.setraw(fd) + yield fd + finally: + termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) + sys.stdout.flush() + + if f is not None: + f.close() + except termios.error: + pass + + def getchar(echo: bool) -> str: + with raw_terminal() as fd: + ch = os.read(fd, 32).decode(get_best_encoding(sys.stdin), "replace") + + if echo and isatty(sys.stdout): + sys.stdout.write(ch) + + _translate_ch_to_exc(ch) + return ch diff --git a/venv/Lib/site-packages/click/_textwrap.py b/venv/Lib/site-packages/click/_textwrap.py new file mode 100644 index 00000000..b47dcbd4 --- /dev/null +++ b/venv/Lib/site-packages/click/_textwrap.py @@ -0,0 +1,49 @@ +import textwrap +import typing as t +from contextlib import contextmanager + + +class TextWrapper(textwrap.TextWrapper): + def _handle_long_word( + self, + reversed_chunks: t.List[str], + cur_line: t.List[str], + cur_len: int, + width: int, + ) -> None: + space_left = max(width - cur_len, 1) + + if self.break_long_words: + last = reversed_chunks[-1] + cut = last[:space_left] + res = last[space_left:] + cur_line.append(cut) + reversed_chunks[-1] = res + elif not cur_line: + cur_line.append(reversed_chunks.pop()) + + @contextmanager + def extra_indent(self, indent: str) -> t.Iterator[None]: + old_initial_indent = self.initial_indent + old_subsequent_indent = self.subsequent_indent + self.initial_indent += indent + self.subsequent_indent += indent + + try: + yield + finally: + self.initial_indent = old_initial_indent + self.subsequent_indent = old_subsequent_indent + + def indent_only(self, text: str) -> str: + rv = [] + + for idx, line in enumerate(text.splitlines()): + indent = self.initial_indent + + if idx > 0: + indent = self.subsequent_indent + + rv.append(f"{indent}{line}") + + return "\n".join(rv) diff --git a/venv/Lib/site-packages/click/_winconsole.py b/venv/Lib/site-packages/click/_winconsole.py new file mode 100644 index 00000000..6b20df31 --- /dev/null +++ b/venv/Lib/site-packages/click/_winconsole.py @@ -0,0 +1,279 @@ +# This module is based on the excellent work by Adam BartoÅ¡ who +# provided a lot of what went into the implementation here in +# the discussion to issue1602 in the Python bug tracker. +# +# There are some general differences in regards to how this works +# compared to the original patches as we do not need to patch +# the entire interpreter but just work in our little world of +# echo and prompt. +import io +import sys +import time +import typing as t +from ctypes import byref +from ctypes import c_char +from ctypes import c_char_p +from ctypes import c_int +from ctypes import c_ssize_t +from ctypes import c_ulong +from ctypes import c_void_p +from ctypes import POINTER +from ctypes import py_object +from ctypes import Structure +from ctypes.wintypes import DWORD +from ctypes.wintypes import HANDLE +from ctypes.wintypes import LPCWSTR +from ctypes.wintypes import LPWSTR + +from ._compat import _NonClosingTextIOWrapper + +assert sys.platform == "win32" +import msvcrt # noqa: E402 +from ctypes import windll # noqa: E402 +from ctypes import WINFUNCTYPE # noqa: E402 + +c_ssize_p = POINTER(c_ssize_t) + +kernel32 = windll.kernel32 +GetStdHandle = kernel32.GetStdHandle +ReadConsoleW = kernel32.ReadConsoleW +WriteConsoleW = kernel32.WriteConsoleW +GetConsoleMode = kernel32.GetConsoleMode +GetLastError = kernel32.GetLastError +GetCommandLineW = WINFUNCTYPE(LPWSTR)(("GetCommandLineW", windll.kernel32)) +CommandLineToArgvW = WINFUNCTYPE(POINTER(LPWSTR), LPCWSTR, POINTER(c_int))( + ("CommandLineToArgvW", windll.shell32) +) +LocalFree = WINFUNCTYPE(c_void_p, c_void_p)(("LocalFree", windll.kernel32)) + +STDIN_HANDLE = GetStdHandle(-10) +STDOUT_HANDLE = GetStdHandle(-11) +STDERR_HANDLE = GetStdHandle(-12) + +PyBUF_SIMPLE = 0 +PyBUF_WRITABLE = 1 + +ERROR_SUCCESS = 0 +ERROR_NOT_ENOUGH_MEMORY = 8 +ERROR_OPERATION_ABORTED = 995 + +STDIN_FILENO = 0 +STDOUT_FILENO = 1 +STDERR_FILENO = 2 + +EOF = b"\x1a" +MAX_BYTES_WRITTEN = 32767 + +try: + from ctypes import pythonapi +except ImportError: + # On PyPy we cannot get buffers so our ability to operate here is + # severely limited. + get_buffer = None +else: + + class Py_buffer(Structure): + _fields_ = [ + ("buf", c_void_p), + ("obj", py_object), + ("len", c_ssize_t), + ("itemsize", c_ssize_t), + ("readonly", c_int), + ("ndim", c_int), + ("format", c_char_p), + ("shape", c_ssize_p), + ("strides", c_ssize_p), + ("suboffsets", c_ssize_p), + ("internal", c_void_p), + ] + + PyObject_GetBuffer = pythonapi.PyObject_GetBuffer + PyBuffer_Release = pythonapi.PyBuffer_Release + + def get_buffer(obj, writable=False): + buf = Py_buffer() + flags = PyBUF_WRITABLE if writable else PyBUF_SIMPLE + PyObject_GetBuffer(py_object(obj), byref(buf), flags) + + try: + buffer_type = c_char * buf.len + return buffer_type.from_address(buf.buf) + finally: + PyBuffer_Release(byref(buf)) + + +class _WindowsConsoleRawIOBase(io.RawIOBase): + def __init__(self, handle): + self.handle = handle + + def isatty(self): + super().isatty() + return True + + +class _WindowsConsoleReader(_WindowsConsoleRawIOBase): + def readable(self): + return True + + def readinto(self, b): + bytes_to_be_read = len(b) + if not bytes_to_be_read: + return 0 + elif bytes_to_be_read % 2: + raise ValueError( + "cannot read odd number of bytes from UTF-16-LE encoded console" + ) + + buffer = get_buffer(b, writable=True) + code_units_to_be_read = bytes_to_be_read // 2 + code_units_read = c_ulong() + + rv = ReadConsoleW( + HANDLE(self.handle), + buffer, + code_units_to_be_read, + byref(code_units_read), + None, + ) + if GetLastError() == ERROR_OPERATION_ABORTED: + # wait for KeyboardInterrupt + time.sleep(0.1) + if not rv: + raise OSError(f"Windows error: {GetLastError()}") + + if buffer[0] == EOF: + return 0 + return 2 * code_units_read.value + + +class _WindowsConsoleWriter(_WindowsConsoleRawIOBase): + def writable(self): + return True + + @staticmethod + def _get_error_message(errno): + if errno == ERROR_SUCCESS: + return "ERROR_SUCCESS" + elif errno == ERROR_NOT_ENOUGH_MEMORY: + return "ERROR_NOT_ENOUGH_MEMORY" + return f"Windows error {errno}" + + def write(self, b): + bytes_to_be_written = len(b) + buf = get_buffer(b) + code_units_to_be_written = min(bytes_to_be_written, MAX_BYTES_WRITTEN) // 2 + code_units_written = c_ulong() + + WriteConsoleW( + HANDLE(self.handle), + buf, + code_units_to_be_written, + byref(code_units_written), + None, + ) + bytes_written = 2 * code_units_written.value + + if bytes_written == 0 and bytes_to_be_written > 0: + raise OSError(self._get_error_message(GetLastError())) + return bytes_written + + +class ConsoleStream: + def __init__(self, text_stream: t.TextIO, byte_stream: t.BinaryIO) -> None: + self._text_stream = text_stream + self.buffer = byte_stream + + @property + def name(self) -> str: + return self.buffer.name + + def write(self, x: t.AnyStr) -> int: + if isinstance(x, str): + return self._text_stream.write(x) + try: + self.flush() + except Exception: + pass + return self.buffer.write(x) + + def writelines(self, lines: t.Iterable[t.AnyStr]) -> None: + for line in lines: + self.write(line) + + def __getattr__(self, name: str) -> t.Any: + return getattr(self._text_stream, name) + + def isatty(self) -> bool: + return self.buffer.isatty() + + def __repr__(self): + return f"" + + +def _get_text_stdin(buffer_stream: t.BinaryIO) -> t.TextIO: + text_stream = _NonClosingTextIOWrapper( + io.BufferedReader(_WindowsConsoleReader(STDIN_HANDLE)), + "utf-16-le", + "strict", + line_buffering=True, + ) + return t.cast(t.TextIO, ConsoleStream(text_stream, buffer_stream)) + + +def _get_text_stdout(buffer_stream: t.BinaryIO) -> t.TextIO: + text_stream = _NonClosingTextIOWrapper( + io.BufferedWriter(_WindowsConsoleWriter(STDOUT_HANDLE)), + "utf-16-le", + "strict", + line_buffering=True, + ) + return t.cast(t.TextIO, ConsoleStream(text_stream, buffer_stream)) + + +def _get_text_stderr(buffer_stream: t.BinaryIO) -> t.TextIO: + text_stream = _NonClosingTextIOWrapper( + io.BufferedWriter(_WindowsConsoleWriter(STDERR_HANDLE)), + "utf-16-le", + "strict", + line_buffering=True, + ) + return t.cast(t.TextIO, ConsoleStream(text_stream, buffer_stream)) + + +_stream_factories: t.Mapping[int, t.Callable[[t.BinaryIO], t.TextIO]] = { + 0: _get_text_stdin, + 1: _get_text_stdout, + 2: _get_text_stderr, +} + + +def _is_console(f: t.TextIO) -> bool: + if not hasattr(f, "fileno"): + return False + + try: + fileno = f.fileno() + except (OSError, io.UnsupportedOperation): + return False + + handle = msvcrt.get_osfhandle(fileno) + return bool(GetConsoleMode(handle, byref(DWORD()))) + + +def _get_windows_console_stream( + f: t.TextIO, encoding: t.Optional[str], errors: t.Optional[str] +) -> t.Optional[t.TextIO]: + if ( + get_buffer is not None + and encoding in {"utf-16-le", None} + and errors in {"strict", None} + and _is_console(f) + ): + func = _stream_factories.get(f.fileno()) + if func is not None: + b = getattr(f, "buffer", None) + + if b is None: + return None + + return func(b) diff --git a/venv/Lib/site-packages/click/core.py b/venv/Lib/site-packages/click/core.py new file mode 100644 index 00000000..cc65e896 --- /dev/null +++ b/venv/Lib/site-packages/click/core.py @@ -0,0 +1,3042 @@ +import enum +import errno +import inspect +import os +import sys +import typing as t +from collections import abc +from contextlib import contextmanager +from contextlib import ExitStack +from functools import update_wrapper +from gettext import gettext as _ +from gettext import ngettext +from itertools import repeat +from types import TracebackType + +from . import types +from .exceptions import Abort +from .exceptions import BadParameter +from .exceptions import ClickException +from .exceptions import Exit +from .exceptions import MissingParameter +from .exceptions import UsageError +from .formatting import HelpFormatter +from .formatting import join_options +from .globals import pop_context +from .globals import push_context +from .parser import _flag_needs_value +from .parser import OptionParser +from .parser import split_opt +from .termui import confirm +from .termui import prompt +from .termui import style +from .utils import _detect_program_name +from .utils import _expand_args +from .utils import echo +from .utils import make_default_short_help +from .utils import make_str +from .utils import PacifyFlushWrapper + +if t.TYPE_CHECKING: + import typing_extensions as te + from .shell_completion import CompletionItem + +F = t.TypeVar("F", bound=t.Callable[..., t.Any]) +V = t.TypeVar("V") + + +def _complete_visible_commands( + ctx: "Context", incomplete: str +) -> t.Iterator[t.Tuple[str, "Command"]]: + """List all the subcommands of a group that start with the + incomplete value and aren't hidden. + + :param ctx: Invocation context for the group. + :param incomplete: Value being completed. May be empty. + """ + multi = t.cast(MultiCommand, ctx.command) + + for name in multi.list_commands(ctx): + if name.startswith(incomplete): + command = multi.get_command(ctx, name) + + if command is not None and not command.hidden: + yield name, command + + +def _check_multicommand( + base_command: "MultiCommand", cmd_name: str, cmd: "Command", register: bool = False +) -> None: + if not base_command.chain or not isinstance(cmd, MultiCommand): + return + if register: + hint = ( + "It is not possible to add multi commands as children to" + " another multi command that is in chain mode." + ) + else: + hint = ( + "Found a multi command as subcommand to a multi command" + " that is in chain mode. This is not supported." + ) + raise RuntimeError( + f"{hint}. Command {base_command.name!r} is set to chain and" + f" {cmd_name!r} was added as a subcommand but it in itself is a" + f" multi command. ({cmd_name!r} is a {type(cmd).__name__}" + f" within a chained {type(base_command).__name__} named" + f" {base_command.name!r})." + ) + + +def batch(iterable: t.Iterable[V], batch_size: int) -> t.List[t.Tuple[V, ...]]: + return list(zip(*repeat(iter(iterable), batch_size))) + + +@contextmanager +def augment_usage_errors( + ctx: "Context", param: t.Optional["Parameter"] = None +) -> t.Iterator[None]: + """Context manager that attaches extra information to exceptions.""" + try: + yield + except BadParameter as e: + if e.ctx is None: + e.ctx = ctx + if param is not None and e.param is None: + e.param = param + raise + except UsageError as e: + if e.ctx is None: + e.ctx = ctx + raise + + +def iter_params_for_processing( + invocation_order: t.Sequence["Parameter"], + declaration_order: t.Sequence["Parameter"], +) -> t.List["Parameter"]: + """Given a sequence of parameters in the order as should be considered + for processing and an iterable of parameters that exist, this returns + a list in the correct order as they should be processed. + """ + + def sort_key(item: "Parameter") -> t.Tuple[bool, float]: + try: + idx: float = invocation_order.index(item) + except ValueError: + idx = float("inf") + + return not item.is_eager, idx + + return sorted(declaration_order, key=sort_key) + + +class ParameterSource(enum.Enum): + """This is an :class:`~enum.Enum` that indicates the source of a + parameter's value. + + Use :meth:`click.Context.get_parameter_source` to get the + source for a parameter by name. + + .. versionchanged:: 8.0 + Use :class:`~enum.Enum` and drop the ``validate`` method. + + .. versionchanged:: 8.0 + Added the ``PROMPT`` value. + """ + + COMMANDLINE = enum.auto() + """The value was provided by the command line args.""" + ENVIRONMENT = enum.auto() + """The value was provided with an environment variable.""" + DEFAULT = enum.auto() + """Used the default specified by the parameter.""" + DEFAULT_MAP = enum.auto() + """Used a default provided by :attr:`Context.default_map`.""" + PROMPT = enum.auto() + """Used a prompt to confirm a default or provide a value.""" + + +class Context: + """The context is a special internal object that holds state relevant + for the script execution at every single level. It's normally invisible + to commands unless they opt-in to getting access to it. + + The context is useful as it can pass internal objects around and can + control special execution features such as reading data from + environment variables. + + A context can be used as context manager in which case it will call + :meth:`close` on teardown. + + :param command: the command class for this context. + :param parent: the parent context. + :param info_name: the info name for this invocation. Generally this + is the most descriptive name for the script or + command. For the toplevel script it is usually + the name of the script, for commands below it it's + the name of the script. + :param obj: an arbitrary object of user data. + :param auto_envvar_prefix: the prefix to use for automatic environment + variables. If this is `None` then reading + from environment variables is disabled. This + does not affect manually set environment + variables which are always read. + :param default_map: a dictionary (like object) with default values + for parameters. + :param terminal_width: the width of the terminal. The default is + inherit from parent context. If no context + defines the terminal width then auto + detection will be applied. + :param max_content_width: the maximum width for content rendered by + Click (this currently only affects help + pages). This defaults to 80 characters if + not overridden. In other words: even if the + terminal is larger than that, Click will not + format things wider than 80 characters by + default. In addition to that, formatters might + add some safety mapping on the right. + :param resilient_parsing: if this flag is enabled then Click will + parse without any interactivity or callback + invocation. Default values will also be + ignored. This is useful for implementing + things such as completion support. + :param allow_extra_args: if this is set to `True` then extra arguments + at the end will not raise an error and will be + kept on the context. The default is to inherit + from the command. + :param allow_interspersed_args: if this is set to `False` then options + and arguments cannot be mixed. The + default is to inherit from the command. + :param ignore_unknown_options: instructs click to ignore options it does + not know and keeps them for later + processing. + :param help_option_names: optionally a list of strings that define how + the default help parameter is named. The + default is ``['--help']``. + :param token_normalize_func: an optional function that is used to + normalize tokens (options, choices, + etc.). This for instance can be used to + implement case insensitive behavior. + :param color: controls if the terminal supports ANSI colors or not. The + default is autodetection. This is only needed if ANSI + codes are used in texts that Click prints which is by + default not the case. This for instance would affect + help output. + :param show_default: Show the default value for commands. If this + value is not set, it defaults to the value from the parent + context. ``Command.show_default`` overrides this default for the + specific command. + + .. versionchanged:: 8.1 + The ``show_default`` parameter is overridden by + ``Command.show_default``, instead of the other way around. + + .. versionchanged:: 8.0 + The ``show_default`` parameter defaults to the value from the + parent context. + + .. versionchanged:: 7.1 + Added the ``show_default`` parameter. + + .. versionchanged:: 4.0 + Added the ``color``, ``ignore_unknown_options``, and + ``max_content_width`` parameters. + + .. versionchanged:: 3.0 + Added the ``allow_extra_args`` and ``allow_interspersed_args`` + parameters. + + .. versionchanged:: 2.0 + Added the ``resilient_parsing``, ``help_option_names``, and + ``token_normalize_func`` parameters. + """ + + #: The formatter class to create with :meth:`make_formatter`. + #: + #: .. versionadded:: 8.0 + formatter_class: t.Type["HelpFormatter"] = HelpFormatter + + def __init__( + self, + command: "Command", + parent: t.Optional["Context"] = None, + info_name: t.Optional[str] = None, + obj: t.Optional[t.Any] = None, + auto_envvar_prefix: t.Optional[str] = None, + default_map: t.Optional[t.MutableMapping[str, t.Any]] = None, + terminal_width: t.Optional[int] = None, + max_content_width: t.Optional[int] = None, + resilient_parsing: bool = False, + allow_extra_args: t.Optional[bool] = None, + allow_interspersed_args: t.Optional[bool] = None, + ignore_unknown_options: t.Optional[bool] = None, + help_option_names: t.Optional[t.List[str]] = None, + token_normalize_func: t.Optional[t.Callable[[str], str]] = None, + color: t.Optional[bool] = None, + show_default: t.Optional[bool] = None, + ) -> None: + #: the parent context or `None` if none exists. + self.parent = parent + #: the :class:`Command` for this context. + self.command = command + #: the descriptive information name + self.info_name = info_name + #: Map of parameter names to their parsed values. Parameters + #: with ``expose_value=False`` are not stored. + self.params: t.Dict[str, t.Any] = {} + #: the leftover arguments. + self.args: t.List[str] = [] + #: protected arguments. These are arguments that are prepended + #: to `args` when certain parsing scenarios are encountered but + #: must be never propagated to another arguments. This is used + #: to implement nested parsing. + self.protected_args: t.List[str] = [] + #: the collected prefixes of the command's options. + self._opt_prefixes: t.Set[str] = set(parent._opt_prefixes) if parent else set() + + if obj is None and parent is not None: + obj = parent.obj + + #: the user object stored. + self.obj: t.Any = obj + self._meta: t.Dict[str, t.Any] = getattr(parent, "meta", {}) + + #: A dictionary (-like object) with defaults for parameters. + if ( + default_map is None + and info_name is not None + and parent is not None + and parent.default_map is not None + ): + default_map = parent.default_map.get(info_name) + + self.default_map: t.Optional[t.MutableMapping[str, t.Any]] = default_map + + #: This flag indicates if a subcommand is going to be executed. A + #: group callback can use this information to figure out if it's + #: being executed directly or because the execution flow passes + #: onwards to a subcommand. By default it's None, but it can be + #: the name of the subcommand to execute. + #: + #: If chaining is enabled this will be set to ``'*'`` in case + #: any commands are executed. It is however not possible to + #: figure out which ones. If you require this knowledge you + #: should use a :func:`result_callback`. + self.invoked_subcommand: t.Optional[str] = None + + if terminal_width is None and parent is not None: + terminal_width = parent.terminal_width + + #: The width of the terminal (None is autodetection). + self.terminal_width: t.Optional[int] = terminal_width + + if max_content_width is None and parent is not None: + max_content_width = parent.max_content_width + + #: The maximum width of formatted content (None implies a sensible + #: default which is 80 for most things). + self.max_content_width: t.Optional[int] = max_content_width + + if allow_extra_args is None: + allow_extra_args = command.allow_extra_args + + #: Indicates if the context allows extra args or if it should + #: fail on parsing. + #: + #: .. versionadded:: 3.0 + self.allow_extra_args = allow_extra_args + + if allow_interspersed_args is None: + allow_interspersed_args = command.allow_interspersed_args + + #: Indicates if the context allows mixing of arguments and + #: options or not. + #: + #: .. versionadded:: 3.0 + self.allow_interspersed_args: bool = allow_interspersed_args + + if ignore_unknown_options is None: + ignore_unknown_options = command.ignore_unknown_options + + #: Instructs click to ignore options that a command does not + #: understand and will store it on the context for later + #: processing. This is primarily useful for situations where you + #: want to call into external programs. Generally this pattern is + #: strongly discouraged because it's not possibly to losslessly + #: forward all arguments. + #: + #: .. versionadded:: 4.0 + self.ignore_unknown_options: bool = ignore_unknown_options + + if help_option_names is None: + if parent is not None: + help_option_names = parent.help_option_names + else: + help_option_names = ["--help"] + + #: The names for the help options. + self.help_option_names: t.List[str] = help_option_names + + if token_normalize_func is None and parent is not None: + token_normalize_func = parent.token_normalize_func + + #: An optional normalization function for tokens. This is + #: options, choices, commands etc. + self.token_normalize_func: t.Optional[ + t.Callable[[str], str] + ] = token_normalize_func + + #: Indicates if resilient parsing is enabled. In that case Click + #: will do its best to not cause any failures and default values + #: will be ignored. Useful for completion. + self.resilient_parsing: bool = resilient_parsing + + # If there is no envvar prefix yet, but the parent has one and + # the command on this level has a name, we can expand the envvar + # prefix automatically. + if auto_envvar_prefix is None: + if ( + parent is not None + and parent.auto_envvar_prefix is not None + and self.info_name is not None + ): + auto_envvar_prefix = ( + f"{parent.auto_envvar_prefix}_{self.info_name.upper()}" + ) + else: + auto_envvar_prefix = auto_envvar_prefix.upper() + + if auto_envvar_prefix is not None: + auto_envvar_prefix = auto_envvar_prefix.replace("-", "_") + + self.auto_envvar_prefix: t.Optional[str] = auto_envvar_prefix + + if color is None and parent is not None: + color = parent.color + + #: Controls if styling output is wanted or not. + self.color: t.Optional[bool] = color + + if show_default is None and parent is not None: + show_default = parent.show_default + + #: Show option default values when formatting help text. + self.show_default: t.Optional[bool] = show_default + + self._close_callbacks: t.List[t.Callable[[], t.Any]] = [] + self._depth = 0 + self._parameter_source: t.Dict[str, ParameterSource] = {} + self._exit_stack = ExitStack() + + def to_info_dict(self) -> t.Dict[str, t.Any]: + """Gather information that could be useful for a tool generating + user-facing documentation. This traverses the entire CLI + structure. + + .. code-block:: python + + with Context(cli) as ctx: + info = ctx.to_info_dict() + + .. versionadded:: 8.0 + """ + return { + "command": self.command.to_info_dict(self), + "info_name": self.info_name, + "allow_extra_args": self.allow_extra_args, + "allow_interspersed_args": self.allow_interspersed_args, + "ignore_unknown_options": self.ignore_unknown_options, + "auto_envvar_prefix": self.auto_envvar_prefix, + } + + def __enter__(self) -> "Context": + self._depth += 1 + push_context(self) + return self + + def __exit__( + self, + exc_type: t.Optional[t.Type[BaseException]], + exc_value: t.Optional[BaseException], + tb: t.Optional[TracebackType], + ) -> None: + self._depth -= 1 + if self._depth == 0: + self.close() + pop_context() + + @contextmanager + def scope(self, cleanup: bool = True) -> t.Iterator["Context"]: + """This helper method can be used with the context object to promote + it to the current thread local (see :func:`get_current_context`). + The default behavior of this is to invoke the cleanup functions which + can be disabled by setting `cleanup` to `False`. The cleanup + functions are typically used for things such as closing file handles. + + If the cleanup is intended the context object can also be directly + used as a context manager. + + Example usage:: + + with ctx.scope(): + assert get_current_context() is ctx + + This is equivalent:: + + with ctx: + assert get_current_context() is ctx + + .. versionadded:: 5.0 + + :param cleanup: controls if the cleanup functions should be run or + not. The default is to run these functions. In + some situations the context only wants to be + temporarily pushed in which case this can be disabled. + Nested pushes automatically defer the cleanup. + """ + if not cleanup: + self._depth += 1 + try: + with self as rv: + yield rv + finally: + if not cleanup: + self._depth -= 1 + + @property + def meta(self) -> t.Dict[str, t.Any]: + """This is a dictionary which is shared with all the contexts + that are nested. It exists so that click utilities can store some + state here if they need to. It is however the responsibility of + that code to manage this dictionary well. + + The keys are supposed to be unique dotted strings. For instance + module paths are a good choice for it. What is stored in there is + irrelevant for the operation of click. However what is important is + that code that places data here adheres to the general semantics of + the system. + + Example usage:: + + LANG_KEY = f'{__name__}.lang' + + def set_language(value): + ctx = get_current_context() + ctx.meta[LANG_KEY] = value + + def get_language(): + return get_current_context().meta.get(LANG_KEY, 'en_US') + + .. versionadded:: 5.0 + """ + return self._meta + + def make_formatter(self) -> HelpFormatter: + """Creates the :class:`~click.HelpFormatter` for the help and + usage output. + + To quickly customize the formatter class used without overriding + this method, set the :attr:`formatter_class` attribute. + + .. versionchanged:: 8.0 + Added the :attr:`formatter_class` attribute. + """ + return self.formatter_class( + width=self.terminal_width, max_width=self.max_content_width + ) + + def with_resource(self, context_manager: t.ContextManager[V]) -> V: + """Register a resource as if it were used in a ``with`` + statement. The resource will be cleaned up when the context is + popped. + + Uses :meth:`contextlib.ExitStack.enter_context`. It calls the + resource's ``__enter__()`` method and returns the result. When + the context is popped, it closes the stack, which calls the + resource's ``__exit__()`` method. + + To register a cleanup function for something that isn't a + context manager, use :meth:`call_on_close`. Or use something + from :mod:`contextlib` to turn it into a context manager first. + + .. code-block:: python + + @click.group() + @click.option("--name") + @click.pass_context + def cli(ctx): + ctx.obj = ctx.with_resource(connect_db(name)) + + :param context_manager: The context manager to enter. + :return: Whatever ``context_manager.__enter__()`` returns. + + .. versionadded:: 8.0 + """ + return self._exit_stack.enter_context(context_manager) + + def call_on_close(self, f: t.Callable[..., t.Any]) -> t.Callable[..., t.Any]: + """Register a function to be called when the context tears down. + + This can be used to close resources opened during the script + execution. Resources that support Python's context manager + protocol which would be used in a ``with`` statement should be + registered with :meth:`with_resource` instead. + + :param f: The function to execute on teardown. + """ + return self._exit_stack.callback(f) + + def close(self) -> None: + """Invoke all close callbacks registered with + :meth:`call_on_close`, and exit all context managers entered + with :meth:`with_resource`. + """ + self._exit_stack.close() + # In case the context is reused, create a new exit stack. + self._exit_stack = ExitStack() + + @property + def command_path(self) -> str: + """The computed command path. This is used for the ``usage`` + information on the help page. It's automatically created by + combining the info names of the chain of contexts to the root. + """ + rv = "" + if self.info_name is not None: + rv = self.info_name + if self.parent is not None: + parent_command_path = [self.parent.command_path] + + if isinstance(self.parent.command, Command): + for param in self.parent.command.get_params(self): + parent_command_path.extend(param.get_usage_pieces(self)) + + rv = f"{' '.join(parent_command_path)} {rv}" + return rv.lstrip() + + def find_root(self) -> "Context": + """Finds the outermost context.""" + node = self + while node.parent is not None: + node = node.parent + return node + + def find_object(self, object_type: t.Type[V]) -> t.Optional[V]: + """Finds the closest object of a given type.""" + node: t.Optional["Context"] = self + + while node is not None: + if isinstance(node.obj, object_type): + return node.obj + + node = node.parent + + return None + + def ensure_object(self, object_type: t.Type[V]) -> V: + """Like :meth:`find_object` but sets the innermost object to a + new instance of `object_type` if it does not exist. + """ + rv = self.find_object(object_type) + if rv is None: + self.obj = rv = object_type() + return rv + + @t.overload + def lookup_default( + self, name: str, call: "te.Literal[True]" = True + ) -> t.Optional[t.Any]: + ... + + @t.overload + def lookup_default( + self, name: str, call: "te.Literal[False]" = ... + ) -> t.Optional[t.Union[t.Any, t.Callable[[], t.Any]]]: + ... + + def lookup_default(self, name: str, call: bool = True) -> t.Optional[t.Any]: + """Get the default for a parameter from :attr:`default_map`. + + :param name: Name of the parameter. + :param call: If the default is a callable, call it. Disable to + return the callable instead. + + .. versionchanged:: 8.0 + Added the ``call`` parameter. + """ + if self.default_map is not None: + value = self.default_map.get(name) + + if call and callable(value): + return value() + + return value + + return None + + def fail(self, message: str) -> "te.NoReturn": + """Aborts the execution of the program with a specific error + message. + + :param message: the error message to fail with. + """ + raise UsageError(message, self) + + def abort(self) -> "te.NoReturn": + """Aborts the script.""" + raise Abort() + + def exit(self, code: int = 0) -> "te.NoReturn": + """Exits the application with a given exit code.""" + raise Exit(code) + + def get_usage(self) -> str: + """Helper method to get formatted usage string for the current + context and command. + """ + return self.command.get_usage(self) + + def get_help(self) -> str: + """Helper method to get formatted help page for the current + context and command. + """ + return self.command.get_help(self) + + def _make_sub_context(self, command: "Command") -> "Context": + """Create a new context of the same type as this context, but + for a new command. + + :meta private: + """ + return type(self)(command, info_name=command.name, parent=self) + + @t.overload + def invoke( + __self, # noqa: B902 + __callback: "t.Callable[..., V]", + *args: t.Any, + **kwargs: t.Any, + ) -> V: + ... + + @t.overload + def invoke( + __self, # noqa: B902 + __callback: "Command", + *args: t.Any, + **kwargs: t.Any, + ) -> t.Any: + ... + + def invoke( + __self, # noqa: B902 + __callback: t.Union["Command", "t.Callable[..., V]"], + *args: t.Any, + **kwargs: t.Any, + ) -> t.Union[t.Any, V]: + """Invokes a command callback in exactly the way it expects. There + are two ways to invoke this method: + + 1. the first argument can be a callback and all other arguments and + keyword arguments are forwarded directly to the function. + 2. the first argument is a click command object. In that case all + arguments are forwarded as well but proper click parameters + (options and click arguments) must be keyword arguments and Click + will fill in defaults. + + Note that before Click 3.2 keyword arguments were not properly filled + in against the intention of this code and no context was created. For + more information about this change and why it was done in a bugfix + release see :ref:`upgrade-to-3.2`. + + .. versionchanged:: 8.0 + All ``kwargs`` are tracked in :attr:`params` so they will be + passed if :meth:`forward` is called at multiple levels. + """ + if isinstance(__callback, Command): + other_cmd = __callback + + if other_cmd.callback is None: + raise TypeError( + "The given command does not have a callback that can be invoked." + ) + else: + __callback = t.cast("t.Callable[..., V]", other_cmd.callback) + + ctx = __self._make_sub_context(other_cmd) + + for param in other_cmd.params: + if param.name not in kwargs and param.expose_value: + kwargs[param.name] = param.type_cast_value( # type: ignore + ctx, param.get_default(ctx) + ) + + # Track all kwargs as params, so that forward() will pass + # them on in subsequent calls. + ctx.params.update(kwargs) + else: + ctx = __self + + with augment_usage_errors(__self): + with ctx: + return __callback(*args, **kwargs) + + def forward( + __self, __cmd: "Command", *args: t.Any, **kwargs: t.Any # noqa: B902 + ) -> t.Any: + """Similar to :meth:`invoke` but fills in default keyword + arguments from the current context if the other command expects + it. This cannot invoke callbacks directly, only other commands. + + .. versionchanged:: 8.0 + All ``kwargs`` are tracked in :attr:`params` so they will be + passed if ``forward`` is called at multiple levels. + """ + # Can only forward to other commands, not direct callbacks. + if not isinstance(__cmd, Command): + raise TypeError("Callback is not a command.") + + for param in __self.params: + if param not in kwargs: + kwargs[param] = __self.params[param] + + return __self.invoke(__cmd, *args, **kwargs) + + def set_parameter_source(self, name: str, source: ParameterSource) -> None: + """Set the source of a parameter. This indicates the location + from which the value of the parameter was obtained. + + :param name: The name of the parameter. + :param source: A member of :class:`~click.core.ParameterSource`. + """ + self._parameter_source[name] = source + + def get_parameter_source(self, name: str) -> t.Optional[ParameterSource]: + """Get the source of a parameter. This indicates the location + from which the value of the parameter was obtained. + + This can be useful for determining when a user specified a value + on the command line that is the same as the default value. It + will be :attr:`~click.core.ParameterSource.DEFAULT` only if the + value was actually taken from the default. + + :param name: The name of the parameter. + :rtype: ParameterSource + + .. versionchanged:: 8.0 + Returns ``None`` if the parameter was not provided from any + source. + """ + return self._parameter_source.get(name) + + +class BaseCommand: + """The base command implements the minimal API contract of commands. + Most code will never use this as it does not implement a lot of useful + functionality but it can act as the direct subclass of alternative + parsing methods that do not depend on the Click parser. + + For instance, this can be used to bridge Click and other systems like + argparse or docopt. + + Because base commands do not implement a lot of the API that other + parts of Click take for granted, they are not supported for all + operations. For instance, they cannot be used with the decorators + usually and they have no built-in callback system. + + .. versionchanged:: 2.0 + Added the `context_settings` parameter. + + :param name: the name of the command to use unless a group overrides it. + :param context_settings: an optional dictionary with defaults that are + passed to the context object. + """ + + #: The context class to create with :meth:`make_context`. + #: + #: .. versionadded:: 8.0 + context_class: t.Type[Context] = Context + #: the default for the :attr:`Context.allow_extra_args` flag. + allow_extra_args = False + #: the default for the :attr:`Context.allow_interspersed_args` flag. + allow_interspersed_args = True + #: the default for the :attr:`Context.ignore_unknown_options` flag. + ignore_unknown_options = False + + def __init__( + self, + name: t.Optional[str], + context_settings: t.Optional[t.MutableMapping[str, t.Any]] = None, + ) -> None: + #: the name the command thinks it has. Upon registering a command + #: on a :class:`Group` the group will default the command name + #: with this information. You should instead use the + #: :class:`Context`\'s :attr:`~Context.info_name` attribute. + self.name = name + + if context_settings is None: + context_settings = {} + + #: an optional dictionary with defaults passed to the context. + self.context_settings: t.MutableMapping[str, t.Any] = context_settings + + def to_info_dict(self, ctx: Context) -> t.Dict[str, t.Any]: + """Gather information that could be useful for a tool generating + user-facing documentation. This traverses the entire structure + below this command. + + Use :meth:`click.Context.to_info_dict` to traverse the entire + CLI structure. + + :param ctx: A :class:`Context` representing this command. + + .. versionadded:: 8.0 + """ + return {"name": self.name} + + def __repr__(self) -> str: + return f"<{self.__class__.__name__} {self.name}>" + + def get_usage(self, ctx: Context) -> str: + raise NotImplementedError("Base commands cannot get usage") + + def get_help(self, ctx: Context) -> str: + raise NotImplementedError("Base commands cannot get help") + + def make_context( + self, + info_name: t.Optional[str], + args: t.List[str], + parent: t.Optional[Context] = None, + **extra: t.Any, + ) -> Context: + """This function when given an info name and arguments will kick + off the parsing and create a new :class:`Context`. It does not + invoke the actual command callback though. + + To quickly customize the context class used without overriding + this method, set the :attr:`context_class` attribute. + + :param info_name: the info name for this invocation. Generally this + is the most descriptive name for the script or + command. For the toplevel script it's usually + the name of the script, for commands below it's + the name of the command. + :param args: the arguments to parse as list of strings. + :param parent: the parent context if available. + :param extra: extra keyword arguments forwarded to the context + constructor. + + .. versionchanged:: 8.0 + Added the :attr:`context_class` attribute. + """ + for key, value in self.context_settings.items(): + if key not in extra: + extra[key] = value + + ctx = self.context_class( + self, info_name=info_name, parent=parent, **extra # type: ignore + ) + + with ctx.scope(cleanup=False): + self.parse_args(ctx, args) + return ctx + + def parse_args(self, ctx: Context, args: t.List[str]) -> t.List[str]: + """Given a context and a list of arguments this creates the parser + and parses the arguments, then modifies the context as necessary. + This is automatically invoked by :meth:`make_context`. + """ + raise NotImplementedError("Base commands do not know how to parse arguments.") + + def invoke(self, ctx: Context) -> t.Any: + """Given a context, this invokes the command. The default + implementation is raising a not implemented error. + """ + raise NotImplementedError("Base commands are not invocable by default") + + def shell_complete(self, ctx: Context, incomplete: str) -> t.List["CompletionItem"]: + """Return a list of completions for the incomplete value. Looks + at the names of chained multi-commands. + + Any command could be part of a chained multi-command, so sibling + commands are valid at any point during command completion. Other + command classes will return more completions. + + :param ctx: Invocation context for this command. + :param incomplete: Value being completed. May be empty. + + .. versionadded:: 8.0 + """ + from click.shell_completion import CompletionItem + + results: t.List["CompletionItem"] = [] + + while ctx.parent is not None: + ctx = ctx.parent + + if isinstance(ctx.command, MultiCommand) and ctx.command.chain: + results.extend( + CompletionItem(name, help=command.get_short_help_str()) + for name, command in _complete_visible_commands(ctx, incomplete) + if name not in ctx.protected_args + ) + + return results + + @t.overload + def main( + self, + args: t.Optional[t.Sequence[str]] = None, + prog_name: t.Optional[str] = None, + complete_var: t.Optional[str] = None, + standalone_mode: "te.Literal[True]" = True, + **extra: t.Any, + ) -> "te.NoReturn": + ... + + @t.overload + def main( + self, + args: t.Optional[t.Sequence[str]] = None, + prog_name: t.Optional[str] = None, + complete_var: t.Optional[str] = None, + standalone_mode: bool = ..., + **extra: t.Any, + ) -> t.Any: + ... + + def main( + self, + args: t.Optional[t.Sequence[str]] = None, + prog_name: t.Optional[str] = None, + complete_var: t.Optional[str] = None, + standalone_mode: bool = True, + windows_expand_args: bool = True, + **extra: t.Any, + ) -> t.Any: + """This is the way to invoke a script with all the bells and + whistles as a command line application. This will always terminate + the application after a call. If this is not wanted, ``SystemExit`` + needs to be caught. + + This method is also available by directly calling the instance of + a :class:`Command`. + + :param args: the arguments that should be used for parsing. If not + provided, ``sys.argv[1:]`` is used. + :param prog_name: the program name that should be used. By default + the program name is constructed by taking the file + name from ``sys.argv[0]``. + :param complete_var: the environment variable that controls the + bash completion support. The default is + ``"__COMPLETE"`` with prog_name in + uppercase. + :param standalone_mode: the default behavior is to invoke the script + in standalone mode. Click will then + handle exceptions and convert them into + error messages and the function will never + return but shut down the interpreter. If + this is set to `False` they will be + propagated to the caller and the return + value of this function is the return value + of :meth:`invoke`. + :param windows_expand_args: Expand glob patterns, user dir, and + env vars in command line args on Windows. + :param extra: extra keyword arguments are forwarded to the context + constructor. See :class:`Context` for more information. + + .. versionchanged:: 8.0.1 + Added the ``windows_expand_args`` parameter to allow + disabling command line arg expansion on Windows. + + .. versionchanged:: 8.0 + When taking arguments from ``sys.argv`` on Windows, glob + patterns, user dir, and env vars are expanded. + + .. versionchanged:: 3.0 + Added the ``standalone_mode`` parameter. + """ + if args is None: + args = sys.argv[1:] + + if os.name == "nt" and windows_expand_args: + args = _expand_args(args) + else: + args = list(args) + + if prog_name is None: + prog_name = _detect_program_name() + + # Process shell completion requests and exit early. + self._main_shell_completion(extra, prog_name, complete_var) + + try: + try: + with self.make_context(prog_name, args, **extra) as ctx: + rv = self.invoke(ctx) + if not standalone_mode: + return rv + # it's not safe to `ctx.exit(rv)` here! + # note that `rv` may actually contain data like "1" which + # has obvious effects + # more subtle case: `rv=[None, None]` can come out of + # chained commands which all returned `None` -- so it's not + # even always obvious that `rv` indicates success/failure + # by its truthiness/falsiness + ctx.exit() + except (EOFError, KeyboardInterrupt) as e: + echo(file=sys.stderr) + raise Abort() from e + except ClickException as e: + if not standalone_mode: + raise + e.show() + sys.exit(e.exit_code) + except OSError as e: + if e.errno == errno.EPIPE: + sys.stdout = t.cast(t.TextIO, PacifyFlushWrapper(sys.stdout)) + sys.stderr = t.cast(t.TextIO, PacifyFlushWrapper(sys.stderr)) + sys.exit(1) + else: + raise + except Exit as e: + if standalone_mode: + sys.exit(e.exit_code) + else: + # in non-standalone mode, return the exit code + # note that this is only reached if `self.invoke` above raises + # an Exit explicitly -- thus bypassing the check there which + # would return its result + # the results of non-standalone execution may therefore be + # somewhat ambiguous: if there are codepaths which lead to + # `ctx.exit(1)` and to `return 1`, the caller won't be able to + # tell the difference between the two + return e.exit_code + except Abort: + if not standalone_mode: + raise + echo(_("Aborted!"), file=sys.stderr) + sys.exit(1) + + def _main_shell_completion( + self, + ctx_args: t.MutableMapping[str, t.Any], + prog_name: str, + complete_var: t.Optional[str] = None, + ) -> None: + """Check if the shell is asking for tab completion, process + that, then exit early. Called from :meth:`main` before the + program is invoked. + + :param prog_name: Name of the executable in the shell. + :param complete_var: Name of the environment variable that holds + the completion instruction. Defaults to + ``_{PROG_NAME}_COMPLETE``. + + .. versionchanged:: 8.2.0 + Dots (``.``) in ``prog_name`` are replaced with underscores (``_``). + """ + if complete_var is None: + complete_name = prog_name.replace("-", "_").replace(".", "_") + complete_var = f"_{complete_name}_COMPLETE".upper() + + instruction = os.environ.get(complete_var) + + if not instruction: + return + + from .shell_completion import shell_complete + + rv = shell_complete(self, ctx_args, prog_name, complete_var, instruction) + sys.exit(rv) + + def __call__(self, *args: t.Any, **kwargs: t.Any) -> t.Any: + """Alias for :meth:`main`.""" + return self.main(*args, **kwargs) + + +class Command(BaseCommand): + """Commands are the basic building block of command line interfaces in + Click. A basic command handles command line parsing and might dispatch + more parsing to commands nested below it. + + :param name: the name of the command to use unless a group overrides it. + :param context_settings: an optional dictionary with defaults that are + passed to the context object. + :param callback: the callback to invoke. This is optional. + :param params: the parameters to register with this command. This can + be either :class:`Option` or :class:`Argument` objects. + :param help: the help string to use for this command. + :param epilog: like the help string but it's printed at the end of the + help page after everything else. + :param short_help: the short help to use for this command. This is + shown on the command listing of the parent command. + :param add_help_option: by default each command registers a ``--help`` + option. This can be disabled by this parameter. + :param no_args_is_help: this controls what happens if no arguments are + provided. This option is disabled by default. + If enabled this will add ``--help`` as argument + if no arguments are passed + :param hidden: hide this command from help outputs. + + :param deprecated: issues a message indicating that + the command is deprecated. + + .. versionchanged:: 8.1 + ``help``, ``epilog``, and ``short_help`` are stored unprocessed, + all formatting is done when outputting help text, not at init, + and is done even if not using the ``@command`` decorator. + + .. versionchanged:: 8.0 + Added a ``repr`` showing the command name. + + .. versionchanged:: 7.1 + Added the ``no_args_is_help`` parameter. + + .. versionchanged:: 2.0 + Added the ``context_settings`` parameter. + """ + + def __init__( + self, + name: t.Optional[str], + context_settings: t.Optional[t.MutableMapping[str, t.Any]] = None, + callback: t.Optional[t.Callable[..., t.Any]] = None, + params: t.Optional[t.List["Parameter"]] = None, + help: t.Optional[str] = None, + epilog: t.Optional[str] = None, + short_help: t.Optional[str] = None, + options_metavar: t.Optional[str] = "[OPTIONS]", + add_help_option: bool = True, + no_args_is_help: bool = False, + hidden: bool = False, + deprecated: bool = False, + ) -> None: + super().__init__(name, context_settings) + #: the callback to execute when the command fires. This might be + #: `None` in which case nothing happens. + self.callback = callback + #: the list of parameters for this command in the order they + #: should show up in the help page and execute. Eager parameters + #: will automatically be handled before non eager ones. + self.params: t.List["Parameter"] = params or [] + self.help = help + self.epilog = epilog + self.options_metavar = options_metavar + self.short_help = short_help + self.add_help_option = add_help_option + self.no_args_is_help = no_args_is_help + self.hidden = hidden + self.deprecated = deprecated + + def to_info_dict(self, ctx: Context) -> t.Dict[str, t.Any]: + info_dict = super().to_info_dict(ctx) + info_dict.update( + params=[param.to_info_dict() for param in self.get_params(ctx)], + help=self.help, + epilog=self.epilog, + short_help=self.short_help, + hidden=self.hidden, + deprecated=self.deprecated, + ) + return info_dict + + def get_usage(self, ctx: Context) -> str: + """Formats the usage line into a string and returns it. + + Calls :meth:`format_usage` internally. + """ + formatter = ctx.make_formatter() + self.format_usage(ctx, formatter) + return formatter.getvalue().rstrip("\n") + + def get_params(self, ctx: Context) -> t.List["Parameter"]: + rv = self.params + help_option = self.get_help_option(ctx) + + if help_option is not None: + rv = [*rv, help_option] + + return rv + + def format_usage(self, ctx: Context, formatter: HelpFormatter) -> None: + """Writes the usage line into the formatter. + + This is a low-level method called by :meth:`get_usage`. + """ + pieces = self.collect_usage_pieces(ctx) + formatter.write_usage(ctx.command_path, " ".join(pieces)) + + def collect_usage_pieces(self, ctx: Context) -> t.List[str]: + """Returns all the pieces that go into the usage line and returns + it as a list of strings. + """ + rv = [self.options_metavar] if self.options_metavar else [] + + for param in self.get_params(ctx): + rv.extend(param.get_usage_pieces(ctx)) + + return rv + + def get_help_option_names(self, ctx: Context) -> t.List[str]: + """Returns the names for the help option.""" + all_names = set(ctx.help_option_names) + for param in self.params: + all_names.difference_update(param.opts) + all_names.difference_update(param.secondary_opts) + return list(all_names) + + def get_help_option(self, ctx: Context) -> t.Optional["Option"]: + """Returns the help option object.""" + help_options = self.get_help_option_names(ctx) + + if not help_options or not self.add_help_option: + return None + + def show_help(ctx: Context, param: "Parameter", value: str) -> None: + if value and not ctx.resilient_parsing: + echo(ctx.get_help(), color=ctx.color) + ctx.exit() + + return Option( + help_options, + is_flag=True, + is_eager=True, + expose_value=False, + callback=show_help, + help=_("Show this message and exit."), + ) + + def make_parser(self, ctx: Context) -> OptionParser: + """Creates the underlying option parser for this command.""" + parser = OptionParser(ctx) + for param in self.get_params(ctx): + param.add_to_parser(parser, ctx) + return parser + + def get_help(self, ctx: Context) -> str: + """Formats the help into a string and returns it. + + Calls :meth:`format_help` internally. + """ + formatter = ctx.make_formatter() + self.format_help(ctx, formatter) + return formatter.getvalue().rstrip("\n") + + def get_short_help_str(self, limit: int = 45) -> str: + """Gets short help for the command or makes it by shortening the + long help string. + """ + if self.short_help: + text = inspect.cleandoc(self.short_help) + elif self.help: + text = make_default_short_help(self.help, limit) + else: + text = "" + + if self.deprecated: + text = _("(Deprecated) {text}").format(text=text) + + return text.strip() + + def format_help(self, ctx: Context, formatter: HelpFormatter) -> None: + """Writes the help into the formatter if it exists. + + This is a low-level method called by :meth:`get_help`. + + This calls the following methods: + + - :meth:`format_usage` + - :meth:`format_help_text` + - :meth:`format_options` + - :meth:`format_epilog` + """ + self.format_usage(ctx, formatter) + self.format_help_text(ctx, formatter) + self.format_options(ctx, formatter) + self.format_epilog(ctx, formatter) + + def format_help_text(self, ctx: Context, formatter: HelpFormatter) -> None: + """Writes the help text to the formatter if it exists.""" + if self.help is not None: + # truncate the help text to the first form feed + text = inspect.cleandoc(self.help).partition("\f")[0] + else: + text = "" + + if self.deprecated: + text = _("(Deprecated) {text}").format(text=text) + + if text: + formatter.write_paragraph() + + with formatter.indentation(): + formatter.write_text(text) + + def format_options(self, ctx: Context, formatter: HelpFormatter) -> None: + """Writes all the options into the formatter if they exist.""" + opts = [] + for param in self.get_params(ctx): + rv = param.get_help_record(ctx) + if rv is not None: + opts.append(rv) + + if opts: + with formatter.section(_("Options")): + formatter.write_dl(opts) + + def format_epilog(self, ctx: Context, formatter: HelpFormatter) -> None: + """Writes the epilog into the formatter if it exists.""" + if self.epilog: + epilog = inspect.cleandoc(self.epilog) + formatter.write_paragraph() + + with formatter.indentation(): + formatter.write_text(epilog) + + def parse_args(self, ctx: Context, args: t.List[str]) -> t.List[str]: + if not args and self.no_args_is_help and not ctx.resilient_parsing: + echo(ctx.get_help(), color=ctx.color) + ctx.exit() + + parser = self.make_parser(ctx) + opts, args, param_order = parser.parse_args(args=args) + + for param in iter_params_for_processing(param_order, self.get_params(ctx)): + value, args = param.handle_parse_result(ctx, opts, args) + + if args and not ctx.allow_extra_args and not ctx.resilient_parsing: + ctx.fail( + ngettext( + "Got unexpected extra argument ({args})", + "Got unexpected extra arguments ({args})", + len(args), + ).format(args=" ".join(map(str, args))) + ) + + ctx.args = args + ctx._opt_prefixes.update(parser._opt_prefixes) + return args + + def invoke(self, ctx: Context) -> t.Any: + """Given a context, this invokes the attached callback (if it exists) + in the right way. + """ + if self.deprecated: + message = _( + "DeprecationWarning: The command {name!r} is deprecated." + ).format(name=self.name) + echo(style(message, fg="red"), err=True) + + if self.callback is not None: + return ctx.invoke(self.callback, **ctx.params) + + def shell_complete(self, ctx: Context, incomplete: str) -> t.List["CompletionItem"]: + """Return a list of completions for the incomplete value. Looks + at the names of options and chained multi-commands. + + :param ctx: Invocation context for this command. + :param incomplete: Value being completed. May be empty. + + .. versionadded:: 8.0 + """ + from click.shell_completion import CompletionItem + + results: t.List["CompletionItem"] = [] + + if incomplete and not incomplete[0].isalnum(): + for param in self.get_params(ctx): + if ( + not isinstance(param, Option) + or param.hidden + or ( + not param.multiple + and ctx.get_parameter_source(param.name) # type: ignore + is ParameterSource.COMMANDLINE + ) + ): + continue + + results.extend( + CompletionItem(name, help=param.help) + for name in [*param.opts, *param.secondary_opts] + if name.startswith(incomplete) + ) + + results.extend(super().shell_complete(ctx, incomplete)) + return results + + +class MultiCommand(Command): + """A multi command is the basic implementation of a command that + dispatches to subcommands. The most common version is the + :class:`Group`. + + :param invoke_without_command: this controls how the multi command itself + is invoked. By default it's only invoked + if a subcommand is provided. + :param no_args_is_help: this controls what happens if no arguments are + provided. This option is enabled by default if + `invoke_without_command` is disabled or disabled + if it's enabled. If enabled this will add + ``--help`` as argument if no arguments are + passed. + :param subcommand_metavar: the string that is used in the documentation + to indicate the subcommand place. + :param chain: if this is set to `True` chaining of multiple subcommands + is enabled. This restricts the form of commands in that + they cannot have optional arguments but it allows + multiple commands to be chained together. + :param result_callback: The result callback to attach to this multi + command. This can be set or changed later with the + :meth:`result_callback` decorator. + :param attrs: Other command arguments described in :class:`Command`. + """ + + allow_extra_args = True + allow_interspersed_args = False + + def __init__( + self, + name: t.Optional[str] = None, + invoke_without_command: bool = False, + no_args_is_help: t.Optional[bool] = None, + subcommand_metavar: t.Optional[str] = None, + chain: bool = False, + result_callback: t.Optional[t.Callable[..., t.Any]] = None, + **attrs: t.Any, + ) -> None: + super().__init__(name, **attrs) + + if no_args_is_help is None: + no_args_is_help = not invoke_without_command + + self.no_args_is_help = no_args_is_help + self.invoke_without_command = invoke_without_command + + if subcommand_metavar is None: + if chain: + subcommand_metavar = "COMMAND1 [ARGS]... [COMMAND2 [ARGS]...]..." + else: + subcommand_metavar = "COMMAND [ARGS]..." + + self.subcommand_metavar = subcommand_metavar + self.chain = chain + # The result callback that is stored. This can be set or + # overridden with the :func:`result_callback` decorator. + self._result_callback = result_callback + + if self.chain: + for param in self.params: + if isinstance(param, Argument) and not param.required: + raise RuntimeError( + "Multi commands in chain mode cannot have" + " optional arguments." + ) + + def to_info_dict(self, ctx: Context) -> t.Dict[str, t.Any]: + info_dict = super().to_info_dict(ctx) + commands = {} + + for name in self.list_commands(ctx): + command = self.get_command(ctx, name) + + if command is None: + continue + + sub_ctx = ctx._make_sub_context(command) + + with sub_ctx.scope(cleanup=False): + commands[name] = command.to_info_dict(sub_ctx) + + info_dict.update(commands=commands, chain=self.chain) + return info_dict + + def collect_usage_pieces(self, ctx: Context) -> t.List[str]: + rv = super().collect_usage_pieces(ctx) + rv.append(self.subcommand_metavar) + return rv + + def format_options(self, ctx: Context, formatter: HelpFormatter) -> None: + super().format_options(ctx, formatter) + self.format_commands(ctx, formatter) + + def result_callback(self, replace: bool = False) -> t.Callable[[F], F]: + """Adds a result callback to the command. By default if a + result callback is already registered this will chain them but + this can be disabled with the `replace` parameter. The result + callback is invoked with the return value of the subcommand + (or the list of return values from all subcommands if chaining + is enabled) as well as the parameters as they would be passed + to the main callback. + + Example:: + + @click.group() + @click.option('-i', '--input', default=23) + def cli(input): + return 42 + + @cli.result_callback() + def process_result(result, input): + return result + input + + :param replace: if set to `True` an already existing result + callback will be removed. + + .. versionchanged:: 8.0 + Renamed from ``resultcallback``. + + .. versionadded:: 3.0 + """ + + def decorator(f: F) -> F: + old_callback = self._result_callback + + if old_callback is None or replace: + self._result_callback = f + return f + + def function(__value, *args, **kwargs): # type: ignore + inner = old_callback(__value, *args, **kwargs) + return f(inner, *args, **kwargs) + + self._result_callback = rv = update_wrapper(t.cast(F, function), f) + return rv + + return decorator + + def format_commands(self, ctx: Context, formatter: HelpFormatter) -> None: + """Extra format methods for multi methods that adds all the commands + after the options. + """ + commands = [] + for subcommand in self.list_commands(ctx): + cmd = self.get_command(ctx, subcommand) + # What is this, the tool lied about a command. Ignore it + if cmd is None: + continue + if cmd.hidden: + continue + + commands.append((subcommand, cmd)) + + # allow for 3 times the default spacing + if len(commands): + limit = formatter.width - 6 - max(len(cmd[0]) for cmd in commands) + + rows = [] + for subcommand, cmd in commands: + help = cmd.get_short_help_str(limit) + rows.append((subcommand, help)) + + if rows: + with formatter.section(_("Commands")): + formatter.write_dl(rows) + + def parse_args(self, ctx: Context, args: t.List[str]) -> t.List[str]: + if not args and self.no_args_is_help and not ctx.resilient_parsing: + echo(ctx.get_help(), color=ctx.color) + ctx.exit() + + rest = super().parse_args(ctx, args) + + if self.chain: + ctx.protected_args = rest + ctx.args = [] + elif rest: + ctx.protected_args, ctx.args = rest[:1], rest[1:] + + return ctx.args + + def invoke(self, ctx: Context) -> t.Any: + def _process_result(value: t.Any) -> t.Any: + if self._result_callback is not None: + value = ctx.invoke(self._result_callback, value, **ctx.params) + return value + + if not ctx.protected_args: + if self.invoke_without_command: + # No subcommand was invoked, so the result callback is + # invoked with the group return value for regular + # groups, or an empty list for chained groups. + with ctx: + rv = super().invoke(ctx) + return _process_result([] if self.chain else rv) + ctx.fail(_("Missing command.")) + + # Fetch args back out + args = [*ctx.protected_args, *ctx.args] + ctx.args = [] + ctx.protected_args = [] + + # If we're not in chain mode, we only allow the invocation of a + # single command but we also inform the current context about the + # name of the command to invoke. + if not self.chain: + # Make sure the context is entered so we do not clean up + # resources until the result processor has worked. + with ctx: + cmd_name, cmd, args = self.resolve_command(ctx, args) + assert cmd is not None + ctx.invoked_subcommand = cmd_name + super().invoke(ctx) + sub_ctx = cmd.make_context(cmd_name, args, parent=ctx) + with sub_ctx: + return _process_result(sub_ctx.command.invoke(sub_ctx)) + + # In chain mode we create the contexts step by step, but after the + # base command has been invoked. Because at that point we do not + # know the subcommands yet, the invoked subcommand attribute is + # set to ``*`` to inform the command that subcommands are executed + # but nothing else. + with ctx: + ctx.invoked_subcommand = "*" if args else None + super().invoke(ctx) + + # Otherwise we make every single context and invoke them in a + # chain. In that case the return value to the result processor + # is the list of all invoked subcommand's results. + contexts = [] + while args: + cmd_name, cmd, args = self.resolve_command(ctx, args) + assert cmd is not None + sub_ctx = cmd.make_context( + cmd_name, + args, + parent=ctx, + allow_extra_args=True, + allow_interspersed_args=False, + ) + contexts.append(sub_ctx) + args, sub_ctx.args = sub_ctx.args, [] + + rv = [] + for sub_ctx in contexts: + with sub_ctx: + rv.append(sub_ctx.command.invoke(sub_ctx)) + return _process_result(rv) + + def resolve_command( + self, ctx: Context, args: t.List[str] + ) -> t.Tuple[t.Optional[str], t.Optional[Command], t.List[str]]: + cmd_name = make_str(args[0]) + original_cmd_name = cmd_name + + # Get the command + cmd = self.get_command(ctx, cmd_name) + + # If we can't find the command but there is a normalization + # function available, we try with that one. + if cmd is None and ctx.token_normalize_func is not None: + cmd_name = ctx.token_normalize_func(cmd_name) + cmd = self.get_command(ctx, cmd_name) + + # If we don't find the command we want to show an error message + # to the user that it was not provided. However, there is + # something else we should do: if the first argument looks like + # an option we want to kick off parsing again for arguments to + # resolve things like --help which now should go to the main + # place. + if cmd is None and not ctx.resilient_parsing: + if split_opt(cmd_name)[0]: + self.parse_args(ctx, ctx.args) + ctx.fail(_("No such command {name!r}.").format(name=original_cmd_name)) + return cmd_name if cmd else None, cmd, args[1:] + + def get_command(self, ctx: Context, cmd_name: str) -> t.Optional[Command]: + """Given a context and a command name, this returns a + :class:`Command` object if it exists or returns `None`. + """ + raise NotImplementedError + + def list_commands(self, ctx: Context) -> t.List[str]: + """Returns a list of subcommand names in the order they should + appear. + """ + return [] + + def shell_complete(self, ctx: Context, incomplete: str) -> t.List["CompletionItem"]: + """Return a list of completions for the incomplete value. Looks + at the names of options, subcommands, and chained + multi-commands. + + :param ctx: Invocation context for this command. + :param incomplete: Value being completed. May be empty. + + .. versionadded:: 8.0 + """ + from click.shell_completion import CompletionItem + + results = [ + CompletionItem(name, help=command.get_short_help_str()) + for name, command in _complete_visible_commands(ctx, incomplete) + ] + results.extend(super().shell_complete(ctx, incomplete)) + return results + + +class Group(MultiCommand): + """A group allows a command to have subcommands attached. This is + the most common way to implement nesting in Click. + + :param name: The name of the group command. + :param commands: A dict mapping names to :class:`Command` objects. + Can also be a list of :class:`Command`, which will use + :attr:`Command.name` to create the dict. + :param attrs: Other command arguments described in + :class:`MultiCommand`, :class:`Command`, and + :class:`BaseCommand`. + + .. versionchanged:: 8.0 + The ``commands`` argument can be a list of command objects. + """ + + #: If set, this is used by the group's :meth:`command` decorator + #: as the default :class:`Command` class. This is useful to make all + #: subcommands use a custom command class. + #: + #: .. versionadded:: 8.0 + command_class: t.Optional[t.Type[Command]] = None + + #: If set, this is used by the group's :meth:`group` decorator + #: as the default :class:`Group` class. This is useful to make all + #: subgroups use a custom group class. + #: + #: If set to the special value :class:`type` (literally + #: ``group_class = type``), this group's class will be used as the + #: default class. This makes a custom group class continue to make + #: custom groups. + #: + #: .. versionadded:: 8.0 + group_class: t.Optional[t.Union[t.Type["Group"], t.Type[type]]] = None + # Literal[type] isn't valid, so use Type[type] + + def __init__( + self, + name: t.Optional[str] = None, + commands: t.Optional[ + t.Union[t.MutableMapping[str, Command], t.Sequence[Command]] + ] = None, + **attrs: t.Any, + ) -> None: + super().__init__(name, **attrs) + + if commands is None: + commands = {} + elif isinstance(commands, abc.Sequence): + commands = {c.name: c for c in commands if c.name is not None} + + #: The registered subcommands by their exported names. + self.commands: t.MutableMapping[str, Command] = commands + + def add_command(self, cmd: Command, name: t.Optional[str] = None) -> None: + """Registers another :class:`Command` with this group. If the name + is not provided, the name of the command is used. + """ + name = name or cmd.name + if name is None: + raise TypeError("Command has no name.") + _check_multicommand(self, name, cmd, register=True) + self.commands[name] = cmd + + @t.overload + def command(self, __func: t.Callable[..., t.Any]) -> Command: + ... + + @t.overload + def command( + self, *args: t.Any, **kwargs: t.Any + ) -> t.Callable[[t.Callable[..., t.Any]], Command]: + ... + + def command( + self, *args: t.Any, **kwargs: t.Any + ) -> t.Union[t.Callable[[t.Callable[..., t.Any]], Command], Command]: + """A shortcut decorator for declaring and attaching a command to + the group. This takes the same arguments as :func:`command` and + immediately registers the created command with this group by + calling :meth:`add_command`. + + To customize the command class used, set the + :attr:`command_class` attribute. + + .. versionchanged:: 8.1 + This decorator can be applied without parentheses. + + .. versionchanged:: 8.0 + Added the :attr:`command_class` attribute. + """ + from .decorators import command + + func: t.Optional[t.Callable[..., t.Any]] = None + + if args and callable(args[0]): + assert ( + len(args) == 1 and not kwargs + ), "Use 'command(**kwargs)(callable)' to provide arguments." + (func,) = args + args = () + + if self.command_class and kwargs.get("cls") is None: + kwargs["cls"] = self.command_class + + def decorator(f: t.Callable[..., t.Any]) -> Command: + cmd: Command = command(*args, **kwargs)(f) + self.add_command(cmd) + return cmd + + if func is not None: + return decorator(func) + + return decorator + + @t.overload + def group(self, __func: t.Callable[..., t.Any]) -> "Group": + ... + + @t.overload + def group( + self, *args: t.Any, **kwargs: t.Any + ) -> t.Callable[[t.Callable[..., t.Any]], "Group"]: + ... + + def group( + self, *args: t.Any, **kwargs: t.Any + ) -> t.Union[t.Callable[[t.Callable[..., t.Any]], "Group"], "Group"]: + """A shortcut decorator for declaring and attaching a group to + the group. This takes the same arguments as :func:`group` and + immediately registers the created group with this group by + calling :meth:`add_command`. + + To customize the group class used, set the :attr:`group_class` + attribute. + + .. versionchanged:: 8.1 + This decorator can be applied without parentheses. + + .. versionchanged:: 8.0 + Added the :attr:`group_class` attribute. + """ + from .decorators import group + + func: t.Optional[t.Callable[..., t.Any]] = None + + if args and callable(args[0]): + assert ( + len(args) == 1 and not kwargs + ), "Use 'group(**kwargs)(callable)' to provide arguments." + (func,) = args + args = () + + if self.group_class is not None and kwargs.get("cls") is None: + if self.group_class is type: + kwargs["cls"] = type(self) + else: + kwargs["cls"] = self.group_class + + def decorator(f: t.Callable[..., t.Any]) -> "Group": + cmd: Group = group(*args, **kwargs)(f) + self.add_command(cmd) + return cmd + + if func is not None: + return decorator(func) + + return decorator + + def get_command(self, ctx: Context, cmd_name: str) -> t.Optional[Command]: + return self.commands.get(cmd_name) + + def list_commands(self, ctx: Context) -> t.List[str]: + return sorted(self.commands) + + +class CommandCollection(MultiCommand): + """A command collection is a multi command that merges multiple multi + commands together into one. This is a straightforward implementation + that accepts a list of different multi commands as sources and + provides all the commands for each of them. + + See :class:`MultiCommand` and :class:`Command` for the description of + ``name`` and ``attrs``. + """ + + def __init__( + self, + name: t.Optional[str] = None, + sources: t.Optional[t.List[MultiCommand]] = None, + **attrs: t.Any, + ) -> None: + super().__init__(name, **attrs) + #: The list of registered multi commands. + self.sources: t.List[MultiCommand] = sources or [] + + def add_source(self, multi_cmd: MultiCommand) -> None: + """Adds a new multi command to the chain dispatcher.""" + self.sources.append(multi_cmd) + + def get_command(self, ctx: Context, cmd_name: str) -> t.Optional[Command]: + for source in self.sources: + rv = source.get_command(ctx, cmd_name) + + if rv is not None: + if self.chain: + _check_multicommand(self, cmd_name, rv) + + return rv + + return None + + def list_commands(self, ctx: Context) -> t.List[str]: + rv: t.Set[str] = set() + + for source in self.sources: + rv.update(source.list_commands(ctx)) + + return sorted(rv) + + +def _check_iter(value: t.Any) -> t.Iterator[t.Any]: + """Check if the value is iterable but not a string. Raises a type + error, or return an iterator over the value. + """ + if isinstance(value, str): + raise TypeError + + return iter(value) + + +class Parameter: + r"""A parameter to a command comes in two versions: they are either + :class:`Option`\s or :class:`Argument`\s. Other subclasses are currently + not supported by design as some of the internals for parsing are + intentionally not finalized. + + Some settings are supported by both options and arguments. + + :param param_decls: the parameter declarations for this option or + argument. This is a list of flags or argument + names. + :param type: the type that should be used. Either a :class:`ParamType` + or a Python type. The latter is converted into the former + automatically if supported. + :param required: controls if this is optional or not. + :param default: the default value if omitted. This can also be a callable, + in which case it's invoked when the default is needed + without any arguments. + :param callback: A function to further process or validate the value + after type conversion. It is called as ``f(ctx, param, value)`` + and must return the value. It is called for all sources, + including prompts. + :param nargs: the number of arguments to match. If not ``1`` the return + value is a tuple instead of single value. The default for + nargs is ``1`` (except if the type is a tuple, then it's + the arity of the tuple). If ``nargs=-1``, all remaining + parameters are collected. + :param metavar: how the value is represented in the help page. + :param expose_value: if this is `True` then the value is passed onwards + to the command callback and stored on the context, + otherwise it's skipped. + :param is_eager: eager values are processed before non eager ones. This + should not be set for arguments or it will inverse the + order of processing. + :param envvar: a string or list of strings that are environment variables + that should be checked. + :param shell_complete: A function that returns custom shell + completions. Used instead of the param's type completion if + given. Takes ``ctx, param, incomplete`` and must return a list + of :class:`~click.shell_completion.CompletionItem` or a list of + strings. + + .. versionchanged:: 8.0 + ``process_value`` validates required parameters and bounded + ``nargs``, and invokes the parameter callback before returning + the value. This allows the callback to validate prompts. + ``full_process_value`` is removed. + + .. versionchanged:: 8.0 + ``autocompletion`` is renamed to ``shell_complete`` and has new + semantics described above. The old name is deprecated and will + be removed in 8.1, until then it will be wrapped to match the + new requirements. + + .. versionchanged:: 8.0 + For ``multiple=True, nargs>1``, the default must be a list of + tuples. + + .. versionchanged:: 8.0 + Setting a default is no longer required for ``nargs>1``, it will + default to ``None``. ``multiple=True`` or ``nargs=-1`` will + default to ``()``. + + .. versionchanged:: 7.1 + Empty environment variables are ignored rather than taking the + empty string value. This makes it possible for scripts to clear + variables if they can't unset them. + + .. versionchanged:: 2.0 + Changed signature for parameter callback to also be passed the + parameter. The old callback format will still work, but it will + raise a warning to give you a chance to migrate the code easier. + """ + + param_type_name = "parameter" + + def __init__( + self, + param_decls: t.Optional[t.Sequence[str]] = None, + type: t.Optional[t.Union[types.ParamType, t.Any]] = None, + required: bool = False, + default: t.Optional[t.Union[t.Any, t.Callable[[], t.Any]]] = None, + callback: t.Optional[t.Callable[[Context, "Parameter", t.Any], t.Any]] = None, + nargs: t.Optional[int] = None, + multiple: bool = False, + metavar: t.Optional[str] = None, + expose_value: bool = True, + is_eager: bool = False, + envvar: t.Optional[t.Union[str, t.Sequence[str]]] = None, + shell_complete: t.Optional[ + t.Callable[ + [Context, "Parameter", str], + t.Union[t.List["CompletionItem"], t.List[str]], + ] + ] = None, + ) -> None: + self.name: t.Optional[str] + self.opts: t.List[str] + self.secondary_opts: t.List[str] + self.name, self.opts, self.secondary_opts = self._parse_decls( + param_decls or (), expose_value + ) + self.type: types.ParamType = types.convert_type(type, default) + + # Default nargs to what the type tells us if we have that + # information available. + if nargs is None: + if self.type.is_composite: + nargs = self.type.arity + else: + nargs = 1 + + self.required = required + self.callback = callback + self.nargs = nargs + self.multiple = multiple + self.expose_value = expose_value + self.default = default + self.is_eager = is_eager + self.metavar = metavar + self.envvar = envvar + self._custom_shell_complete = shell_complete + + if __debug__: + if self.type.is_composite and nargs != self.type.arity: + raise ValueError( + f"'nargs' must be {self.type.arity} (or None) for" + f" type {self.type!r}, but it was {nargs}." + ) + + # Skip no default or callable default. + check_default = default if not callable(default) else None + + if check_default is not None: + if multiple: + try: + # Only check the first value against nargs. + check_default = next(_check_iter(check_default), None) + except TypeError: + raise ValueError( + "'default' must be a list when 'multiple' is true." + ) from None + + # Can be None for multiple with empty default. + if nargs != 1 and check_default is not None: + try: + _check_iter(check_default) + except TypeError: + if multiple: + message = ( + "'default' must be a list of lists when 'multiple' is" + " true and 'nargs' != 1." + ) + else: + message = "'default' must be a list when 'nargs' != 1." + + raise ValueError(message) from None + + if nargs > 1 and len(check_default) != nargs: + subject = "item length" if multiple else "length" + raise ValueError( + f"'default' {subject} must match nargs={nargs}." + ) + + def to_info_dict(self) -> t.Dict[str, t.Any]: + """Gather information that could be useful for a tool generating + user-facing documentation. + + Use :meth:`click.Context.to_info_dict` to traverse the entire + CLI structure. + + .. versionadded:: 8.0 + """ + return { + "name": self.name, + "param_type_name": self.param_type_name, + "opts": self.opts, + "secondary_opts": self.secondary_opts, + "type": self.type.to_info_dict(), + "required": self.required, + "nargs": self.nargs, + "multiple": self.multiple, + "default": self.default, + "envvar": self.envvar, + } + + def __repr__(self) -> str: + return f"<{self.__class__.__name__} {self.name}>" + + def _parse_decls( + self, decls: t.Sequence[str], expose_value: bool + ) -> t.Tuple[t.Optional[str], t.List[str], t.List[str]]: + raise NotImplementedError() + + @property + def human_readable_name(self) -> str: + """Returns the human readable name of this parameter. This is the + same as the name for options, but the metavar for arguments. + """ + return self.name # type: ignore + + def make_metavar(self) -> str: + if self.metavar is not None: + return self.metavar + + metavar = self.type.get_metavar(self) + + if metavar is None: + metavar = self.type.name.upper() + + if self.nargs != 1: + metavar += "..." + + return metavar + + @t.overload + def get_default( + self, ctx: Context, call: "te.Literal[True]" = True + ) -> t.Optional[t.Any]: + ... + + @t.overload + def get_default( + self, ctx: Context, call: bool = ... + ) -> t.Optional[t.Union[t.Any, t.Callable[[], t.Any]]]: + ... + + def get_default( + self, ctx: Context, call: bool = True + ) -> t.Optional[t.Union[t.Any, t.Callable[[], t.Any]]]: + """Get the default for the parameter. Tries + :meth:`Context.lookup_default` first, then the local default. + + :param ctx: Current context. + :param call: If the default is a callable, call it. Disable to + return the callable instead. + + .. versionchanged:: 8.0.2 + Type casting is no longer performed when getting a default. + + .. versionchanged:: 8.0.1 + Type casting can fail in resilient parsing mode. Invalid + defaults will not prevent showing help text. + + .. versionchanged:: 8.0 + Looks at ``ctx.default_map`` first. + + .. versionchanged:: 8.0 + Added the ``call`` parameter. + """ + value = ctx.lookup_default(self.name, call=False) # type: ignore + + if value is None: + value = self.default + + if call and callable(value): + value = value() + + return value + + def add_to_parser(self, parser: OptionParser, ctx: Context) -> None: + raise NotImplementedError() + + def consume_value( + self, ctx: Context, opts: t.Mapping[str, t.Any] + ) -> t.Tuple[t.Any, ParameterSource]: + value = opts.get(self.name) # type: ignore + source = ParameterSource.COMMANDLINE + + if value is None: + value = self.value_from_envvar(ctx) + source = ParameterSource.ENVIRONMENT + + if value is None: + value = ctx.lookup_default(self.name) # type: ignore + source = ParameterSource.DEFAULT_MAP + + if value is None: + value = self.get_default(ctx) + source = ParameterSource.DEFAULT + + return value, source + + def type_cast_value(self, ctx: Context, value: t.Any) -> t.Any: + """Convert and validate a value against the option's + :attr:`type`, :attr:`multiple`, and :attr:`nargs`. + """ + if value is None: + return () if self.multiple or self.nargs == -1 else None + + def check_iter(value: t.Any) -> t.Iterator[t.Any]: + try: + return _check_iter(value) + except TypeError: + # This should only happen when passing in args manually, + # the parser should construct an iterable when parsing + # the command line. + raise BadParameter( + _("Value must be an iterable."), ctx=ctx, param=self + ) from None + + if self.nargs == 1 or self.type.is_composite: + + def convert(value: t.Any) -> t.Any: + return self.type(value, param=self, ctx=ctx) + + elif self.nargs == -1: + + def convert(value: t.Any) -> t.Any: # t.Tuple[t.Any, ...] + return tuple(self.type(x, self, ctx) for x in check_iter(value)) + + else: # nargs > 1 + + def convert(value: t.Any) -> t.Any: # t.Tuple[t.Any, ...] + value = tuple(check_iter(value)) + + if len(value) != self.nargs: + raise BadParameter( + ngettext( + "Takes {nargs} values but 1 was given.", + "Takes {nargs} values but {len} were given.", + len(value), + ).format(nargs=self.nargs, len=len(value)), + ctx=ctx, + param=self, + ) + + return tuple(self.type(x, self, ctx) for x in value) + + if self.multiple: + return tuple(convert(x) for x in check_iter(value)) + + return convert(value) + + def value_is_missing(self, value: t.Any) -> bool: + if value is None: + return True + + if (self.nargs != 1 or self.multiple) and value == (): + return True + + return False + + def process_value(self, ctx: Context, value: t.Any) -> t.Any: + value = self.type_cast_value(ctx, value) + + if self.required and self.value_is_missing(value): + raise MissingParameter(ctx=ctx, param=self) + + if self.callback is not None: + value = self.callback(ctx, self, value) + + return value + + def resolve_envvar_value(self, ctx: Context) -> t.Optional[str]: + if self.envvar is None: + return None + + if isinstance(self.envvar, str): + rv = os.environ.get(self.envvar) + + if rv: + return rv + else: + for envvar in self.envvar: + rv = os.environ.get(envvar) + + if rv: + return rv + + return None + + def value_from_envvar(self, ctx: Context) -> t.Optional[t.Any]: + rv: t.Optional[t.Any] = self.resolve_envvar_value(ctx) + + if rv is not None and self.nargs != 1: + rv = self.type.split_envvar_value(rv) + + return rv + + def handle_parse_result( + self, ctx: Context, opts: t.Mapping[str, t.Any], args: t.List[str] + ) -> t.Tuple[t.Any, t.List[str]]: + with augment_usage_errors(ctx, param=self): + value, source = self.consume_value(ctx, opts) + ctx.set_parameter_source(self.name, source) # type: ignore + + try: + value = self.process_value(ctx, value) + except Exception: + if not ctx.resilient_parsing: + raise + + value = None + + if self.expose_value: + ctx.params[self.name] = value # type: ignore + + return value, args + + def get_help_record(self, ctx: Context) -> t.Optional[t.Tuple[str, str]]: + pass + + def get_usage_pieces(self, ctx: Context) -> t.List[str]: + return [] + + def get_error_hint(self, ctx: Context) -> str: + """Get a stringified version of the param for use in error messages to + indicate which param caused the error. + """ + hint_list = self.opts or [self.human_readable_name] + return " / ".join(f"'{x}'" for x in hint_list) + + def shell_complete(self, ctx: Context, incomplete: str) -> t.List["CompletionItem"]: + """Return a list of completions for the incomplete value. If a + ``shell_complete`` function was given during init, it is used. + Otherwise, the :attr:`type` + :meth:`~click.types.ParamType.shell_complete` function is used. + + :param ctx: Invocation context for this command. + :param incomplete: Value being completed. May be empty. + + .. versionadded:: 8.0 + """ + if self._custom_shell_complete is not None: + results = self._custom_shell_complete(ctx, self, incomplete) + + if results and isinstance(results[0], str): + from click.shell_completion import CompletionItem + + results = [CompletionItem(c) for c in results] + + return t.cast(t.List["CompletionItem"], results) + + return self.type.shell_complete(ctx, self, incomplete) + + +class Option(Parameter): + """Options are usually optional values on the command line and + have some extra features that arguments don't have. + + All other parameters are passed onwards to the parameter constructor. + + :param show_default: Show the default value for this option in its + help text. Values are not shown by default, unless + :attr:`Context.show_default` is ``True``. If this value is a + string, it shows that string in parentheses instead of the + actual value. This is particularly useful for dynamic options. + For single option boolean flags, the default remains hidden if + its value is ``False``. + :param show_envvar: Controls if an environment variable should be + shown on the help page. Normally, environment variables are not + shown. + :param prompt: If set to ``True`` or a non empty string then the + user will be prompted for input. If set to ``True`` the prompt + will be the option name capitalized. + :param confirmation_prompt: Prompt a second time to confirm the + value if it was prompted for. Can be set to a string instead of + ``True`` to customize the message. + :param prompt_required: If set to ``False``, the user will be + prompted for input only when the option was specified as a flag + without a value. + :param hide_input: If this is ``True`` then the input on the prompt + will be hidden from the user. This is useful for password input. + :param is_flag: forces this option to act as a flag. The default is + auto detection. + :param flag_value: which value should be used for this flag if it's + enabled. This is set to a boolean automatically if + the option string contains a slash to mark two options. + :param multiple: if this is set to `True` then the argument is accepted + multiple times and recorded. This is similar to ``nargs`` + in how it works but supports arbitrary number of + arguments. + :param count: this flag makes an option increment an integer. + :param allow_from_autoenv: if this is enabled then the value of this + parameter will be pulled from an environment + variable in case a prefix is defined on the + context. + :param help: the help string. + :param hidden: hide this option from help outputs. + :param attrs: Other command arguments described in :class:`Parameter`. + + .. versionchanged:: 8.1.0 + Help text indentation is cleaned here instead of only in the + ``@option`` decorator. + + .. versionchanged:: 8.1.0 + The ``show_default`` parameter overrides + ``Context.show_default``. + + .. versionchanged:: 8.1.0 + The default of a single option boolean flag is not shown if the + default value is ``False``. + + .. versionchanged:: 8.0.1 + ``type`` is detected from ``flag_value`` if given. + """ + + param_type_name = "option" + + def __init__( + self, + param_decls: t.Optional[t.Sequence[str]] = None, + show_default: t.Union[bool, str, None] = None, + prompt: t.Union[bool, str] = False, + confirmation_prompt: t.Union[bool, str] = False, + prompt_required: bool = True, + hide_input: bool = False, + is_flag: t.Optional[bool] = None, + flag_value: t.Optional[t.Any] = None, + multiple: bool = False, + count: bool = False, + allow_from_autoenv: bool = True, + type: t.Optional[t.Union[types.ParamType, t.Any]] = None, + help: t.Optional[str] = None, + hidden: bool = False, + show_choices: bool = True, + show_envvar: bool = False, + **attrs: t.Any, + ) -> None: + if help: + help = inspect.cleandoc(help) + + default_is_missing = "default" not in attrs + super().__init__(param_decls, type=type, multiple=multiple, **attrs) + + if prompt is True: + if self.name is None: + raise TypeError("'name' is required with 'prompt=True'.") + + prompt_text: t.Optional[str] = self.name.replace("_", " ").capitalize() + elif prompt is False: + prompt_text = None + else: + prompt_text = prompt + + self.prompt = prompt_text + self.confirmation_prompt = confirmation_prompt + self.prompt_required = prompt_required + self.hide_input = hide_input + self.hidden = hidden + + # If prompt is enabled but not required, then the option can be + # used as a flag to indicate using prompt or flag_value. + self._flag_needs_value = self.prompt is not None and not self.prompt_required + + if is_flag is None: + if flag_value is not None: + # Implicitly a flag because flag_value was set. + is_flag = True + elif self._flag_needs_value: + # Not a flag, but when used as a flag it shows a prompt. + is_flag = False + else: + # Implicitly a flag because flag options were given. + is_flag = bool(self.secondary_opts) + elif is_flag is False and not self._flag_needs_value: + # Not a flag, and prompt is not enabled, can be used as a + # flag if flag_value is set. + self._flag_needs_value = flag_value is not None + + self.default: t.Union[t.Any, t.Callable[[], t.Any]] + + if is_flag and default_is_missing and not self.required: + if multiple: + self.default = () + else: + self.default = False + + if flag_value is None: + flag_value = not self.default + + self.type: types.ParamType + if is_flag and type is None: + # Re-guess the type from the flag value instead of the + # default. + self.type = types.convert_type(None, flag_value) + + self.is_flag: bool = is_flag + self.is_bool_flag: bool = is_flag and isinstance(self.type, types.BoolParamType) + self.flag_value: t.Any = flag_value + + # Counting + self.count = count + if count: + if type is None: + self.type = types.IntRange(min=0) + if default_is_missing: + self.default = 0 + + self.allow_from_autoenv = allow_from_autoenv + self.help = help + self.show_default = show_default + self.show_choices = show_choices + self.show_envvar = show_envvar + + if __debug__: + if self.nargs == -1: + raise TypeError("nargs=-1 is not supported for options.") + + if self.prompt and self.is_flag and not self.is_bool_flag: + raise TypeError("'prompt' is not valid for non-boolean flag.") + + if not self.is_bool_flag and self.secondary_opts: + raise TypeError("Secondary flag is not valid for non-boolean flag.") + + if self.is_bool_flag and self.hide_input and self.prompt is not None: + raise TypeError( + "'prompt' with 'hide_input' is not valid for boolean flag." + ) + + if self.count: + if self.multiple: + raise TypeError("'count' is not valid with 'multiple'.") + + if self.is_flag: + raise TypeError("'count' is not valid with 'is_flag'.") + + def to_info_dict(self) -> t.Dict[str, t.Any]: + info_dict = super().to_info_dict() + info_dict.update( + help=self.help, + prompt=self.prompt, + is_flag=self.is_flag, + flag_value=self.flag_value, + count=self.count, + hidden=self.hidden, + ) + return info_dict + + def _parse_decls( + self, decls: t.Sequence[str], expose_value: bool + ) -> t.Tuple[t.Optional[str], t.List[str], t.List[str]]: + opts = [] + secondary_opts = [] + name = None + possible_names = [] + + for decl in decls: + if decl.isidentifier(): + if name is not None: + raise TypeError(f"Name '{name}' defined twice") + name = decl + else: + split_char = ";" if decl[:1] == "/" else "/" + if split_char in decl: + first, second = decl.split(split_char, 1) + first = first.rstrip() + if first: + possible_names.append(split_opt(first)) + opts.append(first) + second = second.lstrip() + if second: + secondary_opts.append(second.lstrip()) + if first == second: + raise ValueError( + f"Boolean option {decl!r} cannot use the" + " same flag for true/false." + ) + else: + possible_names.append(split_opt(decl)) + opts.append(decl) + + if name is None and possible_names: + possible_names.sort(key=lambda x: -len(x[0])) # group long options first + name = possible_names[0][1].replace("-", "_").lower() + if not name.isidentifier(): + name = None + + if name is None: + if not expose_value: + return None, opts, secondary_opts + raise TypeError("Could not determine name for option") + + if not opts and not secondary_opts: + raise TypeError( + f"No options defined but a name was passed ({name})." + " Did you mean to declare an argument instead? Did" + f" you mean to pass '--{name}'?" + ) + + return name, opts, secondary_opts + + def add_to_parser(self, parser: OptionParser, ctx: Context) -> None: + if self.multiple: + action = "append" + elif self.count: + action = "count" + else: + action = "store" + + if self.is_flag: + action = f"{action}_const" + + if self.is_bool_flag and self.secondary_opts: + parser.add_option( + obj=self, opts=self.opts, dest=self.name, action=action, const=True + ) + parser.add_option( + obj=self, + opts=self.secondary_opts, + dest=self.name, + action=action, + const=False, + ) + else: + parser.add_option( + obj=self, + opts=self.opts, + dest=self.name, + action=action, + const=self.flag_value, + ) + else: + parser.add_option( + obj=self, + opts=self.opts, + dest=self.name, + action=action, + nargs=self.nargs, + ) + + def get_help_record(self, ctx: Context) -> t.Optional[t.Tuple[str, str]]: + if self.hidden: + return None + + any_prefix_is_slash = False + + def _write_opts(opts: t.Sequence[str]) -> str: + nonlocal any_prefix_is_slash + + rv, any_slashes = join_options(opts) + + if any_slashes: + any_prefix_is_slash = True + + if not self.is_flag and not self.count: + rv += f" {self.make_metavar()}" + + return rv + + rv = [_write_opts(self.opts)] + + if self.secondary_opts: + rv.append(_write_opts(self.secondary_opts)) + + help = self.help or "" + extra = [] + + if self.show_envvar: + envvar = self.envvar + + if envvar is None: + if ( + self.allow_from_autoenv + and ctx.auto_envvar_prefix is not None + and self.name is not None + ): + envvar = f"{ctx.auto_envvar_prefix}_{self.name.upper()}" + + if envvar is not None: + var_str = ( + envvar + if isinstance(envvar, str) + else ", ".join(str(d) for d in envvar) + ) + extra.append(_("env var: {var}").format(var=var_str)) + + # Temporarily enable resilient parsing to avoid type casting + # failing for the default. Might be possible to extend this to + # help formatting in general. + resilient = ctx.resilient_parsing + ctx.resilient_parsing = True + + try: + default_value = self.get_default(ctx, call=False) + finally: + ctx.resilient_parsing = resilient + + show_default = False + show_default_is_str = False + + if self.show_default is not None: + if isinstance(self.show_default, str): + show_default_is_str = show_default = True + else: + show_default = self.show_default + elif ctx.show_default is not None: + show_default = ctx.show_default + + if show_default_is_str or (show_default and (default_value is not None)): + if show_default_is_str: + default_string = f"({self.show_default})" + elif isinstance(default_value, (list, tuple)): + default_string = ", ".join(str(d) for d in default_value) + elif inspect.isfunction(default_value): + default_string = _("(dynamic)") + elif self.is_bool_flag and self.secondary_opts: + # For boolean flags that have distinct True/False opts, + # use the opt without prefix instead of the value. + default_string = split_opt( + (self.opts if self.default else self.secondary_opts)[0] + )[1] + elif self.is_bool_flag and not self.secondary_opts and not default_value: + default_string = "" + else: + default_string = str(default_value) + + if default_string: + extra.append(_("default: {default}").format(default=default_string)) + + if ( + isinstance(self.type, types._NumberRangeBase) + # skip count with default range type + and not (self.count and self.type.min == 0 and self.type.max is None) + ): + range_str = self.type._describe_range() + + if range_str: + extra.append(range_str) + + if self.required: + extra.append(_("required")) + + if extra: + extra_str = "; ".join(extra) + help = f"{help} [{extra_str}]" if help else f"[{extra_str}]" + + return ("; " if any_prefix_is_slash else " / ").join(rv), help + + @t.overload + def get_default( + self, ctx: Context, call: "te.Literal[True]" = True + ) -> t.Optional[t.Any]: + ... + + @t.overload + def get_default( + self, ctx: Context, call: bool = ... + ) -> t.Optional[t.Union[t.Any, t.Callable[[], t.Any]]]: + ... + + def get_default( + self, ctx: Context, call: bool = True + ) -> t.Optional[t.Union[t.Any, t.Callable[[], t.Any]]]: + # If we're a non boolean flag our default is more complex because + # we need to look at all flags in the same group to figure out + # if we're the default one in which case we return the flag + # value as default. + if self.is_flag and not self.is_bool_flag: + for param in ctx.command.params: + if param.name == self.name and param.default: + return t.cast(Option, param).flag_value + + return None + + return super().get_default(ctx, call=call) + + def prompt_for_value(self, ctx: Context) -> t.Any: + """This is an alternative flow that can be activated in the full + value processing if a value does not exist. It will prompt the + user until a valid value exists and then returns the processed + value as result. + """ + assert self.prompt is not None + + # Calculate the default before prompting anything to be stable. + default = self.get_default(ctx) + + # If this is a prompt for a flag we need to handle this + # differently. + if self.is_bool_flag: + return confirm(self.prompt, default) + + return prompt( + self.prompt, + default=default, + type=self.type, + hide_input=self.hide_input, + show_choices=self.show_choices, + confirmation_prompt=self.confirmation_prompt, + value_proc=lambda x: self.process_value(ctx, x), + ) + + def resolve_envvar_value(self, ctx: Context) -> t.Optional[str]: + rv = super().resolve_envvar_value(ctx) + + if rv is not None: + return rv + + if ( + self.allow_from_autoenv + and ctx.auto_envvar_prefix is not None + and self.name is not None + ): + envvar = f"{ctx.auto_envvar_prefix}_{self.name.upper()}" + rv = os.environ.get(envvar) + + if rv: + return rv + + return None + + def value_from_envvar(self, ctx: Context) -> t.Optional[t.Any]: + rv: t.Optional[t.Any] = self.resolve_envvar_value(ctx) + + if rv is None: + return None + + value_depth = (self.nargs != 1) + bool(self.multiple) + + if value_depth > 0: + rv = self.type.split_envvar_value(rv) + + if self.multiple and self.nargs != 1: + rv = batch(rv, self.nargs) + + return rv + + def consume_value( + self, ctx: Context, opts: t.Mapping[str, "Parameter"] + ) -> t.Tuple[t.Any, ParameterSource]: + value, source = super().consume_value(ctx, opts) + + # The parser will emit a sentinel value if the option can be + # given as a flag without a value. This is different from None + # to distinguish from the flag not being given at all. + if value is _flag_needs_value: + if self.prompt is not None and not ctx.resilient_parsing: + value = self.prompt_for_value(ctx) + source = ParameterSource.PROMPT + else: + value = self.flag_value + source = ParameterSource.COMMANDLINE + + elif ( + self.multiple + and value is not None + and any(v is _flag_needs_value for v in value) + ): + value = [self.flag_value if v is _flag_needs_value else v for v in value] + source = ParameterSource.COMMANDLINE + + # The value wasn't set, or used the param's default, prompt if + # prompting is enabled. + elif ( + source in {None, ParameterSource.DEFAULT} + and self.prompt is not None + and (self.required or self.prompt_required) + and not ctx.resilient_parsing + ): + value = self.prompt_for_value(ctx) + source = ParameterSource.PROMPT + + return value, source + + +class Argument(Parameter): + """Arguments are positional parameters to a command. They generally + provide fewer features than options but can have infinite ``nargs`` + and are required by default. + + All parameters are passed onwards to the constructor of :class:`Parameter`. + """ + + param_type_name = "argument" + + def __init__( + self, + param_decls: t.Sequence[str], + required: t.Optional[bool] = None, + **attrs: t.Any, + ) -> None: + if required is None: + if attrs.get("default") is not None: + required = False + else: + required = attrs.get("nargs", 1) > 0 + + if "multiple" in attrs: + raise TypeError("__init__() got an unexpected keyword argument 'multiple'.") + + super().__init__(param_decls, required=required, **attrs) + + if __debug__: + if self.default is not None and self.nargs == -1: + raise TypeError("'default' is not supported for nargs=-1.") + + @property + def human_readable_name(self) -> str: + if self.metavar is not None: + return self.metavar + return self.name.upper() # type: ignore + + def make_metavar(self) -> str: + if self.metavar is not None: + return self.metavar + var = self.type.get_metavar(self) + if not var: + var = self.name.upper() # type: ignore + if not self.required: + var = f"[{var}]" + if self.nargs != 1: + var += "..." + return var + + def _parse_decls( + self, decls: t.Sequence[str], expose_value: bool + ) -> t.Tuple[t.Optional[str], t.List[str], t.List[str]]: + if not decls: + if not expose_value: + return None, [], [] + raise TypeError("Could not determine name for argument") + if len(decls) == 1: + name = arg = decls[0] + name = name.replace("-", "_").lower() + else: + raise TypeError( + "Arguments take exactly one parameter declaration, got" + f" {len(decls)}." + ) + return name, [arg], [] + + def get_usage_pieces(self, ctx: Context) -> t.List[str]: + return [self.make_metavar()] + + def get_error_hint(self, ctx: Context) -> str: + return f"'{self.make_metavar()}'" + + def add_to_parser(self, parser: OptionParser, ctx: Context) -> None: + parser.add_argument(dest=self.name, nargs=self.nargs, obj=self) diff --git a/venv/Lib/site-packages/click/decorators.py b/venv/Lib/site-packages/click/decorators.py new file mode 100644 index 00000000..d9bba950 --- /dev/null +++ b/venv/Lib/site-packages/click/decorators.py @@ -0,0 +1,561 @@ +import inspect +import types +import typing as t +from functools import update_wrapper +from gettext import gettext as _ + +from .core import Argument +from .core import Command +from .core import Context +from .core import Group +from .core import Option +from .core import Parameter +from .globals import get_current_context +from .utils import echo + +if t.TYPE_CHECKING: + import typing_extensions as te + + P = te.ParamSpec("P") + +R = t.TypeVar("R") +T = t.TypeVar("T") +_AnyCallable = t.Callable[..., t.Any] +FC = t.TypeVar("FC", bound=t.Union[_AnyCallable, Command]) + + +def pass_context(f: "t.Callable[te.Concatenate[Context, P], R]") -> "t.Callable[P, R]": + """Marks a callback as wanting to receive the current context + object as first argument. + """ + + def new_func(*args: "P.args", **kwargs: "P.kwargs") -> "R": + return f(get_current_context(), *args, **kwargs) + + return update_wrapper(new_func, f) + + +def pass_obj(f: "t.Callable[te.Concatenate[t.Any, P], R]") -> "t.Callable[P, R]": + """Similar to :func:`pass_context`, but only pass the object on the + context onwards (:attr:`Context.obj`). This is useful if that object + represents the state of a nested system. + """ + + def new_func(*args: "P.args", **kwargs: "P.kwargs") -> "R": + return f(get_current_context().obj, *args, **kwargs) + + return update_wrapper(new_func, f) + + +def make_pass_decorator( + object_type: t.Type[T], ensure: bool = False +) -> t.Callable[["t.Callable[te.Concatenate[T, P], R]"], "t.Callable[P, R]"]: + """Given an object type this creates a decorator that will work + similar to :func:`pass_obj` but instead of passing the object of the + current context, it will find the innermost context of type + :func:`object_type`. + + This generates a decorator that works roughly like this:: + + from functools import update_wrapper + + def decorator(f): + @pass_context + def new_func(ctx, *args, **kwargs): + obj = ctx.find_object(object_type) + return ctx.invoke(f, obj, *args, **kwargs) + return update_wrapper(new_func, f) + return decorator + + :param object_type: the type of the object to pass. + :param ensure: if set to `True`, a new object will be created and + remembered on the context if it's not there yet. + """ + + def decorator(f: "t.Callable[te.Concatenate[T, P], R]") -> "t.Callable[P, R]": + def new_func(*args: "P.args", **kwargs: "P.kwargs") -> "R": + ctx = get_current_context() + + obj: t.Optional[T] + if ensure: + obj = ctx.ensure_object(object_type) + else: + obj = ctx.find_object(object_type) + + if obj is None: + raise RuntimeError( + "Managed to invoke callback without a context" + f" object of type {object_type.__name__!r}" + " existing." + ) + + return ctx.invoke(f, obj, *args, **kwargs) + + return update_wrapper(new_func, f) + + return decorator # type: ignore[return-value] + + +def pass_meta_key( + key: str, *, doc_description: t.Optional[str] = None +) -> "t.Callable[[t.Callable[te.Concatenate[t.Any, P], R]], t.Callable[P, R]]": + """Create a decorator that passes a key from + :attr:`click.Context.meta` as the first argument to the decorated + function. + + :param key: Key in ``Context.meta`` to pass. + :param doc_description: Description of the object being passed, + inserted into the decorator's docstring. Defaults to "the 'key' + key from Context.meta". + + .. versionadded:: 8.0 + """ + + def decorator(f: "t.Callable[te.Concatenate[t.Any, P], R]") -> "t.Callable[P, R]": + def new_func(*args: "P.args", **kwargs: "P.kwargs") -> R: + ctx = get_current_context() + obj = ctx.meta[key] + return ctx.invoke(f, obj, *args, **kwargs) + + return update_wrapper(new_func, f) + + if doc_description is None: + doc_description = f"the {key!r} key from :attr:`click.Context.meta`" + + decorator.__doc__ = ( + f"Decorator that passes {doc_description} as the first argument" + " to the decorated function." + ) + return decorator # type: ignore[return-value] + + +CmdType = t.TypeVar("CmdType", bound=Command) + + +# variant: no call, directly as decorator for a function. +@t.overload +def command(name: _AnyCallable) -> Command: + ... + + +# variant: with positional name and with positional or keyword cls argument: +# @command(namearg, CommandCls, ...) or @command(namearg, cls=CommandCls, ...) +@t.overload +def command( + name: t.Optional[str], + cls: t.Type[CmdType], + **attrs: t.Any, +) -> t.Callable[[_AnyCallable], CmdType]: + ... + + +# variant: name omitted, cls _must_ be a keyword argument, @command(cls=CommandCls, ...) +@t.overload +def command( + name: None = None, + *, + cls: t.Type[CmdType], + **attrs: t.Any, +) -> t.Callable[[_AnyCallable], CmdType]: + ... + + +# variant: with optional string name, no cls argument provided. +@t.overload +def command( + name: t.Optional[str] = ..., cls: None = None, **attrs: t.Any +) -> t.Callable[[_AnyCallable], Command]: + ... + + +def command( + name: t.Union[t.Optional[str], _AnyCallable] = None, + cls: t.Optional[t.Type[CmdType]] = None, + **attrs: t.Any, +) -> t.Union[Command, t.Callable[[_AnyCallable], t.Union[Command, CmdType]]]: + r"""Creates a new :class:`Command` and uses the decorated function as + callback. This will also automatically attach all decorated + :func:`option`\s and :func:`argument`\s as parameters to the command. + + The name of the command defaults to the name of the function with + underscores replaced by dashes. If you want to change that, you can + pass the intended name as the first argument. + + All keyword arguments are forwarded to the underlying command class. + For the ``params`` argument, any decorated params are appended to + the end of the list. + + Once decorated the function turns into a :class:`Command` instance + that can be invoked as a command line utility or be attached to a + command :class:`Group`. + + :param name: the name of the command. This defaults to the function + name with underscores replaced by dashes. + :param cls: the command class to instantiate. This defaults to + :class:`Command`. + + .. versionchanged:: 8.1 + This decorator can be applied without parentheses. + + .. versionchanged:: 8.1 + The ``params`` argument can be used. Decorated params are + appended to the end of the list. + """ + + func: t.Optional[t.Callable[[_AnyCallable], t.Any]] = None + + if callable(name): + func = name + name = None + assert cls is None, "Use 'command(cls=cls)(callable)' to specify a class." + assert not attrs, "Use 'command(**kwargs)(callable)' to provide arguments." + + if cls is None: + cls = t.cast(t.Type[CmdType], Command) + + def decorator(f: _AnyCallable) -> CmdType: + if isinstance(f, Command): + raise TypeError("Attempted to convert a callback into a command twice.") + + attr_params = attrs.pop("params", None) + params = attr_params if attr_params is not None else [] + + try: + decorator_params = f.__click_params__ # type: ignore + except AttributeError: + pass + else: + del f.__click_params__ # type: ignore + params.extend(reversed(decorator_params)) + + if attrs.get("help") is None: + attrs["help"] = f.__doc__ + + if t.TYPE_CHECKING: + assert cls is not None + assert not callable(name) + + cmd = cls( + name=name or f.__name__.lower().replace("_", "-"), + callback=f, + params=params, + **attrs, + ) + cmd.__doc__ = f.__doc__ + return cmd + + if func is not None: + return decorator(func) + + return decorator + + +GrpType = t.TypeVar("GrpType", bound=Group) + + +# variant: no call, directly as decorator for a function. +@t.overload +def group(name: _AnyCallable) -> Group: + ... + + +# variant: with positional name and with positional or keyword cls argument: +# @group(namearg, GroupCls, ...) or @group(namearg, cls=GroupCls, ...) +@t.overload +def group( + name: t.Optional[str], + cls: t.Type[GrpType], + **attrs: t.Any, +) -> t.Callable[[_AnyCallable], GrpType]: + ... + + +# variant: name omitted, cls _must_ be a keyword argument, @group(cmd=GroupCls, ...) +@t.overload +def group( + name: None = None, + *, + cls: t.Type[GrpType], + **attrs: t.Any, +) -> t.Callable[[_AnyCallable], GrpType]: + ... + + +# variant: with optional string name, no cls argument provided. +@t.overload +def group( + name: t.Optional[str] = ..., cls: None = None, **attrs: t.Any +) -> t.Callable[[_AnyCallable], Group]: + ... + + +def group( + name: t.Union[str, _AnyCallable, None] = None, + cls: t.Optional[t.Type[GrpType]] = None, + **attrs: t.Any, +) -> t.Union[Group, t.Callable[[_AnyCallable], t.Union[Group, GrpType]]]: + """Creates a new :class:`Group` with a function as callback. This + works otherwise the same as :func:`command` just that the `cls` + parameter is set to :class:`Group`. + + .. versionchanged:: 8.1 + This decorator can be applied without parentheses. + """ + if cls is None: + cls = t.cast(t.Type[GrpType], Group) + + if callable(name): + return command(cls=cls, **attrs)(name) + + return command(name, cls, **attrs) + + +def _param_memo(f: t.Callable[..., t.Any], param: Parameter) -> None: + if isinstance(f, Command): + f.params.append(param) + else: + if not hasattr(f, "__click_params__"): + f.__click_params__ = [] # type: ignore + + f.__click_params__.append(param) # type: ignore + + +def argument( + *param_decls: str, cls: t.Optional[t.Type[Argument]] = None, **attrs: t.Any +) -> t.Callable[[FC], FC]: + """Attaches an argument to the command. All positional arguments are + passed as parameter declarations to :class:`Argument`; all keyword + arguments are forwarded unchanged (except ``cls``). + This is equivalent to creating an :class:`Argument` instance manually + and attaching it to the :attr:`Command.params` list. + + For the default argument class, refer to :class:`Argument` and + :class:`Parameter` for descriptions of parameters. + + :param cls: the argument class to instantiate. This defaults to + :class:`Argument`. + :param param_decls: Passed as positional arguments to the constructor of + ``cls``. + :param attrs: Passed as keyword arguments to the constructor of ``cls``. + """ + if cls is None: + cls = Argument + + def decorator(f: FC) -> FC: + _param_memo(f, cls(param_decls, **attrs)) + return f + + return decorator + + +def option( + *param_decls: str, cls: t.Optional[t.Type[Option]] = None, **attrs: t.Any +) -> t.Callable[[FC], FC]: + """Attaches an option to the command. All positional arguments are + passed as parameter declarations to :class:`Option`; all keyword + arguments are forwarded unchanged (except ``cls``). + This is equivalent to creating an :class:`Option` instance manually + and attaching it to the :attr:`Command.params` list. + + For the default option class, refer to :class:`Option` and + :class:`Parameter` for descriptions of parameters. + + :param cls: the option class to instantiate. This defaults to + :class:`Option`. + :param param_decls: Passed as positional arguments to the constructor of + ``cls``. + :param attrs: Passed as keyword arguments to the constructor of ``cls``. + """ + if cls is None: + cls = Option + + def decorator(f: FC) -> FC: + _param_memo(f, cls(param_decls, **attrs)) + return f + + return decorator + + +def confirmation_option(*param_decls: str, **kwargs: t.Any) -> t.Callable[[FC], FC]: + """Add a ``--yes`` option which shows a prompt before continuing if + not passed. If the prompt is declined, the program will exit. + + :param param_decls: One or more option names. Defaults to the single + value ``"--yes"``. + :param kwargs: Extra arguments are passed to :func:`option`. + """ + + def callback(ctx: Context, param: Parameter, value: bool) -> None: + if not value: + ctx.abort() + + if not param_decls: + param_decls = ("--yes",) + + kwargs.setdefault("is_flag", True) + kwargs.setdefault("callback", callback) + kwargs.setdefault("expose_value", False) + kwargs.setdefault("prompt", "Do you want to continue?") + kwargs.setdefault("help", "Confirm the action without prompting.") + return option(*param_decls, **kwargs) + + +def password_option(*param_decls: str, **kwargs: t.Any) -> t.Callable[[FC], FC]: + """Add a ``--password`` option which prompts for a password, hiding + input and asking to enter the value again for confirmation. + + :param param_decls: One or more option names. Defaults to the single + value ``"--password"``. + :param kwargs: Extra arguments are passed to :func:`option`. + """ + if not param_decls: + param_decls = ("--password",) + + kwargs.setdefault("prompt", True) + kwargs.setdefault("confirmation_prompt", True) + kwargs.setdefault("hide_input", True) + return option(*param_decls, **kwargs) + + +def version_option( + version: t.Optional[str] = None, + *param_decls: str, + package_name: t.Optional[str] = None, + prog_name: t.Optional[str] = None, + message: t.Optional[str] = None, + **kwargs: t.Any, +) -> t.Callable[[FC], FC]: + """Add a ``--version`` option which immediately prints the version + number and exits the program. + + If ``version`` is not provided, Click will try to detect it using + :func:`importlib.metadata.version` to get the version for the + ``package_name``. On Python < 3.8, the ``importlib_metadata`` + backport must be installed. + + If ``package_name`` is not provided, Click will try to detect it by + inspecting the stack frames. This will be used to detect the + version, so it must match the name of the installed package. + + :param version: The version number to show. If not provided, Click + will try to detect it. + :param param_decls: One or more option names. Defaults to the single + value ``"--version"``. + :param package_name: The package name to detect the version from. If + not provided, Click will try to detect it. + :param prog_name: The name of the CLI to show in the message. If not + provided, it will be detected from the command. + :param message: The message to show. The values ``%(prog)s``, + ``%(package)s``, and ``%(version)s`` are available. Defaults to + ``"%(prog)s, version %(version)s"``. + :param kwargs: Extra arguments are passed to :func:`option`. + :raise RuntimeError: ``version`` could not be detected. + + .. versionchanged:: 8.0 + Add the ``package_name`` parameter, and the ``%(package)s`` + value for messages. + + .. versionchanged:: 8.0 + Use :mod:`importlib.metadata` instead of ``pkg_resources``. The + version is detected based on the package name, not the entry + point name. The Python package name must match the installed + package name, or be passed with ``package_name=``. + """ + if message is None: + message = _("%(prog)s, version %(version)s") + + if version is None and package_name is None: + frame = inspect.currentframe() + f_back = frame.f_back if frame is not None else None + f_globals = f_back.f_globals if f_back is not None else None + # break reference cycle + # https://docs.python.org/3/library/inspect.html#the-interpreter-stack + del frame + + if f_globals is not None: + package_name = f_globals.get("__name__") + + if package_name == "__main__": + package_name = f_globals.get("__package__") + + if package_name: + package_name = package_name.partition(".")[0] + + def callback(ctx: Context, param: Parameter, value: bool) -> None: + if not value or ctx.resilient_parsing: + return + + nonlocal prog_name + nonlocal version + + if prog_name is None: + prog_name = ctx.find_root().info_name + + if version is None and package_name is not None: + metadata: t.Optional[types.ModuleType] + + try: + from importlib import metadata # type: ignore + except ImportError: + # Python < 3.8 + import importlib_metadata as metadata # type: ignore + + try: + version = metadata.version(package_name) # type: ignore + except metadata.PackageNotFoundError: # type: ignore + raise RuntimeError( + f"{package_name!r} is not installed. Try passing" + " 'package_name' instead." + ) from None + + if version is None: + raise RuntimeError( + f"Could not determine the version for {package_name!r} automatically." + ) + + echo( + message % {"prog": prog_name, "package": package_name, "version": version}, + color=ctx.color, + ) + ctx.exit() + + if not param_decls: + param_decls = ("--version",) + + kwargs.setdefault("is_flag", True) + kwargs.setdefault("expose_value", False) + kwargs.setdefault("is_eager", True) + kwargs.setdefault("help", _("Show the version and exit.")) + kwargs["callback"] = callback + return option(*param_decls, **kwargs) + + +def help_option(*param_decls: str, **kwargs: t.Any) -> t.Callable[[FC], FC]: + """Add a ``--help`` option which immediately prints the help page + and exits the program. + + This is usually unnecessary, as the ``--help`` option is added to + each command automatically unless ``add_help_option=False`` is + passed. + + :param param_decls: One or more option names. Defaults to the single + value ``"--help"``. + :param kwargs: Extra arguments are passed to :func:`option`. + """ + + def callback(ctx: Context, param: Parameter, value: bool) -> None: + if not value or ctx.resilient_parsing: + return + + echo(ctx.get_help(), color=ctx.color) + ctx.exit() + + if not param_decls: + param_decls = ("--help",) + + kwargs.setdefault("is_flag", True) + kwargs.setdefault("expose_value", False) + kwargs.setdefault("is_eager", True) + kwargs.setdefault("help", _("Show this message and exit.")) + kwargs["callback"] = callback + return option(*param_decls, **kwargs) diff --git a/venv/Lib/site-packages/click/exceptions.py b/venv/Lib/site-packages/click/exceptions.py new file mode 100644 index 00000000..fe68a361 --- /dev/null +++ b/venv/Lib/site-packages/click/exceptions.py @@ -0,0 +1,288 @@ +import typing as t +from gettext import gettext as _ +from gettext import ngettext + +from ._compat import get_text_stderr +from .utils import echo +from .utils import format_filename + +if t.TYPE_CHECKING: + from .core import Command + from .core import Context + from .core import Parameter + + +def _join_param_hints( + param_hint: t.Optional[t.Union[t.Sequence[str], str]] +) -> t.Optional[str]: + if param_hint is not None and not isinstance(param_hint, str): + return " / ".join(repr(x) for x in param_hint) + + return param_hint + + +class ClickException(Exception): + """An exception that Click can handle and show to the user.""" + + #: The exit code for this exception. + exit_code = 1 + + def __init__(self, message: str) -> None: + super().__init__(message) + self.message = message + + def format_message(self) -> str: + return self.message + + def __str__(self) -> str: + return self.message + + def show(self, file: t.Optional[t.IO[t.Any]] = None) -> None: + if file is None: + file = get_text_stderr() + + echo(_("Error: {message}").format(message=self.format_message()), file=file) + + +class UsageError(ClickException): + """An internal exception that signals a usage error. This typically + aborts any further handling. + + :param message: the error message to display. + :param ctx: optionally the context that caused this error. Click will + fill in the context automatically in some situations. + """ + + exit_code = 2 + + def __init__(self, message: str, ctx: t.Optional["Context"] = None) -> None: + super().__init__(message) + self.ctx = ctx + self.cmd: t.Optional["Command"] = self.ctx.command if self.ctx else None + + def show(self, file: t.Optional[t.IO[t.Any]] = None) -> None: + if file is None: + file = get_text_stderr() + color = None + hint = "" + if ( + self.ctx is not None + and self.ctx.command.get_help_option(self.ctx) is not None + ): + hint = _("Try '{command} {option}' for help.").format( + command=self.ctx.command_path, option=self.ctx.help_option_names[0] + ) + hint = f"{hint}\n" + if self.ctx is not None: + color = self.ctx.color + echo(f"{self.ctx.get_usage()}\n{hint}", file=file, color=color) + echo( + _("Error: {message}").format(message=self.format_message()), + file=file, + color=color, + ) + + +class BadParameter(UsageError): + """An exception that formats out a standardized error message for a + bad parameter. This is useful when thrown from a callback or type as + Click will attach contextual information to it (for instance, which + parameter it is). + + .. versionadded:: 2.0 + + :param param: the parameter object that caused this error. This can + be left out, and Click will attach this info itself + if possible. + :param param_hint: a string that shows up as parameter name. This + can be used as alternative to `param` in cases + where custom validation should happen. If it is + a string it's used as such, if it's a list then + each item is quoted and separated. + """ + + def __init__( + self, + message: str, + ctx: t.Optional["Context"] = None, + param: t.Optional["Parameter"] = None, + param_hint: t.Optional[str] = None, + ) -> None: + super().__init__(message, ctx) + self.param = param + self.param_hint = param_hint + + def format_message(self) -> str: + if self.param_hint is not None: + param_hint = self.param_hint + elif self.param is not None: + param_hint = self.param.get_error_hint(self.ctx) # type: ignore + else: + return _("Invalid value: {message}").format(message=self.message) + + return _("Invalid value for {param_hint}: {message}").format( + param_hint=_join_param_hints(param_hint), message=self.message + ) + + +class MissingParameter(BadParameter): + """Raised if click required an option or argument but it was not + provided when invoking the script. + + .. versionadded:: 4.0 + + :param param_type: a string that indicates the type of the parameter. + The default is to inherit the parameter type from + the given `param`. Valid values are ``'parameter'``, + ``'option'`` or ``'argument'``. + """ + + def __init__( + self, + message: t.Optional[str] = None, + ctx: t.Optional["Context"] = None, + param: t.Optional["Parameter"] = None, + param_hint: t.Optional[str] = None, + param_type: t.Optional[str] = None, + ) -> None: + super().__init__(message or "", ctx, param, param_hint) + self.param_type = param_type + + def format_message(self) -> str: + if self.param_hint is not None: + param_hint: t.Optional[str] = self.param_hint + elif self.param is not None: + param_hint = self.param.get_error_hint(self.ctx) # type: ignore + else: + param_hint = None + + param_hint = _join_param_hints(param_hint) + param_hint = f" {param_hint}" if param_hint else "" + + param_type = self.param_type + if param_type is None and self.param is not None: + param_type = self.param.param_type_name + + msg = self.message + if self.param is not None: + msg_extra = self.param.type.get_missing_message(self.param) + if msg_extra: + if msg: + msg += f". {msg_extra}" + else: + msg = msg_extra + + msg = f" {msg}" if msg else "" + + # Translate param_type for known types. + if param_type == "argument": + missing = _("Missing argument") + elif param_type == "option": + missing = _("Missing option") + elif param_type == "parameter": + missing = _("Missing parameter") + else: + missing = _("Missing {param_type}").format(param_type=param_type) + + return f"{missing}{param_hint}.{msg}" + + def __str__(self) -> str: + if not self.message: + param_name = self.param.name if self.param else None + return _("Missing parameter: {param_name}").format(param_name=param_name) + else: + return self.message + + +class NoSuchOption(UsageError): + """Raised if click attempted to handle an option that does not + exist. + + .. versionadded:: 4.0 + """ + + def __init__( + self, + option_name: str, + message: t.Optional[str] = None, + possibilities: t.Optional[t.Sequence[str]] = None, + ctx: t.Optional["Context"] = None, + ) -> None: + if message is None: + message = _("No such option: {name}").format(name=option_name) + + super().__init__(message, ctx) + self.option_name = option_name + self.possibilities = possibilities + + def format_message(self) -> str: + if not self.possibilities: + return self.message + + possibility_str = ", ".join(sorted(self.possibilities)) + suggest = ngettext( + "Did you mean {possibility}?", + "(Possible options: {possibilities})", + len(self.possibilities), + ).format(possibility=possibility_str, possibilities=possibility_str) + return f"{self.message} {suggest}" + + +class BadOptionUsage(UsageError): + """Raised if an option is generally supplied but the use of the option + was incorrect. This is for instance raised if the number of arguments + for an option is not correct. + + .. versionadded:: 4.0 + + :param option_name: the name of the option being used incorrectly. + """ + + def __init__( + self, option_name: str, message: str, ctx: t.Optional["Context"] = None + ) -> None: + super().__init__(message, ctx) + self.option_name = option_name + + +class BadArgumentUsage(UsageError): + """Raised if an argument is generally supplied but the use of the argument + was incorrect. This is for instance raised if the number of values + for an argument is not correct. + + .. versionadded:: 6.0 + """ + + +class FileError(ClickException): + """Raised if a file cannot be opened.""" + + def __init__(self, filename: str, hint: t.Optional[str] = None) -> None: + if hint is None: + hint = _("unknown error") + + super().__init__(hint) + self.ui_filename: str = format_filename(filename) + self.filename = filename + + def format_message(self) -> str: + return _("Could not open file {filename!r}: {message}").format( + filename=self.ui_filename, message=self.message + ) + + +class Abort(RuntimeError): + """An internal signalling exception that signals Click to abort.""" + + +class Exit(RuntimeError): + """An exception that indicates that the application should exit with some + status code. + + :param code: the status code to exit with. + """ + + __slots__ = ("exit_code",) + + def __init__(self, code: int = 0) -> None: + self.exit_code: int = code diff --git a/venv/Lib/site-packages/click/formatting.py b/venv/Lib/site-packages/click/formatting.py new file mode 100644 index 00000000..ddd2a2f8 --- /dev/null +++ b/venv/Lib/site-packages/click/formatting.py @@ -0,0 +1,301 @@ +import typing as t +from contextlib import contextmanager +from gettext import gettext as _ + +from ._compat import term_len +from .parser import split_opt + +# Can force a width. This is used by the test system +FORCED_WIDTH: t.Optional[int] = None + + +def measure_table(rows: t.Iterable[t.Tuple[str, str]]) -> t.Tuple[int, ...]: + widths: t.Dict[int, int] = {} + + for row in rows: + for idx, col in enumerate(row): + widths[idx] = max(widths.get(idx, 0), term_len(col)) + + return tuple(y for x, y in sorted(widths.items())) + + +def iter_rows( + rows: t.Iterable[t.Tuple[str, str]], col_count: int +) -> t.Iterator[t.Tuple[str, ...]]: + for row in rows: + yield row + ("",) * (col_count - len(row)) + + +def wrap_text( + text: str, + width: int = 78, + initial_indent: str = "", + subsequent_indent: str = "", + preserve_paragraphs: bool = False, +) -> str: + """A helper function that intelligently wraps text. By default, it + assumes that it operates on a single paragraph of text but if the + `preserve_paragraphs` parameter is provided it will intelligently + handle paragraphs (defined by two empty lines). + + If paragraphs are handled, a paragraph can be prefixed with an empty + line containing the ``\\b`` character (``\\x08``) to indicate that + no rewrapping should happen in that block. + + :param text: the text that should be rewrapped. + :param width: the maximum width for the text. + :param initial_indent: the initial indent that should be placed on the + first line as a string. + :param subsequent_indent: the indent string that should be placed on + each consecutive line. + :param preserve_paragraphs: if this flag is set then the wrapping will + intelligently handle paragraphs. + """ + from ._textwrap import TextWrapper + + text = text.expandtabs() + wrapper = TextWrapper( + width, + initial_indent=initial_indent, + subsequent_indent=subsequent_indent, + replace_whitespace=False, + ) + if not preserve_paragraphs: + return wrapper.fill(text) + + p: t.List[t.Tuple[int, bool, str]] = [] + buf: t.List[str] = [] + indent = None + + def _flush_par() -> None: + if not buf: + return + if buf[0].strip() == "\b": + p.append((indent or 0, True, "\n".join(buf[1:]))) + else: + p.append((indent or 0, False, " ".join(buf))) + del buf[:] + + for line in text.splitlines(): + if not line: + _flush_par() + indent = None + else: + if indent is None: + orig_len = term_len(line) + line = line.lstrip() + indent = orig_len - term_len(line) + buf.append(line) + _flush_par() + + rv = [] + for indent, raw, text in p: + with wrapper.extra_indent(" " * indent): + if raw: + rv.append(wrapper.indent_only(text)) + else: + rv.append(wrapper.fill(text)) + + return "\n\n".join(rv) + + +class HelpFormatter: + """This class helps with formatting text-based help pages. It's + usually just needed for very special internal cases, but it's also + exposed so that developers can write their own fancy outputs. + + At present, it always writes into memory. + + :param indent_increment: the additional increment for each level. + :param width: the width for the text. This defaults to the terminal + width clamped to a maximum of 78. + """ + + def __init__( + self, + indent_increment: int = 2, + width: t.Optional[int] = None, + max_width: t.Optional[int] = None, + ) -> None: + import shutil + + self.indent_increment = indent_increment + if max_width is None: + max_width = 80 + if width is None: + width = FORCED_WIDTH + if width is None: + width = max(min(shutil.get_terminal_size().columns, max_width) - 2, 50) + self.width = width + self.current_indent = 0 + self.buffer: t.List[str] = [] + + def write(self, string: str) -> None: + """Writes a unicode string into the internal buffer.""" + self.buffer.append(string) + + def indent(self) -> None: + """Increases the indentation.""" + self.current_indent += self.indent_increment + + def dedent(self) -> None: + """Decreases the indentation.""" + self.current_indent -= self.indent_increment + + def write_usage( + self, prog: str, args: str = "", prefix: t.Optional[str] = None + ) -> None: + """Writes a usage line into the buffer. + + :param prog: the program name. + :param args: whitespace separated list of arguments. + :param prefix: The prefix for the first line. Defaults to + ``"Usage: "``. + """ + if prefix is None: + prefix = f"{_('Usage:')} " + + usage_prefix = f"{prefix:>{self.current_indent}}{prog} " + text_width = self.width - self.current_indent + + if text_width >= (term_len(usage_prefix) + 20): + # The arguments will fit to the right of the prefix. + indent = " " * term_len(usage_prefix) + self.write( + wrap_text( + args, + text_width, + initial_indent=usage_prefix, + subsequent_indent=indent, + ) + ) + else: + # The prefix is too long, put the arguments on the next line. + self.write(usage_prefix) + self.write("\n") + indent = " " * (max(self.current_indent, term_len(prefix)) + 4) + self.write( + wrap_text( + args, text_width, initial_indent=indent, subsequent_indent=indent + ) + ) + + self.write("\n") + + def write_heading(self, heading: str) -> None: + """Writes a heading into the buffer.""" + self.write(f"{'':>{self.current_indent}}{heading}:\n") + + def write_paragraph(self) -> None: + """Writes a paragraph into the buffer.""" + if self.buffer: + self.write("\n") + + def write_text(self, text: str) -> None: + """Writes re-indented text into the buffer. This rewraps and + preserves paragraphs. + """ + indent = " " * self.current_indent + self.write( + wrap_text( + text, + self.width, + initial_indent=indent, + subsequent_indent=indent, + preserve_paragraphs=True, + ) + ) + self.write("\n") + + def write_dl( + self, + rows: t.Sequence[t.Tuple[str, str]], + col_max: int = 30, + col_spacing: int = 2, + ) -> None: + """Writes a definition list into the buffer. This is how options + and commands are usually formatted. + + :param rows: a list of two item tuples for the terms and values. + :param col_max: the maximum width of the first column. + :param col_spacing: the number of spaces between the first and + second column. + """ + rows = list(rows) + widths = measure_table(rows) + if len(widths) != 2: + raise TypeError("Expected two columns for definition list") + + first_col = min(widths[0], col_max) + col_spacing + + for first, second in iter_rows(rows, len(widths)): + self.write(f"{'':>{self.current_indent}}{first}") + if not second: + self.write("\n") + continue + if term_len(first) <= first_col - col_spacing: + self.write(" " * (first_col - term_len(first))) + else: + self.write("\n") + self.write(" " * (first_col + self.current_indent)) + + text_width = max(self.width - first_col - 2, 10) + wrapped_text = wrap_text(second, text_width, preserve_paragraphs=True) + lines = wrapped_text.splitlines() + + if lines: + self.write(f"{lines[0]}\n") + + for line in lines[1:]: + self.write(f"{'':>{first_col + self.current_indent}}{line}\n") + else: + self.write("\n") + + @contextmanager + def section(self, name: str) -> t.Iterator[None]: + """Helpful context manager that writes a paragraph, a heading, + and the indents. + + :param name: the section name that is written as heading. + """ + self.write_paragraph() + self.write_heading(name) + self.indent() + try: + yield + finally: + self.dedent() + + @contextmanager + def indentation(self) -> t.Iterator[None]: + """A context manager that increases the indentation.""" + self.indent() + try: + yield + finally: + self.dedent() + + def getvalue(self) -> str: + """Returns the buffer contents.""" + return "".join(self.buffer) + + +def join_options(options: t.Sequence[str]) -> t.Tuple[str, bool]: + """Given a list of option strings this joins them in the most appropriate + way and returns them in the form ``(formatted_string, + any_prefix_is_slash)`` where the second item in the tuple is a flag that + indicates if any of the option prefixes was a slash. + """ + rv = [] + any_prefix_is_slash = False + + for opt in options: + prefix = split_opt(opt)[0] + + if prefix == "/": + any_prefix_is_slash = True + + rv.append((len(prefix), opt)) + + rv.sort(key=lambda x: x[0]) + return ", ".join(x[1] for x in rv), any_prefix_is_slash diff --git a/venv/Lib/site-packages/click/globals.py b/venv/Lib/site-packages/click/globals.py new file mode 100644 index 00000000..480058f1 --- /dev/null +++ b/venv/Lib/site-packages/click/globals.py @@ -0,0 +1,68 @@ +import typing as t +from threading import local + +if t.TYPE_CHECKING: + import typing_extensions as te + from .core import Context + +_local = local() + + +@t.overload +def get_current_context(silent: "te.Literal[False]" = False) -> "Context": + ... + + +@t.overload +def get_current_context(silent: bool = ...) -> t.Optional["Context"]: + ... + + +def get_current_context(silent: bool = False) -> t.Optional["Context"]: + """Returns the current click context. This can be used as a way to + access the current context object from anywhere. This is a more implicit + alternative to the :func:`pass_context` decorator. This function is + primarily useful for helpers such as :func:`echo` which might be + interested in changing its behavior based on the current context. + + To push the current context, :meth:`Context.scope` can be used. + + .. versionadded:: 5.0 + + :param silent: if set to `True` the return value is `None` if no context + is available. The default behavior is to raise a + :exc:`RuntimeError`. + """ + try: + return t.cast("Context", _local.stack[-1]) + except (AttributeError, IndexError) as e: + if not silent: + raise RuntimeError("There is no active click context.") from e + + return None + + +def push_context(ctx: "Context") -> None: + """Pushes a new context to the current stack.""" + _local.__dict__.setdefault("stack", []).append(ctx) + + +def pop_context() -> None: + """Removes the top level from the stack.""" + _local.stack.pop() + + +def resolve_color_default(color: t.Optional[bool] = None) -> t.Optional[bool]: + """Internal helper to get the default value of the color flag. If a + value is passed it's returned unchanged, otherwise it's looked up from + the current context. + """ + if color is not None: + return color + + ctx = get_current_context(silent=True) + + if ctx is not None: + return ctx.color + + return None diff --git a/venv/Lib/site-packages/click/parser.py b/venv/Lib/site-packages/click/parser.py new file mode 100644 index 00000000..5fa7adfa --- /dev/null +++ b/venv/Lib/site-packages/click/parser.py @@ -0,0 +1,529 @@ +""" +This module started out as largely a copy paste from the stdlib's +optparse module with the features removed that we do not need from +optparse because we implement them in Click on a higher level (for +instance type handling, help formatting and a lot more). + +The plan is to remove more and more from here over time. + +The reason this is a different module and not optparse from the stdlib +is that there are differences in 2.x and 3.x about the error messages +generated and optparse in the stdlib uses gettext for no good reason +and might cause us issues. + +Click uses parts of optparse written by Gregory P. Ward and maintained +by the Python Software Foundation. This is limited to code in parser.py. + +Copyright 2001-2006 Gregory P. Ward. All rights reserved. +Copyright 2002-2006 Python Software Foundation. All rights reserved. +""" +# This code uses parts of optparse written by Gregory P. Ward and +# maintained by the Python Software Foundation. +# Copyright 2001-2006 Gregory P. Ward +# Copyright 2002-2006 Python Software Foundation +import typing as t +from collections import deque +from gettext import gettext as _ +from gettext import ngettext + +from .exceptions import BadArgumentUsage +from .exceptions import BadOptionUsage +from .exceptions import NoSuchOption +from .exceptions import UsageError + +if t.TYPE_CHECKING: + import typing_extensions as te + from .core import Argument as CoreArgument + from .core import Context + from .core import Option as CoreOption + from .core import Parameter as CoreParameter + +V = t.TypeVar("V") + +# Sentinel value that indicates an option was passed as a flag without a +# value but is not a flag option. Option.consume_value uses this to +# prompt or use the flag_value. +_flag_needs_value = object() + + +def _unpack_args( + args: t.Sequence[str], nargs_spec: t.Sequence[int] +) -> t.Tuple[t.Sequence[t.Union[str, t.Sequence[t.Optional[str]], None]], t.List[str]]: + """Given an iterable of arguments and an iterable of nargs specifications, + it returns a tuple with all the unpacked arguments at the first index + and all remaining arguments as the second. + + The nargs specification is the number of arguments that should be consumed + or `-1` to indicate that this position should eat up all the remainders. + + Missing items are filled with `None`. + """ + args = deque(args) + nargs_spec = deque(nargs_spec) + rv: t.List[t.Union[str, t.Tuple[t.Optional[str], ...], None]] = [] + spos: t.Optional[int] = None + + def _fetch(c: "te.Deque[V]") -> t.Optional[V]: + try: + if spos is None: + return c.popleft() + else: + return c.pop() + except IndexError: + return None + + while nargs_spec: + nargs = _fetch(nargs_spec) + + if nargs is None: + continue + + if nargs == 1: + rv.append(_fetch(args)) + elif nargs > 1: + x = [_fetch(args) for _ in range(nargs)] + + # If we're reversed, we're pulling in the arguments in reverse, + # so we need to turn them around. + if spos is not None: + x.reverse() + + rv.append(tuple(x)) + elif nargs < 0: + if spos is not None: + raise TypeError("Cannot have two nargs < 0") + + spos = len(rv) + rv.append(None) + + # spos is the position of the wildcard (star). If it's not `None`, + # we fill it with the remainder. + if spos is not None: + rv[spos] = tuple(args) + args = [] + rv[spos + 1 :] = reversed(rv[spos + 1 :]) + + return tuple(rv), list(args) + + +def split_opt(opt: str) -> t.Tuple[str, str]: + first = opt[:1] + if first.isalnum(): + return "", opt + if opt[1:2] == first: + return opt[:2], opt[2:] + return first, opt[1:] + + +def normalize_opt(opt: str, ctx: t.Optional["Context"]) -> str: + if ctx is None or ctx.token_normalize_func is None: + return opt + prefix, opt = split_opt(opt) + return f"{prefix}{ctx.token_normalize_func(opt)}" + + +def split_arg_string(string: str) -> t.List[str]: + """Split an argument string as with :func:`shlex.split`, but don't + fail if the string is incomplete. Ignores a missing closing quote or + incomplete escape sequence and uses the partial token as-is. + + .. code-block:: python + + split_arg_string("example 'my file") + ["example", "my file"] + + split_arg_string("example my\\") + ["example", "my"] + + :param string: String to split. + """ + import shlex + + lex = shlex.shlex(string, posix=True) + lex.whitespace_split = True + lex.commenters = "" + out = [] + + try: + for token in lex: + out.append(token) + except ValueError: + # Raised when end-of-string is reached in an invalid state. Use + # the partial token as-is. The quote or escape character is in + # lex.state, not lex.token. + out.append(lex.token) + + return out + + +class Option: + def __init__( + self, + obj: "CoreOption", + opts: t.Sequence[str], + dest: t.Optional[str], + action: t.Optional[str] = None, + nargs: int = 1, + const: t.Optional[t.Any] = None, + ): + self._short_opts = [] + self._long_opts = [] + self.prefixes: t.Set[str] = set() + + for opt in opts: + prefix, value = split_opt(opt) + if not prefix: + raise ValueError(f"Invalid start character for option ({opt})") + self.prefixes.add(prefix[0]) + if len(prefix) == 1 and len(value) == 1: + self._short_opts.append(opt) + else: + self._long_opts.append(opt) + self.prefixes.add(prefix) + + if action is None: + action = "store" + + self.dest = dest + self.action = action + self.nargs = nargs + self.const = const + self.obj = obj + + @property + def takes_value(self) -> bool: + return self.action in ("store", "append") + + def process(self, value: t.Any, state: "ParsingState") -> None: + if self.action == "store": + state.opts[self.dest] = value # type: ignore + elif self.action == "store_const": + state.opts[self.dest] = self.const # type: ignore + elif self.action == "append": + state.opts.setdefault(self.dest, []).append(value) # type: ignore + elif self.action == "append_const": + state.opts.setdefault(self.dest, []).append(self.const) # type: ignore + elif self.action == "count": + state.opts[self.dest] = state.opts.get(self.dest, 0) + 1 # type: ignore + else: + raise ValueError(f"unknown action '{self.action}'") + state.order.append(self.obj) + + +class Argument: + def __init__(self, obj: "CoreArgument", dest: t.Optional[str], nargs: int = 1): + self.dest = dest + self.nargs = nargs + self.obj = obj + + def process( + self, + value: t.Union[t.Optional[str], t.Sequence[t.Optional[str]]], + state: "ParsingState", + ) -> None: + if self.nargs > 1: + assert value is not None + holes = sum(1 for x in value if x is None) + if holes == len(value): + value = None + elif holes != 0: + raise BadArgumentUsage( + _("Argument {name!r} takes {nargs} values.").format( + name=self.dest, nargs=self.nargs + ) + ) + + if self.nargs == -1 and self.obj.envvar is not None and value == (): + # Replace empty tuple with None so that a value from the + # environment may be tried. + value = None + + state.opts[self.dest] = value # type: ignore + state.order.append(self.obj) + + +class ParsingState: + def __init__(self, rargs: t.List[str]) -> None: + self.opts: t.Dict[str, t.Any] = {} + self.largs: t.List[str] = [] + self.rargs = rargs + self.order: t.List["CoreParameter"] = [] + + +class OptionParser: + """The option parser is an internal class that is ultimately used to + parse options and arguments. It's modelled after optparse and brings + a similar but vastly simplified API. It should generally not be used + directly as the high level Click classes wrap it for you. + + It's not nearly as extensible as optparse or argparse as it does not + implement features that are implemented on a higher level (such as + types or defaults). + + :param ctx: optionally the :class:`~click.Context` where this parser + should go with. + """ + + def __init__(self, ctx: t.Optional["Context"] = None) -> None: + #: The :class:`~click.Context` for this parser. This might be + #: `None` for some advanced use cases. + self.ctx = ctx + #: This controls how the parser deals with interspersed arguments. + #: If this is set to `False`, the parser will stop on the first + #: non-option. Click uses this to implement nested subcommands + #: safely. + self.allow_interspersed_args: bool = True + #: This tells the parser how to deal with unknown options. By + #: default it will error out (which is sensible), but there is a + #: second mode where it will ignore it and continue processing + #: after shifting all the unknown options into the resulting args. + self.ignore_unknown_options: bool = False + + if ctx is not None: + self.allow_interspersed_args = ctx.allow_interspersed_args + self.ignore_unknown_options = ctx.ignore_unknown_options + + self._short_opt: t.Dict[str, Option] = {} + self._long_opt: t.Dict[str, Option] = {} + self._opt_prefixes = {"-", "--"} + self._args: t.List[Argument] = [] + + def add_option( + self, + obj: "CoreOption", + opts: t.Sequence[str], + dest: t.Optional[str], + action: t.Optional[str] = None, + nargs: int = 1, + const: t.Optional[t.Any] = None, + ) -> None: + """Adds a new option named `dest` to the parser. The destination + is not inferred (unlike with optparse) and needs to be explicitly + provided. Action can be any of ``store``, ``store_const``, + ``append``, ``append_const`` or ``count``. + + The `obj` can be used to identify the option in the order list + that is returned from the parser. + """ + opts = [normalize_opt(opt, self.ctx) for opt in opts] + option = Option(obj, opts, dest, action=action, nargs=nargs, const=const) + self._opt_prefixes.update(option.prefixes) + for opt in option._short_opts: + self._short_opt[opt] = option + for opt in option._long_opts: + self._long_opt[opt] = option + + def add_argument( + self, obj: "CoreArgument", dest: t.Optional[str], nargs: int = 1 + ) -> None: + """Adds a positional argument named `dest` to the parser. + + The `obj` can be used to identify the option in the order list + that is returned from the parser. + """ + self._args.append(Argument(obj, dest=dest, nargs=nargs)) + + def parse_args( + self, args: t.List[str] + ) -> t.Tuple[t.Dict[str, t.Any], t.List[str], t.List["CoreParameter"]]: + """Parses positional arguments and returns ``(values, args, order)`` + for the parsed options and arguments as well as the leftover + arguments if there are any. The order is a list of objects as they + appear on the command line. If arguments appear multiple times they + will be memorized multiple times as well. + """ + state = ParsingState(args) + try: + self._process_args_for_options(state) + self._process_args_for_args(state) + except UsageError: + if self.ctx is None or not self.ctx.resilient_parsing: + raise + return state.opts, state.largs, state.order + + def _process_args_for_args(self, state: ParsingState) -> None: + pargs, args = _unpack_args( + state.largs + state.rargs, [x.nargs for x in self._args] + ) + + for idx, arg in enumerate(self._args): + arg.process(pargs[idx], state) + + state.largs = args + state.rargs = [] + + def _process_args_for_options(self, state: ParsingState) -> None: + while state.rargs: + arg = state.rargs.pop(0) + arglen = len(arg) + # Double dashes always handled explicitly regardless of what + # prefixes are valid. + if arg == "--": + return + elif arg[:1] in self._opt_prefixes and arglen > 1: + self._process_opts(arg, state) + elif self.allow_interspersed_args: + state.largs.append(arg) + else: + state.rargs.insert(0, arg) + return + + # Say this is the original argument list: + # [arg0, arg1, ..., arg(i-1), arg(i), arg(i+1), ..., arg(N-1)] + # ^ + # (we are about to process arg(i)). + # + # Then rargs is [arg(i), ..., arg(N-1)] and largs is a *subset* of + # [arg0, ..., arg(i-1)] (any options and their arguments will have + # been removed from largs). + # + # The while loop will usually consume 1 or more arguments per pass. + # If it consumes 1 (eg. arg is an option that takes no arguments), + # then after _process_arg() is done the situation is: + # + # largs = subset of [arg0, ..., arg(i)] + # rargs = [arg(i+1), ..., arg(N-1)] + # + # If allow_interspersed_args is false, largs will always be + # *empty* -- still a subset of [arg0, ..., arg(i-1)], but + # not a very interesting subset! + + def _match_long_opt( + self, opt: str, explicit_value: t.Optional[str], state: ParsingState + ) -> None: + if opt not in self._long_opt: + from difflib import get_close_matches + + possibilities = get_close_matches(opt, self._long_opt) + raise NoSuchOption(opt, possibilities=possibilities, ctx=self.ctx) + + option = self._long_opt[opt] + if option.takes_value: + # At this point it's safe to modify rargs by injecting the + # explicit value, because no exception is raised in this + # branch. This means that the inserted value will be fully + # consumed. + if explicit_value is not None: + state.rargs.insert(0, explicit_value) + + value = self._get_value_from_state(opt, option, state) + + elif explicit_value is not None: + raise BadOptionUsage( + opt, _("Option {name!r} does not take a value.").format(name=opt) + ) + + else: + value = None + + option.process(value, state) + + def _match_short_opt(self, arg: str, state: ParsingState) -> None: + stop = False + i = 1 + prefix = arg[0] + unknown_options = [] + + for ch in arg[1:]: + opt = normalize_opt(f"{prefix}{ch}", self.ctx) + option = self._short_opt.get(opt) + i += 1 + + if not option: + if self.ignore_unknown_options: + unknown_options.append(ch) + continue + raise NoSuchOption(opt, ctx=self.ctx) + if option.takes_value: + # Any characters left in arg? Pretend they're the + # next arg, and stop consuming characters of arg. + if i < len(arg): + state.rargs.insert(0, arg[i:]) + stop = True + + value = self._get_value_from_state(opt, option, state) + + else: + value = None + + option.process(value, state) + + if stop: + break + + # If we got any unknown options we recombine the string of the + # remaining options and re-attach the prefix, then report that + # to the state as new larg. This way there is basic combinatorics + # that can be achieved while still ignoring unknown arguments. + if self.ignore_unknown_options and unknown_options: + state.largs.append(f"{prefix}{''.join(unknown_options)}") + + def _get_value_from_state( + self, option_name: str, option: Option, state: ParsingState + ) -> t.Any: + nargs = option.nargs + + if len(state.rargs) < nargs: + if option.obj._flag_needs_value: + # Option allows omitting the value. + value = _flag_needs_value + else: + raise BadOptionUsage( + option_name, + ngettext( + "Option {name!r} requires an argument.", + "Option {name!r} requires {nargs} arguments.", + nargs, + ).format(name=option_name, nargs=nargs), + ) + elif nargs == 1: + next_rarg = state.rargs[0] + + if ( + option.obj._flag_needs_value + and isinstance(next_rarg, str) + and next_rarg[:1] in self._opt_prefixes + and len(next_rarg) > 1 + ): + # The next arg looks like the start of an option, don't + # use it as the value if omitting the value is allowed. + value = _flag_needs_value + else: + value = state.rargs.pop(0) + else: + value = tuple(state.rargs[:nargs]) + del state.rargs[:nargs] + + return value + + def _process_opts(self, arg: str, state: ParsingState) -> None: + explicit_value = None + # Long option handling happens in two parts. The first part is + # supporting explicitly attached values. In any case, we will try + # to long match the option first. + if "=" in arg: + long_opt, explicit_value = arg.split("=", 1) + else: + long_opt = arg + norm_long_opt = normalize_opt(long_opt, self.ctx) + + # At this point we will match the (assumed) long option through + # the long option matching code. Note that this allows options + # like "-foo" to be matched as long options. + try: + self._match_long_opt(norm_long_opt, explicit_value, state) + except NoSuchOption: + # At this point the long option matching failed, and we need + # to try with short options. However there is a special rule + # which says, that if we have a two character options prefix + # (applies to "--foo" for instance), we do not dispatch to the + # short option code and will instead raise the no option + # error. + if arg[:2] not in self._opt_prefixes: + self._match_short_opt(arg, state) + return + + if not self.ignore_unknown_options: + raise + + state.largs.append(arg) diff --git a/venv/Lib/site-packages/click/py.typed b/venv/Lib/site-packages/click/py.typed new file mode 100644 index 00000000..e69de29b diff --git a/venv/Lib/site-packages/click/shell_completion.py b/venv/Lib/site-packages/click/shell_completion.py new file mode 100644 index 00000000..dc9e00b9 --- /dev/null +++ b/venv/Lib/site-packages/click/shell_completion.py @@ -0,0 +1,596 @@ +import os +import re +import typing as t +from gettext import gettext as _ + +from .core import Argument +from .core import BaseCommand +from .core import Context +from .core import MultiCommand +from .core import Option +from .core import Parameter +from .core import ParameterSource +from .parser import split_arg_string +from .utils import echo + + +def shell_complete( + cli: BaseCommand, + ctx_args: t.MutableMapping[str, t.Any], + prog_name: str, + complete_var: str, + instruction: str, +) -> int: + """Perform shell completion for the given CLI program. + + :param cli: Command being called. + :param ctx_args: Extra arguments to pass to + ``cli.make_context``. + :param prog_name: Name of the executable in the shell. + :param complete_var: Name of the environment variable that holds + the completion instruction. + :param instruction: Value of ``complete_var`` with the completion + instruction and shell, in the form ``instruction_shell``. + :return: Status code to exit with. + """ + shell, _, instruction = instruction.partition("_") + comp_cls = get_completion_class(shell) + + if comp_cls is None: + return 1 + + comp = comp_cls(cli, ctx_args, prog_name, complete_var) + + if instruction == "source": + echo(comp.source()) + return 0 + + if instruction == "complete": + echo(comp.complete()) + return 0 + + return 1 + + +class CompletionItem: + """Represents a completion value and metadata about the value. The + default metadata is ``type`` to indicate special shell handling, + and ``help`` if a shell supports showing a help string next to the + value. + + Arbitrary parameters can be passed when creating the object, and + accessed using ``item.attr``. If an attribute wasn't passed, + accessing it returns ``None``. + + :param value: The completion suggestion. + :param type: Tells the shell script to provide special completion + support for the type. Click uses ``"dir"`` and ``"file"``. + :param help: String shown next to the value if supported. + :param kwargs: Arbitrary metadata. The built-in implementations + don't use this, but custom type completions paired with custom + shell support could use it. + """ + + __slots__ = ("value", "type", "help", "_info") + + def __init__( + self, + value: t.Any, + type: str = "plain", + help: t.Optional[str] = None, + **kwargs: t.Any, + ) -> None: + self.value: t.Any = value + self.type: str = type + self.help: t.Optional[str] = help + self._info = kwargs + + def __getattr__(self, name: str) -> t.Any: + return self._info.get(name) + + +# Only Bash >= 4.4 has the nosort option. +_SOURCE_BASH = """\ +%(complete_func)s() { + local IFS=$'\\n' + local response + + response=$(env COMP_WORDS="${COMP_WORDS[*]}" COMP_CWORD=$COMP_CWORD \ +%(complete_var)s=bash_complete $1) + + for completion in $response; do + IFS=',' read type value <<< "$completion" + + if [[ $type == 'dir' ]]; then + COMPREPLY=() + compopt -o dirnames + elif [[ $type == 'file' ]]; then + COMPREPLY=() + compopt -o default + elif [[ $type == 'plain' ]]; then + COMPREPLY+=($value) + fi + done + + return 0 +} + +%(complete_func)s_setup() { + complete -o nosort -F %(complete_func)s %(prog_name)s +} + +%(complete_func)s_setup; +""" + +_SOURCE_ZSH = """\ +#compdef %(prog_name)s + +%(complete_func)s() { + local -a completions + local -a completions_with_descriptions + local -a response + (( ! $+commands[%(prog_name)s] )) && return 1 + + response=("${(@f)$(env COMP_WORDS="${words[*]}" COMP_CWORD=$((CURRENT-1)) \ +%(complete_var)s=zsh_complete %(prog_name)s)}") + + for type key descr in ${response}; do + if [[ "$type" == "plain" ]]; then + if [[ "$descr" == "_" ]]; then + completions+=("$key") + else + completions_with_descriptions+=("$key":"$descr") + fi + elif [[ "$type" == "dir" ]]; then + _path_files -/ + elif [[ "$type" == "file" ]]; then + _path_files -f + fi + done + + if [ -n "$completions_with_descriptions" ]; then + _describe -V unsorted completions_with_descriptions -U + fi + + if [ -n "$completions" ]; then + compadd -U -V unsorted -a completions + fi +} + +if [[ $zsh_eval_context[-1] == loadautofunc ]]; then + # autoload from fpath, call function directly + %(complete_func)s "$@" +else + # eval/source/. command, register function for later + compdef %(complete_func)s %(prog_name)s +fi +""" + +_SOURCE_FISH = """\ +function %(complete_func)s; + set -l response (env %(complete_var)s=fish_complete COMP_WORDS=(commandline -cp) \ +COMP_CWORD=(commandline -t) %(prog_name)s); + + for completion in $response; + set -l metadata (string split "," $completion); + + if test $metadata[1] = "dir"; + __fish_complete_directories $metadata[2]; + else if test $metadata[1] = "file"; + __fish_complete_path $metadata[2]; + else if test $metadata[1] = "plain"; + echo $metadata[2]; + end; + end; +end; + +complete --no-files --command %(prog_name)s --arguments \ +"(%(complete_func)s)"; +""" + + +class ShellComplete: + """Base class for providing shell completion support. A subclass for + a given shell will override attributes and methods to implement the + completion instructions (``source`` and ``complete``). + + :param cli: Command being called. + :param prog_name: Name of the executable in the shell. + :param complete_var: Name of the environment variable that holds + the completion instruction. + + .. versionadded:: 8.0 + """ + + name: t.ClassVar[str] + """Name to register the shell as with :func:`add_completion_class`. + This is used in completion instructions (``{name}_source`` and + ``{name}_complete``). + """ + + source_template: t.ClassVar[str] + """Completion script template formatted by :meth:`source`. This must + be provided by subclasses. + """ + + def __init__( + self, + cli: BaseCommand, + ctx_args: t.MutableMapping[str, t.Any], + prog_name: str, + complete_var: str, + ) -> None: + self.cli = cli + self.ctx_args = ctx_args + self.prog_name = prog_name + self.complete_var = complete_var + + @property + def func_name(self) -> str: + """The name of the shell function defined by the completion + script. + """ + safe_name = re.sub(r"\W*", "", self.prog_name.replace("-", "_"), flags=re.ASCII) + return f"_{safe_name}_completion" + + def source_vars(self) -> t.Dict[str, t.Any]: + """Vars for formatting :attr:`source_template`. + + By default this provides ``complete_func``, ``complete_var``, + and ``prog_name``. + """ + return { + "complete_func": self.func_name, + "complete_var": self.complete_var, + "prog_name": self.prog_name, + } + + def source(self) -> str: + """Produce the shell script that defines the completion + function. By default this ``%``-style formats + :attr:`source_template` with the dict returned by + :meth:`source_vars`. + """ + return self.source_template % self.source_vars() + + def get_completion_args(self) -> t.Tuple[t.List[str], str]: + """Use the env vars defined by the shell script to return a + tuple of ``args, incomplete``. This must be implemented by + subclasses. + """ + raise NotImplementedError + + def get_completions( + self, args: t.List[str], incomplete: str + ) -> t.List[CompletionItem]: + """Determine the context and last complete command or parameter + from the complete args. Call that object's ``shell_complete`` + method to get the completions for the incomplete value. + + :param args: List of complete args before the incomplete value. + :param incomplete: Value being completed. May be empty. + """ + ctx = _resolve_context(self.cli, self.ctx_args, self.prog_name, args) + obj, incomplete = _resolve_incomplete(ctx, args, incomplete) + return obj.shell_complete(ctx, incomplete) + + def format_completion(self, item: CompletionItem) -> str: + """Format a completion item into the form recognized by the + shell script. This must be implemented by subclasses. + + :param item: Completion item to format. + """ + raise NotImplementedError + + def complete(self) -> str: + """Produce the completion data to send back to the shell. + + By default this calls :meth:`get_completion_args`, gets the + completions, then calls :meth:`format_completion` for each + completion. + """ + args, incomplete = self.get_completion_args() + completions = self.get_completions(args, incomplete) + out = [self.format_completion(item) for item in completions] + return "\n".join(out) + + +class BashComplete(ShellComplete): + """Shell completion for Bash.""" + + name = "bash" + source_template = _SOURCE_BASH + + @staticmethod + def _check_version() -> None: + import subprocess + + output = subprocess.run( + ["bash", "-c", 'echo "${BASH_VERSION}"'], stdout=subprocess.PIPE + ) + match = re.search(r"^(\d+)\.(\d+)\.\d+", output.stdout.decode()) + + if match is not None: + major, minor = match.groups() + + if major < "4" or major == "4" and minor < "4": + echo( + _( + "Shell completion is not supported for Bash" + " versions older than 4.4." + ), + err=True, + ) + else: + echo( + _("Couldn't detect Bash version, shell completion is not supported."), + err=True, + ) + + def source(self) -> str: + self._check_version() + return super().source() + + def get_completion_args(self) -> t.Tuple[t.List[str], str]: + cwords = split_arg_string(os.environ["COMP_WORDS"]) + cword = int(os.environ["COMP_CWORD"]) + args = cwords[1:cword] + + try: + incomplete = cwords[cword] + except IndexError: + incomplete = "" + + return args, incomplete + + def format_completion(self, item: CompletionItem) -> str: + return f"{item.type},{item.value}" + + +class ZshComplete(ShellComplete): + """Shell completion for Zsh.""" + + name = "zsh" + source_template = _SOURCE_ZSH + + def get_completion_args(self) -> t.Tuple[t.List[str], str]: + cwords = split_arg_string(os.environ["COMP_WORDS"]) + cword = int(os.environ["COMP_CWORD"]) + args = cwords[1:cword] + + try: + incomplete = cwords[cword] + except IndexError: + incomplete = "" + + return args, incomplete + + def format_completion(self, item: CompletionItem) -> str: + return f"{item.type}\n{item.value}\n{item.help if item.help else '_'}" + + +class FishComplete(ShellComplete): + """Shell completion for Fish.""" + + name = "fish" + source_template = _SOURCE_FISH + + def get_completion_args(self) -> t.Tuple[t.List[str], str]: + cwords = split_arg_string(os.environ["COMP_WORDS"]) + incomplete = os.environ["COMP_CWORD"] + args = cwords[1:] + + # Fish stores the partial word in both COMP_WORDS and + # COMP_CWORD, remove it from complete args. + if incomplete and args and args[-1] == incomplete: + args.pop() + + return args, incomplete + + def format_completion(self, item: CompletionItem) -> str: + if item.help: + return f"{item.type},{item.value}\t{item.help}" + + return f"{item.type},{item.value}" + + +ShellCompleteType = t.TypeVar("ShellCompleteType", bound=t.Type[ShellComplete]) + + +_available_shells: t.Dict[str, t.Type[ShellComplete]] = { + "bash": BashComplete, + "fish": FishComplete, + "zsh": ZshComplete, +} + + +def add_completion_class( + cls: ShellCompleteType, name: t.Optional[str] = None +) -> ShellCompleteType: + """Register a :class:`ShellComplete` subclass under the given name. + The name will be provided by the completion instruction environment + variable during completion. + + :param cls: The completion class that will handle completion for the + shell. + :param name: Name to register the class under. Defaults to the + class's ``name`` attribute. + """ + if name is None: + name = cls.name + + _available_shells[name] = cls + + return cls + + +def get_completion_class(shell: str) -> t.Optional[t.Type[ShellComplete]]: + """Look up a registered :class:`ShellComplete` subclass by the name + provided by the completion instruction environment variable. If the + name isn't registered, returns ``None``. + + :param shell: Name the class is registered under. + """ + return _available_shells.get(shell) + + +def _is_incomplete_argument(ctx: Context, param: Parameter) -> bool: + """Determine if the given parameter is an argument that can still + accept values. + + :param ctx: Invocation context for the command represented by the + parsed complete args. + :param param: Argument object being checked. + """ + if not isinstance(param, Argument): + return False + + assert param.name is not None + # Will be None if expose_value is False. + value = ctx.params.get(param.name) + return ( + param.nargs == -1 + or ctx.get_parameter_source(param.name) is not ParameterSource.COMMANDLINE + or ( + param.nargs > 1 + and isinstance(value, (tuple, list)) + and len(value) < param.nargs + ) + ) + + +def _start_of_option(ctx: Context, value: str) -> bool: + """Check if the value looks like the start of an option.""" + if not value: + return False + + c = value[0] + return c in ctx._opt_prefixes + + +def _is_incomplete_option(ctx: Context, args: t.List[str], param: Parameter) -> bool: + """Determine if the given parameter is an option that needs a value. + + :param args: List of complete args before the incomplete value. + :param param: Option object being checked. + """ + if not isinstance(param, Option): + return False + + if param.is_flag or param.count: + return False + + last_option = None + + for index, arg in enumerate(reversed(args)): + if index + 1 > param.nargs: + break + + if _start_of_option(ctx, arg): + last_option = arg + + return last_option is not None and last_option in param.opts + + +def _resolve_context( + cli: BaseCommand, + ctx_args: t.MutableMapping[str, t.Any], + prog_name: str, + args: t.List[str], +) -> Context: + """Produce the context hierarchy starting with the command and + traversing the complete arguments. This only follows the commands, + it doesn't trigger input prompts or callbacks. + + :param cli: Command being called. + :param prog_name: Name of the executable in the shell. + :param args: List of complete args before the incomplete value. + """ + ctx_args["resilient_parsing"] = True + ctx = cli.make_context(prog_name, args.copy(), **ctx_args) + args = ctx.protected_args + ctx.args + + while args: + command = ctx.command + + if isinstance(command, MultiCommand): + if not command.chain: + name, cmd, args = command.resolve_command(ctx, args) + + if cmd is None: + return ctx + + ctx = cmd.make_context(name, args, parent=ctx, resilient_parsing=True) + args = ctx.protected_args + ctx.args + else: + sub_ctx = ctx + + while args: + name, cmd, args = command.resolve_command(ctx, args) + + if cmd is None: + return ctx + + sub_ctx = cmd.make_context( + name, + args, + parent=ctx, + allow_extra_args=True, + allow_interspersed_args=False, + resilient_parsing=True, + ) + args = sub_ctx.args + + ctx = sub_ctx + args = [*sub_ctx.protected_args, *sub_ctx.args] + else: + break + + return ctx + + +def _resolve_incomplete( + ctx: Context, args: t.List[str], incomplete: str +) -> t.Tuple[t.Union[BaseCommand, Parameter], str]: + """Find the Click object that will handle the completion of the + incomplete value. Return the object and the incomplete value. + + :param ctx: Invocation context for the command represented by + the parsed complete args. + :param args: List of complete args before the incomplete value. + :param incomplete: Value being completed. May be empty. + """ + # Different shells treat an "=" between a long option name and + # value differently. Might keep the value joined, return the "=" + # as a separate item, or return the split name and value. Always + # split and discard the "=" to make completion easier. + if incomplete == "=": + incomplete = "" + elif "=" in incomplete and _start_of_option(ctx, incomplete): + name, _, incomplete = incomplete.partition("=") + args.append(name) + + # The "--" marker tells Click to stop treating values as options + # even if they start with the option character. If it hasn't been + # given and the incomplete arg looks like an option, the current + # command will provide option name completions. + if "--" not in args and _start_of_option(ctx, incomplete): + return ctx.command, incomplete + + params = ctx.command.get_params(ctx) + + # If the last complete arg is an option name with an incomplete + # value, the option will provide value completions. + for param in params: + if _is_incomplete_option(ctx, args, param): + return param, incomplete + + # It's not an option name or value. The first argument without a + # parsed value will provide value completions. + for param in params: + if _is_incomplete_argument(ctx, param): + return param, incomplete + + # There were no unparsed arguments, the command may be a group that + # will provide command name completions. + return ctx.command, incomplete diff --git a/venv/Lib/site-packages/click/termui.py b/venv/Lib/site-packages/click/termui.py new file mode 100644 index 00000000..db7a4b28 --- /dev/null +++ b/venv/Lib/site-packages/click/termui.py @@ -0,0 +1,784 @@ +import inspect +import io +import itertools +import sys +import typing as t +from gettext import gettext as _ + +from ._compat import isatty +from ._compat import strip_ansi +from .exceptions import Abort +from .exceptions import UsageError +from .globals import resolve_color_default +from .types import Choice +from .types import convert_type +from .types import ParamType +from .utils import echo +from .utils import LazyFile + +if t.TYPE_CHECKING: + from ._termui_impl import ProgressBar + +V = t.TypeVar("V") + +# The prompt functions to use. The doc tools currently override these +# functions to customize how they work. +visible_prompt_func: t.Callable[[str], str] = input + +_ansi_colors = { + "black": 30, + "red": 31, + "green": 32, + "yellow": 33, + "blue": 34, + "magenta": 35, + "cyan": 36, + "white": 37, + "reset": 39, + "bright_black": 90, + "bright_red": 91, + "bright_green": 92, + "bright_yellow": 93, + "bright_blue": 94, + "bright_magenta": 95, + "bright_cyan": 96, + "bright_white": 97, +} +_ansi_reset_all = "\033[0m" + + +def hidden_prompt_func(prompt: str) -> str: + import getpass + + return getpass.getpass(prompt) + + +def _build_prompt( + text: str, + suffix: str, + show_default: bool = False, + default: t.Optional[t.Any] = None, + show_choices: bool = True, + type: t.Optional[ParamType] = None, +) -> str: + prompt = text + if type is not None and show_choices and isinstance(type, Choice): + prompt += f" ({', '.join(map(str, type.choices))})" + if default is not None and show_default: + prompt = f"{prompt} [{_format_default(default)}]" + return f"{prompt}{suffix}" + + +def _format_default(default: t.Any) -> t.Any: + if isinstance(default, (io.IOBase, LazyFile)) and hasattr(default, "name"): + return default.name + + return default + + +def prompt( + text: str, + default: t.Optional[t.Any] = None, + hide_input: bool = False, + confirmation_prompt: t.Union[bool, str] = False, + type: t.Optional[t.Union[ParamType, t.Any]] = None, + value_proc: t.Optional[t.Callable[[str], t.Any]] = None, + prompt_suffix: str = ": ", + show_default: bool = True, + err: bool = False, + show_choices: bool = True, +) -> t.Any: + """Prompts a user for input. This is a convenience function that can + be used to prompt a user for input later. + + If the user aborts the input by sending an interrupt signal, this + function will catch it and raise a :exc:`Abort` exception. + + :param text: the text to show for the prompt. + :param default: the default value to use if no input happens. If this + is not given it will prompt until it's aborted. + :param hide_input: if this is set to true then the input value will + be hidden. + :param confirmation_prompt: Prompt a second time to confirm the + value. Can be set to a string instead of ``True`` to customize + the message. + :param type: the type to use to check the value against. + :param value_proc: if this parameter is provided it's a function that + is invoked instead of the type conversion to + convert a value. + :param prompt_suffix: a suffix that should be added to the prompt. + :param show_default: shows or hides the default value in the prompt. + :param err: if set to true the file defaults to ``stderr`` instead of + ``stdout``, the same as with echo. + :param show_choices: Show or hide choices if the passed type is a Choice. + For example if type is a Choice of either day or week, + show_choices is true and text is "Group by" then the + prompt will be "Group by (day, week): ". + + .. versionadded:: 8.0 + ``confirmation_prompt`` can be a custom string. + + .. versionadded:: 7.0 + Added the ``show_choices`` parameter. + + .. versionadded:: 6.0 + Added unicode support for cmd.exe on Windows. + + .. versionadded:: 4.0 + Added the `err` parameter. + + """ + + def prompt_func(text: str) -> str: + f = hidden_prompt_func if hide_input else visible_prompt_func + try: + # Write the prompt separately so that we get nice + # coloring through colorama on Windows + echo(text.rstrip(" "), nl=False, err=err) + # Echo a space to stdout to work around an issue where + # readline causes backspace to clear the whole line. + return f(" ") + except (KeyboardInterrupt, EOFError): + # getpass doesn't print a newline if the user aborts input with ^C. + # Allegedly this behavior is inherited from getpass(3). + # A doc bug has been filed at https://bugs.python.org/issue24711 + if hide_input: + echo(None, err=err) + raise Abort() from None + + if value_proc is None: + value_proc = convert_type(type, default) + + prompt = _build_prompt( + text, prompt_suffix, show_default, default, show_choices, type + ) + + if confirmation_prompt: + if confirmation_prompt is True: + confirmation_prompt = _("Repeat for confirmation") + + confirmation_prompt = _build_prompt(confirmation_prompt, prompt_suffix) + + while True: + while True: + value = prompt_func(prompt) + if value: + break + elif default is not None: + value = default + break + try: + result = value_proc(value) + except UsageError as e: + if hide_input: + echo(_("Error: The value you entered was invalid."), err=err) + else: + echo(_("Error: {e.message}").format(e=e), err=err) # noqa: B306 + continue + if not confirmation_prompt: + return result + while True: + value2 = prompt_func(confirmation_prompt) + is_empty = not value and not value2 + if value2 or is_empty: + break + if value == value2: + return result + echo(_("Error: The two entered values do not match."), err=err) + + +def confirm( + text: str, + default: t.Optional[bool] = False, + abort: bool = False, + prompt_suffix: str = ": ", + show_default: bool = True, + err: bool = False, +) -> bool: + """Prompts for confirmation (yes/no question). + + If the user aborts the input by sending a interrupt signal this + function will catch it and raise a :exc:`Abort` exception. + + :param text: the question to ask. + :param default: The default value to use when no input is given. If + ``None``, repeat until input is given. + :param abort: if this is set to `True` a negative answer aborts the + exception by raising :exc:`Abort`. + :param prompt_suffix: a suffix that should be added to the prompt. + :param show_default: shows or hides the default value in the prompt. + :param err: if set to true the file defaults to ``stderr`` instead of + ``stdout``, the same as with echo. + + .. versionchanged:: 8.0 + Repeat until input is given if ``default`` is ``None``. + + .. versionadded:: 4.0 + Added the ``err`` parameter. + """ + prompt = _build_prompt( + text, + prompt_suffix, + show_default, + "y/n" if default is None else ("Y/n" if default else "y/N"), + ) + + while True: + try: + # Write the prompt separately so that we get nice + # coloring through colorama on Windows + echo(prompt.rstrip(" "), nl=False, err=err) + # Echo a space to stdout to work around an issue where + # readline causes backspace to clear the whole line. + value = visible_prompt_func(" ").lower().strip() + except (KeyboardInterrupt, EOFError): + raise Abort() from None + if value in ("y", "yes"): + rv = True + elif value in ("n", "no"): + rv = False + elif default is not None and value == "": + rv = default + else: + echo(_("Error: invalid input"), err=err) + continue + break + if abort and not rv: + raise Abort() + return rv + + +def echo_via_pager( + text_or_generator: t.Union[t.Iterable[str], t.Callable[[], t.Iterable[str]], str], + color: t.Optional[bool] = None, +) -> None: + """This function takes a text and shows it via an environment specific + pager on stdout. + + .. versionchanged:: 3.0 + Added the `color` flag. + + :param text_or_generator: the text to page, or alternatively, a + generator emitting the text to page. + :param color: controls if the pager supports ANSI colors or not. The + default is autodetection. + """ + color = resolve_color_default(color) + + if inspect.isgeneratorfunction(text_or_generator): + i = t.cast(t.Callable[[], t.Iterable[str]], text_or_generator)() + elif isinstance(text_or_generator, str): + i = [text_or_generator] + else: + i = iter(t.cast(t.Iterable[str], text_or_generator)) + + # convert every element of i to a text type if necessary + text_generator = (el if isinstance(el, str) else str(el) for el in i) + + from ._termui_impl import pager + + return pager(itertools.chain(text_generator, "\n"), color) + + +def progressbar( + iterable: t.Optional[t.Iterable[V]] = None, + length: t.Optional[int] = None, + label: t.Optional[str] = None, + show_eta: bool = True, + show_percent: t.Optional[bool] = None, + show_pos: bool = False, + item_show_func: t.Optional[t.Callable[[t.Optional[V]], t.Optional[str]]] = None, + fill_char: str = "#", + empty_char: str = "-", + bar_template: str = "%(label)s [%(bar)s] %(info)s", + info_sep: str = " ", + width: int = 36, + file: t.Optional[t.TextIO] = None, + color: t.Optional[bool] = None, + update_min_steps: int = 1, +) -> "ProgressBar[V]": + """This function creates an iterable context manager that can be used + to iterate over something while showing a progress bar. It will + either iterate over the `iterable` or `length` items (that are counted + up). While iteration happens, this function will print a rendered + progress bar to the given `file` (defaults to stdout) and will attempt + to calculate remaining time and more. By default, this progress bar + will not be rendered if the file is not a terminal. + + The context manager creates the progress bar. When the context + manager is entered the progress bar is already created. With every + iteration over the progress bar, the iterable passed to the bar is + advanced and the bar is updated. When the context manager exits, + a newline is printed and the progress bar is finalized on screen. + + Note: The progress bar is currently designed for use cases where the + total progress can be expected to take at least several seconds. + Because of this, the ProgressBar class object won't display + progress that is considered too fast, and progress where the time + between steps is less than a second. + + No printing must happen or the progress bar will be unintentionally + destroyed. + + Example usage:: + + with progressbar(items) as bar: + for item in bar: + do_something_with(item) + + Alternatively, if no iterable is specified, one can manually update the + progress bar through the `update()` method instead of directly + iterating over the progress bar. The update method accepts the number + of steps to increment the bar with:: + + with progressbar(length=chunks.total_bytes) as bar: + for chunk in chunks: + process_chunk(chunk) + bar.update(chunks.bytes) + + The ``update()`` method also takes an optional value specifying the + ``current_item`` at the new position. This is useful when used + together with ``item_show_func`` to customize the output for each + manual step:: + + with click.progressbar( + length=total_size, + label='Unzipping archive', + item_show_func=lambda a: a.filename + ) as bar: + for archive in zip_file: + archive.extract() + bar.update(archive.size, archive) + + :param iterable: an iterable to iterate over. If not provided the length + is required. + :param length: the number of items to iterate over. By default the + progressbar will attempt to ask the iterator about its + length, which might or might not work. If an iterable is + also provided this parameter can be used to override the + length. If an iterable is not provided the progress bar + will iterate over a range of that length. + :param label: the label to show next to the progress bar. + :param show_eta: enables or disables the estimated time display. This is + automatically disabled if the length cannot be + determined. + :param show_percent: enables or disables the percentage display. The + default is `True` if the iterable has a length or + `False` if not. + :param show_pos: enables or disables the absolute position display. The + default is `False`. + :param item_show_func: A function called with the current item which + can return a string to show next to the progress bar. If the + function returns ``None`` nothing is shown. The current item can + be ``None``, such as when entering and exiting the bar. + :param fill_char: the character to use to show the filled part of the + progress bar. + :param empty_char: the character to use to show the non-filled part of + the progress bar. + :param bar_template: the format string to use as template for the bar. + The parameters in it are ``label`` for the label, + ``bar`` for the progress bar and ``info`` for the + info section. + :param info_sep: the separator between multiple info items (eta etc.) + :param width: the width of the progress bar in characters, 0 means full + terminal width + :param file: The file to write to. If this is not a terminal then + only the label is printed. + :param color: controls if the terminal supports ANSI colors or not. The + default is autodetection. This is only needed if ANSI + codes are included anywhere in the progress bar output + which is not the case by default. + :param update_min_steps: Render only when this many updates have + completed. This allows tuning for very fast iterators. + + .. versionchanged:: 8.0 + Output is shown even if execution time is less than 0.5 seconds. + + .. versionchanged:: 8.0 + ``item_show_func`` shows the current item, not the previous one. + + .. versionchanged:: 8.0 + Labels are echoed if the output is not a TTY. Reverts a change + in 7.0 that removed all output. + + .. versionadded:: 8.0 + Added the ``update_min_steps`` parameter. + + .. versionchanged:: 4.0 + Added the ``color`` parameter. Added the ``update`` method to + the object. + + .. versionadded:: 2.0 + """ + from ._termui_impl import ProgressBar + + color = resolve_color_default(color) + return ProgressBar( + iterable=iterable, + length=length, + show_eta=show_eta, + show_percent=show_percent, + show_pos=show_pos, + item_show_func=item_show_func, + fill_char=fill_char, + empty_char=empty_char, + bar_template=bar_template, + info_sep=info_sep, + file=file, + label=label, + width=width, + color=color, + update_min_steps=update_min_steps, + ) + + +def clear() -> None: + """Clears the terminal screen. This will have the effect of clearing + the whole visible space of the terminal and moving the cursor to the + top left. This does not do anything if not connected to a terminal. + + .. versionadded:: 2.0 + """ + if not isatty(sys.stdout): + return + + # ANSI escape \033[2J clears the screen, \033[1;1H moves the cursor + echo("\033[2J\033[1;1H", nl=False) + + +def _interpret_color( + color: t.Union[int, t.Tuple[int, int, int], str], offset: int = 0 +) -> str: + if isinstance(color, int): + return f"{38 + offset};5;{color:d}" + + if isinstance(color, (tuple, list)): + r, g, b = color + return f"{38 + offset};2;{r:d};{g:d};{b:d}" + + return str(_ansi_colors[color] + offset) + + +def style( + text: t.Any, + fg: t.Optional[t.Union[int, t.Tuple[int, int, int], str]] = None, + bg: t.Optional[t.Union[int, t.Tuple[int, int, int], str]] = None, + bold: t.Optional[bool] = None, + dim: t.Optional[bool] = None, + underline: t.Optional[bool] = None, + overline: t.Optional[bool] = None, + italic: t.Optional[bool] = None, + blink: t.Optional[bool] = None, + reverse: t.Optional[bool] = None, + strikethrough: t.Optional[bool] = None, + reset: bool = True, +) -> str: + """Styles a text with ANSI styles and returns the new string. By + default the styling is self contained which means that at the end + of the string a reset code is issued. This can be prevented by + passing ``reset=False``. + + Examples:: + + click.echo(click.style('Hello World!', fg='green')) + click.echo(click.style('ATTENTION!', blink=True)) + click.echo(click.style('Some things', reverse=True, fg='cyan')) + click.echo(click.style('More colors', fg=(255, 12, 128), bg=117)) + + Supported color names: + + * ``black`` (might be a gray) + * ``red`` + * ``green`` + * ``yellow`` (might be an orange) + * ``blue`` + * ``magenta`` + * ``cyan`` + * ``white`` (might be light gray) + * ``bright_black`` + * ``bright_red`` + * ``bright_green`` + * ``bright_yellow`` + * ``bright_blue`` + * ``bright_magenta`` + * ``bright_cyan`` + * ``bright_white`` + * ``reset`` (reset the color code only) + + If the terminal supports it, color may also be specified as: + + - An integer in the interval [0, 255]. The terminal must support + 8-bit/256-color mode. + - An RGB tuple of three integers in [0, 255]. The terminal must + support 24-bit/true-color mode. + + See https://en.wikipedia.org/wiki/ANSI_color and + https://gist.github.com/XVilka/8346728 for more information. + + :param text: the string to style with ansi codes. + :param fg: if provided this will become the foreground color. + :param bg: if provided this will become the background color. + :param bold: if provided this will enable or disable bold mode. + :param dim: if provided this will enable or disable dim mode. This is + badly supported. + :param underline: if provided this will enable or disable underline. + :param overline: if provided this will enable or disable overline. + :param italic: if provided this will enable or disable italic. + :param blink: if provided this will enable or disable blinking. + :param reverse: if provided this will enable or disable inverse + rendering (foreground becomes background and the + other way round). + :param strikethrough: if provided this will enable or disable + striking through text. + :param reset: by default a reset-all code is added at the end of the + string which means that styles do not carry over. This + can be disabled to compose styles. + + .. versionchanged:: 8.0 + A non-string ``message`` is converted to a string. + + .. versionchanged:: 8.0 + Added support for 256 and RGB color codes. + + .. versionchanged:: 8.0 + Added the ``strikethrough``, ``italic``, and ``overline`` + parameters. + + .. versionchanged:: 7.0 + Added support for bright colors. + + .. versionadded:: 2.0 + """ + if not isinstance(text, str): + text = str(text) + + bits = [] + + if fg: + try: + bits.append(f"\033[{_interpret_color(fg)}m") + except KeyError: + raise TypeError(f"Unknown color {fg!r}") from None + + if bg: + try: + bits.append(f"\033[{_interpret_color(bg, 10)}m") + except KeyError: + raise TypeError(f"Unknown color {bg!r}") from None + + if bold is not None: + bits.append(f"\033[{1 if bold else 22}m") + if dim is not None: + bits.append(f"\033[{2 if dim else 22}m") + if underline is not None: + bits.append(f"\033[{4 if underline else 24}m") + if overline is not None: + bits.append(f"\033[{53 if overline else 55}m") + if italic is not None: + bits.append(f"\033[{3 if italic else 23}m") + if blink is not None: + bits.append(f"\033[{5 if blink else 25}m") + if reverse is not None: + bits.append(f"\033[{7 if reverse else 27}m") + if strikethrough is not None: + bits.append(f"\033[{9 if strikethrough else 29}m") + bits.append(text) + if reset: + bits.append(_ansi_reset_all) + return "".join(bits) + + +def unstyle(text: str) -> str: + """Removes ANSI styling information from a string. Usually it's not + necessary to use this function as Click's echo function will + automatically remove styling if necessary. + + .. versionadded:: 2.0 + + :param text: the text to remove style information from. + """ + return strip_ansi(text) + + +def secho( + message: t.Optional[t.Any] = None, + file: t.Optional[t.IO[t.AnyStr]] = None, + nl: bool = True, + err: bool = False, + color: t.Optional[bool] = None, + **styles: t.Any, +) -> None: + """This function combines :func:`echo` and :func:`style` into one + call. As such the following two calls are the same:: + + click.secho('Hello World!', fg='green') + click.echo(click.style('Hello World!', fg='green')) + + All keyword arguments are forwarded to the underlying functions + depending on which one they go with. + + Non-string types will be converted to :class:`str`. However, + :class:`bytes` are passed directly to :meth:`echo` without applying + style. If you want to style bytes that represent text, call + :meth:`bytes.decode` first. + + .. versionchanged:: 8.0 + A non-string ``message`` is converted to a string. Bytes are + passed through without style applied. + + .. versionadded:: 2.0 + """ + if message is not None and not isinstance(message, (bytes, bytearray)): + message = style(message, **styles) + + return echo(message, file=file, nl=nl, err=err, color=color) + + +def edit( + text: t.Optional[t.AnyStr] = None, + editor: t.Optional[str] = None, + env: t.Optional[t.Mapping[str, str]] = None, + require_save: bool = True, + extension: str = ".txt", + filename: t.Optional[str] = None, +) -> t.Optional[t.AnyStr]: + r"""Edits the given text in the defined editor. If an editor is given + (should be the full path to the executable but the regular operating + system search path is used for finding the executable) it overrides + the detected editor. Optionally, some environment variables can be + used. If the editor is closed without changes, `None` is returned. In + case a file is edited directly the return value is always `None` and + `require_save` and `extension` are ignored. + + If the editor cannot be opened a :exc:`UsageError` is raised. + + Note for Windows: to simplify cross-platform usage, the newlines are + automatically converted from POSIX to Windows and vice versa. As such, + the message here will have ``\n`` as newline markers. + + :param text: the text to edit. + :param editor: optionally the editor to use. Defaults to automatic + detection. + :param env: environment variables to forward to the editor. + :param require_save: if this is true, then not saving in the editor + will make the return value become `None`. + :param extension: the extension to tell the editor about. This defaults + to `.txt` but changing this might change syntax + highlighting. + :param filename: if provided it will edit this file instead of the + provided text contents. It will not use a temporary + file as an indirection in that case. + """ + from ._termui_impl import Editor + + ed = Editor(editor=editor, env=env, require_save=require_save, extension=extension) + + if filename is None: + return ed.edit(text) + + ed.edit_file(filename) + return None + + +def launch(url: str, wait: bool = False, locate: bool = False) -> int: + """This function launches the given URL (or filename) in the default + viewer application for this file type. If this is an executable, it + might launch the executable in a new session. The return value is + the exit code of the launched application. Usually, ``0`` indicates + success. + + Examples:: + + click.launch('https://click.palletsprojects.com/') + click.launch('/my/downloaded/file', locate=True) + + .. versionadded:: 2.0 + + :param url: URL or filename of the thing to launch. + :param wait: Wait for the program to exit before returning. This + only works if the launched program blocks. In particular, + ``xdg-open`` on Linux does not block. + :param locate: if this is set to `True` then instead of launching the + application associated with the URL it will attempt to + launch a file manager with the file located. This + might have weird effects if the URL does not point to + the filesystem. + """ + from ._termui_impl import open_url + + return open_url(url, wait=wait, locate=locate) + + +# If this is provided, getchar() calls into this instead. This is used +# for unittesting purposes. +_getchar: t.Optional[t.Callable[[bool], str]] = None + + +def getchar(echo: bool = False) -> str: + """Fetches a single character from the terminal and returns it. This + will always return a unicode character and under certain rare + circumstances this might return more than one character. The + situations which more than one character is returned is when for + whatever reason multiple characters end up in the terminal buffer or + standard input was not actually a terminal. + + Note that this will always read from the terminal, even if something + is piped into the standard input. + + Note for Windows: in rare cases when typing non-ASCII characters, this + function might wait for a second character and then return both at once. + This is because certain Unicode characters look like special-key markers. + + .. versionadded:: 2.0 + + :param echo: if set to `True`, the character read will also show up on + the terminal. The default is to not show it. + """ + global _getchar + + if _getchar is None: + from ._termui_impl import getchar as f + + _getchar = f + + return _getchar(echo) + + +def raw_terminal() -> t.ContextManager[int]: + from ._termui_impl import raw_terminal as f + + return f() + + +def pause(info: t.Optional[str] = None, err: bool = False) -> None: + """This command stops execution and waits for the user to press any + key to continue. This is similar to the Windows batch "pause" + command. If the program is not run through a terminal, this command + will instead do nothing. + + .. versionadded:: 2.0 + + .. versionadded:: 4.0 + Added the `err` parameter. + + :param info: The message to print before pausing. Defaults to + ``"Press any key to continue..."``. + :param err: if set to message goes to ``stderr`` instead of + ``stdout``, the same as with echo. + """ + if not isatty(sys.stdin) or not isatty(sys.stdout): + return + + if info is None: + info = _("Press any key to continue...") + + try: + if info: + echo(info, nl=False, err=err) + try: + getchar() + except (KeyboardInterrupt, EOFError): + pass + finally: + if info: + echo(err=err) diff --git a/venv/Lib/site-packages/click/testing.py b/venv/Lib/site-packages/click/testing.py new file mode 100644 index 00000000..e0df0d2a --- /dev/null +++ b/venv/Lib/site-packages/click/testing.py @@ -0,0 +1,479 @@ +import contextlib +import io +import os +import shlex +import shutil +import sys +import tempfile +import typing as t +from types import TracebackType + +from . import formatting +from . import termui +from . import utils +from ._compat import _find_binary_reader + +if t.TYPE_CHECKING: + from .core import BaseCommand + + +class EchoingStdin: + def __init__(self, input: t.BinaryIO, output: t.BinaryIO) -> None: + self._input = input + self._output = output + self._paused = False + + def __getattr__(self, x: str) -> t.Any: + return getattr(self._input, x) + + def _echo(self, rv: bytes) -> bytes: + if not self._paused: + self._output.write(rv) + + return rv + + def read(self, n: int = -1) -> bytes: + return self._echo(self._input.read(n)) + + def read1(self, n: int = -1) -> bytes: + return self._echo(self._input.read1(n)) # type: ignore + + def readline(self, n: int = -1) -> bytes: + return self._echo(self._input.readline(n)) + + def readlines(self) -> t.List[bytes]: + return [self._echo(x) for x in self._input.readlines()] + + def __iter__(self) -> t.Iterator[bytes]: + return iter(self._echo(x) for x in self._input) + + def __repr__(self) -> str: + return repr(self._input) + + +@contextlib.contextmanager +def _pause_echo(stream: t.Optional[EchoingStdin]) -> t.Iterator[None]: + if stream is None: + yield + else: + stream._paused = True + yield + stream._paused = False + + +class _NamedTextIOWrapper(io.TextIOWrapper): + def __init__( + self, buffer: t.BinaryIO, name: str, mode: str, **kwargs: t.Any + ) -> None: + super().__init__(buffer, **kwargs) + self._name = name + self._mode = mode + + @property + def name(self) -> str: + return self._name + + @property + def mode(self) -> str: + return self._mode + + +def make_input_stream( + input: t.Optional[t.Union[str, bytes, t.IO[t.Any]]], charset: str +) -> t.BinaryIO: + # Is already an input stream. + if hasattr(input, "read"): + rv = _find_binary_reader(t.cast(t.IO[t.Any], input)) + + if rv is not None: + return rv + + raise TypeError("Could not find binary reader for input stream.") + + if input is None: + input = b"" + elif isinstance(input, str): + input = input.encode(charset) + + return io.BytesIO(input) + + +class Result: + """Holds the captured result of an invoked CLI script.""" + + def __init__( + self, + runner: "CliRunner", + stdout_bytes: bytes, + stderr_bytes: t.Optional[bytes], + return_value: t.Any, + exit_code: int, + exception: t.Optional[BaseException], + exc_info: t.Optional[ + t.Tuple[t.Type[BaseException], BaseException, TracebackType] + ] = None, + ): + #: The runner that created the result + self.runner = runner + #: The standard output as bytes. + self.stdout_bytes = stdout_bytes + #: The standard error as bytes, or None if not available + self.stderr_bytes = stderr_bytes + #: The value returned from the invoked command. + #: + #: .. versionadded:: 8.0 + self.return_value = return_value + #: The exit code as integer. + self.exit_code = exit_code + #: The exception that happened if one did. + self.exception = exception + #: The traceback + self.exc_info = exc_info + + @property + def output(self) -> str: + """The (standard) output as unicode string.""" + return self.stdout + + @property + def stdout(self) -> str: + """The standard output as unicode string.""" + return self.stdout_bytes.decode(self.runner.charset, "replace").replace( + "\r\n", "\n" + ) + + @property + def stderr(self) -> str: + """The standard error as unicode string.""" + if self.stderr_bytes is None: + raise ValueError("stderr not separately captured") + return self.stderr_bytes.decode(self.runner.charset, "replace").replace( + "\r\n", "\n" + ) + + def __repr__(self) -> str: + exc_str = repr(self.exception) if self.exception else "okay" + return f"<{type(self).__name__} {exc_str}>" + + +class CliRunner: + """The CLI runner provides functionality to invoke a Click command line + script for unittesting purposes in a isolated environment. This only + works in single-threaded systems without any concurrency as it changes the + global interpreter state. + + :param charset: the character set for the input and output data. + :param env: a dictionary with environment variables for overriding. + :param echo_stdin: if this is set to `True`, then reading from stdin writes + to stdout. This is useful for showing examples in + some circumstances. Note that regular prompts + will automatically echo the input. + :param mix_stderr: if this is set to `False`, then stdout and stderr are + preserved as independent streams. This is useful for + Unix-philosophy apps that have predictable stdout and + noisy stderr, such that each may be measured + independently + """ + + def __init__( + self, + charset: str = "utf-8", + env: t.Optional[t.Mapping[str, t.Optional[str]]] = None, + echo_stdin: bool = False, + mix_stderr: bool = True, + ) -> None: + self.charset = charset + self.env: t.Mapping[str, t.Optional[str]] = env or {} + self.echo_stdin = echo_stdin + self.mix_stderr = mix_stderr + + def get_default_prog_name(self, cli: "BaseCommand") -> str: + """Given a command object it will return the default program name + for it. The default is the `name` attribute or ``"root"`` if not + set. + """ + return cli.name or "root" + + def make_env( + self, overrides: t.Optional[t.Mapping[str, t.Optional[str]]] = None + ) -> t.Mapping[str, t.Optional[str]]: + """Returns the environment overrides for invoking a script.""" + rv = dict(self.env) + if overrides: + rv.update(overrides) + return rv + + @contextlib.contextmanager + def isolation( + self, + input: t.Optional[t.Union[str, bytes, t.IO[t.Any]]] = None, + env: t.Optional[t.Mapping[str, t.Optional[str]]] = None, + color: bool = False, + ) -> t.Iterator[t.Tuple[io.BytesIO, t.Optional[io.BytesIO]]]: + """A context manager that sets up the isolation for invoking of a + command line tool. This sets up stdin with the given input data + and `os.environ` with the overrides from the given dictionary. + This also rebinds some internals in Click to be mocked (like the + prompt functionality). + + This is automatically done in the :meth:`invoke` method. + + :param input: the input stream to put into sys.stdin. + :param env: the environment overrides as dictionary. + :param color: whether the output should contain color codes. The + application can still override this explicitly. + + .. versionchanged:: 8.0 + ``stderr`` is opened with ``errors="backslashreplace"`` + instead of the default ``"strict"``. + + .. versionchanged:: 4.0 + Added the ``color`` parameter. + """ + bytes_input = make_input_stream(input, self.charset) + echo_input = None + + old_stdin = sys.stdin + old_stdout = sys.stdout + old_stderr = sys.stderr + old_forced_width = formatting.FORCED_WIDTH + formatting.FORCED_WIDTH = 80 + + env = self.make_env(env) + + bytes_output = io.BytesIO() + + if self.echo_stdin: + bytes_input = echo_input = t.cast( + t.BinaryIO, EchoingStdin(bytes_input, bytes_output) + ) + + sys.stdin = text_input = _NamedTextIOWrapper( + bytes_input, encoding=self.charset, name="", mode="r" + ) + + if self.echo_stdin: + # Force unbuffered reads, otherwise TextIOWrapper reads a + # large chunk which is echoed early. + text_input._CHUNK_SIZE = 1 # type: ignore + + sys.stdout = _NamedTextIOWrapper( + bytes_output, encoding=self.charset, name="", mode="w" + ) + + bytes_error = None + if self.mix_stderr: + sys.stderr = sys.stdout + else: + bytes_error = io.BytesIO() + sys.stderr = _NamedTextIOWrapper( + bytes_error, + encoding=self.charset, + name="", + mode="w", + errors="backslashreplace", + ) + + @_pause_echo(echo_input) # type: ignore + def visible_input(prompt: t.Optional[str] = None) -> str: + sys.stdout.write(prompt or "") + val = text_input.readline().rstrip("\r\n") + sys.stdout.write(f"{val}\n") + sys.stdout.flush() + return val + + @_pause_echo(echo_input) # type: ignore + def hidden_input(prompt: t.Optional[str] = None) -> str: + sys.stdout.write(f"{prompt or ''}\n") + sys.stdout.flush() + return text_input.readline().rstrip("\r\n") + + @_pause_echo(echo_input) # type: ignore + def _getchar(echo: bool) -> str: + char = sys.stdin.read(1) + + if echo: + sys.stdout.write(char) + + sys.stdout.flush() + return char + + default_color = color + + def should_strip_ansi( + stream: t.Optional[t.IO[t.Any]] = None, color: t.Optional[bool] = None + ) -> bool: + if color is None: + return not default_color + return not color + + old_visible_prompt_func = termui.visible_prompt_func + old_hidden_prompt_func = termui.hidden_prompt_func + old__getchar_func = termui._getchar + old_should_strip_ansi = utils.should_strip_ansi # type: ignore + termui.visible_prompt_func = visible_input + termui.hidden_prompt_func = hidden_input + termui._getchar = _getchar + utils.should_strip_ansi = should_strip_ansi # type: ignore + + old_env = {} + try: + for key, value in env.items(): + old_env[key] = os.environ.get(key) + if value is None: + try: + del os.environ[key] + except Exception: + pass + else: + os.environ[key] = value + yield (bytes_output, bytes_error) + finally: + for key, value in old_env.items(): + if value is None: + try: + del os.environ[key] + except Exception: + pass + else: + os.environ[key] = value + sys.stdout = old_stdout + sys.stderr = old_stderr + sys.stdin = old_stdin + termui.visible_prompt_func = old_visible_prompt_func + termui.hidden_prompt_func = old_hidden_prompt_func + termui._getchar = old__getchar_func + utils.should_strip_ansi = old_should_strip_ansi # type: ignore + formatting.FORCED_WIDTH = old_forced_width + + def invoke( + self, + cli: "BaseCommand", + args: t.Optional[t.Union[str, t.Sequence[str]]] = None, + input: t.Optional[t.Union[str, bytes, t.IO[t.Any]]] = None, + env: t.Optional[t.Mapping[str, t.Optional[str]]] = None, + catch_exceptions: bool = True, + color: bool = False, + **extra: t.Any, + ) -> Result: + """Invokes a command in an isolated environment. The arguments are + forwarded directly to the command line script, the `extra` keyword + arguments are passed to the :meth:`~clickpkg.Command.main` function of + the command. + + This returns a :class:`Result` object. + + :param cli: the command to invoke + :param args: the arguments to invoke. It may be given as an iterable + or a string. When given as string it will be interpreted + as a Unix shell command. More details at + :func:`shlex.split`. + :param input: the input data for `sys.stdin`. + :param env: the environment overrides. + :param catch_exceptions: Whether to catch any other exceptions than + ``SystemExit``. + :param extra: the keyword arguments to pass to :meth:`main`. + :param color: whether the output should contain color codes. The + application can still override this explicitly. + + .. versionchanged:: 8.0 + The result object has the ``return_value`` attribute with + the value returned from the invoked command. + + .. versionchanged:: 4.0 + Added the ``color`` parameter. + + .. versionchanged:: 3.0 + Added the ``catch_exceptions`` parameter. + + .. versionchanged:: 3.0 + The result object has the ``exc_info`` attribute with the + traceback if available. + """ + exc_info = None + with self.isolation(input=input, env=env, color=color) as outstreams: + return_value = None + exception: t.Optional[BaseException] = None + exit_code = 0 + + if isinstance(args, str): + args = shlex.split(args) + + try: + prog_name = extra.pop("prog_name") + except KeyError: + prog_name = self.get_default_prog_name(cli) + + try: + return_value = cli.main(args=args or (), prog_name=prog_name, **extra) + except SystemExit as e: + exc_info = sys.exc_info() + e_code = t.cast(t.Optional[t.Union[int, t.Any]], e.code) + + if e_code is None: + e_code = 0 + + if e_code != 0: + exception = e + + if not isinstance(e_code, int): + sys.stdout.write(str(e_code)) + sys.stdout.write("\n") + e_code = 1 + + exit_code = e_code + + except Exception as e: + if not catch_exceptions: + raise + exception = e + exit_code = 1 + exc_info = sys.exc_info() + finally: + sys.stdout.flush() + stdout = outstreams[0].getvalue() + if self.mix_stderr: + stderr = None + else: + stderr = outstreams[1].getvalue() # type: ignore + + return Result( + runner=self, + stdout_bytes=stdout, + stderr_bytes=stderr, + return_value=return_value, + exit_code=exit_code, + exception=exception, + exc_info=exc_info, # type: ignore + ) + + @contextlib.contextmanager + def isolated_filesystem( + self, temp_dir: t.Optional[t.Union[str, "os.PathLike[str]"]] = None + ) -> t.Iterator[str]: + """A context manager that creates a temporary directory and + changes the current working directory to it. This isolates tests + that affect the contents of the CWD to prevent them from + interfering with each other. + + :param temp_dir: Create the temporary directory under this + directory. If given, the created directory is not removed + when exiting. + + .. versionchanged:: 8.0 + Added the ``temp_dir`` parameter. + """ + cwd = os.getcwd() + dt = tempfile.mkdtemp(dir=temp_dir) + os.chdir(dt) + + try: + yield dt + finally: + os.chdir(cwd) + + if temp_dir is None: + try: + shutil.rmtree(dt) + except OSError: # noqa: B014 + pass diff --git a/venv/Lib/site-packages/click/types.py b/venv/Lib/site-packages/click/types.py new file mode 100644 index 00000000..2b1d1797 --- /dev/null +++ b/venv/Lib/site-packages/click/types.py @@ -0,0 +1,1089 @@ +import os +import stat +import sys +import typing as t +from datetime import datetime +from gettext import gettext as _ +from gettext import ngettext + +from ._compat import _get_argv_encoding +from ._compat import open_stream +from .exceptions import BadParameter +from .utils import format_filename +from .utils import LazyFile +from .utils import safecall + +if t.TYPE_CHECKING: + import typing_extensions as te + from .core import Context + from .core import Parameter + from .shell_completion import CompletionItem + + +class ParamType: + """Represents the type of a parameter. Validates and converts values + from the command line or Python into the correct type. + + To implement a custom type, subclass and implement at least the + following: + + - The :attr:`name` class attribute must be set. + - Calling an instance of the type with ``None`` must return + ``None``. This is already implemented by default. + - :meth:`convert` must convert string values to the correct type. + - :meth:`convert` must accept values that are already the correct + type. + - It must be able to convert a value if the ``ctx`` and ``param`` + arguments are ``None``. This can occur when converting prompt + input. + """ + + is_composite: t.ClassVar[bool] = False + arity: t.ClassVar[int] = 1 + + #: the descriptive name of this type + name: str + + #: if a list of this type is expected and the value is pulled from a + #: string environment variable, this is what splits it up. `None` + #: means any whitespace. For all parameters the general rule is that + #: whitespace splits them up. The exception are paths and files which + #: are split by ``os.path.pathsep`` by default (":" on Unix and ";" on + #: Windows). + envvar_list_splitter: t.ClassVar[t.Optional[str]] = None + + def to_info_dict(self) -> t.Dict[str, t.Any]: + """Gather information that could be useful for a tool generating + user-facing documentation. + + Use :meth:`click.Context.to_info_dict` to traverse the entire + CLI structure. + + .. versionadded:: 8.0 + """ + # The class name without the "ParamType" suffix. + param_type = type(self).__name__.partition("ParamType")[0] + param_type = param_type.partition("ParameterType")[0] + + # Custom subclasses might not remember to set a name. + if hasattr(self, "name"): + name = self.name + else: + name = param_type + + return {"param_type": param_type, "name": name} + + def __call__( + self, + value: t.Any, + param: t.Optional["Parameter"] = None, + ctx: t.Optional["Context"] = None, + ) -> t.Any: + if value is not None: + return self.convert(value, param, ctx) + + def get_metavar(self, param: "Parameter") -> t.Optional[str]: + """Returns the metavar default for this param if it provides one.""" + + def get_missing_message(self, param: "Parameter") -> t.Optional[str]: + """Optionally might return extra information about a missing + parameter. + + .. versionadded:: 2.0 + """ + + def convert( + self, value: t.Any, param: t.Optional["Parameter"], ctx: t.Optional["Context"] + ) -> t.Any: + """Convert the value to the correct type. This is not called if + the value is ``None`` (the missing value). + + This must accept string values from the command line, as well as + values that are already the correct type. It may also convert + other compatible types. + + The ``param`` and ``ctx`` arguments may be ``None`` in certain + situations, such as when converting prompt input. + + If the value cannot be converted, call :meth:`fail` with a + descriptive message. + + :param value: The value to convert. + :param param: The parameter that is using this type to convert + its value. May be ``None``. + :param ctx: The current context that arrived at this value. May + be ``None``. + """ + return value + + def split_envvar_value(self, rv: str) -> t.Sequence[str]: + """Given a value from an environment variable this splits it up + into small chunks depending on the defined envvar list splitter. + + If the splitter is set to `None`, which means that whitespace splits, + then leading and trailing whitespace is ignored. Otherwise, leading + and trailing splitters usually lead to empty items being included. + """ + return (rv or "").split(self.envvar_list_splitter) + + def fail( + self, + message: str, + param: t.Optional["Parameter"] = None, + ctx: t.Optional["Context"] = None, + ) -> "t.NoReturn": + """Helper method to fail with an invalid value message.""" + raise BadParameter(message, ctx=ctx, param=param) + + def shell_complete( + self, ctx: "Context", param: "Parameter", incomplete: str + ) -> t.List["CompletionItem"]: + """Return a list of + :class:`~click.shell_completion.CompletionItem` objects for the + incomplete value. Most types do not provide completions, but + some do, and this allows custom types to provide custom + completions as well. + + :param ctx: Invocation context for this command. + :param param: The parameter that is requesting completion. + :param incomplete: Value being completed. May be empty. + + .. versionadded:: 8.0 + """ + return [] + + +class CompositeParamType(ParamType): + is_composite = True + + @property + def arity(self) -> int: # type: ignore + raise NotImplementedError() + + +class FuncParamType(ParamType): + def __init__(self, func: t.Callable[[t.Any], t.Any]) -> None: + self.name: str = func.__name__ + self.func = func + + def to_info_dict(self) -> t.Dict[str, t.Any]: + info_dict = super().to_info_dict() + info_dict["func"] = self.func + return info_dict + + def convert( + self, value: t.Any, param: t.Optional["Parameter"], ctx: t.Optional["Context"] + ) -> t.Any: + try: + return self.func(value) + except ValueError: + try: + value = str(value) + except UnicodeError: + value = value.decode("utf-8", "replace") + + self.fail(value, param, ctx) + + +class UnprocessedParamType(ParamType): + name = "text" + + def convert( + self, value: t.Any, param: t.Optional["Parameter"], ctx: t.Optional["Context"] + ) -> t.Any: + return value + + def __repr__(self) -> str: + return "UNPROCESSED" + + +class StringParamType(ParamType): + name = "text" + + def convert( + self, value: t.Any, param: t.Optional["Parameter"], ctx: t.Optional["Context"] + ) -> t.Any: + if isinstance(value, bytes): + enc = _get_argv_encoding() + try: + value = value.decode(enc) + except UnicodeError: + fs_enc = sys.getfilesystemencoding() + if fs_enc != enc: + try: + value = value.decode(fs_enc) + except UnicodeError: + value = value.decode("utf-8", "replace") + else: + value = value.decode("utf-8", "replace") + return value + return str(value) + + def __repr__(self) -> str: + return "STRING" + + +class Choice(ParamType): + """The choice type allows a value to be checked against a fixed set + of supported values. All of these values have to be strings. + + You should only pass a list or tuple of choices. Other iterables + (like generators) may lead to surprising results. + + The resulting value will always be one of the originally passed choices + regardless of ``case_sensitive`` or any ``ctx.token_normalize_func`` + being specified. + + See :ref:`choice-opts` for an example. + + :param case_sensitive: Set to false to make choices case + insensitive. Defaults to true. + """ + + name = "choice" + + def __init__(self, choices: t.Sequence[str], case_sensitive: bool = True) -> None: + self.choices = choices + self.case_sensitive = case_sensitive + + def to_info_dict(self) -> t.Dict[str, t.Any]: + info_dict = super().to_info_dict() + info_dict["choices"] = self.choices + info_dict["case_sensitive"] = self.case_sensitive + return info_dict + + def get_metavar(self, param: "Parameter") -> str: + choices_str = "|".join(self.choices) + + # Use curly braces to indicate a required argument. + if param.required and param.param_type_name == "argument": + return f"{{{choices_str}}}" + + # Use square braces to indicate an option or optional argument. + return f"[{choices_str}]" + + def get_missing_message(self, param: "Parameter") -> str: + return _("Choose from:\n\t{choices}").format(choices=",\n\t".join(self.choices)) + + def convert( + self, value: t.Any, param: t.Optional["Parameter"], ctx: t.Optional["Context"] + ) -> t.Any: + # Match through normalization and case sensitivity + # first do token_normalize_func, then lowercase + # preserve original `value` to produce an accurate message in + # `self.fail` + normed_value = value + normed_choices = {choice: choice for choice in self.choices} + + if ctx is not None and ctx.token_normalize_func is not None: + normed_value = ctx.token_normalize_func(value) + normed_choices = { + ctx.token_normalize_func(normed_choice): original + for normed_choice, original in normed_choices.items() + } + + if not self.case_sensitive: + normed_value = normed_value.casefold() + normed_choices = { + normed_choice.casefold(): original + for normed_choice, original in normed_choices.items() + } + + if normed_value in normed_choices: + return normed_choices[normed_value] + + choices_str = ", ".join(map(repr, self.choices)) + self.fail( + ngettext( + "{value!r} is not {choice}.", + "{value!r} is not one of {choices}.", + len(self.choices), + ).format(value=value, choice=choices_str, choices=choices_str), + param, + ctx, + ) + + def __repr__(self) -> str: + return f"Choice({list(self.choices)})" + + def shell_complete( + self, ctx: "Context", param: "Parameter", incomplete: str + ) -> t.List["CompletionItem"]: + """Complete choices that start with the incomplete value. + + :param ctx: Invocation context for this command. + :param param: The parameter that is requesting completion. + :param incomplete: Value being completed. May be empty. + + .. versionadded:: 8.0 + """ + from click.shell_completion import CompletionItem + + str_choices = map(str, self.choices) + + if self.case_sensitive: + matched = (c for c in str_choices if c.startswith(incomplete)) + else: + incomplete = incomplete.lower() + matched = (c for c in str_choices if c.lower().startswith(incomplete)) + + return [CompletionItem(c) for c in matched] + + +class DateTime(ParamType): + """The DateTime type converts date strings into `datetime` objects. + + The format strings which are checked are configurable, but default to some + common (non-timezone aware) ISO 8601 formats. + + When specifying *DateTime* formats, you should only pass a list or a tuple. + Other iterables, like generators, may lead to surprising results. + + The format strings are processed using ``datetime.strptime``, and this + consequently defines the format strings which are allowed. + + Parsing is tried using each format, in order, and the first format which + parses successfully is used. + + :param formats: A list or tuple of date format strings, in the order in + which they should be tried. Defaults to + ``'%Y-%m-%d'``, ``'%Y-%m-%dT%H:%M:%S'``, + ``'%Y-%m-%d %H:%M:%S'``. + """ + + name = "datetime" + + def __init__(self, formats: t.Optional[t.Sequence[str]] = None): + self.formats: t.Sequence[str] = formats or [ + "%Y-%m-%d", + "%Y-%m-%dT%H:%M:%S", + "%Y-%m-%d %H:%M:%S", + ] + + def to_info_dict(self) -> t.Dict[str, t.Any]: + info_dict = super().to_info_dict() + info_dict["formats"] = self.formats + return info_dict + + def get_metavar(self, param: "Parameter") -> str: + return f"[{'|'.join(self.formats)}]" + + def _try_to_convert_date(self, value: t.Any, format: str) -> t.Optional[datetime]: + try: + return datetime.strptime(value, format) + except ValueError: + return None + + def convert( + self, value: t.Any, param: t.Optional["Parameter"], ctx: t.Optional["Context"] + ) -> t.Any: + if isinstance(value, datetime): + return value + + for format in self.formats: + converted = self._try_to_convert_date(value, format) + + if converted is not None: + return converted + + formats_str = ", ".join(map(repr, self.formats)) + self.fail( + ngettext( + "{value!r} does not match the format {format}.", + "{value!r} does not match the formats {formats}.", + len(self.formats), + ).format(value=value, format=formats_str, formats=formats_str), + param, + ctx, + ) + + def __repr__(self) -> str: + return "DateTime" + + +class _NumberParamTypeBase(ParamType): + _number_class: t.ClassVar[t.Type[t.Any]] + + def convert( + self, value: t.Any, param: t.Optional["Parameter"], ctx: t.Optional["Context"] + ) -> t.Any: + try: + return self._number_class(value) + except ValueError: + self.fail( + _("{value!r} is not a valid {number_type}.").format( + value=value, number_type=self.name + ), + param, + ctx, + ) + + +class _NumberRangeBase(_NumberParamTypeBase): + def __init__( + self, + min: t.Optional[float] = None, + max: t.Optional[float] = None, + min_open: bool = False, + max_open: bool = False, + clamp: bool = False, + ) -> None: + self.min = min + self.max = max + self.min_open = min_open + self.max_open = max_open + self.clamp = clamp + + def to_info_dict(self) -> t.Dict[str, t.Any]: + info_dict = super().to_info_dict() + info_dict.update( + min=self.min, + max=self.max, + min_open=self.min_open, + max_open=self.max_open, + clamp=self.clamp, + ) + return info_dict + + def convert( + self, value: t.Any, param: t.Optional["Parameter"], ctx: t.Optional["Context"] + ) -> t.Any: + import operator + + rv = super().convert(value, param, ctx) + lt_min: bool = self.min is not None and ( + operator.le if self.min_open else operator.lt + )(rv, self.min) + gt_max: bool = self.max is not None and ( + operator.ge if self.max_open else operator.gt + )(rv, self.max) + + if self.clamp: + if lt_min: + return self._clamp(self.min, 1, self.min_open) # type: ignore + + if gt_max: + return self._clamp(self.max, -1, self.max_open) # type: ignore + + if lt_min or gt_max: + self.fail( + _("{value} is not in the range {range}.").format( + value=rv, range=self._describe_range() + ), + param, + ctx, + ) + + return rv + + def _clamp(self, bound: float, dir: "te.Literal[1, -1]", open: bool) -> float: + """Find the valid value to clamp to bound in the given + direction. + + :param bound: The boundary value. + :param dir: 1 or -1 indicating the direction to move. + :param open: If true, the range does not include the bound. + """ + raise NotImplementedError + + def _describe_range(self) -> str: + """Describe the range for use in help text.""" + if self.min is None: + op = "<" if self.max_open else "<=" + return f"x{op}{self.max}" + + if self.max is None: + op = ">" if self.min_open else ">=" + return f"x{op}{self.min}" + + lop = "<" if self.min_open else "<=" + rop = "<" if self.max_open else "<=" + return f"{self.min}{lop}x{rop}{self.max}" + + def __repr__(self) -> str: + clamp = " clamped" if self.clamp else "" + return f"<{type(self).__name__} {self._describe_range()}{clamp}>" + + +class IntParamType(_NumberParamTypeBase): + name = "integer" + _number_class = int + + def __repr__(self) -> str: + return "INT" + + +class IntRange(_NumberRangeBase, IntParamType): + """Restrict an :data:`click.INT` value to a range of accepted + values. See :ref:`ranges`. + + If ``min`` or ``max`` are not passed, any value is accepted in that + direction. If ``min_open`` or ``max_open`` are enabled, the + corresponding boundary is not included in the range. + + If ``clamp`` is enabled, a value outside the range is clamped to the + boundary instead of failing. + + .. versionchanged:: 8.0 + Added the ``min_open`` and ``max_open`` parameters. + """ + + name = "integer range" + + def _clamp( # type: ignore + self, bound: int, dir: "te.Literal[1, -1]", open: bool + ) -> int: + if not open: + return bound + + return bound + dir + + +class FloatParamType(_NumberParamTypeBase): + name = "float" + _number_class = float + + def __repr__(self) -> str: + return "FLOAT" + + +class FloatRange(_NumberRangeBase, FloatParamType): + """Restrict a :data:`click.FLOAT` value to a range of accepted + values. See :ref:`ranges`. + + If ``min`` or ``max`` are not passed, any value is accepted in that + direction. If ``min_open`` or ``max_open`` are enabled, the + corresponding boundary is not included in the range. + + If ``clamp`` is enabled, a value outside the range is clamped to the + boundary instead of failing. This is not supported if either + boundary is marked ``open``. + + .. versionchanged:: 8.0 + Added the ``min_open`` and ``max_open`` parameters. + """ + + name = "float range" + + def __init__( + self, + min: t.Optional[float] = None, + max: t.Optional[float] = None, + min_open: bool = False, + max_open: bool = False, + clamp: bool = False, + ) -> None: + super().__init__( + min=min, max=max, min_open=min_open, max_open=max_open, clamp=clamp + ) + + if (min_open or max_open) and clamp: + raise TypeError("Clamping is not supported for open bounds.") + + def _clamp(self, bound: float, dir: "te.Literal[1, -1]", open: bool) -> float: + if not open: + return bound + + # Could use Python 3.9's math.nextafter here, but clamping an + # open float range doesn't seem to be particularly useful. It's + # left up to the user to write a callback to do it if needed. + raise RuntimeError("Clamping is not supported for open bounds.") + + +class BoolParamType(ParamType): + name = "boolean" + + def convert( + self, value: t.Any, param: t.Optional["Parameter"], ctx: t.Optional["Context"] + ) -> t.Any: + if value in {False, True}: + return bool(value) + + norm = value.strip().lower() + + if norm in {"1", "true", "t", "yes", "y", "on"}: + return True + + if norm in {"0", "false", "f", "no", "n", "off"}: + return False + + self.fail( + _("{value!r} is not a valid boolean.").format(value=value), param, ctx + ) + + def __repr__(self) -> str: + return "BOOL" + + +class UUIDParameterType(ParamType): + name = "uuid" + + def convert( + self, value: t.Any, param: t.Optional["Parameter"], ctx: t.Optional["Context"] + ) -> t.Any: + import uuid + + if isinstance(value, uuid.UUID): + return value + + value = value.strip() + + try: + return uuid.UUID(value) + except ValueError: + self.fail( + _("{value!r} is not a valid UUID.").format(value=value), param, ctx + ) + + def __repr__(self) -> str: + return "UUID" + + +class File(ParamType): + """Declares a parameter to be a file for reading or writing. The file + is automatically closed once the context tears down (after the command + finished working). + + Files can be opened for reading or writing. The special value ``-`` + indicates stdin or stdout depending on the mode. + + By default, the file is opened for reading text data, but it can also be + opened in binary mode or for writing. The encoding parameter can be used + to force a specific encoding. + + The `lazy` flag controls if the file should be opened immediately or upon + first IO. The default is to be non-lazy for standard input and output + streams as well as files opened for reading, `lazy` otherwise. When opening a + file lazily for reading, it is still opened temporarily for validation, but + will not be held open until first IO. lazy is mainly useful when opening + for writing to avoid creating the file until it is needed. + + Starting with Click 2.0, files can also be opened atomically in which + case all writes go into a separate file in the same folder and upon + completion the file will be moved over to the original location. This + is useful if a file regularly read by other users is modified. + + See :ref:`file-args` for more information. + """ + + name = "filename" + envvar_list_splitter: t.ClassVar[str] = os.path.pathsep + + def __init__( + self, + mode: str = "r", + encoding: t.Optional[str] = None, + errors: t.Optional[str] = "strict", + lazy: t.Optional[bool] = None, + atomic: bool = False, + ) -> None: + self.mode = mode + self.encoding = encoding + self.errors = errors + self.lazy = lazy + self.atomic = atomic + + def to_info_dict(self) -> t.Dict[str, t.Any]: + info_dict = super().to_info_dict() + info_dict.update(mode=self.mode, encoding=self.encoding) + return info_dict + + def resolve_lazy_flag(self, value: "t.Union[str, os.PathLike[str]]") -> bool: + if self.lazy is not None: + return self.lazy + if os.fspath(value) == "-": + return False + elif "w" in self.mode: + return True + return False + + def convert( + self, + value: t.Union[str, "os.PathLike[str]", t.IO[t.Any]], + param: t.Optional["Parameter"], + ctx: t.Optional["Context"], + ) -> t.IO[t.Any]: + if _is_file_like(value): + return value + + value = t.cast("t.Union[str, os.PathLike[str]]", value) + + try: + lazy = self.resolve_lazy_flag(value) + + if lazy: + lf = LazyFile( + value, self.mode, self.encoding, self.errors, atomic=self.atomic + ) + + if ctx is not None: + ctx.call_on_close(lf.close_intelligently) + + return t.cast(t.IO[t.Any], lf) + + f, should_close = open_stream( + value, self.mode, self.encoding, self.errors, atomic=self.atomic + ) + + # If a context is provided, we automatically close the file + # at the end of the context execution (or flush out). If a + # context does not exist, it's the caller's responsibility to + # properly close the file. This for instance happens when the + # type is used with prompts. + if ctx is not None: + if should_close: + ctx.call_on_close(safecall(f.close)) + else: + ctx.call_on_close(safecall(f.flush)) + + return f + except OSError as e: # noqa: B014 + self.fail(f"'{format_filename(value)}': {e.strerror}", param, ctx) + + def shell_complete( + self, ctx: "Context", param: "Parameter", incomplete: str + ) -> t.List["CompletionItem"]: + """Return a special completion marker that tells the completion + system to use the shell to provide file path completions. + + :param ctx: Invocation context for this command. + :param param: The parameter that is requesting completion. + :param incomplete: Value being completed. May be empty. + + .. versionadded:: 8.0 + """ + from click.shell_completion import CompletionItem + + return [CompletionItem(incomplete, type="file")] + + +def _is_file_like(value: t.Any) -> "te.TypeGuard[t.IO[t.Any]]": + return hasattr(value, "read") or hasattr(value, "write") + + +class Path(ParamType): + """The ``Path`` type is similar to the :class:`File` type, but + returns the filename instead of an open file. Various checks can be + enabled to validate the type of file and permissions. + + :param exists: The file or directory needs to exist for the value to + be valid. If this is not set to ``True``, and the file does not + exist, then all further checks are silently skipped. + :param file_okay: Allow a file as a value. + :param dir_okay: Allow a directory as a value. + :param readable: if true, a readable check is performed. + :param writable: if true, a writable check is performed. + :param executable: if true, an executable check is performed. + :param resolve_path: Make the value absolute and resolve any + symlinks. A ``~`` is not expanded, as this is supposed to be + done by the shell only. + :param allow_dash: Allow a single dash as a value, which indicates + a standard stream (but does not open it). Use + :func:`~click.open_file` to handle opening this value. + :param path_type: Convert the incoming path value to this type. If + ``None``, keep Python's default, which is ``str``. Useful to + convert to :class:`pathlib.Path`. + + .. versionchanged:: 8.1 + Added the ``executable`` parameter. + + .. versionchanged:: 8.0 + Allow passing ``path_type=pathlib.Path``. + + .. versionchanged:: 6.0 + Added the ``allow_dash`` parameter. + """ + + envvar_list_splitter: t.ClassVar[str] = os.path.pathsep + + def __init__( + self, + exists: bool = False, + file_okay: bool = True, + dir_okay: bool = True, + writable: bool = False, + readable: bool = True, + resolve_path: bool = False, + allow_dash: bool = False, + path_type: t.Optional[t.Type[t.Any]] = None, + executable: bool = False, + ): + self.exists = exists + self.file_okay = file_okay + self.dir_okay = dir_okay + self.readable = readable + self.writable = writable + self.executable = executable + self.resolve_path = resolve_path + self.allow_dash = allow_dash + self.type = path_type + + if self.file_okay and not self.dir_okay: + self.name: str = _("file") + elif self.dir_okay and not self.file_okay: + self.name = _("directory") + else: + self.name = _("path") + + def to_info_dict(self) -> t.Dict[str, t.Any]: + info_dict = super().to_info_dict() + info_dict.update( + exists=self.exists, + file_okay=self.file_okay, + dir_okay=self.dir_okay, + writable=self.writable, + readable=self.readable, + allow_dash=self.allow_dash, + ) + return info_dict + + def coerce_path_result( + self, value: "t.Union[str, os.PathLike[str]]" + ) -> "t.Union[str, bytes, os.PathLike[str]]": + if self.type is not None and not isinstance(value, self.type): + if self.type is str: + return os.fsdecode(value) + elif self.type is bytes: + return os.fsencode(value) + else: + return t.cast("os.PathLike[str]", self.type(value)) + + return value + + def convert( + self, + value: "t.Union[str, os.PathLike[str]]", + param: t.Optional["Parameter"], + ctx: t.Optional["Context"], + ) -> "t.Union[str, bytes, os.PathLike[str]]": + rv = value + + is_dash = self.file_okay and self.allow_dash and rv in (b"-", "-") + + if not is_dash: + if self.resolve_path: + # os.path.realpath doesn't resolve symlinks on Windows + # until Python 3.8. Use pathlib for now. + import pathlib + + rv = os.fsdecode(pathlib.Path(rv).resolve()) + + try: + st = os.stat(rv) + except OSError: + if not self.exists: + return self.coerce_path_result(rv) + self.fail( + _("{name} {filename!r} does not exist.").format( + name=self.name.title(), filename=format_filename(value) + ), + param, + ctx, + ) + + if not self.file_okay and stat.S_ISREG(st.st_mode): + self.fail( + _("{name} {filename!r} is a file.").format( + name=self.name.title(), filename=format_filename(value) + ), + param, + ctx, + ) + if not self.dir_okay and stat.S_ISDIR(st.st_mode): + self.fail( + _("{name} '{filename}' is a directory.").format( + name=self.name.title(), filename=format_filename(value) + ), + param, + ctx, + ) + + if self.readable and not os.access(rv, os.R_OK): + self.fail( + _("{name} {filename!r} is not readable.").format( + name=self.name.title(), filename=format_filename(value) + ), + param, + ctx, + ) + + if self.writable and not os.access(rv, os.W_OK): + self.fail( + _("{name} {filename!r} is not writable.").format( + name=self.name.title(), filename=format_filename(value) + ), + param, + ctx, + ) + + if self.executable and not os.access(value, os.X_OK): + self.fail( + _("{name} {filename!r} is not executable.").format( + name=self.name.title(), filename=format_filename(value) + ), + param, + ctx, + ) + + return self.coerce_path_result(rv) + + def shell_complete( + self, ctx: "Context", param: "Parameter", incomplete: str + ) -> t.List["CompletionItem"]: + """Return a special completion marker that tells the completion + system to use the shell to provide path completions for only + directories or any paths. + + :param ctx: Invocation context for this command. + :param param: The parameter that is requesting completion. + :param incomplete: Value being completed. May be empty. + + .. versionadded:: 8.0 + """ + from click.shell_completion import CompletionItem + + type = "dir" if self.dir_okay and not self.file_okay else "file" + return [CompletionItem(incomplete, type=type)] + + +class Tuple(CompositeParamType): + """The default behavior of Click is to apply a type on a value directly. + This works well in most cases, except for when `nargs` is set to a fixed + count and different types should be used for different items. In this + case the :class:`Tuple` type can be used. This type can only be used + if `nargs` is set to a fixed number. + + For more information see :ref:`tuple-type`. + + This can be selected by using a Python tuple literal as a type. + + :param types: a list of types that should be used for the tuple items. + """ + + def __init__(self, types: t.Sequence[t.Union[t.Type[t.Any], ParamType]]) -> None: + self.types: t.Sequence[ParamType] = [convert_type(ty) for ty in types] + + def to_info_dict(self) -> t.Dict[str, t.Any]: + info_dict = super().to_info_dict() + info_dict["types"] = [t.to_info_dict() for t in self.types] + return info_dict + + @property + def name(self) -> str: # type: ignore + return f"<{' '.join(ty.name for ty in self.types)}>" + + @property + def arity(self) -> int: # type: ignore + return len(self.types) + + def convert( + self, value: t.Any, param: t.Optional["Parameter"], ctx: t.Optional["Context"] + ) -> t.Any: + len_type = len(self.types) + len_value = len(value) + + if len_value != len_type: + self.fail( + ngettext( + "{len_type} values are required, but {len_value} was given.", + "{len_type} values are required, but {len_value} were given.", + len_value, + ).format(len_type=len_type, len_value=len_value), + param=param, + ctx=ctx, + ) + + return tuple(ty(x, param, ctx) for ty, x in zip(self.types, value)) + + +def convert_type(ty: t.Optional[t.Any], default: t.Optional[t.Any] = None) -> ParamType: + """Find the most appropriate :class:`ParamType` for the given Python + type. If the type isn't provided, it can be inferred from a default + value. + """ + guessed_type = False + + if ty is None and default is not None: + if isinstance(default, (tuple, list)): + # If the default is empty, ty will remain None and will + # return STRING. + if default: + item = default[0] + + # A tuple of tuples needs to detect the inner types. + # Can't call convert recursively because that would + # incorrectly unwind the tuple to a single type. + if isinstance(item, (tuple, list)): + ty = tuple(map(type, item)) + else: + ty = type(item) + else: + ty = type(default) + + guessed_type = True + + if isinstance(ty, tuple): + return Tuple(ty) + + if isinstance(ty, ParamType): + return ty + + if ty is str or ty is None: + return STRING + + if ty is int: + return INT + + if ty is float: + return FLOAT + + if ty is bool: + return BOOL + + if guessed_type: + return STRING + + if __debug__: + try: + if issubclass(ty, ParamType): + raise AssertionError( + f"Attempted to use an uninstantiated parameter type ({ty})." + ) + except TypeError: + # ty is an instance (correct), so issubclass fails. + pass + + return FuncParamType(ty) + + +#: A dummy parameter type that just does nothing. From a user's +#: perspective this appears to just be the same as `STRING` but +#: internally no string conversion takes place if the input was bytes. +#: This is usually useful when working with file paths as they can +#: appear in bytes and unicode. +#: +#: For path related uses the :class:`Path` type is a better choice but +#: there are situations where an unprocessed type is useful which is why +#: it is is provided. +#: +#: .. versionadded:: 4.0 +UNPROCESSED = UnprocessedParamType() + +#: A unicode string parameter type which is the implicit default. This +#: can also be selected by using ``str`` as type. +STRING = StringParamType() + +#: An integer parameter. This can also be selected by using ``int`` as +#: type. +INT = IntParamType() + +#: A floating point value parameter. This can also be selected by using +#: ``float`` as type. +FLOAT = FloatParamType() + +#: A boolean parameter. This is the default for boolean flags. This can +#: also be selected by using ``bool`` as a type. +BOOL = BoolParamType() + +#: A UUID parameter. +UUID = UUIDParameterType() diff --git a/venv/Lib/site-packages/click/utils.py b/venv/Lib/site-packages/click/utils.py new file mode 100644 index 00000000..d536434f --- /dev/null +++ b/venv/Lib/site-packages/click/utils.py @@ -0,0 +1,624 @@ +import os +import re +import sys +import typing as t +from functools import update_wrapper +from types import ModuleType +from types import TracebackType + +from ._compat import _default_text_stderr +from ._compat import _default_text_stdout +from ._compat import _find_binary_writer +from ._compat import auto_wrap_for_ansi +from ._compat import binary_streams +from ._compat import open_stream +from ._compat import should_strip_ansi +from ._compat import strip_ansi +from ._compat import text_streams +from ._compat import WIN +from .globals import resolve_color_default + +if t.TYPE_CHECKING: + import typing_extensions as te + + P = te.ParamSpec("P") + +R = t.TypeVar("R") + + +def _posixify(name: str) -> str: + return "-".join(name.split()).lower() + + +def safecall(func: "t.Callable[P, R]") -> "t.Callable[P, t.Optional[R]]": + """Wraps a function so that it swallows exceptions.""" + + def wrapper(*args: "P.args", **kwargs: "P.kwargs") -> t.Optional[R]: + try: + return func(*args, **kwargs) + except Exception: + pass + return None + + return update_wrapper(wrapper, func) + + +def make_str(value: t.Any) -> str: + """Converts a value into a valid string.""" + if isinstance(value, bytes): + try: + return value.decode(sys.getfilesystemencoding()) + except UnicodeError: + return value.decode("utf-8", "replace") + return str(value) + + +def make_default_short_help(help: str, max_length: int = 45) -> str: + """Returns a condensed version of help string.""" + # Consider only the first paragraph. + paragraph_end = help.find("\n\n") + + if paragraph_end != -1: + help = help[:paragraph_end] + + # Collapse newlines, tabs, and spaces. + words = help.split() + + if not words: + return "" + + # The first paragraph started with a "no rewrap" marker, ignore it. + if words[0] == "\b": + words = words[1:] + + total_length = 0 + last_index = len(words) - 1 + + for i, word in enumerate(words): + total_length += len(word) + (i > 0) + + if total_length > max_length: # too long, truncate + break + + if word[-1] == ".": # sentence end, truncate without "..." + return " ".join(words[: i + 1]) + + if total_length == max_length and i != last_index: + break # not at sentence end, truncate with "..." + else: + return " ".join(words) # no truncation needed + + # Account for the length of the suffix. + total_length += len("...") + + # remove words until the length is short enough + while i > 0: + total_length -= len(words[i]) + (i > 0) + + if total_length <= max_length: + break + + i -= 1 + + return " ".join(words[:i]) + "..." + + +class LazyFile: + """A lazy file works like a regular file but it does not fully open + the file but it does perform some basic checks early to see if the + filename parameter does make sense. This is useful for safely opening + files for writing. + """ + + def __init__( + self, + filename: t.Union[str, "os.PathLike[str]"], + mode: str = "r", + encoding: t.Optional[str] = None, + errors: t.Optional[str] = "strict", + atomic: bool = False, + ): + self.name: str = os.fspath(filename) + self.mode = mode + self.encoding = encoding + self.errors = errors + self.atomic = atomic + self._f: t.Optional[t.IO[t.Any]] + self.should_close: bool + + if self.name == "-": + self._f, self.should_close = open_stream(filename, mode, encoding, errors) + else: + if "r" in mode: + # Open and close the file in case we're opening it for + # reading so that we can catch at least some errors in + # some cases early. + open(filename, mode).close() + self._f = None + self.should_close = True + + def __getattr__(self, name: str) -> t.Any: + return getattr(self.open(), name) + + def __repr__(self) -> str: + if self._f is not None: + return repr(self._f) + return f"" + + def open(self) -> t.IO[t.Any]: + """Opens the file if it's not yet open. This call might fail with + a :exc:`FileError`. Not handling this error will produce an error + that Click shows. + """ + if self._f is not None: + return self._f + try: + rv, self.should_close = open_stream( + self.name, self.mode, self.encoding, self.errors, atomic=self.atomic + ) + except OSError as e: # noqa: E402 + from .exceptions import FileError + + raise FileError(self.name, hint=e.strerror) from e + self._f = rv + return rv + + def close(self) -> None: + """Closes the underlying file, no matter what.""" + if self._f is not None: + self._f.close() + + def close_intelligently(self) -> None: + """This function only closes the file if it was opened by the lazy + file wrapper. For instance this will never close stdin. + """ + if self.should_close: + self.close() + + def __enter__(self) -> "LazyFile": + return self + + def __exit__( + self, + exc_type: t.Optional[t.Type[BaseException]], + exc_value: t.Optional[BaseException], + tb: t.Optional[TracebackType], + ) -> None: + self.close_intelligently() + + def __iter__(self) -> t.Iterator[t.AnyStr]: + self.open() + return iter(self._f) # type: ignore + + +class KeepOpenFile: + def __init__(self, file: t.IO[t.Any]) -> None: + self._file: t.IO[t.Any] = file + + def __getattr__(self, name: str) -> t.Any: + return getattr(self._file, name) + + def __enter__(self) -> "KeepOpenFile": + return self + + def __exit__( + self, + exc_type: t.Optional[t.Type[BaseException]], + exc_value: t.Optional[BaseException], + tb: t.Optional[TracebackType], + ) -> None: + pass + + def __repr__(self) -> str: + return repr(self._file) + + def __iter__(self) -> t.Iterator[t.AnyStr]: + return iter(self._file) + + +def echo( + message: t.Optional[t.Any] = None, + file: t.Optional[t.IO[t.Any]] = None, + nl: bool = True, + err: bool = False, + color: t.Optional[bool] = None, +) -> None: + """Print a message and newline to stdout or a file. This should be + used instead of :func:`print` because it provides better support + for different data, files, and environments. + + Compared to :func:`print`, this does the following: + + - Ensures that the output encoding is not misconfigured on Linux. + - Supports Unicode in the Windows console. + - Supports writing to binary outputs, and supports writing bytes + to text outputs. + - Supports colors and styles on Windows. + - Removes ANSI color and style codes if the output does not look + like an interactive terminal. + - Always flushes the output. + + :param message: The string or bytes to output. Other objects are + converted to strings. + :param file: The file to write to. Defaults to ``stdout``. + :param err: Write to ``stderr`` instead of ``stdout``. + :param nl: Print a newline after the message. Enabled by default. + :param color: Force showing or hiding colors and other styles. By + default Click will remove color if the output does not look like + an interactive terminal. + + .. versionchanged:: 6.0 + Support Unicode output on the Windows console. Click does not + modify ``sys.stdout``, so ``sys.stdout.write()`` and ``print()`` + will still not support Unicode. + + .. versionchanged:: 4.0 + Added the ``color`` parameter. + + .. versionadded:: 3.0 + Added the ``err`` parameter. + + .. versionchanged:: 2.0 + Support colors on Windows if colorama is installed. + """ + if file is None: + if err: + file = _default_text_stderr() + else: + file = _default_text_stdout() + + # There are no standard streams attached to write to. For example, + # pythonw on Windows. + if file is None: + return + + # Convert non bytes/text into the native string type. + if message is not None and not isinstance(message, (str, bytes, bytearray)): + out: t.Optional[t.Union[str, bytes]] = str(message) + else: + out = message + + if nl: + out = out or "" + if isinstance(out, str): + out += "\n" + else: + out += b"\n" + + if not out: + file.flush() + return + + # If there is a message and the value looks like bytes, we manually + # need to find the binary stream and write the message in there. + # This is done separately so that most stream types will work as you + # would expect. Eg: you can write to StringIO for other cases. + if isinstance(out, (bytes, bytearray)): + binary_file = _find_binary_writer(file) + + if binary_file is not None: + file.flush() + binary_file.write(out) + binary_file.flush() + return + + # ANSI style code support. For no message or bytes, nothing happens. + # When outputting to a file instead of a terminal, strip codes. + else: + color = resolve_color_default(color) + + if should_strip_ansi(file, color): + out = strip_ansi(out) + elif WIN: + if auto_wrap_for_ansi is not None: + file = auto_wrap_for_ansi(file) # type: ignore + elif not color: + out = strip_ansi(out) + + file.write(out) # type: ignore + file.flush() + + +def get_binary_stream(name: "te.Literal['stdin', 'stdout', 'stderr']") -> t.BinaryIO: + """Returns a system stream for byte processing. + + :param name: the name of the stream to open. Valid names are ``'stdin'``, + ``'stdout'`` and ``'stderr'`` + """ + opener = binary_streams.get(name) + if opener is None: + raise TypeError(f"Unknown standard stream '{name}'") + return opener() + + +def get_text_stream( + name: "te.Literal['stdin', 'stdout', 'stderr']", + encoding: t.Optional[str] = None, + errors: t.Optional[str] = "strict", +) -> t.TextIO: + """Returns a system stream for text processing. This usually returns + a wrapped stream around a binary stream returned from + :func:`get_binary_stream` but it also can take shortcuts for already + correctly configured streams. + + :param name: the name of the stream to open. Valid names are ``'stdin'``, + ``'stdout'`` and ``'stderr'`` + :param encoding: overrides the detected default encoding. + :param errors: overrides the default error mode. + """ + opener = text_streams.get(name) + if opener is None: + raise TypeError(f"Unknown standard stream '{name}'") + return opener(encoding, errors) + + +def open_file( + filename: str, + mode: str = "r", + encoding: t.Optional[str] = None, + errors: t.Optional[str] = "strict", + lazy: bool = False, + atomic: bool = False, +) -> t.IO[t.Any]: + """Open a file, with extra behavior to handle ``'-'`` to indicate + a standard stream, lazy open on write, and atomic write. Similar to + the behavior of the :class:`~click.File` param type. + + If ``'-'`` is given to open ``stdout`` or ``stdin``, the stream is + wrapped so that using it in a context manager will not close it. + This makes it possible to use the function without accidentally + closing a standard stream: + + .. code-block:: python + + with open_file(filename) as f: + ... + + :param filename: The name of the file to open, or ``'-'`` for + ``stdin``/``stdout``. + :param mode: The mode in which to open the file. + :param encoding: The encoding to decode or encode a file opened in + text mode. + :param errors: The error handling mode. + :param lazy: Wait to open the file until it is accessed. For read + mode, the file is temporarily opened to raise access errors + early, then closed until it is read again. + :param atomic: Write to a temporary file and replace the given file + on close. + + .. versionadded:: 3.0 + """ + if lazy: + return t.cast( + t.IO[t.Any], LazyFile(filename, mode, encoding, errors, atomic=atomic) + ) + + f, should_close = open_stream(filename, mode, encoding, errors, atomic=atomic) + + if not should_close: + f = t.cast(t.IO[t.Any], KeepOpenFile(f)) + + return f + + +def format_filename( + filename: "t.Union[str, bytes, os.PathLike[str], os.PathLike[bytes]]", + shorten: bool = False, +) -> str: + """Format a filename as a string for display. Ensures the filename can be + displayed by replacing any invalid bytes or surrogate escapes in the name + with the replacement character ``�``. + + Invalid bytes or surrogate escapes will raise an error when written to a + stream with ``errors="strict". This will typically happen with ``stdout`` + when the locale is something like ``en_GB.UTF-8``. + + Many scenarios *are* safe to write surrogates though, due to PEP 538 and + PEP 540, including: + + - Writing to ``stderr``, which uses ``errors="backslashreplace"``. + - The system has ``LANG=C.UTF-8``, ``C``, or ``POSIX``. Python opens + stdout and stderr with ``errors="surrogateescape"``. + - None of ``LANG/LC_*`` are set. Python assumes ``LANG=C.UTF-8``. + - Python is started in UTF-8 mode with ``PYTHONUTF8=1`` or ``-X utf8``. + Python opens stdout and stderr with ``errors="surrogateescape"``. + + :param filename: formats a filename for UI display. This will also convert + the filename into unicode without failing. + :param shorten: this optionally shortens the filename to strip of the + path that leads up to it. + """ + if shorten: + filename = os.path.basename(filename) + else: + filename = os.fspath(filename) + + if isinstance(filename, bytes): + filename = filename.decode(sys.getfilesystemencoding(), "replace") + else: + filename = filename.encode("utf-8", "surrogateescape").decode( + "utf-8", "replace" + ) + + return filename + + +def get_app_dir(app_name: str, roaming: bool = True, force_posix: bool = False) -> str: + r"""Returns the config folder for the application. The default behavior + is to return whatever is most appropriate for the operating system. + + To give you an idea, for an app called ``"Foo Bar"``, something like + the following folders could be returned: + + Mac OS X: + ``~/Library/Application Support/Foo Bar`` + Mac OS X (POSIX): + ``~/.foo-bar`` + Unix: + ``~/.config/foo-bar`` + Unix (POSIX): + ``~/.foo-bar`` + Windows (roaming): + ``C:\Users\\AppData\Roaming\Foo Bar`` + Windows (not roaming): + ``C:\Users\\AppData\Local\Foo Bar`` + + .. versionadded:: 2.0 + + :param app_name: the application name. This should be properly capitalized + and can contain whitespace. + :param roaming: controls if the folder should be roaming or not on Windows. + Has no effect otherwise. + :param force_posix: if this is set to `True` then on any POSIX system the + folder will be stored in the home folder with a leading + dot instead of the XDG config home or darwin's + application support folder. + """ + if WIN: + key = "APPDATA" if roaming else "LOCALAPPDATA" + folder = os.environ.get(key) + if folder is None: + folder = os.path.expanduser("~") + return os.path.join(folder, app_name) + if force_posix: + return os.path.join(os.path.expanduser(f"~/.{_posixify(app_name)}")) + if sys.platform == "darwin": + return os.path.join( + os.path.expanduser("~/Library/Application Support"), app_name + ) + return os.path.join( + os.environ.get("XDG_CONFIG_HOME", os.path.expanduser("~/.config")), + _posixify(app_name), + ) + + +class PacifyFlushWrapper: + """This wrapper is used to catch and suppress BrokenPipeErrors resulting + from ``.flush()`` being called on broken pipe during the shutdown/final-GC + of the Python interpreter. Notably ``.flush()`` is always called on + ``sys.stdout`` and ``sys.stderr``. So as to have minimal impact on any + other cleanup code, and the case where the underlying file is not a broken + pipe, all calls and attributes are proxied. + """ + + def __init__(self, wrapped: t.IO[t.Any]) -> None: + self.wrapped = wrapped + + def flush(self) -> None: + try: + self.wrapped.flush() + except OSError as e: + import errno + + if e.errno != errno.EPIPE: + raise + + def __getattr__(self, attr: str) -> t.Any: + return getattr(self.wrapped, attr) + + +def _detect_program_name( + path: t.Optional[str] = None, _main: t.Optional[ModuleType] = None +) -> str: + """Determine the command used to run the program, for use in help + text. If a file or entry point was executed, the file name is + returned. If ``python -m`` was used to execute a module or package, + ``python -m name`` is returned. + + This doesn't try to be too precise, the goal is to give a concise + name for help text. Files are only shown as their name without the + path. ``python`` is only shown for modules, and the full path to + ``sys.executable`` is not shown. + + :param path: The Python file being executed. Python puts this in + ``sys.argv[0]``, which is used by default. + :param _main: The ``__main__`` module. This should only be passed + during internal testing. + + .. versionadded:: 8.0 + Based on command args detection in the Werkzeug reloader. + + :meta private: + """ + if _main is None: + _main = sys.modules["__main__"] + + if not path: + path = sys.argv[0] + + # The value of __package__ indicates how Python was called. It may + # not exist if a setuptools script is installed as an egg. It may be + # set incorrectly for entry points created with pip on Windows. + # It is set to "" inside a Shiv or PEX zipapp. + if getattr(_main, "__package__", None) in {None, ""} or ( + os.name == "nt" + and _main.__package__ == "" + and not os.path.exists(path) + and os.path.exists(f"{path}.exe") + ): + # Executed a file, like "python app.py". + return os.path.basename(path) + + # Executed a module, like "python -m example". + # Rewritten by Python from "-m script" to "/path/to/script.py". + # Need to look at main module to determine how it was executed. + py_module = t.cast(str, _main.__package__) + name = os.path.splitext(os.path.basename(path))[0] + + # A submodule like "example.cli". + if name != "__main__": + py_module = f"{py_module}.{name}" + + return f"python -m {py_module.lstrip('.')}" + + +def _expand_args( + args: t.Iterable[str], + *, + user: bool = True, + env: bool = True, + glob_recursive: bool = True, +) -> t.List[str]: + """Simulate Unix shell expansion with Python functions. + + See :func:`glob.glob`, :func:`os.path.expanduser`, and + :func:`os.path.expandvars`. + + This is intended for use on Windows, where the shell does not do any + expansion. It may not exactly match what a Unix shell would do. + + :param args: List of command line arguments to expand. + :param user: Expand user home directory. + :param env: Expand environment variables. + :param glob_recursive: ``**`` matches directories recursively. + + .. versionchanged:: 8.1 + Invalid glob patterns are treated as empty expansions rather + than raising an error. + + .. versionadded:: 8.0 + + :meta private: + """ + from glob import glob + + out = [] + + for arg in args: + if user: + arg = os.path.expanduser(arg) + + if env: + arg = os.path.expandvars(arg) + + try: + matches = glob(arg, recursive=glob_recursive) + except re.error: + matches = [] + + if not matches: + out.append(arg) + else: + out.extend(matches) + + return out diff --git a/venv/Lib/site-packages/colorama-0.4.4.dist-info/INSTALLER b/venv/Lib/site-packages/colorama-0.4.4.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/venv/Lib/site-packages/colorama-0.4.4.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/Lib/site-packages/colorama-0.4.4.dist-info/LICENSE.txt b/venv/Lib/site-packages/colorama-0.4.4.dist-info/LICENSE.txt new file mode 100644 index 00000000..3105888e --- /dev/null +++ b/venv/Lib/site-packages/colorama-0.4.4.dist-info/LICENSE.txt @@ -0,0 +1,27 @@ +Copyright (c) 2010 Jonathan Hartley +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the copyright holders, nor those of its contributors + may be used to endorse or promote products derived from this software without + specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/venv/Lib/site-packages/colorama-0.4.4.dist-info/METADATA b/venv/Lib/site-packages/colorama-0.4.4.dist-info/METADATA new file mode 100644 index 00000000..2a175c26 --- /dev/null +++ b/venv/Lib/site-packages/colorama-0.4.4.dist-info/METADATA @@ -0,0 +1,415 @@ +Metadata-Version: 2.1 +Name: colorama +Version: 0.4.4 +Summary: Cross-platform colored terminal text. +Home-page: https://github.com/tartley/colorama +Author: Jonathan Hartley +Author-email: tartley@tartley.com +Maintainer: Arnon Yaari +License: BSD +Keywords: color colour terminal text ansi windows crossplatform xplatform +Platform: UNKNOWN +Classifier: Development Status :: 5 - Production/Stable +Classifier: Environment :: Console +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: BSD License +Classifier: Operating System :: OS Independent +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: Implementation :: CPython +Classifier: Programming Language :: Python :: Implementation :: PyPy +Classifier: Topic :: Terminals +Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.* + +.. image:: https://img.shields.io/pypi/v/colorama.svg + :target: https://pypi.org/project/colorama/ + :alt: Latest Version + +.. image:: https://img.shields.io/pypi/pyversions/colorama.svg + :target: https://pypi.org/project/colorama/ + :alt: Supported Python versions + +.. image:: https://travis-ci.org/tartley/colorama.svg?branch=master + :target: https://travis-ci.org/tartley/colorama + :alt: Build Status + +Colorama +======== + +Makes ANSI escape character sequences (for producing colored terminal text and +cursor positioning) work under MS Windows. + +.. |donate| image:: https://www.paypalobjects.com/en_US/i/btn/btn_donate_SM.gif + :target: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=2MZ9D2GMLYCUJ&item_name=Colorama¤cy_code=USD + :alt: Donate with Paypal + +`PyPI for releases `_ · +`Github for source `_ · +`Colorama for enterprise on Tidelift `_ + +If you find Colorama useful, please |donate| to the authors. Thank you! + + +Installation +------------ + +.. code-block:: bash + + pip install colorama + # or + conda install -c anaconda colorama + + +Description +----------- + +ANSI escape character sequences have long been used to produce colored terminal +text and cursor positioning on Unix and Macs. Colorama makes this work on +Windows, too, by wrapping ``stdout``, stripping ANSI sequences it finds (which +would appear as gobbledygook in the output), and converting them into the +appropriate win32 calls to modify the state of the terminal. On other platforms, +Colorama does nothing. + +This has the upshot of providing a simple cross-platform API for printing +colored terminal text from Python, and has the happy side-effect that existing +applications or libraries which use ANSI sequences to produce colored output on +Linux or Macs can now also work on Windows, simply by calling +``colorama.init()``. + +An alternative approach is to install ``ansi.sys`` on Windows machines, which +provides the same behaviour for all applications running in terminals. Colorama +is intended for situations where that isn't easy (e.g., maybe your app doesn't +have an installer.) + +Demo scripts in the source code repository print some colored text using +ANSI sequences. Compare their output under Gnome-terminal's built in ANSI +handling, versus on Windows Command-Prompt using Colorama: + +.. image:: https://github.com/tartley/colorama/raw/master/screenshots/ubuntu-demo.png + :width: 661 + :height: 357 + :alt: ANSI sequences on Ubuntu under gnome-terminal. + +.. image:: https://github.com/tartley/colorama/raw/master/screenshots/windows-demo.png + :width: 668 + :height: 325 + :alt: Same ANSI sequences on Windows, using Colorama. + +These screenshots show that, on Windows, Colorama does not support ANSI 'dim +text'; it looks the same as 'normal text'. + +Usage +----- + +Initialisation +.............. + +Applications should initialise Colorama using: + +.. code-block:: python + + from colorama import init + init() + +On Windows, calling ``init()`` will filter ANSI escape sequences out of any +text sent to ``stdout`` or ``stderr``, and replace them with equivalent Win32 +calls. + +On other platforms, calling ``init()`` has no effect (unless you request other +optional functionality; see "Init Keyword Args", below). By design, this permits +applications to call ``init()`` unconditionally on all platforms, after which +ANSI output should just work. + +To stop using Colorama before your program exits, simply call ``deinit()``. +This will restore ``stdout`` and ``stderr`` to their original values, so that +Colorama is disabled. To resume using Colorama again, call ``reinit()``; it is +cheaper than calling ``init()`` again (but does the same thing). + + +Colored Output +.............. + +Cross-platform printing of colored text can then be done using Colorama's +constant shorthand for ANSI escape sequences: + +.. code-block:: python + + from colorama import Fore, Back, Style + print(Fore.RED + 'some red text') + print(Back.GREEN + 'and with a green background') + print(Style.DIM + 'and in dim text') + print(Style.RESET_ALL) + print('back to normal now') + +...or simply by manually printing ANSI sequences from your own code: + +.. code-block:: python + + print('\033[31m' + 'some red text') + print('\033[39m') # and reset to default color + +...or, Colorama can be used in conjunction with existing ANSI libraries +such as the venerable `Termcolor `_ +or the fabulous `Blessings `_. +This is highly recommended for anything more than trivial coloring: + +.. code-block:: python + + from colorama import init + from termcolor import colored + + # use Colorama to make Termcolor work on Windows too + init() + + # then use Termcolor for all colored text output + print(colored('Hello, World!', 'green', 'on_red')) + +Available formatting constants are:: + + Fore: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET. + Back: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET. + Style: DIM, NORMAL, BRIGHT, RESET_ALL + +``Style.RESET_ALL`` resets foreground, background, and brightness. Colorama will +perform this reset automatically on program exit. + + +Cursor Positioning +.................. + +ANSI codes to reposition the cursor are supported. See ``demos/demo06.py`` for +an example of how to generate them. + + +Init Keyword Args +................. + +``init()`` accepts some ``**kwargs`` to override default behaviour. + +init(autoreset=False): + If you find yourself repeatedly sending reset sequences to turn off color + changes at the end of every print, then ``init(autoreset=True)`` will + automate that: + + .. code-block:: python + + from colorama import init + init(autoreset=True) + print(Fore.RED + 'some red text') + print('automatically back to default color again') + +init(strip=None): + Pass ``True`` or ``False`` to override whether ANSI codes should be + stripped from the output. The default behaviour is to strip if on Windows + or if output is redirected (not a tty). + +init(convert=None): + Pass ``True`` or ``False`` to override whether to convert ANSI codes in the + output into win32 calls. The default behaviour is to convert if on Windows + and output is to a tty (terminal). + +init(wrap=True): + On Windows, Colorama works by replacing ``sys.stdout`` and ``sys.stderr`` + with proxy objects, which override the ``.write()`` method to do their work. + If this wrapping causes you problems, then this can be disabled by passing + ``init(wrap=False)``. The default behaviour is to wrap if ``autoreset`` or + ``strip`` or ``convert`` are True. + + When wrapping is disabled, colored printing on non-Windows platforms will + continue to work as normal. To do cross-platform colored output, you can + use Colorama's ``AnsiToWin32`` proxy directly: + + .. code-block:: python + + import sys + from colorama import init, AnsiToWin32 + init(wrap=False) + stream = AnsiToWin32(sys.stderr).stream + + # Python 2 + print >>stream, Fore.BLUE + 'blue text on stderr' + + # Python 3 + print(Fore.BLUE + 'blue text on stderr', file=stream) + + +Recognised ANSI Sequences +......................... + +ANSI sequences generally take the form:: + + ESC [ ; ... + +Where ```` is an integer, and ```` is a single letter. Zero or +more params are passed to a ````. If no params are passed, it is +generally synonymous with passing a single zero. No spaces exist in the +sequence; they have been inserted here simply to read more easily. + +The only ANSI sequences that Colorama converts into win32 calls are:: + + ESC [ 0 m # reset all (colors and brightness) + ESC [ 1 m # bright + ESC [ 2 m # dim (looks same as normal brightness) + ESC [ 22 m # normal brightness + + # FOREGROUND: + ESC [ 30 m # black + ESC [ 31 m # red + ESC [ 32 m # green + ESC [ 33 m # yellow + ESC [ 34 m # blue + ESC [ 35 m # magenta + ESC [ 36 m # cyan + ESC [ 37 m # white + ESC [ 39 m # reset + + # BACKGROUND + ESC [ 40 m # black + ESC [ 41 m # red + ESC [ 42 m # green + ESC [ 43 m # yellow + ESC [ 44 m # blue + ESC [ 45 m # magenta + ESC [ 46 m # cyan + ESC [ 47 m # white + ESC [ 49 m # reset + + # cursor positioning + ESC [ y;x H # position cursor at x across, y down + ESC [ y;x f # position cursor at x across, y down + ESC [ n A # move cursor n lines up + ESC [ n B # move cursor n lines down + ESC [ n C # move cursor n characters forward + ESC [ n D # move cursor n characters backward + + # clear the screen + ESC [ mode J # clear the screen + + # clear the line + ESC [ mode K # clear the line + +Multiple numeric params to the ``'m'`` command can be combined into a single +sequence:: + + ESC [ 36 ; 45 ; 1 m # bright cyan text on magenta background + +All other ANSI sequences of the form ``ESC [ ; ... `` +are silently stripped from the output on Windows. + +Any other form of ANSI sequence, such as single-character codes or alternative +initial characters, are not recognised or stripped. It would be cool to add +them though. Let me know if it would be useful for you, via the Issues on +GitHub. + + +Status & Known Problems +----------------------- + +I've personally only tested it on Windows XP (CMD, Console2), Ubuntu +(gnome-terminal, xterm), and OS X. + +Some presumably valid ANSI sequences aren't recognised (see details below), +but to my knowledge nobody has yet complained about this. Puzzling. + +See outstanding issues and wish-list: +https://github.com/tartley/colorama/issues + +If anything doesn't work for you, or doesn't do what you expected or hoped for, +I'd love to hear about it on that issues list, would be delighted by patches, +and would be happy to grant commit access to anyone who submits a working patch +or two. + + +License +------- + +Copyright Jonathan Hartley & Arnon Yaari, 2013-2020. BSD 3-Clause license; see +LICENSE file. + + +Development +----------- + +Help and fixes welcome! + +Tested on CPython 2.7, 3.5, 3.6, 3.7 and 3.8. + +No requirements other than the standard library. +Development requirements are captured in requirements-dev.txt. + +To create and populate a virtual environment:: + + ./bootstrap.ps1 # Windows + make bootstrap # Linux + +To run tests:: + + ./test.ps1 # Windows + make test # Linux + +If you use nose to run the tests, you must pass the ``-s`` flag; otherwise, +``nosetests`` applies its own proxy to ``stdout``, which confuses the unit +tests. + + +Professional support +-------------------- + +.. |tideliftlogo| image:: https://cdn2.hubspot.net/hubfs/4008838/website/logos/logos_for_download/Tidelift_primary-shorthand-logo.png + :alt: Tidelift + :target: https://tidelift.com/subscription/pkg/pypi-colorama?utm_source=pypi-colorama&utm_medium=referral&utm_campaign=readme + +.. list-table:: + :widths: 10 100 + + * - |tideliftlogo| + - Professional support for colorama is available as part of the + `Tidelift Subscription`_. + Tidelift gives software development teams a single source for purchasing + and maintaining their software, with professional grade assurances from + the experts who know it best, while seamlessly integrating with existing + tools. + +.. _Tidelift Subscription: https://tidelift.com/subscription/pkg/pypi-colorama?utm_source=pypi-colorama&utm_medium=referral&utm_campaign=readme + + +Thanks +------ + +* Marc Schlaich (schlamar) for a ``setup.py`` fix for Python2.5. +* Marc Abramowitz, reported & fixed a crash on exit with closed ``stdout``, + providing a solution to issue #7's setuptools/distutils debate, + and other fixes. +* User 'eryksun', for guidance on correctly instantiating ``ctypes.windll``. +* Matthew McCormick for politely pointing out a longstanding crash on non-Win. +* Ben Hoyt, for a magnificent fix under 64-bit Windows. +* Jesse at Empty Square for submitting a fix for examples in the README. +* User 'jamessp', an observant documentation fix for cursor positioning. +* User 'vaal1239', Dave Mckee & Lackner Kristof for a tiny but much-needed Win7 + fix. +* Julien Stuyck, for wisely suggesting Python3 compatible updates to README. +* Daniel Griffith for multiple fabulous patches. +* Oscar Lesta for a valuable fix to stop ANSI chars being sent to non-tty + output. +* Roger Binns, for many suggestions, valuable feedback, & bug reports. +* Tim Golden for thought and much appreciated feedback on the initial idea. +* User 'Zearin' for updates to the README file. +* John Szakmeister for adding support for light colors +* Charles Merriam for adding documentation to demos +* Jurko for a fix on 64-bit Windows CPython2.5 w/o ctypes +* Florian Bruhin for a fix when stdout or stderr are None +* Thomas Weininger for fixing ValueError on Windows +* Remi Rampin for better Github integration and fixes to the README file +* Simeon Visser for closing a file handle using 'with' and updating classifiers + to include Python 3.3 and 3.4 +* Andy Neff for fixing RESET of LIGHT_EX colors. +* Jonathan Hartley for the initial idea and implementation. + + + diff --git a/venv/Lib/site-packages/colorama-0.4.4.dist-info/RECORD b/venv/Lib/site-packages/colorama-0.4.4.dist-info/RECORD new file mode 100644 index 00000000..0855ba06 --- /dev/null +++ b/venv/Lib/site-packages/colorama-0.4.4.dist-info/RECORD @@ -0,0 +1,19 @@ +colorama-0.4.4.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +colorama-0.4.4.dist-info/LICENSE.txt,sha256=ysNcAmhuXQSlpxQL-zs25zrtSWZW6JEQLkKIhteTAxg,1491 +colorama-0.4.4.dist-info/METADATA,sha256=JmU7ePpEh1xcqZV0JKcrrlU7cp5o4InDlHJXbo_FTQw,14551 +colorama-0.4.4.dist-info/RECORD,, +colorama-0.4.4.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +colorama-0.4.4.dist-info/WHEEL,sha256=gxPaqcqKPLUXaSAKwmfHO7_iAOlVvmp33DewnUluBB8,116 +colorama-0.4.4.dist-info/top_level.txt,sha256=_Kx6-Cni2BT1PEATPhrSRxo0d7kSgfBbHf5o7IF1ABw,9 +colorama/__init__.py,sha256=pCdErryzLSzDW5P-rRPBlPLqbBtIRNJB6cMgoeJns5k,239 +colorama/__pycache__/__init__.cpython-39.pyc,, +colorama/__pycache__/ansi.cpython-39.pyc,, +colorama/__pycache__/ansitowin32.cpython-39.pyc,, +colorama/__pycache__/initialise.cpython-39.pyc,, +colorama/__pycache__/win32.cpython-39.pyc,, +colorama/__pycache__/winterm.cpython-39.pyc,, +colorama/ansi.py,sha256=Top4EeEuaQdBWdteKMEcGOTeKeF19Q-Wo_6_Cj5kOzQ,2522 +colorama/ansitowin32.py,sha256=yV7CEmCb19MjnJKODZEEvMH_fnbJhwnpzo4sxZuGXmA,10517 +colorama/initialise.py,sha256=PprovDNxMTrvoNHFcL2NZjpH2XzDc8BLxLxiErfUl4k,1915 +colorama/win32.py,sha256=bJ8Il9jwaBN5BJ8bmN6FoYZ1QYuMKv2j8fGrXh7TJjw,5404 +colorama/winterm.py,sha256=2y_2b7Zsv34feAsP67mLOVc-Bgq51mdYGo571VprlrM,6438 diff --git a/venv/Lib/site-packages/colorama-0.4.4.dist-info/REQUESTED b/venv/Lib/site-packages/colorama-0.4.4.dist-info/REQUESTED new file mode 100644 index 00000000..e69de29b diff --git a/venv/Lib/site-packages/colorama-0.4.4.dist-info/WHEEL b/venv/Lib/site-packages/colorama-0.4.4.dist-info/WHEEL new file mode 100644 index 00000000..6d38aa06 --- /dev/null +++ b/venv/Lib/site-packages/colorama-0.4.4.dist-info/WHEEL @@ -0,0 +1,6 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.35.1) +Root-Is-Purelib: true +Tag: py2-none-any +Tag: py3-none-any + diff --git a/venv/Lib/site-packages/colorama-0.4.4.dist-info/top_level.txt b/venv/Lib/site-packages/colorama-0.4.4.dist-info/top_level.txt new file mode 100644 index 00000000..3fcfb51b --- /dev/null +++ b/venv/Lib/site-packages/colorama-0.4.4.dist-info/top_level.txt @@ -0,0 +1 @@ +colorama diff --git a/venv/Lib/site-packages/colorama/__init__.py b/venv/Lib/site-packages/colorama/__init__.py new file mode 100644 index 00000000..b149ed79 --- /dev/null +++ b/venv/Lib/site-packages/colorama/__init__.py @@ -0,0 +1,6 @@ +# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. +from .initialise import init, deinit, reinit, colorama_text +from .ansi import Fore, Back, Style, Cursor +from .ansitowin32 import AnsiToWin32 + +__version__ = '0.4.4' diff --git a/venv/Lib/site-packages/colorama/__pycache__/__init__.cpython-39.pyc b/venv/Lib/site-packages/colorama/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..bfc70826 Binary files /dev/null and b/venv/Lib/site-packages/colorama/__pycache__/__init__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/colorama/__pycache__/ansi.cpython-39.pyc b/venv/Lib/site-packages/colorama/__pycache__/ansi.cpython-39.pyc new file mode 100644 index 00000000..791d4753 Binary files /dev/null and b/venv/Lib/site-packages/colorama/__pycache__/ansi.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/colorama/__pycache__/ansitowin32.cpython-39.pyc b/venv/Lib/site-packages/colorama/__pycache__/ansitowin32.cpython-39.pyc new file mode 100644 index 00000000..648493ab Binary files /dev/null and b/venv/Lib/site-packages/colorama/__pycache__/ansitowin32.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/colorama/__pycache__/initialise.cpython-39.pyc b/venv/Lib/site-packages/colorama/__pycache__/initialise.cpython-39.pyc new file mode 100644 index 00000000..f3b39f0e Binary files /dev/null and b/venv/Lib/site-packages/colorama/__pycache__/initialise.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/colorama/__pycache__/win32.cpython-39.pyc b/venv/Lib/site-packages/colorama/__pycache__/win32.cpython-39.pyc new file mode 100644 index 00000000..d7b07887 Binary files /dev/null and b/venv/Lib/site-packages/colorama/__pycache__/win32.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/colorama/__pycache__/winterm.cpython-39.pyc b/venv/Lib/site-packages/colorama/__pycache__/winterm.cpython-39.pyc new file mode 100644 index 00000000..7ba1f14f Binary files /dev/null and b/venv/Lib/site-packages/colorama/__pycache__/winterm.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/colorama/ansi.py b/venv/Lib/site-packages/colorama/ansi.py new file mode 100644 index 00000000..11ec695f --- /dev/null +++ b/venv/Lib/site-packages/colorama/ansi.py @@ -0,0 +1,102 @@ +# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. +''' +This module generates ANSI character codes to printing colors to terminals. +See: http://en.wikipedia.org/wiki/ANSI_escape_code +''' + +CSI = '\033[' +OSC = '\033]' +BEL = '\a' + + +def code_to_chars(code): + return CSI + str(code) + 'm' + +def set_title(title): + return OSC + '2;' + title + BEL + +def clear_screen(mode=2): + return CSI + str(mode) + 'J' + +def clear_line(mode=2): + return CSI + str(mode) + 'K' + + +class AnsiCodes(object): + def __init__(self): + # the subclasses declare class attributes which are numbers. + # Upon instantiation we define instance attributes, which are the same + # as the class attributes but wrapped with the ANSI escape sequence + for name in dir(self): + if not name.startswith('_'): + value = getattr(self, name) + setattr(self, name, code_to_chars(value)) + + +class AnsiCursor(object): + def UP(self, n=1): + return CSI + str(n) + 'A' + def DOWN(self, n=1): + return CSI + str(n) + 'B' + def FORWARD(self, n=1): + return CSI + str(n) + 'C' + def BACK(self, n=1): + return CSI + str(n) + 'D' + def POS(self, x=1, y=1): + return CSI + str(y) + ';' + str(x) + 'H' + + +class AnsiFore(AnsiCodes): + BLACK = 30 + RED = 31 + GREEN = 32 + YELLOW = 33 + BLUE = 34 + MAGENTA = 35 + CYAN = 36 + WHITE = 37 + RESET = 39 + + # These are fairly well supported, but not part of the standard. + LIGHTBLACK_EX = 90 + LIGHTRED_EX = 91 + LIGHTGREEN_EX = 92 + LIGHTYELLOW_EX = 93 + LIGHTBLUE_EX = 94 + LIGHTMAGENTA_EX = 95 + LIGHTCYAN_EX = 96 + LIGHTWHITE_EX = 97 + + +class AnsiBack(AnsiCodes): + BLACK = 40 + RED = 41 + GREEN = 42 + YELLOW = 43 + BLUE = 44 + MAGENTA = 45 + CYAN = 46 + WHITE = 47 + RESET = 49 + + # These are fairly well supported, but not part of the standard. + LIGHTBLACK_EX = 100 + LIGHTRED_EX = 101 + LIGHTGREEN_EX = 102 + LIGHTYELLOW_EX = 103 + LIGHTBLUE_EX = 104 + LIGHTMAGENTA_EX = 105 + LIGHTCYAN_EX = 106 + LIGHTWHITE_EX = 107 + + +class AnsiStyle(AnsiCodes): + BRIGHT = 1 + DIM = 2 + NORMAL = 22 + RESET_ALL = 0 + +Fore = AnsiFore() +Back = AnsiBack() +Style = AnsiStyle() +Cursor = AnsiCursor() diff --git a/venv/Lib/site-packages/colorama/ansitowin32.py b/venv/Lib/site-packages/colorama/ansitowin32.py new file mode 100644 index 00000000..6039a054 --- /dev/null +++ b/venv/Lib/site-packages/colorama/ansitowin32.py @@ -0,0 +1,258 @@ +# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. +import re +import sys +import os + +from .ansi import AnsiFore, AnsiBack, AnsiStyle, Style, BEL +from .winterm import WinTerm, WinColor, WinStyle +from .win32 import windll, winapi_test + + +winterm = None +if windll is not None: + winterm = WinTerm() + + +class StreamWrapper(object): + ''' + Wraps a stream (such as stdout), acting as a transparent proxy for all + attribute access apart from method 'write()', which is delegated to our + Converter instance. + ''' + def __init__(self, wrapped, converter): + # double-underscore everything to prevent clashes with names of + # attributes on the wrapped stream object. + self.__wrapped = wrapped + self.__convertor = converter + + def __getattr__(self, name): + return getattr(self.__wrapped, name) + + def __enter__(self, *args, **kwargs): + # special method lookup bypasses __getattr__/__getattribute__, see + # https://stackoverflow.com/questions/12632894/why-doesnt-getattr-work-with-exit + # thus, contextlib magic methods are not proxied via __getattr__ + return self.__wrapped.__enter__(*args, **kwargs) + + def __exit__(self, *args, **kwargs): + return self.__wrapped.__exit__(*args, **kwargs) + + def write(self, text): + self.__convertor.write(text) + + def isatty(self): + stream = self.__wrapped + if 'PYCHARM_HOSTED' in os.environ: + if stream is not None and (stream is sys.__stdout__ or stream is sys.__stderr__): + return True + try: + stream_isatty = stream.isatty + except AttributeError: + return False + else: + return stream_isatty() + + @property + def closed(self): + stream = self.__wrapped + try: + return stream.closed + except AttributeError: + return True + + +class AnsiToWin32(object): + ''' + Implements a 'write()' method which, on Windows, will strip ANSI character + sequences from the text, and if outputting to a tty, will convert them into + win32 function calls. + ''' + ANSI_CSI_RE = re.compile('\001?\033\\[((?:\\d|;)*)([a-zA-Z])\002?') # Control Sequence Introducer + ANSI_OSC_RE = re.compile('\001?\033\\]([^\a]*)(\a)\002?') # Operating System Command + + def __init__(self, wrapped, convert=None, strip=None, autoreset=False): + # The wrapped stream (normally sys.stdout or sys.stderr) + self.wrapped = wrapped + + # should we reset colors to defaults after every .write() + self.autoreset = autoreset + + # create the proxy wrapping our output stream + self.stream = StreamWrapper(wrapped, self) + + on_windows = os.name == 'nt' + # We test if the WinAPI works, because even if we are on Windows + # we may be using a terminal that doesn't support the WinAPI + # (e.g. Cygwin Terminal). In this case it's up to the terminal + # to support the ANSI codes. + conversion_supported = on_windows and winapi_test() + + # should we strip ANSI sequences from our output? + if strip is None: + strip = conversion_supported or (not self.stream.closed and not self.stream.isatty()) + self.strip = strip + + # should we should convert ANSI sequences into win32 calls? + if convert is None: + convert = conversion_supported and not self.stream.closed and self.stream.isatty() + self.convert = convert + + # dict of ansi codes to win32 functions and parameters + self.win32_calls = self.get_win32_calls() + + # are we wrapping stderr? + self.on_stderr = self.wrapped is sys.stderr + + def should_wrap(self): + ''' + True if this class is actually needed. If false, then the output + stream will not be affected, nor will win32 calls be issued, so + wrapping stdout is not actually required. This will generally be + False on non-Windows platforms, unless optional functionality like + autoreset has been requested using kwargs to init() + ''' + return self.convert or self.strip or self.autoreset + + def get_win32_calls(self): + if self.convert and winterm: + return { + AnsiStyle.RESET_ALL: (winterm.reset_all, ), + AnsiStyle.BRIGHT: (winterm.style, WinStyle.BRIGHT), + AnsiStyle.DIM: (winterm.style, WinStyle.NORMAL), + AnsiStyle.NORMAL: (winterm.style, WinStyle.NORMAL), + AnsiFore.BLACK: (winterm.fore, WinColor.BLACK), + AnsiFore.RED: (winterm.fore, WinColor.RED), + AnsiFore.GREEN: (winterm.fore, WinColor.GREEN), + AnsiFore.YELLOW: (winterm.fore, WinColor.YELLOW), + AnsiFore.BLUE: (winterm.fore, WinColor.BLUE), + AnsiFore.MAGENTA: (winterm.fore, WinColor.MAGENTA), + AnsiFore.CYAN: (winterm.fore, WinColor.CYAN), + AnsiFore.WHITE: (winterm.fore, WinColor.GREY), + AnsiFore.RESET: (winterm.fore, ), + AnsiFore.LIGHTBLACK_EX: (winterm.fore, WinColor.BLACK, True), + AnsiFore.LIGHTRED_EX: (winterm.fore, WinColor.RED, True), + AnsiFore.LIGHTGREEN_EX: (winterm.fore, WinColor.GREEN, True), + AnsiFore.LIGHTYELLOW_EX: (winterm.fore, WinColor.YELLOW, True), + AnsiFore.LIGHTBLUE_EX: (winterm.fore, WinColor.BLUE, True), + AnsiFore.LIGHTMAGENTA_EX: (winterm.fore, WinColor.MAGENTA, True), + AnsiFore.LIGHTCYAN_EX: (winterm.fore, WinColor.CYAN, True), + AnsiFore.LIGHTWHITE_EX: (winterm.fore, WinColor.GREY, True), + AnsiBack.BLACK: (winterm.back, WinColor.BLACK), + AnsiBack.RED: (winterm.back, WinColor.RED), + AnsiBack.GREEN: (winterm.back, WinColor.GREEN), + AnsiBack.YELLOW: (winterm.back, WinColor.YELLOW), + AnsiBack.BLUE: (winterm.back, WinColor.BLUE), + AnsiBack.MAGENTA: (winterm.back, WinColor.MAGENTA), + AnsiBack.CYAN: (winterm.back, WinColor.CYAN), + AnsiBack.WHITE: (winterm.back, WinColor.GREY), + AnsiBack.RESET: (winterm.back, ), + AnsiBack.LIGHTBLACK_EX: (winterm.back, WinColor.BLACK, True), + AnsiBack.LIGHTRED_EX: (winterm.back, WinColor.RED, True), + AnsiBack.LIGHTGREEN_EX: (winterm.back, WinColor.GREEN, True), + AnsiBack.LIGHTYELLOW_EX: (winterm.back, WinColor.YELLOW, True), + AnsiBack.LIGHTBLUE_EX: (winterm.back, WinColor.BLUE, True), + AnsiBack.LIGHTMAGENTA_EX: (winterm.back, WinColor.MAGENTA, True), + AnsiBack.LIGHTCYAN_EX: (winterm.back, WinColor.CYAN, True), + AnsiBack.LIGHTWHITE_EX: (winterm.back, WinColor.GREY, True), + } + return dict() + + def write(self, text): + if self.strip or self.convert: + self.write_and_convert(text) + else: + self.wrapped.write(text) + self.wrapped.flush() + if self.autoreset: + self.reset_all() + + + def reset_all(self): + if self.convert: + self.call_win32('m', (0,)) + elif not self.strip and not self.stream.closed: + self.wrapped.write(Style.RESET_ALL) + + + def write_and_convert(self, text): + ''' + Write the given text to our wrapped stream, stripping any ANSI + sequences from the text, and optionally converting them into win32 + calls. + ''' + cursor = 0 + text = self.convert_osc(text) + for match in self.ANSI_CSI_RE.finditer(text): + start, end = match.span() + self.write_plain_text(text, cursor, start) + self.convert_ansi(*match.groups()) + cursor = end + self.write_plain_text(text, cursor, len(text)) + + + def write_plain_text(self, text, start, end): + if start < end: + self.wrapped.write(text[start:end]) + self.wrapped.flush() + + + def convert_ansi(self, paramstring, command): + if self.convert: + params = self.extract_params(command, paramstring) + self.call_win32(command, params) + + + def extract_params(self, command, paramstring): + if command in 'Hf': + params = tuple(int(p) if len(p) != 0 else 1 for p in paramstring.split(';')) + while len(params) < 2: + # defaults: + params = params + (1,) + else: + params = tuple(int(p) for p in paramstring.split(';') if len(p) != 0) + if len(params) == 0: + # defaults: + if command in 'JKm': + params = (0,) + elif command in 'ABCD': + params = (1,) + + return params + + + def call_win32(self, command, params): + if command == 'm': + for param in params: + if param in self.win32_calls: + func_args = self.win32_calls[param] + func = func_args[0] + args = func_args[1:] + kwargs = dict(on_stderr=self.on_stderr) + func(*args, **kwargs) + elif command in 'J': + winterm.erase_screen(params[0], on_stderr=self.on_stderr) + elif command in 'K': + winterm.erase_line(params[0], on_stderr=self.on_stderr) + elif command in 'Hf': # cursor position - absolute + winterm.set_cursor_position(params, on_stderr=self.on_stderr) + elif command in 'ABCD': # cursor position - relative + n = params[0] + # A - up, B - down, C - forward, D - back + x, y = {'A': (0, -n), 'B': (0, n), 'C': (n, 0), 'D': (-n, 0)}[command] + winterm.cursor_adjust(x, y, on_stderr=self.on_stderr) + + + def convert_osc(self, text): + for match in self.ANSI_OSC_RE.finditer(text): + start, end = match.span() + text = text[:start] + text[end:] + paramstring, command = match.groups() + if command == BEL: + if paramstring.count(";") == 1: + params = paramstring.split(";") + # 0 - change title and icon (we will only change title) + # 1 - change icon (we don't support this) + # 2 - change title + if params[0] in '02': + winterm.set_title(params[1]) + return text diff --git a/venv/Lib/site-packages/colorama/initialise.py b/venv/Lib/site-packages/colorama/initialise.py new file mode 100644 index 00000000..430d0668 --- /dev/null +++ b/venv/Lib/site-packages/colorama/initialise.py @@ -0,0 +1,80 @@ +# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. +import atexit +import contextlib +import sys + +from .ansitowin32 import AnsiToWin32 + + +orig_stdout = None +orig_stderr = None + +wrapped_stdout = None +wrapped_stderr = None + +atexit_done = False + + +def reset_all(): + if AnsiToWin32 is not None: # Issue #74: objects might become None at exit + AnsiToWin32(orig_stdout).reset_all() + + +def init(autoreset=False, convert=None, strip=None, wrap=True): + + if not wrap and any([autoreset, convert, strip]): + raise ValueError('wrap=False conflicts with any other arg=True') + + global wrapped_stdout, wrapped_stderr + global orig_stdout, orig_stderr + + orig_stdout = sys.stdout + orig_stderr = sys.stderr + + if sys.stdout is None: + wrapped_stdout = None + else: + sys.stdout = wrapped_stdout = \ + wrap_stream(orig_stdout, convert, strip, autoreset, wrap) + if sys.stderr is None: + wrapped_stderr = None + else: + sys.stderr = wrapped_stderr = \ + wrap_stream(orig_stderr, convert, strip, autoreset, wrap) + + global atexit_done + if not atexit_done: + atexit.register(reset_all) + atexit_done = True + + +def deinit(): + if orig_stdout is not None: + sys.stdout = orig_stdout + if orig_stderr is not None: + sys.stderr = orig_stderr + + +@contextlib.contextmanager +def colorama_text(*args, **kwargs): + init(*args, **kwargs) + try: + yield + finally: + deinit() + + +def reinit(): + if wrapped_stdout is not None: + sys.stdout = wrapped_stdout + if wrapped_stderr is not None: + sys.stderr = wrapped_stderr + + +def wrap_stream(stream, convert, strip, autoreset, wrap): + if wrap: + wrapper = AnsiToWin32(stream, + convert=convert, strip=strip, autoreset=autoreset) + if wrapper.should_wrap(): + stream = wrapper.stream + return stream diff --git a/venv/Lib/site-packages/colorama/win32.py b/venv/Lib/site-packages/colorama/win32.py new file mode 100644 index 00000000..c2d83603 --- /dev/null +++ b/venv/Lib/site-packages/colorama/win32.py @@ -0,0 +1,152 @@ +# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. + +# from winbase.h +STDOUT = -11 +STDERR = -12 + +try: + import ctypes + from ctypes import LibraryLoader + windll = LibraryLoader(ctypes.WinDLL) + from ctypes import wintypes +except (AttributeError, ImportError): + windll = None + SetConsoleTextAttribute = lambda *_: None + winapi_test = lambda *_: None +else: + from ctypes import byref, Structure, c_char, POINTER + + COORD = wintypes._COORD + + class CONSOLE_SCREEN_BUFFER_INFO(Structure): + """struct in wincon.h.""" + _fields_ = [ + ("dwSize", COORD), + ("dwCursorPosition", COORD), + ("wAttributes", wintypes.WORD), + ("srWindow", wintypes.SMALL_RECT), + ("dwMaximumWindowSize", COORD), + ] + def __str__(self): + return '(%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d)' % ( + self.dwSize.Y, self.dwSize.X + , self.dwCursorPosition.Y, self.dwCursorPosition.X + , self.wAttributes + , self.srWindow.Top, self.srWindow.Left, self.srWindow.Bottom, self.srWindow.Right + , self.dwMaximumWindowSize.Y, self.dwMaximumWindowSize.X + ) + + _GetStdHandle = windll.kernel32.GetStdHandle + _GetStdHandle.argtypes = [ + wintypes.DWORD, + ] + _GetStdHandle.restype = wintypes.HANDLE + + _GetConsoleScreenBufferInfo = windll.kernel32.GetConsoleScreenBufferInfo + _GetConsoleScreenBufferInfo.argtypes = [ + wintypes.HANDLE, + POINTER(CONSOLE_SCREEN_BUFFER_INFO), + ] + _GetConsoleScreenBufferInfo.restype = wintypes.BOOL + + _SetConsoleTextAttribute = windll.kernel32.SetConsoleTextAttribute + _SetConsoleTextAttribute.argtypes = [ + wintypes.HANDLE, + wintypes.WORD, + ] + _SetConsoleTextAttribute.restype = wintypes.BOOL + + _SetConsoleCursorPosition = windll.kernel32.SetConsoleCursorPosition + _SetConsoleCursorPosition.argtypes = [ + wintypes.HANDLE, + COORD, + ] + _SetConsoleCursorPosition.restype = wintypes.BOOL + + _FillConsoleOutputCharacterA = windll.kernel32.FillConsoleOutputCharacterA + _FillConsoleOutputCharacterA.argtypes = [ + wintypes.HANDLE, + c_char, + wintypes.DWORD, + COORD, + POINTER(wintypes.DWORD), + ] + _FillConsoleOutputCharacterA.restype = wintypes.BOOL + + _FillConsoleOutputAttribute = windll.kernel32.FillConsoleOutputAttribute + _FillConsoleOutputAttribute.argtypes = [ + wintypes.HANDLE, + wintypes.WORD, + wintypes.DWORD, + COORD, + POINTER(wintypes.DWORD), + ] + _FillConsoleOutputAttribute.restype = wintypes.BOOL + + _SetConsoleTitleW = windll.kernel32.SetConsoleTitleW + _SetConsoleTitleW.argtypes = [ + wintypes.LPCWSTR + ] + _SetConsoleTitleW.restype = wintypes.BOOL + + def _winapi_test(handle): + csbi = CONSOLE_SCREEN_BUFFER_INFO() + success = _GetConsoleScreenBufferInfo( + handle, byref(csbi)) + return bool(success) + + def winapi_test(): + return any(_winapi_test(h) for h in + (_GetStdHandle(STDOUT), _GetStdHandle(STDERR))) + + def GetConsoleScreenBufferInfo(stream_id=STDOUT): + handle = _GetStdHandle(stream_id) + csbi = CONSOLE_SCREEN_BUFFER_INFO() + success = _GetConsoleScreenBufferInfo( + handle, byref(csbi)) + return csbi + + def SetConsoleTextAttribute(stream_id, attrs): + handle = _GetStdHandle(stream_id) + return _SetConsoleTextAttribute(handle, attrs) + + def SetConsoleCursorPosition(stream_id, position, adjust=True): + position = COORD(*position) + # If the position is out of range, do nothing. + if position.Y <= 0 or position.X <= 0: + return + # Adjust for Windows' SetConsoleCursorPosition: + # 1. being 0-based, while ANSI is 1-based. + # 2. expecting (x,y), while ANSI uses (y,x). + adjusted_position = COORD(position.Y - 1, position.X - 1) + if adjust: + # Adjust for viewport's scroll position + sr = GetConsoleScreenBufferInfo(STDOUT).srWindow + adjusted_position.Y += sr.Top + adjusted_position.X += sr.Left + # Resume normal processing + handle = _GetStdHandle(stream_id) + return _SetConsoleCursorPosition(handle, adjusted_position) + + def FillConsoleOutputCharacter(stream_id, char, length, start): + handle = _GetStdHandle(stream_id) + char = c_char(char.encode()) + length = wintypes.DWORD(length) + num_written = wintypes.DWORD(0) + # Note that this is hard-coded for ANSI (vs wide) bytes. + success = _FillConsoleOutputCharacterA( + handle, char, length, start, byref(num_written)) + return num_written.value + + def FillConsoleOutputAttribute(stream_id, attr, length, start): + ''' FillConsoleOutputAttribute( hConsole, csbi.wAttributes, dwConSize, coordScreen, &cCharsWritten )''' + handle = _GetStdHandle(stream_id) + attribute = wintypes.WORD(attr) + length = wintypes.DWORD(length) + num_written = wintypes.DWORD(0) + # Note that this is hard-coded for ANSI (vs wide) bytes. + return _FillConsoleOutputAttribute( + handle, attribute, length, start, byref(num_written)) + + def SetConsoleTitle(title): + return _SetConsoleTitleW(title) diff --git a/venv/Lib/site-packages/colorama/winterm.py b/venv/Lib/site-packages/colorama/winterm.py new file mode 100644 index 00000000..0fdb4ec4 --- /dev/null +++ b/venv/Lib/site-packages/colorama/winterm.py @@ -0,0 +1,169 @@ +# Copyright Jonathan Hartley 2013. BSD 3-Clause license, see LICENSE file. +from . import win32 + + +# from wincon.h +class WinColor(object): + BLACK = 0 + BLUE = 1 + GREEN = 2 + CYAN = 3 + RED = 4 + MAGENTA = 5 + YELLOW = 6 + GREY = 7 + +# from wincon.h +class WinStyle(object): + NORMAL = 0x00 # dim text, dim background + BRIGHT = 0x08 # bright text, dim background + BRIGHT_BACKGROUND = 0x80 # dim text, bright background + +class WinTerm(object): + + def __init__(self): + self._default = win32.GetConsoleScreenBufferInfo(win32.STDOUT).wAttributes + self.set_attrs(self._default) + self._default_fore = self._fore + self._default_back = self._back + self._default_style = self._style + # In order to emulate LIGHT_EX in windows, we borrow the BRIGHT style. + # So that LIGHT_EX colors and BRIGHT style do not clobber each other, + # we track them separately, since LIGHT_EX is overwritten by Fore/Back + # and BRIGHT is overwritten by Style codes. + self._light = 0 + + def get_attrs(self): + return self._fore + self._back * 16 + (self._style | self._light) + + def set_attrs(self, value): + self._fore = value & 7 + self._back = (value >> 4) & 7 + self._style = value & (WinStyle.BRIGHT | WinStyle.BRIGHT_BACKGROUND) + + def reset_all(self, on_stderr=None): + self.set_attrs(self._default) + self.set_console(attrs=self._default) + self._light = 0 + + def fore(self, fore=None, light=False, on_stderr=False): + if fore is None: + fore = self._default_fore + self._fore = fore + # Emulate LIGHT_EX with BRIGHT Style + if light: + self._light |= WinStyle.BRIGHT + else: + self._light &= ~WinStyle.BRIGHT + self.set_console(on_stderr=on_stderr) + + def back(self, back=None, light=False, on_stderr=False): + if back is None: + back = self._default_back + self._back = back + # Emulate LIGHT_EX with BRIGHT_BACKGROUND Style + if light: + self._light |= WinStyle.BRIGHT_BACKGROUND + else: + self._light &= ~WinStyle.BRIGHT_BACKGROUND + self.set_console(on_stderr=on_stderr) + + def style(self, style=None, on_stderr=False): + if style is None: + style = self._default_style + self._style = style + self.set_console(on_stderr=on_stderr) + + def set_console(self, attrs=None, on_stderr=False): + if attrs is None: + attrs = self.get_attrs() + handle = win32.STDOUT + if on_stderr: + handle = win32.STDERR + win32.SetConsoleTextAttribute(handle, attrs) + + def get_position(self, handle): + position = win32.GetConsoleScreenBufferInfo(handle).dwCursorPosition + # Because Windows coordinates are 0-based, + # and win32.SetConsoleCursorPosition expects 1-based. + position.X += 1 + position.Y += 1 + return position + + def set_cursor_position(self, position=None, on_stderr=False): + if position is None: + # I'm not currently tracking the position, so there is no default. + # position = self.get_position() + return + handle = win32.STDOUT + if on_stderr: + handle = win32.STDERR + win32.SetConsoleCursorPosition(handle, position) + + def cursor_adjust(self, x, y, on_stderr=False): + handle = win32.STDOUT + if on_stderr: + handle = win32.STDERR + position = self.get_position(handle) + adjusted_position = (position.Y + y, position.X + x) + win32.SetConsoleCursorPosition(handle, adjusted_position, adjust=False) + + def erase_screen(self, mode=0, on_stderr=False): + # 0 should clear from the cursor to the end of the screen. + # 1 should clear from the cursor to the beginning of the screen. + # 2 should clear the entire screen, and move cursor to (1,1) + handle = win32.STDOUT + if on_stderr: + handle = win32.STDERR + csbi = win32.GetConsoleScreenBufferInfo(handle) + # get the number of character cells in the current buffer + cells_in_screen = csbi.dwSize.X * csbi.dwSize.Y + # get number of character cells before current cursor position + cells_before_cursor = csbi.dwSize.X * csbi.dwCursorPosition.Y + csbi.dwCursorPosition.X + if mode == 0: + from_coord = csbi.dwCursorPosition + cells_to_erase = cells_in_screen - cells_before_cursor + elif mode == 1: + from_coord = win32.COORD(0, 0) + cells_to_erase = cells_before_cursor + elif mode == 2: + from_coord = win32.COORD(0, 0) + cells_to_erase = cells_in_screen + else: + # invalid mode + return + # fill the entire screen with blanks + win32.FillConsoleOutputCharacter(handle, ' ', cells_to_erase, from_coord) + # now set the buffer's attributes accordingly + win32.FillConsoleOutputAttribute(handle, self.get_attrs(), cells_to_erase, from_coord) + if mode == 2: + # put the cursor where needed + win32.SetConsoleCursorPosition(handle, (1, 1)) + + def erase_line(self, mode=0, on_stderr=False): + # 0 should clear from the cursor to the end of the line. + # 1 should clear from the cursor to the beginning of the line. + # 2 should clear the entire line. + handle = win32.STDOUT + if on_stderr: + handle = win32.STDERR + csbi = win32.GetConsoleScreenBufferInfo(handle) + if mode == 0: + from_coord = csbi.dwCursorPosition + cells_to_erase = csbi.dwSize.X - csbi.dwCursorPosition.X + elif mode == 1: + from_coord = win32.COORD(0, csbi.dwCursorPosition.Y) + cells_to_erase = csbi.dwCursorPosition.X + elif mode == 2: + from_coord = win32.COORD(0, csbi.dwCursorPosition.Y) + cells_to_erase = csbi.dwSize.X + else: + # invalid mode + return + # fill the entire screen with blanks + win32.FillConsoleOutputCharacter(handle, ' ', cells_to_erase, from_coord) + # now set the buffer's attributes accordingly + win32.FillConsoleOutputAttribute(handle, self.get_attrs(), cells_to_erase, from_coord) + + def set_title(self, title): + win32.SetConsoleTitle(title) diff --git a/venv/Lib/site-packages/configargparse.py b/venv/Lib/site-packages/configargparse.py new file mode 100644 index 00000000..24fe91f6 --- /dev/null +++ b/venv/Lib/site-packages/configargparse.py @@ -0,0 +1,1157 @@ +""" +A drop-in replacement for `argparse` that allows options to also be set via config files and/or environment variables. + +:see: `configargparse.ArgumentParser`, `configargparse.add_argument` +""" +import argparse +import json +import glob +import os +import re +import sys +import types +from collections import OrderedDict +import textwrap + +if sys.version_info >= (3, 0): + from io import StringIO +else: + from StringIO import StringIO + + +ACTION_TYPES_THAT_DONT_NEED_A_VALUE = [argparse._StoreTrueAction, + argparse._StoreFalseAction, argparse._CountAction, + argparse._StoreConstAction, argparse._AppendConstAction] + +if sys.version_info >= (3, 9): + ACTION_TYPES_THAT_DONT_NEED_A_VALUE.append(argparse.BooleanOptionalAction) + is_boolean_optional_action = lambda action: isinstance(action, argparse.BooleanOptionalAction) +else: + is_boolean_optional_action = lambda action: False + +ACTION_TYPES_THAT_DONT_NEED_A_VALUE = tuple(ACTION_TYPES_THAT_DONT_NEED_A_VALUE) + + +# global ArgumentParser instances +_parsers = {} + +def init_argument_parser(name=None, **kwargs): + """Creates a global ArgumentParser instance with the given name, + passing any args other than "name" to the ArgumentParser constructor. + This instance can then be retrieved using get_argument_parser(..) + """ + + if name is None: + name = "default" + + if name in _parsers: + raise ValueError(("kwargs besides 'name' can only be passed in the" + " first time. '%s' ArgumentParser already exists: %s") % ( + name, _parsers[name])) + + kwargs.setdefault('formatter_class', argparse.ArgumentDefaultsHelpFormatter) + kwargs.setdefault('conflict_handler', 'resolve') + _parsers[name] = ArgumentParser(**kwargs) + + +def get_argument_parser(name=None, **kwargs): + """Returns the global ArgumentParser instance with the given name. The 1st + time this function is called, a new ArgumentParser instance will be created + for the given name, and any args other than "name" will be passed on to the + ArgumentParser constructor. + """ + if name is None: + name = "default" + + if len(kwargs) > 0 or name not in _parsers: + init_argument_parser(name, **kwargs) + + return _parsers[name] + + +class ArgumentDefaultsRawHelpFormatter( + argparse.ArgumentDefaultsHelpFormatter, + argparse.RawTextHelpFormatter, + argparse.RawDescriptionHelpFormatter): + """HelpFormatter that adds default values AND doesn't do line-wrapping""" + pass + + +class ConfigFileParser(object): + """This abstract class can be extended to add support for new config file + formats""" + + def get_syntax_description(self): + """Returns a string describing the config file syntax.""" + raise NotImplementedError("get_syntax_description(..) not implemented") + + def parse(self, stream): + """Parses the keys and values from a config file. + + NOTE: For keys that were specified to configargparse as + action="store_true" or "store_false", the config file value must be + one of: "yes", "no", "true", "false". Otherwise an error will be raised. + + Args: + stream (IO): A config file input stream (such as an open file object). + + Returns: + OrderedDict: Items where the keys are strings and the + values are either strings or lists (eg. to support config file + formats like YAML which allow lists). + """ + raise NotImplementedError("parse(..) not implemented") + + def serialize(self, items): + """Does the inverse of config parsing by taking parsed values and + converting them back to a string representing config file contents. + + Args: + items: an OrderedDict of items to be converted to the config file + format. Keys should be strings, and values should be either strings + or lists. + + Returns: + Contents of config file as a string + """ + raise NotImplementedError("serialize(..) not implemented") + + +class ConfigFileParserException(Exception): + """Raised when config file parsing failed.""" + + +class DefaultConfigFileParser(ConfigFileParser): + """ + Based on a simplified subset of INI and YAML formats. Here is the + supported syntax + + .. code:: + + # this is a comment + ; this is also a comment (.ini style) + --- # lines that start with --- are ignored (yaml style) + ------------------- + [section] # .ini-style section names are treated as comments + + # how to specify a key-value pair (all of these are equivalent): + name value # key is case sensitive: "Name" isn't "name" + name = value # (.ini style) (white space is ignored, so name = value same as name=value) + name: value # (yaml style) + --name value # (argparse style) + + # how to set a flag arg (eg. arg which has action="store_true") + --name + name + name = True # "True" and "true" are the same + + # how to specify a list arg (eg. arg which has action="append") + fruit = [apple, orange, lemon] + indexes = [1, 12, 35 , 40] + + """ + + def get_syntax_description(self): + msg = ("Config file syntax allows: key=value, flag=true, stuff=[a,b,c] " + "(for details, see syntax at https://goo.gl/R74nmi).") + return msg + + def parse(self, stream): + # see ConfigFileParser.parse docstring + + items = OrderedDict() + for i, line in enumerate(stream): + line = line.strip() + if not line or line[0] in ["#", ";", "["] or line.startswith("---"): + continue + + match = re.match(r'^(?P[^:=;#\s]+)\s*' + r'(?:(?P[:=\s])\s*([\'"]?)(?P.+?)?\3)?' + r'\s*(?:\s[;#]\s*(?P.*?)\s*)?$', line) + if match: + key = match.group("key") + equal = match.group('equal') + value = match.group("value") + comment = match.group("comment") + if value is None and equal is not None and equal != ' ': + value = '' + elif value is None: + value = "true" + if value.startswith("[") and value.endswith("]"): + # handle special case of k=[1,2,3] or other json-like syntax + try: + value = json.loads(value) + except Exception as e: + # for backward compatibility with legacy format (eg. where config value is [a, b, c] instead of proper json ["a", "b", "c"] + value = [elem.strip() for elem in value[1:-1].split(",")] + if comment: + comment = comment.strip()[1:].strip() + items[key] = value + else: + raise ConfigFileParserException("Unexpected line {} in {}: {}".format(i, + getattr(stream, 'name', 'stream'), line)) + return items + + def serialize(self, items): + # see ConfigFileParser.serialize docstring + r = StringIO() + for key, value in items.items(): + if isinstance(value, list): + # handle special case of lists + value = "["+", ".join(map(str, value))+"]" + r.write("{} = {}\n".format(key, value)) + return r.getvalue() + + +class ConfigparserConfigFileParser(ConfigFileParser): + """parses INI files using pythons configparser.""" + + def get_syntax_description(self): + msg = """Uses configparser module to parse an INI file which allows multi-line + values. + + Allowed syntax is that for a ConfigParser with the following options: + + allow_no_value = False, + inline_comment_prefixes = ("#",) + strict = True + empty_lines_in_values = False + + See https://docs.python.org/3/library/configparser.html for details. + + Note: INI file sections names are still treated as comments. + """ + return msg + + def parse(self, stream): + # see ConfigFileParser.parse docstring + import configparser + from ast import literal_eval + # parse with configparser to allow multi-line values + config = configparser.ConfigParser( + delimiters=("=",":"), + allow_no_value=False, + comment_prefixes=("#",";"), + inline_comment_prefixes=("#",";"), + strict=True, + empty_lines_in_values=False, + ) + try: + config.read_string(stream.read()) + except Exception as e: + raise ConfigFileParserException("Couldn't parse config file: %s" % e) + + # convert to dict and remove INI section names + result = OrderedDict() + for section in config.sections(): + for k,v in config[section].items(): + multiLine2SingleLine = v.replace('\n',' ').replace('\r',' ') + # handle special case for lists + if '[' in multiLine2SingleLine and ']' in multiLine2SingleLine: + # ensure not a dict with a list value + prelist_string = multiLine2SingleLine.split('[')[0] + if '{' not in prelist_string: + result[k] = literal_eval(multiLine2SingleLine) + else: + result[k] = multiLine2SingleLine + else: + result[k] = multiLine2SingleLine + return result + + def serialize(self, items): + # see ConfigFileParser.serialize docstring + import configparser + import io + config = configparser.ConfigParser( + allow_no_value=False, + inline_comment_prefixes=("#",), + strict=True, + empty_lines_in_values=False, + ) + items = {"DEFAULT": items} + config.read_dict(items) + stream = io.StringIO() + config.write(stream) + stream.seek(0) + return stream.read() + + +class YAMLConfigFileParser(ConfigFileParser): + """Parses YAML config files. Depends on the PyYAML module. + https://pypi.python.org/pypi/PyYAML + """ + + def get_syntax_description(self): + msg = ("The config file uses YAML syntax and must represent a YAML " + "'mapping' (for details, see http://learn.getgrav.org/advanced/yaml).") + return msg + + def _load_yaml(self): + """lazy-import PyYAML so that configargparse doesn't have to depend + on it unless this parser is used.""" + try: + import yaml + except ImportError: + raise ConfigFileParserException("Could not import yaml. " + "It can be installed by running 'pip install PyYAML'") + + return yaml + + def parse(self, stream): + # see ConfigFileParser.parse docstring + yaml = self._load_yaml() + + try: + parsed_obj = yaml.safe_load(stream) + except Exception as e: + raise ConfigFileParserException("Couldn't parse config file: %s" % e) + + if not isinstance(parsed_obj, dict): + raise ConfigFileParserException("The config file doesn't appear to " + "contain 'key: value' pairs (aka. a YAML mapping). " + "yaml.load('%s') returned type '%s' instead of 'dict'." % ( + getattr(stream, 'name', 'stream'), type(parsed_obj).__name__)) + + result = OrderedDict() + for key, value in parsed_obj.items(): + if isinstance(value, list): + result[key] = value + elif value is None: + pass + else: + result[key] = str(value) + + return result + + def serialize(self, items, default_flow_style=False): + # see ConfigFileParser.serialize docstring + + # lazy-import so there's no dependency on yaml unless this class is used + yaml = self._load_yaml() + + # it looks like ordering can't be preserved: http://pyyaml.org/ticket/29 + items = dict(items) + return yaml.dump(items, default_flow_style=default_flow_style) + + +# used while parsing args to keep track of where they came from +_COMMAND_LINE_SOURCE_KEY = "command_line" +_ENV_VAR_SOURCE_KEY = "environment_variables" +_CONFIG_FILE_SOURCE_KEY = "config_file" +_DEFAULTS_SOURCE_KEY = "defaults" + + +class ArgumentParser(argparse.ArgumentParser): + """Drop-in replacement for `argparse.ArgumentParser` that adds support for + environment variables and ``.ini`` or ``.yaml-style`` config files. + """ + + def __init__(self, *args, **kwargs): + + r"""Supports args of the `argparse.ArgumentParser` constructor + as \*\*kwargs, as well as the following additional args. + + Arguments: + add_config_file_help: Whether to add a description of config file + syntax to the help message. + add_env_var_help: Whether to add something to the help message for + args that can be set through environment variables. + auto_env_var_prefix: If set to a string instead of None, all config- + file-settable options will become also settable via environment + variables whose names are this prefix followed by the config + file key, all in upper case. (eg. setting this to ``foo_`` will + allow an arg like ``--my-arg`` to also be set via the FOO_MY_ARG + environment variable) + default_config_files: When specified, this list of config files will + be parsed in order, with the values from each config file + taking precedence over previous ones. This allows an application + to look for config files in multiple standard locations such as + the install directory, home directory, and current directory. + Also, shell \* syntax can be used to specify all conf files in a + directory. For example:: + + ["/etc/conf/app_config.ini", + "/etc/conf/conf-enabled/*.ini", + "~/.my_app_config.ini", + "./app_config.txt"] + + ignore_unknown_config_file_keys: If true, settings that are found + in a config file but don't correspond to any defined + configargparse args will be ignored. If false, they will be + processed and appended to the commandline like other args, and + can be retrieved using parse_known_args() instead of parse_args() + config_file_open_func: function used to open a config file for reading + or writing. Needs to return a file-like object. + config_file_parser_class: configargparse.ConfigFileParser subclass + which determines the config file format. configargparse comes + with DefaultConfigFileParser and YAMLConfigFileParser. + args_for_setting_config_path: A list of one or more command line + args to be used for specifying the config file path + (eg. ["-c", "--config-file"]). Default: [] + config_arg_is_required: When args_for_setting_config_path is set, + set this to True to always require users to provide a config path. + config_arg_help_message: the help message to use for the + args listed in args_for_setting_config_path. + args_for_writing_out_config_file: A list of one or more command line + args to use for specifying a config file output path. If + provided, these args cause configargparse to write out a config + file with settings based on the other provided commandline args, + environment variants and defaults, and then to exit. + (eg. ["-w", "--write-out-config-file"]). Default: [] + write_out_config_file_arg_help_message: The help message to use for + the args in args_for_writing_out_config_file. + """ + # This is the only way to make positional args (tested in the argparse + # main test suite) and keyword arguments work across both Python 2 and + # 3. This could be refactored to not need extra local variables. + add_config_file_help = kwargs.pop('add_config_file_help', True) + add_env_var_help = kwargs.pop('add_env_var_help', True) + auto_env_var_prefix = kwargs.pop('auto_env_var_prefix', None) + default_config_files = kwargs.pop('default_config_files', []) + ignore_unknown_config_file_keys = kwargs.pop( + 'ignore_unknown_config_file_keys', False) + config_file_parser_class = kwargs.pop('config_file_parser_class', + DefaultConfigFileParser) + args_for_setting_config_path = kwargs.pop( + 'args_for_setting_config_path', []) + config_arg_is_required = kwargs.pop('config_arg_is_required', False) + config_arg_help_message = kwargs.pop('config_arg_help_message', + "config file path") + args_for_writing_out_config_file = kwargs.pop( + 'args_for_writing_out_config_file', []) + write_out_config_file_arg_help_message = kwargs.pop( + 'write_out_config_file_arg_help_message', "takes the current " + "command line args and writes them out to a config file at the " + "given path, then exits") + + self._config_file_open_func = kwargs.pop('config_file_open_func', open) + + self._add_config_file_help = add_config_file_help + self._add_env_var_help = add_env_var_help + self._auto_env_var_prefix = auto_env_var_prefix + + argparse.ArgumentParser.__init__(self, *args, **kwargs) + + # parse the additional args + if config_file_parser_class is None: + self._config_file_parser = DefaultConfigFileParser() + else: + self._config_file_parser = config_file_parser_class() + + self._default_config_files = default_config_files + self._ignore_unknown_config_file_keys = ignore_unknown_config_file_keys + if args_for_setting_config_path: + self.add_argument(*args_for_setting_config_path, dest="config_file", + required=config_arg_is_required, help=config_arg_help_message, + is_config_file_arg=True) + + if args_for_writing_out_config_file: + self.add_argument(*args_for_writing_out_config_file, + dest="write_out_config_file_to_this_path", + metavar="CONFIG_OUTPUT_PATH", + help=write_out_config_file_arg_help_message, + is_write_out_config_file_arg=True) + + def parse_args(self, args = None, namespace = None, + config_file_contents = None, env_vars = os.environ): + """Supports all the same args as the `argparse.ArgumentParser.parse_args()`, + as well as the following additional args. + + Arguments: + args: a list of args as in argparse, or a string (eg. "-x -y bla") + config_file_contents: String. Used for testing. + env_vars: Dictionary. Used for testing. + + Returns: + argparse.Namespace: namespace + """ + args, argv = self.parse_known_args( + args=args, + namespace=namespace, + config_file_contents=config_file_contents, + env_vars=env_vars, + ignore_help_args=False) + + if argv: + self.error('unrecognized arguments: %s' % ' '.join(argv)) + return args + + def parse_known_args( + self, + args=None, + namespace=None, + config_file_contents=None, + env_vars=os.environ, + ignore_help_args=False, + ): + """Supports all the same args as the `argparse.ArgumentParser.parse_args()`, + as well as the following additional args. + + Arguments: + args: a list of args as in argparse, or a string (eg. "-x -y bla") + config_file_contents (str). Used for testing. + env_vars (dict). Used for testing. + ignore_help_args (bool): This flag determines behavior when user specifies ``--help`` or ``-h``. If False, + it will have the default behavior - printing help and exiting. If True, it won't do either. + + Returns: + tuple[argparse.Namespace, list[str]]: tuple namescpace, unknown_args + """ + if args is None: + args = sys.argv[1:] + elif isinstance(args, str): + args = args.split() + else: + args = list(args) + + for a in self._actions: + a.is_positional_arg = not a.option_strings + + if ignore_help_args: + args = [arg for arg in args if arg not in ("-h", "--help")] + + # maps a string describing the source (eg. env var) to a settings dict + # to keep track of where values came from (used by print_values()). + # The settings dicts for env vars and config files will then map + # the config key to an (argparse Action obj, string value) 2-tuple. + self._source_to_settings = OrderedDict() + if args: + a_v_pair = (None, list(args)) # copy args list to isolate changes + self._source_to_settings[_COMMAND_LINE_SOURCE_KEY] = {'': a_v_pair} + + # handle auto_env_var_prefix __init__ arg by setting a.env_var as needed + if self._auto_env_var_prefix is not None: + for a in self._actions: + config_file_keys = self.get_possible_config_keys(a) + if config_file_keys and not (a.env_var or a.is_positional_arg + or a.is_config_file_arg or a.is_write_out_config_file_arg or + isinstance(a, argparse._VersionAction) or + isinstance(a, argparse._HelpAction)): + stripped_config_file_key = config_file_keys[0].strip( + self.prefix_chars) + a.env_var = (self._auto_env_var_prefix + + stripped_config_file_key).replace('-', '_').upper() + + # add env var settings to the commandline that aren't there already + env_var_args = [] + nargs = False + actions_with_env_var_values = [a for a in self._actions + if not a.is_positional_arg and a.env_var and a.env_var in env_vars + and not already_on_command_line(args, a.option_strings, self.prefix_chars)] + for action in actions_with_env_var_values: + key = action.env_var + value = env_vars[key] + # Make list-string into list. + if action.nargs or isinstance(action, argparse._AppendAction): + nargs = True + if value.startswith("[") and value.endswith("]"): + # handle special case of k=[1,2,3] or other json-like syntax + try: + value = json.loads(value) + except Exception: + # for backward compatibility with legacy format (eg. where config value is [a, b, c] instead of proper json ["a", "b", "c"] + value = [elem.strip() for elem in value[1:-1].split(",")] + env_var_args += self.convert_item_to_command_line_arg( + action, key, value) + + if nargs: + args = args + env_var_args + else: + args = env_var_args + args + + if env_var_args: + self._source_to_settings[_ENV_VAR_SOURCE_KEY] = OrderedDict( + [(a.env_var, (a, env_vars[a.env_var])) + for a in actions_with_env_var_values]) + + # before parsing any config files, check if -h was specified. + supports_help_arg = any( + a for a in self._actions if isinstance(a, argparse._HelpAction)) + skip_config_file_parsing = supports_help_arg and ( + "-h" in args or "--help" in args) + + # prepare for reading config file(s) + known_config_keys = {config_key: action for action in self._actions + for config_key in self.get_possible_config_keys(action)} + + # open the config file(s) + config_streams = [] + if config_file_contents is not None: + stream = StringIO(config_file_contents) + stream.name = "method arg" + config_streams = [stream] + elif not skip_config_file_parsing: + config_streams = self._open_config_files(args) + + # parse each config file + for stream in reversed(config_streams): + try: + config_items = self._config_file_parser.parse(stream) + except ConfigFileParserException as e: + self.error(e) + finally: + if hasattr(stream, "close"): + stream.close() + + # add each config item to the commandline unless it's there already + config_args = [] + nargs = False + for key, value in config_items.items(): + if key in known_config_keys: + action = known_config_keys[key] + discard_this_key = already_on_command_line( + args, action.option_strings, self.prefix_chars) + else: + action = None + discard_this_key = self._ignore_unknown_config_file_keys or \ + already_on_command_line( + args, + [self.get_command_line_key_for_unknown_config_file_setting(key)], + self.prefix_chars) + + if not discard_this_key: + config_args += self.convert_item_to_command_line_arg( + action, key, value) + source_key = "%s|%s" %(_CONFIG_FILE_SOURCE_KEY, stream.name) + if source_key not in self._source_to_settings: + self._source_to_settings[source_key] = OrderedDict() + self._source_to_settings[source_key][key] = (action, value) + if (action and action.nargs or + isinstance(action, argparse._AppendAction)): + nargs = True + + if nargs: + args = args + config_args + else: + args = config_args + args + + # save default settings for use by print_values() + default_settings = OrderedDict() + for action in self._actions: + cares_about_default_value = (not action.is_positional_arg or + action.nargs in [OPTIONAL, ZERO_OR_MORE]) + if (already_on_command_line(args, action.option_strings, self.prefix_chars) or + not cares_about_default_value or + action.default is None or + action.default == SUPPRESS or + isinstance(action, ACTION_TYPES_THAT_DONT_NEED_A_VALUE)): + continue + else: + if action.option_strings: + key = action.option_strings[-1] + else: + key = action.dest + default_settings[key] = (action, str(action.default)) + + if default_settings: + self._source_to_settings[_DEFAULTS_SOURCE_KEY] = default_settings + + # parse all args (including commandline, config file, and env var) + namespace, unknown_args = argparse.ArgumentParser.parse_known_args( + self, args=args, namespace=namespace) + # handle any args that have is_write_out_config_file_arg set to true + # check if the user specified this arg on the commandline + output_file_paths = [getattr(namespace, a.dest, None) for a in self._actions + if getattr(a, "is_write_out_config_file_arg", False)] + output_file_paths = [a for a in output_file_paths if a is not None] + self.write_config_file(namespace, output_file_paths, exit_after=True) + return namespace, unknown_args + + def get_source_to_settings_dict(self): + """ + If called after `parse_args()` or `parse_known_args()`, returns a dict that contains up to 4 keys corresponding + to where a given option's value is coming from: + - "command_line" + - "environment_variables" + - "config_file" + - "defaults" + Each such key, will be mapped to another dictionary containing the options set via that method. Here the key + will be the option name, and the value will be a 2-tuple of the form (`argparse.Action` obj, `str` value). + + Returns: + dict[str, dict[str, tuple[argparse.Action, str]]]: source to settings dict + """ + + return self._source_to_settings + + + def write_config_file(self, parsed_namespace, output_file_paths, exit_after=False): + """Write the given settings to output files. + + Args: + parsed_namespace: namespace object created within parse_known_args() + output_file_paths: any number of file paths to write the config to + exit_after: whether to exit the program after writing the config files + """ + for output_file_path in output_file_paths: + # validate the output file path + try: + with self._config_file_open_func(output_file_path, "w") as output_file: + pass + except IOError as e: + raise ValueError("Couldn't open {} for writing: {}".format( + output_file_path, e)) + if output_file_paths: + # generate the config file contents + config_items = self.get_items_for_config_file_output( + self._source_to_settings, parsed_namespace) + file_contents = self._config_file_parser.serialize(config_items) + for output_file_path in output_file_paths: + with self._config_file_open_func(output_file_path, "w") as output_file: + output_file.write(file_contents) + + print("Wrote config file to " + ", ".join(output_file_paths)) + if exit_after: + self.exit(0) + + def get_command_line_key_for_unknown_config_file_setting(self, key): + """Compute a commandline arg key to be used for a config file setting + that doesn't correspond to any defined configargparse arg (and so + doesn't have a user-specified commandline arg key). + + Args: + key: The config file key that was being set. + + Returns: + str: command line key + """ + key_without_prefix_chars = key.strip(self.prefix_chars) + command_line_key = self.prefix_chars[0]*2 + key_without_prefix_chars + + return command_line_key + + def get_items_for_config_file_output(self, source_to_settings, + parsed_namespace): + """Converts the given settings back to a dictionary that can be passed + to ConfigFormatParser.serialize(..). + + Args: + source_to_settings: the dictionary described in parse_known_args() + parsed_namespace: namespace object created within parse_known_args() + Returns: + OrderedDict: where keys are strings and values are either strings + or lists + """ + config_file_items = OrderedDict() + for source, settings in source_to_settings.items(): + if source == _COMMAND_LINE_SOURCE_KEY: + _, existing_command_line_args = settings[''] + for action in self._actions: + config_file_keys = self.get_possible_config_keys(action) + if config_file_keys and not action.is_positional_arg and \ + already_on_command_line(existing_command_line_args, + action.option_strings, + self.prefix_chars): + value = getattr(parsed_namespace, action.dest, None) + if value is not None: + if isinstance(value, bool): + value = str(value).lower() + config_file_items[config_file_keys[0]] = value + + elif source == _ENV_VAR_SOURCE_KEY: + for key, (action, value) in settings.items(): + config_file_keys = self.get_possible_config_keys(action) + if config_file_keys: + value = getattr(parsed_namespace, action.dest, None) + if value is not None: + config_file_items[config_file_keys[0]] = value + elif source.startswith(_CONFIG_FILE_SOURCE_KEY): + for key, (action, value) in settings.items(): + config_file_items[key] = value + elif source == _DEFAULTS_SOURCE_KEY: + for key, (action, value) in settings.items(): + config_file_keys = self.get_possible_config_keys(action) + if config_file_keys: + value = getattr(parsed_namespace, action.dest, None) + if value is not None: + config_file_items[config_file_keys[0]] = value + return config_file_items + + def convert_item_to_command_line_arg(self, action, key, value): + """Converts a config file or env var key + value to a list of + commandline args to append to the commandline. + + Args: + action: The argparse Action object for this setting, or None if this + config file setting doesn't correspond to any defined + configargparse arg. + key: string (config file key or env var name) + value: parsed value of type string or list + + Returns: + list[str]: args + """ + args = [] + + if action is None: + command_line_key = \ + self.get_command_line_key_for_unknown_config_file_setting(key) + else: + if not is_boolean_optional_action(action): + command_line_key = action.option_strings[-1] + + # handle boolean value + if action is not None and isinstance(action, ACTION_TYPES_THAT_DONT_NEED_A_VALUE): + if value.lower() in ("true", "yes", "1"): + if not is_boolean_optional_action(action): + args.append( command_line_key ) + else: + # --foo + args.append(action.option_strings[0]) + elif value.lower() in ("false", "no", "0"): + # don't append when set to "false" / "no" + if not is_boolean_optional_action(action): + pass + else: + # --no-foo + args.append(action.option_strings[1]) + elif isinstance(action, argparse._CountAction): + for arg in args: + if any([arg.startswith(s) for s in action.option_strings]): + value = 0 + args += [action.option_strings[0]] * int(value) + else: + self.error("Unexpected value for %s: '%s'. Expecting 'true', " + "'false', 'yes', 'no', '1' or '0'" % (key, value)) + elif isinstance(value, list): + accepts_list_and_has_nargs = action is not None and action.nargs is not None and ( + isinstance(action, argparse._StoreAction) or isinstance(action, argparse._AppendAction) + ) and ( + action.nargs in ('+', '*') or (isinstance(action.nargs, int) and action.nargs > 1) + ) + + if action is None or isinstance(action, argparse._AppendAction): + for list_elem in value: + if accepts_list_and_has_nargs and isinstance(list_elem, list): + args.append(command_line_key) + for sub_elem in list_elem: + args.append(str(sub_elem)) + else: + args.append( "%s=%s" % (command_line_key, str(list_elem)) ) + elif accepts_list_and_has_nargs: + args.append( command_line_key ) + for list_elem in value: + args.append( str(list_elem) ) + else: + self.error(("%s can't be set to a list '%s' unless its action type is changed " + "to 'append' or nargs is set to '*', '+', or > 1") % (key, value)) + elif isinstance(value, str): + args.append( "%s=%s" % (command_line_key, value) ) + else: + raise ValueError("Unexpected value type {} for value: {}".format( + type(value), value)) + + return args + + def get_possible_config_keys(self, action): + """This method decides which actions can be set in a config file and + what their keys will be. It returns a list of 0 or more config keys that + can be used to set the given action's value in a config file. + + Returns: + list[str]: keys + """ + keys = [] + + # Do not write out the config options for writing out a config file + if getattr(action, 'is_write_out_config_file_arg', None): + return keys + + for arg in action.option_strings: + if any(arg.startswith(2*c) for c in self.prefix_chars): + keys += [arg[2:], arg] # eg. for '--bla' return ['bla', '--bla'] + + return keys + + def _open_config_files(self, command_line_args): + """Tries to parse config file path(s) from within command_line_args. + Returns a list of opened config files, including files specified on the + commandline as well as any default_config_files specified in the + constructor that are present on disk. + + Args: + command_line_args: List of all args + + Returns: + list[IO]: open config files + """ + # open any default config files + config_files = [] + for files in map(glob.glob, map(os.path.expanduser, self._default_config_files)): + for f in files: + config_files.append(self._config_file_open_func(f)) + + # list actions with is_config_file_arg=True. Its possible there is more + # than one such arg. + user_config_file_arg_actions = [ + a for a in self._actions if getattr(a, "is_config_file_arg", False)] + + if not user_config_file_arg_actions: + return config_files + + for action in user_config_file_arg_actions: + # try to parse out the config file path by using a clean new + # ArgumentParser that only knows this one arg/action. + arg_parser = argparse.ArgumentParser( + prefix_chars=self.prefix_chars, + add_help=False) + + arg_parser._add_action(action) + + # make parser not exit on error by replacing its error method. + # Otherwise it sys.exits(..) if, for example, config file + # is_required=True and user doesn't provide it. + def error_method(self, message): + pass + arg_parser.error = types.MethodType(error_method, arg_parser) + + # check whether the user provided a value + parsed_arg = arg_parser.parse_known_args(args=command_line_args) + if not parsed_arg: + continue + namespace, _ = parsed_arg + user_config_file = getattr(namespace, action.dest, None) + + if not user_config_file: + continue + + # open user-provided config file + user_config_file = os.path.expanduser(user_config_file) + try: + stream = self._config_file_open_func(user_config_file) + except Exception as e: + if len(e.args) == 2: # OSError + errno, msg = e.args + else: + msg = str(e) + # close previously opened config files + for config_file in config_files: + try: + config_file.close() + except Exception: + pass + self.error("Unable to open config file: %s. Error: %s" % ( + user_config_file, msg + )) + + config_files += [stream] + + return config_files + + def format_values(self): + """Returns a string with all args and settings and where they came from + (eg. commandline, config file, environment variable or default) + + Returns: + str: source to settings string + """ + source_key_to_display_value_map = { + _COMMAND_LINE_SOURCE_KEY: "Command Line Args: ", + _ENV_VAR_SOURCE_KEY: "Environment Variables:\n", + _CONFIG_FILE_SOURCE_KEY: "Config File (%s):\n", + _DEFAULTS_SOURCE_KEY: "Defaults:\n" + } + + r = StringIO() + for source, settings in self._source_to_settings.items(): + source = source.split("|") + source = source_key_to_display_value_map[source[0]] % tuple(source[1:]) + r.write(source) + for key, (action, value) in settings.items(): + if key: + r.write(" {:<19}{}\n".format(key+":", value)) + else: + if isinstance(value, str): + r.write(" %s\n" % value) + elif isinstance(value, list): + r.write(" %s\n" % ' '.join(value)) + + return r.getvalue() + + def print_values(self, file = sys.stdout): + """Prints the format_values() string (to sys.stdout or another file).""" + file.write(self.format_values()) + + def format_help(self): + msg = "" + added_config_file_help = False + added_env_var_help = False + if self._add_config_file_help: + default_config_files = self._default_config_files + cc = 2*self.prefix_chars[0] # eg. -- + config_settable_args = [(arg, a) for a in self._actions for arg in + a.option_strings if self.get_possible_config_keys(a) and not + (a.dest == "help" or a.is_config_file_arg or + a.is_write_out_config_file_arg)] + config_path_actions = [a for a in + self._actions if getattr(a, "is_config_file_arg", False)] + + if config_settable_args and (default_config_files or + config_path_actions): + self._add_config_file_help = False # prevent duplication + added_config_file_help = True + + msg += ("Args that start with '%s' (eg. %s) can also be set in " + "a config file") % (cc, config_settable_args[0][0]) + config_arg_string = " or ".join(a.option_strings[0] + for a in config_path_actions if a.option_strings) + if config_arg_string: + config_arg_string = "specified via " + config_arg_string + if default_config_files or config_arg_string: + msg += " (%s)." % " or ".join(tuple(default_config_files) + + tuple(filter(None, [config_arg_string]))) + msg += " " + self._config_file_parser.get_syntax_description() + + if self._add_env_var_help: + env_var_actions = [(a.env_var, a) for a in self._actions + if getattr(a, "env_var", None)] + for env_var, a in env_var_actions: + if a.help == SUPPRESS: + continue + env_var_help_string = " [env var: %s]" % env_var + if not a.help: + a.help = "" + if env_var_help_string not in a.help: + a.help += env_var_help_string + added_env_var_help = True + self._add_env_var_help = False # prevent duplication + + if added_env_var_help or added_config_file_help: + value_sources = ["defaults"] + if added_config_file_help: + value_sources = ["config file values"] + value_sources + if added_env_var_help: + value_sources = ["environment variables"] + value_sources + msg += (" If an arg is specified in more than one place, then " + "commandline values override %s.") % ( + " which override ".join(value_sources)) + + text_width = max(self._get_formatter()._width, 11) + msg = textwrap.fill(msg, text_width) + + return (argparse.ArgumentParser.format_help(self) + + ("\n{}\n".format(msg) if msg != "" else "")) + + +def add_argument(self, *args, **kwargs): + """ + This method supports the same args as ArgumentParser.add_argument(..) + as well as the additional args below. + + Arguments: + env_var: If set, the value of this environment variable will override + any config file or default values for this arg (but can itself + be overridden on the commandline). Also, if auto_env_var_prefix is + set in the constructor, this env var name will be used instead of + the automatic name. + is_config_file_arg: If True, this arg is treated as a config file path + This provides an alternative way to specify config files in place of + the ArgumentParser(fromfile_prefix_chars=..) mechanism. + Default: False + is_write_out_config_file_arg: If True, this arg will be treated as a + config file path, and, when it is specified, will cause + configargparse to write all current commandline args to this file + as config options and then exit. + Default: False + + Returns: + argparse.Action: the new argparse action + """ + + env_var = kwargs.pop("env_var", None) + + is_config_file_arg = kwargs.pop( + "is_config_file_arg", None) or kwargs.pop( + "is_config_file", None) # for backward compat. + + is_write_out_config_file_arg = kwargs.pop( + "is_write_out_config_file_arg", None) + + action = self.original_add_argument_method(*args, **kwargs) + + action.is_positional_arg = not action.option_strings + action.env_var = env_var + action.is_config_file_arg = is_config_file_arg + action.is_write_out_config_file_arg = is_write_out_config_file_arg + + if action.is_positional_arg and env_var: + raise ValueError("env_var can't be set for a positional arg.") + if action.is_config_file_arg and not isinstance(action, argparse._StoreAction): + raise ValueError("arg with is_config_file_arg=True must have " + "action='store'") + if action.is_write_out_config_file_arg: + error_prefix = "arg with is_write_out_config_file_arg=True " + if not isinstance(action, argparse._StoreAction): + raise ValueError(error_prefix + "must have action='store'") + if is_config_file_arg: + raise ValueError(error_prefix + "can't also have " + "is_config_file_arg=True") + + return action + + +def already_on_command_line(existing_args_list, potential_command_line_args, prefix_chars): + """Utility method for checking if any of the potential_command_line_args is + already present in existing_args. + + Returns: + bool: already on command line? + """ + arg_names = [] + for arg_string in existing_args_list: + if arg_string and arg_string[0] in prefix_chars and "=" in arg_string : + option_string, explicit_arg = arg_string.split("=", 1) + arg_names.append(option_string) + else: + arg_names.append(arg_string) + + return any( + potential_arg in arg_names for potential_arg in potential_command_line_args + ) +#TODO: Update to latest version of pydoctor when https://github.com/twisted/pydoctor/pull/414 has been merged +# such that the alises can be documented automatically. + +# wrap ArgumentParser's add_argument(..) method with the one above +argparse._ActionsContainer.original_add_argument_method = argparse._ActionsContainer.add_argument +argparse._ActionsContainer.add_argument = add_argument + + +# add all public classes and constants from argparse module's namespace to this +# module's namespace so that the 2 modules are truly interchangeable +HelpFormatter = argparse.HelpFormatter +RawDescriptionHelpFormatter = argparse.RawDescriptionHelpFormatter +RawTextHelpFormatter = argparse.RawTextHelpFormatter +ArgumentDefaultsHelpFormatter = argparse.ArgumentDefaultsHelpFormatter +ArgumentError = argparse.ArgumentError +ArgumentTypeError = argparse.ArgumentTypeError +Action = argparse.Action +FileType = argparse.FileType +Namespace = argparse.Namespace +ONE_OR_MORE = argparse.ONE_OR_MORE +OPTIONAL = argparse.OPTIONAL +REMAINDER = argparse.REMAINDER +SUPPRESS = argparse.SUPPRESS +ZERO_OR_MORE = argparse.ZERO_OR_MORE + +# deprecated PEP-8 incompatible API names. +initArgumentParser = init_argument_parser +getArgumentParser = get_argument_parser +getArgParser = get_argument_parser +getParser = get_argument_parser + +# create shorter aliases for the key methods and class names +get_arg_parser = get_argument_parser +get_parser = get_argument_parser + +ArgParser = ArgumentParser +Parser = ArgumentParser + +argparse._ActionsContainer.add_arg = argparse._ActionsContainer.add_argument +argparse._ActionsContainer.add = argparse._ActionsContainer.add_argument + +ArgumentParser.parse = ArgumentParser.parse_args +ArgumentParser.parse_known = ArgumentParser.parse_known_args + +RawFormatter = RawDescriptionHelpFormatter +DefaultsFormatter = ArgumentDefaultsHelpFormatter +DefaultsRawFormatter = ArgumentDefaultsRawHelpFormatter diff --git a/venv/Lib/site-packages/decorator-5.1.1.dist-info/INSTALLER b/venv/Lib/site-packages/decorator-5.1.1.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/venv/Lib/site-packages/decorator-5.1.1.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/Lib/site-packages/decorator-5.1.1.dist-info/LICENSE.txt b/venv/Lib/site-packages/decorator-5.1.1.dist-info/LICENSE.txt new file mode 100644 index 00000000..b0ade048 --- /dev/null +++ b/venv/Lib/site-packages/decorator-5.1.1.dist-info/LICENSE.txt @@ -0,0 +1,26 @@ +Copyright (c) 2005-2018, Michele Simionato +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + Redistributions in bytecode form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. diff --git a/venv/Lib/site-packages/decorator-5.1.1.dist-info/METADATA b/venv/Lib/site-packages/decorator-5.1.1.dist-info/METADATA new file mode 100644 index 00000000..df407f80 --- /dev/null +++ b/venv/Lib/site-packages/decorator-5.1.1.dist-info/METADATA @@ -0,0 +1,127 @@ +Metadata-Version: 2.1 +Name: decorator +Version: 5.1.1 +Summary: Decorators for Humans +Home-page: https://github.com/micheles/decorator +Author: Michele Simionato +Author-email: michele.simionato@gmail.com +License: new BSD License +Keywords: decorators generic utility +Platform: All +Classifier: Development Status :: 5 - Production/Stable +Classifier: Intended Audience :: Developers +Classifier: License :: OSI Approved :: BSD License +Classifier: Natural Language :: English +Classifier: Operating System :: OS Independent +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: Implementation :: CPython +Classifier: Topic :: Software Development :: Libraries +Classifier: Topic :: Utilities +Requires-Python: >=3.5 + +Decorators for Humans +===================== + +The goal of the decorator module is to make it easy to define +signature-preserving function decorators and decorator factories. +It also includes an implementation of multiple dispatch and other niceties +(please check the docs). It is released under a two-clauses +BSD license, i.e. basically you can do whatever you want with it but I am not +responsible. + +Installation +------------- + +If you are lazy, just perform + + ``$ pip install decorator`` + +which will install just the module on your system. + +If you prefer to install the full distribution from source, including +the documentation, clone the `GitHub repo`_ or download the tarball_, unpack it and run + + ``$ pip install .`` + +in the main directory, possibly as superuser. + +.. _tarball: https://pypi.org/project/decorator/#files +.. _GitHub repo: https://github.com/micheles/decorator + +Testing +-------- + +If you have the source code installation you can run the tests with + + `$ python src/tests/test.py -v` + +or (if you have setuptools installed) + + `$ python setup.py test` + +Notice that you may run into trouble if in your system there +is an older version of the decorator module; in such a case remove the +old version. It is safe even to copy the module `decorator.py` over +an existing one, since we kept backward-compatibility for a long time. + +Repository +--------------- + +The project is hosted on GitHub. You can look at the source here: + + https://github.com/micheles/decorator + +Documentation +--------------- + +The documentation has been moved to https://github.com/micheles/decorator/blob/master/docs/documentation.md + +From there you can get a PDF version by simply using the print +functionality of your browser. + +Here is the documentation for previous versions of the module: + +https://github.com/micheles/decorator/blob/4.3.2/docs/tests.documentation.rst +https://github.com/micheles/decorator/blob/4.2.1/docs/tests.documentation.rst +https://github.com/micheles/decorator/blob/4.1.2/docs/tests.documentation.rst +https://github.com/micheles/decorator/blob/4.0.0/documentation.rst +https://github.com/micheles/decorator/blob/3.4.2/documentation.rst + +For the impatient +----------------- + +Here is an example of how to define a family of decorators tracing slow +operations: + +.. code-block:: python + + from decorator import decorator + + @decorator + def warn_slow(func, timelimit=60, *args, **kw): + t0 = time.time() + result = func(*args, **kw) + dt = time.time() - t0 + if dt > timelimit: + logging.warn('%s took %d seconds', func.__name__, dt) + else: + logging.info('%s took %d seconds', func.__name__, dt) + return result + + @warn_slow # warn if it takes more than 1 minute + def preprocess_input_files(inputdir, tempdir): + ... + + @warn_slow(timelimit=600) # warn if it takes more than 10 minutes + def run_calculation(tempdir, outdir): + ... + +Enjoy! + + diff --git a/venv/Lib/site-packages/decorator-5.1.1.dist-info/RECORD b/venv/Lib/site-packages/decorator-5.1.1.dist-info/RECORD new file mode 100644 index 00000000..87fd7716 --- /dev/null +++ b/venv/Lib/site-packages/decorator-5.1.1.dist-info/RECORD @@ -0,0 +1,9 @@ +__pycache__/decorator.cpython-39.pyc,, +decorator-5.1.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +decorator-5.1.1.dist-info/LICENSE.txt,sha256=_RFmDKvwUyCCxFcGhi-vwpSQfsf44heBgkCkmZgGeC4,1309 +decorator-5.1.1.dist-info/METADATA,sha256=XAr2zbYpRxCkcPbsmg1oaiS5ea7mhTq-j-wb0XjuVho,3955 +decorator-5.1.1.dist-info/RECORD,, +decorator-5.1.1.dist-info/WHEEL,sha256=ewwEueio1C2XeHTvT17n8dZUJgOvyCWCt0WVNLClP9o,92 +decorator-5.1.1.dist-info/pbr.json,sha256=AL84oUUWQHwkd8OCPhLRo2NJjU5MDdmXMqRHv-posqs,47 +decorator-5.1.1.dist-info/top_level.txt,sha256=Kn6eQjo83ctWxXVyBMOYt0_YpjRjBznKYVuNyuC_DSI,10 +decorator.py,sha256=el5cAEgoTEpRQN65tOxGhElue-CccMv0xol-J2MwOc0,16752 diff --git a/venv/Lib/site-packages/decorator-5.1.1.dist-info/WHEEL b/venv/Lib/site-packages/decorator-5.1.1.dist-info/WHEEL new file mode 100644 index 00000000..5bad85fd --- /dev/null +++ b/venv/Lib/site-packages/decorator-5.1.1.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.37.0) +Root-Is-Purelib: true +Tag: py3-none-any + diff --git a/venv/Lib/site-packages/decorator-5.1.1.dist-info/pbr.json b/venv/Lib/site-packages/decorator-5.1.1.dist-info/pbr.json new file mode 100644 index 00000000..cd045997 --- /dev/null +++ b/venv/Lib/site-packages/decorator-5.1.1.dist-info/pbr.json @@ -0,0 +1 @@ +{"is_release": false, "git_version": "8608a46"} \ No newline at end of file diff --git a/venv/Lib/site-packages/decorator-5.1.1.dist-info/top_level.txt b/venv/Lib/site-packages/decorator-5.1.1.dist-info/top_level.txt new file mode 100644 index 00000000..3fe18a4d --- /dev/null +++ b/venv/Lib/site-packages/decorator-5.1.1.dist-info/top_level.txt @@ -0,0 +1 @@ +decorator diff --git a/venv/Lib/site-packages/decorator.py b/venv/Lib/site-packages/decorator.py new file mode 100644 index 00000000..2479b6f7 --- /dev/null +++ b/venv/Lib/site-packages/decorator.py @@ -0,0 +1,451 @@ +# ######################### LICENSE ############################ # + +# Copyright (c) 2005-2021, Michele Simionato +# All rights reserved. + +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: + +# Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# Redistributions in bytecode form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. + +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +# DAMAGE. + +""" +Decorator module, see +https://github.com/micheles/decorator/blob/master/docs/documentation.md +for the documentation. +""" +import re +import sys +import inspect +import operator +import itertools +from contextlib import _GeneratorContextManager +from inspect import getfullargspec, iscoroutinefunction, isgeneratorfunction + +__version__ = '5.1.1' + +DEF = re.compile(r'\s*def\s*([_\w][_\w\d]*)\s*\(') +POS = inspect.Parameter.POSITIONAL_OR_KEYWORD +EMPTY = inspect.Parameter.empty + + +# this is not used anymore in the core, but kept for backward compatibility +class FunctionMaker(object): + """ + An object with the ability to create functions with a given signature. + It has attributes name, doc, module, signature, defaults, dict and + methods update and make. + """ + + # Atomic get-and-increment provided by the GIL + _compile_count = itertools.count() + + # make pylint happy + args = varargs = varkw = defaults = kwonlyargs = kwonlydefaults = () + + def __init__(self, func=None, name=None, signature=None, + defaults=None, doc=None, module=None, funcdict=None): + self.shortsignature = signature + if func: + # func can be a class or a callable, but not an instance method + self.name = func.__name__ + if self.name == '': # small hack for lambda functions + self.name = '_lambda_' + self.doc = func.__doc__ + self.module = func.__module__ + if inspect.isroutine(func): + argspec = getfullargspec(func) + self.annotations = getattr(func, '__annotations__', {}) + for a in ('args', 'varargs', 'varkw', 'defaults', 'kwonlyargs', + 'kwonlydefaults'): + setattr(self, a, getattr(argspec, a)) + for i, arg in enumerate(self.args): + setattr(self, 'arg%d' % i, arg) + allargs = list(self.args) + allshortargs = list(self.args) + if self.varargs: + allargs.append('*' + self.varargs) + allshortargs.append('*' + self.varargs) + elif self.kwonlyargs: + allargs.append('*') # single star syntax + for a in self.kwonlyargs: + allargs.append('%s=None' % a) + allshortargs.append('%s=%s' % (a, a)) + if self.varkw: + allargs.append('**' + self.varkw) + allshortargs.append('**' + self.varkw) + self.signature = ', '.join(allargs) + self.shortsignature = ', '.join(allshortargs) + self.dict = func.__dict__.copy() + # func=None happens when decorating a caller + if name: + self.name = name + if signature is not None: + self.signature = signature + if defaults: + self.defaults = defaults + if doc: + self.doc = doc + if module: + self.module = module + if funcdict: + self.dict = funcdict + # check existence required attributes + assert hasattr(self, 'name') + if not hasattr(self, 'signature'): + raise TypeError('You are decorating a non function: %s' % func) + + def update(self, func, **kw): + """ + Update the signature of func with the data in self + """ + func.__name__ = self.name + func.__doc__ = getattr(self, 'doc', None) + func.__dict__ = getattr(self, 'dict', {}) + func.__defaults__ = self.defaults + func.__kwdefaults__ = self.kwonlydefaults or None + func.__annotations__ = getattr(self, 'annotations', None) + try: + frame = sys._getframe(3) + except AttributeError: # for IronPython and similar implementations + callermodule = '?' + else: + callermodule = frame.f_globals.get('__name__', '?') + func.__module__ = getattr(self, 'module', callermodule) + func.__dict__.update(kw) + + def make(self, src_templ, evaldict=None, addsource=False, **attrs): + """ + Make a new function from a given template and update the signature + """ + src = src_templ % vars(self) # expand name and signature + evaldict = evaldict or {} + mo = DEF.search(src) + if mo is None: + raise SyntaxError('not a valid function template\n%s' % src) + name = mo.group(1) # extract the function name + names = set([name] + [arg.strip(' *') for arg in + self.shortsignature.split(',')]) + for n in names: + if n in ('_func_', '_call_'): + raise NameError('%s is overridden in\n%s' % (n, src)) + + if not src.endswith('\n'): # add a newline for old Pythons + src += '\n' + + # Ensure each generated function has a unique filename for profilers + # (such as cProfile) that depend on the tuple of (, + # , ) being unique. + filename = '' % next(self._compile_count) + try: + code = compile(src, filename, 'single') + exec(code, evaldict) + except Exception: + print('Error in generated code:', file=sys.stderr) + print(src, file=sys.stderr) + raise + func = evaldict[name] + if addsource: + attrs['__source__'] = src + self.update(func, **attrs) + return func + + @classmethod + def create(cls, obj, body, evaldict, defaults=None, + doc=None, module=None, addsource=True, **attrs): + """ + Create a function from the strings name, signature and body. + evaldict is the evaluation dictionary. If addsource is true an + attribute __source__ is added to the result. The attributes attrs + are added, if any. + """ + if isinstance(obj, str): # "name(signature)" + name, rest = obj.strip().split('(', 1) + signature = rest[:-1] # strip a right parens + func = None + else: # a function + name = None + signature = None + func = obj + self = cls(func, name, signature, defaults, doc, module) + ibody = '\n'.join(' ' + line for line in body.splitlines()) + caller = evaldict.get('_call_') # when called from `decorate` + if caller and iscoroutinefunction(caller): + body = ('async def %(name)s(%(signature)s):\n' + ibody).replace( + 'return', 'return await') + else: + body = 'def %(name)s(%(signature)s):\n' + ibody + return self.make(body, evaldict, addsource, **attrs) + + +def fix(args, kwargs, sig): + """ + Fix args and kwargs to be consistent with the signature + """ + ba = sig.bind(*args, **kwargs) + ba.apply_defaults() # needed for test_dan_schult + return ba.args, ba.kwargs + + +def decorate(func, caller, extras=(), kwsyntax=False): + """ + Decorates a function/generator/coroutine using a caller. + If kwsyntax is True calling the decorated functions with keyword + syntax will pass the named arguments inside the ``kw`` dictionary, + even if such argument are positional, similarly to what functools.wraps + does. By default kwsyntax is False and the the arguments are untouched. + """ + sig = inspect.signature(func) + if iscoroutinefunction(caller): + async def fun(*args, **kw): + if not kwsyntax: + args, kw = fix(args, kw, sig) + return await caller(func, *(extras + args), **kw) + elif isgeneratorfunction(caller): + def fun(*args, **kw): + if not kwsyntax: + args, kw = fix(args, kw, sig) + for res in caller(func, *(extras + args), **kw): + yield res + else: + def fun(*args, **kw): + if not kwsyntax: + args, kw = fix(args, kw, sig) + return caller(func, *(extras + args), **kw) + fun.__name__ = func.__name__ + fun.__doc__ = func.__doc__ + fun.__wrapped__ = func + fun.__signature__ = sig + fun.__qualname__ = func.__qualname__ + # builtin functions like defaultdict.__setitem__ lack many attributes + try: + fun.__defaults__ = func.__defaults__ + except AttributeError: + pass + try: + fun.__kwdefaults__ = func.__kwdefaults__ + except AttributeError: + pass + try: + fun.__annotations__ = func.__annotations__ + except AttributeError: + pass + try: + fun.__module__ = func.__module__ + except AttributeError: + pass + try: + fun.__dict__.update(func.__dict__) + except AttributeError: + pass + return fun + + +def decoratorx(caller): + """ + A version of "decorator" implemented via "exec" and not via the + Signature object. Use this if you are want to preserve the `.__code__` + object properties (https://github.com/micheles/decorator/issues/129). + """ + def dec(func): + return FunctionMaker.create( + func, + "return _call_(_func_, %(shortsignature)s)", + dict(_call_=caller, _func_=func), + __wrapped__=func, __qualname__=func.__qualname__) + return dec + + +def decorator(caller, _func=None, kwsyntax=False): + """ + decorator(caller) converts a caller function into a decorator + """ + if _func is not None: # return a decorated function + # this is obsolete behavior; you should use decorate instead + return decorate(_func, caller, (), kwsyntax) + # else return a decorator function + sig = inspect.signature(caller) + dec_params = [p for p in sig.parameters.values() if p.kind is POS] + + def dec(func=None, *args, **kw): + na = len(args) + 1 + extras = args + tuple(kw.get(p.name, p.default) + for p in dec_params[na:] + if p.default is not EMPTY) + if func is None: + return lambda func: decorate(func, caller, extras, kwsyntax) + else: + return decorate(func, caller, extras, kwsyntax) + dec.__signature__ = sig.replace(parameters=dec_params) + dec.__name__ = caller.__name__ + dec.__doc__ = caller.__doc__ + dec.__wrapped__ = caller + dec.__qualname__ = caller.__qualname__ + dec.__kwdefaults__ = getattr(caller, '__kwdefaults__', None) + dec.__dict__.update(caller.__dict__) + return dec + + +# ####################### contextmanager ####################### # + + +class ContextManager(_GeneratorContextManager): + def __init__(self, g, *a, **k): + _GeneratorContextManager.__init__(self, g, a, k) + + def __call__(self, func): + def caller(f, *a, **k): + with self.__class__(self.func, *self.args, **self.kwds): + return f(*a, **k) + return decorate(func, caller) + + +_contextmanager = decorator(ContextManager) + + +def contextmanager(func): + # Enable Pylint config: contextmanager-decorators=decorator.contextmanager + return _contextmanager(func) + + +# ############################ dispatch_on ############################ # + +def append(a, vancestors): + """ + Append ``a`` to the list of the virtual ancestors, unless it is already + included. + """ + add = True + for j, va in enumerate(vancestors): + if issubclass(va, a): + add = False + break + if issubclass(a, va): + vancestors[j] = a + add = False + if add: + vancestors.append(a) + + +# inspired from simplegeneric by P.J. Eby and functools.singledispatch +def dispatch_on(*dispatch_args): + """ + Factory of decorators turning a function into a generic function + dispatching on the given arguments. + """ + assert dispatch_args, 'No dispatch args passed' + dispatch_str = '(%s,)' % ', '.join(dispatch_args) + + def check(arguments, wrong=operator.ne, msg=''): + """Make sure one passes the expected number of arguments""" + if wrong(len(arguments), len(dispatch_args)): + raise TypeError('Expected %d arguments, got %d%s' % + (len(dispatch_args), len(arguments), msg)) + + def gen_func_dec(func): + """Decorator turning a function into a generic function""" + + # first check the dispatch arguments + argset = set(getfullargspec(func).args) + if not set(dispatch_args) <= argset: + raise NameError('Unknown dispatch arguments %s' % dispatch_str) + + typemap = {} + + def vancestors(*types): + """ + Get a list of sets of virtual ancestors for the given types + """ + check(types) + ras = [[] for _ in range(len(dispatch_args))] + for types_ in typemap: + for t, type_, ra in zip(types, types_, ras): + if issubclass(t, type_) and type_ not in t.mro(): + append(type_, ra) + return [set(ra) for ra in ras] + + def ancestors(*types): + """ + Get a list of virtual MROs, one for each type + """ + check(types) + lists = [] + for t, vas in zip(types, vancestors(*types)): + n_vas = len(vas) + if n_vas > 1: + raise RuntimeError( + 'Ambiguous dispatch for %s: %s' % (t, vas)) + elif n_vas == 1: + va, = vas + mro = type('t', (t, va), {}).mro()[1:] + else: + mro = t.mro() + lists.append(mro[:-1]) # discard t and object + return lists + + def register(*types): + """ + Decorator to register an implementation for the given types + """ + check(types) + + def dec(f): + check(getfullargspec(f).args, operator.lt, ' in ' + f.__name__) + typemap[types] = f + return f + return dec + + def dispatch_info(*types): + """ + An utility to introspect the dispatch algorithm + """ + check(types) + lst = [] + for anc in itertools.product(*ancestors(*types)): + lst.append(tuple(a.__name__ for a in anc)) + return lst + + def _dispatch(dispatch_args, *args, **kw): + types = tuple(type(arg) for arg in dispatch_args) + try: # fast path + f = typemap[types] + except KeyError: + pass + else: + return f(*args, **kw) + combinations = itertools.product(*ancestors(*types)) + next(combinations) # the first one has been already tried + for types_ in combinations: + f = typemap.get(types_) + if f is not None: + return f(*args, **kw) + + # else call the default implementation + return func(*args, **kw) + + return FunctionMaker.create( + func, 'return _f_(%s, %%(shortsignature)s)' % dispatch_str, + dict(_f_=_dispatch), register=register, default=func, + typemap=typemap, vancestors=vancestors, ancestors=ancestors, + dispatch_info=dispatch_info, __wrapped__=func) + + gen_func_dec.__name__ = 'dispatch_on' + dispatch_str + return gen_func_dec diff --git a/venv/Lib/site-packages/deprecated/__init__.py b/venv/Lib/site-packages/deprecated/__init__.py new file mode 100644 index 00000000..f0677b6c --- /dev/null +++ b/venv/Lib/site-packages/deprecated/__init__.py @@ -0,0 +1,15 @@ +# -*- coding: utf-8 -*- +""" +Deprecated Library +================== + +Python ``@deprecated`` decorator to deprecate old python classes, functions or methods. + +""" + +__version__ = "1.2.15" +__author__ = u"Laurent LAPORTE " +__date__ = "2024-11-15" +__credits__ = "(c) Laurent LAPORTE" + +from deprecated.classic import deprecated diff --git a/venv/Lib/site-packages/deprecated/__pycache__/__init__.cpython-39.pyc b/venv/Lib/site-packages/deprecated/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..27e83519 Binary files /dev/null and b/venv/Lib/site-packages/deprecated/__pycache__/__init__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/deprecated/__pycache__/classic.cpython-39.pyc b/venv/Lib/site-packages/deprecated/__pycache__/classic.cpython-39.pyc new file mode 100644 index 00000000..d7185346 Binary files /dev/null and b/venv/Lib/site-packages/deprecated/__pycache__/classic.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/deprecated/__pycache__/sphinx.cpython-39.pyc b/venv/Lib/site-packages/deprecated/__pycache__/sphinx.cpython-39.pyc new file mode 100644 index 00000000..8cb19b23 Binary files /dev/null and b/venv/Lib/site-packages/deprecated/__pycache__/sphinx.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/deprecated/classic.py b/venv/Lib/site-packages/deprecated/classic.py new file mode 100644 index 00000000..84f683ce --- /dev/null +++ b/venv/Lib/site-packages/deprecated/classic.py @@ -0,0 +1,301 @@ +# -*- coding: utf-8 -*- +""" +Classic deprecation warning +=========================== + +Classic ``@deprecated`` decorator to deprecate old python classes, functions or methods. + +.. _The Warnings Filter: https://docs.python.org/3/library/warnings.html#the-warnings-filter +""" +import functools +import inspect +import platform +import warnings + +import wrapt + +try: + # If the C extension for wrapt was compiled and wrapt/_wrappers.pyd exists, then the + # stack level that should be passed to warnings.warn should be 2. However, if using + # a pure python wrapt, an extra stacklevel is required. + import wrapt._wrappers + + _routine_stacklevel = 2 + _class_stacklevel = 2 +except ImportError: + _routine_stacklevel = 3 + if platform.python_implementation() == "PyPy": + _class_stacklevel = 2 + else: + _class_stacklevel = 3 + +string_types = (type(b''), type(u'')) + + +class ClassicAdapter(wrapt.AdapterFactory): + """ + Classic adapter -- *for advanced usage only* + + This adapter is used to get the deprecation message according to the wrapped object type: + class, function, standard method, static method, or class method. + + This is the base class of the :class:`~deprecated.sphinx.SphinxAdapter` class + which is used to update the wrapped object docstring. + + You can also inherit this class to change the deprecation message. + + In the following example, we change the message into "The ... is deprecated.": + + .. code-block:: python + + import inspect + + from deprecated.classic import ClassicAdapter + from deprecated.classic import deprecated + + + class MyClassicAdapter(ClassicAdapter): + def get_deprecated_msg(self, wrapped, instance): + if instance is None: + if inspect.isclass(wrapped): + fmt = "The class {name} is deprecated." + else: + fmt = "The function {name} is deprecated." + else: + if inspect.isclass(instance): + fmt = "The class method {name} is deprecated." + else: + fmt = "The method {name} is deprecated." + if self.reason: + fmt += " ({reason})" + if self.version: + fmt += " -- Deprecated since version {version}." + return fmt.format(name=wrapped.__name__, + reason=self.reason or "", + version=self.version or "") + + Then, you can use your ``MyClassicAdapter`` class like this in your source code: + + .. code-block:: python + + @deprecated(reason="use another function", adapter_cls=MyClassicAdapter) + def some_old_function(x, y): + return x + y + """ + + def __init__(self, reason="", version="", action=None, category=DeprecationWarning, extra_stacklevel=0): + """ + Construct a wrapper adapter. + + :type reason: str + :param reason: + Reason message which documents the deprecation in your library (can be omitted). + + :type version: str + :param version: + Version of your project which deprecates this feature. + If you follow the `Semantic Versioning `_, + the version number has the format "MAJOR.MINOR.PATCH". + + :type action: Literal["default", "error", "ignore", "always", "module", "once"] + :param action: + A warning filter used to activate or not the deprecation warning. + Can be one of "error", "ignore", "always", "default", "module", or "once". + If ``None`` or empty, the global filtering mechanism is used. + See: `The Warnings Filter`_ in the Python documentation. + + :type category: Type[Warning] + :param category: + The warning category to use for the deprecation warning. + By default, the category class is :class:`~DeprecationWarning`, + you can inherit this class to define your own deprecation warning category. + + :type extra_stacklevel: int + :param extra_stacklevel: + Number of additional stack levels to consider instrumentation rather than user code. + With the default value of 0, the warning refers to where the class was instantiated + or the function was called. + + .. versionchanged:: 1.2.15 + Add the *extra_stacklevel* parameter. + """ + self.reason = reason or "" + self.version = version or "" + self.action = action + self.category = category + self.extra_stacklevel = extra_stacklevel + super(ClassicAdapter, self).__init__() + + def get_deprecated_msg(self, wrapped, instance): + """ + Get the deprecation warning message for the user. + + :param wrapped: Wrapped class or function. + + :param instance: The object to which the wrapped function was bound when it was called. + + :return: The warning message. + """ + if instance is None: + if inspect.isclass(wrapped): + fmt = "Call to deprecated class {name}." + else: + fmt = "Call to deprecated function (or staticmethod) {name}." + else: + if inspect.isclass(instance): + fmt = "Call to deprecated class method {name}." + else: + fmt = "Call to deprecated method {name}." + if self.reason: + fmt += " ({reason})" + if self.version: + fmt += " -- Deprecated since version {version}." + return fmt.format(name=wrapped.__name__, reason=self.reason or "", version=self.version or "") + + def __call__(self, wrapped): + """ + Decorate your class or function. + + :param wrapped: Wrapped class or function. + + :return: the decorated class or function. + + .. versionchanged:: 1.2.4 + Don't pass arguments to :meth:`object.__new__` (other than *cls*). + + .. versionchanged:: 1.2.8 + The warning filter is not set if the *action* parameter is ``None`` or empty. + """ + if inspect.isclass(wrapped): + old_new1 = wrapped.__new__ + + def wrapped_cls(cls, *args, **kwargs): + msg = self.get_deprecated_msg(wrapped, None) + stacklevel = _class_stacklevel + self.extra_stacklevel + if self.action: + with warnings.catch_warnings(): + warnings.simplefilter(self.action, self.category) + warnings.warn(msg, category=self.category, stacklevel=stacklevel) + else: + warnings.warn(msg, category=self.category, stacklevel=stacklevel) + if old_new1 is object.__new__: + return old_new1(cls) + # actually, we don't know the real signature of *old_new1* + return old_new1(cls, *args, **kwargs) + + wrapped.__new__ = staticmethod(wrapped_cls) + + elif inspect.isroutine(wrapped): + @wrapt.decorator + def wrapper_function(wrapped_, instance_, args_, kwargs_): + msg = self.get_deprecated_msg(wrapped_, instance_) + stacklevel = _routine_stacklevel + self.extra_stacklevel + if self.action: + with warnings.catch_warnings(): + warnings.simplefilter(self.action, self.category) + warnings.warn(msg, category=self.category, stacklevel=stacklevel) + else: + warnings.warn(msg, category=self.category, stacklevel=stacklevel) + return wrapped_(*args_, **kwargs_) + + return wrapper_function(wrapped) + + else: + raise TypeError(repr(type(wrapped))) + + return wrapped + + +def deprecated(*args, **kwargs): + """ + This is a decorator which can be used to mark functions + as deprecated. It will result in a warning being emitted + when the function is used. + + **Classic usage:** + + To use this, decorate your deprecated function with **@deprecated** decorator: + + .. code-block:: python + + from deprecated import deprecated + + + @deprecated + def some_old_function(x, y): + return x + y + + You can also decorate a class or a method: + + .. code-block:: python + + from deprecated import deprecated + + + class SomeClass(object): + @deprecated + def some_old_method(self, x, y): + return x + y + + + @deprecated + class SomeOldClass(object): + pass + + You can give a *reason* message to help the developer to choose another function/class, + and a *version* number to specify the starting version number of the deprecation. + + .. code-block:: python + + from deprecated import deprecated + + + @deprecated(reason="use another function", version='1.2.0') + def some_old_function(x, y): + return x + y + + The *category* keyword argument allow you to specify the deprecation warning class of your choice. + By default, :exc:`DeprecationWarning` is used, but you can choose :exc:`FutureWarning`, + :exc:`PendingDeprecationWarning` or a custom subclass. + + .. code-block:: python + + from deprecated import deprecated + + + @deprecated(category=PendingDeprecationWarning) + def some_old_function(x, y): + return x + y + + The *action* keyword argument allow you to locally change the warning filtering. + *action* can be one of "error", "ignore", "always", "default", "module", or "once". + If ``None``, empty or missing, the global filtering mechanism is used. + See: `The Warnings Filter`_ in the Python documentation. + + .. code-block:: python + + from deprecated import deprecated + + + @deprecated(action="error") + def some_old_function(x, y): + return x + y + + The *extra_stacklevel* keyword argument allows you to specify additional stack levels + to consider instrumentation rather than user code. With the default value of 0, the + warning refers to where the class was instantiated or the function was called. + """ + if args and isinstance(args[0], string_types): + kwargs['reason'] = args[0] + args = args[1:] + + if args and not callable(args[0]): + raise TypeError(repr(type(args[0]))) + + if args: + adapter_cls = kwargs.pop('adapter_cls', ClassicAdapter) + adapter = adapter_cls(**kwargs) + wrapped = args[0] + return adapter(wrapped) + + return functools.partial(deprecated, **kwargs) diff --git a/venv/Lib/site-packages/deprecated/sphinx.py b/venv/Lib/site-packages/deprecated/sphinx.py new file mode 100644 index 00000000..90435c64 --- /dev/null +++ b/venv/Lib/site-packages/deprecated/sphinx.py @@ -0,0 +1,281 @@ +# coding: utf-8 +""" +Sphinx directive integration +============================ + +We usually need to document the life-cycle of functions and classes: +when they are created, modified or deprecated. + +To do that, `Sphinx `_ has a set +of `Paragraph-level markups `_: + +- ``versionadded``: to document the version of the project which added the described feature to the library, +- ``versionchanged``: to document changes of a feature, +- ``deprecated``: to document a deprecated feature. + +The purpose of this module is to defined decorators which adds this Sphinx directives +to the docstring of your function and classes. + +Of course, the ``@deprecated`` decorator will emit a deprecation warning +when the function/method is called or the class is constructed. +""" +import re +import textwrap + +from deprecated.classic import ClassicAdapter +from deprecated.classic import deprecated as _classic_deprecated + + +class SphinxAdapter(ClassicAdapter): + """ + Sphinx adapter -- *for advanced usage only* + + This adapter override the :class:`~deprecated.classic.ClassicAdapter` + in order to add the Sphinx directives to the end of the function/class docstring. + Such a directive is a `Paragraph-level markup `_ + + - The directive can be one of "versionadded", "versionchanged" or "deprecated". + - The version number is added if provided. + - The reason message is obviously added in the directive block if not empty. + """ + + def __init__( + self, + directive, + reason="", + version="", + action=None, + category=DeprecationWarning, + extra_stacklevel=0, + line_length=70, + ): + """ + Construct a wrapper adapter. + + :type directive: str + :param directive: + Sphinx directive: can be one of "versionadded", "versionchanged" or "deprecated". + + :type reason: str + :param reason: + Reason message which documents the deprecation in your library (can be omitted). + + :type version: str + :param version: + Version of your project which deprecates this feature. + If you follow the `Semantic Versioning `_, + the version number has the format "MAJOR.MINOR.PATCH". + + :type action: Literal["default", "error", "ignore", "always", "module", "once"] + :param action: + A warning filter used to activate or not the deprecation warning. + Can be one of "error", "ignore", "always", "default", "module", or "once". + If ``None`` or empty, the global filtering mechanism is used. + See: `The Warnings Filter`_ in the Python documentation. + + :type category: Type[Warning] + :param category: + The warning category to use for the deprecation warning. + By default, the category class is :class:`~DeprecationWarning`, + you can inherit this class to define your own deprecation warning category. + + :type extra_stacklevel: int + :param extra_stacklevel: + Number of additional stack levels to consider instrumentation rather than user code. + With the default value of 0, the warning refers to where the class was instantiated + or the function was called. + + :type line_length: int + :param line_length: + Max line length of the directive text. If non nul, a long text is wrapped in several lines. + + .. versionchanged:: 1.2.15 + Add the *extra_stacklevel* parameter. + """ + if not version: + # https://github.com/laurent-laporte-pro/deprecated/issues/40 + raise ValueError("'version' argument is required in Sphinx directives") + self.directive = directive + self.line_length = line_length + super(SphinxAdapter, self).__init__( + reason=reason, version=version, action=action, category=category, extra_stacklevel=extra_stacklevel + ) + + def __call__(self, wrapped): + """ + Add the Sphinx directive to your class or function. + + :param wrapped: Wrapped class or function. + + :return: the decorated class or function. + """ + # -- build the directive division + fmt = ".. {directive}:: {version}" if self.version else ".. {directive}::" + div_lines = [fmt.format(directive=self.directive, version=self.version)] + width = self.line_length - 3 if self.line_length > 3 else 2**16 + reason = textwrap.dedent(self.reason).strip() + for paragraph in reason.splitlines(): + if paragraph: + div_lines.extend( + textwrap.fill( + paragraph, + width=width, + initial_indent=" ", + subsequent_indent=" ", + ).splitlines() + ) + else: + div_lines.append("") + + # -- get the docstring, normalize the trailing newlines + # keep a consistent behaviour if the docstring starts with newline or directly on the first one + docstring = wrapped.__doc__ or "" + lines = docstring.splitlines(True) or [""] + docstring = textwrap.dedent("".join(lines[1:])) if len(lines) > 1 else "" + docstring = lines[0] + docstring + if docstring: + # An empty line must separate the original docstring and the directive. + docstring = re.sub(r"\n+$", "", docstring, flags=re.DOTALL) + "\n\n" + else: + # Avoid "Explicit markup ends without a blank line" when the decorated function has no docstring + docstring = "\n" + + # -- append the directive division to the docstring + docstring += "".join("{}\n".format(line) for line in div_lines) + + wrapped.__doc__ = docstring + if self.directive in {"versionadded", "versionchanged"}: + return wrapped + return super(SphinxAdapter, self).__call__(wrapped) + + def get_deprecated_msg(self, wrapped, instance): + """ + Get the deprecation warning message (without Sphinx cross-referencing syntax) for the user. + + :param wrapped: Wrapped class or function. + + :param instance: The object to which the wrapped function was bound when it was called. + + :return: The warning message. + + .. versionadded:: 1.2.12 + Strip Sphinx cross-referencing syntax from warning message. + + """ + msg = super(SphinxAdapter, self).get_deprecated_msg(wrapped, instance) + # Strip Sphinx cross-reference syntax (like ":function:", ":py:func:" and ":py:meth:") + # Possible values are ":role:`foo`", ":domain:role:`foo`" + # where ``role`` and ``domain`` should match "[a-zA-Z]+" + msg = re.sub(r"(?: : [a-zA-Z]+ )? : [a-zA-Z]+ : (`[^`]*`)", r"\1", msg, flags=re.X) + return msg + + +def versionadded(reason="", version="", line_length=70): + """ + This decorator can be used to insert a "versionadded" directive + in your function/class docstring in order to document the + version of the project which adds this new functionality in your library. + + :param str reason: + Reason message which documents the addition in your library (can be omitted). + + :param str version: + Version of your project which adds this feature. + If you follow the `Semantic Versioning `_, + the version number has the format "MAJOR.MINOR.PATCH", and, + in the case of a new functionality, the "PATCH" component should be "0". + + :type line_length: int + :param line_length: + Max line length of the directive text. If non nul, a long text is wrapped in several lines. + + :return: the decorated function. + """ + adapter = SphinxAdapter( + 'versionadded', + reason=reason, + version=version, + line_length=line_length, + ) + return adapter + + +def versionchanged(reason="", version="", line_length=70): + """ + This decorator can be used to insert a "versionchanged" directive + in your function/class docstring in order to document the + version of the project which modifies this functionality in your library. + + :param str reason: + Reason message which documents the modification in your library (can be omitted). + + :param str version: + Version of your project which modifies this feature. + If you follow the `Semantic Versioning `_, + the version number has the format "MAJOR.MINOR.PATCH". + + :type line_length: int + :param line_length: + Max line length of the directive text. If non nul, a long text is wrapped in several lines. + + :return: the decorated function. + """ + adapter = SphinxAdapter( + 'versionchanged', + reason=reason, + version=version, + line_length=line_length, + ) + return adapter + + +def deprecated(reason="", version="", line_length=70, **kwargs): + """ + This decorator can be used to insert a "deprecated" directive + in your function/class docstring in order to document the + version of the project which deprecates this functionality in your library. + + :param str reason: + Reason message which documents the deprecation in your library (can be omitted). + + :param str version: + Version of your project which deprecates this feature. + If you follow the `Semantic Versioning `_, + the version number has the format "MAJOR.MINOR.PATCH". + + :type line_length: int + :param line_length: + Max line length of the directive text. If non nul, a long text is wrapped in several lines. + + Keyword arguments can be: + + - "action": + A warning filter used to activate or not the deprecation warning. + Can be one of "error", "ignore", "always", "default", "module", or "once". + If ``None``, empty or missing, the global filtering mechanism is used. + + - "category": + The warning category to use for the deprecation warning. + By default, the category class is :class:`~DeprecationWarning`, + you can inherit this class to define your own deprecation warning category. + + - "extra_stacklevel": + Number of additional stack levels to consider instrumentation rather than user code. + With the default value of 0, the warning refers to where the class was instantiated + or the function was called. + + + :return: a decorator used to deprecate a function. + + .. versionchanged:: 1.2.13 + Change the signature of the decorator to reflect the valid use cases. + + .. versionchanged:: 1.2.15 + Add the *extra_stacklevel* parameter. + """ + directive = kwargs.pop('directive', 'deprecated') + adapter_cls = kwargs.pop('adapter_cls', SphinxAdapter) + kwargs["reason"] = reason + kwargs["version"] = version + kwargs["line_length"] = line_length + return _classic_deprecated(directive=directive, adapter_cls=adapter_cls, **kwargs) diff --git a/venv/Lib/site-packages/deprecation-2.1.0.dist-info/INSTALLER b/venv/Lib/site-packages/deprecation-2.1.0.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/venv/Lib/site-packages/deprecation-2.1.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/Lib/site-packages/deprecation-2.1.0.dist-info/LICENSE b/venv/Lib/site-packages/deprecation-2.1.0.dist-info/LICENSE new file mode 100644 index 00000000..8dada3ed --- /dev/null +++ b/venv/Lib/site-packages/deprecation-2.1.0.dist-info/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/venv/Lib/site-packages/deprecation-2.1.0.dist-info/METADATA b/venv/Lib/site-packages/deprecation-2.1.0.dist-info/METADATA new file mode 100644 index 00000000..1d44ff8c --- /dev/null +++ b/venv/Lib/site-packages/deprecation-2.1.0.dist-info/METADATA @@ -0,0 +1,114 @@ +Metadata-Version: 2.1 +Name: deprecation +Version: 2.1.0 +Summary: A library to handle automated deprecations +Home-page: http://deprecation.readthedocs.io/ +Author: Brian Curtin +Author-email: brian@python.org +Maintainer: Brian Curtin +Maintainer-email: brian@python.org +License: Apache 2 +Project-URL: Documentation, http://deprecation.readthedocs.io/en/latest/ +Project-URL: Source, https://github.com/briancurtin/deprecation +Project-URL: Bug Tracker, https://github.com/briancurtin/deprecation/issues +Keywords: deprecation +Platform: UNKNOWN +Classifier: Development Status :: 5 - Production/Stable +Classifier: License :: OSI Approved :: Apache Software License +Classifier: Programming Language :: Python +Classifier: Programming Language :: Python :: 2 +Classifier: Programming Language :: Python :: 2.7 +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 +Classifier: Programming Language :: Python :: 3.7 +Classifier: Programming Language :: Python :: Implementation :: CPython +Classifier: Programming Language :: Python :: Implementation :: PyPy +Classifier: Topic :: Software Development :: Libraries :: Python Modules +Requires-Dist: packaging + +deprecation +=========== + +.. image:: https://readthedocs.org/projects/deprecation/badge/?version=latest + :target: http://deprecation.readthedocs.io/en/latest/ + :alt: Documentation Status + +.. image:: https://travis-ci.org/briancurtin/deprecation.svg?branch=master + :target: https://travis-ci.org/briancurtin/deprecation + +.. image:: https://codecov.io/gh/briancurtin/deprecation/branch/master/graph/badge.svg + :target: https://codecov.io/gh/briancurtin/deprecation + +The ``deprecation`` library provides a ``deprecated`` decorator and a +``fail_if_not_removed`` decorator for your tests. Together, the two +enable the automation of several things: + +1. The docstring of a deprecated method gets the deprecation details + appended to the end of it. If you generate your API docs direct + from your source, you don't need to worry about writing your own + notification. You also don't need to worry about forgetting to + write it. It's done for you. +2. Rather than having code live on forever because you only deprecated + it but never actually moved on from it, you can have your tests + tell you when it's time to remove the code. The ``@deprecated`` + decorator can be told when it's time to entirely remove the code, + which causes ``@fail_if_not_removed`` to raise an ``AssertionError``, + causing either your unittest or py.test tests to fail. + +See http://deprecation.readthedocs.io/ for the full documentation. + +Installation +============ + + :: + + pip install deprecation + +Usage +===== + + :: + + import deprecation + + @deprecation.deprecated(deprecated_in="1.0", removed_in="2.0", + current_version=__version__, + details="Use the bar function instead") + def foo(): + """Do some stuff""" + return 1 + +...but doesn't Python ignore ``DeprecationWarning``? +==================================================== + +Yes, by default since 2.7—and for good reason [#]_ —and this works fine +with that. + +1. It often makes sense for you to run your tests with a ``-W`` flag or + the ``PYTHONWARNINGS`` environment variable so you catch warnings + in development and handle them appropriately. The warnings raised by + this library show up there, as they're subclasses of the built-in + ``DeprecationWarning``. See the `Command Line + `_ + and `Environment Variable + `_ + documentation for more details. +2. Even if you don't enable those things, the behavior of this library + remains the same. The docstrings will still be updated and the tests + will still fail when they need to. You'll get the benefits regardless + of what Python cares about ``DeprecationWarning``. + +---- + +.. [#] Exposing application users to ``DeprecationWarning``\s that are + emitted by lower-level code needlessly involves end-users in + "how things are done." It often leads to users raising issues + about warnings they're presented, which on one hand is done + rightfully so, as it's been presented to them as some sort of + issue to resolve. However, at the same time, the warning could + be well known and planned for. From either side, loud + ``DeprecationWarning``\s can be seen as noise that isn't + necessary outside of development. + + diff --git a/venv/Lib/site-packages/deprecation-2.1.0.dist-info/RECORD b/venv/Lib/site-packages/deprecation-2.1.0.dist-info/RECORD new file mode 100644 index 00000000..81e9c24e --- /dev/null +++ b/venv/Lib/site-packages/deprecation-2.1.0.dist-info/RECORD @@ -0,0 +1,8 @@ +__pycache__/deprecation.cpython-39.pyc,, +deprecation-2.1.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +deprecation-2.1.0.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357 +deprecation-2.1.0.dist-info/METADATA,sha256=AmlhU86t_lQQh858jSMZMZpoYM6gfnnLSKKe5DgGU88,4604 +deprecation-2.1.0.dist-info/RECORD,, +deprecation-2.1.0.dist-info/WHEEL,sha256=kGT74LWyRUZrL4VgLh6_g12IeVl_9u9ZVhadrgXZUEY,110 +deprecation-2.1.0.dist-info/top_level.txt,sha256=ztDh9pLraFksBgQ6iXWE_OnukoBC6_jkPQ4Y6p7771o,12 +deprecation.py,sha256=Z8qPVC-janAf7Ppoc1wYTiTWvGSdSjErOV1jDhnHN0Y,12895 diff --git a/venv/Lib/site-packages/deprecation-2.1.0.dist-info/WHEEL b/venv/Lib/site-packages/deprecation-2.1.0.dist-info/WHEEL new file mode 100644 index 00000000..ef99c6cf --- /dev/null +++ b/venv/Lib/site-packages/deprecation-2.1.0.dist-info/WHEEL @@ -0,0 +1,6 @@ +Wheel-Version: 1.0 +Generator: bdist_wheel (0.34.2) +Root-Is-Purelib: true +Tag: py2-none-any +Tag: py3-none-any + diff --git a/venv/Lib/site-packages/deprecation-2.1.0.dist-info/top_level.txt b/venv/Lib/site-packages/deprecation-2.1.0.dist-info/top_level.txt new file mode 100644 index 00000000..4ba9b753 --- /dev/null +++ b/venv/Lib/site-packages/deprecation-2.1.0.dist-info/top_level.txt @@ -0,0 +1 @@ +deprecation diff --git a/venv/Lib/site-packages/deprecation.py b/venv/Lib/site-packages/deprecation.py new file mode 100644 index 00000000..0217b589 --- /dev/null +++ b/venv/Lib/site-packages/deprecation.py @@ -0,0 +1,290 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +import collections +import functools +import textwrap +import warnings + +from packaging import version +from datetime import date + +__version__ = "2.1.0" + +# This is mostly here so automodule docs are ordered more ideally. +__all__ = ["deprecated", "message_location", "fail_if_not_removed", + "DeprecatedWarning", "UnsupportedWarning"] + +#: Location where the details are added to a deprecated docstring +#: +#: When set to ``"bottom"``, the details are appended to the end. +#: When set to ``"top"``, the details are inserted between the +#: summary line and docstring contents. +message_location = "bottom" + + +class DeprecatedWarning(DeprecationWarning): + """A warning class for deprecated methods + + This is a specialization of the built-in :class:`DeprecationWarning`, + adding parameters that allow us to get information into the __str__ + that ends up being sent through the :mod:`warnings` system. + The attributes aren't able to be retrieved after the warning gets + raised and passed through the system as only the class--not the + instance--and message are what gets preserved. + + :param function: The function being deprecated. + :param deprecated_in: The version that ``function`` is deprecated in + :param removed_in: The version or :class:`datetime.date` specifying + when ``function`` gets removed. + :param details: Optional details about the deprecation. Most often + this will include directions on what to use instead + of the now deprecated code. + """ + + def __init__(self, function, deprecated_in, removed_in, details=""): + # NOTE: The docstring only works for this class if it appears up + # near the class name, not here inside __init__. I think it has + # to do with being an exception class. + self.function = function + self.deprecated_in = deprecated_in + self.removed_in = removed_in + self.details = details + super(DeprecatedWarning, self).__init__(function, deprecated_in, + removed_in, details) + + def __str__(self): + # Use a defaultdict to give us the empty string + # when a part isn't included. + parts = collections.defaultdict(str) + parts["function"] = self.function + + if self.deprecated_in: + parts["deprecated"] = " as of %s" % self.deprecated_in + if self.removed_in: + parts["removed"] = " and will be removed {} {}".format("on" if isinstance(self.removed_in, date) else "in", + self.removed_in) + if any([self.deprecated_in, self.removed_in, self.details]): + parts["period"] = "." + if self.details: + parts["details"] = " %s" % self.details + + return ("%(function)s is deprecated%(deprecated)s%(removed)s" + "%(period)s%(details)s" % (parts)) + + +class UnsupportedWarning(DeprecatedWarning): + """A warning class for methods to be removed + + This is a subclass of :class:`~deprecation.DeprecatedWarning` and is used + to output a proper message about a function being unsupported. + Additionally, the :func:`~deprecation.fail_if_not_removed` decorator + will handle this warning and cause any tests to fail if the system + under test uses code that raises this warning. + """ + + def __str__(self): + parts = collections.defaultdict(str) + parts["function"] = self.function + parts["removed"] = self.removed_in + + if self.details: + parts["details"] = " %s" % self.details + + return ("%(function)s is unsupported as of %(removed)s." + "%(details)s" % (parts)) + + +def deprecated(deprecated_in=None, removed_in=None, current_version=None, + details=""): + """Decorate a function to signify its deprecation + + This function wraps a method that will soon be removed and does two things: + * The docstring of the method will be modified to include a notice + about deprecation, e.g., "Deprecated since 0.9.11. Use foo instead." + * Raises a :class:`~deprecation.DeprecatedWarning` + via the :mod:`warnings` module, which is a subclass of the built-in + :class:`DeprecationWarning`. Note that built-in + :class:`DeprecationWarning`s are ignored by default, so for users + to be informed of said warnings they will need to enable them--see + the :mod:`warnings` module documentation for more details. + + :param deprecated_in: The version at which the decorated method is + considered deprecated. This will usually be the + next version to be released when the decorator is + added. The default is **None**, which effectively + means immediate deprecation. If this is not + specified, then the `removed_in` and + `current_version` arguments are ignored. + :param removed_in: The version or :class:`datetime.date` when the decorated + method will be removed. The default is **None**, + specifying that the function is not currently planned + to be removed. + Note: This parameter cannot be set to a value if + `deprecated_in=None`. + :param current_version: The source of version information for the + currently running code. This will usually be + a `__version__` attribute on your library. + The default is `None`. + When `current_version=None` the automation to + determine if the wrapped function is actually + in a period of deprecation or time for removal + does not work, causing a + :class:`~deprecation.DeprecatedWarning` + to be raised in all cases. + :param details: Extra details to be added to the method docstring and + warning. For example, the details may point users to + a replacement method, such as "Use the foo_bar + method instead". By default there are no details. + """ + # You can't just jump to removal. It's weird, unfair, and also makes + # building up the docstring weird. + if deprecated_in is None and removed_in is not None: + raise TypeError("Cannot set removed_in to a value " + "without also setting deprecated_in") + + # Only warn when it's appropriate. There may be cases when it makes sense + # to add this decorator before a formal deprecation period begins. + # In CPython, PendingDeprecatedWarning gets used in that period, + # so perhaps mimick that at some point. + is_deprecated = False + is_unsupported = False + + # StrictVersion won't take a None or a "", so make whatever goes to it + # is at least *something*. Compare versions only if removed_in is not + # of type datetime.date + if isinstance(removed_in, date): + if date.today() >= removed_in: + is_unsupported = True + else: + is_deprecated = True + elif current_version: + current_version = version.parse(current_version) + + if (removed_in + and current_version >= version.parse(removed_in)): + is_unsupported = True + elif (deprecated_in + and current_version >= version.parse(deprecated_in)): + is_deprecated = True + else: + # If we can't actually calculate that we're in a period of + # deprecation...well, they used the decorator, so it's deprecated. + # This will cover the case of someone just using + # @deprecated("1.0") without the other advantages. + is_deprecated = True + + should_warn = any([is_deprecated, is_unsupported]) + + def _function_wrapper(function): + if should_warn: + # Everything *should* have a docstring, but just in case... + existing_docstring = function.__doc__ or "" + + # The various parts of this decorator being optional makes for + # a number of ways the deprecation notice could go. The following + # makes for a nicely constructed sentence with or without any + # of the parts. + + # If removed_in is a date, use "removed on" + # If removed_in is a version, use "removed in" + parts = { + "deprecated_in": + " %s" % deprecated_in if deprecated_in else "", + "removed_in": + "\n This will be removed {} {}.".format("on" if isinstance(removed_in, date) else "in", + removed_in) if removed_in else "", + "details": + " %s" % details if details else ""} + + deprecation_note = (".. deprecated::{deprecated_in}" + "{removed_in}{details}".format(**parts)) + + # default location for insertion of deprecation note + loc = 1 + + # split docstring at first occurrence of newline + string_list = existing_docstring.split("\n", 1) + + if len(string_list) > 1: + # With a multi-line docstring, when we modify + # existing_docstring to add our deprecation_note, + # if we're not careful we'll interfere with the + # indentation levels of the contents below the + # first line, or as PEP 257 calls it, the summary + # line. Since the summary line can start on the + # same line as the """, dedenting the whole thing + # won't help. Split the summary and contents up, + # dedent the contents independently, then join + # summary, dedent'ed contents, and our + # deprecation_note. + + # in-place dedent docstring content + string_list[1] = textwrap.dedent(string_list[1]) + + # we need another newline + string_list.insert(loc, "\n") + + # change the message_location if we add to end of docstring + # do this always if not "top" + if message_location != "top": + loc = 3 + + # insert deprecation note and dual newline + string_list.insert(loc, deprecation_note) + string_list.insert(loc, "\n\n") + + function.__doc__ = "".join(string_list) + + @functools.wraps(function) + def _inner(*args, **kwargs): + if should_warn: + if is_unsupported: + cls = UnsupportedWarning + else: + cls = DeprecatedWarning + + the_warning = cls(function.__name__, deprecated_in, + removed_in, details) + warnings.warn(the_warning, category=DeprecationWarning, + stacklevel=2) + + return function(*args, **kwargs) + return _inner + return _function_wrapper + + +def fail_if_not_removed(method): + """Decorate a test method to track removal of deprecated code + + This decorator catches :class:`~deprecation.UnsupportedWarning` + warnings that occur during testing and causes unittests to fail, + making it easier to keep track of when code should be removed. + + :raises: :class:`AssertionError` if an + :class:`~deprecation.UnsupportedWarning` + is raised while running the test method. + """ + # NOTE(briancurtin): Unless this is named test_inner, nose won't work + # properly. See Issue #32. + @functools.wraps(method) + def test_inner(*args, **kwargs): + with warnings.catch_warnings(record=True) as caught_warnings: + warnings.simplefilter("always") + rv = method(*args, **kwargs) + + for warning in caught_warnings: + if warning.category == UnsupportedWarning: + raise AssertionError( + ("%s uses a function that should be removed: %s" % + (method, str(warning.message)))) + return rv + return test_inner diff --git a/venv/Lib/site-packages/distutils-precedence.pth b/venv/Lib/site-packages/distutils-precedence.pth new file mode 100644 index 00000000..7f009fe9 --- /dev/null +++ b/venv/Lib/site-packages/distutils-precedence.pth @@ -0,0 +1 @@ +import os; var = 'SETUPTOOLS_USE_DISTUTILS'; enabled = os.environ.get(var, 'local') == 'local'; enabled and __import__('_distutils_hack').add_shim(); diff --git a/venv/Lib/site-packages/docutils-0.21.2.dist-info/COPYING.txt b/venv/Lib/site-packages/docutils-0.21.2.dist-info/COPYING.txt new file mode 100644 index 00000000..333583c7 --- /dev/null +++ b/venv/Lib/site-packages/docutils-0.21.2.dist-info/COPYING.txt @@ -0,0 +1,159 @@ +.. include:: docs/header0.txt + +================== + Copying Docutils +================== + +:Author: David Goodger +:Contact: goodger@python.org +:Date: $Date: 2023-06-22 17:34:37 +0200 (Do, 22. Jun 2023) $ +:Web site: https://docutils.sourceforge.io/ +:Copyright: This document has been placed in the public domain. + +Most of the files included in this project have been placed in the +public domain, and therefore have no license requirements and no +restrictions on copying or usage; see the `Public Domain Dedication`_ +below. There are exceptions_, listed below. +Files in the Sandbox_ are not distributed with Docutils releases and +may have different license terms. + + +Public Domain Dedication +======================== + +The persons who have associated their work with this project (the +"Dedicator": David Goodger and the many contributors to the Docutils +project) hereby dedicate the entire copyright, less the exceptions_ +listed below, in the work of authorship known as "Docutils" identified +below (the "Work") to the public domain. + +The primary repository for the Work is the Internet World Wide Web +site . The Work consists of the +files within the "docutils" module of the Docutils project Subversion +repository (http://svn.code.sf.net/p/docutils/code/), +whose Internet web interface is located at +. Files dedicated to the +public domain may be identified by the inclusion, near the beginning +of each file, of a declaration of the form:: + + Copyright: This document/module/DTD/stylesheet/file/etc. has been + placed in the public domain. + +Dedicator makes this dedication for the benefit of the public at large +and to the detriment of Dedicator's heirs and successors. Dedicator +intends this dedication to be an overt act of relinquishment in +perpetuity of all present and future rights under copyright law, +whether vested or contingent, in the Work. Dedicator understands that +such relinquishment of all rights includes the relinquishment of all +rights to enforce (by lawsuit or otherwise) those copyrights in the +Work. + +Dedicator recognizes that, once placed in the public domain, the Work +may be freely reproduced, distributed, transmitted, used, modified, +built upon, or otherwise exploited by anyone for any purpose, +commercial or non-commercial, and in any way, including by methods +that have not yet been invented or conceived. + +(This dedication is derived from the text of the `Creative Commons +Public Domain Dedication`. [#]_) + +.. [#] Creative Commons has `retired this legal tool`__ and does not + recommend that it be applied to works: This tool is based on United + States law and may not be applicable outside the US. For dedicating new + works to the public domain, Creative Commons recommend the replacement + Public Domain Dedication CC0_ (CC zero, "No Rights Reserved"). So does + the Free Software Foundation in its license-list_. + + __ http://creativecommons.org/retiredlicenses + .. _CC0: http://creativecommons.org/about/cc0 + +Exceptions +========== + +The exceptions to the `Public Domain Dedication`_ above are: + +* docutils/utils/smartquotes.py + + Copyright © 2011 Günter Milde, + based on `SmartyPants`_ © 2003 John Gruber + (released under a "revised" `BSD 3-Clause License`_ included in the file) + and smartypants.py © 2004, 2007 Chad Miller. + Released under the terms of the `BSD 2-Clause License`_ + (`local copy `__). + + .. _SmartyPants: http://daringfireball.net/projects/smartypants/ + +* docutils/utils/math/latex2mathml.py + + Copyright © Jens Jørgen Mortensen, Günter Milde. + Released under the terms of the `BSD 2-Clause License`_ + (`local copy `__). + +* | docutils/utils/math/math2html.py, + | docutils/writers/html5_polyglot/math.css + + Copyright © 2009,2010 Alex Fernández; 2021 Günter Milde + + These files were part of eLyXer_, released under the `GNU + General Public License`_ version 3 or later. The author relicensed + them for Docutils under the terms of the `BSD 2-Clause License`_ + (`local copy `__). + + .. _eLyXer: https://github.com/alexfernandez/elyxer + +* | docutils/__main__.py, + | docutils/parsers/commonmark_wrapper.py, + | docutils/parsers/recommonmark_wrapper.py, + | docutils/utils/error_reporting.py, + | docutils/utils/math/__init__.py, + | docutils/utils/math/latex2mathml.py, + | docutils/utils/math/tex2mathml_extern.py, + | docutils/utils/punctuation_chars.py, + | docutils/utils/smartquotes.py, + | docutils/writers/html5_polyglot/__init__.py, + | docutils/writers/html5_polyglot/\*.css, + | docutils/writers/latex2e/docutils.sty, + | docutils/writers/xetex/__init__.py, + | test/test_parsers/test_recommonmark/\*.py, + | test/test_parsers/test_rst/test_directives/test__init__.py, + | test/test_parsers/test_rst/test_directives/test_code_parsing.py, + | test/test_parsers/test_rst/test_line_length_limit_default.py, + | test/test_parsers/test_rst/test_line_length_limit.py, + | test/test_writers/test_latex2e_misc.py, + | test/transforms/test_smartquotes.py, + | tools/docutils-cli.py, + | tools/rst2html5.py + + Copyright © Günter Milde. + Released under the terms of the `BSD 2-Clause License`_ + (`local copy `__). + +* docutils/utils/roman.py + + copyright by Mark Pilgrim, released under the + `Zope Public License Version 2.1`_ (`local copy`__). + + __ licenses/ZPL-2-1.txt + +* tools/editors/emacs/rst.el + + copyright by Free Software Foundation, Inc., + released under the `GNU General Public License`_ version 3 or later + (`local copy`__). + + __ licenses/gpl-3-0.txt + +All used licenses are OSI-approved_ and GPL-compatible_. + +Plaintext versions of all the linked-to licenses are provided in the +licenses_ directory. + +.. _sandbox: https://docutils.sourceforge.io/sandbox/README.html +.. _licenses: licenses/ +.. _GNU General Public License: https://www.gnu.org/copyleft/gpl.html +.. _BSD 2-Clause License: http://opensource.org/licenses/BSD-2-Clause +.. _BSD 3-Clause License: https://opensource.org/licenses/BSD-3-Clause +.. _Zope Public License Version 2.1: https://opensource.org/license/zpl-2-1/ +.. _OSI-approved: http://opensource.org/licenses/ +.. _license-list: +.. _GPL-compatible: https://www.gnu.org/licenses/license-list.html diff --git a/venv/Lib/site-packages/docutils-0.21.2.dist-info/INSTALLER b/venv/Lib/site-packages/docutils-0.21.2.dist-info/INSTALLER new file mode 100644 index 00000000..a1b589e3 --- /dev/null +++ b/venv/Lib/site-packages/docutils-0.21.2.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/venv/Lib/site-packages/docutils-0.21.2.dist-info/METADATA b/venv/Lib/site-packages/docutils-0.21.2.dist-info/METADATA new file mode 100644 index 00000000..bec0da08 --- /dev/null +++ b/venv/Lib/site-packages/docutils-0.21.2.dist-info/METADATA @@ -0,0 +1,63 @@ +Metadata-Version: 2.1 +Name: docutils +Version: 0.21.2 +Summary: Docutils -- Python Documentation Utilities +Author-email: David Goodger +Maintainer-email: docutils-develop list +Requires-Python: >=3.9 +Description-Content-Type: text/plain +Classifier: Development Status :: 4 - Beta +Classifier: Environment :: Console +Classifier: Intended Audience :: End Users/Desktop +Classifier: Intended Audience :: Other Audience +Classifier: Intended Audience :: Developers +Classifier: Intended Audience :: System Administrators +Classifier: License :: Public Domain +Classifier: License :: OSI Approved :: Python Software Foundation License +Classifier: License :: OSI Approved :: BSD License +Classifier: License :: OSI Approved :: GNU General Public License (GPL) +Classifier: Operating System :: OS Independent +Classifier: Programming Language :: Python :: 3 +Classifier: Programming Language :: Python :: 3 :: Only +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Topic :: Documentation +Classifier: Topic :: Software Development :: Documentation +Classifier: Topic :: Text Processing +Classifier: Natural Language :: English +Classifier: Natural Language :: Afrikaans +Classifier: Natural Language :: Arabic +Classifier: Natural Language :: Catalan +Classifier: Natural Language :: Catalan (Valencian) +Classifier: Natural Language :: Chinese (Simplified) +Classifier: Natural Language :: Chinese (Traditional) +Classifier: Natural Language :: Czech +Classifier: Natural Language :: Danish +Classifier: Natural Language :: Dutch +Classifier: Natural Language :: Esperanto +Classifier: Natural Language :: Finnish +Classifier: Natural Language :: French +Classifier: Natural Language :: Galician +Classifier: Natural Language :: Georgian +Classifier: Natural Language :: German +Classifier: Natural Language :: Hebrew +Classifier: Natural Language :: Italian +Classifier: Natural Language :: Japanese +Classifier: Natural Language :: Korean +Classifier: Natural Language :: Latvian +Classifier: Natural Language :: Lithuanian +Classifier: Natural Language :: Persian +Classifier: Natural Language :: Polish +Classifier: Natural Language :: Portuguese (Brazilian) +Classifier: Natural Language :: Russian +Classifier: Natural Language :: Slovak +Classifier: Natural Language :: Spanish +Classifier: Natural Language :: Swedish +Classifier: Natural Language :: Ukrainian +Project-URL: Homepage, https://docutils.sourceforge.io + +Docutils is a modular system for processing documentation +into useful formats, such as HTML, XML, and LaTeX. For +input Docutils supports reStructuredText, an easy-to-read, +what-you-see-is-what-you-get plaintext markup syntax. diff --git a/venv/Lib/site-packages/docutils-0.21.2.dist-info/RECORD b/venv/Lib/site-packages/docutils-0.21.2.dist-info/RECORD new file mode 100644 index 00000000..a05bb616 --- /dev/null +++ b/venv/Lib/site-packages/docutils-0.21.2.dist-info/RECORD @@ -0,0 +1,347 @@ +../../Scripts/docutils.exe,sha256=vC6B9-97LuHReihIgS5ofAEqUD9ZC2R6k0P0W304d84,106382 +../../Scripts/rst2html.exe,sha256=S2urGpdlJf5Y2VCtRpkraREZzLDtxaHenwCpWyo79mI,106386 +../../Scripts/rst2html4.exe,sha256=8OdpN0PaAbtC3--NsazhZzyzwe-gwbSm5_izZuZC3Gg,106388 +../../Scripts/rst2html5.exe,sha256=JEntgaJtnPeUmeokWLc2ObWTJDNV3nerXGNrbd8qQT4,106388 +../../Scripts/rst2latex.exe,sha256=Ybjwyb2y7Jh62uk_hT9R4D0b9sX8LC_SlQkhM4L-zaw,106388 +../../Scripts/rst2man.exe,sha256=qvIyAAZwOOSnuICEemFpaaU5xXNAPnGE2MKT1uYpfus,106384 +../../Scripts/rst2odt.exe,sha256=ff6wKVuNRa-GwlWejhvPlN_ZmMqhop07YqBrVjv30A4,106384 +../../Scripts/rst2pseudoxml.exe,sha256=gP_hcKmTGmxTmlPLt_jN5SpjEfKBM8KUVpWRfDMtilY,106396 +../../Scripts/rst2s5.exe,sha256=T5IQ7Bg7XlNkHGRtm3UrGBCHbIwLwPBJMpVut26GCtg,106382 +../../Scripts/rst2xetex.exe,sha256=bX3QpbEyTcc-JAqh6Ce9OYuOz41eRtDI_aMpAfcU86s,106388 +../../Scripts/rst2xml.exe,sha256=Fk9b-leyR2ArCZ7joBrllQhs19EC_qDHBUVaW6ynEjY,106384 +docutils-0.21.2.dist-info/COPYING.txt,sha256=U07fdkGr3mn8UA8ijAl1GBLAWJgV7vDAgrxroxfWRqw,6310 +docutils-0.21.2.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +docutils-0.21.2.dist-info/METADATA,sha256=3oOygKJQ4otFhgmtONEmLPiLjUgZUQ5Fu1ZFHxTP4C8,2776 +docutils-0.21.2.dist-info/RECORD,, +docutils-0.21.2.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81 +docutils-0.21.2.dist-info/entry_points.txt,sha256=9xC35dFk4tSRrSMOKqq6kYlAZDEERdBM7fmwDLBMifY,379 +docutils/__init__.py,sha256=gmP9fnbribb7oZWoe4PTw8Obh_B_bt3e_CXKi45Xzus,10293 +docutils/__main__.py,sha256=HviLRJb_t90M1fOQ8s8J2A4XZXSvw4cYHkrAtZjR2XA,3625 +docutils/__pycache__/__init__.cpython-39.pyc,, +docutils/__pycache__/__main__.cpython-39.pyc,, +docutils/__pycache__/core.cpython-39.pyc,, +docutils/__pycache__/examples.cpython-39.pyc,, +docutils/__pycache__/frontend.cpython-39.pyc,, +docutils/__pycache__/io.cpython-39.pyc,, +docutils/__pycache__/nodes.cpython-39.pyc,, +docutils/__pycache__/statemachine.cpython-39.pyc,, +docutils/core.py,sha256=Lm2qwSppidgDBjoZQpOLiodDKtEbkT_CsLH93Iq4M6U,33045 +docutils/docutils.conf,sha256=F2yH40kC3N5nnjGIRdT7DHHGXbDKbd5YsbhmQxF2CNY,151 +docutils/examples.py,sha256=nP7S8EnZk4w3PYi2Ymeu9_UUcDIi39lP049Pe6iBECU,3961 +docutils/frontend.py,sha256=2oRkks_lIJHhlk537ejUki5dyHodR0SMuoZLXYRcUtI,44396 +docutils/io.py,sha256=VrAIuTlsf93O3wAYMK_PC0DqINMvRxuZZC5W_-6NEOg,22583 +docutils/languages/__init__.py,sha256=I8j0eJD3Jj3Q1C5ALqhYa-f8kCCQDPxmgn2VdPeTusI,2921 +docutils/languages/__pycache__/__init__.cpython-39.pyc,, +docutils/languages/__pycache__/af.cpython-39.pyc,, +docutils/languages/__pycache__/ar.cpython-39.pyc,, +docutils/languages/__pycache__/ca.cpython-39.pyc,, +docutils/languages/__pycache__/cs.cpython-39.pyc,, +docutils/languages/__pycache__/da.cpython-39.pyc,, +docutils/languages/__pycache__/de.cpython-39.pyc,, +docutils/languages/__pycache__/en.cpython-39.pyc,, +docutils/languages/__pycache__/eo.cpython-39.pyc,, +docutils/languages/__pycache__/es.cpython-39.pyc,, +docutils/languages/__pycache__/fa.cpython-39.pyc,, +docutils/languages/__pycache__/fi.cpython-39.pyc,, +docutils/languages/__pycache__/fr.cpython-39.pyc,, +docutils/languages/__pycache__/gl.cpython-39.pyc,, +docutils/languages/__pycache__/he.cpython-39.pyc,, +docutils/languages/__pycache__/it.cpython-39.pyc,, +docutils/languages/__pycache__/ja.cpython-39.pyc,, +docutils/languages/__pycache__/ka.cpython-39.pyc,, +docutils/languages/__pycache__/ko.cpython-39.pyc,, +docutils/languages/__pycache__/lt.cpython-39.pyc,, +docutils/languages/__pycache__/lv.cpython-39.pyc,, +docutils/languages/__pycache__/nl.cpython-39.pyc,, +docutils/languages/__pycache__/pl.cpython-39.pyc,, +docutils/languages/__pycache__/pt_br.cpython-39.pyc,, +docutils/languages/__pycache__/ru.cpython-39.pyc,, +docutils/languages/__pycache__/sk.cpython-39.pyc,, +docutils/languages/__pycache__/sv.cpython-39.pyc,, +docutils/languages/__pycache__/uk.cpython-39.pyc,, +docutils/languages/__pycache__/zh_cn.cpython-39.pyc,, +docutils/languages/__pycache__/zh_tw.cpython-39.pyc,, +docutils/languages/af.py,sha256=bjIWD_cNZAyZ9XIqqEoQaSljWlvP0vrQi8p8Fu9Nj2o,1831 +docutils/languages/ar.py,sha256=3FRbb0CSpXPHSQru96bqPDGGEdcnWhQIUG_ndpmacfg,1943 +docutils/languages/ca.py,sha256=b98Y79DEl88Jt2IZsKaH1OaJlC9W5khQcOV71Tvwpj0,2085 +docutils/languages/cs.py,sha256=qkEwPMKaPgw3D4qKCJoGXfDczIA3Wju8joBobn5hMvg,1832 +docutils/languages/da.py,sha256=1db0GiWS2YYOIqWru9BGeun7E3c-lwAgCWA6epn6KH4,1856 +docutils/languages/de.py,sha256=oaGzlhKsE4yFKTnCKrZt8nMnwZGqQ-PDT92UgUwRYzs,1728 +docutils/languages/en.py,sha256=MOTXOluYEnUwSHRlkINnBXMI8sbIfGahXF8RLws4NSk,1854 +docutils/languages/eo.py,sha256=p-wQOrAdL9tQ-89OT8A1VS8sO0OjogmPXRBAoihaAc0,1895 +docutils/languages/es.py,sha256=Jf81tKn_FJ7Kieozten6hn8WjVnYpZ9vsu4N6ER4O1s,1854 +docutils/languages/fa.py,sha256=dXhN7qZnzv1ksnR0Yb5LrSgNLwXy387ILj90v5iHHHM,1958 +docutils/languages/fi.py,sha256=34cPWxDFZXBnOw5LWENSIKaFqFLxZOc6vIioLLnS2do,1892 +docutils/languages/fr.py,sha256=zIPQD7UdOx3FPIBgIAT_mWNk4dped04jK8No2kI1Zic,1799 +docutils/languages/gl.py,sha256=Hz30Wfc-CMuGxKoHzPtY2Wdn-A6tFyvirnnFGZdZ_04,1958 +docutils/languages/he.py,sha256=eHyDSLwp6Y55GyHlgr8yMOkR-gxSgk7Ge8gfsm5n_Io,1878 +docutils/languages/it.py,sha256=aqmXdit3DYMhnke5MmyQIAVfCcrFuKzWmv0L5H06AI8,1814 +docutils/languages/ja.py,sha256=8C-hjqB7fa_Asa-uKKKkHRqT6NTjO3IJiiks6JADJNU,1890 +docutils/languages/ka.py,sha256=aqqIgkJyhLg3FOYWuhBhYDgzAj_nos9WwEQqI-eUcwg,2429 +docutils/languages/ko.py,sha256=eqKib7kW6h8DKg6inoXAtJa3f8FygdT37eGqiMifzZU,1832 +docutils/languages/lt.py,sha256=ixPG61Q2xB6J0uk0TXTXDwfKcEQgqIYC9Tc4VrBMQEY,1919 +docutils/languages/lv.py,sha256=pSZ7y94j6YWKLz4U16uBVwZsgKpd4jWkvcAgwmkDjv0,1851 +docutils/languages/nl.py,sha256=LKV2Hkuh0kH17w_ukZoAtTIlvWSo5iC3g7nPFDHoDDY,1871 +docutils/languages/pl.py,sha256=zyW9iwwriTX8YIGbT54DKgvkdyfiPxm49R0e2eIBxKE,1830 +docutils/languages/pt_br.py,sha256=navcDOoMajIE3yqibn7NPEIf-_oF15ECBWk4beMY3Zw,1865 +docutils/languages/ru.py,sha256=BAQA-1TZEeHpK44L_Os9V-WKUBt9lPApRl1nFM1zOhw,2070 +docutils/languages/sk.py,sha256=r-vrXCNGbDqFXAxM9WpRaH-ws1KumaIb1yramTTlmlI,1788 +docutils/languages/sv.py,sha256=bmJkUSdVn_j8s_P_Nu4KGBM2F42Og7sFzMNH238eKtQ,1908 +docutils/languages/uk.py,sha256=abLYoA0w2pJWlGLBglvUvEnGrhAVgbRyDEmlwV5ntxQ,2062 +docutils/languages/zh_cn.py,sha256=7nOmSfLgrb3Zq-xImQEN4-My6NqHZVat7GoMbpijVn4,1852 +docutils/languages/zh_tw.py,sha256=KJS8-gHwJVUdW7NOjgJQPb6iWkXtBWTT0JrRBV7BYTU,2112 +docutils/nodes.py,sha256=psy0zIro734Gsk7PGIqWqx0Ax_5AB0mBHC0J4KYduHo,80628 +docutils/parsers/__init__.py,sha256=NenSsWynQ-HU858BTDg0dMIX7ErS_qrAJot8KdtHyiU,3724 +docutils/parsers/__pycache__/__init__.cpython-39.pyc,, +docutils/parsers/__pycache__/commonmark_wrapper.cpython-39.pyc,, +docutils/parsers/__pycache__/null.cpython-39.pyc,, +docutils/parsers/__pycache__/recommonmark_wrapper.cpython-39.pyc,, +docutils/parsers/commonmark_wrapper.py,sha256=UcBtp5AcOSQRq-0-UsSZcnFMWa14TULD8kayhp4A0eY,1762 +docutils/parsers/null.py,sha256=LtO7n-E6lNOs4mLXZ2SiShB3C630SoJ80ugd9fh1vXI,445 +docutils/parsers/recommonmark_wrapper.py,sha256=SbFSCvBeQRH-fDQczHgK2qF_HwZ3gQsJx_CY2txX43s,5426 +docutils/parsers/rst/__init__.py,sha256=EydGQTcJeAmJQbCwPEFk77kA7Nio-Vqs7R0NMNkcb_s,15954 +docutils/parsers/rst/__pycache__/__init__.cpython-39.pyc,, +docutils/parsers/rst/__pycache__/roles.cpython-39.pyc,, +docutils/parsers/rst/__pycache__/states.cpython-39.pyc,, +docutils/parsers/rst/__pycache__/tableparser.cpython-39.pyc,, +docutils/parsers/rst/directives/__init__.py,sha256=82wwJQW7spmBVtko7E-a62LUXYfATJg3hSl6CZNrUus,14812 +docutils/parsers/rst/directives/__pycache__/__init__.cpython-39.pyc,, +docutils/parsers/rst/directives/__pycache__/admonitions.cpython-39.pyc,, +docutils/parsers/rst/directives/__pycache__/body.cpython-39.pyc,, +docutils/parsers/rst/directives/__pycache__/html.cpython-39.pyc,, +docutils/parsers/rst/directives/__pycache__/images.cpython-39.pyc,, +docutils/parsers/rst/directives/__pycache__/misc.cpython-39.pyc,, +docutils/parsers/rst/directives/__pycache__/parts.cpython-39.pyc,, +docutils/parsers/rst/directives/__pycache__/references.cpython-39.pyc,, +docutils/parsers/rst/directives/__pycache__/tables.cpython-39.pyc,, +docutils/parsers/rst/directives/admonitions.py,sha256=44OwQdPrDKD5VnCd-pPFtEzJs3U1uF-MeS3iWMmCWwU,2526 +docutils/parsers/rst/directives/body.py,sha256=lRClR4ljNiXntJfojN0HcaNpqH1m2GpwsOMS3JVNJK8,9939 +docutils/parsers/rst/directives/html.py,sha256=adxIFdnOHpqH0QSeXT7utBSy7FKWV0x18zbnXtmmuhs,695 +docutils/parsers/rst/directives/images.py,sha256=amQeXFb31hHlyjf15vgF2Sfe3OGCGzLaZAHxfsWSmOw,7265 +docutils/parsers/rst/directives/misc.py,sha256=9mc7erT0KvKHWR4_i5Uz2FhBk2pLd36fMCabyF2ClLA,26700 +docutils/parsers/rst/directives/parts.py,sha256=m5YOwZoPawR6I-Y3Q7CN9wGUzWmXa9v-Hvglh2E5ffQ,4247 +docutils/parsers/rst/directives/references.py,sha256=1Y1yhe_O2PqLtQUSly-ny291nrQKJgQiO4Hu7Xew9Zo,831 +docutils/parsers/rst/directives/tables.py,sha256=PRwO-lA1I93JAXR7qGDQ6n2cT5UYA8JQHdymHOdLFdg,23470 +docutils/parsers/rst/include/README.txt,sha256=R3Y-9wDzYQ0jOhj9FAlwG6hRRhHcEWOZcn2hMF1DeVg,670 +docutils/parsers/rst/include/isoamsa.txt,sha256=ZqGuK-R-yIxa2YDSREt48DFxc8fpF-HX51eiCKXCPp4,10925 +docutils/parsers/rst/include/isoamsb.txt,sha256=3CK8um9WjhPMVgEAbeI16rk91IzWqWXFbRJC44InP3A,7242 +docutils/parsers/rst/include/isoamsc.txt,sha256=XCI2ubAKaO-eOQj87hbBMeYpkqHvc2b2daUCS9ekUzU,1723 +docutils/parsers/rst/include/isoamsn.txt,sha256=Wx54SjZGeYVEB3oNnRi7eGYHEjROZiBUFhQAQDxcVMQ,6721 +docutils/parsers/rst/include/isoamso.txt,sha256=RFxHs5s8DtMgvDaeArmwnSZP_QN20KssvW5f6KMohYA,3825 +docutils/parsers/rst/include/isoamsr.txt,sha256=TLH3gNugqSX3-tH6gDNcgIgbGiKe_GukwZ8U1MIeJCQ,11763 +docutils/parsers/rst/include/isobox.txt,sha256=NORZqqDIewr0-CPoVWqVfTbCVrGZOqY87Crn8O4OUoo,3101 +docutils/parsers/rst/include/isocyr1.txt,sha256=B2DWWIEZ8aJ-scOBP9pbrsKYEmnNF8VZ9e9Mut2MZzU,4241 +docutils/parsers/rst/include/isocyr2.txt,sha256=t52cY0R-9bnkWiQPXW1NYDzO4ueE6ogUF9Ho4ARHg7Q,1882 +docutils/parsers/rst/include/isodia.txt,sha256=VMg8jI2IQogISrpiTS3L88TntxiMfS0cElsrpxZ1FAI,869 +docutils/parsers/rst/include/isogrk1.txt,sha256=DkJc-K_nTh-WDhfOQIRMdQ4aUnsYKb_etyEEJfU8SG4,3010 +docutils/parsers/rst/include/isogrk2.txt,sha256=0x8w_DgroVISgsTLUOuyLZNzDLThcnti27T7T7DxL7g,1705 +docutils/parsers/rst/include/isogrk3.txt,sha256=8b7gQSKtw4yhLEVMZ6vH8VaToiZMM2_kD2snlqfeIQE,2880 +docutils/parsers/rst/include/isogrk4-wide.txt,sha256=RAdw43c5ZAUBWu8MO_lJDmXVV0cGHhVrky0H_bq1eEs,3035 +docutils/parsers/rst/include/isogrk4.txt,sha256=FQxEZAJu2d_RX3G3PfHm6JlC_1osHQoheFA886MLeQk,372 +docutils/parsers/rst/include/isolat1.txt,sha256=d4dBGSPosghudIhZfMPNzsBJKvH1nyVyi6m5p0oW_HY,4397 +docutils/parsers/rst/include/isolat2.txt,sha256=2RMWwHB9djHvsdnKSv2dSNHlBc50P0JYF1DRcK3HW8s,8466 +docutils/parsers/rst/include/isomfrk-wide.txt,sha256=RsYrcq3mX-CMuV6oijCIfUTnUe8Z6w0PG0ephU9isBM,3334 +docutils/parsers/rst/include/isomfrk.txt,sha256=Y40ZXO1GLLzHezKEJJ8w8OBFtHGwtdjErI_062abwC4,519 +docutils/parsers/rst/include/isomopf-wide.txt,sha256=nrhNkzw15HdEA-Gf8T7yatCbs5b7z7q7T6SCTNLByJw,1931 +docutils/parsers/rst/include/isomopf.txt,sha256=l9rTXrdZWf2RchhPr4Oi2M-4yZYLtVH-7kdOmCPzY_M,639 +docutils/parsers/rst/include/isomscr-wide.txt,sha256=VNfKzET1n08k2PUeK9UeDamgP0j8iKpaorregQbaP3w,3231 +docutils/parsers/rst/include/isomscr.txt,sha256=EBWiVvLZYhm9e2c5i7T4Ur6i1WODl_BLiHjcWA_C45g,776 +docutils/parsers/rst/include/isonum.txt,sha256=yg4P9UxBM-72JRGkB4KVdjmRPyBWLvkOlkelh8quDzc,4066 +docutils/parsers/rst/include/isopub.txt,sha256=BFkr5rRRFuYM7a19WPP7lfBpUKftkYKZjnM2SHLtzwY,4613 +docutils/parsers/rst/include/isotech.txt,sha256=2WGt7TSBeRMr2m2DBlY-xiVjxeiNXdTZJb1DJdtgYKg,9726 +docutils/parsers/rst/include/mmlalias.txt,sha256=jQ4IbZwZAJ9rXmb7De77DYgdIlMsWA-s8uZf42EYtFU,45428 +docutils/parsers/rst/include/mmlextra-wide.txt,sha256=Myj4APWltVYohIK7f1v8urJuDVT2_I_U7rasnBCTsYY,9010 +docutils/parsers/rst/include/mmlextra.txt,sha256=DfWtgBA6Bn4TzlZokxTu5vp7zIf1hqUeaeGpYbfHSAg,6800 +docutils/parsers/rst/include/s5defs.txt,sha256=_5JOMpDtaufiZbdxh6QKpICqLvGpB9cypHM-SEt3sKA,1036 +docutils/parsers/rst/include/xhtml1-lat1.txt,sha256=ht_IZrejaCfgG95sfLNfCu1WAzU4LwpkWgzRbZ_6OA4,6112 +docutils/parsers/rst/include/xhtml1-special.txt,sha256=u4YARKjTrICRTtqlMDDOmpYR8xe-DKDRiNjzmXQs7gc,1945 +docutils/parsers/rst/include/xhtml1-symbol.txt,sha256=e6GP5rkmSNcXusRBJkKf2LSbSEyd1oFXJG_WBCYBKE8,7028 +docutils/parsers/rst/languages/__init__.py,sha256=bAE-YQUQ95QwYJVPnWcjz5bw6LOfW5Pgbhwmwp01-OY,1222 +docutils/parsers/rst/languages/__pycache__/__init__.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/af.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/ar.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/ca.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/cs.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/da.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/de.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/en.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/eo.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/es.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/fa.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/fi.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/fr.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/gl.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/he.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/it.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/ja.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/ka.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/ko.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/lt.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/lv.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/nl.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/pl.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/pt_br.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/ru.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/sk.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/sv.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/uk.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/zh_cn.cpython-39.pyc,, +docutils/parsers/rst/languages/__pycache__/zh_tw.cpython-39.pyc,, +docutils/parsers/rst/languages/af.py,sha256=MYGuM5yX_bx83imYLMJreUelpx3c1fcMmLhEu5tyQQI,3760 +docutils/parsers/rst/languages/ar.py,sha256=XpIY3SM10ccvFrO_j__REi_ITvLxSmGuf_y0Dc-Z_-g,3051 +docutils/parsers/rst/languages/ca.py,sha256=atmy4uqx3eVNvnKJwD0HuY0JSRG7uJfo7-AXrRgWg9g,4318 +docutils/parsers/rst/languages/cs.py,sha256=UXKr7zpl6UY31mBtCaNF-FBSsGVvWC59dx7KkwnIbTk,4760 +docutils/parsers/rst/languages/da.py,sha256=tQfxUwhlJohtnfKscjY0PUnwDYF2M-6Tu08EcXy7c6Q,3752 +docutils/parsers/rst/languages/de.py,sha256=nTIYDpKgOf28OJkcJbnuRvTOeLG6nDkfXDwW-MJV3Ls,3564 +docutils/parsers/rst/languages/en.py,sha256=9dmxPb_sYYsY4vEg8B_IBGQhEytcRvXtp5iOrzwmaHI,3516 +docutils/parsers/rst/languages/eo.py,sha256=ozUCNH5zKhnmYXxd5nZRu3TmF_aVeCAVzSLleRJWDf8,3751 +docutils/parsers/rst/languages/es.py,sha256=gFFm2EwAtAZOJUQLk03QUQdV0E7DKnct0amy6gpaNs4,4034 +docutils/parsers/rst/languages/fa.py,sha256=fap5ifAVKvqHGo3S2_G4mMrA8fvOiQ3BPi4z8Zlf94M,3171 +docutils/parsers/rst/languages/fi.py,sha256=xsxxUTOqVj1P1XkCQsPPkI-p1-ELE0QwMA9Oy-QPDHg,3536 +docutils/parsers/rst/languages/fr.py,sha256=V9_k_lbLkBSWuAbNeW2l4_Bv4EzaK4Dbwih0fJYIi0U,3816 +docutils/parsers/rst/languages/gl.py,sha256=v-zXIwcRYxgu8mZJmlexv73pMtwWlSB4yGVcYeENQP4,3389 +docutils/parsers/rst/languages/he.py,sha256=_UHQHJQx7EAGvMlURHJ8kDk_tcG1uv-7eTl7a4XEGgU,3293 +docutils/parsers/rst/languages/it.py,sha256=ZR4TsyM3611ASRQelyA7rx0zjUgMVM6gzrym6Bqrj40,3353 +docutils/parsers/rst/languages/ja.py,sha256=_PlI9H5u300_VlYvW52UvSy_MJ5OLlMmoNo1Pc6Pib8,3776 +docutils/parsers/rst/languages/ka.py,sha256=Xxv37fZnLqIbo1vmT1--Kj7etRxlKPgHcgfgiBvn9Xk,4141 +docutils/parsers/rst/languages/ko.py,sha256=IpSyXjTkoij0C7859i1p0iSgz9BQYpdF3fNTS6qcQ1A,3377 +docutils/parsers/rst/languages/lt.py,sha256=PHzrQAP-ZAcboCyc1jvHI5l0CMQnrbBEZ285MWJVy9w,3519 +docutils/parsers/rst/languages/lv.py,sha256=pfTCSDtQkOWYVTnTFjWhUZpnJJW7yuNzVW9xvBgP_u4,3376 +docutils/parsers/rst/languages/nl.py,sha256=dQ2Hex8oQS8f075B6nWZjeSQ0Rzjnl87oS8LauqBe1Y,3794 +docutils/parsers/rst/languages/pl.py,sha256=TRNum6wVR2XQY_Y_uhKqXNHdTBeaYgXwWaqokBaO-N0,3240 +docutils/parsers/rst/languages/pt_br.py,sha256=-cFMXIp8_6cryE7Q7smlElf4QegPqjmDRya8VxM1CQQ,3870 +docutils/parsers/rst/languages/ru.py,sha256=t5K4rlNKIcoOchVeC68sjJ8mr0Cox_BeyCvb1MDm9tQ,3398 +docutils/parsers/rst/languages/sk.py,sha256=HSdFwU6j9rZShkXyGPBc749TrUUB7tBSz-aw0f4UAzs,3943 +docutils/parsers/rst/languages/sv.py,sha256=HxyE3k93qgJw-aD6Ea3Tmfqz3QX1Q7AJIaU65MrkJxc,3261 +docutils/parsers/rst/languages/uk.py,sha256=LBUHWeKwFdEjfif4CG7LtMhBidl4ln6u4oStJ2omVsQ,3441 +docutils/parsers/rst/languages/zh_cn.py,sha256=YEC3UmY43NaI7s_6DatL_VQugiHvSUbBrHubgnMfYbI,3925 +docutils/parsers/rst/languages/zh_tw.py,sha256=icmm58W9wO69L6p5dwTQwjj45uxer2ZrJCqvBbERnkQ,5160 +docutils/parsers/rst/roles.py,sha256=GLJVffa-S_Fn3u6RTxdXJm1MXd1AQ7IxbCq99MmxIzQ,16119 +docutils/parsers/rst/states.py,sha256=ziKtByqhX2TAjRg4cOgGyQ6729W6gmVuaUUMKwKtf1k,133123 +docutils/parsers/rst/tableparser.py,sha256=D2jtx00mTdHsn20TKk9GJmCilwISeKHe9VoSy8PYELs,20912 +docutils/readers/__init__.py,sha256=rgBQZvedeYA8UZb2pYKoKqYWAjvUi8ZrzG1kANjnwC4,3520 +docutils/readers/__pycache__/__init__.cpython-39.pyc,, +docutils/readers/__pycache__/doctree.cpython-39.pyc,, +docutils/readers/__pycache__/pep.cpython-39.pyc,, +docutils/readers/__pycache__/standalone.cpython-39.pyc,, +docutils/readers/doctree.py,sha256=9QNTk_8x46sDkcSjzQiyFZxN-m9CBO3XA5bLar7OA0Q,1607 +docutils/readers/pep.py,sha256=m5RnOjKfMnmwHXU8vsr0HfZlqcqH2Yn4MXspjLO0GYE,1523 +docutils/readers/standalone.py,sha256=qwVRPiBto5CvE3m-2sZ2a2btlVl8aSbT4J_z7uIr3yM,2334 +docutils/statemachine.py,sha256=fKzVodfw6BEZQf4HquXfpBfNR8N5E8uzVeDoJA5eFRw,56956 +docutils/transforms/__init__.py,sha256=LTftDJ01XJReLdKMyuJrB_ImFr0fHOaZGqzE1VnXg9c,6968 +docutils/transforms/__pycache__/__init__.cpython-39.pyc,, +docutils/transforms/__pycache__/components.cpython-39.pyc,, +docutils/transforms/__pycache__/frontmatter.cpython-39.pyc,, +docutils/transforms/__pycache__/misc.cpython-39.pyc,, +docutils/transforms/__pycache__/parts.cpython-39.pyc,, +docutils/transforms/__pycache__/peps.cpython-39.pyc,, +docutils/transforms/__pycache__/references.cpython-39.pyc,, +docutils/transforms/__pycache__/universal.cpython-39.pyc,, +docutils/transforms/__pycache__/writer_aux.cpython-39.pyc,, +docutils/transforms/components.py,sha256=4qO1txFE98PJa4tqKCpnlnQi_UIEQDU4mMVuzwgqizY,2151 +docutils/transforms/frontmatter.py,sha256=zgWHDRBnv1Flv1Ddq5xEK6KmmGSgRyBwOzOHT8TfOAk,20809 +docutils/transforms/misc.py,sha256=BhyjLyE8j5QRELg7CcT0hEwdvnUJugUqQYyckzXDlh0,4873 +docutils/transforms/parts.py,sha256=Z_72Wf2oqchCcTIPTOgBVS1auAtA7POwJww1EaoeQPk,6912 +docutils/transforms/peps.py,sha256=7TMhgwqyopkuUetITpsByN-t0ZT8bXJOqaClUwliF0U,11111 +docutils/transforms/references.py,sha256=fhgJ6KDifnAFtPZHw6srdH76A5cepjfejzSKNF_2McA,36821 +docutils/transforms/universal.py,sha256=mhJkmCIhYQFqBAzitGyskSjGTYCwAyvSQzld6p5aLEE,12381 +docutils/transforms/writer_aux.py,sha256=G_XXqiAcSqWnFJKWRhQ8oE0jWcZPjLjyW2QBThE1Xes,3057 +docutils/utils/__init__.py,sha256=8G-da95eq3Ka72X1U0vAgNR4UZJYzS2t4o_MpfnN5c0,30381 +docutils/utils/__pycache__/__init__.cpython-39.pyc,, +docutils/utils/__pycache__/code_analyzer.cpython-39.pyc,, +docutils/utils/__pycache__/error_reporting.cpython-39.pyc,, +docutils/utils/__pycache__/punctuation_chars.cpython-39.pyc,, +docutils/utils/__pycache__/roman.cpython-39.pyc,, +docutils/utils/__pycache__/smartquotes.cpython-39.pyc,, +docutils/utils/__pycache__/urischemes.cpython-39.pyc,, +docutils/utils/code_analyzer.py,sha256=O6eUnWPYyZFXtTtk-NuNVv4k7L9sb5BJGIjacSZT4Tw,4920 +docutils/utils/error_reporting.py,sha256=vjHvpHu0BSoE2Ltm4FyYfLUsV5VWAjBbRoniWrJ7CR8,8105 +docutils/utils/math/__init__.py,sha256=DgTt07qT_uN2-9Tz8HNKkRqw5P3KIj81VurrJ2J_Omw,2553 +docutils/utils/math/__pycache__/__init__.cpython-39.pyc,, +docutils/utils/math/__pycache__/latex2mathml.cpython-39.pyc,, +docutils/utils/math/__pycache__/math2html.cpython-39.pyc,, +docutils/utils/math/__pycache__/mathalphabet2unichar.cpython-39.pyc,, +docutils/utils/math/__pycache__/mathml_elements.cpython-39.pyc,, +docutils/utils/math/__pycache__/tex2mathml_extern.cpython-39.pyc,, +docutils/utils/math/__pycache__/tex2unichar.cpython-39.pyc,, +docutils/utils/math/__pycache__/unichar2tex.cpython-39.pyc,, +docutils/utils/math/latex2mathml.py,sha256=ELwAGaYg4kx2E7_AE_rSSSZFID4QMIV8sPAIQ2PsdVE,46961 +docutils/utils/math/math2html.py,sha256=VfZ1ceFmNKu4yvF72j4xsgH_cjtOkeCevPC3UYw4enQ,107808 +docutils/utils/math/mathalphabet2unichar.py,sha256=bsgWbE09bIyXfME-TyCms-0fesWVoxXMErQVVeYOoSo,56217 +docutils/utils/math/mathml_elements.py,sha256=zMoCC2KnjAxmSGu4ZUtCZAEuyWme80pCPTn66E44gcY,14564 +docutils/utils/math/tex2mathml_extern.py,sha256=lo4n8GFXWcpe-yw8TPPahzHfhXU9_jv2oo-Sm_TasE4,9436 +docutils/utils/math/tex2unichar.py,sha256=_A2K7ap6o6cb1LY9qCYtsfP-zk5eeu_Hu6LIl6j7LnA,37497 +docutils/utils/math/unichar2tex.py,sha256=Q1gvqUGWprAjMfpGfujAu4ldjJevoFG2moM46SWy6WU,18393 +docutils/utils/punctuation_chars.py,sha256=OMY7gEwy_TIo1MnjZ9cnT3wA9LmSApldJ3lSJZbEtuE,5747 +docutils/utils/roman.py,sha256=JCF_zBcbauEuVvDPuNTR1ZBxFgyNEUr6jZ2JwZwnQ9A,4280 +docutils/utils/smartquotes.py,sha256=KW27gHCkAhgDCdKisPbAu85yJjc0j2FcssSwzvPlCCI,39136 +docutils/utils/urischemes.py,sha256=5dcLKn-Xo5ldDCcdTtO7l8UM_Y3KZrcjyR3A8RWp91U,6260 +docutils/writers/__init__.py,sha256=sJuZewwKkiJHl0VkAtx-geKluXhd_34H9o3sg4Yp4AU,4945 +docutils/writers/__pycache__/__init__.cpython-39.pyc,, +docutils/writers/__pycache__/_html_base.cpython-39.pyc,, +docutils/writers/__pycache__/docutils_xml.cpython-39.pyc,, +docutils/writers/__pycache__/manpage.cpython-39.pyc,, +docutils/writers/__pycache__/null.cpython-39.pyc,, +docutils/writers/__pycache__/pseudoxml.cpython-39.pyc,, +docutils/writers/_html_base.py,sha256=pQqROc1bBMw_ozqT7T8jNtkHh7F7EWcxZUAbLDIvMrY,75401 +docutils/writers/docutils_xml.py,sha256=wi786IvTZqbojdiIxx-vZWS76BE0cUYJQ5RSqfJnkXc,6851 +docutils/writers/html4css1/__init__.py,sha256=KkCwD339fBkAsvUpO448_i2YcSyZ04bloCTr932wTJ8,38125 +docutils/writers/html4css1/__pycache__/__init__.cpython-39.pyc,, +docutils/writers/html4css1/html4css1.css,sha256=-Uk0s5gu8-k8f4f34R-bSIpcSzqkVGa5JN6FGSh7QbY,7300 +docutils/writers/html4css1/template.txt,sha256=HDzUUyAv7gT4ewGQTqfOE2_9HOVyGu9-wCRgsmoCmjQ,114 +docutils/writers/html5_polyglot/__init__.py,sha256=9wqpd5R89Ewug52mD3g_9tGhyIr5dSEv0vLC0oA8ZOw,15635 +docutils/writers/html5_polyglot/__pycache__/__init__.cpython-39.pyc,, +docutils/writers/html5_polyglot/italic-field-names.css,sha256=R9vxBFOn5NiQXWOLpghskCrn0RzMQEXy6w4EDDSNPXs,1145 +docutils/writers/html5_polyglot/math.css,sha256=eKRtxtJvYDzuQybRk6Ln_k9tr6TCoFhNqek40C9ErdM,6219 +docutils/writers/html5_polyglot/minimal.css,sha256=w78WllgDmLFNc-PwZRiD5_fhYB0zxAq7mGSh3c94TNM,8213 +docutils/writers/html5_polyglot/plain.css,sha256=-UeuH9qUxiAlETSiNjEm4Q1vAtpxD0QWwtN81pVo31Y,7552 +docutils/writers/html5_polyglot/responsive.css,sha256=PYhXgdnYR9hfGobvUMxi8OSPGr-KQUd2ucubuBRm5qg,11739 +docutils/writers/html5_polyglot/template.txt,sha256=HDzUUyAv7gT4ewGQTqfOE2_9HOVyGu9-wCRgsmoCmjQ,114 +docutils/writers/html5_polyglot/tuftig.css,sha256=ACotB-KbCWzGsanW1GncNwgMxa21vapRaAtv-NKdh8M,12023 +docutils/writers/latex2e/__init__.py,sha256=xs566hs7lq1MEteKh3PhCVj7jGdW3ivB_WNlrQ5pHVY,138165 +docutils/writers/latex2e/__pycache__/__init__.cpython-39.pyc,, +docutils/writers/latex2e/default.tex,sha256=JcaJnrdmKE9vqwATl9dSHOsnGnjF2dLX4vsiu7kvWEI,422 +docutils/writers/latex2e/docutils.sty,sha256=dgnu97-E5w_rOrdaKBYAw_PwnMKASOFLXV08k17DABQ,5472 +docutils/writers/latex2e/titlepage.tex,sha256=ampRiXY22vtJ22UPMv61mmPubJPItdrSkl9MSAOftpQ,480 +docutils/writers/latex2e/titlingpage.tex,sha256=Pa9ixIf9Yy6RLljbTPUEgmrQwRzYsyzrxl4KSrHA37E,424 +docutils/writers/latex2e/xelatex.tex,sha256=NbrtTphygnEaTmyJEz5HwkNuWCbV1ijlh_1M7_TXLu0,672 +docutils/writers/manpage.py,sha256=REpVzDREXjLJ8ChcBpzbk3Wv8MJ45QWJuPRLB7s5nt8,38128 +docutils/writers/null.py,sha256=Ue7kizk6_1GGrCmYiltg9MrYNetMyHM-yvQvNRrclN8,568 +docutils/writers/odf_odt/__init__.py,sha256=uW_W6F_zMdbcqEmo4swfou2elk4XG-ShZusngP1acS4,132081 +docutils/writers/odf_odt/__pycache__/__init__.cpython-39.pyc,, +docutils/writers/odf_odt/__pycache__/prepstyles.cpython-39.pyc,, +docutils/writers/odf_odt/__pycache__/pygmentsformatter.cpython-39.pyc,, +docutils/writers/odf_odt/prepstyles.py,sha256=XwC29yEYGKpNATr5yuGJH_WYkPBBUAkVr8fLaMEo6Yo,2142 +docutils/writers/odf_odt/pygmentsformatter.py,sha256=j1fMQPdv5fdczPkSKbyYjoh66G8Z_MZhTN52_XfRhHc,4681 +docutils/writers/odf_odt/styles.odt,sha256=xKv9z2sd1qNxAH28X-5st5JuDZeTw6jyDOxXohsFrKY,16500 +docutils/writers/pep_html/__init__.py,sha256=mrApLw1JROL32XM-eXrDjYnQq_DTS3_KqTNOEoiD55k,3503 +docutils/writers/pep_html/__pycache__/__init__.cpython-39.pyc,, +docutils/writers/pep_html/pep.css,sha256=AyHZfudmKKTu-ZmyoLaihM_e5bD3_gCO51hG_NPEDA8,6367 +docutils/writers/pep_html/template.txt,sha256=SPc44ICSNgps08fDtVaRlu6glPPwcCcx9mqybx5u6W4,1001 +docutils/writers/pseudoxml.py,sha256=gjnBxBIXYNdnQYt_XTXljV3fcp9dW1Ek0LE5VkGIvJk,1032 +docutils/writers/s5_html/__init__.py,sha256=UahNZB0U6WSRb3jR6x1MXy4A4ud2bd8lduqG9Nn5Vao,14712 +docutils/writers/s5_html/__pycache__/__init__.cpython-39.pyc,, +docutils/writers/s5_html/themes/README.txt,sha256=wYnu3iomgGD6odpZOtWTzOynI1dfIGE6AVF1MDR0FVY,278 +docutils/writers/s5_html/themes/big-black/__base__,sha256=WeKnChXCPkrXDs7Xr-Qnf1i-bgFjkeaKJ-ilXV0R5lM,38 +docutils/writers/s5_html/themes/big-black/framing.css,sha256=DtEo7Fti9JARMLmcCx0NIfir7QRR24_WN3UbG-EyH64,910 +docutils/writers/s5_html/themes/big-black/pretty.css,sha256=UP9r7eGX0qEFCIDyKcT5bcazMxCw43O2KSrs2ebBPwI,3605 +docutils/writers/s5_html/themes/big-white/framing.css,sha256=meBByeaKIduudfFCDxVw4uzSOj8q_ZJArnwp8oZ1S8g,905 +docutils/writers/s5_html/themes/big-white/pretty.css,sha256=RlQ7CZuN-WMrR8CmCeQ-U8WVmZj769z2zx2FfLwTS48,3565 +docutils/writers/s5_html/themes/default/framing.css,sha256=Sbh5wryeioxDMZ-kJFwzKNziO-3CRvLBMG7rcJjTLmU,1002 +docutils/writers/s5_html/themes/default/opera.css,sha256=guPZOg_BINv-LjV9_IAM7ILFQ-fKALNjlP1i06e5dmA,261 +docutils/writers/s5_html/themes/default/outline.css,sha256=z3ACJiW3_gnG8XFvX602PMTYvKhbRybqCeoWl3O_pA0,648 +docutils/writers/s5_html/themes/default/pretty.css,sha256=iT_51bIPLTk1hFFs3hCarnyJqtbB4I86BNrxlT1r3eo,4383 +docutils/writers/s5_html/themes/default/print.css,sha256=INhYRMsY7y2wd9p7tqjcDWBREXHUMO-2ApAWvITyetI,818 +docutils/writers/s5_html/themes/default/s5-core.css,sha256=D4WDPb581O-_G5jhzpAIwI88B1Zi8y3nWBB8rCxgzlg,450 +docutils/writers/s5_html/themes/default/slides.css,sha256=VKYQ1Oe8lZ8LHxzPqJiU79J0z295nkmIbzsXL-N_dfQ,283 +docutils/writers/s5_html/themes/default/slides.js,sha256=5BXUM5jSWu9hUQSVhGZhMTEvkdCYgqrOJO3ljwDgxWI,15801 +docutils/writers/s5_html/themes/medium-black/__base__,sha256=822LJG-LrdBZY6CA7wsLFCFzsYfxbyz2mr1j6rpb1UA,41 +docutils/writers/s5_html/themes/medium-black/pretty.css,sha256=OdL1xJ9f_FE1pmS7X0s0yxyIl1n2vUBQaGOcJrT2svg,4029 +docutils/writers/s5_html/themes/medium-white/framing.css,sha256=BF5YnRLGRhobO06xDet-0KZYpR10IgRjRbULPVm3PMM,943 +docutils/writers/s5_html/themes/medium-white/pretty.css,sha256=Zm-Pgk3SLAGmGTRF27nrqvpBb_LH2yQ5FIpDPM3p0Y0,3989 +docutils/writers/s5_html/themes/small-black/__base__,sha256=WmiB80z49RfMsy_7tFI042AfUgyztL5OXI3tap9EfQM,40 +docutils/writers/s5_html/themes/small-black/pretty.css,sha256=fmc73kx-zOp0jbiy4GAmpw2Xdz9Q_-WzebsgDJWUJos,4028 +docutils/writers/s5_html/themes/small-white/framing.css,sha256=qwNUgzqnrXgoX47SddbVIKEZwQDjGnTGA468jHHIXqc,940 +docutils/writers/s5_html/themes/small-white/pretty.css,sha256=qU8WOhY8TT6ZY6cXKXABb7T7JgpJQORzTZJhuAm0gGg,3999 +docutils/writers/xetex/__init__.py,sha256=o25hpaSPL9erEUe18GIzaVbP2QuYtjZ0SwSkDeXfZ6k,5736 +docutils/writers/xetex/__pycache__/__init__.cpython-39.pyc,, diff --git a/venv/Lib/site-packages/docutils-0.21.2.dist-info/WHEEL b/venv/Lib/site-packages/docutils-0.21.2.dist-info/WHEEL new file mode 100644 index 00000000..3b5e64b5 --- /dev/null +++ b/venv/Lib/site-packages/docutils-0.21.2.dist-info/WHEEL @@ -0,0 +1,4 @@ +Wheel-Version: 1.0 +Generator: flit 3.9.0 +Root-Is-Purelib: true +Tag: py3-none-any diff --git a/venv/Lib/site-packages/docutils-0.21.2.dist-info/entry_points.txt b/venv/Lib/site-packages/docutils-0.21.2.dist-info/entry_points.txt new file mode 100644 index 00000000..3e32d4e5 --- /dev/null +++ b/venv/Lib/site-packages/docutils-0.21.2.dist-info/entry_points.txt @@ -0,0 +1,13 @@ +[console_scripts] +docutils=docutils.__main__:main +rst2html=docutils.core:rst2html +rst2html4=docutils.core:rst2html4 +rst2html5=docutils.core:rst2html5 +rst2latex=docutils.core:rst2latex +rst2man=docutils.core:rst2man +rst2odt=docutils.core:rst2odt +rst2pseudoxml=docutils.core:rst2pseudoxml +rst2s5=docutils.core:rst2s5 +rst2xetex=docutils.core:rst2xetex +rst2xml=docutils.core:rst2xml + diff --git a/venv/Lib/site-packages/docutils/__init__.py b/venv/Lib/site-packages/docutils/__init__.py new file mode 100644 index 00000000..16af4108 --- /dev/null +++ b/venv/Lib/site-packages/docutils/__init__.py @@ -0,0 +1,291 @@ +# $Id: __init__.py 9649 2024-04-23 18:54:26Z grubert $ +# Author: David Goodger +# Copyright: This module has been placed in the public domain. + +""" +This is the Docutils (Python Documentation Utilities) package. + +Package Structure +================= + +Modules: + +- __init__.py: Contains component base classes, exception classes, and + Docutils version information. + +- core.py: Contains the ``Publisher`` class and ``publish_*()`` convenience + functions. + +- frontend.py: Runtime settings (command-line interface, configuration files) + processing, for Docutils front-ends. + +- io.py: Provides a uniform API for low-level input and output. + +- nodes.py: Docutils document tree (doctree) node class library. + +- statemachine.py: A finite state machine specialized for + regular-expression-based text filters. + +Subpackages: + +- languages: Language-specific mappings of terms. + +- parsers: Syntax-specific input parser modules or packages. + +- readers: Context-specific input handlers which understand the data + source and manage a parser. + +- transforms: Modules used by readers and writers to modify + the Docutils document tree. + +- utils: Contains the ``Reporter`` system warning class and miscellaneous + utilities used by readers, writers, and transforms. + + utils/urischemes.py: Contains a complete mapping of known URI addressing + scheme names to descriptions. + +- utils/math: Contains functions for conversion of mathematical notation + between different formats (LaTeX, MathML, text, ...). + +- writers: Format-specific output translators. +""" + +from collections import namedtuple + +__docformat__ = 'reStructuredText' + +__version__ = '0.21.2' +"""Docutils version identifier (complies with PEP 440):: + + major.minor[.micro][releaselevel[serial]][.dev] + +For version comparison operations, use `__version_info__` (see, below) +rather than parsing the text of `__version__`. + +https://docutils.sourceforge.io/docs/dev/policies.html#version-identification +""" + +__version_details__ = '' +"""Optional extra version details (e.g. 'snapshot 2005-05-29, r3410'). + +For development and release status, use `__version__ and `__version_info__`. +""" + + +class VersionInfo(namedtuple('VersionInfo', + 'major minor micro releaselevel serial release')): + + def __new__(cls, major=0, minor=0, micro=0, + releaselevel='final', serial=0, release=True): + releaselevels = ('alpha', 'beta', 'candidate', 'final') + if releaselevel not in releaselevels: + raise ValueError('releaselevel must be one of %r.' + % (releaselevels, )) + if releaselevel == 'final': + if not release: + raise ValueError('releaselevel "final" must not be used ' + 'with development versions (leads to wrong ' + 'version ordering of the related __version__') + # cf. https://peps.python.org/pep-0440/#summary-of-permitted-suffixes-and-relative-ordering # noqa + if serial != 0: + raise ValueError('"serial" must be 0 for final releases') + + return super().__new__(cls, major, minor, micro, + releaselevel, serial, release) + + def __lt__(self, other): + if isinstance(other, tuple): + other = VersionInfo(*other) + return tuple.__lt__(self, other) + + def __gt__(self, other): + if isinstance(other, tuple): + other = VersionInfo(*other) + return tuple.__gt__(self, other) + + def __le__(self, other): + if isinstance(other, tuple): + other = VersionInfo(*other) + return tuple.__le__(self, other) + + def __ge__(self, other): + if isinstance(other, tuple): + other = VersionInfo(*other) + return tuple.__ge__(self, other) + + +__version_info__ = VersionInfo( + major=0, + minor=21, + micro=2, + releaselevel='final', # one of 'alpha', 'beta', 'candidate', 'final' + serial=0, # pre-release number (0 for final releases and snapshots) + release=True # True for official releases and pre-releases + ) +"""Comprehensive version information tuple. + +https://docutils.sourceforge.io/docs/dev/policies.html#version-identification +""" + + +class ApplicationError(Exception): pass +class DataError(ApplicationError): pass + + +class SettingsSpec: + + """ + Runtime setting specification base class. + + SettingsSpec subclass objects used by `docutils.frontend.OptionParser`. + """ + + # TODO: replace settings_specs with a new data structure + # Backwards compatiblity: + # Drop-in components: + # Sphinx supplies settings_spec in the current format in some places + # Myst parser provides a settings_spec tuple + # + # Sphinx reads a settings_spec in order to set a default value + # in writers/html.py:59 + # https://github.com/sphinx-doc/sphinx/blob/4.x/sphinx/writers/html.py + # This should be changed (before retiring the old format) + # to use `settings_default_overrides` instead. + settings_spec = () + """Runtime settings specification. Override in subclasses. + + Defines runtime settings and associated command-line options, as used by + `docutils.frontend.OptionParser`. This is a tuple of: + + - Option group title (string or `None` which implies no group, just a list + of single options). + + - Description (string or `None`). + + - A sequence of option tuples. Each consists of: + + - Help text (string) + + - List of option strings (e.g. ``['-Q', '--quux']``). + + - Dictionary of keyword arguments sent to the OptionParser/OptionGroup + ``add_option`` method. + + Runtime setting names are derived implicitly from long option names + ('--a-setting' becomes ``settings.a_setting``) or explicitly from the + 'dest' keyword argument. + + Most settings will also have a 'validator' keyword & function. The + validator function validates setting values (from configuration files + and command-line option arguments) and converts them to appropriate + types. For example, the ``docutils.frontend.validate_boolean`` + function, **required by all boolean settings**, converts true values + ('1', 'on', 'yes', and 'true') to 1 and false values ('0', 'off', + 'no', 'false', and '') to 0. Validators need only be set once per + setting. See the `docutils.frontend.validate_*` functions. + + See the optparse docs for more details. + + - More triples of group title, description, options, as many times as + needed. Thus, `settings_spec` tuples can be simply concatenated. + """ + + settings_defaults = None + """A dictionary of defaults for settings not in `settings_spec` (internal + settings, intended to be inaccessible by command-line and config file). + Override in subclasses.""" + + settings_default_overrides = None + """A dictionary of auxiliary defaults, to override defaults for settings + defined in other components' `setting_specs`. Override in subclasses.""" + + relative_path_settings = () + """Settings containing filesystem paths. Override in subclasses. + Settings listed here are to be interpreted relative to the current working + directory.""" + + config_section = None + """The name of the config file section specific to this component + (lowercase, no brackets). Override in subclasses.""" + + config_section_dependencies = None + """A list of names of config file sections that are to be applied before + `config_section`, in order (from general to specific). In other words, + the settings in `config_section` are to be overlaid on top of the settings + from these sections. The "general" section is assumed implicitly. + Override in subclasses.""" + + +class TransformSpec: + """ + Runtime transform specification base class. + + Provides the interface to register "transforms" and helper functions + to resolve references with a `docutils.transforms.Transformer`. + + https://docutils.sourceforge.io/docs/ref/transforms.html + """ + + def get_transforms(self): + """Transforms required by this class. Override in subclasses.""" + if self.default_transforms != (): + import warnings + warnings.warn('TransformSpec: the "default_transforms" attribute ' + 'will be removed in Docutils 2.0.\n' + 'Use get_transforms() method instead.', + DeprecationWarning) + return list(self.default_transforms) + return [] + + # Deprecated; for compatibility. + default_transforms = () + + unknown_reference_resolvers = () + """List of functions to try to resolve unknown references. + + Unknown references have a 'refname' attribute which doesn't correspond + to any target in the document. Called when the transforms in + `docutils.transforms.references` are unable to find a correct target. + + The list should contain functions which will try to resolve unknown + references, with the following signature:: + + def reference_resolver(node): + '''Returns boolean: true if resolved, false if not.''' + + If the function is able to resolve the reference, it should also remove + the 'refname' attribute and mark the node as resolved:: + + del node['refname'] + node.resolved = 1 + + Each function must have a "priority" attribute which will affect the order + the unknown_reference_resolvers are run:: + + reference_resolver.priority = 100 + + This hook is provided for 3rd party extensions. + Example use case: the `MoinMoin - ReStructured Text Parser` + in ``sandbox/mmgilbe/rst.py``. + """ + + +class Component(SettingsSpec, TransformSpec): + + """Base class for Docutils components.""" + + component_type = None + """Name of the component type ('reader', 'parser', 'writer'). Override in + subclasses.""" + + supported = () + """Name and aliases for this component. Override in subclasses.""" + + def supports(self, format): + """ + Is `format` supported by this component? + + To be used by transforms to ask the dependent component if it supports + a certain input context or output format. + """ + return format in self.supported diff --git a/venv/Lib/site-packages/docutils/__main__.py b/venv/Lib/site-packages/docutils/__main__.py new file mode 100644 index 00000000..ce614891 --- /dev/null +++ b/venv/Lib/site-packages/docutils/__main__.py @@ -0,0 +1,96 @@ +#!/usr/bin/env python3 +# :Copyright: © 2020, 2022 Günter Milde. +# :License: Released under the terms of the `2-Clause BSD license`_, in short: +# +# Copying and distribution of this file, with or without modification, +# are permitted in any medium without royalty provided the copyright +# notice and this notice are preserved. +# This file is offered as-is, without any warranty. +# +# .. _2-Clause BSD license: https://opensource.org/licenses/BSD-2-Clause +# +# Revision: $Revision: 9107 $ +# Date: $Date: 2022-07-06 15:59:57 +0200 (Mi, 06. Jul 2022) $ + +"""Generic command line interface for the `docutils` package. + +See also +https://docs.python.org/3/library/__main__.html#main-py-in-python-packages +""" + +import argparse +import locale +import sys + +import docutils +from docutils.core import Publisher, publish_cmdline, default_description + + +class CliSettingsSpec(docutils.SettingsSpec): + """Runtime settings & command-line options for the generic CLI. + + Configurable reader, parser, and writer components. + + The "--writer" default will change to 'html' in Docutils 2.0 + when 'html' becomes an alias for the current value 'html5'. + """ + + settings_spec = ( + 'Docutils Application Options', + 'Reader, writer, and parser settings influence the available options. ' + ' Example: use `--help --writer=latex` to see LaTeX writer options. ', + # options: ('help text', [
    \n') + + def visit_field_list(self, node): + atts = {} + classes = node.setdefault('classes', []) + for i, cls in enumerate(classes): + if cls.startswith('field-indent-'): + try: + indent_length = length_or_percentage_or_unitless( + cls[13:], 'px') + except ValueError: + break + atts['style'] = '--field-indent: %s;' % indent_length + classes.pop(i) + break + classes.append('field-list') + if self.is_compactable(node): + classes.append('simple') + self.body.append(self.starttag(node, 'dl', **atts)) + + def depart_field_list(self, node): + self.body.append('\n') + + def visit_field(self, node): + # Insert children ( and ) directly. + # Transfer "id" attribute to the child node. + for child in node: + if isinstance(child, nodes.field_name): + child['ids'].extend(node['ids']) + + def depart_field(self, node): + pass + + # as field is ignored, pass class arguments to field-name and field-body: + def visit_field_name(self, node): + self.body.append(self.starttag(node, 'dt', '', + classes=node.parent['classes'])) + + def depart_field_name(self, node): + self.body.append(':\n') + + def visit_field_body(self, node): + self.body.append(self.starttag(node, 'dd', '', + classes=node.parent['classes'])) + # prevent misalignment of following content if the field is empty: + if not node.children: + self.body.append('

    ') + + def depart_field_body(self, node): + self.body.append('\n') + + def visit_figure(self, node): + atts = {'class': 'figure'} + if node.get('width'): + atts['style'] = 'width: %s' % node['width'] + if node.get('align'): + atts['class'] += " align-" + node['align'] + self.body.append(self.starttag(node, 'div', **atts)) + + def depart_figure(self, node): + self.body.append('\n') + + def visit_footer(self, node): + self.context.append(len(self.body)) + + def depart_footer(self, node): + start = self.context.pop() + footer = [self.starttag(node, 'div', CLASS='footer'), + '\n'] + footer.extend(self.body[start:]) + footer.append('\n\n') + self.footer.extend(footer) + self.body_suffix[:0] = footer + del self.body[start:] + + def visit_footnote(self, node): + # No native HTML element: use \n') + + def visit_footnote_reference(self, node): + href = '#' + node['refid'] + classes = [self.settings.footnote_references] + self.body.append(self.starttag(node, 'a', suffix='', classes=classes, + role='doc-noteref', href=href)) + self.body.append('[') + + def depart_footnote_reference(self, node): + self.body.append(']') + self.body.append('') + + # Docutils-generated text: put section numbers in a span for CSS styling: + def visit_generated(self, node): + if 'sectnum' in node['classes']: + # get section number (strip trailing no-break-spaces) + sectnum = node.astext().rstrip(' ') + self.body.append('%s ' + % self.encode(sectnum)) + # Content already processed: + raise nodes.SkipNode + + def depart_generated(self, node): + pass + + def visit_header(self, node): + self.context.append(len(self.body)) + + def depart_header(self, node): + start = self.context.pop() + header = [self.starttag(node, 'div', CLASS='header')] + header.extend(self.body[start:]) + header.append('\n
    \n\n') + self.body_prefix.extend(header) + self.header.extend(header) + del self.body[start:] + + def visit_image(self, node): + # reference/embed images (still images and videos) + uri = node['uri'] + alt = node.get('alt', uri) + mimetype = mimetypes.guess_type(uri)[0] + element = '' # the HTML element (including potential children) + atts = {} # attributes for the HTML tag + # alignment is handled by CSS rules + if 'align' in node: + atts['class'] = 'align-%s' % node['align'] + # set size with "style" attribute (more universal, accepts dimensions) + size_declaration = self.image_size(node) + if size_declaration: + atts['style'] = size_declaration + + # ``:loading:`` option (embed, link, lazy), default from setting, + # exception: only embed videos if told via directive option + loading = 'link' if mimetype in self.videotypes else self.image_loading + loading = node.get('loading', loading) + if loading == 'lazy': + atts['loading'] = 'lazy' + elif loading == 'embed': + try: + imagepath = self.uri2imagepath(uri) + with open(imagepath, 'rb') as imagefile: + imagedata = imagefile.read() + except (ValueError, OSError) as err: + self.messages.append(self.document.reporter.error( + f'Cannot embed image "{uri}":\n {err}', base_node=node)) + # TODO: get external files with urllib.request (cf. odtwriter)? + else: + self.settings.record_dependencies.add(imagepath) + if mimetype == 'image/svg+xml': + element = self.prepare_svg(node, imagedata, + size_declaration) + else: + data64 = base64.b64encode(imagedata).decode() + uri = f'data:{mimetype};base64,{data64}' + + # No newlines around inline images (but all images may be nested + # in a `reference` node which is a `TextElement` instance): + if (not isinstance(node.parent, nodes.TextElement) + or isinstance(node.parent, nodes.reference) + and not isinstance(node.parent.parent, nodes.TextElement)): + suffix = '\n' + else: + suffix = '' + + if mimetype in self.videotypes: + atts['title'] = alt + if 'controls' in node['classes']: + node['classes'].remove('controls') + atts['controls'] = 'controls' + element = (self.starttag(node, "video", suffix, src=uri, **atts) + + f'{alt}{suffix}' + + f'{suffix}') + elif mimetype == 'application/x-shockwave-flash': + atts['type'] = mimetype + element = (self.starttag(node, 'object', '', data=uri, **atts) + + f'{alt}{suffix}') + elif element: # embedded SVG, see above + element += suffix + else: + atts['alt'] = alt + element = self.emptytag(node, 'img', suffix, src=uri, **atts) + self.body.append(element) + if suffix: # block-element + self.report_messages(node) + + def depart_image(self, node): + pass + + def visit_inline(self, node): + self.body.append(self.starttag(node, 'span', '')) + + def depart_inline(self, node): + self.body.append('') + + # footnote and citation labels: + def visit_label(self, node): + self.body.append('') + self.body.append('[') + # footnote/citation backrefs: + if self.settings.footnote_backlinks: + backrefs = node.parent.get('backrefs', []) + if len(backrefs) == 1: + self.body.append('' % backrefs[0]) + + def depart_label(self, node): + backrefs = [] + if self.settings.footnote_backlinks: + backrefs = node.parent.get('backrefs', backrefs) + if len(backrefs) == 1: + self.body.append('') + self.body.append(']\n') + if len(backrefs) > 1: + backlinks = ['%s' % (ref, i) + for (i, ref) in enumerate(backrefs, 1)] + self.body.append('(%s)\n' + % ','.join(backlinks)) + + def visit_legend(self, node): + self.body.append(self.starttag(node, 'div', CLASS='legend')) + + def depart_legend(self, node): + self.body.append('\n') + + def visit_line(self, node): + self.body.append(self.starttag(node, 'div', suffix='', CLASS='line')) + if not len(node): + self.body.append('
    ') + + def depart_line(self, node): + self.body.append('\n') + + def visit_line_block(self, node): + self.body.append(self.starttag(node, 'div', CLASS='line-block')) + + def depart_line_block(self, node): + self.body.append('\n') + + def visit_list_item(self, node): + self.body.append(self.starttag(node, 'li', '')) + + def depart_list_item(self, node): + self.body.append('

    Jm;G|L+97_J-&f3l-ka`^r6j^fAR_tPDZ8HXoNb~Gmr5B8pl95cos^6pa)4wA^o +f?0smDmK;~EfM9Wl1W%~!p4TzxdqBHwu$P)gwex$M1n?GA+kn=@{9?vY?(FZn@m{6lsZk&WWuZ^l88u +G$mY{Z=8%YwjG<$eJYr~%L?=7iad=7En#rVf^_Wa(EOZ)3U%Z1Sf=;Jukccc{Ct>aW-57;gX|yRc;6` +56K(9#gLX@V}E!Lym7mT8PZ3c`W-PsMGaUqmer=U!mwR6IBnBaC5o?NzEj`ZTlq(Gs;Y4n5r_UI-vq+YvE0glKh$&LDmHs5OF{=!VCWyPbjLy~KYj}{T%Y%cXo+=k<(IVG;yVEuofy-~6lZmCaW(X6Ko9ySq_$Z}AN# +0x@PM@2(37ePo`#^#^un9#BuTzdx^ES4ylPoJy&8yRrLVGk-#@8t^ZMj@{~+lvms8{<=*bwC3XR8`EA +!?9D!dGoQDVR;rCX@;xJ%(CQbj}z^K?&i=TncDZ1{lr>tFwxJZHtwe8bS>lxcv#;Hpg~TXl43hL0EAf +^}78p3fSx%K<)Pdd&yhH$}OAM+Xq;GyDUA%-mq_;^n@$)K;n15_g9&#VUdV6_D6<$22+AD6)k3G6hNq +8wC+`U=%ogg}p6hk1`$5Th%KgYX)UtZ>*6j!%qG53^}%W24uIF^w5Z`=hqTc=@~WBEd6M<_fgYBO;QV +g0cQr%6`%pb(bfV_V+CS3>z8_fUJ9oh))$p%c;#SSCTb+%_6-=G@YE+P#TC`xZ84t{*$QB-uIg%id6k +Gqh3Fsx;iy-qL;uxQ0fu%hGS!2hW{-zIrSxZSkUkp1%5aaj*5)E!?EuIw?WI8Ax1-TDs>YPP9+Srp*%fds7RLn>S0x;;1MI3E@D^tyGQ<;+%>FI +jGB@pOT))jF%pA2xdg_Xb?*8d;*s4Q|=IZr6YEmKMywJAlDDfVA9DxPhYmbmkd^yTT3^pjq+II05_%+DSK^V2rWVS6(1qj!>i4!iCW&UunW@Oq=4RDPLFH?pR&qf)#s9FUCNQ +Z|lRS!92!oJouffDUK8S$exec7|P_S*NmMy|?a*2Ezas}ke +>#xB`4~3G?>3N7*_vulD${~RcDX>!w`{d79@LX02+HUT&8;V@DHTOBd9|wtVThI29-lMK-dkmH{fxqL +<9;qB?9k#*>Z|T;s$`jR!6+78Z>FYKbvl6k2U(;uFXF@rKTgMq+-LxKxtO2O-uoFo9l8=@_GnOHh8Sr +C2(DnO#o|V`1O`J*-YSNwi-{jehZtH010MukoJ``8Qij88BPr +*Sfm(UssW^&-52nZV}F*pNFLNV-4CfE_$2t^IOab1~Sp)V}n0gzp*7R3r91$Z-LXNSxv?}q}%O=NXp0 +jzP@7fCW8m$1pih%6cWa55Rjn-`*pS4nT0Cmmau@+fWnf!Gx{uiFKMxg5EGujgO3NlYg +6W1%8??=e`aEg`lK5zwMEVM?m}XoZduUSflFMcvX$38Jy@C=BW$LR1}g8cR))n%y>j7>kB8$%R{>gt}ap|W~l)o%uv1 +BY%VmDtIdG^HMUKJ796z5Eg(zY7a5vm45ss@!?5tA#=ud0a&lq4W^t>)TO7o6uC+rgb&|v@LUUgit!Q +kF{hRSP)WNi(mYB~j1=d19c&=X7*@CQl=*mpkgzj2i;0|5esQDW$pD0d^N`USyLue>wJ@t64SUoqm2kzye3{ji;bse+O+g%eBAah8Q2N%1UFci7MCO#Sg09k +@1}tgVv~tEB3{A5lct3uuunx?rDeFY8KLT;Xvjmx&;z3r_J{9L1oPH!NC?h`g-3`LX_R!hPDO}^ED(8 +oR?7|PNswP{b;vw8JvigJlD4{V6H(DM>5h@jK_KwM;|r&Tj|B8`#`Y%@(*SDR&@hFsa+~&{h9Q&;u*s +zDEXLy!R2U!h%!yK)s{W6gx0MQK7IyojVddrP&NR?tO*Qin)$*2QWB6CeX^*C)@4pqiBTZz0KDE9!$=RdV +>pZ~oX6y-9_l{5I_WS<3W8HQ1@a=qz$}v9#QNY*dHxLU>TP27;vFj=KTk!}Dg{ZP?^&zLoHmvfYRk~$ +{O4QIB#S^(lp+zvjK)x`$VVHmCVIZKSuFD}WJH72Q}{7Nl@`lyO^?Zj&AJx~JqFo;+r~q8G$IZ8;FQ;T`w$Ztc--qst#TdX^eV+i>v_!6LpfVJafvC-RDdVV}t(?M3LP! +o;T5CY_!ZhI*glQ4n~4%a)Fc!na++Sfc9bTS)#PY=_aj*d0CzBq4yJqO%cP7;#`fJg4RwE?s4XfF9&^Mx*jt=4^cO^(aASLA!JJnpgOx_e##j*!XsZ4qcx{$)m +;GM=xKd1*N{qRcUEM@naLXi$fmKRl?F6%YLevQ7X}{AFtlw}?>9bwQ9Ll&Jbx@l8ds#afic*he)yyJ$ +HzQIIAAR?lE*F0>f8Eew6()1;vXV!;f@Htg5F%`>7bqqXw;pQ#~`T># +$uK?_8%HHg@hhRw$$cwJ$S|BkUbTu!4A6Y1wXx_-Xf<|< +9XV?^30=erwugDd^vTQuF@JOr#7gkus1xKA{y+0>Hi2~4qjf%m=-#;tkWaK-31Btz8tNlIDREs#id>P +Mt$j=ED!*=DsD$y9Xxx_2W=&H~3l&|QZ!A8^x3?G!2W|MO5%OU6?k*SytUh{q;V}93z|A`Bdj*&FcZE +n1$T$u#Vns?e)r^P57*|m4A<}g<)fgSoyRi)T>U5itkyUVg8m8)QXgP5@V!AdCBYIy#0a;GaMkt~+7W +XpK8oQbK1l3%`aMIW19Q8mGS-?YF)``amQj6535#4f~l+n0xX_s!eYOT+ayq)JL9!``92tQpS}qo&fRLKd-Uj`)wz1@=K|`h^sb;5 +zFHRLnZBu%hZMmDbJJJE-<2H}vlay^ZHBrfpJ{4+bD)KQ#wu +MCYYvWkkOX0NPkqzAvla~>oA?f}vN3v2?W4~sbaRD4=vf7xrs-Mi=x~~+pkcNY`X8IC*7^46|DU~IF? +*d;)>YvjJzqYzY-j7Ac7FcrE>!!Uok1uXMMLlMMmjGz;QgBjI-@Z^1NR{eWmw$g^UaXuR1-bh+7iHfu +FL@%$&o=E-9#-4GI=aPU}^WwM9uz%HMAM2xQFCBtrl;>xlPc}71O)8+cbqUumA#Pvpr%L#@OWRDK`pZ +kk^oVd&raNYZ8pYV$EdajiJR)73EEJZTK*<7SjSqGX0rSMiwj#JQ=F6l-Ru;>_>O*PdH+kH5<`oGSQf +TlV7{V69J%NaliBVOpUb6bBdZ1$^kqbxW5Z@}gq0$tXq(-bl0m#J4zz8ffT7w +z|yTT!L~DRJ3hKOA^L-+QpQI=_~as1fD@f +rUE}Ui-*=bGfebx!W!#hP>_qZcffYG_s*##bO>e9q!2n?+Lu>H0~&MXYZAI?LxW+R}%Y!+^jI9JYAet +!1=}j9@0V#^t0jV!NK0svj9{@-Y;l_M@B#q8v*w^l#1+EOyWd`6AJwNhLvHFt&1&DO9p3}XRW2jKN5zPFQoul5}h7?P~X{Df2hhAzop}i +FG8G54n3`jQjF+98-$)vhKY$&xlN8-1-+9R{s;Hva@jr!w;>FvwDe^Rfu~k2!lHs8cOlmn7y;3P0-%DZG!#N=GY_8TJWO2)psL@4e{m)mYQ1yW55+OMu?f)@3)H+r|m{Z+MWI5uMsr?`h+nip9MbutwI*5B^(7!CD*_6Lqj7@Sad +DDYD+z^4a#i*mm$Mk1@F<$Qe!$j~J#;n(9(3gQZ&PhRWwZz8TV;g=#BDbC?TvW}S0LYyK!MVJd@ezsM +%_79(w-&!vD|CMQaumJJ_6XQw3?msR6q!aOQN#p&d$`-%3^iZp&w@fJ)JBwHY&gX`)q>F#cm}laqR>> +BR-enlsh?Bh>9JDV%7RE?obE92x5RR|Cs203B%ccEUQO~_2g{CezM35sCppWOpc@s5u#t+)== +BqSG`xfZdn2O>7{HW40$fVKJJ@=4}HrJJ)ifJql)ZNY*n392ld<$`9W6OtcG%X={HG_TXnujJ +uPfBPtg>YJ88B{AT-_DVGGW5m5^&{VzTWyk*?S4l&unMi(;zhHo9$G0(DKv`v_2Xy{do_L%k==gqR?p +`rI*hFpHk`DXY>62+L@3mxx>q#g3Tml))|XjDv`x1$VtsPF#u+^$e+v9JxU$F?t;b^65qk9)0mAI$Q& +TjnTI33u`2RB0Z8oo^NctYHr*pVVseGSv{#bNiOEurOh`<861fpzs+SOoeX$|5q?)32ZO*S)qLg>Gf8 ++>K_fP{rPNK$%FACx>u<&60&14(J%DM~c^zy3*5uvFnr^tLD7-YeIe(=}z27V;6!@UlFm2Hj1FQKv$0P{|E(U&K0Z{;j~id +>p3iV?+mCfEM{BRLS#^siq7`DA3>n@%8Rd$sr>xes^NcJN0FRX!;Cbub@o`J$nQBcgI8K$7w{bvJZyf +_SL}j__MsuoRMC=IpddOxv-+t9_OFo=7OB>yJfD(nQ*!1 +4BN8KzsX7QJbll#jDZ*kn1=En*l{w=%(hxAM;g(ZW#H9TF*w;*MIQ%7lnDE)v&yzDzEwZ +So`3N?b=Ky|c+qT(yfGiFbz||Dc!bm`EN{DuZPpw1EJVeJK8*EjMBxRa +Z#d; +SQpqlKu&kP_=Gg8{kt=G1zUD#83fIohHkhF&PUxD(u=TQ% +rppj?F}gY0ZWCoYa>HyN~XQ23(L10|*LUWz?4=VFeO5w%t4`>l?7owe-Py^i^5T>Q}jevhx +m=i_p$Lkn2TacpjsaA!x!woZ)_9bm%(^|8vZlZT0$z;+263PcUoFJ)tbc+=>Yxg$KtJtnwgN01+*n`f +8!-dT#gz}rJlncwwB$y?vL@XSS_qQBo}%ZO=O<(Vwe37Ic4@<%ViL~j%+Oj|j`-HAu{vv=$WG;t(3F- +=QiweoY4U7}oQ#baP2C*So#_uD>wtpc(d(E~!eB4a0RgHGCutWaKQl9`h%(3An1iWnOwiqx+$)^5C%R +`@|>AUBwr#Gixrea;+uz%@Vk93puT(nt;Mv1+)%aESTSWZ_WfOfqA|Vz!h`Vy_~7NI0MMK=s%KEmT)X +i$rg7jGRwWgr>}v%~ch#Lc((ddWt2<@Gl-a$UiLAFRVuyOt%IU(xQ6~%^P@5btP(76*sFZjEL)1Gr5^ +!j#F>Ukh@Gx!;w1_eAbFhVeKO)YRD58FT(jd*=2C(=GRd|)xb7ai5JONkY%ND>8M|tWrkYhXr^!?9`e +>IP#E8UkEI*9@SirszX8U9@V2Mru&lMq2taZ)-z@kp7c>)+*k+NzkEVLAn^m_^p6}Ju#&j_YA1f->ts9#gtm04^l+aJn58#yia0A%H5aPl76b2uO;hS +aQDIQHT8=Yr(eAD|56jJ%m%DW~=~)-iqW507Ybav!YTvim;h_fJeLA_m;bcWKfiP(KIr34-%SgDWZt{ +ELz-uaOmfk9Y)TDPJw)56YrOANv7eu8%ruRJBf(X@*dZil|z&(dF(V=%4JwL8suBViJvbV1 +YT>#kI}KHz@T&987deO2_{lx{_d)1oUai%ch_RHhyW|RVkbwltR6ZANbrOdmaZF=!71W(i3D}@T#XJIGLo#V +V>}YJ)?*6Bha@_|!y+viUIqoQUnTbh6R~tO!jhyWqLpu=Gw{V?qoeYC;%6U3tSXbFkg8&ury>-a8V+| +dv?ND{qz?6?5MUv3q=oS$qA@4(%W2LVExBY#uX8hVPz+gQNEd!+;F08uUc7wPNJbh +*1p1jzjxZYb;{J0cr^Bn?zz3msq}87j5e>9nX-Xo24d>Azp>Z#MZGNG4lZO1cVEqfgbqs8EwC7$AXh+ +Y9z?a(B2$lQKEY3a+wmcEsX*R!R*PiS2~poh2NT4# +%oeX1MYbte)WE*j03OuWsrP)lJQ1X{f{rCQeRU7$tLUL~{Ymh64@Wj&%SN_^eAPDUx+O;ZhecF@*`9) +1rz(SF13Ic=R6Z$Qj(y8QM1ljy&3{yKYf=TZ6JHD|U$csi;V-oAR+DSEG?@fEv%cLguiTK$Pg^=^vHZ +X~4!_90b5su57$=t+w~A+KqV=$~g4tk<{PB?0`%3y8(yIyq6)v1r#otGg)|u?Z{XQ+p26Xrst^89!f| +OtwOxX@TL~Ons|MGBLP9=X17PoWnf`kCAigw(_3EyO)@SvfU%aI<5@jakAWiUBT>{WKx80&$VNzi7BS +Wlhv1N5>rINHpVALB3p@xEE@7K=BayhXYju!o{K*k~ +Ua_~F=e7^z7Q31e*=xd1IiE76}qz|i7gPXb`gX2nX_t6Zh){)^14*FFD6+BOJlrQv&?5tj(}_m65sWj$Y*CY1*?j0zLhSsC0R6Bm}m9r{j!90>Ksp!g`ZBG|xV@{$Z^0p9HF#1l(PuHKzzW}E5hXna#xr`tq@ +=hWIu4qmUzRk7f;@)9?(ousjFW<@NqjET!V#><0xfQt%gA-!F3A94t`fsv+bpO?|S1iTpej~)YcOb8;od1>AM_>iQs+}%52RE +*PeGUNUb0U!%w}Gdv00Fwl3 +_FuH*Mi$?P&xEThGOWcN^YCeNQW-2;M_{KSFho>q4k2`v89w50@ibacUE$~QAlJ_!qAKLv0>n +h#~W$4C#HQ~4?ZOCrM1K=lleU&X6H0`O;BBffRy}e0qMv?R=$Ck<@N^GDz{ycDKWJH;OuCnq{g75|XJ +*Qr-jHLJE$G3le^>Tdl_1EL)&z}GJ$OEVE5jR;~n7D78NrG<@+_8c$ztTwBi3r1VjM!rx2e=_sJNwFcq#Z#Jts3YdN%b- +#&6W@h~b$&0Lk;uy2It(u%?Yapsr}K&vpTRB~uxtvoK;j1+8Wg(ne=n8@^mjuomPEf33U3EQzLx^XUP +58SB$}j54Y{TZHTPZ9)rstETWDse6EKSicwNFN(BuAGUiKS(nJ~-L;kYbqkqf>J#m>>m0961{%7*$CAfMe-9``f0R6;o^MG+IX>T@5&M{PK923a7^s$8N~R-sSJ$w@0rHW +q&PA4-+-7w-UYAXFk&lDv@CFrD)ECH8)x9(AEJSokqPn>vqS8T+jA9xlgxuC2>POr}|5!ZBc;z$}8nY +?XfYclUAJNf7{UUJz#vpb*c6i&YVc!EL?!)?#Id8Sh(avYd2FGa3y@oqB<29ZyD~vseqL50B-vsP8y~ +1D$g|TfVm2tL)NvP2;1G>9G(R`ZxkV)F)b)y6?sANvA%j(wkThZW_mGqljMZe0E-B14Y_taPNzMSPNb +TH_&I|Bqa34Z$Js!!8~1dyhPrkfFX=Z(t!FN}e)O5co+e|Yuw&k4=B|M=_IC;lWYn#-0EEG^4X8=LhgDQVL_jTMf8c6D;vT+d5B-9- +(8-eY9Y8>!#|1V?Y)$>2S4hr={h`8ljAo)qZHf>;i%0(cA3}KWB9HxHFVT +4ul3J5MVDSjEis*KQfu>OG`s|ynxKP!oTDa;jOB{NpQL%piM#9QnM9SLUg!Z$uW0~TA1vo{fc1l68I; +hmTULsOZe;m9J%x7jqg0=6hesj5kVYgvm~Rpx(^ZDNg@@oC>}I?fkUZdO;;tsXeD#)FKr&t0GD`ht;+hyfQOs?e>`J? +r*oigyu8gVh2A$@dg7!^USPRx;ISzD|u4={`bEh0%?0v{VRMt2vBi)1qE%*5dqZ}>FphF#V +jJ>4lK|mmnCuVd_N#ew<~U^*PXYkinwd`l~&7qOpYpmz;tvt1T|W2Q2^t1bbW-i#0jKhedHSkV{bw?8 +_yq}jM5`K<^*l020!3MLn952(MGMGOhS4$nM5hxh>0owtkx=gc#EKzSQ%&*kE{Y~aCq!!-CRvcpUqU- +@C_E8;U9+W&CkcNo_|!x>*Lx+e84H=VXl|jjICrUjV)u$jMD6o$>i9yav~IlCeQdR5o3pt@tkv;-)vf +U*&Jb*e>O5h93Ub>7%-X0b;2Hf4Vg15rf!zc^HuKrR4r52@S%!ym8p}>n0mR+>J08Xx$h#{)tC)eBu6 +&8bBIU0*P=q_!OLm|C(K5sf^gbNS3;(kbB6KcTIHeL`Xa8t^vh~%(P2Q=+qM_hv;&)^fax@ica5+k>$ +0-}clV2!F8h1jPM$JbMjDKAB+KH21JdnYc%uo~jzi@$Nse5tQ81Z;X$;fcIoF1kk%s;Lf>Fp{P)m@d( +_}wuH;r-jo&#QGZFnTuA4e>1-q09Bry>e>yjtZ7xGccH^2)z5T}^F4zO-2H>S#E +2C={#e;-H~ZjFU!d`A?@(v$Jyha{3##-#Y+1=l15s>xpSg +t<)=BBWGhS>2z%Df7yCb2zem2#TOkD*tZW+`@!!_bT5=pjk%&wX!mBo>b=WcTzu=rf!~~r5-S9=I_n< +R|Dss|6bFA1HEO_B^vRr#PUUEQlW_fxnrrtZcyli@@*Bu##yH=9ZN+@nor-eA*GLo5~hMtWI>5d2ndbHJRj%I{;Rw;2{pf7ec?u`!pnv+G&-VT!+xz>Iy+5XBkNYF6z!F?*5Hhv>N?Gr>ss}1npmE#%-tV$p%0$Q&DSuo7OI6IIn(Kx2^0W@YGS!2Ag7cO3TUJfmC)adH=64M +E42P!bitVzU;IB-87NT&IiC&Y52?<40s+)#RDhdDxc3OCGC86cb`)#ol5D?y= +`(|oMb=k!(@DNbn@w^PsU$8`{tW3pFRIe%5Iw$(Wo$rny|bw?LmY(CxK17e0^$^|r~@o9O +e7qQZ#5{OdQW;C0O&CZP%sW-&rQSoF=2a?Us4c4tTp`5OIelHOM632)-HPQvGfO?%l8EDL(l9q50L!5 +AHgn4CSf=Vsc6RZQI_o*HLLt)#|9^Q{Jgx3~R*n0 +t=E@|mi8$(zhZ7lBTmRPCy$`iLo|ti8V)hKJUn@_^s&Xbk+fH$7Zdf(^SH@8OWLnmta} +BAG25pE2mvhbUymz9Tpg_8t-nsl{Q?9aiHp-_WAbD!##ethrp3aLBj=k`?bUxQ}$k8Nt%3_@n4Yu1HL +F@uDK!Tf@KdUyN)3(`6HE)~|l$_K>6n)y*BuL~UgZb@<2LgsJt$MZ!6S#_!?D68H#&(zU?#**2eOWhR +I@w=t@Zf^>`zT6V&$q3gwBV&?mLOK?x8ahiX%AyUb@5^bmhfWVO6)2R5$bU016UTaJ9hT5FX0wyq&aq +}-m>$Uod_j{K!O9ey9~BQ#`gynFOrg9}azck+z+s44 +}h4`VK=kF9yMd1PhxC&*5UTXRwaj^;Nuj*=jKF^!0s^aW^l*$eGFv=Q=GGOZ%ZoM&9n`Q2+_Te3{W?2I-A0H-t?8N +&IB0gP-=IQ;1zEKsk=E|Qgnj!Mbj;{0=nVcqyqa7}MGTr1dr)sAj{)F2s>eq1p-R){Ubbs4%>V~)NMQ +Ilw`kP$rak{z_(1PgTef#YD4`0{&#S`E+9*J+{FSF5bY~ADAx))AJO#W+UXkCsm9Q1N!qJGhjmh~sFb +h#vepoee;(l$I?3us55zcu^)>=}#;xm|+<`M^Ln9 +HgO9qew-0V>va%pSnG>;;B+TDOxl}N#_BGAKh-~#$Zo;E!!9W9m#)`UOI@zIutR!bYubfAbu8eSYuP~ +5OKEsX;|k`N44q|Jb#;izTC>?04vNpllz7mnnOpU}>Qgp0KsygIj3;QLuy-RAW#rTTFd*mobbtU9I;* +eSTx01bg4C837M$)pX5&wfPJ`~8MJ={Sw&vC|KqUM;X+P2k(7?&J8qmUb7PK=GU}>aiIJK^&hs>`6)- +}zJ`!j5#oSKp2fVTe2YISVxclj)`{YAOE6vHUGU2|wHW0SBhjdCuZ$t{fzd}YY5`sKU-{WJ9}^f8jYM +NW|ap$=Y{$dPESp|8nzoVY+o$W|vByD;=jZ`1w>R-T}=9$=FSwoE3_8B(Kg#Mv}CD#(USjC^y?%nSqO +U**$lVL1&LGF1p|1O1Ej_(sHU?yg6Cb#P}@1NA2&cCveB<2W?R8KP>L&A;DoAMIFvtNCB5i$A)`=xEP)Qn-qaZTS4*3^);O#-=wDRT{& +`lXt9PpaDzUWOWB0<3gKMFr>HY%&dDir9Zc;QS(BU3!6Ti9vJ6z~2{P&OSE4Fg+ur`9Lx>%L-U9!n>f +3GT$*aIEPip#6j-WqMi8ww4htz1ku>i$nZ#V74;4d)tZatDiwBHm0<5=llP^UO=kVL}<<$5|&GP!96y +0$!83gmIiQSKrLvbIDITg$b1@osIPN`N97Q{rz&DmDemikgyY6q&=ekFIaaV{ClG6QcXZlA~WX8On>1 +VJu@*hWS;ap&w@=9Eg@rQ2tQybTE!HlI8qR`CqrHSoiBafi~XGBEgjoqB(BtGj>|&Jq&3Alu`D}yUDZ5OEmK?ZgLL0Ooi+&_dqwg$AjqT;uAA;zAUksy~ExRhCI|gri +?r~_{)gM-k&Iv@_MCRi*`Gp*>N<@Iv>l4=A#dkJ3ZKYdItCIp2)l~?-hG}8c7#tk(5>wG{^#mA?^8Bg +ctb|P@cFz@o9*s%`xI;%_#fQ>4F5Zq+L)d47fs&T`_MtGgCv;ik9-2$DRG5vUcdD%!j+&s}*J&AlrBvzbD-Qh#E4ijN~;f6a#8IUZFL8DNxslC%Lk +%VI|%mIQ5RgC!BNodJkP)LR^bEU8X=sBWFZE@6pN^@?oh-ULUtd +)JG#)`U)~O@T%Y$Jb}Erk4mBfqf)G#}#hs7K+vydmgl1;z|2rW~c)>P=d@!9iYH&i<+1Nhh{Q7TbL|* +~6u<<~D6nl?O6wxw%*gBI-SU2g9N#0B;;g?bWvtV;xoTrNngN)|r0mBkMI*e%32imRJq2+*&k|`(X3i +eg%CP|$Fi{)x_-*bTdkR)6+uxaFZXfjJ;a2p`2&awkYuysqEl0fA)XCFr3!%EKUd}5sui}EV33yw*Hq +F>z=-0bY)0E{6980B +2X23@GwKQ)htATlo)|!NW5W(%I23Pb-ID)DvHUhGiwj&V&JIYbrQWysqC!hi{T{=k&^Pod?1gy(|6VK +;Qy@8C7ju&vUE#n42R0EO7dUz+62%18<@nVp&C}ULT)qIiZieSuBcqRvQ5uj8rrb)*ZywCItj0A!d!c;t43JA-cG)&|48Ye~gDFQ)TTRhPSjV=2 ++~>P7-qWglnkeni4J%gTH!&$h-3})m?6u=;ULrYw-&*m6Sj!DRdTTp78Im6aJ2mgAlWrxhJY*l87Ps|PhLW)S#`@=yDPL!v5y(x)p*s?*4EgII>iJrPCh7K-8HK>r96 +YD#%Cy>{0$LEcOTuQ%P`CHm!1!cK*~ri9iFtEEFcbN8wR1}!~EE?_7tM^12HExr(GS2x6i7Wp)S{WEy +c+MMhz7Vb?wFZjV@mGWx}9T7VZ_U;lRPn%l7m6H1@9eZ6l%zVQ;bb@hGcYk)G@gwks=fX_@B_R#Y9QK +idEK`J)lp(>bjVIg}6PS*RUYMy(lm?xy#B7}siCI$2iAgb}-c2^gu)SuxBI|2QrKxTzUNiwOu&kD0Z%b%V9{n`2WAa}Ga+i5A&Yh!MYf+HE`LS_qsk?9kQ5u7Yf>jzsEw)% +7S;YLCPKJ^!(`*r9=GL`8i+!6<%u?amF^z1wCvrag@ +|yXHy7*cM2H~tdl9jrjlAh44xgW~eM0qxd9l4y=BZ>XACjJ?MXLo`9xtiiT5 +Mwj>0I~i2m0PrqAw!2$R2}G8ikKs%nH*lQNFtMyYt}68eg9N@v|qeWiK$?hvCs?+M5U~1E>Wm{PBCbxW+#N3%NCIw#JBtWiFOq9sl +*)ql2Wc_=fi6_9?_qRnetrp1(^5Pd^^IxooY)T^rdhk#X4PJ@RvQkUan6lcyRZE#}*F9dP-|--UTPGz +NObP7Q!ak_nOe--S?~aMplpnWyq}n#uM;r}*J2V&p&cY9U4KPJ6XS1|{8o_L0~eR7kSj(1$xAnf&4P@ +!O;Eo9|9eUcG)BBa^S*bdbh=4?4@Comf+czt`owD6e}qOr4{WmH3RAYk9weMz+lJ@22PX=qz{GRPP}g +lYl2p$O{d_mjg{-DYz`6A;FZnwZ4iqEvGAaEukvzL{^~=}K$4>+*jl!0@f(_N@rZ1kl6JYex)I{_niX{l1zPkMg6OB1_BeLgiS5bZ(C&xYQZN*7n2)jNsblHO1r|pzVF<>O0 +?LzJS)3}9Fq-NW6#Ah1T!5FST=dN3NoU}lu<>&a`{6o{6D?1jj@A&3sU=`amV@D08$s;KK~eY{TVZ_c +ki*$;h>Wytc+rwKcmh_b7Te~rg-=-g9lyqP7=(28ER;L7dbO4DOb$<eV}r|SVOi$zs=r0j%|Nc?He#AjwW3ftyMsslkS;pFW56vN9-^r9EO5o4-Gu#ls +V-F%2Xuh2RV~-KDCiEf0bMuVG1Sj<0eRwdY!Urs5}@lS)H01R#l1(L1@M%8$aL!e?hlct# +I~CmO8<722~NO5A}Fv+vDe +PxSk}7~7?=x5aVshNUzUz~>7T3NU7BwWHz43$@m<`XbXaQ1n9CLSu|6g?`lk&;R{@d1|Lt8RgdO4^Hw +~_1@cQ`rt=)Wd#LV&r>i4@{s=S?N@uB`OZV(n`7E6FU^a!CMrU*H2CnYQ4gQ<2r +j$GB&Y5!7&wh#?^H|vp54R0JMaia9Z#l4$Q47}Hah!0hG973tJX!ouPToyFw1_rewV}P81I<0$u_q8F +^8(ujU>K7Qiw9r6@th8AG`4BCh|*%uxWda{5EwU@GHuHSuYwJoWeqUQYYcp6V6Xvy5VN2?=^oOA9T$5QBmurt=Nh5;8b$5$i9SS!jiIYyNIie8`>^(jW~z&p_xsQ(;pNTg4bY^i;$M{x*aVBr +N^RE-0QxT$-sk1@Pug|N-B?N2ie>VSX&Oxf0eC9WE_iZs@t;&(niL#mP95w^@tC>CYek$& +B5TnHXAqVS0scZNwaKUC1Jy4;=5O4562R~9s`ndxHVLeqLb7Qeo1d;_-iq8&+yK-|AU{iTi;0cd?PfnHt&j0cy{QQ +v*HBLbvIjsa=_cv*vx8D9Xq{8FFw3L@0k?cUgbdQB8p70^1{Rcj4ZAWWeZ}He6p{%mjQD?$eoT#0Pj`Pl@3!1Vt)g6k$$SfU!QyadK +NB9lP`;O_ZT%a_IlgG0Vp)+U;$8(f~%>9&ZB17vIc~TRdiT%S6`nK?NB#>b`sxy-@l=0x37Uf2;=jJp +;N?}N=9YsdDXDD>|YjOdlbC~(#mjT+Vi3DL=YD+^Bg=$3nd*eA%7hn0wQ8@Vyr1{vf;A(!{26<@DL|E +K&S0Pj6%>XT4)ft4a-WpF +a-3_m6CI!^pz2cr6KJ08E-%@+(w{mM+;CO!6WCm=LFw-ZE+3mRP)^g1u2S``u0ffav5I4Z6OykhI>*( +3&KzDuJiTRXikAArCQg)`pWY7f;4v6`TT|?+AF=iO1T)PkQ3=EA4RfBn+?Og*Yz1_c9-FJ1Ndph)k60 +|jRv<#$QYEID_`Hp=~K$P!X#ui4**o@_8tAaV=BLvG-F>M>fy$?La{EDxEu4O%KI2#jHwCoxYL%i_OQ +xgrH5RhrUP#b!qk8VdJO=)VgtGFYu!$5+F%W5a&9@A~x6OyX?iJ`AmM?8w*-Nxvhs&k$x?_a_b_2BP6?i@lhF<;xO&B`TUz!0wTcK4IW#+|No?xG4FX+ +IBEGNbY0qU^O!7sK1Lhtf&rgdQf_29&&r6nmg`oXWBy)d+io`v3!s=64V1i{aDlVfsV;^6ORVsANKf8>%upDKP&om+eyI$92WgLbE^ea7j`ReV9#nK;GkjK}E)swL~M^Q!* +iV<0jsL;fd?{q21RCzkXwgx)5lNWUOi=A=as1}($Pyh~)e`N +T$eEWV@5}anWNr%6gYZOCK{*UntYoha1xCT-nShI(kwB>}mQi!#+Lyi{o)Z5^N)*p#2%r0Cz|)A&t?b +Gt+p(d2O($(;J(_?+u|#`hASCT`1SyZ$LvX~riyYJ7>{nU)xk`MFJ+Bx$oO_SXrGy*pg*2~gkps#D5TzpxmWRkme-d6Xb$Y>@nUHtZhd=0@NWfDI8{YQ- +gRKuzDY#l8Kk%qS?JiRKDJRx$0Fhj#HcUd{F$FWK#JOiX=JGCl|&C|oC~eJ%UGwzhcsp2b%<+Qee!R4 +E%9xu{6RPuP;4hAylvGa(XEWa!8PGi{(A(rkxu#ITC`{PEI@Te +#gSW8!Y{&oPO#tr}8^9o$Yh;A&h +`}C!$Avxh>F=NN1rJZ-Jqm;_E2Ou+2yl7^TOuu=R9#e07(3~x>%>S}gg +U1P4_L^Bdfw7=V|^x)X(4(oC{kEIuTHL5M&Bcm0|HwlIiNA#;M3j3YA{kt3aU^$bIi6NG711 +I1rfrHVgY)J}FwWxY1xl~J>wMufM_9WS*aSp_}fRFeWhtXf$j6!+Ztp{lR5njPQ(?C$SBenK>L_xDdf +iAM?PG%lA$Q{AY$>M;>j0eWLFDCEkZUz8U*RvHF3C3R;}+M#U=1+MZyQ`qlpZVW1ET5WVjOrL0A>*0cr +;ncu69tXTp7F9>bNGV0dN)aRZM5RJR~&tNpKtb6b-=k>*sBs)Uw-Y`w)V_Wdg}V$GUpt{LIR`7`1E>? +hLDFJ4^7Ov#WKyNz|F&eFigWB!Xc8&h@F0t0!1#vF#(-NGY*n(*A$EC4H}EXxH}Ol1VNUtn%|Kave!1BZ>zEqx!yTInmpm@$Kxo_sF$pvH6A0!J~l0;0zXlfI}l0RNxuijMcu +T?I!(=83Zah4&D}N^gAg+h7>uss?B_sF++|Y&!O!68Gg9#A_K7#u^E_EE(O1z)xFeGbc<8-Ry0vNBYu`$jdEDdh{awjB0#o0!nbNwcq0NBj)e9EDL*@FQ^0;2#J-?ldi3 +}^1U?%sV%<$hn_A+GIFXa`GNaI=Gr_Wj*@8JV1xWtZ%mNV47N%@_#FO;N3z`DRac*DOYA<;v_vU~lvH +p*g%Z=JFj~W4=W(r5JP@jkIUhn^j%OT>{#ht8+G`hGnaV4__xw_z}0^U`$dgCyp%UxqpC<)ZMeq*^iX +)?|HRYV)T93sbymh7dv}oZm5DHi(4CM3R>2_ciZV`LM}ORfQCDNLd!(WqShMT#R|J-jjDW>$2X&DfuV +Ir-IHt1UvB5Z=yO)P$*YobgPt?xB(vvbQ00+8G5fwt%=>WF +Pj2^;GNm{NWg{wWZMAx9G%0JbhLiRyA)!_|jf2-IxpkeC>n*($FvjsgoB!l0Ss>E`mbAid4h +b#XYfHU;ql?Jmcj@2?9x06pt9kSgLqKMoLc^ +Ue~=th!96195!XT;w=^sA+!_zx!& +>02P+0^>OC!hW+RdTxoe-XO0DEb{6?crcL_uM`EpwU*k0@O#r;e&;HcCjv}d`FzuYX&!1WbZI?#-U5x +u)Wo`-A)H(uzOA$N=20EFEFFtf|ULjV#7v<9WvrsZSaqyO-4}<8$h=oV?s%Zd!ojbx=UUS-}uy*wYKb +u$v{ilW<@+^eW@%KFkyEJ7dydM`2!sr3 +AUu)AHDwa)te(AEb!y_>zA)yA3cBe<_P#38KHF}L;>^(O!mqm?JL$a*SQ$Kpxg|wGn-*-*#f1)%#M+Q +o%x@*FQHnv`Gvdgmi|oyKO)AByuk$rx=7wJ(4G+s4U};+1#-Hh44SVTc(zymZB}fhd^dRD*%@aBs(*L +o3+o+AMmSN-QJ}q%9%0~}F8hPdQ}2bUVzo=-b}^bERPtdk_W}J1Gvv?&*&_TiC?g)R_(!iK%valL6hU +E7-9r;X*N$V<>bV~P%Jw(7kSC8}*B@Y(al7|j*)|AS@d%9M^rPmi4}I#7G@NkA=F+8yium4XA=`8N1X +KC}Z~IX_#IZM$4b4PXZLty*{kLN$U}TJ<29*B>Eorm)DTW3^)WyHr0PyAjHtJ1LSCmsEhPpI8s5Y3hQ +O~jYPR5QgTu0tx{94Su6dBmU7CmSzWK?|S3Ovf{OW38)N@dIV=+X6U@c8b2-Mc5^Wam$&bi<#{=yb)p +dGBhS!>~YoT^x1U3CL^+I9GFof`ii9Di*7bgp^FUWD+PrBlH~q${4&|<7)?6r%><2Bv5WRRx>750H`y +orb*#yh4RnT^ov5EwgIK4Ly~wTpKroUh4?wSzBJKsn{Am3?aC{)MOQ>kinqZi;g#4;e#j-32AX##6WC +`HwkxwcX(Be-^GztOMbq@_JYVAJI3c8xx&~R;Ar}p9;ODII6R7y43rUo8aX_F(7Uf!54qG&gE7Rob;7 +;Zd5vKeknnUE5l~cW9-j8c^k_Wp12@M@`eaKyT%!xO7 +o<9$t*7}wGGL9=VdL9G;HO)2@@^VC-&u;r2Ru@IC^j^jl6O-*>AZ*?l<6Ns$XiT{J6ZTzs +T~@c{5uS^|vC3C`e`+FAVxbKrbEX;l&?d;tJcH^UFNqg3f1UOOsb9)x9k+AK8 +WH%wheklEC6R1WqBYGL>Eu3Me>{DKgz4lDu5k7`wS5=a_8HNgS_>WrC+T&xbxCZ46B8l_5S&oLe#(nW +VRPDYO&^L7_L;&B$TxNM`3S3XS}i&Q$}uJG=lz5&7;2hX>Vic<1dE6yTeFXr +U;*({&btd1uQIZ01vPfk`Gg6_(cQ^5AO4yPSZy}ol%K@>6;rg{)y%gV+N9Ph&A<86m56iP<$(%69j<< +r!ax@2$_~#*%N?2aU1SP6>B!-DtiZ*gc+CFDjS7;+D;lja{EBvDG8t{`aGSJ&;zlEFTDepjaJm#AVZ{NxOQ +h`vRF41XsalbK1D>5Y2bU8=~_SGuv)zcsr2(d)1vFE2)SjX>H-^?fA4v)TtN_7f)mQ!NbO%a;S3ajJaF0XnGwdwCC?+N!&iZ)XV6R?{)ZR8 +0>3D8s&1ruZV$oEEIcAn)4S>?q@?6^_~dpm%|kgS>;#6@x-XywR^7EV*#hq4eki +wHvu9h=_w;-&?prrHyQZt2$N<-7QqUw>NMKocVEawbz&q2S@(~oyeDVFXPf;5rcEO7`jF-S(s9Aj)g8 +G7(JdBYqST$@KtK6%#cO~Vqm)iuutU;j!VU-vg+UBZXCfQFpeSYuE=@;U#Rt8YFZ=j&wdlMK_4+R1#K +Zuqp@eqy|nFxM20i;&w@KQHVj%^syC$%M>S?2b{%};}!XV9$|bQf(ED>!B +s&Ac8ElilXjp+lN;_J~5(imi-fy?n&w{vGn)mb0Zlh>~aNL +0f1WQ84pU)`&D1EFm8mgS4bF*MLaO*`l$X#vV|AW6_q&-0FB#_O!m#Jurri8kWikAG9J9%2O%6w&c) +BzWW{wOusEUn=#o}^5DfcSJ_q`^nLFFG_w{+1FBj-0s_pjpgqWtN+9yx7T)<8Pn+?^mx?QBl=zhi +Bcy4=^7f20!}xYwal>#ywVpL6VBg%s$Ba1*}$IqzQeG%aXpwU1n?}W{9Q%i%0x7&{DW5L5-sQ5frj^3 +wB=o0%pl6EDC=OM{Z^cVb~vjA)OT4#s|P?HeSZ;Eo?xC^S{Rmc-ZM4o9F_8soz6T6$Olh2P01sijs(l +8}bC0XttQ2Z$_TXlO!~7IU#u`%Q`7%s1taS1Y&(oL&q9z0Vv5O+aw{}Nh5k-*1bmZh}{ohm42{&kw}p|bN(!5ry@^n^-AY{VZlF9akFZX^1`S3D +s6P#gb{R+_#5kZno5)K$?dWe_$V&dPu4#ToVn<`t8H9hw39Fzmn&)g1UmWIhhf7ymWluZom~xg=4~VJ +VTHOu&29oddKhd+1fxTum3tj+*{dO0t2fzAR8a$=B#ve2f9vioCqeH<73DSH+hDlRXA!#;ZDa5s8Vh@-H+UQT7E;@^4(n{Py7HzXtAMH{i=()8Wsz!2LBH{(MV^^PfY&Y|zn` +%Bag4l{6Xp#zf!8<5pONV{7;9b(UO3*wH~^isnDBl@w2n!cX)R8`|NPp_Q#UYYoks!?Di9f-~;)Z?Ay +8mk9eSbXzsr1iWiyf8X#>vK6WURJ>EGDJ?ew$npnk;A-dl>vE0(t;jN*ncn$ELIk8qGAPnK9dWp;c0? +KgmTjoZ$a9IGtl`AWhBX=(>;@jahA-~SY7ErjVd;^eg1d&_of*kif(*3-L(JGkh*XNBtUL-HQm`_L1`stc*05Fxe- +U6|2%bUp~vgSLK)^}H7qT~1Kb1W;d=f=Culkr46v%Xs{MLxF#hNJkQCy)%Vh!u&xz@rA*$(7URRjgNU +kTow9`jh}~4hjJ<)7z?y7Ds0lUN{l@2*@bXkva7m&lDBfiVhj+Qo>a1K*T2Qav@kO$!)71+;w08O(C^Ru-F>)o>}b +(Szf>vL4y}1A562G!(dSGo~GlecR`(m^WivUcTV`wD)ttoR5?q@E_6v&@~TL1DKcCf9*kO5jov_L>a}S4)WUCp&FSo{TSHC +N-LqO!Q83H0BXK4#(*TN#RgkQKU=74r@uo2LNZ&lRf|Sr-8VK^Ci^ZU9RKu(Zt-ZuGk`&Pe0^t|=1X3 ++_8j`dZV#EcQccfz7Pd}&ExufOuAj9L}5%7%JfAW_q*HT=P7HG!cG7XIj ++7$0RId<^bjh0}AjqrQD{$Qs5HAoD!lpNgwj5LQ(j4cow}knq-SxqkCwh&iHAIUK}-G<8i>v?V=suG>`Y9Xqf7vZ*Xw~1k`81Juc65 +HNx)=#KY6I$x&ZbMD-+3FH=Nibl#R2=8jQ;5wxQ6@4CsssGukTlMF%8vACWKS|6FVqbyDT)MdJybsUTWeDs_(Xpz)3igVEAQD02t%ZG2_B3>{p%8Bl#h3@`hjjW!&pgUv-Ynyy +Rsjzo0PtB+`?-Tq2W+BE@|myeD^qp2STHfAPnV*8S!;vIQ>KTSwcHo%;ZE90&z-9D7R!&np6Sb$WIo~ +pM~3*8;NMb{6QA~aFBzI3Uzz4h!z;?dwC9yxrm?*hj;uEynZkziHVIyEagY?F4reR&ajdTYZ31lyX^M +b|Tz9Fmw45hR@F9uI5Yk_+G-{I}eQ7odOgRW9L8OHeT!Z7*wNTz6`v+LjQ0)Gtp<6|TDs1ljZRi1|uZoE*Kl5{wQ(51*j9-<5D_ +!Hny$*SS?xabj@svd3e?f=NczRdzMCZ-a}tMW)4;!2>$T*z>9pIUs9SC)&W>=RbMH5=C&*#OIs?Z +IYE{$m`muW!Nu()TQH4gVT^JMn?5vAf|q5Qos{8 +(jAhktLIfx)Mz$tllIM2X2h;@W6QP$ovMIL+OemI+RgNYa$ZGFj5=G9|wYPc-T!5B5iC<)T@9#6l%Dn +ZPx?#Hn1~K_9A4vI3{CVAyCQ*AjqA5mz$=#98vm%iD#z`m*)w=o*=DlIWOvU%B`pmxfkvtD&UMEZre7 +h!?wBYBB`yD;Z{jBgVNj5Tzd_S+Jc09Ng>t;oi6pRzedJlCsaF3;cUi?yxqi}oo(}W-_nd(tSC_5Q++ +#>Z9ZOVrS%e{j1~!!tTWjjllRtI;%jfPNW{@2RD!cqB-8^l?YFYvFz$ixw%}LtxnPC#!vFG~>Ja#8`} +sJh?#Y=lH^2^9Y!|Tn0G0hb1*66I!t_p_R(bEk;>{ZBLofP(GgqAdXrGg8*i;9Ex5=$2GJwVs1;u2 ++8%ets))Ju~vOO1aJtM^Yh#qA1kMpri+$!Np*8~5xeB`LwSbtzV6X@G&_bJkxR>yCgQSO>N($2s-TKB +UR;JVxXksFGo|c|&;a7UCQuHMZ06m0qFJ1f(AZnT>3~A43QZA5QlTzJ%LcgyxqE8d +v@TW{rQHgg^F@0syEbgBq^TQ`>>H6#fgrzr+&F$hT_4bQFTXi@^G1LPML5qorg +_!V%{PK{1a30y$kCoW<8BGE)LF6yC+_(*y#NPOq&%bXt`cbKhawd^iRk(TD;1l<93?K4nm-jF$3ou#J +278o>QKzimtC{yvEeD!wr|#wUkJZ&eAY&2F+ZDcYJPtTdk(x4CQy4697-=a>U``lkdfP-$=FYG+w!w^ +wKj(mt!ATCozjO|vGLsRP$z1pRrOJdLWvx`a{qX;Y5)3T|9kiKum>C|erP*We@H~&?r^Vrdwb75J7-&bm4OQC>W9iGdK2#)?q#_m&bRTJ>=ICe;MMU +~gSH{{pk1oQE4sy^iJJ(BXubFjeQ=$xQlbC~8O~7*HO4{0+0jV=4+2?6KL>KHYJ9vU +h(W+ph+H3viP$dw29@89ip^2*6a~a&z}($%efz2|`L}P~Q3i6lHcdBtwPtT?d+0H_z9(#@w36Tg81bg +Z8eY+G2J~H@{O_@0SQTA$^|KRSU!=UQ6(|gIIchZM~yd^Z0b5v|YGLmuL0VFc&`=BXUe*`&)RlQ~gmT_{uBmEJ-BD_})A%U4e!)Lpq5mFxL +>!(oAzbS_{(>?D%NI>el3PwpfL(9hWOfYr+lb2a50quhzCQrr$bL8vBoDq5&oY76A<(IRx1+|0kX;b+ +wLYRLU;hbmkTJ2mrul>^kpC8ALlPeMhEN4n@cV;9FksL|RzZwNQT>$?oaSX@PL$Gck}I=xGAJGa3!4I +;5=WA9I?WZklht`v07kV4D0GD>RL;Q +Wy?Zk62HJl3j%wnzX{&WkJyrNv_L`lVFSFWEHb(RZD#qdM#=JfpZ=9I-<@5kPcb>{83{~_)Skb5ouFi +DPxwk_^=KC}nz)>cO~h3%vAlYD{d!Nl0Y-}$QY +71WA(r>)-*D`~9d#(E0`fv+8^?wE}A9G-#)MBc`j(;IQIfn%a6~PVw=3Zt8l)Przm-2%682gRH&LY2d +dm-2n08CdKQGf8+9vy#s9+G+xT{u?(Qdclss$9b&6HV!yMDZVPg2<0HuQ|Nv?4TJ6yHk89Uo5*QG!99 +b?+@xT;kR-(BG@{l2?V$#*r$WG7FkWPF*T(2hpa=wWt<4`oO8&pL?PwzC#J$Xe8c;|=PkaC4C#Xcs;a +`c-;=PFKv?WS02<}*PZTNHKOEN@#Tr+8%Y0x`3hg!iP%Xlo^9FckghazFyM*lx4^bHcy)(XF>3DXm&A +w!(Dc9&chKCe7QjKvXyOo~3xusqigT}>qePO?7uxQ{)pUNQj;3N}@Q+GgN)4 +UPE!-<=$5+TeG_1MvfW?eJrMGx06{awIzo`fBJCCzS5@cIEEsXE^7v!3!b6kma?MbPGq}K`ZypzN(%B +&(I3_{mS1Sy)}bkU^U7qnQ`qS>c&pxlEu$fpI~0FP{^7XNGT}(2YuYS|S2@Vf(c-DQq)N0a#xRQ4md} +C_S#TFMwdzFZdYg(lgE2msWCB|-ZdshhG9F^3B-|BibEY)f{25VU5Hq&p)Y;f%(ylx6984bzGy(H6Zs +uu)zP|OF&5wCJTYMxnIa2QEz>WI(W%TayCOSKP`!>4y{^B}%|L*+q?EMeDcQ?KB2sFs=FVFu>lf8+vX +@BAE#17{swP=37CZ;z_M`)#bi5FXAEBlp8TIZ%}qKBC2z<;rm@_=#?H7VWG;a>?VZ`nFW!VUbXP$U{k +f->p$p|Oh#t1-ASOty`ooHPj>$AJ@-V4DcEH$(~fkQH-W3|%+_-J(kdvOW6MRwo}v1UYaKM@ZLnn^MQ +7ukW5n<>H;8V(g<5Cf8bAE18sAo$pO?6#Xw7k2gil72j%AZssRCRMM}eQG_7bpQg!7 +>it9JG-dXdm^ncQVL?*{d2r3gP|$bUjy=QIDjI+=QvI1flt(q?1sBuq*I*A7;F3VRG+vtoalS8d3du+ +*QE=vqNtdi5k(B0Z3@~-2Ak~vORRAVT&q06E=%OCoro7g6po*DhlWc{K#2ly;bkIl+GJQPObfWZ>6Wk +17&5xXzA-t)+a!pq(FoFc=RW!>OkwYN2d^F^{m7#vkq1)&Tg=iJOb72O;lw9L+20G0VljI}1loDg`VT +ZEA)3zR|NW-P>#&SKGvF4+Qv^Hcp(3kx+Z-)ndSGjPT8n0UO@xh%yNfqY>F3>SqauX@+I*%Twhe%_e& +B^YaRl(I!LZHRmS;^~cA2U3@BkWTw3lnxV%+@MJHU)pD9<_Z2YMpw-(b>X{5RxxwlRs1SKjov(E!DZF +G?P;Y6^R+=w=EK^4e4E>sth&@amMWbMa(DemPC+80W4A#I}zU8XLr!GMH$Q64i}T=cPf~8a*v+yu#pC +9U)A;+nmfvW?{aD!4CikWXnET#NbJX-f4aEorPuGTt}cHvU>xrH%WLlV!xq;14oYe9?#Nz_I&vV%^~y +)X9=etpk14+1sd@shBc#KGabW6xFy|V));=;qZ)?A3((NWaYD3lSFY`Zs^G(Cg2g5Y?Xj}s}Jv#pJ_| +(15y(1h77n0ggvj97|gP5u*4hIs;b0@Qiqj-CVFueN95w1VxTRhz1NCR4BFr9cm>ET&$IFvMSP$cpov +Vp8%z|7nroC_yYB9pk)mnQ>Z&&I)+a*^^iEmB!OT+!_037sfLy3rzA-pNyqXd$P-ZjRx?=~Y6|PHG@| +vZHB_yt6suXgX8ShgcD~epDLQnu5tZku)M9#vI_8q_sBDi{_dpRU|hJQwUrHW8*6{*qgjY9+CTw +X{W`{66S)wktwD&6jMQ$f7R8^Y>g=-Y)u%-xY1K;ne*gGQ_jnK_LJzjzt&$*?XnU{(JH=pHw3w57my3 +#g+Tpe+x$Hc6l#e#62)0d}3%8ErX-gl7D80YK8~#WXi(Kc>%{j+zmql&=7dq(8o`e7jDMv7tRpp=Z#x@r4ADgfqA#EL!5YB(UI!8O_z;8yMyq +>%B|(=%HJVp0OvFAuDTH$ue`!rpbpn8uO +-Rtj$#=bla7|2%&sb;1znjDY+YLHAOzzj3xdp1B>wKwCK7kA(*G>+sm`lx4pFY?(FjX;@#iTw+wL~i) +l+ksVfGMuK50P62-4O(ecZ6Wl7LgiWsJJvz~pMqFhX8uo7^xleeFEr|2`-{l_`VlaqP{T!eGCuTCvWF +xf2UXm3sljgV~nrc>&z9H204xW;0p-)I#rjQ%ARX+bI7Z(D5~jag7D$54ftM!Xko<2_gBe2V{Ng@c(T +vfKOY4RV!?amKsiDvrVr?%98ghOW*=H>@{q$ecvn6Q8gbz9>F-u$L&{mP`JrF;0+fXt@1ovTLGB@yD4 +DqPs+B4$RP_qbkqSStBy5HOe3w=WnJQE*I}2=7gM$Z%^Dsp>CYlpku& +9=jV|wRYYvT2f=64CrbmN5|^O; +cXGm=;wb$$G{qL}e8Dd`%K_2`D9#u7kj+Rtt%<`5y3 +nLUUhk(@7nU`u(miNykg86!y-W@eO=mN@XcRsu888|RR-k8f1@MBdc2QMWikl4u5PZn*$YL-?hD_dE3 +Cb@G=X=Xs#3o<&O6}k%p-55?QDl>^f<;5(&9bscVB;rxh+_lJyoiu-qnMX>{;|(=F-5Wvk{N1Se8~1Y +1f!dD@bhQ>1rt~)A$bg91%YU==X%Ugddj8`B7Zb4!nL%G_uQJvBo(%!IfX5PuP$l++q?+v9T#&!9TuB +qia%HDdUf0jIa!6xb*>O(;6)5uJ=>|!FA=qfkAO5zm=0M-BF=YnRolRU?yqzv2^6PJTlLtnb9=KOMY# +=aEL)?u4%)nH<2gs^qezKCe*SJGM`wl4&C(7lWpN@d2)8#xQc*uQeLGiodil+881LE-u!aaOV7UVo +&5t8^*1_$U?kWaRk8^P$8_{WV`>GZ+$5EFs(RpYPMz3EcWeg4fKBv>1%@J!`)*eR8*@<-G>T1X +iTsRYseC3MrSY>F+vu*Gj(o|>EO6o7SvgT7Bd&*MGpb?3J;S;1d^;tTnAO&N=}p^8Djv9j+<}B_ghQ2 +hvobKCVD?6`7Xk5JiS4-ke=DZLlK9_HO9KQH0000800WU*S^A^Cb$SK>01a0F03-ka0B~t=FJE?LZe( +wAFK}#ObY^dIZDeV3b1z?CX>MtBUtcb8dF@%UR$+Y-JPn6b- +`(@1-I1aD}879$t8 +Y2%6u?Kvd(5~a$AOt>*7>j9dfBzA)QTovJNVp#dka0PoU^5zrN<72?1u*hKO5r2oqB`6NXPA%>xb84z +X@XoA;4mf$<9rcenFZ8wB#lt@kB(_Rkd0$uuq5C9b9L$-e?C3_@q5pgsme5iwmrae6e@Lwh|hHMnzhr%r0EIZ99onwAlVBk28kA}ddh`GwSF88 +kM1(4F6UGV-;3`BR8DcpfT{RN)`=IlTqhCID^8V5?9C!IlBA+B({Umldw@;p_GV3qd%#6UJDE7zv0F-r;~06qy)f;eFKawe7 +#K!yNvO6i-5yBr-hp#K8Sz`GtePLl*hEEogmG5myp;&cXaEF~BM#h@eTeSe0DPXS*o`2v6+#OgZ+&wL +3L3$E~mM0rY4;));=ns+jLIYR_P)B}_y;AiGzu0$O6R6k7Fh$IHbPqlp9ok0$Xdt-=PuO^C22;}MDu? +HRq33yK?Vy`?eXGgaO2OswGd)%QM!O$349xcYMG2S9VG-_T{nckPhj~W7%QMr*E`!rroZAKZ!} +ofwX!|hJ3Zc;_AVo@-0!Rx&4*6EJm&znREnsN(2w%43~6ez$`q{FaEs>oCXl}gz1rJh#zgr+%|BwE@k +F{x{*n<#Gsxw*8rI|aoWT=H$KbMsSw)o^jU*x4qoVu&`MECVt&Ie`X$tElhi`=e}-t`^H%~?j#~jdMV +PK*_LLs!%i|o`QvuLOo)(o`k4o9HsC;8ongG;uC1sGU7M1p1)81=Nhh-M0>j=w*Z#4@9>aYyRYHu@bs +$6xdY{3OA57Ko+(5b6(HEH*7RTZ+wf+2ddMnM)m-WlfIQ^4N~2E}|~jLbHvJU9#F65vc2vE|*gfC+1 +YEh+8Ql-*{)=VsgUPe$ig<&HWOY>yj*&R}iOxQ?JIc33Kbf*}8-&Yi>3yWoiIysE4y@a|@B#=8CvV+T +5&SxEe^aZU2>G^evwPS%9|nG0>)0-qfyYEif%G+py1{19QDDX_r)^TE%2ujAL&!w+@u8yV1-G;?@h4O +R9ydf>PAu*fhCqh-_V&6yetlNi{Pdz&&%NE)m&R<&Xn*^ro!XR*69?W<7oCf(f<~sSHjy|a-8uz0jYhSjklk(42D!TdRV*^!KXOf +F=3N(>x?CJ|Xbz+TGD+X+&>jTX9s2iwt=9=Brty_a$wc9L>GO1LQlgW?M;&jJ+(pdRh +=5G##p>S(Lk*+>u;MhchrV7oZDJNg^B@ve2h8>C6g +4y=c@(Sq3g{<3CnJ$3p7%HB|2cqSJ;h~oX4M39^HUal@)Kgd?ICGZstbiIFj3lz+*MCL +R*TkGaMo%0&H9?x6PXy)0eYYVnc_L0)za26*H0TbK4?l>3YD6YozeRAOHW^1;R?s}*Ny!TPN+6F^BZ3 +NP5<;8<<~*0KWly(#LRBr%OSp)8)kZXP4kxYI=6HUg~-=f2tG^CSDt+bP)h>@6aWAK2mk|-TUj@2Oa( +y)001~6001KZ003}la4%nWWo~3|axZXfVRUA1a&2U3a&s?XZe((AX=E;NdF5DbZ`(Ey{_bBvI3H$Xj% +2r8(HLn^&vDvdc`?!yL(vv8BT+FMnbbroiMQ^*??_Q^jxDQpI$(=G*s^#>-re)?j=W~GIbdGIsb@8t% +|^qI_zXFYAImr*j)UkdGNoINFy=$b=YV$+yD!Kj03HO@piv~;G^79zehX>_?iviSWmq36Q3Rp{@Q>z5QsN=Wb#T;F9Ym~a3r!}r613GTdtZH1@4(&{a)=(yNE4T!M!2Vr=o<1|U3RG(xyr0lUA2qj^j`f-%10}whUNG(OC7FgRsjzQM(dEk+#)oyoCQ!mnN +ukv0{Nw)A_OmPJMU(L1eqJxCu1{P>i3hPSGN>Y^wxt#g*y4uR@IWsrWS`XLfOtlVhiPugT5x<1rQd=G +i$l{`F@T?Q7)gj6;O@s6R*L;C$WOKP{Y*pT@Yp#-A3uvbfjC!gcz5nzg>+ssb|1~=>n|cjUsaPdWP%& +g(JGE>jPCqPF1pK@61gLz6t$9!p^%0yL5Ql0HWB`{vL;@(6lL<^YfpLbY>|_g~`qg29owlBDsTU!ZQ} +lW%nyCnwsfUf7{enT6J{OjHvc7W4TIvbd3yU_}269YE~^TLh7ocZ(S!+@eO?#8}(`z +GMj37a7#VH>)M|PZ;HV1_|zW4?u&4>1IDCU=Feh5-I~^G*$s_9Rl3z?C#KXRKM^;Qhjpo+NN*bUM0=_ +2%?gF;BYqS!NoQ-y*Tc$S)E>J!$XWQP)j`kqZ&wFcbi3-HPd~MQsla2+38*lA_1U5z2v_en*@eC}!}o +&zNnZEb4Q2F$W1g`WeM4uQk$xVK;a<1bLF1E)?q2U%W6_f<3`|JofS*Y7$z1i(`FjL!)N~3QD&g3tIu +z(iX~fJ+9f7172eMyS9-vY`dUQv%AqWB=;G!QPD%ejFP2m(fM|TuZ<#B|XSqDU~-0YyQv5-)_l&q&%P +6fJ~5>}W?bv6V^*GT&cx}U(|SnLP<&h!&r_MY#(=soK-49%1erDjMDvW(_s;_aX#xYJ8DptjpJ0V5MO +!arj!0%rhrWl%VmQ_fzb11(q$-(niztAMmE%PP&S+ajr`iNI{&N_tD>yuj#_VfRJvmqtk!E;W+eO9-? ++`Zv>lihj?eHB81KlG%(F7!O-DpswyQ840)`B+_b*BXyZSgniOh|Hi<3rr#z12Um +gzu_R-N5v21hr`)?FlxU=X)b`F7{qyaXm_hF4(*k%oXE9|r+2+`Um?8Gr%|`7WG)Wi +*Ce3ezq?mhdwJP3-`W6aCU70R?6OWO|qTaj>v#V&PJl^?F&OFP1#%s?`NK(^!pk`#%TVjv~JjkW(xHE +E)hJlJgGoDGXqiZ4Q&50?zfe2Whtum|9)tt|DZ +zj5Wj3o$4yrF3Xext?QwHT@6VfUGG!(%L9e0h~S$XRX70jw?R%NdElc?jQtJqLJ}v#3qe<73MI*lRB> +IXIdUx+GbU|vAA%+JC%o$qc8|Kdd%Iu$dj9h7{~<=^{E!UPJ1{)FaF&ib%dfyIPYCH5UFQb+fS1~|x4Yhfwt@c3dhyga}7=p3F8K +b(%vF5j=pwDq%W$s#aj`CTLxGPe;!lag*-wk%%kE7+2@8lEm&3eA~q*z)_?$@$>$QP@(jXf<1m&>~w3 +y7k!dpog-OELltEsdA;*0^6J_oku)WrDl@Y7?dHTd{qX*HxIHs6OI8s>cYw>3$aH`ajsrI_#{un63C4 +r81=RS`_y06m69)hQBqIO-9{>OVaA|NaUv_0~WN&gWaBN|8W^ZzBWNC79FJ +W+LE^v9RS!r+EI1v5rUqPf_?1if&yG0M9EjCHpZLmc**aj$yB9Li`j@d|}mZahu=#SqS9y)x;@=>&~W +IfJ2J`RVk^2y1`B~^@E+*}7ICnvq$REm^@;k3|&WMN2nnhU83%`%~><|0$Qp8HNHi>8yv!!9nbhH$U6 +q>)aUo{89Ea;j$upLpC2+}a0vk@M`{e}DV!=6!he@%`1`*Ps7_MAPOsqaJ}jYsOt`CaD&3NIr4AOnSX +ulu)I}O+xil$n+hT3fT4G-(W<@6OxJl=!o2W`uFVB*)tOt=6~U+lL?AqBfw~qyC@{)l0}e+GiCL{fia +tcWIW?K4Esy5&;J;@ix&oqe-ulm!}5;ic}7zEG3^58au{B#0#^h^^B`#@+urOmxw0GVo10q0K=GKp5gdNq&dwNCS5?@u_*JDK)#8Bq;v +so4;sjLZ0dA8Mi6kJlY~LsHq~4ez`WhnTIfXvYlzfo;&G%5CwY-KVzn^I`rx +sp7+cUyI>s`Q8^S!MhAnlSUlo_5%qce<}fZ{kQxRgakcos9v3KWt>K(414Hm+KZNiY{h5}P(|l*Sn2@ +#~cS5b|yC8j2e}$E~I1_5g_FuGT`o&fpkgvYH(8aAY4-O{?urK)|oSUd&a!8fFwUU^K%zfJ-bM2qhK5 +sUH9xM9+nM0B*X-4an!orI_-BsiB=YjwL4XoF@rRTrIMQ#iX{(iMZz(=_|&{uf{M7Mqbaf&eiDjRI_L +XDT9EAoUOa#P?B%Qe*Dt~O*&v`Q|M_+t4%$>L8wTiFUT-Zw(<&GoMr1 +zY(F{ufw-s}eq3Tc#pfgEeGh+RC4WpCYOqgXzhZ|;xl*Qls +08iQfD}0vTof^7_9wKaSb)Od%!tXiLAFfPZ3}^DF7dKfm6@?!13yCSXdzGv-RAEb_dj0Cfzoczc1Ulq$D6*%4_2XLc0e9EcPyd;o +u=x#2R;7iJmy&AT1P+IubD0W7h*y4_f41tHGj=%mMx< +q`B}4PkavmE4wr-|=g!4={K4{P|9c%4M(;VzhXU(KHvT2x*jcn>}p(`J +ETJI@PWenOSI)Ky$_s}j?2VON#(V3Px)%TUk+lMVm?aOHAa@tO)<~zC)vd&{qiAsyp&Ip}IS3c-P_GI +G>Pdk^&nRIRdr8n8XE!FMNHh$i*bm!+i%iip2CaIlW>0`Q*E1k@q-0H@uotiT@U5Pn+vnQ>}Nwt%*ey +1xZ>v;C0R9dSo_2nE;=jw7EXy4kZ3|BiZ??}4x@}6W*UNr;M-rf)5wR4MKrG-TB$GqAJsVW}+_s#F%- +R_!%7MvyVh|nalFP8D`A?9#rbs^1<8!JCt`VeL~S!W#9L6*+&CF9Z0Si6)K>P>p!s6d&Z2r +fx~`m$LA?C0MHjx+Cfbc{fN1{XbAk0|XQR000O81Cd)<@F| +nAHv|9x%oP9tApigXaA|NaUv_0~WN&gWaBN|8W^ZzBWNC79FKuCCZ*wkidEHpsZreBzeb-kIYJs%@SK +7Q9U1PfmdI1`&f%Kt35JBAG;k}hygv8uReu85Ft{bA|+-8Aj8ex&EK>w1yu54)c|v +{(Cb>MR!-Bjgf&pJu9l%;Nx_?xl7+xxn_^MaWDV&-X!@2=xW)`G!CXr(xz5(A6{hyijU_f0d?|3#XsY +itAxNzOpRabx9$ram)zDdy6SrNn?I;lk^2oza~70&dUBMGz`qgOK|m2ii{hff9Q6UwH@K>Gu-M +T$U)6t@PMr6vfHWrFhjTl&#&qS<{?xLv0-WhTpR!2SSZI?LTWgT)9U5v-(q}^GLxnc*i!h# +>V#H{^RkaRZ5T;ku#cHa<=FH#o1{MM~yNWa45?Sk$KC%1OQ{79jA(WzpUZ0iV8bH5JE1)9xI~lxHY3* +;OR%`(Kyjf92%-#hY>K;4G5s?TOUQj3}x=WVc2EuxNlf6WSw*cAdHVP&ZBfHcqn^$k7ZDi15-P4>~@i +cbA_7(}0I32p5j~*f-vn~<(%{1A>*_}v*g_0Yh>QQ{aCm#2~Mpj03&O0aTlJd +-pI);uar;WIA7xJNcC>`hLf!dmGXB1z+`g=aMg+uu;!weB43$JGZ~yo$Y`HXBAln_CN4b5VoeMVRi<)H&YBZu|ek9_%D9oM89&~KeR{)e +Ir{Wa6!!(6!P;ExJ^TuvVo50$cEl;bj7ipPga@$f-Xe9S;8Eh)_38=*=%c$kp6M-R}^g$$IjCMEDt5e +^(C;hL|>AOS95ApJ(q{UVUP#Rif$&>`FnerPR#{Hk~xS_uvvSO*R~qzYWbKnY^S6lp?-he!X=^YAAye ++B9b9~3mt`*?hmd+5{h&wBLWLHTgP?k#_Q$nF87D9SQSX_lFXB=={U{o^p6M0e45P)h>@6aWAK2mk|- +TUh`A0006200000001EX003}la4%nWWo~3|axZXfVRUA1a&2U3a&s?mc`kH$aAjlz08mQ<1QY-O00;m +Bky}|iNu(Ez2><|-DF6T<0001RX>c!Jc4cm4Z*nhiY+-a}Z*py9X>xNfb#7^RE^v9>TI+M$xDo%ZzXH +Q}Cen;dCcXP`buXDZwsY|`wmg=6?TpVu!6GQ3rU({*{FwCaZ|^PuKCK7kC{3sOB1+s{>~CKH7VtdpD& +>#9=Xsq@EXACJVZ6`_$-HAn +-g5XPy0eYWjvkc|DS3msTQ(N&c!7IeNv~MPcvRHCsfBm&X2iNhaZkWxfs>)GxtAv_l|fEJpJKM-a)5B +;1jW!OhFuvx;?W0z7T$3-r{GjrUbauOe~U!h%|X3w~QdByBGr7(PNWpF3+%m4hb4+ +xkw#~sa*gfSola+xP^FBxZUaT{fRI-t75}0KPxahzFu)jEw +(r{0sR&L0c}#Fk=()^GxeZ9Rz`bUp(d$>qtMAj73b{X_5ItPJ>&^w2x%9ANyuh(2*(a&-6TbKMs9s%@ +K@@iimqAC6CaJz|AJ$Kh6|+;Ce<_de5au=PcFao=Q${6Q+D4f<4lC2EPax{UIe(GJ^$tMHdNDC +kv+fW<;8ZbgFn{DN;ITM8xKKnS6Lbb*>f22fDdW&gdOHgGY1LG0id*Wk&cp4<10EFxdQte|$&%e%vQx +5Us$REw~(|;hF<1j)~B6#Dd;%3&@jpV>(L1#ZrYy%^tbZs^z#fp7&$tbyF(v;jft#8I$^{NG&j`3?r& +(2r|2hC9%merDd65c^u>CK-%mh$Wz436VV*fO$*~4l-VcDpZa7x{v+@cF`-GIW)LR9p7TYp=gd1E6Cn +%nz_14i5gs3o4#Q7_vy){EOBF+7Lm3dtcX8!I=61cBFs~0Ry@Ca550pv6=>uS%b$cb~x=cgE9y6Loh_ +36^VR^ku1sHvL`}S>Fag4nPTGkH%3ri#X3K3HX;z9?ji$nBQxhYg!v%*iRbW{S4z6RxQ4q98{`1Er4L +QBM6uuw9nAphcwqgeL4d1vj>gn!)ve-Fx{BpKnUQzT2c?w0a<2uGtP^Hn45YA+DGK}$poB~Ff&IG<27H5krDz#o0pUr5!T|EO_He$%0ELQnkZ4H0J~6_cCF4pUXC~z)+mJR6*<{ +-;)<-yDOb`gHSQ~dGg>|spiB2^aQ|Yb=ok#9`xtqpc>&=^fLMY+Geg+f;HjrTGjX}|0#IdMY5HNXzHb1H*FhimaApWw8U-8<sy>y27ii+t4Oi +zNxX!<=$;!fgp*JZJ^5~Ta{vREXr*5oxn1T0?8$8+1ArK#RJ;tbPvdlKYmJIM}5 +hojv^T`BFG>`D;WH;+Bzszhvw=O%HRV^h?zUjvQ-kvL1FgzF`CH}LAhs%AE +?ozS%=Hf0i@z*8{dGrRs&W41;W8Fp=Gl01bI$=v7`x-)9S7pA+gc9$+D3v8CCmgX+#+oi;DPQEm`LkQ +f^s4-^|w;L_Hr5qexot>PIhB(_{C|4wHNb*QLq=}$Wdq9r9Eg(m}Eug=je;ynjSMfMO8}MX&f^FEgaB +}i?Xf7P}c3>_}k49IQCl%-9ayDSO=MfWakyzq(IDR#>+oAaN^!Q{@!C+-px1yJ`9h80nC;7ea{p53TI9>svcF6@5NL)%2AS%Bg?&_Dy}_FVB#cOI)k)4tE1P%es|Y14Oc-XZTwocF=^2FUEt}DMhI{+DP#VviCK|TV3BO}*iC6(@7KzI;z_k$i%9ErRE{4S!xuugkEG%Y642w@CC +fqDAU9ph@qGw^wM^mL4jqnJHg14rNgi2h}PFb`M3s6fFLp^w1$+Tjy)0jMo1t_3qDB7OWSg^Drr5rAA +5m@iwinm$t-eB6}q1ba{lnH8;t|;=tTDH7;t+e?6OQ|U;jn_WYy*m946WcVuk*rMXi(2!iwkW`}4cq9 +dr?F24*phO3VUU~d6nLM_A;s@mYCT&tm&!gIMDBPzk_)z`0bqoMC@iGPXdCi4EQA@={aP=7LvO?Oz}m +ug-OC2>eBA&w%o3{a3A}9UwQ1|LMs6BA|I;2X`c%F0az`unemN^)pGPh+MZTe5(Gz`zCAijnMO6KYHJ +TOIukn|&;=A(sc|(3lztyZg3YH3TfGn4vQsj4O8YdO#?I+HX=m76;*m(k5<7itK_zP)ni&VS!e${b?z +0w#dhi{OWYcMNX(RBn%PNiR>fAcJMt=jpR8SZGI5|V7Qk0XweuIY{R<9=uyc`CrjM$y#+>M+n3*u2^_nwc!CsH|hSX-Oa0$-m-NH^KiVJzqOj(6 +}$DV5DBLA*{%^iAK98b86GHydz`{n@2oP)SJ9`l5`)yt4El3$H#-i3PLcRU!1SU=!V^Rg#wz(^)d&GoKcGc|f7AYNTRFL&%xaZ5HC?v~xV+6B9AuUwd!J6Fr4;gY4>!`3L6l+k&!vK>Yc`V +^MM3Ji+bKZ7-&>8Og@a3m5;rLQ#@cMj_$o;I4ENaMo*QHZgYPP?&p4HmxnE&XB#HZO78Qqdc10A4qtX +pSjS$hC*Pft$LXE|4%DIu)}Ru3 +xkmfara3GC*M`2;xD$quGhqnYUfX~&R}1@{o6dg#P)h>@6aWAK2mk|-TUiN|v0vx_005f-001KZ003} +la4%nWWo~3|axZXfVRUA1a&2U3a&s?sWpZ0=phOrhtN}?rxLYTYSC1XQkH +Z(iCZ_jVRtI@-@AzsP3!jX^xhN+xwkk73$HL9kyj=XSa(nNs=8<|%CjbB=0001RX>c!Jc4cm4Z*nhiY+-a}Z*py +9X>xNfcWG{9Z+CMpaCyBNZByb%`a8d(kGU;j3nL=BtF<$A4&aV8DxBy{P03VfLjyTOI-71(Zf^ejJx_ +NB5=bD7&RSLx($D*QcT+4DKfC^bKMAW?EEWpGkWYwh52tb(GTSEZB;cVW)c3ih(&fG=6wEs=q9-vE8g +V%F9m%;TB0Mjg+75NbOs~sX;QFIz@#agXWj8*w8XwQE{xqyD8o1GV$D?w{!%5Q(#p(M7FdimxP6`D66 +rRI9k2y*}i{3jCi3asNdhfA9q2PE_2x62iEzvG(QfLDF>|b`9SA_fIY0N@KBqu_0c%VT*22@fqbUh}> +A7d#4ak97PF&g^T#C1Y0_)uC7pX@PzcPjRtG(Y@2sO^a{^Sr$WpFjCS?hRPz4&L=`tDu-((g&b96^!s +9kz+>sz|N-=M*awlv;&Y9Eo3c;ZyCsU{ffe(Q#t0LqM8d=!z=7Z77DOp4m<;?utH8J;MtrU4Yb1K5E1 +$K8Ayf2e1Y-Fo?RhDPOb@@cYR}Z74`V=uOQ?B3*}6G8?Yg|BDB%nHqa~y<_*ha_Z@^nsG}twG5B{9GR +PYLM286AKtS?vMx@II7(?h&q*)=%8d-BR((nIr+ihKUuG?ql7p-49EA_15tB9~i>>pcq&Sur(r6QFZZ?R`{DB?NP>K>_mkV>}B^MFCqIjO5|0?9y3Ni6yKT>b +X)NArTa>acHV&TWCvw;?!2w1-RI)4|bZcMlUURu<)CaxgpwKED9O2Xow0eZWP1^;m-D|lKkORHScNaa +E{M4VW8S>l9UB7v1%s6Wth7?4#3l57%`R`@7Nrig5!6o)Nm#n6Aa>#HyT_iFSqA#XtZzvv0++ +sP#t0QEJ<6q>$FwmXsDr4=FGpPcDQH1Rml+OVH7x-nu@#U&LJbH5ys3rx?Ktli&S*sy^EVb+YT^j_IY +Y@V2OAD`tkej-bt6$#lkxvOdLhe}5U+)?_M>g*3%BhshM|-(DLOkjL{D27vq#5wQS!LO@pCY6?IQZqvBrv*sPWa+f7yX +~vf3rv&sdOi6br-S@@8TcR3%b>nQuV(x6)kXWX+1;dA;5v9hkXNq=e0#Mz2JgqhPn!Vs +V^jhK3Pe6z&U9oh>Y05Sf$rNd-lh{TQsPL|cxAle^>lA-~ezb)*YJVH7l#ptoJ46`(uBIv~hMs +nAL@+wL)x&TAHNOJgYfgRFROvnt1CY79s5hyY&-umhsmneor`{>((+V@x#P!}e;PdFX7!jOk0AW=?w1 +QN#hP6-v4AjR@o0tpC*v=9Kn;uLd=mhfd-tmcWEMBJM5wM6*Rc>wbezAUT>WsFJ~h?tHvb!>|nNBvYC +=TQ!pTCgW?=ZBT^k!>Yj6V)oMmKlC`#aQ_)e#M$KA0|`g=C#r+2Cdf>$IO7+iW8fVUQ?cEc-vkaJ>R^ +hEPCqNUJ^Z?yrv{-X3E%T8S0oOYZ^qzMvx7#+uGD1)aP=S!1*AeU~WNf#!yz^AF>g)b@$YHAd)#_-~D +R}ZBCMVCZt8qcP1(q@g4;&2736T1UZ$(@B)g;Xi7usOQ!C$6p+J1?5B{y;)&_)s!Dp#(`j%2suEwsZf +5XPU7AJe=jkJQs>#zw8hkS0KFP#bZ6i1+Wy3FO48%Un3AjmKg^J}qDSkWnt=??aj;p)-wS%+W`r*;x? +(zOnefQwFQ9rI7w(3W}z5l*SB%ZMlQZq8owG>d3O$tusK^l+=bOoeCbVHw9b<9s~mdJ4iiDs_#$Uh)S +)wL?f45`F@Z$^B^1~8{#SWRZZ3@@A^?#9e{fZ&JG7^TpSMPkG|e86zp6B-*r!Q2loiF3u}`6TcdmU=c +&a%qwDEi*^~2@uQYi$=A+f2hOwfz7}K8pLYD)cTRlO6Kc_kF76uDf0LUMs|22=MPI3uoH8&m|D8vg*Y||A(Y5%_)`BOV +XoDZ3ivA)xfGwnKjzHcfWx`gct5=x+FVG>9S)Ppj&W>Su}-phm`8ovbvzsI|Eg4Kvs$)li|2CZ;v~~^ +@U_~5K(-Ei~K@7BD7u^5uuF~-KDN6WwoQtHSFMUW7VqtzOGQM;wMVW!SR}UvR_|QNA?faR=#?5b$NN` +3`CAL6rs2=e_Hub%lFeE5Hk^L&ON8Ti#5cCwIS?n_p7zKmJGuMQc~@;sDvcacokK$U?txE-&d>0@I`l +11CPauK5}<}4H+Z~IP7EHN2b$erMAU*S}HaVYF76HWSg!D9hgZzm(VtqxWOt!zp7SHIiuzqf@v}e=|K +PRWsLExHu}264~Z+u7zXjNI~woa!xslO$HIynLj75Zhl7$+Chth?@K6)gF=~7T@_sG>rloEsl#;ayQ8bc=;@Y*i{5n&6jOXT=+z^=Km?DcutPl3m;fX4!( +T|$$?x3`Otzd!us^x(RY$4c&QiLGv*(hS@ea&&Gy)r+cDl?J#S7E&Lx)O9KQ +H0000800WU*S=Sm%0P_R@0H+H803ZMW0B~t=FJE?LZe(wAFK~HhZDnqBb1z?CX>MtBUtcb8dA(LmZ`( +!?z3W#@or9!;rd^{b3IRSOX;K?-oFG<<0!1ON$f2|qxn%akvU=!m@7rCH`iPTWiV6@wX?NeenR)Y;XJ +=<4!so+oRkN}t{P?^3jENp9kcL#bW?_6`KRHoJyQAd}6iOkHRNXjbd%TDril=yc!lx&KL`W0`Qun +CUZpcZwdWkwApT^nN+5SZ03uM5s+R@GY-CaU=V$Q!M^l|<+p@(08PC{>FjZguMhFGD@A8zk@YQXYTUf +w_4lHpH|RnDd(AcHEL5zC5wH$^Bbwx3s0F-p=@;c!^0}^Lg#Dw$QKbJ{Y$nlc(uCjq0bRB2At(hyVE|=8NKcw>FV8GNDCO--^vql3yGtcE6U-zW5HXW87oAB`4^N7e>HUM% +RE##iZgKc<&s{9QD8ltf&BoUC@ab(#yyPj>8&qPSu8_i@EfYg43`ZOeES6w1Ba&%?7nf>9x~3j6(usZ +!rp!k%NDfa*UL&*e>FU$uvuk_*uOhWYNd^?2zXl8Szujt)=;{-LTWrShy%W1McRXu=k@H +3u43Rusw9Jm2HYXsiM(oue&rv?>qaESNs%eGn|wqW}~muB0XaRbetNVvn;?(pv||#e|vrQ_h*SS9c6@q0$0*|U2 +sQw#2o>*mp<rmOr$c-?Y;heKV`Ch;oW`VPu?>mYa(Fn7*uf +-QVS?~syjRmcBC94xAC0ZxEnKn3*VpiyJo7)^lyu!Yd9kaTB2kP$qq_od172zmfXPh@Zqb9zE14CcYQ +A5WCm@c}kh<|K(PMmmb}KMeI=V%=a5n)@6aWAK2mk|-TUp4<{>JJ6003bD001BW003}la4%nWWo~3|axZXsXKiI}baO9XUu|J&ZeL$6aCu!%yK +ciU4BYhWzk_y1G>rpA|)8Y;dycsesLY3wf43Eb}bCheH7B5k4+DAgt9Lctm*o +{(64@Ect9R$Og5?0@mfzynoqkwr}NjdZ9(C<={C>Vk#z;HIBds&yLQ-r=;cLgt|43U*k5a9i&FMkjLz +d#bCvBFKRiSB`rpLF;2DXPHD>U+@K}cV>p=FwL4Ad+>fOj*(zm!P)h>@6aWAK2mk|-TUkFB5Vgt|003 +xQ0018V003}la4%nWWo~3|axZXsXKiI}baO9bZDed|Ze=cTdDT4IcH72w@A`@f{Qyt_5nDOQgBm8wQR +LXIEUA{90)Zik2m}}mAc@CyzoviEAM4(GE*RWM%9r+(%gZ7$w|&3N?7?6#*kkZnt>;Ug7QzpgQ +4*(|9{y+Jvqw*lvgI;JBZl2roEAKv1tIrk<6)Ss)_FW%6o=4JePstvpMF0&czW +ehr&;kLE7QnhXR87xI?nSf_gIvLqR8WPK3VX9_~5a3M38yOg_uM<%p!PZ|C->k6X3!!PJ_f_`rCx3&< +u0wDc+`Gk_mWl33$Ic`yDV}@q7c+34Z`IHQaMvOoAkt$fq9trtg#KdXff90~S5hizZnRscr=4EKayR7 +Pv{z}R`q`p}3Fb)i*5ziBB*)S3oSO!IbqmuvxLXSPcAIHlnk3cF;Bu4b?g&wfeq)p;g +Es_Z4cSS^tZdGf8c2+~1epMsUa5v<&)Ks*SzaNLLndacT@0&BhBQu$2o?hl9KgyCU-)W&Z=_IOrtkI` +mTX7e~I^nIUv+!4^pGn;FS#Oiug@tP$MUaUw$`J_*Y +zQC*ezds@aGPs$c&cjj~$Oa8+H$&zVNqmCD}{Q2!A_!@rRJF3iex&l$1g(cX`DmHwA8_$DTAPda%M}zVVfIjQ6F7G +8o90--VpaIn(lfytOmCU*P05K_CPJvs0Nyve&F>A@OsJ0yI4Luw}YbZChw8$h +*e>#lGr7-{530I0;}DLqh%?mjQT3QWs_tGKDse9Jy+Xx<}wAEe4*%=Og(Jw?LD5GH~-iFls3mU~v0%O +n;B$)%cplMu>fhmGF@iXnte0M(#kYiOusJe_5gxxfz@f-*^@TH^oUq#(S3|0iex>cLslOBCe_rUN&?9 +RJTOPKkA5_%&GqGi}TK5y8QHV6gAFI?52tVPCUqF6=VICqst;l#WwpG2)_a0l+b=A?XWnzHZ$&#fT3! +9(IU|>+FLid6(jo_aES&GgRS+yB`k~3Abxt506X?vVl*#@d|auVoMbvHCY4V4x`&~KWf8pGZRr?f+P+ +Em-I(w!bBb}?pNFb?sajtpP{wk|J0mqTB|;`N>{Uir#3?oQbfJRKjqh((bpp_<6xf+fSxovF|6Bs5(# +=l;=`bm6cnp&r^E$?x4RjkE;`8YxSI^Ekok*~p=qHfftdU$veeD_Uyz9wJetG>U+Oqah5Fb-1tOwMid +w|3j5(s*nB%ai@M@5zRLeLU4f5DBUh-nS;$pj{#>ubrTo`n|Z|Sb1bly2sOSOBLwV_W1N4uW^4EmYxw +Qd!Xl3G`iLc&4V5ZFCKy2{Re1o^&zy(CiVAZaTpEn~Wcpf&T@(HCHYUhw}GLRL6-5mTDBkD%mdH(f-> +4Ky_PZskY^4J2?K1ds;pGvNQJChJS0FJWt7kM_xr%H_(H-8`n^)T}Iq(&jCLIGx04%5#?zG>Cv9u}wu +4ozhPq(<#d*P*>l|v^t{f`UJnVqG`wM+^Q{5_TJhJ{opY-9M-pcf8|*|XFulk~MJy&+nygih>cSt3)v7y&{z1BS??^)2TaVohQAX~7BCe#IPr~I65% +*j6)fkg|Smh0BfqgaGN9=XnmMZ#7i3Y=p{v@_kO5vR4}rz?T7$bL}G`9#W(78-jkVh#}y0jV#Eg6>{97@LlM +bFM8Uk|etalOWwHD5mn9-DT4xp$JH +s+2zQg?)Se%CUYzlAL#I>-vqG?+DxNU*7$7mN$plCex5t&2~ytev{pjKmjh!b3=Y6ZAkt)@+FU4gUSG +?~@BZMIFCa@y3C(~1Bjm^#MmJ5y8qKONcvE=Phht2;7#(&}if5gfBtsTVk6B1cpu2C@gNJk7F1t@mJ75)PI3dv_HBA*EpJ+T(eMFLl0c5p6x+ExIa#m!l1X4SKh4)cSlQ!W*oAdr^O}TQ% +vYl!|8lYT&#{+q7h>536e~7tjr;(k*aUG3Y|00sQmkW^JFi63c;+`~~Km87_FS{3q?A46 +UqAG^PV#7>Fhwr52Uai?^q-7h}lOojkx2_G77qva6!Tt<$;lC}; +Dh$JFUh_xbo%unfU_Z7EH@t3Ab!w2Y375J7adTUY!T3)_!Sr;?c9p>>}8DAe3ql~)bX;g`Zx*)0r@Fm +x(GO0!5xDSoL*q;UcrKH9X2F6XAeVa%7skDM+E-Ni*(zCTW9sWH3;? +*7o=J_d!&z%sZv5^}VB>Jaha=c-M8MI&r%hM0<}$MgqL?)UwgJYbiQE{Yk5>24ft$*s=-eJfM>Q)~NyY9c;HZE8t}WPpVAbJ+zWrt@w))d^<{UMok~3f?9#w=ZR +q2KS>)@5dPk{ItZ%!oxCEU(__w0cN!~1zsA&u>cJz80B}kIG%(_)8T@F5#@?b@W9Vwt){htGIOM}sAyjoQ51F|2{|ykbGMsNK+tz2c9H%@&KJpQ9Tl#V{bAfag|OeOVN{<;*=29G4 ++(Rj04gd9Dyh=Ka+mfYk`#r8^G!uc|wv^DLdc=#0GnSPiQ)r|C0^CV-#vPMcS%BO1iLk9Mg!(F>xLNH +x0JH#Zj^Yf^|zyKCQ$uYMffnwg6!T&Vrc8WCG%PwZNykI@~$WLNv>*!a%#k59C{>R~z=?)OJLqkNk9% +-~RsWlM>v=*nwtvqH-^j&(PznEG*wHl~X6|_Vxt^&-l0_$(mKA#$O`QYAoAHZq4XVPqI2zs}R1xDUxg ++hsdH}ngND%q;6%KyX9tbyW#WZWuGbe(cJGVi~sZl2tOa~iMNBdBvJhTnFMXwE87*d|Fa|r#EdLT>lA +5cE$$>hEu^Id{#mKeiyT6Y(bZTcMhXe%e(HRVY$u~_7`enpq&s!#>}MIWSNJ@=i}Ng%=O;&JCueUikK +ep@JjWTzgSsLwA*e|*I-fiE+cYkk$8$ET`|qc0iq|Qobq>D!o-AV%DhUwo+iqXizAdwP#V(uFoNen=l +^|5bCMsgpo;u<(uEfx|z?9y^po%s80USpd7s=WLL0bJt8mc3&8dn>tDHl^qAWT0|_$RB>BMYp@Qp6sTT|5f_h9X^Q$DU_lfYycoX-U}=xxg +k!W(M!0^j@)JztPJ&DR2dhW1_*~^gH(Z3lipQw{fxOY%;!mobIuDa%%$y+A(bp?g0=0<41!9S+4laQv +is(|Unq@<*W@KS3Cm|6QM3TL>_<3etLs;eMHhP|xV(^oIYpc +)9d`6TJ|JfD|{{5iF_xEgqAk^uY;o;r#MSLLX8qfz4~=(sMQ(q}+Yl?UXz$GSEH*9sIslX;$%E7u`Xn +ZC+b%CZTb$b3&W(dcDal&EJDkQ>nO_>QZ2>f>rFRRN5HyPRyvi{LKE$Ii*|AIER3ZBHVDb3qZs+S+fH ++i*T(?!T8jmxUEVZJVC>Lx!jJXiBR>aYq(mAn!(VU9PgifC$9Uni*?e(6B-{B2NRLMQ7^1vm;Jem=}b +^Qb%CeHNgzBh1ak3BeVK~RL73h@*WnqpvplL5O%(>u|gl7AipqnQVwK+eh`xzNNW@>8uB{pxg>{*c4p5Mo37SOW)z;#L +9n0RLMog}fddKRDVEspPRui#m}lpgug*@#R3&@m*}pu9ymk2KaIu&%!H6+lLwRhFEHG&G$so@q&a5;yp)7#w7$IKsh2Pzp{gK~=Yv +NOEUOXh?WHQfXi*0e(wxp*Dt9Y|8#M42OCK;ziy&OotxnV7^+954KOEfr$MC`VsUHeDC`KSC80dpRHf +j)NNkCUDHu&2!+Q*Dn@F!2?R=lcogxH1K9XVtmCs6kQfKRjvNc=Qg$CeV2FDK +nGL*7e35Nf9Gy$=3e2OTKfDRT?z8+>UcjMr$&*jxBG`C(6+t`t&=5~vLti7Jez`{WRARL*+SrI=VEHAnSSotXG5@sn)M{)5>i;1Jm-*mScSV;**6%yY +Y}wzHO29cJTsmiBJ}!+J<^G8Q`ap(<_glzGmvNCMb_q>6x9AwaVB8AP%mqlA6UG2Q@*{x=eus_yau$o +BJEdrVJSOJ!U6!;1Etf)+T$S@0{A^`Q%n*bz-kJ2B`mfTrZ7Xn04&8^mkdtDS823;%mi}3$VFfOPP?o$Y_BFGh4jEOZR_!r +Puu4Zr&nT|t(x{ym}a+^-X%Gz4eQm+3)@>>T>ky!7?s|-GuCPJsq7 +z#NPEZ_51=8E!|Cdt6;-s-B*~5$@{uzQQ&q<^?l(f$49^UD^3Cm7%9cM +00B#Zxb4!vYue;;hlAi5#ZaL=fP&hD6eaqUr@5ybMXTRe=|yc+#52<^J4f1G(B@NC{fD1VuunF#|ZND +b4pdQk*t2u;bI`uiK%K%pFl%J4H*Yhmqy +C}d=At+)BZTHsB~tJKpR`b8caV0t=0p&@9igmgEO9PQ?tPU2g<*ao((EOsS}onI +qU>hMns95YelE2Kk{QLQ_Gwjx86Tsm^Bdyu=Ppp9Y0Wtd#GakIa%YMNBf2{e*dkSG?1B+!q1>FZkm;v +y|Xwd+%%z_JxeU`4mQA3`pLB6`hG^jUyO$`6seOv*4POz(MU36TExq4m7)#% +xE>vf>&I2hZ9?8hnV8ZN2NI}%VcV}GB?^82>z(hK`Gj|X74_MtWCQXD3^m`LFsfE_ML8TZ&qi#+BNGNQa|%h~qVDgF;oO +9KQH0000800WU*S$f_F;oN)h1?Z#Xfa_Vc4fxa8yUh~EyBq6uP#RZXbj5|+yS< +0D|HoZF7``Ozu9pCDi9x?`Gc=Vmne?m7&OwqyY6wz2-KGeoY15|c#iwX{qMBm>j$)*&fftI<%6h)T*W +nU-YcBzl;gBxbx#DyvortW5MN1r`hKTP$GDuD_;bmQQW>8Ht{WSNOwErv1eQ9nndob*Pt{XsxU!#5&T1v^Cy$2j{Iki`BOQXwmzNc6kkIs +V%Ke!>8~``tfJd6&HlRX@S9-VvxJ`W8&FFF1QY-O00;mBky}~N$YL-20ssJZ2LJ#b0001RX>c!Jc4cm +4Z*nhid1q~9Zgg`mW@&76WpXZXd6iX5Z`&{ozUNnP*&$Bh8bvYeU?9M{KCl8?H!SU0RctyDU|WVHHw% +jHw~u=Gm9>ZFQduHDlHW(N^Z9%R^lJ{=3Tva2LX-xTyZbx+&D`Y=nYSf^*>MA+YD#o&^o@{X!Q0Y+he +*7An#ty%#CB&=xa^K_es=cx^!)7n6KoF7_g9Dy26+{OMudxp`)@yguM-bbiVSOwDSTaD`SrNw5$1u32W_hp8Y(n9nS+rY3V02IeEEjT +mqmv}@6L^b50Sua;lY70w&Dq`+d|tk_gv-Z5UFJ6$7GVGEs?pzB5%& +(kU^-&{tg1m9110?fXRZsk;}06@VO9=!3sp()i;27TUfmn))^`^t*XOSP(r&t34x0vy00*kiW`dUS}K +$E6DsNh4nk(5O0md8}jNyrwEm{`5$J +B0Mc5I!vn9*`lU7*97MMc6`%`0R?S#%SMyYUUMjN!SDv0$unQ^wdLg)OzVF+^NEd056{`&?$u*v4?@( +QC(}efHNcOHw8)xz^z0A4@WsV_3HvZ|ugxABn0qbnD|-g~!mGy{Hm0V$jgY?E9V?I(cYiCTd|A3woWL +{4bGxNy0UCVK@yCp}}4ed<3Gn9kM%VZoA!u`L$Bg3fFTo(I)bLj@tHOL(n`kfezv#x2tT*#i)9J@8_) +R>u!V4(M^4MNZ|fILI*Pao@tG&xDgpIX(xGf4LV3fM_NrIor>Vr1=Y}4Gq;3c!Jc +4cm4Z*nhid1q~9Zgg`mW^ZzBVRUq5axQRrl~-GD+cp$__pcz_2RVf;6x}ck#xfwy8ni&y4oiw*C<2R? +D2oe4Y9y7^d+2Z9IfoP_CGODq!LTWw+jqWm(Q>(5F!*%GLo2j*d2MXVy%&~_zdZRY==>FTf~BjhRNT2 +dJld9~J6d^Y{FYq~KiSI{FMim(eDU&owm&l82=-ev$h_d~nmHlZ#mAdBAAY~igBm4Ep`F;WSJ%IU=kM +NLzJ7oG8tt-5crF##TtWZ~*>=WyR+>tbZn3DXX;~+`e0MK&Wo(|J>%CMg-aZJw+Z&^Hrt|+H;`~twHx +;6j-Tt`KycLVZZpW3{?btc{lwA#wWVegOq7pURDP!*XE(opY`)o@Q%9=?hwewt;@d?D~ZG4O$D|~PDQ +=?JOVseL0z$T@FB|n0$Wz6!W(f7gv=$v_TCs4`){O||T@Y%-U{1DDaZB1EoOJM4IGuUo=_swi@wx_rQpa$n6;qhUsB5mAI2$7H($BDcTc@y~UKwN#;KhjO +BK+chC=&pj5c4KUmz+{Z0)x{N(^;163JvWGQZ+YykkF6TtnHnrd}=n_BkITaA0$xdl=V>WWc{O-*dNE +j2OY%8{Sonv|D~SgIV37aPo&52mrJD5d!qq_LE|7hc=2E*K&+FJ$orUdET}bmXk^*2*0^x6QSuIM?Ei +vnVLF*MKFPbjqux8hhV~P1p!WoJA0TimD`-|zXtC)Mq_LyW^uQm_w(JUWOrR27W}ICkE=}KZy@7sN@x +2NUg9{{cPEI9d7feZr&D6*Z3&ifV{JR$nJknm)5*bL;iG><7$HKH2w9E^KW)vsI>rj%tqgGn?y4)5yj +)`*!rLOFfW~390kIyFtrj5x_=hP1TnoaR-}I(n|aS9+BBe*$_H| +KHeG#i_h9(2x9bP76#DsCf22N6L*3O?kQ6nC;@F!Ee(1?pGBTWlHhqCgd=^=$x^UP^L;0^^t;^(JJgy +ze;#}FWQq^d7e5zRCca@b>|AtsG7*^PcMu)7d+9B=$LJDQ;~ZH}I$VW>KEebtk?v5YYdVP7*3tsdkdj +isc!CE2%7Y#T3NS2F`=^2PdBfZ}{0eu4w8+gl5_@;qv6joW +bB9JeyuLFHSo;75@LZSk +J75uqADAIyyA!qC9H_f6%)X(#z7NH2h)aIsx^u==7EXNy!7fg^%38U;$9}I)1WATz2kbuYO3(c9L-SwJ8M727ZyEv2ar3T_hkg+Qzq&~r +*yT!^MPjLTqx40*8pE(8vE#dtNYb0*6&&JDf-^G{DIK{&X1Y^`zn~qx#SRXr_^w1k3AK<@h2CT!(rk= +2at_EPWFuY3z0|pn1r!U{|Xz?#lO9KQH0000800WU*Sz)AZM2RH;02PV=0384T0B~t=FJE?LZe(wAFK +~HhZDnqBb1!UVcx7@faCz-LX>S`xmf!s=Di#bj9g3Em0|V|T1IKZ8jP()3_DmMCKsMP$sn^YJP9K&yM +)tSwyXxwLl$>ODvDgOUQ0%H#uU@@+cNOp7zkg4`v)x^8bY54}OyB5|zWUGLxkul9A6HsY6Sd0Xs?ybz +U(8m;c2}mCSM^LiH6PXElap_cAD=w_S}k{~zS8O^8AjDQ-b_@bwR-aI?O$L2{AS8vvUH{MO3&2yZ+_t +SFP=Yr_Ug?uwJu7P=sHd_81p`$eJ|Z?i?UXwHlM0pWj@yFM&G-)E{l!YrrYWKqt26}oZ4xw)2xO`Nb7 +jJ&31GCu9~PH>BGU^mFa$|Yw0{+?&f(6Ll5_@iw`4}=Z#n +x|k+kFt5I?a4kmPL`xi!DIJztX&Re`IMTf4wJqZ{iPn9_MkktKu3l`LU^+5(d6(bXCn0y(*G@Lznte- +vB&i*8={=0q)(K&*Lnc&()baAH6`18BNsaXMAt}dUjI-Je`E!{-85`8P{okDPIw$@-V2UMP38RuyvZR +vL?~|5$KoFx69pSSv1=UKQ|SC!VmRTTD71hdL1_zb-6CegxY6muIHs5UEI4TA7Kuqp00|`HqCT2nm+u +?`+PKpDe4^P1JLK2c#9K_mZSGKdj0-pxrG1LG-jv|tYFjQwwq@WR&*>MH&S@awuvmkr1@)l@nmj8<1gfm@Rl!=|W6441{WOyg +QRs5JXT6*;V9nHEi@RxmJZ^jL~-vMO3#v$&|g~phN9ebK>Ky +4ux+yOGss{n%RJlf+XA*q-kt6H5~T@_81@PgFWg^H5|RsswF#nWz7h34uui +B1>3b#d!itQLI31!c4^6LDp3Zn&v`@xGN1Niv}&j8of?r05R0l1-l1cBkk0*eidhF~HuLHH^B7QlcAcIbk_2U(rgAga +xjI#XaB;RG;}{vSA_Eq+Fd$l)l*#*`OCPY~Mnhc$8rSp$GUxZ5ohyOW^QanRX<(rmQ0Ech@N_8MGtGDasEY(Ul$wx +acTQ3-vBf(R7=j_DX9cVP1fM&0sPK@U3}oVM$Lnhs9zIK?vr)aC|6>c0@&ZjU%QZX9{ +O^K2Y7xK`{|Ef`L2?w06j%DTs3NnWR3$5H4)`405_3g_SB*kLzxMACZB(vt9Ss5ACz*#KbKb&6 +Gn+*4hw~!uh%@3~9%jYkjkvUtjsV9W?Ss#&1SQB`(XRp*)K_U2`#L}4<%r_vZQj|ra444OSx_M#81kj ++DKc>bGG4>L`KCz(R{rtjid`lj&mt$PUM<5u}JY{+IuHrTFBN_%0*w77r5p&Zwx<&>-5x?2OpiV+3X@ +&BHXAHJgTa^5b6&9jpjUpJ68ORBU>$p;+)EH1;ceO!2W7CLsiD;UiHSk3GQ5zEo)S<5G>XBGc*s=mfN +K)j#qTEdlEZQUC_6X;$E_JR;^n4IDtk^YCf#EV3W2*&tvSWs{1}CV}*?OWLJ`@wo^U92egAd{28E>GR +KcK2AmuZbE#9DAbs}FjIo<6+1Y&eEt!91hQQ#DJr)JQ$A(-Qs_!w%FC*o@b?gNKFy?p$gGiIJxDw5iembiyzfyGl5O}U}~4tfbY@RD=){`Q2H2OCfbq(n +lT88oM$hN6-A9^(h2al0##VmdgKH#4FKm;;6ev;;9*Ke8Q32g5q@MykMKX$VS(LTLkHokc3IZdloy8e{1e=&f0?1c7+Zs6)*Bq2wyraG;Y>xS~mnVr{W*(MY;cHo3cl +m4uVR*^sl@P3nV~zeC2I#BlC+ak +xldPK0F>C|^eLnw{S@n|-^NaG=??x7`22S|RqX0ZRGjH0ww`KB&1^1IAVK)%BvyL~?llOCI6STVm+0d +g&D{=}zu10oL4&S#H$gJ*JPqaSjLAaM`rtx+Q4s6fr`jNc|{~4Nb7`7C3j_QjX8)8IO?8X4}B>!`3O` +C8mst+8EG?6T0EMZSEP)e|8oM@GdTD&Mn0wRL|F=62ri&a*6p6E6%fxD0wjiq4Lh$2!rsSqXc=tDPuLCXnC^nBe90_>6 +Hf1rE7C|3$4Irs-^K~mr0lhz|%rV3qGShBPWu_B97mOtEjPLyp?l#vM|-VcQzWcPQu{|TnolU@#L)klyM4j<~jAIY-MC7WiVk>*$V(fy7nKKt1G>&eIU5XDd!coo +5g5)GmX%0%W?@I)R;Ef#xd8%ST|4P%GVmc?9F?)d!OK$m!&3bXqaXSzoU +G8apqG&BT!e?bpBec)oSBIB~I&}N7LOxN!3!2|o9XFBH&7gO03W=vQL*y&lk(mkwTo+a?_haQ +T6L?u!bO`gE+<>+8LGU(00UA!v73ofLDH~ +p3oOO~i4fcv*+|FegDr0dTN1}zEHHtW0&KB9q?>JHJv7^C;iTCdlm0q*d|AhvMLoq^rO?r!7k8^bm}; +%0eqtsbV;L(ta^hq=XDyw?M5D#Qke<@+2R56bNyXxV9Jq`z^w!WsBbs6{mPC=>L}4|eSz*f?X~sgq#< +oV&oLk>9Bc&ANuHeQW8SCuX7Y_9D?RU!DGT@p182@D9i;9D4B>Si#*?4^Yg*?`kTxfCMJ8) +R{jk0&nXwM%uDR0M@rv*l#CWu7;=O^pJjCnlPrDTR~h8;mfP1^8Bp@9h9J9ZxK987nqh78r~W--O?z( +B5c}@OfHol$SeP?l92{^VOKo1NJuVKL&y*rfVXnZ9bEI!w&F(!OM1_?SjnBjx4ysZT}N=0XUez=O0l+ +6W9R?wG3$U5WNY2^G(@nKJ!LxTf~lnt$>B;8q~f;{PiU8dik$TwF)=w+t$HshMa=l4K42N{*C8vIM1P +sh?OR)Z~xT|><&x{VGPhQoyZSTLB4+278Qm1O-_Jo_K<6Xj4uhrz&$r9UD>w@^jf-*GB_g*!=x35-<;}INF$GQ>z8_ +}~dboE4)1#p|Z%GorDT{1ZeDBDLQ%R#o6mg<3&MpI!bY>F0XK4=VC{2!Sai +S5j&+`Pc%vvfLILg>g&#SV@Oz~F?iXB7;x0?pA(Au#m&7~rGHaMK_jz&Fr987ms%~qELE*xlIN<-G(7 +G&SMXTY9WoTBkT8kuQ;s$8O-7LgYJY~q@k8gM*ETSGuE_f-k6GO&amg3hbDQzgu%K}%{loYHQ=IkF(Q +8EhO~p(l`F@c=7JFRtt_@=uj+lHw)SK74_ls1ooP<0L#BpA3lYHbKZeQ7xq-oq-NG;hMVD1}te1Bkf$82h`UG+ii3T*p+gkJDq8NP%lkd +!u96xL^CThsIEty%~y`@Pzu_LTBF@9}|loj)6i$SdZcGF1(zA+ha%d@$cPkyzDT;=uY^)rLr4rVm8DZtW$|IEcUs~bPddFPduc +oi)>XN2BqYn1aGQ$QcSg2kP~APa3qt-2|42tqp|FCY8K54<4JtDKDgt<$PlXrsmD%IGN+d%^=yJ376|~-RMEi)fmm!!e1LpkvBs$LD@xk^NOh$## +jG%mJW&f?ss#rMB#Dlh+OBE22<7Z$J?F&*9sofvEIgt?=|mF0_0%#nCr@9GD;+iAg>5@1|GqIYMy#jLOygX3xYjPEF;j0FOr4a6|?k9uWd3km}3}kTqDeh@=7`&yB2PmbGQo!jWM-Az;p9f +C#wOS>}!xw$2Vco}To$!fj8f)@>h&2jmm9&by^^#}S{q9uE`CRMuw{{LZ+Wt@x?SIIr+z3Kgbv!8!8e +#-3KAliA);2?Uz&i~=KQzh%M%V1hM1>-6RfXMU&T)IY|H&q{q!R41$zt4QRL_n35o^0aROU6ORXG*norY)?WqLM+j2^JITOee|Gy +Xr-O?2F5@5p^HkMWckxM${s8_%3R?wu-6Ru{|kVNsq88MO4cjW~Si*8BY5uXeJ2}hNI +wK@OofwKLntd8V)S4Rn9j!(PM0M{QBsYi!FARfj&m40n>n(As8AKQ2job%Z?7j|m1J#z!;?od1bW_EE +Kn@>2G$|@$ngiZb-$8#)Pd5zQfWMKxZMo9KAqY0yS)>2;B!tPkan_FSna8=N$-fRsy)o6}?JxE6C0l3 +E16#w+k^V8$Mz(h#6;;G2bPX2@pD$53TGJ^z@wqKn2yJ$UHrR9pmB)#^yl(bgk^_4G3*n0LSFa;I@qw2JIH1d|=}O>qKFH(r5dM&IjWXgghr +;Ix%a%2pxJ&ObV~Z7dzsb{MbnnjK8hAWxmGtKrFrx7Xqo+6-5l7kCq`pZYhq`Z;?#EDMW&CPp-Q+a^F +WilQHZipF3UdM1kCLFi~Jxo1@<*gR#OYj$+*h>U8Q^JQxR}L&ObM6>d4qNFEb>26M5e|6{+uEP2%ue= +a5Z+2jz@QKEuXbrvClnC`a*huFm=|NWb=Mq-OkDDmLgn)}wfPb9KUjhsT>ENT-cVKDQ}k`Y@FO +NZ7&-%*N^+>3w=>=+>okVI{-D72zDfc=dAM^w49L@?ou59E45`%oQvI_#>u-)Aig@;pRs;w1rg({xtJHZ2s^Fmy(G_|U# +ED;UE^>R~*L2$`q-ZCv*oNw#0}LyS+4;qyQd8rxnl0$CaOi*~-ne0I*{LKwNu{xFbp+UbbJq_MWEI<9 +7T~C3G;&7FLrX3(iRD1zwn%fUf4!2WHdk0X&EtPTi)3l=f^HQ-pv1-VOe2onNnbKeFdT!c5P020Kj5wlDWLKZiRMxKj-qT7)>eX~P1(F)_^YK@peR?T;X3a +baT&_|uNwVDlxJ2u%x=M8!m#eE(b4tt!B3Q7JPY&P_R1Uwd2i&P6^(6WpjQ{VWr||F7$VEBvOS_G>c< +M00EH0fJ_yzh5fU}2*@m2*iuVlrE`rnWH&m@ZA^Bh?qYJbb2QRQ7iZ+la5IQ4ewx1xGx!NJ})4B` +K-ICw7eQ5XFZ}=SIKJ}%KYxhJ~%aEGSS9IO4S0%~yC`ro*cy7}e8f7=v^|#K3I#nI72JcB({MGC*r+O0j1XH4PvT>C&wyej;*?8PtOTKn?cmaDdVUeV^+!eH8maLT?s%d%5kFh$nD}^ycUpRLVSf8I(7DB$xvtL^8*`tR7dji-HW%+Up#;H +Om4T65EJ;&_KmwejjuYwo6F_0qEsS7s}BzMsd|nZf)5OeMFsEWN;`L_To~fx!W%w0=+!N8Uw1z8K7~k +{l4`)H=Y2CRJG*qn_wX$~NlDR6otp%mcl63RVG}i-PA}-+U*&QP2X3*j4HpY@HC(YtYrX_Sq0N)7F@) +1eMOlL5LBRlw(5OUI +v_xp1m?8M8%j`d`=1vQ^|=jbA6q?s;`&2?iNm4RnNG6oxYHZiaUk6I+V7Xn9?>2aeR@GBeP +dkK;D;jkbPWRd-`DUt25h4oqhQx4htI9wK_WNBMaNVGR9Y0R&`D&C|LHN+S=#S!Gsk>p&Keg(15^Zf +_Jb#_#%(`5(h$kQUl!_?_q$_xGuS65C$Bf16^NyT2)KEv-8~>z85;@twywbZX(~udjuB7jL9o&r^3>_ +bv@Y0-_62kF7XyFYgiki;z(WUWJ3*(>2rt*J2j_rjC@VaDx?oNcJEMsLS`nTeqGXfWj#kdy%u90#Ugd +f52Yd>rQ7V9+583%0Wk8#+*Qq96UcOB1*0H+#9EBZ)`|waeuj52WHyqN +(|Iu2gUsRYt^OsT`KtfhYQ>QJvY&fDUKWLIBY40U^&9V_3q4`n|`2DEaw%<^-R%QfZGt|sG|h;(eL)D ++V&F!5%;8Idj_oz6=@9gqZ2xoqsQvIHV5x}Tt{+thgaD=eCfu)0*(V?N$@$`h_@O15UU*+YabU6t~-d +r1FL=nJiFzr*#`_6#dr@J|$2 ++Ju|LNW$)sOd)`a56!N^TX|TF4(+X5=XkPro;@)KnG-@-@Mu#XYdZFb7E2vD~X~j#%biQSGK10UC@{$ +z@3ApftD)?0vpxX^(JgK70KFlOq^~GLumE(Kb0iYGY~`L*~v4bEu!Ee*K@aqKkos`k=DxlyUjb-bku9 +qWqwiCFY=N?j6lsRAsN3Q5x7O}5)-Y$?VO`o +OO0FUvI+Dw#3H%#=4RGLV{Fg2v&H17PWH%h)gv0dB7BA)l;r%bio%@KHu_RzoIu7&Zv-iOGI{0<3=#! +lV2#|?fX$x3;f6-X*_jqKNqkEFd&r-A($UEUrt0TX0v0@bL!W9(T)qEn}rLcmlGV(hkHj5-b+$VEGBLUR%o@CrUw?(cOTKRl$o>h&(?O-jLbx%Ttb6W}173w^K41Oz^cz$I-o +5()F76G{bE=Nj^*6;^F_kXijWpTZ|XN8Y)ebEEE#*50#ju_8omn+wYHeDcw+Fr3W1HdpeYzk^WeJ5|jF#hD8pzzS_x +U#&q{BUi}s){brqc23Oy3*Il||cZSYIcE*Xc1 +Iyi(xm?P@l@xN{C*Oo1*&A>$WDM$S?o9CR{ov^`{x;3!12k=4|L}T7*U0DQ_vmy;rZ&(Ym6E30d+=5`r78f&wC2SUQV}lBS729I5KC24H2f|w<0|MQd8S3xDdxowYLDw(IK_p7g> +@9*)Ee6W%^*CES1~0K9bg^#Nn2mhGq(1viZQRda +hi+A2SlRn@deOe3BpB$PF_dM5NpM5Jsk5h?7v+5+)>HpH{rxt})O4-Q!>yrYB>e^PZ%yiPd9XcvWXR7 +#PDKak=yPj3)GFVT*92?pg|4T=X)d&<&XDn4p@yh?w#|bQ?S1&6afF9~hC=6UC){JOpgjf9kTh*B<)J +egc+pI{+DI>vm`_uk=iE|Lj~?roGy?U+KfEyl;gMt*(i_{ZtlfDwAqmnlMxy7G9dr(;MSu8U8L%Wv;M +DH~cFX>tgy_FF@$MuYhie=v-G|FDszyB>38b@IDFtPA-(#Yjn$H6WqbvHeuJP=jXZX;P!htf|YPFnY$ +;!-I5SqOHT2oIbL%Vc~N9AB;o&O)vlUu;v4!YfHq643-6H6dX9l=H07tTMa&&6rnneJA5YZz$wZw@Pg +-6{eS)TIy3teor{zwU^h=*+O4C-6fkCqc@N^GAL>o_=c29=mi&J_50FD8z79w);EWN2l>pP^@ZXXsF0jvoHJ~L~={zj=1u7RZ)s^gEwFE;Q&{yNTr8p2h-14 ++Ku&_igS+G+sDGpO72dJO=TAU9wy&mhpon3-3CJ>%?j)ADl~BsnO3I4`$0N8RpT1txen9Vv+x`#hb~d +-%*Q+O6kiK9hldZNM5a0AN}?ztS+p&qa%_IZqj`_VC*5y~z(c<(@_sZvpMCqyo}+VMP@JBeoT!JWIm{ +>ZNacfp0OTdc0XArazezkEqjr*cnG-JKp)o(`-B}iImPxE`X6okL{3t@eQG*zl=qOeCto0L;%?4JXCe +sf-M>pqRT@a#Fo=+g}>SjJJo{tqfsA^aerAN`@TBoC%vffTGp>Ol+3Xy7LfCoTmxa +mbE4IGl}u{HLcUofi*|AD>j}!ST0W1N##bV_K!AO@_M+zrsr{Of4S$ZW1u*s5{1SXAGQZVh9z=?Dp{A +z`x%l>cO9;U$6OJ95vZ9k^cfvO9KQH0000800WU*S;lKEj_?5h0PO<+03ZMW0B~t=FJE?LZe(wAFK~H +hZDnqBb1!XgWMyn=Ze=cTd3{o0Yuhjo{jOheWFKO8iAh4cfvFeTF0jF9OTFz&ni(ZNCjv|MB&F0a_S< +)sYA0Y=EWMCia!b8S#Vu;vDHs1)&au`u#U@u +sR9Ew(!w!&SG1*<|u=Je$l;Vcme;A>2M00gGIYz#ziKx38aW?$XH9lwyO*U<{Y(M<4(4`D$^UE}*D1< +Y>7lO~eLtF-9&cZ9yYrS;osU%OHW}aEmr8M2WVkF)MT>v-Q3xP!Cs(vCemZ=1QY-O00;mBky}|_2qK_-0ssJG2LJ#b0001RX>c!Jc4cm4Z*nhid1q~9Zgg`maBOvF +X>KlXd971XZ`v>re$THsu?MKcGDfFqi^K!#sD{L#0w%4hs>mbNT5x6v{mMlWw#RcwAl|dZ@&RLwhs)S9^_f;fMH_AQhSvy +JNjlkfR%u(TX7|T>8%$S$JtF)s6`{%vGyRCEmc&pyL^KoZh$hFCRUF1N-BxuBTb%}AwB?6(K)I62C=m +5+b_np}HTW;3CNH-R9xdJViUYA){gz@uKRujFoR%X?N>rIuXmg?vUwn{uR~d)BL6oFdlr9 +83_US+4kMZ34J@G@;w+e0Y2q%`_2I?wxK!Q=` +DhG|Sh;c>`nI?*A}ZG#Il^C0zRNJHTWN61Oz--^9!=ak?zVR|BYY4=ddlEc#VA{VGkN*(g~O_8kw$t5 +@sFrlX*t*YGDIrur4dHjO@07%_wKQ*c!Jc4cm4Z*nhid1q~9Zgg`ma%E> +_cyDlYE^v8`R!xuFHW0n*R}8!dN^4uN7ex;OoW*wQq5;x0SZ`0VYsfZjv(*HT+((H8uWfJ0>;9B3X#{r0^DXR=JJ_lud(@Sk)srR*Ub?XoUhA7^4z6Is-G-^#Cll;8H +J!)lKkwX03tU%R>%{|i9~~%sdX}N%H5`g;x+?vaY=`fcEAD#NH$}}^ae`w)lh?zyp(#&2DzAOe&}tO +9k5`Q%Og9=UGyxQ;tkdddpW2W*X~LvLVs>cx%7&*nb~;{!qQ}7{t78W64s%ldy8=FQI3_O~vI0jE9+s +SPH_Ei|@7w4pRTn_B=Tk#yvZWwHW6yd3|G4+$Ndv-+gm0|X_v$x%J(L=?b~Vw5)*goo4E^Gj1&}jH?Udb}Q(m(YYaw_RFIA4w*mV&fY;j +mNg~_-NJ&a6uK@of%GZx26Jvts8rOs;|0a;=CNgnE3aK>nkag(5IpAfmo{u5!oz7V@pgT5x%%d+j}e| +Z%iS|fH5(hM+r4To7rlEss0iq)qoHXgI(`RDQeIcydOTdB*@|bZZXtg5JRsZ~Y4^65#6i3uAylh-Wj@ +pM!lndWSWmohkkbusKTJpF26d0x(D@6aWAK2mk|-TUq|oegc35000yW0018V0 +03}la4%nWWo~3|axZXsXKiI}baO9rV_|M?WpXZXdDT`+Z`?KzzVEM?8ZdSj*eZrm^suM{II)Wq2$I0- +oQgu?O0yDUiWEpH_M&KiduK?!_K~1HRwrp*{N|enb#ZYq1A3Z$S)=wYak3kS +XuK6n?{pf12@5+US9dwlT;yun~Zik2P_JqZt>)bSZE +6d8S;cfp4*H>3R|9E|M{SyP{gFba-1COF!fkTAb&yVjuK5UX0M#&tt!!^9w+(rHS-`?JT*xbX;SfbJk +sa!Imp-(}hE|TZLp-uv4ORH&-1oQ<$L!)YhU7rt3IA7)g4rBqi=D)2afteK +N(dV~D>_Al*`Effer!HL*K$8VhAJyt6idMsbo&&9rfUA2AR+>{p@O(d{t +3o9g(rIKta2sRGBU{?@6J(weqeoGcc;O~z59zqmB7ggtZbgyF&$k$YMegdf;0Ik||#u+EeDa{5PMv9a +AB#UyBlVE)UcgUjO8W$}6rm#{cf(KP%gr768>QDd5}PK}6!Gt%R`ji2T0A5cpJ1QY-O00;mBky}~cEg +Nag2mk;r9{>O$0001RX>c!Jc4cm4Z*nhid1q~9Zgg`mb8u*BZg^#QbS`jt-C1pK<2Dlh?q5L|SWrs6+ +B8=j3gdjh-p08ukn9$l^m>3}Xc>u))s-ckNay7Y_qX2+UnGi>vo2cT4kv6IiyY1jhtE7SlE&llh`?1n +-*0#!MI@?qRy^@1sfK^;T_ZJqt)vKu@j_%}L1anpdBJNYIbmB_ZkWsxl9tI9)xr(Plq-_+Ctiz*(y=O +QkdkmuSdo%dmgDb88<-|#^;~E7YdIzF>`!ubdiv+rXQyZ1k-KLi*PQ%l+$NH<&4dWf$=jc9e)#z5I?` +(LECCPsl>F`bT+d&=e>eYdJxB8-<&tGN*c?L`M%kt+Ye~ej7>!nSxl!&*m?vhYC{r%FQ;~qp@eNBL9^ +A_PBjb;knUJ1n#cF{&tcA3a=UL4YnLThVs)HY)c%+Oqmbs8Tjg^M@F_Y_9W-$Nh+He9GtHF%Nb+zgRs@ap~5oXF=&joS6@ +UuE**>gM;F?CX4g`BkMKVC}%tkrHfRb6zGva|Gd3$&O7%yd|lfL3Af&p2Hnsd2UerrUmdD16~DWn+Hk +@=7P4_XcG#0fZk2iF}P+TPRar@O2Wo2ST3}Rn*VDHYtxw3_gjtj8TnRCl@%ry%R5u2I=eD=Jbqkfl8c +HZyrWwyh(*N{7~k!6xKh3%^|lBE&sQcYc;RidvIhh5g3BOmrn8lnXna|mF3AjzNQaBIij?K8R2pD`Wr +9R4 +~4t2WqPnNZb3;~%}6}ph~l3pDS?2tMe107$YIt}TmW7}&B!wu(A$EBz_I1FPWX(v8V|6S0+?pd38%4XY}Mt*uO|rd%Jr-Yx@rN_9wMoFP-Q!1>uCAw2mr^|h`YYukbMZ!L8!=)28wq9V&bJDsqv8I;31~` +a&xmG$h>?v5leNdN=3q8FI71Uq=;ic060PP5PVCY^7rb-T%yFPn~^jHH}V^ABM7%K8$2?TMWj$JbwxB +$BjjcSCEPFU$#(>w9c>}n0~<=&_fA5F&aigL_jU9U +`;p_MFEutYCs9O-HYMRDA9xvB$<*N3MNb{V9n@Bq7TwJLld^;kb}-yf)2+;XOlfo!^2XjiGDEfo?Cba +BE4V#$`X@)ufZ6heT}N4$QCUR6lBb{&k14V|6!P?mr*DU%&C +dzR3sGKyJD*#mM;6X|H&wbV?2XO21Fn@qs@OIAQJZdOd74TXow0oHbvww6<9# +#1QfTe!Kf>R@AUQ%KcLEm$7W83=Z)xxmLjNIe +ZU;*Sg?&pw$s4Ts$~dY~1Fkc@we9nL1$mio1G&z_Xdq-;gHVxRY&$@BMjUqH*Qb!?B8hLx!hsrP<`JsSNijDy1O0A6sTo!H^hJsR{uj>!p6lUTZ9pc +$U_wcBas6Y7O+nK8XWafGMF>vM-fG`cKP0< +awg2^t+c`Xle1q=!HG@GSvz58*tc!Jc4cm4 +Z*nhid1q~9Zgg`mb98xZWiD`el~`ME+cp$__pjjM2iu!tI7yon2KtaL-Bw`hiY9v)j6jhk%H~3g8b!r +1g6y~N99|^q;!D(^HhsSHoeK|-NS>UW^awoJcDbgh$|t$na;ks&ulDrxZ=b@PMMPtWSo}jHH8Fx&B(k +k!%axjupWRn-KAm2ko=?x;k;Rs%6(!%S8KP*o9+R9>a{brcZ-0KjofsOn9QkE+m)>@OOZbkK{%B*(Y%*ANAJ($`(9~9tSfrnCfRRu0)c?D7Z?R +f~BN1H99EtMO(_b*ci2|gw|vWUQlQ0D)A-ja0$_e&RSgy)Ng9QU#-#76#gq +vaO-eUrMAC3g^IlNFbq!f$R~hwdbyN+;o*2u*Bk0p%4qE%o`}LFf-QgZ2KPtqi1?EySJ8?ptEu;4~cqYJ?P*Z352&K()k_Hz+O+QOu|JQSVbUqUzDCZDBuvH8l+z8YbQT3X$FIMPH)eca@0?-L`j~YfCc5?cw*P;}1!=bz03rlgikpkFa>5uTmQNrAhu +zRX>nccDJH)ZEhsUEl^>Bi3WM>qQ}M&Dok*=^76s+$%T%POpQHN#GFWMCE1j?gS%myO-L_33Gc=vj6_ +mbRL;^HS3sXcU}DYRQ5>ocD1ZYF-qTQ6cyc_Q&_52F|tWI_|uM^ZKNRyJ+ETD2~ttyUR&zTcvS@4XPV +yn@%H~%lpv|ylE-T@UM2_O~+{BKkUSplWdgAVJjOopf{|5uT^*8ELV2XV`uPMf~^MxXi1}^wnp7XN4pCtL{!&AQ#%F5FYB7yXt|Za0x*jcT?z)8Tw;aGq)zb3vLwoTxrdI +F#(gB=;j==Cl(iA+EgyqeQs{MTgOpgDd3oUnn*^|m~ZV(J6^PqAxL7fSph{(IgJ!vNaCHk#*9fWV8n8 +Jla{YU0gGTk36$R{7aJ<05KqpjfK-GLUfHa+8L;K1-n0$9v&C<*4GX$4Uhm)`&%O@&EpQWyXL9 +RL6TaA|NaUv_0~WN&gWaCv8KWo~qHFLZBfWo|BTd97GmZ{xTXe%G%cG7ofGuP{4U^ufRkklSnq%_KqW +c2Nul4lU6#Yl##@Dv43FzrE*>lq||r`cgl{CiU^~T)uNr&d$yf0-yR&R9qUJ8nx%rZv7|tBzEtTX^|0 +&A?8qXO_R!`{9;Y+9_rNL7n!OLjVN|zL9V)=Ku3T;?+bo(B)TQ2a`rc0&cyh +QIJe^V#uG!%f>re0bDsi__6(09!d?hsF=p#E(kZ|K?8lAv ++yh{G(kB>i70lold%+AB0c~dNT(q6dOw1x*a9NEEN!D9p7SugyVpsn-s^MQ}8q@##A9zBo8AZ0m_X80 +HuY0u)o8D3)m4879ux^u~Cps3ZBqLx-$OlO)>^bn=zunmj!pGx=ugiNRpr*c1#)sAb(1&I|Q!wS)GWL +vGYqu&OWLKY=AO6nMKhL_}=*Mp1Zq~ewOe_xkaCxo#BQ$LVp%`*Xf85F!^#oy5J7MbEA`C}&x*EP#9j +d3SE?j$!lV>Ry&xMgzFG~nTW6IXDZ6>WCRkX&&ssR89nB?~me>>yc6{>CAjcv__7cJ=)Z%qEYwkLSq) +RMDe6yF&f1R8=V%)N8DlTD1)*n?c1%{>l%p3d(kO)~}O$Rvop*MREr=HQMoJ}r85-Ily2E~L!|W_T?rQ +~REA*dZ5|)WvG(0mTgF>G}+7Y$&BH$=11=HBWszu@{;kjhL{a)`P?;7vb&OzQWNrIdgdTryi_7z}e@b +BCy<(YrxyY`b~@v3P#mbd3;i+z5^!pevjfcic^+vCsAzAy7Pp^fv?hGqL#XxtjyRMilIjeu5oNJ$H6< +s~A|ya4dXYZ@rg)yV+pjnUR#Fv!_t?a?D6u9SohXHa41CLw|EY{1&ZBIy(N%a<=>sWa-_nqI4RQ*wGN +l>t%H0QJ7W@Suy&q+B1qcLk0QJA>>`?NT1u#>$4X{NQIOyXCwKr3^A;$7I3t|KSX0<@-Je{4bDmUHzQ +t`Jf6$8hdvH6GNXoUiH(XpK6X9$Td)+LW=0r&0El123PnazR}uAX>O044|#^$31;ngR*$AmpZ&ldy;H +y_31tiHX|WT)tyjw>akC*jKqi2YZ(DLuErBKrjKcr=%y8`SEwu7vxw^Q&zIeJ`um16PvjkiJb)><9OnoSwd%8e>n1)##ejmF}6 +ii<|&h?^6ft2g4Lt=w^M?u~+9%)<8JIJ@r7T;&4pmgsAdK}bx%h0j?bf1lY*BoNp*jBO#fcXfBO)cUj +x|bv1qvma{PBf+adIWreNu+tD+_Ly%*|EN5rKU-CTOAqhv$iWh+V}VpOAY69Gm +{r<-~Ryuy5n(@bUoFdjb(R6`)dPuX@KF(w}ZZ=``f6}y{C5dhyZUXS_UfqV%3ic?4o2f%F%n0{x4$O8 +9lt0C~QQBWshTGIM31l}7#RSu+G(+IuStA&<&X{{%V!%^&(3dO<{J +m5gHng9<6j9(e-=`KwpojubBlA*q$>p2jWbNr3-Zjl@7D+9{<()*=R;Np;_7eRFa{Xs~Ht!@KE+m!d+u#ziVGM?jUu*`xC@u#J;Ke+q$9{f25D0&jW4^T_p7??T`=35L|_ +B$8B%5IB_#RKJD5CtmP)WSS7TwC|KLV}2b057p*WLj>x+*xLbenmv6KhJ5>(5#LFzlxB)0Njp{6C9`6uV +bM5KgsFcJ;nXo_N0HhYVUDarnotoqyU$XfHzgWi&4DbV_Ev}hxKj7SAPjzz8-m_G2o1|vomI4t}-`7cmQ0|XQR +000O81Cd)<;p4Ibz)S!D==J~rApigXaA|NaUv_0~WN&gWaCv8KWo~qHFLiEdb98cPZf7oVdF{PxvmVE +h=l7nU;*4Ymz+Hi^s;<7#mhG{2!aETfEn_%}aEOrUx{}x-0R{k$Aj{g%?y6sQWjzNxlt_xAW@ZJ%$*x +Owb={x3{4?`MKl;%-ckSO7zy0L%^8EFy_r84o?A7a+&z^rm@PGTtzjp}#5SCYWFX~8aU%Y(rUrTy@z5jlC@x^anKKta;*YDr`Y&h?nG20VoobSo@w?DWl=I(U~pa10URVjCW`^$g&&;R8 +gKa|3}|Jk!tp1&&Z-~AsS{wIn5`QQKS?|$*&-%-R|S_ORe>b-Y<)GGR&pQXE>-aUHy#+WBh-`M)}&0d +@1tdCk$m8g)PerdMO&>w53Hg%eN#BOS%M{!TTw1+8Azij!9Pk7W$UBKgr*$ke|LpSj>wpwbZwVqFS#H +YVB##n1&9iK#v2aODXPYJ7pNiJ&z@ +3EFt&IPt_4Dlg_fDnV5Wthj%g`E1sZ +2nib|?4AeuT1a;LXOiQ0*Ct)JmjQqM^MawGyRPBDE5!l} +N2bY9&g2MCv1Y8Y)r~QEDPm6H#g+t}FBq5AUpeWg}yenusz^;=yOAi70(PGD6}>#JLf4lKqpkPND-ND +>9B^kSv8ADycBbM5(?Q@g&+XCcd92rPN}i7NgW+q@zXYXpvfsGHN0NEt#HJvORx^x=K<%Y3YM1`4vip +)JR%AbcaR>A}OhnM2)1KBBdQRDj`t`iC&TD4@nA?=nsjKBubK`Bq_s{ckz%2y&_4kNR%g41EoF^rONb +*OxZGJ%M>J2ki3$&y!MGKORh7y&N9Vi+A-6P`Q+>QQD}}5crOO1yiK_ZjZ +)GMl?b|5$uwPI>MBw$ex^+I{eyL5MAp53w~~iSzpV+H$#3m%v|q0c+B4K130lO{<6UpHMhSABpx*r&C +1RC`m576&LxK*1`V7?QMo{F%NJJtcNkk%|x079ZmuZxU#S%nMZ;zh4WzTr_p2~6tJSUzi?^NEYMLa!b +J9%e=ZR4lBJ-TP_-PG>3H)?wjwCs2mJgdh;`SuOw-9jaTZ0wnj?HNxYPkX^r#ly!A1GNMleC*iC%t0~ +-6Ha^Jkg&LHpbf%cn-hh{$M6YbGU7%XhT;-Tn4YCY +_w(}OnyEgYl?0(Bb#pALK=#EOR!L{FNL9uy_DNTy;SGFAFgr7u-m#M9%eml#is^zlj#YyaJCl=ta(wg2+ix(gFIuYK`hYl3DgGr`6E +R=}K%CpaR&g}gMwLO+j4+qt|77bdPtvyE?z%VY%jfZ?iVqdY0Owe@%Y>+GFpu +PnC`zA(tGKHxf=WHh^I5>O=7mbe$G4j%R3&X?e>7J|CTn2JK~PG6K+b!4BcpV7vFo +0D?6SubSl|migPtnkXrCmYJzHAj5nR~@%CtCSS)*k_VAtdMe;(eEtU?{9(edgYme@67TQzvnR&~T;Zv +IP1`~bB__iPN(uq}A%froc?esRNITfK%u*jO=#gP;At!Z{qQX980~IG7;YBX^pGt=CgHnV +H(7bjpAVjPh_Mf`pk7-3Dim2+VBlfrswi9(Y!mLtkTs!0IN196GJM!-B8T%X2_09!rdsm|l4yx*dv}y +;OVPDSR^)JdD&pFU))BrD+d5)MtByPHE!I3|a$ITYKQ4gq8WFO4ce1&qfdNq)z)vywMDW*Td9TB{e1o +Yu|vhG2ENDJvvuD#nV?#Z9tP^F2wNL(jM#&naL>lF#qgSAAA$x34a}OR&m&Dgi{UlRwNKK+sezlmzHTF*>uxkqUuVTLoEo@l=KJdBa +&7vdU0*+pavo+^*Ew9;>c?^_qxQaI$un?d^H}wrvubqEz^J7-w1JPhsB31ZhRbzYt+>;U@0^R)`>7v4 +y{3L@Q=d^w-j5kBSDu{NUao#tFkD)%!Hjo;)o6PR*P06LB5+jC#P;oEmsK4LtSrIap)Rz}c2jzn*3>lQuz$`k|yHV(U4aqs!$v9#DEo#A@e+*~XI{E*)ddS%xb)4NOU0^Yx@@mQw?Z2G*c~`t`OW8ZJMYus +Jn)pMkpu&QI#pYHcyY)%U`~Iig+rQN3Kts4lB>aNFta>N?dm3hqvI=_J>j`f`aHsHJtYv^rO})tgt>= +ts>tQeUjqK+W&sMuwKfs!P*Z!f<&l_To2noilK9mKms7Tj#e|eSJM<;ArthC*|f`)iukrX`1`YlGcG= +gSwKsv`xIWiBI}*ug&bUR_m&qYuq$2j)q*bmQsHv>^3WD)1q%WESggTXMr~T(55qJb829kuj_|)t9@d +(qnNu(8t9Z$r)sOeNA_5h^Efq7=ZWSVedaX!`l+wCMg0?XYT%*m7LL(wZ6&RNTB1<3*XVp^)A%)PJKI +sm$!olQ(aMAqh9i?f~;A~v!%1Pblx^~X^ +Mx&o=#m_D_Pql&k3Q7pYgT{Q%;>{9p^lkQv>~`E*&dQhk#rCXfme>E#8g6;x!?^>Fl{_FWQ1GR<^Kc; +Hs`IX!MqcOK1KqB;_nc1B(Xg5@plh+%0O4*rM0KG32+nx#8LmW!%$nX)oD|X1JVD1NA#q2l7_+J5_%P ++orV)mo6fRM)?rs(x;uW$P_T&rem)$gq{W2+{! +YBH-Pv(9A7aBZ64rU`B{!A%p~;&AQCxa&vutS+t2LqB}Z(g*!s(Ao~l7$;-Vbad7$+T*Ixl}dAJ;ORB ++)WA?RFq+{?>dNZU399M@Rjn?An^OZf{kYDq)rQGgu3lc9p4K$y;B?vVCAM|I5jY9mUM{L!)WFYEzzNCnda0$9gX$S%pb?(JTx#A4b%^v^Fyb8=+ +yc;cdOC6Q`bHNPj$uN(rLV&K@*Ca%`<9Xnw(>i(SE1LOj31?BB!O|9KF-E#mbcr7e*bswuQf%s5?jCV +apSBUV*8EtJ%Br3M{c)1$NpRZ3{PE?{F8RE~kN4n$2}g3``w?wvIr}e3g^U;UtjVxCG(^Li0i(H2rh^ +AapcbHD**(=gjhw2J(LH@4u4w^TGSMuSlM@XX+=mjrOaKET8)MXPq@X`G23jiR;rhxkHrd*8Yy}=vT7 +VSm**>p*!@1Mrek@&y{)G^g-db@LTvT{2+9!h2O#N;CJvl_yH7H2fu?KbdCj%(e}Pj__-Enj{_Q@3ED +5gZNFA&)ImLTgK~*&xz@Ly?|8oB`OeCBxaYS3IV`XRyTT8e!-8wEAQgcJ?3oBp^cY^HbM^hbjXQ9CD=vQ0-^ar +Rr@N^5;>1LtDmMjRp%!_#y4{v4=e4sTJ8f&4k78+}zu@)L@p|KVkYoW0g8f%fpT4<()W?H~uEdnQ60O +9$C9B}z-Jj2N|oIJzHGn_ob$upch!^tz8JO%a?*fX3w#rD7t{SH56?>p>9f$4aVh@Jt&U8wN@jXX8#8 +BG2p9WXqe5#<41d0>E^apf6To^j;?UwN=Go?+z~R-T6OK-zqSAMl@#@JIMTGkL%+o&n~QgL>!&J)i+f +#R<5E`&;8_K%e;l_#sa#dRo!bik?>Vw4$dKJ+0_zMNcbwTG7*ro>ue)elSO#rt~zWukbVOJmbzY?mXj +eW!$ZdyOnXbGVWH!-O9LI8Fwq=Ze`r9jJuU_w=(Wl#@))eTN!sN<8Ec#t&F>saknz=R>s}RxLX-_E8} +hjDQng~gSOu-APxqch2eIS^XU$}0hF=ylGp^at3CQVnIF|QwROBl1`^u#csmq`NA8#YeUAoRpeuBTp3 +n%*(Eh;!Zm3xJE&KpJiiO|852A&uT3a0a4t@u}gWthV?uvsSyiHl)U*KQhU*KQhU*KQh2a?nGQk}x@; +Rj|?08|wZzlR^hNm=1v;a}kgXH~#il@9SY&s5qTM1u?}f#^VVAh|$tf#d?o1^59E6@X(U!Vk`-fF3Im{s@1 +BA3RwBPgWBAAaVfCH41-%Kfw=9sATvv{D5`}@UxQP&+vnWDxkVbfxp0C;4knO_zV06et=&E)K97KgZ( +Ms(n^INuv1}h6oAIX!$02bO~fl3UOT8qR`W3@^Gl>`LkR(stzYXTII5vyUxI@qytZA%FcJ +)r`D>I2SMU|f!sXrl#eROe09nM)lb<5C|mjjjZ38}xt%Xh%4u9j1Pz*&igbZ{mra9>n)i(dY`@p(j*$ +G89DB3I7TI2|oy|bi#kaf5H!1Dh2oh`~iOOQy_O6g+IU#qAErBBm5D5FjgtTAK{PigStuy{se!59~>6 +Y-$vn2@Po`s8U74^h99g}%J66SGyI^pQh~on{T1r3P_czJ=;Oi3FM!K^)@>B*SD$Ia*5}Md7w8Jzp(i +v#g%fzy3jYfK3jYfK3O{J3ZH0e@e}jL6e}jL6e}jL6e}n&k^MLb!^MLb!^MLaZPEtPMKjA;&KjA;&@9 +iA+{#(=N3f-Y6RAMs}P}SalY#QZ-g%=iHSa@OKg@qRYbL~{zPQ~q1+)l;qRNPL*?Nr=O#qCtwPQ~q1+ +)l;qRNPL*?Nl7d*RWG@I~BK6aXS^aQ*k>L2RgP<_<;kq#{mt{1SOi<-KpK3+TE$${eY*-F@&8O-A}M+ +J5{<8{^CZ#03xPxf`~m&|e-H>B;gRr2cwf4N$V3tPT}#KRiHCB=T|7}hW}GKPvw<#K1Y`# +O3IJ}c<3Q8+i6QU`)bM!*4oM=Dk^&%79rtC223ke9Y(G&ir&b5FL1 +dIr-9>=B>Olyy2~vMKjk|u$Rkf=GJi=npZte%pEsvzZsV3SZ?hJ*aX^~4L(|;CxVG5Rd_4zs=@rCQ^ai8O%ZdT-X|8Psj<4^_4D@BVR=u~__1b6OX +W((DE6l)=`8~|Q0P=0FFl+!Q$AnWr>?9B1|Z@}jp!RL2CU8f>x;QFlID0^+B$Cmy(*=XNU +tsL)cY`(X`F1YpEr(IACS&yA952MZ;7V12-@5)Ygp@s9MB9aMxYioCw5eJLuz%nK60{UiYlLZ)``ww} +qnNCmHSn#W7_*FN%V5|jJeag>$lHc|Wk{QUc154a@9E(}{sBRDOL~zBKpnfQ{7_h1B(I+g^*KENH;+G +v<*i4_#wq1T91Q#qbmcV5ZIB0XCVb)`=l-KvZN(?~r!`Z8^6}mG8(7ar$_J?QAN-}i;2HnAwo`U}zLu +QK#lW5Ls$ZYi-=g8aSWTiHow)cw{m#AfU`sO;m;$#SLdV9#pNpHbb4nWpIH;@yHwf5cj=0rjhxxkH?v +OPN62A +m@eG$3BQc0Oo$}=~isU07o}XOwcrMFba-^%EJexQa*8q>1A$5{JAf#f%5yi +y{LSXOaZbKAafa!$#eEd^sOQ>xNcBdBa`#?Gl+-N$t(rPCv2z0Fc)Nz8_vvPnQUg6%QB~fh1(rd77+$?;z5 +{C<_gYoOgV(@a8N}1j$ML~`J*FnK4QvAo(t!oMS1{-BBlgMh0{+?MGU7Rjf#XH$DbuIqZP(Rk+H$Sh~ +WUF{ZLBAIO8lbFK}pK5HT=vSYVKHYLxHSzS}kRpdZu&u|GMNGmf)7&ajM}EEtZX3^F3^(SLCbr%#5>b +bIhiEn;V;{{(f+I35m>OkdDjk;SpDizqf4#M2XV@)_3~wNc{bV~&qGIn!_)A36~}a~wT6ImU3kY8rLo +S)qq``lnqYUQR9?r$bJJ#$4u`Sq>|E-|Og6@vKmZK@d!Y@Y|!;ji;m7tyg5DoZ;|GZ?{8YIL6%MY-KB +Ws>JlOd%H`0?1lx75eY&LF?TulVG}42$1Z`0M`~i{qq|f%%Lltl-gXYmcI3|vN#^hgSSUdpv|gyy6CKxxvxEX?TR3_MVz{=LgZkXQ{2QaKVZs6r2`=YZBr51!GgFTYYLkoF`1YwF`3n6-)6RDXF|43 +R-z|CCri{IL47H`aOmFpZ!f^YaoJ*J@oM|vTWk0$MU5v~{hABFE* +~p?mTixVQ+bux*Aj5i1@mqHsufZBEWr`XX6|L)eOJ`dR*xil~zaM?dv%bP>-A-Nh52m)M-^l%Wxhex@ +CczL9N@h^LB&q>p~s+Gv&_gyW0|$8i>O%I5#F +t3PRS1&9(1&27UOWid$#;-sYm0l1OTsQIedO+T5zph;0zD2vRzmFo7gx%G1yKlz%|YTTNb%Cd={XnO4eddUlXDLzoJRe}t_%&AM>qj-8J?|V%=z4EKfA+;lA8{Nf& +EL*h59Qkxps>ls=nptM%7dy_n7N?nSbBwy&3> +?xr%goZUufsLJz6=0tEAI>(2T#p)%s@S9n`tV3)~qw1tI9#H%M2VaL(wTD&RxaVrm%t0V;Zw>GjN;2Z +yMO=u;Dt?rJ_W~qR~?b?@)oOV@c|oa&Y?bV}AVDRXA?e+@bP`N11`+kg>V^3>;}rnFw=Q4RkYbNDi2D +e&`&MBh6K2;Ao9tMh6I1-)UPfy|I*nq`RL#aZB}ADSm +7XrZ}W^XqZo`r2l11`gp2lV+M}fM!jefq6i8`x1Qw)*OQi^;jmG05_8Nzm98=>plI +7>`-GgIWssKl1h*ZclpxHQMhfLS+}W@%ZJb8$0pQP=#?G9}bTj+a&6UT-ABM +s@jFhhAmb{FDInDy-&b9jaKd^?EYgoU6K2^lQGehEX%CUR*TiXrVbt+D#?0Htk2-OlTV@YT5K$&Vj+V +bGmGMmXW%mZLQ88HmE#;4U1FPNGE8$g;hns!m+4pn}MU&gZ7g-W7w|bN?dawH|Gr0hE8r&Q5rvTZO@@ +io~9_&OehL;mnhB`{VcVt5z(ZYAU`xxJhcvD&`jcSG_(^EPa|F8OyxwuM8@Y +8HA1{-${it7+;AhwL+sN@Yn|BN2mu(C4NIDF}{}%ELEJLVj&d*zPdZNAQ;k61KZ&5{qws`1?_I$mLzP +Z)WQ}$VmW3Sf;J7$iLFsdd_&bCl4!=<-0EpIAgG&wuA;BrmQG=92bI%eRQ+Ts-Vi)pk$nOQ1FQt5;lS +d2D_ +HN{m^Ts1`%s!`$YQns1krU`DEpbnbmR56cjih1n%&OXb(YcBR#Q@cv9>?*x-%(gi+zlVwjl~c1GW;TP +iVwkNM^z|@bziwmuh`m14vHjcS(s{N6`u%Wu4LmNzj_yAJ5L!!>>$JGNhjimTcMJGQ^$OxdE7&|3H{{1$$0AuWnS`@rr%dH5at+)nm&Qm61c_#ONXeh!P`iNE +=qtZHA;nWh;6w7vmTVT2XxJGvgK^nawlfdwF!*LST2_AO3LW|vz&ZeF03r)_m-;{%hgN!O@_k1!N0-3 +!OzW><>=RL@S`HGFY`Kue}`XmDq6t57VxhH{A=ah+j8y=$g0szf+)fvNOy3-R&EX~*F9FQdn|W_R)bM7|XTV^4}`*0TVCEt> +Hx2w=-?x8)krat&!g09z2i76h=Bj#$WLA(vc>Tkg8s91SI9F3K$z<(4}+Tj8uy9&p^2`*6!;o$bd+eO +yCG)EC@|3nY3uWh2~pmzJ=ynXugH!TWG$8=34~kK*OP5uu(etLc=YbEgJ6xd2gW +L&KZNAG3XhCo-ybdgPt+ysR&O+c*dZoI{Xels0xobi{Ihriq2Cr9LF|FI2UvtF&57#^IU&<2ASu|(R1 +bKk!bM@G0zb53^9*#O3&S%=ho3P!hC?A`zOz}wC7sfBi!N{SRQbIXL$Jtzg$asfFvHEfaiC@GwwVxFP +>iup9D|O2atL3G@M7~#nXJA=JPb4r};e1=V?Aq^Ld)j(|n%h^E98Q`8={No~uVsQ~C-&L(tQbUL+|Pf +-6ICWeBbe!IdGnG6YwK;K~qO8GEXr*Jn`Ec_OJ?sJN +T-@3;YZG3;YZG3;gJVEDQV#{2qSpwu*<}!_W0%mrw2#eh>c&{|Y +~sPlb9cTsIc(_X>(03yL1Q@NuW`Z}4-=SvL4V8WpbL$_78TaDB8U74^hMz0elHt$rb3Iuy`~`lLw3h;Zfxp1dwQ1qrt`zty{46gE5b{#t=T5aC +h{B1zMa!P8Mi!dLh*Y`Ft%!l3<*7f25xt|8YwzmC!{u~E{-Pp(QCA6pX%nVRR>mrQ)4?dwo_v}HMUb@J2kdbV>>mrQ)4 +?dwo_xEG8%<{2VA}bQWxc{`%c6mU{4aFLU$^3N2Fjs1kVl+mAF%VJJq*K^__g?B((r%fHRODn$(q3iRwPtRxa{808*Vdi?)l +)YDlHL7NJuMzgsZRdi#fq8prRS!hC%wILTX?2>WsGoOe6H^oxS&Cu)D+6gRI2rFmB^M_p^M9FfhN%(iUmSmu +97*Ll^6H0{a$_2fsfEB%Cuxe)fLr@vzQuI@Z8JTGsGn*KBKj+h@fIsH1t{J@D^@yW44FoK{JD;r+ybq +KQcGQ2?$+o2$@ha>=2L5>M^r4tcwt3>lqRu7fgE%cJbxswQDD(gK1NC07mHr@JYJuO!Mg<<32x!WnKHOw6Q<9OduJQp^bw+fyquZ%JfINb*Gi));A`$E{%!*i|L8Q{K6tdU`YIGM5C`du +68P@McaCAn%lpJ{)(T$I+fo0BZR6u*|+eFcId-M#Pj>Jy3NvAu-1DZ}mKTmRdF2Y8pxg_t8zU&RaGy{ +1K;4{MpZy@JkyHxo1r8A~mY($P3Yb=e5PJYCe1yy4~)!4`;B_hBZIfb(rNU(w#uUST!6-&k2gLJ%Efwz*R>-X9y?8bJ_zBVrFN&p +j;rnL=!vqf*KXw>4KpW`8y!+jf$KF>yLo=T;LZy?6?bV(P|0DRx>Zc&AbSo+Ej=7B)j;jO;vA`mwCUvc)f8~O>50LZ_me7_Oi`S4rq_{^X}a%c*0LTqTc +I0y8UVz0hNqvt~jGd9rbfBajmN5%dSxar#94e2-Y>%czaXaM{_!L#Tl5?rSAj{(`8IoFF9Os^n ++c|Jk4p}1qCF{V+yJWRjZ=!$HbM7n;UCYMyhg3&8eK{$ZeS#i +~C6cuC3}-;#S9vT(+t^F596yuDNt|)~cW{63Vqm@Nxw0(RUEo6`CyeIoQ0JBKA8N<(r6!ZjywWa1&Xh +MKrANW6>UH*O2q;6#)Or5A`ZP)GI&KYx3ejAqNMh0xsC>xya&648O4)IK4<&Nf66{bCdNL3U1CrOv3S^RO892##^-}nHopKSpw~(;tnDEl45Z1`Sm0_bke48N3AAF66;fb@6v$YRj0G|lM7#}i7H!HGqiHP7S +iVHb9zV&AiZl}T#iSk3H^bfjWicWy$01 +GjY>T7NF|DiE;3%k3}O*uSXM+}=*|^=XsFm|ln{|gtlYea295Uc&`mrri_JpRX*4P#Hhip#6sr@}I2> +}DMb?vO@-WLO9+A4a*b0kJvB|~xqY*n>W)tBW#7N98%T5QqRpzY-p8IY69ffM^h?ZFzD^ +Z!%og#B4t+wQW&mGv$`oZJVgA7l>O;?_VNbd^mNs^gFXGx-Ag=5A +>Wf9E*x{SH@IG`w9;&eR8DRV;Yj7Xu_ES@S7(qfWIq)-e;lm;ap2I*~Qs+?3}l?kC4hm4&QgL*ED?Ij +MK+an{Na^gAV91&3vY*DobV$p~^2F$UAt;#QF6~PbWI*?5`5Gau!mG&SgU5k9=LPWOVkQXs<)b>s+#A-i-=}$5-DP^0WsLNAy}ZuSs*Tg^lA|4)qvH_M +#bb(L>eT@Rw1%gNXT>)4+{`AhJ0XZCAB8@u+zUTL;SB6-C?c)Ben^);^3H +#|cIe*k&TI)pAczEvH>(c)0Y8$|&&CsDkuvD^#P)NGMM$J9#3TRcW?SG+x{Os1XhQjy1Z0F{+~+$-=S +ynZRdV;+i;(Xhek}PYkBjeb!X--BH2nQrxXoh^-yUg*#$ZqctCP8d9*jj<$3cbw +{oXihb)p-X60G2S*;6E|JdK*cQNVy4ZDxlz)cgNkLe-I0EA*))2ZG3g2(#+GT?mCy~FSE-KXoPgxf7J +k(|(QGQOn^sju-dxj?g>FFoG@PQ!M%qS616SR@uBxHgu4pp0{~xM|)tHLbB*?OOYQXSSV(mS-Po$eU}QfeMSBedo~5F%2sCpxdA(Ai^wUxY^O&z^X@E +g#qAfzpyhQwQe$P4%sk3m|__6a_R;xoYS7hIn7{9T=fvJ5#x`;nbkGTU`$+f&`svFA(5gYuxIz^!s)} +c&Ok*|FIu*|%)n_eBhBcnE^UIWM+8}`D^F`3S*>;CQyF!CT&78qev^%>ZPzCRS_7lj))p7tb-)V3pLl=A|FF%jh*^steOyTI_8^moYGG%)H#fN=GnV)7?Vp5L(nUC+t +ruroQ!&l6BHbq!#K(iz0SkAsq4_dVOguW6ftYYQAcwvGtjGRn}OpB;n1s}<{Te7)v!o&4vX&k+fuq}- +AC`d^NZXM0n8KB;fRU_)QlNf@U%zw>~e;_bNYX7qU?j?g0qMR)h9t>kQVJftg>rlTPQKuS2S|gXt1x? +c5Jf0BPK~qA|^`=`ff~?7%UsMB_G*A=cFm3&;^Z%MsyLj2fGoGNjIpn6ooqN(LK9p`rBFC9-_>UqXK) +1tyOMQ>?sS`6J?7*R?0ElYS+i;SZ~h3Y3HxM)v3=;Ij)XE6_ +=Z@JAHi$J~pQY&ey%ZzD>?eIkzbUvkkRTcAt~=t|gihh0Uqc`b;xvnt2B188~l=^QgLQiuX0=2#osr7 +RT#(S2JdLn&>!{vpLT`20xR7I4gRDx-dw`yljGr0i42&*B=KG_j2zbg7v)zEv!TPgT0KL<*UJht{Z){ +wH<3Dvy2mDqh`apT4-I0=WFV7^ZwiUt@Qj}%9i@i*PHgk^``apH+@y}h6}e-RA`-|>qfNfM6@(ZH*Jr +8`Xj2b+Cvnk$mJOD@GPfRXvk_qnIoUdHgnn7axZL?cQIUy5~?;vJ9Y)F9*ts%*K}}$Golm0p!pJ^!Tt +bRM39$iM&+|Z5nOw)+1y2=<}O+>`>En$5y@UqzrHwz@Pg*=#R0}zFg?CFjsO?TjW0+D_6KZHV%S?9BG +EsEYwfheXvc*`*BUFiy=)m_{4*SGoQ6Oxu(?7~(8@)Ur=g +RVHfLqhc>i)Uqcv{$bRNnVBjNjf&Qos!QnBiN_{$9{D%t*n}9>D%f?^j2Tp0)7r7bY7?8TBX_lkcBuM +7t5VaVS>$qVYJ6)|J6mxGYHm{mXe(nmoag0OcEe(6TY75XqK0dZG>r?5)+|YFieOdUE*9Xd=MI!xOvWuXhS=bi&kxA&V|#|o!W-U7O}W0Cv>?05opJOMkN +fF05O)@aWIs^1!QQ1}5mo`4-$k~G>=KKtb8P*UztQtnVv?uz_28KLMUG@QH{4&(Z*&O(hh%1@ew)52- +xS{;Mc8I2l%xGR9`3gEhOtX=_J*CITg_P}&Dfa?m>x&oc9K&LCv>DDwXme9KaVz$-|wS-$&H2Fcje&Z +s&f?pDlto+0}6uvtYzB^Fp4khmn)$Og^9mn&*vr8wTBym8a^fFrAa-@l(Xb|oWgu6p^yaUzlz^b?OOi +!=>?EdI)p8WWKeDdf&{N%kS|I_os3Y-|rM_ToLlpFHn_SpotYPCGL{vw$2X}Z_XgB;?8~NqKl5)Rq +W7V+9ssSSqCs&1ZD}%Zj6RK!@<9>zQF~Zv(Kva-%XIDk%VMVr~TDkw=u0-|-m2A~47axGUjcE8XtoIH +2&KJ>MwE&^t1df7Qpf*2p7R{xk#TZe4aJ?X>+dEozb+qs|#8Qy)Xt2of8xkrS|yvL8~0ZixzX_j@kn(aTTyNtE$WrO-_j&))N}t#B)HIXhpj^!W)eq;$d7^;_VeLx +=>|`1{YqW07ZtC=wHXwfy2~+!(?24i0&#`L-*0Vbd@w+MO8n~_hdP+5NykRpf{V5D*}{fgOc4uf72%V +o8<1`*zsViBOItkJw#jTfez=Ra)b|Ps6Dt3KzX&?2nX(h+iFJQGiUIkJ2k)-Bqm6V?E359}zqh35a6op3^aj3|YG#Vr*GKUH%*T`?(Djrk^^)B8hN{NgpdgV +%>TG1(Fd0!MNRma4;hz27IB^Py@OXInP8HeI+>Qps8s^w?hbd{>MzfV>7bIvP(sd`6IAtvbBZys=&Fz +^~(;ifJKHKBOUK-KF~)uN!Ox|uW+9Hg3#x@B<zD%T# +9_P-3&fw>9?#&r*QkPb12)a<7`AB+BI@KW9ZfikYMJ>=H$Aimx<#c}6<54wfw}sIkw=k3!ZBdmdZE+N +1i>mgaoElwDRm?EY8V@}u4ToyVUdI=kv;L^97O)QY`03M+e#dGvK+ytu%7TOqvz4iRW&O$e2D1y>EHpG7}a07}cp5)v5f*R +JH~cqdK(+CpzCSs#7tiQ#q=vtWs)`#il{3fp-zxs#SDjZylTUA^V;Gp{?oq84D^`S0swjU)WYrMHW*W +!3vi6tb!Ygtd_v#u+|bgKRXL`5yy1qI(|6ND92C0#$vdyKdYEQX%8miB9r>KC2gCuz83xPpJhw+fB!! +%cSrlHZN=%^A5zq4mosQEHBOK*4%o93RqGCOQx0sG6BXR9%6b)}Vdyh#56s4Zf2dKc&tN{MrYs(0+Ol +{se^ZNiux(St&{M56Gm6$1BT^}H#JXFN>Jg6tFF3LF*z8%6#OQ8SxF$`1P}SnzXL@N<^qJ4b`KMb?H(uN=p*n_H+!w_wa=L65J)Mx0x* +>9S(GWo6CN9zB&!cB-OWbWbu#uz=hPb48UHnC1N2fq`gaopmH43Qm-XJGywI$Qw>$kCaBHneNor=jm*2+aoAPfWDo +PGSaquC(xW;1M)Jd<+k*&P9iVm)pnomR9uJFJ{KG|Tk|qXEfVhn-W0+LcDdP!qc&D?1G=mpUw$ +IxLquESEY|t2ir%MCed)=tpT(Oh0)s{Uis@!ga`ql@om|EQxNB_J9qIxel!&je7C$;joK`G((jEj7NY +`=mc@-1Zh-0fGs0|__oIml|gG|ggY7G{NOto+Zd5r5D0AJokalnI){14Hr#o~^CRnJHu99(OF^(I=vM +jYiU{i}dWJc2Xw=E<(6h4%8(VBA2xW)e9=D^C-0fJ$kd3rEWWb9jVsT4UGPlPDCD)+e8l@%CYTqb1K& +r@zRFR8S#9YPN7R!_(7Y2ofDKgn%Ak9_zXvM%(l{pK!=vKS3eBgG#Say?+bp^P%1rTMUa-_AO_n5xCp +mk;uMKcTSzlhO_1@ov2nh4vYPf)F?fUjXEba7oabP=WFi`(U@LEKaAJKnXur6uV~VU9Sk3VB+aAoIRi;)&eA(sZc0;eG=B0xjv!YnM9nNu +_ZWXYA#oNm@jG>!(_lSa;YYVu~+Y7xr3A!a3Mx^^PJk1sPv`4b);(Po6n28-QV?Cee<}|CS%H~qZO*@ +o%HP-|wD9T{!s?1hl2D1*b)gK8v1wZXjl$ocp%IwCSUUQAiO{7&`1}-K~J#ATUTXIYCDHCSk(CyfMuGLz(Q6u9f%|JCWZt@HqO;oLFbggz6Z +mLr)UbUJ}Tc&aNanexTeBF&5TXlX0j@zl~))~0k;o4^4IMS%IVd^r(O6$CAt^E-7a+Mi4mLhelGjQCi +*QvO&?gIx{_hSa;kM>L~*JBp*7)YUd%n}{rETc}HzV$ei^PGVLf>Wn_Yjdg{`T3!9Z0YMc>$4v +K57)FKKeW3xS5ViqaUax(eVhpm@uxa(9h*}*^9&s0pw9dKt_r*@zSGMFW5Q^?4)Md=n&pPo_HSwW>XPueEM +RToVJmXaUi46HCEKsBDz&<&$Lcch%rb7+S-z1S@`v0vh&kRHr9hYQty>Gd-$l^q4;XT~CxUcYbrMk1W +yopRZW7NuNu*ohqx&YDde9|&bQy2D%r;5Pjm5A_1nDy2B(g=rgcGtw-^_&5gCa;GNpuf_CBh$<%=ht=gE;oXMxMycg$}zh^7NKq6Cy=_M!QcUGc}~zzmd$;1E!)bT-$vCD!%+Z+l`_k-x9> +SCvpFPVJVWi1=|Ht`lcdUPoAoH{`YKoN^DMDvR)5K`(N^3ctq&`K|56>eGejd8Lg5}|0Qf!UCIgmfIb +3BKvRfTg8Q&W8T{YY>J=W*Wbh5;-X64(g%I35V5P`}U3wAzbh}xX9G$3Cknh}AsUU{6Zd59~Wo3&rZ_ +%D_ncNZtnCM^lqxQEh*}R7|GYGisvc`pihGC71r0+pY@0;ej)#LD;?Q~tzfkO|(ln%VF4dNEudQUZk+ +W8XkK~lcN2k&8E{}Oh-?nx|u)xww9DZ3S7yoc0%$O70sA;%je??V!gm(Gj_tc6{&koUwNzgFV$vL+@F +;meK~5{X}{xlm-#EC!9NnAZF^Z7u9p@>21Y{h0lp9kF}*8W)k)TQCg&oh*zEpldJu!xqL6_Z$|+@C*x +MNN|3=g|T~5p_jR_OX_onCJ6$=aSsQ6PagCZ6h2Ip-Lp#e$4rn7>CtYg&EE_=F`d*N#3zXto#0Y{N@uHCVlIV>5_2h3l +mw7_tyS2#!2Bw-@#{?j|1n9}`6%dW;W5nZ$@f>~+pgKAP@9AiiYnilO +3LEhh)DD8Aa_G@<(!MTpxSly&&!~mGZ`^JZ_z-pUgPOQ|ONLmi*S!V8uV1ypd?E7FSMB0Wx#MZ5xqj7 +F-etA9{<%!%y=5h@g)YHkuwetKU-=zFk-CovSE%HFX(b|`lMe-0aY3E)JMTikDKFpvA+u +MtZBL)h`M1LD{LaqNINxb`T!nBW8Mu?s#FW}!U^V`IuK{{v{d+zmX3Qex8K2%;X|rBelVMcst)8qA>n&ELR1&yU)cKLjVj0QqV#c^OjPxcx5 +g9o$&H!CX;JY(@#?AIWU7a}QCo6jg;CXw+*o0pdP$}g#s{UmZ%i|)V +v>hNzaO&Kc&oxh6_Y$HBz|MrQI%@kDhOA}@q6YTNA$zmNM`hdrX5ws$e(K3@j<;L)5_yRqV5lxe*7A} +B|7EYXe0Swy!Zvc~5|TxPCBel@Dnvc+iC +9!%AIl>{_Z)m$`yy&SkhB(17qQEMVU1-XCH(Uuzaq1BbNreLXY!dYPQ%YT|z@wlu#^NzRRSScQe%(+; +by?_YDytto_61EUG;7?m!|&xSv|0tk3Wai1JwY~rYf~i@Srh*G&#q5ueqjy1G +P}F)oGzX%eK$5-Iy&{W}sKI1v<)ZZ5d3X3H#{1&7~!}F>o+D)jr@>&E;pHqUIk^lJf6RN7F-=aUWLPb +Yl==tmxiS8gse+YFPKLhINhh;2+koF0Ka@igjq?tJmS>>&rCmTcF183(zPkg1#}J@#!D5)%izZjo${z +`1P>F3yBDXa3B#uo@@eHP*`H8A}P0FDpIb?%?3VXs}F$_p#VpAvN<4%pg0ClkrxrhG`lEix7)*`7`yI7dIx^P_ +%kkwY@Oc*vGuPXqy^w=qZho5*eW+5trNsnkQl!6EfHHr3}A?vI|E3|TrsG(Lbf~{7|(qR*hSI@RxJ*}Lp +^}yI)GxGMoizi^#<65sob}KU6;8$C%~>7L>Kn1ME)qCojROV(!7WD!lbWay#R5cmaRSF16VJpDBudlK6LWok038-?(P91vLWj9OI|d92IO<;+66{-}y6yqF9)fV4h`}?Y{yV{QeRCAo +cf@WDP|6R7-TEs`>)!xOYq(T+{JX)hzDJzZ7!m*4aaN<2z6GR8b>SH^Ef*oqH$bQx6R;XR^$FgfqrMCJNpT@R9Ofwx{J~!u$@CB?=?03V_GNDXMhbNE6Y_L}I=X=sX`k +?V<@X@g=oVHqbbZ`M5UJ^+8w8P>Y`sAc-GGIHLVzB^1>K^3roo~cw2x}SyodHt*Nqh-r!KWzq?L)**3 +0=I0_ga@5I}1E_6GLz5W?p>;&w)wS;33n5qP7iE3oDshUTiwf0Y=Thu|`|$QUMgRCxH-hj4!Q&rrVjA+f(AwO@S!ef8+ +q@4WNlyZ^I1FE7LElJDxv7oXpK`TSW9ufv_S@0s_^JMZLD@6wCUz_mX;Eesk4fe|+@*uL +r0_p*Hc;$O<+7WwYC%h8p<$kfN5hUfXS^6|?rpTByXJ`FEF{_NSS*YCc6clYDFFJ6XEJ +`eBTJ%7xq5${yW#lJ9EpxsFMJI%&GM7G*o)j)?iDu +l{Kxyr{PtP-EZ>Dc@FC%-kA4?^|KxY^_iaSI)6)9*rd}qwBkSh_~ZJlb&rpKa#xvp7AW^1MT->KCnlhWz+lN$u0-E-!lz7mknKzZ~z?XRU(U)N%LINAHdv_ +2TtC-g~S+x*d=|dbbUh*$rF4d$YU@&p#=T%^Rev%uOHaO3Hip>Ws7L`>6QoZN9`^~52`CWd|UkGiqfAR9Yd+#JsasKG;Ki;LA?lv>ts;1S7%RR+4LK9R%%DZnD=?!8y#b!)Nk +v}^>F%fD;WU%7krMM=-XXSdz?%U6BQZtebgc%43NwQ`f%v)nq&v-+&OeASEn!EaxG`r`TB^4@K8r +uUw`ntYGnD*gP>M>m7!*AL{qCH44GpaS0gR!QoxyG`|L2j8RLJo*MBu#LOlynOb$JeCo6rAN&C0eIDB +ijp7C{JfRXe+ej%ynaaT|31tz^q-Y??@zn>^){Qe=->A#rzQ3`;rCCUKYjk_CO6j)-dA&Sk7NAC-L$| +TV9@$}_p8-WA6;MU`Fiy?FTawZ8_us?6a4OWlDGmtZWHjUXD^=rfdrY)-hJo)2T)4`1QY-O00;mBky} +}H58L=~4FCWyCjbB(0001RX>c!Jc4cm4Z*nhid1q~9Zgg`mb#!TLE^v9h8f$mjM)o_uV(Rp)BnJd`yW +K90?UUF}>$7g0lQ`|}+71k21geFG%!~|dlKt&_@14;Lu$#0wOM8Nt$9=!$ot>Q)gU@_5nTgEkFgHm`E +B~#3TD0^A_7byVah^pck(mzddOwo$l}aX4(`U!UBirxwzU%Dw_P=GL6*E)8UOF7i2tI2wEd+b|=JKbD +SFb}0CQTxdY0+oTUZ2?g^RwgA7q3rQEEO9I!;=(n?f}iLWHy(|FeO^Ck~5Y_=2kAn(wtrVs`z{^RIAm +}bD()J=Vm%kf*rt(Fp{%*k_umWSKaGtcH;%Dv5d@WE(WQTxA}a_NzWr1pL}(4aeVo&m#5eIu}>@Pig* +6=wDa%5jeF>I{(iG-xBR0%gM;+U9x*vbsqvI08T;w-=kvcl006Gp-JPqqJ2$&K!IAwLxI1qTZ*~t`Kv +o;+Jh`}hdVbD6;PcOK&M(i-&t9C`pTC^GdUo;pG-w$<*}~ToKYV-?_}4nzJqnHv;om1+SUL3C7SY-V? +wbww%HnjPc6FQj=c^K9(@!qZ%wDkW9W +C#t{#UhzbWF-u}5Gr?p`7G||q*(Vz(rMY{pGAO|l6iBq7<6LwG@|AsqhcG7|K&!babh(?l~ +-Y_dg?rfejbvXp?4b6BuCW^*MYp*13_s7YdigOsANF)->oWUU~dt4WR?!T?Vu4U42wA~In~MQbc#HW6 +kJO(pos0Fe0>p>8AQjL$?H$&d>%ZiC0fJWtKR3lLEoAgWo!wK#arQ!UnbJF^triWM6=Kto2Jh0EiFIN +)kkkOmfv8(O@}MHUHyF?5KBZ7UPTGbT`?KpPxZ3tUse2$PjuC77pz?y1e +rcoSeftn1A<8c=xNS$dqqDkg$*tRfM>a=s$7%HaM>fl~L5(|$d;if3;Q&}wMJZUa7yc%b%%AbO4`@qu +1n_BD7a|E*l3JBcM^dKuXtb`#b;V^SPfT(r(p4K&0_uVPhYv~-^fSsabRr3n0oyf_U_Ap01SpM+G6Z` +U#gb+btfR4uIotyqgH-8gYzd=huV&JI$HgWv5BKAEI3!p;MLQrC9i;;lL +uz$~68st8OEhxN!Rh@%`)IjA&6^qqjw>SFelf|+<~@YwP6X9$a@|b`@Ettl$FX;oS=~^?eQ)o5r9L)X ++cEp`2bRNqZ)@hWA8)VQYctSaHCJ|r&dvi}cxRS^)(;j;qZQ_cFAUHij&{B+?BfC&Xr!;m*wb|7Mb&*RQSsPG +Tizfr3V=>oW>xl)C|F2UYNs9(}NS2BNC+?1jw;N>+&E%RQ3x~io5qUP}D=qn8&P4wqk!spd6RmQ+bUn +DVW3)n4S4&a6@ril@H&Lcs=wW?fdX(CmS2cYs}NHReHxo~Fkc?!hZLuJ}P^P_{!_zUd+f#3_bHo~8!5 +OzZ1!wD!U)|6Tq?D==EM%&?AtIXlffXkn(0)x;fDG4)Q~d^006)YY6#ADPw!()H)=48||B$B!aGc31&@4!RLyu1bl-VhY9M9RB|V8UB*YmgO? +p1;p2}Qw~e4kbl-twV|%P()CQiixmuSN5!(xUb?Kri)!px&+$6xBnSs#uLdZWezVv(eK>YdYE(kUVt9 +6;}DtK=wwSl}YmBMC__2Ri%@1quG!c67ZuU{-wsi$JZ!K!WDrs)j!#S^h~R4CBM@l-^&C>xAv=p-2)$ +y2U?5iF85D%HWTO)&=-nsa4bn`z^mMOO6BVhMg$jC1gFcz9?-XJar_%vjb)ZQNRC!+Z2qH`l5=O0urV +?f@W2Aj6K|vycA%b$C4vj=V}GW%2VVKrNL0@Y^pAv!n9S>S3r=Y4zz~yI&eCn3ghHqHRG~q<*K6atR| +0L$?0;J!#pj3PB^)l0|5Ewj;s*jRqjuST1lRBBI>zQ3@?ylA@^^n_4}>gW8%1fef_e~VDT6N$WP +EF{d&n2OF3{l(Ubvm(>o@<V>IhZ +mJ0gSe*b1OUp78K&5~*}OccuoIUO&!x$5lQtcUqC#@^fawEoe*4t+4x57BJ +=VZ_Y`aK#`v`q~XM%PDC^JCI8^Lu)8L$s{O77Ff}4rKyZu4I0a0i00P!Cyn)-;ck>Ef^V}&9}c^TOAt +Qf05Su+ccB5HllsbR!vUZujK!g#8mo;tcXNdrfnxZuj)Xj@ +NL38R%kTQeQ~3DmQ@m8A`P&(G3k3k~mB_xBnTy1Ld;pl(PVlH`1MyR^`{8l7^G)xkCm-J=?cp +2(MmV)0gB`!J=Rfn-)7EQH~xyvG7a&Qvp#r1StG4sa+RaX1G|zyIjSZ0_GjATQ-*iv^6au)GjJBb4fx +ewg8ts%%8(tlj}QsjZcc>lTi^+W|6NSLe2-dn;2{aQ&v<<^Dsg)?ED)EvRlqpXQsihIOxf%~A(>)!*y +&dN)lADem0Q2*#beb-rQ6Rf{<=HsMChd7}KNQrM4F6LOYkNhHStoD&jc1o@HCPpS@5kxk%h0-XkKfLC +X1?>jb1jBeL$i{4Z$q}!`-GDO;JVjr>RST2espFu~-PWHct0MK_^Q)A}+Zg;U*gpRCGs!4YQtaqbn@0 +)Nwj_Y{+-g5l6s0U4xA3@>3_Ig2^7Nee9{0r+Xzlme4TV5Sm3be!GF6AT=4T-m&G%o)=&D4qmS8MP@X3| +MI%|q@|YD|!lMVE{HhiJhAV4*gac}5*!5KA=@^Ij5ZSG`a6FC^eQ@R&WW`r*AfUsl96&dxWG&t`J)l8 +ZgRRGK188b{TkDH^0fGrh1%k(!A_^Zw50>;Uhs2|szDFr}u6#nX;{~5gm%8eA_HXC`YJ)nF56IaIyhd +KYvdeblbg7(6faIVM1Y*JeXYx(}cGE6KL<22EcHjqVGpkpw@ph9A^3DnnbAYNTRs#M?mG&?(LzkH^=* +LW3Y$%fOB$XIcp&Ph{qk<3hz)gmFFEHzMR2QP+vT&@+fCT+_1u ++MW?5>+r0puQxsFKqGU5(pZ2rDU^^>efl%C#V5atnKF_N~jbEa$jN2K8FHL{VWV`<87VK-Cqr0UFT|Z +AReA_I}PD>h-b?fFvO-L-F(v5B8@j*J3xVShOuu(Z^tO_6tnFd$|_8R5ct;8>j^EgU0mI@>ZjAd3njRuRC9c7?9Czv?2@uLSZ+QN@!g~4Hu!p7uh2Yc^_ +n!LVJ^S_S!fOjiz7(3%=4MeBBgIBTdt=$@LG8aW6M<=lhzo7D;|%{F_Lz{bLXuNHk_Q4RphAaMdwsCgoVKU{ +frJH!jq%|_#!6NQ0j#>SG4yR{vVo}{DK`U&Q+6T$L21fO?Ydd8%oXH+oUS7vOtPh8VDP9$icZykM3f~ +b>pX0FXc7M(^vEJJyvd?eVolKa124bvD<}%i6N!KJgBPHjfIP0!6*4)>V@w|q=f|Rq`C%E_>HKMtBUtcb8dBt6AciXtJ{+?gKrXM74U0vIG*~EwLIoZ6eyH1?iPB(3mS`YmTQ^U)nt)owJa-r@qftYmcII;m^Yb> +k|M7~ny2|PGMFeUiVw{uS~Pi5r$t^xBA-Wdxe!fOYh+vZ#ME<`6q}neU9RfG=yCToI@sI0|NDczgS*k +}CaPC5dew3k)l#f?qe{x?(d&!vPtVRLrkX5GWM0X`=)3bL=Kjg?XD(#_=Zlg#HuIoYb9E?)+ +30htim_%o?Zpu7*S>!TG7g1gSEyd>Kc5AljBI+xQfTL%}Cl^o8&P~u>wg?~O@Kc!sCYlvg!rnzU?7cw+mkBYZPnOM)}BDy||u3Orm +yc!y5Z_Dyp)X7RQtSL+s+YqzLv8Ia{1_LW0E`Y}aT!SY1(s*aL{Ry|mJJ==k{pdGGnyBp!Mtm&dTU|& +)-V-fZLSy+1lW#TX5Xisp$+vRC#m?mP6~&CqnQ%kwyobioHVlD&E-%E=gy6CH(_7H@&`D*wqiT7DesC +_MS}b++NK7x$c6~)+I)RG1Xp+bcINzbUJXKYw8m7@y?R=vYiWgl~tE~vr>6q({N}||^Yy#e&!@81yK+#{cV_d2bb$L0iWVYaOP<>2uOa@DC3+e_rviinxTWB{L +bqXI1cvky)I|BWTpuEzK`m4oIUqCbJk5bAA*`i`+0u_Uc1MyN$z#cYfCdcLI-E92#pLgEPMicNwaHH| +)zekgwiZma;CB4T)R*BfiG1Rl89T&bR+cGw`P=B|G_d7c~y#h`2X_b=6YYB-7m~w;_{aT)2_yIQ)tJk(e +8R|8o0J?ggC!h&x&jyKs+vTaE)3;%9VtF(gb2er4dzBH4uTpPv5;%L}q*D^=Z-?t_(diPFbo0S+*n>d79ulL +mF&TJpW4gky`p0M&3;J^kf#d__haK{GBW#%A(0e5Y{C+HkDRSGsV8UWn00iT01+_wSF@)qD*#uAtkMP +a}L8;}+umLA%G4`8-_EeRW75+{nlfSC^|-DbY!IgKE!UEl!u+ +mVOT!dMAGa2psvZva2m92#l?)t&DUd#{l-W#_!xZlAk(NFS0qzmNswh7AOkbsDT +;hvTy@a{0cbz1Yi9@qpuH%f&}>{X(9{7_=n0W^19O +TbC)sTB{m?=!X +4EFIAFr!F=D0O^6Q%q87l&xycCF9tEQv^*n +oZ3v3my`2M6~_J2-5c0BGdnF@^vLOG{TnTYwprp{lBMJ#0(g()p#j1qW~`5P*&pI|?>a +7(i!#KDwm90HW4J1Ui(1hb($KFgSWs3QdTD;1oCpQ=l#V(M1CbeV0*iV30rTQPcS7(i5gYSo%&=pcqV +nxG1#QI?bDE&@}c5OW@8M-$)UXKAKf#w0axxKr$^kAXo;XR!0=GDcm8Q;=Ew)W&`NZ5-9iqcS$=q!X5 +#TKqji2wYR136165U0QdHBcS%djk4@_BMeh@z{$t?^$Jifef>m7AsVBh_)HF7wOuQ7n6*N>P0lmu~IndaW3n&vU}2S4nwk8+NV?TVBQ`V-P@a!9%$~cBnv=iu#&lJ# +DQ&z#-*Ci{n!9Hcb}Gi)7WQO<#H)K!!r1f0GtR6pp!W(Z%ZE>&?kOn5I{%lxr+t{&}S&Qiv|YJfnS;G +A-FZuVhsnVEwun^rUe7&^SBN$g_`QXIXBPZyych|X(359Gk$9*DGb;q)L(fsb|_7)*hfMiFw +Lhdf_$U@!$@-i0F%uqhCaE2_*f^1}e?aRnb7+YUs1+KE6EBu#XiKqj!iPy2_$KT_Ny6q3RP!4!yE(|l +3i_+;3Z6cCu3IUs#p;Y45np^#*d+&AgqaNz!ZIzemZ1PBHLh_$YyC~HOn1L*i+Bj(ZzAZitv-1uf4_V +3X2XT7O!d}AP*8Rue_d7j4sfIbWcnNvZ>`4~X7w8(_F;qKp`QW?;smTjws2W10OlM}uS(g`Adf@<;9{wq +FXURSZs_!dWe`rlT2x7sZ4sCP0m!CgV=OCF(s{m(dcS!%dIL+ur*EWdt_1^VCIB)dl7<=#IB)=(vXps +(0w4z5<$$?dmi8nq)>3DDKbse{x>vV`-qDIb%d+^xupam4-%6s#7%azuupq>I;`+)(#DYi)QRc=$7(z +TVUKCB~mu0a>A?YWVFc?DOa9pL=0a+FY6e2&#+$+n1*j_AE#PCCiZN$pa0KMgW=hqnH+Fod@L^B`l?$>Z;XROsWa_&5lmNmTsDFk`g!e+WZJx*4B@8KdIA2 +rHQy|I09Aq|b~`!w}Me#IM2-+AeusEsXy5cN2PA)No`pbzsxx^6aFE8B5C4#U#` +K3F##1Ja}sXMvE5b7_l+{q<|P=EQ8JGsOV>Mv*Rwc2=$i_?&K0fsKI3JSt{mVypa)}|-UrKj!i6PWqDtB^;AZ$*lb|;q@Lj9$2CzlvP{pFK8xx +^6aFIVp55<{rJT)UG?459vV<4!Iyg!;>8cXEj#)L-<{;^Em*$J*jpEiU%VjyhHs$9j3Op9)p7USRBpP +$jqPizx_0sFFX2WuZ!TBPem55V|HgJ`b8DeI^^f4%!%d%<(E{FzhkMtDw +Qq6&Uep&|ugz3$?49Ct9kGk3!U5IGJSKG9K^KUMv^Rj06u7sm97MgiYK@;gdx{XtYf85EYidZx^rHKm +?)h>BrWR?jF`d_)}4|rOar63RN=MiDu-W!XBjsWnpuDCt+ErS)K)DVRL;aVOgkI+AFCY5VpcQ=1aUa3 +{#OG)jw$?jdr*lW+Bgj4a_F?=Y2%#_K$JT;xm%*?V-?6>q ++ofdoAeAio?l1_#G9|j~yTu>~%VDgA-%eRr3TH3VDlZI!cw>(ggqHCtH^ +y3hQ4kczYap^Lh{(GB=LhYcPaGezP-x$CByR0C7u%qA-Lix!)aN0K&Eh=%`Q>hS1I;^*^ +$4Y!MLaJp#N+W<9c5{q74Fben+Ktbg}HxLKMt_QOrd#P3$wdmz;JyS4lt2zxN}(J2jru!)F%$ABS&VH +s?{XTTtYDml%$<=YVUSnxOq;UkMY4J7dFN#g4ugbjJBk4`#Rd>UcSLlCxs08nx23{#}F2Ii+AqEeuXzT0Z-2ZWeVUG +pXl5F2&4z?2lWaG}46%d5Y^r~ge0UKlfQae?KAyi|t23p0Nkg!+I)E)|fJeeB5*%QG-g>9n{&)padVY +8#F&`^}U-cW`iZ00I=(!mh+P&jwe!4NihM>{GYBp$vov&4HUxbkGSslpaAJe|(O-|nk0=r43*g}4az$ +ZW3fG~6T8)-T*{iK$Q*I}JhD1`BZ!^h&zLLVOy6uuT@?!j&i4RH!4HeHOeB=9PtGvcq;U_TqsXgQ&0- +spm~7?O`t)zbcEsNSwU|{aEj~;EiKc$!We&r@zpbwJ?MxiYnz@mh34n?#0-vfNl(iP%7Qd3xibH)(bJ +(d%^txf^EJKZ+Bl9VvKFS5O4Qi7=}m3+;2E(>sh`T))hLy}l7J3&3|KOdy4`cRW@J-yY7j!e{I{{ +dHn)bANF$_~-n=!P&U=Z1OkTD?7<_Y;xK*zF^PI6rovvHy +iPK)W>4TS6&fx+HnLKj5fG+An^Ns);qQ{z+_>4(!fRtRTHd&JBCsJe!l*qhe2nppE#huhi=jBix3-AQ +z7{@N*m`8K7MWvQjk1e7RLSeW%aaHD>?u!He3m(%y2j}!HOs5uqh~fuxGJ4<1bB*oO?T8~lX%B3>=jL +sG_@~Uf|4mD&FB1uGYsLIB+OHYlvO%7*#)gn#ZTls&3HeC8KaO@lP^WttTWL#hY5QJa~j90V(r@^V{h +*cdl@X3SD9mD4Kzc-7Je2Rr;i~==I`}o1&{kSgxc5&bnK;ahjrqAs~XpuA!L^9`945gwu~XvU;Z{LGV +h4*+k1@4%*h#|GN-NoHyMPusCcuBeKvQYs01KgXYq4)BwD__T#Jp`X{SFq4G?rIp53TDbq(%W=cxVs> +zwAO7;8^+?2j%+=Q*nTNP73@Z7Md%0m~w;$X%8K4KzpJ|QmpR#))e +0(|umhwUNPk3}T|=Nx`8CDj3=QC3{ZG69S_W3bt5`X7ndq_sYKSe+%f-i@wSX|mFFt)<8-&|+EDpuSq +2!n=j4102=mu3mh=VIp#MKwx{ip`0uyN_*-Q!~THNSCEo*N3^PQC)@K4BQY17T5+PQGpD8&3R^;}++= +duq;nZMv=#W7My|sQ;f^{V5o%1hl3Yg{YWYUf>DGebn%03i>rnmd6*zR#VOPnoe6Xr+QI9LC`(NOShF +d6acCYpo{H)FLz +0haw{{VpzC;#MMe>JHh`(*LS;yb!@RH$OrCDFrZ~7zKQ5GY7Ns +4C9-&IrP0`*~A*mK>XuE`KsEj_lwAHUb +`L-od2wgfLXqMzk`m9?lcS7w&(=#$Ms>j1B-kPyKO}w +wwW_UNEri4F)bnl}Y)8DX>24##x-|qF$YG=!FPOV_{>*p`6BMnJw>&KP2cwF?)X_d}0`Qs`Dr`d=kG- +{~D4B~J*KcT#A{$HvGQ%LO)pG3aoTvaul{_;;q>c@>ayuGdM#qpCTCr_g%rx!aDTz9k(5G-BQ +Dl0-&o9?%*%^DXxQ#Ev>f~nH`ppx`K>^kIE+PpfY?nbkwwsNJGtaid)lbYTy|C&zQ`Z^(_v*YLAU;O^ +n>G8{p8~NgRUv)yURVJ)+d3N@4(-;W +nEF7neP+9iuzDx==5*Dp40OHj46QJp&x%mc3(`q)jNAD9!A-Er$A)>4U9VbdLBdo5nx5X}mfTmSy?dg^HTYWO0(4@LmQ4v*1C~N3R;}@VQPwV?{=smG8lVy>Q~bNUDn$LB~+SYz<UEPsJ0Wk*Me{W?Uq-y$P=l?0J<~X(Rp +nKDJ5LliH?qc?~5?IZ-*%u8wcH!u$Bq#_LjD5+Y%Y}RH>S2E2B+W0IWhY$zQD}mOL+J&|wdZMa)e|?2D#^u3V=hrYXl#)M|1oRc{)hRBH!6e` +s^Kd0A{sie?6<(`gR*Jxb4t#Uhf>b>Ha9b?yd~+GImlw-z_(Nyc_60`s-dnH-v-P-7X$@ABGYl`v9Bu +jSm#dafa_FcXt)>Z2$1@=*=Js7gyfq=o_{DVwGaO?TSatxi+id1w(WwMqvwmi@`WHe*qLf1T;S!R}L; +(H`o047Y7{Z3t2C?b;oWx)Q}YRWM^>GUzu!PTzW~${xN4DxUDs0!AZ440__e>aXk;^KD19y`-x=f;$j +fzAvu8w(=X?Ncui%sSfw0f#$c-nOql;TTiE|s%e`*S0+BUPw~LccUwo$mm#B$^eDNSSe2=F`KqnISDP +%YwYS?oKGwzF?!9kYrxUtuK600Z&s2$`b_bB-{avkVjo5K?!EIfsmy)`h+hn@9rFftGRHPjVyU*J`+x +-ocbabhnIHsr1UdVDe6wCCzN=@!pGHGfx_-WfkKkccz;TxLpw_<><$F#TdYGF+7Kkmq1Xa43zt@^T?9 +WQdp?sZLL-TZgv&M-0Fb~d@+9ewe%H;}NzXeS62yY4>HSP91L+SCVmYt^JB3J5^?|6(q~+}*nM?D*v3 +>Dl@AIH!^7;cBr=7dN9rUCU#*a3Pk)Tucr(Y9FEN$IH4DdqtrwxP4gFR_1zQ*%s9kpCE&p7S*K(o*=Z +v`*D9;^}wuWTiisAjtltUY@{ut{c)|Fw=G9Ky)D@6aWAK2mk|-TUn080jb +Ug000RU001ih003}la4%nWWo~3|axZXsXKiI}baO9eZ*py6baZ8Mb1z?CX>MtBUtcb8dBs>uZ`?KzzU +x=8o5O0;t>79(4-5FH~*z1^_0?v))M9sT;#@zL=wY`bUnUJL@P;JY<5 +La@`1*S~+byh@yyO6Ectv0-nneslY8|2R8;e|3&WvO-ucD>!ojH;Ck}){SM2=-$lUbgy<_i~dKcK-v6 +0DjU6H+9Wl%_ss8YxeoX>2?gVFfA;q&d&Q=O^s(iLqBKN7aQvD3HO^ny6Gj7DZ7ZN|u%?C65Ucmuk)KD!pB8N +L6tBrLb+I*ynozh-wH{rmgErih`kDBprOtya?vcVco5hg~z`vNip-pd^j{jsraf8gau-u3w +*Si|T#~x~lZMZTOw<0FxSG};tY3~IkL=9Yyz;DhS6Ht01js0Tcoi5r+kkgj)td*_@Xo1&UYdp{tl4|5`u}g19*E0ZcM%NM0SDv|I0*O?PdHdNuMC_5&;!~Ak62GQ2ir +}dbpyN!lAsgd-CO1m#_<7qI8Z6kaO)H$iws8cQ0*=8ioJic0Xs?KU1Sc4*B(ZthM@Q)dMzsPg)~Td!w +?OaV+fn%fmf~Q)%4gzx|^SGdw5Q6zX@aa5DvtBbURpYFGW=x+R&eJ+pCub4#0Eg^Hr#;licrlHxOTN8 +k#BQmE16bZkKpP4CrRiVxK#QQn-c>Pdd{(t@qEPci##&x +l`u$0)LrOL-9zvWeS`7xBCmwE!9bb4kw11EJO@=IPKkNVUcc70m0ATZ47|iR6gg!qSGiysj)%4Yy}rq +ki%w()$$Cqx5Kr8)dr&YV=@}|2t!qKNvQ%FZb`2RSz@%Y!5{e`xuFNZxF%SmaUI8mPE_)FDB_X^UE{$ +Lt@g?76quQE`ifZOi7M%B4Lc4&<4w|73GbnVqY!>*=f~&6XkQW`Q2ZuNfN7}^YVx$WlN>CsmK02{KG* +63B1p)E#;4AOi=L&h;6~-X&@#o3ntTk5edfzR+4FHzSdAbJ$s(@u0dmZ#%-RK8d_`ea%_i4gCG4ZY +T50Ze3yE$k*n?>HEa#0V+p5C{mbkhF_N~ZyYy2g!X6&F-fm(`+{@qH*J9r;ZwP}^YUNXxBEXJ!WV_FT +8=z53XC%NAl053tkari3`p4b}*#_^xpGto2}u8+jS~7Kz9IqBgKPo7$tm7fYqTK+|o-3lkC)s)~K`bFb0DNS@9!Dadyjm`0fb7T408h)|C +X+mcjnqVin~~Jpzy_z7ill-rXCI&r&})a7@aUZOzti*>BrE5LT-26*xH?DZp{D?Y-$<0poGY{pKm7Iua?+8@%FWr_hV2ugScKFrwht +OrON*Ag6o2v+g?>yHD^n1iE~*u#P@@gZwJFx5ZhWW&b*`F8U_2x|HLr!eao|f_FPjm%>R$2a$Qjrxll-X3vo#8cT8W0l6Umu8s3N4Iz +=Kta_*9v|6((I|Dg|0NJ}Gl>c>`?jg6>E2eq&T$4T!b#2GNeW8e8f?|Y{?d|bQv^@*-~j32NEJ<08}L +kLa-{Suk~6jg!ap; +XjV8#b^MS-EB~6fKkM$NlhpqNIsLo)KKL(CO9KQH0000800WU*S&oYR%pe5-08kJB04o3h0B~t=FJE? +LZe(wAFK~HhZDnqBb1!CZa&2LBbY*gLFJEn8aByjEXD)Dg%~#uQ<2Dd|&sPj~ADk_+E?RW=p*JAT)r; +I<8@)WOD2cM!NF+;ANra;R-kG5!%Sjq1T_9+HfEUe>=Nt}a=(n(62UCflGEtTdETxuC1ertHfX|$=!G +DdDpDSStRZ2g$&3NZ69A3i356qz-;ubklyErWx9e_Bs#j?T*%yX*zm`Gx$G>Ye6vAQhT^nVFi;3 ++4(UnR?^S& +|vC={mc8Zxp%?w@<_>dw}$ru*Abawh|iIA~@v`S7{swonsK|06sM30Ox6_%Iz>$Xhld)7w2aTGETILc +VD?jK;LYF6duSCzJnzB(OaQ^P7(-WiMMOgKrRbWmtl{!%n%}O4tOY1XQiPVhIdMkr**P*+{3HkWm&+j +6V?t)a&^<1z;0S2S;;Cuq79iQU~EuEzvFAYb{Kg$n9m_Ah4*}6Q#@4}=x(!j<~@Jw{Ks!P`KGgjX9TR +vNFKCh?FPdq4i!JQN9X0AHHsm9e`qhhC~@C7oSvUhWA(Dj0o2{RF;^ESuYO}b+2zXz> +4e|Me%FU7g)@;V>VQs2;f5A1u(j77&l@JG^=ru9yd)9?#nvZn(G>n9n?A|tDK|W;3q1k>vFrsbcJT-T +)6AnZii;cxME|1!oG0cjnRiD_!$KPU;*hbxsk2)AL_W*1%`tc0o(MKu~mP +w`a6Y+;SYmnO0Jsd=#z#{DzP)VS3y`P|6}n@x+azaAs2+;l-#1r#=hMs8}v=O`0u^Bebxtyj}kxBD97 +mavPlef*>{?lZL|szhmsMS8lR8K8`pm#*Cq4G^QHQ#aAdz5kl*9mAYN1J +psD8N@Lwrc`eF5l$vswKNiwexM=z9hmYIE3v1(;Ool^BCmWv;q&KB(N7Ot~ME5V|)B9C)k3%8`T6{R* +BJZP7w-*?CH}OVzB4_HFI78Aw>p3O&7w6vv?JD$>2=QonOXn1S5rh@a*jQ9Z$ri?~ao423a~QH^^H9j +=t2mT!L%)G|UoIKv?p~pT*AZdiYROyu=a}kO*ih!1kJUh&c0|pW%Y^&=e?!ZMO!#NKw+3}Sy0q$bgMY +1?_&9gQIz`VVl130>=o}f!-#h;RP)h>@6aWAK2mk|-TUiYc!3ux`008(5001cf003}la4%nWWo~3|ax +ZXsXKiI}baO9eZ*py6baZ8Mb1!0IV{c?-E^v9BRZWlEMhw0CR}hB=*LX0%%)NPl}tYV_r=ZR(4K8Iq5DkL29k+>8K!#bLXb+Szbp%Dr$-mNrb1)MS#c|GD@Z@%>^! +rqDWv_3!_(S8?F&;n_|zO+ajKlk8~d$vQDRIUnZk`mQ6% +y_ieL__V6k{W0@`@N8WTx#VJ#fpjN7ltjElSR3e@M|%oCOhFUsvat2TtkowO~xN^gPBL6j0ID>LG8FZ +6-qBvqbEG=jv4GP6jRfrF_a6&iNPf6f}pSPutQ|I>T&pQ)0UKnV2%e-kJhBa6FDig`j(C_Isn7W^!W75NIcyhh3VztP2BsuukqRjAghD +q1Y9R#RM{=1J|bEaghszQYEY??wSHmIaf`34DaS5MNWyHj!ALbtUnIr~;O3VymPcfN +>@_qRQQ@jT6U#KMUe`;?s$VM5M5T`@F$Xr-=YpRtQ#9+=E~$N1saLO&r(cBRSkJ=fE~1w-SLoPRr*-A +dzKQ2FZy>BqPIib8;+a8>mI^p@xGg*8&@O4t`$*b@%5=Sk#gBNWF7|Dc~0_5$+9@OLAj_bzKDFKolvh +TojG1%r{eb`_`*C>1uCxO?c6`wWW(N;v(mRMK|`Qn3Ip4kVh*_XNts}9sW$At3V4?U>!EAs{ti7?Y%_oJ_1ik|Z_R +k%JUMapn5$d1SO@Tqj?QP0m^^zWfn*(AhDff5R}T9yeFZ>W15noi@FkFCuC#mwqq>GsoyB-lza?ki5q +tC+y=SU>kI`t@4P7g)xPjIP%-KyDw(Y)J;Hc746HMkOtA4-vVV%;ZqUr7RrP}lcZAgPR4qr;;&X)6?Wqe=y|EDi+sWH#?^y}krdvPB4&B8|gk6HYwG04AAO9KQH0000800WU*S^3hUFdz +m10P+(604M+e0B~t=FJE?LZe(wAFK~HhZDnqBb1!CZa&2LBbY*gLFK2RZW@avMd7W5WZ`(E$e)q3nJp +_^(S95}{1q`G>n_gC6?S`hq9&AIVCCcV1Q-VY_4T|=+?;MhnNK0~p=^>`b^L^*aLn_nhbVA@M?sf+zW +EG})d7x6VvI=))o~CN`=h!n*%WoSD0W?uClGn1RWvB%fabDb&e7Bbia@`Ec<$V6^$>sd=DcRl;xo6}r +V+4_m9%iIsjJ*8&^Y4Ftx(PK+#$zTbwji%=UhDNg-e14@c=JXnPMD-TtHQ|?oSN`Mk(ZKyVf#s1<_A* +nB8q9Acb6FX)|V5YTJo%s-!U0&^E`|4LeA717ZP74lPIED7DeQWEWLLal$P6DPbQN%qg6%R1-~ +5y3+3|E=;Ipmn6M<5XmNn>WWwfieJj+l&*phU5fFGqT>Wm8pz;WIJte2`V +QIv@Ku!XQWlqtgky$&9C}dE3uSk4ADw(t=T{qiJ+Fbj3U2cSvn(+ADfa0x~#SJ8jcE2T47 +uXyNrT1d-wPTFe6?k187(ozt5v$Z{v&HE-=gJNUUW^RWE>W9^yV?mNJs2Q>N+ +1+Jar`><*Z;YrOXFhbwt?gYJ#^GO9-8ea8ftv(2C~GI^Wh7zJ51e9)?k}|CS|Yq6BA4W2E?7S>T2}}s<#8c7di8OOTH#W_5?{jtm(O?tZH7 +zcdm->?9EMGg&S6~cw&WLQY9&0UODF=<#YUs#v^vP_#bnry=~;C~o+e~U&WP`T9sx*QAhEYP$X)*sVIBRnzF&R@x|h(e-vW9 +hf(cIV|Js3rV4ynowfKTAfdNbYxKm_}&)dg= +c57&81W}UXOE=5COm$|-iM|f>(T9jnpq*WdG3QF-OELo9(L*U&CHV^z=*7Nyq*K02b$*LD+t=S+#13* +nrpFISz@;V)t&mV%=bbx2`hX8(dfah-jU^V69&NzM48o_+rWhl_=#Mlc^Ai!qRyo5}|dBXgm9ajquT5 +Kr~rf^^q;{_uwK)cnfOQ`QLnbyy5=qETiPFEKNe6aP;!=db>y(Vs0<6yBe0yaB_@VMx74BLv+2XRyj? +Qqf*o%$Bc>oR8J?cY668>vp?@sT9bl`ywUedt)Zvb*qNU^h9ZQeTyI7yL@Inqf^?KDdmxdyZd}D6S4? +=RB|aWuYan^lw08hQNPR;Lc3gZ+KWYNj9GL2 +;oD6cRiy0omVEQnpDLBpPbf*)i?2#J9@d%I5VIBA!)ruGXn{(m&CbGz&;u{QT>G$Sg(g*o494I9R>MQ +)`h?X4Ic(Ri1=Tudn#@L^PLsH}6=!ZmK{vNJxY-_JXm~vqH4^T@31QY-O00;mBky}}{y_xTKCIA3civ +R#80001RX>c!Jc4cm4Z*nhid1q~9Zgg`mW^ZzBVRUq5a&s?ebZu-daCz-LX>;SomEZX*+Eh(IYDnsc< +0KkMo5_r(?2R*adF0KeWEBMhO%WLoU;uD9j7t04_Z@xWpeX0s56h%HBGCQ%_3L-{>t?^-?+N&rhk(A~>+3&$EAn-+gQ}Fkvuh63MKTXX5uC-tzlzzj<@@{=*fG8_Oz8(sI)4!;E^#a+M +dAn6I;_%Ja0;4|4NYxpf{+R$;a1&5L{~l3b|AAF3kB?!Wo2$1hgNYBK#Kvp6p%O={^*h8R0KRryDm=? +>TUWhAcU=V~NAT)%$*_Vo{Mr`Lb}{_4XH5bG*QHH3RvO=mF4X}$sw_$|pQ`z1|E`qt}J#rBLysX9hgc +whG9=SZ$9@eMt@DvG?|M)X!(i1&FWd%fv2Ow;KUzTX6217DbV2Dd$UE6XTc$tiNovm>|7o9}{&k&u&-+22o*(@3xA^!Gkcs77IQR@IA}wKc(L{8}vjwi +XqF3SaT-?K)h6q7?mmVM^$ZsAW<5Y<$ +(THfah7b#AWn(aspjcGmSbmY>Y-v>0zh<1p$5CED|6fLr+R#FWcF)9V4zZ&dvDb7XA(mJp9lbXh;8o^ +cEl$=H-5vyLcM-z22J-AKrcQ?bY=9>W|-l`}+Ed5D$Lp9Ub=WWhM()&lpvfQCH`Ss#=w2M@L3D^Wy&K +vbV3QoAkbA#TJWo7K0|i7NFvU(sw&l-QiL1#h|RVsf5)mhh+~i?e*S%_h$O_)$6xcKWN;~zkp{*1c7` +nzW?#}08aGBM@N79<(s3Ux7Tl3ZGSmAJ~=wNdQZIE$9ciDHk-|4^Gll4^$$k~;LD>DRAW?4;wtW60`& +3t{~m3|W55it#eZZNU&5TutE5Wh<%BwUr>gE!K5dVwpH(d&yo`UhfAEfVle +lcKENfVGV$Bq&3#hxt5+I4M_YxCLGxm_L#4hvGj(kO4^o0WMY`9{ZOb2wJWa@6qY`5k7QhbX3J1Gep9 +*fh2j*js5^l&{qNFh*ILcdmp}A_b=ypu3ipiVd1z%3S=GH3jR_Z{IPeV4&RDP_zy4J5lROy_W-yLoWW +HXNn}~z(TZY-BL5_D+#;#ALnRik1-j!RpA+j@fm+EZnI~xGO3in7i*!njjO+l|W%!XKw`5m{ff)XR{s +WYOxwWFllamuY_@9tB2=siNrW))BWGTv#u`8){Qk+NYrP4VZ%YkYE7F(kpCRhlDtsE>42n#|gJ>g_qr +WF&IW>Q9_1ZNHW1c6E#yhj7j7?sAoRGF?}cm-%&fktFDgIO`WxeURbm9IE3f?&og1)^5E*kCuq +X>{=t0Gy0qeog+F-GrGSIKlkMp$!B +CJ+66n$*oH^vJz|3pq4>t+CUR%j$om6{FU{D6OIRKuyZ^j2(9a-N1oS)H524*GX9^bfmLf$oU*}DW-Tl1MMVhVq_!;NoL? +cPwNI8^)6X(cE%UV=38GU$t*Uev-}Jir<@ozRr<7zQx(}Mn_7#a$Pd!#JIBixU>->KS!b9mVwP8AOC1 +e95*R5Z8TIB!Q&A}?seJ)DV!0%%;%X`Z9^XBTv`S4SpT?hv+2xv__N3#mUH2OGSv7dnq_UO#wNdHK-#F3y*9EecFq&i@O@q>k*pjZCnFaU +hqF#ms{!+Dnl?jn9qhJXp)DH)syLfk-0jM@@z`0=9o9wy5_?-zS+l6_#=)WSnwa`*JyYHxVL0hImO^} +jkQYq^1}tFbjwio$gCTfI=U@*bAFS{-inikAu75$n6LnV&!v2OfCE>U6<|%{*+ZZKx>^S$_t +D`fRSBN>b}levD7-MgN2#=M0)kCMRS!hu<8E5y&O#^%&v7gIk6M+^{>vcxY3+8M@r{fe%Ij?#X~xla7 +C2z;OOONpo77*qW6H~P4qbUg&M`VWDUq6A&w=&S(&G6$HrnrHZuK!l0!7jmB0gF_DIZURyAqodq{JZ61HHWsgyEI67Ketyz=`5eh^b^4Gh3=CnC8BFX})r-ly3t)Kf%~G +y#~f0T3bkHuzf$4m$r4f>rkVpPYC_5;g&2ddB17Gqx3Y$vJy@<;l7;k`bbN^23I`!Q{zSYrVrY% +fPQsi_G|TGjU#pwxNW0R#emV}r53Noxl-}f=$+NEU6B#`wBzv1AhQOzi<9U +&Q8A`Y81(0D3k+31?nv5K_RgnX3%hK9N18Y{mTHqW=P2;vlZRYG%7)9sJTZxDPmSmN@=dBeLaQga$ES +sW2X)>0W14JiOR+Wy+30Nr(Gr2)XP89f?LstpCqb$#Cl+#l`#DF&Tu1$FU=oBxWGs-TKT{p#(X= +4iC|7I6FMFc^nOUpz_v3&#_#}Xc1;fxwK1arPj$X)8e4UBAXZ|;DO-gCBs@!xQOX1Fej*kfn%;duOQx +&g@LxtK)01-pUHi~;do;}88FKnC2R9lnnVe%0}e9gLGFAX2Do`83s~y`!IhOaW%hwrVT2Pj%X+mI!4-;AApck^75Op!{vZt(DrkE?B-X#&? +y2=4&645S`!m{L{mFloQ^@3+xNR9!UFmL4j8NM*NOEtO;gvev3bPl=fCTm8dydCa}__}!TD`#C*emyT +-CbW*W$>)Q#RU3&}FcLo%rGl?l)o9TFDZ?E)hX$xcX)iKg-!DjTA)ft65}irC1>mb8wxTLHwB})QKcR +I_^oHR1thhvO!N?GvlOIM7jK?z2V{!XJ9G`oJ}s|RO~) +=fftf`J$~GpSg!1IU|y8e@-O7T~8aNhuKd6c! +05ve6g0dojSZ8kWF3@HbVG4fV>ycL<}0rNiHE9mR@%nJ0I=r$jnB6Mw<@{O*ABWn(2NjO(7H(ZPBPSs +FA5ZD>yxu0U6)@SVw7nnxd<&QV@G ++ET`90~BrDuXOw!g-$6=7lvOd3}ZQ4-%ly^Ii=L6v*s~yqT0FuzN~-&z!0;$jp^0)+_~Pq*tF({Om6u +p0v`9c!QtTtwGE+zbk476vvPQ7w%)o-`gNldJ762|D-zy`4Fv=SjJj(=N;@=Kvo(hf5y)4*O#Y@3QWl +JcV8*2_aURXt+C(R@RNFE#olmCRf`c4v$INE8#g&Ya69|}X6Pd;(Z>E-P4hJVJR0v|oVJiBU9Os{4F; +o^KKgd$&u%!yVs8C9~UA!pzZ{2)S +=|ONZkGyiExM*cnr=#3Z3f~S~(CqgxDG#(9uV!%WX79{8?E2$BItd5o^P@=-lv;$xl^l&wND%lv0ns>Q+h +kbW(V0u2&O!WC9_dzVm2}(@W*}^Cfjb9wnK`|`7p}+7z5H=#No}#lhohqI_JXH8QY;7 +cO(%IOwC28Ukiwh-MF-dze&!mJo4{VECFE)74%{?tOP$P`6%oX3mBq-<7=&VcDcJxeX*h~!8SOJ{kYxh<~8kDK +OMC1g_~~Nikus??hDOyXoYA3rhTC4#;uTau+vR1-J*j`7)MN1G8B5E%0b3>c=Ve!LYD3U8%^!VHh(|& +7s_G(tiw!BJ0QkMo&D{e%U)3AY6lSB`q&2!w**kfO+Du9YV1&9wpE8%dOHJc++kj#TK +Fle+aM=%*w$OUYO`J@{oFb#zG&;^ +RuCY{syq_10HASi?`Yx|1aFCcFtY9A1uP|`SY1#^E&FP$E}TH_$-B8c3NB<>-Fr--r +-F{0FZNB#oU2*GEg`EWBASk(?O*En$3Dd>F$#-pc#PKBopDq>#{kyc`|p-?=y7fF+j>NtD7C@a>czApz0(D`=KwX01!KkT6GX$QU*gZnaQ +Hu_A6L8#;Xb)&iIKk~Z!O@{~@|ku*#3RUKbjl0Lh@A=3uM_g@ehgS+137v%BQ%k>_AkYg@%8%L5zVF_}7YQGrOmnq1#b2aX4Sc95gb!@UW>)IP8TP)FNB_RLd1BLvP)1qrITgD@3J5K`mDk+(rZMV4yW +8{>$+*Q-%lgB};nojHh4mJ}b(!UT=w5YW@5NNf+%OA4)aVqC9@n5Yz+ehlYNqn{kEnI1QCQWqTpGzCv|NjJyh$<~xsv +|y7<0}|P`spp0#cd^9WRzyEZ}I9Zl^_@s9(>?+X%#82c_T5y=aB52sJa5T+0}HCEW?va`MRPV6mMScR +%Bx?>aNfUUTC29Vf2k-&6(-y341)!Y@IiC7DI8fGwPAow5dDs)0&FLj{{Q8b<#SznjQKgrVAckQ-6b# +MH@utLHjT~*;OgmaZa5|RY=ZbW6ybv+kqYBAo$^pxYxQykuu_~jeSb#1tIOKzr;y_uLru_aMU?$$H!a +QMrW0}_mOQU4V}Fi1az8Aya_WTaV#rYEUBV~3lC{$84(@r+)@mKlxRNECy)ZJTNv<<&1_Go@RDj+-gFrXMF!#TPMN*b1JVGOJeU +!ez#t9n2#7rp3~*sae~m^ADVYS>}r!i~RHEWIFK__+o1`d9@cXH+$D*-CR;-zH*UVv*{SRc)eV1m0`g +Pch!yAjy+BRsdZL)TlS=-M&`T_0c{xCs>!+<)=RfkppJ%;JSw<#Zjef~;&Ms=%-iJ#gAa-MyJBEQ!A@ +g;e}7ej!oHi6=cTat8P5cdW+cC{_2XDjMG(Z(+wunq2+U^Vx)rcbXi!i$fLz#|Xx- +Zq-Ypx8LFmjdwNFrX)JlzFl+OQw1ngOXWMxxd$Ze3qt3$|sc8A|ZtFb)93V7US2YZ@mEbJMI{5o-|Vp +}HIP;6*up5%(`&l;=m`C4qI;WQ5hI%r!2Qc7IF5hW{M`_cW$PE7EGZTr#!ets2mL;}4ocrhNT(KPFDt~FdXr4ZG-lHZ9RO#0M#nz7flo-kTQesa;8nKge7*`vdeJ}a>jl$&`z`)|;9bz_wA4vpL&=v|60 +TOO3FW9-T+$t_fwvf-;>^udo188Y4`;bLG+s&|7~LdP$QYvL5cEEsQV>`uex@$%a!)}W*z1@x=X#Ndt +{TI7@1*o^Uj}F+KAU201#!-g9`GxGIZy7_ygghJT6Ehho_<}g+zNNV7O(l!{jG}v%+1WB2>IY8?;iQe +3L>hzkS{$#swHe(L44`nX3P)a0X)V796=2ThzBhc-Q-KxC$T=stBxe9n-k8g^bl~fB}xfU9`7IHbijc7J3j +EQgAV31vAgdA{rkKaRAbYTLonkzGQK-}7M#X&ycX5|ALO?HwEy=h{+T|7-njXP_!e5{JO^fJ{)Xt(Gz*;0PtF)fKe1zQ@@TX=}^99i`H?i>3UWbV +N{6|tB>iTCA^XyFW%%^&BY;CuN<0Fm{uXT=u6are|PknG~-tM;F6IWX524LJtQ*lrMITEm}P4$WT=mf +ki-{#?m;O){pCe@X;`A9h=>1+W1zloEYz-rJ{~!I>aQWG{(V-^w-Ntp+B+m8AJkHfWQPUU(&~9~&_N# +XPPz!ARFShc39}ja_HcL2Mgx@{^(1cXK`r3t4l4SY2VSkj4v3Hb?yz=1xz=XK2!6w1gCM~x;nr6*(p$ +%*{eZCO-3~mzm&i2_I-KHu(60V?9O^r8&6+Y~L#mr@Ie)Rd8Q4jvl+~`7@$IFYu#l@%V}rgrsln0z>do$`yFMT<6J6*a4>noJrRlKmd84< +poz(((&3A{w|SYbX=VA3VPx}!#{28L)^nxZdlBp#Yz-+)fve-JYMId?la?i4d))i{+;~16^ESKYj0x`k#0dP#xg3SKaf?447F6v#om}^1V|H`)5A)o`Eh%;&qtntGwEV=?I +AQYcM@tWN40XnHKdktNOc}%0kibYWGwa;^-XbY=OE~GjoZw$Dyc54a2sh<%p=N`}S=s?`Qo%Zaa2Y^+ +E7J|3cCO2$!yV3nseYhHJ5nI%*z0Wk0JKG<3&YJg3rBEc$0D{KGLVXDXZl43r(4iS>cpqDb?yQ3u&Ze +-)q@jbwU1_8*9bj~)B--SLwPzJ-R}9nGne_OmE^QLdw!v}@Yh2{2v%Y14j+(eXGhzV>50(vpT8b?wP| +vk?^rANh^Rn{vybgV~gA-?U{P97{q7mqgZraiI$LOcWrCpc5H4CvlB_-cmT5m2{&0=y{>02pi^TOk +k|P$iD&>sbFMh*vl?{0U>0KA`tg=kNoV#i$WIyKFErgR~Qc-{KFlUO0ch1biT>?EAcVz*Uuag`3K@gU +D6Q5EEM=ETOJ`E^p2NXlrh$J12A?USskde39s*g-EU(UU4}lFAwwZm=Fj*q-D32unDo!$;spAz?5pW3x#5K!%ZY;?K0u +9U-wq{GdPY0>sTG_F|zsEpA>|G3M%awwPcD~vyRE?)vjaOT>Wk&57^tIT^hdeO=kzuK;wP5a>MarMq3 +#b!}6lqrWV?VzAent!RaZD+C)sP$v@%o9@qx +aPMhVG3CZcV}MNIyrM-;?nOc2)Q*V3=$gsh^ZL)3isIo)?FG?fmYgy{pgteJQ?}tMNmc&biQ4URL8(k +>f#7eR`CSGh*RexWt=G=q_1|ko|iD@7lw*g$>&Dz_qd)P%xE_gAqwIzI46dpncA29jlgviDe@VvEC~I +^L&D%EbupQF`q#XW|Du;;(NLzkAE){iAO0{aC45^bj_}`k^XcX2dhJAJ+#(+9I9;uCpFhn3g0~nreJo +f>-t6x5w?9N2S0llfLaK$NYnmKuup8T)XLi%7Zi2~jJdh??vC5ppT$W0+e(|;BDIvohzcwCvPSn#&JP +lQA1HEu4irE1TUF|w<_T6o>mRWxk~o%`FG%K#DvrKTlWOQReHWEaDBFwlo=uJMi(wml+Y+;}jfP5jsb +3^AWLL^yovG`qn~JOLgn_#t*Ir?VP7h$U3-wcj_=AhO!rYt)$ +Dj8JN^=K~o!nIjuE}EY +W1o)sV%#%uz<{27xN=CBNOR2y&g?|}&?3CD3{kR&s%|IFi{w7RpRaOOLd62k4~)>SNa6Vm1LoL*rW>i1wP^TgO{U0U3fw&DE}^CvNIc +2IYqfycb|8=en@)iky5tbw{?70_{)u3vRdO^3bz1yD-^1QY-O00;mBky}~L6&EPj761VES^xkh0001R +X>c!Jc4cm4Z*nhid1q~9Zgg`mW^ZzBVRUq5a&s?fZD%fUdF?!FbK5wQ-~B64c3qLm$c&xMP3^i)TjeB +9;@#NJ#hIC%a$GVbLK0(&!Vv;XmbcIe?t4bNaCdz;)XdBO5kU99RzLL5!=;=WAgi~5K?*I(I_gM%OUpBy}S$|m=$UI +_M9almT9mqS(w!H$1=|N7$HWhBw0$y8*OIAYH(U&!ZgPM@EgU!D-2KA2w +X-uT^Cc^iA{u`ZS)7+qchXG3n^|obw5pR-!_P%Mp5%Et&Wn0TS4mbk7im(ds}D36yf(Ay|GX&qT77+)XSH16BpvflAR|6W1sk# +V`yQwH@Me3w1^YX|G{F0}Y*lCC>n&Wknm15qD#=u)+a~3DFnJ7U?b}rxl`sU;kIQ>lIg7b@aXUA`XBcgg0AZzdPCC~87vpm1Wzvsw9N{_^Rm2#TEnTV6sG +Pss(2dD3kLHP}yi%FXNb0rY)wB}$a2JqR%n->ZU0iWe*>^w7wnXj@qJRx08@~njyyjUq1SSsLQtBOnqRit87A*RVJ5pf&m8P7oLN`r^~%9|DA;N-xG%_Nc|z> +1171YN^58L|m1(2$9G8by&oKwn^e*ce<;Qjf=BCDPfDaEvp)6zXf0{7Z}upAH%`L%7I*frQO>4+sv|A +o#rtQlZv=aqo+4n#U+}Wy;ROPrOVVcVisKj4gNtW?6>TECMjaI2bTc!MutJUN54gnkBIE2FRKmc}z6d +QR5b)8eCv~UkDqmJH>&6pv@+^P?rL@i~1fOCK;2q@3P=Z=!#&kl^k~*$Wqj+GTX6*045d{DX%eFMODq +qx>_goA`HMk2CcaQI4ZN5*akNAa(m6OJOA+%1YZku%3&iOk#1rz=H>6jBRGS89+!OT@K}l8fdlYw{Ty +V;9dOVXB}RU@Hzt&*w8}h{@}WLhQo?KiXf}C4^foU<7G4Fj={_bE;HPK1pK>Dv?J20VK?LQ8FgD1nCz!!LqI(|oyHWyus~YsnfUOHZX5gVlrVM(n^9aGGQS-Gsy$R +YjWAbT1rq%nI+LRnhbAIsrX=Vr$(bKqH^#*({l}H7_%8JV$LE)E@w=ldNUVv;?q5z#<`!1x_R!0F^Q+ +%-;a8`WV8Yeri%G1mH1xmFD0L(iuyYP+6=QpkPQZjk~$hDaN%+SxrOgre6so%L|hCY?}(u;$ql|Zm-vY7es(AMW!G9Y$8m=`y&9_gY3Sriov5OQwiZJA_O6 +V+awQDvUKQKCB&}sJ5$BuNq`NNuwNV^OseE_mK+8RY`aori}C%p|qt)eae3{j)wpXnM(+dfaNEL +Vd?fF}$|BYt23{QE(TFs>ub*P;vugRY%p(CXN^MC+zhsCo1xPD;{SodORJGuO0`34Y473+yaK-k1r|7Z$I&*StNs15o1v3&@g>mpA5tW9m6sTIwX33pYC{!U9VrBLoN4{r5_g_doM=B~I=_l7*t{AFo0Wz;u^M?y6l}wszF)Pbc&BmP +si4?s%_Pz)SX73*-w6Wl2(ji~llE^%g+l0>Es+XP5V_{CQ&MxnvGeyIp07&W(fe7HRgz~PDD?FP&~GL5 +Td2Ibcz*l_%i-6j=O@4Ge7=HG4;gmt*soe7)Cj#^uC93v5GQD< +eXr}=~+6D4k=JyWLT3+86KY#0-r9bzxg`bTjuSX`|CobZrKO9-SeMMA!h~X_F3hP&-UyqGS;^j +5&c($qv0^bQq8;RTOzKR#VeZ(FE-fuTHO6EYRUe&-VndLbuFUdW$vjTmbf}dBSrbA` +~=2JZA#SxJgR%IV#dPo2(R7oH>YZGst$;=h6A7BANh&l_`NsL}@A@D?e;O9miT5NO#tpgGW0>Im3lHW +lDz?FUr%bTy+Uq|dO(Ua)Fmuum;NR0|<7FSP>o?dS-#nwO)0u6K}gwK_5zw0w6t|@StwI#EFZ+d@>_eMgSArb7qbU$xsZI(^*pq4K*d+I${ +UW;emX19LEVR0VqXY$gG4meV*TT1K2*$(F0CvB#p!KP9nfT9ni#nC-rNV%@cRa&|E!tNd)pcBv1C?w#=|SnLqR(k%~m+YL +Z8}M9j)2CDaXcj_qUKi&qpbTD&7=w +8n;~qD-<{woo;5+7|m{?&6;C>FvCvvSpg5pl##>cJ~gS{ORd`{90DaZ6b|q46+OxvWbgRs8#@{`t>8`lw>LQn`eiMFr}sWk#0k(B_!zQ_7KKZO$5 +}!%K)-n;fXKR^aR&&}8lTD81dR#@2m@iu9yg(viU66uy;OB?_no>%8m|hPoDYmttr^`>Fyl48w0Nvo>08fs6vfS +NYNy4LZ~-9+awdg7rfmPLI}cpLI$ZC&zI){`M(;%mriw^V%tb%VsUa7ei!%<6>Sq>uDvkG&KBTqUKe^Gcph&`oUMJ$r?JifpdRBpvl7)T2l~p-0$v1&gQBx{c{Ca_nkMldwM%rMbMLkQ^uv%1DT_ +JIn(8D9XFYJAnFxGW7Mq{)*yx1W`_Z;ehO7#>ve)~01}eP1L+d=h8tw4Fg$L;lS@S1X2FJzJ4y=h%38odooo7os-S;BgWz?{A0D)Z>w2emv<85|PX?CYbn@E>jjm+tw +I7v9p^=fNEk<-(w$*vAhf>2*V2UP`UoaRNdLBe;>v(42Y)C}zwyZs)H+Ej?QwTTb0<;c)?o(tEGpE2O +Z +xrKWr&ful_u;ZLBA{`8Ydpg{4zq%)^@PR(%(wqBTOl?q`WlLt(tKj?nGSb{o+ao3su~5$2d#48=el;* +Ej#)OG6}SdCl9dB=h3`@wdKZsiCjua*et-5tn1{&Enwl(FE#d{0T*WUFSIehgQYO4OjX83lH$gG?PEZ +#-QVslbd(#5CzJz<|1csiuQD(o%4IEdWSWDo+$@(=^y(a)HSxBlZ)}+`o{y+~~hd2jO2~Wx@7%90l#y +KuF`{+21xtml6_FYp!;2e9-OVjsr*ZJmCxyxUn ++4I{$^A_-nam%Qie|Mf88dW)Y^=>*9L8DrvuN +Yqc~4s|{w!?`&VAE+4c|vt=Vg@PjQnVaKC5gu4Nyo3V5Z*YFC154srasbiXA`6D%V@Gn{ZfJ=G@X^Gr +CcJ^s?-h*4H1&3UYrMx$4NzRD}dWWW)()#=*ao1||g?v-{tEl|As?>&4Ckby2Lq!>RmB&}bZdn!e)Sx +ZWL^st2OUzFoJ9FA9jht`uc6BT5eF3mB65-V{=ffvWdv%|!!7l(7+*-hEifqpW5Eu8UnS5|l53l +LJpOdlS|3dIv#{MBM=+;ba8|1lc;FM<2j>}{F|Y-#U&RD3Q#?9X +$8jK)B#Rh3ty|bsk3hbn-C{aLiK#7Bj!UuvU%cjY!V>4$VI((}>1QW8?VaFCYm5n41l>i>Ln+dc{2LL +&F|b~RPu;RnSGy9@L-SlnRVG+=e!Y*q@7D +6v@+g-qQ*h(&}c<)7_oDk3gs11DC{z{RN*F%NEtAM1X=1o%4Q@=j$F&@V{-qU#*wU|)TleP`Ca%?Zn4&9LB5p#3h0qweYFE#>^UwlcE-X+{r%lAekx8cM$R2?xsuqoMkZ3593^kN#%<}#U$ +e90?*GW-DyUm;HQqyq}Pgc`wkT#70tVOXyKBd8 +p2AZmcmkH`spyNecx3iENj?xd{nC=6Mp9`UwU%O`8WL&+<*4b%_}bHdbel0o~jvCT?!577uE+O!UUD> +_(XKbh^TsJMwJ?swb+VV*U*Ffd2lN~qi-IOl=>EP$SOIz(WN(}qgcRT6>b@}ARtH!v&`sL=xH?pSL05lhkXw(P+lSXWwCJ6PZg8UVtE~|u +sTR#pI})M2@J}LC4u06}6^d5aQ%66agTG1{$MiyE^E0l6{5@Lg?5Wh-4(O40_h)RL%y#t=;5_-H+_~O +7m5ttjlscTL*BLu3Wos90NU9f0I=?d-x|e+~n7lfD`A2xcP|;1hKM`;GI})2GeO- +ryP)n}!W2{?B4&O2P!;9`?;c4x}o4P^GFG7UaEJ7M=WZ3z^+AU=`Not($A6<&ryVsE--o(B>nnI5psp +)T{90~RR0#Hi>1QY-O00;mBky}}yhdE8s1^@tc6951v0001RX>c!Jc4cm4Z*nhid1q~9Zgg`mW^ZzBV +RUq5a&s?fa$_!Vd6iggbJI8w{@!1)lMW-hH702b+<7Q7rL+fgP#D@fK9r85*h=ETv3!zD$=%%j_FKK! +k(0EPd}!j;KKt@$wOV&D80-Lk>g8;~DkbA77YnKs6EZGDX4d}O{@F2$=dC^<65f6~1>UH-QFb-Sc)b+ +GY_1YGZGXbSaQN);!SLV+CQDFr1|OYwP>e1jkc`2}A6IWae7cOSnX<@OC0PQmE??XAcW+P6E-ufE*PJ +O@lrr8KU^Y8b!52^$b)0@L<(n2dmaH&L5%_2Axf{ +O^gn5ZwB#f0J0hnfkhwEQ<#F;Qd@Txp{be4ZDI$(m;Do&XwEl&$|6Q)xEm$VSR*N#A;BCdsHQF%@F`@xMEbtbvcVAKu}< +pu>Mmk|vV`dY^!h$bTjzjBGuu5>7nrnV?I9AQMv{lMQ(F=7=as*JEa(iQrY&*{PFG$0swqlUR6pU)z|Na0Qw6U&cQe6Q<#T +8SK1ToXb}JyMHk)=4rYm1*4|rNqDg7-@jd6`^K~CVK&c0`?Ud8y(%wDsM8#-Hb;zVIrm^6z0Tsl{D=9ggLm)$zpuSMH~`bRM!OIDWrwga}$twYnI)-iXMy +ur98hP0PVu{`mETye6MmKORJd%18}uMoG@VGDV~Xx^q5ki9*x!|10q?aO8|Zvm+7PL>6cJ?o|uu3=3N +?{@izc^RyaS@D>5iW^79$PoQ6w&|{`rteQac8!(X>Rw3_7~1fNt>*+r-E*Ut586kMy95qw-!Ad`-Uwbi`y4OP3g>4qy`e^8zayg +G$4s2rhc!v?Md{M1W)hg>zpRJDQqb_;u9{Bv!>{rgFfTNKeCIWMXMmV^9S7Bn*iz$?>vI`-+fRPpJk6 +@}1l~Fb_n&-IRvYFstLRvIQ2^5vRoD)o}P!#8%&WHx>qyCrgqt~R9IwM91`}(n4vbX%P{f;HJi5hE@g +q^>=zP|}C^DW+n2V1v;$jSBS6mc*An1OBm_| +Xr>xkx=0?wf-YfBzcDDJ)Pv4#q2}HW4zP#@5e#tK=Yw#6Fd7cbumn;y)9E%M4o%KV1ih1cZT#JY@!!* +;EQ5n^3tNXiTdo?6VN(;EYvcvl$Mt>klI&}Zee&W7*+(TU!Pb%Kdlvk`FX(=`aufqM;@br~4LTC^xNc +dJ?5~DZ8I!i3UExqZ*2AV$%aWy7@-hg=uwZJ=aW>>kRz%@99<`;KW19t8v#dbUWr0@oP%kv!##qJMO* +1nlp3?=dz*xqa(hWrV+LyRL2{RrOQOY8;()Flb)CRv-zBq +M{{{UPX2G0?djwC0^*B$Q`+0} +J?r}FB+;X-WbM@Rjarod@qT$34zI?TPFYkU3ZWVBgw6S)hCgm8T9gnjqkreO@uX^gSp9JpFSi+amLur +JTRl4Ucff8 +^EI;EL;U-TX5Q-IO93XT}-w|@kV59TY%PBFPBznr&H3cM(I--*%w?>`zyQstlCR!edi3*#!A@J$Jq?u +pe?G9W($*zN-{V!YQC?N$D^AKm7n!nxOetVXT59p+B*Q7PGw!9q9G;5-v!pvmx_cNdiEazm0=F`Oa_~ +dU07Oi`=b8z>tbVi(%^72fKBA~KuuEj)Wnu>bv}2d^Mhy|b}e9rXK>S8-<07z-1#3+O9KQH0000800W +U*Suk#=x>pte0BTDB04M+e0B~t=FJE?LZe(wAFK~HhZDnqBb1!CZa&2LBbY*gLFKl6SWq2-dd96HabK +6Fe-}x)%Bx_09Fizxcc5|%AWuNU-QtORfk?xTd6%qso6jmUBU;sUe#r*c`#|$t-0u;Tw+*+B$bocaYd +b)cCIXOA$3HanstF=r^9L6xe=ud)}ByOig*8g^~2|%FMTGH#Gy=;oQVIr{J`U%etiG +&r^}DT!BUn%oG8C{0@C%OB3p|%6Y)CFic(ybMVzjF{HzD^IQM7wGF@hczpn&?R7-dODUpv2!YBOUiDf +p6fzP6hvs4|xEwekB8r&=V;fc$ucRzi2_w$F@)h}N@ULHWM$~ZB&D_PDKS(ePQy!7Z-oR;{b*Xzw@L6 +Xd7;zC^aKcQ`FsrolCyp)lUDhzTtgRuepA1H*`dL5+8ypU1+IGm973t3i0DiFXgWS#_}9Q3Etz9;(A$ +Mf_4&=*qzv_CcAM#GJsf!k`h@iTBVr6-E0KixRoZvVDWo6UCnJpQNyKU*A!KkmQ}kHP=73pqFfdDekk +9V7W4I*^0)5y;g|)PmMqW +4*ily;7wBrNpaLE=6FXttc}fB!lo)@WxO+8Hi;ZMY5p{bjsU+C#465O@)uvN+$Ob_F9%bZe)JQiaRCN6-bf +9cardbxcciSOa6!37)DtE2%3~}P7}VrycFav5+=!572l~mNZ*JuSb2grL(+c+8dSLq;|OE~P<)ukK$S +qndTzAn0RY$~0&{{Vi3K>9!O8=Y+0rVOuzg>?0}uX^8@e)l +Vv$8T0o9~RvREJa270=F+BiCbVf=H6jJ+J0C@ran=FVheuX@bXTJ?VvVI9m0t5tog6!m0Kmv9B5ES4x +FmVn(xrmdvd=hz8^#!#63#A0QF^t&VLKbrGW>(Rk&c3CYQvp3?azX7OE63FBTgz;5;taSnN$g+{vf=AQ3vai@~BQVJ$=Ci6w?VT +0D7Dk)Z$|>VPHDM^h-Gu#jPZP<5eENM4^xLm^&_0S-ix>3v*eDf!aS5d(u?C{?|tPyk4Kb$meCG~inr +LWedEL2N*bKwUk80+d78f+wvSQkG_6;o+KO-@b)4kk%1bP%K8)iA+t|*r>LlXPcp(Qkf-@k|@eJ20LV +&Pk8zOVPZuA1_(i6RH8IcvY|7nYN23@tV&+OYi(5NlOw!&^G0J_Uj6dvW0L`#iA_Ju`xDXs@=G7~)}3 +LKAgqHs8NmKaRn-(sH-$|&A1e06%@jt=leoN?7BUGQh5d99>8EFBl)l(wRnmr0hTRy8uni+Jb8H3F-XQ!>uS8hTirO~c!um`|t9L|DA&ftfo1 +^_U*mxC3E5u-zF5%)qbi0Ms~o;1BKq)GvDAJ9l7J54>>)pzhEEr|tmM6nfz7%pHM(L65v}2cQ_x1Fv@ +``OOUUcSzL(C++|w=z8FHNRrPep12$DLtNfMYE>jLY#usmQ?8cE&D$OIEH>BflVY*C*_!2?VG6`qGxZ +Z@*nuc9nVR8}7|>VUMu=$fT+-!n#i +u-dapXNkHl^8&ZrP*qg?!^5s7$4(2qgP2X*BPK!mjxzIU*hbzInL+*BZ~z%(0b0qt!>paNq(#*JcI8G +l~qM3k=|q?xSd$5QkQ0i;`Unas_3)oVmh5}rrVna`pYkyyX^*jYKz~~S824}L|L{S(9i8=5ft0u#3^J +oQVwe0Hk7c!t7p~9!2AmLwh-!^1(aH`!bEwgcRbP&Bz6F0w4}9&xgAv*kjt3j4U&?jph{pcp92f?`H- +xF6(mxkHDYo>*lo#-?8tz_?NXDX&vE@w_?%%$JBNA`%(k>_*k(W~B%zQhO~q*nTC^%p;K2qTCKZ;`M9 +QiMtgKO)V$+n^me@P24Tgp}%+mrfcl~^>7X^4SxMX3bg*3MeU@}lL=nCk}=S{lJd}#e^eW9`_U8mFzv +q>alJEoKCX@1`=O){-@1Z;$%%)z&{vl{c(Zt`P@6tlf$rz0US9QJ4`Lt)e+gLzQwSP$9| +lQC|wOgYA +U)oMd8?(qWrDC)jl+hI=*WHG3+B~inO-i8yu2~JbA1Ek|fJbH-7x)N@@uCVr@S2j@BuOXKOQL>Lw#H5 +z9VNQVL0QXn&^?DhdXdk>H5z#$(|cHAfqyDh +IEW$6p;g#MsR=QUOy4L`z8Roqp1O%HZZgP=DI-A&|{8Y+sTk|rLcbw8(UjmA4`q+Nj{f2@UsXnf04eT +|HWg$)_0*|fw^K1tjN2$F+hU--WNLhGBhzgp~v7&D(DUactaF@*mGvN3NwVf%tMJ6!~>n66;zaU&^Vl +j~+IH3)`XwR)||Bwoj5-MCUxj0L8rK}b#wcBB@HlbfUOH?;(m1jq^`8(D$5R`TSFA4}?QrkRjYgzX<} +wJ@7dmdOHCV1Q~u4zRHU)<%vGIpK2$A+LIXbpahz&K(`FjH5Ob-B +0y1qaBF1)Kq6SEfpx)Qp9;bOr +O~j1jLeUsBJ(yP)^@+E0c)sD32BBWAuDd>A23@3)u9ge{APy=Z2McoF=7 +;}1!a;0_`B1giSbA$ai8HwchLG?-~W3Sr-SSMnLm#D;!F%+p(3H{7+ZJr1^yk~z!Lq_Q2e_XfAfuhKH +MX?_o3qz+)W4P9wr5U9NxHC`*yV%8+q`*ej_KL3=Eu(^fDlEX6@Bo~(*s93TW4wZFC#|lFZmKgL*kSQw@j +1E*~qF@_1er%nNV>87Jr5@I6{&k4omq&Q#~Rujye?B@%c$v|fRBL`(v>BN+chdQhC6nnSBDIgK1c?_h +A)#aeaf2Wo>_L#wYd*Rv`*&&%g^(yEf9mC+>@24o#|FzmEQl%-{yR@TMl$Y;HR(XHJZRVs!yILBpy^-|_RazN>1rx0U>@l4&UGW-{J!pqm3WSW`Kfu1KU0W +blrOZj0Zyv~RFw1}x2~{mA!1mVPU5U7M#F=Pev7i6+~?eFnAT*>^k4W}~-gAF9Z;8tiPfOwGrOBaZ_eY?VQuw~#O3ZX7NR;dI$>^pPtS&t +YY-bNf9@VgfG#s|GX=K6)pi~wAW+sVSk`DW`fS7aF3Be4%YKZk(LD@70iVAK-98TKhGitD2CegtFGl3 +2>fKCNo0_59pZs0Fa5I%qD?1#k4s{sDs>j ++ywOoa~~*^3J5~!IG~GA(d|J1a$2f7OS3&UVlQ~DMuRA-K7IMiipB93znuCADo8zQippSJlFW}T=-$l +ymHJPkgZ`UEe@i$cSw$!fVPc%gi{>$tLNwF7NEtYx`-M7uxQYueLCcpybZCZ>#gWxM?^WEa$CBOAMKp +H^KmHRPTk&IW%1N5o}2qO^;e6E9`Ra?_=|k{SQJ^&6(P0g&O0ba%-r7d+UMfn9lV+>ULc1h{YuA?0#E +7{mIYin?58&xsU?Zclif&7dCD#vhG4n{fE8DsTu)w)I`&^|OvmW~*LCxv=mfHFD8iubGF);MhD6}oN& +5=fP59e*M!|vAPEL1Ey>tGoH;H|F#(+qdq}Yl9iq60A2cK=3D-H!;Dl%76DCyAe_S2;*x&%e<0O1w{P-*Jijy01T)-#bU@C +sj#bz9J)38>X#?vT7o5`D)J?-a?fqH6=@PGy0wRu(I~d#vwM=$Etb9YLIwx^N9EHup;Mi}B_)EhI*_u +4+2=mQ9y5e2|l0wc=OE_(qR&O{bZR$OJ18kFU`0E5LVb+H&%bX7Jbs9^tlM2C$DT@gH}<98c1}J2(Nw +9sH*rAa^@(tH9~9vK?ksYF>}3yKSH!r@I!#>5@H4uCsetUvt*=lQ!r;#~s#K08tfRebKHlw8)tYl631 +%fpaDS`O^oP$Q8!770c1iWK)VQDtd`^=_dWne~iJ+v+CzFz}xS*LfHj&y006pGZcEJf=JFxUPr79cC< +sJAzj>m55XFB=I+QQYPL-#HNYy|$T;*|A}tx!GeYiZ4SNDdZ1WDunm4Vkp>s}uK+Jz!Jl%|T{xchc=I +b-9=X$AhcvHiHeZbyj`_}aVF@RTyyBsLMU|iCPv?jt;jB?W2MYC&VjLF#VwSRZ_B3i_3*sBOIU3!y +;$I|ofUz@V-Tfy!!X68|3|`1y&OP3?nioCr;u_ci_c`03yaMgWw8Ses=Uo<$%RN2ge1qL+qsKZUiPpp +N(P#o7TLJeN+|wkoc1(!iT)#WEk>GJ#C~~7vn^>*l>@3wISLyfrs}%RDnEyjJ9%T?baDh{?bsu6S9lH +V%=^C=DxAc$olRybUr+4GrMiIfjA&9kC7u0PITAKfDt*L*a9d)n;WpNBkneTArBZ%~NYUXt`pd3jEPt +#Zo8)DHjzi)GT2CgKcyq6Ng%pi{AeOP)h>@6aWAK2mk|-TUoTm2!(D20062J001Ze003}la4%nWW +o~3|axZXsXKiI}baO9eZ*py6baZ8Mb1!dnXk~IPaCx;?dvDt|5dUAFg7Z*FN?johhG8|D0!ijAFtPefHgv)XTEnrNGq2mdU%{J$NtndcAe}8o`yuKTvQY2%B@kj>V4yDO0jyFK +o6s)Pf`d}p8iJ^(ssMFBJKWBB!I0At93=)Q9$WxrEce19&5FEFtY@`csg(5zsDr%T1bmoC0R%}Cc$FD +wSnXk`7_(Ud<40Poz~Q0^SA*cgbHr+|;p0UnYsC$VERK`JBKV5q76U6Z`%e&YbxNIM?VOYbKiKRg=y&avMzeBLdNiYZz-;2p4u}soMN= +gMOsPTnl${>ElN2Ux!jFF&HQ>Kj}8(Wjo&iCvSQNJ0v(4S8$d^}C5z{ +suyfn6)I3j$kafKruqolr2I2z|l-nxj>KTNp%ueIfMv$4(ttQkKtrOz)SExeLR65eNwVmUA>`|?lTS< +Tw#@@=xbWcz|m&DAT-A^Q-&akAdcy(fGP+=Ktk-&X2O(`YHTxpmv+<@1DjTTGKb<>*aB+V%7b5Nd$e= +vOGknT6&NB-OYMbpk&o`S`e^S1#WK*!I~AWKA#jLj6wNYl<$xR~uU`i{lO2xI>(b432uMtJzr8!%k;b +R{N^ndi@9|S|Ng;#kN-!RC!OeK=Yr)ZxKlVles5{VJ;)?cL@&^=wnUD}Pt&)M+&uu<{`=H-&kuqF>`f +rzPQrS>!U{R5gMu*8=oH)n7x~ZV04Q~va1#%Qzu%v;4nboNQJ_NNbspRbL;_50PH*i3TXN*8^Za}mRf +#ab%y3&~VoFsP%mJ+uy;VtZz$r)3N>Z>2ZUG1dN4}11nP@ +z~JcQYsoxrQr738|B>ZH8QA)eQ^Of`3QkbzOd;nN3$Y`mqif0O_nfD{mZV0ujJO7VRh(PC`kLhffVHK +Sxhi(C0pRvaB!@#Ql2_Hp=ys@6aWAK2mk|-TUm3K5;Fn=00628001r +k003}la4%nWWo~3|axZXsXKiI}baO9eZ*py6baZ8Mb1!gVZf9?8VRCDAa4v9pomJ6p(=Zf$&sSU(X>P +Y*rV1fZ+Db46OoA~{;AN^JH@R)CId&8~8`U(v9otEpWNlXjtsPRykiR%>d5Uuh2g|ef7M5+J6bN6__Q$R +n-?5WN8Q*5#Ijz{^{$t2`ym+k5OtIz`M!&a{u$i+4<$<-18@B7#Erb9jh~#=PHGaXEeG+nW&s@s|KEC +DmS%^APAy}2@ypwf@|UheerrWC1mP~P{%C8$gr6}TYB%?Q+d)QN2E6Za>UZ?4GHVzVYw`fTYaz)3C^K +H(HX{^i6~yOTz3urG9h^6QH!TH@Nib#xnG4NU^0PWWA?;0OA<^51L)J&8#ezUS? +b11nk>ZcFu|Ed?QQbWB_WVThOJGmY|aHb5MMYgLEYq|h)ZswsH;)TLpVNGnX!%NN^UFLbZ>F6DRw(lo +0afP_Yd`sGsln1=GE;3myPP0&Z8J+(`faQ*0LSo_9CB`c-JIWLfKfhp=!7jdvvJnXkfnZrK8TX`-je$ +RQI6UhUsm=RP@6a4rEN=#I5YKkt-8in2gWa +%ob?LBXu(=o#ZUtiZYUXE~h&I+QY8lY)m#HHpts|uy*!ub*@h}2VI-HPw#*0{6~FzL-?Xh;U7>-0 +|XQR000O81Cd)>4A1;5?&wqLM=B +M|UKcOlt<|-5^$Q;4ePLeX;vM5he9x0J$l8J4Rmx}#b#=PY5k0Mf!IMDZ*%0GjNS*V@34a?6};j>R0AuV@@mCE5#L?C*{@=6sIcrB^Y6ju?uIFBm +r%sZhr=m_wT$TSb|2Me>9<>2*_Rg%L}CRLRrKKsDS1YAZQ#aKZ?;`kwy3ap!{oc&uwWiInXjXzG`RdnmLTUQ%OOm3;C+JNq?pz=0$Y54`R3g_mc +dqTdAggjb*0z_ctXsxDigqxvuG2RVT1_<+b>JlRJtQ}piTA}qC96@Mq$ArlK-qgk0xJypWVVTP$rCH9 +xoPb=D#*s7smp%4AWNKDB^_zGEK3fFkI1ft-Ov*5D2!OvM9{hnzImYm#}jNmJZn^k;rPTV`d!lB&<@k +X!xvFp1J3(RuiM?D#00KVoA6aXdrYa{}OHs5VBhRAQZ@kEN8z#$zYd|E31{ye$@QYGz~k +MZ@DflBGN4HHX_=f6J%8sIZA?!ZNgg)HRlU_yA!e6*!oHFUrWDB_{Q>tDh}~OWqo}cnHD?}i2yz#1Fm +Vpid&!#uB&y>KBroX);Jxaf?O;>mtYbISDc93_JJSpBZgak?|~-mNBa`V~{QQfMwNo&BjSrCB3k;R?DqcSD9vOFg9s*E5hF*9xRoj=)hQiY{*#-rF0rBwQfEpPr82It`=GkKOVn4N$O^eV4Q^Xh977FNPlxpt?{$Hy|QKF+8 +5)#$A&@e?~AA1Gs5pkb<|h$=})6>>DykCx~Q17LTGsx%mc{b(Ty+_0A(a$Jiz7v?eH!lY$Vn9pZofWMqfN(0U$`Bf?zCpnoQaA=LRoK ++Lm6{67h2!S&&WJj^El7KkrfLep`K$S842Y|1|;t5AK%&()&HX^E#Zsph;B{G?XR*k!fw!ru_q#WwM2 +OUS>@W)$p^;IPzPhF(*J9v6VF%tQW7ei$`w}J)9Ln0ecC3HgPy%Kao&d^ds7$9Qo|$9Ppbix`+@3ZV^ +$a7N|A?ke<6ctaE6qa1H2_X%&3miV)i=4O;j2y0fh=@W8LV12JI;d^kUhz52d4LAd96{Z-WYFYKeo*l +?IKuO{%OY}S!zV&5#S&oI_nLjX%D9R`;NM>Xisc~i%#M?TIbhZQiGwpue%H8kt%rKtbQkW#RDB=Td0wjlWCt9&+@%XQD?422JC%FCQ|tSh=oSMN@49(Z +@MMu=(pjX%cJ>Ia1HdI>WF-!oBVcVN-gnxaoyK=xh#2n8ZVbOCFdDltf4xe#^2(W$9rKKwpB}w# +rZV=nb(v3xXxX0zIgSt1+Nyb^@2fqyKKlJ1*EMf;X$4S8NZ|ETh|bJK;tCKs5WZ9LQrRM>74D{g~#bd4yTFscSVWcq=tfIjKNz;1dTQe~ +q+64`=)UM!D({HiZw0rM$dQF5K9m2Jrb34JIvW{(z1Bp9YW+N0t&xb)7qCa}*bNG0_2R9- +F4=GVi>%vBAkUko!9W&(8e1Xe`c-RTf!7&K5Dm4lraBXUm=z9D)DnYyLp^prpeVh;l>6hh{he|ecF36 +4ZW8-2>W^w3p6g=+}2K|x*MV7*}*xBE5%E&$=$g~*1$oi1jxz3PFRYwU5v(^+N2ycm>Iqv)f8>a)pHg +kZo0Q)6NXx)yr5;;3<(*I}Ca%F_t@dRl*9-}LU}XjN|@>aeR5JDgDHD}*D!+}YT0xVn2kwC96+H?6?o +X4(|sB>+%r*9Nljq5|lZLWFi>*bRzyFz~kv_ZUBnweF$aCi4D)EtgROe@@~0;lVR6bjL%S4^0yK$ao+ +U4>1_Qzvn}PhJn_Py6;u`uPSj&fdL0?a7@6n03lw-IY!koL1mk>`u#o)n>>18-d=GCRyI6@@a{?*IO{ +)SK+fj=H%u>aX>IHUbo1pB4{rd#qS=Tky>=8^ +Am66b^IJV|%FK^TGxF&SEpEvq9oByBhD`IuXHEzO@eQP1%{Upeav|%X|STDaReC?l9L*?P5%gFDHBSX +^v!i12h{(v()LgXPNeb3}^1p;Xn!Kt(T`Up>B8hXP?C~K;)eL0>^vKeoYbq9{ar%?aw~+Ys3;5>bLlr +#blN +ic7qSzWM{XEa!7CBNv-NYCbWLF~tk{$__n)25jI&B=)?ogis_i$q|Q5lVqa_H~-r +KW@h8Y_J-0#|Fc~_J^=pW9G8d=yCD~Jz$>(umUYJ`cN47B2rx@H8l|! +UY9Tz=G0CG!5n6s)kRK$-+dZ&=SLiU^s@W$Hev>h1OVRhXbNxDa%qoR^yqK*k#=V^Rg&f43zUZ^k?(Q +yu9FNX@@1cuFVCRMtZ%l;E#$6}jx8JGAsN{UdC`3@Xd4mr_C?3lKG$7qi(2aD6OB8P{Hd!mHng3Dqk7 +47N%P``VuSVE}14cSeA-imhHUzFp!e#M)S9F5}!hhj&&EpSV7X;|66s@XSzdQ=N}#8$QNdM*hp>z{73 +FhLlMYGDU|IAX&Nl-p}br=8ZHx?MOJqpSEb1J(ZzP)h>@6aWAK2mk|-TUj^QcFC~`000IY001Tc003} +la4%nWWo~3|axZXsXKiI}baO9eZ*py6baZ8Mb1!ptXD)DgrCED#+eQ-q-=AWS!G*FdQ?i{Dh-$fLY_| +!JG(qh48l;9qkxPj%#btMwmUMydv){}tA4^iQeK;XVB<{>_-j8J*$Jt}>$u{#PPqp$QA(y_^Tq;l9&* +|(x+dq4B_)AI8fRkPS@hcO#&T{RU<53{8jg03DJz^K-S9UTS{%~|MJbA@t8>SbWeJ;c^&HZJcDbCr?z +u&z3^yS(!Fi9NnRPhmedwprnKfJ%V`tACP#D-k^aiY9E2h7=vq*$^n&b-MzPeUQSu5m10W|BAJLx_vu%hYW%UcH<|cJGMTV3`{rKX&nrdT+r7QLkVlNGz|Z((p_fT +d^R?a|kte{yD>`8>`|PaG&Y7>+iYE#FtKxK?aOS5W3q?MIuYc!4b45;ick}Us=M?dlT<0=n2<%CoC4R +tr?n}4N+?W0``_bL^82gJT?N3E{MwE#*gpX046XpCFlnzm%!bH29(s3Q6d~x~)2*F!H;wyEc^aku5v+ +obZ6K1=$SADDfXyq@XAS?8tpHddjrJpV009+R*95laK#N@^@f56!g=!Efg#$}A5_Y;$=SAMWyNt|*fA +{K~{BeBn>(=+t;`E<&7!jXZkV!c2BNbXnz!5YpmcGKx*Iwhq@#F!vK<79-cFq9WgJpj;w9Paq?8($Q?O~wf<sX|uIf@7 +6pmU&VQV3n@S4j6fb`QM;=>0I{;b_E$-WzlDa~Q@51ZqQtz!y*?2zaJ}%uq~Iv4XHntIW6*sS9p|XCx +UF?z&ll?xj*^^Tq+FTw#TT1zLgme}4SXG0iUxhh%skF)ef6H}*yln8;to$)?tf!iWbd{x_f221y9dJQ +b3M0CQ>L09{Xjg1`8Q;?rs2sI90sAnx8za*iDH_@0vjXn$6ug>9d!;0eMU6*!i9TFZErYcL^fDB&zcD +j>B2?le^)JN|D)2<16y9KXuemIhc(pjXWa5tvSIAO_QEpMpjOm*&eEWEbldXrtP#`zv)+j89fH +K-9v*9QPfTkoE~gQJ@AyuqX?P}POuUWP0cd|cy$!U^H?{4JoY{fB=;3B1R{AN(m5zhy=|6=;7(QESc@ +nE(`$9F(b1R_<^XH)PZq|K2Urp9xDV@)Z=Qklbr%xF4ib)G!m&7FU>5inGc~OM0U(RlJW&u93Bpf?l( +Gsdyhr^W{-iwMO8F2k7_I@QiD|dx3Qh6|d{W3Jsu_3_x4L8n|breScZ8Mh9%ZlO +B}hMSY|SX6oKR{Z@}zERQsnamWZaC`YLQE_Bvn0bI +`M$mehjOZLkYT0EFAE&4k30sI&1q5;+l1L5uC_rJ_pHuV~(8m)V_6t3Q+!Q^3nn|v>yhnU;R|OVe0MO +yNGIe>!dB$Mbv&H!8C`QfSi4``3K3n?fh6TBl7*MdMg1e9T3JcndCo$t26C;@?kXTBX8E)o_X(8l?kX +9MC67tT6B(UZjEr*SwGi}sstVOB6#AV6_Ra|=DCo!b6qJ0%6DXgi~JYYFOQuF-4GbhDr5U~mDyRn{3d +Qb>apB)?&bFkRK@Kfz&-cI5=;BerX9RTFn%XP1yg}u<6!!AjUzr|b+RRAb>JOJvs^$D(_)f9BM08kNZ +VaMmljI*oFSM^JW(5(%zo`O`)dNm0YX{0>3f+$@7dM-+?om+uK>f7k(r{vkiBlPR}E-)zEmWDgO$)iD8~ +CPez!Px``gmZ+BJ6A;94YZ|9A)gP8YZ}#V&3$wjX6D5-|Vtp!RtSYeIL3047g)$HF75adUl`KBRLx-?uhOoo8^>p(eMIz)gccr +8ZY6QEeE7Xi$z`2bfjW?E5Pikh!L&jUFn;R1Czcl#$oqf++IL^|o5HF6*`^>*`=r9&B0%P{+6=SRJla +Uy(T@Cxgw+Q~VU>d1Q7ka?gH(8CYJn#?G-fbXdtfcD^^z9-N=f|4OZ%g&!Q`Pl?$kWeZfB=^vM$E^fY +lzG5&h*yrEhet3VuoTI_uU#Ay?!R5^*O?1E-46c52nA=gJ{ufX_tX3;;b?ON@AKZKyoD7G@gD+ +PXM*wt$KZb9HuMm0gC>W@7JoG{xI#1hxs)OyR8gEenL=Fc)@gxq!Y0j)WS{a#o96dO!x;ojX`1_&2x0 +jC;Z}Q_#|7nvR{*tCIWH+5&Ia`ApcSyfu)}e;s~%cIs=-ql2297bJ9b-OWLR2P`|H># +H%-S@j4r6A6BgTgYPZ~`_jbjQ0Gh_qYb7Kl7Hp%gdDY~ivGnkex#un}{I1(&1&0E+K{4C|^QLMWhtYi +8c-2YI_P6%FYEpM|qeP;AJ-!Bsq4sC0w_m^AWb}TKE*Gr`XHXxi;#OG_!$#LBTy!~7(zORUV5K^~eJW +3lD-I3kVdbR#4%?>6ux>haVcjBEJ6hTfD|Z(R#Q#)kU3t$gw@!Jr3vgSxbrfjS&+|3wlo15|sY-f0Wa +=Blcx&9Y$HO+}shQqEn4h2F(6D+sU83rOwN@)C-H|P;dW;F$UfPg-c3xn^YjR-c +bG9MQL=x@*JS0S%-z$#)^)+^ocq>Y*;f@_Vi9_~}9Ybvab%I$(?iTDaIF^ej1B$2r1yD-^1QY-O00;m +Bky}}ls!{+<1^@s;5&!@z0001RX>c!Jc4cm4Z*nhid1q~9Zgg`mW^ZzBVRUq5a&s?qWpZt4ZeeULaCw +ziTW{Mo6n^)w;9L}vGfl{fVh;xLkf!MxEKQ2qTOZm$rlb>_h)ilE6;~Lx-@e0(WXg7(R1b+oo$uUl9F +NB%f=}Hp*TA((?}c1btwE|3|Ew9Ol_mJ^$TPAO?>Zzw9;5>k(dfF-WW)4|oZrl@h=RWx;037E;iiSCT +gjFyJtY_2Px9*Y^tWGLoxXZa@|NfokdIzN8If7|4t2)3EbXKecdN32U9*s +s>Myo2z$Qk((&3!0)PegY}@nT9o(3&{Ybz1{QMi5GLQ==l{o)n@&zdzEd!A~Xxl?^QAB`K+VFbr~9JS +?SXc!`0TUw-;$1Nnmxb@{D;daL7 +eEqe=vupaGTVOF@{*^CJ>e^JS3UP12-38k0h;pSjq64tS%eJ(x&ajvngyv|S>7Z9Q45Y^fiFhavJIH&WWoKR-oty+s#= +PxN&zgMI0g&34kpo31gWB4|e#Ew1>n>(bNwOoO&xt3!V6h=)>-DTB+$%79hUkB>xfiCi$X?@*`(Kl(6 +(Yxee{dh%G*H2?cSE2b`H39_ekEYsj0^ati6397@2vv}p%S`n0;5S#3WrU_xZ$P*?gn^L(uV6pu9i$4S-dm0_!DC>X9XilIVA2x`QXWyS? +jO>JkWv8=$kAULs{yZz?Yb{n*#FpUTE(H$@HsCTG{KRP3g0+PD{LjqlT{Y-GVPzT&ImyKb8zgP4Th#@50wimVQm@dmGrX#kagRXf;E9F$eIEKt7E +)~1%HufP=zX?V5lva!?wA<`ReK>IT_-w{4$xz+13Y>qC?#@|=Dv&H=oaro!6;$^LIXMw7Pkd!3^Ht^JN)5JCgkkQ9}dL_u|yrb&=hsSskHrs98D%nOos3 +5d_#6V4R%@iV`O8)x8s7$eMZpf*4J(q_Re!XN;I;-?HrTD1SoL21l>p;`2J~d5Y&yt_0#L%A^Rc*ivD +~?e(k?_+SIa%$1l~()7Ln_#^fc52dJMAWmoCwE02sP%|aYfOhT<}I+zG_R+x$o6ne2AKZXsmc(X#!cMvq+BNE&u=kaA +|NaUv_0~WN&gWaCv8KWo~qHFJ^CYZDDkDWpZ;bbY*gFX>MU`GBq|XaCz-odvn{k5&vJG0-+}*WlPkYc@sv5fvk}~9izHsNdlWB~MRz1c#Bs>1l@OcBV6aH|{k`q;0nz +o5Fp33F2fibmL5X>63n#JNe~h~%#(iLai^IjziI(hL5~SYBu8vb%Hc~wkFWx*P!Ez-g?2Ue9K@hIgJ_WJ54+5hwVH*Y^&y(Q23TsT1pJ~JSKodb6L@ +u!ay_-1|faU;MU5FE3$vtg-t2)UUuHxB*5Hu8BAf&&MEa6rSrjT2~LFq9;4x8M_$f$n2zyyh}O*hziN +!bY(Qz#Cz3%b6*qTx4R+uC(D*#9}f7C8>}bWC_L>8_DbVV-NuIy-^IZaNLkL2m;E$a|8zmI*>w~ISFU +UHj2=oAYw+sQ3PkMFRMWCejN4P5QOv?B#IP4zp( +=-LJkp$H5<9YAjYC*7IDZ=Fx%y7aFDN=du#MPsR5(Qm4qJS!n18iEXwjtu(4-%Jo4kju1{DNtT%BY^3 +2@91m>hM#6q!nu@8Z7CzpX!#NfO@4!qOp%w|p)&Sva_P0j0ky~u1Zdn{|ePPY6FGUmNEAi@isG-Yp7& +)M)RwH8ch3P5z&Y!*a;n9Zz|hl?ItEH6I95qRItULdV6-Z^0k?^zn^29=)lt1E@#gR<iQHjFqha?eymr#)H +Mh}g5bd(Ol10XFWYn3m$-0yCq=8dT6RNt +)rRp+w=q9=Dm$qwbF0eSsxr4#+5dW26P|MMeOKACLB}r}#<6P+DYKt6vg6VT6TPy#>6SgbG~CZiYS(W +n8LaG0dCX84MYcojbPIKH0YJ#bDuWR{TB=mdiHl{9LL@TCkO%<_tb=UEe#ROOsOQ?G%!+wc0ZGA9QAt +7+0(M3G3py*M%8;tdjkCnU6svuWdgA0Z1$jxrJrO=A#BdD+c^N01Tb}CDl4>$X*6^5CpupD%Vot4dRU +b>MB43x9SmE+DR+&8gfnqI-Vwehy3;hd&Wh6OCxMYtPEQX;c5Xtx#NXwLH^(;vn#w!p-5k_ +M_Le}@u+cK&8B=WL#{3J``Q^)f-LimYnR_UCr9@kl#K}fb(&3jISSPG{DuBteJ9Yzjk>DHAiilrc3zD +UjIrfM_ibDfoQ%gr9%Iaa8gR+?8cUgH=5B+ +~SCt#h2CIu@G&RE<(g#@(mijT4JmDzIgL+}RnUPCUDM~Hn*bfs^FN0>bJ3x-ga}ABhO9EAj!;sVf>?I +eLshS~UBrL92A-jQTSje0DP%9P9fi`Jq+oRJ78=Wy1RwJ+3vSP~U(!m`-`@;Et{oF`8nr{_z~(1e++Dh@SceM%l_vlZ)piBueG#(LVR&*#yZZI6$~6WaIA?%_YZm~CC2)89Ga +mM2)wz{-)Cc1rSJoa3iM@BX>cn6qN35a2RP?ACa6UOn*wk-7Y-6|lj89iMgCb9Pof$5=K|HW9jI!k|v +k?!2VOmObWnyA9qNA0LCePLC&SnK%znV28YQpralek1IpH1G`?ZBOp60X6YydsK-!o#N)*<8n92_76eF5lA{*;5ou4EtluTU32-0RtcOxo()KWYo#y;(~yv(9qo@je?2v9=#a_;UpLOh`2dLscQ5)BAU%>m5P*}u=i +IKBlKLZ^de$0&PpsI8xhg;S!qK^GxQ(LN~y;6?rTLL?7$UnfhK#0WZilpgBAqE$I_yho(L{)%CLn*}-7fhG#^u5lmTQ-s0l%8q8bqDqB +15yJi<8b$5=w{n-Cj-6&PT~89T%6j@-ImsxPoPBCy2KKA%68nQ)9QIivsvjv^I&cjOXd|;fX(Cc&TEQ +xSjzQ`OW+snRvEhn!S?TqE+%xN0}o}WaDk(@h02UYLuTWJkDHIG~0p!xZ(KwsniLfuqLCgO{nX08{Pw9VM;cS4dX=10&ZBFa60La8m78_@Ls)kJy +dg7$<<)&k<@U6PHeV9$!^cN+7Nf-U>i^K&1t*k(rJwhXe&5tr>`2^pm?+=8d-~Tfex7VOK9`JtR^%zH +7HTV+#mTvODU)1%NcheXI>*wiNb~gmq%hxYoBRr!B%7;NO{Im4*IuWZ*qp +<)W?rH#k<)t%zDmlW)Fy!^`d8^xa$idTMNseiQc;*w%JAkcF}RiePlME?g0)U-NQW$3Wi+Py7 +c^O9KQH0000800WU*SsZBgJx2`y08=jj04D$d0B~t=FJE?LZe(wAFK~HhZDnqBb1!UVcx7^PFJE72Zf +SI1UoLQYHTS+=P)v9hR&)NYI*{q22bNJ^CKe +MxfH7jzNCl1L7R^ZLw4CnqNpfxmixxs#POX(`{!#_+R$4*w?n@U@>P+{Dy9U95GzZ`9@1F2u8NDW063 +{_dM6r%!$(R(oN$vR`avzMBgprFi<&yT87A^EP#4O0|}ikqhzN+dsSUm)}2o{^Q%{qR@@lNSmt?d!B& +niQ3h=v7(XT%Irb(&qvYNMNUB$71S<#ny9%dq +t2^S?iT^Y)H)JH3&ms$^JjDQ#A$QWA3+Ez4GIQOM>F5_Q>LswxmDRJF<6qs;5+_NA>=Wmx#E%#Ha`+Z +Vd6Hgj>=N@KE(T!X>M0%GKA7^Z$=7m~udhaPN6-DDmol%qi +FEUA82&h!WLaL8Sq3i7rz9snUbfn2q@3woL=RyJEXFXxQgK6TI;Y>y|4rRtOShGnmO2l!Sp`ICdLh0R +r7|{gI-P}ECz=`9^YrsItQeB|ILTl|RyI}qY%eXz)Ji%_?NZU4*xY!lHACkm$+?BXYCY@3f@ +gHr%$a_c#nk8GM_qOQpHIEjO)uO5D8@KNvl6fg)~0?^FVS^rumcPd=WK}lJX+PuDz=$(tVwB@1deMj1 +u|+P?&aWI+nl{?T6thGIc8U~$t{@Fg|Ka1%1#jAd?%L6#2qp(6~dZveh}=&%*9UaIQW>^a!E8upjVZ? +8OHMO3-QQv@<=GeYH%YG+664%ss8+3osExQ(NCi*@lZ +q!bmo24+p-3T`VC=EMF2*iDux7Sop7E6^wZ3ZWPKObGAPEnguN<1E$nft@RR-qH&fMCeN^XrIgIV|S4 +_gD@FmV>Dw`fkQ1}kgC7P$M^s_AGH2JST-oFKS9o#OBip1nRMj143t!6ak3eX6N!VG&DSxg>5Cz?YXl +r?@#ETesF3LuG6Zapab9j`b1YrMd$7gS5PyL+e&-G-$ab6jn=Sh`I12{-zLXnjAha7V`aiu^ix(bO2D +6tat6b)7v_Z!h9nlc@1EuC!VI_8gf^<$~POiSuDhp^vQvhgF`36$hMiG!RARZ?Y1T@yG=j1mA`5}x{a +r^Pq+ThFn+gdTIw6wBr}@rmk(_yxJf_)NB#JJ%xeyhPJVRs_>l{JsZ#s2Jg{`{dvo#Vk*+Q5>=rl7EA +Iqr$@%rcKIu|r;<2M_Z3Da3U4a?ijLLBCrW`K_*gVUPQT-Rl3>($)qCMcD&qLrvjwSlcv^vAEIA +6>=hz*{B9fb+bqE+^Y4KHI>5$L5!L6nNNJT50H5dSM9b0U6)pQE;d^EsxLabU$G>d(aH}}}4kwshfuu@fZ3!YbUowr6hLQZbZ?O} +KSXcb(`@6@zaMTkM-5m0!)T! +n25XWR^zB>j+VaW#eS~7E>>X`= +-ch@V&ik|?saGgX_X9wwqN>OH{kTMltEy3yLIRYv6|detZyJh7Fo&kOFJZy^NNS{|=zI(D0c*oCJ>kL +95#4y+bN&He4`e|yyEj`Te+rZ24Ni>iustug)DCg4EXk-FMLoYW>VNc6^Dol&L6fA@_nNwnzz#u7)uj +x1i2FIN_2B1*rqEna$XG6O=x}djX61XEP{YA$-;cO#;p-?leDu`RAq7QE5uk?u*9~brL=D!h;g(In8% +K~x=$4&{b7xHjb-Y4%myX`Ic#xc9RWF?fp@*>?2sr#KvKTWB!UHY?>{KQI?Sw2ExoU5vnZ;4x^|ui?<^q$~lG|OeRd%`2_|z=g +N^ws-5McsmgMK-0=lKY=Lc{fPqN+ki91K_o6&jA%!W!x6)PHhc>>$;_0Jlu#b);^+Zq +8-wNpBbdc>rq5$H$$@eBBMiuwg;?sxhuI!XFzAjrNQ(Q!(y38984HNg6hB7oVH6Q?&9X<+sPi5DRDB* +0tDck_W7Jv+==_$y)X#sH7jjFBr^+sCgAloSebzNpLuW7xHxzcQ%Ar!eNQc0q0g$6We6mUV64w^8~+H +H_F9fT^@ulU+Ye$L|=C#@_SCmb3>u+ohJvN*mX*sHheo`qoO1|TQ7lKZpXkmB?Y@_<+;uQi0S>cTI|o +dPx^Xz>D2*b^J`=O3Sc^Z4TY^x~kny(2jsMc4P{iLO(9Q1*6JaaaH52Z^JPMYa6$BKXbc)V~e` +=CGH5Iktw*YV~)*D-uHrzj4r&OLl$DZQTEvr!9G?oVm=*@Lb%+77tc|C7`M3K+-}l2R$ +iPho?OJ@dYC@%?@_teT(`7+kG)273%CqDrqkg0{Y&^G5s4$=?E&Da5etH9i)BOxfz!Qy;5Uc^D6q{@F +6Z5gZ%Aa>VN(}uA%53?&H4fFpT3UhRxG(QVe>0lIp7lBO~#SoA>qI{qudNqjYY1zGK5=DY%-}WP+jS( +eO=ju_jR|_HOL6NyxI3HiI7OWCNN+mvQ1}x-K)J!k34oj6a?07|<(pa=?3 +d9O?Hz#p#Q@^eq6N5Jtp4GxHuMUhei($%y=n-a0-$c$+&uQLXD_b`V6RA(-En)UnyzevE6Z@G6Lb4*x +%kV;0Q>bLr{PsP4Rc#8S^zS0OgnzDGQZsxtn>ilMa~)P#n=`5H6_zX??l3K0OT!3dl-IMx`_{b?{UQ~ +`sB&?JK^0_o$fZFJDY0-Vn~%dzK=FK|mgU2)-WLsb#0r!OG7GkZDoNDR}s26%jN1d~M}^`1EVKp=){l +8MSq=uYA}6`a1bT+$7&{R@wY<~(CT0C=%XN8mWL>vbU{_p0f86>l6&%`;#SK+6(ac1=Rwk_rvq5ubCt +Y&-ntaz*$mrEAJ>)g>Z=6%4Fgr+6jfPUME^bYHXlTN6MWN1_gh*PF3TjG-!70qRpNbrw3NDG+!v?MJ5 +b;YjyiZ+nzEJSAwZ-qFmas%LJVJ!}ZlgYnj~5f?O%|$0@^vkeYqb;I$CZU@jQe +__u}`$`QFjwv4KW)j^=bHOjbF-m8B8X++_-Nz&7QxZh9b;)NPQQ +RO5XTSJR`03nb8d+RnnWjEKA#ZL*KDFqTS=!8{;(e*XecO9KQH000 +0800WU*SqLk7`Q$wS06{4M04D$d0B~t=FJE?LZe(wAFK~HhZDnqBb1!UVcx7^PFJEn8aByjEXD)Dgt$ +o{)8#mJC{X7NZp9_wqVcV8$&&+P@MIUr%xw}O-+p;_p6aI@;MY7m+QXSZAZR}g@{a)?+?ISFJJRpIpw +n6Gwgqn#25?=y^LIDXN@#o2D-&IA_WpR|}kCSy;rcKnP$z=IBY2zlVyY_3v{H=)URhFmiN&R^8r$0|F +-cN4c-%Va!T;5I2ex1BMy}9`Blcp~x|Jhah$t;~v`v06{W!t4ua`LA?UA_AF>UJ^tACv$2r-}MEJv}> +}U#0uBnf|xQU#4|dpZvB<%cN=)$ht_&u06?hbbGSw+pJ96cKTP4QonzhM$4$4{`D(OK0ATHL{TQ*aJz +KheZ8Myy089l~t!&MO8wT-@L{uFIS?Kypy$q}oBLWT2Ad4&}FF^;9M +02K5`*KPuwWv^3tLlhN0kmGe2v0{l{1ClX+#vMFZc~+Cgl}>f(ZKLSbhz!8fuE3Z4Yd3 +azfoNKmNm;ic+2WYedo`s&{1lvQf6z=ghg=>t%ETH)d-6S!v-ZzHeD3QIGuoq6F1!p2s_^$k*`p@&eK +D>Q0NG=at)fZ^pwVWDRq@R5Ab*vyGi=2tOD!nw>-OtF%*aaAkj3HVVVlf2`p+;J%kS3R8oKhLIWC#%G +Nv#%GC8uV38t|7V<|*0}xYDJcMWlb=Ss$AT12Z7U!3jlc*`GCQSecBI>lTLw1~rX`UjoIVDjSo@4x+r8?w<&i{ofH6R6kq>^^4rO_Y^l ++R&EYhSpg5EmYaf$+uWln!~k30g-pDdhvH**>88Ia#05J*YwsxY`sRz@fPv1s5>>{4xSR%n=FRjhC~t +ChIGKTg-2fpPH460*J;!q-rpH9fJc&0`?X)SeOFzE&Q{S7gj0Sai6~u_i5{tc>6MM*CF-W?R0BN*Ibv +x>=b)Mq-E$pp?s1a0xzDG*LL_39dI+4g=uFZigK5hHPFKwDbdA3S{+9Ze)X}W5Df@$*r<|RgpG9pJ*! +wJXQVpcUCTAG<%XGPnF$S>}!+Y>bph^OpcM&!BeT^_miZBdG!#Ap1<}*^@2rkOk>9R3>;MqAqhyo1s| +LG>Miawb}qtZj3pX`u_X`AcfE-=?@smg0IUfe;(t!WVIM~$pZB%!qa$K@<)0&9L5K}URcdix4c41;p! +fXKQ{ucP}^n^r>~E`0X2MpU=d@)K#69O-xk?kG&xi@sXO6YhJyA@|e|&TH^X1jW@LRl}0iw +@SMI9LGB-g3!g&K`!p%Ve8(kCctDqnpj+R8j%sOwpakzCWvF_krvXrvfY#*enbwm4mUcbz03|y^VXI-11iqh%X?kY~jQLCuaaSo0qnyssBw(0y)tBqQ_f#4HQ4lbRr +t&&rx2!hKs?aonAK|4=3g|#+Y-BA{u5Q1?l*HFWv#lE0@-F>&aMx?3Koe#vignSiyrT@JvbcHHeLm`Y +%Yp!}gB-bhXywMja()l_?^q4gE_h6nn2a3b!u$v~IF8a5T82eE>jXg6C{Fe<6Q#&3cIQTc0oXI0?zG^x5Wh1#ns%(xO6doy +id2$Xde*mLYux3R)k58;$7AsUiE$N_P*y*H56p%z{x?FLa#C4eESl29MtU~=da7I+9VQ +7wql(V1TEI^GO=1BT0futU47@AZXOp?w|i~CoL!)pNK;JX_Y_h5a`lKeY@vfO7U%(t+imK$RzR_OtWp +C(!xHk3bx_y1bf|1O*^DBdKE7=*+v3~90=TBjN0;RaPF3ou6G#&Q2GX=aUbx${H_=rLe;>ZK0CT<`5^apW*z19#rByCk{}lfWtuPV;)+OXi5bUz(SJH +WRUQP$B3)6TxVq(xWPvlGS6SX0!hH8e9U{W;w?S#%CE~!l(ok$xoBar;u3RS233U^R?}|DowV*yM#M= +y>ooMKo3yAPP)0dq#+y2~iVa3_N~S5|z?~*`B?!d`3ur>|H=3Mp(zJ^uzj9@nnggRQBUht@)$ZnD=gj+&fKi^!d61e$z!BL%ez6u;ayM4cP57%-0l?M9+MQ8IvL2m-SK!UB$kN~6$EzfKBJKxiyO(E@giEhLF^Z={)5+dkAT +PhUomK^&qLx#iASkzjqyx3N2evFW`=iV?nMhwLJ7^^@N-;D}FJzHNoF{w87aOiBCYDbOdHiylHIptLY_f +ef2`^kP%O`G=JFjCkQ4FFQXQ+~eL1;26$j<^F#)gR4q}3cEVlrW(4Kv=OooGYEIsCk(0#M(KW$S9M9X@~VnL3 +|8*Tzm+!lNvSb?w>`ovS06@z1KZAbxA86LwI;)hg^*&~}GbcLR_{TmU`9;s;^7rcFinW_O1Tf +kL;D`*KoRWTw};!9xzR5ryiwrBzLSa+dccyT}j;W_gS +m?Iu%jBYpdkqq(fsru^7-~Y|pornk63Zi2+$Ppen)n}Yljgm)Nw!@RxPUg$gyn@QLW9a~{iqu31Nx+z +j%c!otI$FFKno))E2Bk*2=m5>xEj<%d$Enmb)W&%9lcUifmYG|J)h6yUP&$lMd8tzZFFR(M +vw2pis`T|#;S(u4X`&F|%Qs-OPvkkh^25wEKxPRN#22x1qH)+{!0u50EbP%50sq9&awc&NZ5}XljFv8 +I%wB?Wvge#X*oH4cu3V``0@Jli%?fmVWOIdGfJDjv70=7U~6j9R!&dUdYAk3I828Xa5!^nN;nK@w$`1 +u0Yzj`=1828-Ldu-+X#{Jaw&gr@H$9j_n9zZcWbPcQ#0$?Nw^^v}`z;|EvLylqK!3vT>Fk;q^d-!SW9 +zoQg)dH5ExBwLw1 +21af&$8BOti5fS3p$0W=AXBtXTJt6{34PR5{=%Fu(3pJC08qS>i^#EXZSn072i5b%>Eim^9}r7R3p5B +$kaiz2rM1wZ3&F6idx2YzOpp=x-WT&CU1m{vUX@)FI)u}{0iry|GewZW1ap}1e!wJM#=wJ_F_2%u91Q +uMCV3tD8L|^ekU~Txr?uH?KeeeUbLI@g^nORU%Oj~9r{)Lq&5N|X@2b#gmR&1DIaw!$VIPMR_Vz$>oK +<6&#c9{1fn%$L(}OZ1q*alTNyi39O+vMFt=HX2UDk*8yU7}G*S7R)?^Rn%0M$ht*qOkuftJsW&6*n3~d&r(M}5(tv(w9t4Rb*ZJ5Ls +r;6`GzwYuqFk(;zL?UHg4Fh*!!_fR7rSqIP$qaIrs&#?egY}}LQR)sqwVn9bGVQJI%piur`p`9Ev9P0 +s01=4k7LO-v+o~+`=Q>1sV2WoaTjo+7U=%IY)dy$GqE`x7)@%IwY? +;co?eur;xW2eo$TYH1cn46Q=gXUK#_q0Szv2%b-22`5LJ_BW^kr|P$A?zJJ}@lPzexVMP8kU?gawNp- +OMSO;8#YN4gN;3#0=l0_izI2_z_4>UN!}w@opP9n;;bsL9_np-0Nx5t^2rXkk!Ag=T9AnE=yks{Pdao +(K`4Q2W?5S-J~+Kb(CiRv1;XK~mu}9&9KgcV*E@%gO}%_Yr5fU(v4WRBo$I2m7j1cVqP{^^FVdv{IAS +fDxtOkR(74jba%u&-Ph!P+ycb>Lr1SHo}uE-8(%}meS}|BAc{$NQV-8Y8;0T#U^qJM;X#RkCalJAEr# +~ap;t%G>vqWbo43$mC6gys6ch>lA5I%rEnnXP(L;*C4kf!qSTpysWTs^mL{85sw&4f&JUKlgnC(M!`DfTZZo8eV!%ra{_bfKG$~Yz)4Q*mRs8oCFJz@0WzTzcdj_D*QnYlpc- +nyH3=RdRZomgOcA_*akW|bDKdKudXk$EYFOW}zgk5zO`o%m>r-}B`Av*x+pF`2+44Q{?NkW!E!X%yrE#ts3B`t^;5d;Kky5e=l749E0QFRpGyG7 +Pq*Wjvh>#D#n_{yY39e^@Qh$5GxZ!Za2R6UFc1l36mCK3vgSgV|E+?s@v=X-ZxkEsQAS%!`u>9Y(n2# +(}*Rq|(4lkV&KI$H%=b5|;*!GK?dfDHA^`Dgw%^w(LtIpBlD{f?GH6j*TAzYxn{N_p5mrR0fNf0va_sA>=>nGoRywJ{LPFsHMY%WJC5_fDCYI1m +RKCvkY2Z|U1rnqK39~ASu>uBZ1p2(54$9nwnmC4-63*1`KX^OY>YJBX1OGq|3a^Rtno`m8rwoKz`+2C +7rd74ajY%MdIuUcX!mVamU4t!euia9Rn)6%q7FIW&zc9Uf^mQ8AZR)+Muy^Y6@Q;>r*xX!}e +w1MwpdKX#o2Y3?Rf<@!p3O+CfZ=Te`kepX0zoxhqHvU_@#>qzSF}mZNL}f_-y3KWLUMT)HSxXL!AiYH +9D&L22#l22NAngt~%uK?#hDiM!#}Xgyowct=$cANf?02!w|1zxOS!jeBC4IVa^7(*;Eqb(EPe_!DX!a3=DVgP0NpUCCOBZT4)uA3i=J;z7xkd$9->r%cH8O&e^QenpJFJqe3{=e{3S? ++v?3=%aJRJ304u!40o3y#lf_Ia*Wco!ps63{paUb`^l9s8Sa4^H^trlfp=T&GoCVLAI1T~1J%F4O6a@ +R6rQ?deqBLP^gd;=o@2&^k(q@fqf^N6voye_HA1EKJEj21w&+s?i3X@!|ruJ%YBq=yI`>Z}&vt&ZnLJ+ +ywS}w_`9PM-JweLMTdzo)pagbSYEV)J-e7h_#xN7)#aAtZIJcA;x>*jS7RscJ}mRu}`%Eur;%u0Bjn;BV +D{=h(s0TN*5Fo6((fxyX&h%9d{VxFL~}TR$b}3Lo{r04cqQEeD0=|M}$a#m2rc6QS<3OeADO#5*yu^RO%5utnM~=*$w9m +Zx^SR_lnIO%ZJk+i`~tObyX#1CucyH_!uop}G6rH>v!2(6@JYRL9+DFSZYEUDR{$`9r=>3+%J))`1N#l3I+w`l4l(w^&1uv|7I5g +{+NtUT!nu=5r%_e7=2LHd)|@*VzgMf~W_OtisaQ0h12&FnreKGSoL#2F{i)(brNYTrC+3wFS={H%pgs +=xLF@%wpKJd>PZ;qgeP@qS$9Am*?+qTpQ(O5?rI=BV?qoI9OYXpvS67r%o}E1zm@(!Dee%fxTSg`YSQ +?udY6VteyR25M;Pgdyxn{29cHBZ>uaOPnRG&fddg4WMuGvVCd3cwnMzbrnyhxPC7Z|&3>>`UZy?VzkL +bb-$Xh8X3F_DDrbpi?(A>gb!V4ls9Pwz$NKW-5|K=<@oEk8+g3BUVi6Hzv8pH26YV;`YH(Av)6hT!+C +VAhke7i2psb=^>JscanYg*cGahB0@#wM&bzh0IR4srYu#Yw4qte;Ek9D7VXia=og*q~o-;m4O^GRN<@ +%3%&p4o>qjWgdL;K(kN^b3pp0#R$^;w+ijMJh`|cEd-EO0`{Zwv +gX-B)ab&C^~X`p$SMg>L$F$~2ZxYJ0HN$I@Y9Ob(j(`=zjTZCH7@jV0)R0c_;_H1z5`j0U9&NN2ZMTj +BpMH2zx9L;%xw9EYHiJb5*H<-=|cWdIjk30n~Qt&))>m4lL+H>Vw_gMLpZs9DzlSvqE=r+!q^8Jq3(? +SE0kvczaU#zHbKJG5iXp`609)K6IW;3mcbWX%SSxc0~up*oopFdLAqbJCsy#CVN)<0jrZN=1CDCMQ{B +LXVIW;?73FK#6JVRZz)-OecxTNB)!RD2%778X5NB1wt-70UZ#!Ri(aZ3GM(5(^9Xwf@b +e;tn8F5HBKF??5{#k_K9p~R~K03s)UP+G&Rc;+r2=A!0qWtZ5{;5&Lh +QMkpJ#b`l2^2M*?mkyFBKAF@C0qfzR1ApY4T~)Pwq1g9=&cMv8e_op(dO`tWBm*SuQc?J^W*P+{q$sc +4;%2M|gkFwyg#9`1$;;<2LVI8@Mrh3k&@379SDG1e-LH&l*>D1Q*|>J-=7l`8@O#GtIV&^m!H?v>|Y- +C5%p*nAi<~O1m5lT_%m)4CvOojynblAc(bP6Y19P-YALp01R8G(RIN^c83^7614%6G?784)sx6TC*rg +24g-U%^p9csYS)F+AB~1~Z|J@Ef%!4i3z}Q{AJGZgePq8dmNr`7M}ya1vn(oo+?8LGyc6A^4W(iZW76Lp&5DwnEd4KP2kibM1QJ)()Xc`V8hzKNMVuyX-w +H_uWW7Iwr^S%dT!jC;c_7c#)JMzcA4ZRHGUMGdDflztFP9=yTh)?+O<@6_U>-l!QS_H0SI72T;n%!nII?LjPukh|6)c}q;dEsO9$XdR5yW}K=K +4G(7L)foll_S?;De~b=joT&^7b9$s5Xkf&t4$YIq5~%|d9I1L?I6y_O1m#~RpK^*Ho*PHEfrPzRDIgLuM=qzEuv+s<5Xl2_TQf);$H(bqawCXvKvHo;P~fOBq>?>dhkDc$qcIYmXlaB5&MX3s>T@;0y{+N8&(sk +Z=yk0BWmZi(VrDSmkvaEh)^*^Yc_=;5_SkKhtgYOS$#^1R?$B%@&i!qgL)n3@$L-}{P3@)*#^T)_xkC +vDQq2=u`ddD(vfUTlWMQRIzn!?nLWgGFAfR>M#NF`DimQAVc(fDudtP0AxCZomXAgAd{)iVMCCYWyoK +;DnMOuK(t}kyVT9Q#`Mb^xghBL5hAktAN4geR8X^T;PMLb_QhPhmHM9nP(3FGPk64jRBB4d#VIE(Np7iLY +BE9#xug~>a9imrNM%dyzT&vF_-lRof)qC22DC*K;fOT*fr~&gB|ML1 +(D0X2QzLo$;!{BK_(dS)OM~#BPL;Hf&r25nEF{9jAhRho!6q*O#DO_ZA3kuB_s8HRCH@(K?M-%Thg7@ +#wgU`1*?F=OWuBz~?t0wu``!`f`G7G=Bc)wV{sqa7?$P0!Moh+n}NHtfacIFl`ilaV{9s_UbEGW5w5d +l?D8=^wK@L#LwKGlQfP%PLRMpB3Z%)&CKg_-m%+r&f?c!Y+u;@-=|ktP0#u{yrF`I#e~r^6DmEMH*J( +b8Q7}h}8NC3{5Vhs7mmKc&48e*InpYN3Dh;p# +q!y32v@rC3_~3jy%K-S(5m&lhpW=bfA`+)PMZiC53sD3A3r@7qsku+8htO{;pTZEtJU0U$XnaZKC3{rR4PgukV^Dp6DDV9I4$Z8-@V1^zrDs)nW>}XbIC< +64)6J1wTdHmbR!ZZOa#oJg_rI-Ykeko;IzsfmI=-Gz)dMtEOP_IQ_kH}(e{4>cCI5>2(0g8%lr)i7W-`!dKseyS121LCc%By@N>tAhfa4auGn$vm3=!NgH^Eo-5QvuO`L{a +Ts8fcWp!%fbsD-^6dizq4CqCqrtHVqcY%D}&rbt~8FH+xr2wWkm(f!G1Dj^>3F*j~AH`(nBc8)A_Tn +6VF+3oB{kRBydg#|qNzlW4w9f40gFv>0(95e|V0ba|wmZV$i1CGDT;wk@z*uasw2XqgQ7-y_nIXn%B0 +DDH8e_~OuVep#IfkW13^Hz<8`H@H?x4{zQ)62cS)aOrK6W$*)~*NF#+%K^#CN=^zrb2!HQJ9o<$=Y +un1Wi2Es*jj0j>iu75utrkB9S+`@>LDPnd?#$}*B#LU$2(zBK6bR$+0n}$jygJ^9mnwgK)dY4WstS(LTsklHyyY0q`60i!=Ik}RTyi0%dev>{Ne#;38A<_e|c~KqBQFN +f=K67`DvB2Pf21ZET+B%H_jgD=hUOrs9Wl>TQ1N`E>@E--IVDNQT?vL65Wh9^4{#5En1UK}^eka5CH# +^;AMNL;8|V%JoNPuktpjW6DP5mG_q8<~p)ZF;l%_~)Qu|50wbW4aP~RNR%V!mT=c&DQl%^1~x1M +8$p_7UKc$ +4b$c?Ry{5)OA(i8!bt0)Un{=V9I#>&xU|d&T?fH>Kx|e~oK7y%Ri-{7`ipuMmFu3)Hde)YCS7KsH +?3zUwWi!YrV89hUm1gpP7e^m7-MOAik0)0)}eNPXhby_`>Wd8`7KQdb>twV<*Q^J*iPhXHAzlR&#n+P +Ez<-S@|H%Sx~bNUPLImab@jP>;>nS8MsghED7=WH!10TgZ{sK-g%{^&wy_cPX|jQ#3K+>cG=az6tbI< +2Os;8nQq>rfwfZS=laeCM3Jg`0Ng-ZJ2Es*TyPf{|Z@PSiB|=bb43g-HAp7ae$iE@Y6*1J@*>a1 +=9@U6V=2I@cRR&_<@L=qY8>5qQEHJfoqVMDyqZ=^bH3#lvG}IlggftQNwm><*d}zwRBvF)G~eKy2^gqTx_|Im#m1Q}1-p7dw=3k?1%u>#l^m^tQ&p^v4K;*K{jZnbegE$#-iwV +Kqt8Q+V&ehcIUd2TGw~*5{+r+&ik@eop84$XWS*gOzSou)9)Oo!gU3ah%j8$c2r%#pzwjoMxFhxL#*$@@1%l*aIc~yqaMpa4xDIYQa(p +tf7KxEx?{W|m@Qmy7J@YyCg1fc+#Vsktn&oLfo+Z}W%l(GgSH2$NAOi<;^5f<1%#BW3@^l +Z_&HT@K8k??`wIidiwvEYHp?ePPI9@?3yU>g>stS`wzDfy;eK%R_&hX;SG)h{E#-sTxDqm5nTm2vVMS +DELBO`I*3c9%=yNA1!SYbgB=+3aoG1fh-P5X8XE!9L+ +FkGub``B&{`X1Aey?tD~^_MaxtE!psU|wfEW@_j{=O7(SLGHjYm*lio{S9Y0VL_*J9nNx&L4vvFo}_nmYZBrPxn|qVwa{#E-913;VE{UM&iMN3i@x0r#gTSv-n5zvy48&w%E3dnw+oj({+iTkjDoi( +9X8S7|K*zZ1wL#*JRi9;Hc4rc#`t$Wck^^oc(&Kx>*q_eyruD#u3EJN +dLI&a!Gl4*;GjsQ@ZX1zYg}}rXJq+0R9{dULxHO;ql6<%eJU8%ZXBw^&cn^8*z>AvZQ|7zD*x@HNj0? +;^&&*T)34Rp-GW72*OCN}C)3QxD;5fVZw8P2%r`>})xc@11&GR8$78$(1KjALdPw?^mwB(`NCmMG$&w +Zypja)J{`_$>=&p*j~rfv`FY|S8+M2u>U_-Hm&&lPc7_5LoD+ne+As;Hw-@4XFNpnj{y$NSmMn+Xa7Y +^g77rtq{Wxd}I=Z<4#6UoV1hcXPKFqNstCH@uyQ0CoyZUCfZnz^ZFF^ezUFfie;~ZSJ{V8}f{(h=eJ3 +c4Yd#F>IV>GtlpsOkW +UjJhqnhLFw8D4DrZg1pnc#x(_|lAy%%H;H1-%6LbpBzRd^2EXZSKQp;KWZD5my-XHckHui0}O}w5^kD +q1sY4{m)_-ug$e*78}fC!+u5^=EGq^^%5DyVKwO* +0oIwCx!6Uc#$R85$W&er?M$S!;BD16ap;%^Q$rbnKI^qt0@MUpOJXr+XfnP{_kkuG=Xj_w3Z22>cc4_=)eOedl&_+~J^GzUZ_e%a1t(g!kbX8g8yZ9mTDp_Q())epZ<*wAnQo?EJaSsJ&&Pv55 +ecI&=IK-DX|jSFy?99)(-@)j*y2{Mmp3!Z5>B%Stz0b47e09*P)Dq$frm(2)f<$Fm+HGyuQU(AW75ltXPv?%T!&^VKZDDu$jSJ*0}yjnkAYMGkF^r)rOLonZ-x +zz(lHXI6h#~2-5VtiR^UIcGWB&U?6CHh?z}UNUhTXuPHZa@zarDwr|pcgg!*7qba+At1;5Rn@lI2sEzgsIz74FsBuo!JVKyuDtc}ww`sY{no3sHVn#VaP*&T_j(3P9=vybLz+@gl+wxuqu +H3>%Vu2TFOmK+NiY@&u*|pjXSCdw~>oSY3;TSV;i8!m=%~{~}o{p1BEe6_^OS`@#0?-y9%ve$Aen#9s +w>Z7UI*1xk2{yp(ugM*p13i^%0c!27!13LbBgf+G0)5N0DkT7!Uk#)Q2BLt?I*vkD;;F8*1mq1AWiCQ +g3}gwg;JesyxVwny%t`BZLC+&MwL$or- +^3oi}r7Bq5*2h_A(MqSK)Bxp)zk%}k}{5&R6zJs+yBZR{qL-D}JhTyeBhD6K5U9CIk^cNxkz#P?n>fr +$Y)Xw-??;dj@Ak}HQH)@9cx@wBheUf;)rzZ219)}%EcMCoB_C2iDBkRBuP1n9#u3f%@w_6m|BSPT&Ga`2i|d6oqCYb~ZWNS0Pe9 +3Z4>h*XtJLNBpwOPBLQF!x&`3RRA1>VG%V^Ybd{miNsSUnXdRGch&(F!W=D*19ucw_`cwWcE4P6S&+QX`x_W +M8L5olM^DTr3o$e`A#L4!Bpmnkr-oW8Niz*#+YDMk0zD3nND4`&-?l7k!2-X_Omob{}Feq_#*q(s#bn +qgrK7DrFtz9gM>ZlMI<4xei3E?XsB3%7g+G^IsS-A?_PSrwUqZgA3k7xsSvba6Jym|fJfBBBOFxkxDy +L518ax1&0C+kUJQN_rCnn00eB1AQ +cECCt1`OUV&h%8%@{6i3k*%E`ieUQ?;rZk)YStuMN8JXwS&`yK3pGAqoVcpJnfl%7Jh +UrnX~A8|m@;*d?Rc2BIo|{tjyovS-D6$hLA}XMUo2G@cehEwdakfa+itsogSfl*p*D2!c(f4YT?q>%1 +oWZlnpOzvD(#xble~)Whi@?XXG9EjO>2jXJqI5jO<*Wk#})uIpJ8|U5w=v4mmqIvDfU}bzO{ +Llc!#3rPS`HNi&5`2OC|q2Mo7$a71&&_(w@Y{;3 +^oTbe3Al`9uYBzXT$gino{bQ)1f +_aK90d+DWv2*oq!iF!IiU%WdJH`EE2Rh@LVK`0hVD4N&4trCUTbtt{!$dRBS$jg+mi2Frr1aq5F`q90x17M=*S#q5DhI +l<^-*mzIyTB9(A^?Tt_y>w&2c07Dtqy7;_$8kB?;g;{kl8ug$%&^3*uAx#JMp{=p60qE5<;~YV?Be1^ +;mzw_0d)ufK|{&+O2%Flh0ShO^)r)GNqCgz?`@3MX)(XWmP%4x|xv5m?mypICL@W1z1uyiZ92fTs#GI +Q}{y-z6{wzw5`%-*@saL92%+YLRS$wofK7Q8NGFY2Z+vD?L$xB(y?24=5~1E_UG_Z6MdQCKGB{}O!Ur +q33RI0qd%P9Gphe=GB_0MXQC7uk_eZ@&Q=SK6?pq29i(Z|udlMQCtvKw342Rg?8#r6z8YR7!r-8_{@g +6HL#`3&ReA%jenmU&IU8BkBmIbz&?=F?D)n;;w3N|avA)SukV7SG@QEJv;o)JXN7OSXE$h(+D$uuPo6 +ye-@Y{+(^~3iXBFhkw+sHng9nwAUd2tdmh`Xg%+lm2rDwzitdWFa?YRU|z{vYrfk)5zw>|$^9p&0J{4 +oYfKX5nr{TtF0U3AnXk5ghFP7Ew|YJ*Lqs1AVwRA39Afg;5zj3Tlxtc!fT^39Mk6B`5*NcP$n|Yk%v- +hv0ph)`0$jc53c`P``CXO_F$;s@;QoJ9pdWhviM$owjx0T+?1f5-FM44rT;Qv#qVB$z~fd6*IMAsvv5 +gcuiUBb*N4s&Q8jd-Wntog+yL0VOx1cL`%djYx_veZ|DVtu;aF2hbIA+-nMnlp2K1t=|h@VarR~RM^P +Sj7G6!c>re~d4pT$fnbu{e0F~VvA& +CSM`p`8hxjH4*rFdCtH$-*Up+0OvUDFdH{Qdrr374gBx7*Z)4uVl +XQ>7nt8ujiei7Wu}mP#(c9U=_`$s4;A-y;_@54JAz2M2(DD<=V1hYdk#r1r-&+%(i&(Fl!tecsD#z>Glsa!CV)A|f7UnHNHv7N@}9S01vr@C4v@Z9eVKbVcinKoB7 +X^#U@I!a_!pIAPwQI-Q$oLX5@{UaRh!q9!y$;PLu*elHg>JPMZ^tL9_d;3${C3%P7eKunkNL)&E4s4C +)UpJ=^Fn)h~CU=Sv={hYn7Y{8BY}GO1RRU!ukwa+=(|heH6AhL?|h|2e-jp*#K`8rZ@AOM^T9fkE}k0 +nYm4x8H>2y#Mwa^X)Z1>XQpW)oHUc2*Z-q1`I~JzB<${pg;6v8_*wcX&+GGp^4z*PkMh~@QX$p-9Zds +aEGBP+9&*hzd8Ky2_1~q1W9O`esdz6MPyFu3{8M*3sK}3TlFdiE`be(Mj-sP-C(GzE-_3~hJv;m+M47 +|hK9DA3etu6b9N9swj?70-DoQ>wB6Hb$bCyo^=-?Xjwq +bsKeRL~dT5=?07s5W0xK(2fBSX2TR$I3qoBsvQCAg)FN+#{kHMg_$qA~iLb!|IsS0*)Do~(D9}3X8;$ +VQzTpkV>MIRgs_*jKrbhF1RZ9c-U0#t4r|6FRVsF0SBEE +VMq#xy=V{vL0JqZu7AQrKP+ErMmS%3mBdaH4>m1P^6j&(Psf!7EJHF4nw08ZF?hQ@btu?sH-LwnEoL8 +*Qhvpv-Yp2*K)V^W5k`Ewh=^7;cd?ACTQDvcA`^q$NDJg$o8@}QuMl5Q7#l8wi4&ue+@oWi>|3mX}BC +*V-P@920Dmm^=t5xdW7er0B_zPV7V569FQ#$*%qw{d}5DLgT=c&MKoZj-zj4@ZbO7LjP}no4LsUK_B$ +TO%^zVLLb&3f>=N@j^C^NGjtK*Gb{`I6IUQVixtn$?tvEFINk>$+kLcSW;nnV_6z6gN*Ps4BP)h>@6aWAK2mk|-TUpjZni+5_0 +06hq001Qb003}la4%nWWo~3|axZXsXKiI}baO9kWq4(Bb1!gtbZBpGE^vA6eSLr1Hj?oF`4p_PT}igg +*v`J(dXs4L;@svoZSqUf?LKEIGDSfWYl=__(y|k!pZ#VA011*HB{_D|-KT0}0wgd127|!>m>KNs?A&q +Sx44?lS(FGjWS1-!?&2z$@rXYCV*TBrZ!ameGvTrGnsPW^G +qlnUJyc=JJ7Z}!F<8v#5reIOCFE!+?m9D?ks|ZJG@}gn8$9h<&H}KjD>9KB|$W$CU%`SY|1WGIEef(9 +kZ^}r}~VprZGAGvmoH&^_7eb?%cWKhn^6QQPp-%7@cE+xub^E^L$VUp2j`{Iv6vjeE +}l|FzVcQFFR^rxUQq#`ZMTdHa&L+&DZ)Cx!lvJQt8n17Qvo~_c;XX8PuF>p`sZEZudh8AR2{S2(TC +71;>izB|51#;c=@dI!c})X%lh~7OOXC8P5>MkmcH%skvj +qA>5=8E7jjP8(hh)Oc?WP6fG;^L|~{`-*hba2k5!G1MHW_P{+nXi3@z&NEc>J=r<^2vPSk7!Q&7l +23#Dh0i0H08;j8u&YJ|3_NH#@IlGOhH)A)(N3^=YVhMPW`L8(pje4U9JxFk16^Lhm~4G3TF$pl+jZTJ +qqri>UcldR(s9~y3}3*28bgu5NbYwE@Y-?f+jhU*U+(ogo!;sG-2-QDu-iU8*#FC5Z*{sm==9os*Nk_ +1ts+`mr?c?opm%z*|KI=e_oo4mg_mA_J80?oz>hpU +WH3u0fmA{efS`>r)IV|<$_~WfoSi7#fr3C@%rg!0(KflxNP8?qI>+iJGeTDDQwyg>Bw9b@D5E(elm;A +c0v)8<=ZFRK1E8?jErEOMjl(M`yE${_MMA<|GLY}0R)PX2^CACLlz5l2Z7y(Yn2M8@D8ZU@z{&gq(6+F3_jvGX@i{A?j5_Ue$?6RL8Mcj^ +7NXborBIg=<#F{TxPLn-0xIM-LaP1YPIrGA=25o*-~5m$9KPR_kP#PmK^Tifi7_2QcZi;-8B=w1*o9~ +eLx0?VO+@AKH5L21zNkMmVKg3wOIneC&_+YDkz~1Ob8~W-f>^7pemxXhfFTRQ?`tfm2g@USTf=KWCKN +Ohi!mShB|1t+FB3H#r2))NDHE%!T?6{BU>Tz%MBD`FCyy(WHjc-fgzOAxAMrl>%`vDne0oZROGU4pz@ +&8jwh>0Ohc`Hbk)#yI;xOjwuo=HV#NxX@Vx~sX_E2JlU8Ls?3mSP9B$TXSVu&2HH57iMQq$UE;c~Lts +}yQ2bc_awBJZIr<3OcO)#H{myJn8mMN*@Gx4x7J*alxLMxjac?(Un_cZqM=t>JBO*~?>8pW&6;u6%g) +v05r2><%SpSrOMzg+)o*M5`AU%Tp-n&;!NZWN|Jz{=`ohM{E?3M+xiGH+xUT1KIz%)Fg9-^w+Oy!j^D +TA24Ujl@dpK`OnWPA2#p^f8rqBVAlBv95<@8*jXY%?-Tq=IPd1)@X0l@~lY)kLWbPCR~5>aP{!v>cNB +6qerXbhpW^5U-s_pe*5sjqu;+@xwxp)=M|QP-{9k?<94U}*HcVq98}nZ*k~1q70d)H9zDb{SvxRsKHha#mUQGDv1TO) +6U^6`ViB<)^V1ch?!SQ95G +^`bdj*sVVw1X70xfevZt3lgJk=)l!aU)6id{NoS_&bO +Phtz5PgMwCp~)G~s4iTecyjm4(fvQ>exd*G-;3FV#VqpKJp{%C_O5Ve$viB!fr@Ciiye=3@WfT*BW2S +$$DNZI20e_=1QuVQN8P}?wt#@%s6?pEcnta +bAR)wj-xO9HzMM({&YmwZ97{Ovf2BD~co>9!aa}4N%ADV0B$s`LATUB@(rR>sY3xYBUA|RnF1JBctkG +yabj4z;im?HK92^K`Ckoz*T-0UWKBPQ_6SrD?Ue`<|^U`~KAFCxhKi={)Ez?m3Ux6gUX-a6X}7?(8`W4#Nyj%Y$glqJ(%yh5b@ZR#*)bB21up +eywU!&fEJ&)~MY(HtU3PGES(-cIdpTkbv`h!n{6@l0z?mzQl&reVZ2hpOjAx|j +qutFYN1R`oB75b?8-E|gT0w5!YnoGx#BbfBDm+xWU-=mJlBNcvLnW9!L_a`1i?Q>GbIma1N)yh3zhJi +?&VB(yg9t_+-V3Xr^rvq&PcG@3x>Q}K+lO-d}64g{EgjxctnSSm%e1To=g+yDnPDHALIiu4C!8aNLX| +;z?WmC8}x6MfxsEydqM?zU>SBe~MHA7h|p9zxbGU^8$AoN78PYLGULOw2Sz~*euFlv1- +R6h756XC8wlFs_(>X5z8lvos0kh^+yySv{oUC9L)li_b31aDs$r@T;S)_B2>zBE+31sx|Rf*qzg%Nc= +Cr&T0Oz@Lx9qr1A>#BjM}{i-}GG^s7-Soo?y67}GJQw4)k<_QTUfmF140&Qn;2H^>g-XFaf +XF-fVgKlL~nI?N%g?jSpc?RJmx(H$(VcYX}W{J;n@ByIL$T4aw`aDGqBBLgxXoxHGlS?U=y?B+ue?fe +$7MA>MzPOP^BZcAnmO%!i@G-7gjiCtahmX@r>v7 +!sY1~9OEgB0z0h$2I(;@t>Gl6CkK#eGF?1XM3&w>mqh1nr$bY?;1qj4Ssj*>+J^~DM;%0Zy4ltpkSKu +1XTUWakAtb^v03cF0Gq}e`uK +pzAbS)8QiI)KxxerT(Z2X(uQD9I}Ia1yh1(+n00+d3Q={T`?ew61*0Z3sd!3nm%N02(w;!#v9CL7C}L +XviZu{6bb9uonHW^2ifK(_}WB8TBn +hXlxu8OD@H7;)xA{u>vv(NaSN&6vwzIj$cvF)r_L`8aNv__;O8kWN +p^$UD7o49QXfW7IMGC`KDBRx= +Fg13kK4-QZEVcXNcJFxD>yJCTeHWD(^LVGXD!)Kw|2$f?R5)cPgVVkJL9dVt8YT_rTw3^A&YSYoHV8k +hhj4JpUkxb3>B0V=2c5k<$1C5Oe)L4AKP)7FV%y|6IKBLrO787X9`8R#;}J90-`Qnjv+|TEZckZU*Hw +6wZRw}K;jXqe&r#bbxU{QL0{C0YR1wgtA>gxdaOnUKO@iEDiK}!)7{#(`YMbfwmTSDh`F^Q{j4^fXr; +?=&VS9aYwcrX0OQk)x{D_#cnITgAD4FyEF1xIXl3H;(2=2Y +DHr~jXb1Qz5Ga#5d@m}&ico$*a}3XsQ$f|P3TlO!sb%G}yt;;L*rOW}dP%X@W_|I|v|Kr%bQaWpGPOb +~sR|w5SYkHdOEs&tE~rUVINvdpt!ypqw@>?hZ#0SGeArPACEq*Xg2tG*u76CSjBc)3tf +xXe*63WM|Zc^|FlZY!v64S^@ADzFH4Cv$S@mfua!co*cYUr1{Eusf7Pk4?LHkatq!QS`F5tK7_jgvxK&I3M#4RM|$HXV-G`3FbHtVA@B5SC}TKk>WPD#VCw)Q)!_ +ARRY&W+bzb*H`ds6F{>#Qlb-w^jb@qkbdICv{}MvnlfH3ANfuQ5j}UrRu1;wJB2T>94U;ilfwF%1)%) +W9lXmWv9LE5p@%I`ji_9dyyAj2{uF*0d4$KH4!fPPoY#@Sj$PZyJfF^pG>?vXwuzrfa3dwDk&-1kqV! +X_w@Mi;NSo~f|zbJoQI}skdnKQqs{$=9J!aK&yX#=gvbJCo&d>?MbLVb#iRhM>dxt1F3zrbP^AJ=5P{-ugorV+UTW)ayIy}pfYUUD30p9QMA6WKZ)}Ax&_w}8+wkoRnG@s*zrLvq +~FZWzo^-Hvmwgu*rjh_fO0Jp_Ujq0l#FUNwy0TaF#nq={FgF?|1!oz$cB@^KeyPG!r&dOPHFtgApDWh +TQQSuD()7nW*b{~!$!1?O}j~(T4_xRaKD1xtSt3QTh6Mseo5O|)zB|vJzHz_SNvEtt-LY&nDy2$RqK~ +3JP@ME$Yyh^7;Obpg_Y?gXXY_q)g2;%rq92n{=S7is`~trXeJ6iQ%b-(UeWEZ!d$E2zfPmS3bLZ%kINe(JX6=dQMbPew5sbLa@oVC&V +Q{|e-&VZmVccxzqcG_ZHw7BwVN!&3~((q{nu*$+qC_w5VzF+uW0*MA*NBFs5zDDxfs+Y0hd{erEx$d` +|TME;0ao-#Q+&nt{@ey_2vOppmpW~8<_`Kz}1)wY+@czg?6jv0{M#u +egCa22&&mPF&BUpE1)IU_y5g)zzS}A`vJpVpbB-p{lGPiqQ0z7cdp`CP^_LWa;0h%L+VxPuAzZl)VQ{ +REo)$df +2P&uIgZ0;pVM1)w2!C*hmB03c94izqJOo4X7xMZeis7JdJE6YU|X$3I*+rw6UACudV#QSsS}S``S7SE-3|K|x-z;-$b%2|r_|?zd5 +Nog3@X(^O$>Qc0?Z#gW@TLQBvWVDe%NiGbX-++u2n;>Y?hVul5a{$`fDf$|E8e&)f7~JQ@i| +k|4y=}Hc(_rBrgb5(7!q$TLf433cA5^d^$zP^nNGwiDjt+lsQK^OW76G=;{X#p`jPA>xh9bY-}(mwI4lt#-d5Z;9qw6qt>UN#wj753FBpw)uy`&KdGbA86o$J +l`zm@<(KEOB3V#`cHOkr}809d4JD2(8U)Sn?SU>AzYZ8+H6PJ2yT4YfL(9oqY+onD4}r{A7)kpR8>P< +aQpEFGZZq~AHF!Bpz1E}m4Ya20RHKDa}-kqPOcmTrwK)k7)Z?wr2g8SDWgATNfnpxCZV0EAuN%C2{GU +lDEA3C@Lnx32wM{BKK&sv?4cm@?uQtlELHfY0c|jYO3kVO2kYkA)*R-gJt}%XIswmlJlE7!gpigJPwU +z3_-6RClIbCM9q<02fs2YGZp3;cMGj{SF-?s>?j<=KOZ$II4mqb1lH-=J?nlmY%yMM@)J+B}_PP72cBONZZRNvxy;FV}e8Ho^z1B$w# +++a2xZS9)=G@G7h3gdLSN>)c-&(C>~|0D@QUY7t*5N8LQXWe#*vC6&-h5Wdk3N$AR)sDIHa6q@1aX56 +`kveh`Mjem+5wC4u8SQNDv5 +R~l)niTc*SpyyGcb(l`)eieF#yEH17>i(QGCA{iA^6tB6>lG1X% +5%ke|*he+M?>av+GWT$jC3n1{a3owJ$Pzn%lmV=9ae6brjDrcCKPO6t0djr!>e;K~N^UXZDVjc{3o^? +oOppjhU!Dg;$n)v+5-%NgNQoptr@!S&(#lsQfbRuh0&}Nhpq(0N`xLFp}>)kpz+nkq8(06JfDkAAtn_`hf41k51qe +xgA*+|`YFAaIJD#tqb@Z{~wRsd8^>`}GD6QMEc-cxc*CL}SD8taLoQfdmXDJy3k$q4g-G)=2qKujo7~alI?);p} +=2VtO?pek_bp6O)4NLLws%1G#MOTv9LG#eMNY$%SymT*4`+yq2HsymLTDRWlY>7!zw5$=nDXWD7-nUg +HI&D>rPFq!^Ll^b7N$P^N$DR^>i)bi0=P-A2wQwy@VzLRjEC6rL!ULmp$LhBHtempnb<1v{Ta|iPp89SigjV!ir}nP;76D0@oL^(c +)8gKy~SP5)gMeL&vUv`s1IS2Xa_ZF9U)k*WZQpu-mvU{4#jq9ekm|YTUlv +#@IOmynPR3Z~vU48fsZa(BUxdOhF4=B2Jvbj|2;LEWN1Wl7q4!!8#L%pwY?{VlJ-qH#ey(?I}I5fIYX +mr(Jan7(ku=O4oie43N!kt1BqHf%&Li<5S^MZr@zqmc*K#%HKLE-vAt=5FbD8;62^Xvfk3m$ +gNM>%CsvwX9M{)0bF@&@K{Op|N`{%mD|?LcCsQ@FZc`T%D{ZJ)bvwG9i-|>#99FCa;zP2k5Y$#%%pSH +U46mdl@$NMVkd%%cV=Ziw)e`O#{IwwsLEy3$h*?)uO2q8&%=g=@ +6me!q5>}Rhy0ye3T@Rv2?F-g{TbmWU$VE0$rbjfoWj91h4F0LE#94xvPbUQ||ocQRQQy3T|_s3pa4lD +6pJoC(lvW53e&$`10Nu=wZd%wY@S_L6t96+|nyU72r0vEZV#>R3X-SY4|et +E?T`ZRN-!U1Eb9=Llx+C?p`cmvrG!cG*w`x4jF8lFNoF$ZcFWm@XTtkp44VI5c$T7jx6F)?~ +A{#%8m%*7#EDA2-`w-l{oeCF$2PrtB}jkR|1&W|CH@wDn=5hebL9DPRTbn=x*3tU#y%$!g^-f>jXV2} +Y-2v4>Z5#uv;c$ID%e6-tyVnDlwHlD^(efAK!gASpBYkJFC=oy(v+rGHofPyA|+tT +RFI`Vz#utE=B9l>i6STp{#~R0iMu!ZoS5MiEhk&N{dQ(tFoi|6-{bC^JbzgO=R1@=Ie*Dy}5=9h#JPg +_9mrgXUH~Cg^T!9s(2xdV7Vi;&*Oj=r) +YFGjlKCC2U_Sw)6|>F(Ho~xL`u#PX@Wh?RKfoFUD41~pWKfv$MW#begvO=u%5SPUkwcaQtslyod(G)9 +k~I&H?CJL|I>92-bLfVbNE*;gZSuRo1OPmd0Vp_Xc!qmo!t?$Zbn{DfQrv!+p +t4cR6Es<|;q!V%a&F{Yb{qA0W-@SMIVE=FZ{`=K0f9(>H8pRcJ)oy!c$0YW{kP|V|Oqam&t#q4{<0??g&N&7oFxo^f@BGML({ +@q2_YKHk{Ut02x7ii{oRhNrNKAH@ax$*ZtJEn~6?C01@zUwk7*MaD+2NycWK{*6A7RbBRA_(V*$GuZ; +3hmAhlf2GL=lui!rJ>=commtGNp4X`$l+vp0$Bf@gT`g=uqXDo;7~Pvy-f5zvA`hR5tS0zWCQT1kX;D +d@oYi6_NcADL-zK=SYbs&!+KqF8$2t~YIC{M+HEe#wn1EKRt~gqYO|`GoU95b0;`?U%6cc?;5S=et%t25v=Py1OD%|%(tK +FKm|O*um1I7sxVIuxyJaBQij)(omC(axMO3pwg@hF;DHQ5t*~Bc@>XbH%_6i6t@75Yg2Q=^6%CPRO?N +IU@Vr8Ojch)LJ;`SWT#edXBO5Hxn*SNawKX3b_DhuA+e#d9-JbeBhz~?XI>sRBjo_T#G7v!cPWpPFRS +esBu9||$^`7{bXV848iqDlahvQDBEmTENPsXVJC`3uE6PAord~>d#H`D@6yGWaezLmV7Z?! +%M(rx|AGkEY=BM{*j(=EN>i)qBHnhzrYz&+U+>;L9{%Ix|NZ#t&9k?~Rk;=+M}mi`6lgr(Pv>c<#2cu +zlrg1XqGio6M1Q`fyoc}5VX^!Sqj=1v=AIIGJSFjXK{YId=LOd@r?h8{WI_AUdVQo%dK6}*z`5-* +edz1a7;$V0ONwAdG_WD3nx5G1@jbd(3x_o=QngbG*w;2V^d)JIyf$*>l@vLzG+j&f}^iVxY(sTURjs@ +K6qo=S^$GA0&bkQmV<|E92DfD?e(ybhuq9Qw2K2};4T+JZDErzuZ$N)yz?$PLUbfzpgO!0X~bqDjDf5 +_+;)qI6A6%S%EAZ-<8xKPq-qh~1Yl=wVOx>d1@XQ(_A1r2UtnW&{GRTIzUljxmV(&=rXa^LbE2_b5nE +Zo$hAWD*&Tcw$C*Y{o8CG=!OC?iI*kq!ufqn0sSiEe3G$JS24qp`&?VDHj61=}o!?68cc*_L-Eu{Tb& +{@6%VyBp*iUJc9mL&LLpYHV4j9#y76zyqG~x!yv)#5_<6$Goiwf41R4EF68j#1rIM&!i7 +?|jboon6|Xi(vE5_*Xa= +dj@ngk&GV~>S4BIPYVp2Jp0Q}5EyFgLR@VcK$T>>aR$o?5@T95*MJ6ZGgVd$tDSTm*K2SLFRt*bj%iM +t!84*N)1z0fatM3r<)x0WWeDs +rwOte<_H1@`LbRfgbONuyCuZ9_&O>x(kLNj^FAcK+CkeUS|p%VxbO7>E6<}4~jfLS&+X4%-7T`lCm2@ +Xs^0V)axa(^yRlo`zBc$F83D0+ZM;7isB6saD(019op@xa6~?D26{S_5nX!`={FIZW-nooQrH9qJthqVD5SbPFs4xqYu1zRLJf;h;PtqW$jFnh +xqj-6SKKpDdhWqx0n|CJ;;G#8SdO)DtU4)VlVq5&l2FYc_{`}IkR^qp9AXGPhB^%NS!qY(Q|Lf)sdT- +k>H$)*3M^FMr~r^pQEt~0w~nfbTSp})(y_}ds_J5Z6R;w|k7@$Xg&Dm?2g2uE&P6IX)Y#3T%uyVh;bb +c}uPHT?L_luHR7lLGvD|>1XMv(z3DK-LpjaqJD`_h(3J;>ExfVY`N>2i17ZDYu5{M2Hj{Hh}%q3bCQT +vZxl)uj3(G+Yz8yAccV9?Ih69+Q|$!(gH5hAwKVmkz@3?5&C9K_?XBsgQjfxgUX3dY1yPR?AT4VLVt! +2-pziI%5oc37}@o+g>f>>^-3TPiD>g&O{g^Qk1v92hxKqi-CBlgi5_it%|k)*-bp!k}sg1%raTgRdr% +X<|@q+hP#Y&;xU+|>@8S`TGazSa4&>&Hp*6^5nf_QRFX9IYfPj+K#H0JZ6a&}q3o%$raxjOQ +I7ZdfAz(63UDrt6w&tWhbR+fJ#q3M+Ygab4Y(phpdiMfX)qc*J<%v0Ogu=a^d&|pw4R3@RsHwYyhpve +Irqu>6VFJ*h;yeR5mT$3Z7L90OWmjfA4i#7^K%<*L|U>Esqjwbo2C72?nYUc}ET3-Fm( +9T2CCeb8rxqg*Ade&+K=9|3qRzZmn;~ilG3x?ndOY;m#qC1kh +6x~U&IIMR-#BR6QY*)J56oS8CA`3uQmv~Y^` +`TGqn9VJ2^HtrE%FDM^ZS|RmzC?vU6|z*F)>eR+P2TKgf)L}*Lu%pa@!`S2!65slZY^l9ySAWxU)@`P +Hy1diyHJQIXlk$V3RDg3>cm5AhO9KQH0000800WU*Ss3VeKx6{ +|0Qv_204D$d0B~t=FJE?LZe(wAFK~HhZDnqBb1!prd2D5KFJE72ZfSI1UoLQYom5S4<2Dez`&Uf02g_ +JT$Oc6Z0&;M(E*fByEY=B%!Z2i78p(udQXnZ~g<$*JJ0vB=b~Y(c9`wbT(VO?)Fp8oP(5l;NkJ6gN*j +AwN-~KsWBmeP6Nz1r2uxYrk7hFQfNWylStGd;^+S-&tyGOXXy!`Fr>hkJW*tB4`2w%J3fkn2TfR_q#T-hdp+LeQ=${e6AC+3|q2_gx9Z(iZCqpx}XevU;_qEa%N-m2m +e9F2u-%f2T7k%Q5V8+}l`-f^|@lH<1M7C#j&1Kc6FCPE?GGB~FA5xe>!E?)%WV!`ao|8C*KGna2WP2o +zluKQ&$EMlrRnZ7c)7(LF+vD|`f;Ht39TfJs!eT8 +dyJ}f`2QaCIxSBa?wxA8a`PnH*-R`3zVX*#Cc&dafz!huS3jV9dU-o%q1zT;bIQA;L3;{i2c=sUEE9( +RPPLL21BHf`owTEkvx1T0IQb3!}H0<8Pl-8_4I$nG9KKb@nD9n2~0Chr3p6tf+a}Rf%QmOKu9+5)k+tZoV4gte1wEI84jelMb4WN4Td;>GkWRjt%j7Iiff2kG~uTxXsU+@CzeO +%b(nVeDdqL7#*>${WAxY8M-@&(+|ofuUt`$(05$3@s}0Esm9kK1Ro7k~vZZQtrykTS-?0jR)=_lK41E +}%3+m>>VH)BBdEPdbTY>R}BBF(hj)LS?x9M5gEDNVdmc?FydnK{IE~(;b5@`LNV{PHq$Ii7@`lV3t(1 +~B-GP+TXD9AJ6T@6aWAK2mk|-TUmSl>>V2e008g|001Wd003} +la4%nWWo~3|axZXsXKiI}baO9rba`xLb1z?QVQ_G1Zf7oVd5xA`PunmQhVT0;EbXEoL3h7t7qBvh#7e +cIZS1BviJMq;?8qO5Fzvt3ABp2qayl;X>zwy_)5JbW-k}SlMU6GhF=H(%2`3V3QlP9wDwnj;>b*UpsyE;`9~xTM~_-OqjQ3K|0AMYX@ZN{WU{({xV>7TPw3AC*}v&Uh +MSdc8JT`SC)1`aYr?gfDR)TCu&qwd(6k#*PEXG|jFo}`oGW{<6R*hi!W@Cu+(bU;BtjO3asea+gAa%@ +;f*#m2XJ5abgu^ZlHq*&v!a@e2V_qU_Wu)5NQQX$>c{F7nNzhxx +~2)38?&hH5at)dSwC0lu#0SZ>GRvRW6`;OLU-%4Fx=G>MRAmx<>iIl<&}f*cLHrDX+dl{b=@BleE7ih-v^-8ljubrK=C*kb7P!Qca;On4)k3TTMh*FD{<0bba5=?=Jc+}9l(RRRlH +xIQ4j=Hu4maXb1RAo3vN|L8sJjuW^81t)zcTY1=hODr)}0uE_{DLxar`DogaUhd=i299}$9lgX#Q(#> +hUk@3bN?;;cA##8Y29HNM@ZT}znRuFGRgGuJV6yi{RW9h&JV}$lEs@gSh%gMy3Ip#ih5g$r3<)C`mh^ +=b@S3XL<}>=q;gZI_MUPKQXL~^!AGt_piQCrC-nc?{_}JC?ptxZ}(&4q;V_ +pJZnc9^d-;0E_-!A}YtDXzvfc>ELIJKj-gTjz9%D5-BDJbw;cYbs2_V?DWTok~vJ-f2QdNGi{3D1lKK +A~TN!O?^C{NKqxP)h>@6aWAK2mk|-TUmeSUzqCv008R&001Wd003}la4%nWWo~3|axZXsaB^>IWn*+- +Xm4+8b1z?CX>MtBUtcb8d3BJ@PQx$|gztWel`jFQMCAdvzy%J7Q^f%xYZGt5tz#SiMB?q)G%+e7^=*Ho%^x@j#aWx~&n6|~K4!3Usf6hx(l4AGv+-_LH0`n2tWxQ?Lr*EGSe +&a)U&YX>crAodBQJrSl!7~GZrg3UZJ2V96L~v1H2(`Un?K4@x6-rl6|Kdu+QkC(!G#LHAy)Uu>bv*>P +)h>@6aWAK2mk|-TUp&}au{U*004>r001Tc003}la4%nWWo~3|axZXsaB^>IWn*+-Xm4+8b1z?GZ*6d4 +bS`jtO^m?`fG`Y0@B514NkInUP0(K{6E`Sy>sUqb@0}=OE(zo%h>jT%W@wvTA~UT`-x)(OOW8qBtvTF +o4_}ldA*CR&)WO)pFm#iFs+WH+jA!*v5sE~}lr0`UZBqUufzxkt0Z>Z=1QY-O00;mBky}}Y7S+gb3IG +6*E&u=|0001RX>c!Jc4cm4Z*nhid2n)XYGq?|UubV{YjZDOX>D+9E^vA6T5XTpHWL2sU%^X1SPmTFu0 +YYks1KJkxogmC8Z?{hhs8psC2E&hnN&$?9izy9zZsH}NJ;i)yV*Mgh=Il0;&3=G&%971-_=qX@=i-J< +LAspO92QW*B$RD4VPxPP*vf?hJ^sH9G7YOY!my4Cn|a_pVtf>2Fr{NgBdv#piP +nbs}Qo3rP?yggfz{EFq*Sx&2}{Vp3*H)iH0rWqI6U~2m))4Afc$*dr=S;0!OSKP1+4Uov~yCuP)C3*b +#dQa7*UaV#WK6?(b%9@G94bS)UC1E0$1s9j=d1J~a-^~}OLFp#o2YIGNv#TBBGT`dhR*V*IX=Hn3t=p +DS%rr{4)hbDgq(t_4MM3>%G{0t|cq`})XZjr|26zs|Zfd5IMcOfGNn*u9rl4E+bDGcw!#Y~Nv%`;I=AXINfPs%Nf)r%uh^>D#Nx&?W +ln^e~(%{ay^=1Rqi&K`t=~m=Z`u9Y!V%>Als{7ul^i}{P2c}4IxBalHf#!962DnYohSxRP +K_L&u?7dqrz7O^^rEnVo%h1;7U9X|gICk*_uZMV}fsq!9&7_i+)pi1nopgti$YsDP?U0L{OvpMqro8jE@) +23SzZ9pisb~UiIq>yTtQOFmTL!xD)a+VpzzYC-e5LGg_0UsFp66OfvV<7vxu0+o-_qK~{} +n50FO$`8xd;$ABx}@`{^7O5 +RAaXP%4bK#)^ynb8}`3#{YN9_%#eoYN71j^53$DC9x|{hedArI?lNT8cyaK~_%^J7jS=G7>(;H3KylJ +^3*!bu)T{44oTFnw$rVF9)nI7UVDMP`ZzY0T-GVEQDwa2;YB2BKAED)+^u0U>(QA#Z(uOPrEb^e#qOT +W{X@GYOac-gK4{b!4=DmREHk#;}X}Y)>gG;{KP>OSjEp>h4qUMhJxLMR$RaD}p6+s6UzwdOUf}CJYBA8}f^kb1dUIn9oL&0<~AD&JMUAC|-QmJIy2dR~)U1b0El#=Q|B$Ro@i?$i|fa;Nd +m#|5D)TJq`T(Bow=s~VmE3e}$vYp+n4?k&d=&N2YNSH$xdHCihwUK4yKUngNntJ6XWYo6X}CUv)g;qLiB +rz^B3;lQn$1x^Fzd3lNa+K#oZ~y}~y!e#<1-9x`mMAR54#5Xk{sE=I|SfEZ&{Hyf+0q0nvmB;68?@d! +|S2qaDe5qF%kSp0#_!ID60RAa8dW#K!d7N}HTyY|SfPvcaNfFL)V+NqmO02APBCBjXwty``0+?#~O>up5pd1zljLOba&|dj~EXUAb4hrZbX@id@#5#q1zBCv4Y6UT=N~E|o@+;X0WeChFZ}&>pGR40M?+Dqni5`}9_=75@kARR@bN9oCl)%YU +XjtQILpo2)oQqK4~%o2=vU@;UWcr$X_8TdiT@{`{M+AzD9a-_e+ +F&X@v#1^J288G;$hn`yTpTbUsI^LW0zxv{8TN@*tGWhZ7K6eHgq>!K6MgwTu&vzyIA$45eLc#0Wui5M +}UOp4+I6t%TIXrL8p4e-IricZ$M&qJxjJ1k09N58q`4E? +u{^DdmZRxIXCI*Vj+&)Q>V!l}7{VXQT`s+npHowAyn*KT=-UAKJlHwInr>U!)P8s)Le4648dD?T6@v+ +vB{>TYOG9tv!x#PF&;cZmnBv~vX6q@2F{$NvhC!G}D^<0nh$Fygon +-!z9Fg?fLJYA3VV0eMWX+439qh_#J^>;^)+aSD++RydVvJUU_1%Z}e;&!OzUAL5M;G4R1;Jx*SrBwU=qX`PPGv#y3{s?vP6s%10!y=vi33V)7Gq9z;D$#A&SMXvu7DH3De +C%&EJA*)0u1hhsX_+V^C!(0n7Gd)O4W9176ZPL;oQSSmqCH1$VofXG>tJ^aqW%dyM)3yRXdByUKpdP9 +1Ya7_qsDx6@y;^qr$UlBA*psQsT5h@8GrQP!m6PPY`&jp~=%oTGsC#&wG3;AyHJj?B%}Q#y2(1X}%F% +0oGpkW9@6aWAK2mk|-TUq4vG{hnc006H +l001@s003}la4%nWWo~3|axZXsaB^>IWn*+-Xm4+8b1z?MZeMV6Z)0V1b1z?MZeMV6Z)0V1b1ras-CB +EZ+sG0BU!P*3!+}&PGnW*_6>e3)N#w>z;smaPL#w#FmAJAtrnoGZl&lN#-EU@JTvC)Q$8Jzm2x2~FXJ +%)9^VnVX`~AxWmjwT1D{;dT_)92})if`}j7dpKL1r{fNx5KTTJba?Q#!k0Swa><+{mccJ1Ysh&DpG!$ +Gs!+QY@Dg-ljZbgcjHGSP{kk~(J<4ghkR+5Wrv)uxW@}z9h>($b!SVqp;HmSJXL(gdpQXr +9gCp{#f3rsY`^V%<6h&XZ_IejgR;iw*KT=es9co4vtgMPGUeOdr#eWet$w*| +9Ta#58$b$1&#qAci)p)-2(LM+L3DyGD|!fX9hKS;TIrT@fBkyI(uG)AN>-|6!MCLqYh? +AmHF99R7g6HLsptFB9L)Qh(b5_V-kunn{`HkmClFq^NQjj$RW;~mvRlesjVPx?Nwv&1+Z6WgJ5&q%bcBn?bD>zKPrmGV-w1((Wt+Q1fKJW}YG@wcwaNIxQj7&}-J#$UFvp%$3vTHKd +exTuLzYepRT-KB&b~lPj#PF*PxTPayABTx1QED?n>Fh#bA695kopp2Ni4wL +ux?6$+^{0VW~FoX(q&W+1_eVpGrYlF3rf(1vCzW-ie|2;+RN`HE%r=*Z5?as~}d^hcQ}mNP0@Xdlq2# +J^69fu4qAcF5RTZ#~%H-;&LsScohy*qq;nlaA?L4ajIz-x?#usu0BnVqtBQQx48m)dym0yJXqf|3FR> +taL|Z!D^&hDV(XQr{Dn92~zVM)2`N7jW;7=l{J+Wn66~eH7moQqZ$Qz`rs~qY>gdu3lXQDL4sRKVCvI +FGEaFK`nAge$|yED{^<%vwfOWD9m^X^PJ*t|8eAz_s0*=9W$}v2wC^*X<6IX?5#F2Is#R)BnBQq6ttAl9sx|!vMlO~s +Teflar)VY7GyE>4j5?8D7<9Si?0h!j-ioqsUkzD)C)z8~aRkL1Z>TxRms|+uZ?E>!cxh$-l4=TOYOI=^~|Ff*fRTHv$56dJD3@&G~^8yFCm>Iw4 +_@=cFY`wtJ`Yf=QD-!0-csv$F||x@{04wU2?TIpr)h@7m}D+EK|%tica6NP7&0-pJFB&7W)b|gL(yq@cmz6??jMQwh&uawSnS$g=R_WuV|%?{UXRCb)mrW{es +^;5W_$rAwM)E{w-@7+SN}Ax6=`5Q{RH}NSOv|6S^-IAq~Cb%MSKE5%jdd_kC6Nb$zdUqCai!UQ~BH0) +qnB)6!^F;hDNjPucVBe2%UjzfY9r*moTJY5iIj&i?9eL|9<-E)72l2%->J75>JEnf(?Ra*@A1`t=FU+ +ck<+x#j#mew+iBJODXK1i;k(!MU^FbE->}J&Bk}2(8;{BFl_nR`DBdC(3#%rvjg=y()htFvrcVJM9ag +AtYZT|5lq!dFSjbHV0#*Yf@CvaDyiT|z5S%OAPopwd!u%{2RD>EVZDvv0q)yQ{RM4~`+iXWFGU53eMy +TObOg6m25qV|sduGziu3J1sC6~UhnAJvyu}IDO1PN8D$x!gB(3p?cM;R>0%s@)j=Hp2vgH&Smyu)F=r +P>W$xl~yq5m`(z?}sh_$`5wf&0@NRdmXo?M#iMmkVaVVdK|uP#A%pxGL6(Bq%#w47_7C%>zctrRYz?}VYTyWy7apVR0I%g9Jc(dLFlZ>|czEaqbAsniRpQVF +*M`QG-V+nFosFq#@ZCeh+q!3n4%z*rjJli2_S*0b12F&C97wDhx@Qlwn?$WRYU2#zr5eZsFE%=3 +}sXqSm+T>`5W~M(M-vZ#%4S`3sOdrus?Ha>=6Rx4QuSMO4g})WwT-f7TBvrfB?VS>nD9`3D0&sV(83l +S5y{C=3e=X)Z+aU}wUFKSuPvjfIVKD+Af{axzC{`QS`=XL2ar^O-p`&}b_~7QMYxX{*+#=|4QRNmv9lJx1hbzbSaiR5qbMf|s-{+`J9$W{OTEs(ooPg7zy@c+AGtfu#0-pbVH$MLIbx!lxke#aT|xxiD@Ye0^uplN0+h%k+2 +48nSU3e92J{#}$GGj{;;K4%b_JJ_EJTtStrKqpm_=_cLUR0)!#i`ioy?bnG?BTM~%&^lyKiB(K=D*P6 +x82>d>&VlOr*s;f6?rq+8kiU{YdT55n>=xEQ{d2|=x%UGzb0p_~ZD +F}ip6SftQTuP7*C&K-u=>s>BeiS0l=_(6WMZw8&oTK?_Q{Vmi&`DCw4kXB2NU=Hs#oi)K1Ne}A?~9iw +f^uF20+)JtOfQ!9B*Qw#(oK^8n(f)-Wr8b^~Y)O5L=wD+d*jAOnmAq^Sw&=L3f$y1zPTJqz-X%} +@%X|T~PoN=*9Vm_9Iu4+0dEYGIXz!yu%VBV=Y6Laf~1Q1aXWxA&vt*8J! +?{zXMQ90|XQR000O81Cd)<3M16xX9oZP!4m)gAOHXWaA|NaUv_0~WN&gWa%FLKWpi|MFJE72ZfSI1Uo +LQYwODO$+c*;bu3s^$e6S3tO6(NfgV6-&wdu8c-Lyz@+Yd#dr6tDZRu;7+m8^Hs`|bOXA|=^z_Ikiwk +i^n(hMalkg)=@PqCAg|h>r7oif8vr-T$2OWBY;SV@mLpJfY;+{XQYfjn#Z=g~QKr6vc5IUGZOAu8pQQ +H#Z;XomeWSw$Z;2{X_$^(8TIar0PUcx>v#&UX!Tl!`7^2ozksTv~D+GU2;*cbQb-cX;IKWE^esRY{eH +*1Xa$@&q-_=sSGK9LLe(T>uK4Fn`E*!rqPSzG^2{us}>4PtokY|WDQe{mAg?bkD@Hg2*!MPe|>gs^zKIus4uVw;gt${KPR9%Le +qkPW^snj8hF_!TX3a^OHCLU_HykLIz)*40ZDT#hOL{_@bNacrjy2-vj9#}@MWrm-4FF|E$U3s<8+sn> +?gbQQB@O|z&V)SAqG(abW~;<%Z5EUiQ}}ZBJuSENPhQv1fv&hPzh}{+5(Td{U(kz&70`8_oup2icW+- +_TwY(eNZd%MTXMrhg-Eo)ANi=eXR5aG8AZ2BZm1DWmf!KZgplWGRfRx5^$Z#Rt>BHdMF)nE8n1W*L0% +WzkKLwGRIHiO+~hU9!Yc7QSJ+%>NFx?5Wz8K26x%09QOR!!_7q`ooi +3br_qM>9dz4H!I4g;>*aaCet@(gNFZbOUeTqwd7k?%?qMx`Dx7)ykJgX-LDTS1*DujqbZzW9TatQp_6 +0syUT&KN^tg9_j#G(px@fS{Fnr6?kSr_EumMUKF12LtuGny|#ct0?SHP$;xd;*)i1}`nV{oyuFcA)M~ ++pu4xN(rUHeqgm&KLpI~R?A=6f?oe^Hv0=Xo4#&kns(22**`m;sn;!Nb$&*(Y(C3oV@J3h+)@CfqX2= +~fIwijM_A_hY}fFIaq<`j;&wmEhEopPxyL>Vs85U2&;LRA8$s%9*-s!CdYYYN^OT;`Gd!H^@<7omWApMD+${UrpA;`deAS3SAA2PJ=eogy^0 +R4@yvuH=0w@9Qki?5)pC(r@^f%{{|(|7@Mvhs3|7k6&u2o>8bE-316Imw`*b^#_Vb?~Fq?+J4E-@}O> +>|5w*r)LG^|l)P|J4Z3qvI&ztho?X*>HR4cv9p2WMP6hXVd?2qJpN)EZ<855BvQcvs4?BBBzdP))|B3 +w$gTBjq+>fb83(kCj=6wUij3i#OWyOOg6F3vM_maWa)~nZ-Z-ZSBLx`hgBV6!x2_3^Y&?DhFofL$@3! +#bD)udp(|(`M0IHsW+y$6F&_mww|jIH&@BX~-!4=-R +2%4o)UvIfTN@fblmV`4R%NZRjbaz3q0RgF_VU&HkJll)ZGrQoQ3YTEiTTzExJXN4TM@&)dI4};Thwj& +i2A(GORuHWUGZ~P77XU4DQr1?+rp?M`$r=e-p-v&c*_{-qNS +CrF-paNvu#B^<^B(T|D)!3a~0Ug4hMWhlYX)LVh6HfUe+3T;eklPaY(hS!v2=TYA(;RAC# +{SU)2iO64;bVa*8LfMOJN^$1M9gL(_HH@8rR*so#Nd?U>m;M=~> +-N6#4M9-x9sUBhn<#Yqo)Frx`0tAF9bHY?GV>{U +oLQYWsgm3!!Qhn@A(xXJ#3e_o^$9J3^sNt>{3Q|Dk0;Te#MToTCt +xgy03rdxoiib*CoM(o?@#x~VR+{9?Blr70MXOvSdil*_(_t-S>2&Ki(fX=%z${jjk)##Pc*<2mGG#Zx +c^$NDe!ZHk8JCfL7`^-r1NB1zFpBE8}yz>$}BOFmCv0rH2-%dvA_>%k)RNoy%`b}BQXdOi!;z^s)SJW +E4gf~?Fr@WXraCN#q;L|=+HbKPLT>^V0P`lF?pGPhvR*cYO2{Rt7+DV_ym-7f$*9706Hf#c0uzT3NQ% +di)^@2iH%HkJLO9KQH0000800WU*S;#2N>4yRU0M`Wo04D$d0B~t=FJE?LZe(wAFLGsZb!BsOb1z?MZ +ggdGZeeU+b#!TLb1rasja12Q+b|Hl^D72I4{~AX(4&AH+*)l7G;Lrz1&TOUXlWd=l}MFK9HGm%cc{fl +96P8El1RSyW@iutOyf_7#+oP<(xR5UOq~^_VSk@Ij9qATCvr64kA-bu>ttqyk_K$SEpUyH(aKer!=P0 +*uxVi4+hDswWCi3{qs&1`z({S>(FyuuIX__k2b +mU^FBo4fuGT&E_xc6)G273$>=A7?oh-l17dCP`|)7|^q6ESeZj7 +#+75D(_K*4~6|)7rO$f!@Z2ejLdS~M6fIbnKOR +G3``d9W;1ZIb;_!e28vARoiG>;(X?N&1!06VmdgzHDR?v|ef0iO&QcjVOuLDt!Q;nK>nnzX|I~LL(q+ +XX`yx0gJT4U`ZId0kz8VinpCS!@B_w)Zd;Govl5PjOS1hLx`k=FdYn~CuM4i#Nrj5!|U{H?_g{&eTW< +Mf0cZTi>902?1d;z4gaM9R;%J>FuhI77pJbQHfpqOW%JAU9*jpZTt)QESBo60Mn>h@J9 +^3=^6fU*ve8c+;YYUg1yGhGRv{pJkq`c=;F7^*lO9KQH0000800WU*Sy+yG%&i�M}~(03ZMW0B~t= +FJE?LZe(wAFLGsZb!BsOb1z|JVQ_S1a&soVQuN-WBvky%lTW~D?^$)etrRU=Gycq|+7RznrrTEU}Iq-vQJ>OdB$SVM1wfRGBcXtJ`XlY;@w^50(X@1?vs(_#M!NIaB*J6`xlG(K?(y~gnRi0<_Z +xZ!!p*A$8(4CI+vR3JvvdmAas;tK1nCEq#tyQ^g=;3|f{cwK%hB^sZi<$j(9}uU-wal~h2PIR*V1g(2 +0W~}j@OfD-BtHI=%(se{NzZ?hAK$8`+If#&sheZFG2ZhxRoRpagQSDeeI@~YKkgh(+|T;}c?)az_hbx +DfcA=7-5b=|*-JMY^P?ZY254g~3wa5fVO9i>e&R=CvBCAsu=@P90nS(IzwV$%kifIz5#JI +4Y*(h6+D@+wnyb6}84E}EHsJZs9?&(Z+xBk)d=4H=oA1&kCtBC34%_GR$!Y_U>n89cI092xU(k3h|Xk +hKh@S?)G~3Fd<`|H83Jr=nYqD$gB3m@NE$&_mB`;3CKYI7_e0F>^`|jPV7cWm{ +Z;sA?;F%a4|B`JsDxIOUt@+KRYIq|JIlITISd=MjAir7>26eAZr8YoLvl`K*X4!I9D3z*|-_|OJZI}_ +8@DqRw8ljSxI25Ae05CP7SG@#^1XyMB1l57#NpU +X`GaJ-i!bTjwoJOK)NGR9?c4!ybc-(82(~bW4fhXiu*MAHnWc*>X3_wPvb^7V%xgIqarp9%j_J>G +_-?n6b&Z=Zw>e4vV?B48IgBiBR;mzhcFn3RbSE%SR0VTyP~g|aLl9rv40_*WAoS4gK`gO7l78MMbV;EiVdJdXL{I3Av0RJL*-C&VtssNy>LLi3lwwqkNhqhzv@S&@pr`&LGr`O +>9NIZTn215-D#SO#K4~~l62m7P*?P$RJuqt7_uqwH(0V%(JvLnx!?YxJm7*dNPz!|(V3S+1rqfFqfXM +qDv;(iIg18TbgJ|F2JtERg#zB$m_{{lCD4fd)47QRtpC9jo0)3sie+dM_1R+QVSgQzqBFnCMQQtRv&B +{r%8`2ZMRK&Jxm4}fHq3Tt?`cfp|qgsyCwYUsTji-9wnXBvZpF<_4uxRUkEhZRy|JW2v%3sqzp8Sn}awQ9G|>JdG=rLPT!uq7_g{XYIeXuNE|w;9ru0 +p`qc^dQ+d$yyxRKP+P7E-+auWb0nR?aVBKhN<7S{YaPt>x$WtJe^z;q1K^$r4C&}tGt8`PZRWy%Z;OurhD;UUQHYD4<5P3%M%%cOx;Kif8*~kMme&x#C&5p6 +{Q0=b=afF8WoT(qHn+j{W)Ld+ +EsA}qQ|+8}wc6EQ5wO_KRY{CTB-4l5!~dP`)f$EJ8r7a)zN0MZXY=y}OJa3iyZEMKyRRCTRK0L%n5oy +tbSgrTJpm)SK=e7hN=-z&uu1SV_{I^tqdspaHisI{9JejLDp$*1PcNPMfm)qoL_BivKWI&2zFw&ScwHvaK?D6N-*AUG;efFe_l$yg3wV3e*c5&*_AZchy)Wg?JT0A~xppjy|-9mm +mf3&V9m;>`lTvVCG*F;wdh_fB^ZR*$Hq!)1->OlHUMQ5Wn +FME5w#=1!yjijMlI$P*5NgfQd)J0RX0!~D1^&vyvg#Mz3_Sq%4>%^&Td?aa2rn+o$-{!xB3fk8p8mxQ +^fjgu$4gHwO+NM71Rn|h?j+2v0cxhW4Sb_@}j`hg;y^@cO?!hfTuu +VD|tX^qygKjHtOAoPI5oM3%I$ot9x|04#L1-hk8xvO@KOct*;{u4Tatu#}+2Q}N=}8HmsFYP$ig$x&@ +*w|bLDYsf>35p!cvC@p1;^MJw!`t8K<5~H1X10%75+4TX2!i;o1}|kYF>3qy^XF!w2LIk0G{dYLszk$&0v)GPC$Af2cC5YYh7lS{*zgoU*ngW{o)sdL;d(ehandl +W}!RfjW}(`v|3H|_)M4#p +TWS5F>(T0{y3ns7t%NR9_XF+QdN|Dl_Hnxc?!1nwjf-MwHW5O<|bQQfdw`9jpsg+>7_OM# +^43~DoivIdT_}JnPS6Ho77|cQol9@M%y2AOhlyP4pKC9(I!0$&LfllF?qVdP%ZeeSP_pN`Cc-O6_~N7 +FkB{c0D@a)Y$Gok>p72{jR(zE+K42oZ?xjToCDQNxdpWIVU{V(3YBNZ)`*ilA2*oxW~&u!QVN3C+c~L +QZBaV&Uz>xTvJ&6!)n(5wVsH1$jX@9C*RTaWaN1z_jwBJ`q5!k4QYtjez}Ax2U?7DI<69oQ!xM3WNep +qNb~j}OMq+ijMN^#$B2t`DW;dKBg*z?mR(piuGdL~+8pCc8n{eWZI2dan_VWXVknSq4?;xtXq_i)4ra +tY4{0f^yua-|$7iW8*HS4uskau%~4YXC@H`LpHSpR;1zl>(JR^R8?f+`5ej*1^Ayh?AmorptYE0`GWQL-EU>4=3ueN^q2^oL=x+PxZq|N9?4-P4K0D +G4+k!yp0v?0y34LdO^)Uk>Ff<)U@oezJnT*$Gl)Z?Rh50N8$5x&#fhKU;+pIzNg?KF_Cru+`G1v +nz2E2r(in42_~59o!qt0HVeQxRd>Jq_D+W3+RKTj57Y$(C(Mrc|iS4neDqHQ#|DB4(hZS +*URYg70I1nD~QPb+AArZ9>er^Vei~>PPm#dxC*(8DcVKU|#EgZ*1-QCxk}BMj;b7Y=AOB&n&sFXQ;G^v*1=dwJ!W{n~# +`Ut*UhJ#uK!`(`e(sAPf1E#N95!|3SarEp#tQA&FjE;tvyNYTmMweqk;`hDwk2j%xeL-3Ni3UhVF#QX +<(#-+js%)2YZM4}6&%{Oz}R2W2{7_#eb++k2@brP#k#XV1TvBE(YUI$!txxdjU&*u9@;^!OMlT +A{a09O>akHt#XeP*ntT*Y0vQ2hFzSCKa$`*~qtMr}_R-;i1*OAoNUw&6zgioSkE$gtwQ$iBAPj(gMzApGZv%&45-bcu@VQr&{c#bg|;N_4`An*Avu4Ff5T2y-DMk{O`8b5&eIuV-QS*!PxsL=B3 +bggFzGlAi0Kb9X_TBR5`iQ#x%3R$W2_zRaqcq(4r84l;NGA@o(TK92(6OP5$jyCN$V`IhW(eK11UQx9 +BSi03wOumGA7mo=#eTip!6y_1C2oUl{sDRX8MtoI;br|CD2lIxx)jt+%qRpK7an!L6UdrV6IbVIL!X- ++Z7uJl5f@-`MT;t{#hr~`+FFY?!opKhUb`RiXPsnRQB@8P)XAO_dc*KLO1FOt8i6b&V3i?F{ifGjKmBTX*jc>xB)9qW9nvz1=sP*3 +aqv+KljwyOE}bcm-V{5Z+jiHIpmEoZB>3m>-@Sb~R92!*_5Ti_skrFK+f$Cc`u00iPqFDt9o-Gbbu>X31 +^Q>UITaT)aRPR2`T=lCl*Ix~&&B(UC8hL%i%qkNT)~+Ag4sXWeyflhUX9l(;GRNAKbW6^^Xq9F1M6Q@ +Fq7+}p+h4%MgMwL16Nze8`oIC=B-Sr_Yjao+ZybwR#ULf=D|y6fCIw8w`JoDhyjV0n^tdYThG=(uNU}T_TRzL-#ktBfSoo9C%W +kCs}8gm2tEpiWFLw)=G5&qNnA?C?_Y=#z{iibjVWI4fs^Q*`>jgOPJh3O>N +}YGBCAmrlg5z6j?bck$kQi69Mt1&RZ*CIY+{Af%{cF-xEQw@;m8GM=z`K;$5Pr?VF=h77pVNxls&F_j +13^n%EKI$+V@upC!DruA93O8UjxhH%)5J`?V=lo4{-TH!dcu{iDP$8oRN?OKRAJa>*@h1!SnI@NXCw_{!@3H@LF +FngvHK<KTJbXQ*sUl*@=qzHx^^{@Y +Y*UN=87C}&g~KQnXX8_z8Keg!y-r^>>+>n^B$Bl^&~iuT=VZF-v!f&@?ZGJ2DxtEfB>hlhjFgsz#Qa! +Ne%fc(;~b#cI#gTr5`+7yE_o8iO5hoet}R#v|o<)*$UT4EHJV3fH#`NEsF+8V%S@==({G__?6En(Jis +~*rICjL=2oAL{`P|Vc>UQ~=zuHyPx@`P0b9#yxHU}02&I`&$nbZ?(!CZ|I5-xi3 +3ONTIy`2P3UnI1y&Y#4s2Orf|&{m3VS(&R=ME1@Kpt}KobMgw!jEPK4xy2%km +z-e)a0)_}nRTQpx|swCJ5SLvf_{isi9ep^g~r^MP^0I|<2EdwFM>?|0rR5bL^UE9T0BydRK#`uGT-lv +VZ%Ie>gkTzFURFrGjxZZ*)~ue9hHVSk&_(`wR9PbhL@evSCXG$1MIHzofE`0kWEDYb%dK&%)L +Vo7Lz$JHwrgsFEhdl*m`#z|=H^sGWWeE&QwSjcl9-V5ay_=)gru#J-TEYteUTLX)PQ(XaZ;r$oG=YpB +F9n9azxB&75o9AWte(hX!3i)T_Ey28vzc6)ve3<55M-5bMf-z#f($VX#4BIP?haX|8xt*|4|Rv6W^M> +t_Aw7z-*8MfT0BE~%z0U8OA@XwAD=v6+o7t;G5r1Ggx@^KS$K)OZjaYHaXs0viuPtki!MSw)Y9ilW~U +psvp@J!nqea*O_{q6a@(P)zmzy{E4=Qw_sE`(X|pjYzmxRhM{o$tPwtXtqzv>w$v5 +MAD%;LP|F$9y&3ZyfH`yn;S>XO(};rnr8ZJbT7>M}x^$B|URA;BTK{4*} +nSd|Q7+sMq%S9N6AI^uqP`p@WMpipSnxBpTh$W?!;7AYSR>AtkFkGm#D2vd`Hkzj<5lsd4njf%Y(lZT +LCkgnx*sca)&j9meT8VoQ*sSb$f#We;FlyOz&B{U11?Y!|NGWqT5u0BPbaX@exF9qeHpDq1?W +*+`;BQt{kj`|Uf2q~s_`lN9SNMe7Hfk;rrVzH?!^-EK$YuN4|=MxvCRKd*f{o!Lqn$W>Zp2r@4-%(1W +r>XsN>sVga=Ee*^pgSXJo|PB<{Nm0MS*rj+ogR!>O`4LurL_Gekqa_?hL^o!pZT$%>Bcy1B%*?3MB?CJPt#TN#1xi~wV2o6S>2x|NE+ClS&q<9+hfwKk2v43|u7zHjLDT{Ikdy;DVR +e;|#iB?_NRiSCq9hZ>L~(Ejo`=O=OiuC9s1#b{;H5|5*BQ!DC~$pKL=0;F4ikz)9RE0(#qp39XXmryv +(u^n<7l#f=vU`w)3D+EqF(IJ4vu(98shkHax$4sVlw8ME#zSY7q3qqV@2zr`!)oSDlJ7&WCJ*qiCgN; +5Hd*tPz$gXA#K=z`Nq=1Dia~5$lo1Mdv-`1#EOUjuCg(pf~O1v +$cgLdHFy%hSU2aglYF~861IPMi9$6mBW=c!j@;+T#xd4F$hak%~w#{-|`Rc0lrvVcXRQl=2SS0WuXAj +k3c9LY>X0du63-SLm;eZR*$oRXnaLKX}-cfPxK%Mf~rDlC<C#MR`o7%(;Lunse>+!w$juOxBVbk{JdW6)zd^c!1RisnH% +eEeqg#VVu?}I2_fFw+p7n+`oOg}^ayshlImHmNBO|EuBNsToxmxm*XYc-k>ca{MFbCKkqzy_R +C&9`gv2nffpMBwl1?h?t?wTkPyfnF2oJ0Bc`G+Pc%1Xa=}hAWiVwtE21a{apFqJ6o}ET@EDa`B9TRvx +TPKq3p5ii9s9{RRp|tO657>dVyIDhEsSYO(+*enj5;^CLM~|Bq;Yt|N-p_;;^Z(MH`mAOS$H({i~fMC +Uw9fdEcX!C&qwW%dH34nyxX3h!-!2G@4FX%fZRP*1>TymHAQ+FrfPz(2DLp#f3~CRn@Q3uP>LB^d~k^I|9$vhj4}Ue7=3tdj|6`K +P)h>@6aWAK2mk|-TUoN+jhlK4007D-000~S003}la4%nWWo~3|axZdaadl;LbaO9Zb#!PhaCz+-Yj4{ +)^1FWpPx%mgYb%eoX<^h@WZUdEXqy&E7S}^j2((4pY-CX-sW{mn_uFrV4~dfPIK9PT4~KJrL>A}8d2^ +U3iaL^gFPYLRrlp>D{uzEcoy$2_WFgWrV`L(7O?j?}o-=~LEZ2NOH5WOV(>%?XRAee7IrkJh5zz1OMI +odH5H-*E*nbtuKS}1F^jtEU@_bgk;EQT;No5X8sxy^hLB>?Eqi4jejgOwOd?HfTv8!>ybIoKBnN@7S)#N=J{Ec+76sK6F(7T1`vm^>Nhz~}O2sN@am86hlig@ZCpvMj6X5ZUN(bBEZipl)2jDsE +lgUo!^~bZzle5d@@*kg0l3zcbe@K2me}8iJ`s16EH)KR2S`?Yn@!ri~xm*rF!HWS%WcQm!O%fk|e}8$ +Jd^$eAMC?VGX%1ZVp213~reKdw%BCcNUGhnSW<*_dONHuMus%qs)KbW_H|!AjfCr(mO8lM*~ckfPLpFy^y?$acYZ77K6}0An-MF=s;}DCKNV73MLA0Rw@}dR(1^yoE{w?9Ak0?UYIIk9fps2#`UekN6!c0!9z*LuNVO&6%!LcOP*yQAPBS&*RTPg^)%jxAA`!L +Bp2X)3Svvse8K`_)V}DuXNz|leWh9?622x= +7Uo#V=jEM0!Hqqo(l)Kl=c#Nggz5AQI@1fFKq^R>30!kX+YLLm103;-sGb+in1V3YlO|Jz{+cXL(#u; +0vIEvAosjl?Y>o*`FUf4{?+tC{aeqy8N?^b6uV6S@eR3Ku)Na%GoSjPv*pRiszzc{ +0vM6;&5|g8@0oQ&1Je7tP>nWxKUe1tbE41@`xkvCXdCCdV#F|aRWWfzJQCV+Gf^>J +XxtxwF^~Mt~-u~QT$Etyt^)O_j)m+7G0|z$4r_m?s-BPm}G!pk~uJERkr`dxRY5k37LX-A`(_HFfe3s +V=TzaOoEgI3td$OOle6bfRiL$#j*R|?cYdV2UZUBRN74$0L!RXX85Wb2o=kRfBBRuE2+Q`Ndi5~=s*LYGBV2x{p?AZ5;nE( ++Rnse66vSv#8()hMUk`b9Puowi5A=xL9UyJ%+iM*XW*T}j`!mq6-@ihqGV0Ss&wmVF;2!JdN$m5(Uw% +wHaVw^}w{)aJi^cB?H?sFR2={I-UYs(`WZud!wn_J^{4JX{>dj@=s@6ktj-eY!aI1K)ydw#=bAmgKA& +4T`y2b%}jA@3L~AaO$(!YWrVIk2Y>D8rz8SP_!WS`-rtl30*YeO`&pn{MFlW-~z5qZm$RZ^1rxplT^B +s!k4N&^XQbA5gKsVHy-rX#(jgRM(ckp~?j2s(28kNGuB2t=~tCV6d4>S+Z@Q;1@c{jZ9FpqHW*?5)MX +XjtusG+SW5vVNmqA_EZB$LK9jIfhmmtlA4=E~ATaO5r%GR0-+Bn%@mMlsN#}^ +E!kewGA~MSu=LcvQYMrpOX&z=hfGPi<66sXxM2;i|)5bpBv3|Z(2d>I0U`sO}ohqKR2-9o2tbGii4Md +0sP11cQ=NKfjRJnVsc{@;FH%nyLmwa?XN1};_dOeO{zKl>oy6@4<5ZsFX^^j4i29mZP+QS{H2=({y(x +^FYeYIKR-C!uwz*HOLq+Xe`LpA+#2W|&e?2AAgWK&VU5zAMtACdc$eNsJxmFP|%+k2@j#y!LynoZmv5hB}ZfN+>H}{eN7IJ4v +xrj&L?xwi72zwhyo`rwkX^@%Wy+Vql#&4zC((O_M%V$)jIH#x6R!flqVxHjefps!rcd@^7w!t$X%na1 +I3#P34a^y+ON>|cNO+PpooJ9D%jQzsz%Ny +*EBQL*sE^)`m0!d)21he2?3A5ZXicMCD0;!@H)6^ri6zyuTD4>gjxYQ*}N;la_ +@&}f^hZ>Z?DTYwJX75I-~34bl``>5>^8hfsGe5=An>bo~xpwdT+csk%?_rZ2edNo}ej`rc8WI6`-1hE +NAu_`hSeN?~QxEqpV)2RmxoFCL850RK-yhTn=vG;&W+C*h8{TqqjpY-`nE5J1)E$Vr-zZ(DZJQiQdb0XmK*Cys__s +7l`^u+6@mz#$l$Bn;6_7$@^dwVBIZ|Eaj3-v>$@>$xlDw{mV=>k7VaeF-@8$J(I+k#H$}qM#bUr4Ynp +@t|}(mGjZ!Ad9WfctZoyvdcLGrOa+q>?^Fax5iRk0(b{Ez>g}8C!x*@KT5CVK?L_%(f1kV>fs%2yQK +|%km%Jj+_xJw|Rfh=moGReBVMyS1x!RTOkaM==xlJ}x4#^F`xtUnOTO3|NVir@gJQk_B2VCO4V2cXJd +uemui5HTNo>NaNO~(E;(u);iSL0i6x$djf-v7 +`YUqygLZn-HWXf|gXqj$uY-!a(g{UC-f2c>Y6Od?zny(NKY4w8anjqy&&`KcuF<=|DOTmU8v$Xv*}ly +Hqk~@SJg`Gvga6~XAOD>JucT2OlG$4{b9*NFjOV}!0CLC-;1ewhIK<6Bn*=YYbGGybw{B26Itpi#;CO +8}aD3ZuGXcGPQw4=&g)zSOoQWuITQKYY`=E=cv47dGNtj2vT;&tvFDjYGX;Nq@(X2f%bT_tJH(Xme&> +2d8*k-=Kai#&)6g81XA+>2@j5;H1kaJro@tos0_co?QfzWaVz#DL6WazBRH;H_(yV;zxn)zzWbRUv*H +31HX(q=#$l!2xw>xa$Z%nMTg64E)nh6)3oiT{LP3NysZ6)%jxg7jN5>ZViAgBLIxeL+@smvQ3^tJ{aj +jT2yLbE#%o7VMVYOjx1Gv4%Q2E;Tb3jP3M)YHzkD81<0nn|B@1ZsKjYiRILmWM2oww4DsFTa^s|TctX +4o0>pPT^X4F1+f<%eJnC~>_DUznPv@gm8YU>w&^bmxZYI+TOKW1M9x;y&EtmW7yvVf5%3_qf$c`VO^D +oWQQhJ6ei+GjSiK($p9kaT{}-k0i_(7qP)h>@6aWAK2mk|-TUng`zyVnS002J%0012T003}la4%nWWo +~3|axZdaadl;LbaO9bWpZ?LE^v8mkikyFFbsz8c?wf5n>2NIBo5QyfP`QgyCD>1t-D&ZPH_@o7sNyGg +ggmpnh7D{Q)<;u;wmauD45XdRZ-4QG!e1Co=#Q1K+_UR*!!eFXrbHGxmn+A?HfQi#nllTD +JY`Xv~59IC(Drfz2V5JRm@CcxkvVk1g#81)fzrvS{@@1(=^w>+h{zSgSRh5ZFdw+MW*Vo%!0c<@`T;s|tb)g_uy2C(2sb7(6E9 +L1P8Je6Fb`Gciqw&deYK)a_f7y@!OFSh(t=aUbHC$dsS=}3At&52^2(h2#1#|TSP)h>@6aWAK2mk|-T +UjoM^Z=m(007Me0015U003}la4%nWWo~3|axZdaadl;LbaO9bZ*6d4bS`jtbyQ7n+b|5h>sJujVF{2K +Lvt$-?9gsNx3wM60XqzXA=^x%RFPDQO5@9Z`)E6M;sq4~gddNO6iIn9nJB`Sgpp%b`d!eh{*I4QKQ|` +A&R5AI1j4=XDcTw~+Eo@SFuUN1p^G+!v4(3fF$$?FkY5oU{HS^39bAFL^vWWGI|jm?HZH=-6BN39e$` +Y(H6}}rjRoEyI6N@y^j5%oq-ea$)I{!}jzz>eD)kONTpqFBY&7YTk>C~?OP1(2uu4_9f}AjVyT`ngz` +W{Xrn74WawP8;BiD&3G`Xb{<&a7@uS`G9ruHCYTvZ*kT!mfqT~>#-+3Be=k1x+r_xjkZ=77UyuULy&8TkhrlN^)7 +nD98T}ZKO5X?0v(Tv?9d69b+)0DdruK<=QqB$J~0XV-Q(qJ5W{y|>#~Ns78)-REmtBdd9$FY8BNDJZM +XF$$%yACF%LGyPEYR4c~s8bWaVLzUJoj|W;%nq^~McKn|jbE`9 +NpfKcRSg+&eyW$O`mgXVs8|5ofmb`Fc!Jc4cm +4Z*nhkWpQ<7b98erV{dP3X=QURaCzN4YmeK=k>BT6bZ8hOZDeke`*N8;$n9<(>$`Q3IoPoq4TN- +*OlIbQ#77X8SzpCo$7ay8&b^{zDU_BDMySm=5Zf=q!7fSx4m%7tw-Zb~6)EECd_*`6k(;V8YD{srH>` +o$Y3Mslq+)9z%R`j*kQf%+Ku4N$aGnIZr-~KyOTX8JAJK^@Z@LTp>S!q!o+D3I+>{N3QcT&lf&;&lul +-%`|S$n?swCk?Dwub$cqaCnr_Ovld8_DO}HhXzNvw*2f5LmD(gMZ&WT<-=~bh& +tXASx-yyxPvbKe(D`7~j%G;IbRn=xNi@x*ix(g?S#&q-5$Xl3 +3ZN+mE7`MS$;TGXgQD%>e=l!7_ciQpcxI@?R;muQ=+%t6mqqD*DF5`_c^hq9L9cqcm$KVZmH^Q=ZS(6 +U>JJxHmBJtcuGnnPCBS~NR+WOYkqbwR()`hcuPmHQIJ?`Af)?*Typ6d+$;G<9`K4FjrD);yrwrq(6u_ +^wd^w5nhY$^gOQKD9i8!e&6V77rzGb}zdPJlycZ#d1qH5tmveaWO7D2v8!`w5rTHi97$;^aKwwzcf4CXay_iEn_!bMOd^+jAL%0M`TlLRG +`H&&2njE*6B*KT;KWsm0qj--*&_C3r<8?y{o3>`;g4*|$x=?`Nz$?g1>Uo6broWho$niv(9D0Tx3l3^ +M}QFA0m2D9VDiFFVu*@N@D3tkoC`SSjG$sXjO88QTW!G6v?LA$vgTLw~s#VEWErd9xC-22TPr)=A&(U +i@dWbf8Fn#heNS_`ez8hMWaYc(hmo4HN3Y-ggo4>0R{8W5Ei$8Vw`8@XOdI?aym +RJK2W`-vyqxL<*SmU`3I4^ox85~I?LeqXCTFs{2yvt_e$sI!9{FT$tj&IiH;Cps7kJjK9*hntYw%KEB +X|D~xXww%&d^wjhM+;Aa)niSoyqbDn2`Cpn2VtXY~ma?D#A1h>H;;9QB`mX7#f>NrY0PCQP2WjbRC5uv#QC +h;5$&^CO%?^bCeCXvU6a>tDhx2a0IB8}q)G)4{@up*~_%94~QgtT>?g^Spu!c&$oCElo-hMcJ7VhVSj +wmlP@nD>oVOj;bSNiSs_3KwsYe@9AN|MhTf6gD#CSI +McFJ4LLdSzx-jMPmt%GsW_m$>*T6aget101;4Nb-dzIaTLPs1S%i0FJ!7iAAF_HMWA{S~QUIBm!rlB) +}w6bdUO|P*~P$$l1VZj%HM@nF>6iso30VJ +X6?cf5wpMHub>50bP~nP7pHB_~P?@ZMS1sfC5G63NEq`WyQ&S#qvpex~CYBVp6eXT-+wZ1DUNoOP*<4 +S{L5V0odE4p2AY92fx_7nE%ao161)E##ZPHck`+U8iUes5X()_Lu=-FvgJsfW6{vwA;pDu{c9{deD2b +KgxZehPaUQ&#LLD9*H#6>m~htt(u~T!VrqMpxO~p3h`ojGhR5;ap?}_&y?+~1SX7O;sZ#(1>Sesm%6tnUI< +?}tq~3SY;g3h+9k0AEX~X?QN`PJUP*8o%N45T_ltU&Ml7OH45O$Y?@Ur@>RQ486vfLJi)l*zez +7Jr<0=HwbSP|l87?v?BO++0NIPNAj{yurH4h$#hh&eS(L)ale?9`q^B_g5t&7DXLSz-fT7{(BBojGi= +bA}2C-$&C65gd6*^F2E#KFk%o2K4XWp27ci#L6ZZ7llXmFF6pWFmwAx?|%Ue+StC29JOzm~l>$yee1E}ymd5|kGVWWVtaIG^RX@>nZPwk- +lh#-H5s*ue_EwCbRjwU(6c}2nyzey;XIw;KjA4T?6<<}A=LYo*xq>-1>YhMh9OLfXZSx_91!)AtgNL#prPN&pOrl=ic +I*3$;QD2{H`=t_e)q%cV2A{;-TtYpWbl-E@wTo?$~%?Z_Z7%9&Rj8?*zw#@IrEJ5j9jtwcXszLp( +u84EM;!K?aej6)8)2kbGAX2_x{CY`J1xtv%ZkQv^7Q>Ik3WoIuK;{L}g|L>4Mx~u%0RLJ-x0*9q2hN! +;=wDMkNJI*QFg7?#qtlc`_8Om}v-K{6f|7%D03u4Lb8UnQviOLVj(;{Xtw=|abLnKB?po*e6XoDod2i +}wQ}mE=N*U-0${NRq{GQ66Mh&sZT8w=d#+#(fJW7^qFX0eA2-=PKSx!j&BE%Q?% +5G@EayExPgLZ2UiPM1wus|~;m<55dReG2n!739^?2>7XiYrF#Qtd_Vhge&KUN=VhdwCkQWFoC}lUOwk +7>qYGlywl?K%R&f`C)q$Xo0z!^1Z7b@dGxlr9?dk8%IDy67E771m+)|JYXh0sd;hoiPMKf;O9ieR*;E +#+8?ERl4b#B)J>7=$aKKYkUJ!Go=lb*?rK`yUK-0-jtuiLNxH4i$vDZ*st{i{Sd=rBHk_8GdJJVz +vdmOx{2KU16*wShnlpvUCN+dXQUFN|C5AnN^eaaxRjR?}R~2=_^RnBYNVsuB6qqQ$(lIckn%FYHYP?3 +O~hhzZ?d+`Zy-k}4nv?IEkns>(!r>h2(IF}8AZXz?h@@#Fy;r~&f%OrT|REHHyVi2;<$ +G5G{;OuT8`#H7cWDicltaf!htQfe!R7nUvxm;ZS{qM;o;F*j9sP +$uE4`YTco|AoBfK@RUDFqqicQnq|PO;Zzj3cb{vYOTft$aMJv9=aUIPUq-s^CJe*P{Vj;*dtm#*t*yz +G>Q1ivKVZmgky9mUYYx!-v3h&<(|{H5Q1UzoN>e5P7;CzkPC!1tS|1$cuBVQ2dES!~vhiw$@Pv$PdM$ozmvhuhph3D}XPf +zpU4m4sKjOc?P@kMZd^CUQ5t+qD{1<*ELvtEL_0Kh~uN%Ctu%&EiW1^Znpn^y6JvTKdaAViklrLVHv$ +tA??fM??Z=pvxnmAs&Q@wv9l}6!de-z`D(iVNYrsqS@aKTi*J5%Ql+nx9^1y9!HCdVY{SoFb94N9$l! +UDU-l+X|>QA7T1EfZO8Ne!y>`33lSc3x6JIof7gn~Mte`odYj#uZH6n>f1+KfB-(#Rwr+jI4z9E6G`i +%h}Oqc$?r@f&&0sue+Y~&AmBLQU{=F%sW1{z02Xk+AP>W-=@7}AgIa0&<_4<+$#D)$gMib8U7%Xvj_C +%2>nUt^HF($kb!bjm{H?pvoRS~`2K*&;?0{FwFf2MeAndn;iWI-RInHf +Jb$q}hGRi=GHkq>aU{m5wbAm5~+a23AhVP7^&iC5u!F~sG${v%au?a7pz<;2CGh$g&im%oSY#`lAkgG +rQ5(~DzfbGoa?zn7!QK_xMgo|zJN?gGG*RQcOMuW6>cvqB*|ooyKyxO{JLgPgG?CExAk-9T_y&y0@C8 +5ji=JJHsPbk#6HnBhA?&%_V%5nx7EBcO~VAn)!?7=pw_aRTv$;cQETDL +pZE5vFb~@Miu5dwl+hhTJN@yRDiAXDXNmJqIeT}P&G^bXV`45^)Oa1#-J+u$2;W(>Y1!BAlGut*8cI5 +{+u~N73DSOB69~*3jr@v0E{1gF}QP|l^(qw=yDAiefQR!|R`9VqPTRe* +|zOa%q&SG@E=MY{5qT8tWLQ+Sswcv<*lQ?|IA}oc_#xd2t|MG!cL+Wk@vYv-ELuoO1mmIPWFS5N%ZqA +$=cnGll0-ZvN|A4~$lAerUEk`E_e?zmLIzSjG=*|KGRb#N1{N(cH6Xej~qHfLo(!EqHD&Vvy$eMLX5F +opOlDVx+MwdL#R^oZ_;`!~1=Rb<)-(Ed`b@lwO;?J+HlZ!FU_T_(~d4DkULoM184@TRr;_c#)5gT04U +n2jpw!o~TxmgXTpo>|P{*C4?{bcrF>w(MTc1Kiz2?7ufU@`+Qryo#{IREd4p-J%UFUy;k=h)=a*BoDSAGK +baPWTQ5lhQ8Mi6h+Z`{GE&u2_a8GY@SrVs89`{FmKf*r5KAN);`FZn_eI0nd#&}op9@Y(Pf2)&FIbXL +Cd&k+p1g&Mx=)in_eM_mNt<&I;QNk6bA;1>R|F03c=0VIDSZd-GbF`ygkz-g+>-fBf(xG<>koPW%tTqUwQ(K=Wb(Ao8o#aH&s?0Dg_zH^ +5^0x1$QUh;Xkie1kIU}05k~3`v;qp0c|36Sm0|XQR000O81Cd)84Y{rEi*kNPBKX+PBOOJ9&LzNiH +J#n1whN{A-_Gl3qC~ZHEDH`1TMaPef!|W#l_6yKMjT$GJMXlj>g$A`@a8~&F%^lpmMq?5prjvGB!Xg5 +CTSUE4XQaUci8q%`QmA%DW0`Q)l;2XtncMpSnA2NmFr3fLda5=@r6s#dX+ +|Ks+{=eL+Ujs2}F5tuxf&1QM2Lg=h~*J+-A{2~IEuVz3WGWV`PkFX&mWkFR-vu<1y2B*kp((m%T@g6m +73PS-Yl+~rNYuLKR3sM``tb?7&4~;9hzc<#z`}=voawsx<%Np5?GHv4D +qG&jVSj`Cq6hocI84`3-YQE357RyQlCwBxPCc>iI=?e6fJf&f;Y+&jw~Ym%5)*0kL2YR8IFW&1x`%2x +VOq0WqKdj3D{2P(j7$=iRLZ^w>MGI$+Jn`tE!%y{Xa9FS9-y(>(N)`DmXg1DY8nRGCjRF>vR#5E4+h* +il4M(1A^OIiG?r4)b?Vapjs)+ZU0j#80IHBR*3_*y!L}aP~iwt^a*R5sSXbqo7Y~jOsorn(fmC4h6<&hmHP|bzj-`*7(tRU(zPRd1vA*eN +(%sph!p#U}U1pN~w>qtNjvr`Dm#38OhiO!*v&zGD>$;q#QT5pN`bMTe2L67md=9a@`5ESyLsnF8Ns;3QgGcK8h)cUtwJJ +^8IJmM}h7JVA8Z@$2WsSnF7$450~6hHZCkFg($-ldK$xjdz1s?H1&nv5 +3W<~!iw0benF*ZDX4VqeD4`#Pa%Hw?s=QQCg8hRHA|g>xxM{#4#cw1DU3T)p=;s^rJ|_A7X +vaL27ZdQ=rJfi%ALF;#cl`cSG`KpFYcb$V6uN>viH-pU@x;MutCP&Yak(<|B;Xry!JG8mwAYufx);@_ +yVSdSZHwOW?=#_6-Lec$A~P`g6TmFfnmY*IrXPSDhMmW158@C*E{yd{A!eb)@_gL(TsDCKNXSmaa!*4 +-F|5i?qJxvRCb?cuiY+nPTs1v`lTA-WTXqp5CRHeZB7*$?wXD6#ZQqtNa#9wCh+*G +L>$SW@`Nuvh5M$M%zGoXD4voUjywh@KRsN%$9{+wn&nqvI)G)cxBgVZ2SOFO9KQH0000800WU*S%QbS +HHHKL0Obw<02}}S0B~t=FJE?LZe(wAFLGsZb!BsOb1!IRY;Z1cd9_zdZ{s!)zUx;^*@JDs724(&AeS! +EMS`wvB)h#7g+N<$%tR(tl1icm{_h=%q(n)!;i9OJ*w%0!-#j=&5<&^>GT?2G3Gxjn7axmqcOgrWvj30qq +!{EAs-@6__n0i`~9>8tdoAJZ$~7Hm;qZY};s$;ZSRpIpPl^G@b4@enN4Nlp$P`qv%Tu&uKwWdmwd8ZJ6~JCeKs;^RVG` +HaXXP$mR2Hlk{0~(RbE9e;gN?Ux4Dzp0e}lx&QC!2lyU7Nh@X;e8#@4&sywu&;Mg +JwA1rp|0Z69d=td&4cBwvgV=sUt_N~+AYO8`6jUC3Tei7~dhur_n4*R?bX(Ncy4~P38ntQI*zIJpPjI +|RFCzZvC6!r12k**djjeD8p^@F;F6Q +w82@aVwcd>bDSj)~im-0|bF;XD&o_*icjx65pfxyIg(wrRmQm-c-Uo#1d)z`_yo4-{ +OKgBnbU>_#=K|@c2GZK`&;r6#O(iab-Tdt?DyM;$GhbsTYUTS%k9JU`+*EgJU(5W4Z#z`k~3-=3t%IN +KoWc}O&(ll9b8Yn_J^c!R6Oy~tsLupJ +#<ldz>$cp(s+u@+Oo3t+hcd+z(``ey}Auz1qVW9?F%b5Fv8-xOxJIQ3|@a{=@`RNR7d +(nEEZLx6&O}?oCT~g8~ad`(NefR;qu8{IlN*;8>y|*X5{Vh?ih`{6_$*te<&3f?xbr6T|EBq`gZ@gT( +ncK;hfrwWtvy}Qcv9s#e)vc#_WaF`sS;u@XEkNjwN*S^9&EP2^Mgc*=dazLVK#nGK&NEkptpDCI0|WO +9KQH0000800WU*S*?Lb7-sepWAsTDWWiMgIX1YHwRDn&QX4P64>0gBuxIP&7zy!wLRsUE8Ga)cBFhZfMk`BM77O57bN{ +Hpo)j5$R6uF;5pX0&B4E!iN%HyuOV|WsL$DP>6jTCV*w!xfbHZ7VHso5P;6f)-E{4t48}@G?6?oj00Z +*__R!KbBko{S;s?U6*afY-Fy1ep3!ULTb{jvHbEzsct=JUfBn!Oz?u-;(7RHw@J&Xwf+n4vvE~&9Sc2G?-1F-E%koVSC%_lJn*{ +xL@?H(pvA5cpJ1QY-O00;mBky}}ycLsLtCIA4NiU0r +}0001RX>c!Jc4cm4Z*nhkWpQ<7b98erZEs{{Y;!JfdF?&@bKAI;zx%Ji$unmvm6>d^yG_0IUekPZ-R^ +EOv2&einvrM`vRPB4N>X;*Ozv;L_XQ9ir0iTf)9c)6Cb0wp55U92`vy3fO!gZ6*R5{5HeJ`bF5A8T@; +`ffXO~5*;NiB^YFSrZR#dI(F16Y;#X4(lRek;!z3i|o>(r*c(T#d*fbLD8i@jpKshdvaS*N>Vt@rl!) +d?5rYFXz+b)l;IW~RDYW!H6)D`-#_%c4`#vV@jR%FVn7H$`_@RM2&!vmAz*-Ku4_ZMFKbuCKP6mrYYQ +>gG~cs_n8W&zfA7#d(9nhFL+&O#SKP%?u#7+vTOosO;tXT<5vY)tlSyvaV8fs9S%^^#z{$(q(Jf78@my{t>8=q=#z4A +!UKc24Q(>5uYjIzF6Lq08J3MV9{+7Vc_O>P_9+wIpom`FdM+#U^XI`KoT#Kr`7mh;3JtruhaZIEN>Kw +RB!oKs8lX&as*uTvyL4z{s_pw_O8^GgI5Dpq`6%p0&%OkoMWOyEKh{I6Hgu+pH~?&!AAA0|{)h&PV_A +tSqzhQZwp)fBO38XhD9;HXH1gew=5mmSOPkZ2_~daA;hxyabxno%{fz2Ame>b}fQI{H3icBw{Qr^+)_ +USP!to*q-6n7WPy}-?kND(YC?vEaK+NdUHGH!uemaW+vl-uXAiL&x<91xzL@dbO{8d8-X@PvCl8J)s@ +a)%3g6W^}Mbs;4IL@FYI*H5nBD~xJJ&;lj=GviyYS=E`9g*#~z3A$byAKlp2;6JQ@Y@6EFlA-|6yFud +~rwW^=hcn6mLk9dNrfAfnx_0dY>2sjald9EKT +i~X70c$LEy<~gm|9A>rw#KCjk^ipTLK`6T7pTHun^es*RAh#V-%HIBwIs>8C>Q2=wqBX_ +HWc;!8D=OFnAgfdc+i=^}YhW}>U9s1D?P>ezj*oT*}EUl=61Y4p8 +Rxj2IGD5Xz%&!pU+XCW?|2_VC@8s;|TmRWNUp?O2+gp}dYsud1|DTGFM +Ri2O`VC+V2G!ltFCb@FbRZz0out*}YRa|n16sy!fpg}pmp~;28ywXMPz6#_K}=0(4E?|V(3foBw_$<= +7p2S8d5++Y)h5L+wzOD*Ebr)HKMbe(>0ImI%zc +Q=n9aO{-rLeq@Uhzkb;ZlT7#OCTO`j#5W^13)@_0k*he)j72+A5YuJ~fNNoze)VMjYMcQ}&$D%Azy+Y +z&ZDBKrq;~<3inalA0IdsHVWv=)DCCO@cOXEu;2s}#TM%w-s$PR+Y*3Gb34&G%O$+WE%WOm20EBC&vg +W+#a3{E^b_S9)8o2=wgFBMco&KKNv;ZcLs^wA>qGl>V(XGyJJKavF{_@E>kV<39K$@@AW!7e0*9e3O> +avsnVcYqfIORNU--0Y)(s#>2$5K}_bxms+@V#*9ho^nr&Kxynii?Ij!;A|bkB-WGpnDkEb^9TDisQS+ +v0b;rO<^$CxZc?3&vm7TYxO8Fn`E>aes({_&sEAqoJ>GO9X_2*1FQf}0U=XZBQQp;W_QB7z60L13-5Y +2yy@uE=@3m>WiVk3%~W2u`me`l%~nqxVr%s{N#28Yp%Htod$yHW?T97>=Js@^o{T@8k(my1{C4B4AI$gb`?Z1Z+ZJ>eQLfsl&; +6YF;hrNL2ZWIoK&1bfm0Q-4lgTSuh&6!4nSofpF2KG{CsUu7MavFkN?rTE`>P1~0fZ>qgzJuYw_$n58G~D(GJ9u;Z1hjUAbuMb$hD{BNF~-BON1xrX2pwnV*Dycq{Mx~_`{|e +ZPL{u$-4l?M?FY-Aced~sQx>1+v$GvBcdov(-akrM438$DUDOVkYNL(5uf%6X74=8)%^B|E6CNrbNK= +04V9da1hM5e?qN3XB`=F^Gs +xKf`Q0V$06U5;06{{Y{E0!+?v&XnZBJPe?mw}qJO4r$yHAu@PpN?!v6zyOr^TG<=2z(J!jtw5||tu(ZQ2m*8QN|6; +!Zl^n>_UgcKdkc(qqn8Ct8CWKI_YGuNB{lg(KR!JU*%Q< ++w92rvH)c6Jrss@M5aVhR}_p}nc~4FEX0Ebp9~v3GUfoF0)anIc=zMh7D?Ng&9ln? +^mS;@@Wtj@Sf?0+f;sEe5+wx+EL|Iz)ToJX>DzQ<|MJF+A8A*@d=y6uuuF8J6_@_urc^gbBwwPoM}St +POJ;&T;U&muCkvbztJU`1ic1(z>~Lc%i$4sShF*eqdFZaQCbC0Pw^2hWqq99VACpbn|&{WDr-kzj*T> +qbAfB!oCkmjCSIe5{(9Bq~Q2POrAj@l0r}!AQD4WQ)!aXY|-Cj=u)a}OL{;Y`I +v~we_&T3z%@Oj!2B`Mum8aCpkqVG?kgS1AAncL8&=sZ{fyPTA{p@Znd4?29klM?7Tjs{w%9c%65U_ +PtZ87Tooyuz*YFm?28}ycZyVPo1<+?2z!~;Rns}&}Y{j-ES1Be7XJ-b8LJ5^hE9H*Lgvj?k9TXF_i1> +&uwBB=L|A3fTsIRyM>U(5zr)pMiehl_3M`rO|0v>7mtdEx26T^)d7xe&tebvS}3+#+b+%MTv}#Xc5Rn +OvX|MDtOj`bdzleV%;3RT3U{KJD&B>l`zX0S+V0R4 +_K&Fj1z~k*Ly3J`fm2)& +l$fr+24k>Y@%91NNMfB`p2d4d!y8Ow00I{G20br!7eTPrpRPjHJl8s)@OlA)vbyK+EPGsLo?%--eSr4 +|>Mz^68X@K%pg%eLLYnHg7zBw{baYm@%4oEY}^nuujWH-O&mE>zSe3S;(sfIM{$*XRsXXNOrf%z8q%( +ywx4gou{Vnw66>@<@so+)dv!$EGN$6bi3K;CYkO|>B8(w%t4oAj2uXqY|6HC<{7408@&q~?r{Gi6c{A +dGI2>P0?yF2Uw_MKB%|R|asE={lNUcf8*%_s)ZiWGYjU=0u%g&qyr?EmkXV#ur1x4@bkn(O3NrTDk_P +G>cDT&0wPYD6-1{2UZenDP?gMTAs1F)cdx_%#3p+21Dlcz2fG&xs4*?Evw2E|v)@_}&>_;Q5r>K_YHf +N=%kGPw}Q*`B>9~^kf0c?v6onuf>(vRM-?mE)20si{%@#7~?UGjB;7=+fLFuipkxXbRXdKAkO=F~MwC +{Nx}EJ2mPe#psrSwM%I3{4m!SeKXe9hZohP2xe~tc4r|L3PWXT3UXVJS$4Es17-^m&K4G6=|`~in6O0 +GY8ZH1?58NZfQkQ)?iYua?-VFcncWKoRXDIc)$U}F4$JRef3;D`PI{JVX;a_9RqYvjwa{=!ik}40J#N +C50BX-)07mw7L|}>g3CD=o{IfB{oZl$bLs^1g(?ACF#C$aZ!L`g6IdPUj)Osjx|w3-fEfWool(mfr?r +BL(PS5EG*XZIgB!f`mPVK}#OGIVLxibl#3K6K{^Ws9v*x1p!-V9&r{N8?_7e8vjF8ntz!T+sf}#Ff^Z +5u^w}7c@G3W6S5{EY9n|OQTq!K3pY~>rRZZh#3f +U$z?xIdu9p~AMKK&*rgh549MVGdZ_NzYE7pPbMEmTXBHF>7PM^Xi+Hf^!@#aP#Exm;ixZ)(vK$(;ytU +=Nfo!QE!`6y#h**d?VK_f;&isUDMnu&1Pj*wl&($#p>39Tp(xAEpiCjRIJ%&$aV82o*PRZOo7{J*c_V +YV6d{SM5tQ)q~Yp?CyYYLi=SvG;YVaEYc)HBxYtm2jw>-^$PxKWkZLY5HL(JY!-Q03=ems2^sq;l^CX +i8lbM=8y}>NK`}W~1#&ZzLtla|<7}qKxyV4zT+fvwqZ3GXXOx(g4oeEMF>9IdNY4VF>HTlgX1O%m|Ry +Z(_jg3KAO^!a{^Uo7^9=}B=8?#VyxFL1fE!sw8a=+6Az7Q4{>8`wU>r9XINMl^~>su}7wmMUte;Ob(M +=|xowuw?22hK3y$DDdtO+L}r&;S0Z2lClxg~Mq-214H~JmTS;14{anZOMBhpLpqvR3g(qluaL|f%V%9 +(n#4fmN+Y%#vZ?yvT5wC*kRBcW&@|N5^oVqE`WzA%0OY48K$8~KN3TVkqWvNZCIHTxfpmKQ7(d*e!#Rhgc7d@c{6x1BA*61dhWM2WS7!;7H@TcL*ax?6cW97Gvi +FJVH;wu5PoyiZH)TE9-paZOXrpA?ZqV&H0!K1C&SXfjnWm>0WJaP3_YMBCu5LJ*8A&(IFPqc3=S1Iin +)y%p8HD9*3t$l5G5IN6~|vF2cy;FgOn35;%?77qA8t6l8DhfOW`O0zfGw1b< +w9)iWg-yK>rj8bIok(!)$X8TUPOqf%E +FBpvPPO+K(Rw0OxG5Dy;%R?lFj1yG^+J#_MZ0PnUte|tGg(w~HJW&}zbp_UhQ(&@6Cu)LY>&a_9%7qn +oG$t<^^4p*F7-8=O~8*SJ$j=8e5d=MNa038=%pK}@p>YeLtM^RYBYq@QK)26Xy8jp?XJRY1U +k0){r|L{kuJwZwA++C0`kTC6gNR#uyo?$Kotn8tQtrO(QlJ5xUhabb*S3hBz;vwZJ5?yn$Vw>I*`AM8 +kJq?xM_zc@UW+-`0!}RPrzK0Ip4mP^us1#a1_c&7OeugxNp?c$o90s6xlKSJ}&CSgrB`n$lhj}2ngQy +h)V^X5k35a!HJSfCZAfW+j300T95HBSvwggh|9A>hI!QCewJ{yYM)96er7 +ZsF*3&28@p6JZ3=Lz)qh*VTbNNWC)}mNd7hO|EBFc-%BQ7Vsc04y`&pP7nnGgMR? +22)on|JU)?6=_tXiRhGW=uB$RPSTJ@Aj3b!5u96s~5&$;SZdAI}yfLx$h_DGGY%dowRj*Bs|y{-+eSQc$$;gvuikC&PB0=Y*0ffo7Dpd}9|Xy=l5QKC&(ke|NE%xbb%JX2dIS1?u +zT(;dMuxw4smGCtzZH-k?niYHdhXB%OLgE!~t0;-->6PbM??%UP!vsVquuPp>PX_J2J8OZOe{&xj!mZ +FSZnkv?XB4V^ZD)7{lc0_kA*CK}e=wqx-Bu7Pnc6>cy?)=NR8$=eRSK-dT}V?4$=+oRI}Tm)ai80Deo +ih`5va;%v!OJ*#d(MxD3#pyIR2y@vv3zE}iH2)Lwa66XZo0;~fNFUg5`Nf;=7yoM7-elInRj}6Z{(3L +%6nPGTu^zgj1w@s$1vp_Z-ZYZEPj}x8E^H@O}ZsA?p)n^7dE+yv%FX4V(nV-usQ@p>O`S}obXF51Sg) +sZUj?>&B7CT%i2S?nkl!0vRCgkas0fR$Nqf;V;?=>v54G@sujwU8WAMVcWHM@#t2=nG+kAqL~FWmq)Qmq07C~{ZrAE^ +_`7JZHm*Lo!jg7HgQi&H`+s88uds=j{oHImumM~{LeQ3v5eePF!eu;>F8>V=mCYsu$_FjE-XzM{JXvN +ib+7YoB14vbx9*5}}ZVcC)fXq4iJC*^*zULCS&G_>BY3QS){?b-xp-DMunBX?oEw5bNQ;=Cb_!IL{KquYHb(JJkLumg}bO<@4;GkdD +?9^8w4iEeXJhnP!M3Qr(}3`lFduxk=1E=VoOw^b))@Q;(70yN!ZL +}zR5$sbzu8UY2#M6E7VcbY>Kjdf)_)lG|HRV{2~l4(p5W93ICRP`pH$30IM&?We{!+N+ +A0HRnijCU+*wqa2fA6=FbDlq%7!BcE_UM>eh{o}CV}PdKVY;thUVx2e_RKD*dyeeBHWI#o9;PZ^m`ra +)0~mEi=2)*Fx0&Py!X6w52JIEC5gwcM)(DhkTByZ2w{_%^6$qB8UQR4=KHcksOC)Ar%=uE&j-xs= +XG7ipg?&JFZnp41zR|v=oSGnXF&!38nrv$0nrm3Wp=cE#-F|NHsYT}YgnFz1(1oGeG7l-1eHl0Y%tXj +_wBMQka9J})#*+?ks4HjcO~>jyWjuJ=@1oE>IgcVIoZT~oBID3>tA89ib1h}_sMYHDkkvqMJr7o?I43nQeyrwbMixs&h_v8B+A?Hwu6yt+ik5;{(`=t9ULYL +&ly_pJUNw&R!!G_TLM~MW_S&P-T8n`j4Y1vLh?_IjW63^?=UB0*bl86+Hz9Qo>Q3F03cdFq#R#j;%_( +ST+8BbeB+V4S3}+g17>I%xaUoUQOC8+Me3#S&ybfQJlBcWY<~2FBg +Gbd;ok8BjhRykyCg)>)&@Hxt5e7i20T2&@3c_uor}$q>|tk#@FX9VDR{>nRsZ-YZN4J(p#UCPU2PM|M +s{o#k`dIBfpr(y0iG=G~>*2sD{W*SU$ZWs5MD%fvLoyq@u#Oq+X+IWaZwj1%_Kc3NWL|6s377oR=8Vs +@ks4HMukRYK@|k+b*0TWx3l;DgsrgrPB1Kho&f*1|{JE0BXD$3k{fHPjK8Jm$#ZwM8dtn%hv7}!Jeo_ +E=9R7Y|sBp;rwU4Ay2^!?`|*~UbJa+FwR_W#D5~bL<_(;0UX=fSu+vAfDcYFCUlXHMboA7Hy~Fu`GIi +I?z+-kI9Cn5T+kq=%h3cnk<`rI3FY9)LI5&{0hh9d4w_C@0f8a}9Ij39vX@A3y<9@1l;!6-j_j`Mk3! +jm8keR=E=$C{Wa6cv$-1vjIYO@}LQj5Jd9jgK&$*4#_+V!k@<1#NC3TIaWZvRMqU>!nfKmpN^mJvnwj +e6F2i|-{ukl_ZHE=S|d^ojn=v_a_IPl;VJi9>;yccK(=JP_u6$2~dFb-g_?jOHIAm!oRq*?{K&E6(1+57QwvA4mWkif{G0u=GDt6SXTR +uD?8gYY7oMPMcFlOKRaHH*YV7y(y{v@rVza@*#x4ZZ{IV+K&bHrN^WQ4%Sg{5V&Mu5jQAMlG5s~OoYI2crjIHDoS)} +R3Ql&(9Kt$xvVD_xPY)#EUwJVSjXQ5F9#j0Vh2yb%vnu52|XRgI<+#-moG*&|CUhCD7YA@ITs2tTtX{ +?Fd9ic2azBmx!^7&wN4M20al(s=l-Rkr$l>NjFP?^1 +PS1`7D*lK&?iY<(rJH&aT?{`o;IYNVkE78LP>&7Vxg^|Ls*RbVt`QVn`p7{v-2)&lVm`oPPViCJq77Ii?Kgo56U +R7KF?9#ERLNBwkN6;D4tm!RGYE1WK@*8!xstTe9@0@t!&E1 +>9Py$z6{FV26I)_H?W`=+NL{a=#oZ94PgRBVCPI`M!*A)0gBkgqOs@&%w!u}%?6LKQ93MNE#U-#os@$ +SLAVd(dTU%<%m>}$E0M4cwwseSyT8d)*&?A!z>`n{L26r +)#v+7wHd!Wdrv3Q~o43U4%UAlzT*e_0oxlwmOvy)RVuqhZ-0oAlUzVBu2jgmhXXyTc1*%(YkXBHW4h2 +-}fD?s7@wi+Hfx*x(QM?8pqj*sMJ| +b4~{mVdo?M9jSgqsI@ocx6V6%)8Ku>N65Q8PRUmkNJ?LX(Trd9Rq(n0@%LETO>WoL1}dzgFNaP%7q|L +8d|eV=UC>hqu%(nu(?b5{lUQ_=M9rS|ks-Ojv*1z{3FCyR%n^PiN{7*fI&kKHi_0sXb1G7R>yDsXILU6;cKijwIfD(w#iyRfba|Vt2g2v1FTJm4Z@E-sZ +elP+K9T&rIx5HxvW2hW>(fGYwhC#bTr|TA_QkvtPHX3Xz_b^99BD+Zg>3@g}?mcF_z^Q|si8T*FWu~) +2%)|MDdzwq;Fud@s>OM5NH>|)T&dkT6F(9+TvlV*i@qh#F%Mlr?-t^Y-9Z^(%8FkZYdwUMG7|_XCvUo +h%p1g^Vjv^Fa1X9F3=hvXqn+H$E!~soq`=JR4t~`D}Bqh{S^-r7Jfo@S6_sOFJ +iXhkN-Wu`5=HIG4EIHrG1ouF|aBuV@=|zO~_af{wdtQq-!?vU?IA0GbiGm18LwX*Rf+0nR=@1NWPhrZ_ua9F +t$gkBmj~)g0iqRNBn(9Z6sJUQ +N6-$y67hpF0-C1H3%_NS*et)?l?06eZ(<>QBw~hu+f%?$id=`uk*jWBkucV<*HjqOe`X=Rm_iv|GdGJ +Ue6XAnZt|>1#p%{|!(}0|XQR000O81Cd)*UJxd8wGAp`&bAOHXWaA|NaUv_0~WN&gWa%FLKWpi|M +FK}UFYhh<)b1rast&`7g;~)^m?|zCAd$8TExa=)b9$@#dr{1Cp5i@R3Fi^lrt*Y<7Lrfy4Rxj0ZWBz< +I-w#_4-h~8lidEGIHvsS4;AH|mC%S_S3R6}6fTx3w&^d*GZ#t$3y$i6H-SJE%Ig|VJUK^bz2q>eokyG +DqP|nr~j6Ndh1gO&i1BX9jq@Z(0pgXu6gtMGDY+Bldv^{Cd7wWOlurU~;_rKUrU|Lzp+D!#?PH2@2sK +m8+3(RZJ#hl;_9xTM@-i&)Vv;}P3Af9?%w6t=s->B@OoJDp9ZFA4L-8|p5E!NxB%gVLun&#e5$*-~$$f2qtZ{>5$c&tn +C*IAsmB~vdH-(D-Y5LON-#JAWLwKcJxz0bK1&OULPzo8qY)%st->DijdJ0(9@rm$4KleoPF0rf_9*vy +O3|4|UI_J7R$2T)4`1QY-O00;mBky}}+(QBY}Apig$cK`q&0001RX>c!Jc4cm4Z*nhkWpQ<7b98erb7 +gaLX>V?GE^vA6J!^B@IFjG}E3nE3ODUO7Cb`|LYLqI+@$BR-ud|)K+sdXST7qnjDN;j_cC=I3-+ui92 +!NF1%-*wZR8td~1R6lU(B0^U27|#~rGIX;sZCD+GS6XXoVSvf@2aJ)^zvo4sJYEDtu^*gUhk#O>vWIbC$p@mbycMKtf{ly0jkSck=E +Ibo|(FW6-euJnQoxDYxd*$`THY&W?R5=?AzHzYO=))A0ZfNu_)J@w6<;Dq?--EA1g*ko?VPpQ{_LESw +UYmX=SwQNjS4zhkFV>r-IUBdil?3HKxbh_NTO(Vc*#jFv2hN=ekN4^-O@xV5L9VPHSCVYWrrqH-y_GS +6({;-SL!}<5qWn3Xs2`p_dQ9_udGf>2hu7z`)03C4PEU@{XRlwqd3DZfanH`qkIrB5v-gz-D(an5O%4yXo79-FEwJph-p+uLW +_iXq1o{J-SGoc`t3_TeuE#)Tq&ldm+pBDG1z$i5pe6$@NEeHy0@Z+TQ*{a0D^SPOdY$ZLEBu;l^0Y>l +Qq!p#z}%jEH<-}q8#~U7#!*vJDha5(6;Q81b+QK>r0;A^T5N9*kS;$KXAvH4crW_hkIG$RBcmcUIQv#K%JXWp)RZkM`8UyxuSl5l{xKy +StgvlobtTd-~C`bW=q_K(Kl{twg(Vp0TDly$H)HPp#vqHc7Rt+pdO9JU%d*cq%3q`z3`VTahVJ&Xv)U +c(NX*oFjkbiai&qTQmW9%~IF8H;B&8udU(nhox^oxaiF&{yzws@LU>R?yfmOM#k1CP8Zg@t>#@-mSRF +Dys~=OK-|-snQ%69T&sEkmWqYFPn-e32jn*mQb?-pw0-`RDHZAVHkp{xEUeSMyr9YYcm`n!EP)^d?F~ +=4S--D2e3ss>>m-RkI>-L-kwK~@O_{OXn%7!likju-)(+(>wxzl_OurgNTV)Fuu7cqg}fvH6#-0mZe; +1fe}!JaTSVf8UZjoDpg~)0!E->h_{%=1@(q{;dViume)>Xk-13FGsB{V~&-|ejm<6!S=i9^yaU{dC=` ++3+U^;k_fKnI^?6`vw&g0{!o%~LHI%3`#B6xAnA%bajiQCcWU!x>Q#U6dJ2(t#!o9uH|Ozb92du%1IW +_4QOY>m!WXzG}aC;EWfQ=lYhdQ`WkvYrIK;Vki)1*1NkzCtw2=ZKK`+){-F>t&-+=up1ECI$;cl`A0T +ZOc%w%OJlS +KrBm49O><#zN=4nS%t06e{lUr{C0<9|nAD;%H5g56#4_?kV`%eHS1=~HJhYCyyv!D3P$uBypj4=Id6O +13xI1NIJb=(`0W;CG3O5JX_(=u9LvaZ?~atRNrEPAG|hysDkamuJ@q +4+sDPqduJf@Ju?vNMvTfl$2kJX^5SI@j&(gW4Op3^*Hl4Iu$8Tg`iN_dFA0c;$%_$Aaq-~< +BoaSI_dA3;Bm@4xvN638f66`2G}yW=p2!(4rpgyWH4yaWtbA9*OVXxD(V={B=-^d+hV2rj3oi*&8k@1 +`CA_juBW*Ym3JrS@zCD+aD#fd4T8DH$L+&LnngF809;NARl*R +&}ver#~F4KYaJ(pIG9c%{6%H&P4KcF7CxRj&*)b=>4*c0V04JHyFJ^Z@+X~W}xKAQp07T1~0ar(ii=0 +5P^uYKyM8L+<7=R7!1(lXd!+EK|9p^UR!c$K`w^R9*v1TN1fIl*&@iM3)*Y!KtFx@B!)feCHxO5_<4I +CYJTKBLwso>9*`HKVx%-s=`V@cpaE!VErLL)6=)JtpJ`{wAv@xuPEWho9@K`t`Jrd8vga=&4};(U8AB +a_f}R*l9U`Nn6Hf0wwDl)+AA3T}DZl7ZCpls?XBENmgKIRmaQTuSAtGJznQlh8ZOamdTw8tYpd?=C68S0KpiNk!8t +$C>n^uz#RpjB)Gg9x+{%*1*0__@OPF&f@TrE9G>3O&JVvOVEd2?m2}3;GzM3fZ~b77fY~-% +Rq5p#jYV&F00bnsJ0$j{>vnsUfn>wGkgqlp+_R`7v+L(%QEs-w(O%H>f%-uHv7JA$bGS0cE3wJIrkwO +6-pnowG;1Prndd+O7&2SSO#lcXBP4*HTw3B+wc@0fCN4c3 ++^(R5ybeMLJwTJd@r0O1g`8uo^i`@_lVv?)*$=&#X^IaTRx0wS~=vf(tg6*VWgf5U# +-*6tt9shmS$kh$C2z|ryYJ)gA-V-MoaORF6=KJ6AZ@AQ<&nH4!917oicKXEnuw$pO4U{&(S@6u_?#png;!8kWqGzeihI6NHm5RSF`tYWG5 +L=)y1SZ?;i4F{7!g2yJqj~zSLgD4x=hz?gibr$=!tk!9s{f#7@_5^V~YjiNJ>QGK~U@(tKITTauvHC; +uIQcG|W!DVtECe9Qw$|z;Sk!>e(_)>q3u`chKmm^0{~Z#Om4E+ovrQL@zyxxx_=19?bTsj9^yvaR13YYFnkKIP}A7QA;CqVYgl0y!H(;Rmo3we{bLkjo +|t$>?}8Qg46z??U8?s&G#OY99O)Ux&?G1o6P%23!2TuRvAMt_(Zh{d9a{6_Ff#_e96o;Z +>}iZb!iaZRMmR;Qy|a2cJxgkh$6#r-bt-neqb1OAofbgF9W8rQ)xB5p<>Q7rJ +Y>zUDNA0UvJ<>?9(7vd0AIjoMRkgYqa2sf)MC4(LwDyAdo3b7~jdOw#qx(8zuao(>&ClK%`k<0`$;=+JNJz@veEX&EYv{-gSij3w^Go}33~_=Kbi&i3zuL1Ha`jqX+z^ +5E-Gd+Zca8|c0BWz?Kb +tHBS%^Y^ltBXi9;pgSDRC1!(BOOk{T;7yu08g>gq2l{h9{Z21(J$J{T!D{*ww$WGDGRIDgYEzk0$e4gqpWQj~dlF1-f|BxF+ +;CmTCobI>2DB#MV1|aJ$MrpTT7zbXcP^iFe>}SJ|@P2a7TLa}P>8?nmf^cc(}15!gNUe&k~-E(ZO*Uc +Dbg8~l$%9{8XBCN>Nq|MoYMs09Dh--Kcm_`m+wHeL~=fW#jXlh%of;}`y?KbGNtB1+?Dhbs1U<+wv%U +lsS54g#}{29uq~$5dn5!+9_ITz4IL{Crc?!+tCafivkvsyvOzA^rZP;1(JNef|vt*cTc#iya?>_nOYh +ZqZc6P$wQ3kgCVSUpc#=OeK3>j2|1kaOeBEM64G889M?=MXAcMBBt);d3MQ%SA25NDh^aiz`PqU*)b> +;j($tYV4%!QhU(6Z*^UJ`H(nUVKY#cJJ4W1}9vi#m2%z{NI28#rB_GzK5O+>rIxalL+`KW!$=wwZrQ= +Va6ds3pv_n*o0fg~;@@?dBhN*~dKk#P+DZ*~=xfiBIxWmYBy`TJuY(fcSYMotP)np?{$`)D*C=?AHGo +bxtXW5Q}!C`7RjZ)Fbec>zvKxJJuhBDYlcdB52CXZgAczfL4Q9ox1(O9`&(s~4X3)GbBy~T>`j&I`3{_=y05o}Per;>X|~Rd}=tGfR!REvuzSZ;*I8^p^RNG4QF~-6VYcFPbgidkjFQAC +Zsx05P9u7f&Sj!w6rd0dI&7vPq8i{78%nKfUCL)6^*3&T^QM5r6*rOw|q8;OJ4fBpTk5+7uJq{(O&6! +bfs$=!a4HXp?gU?PA%flJ$o8xSLXdn<#I6*hQenEOIL5k*BNmBslb6U|R6u8&N_89DE)2_}Rp^09`UL +8k#8(50BBw54otyTUa0r1)EJ)R{eXvK<^P_e&chIjS1Cd2_{RX>s3-#mxovNIzOyd3yfJlFzkRG{62Y +_JoRbp_HjSPHJwU~%4j_+DUSl_E0g-&R1JPSIeIw=>FlOF_|wVxz@OmD61Xj`2~o0qqn70uh-Nlf-Ey +@_5}%=ezy!>(B7#48^qt`&1%Pfk2}-+{uqqpjsQ&}gKhv%47Id^UwSK9<>LwI +ny=Z2cwC-f#ijUxDxm3xH_>4>9jKr9uMWmRA_YQ;+}f=;=4Clrvepm1002=X=kU?qD@&Xn8J77##K`4 +z@|5NA9H6rDpS3?`>5Ndos3q2Q#+DUa;T*&y6VAIAw?1+v6F~3)CCx113C7CUzaqpFg*y2vIT#zA+M@ +rUPKRj*;JhG7$EyOyR#5SwR8?FI*(0;b1fxGRX90fmhK#|r`zX14(Q) +sI~ySZ4?CM-VxO7K@O-<~HlmjYtwTBx*V2E4TG{_wl&=4XQcHt2X_c;nC+v?0LxEll#*tDd{~1RE{3p +(Q@E-=}neyUOyDQ9QS&`MV8SMw2&VMjbM`Z0CWNlT8pVEzCEHS4*lrOXk@nZI;4`xDQF_{a$BRS~H^E +r1B-!n6Poou@D_wwcWycKyenOc)Bs+sW*wgBKu$pShGouj(h6tn`snd@ +`(H-UGJ%YZY|WI!d+%kpHt#QAf_0zVV9?QJXG(^9NJ36w4{OR|@&$|sbEvj_6oy5GX+XAbU_gvu1WZk +lVB?Iw4AnE3m_9Vv24JH>7J|XoFyD+iEqPLkq#KKV;#IQPcM)_(V%#2z*u)LNMg)b09-zdzQvm4fwfZ +w^63g2i2(1{9%+4{WJ?F#BtYXtnwj_AVN{JW`O=Q$a3|cETRzjq#%Nj%I%V0EcWCcuSY$?f{W-i0Bt& +K7EbU{u7o*6~M`2Yp=>~L~fQ+0!26-<|sI~lsKj-cyk!i60C}hYSh}%Fa?+@)Ck%dtbVmc8 +-zkvg4mlT$Mh+VRr&B>M+0?v024b{XG=`f7{1BsHzQ_FpYfsbyCUB*Qp6Jx%&^l9n8C7_kotnmDJQwc +#9!nYGLBCvVF9wv&PZO+ZKz31jLD^o4+wix*j^2jjb4u^8gY(Va;%2?_!c$GwchTJ08&;(GohDe +ZIa@btRW$1hT?N@yHj98p^1KD|BlXgB_J%xLXISXw1Ut_3nJZT$OU5W3(}avkhUU_f1!r+^#c8smtW< +a-oX?X-5fXwe7qHO}EWpn>ZrwpV$W?2vczcK=Ib%D2A50Ybqi`i)D^FuOwL!NYW;#-?ewow}7~ZHIfK +F=R$`i__CdY(=!tRt;4tYZax!S`QTbGTSQG#@Ohn{YWsMYt5JTg+!Y4dzeS=XU7a&-u(6!y~Qb63}$x +Q_F=%e~IK$5j5Af|~Xfau0v`G78)|S)iBjWv#c^RIv5yQ@>PxIEt7F>pvx|0Gs(>?AN&uN4s11Humg3 +)T33`@N)%K`6_7r*;$EW^$?G0ygrO2KVuC$*)XgS&(%fo0bUSZz!XI)sWzTiN2S{8`{=>*d9XLvc!Ei +>OyT@W(p|Hf_xT-g=jtjoPTag00~Nm7laag3SX&4xwYR0wVzRZ7$ZiI#aKv+kI#My` +h3f!jY}4lx7iiXD#e7BO{6k_^&#eXE=(|G{&9LMq$7tQ1n18itxp{TX1FzzS&l2Q7V3hr3?P)qdQXal +&g=`&^E(^f|u4`3Gv;3Wa9_Dy`Ts*j2Ow&UmJT86XO%(CDSmDk~EtQs;KY)7)G0VBZn{1N-^#={S`Jq +*TB8UKf>2PnX+)N@sIGe_>t4FfHY`=pXdN#9Jr-Had6)i5k917?d&j2d+S%ln;849MbsUs7Io&^T^!k +?4#Kq4P&6W(pldemDUD8CL9KP@Jm{TDw&1v%xhB|4#-5xabF_a4OduEvYbS{4;Ui1Q@TpyI_>`F{d`7 +4YAN5y##EB1K`A2`P2ctB6Cixz{B_+`!x+NvV*6pKvY_#1i%^eKj?kT6<#gevC2hCQKv{1x@b@4XX8m +&DQZ+A@BiH)|l`4zX_4KTLJ1O!%pPs9{NNLYj|)5JLt2C7tQEku5o5A}>GObvX`UXA#e!G +c+>jj)BJ%av@u +(y(ISeB)pu(w)H&f2}tW;q2E9MS9|nRn6!7*hIo^j(7(=xS7wxtqdkeu_OR4dFzyBxXH_O*%_PmY=3A +BYPO+FEa#Wt1c1VC!B})IaQHIA+V8_-uD2%|Ae7EnqUeI*ek^ZQUUKE+Z3+s)@;*mnEM_}}-UW8C&ewv&(RM6Rt{uVRt~BCi^R=O|k+NVhqg3BeXg|!)wwj7wf{NlsR1GIrN ++9QTX24rpFa=wT4x?r3HDE8T@p6D=d0Qa+2RY-B#X_OdB#dfG7_BR^ynzNopJaS|OO(=Sfmyl|Og4@&4Gh|I#<2y}-<_*!Lo% +YJRyq+O2BZg1xwa#jBN@UJqtiFzkmMZup9@`GI +7GoQ=s=5xG0P~R2!>s1Zz55YYkU5uPzhmd2kgE~&V)blXkQ}RrV+ZOw*9nCjT;NAQ4SMT1Q{YHgvqJm +)U4oaX({suB&YS?cyXlWo<7u-n%N~haRflX-wRn!Ksyim^9=t7Bi|5J4NzaG)}I>i58&g%h(ga +X>09n{NP%`VpZ8b5vbjh+5C5&uIU?fVFhUe~WA`O*3DkG~Q9e-Y7fp1LeYUq6@ij+!jI%XHs(6{|>`h6*>hQZilOHJe2Z2IH1>P--J89g%pT{?t&-(q)S25e!W3m0Z +wO2S{3s6$S|v-TTMKc8K`4J-Vjg&zPl31zE$vU&@9!s4VRCBCa*bpp&!EY}y({d(YB}u4|62)}yeX{Y +415l9lgewg4kL8Ym*9r`tuo=IOW`Sm{JJL<=jnt!!3ta6s*^=}(#k%DzFo4LGQx3-Y}m9r5l6A1g^lsCF#;z5F0foTh^ +{ME0_|p7Lx@`*Qfy-p+@4J9sR>b#RpbWfP0)GK^G|DBwN?VT72*o;m#)JimE`B;4YvH;U75sXp{tS^10&D&F3k33^};`EAiB6~N%2mN;V8f#rK;V< +Q~mc|CNsL9V@lU_^k1=Z57vqce4xlsr?di5&fje7=P%b@F +ChCLFu~)k{fuYGyRZCd`r@6JlbEizp-Hg!UpvPQBNc~p6j=%@YSeZ>xYxG^RwCU(d@;Cw=Z9x^xV5g9ji{?W0>)M`t_XgaPYt{fK_eF@ItoGtC +N)ed!JgA}pV-YvCoK?(NBiAi_+;jTX81vpvu7XEj%P(Wx-E>P!xXi^}Vc`=bz6bphi{~q;JCE6f(rbhQEoP70O7M!Cva0#of +u%MJxjdxAdL7IJCtWle8K4>S+qMNl>b0*m)6=x*f@J;po%EU2HLWaAg15`LBYLitzk;BU7ySA+j0RyPFGAKrw ++kGX|63k!TK*E(hbq+c#g&m^heNPY&)*c%Ak%?w8 +>I<-3xocX@6aWAK2mk|-TUo40mSvj;0 +080;001Na003}la4%nWWo~3|axZdaadl;LbaO9rbYXOLb6;a`WMy+MaCv%37YDR@JYjmt-m1iyO)MvGWSFCP#twx@8;V_ +iP*nX`kV_Gq>>B2q)Q%v<}P$FKjFDO?0oYl8G*mwF~wQI7pH!PNrxr%=LPmPd|MhP9VC6OVEnoT0?$rQuh^_ +^jP^>8vObxgMEF^NyIbX(J>(W2tnsEXohwL|fdmkkH+ol}uv!Y+9i9P)cXgsW$1C=-xgHE)vVfs!$BWF&wSXMs +qRxy|D`7qHZKt;M5@caZGe~zH~)Wc<{I^e6c*e2p9;Z^cl$rklA0L%Z2qybR}5?Wx|(%5R;r!1_i1q> +FcAYSB}cz{EPKkR4W>I_X +LBv95UxEMdfuTHiXk}?*u0@^oZ7<7AZqn8hn5i&msahPD()*j&w9cLq+FD +~Nh${->MzlQEYA^|olQAob;;3Um{86}f72Ae5^km)dBbe7x5+f{2Ij7LtjcQw|3lS-LG48B>mQ!Ly0q +iB*-SR*cdo-14J|_AXlQ=4S0W+|;>}70ocLywR&=AIENadDTlZQliAqMEEK;= +WVB&+$&aR=>MJ3g_>vR@=ofV-xrD{bZpiVq_qmQ-wM@Dx@T~@{Or8cGMM2H)Q^ST$-ox-PXSE4tCBZ0 +@`>@W&b~UMveOPGFt!)oL*@(a4+AmX$6!y$BuUPTqe6;G0FxDZCovx!#KUbB#rcz@N2vedO&4RL$h!f +GRUCOZQC!A02`b|jL#<%?Qd|_MiD^k4Q8{V@vM9PlLUUBdSsZkW0VBs1@CSf2MUpU#duN*KQuQT9lnm +mn9HfSdY*2o2O4Koy#t4W-P~X*jdraqZ*5_OnLbrsgFzYk+fc7O@&*bza +A!Ex=ED)Otk0d`aKLiX*mpuu64(W`~Ws_uBJIpE1i>ZMJOmp{NXZKtBw-5eV1>IChXNJnzrBI&f)}P!`sHI +{z<5PDxg{qw=JVeBfyb8s^@6D(1+gVI%f(#25mpHu29Gmb%bkH;%@h@N((BnJRE9lF2jg&2EkZ|dG8WcfQdFMls7Ve{gp{2hy_WJ)OTS;>Nd_3L$tg7kFksl(n@K$=>>$d|=2xguc&rBW34_kng*T06M8CkN=0rEqB2^$F@{9~W*qX!Jbrv7DNOFSW=SOsE% +fLN^hxZh$(P6*a&t^5{0&gRoC$P|ohO@oAm9C|*!X5og#Z}2FZZR_>=qyBTfuF*D~ +jei&Ze#lxwlNhaL_2=wqd&Qo*nmuJR@*9ecH}5*LfyX`Pa6RV;ir;W=o{tmk3s|dl9siL^N$(Vypp?U +epOJ3!tQI(OlBFE_^haoS2`xK#MJGsze~f+gA5cpJ1QY-O00;mBky}|&5=^;U1ONbF3jhEj0001RX>c +!Jc4cm4Z*nhkWpQ<7b98erb98cbV{~sA{Ff0_ynR&QnLdQe{Kx+R((@JY0-Y&IEu>YP|9?4Oe)DV4AmZiU4U +jm5@FC!djt(nILtDgpXY7&lN7`ch7CD2j?KisDkqM+Ck4Lh3?Y7p?hmZHN7oQ4 +&0-N}*7;ckml6Tnc+^$HDl13d{RO>y!wP|X}O4jkw*pHWeeW0O*8oM=j16h+qO#qLvn4wyQAFw@~gGJ +-t8PErb`Zk&)!DF0M^w$9-X%KI5j1|%4>r<6QbZ(==(BPH>Hv>}rygYFg|iL;5_iXHq=bP`r<-vQP2?B`#I-K +db`A?)D`7Be;^t80ve>=He*Mhh3b4u1)0xpd$V_g8ClUZwj@u4K%UWyjWCr$8!Ae+TfOs=2nc9Ijj$u +JY9lwYA<6GaRhou#n1`Ss3NnaI8xB72+DbTN32;_Volw&4!4I*KRHNW-8W>jchWgS3Vf&S_6{H4l%Zz +>ySU@%#GhQKKBzYhSbWMe8*>GU}V21$dEi9L^k#4z6Evj_}6q>mHtQ)HHn>UX;VK%m32mE79zVu0w5~ +5WU=|!$R3HxQ9$=G}3lWX|;?T|8*B<0h{ZyY4e9goQvCzT=#U5&!KfPbigermZQto+K)?wabLw0`Vbs +?e%)p-&zuXbA`vQ7~R8O^brojE8tP`Kcn@6L_dT&qf-B6-U2$8GRIXuhnzB_rE^GTotNUxajmO(LvK` +@AMQeBT0SbhQbXG8Pqh+ScO@V2Lb2)B`vXov=ugIeb8AN5kz*;T0gcW<$mOAC)%2!pF8Qc{?Zv6A9f{ +6{W!VQV|+sN4+TyIUieI3oGgyh?42HDiBDrMG|9z8@zN|vJ6sW|Kh5CqmK}cn@XRs}v?CmqJsPV%wa? +m(cQ96wrf>anIk*PY{H0X1Mm}(?Qqr5auJt&u6us{niIH|2p!2o +Buxh`4w{k|02%^-C%3_bLqB5cbhF;WrjAr)nR8@<`SK9{ISD{C8u}Pl8d)o=HxSMJYR$<8h#(G>7Mks +RIgL^MvLTsP)h>@6aWAK2mk|-TUiy53!s!K003Wu0012T003}la4%nWWo~3|axZdaadl;LbaO9tbZKm +JE^v9>efxXdwz25%`YTZCwBkA|>S4#n*?5yWw%n+7Y*&xuw6YIPEwK`b2$0;h+TL +^Tcdx#tUJ}3n7|aZ227_S`1RJIPb*Zbmik5XYt2X}O{cUWVTxOM;7wK}Q)uJq}vs70Kt7i3`nlAH6of +Ubd>dT~7NvYMc(y6-1>dP!wM*@1omL{{Rz$(+_OihbY>DyYDc`{QI0J5Af5LmPkz_2#5`JyOmC`k3BY +M$~M+RUiREwmnbPV;Rb!4hdbP4F=cQL>#E9f?kO|kQ +8V`Ed*MVu#fcCBNWDU4si(k*jZkxLlgP@OMpX)3R15zdpz70fuTU~2OP063@BHQi=8uTe|{V!95M+Ej +V*Ycf(VAMNgKDENziJb3ov;3)q2*{j1B&raSP9mhZX?c`v%s_^*ah|4-f{JK4#;l@A)#RIitq1rzsiv +?A}hx4S;rV%~g)w<%J7rF*QzRkMNvCglvvdHH;uel88exb{_zFT1R{_c78F6(*`&$0>#y;3p1!$(==H +3P@q@8a{jMN-L-+&A4p{kkk_%|Bs^{9~CrZ-J1gfBUq|<++(aaRn2$WJZr4lQPEQI7K?6QChWaBJ$l8@r+KMwvOG=BXZnXCy*nt&qHM;+9J(x;S|Runh^ct)bc?7DEQB3s^N>>GB%oq`uCIWu;O*%jOxdk2 +=?v3A`&K+uyV2&kx?7#0RgRzj<-^`cKd^jz9WXWI3a_)KRqnMhwef_^x^YrLNEjlL@X2PzOjzSb_0Lx +zvNRfM0K$*TMS%AQz8hyth- +o`E4JC{DBkX6xy!m?X3BwgiK)c~NV6i=4#GRg$Oleo_FHRf{4|U371%Ns0WQ*FX;601b3BC; +m4lGcAP>dnlgRTUs9}lfUxtClQS&HInp45{|gB_6MKovQSa0)6@af4Gqb#C=QxR>yCk%O}06}n@|iyO +f)tlo`Q+%2?G#neYLtwGiFhuRM40X2?m&H4gZs)a&Q)*={nI3H>SQ9!f;;BZ~KbsTCz`RtW*7xYggga +A7ki1{*j7XcW|z7=~phpe$li_?PEkVA`dY3<@WyG3n~Dj7d5*W)M`T$VJaiBI0eC-E2HvT+M$N +9g(bjL%SD>hIwB)YW_g)ZNnMv=3bGp1op}{F6HI~5(uiK8zU7QJl~Gm81?bo_ori_AtBV>84tR4>UqW +*f2=so!8*02LP#pxFWUO}WD6%Tct2)7H6+;wI&L9e?Swy520iiGJ>GqRg&>4S$8YFfb$L1n#5HI4*v`ts*sH^E22|SQWtFHfre8ih^e7^1|4N!0rqZ=o2_En&tYN8M +Tuy=P}UFt%xaBqz|6S>NqnQXK;`|o1m+{5tkV`?(v?3rGu`5`Zw)>~U?9|hgaznf6-npf{3F=b75rN# +Sq@Bjoh2=JA5M}IA%JaCm&v5Y-{If`Y#17cUBR~V_5S`hk=G1aVhsbem#K=TKuLATBOQQU5?9%8&SuX +;`4Mz_zyuip)Bv}`R0H$OVeq{50R+W>hqzhgnv8`Oph=NWvvSV3s?p^_?QQ_a1>gpnEEl-ToM*&>b8i +iF2qbrAvUn9aFU9A`Y`rqPTVB9%KwaqMz4gw-0ueSw-w9(=;g4N)}@dVgI93l{z9b(#S<% +ot6(wT;xdPuL0a78P0eeI`vK9=2+dAJ`3v!lR7&QhV3?juYvE&YxH6g=~BqnKLl +X@L2A4w4y$JRxr9!6kp3fsc?W;5KwNTIWDy28fy@ubRKNwemng$qUNGQMQ5~-yvA!izWmO==V%Vm +Cr^|2QqunwPlvI?ezJdYb>m)(2t?>1f|4_hk@68{RcLNYj7z4!OLsgB7$IDA8men9UV{Juo^trBIbeLl2f?s9v3-5%5S2SNFWt|cIl +_)!K*xN*JvhS^%LuWOCR(HFTTE|c;Cf%q|>sPnGnJ9DfKc$vW<%uxbz +=)mn5<@-Vr4d%=Fxh^Y9oiK1wl6af`kWHgVY_AU=REk@tayHdXQJ{ey-_jC+GPDnS>tzO8dRl0jjZux +3d4_Ocmj?Y4WJEJX@>_w`2ctd@MxGV!ScW8NeA}?q*!+xA&DLU4O|s1KhLNLT4ETv;vg|Q4?Z`d3S}9 +_&2kq(KuvwKsgpv$|Wd@80BCuuk%T%~|A18@V1a(`WoeN;>9Wr}vin7ZtR3XL{-ff`5z)5JSy;UBZP% +29E_e0Zi|9#gI?Z_tClRBp7p&?wfcM>{JBa@R1Q4;J6v^A=V&!Nb~!~N6P4J310Fu^PZ9h%J2>Ix{8u +}*u%G6!|Jf?>jfO|lx5!Rm^SaA*tSj;oI1q!-&GNKVd(cJL=jG`b$e*9Yo20%)TQia4Wj&8tS^c+Tv(v?&)tjF +dw9#OGU4|qVuYYKY|T5W2sQE(xK5}>5@+;~#PNmpEtLG!fK+disfg|%5*3dsv0HU0Qh^hcD7q +07ukVporVK9ffiLlK3MvO?DQ$x4)d_kuy9A1Q$2L4X7Qam75ni!?eP#s|pS{uxnQ@NdBfTDEZqOnEXK +1@$^zyh-2`IWjUkr3?Z9r^H(n{nk~x2j1Yn{jv&Afm`&o4iT#y4i5KWu@jh}N}$se1zu}FT-lRUWqfrxvIJ36y(HrvZ +DgsFu6M1U|vK$=xo!c^QCjE?FOrfuXnEM46Al!o*yyRD^$`BjC#LqOlytReiSEzk~Q(6s^yqv)beX~g +ZWf}8Vzu!;q}NWIJSEOm=*DL^%+fo8-*t4bJ>B?aaO5EcjKOkm^#K&Pc`--t}nkO<`zXLP0S;%oF4AT +QEct)tS=S-R0!c(=g~1YIm(*r8Hilch**QVPAvk!W!rA{fnyRisW?9`KpYwhN|=6~xW1tR_ +Kk)t8%Co>!T;{N?|No)7H+{aMhL;Ht%0K*J22PO>W8|;n$}iR?*s^4lRqk?;EPgEQ2m*p;GQL3&<)sN +_IDE`F+!9eM%X^H2QW5d6U+9u$<rmL)2x)!ppi~n;(f9TY12%95PaId0)uO;jDXjhYKyJR +hxRb=u{0r|hq3Le?wkp5q!*WSJ*kk;vor!wY$dyn!RYTm#&$(QI0nrC&jyv(kOof}ukZX$-umfKhn=y_8TcJod}-$!rN2rij~gTOy$%rJnh(IA)L9qtcO}zQ8?GT`*U-xxRAiv(8Bc +m6$>VVxFb2RYS|aauF`6IUh`xpoApoIHIF1G7iLxVz5x7r7jh~ytt~^BpzW1|L6mwzS0KsAJ}>&+M(s +7Hvpsvsnf~Sh_^*NpNMZLC7RWNL +6$0b7bQnMG +nsrAj!lHQfQ$)bNGPi_%y371N4@a;{Z>o@#tKrm3B8+<}e)~JETVSvC(o^p`vJ>(8f^-p@&- +l5$RlDZVh1Tz;5xK?HKn`mIBQQ0Xm8pEqrtactUl-L>_#={i(}>-t2HcmPiUF2bs{Po{|x5c%SdjfY{ +Uj3b`UxDGaKpT!{fGc0)T#=n_A+)uLHiKb*r&Fs_I&Ug&QKz4hc-- +>D(-sgvv%x@s}azD52W&blA(0ijY{BPv{)dK+ysqv3{=f@?i+G#FZswFvAW|Rt#Ft(^lW+*O%y1IRQ7 +(}vzA&(ZC4~2y=(Wx?%p;5s0vgTlr^Rl=>rx{;Dontd8@`SL6$7NSNE2Zdj9yz_@a++MC4&xOic*)}nJ!&MIZw_ +(RiS7fc8WH*WLby7g9mbpFqtoA?K4FH%tu5V9!32I&qwb-I=%y`8P&ISV4P1#GX2^vlec^FNyn_>f^U +vlOfWv^G9}Rf#!RCV3I=RXARH)(I(_|IeD-+i*EufWQJ6?ICSI8Gsfm_zV3}(KHd^;w&x#v%@S0vIER +IxLa`3VRNa0={0cZ+p!!FWdiJ>_ah{Q{?`C;Gooy<6Q+5`LD#+hzTsRs7^7IjV~F>*7oPU(1l^U>E&{ +4;74hz%Fxd5TD@eLg;V2Y*3ZRyO)%6U$B&hu9z(*tc8oggc|zdfldOgfzJ}?4`JH^06C;LObRTFOm}+ +P5W4)o>SXD1C@DPJ^46lij0+yQB3TxROVV9Lh`#ef=2U;4p8Z4=D_F^| +acNsgZgK)a3`82J-?n%pC6-O6WNVXEqMC@t#kXmAO{P=lPra`;Q+-D#ZP@1wT<)N=2(d#85O>j_Y +2ciMy+8*UpWS+at>U;q`HTi{iK4#LbTb#vkjky6uyrNTgYTur_$+w0_5MK^ef9kSe}4BKLLTux~B!^B5+zlbYf- +(PVI(7G4D)6^d$7q&@!|wexSap3H7tfwNDFu*Vv4;l69S3`Cv!~y#Jpg8-IFpa}#B{o>I(eIi2 +8tSOaYrRL1%0uo3ALKDPw*r|t}yFT9!Sb{Mt;iVcM~#(Z@c(~oduWk`XQbdv1I=3{E3xDDSClxp5Zz% +sHF);aj#Q)i-N)3!BEa}5;xz%UZd{elz+Q!U9OpUk8=YIHXyCU33iy;uah_C5od_ +{1!z;0s7Ln3(PDG+E(8Cr_i7oqF2Os9wp3=HA@P!!fu|rW$h{Q>ocr3qS{}1fSV&eDjR!+j@%T|WU*- +oHtbOy*lR($EJf(?4o`=IKm!8Cmzba~90^3nB79)AY@`bNk(%NmBn< +-<4P&q4OWTQc7x*WOZO6{Pq0;wa@&6-@zQ#pq3>Q8fp^{Blu)8m;k`-LzHCuHVna$dYJX3MaJvfoVu# +^BmIv(1Foxtf+UZ#Tdi>!x2}Ojo?SfWTju8QPn{key +8f^bce;n)Jb66WIDLI|aC~s|^TCVw_}~OnK$OLA8uu`!=-}B8&tDw8{L_zzfBws>pI*Ot``4r6lhdDn +`LDnIJvpC%e7LyGK3>h{d9nDltm@_U&F$T90f?DkcW?jUqpu(T=aX-?qxc`ehA~Kt1GyPqxGb|ql$_? +7>o`Gj&o@8NQKit9#$>RNNs(({Ja&kF7d%+CWs85=O}C-xtR)tww +qdNw=@+-nqSu8Km$!i#9hv7}`CKLuKGPB8sg*R3aDn%gVwE0#Xj1MpP82$^CTqRRY$A+;iESkB$+x(B +;|6wZ}Josw3Gx~P?{U6WX|D#nMPZ|9d{S7<{-BfZS#G6m;3oK_hZW^4Ro8D<-c-NI|X+cI1*RpKx0BJ +g*+X7p^-x{<I?oo*}7biGv}uFSy{tSlYmlTuj6Y5gT@B?jlfXBq0`kw^h2w7mKohNmwf3V|jhz2l)Pgq{uptoQ{-cH#&Fb%e{dHvi+g&eOWl +45#U&^2QZx!yTr%%*_jo!fPC#n6BID!tDC1Ez@iZ`Fx9`pcq5PiJK!-VpqstGPH;4bX%^FXjH$hq5{ +lo!(8*_5ttazsTqgy0S#r3#Vdk_GO0#vE}D&-I8BoT!O*W)(YXOKOJn1HZzWkU18Nqysc>credoGINr +WS|Y|y_pbBb1vM@pMvtxQ^y>RIoA?xFRsn1}7ucwWifVKTHyVmQ8%ZX`%c02#*?=sbKgP}>xDoS#*IN +Y=`AVn=)fZ_BJGvl??O(QyWa?e-B+#a_ncV!@T9Jy7$N)(Z+{HX6Q3Z@VnzauSUdz1TQDjzh=%B{0t$ +AOs1eGTuF!cX*}m1|9Zo5fIkFnRZ`CG)#<(G%gUj#L6<;AkRu^4B_Hj66Tr&rt0C!CZY*c*jEDUMuWn +NLuGZC;#ow`wIDItkEdl`#Yu_IB=cz4#vMc}r-&&TJ7@{aTT!9td?fA9%#cZVY#L$e01BY#bh3%_s^o +5}q-v#zbJIkwgmC7qot+)*sOo6jEJj;XY8e|w_xBgUChR0F-mNEBTucSu-Y}VdOr}Szml#wmme!Jo%Ybz;jUx3nH-gX&fENm0lcx=J0%GGq}68(ZssZ1spJhPkO#R#yXKz#8iCLS5Lr{3OSq!=rAG0_6{6?%F`pPVM2gN+Wcv$S%bW)3HENl`vx$H|GGXtcf)5-=s_H)*@ML=7Z4Xq2^nx_{@rhD?DSon@|4eQOXJ3D2AAz +vkTVh;#k{aVMEvVHWa9wuPEn0iWrKxye4oiO?AUOLaXrTjRvknopY-M-1K8yXw5()ei(**d8Yso`qvG +rC(TX@IAa$(Jgl9OZL-$Asf!LMR{cu||oU)A4Rs`e>z|{$40ZjQCrNGG_jEjmom2Jht9D0R8f|(y>FJ$ru9gI%gEX)=FJdy!*0*_`o0~)S +s)D&QkUv5t0;>Y*R*xU;g%^pk_UUFyjo-xs>gRAMWrvWX6XSRiJFE|;y+$_!3e_s`|Yi-#=NXcS*h-u +U-VqT6W@ZFOrj|xD;Y&!px_Mm;;zGT5P+L4)9t07I$2&=v_PiVPp?(?;SlL$x~xHMVL8ptvlho7AW#wW~ +eV$7ElCl?qFPIr<5zC5^XLNkI@JFY}|+bjMi(U}0IL_CTBf8j_?hBysA;Q&7Gd~&`R^*Lw_*91AN@Ym +W8g*6}PiTb|I)6;)XwI*QYlZXD`6y~=54CfY%`Y_qbbrd|~58fP@58jN_iZAT+wu9=ygPjMh53!)*KI +iM8SONVV+hB}cYo{JFs8KxR8&G^p{GI4B>_cP{%cg*5nM^|T6&;*%6^(I=|yB+xjPk9Fnx(OPALQ9EXkb-( +ZH}L-^(DdndgqXo+KmBSeXxj-Pzej9EH%Pm=^7&6kS+o+1n%Pj)bKlavU%#*(N^G1GKD5(D(E4s{s@F +>lS;DxNZ`~YrrIwq*ApS5wFIPGN4TF+;n0$vZ#@oirdb$zk2nB=VZ+CYC`?&{6;E9Hyjq-xV9BbpI9c +2Lf7>7)d9;khO_0W0s&`Zc@`VP~iPF6_Hwp89!e?ETm+IZjS#-Q9!tZ&S)nxF!*urb{}pZ?*s!%D#Dq +{8Htiq4MACV|6bjmKQ7&dMf>AuEAPG1E6&Un?-^iPW>1?Gvvmk;;jR|iAYdHKUZ*Ycy7<%jzL4iajbtQ)D{$=T>3-DLGaKIw<{WV^~PIsk|2r(;- +zI~Z|@af}6Mrx!XMv^&~=-!r4V$2~KGmn&zq_qcyXxN5X6c$7^&%84M6T_Y-+YF@Z*E6}^I_P%G}m|5 +Yp#zNft^sSveF%=$`Dd&xW5>GJr)7d`PK@Z@)9?1JSrh1XF_9;ZUFWL7nh<@*}A| +BtSK(}`EP8$&qdlB)l8STT-%27SsUpe3VwqHA|#F^E@{r*|G0+cUQunGb)7^G~>nrfU)V-%tkHiQ~AX +sKM%2&q3&;7>w+K05Zmh#orYy`wQn_QOW?r4F2!AueHQ@WR}Qx6#c;S{Qr9rc^~M$0id^=r#eEnalZ? +^;vuRVZWH#xH`-*F~_g@9u+z~hjPpMSNzD_5QJiKG3QV*hGuj2qPB@^kmc5}YQ$q@4~A@l?L?AY+j+{ +@DFhy!o8b9|IliSt!+7x{wJDD2125MU{4{}aV=X=du5NJ8OzlPQP16_Ohr_Rjyx?>Ipim|fmq6j(1s_ +ZmWp;swq%x_Yxw9_NFrlb?VTbc97<{h#BCMQm@j$FUoS$7?j^8*3TlCE9K~{y$*(|RbqxQ@PdItKacjX30EI<`wIAs&sz{8CB`ltS~?j(vJ@D +gb7l2sUE+t~L^w#M4)(@M_FqZ-WwI*VTxP(gi)3PgQaS;r6c%dk6gDyBz4u&cjfTxv7AYJlbc0p=``~ +_-7`Z@;1w6x~$$5fvkl7BUnS5(xeN~BO*|XPw*VcC4*#~J*lrbIP39kJ_bzVC^nZIq08hh_2r_cI3V( +pdAI9K&V=E?p0!f#)Hp)>DP!wq!j3!eV1o@wx7LtrZWvvb`||d4>k7{_n4{bBob$osjZXa70 +g8G~F^FRO6J?=tpbng(X#h5;B;>P3~J1sfG(pAd$=sD +1}>kqapl&dk9#uSKRFZnJW{O%@NmUfP0AVk19IDZoY}NH_uegA^9zDOb58<4Iv$@F>0P*xBZXKTn$4p8gex +%Ri;a|_$bRVw!)Hr9fgOjkHA;#f^HC#4dEq5zO;S!?rYK-H%`oqcFN|?8F?~;}`2s_GY!Oy6AK+?zlc +8zvo*uM5($HuiZODWS`(37?|EYWSZLV>s+0MH|_5t5Bn3EX1_v7&04-y8?a`SDF34LEGZuPG&!cQcwJ9}jsFEuO9KQH0000800WU*Sz><=57qzx02u-R03rYY0B~t= +FJE?LZe(wAFLGsbZ)|pDY-wUIUtei%X>?y-E^v8mkjo0fFc3xe`HIk$LMi$IE_^NANpU9<(sqPEnyE9 +f-*2?Fk7$h~BKb4X=Opl?z?erQgK44JMnWEP)O|8nY9{HOBuW=vvnBoaG4kBJ;^O2tyV08mQ<1QY-O0 +0;mBky}|$7rg2^2LJ%?761Sv0001RX>c!Jc4cm4Z*nhkWpi(Ac4cg7VlQxVZ+2;9WpZ;aaCya8%Z}SN +6y4`5h}pz5aQp#N1cO1Fw6kbXG(oepXo<2}%c4qBcKr7}m!$ZR?IM#+2Lr>F$oszM95uMm_D_HH;Tg3*yl-ZqNTKqFgEgB|!D|E|i!CIxmE2Fxj&?^XeG2W!TB(h_TRF*{I*FcOd^;a=)kmIWQq%t)VLW0Na1OED@D0^d9=wy%dp}hi+&{6!3u{#W7K5l)C!kVoN8WYk)%{HWf +%oSC2eOma)rofFn?4mYs7BMCFDA|tqOD9}0##)zPOKAc97vtq3uo)x!XAQcJ0r73abi(p{k-Z2SUQ7v2_b +JqwMTE6bfmf@@vPwrV_dLL)sjWsW7JFe9ngPd`@4o0sLIZl~}pOb1jMLVCs>k#s`Lg1Hfg(`;WXcXuS +I$=4l`-%{ol!KxOk0nFFY6LvW!{yy_!lF_?L6W_ff;B`N~lLQ;vhgLVJU3?aVRXgBPptsxV_lU|zw$cwc5LbLLX3wVBCcZW&+VhiFs0ypkq!p)|Jbm$;Fy|a^nLQ8rApQu4{`&dz67(Jo?L)wI +y+bd|dW}S3n7qS^cdG9~p|Y&5r=s#wD94=LIr4E=PG}N^))e0s=-4ag59&e8JAbYuK%gfz#1{>G4bx{ +6y*R0)A?OZUnIt!&ed8t$@KeDt9PB69Oe7^pMOuZQPODrqMcdKyjSF5B7vQ{A9gbBf=z<UG^nXn8HT~B2B<}xRgw3Ul|olRrP<%D>oJm6Deh2uC#5dTij_sT&a&DsNy6wP{b4mW5y%8nePO!0ij9Eyt>`H&S?gv!ajiC=*+!{Oz>+KUA +m^;py-8I?L%?bYxuUG2bh(RMF=9}r_yJ96Xr3Oh}@=gMXQPxH);4dd|~gd +v`8q^6w%xef$K1mX%|oD;K~A-kYIKJM7lG?LaM0I&hY)MU44p2LnCSGYvmFll&A1(loPN*tlYy0M3P)h>@6aWAK2mk|-TUh`A00062000000018V003}la4%nWWo~3|axZdab8l>RWo&6; +FK~G-ba`-PWCH+DO9KQH0000800WU*S++;ODm4NC06_)-03!eZ0B~t=FJE?LZe(wAFLGsbZ)|pDY-wU +Ia%FIDa&%>Kb1rasom9(?+b|5g=PQVuvVfZp$g%Bt3oN$hnwIE9ts=RSoHYCOr5<+VG--=93@4Vz8FD +zX(C9sUL{Bd?SQp4`Z1>cr}X_yZa^7Hzy8KRC=QS^!1gs)p;*nSu +Ut!l1Lfh3oc++TUUFMwU#lS_@7B^p;6U#xi7}T2aUpy^e|ZIw5mbLGS_$TMFK8)cT4evZn~kxVE&)k*^cI{v-OdOnaTD1cz +-TxW8VEJ5X85Ki%-P*};oV{|;$X}cs)1dT1AUO+Nn$D6~T71Q%uuQWr>aPf+actWMI)69u1phPD2+gs +M$StcxTA!^8zE~FmXw&HJFKsLgHPSU_KlM$B&_`E(_L(vAec|7a5V~e+}4GWYi*mGUpM;{vKojo$t%k +%*#N^YLo_JLn=L>#NIrq@aYUxq4h^yDAUaXR`@Rt$lTLs)1(;Z+9vbC8*2S4_^HJSNw3@2PKLwN_rGH +&!`C%e2#>_z@gGxPphR#gA!fZ5r0pS~iw7&2^5C8=Z03v)8f9(Z!`j9SizF8FM{~|G_gKjLKX2Knymp +qKeHuD;cSN15ir?1QY-O00;mBky}}NT($@K6aWApPyhfU0001RX>c!Jc4cm4Z*nhkWpi(Ac4cg7VlQ% +Kb8l>RWpZ;aaCx;n+m74FmGAnBn)ZVwL*`~S*_Q^iSjTpP#%{6$uYqKy(U2&y)T(KUWLRX&is66Xb57 +kaRCmuz_+YEas#8_xej~-PYx{xi+PdbuL9~sW33W>hydT=Owl~_2_vO&`v)R6HkF4nW_EA*4mrM_Mx0 +OR*?uJiXw)G?L^*FdW?gl&RgXm!;Uj4Z*yTg**3<~OB%B~a5{gQ1*QCDkRef=o-X*T=B|1rXxBX5SAX +5aS568Fhg{-%qjJo0K7yPD5u46dvEtg9uvz3SZ~`1`6Wd;E1bTg+y&U0q7a%n3ez+3^nN&F!znwSs?j +^^R>z$(fn~E3mSz88_o3>q{Yd#kOZQ9E4=Ywi;_*%xL;YHw-W+9=&l2o;Y8WG$02X` +KoC(}^+-_^Y9_w)KaNw-hCoq5j$k6i=@XkufN|j~_iViujTqMJx#a +bJ$#y*w&JDp!j=(tcJnSXId5gk=aRA(W7*W{!NO$vl=4}JGOz*;5y63~#HvuyMg7xax?CZCyLb1l&P9 +dBCR}??DqM7%+>*xJ~$lD|O!_5@LrXD}d7mK9@<@o8QfkmZ|0}Oc&v=kLk;zf8hlP;k+yGn}T9HmnO&$?Dh +v8}ZLj&vJ-jx{hIJT5^(cMs*g(F31Rnh$MVq15)AvvL@Eu^k64uhob*Y$Kfh+Ax9A>ogw%-Q;!M2G$b +2EcA&!mb(MpQ6RiyqeQ4xQH2bx)2AwPT?cZu`6T*uj>zq85YTGJ6QrbPr +8?YLNbKhxYBM?H}A)QZEj>0~K436=!5!h~q0XAxKcOq??wmg@-Lc7T~D3rX`r00~}n9sGanhv=E+dZ1 +iRWg!R61K~$+@B*!*{xEYL6Za8XaP|f_<4d$`$@vSZxUNmrQvsi(m@rI``0Oz1)EoiDGuD?rXT1-R#1hEm5C&Z9f-kiK7Ap^ji#fGWbcgGQCi@N;9PlXXWfnRux|Kio!u3n@CO +(GB!nTB|A0_HW{6MZwb&9`sUdOw{H8j^*nso?&z72sx0pLFn5c%!D8>mhrFJ1P|#+~ +y|^cFn4BQhl0Oa4h_hm$VRxXr=KOmBI$Pfk+0C6~<$f+BNq4@+DoPH8z<@RJ~LOn2Cgz +m{wh&wUcf!0q{>F`VY5NE&GChsJ@2|BiCL2tinufr)q1^5YE+_%&5ux5*tkMJ9a +pFNy*^dF-XBbUxNoRO#LH0_h-(}VRwOX^mMP3Q$Z{x95*x6Bh8O5AI2(f +C*$Cu*&g?4y6KJ?5E8{D25eBFABsEWPI+OGPABj +R~$E8jF>!FF*VFQKO_S-K6V3wN1n2{%M#SDf;BDBUz6#JJMltjy3B)N(WOS@7f)dw<}&2c2y=)#tZBwI(RYmAhf2>^> +G^WT8?Ts&Em3(!~U-J&z4KNe${Ua7;wM8;?L+uoe<4`-7@rb5)A)iWmmez8ve}>?Nd5I(ecz*|K3A6$ +g4mU_8OD5;Sq_YQnykfKu>a++KWPK}5R1jM=}TzYyt;MG?x3c?PVJ=pRSPm*}8rioQ$>;T1(#d#`Q^` +$+jtVK85b&ew!98l*3fPta66d8(X_Q*veX&LU>YAAm!q*l{3I1HTtGugWFXUPXzyH4=#koHd7-K&#vK +K`JoVL7`K?z#t&-1iCIIxXGd^rjB9qV_n-n=+?Wc)zAyiDKaMQj +-hBZP^#%1Nf0dy@HCZ7RE$YMT5ibSpJ;sD+vrH-S29*^BrO#>66yhq1{nV|&N4)_~ZGEYb~*dsfD-?$ +`H1A;*Lz=mt_z=ngp&gTgAYyQ5>z(_2@2@NKNh;F$e4Sh04{!X;fnWgwd&ib +^^Py<*+kOxCB^AwVLhu=ck>LiVOmSa}X=tm$(ttUZfZCkV1U}V$daa6aRuVb)=cE1N4~y_RM}NDELj* +RT$JJgE&gJKA`{tb%s!!NRrr}fDHUgiE4hy?!_b3$FW@^D5JhxvOf}f--F!{!y$m=J521|_b~K(H5Pu +J@c3|(Zs7gi-+0Zhz3vBfk*-jQS_#)CcvsiG9#>ehL +`F-u{t@j%Pn^fsL@P{v0A_m&ZhkZt?&VEb0*uaN@7wU(hGiScdpyJsq`aPi{wlfE^`8ksn`EO`>A3?% +x$;(1rCm$BC2KJW6kn?ELuJt@j^g!EW}tLq)lTuo?_9U0vidG+ehS7VUhNmknYQcx^)22DurJ$$HsL$F+D5$Re9;^!Er-gnRs&mO8vHtK?MQEU?o-)F9|w#RaC&vta+ZV!sbv7OeGB%1he|({2Q +&@cy2(RUW-~RlH8CVG;C?jYKXFm<0YP{k61udYWs!^O|B?7{Vgzb5T>tl+R&0pnShqR2>%Mty3mL`G-$h{+3}jxm#&`O$dU?O)GIFZ#;x+?w*1mtZ)&}lkVD83|IQ@K +n3$|lMKScyM?&ALtXycQ7u%8TCRGGB^|)uno$+q5gRT<9x!2|GSf4Kr7IbdBN9eVjMd`XFo*i!wmt4* +T)|M~Q}xZOYA{QaRtT|KY=Hm2|+EX$ZQ%}^9eSCK`T*C&kM)^Q7NiGOebb!d!xK{<5ZKI6o7GSn)j9Y!}1`y7_2&|H>Ndd381` +RaYKyOsbPwFHwyx{A1lT0#lCSpUN@s+jfZQ6gNKxyUBFn;bl7U{N~mF?JM*PK0sI-H`(E3d-A?!)K^j +_yuFKS!RA+3RG|>gNBJ{~DEabIPQkO@)|b-c=`Sg#T!;#Ikyjx;H9rR=#K>8ekET5_N2$ +df^c>$agRVY#E;bd@Q_?6D&Lu~n%B%FUiQ4XuFPzl&8l?l3{pbj=WKIF;!U176*K(tx=k@kt&y@0eoF +cJGzC6qPWaR@S?*CZi$tdu=N;M~1ACP+0OIC;J7U8VI#uZ)rrb=L8Rtx{3p`L)%KFgO4p%Zm2N@!zhz +$_jm_iYU`uW5Z8d+9z`=xmR=(Btz1Fab-hH*11ed%wiRlv38$*zR0p5MTo6LZ)TnL!Tey^6w6uK&8K{5rf7IFi?RO-9&Da`9|ev{25{EzS!9wx3XJCvW0Op$y6BE%3 +taP&uS{q<9sd!#1^h5CrtOu++N>#FUq7R{s4XhrgtS7f-}_)3ifC5$l2JXr!s12%4fstf(^T{(a3ftt ++8smrt(mRub0Sn?01;9ZZOU82>uLpJg`*o6c}GbjFP|<=?N<*UM|B9N^wp(n|014tF7$rZ$&ll7SC+DOY&f76sC`=r>NWb1`Tq2$Vo9aG|-FK@1 +8*aFI+kdE@z+UEvpMJ2&w`88-nCmTe4hPR#K@Q_1czxKS}M>OkA;`5<<_+`B38ljUE@*>>)^xo3e@4T +i=3NNLC7&&^%H5F+Em0T!o)i(K=6s1&At|NO=Gg(tw0h1mag0UhB|Ihw&EMxM76w&2no-|7KNh5TT<$ +WY{29V9)1;gmXQyqqB!I96AEdiKWl9UZs+US2q5ALIUx6GBcgcNE>OKK2&(HE|CfKOe1lw1dRsy5~3L +285xs|z+CC$B^D*52fD&bMbOeK`q$mGNsC7cPLaRl6nhPH81+FSfVdl*q3 +0jJz;IX)dQqUUI~9`GHUhx?|v7yMt#O!gZMKS*nJ1*5j0zN;2DD~#IN=$y%M}m$_=UL9T)QnkKpSggG +o{};mI{LcH>%WXgVo9F!Ni5aq93;T{Ydf1-F~2&JyW$_`G2o%>bKg_6~f@9leTfl4xGaw@`gUWJ&1T6 +|OcCuqS;J#cxTNqhg|?y2c>W4vKH_nCk3?shUQV7c*Tf7ERvAkg8m-6ln%5BwCDyHTQ#pbRGWN^ +Rhwu0u2PhvMREZz4PvLe%}DFxOGO5Isy0aPDDmpvgD=^e)8YIkJQJ#A00!ZB?=nBs?t>pfsS4P+?D!5 +FA#qv$g>6t>-cOmJnbq^D|^BYCEM82g`;mIYI_jb_JpMNKIe5T&(!6mKDQzi-&!F9&O#l%#mS%!LY +c`$c7(fW0HkyY8QAR>8NTBdWZYLD^1`pf{&fumnsUk9m1njJ?yU0uvA^?AW8ukx3+4gJhvmIFoyoD +`#Et1RhikMcf9L)DRU^^X|hZJ=oB_}~!BP +eX1`*$upEGug+6flKCabC#PDi^$jDCK3H(0NBrc~M}h7_VfU?9$b0l@^JV@GBE^jM?uZsrLcjeWG9C# +R}-NUaxMqA)md4hJtdm*N+pco@8mZ +?p3RleA+X9rYgCi+y7kQy{O>#A1mr#`3Vt$tz;jT0Cc7M(EcGH>?NJb5ZuUc$KFgLLoX0&)-r>SX97C +W}IBeiJM%D901a>Kd@X=S~r1U9G1LItkh0|yp;Y+e?5qw?hSw{F(cmf?D-h<+V9xi~#^5raz>Wl*klL +#M^qQT#U;38OCy?D>0l54;8do7XnQG0i$HExJ@d!~H`JY1$Be1RoD;yDD~8!CZd9W`TQfM7#iFR6wrJ +w>WJpgQZ?-|&4;Xffr$U^Ez#JKJb719g3Wc_Iw7MV$c=SMH{)C` +|oB2L%(G1ZicO34?ha+^CGZty>dB~e`bMfs+@2i{E|*>kIVc13TX>=-tXq?B371%1<{lgZ0>yu#TXZu +x1v*l!-aS3?Z_SD&L(uNmw&;(mCX-j)LE^SAWckNM#n@wkEU-*6of@@1leg#rsTE_f8Mqt+^mfQQ68p5TnFuQJ)?kV!XO&;wE8#kVaf(U4J2*NOYeibY^O~^|K4&BB +vL&q!t?pUTdIJr{dMX1CpyAZE{~MCyf@EM(9m|?2ZFNAqG9itck6_*s@o)&|coN+Userx~*!_`k=d#{;2559HY +K%;Zq}ZpVfljxBVk&(xGF?>uw{iBg^Oo+qD^CLq$d1LLLyDw1`UBF3p?m^S#m=nl;Pd!R5g7bsNGp^I +25sRebiNAb3T^IFPg!r6U{e12aozq`}Cae9}(0jDHV-Y;@O$_x_IC8+`Srew +@KP^R6?=zZ=1QY-O00;mBky}{+00002000000000f0001R +X>c!Jc4cm4Z*nhkWpi(Ac4cg7VlQKFZE#_9FJE72ZfSI1UoLQY0{~D<0|XQR000O81Cd)<8`mypV*mg +EoB#j-FaQ7maA|NaUv_0~WN&gWa%FRGY<6XAX<{#9Z*6d4bT4CXY;0v?bZKvHb6;U%V=i!ci;qvt$%& +6wuvLgw@=Yu#$jnPu(os+fPAx1=%}Y*Iisj-eDXO&MQUHRqqWoNin*ab%O9KQH0000800WU*Sz&{z#Q+EZ0Lm8t02}}S0B~t=F +JE?LZe(wAFLG&PXfI!1X>MtBUtcb8d97GoZ{s!=efO^*JP&IJ8lx@xWULBg(_|(snglah6pM7A(h_BH +Miy0)ipTq~zkSaosV`gh?863#C6Skhu%#aGLCm9dTBjg@&*vRvsMw^mkLCM#wO0U^D +U6)#uw`Fu8$yIN_>l$qsP?U+5(PSm&FKSu2NUr)Em&HLM%U+*8@MeMpdMC^u_CEt`HVvn_z3SbfYXN8 +xUM_DCUh^P!&TBuU-ERprW7OEQbvNxrQf(;Kh9eSu{;f@<+sBegJq4x=MCA#oNPsQzaC9>mwWl&Q4kfo- +Akib0vHnG^jWY@;jV7fOFOtsSmAt91)%cjKO6Gwse@8x)vyql`0Jk9?UctyDKYZu=HX->cnH`w6}B2S +i?6alJKb?^IV;U-sRnvr4}jY~e#c%s8WO$4muDwWv#;I{&q7FKq$6Dv0W!x@$u3*6rqI3z}@ro|KWE# +SG2OPE^)V>~J%ATtSWBpu(z054&k6_*ESCN@xEE^wyltI<>4<2?&xYy&8_0v{ohd6UK6S=+(cR9T|1x +EThgc{R)5eK12W)P4mq>bDnM1r8qDreeFBTM +@hdB>^1W8A^)I|Uh@y^@b+EEjGNY+!_NMxV&SktPh(i(6!4}1UW$Z3;(IMEHe;Qr%9(0x-Pj|@KVZcklq|^>!GI%ViupaLRp`{tbk19h& +D1gUgNuwEGTEOk$o?bT_b^qZn8H+V4^fvGy(*DSMuKXk8mOBR>b;^o(zV>y_i)%-ljaY# +B!HX4gTa@^>ofkgqCP0`kvQEB;gE{t4&ol!kNVrL*oa#>tk$y>1sne$9dIBAlliDX0uO|93Z_>f$+Y; +{O1snb3>bj#?Vqn(E)t=_2Cz#0|yuJTYSiak0uAq|x!{EofyQf9tu%5ljw&e4{X$MK{r276mBD| ++<}hjy>at9;&nXg +y-E>q~%_OHq%9k^$3y7)q{3qnE?HWKIZyp%Yfr-!;MU-d>4}r+{d$?WmBs)DX#@l3CPu3FP669&Rm2Z +6LbRnh6G$7>x8t(g@%p95%gFU9kVAuuc?nc@CR2z-lIaQB&Z0wHJ3qyORzI&dG&F-d2=1WbtI)v +lz@ZTB4$tUR%W?PSJKIbW4w+s@$UB4jEh +LTq;WX$4ElxG!QWh#iSx+SZqLIobb4R99GZFP++*fYJ0AfpplNnHuI0Z`t;s4^t26RZtDczF(2Wj_=SPvU$3yZ4!EfQB-)5r) +3Sv}>ODA|9CTMz$6dF+*BAsm-i?FdU2n2MkK-xDc%HZXBP;a9#<^XFWwz6``(H-?r8g53&=Ye6%BUEg +;N1ja3uveRLuUqT+)acOrh~@ZwS~EYpW(>%r!Flh%6yj++8hOBwLw40}gNpDpmyJUsS!60I7RU$Ah)% +#=iJ|&0s9G-&d_OnFqW;wQrDMTX^SZd0*8+#m=k~A(Iuaojw|V1ovLuh4%w|SG8Dv8e35C$bJl3-8j3 +%Z?c*L9`885Ec37(s1FoCgL+Y7|JGzo>DbGdFX1uyG@<2Xm>&hqe$;^FL)$F#q+EEne{aE6ty7dp3=_ +VhG37PW6+{plsc^z}y4dQ5vm>py4VYVadIBwY$|?(&^LPGbgA +sc7pDKVm42b9S$u?GGCKLYJ`{_j*~cjrxfzq#0-%6dx08-Zk~Quy3DSw=F8cC0Z>Z=1QY-O00;mBky} +|UvWq?d3;+NfApigz0001RX>c!Jc4cm4Z*nhkX=7+FUteuuX>MO%E^v9RS?g~b#}WU|zhZLzr|y2gAbh|GxF +ql~m4?9L}J<%=@1pW$F3p&th>D@f(g$Q~|+g2R(Ro{fSeG{|LOWfASWY;zK_YhypwNB%=P1=_>|VZ5FE;#cn~7z6T;;*BWz2jB4cgHzHkNStc{IGn6h+u9z)yjOh9VI98iv2`1K>G +n7%wAVc`{TfmZ~oH=qKrvfV)_VtlLT!XaCl{vg^;Dt}WeF!h;051j|S}P00^oJ?~yUJlEdRekZEzr8X +x{4ZRPyO_1R?H$H?OaIy)Nd~mGU3d1vS8P>Z*IP>87iQ4DZeZKH!_{O>36d#sUpR6xzF@wqaK85@*Wa +|S{ifOBZOfo_lv-R{7xdjyr#E|+3*3~8mO2@cbFwuEG(NwjxOcO#8VPAO?#FJLP2Z>Y($KxfK7QIPec +@WVcAc-K8r{&AOl800T!FUDn+QA?kcI~Fyf9LQpe%`unUU8qs5#d>uyE~YZeTq;6k!#ml4o2sU?vn2! +X726VKPRXVf}a%@3?`L_;ahAXk%E@WG_3*AGPeTKSmX*M1OV{61H*mLfZG)HYAH&bc8SyxHw9|hw=CA|`&+Bdh}AzO0i!-z4zck+0j +r$u*bxwq|Wi^%(K!g{A4mD;02ur}?X3si>cty6#p9(P?ZX7h0F33J_G+&c#mMZjeq_hHM2v)B{r_s%9 +F@W5MkiVBcY*H{#z_j0~wVbQEm=*`TUwLm~aYLY6}jIx>MQs#0si5$RE%$#*yLj9Pl*n@!sgv5+aho&<8C*#73;wCmSUPFNdaR|ns0H7H65`dUOQ|oY;0r$ByjG2|q6>w8xH?uSY +IWo~^2xi=k&4(^2N?_x%fheFx=9*Rty}3MffKq92BwNIXqtd%DQIF&qB(7VqNDwR|%A&wVS*5U+9d8w +2kU~{qY-;PPQi!Hq2_lCeL=$Y{O!B-^i)<-OLffg}O@TleMomc^l3Ru`fk=P|cY3%V3}8SAt%?yPOVm +7R)G?t{tnI)HX~g5e*Nd{(>dZ9v#bUd@Sg)hGUGuUrTLtPMUlf$AkQ6~%^;1@}THsY#u)3|o$l8aKq1 +Q|MuI#g*Px}nXb~qrOjXCwVeHVJ(1S-R}A15I;?q!JV3|u<2pg*?k5deONkng_u_}jm~bN}5h?%&w^* +WJ(W-~7!F_io&O|6_Rg_U#+rfAlFl;J;gUez>={?H2;BQm_>WnC^c%y?%STe-j_}Kb!7-0b;)W;2+<8 +_NVDZvWxmUw!`I=9dOg+&lQ&U3er1fBhYK_}(qGKpy +_;w-4UD{qW7Z2Or-f5B~hxgAacH@V!qD-g@KUt=m<2RtaXYUFwB0s!9g0R$=U)Fk4cqW49J_$+X3L{k +|PIP#1XbxC_MtGOVX0Z!PzG^1PC#VOsYqg-Ak3QB}O)Du0YcUC +E}eh646PL{D><2>-#O@~>y@M0(;g{EV&o=v&-Jo!IAbRb|z!$?qE +SLXrE}Wtr{yUEBL9*pMd#R`;^gYoz{MgQWxk1j#T$^WkeD5EmgFkJQxHuaO`|g>jMi$)IB +|0AM`?s+YAKD@=9-B-9h&6D_4RdSuk$n(rM5{I5j4flOy=JVOJZYR-TdM+i4c#PO;X$LKe17b75YwJ~ +^2u#^Xy?!nSuU7PzeXXmA@>?f&rE{Sp)D +@M7}CN)k_uB+d(rNrMjfp9ZibH2U`4VJV;_i59B^}r6mcO+iVu%Rbmh-?Ere}_Zo7DDk)KLv?z%wh}C +6G)>c(szgVkcS+T1dgen=hK)FQSs#*>e6j)y=d_D*Q4ML{Ucb+g?Cm{|hb8~v*OEhuGSrIYrR1T0i!H +X^&vOFG<=b!`zzR&!5RGXt@AZf-_)YeP=aH(Et6vCR@pthcxOl=)|&y?fU!;if3PIucM0ob|-xNySS_ +J6YND=XnQ_i?hMPN~VRsHkM=81hhA!-*IL{t3tn>^CfR%@n7XI~@8DUs%Hg?WKxib-U`aTQB+Q2&U>; +AiJ3_by*Pp+l|MIJNm{()>V0lJwoIcfD}s^=Mu3jb^UEwk2M;{$#b&Ph~eoe8gm;%*`oqY(;-Vs2xUu +423b;vet3Eb?eG$kyMet!UQPnRko!E3MXb6m54uj%G_%A$)KQt<@$Komno62M&k%}Z~VH8y2x>AB!$hEA500%c@}`5*xf +>%ODwRYByqdISDa(1O}!;&pvqbCi7CJ|cYC0FD1ix&L0Jl6xX%2T}P%Y|p+dH3iNNGe)-81i<>~g+iN)J_{0|{HE1k7y)o +t*&$r!oh8rWGc5=H&D;g2Zut*TO9KQH0000800WU*S%tRvm1+tA0O2P903ZMW0B~t=FJE?LZe(wAFLG +&PXfI!5Wo&F;cWGpFXmc)bd0m=KtEV{;#rORwF1Q(?m89}g$zm3wg2L<+T!=I+)99cx%Ge_F?X7d_xq +Wjo^i+{w^5i|0s{HTIUVio8&;NS)+ovBs{rK_or*B{W`qRtzAOG>`!{<*we*fJMAOHE`f8Txk`S1Vv< +-dP=_wLuf{pOnwfBOAz{`k8;ynOxg=XWph-&f`R3;zB5eJ1Psmlps3qJ9D9?_cWJ!n_58`0}04_5Nk~ +KC7x@M6o*S3A+LIDJ8pCK-ZFNrF&O630>hPlsZR4$fKesew1uJQ#4S{_Cc7^Ct$fl4bm%^3M6>h*SC2K?LwQY +gh0JWqQv~DtXGfc8Ig$?T%vMZc`+Rw&*wtcRq^@7iPk&?YNK%J$|eo~$=+Kqml$0w4Fuq$*z8T+W1CC +URf40Fh?vw_u2c|aVikka{S_?+^DMmPnciIApn5XvOa&XRJDY&z@I9Wrq$Qy!3;Vd~5~PEg7Na*6dE8 +PAdV)Xy>Mkg`U;uQLx}GV=?DCFKdx&$VPV*W%|(I=?W$kTM~=0B+r2yJFjH?b7aOo$?E8 +r9`roS_IJmg$pU4S8RinCqzTFOY3323A@5cxCLSzLoR_ZEFq;!hFJ>P1WuHsJfRU +voyI!NO<^Z=fiMCgW$d;wb+)DR4Xcy#fQFJy=d)omgp@9|jV`r472@+Q=AzLAg_MRmTkqO>$N3E@BkG +*wKBV)sAt_IYI)|?2;A&Ey5K}jX40CXjhc4WNsZ4o7^mA&R6P`dAW`R7^O^19@sZX?>FTM8(}-4Ba#X!pVOxbxlg!Q=R!ntKrC6x13IBAgbSDQfVj>=3fx$Tk +V~L-K$ALmBZNF4c3sK?Vq>Q~ptGb`g^jQ&T!h*s80wTK+=M!!&3^8)^EK8H5o4+o!(DllU`uQl_QYE; +W8qW>uDE8Qv?n#2tXGp2EBL54Tp9d9O~u&pk2*2-=c5kH5C`f!o)PB5^grsr4tFAyYw2Bxx5?n+L}2h +noAicb<6{QRx(vtY^wl`TTDrmYfs!U8J&8xr(zwTJM0_%M>zzI6Vgiw7>Ct6QBE5-sRm>R-hgIe~(wO +hKU$ivsdbQQGgDVHWuF?yZGp=_r3X#U8hr9jUnn)*JCYV=qD2XwUHev}VB0W0sP;bH;JqK6UAp@6w#V +sdy*em!}1nIh5-R4qQ2pI`QV5jIDTPle242W|p4nMMj!4=tbAkOG~Uh@mzVY^}<=Y>TrB; +27TznGQ5Y9o^<+np>$V8+7dU#SmH7C=8QBvgix{!v(Z*X=puJwq;Y&7^;UY&`iBzdIMTSjpiZL{X{>E +1^;-wy@i}UlQaWrgv0c~_w<_4^Ri--XHr#J>(C<1*^KmLvEsBkm=-bnrd>VYzfoXalb>MEqT^^g}D%g +Bb(!o{X6+zjB7qM)gNYf(@)i1mgYuye029)+>V+TWt3mw-Gda~8&o4di6fRe%Qjt7rWL%r)!i1nQ>P7 +?j|P+c)h!wg48o6J3!O0XwhiaGf0m-D|kgW=z3>17<{60?r%yC(?AItqVUwe1lcOfCI(W~)yIpv2lp3f;JlHJ5!gE)}6~GQw{TTp +h%y)Q|T`(UXp|ms&wO5l6D=rY&+)!7O9j;ucDRWXChB}mld0zJ-ro(??m;xxf@JK9`M4W~>NhR14%W$ +m1iiXmD8%aB1OUT&i2OZTHrjGsLGdI3keCEkj0$NBX%9%-JPrq>bDJ@L4(6IZPy&wT4sE8(ezY8M`fw +eGM$sUIF-{m$5#vG1zTS%%K08GIjk)e=< +OdZOy9DlXKkmW=*jZk +H`1V8Cy?=r{s+X6VQ*e;=ftcg9ndF0G}ld(~$~U7V{{#bd+6$9x_{^p6MdvpU;o*Iz$a=dXd(+Qz8)w +leDVTr!M@6IvH4U!h<1`3O?;6(seU(VXK*tr?yf*E35v%lXdI_tgeNAZYoy0wBBVW8PoP^?_mx6k5kIWriF;|Z+lT&rwuo|Gscr~joe?K1N9|1K+j&~A6J|i<7xb!_Gf8#(KkeZ^<-#O86byl*K6r+Ir +7l^%E+C#$JO1Pe@hkmI%)xWX1HA$X)^MMk28aF1l_K2c+c+oxWAZBRo7A5p0~kvJsfGlwU0Lvo+03ZMW0B~t= +FJE?LZe(wAFLG&PXfI!7ZEtF6Ut@1%WpgfYd7Qo5avV95DEPi#F=xhXY-ViLR^2_*-Lq!a4u` +`5xc?vj_y6;M{h$BvzyHJk_rLrD|K}fnpJv`T^t;R(v7R6PSO2MhoBzn0)XL_Gq0M}hyCP~ +e{w*zb6qJj>$9`@~nLKj~)ts|flDL4!f=d;jcp +{G^ljFw#qn^keQPL7ocO`Odm-P6mvVN0{a_00Slo?m*j!nKFA1puB?try7uUS(FBRu!1z?!a+FCG)|s +oi60uAzZyUT^hJZ_S<>-?%f<-nvFiBU8P89Wc&>zQ?r4ZZf8GK4&>#7!K+z!ddn_ +Fy=n+79e|s@zs+GFKLM}uM`i?+@ARi&na|89md^PG>=a=6EXzz45eVNjLgLQ{A%c7cNRS2T&%aw)w$A+_yhvW``i +%2&{w+n1<&H{FbMHae1`xL7U%~6Bzz&_*2L6sfpb>J$r2{nFW&^k2*zWUWK}yVSR8|rbmP?fml?)?Q# +AP3im09$0~m+#s1xAcegxPkPGT%!(3zO8VcsQAOvibDmP-x`;$;<$PlI&mr}!&JNTX+n9=-)QU%I^n* +1czV)_0TG&vf@+86a4Rp5cY0nn +$D)y+%phMv|G-|rjitw}NZ0T+v=Doj18x?x0Kv2k@5Q4a0?{1dF;cLa{vY8%X54?ni{q{abaTE$C1^r +urD21~I70y4RTgrGD4a!fCwS^Ju_h{&UHSOm|KA^e_<{ZK!=L`F|Mmy{xBt+8V|Bbg_ccrI(s278@Y& +8?r-&&@yu=oR`)YhH;km7qgr$5c1sJ54RBnZWcx=G*GRX2I9t&HQM}fAg&#{*E`Q$YX^@axd;f#<&Me +AQ+rRe)f%m@TMZvEhLfZE?cdxXrw3#^0vL|AJC`HVUnb%#QNur9yER#GC2<8TtORLkU;z)88Ta`O#qu +k;_K_0;GCzoRAh5}VtBj||dFtkDA|G`d_j?m}bCmv4;!96$+QDJDqm0W>s!sa`1u0k>%(ceN2vOK`vk +RZH+CmY{%O!N0`o0SBTb_9eD{+-L8xFwV!A>oJ0kQ2STZp0SZ1VwPV3$fcjM34*-@SY?iUFd>&ZL7Mt +GLO2D4i77H|8i#(Mtbu~yU#W3DE4N3;d@U^%wqyGbN2RAje@Uhk=KtCj+b(ikftWV*BZgtPdVb +i0l=O9j74e20^Fu`3yk@acKO24+zF}iwzP?`5Z&JN#aWzf}Q|0iMz%p4*@hUJZMv<+BS@m^mkr2^p)85Kh ++^#k8f4Il<(R-Zm*a^7;x^=auxLcrIYiW!oMPU= +~0i^oas8=*N}k;c%T9PD1aTz2Rt?r*V!BaKEr3m>U5+490Q;l4Eum*pXgrK4-GT%0V|+Dm}frnF+X5+ +5CMY3=lcl+d=0>XTGa}`a|2*}?VPr$@=EF|?tsw{j7W>MPh_^;QVOB8 +ioIgPy(Iz#XF$Zl60fxF`Ym1d;az?Bz;u)bZNi8iSqyJ`vfc7-NaXt +clgYC&jJaOXjFvz<@dD^t67u&Hh0JpUK#{LXGq&voI9iJO|Q+kXSGY(*>SV4R$-f)a9Cilho?gv2*0W +!{gPfQeJdwh)5dR)$u34&<}j9G#^r)LQlfQZ%#CmMnE+BfD~5p}e-0gYML50Ywl`xvhq;}}h$V{8q^e +2(M;ZAgysvNz5}*jNNoV+7U)=tm!79-pvu5;4Gfu7AdpDaq5+fauxIr(e{=5IthaZ$~(0_8AK-jk&I2 +O?(Ita~pDdTSNRokY(sta}^+PG<%9QA@xfm5-CBPV7*PnK`UM%mv0du(jY9~!Uh3jlQXtJ|3;xZ3`0T +m-9cpk)Ty0{#6JW4ych6+@nKav!79SH)X6xI{`m@O&Dw^0|NKYYrvLWmf3JsoQ{gXZ{XW67g8NDxLm6 +Sb*`zyUVW_9!30@%6KsZ?*-(RR7U%=l1JR10XVqxG*1kAWDaW9rd2o919xyLwTNbN0#p=0zDyz-{vSS +GGo0f90Flo2{AKf&{|2*JwJFA4vvFL(U*oO3(V>o{n-SkIqX_b4C*nQm +OnQDN#OBs&fskn$SM1s2o+_+-;P2yQWkh>j1foSBg`T!j#n5u!;M7Be`>^L1ALpJ`6YMjlbF62OfdQWjviZ_mmEdQ_Kui)tVZn_3_B7_!XY|_<@7Or`?N! +tb#`p*5RV=%duq!3tP&?dNJT{h%M;hP7vFE3-8>p%M%s8}eECid(R=_K40*h$a1c}SR#7y%zwxCecbqj +6A_6tS$xGGD-f+0KD7PK$N$arH*~m=yI0`Ze8mHn&xp%F41u)FxX45_Q>>sK8wGq%uP6N>o<9C +2j8A^16^y71cB5~7s9*^D!7ze0wp@LYC;Ju8!+gHOj9Kv&YyND-2h)-6SwG6TwL*gY3ZSewg6;;&f)# +Kr8NLFtd2TR$1k~b~4OkZG6R>aiSBfE&4#$#eoAdP&-{5UPTet3kfVaUJhJjGce$KTX`;yxB&xvWBh< +kuTU*Gn7j;H^GjkK}+j(^=eKIi-^R?_)k)bTrW48h#BU~|!@Diezmw>8_NNp+iK!P)pA}aIvcwHZW;>8^M`k;&0?(yW|bGZ_p%1>F}_{oW=(#24_!9(lM#2k<8E;iGMz!G@`QWC8HieS +ma>-(w;+dtPK9`_T59_On}*xFwaQXZs3Zov=>xbYiFC0%`pnphP1!bOzKHqfouD?!XRIq*&HyQqNbHV +B`4c3p9R$iEuKi8?~w-NOjt8Z;jz9aLV1YpcZ_l4_sfN-TG5kgU!T+q~S6&!j_N`YwB4F>n-j^c6Ft6 +|-^I@5u%H07m$V#C)#DiCYo*Th>0|Hct$o9J#gAI)n~)o#Hu0CTKKSDDvmZwrwPL({^5Jv2G``)p8fay4?q0S +t6|K+S=HJRiNpOnFCE5e8+r5=!}R-!VYx-)oqK(5kn;|7mS)L?C2L)Zy&#aF*!K##lWW0s_9FsGX|l- +~Dl8V1B9pm(U7hS4x7Tsz@S!%&cP_79#q2}zPOL{iufaeG&e>^c|*CMVzC3N&&38s+km(-LS5Q@XObi +QDA(g}!A{S=NX{(*JO>odSbAR9 +m&?rbSAfJrf1XRSoU~7&J(1#AJw$EUu;=r=gFmCTiu(FsClrqnyFt=bcI|};>W97*#mKG46&7i#PD~c@n9lVBwa%=9BOB&oxrn73w +Xtmgz&vvsb!>p}nz&;?!1Vq7$rJR}SzW4G-Ga7}^o-VFA<@6_5WT04XW-4?=7Vaxm-!tP@m#||)wm0d +BEVIyyW?2gNE&$ESaDv02^8l)=F0V3Uxns5&o`e5uAm3ub81B&YX|w@DF*Y;$#oDs;`mDOWI$YjkR;% +-#wuos#Ape)9U3+#w#C~H4I2}?!)=F#O^F+#ZHI;piLJr5L&Ii3+JNcL(5QDpOOJ75nqBHM&Q*zV{~Z +mbukD&<*(9KE)S4FAq;Or|HH|SzXaC@-laM4q;?z;vDUwallR7`kRLX$0w-zw1UT;m=nH01>yfuYqlD +O3FttmZ{(EiC&Hzi4f<;S=Co}Y2|P6xOae?nl^@AA!}Gz_N(Ky8)ZqgK&N!_$L+O>u2qy(Bm|MC~&yG +VJRnf+^EJ{el|jBEwWa**9T`*Z#5zGK@9K#~>%zD!9*i5cW!Q8Kqg0cQbu;aRm%|Uc?PDnAE$s09IT| +l_G`Mh&saET|`Y@n#FSOvAcrWGmj5m8t|=A4(Cs6`xql7Q4Rnl(}#uAJ7#NNy%jt}863Kq>fs`!74Sn +A_0)p4aT~P@Jwx}W_jf25ZJ&1V95c{qW3huLn1S!IO*?pYQB?MiojS-!0!ZcHk5pJ}^#yKJ$E+Kl&DL +_>_F-$hae@%WdIeay56w|eO@RAvaH|~DrI)BN5=WGAtm18`Pf@H6t5KefgkuLG+E{PhFn~qCQFe5p4) +J=yEH_5#Sa$0=LW%Q~h2jKQS(W9V5p>LF0$&D3N@bT<5HL{zwgV&u^h6XgN2tKm>O0hg14Fg;asV=JI +Z|=;?y_=4w!hGrbIGKLM5#kx&=u~^M)Ki6mAKNKhv?P~gHqtpfwFbOk`#!pfZV!aLNL0W{V9b{VxAe83117lNu0uf?;^Pd<58|cz^mw|#(ZV7#zN}?TUE5ejU& +tn@$P^@%ZKnnh{zxxR;Xm)iK~g8iufvn@U4b15X_XpIJl1BV>Ch=;Bbg5QFB3B +HQMSVTW9&SiM`n$adZBE~G +zLR~y^;S{@VprMkDcMAolPoYMUszK3IZQu4S3m)hp +Nf2Lwus2R$Pl{agfJCMj-P%a3eTn!SO3rLzLwNWu+ePwyyJ?;?Q6&7?f3gH;6JezuAfpFdix1CY9$KU +y~6!XgFYIR`?cpCAmV_p>fAZ8#Nz$CvXt-mbEXZONm~xX;x|ip>n ++T|HNy0QtigzmJZgl&v6)*z*ia=>5d^EiRZGyVzUGANz<>3JKO8FShqNmqTvvd}+L|s2V*av7*+^KVT<*-3(XsQ#ZxKLbott><3f~7uYGb>ODftc+*>14=ITxgw&r7d +yb3Bq`ya#?~o)xLM^zHEjFh~<_ot2ChwI%8K1AT>R>lbK^)YGda)R+znw@<%CSl1S_$Nau|Uu6YA-Jq +9?`|Xe^bnyc~^#!g)XbS`GU{5@;ic05acNd`I*}_N|GrSN&B1-N`he0>k)ob{L|9T{~0hwrn7JhAPEzLsZu*FLsros<=aPbkI?j29|OW{aW>;C4|*TO9ZY=W$voc#!2G<@ +?iWTQ{sauMx(qi3{fkw6{u64#D?e)ITeL*HhT=Y-iejuEBk*{rHc+eR11fLn?sI6%isy8}l}kz@sm_$ +Ji4w8qA~{~wQ2n(6=Vpq_rp%6~SL~~&2x~CZyQHNfXxDS#F0{=>mx>$B`ds!Lo+%d4@*oC*w=oz2UM^ +sOh^AVe%xqx1Ic`2Ho+#*S;ty2o>Q81X9x=#P%l#-7n%RQJI1bIFaDN{G$HFETxk*ak(Fq2I`Y3w}%_ +@ERfnEoD+7uq%hPKfd&aDr0=(0DfLKoW3vr8g^AY1i^m_JZ1+~F-~R9m;}sEOXHUB@;|VA1=d>)3h;G +}l(_I<{K~+0Od3j!oj7VLXv)Q0DjM3z7lSj(@S-1?nO%{DMJk+r*p1t2#9&^bj%8>Drt;fB4ZvNXNzQ +%@>d5kth=AiEykpx&?R+0 +<_T|t7);a^pn!~=dmXA;q9Up&WXja&_M8_W)nick)vGGTSW&yID^=TcO!~^x=+w?Flf2uaiB@n +KtY-sB#k~LSC0>}-`{h=axFLt7|RbuK9?yC0PNfZ8Pivs_ci{wNY?;7;`$~cUB@}8|aHhqJj!X9$kP# +mJ51rqu(Q4{bQYATL_$Bc=vUEb-08VBvAx1OP!Q*eKJO`EjB_KUky#Vqw^0%e)Ew+)okpN)%|3}=el_ +e>0NDplOv=Kbnx`?vkhz?zLmK?c`bUK_yDWQh0(Uj&Q5TqX}k_g@i+T$q=PN6`EC>sUhHM2s06nC;I5 +Rvg9pcENPDj!>jZMIG8EdM+c%T+AJdza%d|Nt5n?bamuKzwA>PFE4wlrOZDT(`E^a#MB9Q3`2&txblWP!qn0v6Y +??Y@?M_vKcDYe9Ya^+elGJ +jPf-(2ER1GiEwaJW?(!wF!HehgnAzS6+S6Ma%#C;ZRntq@Z|b=i2YJoh +NZuu7sDdn$6-(TDjU}jNVre_NI6-{j}6c`iN&@~g@H +C;an^NxHV<%{$F2y^wMbc_?pMCS2;Ic*>Lc6fGm|zNXyNXzV~{x9R6V?n0DQQ_)z$KZTAw#<*fG!$Er +Le|Pa>Y+w&KZ}3i@b$T{^%x!bgS2q{~kMHp|S->(3Ze+q&wwpg2+yyMv)*dcOAofyCZH#>)?nPk2!-1#!lNjdKrH@*yf$EfZY_q`}8`^QclWF!HMX{-(k4nN_xG2hLr++b +@kwYf1WE-1`IL0_GteWaoCk&(EDC=t;|lPr%!!4|kQaR5d_Ty)S^p59lRy|KC&`rsadC8o)FfabEWDd=CaL7x&&_xw&5h;8o@kKqDrqFy^w<<1W<0;$q~p +UacWe-^)*QmAa{3&IdAVbiTU-O(T3Ty}k^9NU@#jm3=UbQVM|SYFG(V3|=)Jrh~BV5Nb7sZ! +W?afQY$tLk0CiHjGPOjH@ZO9D~kRegFD;pplm(|y!BS6*dM@yA6yF$Xc%Q0+q=+(PXtLJ!>IPN)tI*P +s>~UwL%i$pesYoIpL%L--Ym-^r=W}-H*BSyLhJlX1dSr%!pm1Hf;Gp-NsR>YyGjCOW|qL=8z{vp=QqNlchAxp=v#5BU#YBY>W{%US` +3BGqN0uh=YYB7lB4wE4_zEgY4xTtv@d&xN3K#WF5k&Yuy2I6=hgG?Y2?)eQ`Fr7RULvC5S4V6_pE9M1 +=ek~kkn_G8m^*0#LekY-*4N01c0ntY*(?@q@7xEP&6LuPc2UoAh +{I9m)NX$JsU?l_yF0y%bTk`){PS%u57PAG2w7s=fDJ1Pb$~93AiYRtvNqJ2(yzie-s=lKHN0H;&x7v> +sQBM9&c4J%Ih%-&cE>9L?}Cg&N2%&kDi)XW!@Q-&F0m86M^sE#j94`jRzHQ9%ccQi@Z|)nhMf5G+3Z7 +^agCGtp$<+XBdz5LDlXxfF$z1?;=dApu=~c`mO6%XdetOi9l81wySu;+Rp}D9JKa~cfU6=+?$QVOrAr +YLw4a|P(Gs3d$0qTWI@!+y^M|YQojekHyDrOah&-h)!ReuuMKrT<~}Z(%DD8@N0#0gfQ~xrUIpFa9?L +x6ag=$HMTtfa#aMO^5S}`DT>WS?V(VCeB!zcS!d4b27-<7njO?HWI%#iKjBKC=zQfY37}-B5D*MMy9b +_Z{*t0kti%P8$hUA-hDyLPsox6`gdVySgg`3fHnPc2OX5w9(r1*p(so3ogWF>=V2%@61E2xpLw8e&@C +x6WO;$9sX72T5vD@YUJy6DeFV`=IJB1M^cRsV~DpwhX6h0F(o%7rknZF$rylJ~?A#aIWmuf?G>NZ$^g +-bGDbad$z^o@W?fgrwIoB%P6gkMliLM_4>B<5NmfY#acj8yA-&@ZA=U03W0BU!HG2vcic;#L@8_YL)A +So=t-ospGdM~`DSI^7AAXV4;r+TAyIo5{}H& +&o=QoIe8ONbWEjPG~k4)*>%XcSepV-=LwGgHrq%{A1dUwfXzLqy)p_rBggiROR$ualMY8&4~se-og8B +SAk1&<`Z&_X6~L8uWwg+mj0552F1KB+VZM=#M1m-v#L3Nzi`?(0`DiKMByENYI}J=+7kRF9P%z67-(} +^q&<_Ad>BMxpSf8=1?^_5LcR{qQJoE>s{;ja9f+FVe9wmZ@eU}N-tGm+UmiWm2Jz{Vu=0-(-Sd>vnm| +HwkViP;aa{1Mj?V-J2DYa*a2+5OJNa?t#6`w%_@xk{2H{)1ztbN)wTTty&BBKz6v<4YO#fW$Aj0p2dA +iAuk%nG*)QKRN#rGH?@h$3Z=Gag^)Z0P^(P$bP|>-pr7bd~$+rsfH-0uT_)d!N2rD?B0Ea&K+_ECzi1 +b4PD-#E@#)&snb1uwxA%b!%qD5OACG^80Uyi)ZI2WjXF5SRr6R!xANfAOZYz7&XH`bxGuOs~ZKt-wd_ +iS+b5#AnN;A(JinZD{6RpqGY$zPPZgjY=qUYK1Cw;4da5(QgoT?*K$43EAA +jZNf$Ng^Lmf>cIQK0w5TZ=kOW;#>h!nzX|PPQivJR2_h6y*hNLs=k>2Wgre)AF2{PPtzj5ww5LqypL51tWOU&R}eTJ#qhdp_c}mA{$o`puBBJdUW6%dxsd5c0Oq}L;?eSGbJZT +t$LS$1g>=iY#&aJ0Dp#0IC$z!Sp^R7vO=`NS{-RT`HWcw(3V3#I*|rwybe(HSQ4@K*K6fRvuR)KvZQ! +kE`ny*&*pBet*iXCuJg!EN;QVc&^LGM&dGzZD)Q;pp%Ga2vMJbP2c0zpg+<1T)Zp@ +ixNq?{K)1~6E3QlvAGP$!^^R-z#{UE9*SMP2^hu|vg^>U-BHw3#_bE&a2S{Q`f#S77Y1rk%E|O;aWN; +rp^to@{aq*KwUE)Lw1V!Nlg@P{EU3S?p|*egv;{dycxE9?vm}oEye7-tt0YSTFB +MS!7W;own$H}@_v1!@^%9jDc0SOf48JRM}*{0Dk#as=ZMlF)PkN&d0wZtcYsWGUSmL#l4;J%8^w7fZ_ +>z;7kgjymazey3ajmXamv^rr=nd2y?AF-HA)g2EEIvJaGw|;$rWN +RpbO4l7U_DVKC}wp-;D(@Mw2&%PDY0N_%-*PGKurms`2z6m*4yy%TmJn=D9TyMXN}&n`gXNP%_{E{>F +F7h%(wBJF>InImP|#ktWb)a-oJl{0Ys;LX0mXyNk_L@nGsf~vKrXQyr9pu$EcB1&UF9D#dw*aDUI&JJB7#niMvbm$T-CU^N}h +b|ElOzd5;in`8)q<4v2BoZ)v2E9H(W`R0xiEuWdmu*H&9uhnxjGSaf-Gy;m04zesc?SP_n#d(&Trl7*X-U+)kFj< +hqR)b)?YqKMX12pjob;)PvRvTP;G;X;@!yu=HamzI#2EA)kZn;K<;$rWNbz}%OBm>9jCQiC1n=H57hGBhzG3rRuxTN9>o&Sz;1GOPmMZo|p%L|f${Jv=K4`su}@Q~HvUei*Unl)5B!J;+#eO50>$?}A;*1_zSXE?xX8(~0DGrRk<~yxMdVHooF)Meca +j*@m8^w2E`c{7@89BX;cPyZ2qljedF)eWS15#Gs|W-jYqD&)$xY%Wto92*jI)EKj|0oCffgak_0AuNn +cpq2G3Cd7THnyWVzbe4UAFqrdIaek&_`x2!Y4#*5@)ofScGMLze#GFuiZ9EeIOoK-2}Og!NecOLCTrx +l_iqv*s#B~~9eI)$+5aevS-?wA2B-3JYWjybqS{6WKr6MXC)at(K#5y`?e*5awK7qZzP^C1uJ{f}-e` +ds5<^~{7Iq)!t*R*#DaO4o_T$Lh(Eo!;JontGB9NYd(b$nqIt7ON{w*m_lUlDAk*UG(l%v`#q~pldi^Y*Ss~(R$~ ++P^L*~op4?z)3h#abY3K@aoCxqNFI*Suug4^hOf`tST$Uycak}-*E{JNuiLkwc3i)2K~54{J4y>PAQCmzl7j=sn=OS-C?OHHtG54CexF?`VKMumU@_6L@ +;hoC36iCfJsD-ZC2elBk^+Da_%|57;-sywZDP@{upln3fjMh4Fm+z`jx`QVjTyl>f`LQOd1J_{;NXyO?udC6v{uoIvQx@}N&I_laA_es_sIr1{WG1LWP{!%Zs!h};$rWNRpta6l +7U_D<%6z{PPwxCv;`{d%RhCB9Z}Ox^HZnP5xL8Uf9e!^or%3GcA3|>ko0zu=Mh{!Te;DIMn{5fI7KZf +>2S*pry$g2n8XQPkt7y}1z#{6w{N_s%txfE~LfIzxU?FWEeQ+~q6Mk@VXox?Uw8Ny +#WhmVh>(e%kNIQeh2W>!0yIRg?Y(VUC{hW{2YAo#Cu2T5($;2;{*cl68qb(}W&9w@Rl`5q{`)>` +YLZj!x$+OGZSlYzYp_DOGWAZhJWel8fntE-i}O?b3$?>dF6Na>$;*C|~^>k{u>r+6zI?47X7*JMEwT +LqjkzdIz}SG^#R+B~cx>Ds)gA_?0+rE-zCc|+x(cbkGLWp^0GVLTxGto3g;%r=o{J8_%9vz@wq+_{lQ +o3L{elZL3XNgj;H=EivanpMvcE`6Evn#)KSii^E7R)ayXAsJYW#;iXY>mrK +Ny#_S;OnA>FZbeC-%!b!+S0vR~Xp4V3n`QfuyyHcFqsc`QfJqG&h@-{iREcFMc*hxP24%wwoF(O&m2c +byenZ!jxnXV6JUYYpAH#PL4Zf(k-%GTO@7Y;pE@Bd!830Nbe1tRFaIq6*EBB;N&p|*egv;{dyXxvYjk +4GK-?C^SW)epvzZPiGTRB(Tt0u? +HiD^t4r0Okap1PiL&b`-1^`?38ahN-8aN-;FGc_2)@w-4zU+x-<@Rk&z-vHND2^t5Q-v(MLG~w@@e@2 +g3e61pQkfc6DRf({*i=N%hPRu6(@~dmWZ_c@`KB$|LKppB)z +|Av<8_fc=H6>vp7Kqy?X~H#4N&cYyi6xU6yra$$*gWx6rFCfuj{=4?F{L2h!{3mz7?8Ga$OK_SD;ZX6@HSUvKn$Ct$7afz;iv-ubyjaiRxG!iJ^z5 +5wK(@~5KJ;Kd;@3Z!?(oB!8@dQ?3(qmw}c~z*cF*Y8#RtW5$IHf5_+%t@eE1ez +J0QAp4uKxTIm+swhRRFR+n?nT0RS_5@_RpN!Xh>`<22q*2mn%)3ZV(`P54TYfg~q10R~r>!Xmr;;Zlf +ZODv|wDr*VKM +Z8ik5f2PNU##H$LgOU-x&g<9b5`pRdi;$_^$3|B4Wl$Y!gh_kQH#D#WB<^pm54+?Gtfue>lMX&i#4^V +{VF`uP;GEGUfHq5MPd{AB_L`%5f$Oo0Opx +mWeyP_8^%5UbD$pL_MrwseXT=i%(F_RW9_KMb8@SG2qx=_^e{mGCaCtCF3C6MjgVugUB>K_1@rmTqjr9;)BJp(%CQ%4k9$dXv9-rjY9ivS7U2c7_E&J!is +ReFO}7$PQ0$)cm8?bjG26?SP2H|o{ma2GXmzh8;{A!?QqSXzZPX%8OUMNM55aD#&;-a5zwiM%>R&8gU +YpxyN*z+!PqM^tK?uBijv{YUC=)3pknK^4Dppg3w?xv1zR@PrW9#VTC2Ahv(HD!kV9tg3XCGFBF_q +k5H%g5L6OQDSRdtEz#}{>hrS+Ek{h&=93O>==#;9u6W$;SL9tOVbVsv0bc8M{Vq{0!b0=Q6 +iG~WQX@C2}uHnfc7W>nPm3QRpn#Qkrae@==|7Cc#gE#jiioj*p0L0LYGh<&_cafdg(UwBxO~c)l9S&upWaC4El1V=4G7fjdIOij|&L|9MGX2)>kWOEQXQn +5LxT+7WyED;Bkf(aW6*)GtAxNX5gm@YO2`aTxk6x939%8h_77JjS0^UPYQiI +O=QvOtDRW#@j!Zc&GFN2!8YRGs<;7{HCh4jotfXq8p^gkK76M0N77K;T2~t9=?4Cm~5v6B3zp#fj +v|wc@68q*!qix^63fpagi)geq<5NlGNnED6LlV`=NAI_=mvD6a>e@2x`#|;2*P7K}AU +im092yFk1G6;-=G*dS@H<1YE=jEf-CH>HyZ-a}R=%OkHx*ocU;1hiN^T8(r67#Kd?Sd#=Z48-TT$x1I +QsFv9^=ZOJ9a1X0gg>jmE2;2ls3Y~gg}{;O-a_G;Sg(zVbsy&u`i-GDr`vKg`jq@-|CXlUWX$y +hGV?jTffmhY*pAoc(Wpw#|65W~oUWFr=ew#2({0Sd|4%ck;q7-D6utDTU8GZ$~|CWZ*+o`vPVwwc>zU +Hl=m?nj5EA`e;Op?z2!BZz8NpglrvUw)e?*JxsEn61k$P$;#^@He-W-Bd6^VV{SNdFx3x^ju>lAC!?* +}%7d;FKgFQO``&RNWUpskYOW?WF$0Q`@tqllo6j-H)11>OVehc+zxI|M{u)LDNZ90NNHjz=|>qIzguH +0PMm7mnY&Tz46}YX$6Sh8?8UAz>N1s&k<0+)ZT-}bU0S82sZRBgdcO38t*sGAL&&s@jD&$j&Aj>*@`_ +B1nPG6oBqQ`sJWacQZg&c0O;&=0lrWmr)t-MLfe2{JQXM^dcN-BSwWGxtivvzAP!>tr%#)yNxHKNoq8C1{_ +rjVq24b%yh{ko_9V8%uFA>%9=4>Zil^Z*Y)Mp=iuEOIiCz_k(xdZ-_Xr3njC+JIY+6%dSB2qLmXf9_j +0PPkiK@b|sz!-!2t#dEjB9-Xnx!yu0tjmJ2dgS^YHOEQM*f@Pfut~SL9)jM`?SLrxxA4Ys83XY0xA_r +6STxH*oe6C^#W0k*=`Cu%B-$CyXaOlqDLkD1;fTb975MzoK5j3bOnRY6#i{laE3Ywvu{hd49HG@~}}*q>)L2PDgL_w*WjASvieG_*w-hlr +>}~&UL^^ySb`dStPC;vT#(Y+WFoZLd#G_OZ3xcSz>O|x2_^!9L^R~g~0>Eb^XXS83s|zcb&0>9K!6tK +Nk2E30Cw5b7{u_bcNTToVq3OM8t%?Bwt5EPKW)6Rs?#@H*z4>Y3OCw$c0!Za;^79PDCrI{j;Y{v?SG; +LFM_y8N?X^`?TMlH;8}{)K>uH|K>0sCjd~f9ygFS-(`h+ea?6a&n!+jt#Ojt?O7<68mY9sceq +1%)=Y~rJn((6JsBF{{cX_HmLv+s9+q1MGOzJTTQ=VAU9a~*sCPK+InoDBwn}ZntE*gD~5`nCxYrj5sZ +stVYl+Z5Kd8_0&)yIR$()sBae$;a9gH=6)P|RMJU7EaDepkL1!Z3DH+VTm7f4w9tWo)QHT5)XLX=XS* +%kFq<*n5d6dyR0Hi(>FVa=7rk^X2S*GUk;a33ZtT@-9O{Aglr8PT-W|b9j=@Ya?y}3X=AU}8x?TJica +_|k>GR8+rNp$0v8o(2aO%(ZcgglAIDn@m9AKI@NSw`Up^L>)cQ8|4Ijl)<)VWECT*;=^uW4(b|UI%cH +rg8a7{QMz^i2Dj-9YQ`t?Lr%6|Fy9c8R_Ia1Hm(PDT*(#*&y_A_R5_*2%`trOBdfkd)QZ@_WciLD{Y0 +1Qw)hn+d$*kLSnk?t#M9a;@dxPN)nK$XMoCWn20XL>O|qbc4v@GXIW&X!THsI)e_-o!<7#CeC4)s>_= +uq^k5sIj1ozDzKxqz8p6Xns8LK)9i&~F0)+W}@rgtO7eRuE!^&02I-I}*Tfo}6R>Mj~US<;s7K5S^yI&MekiY*ehRId)5LWP!xLwS5ZpFq`{-P +rj+6no_qZjym&5*x&^NWcgvo)DGCxBCSSe><$=}?NT#w9jUId!(bRq@piJm3CGfg~GW-EZDruw(tv*x +4Msb?~cpYsrBNvwr)I9Zj_$rgt6KIo}0}d_4+x8Q~@~75&mXu{6@DrB@eGqq3c=@H-;L<|{@G)`}>ey +VUi^W3l5$S(y0@-o!Y?OjNdZKf^lqP-%{l}j%{2H*B8fHayxui%xO|3uc)i&;%ttB&Rzn +ePmw|DoiXjKxK>Eo*l6{rdZtE!mvhJ`LC4F?W{t`ob=q~p@00KRq?teC0y*bvAkP`$Esi3=l$fBO|xw +bYcU~%+4)_q*BK)GY6)MIrQV7l7}H&J7xo_J5sP-~KTc_!)vh`ru0&|$~j9RsOw4O9(*m0Ji_9<$GJG +p-C3xN|?|ss_v98g7g-(`52lIZ!$9w?Qv6UyPyr<`dMMTuQSfS3bu65e7+LfTdkoIQASZ)B?^Oo}ND& +$iswR5DYH(?1HL@Cz0jNb(KzV=^+Ag1At0X9Kk}D#bYBd{KbF>*Gn$eYZx%+XXVcLd<8ad+{G;{UXtt +ixUqtva~+l>ay~7A3T3%CH>?%b*g**Wewi;a>m+(A8~{QtE#Fnt;&r&52pNZQUJ7yV76A_ZWWWH4?U3xr#5{@oL9A!reeg0S# +fgZ-*YhE}gd$OE+PlyEuKazAuc2**iPceGB0Bg5K#||^GaqHRT)u~Z1D0q9cBV@lhtXY^YmDc51d;tyr*RpfvA%@!c5+q`yeN6kMxBt!k8ZvLs5tDIK#uuk1Q`#dky*K +oTgznFe3g+lX6Z`}+Shm3SAPazJ{oI11H+o@Ji&`FR=MbH;uWrjTmf$YFv+yX404`h;cUe=PEBCVIPL +*FzQpIuxTtNUwgoRR)ZqIFLCkaG`xqk1G!kiZ*Ir_zYM<6Ha4xp-&Rx +W7oY6vR*c~m$$G6JZVsXX#Wd1_AJbpQt9(lmk{-UOKVQ7Tfnsa@-Qe5o+da438GK7xtERSbK8VAa#y+ +gkuc%`b05bIO&!{2mG!-T?TVpY$pbaBW2^6|gJKj*8b+Oh<+5Dyl1U%^qGB+E=iqDM(yxY`ITX=Dg=d +NnCz6ULt4*csA%HGGTYzQ|F8y04nU{1l>Mcq(J2LGvlt6flXcuGj3WL=#C3$#yu;F$oi>M2Ni`6V&&Q +x8}-vRzL>CquR<=%uMJ37?78&$_y+1i9IEwY8DtQLU0-FLT)c;xg|UaTa=l8-=7PXW{V-SGc<_J((&Z +qHY)&RVU7yj&;$#vy=D-6ZdlN}!|JM)I +W!MeskjXMaNIIYqqrpAQkC=a%N>Bk51n2>qCLn8zzviGJ21_``v`i`Lk;0e%FBD62?CPWY&E2wRVpH( +ay7RvlL^~eywq}6r;NwXya}vL1h2bshx_%M;bCa;Xk-^d;WIyEwo>;>BxEohtLtd42#!A`FLb@(C`b1afl7cst}pNynKabiG=8kfecOc=_cxKaYwFVA?j8~P)^@<8CeiG;7nS0NC +NT7PZA(DhA|%5{O0#-y)sR{DbC^!rOS5LblmkacI^S3bODB9#F?xY2q3@}Y?!^|XxMA-t_K3eUj!Mq| +jk3Fog?O*rvpW7EW_b>hK`3PJ%gohT4k5EkVj(dZq3-WI{oVW8K%RRe+olP?i~;cdavX9TI95dK8Lh` +2dOKMwnNd;1jtNG*&;QI-O#aA}oUenw%@Ch_R+y5hH$kTzL@@>>I?%TNmX@9pUA9XM^pfFwP$l8URmk +)PM(3fCMfh%H2Gr)?o!J8^3PH?n9U<0c+%F;}V0x+qjFdyMBOk&kub5d_@K!BIn{B@2@H +%t1_4R?$zt8VT%mR@ySKmt1Mf!M=kktFK&;kG&Af#TZd6oa2DYvozs3Dz!9{I*PV5(z>1nEi?(cWhs} +IEJ$L9fT;p6?XVrSURpA6lznN*!F6Zw#4Y#>7K6DEBa(${5Go~NnlT;KVpMbb(IRsD=N&=?dXmy1PNL9SD`ZE_wRZH5@@wrFxIDf?x417>l4+`-0NYTMW8N_PIp~n#nEW9vfHHhf|8!uyGL70)Vr^#9Cdk^zr6J5(rLPptbZC5Y{md4`j#8Q}s9jO0r3Q1+zQAT{CM3DTXbf1S-fK@EyU^;@I +on}73U#(*;HcTzl7nlEZn?+kf|Wck#E4|!9IJYL&vw|3QlBjuII4cOMhWPo#tBGEe7s;i?uvBV{wkB|t8*R_SQF*jI6W6db&XbGQBfTgul8b9t%qpe +Ms7-Ut(q>vm`O;=$*Hhue2FbTBYTA|uN$rw!t}`C2UvEI8mHm2yhzm+um##MmxFB^Y_VotwVg~juxP* +&1khBib4w)ZjLo#k~zI)$|-nbKJ=FqqsXlBuJN6?y4IqwZv)j~d?(OOtW8)XZNXd`WH2^$!+uz+q3Zp%l}nzfHzgV0z8xdpMKB616A +*MUL9MW_qZNp8)ABzNesr986JeQjSXxjhd@-Q@O6TyE_>_gGxKn({??kzAZ3W1adY;z;iTr#p6bBiq( +*y5k*V7vTx@KQit?MjIYa4(5)`an^PLEMI78p+9C*UrEMJnZ{p +A*{N2F99s8~mH*}mtcl46Nr@K_aq-&WwRHJoS^Y%RG8^{g!FD_i{{KBm4-Ez&k3zR^&b191}S&p#RPa +ViDrlOm^#e8%#Xgw)gv1u_g+wgHu&nky;z_&;h|MuaX+9(xh&Hk;Gvf012lD744n;10vw+$Se{w+mYD +P%7lHOK6%QqcbHcelx@F`?bf?{1q@wc?;# +);&LM*eNwyJGz29reI~lxB>R%sbw0b?By@v?y&FzxV;&^6L(I5>kEFQQ4x1Ku!#>?$K>yr^O}fFsCHj +UPI>pD{A&2}4MkEW@Ae2v{P}0(;t&r)x!qbK!K=iaj{y~Er@NRAXeHoVGt{E`#4Awi +#CCf1|AKOkSg^s$p-@ncsrhnX;j+5Y7WQtq41>Xgq;{EwxnKlumR9aIW72}Y+aPE~O#j5Y4U$&WE>Y +iY5Osxzy(2DJn@mV@hp>__=2?=3vdw!W3u*g@NNxsgULZL+xXneKwmXdCFdh)T+xj;@6N7{6+Tu00L818AJ +LE7b1S67#!?0BHvo<0+GPX9;I&!!+6T8mF_uK++pXaqL50cs;<~ct^=cS(-5$V{+C%2dtEgfk1&Sh2v_4hW^_K%;oASVgW2*Pm^7rA!2KCG~6bv=Az63o +Y=j()=T#5zJnCGbwHkFS5NL%X8xpDIp)R%R~2qr`vt+7{861eiY6XcHuZ%!md*+SQJ +x%KceJT5E5D5jnWH3>@jOoRdhih-Nhq?M%0&8Gh$Kk@Gkd$Pcr%xjweAK%UuEUL1~3+>I>YEjPZDIowD_9`&Q!^#Pt0Wk8orJE5o&m^JNjY)iIA`iEp>-3Kk{);BQOgg=-=ij^^VFlaQDSYQyN2M%3)G>> +B?!&R<(kRZ2DpLD8i>o=2b?f}R?4u4W{dN!vc?W3-B@Px2`5!Ik88+$qW3MPl9;C%%(SJL?@w5W&1%n +{-itCsH<1aRhzRbJxA6A4oFLtc|ZbOJwqgWDX_PKx##}M*f3 +U&lWofM+>IhLj>hN8uDz^4d2!jqH=*cQ44UKhL!K%W~DsVFBp{F^gCLIl&O(B2z!t>S?(w$j&(V9XoTMI8+Q^?h0;Zt +lHyHk3i-@@;caUQ=>ROeYfT{+?uGZQDdZBe@S!z@wCD>TTT@8iVBxqm#gCHWQ)>zt{aW_? +|fbxnV-&z)^lJw#WI_2HCl{a4he@*+V&aZ#!&NQbH{&^8ob<_nD|%bIb=bD)ZMZD`Fas{3$%UR*h5Nl +`CpP8XZpylJ2no0K9DA#2^8?;q0$W#zZ?{f_`vp0Kvp+~bHN++{th{cOm^9CW>O7^^+a69B5}tNJHGZ +LcjDz@A4m3wf%2hgPVLuWCeX?m$~_6hv83)w26z&a$F}YdXxcEM#3>RBA=fu3j95>U-;2DlAteHrKVp +$Es!&Z`9Ly!c?KckI;prqX+*Ew5l=O(>^EEh+Nh4s&I8VK)JgcfUKA<>1i9qUPo8$-MkN|kuD6UjdUk +a)xUS&LtA&!4Rx%1SO12;fKo3b4)M^R7jLYU6Lh})6o5%K?5QfE%ew4VC*-3fy?gFNCZfb;T)tvIU(r +9L8|Iy|(AJLTC=1BT=0j6qdvV_347Eb9yfg$Ti4H)mME!&k^SRlzqP~_lj%6WX$+#>c7s}cQy82T`7L +8bWZFWbf;+%Y(f4+6q{DSiAYPBo08BsMSisnap$oqV%37KimD@P{hvi{eFJO9e;JpRIiPwp?6tmXIWU +wC7FAyNB}^T$vlS=1JnpD}qaEU0)qUxk-M84$wLC$DB^DoCmof>H@;b)8j?yCbpo3-wcE3lI9TvQfh6RUtUJ{vy~n5u9 +a#=B$SNqeHdKVkz_a_cD|vhEB^$}-OCFj$8`{BDThiL7hdbwd%gQMKh?;%2#G=;0AIRFz5j28euF_{ +$%EDBJHpHQQzDmeKnA-)r>43P3jR8qNQq(SJ7EW$UKV`tKV1iP>&1KXn%U~X&+w$l6&YKCc@obl%c-5$Zc-HD<;zOx#vx +BzPw6Y=nz;xx%Ebni&7q*Z9`&9-5ZAqCqM$GPvh@qVBK@)g@_CoBl}feu`=0=;D!i_1S6L)#mmcS?{- +t~y!NQ=MdBd0s$Lr)l2o=dz0IhU?xbNzZ<#Oxu1tH^G5mCcae(Gn`JLRdr0TwAYjbiEM8YVuk56Pk0ll`?WjO~@6DPMFc+0xnS`I!;l;;a>H>$oB<9{+S$PiX;_4a2Ja42Y)CL%yScSwF^(VNODt-k +_1;|P&99TZsBgTQg)U(Cq3N#Jm>bHL(At6btHyeW?X +qu$vc>gojjBQ!F4^E*eJdnh{oeDW9zn>okw{v72%k1m$kh`9s*MzKb% +y9_BZXY)AmXZ>vCUmzA~odvp?2iNc9ZL~D0!0VO3o{9Yv6IrHw5KlC5fZgd@-%S4NXyqIaCoz=oso1-uaetnzoUxLiFkx34sd$9 +2m4S-I^o-?u{5^Z`>4Ot)^6+VIo}`;;#fTw(!P5IiczQa;G`M1@gAo +UA$O>tw`YUPRovr(SA+4$imS@>ab$_BmtDTCkWJUouf?6$OH(S`a=AFb{>4`=gI+`We5CrhG+*0#730 +dzfBaAsujW2@Ce*#M8m|Fr!ZlQE--@tr9LsZIRJd>taMK}IcomgcI=}$&qsK8f-{MP9Jbn2o)|GLtk7 +U>M5jJI +9xH5`JR(KN&+5o|nk9Z{eDo`gW#D|NHWWqQ*SJc}3s|Z?ngg`WI+ +*tq_C5{d@eqX&s4$T&x)9JB2d{lzlI7o>Mr%JVPkN&*uY-f7lxWBN>4@O-Uu_40D*JQ*t=C2NKK%m`! +~?bmEk&8&}~WOXk@io&^P+;-gMPkfn3JfmGMOPMpv3or$4*Q+z%Gn2A5HT*3mSJ|#NhiUl`@;?RPdin +z;)E4c}8j@8a(;Whp1Bf`GLmed#2YzA*mf({od~Nc%ZBJu_ShuAdk#7(27 +wZOzyVD)+SE(<)C8tACCtlZrUU){T4L7#F)~sjb2n!VM!kfZ+O`49b*nIKbh}v)!9P5MJ<P|2l>$~j*a@~mZSfq+}ONXp3uU^2{0FPU@u +Hm`W$E$Za=!kp;2&uk~_2N+wf$Wb+RZ&Q_nR`TPAM56PF;CEpt*bE`OjIPkz^Hehh1}%~XA!3p(sD8G +tc$Fy+`e$XF=FbcydaMrFd8EUR1!`S0`+hh>T$p=7szBd +QVn$%rhoT=`4iG|p{QE(KtkVlpEBlEECnA)($oj?QQZWGFcf2Icy2RvLqe;Yc3~1rlg`A2#Axpre2-M +EAF!y!3f#1>ceo3wv10NaDm!#GYSj=4#j8j(wzJKD2-~>$v0%vH-r0y0B0&auDOr50{SoL8TB#h}{cu +5X}K*8hrl3eOI7V%2;La5tkzCu=dTc1!|$VC8sWPGe +H=pape72+;X>Qf=e{1ER?>O*{)?}K4|d_#WdvOm^cc|*>V%Pax)enbAM%W={(xYVurj6d(s3{mLkE$M +R1uxNt!A@y&~1l-&AwQ|2D?afS_#dV~S@5i=I084GZq>Vgh~Y?z~9-8)hd!~6>4T +g*HeAhh~)ANgHv`QDRS#4%V8IXLghp&juRV&JFxDqDe8A2(sz=K_RM*8qVsNsZ6drNxnY!K_}^-;)E( +k?^PL(|IITQG`*KB6qL(-X#nxmij%pE_39JJH9`vn0SF!w^<`U=U$0#O0=#rC0dZ{7#hF7zJzcjJ{{N~!My6WNuZ_N&r= +5#1zLTQiVbep=vLikjN*CW=9%MHx0fUC35*OquL~;jM*%pDAIQ%|e1LO=QCERTREI?v^@XAyefdCYdc +@|ut{)l``2#sN0&|}EXjT0{NojS6~=@s#}dH&_nWpoCQ&w^y6^GjGYM7y +06bs#if%Nc6D!Q$qGENi5Q8%VB`}PfFznzS3-;L*Uc#$!!3LyRcGwa;NzNO(%f>r&}RFXG@~3t+_8)T +pV|i~9 +U3*S(JrW})VX3RApALt2qOxo6QE~0iK9u*_J`c(eWhyB_oQnHEA3_TG(lgg9iX=`)j3wir6JCNBZOFAY15D|pfiRj>eE{wp+mzH(zd1|v>R8|UEtRJ* +fbuY^S~2Qxr(rfah+!2uk=6_h%(;6x3lH{i?`BqL3dc`&r5oc3X-Z7u1_1uI)|;!3C(W|M~lyCj3nTj +f@lVN&4l2y--*-3Z1~$z$VSR=O=-p8xLna#gvDAnO9E{s$g-46Dq^z%4zm*q&auP1YdH6W@^Y-w+eFJ +zeXSE{W1;6v1RaE96UKO5Ato!Qm<=Lv0>eql$PY5S-{{^{hNtcmrlLTpKf+Up80%Sa384s(TrNz@#F$ +F;U}QQcP8z|CpOB79I>&kjBf{3r1=)P*MoGM9^iWO`V-D39v-G#8v6sc8-;VgN7$?8Iin_rV|Lpn-lK +H`$7T*`rU}yg2z;Ft_kn-U0d9;LlA;pmmeJrytgK;oe<$uyg+u`V6H=(BllrG11|7s+hEvPcKgzmY0C=Z9e+^sJwA4abgLeVLdO(>xJZwuZjGkM*213= +=lew)8vMxp{n2@>f#z=7Ukk@60iTRJVD}2_ZynS7>R!js`q5Hj?%>jY7t{N3< +;O|;84{bZ!LHapHk^~7XdKS3($+@^ZpynY=dYt$=;=25Ee@2|ouaU!2S`gpH+Q>R|IO>wtGd3)};$*s +u_yhqE&fqEgUZ~BU4Iz|GQN5(HK2K14>#LKR9L%!#R$BxTntgYe)s-8mcE=!Hi^{-t$NLCT +X#Fp1-;eJi-ya-oAVXLzsMUH#g+QRa~nmuT-D!={vB)U?46q>-Wm=xREO>%QCSjc<_W{_a+7B^FSpO- +o0gT?i7zHBYl;7Q{P^mFCV;}@9Mkv!?>%0^_zNzqbD!W*kQ71RSysEh`4E9<}Hz3fd{pGrVZmnDd(!5 +Tiv+dXYwf~h&0a9u}DBB-+Mj-K%NxW&;S3%u5`DJA<`7p41jxb?P1qt +OQZyw|KK6&Rh_f~VINHOD&CBow;zvkVchy(jB<;-K>gqXqs_UAruPj~927}((OC4x_DF{nv|Mr-?`Wf +lq2*JC1hfBKVa1DFDZUdD%fNY&^&QZB@hRU*}FBOHbd&$5kXBM(gO%}3dT!SD +y3bzo)s8>0ErSenkn~j-Lv4aQewfIRH{$G^+W?T<-^)E4k+*elzkm +5=TXGJi7#R12u4qoJO1Dfq9mo0&*Gp$h$9yI5f+m&*_Bb54DHZ$j+5uXfs;d}6TCHF>jcZ1@oStQM$M +x_0eMgKq2u9h<+9S(YSG#1BLJG1C4(SSNppenv&Ac&G$25XDxyMF+s%z<;t8D&sp$l>2YoTR+%*nOGe +X&PP~Znso~2zKcHmgD-sY_h}Pw9Defvy_eZK2GsczwT<$74`*2 +8k2!wJMyco8mEzC&`k0t|*ov`Z8o79(0n_ipKiInMWKf4#g-J$Wdm46M +pZeDk`I2(D_07kf!zmSWQ-sDJ3DS}ml6kp4+ci_Vrl|m5d){_GuOWd7%AO~v&BoU>Z-A`b9QH2H1nxv +>Wlv5eDXmQf8myY9urm9#2$Djm*xKSp8JgEV##$K-=PaEinbTE+X(<&Jc;O7RO_tD3P8-5tvXSLZjwbEr|->b~E1rPbnQi&$g?zW5y +reF7E9s#r9@|E%o{VsPP*BXL~#eF@^ge_gUXSbC+~Fg)??bC7PF~bN!S+6L_w +F0wwjO|>KM +({&$>wTe0qIzy2-_IbsNy7==q->l^iMi(~}3EV;MOUWFi+&H9$++Je?2Dguv7Uo>>Piovxm2Uyny7{< +ZAC2FVdzjllajkCBF?+)JHv1Eu0^e7(Ha?aE!RG!)r2v>gr_T>5i~?dxc~+M_6x3QfqeLAUj~oF- +CAC6?$XER}gPx1d}DZ#`E5Jd#Sr$%Gqp{>Y9~=3i6@w=ohZc79wD%%y=4bVpn(?`Xj^JX@c!UMnAPkX +^fF~1Fa$uY6VcMPF4KtLVtc7tBfW6KFBKkWX;$EQ&5iGR2w82Yd=Uz5^eE8JnRU3l}gUOOdvKD!_Hnn +IBlA))vhZl4YffnI}vcF|H#rao9LXn-!5gzmELLzD;$kKZBg801rZ8HC_-#Gpe^fJv4ULRK-W}soKrk +Ve2OZ|(Pv@$)}ykX(Hy+P!8?ZUX#WoI^;RRL64+6l8uem-7-kMChS}bFY}%)AffcKU#vvtyC{n*(j!c +qM_)S$0qP~acr3z{bb%|%VO8d_c!+*^-9@=VV*Cb_>v-XzUh!4{sXF|}4x{gG>|JoRr858|y7twWq9d +x!wf^Z|Ot;E3RP)HqH%5{0g>;hDKaqbKH24f{nL{C2YwUuxSI_lEr27GG$sK$rZdjG!eo;q&4oyt9~g +bLVk5@w4cua5sQs_5M6~=nz$P5#G>?GiEUOR6X^Llkc@UgYG$u<}}fi@xZ!n$MeVg`CEX1?5CW@m +GmFSL}A^y_Bt7JhR5bHAfqi|fR(Bg?As@-|d>llBKq8Xh!hanPixL6bHHO&S+8X;sjqIYE&wgOEW2{dUP(4<*FllB0O8UirSms$Wc0sU_R^WOy6zX_Co6Y%~faQ!|&|6l*`KTt~p1QY-O0 +0;mBky}~gdGEQ_0RR9f1ONac0001RX>c!Jc4cm4Z*nhkX=7+FUuA7?YH43`WpHd^V`VOId2Le5Zrd;r +yz?s-?1gL3DI5jef1NLhrDj>FN66{s&_$d&DPeNY|^t?Wnftt$7CcL?U}UK;! +Rp{)&b5j3J-P6Jy?PHs@l`5zI0Rx@zC`8}1-Kl62e;Im=RKjuh8uU-a&SUMMxn1yQ9OD?lE&S3gj?hVsOegTsHMKJt5Qd9HY@a@_q +*x{NZEvLT+`q24l&eH?>6(w2gqv^9OyVnW&L2mw;PK#|j5714W4iUIJ=)Odh^d*L +0DrjS@&x#HxJ$pLJOb{?%h4VGx5!RJ;>{8<9bXH|PtyfXTwtgamr#|LT)?_Vx?{62?DXp@R`T6xdn#iO1 +9!ZLXRMU5+_T$6*RZNGW=W@%)*s08#Cxpn_x#Q6ms>%WNgq(3PgevBOtOPHzs6I7{I~@MoY`Cq +>ZcEwJwG;R@df;0SI`Y`K2WvsVs7EN~nRH{EQnnq=NXB^o=smf|p9+}cEQcA-_)$OPS1bJH8pA0SurjX(W>xs)W#0B5MSjlx4~(k#ars{jw~*@}IXW_-n5KX7# +EfqhAZMq*3jv$bxR3Ek##}K6LHn5P|yhRL9f(bZP(a^=4z7sOKzQL+d(P)JBL2AXWMUHLWK +#)*^?vx0&=4}qETwBv+(>@V2wC!uUhU(koew)3K4c#5$24tfM6TwqrH7k%pO&5L7M#y|J)o+h?c{X() +cG9-)Auy*|V~tc_`ahmMY0n;YZzSejUOPP=U&z*}k=hfi#=DO|&j~xD>~OkTET?C)kC&hIgfeqt*GL+ +h$>rI6em-B`+@4QA{-e#z;L;Pv`3_J^0|XQR000O81Cd)}2A9smFUaA|NaUv_0~WN& +gWa%p2|FJEPNbY*UHX>V>WaCv=BOAdlS4Bc~zCT?IM2Vi011-!zf4g)j}?W9!V++IM4i3^wS|2mZsEG +Oa~XiTC8SI$LIw4sA2*g8tt24NRo7I-4zl2WspDmY)@CL9`o6C}lc#0FTv%N(=-_|RbvY~V@#GotPzo +7%10iBjzrODkF{`JrACX8AZnJQ>FL$8U;0+|fUNB7hT^x}#ug*g;us=<o8&FFF1QY-O00;mBky}~q +!NV4Z0RR9W0{{RU0001RX>c!Jc4cm4Z*nhkX=7+FUuJ1+Wo~aSaCwbV%ZeK@5WMRvirI??X8i$%1WZ` +MUe=K0X3SU~w`^@>^&s_x4CLb@$>T?y9MT~4>gp<0%LG25ZOtG^>ST4%r0A|v-^zIS +mK&%)yPB-qDG?(7xn7XBP18ojQqgRmv{IA)X0xT(w~Kx~dmg{)L-hUnp7N?~r$L@$E-CNxMQb8bH6oDZi`EXht +A<3Q;ktph=)5g8}#$N%be^H5xlS}rMG)bAi0MD?c*wtclw*=O|CcM-JN3B#4Nyx11QY-O00; +mBky}{(^%0001RX>c!Jc4cm4Z*nhkX=7+FUukZ0aAjk3E^v9J8eMbSxba=T0>eC*yz +=Per4O26XMA_=H8)M1aooP>G&CfE5^V}(2{N{t$$#(e0w4jB(lv9OL=u7B#eQQKaNbl$mSuU@c8$m~R +vhc9X&K+Bs_a^k>G#FLj2BYXV%siqL^CfIXIly`chxp#d(qnOyeLJ?3bie{QuyOo?K&J%#a?n;RMTot +bs_hb)QvpF?B}X1fqYTPn7waB!#9X`SK|mTWA@P1IPh?);qzY-Mi-h^vaKYrFD$iRo2sj0b}!^kQ$ds +gv~8-=f(o_ewaCmUeD8!ZkcVP_DB(YFVxjLv-TY%1Hh@oEeR6<))2|rrIWAKmHBBmkS0@5Cp%9mbC}L2! +Ztoj27Yy@BkXjlmIN@^dK?I;2%p72E=RH0<9DVzsuic5D_d0(=~EH0q)2t*n90pp{uB<=jjFzt=(8#^ +-jm-iG4b?hf1=$%@d3y3qrYR_DUn;Q*EAD2;LMe!Kd&IQ3onX4+snc{Sf4fS!G-dkRE6l5O#&COMYV2 +7qqP5p%JPpLE%-yK2}n&P6>2mk+5Gx&S6R+Dozax9Yk5Pa8p&Kx6tQ9^}_P5EHwZbwc%il1}wrQd+NX +!%~(b8w=f?>|gkcwyKC +F0(?&Kht=&b0Mm?&C|Ty_CMiZ!GN3=910dB_a(vuT6?u2>)nqpG+Cg0q9UlN3cS#*RTJQZ%i4TorkQ` +yH&{H&w`PMKN2~FWdlPI)J)BS)gsA#~)7vQ%<8Mma-d^BQ;_M3F#d|}V>fME9V0ng0}O|d;dRzNzWBr +0x}V_X_d@}l*%Ky_O9gZ5LsorF;odoZ+YIyksLyQvyL0)9^b6hPXBy;zS0K48svJ4p3u_%>$moFyVh7 +^q&ezDhM7Ao)>H?KE-*FPE)7x4@!`59Kb)!D_rWr0*cj$q&F`eKZc3a^Q#T$^OEE<$y0nDz3nvwJ%~oVs;%mM1S^!pUGCwce2p!-}zuKbiVW1&m7G#+P$+AGlfP +?;qz1KlZ1zliE&>DCm))O+~;=Nldt^7+RuJ^&X$&a4QYwuW}FqRII0jom%6E6QG$isy4E` +_jp-s5GmCGGXK{*ImPC^ch@%5tWZHVO9|qk~=~ +j&Dm$qubi^#Ar4XG+bNG}!2s&$LDiBS=81>dw`;y0vc8aBAvY|yeP?AO3{V7&G00=C}&(<`_O06?ao9 +h2F%>Lg}cSLPq*WH#DZh2*lHN5Kf}<|95lY5Ee@7lVk>IMPUmcyeq<@0mV8O7+=MvTurAII4ocTWT(M +DRn&29C`u>AaB_nWr!ydMSe}F4;NJi(bqf!JLsvx?A>(& +T%c#5Es6?O2q!G)a}Avm3&<+6&Gucf6Dp;i8|snQ3<7iC9@2Mj^{YOsO8 +@$Hv|-}ow-Z*KB+YzV5zVmbD#QeM+-F&{T|vN8tV~jrYuq!11U}OdgFlrCpI#KqJtqGKXsx-Ns{2R}C +76<((Owv^G;m52ft7_C7bX*@7q)~y@AWUdp>x2rS5X43-YJ~Atby!{>46zsWhN+0nhFhK?1cuDWR135 +6ird_(x8x?(;yj%Mis|Y9(S{{$6B+7n_mK-Y`*v(r9<*P&BYuOV}nbvL=Xa^bvheajElrMsd> +u+u`XpBsfp^?VKa_45@4Ey)gR(ay&4ApV5u|A17b +9FDtxA99+8+HI!)F0=Y0iRI;WZdV!G~{+Z-G~zbPEmY;(AjXz{))JM!katEZVY4^|ttJ#o4II->V&b- +i8{>!HpMRipzOVUpD~%mp*_?mNj=oAv6*_poE}wXr5p3s;D~aYmxm^=3``h(69&Nia&M{sERB3jHxA5 +X)vxul(-HZAxxm+lFuT^7FS!LAd*_z>vcncufvJT1E3o)#K();LbVFxg|3fru&eDV +w8)h*TREqz;GxCf&%}Z(pC!hDqQSpW#K$Pm-Yg=w!`0$ +mjJ1UB;B%^Sc +xq0;r`BZb#O`Z_Y4?^x$6MnNFc3FS66r-Mu2^PZ!~h?$~#{JUa`~~^z(*&Onyq(3m%k7#K5cNN5JmS^ +3hiK^2q3nu@EhR_n+}ru9 +w@6sbN4qHoCzhAx_6$qkA=l-j;Yg^*W3!|Q`v`=FVkw}K_;6K{2bzBHQ4nu-K%|NZ)g+`NBt^YO#ycM1 +Al!+e5ns1OFf*>r5FW)IqtZQ(ny@9m`l2(QL0*#^PW?c2+`mBMSh>4u5>_{QqeDI2~m?ZBbUoHyRddM +nk5>MgkIq@vubE(&)RyH4j0{MZZHw&;^QbapzCC94o2yylva$j+FjWui)k(NW$LLzbaiDFxWssxzCc3 +wFnZ2fU@Cogx~lk1Gs@oK)7MtcyU=YL%e5lRMapi>D9h>5m;A2;>PIP^@9#c4@V?E2gYYa?eX6#$`dl +Yi*ccceofm{|9}RHOodPlKO)HsQ+GoSQ`#w2MZu`91df?$B^Je02GYIum!&XzA!u9790Y=gV7j9AY*h +Nd4E(konV(apG}ZMdx+3_4)tY_A>1c^5Ip7c9)jiywZO9q!Mh-g@-P+VQ@$6sl3pJF-+4A?=`-Awy-C +Eti7vZ6InXXJ@S2fY&hu^t`$Zn(vpI@wGr&Wd`ktdH*ix-)8p9#B6YNrN@l|!!&DrFiolg&nmr+B@68 +dT$y-d)nIG$ir_R!F}?5oZ%LW3L^(4aWj3(RCM#raf6t-c7BV~Db?1RO6@bs@Q)%i?i@Y_8|iQkXdtk +SGd)$X_KWV1u%1=>aks$vdVhA@6fsNl~t;wH0qp$Hw-0)dn7LDtVvTTdct28v~mRDR$SMx+@{m0o

  • \n') + + # inline literal + def visit_literal(self, node): + # special case: "code" role + classes = node['classes'] + if 'code' in classes: + # filter 'code' from class arguments + classes.pop(classes.index('code')) + self.body.append(self.starttag(node, 'code', '')) + return + self.body.append( + self.starttag(node, 'span', '', CLASS='docutils literal')) + text = node.astext() + if not isinstance(node.parent, nodes.literal_block): + text = text.replace('\n', ' ') + # Protect text like ``--an-option`` and the regular expression + # ``[+]?(\d+(\.\d*)?|\.\d+)`` from bad line wrapping + for token in self.words_and_spaces.findall(text): + if token.strip() and self.in_word_wrap_point.search(token): + self.body.append('%s' + % self.encode(token)) + else: + self.body.append(self.encode(token)) + self.body.append('') + raise nodes.SkipNode # content already processed + + def depart_literal(self, node): + # skipped unless literal element is from "code" role: + self.body.append('') + + def visit_literal_block(self, node): + self.body.append(self.starttag(node, 'pre', '', CLASS='literal-block')) + if 'code' in node['classes']: + self.body.append('') + + def depart_literal_block(self, node): + if 'code' in node['classes']: + self.body.append('') + self.body.append('\n') + + # Mathematics: + # As there is no native HTML math support, we provide alternatives + # for the math-output: LaTeX and MathJax simply wrap the content, + # HTML and MathML also convert the math_code. + # HTML element: + math_tags = { # format: (inline, block, [class arguments]) + 'html': ('span', 'div', ['formula']), + 'latex': ('tt', 'pre', ['math']), + 'mathjax': ('span', 'div', ['math']), + 'mathml': ('', 'div', []), + 'problematic': ('span', 'pre', ['math', 'problematic']), + } + + def visit_math(self, node): + # Also called from `visit_math_block()`: + is_block = isinstance(node, nodes.math_block) + format = self.math_output + math_code = node.astext().translate(unichar2tex.uni2tex_table) + + # preamble code and conversion + if format == 'html': + if self.math_options and not self.math_header: + self.math_header = [ + self.stylesheet_call(utils.find_file_in_dirs( + s, self.settings.stylesheet_dirs), adjust_path=True) + for s in self.math_options.split(',')] + math2html.DocumentParameters.displaymode = is_block + # TODO: fix display mode in matrices and fractions + math_code = wrap_math_code(math_code, is_block) + math_code = math2html.math2html(math_code) + elif format == 'latex': + math_code = self.encode(math_code) + elif format == 'mathjax': + if not self.math_header: + if self.math_options: + self.mathjax_url = self.math_options + else: + self.document.reporter.warning( + 'No MathJax URL specified, using local fallback ' + '(see config.html).', base_node=node) + # append MathJax configuration + # (input LaTeX with AMS, output common HTML): + if '?' not in self.mathjax_url: + self.mathjax_url += '?config=TeX-AMS_CHTML' + self.math_header = [self.mathjax_script % self.mathjax_url] + if is_block: + math_code = wrap_math_code(math_code, is_block) + else: + math_code = rf'\({math_code}\)' + math_code = self.encode(math_code) + elif format == 'mathml': + if 'XHTML 1' in self.doctype: + self.doctype = self.doctype_mathml + self.content_type = self.content_type_mathml + if self.math_options: + converter = getattr(tex2mathml_extern, self.math_options) + else: + converter = latex2mathml.tex2mathml + try: + math_code = converter(math_code, as_block=is_block) + except (MathError, OSError) as err: + details = getattr(err, 'details', []) + self.messages.append(self.document.reporter.warning( + err, *details, base_node=node)) + math_code = self.encode(node.astext()) + if self.settings.report_level <= 2: + format = 'problematic' + else: + format = 'latex' + if isinstance(err, OSError): + # report missing converter only once + self.math_output = format + + # append to document body + tag = self.math_tags[format][is_block] + suffix = '\n' if is_block else '' + if tag: + self.body.append(self.starttag(node, tag, suffix=suffix, + classes=self.math_tags[format][2])) + self.body.extend([math_code, suffix]) + if tag: + self.body.append(f'{suffix}') + # Content already processed: + raise nodes.SkipChildren + + def depart_math(self, node): + pass + + def visit_math_block(self, node): + self.visit_math(node) + + def depart_math_block(self, node): + self.report_messages(node) + + # Meta tags: 'lang' attribute replaced by 'xml:lang' in XHTML 1.1 + # HTML5/polyglot recommends using both + def visit_meta(self, node): + self.meta.append(self.emptytag(node, 'meta', + **node.non_default_attributes())) + + def depart_meta(self, node): + pass + + def visit_option(self, node): + self.body.append(self.starttag(node, 'span', '', CLASS='option')) + + def depart_option(self, node): + self.body.append('') + if isinstance(node.next_node(descend=False, siblings=True), + nodes.option): + self.body.append(', ') + + def visit_option_argument(self, node): + self.body.append(node.get('delimiter', ' ')) + self.body.append(self.starttag(node, 'var', '')) + + def depart_option_argument(self, node): + self.body.append('') + + def visit_option_group(self, node): + self.body.append(self.starttag(node, 'dt', '')) + self.body.append('') + + def depart_option_group(self, node): + self.body.append('\n') + + def visit_option_list(self, node): + self.body.append( + self.starttag(node, 'dl', CLASS='option-list')) + + def depart_option_list(self, node): + self.body.append('\n') + + def visit_option_list_item(self, node): + pass + + def depart_option_list_item(self, node): + pass + + def visit_option_string(self, node): + pass + + def depart_option_string(self, node): + pass + + def visit_organization(self, node): + self.visit_docinfo_item(node, 'organization') + + def depart_organization(self, node): + self.depart_docinfo_item() + + # Do not omit

    tags + # -------------------- + # + # The HTML4CSS1 writer does this to "produce + # visually compact lists (less vertical whitespace)". This writer + # relies on CSS rules for visual compactness. + # + # * In XHTML 1.1, e.g., a

    element may not contain + # character data, so you cannot drop the

    tags. + # * Keeping simple paragraphs in the field_body enables a CSS + # rule to start the field-body on a new line if the label is too long + # * it makes the code simpler. + # + # TODO: omit paragraph tags in simple table cells? + + def visit_paragraph(self, node): + self.body.append(self.starttag(node, 'p', '')) + + def depart_paragraph(self, node): + self.body.append('

    ') + if not (isinstance(node.parent, (nodes.list_item, nodes.entry)) + and (len(node.parent) == 1)): + self.body.append('\n') + self.report_messages(node) + + def visit_problematic(self, node): + if node.hasattr('refid'): + self.body.append('' % node['refid']) + self.context.append('') + else: + self.context.append('') + self.body.append(self.starttag(node, 'span', '', CLASS='problematic')) + + def depart_problematic(self, node): + self.body.append('') + self.body.append(self.context.pop()) + + def visit_raw(self, node): + if 'html' in node.get('format', '').split(): + if isinstance(node.parent, nodes.TextElement): + tagname = 'span' + else: + tagname = 'div' + if node['classes']: + self.body.append(self.starttag(node, tagname, suffix='')) + self.body.append(node.astext()) + if node['classes']: + self.body.append('' % tagname) + # Keep non-HTML raw text out of output: + raise nodes.SkipNode + + def visit_reference(self, node): + atts = {'classes': ['reference']} + suffix = '' + if 'refuri' in node: + atts['href'] = node['refuri'] + if (self.settings.cloak_email_addresses + and atts['href'].startswith('mailto:')): + atts['href'] = self.cloak_mailto(atts['href']) + self.in_mailto = True + atts['classes'].append('external') + else: + assert 'refid' in node, \ + 'References must have "refuri" or "refid" attribute.' + atts['href'] = '#' + node['refid'] + atts['classes'].append('internal') + if len(node) == 1 and isinstance(node[0], nodes.image): + atts['classes'].append('image-reference') + if not isinstance(node.parent, nodes.TextElement): + suffix = '\n' + self.body.append(self.starttag(node, 'a', suffix, **atts)) + + def depart_reference(self, node): + self.body.append('') + if not isinstance(node.parent, nodes.TextElement): + self.body.append('\n') + self.in_mailto = False + + def visit_revision(self, node): + self.visit_docinfo_item(node, 'revision', meta=False) + + def depart_revision(self, node): + self.depart_docinfo_item() + + def visit_row(self, node): + self.body.append(self.starttag(node, 'tr', '')) + node.column = 0 + + def depart_row(self, node): + self.body.append('\n') + + def visit_rubric(self, node): + self.body.append(self.starttag(node, 'p', '', CLASS='rubric')) + + def depart_rubric(self, node): + self.body.append('

    \n') + + def visit_section(self, node): + self.section_level += 1 + self.body.append( + self.starttag(node, 'div', CLASS='section')) + + def depart_section(self, node): + self.section_level -= 1 + self.body.append('\n') + + # TODO: use the new HTML5 element \n') + + def visit_table(self, node): + atts = {'classes': self.settings.table_style.replace(',', ' ').split()} + if 'align' in node: + atts['classes'].append('align-%s' % node['align']) + if 'width' in node: + atts['style'] = 'width: %s;' % node['width'] + tag = self.starttag(node, 'table', **atts) + self.body.append(tag) + + def depart_table(self, node): + self.body.append('\n') + self.report_messages(node) + + def visit_target(self, node): + if ('refuri' not in node + and 'refid' not in node + and 'refname' not in node): + self.body.append(self.starttag(node, 'span', '', CLASS='target')) + self.context.append('') + else: + self.context.append('') + + def depart_target(self, node): + self.body.append(self.context.pop()) + + # no hard-coded vertical alignment in table body + def visit_tbody(self, node): + self.body.append(self.starttag(node, 'tbody')) + + def depart_tbody(self, node): + self.body.append('\n') + + def visit_term(self, node): + if 'details' in node.parent.parent['classes']: + self.body.append(self.starttag(node, 'summary', suffix='')) + else: + # The parent node (definition_list_item) is omitted in HTML. + self.body.append(self.starttag(node, 'dt', suffix='', + classes=node.parent['classes'], + ids=node.parent['ids'])) + + def depart_term(self, node): + # Nest (optional) classifier(s) in the
    element + if node.next_node(nodes.classifier, descend=False, siblings=True): + return # skip (depart_classifier() calls this function again) + if 'details' in node.parent.parent['classes']: + self.body.append('\n') + else: + self.body.append('
    \n') + + def visit_tgroup(self, node): + self.colspecs = [] + node.stubs = [] + + def depart_tgroup(self, node): + pass + + def visit_thead(self, node): + self.body.append(self.starttag(node, 'thead')) + + def depart_thead(self, node): + self.body.append('\n') + + def section_title_tags(self, node): + atts = {} + h_level = self.section_level + self.initial_header_level - 1 + # Only 6 heading levels have dedicated HTML tags. + tagname = 'h%i' % min(h_level, 6) + if h_level > 6: + atts['aria-level'] = h_level + start_tag = self.starttag(node, tagname, '', **atts) + if node.hasattr('refid'): + atts = {} + atts['class'] = 'toc-backref' + atts['role'] = 'doc-backlink' # HTML5 only + atts['href'] = '#' + node['refid'] + start_tag += self.starttag(nodes.reference(), 'a', '', **atts) + close_tag = '\n' % tagname + else: + close_tag = '\n' % tagname + return start_tag, close_tag + + def visit_title(self, node): + close_tag = '

    \n' + if isinstance(node.parent, nodes.topic): + # TODO: use role="heading" or

    ? (HTML5 only) + self.body.append( + self.starttag(node, 'p', '', CLASS='topic-title')) + if (self.settings.toc_backlinks + and 'contents' in node.parent['classes']): + self.body.append('') + close_tag = '

    \n' + elif isinstance(node.parent, nodes.sidebar): + # TODO: use role="heading" or

    ? (HTML5 only) + self.body.append( + self.starttag(node, 'p', '', CLASS='sidebar-title')) + elif isinstance(node.parent, nodes.Admonition): + self.body.append( + self.starttag(node, 'p', '', CLASS='admonition-title')) + elif isinstance(node.parent, nodes.table): + self.body.append(self.starttag(node, 'caption', '')) + close_tag = '\n' + elif isinstance(node.parent, nodes.document): + self.body.append(self.starttag(node, 'h1', '', CLASS='title')) + close_tag = '

    \n' + self.in_document_title = len(self.body) + else: + assert isinstance(node.parent, nodes.section) + # Get correct heading and evt. backlink tags + start_tag, close_tag = self.section_title_tags(node) + self.body.append(start_tag) + self.context.append(close_tag) + + def depart_title(self, node): + self.body.append(self.context.pop()) + if self.in_document_title: + self.title = self.body[self.in_document_title:-1] + self.in_document_title = 0 + self.body_pre_docinfo.extend(self.body) + self.html_title.extend(self.body) + del self.body[:] + + def visit_title_reference(self, node): + self.body.append(self.starttag(node, 'cite', '')) + + def depart_title_reference(self, node): + self.body.append('') + + def visit_topic(self, node): + self.body.append(self.starttag(node, 'div', CLASS='topic')) + + def depart_topic(self, node): + self.body.append('\n') + + def visit_transition(self, node): + self.body.append(self.emptytag(node, 'hr', CLASS='docutils')) + + def depart_transition(self, node): + pass + + def visit_version(self, node): + self.visit_docinfo_item(node, 'version', meta=False) + + def depart_version(self, node): + self.depart_docinfo_item() + + def unimplemented_visit(self, node): + raise NotImplementedError('visiting unimplemented node type: %s' + % node.__class__.__name__) + + +class SimpleListChecker(nodes.GenericNodeVisitor): + + """ + Raise `nodes.NodeFound` if non-simple list item is encountered. + + Here "simple" means a list item containing nothing other than a single + paragraph, a simple list, or a paragraph followed by a simple list. + + This version also checks for simple field lists and docinfo. + """ + + def default_visit(self, node): + raise nodes.NodeFound + + def visit_list_item(self, node): + children = [child for child in node.children + if not isinstance(child, nodes.Invisible)] + if (children and isinstance(children[0], nodes.paragraph) + and (isinstance(children[-1], nodes.bullet_list) + or isinstance(children[-1], nodes.enumerated_list) + or isinstance(children[-1], nodes.field_list))): + children.pop() + if len(children) <= 1: + return + else: + raise nodes.NodeFound + + def pass_node(self, node): + pass + + def ignore_node(self, node): + # ignore nodes that are never complex (can contain only inline nodes) + raise nodes.SkipNode + + # Paragraphs and text + visit_Text = ignore_node + visit_paragraph = ignore_node + + # Lists + visit_bullet_list = pass_node + visit_enumerated_list = pass_node + visit_docinfo = pass_node + + # Docinfo nodes: + visit_author = ignore_node + visit_authors = visit_list_item + visit_address = visit_list_item + visit_contact = pass_node + visit_copyright = ignore_node + visit_date = ignore_node + visit_organization = ignore_node + visit_status = ignore_node + visit_version = visit_list_item + + # Definition list: + visit_definition_list = pass_node + visit_definition_list_item = pass_node + visit_term = ignore_node + visit_classifier = pass_node + visit_definition = visit_list_item + + # Field list: + visit_field_list = pass_node + visit_field = pass_node + # the field body corresponds to a list item + visit_field_body = visit_list_item + visit_field_name = ignore_node + + # Invisible nodes should be ignored. + visit_comment = ignore_node + visit_substitution_definition = ignore_node + visit_target = ignore_node + visit_pending = ignore_node diff --git a/venv/Lib/site-packages/docutils/writers/docutils_xml.py b/venv/Lib/site-packages/docutils/writers/docutils_xml.py new file mode 100644 index 00000000..f4169295 --- /dev/null +++ b/venv/Lib/site-packages/docutils/writers/docutils_xml.py @@ -0,0 +1,187 @@ +# $Id: docutils_xml.py 9502 2023-12-14 22:39:08Z milde $ +# Author: David Goodger, Paul Tremblay, Guenter Milde +# Maintainer: docutils-develop@lists.sourceforge.net +# Copyright: This module has been placed in the public domain. + +""" +Simple document tree Writer, writes Docutils XML according to +https://docutils.sourceforge.io/docs/ref/docutils.dtd. +""" + +__docformat__ = 'reStructuredText' + +from io import StringIO +import xml.sax.saxutils + +import docutils +from docutils import frontend, nodes, writers, utils + + +class RawXmlError(docutils.ApplicationError): + pass + + +class Writer(writers.Writer): + + supported = ('xml',) + """Formats this writer supports.""" + + settings_spec = ( + '"Docutils XML" Writer Options', + None, + (('Generate XML with newlines before and after tags.', + ['--newlines'], + {'action': 'store_true', 'validator': frontend.validate_boolean}), + ('Generate XML with indents and newlines.', + ['--indents'], # TODO use integer value for number of spaces? + {'action': 'store_true', 'validator': frontend.validate_boolean}), + ('Omit the XML declaration. Use with caution.', + ['--no-xml-declaration'], + {'dest': 'xml_declaration', 'default': 1, 'action': 'store_false', + 'validator': frontend.validate_boolean}), + ('Omit the DOCTYPE declaration.', + ['--no-doctype'], + {'dest': 'doctype_declaration', 'default': 1, + 'action': 'store_false', 'validator': frontend.validate_boolean}),)) + + settings_defaults = {'output_encoding_error_handler': 'xmlcharrefreplace'} + + config_section = 'docutils_xml writer' + config_section_dependencies = ('writers',) + + output = None + """Final translated form of `document`.""" + + def __init__(self): + writers.Writer.__init__(self) + self.translator_class = XMLTranslator + + def translate(self): + self.visitor = visitor = self.translator_class(self.document) + self.document.walkabout(visitor) + self.output = ''.join(visitor.output) + + +class XMLTranslator(nodes.GenericNodeVisitor): + + # TODO: add stylesheet options similar to HTML and LaTeX writers? + # xml_stylesheet = '\n' + doctype = ( + '\n') + generator = '\n' + + xmlparser = xml.sax.make_parser() + """SAX parser instance to check/extract raw XML.""" + xmlparser.setFeature( + "http://xml.org/sax/features/external-general-entities", True) + + def __init__(self, document): + nodes.NodeVisitor.__init__(self, document) + + # Reporter + self.warn = self.document.reporter.warning + self.error = self.document.reporter.error + + # Settings + self.settings = settings = document.settings + self.indent = self.newline = '' + if settings.newlines: + self.newline = '\n' + if settings.indents: + self.newline = '\n' + self.indent = ' ' # TODO make this configurable? + self.level = 0 # indentation level + self.in_simple = 0 # level of nesting inside mixed-content elements + self.fixed_text = 0 # level of nesting inside FixedText elements + + # Output + self.output = [] + if settings.xml_declaration: + self.output.append(utils.xml_declaration(settings.output_encoding)) + if settings.doctype_declaration: + self.output.append(self.doctype) + self.output.append(self.generator % docutils.__version__) + + # initialize XML parser + self.the_handle = TestXml() + self.xmlparser.setContentHandler(self.the_handle) + + # generic visit and depart methods + # -------------------------------- + + simple_nodes = (nodes.TextElement, nodes.meta, + nodes.image, nodes.colspec, nodes.transition) + + def default_visit(self, node): + """Default node visit method.""" + if not self.in_simple: + self.output.append(self.indent*self.level) + self.output.append(node.starttag(xml.sax.saxutils.quoteattr)) + self.level += 1 + # `nodes.literal` is not an instance of FixedTextElement by design, + # see docs/ref/rst/restructuredtext.html#inline-literals + if isinstance(node, (nodes.FixedTextElement, nodes.literal)): + self.fixed_text += 1 + if isinstance(node, self.simple_nodes): + self.in_simple += 1 + if not self.in_simple: + self.output.append(self.newline) + + def default_departure(self, node): + """Default node depart method.""" + self.level -= 1 + if not self.in_simple: + self.output.append(self.indent*self.level) + self.output.append(node.endtag()) + if isinstance(node, (nodes.FixedTextElement, nodes.literal)): + self.fixed_text -= 1 + if isinstance(node, self.simple_nodes): + self.in_simple -= 1 + if not self.in_simple: + self.output.append(self.newline) + + # specific visit and depart methods + # --------------------------------- + + def visit_Text(self, node): + text = xml.sax.saxutils.escape(node.astext()) + # indent text if we are not in a FixedText element: + if not self.fixed_text: + text = text.replace('\n', '\n'+self.indent*self.level) + self.output.append(text) + + def depart_Text(self, node): + pass + + def visit_raw(self, node): + if 'xml' not in node.get('format', '').split(): + # skip other raw content? + # raise nodes.SkipNode + self.default_visit(node) + return + # wrap in element + self.default_visit(node) # or not? + xml_string = node.astext() + self.output.append(xml_string) + self.default_departure(node) # or not? + # Check validity of raw XML: + try: + self.xmlparser.parse(StringIO(xml_string)) + except xml.sax._exceptions.SAXParseException: + col_num = self.the_handle.locator.getColumnNumber() + line_num = self.the_handle.locator.getLineNumber() + srcline = node.line + if not isinstance(node.parent, nodes.TextElement): + srcline += 2 # directive content start line + msg = 'Invalid raw XML in column %d, line offset %d:\n%s' % ( + col_num, line_num, node.astext()) + self.warn(msg, source=node.source, line=srcline+line_num-1) + raise nodes.SkipNode # content already processed + + +class TestXml(xml.sax.handler.ContentHandler): + + def setDocumentLocator(self, locator): + self.locator = locator diff --git a/venv/Lib/site-packages/docutils/writers/html4css1/__init__.py b/venv/Lib/site-packages/docutils/writers/html4css1/__init__.py new file mode 100644 index 00000000..799d30e4 --- /dev/null +++ b/venv/Lib/site-packages/docutils/writers/html4css1/__init__.py @@ -0,0 +1,955 @@ +# $Id: __init__.py 9558 2024-03-11 17:48:52Z milde $ +# Author: David Goodger +# Maintainer: docutils-develop@lists.sourceforge.net +# Copyright: This module has been placed in the public domain. + +""" +Simple HyperText Markup Language document tree Writer. + +The output conforms to the XHTML version 1.0 Transitional DTD +(*almost* strict). The output contains a minimum of formatting +information. The cascading style sheet "html4css1.css" is required +for proper viewing with a modern graphical browser. +""" + +__docformat__ = 'reStructuredText' + +import os.path +import re + +from docutils import frontend, nodes, writers +from docutils.writers import _html_base +from docutils.writers._html_base import PIL + + +class Writer(writers._html_base.Writer): + + supported = ('html', 'html4', 'html4css1', 'xhtml', 'xhtml10') + """Formats this writer supports.""" + + default_stylesheets = ['html4css1.css'] + default_stylesheet_dirs = ['.', + os.path.abspath(os.path.dirname(__file__)), + os.path.abspath(os.path.join( + os.path.dirname(os.path.dirname(__file__)), + 'html5_polyglot')) # for math.css + ] + default_template = os.path.join( + os.path.dirname(os.path.abspath(__file__)), 'template.txt') + + # use a copy of the parent spec with some modifications + settings_spec = frontend.filter_settings_spec( + writers._html_base.Writer.settings_spec, + template=( + 'Template file. (UTF-8 encoded, default: "%s")' % default_template, + ['--template'], + {'default': default_template, 'metavar': ''}), + stylesheet_path=( + 'Comma separated list of stylesheet paths. ' + 'Relative paths are expanded if a matching file is found in ' + 'the --stylesheet-dirs. With --link-stylesheet, ' + 'the path is rewritten relative to the output HTML file. ' + '(default: "%s")' % ','.join(default_stylesheets), + ['--stylesheet-path'], + {'metavar': '', 'overrides': 'stylesheet', + 'validator': frontend.validate_comma_separated_list, + 'default': default_stylesheets}), + stylesheet_dirs=( + 'Comma-separated list of directories where stylesheets are found. ' + 'Used by --stylesheet-path when expanding relative path ' + 'arguments. (default: "%s")' % ','.join(default_stylesheet_dirs), + ['--stylesheet-dirs'], + {'metavar': '', + 'validator': frontend.validate_comma_separated_list, + 'default': default_stylesheet_dirs}), + initial_header_level=( + 'Specify the initial header level. Does not affect document ' + 'title & subtitle (see --no-doc-title). (default: 1 for "

    ")', + ['--initial-header-level'], + {'choices': '1 2 3 4 5 6'.split(), 'default': '1', + 'metavar': ''}), + xml_declaration=( + 'Prepend an XML declaration (default). ', + ['--xml-declaration'], + {'default': True, 'action': 'store_true', + 'validator': frontend.validate_boolean}), + ) + settings_spec = settings_spec + ( + 'HTML4 Writer Options', + '', + (('Specify the maximum width (in characters) for one-column field ' + 'names. Longer field names will span an entire row of the table ' + 'used to render the field list. Default is 14 characters. ' + 'Use 0 for "no limit".', + ['--field-name-limit'], + {'default': 14, 'metavar': '', + 'validator': frontend.validate_nonnegative_int}), + ('Specify the maximum width (in characters) for options in option ' + 'lists. Longer options will span an entire row of the table used ' + 'to render the option list. Default is 14 characters. ' + 'Use 0 for "no limit".', + ['--option-limit'], + {'default': 14, 'metavar': '', + 'validator': frontend.validate_nonnegative_int}), + ) + ) + + config_section = 'html4css1 writer' + + def __init__(self): + self.parts = {} + self.translator_class = HTMLTranslator + + +class HTMLTranslator(writers._html_base.HTMLTranslator): + """ + The html4css1 writer has been optimized to produce visually compact + lists (less vertical whitespace). HTML's mixed content models + allow list items to contain "
  • body elements

  • " or + "
  • just text
  • " or even "
  • text

    and body + elements

    combined
  • ", each with different effects. It would + be best to stick with strict body elements in list items, but they + affect vertical spacing in older browsers (although they really + shouldn't). + The html5_polyglot writer solves this using CSS2. + + Here is an outline of the optimization: + + - Check for and omit

    tags in "simple" lists: list items + contain either a single paragraph, a nested simple list, or a + paragraph followed by a nested simple list. This means that + this list can be compact: + + - Item 1. + - Item 2. + + But this list cannot be compact: + + - Item 1. + + This second paragraph forces space between list items. + + - Item 2. + + - In non-list contexts, omit

    tags on a paragraph if that + paragraph is the only child of its parent (footnotes & citations + are allowed a label first). + + - Regardless of the above, in definitions, table cells, field bodies, + option descriptions, and list items, mark the first child with + 'class="first"' and the last child with 'class="last"'. The stylesheet + sets the margins (top & bottom respectively) to 0 for these elements. + + The ``no_compact_lists`` setting (``--no-compact-lists`` command-line + option) disables list whitespace optimization. + """ + + # The following definitions are required for display in browsers limited + # to CSS1 or backwards compatible behaviour of the writer: + + doctype = ( + '\n') + + content_type = ('\n') + content_type_mathml = ('\n') + + # encode also non-breaking space + special_characters = _html_base.HTMLTranslator.special_characters.copy() + special_characters[0xa0] = ' ' + + # use character reference for dash (not valid in HTML5) + attribution_formats = {'dash': ('—', ''), + 'parentheses': ('(', ')'), + 'parens': ('(', ')'), + 'none': ('', '')} + + # ersatz for first/last pseudo-classes missing in CSS1 + def set_first_last(self, node): + self.set_class_on_child(node, 'first', 0) + self.set_class_on_child(node, 'last', -1) + + # add newline after opening tag + def visit_address(self, node): + self.visit_docinfo_item(node, 'address', meta=False) + self.body.append(self.starttag(node, 'pre', CLASS='address')) + + def depart_address(self, node): + self.body.append('\n\n') + self.depart_docinfo_item() + + # ersatz for first/last pseudo-classes + def visit_admonition(self, node): + node['classes'].insert(0, 'admonition') + self.body.append(self.starttag(node, 'div')) + self.set_first_last(node) + + def depart_admonition(self, node=None): + self.body.append('\n') + + # author, authors: use
    instead of paragraphs + def visit_author(self, node): + if isinstance(node.parent, nodes.authors): + if self.author_in_authors: + self.body.append('\n
    ') + else: + self.visit_docinfo_item(node, 'author') + + def depart_author(self, node): + if isinstance(node.parent, nodes.authors): + self.author_in_authors = True + else: + self.depart_docinfo_item() + + def visit_authors(self, node): + self.visit_docinfo_item(node, 'authors') + self.author_in_authors = False # initialize + + def depart_authors(self, node): + self.depart_docinfo_item() + + # use "width" argument instead of "style: 'width'": + def visit_colspec(self, node): + self.colspecs.append(node) + # "stubs" list is an attribute of the tgroup element: + node.parent.stubs.append(node.attributes.get('stub')) + + def depart_colspec(self, node): + # write out when all colspecs are processed + if isinstance(node.next_node(descend=False, siblings=True), + nodes.colspec): + return + if ('colwidths-auto' in node.parent.parent['classes'] + or ('colwidths-auto' in self.settings.table_style + and 'colwidths-given' not in node.parent.parent['classes'])): + return + total_width = sum(node['colwidth'] for node in self.colspecs) + self.body.append(self.starttag(node, 'colgroup')) + for node in self.colspecs: + colwidth = int(node['colwidth'] * 100.0 / total_width + 0.5) + self.body.append(self.emptytag(node, 'col', + width='%i%%' % colwidth)) + self.body.append('\n') + + # Compact lists: + # exclude definition lists and field lists (non-compact by default) + + def is_compactable(self, node): + return ('compact' in node['classes'] + or (self.settings.compact_lists + and 'open' not in node['classes'] + and (self.compact_simple + or 'contents' in node.parent['classes'] + # TODO: self.in_contents + or self.check_simple_list(node)))) + + # citations: Use table for bibliographic references. + def visit_citation(self, node): + self.body.append(self.starttag(node, 'table', + CLASS='docutils citation', + frame="void", rules="none")) + self.body.append('\n' + '\n' + '') + self.footnote_backrefs(node) + + def depart_citation(self, node): + self.body.append('\n' + '\n\n') + + def visit_citation_reference(self, node): + href = '#' + if 'refid' in node: + href += node['refid'] + elif 'refname' in node: + href += self.document.nameids[node['refname']] + self.body.append(self.starttag(node, 'a', suffix='[', href=href, + classes=['citation-reference'])) + + def depart_citation_reference(self, node): + self.body.append(']') + + # insert classifier-delimiter (not required with CSS2) + def visit_classifier(self, node): + self.body.append(' : ') + self.body.append(self.starttag(node, 'span', '', CLASS='classifier')) + + def depart_classifier(self, node): + self.body.append('') + self.depart_term(node) # close the

    after last classifier + + # ersatz for first/last pseudo-classes + def visit_compound(self, node): + self.body.append(self.starttag(node, 'div', CLASS='compound')) + if len(node) > 1: + node[0]['classes'].append('compound-first') + node[-1]['classes'].append('compound-last') + for child in node[1:-1]: + child['classes'].append('compound-middle') + + def depart_compound(self, node): + self.body.append('\n') + + # ersatz for first/last pseudo-classes, no special handling of "details" + def visit_definition(self, node): + self.body.append(self.starttag(node, 'dd', '')) + self.set_first_last(node) + + def depart_definition(self, node): + self.body.append('\n') + + # don't add "simple" class value, no special handling of "details" + def visit_definition_list(self, node): + self.body.append(self.starttag(node, 'dl', CLASS='docutils')) + + def depart_definition_list(self, node): + self.body.append('\n') + + # no special handling of "details" + def visit_definition_list_item(self, node): + pass + + def depart_definition_list_item(self, node): + pass + + # use a table for description lists + def visit_description(self, node): + self.body.append(self.starttag(node, 'td', '')) + self.set_first_last(node) + + def depart_description(self, node): + self.body.append('') + + # use table for docinfo + def visit_docinfo(self, node): + self.context.append(len(self.body)) + self.body.append(self.starttag(node, 'table', + CLASS='docinfo', + frame="void", rules="none")) + self.body.append('\n' + '\n' + '\n') + self.in_docinfo = True + + def depart_docinfo(self, node): + self.body.append('\n\n') + self.in_docinfo = False + start = self.context.pop() + self.docinfo = self.body[start:] + self.body = [] + + def visit_docinfo_item(self, node, name, meta=True): + if meta: + meta_tag = '\n' \ + % (name, self.attval(node.astext())) + self.meta.append(meta_tag) + self.body.append(self.starttag(node, 'tr', '')) + self.body.append('%s:\n' + % self.language.labels[name]) + if len(node): + if isinstance(node[0], nodes.Element): + node[0]['classes'].append('first') + if isinstance(node[-1], nodes.Element): + node[-1]['classes'].append('last') + + def depart_docinfo_item(self): + self.body.append('\n') + + # add newline after opening tag + def visit_doctest_block(self, node): + self.body.append(self.starttag(node, 'pre', CLASS='doctest-block')) + + def depart_doctest_block(self, node): + self.body.append('\n\n') + + # insert an NBSP into empty cells, ersatz for first/last + def visit_entry(self, node): + writers._html_base.HTMLTranslator.visit_entry(self, node) + if len(node) == 0: # empty cell + self.body.append(' ') + self.set_first_last(node) + + def depart_entry(self, node): + self.body.append(self.context.pop()) + + # ersatz for first/last pseudo-classes + def visit_enumerated_list(self, node): + """ + The 'start' attribute does not conform to HTML 4.01's strict.dtd, but + cannot be emulated in CSS1 (HTML 5 reincludes it). + """ + atts = {} + if 'start' in node: + atts['start'] = node['start'] + if 'enumtype' in node: + atts['class'] = node['enumtype'] + # @@@ To do: prefix, suffix. How? Change prefix/suffix to a + # single "format" attribute? Use CSS2? + old_compact_simple = self.compact_simple + self.context.append((self.compact_simple, self.compact_p)) + self.compact_p = None + self.compact_simple = self.is_compactable(node) + if self.compact_simple and not old_compact_simple: + atts['class'] = (atts.get('class', '') + ' simple').strip() + self.body.append(self.starttag(node, 'ol', **atts)) + + def depart_enumerated_list(self, node): + self.compact_simple, self.compact_p = self.context.pop() + self.body.append('\n') + + # use table for field-list: + def visit_field(self, node): + self.body.append(self.starttag(node, 'tr', '', CLASS='field')) + + def depart_field(self, node): + self.body.append('\n') + + def visit_field_body(self, node): + self.body.append(self.starttag(node, 'td', '', CLASS='field-body')) + self.set_class_on_child(node, 'first', 0) + field = node.parent + if (self.compact_field_list + or isinstance(field.parent, nodes.docinfo) + or field.parent.index(field) == len(field.parent) - 1): + # If we are in a compact list, the docinfo, or if this is + # the last field of the field list, do not add vertical + # space after last element. + self.set_class_on_child(node, 'last', -1) + + def depart_field_body(self, node): + self.body.append('\n') + + def visit_field_list(self, node): + self.context.append((self.compact_field_list, self.compact_p)) + self.compact_p = None + if 'compact' in node['classes']: + self.compact_field_list = True + elif (self.settings.compact_field_lists + and 'open' not in node['classes']): + self.compact_field_list = True + if self.compact_field_list: + for field in node: + field_body = field[-1] + assert isinstance(field_body, nodes.field_body) + children = [n for n in field_body + if not isinstance(n, nodes.Invisible)] + if not (len(children) == 0 + or len(children) == 1 + and isinstance(children[0], + (nodes.paragraph, nodes.line_block))): + self.compact_field_list = False + break + self.body.append(self.starttag(node, 'table', frame='void', + rules='none', + CLASS='docutils field-list')) + self.body.append('\n' + '\n' + '\n') + + def depart_field_list(self, node): + self.body.append('\n\n') + self.compact_field_list, self.compact_p = self.context.pop() + + def visit_field_name(self, node): + atts = {} + if self.in_docinfo: + atts['class'] = 'docinfo-name' + else: + atts['class'] = 'field-name' + if (self.settings.field_name_limit + and len(node.astext()) > self.settings.field_name_limit): + atts['colspan'] = 2 + self.context.append('\n' + + self.starttag(node.parent, 'tr', '', + CLASS='field') + + ' ') + else: + self.context.append('') + self.body.append(self.starttag(node, 'th', '', **atts)) + + def depart_field_name(self, node): + self.body.append(':') + self.body.append(self.context.pop()) + + # use table for footnote text + def visit_footnote(self, node): + self.body.append(self.starttag(node, 'table', + CLASS='docutils footnote', + frame="void", rules="none")) + self.body.append('\n' + '\n' + '') + self.footnote_backrefs(node) + + def footnote_backrefs(self, node): + backlinks = [] + backrefs = node['backrefs'] + if self.settings.footnote_backlinks and backrefs: + if len(backrefs) == 1: + self.context.append('') + self.context.append('') + self.context.append('' + % backrefs[0]) + else: + for (i, backref) in enumerate(backrefs, 1): + backlinks.append('%s' + % (backref, i)) + self.context.append('(%s) ' % ', '.join(backlinks)) + self.context += ['', ''] + else: + self.context.append('') + self.context += ['', ''] + # If the node does not only consist of a label. + if len(node) > 1: + # If there are preceding backlinks, we do not set class + # 'first', because we need to retain the top-margin. + if not backlinks: + node[1]['classes'].append('first') + node[-1]['classes'].append('last') + + def depart_footnote(self, node): + self.body.append('\n' + '\n\n') + + # insert markers in text (pseudo-classes are not supported in CSS1): + def visit_footnote_reference(self, node): + href = '#' + node['refid'] + format = self.settings.footnote_references + if format == 'brackets': + suffix = '[' + self.context.append(']') + else: + assert format == 'superscript' + suffix = '' + self.context.append('') + self.body.append(self.starttag(node, 'a', suffix, + CLASS='footnote-reference', href=href)) + + def depart_footnote_reference(self, node): + self.body.append(self.context.pop() + '') + + # just pass on generated text + def visit_generated(self, node): + pass + + # Backwards-compatibility implementation: + # * Do not use

    \n') + self.in_document_title = len(self.body) + elif isinstance(node.parent, nodes.section): + tag = 'h%s' % (self.section_level + self.initial_header_level - 1) + self.body.append( + self.starttag(node, tag, '', CLASS='section-subtitle') + + self.starttag({}, 'span', '', CLASS='section-subtitle')) + self.context.append('\n' % tag) + + def depart_subtitle(self, node): + self.body.append(self.context.pop()) + if self.in_document_title: + self.subtitle = self.body[self.in_document_title:-1] + self.in_document_title = 0 + self.body_pre_docinfo.extend(self.body) + self.html_subtitle.extend(self.body) + del self.body[:] + + # not allowed in
     in HTML 4
    +    def visit_superscript(self, node):
    +        if isinstance(node.parent, nodes.literal_block):
    +            self.body.append(self.starttag(node, 'span', '',
    +                                           CLASS='superscript'))
    +        else:
    +            self.body.append(self.starttag(node, 'sup', ''))
    +
    +    def depart_superscript(self, node):
    +        if isinstance(node.parent, nodes.literal_block):
    +            self.body.append('')
    +        else:
    +            self.body.append('')
    +
    +    #  element deprecated in HTML 5
    +    def visit_system_message(self, node):
    +        self.body.append(self.starttag(node, 'div', CLASS='system-message'))
    +        self.body.append('

    ') + backref_text = '' + if len(node['backrefs']): + backrefs = node['backrefs'] + if len(backrefs) == 1: + backref_text = ('; backlink' + % backrefs[0]) + else: + i = 1 + backlinks = [] + for backref in backrefs: + backlinks.append('%s' % (backref, i)) + i += 1 + backref_text = ('; backlinks: %s' + % ', '.join(backlinks)) + if node.hasattr('line'): + line = ', line %s' % node['line'] + else: + line = '' + self.body.append('System Message: %s/%s ' + '(%s%s)%s

    \n' + % (node['type'], node['level'], + self.encode(node['source']), line, backref_text)) + + def depart_system_message(self, node): + self.body.append('\n') + + # "hard coded" border setting + def visit_table(self, node): + self.context.append(self.compact_p) + self.compact_p = True + atts = {'border': 1} + classes = ['docutils', self.settings.table_style] + if 'align' in node: + classes.append('align-%s' % node['align']) + if 'width' in node: + atts['style'] = 'width: %s' % node['width'] + self.body.append( + self.starttag(node, 'table', CLASS=' '.join(classes), **atts)) + + def depart_table(self, node): + self.compact_p = self.context.pop() + self.body.append('\n') + + # hard-coded vertical alignment + def visit_tbody(self, node): + self.body.append(self.starttag(node, 'tbody', valign='top')) + + def depart_tbody(self, node): + self.body.append('\n') + + # no special handling of "details" in definition list + def visit_term(self, node): + self.body.append(self.starttag(node, 'dt', '', + classes=node.parent['classes'], + ids=node.parent['ids'])) + + def depart_term(self, node): + # Nest (optional) classifier(s) in the
    element + if node.next_node(nodes.classifier, descend=False, siblings=True): + return # skip (depart_classifier() calls this function again) + self.body.append('
    \n') + + # hard-coded vertical alignment + def visit_thead(self, node): + self.body.append(self.starttag(node, 'thead', valign='bottom')) + + def depart_thead(self, node): + self.body.append('\n') + + # auxiliary method, called by visit_title() + # "with-subtitle" class, no ARIA roles + def section_title_tags(self, node): + classes = [] + h_level = self.section_level + self.initial_header_level - 1 + if (len(node.parent) >= 2 + and isinstance(node.parent[1], nodes.subtitle)): + classes.append('with-subtitle') + if h_level > 6: + classes.append('h%i' % h_level) + tagname = 'h%i' % min(h_level, 6) + start_tag = self.starttag(node, tagname, '', classes=classes) + if node.hasattr('refid'): + atts = {} + atts['class'] = 'toc-backref' + atts['href'] = '#' + node['refid'] + start_tag += self.starttag({}, 'a', '', **atts) + close_tag = '\n' % tagname + else: + close_tag = '\n' % tagname + return start_tag, close_tag + + +class SimpleListChecker(writers._html_base.SimpleListChecker): + + """ + Raise `nodes.NodeFound` if non-simple list item is encountered. + + Here "simple" means a list item containing nothing other than a single + paragraph, a simple list, or a paragraph followed by a simple list. + """ + + def visit_list_item(self, node): + children = [] + for child in node.children: + if not isinstance(child, nodes.Invisible): + children.append(child) + if (children and isinstance(children[0], nodes.paragraph) + and (isinstance(children[-1], nodes.bullet_list) + or isinstance(children[-1], nodes.enumerated_list))): + children.pop() + if len(children) <= 1: + return + else: + raise nodes.NodeFound + + # def visit_bullet_list(self, node): + # pass + + # def visit_enumerated_list(self, node): + # pass + + def visit_paragraph(self, node): + raise nodes.SkipNode + + def visit_definition_list(self, node): + raise nodes.NodeFound + + def visit_docinfo(self, node): + raise nodes.NodeFound diff --git a/venv/Lib/site-packages/docutils/writers/html4css1/__pycache__/__init__.cpython-39.pyc b/venv/Lib/site-packages/docutils/writers/html4css1/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 00000000..3f092d08 Binary files /dev/null and b/venv/Lib/site-packages/docutils/writers/html4css1/__pycache__/__init__.cpython-39.pyc differ diff --git a/venv/Lib/site-packages/docutils/writers/html4css1/html4css1.css b/venv/Lib/site-packages/docutils/writers/html4css1/html4css1.css new file mode 100644 index 00000000..1d0d3e7c --- /dev/null +++ b/venv/Lib/site-packages/docutils/writers/html4css1/html4css1.css @@ -0,0 +1,350 @@ +/* +:Author: David Goodger (goodger@python.org) +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ +:Copyright: This stylesheet has been placed in the public domain. + +Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. + +See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to +customize this style sheet. +*/ + +/* used to remove borders from tables and images */ +.borderless, table.borderless td, table.borderless th { + border: 0 } + +table.borderless td, table.borderless th { + /* Override padding for "table.docutils td" with "! important". + The right padding separates the table cells. */ + padding: 0 0.5em 0 0 ! important } + +.first { + /* Override more specific margin styles with "! important". */ + margin-top: 0 ! important } + +.last, .with-subtitle { + margin-bottom: 0 ! important } + +.hidden { + display: none } + +.subscript { + vertical-align: sub; + font-size: smaller } + +.superscript { + vertical-align: super; + font-size: smaller } + +a.toc-backref { + text-decoration: none ; + color: black } + +blockquote.epigraph { + margin: 2em 5em ; } + +dl.docutils dd { + margin-bottom: 0.5em } + +object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] { + overflow: hidden; +} + +/* Uncomment (and remove this text!) to get bold-faced definition list terms +dl.docutils dt { + font-weight: bold } +*/ + +div.abstract { + margin: 2em 5em } + +div.abstract p.topic-title { + font-weight: bold ; + text-align: center } + +div.admonition, div.attention, div.caution, div.danger, div.error, +div.hint, div.important, div.note, div.tip, div.warning { + margin: 2em ; + border: medium outset ; + padding: 1em } + +div.admonition p.admonition-title, div.hint p.admonition-title, +div.important p.admonition-title, div.note p.admonition-title, +div.tip p.admonition-title { + font-weight: bold ; + font-family: sans-serif } + +div.attention p.admonition-title, div.caution p.admonition-title, +div.danger p.admonition-title, div.error p.admonition-title, +div.warning p.admonition-title, .code .error { + color: red ; + font-weight: bold ; + font-family: sans-serif } + +/* Uncomment (and remove this text!) to get reduced vertical space in + compound paragraphs. +div.compound .compound-first, div.compound .compound-middle { + margin-bottom: 0.5em } + +div.compound .compound-last, div.compound .compound-middle { + margin-top: 0.5em } +*/ + +div.dedication { + margin: 2em 5em ; + text-align: center ; + font-style: italic } + +div.dedication p.topic-title { + font-weight: bold ; + font-style: normal } + +div.figure { + margin-left: 2em ; + margin-right: 2em } + +div.footer, div.header { + clear: both; + font-size: smaller } + +div.line-block { + display: block ; + margin-top: 1em ; + margin-bottom: 1em } + +div.line-block div.line-block { + margin-top: 0 ; + margin-bottom: 0 ; + margin-left: 1.5em } + +div.sidebar { + margin: 0 0 0.5em 1em ; + border: medium outset ; + padding: 1em ; + background-color: #ffffee ; + width: 40% ; + float: right ; + clear: right } + +div.sidebar p.rubric { + font-family: sans-serif ; + font-size: medium } + +div.system-messages { + margin: 5em } + +div.system-messages h1 { + color: red } + +div.system-message { + border: medium outset ; + padding: 1em } + +div.system-message p.system-message-title { + color: red ; + font-weight: bold } + +div.topic { + margin: 2em } + +h1.section-subtitle, h2.section-subtitle, h3.section-subtitle, +h4.section-subtitle, h5.section-subtitle, h6.section-subtitle { + margin-top: 0.4em } + +h1.title { + text-align: center } + +h2.subtitle { + text-align: center } + +hr.docutils { + width: 75% } + +img.align-left, .figure.align-left, object.align-left, table.align-left { + clear: left ; + float: left ; + margin-right: 1em } + +img.align-right, .figure.align-right, object.align-right, table.align-right { + clear: right ; + float: right ; + margin-left: 1em } + +img.align-center, .figure.align-center, object.align-center { + display: block; + margin-left: auto; + margin-right: auto; +} + +table.align-center { + margin-left: auto; + margin-right: auto; +} + +.align-left { + text-align: left } + +.align-center { + clear: both ; + text-align: center } + +.align-right { + text-align: right } + +/* reset inner alignment in figures */ +div.align-right { + text-align: inherit } + +/* div.align-center * { */ +/* text-align: left } */ + +.align-top { + vertical-align: top } + +.align-middle { + vertical-align: middle } + +.align-bottom { + vertical-align: bottom } + +ol.simple, ul.simple { + margin-bottom: 1em } + +ol.arabic { + list-style: decimal } + +ol.loweralpha { + list-style: lower-alpha } + +ol.upperalpha { + list-style: upper-alpha } + +ol.lowerroman { + list-style: lower-roman } + +ol.upperroman { + list-style: upper-roman } + +p.attribution { + text-align: right ; + margin-left: 50% } + +p.caption { + font-style: italic } + +p.credits { + font-style: italic ; + font-size: smaller } + +p.label { + white-space: nowrap } + +p.rubric { + font-weight: bold ; + font-size: larger ; + color: maroon ; + text-align: center } + +p.sidebar-title { + font-family: sans-serif ; + font-weight: bold ; + font-size: larger } + +p.sidebar-subtitle { + font-family: sans-serif ; + font-weight: bold } + +p.topic-title { + font-weight: bold } + +pre.address { + margin-bottom: 0 ; + margin-top: 0 ; + font: inherit } + +pre.literal-block, pre.doctest-block, pre.math, pre.code { + margin-left: 2em ; + margin-right: 2em } + +pre.code .ln { color: gray; } /* line numbers */ +pre.code, code { background-color: #eeeeee } +pre.code .comment, code .comment { color: #5C6576 } +pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } +pre.code .literal.string, code .literal.string { color: #0C5404 } +pre.code .name.builtin, code .name.builtin { color: #352B84 } +pre.code .deleted, code .deleted { background-color: #DEB0A1} +pre.code .inserted, code .inserted { background-color: #A3D289} + +span.classifier { + font-family: sans-serif ; + font-style: oblique } + +span.classifier-delimiter { + font-family: sans-serif ; + font-weight: bold } + +span.interpreted { + font-family: sans-serif } + +span.option { + white-space: nowrap } + +span.pre { + white-space: pre } + +span.problematic, pre.problematic { + color: red } + +span.section-subtitle { + /* font-size relative to parent (h1..h6 element) */ + font-size: 80% } + +table.citation { + border-left: solid 1px gray; + margin-left: 1px } + +table.docinfo { + margin: 2em 4em } + +table.docutils { + margin-top: 0.5em ; + margin-bottom: 0.5em } + +table.footnote { + border-left: solid 1px black; + margin-left: 1px } + +table.docutils td, table.docutils th, +table.docinfo td, table.docinfo th { + padding-left: 0.5em ; + padding-right: 0.5em ; + vertical-align: top } + +table.docutils th.field-name, table.docinfo th.docinfo-name { + font-weight: bold ; + text-align: left ; + white-space: nowrap ; + padding-left: 0 } + +/* "booktabs" style (no vertical lines) */ +table.docutils.booktabs { + border: 0px; + border-top: 2px solid; + border-bottom: 2px solid; + border-collapse: collapse; +} +table.docutils.booktabs * { + border: 0px; +} +table.docutils.booktabs th { + border-bottom: thin solid; + text-align: left; +} + +h1 tt.docutils, h2 tt.docutils, h3 tt.docutils, +h4 tt.docutils, h5 tt.docutils, h6 tt.docutils { + font-size: 100% } + +ul.auto-toc { + list-style-type: none } diff --git a/venv/Lib/site-packages/docutils/writers/html4css1/template.txt b/venv/Lib/site-packages/docutils/writers/html4css1/template.txt new file mode 100644 index 00000000..2591bce3 --- /dev/null +++ b/venv/Lib/site-packages/docutils/writers/html4css1/template.txt @@ -0,0 +1,8 @@ +%(head_prefix)s +%(head)s +%(stylesheet)s +%(body_prefix)s +%(body_pre_docinfo)s +%(docinfo)s +%(body)s +%(body_suffix)s diff --git a/venv/Lib/site-packages/docutils/writers/html5_polyglot/__init__.py b/venv/Lib/site-packages/docutils/writers/html5_polyglot/__init__.py new file mode 100644 index 00000000..c9bdf66c --- /dev/null +++ b/venv/Lib/site-packages/docutils/writers/html5_polyglot/__init__.py @@ -0,0 +1,393 @@ +# $Id: __init__.py 9539 2024-02-17 10:36:51Z milde $ +# :Author: Günter Milde +# Based on the html4css1 writer by David Goodger. +# :Maintainer: docutils-develop@lists.sourceforge.net +# :Copyright: © 2005, 2009, 2015 Günter Milde, +# portions from html4css1 © David Goodger. +# :License: Released under the terms of the `2-Clause BSD license`_, in short: +# +# Copying and distribution of this file, with or without modification, +# are permitted in any medium without royalty provided the copyright +# notice and this notice are preserved. +# This file is offered as-is, without any warranty. +# +# .. _2-Clause BSD license: https://opensource.org/licenses/BSD-2-Clause + +# Use "best practice" as recommended by the W3C: +# http://www.w3.org/2009/cheatsheet/ + +""" +Plain HyperText Markup Language document tree Writer. + +The output conforms to the `HTML 5` specification. + +The cascading style sheet "minimal.css" is required for proper viewing, +the style sheet "plain.css" improves reading experience. +""" +__docformat__ = 'reStructuredText' + +from pathlib import Path + +from docutils import frontend, nodes +from docutils.writers import _html_base + + +class Writer(_html_base.Writer): + + supported = ('html5', 'xhtml', 'html') + """Formats this writer supports.""" + + default_stylesheets = ['minimal.css', 'plain.css'] + default_stylesheet_dirs = ['.', str(Path(__file__).parent)] + default_template = Path(__file__).parent / 'template.txt' + + # use a copy of the parent spec with some modifications + settings_spec = frontend.filter_settings_spec( + _html_base.Writer.settings_spec, + template=( + f'Template file. (UTF-8 encoded, default: "{default_template}")', + ['--template'], + {'default': default_template, 'metavar': ''}), + stylesheet_path=( + 'Comma separated list of stylesheet paths. ' + 'Relative paths are expanded if a matching file is found in ' + 'the --stylesheet-dirs. With --link-stylesheet, ' + 'the path is rewritten relative to the output HTML file. ' + '(default: "%s")' % ','.join(default_stylesheets), + ['--stylesheet-path'], + {'metavar': '', 'overrides': 'stylesheet', + 'validator': frontend.validate_comma_separated_list, + 'default': default_stylesheets}), + stylesheet_dirs=( + 'Comma-separated list of directories where stylesheets are found. ' + 'Used by --stylesheet-path when expanding relative path ' + 'arguments. (default: "%s")' % ','.join(default_stylesheet_dirs), + ['--stylesheet-dirs'], + {'metavar': '', + 'validator': frontend.validate_comma_separated_list, + 'default': default_stylesheet_dirs}), + initial_header_level=( + 'Specify the initial header level. Does not affect document ' + 'title & subtitle (see --no-doc-title). (default: 2 for "

    ")', + ['--initial-header-level'], + {'choices': '1 2 3 4 5 6'.split(), 'default': '2', + 'metavar': ''}), + no_xml_declaration=( + 'Omit the XML declaration (default).', + ['--no-xml-declaration'], + {'dest': 'xml_declaration', 'action': 'store_false'}), + ) + settings_spec = settings_spec + ( + 'HTML5 Writer Options', + '', + ((frontend.SUPPRESS_HELP, # Obsoleted by "--image-loading" + ['--embed-images'], + {'action': 'store_true', + 'validator': frontend.validate_boolean}), + (frontend.SUPPRESS_HELP, # Obsoleted by "--image-loading" + ['--link-images'], + {'dest': 'embed_images', 'action': 'store_false'}), + ('Suggest at which point images should be loaded: ' + '"embed", "link" (default), or "lazy".', + ['--image-loading'], + {'choices': ('embed', 'link', 'lazy'), + # 'default': 'link' # default set in _html_base.py + }), + ('Append a self-link to section headings.', + ['--section-self-link'], + {'default': False, 'action': 'store_true'}), + ('Do not append a self-link to section headings. (default)', + ['--no-section-self-link'], + {'dest': 'section_self_link', 'action': 'store_false'}), + ) + ) + + config_section = 'html5 writer' + + def __init__(self): + self.parts = {} + self.translator_class = HTMLTranslator + + +class HTMLTranslator(_html_base.HTMLTranslator): + """ + This writer generates `polyglot markup`: HTML5 that is also valid XML. + + Safe subclassing: when overriding, treat ``visit_*`` and ``depart_*`` + methods as a unit to prevent breaks due to internal changes. See the + docstring of docutils.writers._html_base.HTMLTranslator for details + and examples. + """ + + # self.starttag() arguments for the main document + documenttag_args = {'tagname': 'main'} + + # add meta tag to fix rendering in mobile browsers + def __init__(self, document): + super().__init__(document) + self.meta.append('\n') + + # tag obsolete in HTML5. Use the tag instead. + def visit_acronym(self, node): + # @@@ implementation incomplete ("title" attribute) + self.body.append(self.starttag(node, 'abbr', '')) + + def depart_acronym(self, node): + self.body.append('') + + # no standard meta tag name in HTML5, use separate "author" meta tags + # https://www.w3.org/TR/html5/document-metadata.html#standard-metadata-names + def visit_authors(self, node): + self.visit_docinfo_item(node, 'authors', meta=False) + for subnode in node: + self.meta.append('\n') + + def depart_authors(self, node): + self.depart_docinfo_item() + + # use the
    semantic tag. + def visit_caption(self, node): + if isinstance(node.parent, nodes.figure): + self.body.append('
    \n') + self.body.append(self.starttag(node, 'p', '')) + + def depart_caption(self, node): + self.body.append('

    \n') + #
    is closed in depart_figure(), as legend may follow. + + # use HTML block-level tags if matching class value found + supported_block_tags = {'ins', 'del'} + + def visit_container(self, node): + # If there is exactly one of the "supported block tags" in + # the list of class values, use it as tag name: + classes = node['classes'] + tags = [cls for cls in classes + if cls in self.supported_block_tags] + if len(tags) == 1: + node.html5tagname = tags[0] + classes.remove(tags[0]) + else: + node.html5tagname = 'div' + self.body.append(self.starttag(node, node.html5tagname, + CLASS='docutils container')) + + def depart_container(self, node): + self.body.append(f'\n') + del node.html5tagname + + # no standard meta tag name in HTML5, use dcterms.rights + # see https://wiki.whatwg.org/wiki/MetaExtensions + def visit_copyright(self, node): + self.visit_docinfo_item(node, 'copyright', meta=False) + self.meta.append('\n') + + def depart_copyright(self, node): + self.depart_docinfo_item() + + # no standard meta tag name in HTML5, use dcterms.date + def visit_date(self, node): + self.visit_docinfo_item(node, 'date', meta=False) + self.meta.append('\n') + + def depart_date(self, node): + self.depart_docinfo_item() + + # use new HTML5
    and
    elements + def visit_figure(self, node): + atts = {} + if node.get('width'): + atts['style'] = f"width: {node['width']}" + if node.get('align'): + atts['class'] = f"align-{node['align']}" + self.body.append(self.starttag(node, 'figure', **atts)) + + def depart_figure(self, node): + if len(node) > 1: + self.body.append('
    \n') + self.body.append('
    \n') + + # use HTML5
    element + def visit_footer(self, node): + self.context.append(len(self.body)) + + def depart_footer(self, node): + start = self.context.pop() + footer = [self.starttag(node, 'footer')] + footer.extend(self.body[start:]) + footer.append('
    \n') + self.footer.extend(footer) + self.body_suffix[:0] = footer + del self.body[start:] + + # use HTML5
    element + def visit_header(self, node): + self.context.append(len(self.body)) + + def depart_header(self, node): + start = self.context.pop() + header = [self.starttag(node, 'header')] + header.extend(self.body[start:]) + header.append('
    \n') + self.body_prefix.extend(header) + self.header.extend(header) + del self.body[start:] + + # use HTML text-level tags if matching class value found + supported_inline_tags = {'code', 'kbd', 'dfn', 'samp', 'var', + 'bdi', 'del', 'ins', 'mark', 'small', + 'b', 'i', 'q', 's', 'u'} + + # Use `supported_inline_tags` if found in class values + def visit_inline(self, node): + classes = node['classes'] + node.html5tagname = 'span' + # Special handling for "code" directive content + if (isinstance(node.parent, nodes.literal_block) + and 'code' in node.parent.get('classes') + or isinstance(node.parent, nodes.literal) + and getattr(node.parent, 'html5tagname', None) == 'code'): + if classes == ['ln']: + # line numbers are not part of the "fragment of computer code" + if self.body[-1] == '': + del self.body[-1] + else: + self.body.append('') + node.html5tagname = 'small' + else: + tags = [cls for cls in self.supported_inline_tags + if cls in classes] + if len(tags): + node.html5tagname = tags[0] + classes.remove(node.html5tagname) + self.body.append(self.starttag(node, node.html5tagname, '')) + + def depart_inline(self, node): + self.body.append(f'') + if (node.html5tagname == 'small' and node.get('classes') == ['ln'] + and isinstance(node.parent, nodes.literal_block)): + self.body.append(f'') + del node.html5tagname + + # place inside HTML5
    element (together with caption) + def visit_legend(self, node): + if not isinstance(node.parent[1], nodes.caption): + self.body.append('
    \n') + self.body.append(self.starttag(node, 'div', CLASS='legend')) + + def depart_legend(self, node): + self.body.append('\n') + #
    closed in visit_figure() + + # use HTML5 text-level tags if matching class value found + def visit_literal(self, node): + classes = node['classes'] + html5tagname = 'span' + tags = [cls for cls in self.supported_inline_tags + if cls in classes] + if len(tags): + html5tagname = tags[0] + classes.remove(html5tagname) + if html5tagname == 'code': + node.html5tagname = html5tagname + self.body.append(self.starttag(node, html5tagname, '')) + return + self.body.append( + self.starttag(node, html5tagname, '', CLASS='docutils literal')) + text = node.astext() + # remove hard line breaks (except if in a parsed-literal block) + if not isinstance(node.parent, nodes.literal_block): + text = text.replace('\n', ' ') + # Protect text like ``--an-option`` and the regular expression + # ``[+]?(\d+(\.\d*)?|\.\d+)`` from bad line wrapping + for token in self.words_and_spaces.findall(text): + if token.strip() and self.in_word_wrap_point.search(token): + self.body.append( + f'{self.encode(token)}') + else: + self.body.append(self.encode(token)) + self.body.append(f'') + # Content already processed: + raise nodes.SkipNode + + def depart_literal(self, node): + # skipped unless literal element is from "code" role: + self.depart_inline(node) + + # Meta tags: 'lang' attribute replaced by 'xml:lang' in XHTML 1.1 + # HTML5/polyglot recommends using both + def visit_meta(self, node): + if node.hasattr('lang'): + node['xml:lang'] = node['lang'] + self.meta.append(self.emptytag(node, 'meta', + **node.non_default_attributes())) + + def depart_meta(self, node): + pass + + # no standard meta tag name in HTML5 + def visit_organization(self, node): + self.visit_docinfo_item(node, 'organization', meta=False) + + def depart_organization(self, node): + self.depart_docinfo_item() + + # use the new HTML5 element
    + def visit_section(self, node): + self.section_level += 1 + self.body.append( + self.starttag(node, 'section')) + + def depart_section(self, node): + self.section_level -= 1 + self.body.append('
    \n') + + # use the new HTML5 element \n') + self.in_sidebar = False + + # Use new HTML5 element